From f89266e9877857e3e6b6df6958cd3875ae45a2ef Mon Sep 17 00:00:00 2001 From: graciellehigino <graciellehigino@hotmail.com> Date: Thu, 17 Jun 2021 19:12:38 -0400 Subject: [PATCH 01/29] Sunday - Monday --- .../git_clone.png | Bin 0 -> 20092 bytes .../unreproducibility-detox.Rmd | 408 +++ .../unreproducibility-detox.html | 1783 ++++++++++++ .../anchor-4.2.2/anchor.min.js | 9 + .../bowser-1.9.3/bowser.min.js | 6 + .../distill-2.2.21/template.v2.js | 744 +++++ .../header-attrs-2.7/header-attrs.js | 12 + .../jquery-1.11.3/jquery.min.js | 5 + .../popper-2.6.0/popper.min.js | 6 + .../tippy-6.2.7/tippy-bundle.umd.min.js | 2 + .../tippy-6.2.7/tippy-light-border.css | 1 + .../tippy-6.2.7/tippy.css | 1 + .../tippy-6.2.7/tippy.umd.min.js | 2 + .../webcomponents-2.0.0/webcomponents.js | 236 ++ docs/index.html | 26 +- docs/index.xml | 12 +- .../git_clone.png | Bin 0 -> 20092 bytes .../index.html | 2445 +++++++++++++++++ docs/posts/posts.json | 20 + docs/sitemap.xml | 10 +- make_new_post.R | 6 +- 21 files changed, 5723 insertions(+), 11 deletions(-) create mode 100644 _posts/2021-06-13-unreproducibility-detox/git_clone.png create mode 100644 _posts/2021-06-13-unreproducibility-detox/unreproducibility-detox.Rmd create mode 100644 _posts/2021-06-13-unreproducibility-detox/unreproducibility-detox.html create mode 100644 _posts/2021-06-13-unreproducibility-detox/unreproducibility-detox_files/anchor-4.2.2/anchor.min.js create mode 100644 _posts/2021-06-13-unreproducibility-detox/unreproducibility-detox_files/bowser-1.9.3/bowser.min.js create mode 100644 _posts/2021-06-13-unreproducibility-detox/unreproducibility-detox_files/distill-2.2.21/template.v2.js create mode 100644 _posts/2021-06-13-unreproducibility-detox/unreproducibility-detox_files/header-attrs-2.7/header-attrs.js create mode 100644 _posts/2021-06-13-unreproducibility-detox/unreproducibility-detox_files/jquery-1.11.3/jquery.min.js create mode 100644 _posts/2021-06-13-unreproducibility-detox/unreproducibility-detox_files/popper-2.6.0/popper.min.js create mode 100644 _posts/2021-06-13-unreproducibility-detox/unreproducibility-detox_files/tippy-6.2.7/tippy-bundle.umd.min.js create mode 100644 _posts/2021-06-13-unreproducibility-detox/unreproducibility-detox_files/tippy-6.2.7/tippy-light-border.css create mode 100644 _posts/2021-06-13-unreproducibility-detox/unreproducibility-detox_files/tippy-6.2.7/tippy.css create mode 100644 _posts/2021-06-13-unreproducibility-detox/unreproducibility-detox_files/tippy-6.2.7/tippy.umd.min.js create mode 100644 _posts/2021-06-13-unreproducibility-detox/unreproducibility-detox_files/webcomponents-2.0.0/webcomponents.js create mode 100644 docs/posts/2021-06-13-unreproducibility-detox/git_clone.png create mode 100644 docs/posts/2021-06-13-unreproducibility-detox/index.html diff --git a/_posts/2021-06-13-unreproducibility-detox/git_clone.png b/_posts/2021-06-13-unreproducibility-detox/git_clone.png new file mode 100644 index 0000000000000000000000000000000000000000..86c1de061ebc08a6c36bd3f01aa76797de30cf58 GIT binary patch literal 20092 zcmb@uby$>9_bzOJfOIzqC?FluC9Q%;$Iu`pNOwy&7DGq~0|>&9LkQB{49L(eC5?2R zJ-+X`uJ5nk_nq%Lf9MP|&$IV>_Fj9%z3w&9>T1gP_i66mx^)Zx`7;I0Teoh*!9Qy3 zd*G9Y_`ce=Zauj5TtQabJAG@`$4JX3bNA+K_gG0s1Cp0#{(M4?LU)p~0~140QA7PH z84;$!ZAA>Lc?Df!mo9vl+n5@%8c)@mYrlOj{yrno<oC@c-{#HgV8+hIM&`zb)m)Q| zMFL#~(SsBWnIK6<!k!*iS2b6YvrIRVo8ESJ0&J!*BFjC!^UT|F*h~tBWZd9IDKtkB zo2lJa9Ra?j!jGW<*T7_v%wa?pPuL-0L~?QW6l00xqL5#0iRG~QY5uR@B=D31bxb7Y z*U~easQRvZ5*Pf5V8CnF9*;DR!1_6@XR&xC)PBpmrZmhrq6=$YS`&fSZBw}>|9cBF zyOPZTV{l<AriW|-JDth(I1JpMHIVsgv*p=%*BZ)t&(Rd8G$F~^4kxVb>{0uzS_DRG zz1t%&>XMs%C1G_&t}Qjuhf2yVg%aQS+Wsg0k(fXfq%R*4sWIc+HfQ<5xod+{ZuFa- zw=H0-vzF>lWZZXKs>o&6w+c`2dsQESIm4@hQK9dKJp-^0{1?W`HFs&Pb5gz5UQAfk z2EBj#NU`r}RC<H0-mfPgchhKYMy23bZ4fXxLS>i=$P-wGqyU$Q{<zo(kQW#g`*8uL ze=t>?7=ALo9uTUEsNB0wBdmY}NwKH&X*!iYqC(B#gfY<lueJfNZ7uDnXrDs}BdVm? zA)TQ)M<24|^UNI{+DTEN&cE7H6ULyFBZQ$5<sWj7%=9-ybF3uUA&k`jUj{<1bdJn= z;c#reTC&z-WRMC7-K^PRvGbyEz)<s@e!4B8A9FjJjJD=s1rK3jjC@yv^1aFrzdR5G z6gp3tlbAe)-no?4OFp3^WRTI5kg^QAoscg2%{A@Yyyi^pbZqrB;pcqg&DzM6)7K5~ zi^Af>jRcgP9jBU#p@(OX&QRj=N}}nqSJ0(Y;MsIj*Q8TPGt8$Wch|{noab_rF%Wk0 zKm!p)V*Hj%FHAAVY5ft6nrZ9#x+oWpNj!bwg>%pz^&6TYwe!F>*phQ)k&|Xk)slq8 zdWWHcqgojGJTX=*;qqW;SO3-EZ`;{Gz9{f018-}(8g{gEl0Fzmt)ixh#C<||Jwp{Z z+Mw;m3sahiCmS~_Du*`*d1^bGE%SH_UGq1B1k#01+qdbv8MxX?15a2Ot`GPXRU+9T z_v9#PRqXw25MC#+vK%!#$kPQ5$$-Cip`{R+!i&ro2nWo;_s^{M4h?(zV~2Y_{g_Xs zfj?>~O4WdZ3Gb9D(v-?1*;-N3$yr_5t$LJ6K1oj%p0s`R&}N}`fG3IMqo8#6IUm$E z?__0J=K3&8-&5+NhmXRV=dGvUzZhtOIsz|@M;Q9y3+ev)1}!VLCH#J3$aw41)!p|( z#I^p*CH|BaHi;u865$>n4EIjYM7+;eu_S%Z@A;S0Iw+Q~7Z=Fu&GYRLO3Qn+*+m&Q zXwL;cWex|jeN~8gX;{s|BzE^@vQt4Ebo7qtuP2#`Lkoh3c+&Fbiu4X1hs#xr;t(-R za@*aVNcb>jD9PiGBNh6ilvwc24*Qy6nFE@&QjZ7HVj1M{f&HFZmo+BeNRyoWeJ-Fo z1#!9%U4{sgpB=+}HMN07SVo5YJ2Jj8Kx_^eIel{6W`-2i=VvZwoyNrwN}+7$4Q72o zZU}GCB~5ZueW5F4rE)o{?$e#fzbXr!kE!$;cbjFdu5XrZuGUIjPHz0Ln>fvjyBn^* zIqmNTUDBIekB+lbeYaNRTskI@yxGSOJn5QWb_%-S{468&{X|~_A+1?Ap>NH=rR27G zTAy88eXwlu$|NvWY7%qLgevUxH=d-=8Fytit^L-sqMzqfjx#<{E7^<K*hb-Q+#;z& z@j{-tc{~tF2`nSKUAcjB!97E|kgvneh?&~hsZLf{914DMxBGFyt#RGB&dLGNAb4mh ztLw4c%^v4x9g$`)7e3)GHrUOEJu8H>m6`wWfZKCx3M(u4!RwVIi{D2lka)xsMf(7E zItFQ<cijWgdk3ZwzvAd5efGI2c#N}kYTe1X0+j5x;R;nq8mYI;fqx@|<WWz1YRBvM zWp<ZJgRVp-W~y*$#cP(&5}o$880VW8FG)@j#hp$!rxJ*s9kZ8ybQM^Ad-XEcnbD|` zP1?N+nJcU}Ch4s)wEWL@`?{L07e&|^3dj7)fN5#wmA)AHDq45eI->OCQJ#)6()pZu zv!e9?f>wXnjyEaSTZQgHnJ~d*h`~5_k#s~|Cu`D4gX5?!FblXUw8W=NnBE6Vh8U$& z&8nsgRoHE%jiIlaUGt`=CL|U&zA!E<)?+}0ncLa&mL1$^-I}&%ugVa_Os`*JFh~Xx za5j><8QxfN@||vNKIWwb<I&Cf%XIsKOZe+8lX*<rB-cKS&$so=5`sY-UJbN^<zJW- z<E!ZbLS?qtfD0G9d;S&_NDS5uslYS(&uQ(00>uaz#X2qnN`o+3idHt)-uQ{+EPph! zV`=>X{W6i7IZ(Ha)S@hx`1`eUjWp|X!fCF12G^J9V!|80A|~k?eH#JBq~-CZ8&dEp z@9)Tee!Yqb{)PA2O}W-n#ob)*-gH7sp2Uy4HIaqLT(7)}+MXIPs^0Q_czu~HV|g?H zXQwUfn!lbdUGNTkEO^yF&V3qmb7mhk#I3ZviMxI?ZH@}ieMYnQTW<&v^8)FNKX)Cg znwPUk6N6H{A5*Tt`PP)7WM<34iHhR1+1~uYPl|gvWj~>l>tk6zgNrW(P#(*kTb)%2 ze#=UIL3Y?mCP9R>erza@onrzf$v2z1u%!3t@3NDfkQcu(VNR#ynT=<+2N?pD$l+IK zE43mI-i5}BDDY(J*E&2xe-$lp(mbLR79w9&+^s(qRVK^~jn=idA*^<s???;$db;-+ z=CO;^0`?}NDvq(~^d3+Y51NPa@zC)Vb;*k{Le+FKq$bAZWNBdV_{uQO{O<0}DdV$U zPIX$L6BQ=?Y2w7D%M;TDSEeYTtFHMgLC>SroRxY{_iGPAdq{669V^86rk*h9^l#AO z{Pmt;C;IkNnWi&C_*$iN0nPmNJfr^o$nQdPtFT09<FZ+SdwDrt;#5r6P?NdzK%!2- z7G5P%!uJnJ#lZ`M(VB<(OTKGYF0d-+$rnk;y1#ok!U}Av;t-_EbKC7L<ff9Q9`eoZ zj!nEXIT>vFvf>S$wChKYFJ(~!s)!PgnJ#F%wkINnBcBd_yc4L<?r^d2E^X_4*aOiS zvAG*~Wq&za8YGox7Cpq>d2+KGw1_yY=(R(eH17E-mP?dy67oDU=!SSB;H>uW_@3ic z=|!<!4`D^BZB@_C*OmI?$1*p_MH*iHsWf8bh!;j&JTU!|jVx2U$4lzlE_rsD*L~nX z*jvNAzU~pJ8UGxtQ+vLmK_}*8vJ#M(0Bs1RjWB6c9Pah#cc)AYrwTlxzf2AT&v*M> z5!yF6JMUXN(*E=f9dQ(pPlQ@%lh=8YZXRT8Oj7xtQ4sLVO*9IUf^!HWvDA$V0t!Lo zcL^7Qm9Z}U8X2#ufL^4y=PHS7Y>|Eq_xFOfG<<%>m*C0mzqgQN8O8x6y_{wYj1AXA zfk?tGwv+MZQaSfzrLEHE(e+`n49lt`hhRWY75?d8)9bjhWAD!ibS?9j)AKEhGbGmM z(IS+ow)D^^OWRGCuTWRXalf+vOh!KsSJ7+H+-s_V*j-V(BMuvoBA#{UVT?fTb7hm| z^+H_z8aqx3Zd^rwO>uF*doBkv<iCV7!}H>?85&jgPA5g4&HCMPl#VTb#7`bN)TGp% zhCPOys>PhWVj&Xs1<D<Gx%s9`ip#k1-nELH^ZAkotHSpjp@VZjT?83Rg2$I?bkyWF zo8Kqm{BuLV{|=M|SSYk}0NMeI(bYA<**TUr$LtwV!muHf!E5l3t<8OcO(!)BPT2ik z`^AkWJYxRo;W3G@i@PNHQ{9QXQh~?#!0|8aRAOuxoUJqZ3>3?(*d}G?>|Axj>zz`f zQAuBnRS~*jic82*k*H{ukZ(5vuNl~t=Jz<c_8_lQkbg|@T}GGe7RTuB_sj<oqW_hy z4nLkv{`<qq`x;n(ucj-k*D@R(b;lT6zA3Ry*W)*#lsD|*@}neCUnrI%ws-<hlbbp_ z2Ooyb#&va<n#dgxmOgNV;O(xeU#=21DfUf!7Td<l`Z`GmUe3xan_e%Q&c8GbpTAtJ z5k1PMZh>obZ}GMVU2hOR^Go?QZ3SzyeW~1@PsSbKv~ELUtk?&ZBP)2N0H}`_gS4#I zJRgYb<UsIr%8TDJcQ?HM2s~cSk8J|<E>6MyCaAs?97~4}X4VF7N;Aa&jDQc5SIg;< zF?{csonxz&c_2H6)FP_)eJKWErhKI>k}f+Gi~;tLoxSK?eDh>Mj>q3Yc{+A>J+bY> zj!jXYo%>vGf3x)A>PZYsT#`_hcs>BT1`bT8kq9df4!j0<pXIfJx012(<<Z^LZgj3W z$O;6pxupYh$!uMuGD|6P#@BEgD=C$M+t^LI1~0yJaCtN6nxN^TbbdML<~&*SW<bc> z1kz*FwJpb2;y<1cbm`?2w{v-P_te;=O?7_wLzJFOVCeky;{5)fE~m08PWrZ>oAlJi z5~<rmH;ee!S51MDrq`>x8c(!gS!)tKwj0c5qzTYQksZM#9+)C)(|;oUwx&MsoTKtD zwg^^QJ~%9IH~w5znO3E3;@OBVU-8l6eAWG>%G=_C2Q^OnyiHf3N-Ry6y5AD*-siJG zW<MpO6qbY>!Li}L(HG^}LtZGo&UZ6fkl$<xwyl)D+$jk;RSh0=*d3G|>$Z!p_F7v% z<j3!Pf~7`@9APzigP!iR>;I8=$d4nL#beUH+j?y9K+=}-(EI&UM)wYzm;ST_h!mdX zzl(1m#ZcP;nO|7-X4~!{N7Nt&5q;`l%1dPg*)JuPdD@-C)V!)&#|e&Q2#Sw(51d^i ze~@SWC-L$&A&eLe&m+npcu<$ySDS$!+_z%2_Xal=^)^=%efU`qUY&U|>*?#`MiWd% z8&#cagA{QOg(Wjhx-%ZiBwiJz+P)DzEbZ{8b;ZLC)4_{3<@oJGQXpk<^vt))#*pS7 z{5xzS`up@pjV}D2y8g=6K7rz!oDf2#I%&z0du>&Zuya1eM)9b!yQj&sN|Od-jzilj zJ$#i7U{^_vBEJ+;sS^p`!D!n{=3d{&NO0s^j&H(^0hwGWq1K$gw~+zC&}NIXWR1cN z?N#Et&Xk_JtL`q;KOKvM*N%u%ATH7q$H;Ej5hl}b7W2wcat7|c#nHwP+nyTBJl`7D z0>RIVUJ_)P<00mi_UB$WGzN&n8zrW&_lchxYi^W?;W%8wuW*>cRC{bpn`dHfc2oy> z<Crac6Hwl`J-2i@n8NziS0$w#!g<Qb>zdQMf@B7Ql`VXupb_DGEtuDC04MmAgG~|H zhZWhUM=-8`kED!{3f>d>#)8vQ7yt$o$DSh&s$~d*@!H#8h>>af1^H~x&Tq8kv6&bn zR=2b3%;E`>sS}6lhN7|h*<pDB#jK4BM^`xy!ibgyP0F5xtH{ppr$yM>QF4yqdVG9$ z4seGk)~S0cVn%;zI?kh#6JU8A-G3^1TgnmP!;_?HJAvSe{EXeO5Fv3RwVg(eU9I)4 z=ramo(x~JXMf=MSV>XqmvJ1bNcx#ic!YCgA8QaXP9|dQ0V;(2$oVug*Af0^=a`JrK zg?!n2yqrVx;QG6`U%;%6d#40tq(5xu-WIfJjFSOb%T^61nw9wW7ayZXv1aq^FcK^x zBq@2Upi-~@m|$sAqOPs~76lLZcD7;x$Bffm$7dv>#EVi*05XLU8*uL{><jOz!PK9C zMG`q|B>c=sBFd;i+wsDKzT~-r{Zh;M**DYXp4nHsxKJXw?n7tSlhKJ=#^Lq{NE#7+ z7|%r*8le$P{ZyZIDPd0I`&HVAGztpFq@z6LqtpMn`1Mfcy|3&RGn?x^z&}WtZ3wY5 zq#n3`BxM(^lV4aT@Kg3e!#e$Dst8t+lIL;Ntb8My4TkF5*s*7<#}1d5pC-|$PHM|< zWZKo>g!cxI5k$%UO-l|ye7gHP6HtfY_7=#r*JXi902g{sJpf{78B0a`ip4Zn#FO|6 z1TF;{BC-}%M33JSSB*%7qF`JrW>@{M|MLwWo0rUG|7+;E^M)-#NDc8>+29k-e{W)i zXyGJNz__<_@;pBSWnP#t(*Ri1YimnI6{}k9ZPxTtTNQZ(g3hWC7sUp%o(oH`19GXd zCZY;jdfAr4?OkE;eOTUD52d9S?w|!_vJ!x;1YnQj5lZ1IUuMIm5~_bG*vG)QNRQcL z|1IV8h3!CQvtw&?V)YYc`#UhMmo4WTylAvb;1j@K7QZ#6<OS5SicO7hK&BEaw6Xqk z+ZSdCM_V4^i!(C}?gA5<E0KMxY*4wUg<f2LG9~5BZ<dK~?S!UA94WKUZSAInL|Zga zuY&f^;u3UK{qLvo%s<^7R&hTf$gbY!`gwUbb>l}z5&!|BW~;S!|GvOJ6P=LoH5)}e ze7%|ktH{Pl!hhM_&)Jm^e_rNwIDEF;13NnVtZcZv%}gf(A!W3BjHRN7jER0F3r2mG zTY<Ad?;D+R`q|FMob2<sK%(1Pi{%Wh_x)(?2-#?|Io#0ZMNP1<jHrBgk7|Kut`&>F zmSn3)hov$^*zF9=A|B9xf*c_$=}D+|XW$-y6=$WbvqA#eN{8Lg?j66TREx48%iW~x z%xO+Kcq(;4!`UVr(zenz^CI}Ng63JS0G-pD+mR|jMf^oC=HiRN&~3eg8g_L_87$zv zAPcXtRLQ4$#=tiMCJ61g>U;`#^ft{eu<1n~(4a@=Rx8fD<10_5hnlH_rgR`9VEWLj zu5Qv-m(B|bt{ix4D>;fspyz>T6>k6f<A?x_NEx1By*JgpOPehyY9vi()PO|JCN96^ zj+*`uk+2geN$2}+<U6dajN)BeQWrlrC*`(rz&c}Kd_I&G8yj!zf;NIEM<#|CRgtu~ zY~nT9yXVDH@;XCO*e^G4+tz-m9$QFBg{}VHOKV32*u7vNWL-BmO{s`5BzsY#9~%z# zacW0041Aud0$*@Gb3WdS1b=*@oVQSC?g%fUM@P~RHL0r|=J5%V6N`Upf@Ly#yQ^fU zbN4*bbh#(iX>pbQ>xl>f)9<!QuR}8>eHgD^SaI!l;>}J~t+-lum$=wyR4oi%xXt`a z7SWl`Utsb1=#y#6A4$lxmsO6}`XhfztVF;1jTl{JFBvcu6r&XB-B6CKbFPwSsDJ4K zq*|DaNxguO)y71lx;J+hmlk=02*eK7)FB>Zt0*}<>6?3rnT_wNnsMlO7;zp`1C3;t z)GqqF_8gnvKSnfu?oq9)F&PJKTA9$}P_fLFCih2zvtVOwVBF|q{hKnMM#->lQn5f0 zkzZy%tU$~?n}`5Xfiy8mcQLK{gKn&UZk4rsT<2zdye^1E@tV#Fz{IQKK6yG|vWfKf ztqMikgYwqC-r98F5eUXJ+V5m_ym=)qHtwpm>%<_}9a+O$N+&T=VUP^Yr{zi=`|A96 zB@6I@hpU4M1AK^$e~QKied-D?0#OsTh4VtE*M0_D8Yp*#*fy)kzR6kB?d^O{h?NdL zn6Z11*V1^f(ybjN@1oN)_uTBWH4$JxEZ0{IQw(uZrhh}V1?q3ekacsDZK|d<8vzKi zQKwnPr~2*I(3K+8=GA~a_Sv2`=5zDOUS~2rp`6+}4LiNB7L<$HjHblgNic4>7x9}I z6y=+oyn}~v&$npkgnH8kZI1{V6u<&BC~!Wo6#`Fs9${*}SV7*uVrTFJ$Ytx;fKQ<3 zlk2f@&J7eLOwr+9WM3pmNr2jdul0ZW57Z(BYDmn~nH9k>ds}oVl&bDV0?<fsu+OOM zVo<1DysbV?J)f-?;3Pkp8VRJ#uKUCf!l$BTgXJw6?YN43`;)KC`Z2Si_AHhk%A11C z+1xQBB?6F3&S&g}#c1u_E82D5Mg`2&$uwU!ICMaqYkQIRr-|D9lZy_zpBpuKn65-q z{mJQAJSdkb#Um-id&w>G-dKH5vSdk=n(6m)&YP33!oa*(W)XN13c$FzJ&Dy;YoW); zk#le8K}pL-6zbSGwb;z1*57EewoAORQdoe3Zs$-bwr$0-?|4=;D3AWCtrR&X5f>qt zT*kh4)uN{J?PsLZOibU~1Fbm;zk3GXe%h0A<JuDo5R$<vZHPjL8av019YJC}dO;gW zl*9O4tzCU0S+C@vHfiTo`>D}3Pir*&c$zx`A(ffuGrsUDu;ii=i_M}A23+fT{?2DF z0zC$99oS>ztb^-MSzpx5C>LKR*uQ)XS*9Nn$U{3qtlV8*%1T(CBjuuZR~5+Q3mJz- ztPq33HRTD0c4#OH?B>Q5CKzz^<-VZW=99~~(K;^{E@QerO)6S$W4dt~83?JEoAb=F z!LE(be@yrMUJ=fXnIm|yyJ#^21(qkUAU>~)oh$vC#|)do9hTrNERau6goP{o1W8jF z>zuv}A(aSyAC3AoNcTEGMx|q)%lKb~#`E`$&~pL71I@T%;kPd{t8da2${Y0jj8w2} zh}1+O%YlXZ;M#wYfWvo~mAE4!P?#Gz;$3%f+Ew|_`BfIiK+l&UpJcWJ?jT35-A~Gq z=ZybC17!Nl)t*c~8NA$v=+6^KTF~TG07CUK@R$e0X3CoZcUezjcR$5Ih3Ao)S6R{t zvqI0%p+agrIlP?BvOr=xfMk9w%?K?2Y(_N7=6{D9=c@7uR@bSE$QWqa=q!3Tfl9kL zD9*p<xy`?1`#5Vy?cYEz!E`dO5v+ghsd~TFYyArlv=r>O>~^R8TfCW@WYF^w30Nu7 za_g9K<^PLZ@_8UHO!-iL2*jxn-hZAOqP$7@uY%=k{SY~_<AwE~IbU)?D)IOsAPtqn zK6}Ql+^2nmOq<~SxhV}fV&etXjFy(MFF&}L9^D1%j&$i^|6ZVV(L|Z7$EYO%FDb_% zM&cCrp%IknZ7l5h+9aQ1<5VoPFKStvUjS7GcJ|WnjA5P4vlATb&dj@c?BB&BepZMp zbmTR+D&>y34~4%IRX56W&%%*7u{es*hp)9j7UCwh?ZBtuAO9?OcR!A}8A<9t#OI%W z|2gm$Fx2KB49gs~E<ZD7@tOpKvEXaSF?-^VCv*xLEBwEc8D+Ko@7Gon0Q0|ROc$am zbfZ`cMtJj$ST28DJ11}B=2sdL38|8%p}xR<U*2>JU>q%NY(uF{EEXgwLGu8L1#!dO zaPsa6)8Hediz-4bvneL-3X>iFrWy9lY45b7hN#{flmY0$k|aYU%6H9h)Y6;ofV=)g z2to$xhkHmBb-ETBY{f*4d?eA~1_zH~(MDYq6nGk+6=fpgdU_Cx1Lxc-@__1${74_+ zKn}b(M#7G>`(Mn+qAc4VXI!%8ig)jX=(de0;ejwV_ch&9BiDPPMqoE1Vsi3Yy^%Bl zvvb+W>+3t?=YeF%7i!Z(M!M=IXyJ#eXf?(sFru~Z*?0w6`}(|O8LXQ5^=2+PtXNS= zjek=>S;SO<E%%L(F(oo4VLqB$VkC*@1Rq<;`?I7PlQ}Ihc@wGh?H2Z8(U{g4nEnr* z7e!sKX1`#8&FV+|mcm;6!AIo3e+RwR-rAA}gk#H3UC1dg;ksgp^_BODE38>I1tgGn z=(q}RkE^L7ncJUgAhgxnS?j;j)t{_boHQEINz6)eBVC=3Izgxa4E!FBenNWdePH_2 z?SDj1yp>p7VZ;{9Y(V|xaX*$*yrK?siivE1U4(txWQI(JClwbI<U~<KO6-4t=G*EB zKVh=?>zT5Tv1b5+<tnyjFK5fy<h&~E$i&R>q=w3=Gng&0MG8BFgWUoaQ<5Wu+RvwO zuJxaYF+zs|4f4FHc7%*FU4wBB@U{6_ug9L&t2sY+$SPtv%6T{#pu!gLd_NvM1uJ<{ z0(!9l*VA<aI7~;=gDwGvk_Wre`$vsm)Mx-nv%4>(Sd?>(xA}uLZ|#BY*ge!`w9!wE zYe(r{+5eTmKWa8K#u5Txtf(lp;2%}*Jq!gir6ez*%r0vtAVQW0M^55_?Tk+iP>(pa zTalcM8mAZ-Ec`;a7r2CNacopxbv#Oti-TSRHe<fO)+~&R&b4*)c6nPpRyjKQ$mY6P z5anXW&a~FWb$LAnB76H|<#p{F(A{bDz75RFT}7nkqCDfM#q8=YMZ~NRcFFcd<(21d zAG*YKptISPak3t!ofnS?ueuePkbY;rC13{VuI_6Gl8+;9pLtG<EAD{!e8Kq}19wOC zLvSDs&LZ_$xI3tW!Fv#xls|c$F>+<KqW8erN_10zVg5E4CZv1vQ;uTPyByoX@l8|S z|IG#XI%J!-BZUog7F}WGEG0X$67uFdr8~Ko*{W1<O%)e%lC#2IY#Th@`XI#+*W8>% zZvC9<H<_M2T6Zg!B$#g0rE-?Ez>Y@(d4bZR^M-7e?_PwCQIq*c%TDu29qHTam9}E& zofFR|r>?(iE$Qcdj+ImUU1O!3b3WLNjNY-iwOI#%D=kXvA#V#W-dC{cNoN3YWzWr! zB=x@XTYoUiV<`d34@%^6>sz<8KVf00F%XH?wap>vj|m(XVkw)|e&3hK#&rlEEF%_e zo0`J`NC^m2nyW}d?K#8p;)y6wcT)atnRl*)TH4tkA_bNwS;PWlKoH%&P+95{^fUza zjkne2!zwAQk|7;kM1ao<J6!BtNR02ponEkdTEKvuXF>tUxBob`n^z{}QvT?f>cAb- zpSSjV{8|<(U@IGxQQ$*tV@BB6a=kC+gKxF>eXKm9Ue3fv4NNcosiLahZLM@sApr-L zrM~Q=5HoFGTM)IU4LMi}VzgbV4-g?0o$p{0^*`j=)HgDieT<y}isoVK#PR<FM?xk1 zhGWXE?C>fC-~a(&gTL<bq4QV;A++cDKc`fnL{|+an&WH;OW-L)a(EFS`)?tw_ipK& zi_SS>$`KkGApkqrUs=|%X6kBYAs+ePi{{$I7--)KDhy@<^V|~0##drXJsNbUXR-H2 zuyfMXVEromIX2UGDtQFiDFN;S&wT;(1<&j=!@0qPf36h4w|}U#5Vh47QR!0VEYA4= zphfh1A0t%W6Il$$aYKaf*kr_212f|Mw!=3_mINR*ofO<9aDBFEn;3LbZxQBB4lllx zFL1E6m`o0e%27o7=GoL22xw`-Q%zq2Ft#?ZR&Rrdh1(t4B2wNyn>G#WjbH@>K2wtk zUMXT>hY0dRkcOXtVbWgq;4#@$mw@LUumj-C*Jt02YkPQ7Ft}7ym*ZPj{RlypqAX;7 zzHx?x?6VH1u_K#%XLg!WUS9`~N$uZ-p4`=|maiE8A7bZ39{f>tpM04NrS&4NmiCpa zv8%tjC6$<!z0zr%XBQs%201GO{8#?5hv4K<-p-L=CYS=4Wl+_~x1zRwy}~5Mjmw%p z)iD3fFEF13{_&5}!*7gcIaN&7w1RKt`-OE8FTT?}hA>(pR-J3tcW8Ab8h#vA&*dZ~ z>4k*-c263GMn<4Z52ST6_KhqKm})PQvEbMj1vx^gRwBl9MpFFqu1hxUzURC;)ZF2V zdh;8SkUu6e%Vz+uaz4Qc-k|*J(Rj)A7NgeVhPW}^35Qf`J4Yzvucd`}m2Eu1*o1ND zeapK_$h3DzaU(CfBxN;p@L^l$e|J^)xc^I;&C?K2`h?X7p%L(?sAwC<=^0;ImeMBW z|AOL@+I^~ir@t|UJ6Ut8DzUs6Bs=rDqx%uOYX&*z>vo9QotF6ehVF^1(kG@r6eC@B zUetHuD|9sk_NUpG9K7^uSY}9{^-t~dr@+kK_9UEgJbAz*hEIRO@Q&9rJbHtUi{QSZ z*9|rZlphCZnlwn?50EeYSC^tj>zV~eqOQ%*Ezhl9^pJo#(bgA~I)!fx?)ZBWDvMLi zn*UEKMrqmKt8XEtm9^XT!!D(aKup<}ZPfjOHRk!45ygsq13YL+d;aRBtWo{&q2)+S zZ=PHg2HL^$ZI5WG{$g=yM`Wj>5<$GspSQVQdx8zH1`UYEXCHchaX$utE8P81$;MOV zxwQC+lAW#!k440(4LtXH?Ra9{^2?OAMS;;%3q3lC(Krdh%&#DGEjD57P@PWw5V~_s zEE#wmKk{s|&j$*kJ|C~9L~Wk>9)(z5&yHv}y<yKarV_82(8yg2R9#%OO6O66-}(-t ztg4ZK;LFj?waUrA8r}sI8B%veJr+68D`DVqSMbVP3%Bk<dGBz5@CD14$X6z2qfiAp zF&BonHGXA6{7I>-&hBl6xOzy>i`x*#nU0SuMcUFsKR<Ffs68`pnCIMlh2A~jRu|iU zP^7q=K?V}56VI}9$jkhND(%&o%+5fr+C>Bhft0h+0zT=eSb@0j{l^;@2E4z(6IIph z?l5YIfw}>^?EWIl>F>Wk$|!l8gB9*4<k73Du03Gop$14+zmfo0-r}=_;^}WzD>=vB zpQgIF3njmM$~Q@K5UdDw=_gl#ZAtT@?Er@X@Dt)k*w!ZAKIZV+b%=YZEivMIc}Z(6 zE!_2O;a7N3vDMedkeC$~XV<P^h2AOe0@4cBJ9<;~d_yz$vizkfF|EeH`o0571wj2_ ziNlZ4e^yV)(%(9Uf{z@c5|n`!_ydIgF!5*S(pUAZi7LuMKi5uUPatVGZxS!%tENX( z{>MVX3QaeABU6*1vE$+k8%>`*Bm@~46SIQuW@b>K=K=A5nNsKYRDJ3Nv1na(&~G7! ztx1-oG)tSLoTLoXh?uG6Q}<)Z{u)FF{37x5l0>SlvE6R#s`uHwxmmVbvjJ`Ww#&c( z0eR7|v$Jzj=}EaMug1~20XaiB=eBW*&^R5Pip0#;A1$#F0O1vqMPr4MynemX0vLPV zo)%!C@c%MxyH3+vPm0x_p&_5mwpj3x*mM*Npu}k3PSzlV0}veZxm~L<{0Xlzg`zX$ zDt}dWk*%E^GHnt0UFIxMPaUXO3?ZY>O>34MLdmIp(9}-ZtQ(S&GAMi6$z40+iDh!# zx3{t7Lz-!WrN;{nkcQ8+fm{D?Sb;`)ij89^upG;klLsQZl%@ttfQI2t0)O|-NogRN z4U|vy`<`kc{O>{qM|n(|!mV1&m!(fW_QIY$Q?rzspLAPk3MQ#$im2kT8Q@3b3w)7n z9TDr^WO}GJ@Q^#w{&&D?6MrFf{<{9Y)5^wzV?O1Ao51?I(YY#=9R62ts$7u8aOE<A z0mn&YG88CwN=k1c=`q+^wyYtm{Gg6<i>tR5-^C%|;1pXWH}bxE+(;S^1tp~j6aT)S zN~)?WT}PM67=oL91NOv%@U?xxyyow|S6f589fNTvf1%|vL2^hM`em^46B82eY}j-m zo;JKy%(j>pM_L9!B%92Z2FZ#}FD(MfAQW^FvExqh5;9ZL`NHfFGVTn9(J87g-RFKB zND@&lvuj7u0AhO<VZk7$=QGjJFUH<`zr_S94)!*ROA(oCENp`;?%PU9qf4JgoXZMA zJW}D!I3V~oNS5+HkYfW0jjGDRdgr;{Pg|VynN+(jQ2(5WNO8&XyXwI$HjAUEu@oWA zFCTJ~cbEJ-vm@z!$Bokut?-UW^Z33&u%3=5c&$AHk!SV!i+J`7gT{8s>g(cp(*Xx( zM!C7WT^*Y>&ety_z^<kEIRAy@j_p6yLH?l)3<t(+0d=K}b}n_kk?*y<qdYRAmHIkn z2>}Jia_2AlyPNgLy5Y+4^*llifiaw$#P!=(J3j_+9+SpEzjwJG9d>PJ${xGYRH{*U zbGHLXCXeto+Kp@YrJqf=dGQ0|+m*rimO%@UPh+4hN`0eFIDb#hIJY^JNl^aEPip3@ zg$b7TO{mZWJdSSx9p$YVSc&H5+-Ano^CJ{!Ip&%xSJO5fa`PTTP8g)Z8%_giv4HX` z_RX>dSNQ|@li}oy^7FWv;fs5JPm=#~1Ar?cy3jw@<9EA{^;EH#HJY+exdw@&<@Nx} zrQJyDbeI~p265z2w0BW27}=H^cWkdZc3c%jB^amnOM;r;9$?U+BFQDP1>IV2RhnxP z!>gyIiZv2BfR6o0l46Lb5i0VPdc_Kv#9Zl5^<&LHn4Qy#ht_Eft&a~yyK!S1{m|WT z$*Ez@UOZG>-F?)jx7ez)QW;uBZ)f*6jUH4NkZCAegDGq@yQ`A_i;eX_-4$>+*aoDx zfiX^T+7G-r1`e<Sw>LE&39|2$jpy|zOzyL+t94afU&>tHKHLlxtT@o8H46uP10te= zpYOCCh(;=0b<{R%$A`8uXFk@t$#o%6#fhye)e>lf<uB|fT}jNq3*i>o5y&>7skjH? z02@V4i6%VOe79!GA76o~vp-8s8Ei>i)pd9^+gHbBt4IZ$m!)UkN|HAJVtE<G0&tN1 z*p4boYQP!d0a2HgR7NW}0mox5of(`_<!4tcrByMyTh(ONcg29^rYxPe=(y3eXJZy- zYX+*i)q%UW*MkezSpOuO143=!!(J#E^GZ4^cF20D3k-t7x<xwLLq96+m6ws4bq1|w zFO`n?VJ&GL@RAj>NL#ZoljMnh6i}mEIEP<oB|xJKFHc9#UmBWQh-2|ET-TngKPJ5l zZdL~=b>Z>VoXBO2ScDPqvDA~8zz^nkrDKDj)gA(~0@nj04QLhdnYW`yWT&GBaMpb; z@d&einq_RCn5l>SMsOi!w&XyFQpwN9pTzjU5kyw-3@J4ApyF@eXHUxlaX&tGcY6Dv zOIwiW%mkb&Y}@s#$fLe4o5++PyqJ9LNq`?uA?{5&=2_h;1)Nh5h>4EQ^v-x@rV4=) zLv!<}$oe08ix3GDM2K!!HVDGH2A{Az3Xp+F_@!uUw6XCL)dWyh`lFOP9uK%pZ!_fX z_G#5gGKs}cO6i)o#d#>rtyf~vs+nR8sa>ZHlfn0)85zUW1MnIo2t5u|iZpzFW7r3d zDfY#6bpg~t)GLoZ>4>ddl%0$)Q_^PeVHLUPqN*DwFaXY1r~qq97SrFY>4j&21hfvy zOCTCp&Bf@L3<YGL+R3rVtxJJbeQlp3e)p5aufVDT8cW~I(AE!%eqTNRSDSONZy>s9 zY0YEmU(OWu!W5}LANH(|JW3lQBYIhyW#BfT;c-X?ERplp;iIkoZl&jWmseH77J`B@ zujVg<FLqaz`Q=6qQ(^?q!1FurpL2Wj;=L{zM{_K^wuISozXHPLp9GQY<vA8meKK#< z<eR&+^;HEsx*4iyUq^Lt@*V^zW>1+jew_qGUDl>qxW8m&MX%P~{qh`J4Fo#`GEsGM zt5U+T=Rk*pP?~fM8c{4ex<Y&EaO|IAI9Vj=mQc`Hj%WjRP5&?b{^Zt~s9#}{hulb) z?RVshY1619{^=*^*N<<`74c$F7*r4h@Y?AOzhV;n5{F$YV~-x0<xB#?I;^&W0r;m{ zml{e9L$CFK%(xzCdj{It0;~AJ6e3kv>eK&F>uS3NBo<Xo5!vdRv(K8O{sF0lu$wec z1_pT)nxe0Wu1BJ&_%Rf1aW<ugezt(E{|uyN)pC@8s>==;C5HP@RHxYR?=zM?40})5 zF_H5K6o=!RQ*(sqk(zPUtIpoOLFOQJ<LD&g_QMj%h^t_Sq$wFfJ^7X=EgSRbw>ch$ zQPEjOLF1dL0dWS5YSu}rj>s2;z`V%Q_P3524{(@XKLG`xP&Ut_koc=#UO4FLVi?t< z|9|=J|BxgX5>foXH1y2nG|tr1#S+PSByM;*xO4qXZAeyDQ7VQ&<iTSptOVGq49hpF z>`lw&#e)xZB7_Wqefd|I#3a?k8v7C+uBMWWcVmiZJcOOJ4DQidR5Lxk3Ld$7m~U-v zzQ6(BVR<4+gB4SxZZsCPmGdGj>@5bUycFr(iYcNscjSI;9JCSR0YDYNe^B-`e^i~f zqXm%$fDWpsg8J&xy`h+`BF;Vje<QIzlQGUHD>=4TD1kxFB6$GZ(TTg#kRREoYX;Eu zP-B^~L2eNw69SB(Uz{Z(8sM0bQP9X60RX`~RbThj|C`agEMe9$#ST6Q9`3nIS0eew z)8g!l9S5yL3H)xYrv<!3LJRiD**y~WrF7)VwqDkRgd_q84$`QW#e>C#KcVSMZ@7#o z?t`l1-A6)uhIJtxU$*N{EMK+*$nU^5X*?rhXo(1QfYd=K$;cS<Zl+Rj>y_SGb>j51 zL8Gi&$4{JV$+#__A~j{d*m9fFzXKREnVyIRs7I8Q5x;9&3Ef>t_}uV=U3_M5C%#F0 z#d3>RwD|Devh$gKgY>=IvPCV6jr01&@iQ?MX{4h1nlQ4L0OAvFf5=>ViG9$U_yB;F zt1^Zvssm^+>oY3->C<7FylF)THHGVJ-`{$_EIXzEzP5slQ5kGLp1sh}cOmm5_#Cpk za1X4ViaoKg({wlhhF-5i&CmWsY4AP_+7eR_S^A^2HI+=*7)r|tF_PdvUWM`}k`f{A zi7D!^f0vBduCFk=+G$!Oh@A=9TMs+wvy|s*g^@nt3GM&sdU_8d6x5)`fH>osVLy`m zski1#gF9NxRpYwmURk`MKsm<A1Lzp&Q8~Ae)=H2r<(FDopiJdFh9q<m3toL@0f)lv zY}@Af29Q{FUB5eWY(Bp$a5;$?GJ-?%s`~8}wGaS-!v_oT*9!nkDf?UIY>;5|G8T#_ zfGhS)>pmJd#Sqd)7aCySH%_emjrV#*&&=?Tw6#yIFL!I>PggQsIz@Lm4lrs<&`HZP zbLPHofL~P{5N3bPVVKqwOxjVIK57HSIg7Vs1W?q{)93iYj+3|D?3n<u8V#B46?p$< z{ND9$iG$1c<eJJ}0A2gTzCRoMtHEc%`7xw3_#d!dL0tE>_!xuED4@C0tvU1VBW%c{ zd2g%VWay&;pr=!AgLgT-mVi24w$r7%9ujjdSXPF*l<`Tp4l8o}Ok68Km+G^E<`Y2{ z!lbZXr20Hp9Y8;TD3|&*2E$MBI{+nbS(a!<4p2VQ>0<KSS9&&~gkJbh^)g(=;S;H; zu}2yQ@gD7~3Jxl>Sh%#r3Opv=oHBR3=JWV!D41&y6u8OZt*uI70I7YrHPffi2dD@c zsXr!&K4AkD0Xclk_k@-XH>Q4gc+~S}ivBNHE4OqMRYnD(;$F6%+n!0X?)1t%KXL&p z8}cLR7QoB_dB^<iudW2<iu)X9170Cj&D0%9_<Inl+(RnaBH^!KiNQ<rKUzcE9n;U+ zjFBDn#$negdKN?PG_8GsZ7`CgGzW|dX5qf%w%0l2<XIsT?Z%+W!Ti7$A7GB5Z8{04 z!G0rFF0qcWJre{S2oyjG;oba4a=v98BI++_AS@{xX-#c_o38F&dwZu*#k`aBfrT5h zr`77KH&<vFyuOUYa|v@{pT3M!kkOu{CIna>aNBBI$`AmGi=<lo-_uA8f#|duNe}Ez z3ZWJmcbhU&)BL9`V83aYc+mifD}=e^*a)pza>^u%hyc?S)Yj`SU<H4uHY;W-AfLxF z<ba0eZViA^j4|Tl2%*{YZpi9x@Yk{8=~8d68LQ%1gYZ4$gFr9ntEYTnYMIzL(^24f zrS$0)&$c_@{q6npz;)j`Kiny%E3I4K`yA6^w?$yp)&3pnoe)$oK;@s0xq!3M(lP?E z_5~)Oops0hx*Dx@J7kqxY=HV4YzEFBu#}0RkA$K?g@)W7w(y5MxcKLNP_~Fi(lo?X z@6MHa>gg}^Is-GXIQ(H0RLXRxo?5Ty@Udip!&4mSCHb)}fRP*618`~=*H<M9ZQssS z<38WON}279*<_DL=r%B7vTgOZ1Mqv#h$<>B-D1@>Gvh7+qg0U&LYo`bJbct23FsSy z;0V32S5tj+)&9t)Y;|&!mq<d;t%Z{JDKPN*Q$Ob$GCpU9e$}DX9;_5ba+FHMSJY{- zmr8`Acjl@UkZ<B{E2?0=^(5qhRNn_@1AXS#PczU*q|J%C*ZvhVXH!VW+H46iCZ~il zKuF(pd8zy2Wr1ZF{Mgh|6^)t;wJJ7#Ut)5*ySLQLvD8to7o1|$bH@7z@us~gO)Io* z;1o`nI;R}Xpp+atKECI3m~SxMXavO%G~jB!X7W3U(LCWyp_A2oyHgb9(f3EKrFYIp z6HQ`;<(`WI*chx}XRB5A1T-x=X)~wX&i>=bUn<~W$PT47|0K-E&Dlb5)5{;e=00ZN zl6P3*Sv?RUHhf>^#@p|GhfGhnc@CM8nh&Z{eO<jC$Y(=55#;mFH*J%eVgYK8iQJda z0A|sT5NeLB(0MWBwB`0<;s+(}T|IN)GxI*lf=#LdsiYOcQA-kdcJ_ujc<1HGpQ+-k zSp&>&?joz%R{%f;mJF0b%x35RQ{>5U&14fFA^G9WRP;6E2fbq79;mcon~+B59@3$# zfUWvGmLA;QfeU(Y0K<yUDF&!15qa{R@>mf9=&v$Io89%>D)t{nEVrceBZl{E^ZHmU zKe3X*e;?9u`FN=Y1D^nbgspyUhQj!yOk=!V#lF<0fIA_J>pS1vnLF2;a5?_8czHK5 z0qt$>oui(Mg;q+p7*2{Y+v;F|wFk~E7}%FS-7uE=0upP<+q&>X^S4{@tqctlw)wI! zMMrZ_7S~#TP!9%KDbRPsRrmx#i26%4E4mf~JTJQXv0G2d2s(WZ1vG2=k0}{+#i6Sk zjNOp=;{*m!Be~u5h*Q5Ww9QJnFU}^he@39#q{+Y%L1x1O+0Rg)9L4}X2kb8J-7T#U z?3+AJ4G@b6TY3g11Q5j7o&lpGb#diyFcnqBU{?rHYAIqVvy!-I%joW~*W6??w_ycw zv1Q3nmB+35mUwDAm$&ml&C?&C19c^>)xT8pPCkQR>40-?_e$ME)jr^tu)|EnT{<4c zJ}PyDHt3`S3>o6vvi4?<++lzY2KWh`jb6OgAmTu;O#@5<ZK7jTT2K$qzK9fkz4I=6 zvt_ZDP?J(m=sTUpj|(0}V5TujqhAj)-~lrOJmnkMiXex;ec9~I@)I-a;xo0f3b%IP zrTPme(sHVN1MoCYR$D;T_#I3lh9j|M%>F~CZO6l0W=}twemKU0L@iTIF-0csU2{7Y zB@jjW-w82yd?Zu-Aw3i3er&c{Ps$Ix4SR`0Fsz;tXtqMfw+H+>jVi8+6G|Y=xT8YL ze@d`(5V{A;$$LW$LMr1V*elT<AFnrcOT|6qNX?nVY9xfQ3Lk_l%`IbCbS0OyuYm({ zL#4`r2m&}}ixu(XPB(YN@6v2Vuz%UY5a4P0*RADMnK}Lpfyz%Js4<s=LKT=DJEH*| zIs$VI&*`Z0cxv9EVg0*F`VB3(vLGJi-4_Ldv79!1Kpl;weie*9kkw7jVBdhx0TB=& z6JV5NP=Tr>2t=CcMq}b;Zv%CZyt=DlG*<8=ZP|H+t@Af@tQGi5QKPf{@8GOO#rQR? zJ=H<TwZT$}3-WEnxc02#Gou655x@5KOd}4rEI>4v1N<Q<#Pz#i0HuwZ*hWWKIo~ax z&3@^kqoSzyw)E0vis7VvucMxQ@U=0dXq-9MdNmuk7}uEZWiEXL`nc(3K41LF1bi*a z!Im9x{#o29@;^2MF8_CvgrEBLDh2y&AQv#aIZIy5O*sr_k$+O-i}P*wPYI%4&4q&S z5BN^=w<)v!6fA<JbR9bJ6B#<U{FDjvY<<o#bJm^j7H`p&i;Ci*V|#sMFbIL$l-BPM z=t=*XYG}F@PLBU<pkID3?b)h#Or2HpVy_GaFqHhXNq~D%tkJQ)#(y4&K!ZHD7QZaH ze9gTFVubgGy0I?}Kk2jFBG3!O+uK7{7LVVLETTgn+=A1LH!yO<o4e?&1bAuAR$*o< zCmv8f16!kP?MVINdjd;oae@cxTb-?9yQ7UKCJ3YyLD+E6`=^Z60vCO-eF;bnlmb<B z(E|Vq1=`2o5u!cXM-fJH%GmRl7858&(h}86;e*g&;=XYiw+ExJ<8wI>HNU3RtvDu% zBL~41D3c4?$T&tlf323V=&YmM=d^L3O#4@;JzK=?5)qxWFI23t_<{Su(}T>=7dG!d z5+>#-b}NV2vsuS$55U9O3kt@kFNp-G0VPJ7gaRdpj{P-;-vD;BKG14VY(11V4O7KX zjD4RNRllnV;)IU58G&}kS6V&}QAF}+rttsRLB1TS*ar*|uKjJUVhp|-lIEFShE++w zl>Jk_<*7DRel4hHij!UJ89I%14E0$>o%Z(MGj%EEPqqvf`|Fb;m=(*rX1LVnW8}Y| z^vHUss(I_jYKl--+&_jd)&Eqg{Xc4Fw|<SzYWs}@c_8Q451#^JvhV-(R{4S#f+DwW z5pbe^7vTR@IOsk8{l@@{!2y*@&CcsP4W&;3X(>e=@njufxB&huW2-0ftH5=EFEfDF zGeE1A`;}FPCKnu}DK(TTfQ$9P#h|V^@yWRR5*`Iz+Lf>BdTa!^T(>n4PXJXd+@Ai# zxvGJdZs)?eux{@4qukeJp7I2Mwn;yGRUqj~B4_iep+Vm@mJ={^iR$03A*7T74e$Y> z5i~_6<tr+%70l{zg0F}(g4b(bqp86%<9EREX#dslVtf<eNTh3}&7(o7bI?ajuU*+8 zG;#6BscwCWj+GeW@H$^3MFfL%V1k?86zHa*1>M77<bOp1xIQm0MSwD=_tCxd`jJ7` zs)jGo$hwy<Z(v7e>Wy5yCiNY3-?p}>e@$0B3{xdgR0-YpB;?rY;Yo+ujtL3#C-2kG zI5$*c0m@SJW52@#3#1o9`*Eoqn!yWtr$FmxVZ5$Rn;ojc|Ma&Qn3aOp6qaoD96L3g z5cG=KGjSDTmX!freQ^tb?*E7k%WZM?gn}Ka22<vZdE5Yow8;E{znW^e%qd9g-%;La zlt8}Pzh*w@&jSj!(Y$Le`yG1F6shq$m1}91D7s3*M!)xMSA6IkYy$C!7)Z8OiV#c= ze;Xz1wn>j}$gbHTe9%;UPgu?dM7>5oCNTk{>E;n9fH?qohPV`4>CV!Ua}@{D9`wCg zSojkUn9l$VlbuO;;_iO3yf}>eS(iRMyb7DH#1#R2-vp>rg6@012R{EA`uROT<aS(q zX8*&75-hdvz0B;LQ!&w6U%}DjQb;27ix*PjkYo(sCI#D$6uuX42=<)s6jbW;vV_r6 z1G=WMw0P`H&WQ*UlY-xqk&&m<v!RR}5YR{W;6v~5m<S%&`QbhGGo_2kadhicwFDs; z!+BMc6VSZ?rj1sjtj{2;PXv+!WqFd>fWD>Tk0nr2eOhW<8^R#)F}kDq-Xl$;+NpP- zG%m}WWDdxp3(iTfyxJRpOKJ<HD-AUZf(vtPRzMoxHXw29m5G1s?H*cCDkVss-T^$m z?CW2OXMgt%V?ZnGJ}9S(`do7W_!0dUqNuX96d#$m0?Pwx+P^ZT(5JTEJA-m^iJF@a z3nSVFXM-<yHWbi%fFB0a#QnTx0DpiUF}^NW@Fd>V7ObkVcl69V(&B;OqS}6R{>VGv z!b3dCwyWDX;F6O0x<nv*i|+4M1$)rD?YzI2EK^E%_Ll=L4xk!(ZqU69Dps*AHl}Un z?+C#iGyYJs(=jiq_dnmEBS`si7@!*(l4t>xC$+2gY5_2=q+b*zR507HxOZONj@Ctr z2bN$0E&9f5Vq;vw13AHZ2q?}G=vH*ILP#>`U{OMjG!J_c)?IKx6A`{EEbzufJv2`p zgkb$12QP}irj>~?VS->;GH{>Uab{cbnf^ndUB@d>IY7&5(_=_c8FzXIvZ~KuCsQx( zC&r+EBw?}c(}MFP^1zr557-)DhbH<~Q32rbYkhgpVA@IR1JH}u84arP`k)jI5Ts>L z2LR)uJ0Yg^P+2r0kZH~1?pNB>zAYG9vR^8(7y-i{u=$-mPsT53-xCS&lX2sBD%tz2 z`@Y`ded_o;&%~2Z$q~vpDn9N?3bq2UhS3!ipyT}>t|}Y`^@oE-Z#qUrWF7#{9q40N z0CYMa8)#hj>Z*xpUTjQ69St(9Hlp5YGIBR{FrjyCdZsh23)nxf3Ja^181Fd8%>gU? zkg!P!5D4AyUJ`S6?6e}kWipmX6!N2W9L--id%VLx{W;&>PZh9V($V%T0d+8ZRQzfa z?3m#A#RD6{7z#cZ6#&kYOXfoqIOGA79Gqs*8a+HW)+NsAsJAM+`gvE2vZMtBe#)=r z`CysNNt?}!YLXDt@gTZn1<qzW&jBgt%+I?iedxV9`s8T?R*{9vLXZ;@vs;U%kbx`} z{OE-H5q?oT6rA{Ery0O!lefBhoYa>9{Chvxdoy>0Ql#A$wnJUcnBX3s&6jEC#Wz@> zol>6JD(DrbgM8ej0$wy3Adf7a*B3liYX=lk&@5pkR}UDTK-<zFj^H4fKRt*L6Lik` zX94uxQ&PXhu&_BhEuc;H$ngqVE{~zxteWH=U8&1DF{IBgDI(2)##8xRNzn{F5$sz2 zrKsXk{S`>pH&BmWbrLcfK=pkc0kgFm7P-6+>h8g9I*jnD59Mh61v)D3XQa~<<+6Ew z3;ZO><11#R(@uEp46DpaL#54ok6sB79B~`(TTPYW^8=AZ_Z-K+E^)~bc)0?~JcR{V zVD!(9fKC`tv3WLgcKz84AQ1@}j-A23@qwR|U!RHx{QG#&QL?Z~j|LrdHeoKn2?C{Z zIXqMZ9i@skLl4|sdu+AN0MJjtBp52Iw7GVV1fFtAwtDEGh!8lYEX(l#ZWr)dm{_G1 zcR4?SuBf^~h0V1HV)&3u_szE|VFBn-Vc=mj73g1+##^xsaEwBx!B5b?t%GceR<sxX zM}5AgdWBF$Q?d`rN5vtm_bA|5XmI^E48{YIL9@{TPaI4<xvaElv#hYmhUP7&?vo+U zdqk1vsk)$ziwSllh8{{<;Lm^GMVa#t+FpgA!y`tPc;tC_BkU;pyY0XT5%<3irhc;n z+tfEvC@vsW&Zuobwjx6N^7AOKQjp%i_9w=>x(KD4ov*#%7G{X)x&Vaq=1LX~_V*iY z+1lOIhmL}lz{`_|yI#a-VPCJhx}Io(CaA?5sDcghTw4p#c@x5q7Rp*!2RX7D+mUw7 z%bfwb=uA7*rKthEFw_U?>1$dBmd4$lVVokt@p}&FcnZXqmq#?dR<zHNS;^f;oOrQW z?$J~5-ME2{yZ5PW={AI2n2nZdttnd@I~;+n(b1@6%N(JedB$I>wJ1Gn-7<2q&HuFC zaZ8kQo?3`-C)&Kc_QI-)Lp@aU({nS51(33eVfh>-AG(EaVN#-5ZR@@ugX!P>Vw{W} zX~2>9znA@e8N!+sfCJJ=&?Si|dJldWDJ49K2sD*WNYpK^WerA%4VnD+jtyHozp47V zWk@d!o|Tefkr|F3#*+y$02UAvhXI0fioN5&rTeEJ|0_-evHR8k-`<%mrwRp8^x?(< zN>D&W9B|fX%pLy!<N7{;!a4LAKvR|Iepo*sReRO$Ztx_I1}*kkb<f@FN$UZ7t@8hC zb=-hD?tnV(fZEQ0+D^Zq+o#qQ$Is|yymh@CKcnN*TgNl<OQ5Hx4FCY&1XEs>vdtz7 z-#UJgpLw2M^R>v^EPvbGzL?F<;FjARHxT|mE8U(Sy3eXDEvsV;<6f(JMOa9y5Lerk zq*eOSIB~UZ;;Jt%004MRI9aKM)#_$hEM&7QW_MXy%iX!gXt2rUph{Ye_gd2XTAC4| zRogO(tK7Q0(!+qj001Dv7qhXHndL0C5|*ZAWzzakjt2EF72EE!D$=q&#<1CI>DyM9 zX<N0#CCN){UY_)jt`dXH007TQDdXh)6GWwuRb64_EvtB$xR92*W!dht)JGVW(z;_r zXw|mN;u3dUdU;g^=J6r}0Dz~Xntd&kteldpY6wgI8<N%j!ndpjqroqhR^7Ix8WZZo zB^_sQ@~Q~TFFh=k$N&J~d1!SNlB$SGlofw;!3nE67QE*AYJX|avK}n0hl~ihwk3}V zZN(+GE^ch7m6!?np#uQGccEsUDRYsNmE5j$!V<@V*IZv8E}E9ra5TtCYq|R%kuxo~ zXG*tcO1CFUHyMk~J1y2HT3lZ)TODb>I?`-;pxN?3({xYMbVtczPsw6O$$UqX`Ih3@ zhT{2#;@O(UvlWe}YZ@gh8YL?lCQBMlQi|e~qIf~kIHhpBpl~#&U^J&-G^1cRqrq^R z5lyKdB^lwA`e8!-Fd;uo$PW_og9-Veh!@7>1pol>B7|`z2mN4@Wn`Y28AYBBqUkMX zgW)X8-qD=G(VW6@md#PTpeRmhI7w-kEN?kJo@Uv;K3ptX)_tQvrfGfAh|qRS$Tcoy z>(Y!4**2yaDFOh%k0;MJLk{vIK(SpFXYJL7#f=58#}}L9XU&%NMba{j2>F8yowx!E zaf!zn*79=vo5ZX{1^@t0$~6atY_yh@d~~4`R`w$C=I~j+Wz`%F>ZNs8+sZEql}8!8 zxcIBWCi3EBR(fb%004LrR5@pbN>++1K}lG*Ye6rh?eTY!_mT_lYgtBVnMQ<7+g1Z{ zY2+metggfW0N@qL^Rgl;PFD89a(W?c-~Zg*vP`2vYiY3~LaVlA+HX~VgeLO32~3a} zL<RtOWlCA-szhZgE4{FsUP!z5KfJK4T9(~t&@8P+ZL6NRDmyN=b*bc~mKZBER%`$O z@Pm=^&6J01ewJjVZ&&#aOA?mTi)eTHYcDM8mSruiW^GILl?>(AGCcd%RcT&YiJ3(P z007UAA{*r#l|^N0SCX(qY3aUxabL@_lUCEV#q77(9hY`osFN2XFhOLh2L=EDuRxxI zs+{Cn6)P)#99YhB*NbR>{>SdI9@(;bgE9RF?#v1XJjn{_00000NkvXXu0mjf=;&Hf literal 0 HcmV?d00001 diff --git a/_posts/2021-06-13-unreproducibility-detox/unreproducibility-detox.Rmd b/_posts/2021-06-13-unreproducibility-detox/unreproducibility-detox.Rmd new file mode 100644 index 0000000..c11819d --- /dev/null +++ b/_posts/2021-06-13-unreproducibility-detox/unreproducibility-detox.Rmd @@ -0,0 +1,408 @@ +--- +title: "(un)Reproducibility Detox" +description: | + A seven-day detox routine to improve the reproducibility of your projects! +author: Gracielle Higino +preview: thumb.png +categories: + - Technical + - EN +date: 06-13-2021 +output: + distill::distill_article: + self_contained: false + toc: true +--- + +Have you ever felt lost in your own projects? Do you feel like your workflow is quite effective, but it's not transparent enough? This detox routine can help you regain control over your (very messy - I know!) project structure and discover a marvelous world of collaboration and contribution in open science! + +Reproducibility is a principle that resonates to the most used concept of science, assuring that a hypothesis is *testable*. It means that the process to test an idea - from data to results - can be repeated. It is different from *replicability*, which means the process can be repeated, but using different data. + +In this detox week we will reflect and experiment with open science, using our skills for project design, version control, virtual environments and automation. We will reevaluate our current workflow and fine-tune where needed, to reach the most reproducible workflow possible for us. + +--- + +# Sunday - reflect about open science + +>### **Self-care task of the day** +>Go to a calm place. No need of silence, just a place where you can just be still. Set a timer for 5min. Take a deep breath in, and a deep breath out. Give your body a scan-through: concentrate in each centimeter of it and try to be aware of how does your body feel there. Everytime you find a contracted muscle, try to relax it. Pay attention to the sounds around you. When the timer is off, take another deep breath. + + +On the first day of this detox journey, let's reflect on our way to work and how it could be better. Take a moment of your day and think about: + +1. What is your current workflow when you develop a project? Take a pen and paper (physical or digital) and sketch your usual process, step-by-step. Add as much details as you can (and take this chance to get creative!). Make sure to save this sketch in a place that is easy to access, you're gonna need it in the following days. + +2. How do we build trust and facilitate collaboration in our projects? + +3. How can be inclusive by design - what can we do in our projects to invite collaboration? + +4. Is reproducibility openness? If a project is reproducible, does that mean it is accessible? + +#### Suggested reading +* [Our path to better science in less time using open data science tools](https://www.nature.com/articles/s41559-017-0160) + + +--- + +# Monday - design a project + +>### **Self-care task of the day** +>Go to somewhere where you feel in peace or happy. Take paper and something to write - even better if it's colorful! Set a timer for 30 minutes and doodle something that reflects how you are feeling, something that represents a happy thought you had today, or something that represents the place you are right now. + +In this step we will squeeze our creativity out of our brains to come up with a project that is **reproducible by design**. Is there a hierarchy between your folders? Which folders do you need? Should you mix raw and clean data? Did this last question offend you? + +There are a couple of tools you can use to automatically create a project structure for you, such as RProject and its combination with the R package [`minimaltemplate`](https://kguidonimartins.github.io/minimalTemplate/), or the [`PkgTemplate.jl`](https://github.com/invenia/PkgTemplates.jl/) for development of packages in Julia. + +The main things you need to reflect on when designing your open project are: + +1. Will I use data? If yes, will I need to treat/clean/subset them? + +2. Will I use code? + +3. [Will it be shared? If yes, how? Do I want people to cite me, for exemple?](#licenses) + +4. Will I need to generate manuscripts/reports/figures? + +5. Will it be useful for people to know how to navigate my project? Will I welcome collaborators and contributors? + +6. [What is the naming system I will use - for both folders and files?](#give-cool-names) + +See an example of a structured project below (adapted from [here](https://kguidonimartins.github.io/minimalTemplate/)): + +``` +## /home/awesome-manuscript +## ├── .github +## ├── .gitignore +## ├── .travis.yml +## ├── DESCRIPTION +## ├── LICENSE.md +## ├── R +## │ ├── analysis.Rmd +## │ ├── local_functions.R +## │ └── package_list.R +## ├── README.md +## ├── awesome-manuscript.Rproj +## ├── data +## │ ├── clean +## │ ├── raw +## │ └── temp +## ├── main-script.Rmd +## ├── manuscript +## │ └── sources +## │ ├── ecology-letters.csl +## │ ├── library.bib +## │ ├── packages.bib +## │ └── template.docx +## ├── output +## │ ├── figures +## │ ├── results +## │ └── supp +## └── todo.txt +``` + +Very nice, but the **TL;DR version** is: + +* Consider having a dedicated folder for your **data** and split them into clean and raw data (alternatively, you can store your cleaned data inside an "output" folder, where other sorts of outputs will also be). If needed, create another folder for "sandbox data" - we need to have room for creativity in science! Also make sure to store the metadata in these folders, alongside their respective data, where they belong. + +* If you will produce **reports/manuscripts**, maybe it's a good idea to have a dedicated folder for them too. Store there everything you'll need to render your files, such as bibliography and templates. + +* **Figures** should go in their own folder too. + +* **Code** usually go in their own folder too, but if the code is about making the project work and putting everything together, it should go in the root. + +### Give cool names +Your project is so awesome that it needs the coolest names in its folders and files! **Good names are informative and consistent**. It is a hard exercise, but we do get better with time. The main things to think about when naming your things are: + +1. Does it describe what's inside without being verbose? + +2. Does it allow for correct ordering? + +3. Is it easily searchable (a.k.a., machine readable)? Will my computer crash if I need to change to this directory? + +### Licenses + +An important part of making your work reproducible by anyone is to share it, and to do that safely, it is important to connect your project to a license. This is a statement about what and how people can use any part of your project. +Chosing a license can be a difficult task at first, but if your projects have a common structure, they should be ok with the same license. When chosing a license, it is important to ask yourself (and your collaborators) the following questions: + +1. Do we want people to give us credit for our work when this projects is distributed, derived, performed or displayed? + +2. Do we want the derivatives of this project be shared with the same license that we chose? + +3. Are we ok with this project being used for commercial purposes? + +A combination of your answers will guide you to find the best license for your project which is adequate for your community. There are a couple of online tools that can help you with that! For example, if you are sharing creative work, you can consult the [Creative Commons - Choose a License](https://creativecommons.org/choose/) tool. For other open source software licenses, you can take a look at the [Choose A License](http://choosealicense.com/) website. The cool thing is: you can also **create** your own license! In any case, once you chose the appropriate license for your project, save it in your project root folder with the name "LICENSE" (as a text file). This way, your version control host system will automatically recognize it and display something like "hey, this project has a license!" when someone finds your project. + + +#### Suggested readings + +* [Mozilla Open Leaders lesson on sharing your work in the open](https://mozilla.github.io/open-leadership-training-series/articles/get-your-project-online/sharing-your-work-in-the-open/) + +* [How to License Research Data](https://www.dcc.ac.uk/guidance/how-guides/license-research-data) + +--- + +# Tuesday - control your versions + +>### **Self-care task of the day** +> + +## What is version control? Why is it cool to use? + + + +A version control system allows changes made to a file to be recorded in a timeline, and it is possible to retrieve previous versions at any time. + +This is possible because with version control you don't save copies of your work, but its history, avoiding things like this in your working directory: + +```shell +- project/ + |- scripts/ + |- script-v0.1.R + |- script-after-review-from-Princess-Lea.R + |- script-merged.R + |- script-not-working-anymore.R + |- script-wtf.R +``` + +[Git](https://git-scm.com/) is a *distributed version control system*, which means the snapshots of your work are stored in your local drive, but also can be distributed from the cloud to other developers. + +## A little bit of Git vocabulary and architecture + +The basic architecture we have to deal with is composed of a branches (including one we'll call "main", but is sometimes called "master"), clones and forks. + + +### The repository main timeline + +The **`main`** is the primary timeline of your **repository** (a project with the files required to develop it). There the files will ideally only be changed when strictly necessary, i.e. when a change is critical to the progress of the project. + +### Branches from the master: branch + +A **branch** <img src="https://raw.githubusercontent.com/mozillascience/friendly-github/master/assets/images/Branch.gif" style="width: 20px;"/> is a ramification from any other timeline. It is like a copy repository within the main repository, which is created to test changes that may or may not be implemented in the `main` timeline. Ideally, each developer creates a branch to test the changes they deem necessary and submit these changes to their colleagues' judgment before implementing them in the `main`. + +### Copying repositories from the 'cloud' to the computer (or, working offline): + +Repositories can be created online and many things can be done there. However, in order to work locally on a repository, i.e. to work offline, we need to create a **clone** of the repository we have online. A clone is a synchronised copy of your online repository. Everything you do in your local working directory (corresponding to the clone) will be synchronized with the online repository. + +### Copying online repositories + +In turn, **forks** <img src="https://raw.githubusercontent.com/mozillascience/friendly-github/master/assets/images/Fork.gif" style="width: 20px;"/> are complete, independent copies of a repository. We use a fork (not a clone) when we want to change the direction of the project, or when we want to contribute to someone else's project independently and only then suggest changes to the original project. If you need to update your fork with the newest version of the project, you can do that by requesting a **fetch** to Git. + +### General workflow vocabulary + +When we change some file and save the new version, we do a **commit** <img src="https://raw.githubusercontent.com/mozillascience/friendly-github/master/assets/images/Commit.gif" style="width: 20px;"/>. Commits should be accompanied by short but sufficiently descriptive comments, so that you can understand what the difference in that version is and locate it more easily. With commits you can track what change was made, where, by whom and when. + + + +After changing a file and saving the new version, this version needs to be given a tag (an identification code), and then uploaded to the online repository. We call this a **push**. To update your local directory with the newest versions of files, you must tell Git to **pull** them. + +When working on a branch, you can request that the changes you have made be implemented in the main branch of your *workflow* (or any other branch). To do this you request a **merge** via a **pull request** <img src="https://raw.githubusercontent.com/mozillascience/friendly-github/master/assets/images/PullRequest.gif" style="width: 20px;"/>. In a pull request, you ask a repository owner or contributor to accept the changes you made to a fork or branch into another branch. If they accept, you are listed as a contributor to the project. + +## Working remotely + +The online portal of your Git server allows you to do most of the tasks described above in a very intuitive way. You can edit some files, upload others, request a merge, create and delete a branch, etc. Once you know the Git logic and architecture, it is easy to work online. +For a detailed walkthrough, take a look at [this page](https://mozillascience.github.io/WOW-2017/github/). + +## Working locally + +However, the changes we need to make cannot always be done directly in the portal, or would be done more efficiently if we worked on our computer, with our preferred software. To work on your repository from your computer, you only need to install Git itself (https://git-scm.com/downloads). Some softwares allow you to visualize the timeline and operations being made, such as GitKraken (https://www.gitkraken.com/) and some extentions for VSCode and RStudio. + +Once you've installed Git, the there are two possible ways to start: + +* You can create your online repository directly on your Git host server (such as GitHub, GitLab or Bitbucket); + +* Or you can "transform" a local directory into a Git controlled project. + +In the first case, to have a copy of your online repository on your computer, just clone your directory, either by downloading all the files in a .zip or by copying the ssh key or html address to use in a Git command. + + + +You can also clone from GitKraken, by clicking on the little folder on the top left corner or on "File" on the menu. + + +In the second case, you must right-click on your workbook and open the Git Bash; alternatively, in GitKraken, you can click on "Init" in the same window shown above and indicate the directory of your workbook in "New repository path". + +## Basic Commands + +The following commands will give us an idea of a *workflow* in Git. + +To use Git, you need to configure it so that your account on your Git server is recognised by it. In Git Bash: + +```bash +git config --global user.name "username" +git config --global user.email "iamawesome@email.com" +git config --list #Confirm your settings +``` +There, now Git knows who you are. + + + +To start a repository from your computer, you can tell Git to start or "watch" a folder. +First, check what the working directory is and change it if necessary. + + +```bash +pwd # prints the working directory +cd # takes you to the root +cd .. # takes you to one level up directory +cd "your/directory" # changes your working directory +``` + + +To clone your repository, copy the url as shown in the picture above and ask Git to clone the repository into the directory you indicated. + +```bash +git clone https://github.com/graciellehigino/bios2.github.io.git +``` +The above command will create a folder with the same name as the repository in your working directory. If you want the folder created to have another name, include that after the repository address. This process works if you have an online repository and want it to exist on your computer. You can also do it the other way round. If you have not yet created a folder for your project, you can ask Git to create one for you: + +```bash +mkdir "web-repo-github" +``` + +But if you already have a folder and want Git to "watch over" it, start a local repository in the directory indicated: + +```bash +git init +``` +You can (maybe you need to) tell Git where your remote repository is: +```bash +git remote add origin https://github.com/graciellehigino/bios2.github.io.git +``` +Ok, now your repository is ready to use. +Check if there are new files in your folder or modified files that haven't been pushed yet: +```bash +git status +``` + +Hey, couldn't you find an important file? Add it to the Git vision field now! + +```bash +git add file # adds a file + +git add -u # updates the file tracking + +git add -A # all the above +``` +To make additions interactively via the terminal, use: +```bash +git add -i +``` + +Follow the instructions provided by the terminal and include as many files as you want before committing. + +Now that Git is keeping an eye on all your files, any changes you make (and want them to be recorded in this file's timeline) will be detected. To make sure your changes are recorded, "commit" the changed file with a comment so you can remember what the difference is in that version. + +```bash +git commit -m "it's awesome now" +``` + +A `commit` only updates the local repository if you are working locally, or the remote repository if you are working remotely. To synchronize the two repositories, you must either `push` updates to the remote repository or `pull` updates to the local repository. +```bash +git push origin master +#"Git, please take the updated files to the remote repository 'origin', on the 'main' branch." + +git pull +#"Git, please bring the updated files from the remote repository to my local repository" +``` +### How to track changes in my files? +Check the changes in the content of the files (e.g. new lines added): +```bash +git diff +``` + +Check the files and their changes that are in the stage area: +```bash +git diff --staged +``` +If you are lost between the different versions of your files, check the commit history! :) +```bash +git log # history of project commits since the beginning +git log -p # detailed historic of commits (i.e. git log + git diff) +``` + +Depending on the size of the changes, the log may be very large and you will need to press "return" to each page to see all the changes. At the end you will see `(END)`, then press the letter 'q' to finish reading. +If you only want to check the latest commits, limit the list with `git log -p -1` (replace the 1 with the number of commits you wish to see). You can also check out the entire change history of the working directories with the Git viewer with `gitk`. Isn't that cool! + +### Working with branches +*Branches* are ramifications of other timelines. They are very useful when you need to test or work on large changes without changing what is on the main branch. It is very important to maintain branches in your collaborative work, because it reduces the chance of the main branch suffering accidental major changes and simplifies the management of file versions. + +```bash +git show-branch -a # lists all branches + +git branch name_of_branch # creates a new branch + +git checkout name_of_branch # transfers the workspace to the new branch + +git checkout -b name_of_branch # creates a branch and transfers the workspace +``` +When all the changes you have made to your branch are done and you think it is time to merge them into the `main` (or any other branch), move to the target branch and request a merge: + +```bash +git merge new_branch # merges the changes from 'new_branch' to 'main' +``` + +If you no longer need the branch and want to delete it, use the `git branch -d new_branch` command. +It can often happen that your working branch is not up to date with the `main`. This can be a problem if the `main` has important updates for the development of your project on the branch. To bring the `main` updates to your branch, follow these steps: +1. Check if your workspace is on the `main` branch. If not, transfer it: +```bash +git checkout master +``` +2. On the `main`, update your local directory: +```bash +git pull +``` +3. After updating your local directory, move to your branch, merge the `main` updates into your branch and upload to the remote repository: +```bash +git checkout your-branch +git merge main your-branch +git push +``` +That's it! Now your branch contains everything that was new in the `main`. :) + +## Oh, my Git! D= +Did you mess up commits? Want to revert a change? Don't despair! +If you made a commit and regret it, but don't even remember which commit it was (["Find out commits associated for a specific file"](http://stackoverflow.com/questions/3701404/list-all-commits-for-a-specific-file)): + +```bash +git log -p filename` +``` +If you want to include new edits to the last commit, replacing it: +```bash +git commit --amend -m "message" +``` + +If you want to remove any file from the stage area after a `git add .`: + +```bash +git reset HEAD new_file.R +``` + +But if you want to remove it from your *working tree* and the set of added files: + +```bash +git rm new_file.R +``` + +If all that goes wrong, try the following (tips taken [from here](https://stackoverflow.com/questions/23068790/git-revert-certain-files)): + +```bash +git revert --no-commit <commit hash> # Revert, but don't commit yet +git reset # Take everything from the stage area +git add yourFilesToRevert # Add files to revert +git commit -m "commit message" +git reset --hard # Undo changes not commited +``` + +If you want to remove all local changes and commits, retrieve the most recent history from the server and point to your local branch `main` like this: +```bash +git fetch origin +git reset --hard origin/master +``` + +That's it! There's ***a lot more*** in the git world, but I hope this guide can help you on your version control journey. + +**Remember**: keep the `main` as untouched as possible, work with branches to test your ideas, and always `push` your modifications before going to bed. + +#### Suggested reading +* This lesson was transleted from a git guide in Portuguese I wrote with Karlo Guidoni in a study group we promoted at Universidade Federal de Goiás, back in 2017, and we used time and again in our reproducibility trainings. You can take a look in our repository [here](https://github.com/kguidonimartins/studygroup-ufg). + diff --git a/_posts/2021-06-13-unreproducibility-detox/unreproducibility-detox.html b/_posts/2021-06-13-unreproducibility-detox/unreproducibility-detox.html new file mode 100644 index 0000000..8cd66ba --- /dev/null +++ b/_posts/2021-06-13-unreproducibility-detox/unreproducibility-detox.html @@ -0,0 +1,1783 @@ +<!DOCTYPE html> + +<html xmlns="http://www.w3.org/1999/xhtml" lang="" xml:lang=""> + +<head> + <meta charset="utf-8"/> + <meta name="viewport" content="width=device-width, initial-scale=1"/> + <meta http-equiv="X-UA-Compatible" content="IE=Edge,chrome=1"/> + <meta name="generator" content="distill" /> + + <style type="text/css"> + /* Hide doc at startup (prevent jankiness while JS renders/transforms) */ + body { + visibility: hidden; + } + </style> + + <!--radix_placeholder_import_source--> + <!--/radix_placeholder_import_source--> + +<style type="text/css">code{white-space: pre;}</style> +<style type="text/css" data-origin="pandoc"> +pre > code.sourceCode { white-space: pre; position: relative; } +pre > code.sourceCode > span { display: inline-block; line-height: 1.25; } +pre > code.sourceCode > span:empty { height: 1.2em; } +code.sourceCode > span { color: inherit; text-decoration: inherit; } +div.sourceCode { margin: 1em 0; } +pre.sourceCode { margin: 0; } +@media screen { +div.sourceCode { overflow: auto; } +} +@media print { +pre > code.sourceCode { white-space: pre-wrap; } +pre > code.sourceCode > span { text-indent: -5em; padding-left: 5em; } +} +pre.numberSource code + { counter-reset: source-line 0; } +pre.numberSource code > span + { position: relative; left: -4em; counter-increment: source-line; } +pre.numberSource code > span > a:first-child::before + { content: counter(source-line); + position: relative; left: -1em; text-align: right; vertical-align: baseline; + border: none; display: inline-block; + -webkit-touch-callout: none; -webkit-user-select: none; + -khtml-user-select: none; -moz-user-select: none; + -ms-user-select: none; user-select: none; + padding: 0 4px; width: 4em; + color: #aaaaaa; + } +pre.numberSource { margin-left: 3em; border-left: 1px solid #aaaaaa; padding-left: 4px; } +div.sourceCode + { } +@media screen { +pre > code.sourceCode > span > a:first-child::before { text-decoration: underline; } +} +code span.al { color: #ad0000; } /* Alert */ +code span.an { color: #5e5e5e; } /* Annotation */ +code span.at { color: #20794d; } /* Attribute */ +code span.bn { color: #ad0000; } /* BaseN */ +code span.bu { } /* BuiltIn */ +code span.cf { color: #007ba5; } /* ControlFlow */ +code span.ch { color: #20794d; } /* Char */ +code span.cn { color: #8f5902; } /* Constant */ +code span.co { color: #5e5e5e; } /* Comment */ +code span.cv { color: #5e5e5e; font-style: italic; } /* CommentVar */ +code span.do { color: #5e5e5e; font-style: italic; } /* Documentation */ +code span.dt { color: #ad0000; } /* DataType */ +code span.dv { color: #ad0000; } /* DecVal */ +code span.er { color: #ad0000; } /* Error */ +code span.ex { } /* Extension */ +code span.fl { color: #ad0000; } /* Float */ +code span.fu { color: #4758ab; } /* Function */ +code span.im { } /* Import */ +code span.in { color: #5e5e5e; } /* Information */ +code span.kw { color: #007ba5; } /* Keyword */ +code span.op { color: #5e5e5e; } /* Operator */ +code span.ot { color: #007ba5; } /* Other */ +code span.pp { color: #ad0000; } /* Preprocessor */ +code span.sc { color: #20794d; } /* SpecialChar */ +code span.ss { color: #20794d; } /* SpecialString */ +code span.st { color: #20794d; } /* String */ +code span.va { color: #111111; } /* Variable */ +code span.vs { color: #20794d; } /* VerbatimString */ +code span.wa { color: #5e5e5e; font-style: italic; } /* Warning */ +</style> + + <!--radix_placeholder_meta_tags--> + <title>(un)Reproducibility Detox</title> + + <meta property="description" itemprop="description" content="A seven-day detox routine to improve the reproducibility of your projects!"/> + + + <!-- https://schema.org/Article --> + <meta property="article:published" itemprop="datePublished" content="2021-06-13"/> + <meta property="article:created" itemprop="dateCreated" content="2021-06-13"/> + <meta name="article:author" content="Gracielle Higino"/> + + <!-- https://developers.facebook.com/docs/sharing/webmasters#markup --> + <meta property="og:title" content="(un)Reproducibility Detox"/> + <meta property="og:type" content="article"/> + <meta property="og:description" content="A seven-day detox routine to improve the reproducibility of your projects!"/> + <meta property="og:locale" content="en_US"/> + + <!-- https://dev.twitter.com/cards/types/summary --> + <meta property="twitter:card" content="summary"/> + <meta property="twitter:title" content="(un)Reproducibility Detox"/> + <meta property="twitter:description" content="A seven-day detox routine to improve the reproducibility of your projects!"/> + + <!--/radix_placeholder_meta_tags--> + <!--radix_placeholder_rmarkdown_metadata--> + + <script type="text/json" id="radix-rmarkdown-metadata"> + {"type":"list","attributes":{"names":{"type":"character","attributes":{},"value":["title","description","author","preview","categories","date","output"]}},"value":[{"type":"character","attributes":{},"value":["(un)Reproducibility Detox"]},{"type":"character","attributes":{},"value":["A seven-day detox routine to improve the reproducibility of your projects!\n"]},{"type":"list","attributes":{},"value":[{"type":"list","attributes":{"names":{"type":"character","attributes":{},"value":["name"]}},"value":[{"type":"character","attributes":{},"value":["Gracielle Higino"]}]}]},{"type":"character","attributes":{},"value":["thumb.png"]},{"type":"character","attributes":{},"value":["Technical","EN"]},{"type":"character","attributes":{},"value":["06-13-2021"]},{"type":"list","attributes":{"names":{"type":"character","attributes":{},"value":["distill::distill_article"]}},"value":[{"type":"list","attributes":{"names":{"type":"character","attributes":{},"value":["self_contained","toc"]}},"value":[{"type":"logical","attributes":{},"value":[false]},{"type":"logical","attributes":{},"value":[true]}]}]}]} + </script> + <!--/radix_placeholder_rmarkdown_metadata--> + + <script type="text/json" id="radix-resource-manifest"> + {"type":"character","attributes":{},"value":["git_clone.png","unreproducibility-detox_files/anchor-4.2.2/anchor.min.js","unreproducibility-detox_files/bowser-1.9.3/bowser.min.js","unreproducibility-detox_files/distill-2.2.21/template.v2.js","unreproducibility-detox_files/header-attrs-2.7/header-attrs.js","unreproducibility-detox_files/jquery-1.11.3/jquery.min.js","unreproducibility-detox_files/popper-2.6.0/popper.min.js","unreproducibility-detox_files/tippy-6.2.7/tippy-bundle.umd.min.js","unreproducibility-detox_files/tippy-6.2.7/tippy-light-border.css","unreproducibility-detox_files/tippy-6.2.7/tippy.css","unreproducibility-detox_files/tippy-6.2.7/tippy.umd.min.js","unreproducibility-detox_files/webcomponents-2.0.0/webcomponents.js"]} + </script> + <!--radix_placeholder_navigation_in_header--> + <!--/radix_placeholder_navigation_in_header--> + <!--radix_placeholder_distill--> + + <style type="text/css"> + + body { + background-color: white; + } + + .pandoc-table { + width: 100%; + } + + .pandoc-table>caption { + margin-bottom: 10px; + } + + .pandoc-table th:not([align]) { + text-align: left; + } + + .pagedtable-footer { + font-size: 15px; + } + + d-byline .byline { + grid-template-columns: 2fr 2fr; + } + + d-byline .byline h3 { + margin-block-start: 1.5em; + } + + d-byline .byline .authors-affiliations h3 { + margin-block-start: 0.5em; + } + + .authors-affiliations .orcid-id { + width: 16px; + height:16px; + margin-left: 4px; + margin-right: 4px; + vertical-align: middle; + padding-bottom: 2px; + } + + d-title .dt-tags { + margin-top: 1em; + grid-column: text; + } + + .dt-tags .dt-tag { + text-decoration: none; + display: inline-block; + color: rgba(0,0,0,0.6); + padding: 0em 0.4em; + margin-right: 0.5em; + margin-bottom: 0.4em; + font-size: 70%; + border: 1px solid rgba(0,0,0,0.2); + border-radius: 3px; + text-transform: uppercase; + font-weight: 500; + } + + d-article table.gt_table td, + d-article table.gt_table th { + border-bottom: none; + } + + .html-widget { + margin-bottom: 2.0em; + } + + .l-screen-inset { + padding-right: 16px; + } + + .l-screen .caption { + margin-left: 10px; + } + + .shaded { + background: rgb(247, 247, 247); + padding-top: 20px; + padding-bottom: 20px; + border-top: 1px solid rgba(0, 0, 0, 0.1); + border-bottom: 1px solid rgba(0, 0, 0, 0.1); + } + + .shaded .html-widget { + margin-bottom: 0; + border: 1px solid rgba(0, 0, 0, 0.1); + } + + .shaded .shaded-content { + background: white; + } + + .text-output { + margin-top: 0; + line-height: 1.5em; + } + + .hidden { + display: none !important; + } + + d-article { + padding-top: 2.5rem; + padding-bottom: 30px; + } + + d-appendix { + padding-top: 30px; + } + + d-article>p>img { + width: 100%; + } + + d-article h2 { + margin: 1rem 0 1.5rem 0; + } + + d-article h3 { + margin-top: 1.5rem; + } + + d-article iframe { + border: 1px solid rgba(0, 0, 0, 0.1); + margin-bottom: 2.0em; + width: 100%; + } + + /* Tweak code blocks */ + + d-article div.sourceCode code, + d-article pre code { + font-family: Consolas, Monaco, 'Andale Mono', 'Ubuntu Mono', monospace; + } + + d-article pre, + d-article div.sourceCode, + d-article div.sourceCode pre { + overflow: auto; + } + + d-article div.sourceCode { + background-color: white; + } + + d-article div.sourceCode pre { + padding-left: 10px; + font-size: 12px; + border-left: 2px solid rgba(0,0,0,0.1); + } + + d-article pre { + font-size: 12px; + color: black; + background: none; + margin-top: 0; + text-align: left; + white-space: pre; + word-spacing: normal; + word-break: normal; + word-wrap: normal; + line-height: 1.5; + + -moz-tab-size: 4; + -o-tab-size: 4; + tab-size: 4; + + -webkit-hyphens: none; + -moz-hyphens: none; + -ms-hyphens: none; + hyphens: none; + } + + d-article pre a { + border-bottom: none; + } + + d-article pre a:hover { + border-bottom: none; + text-decoration: underline; + } + + d-article details { + grid-column: text; + margin-bottom: 0.8em; + } + + @media(min-width: 768px) { + + d-article pre, + d-article div.sourceCode, + d-article div.sourceCode pre { + overflow: visible !important; + } + + d-article div.sourceCode pre { + padding-left: 18px; + font-size: 14px; + } + + d-article pre { + font-size: 14px; + } + + } + + figure img.external { + background: white; + border: 1px solid rgba(0, 0, 0, 0.1); + box-shadow: 0 1px 8px rgba(0, 0, 0, 0.1); + padding: 18px; + box-sizing: border-box; + } + + /* CSS for d-contents */ + + .d-contents { + grid-column: text; + color: rgba(0,0,0,0.8); + font-size: 0.9em; + padding-bottom: 1em; + margin-bottom: 1em; + padding-bottom: 0.5em; + margin-bottom: 1em; + padding-left: 0.25em; + justify-self: start; + } + + @media(min-width: 1000px) { + .d-contents.d-contents-float { + height: 0; + grid-column-start: 1; + grid-column-end: 4; + justify-self: center; + padding-right: 3em; + padding-left: 2em; + } + } + + .d-contents nav h3 { + font-size: 18px; + margin-top: 0; + margin-bottom: 1em; + } + + .d-contents li { + list-style-type: none + } + + .d-contents nav > ul { + padding-left: 0; + } + + .d-contents ul { + padding-left: 1em + } + + .d-contents nav ul li { + margin-top: 0.6em; + margin-bottom: 0.2em; + } + + .d-contents nav a { + font-size: 13px; + border-bottom: none; + text-decoration: none + color: rgba(0, 0, 0, 0.8); + } + + .d-contents nav a:hover { + text-decoration: underline solid rgba(0, 0, 0, 0.6) + } + + .d-contents nav > ul > li > a { + font-weight: 600; + } + + .d-contents nav > ul > li > ul { + font-weight: inherit; + } + + .d-contents nav > ul > li > ul > li { + margin-top: 0.2em; + } + + + .d-contents nav ul { + margin-top: 0; + margin-bottom: 0.25em; + } + + .d-article-with-toc h2:nth-child(2) { + margin-top: 0; + } + + + /* Figure */ + + .figure { + position: relative; + margin-bottom: 2.5em; + margin-top: 1.5em; + } + + .figure img { + width: 100%; + } + + .figure .caption { + color: rgba(0, 0, 0, 0.6); + font-size: 12px; + line-height: 1.5em; + } + + .figure img.external { + background: white; + border: 1px solid rgba(0, 0, 0, 0.1); + box-shadow: 0 1px 8px rgba(0, 0, 0, 0.1); + padding: 18px; + box-sizing: border-box; + } + + .figure .caption a { + color: rgba(0, 0, 0, 0.6); + } + + .figure .caption b, + .figure .caption strong, { + font-weight: 600; + color: rgba(0, 0, 0, 1.0); + } + + /* Citations */ + + d-article .citation { + color: inherit; + cursor: inherit; + } + + div.hanging-indent{ + margin-left: 1em; text-indent: -1em; + } + + /* Citation hover box */ + + .tippy-box[data-theme~=light-border] { + background-color: rgba(250, 250, 250, 0.95); + } + + .tippy-content > p { + margin-bottom: 0; + padding: 2px; + } + + + /* Tweak 1000px media break to show more text */ + + @media(min-width: 1000px) { + .base-grid, + distill-header, + d-title, + d-abstract, + d-article, + d-appendix, + distill-appendix, + d-byline, + d-footnote-list, + d-citation-list, + distill-footer { + grid-template-columns: [screen-start] 1fr [page-start kicker-start] 80px [middle-start] 50px [text-start kicker-end] 65px 65px 65px 65px 65px 65px 65px 65px [text-end gutter-start] 65px [middle-end] 65px [page-end gutter-end] 1fr [screen-end]; + grid-column-gap: 16px; + } + + .grid { + grid-column-gap: 16px; + } + + d-article { + font-size: 1.06rem; + line-height: 1.7em; + } + figure .caption, .figure .caption, figure figcaption { + font-size: 13px; + } + } + + @media(min-width: 1180px) { + .base-grid, + distill-header, + d-title, + d-abstract, + d-article, + d-appendix, + distill-appendix, + d-byline, + d-footnote-list, + d-citation-list, + distill-footer { + grid-template-columns: [screen-start] 1fr [page-start kicker-start] 60px [middle-start] 60px [text-start kicker-end] 60px 60px 60px 60px 60px 60px 60px 60px [text-end gutter-start] 60px [middle-end] 60px [page-end gutter-end] 1fr [screen-end]; + grid-column-gap: 32px; + } + + .grid { + grid-column-gap: 32px; + } + } + + + /* Get the citation styles for the appendix (not auto-injected on render since + we do our own rendering of the citation appendix) */ + + d-appendix .citation-appendix, + .d-appendix .citation-appendix { + font-size: 11px; + line-height: 15px; + border-left: 1px solid rgba(0, 0, 0, 0.1); + padding-left: 18px; + border: 1px solid rgba(0,0,0,0.1); + background: rgba(0, 0, 0, 0.02); + padding: 10px 18px; + border-radius: 3px; + color: rgba(150, 150, 150, 1); + overflow: hidden; + margin-top: -12px; + white-space: pre-wrap; + word-wrap: break-word; + } + + /* Include appendix styles here so they can be overridden */ + + d-appendix { + contain: layout style; + font-size: 0.8em; + line-height: 1.7em; + margin-top: 60px; + margin-bottom: 0; + border-top: 1px solid rgba(0, 0, 0, 0.1); + color: rgba(0,0,0,0.5); + padding-top: 60px; + padding-bottom: 48px; + } + + d-appendix h3 { + grid-column: page-start / text-start; + font-size: 15px; + font-weight: 500; + margin-top: 1em; + margin-bottom: 0; + color: rgba(0,0,0,0.65); + } + + d-appendix h3 + * { + margin-top: 1em; + } + + d-appendix ol { + padding: 0 0 0 15px; + } + + @media (min-width: 768px) { + d-appendix ol { + padding: 0 0 0 30px; + margin-left: -30px; + } + } + + d-appendix li { + margin-bottom: 1em; + } + + d-appendix a { + color: rgba(0, 0, 0, 0.6); + } + + d-appendix > * { + grid-column: text; + } + + d-appendix > d-footnote-list, + d-appendix > d-citation-list, + d-appendix > distill-appendix { + grid-column: screen; + } + + /* Include footnote styles here so they can be overridden */ + + d-footnote-list { + contain: layout style; + } + + d-footnote-list > * { + grid-column: text; + } + + d-footnote-list a.footnote-backlink { + color: rgba(0,0,0,0.3); + padding-left: 0.5em; + } + + + + /* Anchor.js */ + + .anchorjs-link { + /*transition: all .25s linear; */ + text-decoration: none; + border-bottom: none; + } + *:hover > .anchorjs-link { + margin-left: -1.125em !important; + text-decoration: none; + border-bottom: none; + } + + /* Social footer */ + + .social_footer { + margin-top: 30px; + margin-bottom: 0; + color: rgba(0,0,0,0.67); + } + + .disqus-comments { + margin-right: 30px; + } + + .disqus-comment-count { + border-bottom: 1px solid rgba(0, 0, 0, 0.4); + cursor: pointer; + } + + #disqus_thread { + margin-top: 30px; + } + + .article-sharing a { + border-bottom: none; + margin-right: 8px; + } + + .article-sharing a:hover { + border-bottom: none; + } + + .sidebar-section.subscribe { + font-size: 12px; + line-height: 1.6em; + } + + .subscribe p { + margin-bottom: 0.5em; + } + + + .article-footer .subscribe { + font-size: 15px; + margin-top: 45px; + } + + + .sidebar-section.custom { + font-size: 12px; + line-height: 1.6em; + } + + .custom p { + margin-bottom: 0.5em; + } + + /* Styles for listing layout (hide title) */ + .layout-listing d-title, .layout-listing .d-title { + display: none; + } + + /* Styles for posts lists (not auto-injected) */ + + + .posts-with-sidebar { + padding-left: 45px; + padding-right: 45px; + } + + .posts-list .description h2, + .posts-list .description p { + font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, "Fira Sans", "Droid Sans", "Helvetica Neue", Arial, sans-serif; + } + + .posts-list .description h2 { + font-weight: 700; + border-bottom: none; + padding-bottom: 0; + } + + .posts-list h2.post-tag { + border-bottom: 1px solid rgba(0, 0, 0, 0.2); + padding-bottom: 12px; + } + .posts-list { + margin-top: 60px; + margin-bottom: 24px; + } + + .posts-list .post-preview { + text-decoration: none; + overflow: hidden; + display: block; + border-bottom: 1px solid rgba(0, 0, 0, 0.1); + padding: 24px 0; + } + + .post-preview-last { + border-bottom: none !important; + } + + .posts-list .posts-list-caption { + grid-column: screen; + font-weight: 400; + } + + .posts-list .post-preview h2 { + margin: 0 0 6px 0; + line-height: 1.2em; + font-style: normal; + font-size: 24px; + } + + .posts-list .post-preview p { + margin: 0 0 12px 0; + line-height: 1.4em; + font-size: 16px; + } + + .posts-list .post-preview .thumbnail { + box-sizing: border-box; + margin-bottom: 24px; + position: relative; + max-width: 500px; + } + .posts-list .post-preview img { + width: 100%; + display: block; + } + + .posts-list .metadata { + font-size: 12px; + line-height: 1.4em; + margin-bottom: 18px; + } + + .posts-list .metadata > * { + display: inline-block; + } + + .posts-list .metadata .publishedDate { + margin-right: 2em; + } + + .posts-list .metadata .dt-authors { + display: block; + margin-top: 0.3em; + margin-right: 2em; + } + + .posts-list .dt-tags { + display: block; + line-height: 1em; + } + + .posts-list .dt-tags .dt-tag { + display: inline-block; + color: rgba(0,0,0,0.6); + padding: 0.3em 0.4em; + margin-right: 0.2em; + margin-bottom: 0.4em; + font-size: 60%; + border: 1px solid rgba(0,0,0,0.2); + border-radius: 3px; + text-transform: uppercase; + font-weight: 500; + } + + .posts-list img { + opacity: 1; + } + + .posts-list img[data-src] { + opacity: 0; + } + + .posts-more { + clear: both; + } + + + .posts-sidebar { + font-size: 16px; + } + + .posts-sidebar h3 { + font-size: 16px; + margin-top: 0; + margin-bottom: 0.5em; + font-weight: 400; + text-transform: uppercase; + } + + .sidebar-section { + margin-bottom: 30px; + } + + .categories ul { + list-style-type: none; + margin: 0; + padding: 0; + } + + .categories li { + color: rgba(0, 0, 0, 0.8); + margin-bottom: 0; + } + + .categories li>a { + border-bottom: none; + } + + .categories li>a:hover { + border-bottom: 1px solid rgba(0, 0, 0, 0.4); + } + + .categories .active { + font-weight: 600; + } + + .categories .category-count { + color: rgba(0, 0, 0, 0.4); + } + + + @media(min-width: 768px) { + .posts-list .post-preview h2 { + font-size: 26px; + } + .posts-list .post-preview .thumbnail { + float: right; + width: 30%; + margin-bottom: 0; + } + .posts-list .post-preview .description { + float: left; + width: 45%; + } + .posts-list .post-preview .metadata { + float: left; + width: 20%; + margin-top: 8px; + } + .posts-list .post-preview p { + margin: 0 0 12px 0; + line-height: 1.5em; + font-size: 16px; + } + .posts-with-sidebar .posts-list { + float: left; + width: 75%; + } + .posts-with-sidebar .posts-sidebar { + float: right; + width: 20%; + margin-top: 60px; + padding-top: 24px; + padding-bottom: 24px; + } + } + + + /* Improve display for browsers without grid (IE/Edge <= 15) */ + + .downlevel { + line-height: 1.6em; + font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, "Fira Sans", "Droid Sans", "Helvetica Neue", Arial, sans-serif; + margin: 0; + } + + .downlevel .d-title { + padding-top: 6rem; + padding-bottom: 1.5rem; + } + + .downlevel .d-title h1 { + font-size: 50px; + font-weight: 700; + line-height: 1.1em; + margin: 0 0 0.5rem; + } + + .downlevel .d-title p { + font-weight: 300; + font-size: 1.2rem; + line-height: 1.55em; + margin-top: 0; + } + + .downlevel .d-byline { + padding-top: 0.8em; + padding-bottom: 0.8em; + font-size: 0.8rem; + line-height: 1.8em; + } + + .downlevel .section-separator { + border: none; + border-top: 1px solid rgba(0, 0, 0, 0.1); + } + + .downlevel .d-article { + font-size: 1.06rem; + line-height: 1.7em; + padding-top: 1rem; + padding-bottom: 2rem; + } + + + .downlevel .d-appendix { + padding-left: 0; + padding-right: 0; + max-width: none; + font-size: 0.8em; + line-height: 1.7em; + margin-bottom: 0; + color: rgba(0,0,0,0.5); + padding-top: 40px; + padding-bottom: 48px; + } + + .downlevel .footnotes ol { + padding-left: 13px; + } + + .downlevel .base-grid, + .downlevel .distill-header, + .downlevel .d-title, + .downlevel .d-abstract, + .downlevel .d-article, + .downlevel .d-appendix, + .downlevel .distill-appendix, + .downlevel .d-byline, + .downlevel .d-footnote-list, + .downlevel .d-citation-list, + .downlevel .distill-footer, + .downlevel .appendix-bottom, + .downlevel .posts-container { + padding-left: 40px; + padding-right: 40px; + } + + @media(min-width: 768px) { + .downlevel .base-grid, + .downlevel .distill-header, + .downlevel .d-title, + .downlevel .d-abstract, + .downlevel .d-article, + .downlevel .d-appendix, + .downlevel .distill-appendix, + .downlevel .d-byline, + .downlevel .d-footnote-list, + .downlevel .d-citation-list, + .downlevel .distill-footer, + .downlevel .appendix-bottom, + .downlevel .posts-container { + padding-left: 150px; + padding-right: 150px; + max-width: 900px; + } + } + + .downlevel pre code { + display: block; + border-left: 2px solid rgba(0, 0, 0, .1); + padding: 0 0 0 20px; + font-size: 14px; + } + + .downlevel code, .downlevel pre { + color: black; + background: none; + font-family: Consolas, Monaco, 'Andale Mono', 'Ubuntu Mono', monospace; + text-align: left; + white-space: pre; + word-spacing: normal; + word-break: normal; + word-wrap: normal; + line-height: 1.5; + + -moz-tab-size: 4; + -o-tab-size: 4; + tab-size: 4; + + -webkit-hyphens: none; + -moz-hyphens: none; + -ms-hyphens: none; + hyphens: none; + } + + .downlevel .posts-list .post-preview { + color: inherit; + } + + + + </style> + + <script type="application/javascript"> + + function is_downlevel_browser() { + if (bowser.isUnsupportedBrowser({ msie: "12", msedge: "16"}, + window.navigator.userAgent)) { + return true; + } else { + return window.load_distill_framework === undefined; + } + } + + // show body when load is complete + function on_load_complete() { + + // add anchors + if (window.anchors) { + window.anchors.options.placement = 'left'; + window.anchors.add('d-article > h2, d-article > h3, d-article > h4, d-article > h5'); + } + + + // set body to visible + document.body.style.visibility = 'visible'; + + // force redraw for leaflet widgets + if (window.HTMLWidgets) { + var maps = window.HTMLWidgets.findAll(".leaflet"); + $.each(maps, function(i, el) { + var map = this.getMap(); + map.invalidateSize(); + map.eachLayer(function(layer) { + if (layer instanceof L.TileLayer) + layer.redraw(); + }); + }); + } + + // trigger 'shown' so htmlwidgets resize + $('d-article').trigger('shown'); + } + + function init_distill() { + + init_common(); + + // create front matter + var front_matter = $('<d-front-matter></d-front-matter>'); + $('#distill-front-matter').wrap(front_matter); + + // create d-title + $('.d-title').changeElementType('d-title'); + + // create d-byline + var byline = $('<d-byline></d-byline>'); + $('.d-byline').replaceWith(byline); + + // create d-article + var article = $('<d-article></d-article>'); + $('.d-article').wrap(article).children().unwrap(); + + // move posts container into article + $('.posts-container').appendTo($('d-article')); + + // create d-appendix + $('.d-appendix').changeElementType('d-appendix'); + + // flag indicating that we have appendix items + var appendix = $('.appendix-bottom').children('h3').length > 0; + + // replace footnotes with <d-footnote> + $('.footnote-ref').each(function(i, val) { + appendix = true; + var href = $(this).attr('href'); + var id = href.replace('#', ''); + var fn = $('#' + id); + var fn_p = $('#' + id + '>p'); + fn_p.find('.footnote-back').remove(); + var text = fn_p.html(); + var dtfn = $('<d-footnote></d-footnote>'); + dtfn.html(text); + $(this).replaceWith(dtfn); + }); + // remove footnotes + $('.footnotes').remove(); + + // move refs into #references-listing + $('#references-listing').replaceWith($('#refs')); + + $('h1.appendix, h2.appendix').each(function(i, val) { + $(this).changeElementType('h3'); + }); + $('h3.appendix').each(function(i, val) { + var id = $(this).attr('id'); + $('.d-contents a[href="#' + id + '"]').parent().remove(); + appendix = true; + $(this).nextUntil($('h1, h2, h3')).addBack().appendTo($('d-appendix')); + }); + + // show d-appendix if we have appendix content + $("d-appendix").css('display', appendix ? 'grid' : 'none'); + + // localize layout chunks to just output + $('.layout-chunk').each(function(i, val) { + + // capture layout + var layout = $(this).attr('data-layout'); + + // apply layout to markdown level block elements + var elements = $(this).children().not('details, div.sourceCode, pre, script'); + elements.each(function(i, el) { + var layout_div = $('<div class="' + layout + '"></div>'); + if (layout_div.hasClass('shaded')) { + var shaded_content = $('<div class="shaded-content"></div>'); + $(this).wrap(shaded_content); + $(this).parent().wrap(layout_div); + } else { + $(this).wrap(layout_div); + } + }); + + + // unwrap the layout-chunk div + $(this).children().unwrap(); + }); + + // remove code block used to force highlighting css + $('.distill-force-highlighting-css').parent().remove(); + + // remove empty line numbers inserted by pandoc when using a + // custom syntax highlighting theme + $('code.sourceCode a:empty').remove(); + + // load distill framework + load_distill_framework(); + + // wait for window.distillRunlevel == 4 to do post processing + function distill_post_process() { + + if (!window.distillRunlevel || window.distillRunlevel < 4) + return; + + // hide author/affiliations entirely if we have no authors + var front_matter = JSON.parse($("#distill-front-matter").html()); + var have_authors = front_matter.authors && front_matter.authors.length > 0; + if (!have_authors) + $('d-byline').addClass('hidden'); + + // article with toc class + $('.d-contents').parent().addClass('d-article-with-toc'); + + // strip links that point to # + $('.authors-affiliations').find('a[href="#"]').removeAttr('href'); + + // add orcid ids + $('.authors-affiliations').find('.author').each(function(i, el) { + var orcid_id = front_matter.authors[i].orcidID; + if (orcid_id) { + var a = $('<a></a>'); + a.attr('href', 'https://orcid.org/' + orcid_id); + var img = $('<img></img>'); + img.addClass('orcid-id'); + img.attr('alt', 'ORCID ID'); + img.attr('src','data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA2ZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYwIDYxLjEzNDc3NywgMjAxMC8wMi8xMi0xNzozMjowMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDo1N0NEMjA4MDI1MjA2ODExOTk0QzkzNTEzRjZEQTg1NyIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDozM0NDOEJGNEZGNTcxMUUxODdBOEVCODg2RjdCQ0QwOSIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDozM0NDOEJGM0ZGNTcxMUUxODdBOEVCODg2RjdCQ0QwOSIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgQ1M1IE1hY2ludG9zaCI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOkZDN0YxMTc0MDcyMDY4MTE5NUZFRDc5MUM2MUUwNEREIiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOjU3Q0QyMDgwMjUyMDY4MTE5OTRDOTM1MTNGNkRBODU3Ii8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+84NovQAAAR1JREFUeNpiZEADy85ZJgCpeCB2QJM6AMQLo4yOL0AWZETSqACk1gOxAQN+cAGIA4EGPQBxmJA0nwdpjjQ8xqArmczw5tMHXAaALDgP1QMxAGqzAAPxQACqh4ER6uf5MBlkm0X4EGayMfMw/Pr7Bd2gRBZogMFBrv01hisv5jLsv9nLAPIOMnjy8RDDyYctyAbFM2EJbRQw+aAWw/LzVgx7b+cwCHKqMhjJFCBLOzAR6+lXX84xnHjYyqAo5IUizkRCwIENQQckGSDGY4TVgAPEaraQr2a4/24bSuoExcJCfAEJihXkWDj3ZAKy9EJGaEo8T0QSxkjSwORsCAuDQCD+QILmD1A9kECEZgxDaEZhICIzGcIyEyOl2RkgwAAhkmC+eAm0TAAAAABJRU5ErkJggg=='); + a.append(img); + $(this).append(a); + } + }); + + // hide elements of author/affiliations grid that have no value + function hide_byline_column(caption) { + $('d-byline').find('h3:contains("' + caption + '")').parent().css('visibility', 'hidden'); + } + + // affiliations + var have_affiliations = false; + for (var i = 0; i<front_matter.authors.length; ++i) { + var author = front_matter.authors[i]; + if (author.affiliation !== " ") { + have_affiliations = true; + break; + } + } + if (!have_affiliations) + $('d-byline').find('h3:contains("Affiliations")').css('visibility', 'hidden'); + + // published date + if (!front_matter.publishedDate) + hide_byline_column("Published"); + + // document object identifier + var doi = $('d-byline').find('h3:contains("DOI")'); + var doi_p = doi.next().empty(); + if (!front_matter.doi) { + // if we have a citation and valid citationText then link to that + if ($('#citation').length > 0 && front_matter.citationText) { + doi.html('Citation'); + $('<a href="#citation"></a>') + .text(front_matter.citationText) + .appendTo(doi_p); + } else { + hide_byline_column("DOI"); + } + } else { + $('<a></a>') + .attr('href', "https://doi.org/" + front_matter.doi) + .html(front_matter.doi) + .appendTo(doi_p); + } + + // change plural form of authors/affiliations + if (front_matter.authors.length === 1) { + var grid = $('.authors-affiliations'); + grid.children('h3:contains("Authors")').text('Author'); + grid.children('h3:contains("Affiliations")').text('Affiliation'); + } + + // remove d-appendix and d-footnote-list local styles + $('d-appendix > style:first-child').remove(); + $('d-footnote-list > style:first-child').remove(); + + // move appendix-bottom entries to the bottom + $('.appendix-bottom').appendTo('d-appendix').children().unwrap(); + $('.appendix-bottom').remove(); + + // hoverable references + $('span.citation[data-cites]').each(function() { + var refHtml = $('#ref-' + $(this).attr('data-cites')).html(); + window.tippy(this, { + allowHTML: true, + content: refHtml, + maxWidth: 500, + interactive: true, + interactiveBorder: 10, + theme: 'light-border', + placement: 'bottom-start' + }); + }); + + // clear polling timer + clearInterval(tid); + + // show body now that everything is ready + on_load_complete(); + } + + var tid = setInterval(distill_post_process, 50); + distill_post_process(); + + } + + function init_downlevel() { + + init_common(); + + // insert hr after d-title + $('.d-title').after($('<hr class="section-separator"/>')); + + // check if we have authors + var front_matter = JSON.parse($("#distill-front-matter").html()); + var have_authors = front_matter.authors && front_matter.authors.length > 0; + + // manage byline/border + if (!have_authors) + $('.d-byline').remove(); + $('.d-byline').after($('<hr class="section-separator"/>')); + $('.d-byline a').remove(); + + // remove toc + $('.d-contents').remove(); + + // move appendix elements + $('h1.appendix, h2.appendix').each(function(i, val) { + $(this).changeElementType('h3'); + }); + $('h3.appendix').each(function(i, val) { + $(this).nextUntil($('h1, h2, h3')).addBack().appendTo($('.d-appendix')); + }); + + + // inject headers into references and footnotes + var refs_header = $('<h3></h3>'); + refs_header.text('References'); + $('#refs').prepend(refs_header); + + var footnotes_header = $('<h3></h3'); + footnotes_header.text('Footnotes'); + $('.footnotes').children('hr').first().replaceWith(footnotes_header); + + // move appendix-bottom entries to the bottom + $('.appendix-bottom').appendTo('.d-appendix').children().unwrap(); + $('.appendix-bottom').remove(); + + // remove appendix if it's empty + if ($('.d-appendix').children().length === 0) + $('.d-appendix').remove(); + + // prepend separator above appendix + $('.d-appendix').before($('<hr class="section-separator" style="clear: both"/>')); + + // trim code + $('pre>code').each(function(i, val) { + $(this).html($.trim($(this).html())); + }); + + // move posts-container right before article + $('.posts-container').insertBefore($('.d-article')); + + $('body').addClass('downlevel'); + + on_load_complete(); + } + + + function init_common() { + + // jquery plugin to change element types + (function($) { + $.fn.changeElementType = function(newType) { + var attrs = {}; + + $.each(this[0].attributes, function(idx, attr) { + attrs[attr.nodeName] = attr.nodeValue; + }); + + this.replaceWith(function() { + return $("<" + newType + "/>", attrs).append($(this).contents()); + }); + }; + })(jQuery); + + // prevent underline for linked images + $('a > img').parent().css({'border-bottom' : 'none'}); + + // mark non-body figures created by knitr chunks as 100% width + $('.layout-chunk').each(function(i, val) { + var figures = $(this).find('img, .html-widget'); + if ($(this).attr('data-layout') !== "l-body") { + figures.css('width', '100%'); + } else { + figures.css('max-width', '100%'); + figures.filter("[width]").each(function(i, val) { + var fig = $(this); + fig.css('width', fig.attr('width') + 'px'); + }); + + } + }); + + // auto-append index.html to post-preview links in file: protocol + // and in rstudio ide preview + $('.post-preview').each(function(i, val) { + if (window.location.protocol === "file:") + $(this).attr('href', $(this).attr('href') + "index.html"); + }); + + // get rid of index.html references in header + if (window.location.protocol !== "file:") { + $('.distill-site-header a[href]').each(function(i,val) { + $(this).attr('href', $(this).attr('href').replace("index.html", "./")); + }); + } + + // add class to pandoc style tables + $('tr.header').parent('thead').parent('table').addClass('pandoc-table'); + $('.kable-table').children('table').addClass('pandoc-table'); + + // add figcaption style to table captions + $('caption').parent('table').addClass("figcaption"); + + // initialize posts list + if (window.init_posts_list) + window.init_posts_list(); + + // implmement disqus comment link + $('.disqus-comment-count').click(function() { + window.headroom_prevent_pin = true; + $('#disqus_thread').toggleClass('hidden'); + if (!$('#disqus_thread').hasClass('hidden')) { + var offset = $(this).offset(); + $(window).resize(); + $('html, body').animate({ + scrollTop: offset.top - 35 + }); + } + }); + } + + document.addEventListener('DOMContentLoaded', function() { + if (is_downlevel_browser()) + init_downlevel(); + else + window.addEventListener('WebComponentsReady', init_distill); + }); + + </script> + + <!--/radix_placeholder_distill--> + <script src="unreproducibility-detox_files/header-attrs-2.7/header-attrs.js"></script> + <script src="unreproducibility-detox_files/jquery-1.11.3/jquery.min.js"></script> + <script src="unreproducibility-detox_files/popper-2.6.0/popper.min.js"></script> + <link href="unreproducibility-detox_files/tippy-6.2.7/tippy.css" rel="stylesheet" /> + <link href="unreproducibility-detox_files/tippy-6.2.7/tippy-light-border.css" rel="stylesheet" /> + <script src="unreproducibility-detox_files/tippy-6.2.7/tippy.umd.min.js"></script> + <script src="unreproducibility-detox_files/anchor-4.2.2/anchor.min.js"></script> + <script src="unreproducibility-detox_files/bowser-1.9.3/bowser.min.js"></script> + <script src="unreproducibility-detox_files/webcomponents-2.0.0/webcomponents.js"></script> + <script src="unreproducibility-detox_files/distill-2.2.21/template.v2.js"></script> + <!--radix_placeholder_site_in_header--> + <!--/radix_placeholder_site_in_header--> + + +</head> + +<body> + +<!--radix_placeholder_front_matter--> + +<script id="distill-front-matter" type="text/json"> +{"title":"(un)Reproducibility Detox","description":"A seven-day detox routine to improve the reproducibility of your projects!","authors":[{"author":"Gracielle Higino","authorURL":"#","affiliation":" ","affiliationURL":"#","orcidID":""}],"publishedDate":"2021-06-13T00:00:00.000-04:00","citationText":"Higino, 2021"} +</script> + +<!--/radix_placeholder_front_matter--> +<!--radix_placeholder_navigation_before_body--> +<!--/radix_placeholder_navigation_before_body--> +<!--radix_placeholder_site_before_body--> +<!--/radix_placeholder_site_before_body--> + +<div class="d-title"> +<h1>(un)Reproducibility Detox</h1> +<!--radix_placeholder_categories--> +<div class="dt-tags"> +<div class="dt=tag">Technical</div> +<div class="dt=tag">EN</div> +</div> +<!--/radix_placeholder_categories--> +<p><p>A seven-day detox routine to improve the reproducibility of your projects!</p></p> +</div> + +<div class="d-byline"> + + Gracielle Higino + +<br/>06-13-2021 +</div> + +<div class="d-article"> +<div class="d-contents d-contents-float"> +<nav class="l-text toc figcaption" id="TOC"> +<h3>Contents</h3> +<ul> +<li><a href="#sunday---reflect-about-open-science">Sunday - reflect about open science</a></li> +<li><a href="#monday---design-a-project">Monday - design a project</a> +<ul> +<li><a href="#give-cool-names">Give cool names</a></li> +<li><a href="#licenses">Licenses</a></li> +</ul></li> +<li><a href="#tuesday---control-your-versions">Tuesday - control your versions</a> +<ul> +<li><a href="#what-is-version-control-why-is-it-cool-to-use">What is version control? Why is it cool to use?</a></li> +<li><a href="#a-little-bit-of-git-vocabulary-and-architecture">A little bit of Git vocabulary and architecture</a> +<ul> +<li><a href="#the-repository-main-timeline">The repository main timeline</a></li> +<li><a href="#branches-from-the-master-branch">Branches from the master: branch</a></li> +<li><a href="#copying-repositories-from-the-cloud-to-the-computer-or-working-offline">Copying repositories from the ‘cloud’ to the computer (or, working offline):</a></li> +<li><a href="#copying-online-repositories">Copying online repositories</a></li> +<li><a href="#general-workflow-vocabulary">General workflow vocabulary</a></li> +</ul></li> +<li><a href="#working-remotely">Working remotely</a></li> +<li><a href="#working-locally">Working locally</a></li> +<li><a href="#basic-commands">Basic Commands</a> +<ul> +<li><a href="#how-to-track-changes-in-my-files">How to track changes in my files?</a></li> +<li><a href="#working-with-branches">Working with branches</a></li> +</ul></li> +<li><a href="#oh-my-git-d">Oh, my Git! D=</a></li> +</ul></li> +</ul> +</nav> +</div> +<p>Have you ever felt lost in your own projects? Do you feel like your workflow is quite effective, but it’s not transparent enough? This detox routine can help you regain control over your (very messy - I know!) project structure and discover a marvelous world of collaboration and contribution in open science!</p> +<p>Reproducibility is a principle that resonates to the most used concept of science, assuring that a hypothesis is <em>testable</em>. It means that the process to test an idea - from data to results - can be repeated. It is different from <em>replicability</em>, which means the process can be repeated, but using different data.</p> +<p>In this detox week we will reflect and experiment with open science, using our skills for project design, version control, virtual environments and automation. We will reevaluate our current workflow and fine-tune where needed, to reach the most reproducible workflow possible for us.</p> +<hr /> +<h1 id="sunday---reflect-about-open-science">Sunday - reflect about open science</h1> +<blockquote> +<h3 id="self-care-task-of-the-day"><strong>Self-care task of the day</strong></h3> +<p>Go to a calm place. No need of silence, just a place where you can just be still. Set a timer for 5min. Take a deep breath in, and a deep breath out. Give your body a scan-through: concentrate in each centimeter of it and try to be aware of how does your body feel there. Everytime you find a contracted muscle, try to relax it. Pay attention to the sounds around you. When the timer is off, take another deep breath.</p> +</blockquote> +<p>On the first day of this detox journey, let’s reflect on our way to work and how it could be better. Take a moment of your day and think about:</p> +<ol type="1"> +<li><p>What is your current workflow when you develop a project? Take a pen and paper (physical or digital) and sketch your usual process, step-by-step. Add as much details as you can (and take this chance to get creative!). Make sure to save this sketch in a place that is easy to access, you’re gonna need it in the following days.</p></li> +<li><p>How do we build trust and facilitate collaboration in our projects?</p></li> +<li><p>How can be inclusive by design - what can we do in our projects to invite collaboration?</p></li> +<li><p>Is reproducibility openness? If a project is reproducible, does that mean it is accessible?</p></li> +</ol> +<h4 id="suggested-reading">Suggested reading</h4> +<ul> +<li><a href="https://www.nature.com/articles/s41559-017-0160">Our path to better science in less time using open data science tools</a></li> +</ul> +<hr /> +<h1 id="monday---design-a-project">Monday - design a project</h1> +<blockquote> +<h3 id="self-care-task-of-the-day-1"><strong>Self-care task of the day</strong></h3> +<p>Go to somewhere where you feel in peace or happy. Take paper and something to write - even better if it’s colorful! Set a timer for 30 minutes and doodle something that reflects how you are feeling, something that represents a happy thought you had today, or something that represents the place you are right now.</p> +</blockquote> +<p>In this step we will squeeze our creativity out of our brains to come up with a project that is <strong>reproducible by design</strong>. Is there a hierarchy between your folders? Which folders do you need? Should you mix raw and clean data? Did this last question offend you?</p> +<p>There are a couple of tools you can use to automatically create a project structure for you, such as RProject and its combination with the R package <a href="https://kguidonimartins.github.io/minimalTemplate/"><code>minimaltemplate</code></a>, or the <a href="https://github.com/invenia/PkgTemplates.jl/"><code>PkgTemplate.jl</code></a> for development of packages in Julia.</p> +<p>The main things you need to reflect on when designing your open project are:</p> +<ol type="1"> +<li><p>Will I use data? If yes, will I need to treat/clean/subset them?</p></li> +<li><p>Will I use code?</p></li> +<li><p><a href="#licenses">Will it be shared? If yes, how? Do I want people to cite me, for exemple?</a></p></li> +<li><p>Will I need to generate manuscripts/reports/figures?</p></li> +<li><p>Will it be useful for people to know how to navigate my project? Will I welcome collaborators and contributors?</p></li> +<li><p><a href="#give-cool-names">What is the naming system I will use - for both folders and files?</a></p></li> +</ol> +<p>See an example of a structured project below (adapted from <a href="https://kguidonimartins.github.io/minimalTemplate/">here</a>):</p> +<pre><code>## /home/awesome-manuscript +## ├── .github +## ├── .gitignore +## ├── .travis.yml +## ├── DESCRIPTION +## ├── LICENSE.md +## ├── R +## │ ├── analysis.Rmd +## │ ├── local_functions.R +## │ └── package_list.R +## ├── README.md +## ├── awesome-manuscript.Rproj +## ├── data +## │ ├── clean +## │ ├── raw +## │ └── temp +## ├── main-script.Rmd +## ├── manuscript +## │ └── sources +## │ ├── ecology-letters.csl +## │ ├── library.bib +## │ ├── packages.bib +## │ └── template.docx +## ├── output +## │ ├── figures +## │ ├── results +## │ └── supp +## └── todo.txt</code></pre> +<p>Very nice, but the <strong>TL;DR version</strong> is:</p> +<ul> +<li><p>Consider having a dedicated folder for your <strong>data</strong> and split them into clean and raw data (alternatively, you can store your cleaned data inside an “output” folder, where other sorts of outputs will also be). If needed, create another folder for “sandbox data” - we need to have room for creativity in science! Also make sure to store the metadata in these folders, alongside their respective data, where they belong.</p></li> +<li><p>If you will produce <strong>reports/manuscripts</strong>, maybe it’s a good idea to have a dedicated folder for them too. Store there everything you’ll need to render your files, such as bibliography and templates.</p></li> +<li><p><strong>Figures</strong> should go in their own folder too.</p></li> +<li><p><strong>Code</strong> usually go in their own folder too, but if the code is about making the project work and putting everything together, it should go in the root.</p></li> +</ul> +<h3 id="give-cool-names">Give cool names</h3> +<p>Your project is so awesome that it needs the coolest names in its folders and files! <strong>Good names are informative and consistent</strong>. It is a hard exercise, but we do get better with time. The main things to think about when naming your things are:</p> +<ol type="1"> +<li><p>Does it describe what’s inside without being verbose?</p></li> +<li><p>Does it allow for correct ordering?</p></li> +<li><p>Is it easily searchable (a.k.a., machine readable)? Will my computer crash if I need to change to this directory?</p></li> +</ol> +<h3 id="licenses">Licenses</h3> +<p>An important part of making your work reproducible by anyone is to share it, and to do that safely, it is important to connect your project to a license. This is a statement about what and how people can use any part of your project. Chosing a license can be a difficult task at first, but if your projects have a common structure, they should be ok with the same license. When chosing a license, it is important to ask yourself (and your collaborators) the following questions:</p> +<ol type="1"> +<li><p>Do we want people to give us credit for our work when this projects is distributed, derived, performed or displayed?</p></li> +<li><p>Do we want the derivatives of this project be shared with the same license that we chose?</p></li> +<li><p>Are we ok with this project being used for commercial purposes?</p></li> +</ol> +<p>A combination of your answers will guide you to find the best license for your project which is adequate for your community. There are a couple of online tools that can help you with that! For example, if you are sharing creative work, you can consult the <a href="https://creativecommons.org/choose/">Creative Commons - Choose a License</a> tool. For other open source software licenses, you can take a look at the <a href="http://choosealicense.com/">Choose A License</a> website. The cool thing is: you can also <strong>create</strong> your own license! In any case, once you chose the appropriate license for your project, save it in your project root folder with the name “LICENSE” (as a text file). This way, your version control host system will automatically recognize it and display something like “hey, this project has a license!” when someone finds your project.</p> +<h4 id="suggested-readings">Suggested readings</h4> +<ul> +<li><p><a href="https://mozilla.github.io/open-leadership-training-series/articles/get-your-project-online/sharing-your-work-in-the-open/">Mozilla Open Leaders lesson on sharing your work in the open</a></p></li> +<li><p><a href="https://www.dcc.ac.uk/guidance/how-guides/license-research-data">How to License Research Data</a></p></li> +</ul> +<hr /> +<h1 id="tuesday---control-your-versions">Tuesday - control your versions</h1> +<blockquote> +<h3 id="self-care-task-of-the-day-2"><strong>Self-care task of the day</strong></h3> +</blockquote> +<h2 id="what-is-version-control-why-is-it-cool-to-use">What is version control? Why is it cool to use?</h2> +<p><img src="https://files.realpython.com/media/Introduction-to-Git-and-GitHub-for-Python-Developers_Watermarked_1.83e3183e9aaa.jpg" /></p> +<p>A version control system allows changes made to a file to be recorded in a timeline, and it is possible to retrieve previous versions at any time.</p> +<p>This is possible because with version control you don’t save copies of your work, but its history, avoiding things like this in your working directory:</p> +<pre class="shell"><code>- project/ + |- scripts/ + |- script-v0.1.R + |- script-after-review-from-Princess-Lea.R + |- script-merged.R + |- script-not-working-anymore.R + |- script-wtf.R </code></pre> +<p><a href="https://git-scm.com/">Git</a> is a <em>distributed version control system</em>, which means the snapshots of your work are stored in your local drive, but also can be distributed from the cloud to other developers.</p> +<h2 id="a-little-bit-of-git-vocabulary-and-architecture">A little bit of Git vocabulary and architecture</h2> +<p>The basic architecture we have to deal with is composed of a branches (including one we’ll call “main”, but is sometimes called “master”), clones and forks.<br /> +<img src="https://guides.github.com/activities/hello-world/branching.png" alt="arquitetura git" /></p> +<h3 id="the-repository-main-timeline">The repository main timeline</h3> +<p>The <strong><code>main</code></strong> is the primary timeline of your <strong>repository</strong> (a project with the files required to develop it). There the files will ideally only be changed when strictly necessary, i.e. when a change is critical to the progress of the project.</p> +<h3 id="branches-from-the-master-branch">Branches from the master: branch</h3> +<p>A <strong>branch</strong> <img src="https://raw.githubusercontent.com/mozillascience/friendly-github/master/assets/images/Branch.gif" style="width: 20px;"/> is a ramification from any other timeline. It is like a copy repository within the main repository, which is created to test changes that may or may not be implemented in the <code>main</code> timeline. Ideally, each developer creates a branch to test the changes they deem necessary and submit these changes to their colleagues’ judgment before implementing them in the <code>main</code>.</p> +<h3 id="copying-repositories-from-the-cloud-to-the-computer-or-working-offline">Copying repositories from the ‘cloud’ to the computer (or, working offline):</h3> +<p>Repositories can be created online and many things can be done there. However, in order to work locally on a repository, i.e. to work offline, we need to create a <strong>clone</strong> of the repository we have online. A clone is a synchronised copy of your online repository. Everything you do in your local working directory (corresponding to the clone) will be synchronized with the online repository.</p> +<h3 id="copying-online-repositories">Copying online repositories</h3> +<p>In turn, <strong>forks</strong> <img src="https://raw.githubusercontent.com/mozillascience/friendly-github/master/assets/images/Fork.gif" style="width: 20px;"/> are complete, independent copies of a repository. We use a fork (not a clone) when we want to change the direction of the project, or when we want to contribute to someone else’s project independently and only then suggest changes to the original project. If you need to update your fork with the newest version of the project, you can do that by requesting a <strong>fetch</strong> to Git.</p> +<h3 id="general-workflow-vocabulary">General workflow vocabulary</h3> +<p>When we change some file and save the new version, we do a <strong>commit</strong> <img src="https://raw.githubusercontent.com/mozillascience/friendly-github/master/assets/images/Commit.gif" style="width: 20px;"/>. Commits should be accompanied by short but sufficiently descriptive comments, so that you can understand what the difference in that version is and locate it more easily. With commits you can track what change was made, where, by whom and when.</p> +<figure> +<img src="https://raw.githubusercontent.com/mozillascience/study-group-onboarding/master/images/gh09.png" alt="commit" /><figcaption aria-hidden="true">commit</figcaption> +</figure> +<p>After changing a file and saving the new version, this version needs to be given a tag (an identification code), and then uploaded to the online repository. We call this a <strong>push</strong>. To update your local directory with the newest versions of files, you must tell Git to <strong>pull</strong> them.</p> +<p>When working on a branch, you can request that the changes you have made be implemented in the main branch of your <em>workflow</em> (or any other branch). To do this you request a <strong>merge</strong> via a <strong>pull request</strong> <img src="https://raw.githubusercontent.com/mozillascience/friendly-github/master/assets/images/PullRequest.gif" style="width: 20px;"/>. In a pull request, you ask a repository owner or contributor to accept the changes you made to a fork or branch into another branch. If they accept, you are listed as a contributor to the project.</p> +<h2 id="working-remotely">Working remotely</h2> +<p>The online portal of your Git server allows you to do most of the tasks described above in a very intuitive way. You can edit some files, upload others, request a merge, create and delete a branch, etc. Once you know the Git logic and architecture, it is easy to work online.<br /> +For a detailed walkthrough, take a look at <a href="https://mozillascience.github.io/WOW-2017/github/">this page</a>.</p> +<h2 id="working-locally">Working locally</h2> +<p>However, the changes we need to make cannot always be done directly in the portal, or would be done more efficiently if we worked on our computer, with our preferred software. To work on your repository from your computer, you only need to install Git itself (<a href="https://git-scm.com/downloads" class="uri">https://git-scm.com/downloads</a>). Some softwares allow you to visualize the timeline and operations being made, such as GitKraken (<a href="https://www.gitkraken.com/" class="uri">https://www.gitkraken.com/</a>) and some extentions for VSCode and RStudio.</p> +<p>Once you’ve installed Git, the there are two possible ways to start:</p> +<ul> +<li><p>You can create your online repository directly on your Git host server (such as GitHub, GitLab or Bitbucket);</p></li> +<li><p>Or you can “transform” a local directory into a Git controlled project.</p></li> +</ul> +<p>In the first case, to have a copy of your online repository on your computer, just clone your directory, either by downloading all the files in a .zip or by copying the ssh key or html address to use in a Git command.</p> +<p><img src="git_clone.png" /></p> +<p>You can also clone from GitKraken, by clicking on the little folder on the top left corner or on “File” on the menu.<br /> +<img src="https://support.gitkraken.com/img/documentation/getting-started/clone.png" /></p> +<p>In the second case, you must right-click on your workbook and open the Git Bash; alternatively, in GitKraken, you can click on “Init” in the same window shown above and indicate the directory of your workbook in “New repository path”.</p> +<h2 id="basic-commands">Basic Commands</h2> +<p>The following commands will give us an idea of a <em>workflow</em> in Git.</p> +<p>To use Git, you need to configure it so that your account on your Git server is recognised by it. In Git Bash:</p> +<div class="sourceCode" id="cb3"><pre class="sourceCode bash"><code class="sourceCode bash"><span id="cb3-1"><a href="#cb3-1" aria-hidden="true" tabindex="-1"></a><span class="fu">git</span> config --global user.name <span class="st">"username"</span></span> +<span id="cb3-2"><a href="#cb3-2" aria-hidden="true" tabindex="-1"></a><span class="fu">git</span> config --global user.email <span class="st">"iamawesome@email.com"</span></span> +<span id="cb3-3"><a href="#cb3-3" aria-hidden="true" tabindex="-1"></a><span class="fu">git</span> config --list <span class="co">#Confirm your settings</span></span></code></pre></div> +<p>There, now Git knows who you are.<br /> +<img src="https://media.giphy.com/media/QBGfW8HqzXzYDojCqo/giphy.gif" /></p> +<p>To start a repository from your computer, you can tell Git to start or “watch” a folder.<br /> +First, check what the working directory is and change it if necessary.</p> +<div class="sourceCode" id="cb4"><pre class="sourceCode bash"><code class="sourceCode bash"><span id="cb4-1"><a href="#cb4-1" aria-hidden="true" tabindex="-1"></a><span class="bu">pwd</span> <span class="co"># prints the working directory</span></span> +<span id="cb4-2"><a href="#cb4-2" aria-hidden="true" tabindex="-1"></a><span class="bu">cd</span> # takes you to the root</span> +<span id="cb4-3"><a href="#cb4-3" aria-hidden="true" tabindex="-1"></a><span class="bu">cd</span> .. <span class="co"># takes you to one level up directory</span></span> +<span id="cb4-4"><a href="#cb4-4" aria-hidden="true" tabindex="-1"></a><span class="bu">cd</span> <span class="st">"your/directory"</span> <span class="co"># changes your working directory</span></span></code></pre></div> +<p>To clone your repository, copy the url as shown in the picture above and ask Git to clone the repository into the directory you indicated.</p> +<div class="sourceCode" id="cb5"><pre class="sourceCode bash"><code class="sourceCode bash"><span id="cb5-1"><a href="#cb5-1" aria-hidden="true" tabindex="-1"></a><span class="fu">git</span> clone https://github.com/graciellehigino/bios2.github.io.git</span></code></pre></div> +<p>The above command will create a folder with the same name as the repository in your working directory. If you want the folder created to have another name, include that after the repository address. This process works if you have an online repository and want it to exist on your computer. You can also do it the other way round. If you have not yet created a folder for your project, you can ask Git to create one for you:</p> +<div class="sourceCode" id="cb6"><pre class="sourceCode bash"><code class="sourceCode bash"><span id="cb6-1"><a href="#cb6-1" aria-hidden="true" tabindex="-1"></a><span class="fu">mkdir</span> <span class="st">"web-repo-github"</span></span></code></pre></div> +<p>But if you already have a folder and want Git to “watch over” it, start a local repository in the directory indicated:</p> +<div class="sourceCode" id="cb7"><pre class="sourceCode bash"><code class="sourceCode bash"><span id="cb7-1"><a href="#cb7-1" aria-hidden="true" tabindex="-1"></a><span class="fu">git</span> init</span></code></pre></div> +<p>You can (maybe you need to) tell Git where your remote repository is:</p> +<div class="sourceCode" id="cb8"><pre class="sourceCode bash"><code class="sourceCode bash"><span id="cb8-1"><a href="#cb8-1" aria-hidden="true" tabindex="-1"></a><span class="fu">git</span> remote add origin https://github.com/graciellehigino/bios2.github.io.git</span></code></pre></div> +<p>Ok, now your repository is ready to use.<br /> +Check if there are new files in your folder or modified files that haven’t been pushed yet:</p> +<div class="sourceCode" id="cb9"><pre class="sourceCode bash"><code class="sourceCode bash"><span id="cb9-1"><a href="#cb9-1" aria-hidden="true" tabindex="-1"></a><span class="fu">git</span> status</span></code></pre></div> +<p>Hey, couldn’t you find an important file? Add it to the Git vision field now!</p> +<div class="sourceCode" id="cb10"><pre class="sourceCode bash"><code class="sourceCode bash"><span id="cb10-1"><a href="#cb10-1" aria-hidden="true" tabindex="-1"></a><span class="fu">git</span> add file <span class="co"># adds a file</span></span> +<span id="cb10-2"><a href="#cb10-2" aria-hidden="true" tabindex="-1"></a></span> +<span id="cb10-3"><a href="#cb10-3" aria-hidden="true" tabindex="-1"></a><span class="fu">git</span> add -u <span class="co"># updates the file tracking</span></span> +<span id="cb10-4"><a href="#cb10-4" aria-hidden="true" tabindex="-1"></a></span> +<span id="cb10-5"><a href="#cb10-5" aria-hidden="true" tabindex="-1"></a><span class="fu">git</span> add -A <span class="co"># all the above</span></span></code></pre></div> +<p>To make additions interactively via the terminal, use:</p> +<div class="sourceCode" id="cb11"><pre class="sourceCode bash"><code class="sourceCode bash"><span id="cb11-1"><a href="#cb11-1" aria-hidden="true" tabindex="-1"></a><span class="fu">git</span> add -i</span></code></pre></div> +<p>Follow the instructions provided by the terminal and include as many files as you want before committing.</p> +<p>Now that Git is keeping an eye on all your files, any changes you make (and want them to be recorded in this file’s timeline) will be detected. To make sure your changes are recorded, “commit” the changed file with a comment so you can remember what the difference is in that version.</p> +<div class="sourceCode" id="cb12"><pre class="sourceCode bash"><code class="sourceCode bash"><span id="cb12-1"><a href="#cb12-1" aria-hidden="true" tabindex="-1"></a><span class="fu">git</span> commit -m <span class="st">"it's awesome now"</span></span></code></pre></div> +<p>A <code>commit</code> only updates the local repository if you are working locally, or the remote repository if you are working remotely. To synchronize the two repositories, you must either <code>push</code> updates to the remote repository or <code>pull</code> updates to the local repository.</p> +<div class="sourceCode" id="cb13"><pre class="sourceCode bash"><code class="sourceCode bash"><span id="cb13-1"><a href="#cb13-1" aria-hidden="true" tabindex="-1"></a><span class="fu">git</span> push origin master</span> +<span id="cb13-2"><a href="#cb13-2" aria-hidden="true" tabindex="-1"></a><span class="co">#"Git, please take the updated files to the remote repository 'origin', on the 'main' branch."</span></span> +<span id="cb13-3"><a href="#cb13-3" aria-hidden="true" tabindex="-1"></a></span> +<span id="cb13-4"><a href="#cb13-4" aria-hidden="true" tabindex="-1"></a><span class="fu">git</span> pull</span> +<span id="cb13-5"><a href="#cb13-5" aria-hidden="true" tabindex="-1"></a><span class="co">#"Git, please bring the updated files from the remote repository to my local repository"</span></span></code></pre></div> +<h3 id="how-to-track-changes-in-my-files">How to track changes in my files?</h3> +<p>Check the changes in the content of the files (e.g. new lines added):</p> +<div class="sourceCode" id="cb14"><pre class="sourceCode bash"><code class="sourceCode bash"><span id="cb14-1"><a href="#cb14-1" aria-hidden="true" tabindex="-1"></a><span class="fu">git</span> diff</span></code></pre></div> +<p>Check the files and their changes that are in the stage area:</p> +<div class="sourceCode" id="cb15"><pre class="sourceCode bash"><code class="sourceCode bash"><span id="cb15-1"><a href="#cb15-1" aria-hidden="true" tabindex="-1"></a><span class="fu">git</span> diff --staged</span></code></pre></div> +<p>If you are lost between the different versions of your files, check the commit history! :)</p> +<div class="sourceCode" id="cb16"><pre class="sourceCode bash"><code class="sourceCode bash"><span id="cb16-1"><a href="#cb16-1" aria-hidden="true" tabindex="-1"></a><span class="fu">git</span> log <span class="co"># history of project commits since the beginning</span></span> +<span id="cb16-2"><a href="#cb16-2" aria-hidden="true" tabindex="-1"></a><span class="fu">git</span> log -p <span class="co"># detailed historic of commits (i.e. git log + git diff)</span></span></code></pre></div> +<p>Depending on the size of the changes, the log may be very large and you will need to press “return” to each page to see all the changes. At the end you will see <code>(END)</code>, then press the letter ‘q’ to finish reading.<br /> +If you only want to check the latest commits, limit the list with <code>git log -p -1</code> (replace the 1 with the number of commits you wish to see). You can also check out the entire change history of the working directories with the Git viewer with <code>gitk</code>. Isn’t that cool!</p> +<h3 id="working-with-branches">Working with branches</h3> +<p><em>Branches</em> are ramifications of other timelines. They are very useful when you need to test or work on large changes without changing what is on the main branch. It is very important to maintain branches in your collaborative work, because it reduces the chance of the main branch suffering accidental major changes and simplifies the management of file versions.</p> +<div class="sourceCode" id="cb17"><pre class="sourceCode bash"><code class="sourceCode bash"><span id="cb17-1"><a href="#cb17-1" aria-hidden="true" tabindex="-1"></a><span class="fu">git</span> show-branch -a <span class="co"># lists all branches</span></span> +<span id="cb17-2"><a href="#cb17-2" aria-hidden="true" tabindex="-1"></a></span> +<span id="cb17-3"><a href="#cb17-3" aria-hidden="true" tabindex="-1"></a><span class="fu">git</span> branch name_of_branch <span class="co"># creates a new branch</span></span> +<span id="cb17-4"><a href="#cb17-4" aria-hidden="true" tabindex="-1"></a></span> +<span id="cb17-5"><a href="#cb17-5" aria-hidden="true" tabindex="-1"></a><span class="fu">git</span> checkout name_of_branch <span class="co"># transfers the workspace to the new branch</span></span> +<span id="cb17-6"><a href="#cb17-6" aria-hidden="true" tabindex="-1"></a></span> +<span id="cb17-7"><a href="#cb17-7" aria-hidden="true" tabindex="-1"></a><span class="fu">git</span> checkout -b name_of_branch <span class="co"># creates a branch and transfers the workspace</span></span></code></pre></div> +<p>When all the changes you have made to your branch are done and you think it is time to merge them into the <code>main</code> (or any other branch), move to the target branch and request a merge:</p> +<div class="sourceCode" id="cb18"><pre class="sourceCode bash"><code class="sourceCode bash"><span id="cb18-1"><a href="#cb18-1" aria-hidden="true" tabindex="-1"></a><span class="fu">git</span> merge new_branch <span class="co"># merges the changes from 'new_branch' to 'main'</span></span></code></pre></div> +<p>If you no longer need the branch and want to delete it, use the <code>git branch -d new_branch</code> command.<br /> +It can often happen that your working branch is not up to date with the <code>main</code>. This can be a problem if the <code>main</code> has important updates for the development of your project on the branch. To bring the <code>main</code> updates to your branch, follow these steps:<br /> +1. Check if your workspace is on the <code>main</code> branch. If not, transfer it:</p> +<div class="sourceCode" id="cb19"><pre class="sourceCode bash"><code class="sourceCode bash"><span id="cb19-1"><a href="#cb19-1" aria-hidden="true" tabindex="-1"></a><span class="fu">git</span> checkout master</span></code></pre></div> +<ol start="2" type="1"> +<li>On the <code>main</code>, update your local directory:</li> +</ol> +<div class="sourceCode" id="cb20"><pre class="sourceCode bash"><code class="sourceCode bash"><span id="cb20-1"><a href="#cb20-1" aria-hidden="true" tabindex="-1"></a><span class="fu">git</span> pull</span></code></pre></div> +<ol start="3" type="1"> +<li>After updating your local directory, move to your branch, merge the <code>main</code> updates into your branch and upload to the remote repository:</li> +</ol> +<div class="sourceCode" id="cb21"><pre class="sourceCode bash"><code class="sourceCode bash"><span id="cb21-1"><a href="#cb21-1" aria-hidden="true" tabindex="-1"></a><span class="fu">git</span> checkout your-branch</span> +<span id="cb21-2"><a href="#cb21-2" aria-hidden="true" tabindex="-1"></a><span class="fu">git</span> merge main your-branch</span> +<span id="cb21-3"><a href="#cb21-3" aria-hidden="true" tabindex="-1"></a><span class="fu">git</span> push</span></code></pre></div> +<p>That’s it! Now your branch contains everything that was new in the <code>main</code>. :)</p> +<h2 id="oh-my-git-d">Oh, my Git! D=</h2> +<p>Did you mess up commits? Want to revert a change? Don’t despair!<br /> +If you made a commit and regret it, but don’t even remember which commit it was (<a href="http://stackoverflow.com/questions/3701404/list-all-commits-for-a-specific-file">“Find out commits associated for a specific file”</a>):</p> +<div class="sourceCode" id="cb22"><pre class="sourceCode bash"><code class="sourceCode bash"><span id="cb22-1"><a href="#cb22-1" aria-hidden="true" tabindex="-1"></a><span class="fu">git</span> log -p filename<span class="kw">`</span></span></code></pre></div> +<p>If you want to include new edits to the last commit, replacing it:</p> +<div class="sourceCode" id="cb23"><pre class="sourceCode bash"><code class="sourceCode bash"><span id="cb23-1"><a href="#cb23-1" aria-hidden="true" tabindex="-1"></a><span class="fu">git</span> commit --amend -m <span class="st">"message"</span></span></code></pre></div> +<p>If you want to remove any file from the stage area after a <code>git add .</code>:</p> +<div class="sourceCode" id="cb24"><pre class="sourceCode bash"><code class="sourceCode bash"><span id="cb24-1"><a href="#cb24-1" aria-hidden="true" tabindex="-1"></a><span class="fu">git</span> reset HEAD new_file.R</span></code></pre></div> +<p>But if you want to remove it from your <em>working tree</em> and the set of added files:</p> +<div class="sourceCode" id="cb25"><pre class="sourceCode bash"><code class="sourceCode bash"><span id="cb25-1"><a href="#cb25-1" aria-hidden="true" tabindex="-1"></a><span class="fu">git</span> rm new_file.R</span></code></pre></div> +<p>If all that goes wrong, try the following (tips taken <a href="https://stackoverflow.com/questions/23068790/git-revert-certain-files">from here</a>):</p> +<div class="sourceCode" id="cb26"><pre class="sourceCode bash"><code class="sourceCode bash"><span id="cb26-1"><a href="#cb26-1" aria-hidden="true" tabindex="-1"></a><span class="fu">git</span> revert --no-commit <span class="op"><</span>commit hash<span class="op">></span> <span class="co"># Revert, but don't commit yet</span></span> +<span id="cb26-2"><a href="#cb26-2" aria-hidden="true" tabindex="-1"></a><span class="fu">git</span> reset <span class="co"># Take everything from the stage area</span></span> +<span id="cb26-3"><a href="#cb26-3" aria-hidden="true" tabindex="-1"></a><span class="fu">git</span> add yourFilesToRevert <span class="co"># Add files to revert</span></span> +<span id="cb26-4"><a href="#cb26-4" aria-hidden="true" tabindex="-1"></a><span class="fu">git</span> commit -m <span class="st">"commit message"</span></span> +<span id="cb26-5"><a href="#cb26-5" aria-hidden="true" tabindex="-1"></a><span class="fu">git</span> reset --hard <span class="co"># Undo changes not commited</span></span></code></pre></div> +<p>If you want to remove all local changes and commits, retrieve the most recent history from the server and point to your local branch <code>main</code> like this:</p> +<div class="sourceCode" id="cb27"><pre class="sourceCode bash"><code class="sourceCode bash"><span id="cb27-1"><a href="#cb27-1" aria-hidden="true" tabindex="-1"></a><span class="fu">git</span> fetch origin</span> +<span id="cb27-2"><a href="#cb27-2" aria-hidden="true" tabindex="-1"></a><span class="fu">git</span> reset --hard origin/master</span></code></pre></div> +<p>That’s it! There’s <strong><em>a lot more</em></strong> in the git world, but I hope this guide can help you on your version control journey.</p> +<p><strong>Remember</strong>: keep the <code>main</code> as untouched as possible, work with branches to test your ideas, and always <code>push</code> your modifications before going to bed.</p> +<h4 id="suggested-reading-1">Suggested reading</h4> +<ul> +<li>This lesson was transleted from a git guide in Portuguese I wrote with Karlo Guidoni in a study group we promoted at Universidade Federal de Goiás, back in 2017, and we used time and again in our reproducibility trainings. You can take a look in our repository <a href="https://github.com/kguidonimartins/studygroup-ufg">here</a>.</li> +</ul> +<div class="sourceCode" id="cb28"><pre class="sourceCode r distill-force-highlighting-css"><code class="sourceCode r"></code></pre></div> +<!--radix_placeholder_article_footer--> +<!--/radix_placeholder_article_footer--> +</div> + +<div class="d-appendix"> +</div> + + +<!--radix_placeholder_site_after_body--> +<!--/radix_placeholder_site_after_body--> +<!--radix_placeholder_appendices--> +<div class="appendix-bottom"></div> +<!--/radix_placeholder_appendices--> +<!--radix_placeholder_navigation_after_body--> +<!--/radix_placeholder_navigation_after_body--> + +</body> + +</html> diff --git a/_posts/2021-06-13-unreproducibility-detox/unreproducibility-detox_files/anchor-4.2.2/anchor.min.js b/_posts/2021-06-13-unreproducibility-detox/unreproducibility-detox_files/anchor-4.2.2/anchor.min.js new file mode 100644 index 0000000..26908ec --- /dev/null +++ b/_posts/2021-06-13-unreproducibility-detox/unreproducibility-detox_files/anchor-4.2.2/anchor.min.js @@ -0,0 +1,9 @@ +// @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt Expat +// +// AnchorJS - v4.2.2 - 2019-11-14 +// https://www.bryanbraun.com/anchorjs/ +// Copyright (c) 2019 Bryan Braun; Licensed MIT +// +// @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt Expat +!function(A,e){"use strict";"function"==typeof define&&define.amd?define([],e):"object"==typeof module&&module.exports?module.exports=e():(A.AnchorJS=e(),A.anchors=new A.AnchorJS)}(this,function(){"use strict";return function(A){function f(A){A.icon=A.hasOwnProperty("icon")?A.icon:"",A.visible=A.hasOwnProperty("visible")?A.visible:"hover",A.placement=A.hasOwnProperty("placement")?A.placement:"right",A.ariaLabel=A.hasOwnProperty("ariaLabel")?A.ariaLabel:"Anchor",A.class=A.hasOwnProperty("class")?A.class:"",A.base=A.hasOwnProperty("base")?A.base:"",A.truncate=A.hasOwnProperty("truncate")?Math.floor(A.truncate):64,A.titleText=A.hasOwnProperty("titleText")?A.titleText:""}function p(A){var e;if("string"==typeof A||A instanceof String)e=[].slice.call(document.querySelectorAll(A));else{if(!(Array.isArray(A)||A instanceof NodeList))throw new Error("The selector provided to AnchorJS was invalid.");e=[].slice.call(A)}return e}this.options=A||{},this.elements=[],f(this.options),this.isTouchDevice=function(){return!!("ontouchstart"in window||window.DocumentTouch&&document instanceof DocumentTouch)},this.add=function(A){var e,t,i,n,o,s,a,r,c,h,l,u,d=[];if(f(this.options),"touch"===(l=this.options.visible)&&(l=this.isTouchDevice()?"always":"hover"),0===(e=p(A=A||"h2, h3, h4, h5, h6")).length)return this;for(!function(){if(null!==document.head.querySelector("style.anchorjs"))return;var A,e=document.createElement("style");e.className="anchorjs",e.appendChild(document.createTextNode("")),void 0===(A=document.head.querySelector('[rel="stylesheet"], style'))?document.head.appendChild(e):document.head.insertBefore(e,A);e.sheet.insertRule(" .anchorjs-link { opacity: 0; text-decoration: none; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; }",e.sheet.cssRules.length),e.sheet.insertRule(" *:hover > .anchorjs-link, .anchorjs-link:focus { opacity: 1; }",e.sheet.cssRules.length),e.sheet.insertRule(" [data-anchorjs-icon]::after { content: attr(data-anchorjs-icon); }",e.sheet.cssRules.length),e.sheet.insertRule(' @font-face { font-family: "anchorjs-icons"; src: url(data:n/a;base64,AAEAAAALAIAAAwAwT1MvMg8yG2cAAAE4AAAAYGNtYXDp3gC3AAABpAAAAExnYXNwAAAAEAAAA9wAAAAIZ2x5ZlQCcfwAAAH4AAABCGhlYWQHFvHyAAAAvAAAADZoaGVhBnACFwAAAPQAAAAkaG10eASAADEAAAGYAAAADGxvY2EACACEAAAB8AAAAAhtYXhwAAYAVwAAARgAAAAgbmFtZQGOH9cAAAMAAAAAunBvc3QAAwAAAAADvAAAACAAAQAAAAEAAHzE2p9fDzz1AAkEAAAAAADRecUWAAAAANQA6R8AAAAAAoACwAAAAAgAAgAAAAAAAAABAAADwP/AAAACgAAA/9MCrQABAAAAAAAAAAAAAAAAAAAAAwABAAAAAwBVAAIAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAMCQAGQAAUAAAKZAswAAACPApkCzAAAAesAMwEJAAAAAAAAAAAAAAAAAAAAARAAAAAAAAAAAAAAAAAAAAAAQAAg//0DwP/AAEADwABAAAAAAQAAAAAAAAAAAAAAIAAAAAAAAAIAAAACgAAxAAAAAwAAAAMAAAAcAAEAAwAAABwAAwABAAAAHAAEADAAAAAIAAgAAgAAACDpy//9//8AAAAg6cv//f///+EWNwADAAEAAAAAAAAAAAAAAAAACACEAAEAAAAAAAAAAAAAAAAxAAACAAQARAKAAsAAKwBUAAABIiYnJjQ3NzY2MzIWFxYUBwcGIicmNDc3NjQnJiYjIgYHBwYUFxYUBwYGIwciJicmNDc3NjIXFhQHBwYUFxYWMzI2Nzc2NCcmNDc2MhcWFAcHBgYjARQGDAUtLXoWOR8fORYtLTgKGwoKCjgaGg0gEhIgDXoaGgkJBQwHdR85Fi0tOAobCgoKOBoaDSASEiANehoaCQkKGwotLXoWOR8BMwUFLYEuehYXFxYugC44CQkKGwo4GkoaDQ0NDXoaShoKGwoFBe8XFi6ALjgJCQobCjgaShoNDQ0NehpKGgobCgoKLYEuehYXAAAADACWAAEAAAAAAAEACAAAAAEAAAAAAAIAAwAIAAEAAAAAAAMACAAAAAEAAAAAAAQACAAAAAEAAAAAAAUAAQALAAEAAAAAAAYACAAAAAMAAQQJAAEAEAAMAAMAAQQJAAIABgAcAAMAAQQJAAMAEAAMAAMAAQQJAAQAEAAMAAMAAQQJAAUAAgAiAAMAAQQJAAYAEAAMYW5jaG9yanM0MDBAAGEAbgBjAGgAbwByAGoAcwA0ADAAMABAAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAH//wAP) format("truetype"); }',e.sheet.cssRules.length)}(),t=document.querySelectorAll("[id]"),i=[].map.call(t,function(A){return A.id}),o=0;o<e.length;o++)if(this.hasAnchorJSLink(e[o]))d.push(o);else{if(e[o].hasAttribute("id"))n=e[o].getAttribute("id");else if(e[o].hasAttribute("data-anchor-id"))n=e[o].getAttribute("data-anchor-id");else{for(c=r=this.urlify(e[o].textContent),a=0;void 0!==s&&(c=r+"-"+a),a+=1,-1!==(s=i.indexOf(c)););s=void 0,i.push(c),e[o].setAttribute("id",c),n=c}(h=document.createElement("a")).className="anchorjs-link "+this.options.class,h.setAttribute("aria-label",this.options.ariaLabel),h.setAttribute("data-anchorjs-icon",this.options.icon),this.options.titleText&&(h.title=this.options.titleText),u=document.querySelector("base")?window.location.pathname+window.location.search:"",u=this.options.base||u,h.href=u+"#"+n,"always"===l&&(h.style.opacity="1"),""===this.options.icon&&(h.style.font="1em/1 anchorjs-icons","left"===this.options.placement&&(h.style.lineHeight="inherit")),"left"===this.options.placement?(h.style.position="absolute",h.style.marginLeft="-1em",h.style.paddingRight="0.5em",e[o].insertBefore(h,e[o].firstChild)):(h.style.paddingLeft="0.375em",e[o].appendChild(h))}for(o=0;o<d.length;o++)e.splice(d[o]-o,1);return this.elements=this.elements.concat(e),this},this.remove=function(A){for(var e,t,i=p(A),n=0;n<i.length;n++)(t=i[n].querySelector(".anchorjs-link"))&&(-1!==(e=this.elements.indexOf(i[n]))&&this.elements.splice(e,1),i[n].removeChild(t));return this},this.removeAll=function(){this.remove(this.elements)},this.urlify=function(A){return this.options.truncate||f(this.options),A.trim().replace(/\'/gi,"").replace(/[& +$,:;=?@"#{}|^~[`%!'<>\]\.\/\(\)\*\\\n\t\b\v]/g,"-").replace(/-{2,}/g,"-").substring(0,this.options.truncate).replace(/^-+|-+$/gm,"").toLowerCase()},this.hasAnchorJSLink=function(A){var e=A.firstChild&&-1<(" "+A.firstChild.className+" ").indexOf(" anchorjs-link "),t=A.lastChild&&-1<(" "+A.lastChild.className+" ").indexOf(" anchorjs-link ");return e||t||!1}}}); +// @license-end \ No newline at end of file diff --git a/_posts/2021-06-13-unreproducibility-detox/unreproducibility-detox_files/bowser-1.9.3/bowser.min.js b/_posts/2021-06-13-unreproducibility-detox/unreproducibility-detox_files/bowser-1.9.3/bowser.min.js new file mode 100644 index 0000000..5866337 --- /dev/null +++ b/_posts/2021-06-13-unreproducibility-detox/unreproducibility-detox_files/bowser-1.9.3/bowser.min.js @@ -0,0 +1,6 @@ +/*! + * Bowser - a browser detector + * https://github.com/ded/bowser + * MIT License | (c) Dustin Diaz 2015 + */ +!function(e,t,n){typeof module!="undefined"&&module.exports?module.exports=n():typeof define=="function"&&define.amd?define(t,n):e[t]=n()}(this,"bowser",function(){function t(t){function n(e){var n=t.match(e);return n&&n.length>1&&n[1]||""}function r(e){var n=t.match(e);return n&&n.length>1&&n[2]||""}function N(e){switch(e){case"NT":return"NT";case"XP":return"XP";case"NT 5.0":return"2000";case"NT 5.1":return"XP";case"NT 5.2":return"2003";case"NT 6.0":return"Vista";case"NT 6.1":return"7";case"NT 6.2":return"8";case"NT 6.3":return"8.1";case"NT 10.0":return"10";default:return undefined}}var i=n(/(ipod|iphone|ipad)/i).toLowerCase(),s=/like android/i.test(t),o=!s&&/android/i.test(t),u=/nexus\s*[0-6]\s*/i.test(t),a=!u&&/nexus\s*[0-9]+/i.test(t),f=/CrOS/.test(t),l=/silk/i.test(t),c=/sailfish/i.test(t),h=/tizen/i.test(t),p=/(web|hpw)os/i.test(t),d=/windows phone/i.test(t),v=/SamsungBrowser/i.test(t),m=!d&&/windows/i.test(t),g=!i&&!l&&/macintosh/i.test(t),y=!o&&!c&&!h&&!p&&/linux/i.test(t),b=r(/edg([ea]|ios)\/(\d+(\.\d+)?)/i),w=n(/version\/(\d+(\.\d+)?)/i),E=/tablet/i.test(t)&&!/tablet pc/i.test(t),S=!E&&/[^-]mobi/i.test(t),x=/xbox/i.test(t),T;/opera/i.test(t)?T={name:"Opera",opera:e,version:w||n(/(?:opera|opr|opios)[\s\/](\d+(\.\d+)?)/i)}:/opr\/|opios/i.test(t)?T={name:"Opera",opera:e,version:n(/(?:opr|opios)[\s\/](\d+(\.\d+)?)/i)||w}:/SamsungBrowser/i.test(t)?T={name:"Samsung Internet for Android",samsungBrowser:e,version:w||n(/(?:SamsungBrowser)[\s\/](\d+(\.\d+)?)/i)}:/coast/i.test(t)?T={name:"Opera Coast",coast:e,version:w||n(/(?:coast)[\s\/](\d+(\.\d+)?)/i)}:/yabrowser/i.test(t)?T={name:"Yandex Browser",yandexbrowser:e,version:w||n(/(?:yabrowser)[\s\/](\d+(\.\d+)?)/i)}:/ucbrowser/i.test(t)?T={name:"UC Browser",ucbrowser:e,version:n(/(?:ucbrowser)[\s\/](\d+(?:\.\d+)+)/i)}:/mxios/i.test(t)?T={name:"Maxthon",maxthon:e,version:n(/(?:mxios)[\s\/](\d+(?:\.\d+)+)/i)}:/epiphany/i.test(t)?T={name:"Epiphany",epiphany:e,version:n(/(?:epiphany)[\s\/](\d+(?:\.\d+)+)/i)}:/puffin/i.test(t)?T={name:"Puffin",puffin:e,version:n(/(?:puffin)[\s\/](\d+(?:\.\d+)?)/i)}:/sleipnir/i.test(t)?T={name:"Sleipnir",sleipnir:e,version:n(/(?:sleipnir)[\s\/](\d+(?:\.\d+)+)/i)}:/k-meleon/i.test(t)?T={name:"K-Meleon",kMeleon:e,version:n(/(?:k-meleon)[\s\/](\d+(?:\.\d+)+)/i)}:d?(T={name:"Windows Phone",osname:"Windows Phone",windowsphone:e},b?(T.msedge=e,T.version=b):(T.msie=e,T.version=n(/iemobile\/(\d+(\.\d+)?)/i))):/msie|trident/i.test(t)?T={name:"Internet Explorer",msie:e,version:n(/(?:msie |rv:)(\d+(\.\d+)?)/i)}:f?T={name:"Chrome",osname:"Chrome OS",chromeos:e,chromeBook:e,chrome:e,version:n(/(?:chrome|crios|crmo)\/(\d+(\.\d+)?)/i)}:/edg([ea]|ios)/i.test(t)?T={name:"Microsoft Edge",msedge:e,version:b}:/vivaldi/i.test(t)?T={name:"Vivaldi",vivaldi:e,version:n(/vivaldi\/(\d+(\.\d+)?)/i)||w}:c?T={name:"Sailfish",osname:"Sailfish OS",sailfish:e,version:n(/sailfish\s?browser\/(\d+(\.\d+)?)/i)}:/seamonkey\//i.test(t)?T={name:"SeaMonkey",seamonkey:e,version:n(/seamonkey\/(\d+(\.\d+)?)/i)}:/firefox|iceweasel|fxios/i.test(t)?(T={name:"Firefox",firefox:e,version:n(/(?:firefox|iceweasel|fxios)[ \/](\d+(\.\d+)?)/i)},/\((mobile|tablet);[^\)]*rv:[\d\.]+\)/i.test(t)&&(T.firefoxos=e,T.osname="Firefox OS")):l?T={name:"Amazon Silk",silk:e,version:n(/silk\/(\d+(\.\d+)?)/i)}:/phantom/i.test(t)?T={name:"PhantomJS",phantom:e,version:n(/phantomjs\/(\d+(\.\d+)?)/i)}:/slimerjs/i.test(t)?T={name:"SlimerJS",slimer:e,version:n(/slimerjs\/(\d+(\.\d+)?)/i)}:/blackberry|\bbb\d+/i.test(t)||/rim\stablet/i.test(t)?T={name:"BlackBerry",osname:"BlackBerry OS",blackberry:e,version:w||n(/blackberry[\d]+\/(\d+(\.\d+)?)/i)}:p?(T={name:"WebOS",osname:"WebOS",webos:e,version:w||n(/w(?:eb)?osbrowser\/(\d+(\.\d+)?)/i)},/touchpad\//i.test(t)&&(T.touchpad=e)):/bada/i.test(t)?T={name:"Bada",osname:"Bada",bada:e,version:n(/dolfin\/(\d+(\.\d+)?)/i)}:h?T={name:"Tizen",osname:"Tizen",tizen:e,version:n(/(?:tizen\s?)?browser\/(\d+(\.\d+)?)/i)||w}:/qupzilla/i.test(t)?T={name:"QupZilla",qupzilla:e,version:n(/(?:qupzilla)[\s\/](\d+(?:\.\d+)+)/i)||w}:/chromium/i.test(t)?T={name:"Chromium",chromium:e,version:n(/(?:chromium)[\s\/](\d+(?:\.\d+)?)/i)||w}:/chrome|crios|crmo/i.test(t)?T={name:"Chrome",chrome:e,version:n(/(?:chrome|crios|crmo)\/(\d+(\.\d+)?)/i)}:o?T={name:"Android",version:w}:/safari|applewebkit/i.test(t)?(T={name:"Safari",safari:e},w&&(T.version=w)):i?(T={name:i=="iphone"?"iPhone":i=="ipad"?"iPad":"iPod"},w&&(T.version=w)):/googlebot/i.test(t)?T={name:"Googlebot",googlebot:e,version:n(/googlebot\/(\d+(\.\d+))/i)||w}:T={name:n(/^(.*)\/(.*) /),version:r(/^(.*)\/(.*) /)},!T.msedge&&/(apple)?webkit/i.test(t)?(/(apple)?webkit\/537\.36/i.test(t)?(T.name=T.name||"Blink",T.blink=e):(T.name=T.name||"Webkit",T.webkit=e),!T.version&&w&&(T.version=w)):!T.opera&&/gecko\//i.test(t)&&(T.name=T.name||"Gecko",T.gecko=e,T.version=T.version||n(/gecko\/(\d+(\.\d+)?)/i)),!T.windowsphone&&(o||T.silk)?(T.android=e,T.osname="Android"):!T.windowsphone&&i?(T[i]=e,T.ios=e,T.osname="iOS"):g?(T.mac=e,T.osname="macOS"):x?(T.xbox=e,T.osname="Xbox"):m?(T.windows=e,T.osname="Windows"):y&&(T.linux=e,T.osname="Linux");var C="";T.windows?C=N(n(/Windows ((NT|XP)( \d\d?.\d)?)/i)):T.windowsphone?C=n(/windows phone (?:os)?\s?(\d+(\.\d+)*)/i):T.mac?(C=n(/Mac OS X (\d+([_\.\s]\d+)*)/i),C=C.replace(/[_\s]/g,".")):i?(C=n(/os (\d+([_\s]\d+)*) like mac os x/i),C=C.replace(/[_\s]/g,".")):o?C=n(/android[ \/-](\d+(\.\d+)*)/i):T.webos?C=n(/(?:web|hpw)os\/(\d+(\.\d+)*)/i):T.blackberry?C=n(/rim\stablet\sos\s(\d+(\.\d+)*)/i):T.bada?C=n(/bada\/(\d+(\.\d+)*)/i):T.tizen&&(C=n(/tizen[\/\s](\d+(\.\d+)*)/i)),C&&(T.osversion=C);var k=!T.windows&&C.split(".")[0];if(E||a||i=="ipad"||o&&(k==3||k>=4&&!S)||T.silk)T.tablet=e;else if(S||i=="iphone"||i=="ipod"||o||u||T.blackberry||T.webos||T.bada)T.mobile=e;return T.msedge||T.msie&&T.version>=10||T.yandexbrowser&&T.version>=15||T.vivaldi&&T.version>=1||T.chrome&&T.version>=20||T.samsungBrowser&&T.version>=4||T.firefox&&T.version>=20||T.safari&&T.version>=6||T.opera&&T.version>=10||T.ios&&T.osversion&&T.osversion.split(".")[0]>=6||T.blackberry&&T.version>=10.1||T.chromium&&T.version>=20?T.a=e:T.msie&&T.version<10||T.chrome&&T.version<20||T.firefox&&T.version<20||T.safari&&T.version<6||T.opera&&T.version<10||T.ios&&T.osversion&&T.osversion.split(".")[0]<6||T.chromium&&T.version<20?T.c=e:T.x=e,T}function r(e){return e.split(".").length}function i(e,t){var n=[],r;if(Array.prototype.map)return Array.prototype.map.call(e,t);for(r=0;r<e.length;r++)n.push(t(e[r]));return n}function s(e){var t=Math.max(r(e[0]),r(e[1])),n=i(e,function(e){var n=t-r(e);return e+=(new Array(n+1)).join(".0"),i(e.split("."),function(e){return(new Array(20-e.length)).join("0")+e}).reverse()});while(--t>=0){if(n[0][t]>n[1][t])return 1;if(n[0][t]!==n[1][t])return-1;if(t===0)return 0}}function o(e,r,i){var o=n;typeof r=="string"&&(i=r,r=void 0),r===void 0&&(r=!1),i&&(o=t(i));var u=""+o.version;for(var a in e)if(e.hasOwnProperty(a)&&o[a]){if(typeof e[a]!="string")throw new Error("Browser version in the minVersion map should be a string: "+a+": "+String(e));return s([u,e[a]])<0}return r}function u(e,t,n){return!o(e,t,n)}var e=!0,n=t(typeof navigator!="undefined"?navigator.userAgent||"":"");return n.test=function(e){for(var t=0;t<e.length;++t){var r=e[t];if(typeof r=="string"&&r in n)return!0}return!1},n.isUnsupportedBrowser=o,n.compareVersions=s,n.check=u,n._detect=t,n.detect=t,n}) \ No newline at end of file diff --git a/_posts/2021-06-13-unreproducibility-detox/unreproducibility-detox_files/distill-2.2.21/template.v2.js b/_posts/2021-06-13-unreproducibility-detox/unreproducibility-detox_files/distill-2.2.21/template.v2.js new file mode 100644 index 0000000..3ef99a7 --- /dev/null +++ b/_posts/2021-06-13-unreproducibility-detox/unreproducibility-detox_files/distill-2.2.21/template.v2.js @@ -0,0 +1,744 @@ +function load_distill_framework() { +(function(e,t){'object'==typeof exports&&'undefined'!=typeof module?t():'function'==typeof define&&define.amd?define(t):t()})(this,function(){'use strict';function e(e,t){e.title=t.title,t.published&&(t.published instanceof Date?e.publishedDate=t.published:t.published.constructor===String&&(e.publishedDate=new Date(t.published))),t.publishedDate&&(t.publishedDate instanceof Date?e.publishedDate=t.publishedDate:t.publishedDate.constructor===String?e.publishedDate=new Date(t.publishedDate):console.error('Don\'t know what to do with published date: '+t.publishedDate)),e.description=t.description,e.authors=t.authors.map((e)=>new Qn(e)),e.katex=t.katex,e.password=t.password}function t(e=document){const t=new Set,n=e.querySelectorAll('d-cite');for(const i of n){const e=i.getAttribute('key').split(',');for(const n of e)t.add(n)}return[...t]}function n(e,t,n,i){if(null==e.author)return'';var a=e.author.split(' and ');let d=a.map((e)=>{if(e=e.trim(),e.match(/\{.+\}/)){var n=/\{([^}]+)\}/,i=n.exec(e);return i[1]}if(-1!=e.indexOf(','))var a=e.split(',')[0].trim(),d=e.split(',')[1];else var a=e.split(' ').slice(-1)[0].trim(),d=e.split(' ').slice(0,-1).join(' ');var r='';return void 0!=d&&(r=d.trim().split(' ').map((e)=>e.trim()[0]),r=r.join('.')+'.'),t.replace('${F}',d).replace('${L}',a).replace('${I}',r)});if(1<a.length){var r=d.slice(0,a.length-1).join(n);return r+=(i||n)+d[a.length-1],r}return d[0]}function i(e){var t=e.journal||e.booktitle||'';if('volume'in e){var n=e.issue||e.number;n=void 0==n?'':'('+n+')',t+=', Vol '+e.volume+n}return'pages'in e&&(t+=', pp. '+e.pages),''!=t&&(t+='. '),'publisher'in e&&(t+=e.publisher,'.'!=t[t.length-1]&&(t+='.')),t}function a(e){if('url'in e){var t=e.url,n=/arxiv\.org\/abs\/([0-9\.]*)/.exec(t);if(null!=n&&(t=`http://arxiv.org/pdf/${n[1]}.pdf`),'.pdf'==t.slice(-4))var i='PDF';else if('.html'==t.slice(-5))var i='HTML';return`  <a href="${t}">[${i||'link'}]</a>`}return''}function d(e,t){return'doi'in e?`${t?'<br>':''} <a href="https://doi.org/${e.doi}" style="text-decoration:inherit;">DOI: ${e.doi}</a>`:''}function r(e){return'<span class="title">'+e.title+'</span> '}function o(e){if(e){var t=r(e);return t+=a(e)+'<br>',e.author&&(t+=n(e,'${L}, ${I}',', ',' and '),(e.year||e.date)&&(t+=', ')),t+=e.year||e.date?(e.year||e.date)+'. ':'. ',t+=i(e),t+=d(e),t}return'?'}function l(e){if(e){var t='';t+='<strong>'+e.title+'</strong>',t+=a(e),t+='<br>';var r=n(e,'${I} ${L}',', ')+'.',o=i(e).trim()+' '+e.year+'. '+d(e,!0);return t+=(r+o).length<Hn(40,e.title.length)?r+' '+o:r+'<br>'+o,t}return'?'}function s(e){for(let t of e.authors){const e=!!t.affiliation,n=!!t.affiliations;if(e)if(n)console.warn(`Author ${t.author} has both old-style ("affiliation" & "affiliationURL") and new style ("affiliations") affiliation information!`);else{let e={name:t.affiliation};t.affiliationURL&&(e.url=t.affiliationURL),t.affiliations=[e]}}return console.log(e),e}function c(e){const t=e.querySelector('script');if(t){const e=t.getAttribute('type');if('json'==e.split('/')[1]){const e=t.textContent,n=JSON.parse(e);return s(n)}console.error('Distill only supports JSON frontmatter tags anymore; no more YAML.')}else console.error('You added a frontmatter tag but did not provide a script tag with front matter data in it. Please take a look at our templates.');return{}}function u(){return-1!==['interactive','complete'].indexOf(document.readyState)}function p(e){const t='distill-prerendered-styles',n=e.getElementById(t);if(!n){const n=e.createElement('style');n.id=t,n.type='text/css';const i=e.createTextNode(bi);n.appendChild(i);const a=e.head.querySelector('script');e.head.insertBefore(n,a)}}function g(e,t){console.info('Runlevel 0: Polyfill required: '+e.name);const n=document.createElement('script');n.src=e.url,n.async=!1,t&&(n.onload=function(){t(e)}),n.onerror=function(){new Error('Runlevel 0: Polyfills failed to load script '+e.name)},document.head.appendChild(n)}function f(e,t){return t={exports:{}},e(t,t.exports),t.exports}function h(e){return e.replace(/[\t\n ]+/g,' ').replace(/{\\["^`.'acu~Hvs]( )?([a-zA-Z])}/g,(e,t,n)=>n).replace(/{\\([a-zA-Z])}/g,(e,t)=>t)}function b(e){const t=new Map,n=_i.toJSON(e);for(const i of n){for(const[e,t]of Object.entries(i.entryTags))i.entryTags[e.toLowerCase()]=h(t);i.entryTags.type=i.entryType,t.set(i.citationKey,i.entryTags)}return t}function m(e){return`@article{${e.slug}, + author = {${e.bibtexAuthors}}, + title = {${e.title}}, + journal = {${e.journal.title}}, + year = {${e.publishedYear}}, + note = {${e.url}}, + doi = {${e.doi}} +}`}function y(e){return` + <div class="byline grid"> + <div class="authors-affiliations grid"> + <h3>Authors</h3> + <h3>Affiliations</h3> + ${e.authors.map((e)=>` + <p class="author"> + ${e.personalURL?` + <a class="name" href="${e.personalURL}">${e.name}</a>`:` + <span class="name">${e.name}</span>`} + </p> + <p class="affiliation"> + ${e.affiliations.map((e)=>e.url?`<a class="affiliation" href="${e.url}">${e.name}</a>`:`<span class="affiliation">${e.name}</span>`).join(', ')} + </p> + `).join('')} + </div> + <div> + <h3>Published</h3> + ${e.publishedDate?` + <p>${e.publishedMonth} ${e.publishedDay}, ${e.publishedYear}</p> `:` + <p><em>Not published yet.</em></p>`} + </div> + <div> + <h3>DOI</h3> + ${e.doi?` + <p><a href="https://doi.org/${e.doi}">${e.doi}</a></p>`:` + <p><em>No DOI yet.</em></p>`} + </div> + </div> +`}function x(e,t,n=document){if(0<t.size){e.style.display='';let i=e.querySelector('.references');if(i)i.innerHTML='';else{const t=n.createElement('style');t.innerHTML=Mi,e.appendChild(t);const a=n.createElement('h3');a.id='references',a.textContent='References',e.appendChild(a),i=n.createElement('ol'),i.id='references-list',i.className='references',e.appendChild(i)}for(const[e,a]of t){const t=n.createElement('li');t.id=e,t.innerHTML=o(a),i.appendChild(t)}}else e.style.display='none'}function k(e,t){let n=` + <style> + + d-toc { + contain: layout style; + display: block; + } + + d-toc ul { + padding-left: 0; + } + + d-toc ul > ul { + padding-left: 24px; + } + + d-toc a { + border-bottom: none; + text-decoration: none; + } + + </style> + <nav role="navigation" class="table-of-contents"></nav> + <h2>Table of contents</h2> + <ul>`;for(const i of t){const e='D-TITLE'==i.parentElement.tagName,t=i.getAttribute('no-toc');if(e||t)continue;const a=i.textContent,d='#'+i.getAttribute('id');let r='<li><a href="'+d+'">'+a+'</a></li>';'H3'==i.tagName?r='<ul>'+r+'</ul>':r+='<br>',n+=r}n+='</ul></nav>',e.innerHTML=n}function v(e){return function(t,n){return Xi(e(t),n)}}function w(e,t,n){var i=(t-e)/Rn(0,n),a=Fn(jn(i)/Nn),d=i/In(10,a);return 0<=a?(d>=Gi?10:d>=ea?5:d>=ta?2:1)*In(10,a):-In(10,-a)/(d>=Gi?10:d>=ea?5:d>=ta?2:1)}function S(e,t,n){var i=Un(t-e)/Rn(0,n),a=In(10,Fn(jn(i)/Nn)),d=i/a;return d>=Gi?a*=10:d>=ea?a*=5:d>=ta&&(a*=2),t<e?-a:a}function _(e,t){var n=Object.create(e.prototype);for(var i in t)n[i]=t[i];return n}function L(){}function M(e){var t;return e=(e+'').trim().toLowerCase(),(t=sa.exec(e))?(t=parseInt(t[1],16),new j(15&t>>8|240&t>>4,15&t>>4|240&t,(15&t)<<4|15&t,1)):(t=ca.exec(e))?O(parseInt(t[1],16)):(t=ua.exec(e))?new j(t[1],t[2],t[3],1):(t=pa.exec(e))?new j(255*t[1]/100,255*t[2]/100,255*t[3]/100,1):(t=ga.exec(e))?U(t[1],t[2],t[3],t[4]):(t=fa.exec(e))?U(255*t[1]/100,255*t[2]/100,255*t[3]/100,t[4]):(t=ha.exec(e))?R(t[1],t[2]/100,t[3]/100,1):(t=ba.exec(e))?R(t[1],t[2]/100,t[3]/100,t[4]):ma.hasOwnProperty(e)?O(ma[e]):'transparent'===e?new j(NaN,NaN,NaN,0):null}function O(e){return new j(255&e>>16,255&e>>8,255&e,1)}function U(e,t,n,i){return 0>=i&&(e=t=n=NaN),new j(e,t,n,i)}function I(e){return(e instanceof L||(e=M(e)),!e)?new j:(e=e.rgb(),new j(e.r,e.g,e.b,e.opacity))}function N(e,t,n,i){return 1===arguments.length?I(e):new j(e,t,n,null==i?1:i)}function j(e,t,n,i){this.r=+e,this.g=+t,this.b=+n,this.opacity=+i}function R(e,t,n,i){return 0>=i?e=t=n=NaN:0>=n||1<=n?e=t=NaN:0>=t&&(e=NaN),new F(e,t,n,i)}function q(e){if(e instanceof F)return new F(e.h,e.s,e.l,e.opacity);if(e instanceof L||(e=M(e)),!e)return new F;if(e instanceof F)return e;e=e.rgb();var t=e.r/255,n=e.g/255,i=e.b/255,a=Hn(t,n,i),d=Rn(t,n,i),r=NaN,c=d-a,s=(d+a)/2;return c?(r=t===d?(n-i)/c+6*(n<i):n===d?(i-t)/c+2:(t-n)/c+4,c/=0.5>s?d+a:2-d-a,r*=60):c=0<s&&1>s?0:r,new F(r,c,s,e.opacity)}function F(e,t,n,i){this.h=+e,this.s=+t,this.l=+n,this.opacity=+i}function P(e,t,n){return 255*(60>e?t+(n-t)*e/60:180>e?n:240>e?t+(n-t)*(240-e)/60:t)}function H(e){if(e instanceof Y)return new Y(e.l,e.a,e.b,e.opacity);if(e instanceof X){var t=e.h*ya;return new Y(e.l,Mn(t)*e.c,Dn(t)*e.c,e.opacity)}e instanceof j||(e=I(e));var n=$(e.r),i=$(e.g),a=$(e.b),d=W((0.4124564*n+0.3575761*i+0.1804375*a)/Kn),r=W((0.2126729*n+0.7151522*i+0.072175*a)/Xn),o=W((0.0193339*n+0.119192*i+0.9503041*a)/Yn);return new Y(116*r-16,500*(d-r),200*(r-o),e.opacity)}function Y(e,t,n,i){this.l=+e,this.a=+t,this.b=+n,this.opacity=+i}function W(e){return e>Sa?In(e,1/3):e/wa+Zn}function V(e){return e>va?e*e*e:wa*(e-Zn)}function K(e){return 255*(0.0031308>=e?12.92*e:1.055*In(e,1/2.4)-0.055)}function $(e){return 0.04045>=(e/=255)?e/12.92:In((e+0.055)/1.055,2.4)}function z(e){if(e instanceof X)return new X(e.h,e.c,e.l,e.opacity);e instanceof Y||(e=H(e));var t=En(e.b,e.a)*xa;return new X(0>t?t+360:t,An(e.a*e.a+e.b*e.b),e.l,e.opacity)}function X(e,t,n,i){this.h=+e,this.c=+t,this.l=+n,this.opacity=+i}function J(e){if(e instanceof Z)return new Z(e.h,e.s,e.l,e.opacity);e instanceof j||(e=I(e));var t=e.r/255,n=e.g/255,i=e.b/255,a=(_a*i+E*t-Ta*n)/(_a+E-Ta),d=i-a,r=(D*(n-a)-B*d)/C,o=An(r*r+d*d)/(D*a*(1-a)),l=o?En(r,d)*xa-120:NaN;return new Z(0>l?l+360:l,o,a,e.opacity)}function Q(e,t,n,i){return 1===arguments.length?J(e):new Z(e,t,n,null==i?1:i)}function Z(e,t,n,i){this.h=+e,this.s=+t,this.l=+n,this.opacity=+i}function G(e,n){return function(i){return e+i*n}}function ee(e,n,i){return e=In(e,i),n=In(n,i)-e,i=1/i,function(a){return In(e+a*n,i)}}function te(e){return 1==(e=+e)?ne:function(t,n){return n-t?ee(t,n,e):La(isNaN(t)?n:t)}}function ne(e,t){var n=t-e;return n?G(e,n):La(isNaN(e)?t:e)}function ie(e){return function(){return e}}function ae(e){return function(n){return e(n)+''}}function de(e){return function t(n){function i(i,t){var a=e((i=Q(i)).h,(t=Q(t)).h),d=ne(i.s,t.s),r=ne(i.l,t.l),o=ne(i.opacity,t.opacity);return function(e){return i.h=a(e),i.s=d(e),i.l=r(In(e,n)),i.opacity=o(e),i+''}}return n=+n,i.gamma=t,i}(1)}function oe(e,t){return(t-=e=+e)?function(n){return(n-e)/t}:Pa(t)}function le(e){return function(t,n){var i=e(t=+t,n=+n);return function(e){return e<=t?0:e>=n?1:i(e)}}}function se(e){return function(n,i){var d=e(n=+n,i=+i);return function(e){return 0>=e?n:1<=e?i:d(e)}}}function ce(e,t,n,i){var a=e[0],d=e[1],r=t[0],o=t[1];return d<a?(a=n(d,a),r=i(o,r)):(a=n(a,d),r=i(r,o)),function(e){return r(a(e))}}function ue(e,t,n,a){var o=Hn(e.length,t.length)-1,l=Array(o),d=Array(o),r=-1;for(e[o]<e[0]&&(e=e.slice().reverse(),t=t.slice().reverse());++r<o;)l[r]=n(e[r],e[r+1]),d[r]=a(t[r],t[r+1]);return function(t){var n=Qi(e,t,1,o)-1;return d[n](l[n](t))}}function pe(e,t){return t.domain(e.domain()).range(e.range()).interpolate(e.interpolate()).clamp(e.clamp())}function ge(e,t){function n(){return a=2<Hn(o.length,l.length)?ue:ce,d=r=null,i}function i(t){return(d||(d=a(o,l,c?le(e):e,s)))(+t)}var a,d,r,o=za,l=za,s=ja,c=!1;return i.invert=function(e){return(r||(r=a(l,o,oe,c?se(t):t)))(+e)},i.domain=function(e){return arguments.length?(o=aa.call(e,Ha),n()):o.slice()},i.range=function(e){return arguments.length?(l=da.call(e),n()):l.slice()},i.rangeRound=function(e){return l=da.call(e),s=Ra,n()},i.clamp=function(e){return arguments.length?(c=!!e,n()):c},i.interpolate=function(e){return arguments.length?(s=e,n()):s},n()}function fe(e){return new he(e)}function he(e){if(!(t=Xa.exec(e)))throw new Error('invalid format: '+e);var t,n=t[1]||' ',i=t[2]||'>',a=t[3]||'-',d=t[4]||'',r=!!t[5],o=t[6]&&+t[6],l=!!t[7],s=t[8]&&+t[8].slice(1),c=t[9]||'';'n'===c?(l=!0,c='g'):!$a[c]&&(c=''),(r||'0'===n&&'='===i)&&(r=!0,n='0',i='='),this.fill=n,this.align=i,this.sign=a,this.symbol=d,this.zero=r,this.width=o,this.comma=l,this.precision=s,this.type=c}function be(e){var t=e.domain;return e.ticks=function(e){var n=t();return na(n[0],n[n.length-1],null==e?10:e)},e.tickFormat=function(e,n){return ad(t(),e,n)},e.nice=function(n){null==n&&(n=10);var i,a=t(),d=0,r=a.length-1,o=a[d],l=a[r];return l<o&&(i=o,o=l,l=i,i=d,d=r,r=i),i=w(o,l,n),0<i?(o=Fn(o/i)*i,l=qn(l/i)*i,i=w(o,l,n)):0>i&&(o=qn(o*i)/i,l=Fn(l*i)/i,i=w(o,l,n)),0<i?(a[d]=Fn(o/i)*i,a[r]=qn(l/i)*i,t(a)):0>i&&(a[d]=qn(o*i)/i,a[r]=Fn(l*i)/i,t(a)),e},e}function me(){var e=ge(oe,Ma);return e.copy=function(){return pe(e,me())},be(e)}function ye(e,t,n,i){function a(t){return e(t=new Date(+t)),t}return a.floor=a,a.ceil=function(n){return e(n=new Date(n-1)),t(n,1),e(n),n},a.round=function(e){var t=a(e),n=a.ceil(e);return e-t<n-e?t:n},a.offset=function(e,n){return t(e=new Date(+e),null==n?1:Fn(n)),e},a.range=function(n,i,d){var r=[];if(n=a.ceil(n),d=null==d?1:Fn(d),!(n<i)||!(0<d))return r;do r.push(new Date(+n));while((t(n,d),e(n),n<i));return r},a.filter=function(n){return ye(function(t){if(t>=t)for(;e(t),!n(t);)t.setTime(t-1)},function(e,i){if(e>=e)if(0>i)for(;0>=++i;)for(;t(e,-1),!n(e););else for(;0<=--i;)for(;t(e,1),!n(e););})},n&&(a.count=function(t,i){return dd.setTime(+t),rd.setTime(+i),e(dd),e(rd),Fn(n(dd,rd))},a.every=function(e){return e=Fn(e),isFinite(e)&&0<e?1<e?a.filter(i?function(t){return 0==i(t)%e}:function(t){return 0==a.count(0,t)%e}):a:null}),a}function xe(e){return ye(function(t){t.setDate(t.getDate()-(t.getDay()+7-e)%7),t.setHours(0,0,0,0)},function(e,t){e.setDate(e.getDate()+7*t)},function(e,t){return(t-e-(t.getTimezoneOffset()-e.getTimezoneOffset())*sd)/pd})}function ke(e){return ye(function(t){t.setUTCDate(t.getUTCDate()-(t.getUTCDay()+7-e)%7),t.setUTCHours(0,0,0,0)},function(e,t){e.setUTCDate(e.getUTCDate()+7*t)},function(e,t){return(t-e)/pd})}function ve(e){if(0<=e.y&&100>e.y){var t=new Date(-1,e.m,e.d,e.H,e.M,e.S,e.L);return t.setFullYear(e.y),t}return new Date(e.y,e.m,e.d,e.H,e.M,e.S,e.L)}function we(e){if(0<=e.y&&100>e.y){var t=new Date(Date.UTC(-1,e.m,e.d,e.H,e.M,e.S,e.L));return t.setUTCFullYear(e.y),t}return new Date(Date.UTC(e.y,e.m,e.d,e.H,e.M,e.S,e.L))}function Se(e){return{y:e,m:0,d:1,H:0,M:0,S:0,L:0}}function Ce(e){function t(e,t){return function(a){var d,r,o,l=[],s=-1,i=0,c=e.length;for(a instanceof Date||(a=new Date(+a));++s<c;)37===e.charCodeAt(s)&&(l.push(e.slice(i,s)),null==(r=Hd[d=e.charAt(++s)])?r='e'===d?' ':'0':d=e.charAt(++s),(o=t[d])&&(d=o(a,r)),l.push(d),i=s+1);return l.push(e.slice(i,s)),l.join('')}}function n(e,t){return function(n){var r=Se(1900),d=a(r,e,n+='',0);if(d!=n.length)return null;if('p'in r&&(r.H=r.H%12+12*r.p),'W'in r||'U'in r){'w'in r||(r.w='W'in r?1:0);var i='Z'in r?we(Se(r.y)).getUTCDay():t(Se(r.y)).getDay();r.m=0,r.d='W'in r?(r.w+6)%7+7*r.W-(i+5)%7:r.w+7*r.U-(i+6)%7}return'Z'in r?(r.H+=0|r.Z/100,r.M+=r.Z%100,we(r)):t(r)}}function a(e,t,a,d){for(var r,o,l=0,i=t.length,n=a.length;l<i;){if(d>=n)return-1;if(r=t.charCodeAt(l++),37===r){if(r=t.charAt(l++),o=C[r in Hd?t.charAt(l++):r],!o||0>(d=o(e,a,d)))return-1;}else if(r!=a.charCodeAt(d++))return-1}return d}var r=e.dateTime,o=e.date,l=e.time,i=e.periods,s=e.days,c=e.shortDays,u=e.months,p=e.shortMonths,g=Le(i),f=Ae(i),h=Le(s),b=Ae(s),m=Le(c),y=Ae(c),x=Le(u),k=Ae(u),v=Le(p),w=Ae(p),d={a:function(e){return c[e.getDay()]},A:function(e){return s[e.getDay()]},b:function(e){return p[e.getMonth()]},B:function(e){return u[e.getMonth()]},c:null,d:Ye,e:Ye,H:Be,I:We,j:Ve,L:Ke,m:$e,M:Xe,p:function(e){return i[+(12<=e.getHours())]},S:Je,U:Qe,w:Ze,W:Ge,x:null,X:null,y:et,Y:tt,Z:nt,"%":mt},S={a:function(e){return c[e.getUTCDay()]},A:function(e){return s[e.getUTCDay()]},b:function(e){return p[e.getUTCMonth()]},B:function(e){return u[e.getUTCMonth()]},c:null,d:it,e:it,H:at,I:dt,j:rt,L:ot,m:lt,M:st,p:function(e){return i[+(12<=e.getUTCHours())]},S:ct,U:ut,w:pt,W:gt,x:null,X:null,y:ft,Y:ht,Z:bt,"%":mt},C={a:function(e,t,a){var i=m.exec(t.slice(a));return i?(e.w=y[i[0].toLowerCase()],a+i[0].length):-1},A:function(e,t,a){var i=h.exec(t.slice(a));return i?(e.w=b[i[0].toLowerCase()],a+i[0].length):-1},b:function(e,t,a){var i=v.exec(t.slice(a));return i?(e.m=w[i[0].toLowerCase()],a+i[0].length):-1},B:function(e,t,a){var i=x.exec(t.slice(a));return i?(e.m=k[i[0].toLowerCase()],a+i[0].length):-1},c:function(e,t,n){return a(e,r,t,n)},d:je,e:je,H:qe,I:qe,j:Re,L:He,m:Ne,M:Fe,p:function(e,t,a){var i=g.exec(t.slice(a));return i?(e.p=f[i[0].toLowerCase()],a+i[0].length):-1},S:Pe,U:De,w:Ee,W:Me,x:function(e,t,n){return a(e,o,t,n)},X:function(e,t,n){return a(e,l,t,n)},y:Ue,Y:Oe,Z:Ie,"%":ze};return d.x=t(o,d),d.X=t(l,d),d.c=t(r,d),S.x=t(o,S),S.X=t(l,S),S.c=t(r,S),{format:function(e){var n=t(e+='',d);return n.toString=function(){return e},n},parse:function(e){var t=n(e+='',ve);return t.toString=function(){return e},t},utcFormat:function(e){var n=t(e+='',S);return n.toString=function(){return e},n},utcParse:function(e){var t=n(e,we);return t.toString=function(){return e},t}}}function Te(e,t,n){var i=0>e?'-':'',a=(i?-e:e)+'',d=a.length;return i+(d<n?Array(n-d+1).join(t)+a:a)}function _e(e){return e.replace(Bd,'\\$&')}function Le(e){return new RegExp('^(?:'+e.map(_e).join('|')+')','i')}function Ae(e){for(var t={},a=-1,i=e.length;++a<i;)t[e[a].toLowerCase()]=a;return t}function Ee(e,t,a){var i=zd.exec(t.slice(a,a+1));return i?(e.w=+i[0],a+i[0].length):-1}function De(e,t,a){var i=zd.exec(t.slice(a));return i?(e.U=+i[0],a+i[0].length):-1}function Me(e,t,a){var i=zd.exec(t.slice(a));return i?(e.W=+i[0],a+i[0].length):-1}function Oe(e,t,a){var i=zd.exec(t.slice(a,a+4));return i?(e.y=+i[0],a+i[0].length):-1}function Ue(e,t,a){var i=zd.exec(t.slice(a,a+2));return i?(e.y=+i[0]+(68<+i[0]?1900:2e3),a+i[0].length):-1}function Ie(e,t,a){var i=/^(Z)|([+-]\d\d)(?:\:?(\d\d))?/.exec(t.slice(a,a+6));return i?(e.Z=i[1]?0:-(i[2]+(i[3]||'00')),a+i[0].length):-1}function Ne(e,t,a){var i=zd.exec(t.slice(a,a+2));return i?(e.m=i[0]-1,a+i[0].length):-1}function je(e,t,a){var i=zd.exec(t.slice(a,a+2));return i?(e.d=+i[0],a+i[0].length):-1}function Re(e,t,a){var i=zd.exec(t.slice(a,a+3));return i?(e.m=0,e.d=+i[0],a+i[0].length):-1}function qe(e,t,a){var i=zd.exec(t.slice(a,a+2));return i?(e.H=+i[0],a+i[0].length):-1}function Fe(e,t,a){var i=zd.exec(t.slice(a,a+2));return i?(e.M=+i[0],a+i[0].length):-1}function Pe(e,t,a){var i=zd.exec(t.slice(a,a+2));return i?(e.S=+i[0],a+i[0].length):-1}function He(e,t,a){var i=zd.exec(t.slice(a,a+3));return i?(e.L=+i[0],a+i[0].length):-1}function ze(e,t,a){var i=Yd.exec(t.slice(a,a+1));return i?a+i[0].length:-1}function Ye(e,t){return Te(e.getDate(),t,2)}function Be(e,t){return Te(e.getHours(),t,2)}function We(e,t){return Te(e.getHours()%12||12,t,2)}function Ve(e,t){return Te(1+bd.count(Td(e),e),t,3)}function Ke(e,t){return Te(e.getMilliseconds(),t,3)}function $e(e,t){return Te(e.getMonth()+1,t,2)}function Xe(e,t){return Te(e.getMinutes(),t,2)}function Je(e,t){return Te(e.getSeconds(),t,2)}function Qe(e,t){return Te(md.count(Td(e),e),t,2)}function Ze(e){return e.getDay()}function Ge(e,t){return Te(yd.count(Td(e),e),t,2)}function et(e,t){return Te(e.getFullYear()%100,t,2)}function tt(e,t){return Te(e.getFullYear()%1e4,t,4)}function nt(e){var t=e.getTimezoneOffset();return(0<t?'-':(t*=-1,'+'))+Te(0|t/60,'0',2)+Te(t%60,'0',2)}function it(e,t){return Te(e.getUTCDate(),t,2)}function at(e,t){return Te(e.getUTCHours(),t,2)}function dt(e,t){return Te(e.getUTCHours()%12||12,t,2)}function rt(e,t){return Te(1+Ad.count(Rd(e),e),t,3)}function ot(e,t){return Te(e.getUTCMilliseconds(),t,3)}function lt(e,t){return Te(e.getUTCMonth()+1,t,2)}function st(e,t){return Te(e.getUTCMinutes(),t,2)}function ct(e,t){return Te(e.getUTCSeconds(),t,2)}function ut(e,t){return Te(Ed.count(Rd(e),e),t,2)}function pt(e){return e.getUTCDay()}function gt(e,t){return Te(Dd.count(Rd(e),e),t,2)}function ft(e,t){return Te(e.getUTCFullYear()%100,t,2)}function ht(e,t){return Te(e.getUTCFullYear()%1e4,t,4)}function bt(){return'+0000'}function mt(){return'%'}function yt(e){var i=e.length;return function(n){return e[Rn(0,Hn(i-1,Fn(n*i)))]}}function xt(){for(var e,t=0,i=arguments.length,n={};t<i;++t){if(!(e=arguments[t]+'')||e in n)throw new Error('illegal type: '+e);n[e]=[]}return new kt(n)}function kt(e){this._=e}function vt(e,n){return e.trim().split(/^|\s+/).map(function(e){var a='',d=e.indexOf('.');if(0<=d&&(a=e.slice(d+1),e=e.slice(0,d)),e&&!n.hasOwnProperty(e))throw new Error('unknown type: '+e);return{type:e,name:a}})}function wt(e,t){for(var a,d=0,i=e.length;d<i;++d)if((a=e[d]).name===t)return a.value}function St(e,t,a){for(var d=0,i=e.length;d<i;++d)if(e[d].name===t){e[d]=tr,e=e.slice(0,d).concat(e.slice(d+1));break}return null!=a&&e.push({name:t,value:a}),e}function Ct(e){return function(){var t=this.ownerDocument,n=this.namespaceURI;return n===nr&&t.documentElement.namespaceURI===nr?t.createElement(e):t.createElementNS(n,e)}}function Tt(e){return function(){return this.ownerDocument.createElementNS(e.space,e.local)}}function _t(e,t,n){return e=Lt(e,t,n),function(t){var n=t.relatedTarget;n&&(n===this||8&n.compareDocumentPosition(this))||e.call(this,t)}}function Lt(e,t,n){return function(i){var a=ur;ur=i;try{e.call(this,this.__data__,t,n)}finally{ur=a}}}function At(e){return e.trim().split(/^|\s+/).map(function(e){var n='',a=e.indexOf('.');return 0<=a&&(n=e.slice(a+1),e=e.slice(0,a)),{type:e,name:n}})}function Et(e){return function(){var t=this.__on;if(t){for(var n,a=0,d=-1,i=t.length;a<i;++a)(n=t[a],(!e.type||n.type===e.type)&&n.name===e.name)?this.removeEventListener(n.type,n.listener,n.capture):t[++d]=n;++d?t.length=d:delete this.__on}}}function Dt(e,t,n){var a=cr.hasOwnProperty(e.type)?_t:Lt;return function(r,d,i){var l,o=this.__on,s=a(t,d,i);if(o)for(var c=0,u=o.length;c<u;++c)if((l=o[c]).type===e.type&&l.name===e.name)return this.removeEventListener(l.type,l.listener,l.capture),this.addEventListener(l.type,l.listener=s,l.capture=n),void(l.value=t);this.addEventListener(e.type,s,n),l={type:e.type,name:e.name,value:t,listener:s,capture:n},o?o.push(l):this.__on=[l]}}function Mt(e,t,n,i){var a=ur;e.sourceEvent=ur,ur=e;try{return t.apply(n,i)}finally{ur=a}}function Ot(){}function Ut(){return[]}function It(e,t){this.ownerDocument=e.ownerDocument,this.namespaceURI=e.namespaceURI,this._next=null,this._parent=e,this.__data__=t}function Nt(e,t,n,a,d,r){for(var o,l=0,i=t.length,s=r.length;l<s;++l)(o=t[l])?(o.__data__=r[l],a[l]=o):n[l]=new It(e,r[l]);for(;l<i;++l)(o=t[l])&&(d[l]=o)}function jt(e,t,n,a,d,r,o){var l,i,s,c={},u=t.length,p=r.length,g=Array(u);for(l=0;l<u;++l)(i=t[l])&&(g[l]=s=kr+o.call(i,i.__data__,l,t),s in c?d[l]=i:c[s]=i);for(l=0;l<p;++l)s=kr+o.call(e,r[l],l,r),(i=c[s])?(a[l]=i,i.__data__=r[l],c[s]=null):n[l]=new It(e,r[l]);for(l=0;l<u;++l)(i=t[l])&&c[g[l]]===i&&(d[l]=i)}function Rt(e,t){return e<t?-1:e>t?1:e>=t?0:NaN}function qt(e){return function(){this.removeAttribute(e)}}function Ft(e){return function(){this.removeAttributeNS(e.space,e.local)}}function Pt(e,t){return function(){this.setAttribute(e,t)}}function Ht(e,t){return function(){this.setAttributeNS(e.space,e.local,t)}}function zt(e,t){return function(){var n=t.apply(this,arguments);null==n?this.removeAttribute(e):this.setAttribute(e,n)}}function Yt(e,t){return function(){var n=t.apply(this,arguments);null==n?this.removeAttributeNS(e.space,e.local):this.setAttributeNS(e.space,e.local,n)}}function Bt(e){return function(){this.style.removeProperty(e)}}function Wt(e,t,n){return function(){this.style.setProperty(e,t,n)}}function Vt(e,t,n){return function(){var i=t.apply(this,arguments);null==i?this.style.removeProperty(e):this.style.setProperty(e,i,n)}}function Kt(e,t){return e.style.getPropertyValue(t)||vr(e).getComputedStyle(e,null).getPropertyValue(t)}function $t(e){return function(){delete this[e]}}function Xt(e,t){return function(){this[e]=t}}function Jt(e,t){return function(){var n=t.apply(this,arguments);null==n?delete this[e]:this[e]=n}}function Qt(e){return e.trim().split(/^|\s+/)}function Zt(e){return e.classList||new Gt(e)}function Gt(e){this._node=e,this._names=Qt(e.getAttribute('class')||'')}function en(e,t){for(var a=Zt(e),d=-1,i=t.length;++d<i;)a.add(t[d])}function tn(e,t){for(var a=Zt(e),d=-1,i=t.length;++d<i;)a.remove(t[d])}function nn(e){return function(){en(this,e)}}function an(e){return function(){tn(this,e)}}function dn(e,t){return function(){(t.apply(this,arguments)?en:tn)(this,e)}}function rn(){this.textContent=''}function on(e){return function(){this.textContent=e}}function ln(e){return function(){var t=e.apply(this,arguments);this.textContent=null==t?'':t}}function sn(){this.innerHTML=''}function cn(e){return function(){this.innerHTML=e}}function un(e){return function(){var t=e.apply(this,arguments);this.innerHTML=null==t?'':t}}function pn(){this.nextSibling&&this.parentNode.appendChild(this)}function gn(){this.previousSibling&&this.parentNode.insertBefore(this,this.parentNode.firstChild)}function fn(){return null}function hn(){var e=this.parentNode;e&&e.removeChild(this)}function bn(e,t,n){var i=vr(e),a=i.CustomEvent;'function'==typeof a?a=new a(t,n):(a=i.document.createEvent('Event'),n?(a.initEvent(t,n.bubbles,n.cancelable),a.detail=n.detail):a.initEvent(t,!1,!1)),e.dispatchEvent(a)}function mn(e,t){return function(){return bn(this,e,t)}}function yn(e,t){return function(){return bn(this,e,t.apply(this,arguments))}}function xn(e,t){this._groups=e,this._parents=t}function kn(){ur.stopImmediatePropagation()}function vn(e,t){var n=e.document.documentElement,i=Sr(e).on('dragstart.drag',null);t&&(i.on('click.drag',Tr,!0),setTimeout(function(){i.on('click.drag',null)},0)),'onselectstart'in n?i.on('selectstart.drag',null):(n.style.MozUserSelect=n.__noselect,delete n.__noselect)}function wn(e,t,n,i,a,d,r,o,l,s){this.target=e,this.type=t,this.subject=n,this.identifier=i,this.active=a,this.x=d,this.y=r,this.dx=o,this.dy=l,this._=s}function Sn(){return!ur.button}function Cn(){return this.parentNode}function Tn(e){return null==e?{x:ur.x,y:ur.y}:e}function _n(){return'ontouchstart'in this}function Ln(e){let t=Nr;'undefined'!=typeof e.githubUrl&&(t+=` + <h3 id="updates-and-corrections">Updates and Corrections</h3> + <p>`,e.githubCompareUpdatesUrl&&(t+=`<a href="${e.githubCompareUpdatesUrl}">View all changes</a> to this article since it was first published.`),t+=` + If you see mistakes or want to suggest changes, please <a href="${e.githubUrl+'/issues/new'}">create an issue on GitHub</a>. </p> + `);const n=e.journal;return'undefined'!=typeof n&&'Distill'===n.title&&(t+=` + <h3 id="reuse">Reuse</h3> + <p>Diagrams and text are licensed under Creative Commons Attribution <a href="https://creativecommons.org/licenses/by/4.0/">CC-BY 4.0</a> with the <a class="github" href="${e.githubUrl}">source available on GitHub</a>, unless noted otherwise. The figures that have been reused from other sources don’t fall under this license and can be recognized by a note in their caption: “Figure from …”.</p> + `),'undefined'!=typeof e.publishedDate&&(t+=` + <h3 id="citation">Citation</h3> + <p>For attribution in academic contexts, please cite this work as</p> + <pre class="citation short">${e.concatenatedAuthors}, "${e.title}", Distill, ${e.publishedYear}.</pre> + <p>BibTeX citation</p> + <pre class="citation long">${m(e)}</pre> + `),t}var An=Math.sqrt,En=Math.atan2,Dn=Math.sin,Mn=Math.cos,On=Math.PI,Un=Math.abs,In=Math.pow,Nn=Math.LN10,jn=Math.log,Rn=Math.max,qn=Math.ceil,Fn=Math.floor,Pn=Math.round,Hn=Math.min;const zn=['Sunday','Monday','Tuesday','Wednesday','Thursday','Friday','Saturday'],Bn=['Jan.','Feb.','March','April','May','June','July','Aug.','Sept.','Oct.','Nov.','Dec.'],Wn=(e)=>10>e?'0'+e:e,Vn=function(e){const t=zn[e.getDay()].substring(0,3),n=Wn(e.getDate()),i=Bn[e.getMonth()].substring(0,3),a=e.getFullYear().toString(),d=e.getUTCHours().toString(),r=e.getUTCMinutes().toString(),o=e.getUTCSeconds().toString();return`${t}, ${n} ${i} ${a} ${d}:${r}:${o} Z`},$n=function(e){const t=Array.from(e).reduce((e,[t,n])=>Object.assign(e,{[t]:n}),{});return t},Jn=function(e){const t=new Map;for(var n in e)e.hasOwnProperty(n)&&t.set(n,e[n]);return t};class Qn{constructor(e){this.name=e.author,this.personalURL=e.authorURL,this.affiliation=e.affiliation,this.affiliationURL=e.affiliationURL,this.affiliations=e.affiliations||[]}get firstName(){const e=this.name.split(' ');return e.slice(0,e.length-1).join(' ')}get lastName(){const e=this.name.split(' ');return e[e.length-1]}}class Gn{constructor(){this.title='unnamed article',this.description='',this.authors=[],this.bibliography=new Map,this.bibliographyParsed=!1,this.citations=[],this.citationsCollected=!1,this.journal={},this.katex={},this.publishedDate=void 0}set url(e){this._url=e}get url(){if(this._url)return this._url;return this.distillPath&&this.journal.url?this.journal.url+'/'+this.distillPath:this.journal.url?this.journal.url:void 0}get githubUrl(){return this.githubPath?'https://github.com/'+this.githubPath:void 0}set previewURL(e){this._previewURL=e}get previewURL(){return this._previewURL?this._previewURL:this.url+'/thumbnail.jpg'}get publishedDateRFC(){return Vn(this.publishedDate)}get updatedDateRFC(){return Vn(this.updatedDate)}get publishedYear(){return this.publishedDate.getFullYear()}get publishedMonth(){return Bn[this.publishedDate.getMonth()]}get publishedDay(){return this.publishedDate.getDate()}get publishedMonthPadded(){return Wn(this.publishedDate.getMonth()+1)}get publishedDayPadded(){return Wn(this.publishedDate.getDate())}get publishedISODateOnly(){return this.publishedDate.toISOString().split('T')[0]}get volume(){const e=this.publishedYear-2015;if(1>e)throw new Error('Invalid publish date detected during computing volume');return e}get issue(){return this.publishedDate.getMonth()+1}get concatenatedAuthors(){if(2<this.authors.length)return this.authors[0].lastName+', et al.';return 2===this.authors.length?this.authors[0].lastName+' & '+this.authors[1].lastName:1===this.authors.length?this.authors[0].lastName:void 0}get bibtexAuthors(){return this.authors.map((e)=>{return e.lastName+', '+e.firstName}).join(' and ')}get slug(){let e='';return this.authors.length&&(e+=this.authors[0].lastName.toLowerCase(),e+=this.publishedYear,e+=this.title.split(' ')[0].toLowerCase()),e||'Untitled'}get bibliographyEntries(){return new Map(this.citations.map((e)=>{const t=this.bibliography.get(e);return[e,t]}))}set bibliography(e){e instanceof Map?this._bibliography=e:'object'==typeof e&&(this._bibliography=Jn(e))}get bibliography(){return this._bibliography}static fromObject(e){const t=new Gn;return Object.assign(t,e),t}assignToObject(e){Object.assign(e,this),e.bibliography=$n(this.bibliographyEntries),e.url=this.url,e.githubUrl=this.githubUrl,e.previewURL=this.previewURL,this.publishedDate&&(e.volume=this.volume,e.issue=this.issue,e.publishedDateRFC=this.publishedDateRFC,e.publishedYear=this.publishedYear,e.publishedMonth=this.publishedMonth,e.publishedDay=this.publishedDay,e.publishedMonthPadded=this.publishedMonthPadded,e.publishedDayPadded=this.publishedDayPadded),this.updatedDate&&(e.updatedDateRFC=this.updatedDateRFC),e.concatenatedAuthors=this.concatenatedAuthors,e.bibtexAuthors=this.bibtexAuthors,e.slug=this.slug}}const ei=(e)=>{return class extends e{constructor(){super();const e={childList:!0,characterData:!0,subtree:!0},t=new MutationObserver(()=>{t.disconnect(),this.renderIfPossible(),t.observe(this,e)});t.observe(this,e)}connectedCallback(){super.connectedCallback(),this.renderIfPossible()}renderIfPossible(){this.textContent&&this.root&&this.renderContent()}renderContent(){console.error(`Your class ${this.constructor.name} must provide a custom renderContent() method!`)}}},ti=(e,t,n=!0)=>{return(i)=>{const a=document.createElement('template');return a.innerHTML=t,n&&'ShadyCSS'in window&&ShadyCSS.prepareTemplate(a,e),class extends i{static get is(){return e}constructor(){super(),this.clone=document.importNode(a.content,!0),n&&(this.attachShadow({mode:'open'}),this.shadowRoot.appendChild(this.clone))}connectedCallback(){n?'ShadyCSS'in window&&ShadyCSS.styleElement(this):this.insertBefore(this.clone,this.firstChild)}get root(){return n?this.shadowRoot:this}$(e){return this.root.querySelector(e)}$$(e){return this.root.querySelectorAll(e)}}}};var ni='/*\n * Copyright 2018 The Distill Template Authors\n *\n * Licensed under the Apache License, Version 2.0 (the "License");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an "AS IS" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nspan.katex-display {\n text-align: left;\n padding: 8px 0 8px 0;\n margin: 0.5em 0 0.5em 1em;\n}\n\nspan.katex {\n -webkit-font-smoothing: antialiased;\n color: rgba(0, 0, 0, 0.8);\n font-size: 1.18em;\n}\n';const ii=function(e,t,n){let i=n,a=0;for(const d=e.length;i<t.length;){const n=t[i];if(0>=a&&t.slice(i,i+d)===e)return i;'\\'===n?i++:'{'===n?a++:'}'===n&&a--;i++}return-1},ai=function(e,t,n,i){const a=[];for(let d=0;d<e.length;d++)if('text'===e[d].type){const r=e[d].data;let o,l=!0,s=0;for(o=r.indexOf(t),-1!==o&&(s=o,a.push({type:'text',data:r.slice(0,s)}),l=!1);;){if(l){if(o=r.indexOf(t,s),-1===o)break;a.push({type:'text',data:r.slice(s,o)}),s=o}else{if(o=ii(n,r,s+t.length),-1===o)break;a.push({type:'math',data:r.slice(s+t.length,o),rawData:r.slice(s,o+n.length),display:i}),s=o+n.length}l=!l}a.push({type:'text',data:r.slice(s)})}else a.push(e[d]);return a},di=function(e,t){let n=[{type:'text',data:e}];for(let a=0;a<t.length;a++){const e=t[a];n=ai(n,e.left,e.right,e.display||!1)}return n},ri=function(e,t){const n=di(e,t.delimiters),a=document.createDocumentFragment();for(let d=0;d<n.length;d++)if('text'===n[d].type)a.appendChild(document.createTextNode(n[d].data));else{const e=document.createElement('d-math'),i=n[d].data;t.displayMode=n[d].display;try{e.textContent=i,t.displayMode&&e.setAttribute('block','')}catch(i){if(!(i instanceof katex.ParseError))throw i;t.errorCallback('KaTeX auto-render: Failed to parse `'+n[d].data+'` with ',i),a.appendChild(document.createTextNode(n[d].rawData));continue}a.appendChild(e)}return a},oi=function(e,t){for(let n=0;n<e.childNodes.length;n++){const i=e.childNodes[n];if(3===i.nodeType){const a=ri(i.textContent,t);n+=a.childNodes.length-1,e.replaceChild(a,i)}else if(1===i.nodeType){const e=-1===t.ignoredTags.indexOf(i.nodeName.toLowerCase());e&&oi(i,t)}}},li={delimiters:[{left:'$$',right:'$$',display:!0},{left:'\\[',right:'\\]',display:!0},{left:'\\(',right:'\\)',display:!1}],ignoredTags:['script','noscript','style','textarea','pre','code','svg'],errorCallback:function(e,t){console.error(e,t)}},si=function(e,t){if(!e)throw new Error('No element provided to render');const n=Object.assign({},li,t);oi(e,n)},ci='<link rel="stylesheet" href="https://distill.pub/third-party/katex/katex.min.css" crossorigin="anonymous">',ui=ti('d-math',` +${ci} +<style> + +:host { + display: inline-block; + contain: content; +} + +:host([block]) { + display: block; +} + +${ni} +</style> +<span id='katex-container'></span> +`);class T extends ei(ui(HTMLElement)){static set katexOptions(e){T._katexOptions=e,T.katexOptions.delimiters&&(T.katexAdded?T.katexLoadedCallback():T.addKatex())}static get katexOptions(){return T._katexOptions||(T._katexOptions={delimiters:[{left:'$$',right:'$$',display:!1}]}),T._katexOptions}static katexLoadedCallback(){const e=document.querySelectorAll('d-math');for(const t of e)t.renderContent();if(T.katexOptions.delimiters){const e=document.querySelector('d-article');si(e,T.katexOptions)}}static addKatex(){document.head.insertAdjacentHTML('beforeend',ci);const e=document.createElement('script');e.src='https://distill.pub/third-party/katex/katex.min.js',e.async=!0,e.onload=T.katexLoadedCallback,e.crossorigin='anonymous',document.head.appendChild(e),T.katexAdded=!0}get options(){const e={displayMode:this.hasAttribute('block')};return Object.assign(e,T.katexOptions)}connectedCallback(){super.connectedCallback(),T.katexAdded||T.addKatex()}renderContent(){if('undefined'!=typeof katex){const e=this.root.querySelector('#katex-container');katex.render(this.textContent,e,this.options)}}}T.katexAdded=!1,T.inlineMathRendered=!1,window.DMath=T;class pi extends HTMLElement{static get is(){return'd-front-matter'}constructor(){super();const e=new MutationObserver((e)=>{for(const t of e)if('SCRIPT'===t.target.nodeName||'characterData'===t.type){const e=c(this);this.notify(e)}});e.observe(this,{childList:!0,characterData:!0,subtree:!0})}notify(e){const t=new CustomEvent('onFrontMatterChanged',{detail:e,bubbles:!0});document.dispatchEvent(t)}}var gi=function(e,t){const n=e.body,i=n.querySelector('d-article');if(!i)return void console.warn('No d-article tag found; skipping adding optional components!');let a=e.querySelector('d-byline');a||(t.authors?(a=e.createElement('d-byline'),n.insertBefore(a,i)):console.warn('No authors found in front matter; please add them before submission!'));let d=e.querySelector('d-title');d||(d=e.createElement('d-title'),n.insertBefore(d,a));let r=d.querySelector('h1');r||(r=e.createElement('h1'),r.textContent=t.title,d.insertBefore(r,d.firstChild));const o='undefined'!=typeof t.password;let l=n.querySelector('d-interstitial');if(o&&!l){const i='undefined'!=typeof window,a=i&&window.location.hostname.includes('localhost');i&&a||(l=e.createElement('d-interstitial'),l.password=t.password,n.insertBefore(l,n.firstChild))}else!o&&l&&l.parentElement.removeChild(this);let s=e.querySelector('d-appendix');s||(s=e.createElement('d-appendix'),e.body.appendChild(s));let c=e.querySelector('d-footnote-list');c||(c=e.createElement('d-footnote-list'),s.appendChild(c));let u=e.querySelector('d-citation-list');u||(u=e.createElement('d-citation-list'),s.appendChild(u))};const fi=new Gn,hi={frontMatter:fi,waitingOn:{bibliography:[],citations:[]},listeners:{onCiteKeyCreated(e){const[t,n]=e.detail;if(!fi.citationsCollected)return void hi.waitingOn.citations.push(()=>hi.listeners.onCiteKeyCreated(e));if(!fi.bibliographyParsed)return void hi.waitingOn.bibliography.push(()=>hi.listeners.onCiteKeyCreated(e));const i=n.map((e)=>fi.citations.indexOf(e));t.numbers=i;const a=n.map((e)=>fi.bibliography.get(e));t.entries=a},onCiteKeyChanged(){fi.citations=t(),fi.citationsCollected=!0;for(const e of hi.waitingOn.citations.slice())e();const e=document.querySelector('d-citation-list'),n=new Map(fi.citations.map((e)=>{return[e,fi.bibliography.get(e)]}));e.citations=n;const i=document.querySelectorAll('d-cite');for(const e of i){const t=e.keys,n=t.map((e)=>fi.citations.indexOf(e));e.numbers=n;const i=t.map((e)=>fi.bibliography.get(e));e.entries=i}},onCiteKeyRemoved(e){hi.listeners.onCiteKeyChanged(e)},onBibliographyChanged(e){const t=document.querySelector('d-citation-list'),n=e.detail;fi.bibliography=n,fi.bibliographyParsed=!0;for(const t of hi.waitingOn.bibliography.slice())t();if(!fi.citationsCollected)return void hi.waitingOn.citations.push(function(){hi.listeners.onBibliographyChanged({target:e.target,detail:e.detail})});if(t.hasAttribute('distill-prerendered'))console.info('Citation list was prerendered; not updating it.');else{const e=new Map(fi.citations.map((e)=>{return[e,fi.bibliography.get(e)]}));t.citations=e}},onFootnoteChanged(){const e=document.querySelector('d-footnote-list');if(e){const t=document.querySelectorAll('d-footnote');e.footnotes=t}},onFrontMatterChanged(t){const n=t.detail;e(fi,n);const i=document.querySelector('d-interstitial');i&&('undefined'==typeof fi.password?i.parentElement.removeChild(i):i.password=fi.password);const a=document.body.hasAttribute('distill-prerendered');if(!a&&u()){gi(document,fi);const e=document.querySelector('distill-appendix');e&&(e.frontMatter=fi);const t=document.querySelector('d-byline');t&&(t.frontMatter=fi),n.katex&&(T.katexOptions=n.katex)}},DOMContentLoaded(){if(hi.loaded)return void console.warn('Controller received DOMContentLoaded but was already loaded!');if(!u())return void console.warn('Controller received DOMContentLoaded before appropriate document.readyState!');hi.loaded=!0,console.log('Runlevel 4: Controller running DOMContentLoaded');const e=document.querySelector('d-front-matter'),n=c(e);hi.listeners.onFrontMatterChanged({detail:n}),fi.citations=t(),fi.citationsCollected=!0;for(const e of hi.waitingOn.citations.slice())e();if(fi.bibliographyParsed)for(const e of hi.waitingOn.bibliography.slice())e();const i=document.querySelector('d-footnote-list');if(i){const e=document.querySelectorAll('d-footnote');i.footnotes=e}}}};const bi='/*\n * Copyright 2018 The Distill Template Authors\n *\n * Licensed under the Apache License, Version 2.0 (the "License");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an "AS IS" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nhtml {\n font-size: 14px;\n\tline-height: 1.6em;\n /* font-family: "Libre Franklin", "Helvetica Neue", sans-serif; */\n font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, "Fira Sans", "Droid Sans", "Helvetica Neue", Arial, sans-serif;\n /*, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";*/\n text-size-adjust: 100%;\n -ms-text-size-adjust: 100%;\n -webkit-text-size-adjust: 100%;\n}\n\n@media(min-width: 768px) {\n html {\n font-size: 16px;\n }\n}\n\nbody {\n margin: 0;\n}\n\na {\n color: #004276;\n}\n\nfigure {\n margin: 0;\n}\n\ntable {\n\tborder-collapse: collapse;\n\tborder-spacing: 0;\n}\n\ntable th {\n\ttext-align: left;\n}\n\ntable thead {\n border-bottom: 1px solid rgba(0, 0, 0, 0.05);\n}\n\ntable thead th {\n padding-bottom: 0.5em;\n}\n\ntable tbody :first-child td {\n padding-top: 0.5em;\n}\n\npre {\n overflow: auto;\n max-width: 100%;\n}\n\np {\n margin-top: 0;\n margin-bottom: 1em;\n}\n\nsup, sub {\n vertical-align: baseline;\n position: relative;\n top: -0.4em;\n line-height: 1em;\n}\n\nsub {\n top: 0.4em;\n}\n\n.kicker,\n.marker {\n font-size: 15px;\n font-weight: 600;\n color: rgba(0, 0, 0, 0.5);\n}\n\n\n/* Headline */\n\n@media(min-width: 1024px) {\n d-title h1 span {\n display: block;\n }\n}\n\n/* Figure */\n\nfigure {\n position: relative;\n margin-bottom: 2.5em;\n margin-top: 1.5em;\n}\n\nfigcaption+figure {\n\n}\n\nfigure img {\n width: 100%;\n}\n\nfigure svg text,\nfigure svg tspan {\n}\n\nfigcaption,\n.figcaption {\n color: rgba(0, 0, 0, 0.6);\n font-size: 12px;\n line-height: 1.5em;\n}\n\n@media(min-width: 1024px) {\nfigcaption,\n.figcaption {\n font-size: 13px;\n }\n}\n\nfigure.external img {\n background: white;\n border: 1px solid rgba(0, 0, 0, 0.1);\n box-shadow: 0 1px 8px rgba(0, 0, 0, 0.1);\n padding: 18px;\n box-sizing: border-box;\n}\n\nfigcaption a {\n color: rgba(0, 0, 0, 0.6);\n}\n\nfigcaption b,\nfigcaption strong, {\n font-weight: 600;\n color: rgba(0, 0, 0, 1.0);\n}\n'+'/*\n * Copyright 2018 The Distill Template Authors\n *\n * Licensed under the Apache License, Version 2.0 (the "License");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an "AS IS" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n@supports not (display: grid) {\n .base-grid,\n distill-header,\n d-title,\n d-abstract,\n d-article,\n d-appendix,\n distill-appendix,\n d-byline,\n d-footnote-list,\n d-citation-list,\n distill-footer {\n display: block;\n padding: 8px;\n }\n}\n\n.base-grid,\ndistill-header,\nd-title,\nd-abstract,\nd-article,\nd-appendix,\ndistill-appendix,\nd-byline,\nd-footnote-list,\nd-citation-list,\ndistill-footer {\n display: grid;\n justify-items: stretch;\n grid-template-columns: [screen-start] 8px [page-start kicker-start text-start gutter-start middle-start] 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr [text-end page-end gutter-end kicker-end middle-end] 8px [screen-end];\n grid-column-gap: 8px;\n}\n\n.grid {\n display: grid;\n grid-column-gap: 8px;\n}\n\n@media(min-width: 768px) {\n .base-grid,\n distill-header,\n d-title,\n d-abstract,\n d-article,\n d-appendix,\n distill-appendix,\n d-byline,\n d-footnote-list,\n d-citation-list,\n distill-footer {\n grid-template-columns: [screen-start] 1fr [page-start kicker-start middle-start text-start] 45px 45px 45px 45px 45px 45px 45px 45px [ kicker-end text-end gutter-start] 45px [middle-end] 45px [page-end gutter-end] 1fr [screen-end];\n grid-column-gap: 16px;\n }\n\n .grid {\n grid-column-gap: 16px;\n }\n}\n\n@media(min-width: 1000px) {\n .base-grid,\n distill-header,\n d-title,\n d-abstract,\n d-article,\n d-appendix,\n distill-appendix,\n d-byline,\n d-footnote-list,\n d-citation-list,\n distill-footer {\n grid-template-columns: [screen-start] 1fr [page-start kicker-start] 50px [middle-start] 50px [text-start kicker-end] 50px 50px 50px 50px 50px 50px 50px 50px [text-end gutter-start] 50px [middle-end] 50px [page-end gutter-end] 1fr [screen-end];\n grid-column-gap: 16px;\n }\n\n .grid {\n grid-column-gap: 16px;\n }\n}\n\n@media(min-width: 1180px) {\n .base-grid,\n distill-header,\n d-title,\n d-abstract,\n d-article,\n d-appendix,\n distill-appendix,\n d-byline,\n d-footnote-list,\n d-citation-list,\n distill-footer {\n grid-template-columns: [screen-start] 1fr [page-start kicker-start] 60px [middle-start] 60px [text-start kicker-end] 60px 60px 60px 60px 60px 60px 60px 60px [text-end gutter-start] 60px [middle-end] 60px [page-end gutter-end] 1fr [screen-end];\n grid-column-gap: 32px;\n }\n\n .grid {\n grid-column-gap: 32px;\n }\n}\n\n\n\n\n.base-grid {\n grid-column: screen;\n}\n\n/* .l-body,\nd-article > * {\n grid-column: text;\n}\n\n.l-page,\nd-title > *,\nd-figure {\n grid-column: page;\n} */\n\n.l-gutter {\n grid-column: gutter;\n}\n\n.l-text,\n.l-body {\n grid-column: text;\n}\n\n.l-page {\n grid-column: page;\n}\n\n.l-body-outset {\n grid-column: middle;\n}\n\n.l-page-outset {\n grid-column: page;\n}\n\n.l-screen {\n grid-column: screen;\n}\n\n.l-screen-inset {\n grid-column: screen;\n padding-left: 16px;\n padding-left: 16px;\n}\n\n\n/* Aside */\n\nd-article aside {\n grid-column: gutter;\n font-size: 12px;\n line-height: 1.6em;\n color: rgba(0, 0, 0, 0.6)\n}\n\n@media(min-width: 768px) {\n aside {\n grid-column: gutter;\n }\n\n .side {\n grid-column: gutter;\n }\n}\n'+'/*\n * Copyright 2018 The Distill Template Authors\n *\n * Licensed under the Apache License, Version 2.0 (the "License");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an "AS IS" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nd-title {\n padding: 2rem 0 1.5rem;\n contain: layout style;\n overflow-x: hidden;\n}\n\n@media(min-width: 768px) {\n d-title {\n padding: 4rem 0 1.5rem;\n }\n}\n\nd-title h1 {\n grid-column: text;\n font-size: 40px;\n font-weight: 700;\n line-height: 1.1em;\n margin: 0 0 0.5rem;\n}\n\n@media(min-width: 768px) {\n d-title h1 {\n font-size: 50px;\n }\n}\n\nd-title p {\n font-weight: 300;\n font-size: 1.2rem;\n line-height: 1.55em;\n grid-column: text;\n}\n\nd-title .status {\n margin-top: 0px;\n font-size: 12px;\n color: #009688;\n opacity: 0.8;\n grid-column: kicker;\n}\n\nd-title .status span {\n line-height: 1;\n display: inline-block;\n padding: 6px 0;\n border-bottom: 1px solid #80cbc4;\n font-size: 11px;\n text-transform: uppercase;\n}\n'+'/*\n * Copyright 2018 The Distill Template Authors\n *\n * Licensed under the Apache License, Version 2.0 (the "License");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an "AS IS" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nd-byline {\n contain: content;\n overflow: hidden;\n border-top: 1px solid rgba(0, 0, 0, 0.1);\n font-size: 0.8rem;\n line-height: 1.8em;\n padding: 1.5rem 0;\n min-height: 1.8em;\n}\n\n\nd-byline .byline {\n grid-template-columns: 1fr 1fr;\n grid-column: text;\n}\n\n@media(min-width: 768px) {\n d-byline .byline {\n grid-template-columns: 1fr 1fr 1fr 1fr;\n }\n}\n\nd-byline .authors-affiliations {\n grid-column-end: span 2;\n grid-template-columns: 1fr 1fr;\n margin-bottom: 1em;\n}\n\n@media(min-width: 768px) {\n d-byline .authors-affiliations {\n margin-bottom: 0;\n }\n}\n\nd-byline h3 {\n font-size: 0.6rem;\n font-weight: 400;\n color: rgba(0, 0, 0, 0.5);\n margin: 0;\n text-transform: uppercase;\n}\n\nd-byline p {\n margin: 0;\n}\n\nd-byline a,\nd-article d-byline a {\n color: rgba(0, 0, 0, 0.8);\n text-decoration: none;\n border-bottom: none;\n}\n\nd-article d-byline a:hover {\n text-decoration: underline;\n border-bottom: none;\n}\n\nd-byline p.author {\n font-weight: 500;\n}\n\nd-byline .affiliations {\n\n}\n'+'/*\n * Copyright 2018 The Distill Template Authors\n *\n * Licensed under the Apache License, Version 2.0 (the "License");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an "AS IS" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nd-article {\n contain: layout style;\n overflow-x: hidden;\n border-top: 1px solid rgba(0, 0, 0, 0.1);\n padding-top: 2rem;\n color: rgba(0, 0, 0, 0.8);\n}\n\nd-article > * {\n grid-column: text;\n}\n\n@media(min-width: 768px) {\n d-article {\n font-size: 16px;\n }\n}\n\n@media(min-width: 1024px) {\n d-article {\n font-size: 1.06rem;\n line-height: 1.7em;\n }\n}\n\n\n/* H2 */\n\n\nd-article .marker {\n text-decoration: none;\n border: none;\n counter-reset: section;\n grid-column: kicker;\n line-height: 1.7em;\n}\n\nd-article .marker:hover {\n border: none;\n}\n\nd-article .marker span {\n padding: 0 3px 4px;\n border-bottom: 1px solid rgba(0, 0, 0, 0.2);\n position: relative;\n top: 4px;\n}\n\nd-article .marker:hover span {\n color: rgba(0, 0, 0, 0.7);\n border-bottom: 1px solid rgba(0, 0, 0, 0.7);\n}\n\nd-article h2 {\n font-weight: 600;\n font-size: 24px;\n line-height: 1.25em;\n margin: 2rem 0 1.5rem 0;\n border-bottom: 1px solid rgba(0, 0, 0, 0.1);\n padding-bottom: 1rem;\n}\n\n@media(min-width: 1024px) {\n d-article h2 {\n font-size: 36px;\n }\n}\n\n/* H3 */\n\nd-article h3 {\n font-weight: 700;\n font-size: 18px;\n line-height: 1.4em;\n margin-bottom: 1em;\n margin-top: 2em;\n}\n\n@media(min-width: 1024px) {\n d-article h3 {\n font-size: 20px;\n }\n}\n\n/* H4 */\n\nd-article h4 {\n font-weight: 600;\n text-transform: uppercase;\n font-size: 14px;\n line-height: 1.4em;\n}\n\nd-article a {\n color: inherit;\n}\n\nd-article p,\nd-article ul,\nd-article ol,\nd-article blockquote {\n margin-top: 0;\n margin-bottom: 1em;\n margin-left: 0;\n margin-right: 0;\n}\n\nd-article blockquote {\n border-left: 2px solid rgba(0, 0, 0, 0.2);\n padding-left: 2em;\n font-style: italic;\n color: rgba(0, 0, 0, 0.6);\n}\n\nd-article a {\n border-bottom: 1px solid rgba(0, 0, 0, 0.4);\n text-decoration: none;\n}\n\nd-article a:hover {\n border-bottom: 1px solid rgba(0, 0, 0, 0.8);\n}\n\nd-article .link {\n text-decoration: underline;\n cursor: pointer;\n}\n\nd-article ul,\nd-article ol {\n padding-left: 24px;\n}\n\nd-article li {\n margin-bottom: 1em;\n margin-left: 0;\n padding-left: 0;\n}\n\nd-article li:last-child {\n margin-bottom: 0;\n}\n\nd-article pre {\n font-size: 14px;\n margin-bottom: 20px;\n}\n\nd-article hr {\n grid-column: screen;\n width: 100%;\n border: none;\n border-bottom: 1px solid rgba(0, 0, 0, 0.1);\n margin-top: 60px;\n margin-bottom: 60px;\n}\n\nd-article section {\n margin-top: 60px;\n margin-bottom: 60px;\n}\n\nd-article span.equation-mimic {\n font-family: georgia;\n font-size: 115%;\n font-style: italic;\n}\n\nd-article > d-code,\nd-article section > d-code {\n display: block;\n}\n\nd-article > d-math[block],\nd-article section > d-math[block] {\n display: block;\n}\n\n@media (max-width: 768px) {\n d-article > d-code,\n d-article section > d-code,\n d-article > d-math[block],\n d-article section > d-math[block] {\n overflow-x: scroll;\n -ms-overflow-style: none; // IE 10+\n overflow: -moz-scrollbars-none; // Firefox\n }\n\n d-article > d-code::-webkit-scrollbar,\n d-article section > d-code::-webkit-scrollbar,\n d-article > d-math[block]::-webkit-scrollbar,\n d-article section > d-math[block]::-webkit-scrollbar {\n display: none; // Safari and Chrome\n }\n}\n\nd-article .citation {\n color: #668;\n cursor: pointer;\n}\n\nd-include {\n width: auto;\n display: block;\n}\n\nd-figure {\n contain: layout style;\n}\n\n/* KaTeX */\n\n.katex, .katex-prerendered {\n contain: style;\n display: inline-block;\n}\n\n/* Tables */\n\nd-article table {\n border-collapse: collapse;\n margin-bottom: 1.5rem;\n border-bottom: 1px solid rgba(0, 0, 0, 0.2);\n}\n\nd-article table th {\n border-bottom: 1px solid rgba(0, 0, 0, 0.2);\n}\n\nd-article table td {\n border-bottom: 1px solid rgba(0, 0, 0, 0.05);\n}\n\nd-article table tr:last-of-type td {\n border-bottom: none;\n}\n\nd-article table th,\nd-article table td {\n font-size: 15px;\n padding: 2px 8px;\n}\n\nd-article table tbody :first-child td {\n padding-top: 2px;\n}\n'+ni+'/*\n * Copyright 2018 The Distill Template Authors\n *\n * Licensed under the Apache License, Version 2.0 (the "License");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an "AS IS" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n@media print {\n\n @page {\n size: 8in 11in;\n @bottom-right {\n content: counter(page) " of " counter(pages);\n }\n }\n\n html {\n /* no general margins -- CSS Grid takes care of those */\n }\n\n p, code {\n page-break-inside: avoid;\n }\n\n h2, h3 {\n page-break-after: avoid;\n }\n\n d-header {\n visibility: hidden;\n }\n\n d-footer {\n display: none!important;\n }\n\n}\n',mi=[{name:'WebComponents',support:function(){return'customElements'in window&&'attachShadow'in Element.prototype&&'getRootNode'in Element.prototype&&'content'in document.createElement('template')&&'Promise'in window&&'from'in Array},url:'https://distill.pub/third-party/polyfills/webcomponents-lite.js'},{name:'IntersectionObserver',support:function(){return'IntersectionObserver'in window&&'IntersectionObserverEntry'in window},url:'https://distill.pub/third-party/polyfills/intersection-observer.js'}];class yi{static browserSupportsAllFeatures(){return mi.every((e)=>e.support())}static load(e){const t=function(t){t.loaded=!0,console.info('Runlevel 0: Polyfill has finished loading: '+t.name),yi.neededPolyfills.every((e)=>e.loaded)&&(console.info('Runlevel 0: All required polyfills have finished loading.'),console.info('Runlevel 0->1.'),window.distillRunlevel=1,e())};for(const n of yi.neededPolyfills)g(n,t)}static get neededPolyfills(){return yi._neededPolyfills||(yi._neededPolyfills=mi.filter((e)=>!e.support())),yi._neededPolyfills}}const xi=ti('d-abstract',` +<style> + :host { + font-size: 1.25rem; + line-height: 1.6em; + color: rgba(0, 0, 0, 0.7); + -webkit-font-smoothing: antialiased; + } + + ::slotted(p) { + margin-top: 0; + margin-bottom: 1em; + grid-column: text-start / middle-end; + } + ${function(e){return`${e} { + grid-column: left / text; + } + `}('d-abstract')} +</style> + +<slot></slot> +`);class ki extends xi(HTMLElement){}const vi=ti('d-appendix',` +<style> + +d-appendix { + contain: layout style; + font-size: 0.8em; + line-height: 1.7em; + margin-top: 60px; + margin-bottom: 0; + border-top: 1px solid rgba(0, 0, 0, 0.1); + color: rgba(0,0,0,0.5); + padding-top: 60px; + padding-bottom: 48px; +} + +d-appendix h3 { + grid-column: page-start / text-start; + font-size: 15px; + font-weight: 500; + margin-top: 1em; + margin-bottom: 0; + color: rgba(0,0,0,0.65); +} + +d-appendix h3 + * { + margin-top: 1em; +} + +d-appendix ol { + padding: 0 0 0 15px; +} + +@media (min-width: 768px) { + d-appendix ol { + padding: 0 0 0 30px; + margin-left: -30px; + } +} + +d-appendix li { + margin-bottom: 1em; +} + +d-appendix a { + color: rgba(0, 0, 0, 0.6); +} + +d-appendix > * { + grid-column: text; +} + +d-appendix > d-footnote-list, +d-appendix > d-citation-list, +d-appendix > distill-appendix { + grid-column: screen; +} + +</style> + +`,!1);class wi extends vi(HTMLElement){}const Si=/^\s*$/;class Ci extends HTMLElement{static get is(){return'd-article'}constructor(){super(),new MutationObserver((e)=>{for(const t of e)for(const e of t.addedNodes)switch(e.nodeName){case'#text':{const t=e.nodeValue;if(!Si.test(t)){console.warn('Use of unwrapped text in distill articles is discouraged as it breaks layout! Please wrap any text in a <span> or <p> tag. We found the following text: '+t);const n=document.createElement('span');n.innerHTML=e.nodeValue,e.parentNode.insertBefore(n,e),e.parentNode.removeChild(e)}}}}).observe(this,{childList:!0})}}var Ti='undefined'==typeof window?'undefined'==typeof global?'undefined'==typeof self?{}:self:global:window,_i=f(function(e,t){(function(e){function t(){this.months=['jan','feb','mar','apr','may','jun','jul','aug','sep','oct','nov','dec'],this.notKey=[',','{','}',' ','='],this.pos=0,this.input='',this.entries=[],this.currentEntry='',this.setInput=function(e){this.input=e},this.getEntries=function(){return this.entries},this.isWhitespace=function(e){return' '==e||'\r'==e||'\t'==e||'\n'==e},this.match=function(e,t){if((void 0==t||null==t)&&(t=!0),this.skipWhitespace(t),this.input.substring(this.pos,this.pos+e.length)==e)this.pos+=e.length;else throw'Token mismatch, expected '+e+', found '+this.input.substring(this.pos);this.skipWhitespace(t)},this.tryMatch=function(e,t){return(void 0==t||null==t)&&(t=!0),this.skipWhitespace(t),this.input.substring(this.pos,this.pos+e.length)==e},this.matchAt=function(){for(;this.input.length>this.pos&&'@'!=this.input[this.pos];)this.pos++;return!('@'!=this.input[this.pos])},this.skipWhitespace=function(e){for(;this.isWhitespace(this.input[this.pos]);)this.pos++;if('%'==this.input[this.pos]&&!0==e){for(;'\n'!=this.input[this.pos];)this.pos++;this.skipWhitespace(e)}},this.value_braces=function(){var e=0;this.match('{',!1);for(var t=this.pos,n=!1;;){if(!n)if('}'==this.input[this.pos]){if(0<e)e--;else{var i=this.pos;return this.match('}',!1),this.input.substring(t,i)}}else if('{'==this.input[this.pos])e++;else if(this.pos>=this.input.length-1)throw'Unterminated value';n='\\'==this.input[this.pos]&&!1==n,this.pos++}},this.value_comment=function(){for(var e='',t=0;!(this.tryMatch('}',!1)&&0==t);){if(e+=this.input[this.pos],'{'==this.input[this.pos]&&t++,'}'==this.input[this.pos]&&t--,this.pos>=this.input.length-1)throw'Unterminated value:'+this.input.substring(start);this.pos++}return e},this.value_quotes=function(){this.match('"',!1);for(var e=this.pos,t=!1;;){if(!t){if('"'==this.input[this.pos]){var n=this.pos;return this.match('"',!1),this.input.substring(e,n)}if(this.pos>=this.input.length-1)throw'Unterminated value:'+this.input.substring(e)}t='\\'==this.input[this.pos]&&!1==t,this.pos++}},this.single_value=function(){var e=this.pos;if(this.tryMatch('{'))return this.value_braces();if(this.tryMatch('"'))return this.value_quotes();var t=this.key();if(t.match('^[0-9]+$'))return t;if(0<=this.months.indexOf(t.toLowerCase()))return t.toLowerCase();throw'Value expected:'+this.input.substring(e)+' for key: '+t},this.value=function(){for(var e=[this.single_value()];this.tryMatch('#');)this.match('#'),e.push(this.single_value());return e.join('')},this.key=function(){for(var e=this.pos;;){if(this.pos>=this.input.length)throw'Runaway key';if(0<=this.notKey.indexOf(this.input[this.pos]))return this.input.substring(e,this.pos);this.pos++}},this.key_equals_value=function(){var e=this.key();if(this.tryMatch('=')){this.match('=');var t=this.value();return[e,t]}throw'... = value expected, equals sign missing:'+this.input.substring(this.pos)},this.key_value_list=function(){var e=this.key_equals_value();for(this.currentEntry.entryTags={},this.currentEntry.entryTags[e[0]]=e[1];this.tryMatch(',')&&(this.match(','),!this.tryMatch('}'));)e=this.key_equals_value(),this.currentEntry.entryTags[e[0]]=e[1]},this.entry_body=function(e){this.currentEntry={},this.currentEntry.citationKey=this.key(),this.currentEntry.entryType=e.substring(1),this.match(','),this.key_value_list(),this.entries.push(this.currentEntry)},this.directive=function(){return this.match('@'),'@'+this.key()},this.preamble=function(){this.currentEntry={},this.currentEntry.entryType='PREAMBLE',this.currentEntry.entry=this.value_comment(),this.entries.push(this.currentEntry)},this.comment=function(){this.currentEntry={},this.currentEntry.entryType='COMMENT',this.currentEntry.entry=this.value_comment(),this.entries.push(this.currentEntry)},this.entry=function(e){this.entry_body(e)},this.bibtex=function(){for(;this.matchAt();){var e=this.directive();this.match('{'),'@STRING'==e?this.string():'@PREAMBLE'==e?this.preamble():'@COMMENT'==e?this.comment():this.entry(e),this.match('}')}}}e.toJSON=function(e){var n=new t;return n.setInput(e),n.bibtex(),n.entries},e.toBibtex=function(e){var t='';for(var n in e){if(t+='@'+e[n].entryType,t+='{',e[n].citationKey&&(t+=e[n].citationKey+', '),e[n].entry&&(t+=e[n].entry),e[n].entryTags){var i='';for(var a in e[n].entryTags)0!=i.length&&(i+=', '),i+=a+'= {'+e[n].entryTags[a]+'}';t+=i}t+='}\n\n'}return t}})(t)});class Li extends HTMLElement{static get is(){return'd-bibliography'}constructor(){super();const e=new MutationObserver((e)=>{for(const t of e)('SCRIPT'===t.target.nodeName||'characterData'===t.type)&&this.parseIfPossible()});e.observe(this,{childList:!0,characterData:!0,subtree:!0})}connectedCallback(){requestAnimationFrame(()=>{this.parseIfPossible()})}parseIfPossible(){const e=this.querySelector('script');if(e)if('text/bibtex'==e.type){const t=e.textContent;if(this.bibtex!==t){this.bibtex=t;const e=b(this.bibtex);this.notify(e)}}else if('text/json'==e.type){const t=new Map(JSON.parse(e.textContent));this.notify(t)}else console.warn('Unsupported bibliography script tag type: '+e.type)}notify(e){const t=new CustomEvent('onBibliographyChanged',{detail:e,bubbles:!0});this.dispatchEvent(t)}static get observedAttributes(){return['src']}receivedBibtex(e){const t=b(e.target.response);this.notify(t)}attributeChangedCallback(e,t,n){var i=new XMLHttpRequest;i.onload=(t)=>this.receivedBibtex(t),i.onerror=()=>console.warn(`Could not load Bibtex! (tried ${n})`),i.responseType='text',i.open('GET',n,!0),i.send()}}class Ai extends HTMLElement{static get is(){return'd-byline'}set frontMatter(e){this.innerHTML=y(e)}}const Ei=ti('d-cite',` +<style> + +:host { + +} + +.citation { + display: inline-block; + color: hsla(206, 90%, 20%, 0.7); +} + +.citation-number { + cursor: default; + white-space: nowrap; + font-family: -apple-system, BlinkMacSystemFont, "Roboto", Helvetica, sans-serif; + font-size: 75%; + color: hsla(206, 90%, 20%, 0.7); + display: inline-block; + line-height: 1.1em; + text-align: center; + position: relative; + top: -2px; + margin: 0 2px; +} + +figcaption .citation-number { + font-size: 11px; + font-weight: normal; + top: -2px; + line-height: 1em; +} + +ul { + margin: 0; + padding: 0; + list-style-type: none; +} + +ul li { + padding: 15px 10px 15px 10px; + border-bottom: 1px solid rgba(0,0,0,0.1) +} + +ul li:last-of-type { + border-bottom: none; +} + +</style> + +<d-hover-box id="hover-box"></d-hover-box> + +<div id="citation-" class="citation"> + <slot></slot> + <span class="citation-number"></span> +</div> +`);class Di extends Ei(HTMLElement){connectedCallback(){this.outerSpan=this.root.querySelector('#citation-'),this.innerSpan=this.root.querySelector('.citation-number'),this.hoverBox=this.root.querySelector('d-hover-box'),window.customElements.whenDefined('d-hover-box').then(()=>{this.hoverBox.listen(this)})}static get observedAttributes(){return['key']}attributeChangedCallback(e,t,n){const i=t?'onCiteKeyChanged':'onCiteKeyCreated',a=n.split(','),d={detail:[this,a],bubbles:!0},r=new CustomEvent(i,d);document.dispatchEvent(r)}set key(e){this.setAttribute('key',e)}get key(){return this.getAttribute('key')}get keys(){return this.getAttribute('key').split(',')}set numbers(e){const t=e.map((e)=>{return-1==e?'?':e+1+''}),n='['+t.join(', ')+']';this.innerSpan&&(this.innerSpan.textContent=n)}set entries(e){this.hoverBox&&(this.hoverBox.innerHTML=`<ul> + ${e.map(l).map((e)=>`<li>${e}</li>`).join('\n')} + </ul>`)}}const Mi=` +d-citation-list { + contain: layout style; +} + +d-citation-list .references { + grid-column: text; +} + +d-citation-list .references .title { + font-weight: 500; +} +`;class Oi extends HTMLElement{static get is(){return'd-citation-list'}connectedCallback(){this.hasAttribute('distill-prerendered')||(this.style.display='none')}set citations(e){x(this,e)}}var Ui=f(function(e){var t='undefined'==typeof window?'undefined'!=typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope?self:{}:window,n=function(){var e=/\blang(?:uage)?-(\w+)\b/i,n=0,a=t.Prism={util:{encode:function(e){return e instanceof i?new i(e.type,a.util.encode(e.content),e.alias):'Array'===a.util.type(e)?e.map(a.util.encode):e.replace(/&/g,'&').replace(/</g,'<').replace(/\u00a0/g,' ')},type:function(e){return Object.prototype.toString.call(e).match(/\[object (\w+)\]/)[1]},objId:function(e){return e.__id||Object.defineProperty(e,'__id',{value:++n}),e.__id},clone:function(e){var t=a.util.type(e);switch(t){case'Object':var n={};for(var i in e)e.hasOwnProperty(i)&&(n[i]=a.util.clone(e[i]));return n;case'Array':return e.map&&e.map(function(e){return a.util.clone(e)});}return e}},languages:{extend:function(e,t){var n=a.util.clone(a.languages[e]);for(var i in t)n[i]=t[i];return n},insertBefore:function(e,t,n,i){i=i||a.languages;var d=i[e];if(2==arguments.length){for(var r in n=arguments[1],n)n.hasOwnProperty(r)&&(d[r]=n[r]);return d}var o={};for(var l in d)if(d.hasOwnProperty(l)){if(l==t)for(var r in n)n.hasOwnProperty(r)&&(o[r]=n[r]);o[l]=d[l]}return a.languages.DFS(a.languages,function(t,n){n===i[e]&&t!=e&&(this[t]=o)}),i[e]=o},DFS:function(e,t,n,d){for(var r in d=d||{},e)e.hasOwnProperty(r)&&(t.call(e,r,e[r],n||r),'Object'!==a.util.type(e[r])||d[a.util.objId(e[r])]?'Array'===a.util.type(e[r])&&!d[a.util.objId(e[r])]&&(d[a.util.objId(e[r])]=!0,a.languages.DFS(e[r],t,r,d)):(d[a.util.objId(e[r])]=!0,a.languages.DFS(e[r],t,null,d)))}},plugins:{},highlightAll:function(e,t){var n={callback:t,selector:'code[class*="language-"], [class*="language-"] code, code[class*="lang-"], [class*="lang-"] code'};a.hooks.run('before-highlightall',n);for(var d,r=n.elements||document.querySelectorAll(n.selector),o=0;d=r[o++];)a.highlightElement(d,!0===e,n.callback)},highlightElement:function(n,i,d){for(var r,o,l=n;l&&!e.test(l.className);)l=l.parentNode;l&&(r=(l.className.match(e)||[,''])[1].toLowerCase(),o=a.languages[r]),n.className=n.className.replace(e,'').replace(/\s+/g,' ')+' language-'+r,l=n.parentNode,/pre/i.test(l.nodeName)&&(l.className=l.className.replace(e,'').replace(/\s+/g,' ')+' language-'+r);var s=n.textContent,c={element:n,language:r,grammar:o,code:s};if(a.hooks.run('before-sanity-check',c),!c.code||!c.grammar)return c.code&&(c.element.textContent=c.code),void a.hooks.run('complete',c);if(a.hooks.run('before-highlight',c),i&&t.Worker){var u=new Worker(a.filename);u.onmessage=function(e){c.highlightedCode=e.data,a.hooks.run('before-insert',c),c.element.innerHTML=c.highlightedCode,d&&d.call(c.element),a.hooks.run('after-highlight',c),a.hooks.run('complete',c)},u.postMessage(JSON.stringify({language:c.language,code:c.code,immediateClose:!0}))}else c.highlightedCode=a.highlight(c.code,c.grammar,c.language),a.hooks.run('before-insert',c),c.element.innerHTML=c.highlightedCode,d&&d.call(n),a.hooks.run('after-highlight',c),a.hooks.run('complete',c)},highlight:function(e,t,n){var d=a.tokenize(e,t);return i.stringify(a.util.encode(d),n)},tokenize:function(e,t){var n=a.Token,d=[e],r=t.rest;if(r){for(var o in r)t[o]=r[o];delete t.rest}tokenloop:for(var o in t)if(t.hasOwnProperty(o)&&t[o]){var l=t[o];l='Array'===a.util.type(l)?l:[l];for(var s=0;s<l.length;++s){var c=l[s],u=c.inside,g=!!c.lookbehind,f=!!c.greedy,h=0,b=c.alias;if(f&&!c.pattern.global){var m=c.pattern.toString().match(/[imuy]*$/)[0];c.pattern=RegExp(c.pattern.source,m+'g')}c=c.pattern||c;for(var y,x=0,i=0;x<d.length;i+=d[x].length,++x){if(y=d[x],d.length>e.length)break tokenloop;if(!(y instanceof n)){c.lastIndex=0;var v=c.exec(y),w=1;if(!v&&f&&x!=d.length-1){if(c.lastIndex=i,v=c.exec(e),!v)break;for(var S=v.index+(g?v[1].length:0),C=v.index+v[0].length,T=x,k=i,p=d.length;T<p&&k<C;++T)k+=d[T].length,S>=k&&(++x,i=k);if(d[x]instanceof n||d[T-1].greedy)continue;w=T-x,y=e.slice(i,k),v.index-=i}if(v){g&&(h=v[1].length);var S=v.index+h,v=v[0].slice(h),C=S+v.length,_=y.slice(0,S),L=y.slice(C),A=[x,w];_&&A.push(_);var E=new n(o,u?a.tokenize(v,u):v,b,v,f);A.push(E),L&&A.push(L),Array.prototype.splice.apply(d,A)}}}}}return d},hooks:{all:{},add:function(e,t){var n=a.hooks.all;n[e]=n[e]||[],n[e].push(t)},run:function(e,t){var n=a.hooks.all[e];if(n&&n.length)for(var d,r=0;d=n[r++];)d(t)}}},i=a.Token=function(e,t,n,i,a){this.type=e,this.content=t,this.alias=n,this.length=0|(i||'').length,this.greedy=!!a};if(i.stringify=function(e,t,n){if('string'==typeof e)return e;if('Array'===a.util.type(e))return e.map(function(n){return i.stringify(n,t,e)}).join('');var d={type:e.type,content:i.stringify(e.content,t,n),tag:'span',classes:['token',e.type],attributes:{},language:t,parent:n};if('comment'==d.type&&(d.attributes.spellcheck='true'),e.alias){var r='Array'===a.util.type(e.alias)?e.alias:[e.alias];Array.prototype.push.apply(d.classes,r)}a.hooks.run('wrap',d);var l=Object.keys(d.attributes).map(function(e){return e+'="'+(d.attributes[e]||'').replace(/"/g,'"')+'"'}).join(' ');return'<'+d.tag+' class="'+d.classes.join(' ')+'"'+(l?' '+l:'')+'>'+d.content+'</'+d.tag+'>'},!t.document)return t.addEventListener?(t.addEventListener('message',function(e){var n=JSON.parse(e.data),i=n.language,d=n.code,r=n.immediateClose;t.postMessage(a.highlight(d,a.languages[i],i)),r&&t.close()},!1),t.Prism):t.Prism;var d=document.currentScript||[].slice.call(document.getElementsByTagName('script')).pop();return d&&(a.filename=d.src,document.addEventListener&&!d.hasAttribute('data-manual')&&('loading'===document.readyState?document.addEventListener('DOMContentLoaded',a.highlightAll):window.requestAnimationFrame?window.requestAnimationFrame(a.highlightAll):window.setTimeout(a.highlightAll,16))),t.Prism}();e.exports&&(e.exports=n),'undefined'!=typeof Ti&&(Ti.Prism=n),n.languages.markup={comment:/<!--[\w\W]*?-->/,prolog:/<\?[\w\W]+?\?>/,doctype:/<!DOCTYPE[\w\W]+?>/i,cdata:/<!\[CDATA\[[\w\W]*?]]>/i,tag:{pattern:/<\/?(?!\d)[^\s>\/=$<]+(?:\s+[^\s>\/=]+(?:=(?:("|')(?:\\\1|\\?(?!\1)[\w\W])*\1|[^\s'">=]+))?)*\s*\/?>/i,inside:{tag:{pattern:/^<\/?[^\s>\/]+/i,inside:{punctuation:/^<\/?/,namespace:/^[^\s>\/:]+:/}},"attr-value":{pattern:/=(?:('|")[\w\W]*?(\1)|[^\s>]+)/i,inside:{punctuation:/[=>"']/}},punctuation:/\/?>/,"attr-name":{pattern:/[^\s>\/]+/,inside:{namespace:/^[^\s>\/:]+:/}}}},entity:/&#?[\da-z]{1,8};/i},n.hooks.add('wrap',function(e){'entity'===e.type&&(e.attributes.title=e.content.replace(/&/,'&'))}),n.languages.xml=n.languages.markup,n.languages.html=n.languages.markup,n.languages.mathml=n.languages.markup,n.languages.svg=n.languages.markup,n.languages.css={comment:/\/\*[\w\W]*?\*\//,atrule:{pattern:/@[\w-]+?.*?(;|(?=\s*\{))/i,inside:{rule:/@[\w-]+/}},url:/url\((?:(["'])(\\(?:\r\n|[\w\W])|(?!\1)[^\\\r\n])*\1|.*?)\)/i,selector:/[^\{\}\s][^\{\};]*?(?=\s*\{)/,string:{pattern:/("|')(\\(?:\r\n|[\w\W])|(?!\1)[^\\\r\n])*\1/,greedy:!0},property:/(\b|\B)[\w-]+(?=\s*:)/i,important:/\B!important\b/i,function:/[-a-z0-9]+(?=\()/i,punctuation:/[(){};:]/},n.languages.css.atrule.inside.rest=n.util.clone(n.languages.css),n.languages.markup&&(n.languages.insertBefore('markup','tag',{style:{pattern:/(<style[\w\W]*?>)[\w\W]*?(?=<\/style>)/i,lookbehind:!0,inside:n.languages.css,alias:'language-css'}}),n.languages.insertBefore('inside','attr-value',{"style-attr":{pattern:/\s*style=("|').*?\1/i,inside:{"attr-name":{pattern:/^\s*style/i,inside:n.languages.markup.tag.inside},punctuation:/^\s*=\s*['"]|['"]\s*$/,"attr-value":{pattern:/.+/i,inside:n.languages.css}},alias:'language-css'}},n.languages.markup.tag)),n.languages.clike={comment:[{pattern:/(^|[^\\])#.*/,lookbehind:!0},{pattern:/(^|[^\\])\/\*[\w\W]*?\*\//,lookbehind:!0},{pattern:/(^|[^\\:])\/\/.*/,lookbehind:!0}],string:{pattern:/(["'])(\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/,greedy:!0},"class-name":{pattern:/((?:\b(?:class|interface|extends|implements|trait|instanceof|new)\s+)|(?:catch\s+\())[a-z0-9_\.\\]+/i,lookbehind:!0,inside:{punctuation:/(\.|\\)/}},keyword:/\b(if|else|while|do|for|return|in|instanceof|function|new|try|throw|catch|finally|null|break|continue)\b/,boolean:/\b(true|false)\b/,function:/[a-z\.0-9_]+(?=\()/i,number:/\b-?(?:0x[\da-f]+|\d*\.?\d+(?:e[+-]?\d+)?)\b/i,operator:/--?|\+\+?|!=?=?|<=?|>=?|==?=?|&&?|\|\|?|\?|\*|\/|~|\^|%/,punctuation:/[{}[\];(),.:]/},n.languages.javascript=n.languages.extend('clike',{keyword:/\b(as|async|await|break|case|catch|class|const|continue|debugger|default|delete|do|else|enum|export|extends|finally|for|from|function|get|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|set|static|super|switch|this|throw|try|typeof|var|void|while|with|yield)\b/,number:/\b-?(0x[\dA-Fa-f]+|0b[01]+|0o[0-7]+|\d*\.?\d+([Ee][+-]?\d+)?|NaN|Infinity)\b/,function:/[_$a-zA-Z\xA0-\uFFFF][_$a-zA-Z0-9\xA0-\uFFFF]*(?=\()/i,operator:/--?|\+\+?|!=?=?|<=?|>=?|==?=?|&&?|\|\|?|\?|\*\*?|\/|~|\^|%|\.{3}/}),n.languages.insertBefore('javascript','keyword',{regex:{pattern:/(^|[^/])\/(?!\/)(\[.+?]|\\.|[^/\\\r\n])+\/[gimyu]{0,5}(?=\s*($|[\r\n,.;})]))/,lookbehind:!0,greedy:!0}}),n.languages.insertBefore('javascript','string',{"template-string":{pattern:/`(?:\\\\|\\?[^\\])*?`/,greedy:!0,inside:{interpolation:{pattern:/\$\{[^}]+\}/,inside:{"interpolation-punctuation":{pattern:/^\$\{|\}$/,alias:'punctuation'},rest:n.languages.javascript}},string:/[\s\S]+/}}}),n.languages.markup&&n.languages.insertBefore('markup','tag',{script:{pattern:/(<script[\w\W]*?>)[\w\W]*?(?=<\/script>)/i,lookbehind:!0,inside:n.languages.javascript,alias:'language-javascript'}}),n.languages.js=n.languages.javascript,function(){'undefined'!=typeof self&&self.Prism&&self.document&&document.querySelector&&(self.Prism.fileHighlight=function(){var e={js:'javascript',py:'python',rb:'ruby',ps1:'powershell',psm1:'powershell',sh:'bash',bat:'batch',h:'c',tex:'latex'};Array.prototype.forEach&&Array.prototype.slice.call(document.querySelectorAll('pre[data-src]')).forEach(function(t){for(var i,a=t.getAttribute('data-src'),d=t,r=/\blang(?:uage)?-(?!\*)(\w+)\b/i;d&&!r.test(d.className);)d=d.parentNode;if(d&&(i=(t.className.match(r)||[,''])[1]),!i){var o=(a.match(/\.(\w+)$/)||[,''])[1];i=e[o]||o}var l=document.createElement('code');l.className='language-'+i,t.textContent='',l.textContent='Loading\u2026',t.appendChild(l);var s=new XMLHttpRequest;s.open('GET',a,!0),s.onreadystatechange=function(){4==s.readyState&&(400>s.status&&s.responseText?(l.textContent=s.responseText,n.highlightElement(l)):400<=s.status?l.textContent='\u2716 Error '+s.status+' while fetching file: '+s.statusText:l.textContent='\u2716 Error: File does not exist or is empty')},s.send(null)})},document.addEventListener('DOMContentLoaded',self.Prism.fileHighlight))}()});Prism.languages.python={"triple-quoted-string":{pattern:/"""[\s\S]+?"""|'''[\s\S]+?'''/,alias:'string'},comment:{pattern:/(^|[^\\])#.*/,lookbehind:!0},string:{pattern:/("|')(?:\\\\|\\?[^\\\r\n])*?\1/,greedy:!0},function:{pattern:/((?:^|\s)def[ \t]+)[a-zA-Z_][a-zA-Z0-9_]*(?=\()/g,lookbehind:!0},"class-name":{pattern:/(\bclass\s+)[a-z0-9_]+/i,lookbehind:!0},keyword:/\b(?:as|assert|async|await|break|class|continue|def|del|elif|else|except|exec|finally|for|from|global|if|import|in|is|lambda|pass|print|raise|return|try|while|with|yield)\b/,boolean:/\b(?:True|False)\b/,number:/\b-?(?:0[bo])?(?:(?:\d|0x[\da-f])[\da-f]*\.?\d*|\.\d+)(?:e[+-]?\d+)?j?\b/i,operator:/[-+%=]=?|!=|\*\*?=?|\/\/?=?|<[<=>]?|>[=>]?|[&|^~]|\b(?:or|and|not)\b/,punctuation:/[{}[\];(),.:]/},Prism.languages.clike={comment:[{pattern:/(^|[^\\])#.*/,lookbehind:!0},{pattern:/(^|[^\\])\/\*[\w\W]*?\*\//,lookbehind:!0},{pattern:/(^|[^\\:])\/\/.*/,lookbehind:!0}],string:{pattern:/(["'])(\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/,greedy:!0},"class-name":{pattern:/((?:\b(?:class|interface|extends|implements|trait|instanceof|new)\s+)|(?:catch\s+\())[a-z0-9_\.\\]+/i,lookbehind:!0,inside:{punctuation:/(\.|\\)/}},keyword:/\b(if|else|while|do|for|return|in|instanceof|function|new|try|throw|catch|finally|null|break|continue)\b/,boolean:/\b(true|false)\b/,function:/[a-z\.0-9_]+(?=\()/i,number:/\b-?(?:0x[\da-f]+|\d*\.?\d+(?:e[+-]?\d+)?)\b/i,operator:/--?|\+\+?|!=?=?|<=?|>=?|==?=?|&&?|\|\|?|\?|\*|\/|~|\^|%/,punctuation:/[{}[\];(),.:]/},Prism.languages.lua={comment:/^#!.+|--(?:\[(=*)\[[\s\S]*?\]\1\]|.*)/m,string:{pattern:/(["'])(?:(?!\1)[^\\\r\n]|\\z(?:\r\n|\s)|\\(?:\r\n|[\s\S]))*\1|\[(=*)\[[\s\S]*?\]\2\]/,greedy:!0},number:/\b0x[a-f\d]+\.?[a-f\d]*(?:p[+-]?\d+)?\b|\b\d+(?:\.\B|\.?\d*(?:e[+-]?\d+)?\b)|\B\.\d+(?:e[+-]?\d+)?\b/i,keyword:/\b(?:and|break|do|else|elseif|end|false|for|function|goto|if|in|local|nil|not|or|repeat|return|then|true|until|while)\b/,function:/(?!\d)\w+(?=\s*(?:[({]))/,operator:[/[-+*%^&|#]|\/\/?|<[<=]?|>[>=]?|[=~]=?/,{pattern:/(^|[^.])\.\.(?!\.)/,lookbehind:!0}],punctuation:/[\[\](){},;]|\.+|:+/},function(e){var t={variable:[{pattern:/\$?\(\([\w\W]+?\)\)/,inside:{variable:[{pattern:/(^\$\(\([\w\W]+)\)\)/,lookbehind:!0},/^\$\(\(/],number:/\b-?(?:0x[\dA-Fa-f]+|\d*\.?\d+(?:[Ee]-?\d+)?)\b/,operator:/--?|-=|\+\+?|\+=|!=?|~|\*\*?|\*=|\/=?|%=?|<<=?|>>=?|<=?|>=?|==?|&&?|&=|\^=?|\|\|?|\|=|\?|:/,punctuation:/\(\(?|\)\)?|,|;/}},{pattern:/\$\([^)]+\)|`[^`]+`/,inside:{variable:/^\$\(|^`|\)$|`$/}},/\$(?:[a-z0-9_#\?\*!@]+|\{[^}]+\})/i]};e.languages.bash={shebang:{pattern:/^#!\s*\/bin\/bash|^#!\s*\/bin\/sh/,alias:'important'},comment:{pattern:/(^|[^"{\\])#.*/,lookbehind:!0},string:[{pattern:/((?:^|[^<])<<\s*)(?:"|')?(\w+?)(?:"|')?\s*\r?\n(?:[\s\S])*?\r?\n\2/g,lookbehind:!0,greedy:!0,inside:t},{pattern:/(["'])(?:\\\\|\\?[^\\])*?\1/g,greedy:!0,inside:t}],variable:t.variable,function:{pattern:/(^|\s|;|\||&)(?:alias|apropos|apt-get|aptitude|aspell|awk|basename|bash|bc|bg|builtin|bzip2|cal|cat|cd|cfdisk|chgrp|chmod|chown|chroot|chkconfig|cksum|clear|cmp|comm|command|cp|cron|crontab|csplit|cut|date|dc|dd|ddrescue|df|diff|diff3|dig|dir|dircolors|dirname|dirs|dmesg|du|egrep|eject|enable|env|ethtool|eval|exec|expand|expect|export|expr|fdformat|fdisk|fg|fgrep|file|find|fmt|fold|format|free|fsck|ftp|fuser|gawk|getopts|git|grep|groupadd|groupdel|groupmod|groups|gzip|hash|head|help|hg|history|hostname|htop|iconv|id|ifconfig|ifdown|ifup|import|install|jobs|join|kill|killall|less|link|ln|locate|logname|logout|look|lpc|lpr|lprint|lprintd|lprintq|lprm|ls|lsof|make|man|mkdir|mkfifo|mkisofs|mknod|more|most|mount|mtools|mtr|mv|mmv|nano|netstat|nice|nl|nohup|notify-send|npm|nslookup|open|op|passwd|paste|pathchk|ping|pkill|popd|pr|printcap|printenv|printf|ps|pushd|pv|pwd|quota|quotacheck|quotactl|ram|rar|rcp|read|readarray|readonly|reboot|rename|renice|remsync|rev|rm|rmdir|rsync|screen|scp|sdiff|sed|seq|service|sftp|shift|shopt|shutdown|sleep|slocate|sort|source|split|ssh|stat|strace|su|sudo|sum|suspend|sync|tail|tar|tee|test|time|timeout|times|touch|top|traceroute|trap|tr|tsort|tty|type|ulimit|umask|umount|unalias|uname|unexpand|uniq|units|unrar|unshar|uptime|useradd|userdel|usermod|users|uuencode|uudecode|v|vdir|vi|vmstat|wait|watch|wc|wget|whereis|which|who|whoami|write|xargs|xdg-open|yes|zip)(?=$|\s|;|\||&)/,lookbehind:!0},keyword:{pattern:/(^|\s|;|\||&)(?:let|:|\.|if|then|else|elif|fi|for|break|continue|while|in|case|function|select|do|done|until|echo|exit|return|set|declare)(?=$|\s|;|\||&)/,lookbehind:!0},boolean:{pattern:/(^|\s|;|\||&)(?:true|false)(?=$|\s|;|\||&)/,lookbehind:!0},operator:/&&?|\|\|?|==?|!=?|<<<?|>>|<=?|>=?|=~/,punctuation:/\$?\(\(?|\)\)?|\.\.|[{}[\];]/};var n=t.variable[1].inside;n['function']=e.languages.bash['function'],n.keyword=e.languages.bash.keyword,n.boolean=e.languages.bash.boolean,n.operator=e.languages.bash.operator,n.punctuation=e.languages.bash.punctuation}(Prism),Prism.languages.go=Prism.languages.extend('clike',{keyword:/\b(break|case|chan|const|continue|default|defer|else|fallthrough|for|func|go(to)?|if|import|interface|map|package|range|return|select|struct|switch|type|var)\b/,builtin:/\b(bool|byte|complex(64|128)|error|float(32|64)|rune|string|u?int(8|16|32|64|)|uintptr|append|cap|close|complex|copy|delete|imag|len|make|new|panic|print(ln)?|real|recover)\b/,boolean:/\b(_|iota|nil|true|false)\b/,operator:/[*\/%^!=]=?|\+[=+]?|-[=-]?|\|[=|]?|&(?:=|&|\^=?)?|>(?:>=?|=)?|<(?:<=?|=|-)?|:=|\.\.\./,number:/\b(-?(0x[a-f\d]+|(\d+\.?\d*|\.\d+)(e[-+]?\d+)?)i?)\b/i,string:/("|'|`)(\\?.|\r|\n)*?\1/}),delete Prism.languages.go['class-name'],Prism.languages.markdown=Prism.languages.extend('markup',{}),Prism.languages.insertBefore('markdown','prolog',{blockquote:{pattern:/^>(?:[\t ]*>)*/m,alias:'punctuation'},code:[{pattern:/^(?: {4}|\t).+/m,alias:'keyword'},{pattern:/``.+?``|`[^`\n]+`/,alias:'keyword'}],title:[{pattern:/\w+.*(?:\r?\n|\r)(?:==+|--+)/,alias:'important',inside:{punctuation:/==+$|--+$/}},{pattern:/(^\s*)#+.+/m,lookbehind:!0,alias:'important',inside:{punctuation:/^#+|#+$/}}],hr:{pattern:/(^\s*)([*-])([\t ]*\2){2,}(?=\s*$)/m,lookbehind:!0,alias:'punctuation'},list:{pattern:/(^\s*)(?:[*+-]|\d+\.)(?=[\t ].)/m,lookbehind:!0,alias:'punctuation'},"url-reference":{pattern:/!?\[[^\]]+\]:[\t ]+(?:\S+|<(?:\\.|[^>\\])+>)(?:[\t ]+(?:"(?:\\.|[^"\\])*"|'(?:\\.|[^'\\])*'|\((?:\\.|[^)\\])*\)))?/,inside:{variable:{pattern:/^(!?\[)[^\]]+/,lookbehind:!0},string:/(?:"(?:\\.|[^"\\])*"|'(?:\\.|[^'\\])*'|\((?:\\.|[^)\\])*\))$/,punctuation:/^[\[\]!:]|[<>]/},alias:'url'},bold:{pattern:/(^|[^\\])(\*\*|__)(?:(?:\r?\n|\r)(?!\r?\n|\r)|.)+?\2/,lookbehind:!0,inside:{punctuation:/^\*\*|^__|\*\*$|__$/}},italic:{pattern:/(^|[^\\])([*_])(?:(?:\r?\n|\r)(?!\r?\n|\r)|.)+?\2/,lookbehind:!0,inside:{punctuation:/^[*_]|[*_]$/}},url:{pattern:/!?\[[^\]]+\](?:\([^\s)]+(?:[\t ]+"(?:\\.|[^"\\])*")?\)| ?\[[^\]\n]*\])/,inside:{variable:{pattern:/(!?\[)[^\]]+(?=\]$)/,lookbehind:!0},string:{pattern:/"(?:\\.|[^"\\])*"(?=\)$)/}}}}),Prism.languages.markdown.bold.inside.url=Prism.util.clone(Prism.languages.markdown.url),Prism.languages.markdown.italic.inside.url=Prism.util.clone(Prism.languages.markdown.url),Prism.languages.markdown.bold.inside.italic=Prism.util.clone(Prism.languages.markdown.italic),Prism.languages.markdown.italic.inside.bold=Prism.util.clone(Prism.languages.markdown.bold),Prism.languages.julia={comment:{pattern:/(^|[^\\])#.*/,lookbehind:!0},string:/"""[\s\S]+?"""|'''[\s\S]+?'''|("|')(\\?.)*?\1/,keyword:/\b(abstract|baremodule|begin|bitstype|break|catch|ccall|const|continue|do|else|elseif|end|export|finally|for|function|global|if|immutable|import|importall|let|local|macro|module|print|println|quote|return|try|type|typealias|using|while)\b/,boolean:/\b(true|false)\b/,number:/\b-?(0[box])?(?:[\da-f]+\.?\d*|\.\d+)(?:[efp][+-]?\d+)?j?\b/i,operator:/\+=?|-=?|\*=?|\/[\/=]?|\\=?|\^=?|%=?|÷=?|!=?=?|&=?|\|[=>]?|\$=?|<(?:<=?|[=:])?|>(?:=|>>?=?)?|==?=?|[~≠≤≥]/,punctuation:/[{}[\];(),.:]/};const Ii=ti('d-code',` +<style> + +code { + white-space: nowrap; + background: rgba(0, 0, 0, 0.04); + border-radius: 2px; + padding: 4px 7px; + font-size: 15px; + color: rgba(0, 0, 0, 0.6); +} + +pre code { + display: block; + border-left: 2px solid rgba(0, 0, 0, .1); + padding: 0 0 0 36px; +} + +${'/**\n * prism.js default theme for JavaScript, CSS and HTML\n * Based on dabblet (http://dabblet.com)\n * @author Lea Verou\n */\n\ncode[class*="language-"],\npre[class*="language-"] {\n\tcolor: black;\n\tbackground: none;\n\ttext-shadow: 0 1px white;\n\tfont-family: Consolas, Monaco, \'Andale Mono\', \'Ubuntu Mono\', monospace;\n\ttext-align: left;\n\twhite-space: pre;\n\tword-spacing: normal;\n\tword-break: normal;\n\tword-wrap: normal;\n\tline-height: 1.5;\n\n\t-moz-tab-size: 4;\n\t-o-tab-size: 4;\n\ttab-size: 4;\n\n\t-webkit-hyphens: none;\n\t-moz-hyphens: none;\n\t-ms-hyphens: none;\n\thyphens: none;\n}\n\npre[class*="language-"]::-moz-selection, pre[class*="language-"] ::-moz-selection,\ncode[class*="language-"]::-moz-selection, code[class*="language-"] ::-moz-selection {\n\ttext-shadow: none;\n\tbackground: #b3d4fc;\n}\n\npre[class*="language-"]::selection, pre[class*="language-"] ::selection,\ncode[class*="language-"]::selection, code[class*="language-"] ::selection {\n\ttext-shadow: none;\n\tbackground: #b3d4fc;\n}\n\n@media print {\n\tcode[class*="language-"],\n\tpre[class*="language-"] {\n\t\ttext-shadow: none;\n\t}\n}\n\n/* Code blocks */\npre[class*="language-"] {\n\tpadding: 1em;\n\tmargin: .5em 0;\n\toverflow: auto;\n}\n\n:not(pre) > code[class*="language-"],\npre[class*="language-"] {\n\tbackground: #f5f2f0;\n}\n\n/* Inline code */\n:not(pre) > code[class*="language-"] {\n\tpadding: .1em;\n\tborder-radius: .3em;\n\twhite-space: normal;\n}\n\n.token.comment,\n.token.prolog,\n.token.doctype,\n.token.cdata {\n\tcolor: slategray;\n}\n\n.token.punctuation {\n\tcolor: #999;\n}\n\n.namespace {\n\topacity: .7;\n}\n\n.token.property,\n.token.tag,\n.token.boolean,\n.token.number,\n.token.constant,\n.token.symbol,\n.token.deleted {\n\tcolor: #905;\n}\n\n.token.selector,\n.token.attr-name,\n.token.string,\n.token.char,\n.token.builtin,\n.token.inserted {\n\tcolor: #690;\n}\n\n.token.operator,\n.token.entity,\n.token.url,\n.language-css .token.string,\n.style .token.string {\n\tcolor: #a67f59;\n\tbackground: hsla(0, 0%, 100%, .5);\n}\n\n.token.atrule,\n.token.attr-value,\n.token.keyword {\n\tcolor: #07a;\n}\n\n.token.function {\n\tcolor: #DD4A68;\n}\n\n.token.regex,\n.token.important,\n.token.variable {\n\tcolor: #e90;\n}\n\n.token.important,\n.token.bold {\n\tfont-weight: bold;\n}\n.token.italic {\n\tfont-style: italic;\n}\n\n.token.entity {\n\tcursor: help;\n}\n'} +</style> + +<code id="code-container"></code> + +`);class Ni extends ei(Ii(HTMLElement)){renderContent(){if(this.languageName=this.getAttribute('language'),!this.languageName)return void console.warn('You need to provide a language attribute to your <d-code> block to let us know how to highlight your code; e.g.:\n <d-code language="python">zeros = np.zeros(shape)</d-code>.');const e=Ui.languages[this.languageName];if(void 0==e)return void console.warn(`Distill does not yet support highlighting your code block in "${this.languageName}'.`);let t=this.textContent;const n=this.shadowRoot.querySelector('#code-container');if(this.hasAttribute('block')){t=t.replace(/\n/,'');const e=t.match(/\s*/);if(t=t.replace(new RegExp('\n'+e,'g'),'\n'),t=t.trim(),n.parentNode instanceof ShadowRoot){const e=document.createElement('pre');this.shadowRoot.removeChild(n),e.appendChild(n),this.shadowRoot.appendChild(e)}}n.className=`language-${this.languageName}`,n.innerHTML=Ui.highlight(t,e)}}const ji=ti('d-footnote',` +<style> + +d-math[block] { + display: block; +} + +:host { + +} + +sup { + line-height: 1em; + font-size: 0.75em; + position: relative; + top: -.5em; + vertical-align: baseline; +} + +span { + color: hsla(206, 90%, 20%, 0.7); + cursor: default; +} + +.footnote-container { + padding: 10px; +} + +</style> + +<d-hover-box> + <div class="footnote-container"> + <slot id="slot"></slot> + </div> +</d-hover-box> + +<sup> + <span id="fn-" data-hover-ref=""></span> +</sup> + +`);class Ri extends ji(HTMLElement){constructor(){super();const e=new MutationObserver(this.notify);e.observe(this,{childList:!0,characterData:!0,subtree:!0})}notify(){const e={detail:this,bubbles:!0},t=new CustomEvent('onFootnoteChanged',e);document.dispatchEvent(t)}connectedCallback(){this.hoverBox=this.root.querySelector('d-hover-box'),window.customElements.whenDefined('d-hover-box').then(()=>{this.hoverBox.listen(this)}),Ri.currentFootnoteId+=1;const e=Ri.currentFootnoteId.toString();this.root.host.id='d-footnote-'+e;const t='dt-fn-hover-box-'+e;this.hoverBox.id=t;const n=this.root.querySelector('#fn-');n.setAttribute('id','fn-'+e),n.setAttribute('data-hover-ref',t),n.textContent=e}}Ri.currentFootnoteId=0;const qi=ti('d-footnote-list',` +<style> + +d-footnote-list { + contain: layout style; +} + +d-footnote-list > * { + grid-column: text; +} + +d-footnote-list a.footnote-backlink { + color: rgba(0,0,0,0.3); + padding-left: 0.5em; +} + +</style> + +<h3>Footnotes</h3> +<ol></ol> +`,!1);class Fi extends qi(HTMLElement){connectedCallback(){super.connectedCallback(),this.list=this.root.querySelector('ol'),this.root.style.display='none'}set footnotes(e){if(this.list.innerHTML='',e.length){this.root.style.display='';for(const t of e){const e=document.createElement('li');e.id=t.id+'-listing',e.innerHTML=t.innerHTML;const n=document.createElement('a');n.setAttribute('class','footnote-backlink'),n.textContent='[\u21A9]',n.href='#'+t.id,e.appendChild(n),this.list.appendChild(e)}}else this.root.style.display='none'}}const Pi=ti('d-hover-box',` +<style> + +:host { + position: absolute; + width: 100%; + left: 0px; + z-index: 10000; + display: none; + white-space: normal +} + +.container { + position: relative; + width: 704px; + max-width: 100vw; + margin: 0 auto; +} + +.panel { + position: absolute; + font-size: 1rem; + line-height: 1.5em; + top: 0; + left: 0; + width: 100%; + border: 1px solid rgba(0, 0, 0, 0.1); + background-color: rgba(250, 250, 250, 0.95); + box-shadow: 0 0 7px rgba(0, 0, 0, 0.1); + border-radius: 4px; + box-sizing: border-box; + + backdrop-filter: blur(2px); + -webkit-backdrop-filter: blur(2px); +} + +</style> + +<div class="container"> + <div class="panel"> + <slot></slot> + </div> +</div> +`);class Hi extends Pi(HTMLElement){constructor(){super()}connectedCallback(){}listen(e){this.bindDivEvents(this),this.bindTriggerEvents(e)}bindDivEvents(e){e.addEventListener('mouseover',()=>{this.visible||this.showAtNode(e),this.stopTimeout()}),e.addEventListener('mouseout',()=>{this.extendTimeout(500)}),e.addEventListener('touchstart',(e)=>{e.stopPropagation()},{passive:!0}),document.body.addEventListener('touchstart',()=>{this.hide()},{passive:!0})}bindTriggerEvents(e){e.addEventListener('mouseover',()=>{this.visible||this.showAtNode(e),this.stopTimeout()}),e.addEventListener('mouseout',()=>{this.extendTimeout(300)}),e.addEventListener('touchstart',(t)=>{this.visible?this.hide():this.showAtNode(e),t.stopPropagation()},{passive:!0})}show(e){this.visible=!0,this.style.display='block',this.style.top=Pn(e[1]+10)+'px'}showAtNode(e){const t=e.getBoundingClientRect();this.show([e.offsetLeft+t.width,e.offsetTop+t.height])}hide(){this.visible=!1,this.style.display='none',this.stopTimeout()}stopTimeout(){this.timeout&&clearTimeout(this.timeout)}extendTimeout(e){this.stopTimeout(),this.timeout=setTimeout(()=>{this.hide()},e)}}class zi extends HTMLElement{static get is(){return'd-title'}}const Yi=ti('d-references',` +<style> +d-references { + display: block; +} +</style> +`,!1);class Bi extends Yi(HTMLElement){}class Wi extends HTMLElement{static get is(){return'd-toc'}connectedCallback(){this.getAttribute('prerendered')||(window.onload=()=>{const e=document.querySelector('d-article'),t=e.querySelectorAll('h2, h3');k(this,t)})}}class Vi extends HTMLElement{static get is(){return'd-figure'}static get readyQueue(){return Vi._readyQueue||(Vi._readyQueue=[]),Vi._readyQueue}static addToReadyQueue(e){-1===Vi.readyQueue.indexOf(e)&&(Vi.readyQueue.push(e),Vi.runReadyQueue())}static runReadyQueue(){const e=Vi.readyQueue.sort((e,t)=>e._seenOnScreen-t._seenOnScreen).filter((e)=>!e._ready).pop();e&&(e.ready(),requestAnimationFrame(Vi.runReadyQueue))}constructor(){super(),this._ready=!1,this._onscreen=!1,this._offscreen=!0}connectedCallback(){this.loadsWhileScrolling=this.hasAttribute('loadsWhileScrolling'),Vi.marginObserver.observe(this),Vi.directObserver.observe(this)}disconnectedCallback(){Vi.marginObserver.unobserve(this),Vi.directObserver.unobserve(this)}static get marginObserver(){if(!Vi._marginObserver){const e=window.innerHeight,t=Fn(2*e),n=Vi.didObserveMarginIntersection,i=new IntersectionObserver(n,{rootMargin:t+'px 0px '+t+'px 0px',threshold:0.01});Vi._marginObserver=i}return Vi._marginObserver}static didObserveMarginIntersection(e){for(const t of e){const e=t.target;t.isIntersecting&&!e._ready&&Vi.addToReadyQueue(e)}}static get directObserver(){return Vi._directObserver||(Vi._directObserver=new IntersectionObserver(Vi.didObserveDirectIntersection,{rootMargin:'0px',threshold:[0,1]})),Vi._directObserver}static didObserveDirectIntersection(e){for(const t of e){const e=t.target;t.isIntersecting?(e._seenOnScreen=new Date,e._offscreen&&e.onscreen()):e._onscreen&&e.offscreen()}}addEventListener(e,t){super.addEventListener(e,t),'ready'===e&&-1!==Vi.readyQueue.indexOf(this)&&(this._ready=!1,Vi.runReadyQueue()),'onscreen'===e&&this.onscreen()}ready(){this._ready=!0,Vi.marginObserver.unobserve(this);const e=new CustomEvent('ready');this.dispatchEvent(e)}onscreen(){this._onscreen=!0,this._offscreen=!1;const e=new CustomEvent('onscreen');this.dispatchEvent(e)}offscreen(){this._onscreen=!1,this._offscreen=!0;const e=new CustomEvent('offscreen');this.dispatchEvent(e)}}if('undefined'!=typeof window){Vi.isScrolling=!1;let e;window.addEventListener('scroll',()=>{Vi.isScrolling=!0,clearTimeout(e),e=setTimeout(()=>{Vi.isScrolling=!1,Vi.runReadyQueue()},500)},!0)}const Ki=ti('d-interstitial',` +<style> + +.overlay { + position: fixed; + width: 100%; + height: 100%; + top: 0; + left: 0; + background: white; + + opacity: 1; + visibility: visible; + + display: flex; + flex-flow: column; + justify-content: center; + z-index: 2147483647 /* MaxInt32 */ + +} + +.container { + position: relative; + margin-left: auto; + margin-right: auto; + max-width: 420px; + padding: 2em; +} + +h1 { + text-decoration: underline; + text-decoration-color: hsl(0,100%,40%); + -webkit-text-decoration-color: hsl(0,100%,40%); + margin-bottom: 1em; + line-height: 1.5em; +} + +input[type="password"] { + -webkit-appearance: none; + -moz-appearance: none; + appearance: none; + -webkit-box-shadow: none; + -moz-box-shadow: none; + box-shadow: none; + -webkit-border-radius: none; + -moz-border-radius: none; + -ms-border-radius: none; + -o-border-radius: none; + border-radius: none; + outline: none; + + font-size: 18px; + background: none; + width: 25%; + padding: 10px; + border: none; + border-bottom: solid 2px #999; + transition: border .3s; +} + +input[type="password"]:focus { + border-bottom: solid 2px #333; +} + +input[type="password"].wrong { + border-bottom: solid 2px hsl(0,100%,40%); +} + +p small { + color: #888; +} + +.logo { + position: relative; + font-size: 1.5em; + margin-bottom: 3em; +} + +.logo svg { + width: 36px; + position: relative; + top: 6px; + margin-right: 2px; +} + +.logo svg path { + fill: none; + stroke: black; + stroke-width: 2px; +} + +</style> + +<div class="overlay"> + <div class="container"> + <h1>This article is in review.</h1> + <p>Do not share this URL or the contents of this article. Thank you!</p> + <input id="interstitial-password-input" type="password" name="password" autofocus/> + <p><small>Enter the password we shared with you as part of the review process to view the article.</small></p> + </div> +</div> +`);class $i extends Ki(HTMLElement){connectedCallback(){if(this.shouldRemoveSelf())this.parentElement.removeChild(this);else{const e=this.root.querySelector('#interstitial-password-input');e.oninput=(e)=>this.passwordChanged(e)}}passwordChanged(e){const t=e.target.value;t===this.password&&(console.log('Correct password entered.'),this.parentElement.removeChild(this),'undefined'!=typeof Storage&&(console.log('Saved that correct password was entered.'),localStorage.setItem(this.localStorageIdentifier(),'true')))}shouldRemoveSelf(){return window&&window.location.hostname==='distill.pub'?(console.warn('Interstitial found on production, hiding it.'),!0):'undefined'!=typeof Storage&&'true'===localStorage.getItem(this.localStorageIdentifier())&&(console.log('Loaded that correct password was entered before; skipping interstitial.'),!0)}localStorageIdentifier(){return'distill-drafts'+(window?window.location.pathname:'-')+'interstitial-password-correct'}}var Xi=function(e,t){return e<t?-1:e>t?1:e>=t?0:NaN},Ji=function(e){return 1===e.length&&(e=v(e)),{left:function(t,n,i,a){for(null==i&&(i=0),null==a&&(a=t.length);i<a;){var d=i+a>>>1;0>e(t[d],n)?i=d+1:a=d}return i},right:function(t,n,i,a){for(null==i&&(i=0),null==a&&(a=t.length);i<a;){var d=i+a>>>1;0<e(t[d],n)?a=d:i=d+1}return i}}}(Xi),Qi=Ji.right,Zi=function(e,t,a){e=+e,t=+t,a=2>(i=arguments.length)?(t=e,e=0,1):3>i?1:+a;for(var d=-1,i=0|Rn(0,qn((t-e)/a)),n=Array(i);++d<i;)n[d]=e+d*a;return n},Gi=7.0710678118654755,ea=3.1622776601683795,ta=1.4142135623730951,na=function(e,t,a){var d,r,n,o,l=-1;if(t=+t,e=+e,a=+a,e===t&&0<a)return[e];if((d=t<e)&&(r=e,e=t,t=r),0===(o=w(e,t,a))||!isFinite(o))return[];if(0<o)for(e=qn(e/o),t=Fn(t/o),n=Array(r=qn(t-e+1));++l<r;)n[l]=(e+l)*o;else for(e=Fn(e*o),t=qn(t*o),n=Array(r=qn(e-t+1));++l<r;)n[l]=(e-l)/o;return d&&n.reverse(),n},ia=Array.prototype,aa=ia.map,da=ia.slice,ra=function(e,t,n){e.prototype=t.prototype=n,n.constructor=e},oa=0.7,la=1/oa,sa=/^#([0-9a-f]{3})$/,ca=/^#([0-9a-f]{6})$/,ua=/^rgb\(\s*([+-]?\d+)\s*,\s*([+-]?\d+)\s*,\s*([+-]?\d+)\s*\)$/,pa=/^rgb\(\s*([+-]?\d*\.?\d+(?:[eE][+-]?\d+)?)%\s*,\s*([+-]?\d*\.?\d+(?:[eE][+-]?\d+)?)%\s*,\s*([+-]?\d*\.?\d+(?:[eE][+-]?\d+)?)%\s*\)$/,ga=/^rgba\(\s*([+-]?\d+)\s*,\s*([+-]?\d+)\s*,\s*([+-]?\d+)\s*,\s*([+-]?\d*\.?\d+(?:[eE][+-]?\d+)?)\s*\)$/,fa=/^rgba\(\s*([+-]?\d*\.?\d+(?:[eE][+-]?\d+)?)%\s*,\s*([+-]?\d*\.?\d+(?:[eE][+-]?\d+)?)%\s*,\s*([+-]?\d*\.?\d+(?:[eE][+-]?\d+)?)%\s*,\s*([+-]?\d*\.?\d+(?:[eE][+-]?\d+)?)\s*\)$/,ha=/^hsl\(\s*([+-]?\d*\.?\d+(?:[eE][+-]?\d+)?)\s*,\s*([+-]?\d*\.?\d+(?:[eE][+-]?\d+)?)%\s*,\s*([+-]?\d*\.?\d+(?:[eE][+-]?\d+)?)%\s*\)$/,ba=/^hsla\(\s*([+-]?\d*\.?\d+(?:[eE][+-]?\d+)?)\s*,\s*([+-]?\d*\.?\d+(?:[eE][+-]?\d+)?)%\s*,\s*([+-]?\d*\.?\d+(?:[eE][+-]?\d+)?)%\s*,\s*([+-]?\d*\.?\d+(?:[eE][+-]?\d+)?)\s*\)$/,ma={aliceblue:15792383,antiquewhite:16444375,aqua:65535,aquamarine:8388564,azure:15794175,beige:16119260,bisque:16770244,black:0,blanchedalmond:16772045,blue:255,blueviolet:9055202,brown:10824234,burlywood:14596231,cadetblue:6266528,chartreuse:8388352,chocolate:13789470,coral:16744272,cornflowerblue:6591981,cornsilk:16775388,crimson:14423100,cyan:65535,darkblue:139,darkcyan:35723,darkgoldenrod:12092939,darkgray:11119017,darkgreen:25600,darkgrey:11119017,darkkhaki:12433259,darkmagenta:9109643,darkolivegreen:5597999,darkorange:16747520,darkorchid:10040012,darkred:9109504,darksalmon:15308410,darkseagreen:9419919,darkslateblue:4734347,darkslategray:3100495,darkslategrey:3100495,darkturquoise:52945,darkviolet:9699539,deeppink:16716947,deepskyblue:49151,dimgray:6908265,dimgrey:6908265,dodgerblue:2003199,firebrick:11674146,floralwhite:16775920,forestgreen:2263842,fuchsia:16711935,gainsboro:14474460,ghostwhite:16316671,gold:16766720,goldenrod:14329120,gray:8421504,green:32768,greenyellow:11403055,grey:8421504,honeydew:15794160,hotpink:16738740,indianred:13458524,indigo:4915330,ivory:16777200,khaki:15787660,lavender:15132410,lavenderblush:16773365,lawngreen:8190976,lemonchiffon:16775885,lightblue:11393254,lightcoral:15761536,lightcyan:14745599,lightgoldenrodyellow:16448210,lightgray:13882323,lightgreen:9498256,lightgrey:13882323,lightpink:16758465,lightsalmon:16752762,lightseagreen:2142890,lightskyblue:8900346,lightslategray:7833753,lightslategrey:7833753,lightsteelblue:11584734,lightyellow:16777184,lime:65280,limegreen:3329330,linen:16445670,magenta:16711935,maroon:8388608,mediumaquamarine:6737322,mediumblue:205,mediumorchid:12211667,mediumpurple:9662683,mediumseagreen:3978097,mediumslateblue:8087790,mediumspringgreen:64154,mediumturquoise:4772300,mediumvioletred:13047173,midnightblue:1644912,mintcream:16121850,mistyrose:16770273,moccasin:16770229,navajowhite:16768685,navy:128,oldlace:16643558,olive:8421376,olivedrab:7048739,orange:16753920,orangered:16729344,orchid:14315734,palegoldenrod:15657130,palegreen:10025880,paleturquoise:11529966,palevioletred:14381203,papayawhip:16773077,peachpuff:16767673,peru:13468991,pink:16761035,plum:14524637,powderblue:11591910,purple:8388736,rebeccapurple:6697881,red:16711680,rosybrown:12357519,royalblue:4286945,saddlebrown:9127187,salmon:16416882,sandybrown:16032864,seagreen:3050327,seashell:16774638,sienna:10506797,silver:12632256,skyblue:8900331,slateblue:6970061,slategray:7372944,slategrey:7372944,snow:16775930,springgreen:65407,steelblue:4620980,tan:13808780,teal:32896,thistle:14204888,tomato:16737095,turquoise:4251856,violet:15631086,wheat:16113331,white:16777215,whitesmoke:16119285,yellow:16776960,yellowgreen:10145074};ra(L,M,{displayable:function(){return this.rgb().displayable()},toString:function(){return this.rgb()+''}}),ra(j,N,_(L,{brighter:function(e){return e=null==e?la:In(la,e),new j(this.r*e,this.g*e,this.b*e,this.opacity)},darker:function(e){return e=null==e?oa:In(oa,e),new j(this.r*e,this.g*e,this.b*e,this.opacity)},rgb:function(){return this},displayable:function(){return 0<=this.r&&255>=this.r&&0<=this.g&&255>=this.g&&0<=this.b&&255>=this.b&&0<=this.opacity&&1>=this.opacity},toString:function(){var e=this.opacity;return e=isNaN(e)?1:Rn(0,Hn(1,e)),(1===e?'rgb(':'rgba(')+Rn(0,Hn(255,Pn(this.r)||0))+', '+Rn(0,Hn(255,Pn(this.g)||0))+', '+Rn(0,Hn(255,Pn(this.b)||0))+(1===e?')':', '+e+')')}})),ra(F,function(e,t,n,i){return 1===arguments.length?q(e):new F(e,t,n,null==i?1:i)},_(L,{brighter:function(e){return e=null==e?la:In(la,e),new F(this.h,this.s,this.l*e,this.opacity)},darker:function(e){return e=null==e?oa:In(oa,e),new F(this.h,this.s,this.l*e,this.opacity)},rgb:function(){var e=this.h%360+360*(0>this.h),t=isNaN(e)||isNaN(this.s)?0:this.s,n=this.l,i=n+(0.5>n?n:1-n)*t,a=2*n-i;return new j(P(240<=e?e-240:e+120,a,i),P(e,a,i),P(120>e?e+240:e-120,a,i),this.opacity)},displayable:function(){return(0<=this.s&&1>=this.s||isNaN(this.s))&&0<=this.l&&1>=this.l&&0<=this.opacity&&1>=this.opacity}}));var ya=On/180,xa=180/On,ka=18,Kn=0.95047,Xn=1,Yn=1.08883,Zn=4/29,va=6/29,wa=3*va*va,Sa=va*va*va;ra(Y,function(e,t,n,i){return 1===arguments.length?H(e):new Y(e,t,n,null==i?1:i)},_(L,{brighter:function(e){return new Y(this.l+ka*(null==e?1:e),this.a,this.b,this.opacity)},darker:function(e){return new Y(this.l-ka*(null==e?1:e),this.a,this.b,this.opacity)},rgb:function(){var e=(this.l+16)/116,t=isNaN(this.a)?e:e+this.a/500,n=isNaN(this.b)?e:e-this.b/200;return e=Xn*V(e),t=Kn*V(t),n=Yn*V(n),new j(K(3.2404542*t-1.5371385*e-0.4985314*n),K(-0.969266*t+1.8760108*e+0.041556*n),K(0.0556434*t-0.2040259*e+1.0572252*n),this.opacity)}})),ra(X,function(e,t,n,i){return 1===arguments.length?z(e):new X(e,t,n,null==i?1:i)},_(L,{brighter:function(e){return new X(this.h,this.c,this.l+ka*(null==e?1:e),this.opacity)},darker:function(e){return new X(this.h,this.c,this.l-ka*(null==e?1:e),this.opacity)},rgb:function(){return H(this).rgb()}}));var Ca=-0.14861,A=+1.78277,B=-0.29227,C=-0.90649,D=+1.97294,E=D*C,Ta=D*A,_a=A*B-C*Ca;ra(Z,Q,_(L,{brighter:function(e){return e=null==e?la:In(la,e),new Z(this.h,this.s,this.l*e,this.opacity)},darker:function(e){return e=null==e?oa:In(oa,e),new Z(this.h,this.s,this.l*e,this.opacity)},rgb:function(){var e=isNaN(this.h)?0:(this.h+120)*ya,t=+this.l,n=isNaN(this.s)?0:this.s*t*(1-t),i=Mn(e),a=Dn(e);return new j(255*(t+n*(Ca*i+A*a)),255*(t+n*(B*i+C*a)),255*(t+n*(D*i)),this.opacity)}}));var La=function(e){return function(){return e}},Aa=function e(t){function n(e,t){var n=i((e=N(e)).r,(t=N(t)).r),a=i(e.g,t.g),d=i(e.b,t.b),r=ne(e.opacity,t.opacity);return function(i){return e.r=n(i),e.g=a(i),e.b=d(i),e.opacity=r(i),e+''}}var i=te(t);return n.gamma=e,n}(1),Ea=function(e,t){var n,i=t?t.length:0,a=e?Hn(i,e.length):0,d=Array(i),r=Array(i);for(n=0;n<a;++n)d[n]=ja(e[n],t[n]);for(;n<i;++n)r[n]=t[n];return function(e){for(n=0;n<a;++n)r[n]=d[n](e);return r}},Da=function(e,n){var i=new Date;return e=+e,n-=e,function(a){return i.setTime(e+n*a),i}},Ma=function(e,n){return e=+e,n-=e,function(i){return e+n*i}},Oa=function(e,t){var n,d={},i={};for(n in(null===e||'object'!=typeof e)&&(e={}),(null===t||'object'!=typeof t)&&(t={}),t)n in e?d[n]=ja(e[n],t[n]):i[n]=t[n];return function(e){for(n in d)i[n]=d[n](e);return i}},Ua=/[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g,Ia=new RegExp(Ua.source,'g'),Na=function(e,n){var t,a,d,r=Ua.lastIndex=Ia.lastIndex=0,o=-1,l=[],s=[];for(e+='',n+='';(t=Ua.exec(e))&&(a=Ia.exec(n));)(d=a.index)>r&&(d=n.slice(r,d),l[o]?l[o]+=d:l[++o]=d),(t=t[0])===(a=a[0])?l[o]?l[o]+=a:l[++o]=a:(l[++o]=null,s.push({i:o,x:Ma(t,a)})),r=Ia.lastIndex;return r<n.length&&(d=n.slice(r),l[o]?l[o]+=d:l[++o]=d),2>l.length?s[0]?ae(s[0].x):ie(n):(n=s.length,function(e){for(var t,a=0;a<n;++a)l[(t=s[a]).i]=t.x(e);return l.join('')})},ja=function(e,n){var i,a=typeof n;return null==n||'boolean'==a?La(n):('number'==a?Ma:'string'==a?(i=M(n))?(n=i,Aa):Na:n instanceof M?Aa:n instanceof Date?Da:Array.isArray(n)?Ea:'function'!=typeof n.valueOf&&'function'!=typeof n.toString||isNaN(n)?Oa:Ma)(e,n)},Ra=function(e,n){return e=+e,n-=e,function(i){return Pn(e+n*i)}};de(function(e,t){var n=t-e;return n?G(e,180<n||-180>n?n-360*Pn(n/360):n):La(isNaN(e)?t:e)});var qa,Fa=de(ne),Pa=function(e){return function(){return e}},Ha=function(e){return+e},za=[0,1],Ya=function(e,t){if(0>(n=(e=t?e.toExponential(t-1):e.toExponential()).indexOf('e')))return null;var n,i=e.slice(0,n);return[1<i.length?i[0]+i.slice(2):i,+e.slice(n+1)]},Ba=function(e){return e=Ya(Un(e)),e?e[1]:NaN},Wa=function(e,n){return function(a,d){for(var r=a.length,i=[],t=0,o=e[0],l=0;0<r&&0<o&&(l+o+1>d&&(o=Rn(1,d-l)),i.push(a.substring(r-=o,r+o)),!((l+=o+1)>d));)o=e[t=(t+1)%e.length];return i.reverse().join(n)}},Va=function(e){return function(t){return t.replace(/[0-9]/g,function(t){return e[+t]})}},Ka=function(e,t){var n=Ya(e,t);if(!n)return e+'';var i=n[0],a=n[1];return 0>a?'0.'+Array(-a).join('0')+i:i.length>a+1?i.slice(0,a+1)+'.'+i.slice(a+1):i+Array(a-i.length+2).join('0')},$a={"":function(e,t){e=e.toPrecision(t);out:for(var a,d=e.length,n=1,i=-1;n<d;++n)switch(e[n]){case'.':i=a=n;break;case'0':0===i&&(i=n),a=n;break;case'e':break out;default:0<i&&(i=0);}return 0<i?e.slice(0,i)+e.slice(a+1):e},"%":function(e,t){return(100*e).toFixed(t)},b:function(e){return Pn(e).toString(2)},c:function(e){return e+''},d:function(e){return Pn(e).toString(10)},e:function(e,t){return e.toExponential(t)},f:function(e,t){return e.toFixed(t)},g:function(e,t){return e.toPrecision(t)},o:function(e){return Pn(e).toString(8)},p:function(e,t){return Ka(100*e,t)},r:Ka,s:function(e,t){var a=Ya(e,t);if(!a)return e+'';var r=a[0],o=a[1],l=o-(qa=3*Rn(-8,Hn(8,Fn(o/3))))+1,i=r.length;return l===i?r:l>i?r+Array(l-i+1).join('0'):0<l?r.slice(0,l)+'.'+r.slice(l):'0.'+Array(1-l).join('0')+Ya(e,Rn(0,t+l-1))[0]},X:function(e){return Pn(e).toString(16).toUpperCase()},x:function(e){return Pn(e).toString(16)}},Xa=/^(?:(.)?([<>=^]))?([+\-\( ])?([$#])?(0)?(\d+)?(,)?(\.\d+)?([a-z%])?$/i;fe.prototype=he.prototype,he.prototype.toString=function(){return this.fill+this.align+this.sign+this.symbol+(this.zero?'0':'')+(null==this.width?'':Rn(1,0|this.width))+(this.comma?',':'')+(null==this.precision?'':'.'+Rn(0,0|this.precision))+this.type};var re,Ja,Qa,Za=function(e){return e},Ga=['y','z','a','f','p','n','\xB5','m','','k','M','G','T','P','E','Z','Y'],ed=function(e){function t(e){function t(e){var t,i,n,c=b,k=m;if('c'===h)k=y(e)+k,e='';else{e=+e;var v=0>e;if(e=y(Un(e),f),v&&0==+e&&(v=!1),c=(v?'('===s?s:'-':'-'===s||'('===s?'':s)+c,k=k+('s'===h?Ga[8+qa/3]:'')+(v&&'('===s?')':''),x)for(t=-1,i=e.length;++t<i;)if(n=e.charCodeAt(t),48>n||57<n){k=(46===n?d+e.slice(t+1):e.slice(t))+k,e=e.slice(0,t);break}}g&&!u&&(e=a(e,Infinity));var w=c.length+e.length+k.length,S=w<p?Array(p-w+1).join(o):'';switch(g&&u&&(e=a(S+e,S.length?p-k.length:Infinity),S=''),l){case'<':e=c+e+k+S;break;case'=':e=c+S+e+k;break;case'^':e=S.slice(0,w=S.length>>1)+c+e+k+S.slice(w);break;default:e=S+c+e+k;}return r(e)}e=fe(e);var o=e.fill,l=e.align,s=e.sign,c=e.symbol,u=e.zero,p=e.width,g=e.comma,f=e.precision,h=e.type,b='$'===c?n[0]:'#'===c&&/[boxX]/.test(h)?'0'+h.toLowerCase():'',m='$'===c?n[1]:/[%p]/.test(h)?i:'',y=$a[h],x=!h||/[defgprs%]/.test(h);return f=null==f?h?6:12:/[gprs]/.test(h)?Rn(1,Hn(21,f)):Rn(0,Hn(20,f)),t.toString=function(){return e+''},t}var a=e.grouping&&e.thousands?Wa(e.grouping,e.thousands):Za,n=e.currency,d=e.decimal,r=e.numerals?Va(e.numerals):Za,i=e.percent||'%';return{format:t,formatPrefix:function(n,i){var a=t((n=fe(n),n.type='f',n)),d=3*Rn(-8,Hn(8,Fn(Ba(i)/3))),r=In(10,-d),o=Ga[8+d/3];return function(e){return a(r*e)+o}}}};(function(e){return re=ed(e),Ja=re.format,Qa=re.formatPrefix,re})({decimal:'.',thousands:',',grouping:[3],currency:['$','']});var td=function(e){return Rn(0,-Ba(Un(e)))},nd=function(e,t){return Rn(0,3*Rn(-8,Hn(8,Fn(Ba(t)/3)))-Ba(Un(e)))},id=function(e,t){return e=Un(e),t=Un(t)-e,Rn(0,Ba(t)-Ba(e))+1},ad=function(e,t,n){var i,a=e[0],d=e[e.length-1],r=S(a,d,null==t?10:t);switch(n=fe(null==n?',f':n),n.type){case's':{var o=Rn(Un(a),Un(d));return null!=n.precision||isNaN(i=nd(r,o))||(n.precision=i),Qa(n,o)}case'':case'e':case'g':case'p':case'r':{null!=n.precision||isNaN(i=id(r,Rn(Un(a),Un(d))))||(n.precision=i-('e'===n.type));break}case'f':case'%':{null!=n.precision||isNaN(i=td(r))||(n.precision=i-2*('%'===n.type));break}}return Ja(n)},dd=new Date,rd=new Date,od=ye(function(){},function(e,t){e.setTime(+e+t)},function(e,t){return t-e});od.every=function(e){return e=Fn(e),isFinite(e)&&0<e?1<e?ye(function(t){t.setTime(Fn(t/e)*e)},function(t,n){t.setTime(+t+n*e)},function(t,n){return(n-t)/e}):od:null};var ld=1e3,sd=6e4,cd=36e5,ud=864e5,pd=6048e5,gd=ye(function(e){e.setTime(Fn(e/ld)*ld)},function(e,t){e.setTime(+e+t*ld)},function(e,t){return(t-e)/ld},function(e){return e.getUTCSeconds()}),fd=ye(function(e){e.setTime(Fn(e/sd)*sd)},function(e,t){e.setTime(+e+t*sd)},function(e,t){return(t-e)/sd},function(e){return e.getMinutes()}),hd=ye(function(e){var t=e.getTimezoneOffset()*sd%cd;0>t&&(t+=cd),e.setTime(Fn((+e-t)/cd)*cd+t)},function(e,t){e.setTime(+e+t*cd)},function(e,t){return(t-e)/cd},function(e){return e.getHours()}),bd=ye(function(e){e.setHours(0,0,0,0)},function(e,t){e.setDate(e.getDate()+t)},function(e,t){return(t-e-(t.getTimezoneOffset()-e.getTimezoneOffset())*sd)/ud},function(e){return e.getDate()-1}),md=xe(0),yd=xe(1),xd=xe(2),kd=xe(3),vd=xe(4),wd=xe(5),Sd=xe(6),Cd=ye(function(e){e.setDate(1),e.setHours(0,0,0,0)},function(e,t){e.setMonth(e.getMonth()+t)},function(e,t){return t.getMonth()-e.getMonth()+12*(t.getFullYear()-e.getFullYear())},function(e){return e.getMonth()}),Td=ye(function(e){e.setMonth(0,1),e.setHours(0,0,0,0)},function(e,t){e.setFullYear(e.getFullYear()+t)},function(e,t){return t.getFullYear()-e.getFullYear()},function(e){return e.getFullYear()});Td.every=function(e){return isFinite(e=Fn(e))&&0<e?ye(function(t){t.setFullYear(Fn(t.getFullYear()/e)*e),t.setMonth(0,1),t.setHours(0,0,0,0)},function(t,n){t.setFullYear(t.getFullYear()+n*e)}):null};var _d=ye(function(e){e.setUTCSeconds(0,0)},function(e,t){e.setTime(+e+t*sd)},function(e,t){return(t-e)/sd},function(e){return e.getUTCMinutes()}),Ld=ye(function(e){e.setUTCMinutes(0,0,0)},function(e,t){e.setTime(+e+t*cd)},function(e,t){return(t-e)/cd},function(e){return e.getUTCHours()}),Ad=ye(function(e){e.setUTCHours(0,0,0,0)},function(e,t){e.setUTCDate(e.getUTCDate()+t)},function(e,t){return(t-e)/ud},function(e){return e.getUTCDate()-1}),Ed=ke(0),Dd=ke(1),Md=ke(2),Od=ke(3),Ud=ke(4),Id=ke(5),Nd=ke(6),jd=ye(function(e){e.setUTCDate(1),e.setUTCHours(0,0,0,0)},function(e,t){e.setUTCMonth(e.getUTCMonth()+t)},function(e,t){return t.getUTCMonth()-e.getUTCMonth()+12*(t.getUTCFullYear()-e.getUTCFullYear())},function(e){return e.getUTCMonth()}),Rd=ye(function(e){e.setUTCMonth(0,1),e.setUTCHours(0,0,0,0)},function(e,t){e.setUTCFullYear(e.getUTCFullYear()+t)},function(e,t){return t.getUTCFullYear()-e.getUTCFullYear()},function(e){return e.getUTCFullYear()});Rd.every=function(e){return isFinite(e=Fn(e))&&0<e?ye(function(t){t.setUTCFullYear(Fn(t.getUTCFullYear()/e)*e),t.setUTCMonth(0,1),t.setUTCHours(0,0,0,0)},function(t,n){t.setUTCFullYear(t.getUTCFullYear()+n*e)}):null};var qd,Fd,Pd,Hd={0:'0',"-":'',_:' '},zd=/^\s*\d+/,Yd=/^%/,Bd=/[\\\^\$\*\+\?\|\[\]\(\)\.\{\}]/g;(function(e){return qd=Ce(e),Fd=qd.utcFormat,Pd=qd.utcParse,qd})({dateTime:'%x, %X',date:'%-m/%-d/%Y',time:'%-I:%M:%S %p',periods:['AM','PM'],days:['Sunday','Monday','Tuesday','Wednesday','Thursday','Friday','Saturday'],shortDays:['Sun','Mon','Tue','Wed','Thu','Fri','Sat'],months:['January','February','March','April','May','June','July','August','September','October','November','December'],shortMonths:['Jan','Feb','Mar','Apr','May','Jun','Jul','Aug','Sep','Oct','Nov','Dec']});var Wd='%Y-%m-%dT%H:%M:%S.%LZ',Vd=Date.prototype.toISOString?function(e){return e.toISOString()}:Fd(Wd),Kd=+new Date('2000-01-01T00:00:00.000Z')?function(e){var t=new Date(e);return isNaN(t)?null:t}:Pd(Wd),$d=function(e){return e.match(/.{6}/g).map(function(e){return'#'+e})};$d('1f77b4ff7f0e2ca02cd627289467bd8c564be377c27f7f7fbcbd2217becf'),$d('393b795254a36b6ecf9c9ede6379398ca252b5cf6bcedb9c8c6d31bd9e39e7ba52e7cb94843c39ad494ad6616be7969c7b4173a55194ce6dbdde9ed6'),$d('3182bd6baed69ecae1c6dbefe6550dfd8d3cfdae6bfdd0a231a35474c476a1d99bc7e9c0756bb19e9ac8bcbddcdadaeb636363969696bdbdbdd9d9d9'),$d('1f77b4aec7e8ff7f0effbb782ca02c98df8ad62728ff98969467bdc5b0d58c564bc49c94e377c2f7b6d27f7f7fc7c7c7bcbd22dbdb8d17becf9edae5'),Fa(Q(300,0.5,0),Q(-240,0.5,1));var Xd=Fa(Q(-100,0.75,0.35),Q(80,1.5,0.8)),Jd=Fa(Q(260,0.75,0.35),Q(80,1.5,0.8)),Qd=Q();yt($d('44015444025645045745055946075a46085c460a5d460b5e470d60470e6147106347116447136548146748166848176948186a481a6c481b6d481c6e481d6f481f70482071482173482374482475482576482677482878482979472a7a472c7a472d7b472e7c472f7d46307e46327e46337f463480453581453781453882443983443a83443b84433d84433e85423f854240864241864142874144874045884046883f47883f48893e49893e4a893e4c8a3d4d8a3d4e8a3c4f8a3c508b3b518b3b528b3a538b3a548c39558c39568c38588c38598c375a8c375b8d365c8d365d8d355e8d355f8d34608d34618d33628d33638d32648e32658e31668e31678e31688e30698e306a8e2f6b8e2f6c8e2e6d8e2e6e8e2e6f8e2d708e2d718e2c718e2c728e2c738e2b748e2b758e2a768e2a778e2a788e29798e297a8e297b8e287c8e287d8e277e8e277f8e27808e26818e26828e26828e25838e25848e25858e24868e24878e23888e23898e238a8d228b8d228c8d228d8d218e8d218f8d21908d21918c20928c20928c20938c1f948c1f958b1f968b1f978b1f988b1f998a1f9a8a1e9b8a1e9c891e9d891f9e891f9f881fa0881fa1881fa1871fa28720a38620a48621a58521a68522a78522a88423a98324aa8325ab8225ac8226ad8127ad8128ae8029af7f2ab07f2cb17e2db27d2eb37c2fb47c31b57b32b67a34b67935b77937b87838b9773aba763bbb753dbc743fbc7340bd7242be7144bf7046c06f48c16e4ac16d4cc26c4ec36b50c46a52c56954c56856c66758c7655ac8645cc8635ec96260ca6063cb5f65cb5e67cc5c69cd5b6ccd5a6ece5870cf5773d05675d05477d1537ad1517cd2507fd34e81d34d84d44b86d54989d5488bd6468ed64590d74393d74195d84098d83e9bd93c9dd93ba0da39a2da37a5db36a8db34aadc32addc30b0dd2fb2dd2db5de2bb8de29bade28bddf26c0df25c2df23c5e021c8e020cae11fcde11dd0e11cd2e21bd5e21ad8e219dae319dde318dfe318e2e418e5e419e7e419eae51aece51befe51cf1e51df4e61ef6e620f8e621fbe723fde725'));var Zd=yt($d('00000401000501010601010802010902020b02020d03030f03031204041405041606051806051a07061c08071e0907200a08220b09240c09260d0a290e0b2b100b2d110c2f120d31130d34140e36150e38160f3b180f3d19103f1a10421c10441d11471e114920114b21114e22115024125325125527125829115a2a115c2c115f2d11612f116331116533106734106936106b38106c390f6e3b0f703d0f713f0f72400f74420f75440f764510774710784910784a10794c117a4e117b4f127b51127c52137c54137d56147d57157e59157e5a167e5c167f5d177f5f187f601880621980641a80651a80671b80681c816a1c816b1d816d1d816e1e81701f81721f817320817521817621817822817922827b23827c23827e24828025828125818326818426818627818827818928818b29818c29818e2a81902a81912b81932b80942c80962c80982d80992d809b2e7f9c2e7f9e2f7fa02f7fa1307ea3307ea5317ea6317da8327daa337dab337cad347cae347bb0357bb2357bb3367ab5367ab73779b83779ba3878bc3978bd3977bf3a77c03a76c23b75c43c75c53c74c73d73c83e73ca3e72cc3f71cd4071cf4070d0416fd2426fd3436ed5446dd6456cd8456cd9466bdb476adc4869de4968df4a68e04c67e24d66e34e65e44f64e55064e75263e85362e95462ea5661eb5760ec5860ed5a5fee5b5eef5d5ef05f5ef1605df2625df2645cf3655cf4675cf4695cf56b5cf66c5cf66e5cf7705cf7725cf8745cf8765cf9785df9795df97b5dfa7d5efa7f5efa815ffb835ffb8560fb8761fc8961fc8a62fc8c63fc8e64fc9065fd9266fd9467fd9668fd9869fd9a6afd9b6bfe9d6cfe9f6dfea16efea36ffea571fea772fea973feaa74feac76feae77feb078feb27afeb47bfeb67cfeb77efeb97ffebb81febd82febf84fec185fec287fec488fec68afec88cfeca8dfecc8ffecd90fecf92fed194fed395fed597fed799fed89afdda9cfddc9efddea0fde0a1fde2a3fde3a5fde5a7fde7a9fde9aafdebacfcecaefceeb0fcf0b2fcf2b4fcf4b6fcf6b8fcf7b9fcf9bbfcfbbdfcfdbf')),Gd=yt($d('00000401000501010601010802010a02020c02020e03021004031204031405041706041907051b08051d09061f0a07220b07240c08260d08290e092b10092d110a30120a32140b34150b37160b39180c3c190c3e1b0c411c0c431e0c451f0c48210c4a230c4c240c4f260c51280b53290b552b0b572d0b592f0a5b310a5c320a5e340a5f3609613809623909633b09643d09653e0966400a67420a68440a68450a69470b6a490b6a4a0c6b4c0c6b4d0d6c4f0d6c510e6c520e6d540f6d550f6d57106e59106e5a116e5c126e5d126e5f136e61136e62146e64156e65156e67166e69166e6a176e6c186e6d186e6f196e71196e721a6e741a6e751b6e771c6d781c6d7a1d6d7c1d6d7d1e6d7f1e6c801f6c82206c84206b85216b87216b88226a8a226a8c23698d23698f24699025689225689326679526679727669827669a28659b29649d29649f2a63a02a63a22b62a32c61a52c60a62d60a82e5fa92e5eab2f5ead305dae305cb0315bb1325ab3325ab43359b63458b73557b93556ba3655bc3754bd3853bf3952c03a51c13a50c33b4fc43c4ec63d4dc73e4cc83f4bca404acb4149cc4248ce4347cf4446d04545d24644d34743d44842d54a41d74b3fd84c3ed94d3dda4e3cdb503bdd513ade5238df5337e05536e15635e25734e35933e45a31e55c30e65d2fe75e2ee8602de9612bea632aeb6429eb6628ec6726ed6925ee6a24ef6c23ef6e21f06f20f1711ff1731df2741cf3761bf37819f47918f57b17f57d15f67e14f68013f78212f78410f8850ff8870ef8890cf98b0bf98c0af98e09fa9008fa9207fa9407fb9606fb9706fb9906fb9b06fb9d07fc9f07fca108fca309fca50afca60cfca80dfcaa0ffcac11fcae12fcb014fcb216fcb418fbb61afbb81dfbba1ffbbc21fbbe23fac026fac228fac42afac62df9c72ff9c932f9cb35f8cd37f8cf3af7d13df7d340f6d543f6d746f5d949f5db4cf4dd4ff4df53f4e156f3e35af3e55df2e661f2e865f2ea69f1ec6df1ed71f1ef75f1f179f2f27df2f482f3f586f3f68af4f88ef5f992f6fa96f8fb9af9fc9dfafda1fcffa4')),er=yt($d('0d088710078813078916078a19068c1b068d1d068e20068f2206902406912605912805922a05932c05942e05952f059631059733059735049837049938049a3a049a3c049b3e049c3f049c41049d43039e44039e46039f48039f4903a04b03a14c02a14e02a25002a25102a35302a35502a45601a45801a45901a55b01a55c01a65e01a66001a66100a76300a76400a76600a76700a86900a86a00a86c00a86e00a86f00a87100a87201a87401a87501a87701a87801a87a02a87b02a87d03a87e03a88004a88104a78305a78405a78606a68707a68808a68a09a58b0aa58d0ba58e0ca48f0da4910ea3920fa39410a29511a19613a19814a099159f9a169f9c179e9d189d9e199da01a9ca11b9ba21d9aa31e9aa51f99a62098a72197a82296aa2395ab2494ac2694ad2793ae2892b02991b12a90b22b8fb32c8eb42e8db52f8cb6308bb7318ab83289ba3388bb3488bc3587bd3786be3885bf3984c03a83c13b82c23c81c33d80c43e7fc5407ec6417dc7427cc8437bc9447aca457acb4679cc4778cc4977cd4a76ce4b75cf4c74d04d73d14e72d24f71d35171d45270d5536fd5546ed6556dd7566cd8576bd9586ada5a6ada5b69db5c68dc5d67dd5e66de5f65de6164df6263e06363e16462e26561e26660e3685fe4695ee56a5de56b5de66c5ce76e5be76f5ae87059e97158e97257ea7457eb7556eb7655ec7754ed7953ed7a52ee7b51ef7c51ef7e50f07f4ff0804ef1814df1834cf2844bf3854bf3874af48849f48948f58b47f58c46f68d45f68f44f79044f79143f79342f89441f89540f9973ff9983ef99a3efa9b3dfa9c3cfa9e3bfb9f3afba139fba238fca338fca537fca636fca835fca934fdab33fdac33fdae32fdaf31fdb130fdb22ffdb42ffdb52efeb72dfeb82cfeba2cfebb2bfebd2afebe2afec029fdc229fdc328fdc527fdc627fdc827fdca26fdcb26fccd25fcce25fcd025fcd225fbd324fbd524fbd724fad824fada24f9dc24f9dd25f8df25f8e125f7e225f7e425f6e626f6e826f5e926f5eb27f4ed27f3ee27f3f027f2f227f1f426f1f525f0f724f0f921')),tr={value:function(){}};kt.prototype=xt.prototype={constructor:kt,on:function(e,a){var d,t=this._,r=vt(e+'',t),o=-1,i=r.length;if(2>arguments.length){for(;++o<i;)if((d=(e=r[o]).type)&&(d=wt(t[d],e.name)))return d;return}if(null!=a&&'function'!=typeof a)throw new Error('invalid callback: '+a);for(;++o<i;)if(d=(e=r[o]).type)t[d]=St(t[d],e.name,a);else if(null==a)for(d in t)t[d]=St(t[d],e.name,null);return this},copy:function(){var e={},n=this._;for(var i in n)e[i]=n[i].slice();return new kt(e)},call:function(e,a){if(0<(d=arguments.length-2))for(var d,n,t=Array(d),r=0;r<d;++r)t[r]=arguments[r+2];if(!this._.hasOwnProperty(e))throw new Error('unknown type: '+e);for(n=this._[e],r=0,d=n.length;r<d;++r)n[r].value.apply(a,t)},apply:function(e,a,d){if(!this._.hasOwnProperty(e))throw new Error('unknown type: '+e);for(var r=this._[e],t=0,i=r.length;t<i;++t)r[t].value.apply(a,d)}};var nr='http://www.w3.org/1999/xhtml',ir={svg:'http://www.w3.org/2000/svg',xhtml:nr,xlink:'http://www.w3.org/1999/xlink',xml:'http://www.w3.org/XML/1998/namespace',xmlns:'http://www.w3.org/2000/xmlns/'},ar=function(e){var t=e+='',n=t.indexOf(':');return 0<=n&&'xmlns'!==(t=e.slice(0,n))&&(e=e.slice(n+1)),ir.hasOwnProperty(t)?{space:ir[t],local:e}:e},dr=function(e){var t=ar(e);return(t.local?Tt:Ct)(t)},rr=function(e){return function(){return this.matches(e)}};if('undefined'!=typeof document){var or=document.documentElement;if(!or.matches){var lr=or.webkitMatchesSelector||or.msMatchesSelector||or.mozMatchesSelector||or.oMatchesSelector;rr=function(e){return function(){return lr.call(this,e)}}}}var sr=rr,cr={},ur=null;if('undefined'!=typeof document){var pr=document.documentElement;'onmouseenter'in pr||(cr={mouseenter:'mouseover',mouseleave:'mouseout'})}var gr=function(){for(var e,t=ur;e=t.sourceEvent;)t=e;return t},fr=function(e,t){var n=e.ownerSVGElement||e;if(n.createSVGPoint){var i=n.createSVGPoint();return i.x=t.clientX,i.y=t.clientY,i=i.matrixTransform(e.getScreenCTM().inverse()),[i.x,i.y]}var a=e.getBoundingClientRect();return[t.clientX-a.left-e.clientLeft,t.clientY-a.top-e.clientTop]},hr=function(e){var t=gr();return t.changedTouches&&(t=t.changedTouches[0]),fr(e,t)},br=function(e){return null==e?Ot:function(){return this.querySelector(e)}},mr=function(e){return null==e?Ut:function(){return this.querySelectorAll(e)}},yr=function(e){return Array(e.length)};It.prototype={constructor:It,appendChild:function(e){return this._parent.insertBefore(e,this._next)},insertBefore:function(e,t){return this._parent.insertBefore(e,t)},querySelector:function(e){return this._parent.querySelector(e)},querySelectorAll:function(e){return this._parent.querySelectorAll(e)}};var xr=function(e){return function(){return e}},kr='$',vr=function(e){return e.ownerDocument&&e.ownerDocument.defaultView||e.document&&e||e.defaultView};Gt.prototype={add:function(e){var t=this._names.indexOf(e);0>t&&(this._names.push(e),this._node.setAttribute('class',this._names.join(' ')))},remove:function(e){var t=this._names.indexOf(e);0<=t&&(this._names.splice(t,1),this._node.setAttribute('class',this._names.join(' ')))},contains:function(e){return 0<=this._names.indexOf(e)}};var wr=[null];xn.prototype=function(){return new xn([[document.documentElement]],wr)}.prototype={constructor:xn,select:function(e){'function'!=typeof e&&(e=br(e));for(var t=this._groups,a=t.length,d=Array(a),r=0;r<a;++r)for(var o,l,s=t[r],c=s.length,n=d[r]=Array(c),u=0;u<c;++u)(o=s[u])&&(l=e.call(o,o.__data__,u,s))&&('__data__'in o&&(l.__data__=o.__data__),n[u]=l);return new xn(d,this._parents)},selectAll:function(e){'function'!=typeof e&&(e=mr(e));for(var t=this._groups,a=t.length,d=[],r=[],o=0;o<a;++o)for(var l,s=t[o],c=s.length,n=0;n<c;++n)(l=s[n])&&(d.push(e.call(l,l.__data__,n,s)),r.push(l));return new xn(d,r)},filter:function(e){'function'!=typeof e&&(e=sr(e));for(var t=this._groups,a=t.length,d=Array(a),r=0;r<a;++r)for(var o,l=t[r],s=l.length,n=d[r]=[],c=0;c<s;++c)(o=l[c])&&e.call(o,o.__data__,c,l)&&n.push(o);return new xn(d,this._parents)},data:function(e,t){if(!e)return g=Array(this.size()),s=-1,this.each(function(e){g[++s]=e}),g;var n=t?jt:Nt,i=this._parents,a=this._groups;'function'!=typeof e&&(e=xr(e));for(var d=a.length,r=Array(d),o=Array(d),l=Array(d),s=0;s<d;++s){var c=i[s],u=a[s],p=u.length,g=e.call(c,c&&c.__data__,s,i),f=g.length,h=o[s]=Array(f),b=r[s]=Array(f),m=l[s]=Array(p);n(c,u,h,b,m,g,t);for(var y,x,k=0,v=0;k<f;++k)if(y=h[k]){for(k>=v&&(v=k+1);!(x=b[v])&&++v<f;);y._next=x||null}}return r=new xn(r,i),r._enter=o,r._exit=l,r},enter:function(){return new xn(this._enter||this._groups.map(yr),this._parents)},exit:function(){return new xn(this._exit||this._groups.map(yr),this._parents)},merge:function(e){for(var t=this._groups,a=e._groups,d=t.length,r=a.length,o=Hn(d,r),l=Array(d),s=0;s<o;++s)for(var c,u=t[s],p=a[s],g=u.length,n=l[s]=Array(g),f=0;f<g;++f)(c=u[f]||p[f])&&(n[f]=c);for(;s<d;++s)l[s]=t[s];return new xn(l,this._parents)},order:function(){for(var e=this._groups,t=-1,n=e.length;++t<n;)for(var a,d=e[t],r=d.length-1,i=d[r];0<=--r;)(a=d[r])&&(i&&i!==a.nextSibling&&i.parentNode.insertBefore(a,i),i=a);return this},sort:function(e){function t(t,n){return t&&n?e(t.__data__,n.__data__):!t-!n}e||(e=Rt);for(var a=this._groups,d=a.length,r=Array(d),o=0;o<d;++o){for(var l,s=a[o],c=s.length,n=r[o]=Array(c),u=0;u<c;++u)(l=s[u])&&(n[u]=l);n.sort(t)}return new xn(r,this._parents).order()},call:function(){var e=arguments[0];return arguments[0]=this,e.apply(null,arguments),this},nodes:function(){var e=Array(this.size()),t=-1;return this.each(function(){e[++t]=this}),e},node:function(){for(var e=this._groups,t=0,a=e.length;t<a;++t)for(var d,r=e[t],o=0,i=r.length;o<i;++o)if(d=r[o],d)return d;return null},size:function(){var e=0;return this.each(function(){++e}),e},empty:function(){return!this.node()},each:function(e){for(var t=this._groups,a=0,d=t.length;a<d;++a)for(var r,o=t[a],l=0,i=o.length;l<i;++l)(r=o[l])&&e.call(r,r.__data__,l,o);return this},attr:function(e,t){var n=ar(e);if(2>arguments.length){var i=this.node();return n.local?i.getAttributeNS(n.space,n.local):i.getAttribute(n)}return this.each((null==t?n.local?Ft:qt:'function'==typeof t?n.local?Yt:zt:n.local?Ht:Pt)(n,t))},style:function(e,t,n){return 1<arguments.length?this.each((null==t?Bt:'function'==typeof t?Vt:Wt)(e,t,null==n?'':n)):Kt(this.node(),e)},property:function(e,t){return 1<arguments.length?this.each((null==t?$t:'function'==typeof t?Jt:Xt)(e,t)):this.node()[e]},classed:function(e,t){var a=Qt(e+'');if(2>arguments.length){for(var d=Zt(this.node()),r=-1,i=a.length;++r<i;)if(!d.contains(a[r]))return!1;return!0}return this.each(('function'==typeof t?dn:t?nn:an)(a,t))},text:function(e){return arguments.length?this.each(null==e?rn:('function'==typeof e?ln:on)(e)):this.node().textContent},html:function(e){return arguments.length?this.each(null==e?sn:('function'==typeof e?un:cn)(e)):this.node().innerHTML},raise:function(){return this.each(pn)},lower:function(){return this.each(gn)},append:function(e){var t='function'==typeof e?e:dr(e);return this.select(function(){return this.appendChild(t.apply(this,arguments))})},insert:function(e,t){var n='function'==typeof e?e:dr(e),i=null==t?fn:'function'==typeof t?t:br(t);return this.select(function(){return this.insertBefore(n.apply(this,arguments),i.apply(this,arguments)||null)})},remove:function(){return this.each(hn)},datum:function(e){return arguments.length?this.property('__data__',e):this.node().__data__},on:function(e,a,d){var r,i,t=At(e+''),l=t.length;if(2>arguments.length){var n=this.node().__on;if(n)for(var s,o=0,c=n.length;o<c;++o)for(r=0,s=n[o];r<l;++r)if((i=t[r]).type===s.type&&i.name===s.name)return s.value;return}for(n=a?Dt:Et,null==d&&(d=!1),r=0;r<l;++r)this.each(n(t[r],a,d));return this},dispatch:function(e,t){return this.each(('function'==typeof t?yn:mn)(e,t))}};var Sr=function(e){return'string'==typeof e?new xn([[document.querySelector(e)]],[document.documentElement]):new xn([[e]],wr)},Cr=function(e,t,a){3>arguments.length&&(a=t,t=gr().changedTouches);for(var d,r=0,i=t?t.length:0;r<i;++r)if((d=t[r]).identifier===a)return fr(e,d);return null},Tr=function(){ur.preventDefault(),ur.stopImmediatePropagation()},_r=function(e){var t=e.document.documentElement,n=Sr(e).on('dragstart.drag',Tr,!0);'onselectstart'in t?n.on('selectstart.drag',Tr,!0):(t.__noselect=t.style.MozUserSelect,t.style.MozUserSelect='none')},Lr=function(e){return function(){return e}};wn.prototype.on=function(){var e=this._.on.apply(this._,arguments);return e===this._?this:e};var Ar=function(){function e(e){e.on('mousedown.drag',t).filter(h).on('touchstart.drag',a).on('touchmove.drag',d).on('touchend.drag touchcancel.drag',r).style('touch-action','none').style('-webkit-tap-highlight-color','rgba(0,0,0,0)')}function t(){if(!u&&p.apply(this,arguments)){var e=o('mouse',g.apply(this,arguments),hr,this,arguments);e&&(Sr(ur.view).on('mousemove.drag',n,!0).on('mouseup.drag',i,!0),_r(ur.view),kn(),c=!1,l=ur.clientX,s=ur.clientY,e('start'))}}function n(){if(Tr(),!c){var e=ur.clientX-l,t=ur.clientY-s;c=e*e+t*t>x}b.mouse('drag')}function i(){Sr(ur.view).on('mousemove.drag mouseup.drag',null),vn(ur.view,c),Tr(),b.mouse('end')}function a(){if(p.apply(this,arguments)){var e,t,i=ur.changedTouches,a=g.apply(this,arguments),d=i.length;for(e=0;e<d;++e)(t=o(i[e].identifier,a,Cr,this,arguments))&&(kn(),t('start'))}}function d(){var e,t,i=ur.changedTouches,a=i.length;for(e=0;e<a;++e)(t=b[i[e].identifier])&&(Tr(),t('drag'))}function r(){var e,t,i=ur.changedTouches,a=i.length;for(u&&clearTimeout(u),u=setTimeout(function(){u=null},500),e=0;e<a;++e)(t=b[i[e].identifier])&&(kn(),t('end'))}function o(t,i,a,d,r){var o,l,s,c=a(i,t),u=m.copy();return Mt(new wn(e,'beforestart',o,t,y,c[0],c[1],0,0,u),function(){return null!=(ur.subject=o=f.apply(d,r))&&(l=o.x-c[0]||0,s=o.y-c[1]||0,!0)})?function p(g){var f,n=c;switch(g){case'start':b[t]=p,f=y++;break;case'end':delete b[t],--y;case'drag':c=a(i,t),f=y;}Mt(new wn(e,g,o,t,f,c[0]+l,c[1]+s,c[0]-n[0],c[1]-n[1],u),u.apply,u,[g,d,r])}:void 0}var l,s,c,u,p=Sn,g=Cn,f=Tn,h=_n,b={},m=xt('start','drag','end'),y=0,x=0;return e.filter=function(t){return arguments.length?(p='function'==typeof t?t:Lr(!!t),e):p},e.container=function(t){return arguments.length?(g='function'==typeof t?t:Lr(t),e):g},e.subject=function(t){return arguments.length?(f='function'==typeof t?t:Lr(t),e):f},e.touchable=function(t){return arguments.length?(h='function'==typeof t?t:Lr(!!t),e):h},e.on=function(){var t=m.on.apply(m,arguments);return t===m?e:t},e.clickDistance=function(t){return arguments.length?(x=(t=+t)*t,e):An(x)},e};const Er=ti('d-slider',` +<style> + :host { + position: relative; + display: inline-block; + } + + :host(:focus) { + outline: none; + } + + .background { + padding: 9px 0; + color: white; + position: relative; + } + + .track { + height: 3px; + width: 100%; + border-radius: 2px; + background-color: hsla(0, 0%, 0%, 0.2); + } + + .track-fill { + position: absolute; + top: 9px; + height: 3px; + border-radius: 4px; + background-color: hsl(24, 100%, 50%); + } + + .knob-container { + position: absolute; + top: 10px; + } + + .knob { + position: absolute; + top: -6px; + left: -6px; + width: 13px; + height: 13px; + background-color: hsl(24, 100%, 50%); + border-radius: 50%; + transition-property: transform; + transition-duration: 0.18s; + transition-timing-function: ease; + } + .mousedown .knob { + transform: scale(1.5); + } + + .knob-highlight { + position: absolute; + top: -6px; + left: -6px; + width: 13px; + height: 13px; + background-color: hsla(0, 0%, 0%, 0.1); + border-radius: 50%; + transition-property: transform; + transition-duration: 0.18s; + transition-timing-function: ease; + } + + .focus .knob-highlight { + transform: scale(2); + } + + .ticks { + position: absolute; + top: 16px; + height: 4px; + width: 100%; + z-index: -1; + } + + .ticks .tick { + position: absolute; + height: 100%; + border-left: 1px solid hsla(0, 0%, 0%, 0.2); + } + +</style> + + <div class='background'> + <div class='track'></div> + <div class='track-fill'></div> + <div class='knob-container'> + <div class='knob-highlight'></div> + <div class='knob'></div> + </div> + <div class='ticks'></div> + </div> +`),Dr={left:37,up:38,right:39,down:40,pageUp:33,pageDown:34,end:35,home:36};class Mr extends Er(HTMLElement){connectedCallback(){this.connected=!0,this.setAttribute('role','slider'),this.hasAttribute('tabindex')||this.setAttribute('tabindex',0),this.mouseEvent=!1,this.knob=this.root.querySelector('.knob-container'),this.background=this.root.querySelector('.background'),this.trackFill=this.root.querySelector('.track-fill'),this.track=this.root.querySelector('.track'),this.min=this.min?this.min:0,this.max=this.max?this.max:100,this.scale=me().domain([this.min,this.max]).range([0,1]).clamp(!0),this.origin=this.origin===void 0?this.min:this.origin,this.step=this.step?this.step:1,this.update(this.value?this.value:0),this.ticks=!!this.ticks&&this.ticks,this.renderTicks(),this.drag=Ar().container(this.background).on('start',()=>{this.mouseEvent=!0,this.background.classList.add('mousedown'),this.changeValue=this.value,this.dragUpdate()}).on('drag',()=>{this.dragUpdate()}).on('end',()=>{this.mouseEvent=!1,this.background.classList.remove('mousedown'),this.dragUpdate(),this.changeValue!==this.value&&this.dispatchChange(),this.changeValue=this.value}),this.drag(Sr(this.background)),this.addEventListener('focusin',()=>{this.mouseEvent||this.background.classList.add('focus')}),this.addEventListener('focusout',()=>{this.background.classList.remove('focus')}),this.addEventListener('keydown',this.onKeyDown)}static get observedAttributes(){return['min','max','value','step','ticks','origin','tickValues','tickLabels']}attributeChangedCallback(e,t,n){isNaN(n)||void 0===n||null===n||('min'==e&&(this.min=+n,this.setAttribute('aria-valuemin',this.min)),'max'==e&&(this.max=+n,this.setAttribute('aria-valuemax',this.max)),'value'==e&&this.update(+n),'origin'==e&&(this.origin=+n),'step'==e&&0<n&&(this.step=+n),'ticks'==e&&(this.ticks=!(''!==n)||n))}onKeyDown(e){this.changeValue=this.value;let t=!1;switch(e.keyCode){case Dr.left:case Dr.down:this.update(this.value-this.step),t=!0;break;case Dr.right:case Dr.up:this.update(this.value+this.step),t=!0;break;case Dr.pageUp:this.update(this.value+10*this.step),t=!0;break;case Dr.pageDown:this.update(this.value+10*this.step),t=!0;break;case Dr.home:this.update(this.min),t=!0;break;case Dr.end:this.update(this.max),t=!0;break;default:}t&&(this.background.classList.add('focus'),e.preventDefault(),e.stopPropagation(),this.changeValue!==this.value&&this.dispatchChange())}validateValueRange(e,t,n){return Rn(Hn(t,n),e)}quantizeValue(e,t){return Pn(e/t)*t}dragUpdate(){const e=this.background.getBoundingClientRect(),t=ur.x,n=e.width;this.update(this.scale.invert(t/n))}update(e){let t=e;'any'!==this.step&&(t=this.quantizeValue(e,this.step)),t=this.validateValueRange(this.min,this.max,t),this.connected&&(this.knob.style.left=100*this.scale(t)+'%',this.trackFill.style.width=100*this.scale(this.min+Un(t-this.origin))+'%',this.trackFill.style.left=100*this.scale(Hn(t,this.origin))+'%'),this.value!==t&&(this.value=t,this.setAttribute('aria-valuenow',this.value),this.dispatchInput())}dispatchChange(){const t=new Event('change');this.dispatchEvent(t,{})}dispatchInput(){const t=new Event('input');this.dispatchEvent(t,{})}renderTicks(){const e=this.root.querySelector('.ticks');if(!1!==this.ticks){let t=[];t=0<this.ticks?this.scale.ticks(this.ticks):'any'===this.step?this.scale.ticks():Zi(this.min,this.max+1e-6,this.step),t.forEach((t)=>{const n=document.createElement('div');n.classList.add('tick'),n.style.left=100*this.scale(t)+'%',e.appendChild(n)})}else e.style.display='none'}}var Or='<svg viewBox="-607 419 64 64">\n <path d="M-573.4,478.9c-8,0-14.6-6.4-14.6-14.5s14.6-25.9,14.6-40.8c0,14.9,14.6,32.8,14.6,40.8S-565.4,478.9-573.4,478.9z"/>\n</svg>\n';const Ur=ti('distill-header',` +<style> +distill-header { + position: relative; + height: 60px; + background-color: hsl(200, 60%, 15%); + width: 100%; + box-sizing: border-box; + z-index: 2; + color: rgba(0, 0, 0, 0.8); + border-bottom: 1px solid rgba(0, 0, 0, 0.08); + box-shadow: 0 1px 6px rgba(0, 0, 0, 0.05); +} +distill-header .content { + height: 70px; + grid-column: page; +} +distill-header a { + font-size: 16px; + height: 60px; + line-height: 60px; + text-decoration: none; + color: rgba(255, 255, 255, 0.8); + padding: 22px 0; +} +distill-header a:hover { + color: rgba(255, 255, 255, 1); +} +distill-header svg { + width: 24px; + position: relative; + top: 4px; + margin-right: 2px; +} +@media(min-width: 1080px) { + distill-header { + height: 70px; + } + distill-header a { + height: 70px; + line-height: 70px; + padding: 28px 0; + } + distill-header .logo { + } +} +distill-header svg path { + fill: none; + stroke: rgba(255, 255, 255, 0.8); + stroke-width: 3px; +} +distill-header .logo { + font-size: 17px; + font-weight: 200; +} +distill-header .nav { + float: right; + font-weight: 300; +} +distill-header .nav a { + font-size: 12px; + margin-left: 24px; + text-transform: uppercase; +} +</style> +<div class="content"> + <a href="/" class="logo"> + ${Or} + Distill + </a> + <nav class="nav"> + <a href="/about/">About</a> + <a href="/prize/">Prize</a> + <a href="/journal/">Submit</a> + </nav> +</div> +`,!1);class Ir extends Ur(HTMLElement){}const Nr=` +<style> + distill-appendix { + contain: layout style; + } + + distill-appendix .citation { + font-size: 11px; + line-height: 15px; + border-left: 1px solid rgba(0, 0, 0, 0.1); + padding-left: 18px; + border: 1px solid rgba(0,0,0,0.1); + background: rgba(0, 0, 0, 0.02); + padding: 10px 18px; + border-radius: 3px; + color: rgba(150, 150, 150, 1); + overflow: hidden; + margin-top: -12px; + white-space: pre-wrap; + word-wrap: break-word; + } + + distill-appendix > * { + grid-column: text; + } +</style> +`;class jr extends HTMLElement{static get is(){return'distill-appendix'}set frontMatter(e){this.innerHTML=Ln(e)}}const Rr=ti('distill-footer',` +<style> + +:host { + color: rgba(255, 255, 255, 0.5); + font-weight: 300; + padding: 2rem 0; + border-top: 1px solid rgba(0, 0, 0, 0.1); + background-color: hsl(180, 5%, 15%); /*hsl(200, 60%, 15%);*/ + text-align: left; + contain: content; +} + +.logo svg { + width: 24px; + position: relative; + top: 4px; + margin-right: 2px; +} + +.logo svg path { + fill: none; + stroke: rgba(255, 255, 255, 0.8); + stroke-width: 3px; +} + +.logo { + font-size: 17px; + font-weight: 200; + color: rgba(255, 255, 255, 0.8); + text-decoration: none; + margin-right: 6px; +} + +.container { + grid-column: text; +} + +.nav { + font-size: 0.9em; + margin-top: 1.5em; +} + +.nav a { + color: rgba(255, 255, 255, 0.8); + margin-right: 6px; + text-decoration: none; +} + +</style> + +<div class='container'> + + <a href="/" class="logo"> + ${Or} + Distill + </a> is dedicated to clear explanations of machine learning + + <div class="nav"> + <a href="https://distill.pub/about/">About</a> + <a href="https://distill.pub/journal/">Submit</a> + <a href="https://distill.pub/prize/">Prize</a> + <a href="https://distill.pub/archive/">Archive</a> + <a href="https://distill.pub/rss.xml">RSS</a> + <a href="https://github.com/distillpub">GitHub</a> + <a href="https://twitter.com/distillpub">Twitter</a> + ISSN 2476-0757 + </div> + +</div> + +`);class qr extends Rr(HTMLElement){}const Fr=function(){if(1>window.distillRunlevel)throw new Error('Insufficient Runlevel for Distill Template!');if('distillTemplateIsLoading'in window&&window.distillTemplateIsLoading)throw new Error('Runlevel 1: Distill Template is getting loaded more than once, aborting!');else window.distillTemplateIsLoading=!0,console.info('Runlevel 1: Distill Template has started loading.');p(document),console.info('Runlevel 1: Static Distill styles have been added.'),console.info('Runlevel 1->2.'),window.distillRunlevel+=1;for(const[e,t]of Object.entries(hi.listeners))'function'==typeof t?document.addEventListener(e,t):console.error('Runlevel 2: Controller listeners need to be functions!');console.info('Runlevel 2: We can now listen to controller events.'),console.info('Runlevel 2->3.'),window.distillRunlevel+=1;if(2>window.distillRunlevel)throw new Error('Insufficient Runlevel for adding custom elements!');const e=[ki,wi,Ci,Li,Ai,Di,Oi,Ni,Ri,Fi,pi,Hi,zi,T,Bi,Wi,Vi,Mr,$i].concat([Ir,jr,qr]);for(const t of e)console.info('Runlevel 2: Registering custom element: '+t.is),customElements.define(t.is,t);console.info('Runlevel 3: Distill Template finished registering custom elements.'),console.info('Runlevel 3->4.'),window.distillRunlevel+=1,hi.listeners.DOMContentLoaded(),console.info('Runlevel 4: Distill Template initialisation complete.')};window.distillRunlevel=0,yi.browserSupportsAllFeatures()?(console.info('Runlevel 0: No need for polyfills.'),console.info('Runlevel 0->1.'),window.distillRunlevel+=1,Fr()):(console.info('Runlevel 0: Distill Template is loading polyfills.'),yi.load(Fr))}); +//# sourceMappingURL=template.v2.js.map +} diff --git a/_posts/2021-06-13-unreproducibility-detox/unreproducibility-detox_files/header-attrs-2.7/header-attrs.js b/_posts/2021-06-13-unreproducibility-detox/unreproducibility-detox_files/header-attrs-2.7/header-attrs.js new file mode 100644 index 0000000..dd57d92 --- /dev/null +++ b/_posts/2021-06-13-unreproducibility-detox/unreproducibility-detox_files/header-attrs-2.7/header-attrs.js @@ -0,0 +1,12 @@ +// Pandoc 2.9 adds attributes on both header and div. We remove the former (to +// be compatible with the behavior of Pandoc < 2.8). +document.addEventListener('DOMContentLoaded', function(e) { + var hs = document.querySelectorAll("div.section[class*='level'] > :first-child"); + var i, h, a; + for (i = 0; i < hs.length; i++) { + h = hs[i]; + if (!/^h[1-6]$/i.test(h.tagName)) continue; // it should be a header h1-h6 + a = h.attributes; + while (a.length > 0) h.removeAttribute(a[0].name); + } +}); diff --git a/_posts/2021-06-13-unreproducibility-detox/unreproducibility-detox_files/jquery-1.11.3/jquery.min.js b/_posts/2021-06-13-unreproducibility-detox/unreproducibility-detox_files/jquery-1.11.3/jquery.min.js new file mode 100644 index 0000000..0f60b7b --- /dev/null +++ b/_posts/2021-06-13-unreproducibility-detox/unreproducibility-detox_files/jquery-1.11.3/jquery.min.js @@ -0,0 +1,5 @@ +/*! jQuery v1.11.3 | (c) 2005, 2015 jQuery Foundation, Inc. | jquery.org/license */ +!function(a,b){"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){var c=[],d=c.slice,e=c.concat,f=c.push,g=c.indexOf,h={},i=h.toString,j=h.hasOwnProperty,k={},l="1.11.3",m=function(a,b){return new m.fn.init(a,b)},n=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,o=/^-ms-/,p=/-([\da-z])/gi,q=function(a,b){return b.toUpperCase()};m.fn=m.prototype={jquery:l,constructor:m,selector:"",length:0,toArray:function(){return d.call(this)},get:function(a){return null!=a?0>a?this[a+this.length]:this[a]:d.call(this)},pushStack:function(a){var b=m.merge(this.constructor(),a);return b.prevObject=this,b.context=this.context,b},each:function(a,b){return m.each(this,a,b)},map:function(a){return this.pushStack(m.map(this,function(b,c){return a.call(b,c,b)}))},slice:function(){return this.pushStack(d.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},eq:function(a){var b=this.length,c=+a+(0>a?b:0);return this.pushStack(c>=0&&b>c?[this[c]]:[])},end:function(){return this.prevObject||this.constructor(null)},push:f,sort:c.sort,splice:c.splice},m.extend=m.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||m.isFunction(g)||(g={}),h===i&&(g=this,h--);i>h;h++)if(null!=(e=arguments[h]))for(d in e)a=g[d],c=e[d],g!==c&&(j&&c&&(m.isPlainObject(c)||(b=m.isArray(c)))?(b?(b=!1,f=a&&m.isArray(a)?a:[]):f=a&&m.isPlainObject(a)?a:{},g[d]=m.extend(j,f,c)):void 0!==c&&(g[d]=c));return g},m.extend({expando:"jQuery"+(l+Math.random()).replace(/\D/g,""),isReady:!0,error:function(a){throw new Error(a)},noop:function(){},isFunction:function(a){return"function"===m.type(a)},isArray:Array.isArray||function(a){return"array"===m.type(a)},isWindow:function(a){return null!=a&&a==a.window},isNumeric:function(a){return!m.isArray(a)&&a-parseFloat(a)+1>=0},isEmptyObject:function(a){var b;for(b in a)return!1;return!0},isPlainObject:function(a){var b;if(!a||"object"!==m.type(a)||a.nodeType||m.isWindow(a))return!1;try{if(a.constructor&&!j.call(a,"constructor")&&!j.call(a.constructor.prototype,"isPrototypeOf"))return!1}catch(c){return!1}if(k.ownLast)for(b in a)return j.call(a,b);for(b in a);return void 0===b||j.call(a,b)},type:function(a){return null==a?a+"":"object"==typeof a||"function"==typeof a?h[i.call(a)]||"object":typeof a},globalEval:function(b){b&&m.trim(b)&&(a.execScript||function(b){a.eval.call(a,b)})(b)},camelCase:function(a){return a.replace(o,"ms-").replace(p,q)},nodeName:function(a,b){return a.nodeName&&a.nodeName.toLowerCase()===b.toLowerCase()},each:function(a,b,c){var d,e=0,f=a.length,g=r(a);if(c){if(g){for(;f>e;e++)if(d=b.apply(a[e],c),d===!1)break}else for(e in a)if(d=b.apply(a[e],c),d===!1)break}else if(g){for(;f>e;e++)if(d=b.call(a[e],e,a[e]),d===!1)break}else for(e in a)if(d=b.call(a[e],e,a[e]),d===!1)break;return a},trim:function(a){return null==a?"":(a+"").replace(n,"")},makeArray:function(a,b){var c=b||[];return null!=a&&(r(Object(a))?m.merge(c,"string"==typeof a?[a]:a):f.call(c,a)),c},inArray:function(a,b,c){var d;if(b){if(g)return g.call(b,a,c);for(d=b.length,c=c?0>c?Math.max(0,d+c):c:0;d>c;c++)if(c in b&&b[c]===a)return c}return-1},merge:function(a,b){var c=+b.length,d=0,e=a.length;while(c>d)a[e++]=b[d++];if(c!==c)while(void 0!==b[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;g>f;f++)d=!b(a[f],f),d!==h&&e.push(a[f]);return e},map:function(a,b,c){var d,f=0,g=a.length,h=r(a),i=[];if(h)for(;g>f;f++)d=b(a[f],f,c),null!=d&&i.push(d);else for(f in a)d=b(a[f],f,c),null!=d&&i.push(d);return e.apply([],i)},guid:1,proxy:function(a,b){var c,e,f;return"string"==typeof b&&(f=a[b],b=a,a=f),m.isFunction(a)?(c=d.call(arguments,2),e=function(){return a.apply(b||this,c.concat(d.call(arguments)))},e.guid=a.guid=a.guid||m.guid++,e):void 0},now:function(){return+new Date},support:k}),m.each("Boolean Number String Function Array Date RegExp Object Error".split(" "),function(a,b){h["[object "+b+"]"]=b.toLowerCase()});function r(a){var b="length"in a&&a.length,c=m.type(a);return"function"===c||m.isWindow(a)?!1:1===a.nodeType&&b?!0:"array"===c||0===b||"number"==typeof b&&b>0&&b-1 in a}var s=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=1<<31,D={}.hasOwnProperty,E=[],F=E.pop,G=E.push,H=E.push,I=E.slice,J=function(a,b){for(var c=0,d=a.length;d>c;c++)if(a[c]===b)return c;return-1},K="checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",L="[\\x20\\t\\r\\n\\f]",M="(?:\\\\.|[\\w-]|[^\\x00-\\xa0])+",N=M.replace("w","w#"),O="\\["+L+"*("+M+")(?:"+L+"*([*^$|!~]?=)"+L+"*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|("+N+"))|)"+L+"*\\]",P=":("+M+")(?:\\((('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|((?:\\\\.|[^\\\\()[\\]]|"+O+")*)|.*)\\)|)",Q=new RegExp(L+"+","g"),R=new RegExp("^"+L+"+|((?:^|[^\\\\])(?:\\\\.)*)"+L+"+$","g"),S=new RegExp("^"+L+"*,"+L+"*"),T=new RegExp("^"+L+"*([>+~]|"+L+")"+L+"*"),U=new RegExp("="+L+"*([^\\]'\"]*?)"+L+"*\\]","g"),V=new RegExp(P),W=new RegExp("^"+N+"$"),X={ID:new RegExp("^#("+M+")"),CLASS:new RegExp("^\\.("+M+")"),TAG:new RegExp("^("+M.replace("w","w*")+")"),ATTR:new RegExp("^"+O),PSEUDO:new RegExp("^"+P),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+L+"*(even|odd|(([+-]|)(\\d*)n|)"+L+"*(?:([+-]|)"+L+"*(\\d+)|))"+L+"*\\)|)","i"),bool:new RegExp("^(?:"+K+")$","i"),needsContext:new RegExp("^"+L+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+L+"*((?:-\\d)?\\d*)"+L+"*\\)|)(?=[^-]|$)","i")},Y=/^(?:input|select|textarea|button)$/i,Z=/^h\d$/i,$=/^[^{]+\{\s*\[native \w/,_=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,aa=/[+~]/,ba=/'|\\/g,ca=new RegExp("\\\\([\\da-f]{1,6}"+L+"?|("+L+")|.)","ig"),da=function(a,b,c){var d="0x"+b-65536;return d!==d||c?b:0>d?String.fromCharCode(d+65536):String.fromCharCode(d>>10|55296,1023&d|56320)},ea=function(){m()};try{H.apply(E=I.call(v.childNodes),v.childNodes),E[v.childNodes.length].nodeType}catch(fa){H={apply:E.length?function(a,b){G.apply(a,I.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,w,x;if((b?b.ownerDocument||b:v)!==n&&m(b),b=b||n,d=d||[],k=b.nodeType,"string"!=typeof a||!a||1!==k&&9!==k&&11!==k)return d;if(!e&&p){if(11!==k&&(f=_.exec(a)))if(j=f[1]){if(9===k){if(h=b.getElementById(j),!h||!h.parentNode)return d;if(h.id===j)return d.push(h),d}else if(b.ownerDocument&&(h=b.ownerDocument.getElementById(j))&&t(b,h)&&h.id===j)return d.push(h),d}else{if(f[2])return H.apply(d,b.getElementsByTagName(a)),d;if((j=f[3])&&c.getElementsByClassName)return H.apply(d,b.getElementsByClassName(j)),d}if(c.qsa&&(!q||!q.test(a))){if(s=r=u,w=b,x=1!==k&&a,1===k&&"object"!==b.nodeName.toLowerCase()){o=g(a),(r=b.getAttribute("id"))?s=r.replace(ba,"\\$&"):b.setAttribute("id",s),s="[id='"+s+"'] ",l=o.length;while(l--)o[l]=s+ra(o[l]);w=aa.test(a)&&pa(b.parentNode)||b,x=o.join(",")}if(x)try{return H.apply(d,w.querySelectorAll(x)),d}catch(y){}finally{r||b.removeAttribute("id")}}}return i(a.replace(R,"$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("div");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=a.length;while(e--)d.attrHandle[c[e]]=b}function la(a,b){var c=b&&a,d=c&&1===a.nodeType&&1===b.nodeType&&(~b.sourceIndex||C)-(~a.sourceIndex||C);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 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 pa(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:!1},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=g.documentElement,e=g.defaultView,e&&e!==e.top&&(e.addEventListener?e.addEventListener("unload",ea,!1):e.attachEvent&&e.attachEvent("onunload",ea)),p=!f(g),c.attributes=ja(function(a){return a.className="i",!a.getAttribute("className")}),c.getElementsByTagName=ja(function(a){return a.appendChild(g.createComment("")),!a.getElementsByTagName("*").length}),c.getElementsByClassName=$.test(g.getElementsByClassName),c.getById=ja(function(a){return o.appendChild(a).id=u,!g.getElementsByName||!g.getElementsByName(u).length}),c.getById?(d.find.ID=function(a,b){if("undefined"!=typeof b.getElementById&&p){var c=b.getElementById(a);return c&&c.parentNode?[c]:[]}},d.filter.ID=function(a){var b=a.replace(ca,da);return function(a){return a.getAttribute("id")===b}}):(delete d.find.ID,d.filter.ID=function(a){var b=a.replace(ca,da);return function(a){var c="undefined"!=typeof a.getAttributeNode&&a.getAttributeNode("id");return c&&c.value===b}}),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){return p?b.getElementsByClassName(a):void 0},r=[],q=[],(c.qsa=$.test(g.querySelectorAll))&&(ja(function(a){o.appendChild(a).innerHTML="<a id='"+u+"'></a><select id='"+u+"-\f]' msallowcapture=''><option selected=''></option></select>",a.querySelectorAll("[msallowcapture^='']").length&&q.push("[*^$]="+L+"*(?:''|\"\")"),a.querySelectorAll("[selected]").length||q.push("\\["+L+"*(?:value|"+K+")"),a.querySelectorAll("[id~="+u+"-]").length||q.push("~="),a.querySelectorAll(":checked").length||q.push(":checked"),a.querySelectorAll("a#"+u+"+*").length||q.push(".#.+[+~]")}),ja(function(a){var b=g.createElement("input");b.setAttribute("type","hidden"),a.appendChild(b).setAttribute("name","D"),a.querySelectorAll("[name=d]").length&&q.push("name"+L+"*[*^$|!~]?="),a.querySelectorAll(":enabled").length||q.push(":enabled",":disabled"),a.querySelectorAll("*,:x"),q.push(",.*:")})),(c.matchesSelector=$.test(s=o.matches||o.webkitMatchesSelector||o.mozMatchesSelector||o.oMatchesSelector||o.msMatchesSelector))&&ja(function(a){c.disconnectedMatch=s.call(a,"div"),s.call(a,"[s!='']:x"),r.push("!=",P)}),q=q.length&&new RegExp(q.join("|")),r=r.length&&new RegExp(r.join("|")),b=$.test(o.compareDocumentPosition),t=b||$.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===g||a.ownerDocument===v&&t(v,a)?-1:b===g||b.ownerDocument===v&&t(v,b)?1:k?J(k,a)-J(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,h=[a],i=[b];if(!e||!f)return a===g?-1:b===g?1:e?-1:f?1:k?J(k,a)-J(k,b):0;if(e===f)return la(a,b);c=a;while(c=c.parentNode)h.unshift(c);c=b;while(c=c.parentNode)i.unshift(c);while(h[d]===i[d])d++;return d?la(h[d],i[d]):h[d]===v?-1:i[d]===v?1:0},g):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(U,"='$1']"),!(!c.matchesSelector||!p||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&&D.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.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:X,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(ca,da),a[3]=(a[3]||a[4]||a[5]||"").replace(ca,da),"~="===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 X.CHILD.test(a[0])?null:(a[3]?a[2]=a[4]||a[5]||"":c&&V.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(ca,da).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("(^|"+L+")"+a+"("+L+"|$)"))&&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(Q," ")+" ").indexOf(c)>-1:"|="===b?e===c||e.slice(0,c.length+1)===c+"-":!1):!0}},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;if(q){if(f){while(p){l=b;while(l=l[p])if(h?l.nodeName.toLowerCase()===r:1===l.nodeType)return!1;o=p="only"===a&&!o&&"nextSibling"}return!0}if(o=[g?q.firstChild:q.lastChild],g&&s){k=q[u]||(q[u]={}),j=k[a]||[],n=j[0]===w&&j[1],m=j[0]===w&&j[2],l=n&&q.childNodes[n];while(l=++n&&l&&l[p]||(m=n=0)||o.pop())if(1===l.nodeType&&++m&&l===b){k[a]=[w,n,m];break}}else if(s&&(j=(b[u]||(b[u]={}))[a])&&j[0]===w)m=j[1];else while(l=++n&&l&&l[p]||(m=n=0)||o.pop())if((h?l.nodeName.toLowerCase()===r:1===l.nodeType)&&++m&&(s&&((l[u]||(l[u]={}))[a]=[w,m]),l===b))break;return m-=e,m===d||m%d===0&&m/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=J(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(R,"$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(ca,da),function(b){return(b.textContent||b.innerText||e(b)).indexOf(a)>-1}}),lang:ia(function(a){return W.test(a||"")||ga.error("unsupported lang: "+a),a=a.replace(ca,da).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:function(a){return a.disabled===!1},disabled:function(a){return a.disabled===!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 Z.test(a.nodeName)},input:function(a){return Y.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:oa(function(){return[0]}),last:oa(function(a,b){return[b-1]}),eq:oa(function(a,b,c){return[0>c?c+b:c]}),even:oa(function(a,b){for(var c=0;b>c;c+=2)a.push(c);return a}),odd:oa(function(a,b){for(var c=1;b>c;c+=2)a.push(c);return a}),lt:oa(function(a,b,c){for(var d=0>c?c+b:c;--d>=0;)a.push(d);return a}),gt:oa(function(a,b,c){for(var d=0>c?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 qa(){}qa.prototype=d.filters=d.pseudos,d.setFilters=new qa,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=S.exec(h)))&&(e&&(h=h.slice(e[0].length)||h),i.push(f=[])),c=!1,(e=T.exec(h))&&(c=e.shift(),f.push({value:c,type:e[0].replace(R," ")}),h=h.slice(c.length));for(g in d.filter)!(e=X[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 ra(a){for(var b=0,c=a.length,d="";c>b;b++)d+=a[b].value;return d}function sa(a,b,c){var d=b.dir,e=c&&"parentNode"===d,f=x++;return b.first?function(b,c,f){while(b=b[d])if(1===b.nodeType||e)return a(b,c,f)}:function(b,c,g){var h,i,j=[w,f];if(g){while(b=b[d])if((1===b.nodeType||e)&&a(b,c,g))return!0}else while(b=b[d])if(1===b.nodeType||e){if(i=b[u]||(b[u]={}),(h=i[d])&&h[0]===w&&h[1]===f)return j[2]=h[2];if(i[d]=j,j[2]=a(b,c,g))return!0}}}function ta(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 ua(a,b,c){for(var d=0,e=b.length;e>d;d++)ga(a,b[d],c);return c}function va(a,b,c,d,e){for(var f,g=[],h=0,i=a.length,j=null!=b;i>h;h++)(f=a[h])&&(!c||c(f,d,e))&&(g.push(f),j&&b.push(h));return g}function wa(a,b,c,d,e,f){return d&&!d[u]&&(d=wa(d)),e&&!e[u]&&(e=wa(e,f)),ia(function(f,g,h,i){var j,k,l,m=[],n=[],o=g.length,p=f||ua(b||"*",h.nodeType?[h]:h,[]),q=!a||!f&&b?p:va(p,m,a,h,i),r=c?e||(f?a:o||d)?[]:g:q;if(c&&c(q,r,h,i),d){j=va(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?J(f,l):m[k])>-1&&(f[j]=!(g[j]=l))}}else r=va(r===g?r.splice(o,r.length):r),e?e(null,g,r,i):H.apply(g,r)})}function xa(a){for(var b,c,e,f=a.length,g=d.relative[a[0].type],h=g||d.relative[" "],i=g?1:0,k=sa(function(a){return a===b},h,!0),l=sa(function(a){return J(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}];f>i;i++)if(c=d.relative[a[i].type])m=[sa(ta(m),c)];else{if(c=d.filter[a[i].type].apply(null,a[i].matches),c[u]){for(e=++i;f>e;e++)if(d.relative[a[e].type])break;return wa(i>1&&ta(m),i>1&&ra(a.slice(0,i-1).concat({value:" "===a[i-2].type?"*":""})).replace(R,"$1"),c,e>i&&xa(a.slice(i,e)),f>e&&xa(a=a.slice(e)),f>e&&ra(a))}m.push(c)}return ta(m)}function ya(a,b){var c=b.length>0,e=a.length>0,f=function(f,g,h,i,k){var l,m,o,p=0,q="0",r=f&&[],s=[],t=j,u=f||e&&d.find.TAG("*",k),v=w+=null==t?1:Math.random()||.1,x=u.length;for(k&&(j=g!==n&&g);q!==x&&null!=(l=u[q]);q++){if(e&&l){m=0;while(o=a[m++])if(o(l,g,h)){i.push(l);break}k&&(w=v)}c&&((l=!o&&l)&&p--,f&&r.push(l))}if(p+=q,c&&q!==p){m=0;while(o=b[m++])o(r,s,g,h);if(f){if(p>0)while(q--)r[q]||s[q]||(s[q]=F.call(i));s=va(s)}H.apply(i,s),k&&!f&&s.length>0&&p+b.length>1&&ga.uniqueSort(i)}return k&&(w=v,j=t),r};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=xa(b[c]),f[u]?d.push(f):e.push(f);f=A(a,ya(e,d)),f.selector=a}return f},i=ga.select=function(a,b,e,f){var i,j,k,l,m,n="function"==typeof a&&a,o=!f&&g(a=n.selector||a);if(e=e||[],1===o.length){if(j=o[0]=o[0].slice(0),j.length>2&&"ID"===(k=j[0]).type&&c.getById&&9===b.nodeType&&p&&d.relative[j[1].type]){if(b=(d.find.ID(k.matches[0].replace(ca,da),b)||[])[0],!b)return e;n&&(b=b.parentNode),a=a.slice(j.shift().value.length)}i=X.needsContext.test(a)?0:j.length;while(i--){if(k=j[i],d.relative[l=k.type])break;if((m=d.find[l])&&(f=m(k.matches[0].replace(ca,da),aa.test(j[0].type)&&pa(b.parentNode)||b))){if(j.splice(i,1),a=f.length&&ra(j),!a)return H.apply(e,f),e;break}}}return(n||h(a,o))(f,b,!p,e,aa.test(a)&&pa(b.parentNode)||b),e},c.sortStable=u.split("").sort(B).join("")===u,c.detectDuplicates=!!l,m(),c.sortDetached=ja(function(a){return 1&a.compareDocumentPosition(n.createElement("div"))}),ja(function(a){return a.innerHTML="<a href='#'></a>","#"===a.firstChild.getAttribute("href")})||ka("type|href|height|width",function(a,b,c){return c?void 0: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){return c||"input"!==a.nodeName.toLowerCase()?void 0:a.defaultValue}),ja(function(a){return null==a.getAttribute("disabled")})||ka(K,function(a,b,c){var d;return c?void 0:a[b]===!0?b.toLowerCase():(d=a.getAttributeNode(b))&&d.specified?d.value:null}),ga}(a);m.find=s,m.expr=s.selectors,m.expr[":"]=m.expr.pseudos,m.unique=s.uniqueSort,m.text=s.getText,m.isXMLDoc=s.isXML,m.contains=s.contains;var t=m.expr.match.needsContext,u=/^<(\w+)\s*\/?>(?:<\/\1>|)$/,v=/^.[^:#\[\.,]*$/;function w(a,b,c){if(m.isFunction(b))return m.grep(a,function(a,d){return!!b.call(a,d,a)!==c});if(b.nodeType)return m.grep(a,function(a){return a===b!==c});if("string"==typeof b){if(v.test(b))return m.filter(b,a,c);b=m.filter(b,a)}return m.grep(a,function(a){return m.inArray(a,b)>=0!==c})}m.filter=function(a,b,c){var d=b[0];return c&&(a=":not("+a+")"),1===b.length&&1===d.nodeType?m.find.matchesSelector(d,a)?[d]:[]:m.find.matches(a,m.grep(b,function(a){return 1===a.nodeType}))},m.fn.extend({find:function(a){var b,c=[],d=this,e=d.length;if("string"!=typeof a)return this.pushStack(m(a).filter(function(){for(b=0;e>b;b++)if(m.contains(d[b],this))return!0}));for(b=0;e>b;b++)m.find(a,d[b],c);return c=this.pushStack(e>1?m.unique(c):c),c.selector=this.selector?this.selector+" "+a:a,c},filter:function(a){return this.pushStack(w(this,a||[],!1))},not:function(a){return this.pushStack(w(this,a||[],!0))},is:function(a){return!!w(this,"string"==typeof a&&t.test(a)?m(a):a||[],!1).length}});var x,y=a.document,z=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]*))$/,A=m.fn.init=function(a,b){var c,d;if(!a)return this;if("string"==typeof a){if(c="<"===a.charAt(0)&&">"===a.charAt(a.length-1)&&a.length>=3?[null,a,null]:z.exec(a),!c||!c[1]&&b)return!b||b.jquery?(b||x).find(a):this.constructor(b).find(a);if(c[1]){if(b=b instanceof m?b[0]:b,m.merge(this,m.parseHTML(c[1],b&&b.nodeType?b.ownerDocument||b:y,!0)),u.test(c[1])&&m.isPlainObject(b))for(c in b)m.isFunction(this[c])?this[c](b[c]):this.attr(c,b[c]);return this}if(d=y.getElementById(c[2]),d&&d.parentNode){if(d.id!==c[2])return x.find(a);this.length=1,this[0]=d}return this.context=y,this.selector=a,this}return a.nodeType?(this.context=this[0]=a,this.length=1,this):m.isFunction(a)?"undefined"!=typeof x.ready?x.ready(a):a(m):(void 0!==a.selector&&(this.selector=a.selector,this.context=a.context),m.makeArray(a,this))};A.prototype=m.fn,x=m(y);var B=/^(?:parents|prev(?:Until|All))/,C={children:!0,contents:!0,next:!0,prev:!0};m.extend({dir:function(a,b,c){var d=[],e=a[b];while(e&&9!==e.nodeType&&(void 0===c||1!==e.nodeType||!m(e).is(c)))1===e.nodeType&&d.push(e),e=e[b];return d},sibling:function(a,b){for(var c=[];a;a=a.nextSibling)1===a.nodeType&&a!==b&&c.push(a);return c}}),m.fn.extend({has:function(a){var b,c=m(a,this),d=c.length;return this.filter(function(){for(b=0;d>b;b++)if(m.contains(this,c[b]))return!0})},closest:function(a,b){for(var c,d=0,e=this.length,f=[],g=t.test(a)||"string"!=typeof a?m(a,b||this.context):0;e>d;d++)for(c=this[d];c&&c!==b;c=c.parentNode)if(c.nodeType<11&&(g?g.index(c)>-1:1===c.nodeType&&m.find.matchesSelector(c,a))){f.push(c);break}return this.pushStack(f.length>1?m.unique(f):f)},index:function(a){return a?"string"==typeof a?m.inArray(this[0],m(a)):m.inArray(a.jquery?a[0]:a,this):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(a,b){return this.pushStack(m.unique(m.merge(this.get(),m(a,b))))},addBack:function(a){return this.add(null==a?this.prevObject:this.prevObject.filter(a))}});function D(a,b){do a=a[b];while(a&&1!==a.nodeType);return a}m.each({parent:function(a){var b=a.parentNode;return b&&11!==b.nodeType?b:null},parents:function(a){return m.dir(a,"parentNode")},parentsUntil:function(a,b,c){return m.dir(a,"parentNode",c)},next:function(a){return D(a,"nextSibling")},prev:function(a){return D(a,"previousSibling")},nextAll:function(a){return m.dir(a,"nextSibling")},prevAll:function(a){return m.dir(a,"previousSibling")},nextUntil:function(a,b,c){return m.dir(a,"nextSibling",c)},prevUntil:function(a,b,c){return m.dir(a,"previousSibling",c)},siblings:function(a){return m.sibling((a.parentNode||{}).firstChild,a)},children:function(a){return m.sibling(a.firstChild)},contents:function(a){return m.nodeName(a,"iframe")?a.contentDocument||a.contentWindow.document:m.merge([],a.childNodes)}},function(a,b){m.fn[a]=function(c,d){var e=m.map(this,b,c);return"Until"!==a.slice(-5)&&(d=c),d&&"string"==typeof d&&(e=m.filter(d,e)),this.length>1&&(C[a]||(e=m.unique(e)),B.test(a)&&(e=e.reverse())),this.pushStack(e)}});var E=/\S+/g,F={};function G(a){var b=F[a]={};return m.each(a.match(E)||[],function(a,c){b[c]=!0}),b}m.Callbacks=function(a){a="string"==typeof a?F[a]||G(a):m.extend({},a);var b,c,d,e,f,g,h=[],i=!a.once&&[],j=function(l){for(c=a.memory&&l,d=!0,f=g||0,g=0,e=h.length,b=!0;h&&e>f;f++)if(h[f].apply(l[0],l[1])===!1&&a.stopOnFalse){c=!1;break}b=!1,h&&(i?i.length&&j(i.shift()):c?h=[]:k.disable())},k={add:function(){if(h){var d=h.length;!function f(b){m.each(b,function(b,c){var d=m.type(c);"function"===d?a.unique&&k.has(c)||h.push(c):c&&c.length&&"string"!==d&&f(c)})}(arguments),b?e=h.length:c&&(g=d,j(c))}return this},remove:function(){return h&&m.each(arguments,function(a,c){var d;while((d=m.inArray(c,h,d))>-1)h.splice(d,1),b&&(e>=d&&e--,f>=d&&f--)}),this},has:function(a){return a?m.inArray(a,h)>-1:!(!h||!h.length)},empty:function(){return h=[],e=0,this},disable:function(){return h=i=c=void 0,this},disabled:function(){return!h},lock:function(){return i=void 0,c||k.disable(),this},locked:function(){return!i},fireWith:function(a,c){return!h||d&&!i||(c=c||[],c=[a,c.slice?c.slice():c],b?i.push(c):j(c)),this},fire:function(){return k.fireWith(this,arguments),this},fired:function(){return!!d}};return k},m.extend({Deferred:function(a){var b=[["resolve","done",m.Callbacks("once memory"),"resolved"],["reject","fail",m.Callbacks("once memory"),"rejected"],["notify","progress",m.Callbacks("memory")]],c="pending",d={state:function(){return c},always:function(){return e.done(arguments).fail(arguments),this},then:function(){var a=arguments;return m.Deferred(function(c){m.each(b,function(b,f){var g=m.isFunction(a[b])&&a[b];e[f[1]](function(){var a=g&&g.apply(this,arguments);a&&m.isFunction(a.promise)?a.promise().done(c.resolve).fail(c.reject).progress(c.notify):c[f[0]+"With"](this===d?c.promise():this,g?[a]:arguments)})}),a=null}).promise()},promise:function(a){return null!=a?m.extend(a,d):d}},e={};return d.pipe=d.then,m.each(b,function(a,f){var g=f[2],h=f[3];d[f[1]]=g.add,h&&g.add(function(){c=h},b[1^a][2].disable,b[2][2].lock),e[f[0]]=function(){return e[f[0]+"With"](this===e?d:this,arguments),this},e[f[0]+"With"]=g.fireWith}),d.promise(e),a&&a.call(e,e),e},when:function(a){var b=0,c=d.call(arguments),e=c.length,f=1!==e||a&&m.isFunction(a.promise)?e:0,g=1===f?a:m.Deferred(),h=function(a,b,c){return function(e){b[a]=this,c[a]=arguments.length>1?d.call(arguments):e,c===i?g.notifyWith(b,c):--f||g.resolveWith(b,c)}},i,j,k;if(e>1)for(i=new Array(e),j=new Array(e),k=new Array(e);e>b;b++)c[b]&&m.isFunction(c[b].promise)?c[b].promise().done(h(b,k,c)).fail(g.reject).progress(h(b,j,i)):--f;return f||g.resolveWith(k,c),g.promise()}});var H;m.fn.ready=function(a){return m.ready.promise().done(a),this},m.extend({isReady:!1,readyWait:1,holdReady:function(a){a?m.readyWait++:m.ready(!0)},ready:function(a){if(a===!0?!--m.readyWait:!m.isReady){if(!y.body)return setTimeout(m.ready);m.isReady=!0,a!==!0&&--m.readyWait>0||(H.resolveWith(y,[m]),m.fn.triggerHandler&&(m(y).triggerHandler("ready"),m(y).off("ready")))}}});function I(){y.addEventListener?(y.removeEventListener("DOMContentLoaded",J,!1),a.removeEventListener("load",J,!1)):(y.detachEvent("onreadystatechange",J),a.detachEvent("onload",J))}function J(){(y.addEventListener||"load"===event.type||"complete"===y.readyState)&&(I(),m.ready())}m.ready.promise=function(b){if(!H)if(H=m.Deferred(),"complete"===y.readyState)setTimeout(m.ready);else if(y.addEventListener)y.addEventListener("DOMContentLoaded",J,!1),a.addEventListener("load",J,!1);else{y.attachEvent("onreadystatechange",J),a.attachEvent("onload",J);var c=!1;try{c=null==a.frameElement&&y.documentElement}catch(d){}c&&c.doScroll&&!function e(){if(!m.isReady){try{c.doScroll("left")}catch(a){return setTimeout(e,50)}I(),m.ready()}}()}return H.promise(b)};var K="undefined",L;for(L in m(k))break;k.ownLast="0"!==L,k.inlineBlockNeedsLayout=!1,m(function(){var a,b,c,d;c=y.getElementsByTagName("body")[0],c&&c.style&&(b=y.createElement("div"),d=y.createElement("div"),d.style.cssText="position:absolute;border:0;width:0;height:0;top:0;left:-9999px",c.appendChild(d).appendChild(b),typeof b.style.zoom!==K&&(b.style.cssText="display:inline;margin:0;border:0;padding:1px;width:1px;zoom:1",k.inlineBlockNeedsLayout=a=3===b.offsetWidth,a&&(c.style.zoom=1)),c.removeChild(d))}),function(){var a=y.createElement("div");if(null==k.deleteExpando){k.deleteExpando=!0;try{delete a.test}catch(b){k.deleteExpando=!1}}a=null}(),m.acceptData=function(a){var b=m.noData[(a.nodeName+" ").toLowerCase()],c=+a.nodeType||1;return 1!==c&&9!==c?!1:!b||b!==!0&&a.getAttribute("classid")===b};var M=/^(?:\{[\w\W]*\}|\[[\w\W]*\])$/,N=/([A-Z])/g;function O(a,b,c){if(void 0===c&&1===a.nodeType){var d="data-"+b.replace(N,"-$1").toLowerCase();if(c=a.getAttribute(d),"string"==typeof c){try{c="true"===c?!0:"false"===c?!1:"null"===c?null:+c+""===c?+c:M.test(c)?m.parseJSON(c):c}catch(e){}m.data(a,b,c)}else c=void 0}return c}function P(a){var b;for(b in a)if(("data"!==b||!m.isEmptyObject(a[b]))&&"toJSON"!==b)return!1; + +return!0}function Q(a,b,d,e){if(m.acceptData(a)){var f,g,h=m.expando,i=a.nodeType,j=i?m.cache:a,k=i?a[h]:a[h]&&h;if(k&&j[k]&&(e||j[k].data)||void 0!==d||"string"!=typeof b)return k||(k=i?a[h]=c.pop()||m.guid++:h),j[k]||(j[k]=i?{}:{toJSON:m.noop}),("object"==typeof b||"function"==typeof b)&&(e?j[k]=m.extend(j[k],b):j[k].data=m.extend(j[k].data,b)),g=j[k],e||(g.data||(g.data={}),g=g.data),void 0!==d&&(g[m.camelCase(b)]=d),"string"==typeof b?(f=g[b],null==f&&(f=g[m.camelCase(b)])):f=g,f}}function R(a,b,c){if(m.acceptData(a)){var d,e,f=a.nodeType,g=f?m.cache:a,h=f?a[m.expando]:m.expando;if(g[h]){if(b&&(d=c?g[h]:g[h].data)){m.isArray(b)?b=b.concat(m.map(b,m.camelCase)):b in d?b=[b]:(b=m.camelCase(b),b=b in d?[b]:b.split(" ")),e=b.length;while(e--)delete d[b[e]];if(c?!P(d):!m.isEmptyObject(d))return}(c||(delete g[h].data,P(g[h])))&&(f?m.cleanData([a],!0):k.deleteExpando||g!=g.window?delete g[h]:g[h]=null)}}}m.extend({cache:{},noData:{"applet ":!0,"embed ":!0,"object ":"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"},hasData:function(a){return a=a.nodeType?m.cache[a[m.expando]]:a[m.expando],!!a&&!P(a)},data:function(a,b,c){return Q(a,b,c)},removeData:function(a,b){return R(a,b)},_data:function(a,b,c){return Q(a,b,c,!0)},_removeData:function(a,b){return R(a,b,!0)}}),m.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=m.data(f),1===f.nodeType&&!m._data(f,"parsedAttrs"))){c=g.length;while(c--)g[c]&&(d=g[c].name,0===d.indexOf("data-")&&(d=m.camelCase(d.slice(5)),O(f,d,e[d])));m._data(f,"parsedAttrs",!0)}return e}return"object"==typeof a?this.each(function(){m.data(this,a)}):arguments.length>1?this.each(function(){m.data(this,a,b)}):f?O(f,a,m.data(f,a)):void 0},removeData:function(a){return this.each(function(){m.removeData(this,a)})}}),m.extend({queue:function(a,b,c){var d;return a?(b=(b||"fx")+"queue",d=m._data(a,b),c&&(!d||m.isArray(c)?d=m._data(a,b,m.makeArray(c)):d.push(c)),d||[]):void 0},dequeue:function(a,b){b=b||"fx";var c=m.queue(a,b),d=c.length,e=c.shift(),f=m._queueHooks(a,b),g=function(){m.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 m._data(a,c)||m._data(a,c,{empty:m.Callbacks("once memory").add(function(){m._removeData(a,b+"queue"),m._removeData(a,c)})})}}),m.fn.extend({queue:function(a,b){var c=2;return"string"!=typeof a&&(b=a,a="fx",c--),arguments.length<c?m.queue(this[0],a):void 0===b?this:this.each(function(){var c=m.queue(this,a,b);m._queueHooks(this,a),"fx"===a&&"inprogress"!==c[0]&&m.dequeue(this,a)})},dequeue:function(a){return this.each(function(){m.dequeue(this,a)})},clearQueue:function(a){return this.queue(a||"fx",[])},promise:function(a,b){var c,d=1,e=m.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=m._data(f[g],a+"queueHooks"),c&&c.empty&&(d++,c.empty.add(h));return h(),e.promise(b)}});var S=/[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source,T=["Top","Right","Bottom","Left"],U=function(a,b){return a=b||a,"none"===m.css(a,"display")||!m.contains(a.ownerDocument,a)},V=m.access=function(a,b,c,d,e,f,g){var h=0,i=a.length,j=null==c;if("object"===m.type(c)){e=!0;for(h in c)m.access(a,b,h,c[h],!0,f,g)}else if(void 0!==d&&(e=!0,m.isFunction(d)||(g=!0),j&&(g?(b.call(a,d),b=null):(j=b,b=function(a,b,c){return j.call(m(a),c)})),b))for(;i>h;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},W=/^(?:checkbox|radio)$/i;!function(){var a=y.createElement("input"),b=y.createElement("div"),c=y.createDocumentFragment();if(b.innerHTML=" <link/><table></table><a href='/a'>a</a><input type='checkbox'/>",k.leadingWhitespace=3===b.firstChild.nodeType,k.tbody=!b.getElementsByTagName("tbody").length,k.htmlSerialize=!!b.getElementsByTagName("link").length,k.html5Clone="<:nav></:nav>"!==y.createElement("nav").cloneNode(!0).outerHTML,a.type="checkbox",a.checked=!0,c.appendChild(a),k.appendChecked=a.checked,b.innerHTML="<textarea>x</textarea>",k.noCloneChecked=!!b.cloneNode(!0).lastChild.defaultValue,c.appendChild(b),b.innerHTML="<input type='radio' checked='checked' name='t'/>",k.checkClone=b.cloneNode(!0).cloneNode(!0).lastChild.checked,k.noCloneEvent=!0,b.attachEvent&&(b.attachEvent("onclick",function(){k.noCloneEvent=!1}),b.cloneNode(!0).click()),null==k.deleteExpando){k.deleteExpando=!0;try{delete b.test}catch(d){k.deleteExpando=!1}}}(),function(){var b,c,d=y.createElement("div");for(b in{submit:!0,change:!0,focusin:!0})c="on"+b,(k[b+"Bubbles"]=c in a)||(d.setAttribute(c,"t"),k[b+"Bubbles"]=d.attributes[c].expando===!1);d=null}();var X=/^(?:input|select|textarea)$/i,Y=/^key/,Z=/^(?:mouse|pointer|contextmenu)|click/,$=/^(?:focusinfocus|focusoutblur)$/,_=/^([^.]*)(?:\.(.+)|)$/;function aa(){return!0}function ba(){return!1}function ca(){try{return y.activeElement}catch(a){}}m.event={global:{},add:function(a,b,c,d,e){var f,g,h,i,j,k,l,n,o,p,q,r=m._data(a);if(r){c.handler&&(i=c,c=i.handler,e=i.selector),c.guid||(c.guid=m.guid++),(g=r.events)||(g=r.events={}),(k=r.handle)||(k=r.handle=function(a){return typeof m===K||a&&m.event.triggered===a.type?void 0:m.event.dispatch.apply(k.elem,arguments)},k.elem=a),b=(b||"").match(E)||[""],h=b.length;while(h--)f=_.exec(b[h])||[],o=q=f[1],p=(f[2]||"").split(".").sort(),o&&(j=m.event.special[o]||{},o=(e?j.delegateType:j.bindType)||o,j=m.event.special[o]||{},l=m.extend({type:o,origType:q,data:d,handler:c,guid:c.guid,selector:e,needsContext:e&&m.expr.match.needsContext.test(e),namespace:p.join(".")},i),(n=g[o])||(n=g[o]=[],n.delegateCount=0,j.setup&&j.setup.call(a,d,p,k)!==!1||(a.addEventListener?a.addEventListener(o,k,!1):a.attachEvent&&a.attachEvent("on"+o,k))),j.add&&(j.add.call(a,l),l.handler.guid||(l.handler.guid=c.guid)),e?n.splice(n.delegateCount++,0,l):n.push(l),m.event.global[o]=!0);a=null}},remove:function(a,b,c,d,e){var f,g,h,i,j,k,l,n,o,p,q,r=m.hasData(a)&&m._data(a);if(r&&(k=r.events)){b=(b||"").match(E)||[""],j=b.length;while(j--)if(h=_.exec(b[j])||[],o=q=h[1],p=(h[2]||"").split(".").sort(),o){l=m.event.special[o]||{},o=(d?l.delegateType:l.bindType)||o,n=k[o]||[],h=h[2]&&new RegExp("(^|\\.)"+p.join("\\.(?:.*\\.|)")+"(\\.|$)"),i=f=n.length;while(f--)g=n[f],!e&&q!==g.origType||c&&c.guid!==g.guid||h&&!h.test(g.namespace)||d&&d!==g.selector&&("**"!==d||!g.selector)||(n.splice(f,1),g.selector&&n.delegateCount--,l.remove&&l.remove.call(a,g));i&&!n.length&&(l.teardown&&l.teardown.call(a,p,r.handle)!==!1||m.removeEvent(a,o,r.handle),delete k[o])}else for(o in k)m.event.remove(a,o+b[j],c,d,!0);m.isEmptyObject(k)&&(delete r.handle,m._removeData(a,"events"))}},trigger:function(b,c,d,e){var f,g,h,i,k,l,n,o=[d||y],p=j.call(b,"type")?b.type:b,q=j.call(b,"namespace")?b.namespace.split("."):[];if(h=l=d=d||y,3!==d.nodeType&&8!==d.nodeType&&!$.test(p+m.event.triggered)&&(p.indexOf(".")>=0&&(q=p.split("."),p=q.shift(),q.sort()),g=p.indexOf(":")<0&&"on"+p,b=b[m.expando]?b:new m.Event(p,"object"==typeof b&&b),b.isTrigger=e?2:3,b.namespace=q.join("."),b.namespace_re=b.namespace?new RegExp("(^|\\.)"+q.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,b.result=void 0,b.target||(b.target=d),c=null==c?[b]:m.makeArray(c,[b]),k=m.event.special[p]||{},e||!k.trigger||k.trigger.apply(d,c)!==!1)){if(!e&&!k.noBubble&&!m.isWindow(d)){for(i=k.delegateType||p,$.test(i+p)||(h=h.parentNode);h;h=h.parentNode)o.push(h),l=h;l===(d.ownerDocument||y)&&o.push(l.defaultView||l.parentWindow||a)}n=0;while((h=o[n++])&&!b.isPropagationStopped())b.type=n>1?i:k.bindType||p,f=(m._data(h,"events")||{})[b.type]&&m._data(h,"handle"),f&&f.apply(h,c),f=g&&h[g],f&&f.apply&&m.acceptData(h)&&(b.result=f.apply(h,c),b.result===!1&&b.preventDefault());if(b.type=p,!e&&!b.isDefaultPrevented()&&(!k._default||k._default.apply(o.pop(),c)===!1)&&m.acceptData(d)&&g&&d[p]&&!m.isWindow(d)){l=d[g],l&&(d[g]=null),m.event.triggered=p;try{d[p]()}catch(r){}m.event.triggered=void 0,l&&(d[g]=l)}return b.result}},dispatch:function(a){a=m.event.fix(a);var b,c,e,f,g,h=[],i=d.call(arguments),j=(m._data(this,"events")||{})[a.type]||[],k=m.event.special[a.type]||{};if(i[0]=a,a.delegateTarget=this,!k.preDispatch||k.preDispatch.call(this,a)!==!1){h=m.event.handlers.call(this,a,j),b=0;while((f=h[b++])&&!a.isPropagationStopped()){a.currentTarget=f.elem,g=0;while((e=f.handlers[g++])&&!a.isImmediatePropagationStopped())(!a.namespace_re||a.namespace_re.test(e.namespace))&&(a.handleObj=e,a.data=e.data,c=((m.event.special[e.origType]||{}).handle||e.handler).apply(f.elem,i),void 0!==c&&(a.result=c)===!1&&(a.preventDefault(),a.stopPropagation()))}return k.postDispatch&&k.postDispatch.call(this,a),a.result}},handlers:function(a,b){var c,d,e,f,g=[],h=b.delegateCount,i=a.target;if(h&&i.nodeType&&(!a.button||"click"!==a.type))for(;i!=this;i=i.parentNode||this)if(1===i.nodeType&&(i.disabled!==!0||"click"!==a.type)){for(e=[],f=0;h>f;f++)d=b[f],c=d.selector+" ",void 0===e[c]&&(e[c]=d.needsContext?m(c,this).index(i)>=0:m.find(c,this,null,[i]).length),e[c]&&e.push(d);e.length&&g.push({elem:i,handlers:e})}return h<b.length&&g.push({elem:this,handlers:b.slice(h)}),g},fix:function(a){if(a[m.expando])return a;var b,c,d,e=a.type,f=a,g=this.fixHooks[e];g||(this.fixHooks[e]=g=Z.test(e)?this.mouseHooks:Y.test(e)?this.keyHooks:{}),d=g.props?this.props.concat(g.props):this.props,a=new m.Event(f),b=d.length;while(b--)c=d[b],a[c]=f[c];return a.target||(a.target=f.srcElement||y),3===a.target.nodeType&&(a.target=a.target.parentNode),a.metaKey=!!a.metaKey,g.filter?g.filter(a,f):a},props:"altKey bubbles cancelable ctrlKey currentTarget eventPhase metaKey relatedTarget shiftKey target timeStamp view which".split(" "),fixHooks:{},keyHooks:{props:"char charCode key keyCode".split(" "),filter:function(a,b){return null==a.which&&(a.which=null!=b.charCode?b.charCode:b.keyCode),a}},mouseHooks:{props:"button buttons clientX clientY fromElement offsetX offsetY pageX pageY screenX screenY toElement".split(" "),filter:function(a,b){var c,d,e,f=b.button,g=b.fromElement;return null==a.pageX&&null!=b.clientX&&(d=a.target.ownerDocument||y,e=d.documentElement,c=d.body,a.pageX=b.clientX+(e&&e.scrollLeft||c&&c.scrollLeft||0)-(e&&e.clientLeft||c&&c.clientLeft||0),a.pageY=b.clientY+(e&&e.scrollTop||c&&c.scrollTop||0)-(e&&e.clientTop||c&&c.clientTop||0)),!a.relatedTarget&&g&&(a.relatedTarget=g===a.target?b.toElement:g),a.which||void 0===f||(a.which=1&f?1:2&f?3:4&f?2:0),a}},special:{load:{noBubble:!0},focus:{trigger:function(){if(this!==ca()&&this.focus)try{return this.focus(),!1}catch(a){}},delegateType:"focusin"},blur:{trigger:function(){return this===ca()&&this.blur?(this.blur(),!1):void 0},delegateType:"focusout"},click:{trigger:function(){return m.nodeName(this,"input")&&"checkbox"===this.type&&this.click?(this.click(),!1):void 0},_default:function(a){return m.nodeName(a.target,"a")}},beforeunload:{postDispatch:function(a){void 0!==a.result&&a.originalEvent&&(a.originalEvent.returnValue=a.result)}}},simulate:function(a,b,c,d){var e=m.extend(new m.Event,c,{type:a,isSimulated:!0,originalEvent:{}});d?m.event.trigger(e,null,b):m.event.dispatch.call(b,e),e.isDefaultPrevented()&&c.preventDefault()}},m.removeEvent=y.removeEventListener?function(a,b,c){a.removeEventListener&&a.removeEventListener(b,c,!1)}:function(a,b,c){var d="on"+b;a.detachEvent&&(typeof a[d]===K&&(a[d]=null),a.detachEvent(d,c))},m.Event=function(a,b){return this instanceof m.Event?(a&&a.type?(this.originalEvent=a,this.type=a.type,this.isDefaultPrevented=a.defaultPrevented||void 0===a.defaultPrevented&&a.returnValue===!1?aa:ba):this.type=a,b&&m.extend(this,b),this.timeStamp=a&&a.timeStamp||m.now(),void(this[m.expando]=!0)):new m.Event(a,b)},m.Event.prototype={isDefaultPrevented:ba,isPropagationStopped:ba,isImmediatePropagationStopped:ba,preventDefault:function(){var a=this.originalEvent;this.isDefaultPrevented=aa,a&&(a.preventDefault?a.preventDefault():a.returnValue=!1)},stopPropagation:function(){var a=this.originalEvent;this.isPropagationStopped=aa,a&&(a.stopPropagation&&a.stopPropagation(),a.cancelBubble=!0)},stopImmediatePropagation:function(){var a=this.originalEvent;this.isImmediatePropagationStopped=aa,a&&a.stopImmediatePropagation&&a.stopImmediatePropagation(),this.stopPropagation()}},m.each({mouseenter:"mouseover",mouseleave:"mouseout",pointerenter:"pointerover",pointerleave:"pointerout"},function(a,b){m.event.special[a]={delegateType:b,bindType:b,handle:function(a){var c,d=this,e=a.relatedTarget,f=a.handleObj;return(!e||e!==d&&!m.contains(d,e))&&(a.type=f.origType,c=f.handler.apply(this,arguments),a.type=b),c}}}),k.submitBubbles||(m.event.special.submit={setup:function(){return m.nodeName(this,"form")?!1:void m.event.add(this,"click._submit keypress._submit",function(a){var b=a.target,c=m.nodeName(b,"input")||m.nodeName(b,"button")?b.form:void 0;c&&!m._data(c,"submitBubbles")&&(m.event.add(c,"submit._submit",function(a){a._submit_bubble=!0}),m._data(c,"submitBubbles",!0))})},postDispatch:function(a){a._submit_bubble&&(delete a._submit_bubble,this.parentNode&&!a.isTrigger&&m.event.simulate("submit",this.parentNode,a,!0))},teardown:function(){return m.nodeName(this,"form")?!1:void m.event.remove(this,"._submit")}}),k.changeBubbles||(m.event.special.change={setup:function(){return X.test(this.nodeName)?(("checkbox"===this.type||"radio"===this.type)&&(m.event.add(this,"propertychange._change",function(a){"checked"===a.originalEvent.propertyName&&(this._just_changed=!0)}),m.event.add(this,"click._change",function(a){this._just_changed&&!a.isTrigger&&(this._just_changed=!1),m.event.simulate("change",this,a,!0)})),!1):void m.event.add(this,"beforeactivate._change",function(a){var b=a.target;X.test(b.nodeName)&&!m._data(b,"changeBubbles")&&(m.event.add(b,"change._change",function(a){!this.parentNode||a.isSimulated||a.isTrigger||m.event.simulate("change",this.parentNode,a,!0)}),m._data(b,"changeBubbles",!0))})},handle:function(a){var b=a.target;return this!==b||a.isSimulated||a.isTrigger||"radio"!==b.type&&"checkbox"!==b.type?a.handleObj.handler.apply(this,arguments):void 0},teardown:function(){return m.event.remove(this,"._change"),!X.test(this.nodeName)}}),k.focusinBubbles||m.each({focus:"focusin",blur:"focusout"},function(a,b){var c=function(a){m.event.simulate(b,a.target,m.event.fix(a),!0)};m.event.special[b]={setup:function(){var d=this.ownerDocument||this,e=m._data(d,b);e||d.addEventListener(a,c,!0),m._data(d,b,(e||0)+1)},teardown:function(){var d=this.ownerDocument||this,e=m._data(d,b)-1;e?m._data(d,b,e):(d.removeEventListener(a,c,!0),m._removeData(d,b))}}}),m.fn.extend({on:function(a,b,c,d,e){var f,g;if("object"==typeof a){"string"!=typeof b&&(c=c||b,b=void 0);for(f in a)this.on(f,b,c,a[f],e);return this}if(null==c&&null==d?(d=b,c=b=void 0):null==d&&("string"==typeof b?(d=c,c=void 0):(d=c,c=b,b=void 0)),d===!1)d=ba;else if(!d)return this;return 1===e&&(g=d,d=function(a){return m().off(a),g.apply(this,arguments)},d.guid=g.guid||(g.guid=m.guid++)),this.each(function(){m.event.add(this,a,d,c,b)})},one:function(a,b,c,d){return this.on(a,b,c,d,1)},off:function(a,b,c){var d,e;if(a&&a.preventDefault&&a.handleObj)return d=a.handleObj,m(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=ba),this.each(function(){m.event.remove(this,a,c,b)})},trigger:function(a,b){return this.each(function(){m.event.trigger(a,b,this)})},triggerHandler:function(a,b){var c=this[0];return c?m.event.trigger(a,b,c,!0):void 0}});function da(a){var b=ea.split("|"),c=a.createDocumentFragment();if(c.createElement)while(b.length)c.createElement(b.pop());return c}var ea="abbr|article|aside|audio|bdi|canvas|data|datalist|details|figcaption|figure|footer|header|hgroup|mark|meter|nav|output|progress|section|summary|time|video",fa=/ jQuery\d+="(?:null|\d+)"/g,ga=new RegExp("<(?:"+ea+")[\\s/>]","i"),ha=/^\s+/,ia=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/gi,ja=/<([\w:]+)/,ka=/<tbody/i,la=/<|&#?\w+;/,ma=/<(?:script|style|link)/i,na=/checked\s*(?:[^=]|=\s*.checked.)/i,oa=/^$|\/(?:java|ecma)script/i,pa=/^true\/(.*)/,qa=/^\s*<!(?:\[CDATA\[|--)|(?:\]\]|--)>\s*$/g,ra={option:[1,"<select multiple='multiple'>","</select>"],legend:[1,"<fieldset>","</fieldset>"],area:[1,"<map>","</map>"],param:[1,"<object>","</object>"],thead:[1,"<table>","</table>"],tr:[2,"<table><tbody>","</tbody></table>"],col:[2,"<table><tbody></tbody><colgroup>","</colgroup></table>"],td:[3,"<table><tbody><tr>","</tr></tbody></table>"],_default:k.htmlSerialize?[0,"",""]:[1,"X<div>","</div>"]},sa=da(y),ta=sa.appendChild(y.createElement("div"));ra.optgroup=ra.option,ra.tbody=ra.tfoot=ra.colgroup=ra.caption=ra.thead,ra.th=ra.td;function ua(a,b){var c,d,e=0,f=typeof a.getElementsByTagName!==K?a.getElementsByTagName(b||"*"):typeof a.querySelectorAll!==K?a.querySelectorAll(b||"*"):void 0;if(!f)for(f=[],c=a.childNodes||a;null!=(d=c[e]);e++)!b||m.nodeName(d,b)?f.push(d):m.merge(f,ua(d,b));return void 0===b||b&&m.nodeName(a,b)?m.merge([a],f):f}function va(a){W.test(a.type)&&(a.defaultChecked=a.checked)}function wa(a,b){return m.nodeName(a,"table")&&m.nodeName(11!==b.nodeType?b:b.firstChild,"tr")?a.getElementsByTagName("tbody")[0]||a.appendChild(a.ownerDocument.createElement("tbody")):a}function xa(a){return a.type=(null!==m.find.attr(a,"type"))+"/"+a.type,a}function ya(a){var b=pa.exec(a.type);return b?a.type=b[1]:a.removeAttribute("type"),a}function za(a,b){for(var c,d=0;null!=(c=a[d]);d++)m._data(c,"globalEval",!b||m._data(b[d],"globalEval"))}function Aa(a,b){if(1===b.nodeType&&m.hasData(a)){var c,d,e,f=m._data(a),g=m._data(b,f),h=f.events;if(h){delete g.handle,g.events={};for(c in h)for(d=0,e=h[c].length;e>d;d++)m.event.add(b,c,h[c][d])}g.data&&(g.data=m.extend({},g.data))}}function Ba(a,b){var c,d,e;if(1===b.nodeType){if(c=b.nodeName.toLowerCase(),!k.noCloneEvent&&b[m.expando]){e=m._data(b);for(d in e.events)m.removeEvent(b,d,e.handle);b.removeAttribute(m.expando)}"script"===c&&b.text!==a.text?(xa(b).text=a.text,ya(b)):"object"===c?(b.parentNode&&(b.outerHTML=a.outerHTML),k.html5Clone&&a.innerHTML&&!m.trim(b.innerHTML)&&(b.innerHTML=a.innerHTML)):"input"===c&&W.test(a.type)?(b.defaultChecked=b.checked=a.checked,b.value!==a.value&&(b.value=a.value)):"option"===c?b.defaultSelected=b.selected=a.defaultSelected:("input"===c||"textarea"===c)&&(b.defaultValue=a.defaultValue)}}m.extend({clone:function(a,b,c){var d,e,f,g,h,i=m.contains(a.ownerDocument,a);if(k.html5Clone||m.isXMLDoc(a)||!ga.test("<"+a.nodeName+">")?f=a.cloneNode(!0):(ta.innerHTML=a.outerHTML,ta.removeChild(f=ta.firstChild)),!(k.noCloneEvent&&k.noCloneChecked||1!==a.nodeType&&11!==a.nodeType||m.isXMLDoc(a)))for(d=ua(f),h=ua(a),g=0;null!=(e=h[g]);++g)d[g]&&Ba(e,d[g]);if(b)if(c)for(h=h||ua(a),d=d||ua(f),g=0;null!=(e=h[g]);g++)Aa(e,d[g]);else Aa(a,f);return d=ua(f,"script"),d.length>0&&za(d,!i&&ua(a,"script")),d=h=e=null,f},buildFragment:function(a,b,c,d){for(var e,f,g,h,i,j,l,n=a.length,o=da(b),p=[],q=0;n>q;q++)if(f=a[q],f||0===f)if("object"===m.type(f))m.merge(p,f.nodeType?[f]:f);else if(la.test(f)){h=h||o.appendChild(b.createElement("div")),i=(ja.exec(f)||["",""])[1].toLowerCase(),l=ra[i]||ra._default,h.innerHTML=l[1]+f.replace(ia,"<$1></$2>")+l[2],e=l[0];while(e--)h=h.lastChild;if(!k.leadingWhitespace&&ha.test(f)&&p.push(b.createTextNode(ha.exec(f)[0])),!k.tbody){f="table"!==i||ka.test(f)?"<table>"!==l[1]||ka.test(f)?0:h:h.firstChild,e=f&&f.childNodes.length;while(e--)m.nodeName(j=f.childNodes[e],"tbody")&&!j.childNodes.length&&f.removeChild(j)}m.merge(p,h.childNodes),h.textContent="";while(h.firstChild)h.removeChild(h.firstChild);h=o.lastChild}else p.push(b.createTextNode(f));h&&o.removeChild(h),k.appendChecked||m.grep(ua(p,"input"),va),q=0;while(f=p[q++])if((!d||-1===m.inArray(f,d))&&(g=m.contains(f.ownerDocument,f),h=ua(o.appendChild(f),"script"),g&&za(h),c)){e=0;while(f=h[e++])oa.test(f.type||"")&&c.push(f)}return h=null,o},cleanData:function(a,b){for(var d,e,f,g,h=0,i=m.expando,j=m.cache,l=k.deleteExpando,n=m.event.special;null!=(d=a[h]);h++)if((b||m.acceptData(d))&&(f=d[i],g=f&&j[f])){if(g.events)for(e in g.events)n[e]?m.event.remove(d,e):m.removeEvent(d,e,g.handle);j[f]&&(delete j[f],l?delete d[i]:typeof d.removeAttribute!==K?d.removeAttribute(i):d[i]=null,c.push(f))}}}),m.fn.extend({text:function(a){return V(this,function(a){return void 0===a?m.text(this):this.empty().append((this[0]&&this[0].ownerDocument||y).createTextNode(a))},null,a,arguments.length)},append:function(){return this.domManip(arguments,function(a){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var b=wa(this,a);b.appendChild(a)}})},prepend:function(){return this.domManip(arguments,function(a){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var b=wa(this,a);b.insertBefore(a,b.firstChild)}})},before:function(){return this.domManip(arguments,function(a){this.parentNode&&this.parentNode.insertBefore(a,this)})},after:function(){return this.domManip(arguments,function(a){this.parentNode&&this.parentNode.insertBefore(a,this.nextSibling)})},remove:function(a,b){for(var c,d=a?m.filter(a,this):this,e=0;null!=(c=d[e]);e++)b||1!==c.nodeType||m.cleanData(ua(c)),c.parentNode&&(b&&m.contains(c.ownerDocument,c)&&za(ua(c,"script")),c.parentNode.removeChild(c));return this},empty:function(){for(var a,b=0;null!=(a=this[b]);b++){1===a.nodeType&&m.cleanData(ua(a,!1));while(a.firstChild)a.removeChild(a.firstChild);a.options&&m.nodeName(a,"select")&&(a.options.length=0)}return this},clone:function(a,b){return a=null==a?!1:a,b=null==b?a:b,this.map(function(){return m.clone(this,a,b)})},html:function(a){return V(this,function(a){var b=this[0]||{},c=0,d=this.length;if(void 0===a)return 1===b.nodeType?b.innerHTML.replace(fa,""):void 0;if(!("string"!=typeof a||ma.test(a)||!k.htmlSerialize&&ga.test(a)||!k.leadingWhitespace&&ha.test(a)||ra[(ja.exec(a)||["",""])[1].toLowerCase()])){a=a.replace(ia,"<$1></$2>");try{for(;d>c;c++)b=this[c]||{},1===b.nodeType&&(m.cleanData(ua(b,!1)),b.innerHTML=a);b=0}catch(e){}}b&&this.empty().append(a)},null,a,arguments.length)},replaceWith:function(){var a=arguments[0];return this.domManip(arguments,function(b){a=this.parentNode,m.cleanData(ua(this)),a&&a.replaceChild(b,this)}),a&&(a.length||a.nodeType)?this:this.remove()},detach:function(a){return this.remove(a,!0)},domManip:function(a,b){a=e.apply([],a);var c,d,f,g,h,i,j=0,l=this.length,n=this,o=l-1,p=a[0],q=m.isFunction(p);if(q||l>1&&"string"==typeof p&&!k.checkClone&&na.test(p))return this.each(function(c){var d=n.eq(c);q&&(a[0]=p.call(this,c,d.html())),d.domManip(a,b)});if(l&&(i=m.buildFragment(a,this[0].ownerDocument,!1,this),c=i.firstChild,1===i.childNodes.length&&(i=c),c)){for(g=m.map(ua(i,"script"),xa),f=g.length;l>j;j++)d=i,j!==o&&(d=m.clone(d,!0,!0),f&&m.merge(g,ua(d,"script"))),b.call(this[j],d,j);if(f)for(h=g[g.length-1].ownerDocument,m.map(g,ya),j=0;f>j;j++)d=g[j],oa.test(d.type||"")&&!m._data(d,"globalEval")&&m.contains(h,d)&&(d.src?m._evalUrl&&m._evalUrl(d.src):m.globalEval((d.text||d.textContent||d.innerHTML||"").replace(qa,"")));i=c=null}return this}}),m.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(a,b){m.fn[a]=function(a){for(var c,d=0,e=[],g=m(a),h=g.length-1;h>=d;d++)c=d===h?this:this.clone(!0),m(g[d])[b](c),f.apply(e,c.get());return this.pushStack(e)}});var Ca,Da={};function Ea(b,c){var d,e=m(c.createElement(b)).appendTo(c.body),f=a.getDefaultComputedStyle&&(d=a.getDefaultComputedStyle(e[0]))?d.display:m.css(e[0],"display");return e.detach(),f}function Fa(a){var b=y,c=Da[a];return c||(c=Ea(a,b),"none"!==c&&c||(Ca=(Ca||m("<iframe frameborder='0' width='0' height='0'/>")).appendTo(b.documentElement),b=(Ca[0].contentWindow||Ca[0].contentDocument).document,b.write(),b.close(),c=Ea(a,b),Ca.detach()),Da[a]=c),c}!function(){var a;k.shrinkWrapBlocks=function(){if(null!=a)return a;a=!1;var b,c,d;return c=y.getElementsByTagName("body")[0],c&&c.style?(b=y.createElement("div"),d=y.createElement("div"),d.style.cssText="position:absolute;border:0;width:0;height:0;top:0;left:-9999px",c.appendChild(d).appendChild(b),typeof b.style.zoom!==K&&(b.style.cssText="-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;display:block;margin:0;border:0;padding:1px;width:1px;zoom:1",b.appendChild(y.createElement("div")).style.width="5px",a=3!==b.offsetWidth),c.removeChild(d),a):void 0}}();var Ga=/^margin/,Ha=new RegExp("^("+S+")(?!px)[a-z%]+$","i"),Ia,Ja,Ka=/^(top|right|bottom|left)$/;a.getComputedStyle?(Ia=function(b){return b.ownerDocument.defaultView.opener?b.ownerDocument.defaultView.getComputedStyle(b,null):a.getComputedStyle(b,null)},Ja=function(a,b,c){var d,e,f,g,h=a.style;return c=c||Ia(a),g=c?c.getPropertyValue(b)||c[b]:void 0,c&&(""!==g||m.contains(a.ownerDocument,a)||(g=m.style(a,b)),Ha.test(g)&&Ga.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+""}):y.documentElement.currentStyle&&(Ia=function(a){return a.currentStyle},Ja=function(a,b,c){var d,e,f,g,h=a.style;return c=c||Ia(a),g=c?c[b]:void 0,null==g&&h&&h[b]&&(g=h[b]),Ha.test(g)&&!Ka.test(b)&&(d=h.left,e=a.runtimeStyle,f=e&&e.left,f&&(e.left=a.currentStyle.left),h.left="fontSize"===b?"1em":g,g=h.pixelLeft+"px",h.left=d,f&&(e.left=f)),void 0===g?g:g+""||"auto"});function La(a,b){return{get:function(){var c=a();if(null!=c)return c?void delete this.get:(this.get=b).apply(this,arguments)}}}!function(){var b,c,d,e,f,g,h;if(b=y.createElement("div"),b.innerHTML=" <link/><table></table><a href='/a'>a</a><input type='checkbox'/>",d=b.getElementsByTagName("a")[0],c=d&&d.style){c.cssText="float:left;opacity:.5",k.opacity="0.5"===c.opacity,k.cssFloat=!!c.cssFloat,b.style.backgroundClip="content-box",b.cloneNode(!0).style.backgroundClip="",k.clearCloneStyle="content-box"===b.style.backgroundClip,k.boxSizing=""===c.boxSizing||""===c.MozBoxSizing||""===c.WebkitBoxSizing,m.extend(k,{reliableHiddenOffsets:function(){return null==g&&i(),g},boxSizingReliable:function(){return null==f&&i(),f},pixelPosition:function(){return null==e&&i(),e},reliableMarginRight:function(){return null==h&&i(),h}});function i(){var b,c,d,i;c=y.getElementsByTagName("body")[0],c&&c.style&&(b=y.createElement("div"),d=y.createElement("div"),d.style.cssText="position:absolute;border:0;width:0;height:0;top:0;left:-9999px",c.appendChild(d).appendChild(b),b.style.cssText="-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;display:block;margin-top:1%;top:1%;border:1px;padding:1px;width:4px;position:absolute",e=f=!1,h=!0,a.getComputedStyle&&(e="1%"!==(a.getComputedStyle(b,null)||{}).top,f="4px"===(a.getComputedStyle(b,null)||{width:"4px"}).width,i=b.appendChild(y.createElement("div")),i.style.cssText=b.style.cssText="-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;display:block;margin:0;border:0;padding:0",i.style.marginRight=i.style.width="0",b.style.width="1px",h=!parseFloat((a.getComputedStyle(i,null)||{}).marginRight),b.removeChild(i)),b.innerHTML="<table><tr><td></td><td>t</td></tr></table>",i=b.getElementsByTagName("td"),i[0].style.cssText="margin:0;border:0;padding:0;display:none",g=0===i[0].offsetHeight,g&&(i[0].style.display="",i[1].style.display="none",g=0===i[0].offsetHeight),c.removeChild(d))}}}(),m.swap=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};var Ma=/alpha\([^)]*\)/i,Na=/opacity\s*=\s*([^)]*)/,Oa=/^(none|table(?!-c[ea]).+)/,Pa=new RegExp("^("+S+")(.*)$","i"),Qa=new RegExp("^([+-])=("+S+")","i"),Ra={position:"absolute",visibility:"hidden",display:"block"},Sa={letterSpacing:"0",fontWeight:"400"},Ta=["Webkit","O","Moz","ms"];function Ua(a,b){if(b in a)return b;var c=b.charAt(0).toUpperCase()+b.slice(1),d=b,e=Ta.length;while(e--)if(b=Ta[e]+c,b in a)return b;return d}function Va(a,b){for(var c,d,e,f=[],g=0,h=a.length;h>g;g++)d=a[g],d.style&&(f[g]=m._data(d,"olddisplay"),c=d.style.display,b?(f[g]||"none"!==c||(d.style.display=""),""===d.style.display&&U(d)&&(f[g]=m._data(d,"olddisplay",Fa(d.nodeName)))):(e=U(d),(c&&"none"!==c||!e)&&m._data(d,"olddisplay",e?c:m.css(d,"display"))));for(g=0;h>g;g++)d=a[g],d.style&&(b&&"none"!==d.style.display&&""!==d.style.display||(d.style.display=b?f[g]||"":"none"));return a}function Wa(a,b,c){var d=Pa.exec(b);return d?Math.max(0,d[1]-(c||0))+(d[2]||"px"):b}function Xa(a,b,c,d,e){for(var f=c===(d?"border":"content")?4:"width"===b?1:0,g=0;4>f;f+=2)"margin"===c&&(g+=m.css(a,c+T[f],!0,e)),d?("content"===c&&(g-=m.css(a,"padding"+T[f],!0,e)),"margin"!==c&&(g-=m.css(a,"border"+T[f]+"Width",!0,e))):(g+=m.css(a,"padding"+T[f],!0,e),"padding"!==c&&(g+=m.css(a,"border"+T[f]+"Width",!0,e)));return g}function Ya(a,b,c){var d=!0,e="width"===b?a.offsetWidth:a.offsetHeight,f=Ia(a),g=k.boxSizing&&"border-box"===m.css(a,"boxSizing",!1,f);if(0>=e||null==e){if(e=Ja(a,b,f),(0>e||null==e)&&(e=a.style[b]),Ha.test(e))return e;d=g&&(k.boxSizingReliable()||e===a.style[b]),e=parseFloat(e)||0}return e+Xa(a,b,c||(g?"border":"content"),d,f)+"px"}m.extend({cssHooks:{opacity:{get:function(a,b){if(b){var c=Ja(a,"opacity");return""===c?"1":c}}}},cssNumber:{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":k.cssFloat?"cssFloat":"styleFloat"},style:function(a,b,c,d){if(a&&3!==a.nodeType&&8!==a.nodeType&&a.style){var e,f,g,h=m.camelCase(b),i=a.style;if(b=m.cssProps[h]||(m.cssProps[h]=Ua(i,h)),g=m.cssHooks[b]||m.cssHooks[h],void 0===c)return g&&"get"in g&&void 0!==(e=g.get(a,!1,d))?e:i[b];if(f=typeof c,"string"===f&&(e=Qa.exec(c))&&(c=(e[1]+1)*e[2]+parseFloat(m.css(a,b)),f="number"),null!=c&&c===c&&("number"!==f||m.cssNumber[h]||(c+="px"),k.clearCloneStyle||""!==c||0!==b.indexOf("background")||(i[b]="inherit"),!(g&&"set"in g&&void 0===(c=g.set(a,c,d)))))try{i[b]=c}catch(j){}}},css:function(a,b,c,d){var e,f,g,h=m.camelCase(b);return b=m.cssProps[h]||(m.cssProps[h]=Ua(a.style,h)),g=m.cssHooks[b]||m.cssHooks[h],g&&"get"in g&&(f=g.get(a,!0,c)),void 0===f&&(f=Ja(a,b,d)),"normal"===f&&b in Sa&&(f=Sa[b]),""===c||c?(e=parseFloat(f),c===!0||m.isNumeric(e)?e||0:f):f}}),m.each(["height","width"],function(a,b){m.cssHooks[b]={get:function(a,c,d){return c?Oa.test(m.css(a,"display"))&&0===a.offsetWidth?m.swap(a,Ra,function(){return Ya(a,b,d)}):Ya(a,b,d):void 0},set:function(a,c,d){var e=d&&Ia(a);return Wa(a,c,d?Xa(a,b,d,k.boxSizing&&"border-box"===m.css(a,"boxSizing",!1,e),e):0)}}}),k.opacity||(m.cssHooks.opacity={get:function(a,b){return Na.test((b&&a.currentStyle?a.currentStyle.filter:a.style.filter)||"")?.01*parseFloat(RegExp.$1)+"":b?"1":""},set:function(a,b){var c=a.style,d=a.currentStyle,e=m.isNumeric(b)?"alpha(opacity="+100*b+")":"",f=d&&d.filter||c.filter||"";c.zoom=1,(b>=1||""===b)&&""===m.trim(f.replace(Ma,""))&&c.removeAttribute&&(c.removeAttribute("filter"),""===b||d&&!d.filter)||(c.filter=Ma.test(f)?f.replace(Ma,e):f+" "+e)}}),m.cssHooks.marginRight=La(k.reliableMarginRight,function(a,b){return b?m.swap(a,{display:"inline-block"},Ja,[a,"marginRight"]):void 0}),m.each({margin:"",padding:"",border:"Width"},function(a,b){m.cssHooks[a+b]={expand:function(c){for(var d=0,e={},f="string"==typeof c?c.split(" "):[c];4>d;d++)e[a+T[d]+b]=f[d]||f[d-2]||f[0];return e}},Ga.test(a)||(m.cssHooks[a+b].set=Wa)}),m.fn.extend({css:function(a,b){return V(this,function(a,b,c){var d,e,f={},g=0;if(m.isArray(b)){for(d=Ia(a),e=b.length;e>g;g++)f[b[g]]=m.css(a,b[g],!1,d);return f}return void 0!==c?m.style(a,b,c):m.css(a,b)},a,b,arguments.length>1)},show:function(){return Va(this,!0)},hide:function(){return Va(this)},toggle:function(a){return"boolean"==typeof a?a?this.show():this.hide():this.each(function(){U(this)?m(this).show():m(this).hide()})}});function Za(a,b,c,d,e){ +return new Za.prototype.init(a,b,c,d,e)}m.Tween=Za,Za.prototype={constructor:Za,init:function(a,b,c,d,e,f){this.elem=a,this.prop=c,this.easing=e||"swing",this.options=b,this.start=this.now=this.cur(),this.end=d,this.unit=f||(m.cssNumber[c]?"":"px")},cur:function(){var a=Za.propHooks[this.prop];return a&&a.get?a.get(this):Za.propHooks._default.get(this)},run:function(a){var b,c=Za.propHooks[this.prop];return this.options.duration?this.pos=b=m.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):Za.propHooks._default.set(this),this}},Za.prototype.init.prototype=Za.prototype,Za.propHooks={_default:{get:function(a){var b;return null==a.elem[a.prop]||a.elem.style&&null!=a.elem.style[a.prop]?(b=m.css(a.elem,a.prop,""),b&&"auto"!==b?b:0):a.elem[a.prop]},set:function(a){m.fx.step[a.prop]?m.fx.step[a.prop](a):a.elem.style&&(null!=a.elem.style[m.cssProps[a.prop]]||m.cssHooks[a.prop])?m.style(a.elem,a.prop,a.now+a.unit):a.elem[a.prop]=a.now}}},Za.propHooks.scrollTop=Za.propHooks.scrollLeft={set:function(a){a.elem.nodeType&&a.elem.parentNode&&(a.elem[a.prop]=a.now)}},m.easing={linear:function(a){return a},swing:function(a){return.5-Math.cos(a*Math.PI)/2}},m.fx=Za.prototype.init,m.fx.step={};var $a,_a,ab=/^(?:toggle|show|hide)$/,bb=new RegExp("^(?:([+-])=|)("+S+")([a-z%]*)$","i"),cb=/queueHooks$/,db=[ib],eb={"*":[function(a,b){var c=this.createTween(a,b),d=c.cur(),e=bb.exec(b),f=e&&e[3]||(m.cssNumber[a]?"":"px"),g=(m.cssNumber[a]||"px"!==f&&+d)&&bb.exec(m.css(c.elem,a)),h=1,i=20;if(g&&g[3]!==f){f=f||g[3],e=e||[],g=+d||1;do h=h||".5",g/=h,m.style(c.elem,a,g+f);while(h!==(h=c.cur()/d)&&1!==h&&--i)}return e&&(g=c.start=+g||+d||0,c.unit=f,c.end=e[1]?g+(e[1]+1)*e[2]:+e[2]),c}]};function fb(){return setTimeout(function(){$a=void 0}),$a=m.now()}function gb(a,b){var c,d={height:a},e=0;for(b=b?1:0;4>e;e+=2-b)c=T[e],d["margin"+c]=d["padding"+c]=a;return b&&(d.opacity=d.width=a),d}function hb(a,b,c){for(var d,e=(eb[b]||[]).concat(eb["*"]),f=0,g=e.length;g>f;f++)if(d=e[f].call(c,b,a))return d}function ib(a,b,c){var d,e,f,g,h,i,j,l,n=this,o={},p=a.style,q=a.nodeType&&U(a),r=m._data(a,"fxshow");c.queue||(h=m._queueHooks(a,"fx"),null==h.unqueued&&(h.unqueued=0,i=h.empty.fire,h.empty.fire=function(){h.unqueued||i()}),h.unqueued++,n.always(function(){n.always(function(){h.unqueued--,m.queue(a,"fx").length||h.empty.fire()})})),1===a.nodeType&&("height"in b||"width"in b)&&(c.overflow=[p.overflow,p.overflowX,p.overflowY],j=m.css(a,"display"),l="none"===j?m._data(a,"olddisplay")||Fa(a.nodeName):j,"inline"===l&&"none"===m.css(a,"float")&&(k.inlineBlockNeedsLayout&&"inline"!==Fa(a.nodeName)?p.zoom=1:p.display="inline-block")),c.overflow&&(p.overflow="hidden",k.shrinkWrapBlocks()||n.always(function(){p.overflow=c.overflow[0],p.overflowX=c.overflow[1],p.overflowY=c.overflow[2]}));for(d in b)if(e=b[d],ab.exec(e)){if(delete b[d],f=f||"toggle"===e,e===(q?"hide":"show")){if("show"!==e||!r||void 0===r[d])continue;q=!0}o[d]=r&&r[d]||m.style(a,d)}else j=void 0;if(m.isEmptyObject(o))"inline"===("none"===j?Fa(a.nodeName):j)&&(p.display=j);else{r?"hidden"in r&&(q=r.hidden):r=m._data(a,"fxshow",{}),f&&(r.hidden=!q),q?m(a).show():n.done(function(){m(a).hide()}),n.done(function(){var b;m._removeData(a,"fxshow");for(b in o)m.style(a,b,o[b])});for(d in o)g=hb(q?r[d]:0,d,n),d in r||(r[d]=g.start,q&&(g.end=g.start,g.start="width"===d||"height"===d?1:0))}}function jb(a,b){var c,d,e,f,g;for(c in a)if(d=m.camelCase(c),e=b[d],f=a[c],m.isArray(f)&&(e=f[1],f=a[c]=f[0]),c!==d&&(a[d]=f,delete a[c]),g=m.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=db.length,h=m.Deferred().always(function(){delete i.elem}),i=function(){if(e)return!1;for(var b=$a||fb(),c=Math.max(0,j.startTime+j.duration-b),d=c/j.duration||0,f=1-d,g=0,i=j.tweens.length;i>g;g++)j.tweens[g].run(f);return h.notifyWith(a,[j,f,c]),1>f&&i?c:(h.resolveWith(a,[j]),!1)},j=h.promise({elem:a,props:m.extend({},b),opts:m.extend(!0,{specialEasing:{}},c),originalProperties:b,originalOptions:c,startTime:$a||fb(),duration:c.duration,tweens:[],createTween:function(b,c){var d=m.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;d>c;c++)j.tweens[c].run(1);return b?h.resolveWith(a,[j,b]):h.rejectWith(a,[j,b]),this}}),k=j.props;for(jb(k,j.opts.specialEasing);g>f;f++)if(d=db[f].call(j,a,k,j.opts))return d;return m.map(k,hb,j),m.isFunction(j.opts.start)&&j.opts.start.call(a,j),m.fx.timer(m.extend(i,{elem:a,anim:j,queue:j.opts.queue})),j.progress(j.opts.progress).done(j.opts.done,j.opts.complete).fail(j.opts.fail).always(j.opts.always)}m.Animation=m.extend(kb,{tweener:function(a,b){m.isFunction(a)?(b=a,a=["*"]):a=a.split(" ");for(var c,d=0,e=a.length;e>d;d++)c=a[d],eb[c]=eb[c]||[],eb[c].unshift(b)},prefilter:function(a,b){b?db.unshift(a):db.push(a)}}),m.speed=function(a,b,c){var d=a&&"object"==typeof a?m.extend({},a):{complete:c||!c&&b||m.isFunction(a)&&a,duration:a,easing:c&&b||b&&!m.isFunction(b)&&b};return d.duration=m.fx.off?0:"number"==typeof d.duration?d.duration:d.duration in m.fx.speeds?m.fx.speeds[d.duration]:m.fx.speeds._default,(null==d.queue||d.queue===!0)&&(d.queue="fx"),d.old=d.complete,d.complete=function(){m.isFunction(d.old)&&d.old.call(this),d.queue&&m.dequeue(this,d.queue)},d},m.fn.extend({fadeTo:function(a,b,c,d){return this.filter(U).css("opacity",0).show().end().animate({opacity:b},a,c,d)},animate:function(a,b,c,d){var e=m.isEmptyObject(a),f=m.speed(b,c,d),g=function(){var b=kb(this,m.extend({},a),f);(e||m._data(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=m.timers,g=m._data(this);if(e)g[e]&&g[e].stop&&d(g[e]);else for(e in g)g[e]&&g[e].stop&&cb.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)&&m.dequeue(this,a)})},finish:function(a){return a!==!1&&(a=a||"fx"),this.each(function(){var b,c=m._data(this),d=c[a+"queue"],e=c[a+"queueHooks"],f=m.timers,g=d?d.length:0;for(c.finish=!0,m.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;g>b;b++)d[b]&&d[b].finish&&d[b].finish.call(this);delete c.finish})}}),m.each(["toggle","show","hide"],function(a,b){var c=m.fn[b];m.fn[b]=function(a,d,e){return null==a||"boolean"==typeof a?c.apply(this,arguments):this.animate(gb(b,!0),a,d,e)}}),m.each({slideDown:gb("show"),slideUp:gb("hide"),slideToggle:gb("toggle"),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"},fadeToggle:{opacity:"toggle"}},function(a,b){m.fn[a]=function(a,c,d){return this.animate(b,a,c,d)}}),m.timers=[],m.fx.tick=function(){var a,b=m.timers,c=0;for($a=m.now();c<b.length;c++)a=b[c],a()||b[c]!==a||b.splice(c--,1);b.length||m.fx.stop(),$a=void 0},m.fx.timer=function(a){m.timers.push(a),a()?m.fx.start():m.timers.pop()},m.fx.interval=13,m.fx.start=function(){_a||(_a=setInterval(m.fx.tick,m.fx.interval))},m.fx.stop=function(){clearInterval(_a),_a=null},m.fx.speeds={slow:600,fast:200,_default:400},m.fn.delay=function(a,b){return a=m.fx?m.fx.speeds[a]||a:a,b=b||"fx",this.queue(b,function(b,c){var d=setTimeout(b,a);c.stop=function(){clearTimeout(d)}})},function(){var a,b,c,d,e;b=y.createElement("div"),b.setAttribute("className","t"),b.innerHTML=" <link/><table></table><a href='/a'>a</a><input type='checkbox'/>",d=b.getElementsByTagName("a")[0],c=y.createElement("select"),e=c.appendChild(y.createElement("option")),a=b.getElementsByTagName("input")[0],d.style.cssText="top:1px",k.getSetAttribute="t"!==b.className,k.style=/top/.test(d.getAttribute("style")),k.hrefNormalized="/a"===d.getAttribute("href"),k.checkOn=!!a.value,k.optSelected=e.selected,k.enctype=!!y.createElement("form").enctype,c.disabled=!0,k.optDisabled=!e.disabled,a=y.createElement("input"),a.setAttribute("value",""),k.input=""===a.getAttribute("value"),a.value="t",a.setAttribute("type","radio"),k.radioValue="t"===a.value}();var lb=/\r/g;m.fn.extend({val:function(a){var b,c,d,e=this[0];{if(arguments.length)return d=m.isFunction(a),this.each(function(c){var e;1===this.nodeType&&(e=d?a.call(this,c,m(this).val()):a,null==e?e="":"number"==typeof e?e+="":m.isArray(e)&&(e=m.map(e,function(a){return null==a?"":a+""})),b=m.valHooks[this.type]||m.valHooks[this.nodeName.toLowerCase()],b&&"set"in b&&void 0!==b.set(this,e,"value")||(this.value=e))});if(e)return b=m.valHooks[e.type]||m.valHooks[e.nodeName.toLowerCase()],b&&"get"in b&&void 0!==(c=b.get(e,"value"))?c:(c=e.value,"string"==typeof c?c.replace(lb,""):null==c?"":c)}}}),m.extend({valHooks:{option:{get:function(a){var b=m.find.attr(a,"value");return null!=b?b:m.trim(m.text(a))}},select:{get:function(a){for(var b,c,d=a.options,e=a.selectedIndex,f="select-one"===a.type||0>e,g=f?null:[],h=f?e+1:d.length,i=0>e?h:f?e:0;h>i;i++)if(c=d[i],!(!c.selected&&i!==e||(k.optDisabled?c.disabled:null!==c.getAttribute("disabled"))||c.parentNode.disabled&&m.nodeName(c.parentNode,"optgroup"))){if(b=m(c).val(),f)return b;g.push(b)}return g},set:function(a,b){var c,d,e=a.options,f=m.makeArray(b),g=e.length;while(g--)if(d=e[g],m.inArray(m.valHooks.option.get(d),f)>=0)try{d.selected=c=!0}catch(h){d.scrollHeight}else d.selected=!1;return c||(a.selectedIndex=-1),e}}}}),m.each(["radio","checkbox"],function(){m.valHooks[this]={set:function(a,b){return m.isArray(b)?a.checked=m.inArray(m(a).val(),b)>=0:void 0}},k.checkOn||(m.valHooks[this].get=function(a){return null===a.getAttribute("value")?"on":a.value})});var mb,nb,ob=m.expr.attrHandle,pb=/^(?:checked|selected)$/i,qb=k.getSetAttribute,rb=k.input;m.fn.extend({attr:function(a,b){return V(this,m.attr,a,b,arguments.length>1)},removeAttr:function(a){return this.each(function(){m.removeAttr(this,a)})}}),m.extend({attr:function(a,b,c){var d,e,f=a.nodeType;if(a&&3!==f&&8!==f&&2!==f)return typeof a.getAttribute===K?m.prop(a,b,c):(1===f&&m.isXMLDoc(a)||(b=b.toLowerCase(),d=m.attrHooks[b]||(m.expr.match.bool.test(b)?nb:mb)),void 0===c?d&&"get"in d&&null!==(e=d.get(a,b))?e:(e=m.find.attr(a,b),null==e?void 0:e):null!==c?d&&"set"in d&&void 0!==(e=d.set(a,c,b))?e:(a.setAttribute(b,c+""),c):void m.removeAttr(a,b))},removeAttr:function(a,b){var c,d,e=0,f=b&&b.match(E);if(f&&1===a.nodeType)while(c=f[e++])d=m.propFix[c]||c,m.expr.match.bool.test(c)?rb&&qb||!pb.test(c)?a[d]=!1:a[m.camelCase("default-"+c)]=a[d]=!1:m.attr(a,c,""),a.removeAttribute(qb?c:d)},attrHooks:{type:{set:function(a,b){if(!k.radioValue&&"radio"===b&&m.nodeName(a,"input")){var c=a.value;return a.setAttribute("type",b),c&&(a.value=c),b}}}}}),nb={set:function(a,b,c){return b===!1?m.removeAttr(a,c):rb&&qb||!pb.test(c)?a.setAttribute(!qb&&m.propFix[c]||c,c):a[m.camelCase("default-"+c)]=a[c]=!0,c}},m.each(m.expr.match.bool.source.match(/\w+/g),function(a,b){var c=ob[b]||m.find.attr;ob[b]=rb&&qb||!pb.test(b)?function(a,b,d){var e,f;return d||(f=ob[b],ob[b]=e,e=null!=c(a,b,d)?b.toLowerCase():null,ob[b]=f),e}:function(a,b,c){return c?void 0:a[m.camelCase("default-"+b)]?b.toLowerCase():null}}),rb&&qb||(m.attrHooks.value={set:function(a,b,c){return m.nodeName(a,"input")?void(a.defaultValue=b):mb&&mb.set(a,b,c)}}),qb||(mb={set:function(a,b,c){var d=a.getAttributeNode(c);return d||a.setAttributeNode(d=a.ownerDocument.createAttribute(c)),d.value=b+="","value"===c||b===a.getAttribute(c)?b:void 0}},ob.id=ob.name=ob.coords=function(a,b,c){var d;return c?void 0:(d=a.getAttributeNode(b))&&""!==d.value?d.value:null},m.valHooks.button={get:function(a,b){var c=a.getAttributeNode(b);return c&&c.specified?c.value:void 0},set:mb.set},m.attrHooks.contenteditable={set:function(a,b,c){mb.set(a,""===b?!1:b,c)}},m.each(["width","height"],function(a,b){m.attrHooks[b]={set:function(a,c){return""===c?(a.setAttribute(b,"auto"),c):void 0}}})),k.style||(m.attrHooks.style={get:function(a){return a.style.cssText||void 0},set:function(a,b){return a.style.cssText=b+""}});var sb=/^(?:input|select|textarea|button|object)$/i,tb=/^(?:a|area)$/i;m.fn.extend({prop:function(a,b){return V(this,m.prop,a,b,arguments.length>1)},removeProp:function(a){return a=m.propFix[a]||a,this.each(function(){try{this[a]=void 0,delete this[a]}catch(b){}})}}),m.extend({propFix:{"for":"htmlFor","class":"className"},prop:function(a,b,c){var d,e,f,g=a.nodeType;if(a&&3!==g&&8!==g&&2!==g)return f=1!==g||!m.isXMLDoc(a),f&&(b=m.propFix[b]||b,e=m.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=m.find.attr(a,"tabindex");return b?parseInt(b,10):sb.test(a.nodeName)||tb.test(a.nodeName)&&a.href?0:-1}}}}),k.hrefNormalized||m.each(["href","src"],function(a,b){m.propHooks[b]={get:function(a){return a.getAttribute(b,4)}}}),k.optSelected||(m.propHooks.selected={get:function(a){var b=a.parentNode;return b&&(b.selectedIndex,b.parentNode&&b.parentNode.selectedIndex),null}}),m.each(["tabIndex","readOnly","maxLength","cellSpacing","cellPadding","rowSpan","colSpan","useMap","frameBorder","contentEditable"],function(){m.propFix[this.toLowerCase()]=this}),k.enctype||(m.propFix.enctype="encoding");var ub=/[\t\r\n\f]/g;m.fn.extend({addClass:function(a){var b,c,d,e,f,g,h=0,i=this.length,j="string"==typeof a&&a;if(m.isFunction(a))return this.each(function(b){m(this).addClass(a.call(this,b,this.className))});if(j)for(b=(a||"").match(E)||[];i>h;h++)if(c=this[h],d=1===c.nodeType&&(c.className?(" "+c.className+" ").replace(ub," "):" ")){f=0;while(e=b[f++])d.indexOf(" "+e+" ")<0&&(d+=e+" ");g=m.trim(d),c.className!==g&&(c.className=g)}return this},removeClass:function(a){var b,c,d,e,f,g,h=0,i=this.length,j=0===arguments.length||"string"==typeof a&&a;if(m.isFunction(a))return this.each(function(b){m(this).removeClass(a.call(this,b,this.className))});if(j)for(b=(a||"").match(E)||[];i>h;h++)if(c=this[h],d=1===c.nodeType&&(c.className?(" "+c.className+" ").replace(ub," "):"")){f=0;while(e=b[f++])while(d.indexOf(" "+e+" ")>=0)d=d.replace(" "+e+" "," ");g=a?m.trim(d):"",c.className!==g&&(c.className=g)}return this},toggleClass:function(a,b){var c=typeof a;return"boolean"==typeof b&&"string"===c?b?this.addClass(a):this.removeClass(a):this.each(m.isFunction(a)?function(c){m(this).toggleClass(a.call(this,c,this.className,b),b)}:function(){if("string"===c){var b,d=0,e=m(this),f=a.match(E)||[];while(b=f[d++])e.hasClass(b)?e.removeClass(b):e.addClass(b)}else(c===K||"boolean"===c)&&(this.className&&m._data(this,"__className__",this.className),this.className=this.className||a===!1?"":m._data(this,"__className__")||"")})},hasClass:function(a){for(var b=" "+a+" ",c=0,d=this.length;d>c;c++)if(1===this[c].nodeType&&(" "+this[c].className+" ").replace(ub," ").indexOf(b)>=0)return!0;return!1}}),m.each("blur focus focusin focusout load resize scroll unload click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup error contextmenu".split(" "),function(a,b){m.fn[b]=function(a,c){return arguments.length>0?this.on(b,null,a,c):this.trigger(b)}}),m.fn.extend({hover:function(a,b){return this.mouseenter(a).mouseleave(b||a)},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)}});var vb=m.now(),wb=/\?/,xb=/(,)|(\[|{)|(}|])|"(?:[^"\\\r\n]|\\["\\\/bfnrt]|\\u[\da-fA-F]{4})*"\s*:?|true|false|null|-?(?!0\d)\d+(?:\.\d+|)(?:[eE][+-]?\d+|)/g;m.parseJSON=function(b){if(a.JSON&&a.JSON.parse)return a.JSON.parse(b+"");var c,d=null,e=m.trim(b+"");return e&&!m.trim(e.replace(xb,function(a,b,e,f){return c&&b&&(d=0),0===d?a:(c=e||b,d+=!f-!e,"")}))?Function("return "+e)():m.error("Invalid JSON: "+b)},m.parseXML=function(b){var c,d;if(!b||"string"!=typeof b)return null;try{a.DOMParser?(d=new DOMParser,c=d.parseFromString(b,"text/xml")):(c=new ActiveXObject("Microsoft.XMLDOM"),c.async="false",c.loadXML(b))}catch(e){c=void 0}return c&&c.documentElement&&!c.getElementsByTagName("parsererror").length||m.error("Invalid XML: "+b),c};var yb,zb,Ab=/#.*$/,Bb=/([?&])_=[^&]*/,Cb=/^(.*?):[ \t]*([^\r\n]*)\r?$/gm,Db=/^(?:about|app|app-storage|.+-extension|file|res|widget):$/,Eb=/^(?:GET|HEAD)$/,Fb=/^\/\//,Gb=/^([\w.+-]+:)(?:\/\/(?:[^\/?#]*@|)([^\/?#:]*)(?::(\d+)|)|)/,Hb={},Ib={},Jb="*/".concat("*");try{zb=location.href}catch(Kb){zb=y.createElement("a"),zb.href="",zb=zb.href}yb=Gb.exec(zb.toLowerCase())||[];function Lb(a){return function(b,c){"string"!=typeof b&&(c=b,b="*");var d,e=0,f=b.toLowerCase().match(E)||[];if(m.isFunction(c))while(d=f[e++])"+"===d.charAt(0)?(d=d.slice(1)||"*",(a[d]=a[d]||[]).unshift(c)):(a[d]=a[d]||[]).push(c)}}function Mb(a,b,c,d){var e={},f=a===Ib;function g(h){var i;return e[h]=!0,m.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 Nb(a,b){var c,d,e=m.ajaxSettings.flatOptions||{};for(d in b)void 0!==b[d]&&((e[d]?a:c||(c={}))[d]=b[d]);return c&&m.extend(!0,a,c),a}function Ob(a,b,c){var d,e,f,g,h=a.contents,i=a.dataTypes;while("*"===i[0])i.shift(),void 0===e&&(e=a.mimeType||b.getResponseHeader("Content-Type"));if(e)for(g in h)if(h[g]&&h[g].test(e)){i.unshift(g);break}if(i[0]in c)f=i[0];else{for(g in c){if(!i[0]||a.converters[g+" "+i[0]]){f=g;break}d||(d=g)}f=f||d}return f?(f!==i[0]&&i.unshift(f),c[f]):void 0}function Pb(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}}m.extend({active:0,lastModified:{},etag:{},ajaxSettings:{url:zb,type:"GET",isLocal:Db.test(yb[1]),global:!0,processData:!0,async:!0,contentType:"application/x-www-form-urlencoded; charset=UTF-8",accepts:{"*":Jb,text:"text/plain",html:"text/html",xml:"application/xml, text/xml",json:"application/json, text/javascript"},contents:{xml:/xml/,html:/html/,json:/json/},responseFields:{xml:"responseXML",text:"responseText",json:"responseJSON"},converters:{"* text":String,"text html":!0,"text json":m.parseJSON,"text xml":m.parseXML},flatOptions:{url:!0,context:!0}},ajaxSetup:function(a,b){return b?Nb(Nb(a,m.ajaxSettings),b):Nb(m.ajaxSettings,a)},ajaxPrefilter:Lb(Hb),ajaxTransport:Lb(Ib),ajax:function(a,b){"object"==typeof a&&(b=a,a=void 0),b=b||{};var c,d,e,f,g,h,i,j,k=m.ajaxSetup({},b),l=k.context||k,n=k.context&&(l.nodeType||l.jquery)?m(l):m.event,o=m.Deferred(),p=m.Callbacks("once memory"),q=k.statusCode||{},r={},s={},t=0,u="canceled",v={readyState:0,getResponseHeader:function(a){var b;if(2===t){if(!j){j={};while(b=Cb.exec(f))j[b[1].toLowerCase()]=b[2]}b=j[a.toLowerCase()]}return null==b?null:b},getAllResponseHeaders:function(){return 2===t?f:null},setRequestHeader:function(a,b){var c=a.toLowerCase();return t||(a=s[c]=s[c]||a,r[a]=b),this},overrideMimeType:function(a){return t||(k.mimeType=a),this},statusCode:function(a){var b;if(a)if(2>t)for(b in a)q[b]=[q[b],a[b]];else v.always(a[v.status]);return this},abort:function(a){var b=a||u;return i&&i.abort(b),x(0,b),this}};if(o.promise(v).complete=p.add,v.success=v.done,v.error=v.fail,k.url=((a||k.url||zb)+"").replace(Ab,"").replace(Fb,yb[1]+"//"),k.type=b.method||b.type||k.method||k.type,k.dataTypes=m.trim(k.dataType||"*").toLowerCase().match(E)||[""],null==k.crossDomain&&(c=Gb.exec(k.url.toLowerCase()),k.crossDomain=!(!c||c[1]===yb[1]&&c[2]===yb[2]&&(c[3]||("http:"===c[1]?"80":"443"))===(yb[3]||("http:"===yb[1]?"80":"443")))),k.data&&k.processData&&"string"!=typeof k.data&&(k.data=m.param(k.data,k.traditional)),Mb(Hb,k,b,v),2===t)return v;h=m.event&&k.global,h&&0===m.active++&&m.event.trigger("ajaxStart"),k.type=k.type.toUpperCase(),k.hasContent=!Eb.test(k.type),e=k.url,k.hasContent||(k.data&&(e=k.url+=(wb.test(e)?"&":"?")+k.data,delete k.data),k.cache===!1&&(k.url=Bb.test(e)?e.replace(Bb,"$1_="+vb++):e+(wb.test(e)?"&":"?")+"_="+vb++)),k.ifModified&&(m.lastModified[e]&&v.setRequestHeader("If-Modified-Since",m.lastModified[e]),m.etag[e]&&v.setRequestHeader("If-None-Match",m.etag[e])),(k.data&&k.hasContent&&k.contentType!==!1||b.contentType)&&v.setRequestHeader("Content-Type",k.contentType),v.setRequestHeader("Accept",k.dataTypes[0]&&k.accepts[k.dataTypes[0]]?k.accepts[k.dataTypes[0]]+("*"!==k.dataTypes[0]?", "+Jb+"; q=0.01":""):k.accepts["*"]);for(d in k.headers)v.setRequestHeader(d,k.headers[d]);if(k.beforeSend&&(k.beforeSend.call(l,v,k)===!1||2===t))return v.abort();u="abort";for(d in{success:1,error:1,complete:1})v[d](k[d]);if(i=Mb(Ib,k,b,v)){v.readyState=1,h&&n.trigger("ajaxSend",[v,k]),k.async&&k.timeout>0&&(g=setTimeout(function(){v.abort("timeout")},k.timeout));try{t=1,i.send(r,x)}catch(w){if(!(2>t))throw w;x(-1,w)}}else x(-1,"No Transport");function x(a,b,c,d){var j,r,s,u,w,x=b;2!==t&&(t=2,g&&clearTimeout(g),i=void 0,f=d||"",v.readyState=a>0?4:0,j=a>=200&&300>a||304===a,c&&(u=Ob(k,v,c)),u=Pb(k,u,v,j),j?(k.ifModified&&(w=v.getResponseHeader("Last-Modified"),w&&(m.lastModified[e]=w),w=v.getResponseHeader("etag"),w&&(m.etag[e]=w)),204===a||"HEAD"===k.type?x="nocontent":304===a?x="notmodified":(x=u.state,r=u.data,s=u.error,j=!s)):(s=x,(a||!x)&&(x="error",0>a&&(a=0))),v.status=a,v.statusText=(b||x)+"",j?o.resolveWith(l,[r,x,v]):o.rejectWith(l,[v,x,s]),v.statusCode(q),q=void 0,h&&n.trigger(j?"ajaxSuccess":"ajaxError",[v,k,j?r:s]),p.fireWith(l,[v,x]),h&&(n.trigger("ajaxComplete",[v,k]),--m.active||m.event.trigger("ajaxStop")))}return v},getJSON:function(a,b,c){return m.get(a,b,c,"json")},getScript:function(a,b){return m.get(a,void 0,b,"script")}}),m.each(["get","post"],function(a,b){m[b]=function(a,c,d,e){return m.isFunction(c)&&(e=e||d,d=c,c=void 0),m.ajax({url:a,type:b,dataType:e,data:c,success:d})}}),m._evalUrl=function(a){return m.ajax({url:a,type:"GET",dataType:"script",async:!1,global:!1,"throws":!0})},m.fn.extend({wrapAll:function(a){if(m.isFunction(a))return this.each(function(b){m(this).wrapAll(a.call(this,b))});if(this[0]){var b=m(a,this[0].ownerDocument).eq(0).clone(!0);this[0].parentNode&&b.insertBefore(this[0]),b.map(function(){var a=this;while(a.firstChild&&1===a.firstChild.nodeType)a=a.firstChild;return a}).append(this)}return this},wrapInner:function(a){return this.each(m.isFunction(a)?function(b){m(this).wrapInner(a.call(this,b))}:function(){var b=m(this),c=b.contents();c.length?c.wrapAll(a):b.append(a)})},wrap:function(a){var b=m.isFunction(a);return this.each(function(c){m(this).wrapAll(b?a.call(this,c):a)})},unwrap:function(){return this.parent().each(function(){m.nodeName(this,"body")||m(this).replaceWith(this.childNodes)}).end()}}),m.expr.filters.hidden=function(a){return a.offsetWidth<=0&&a.offsetHeight<=0||!k.reliableHiddenOffsets()&&"none"===(a.style&&a.style.display||m.css(a,"display"))},m.expr.filters.visible=function(a){return!m.expr.filters.hidden(a)};var Qb=/%20/g,Rb=/\[\]$/,Sb=/\r?\n/g,Tb=/^(?:submit|button|image|reset|file)$/i,Ub=/^(?:input|select|textarea|keygen)/i;function Vb(a,b,c,d){var e;if(m.isArray(b))m.each(b,function(b,e){c||Rb.test(a)?d(a,e):Vb(a+"["+("object"==typeof e?b:"")+"]",e,c,d)});else if(c||"object"!==m.type(b))d(a,b);else for(e in b)Vb(a+"["+e+"]",b[e],c,d)}m.param=function(a,b){var c,d=[],e=function(a,b){b=m.isFunction(b)?b():null==b?"":b,d[d.length]=encodeURIComponent(a)+"="+encodeURIComponent(b)};if(void 0===b&&(b=m.ajaxSettings&&m.ajaxSettings.traditional),m.isArray(a)||a.jquery&&!m.isPlainObject(a))m.each(a,function(){e(this.name,this.value)});else for(c in a)Vb(c,a[c],b,e);return d.join("&").replace(Qb,"+")},m.fn.extend({serialize:function(){return m.param(this.serializeArray())},serializeArray:function(){return this.map(function(){var a=m.prop(this,"elements");return a?m.makeArray(a):this}).filter(function(){var a=this.type;return this.name&&!m(this).is(":disabled")&&Ub.test(this.nodeName)&&!Tb.test(a)&&(this.checked||!W.test(a))}).map(function(a,b){var c=m(this).val();return null==c?null:m.isArray(c)?m.map(c,function(a){return{name:b.name,value:a.replace(Sb,"\r\n")}}):{name:b.name,value:c.replace(Sb,"\r\n")}}).get()}}),m.ajaxSettings.xhr=void 0!==a.ActiveXObject?function(){return!this.isLocal&&/^(get|post|head|put|delete|options)$/i.test(this.type)&&Zb()||$b()}:Zb;var Wb=0,Xb={},Yb=m.ajaxSettings.xhr();a.attachEvent&&a.attachEvent("onunload",function(){for(var a in Xb)Xb[a](void 0,!0)}),k.cors=!!Yb&&"withCredentials"in Yb,Yb=k.ajax=!!Yb,Yb&&m.ajaxTransport(function(a){if(!a.crossDomain||k.cors){var b;return{send:function(c,d){var e,f=a.xhr(),g=++Wb;if(f.open(a.type,a.url,a.async,a.username,a.password),a.xhrFields)for(e in a.xhrFields)f[e]=a.xhrFields[e];a.mimeType&&f.overrideMimeType&&f.overrideMimeType(a.mimeType),a.crossDomain||c["X-Requested-With"]||(c["X-Requested-With"]="XMLHttpRequest");for(e in c)void 0!==c[e]&&f.setRequestHeader(e,c[e]+"");f.send(a.hasContent&&a.data||null),b=function(c,e){var h,i,j;if(b&&(e||4===f.readyState))if(delete Xb[g],b=void 0,f.onreadystatechange=m.noop,e)4!==f.readyState&&f.abort();else{j={},h=f.status,"string"==typeof f.responseText&&(j.text=f.responseText);try{i=f.statusText}catch(k){i=""}h||!a.isLocal||a.crossDomain?1223===h&&(h=204):h=j.text?200:404}j&&d(h,i,j,f.getAllResponseHeaders())},a.async?4===f.readyState?setTimeout(b):f.onreadystatechange=Xb[g]=b:b()},abort:function(){b&&b(void 0,!0)}}}});function Zb(){try{return new a.XMLHttpRequest}catch(b){}}function $b(){try{return new a.ActiveXObject("Microsoft.XMLHTTP")}catch(b){}}m.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/(?:java|ecma)script/},converters:{"text script":function(a){return m.globalEval(a),a}}}),m.ajaxPrefilter("script",function(a){void 0===a.cache&&(a.cache=!1),a.crossDomain&&(a.type="GET",a.global=!1)}),m.ajaxTransport("script",function(a){if(a.crossDomain){var b,c=y.head||m("head")[0]||y.documentElement;return{send:function(d,e){b=y.createElement("script"),b.async=!0,a.scriptCharset&&(b.charset=a.scriptCharset),b.src=a.url,b.onload=b.onreadystatechange=function(a,c){(c||!b.readyState||/loaded|complete/.test(b.readyState))&&(b.onload=b.onreadystatechange=null,b.parentNode&&b.parentNode.removeChild(b),b=null,c||e(200,"success"))},c.insertBefore(b,c.firstChild)},abort:function(){b&&b.onload(void 0,!0)}}}});var _b=[],ac=/(=)\?(?=&|$)|\?\?/;m.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var a=_b.pop()||m.expando+"_"+vb++;return this[a]=!0,a}}),m.ajaxPrefilter("json jsonp",function(b,c,d){var e,f,g,h=b.jsonp!==!1&&(ac.test(b.url)?"url":"string"==typeof b.data&&!(b.contentType||"").indexOf("application/x-www-form-urlencoded")&&ac.test(b.data)&&"data");return h||"jsonp"===b.dataTypes[0]?(e=b.jsonpCallback=m.isFunction(b.jsonpCallback)?b.jsonpCallback():b.jsonpCallback,h?b[h]=b[h].replace(ac,"$1"+e):b.jsonp!==!1&&(b.url+=(wb.test(b.url)?"&":"?")+b.jsonp+"="+e),b.converters["script json"]=function(){return g||m.error(e+" was not called"),g[0]},b.dataTypes[0]="json",f=a[e],a[e]=function(){g=arguments},d.always(function(){a[e]=f,b[e]&&(b.jsonpCallback=c.jsonpCallback,_b.push(e)),g&&m.isFunction(f)&&f(g[0]),g=f=void 0}),"script"):void 0}),m.parseHTML=function(a,b,c){if(!a||"string"!=typeof a)return null;"boolean"==typeof b&&(c=b,b=!1),b=b||y;var d=u.exec(a),e=!c&&[];return d?[b.createElement(d[1])]:(d=m.buildFragment([a],b,e),e&&e.length&&m(e).remove(),m.merge([],d.childNodes))};var bc=m.fn.load;m.fn.load=function(a,b,c){if("string"!=typeof a&&bc)return bc.apply(this,arguments);var d,e,f,g=this,h=a.indexOf(" ");return h>=0&&(d=m.trim(a.slice(h,a.length)),a=a.slice(0,h)),m.isFunction(b)?(c=b,b=void 0):b&&"object"==typeof b&&(f="POST"),g.length>0&&m.ajax({url:a,type:f,dataType:"html",data:b}).done(function(a){e=arguments,g.html(d?m("<div>").append(m.parseHTML(a)).find(d):a)}).complete(c&&function(a,b){g.each(c,e||[a.responseText,b,a])}),this},m.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(a,b){m.fn[b]=function(a){return this.on(b,a)}}),m.expr.filters.animated=function(a){return m.grep(m.timers,function(b){return a===b.elem}).length};var cc=a.document.documentElement;function dc(a){return m.isWindow(a)?a:9===a.nodeType?a.defaultView||a.parentWindow:!1}m.offset={setOffset:function(a,b,c){var d,e,f,g,h,i,j,k=m.css(a,"position"),l=m(a),n={};"static"===k&&(a.style.position="relative"),h=l.offset(),f=m.css(a,"top"),i=m.css(a,"left"),j=("absolute"===k||"fixed"===k)&&m.inArray("auto",[f,i])>-1,j?(d=l.position(),g=d.top,e=d.left):(g=parseFloat(f)||0,e=parseFloat(i)||0),m.isFunction(b)&&(b=b.call(a,c,h)),null!=b.top&&(n.top=b.top-h.top+g),null!=b.left&&(n.left=b.left-h.left+e),"using"in b?b.using.call(a,n):l.css(n)}},m.fn.extend({offset:function(a){if(arguments.length)return void 0===a?this:this.each(function(b){m.offset.setOffset(this,a,b)});var b,c,d={top:0,left:0},e=this[0],f=e&&e.ownerDocument;if(f)return b=f.documentElement,m.contains(b,e)?(typeof e.getBoundingClientRect!==K&&(d=e.getBoundingClientRect()),c=dc(f),{top:d.top+(c.pageYOffset||b.scrollTop)-(b.clientTop||0),left:d.left+(c.pageXOffset||b.scrollLeft)-(b.clientLeft||0)}):d},position:function(){if(this[0]){var a,b,c={top:0,left:0},d=this[0];return"fixed"===m.css(d,"position")?b=d.getBoundingClientRect():(a=this.offsetParent(),b=this.offset(),m.nodeName(a[0],"html")||(c=a.offset()),c.top+=m.css(a[0],"borderTopWidth",!0),c.left+=m.css(a[0],"borderLeftWidth",!0)),{top:b.top-c.top-m.css(d,"marginTop",!0),left:b.left-c.left-m.css(d,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){var a=this.offsetParent||cc;while(a&&!m.nodeName(a,"html")&&"static"===m.css(a,"position"))a=a.offsetParent;return a||cc})}}),m.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(a,b){var c=/Y/.test(b);m.fn[a]=function(d){return V(this,function(a,d,e){var f=dc(a);return void 0===e?f?b in f?f[b]:f.document.documentElement[d]:a[d]:void(f?f.scrollTo(c?m(f).scrollLeft():e,c?e:m(f).scrollTop()):a[d]=e)},a,d,arguments.length,null)}}),m.each(["top","left"],function(a,b){m.cssHooks[b]=La(k.pixelPosition,function(a,c){return c?(c=Ja(a,b),Ha.test(c)?m(a).position()[b]+"px":c):void 0})}),m.each({Height:"height",Width:"width"},function(a,b){m.each({padding:"inner"+a,content:b,"":"outer"+a},function(c,d){m.fn[d]=function(d,e){var f=arguments.length&&(c||"boolean"!=typeof d),g=c||(d===!0||e===!0?"margin":"border");return V(this,function(b,c,d){var e;return m.isWindow(b)?b.document.documentElement["client"+a]:9===b.nodeType?(e=b.documentElement,Math.max(b.body["scroll"+a],e["scroll"+a],b.body["offset"+a],e["offset"+a],e["client"+a])):void 0===d?m.css(b,c,g):m.style(b,c,d,g)},b,f?d:void 0,f,null)}})}),m.fn.size=function(){return this.length},m.fn.andSelf=m.fn.addBack,"function"==typeof define&&define.amd&&define("jquery",[],function(){return m});var ec=a.jQuery,fc=a.$;return m.noConflict=function(b){return a.$===m&&(a.$=fc),b&&a.jQuery===m&&(a.jQuery=ec),m},typeof b===K&&(a.jQuery=a.$=m),m}); diff --git a/_posts/2021-06-13-unreproducibility-detox/unreproducibility-detox_files/popper-2.6.0/popper.min.js b/_posts/2021-06-13-unreproducibility-detox/unreproducibility-detox_files/popper-2.6.0/popper.min.js new file mode 100644 index 0000000..6597294 --- /dev/null +++ b/_posts/2021-06-13-unreproducibility-detox/unreproducibility-detox_files/popper-2.6.0/popper.min.js @@ -0,0 +1,6 @@ +/** + * @popperjs/core v2.6.0 - MIT License + */ + +"use strict";!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e=e||self).Popper={})}(this,(function(e){function t(e){return{width:(e=e.getBoundingClientRect()).width,height:e.height,top:e.top,right:e.right,bottom:e.bottom,left:e.left,x:e.left,y:e.top}}function n(e){return"[object Window]"!==e.toString()?(e=e.ownerDocument)&&e.defaultView||window:e}function r(e){return{scrollLeft:(e=n(e)).pageXOffset,scrollTop:e.pageYOffset}}function o(e){return e instanceof n(e).Element||e instanceof Element}function i(e){return e instanceof n(e).HTMLElement||e instanceof HTMLElement}function a(e){return e?(e.nodeName||"").toLowerCase():null}function s(e){return((o(e)?e.ownerDocument:e.document)||window.document).documentElement}function f(e){return t(s(e)).left+r(e).scrollLeft}function c(e){return n(e).getComputedStyle(e)}function p(e){return e=c(e),/auto|scroll|overlay|hidden/.test(e.overflow+e.overflowY+e.overflowX)}function l(e,o,c){void 0===c&&(c=!1);var l=s(o);e=t(e);var u=i(o),d={scrollLeft:0,scrollTop:0},m={x:0,y:0};return(u||!u&&!c)&&(("body"!==a(o)||p(l))&&(d=o!==n(o)&&i(o)?{scrollLeft:o.scrollLeft,scrollTop:o.scrollTop}:r(o)),i(o)?((m=t(o)).x+=o.clientLeft,m.y+=o.clientTop):l&&(m.x=f(l))),{x:e.left+d.scrollLeft-m.x,y:e.top+d.scrollTop-m.y,width:e.width,height:e.height}}function u(e){return{x:e.offsetLeft,y:e.offsetTop,width:e.offsetWidth,height:e.offsetHeight}}function d(e){return"html"===a(e)?e:e.assignedSlot||e.parentNode||e.host||s(e)}function m(e,t){void 0===t&&(t=[]);var r=function e(t){return 0<=["html","body","#document"].indexOf(a(t))?t.ownerDocument.body:i(t)&&p(t)?t:e(d(t))}(e);e="body"===a(r);var o=n(r);return r=e?[o].concat(o.visualViewport||[],p(r)?r:[]):r,t=t.concat(r),e?t:t.concat(m(d(r)))}function h(e){if(!i(e)||"fixed"===c(e).position)return null;if(e=e.offsetParent){var t=s(e);if("body"===a(e)&&"static"===c(e).position&&"static"!==c(t).position)return t}return e}function g(e){for(var t=n(e),r=h(e);r&&0<=["table","td","th"].indexOf(a(r))&&"static"===c(r).position;)r=h(r);if(r&&"body"===a(r)&&"static"===c(r).position)return t;if(!r)e:{for(e=d(e);i(e)&&0>["html","body"].indexOf(a(e));){if("none"!==(r=c(e)).transform||"none"!==r.perspective||r.willChange&&"auto"!==r.willChange){r=e;break e}e=e.parentNode}r=null}return r||t}function v(e){var t=new Map,n=new Set,r=[];return e.forEach((function(e){t.set(e.name,e)})),e.forEach((function(e){n.has(e.name)||function e(o){n.add(o.name),[].concat(o.requires||[],o.requiresIfExists||[]).forEach((function(r){n.has(r)||(r=t.get(r))&&e(r)})),r.push(o)}(e)})),r}function b(e){var t;return function(){return t||(t=new Promise((function(n){Promise.resolve().then((function(){t=void 0,n(e())}))}))),t}}function y(e){return e.split("-")[0]}function O(e,t){var r,o=t.getRootNode&&t.getRootNode();if(e.contains(t))return!0;if((r=o)&&(r=o instanceof(r=n(o).ShadowRoot)||o instanceof ShadowRoot),r)do{if(t&&e.isSameNode(t))return!0;t=t.parentNode||t.host}while(t);return!1}function w(e){return Object.assign(Object.assign({},e),{},{left:e.x,top:e.y,right:e.x+e.width,bottom:e.y+e.height})}function x(e,o){if("viewport"===o){o=n(e);var a=s(e);o=o.visualViewport;var p=a.clientWidth;a=a.clientHeight;var l=0,u=0;o&&(p=o.width,a=o.height,/^((?!chrome|android).)*safari/i.test(navigator.userAgent)||(l=o.offsetLeft,u=o.offsetTop)),e=w(e={width:p,height:a,x:l+f(e),y:u})}else i(o)?((e=t(o)).top+=o.clientTop,e.left+=o.clientLeft,e.bottom=e.top+o.clientHeight,e.right=e.left+o.clientWidth,e.width=o.clientWidth,e.height=o.clientHeight,e.x=e.left,e.y=e.top):(u=s(e),e=s(u),l=r(u),o=u.ownerDocument.body,p=Math.max(e.scrollWidth,e.clientWidth,o?o.scrollWidth:0,o?o.clientWidth:0),a=Math.max(e.scrollHeight,e.clientHeight,o?o.scrollHeight:0,o?o.clientHeight:0),u=-l.scrollLeft+f(u),l=-l.scrollTop,"rtl"===c(o||e).direction&&(u+=Math.max(e.clientWidth,o?o.clientWidth:0)-p),e=w({width:p,height:a,x:u,y:l}));return e}function j(e,t,n){return t="clippingParents"===t?function(e){var t=m(d(e)),n=0<=["absolute","fixed"].indexOf(c(e).position)&&i(e)?g(e):e;return o(n)?t.filter((function(e){return o(e)&&O(e,n)&&"body"!==a(e)})):[]}(e):[].concat(t),(n=(n=[].concat(t,[n])).reduce((function(t,n){return n=x(e,n),t.top=Math.max(n.top,t.top),t.right=Math.min(n.right,t.right),t.bottom=Math.min(n.bottom,t.bottom),t.left=Math.max(n.left,t.left),t}),x(e,n[0]))).width=n.right-n.left,n.height=n.bottom-n.top,n.x=n.left,n.y=n.top,n}function M(e){return 0<=["top","bottom"].indexOf(e)?"x":"y"}function E(e){var t=e.reference,n=e.element,r=(e=e.placement)?y(e):null;e=e?e.split("-")[1]:null;var o=t.x+t.width/2-n.width/2,i=t.y+t.height/2-n.height/2;switch(r){case"top":o={x:o,y:t.y-n.height};break;case"bottom":o={x:o,y:t.y+t.height};break;case"right":o={x:t.x+t.width,y:i};break;case"left":o={x:t.x-n.width,y:i};break;default:o={x:t.x,y:t.y}}if(null!=(r=r?M(r):null))switch(i="y"===r?"height":"width",e){case"start":o[r]-=t[i]/2-n[i]/2;break;case"end":o[r]+=t[i]/2-n[i]/2}return o}function D(e){return Object.assign(Object.assign({},{top:0,right:0,bottom:0,left:0}),e)}function P(e,t){return t.reduce((function(t,n){return t[n]=e,t}),{})}function L(e,n){void 0===n&&(n={});var r=n;n=void 0===(n=r.placement)?e.placement:n;var i=r.boundary,a=void 0===i?"clippingParents":i,f=void 0===(i=r.rootBoundary)?"viewport":i;i=void 0===(i=r.elementContext)?"popper":i;var c=r.altBoundary,p=void 0!==c&&c;r=D("number"!=typeof(r=void 0===(r=r.padding)?0:r)?r:P(r,T));var l=e.elements.reference;c=e.rects.popper,a=j(o(p=e.elements[p?"popper"===i?"reference":"popper":i])?p:p.contextElement||s(e.elements.popper),a,f),p=E({reference:f=t(l),element:c,strategy:"absolute",placement:n}),c=w(Object.assign(Object.assign({},c),p)),f="popper"===i?c:f;var u={top:a.top-f.top+r.top,bottom:f.bottom-a.bottom+r.bottom,left:a.left-f.left+r.left,right:f.right-a.right+r.right};if(e=e.modifiersData.offset,"popper"===i&&e){var d=e[n];Object.keys(u).forEach((function(e){var t=0<=["right","bottom"].indexOf(e)?1:-1,n=0<=["top","bottom"].indexOf(e)?"y":"x";u[e]+=d[n]*t}))}return u}function k(){for(var e=arguments.length,t=Array(e),n=0;n<e;n++)t[n]=arguments[n];return!t.some((function(e){return!(e&&"function"==typeof e.getBoundingClientRect)}))}function B(e){void 0===e&&(e={});var t=e.defaultModifiers,n=void 0===t?[]:t,r=void 0===(e=e.defaultOptions)?V:e;return function(e,t,i){function a(){f.forEach((function(e){return e()})),f=[]}void 0===i&&(i=r);var s={placement:"bottom",orderedModifiers:[],options:Object.assign(Object.assign({},V),r),modifiersData:{},elements:{reference:e,popper:t},attributes:{},styles:{}},f=[],c=!1,p={state:s,setOptions:function(i){return a(),s.options=Object.assign(Object.assign(Object.assign({},r),s.options),i),s.scrollParents={reference:o(e)?m(e):e.contextElement?m(e.contextElement):[],popper:m(t)},i=function(e){var t=v(e);return N.reduce((function(e,n){return e.concat(t.filter((function(e){return e.phase===n})))}),[])}(function(e){var t=e.reduce((function(e,t){var n=e[t.name];return e[t.name]=n?Object.assign(Object.assign(Object.assign({},n),t),{},{options:Object.assign(Object.assign({},n.options),t.options),data:Object.assign(Object.assign({},n.data),t.data)}):t,e}),{});return Object.keys(t).map((function(e){return t[e]}))}([].concat(n,s.options.modifiers))),s.orderedModifiers=i.filter((function(e){return e.enabled})),s.orderedModifiers.forEach((function(e){var t=e.name,n=e.options;n=void 0===n?{}:n,"function"==typeof(e=e.effect)&&(t=e({state:s,name:t,instance:p,options:n}),f.push(t||function(){}))})),p.update()},forceUpdate:function(){if(!c){var e=s.elements,t=e.reference;if(k(t,e=e.popper))for(s.rects={reference:l(t,g(e),"fixed"===s.options.strategy),popper:u(e)},s.reset=!1,s.placement=s.options.placement,s.orderedModifiers.forEach((function(e){return s.modifiersData[e.name]=Object.assign({},e.data)})),t=0;t<s.orderedModifiers.length;t++)if(!0===s.reset)s.reset=!1,t=-1;else{var n=s.orderedModifiers[t];e=n.fn;var r=n.options;r=void 0===r?{}:r,n=n.name,"function"==typeof e&&(s=e({state:s,options:r,name:n,instance:p})||s)}}},update:b((function(){return new Promise((function(e){p.forceUpdate(),e(s)}))})),destroy:function(){a(),c=!0}};return k(e,t)?(p.setOptions(i).then((function(e){!c&&i.onFirstUpdate&&i.onFirstUpdate(e)})),p):p}}function W(e){var t,r=e.popper,o=e.popperRect,i=e.placement,a=e.offsets,f=e.position,c=e.gpuAcceleration,p=e.adaptive;e.roundOffsets?(e=window.devicePixelRatio||1,e={x:Math.round(a.x*e)/e||0,y:Math.round(a.y*e)/e||0}):e=a;var l=e;e=void 0===(e=l.x)?0:e,l=void 0===(l=l.y)?0:l;var u=a.hasOwnProperty("x");a=a.hasOwnProperty("y");var d,m="left",h="top",v=window;if(p){var b=g(r);b===n(r)&&(b=s(r)),"top"===i&&(h="bottom",l-=b.clientHeight-o.height,l*=c?1:-1),"left"===i&&(m="right",e-=b.clientWidth-o.width,e*=c?1:-1)}return r=Object.assign({position:f},p&&z),c?Object.assign(Object.assign({},r),{},((d={})[h]=a?"0":"",d[m]=u?"0":"",d.transform=2>(v.devicePixelRatio||1)?"translate("+e+"px, "+l+"px)":"translate3d("+e+"px, "+l+"px, 0)",d)):Object.assign(Object.assign({},r),{},((t={})[h]=a?l+"px":"",t[m]=u?e+"px":"",t.transform="",t))}function A(e){return e.replace(/left|right|bottom|top/g,(function(e){return G[e]}))}function H(e){return e.replace(/start|end/g,(function(e){return J[e]}))}function R(e,t,n){return void 0===n&&(n={x:0,y:0}),{top:e.top-t.height-n.y,right:e.right-t.width+n.x,bottom:e.bottom-t.height+n.y,left:e.left-t.width-n.x}}function S(e){return["top","right","bottom","left"].some((function(t){return 0<=e[t]}))}var T=["top","bottom","right","left"],q=T.reduce((function(e,t){return e.concat([t+"-start",t+"-end"])}),[]),C=[].concat(T,["auto"]).reduce((function(e,t){return e.concat([t,t+"-start",t+"-end"])}),[]),N="beforeRead read afterRead beforeMain main afterMain beforeWrite write afterWrite".split(" "),V={placement:"bottom",modifiers:[],strategy:"absolute"},I={passive:!0},_={name:"eventListeners",enabled:!0,phase:"write",fn:function(){},effect:function(e){var t=e.state,r=e.instance,o=(e=e.options).scroll,i=void 0===o||o,a=void 0===(e=e.resize)||e,s=n(t.elements.popper),f=[].concat(t.scrollParents.reference,t.scrollParents.popper);return i&&f.forEach((function(e){e.addEventListener("scroll",r.update,I)})),a&&s.addEventListener("resize",r.update,I),function(){i&&f.forEach((function(e){e.removeEventListener("scroll",r.update,I)})),a&&s.removeEventListener("resize",r.update,I)}},data:{}},U={name:"popperOffsets",enabled:!0,phase:"read",fn:function(e){var t=e.state;t.modifiersData[e.name]=E({reference:t.rects.reference,element:t.rects.popper,strategy:"absolute",placement:t.placement})},data:{}},z={top:"auto",right:"auto",bottom:"auto",left:"auto"},F={name:"computeStyles",enabled:!0,phase:"beforeWrite",fn:function(e){var t=e.state,n=e.options;e=void 0===(e=n.gpuAcceleration)||e;var r=n.adaptive;r=void 0===r||r,n=void 0===(n=n.roundOffsets)||n,e={placement:y(t.placement),popper:t.elements.popper,popperRect:t.rects.popper,gpuAcceleration:e},null!=t.modifiersData.popperOffsets&&(t.styles.popper=Object.assign(Object.assign({},t.styles.popper),W(Object.assign(Object.assign({},e),{},{offsets:t.modifiersData.popperOffsets,position:t.options.strategy,adaptive:r,roundOffsets:n})))),null!=t.modifiersData.arrow&&(t.styles.arrow=Object.assign(Object.assign({},t.styles.arrow),W(Object.assign(Object.assign({},e),{},{offsets:t.modifiersData.arrow,position:"absolute",adaptive:!1,roundOffsets:n})))),t.attributes.popper=Object.assign(Object.assign({},t.attributes.popper),{},{"data-popper-placement":t.placement})},data:{}},X={name:"applyStyles",enabled:!0,phase:"write",fn:function(e){var t=e.state;Object.keys(t.elements).forEach((function(e){var n=t.styles[e]||{},r=t.attributes[e]||{},o=t.elements[e];i(o)&&a(o)&&(Object.assign(o.style,n),Object.keys(r).forEach((function(e){var t=r[e];!1===t?o.removeAttribute(e):o.setAttribute(e,!0===t?"":t)})))}))},effect:function(e){var t=e.state,n={popper:{position:t.options.strategy,left:"0",top:"0",margin:"0"},arrow:{position:"absolute"},reference:{}};return Object.assign(t.elements.popper.style,n.popper),t.elements.arrow&&Object.assign(t.elements.arrow.style,n.arrow),function(){Object.keys(t.elements).forEach((function(e){var r=t.elements[e],o=t.attributes[e]||{};e=Object.keys(t.styles.hasOwnProperty(e)?t.styles[e]:n[e]).reduce((function(e,t){return e[t]="",e}),{}),i(r)&&a(r)&&(Object.assign(r.style,e),Object.keys(o).forEach((function(e){r.removeAttribute(e)})))}))}},requires:["computeStyles"]},Y={name:"offset",enabled:!0,phase:"main",requires:["popperOffsets"],fn:function(e){var t=e.state,n=e.name,r=void 0===(e=e.options.offset)?[0,0]:e,o=(e=C.reduce((function(e,n){var o=t.rects,i=y(n),a=0<=["left","top"].indexOf(i)?-1:1,s="function"==typeof r?r(Object.assign(Object.assign({},o),{},{placement:n})):r;return o=(o=s[0])||0,s=((s=s[1])||0)*a,i=0<=["left","right"].indexOf(i)?{x:s,y:o}:{x:o,y:s},e[n]=i,e}),{}))[t.placement],i=o.x;o=o.y,null!=t.modifiersData.popperOffsets&&(t.modifiersData.popperOffsets.x+=i,t.modifiersData.popperOffsets.y+=o),t.modifiersData[n]=e}},G={left:"right",right:"left",bottom:"top",top:"bottom"},J={start:"end",end:"start"},K={name:"flip",enabled:!0,phase:"main",fn:function(e){var t=e.state,n=e.options;if(e=e.name,!t.modifiersData[e]._skip){var r=n.mainAxis;r=void 0===r||r;var o=n.altAxis;o=void 0===o||o;var i=n.fallbackPlacements,a=n.padding,s=n.boundary,f=n.rootBoundary,c=n.altBoundary,p=n.flipVariations,l=void 0===p||p,u=n.allowedAutoPlacements;p=y(n=t.options.placement),i=i||(p!==n&&l?function(e){if("auto"===y(e))return[];var t=A(e);return[H(e),t,H(t)]}(n):[A(n)]);var d=[n].concat(i).reduce((function(e,n){return e.concat("auto"===y(n)?function(e,t){void 0===t&&(t={});var n=t.boundary,r=t.rootBoundary,o=t.padding,i=t.flipVariations,a=t.allowedAutoPlacements,s=void 0===a?C:a,f=t.placement.split("-")[1];0===(i=(t=f?i?q:q.filter((function(e){return e.split("-")[1]===f})):T).filter((function(e){return 0<=s.indexOf(e)}))).length&&(i=t);var c=i.reduce((function(t,i){return t[i]=L(e,{placement:i,boundary:n,rootBoundary:r,padding:o})[y(i)],t}),{});return Object.keys(c).sort((function(e,t){return c[e]-c[t]}))}(t,{placement:n,boundary:s,rootBoundary:f,padding:a,flipVariations:l,allowedAutoPlacements:u}):n)}),[]);n=t.rects.reference,i=t.rects.popper;var m=new Map;p=!0;for(var h=d[0],g=0;g<d.length;g++){var v=d[g],b=y(v),O="start"===v.split("-")[1],w=0<=["top","bottom"].indexOf(b),x=w?"width":"height",j=L(t,{placement:v,boundary:s,rootBoundary:f,altBoundary:c,padding:a});if(O=w?O?"right":"left":O?"bottom":"top",n[x]>i[x]&&(O=A(O)),x=A(O),w=[],r&&w.push(0>=j[b]),o&&w.push(0>=j[O],0>=j[x]),w.every((function(e){return e}))){h=v,p=!1;break}m.set(v,w)}if(p)for(r=function(e){var t=d.find((function(t){if(t=m.get(t))return t.slice(0,e).every((function(e){return e}))}));if(t)return h=t,"break"},o=l?3:1;0<o&&"break"!==r(o);o--);t.placement!==h&&(t.modifiersData[e]._skip=!0,t.placement=h,t.reset=!0)}},requiresIfExists:["offset"],data:{_skip:!1}},Q={name:"preventOverflow",enabled:!0,phase:"main",fn:function(e){var t=e.state,n=e.options;e=e.name;var r=n.mainAxis,o=void 0===r||r;r=void 0!==(r=n.altAxis)&&r;var i=n.tether;i=void 0===i||i;var a=n.tetherOffset,s=void 0===a?0:a;n=L(t,{boundary:n.boundary,rootBoundary:n.rootBoundary,padding:n.padding,altBoundary:n.altBoundary}),a=y(t.placement);var f=t.placement.split("-")[1],c=!f,p=M(a);a="x"===p?"y":"x";var l=t.modifiersData.popperOffsets,d=t.rects.reference,m=t.rects.popper,h="function"==typeof s?s(Object.assign(Object.assign({},t.rects),{},{placement:t.placement})):s;if(s={x:0,y:0},l){if(o){var v="y"===p?"top":"left",b="y"===p?"bottom":"right",O="y"===p?"height":"width";o=l[p];var w=l[p]+n[v],x=l[p]-n[b],j=i?-m[O]/2:0,E="start"===f?d[O]:m[O];f="start"===f?-m[O]:-d[O],m=t.elements.arrow,m=i&&m?u(m):{width:0,height:0};var D=t.modifiersData["arrow#persistent"]?t.modifiersData["arrow#persistent"].padding:{top:0,right:0,bottom:0,left:0};v=D[v],b=D[b],m=Math.max(0,Math.min(d[O],m[O])),E=c?d[O]/2-j-m-v-h:E-m-v-h,c=c?-d[O]/2+j+m+b+h:f+m+b+h,h=t.elements.arrow&&g(t.elements.arrow),d=t.modifiersData.offset?t.modifiersData.offset[t.placement][p]:0,h=l[p]+E-d-(h?"y"===p?h.clientTop||0:h.clientLeft||0:0),c=l[p]+c-d,i=Math.max(i?Math.min(w,h):w,Math.min(o,i?Math.max(x,c):x)),l[p]=i,s[p]=i-o}r&&(r=l[a],i=Math.max(r+n["x"===p?"top":"left"],Math.min(r,r-n["x"===p?"bottom":"right"])),l[a]=i,s[a]=i-r),t.modifiersData[e]=s}},requiresIfExists:["offset"]},Z={name:"arrow",enabled:!0,phase:"main",fn:function(e){var t,n=e.state;e=e.name;var r=n.elements.arrow,o=n.modifiersData.popperOffsets,i=y(n.placement),a=M(i);if(i=0<=["left","right"].indexOf(i)?"height":"width",r&&o){var s=n.modifiersData[e+"#persistent"].padding,f=u(r),c="y"===a?"top":"left",p="y"===a?"bottom":"right",l=n.rects.reference[i]+n.rects.reference[a]-o[a]-n.rects.popper[i];o=o[a]-n.rects.reference[a],l=(r=(r=g(r))?"y"===a?r.clientHeight||0:r.clientWidth||0:0)/2-f[i]/2+(l/2-o/2),i=Math.max(s[c],Math.min(l,r-f[i]-s[p])),n.modifiersData[e]=((t={})[a]=i,t.centerOffset=i-l,t)}},effect:function(e){var t=e.state,n=e.options;e=e.name;var r=n.element;if(r=void 0===r?"[data-popper-arrow]":r,n=void 0===(n=n.padding)?0:n,null!=r){if("string"==typeof r&&!(r=t.elements.popper.querySelector(r)))return;O(t.elements.popper,r)&&(t.elements.arrow=r,t.modifiersData[e+"#persistent"]={padding:D("number"!=typeof n?n:P(n,T))})}},requires:["popperOffsets"],requiresIfExists:["preventOverflow"]},$={name:"hide",enabled:!0,phase:"main",requiresIfExists:["preventOverflow"],fn:function(e){var t=e.state;e=e.name;var n=t.rects.reference,r=t.rects.popper,o=t.modifiersData.preventOverflow,i=L(t,{elementContext:"reference"}),a=L(t,{altBoundary:!0});n=R(i,n),r=R(a,r,o),o=S(n),a=S(r),t.modifiersData[e]={referenceClippingOffsets:n,popperEscapeOffsets:r,isReferenceHidden:o,hasPopperEscaped:a},t.attributes.popper=Object.assign(Object.assign({},t.attributes.popper),{},{"data-popper-reference-hidden":o,"data-popper-escaped":a})}},ee=B({defaultModifiers:[_,U,F,X]}),te=[_,U,F,X,Y,K,Q,Z,$],ne=B({defaultModifiers:te});e.applyStyles=X,e.arrow=Z,e.computeStyles=F,e.createPopper=ne,e.createPopperLite=ee,e.defaultModifiers=te,e.detectOverflow=L,e.eventListeners=_,e.flip=K,e.hide=$,e.offset=Y,e.popperGenerator=B,e.popperOffsets=U,e.preventOverflow=Q,Object.defineProperty(e,"__esModule",{value:!0})})); +//# sourceMappingURL=popper.min.js.map diff --git a/_posts/2021-06-13-unreproducibility-detox/unreproducibility-detox_files/tippy-6.2.7/tippy-bundle.umd.min.js b/_posts/2021-06-13-unreproducibility-detox/unreproducibility-detox_files/tippy-6.2.7/tippy-bundle.umd.min.js new file mode 100644 index 0000000..a53c789 --- /dev/null +++ b/_posts/2021-06-13-unreproducibility-detox/unreproducibility-detox_files/tippy-6.2.7/tippy-bundle.umd.min.js @@ -0,0 +1,2 @@ +!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e(require("@popperjs/core")):"function"==typeof define&&define.amd?define(["@popperjs/core"],e):(t=t||self).tippy=e(t.Popper)}(this,(function(t){"use strict";var e="undefined"!=typeof window&&"undefined"!=typeof document,n=e?navigator.userAgent:"",r=/MSIE |Trident\//.test(n),i={passive:!0,capture:!0};function o(t,e,n){if(Array.isArray(t)){var r=t[e];return null==r?Array.isArray(n)?n[e]:n:r}return t}function a(t,e){var n={}.toString.call(t);return 0===n.indexOf("[object")&&n.indexOf(e+"]")>-1}function s(t,e){return"function"==typeof t?t.apply(void 0,e):t}function u(t,e){return 0===e?t:function(r){clearTimeout(n),n=setTimeout((function(){t(r)}),e)};var n}function c(t,e){var n=Object.assign({},t);return e.forEach((function(t){delete n[t]})),n}function p(t){return[].concat(t)}function f(t,e){-1===t.indexOf(e)&&t.push(e)}function l(t){return t.split("-")[0]}function d(t){return[].slice.call(t)}function v(){return document.createElement("div")}function m(t){return["Element","Fragment"].some((function(e){return a(t,e)}))}function g(t){return a(t,"MouseEvent")}function h(t){return!(!t||!t._tippy||t._tippy.reference!==t)}function b(t){return m(t)?[t]:function(t){return a(t,"NodeList")}(t)?d(t):Array.isArray(t)?t:d(document.querySelectorAll(t))}function y(t,e){t.forEach((function(t){t&&(t.style.transitionDuration=e+"ms")}))}function x(t,e){t.forEach((function(t){t&&t.setAttribute("data-state",e)}))}function w(t){var e=p(t)[0];return e&&e.ownerDocument||document}function E(t,e,n){var r=e+"EventListener";["transitionend","webkitTransitionEnd"].forEach((function(e){t[r](e,n)}))}var T={isTouch:!1},C=0;function A(){T.isTouch||(T.isTouch=!0,window.performance&&document.addEventListener("mousemove",O))}function O(){var t=performance.now();t-C<20&&(T.isTouch=!1,document.removeEventListener("mousemove",O)),C=t}function L(){var t=document.activeElement;if(h(t)){var e=t._tippy;t.blur&&!e.state.isVisible&&t.blur()}}var D=Object.assign({appendTo:function(){return document.body},aria:{content:"auto",expanded:"auto"},delay:0,duration:[300,250],getReferenceClientRect:null,hideOnClick:!0,ignoreAttributes:!1,interactive:!1,interactiveBorder:2,interactiveDebounce:0,moveTransition:"",offset:[0,10],onAfterUpdate:function(){},onBeforeUpdate:function(){},onCreate:function(){},onDestroy:function(){},onHidden:function(){},onHide:function(){},onMount:function(){},onShow:function(){},onShown:function(){},onTrigger:function(){},onUntrigger:function(){},onClickOutside:function(){},placement:"top",plugins:[],popperOptions:{},render:null,showOnCreate:!1,touch:!0,trigger:"mouseenter focus",triggerTarget:null},{animateFill:!1,followCursor:!1,inlinePositioning:!1,sticky:!1},{},{allowHTML:!1,animation:"fade",arrow:!0,content:"",inertia:!1,maxWidth:350,role:"tooltip",theme:"",zIndex:9999}),k=Object.keys(D);function R(t){var e=(t.plugins||[]).reduce((function(e,n){var r=n.name,i=n.defaultValue;return r&&(e[r]=void 0!==t[r]?t[r]:i),e}),{});return Object.assign({},t,{},e)}function M(t,e){var n=Object.assign({},e,{content:s(e.content,[t])},e.ignoreAttributes?{}:function(t,e){return(e?Object.keys(R(Object.assign({},D,{plugins:e}))):k).reduce((function(e,n){var r=(t.getAttribute("data-tippy-"+n)||"").trim();if(!r)return e;if("content"===n)e[n]=r;else try{e[n]=JSON.parse(r)}catch(t){e[n]=r}return e}),{})}(t,e.plugins));return n.aria=Object.assign({},D.aria,{},n.aria),n.aria={expanded:"auto"===n.aria.expanded?e.interactive:n.aria.expanded,content:"auto"===n.aria.content?e.interactive?null:"describedby":n.aria.content},n}function P(t,e){t.innerHTML=e}function V(t){var e=v();return!0===t?e.className="tippy-arrow":(e.className="tippy-svg-arrow",m(t)?e.appendChild(t):P(e,t)),e}function j(t,e){m(e.content)?(P(t,""),t.appendChild(e.content)):"function"!=typeof e.content&&(e.allowHTML?P(t,e.content):t.textContent=e.content)}function I(t){var e=t.firstElementChild,n=d(e.children);return{box:e,content:n.find((function(t){return t.classList.contains("tippy-content")})),arrow:n.find((function(t){return t.classList.contains("tippy-arrow")||t.classList.contains("tippy-svg-arrow")})),backdrop:n.find((function(t){return t.classList.contains("tippy-backdrop")}))}}function S(t){var e=v(),n=v();n.className="tippy-box",n.setAttribute("data-state","hidden"),n.setAttribute("tabindex","-1");var r=v();function i(n,r){var i=I(e),o=i.box,a=i.content,s=i.arrow;r.theme?o.setAttribute("data-theme",r.theme):o.removeAttribute("data-theme"),"string"==typeof r.animation?o.setAttribute("data-animation",r.animation):o.removeAttribute("data-animation"),r.inertia?o.setAttribute("data-inertia",""):o.removeAttribute("data-inertia"),o.style.maxWidth="number"==typeof r.maxWidth?r.maxWidth+"px":r.maxWidth,r.role?o.setAttribute("role",r.role):o.removeAttribute("role"),n.content===r.content&&n.allowHTML===r.allowHTML||j(a,t.props),r.arrow?s?n.arrow!==r.arrow&&(o.removeChild(s),o.appendChild(V(r.arrow))):o.appendChild(V(r.arrow)):s&&o.removeChild(s)}return r.className="tippy-content",r.setAttribute("data-state","hidden"),j(r,t.props),e.appendChild(n),n.appendChild(r),i(t.props,t.props),{popper:e,onUpdate:i}}S.$$tippy=!0;var B=1,H=[],N=[];function U(e,n){var a,c,m,h,b,C,A,O,L,k=M(e,Object.assign({},D,{},R((a=n,Object.keys(a).reduce((function(t,e){return void 0!==a[e]&&(t[e]=a[e]),t}),{}))))),P=!1,V=!1,j=!1,S=!1,U=[],_=u(bt,k.interactiveDebounce),z=B++,F=(L=k.plugins).filter((function(t,e){return L.indexOf(t)===e})),W={id:z,reference:e,popper:v(),popperInstance:null,props:k,state:{isEnabled:!0,isVisible:!1,isDestroyed:!1,isMounted:!1,isShown:!1},plugins:F,clearDelayTimeouts:function(){clearTimeout(c),clearTimeout(m),cancelAnimationFrame(h)},setProps:function(t){if(W.state.isDestroyed)return;it("onBeforeUpdate",[W,t]),gt();var n=W.props,r=M(e,Object.assign({},W.props,{},t,{ignoreAttributes:!0}));W.props=r,mt(),n.interactiveDebounce!==r.interactiveDebounce&&(st(),_=u(bt,r.interactiveDebounce));n.triggerTarget&&!r.triggerTarget?p(n.triggerTarget).forEach((function(t){t.removeAttribute("aria-expanded")})):r.triggerTarget&&e.removeAttribute("aria-expanded");at(),rt(),q&&q(n,r);W.popperInstance&&(Et(),Ct().forEach((function(t){requestAnimationFrame(t._tippy.popperInstance.forceUpdate)})));it("onAfterUpdate",[W,t])},setContent:function(t){W.setProps({content:t})},show:function(){var t=W.state.isVisible,e=W.state.isDestroyed,n=!W.state.isEnabled,r=T.isTouch&&!W.props.touch,i=o(W.props.duration,0,D.duration);if(t||e||n||r)return;if(Z().hasAttribute("disabled"))return;if(it("onShow",[W],!1),!1===W.props.onShow(W))return;W.state.isVisible=!0,Q()&&(Y.style.visibility="visible");rt(),ft(),W.state.isMounted||(Y.style.transition="none");if(Q()){var a=et(),u=a.box,c=a.content;y([u,c],0)}A=function(){if(W.state.isVisible&&!S){if(S=!0,Y.offsetHeight,Y.style.transition=W.props.moveTransition,Q()&&W.props.animation){var t=et(),e=t.box,n=t.content;y([e,n],i),x([e,n],"visible")}ot(),at(),f(N,W),W.state.isMounted=!0,it("onMount",[W]),W.props.animation&&Q()&&function(t,e){dt(t,e)}(i,(function(){W.state.isShown=!0,it("onShown",[W])}))}},function(){var t,e=W.props.appendTo,n=Z();t=W.props.interactive&&e===D.appendTo||"parent"===e?n.parentNode:s(e,[n]);t.contains(Y)||t.appendChild(Y);Et()}()},hide:function(){var t=!W.state.isVisible,e=W.state.isDestroyed,n=!W.state.isEnabled,r=o(W.props.duration,1,D.duration);if(t||e||n)return;if(it("onHide",[W],!1),!1===W.props.onHide(W))return;W.state.isVisible=!1,W.state.isShown=!1,S=!1,P=!1,Q()&&(Y.style.visibility="hidden");if(st(),lt(),rt(),Q()){var i=et(),a=i.box,s=i.content;W.props.animation&&(y([a,s],r),x([a,s],"hidden"))}ot(),at(),W.props.animation?Q()&&function(t,e){dt(t,(function(){!W.state.isVisible&&Y.parentNode&&Y.parentNode.contains(Y)&&e()}))}(r,W.unmount):W.unmount()},hideWithInteractivity:function(t){tt().addEventListener("mousemove",_),f(H,_),_(t)},enable:function(){W.state.isEnabled=!0},disable:function(){W.hide(),W.state.isEnabled=!1},unmount:function(){W.state.isVisible&&W.hide();if(!W.state.isMounted)return;Tt(),Ct().forEach((function(t){t._tippy.unmount()})),Y.parentNode&&Y.parentNode.removeChild(Y);N=N.filter((function(t){return t!==W})),W.state.isMounted=!1,it("onHidden",[W])},destroy:function(){if(W.state.isDestroyed)return;W.clearDelayTimeouts(),W.unmount(),gt(),delete e._tippy,W.state.isDestroyed=!0,it("onDestroy",[W])}};if(!k.render)return W;var X=k.render(W),Y=X.popper,q=X.onUpdate;Y.setAttribute("data-tippy-root",""),Y.id="tippy-"+W.id,W.popper=Y,e._tippy=W,Y._tippy=W;var $=F.map((function(t){return t.fn(W)})),J=e.hasAttribute("aria-expanded");return mt(),at(),rt(),it("onCreate",[W]),k.showOnCreate&&At(),Y.addEventListener("mouseenter",(function(){W.props.interactive&&W.state.isVisible&&W.clearDelayTimeouts()})),Y.addEventListener("mouseleave",(function(t){W.props.interactive&&W.props.trigger.indexOf("mouseenter")>=0&&(tt().addEventListener("mousemove",_),_(t))})),W;function G(){var t=W.props.touch;return Array.isArray(t)?t:[t,0]}function K(){return"hold"===G()[0]}function Q(){var t;return!!(null==(t=W.props.render)?void 0:t.$$tippy)}function Z(){return O||e}function tt(){var t=Z().parentNode;return t?w(t):document}function et(){return I(Y)}function nt(t){return W.state.isMounted&&!W.state.isVisible||T.isTouch||b&&"focus"===b.type?0:o(W.props.delay,t?0:1,D.delay)}function rt(){Y.style.pointerEvents=W.props.interactive&&W.state.isVisible?"":"none",Y.style.zIndex=""+W.props.zIndex}function it(t,e,n){var r;(void 0===n&&(n=!0),$.forEach((function(n){n[t]&&n[t].apply(void 0,e)})),n)&&(r=W.props)[t].apply(r,e)}function ot(){var t=W.props.aria;if(t.content){var n="aria-"+t.content,r=Y.id;p(W.props.triggerTarget||e).forEach((function(t){var e=t.getAttribute(n);if(W.state.isVisible)t.setAttribute(n,e?e+" "+r:r);else{var i=e&&e.replace(r,"").trim();i?t.setAttribute(n,i):t.removeAttribute(n)}}))}}function at(){!J&&W.props.aria.expanded&&p(W.props.triggerTarget||e).forEach((function(t){W.props.interactive?t.setAttribute("aria-expanded",W.state.isVisible&&t===Z()?"true":"false"):t.removeAttribute("aria-expanded")}))}function st(){tt().removeEventListener("mousemove",_),H=H.filter((function(t){return t!==_}))}function ut(t){if(!(T.isTouch&&(j||"mousedown"===t.type)||W.props.interactive&&Y.contains(t.target))){if(Z().contains(t.target)){if(T.isTouch)return;if(W.state.isVisible&&W.props.trigger.indexOf("click")>=0)return}else it("onClickOutside",[W,t]);!0===W.props.hideOnClick&&(W.clearDelayTimeouts(),W.hide(),V=!0,setTimeout((function(){V=!1})),W.state.isMounted||lt())}}function ct(){j=!0}function pt(){j=!1}function ft(){var t=tt();t.addEventListener("mousedown",ut,!0),t.addEventListener("touchend",ut,i),t.addEventListener("touchstart",pt,i),t.addEventListener("touchmove",ct,i)}function lt(){var t=tt();t.removeEventListener("mousedown",ut,!0),t.removeEventListener("touchend",ut,i),t.removeEventListener("touchstart",pt,i),t.removeEventListener("touchmove",ct,i)}function dt(t,e){var n=et().box;function r(t){t.target===n&&(E(n,"remove",r),e())}if(0===t)return e();E(n,"remove",C),E(n,"add",r),C=r}function vt(t,n,r){void 0===r&&(r=!1),p(W.props.triggerTarget||e).forEach((function(e){e.addEventListener(t,n,r),U.push({node:e,eventType:t,handler:n,options:r})}))}function mt(){var t;K()&&(vt("touchstart",ht,{passive:!0}),vt("touchend",yt,{passive:!0})),(t=W.props.trigger,t.split(/\s+/).filter(Boolean)).forEach((function(t){if("manual"!==t)switch(vt(t,ht),t){case"mouseenter":vt("mouseleave",yt);break;case"focus":vt(r?"focusout":"blur",xt);break;case"focusin":vt("focusout",xt)}}))}function gt(){U.forEach((function(t){var e=t.node,n=t.eventType,r=t.handler,i=t.options;e.removeEventListener(n,r,i)})),U=[]}function ht(t){var e,n=!1;if(W.state.isEnabled&&!wt(t)&&!V){var r="focus"===(null==(e=b)?void 0:e.type);b=t,O=t.currentTarget,at(),!W.state.isVisible&&g(t)&&H.forEach((function(e){return e(t)})),"click"===t.type&&(W.props.trigger.indexOf("mouseenter")<0||P)&&!1!==W.props.hideOnClick&&W.state.isVisible?n=!0:At(t),"click"===t.type&&(P=!n),n&&!r&&Ot(t)}}function bt(t){var e=t.target,n=Z().contains(e)||Y.contains(e);"mousemove"===t.type&&n||function(t,e){var n=e.clientX,r=e.clientY;return t.every((function(t){var e=t.popperRect,i=t.popperState,o=t.props.interactiveBorder,a=l(i.placement),s=i.modifiersData.offset;if(!s)return!0;var u="bottom"===a?s.top.y:0,c="top"===a?s.bottom.y:0,p="right"===a?s.left.x:0,f="left"===a?s.right.x:0,d=e.top-r+u>o,v=r-e.bottom-c>o,m=e.left-n+p>o,g=n-e.right-f>o;return d||v||m||g}))}(Ct().concat(Y).map((function(t){var e,n=null==(e=t._tippy.popperInstance)?void 0:e.state;return n?{popperRect:t.getBoundingClientRect(),popperState:n,props:k}:null})).filter(Boolean),t)&&(st(),Ot(t))}function yt(t){wt(t)||W.props.trigger.indexOf("click")>=0&&P||(W.props.interactive?W.hideWithInteractivity(t):Ot(t))}function xt(t){W.props.trigger.indexOf("focusin")<0&&t.target!==Z()||W.props.interactive&&t.relatedTarget&&Y.contains(t.relatedTarget)||Ot(t)}function wt(t){return!!T.isTouch&&K()!==t.type.indexOf("touch")>=0}function Et(){Tt();var n=W.props,r=n.popperOptions,i=n.placement,o=n.offset,a=n.getReferenceClientRect,s=n.moveTransition,u=Q()?I(Y).arrow:null,c=a?{getBoundingClientRect:a,contextElement:a.contextElement||Z()}:e,p=[{name:"offset",options:{offset:o}},{name:"preventOverflow",options:{padding:{top:2,bottom:2,left:5,right:5}}},{name:"flip",options:{padding:5}},{name:"computeStyles",options:{adaptive:!s}},{name:"$$tippy",enabled:!0,phase:"beforeWrite",requires:["computeStyles"],fn:function(t){var e=t.state;if(Q()){var n=et().box;["placement","reference-hidden","escaped"].forEach((function(t){"placement"===t?n.setAttribute("data-placement",e.placement):e.attributes.popper["data-popper-"+t]?n.setAttribute("data-"+t,""):n.removeAttribute("data-"+t)})),e.attributes.popper={}}}}];Q()&&u&&p.push({name:"arrow",options:{element:u,padding:3}}),p.push.apply(p,(null==r?void 0:r.modifiers)||[]),W.popperInstance=t.createPopper(c,Y,Object.assign({},r,{placement:i,onFirstUpdate:A,modifiers:p}))}function Tt(){W.popperInstance&&(W.popperInstance.destroy(),W.popperInstance=null)}function Ct(){return d(Y.querySelectorAll("[data-tippy-root]"))}function At(t){W.clearDelayTimeouts(),t&&it("onTrigger",[W,t]),ft();var e=nt(!0),n=G(),r=n[0],i=n[1];T.isTouch&&"hold"===r&&i&&(e=i),e?c=setTimeout((function(){W.show()}),e):W.show()}function Ot(t){if(W.clearDelayTimeouts(),it("onUntrigger",[W,t]),W.state.isVisible){if(!(W.props.trigger.indexOf("mouseenter")>=0&&W.props.trigger.indexOf("click")>=0&&["mouseleave","mousemove"].indexOf(t.type)>=0&&P)){var e=nt(!1);e?m=setTimeout((function(){W.state.isVisible&&W.hide()}),e):h=requestAnimationFrame((function(){W.hide()}))}}else lt()}}function _(t,e){void 0===e&&(e={});var n=D.plugins.concat(e.plugins||[]);document.addEventListener("touchstart",A,i),window.addEventListener("blur",L);var r=Object.assign({},e,{plugins:n}),o=b(t).reduce((function(t,e){var n=e&&U(e,r);return n&&t.push(n),t}),[]);return m(t)?o[0]:o}_.defaultProps=D,_.setDefaultProps=function(t){Object.keys(t).forEach((function(e){D[e]=t[e]}))},_.currentInput=T;var z={mouseover:"mouseenter",focusin:"focus",click:"click"};var F={name:"animateFill",defaultValue:!1,fn:function(t){var e;if(!(null==(e=t.props.render)?void 0:e.$$tippy))return{};var n=I(t.popper),r=n.box,i=n.content,o=t.props.animateFill?function(){var t=v();return t.className="tippy-backdrop",x([t],"hidden"),t}():null;return{onCreate:function(){o&&(r.insertBefore(o,r.firstElementChild),r.setAttribute("data-animatefill",""),r.style.overflow="hidden",t.setProps({arrow:!1,animation:"shift-away"}))},onMount:function(){if(o){var t=r.style.transitionDuration,e=Number(t.replace("ms",""));i.style.transitionDelay=Math.round(e/10)+"ms",o.style.transitionDuration=t,x([o],"visible")}},onShow:function(){o&&(o.style.transitionDuration="0ms")},onHide:function(){o&&x([o],"hidden")}}}};var W={clientX:0,clientY:0},X=[];function Y(t){var e=t.clientX,n=t.clientY;W={clientX:e,clientY:n}}var q={name:"followCursor",defaultValue:!1,fn:function(t){var e=t.reference,n=w(t.props.triggerTarget||e),r=!1,i=!1,o=!0,a=t.props;function s(){return"initial"===t.props.followCursor&&t.state.isVisible}function u(){n.addEventListener("mousemove",f)}function c(){n.removeEventListener("mousemove",f)}function p(){r=!0,t.setProps({getReferenceClientRect:null}),r=!1}function f(n){var r=!n.target||e.contains(n.target),i=t.props.followCursor,o=n.clientX,a=n.clientY,s=e.getBoundingClientRect(),u=o-s.left,c=a-s.top;!r&&t.props.interactive||t.setProps({getReferenceClientRect:function(){var t=e.getBoundingClientRect(),n=o,r=a;"initial"===i&&(n=t.left+u,r=t.top+c);var s="horizontal"===i?t.top:r,p="vertical"===i?t.right:n,f="horizontal"===i?t.bottom:r,l="vertical"===i?t.left:n;return{width:p-l,height:f-s,top:s,right:p,bottom:f,left:l}}})}function l(){t.props.followCursor&&(X.push({instance:t,doc:n}),function(t){t.addEventListener("mousemove",Y)}(n))}function d(){0===(X=X.filter((function(e){return e.instance!==t}))).filter((function(t){return t.doc===n})).length&&function(t){t.removeEventListener("mousemove",Y)}(n)}return{onCreate:l,onDestroy:d,onBeforeUpdate:function(){a=t.props},onAfterUpdate:function(e,n){var o=n.followCursor;r||void 0!==o&&a.followCursor!==o&&(d(),o?(l(),!t.state.isMounted||i||s()||u()):(c(),p()))},onMount:function(){t.props.followCursor&&!i&&(o&&(f(W),o=!1),s()||u())},onTrigger:function(t,e){g(e)&&(W={clientX:e.clientX,clientY:e.clientY}),i="focus"===e.type},onHidden:function(){t.props.followCursor&&(p(),c(),o=!0)}}}};var $={name:"inlinePositioning",defaultValue:!1,fn:function(t){var e,n=t.reference;var r=-1,i=!1,o={name:"tippyInlinePositioning",enabled:!0,phase:"afterWrite",fn:function(i){var o=i.state;t.props.inlinePositioning&&(e!==o.placement&&t.setProps({getReferenceClientRect:function(){return function(t){return function(t,e,n,r){if(n.length<2||null===t)return e;if(2===n.length&&r>=0&&n[0].left>n[1].right)return n[r]||e;switch(t){case"top":case"bottom":var i=n[0],o=n[n.length-1],a="top"===t,s=i.top,u=o.bottom,c=a?i.left:o.left,p=a?i.right:o.right;return{top:s,bottom:u,left:c,right:p,width:p-c,height:u-s};case"left":case"right":var f=Math.min.apply(Math,n.map((function(t){return t.left}))),l=Math.max.apply(Math,n.map((function(t){return t.right}))),d=n.filter((function(e){return"left"===t?e.left===f:e.right===l})),v=d[0].top,m=d[d.length-1].bottom;return{top:v,bottom:m,left:f,right:l,width:l-f,height:m-v};default:return e}}(l(t),n.getBoundingClientRect(),d(n.getClientRects()),r)}(o.placement)}}),e=o.placement)}};function a(){var e;i||(e=function(t,e){var n;return{popperOptions:Object.assign({},t.popperOptions,{modifiers:[].concat(((null==(n=t.popperOptions)?void 0:n.modifiers)||[]).filter((function(t){return t.name!==e.name})),[e])})}}(t.props,o),i=!0,t.setProps(e),i=!1)}return{onCreate:a,onAfterUpdate:a,onTrigger:function(e,n){if(g(n)){var i=d(t.reference.getClientRects()),o=i.find((function(t){return t.left-2<=n.clientX&&t.right+2>=n.clientX&&t.top-2<=n.clientY&&t.bottom+2>=n.clientY}));r=i.indexOf(o)}},onUntrigger:function(){r=-1}}}};var J={name:"sticky",defaultValue:!1,fn:function(t){var e=t.reference,n=t.popper;function r(e){return!0===t.props.sticky||t.props.sticky===e}var i=null,o=null;function a(){var s=r("reference")?(t.popperInstance?t.popperInstance.state.elements.reference:e).getBoundingClientRect():null,u=r("popper")?n.getBoundingClientRect():null;(s&&G(i,s)||u&&G(o,u))&&t.popperInstance&&t.popperInstance.update(),i=s,o=u,t.state.isMounted&&requestAnimationFrame(a)}return{onMount:function(){t.props.sticky&&a()}}}};function G(t,e){return!t||!e||(t.top!==e.top||t.right!==e.right||t.bottom!==e.bottom||t.left!==e.left)}return e&&function(t){var e=document.createElement("style");e.textContent=t,e.setAttribute("data-tippy-stylesheet","");var n=document.head,r=document.querySelector("head>style,head>link");r?n.insertBefore(e,r):n.appendChild(e)}('.tippy-box[data-animation=fade][data-state=hidden]{opacity:0}[data-tippy-root]{max-width:calc(100vw - 10px)}.tippy-box{position:relative;background-color:#333;color:#fff;border-radius:4px;font-size:14px;line-height:1.4;outline:0;transition-property:transform,visibility,opacity}.tippy-box[data-placement^=top]>.tippy-arrow{bottom:0}.tippy-box[data-placement^=top]>.tippy-arrow:before{bottom:-7px;left:0;border-width:8px 8px 0;border-top-color:initial;transform-origin:center top}.tippy-box[data-placement^=bottom]>.tippy-arrow{top:0}.tippy-box[data-placement^=bottom]>.tippy-arrow:before{top:-7px;left:0;border-width:0 8px 8px;border-bottom-color:initial;transform-origin:center bottom}.tippy-box[data-placement^=left]>.tippy-arrow{right:0}.tippy-box[data-placement^=left]>.tippy-arrow:before{border-width:8px 0 8px 8px;border-left-color:initial;right:-7px;transform-origin:center left}.tippy-box[data-placement^=right]>.tippy-arrow{left:0}.tippy-box[data-placement^=right]>.tippy-arrow:before{left:-7px;border-width:8px 8px 8px 0;border-right-color:initial;transform-origin:center right}.tippy-box[data-inertia][data-state=visible]{transition-timing-function:cubic-bezier(.54,1.5,.38,1.11)}.tippy-arrow{width:16px;height:16px;color:#333}.tippy-arrow:before{content:"";position:absolute;border-color:transparent;border-style:solid}.tippy-content{position:relative;padding:5px 9px;z-index:1}'),_.setDefaultProps({plugins:[F,q,$,J],render:S}),_.createSingleton=function(t,e){void 0===e&&(e={});var n,r=t,i=[],o=e.overrides,a=[];function s(){i=r.map((function(t){return t.reference}))}function u(t){r.forEach((function(e){t?e.enable():e.disable()}))}function p(t){return r.map((function(e){var r=e.setProps;return e.setProps=function(i){r(i),e.reference===n&&t.setProps(i)},function(){e.setProps=r}}))}u(!1),s();var f={fn:function(){return{onDestroy:function(){u(!0)},onTrigger:function(t,e){var a=e.currentTarget,s=i.indexOf(a);if(a!==n){n=a;var u=(o||[]).concat("content").reduce((function(t,e){return t[e]=r[s].props[e],t}),{});t.setProps(Object.assign({},u,{getReferenceClientRect:"function"==typeof u.getReferenceClientRect?u.getReferenceClientRect:function(){return a.getBoundingClientRect()}}))}}}}},l=_(v(),Object.assign({},c(e,["overrides"]),{plugins:[f].concat(e.plugins||[]),triggerTarget:i})),d=l.setProps;return l.setProps=function(t){o=t.overrides||o,d(t)},l.setInstances=function(t){u(!0),a.forEach((function(t){return t()})),r=t,u(!1),s(),p(l),l.setProps({triggerTarget:i})},a=p(l),l},_.delegate=function(t,e){var n=[],r=[],i=!1,o=e.target,a=c(e,["target"]),s=Object.assign({},a,{trigger:"manual",touch:!1}),u=Object.assign({},a,{showOnCreate:!0}),f=_(t,s);function l(t){if(t.target&&!i){var n=t.target.closest(o);if(n){var a=n.getAttribute("data-tippy-trigger")||e.trigger||D.trigger;if(!n._tippy&&!("touchstart"===t.type&&"boolean"==typeof u.touch||"touchstart"!==t.type&&a.indexOf(z[t.type])<0)){var s=_(n,u);s&&(r=r.concat(s))}}}}function d(t,e,r,i){void 0===i&&(i=!1),t.addEventListener(e,r,i),n.push({node:t,eventType:e,handler:r,options:i})}return p(f).forEach((function(t){var e=t.destroy,o=t.enable,a=t.disable;t.destroy=function(t){void 0===t&&(t=!0),t&&r.forEach((function(t){t.destroy()})),r=[],n.forEach((function(t){var e=t.node,n=t.eventType,r=t.handler,i=t.options;e.removeEventListener(n,r,i)})),n=[],e()},t.enable=function(){o(),r.forEach((function(t){return t.enable()})),i=!1},t.disable=function(){a(),r.forEach((function(t){return t.disable()})),i=!0},function(t){var e=t.reference;d(e,"touchstart",l),d(e,"mouseover",l),d(e,"focusin",l),d(e,"click",l)}(t)})),f},_.hideAll=function(t){var e=void 0===t?{}:t,n=e.exclude,r=e.duration;N.forEach((function(t){var e=!1;if(n&&(e=h(n)?t.reference===n:t.popper===n.popper),!e){var i=t.props.duration;t.setProps({duration:r}),t.hide(),t.state.isDestroyed||t.setProps({duration:i})}}))},_.roundArrow='<svg width="16" height="6" xmlns="http://www.w3.org/2000/svg"><path d="M0 6s1.796-.013 4.67-3.615C5.851.9 6.93.006 8 0c1.07-.006 2.148.887 3.343 2.385C14.233 6.005 16 6 16 6H0z"></svg>',_})); +//# sourceMappingURL=tippy-bundle.umd.min.js.map diff --git a/_posts/2021-06-13-unreproducibility-detox/unreproducibility-detox_files/tippy-6.2.7/tippy-light-border.css b/_posts/2021-06-13-unreproducibility-detox/unreproducibility-detox_files/tippy-6.2.7/tippy-light-border.css new file mode 100644 index 0000000..2b25c61 --- /dev/null +++ b/_posts/2021-06-13-unreproducibility-detox/unreproducibility-detox_files/tippy-6.2.7/tippy-light-border.css @@ -0,0 +1 @@ +.tippy-box[data-theme~=light-border]{background-color:#fff;background-clip:padding-box;border:1px solid rgba(0,8,16,.15);color:#333;box-shadow:0 4px 14px -2px rgba(0,8,16,.08)}.tippy-box[data-theme~=light-border]>.tippy-backdrop{background-color:#fff}.tippy-box[data-theme~=light-border]>.tippy-arrow:after,.tippy-box[data-theme~=light-border]>.tippy-svg-arrow:after{content:"";position:absolute;z-index:-1}.tippy-box[data-theme~=light-border]>.tippy-arrow:after{border-color:transparent;border-style:solid}.tippy-box[data-theme~=light-border][data-placement^=top]>.tippy-arrow:before{border-top-color:#fff}.tippy-box[data-theme~=light-border][data-placement^=top]>.tippy-arrow:after{border-top-color:rgba(0,8,16,.2);border-width:7px 7px 0;top:17px;left:1px}.tippy-box[data-theme~=light-border][data-placement^=top]>.tippy-svg-arrow>svg{top:16px}.tippy-box[data-theme~=light-border][data-placement^=top]>.tippy-svg-arrow:after{top:17px}.tippy-box[data-theme~=light-border][data-placement^=bottom]>.tippy-arrow:before{border-bottom-color:#fff;bottom:16px}.tippy-box[data-theme~=light-border][data-placement^=bottom]>.tippy-arrow:after{border-bottom-color:rgba(0,8,16,.2);border-width:0 7px 7px;bottom:17px;left:1px}.tippy-box[data-theme~=light-border][data-placement^=bottom]>.tippy-svg-arrow>svg{bottom:16px}.tippy-box[data-theme~=light-border][data-placement^=bottom]>.tippy-svg-arrow:after{bottom:17px}.tippy-box[data-theme~=light-border][data-placement^=left]>.tippy-arrow:before{border-left-color:#fff}.tippy-box[data-theme~=light-border][data-placement^=left]>.tippy-arrow:after{border-left-color:rgba(0,8,16,.2);border-width:7px 0 7px 7px;left:17px;top:1px}.tippy-box[data-theme~=light-border][data-placement^=left]>.tippy-svg-arrow>svg{left:11px}.tippy-box[data-theme~=light-border][data-placement^=left]>.tippy-svg-arrow:after{left:12px}.tippy-box[data-theme~=light-border][data-placement^=right]>.tippy-arrow:before{border-right-color:#fff;right:16px}.tippy-box[data-theme~=light-border][data-placement^=right]>.tippy-arrow:after{border-width:7px 7px 7px 0;right:17px;top:1px;border-right-color:rgba(0,8,16,.2)}.tippy-box[data-theme~=light-border][data-placement^=right]>.tippy-svg-arrow>svg{right:11px}.tippy-box[data-theme~=light-border][data-placement^=right]>.tippy-svg-arrow:after{right:12px}.tippy-box[data-theme~=light-border]>.tippy-svg-arrow{fill:#fff}.tippy-box[data-theme~=light-border]>.tippy-svg-arrow:after{background-image:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iNiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48cGF0aCBkPSJNMCA2czEuNzk2LS4wMTMgNC42Ny0zLjYxNUM1Ljg1MS45IDYuOTMuMDA2IDggMGMxLjA3LS4wMDYgMi4xNDguODg3IDMuMzQzIDIuMzg1QzE0LjIzMyA2LjAwNSAxNiA2IDE2IDZIMHoiIGZpbGw9InJnYmEoMCwgOCwgMTYsIDAuMikiLz48L3N2Zz4=);background-size:16px 6px;width:16px;height:6px} \ No newline at end of file diff --git a/_posts/2021-06-13-unreproducibility-detox/unreproducibility-detox_files/tippy-6.2.7/tippy.css b/_posts/2021-06-13-unreproducibility-detox/unreproducibility-detox_files/tippy-6.2.7/tippy.css new file mode 100644 index 0000000..d1cd2e1 --- /dev/null +++ b/_posts/2021-06-13-unreproducibility-detox/unreproducibility-detox_files/tippy-6.2.7/tippy.css @@ -0,0 +1 @@ +.tippy-box[data-animation=fade][data-state=hidden]{opacity:0}[data-tippy-root]{max-width:calc(100vw - 10px)}.tippy-box{position:relative;background-color:#333;color:#fff;border-radius:4px;font-size:14px;line-height:1.4;outline:0;transition-property:transform,visibility,opacity}.tippy-box[data-placement^=top]>.tippy-arrow{bottom:0}.tippy-box[data-placement^=top]>.tippy-arrow:before{bottom:-7px;left:0;border-width:8px 8px 0;border-top-color:initial;transform-origin:center top}.tippy-box[data-placement^=bottom]>.tippy-arrow{top:0}.tippy-box[data-placement^=bottom]>.tippy-arrow:before{top:-7px;left:0;border-width:0 8px 8px;border-bottom-color:initial;transform-origin:center bottom}.tippy-box[data-placement^=left]>.tippy-arrow{right:0}.tippy-box[data-placement^=left]>.tippy-arrow:before{border-width:8px 0 8px 8px;border-left-color:initial;right:-7px;transform-origin:center left}.tippy-box[data-placement^=right]>.tippy-arrow{left:0}.tippy-box[data-placement^=right]>.tippy-arrow:before{left:-7px;border-width:8px 8px 8px 0;border-right-color:initial;transform-origin:center right}.tippy-box[data-inertia][data-state=visible]{transition-timing-function:cubic-bezier(.54,1.5,.38,1.11)}.tippy-arrow{width:16px;height:16px;color:#333}.tippy-arrow:before{content:"";position:absolute;border-color:transparent;border-style:solid}.tippy-content{position:relative;padding:5px 9px;z-index:1} \ No newline at end of file diff --git a/_posts/2021-06-13-unreproducibility-detox/unreproducibility-detox_files/tippy-6.2.7/tippy.umd.min.js b/_posts/2021-06-13-unreproducibility-detox/unreproducibility-detox_files/tippy-6.2.7/tippy.umd.min.js new file mode 100644 index 0000000..5c3dc00 --- /dev/null +++ b/_posts/2021-06-13-unreproducibility-detox/unreproducibility-detox_files/tippy-6.2.7/tippy.umd.min.js @@ -0,0 +1,2 @@ +!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e(require("@popperjs/core")):"function"==typeof define&&define.amd?define(["@popperjs/core"],e):(t=t||self).tippy=e(t.Popper)}(this,(function(t){"use strict";var e={passive:!0,capture:!0};function n(t,e,n){if(Array.isArray(t)){var r=t[e];return null==r?Array.isArray(n)?n[e]:n:r}return t}function r(t,e){var n={}.toString.call(t);return 0===n.indexOf("[object")&&n.indexOf(e+"]")>-1}function i(t,e){return"function"==typeof t?t.apply(void 0,e):t}function o(t,e){return 0===e?t:function(r){clearTimeout(n),n=setTimeout((function(){t(r)}),e)};var n}function a(t,e){var n=Object.assign({},t);return e.forEach((function(t){delete n[t]})),n}function s(t){return[].concat(t)}function u(t,e){-1===t.indexOf(e)&&t.push(e)}function c(t){return t.split("-")[0]}function p(t){return[].slice.call(t)}function f(){return document.createElement("div")}function l(t){return["Element","Fragment"].some((function(e){return r(t,e)}))}function d(t){return r(t,"MouseEvent")}function v(t){return!(!t||!t._tippy||t._tippy.reference!==t)}function m(t){return l(t)?[t]:function(t){return r(t,"NodeList")}(t)?p(t):Array.isArray(t)?t:p(document.querySelectorAll(t))}function g(t,e){t.forEach((function(t){t&&(t.style.transitionDuration=e+"ms")}))}function h(t,e){t.forEach((function(t){t&&t.setAttribute("data-state",e)}))}function b(t){var e=s(t)[0];return e&&e.ownerDocument||document}function y(t,e,n){var r=e+"EventListener";["transitionend","webkitTransitionEnd"].forEach((function(e){t[r](e,n)}))}var w={isTouch:!1},E=0;function T(){w.isTouch||(w.isTouch=!0,window.performance&&document.addEventListener("mousemove",C))}function C(){var t=performance.now();t-E<20&&(w.isTouch=!1,document.removeEventListener("mousemove",C)),E=t}function x(){var t=document.activeElement;if(v(t)){var e=t._tippy;t.blur&&!e.state.isVisible&&t.blur()}}var A="undefined"!=typeof window&&"undefined"!=typeof document?navigator.userAgent:"",O=/MSIE |Trident\//.test(A),L=Object.assign({appendTo:function(){return document.body},aria:{content:"auto",expanded:"auto"},delay:0,duration:[300,250],getReferenceClientRect:null,hideOnClick:!0,ignoreAttributes:!1,interactive:!1,interactiveBorder:2,interactiveDebounce:0,moveTransition:"",offset:[0,10],onAfterUpdate:function(){},onBeforeUpdate:function(){},onCreate:function(){},onDestroy:function(){},onHidden:function(){},onHide:function(){},onMount:function(){},onShow:function(){},onShown:function(){},onTrigger:function(){},onUntrigger:function(){},onClickOutside:function(){},placement:"top",plugins:[],popperOptions:{},render:null,showOnCreate:!1,touch:!0,trigger:"mouseenter focus",triggerTarget:null},{animateFill:!1,followCursor:!1,inlinePositioning:!1,sticky:!1},{},{allowHTML:!1,animation:"fade",arrow:!0,content:"",inertia:!1,maxWidth:350,role:"tooltip",theme:"",zIndex:9999}),D=Object.keys(L);function k(t){var e=(t.plugins||[]).reduce((function(e,n){var r=n.name,i=n.defaultValue;return r&&(e[r]=void 0!==t[r]?t[r]:i),e}),{});return Object.assign({},t,{},e)}function R(t,e){var n=Object.assign({},e,{content:i(e.content,[t])},e.ignoreAttributes?{}:function(t,e){return(e?Object.keys(k(Object.assign({},L,{plugins:e}))):D).reduce((function(e,n){var r=(t.getAttribute("data-tippy-"+n)||"").trim();if(!r)return e;if("content"===n)e[n]=r;else try{e[n]=JSON.parse(r)}catch(t){e[n]=r}return e}),{})}(t,e.plugins));return n.aria=Object.assign({},L.aria,{},n.aria),n.aria={expanded:"auto"===n.aria.expanded?e.interactive:n.aria.expanded,content:"auto"===n.aria.content?e.interactive?null:"describedby":n.aria.content},n}function M(t,e){t.innerHTML=e}function P(t){var e=f();return!0===t?e.className="tippy-arrow":(e.className="tippy-svg-arrow",l(t)?e.appendChild(t):M(e,t)),e}function V(t,e){l(e.content)?(M(t,""),t.appendChild(e.content)):"function"!=typeof e.content&&(e.allowHTML?M(t,e.content):t.textContent=e.content)}function j(t){var e=t.firstElementChild,n=p(e.children);return{box:e,content:n.find((function(t){return t.classList.contains("tippy-content")})),arrow:n.find((function(t){return t.classList.contains("tippy-arrow")||t.classList.contains("tippy-svg-arrow")})),backdrop:n.find((function(t){return t.classList.contains("tippy-backdrop")}))}}function I(t){var e=f(),n=f();n.className="tippy-box",n.setAttribute("data-state","hidden"),n.setAttribute("tabindex","-1");var r=f();function i(n,r){var i=j(e),o=i.box,a=i.content,s=i.arrow;r.theme?o.setAttribute("data-theme",r.theme):o.removeAttribute("data-theme"),"string"==typeof r.animation?o.setAttribute("data-animation",r.animation):o.removeAttribute("data-animation"),r.inertia?o.setAttribute("data-inertia",""):o.removeAttribute("data-inertia"),o.style.maxWidth="number"==typeof r.maxWidth?r.maxWidth+"px":r.maxWidth,r.role?o.setAttribute("role",r.role):o.removeAttribute("role"),n.content===r.content&&n.allowHTML===r.allowHTML||V(a,t.props),r.arrow?s?n.arrow!==r.arrow&&(o.removeChild(s),o.appendChild(P(r.arrow))):o.appendChild(P(r.arrow)):s&&o.removeChild(s)}return r.className="tippy-content",r.setAttribute("data-state","hidden"),V(r,t.props),e.appendChild(n),n.appendChild(r),i(t.props,t.props),{popper:e,onUpdate:i}}I.$$tippy=!0;var S=1,B=[],H=[];function N(r,a){var l,v,m,E,T,C,x,A,D,M=R(r,Object.assign({},L,{},k((l=a,Object.keys(l).reduce((function(t,e){return void 0!==l[e]&&(t[e]=l[e]),t}),{}))))),P=!1,V=!1,I=!1,N=!1,U=[],_=o(bt,M.interactiveDebounce),F=S++,W=(D=M.plugins).filter((function(t,e){return D.indexOf(t)===e})),X={id:F,reference:r,popper:f(),popperInstance:null,props:M,state:{isEnabled:!0,isVisible:!1,isDestroyed:!1,isMounted:!1,isShown:!1},plugins:W,clearDelayTimeouts:function(){clearTimeout(v),clearTimeout(m),cancelAnimationFrame(E)},setProps:function(t){if(X.state.isDestroyed)return;it("onBeforeUpdate",[X,t]),gt();var e=X.props,n=R(r,Object.assign({},X.props,{},t,{ignoreAttributes:!0}));X.props=n,mt(),e.interactiveDebounce!==n.interactiveDebounce&&(st(),_=o(bt,n.interactiveDebounce));e.triggerTarget&&!n.triggerTarget?s(e.triggerTarget).forEach((function(t){t.removeAttribute("aria-expanded")})):n.triggerTarget&&r.removeAttribute("aria-expanded");at(),rt(),q&&q(e,n);X.popperInstance&&(Tt(),xt().forEach((function(t){requestAnimationFrame(t._tippy.popperInstance.forceUpdate)})));it("onAfterUpdate",[X,t])},setContent:function(t){X.setProps({content:t})},show:function(){var t=X.state.isVisible,e=X.state.isDestroyed,r=!X.state.isEnabled,o=w.isTouch&&!X.props.touch,a=n(X.props.duration,0,L.duration);if(t||e||r||o)return;if(Z().hasAttribute("disabled"))return;if(it("onShow",[X],!1),!1===X.props.onShow(X))return;X.state.isVisible=!0,Q()&&($.style.visibility="visible");rt(),ft(),X.state.isMounted||($.style.transition="none");if(Q()){var s=et(),c=s.box,p=s.content;g([c,p],0)}x=function(){if(X.state.isVisible&&!N){if(N=!0,$.offsetHeight,$.style.transition=X.props.moveTransition,Q()&&X.props.animation){var t=et(),e=t.box,n=t.content;g([e,n],a),h([e,n],"visible")}ot(),at(),u(H,X),X.state.isMounted=!0,it("onMount",[X]),X.props.animation&&Q()&&function(t,e){dt(t,e)}(a,(function(){X.state.isShown=!0,it("onShown",[X])}))}},function(){var t,e=X.props.appendTo,n=Z();t=X.props.interactive&&e===L.appendTo||"parent"===e?n.parentNode:i(e,[n]);t.contains($)||t.appendChild($);Tt()}()},hide:function(){var t=!X.state.isVisible,e=X.state.isDestroyed,r=!X.state.isEnabled,i=n(X.props.duration,1,L.duration);if(t||e||r)return;if(it("onHide",[X],!1),!1===X.props.onHide(X))return;X.state.isVisible=!1,X.state.isShown=!1,N=!1,P=!1,Q()&&($.style.visibility="hidden");if(st(),lt(),rt(),Q()){var o=et(),a=o.box,s=o.content;X.props.animation&&(g([a,s],i),h([a,s],"hidden"))}ot(),at(),X.props.animation?Q()&&function(t,e){dt(t,(function(){!X.state.isVisible&&$.parentNode&&$.parentNode.contains($)&&e()}))}(i,X.unmount):X.unmount()},hideWithInteractivity:function(t){tt().addEventListener("mousemove",_),u(B,_),_(t)},enable:function(){X.state.isEnabled=!0},disable:function(){X.hide(),X.state.isEnabled=!1},unmount:function(){X.state.isVisible&&X.hide();if(!X.state.isMounted)return;Ct(),xt().forEach((function(t){t._tippy.unmount()})),$.parentNode&&$.parentNode.removeChild($);H=H.filter((function(t){return t!==X})),X.state.isMounted=!1,it("onHidden",[X])},destroy:function(){if(X.state.isDestroyed)return;X.clearDelayTimeouts(),X.unmount(),gt(),delete r._tippy,X.state.isDestroyed=!0,it("onDestroy",[X])}};if(!M.render)return X;var Y=M.render(X),$=Y.popper,q=Y.onUpdate;$.setAttribute("data-tippy-root",""),$.id="tippy-"+X.id,X.popper=$,r._tippy=X,$._tippy=X;var z=W.map((function(t){return t.fn(X)})),J=r.hasAttribute("aria-expanded");return mt(),at(),rt(),it("onCreate",[X]),M.showOnCreate&&At(),$.addEventListener("mouseenter",(function(){X.props.interactive&&X.state.isVisible&&X.clearDelayTimeouts()})),$.addEventListener("mouseleave",(function(t){X.props.interactive&&X.props.trigger.indexOf("mouseenter")>=0&&(tt().addEventListener("mousemove",_),_(t))})),X;function G(){var t=X.props.touch;return Array.isArray(t)?t:[t,0]}function K(){return"hold"===G()[0]}function Q(){var t;return!!(null==(t=X.props.render)?void 0:t.$$tippy)}function Z(){return A||r}function tt(){var t=Z().parentNode;return t?b(t):document}function et(){return j($)}function nt(t){return X.state.isMounted&&!X.state.isVisible||w.isTouch||T&&"focus"===T.type?0:n(X.props.delay,t?0:1,L.delay)}function rt(){$.style.pointerEvents=X.props.interactive&&X.state.isVisible?"":"none",$.style.zIndex=""+X.props.zIndex}function it(t,e,n){var r;(void 0===n&&(n=!0),z.forEach((function(n){n[t]&&n[t].apply(void 0,e)})),n)&&(r=X.props)[t].apply(r,e)}function ot(){var t=X.props.aria;if(t.content){var e="aria-"+t.content,n=$.id;s(X.props.triggerTarget||r).forEach((function(t){var r=t.getAttribute(e);if(X.state.isVisible)t.setAttribute(e,r?r+" "+n:n);else{var i=r&&r.replace(n,"").trim();i?t.setAttribute(e,i):t.removeAttribute(e)}}))}}function at(){!J&&X.props.aria.expanded&&s(X.props.triggerTarget||r).forEach((function(t){X.props.interactive?t.setAttribute("aria-expanded",X.state.isVisible&&t===Z()?"true":"false"):t.removeAttribute("aria-expanded")}))}function st(){tt().removeEventListener("mousemove",_),B=B.filter((function(t){return t!==_}))}function ut(t){if(!(w.isTouch&&(I||"mousedown"===t.type)||X.props.interactive&&$.contains(t.target))){if(Z().contains(t.target)){if(w.isTouch)return;if(X.state.isVisible&&X.props.trigger.indexOf("click")>=0)return}else it("onClickOutside",[X,t]);!0===X.props.hideOnClick&&(X.clearDelayTimeouts(),X.hide(),V=!0,setTimeout((function(){V=!1})),X.state.isMounted||lt())}}function ct(){I=!0}function pt(){I=!1}function ft(){var t=tt();t.addEventListener("mousedown",ut,!0),t.addEventListener("touchend",ut,e),t.addEventListener("touchstart",pt,e),t.addEventListener("touchmove",ct,e)}function lt(){var t=tt();t.removeEventListener("mousedown",ut,!0),t.removeEventListener("touchend",ut,e),t.removeEventListener("touchstart",pt,e),t.removeEventListener("touchmove",ct,e)}function dt(t,e){var n=et().box;function r(t){t.target===n&&(y(n,"remove",r),e())}if(0===t)return e();y(n,"remove",C),y(n,"add",r),C=r}function vt(t,e,n){void 0===n&&(n=!1),s(X.props.triggerTarget||r).forEach((function(r){r.addEventListener(t,e,n),U.push({node:r,eventType:t,handler:e,options:n})}))}function mt(){var t;K()&&(vt("touchstart",ht,{passive:!0}),vt("touchend",yt,{passive:!0})),(t=X.props.trigger,t.split(/\s+/).filter(Boolean)).forEach((function(t){if("manual"!==t)switch(vt(t,ht),t){case"mouseenter":vt("mouseleave",yt);break;case"focus":vt(O?"focusout":"blur",wt);break;case"focusin":vt("focusout",wt)}}))}function gt(){U.forEach((function(t){var e=t.node,n=t.eventType,r=t.handler,i=t.options;e.removeEventListener(n,r,i)})),U=[]}function ht(t){var e,n=!1;if(X.state.isEnabled&&!Et(t)&&!V){var r="focus"===(null==(e=T)?void 0:e.type);T=t,A=t.currentTarget,at(),!X.state.isVisible&&d(t)&&B.forEach((function(e){return e(t)})),"click"===t.type&&(X.props.trigger.indexOf("mouseenter")<0||P)&&!1!==X.props.hideOnClick&&X.state.isVisible?n=!0:At(t),"click"===t.type&&(P=!n),n&&!r&&Ot(t)}}function bt(t){var e=t.target,n=Z().contains(e)||$.contains(e);"mousemove"===t.type&&n||function(t,e){var n=e.clientX,r=e.clientY;return t.every((function(t){var e=t.popperRect,i=t.popperState,o=t.props.interactiveBorder,a=c(i.placement),s=i.modifiersData.offset;if(!s)return!0;var u="bottom"===a?s.top.y:0,p="top"===a?s.bottom.y:0,f="right"===a?s.left.x:0,l="left"===a?s.right.x:0,d=e.top-r+u>o,v=r-e.bottom-p>o,m=e.left-n+f>o,g=n-e.right-l>o;return d||v||m||g}))}(xt().concat($).map((function(t){var e,n=null==(e=t._tippy.popperInstance)?void 0:e.state;return n?{popperRect:t.getBoundingClientRect(),popperState:n,props:M}:null})).filter(Boolean),t)&&(st(),Ot(t))}function yt(t){Et(t)||X.props.trigger.indexOf("click")>=0&&P||(X.props.interactive?X.hideWithInteractivity(t):Ot(t))}function wt(t){X.props.trigger.indexOf("focusin")<0&&t.target!==Z()||X.props.interactive&&t.relatedTarget&&$.contains(t.relatedTarget)||Ot(t)}function Et(t){return!!w.isTouch&&K()!==t.type.indexOf("touch")>=0}function Tt(){Ct();var e=X.props,n=e.popperOptions,i=e.placement,o=e.offset,a=e.getReferenceClientRect,s=e.moveTransition,u=Q()?j($).arrow:null,c=a?{getBoundingClientRect:a,contextElement:a.contextElement||Z()}:r,p=[{name:"offset",options:{offset:o}},{name:"preventOverflow",options:{padding:{top:2,bottom:2,left:5,right:5}}},{name:"flip",options:{padding:5}},{name:"computeStyles",options:{adaptive:!s}},{name:"$$tippy",enabled:!0,phase:"beforeWrite",requires:["computeStyles"],fn:function(t){var e=t.state;if(Q()){var n=et().box;["placement","reference-hidden","escaped"].forEach((function(t){"placement"===t?n.setAttribute("data-placement",e.placement):e.attributes.popper["data-popper-"+t]?n.setAttribute("data-"+t,""):n.removeAttribute("data-"+t)})),e.attributes.popper={}}}}];Q()&&u&&p.push({name:"arrow",options:{element:u,padding:3}}),p.push.apply(p,(null==n?void 0:n.modifiers)||[]),X.popperInstance=t.createPopper(c,$,Object.assign({},n,{placement:i,onFirstUpdate:x,modifiers:p}))}function Ct(){X.popperInstance&&(X.popperInstance.destroy(),X.popperInstance=null)}function xt(){return p($.querySelectorAll("[data-tippy-root]"))}function At(t){X.clearDelayTimeouts(),t&&it("onTrigger",[X,t]),ft();var e=nt(!0),n=G(),r=n[0],i=n[1];w.isTouch&&"hold"===r&&i&&(e=i),e?v=setTimeout((function(){X.show()}),e):X.show()}function Ot(t){if(X.clearDelayTimeouts(),it("onUntrigger",[X,t]),X.state.isVisible){if(!(X.props.trigger.indexOf("mouseenter")>=0&&X.props.trigger.indexOf("click")>=0&&["mouseleave","mousemove"].indexOf(t.type)>=0&&P)){var e=nt(!1);e?m=setTimeout((function(){X.state.isVisible&&X.hide()}),e):E=requestAnimationFrame((function(){X.hide()}))}}else lt()}}function U(t,n){void 0===n&&(n={});var r=L.plugins.concat(n.plugins||[]);document.addEventListener("touchstart",T,e),window.addEventListener("blur",x);var i=Object.assign({},n,{plugins:r}),o=m(t).reduce((function(t,e){var n=e&&N(e,i);return n&&t.push(n),t}),[]);return l(t)?o[0]:o}U.defaultProps=L,U.setDefaultProps=function(t){Object.keys(t).forEach((function(e){L[e]=t[e]}))},U.currentInput=w;var _={mouseover:"mouseenter",focusin:"focus",click:"click"};var F={name:"animateFill",defaultValue:!1,fn:function(t){var e;if(!(null==(e=t.props.render)?void 0:e.$$tippy))return{};var n=j(t.popper),r=n.box,i=n.content,o=t.props.animateFill?function(){var t=f();return t.className="tippy-backdrop",h([t],"hidden"),t}():null;return{onCreate:function(){o&&(r.insertBefore(o,r.firstElementChild),r.setAttribute("data-animatefill",""),r.style.overflow="hidden",t.setProps({arrow:!1,animation:"shift-away"}))},onMount:function(){if(o){var t=r.style.transitionDuration,e=Number(t.replace("ms",""));i.style.transitionDelay=Math.round(e/10)+"ms",o.style.transitionDuration=t,h([o],"visible")}},onShow:function(){o&&(o.style.transitionDuration="0ms")},onHide:function(){o&&h([o],"hidden")}}}};var W={clientX:0,clientY:0},X=[];function Y(t){var e=t.clientX,n=t.clientY;W={clientX:e,clientY:n}}var $={name:"followCursor",defaultValue:!1,fn:function(t){var e=t.reference,n=b(t.props.triggerTarget||e),r=!1,i=!1,o=!0,a=t.props;function s(){return"initial"===t.props.followCursor&&t.state.isVisible}function u(){n.addEventListener("mousemove",f)}function c(){n.removeEventListener("mousemove",f)}function p(){r=!0,t.setProps({getReferenceClientRect:null}),r=!1}function f(n){var r=!n.target||e.contains(n.target),i=t.props.followCursor,o=n.clientX,a=n.clientY,s=e.getBoundingClientRect(),u=o-s.left,c=a-s.top;!r&&t.props.interactive||t.setProps({getReferenceClientRect:function(){var t=e.getBoundingClientRect(),n=o,r=a;"initial"===i&&(n=t.left+u,r=t.top+c);var s="horizontal"===i?t.top:r,p="vertical"===i?t.right:n,f="horizontal"===i?t.bottom:r,l="vertical"===i?t.left:n;return{width:p-l,height:f-s,top:s,right:p,bottom:f,left:l}}})}function l(){t.props.followCursor&&(X.push({instance:t,doc:n}),function(t){t.addEventListener("mousemove",Y)}(n))}function v(){0===(X=X.filter((function(e){return e.instance!==t}))).filter((function(t){return t.doc===n})).length&&function(t){t.removeEventListener("mousemove",Y)}(n)}return{onCreate:l,onDestroy:v,onBeforeUpdate:function(){a=t.props},onAfterUpdate:function(e,n){var o=n.followCursor;r||void 0!==o&&a.followCursor!==o&&(v(),o?(l(),!t.state.isMounted||i||s()||u()):(c(),p()))},onMount:function(){t.props.followCursor&&!i&&(o&&(f(W),o=!1),s()||u())},onTrigger:function(t,e){d(e)&&(W={clientX:e.clientX,clientY:e.clientY}),i="focus"===e.type},onHidden:function(){t.props.followCursor&&(p(),c(),o=!0)}}}};var q={name:"inlinePositioning",defaultValue:!1,fn:function(t){var e,n=t.reference;var r=-1,i=!1,o={name:"tippyInlinePositioning",enabled:!0,phase:"afterWrite",fn:function(i){var o=i.state;t.props.inlinePositioning&&(e!==o.placement&&t.setProps({getReferenceClientRect:function(){return function(t){return function(t,e,n,r){if(n.length<2||null===t)return e;if(2===n.length&&r>=0&&n[0].left>n[1].right)return n[r]||e;switch(t){case"top":case"bottom":var i=n[0],o=n[n.length-1],a="top"===t,s=i.top,u=o.bottom,c=a?i.left:o.left,p=a?i.right:o.right;return{top:s,bottom:u,left:c,right:p,width:p-c,height:u-s};case"left":case"right":var f=Math.min.apply(Math,n.map((function(t){return t.left}))),l=Math.max.apply(Math,n.map((function(t){return t.right}))),d=n.filter((function(e){return"left"===t?e.left===f:e.right===l})),v=d[0].top,m=d[d.length-1].bottom;return{top:v,bottom:m,left:f,right:l,width:l-f,height:m-v};default:return e}}(c(t),n.getBoundingClientRect(),p(n.getClientRects()),r)}(o.placement)}}),e=o.placement)}};function a(){var e;i||(e=function(t,e){var n;return{popperOptions:Object.assign({},t.popperOptions,{modifiers:[].concat(((null==(n=t.popperOptions)?void 0:n.modifiers)||[]).filter((function(t){return t.name!==e.name})),[e])})}}(t.props,o),i=!0,t.setProps(e),i=!1)}return{onCreate:a,onAfterUpdate:a,onTrigger:function(e,n){if(d(n)){var i=p(t.reference.getClientRects()),o=i.find((function(t){return t.left-2<=n.clientX&&t.right+2>=n.clientX&&t.top-2<=n.clientY&&t.bottom+2>=n.clientY}));r=i.indexOf(o)}},onUntrigger:function(){r=-1}}}};var z={name:"sticky",defaultValue:!1,fn:function(t){var e=t.reference,n=t.popper;function r(e){return!0===t.props.sticky||t.props.sticky===e}var i=null,o=null;function a(){var s=r("reference")?(t.popperInstance?t.popperInstance.state.elements.reference:e).getBoundingClientRect():null,u=r("popper")?n.getBoundingClientRect():null;(s&&J(i,s)||u&&J(o,u))&&t.popperInstance&&t.popperInstance.update(),i=s,o=u,t.state.isMounted&&requestAnimationFrame(a)}return{onMount:function(){t.props.sticky&&a()}}}};function J(t,e){return!t||!e||(t.top!==e.top||t.right!==e.right||t.bottom!==e.bottom||t.left!==e.left)}return U.setDefaultProps({plugins:[F,$,q,z],render:I}),U.createSingleton=function(t,e){void 0===e&&(e={});var n,r=t,i=[],o=e.overrides,s=[];function u(){i=r.map((function(t){return t.reference}))}function c(t){r.forEach((function(e){t?e.enable():e.disable()}))}function p(t){return r.map((function(e){var r=e.setProps;return e.setProps=function(i){r(i),e.reference===n&&t.setProps(i)},function(){e.setProps=r}}))}c(!1),u();var l={fn:function(){return{onDestroy:function(){c(!0)},onTrigger:function(t,e){var a=e.currentTarget,s=i.indexOf(a);if(a!==n){n=a;var u=(o||[]).concat("content").reduce((function(t,e){return t[e]=r[s].props[e],t}),{});t.setProps(Object.assign({},u,{getReferenceClientRect:"function"==typeof u.getReferenceClientRect?u.getReferenceClientRect:function(){return a.getBoundingClientRect()}}))}}}}},d=U(f(),Object.assign({},a(e,["overrides"]),{plugins:[l].concat(e.plugins||[]),triggerTarget:i})),v=d.setProps;return d.setProps=function(t){o=t.overrides||o,v(t)},d.setInstances=function(t){c(!0),s.forEach((function(t){return t()})),r=t,c(!1),u(),p(d),d.setProps({triggerTarget:i})},s=p(d),d},U.delegate=function(t,e){var n=[],r=[],i=!1,o=e.target,u=a(e,["target"]),c=Object.assign({},u,{trigger:"manual",touch:!1}),p=Object.assign({},u,{showOnCreate:!0}),f=U(t,c);function l(t){if(t.target&&!i){var n=t.target.closest(o);if(n){var a=n.getAttribute("data-tippy-trigger")||e.trigger||L.trigger;if(!n._tippy&&!("touchstart"===t.type&&"boolean"==typeof p.touch||"touchstart"!==t.type&&a.indexOf(_[t.type])<0)){var s=U(n,p);s&&(r=r.concat(s))}}}}function d(t,e,r,i){void 0===i&&(i=!1),t.addEventListener(e,r,i),n.push({node:t,eventType:e,handler:r,options:i})}return s(f).forEach((function(t){var e=t.destroy,o=t.enable,a=t.disable;t.destroy=function(t){void 0===t&&(t=!0),t&&r.forEach((function(t){t.destroy()})),r=[],n.forEach((function(t){var e=t.node,n=t.eventType,r=t.handler,i=t.options;e.removeEventListener(n,r,i)})),n=[],e()},t.enable=function(){o(),r.forEach((function(t){return t.enable()})),i=!1},t.disable=function(){a(),r.forEach((function(t){return t.disable()})),i=!0},function(t){var e=t.reference;d(e,"touchstart",l),d(e,"mouseover",l),d(e,"focusin",l),d(e,"click",l)}(t)})),f},U.hideAll=function(t){var e=void 0===t?{}:t,n=e.exclude,r=e.duration;H.forEach((function(t){var e=!1;if(n&&(e=v(n)?t.reference===n:t.popper===n.popper),!e){var i=t.props.duration;t.setProps({duration:r}),t.hide(),t.state.isDestroyed||t.setProps({duration:i})}}))},U.roundArrow='<svg width="16" height="6" xmlns="http://www.w3.org/2000/svg"><path d="M0 6s1.796-.013 4.67-3.615C5.851.9 6.93.006 8 0c1.07-.006 2.148.887 3.343 2.385C14.233 6.005 16 6 16 6H0z"></svg>',U})); +//# sourceMappingURL=tippy.umd.min.js.map diff --git a/_posts/2021-06-13-unreproducibility-detox/unreproducibility-detox_files/webcomponents-2.0.0/webcomponents.js b/_posts/2021-06-13-unreproducibility-detox/unreproducibility-detox_files/webcomponents-2.0.0/webcomponents.js new file mode 100644 index 0000000..6883e0e --- /dev/null +++ b/_posts/2021-06-13-unreproducibility-detox/unreproducibility-detox_files/webcomponents-2.0.0/webcomponents.js @@ -0,0 +1,236 @@ +// webcomponents.js requires Set api which is not available in all browsers +if (typeof(Set) !== "undefined") { +/** +@license @nocompile +Copyright (c) 2018 The Polymer Project Authors. All rights reserved. +This code may only be used under the BSD style license found at http://polymer.github.io/LICENSE.txt +The complete set of authors may be found at http://polymer.github.io/AUTHORS.txt +The complete set of contributors may be found at http://polymer.github.io/CONTRIBUTORS.txt +Code distributed by Google as part of the polymer project is also +subject to an additional IP rights grant found at http://polymer.github.io/PATENTS.txt +*/ +(function(){/* + + Copyright (c) 2016 The Polymer Project Authors. All rights reserved. + This code may only be used under the BSD style license found at http://polymer.github.io/LICENSE.txt + The complete set of authors may be found at http://polymer.github.io/AUTHORS.txt + The complete set of contributors may be found at http://polymer.github.io/CONTRIBUTORS.txt + Code distributed by Google as part of the polymer project is also + subject to an additional IP rights grant found at http://polymer.github.io/PATENTS.txt +*/ +'use strict';var q,aa="undefined"!=typeof window&&window===this?this:"undefined"!=typeof global&&null!=global?global:this,ba="function"==typeof Object.defineProperties?Object.defineProperty:function(a,b,c){a!=Array.prototype&&a!=Object.prototype&&(a[b]=c.value)};function ca(){ca=function(){};aa.Symbol||(aa.Symbol=da)}var da=function(){var a=0;return function(b){return"jscomp_symbol_"+(b||"")+a++}}(); +function ea(){ca();var a=aa.Symbol.iterator;a||(a=aa.Symbol.iterator=aa.Symbol("iterator"));"function"!=typeof Array.prototype[a]&&ba(Array.prototype,a,{configurable:!0,writable:!0,value:function(){return fa(this)}});ea=function(){}}function fa(a){var b=0;return ha(function(){return b<a.length?{done:!1,value:a[b++]}:{done:!0}})}function ha(a){ea();a={next:a};a[aa.Symbol.iterator]=function(){return this};return a}function ia(a){ea();var b=a[Symbol.iterator];return b?b.call(a):fa(a)} +function ja(a){for(var b,c=[];!(b=a.next()).done;)c.push(b.value);return c} +(function(){if(!function(){var a=document.createEvent("Event");a.initEvent("foo",!0,!0);a.preventDefault();return a.defaultPrevented}()){var a=Event.prototype.preventDefault;Event.prototype.preventDefault=function(){this.cancelable&&(a.call(this),Object.defineProperty(this,"defaultPrevented",{get:function(){return!0},configurable:!0}))}}var b=/Trident/.test(navigator.userAgent);if(!window.CustomEvent||b&&"function"!==typeof window.CustomEvent)window.CustomEvent=function(a,b){b=b||{};var c=document.createEvent("CustomEvent"); +c.initCustomEvent(a,!!b.bubbles,!!b.cancelable,b.detail);return c},window.CustomEvent.prototype=window.Event.prototype;if(!window.Event||b&&"function"!==typeof window.Event){var c=window.Event;window.Event=function(a,b){b=b||{};var c=document.createEvent("Event");c.initEvent(a,!!b.bubbles,!!b.cancelable);return c};if(c)for(var d in c)window.Event[d]=c[d];window.Event.prototype=c.prototype}if(!window.MouseEvent||b&&"function"!==typeof window.MouseEvent){b=window.MouseEvent;window.MouseEvent=function(a, +b){b=b||{};var c=document.createEvent("MouseEvent");c.initMouseEvent(a,!!b.bubbles,!!b.cancelable,b.view||window,b.detail,b.screenX,b.screenY,b.clientX,b.clientY,b.ctrlKey,b.altKey,b.shiftKey,b.metaKey,b.button,b.relatedTarget);return c};if(b)for(d in b)window.MouseEvent[d]=b[d];window.MouseEvent.prototype=b.prototype}Array.from||(Array.from=function(a){return[].slice.call(a)});Object.assign||(Object.assign=function(a,b){for(var c=[].slice.call(arguments,1),d=0,e;d<c.length;d++)if(e=c[d])for(var f= +a,n=e,r=Object.getOwnPropertyNames(n),G=0;G<r.length;G++)e=r[G],f[e]=n[e];return a})})(window.WebComponents);(function(){function a(){}function b(a,b){if(!a.childNodes.length)return[];switch(a.nodeType){case Node.DOCUMENT_NODE:return G.call(a,b);case Node.DOCUMENT_FRAGMENT_NODE:return x.call(a,b);default:return r.call(a,b)}}var c="undefined"===typeof HTMLTemplateElement,d=!(document.createDocumentFragment().cloneNode()instanceof DocumentFragment),e=!1;/Trident/.test(navigator.userAgent)&&function(){function a(a,b){if(a instanceof DocumentFragment)for(var d;d=a.firstChild;)c.call(this,d,b);else c.call(this, +a,b);return a}e=!0;var b=Node.prototype.cloneNode;Node.prototype.cloneNode=function(a){a=b.call(this,a);this instanceof DocumentFragment&&(a.__proto__=DocumentFragment.prototype);return a};DocumentFragment.prototype.querySelectorAll=HTMLElement.prototype.querySelectorAll;DocumentFragment.prototype.querySelector=HTMLElement.prototype.querySelector;Object.defineProperties(DocumentFragment.prototype,{nodeType:{get:function(){return Node.DOCUMENT_FRAGMENT_NODE},configurable:!0},localName:{get:function(){}, +configurable:!0},nodeName:{get:function(){return"#document-fragment"},configurable:!0}});var c=Node.prototype.insertBefore;Node.prototype.insertBefore=a;var d=Node.prototype.appendChild;Node.prototype.appendChild=function(b){b instanceof DocumentFragment?a.call(this,b,null):d.call(this,b);return b};var f=Node.prototype.removeChild,g=Node.prototype.replaceChild;Node.prototype.replaceChild=function(b,c){b instanceof DocumentFragment?(a.call(this,b,c),f.call(this,c)):g.call(this,b,c);return c};Document.prototype.createDocumentFragment= +function(){var a=this.createElement("df");a.__proto__=DocumentFragment.prototype;return a};var h=Document.prototype.importNode;Document.prototype.importNode=function(a,b){b=h.call(this,a,b||!1);a instanceof DocumentFragment&&(b.__proto__=DocumentFragment.prototype);return b}}();var f=Node.prototype.cloneNode,g=Document.prototype.createElement,h=Document.prototype.importNode,k=Node.prototype.removeChild,m=Node.prototype.appendChild,n=Node.prototype.replaceChild,r=Element.prototype.querySelectorAll, +G=Document.prototype.querySelectorAll,x=DocumentFragment.prototype.querySelectorAll,v=function(){if(!c){var a=document.createElement("template"),b=document.createElement("template");b.content.appendChild(document.createElement("div"));a.content.appendChild(b);a=a.cloneNode(!0);return 0===a.content.childNodes.length||0===a.content.firstChild.content.childNodes.length||d}}();if(c){var U=document.implementation.createHTMLDocument("template"),Dc=!0,xa=document.createElement("style");xa.textContent="template{display:none;}"; +var Ec=document.head;Ec.insertBefore(xa,Ec.firstElementChild);a.prototype=Object.create(HTMLElement.prototype);var mf=!document.createElement("div").hasOwnProperty("innerHTML");a.R=function(b){if(!b.content&&b.namespaceURI===document.documentElement.namespaceURI){b.content=U.createDocumentFragment();for(var c;c=b.firstChild;)m.call(b.content,c);if(mf)b.__proto__=a.prototype;else if(b.cloneNode=function(b){return a.a(this,b)},Dc)try{p(b),Fc(b)}catch(zh){Dc=!1}a.b(b.content)}};var p=function(b){Object.defineProperty(b, +"innerHTML",{get:function(){return Gc(this)},set:function(b){U.body.innerHTML=b;for(a.b(U);this.content.firstChild;)k.call(this.content,this.content.firstChild);for(;U.body.firstChild;)m.call(this.content,U.body.firstChild)},configurable:!0})},Fc=function(a){Object.defineProperty(a,"outerHTML",{get:function(){return"<template>"+this.innerHTML+"</template>"},set:function(a){if(this.parentNode){U.body.innerHTML=a;for(a=this.ownerDocument.createDocumentFragment();U.body.firstChild;)m.call(a,U.body.firstChild); +n.call(this.parentNode,a,this)}else throw Error("Failed to set the 'outerHTML' property on 'Element': This element has no parent node.");},configurable:!0})};p(a.prototype);Fc(a.prototype);a.b=function(c){c=b(c,"template");for(var d=0,e=c.length,f;d<e&&(f=c[d]);d++)a.R(f)};document.addEventListener("DOMContentLoaded",function(){a.b(document)});Document.prototype.createElement=function(){var b=g.apply(this,arguments);"template"===b.localName&&a.R(b);return b};var nf=/[&\u00A0"]/g,kb=/[&\u00A0<>]/g, +l=function(a){switch(a){case "&":return"&";case "<":return"<";case ">":return">";case '"':return""";case "\u00a0":return" "}};xa=function(a){for(var b={},c=0;c<a.length;c++)b[a[c]]=!0;return b};var F=xa("area base br col command embed hr img input keygen link meta param source track wbr".split(" ")),of=xa("style script xmp iframe noembed noframes plaintext noscript".split(" ")),Gc=function(a,b){"template"===a.localName&&(a=a.content);for(var c="",d=b?b(a):a.childNodes,e=0,f=d.length, +g;e<f&&(g=d[e]);e++){a:{var h=g;var k=a;var m=b;switch(h.nodeType){case Node.ELEMENT_NODE:for(var n=h.localName,v="<"+n,r=h.attributes,p=0;k=r[p];p++)v+=" "+k.name+'="'+k.value.replace(nf,l)+'"';v+=">";h=F[n]?v:v+Gc(h,m)+"</"+n+">";break a;case Node.TEXT_NODE:h=h.data;h=k&&of[k.localName]?h:h.replace(kb,l);break a;case Node.COMMENT_NODE:h="\x3c!--"+h.data+"--\x3e";break a;default:throw window.console.error(h),Error("not implemented");}}c+=h}return c}}if(c||v){a.a=function(a,b){var c=f.call(a,!1); +this.R&&this.R(c);b&&(m.call(c.content,f.call(a.content,!0)),lb(c.content,a.content));return c};var lb=function(c,d){if(d.querySelectorAll&&(d=b(d,"template"),0!==d.length)){c=b(c,"template");for(var e=0,f=c.length,g,h;e<f;e++)h=d[e],g=c[e],a&&a.R&&a.R(h),n.call(g.parentNode,pf.call(h,!0),g)}},pf=Node.prototype.cloneNode=function(b){if(!e&&d&&this instanceof DocumentFragment)if(b)var c=qf.call(this.ownerDocument,this,!0);else return this.ownerDocument.createDocumentFragment();else this.nodeType=== +Node.ELEMENT_NODE&&"template"===this.localName&&this.namespaceURI==document.documentElement.namespaceURI?c=a.a(this,b):c=f.call(this,b);b&&lb(c,this);return c},qf=Document.prototype.importNode=function(c,d){d=d||!1;if("template"===c.localName)return a.a(c,d);var e=h.call(this,c,d);if(d){lb(e,c);c=b(e,'script:not([type]),script[type="application/javascript"],script[type="text/javascript"]');for(var f,k=0;k<c.length;k++){f=c[k];d=g.call(document,"script");d.textContent=f.textContent;for(var m=f.attributes, +l=0,v;l<m.length;l++)v=m[l],d.setAttribute(v.name,v.value);n.call(f.parentNode,d,f)}}return e}}c&&(window.HTMLTemplateElement=a)})();var ka;Array.isArray?ka=Array.isArray:ka=function(a){return"[object Array]"===Object.prototype.toString.call(a)};var la=ka;var ma=0,na,oa="undefined"!==typeof window?window:void 0,pa=oa||{},qa=pa.MutationObserver||pa.WebKitMutationObserver,ra="undefined"===typeof self&&"undefined"!==typeof process&&"[object process]"==={}.toString.call(process),sa="undefined"!==typeof Uint8ClampedArray&&"undefined"!==typeof importScripts&&"undefined"!==typeof MessageChannel;function ta(){return"undefined"!==typeof na?function(){na(ua)}:va()} +function wa(){var a=0,b=new qa(ua),c=document.createTextNode("");b.observe(c,{characterData:!0});return function(){c.data=a=++a%2}}function ya(){var a=new MessageChannel;a.port1.onmessage=ua;return function(){return a.port2.postMessage(0)}}function va(){var a=setTimeout;return function(){return a(ua,1)}}var za=Array(1E3);function ua(){for(var a=0;a<ma;a+=2)(0,za[a])(za[a+1]),za[a]=void 0,za[a+1]=void 0;ma=0}var Aa,Ba; +if(ra)Ba=function(){return process.xb(ua)};else{var Ca;if(qa)Ca=wa();else{var Da;if(sa)Da=ya();else{var Ea;if(void 0===oa&&"function"===typeof require)try{var Fa=require("vertx");na=Fa.zb||Fa.yb;Ea=ta()}catch(a){Ea=va()}else Ea=va();Da=Ea}Ca=Da}Ba=Ca}Aa=Ba;function Ga(a,b){za[ma]=a;za[ma+1]=b;ma+=2;2===ma&&Aa()};function Ha(a,b){var c=this,d=new this.constructor(Ia);void 0===d[Ja]&&Ka(d);var e=c.o;if(e){var f=arguments[e-1];Ga(function(){return La(e,d,f,c.l)})}else Ma(c,d,a,b);return d};function Na(a){if(a&&"object"===typeof a&&a.constructor===this)return a;var b=new this(Ia);Oa(b,a);return b};var Ja=Math.random().toString(36).substring(16);function Ia(){}var Qa=new Pa;function Ra(a){try{return a.then}catch(b){return Qa.error=b,Qa}}function Sa(a,b,c,d){try{a.call(b,c,d)}catch(e){return e}}function Ta(a,b,c){Ga(function(a){var d=!1,f=Sa(c,b,function(c){d||(d=!0,b!==c?Oa(a,c):t(a,c))},function(b){d||(d=!0,u(a,b))});!d&&f&&(d=!0,u(a,f))},a)}function Ua(a,b){1===b.o?t(a,b.l):2===b.o?u(a,b.l):Ma(b,void 0,function(b){return Oa(a,b)},function(b){return u(a,b)})} +function Va(a,b,c){b.constructor===a.constructor&&c===Ha&&b.constructor.resolve===Na?Ua(a,b):c===Qa?(u(a,Qa.error),Qa.error=null):void 0===c?t(a,b):"function"===typeof c?Ta(a,b,c):t(a,b)}function Oa(a,b){if(a===b)u(a,new TypeError("You cannot resolve a promise with itself"));else{var c=typeof b;null===b||"object"!==c&&"function"!==c?t(a,b):Va(a,b,Ra(b))}}function Wa(a){a.xa&&a.xa(a.l);Xa(a)}function t(a,b){void 0===a.o&&(a.l=b,a.o=1,0!==a.U.length&&Ga(Xa,a))} +function u(a,b){void 0===a.o&&(a.o=2,a.l=b,Ga(Wa,a))}function Ma(a,b,c,d){var e=a.U,f=e.length;a.xa=null;e[f]=b;e[f+1]=c;e[f+2]=d;0===f&&a.o&&Ga(Xa,a)}function Xa(a){var b=a.U,c=a.o;if(0!==b.length){for(var d,e,f=a.l,g=0;g<b.length;g+=3)d=b[g],e=b[g+c],d?La(c,d,e,f):e(f);a.U.length=0}}function Pa(){this.error=null}var Ya=new Pa; +function La(a,b,c,d){var e="function"===typeof c;if(e){try{var f=c(d)}catch(m){Ya.error=m,f=Ya}if(f===Ya){var g=!0;var h=f.error;f.error=null}else var k=!0;if(b===f){u(b,new TypeError("A promises callback cannot return that same promise."));return}}else f=d,k=!0;void 0===b.o&&(e&&k?Oa(b,f):g?u(b,h):1===a?t(b,f):2===a&&u(b,f))}function Za(a,b){try{b(function(b){Oa(a,b)},function(b){u(a,b)})}catch(c){u(a,c)}}var $a=0;function Ka(a){a[Ja]=$a++;a.o=void 0;a.l=void 0;a.U=[]};function ab(a,b){this.Na=a;this.N=new a(Ia);this.N[Ja]||Ka(this.N);if(la(b))if(this.$=this.length=b.length,this.l=Array(this.length),0===this.length)t(this.N,this.l);else{this.length=this.length||0;for(a=0;void 0===this.o&&a<b.length;a++)bb(this,b[a],a);0===this.$&&t(this.N,this.l)}else u(this.N,Error("Array Methods must be provided an Array"))} +function bb(a,b,c){var d=a.Na,e=d.resolve;e===Na?(e=Ra(b),e===Ha&&void 0!==b.o?cb(a,b.o,c,b.l):"function"!==typeof e?(a.$--,a.l[c]=b):d===w?(d=new d(Ia),Va(d,b,e),db(a,d,c)):db(a,new d(function(a){return a(b)}),c)):db(a,e(b),c)}function cb(a,b,c,d){var e=a.N;void 0===e.o&&(a.$--,2===b?u(e,d):a.l[c]=d);0===a.$&&t(e,a.l)}function db(a,b,c){Ma(b,void 0,function(b){return cb(a,1,c,b)},function(b){return cb(a,2,c,b)})};function eb(a){return(new ab(this,a)).N};function fb(a){var b=this;return la(a)?new b(function(c,d){for(var e=a.length,f=0;f<e;f++)b.resolve(a[f]).then(c,d)}):new b(function(a,b){return b(new TypeError("You must pass an array to race."))})};function gb(a){var b=new this(Ia);u(b,a);return b};function w(a){this[Ja]=$a++;this.l=this.o=void 0;this.U=[];if(Ia!==a){if("function"!==typeof a)throw new TypeError("You must pass a resolver function as the first argument to the promise constructor");if(this instanceof w)Za(this,a);else throw new TypeError("Failed to construct 'Promise': Please use the 'new' operator, this object constructor cannot be called as a function.");}}w.prototype={constructor:w,then:Ha,a:function(a){return this.then(null,a)}};/* + +Copyright (c) 2017 The Polymer Project Authors. All rights reserved. +This code may only be used under the BSD style license found at http://polymer.github.io/LICENSE.txt +The complete set of authors may be found at http://polymer.github.io/AUTHORS.txt +The complete set of contributors may be found at http://polymer.github.io/CONTRIBUTORS.txt +Code distributed by Google as part of the polymer project is also +subject to an additional IP rights grant found at http://polymer.github.io/PATENTS.txt +*/ +window.Promise||(window.Promise=w,w.prototype["catch"]=w.prototype.a,w.prototype.then=w.prototype.then,w.all=eb,w.race=fb,w.resolve=Na,w.reject=gb);/* + + Copyright (c) 2014 The Polymer Project Authors. All rights reserved. + This code may only be used under the BSD style license found at http://polymer.github.io/LICENSE.txt + The complete set of authors may be found at http://polymer.github.io/AUTHORS.txt + The complete set of contributors may be found at http://polymer.github.io/CONTRIBUTORS.txt + Code distributed by Google as part of the polymer project is also + subject to an additional IP rights grant found at http://polymer.github.io/PATENTS.txt +*/ +window.WebComponents=window.WebComponents||{flags:{}};var hb=document.querySelector('script[src*="webcomponents-bundle"]'),ib=/wc-(.+)/,y={};if(!y.noOpts){location.search.slice(1).split("&").forEach(function(a){a=a.split("=");var b;a[0]&&(b=a[0].match(ib))&&(y[b[1]]=a[1]||!0)});if(hb)for(var jb=0,mb;mb=hb.attributes[jb];jb++)"src"!==mb.name&&(y[mb.name]=mb.value||!0);if(y.log&&y.log.split){var nb=y.log.split(",");y.log={};nb.forEach(function(a){y.log[a]=!0})}else y.log={}} +window.WebComponents.flags=y;var ob=y.shadydom;ob&&(window.ShadyDOM=window.ShadyDOM||{},window.ShadyDOM.force=ob);var pb=y.register||y.ce;pb&&window.customElements&&(window.customElements.forcePolyfill=pb);/* + +Copyright (c) 2016 The Polymer Project Authors. All rights reserved. +This code may only be used under the BSD style license found at http://polymer.github.io/LICENSE.txt +The complete set of authors may be found at http://polymer.github.io/AUTHORS.txt +The complete set of contributors may be found at http://polymer.github.io/CONTRIBUTORS.txt +Code distributed by Google as part of the polymer project is also +subject to an additional IP rights grant found at http://polymer.github.io/PATENTS.txt +*/ +function qb(){this.Da=this.root=null;this.da=!1;this.L=this.Z=this.pa=this.assignedSlot=this.assignedNodes=this.S=null;this.childNodes=this.nextSibling=this.previousSibling=this.lastChild=this.firstChild=this.parentNode=this.V=void 0;this.Ia=this.va=!1}qb.prototype.toJSON=function(){return{}};function z(a){a.ka||(a.ka=new qb);return a.ka}function A(a){return a&&a.ka};var B=window.ShadyDOM||{};B.Ua=!(!Element.prototype.attachShadow||!Node.prototype.getRootNode);var rb=Object.getOwnPropertyDescriptor(Node.prototype,"firstChild");B.I=!!(rb&&rb.configurable&&rb.get);B.Ba=B.force||!B.Ua;var sb=navigator.userAgent.match("Trident"),tb=navigator.userAgent.match("Edge");void 0===B.Fa&&(B.Fa=B.I&&(sb||tb));function ub(a){return(a=A(a))&&void 0!==a.firstChild}function C(a){return"ShadyRoot"===a.Oa}function vb(a){a=a.getRootNode();if(C(a))return a} +var wb=Element.prototype,xb=wb.matches||wb.matchesSelector||wb.mozMatchesSelector||wb.msMatchesSelector||wb.oMatchesSelector||wb.webkitMatchesSelector;function yb(a,b){if(a&&b)for(var c=Object.getOwnPropertyNames(b),d=0,e;d<c.length&&(e=c[d]);d++){var f=Object.getOwnPropertyDescriptor(b,e);f&&Object.defineProperty(a,e,f)}}function zb(a,b){for(var c=[],d=1;d<arguments.length;++d)c[d-1]=arguments[d];for(d=0;d<c.length;d++)yb(a,c[d]);return a}function Ab(a,b){for(var c in b)a[c]=b[c]} +var Bb=document.createTextNode(""),Cb=0,Db=[];(new MutationObserver(function(){for(;Db.length;)try{Db.shift()()}catch(a){throw Bb.textContent=Cb++,a;}})).observe(Bb,{characterData:!0});function Eb(a){Db.push(a);Bb.textContent=Cb++}var Fb=!!document.contains;function Gb(a,b){for(;b;){if(b==a)return!0;b=b.parentNode}return!1};var Hb=[],Ib;function Jb(a){Ib||(Ib=!0,Eb(Kb));Hb.push(a)}function Kb(){Ib=!1;for(var a=!!Hb.length;Hb.length;)Hb.shift()();return a}Kb.list=Hb;function Lb(){this.a=!1;this.addedNodes=[];this.removedNodes=[];this.ca=new Set}function Mb(a){a.a||(a.a=!0,Eb(function(){Nb(a)}))}function Nb(a){if(a.a){a.a=!1;var b=a.takeRecords();b.length&&a.ca.forEach(function(a){a(b)})}}Lb.prototype.takeRecords=function(){if(this.addedNodes.length||this.removedNodes.length){var a=[{addedNodes:this.addedNodes,removedNodes:this.removedNodes}];this.addedNodes=[];this.removedNodes=[];return a}return[]}; +function Ob(a,b){var c=z(a);c.S||(c.S=new Lb);c.S.ca.add(b);var d=c.S;return{La:b,P:d,Pa:a,takeRecords:function(){return d.takeRecords()}}}function Pb(a){var b=a&&a.P;b&&(b.ca.delete(a.La),b.ca.size||(z(a.Pa).S=null))} +function Qb(a,b){var c=b.getRootNode();return a.map(function(a){var b=c===a.target.getRootNode();if(b&&a.addedNodes){if(b=Array.from(a.addedNodes).filter(function(a){return c===a.getRootNode()}),b.length)return a=Object.create(a),Object.defineProperty(a,"addedNodes",{value:b,configurable:!0}),a}else if(b)return a}).filter(function(a){return a})};var D={},Rb=Element.prototype.insertBefore,Sb=Element.prototype.replaceChild,Tb=Element.prototype.removeChild,Ub=Element.prototype.setAttribute,Vb=Element.prototype.removeAttribute,Wb=Element.prototype.cloneNode,Xb=Document.prototype.importNode,Yb=Element.prototype.addEventListener,Zb=Element.prototype.removeEventListener,$b=Window.prototype.addEventListener,ac=Window.prototype.removeEventListener,bc=Element.prototype.dispatchEvent,cc=Node.prototype.contains||HTMLElement.prototype.contains,dc=Document.prototype.getElementById, +ec=Element.prototype.querySelector,fc=DocumentFragment.prototype.querySelector,gc=Document.prototype.querySelector,hc=Element.prototype.querySelectorAll,ic=DocumentFragment.prototype.querySelectorAll,jc=Document.prototype.querySelectorAll;D.appendChild=Element.prototype.appendChild;D.insertBefore=Rb;D.replaceChild=Sb;D.removeChild=Tb;D.setAttribute=Ub;D.removeAttribute=Vb;D.cloneNode=Wb;D.importNode=Xb;D.addEventListener=Yb;D.removeEventListener=Zb;D.eb=$b;D.fb=ac;D.dispatchEvent=bc;D.contains=cc; +D.getElementById=dc;D.ob=ec;D.sb=fc;D.mb=gc;D.querySelector=function(a){switch(this.nodeType){case Node.ELEMENT_NODE:return ec.call(this,a);case Node.DOCUMENT_NODE:return gc.call(this,a);default:return fc.call(this,a)}};D.pb=hc;D.tb=ic;D.nb=jc;D.querySelectorAll=function(a){switch(this.nodeType){case Node.ELEMENT_NODE:return hc.call(this,a);case Node.DOCUMENT_NODE:return jc.call(this,a);default:return ic.call(this,a)}};var kc=/[&\u00A0"]/g,lc=/[&\u00A0<>]/g;function mc(a){switch(a){case "&":return"&";case "<":return"<";case ">":return">";case '"':return""";case "\u00a0":return" "}}function nc(a){for(var b={},c=0;c<a.length;c++)b[a[c]]=!0;return b}var oc=nc("area base br col command embed hr img input keygen link meta param source track wbr".split(" ")),pc=nc("style script xmp iframe noembed noframes plaintext noscript".split(" ")); +function qc(a,b){"template"===a.localName&&(a=a.content);for(var c="",d=b?b(a):a.childNodes,e=0,f=d.length,g;e<f&&(g=d[e]);e++){a:{var h=g;var k=a;var m=b;switch(h.nodeType){case Node.ELEMENT_NODE:for(var n=h.localName,r="<"+n,G=h.attributes,x=0;k=G[x];x++)r+=" "+k.name+'="'+k.value.replace(kc,mc)+'"';r+=">";h=oc[n]?r:r+qc(h,m)+"</"+n+">";break a;case Node.TEXT_NODE:h=h.data;h=k&&pc[k.localName]?h:h.replace(lc,mc);break a;case Node.COMMENT_NODE:h="\x3c!--"+h.data+"--\x3e";break a;default:throw window.console.error(h), +Error("not implemented");}}c+=h}return c};var E={},H=document.createTreeWalker(document,NodeFilter.SHOW_ALL,null,!1),I=document.createTreeWalker(document,NodeFilter.SHOW_ELEMENT,null,!1);function rc(a){var b=[];H.currentNode=a;for(a=H.firstChild();a;)b.push(a),a=H.nextSibling();return b}E.parentNode=function(a){H.currentNode=a;return H.parentNode()};E.firstChild=function(a){H.currentNode=a;return H.firstChild()};E.lastChild=function(a){H.currentNode=a;return H.lastChild()};E.previousSibling=function(a){H.currentNode=a;return H.previousSibling()}; +E.nextSibling=function(a){H.currentNode=a;return H.nextSibling()};E.childNodes=rc;E.parentElement=function(a){I.currentNode=a;return I.parentNode()};E.firstElementChild=function(a){I.currentNode=a;return I.firstChild()};E.lastElementChild=function(a){I.currentNode=a;return I.lastChild()};E.previousElementSibling=function(a){I.currentNode=a;return I.previousSibling()};E.nextElementSibling=function(a){I.currentNode=a;return I.nextSibling()}; +E.children=function(a){var b=[];I.currentNode=a;for(a=I.firstChild();a;)b.push(a),a=I.nextSibling();return b};E.innerHTML=function(a){return qc(a,function(a){return rc(a)})};E.textContent=function(a){switch(a.nodeType){case Node.ELEMENT_NODE:case Node.DOCUMENT_FRAGMENT_NODE:a=document.createTreeWalker(a,NodeFilter.SHOW_TEXT,null,!1);for(var b="",c;c=a.nextNode();)b+=c.nodeValue;return b;default:return a.nodeValue}};var J={},sc=B.I,tc=[Node.prototype,Element.prototype,HTMLElement.prototype];function K(a){var b;a:{for(b=0;b<tc.length;b++){var c=tc[b];if(c.hasOwnProperty(a)){b=c;break a}}b=void 0}if(!b)throw Error("Could not find descriptor for "+a);return Object.getOwnPropertyDescriptor(b,a)} +var L=sc?{parentNode:K("parentNode"),firstChild:K("firstChild"),lastChild:K("lastChild"),previousSibling:K("previousSibling"),nextSibling:K("nextSibling"),childNodes:K("childNodes"),parentElement:K("parentElement"),previousElementSibling:K("previousElementSibling"),nextElementSibling:K("nextElementSibling"),innerHTML:K("innerHTML"),textContent:K("textContent"),firstElementChild:K("firstElementChild"),lastElementChild:K("lastElementChild"),children:K("children")}:{},uc=sc?{firstElementChild:Object.getOwnPropertyDescriptor(DocumentFragment.prototype, +"firstElementChild"),lastElementChild:Object.getOwnPropertyDescriptor(DocumentFragment.prototype,"lastElementChild"),children:Object.getOwnPropertyDescriptor(DocumentFragment.prototype,"children")}:{},vc=sc?{firstElementChild:Object.getOwnPropertyDescriptor(Document.prototype,"firstElementChild"),lastElementChild:Object.getOwnPropertyDescriptor(Document.prototype,"lastElementChild"),children:Object.getOwnPropertyDescriptor(Document.prototype,"children")}:{};J.Ca=L;J.rb=uc;J.lb=vc;J.parentNode=function(a){return L.parentNode.get.call(a)}; +J.firstChild=function(a){return L.firstChild.get.call(a)};J.lastChild=function(a){return L.lastChild.get.call(a)};J.previousSibling=function(a){return L.previousSibling.get.call(a)};J.nextSibling=function(a){return L.nextSibling.get.call(a)};J.childNodes=function(a){return Array.prototype.slice.call(L.childNodes.get.call(a))};J.parentElement=function(a){return L.parentElement.get.call(a)};J.previousElementSibling=function(a){return L.previousElementSibling.get.call(a)};J.nextElementSibling=function(a){return L.nextElementSibling.get.call(a)}; +J.innerHTML=function(a){return L.innerHTML.get.call(a)};J.textContent=function(a){return L.textContent.get.call(a)};J.children=function(a){switch(a.nodeType){case Node.DOCUMENT_FRAGMENT_NODE:a=uc.children.get.call(a);break;case Node.DOCUMENT_NODE:a=vc.children.get.call(a);break;default:a=L.children.get.call(a)}return Array.prototype.slice.call(a)}; +J.firstElementChild=function(a){switch(a.nodeType){case Node.DOCUMENT_FRAGMENT_NODE:return uc.firstElementChild.get.call(a);case Node.DOCUMENT_NODE:return vc.firstElementChild.get.call(a);default:return L.firstElementChild.get.call(a)}};J.lastElementChild=function(a){switch(a.nodeType){case Node.DOCUMENT_FRAGMENT_NODE:return uc.lastElementChild.get.call(a);case Node.DOCUMENT_NODE:return vc.lastElementChild.get.call(a);default:return L.lastElementChild.get.call(a)}};var M=B.Fa?J:E;function wc(a){for(;a.firstChild;)a.removeChild(a.firstChild)} +var xc=B.I,yc=document.implementation.createHTMLDocument("inert"),zc=Object.getOwnPropertyDescriptor(Node.prototype,"isConnected"),Ac=zc&&zc.get,Bc=Object.getOwnPropertyDescriptor(Document.prototype,"activeElement"),Cc={parentElement:{get:function(){var a=A(this);(a=a&&a.parentNode)&&a.nodeType!==Node.ELEMENT_NODE&&(a=null);return void 0!==a?a:M.parentElement(this)},configurable:!0},parentNode:{get:function(){var a=A(this);a=a&&a.parentNode;return void 0!==a?a:M.parentNode(this)},configurable:!0}, +nextSibling:{get:function(){var a=A(this);a=a&&a.nextSibling;return void 0!==a?a:M.nextSibling(this)},configurable:!0},previousSibling:{get:function(){var a=A(this);a=a&&a.previousSibling;return void 0!==a?a:M.previousSibling(this)},configurable:!0},nextElementSibling:{get:function(){var a=A(this);if(a&&void 0!==a.nextSibling){for(a=this.nextSibling;a&&a.nodeType!==Node.ELEMENT_NODE;)a=a.nextSibling;return a}return M.nextElementSibling(this)},configurable:!0},previousElementSibling:{get:function(){var a= +A(this);if(a&&void 0!==a.previousSibling){for(a=this.previousSibling;a&&a.nodeType!==Node.ELEMENT_NODE;)a=a.previousSibling;return a}return M.previousElementSibling(this)},configurable:!0}},Hc={className:{get:function(){return this.getAttribute("class")||""},set:function(a){this.setAttribute("class",a)},configurable:!0}},Ic={childNodes:{get:function(){if(ub(this)){var a=A(this);if(!a.childNodes){a.childNodes=[];for(var b=this.firstChild;b;b=b.nextSibling)a.childNodes.push(b)}var c=a.childNodes}else c= +M.childNodes(this);c.item=function(a){return c[a]};return c},configurable:!0},childElementCount:{get:function(){return this.children.length},configurable:!0},firstChild:{get:function(){var a=A(this);a=a&&a.firstChild;return void 0!==a?a:M.firstChild(this)},configurable:!0},lastChild:{get:function(){var a=A(this);a=a&&a.lastChild;return void 0!==a?a:M.lastChild(this)},configurable:!0},textContent:{get:function(){if(ub(this)){for(var a=[],b=0,c=this.childNodes,d;d=c[b];b++)d.nodeType!==Node.COMMENT_NODE&& +a.push(d.textContent);return a.join("")}return M.textContent(this)},set:function(a){if("undefined"===typeof a||null===a)a="";switch(this.nodeType){case Node.ELEMENT_NODE:case Node.DOCUMENT_FRAGMENT_NODE:if(!ub(this)&&xc){var b=this.firstChild;(b!=this.lastChild||b&&b.nodeType!=Node.TEXT_NODE)&&wc(this);J.Ca.textContent.set.call(this,a)}else wc(this),(0<a.length||this.nodeType===Node.ELEMENT_NODE)&&this.appendChild(document.createTextNode(a));break;default:this.nodeValue=a}},configurable:!0},firstElementChild:{get:function(){var a= +A(this);if(a&&void 0!==a.firstChild){for(a=this.firstChild;a&&a.nodeType!==Node.ELEMENT_NODE;)a=a.nextSibling;return a}return M.firstElementChild(this)},configurable:!0},lastElementChild:{get:function(){var a=A(this);if(a&&void 0!==a.lastChild){for(a=this.lastChild;a&&a.nodeType!==Node.ELEMENT_NODE;)a=a.previousSibling;return a}return M.lastElementChild(this)},configurable:!0},children:{get:function(){var a;ub(this)?a=Array.prototype.filter.call(this.childNodes,function(a){return a.nodeType===Node.ELEMENT_NODE}): +a=M.children(this);a.item=function(b){return a[b]};return a},configurable:!0},innerHTML:{get:function(){return ub(this)?qc("template"===this.localName?this.content:this):M.innerHTML(this)},set:function(a){var b="template"===this.localName?this.content:this;wc(b);var c=this.localName;c&&"template"!==c||(c="div");c=yc.createElement(c);for(xc?J.Ca.innerHTML.set.call(c,a):c.innerHTML=a;c.firstChild;)b.appendChild(c.firstChild)},configurable:!0}},Jc={shadowRoot:{get:function(){var a=A(this);return a&& +a.Da||null},configurable:!0}},Kc={activeElement:{get:function(){var a=Bc&&Bc.get?Bc.get.call(document):B.I?void 0:document.activeElement;if(a&&a.nodeType){var b=!!C(this);if(this===document||b&&this.host!==a&&D.contains.call(this.host,a)){for(b=vb(a);b&&b!==this;)a=b.host,b=vb(a);a=this===document?b?null:a:b===this?a:null}else a=null}else a=null;return a},set:function(){},configurable:!0}}; +function N(a,b,c){for(var d in b){var e=Object.getOwnPropertyDescriptor(a,d);e&&e.configurable||!e&&c?Object.defineProperty(a,d,b[d]):c&&console.warn("Could not define",d,"on",a)}}function Lc(a){N(a,Cc);N(a,Hc);N(a,Ic);N(a,Kc)} +function Mc(){var a=Nc.prototype;a.__proto__=DocumentFragment.prototype;N(a,Cc,!0);N(a,Ic,!0);N(a,Kc,!0);Object.defineProperties(a,{nodeType:{value:Node.DOCUMENT_FRAGMENT_NODE,configurable:!0},nodeName:{value:"#document-fragment",configurable:!0},nodeValue:{value:null,configurable:!0}});["localName","namespaceURI","prefix"].forEach(function(b){Object.defineProperty(a,b,{value:void 0,configurable:!0})});["ownerDocument","baseURI","isConnected"].forEach(function(b){Object.defineProperty(a,b,{get:function(){return this.host[b]}, +configurable:!0})})}var Oc=B.I?function(){}:function(a){var b=z(a);b.va||(b.va=!0,N(a,Cc,!0),N(a,Hc,!0))},Pc=B.I?function(){}:function(a){z(a).Ia||(N(a,Ic,!0),N(a,Jc,!0))};var Qc=M.childNodes;function Rc(a,b,c){Oc(a);c=c||null;var d=z(a),e=z(b),f=c?z(c):null;d.previousSibling=c?f.previousSibling:b.lastChild;if(f=A(d.previousSibling))f.nextSibling=a;if(f=A(d.nextSibling=c))f.previousSibling=a;d.parentNode=b;c?c===e.firstChild&&(e.firstChild=a):(e.lastChild=a,e.firstChild||(e.firstChild=a));e.childNodes=null} +function Sc(a,b){var c=z(a);if(void 0===c.firstChild)for(b=b||Qc(a),c.firstChild=b[0]||null,c.lastChild=b[b.length-1]||null,Pc(a),c=0;c<b.length;c++){var d=b[c],e=z(d);e.parentNode=a;e.nextSibling=b[c+1]||null;e.previousSibling=b[c-1]||null;Oc(d)}};var Tc=M.parentNode; +function Uc(a,b,c){if(b===a)throw Error("Failed to execute 'appendChild' on 'Node': The new child element contains the parent.");if(c){var d=A(c);d=d&&d.parentNode;if(void 0!==d&&d!==a||void 0===d&&Tc(c)!==a)throw Error("Failed to execute 'insertBefore' on 'Node': The node before which the new node is to be inserted is not a child of this node.");}if(c===b)return b;b.parentNode&&Vc(b.parentNode,b);var e,f;if(!b.__noInsertionPoint){if(f=e=vb(a)){var g;"slot"===b.localName?g=[b]:b.querySelectorAll&& +(g=b.querySelectorAll("slot"));f=g&&g.length?g:void 0}f&&(g=e,d=f,g.a=g.a||[],g.m=g.m||[],g.w=g.w||{},g.a.push.apply(g.a,[].concat(d instanceof Array?d:ja(ia(d)))))}("slot"===a.localName||f)&&(e=e||vb(a))&&Wc(e);if(ub(a)){e=c;Pc(a);f=z(a);void 0!==f.firstChild&&(f.childNodes=null);if(b.nodeType===Node.DOCUMENT_FRAGMENT_NODE){f=b.childNodes;for(g=0;g<f.length;g++)Rc(f[g],a,e);e=z(b);f=void 0!==e.firstChild?null:void 0;e.firstChild=e.lastChild=f;e.childNodes=f}else Rc(b,a,e);e=A(a);if(Xc(a)){Wc(e.root); +var h=!0}else e.root&&(h=!0)}h||(h=C(a)?a.host:a,c?(c=Yc(c),D.insertBefore.call(h,b,c)):D.appendChild.call(h,b));Zc(a,b);return b} +function Vc(a,b){if(b.parentNode!==a)throw Error("The node to be removed is not a child of this node: "+b);var c=vb(b),d=A(a);if(ub(a)){var e=z(b),f=z(a);b===f.firstChild&&(f.firstChild=e.nextSibling);b===f.lastChild&&(f.lastChild=e.previousSibling);var g=e.previousSibling,h=e.nextSibling;g&&(z(g).nextSibling=h);h&&(z(h).previousSibling=g);e.parentNode=e.previousSibling=e.nextSibling=void 0;void 0!==f.childNodes&&(f.childNodes=null);if(Xc(a)){Wc(d.root);var k=!0}}$c(b);if(c){(e=a&&"slot"===a.localName)&& +(k=!0);if(c.m){ad(c);f=c.w;for(v in f)for(g=f[v],h=0;h<g.length;h++){var m=g[h];if(Gb(b,m)){g.splice(h,1);var n=c.m.indexOf(m);0<=n&&c.m.splice(n,1);h--;n=A(m);if(m=n.L)for(var r=0;r<m.length;r++){var G=m[r],x=bd(G);x&&D.removeChild.call(x,G)}n.L=[];n.assignedNodes=[];n=!0}}var v=n}else v=void 0;(v||e)&&Wc(c)}k||(k=C(a)?a.host:a,(!d.root&&"slot"!==b.localName||k===Tc(b))&&D.removeChild.call(k,b));Zc(a,null,b);return b} +function $c(a){var b=A(a);if(b&&void 0!==b.V){b=a.childNodes;for(var c=0,d=b.length,e;c<d&&(e=b[c]);c++)$c(e)}if(a=A(a))a.V=void 0}function Yc(a){var b=a;a&&"slot"===a.localName&&(b=(b=(b=A(a))&&b.L)&&b.length?b[0]:Yc(a.nextSibling));return b}function Xc(a){return(a=(a=A(a))&&a.root)&&cd(a)} +function dd(a,b){if("slot"===b)a=a.parentNode,Xc(a)&&Wc(A(a).root);else if("slot"===a.localName&&"name"===b&&(b=vb(a))){if(b.m){var c=a.Ja,d=ed(a);if(d!==c){c=b.w[c];var e=c.indexOf(a);0<=e&&c.splice(e,1);c=b.w[d]||(b.w[d]=[]);c.push(a);1<c.length&&(b.w[d]=fd(c))}}Wc(b)}}function Zc(a,b,c){if(a=(a=A(a))&&a.S)b&&a.addedNodes.push(b),c&&a.removedNodes.push(c),Mb(a)} +function gd(a){if(a&&a.nodeType){var b=z(a),c=b.V;void 0===c&&(C(a)?(c=a,b.V=c):(c=(c=a.parentNode)?gd(c):a,D.contains.call(document.documentElement,a)&&(b.V=c)));return c}}function hd(a,b,c){var d=[];id(a.childNodes,b,c,d);return d}function id(a,b,c,d){for(var e=0,f=a.length,g;e<f&&(g=a[e]);e++){var h;if(h=g.nodeType===Node.ELEMENT_NODE){h=g;var k=b,m=c,n=d,r=k(h);r&&n.push(h);m&&m(r)?h=r:(id(h.childNodes,k,m,n),h=void 0)}if(h)break}}var jd=null; +function kd(a,b,c){jd||(jd=window.ShadyCSS&&window.ShadyCSS.ScopingShim);jd&&"class"===b?jd.setElementClass(a,c):(D.setAttribute.call(a,b,c),dd(a,b))}function ld(a,b){if(a.ownerDocument!==document)return D.importNode.call(document,a,b);var c=D.importNode.call(document,a,!1);if(b){a=a.childNodes;b=0;for(var d;b<a.length;b++)d=ld(a[b],!0),c.appendChild(d)}return c};var md="__eventWrappers"+Date.now(),nd={blur:!0,focus:!0,focusin:!0,focusout:!0,click:!0,dblclick:!0,mousedown:!0,mouseenter:!0,mouseleave:!0,mousemove:!0,mouseout:!0,mouseover:!0,mouseup:!0,wheel:!0,beforeinput:!0,input:!0,keydown:!0,keyup:!0,compositionstart:!0,compositionupdate:!0,compositionend:!0,touchstart:!0,touchend:!0,touchmove:!0,touchcancel:!0,pointerover:!0,pointerenter:!0,pointerdown:!0,pointermove:!0,pointerup:!0,pointercancel:!0,pointerout:!0,pointerleave:!0,gotpointercapture:!0,lostpointercapture:!0, +dragstart:!0,drag:!0,dragenter:!0,dragleave:!0,dragover:!0,drop:!0,dragend:!0,DOMActivate:!0,DOMFocusIn:!0,DOMFocusOut:!0,keypress:!0};function od(a,b){var c=[],d=a;for(a=a===window?window:a.getRootNode();d;)c.push(d),d=d.assignedSlot?d.assignedSlot:d.nodeType===Node.DOCUMENT_FRAGMENT_NODE&&d.host&&(b||d!==a)?d.host:d.parentNode;c[c.length-1]===document&&c.push(window);return c} +function pd(a,b){if(!C)return a;a=od(a,!0);for(var c=0,d,e,f,g;c<b.length;c++)if(d=b[c],f=d===window?window:d.getRootNode(),f!==e&&(g=a.indexOf(f),e=f),!C(f)||-1<g)return d} +var qd={get composed(){!1!==this.isTrusted&&void 0===this.ha&&(this.ha=nd[this.type]);return this.ha||!1},composedPath:function(){this.ta||(this.ta=od(this.__target,this.composed));return this.ta},get target(){return pd(this.currentTarget,this.composedPath())},get relatedTarget(){if(!this.ja)return null;this.wa||(this.wa=od(this.ja,!0));return pd(this.currentTarget,this.wa)},stopPropagation:function(){Event.prototype.stopPropagation.call(this);this.ia=!0},stopImmediatePropagation:function(){Event.prototype.stopImmediatePropagation.call(this); +this.ia=this.Ha=!0}};function rd(a){function b(b,d){b=new a(b,d);b.ha=d&&!!d.composed;return b}Ab(b,a);b.prototype=a.prototype;return b}var sd={focus:!0,blur:!0};function td(a){return a.__target!==a.target||a.ja!==a.relatedTarget}function ud(a,b,c){if(c=b.__handlers&&b.__handlers[a.type]&&b.__handlers[a.type][c])for(var d=0,e;(e=c[d])&&(!td(a)||a.target!==a.relatedTarget)&&(e.call(b,a),!a.Ha);d++);} +function vd(a){var b=a.composedPath();Object.defineProperty(a,"currentTarget",{get:function(){return d},configurable:!0});for(var c=b.length-1;0<=c;c--){var d=b[c];ud(a,d,"capture");if(a.ia)return}Object.defineProperty(a,"eventPhase",{get:function(){return Event.AT_TARGET}});var e;for(c=0;c<b.length;c++){d=b[c];var f=A(d);f=f&&f.root;if(0===c||f&&f===e)if(ud(a,d,"bubble"),d!==window&&(e=d.getRootNode()),a.ia)break}} +function wd(a,b,c,d,e,f){for(var g=0;g<a.length;g++){var h=a[g],k=h.type,m=h.capture,n=h.once,r=h.passive;if(b===h.node&&c===k&&d===m&&e===n&&f===r)return g}return-1} +function xd(a,b,c){if(b){var d=typeof b;if("function"===d||"object"===d)if("object"!==d||b.handleEvent&&"function"===typeof b.handleEvent){if(c&&"object"===typeof c){var e=!!c.capture;var f=!!c.once;var g=!!c.passive}else e=!!c,g=f=!1;var h=c&&c.la||this,k=b[md];if(k){if(-1<wd(k,h,a,e,f,g))return}else b[md]=[];k=function(e){f&&this.removeEventListener(a,b,c);e.__target||yd(e);if(h!==this){var g=Object.getOwnPropertyDescriptor(e,"currentTarget");Object.defineProperty(e,"currentTarget",{get:function(){return h}, +configurable:!0})}if(e.composed||-1<e.composedPath().indexOf(h))if(td(e)&&e.target===e.relatedTarget)e.eventPhase===Event.BUBBLING_PHASE&&e.stopImmediatePropagation();else if(e.eventPhase===Event.CAPTURING_PHASE||e.bubbles||e.target===h||h instanceof Window){var k="function"===d?b.call(h,e):b.handleEvent&&b.handleEvent(e);h!==this&&(g?(Object.defineProperty(e,"currentTarget",g),g=null):delete e.currentTarget);return k}};b[md].push({node:h,type:a,capture:e,once:f,passive:g,gb:k});sd[a]?(this.__handlers= +this.__handlers||{},this.__handlers[a]=this.__handlers[a]||{capture:[],bubble:[]},this.__handlers[a][e?"capture":"bubble"].push(k)):(this instanceof Window?D.eb:D.addEventListener).call(this,a,k,c)}}} +function zd(a,b,c){if(b){if(c&&"object"===typeof c){var d=!!c.capture;var e=!!c.once;var f=!!c.passive}else d=!!c,f=e=!1;var g=c&&c.la||this,h=void 0;var k=null;try{k=b[md]}catch(m){}k&&(e=wd(k,g,a,d,e,f),-1<e&&(h=k.splice(e,1)[0].gb,k.length||(b[md]=void 0)));(this instanceof Window?D.fb:D.removeEventListener).call(this,a,h||b,c);h&&sd[a]&&this.__handlers&&this.__handlers[a]&&(a=this.__handlers[a][d?"capture":"bubble"],h=a.indexOf(h),-1<h&&a.splice(h,1))}} +function Ad(){for(var a in sd)window.addEventListener(a,function(a){a.__target||(yd(a),vd(a))},!0)}function yd(a){a.__target=a.target;a.ja=a.relatedTarget;if(B.I){var b=Object.getPrototypeOf(a);if(!b.hasOwnProperty("__patchProto")){var c=Object.create(b);c.ib=b;yb(c,qd);b.__patchProto=c}a.__proto__=b.__patchProto}else yb(a,qd)}var Bd=rd(window.Event),Cd=rd(window.CustomEvent),Dd=rd(window.MouseEvent);function Ed(a,b){return{index:a,W:[],ba:b}} +function Fd(a,b,c,d){var e=0,f=0,g=0,h=0,k=Math.min(b-e,d-f);if(0==e&&0==f)a:{for(g=0;g<k;g++)if(a[g]!==c[g])break a;g=k}if(b==a.length&&d==c.length){h=a.length;for(var m=c.length,n=0;n<k-g&&Gd(a[--h],c[--m]);)n++;h=n}e+=g;f+=g;b-=h;d-=h;if(0==b-e&&0==d-f)return[];if(e==b){for(b=Ed(e,0);f<d;)b.W.push(c[f++]);return[b]}if(f==d)return[Ed(e,b-e)];k=e;g=f;d=d-g+1;h=b-k+1;b=Array(d);for(m=0;m<d;m++)b[m]=Array(h),b[m][0]=m;for(m=0;m<h;m++)b[0][m]=m;for(m=1;m<d;m++)for(n=1;n<h;n++)if(a[k+n-1]===c[g+m-1])b[m][n]= +b[m-1][n-1];else{var r=b[m-1][n]+1,G=b[m][n-1]+1;b[m][n]=r<G?r:G}k=b.length-1;g=b[0].length-1;d=b[k][g];for(a=[];0<k||0<g;)0==k?(a.push(2),g--):0==g?(a.push(3),k--):(h=b[k-1][g-1],m=b[k-1][g],n=b[k][g-1],r=m<n?m<h?m:h:n<h?n:h,r==h?(h==d?a.push(0):(a.push(1),d=h),k--,g--):r==m?(a.push(3),k--,d=m):(a.push(2),g--,d=n));a.reverse();b=void 0;k=[];for(g=0;g<a.length;g++)switch(a[g]){case 0:b&&(k.push(b),b=void 0);e++;f++;break;case 1:b||(b=Ed(e,0));b.ba++;e++;b.W.push(c[f]);f++;break;case 2:b||(b=Ed(e, +0));b.ba++;e++;break;case 3:b||(b=Ed(e,0)),b.W.push(c[f]),f++}b&&k.push(b);return k}function Gd(a,b){return a===b};var bd=M.parentNode,Hd=M.childNodes,Id={};function Jd(a){var b=[];do b.unshift(a);while(a=a.parentNode);return b}function Nc(a,b,c){if(a!==Id)throw new TypeError("Illegal constructor");this.Oa="ShadyRoot";a=Hd(b);this.host=b;this.b=c&&c.mode;Sc(b,a);c=A(b);c.root=this;c.Da="closed"!==this.b?this:null;c=z(this);c.firstChild=c.lastChild=c.parentNode=c.nextSibling=c.previousSibling=null;c.childNodes=[];this.aa=!1;this.a=this.w=this.m=null;c=0;for(var d=a.length;c<d;c++)D.removeChild.call(b,a[c])} +function Wc(a){a.aa||(a.aa=!0,Jb(function(){return Kd(a)}))}function Kd(a){for(var b;a;){a.aa&&(b=a);a:{var c=a;a=c.host.getRootNode();if(C(a))for(var d=c.host.childNodes,e=0;e<d.length;e++)if(c=d[e],"slot"==c.localName)break a;a=void 0}}b&&b._renderRoot()} +Nc.prototype._renderRoot=function(){this.aa=!1;if(this.m){ad(this);for(var a=0,b;a<this.m.length;a++){b=this.m[a];var c=A(b),d=c.assignedNodes;c.assignedNodes=[];c.L=[];if(c.pa=d)for(c=0;c<d.length;c++){var e=A(d[c]);e.Z=e.assignedSlot;e.assignedSlot===b&&(e.assignedSlot=null)}}for(b=this.host.firstChild;b;b=b.nextSibling)Ld(this,b);for(a=0;a<this.m.length;a++){b=this.m[a];d=A(b);if(!d.assignedNodes.length)for(c=b.firstChild;c;c=c.nextSibling)Ld(this,c,b);(c=(c=A(b.parentNode))&&c.root)&&cd(c)&&c._renderRoot(); +Md(this,d.L,d.assignedNodes);if(c=d.pa){for(e=0;e<c.length;e++)A(c[e]).Z=null;d.pa=null;c.length>d.assignedNodes.length&&(d.da=!0)}d.da&&(d.da=!1,Nd(this,b))}a=this.m;b=[];for(d=0;d<a.length;d++)c=a[d].parentNode,(e=A(c))&&e.root||!(0>b.indexOf(c))||b.push(c);for(a=0;a<b.length;a++){d=b[a];c=d===this?this.host:d;e=[];d=d.childNodes;for(var f=0;f<d.length;f++){var g=d[f];if("slot"==g.localName){g=A(g).L;for(var h=0;h<g.length;h++)e.push(g[h])}else e.push(g)}d=void 0;f=Hd(c);g=Fd(e,e.length,f,f.length); +for(var k=h=0;h<g.length&&(d=g[h]);h++){for(var m=0,n;m<d.W.length&&(n=d.W[m]);m++)bd(n)===c&&D.removeChild.call(c,n),f.splice(d.index+k,1);k-=d.ba}for(k=0;k<g.length&&(d=g[k]);k++)for(h=f[d.index],m=d.index;m<d.index+d.ba;m++)n=e[m],D.insertBefore.call(c,n,h),f.splice(m,0,n)}}};function Ld(a,b,c){var d=z(b),e=d.Z;d.Z=null;c||(c=(a=a.w[b.slot||"__catchall"])&&a[0]);c?(z(c).assignedNodes.push(b),d.assignedSlot=c):d.assignedSlot=void 0;e!==d.assignedSlot&&d.assignedSlot&&(z(d.assignedSlot).da=!0)} +function Md(a,b,c){for(var d=0,e;d<c.length&&(e=c[d]);d++)if("slot"==e.localName){var f=A(e).assignedNodes;f&&f.length&&Md(a,b,f)}else b.push(c[d])}function Nd(a,b){D.dispatchEvent.call(b,new Event("slotchange"));b=A(b);b.assignedSlot&&Nd(a,b.assignedSlot)}function ad(a){if(a.a&&a.a.length){for(var b=a.a,c,d=0;d<b.length;d++){var e=b[d];Sc(e);Sc(e.parentNode);var f=ed(e);a.w[f]?(c=c||{},c[f]=!0,a.w[f].push(e)):a.w[f]=[e];a.m.push(e)}if(c)for(var g in c)a.w[g]=fd(a.w[g]);a.a=[]}} +function ed(a){var b=a.name||a.getAttribute("name")||"__catchall";return a.Ja=b}function fd(a){return a.sort(function(a,c){a=Jd(a);for(var b=Jd(c),e=0;e<a.length;e++){c=a[e];var f=b[e];if(c!==f)return a=Array.from(c.parentNode.childNodes),a.indexOf(c)-a.indexOf(f)}})}function cd(a){ad(a);return!(!a.m||!a.m.length)};function Od(a){var b=a.getRootNode();C(b)&&Kd(b);return(a=A(a))&&a.assignedSlot||null} +var Pd={addEventListener:xd.bind(window),removeEventListener:zd.bind(window)},Qd={addEventListener:xd,removeEventListener:zd,appendChild:function(a){return Uc(this,a)},insertBefore:function(a,b){return Uc(this,a,b)},removeChild:function(a){return Vc(this,a)},replaceChild:function(a,b){Uc(this,a,b);Vc(this,b);return a},cloneNode:function(a){if("template"==this.localName)var b=D.cloneNode.call(this,a);else if(b=D.cloneNode.call(this,!1),a){a=this.childNodes;for(var c=0,d;c<a.length;c++)d=a[c].cloneNode(!0), +b.appendChild(d)}return b},getRootNode:function(){return gd(this)},contains:function(a){return Gb(this,a)},dispatchEvent:function(a){Kb();return D.dispatchEvent.call(this,a)}}; +Object.defineProperties(Qd,{isConnected:{get:function(){if(Ac&&Ac.call(this))return!0;if(this.nodeType==Node.DOCUMENT_FRAGMENT_NODE)return!1;var a=this.ownerDocument;if(Fb){if(D.contains.call(a,this))return!0}else if(a.documentElement&&D.contains.call(a.documentElement,this))return!0;for(a=this;a&&!(a instanceof Document);)a=a.parentNode||(C(a)?a.host:void 0);return!!(a&&a instanceof Document)},configurable:!0}}); +var Rd={get assignedSlot(){return Od(this)}},Sd={querySelector:function(a){return hd(this,function(b){return xb.call(b,a)},function(a){return!!a})[0]||null},querySelectorAll:function(a,b){if(b){b=Array.prototype.slice.call(D.querySelectorAll(this,a));var c=this.getRootNode();return b.filter(function(a){return a.getRootNode()==c})}return hd(this,function(b){return xb.call(b,a)})}},Td={assignedNodes:function(a){if("slot"===this.localName){var b=this.getRootNode();C(b)&&Kd(b);return(b=A(this))?(a&&a.flatten? +b.L:b.assignedNodes)||[]:[]}}},Ud=zb({setAttribute:function(a,b){kd(this,a,b)},removeAttribute:function(a){D.removeAttribute.call(this,a);dd(this,a)},attachShadow:function(a){if(!this)throw"Must provide a host.";if(!a)throw"Not enough arguments.";return new Nc(Id,this,a)},get slot(){return this.getAttribute("slot")},set slot(a){kd(this,"slot",a)},get assignedSlot(){return Od(this)}},Sd,Td);Object.defineProperties(Ud,Jc); +var Vd=zb({importNode:function(a,b){return ld(a,b)},getElementById:function(a){return hd(this,function(b){return b.id==a},function(a){return!!a})[0]||null}},Sd);Object.defineProperties(Vd,{_activeElement:Kc.activeElement}); +var Wd=HTMLElement.prototype.blur,Xd=zb({blur:function(){var a=A(this);(a=(a=a&&a.root)&&a.activeElement)?a.blur():Wd.call(this)}}),Yd={addEventListener:function(a,b,c){"object"!==typeof c&&(c={capture:!!c});c.la=this;this.host.addEventListener(a,b,c)},removeEventListener:function(a,b,c){"object"!==typeof c&&(c={capture:!!c});c.la=this;this.host.removeEventListener(a,b,c)},getElementById:function(a){return hd(this,function(b){return b.id==a},function(a){return!!a})[0]||null}}; +function Zd(a,b){for(var c=Object.getOwnPropertyNames(b),d=0;d<c.length;d++){var e=c[d],f=Object.getOwnPropertyDescriptor(b,e);f.value?a[e]=f.value:Object.defineProperty(a,e,f)}};if(B.Ba){var ShadyDOM={inUse:B.Ba,patch:function(a){Pc(a);Oc(a);return a},isShadyRoot:C,enqueue:Jb,flush:Kb,settings:B,filterMutations:Qb,observeChildren:Ob,unobserveChildren:Pb,nativeMethods:D,nativeTree:M};window.ShadyDOM=ShadyDOM;window.Event=Bd;window.CustomEvent=Cd;window.MouseEvent=Dd;Ad();var $d=window.customElements&&window.customElements.nativeHTMLElement||HTMLElement;Zd(Nc.prototype,Yd);Zd(window.Node.prototype,Qd);Zd(window.Window.prototype,Pd);Zd(window.Text.prototype,Rd);Zd(window.DocumentFragment.prototype, +Sd);Zd(window.Element.prototype,Ud);Zd(window.Document.prototype,Vd);window.HTMLSlotElement&&Zd(window.HTMLSlotElement.prototype,Td);Zd($d.prototype,Xd);B.I&&(Lc(window.Node.prototype),Lc(window.Text.prototype),Lc(window.DocumentFragment.prototype),Lc(window.Element.prototype),Lc($d.prototype),Lc(window.Document.prototype),window.HTMLSlotElement&&Lc(window.HTMLSlotElement.prototype));Mc();window.ShadowRoot=Nc};var ae=new Set("annotation-xml color-profile font-face font-face-src font-face-uri font-face-format font-face-name missing-glyph".split(" "));function be(a){var b=ae.has(a);a=/^[a-z][.0-9_a-z]*-[\-.0-9_a-z]*$/.test(a);return!b&&a}function O(a){var b=a.isConnected;if(void 0!==b)return b;for(;a&&!(a.__CE_isImportDocument||a instanceof Document);)a=a.parentNode||(window.ShadowRoot&&a instanceof ShadowRoot?a.host:void 0);return!(!a||!(a.__CE_isImportDocument||a instanceof Document))} +function ce(a,b){for(;b&&b!==a&&!b.nextSibling;)b=b.parentNode;return b&&b!==a?b.nextSibling:null} +function de(a,b,c){c=void 0===c?new Set:c;for(var d=a;d;){if(d.nodeType===Node.ELEMENT_NODE){var e=d;b(e);var f=e.localName;if("link"===f&&"import"===e.getAttribute("rel")){d=e.import;if(d instanceof Node&&!c.has(d))for(c.add(d),d=d.firstChild;d;d=d.nextSibling)de(d,b,c);d=ce(a,e);continue}else if("template"===f){d=ce(a,e);continue}if(e=e.__CE_shadowRoot)for(e=e.firstChild;e;e=e.nextSibling)de(e,b,c)}d=d.firstChild?d.firstChild:ce(a,d)}}function P(a,b,c){a[b]=c};function ee(){this.a=new Map;this.M=new Map;this.F=[];this.c=!1}function fe(a,b,c){a.a.set(b,c);a.M.set(c.constructor,c)}function ge(a,b){a.c=!0;a.F.push(b)}function he(a,b){a.c&&de(b,function(b){return a.b(b)})}ee.prototype.b=function(a){if(this.c&&!a.__CE_patched){a.__CE_patched=!0;for(var b=0;b<this.F.length;b++)this.F[b](a)}};function Q(a,b){var c=[];de(b,function(a){return c.push(a)});for(b=0;b<c.length;b++){var d=c[b];1===d.__CE_state?a.connectedCallback(d):ie(a,d)}} +function R(a,b){var c=[];de(b,function(a){return c.push(a)});for(b=0;b<c.length;b++){var d=c[b];1===d.__CE_state&&a.disconnectedCallback(d)}} +function je(a,b,c){c=void 0===c?{}:c;var d=c.bb||new Set,e=c.ga||function(b){return ie(a,b)},f=[];de(b,function(b){if("link"===b.localName&&"import"===b.getAttribute("rel")){var c=b.import;c instanceof Node&&(c.__CE_isImportDocument=!0,c.__CE_hasRegistry=!0);c&&"complete"===c.readyState?c.__CE_documentLoadHandled=!0:b.addEventListener("load",function(){var c=b.import;if(!c.__CE_documentLoadHandled){c.__CE_documentLoadHandled=!0;var f=new Set(d);f.delete(c);je(a,c,{bb:f,ga:e})}})}else f.push(b)},d); +if(a.c)for(b=0;b<f.length;b++)a.b(f[b]);for(b=0;b<f.length;b++)e(f[b])} +function ie(a,b){if(void 0===b.__CE_state){var c=b.ownerDocument;if(c.defaultView||c.__CE_isImportDocument&&c.__CE_hasRegistry)if(c=a.a.get(b.localName)){c.constructionStack.push(b);var d=c.constructor;try{try{if(new d!==b)throw Error("The custom element constructor did not produce the element being upgraded.");}finally{c.constructionStack.pop()}}catch(g){throw b.__CE_state=2,g;}b.__CE_state=1;b.__CE_definition=c;if(c.attributeChangedCallback)for(c=c.observedAttributes,d=0;d<c.length;d++){var e=c[d], +f=b.getAttribute(e);null!==f&&a.attributeChangedCallback(b,e,null,f,null)}O(b)&&a.connectedCallback(b)}}}ee.prototype.connectedCallback=function(a){var b=a.__CE_definition;b.connectedCallback&&b.connectedCallback.call(a)};ee.prototype.disconnectedCallback=function(a){var b=a.__CE_definition;b.disconnectedCallback&&b.disconnectedCallback.call(a)}; +ee.prototype.attributeChangedCallback=function(a,b,c,d,e){var f=a.__CE_definition;f.attributeChangedCallback&&-1<f.observedAttributes.indexOf(b)&&f.attributeChangedCallback.call(a,b,c,d,e)};function ke(a){var b=document;this.A=a;this.a=b;this.P=void 0;je(this.A,this.a);"loading"===this.a.readyState&&(this.P=new MutationObserver(this.b.bind(this)),this.P.observe(this.a,{childList:!0,subtree:!0}))}function le(a){a.P&&a.P.disconnect()}ke.prototype.b=function(a){var b=this.a.readyState;"interactive"!==b&&"complete"!==b||le(this);for(b=0;b<a.length;b++)for(var c=a[b].addedNodes,d=0;d<c.length;d++)je(this.A,c[d])};function me(){var a=this;this.b=this.a=void 0;this.c=new Promise(function(b){a.b=b;a.a&&b(a.a)})}me.prototype.resolve=function(a){if(this.a)throw Error("Already resolved.");this.a=a;this.b&&this.b(a)};function S(a){this.ma=!1;this.A=a;this.ra=new Map;this.na=function(a){return a()};this.Y=!1;this.oa=[];this.Ma=new ke(a)}q=S.prototype; +q.define=function(a,b){var c=this;if(!(b instanceof Function))throw new TypeError("Custom element constructors must be functions.");if(!be(a))throw new SyntaxError("The element name '"+a+"' is not valid.");if(this.A.a.get(a))throw Error("A custom element with name '"+a+"' has already been defined.");if(this.ma)throw Error("A custom element is already being defined.");this.ma=!0;try{var d=function(a){var b=e[a];if(void 0!==b&&!(b instanceof Function))throw Error("The '"+a+"' callback must be a function."); +return b},e=b.prototype;if(!(e instanceof Object))throw new TypeError("The custom element constructor's prototype is not an object.");var f=d("connectedCallback");var g=d("disconnectedCallback");var h=d("adoptedCallback");var k=d("attributeChangedCallback");var m=b.observedAttributes||[]}catch(n){return}finally{this.ma=!1}b={localName:a,constructor:b,connectedCallback:f,disconnectedCallback:g,adoptedCallback:h,attributeChangedCallback:k,observedAttributes:m,constructionStack:[]};fe(this.A,a,b);this.oa.push(b); +this.Y||(this.Y=!0,this.na(function(){return ne(c)}))};q.ga=function(a){je(this.A,a)}; +function ne(a){if(!1!==a.Y){a.Y=!1;for(var b=a.oa,c=[],d=new Map,e=0;e<b.length;e++)d.set(b[e].localName,[]);je(a.A,document,{ga:function(b){if(void 0===b.__CE_state){var e=b.localName,f=d.get(e);f?f.push(b):a.A.a.get(e)&&c.push(b)}}});for(e=0;e<c.length;e++)ie(a.A,c[e]);for(;0<b.length;){var f=b.shift();e=f.localName;f=d.get(f.localName);for(var g=0;g<f.length;g++)ie(a.A,f[g]);(e=a.ra.get(e))&&e.resolve(void 0)}}}q.get=function(a){if(a=this.A.a.get(a))return a.constructor}; +q.whenDefined=function(a){if(!be(a))return Promise.reject(new SyntaxError("'"+a+"' is not a valid custom element name."));var b=this.ra.get(a);if(b)return b.c;b=new me;this.ra.set(a,b);this.A.a.get(a)&&!this.oa.some(function(b){return b.localName===a})&&b.resolve(void 0);return b.c};q.Xa=function(a){le(this.Ma);var b=this.na;this.na=function(c){return a(function(){return b(c)})}};window.CustomElementRegistry=S;S.prototype.define=S.prototype.define;S.prototype.upgrade=S.prototype.ga; +S.prototype.get=S.prototype.get;S.prototype.whenDefined=S.prototype.whenDefined;S.prototype.polyfillWrapFlushCallback=S.prototype.Xa;var oe=window.Document.prototype.createElement,pe=window.Document.prototype.createElementNS,qe=window.Document.prototype.importNode,re=window.Document.prototype.prepend,se=window.Document.prototype.append,te=window.DocumentFragment.prototype.prepend,ue=window.DocumentFragment.prototype.append,ve=window.Node.prototype.cloneNode,we=window.Node.prototype.appendChild,xe=window.Node.prototype.insertBefore,ye=window.Node.prototype.removeChild,ze=window.Node.prototype.replaceChild,Ae=Object.getOwnPropertyDescriptor(window.Node.prototype, +"textContent"),Be=window.Element.prototype.attachShadow,Ce=Object.getOwnPropertyDescriptor(window.Element.prototype,"innerHTML"),De=window.Element.prototype.getAttribute,Ee=window.Element.prototype.setAttribute,Fe=window.Element.prototype.removeAttribute,Ge=window.Element.prototype.getAttributeNS,He=window.Element.prototype.setAttributeNS,Ie=window.Element.prototype.removeAttributeNS,Je=window.Element.prototype.insertAdjacentElement,Ke=window.Element.prototype.insertAdjacentHTML,Le=window.Element.prototype.prepend, +Me=window.Element.prototype.append,Ne=window.Element.prototype.before,Oe=window.Element.prototype.after,Pe=window.Element.prototype.replaceWith,Qe=window.Element.prototype.remove,Re=window.HTMLElement,Se=Object.getOwnPropertyDescriptor(window.HTMLElement.prototype,"innerHTML"),Te=window.HTMLElement.prototype.insertAdjacentElement,Ue=window.HTMLElement.prototype.insertAdjacentHTML;var Ve=new function(){};function We(){var a=Xe;window.HTMLElement=function(){function b(){var b=this.constructor,d=a.M.get(b);if(!d)throw Error("The custom element being constructed was not registered with `customElements`.");var e=d.constructionStack;if(0===e.length)return e=oe.call(document,d.localName),Object.setPrototypeOf(e,b.prototype),e.__CE_state=1,e.__CE_definition=d,a.b(e),e;d=e.length-1;var f=e[d];if(f===Ve)throw Error("The HTMLElement constructor was either called reentrantly for this constructor or called multiple times."); +e[d]=Ve;Object.setPrototypeOf(f,b.prototype);a.b(f);return f}b.prototype=Re.prototype;return b}()};function Ye(a,b,c){function d(b){return function(c){for(var d=[],e=0;e<arguments.length;++e)d[e-0]=arguments[e];e=[];for(var f=[],m=0;m<d.length;m++){var n=d[m];n instanceof Element&&O(n)&&f.push(n);if(n instanceof DocumentFragment)for(n=n.firstChild;n;n=n.nextSibling)e.push(n);else e.push(n)}b.apply(this,d);for(d=0;d<f.length;d++)R(a,f[d]);if(O(this))for(d=0;d<e.length;d++)f=e[d],f instanceof Element&&Q(a,f)}}void 0!==c.fa&&(b.prepend=d(c.fa));void 0!==c.append&&(b.append=d(c.append))};function Ze(){var a=Xe;P(Document.prototype,"createElement",function(b){if(this.__CE_hasRegistry){var c=a.a.get(b);if(c)return new c.constructor}b=oe.call(this,b);a.b(b);return b});P(Document.prototype,"importNode",function(b,c){b=qe.call(this,b,c);this.__CE_hasRegistry?je(a,b):he(a,b);return b});P(Document.prototype,"createElementNS",function(b,c){if(this.__CE_hasRegistry&&(null===b||"http://www.w3.org/1999/xhtml"===b)){var d=a.a.get(c);if(d)return new d.constructor}b=pe.call(this,b,c);a.b(b);return b}); +Ye(a,Document.prototype,{fa:re,append:se})};function $e(){var a=Xe;function b(b,d){Object.defineProperty(b,"textContent",{enumerable:d.enumerable,configurable:!0,get:d.get,set:function(b){if(this.nodeType===Node.TEXT_NODE)d.set.call(this,b);else{var c=void 0;if(this.firstChild){var e=this.childNodes,h=e.length;if(0<h&&O(this)){c=Array(h);for(var k=0;k<h;k++)c[k]=e[k]}}d.set.call(this,b);if(c)for(b=0;b<c.length;b++)R(a,c[b])}}})}P(Node.prototype,"insertBefore",function(b,d){if(b instanceof DocumentFragment){var c=Array.prototype.slice.apply(b.childNodes); +b=xe.call(this,b,d);if(O(this))for(d=0;d<c.length;d++)Q(a,c[d]);return b}c=O(b);d=xe.call(this,b,d);c&&R(a,b);O(this)&&Q(a,b);return d});P(Node.prototype,"appendChild",function(b){if(b instanceof DocumentFragment){var c=Array.prototype.slice.apply(b.childNodes);b=we.call(this,b);if(O(this))for(var e=0;e<c.length;e++)Q(a,c[e]);return b}c=O(b);e=we.call(this,b);c&&R(a,b);O(this)&&Q(a,b);return e});P(Node.prototype,"cloneNode",function(b){b=ve.call(this,b);this.ownerDocument.__CE_hasRegistry?je(a,b): +he(a,b);return b});P(Node.prototype,"removeChild",function(b){var c=O(b),e=ye.call(this,b);c&&R(a,b);return e});P(Node.prototype,"replaceChild",function(b,d){if(b instanceof DocumentFragment){var c=Array.prototype.slice.apply(b.childNodes);b=ze.call(this,b,d);if(O(this))for(R(a,d),d=0;d<c.length;d++)Q(a,c[d]);return b}c=O(b);var f=ze.call(this,b,d),g=O(this);g&&R(a,d);c&&R(a,b);g&&Q(a,b);return f});Ae&&Ae.get?b(Node.prototype,Ae):ge(a,function(a){b(a,{enumerable:!0,configurable:!0,get:function(){for(var a= +[],b=0;b<this.childNodes.length;b++)a.push(this.childNodes[b].textContent);return a.join("")},set:function(a){for(;this.firstChild;)ye.call(this,this.firstChild);we.call(this,document.createTextNode(a))}})})};function af(a){var b=Element.prototype;function c(b){return function(c){for(var d=[],e=0;e<arguments.length;++e)d[e-0]=arguments[e];e=[];for(var h=[],k=0;k<d.length;k++){var m=d[k];m instanceof Element&&O(m)&&h.push(m);if(m instanceof DocumentFragment)for(m=m.firstChild;m;m=m.nextSibling)e.push(m);else e.push(m)}b.apply(this,d);for(d=0;d<h.length;d++)R(a,h[d]);if(O(this))for(d=0;d<e.length;d++)h=e[d],h instanceof Element&&Q(a,h)}}void 0!==Ne&&(b.before=c(Ne));void 0!==Ne&&(b.after=c(Oe));void 0!== +Pe&&P(b,"replaceWith",function(b){for(var c=[],d=0;d<arguments.length;++d)c[d-0]=arguments[d];d=[];for(var g=[],h=0;h<c.length;h++){var k=c[h];k instanceof Element&&O(k)&&g.push(k);if(k instanceof DocumentFragment)for(k=k.firstChild;k;k=k.nextSibling)d.push(k);else d.push(k)}h=O(this);Pe.apply(this,c);for(c=0;c<g.length;c++)R(a,g[c]);if(h)for(R(a,this),c=0;c<d.length;c++)g=d[c],g instanceof Element&&Q(a,g)});void 0!==Qe&&P(b,"remove",function(){var b=O(this);Qe.call(this);b&&R(a,this)})};function bf(){var a=Xe;function b(b,c){Object.defineProperty(b,"innerHTML",{enumerable:c.enumerable,configurable:!0,get:c.get,set:function(b){var d=this,e=void 0;O(this)&&(e=[],de(this,function(a){a!==d&&e.push(a)}));c.set.call(this,b);if(e)for(var f=0;f<e.length;f++){var g=e[f];1===g.__CE_state&&a.disconnectedCallback(g)}this.ownerDocument.__CE_hasRegistry?je(a,this):he(a,this);return b}})}function c(b,c){P(b,"insertAdjacentElement",function(b,d){var e=O(d);b=c.call(this,b,d);e&&R(a,d);O(b)&&Q(a, +d);return b})}function d(b,c){function d(b,c){for(var d=[];b!==c;b=b.nextSibling)d.push(b);for(c=0;c<d.length;c++)je(a,d[c])}P(b,"insertAdjacentHTML",function(a,b){a=a.toLowerCase();if("beforebegin"===a){var e=this.previousSibling;c.call(this,a,b);d(e||this.parentNode.firstChild,this)}else if("afterbegin"===a)e=this.firstChild,c.call(this,a,b),d(this.firstChild,e);else if("beforeend"===a)e=this.lastChild,c.call(this,a,b),d(e||this.firstChild,null);else if("afterend"===a)e=this.nextSibling,c.call(this, +a,b),d(this.nextSibling,e);else throw new SyntaxError("The value provided ("+String(a)+") is not one of 'beforebegin', 'afterbegin', 'beforeend', or 'afterend'.");})}Be&&P(Element.prototype,"attachShadow",function(a){return this.__CE_shadowRoot=a=Be.call(this,a)});Ce&&Ce.get?b(Element.prototype,Ce):Se&&Se.get?b(HTMLElement.prototype,Se):ge(a,function(a){b(a,{enumerable:!0,configurable:!0,get:function(){return ve.call(this,!0).innerHTML},set:function(a){var b="template"===this.localName,c=b?this.content: +this,d=oe.call(document,this.localName);for(d.innerHTML=a;0<c.childNodes.length;)ye.call(c,c.childNodes[0]);for(a=b?d.content:d;0<a.childNodes.length;)we.call(c,a.childNodes[0])}})});P(Element.prototype,"setAttribute",function(b,c){if(1!==this.__CE_state)return Ee.call(this,b,c);var d=De.call(this,b);Ee.call(this,b,c);c=De.call(this,b);a.attributeChangedCallback(this,b,d,c,null)});P(Element.prototype,"setAttributeNS",function(b,c,d){if(1!==this.__CE_state)return He.call(this,b,c,d);var e=Ge.call(this, +b,c);He.call(this,b,c,d);d=Ge.call(this,b,c);a.attributeChangedCallback(this,c,e,d,b)});P(Element.prototype,"removeAttribute",function(b){if(1!==this.__CE_state)return Fe.call(this,b);var c=De.call(this,b);Fe.call(this,b);null!==c&&a.attributeChangedCallback(this,b,c,null,null)});P(Element.prototype,"removeAttributeNS",function(b,c){if(1!==this.__CE_state)return Ie.call(this,b,c);var d=Ge.call(this,b,c);Ie.call(this,b,c);var e=Ge.call(this,b,c);d!==e&&a.attributeChangedCallback(this,c,d,e,b)});Te? +c(HTMLElement.prototype,Te):Je?c(Element.prototype,Je):console.warn("Custom Elements: `Element#insertAdjacentElement` was not patched.");Ue?d(HTMLElement.prototype,Ue):Ke?d(Element.prototype,Ke):console.warn("Custom Elements: `Element#insertAdjacentHTML` was not patched.");Ye(a,Element.prototype,{fa:Le,append:Me});af(a)};var cf=window.customElements;if(!cf||cf.forcePolyfill||"function"!=typeof cf.define||"function"!=typeof cf.get){var Xe=new ee;We();Ze();Ye(Xe,DocumentFragment.prototype,{fa:te,append:ue});$e();bf();document.__CE_hasRegistry=!0;var customElements=new S(Xe);Object.defineProperty(window,"customElements",{configurable:!0,enumerable:!0,value:customElements})};function df(){this.end=this.start=0;this.rules=this.parent=this.previous=null;this.cssText=this.parsedCssText="";this.atRule=!1;this.type=0;this.parsedSelector=this.selector=this.keyframesName=""} +function ef(a){a=a.replace(ff,"").replace(gf,"");var b=hf,c=a,d=new df;d.start=0;d.end=c.length;for(var e=d,f=0,g=c.length;f<g;f++)if("{"===c[f]){e.rules||(e.rules=[]);var h=e,k=h.rules[h.rules.length-1]||null;e=new df;e.start=f+1;e.parent=h;e.previous=k;h.rules.push(e)}else"}"===c[f]&&(e.end=f+1,e=e.parent||d);return b(d,a)} +function hf(a,b){var c=b.substring(a.start,a.end-1);a.parsedCssText=a.cssText=c.trim();a.parent&&(c=b.substring(a.previous?a.previous.end:a.parent.start,a.start-1),c=jf(c),c=c.replace(kf," "),c=c.substring(c.lastIndexOf(";")+1),c=a.parsedSelector=a.selector=c.trim(),a.atRule=0===c.indexOf("@"),a.atRule?0===c.indexOf("@media")?a.type=lf:c.match(rf)&&(a.type=sf,a.keyframesName=a.selector.split(kf).pop()):a.type=0===c.indexOf("--")?tf:uf);if(c=a.rules)for(var d=0,e=c.length,f;d<e&&(f=c[d]);d++)hf(f, +b);return a}function jf(a){return a.replace(/\\([0-9a-f]{1,6})\s/gi,function(a,c){a=c;for(c=6-a.length;c--;)a="0"+a;return"\\"+a})} +function vf(a,b,c){c=void 0===c?"":c;var d="";if(a.cssText||a.rules){var e=a.rules,f;if(f=e)f=e[0],f=!(f&&f.selector&&0===f.selector.indexOf("--"));if(f){f=0;for(var g=e.length,h;f<g&&(h=e[f]);f++)d=vf(h,b,d)}else b?b=a.cssText:(b=a.cssText,b=b.replace(wf,"").replace(xf,""),b=b.replace(yf,"").replace(zf,"")),(d=b.trim())&&(d=" "+d+"\n")}d&&(a.selector&&(c+=a.selector+" {\n"),c+=d,a.selector&&(c+="}\n\n"));return c} +var uf=1,sf=7,lf=4,tf=1E3,ff=/\/\*[^*]*\*+([^/*][^*]*\*+)*\//gim,gf=/@import[^;]*;/gim,wf=/(?:^[^;\-\s}]+)?--[^;{}]*?:[^{};]*?(?:[;\n]|$)/gim,xf=/(?:^[^;\-\s}]+)?--[^;{}]*?:[^{};]*?{[^}]*?}(?:[;\n]|$)?/gim,yf=/@apply\s*\(?[^);]*\)?\s*(?:[;\n]|$)?/gim,zf=/[^;:]*?:[^;]*?var\([^;]*\)(?:[;\n]|$)?/gim,rf=/^@[^\s]*keyframes/,kf=/\s+/g;var T=!(window.ShadyDOM&&window.ShadyDOM.inUse),Af;function Bf(a){Af=a&&a.shimcssproperties?!1:T||!(navigator.userAgent.match(/AppleWebKit\/601|Edge\/15/)||!window.CSS||!CSS.supports||!CSS.supports("box-shadow","0 0 0 var(--foo)"))}window.ShadyCSS&&void 0!==window.ShadyCSS.nativeCss?Af=window.ShadyCSS.nativeCss:window.ShadyCSS?(Bf(window.ShadyCSS),window.ShadyCSS=void 0):Bf(window.WebComponents&&window.WebComponents.flags);var V=Af;var Cf=/(?:^|[;\s{]\s*)(--[\w-]*?)\s*:\s*(?:((?:'(?:\\'|.)*?'|"(?:\\"|.)*?"|\([^)]*?\)|[^};{])+)|\{([^}]*)\}(?:(?=[;\s}])|$))/gi,Df=/(?:^|\W+)@apply\s*\(?([^);\n]*)\)?/gi,Ef=/(--[\w-]+)\s*([:,;)]|$)/gi,Ff=/(animation\s*:)|(animation-name\s*:)/,Gf=/@media\s(.*)/,Hf=/\{[^}]*\}/g;var If=new Set;function Jf(a,b){if(!a)return"";"string"===typeof a&&(a=ef(a));b&&Kf(a,b);return vf(a,V)}function Lf(a){!a.__cssRules&&a.textContent&&(a.__cssRules=ef(a.textContent));return a.__cssRules||null}function Mf(a){return!!a.parent&&a.parent.type===sf}function Kf(a,b,c,d){if(a){var e=!1,f=a.type;if(d&&f===lf){var g=a.selector.match(Gf);g&&(window.matchMedia(g[1]).matches||(e=!0))}f===uf?b(a):c&&f===sf?c(a):f===tf&&(e=!0);if((a=a.rules)&&!e){e=0;f=a.length;for(var h;e<f&&(h=a[e]);e++)Kf(h,b,c,d)}}} +function Nf(a,b,c,d){var e=document.createElement("style");b&&e.setAttribute("scope",b);e.textContent=a;Of(e,c,d);return e}var Pf=null;function Of(a,b,c){b=b||document.head;b.insertBefore(a,c&&c.nextSibling||b.firstChild);Pf?a.compareDocumentPosition(Pf)===Node.DOCUMENT_POSITION_PRECEDING&&(Pf=a):Pf=a} +function Qf(a,b){var c=a.indexOf("var(");if(-1===c)return b(a,"","","");a:{var d=0;var e=c+3;for(var f=a.length;e<f;e++)if("("===a[e])d++;else if(")"===a[e]&&0===--d)break a;e=-1}d=a.substring(c+4,e);c=a.substring(0,c);a=Qf(a.substring(e+1),b);e=d.indexOf(",");return-1===e?b(c,d.trim(),"",a):b(c,d.substring(0,e).trim(),d.substring(e+1).trim(),a)}function Rf(a,b){T?a.setAttribute("class",b):window.ShadyDOM.nativeMethods.setAttribute.call(a,"class",b)} +function Sf(a){var b=a.localName,c="";b?-1<b.indexOf("-")||(c=b,b=a.getAttribute&&a.getAttribute("is")||""):(b=a.is,c=a.extends);return{is:b,X:c}};function Tf(){}function Uf(a,b,c){var d=Vf;a.__styleScoped?a.__styleScoped=null:Wf(d,a,b||"",c)}function Wf(a,b,c,d){b.nodeType===Node.ELEMENT_NODE&&Xf(b,c,d);if(b="template"===b.localName?(b.content||b.jb).childNodes:b.children||b.childNodes)for(var e=0;e<b.length;e++)Wf(a,b[e],c,d)} +function Xf(a,b,c){if(b)if(a.classList)c?(a.classList.remove("style-scope"),a.classList.remove(b)):(a.classList.add("style-scope"),a.classList.add(b));else if(a.getAttribute){var d=a.getAttribute(Yf);c?d&&(b=d.replace("style-scope","").replace(b,""),Rf(a,b)):Rf(a,(d?d+" ":"")+"style-scope "+b)}}function Zf(a,b,c){var d=Vf,e=a.__cssBuild;T||"shady"===e?b=Jf(b,c):(a=Sf(a),b=$f(d,b,a.is,a.X,c)+"\n\n");return b.trim()} +function $f(a,b,c,d,e){var f=ag(c,d);c=c?bg+c:"";return Jf(b,function(b){b.c||(b.selector=b.G=cg(a,b,a.b,c,f),b.c=!0);e&&e(b,c,f)})}function ag(a,b){return b?"[is="+a+"]":a}function cg(a,b,c,d,e){var f=b.selector.split(dg);if(!Mf(b)){b=0;for(var g=f.length,h;b<g&&(h=f[b]);b++)f[b]=c.call(a,h,d,e)}return f.join(dg)}function eg(a){return a.replace(fg,function(a,c,d){-1<d.indexOf("+")?d=d.replace(/\+/g,"___"):-1<d.indexOf("___")&&(d=d.replace(/___/g,"+"));return":"+c+"("+d+")"})} +Tf.prototype.b=function(a,b,c){var d=!1;a=a.trim();var e=fg.test(a);e&&(a=a.replace(fg,function(a,b,c){return":"+b+"("+c.replace(/\s/g,"")+")"}),a=eg(a));a=a.replace(gg,hg+" $1");a=a.replace(ig,function(a,e,h){d||(a=jg(h,e,b,c),d=d||a.stop,e=a.Sa,h=a.value);return e+h});e&&(a=eg(a));return a}; +function jg(a,b,c,d){var e=a.indexOf(kg);0<=a.indexOf(hg)?a=lg(a,d):0!==e&&(a=c?mg(a,c):a);c=!1;0<=e&&(b="",c=!0);if(c){var f=!0;c&&(a=a.replace(ng,function(a,b){return" > "+b}))}a=a.replace(og,function(a,b,c){return'[dir="'+c+'"] '+b+", "+b+'[dir="'+c+'"]'});return{value:a,Sa:b,stop:f}}function mg(a,b){a=a.split(pg);a[0]+=b;return a.join(pg)} +function lg(a,b){var c=a.match(qg);return(c=c&&c[2].trim()||"")?c[0].match(rg)?a.replace(qg,function(a,c,f){return b+f}):c.split(rg)[0]===b?c:sg:a.replace(hg,b)}function tg(a){a.selector===ug&&(a.selector="html")}Tf.prototype.c=function(a){return a.match(kg)?this.b(a,vg):mg(a.trim(),vg)};aa.Object.defineProperties(Tf.prototype,{a:{configurable:!0,enumerable:!0,get:function(){return"style-scope"}}}); +var fg=/:(nth[-\w]+)\(([^)]+)\)/,vg=":not(.style-scope)",dg=",",ig=/(^|[\s>+~]+)((?:\[.+?\]|[^\s>+~=[])+)/g,rg=/[[.:#*]/,hg=":host",ug=":root",kg="::slotted",gg=new RegExp("^("+kg+")"),qg=/(:host)(?:\(((?:\([^)(]*\)|[^)(]*)+?)\))/,ng=/(?:::slotted)(?:\(((?:\([^)(]*\)|[^)(]*)+?)\))/,og=/(.*):dir\((?:(ltr|rtl))\)/,bg=".",pg=":",Yf="class",sg="should_not_match",Vf=new Tf;function wg(a,b,c,d){this.K=a||null;this.b=b||null;this.sa=c||[];this.T=null;this.X=d||"";this.a=this.H=this.O=null}function xg(a){return a?a.__styleInfo:null}function yg(a,b){return a.__styleInfo=b}wg.prototype.c=function(){return this.K};wg.prototype._getStyleRules=wg.prototype.c;function zg(a){var b=this.matches||this.matchesSelector||this.mozMatchesSelector||this.msMatchesSelector||this.oMatchesSelector||this.webkitMatchesSelector;return b&&b.call(this,a)}var Ag=navigator.userAgent.match("Trident");function Bg(){}function Cg(a){var b={},c=[],d=0;Kf(a,function(a){Dg(a);a.index=d++;a=a.B.cssText;for(var c;c=Ef.exec(a);){var e=c[1];":"!==c[2]&&(b[e]=!0)}},function(a){c.push(a)});a.b=c;a=[];for(var e in b)a.push(e);return a} +function Dg(a){if(!a.B){var b={},c={};Eg(a,c)&&(b.J=c,a.rules=null);b.cssText=a.parsedCssText.replace(Hf,"").replace(Cf,"");a.B=b}}function Eg(a,b){var c=a.B;if(c){if(c.J)return Object.assign(b,c.J),!0}else{c=a.parsedCssText;for(var d;a=Cf.exec(c);){d=(a[2]||a[3]).trim();if("inherit"!==d||"unset"!==d)b[a[1].trim()]=d;d=!0}return d}} +function Fg(a,b,c){b&&(b=0<=b.indexOf(";")?Gg(a,b,c):Qf(b,function(b,e,f,g){if(!e)return b+g;(e=Fg(a,c[e],c))&&"initial"!==e?"apply-shim-inherit"===e&&(e="inherit"):e=Fg(a,c[f]||f,c)||f;return b+(e||"")+g}));return b&&b.trim()||""} +function Gg(a,b,c){b=b.split(";");for(var d=0,e,f;d<b.length;d++)if(e=b[d]){Df.lastIndex=0;if(f=Df.exec(e))e=Fg(a,c[f[1]],c);else if(f=e.indexOf(":"),-1!==f){var g=e.substring(f);g=g.trim();g=Fg(a,g,c)||g;e=e.substring(0,f)+g}b[d]=e&&e.lastIndexOf(";")===e.length-1?e.slice(0,-1):e||""}return b.join(";")} +function Hg(a,b){var c={},d=[];Kf(a,function(a){a.B||Dg(a);var e=a.G||a.parsedSelector;b&&a.B.J&&e&&zg.call(b,e)&&(Eg(a,c),a=a.index,e=parseInt(a/32,10),d[e]=(d[e]||0)|1<<a%32)},null,!0);return{J:c,key:d}} +function Ig(a,b,c,d){b.B||Dg(b);if(b.B.J){var e=Sf(a);a=e.is;e=e.X;e=a?ag(a,e):"html";var f=b.parsedSelector,g=":host > *"===f||"html"===f,h=0===f.indexOf(":host")&&!g;"shady"===c&&(g=f===e+" > *."+e||-1!==f.indexOf("html"),h=!g&&0===f.indexOf(e));"shadow"===c&&(g=":host > *"===f||"html"===f,h=h&&!g);if(g||h)c=e,h&&(b.G||(b.G=cg(Vf,b,Vf.b,a?bg+a:"",e)),c=b.G||e),d({Za:c,Wa:h,wb:g})}} +function Jg(a,b){var c={},d={},e=b&&b.__cssBuild;Kf(b,function(b){Ig(a,b,e,function(e){zg.call(a.kb||a,e.Za)&&(e.Wa?Eg(b,c):Eg(b,d))})},null,!0);return{Ya:d,Va:c}} +function Kg(a,b,c,d){var e=Sf(b),f=ag(e.is,e.X),g=new RegExp("(?:^|[^.#[:])"+(b.extends?"\\"+f.slice(0,-1)+"\\]":f)+"($|[.:[\\s>+~])");e=xg(b).K;var h=Lg(e,d);return Zf(b,e,function(b){var e="";b.B||Dg(b);b.B.cssText&&(e=Gg(a,b.B.cssText,c));b.cssText=e;if(!T&&!Mf(b)&&b.cssText){var k=e=b.cssText;null==b.za&&(b.za=Ff.test(e));if(b.za)if(null==b.ea){b.ea=[];for(var r in h)k=h[r],k=k(e),e!==k&&(e=k,b.ea.push(r))}else{for(r=0;r<b.ea.length;++r)k=h[b.ea[r]],e=k(e);k=e}b.cssText=k;b.G=b.G||b.selector; +e="."+d;r=b.G.split(",");k=0;for(var G=r.length,x;k<G&&(x=r[k]);k++)r[k]=x.match(g)?x.replace(f,e):e+" "+x;b.selector=r.join(",")}})}function Lg(a,b){a=a.b;var c={};if(!T&&a)for(var d=0,e=a[d];d<a.length;e=a[++d]){var f=e,g=b;f.F=new RegExp("\\b"+f.keyframesName+"(?!\\B|-)","g");f.a=f.keyframesName+"-"+g;f.G=f.G||f.selector;f.selector=f.G.replace(f.keyframesName,f.a);c[e.keyframesName]=Mg(e)}return c}function Mg(a){return function(b){return b.replace(a.F,a.a)}} +function Ng(a,b){var c=Og,d=Lf(a);a.textContent=Jf(d,function(a){var d=a.cssText=a.parsedCssText;a.B&&a.B.cssText&&(d=d.replace(wf,"").replace(xf,""),a.cssText=Gg(c,d,b))})}aa.Object.defineProperties(Bg.prototype,{a:{configurable:!0,enumerable:!0,get:function(){return"x-scope"}}});var Og=new Bg;var Pg={},Qg=window.customElements;if(Qg&&!T){var Rg=Qg.define;Qg.define=function(a,b,c){var d=document.createComment(" Shady DOM styles for "+a+" "),e=document.head;e.insertBefore(d,(Pf?Pf.nextSibling:null)||e.firstChild);Pf=d;Pg[a]=d;Rg.call(Qg,a,b,c)}};function Sg(){this.cache={}}Sg.prototype.store=function(a,b,c,d){var e=this.cache[a]||[];e.push({J:b,styleElement:c,H:d});100<e.length&&e.shift();this.cache[a]=e};Sg.prototype.fetch=function(a,b,c){if(a=this.cache[a])for(var d=a.length-1;0<=d;d--){var e=a[d],f;a:{for(f=0;f<c.length;f++){var g=c[f];if(e.J[g]!==b[g]){f=!1;break a}}f=!0}if(f)return e}};function Tg(){} +function Ug(a){for(var b=0;b<a.length;b++){var c=a[b];if(c.target!==document.documentElement&&c.target!==document.head)for(var d=0;d<c.addedNodes.length;d++){var e=c.addedNodes[d];if(e.nodeType===Node.ELEMENT_NODE){var f=e.getRootNode();var g=e;var h=[];g.classList?h=Array.from(g.classList):g instanceof window.SVGElement&&g.hasAttribute("class")&&(h=g.getAttribute("class").split(/\s+/));g=h;h=g.indexOf(Vf.a);if((g=-1<h?g[h+1]:"")&&f===e.ownerDocument)Uf(e,g,!0);else if(f.nodeType===Node.DOCUMENT_FRAGMENT_NODE&& +(f=f.host))if(f=Sf(f).is,g===f)for(e=window.ShadyDOM.nativeMethods.querySelectorAll.call(e,":not(."+Vf.a+")"),f=0;f<e.length;f++)Xf(e[f],g);else g&&Uf(e,g,!0),Uf(e,f)}}}} +if(!T){var Vg=new MutationObserver(Ug),Wg=function(a){Vg.observe(a,{childList:!0,subtree:!0})};if(window.customElements&&!window.customElements.polyfillWrapFlushCallback)Wg(document);else{var Xg=function(){Wg(document.body)};window.HTMLImports?window.HTMLImports.whenReady(Xg):requestAnimationFrame(function(){if("loading"===document.readyState){var a=function(){Xg();document.removeEventListener("readystatechange",a)};document.addEventListener("readystatechange",a)}else Xg()})}Tg=function(){Ug(Vg.takeRecords())}} +var Yg=Tg;var Zg={};var $g=Promise.resolve();function ah(a){if(a=Zg[a])a._applyShimCurrentVersion=a._applyShimCurrentVersion||0,a._applyShimValidatingVersion=a._applyShimValidatingVersion||0,a._applyShimNextVersion=(a._applyShimNextVersion||0)+1}function bh(a){return a._applyShimCurrentVersion===a._applyShimNextVersion}function ch(a){a._applyShimValidatingVersion=a._applyShimNextVersion;a.b||(a.b=!0,$g.then(function(){a._applyShimCurrentVersion=a._applyShimNextVersion;a.b=!1}))};var dh=new Sg;function W(){this.Aa={};this.c=document.documentElement;var a=new df;a.rules=[];this.F=yg(this.c,new wg(a));this.M=!1;this.b=this.a=null}q=W.prototype;q.Ga=function(){Yg()};q.Ta=function(a){return Lf(a)};q.ab=function(a){return Jf(a)}; +q.prepareTemplate=function(a,b,c){if(!a.F){a.F=!0;a.name=b;a.extends=c;Zg[b]=a;var d=(d=a.content.querySelector("style"))?d.getAttribute("css-build")||"":"";var e=[];for(var f=a.content.querySelectorAll("style"),g=0;g<f.length;g++){var h=f[g];if(h.hasAttribute("shady-unscoped")){if(!T){var k=h.textContent;If.has(k)||(If.add(k),k=h.cloneNode(!0),document.head.appendChild(k));h.parentNode.removeChild(h)}}else e.push(h.textContent),h.parentNode.removeChild(h)}e=e.join("").trim();c={is:b,extends:c,hb:d}; +T||Uf(a.content,b);eh(this);f=Df.test(e)||Cf.test(e);Df.lastIndex=0;Cf.lastIndex=0;e=ef(e);f&&V&&this.a&&this.a.transformRules(e,b);a._styleAst=e;a.M=d;d=[];V||(d=Cg(a._styleAst));if(!d.length||V)e=T?a.content:null,b=Pg[b],f=Zf(c,a._styleAst),b=f.length?Nf(f,c.is,e,b):void 0,a.a=b;a.c=d}}; +function fh(a){!a.b&&window.ShadyCSS&&window.ShadyCSS.CustomStyleInterface&&(a.b=window.ShadyCSS.CustomStyleInterface,a.b.transformCallback=function(b){a.Ea(b)},a.b.validateCallback=function(){requestAnimationFrame(function(){(a.b.enqueued||a.M)&&a.flushCustomStyles()})})}function eh(a){!a.a&&window.ShadyCSS&&window.ShadyCSS.ApplyShim&&(a.a=window.ShadyCSS.ApplyShim,a.a.invalidCallback=ah);fh(a)} +q.flushCustomStyles=function(){eh(this);if(this.b){var a=this.b.processStyles();if(this.b.enqueued){if(V)for(var b=0;b<a.length;b++){var c=this.b.getStyleForCustomStyle(a[b]);if(c&&V&&this.a){var d=Lf(c);eh(this);this.a.transformRules(d);c.textContent=Jf(d)}}else for(gh(this,this.c,this.F),b=0;b<a.length;b++)(c=this.b.getStyleForCustomStyle(a[b]))&&Ng(c,this.F.O);this.b.enqueued=!1;this.M&&!V&&this.styleDocument()}}}; +q.styleElement=function(a,b){var c=Sf(a).is,d=xg(a);if(!d){var e=Sf(a);d=e.is;e=e.X;var f=Pg[d];d=Zg[d];if(d){var g=d._styleAst;var h=d.c}d=yg(a,new wg(g,f,h,e))}a!==this.c&&(this.M=!0);b&&(d.T=d.T||{},Object.assign(d.T,b));if(V){if(d.T){b=d.T;for(var k in b)null===k?a.style.removeProperty(k):a.style.setProperty(k,b[k])}if(((k=Zg[c])||a===this.c)&&k&&k.a&&!bh(k)){if(bh(k)||k._applyShimValidatingVersion!==k._applyShimNextVersion)eh(this),this.a&&this.a.transformRules(k._styleAst,c),k.a.textContent= +Zf(a,d.K),ch(k);T&&(c=a.shadowRoot)&&(c.querySelector("style").textContent=Zf(a,d.K));d.K=k._styleAst}}else if(gh(this,a,d),d.sa&&d.sa.length){c=d;k=Sf(a).is;d=(b=dh.fetch(k,c.O,c.sa))?b.styleElement:null;g=c.H;(h=b&&b.H)||(h=this.Aa[k]=(this.Aa[k]||0)+1,h=k+"-"+h);c.H=h;h=c.H;e=Og;e=d?d.textContent||"":Kg(e,a,c.O,h);f=xg(a);var m=f.a;m&&!T&&m!==d&&(m._useCount--,0>=m._useCount&&m.parentNode&&m.parentNode.removeChild(m));T?f.a?(f.a.textContent=e,d=f.a):e&&(d=Nf(e,h,a.shadowRoot,f.b)):d?d.parentNode|| +(Ag&&-1<e.indexOf("@media")&&(d.textContent=e),Of(d,null,f.b)):e&&(d=Nf(e,h,null,f.b));d&&(d._useCount=d._useCount||0,f.a!=d&&d._useCount++,f.a=d);h=d;T||(d=c.H,f=e=a.getAttribute("class")||"",g&&(f=e.replace(new RegExp("\\s*x-scope\\s*"+g+"\\s*","g")," ")),f+=(f?" ":"")+"x-scope "+d,e!==f&&Rf(a,f));b||dh.store(k,c.O,h,c.H)}};function hh(a,b){return(b=b.getRootNode().host)?xg(b)?b:hh(a,b):a.c} +function gh(a,b,c){a=hh(a,b);var d=xg(a);a=Object.create(d.O||null);var e=Jg(b,c.K);b=Hg(d.K,b).J;Object.assign(a,e.Va,b,e.Ya);b=c.T;for(var f in b)if((e=b[f])||0===e)a[f]=e;f=Og;b=Object.getOwnPropertyNames(a);for(e=0;e<b.length;e++)d=b[e],a[d]=Fg(f,a[d],a);c.O=a}q.styleDocument=function(a){this.styleSubtree(this.c,a)}; +q.styleSubtree=function(a,b){var c=a.shadowRoot;(c||a===this.c)&&this.styleElement(a,b);if(b=c&&(c.children||c.childNodes))for(a=0;a<b.length;a++)this.styleSubtree(b[a]);else if(a=a.children||a.childNodes)for(b=0;b<a.length;b++)this.styleSubtree(a[b])};q.Ea=function(a){var b=this,c=Lf(a);Kf(c,function(a){if(T)tg(a);else{var c=Vf;a.selector=a.parsedSelector;tg(a);a.selector=a.G=cg(c,a,c.c,void 0,void 0)}V&&(eh(b),b.a&&b.a.transformRule(a))});V?a.textContent=Jf(c):this.F.K.rules.push(c)}; +q.getComputedStyleValue=function(a,b){var c;V||(c=(xg(a)||xg(hh(this,a))).O[b]);return(c=c||window.getComputedStyle(a).getPropertyValue(b))?c.trim():""};q.$a=function(a,b){var c=a.getRootNode();b=b?b.split(/\s/):[];c=c.host&&c.host.localName;if(!c){var d=a.getAttribute("class");if(d){d=d.split(/\s/);for(var e=0;e<d.length;e++)if(d[e]===Vf.a){c=d[e+1];break}}}c&&b.push(Vf.a,c);V||(c=xg(a))&&c.H&&b.push(Og.a,c.H);Rf(a,b.join(" "))};q.Qa=function(a){return xg(a)};W.prototype.flush=W.prototype.Ga; +W.prototype.prepareTemplate=W.prototype.prepareTemplate;W.prototype.styleElement=W.prototype.styleElement;W.prototype.styleDocument=W.prototype.styleDocument;W.prototype.styleSubtree=W.prototype.styleSubtree;W.prototype.getComputedStyleValue=W.prototype.getComputedStyleValue;W.prototype.setElementClass=W.prototype.$a;W.prototype._styleInfoForNode=W.prototype.Qa;W.prototype.transformCustomStyleForDocument=W.prototype.Ea;W.prototype.getStyleAst=W.prototype.Ta;W.prototype.styleAstToString=W.prototype.ab; +W.prototype.flushCustomStyles=W.prototype.flushCustomStyles;Object.defineProperties(W.prototype,{nativeShadow:{get:function(){return T}},nativeCss:{get:function(){return V}}});var X=new W,ih,jh;window.ShadyCSS&&(ih=window.ShadyCSS.ApplyShim,jh=window.ShadyCSS.CustomStyleInterface); +window.ShadyCSS={ScopingShim:X,prepareTemplate:function(a,b,c){X.flushCustomStyles();X.prepareTemplate(a,b,c)},styleSubtree:function(a,b){X.flushCustomStyles();X.styleSubtree(a,b)},styleElement:function(a){X.flushCustomStyles();X.styleElement(a)},styleDocument:function(a){X.flushCustomStyles();X.styleDocument(a)},flushCustomStyles:function(){X.flushCustomStyles()},getComputedStyleValue:function(a,b){return X.getComputedStyleValue(a,b)},nativeCss:V,nativeShadow:T};ih&&(window.ShadyCSS.ApplyShim=ih); +jh&&(window.ShadyCSS.CustomStyleInterface=jh);(function(a){function b(a){""==a&&(f.call(this),this.h=!0);return a.toLowerCase()}function c(a){var b=a.charCodeAt(0);return 32<b&&127>b&&-1==[34,35,60,62,63,96].indexOf(b)?a:encodeURIComponent(a)}function d(a){var b=a.charCodeAt(0);return 32<b&&127>b&&-1==[34,35,60,62,96].indexOf(b)?a:encodeURIComponent(a)}function e(a,e,g){function h(a){kb.push(a)}var k=e||"scheme start",v=0,p="",x=!1,U=!1,kb=[];a:for(;(void 0!=a[v-1]||0==v)&&!this.h;){var l=a[v];switch(k){case "scheme start":if(l&&r.test(l))p+= +l.toLowerCase(),k="scheme";else if(e){h("Invalid scheme.");break a}else{p="";k="no scheme";continue}break;case "scheme":if(l&&G.test(l))p+=l.toLowerCase();else if(":"==l){this.g=p;p="";if(e)break a;void 0!==m[this.g]&&(this.D=!0);k="file"==this.g?"relative":this.D&&g&&g.g==this.g?"relative or authority":this.D?"authority first slash":"scheme data"}else if(e){void 0!=l&&h("Code point not allowed in scheme: "+l);break a}else{p="";v=0;k="no scheme";continue}break;case "scheme data":"?"==l?(this.u="?", +k="query"):"#"==l?(this.C="#",k="fragment"):void 0!=l&&"\t"!=l&&"\n"!=l&&"\r"!=l&&(this.qa+=c(l));break;case "no scheme":if(g&&void 0!==m[g.g]){k="relative";continue}else h("Missing scheme."),f.call(this),this.h=!0;break;case "relative or authority":if("/"==l&&"/"==a[v+1])k="authority ignore slashes";else{h("Expected /, got: "+l);k="relative";continue}break;case "relative":this.D=!0;"file"!=this.g&&(this.g=g.g);if(void 0==l){this.i=g.i;this.s=g.s;this.j=g.j.slice();this.u=g.u;this.v=g.v;this.f=g.f; +break a}else if("/"==l||"\\"==l)"\\"==l&&h("\\ is an invalid code point."),k="relative slash";else if("?"==l)this.i=g.i,this.s=g.s,this.j=g.j.slice(),this.u="?",this.v=g.v,this.f=g.f,k="query";else if("#"==l)this.i=g.i,this.s=g.s,this.j=g.j.slice(),this.u=g.u,this.C="#",this.v=g.v,this.f=g.f,k="fragment";else{k=a[v+1];var F=a[v+2];if("file"!=this.g||!r.test(l)||":"!=k&&"|"!=k||void 0!=F&&"/"!=F&&"\\"!=F&&"?"!=F&&"#"!=F)this.i=g.i,this.s=g.s,this.v=g.v,this.f=g.f,this.j=g.j.slice(),this.j.pop();k= +"relative path";continue}break;case "relative slash":if("/"==l||"\\"==l)"\\"==l&&h("\\ is an invalid code point."),k="file"==this.g?"file host":"authority ignore slashes";else{"file"!=this.g&&(this.i=g.i,this.s=g.s,this.v=g.v,this.f=g.f);k="relative path";continue}break;case "authority first slash":if("/"==l)k="authority second slash";else{h("Expected '/', got: "+l);k="authority ignore slashes";continue}break;case "authority second slash":k="authority ignore slashes";if("/"!=l){h("Expected '/', got: "+ +l);continue}break;case "authority ignore slashes":if("/"!=l&&"\\"!=l){k="authority";continue}else h("Expected authority, got: "+l);break;case "authority":if("@"==l){x&&(h("@ already seen."),p+="%40");x=!0;for(l=0;l<p.length;l++)F=p[l],"\t"==F||"\n"==F||"\r"==F?h("Invalid whitespace in authority."):":"==F&&null===this.f?this.f="":(F=c(F),null!==this.f?this.f+=F:this.v+=F);p=""}else if(void 0==l||"/"==l||"\\"==l||"?"==l||"#"==l){v-=p.length;p="";k="host";continue}else p+=l;break;case "file host":if(void 0== +l||"/"==l||"\\"==l||"?"==l||"#"==l){2!=p.length||!r.test(p[0])||":"!=p[1]&&"|"!=p[1]?(0!=p.length&&(this.i=b.call(this,p),p=""),k="relative path start"):k="relative path";continue}else"\t"==l||"\n"==l||"\r"==l?h("Invalid whitespace in file host."):p+=l;break;case "host":case "hostname":if(":"!=l||U)if(void 0==l||"/"==l||"\\"==l||"?"==l||"#"==l){this.i=b.call(this,p);p="";k="relative path start";if(e)break a;continue}else"\t"!=l&&"\n"!=l&&"\r"!=l?("["==l?U=!0:"]"==l&&(U=!1),p+=l):h("Invalid code point in host/hostname: "+ +l);else if(this.i=b.call(this,p),p="",k="port","hostname"==e)break a;break;case "port":if(/[0-9]/.test(l))p+=l;else if(void 0==l||"/"==l||"\\"==l||"?"==l||"#"==l||e){""!=p&&(p=parseInt(p,10),p!=m[this.g]&&(this.s=p+""),p="");if(e)break a;k="relative path start";continue}else"\t"==l||"\n"==l||"\r"==l?h("Invalid code point in port: "+l):(f.call(this),this.h=!0);break;case "relative path start":"\\"==l&&h("'\\' not allowed in path.");k="relative path";if("/"!=l&&"\\"!=l)continue;break;case "relative path":if(void 0!= +l&&"/"!=l&&"\\"!=l&&(e||"?"!=l&&"#"!=l))"\t"!=l&&"\n"!=l&&"\r"!=l&&(p+=c(l));else{"\\"==l&&h("\\ not allowed in relative path.");if(F=n[p.toLowerCase()])p=F;".."==p?(this.j.pop(),"/"!=l&&"\\"!=l&&this.j.push("")):"."==p&&"/"!=l&&"\\"!=l?this.j.push(""):"."!=p&&("file"==this.g&&0==this.j.length&&2==p.length&&r.test(p[0])&&"|"==p[1]&&(p=p[0]+":"),this.j.push(p));p="";"?"==l?(this.u="?",k="query"):"#"==l&&(this.C="#",k="fragment")}break;case "query":e||"#"!=l?void 0!=l&&"\t"!=l&&"\n"!=l&&"\r"!=l&&(this.u+= +d(l)):(this.C="#",k="fragment");break;case "fragment":void 0!=l&&"\t"!=l&&"\n"!=l&&"\r"!=l&&(this.C+=l)}v++}}function f(){this.v=this.qa=this.g="";this.f=null;this.s=this.i="";this.j=[];this.C=this.u="";this.D=this.h=!1}function g(a,b){void 0===b||b instanceof g||(b=new g(String(b)));this.Ra=a;f.call(this);a=a.replace(/^[ \t\r\n\f]+|[ \t\r\n\f]+$/g,"");e.call(this,a,null,b)}var h=!1;if(!a.qb)try{var k=new URL("b","http://a");k.pathname="c%20d";h="http://a/c%20d"===k.href}catch(v){}if(!h){var m=Object.create(null); +m.ftp=21;m.file=0;m.gopher=70;m.http=80;m.https=443;m.ws=80;m.wss=443;var n=Object.create(null);n["%2e"]=".";n[".%2e"]="..";n["%2e."]="..";n["%2e%2e"]="..";var r=/[a-zA-Z]/,G=/[a-zA-Z0-9\+\-\.]/;g.prototype={toString:function(){return this.href},get href(){if(this.h)return this.Ra;var a="";if(""!=this.v||null!=this.f)a=this.v+(null!=this.f?":"+this.f:"")+"@";return this.protocol+(this.D?"//"+a+this.host:"")+this.pathname+this.u+this.C},set href(a){f.call(this);e.call(this,a)},get protocol(){return this.g+ +":"},set protocol(a){this.h||e.call(this,a+":","scheme start")},get host(){return this.h?"":this.s?this.i+":"+this.s:this.i},set host(a){!this.h&&this.D&&e.call(this,a,"host")},get hostname(){return this.i},set hostname(a){!this.h&&this.D&&e.call(this,a,"hostname")},get port(){return this.s},set port(a){!this.h&&this.D&&e.call(this,a,"port")},get pathname(){return this.h?"":this.D?"/"+this.j.join("/"):this.qa},set pathname(a){!this.h&&this.D&&(this.j=[],e.call(this,a,"relative path start"))},get search(){return this.h|| +!this.u||"?"==this.u?"":this.u},set search(a){!this.h&&this.D&&(this.u="?","?"==a[0]&&(a=a.slice(1)),e.call(this,a,"query"))},get hash(){return this.h||!this.C||"#"==this.C?"":this.C},set hash(a){this.h||(this.C="#","#"==a[0]&&(a=a.slice(1)),e.call(this,a,"fragment"))},get origin(){var a;if(this.h||!this.g)return"";switch(this.g){case "data":case "file":case "javascript":case "mailto":return"null"}return(a=this.host)?this.g+"://"+a:""}};var x=a.URL;x&&(g.createObjectURL=function(a){return x.createObjectURL.apply(x, +arguments)},g.revokeObjectURL=function(a){x.revokeObjectURL(a)});a.URL=g}})(window);var kh={},lh=Object.create,mh=Object.defineProperties,nh=Object.defineProperty;function Y(a,b){b=void 0===b?{}:b;return{value:a,configurable:!!b.ya,writable:!!b.cb,enumerable:!!b.e}}var oh=void 0;try{oh=1===nh({},"y",{get:function(){return 1}}).y}catch(a){oh=!1}var ph={};function qh(a){a=String(a);for(var b="",c=0;ph[a+b];)b=c+=1;ph[a+b]=1;var d="Symbol("+a+""+b+")";oh&&nh(Object.prototype,d,{get:void 0,set:function(a){nh(this,d,Y(a,{ya:!0,cb:!0}))},configurable:!0,enumerable:!1});return d} +var rh=lh(null);function Z(a){if(this instanceof Z)throw new TypeError("Symbol is not a constructor");a=void 0===a?"":String(a);var b=qh(a);return oh?lh(rh,{ua:Y(a),Ka:Y(b)}):b}mh(Z,{"for":Y(function(a){a=String(a);if(kh[a])return kh[a];var b=Z(a);return kh[a]=b}),keyFor:Y(function(a){if(oh&&(!a||"Symbol"!==a[Z.toStringTag]))throw new TypeError(""+a+" is not a symbol");for(var b in kh)if(kh[b]===a)return oh?kh[b].ua:kh[b].substr(7,kh[b].length-8)})}); +mh(Z,{ub:Y(Z("hasInstance")),vb:Y(Z("isConcatSpreadable")),iterator:Y(Z("iterator")),match:Y(Z("match")),replace:Y(Z("replace")),search:Y(Z("search")),Ab:Y(Z("species")),split:Y(Z("split")),Bb:Y(Z("toPrimitive")),toStringTag:Y(Z("toStringTag")),unscopables:Y(Z("unscopables"))});mh(rh,{constructor:Y(Z),toString:Y(function(){return this.Ka}),valueOf:Y(function(){return"Symbol("+this.ua+")"})});oh&&nh(rh,Z.toStringTag,Y("Symbol",{ya:!0}));var sh="function"===typeof Symbol?Symbol:Z;/* + +Copyright (c) 2018 The Polymer Project Authors. All rights reserved. +This code may only be used under the BSD style license found at http://polymer.github.io/LICENSE.txt +The complete set of authors may be found at http://polymer.github.io/AUTHORS.txt +The complete set of contributors may be found at http://polymer.github.io/CONTRIBUTORS.txt +Code distributed by Google as part of the polymer project is also +subject to an additional IP rights grant found at http://polymer.github.io/PATENTS.txt +*/ +window.Symbol||(window.Symbol=sh,Array.prototype[sh.iterator]=function(){function a(a,e,h){for(;;)switch(b){case 0:c=0;case 1:if(!(c<d.length)){b=3;break}b=4;return{value:d[c],done:!1};case 4:if(1!=a){b=5;break}b=-1;throw h;case 5:case 2:c++;b=1;break;case 3:b=-1;default:return{value:void 0,done:!0}}}var b=0,c,d=this,e={next:function(b){return a(0,b,void 0)},throw:function(b){return a(1,void 0,b)},return:function(){throw Error("Not yet implemented");}};ea();e[Symbol.iterator]=function(){return this}; +return e},Set.prototype[sh.iterator]=function(){function a(a,f,k){for(;;)switch(b){case 0:d=[],e.forEach(function(a){d.push(a)}),c=0;case 1:if(!(c<d.length)){b=3;break}b=4;return{value:d[c],done:!1};case 4:if(1!=a){b=5;break}b=-1;throw k;case 5:case 2:c++;b=1;break;case 3:b=-1;default:return{value:void 0,done:!0}}}var b=0,c,d,e=this,f={next:function(b){return a(0,b,void 0)},throw:function(b){return a(1,void 0,b)},return:function(){throw Error("Not yet implemented");}};ea();f[Symbol.iterator]=function(){return this}; +return f},Map.prototype[sh.iterator]=function(){function a(a,f,k){for(;;)switch(b){case 0:d=[],e.forEach(function(a,b){d.push([b,a])}),c=0;case 1:if(!(c<d.length)){b=3;break}b=4;return{value:d[c],done:!1};case 4:if(1!=a){b=5;break}b=-1;throw k;case 5:case 2:c++;b=1;break;case 3:b=-1;default:return{value:void 0,done:!0}}}var b=0,c,d,e=this,f={next:function(b){return a(0,b,void 0)},throw:function(b){return a(1,void 0,b)},return:function(){throw Error("Not yet implemented");}};ea();f[Symbol.iterator]= +function(){return this};return f},String.prototype[sh.iterator]=function(){function a(a,e,h){for(;;)switch(b){case 0:c=0;case 1:if(!(c<d.length)){b=3;break}b=4;return{value:d[c],done:!1};case 4:if(1!=a){b=5;break}b=-1;throw h;case 5:case 2:c++;b=1;break;case 3:b=-1;default:return{value:void 0,done:!0}}}var b=0,c,d=this,e={next:function(b){return a(0,b,void 0)},throw:function(b){return a(1,void 0,b)},return:function(){throw Error("Not yet implemented");}};ea();e[Symbol.iterator]=function(){return this}; +return e});var th=document.createElement("style");th.textContent="body {transition: opacity ease-in 0.2s; } \nbody[unresolved] {opacity: 0; display: block; overflow: hidden; position: relative; } \n";var uh=document.querySelector("head");uh.insertBefore(th,uh.firstChild);var vh=window.customElements,wh=!1,xh=null;vh.polyfillWrapFlushCallback&&vh.polyfillWrapFlushCallback(function(a){xh=a;wh&&a()});function yh(){window.HTMLTemplateElement.bootstrap&&window.HTMLTemplateElement.bootstrap(window.document);xh&&xh();wh=!0;window.WebComponents.ready=!0;document.dispatchEvent(new CustomEvent("WebComponentsReady",{bubbles:!0}))} +"complete"!==document.readyState?(window.addEventListener("load",yh),window.addEventListener("DOMContentLoaded",function(){window.removeEventListener("load",yh);yh()})):yh();}).call(this); +} diff --git a/docs/index.html b/docs/index.html index d29548d..f581e18 100644 --- a/docs/index.html +++ b/docs/index.html @@ -2223,6 +2223,24 @@ <h3>${suggestion.title}</h3> <div class="posts-container posts-with-sidebar posts-apply-limit l-screen-inset"> <div class="posts-list"> <h1 class="posts-list-caption" data-caption="Training materials">Training materials</h1> +<a href="posts/2021-06-13-unreproducibility-detox/" class="post-preview"> +<script class="post-metadata" type="text/json">{"categories":["Technical","EN"]}</script> +<div class="metadata"> +<div class="publishedDate">June 13, 2021</div> +<div class="dt-authors"> +<div class="dt-author">Gracielle Higino</div> +</div> +</div> +<div class="thumbnail"></div> +<div class="description"> +<h2>(un)Reproducibility Detox</h2> +<div class="dt-tags"> +<div class="dt-tag">Technical</div> +<div class="dt-tag">EN</div> +</div> +<p>A seven-day detox routine to improve the reproducibility of your projects!</p> +</div> +</a> <a href="posts/2021-03-25-point-count-data-analysis/" class="post-preview"> <script class="post-metadata" type="text/json">{"categories":["Training","Twelve hour"]}</script> <div class="metadata"> @@ -2316,7 +2334,7 @@ <h2>4-Day Training in Spatial Statistics with Philippe Marchand</h2> </div> </div> <div class="thumbnail"> -<img src="posts/2020-12-08-making-websites-with-hugo-part-2/thumb.png"/> +<img data-src="posts/2020-12-08-making-websites-with-hugo-part-2/thumb.png"/> </div> <div class="description"> <h2>Making websites with HUGO, Part 2</h2> @@ -2459,7 +2477,7 @@ <h3>Categories</h3> <ul> <li> <a href="#category:Articles">Articles</a> -<span class="category-count">(11)</span> +<span class="category-count">(12)</span> </li> <li> <a href="#category:Career">Career</a> @@ -2467,7 +2485,7 @@ <h3>Categories</h3> </li> <li> <a href="#category:EN">EN</a> -<span class="category-count">(7)</span> +<span class="category-count">(8)</span> </li> <li> <a href="#category:Fellow_contributed">Fellow contributed</a> @@ -2479,7 +2497,7 @@ <h3>Categories</h3> </li> <li> <a href="#category:Technical">Technical</a> -<span class="category-count">(4)</span> +<span class="category-count">(5)</span> </li> <li> <a href="#category:Training">Training</a> diff --git a/docs/index.xml b/docs/index.xml index d128a90..84ee81c 100644 --- a/docs/index.xml +++ b/docs/index.xml @@ -7,7 +7,17 @@ <description>Educational materials, incluing links to pdfs, videos, and code to reproduce all of our trainings. </description> <generator>Distill</generator> - <lastBuildDate>Thu, 25 Mar 2021 00:00:00 +0000</lastBuildDate> + <lastBuildDate>Sun, 13 Jun 2021 00:00:00 +0000</lastBuildDate> + <item> + <title>(un)Reproducibility Detox</title> + <dc:creator>Gracielle Higino</dc:creator> + <link>https://bios2.github.io/posts/2021-06-13-unreproducibility-detox</link> + <description>A seven-day detox routine to improve the reproducibility of your projects!</description> + <category>Technical</category> + <category>EN</category> + <guid>https://bios2.github.io/posts/2021-06-13-unreproducibility-detox</guid> + <pubDate>Sun, 13 Jun 2021 00:00:00 +0000</pubDate> + </item> <item> <title>Point-count Data Analysis</title> <dc:creator>Peter Solymos</dc:creator> diff --git a/docs/posts/2021-06-13-unreproducibility-detox/git_clone.png b/docs/posts/2021-06-13-unreproducibility-detox/git_clone.png new file mode 100644 index 0000000000000000000000000000000000000000..86c1de061ebc08a6c36bd3f01aa76797de30cf58 GIT binary patch literal 20092 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 literal 0 HcmV?d00001 diff --git a/docs/posts/2021-06-13-unreproducibility-detox/index.html b/docs/posts/2021-06-13-unreproducibility-detox/index.html new file mode 100644 index 0000000..4084421 --- /dev/null +++ b/docs/posts/2021-06-13-unreproducibility-detox/index.html @@ -0,0 +1,2445 @@ +<!DOCTYPE html> + +<html xmlns="http://www.w3.org/1999/xhtml" lang="" xml:lang=""> + +<head> + <meta charset="utf-8"/> + <meta name="viewport" content="width=device-width, initial-scale=1"/> + <meta http-equiv="X-UA-Compatible" content="IE=Edge,chrome=1"/> + <meta name="generator" content="distill" /> + + <style type="text/css"> + /* Hide doc at startup (prevent jankiness while JS renders/transforms) */ + body { + visibility: hidden; + } + </style> + + <!--radix_placeholder_import_source--> + <!--/radix_placeholder_import_source--> + +<style type="text/css">code{white-space: pre;}</style> +<style type="text/css" data-origin="pandoc"> +pre > code.sourceCode { white-space: pre; position: relative; } +pre > code.sourceCode > span { display: inline-block; line-height: 1.25; } +pre > code.sourceCode > span:empty { height: 1.2em; } +code.sourceCode > span { color: inherit; text-decoration: inherit; } +div.sourceCode { margin: 1em 0; } +pre.sourceCode { margin: 0; } +@media screen { +div.sourceCode { overflow: auto; } +} +@media print { +pre > code.sourceCode { white-space: pre-wrap; } +pre > code.sourceCode > span { text-indent: -5em; padding-left: 5em; } +} +pre.numberSource code + { counter-reset: source-line 0; } +pre.numberSource code > span + { position: relative; left: -4em; counter-increment: source-line; } +pre.numberSource code > span > a:first-child::before + { content: counter(source-line); + position: relative; left: -1em; text-align: right; vertical-align: baseline; + border: none; display: inline-block; + -webkit-touch-callout: none; -webkit-user-select: none; + -khtml-user-select: none; -moz-user-select: none; + -ms-user-select: none; user-select: none; + padding: 0 4px; width: 4em; + color: #aaaaaa; + } +pre.numberSource { margin-left: 3em; border-left: 1px solid #aaaaaa; padding-left: 4px; } +div.sourceCode + { } +@media screen { +pre > code.sourceCode > span > a:first-child::before { text-decoration: underline; } +} +code span.al { color: #ad0000; } /* Alert */ +code span.an { color: #5e5e5e; } /* Annotation */ +code span.at { color: #20794d; } /* Attribute */ +code span.bn { color: #ad0000; } /* BaseN */ +code span.bu { } /* BuiltIn */ +code span.cf { color: #007ba5; } /* ControlFlow */ +code span.ch { color: #20794d; } /* Char */ +code span.cn { color: #8f5902; } /* Constant */ +code span.co { color: #5e5e5e; } /* Comment */ +code span.cv { color: #5e5e5e; font-style: italic; } /* CommentVar */ +code span.do { color: #5e5e5e; font-style: italic; } /* Documentation */ +code span.dt { color: #ad0000; } /* DataType */ +code span.dv { color: #ad0000; } /* DecVal */ +code span.er { color: #ad0000; } /* Error */ +code span.ex { } /* Extension */ +code span.fl { color: #ad0000; } /* Float */ +code span.fu { color: #4758ab; } /* Function */ +code span.im { } /* Import */ +code span.in { color: #5e5e5e; } /* Information */ +code span.kw { color: #007ba5; } /* Keyword */ +code span.op { color: #5e5e5e; } /* Operator */ +code span.ot { color: #007ba5; } /* Other */ +code span.pp { color: #ad0000; } /* Preprocessor */ +code span.sc { color: #20794d; } /* SpecialChar */ +code span.ss { color: #20794d; } /* SpecialString */ +code span.st { color: #20794d; } /* String */ +code span.va { color: #111111; } /* Variable */ +code span.vs { color: #20794d; } /* VerbatimString */ +code span.wa { color: #5e5e5e; font-style: italic; } /* Warning */ +</style> + + <!--radix_placeholder_meta_tags--> +<title>BIOS2 Education resources: (un)Reproducibility Detox</title> + +<meta property="description" itemprop="description" content="A seven-day detox routine to improve the reproducibility of your projects!"/> + +<link rel="canonical" href="https://bios2.github.io/posts/2021-06-13-unreproducibility-detox/"/> +<link rel="license" href="https://creativecommons.org/licenses/by/4.0/"/> + +<!-- https://schema.org/Article --> +<meta property="article:published" itemprop="datePublished" content="2021-06-13"/> +<meta property="article:created" itemprop="dateCreated" content="2021-06-13"/> +<meta name="article:author" content="Gracielle Higino"/> + +<!-- https://developers.facebook.com/docs/sharing/webmasters#markup --> +<meta property="og:title" content="BIOS2 Education resources: (un)Reproducibility Detox"/> +<meta property="og:type" content="article"/> +<meta property="og:description" content="A seven-day detox routine to improve the reproducibility of your projects!"/> +<meta property="og:url" content="https://bios2.github.io/posts/2021-06-13-unreproducibility-detox/"/> +<meta property="og:locale" content="en_US"/> +<meta property="og:site_name" content="BIOS2 Education resources"/> + +<!-- https://dev.twitter.com/cards/types/summary --> +<meta property="twitter:card" content="summary"/> +<meta property="twitter:title" content="BIOS2 Education resources: (un)Reproducibility Detox"/> +<meta property="twitter:description" content="A seven-day detox routine to improve the reproducibility of your projects!"/> +<meta property="twitter:url" content="https://bios2.github.io/posts/2021-06-13-unreproducibility-detox/"/> + +<!-- https://scholar.google.com/intl/en/scholar/inclusion.html#indexing --> +<meta name="citation_title" content="BIOS2 Education resources: (un)Reproducibility Detox"/> +<meta name="citation_fulltext_html_url" content="https://bios2.github.io/posts/2021-06-13-unreproducibility-detox/"/> +<meta name="citation_fulltext_world_readable" content=""/> +<meta name="citation_online_date" content="2021/06/13"/> +<meta name="citation_publication_date" content="2021/06/13"/> +<meta name="citation_author" content="Gracielle Higino"/> +<!--/radix_placeholder_meta_tags--> + <!--radix_placeholder_rmarkdown_metadata--> + +<script type="text/json" id="radix-rmarkdown-metadata"> +{"type":"list","attributes":{"names":{"type":"character","attributes":{},"value":["creative_commons","title","description","author","preview","categories","date","output","citation_url","canonical_url"]}},"value":[{"type":"character","attributes":{},"value":["CC BY"]},{"type":"character","attributes":{},"value":["(un)Reproducibility Detox"]},{"type":"character","attributes":{},"value":["A seven-day detox routine to improve the reproducibility of your projects!"]},{"type":"list","attributes":{},"value":[{"type":"list","attributes":{"names":{"type":"character","attributes":{},"value":["name"]}},"value":[{"type":"character","attributes":{},"value":["Gracielle Higino"]}]}]},{"type":"character","attributes":{},"value":["thumb.png"]},{"type":"character","attributes":{},"value":["Technical","EN"]},{"type":"character","attributes":{},"value":["06-13-2021"]},{"type":"list","attributes":{"names":{"type":"character","attributes":{},"value":["distill::distill_article"]}},"value":[{"type":"list","attributes":{"names":{"type":"character","attributes":{},"value":["self_contained","toc"]}},"value":[{"type":"logical","attributes":{},"value":[false]},{"type":"logical","attributes":{},"value":[true]}]}]},{"type":"character","attributes":{},"value":["https://bios2.github.io/posts/2021-06-13-unreproducibility-detox/"]},{"type":"character","attributes":{},"value":["https://bios2.github.io/posts/2021-06-13-unreproducibility-detox/"]}]} +</script> +<!--/radix_placeholder_rmarkdown_metadata--> + + <script type="text/json" id="radix-resource-manifest"> + {"type":"character","attributes":{},"value":["git_clone.png","unreproducibility-detox_files/anchor-4.2.2/anchor.min.js","unreproducibility-detox_files/bowser-1.9.3/bowser.min.js","unreproducibility-detox_files/distill-2.2.21/template.v2.js","unreproducibility-detox_files/header-attrs-2.7/header-attrs.js","unreproducibility-detox_files/jquery-1.11.3/jquery.min.js","unreproducibility-detox_files/popper-2.6.0/popper.min.js","unreproducibility-detox_files/tippy-6.2.7/tippy-bundle.umd.min.js","unreproducibility-detox_files/tippy-6.2.7/tippy-light-border.css","unreproducibility-detox_files/tippy-6.2.7/tippy.css","unreproducibility-detox_files/tippy-6.2.7/tippy.umd.min.js","unreproducibility-detox_files/webcomponents-2.0.0/webcomponents.js"]} + </script> + <!--radix_placeholder_navigation_in_header--> +<meta name="distill:offset" content="../.."/> + +<script type="application/javascript"> + + window.headroom_prevent_pin = false; + + window.document.addEventListener("DOMContentLoaded", function (event) { + + // initialize headroom for banner + var header = $('header').get(0); + var headerHeight = header.offsetHeight; + var headroom = new Headroom(header, { + tolerance: 5, + onPin : function() { + if (window.headroom_prevent_pin) { + window.headroom_prevent_pin = false; + headroom.unpin(); + } + } + }); + headroom.init(); + if(window.location.hash) + headroom.unpin(); + $(header).addClass('headroom--transition'); + + // offset scroll location for banner on hash change + // (see: https://github.com/WickyNilliams/headroom.js/issues/38) + window.addEventListener("hashchange", function(event) { + window.scrollTo(0, window.pageYOffset - (headerHeight + 25)); + }); + + // responsive menu + $('.distill-site-header').each(function(i, val) { + var topnav = $(this); + var toggle = topnav.find('.nav-toggle'); + toggle.on('click', function() { + topnav.toggleClass('responsive'); + }); + }); + + // nav dropdowns + $('.nav-dropbtn').click(function(e) { + $(this).next('.nav-dropdown-content').toggleClass('nav-dropdown-active'); + $(this).parent().siblings('.nav-dropdown') + .children('.nav-dropdown-content').removeClass('nav-dropdown-active'); + }); + $("body").click(function(e){ + $('.nav-dropdown-content').removeClass('nav-dropdown-active'); + }); + $(".nav-dropdown").click(function(e){ + e.stopPropagation(); + }); + }); +</script> + +<style type="text/css"> + +/* Theme (user-documented overrideables for nav appearance) */ + +.distill-site-nav { + color: rgba(255, 255, 255, 0.8); + background-color: #0F2E3D; + font-size: 15px; + font-weight: 300; +} + +.distill-site-nav a { + color: inherit; + text-decoration: none; +} + +.distill-site-nav a:hover { + color: white; +} + +@media print { + .distill-site-nav { + display: none; + } +} + +.distill-site-header { + +} + +.distill-site-footer { + +} + + +/* Site Header */ + +.distill-site-header { + width: 100%; + box-sizing: border-box; + z-index: 3; +} + +.distill-site-header .nav-left { + display: inline-block; + margin-left: 8px; +} + +@media screen and (max-width: 768px) { + .distill-site-header .nav-left { + margin-left: 0; + } +} + + +.distill-site-header .nav-right { + float: right; + margin-right: 8px; +} + +.distill-site-header a, +.distill-site-header .title { + display: inline-block; + text-align: center; + padding: 14px 10px 14px 10px; +} + +.distill-site-header .title { + font-size: 18px; + min-width: 150px; +} + +.distill-site-header .logo { + padding: 0; +} + +.distill-site-header .logo img { + display: none; + max-height: 20px; + width: auto; + margin-bottom: -4px; +} + +.distill-site-header .nav-image img { + max-height: 18px; + width: auto; + display: inline-block; + margin-bottom: -3px; +} + + + +@media screen and (min-width: 1000px) { + .distill-site-header .logo img { + display: inline-block; + } + .distill-site-header .nav-left { + margin-left: 20px; + } + .distill-site-header .nav-right { + margin-right: 20px; + } + .distill-site-header .title { + padding-left: 12px; + } +} + + +.distill-site-header .nav-toggle { + display: none; +} + +.nav-dropdown { + display: inline-block; + position: relative; +} + +.nav-dropdown .nav-dropbtn { + border: none; + outline: none; + color: rgba(255, 255, 255, 0.8); + padding: 16px 10px; + background-color: transparent; + font-family: inherit; + font-size: inherit; + font-weight: inherit; + margin: 0; + margin-top: 1px; + z-index: 2; +} + +.nav-dropdown-content { + display: none; + position: absolute; + background-color: white; + min-width: 200px; + border: 1px solid rgba(0,0,0,0.15); + border-radius: 4px; + box-shadow: 0px 8px 16px 0px rgba(0,0,0,0.1); + z-index: 1; + margin-top: 2px; + white-space: nowrap; + padding-top: 4px; + padding-bottom: 4px; +} + +.nav-dropdown-content hr { + margin-top: 4px; + margin-bottom: 4px; + border: none; + border-bottom: 1px solid rgba(0, 0, 0, 0.1); +} + +.nav-dropdown-active { + display: block; +} + +.nav-dropdown-content a, .nav-dropdown-content .nav-dropdown-header { + color: black; + padding: 6px 24px; + text-decoration: none; + display: block; + text-align: left; +} + +.nav-dropdown-content .nav-dropdown-header { + display: block; + padding: 5px 24px; + padding-bottom: 0; + text-transform: uppercase; + font-size: 14px; + color: #999999; + white-space: nowrap; +} + +.nav-dropdown:hover .nav-dropbtn { + color: white; +} + +.nav-dropdown-content a:hover { + background-color: #ddd; + color: black; +} + +.nav-right .nav-dropdown-content { + margin-left: -45%; + right: 0; +} + +@media screen and (max-width: 768px) { + .distill-site-header a, .distill-site-header .nav-dropdown {display: none;} + .distill-site-header a.nav-toggle { + float: right; + display: block; + } + .distill-site-header .title { + margin-left: 0; + } + .distill-site-header .nav-right { + margin-right: 0; + } + .distill-site-header { + overflow: hidden; + } + .nav-right .nav-dropdown-content { + margin-left: 0; + } +} + + +@media screen and (max-width: 768px) { + .distill-site-header.responsive {position: relative; min-height: 500px; } + .distill-site-header.responsive a.nav-toggle { + position: absolute; + right: 0; + top: 0; + } + .distill-site-header.responsive a, + .distill-site-header.responsive .nav-dropdown { + display: block; + text-align: left; + } + .distill-site-header.responsive .nav-left, + .distill-site-header.responsive .nav-right { + width: 100%; + } + .distill-site-header.responsive .nav-dropdown {float: none;} + .distill-site-header.responsive .nav-dropdown-content {position: relative;} + .distill-site-header.responsive .nav-dropdown .nav-dropbtn { + display: block; + width: 100%; + text-align: left; + } +} + +/* Site Footer */ + +.distill-site-footer { + width: 100%; + overflow: hidden; + box-sizing: border-box; + z-index: 3; + margin-top: 30px; + padding-top: 30px; + padding-bottom: 30px; + text-align: center; +} + +/* Headroom */ + +d-title { + padding-top: 6rem; +} + +@media print { + d-title { + padding-top: 4rem; + } +} + +.headroom { + z-index: 1000; + position: fixed; + top: 0; + left: 0; + right: 0; +} + +.headroom--transition { + transition: all .4s ease-in-out; +} + +.headroom--unpinned { + top: -100px; +} + +.headroom--pinned { + top: 0; +} + +/* adjust viewport for navbar height */ +/* helps vertically center bootstrap (non-distill) content */ +.min-vh-100 { + min-height: calc(100vh - 100px) !important; +} + +</style> + +<script src="../../site_libs/jquery-1.11.3/jquery.min.js"></script> +<link href="../../site_libs/font-awesome-5.1.0/css/all.css" rel="stylesheet"/> +<link href="../../site_libs/font-awesome-5.1.0/css/v4-shims.css" rel="stylesheet"/> +<script src="../../site_libs/headroom-0.9.4/headroom.min.js"></script> +<script src="../../site_libs/autocomplete-0.37.1/autocomplete.min.js"></script> +<script src="../../site_libs/fuse-6.4.1/fuse.min.js"></script> + +<script type="application/javascript"> + +function getMeta(metaName) { + var metas = document.getElementsByTagName('meta'); + for (let i = 0; i < metas.length; i++) { + if (metas[i].getAttribute('name') === metaName) { + return metas[i].getAttribute('content'); + } + } + return ''; +} + +function offsetURL(url) { + var offset = getMeta('distill:offset'); + return offset ? offset + '/' + url : url; +} + +function createFuseIndex() { + + // create fuse index + var options = { + keys: [ + { name: 'title', weight: 20 }, + { name: 'categories', weight: 15 }, + { name: 'description', weight: 10 }, + { name: 'contents', weight: 5 }, + ], + ignoreLocation: true, + threshold: 0 + }; + var fuse = new window.Fuse([], options); + + // fetch the main search.json + return fetch(offsetURL('search.json')) + .then(function(response) { + if (response.status == 200) { + return response.json().then(function(json) { + // index main articles + json.articles.forEach(function(article) { + fuse.add(article); + }); + // download collections and index their articles + return Promise.all(json.collections.map(function(collection) { + return fetch(offsetURL(collection)).then(function(response) { + if (response.status === 200) { + return response.json().then(function(articles) { + articles.forEach(function(article) { + fuse.add(article); + }); + }) + } else { + return Promise.reject( + new Error('Unexpected status from search index request: ' + + response.status) + ); + } + }); + })).then(function() { + return fuse; + }); + }); + + } else { + return Promise.reject( + new Error('Unexpected status from search index request: ' + + response.status) + ); + } + }); +} + +window.document.addEventListener("DOMContentLoaded", function (event) { + + // get search element (bail if we don't have one) + var searchEl = window.document.getElementById('distill-search'); + if (!searchEl) + return; + + createFuseIndex() + .then(function(fuse) { + + // make search box visible + searchEl.classList.remove('hidden'); + + // initialize autocomplete + var options = { + autoselect: true, + hint: false, + minLength: 2, + }; + window.autocomplete(searchEl, options, [{ + source: function(query, callback) { + const searchOptions = { + isCaseSensitive: false, + shouldSort: true, + minMatchCharLength: 2, + limit: 10, + }; + var results = fuse.search(query, searchOptions); + callback(results + .map(function(result) { return result.item; }) + ); + }, + templates: { + suggestion: function(suggestion) { + var img = suggestion.preview && Object.keys(suggestion.preview).length > 0 + ? `<img src="${offsetURL(suggestion.preview)}"</img>` + : ''; + var html = ` + <div class="search-item"> + <h3>${suggestion.title}</h3> + <div class="search-item-description"> + ${suggestion.description || ''} + </div> + <div class="search-item-preview"> + ${img} + </div> + </div> + `; + return html; + } + } + }]).on('autocomplete:selected', function(event, suggestion) { + window.location.href = offsetURL(suggestion.path); + }); + // remove inline display style on autocompleter (we want to + // manage responsive display via css) + $('.algolia-autocomplete').css("display", ""); + }) + .catch(function(error) { + console.log(error); + }); + +}); + +</script> + +<style type="text/css"> + +.nav-search { + font-size: x-small; +} + +/* Algolioa Autocomplete */ + +.algolia-autocomplete { + display: inline-block; + margin-left: 10px; + vertical-align: sub; + background-color: white; + color: black; + padding: 6px; + padding-top: 8px; + padding-bottom: 0; + border-radius: 6px; + border: 1px #0F2E3D solid; + width: 180px; +} + + +@media screen and (max-width: 768px) { + .distill-site-nav .algolia-autocomplete { + display: none; + visibility: hidden; + } + .distill-site-nav.responsive .algolia-autocomplete { + display: inline-block; + visibility: visible; + } + .distill-site-nav.responsive .algolia-autocomplete .aa-dropdown-menu { + margin-left: 0; + width: 400px; + max-height: 400px; + } +} + +.algolia-autocomplete .aa-input, .algolia-autocomplete .aa-hint { + width: 90%; + outline: none; + border: none; +} + +.algolia-autocomplete .aa-hint { + color: #999; +} +.algolia-autocomplete .aa-dropdown-menu { + width: 550px; + max-height: 70vh; + overflow-x: visible; + overflow-y: scroll; + padding: 5px; + margin-top: 3px; + margin-left: -150px; + background-color: #fff; + border-radius: 5px; + border: 1px solid #999; + border-top: none; +} + +.algolia-autocomplete .aa-dropdown-menu .aa-suggestion { + cursor: pointer; + padding: 5px 4px; + border-bottom: 1px solid #eee; +} + +.algolia-autocomplete .aa-dropdown-menu .aa-suggestion:last-of-type { + border-bottom: none; + margin-bottom: 2px; +} + +.algolia-autocomplete .aa-dropdown-menu .aa-suggestion .search-item { + overflow: hidden; + font-size: 0.8em; + line-height: 1.4em; +} + +.algolia-autocomplete .aa-dropdown-menu .aa-suggestion .search-item h3 { + font-size: 1rem; + margin-block-start: 0; + margin-block-end: 5px; +} + +.algolia-autocomplete .aa-dropdown-menu .aa-suggestion .search-item-description { + display: inline-block; + overflow: hidden; + height: 2.8em; + width: 80%; + margin-right: 4%; +} + +.algolia-autocomplete .aa-dropdown-menu .aa-suggestion .search-item-preview { + display: inline-block; + width: 15%; +} + +.algolia-autocomplete .aa-dropdown-menu .aa-suggestion .search-item-preview img { + height: 3em; + width: auto; + display: none; +} + +.algolia-autocomplete .aa-dropdown-menu .aa-suggestion .search-item-preview img[src] { + display: initial; +} + +.algolia-autocomplete .aa-dropdown-menu .aa-suggestion.aa-cursor { + background-color: #eee; +} +.algolia-autocomplete .aa-dropdown-menu .aa-suggestion em { + font-weight: bold; + font-style: normal; +} + +</style> + + +<!--/radix_placeholder_navigation_in_header--> + <!--radix_placeholder_distill--> + +<style type="text/css"> + +body { + background-color: white; +} + +.pandoc-table { + width: 100%; +} + +.pandoc-table>caption { + margin-bottom: 10px; +} + +.pandoc-table th:not([align]) { + text-align: left; +} + +.pagedtable-footer { + font-size: 15px; +} + +d-byline .byline { + grid-template-columns: 2fr 2fr; +} + +d-byline .byline h3 { + margin-block-start: 1.5em; +} + +d-byline .byline .authors-affiliations h3 { + margin-block-start: 0.5em; +} + +.authors-affiliations .orcid-id { + width: 16px; + height:16px; + margin-left: 4px; + margin-right: 4px; + vertical-align: middle; + padding-bottom: 2px; +} + +d-title .dt-tags { + margin-top: 1em; + grid-column: text; +} + +.dt-tags .dt-tag { + text-decoration: none; + display: inline-block; + color: rgba(0,0,0,0.6); + padding: 0em 0.4em; + margin-right: 0.5em; + margin-bottom: 0.4em; + font-size: 70%; + border: 1px solid rgba(0,0,0,0.2); + border-radius: 3px; + text-transform: uppercase; + font-weight: 500; +} + +d-article table.gt_table td, +d-article table.gt_table th { + border-bottom: none; +} + +.html-widget { + margin-bottom: 2.0em; +} + +.l-screen-inset { + padding-right: 16px; +} + +.l-screen .caption { + margin-left: 10px; +} + +.shaded { + background: rgb(247, 247, 247); + padding-top: 20px; + padding-bottom: 20px; + border-top: 1px solid rgba(0, 0, 0, 0.1); + border-bottom: 1px solid rgba(0, 0, 0, 0.1); +} + +.shaded .html-widget { + margin-bottom: 0; + border: 1px solid rgba(0, 0, 0, 0.1); +} + +.shaded .shaded-content { + background: white; +} + +.text-output { + margin-top: 0; + line-height: 1.5em; +} + +.hidden { + display: none !important; +} + +d-article { + padding-top: 2.5rem; + padding-bottom: 30px; +} + +d-appendix { + padding-top: 30px; +} + +d-article>p>img { + width: 100%; +} + +d-article h2 { + margin: 1rem 0 1.5rem 0; +} + +d-article h3 { + margin-top: 1.5rem; +} + +d-article iframe { + border: 1px solid rgba(0, 0, 0, 0.1); + margin-bottom: 2.0em; + width: 100%; +} + +/* Tweak code blocks */ + +d-article div.sourceCode code, +d-article pre code { + font-family: Consolas, Monaco, 'Andale Mono', 'Ubuntu Mono', monospace; +} + +d-article pre, +d-article div.sourceCode, +d-article div.sourceCode pre { + overflow: auto; +} + +d-article div.sourceCode { + background-color: white; +} + +d-article div.sourceCode pre { + padding-left: 10px; + font-size: 12px; + border-left: 2px solid rgba(0,0,0,0.1); +} + +d-article pre { + font-size: 12px; + color: black; + background: none; + margin-top: 0; + text-align: left; + white-space: pre; + word-spacing: normal; + word-break: normal; + word-wrap: normal; + line-height: 1.5; + + -moz-tab-size: 4; + -o-tab-size: 4; + tab-size: 4; + + -webkit-hyphens: none; + -moz-hyphens: none; + -ms-hyphens: none; + hyphens: none; +} + +d-article pre a { + border-bottom: none; +} + +d-article pre a:hover { + border-bottom: none; + text-decoration: underline; +} + +d-article details { + grid-column: text; + margin-bottom: 0.8em; +} + +@media(min-width: 768px) { + +d-article pre, +d-article div.sourceCode, +d-article div.sourceCode pre { + overflow: visible !important; +} + +d-article div.sourceCode pre { + padding-left: 18px; + font-size: 14px; +} + +d-article pre { + font-size: 14px; +} + +} + +figure img.external { + background: white; + border: 1px solid rgba(0, 0, 0, 0.1); + box-shadow: 0 1px 8px rgba(0, 0, 0, 0.1); + padding: 18px; + box-sizing: border-box; +} + +/* CSS for d-contents */ + +.d-contents { + grid-column: text; + color: rgba(0,0,0,0.8); + font-size: 0.9em; + padding-bottom: 1em; + margin-bottom: 1em; + padding-bottom: 0.5em; + margin-bottom: 1em; + padding-left: 0.25em; + justify-self: start; +} + +@media(min-width: 1000px) { + .d-contents.d-contents-float { + height: 0; + grid-column-start: 1; + grid-column-end: 4; + justify-self: center; + padding-right: 3em; + padding-left: 2em; + } +} + +.d-contents nav h3 { + font-size: 18px; + margin-top: 0; + margin-bottom: 1em; +} + +.d-contents li { + list-style-type: none +} + +.d-contents nav > ul { + padding-left: 0; +} + +.d-contents ul { + padding-left: 1em +} + +.d-contents nav ul li { + margin-top: 0.6em; + margin-bottom: 0.2em; +} + +.d-contents nav a { + font-size: 13px; + border-bottom: none; + text-decoration: none + color: rgba(0, 0, 0, 0.8); +} + +.d-contents nav a:hover { + text-decoration: underline solid rgba(0, 0, 0, 0.6) +} + +.d-contents nav > ul > li > a { + font-weight: 600; +} + +.d-contents nav > ul > li > ul { + font-weight: inherit; +} + +.d-contents nav > ul > li > ul > li { + margin-top: 0.2em; +} + + +.d-contents nav ul { + margin-top: 0; + margin-bottom: 0.25em; +} + +.d-article-with-toc h2:nth-child(2) { + margin-top: 0; +} + + +/* Figure */ + +.figure { + position: relative; + margin-bottom: 2.5em; + margin-top: 1.5em; +} + +.figure img { + width: 100%; +} + +.figure .caption { + color: rgba(0, 0, 0, 0.6); + font-size: 12px; + line-height: 1.5em; +} + +.figure img.external { + background: white; + border: 1px solid rgba(0, 0, 0, 0.1); + box-shadow: 0 1px 8px rgba(0, 0, 0, 0.1); + padding: 18px; + box-sizing: border-box; +} + +.figure .caption a { + color: rgba(0, 0, 0, 0.6); +} + +.figure .caption b, +.figure .caption strong, { + font-weight: 600; + color: rgba(0, 0, 0, 1.0); +} + +/* Citations */ + +d-article .citation { + color: inherit; + cursor: inherit; +} + +div.hanging-indent{ + margin-left: 1em; text-indent: -1em; +} + +/* Citation hover box */ + +.tippy-box[data-theme~=light-border] { + background-color: rgba(250, 250, 250, 0.95); +} + +.tippy-content > p { + margin-bottom: 0; + padding: 2px; +} + + +/* Tweak 1000px media break to show more text */ + +@media(min-width: 1000px) { + .base-grid, + distill-header, + d-title, + d-abstract, + d-article, + d-appendix, + distill-appendix, + d-byline, + d-footnote-list, + d-citation-list, + distill-footer { + grid-template-columns: [screen-start] 1fr [page-start kicker-start] 80px [middle-start] 50px [text-start kicker-end] 65px 65px 65px 65px 65px 65px 65px 65px [text-end gutter-start] 65px [middle-end] 65px [page-end gutter-end] 1fr [screen-end]; + grid-column-gap: 16px; + } + + .grid { + grid-column-gap: 16px; + } + + d-article { + font-size: 1.06rem; + line-height: 1.7em; + } + figure .caption, .figure .caption, figure figcaption { + font-size: 13px; + } +} + +@media(min-width: 1180px) { + .base-grid, + distill-header, + d-title, + d-abstract, + d-article, + d-appendix, + distill-appendix, + d-byline, + d-footnote-list, + d-citation-list, + distill-footer { + grid-template-columns: [screen-start] 1fr [page-start kicker-start] 60px [middle-start] 60px [text-start kicker-end] 60px 60px 60px 60px 60px 60px 60px 60px [text-end gutter-start] 60px [middle-end] 60px [page-end gutter-end] 1fr [screen-end]; + grid-column-gap: 32px; + } + + .grid { + grid-column-gap: 32px; + } +} + + +/* Get the citation styles for the appendix (not auto-injected on render since + we do our own rendering of the citation appendix) */ + +d-appendix .citation-appendix, +.d-appendix .citation-appendix { + font-size: 11px; + line-height: 15px; + border-left: 1px solid rgba(0, 0, 0, 0.1); + padding-left: 18px; + border: 1px solid rgba(0,0,0,0.1); + background: rgba(0, 0, 0, 0.02); + padding: 10px 18px; + border-radius: 3px; + color: rgba(150, 150, 150, 1); + overflow: hidden; + margin-top: -12px; + white-space: pre-wrap; + word-wrap: break-word; +} + +/* Include appendix styles here so they can be overridden */ + +d-appendix { + contain: layout style; + font-size: 0.8em; + line-height: 1.7em; + margin-top: 60px; + margin-bottom: 0; + border-top: 1px solid rgba(0, 0, 0, 0.1); + color: rgba(0,0,0,0.5); + padding-top: 60px; + padding-bottom: 48px; +} + +d-appendix h3 { + grid-column: page-start / text-start; + font-size: 15px; + font-weight: 500; + margin-top: 1em; + margin-bottom: 0; + color: rgba(0,0,0,0.65); +} + +d-appendix h3 + * { + margin-top: 1em; +} + +d-appendix ol { + padding: 0 0 0 15px; +} + +@media (min-width: 768px) { + d-appendix ol { + padding: 0 0 0 30px; + margin-left: -30px; + } +} + +d-appendix li { + margin-bottom: 1em; +} + +d-appendix a { + color: rgba(0, 0, 0, 0.6); +} + +d-appendix > * { + grid-column: text; +} + +d-appendix > d-footnote-list, +d-appendix > d-citation-list, +d-appendix > distill-appendix { + grid-column: screen; +} + +/* Include footnote styles here so they can be overridden */ + +d-footnote-list { + contain: layout style; +} + +d-footnote-list > * { + grid-column: text; +} + +d-footnote-list a.footnote-backlink { + color: rgba(0,0,0,0.3); + padding-left: 0.5em; +} + + + +/* Anchor.js */ + +.anchorjs-link { + /*transition: all .25s linear; */ + text-decoration: none; + border-bottom: none; +} +*:hover > .anchorjs-link { + margin-left: -1.125em !important; + text-decoration: none; + border-bottom: none; +} + +/* Social footer */ + +.social_footer { + margin-top: 30px; + margin-bottom: 0; + color: rgba(0,0,0,0.67); +} + +.disqus-comments { + margin-right: 30px; +} + +.disqus-comment-count { + border-bottom: 1px solid rgba(0, 0, 0, 0.4); + cursor: pointer; +} + +#disqus_thread { + margin-top: 30px; +} + +.article-sharing a { + border-bottom: none; + margin-right: 8px; +} + +.article-sharing a:hover { + border-bottom: none; +} + +.sidebar-section.subscribe { + font-size: 12px; + line-height: 1.6em; +} + +.subscribe p { + margin-bottom: 0.5em; +} + + +.article-footer .subscribe { + font-size: 15px; + margin-top: 45px; +} + + +.sidebar-section.custom { + font-size: 12px; + line-height: 1.6em; +} + +.custom p { + margin-bottom: 0.5em; +} + +/* Styles for listing layout (hide title) */ +.layout-listing d-title, .layout-listing .d-title { + display: none; +} + +/* Styles for posts lists (not auto-injected) */ + + +.posts-with-sidebar { + padding-left: 45px; + padding-right: 45px; +} + +.posts-list .description h2, +.posts-list .description p { + font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, "Fira Sans", "Droid Sans", "Helvetica Neue", Arial, sans-serif; +} + +.posts-list .description h2 { + font-weight: 700; + border-bottom: none; + padding-bottom: 0; +} + +.posts-list h2.post-tag { + border-bottom: 1px solid rgba(0, 0, 0, 0.2); + padding-bottom: 12px; +} +.posts-list { + margin-top: 60px; + margin-bottom: 24px; +} + +.posts-list .post-preview { + text-decoration: none; + overflow: hidden; + display: block; + border-bottom: 1px solid rgba(0, 0, 0, 0.1); + padding: 24px 0; +} + +.post-preview-last { + border-bottom: none !important; +} + +.posts-list .posts-list-caption { + grid-column: screen; + font-weight: 400; +} + +.posts-list .post-preview h2 { + margin: 0 0 6px 0; + line-height: 1.2em; + font-style: normal; + font-size: 24px; +} + +.posts-list .post-preview p { + margin: 0 0 12px 0; + line-height: 1.4em; + font-size: 16px; +} + +.posts-list .post-preview .thumbnail { + box-sizing: border-box; + margin-bottom: 24px; + position: relative; + max-width: 500px; +} +.posts-list .post-preview img { + width: 100%; + display: block; +} + +.posts-list .metadata { + font-size: 12px; + line-height: 1.4em; + margin-bottom: 18px; +} + +.posts-list .metadata > * { + display: inline-block; +} + +.posts-list .metadata .publishedDate { + margin-right: 2em; +} + +.posts-list .metadata .dt-authors { + display: block; + margin-top: 0.3em; + margin-right: 2em; +} + +.posts-list .dt-tags { + display: block; + line-height: 1em; +} + +.posts-list .dt-tags .dt-tag { + display: inline-block; + color: rgba(0,0,0,0.6); + padding: 0.3em 0.4em; + margin-right: 0.2em; + margin-bottom: 0.4em; + font-size: 60%; + border: 1px solid rgba(0,0,0,0.2); + border-radius: 3px; + text-transform: uppercase; + font-weight: 500; +} + +.posts-list img { + opacity: 1; +} + +.posts-list img[data-src] { + opacity: 0; +} + +.posts-more { + clear: both; +} + + +.posts-sidebar { + font-size: 16px; +} + +.posts-sidebar h3 { + font-size: 16px; + margin-top: 0; + margin-bottom: 0.5em; + font-weight: 400; + text-transform: uppercase; +} + +.sidebar-section { + margin-bottom: 30px; +} + +.categories ul { + list-style-type: none; + margin: 0; + padding: 0; +} + +.categories li { + color: rgba(0, 0, 0, 0.8); + margin-bottom: 0; +} + +.categories li>a { + border-bottom: none; +} + +.categories li>a:hover { + border-bottom: 1px solid rgba(0, 0, 0, 0.4); +} + +.categories .active { + font-weight: 600; +} + +.categories .category-count { + color: rgba(0, 0, 0, 0.4); +} + + +@media(min-width: 768px) { + .posts-list .post-preview h2 { + font-size: 26px; + } + .posts-list .post-preview .thumbnail { + float: right; + width: 30%; + margin-bottom: 0; + } + .posts-list .post-preview .description { + float: left; + width: 45%; + } + .posts-list .post-preview .metadata { + float: left; + width: 20%; + margin-top: 8px; + } + .posts-list .post-preview p { + margin: 0 0 12px 0; + line-height: 1.5em; + font-size: 16px; + } + .posts-with-sidebar .posts-list { + float: left; + width: 75%; + } + .posts-with-sidebar .posts-sidebar { + float: right; + width: 20%; + margin-top: 60px; + padding-top: 24px; + padding-bottom: 24px; + } +} + + +/* Improve display for browsers without grid (IE/Edge <= 15) */ + +.downlevel { + line-height: 1.6em; + font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, "Fira Sans", "Droid Sans", "Helvetica Neue", Arial, sans-serif; + margin: 0; +} + +.downlevel .d-title { + padding-top: 6rem; + padding-bottom: 1.5rem; +} + +.downlevel .d-title h1 { + font-size: 50px; + font-weight: 700; + line-height: 1.1em; + margin: 0 0 0.5rem; +} + +.downlevel .d-title p { + font-weight: 300; + font-size: 1.2rem; + line-height: 1.55em; + margin-top: 0; +} + +.downlevel .d-byline { + padding-top: 0.8em; + padding-bottom: 0.8em; + font-size: 0.8rem; + line-height: 1.8em; +} + +.downlevel .section-separator { + border: none; + border-top: 1px solid rgba(0, 0, 0, 0.1); +} + +.downlevel .d-article { + font-size: 1.06rem; + line-height: 1.7em; + padding-top: 1rem; + padding-bottom: 2rem; +} + + +.downlevel .d-appendix { + padding-left: 0; + padding-right: 0; + max-width: none; + font-size: 0.8em; + line-height: 1.7em; + margin-bottom: 0; + color: rgba(0,0,0,0.5); + padding-top: 40px; + padding-bottom: 48px; +} + +.downlevel .footnotes ol { + padding-left: 13px; +} + +.downlevel .base-grid, +.downlevel .distill-header, +.downlevel .d-title, +.downlevel .d-abstract, +.downlevel .d-article, +.downlevel .d-appendix, +.downlevel .distill-appendix, +.downlevel .d-byline, +.downlevel .d-footnote-list, +.downlevel .d-citation-list, +.downlevel .distill-footer, +.downlevel .appendix-bottom, +.downlevel .posts-container { + padding-left: 40px; + padding-right: 40px; +} + +@media(min-width: 768px) { + .downlevel .base-grid, + .downlevel .distill-header, + .downlevel .d-title, + .downlevel .d-abstract, + .downlevel .d-article, + .downlevel .d-appendix, + .downlevel .distill-appendix, + .downlevel .d-byline, + .downlevel .d-footnote-list, + .downlevel .d-citation-list, + .downlevel .distill-footer, + .downlevel .appendix-bottom, + .downlevel .posts-container { + padding-left: 150px; + padding-right: 150px; + max-width: 900px; +} +} + +.downlevel pre code { + display: block; + border-left: 2px solid rgba(0, 0, 0, .1); + padding: 0 0 0 20px; + font-size: 14px; +} + +.downlevel code, .downlevel pre { + color: black; + background: none; + font-family: Consolas, Monaco, 'Andale Mono', 'Ubuntu Mono', monospace; + text-align: left; + white-space: pre; + word-spacing: normal; + word-break: normal; + word-wrap: normal; + line-height: 1.5; + + -moz-tab-size: 4; + -o-tab-size: 4; + tab-size: 4; + + -webkit-hyphens: none; + -moz-hyphens: none; + -ms-hyphens: none; + hyphens: none; +} + +.downlevel .posts-list .post-preview { + color: inherit; +} + + + +</style> + +<script type="application/javascript"> + +function is_downlevel_browser() { + if (bowser.isUnsupportedBrowser({ msie: "12", msedge: "16"}, + window.navigator.userAgent)) { + return true; + } else { + return window.load_distill_framework === undefined; + } +} + +// show body when load is complete +function on_load_complete() { + + // add anchors + if (window.anchors) { + window.anchors.options.placement = 'left'; + window.anchors.add('d-article > h2, d-article > h3, d-article > h4, d-article > h5'); + } + + + // set body to visible + document.body.style.visibility = 'visible'; + + // force redraw for leaflet widgets + if (window.HTMLWidgets) { + var maps = window.HTMLWidgets.findAll(".leaflet"); + $.each(maps, function(i, el) { + var map = this.getMap(); + map.invalidateSize(); + map.eachLayer(function(layer) { + if (layer instanceof L.TileLayer) + layer.redraw(); + }); + }); + } + + // trigger 'shown' so htmlwidgets resize + $('d-article').trigger('shown'); +} + +function init_distill() { + + init_common(); + + // create front matter + var front_matter = $('<d-front-matter></d-front-matter>'); + $('#distill-front-matter').wrap(front_matter); + + // create d-title + $('.d-title').changeElementType('d-title'); + + // create d-byline + var byline = $('<d-byline></d-byline>'); + $('.d-byline').replaceWith(byline); + + // create d-article + var article = $('<d-article></d-article>'); + $('.d-article').wrap(article).children().unwrap(); + + // move posts container into article + $('.posts-container').appendTo($('d-article')); + + // create d-appendix + $('.d-appendix').changeElementType('d-appendix'); + + // flag indicating that we have appendix items + var appendix = $('.appendix-bottom').children('h3').length > 0; + + // replace footnotes with <d-footnote> + $('.footnote-ref').each(function(i, val) { + appendix = true; + var href = $(this).attr('href'); + var id = href.replace('#', ''); + var fn = $('#' + id); + var fn_p = $('#' + id + '>p'); + fn_p.find('.footnote-back').remove(); + var text = fn_p.html(); + var dtfn = $('<d-footnote></d-footnote>'); + dtfn.html(text); + $(this).replaceWith(dtfn); + }); + // remove footnotes + $('.footnotes').remove(); + + // move refs into #references-listing + $('#references-listing').replaceWith($('#refs')); + + $('h1.appendix, h2.appendix').each(function(i, val) { + $(this).changeElementType('h3'); + }); + $('h3.appendix').each(function(i, val) { + var id = $(this).attr('id'); + $('.d-contents a[href="#' + id + '"]').parent().remove(); + appendix = true; + $(this).nextUntil($('h1, h2, h3')).addBack().appendTo($('d-appendix')); + }); + + // show d-appendix if we have appendix content + $("d-appendix").css('display', appendix ? 'grid' : 'none'); + + // localize layout chunks to just output + $('.layout-chunk').each(function(i, val) { + + // capture layout + var layout = $(this).attr('data-layout'); + + // apply layout to markdown level block elements + var elements = $(this).children().not('details, div.sourceCode, pre, script'); + elements.each(function(i, el) { + var layout_div = $('<div class="' + layout + '"></div>'); + if (layout_div.hasClass('shaded')) { + var shaded_content = $('<div class="shaded-content"></div>'); + $(this).wrap(shaded_content); + $(this).parent().wrap(layout_div); + } else { + $(this).wrap(layout_div); + } + }); + + + // unwrap the layout-chunk div + $(this).children().unwrap(); + }); + + // remove code block used to force highlighting css + $('.distill-force-highlighting-css').parent().remove(); + + // remove empty line numbers inserted by pandoc when using a + // custom syntax highlighting theme + $('code.sourceCode a:empty').remove(); + + // load distill framework + load_distill_framework(); + + // wait for window.distillRunlevel == 4 to do post processing + function distill_post_process() { + + if (!window.distillRunlevel || window.distillRunlevel < 4) + return; + + // hide author/affiliations entirely if we have no authors + var front_matter = JSON.parse($("#distill-front-matter").html()); + var have_authors = front_matter.authors && front_matter.authors.length > 0; + if (!have_authors) + $('d-byline').addClass('hidden'); + + // article with toc class + $('.d-contents').parent().addClass('d-article-with-toc'); + + // strip links that point to # + $('.authors-affiliations').find('a[href="#"]').removeAttr('href'); + + // add orcid ids + $('.authors-affiliations').find('.author').each(function(i, el) { + var orcid_id = front_matter.authors[i].orcidID; + if (orcid_id) { + var a = $('<a></a>'); + a.attr('href', 'https://orcid.org/' + orcid_id); + var img = $('<img></img>'); + img.addClass('orcid-id'); + img.attr('alt', 'ORCID ID'); + img.attr('src','data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA2ZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYwIDYxLjEzNDc3NywgMjAxMC8wMi8xMi0xNzozMjowMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDo1N0NEMjA4MDI1MjA2ODExOTk0QzkzNTEzRjZEQTg1NyIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDozM0NDOEJGNEZGNTcxMUUxODdBOEVCODg2RjdCQ0QwOSIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDozM0NDOEJGM0ZGNTcxMUUxODdBOEVCODg2RjdCQ0QwOSIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgQ1M1IE1hY2ludG9zaCI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOkZDN0YxMTc0MDcyMDY4MTE5NUZFRDc5MUM2MUUwNEREIiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOjU3Q0QyMDgwMjUyMDY4MTE5OTRDOTM1MTNGNkRBODU3Ii8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+84NovQAAAR1JREFUeNpiZEADy85ZJgCpeCB2QJM6AMQLo4yOL0AWZETSqACk1gOxAQN+cAGIA4EGPQBxmJA0nwdpjjQ8xqArmczw5tMHXAaALDgP1QMxAGqzAAPxQACqh4ER6uf5MBlkm0X4EGayMfMw/Pr7Bd2gRBZogMFBrv01hisv5jLsv9nLAPIOMnjy8RDDyYctyAbFM2EJbRQw+aAWw/LzVgx7b+cwCHKqMhjJFCBLOzAR6+lXX84xnHjYyqAo5IUizkRCwIENQQckGSDGY4TVgAPEaraQr2a4/24bSuoExcJCfAEJihXkWDj3ZAKy9EJGaEo8T0QSxkjSwORsCAuDQCD+QILmD1A9kECEZgxDaEZhICIzGcIyEyOl2RkgwAAhkmC+eAm0TAAAAABJRU5ErkJggg=='); + a.append(img); + $(this).append(a); + } + }); + + // hide elements of author/affiliations grid that have no value + function hide_byline_column(caption) { + $('d-byline').find('h3:contains("' + caption + '")').parent().css('visibility', 'hidden'); + } + + // affiliations + var have_affiliations = false; + for (var i = 0; i<front_matter.authors.length; ++i) { + var author = front_matter.authors[i]; + if (author.affiliation !== " ") { + have_affiliations = true; + break; + } + } + if (!have_affiliations) + $('d-byline').find('h3:contains("Affiliations")').css('visibility', 'hidden'); + + // published date + if (!front_matter.publishedDate) + hide_byline_column("Published"); + + // document object identifier + var doi = $('d-byline').find('h3:contains("DOI")'); + var doi_p = doi.next().empty(); + if (!front_matter.doi) { + // if we have a citation and valid citationText then link to that + if ($('#citation').length > 0 && front_matter.citationText) { + doi.html('Citation'); + $('<a href="#citation"></a>') + .text(front_matter.citationText) + .appendTo(doi_p); + } else { + hide_byline_column("DOI"); + } + } else { + $('<a></a>') + .attr('href', "https://doi.org/" + front_matter.doi) + .html(front_matter.doi) + .appendTo(doi_p); + } + + // change plural form of authors/affiliations + if (front_matter.authors.length === 1) { + var grid = $('.authors-affiliations'); + grid.children('h3:contains("Authors")').text('Author'); + grid.children('h3:contains("Affiliations")').text('Affiliation'); + } + + // remove d-appendix and d-footnote-list local styles + $('d-appendix > style:first-child').remove(); + $('d-footnote-list > style:first-child').remove(); + + // move appendix-bottom entries to the bottom + $('.appendix-bottom').appendTo('d-appendix').children().unwrap(); + $('.appendix-bottom').remove(); + + // hoverable references + $('span.citation[data-cites]').each(function() { + var refHtml = $('#ref-' + $(this).attr('data-cites')).html(); + window.tippy(this, { + allowHTML: true, + content: refHtml, + maxWidth: 500, + interactive: true, + interactiveBorder: 10, + theme: 'light-border', + placement: 'bottom-start' + }); + }); + + // clear polling timer + clearInterval(tid); + + // show body now that everything is ready + on_load_complete(); + } + + var tid = setInterval(distill_post_process, 50); + distill_post_process(); + +} + +function init_downlevel() { + + init_common(); + + // insert hr after d-title + $('.d-title').after($('<hr class="section-separator"/>')); + + // check if we have authors + var front_matter = JSON.parse($("#distill-front-matter").html()); + var have_authors = front_matter.authors && front_matter.authors.length > 0; + + // manage byline/border + if (!have_authors) + $('.d-byline').remove(); + $('.d-byline').after($('<hr class="section-separator"/>')); + $('.d-byline a').remove(); + + // remove toc + $('.d-contents').remove(); + + // move appendix elements + $('h1.appendix, h2.appendix').each(function(i, val) { + $(this).changeElementType('h3'); + }); + $('h3.appendix').each(function(i, val) { + $(this).nextUntil($('h1, h2, h3')).addBack().appendTo($('.d-appendix')); + }); + + + // inject headers into references and footnotes + var refs_header = $('<h3></h3>'); + refs_header.text('References'); + $('#refs').prepend(refs_header); + + var footnotes_header = $('<h3></h3'); + footnotes_header.text('Footnotes'); + $('.footnotes').children('hr').first().replaceWith(footnotes_header); + + // move appendix-bottom entries to the bottom + $('.appendix-bottom').appendTo('.d-appendix').children().unwrap(); + $('.appendix-bottom').remove(); + + // remove appendix if it's empty + if ($('.d-appendix').children().length === 0) + $('.d-appendix').remove(); + + // prepend separator above appendix + $('.d-appendix').before($('<hr class="section-separator" style="clear: both"/>')); + + // trim code + $('pre>code').each(function(i, val) { + $(this).html($.trim($(this).html())); + }); + + // move posts-container right before article + $('.posts-container').insertBefore($('.d-article')); + + $('body').addClass('downlevel'); + + on_load_complete(); +} + + +function init_common() { + + // jquery plugin to change element types + (function($) { + $.fn.changeElementType = function(newType) { + var attrs = {}; + + $.each(this[0].attributes, function(idx, attr) { + attrs[attr.nodeName] = attr.nodeValue; + }); + + this.replaceWith(function() { + return $("<" + newType + "/>", attrs).append($(this).contents()); + }); + }; + })(jQuery); + + // prevent underline for linked images + $('a > img').parent().css({'border-bottom' : 'none'}); + + // mark non-body figures created by knitr chunks as 100% width + $('.layout-chunk').each(function(i, val) { + var figures = $(this).find('img, .html-widget'); + if ($(this).attr('data-layout') !== "l-body") { + figures.css('width', '100%'); + } else { + figures.css('max-width', '100%'); + figures.filter("[width]").each(function(i, val) { + var fig = $(this); + fig.css('width', fig.attr('width') + 'px'); + }); + + } + }); + + // auto-append index.html to post-preview links in file: protocol + // and in rstudio ide preview + $('.post-preview').each(function(i, val) { + if (window.location.protocol === "file:") + $(this).attr('href', $(this).attr('href') + "index.html"); + }); + + // get rid of index.html references in header + if (window.location.protocol !== "file:") { + $('.distill-site-header a[href]').each(function(i,val) { + $(this).attr('href', $(this).attr('href').replace("index.html", "./")); + }); + } + + // add class to pandoc style tables + $('tr.header').parent('thead').parent('table').addClass('pandoc-table'); + $('.kable-table').children('table').addClass('pandoc-table'); + + // add figcaption style to table captions + $('caption').parent('table').addClass("figcaption"); + + // initialize posts list + if (window.init_posts_list) + window.init_posts_list(); + + // implmement disqus comment link + $('.disqus-comment-count').click(function() { + window.headroom_prevent_pin = true; + $('#disqus_thread').toggleClass('hidden'); + if (!$('#disqus_thread').hasClass('hidden')) { + var offset = $(this).offset(); + $(window).resize(); + $('html, body').animate({ + scrollTop: offset.top - 35 + }); + } + }); +} + +document.addEventListener('DOMContentLoaded', function() { + if (is_downlevel_browser()) + init_downlevel(); + else + window.addEventListener('WebComponentsReady', init_distill); +}); + +</script> + +<!--/radix_placeholder_distill--> + <script src="../../site_libs/header-attrs-2.7/header-attrs.js"></script> + <script src="../../site_libs/jquery-1.11.3/jquery.min.js"></script> + <script src="../../site_libs/popper-2.6.0/popper.min.js"></script> + <link href="../../site_libs/tippy-6.2.7/tippy.css" rel="stylesheet" /> + <link href="../../site_libs/tippy-6.2.7/tippy-light-border.css" rel="stylesheet" /> + <script src="../../site_libs/tippy-6.2.7/tippy.umd.min.js"></script> + <script src="../../site_libs/anchor-4.2.2/anchor.min.js"></script> + <script src="../../site_libs/bowser-1.9.3/bowser.min.js"></script> + <script src="../../site_libs/webcomponents-2.0.0/webcomponents.js"></script> + <script src="../../site_libs/distill-2.2.21/template.v2.js"></script> + <!--radix_placeholder_site_in_header--> +<!--/radix_placeholder_site_in_header--> + + +</head> + +<body> + +<!--radix_placeholder_front_matter--> + +<script id="distill-front-matter" type="text/json"> +{"title":"(un)Reproducibility Detox","description":"A seven-day detox routine to improve the reproducibility of your projects!","authors":[{"author":"Gracielle Higino","authorURL":"#","affiliation":" ","affiliationURL":"#","orcidID":""}],"publishedDate":"2021-06-13T00:00:00.000-04:00","citationText":"Higino, 2021"} +</script> + +<!--/radix_placeholder_front_matter--> +<!--radix_placeholder_navigation_before_body--> +<header class="header header--fixed" role="banner"> +<nav class="distill-site-nav distill-site-header"> +<div class="nav-left"> +<a class="logo" href="https://bios2.usherbrooke.ca/"> +<img src="../../Bios2_reverse.png" alt="Logo"/> +</a> +<a href="../../index.html" class="title">BIOS2 Education resources</a> +<input id="distill-search" class="nav-search hidden" type="text" placeholder="Search..."/> +</div> +<div class="nav-right"> +<a href="../../index.html">Home</a> +<div class="nav-dropdown"> +<button class="nav-dropbtn"> +Longer Trainings + +<span class="down-arrow">▾</span> +</button> +<div class="nav-dropdown-content"> +<a href="../../Marchand.html">Spatial Statistics</a> +</div> +</div> +<a href="../../about.html">About</a> +<a href="https://github.com/bios2/bios2.github.io"> +<i class="fab fa-github" aria-hidden="true"></i> +</a> +<a href="javascript:void(0);" class="nav-toggle">☰</a> +</div> +</nav> +</header> +<!--/radix_placeholder_navigation_before_body--> +<!--radix_placeholder_site_before_body--> +<!--/radix_placeholder_site_before_body--> + +<div class="d-title"> +<h1>(un)Reproducibility Detox</h1> +<!--radix_placeholder_categories--> +<div class="dt-tags"> + <a href="../../index.html#category:Technical" class="dt-tag">Technical</a> + <a href="../../index.html#category:EN" class="dt-tag">EN</a> +</div> +<!--/radix_placeholder_categories--> +<p><p>A seven-day detox routine to improve the reproducibility of your projects!</p></p> +</div> + +<div class="d-byline"> + + Gracielle Higino + +<br/>06-13-2021 +</div> + +<div class="d-article"> +<div class="d-contents d-contents-float"> +<nav class="l-text toc figcaption" id="TOC"> +<h3>Contents</h3> +<ul> +<li><a href="#sunday---reflect-about-open-science">Sunday - reflect about open science</a></li> +<li><a href="#monday---design-a-project">Monday - design a project</a> +<ul> +<li><a href="#give-cool-names">Give cool names</a></li> +<li><a href="#licenses">Licenses</a></li> +</ul></li> +<li><a href="#tuesday---control-your-versions">Tuesday - control your versions</a> +<ul> +<li><a href="#what-is-version-control-why-is-it-cool-to-use">What is version control? Why is it cool to use?</a></li> +<li><a href="#a-little-bit-of-git-vocabulary-and-architecture">A little bit of Git vocabulary and architecture</a> +<ul> +<li><a href="#the-repository-main-timeline">The repository main timeline</a></li> +<li><a href="#branches-from-the-master-branch">Branches from the master: branch</a></li> +<li><a href="#copying-repositories-from-the-cloud-to-the-computer-or-working-offline">Copying repositories from the ‘cloud’ to the computer (or, working offline):</a></li> +<li><a href="#copying-online-repositories">Copying online repositories</a></li> +<li><a href="#general-workflow-vocabulary">General workflow vocabulary</a></li> +</ul></li> +<li><a href="#working-remotely">Working remotely</a></li> +<li><a href="#working-locally">Working locally</a></li> +<li><a href="#basic-commands">Basic Commands</a> +<ul> +<li><a href="#how-to-track-changes-in-my-files">How to track changes in my files?</a></li> +<li><a href="#working-with-branches">Working with branches</a></li> +</ul></li> +<li><a href="#oh-my-git-d">Oh, my Git! D=</a></li> +</ul></li> +</ul> +</nav> +</div> +<p>Have you ever felt lost in your own projects? Do you feel like your workflow is quite effective, but it’s not transparent enough? This detox routine can help you regain control over your (very messy - I know!) project structure and discover a marvelous world of collaboration and contribution in open science!</p> +<p>Reproducibility is a principle that resonates to the most used concept of science, assuring that a hypothesis is <em>testable</em>. It means that the process to test an idea - from data to results - can be repeated. It is different from <em>replicability</em>, which means the process can be repeated, but using different data.</p> +<p>In this detox week we will reflect and experiment with open science, using our skills for project design, version control, virtual environments and automation. We will reevaluate our current workflow and fine-tune where needed, to reach the most reproducible workflow possible for us.</p> +<hr /> +<h1 id="sunday---reflect-about-open-science">Sunday - reflect about open science</h1> +<blockquote> +<h3 id="self-care-task-of-the-day"><strong>Self-care task of the day</strong></h3> +<p>Go to a calm place. No need of silence, just a place where you can just be still. Set a timer for 5min. Take a deep breath in, and a deep breath out. Give your body a scan-through: concentrate in each centimeter of it and try to be aware of how does your body feel there. Everytime you find a contracted muscle, try to relax it. Pay attention to the sounds around you. When the timer is off, take another deep breath.</p> +</blockquote> +<p>On the first day of this detox journey, let’s reflect on our way to work and how it could be better. Take a moment of your day and think about:</p> +<ol type="1"> +<li><p>What is your current workflow when you develop a project? Take a pen and paper (physical or digital) and sketch your usual process, step-by-step. Add as much details as you can (and take this chance to get creative!). Make sure to save this sketch in a place that is easy to access, you’re gonna need it in the following days.</p></li> +<li><p>How do we build trust and facilitate collaboration in our projects?</p></li> +<li><p>How can be inclusive by design - what can we do in our projects to invite collaboration?</p></li> +<li><p>Is reproducibility openness? If a project is reproducible, does that mean it is accessible?</p></li> +</ol> +<h4 id="suggested-reading">Suggested reading</h4> +<ul> +<li><a href="https://www.nature.com/articles/s41559-017-0160">Our path to better science in less time using open data science tools</a></li> +</ul> +<hr /> +<h1 id="monday---design-a-project">Monday - design a project</h1> +<blockquote> +<h3 id="self-care-task-of-the-day-1"><strong>Self-care task of the day</strong></h3> +<p>Go to somewhere where you feel in peace or happy. Take paper and something to write - even better if it’s colorful! Set a timer for 30 minutes and doodle something that reflects how you are feeling, something that represents a happy thought you had today, or something that represents the place you are right now.</p> +</blockquote> +<p>In this step we will squeeze our creativity out of our brains to come up with a project that is <strong>reproducible by design</strong>. Is there a hierarchy between your folders? Which folders do you need? Should you mix raw and clean data? Did this last question offend you?</p> +<p>There are a couple of tools you can use to automatically create a project structure for you, such as RProject and its combination with the R package <a href="https://kguidonimartins.github.io/minimalTemplate/"><code>minimaltemplate</code></a>, or the <a href="https://github.com/invenia/PkgTemplates.jl/"><code>PkgTemplate.jl</code></a> for development of packages in Julia.</p> +<p>The main things you need to reflect on when designing your open project are:</p> +<ol type="1"> +<li><p>Will I use data? If yes, will I need to treat/clean/subset them?</p></li> +<li><p>Will I use code?</p></li> +<li><p><a href="#licenses">Will it be shared? If yes, how? Do I want people to cite me, for exemple?</a></p></li> +<li><p>Will I need to generate manuscripts/reports/figures?</p></li> +<li><p>Will it be useful for people to know how to navigate my project? Will I welcome collaborators and contributors?</p></li> +<li><p><a href="#give-cool-names">What is the naming system I will use - for both folders and files?</a></p></li> +</ol> +<p>See an example of a structured project below (adapted from <a href="https://kguidonimartins.github.io/minimalTemplate/">here</a>):</p> +<pre><code>## /home/awesome-manuscript +## ├── .github +## ├── .gitignore +## ├── .travis.yml +## ├── DESCRIPTION +## ├── LICENSE.md +## ├── R +## │ ├── analysis.Rmd +## │ ├── local_functions.R +## │ └── package_list.R +## ├── README.md +## ├── awesome-manuscript.Rproj +## ├── data +## │ ├── clean +## │ ├── raw +## │ └── temp +## ├── main-script.Rmd +## ├── manuscript +## │ └── sources +## │ ├── ecology-letters.csl +## │ ├── library.bib +## │ ├── packages.bib +## │ └── template.docx +## ├── output +## │ ├── figures +## │ ├── results +## │ └── supp +## └── todo.txt</code></pre> +<p>Very nice, but the <strong>TL;DR version</strong> is:</p> +<ul> +<li><p>Consider having a dedicated folder for your <strong>data</strong> and split them into clean and raw data (alternatively, you can store your cleaned data inside an “output” folder, where other sorts of outputs will also be). If needed, create another folder for “sandbox data” - we need to have room for creativity in science! Also make sure to store the metadata in these folders, alongside their respective data, where they belong.</p></li> +<li><p>If you will produce <strong>reports/manuscripts</strong>, maybe it’s a good idea to have a dedicated folder for them too. Store there everything you’ll need to render your files, such as bibliography and templates.</p></li> +<li><p><strong>Figures</strong> should go in their own folder too.</p></li> +<li><p><strong>Code</strong> usually go in their own folder too, but if the code is about making the project work and putting everything together, it should go in the root.</p></li> +</ul> +<h3 id="give-cool-names">Give cool names</h3> +<p>Your project is so awesome that it needs the coolest names in its folders and files! <strong>Good names are informative and consistent</strong>. It is a hard exercise, but we do get better with time. The main things to think about when naming your things are:</p> +<ol type="1"> +<li><p>Does it describe what’s inside without being verbose?</p></li> +<li><p>Does it allow for correct ordering?</p></li> +<li><p>Is it easily searchable (a.k.a., machine readable)? Will my computer crash if I need to change to this directory?</p></li> +</ol> +<h3 id="licenses">Licenses</h3> +<p>An important part of making your work reproducible by anyone is to share it, and to do that safely, it is important to connect your project to a license. This is a statement about what and how people can use any part of your project. Chosing a license can be a difficult task at first, but if your projects have a common structure, they should be ok with the same license. When chosing a license, it is important to ask yourself (and your collaborators) the following questions:</p> +<ol type="1"> +<li><p>Do we want people to give us credit for our work when this projects is distributed, derived, performed or displayed?</p></li> +<li><p>Do we want the derivatives of this project be shared with the same license that we chose?</p></li> +<li><p>Are we ok with this project being used for commercial purposes?</p></li> +</ol> +<p>A combination of your answers will guide you to find the best license for your project which is adequate for your community. There are a couple of online tools that can help you with that! For example, if you are sharing creative work, you can consult the <a href="https://creativecommons.org/choose/">Creative Commons - Choose a License</a> tool. For other open source software licenses, you can take a look at the <a href="http://choosealicense.com/">Choose A License</a> website. The cool thing is: you can also <strong>create</strong> your own license! In any case, once you chose the appropriate license for your project, save it in your project root folder with the name “LICENSE” (as a text file). This way, your version control host system will automatically recognize it and display something like “hey, this project has a license!” when someone finds your project.</p> +<h4 id="suggested-readings">Suggested readings</h4> +<ul> +<li><p><a href="https://mozilla.github.io/open-leadership-training-series/articles/get-your-project-online/sharing-your-work-in-the-open/">Mozilla Open Leaders lesson on sharing your work in the open</a></p></li> +<li><p><a href="https://www.dcc.ac.uk/guidance/how-guides/license-research-data">How to License Research Data</a></p></li> +</ul> +<hr /> +<h1 id="tuesday---control-your-versions">Tuesday - control your versions</h1> +<blockquote> +<h3 id="self-care-task-of-the-day-2"><strong>Self-care task of the day</strong></h3> +</blockquote> +<h2 id="what-is-version-control-why-is-it-cool-to-use">What is version control? Why is it cool to use?</h2> +<p><img src="https://files.realpython.com/media/Introduction-to-Git-and-GitHub-for-Python-Developers_Watermarked_1.83e3183e9aaa.jpg" /></p> +<p>A version control system allows changes made to a file to be recorded in a timeline, and it is possible to retrieve previous versions at any time.</p> +<p>This is possible because with version control you don’t save copies of your work, but its history, avoiding things like this in your working directory:</p> +<pre class="shell"><code>- project/ + |- scripts/ + |- script-v0.1.R + |- script-after-review-from-Princess-Lea.R + |- script-merged.R + |- script-not-working-anymore.R + |- script-wtf.R </code></pre> +<p><a href="https://git-scm.com/">Git</a> is a <em>distributed version control system</em>, which means the snapshots of your work are stored in your local drive, but also can be distributed from the cloud to other developers.</p> +<h2 id="a-little-bit-of-git-vocabulary-and-architecture">A little bit of Git vocabulary and architecture</h2> +<p>The basic architecture we have to deal with is composed of a branches (including one we’ll call “main”, but is sometimes called “master”), clones and forks.<br /> +<img src="https://guides.github.com/activities/hello-world/branching.png" alt="arquitetura git" /></p> +<h3 id="the-repository-main-timeline">The repository main timeline</h3> +<p>The <strong><code>main</code></strong> is the primary timeline of your <strong>repository</strong> (a project with the files required to develop it). There the files will ideally only be changed when strictly necessary, i.e. when a change is critical to the progress of the project.</p> +<h3 id="branches-from-the-master-branch">Branches from the master: branch</h3> +<p>A <strong>branch</strong> <img src="https://raw.githubusercontent.com/mozillascience/friendly-github/master/assets/images/Branch.gif" style="width: 20px;"/> is a ramification from any other timeline. It is like a copy repository within the main repository, which is created to test changes that may or may not be implemented in the <code>main</code> timeline. Ideally, each developer creates a branch to test the changes they deem necessary and submit these changes to their colleagues’ judgment before implementing them in the <code>main</code>.</p> +<h3 id="copying-repositories-from-the-cloud-to-the-computer-or-working-offline">Copying repositories from the ‘cloud’ to the computer (or, working offline):</h3> +<p>Repositories can be created online and many things can be done there. However, in order to work locally on a repository, i.e. to work offline, we need to create a <strong>clone</strong> of the repository we have online. A clone is a synchronised copy of your online repository. Everything you do in your local working directory (corresponding to the clone) will be synchronized with the online repository.</p> +<h3 id="copying-online-repositories">Copying online repositories</h3> +<p>In turn, <strong>forks</strong> <img src="https://raw.githubusercontent.com/mozillascience/friendly-github/master/assets/images/Fork.gif" style="width: 20px;"/> are complete, independent copies of a repository. We use a fork (not a clone) when we want to change the direction of the project, or when we want to contribute to someone else’s project independently and only then suggest changes to the original project. If you need to update your fork with the newest version of the project, you can do that by requesting a <strong>fetch</strong> to Git.</p> +<h3 id="general-workflow-vocabulary">General workflow vocabulary</h3> +<p>When we change some file and save the new version, we do a <strong>commit</strong> <img src="https://raw.githubusercontent.com/mozillascience/friendly-github/master/assets/images/Commit.gif" style="width: 20px;"/>. Commits should be accompanied by short but sufficiently descriptive comments, so that you can understand what the difference in that version is and locate it more easily. With commits you can track what change was made, where, by whom and when.</p> +<figure> +<img src="https://raw.githubusercontent.com/mozillascience/study-group-onboarding/master/images/gh09.png" alt="commit" /><figcaption aria-hidden="true">commit</figcaption> +</figure> +<p>After changing a file and saving the new version, this version needs to be given a tag (an identification code), and then uploaded to the online repository. We call this a <strong>push</strong>. To update your local directory with the newest versions of files, you must tell Git to <strong>pull</strong> them.</p> +<p>When working on a branch, you can request that the changes you have made be implemented in the main branch of your <em>workflow</em> (or any other branch). To do this you request a <strong>merge</strong> via a <strong>pull request</strong> <img src="https://raw.githubusercontent.com/mozillascience/friendly-github/master/assets/images/PullRequest.gif" style="width: 20px;"/>. In a pull request, you ask a repository owner or contributor to accept the changes you made to a fork or branch into another branch. If they accept, you are listed as a contributor to the project.</p> +<h2 id="working-remotely">Working remotely</h2> +<p>The online portal of your Git server allows you to do most of the tasks described above in a very intuitive way. You can edit some files, upload others, request a merge, create and delete a branch, etc. Once you know the Git logic and architecture, it is easy to work online.<br /> +For a detailed walkthrough, take a look at <a href="https://mozillascience.github.io/WOW-2017/github/">this page</a>.</p> +<h2 id="working-locally">Working locally</h2> +<p>However, the changes we need to make cannot always be done directly in the portal, or would be done more efficiently if we worked on our computer, with our preferred software. To work on your repository from your computer, you only need to install Git itself (<a href="https://git-scm.com/downloads" class="uri">https://git-scm.com/downloads</a>). Some softwares allow you to visualize the timeline and operations being made, such as GitKraken (<a href="https://www.gitkraken.com/" class="uri">https://www.gitkraken.com/</a>) and some extentions for VSCode and RStudio.</p> +<p>Once you’ve installed Git, the there are two possible ways to start:</p> +<ul> +<li><p>You can create your online repository directly on your Git host server (such as GitHub, GitLab or Bitbucket);</p></li> +<li><p>Or you can “transform” a local directory into a Git controlled project.</p></li> +</ul> +<p>In the first case, to have a copy of your online repository on your computer, just clone your directory, either by downloading all the files in a .zip or by copying the ssh key or html address to use in a Git command.</p> +<p><img src="git_clone.png" /></p> +<p>You can also clone from GitKraken, by clicking on the little folder on the top left corner or on “File” on the menu.<br /> +<img src="https://support.gitkraken.com/img/documentation/getting-started/clone.png" /></p> +<p>In the second case, you must right-click on your workbook and open the Git Bash; alternatively, in GitKraken, you can click on “Init” in the same window shown above and indicate the directory of your workbook in “New repository path”.</p> +<h2 id="basic-commands">Basic Commands</h2> +<p>The following commands will give us an idea of a <em>workflow</em> in Git.</p> +<p>To use Git, you need to configure it so that your account on your Git server is recognised by it. In Git Bash:</p> +<div class="sourceCode" id="cb3"><pre class="sourceCode bash"><code class="sourceCode bash"><span id="cb3-1"><a href="#cb3-1" aria-hidden="true" tabindex="-1"></a><span class="fu">git</span> config --global user.name <span class="st">"username"</span></span> +<span id="cb3-2"><a href="#cb3-2" aria-hidden="true" tabindex="-1"></a><span class="fu">git</span> config --global user.email <span class="st">"iamawesome@email.com"</span></span> +<span id="cb3-3"><a href="#cb3-3" aria-hidden="true" tabindex="-1"></a><span class="fu">git</span> config --list <span class="co">#Confirm your settings</span></span></code></pre></div> +<p>There, now Git knows who you are.<br /> +<img src="https://media.giphy.com/media/QBGfW8HqzXzYDojCqo/giphy.gif" /></p> +<p>To start a repository from your computer, you can tell Git to start or “watch” a folder.<br /> +First, check what the working directory is and change it if necessary.</p> +<div class="sourceCode" id="cb4"><pre class="sourceCode bash"><code class="sourceCode bash"><span id="cb4-1"><a href="#cb4-1" aria-hidden="true" tabindex="-1"></a><span class="bu">pwd</span> <span class="co"># prints the working directory</span></span> +<span id="cb4-2"><a href="#cb4-2" aria-hidden="true" tabindex="-1"></a><span class="bu">cd</span> # takes you to the root</span> +<span id="cb4-3"><a href="#cb4-3" aria-hidden="true" tabindex="-1"></a><span class="bu">cd</span> .. <span class="co"># takes you to one level up directory</span></span> +<span id="cb4-4"><a href="#cb4-4" aria-hidden="true" tabindex="-1"></a><span class="bu">cd</span> <span class="st">"your/directory"</span> <span class="co"># changes your working directory</span></span></code></pre></div> +<p>To clone your repository, copy the url as shown in the picture above and ask Git to clone the repository into the directory you indicated.</p> +<div class="sourceCode" id="cb5"><pre class="sourceCode bash"><code class="sourceCode bash"><span id="cb5-1"><a href="#cb5-1" aria-hidden="true" tabindex="-1"></a><span class="fu">git</span> clone https://github.com/graciellehigino/bios2.github.io.git</span></code></pre></div> +<p>The above command will create a folder with the same name as the repository in your working directory. If you want the folder created to have another name, include that after the repository address. This process works if you have an online repository and want it to exist on your computer. You can also do it the other way round. If you have not yet created a folder for your project, you can ask Git to create one for you:</p> +<div class="sourceCode" id="cb6"><pre class="sourceCode bash"><code class="sourceCode bash"><span id="cb6-1"><a href="#cb6-1" aria-hidden="true" tabindex="-1"></a><span class="fu">mkdir</span> <span class="st">"web-repo-github"</span></span></code></pre></div> +<p>But if you already have a folder and want Git to “watch over” it, start a local repository in the directory indicated:</p> +<div class="sourceCode" id="cb7"><pre class="sourceCode bash"><code class="sourceCode bash"><span id="cb7-1"><a href="#cb7-1" aria-hidden="true" tabindex="-1"></a><span class="fu">git</span> init</span></code></pre></div> +<p>You can (maybe you need to) tell Git where your remote repository is:</p> +<div class="sourceCode" id="cb8"><pre class="sourceCode bash"><code class="sourceCode bash"><span id="cb8-1"><a href="#cb8-1" aria-hidden="true" tabindex="-1"></a><span class="fu">git</span> remote add origin https://github.com/graciellehigino/bios2.github.io.git</span></code></pre></div> +<p>Ok, now your repository is ready to use.<br /> +Check if there are new files in your folder or modified files that haven’t been pushed yet:</p> +<div class="sourceCode" id="cb9"><pre class="sourceCode bash"><code class="sourceCode bash"><span id="cb9-1"><a href="#cb9-1" aria-hidden="true" tabindex="-1"></a><span class="fu">git</span> status</span></code></pre></div> +<p>Hey, couldn’t you find an important file? Add it to the Git vision field now!</p> +<div class="sourceCode" id="cb10"><pre class="sourceCode bash"><code class="sourceCode bash"><span id="cb10-1"><a href="#cb10-1" aria-hidden="true" tabindex="-1"></a><span class="fu">git</span> add file <span class="co"># adds a file</span></span> +<span id="cb10-2"><a href="#cb10-2" aria-hidden="true" tabindex="-1"></a></span> +<span id="cb10-3"><a href="#cb10-3" aria-hidden="true" tabindex="-1"></a><span class="fu">git</span> add -u <span class="co"># updates the file tracking</span></span> +<span id="cb10-4"><a href="#cb10-4" aria-hidden="true" tabindex="-1"></a></span> +<span id="cb10-5"><a href="#cb10-5" aria-hidden="true" tabindex="-1"></a><span class="fu">git</span> add -A <span class="co"># all the above</span></span></code></pre></div> +<p>To make additions interactively via the terminal, use:</p> +<div class="sourceCode" id="cb11"><pre class="sourceCode bash"><code class="sourceCode bash"><span id="cb11-1"><a href="#cb11-1" aria-hidden="true" tabindex="-1"></a><span class="fu">git</span> add -i</span></code></pre></div> +<p>Follow the instructions provided by the terminal and include as many files as you want before committing.</p> +<p>Now that Git is keeping an eye on all your files, any changes you make (and want them to be recorded in this file’s timeline) will be detected. To make sure your changes are recorded, “commit” the changed file with a comment so you can remember what the difference is in that version.</p> +<div class="sourceCode" id="cb12"><pre class="sourceCode bash"><code class="sourceCode bash"><span id="cb12-1"><a href="#cb12-1" aria-hidden="true" tabindex="-1"></a><span class="fu">git</span> commit -m <span class="st">"it's awesome now"</span></span></code></pre></div> +<p>A <code>commit</code> only updates the local repository if you are working locally, or the remote repository if you are working remotely. To synchronize the two repositories, you must either <code>push</code> updates to the remote repository or <code>pull</code> updates to the local repository.</p> +<div class="sourceCode" id="cb13"><pre class="sourceCode bash"><code class="sourceCode bash"><span id="cb13-1"><a href="#cb13-1" aria-hidden="true" tabindex="-1"></a><span class="fu">git</span> push origin master</span> +<span id="cb13-2"><a href="#cb13-2" aria-hidden="true" tabindex="-1"></a><span class="co">#"Git, please take the updated files to the remote repository 'origin', on the 'main' branch."</span></span> +<span id="cb13-3"><a href="#cb13-3" aria-hidden="true" tabindex="-1"></a></span> +<span id="cb13-4"><a href="#cb13-4" aria-hidden="true" tabindex="-1"></a><span class="fu">git</span> pull</span> +<span id="cb13-5"><a href="#cb13-5" aria-hidden="true" tabindex="-1"></a><span class="co">#"Git, please bring the updated files from the remote repository to my local repository"</span></span></code></pre></div> +<h3 id="how-to-track-changes-in-my-files">How to track changes in my files?</h3> +<p>Check the changes in the content of the files (e.g. new lines added):</p> +<div class="sourceCode" id="cb14"><pre class="sourceCode bash"><code class="sourceCode bash"><span id="cb14-1"><a href="#cb14-1" aria-hidden="true" tabindex="-1"></a><span class="fu">git</span> diff</span></code></pre></div> +<p>Check the files and their changes that are in the stage area:</p> +<div class="sourceCode" id="cb15"><pre class="sourceCode bash"><code class="sourceCode bash"><span id="cb15-1"><a href="#cb15-1" aria-hidden="true" tabindex="-1"></a><span class="fu">git</span> diff --staged</span></code></pre></div> +<p>If you are lost between the different versions of your files, check the commit history! :)</p> +<div class="sourceCode" id="cb16"><pre class="sourceCode bash"><code class="sourceCode bash"><span id="cb16-1"><a href="#cb16-1" aria-hidden="true" tabindex="-1"></a><span class="fu">git</span> log <span class="co"># history of project commits since the beginning</span></span> +<span id="cb16-2"><a href="#cb16-2" aria-hidden="true" tabindex="-1"></a><span class="fu">git</span> log -p <span class="co"># detailed historic of commits (i.e. git log + git diff)</span></span></code></pre></div> +<p>Depending on the size of the changes, the log may be very large and you will need to press “return” to each page to see all the changes. At the end you will see <code>(END)</code>, then press the letter ‘q’ to finish reading.<br /> +If you only want to check the latest commits, limit the list with <code>git log -p -1</code> (replace the 1 with the number of commits you wish to see). You can also check out the entire change history of the working directories with the Git viewer with <code>gitk</code>. Isn’t that cool!</p> +<h3 id="working-with-branches">Working with branches</h3> +<p><em>Branches</em> are ramifications of other timelines. They are very useful when you need to test or work on large changes without changing what is on the main branch. It is very important to maintain branches in your collaborative work, because it reduces the chance of the main branch suffering accidental major changes and simplifies the management of file versions.</p> +<div class="sourceCode" id="cb17"><pre class="sourceCode bash"><code class="sourceCode bash"><span id="cb17-1"><a href="#cb17-1" aria-hidden="true" tabindex="-1"></a><span class="fu">git</span> show-branch -a <span class="co"># lists all branches</span></span> +<span id="cb17-2"><a href="#cb17-2" aria-hidden="true" tabindex="-1"></a></span> +<span id="cb17-3"><a href="#cb17-3" aria-hidden="true" tabindex="-1"></a><span class="fu">git</span> branch name_of_branch <span class="co"># creates a new branch</span></span> +<span id="cb17-4"><a href="#cb17-4" aria-hidden="true" tabindex="-1"></a></span> +<span id="cb17-5"><a href="#cb17-5" aria-hidden="true" tabindex="-1"></a><span class="fu">git</span> checkout name_of_branch <span class="co"># transfers the workspace to the new branch</span></span> +<span id="cb17-6"><a href="#cb17-6" aria-hidden="true" tabindex="-1"></a></span> +<span id="cb17-7"><a href="#cb17-7" aria-hidden="true" tabindex="-1"></a><span class="fu">git</span> checkout -b name_of_branch <span class="co"># creates a branch and transfers the workspace</span></span></code></pre></div> +<p>When all the changes you have made to your branch are done and you think it is time to merge them into the <code>main</code> (or any other branch), move to the target branch and request a merge:</p> +<div class="sourceCode" id="cb18"><pre class="sourceCode bash"><code class="sourceCode bash"><span id="cb18-1"><a href="#cb18-1" aria-hidden="true" tabindex="-1"></a><span class="fu">git</span> merge new_branch <span class="co"># merges the changes from 'new_branch' to 'main'</span></span></code></pre></div> +<p>If you no longer need the branch and want to delete it, use the <code>git branch -d new_branch</code> command.<br /> +It can often happen that your working branch is not up to date with the <code>main</code>. This can be a problem if the <code>main</code> has important updates for the development of your project on the branch. To bring the <code>main</code> updates to your branch, follow these steps:<br /> +1. Check if your workspace is on the <code>main</code> branch. If not, transfer it:</p> +<div class="sourceCode" id="cb19"><pre class="sourceCode bash"><code class="sourceCode bash"><span id="cb19-1"><a href="#cb19-1" aria-hidden="true" tabindex="-1"></a><span class="fu">git</span> checkout master</span></code></pre></div> +<ol start="2" type="1"> +<li>On the <code>main</code>, update your local directory:</li> +</ol> +<div class="sourceCode" id="cb20"><pre class="sourceCode bash"><code class="sourceCode bash"><span id="cb20-1"><a href="#cb20-1" aria-hidden="true" tabindex="-1"></a><span class="fu">git</span> pull</span></code></pre></div> +<ol start="3" type="1"> +<li>After updating your local directory, move to your branch, merge the <code>main</code> updates into your branch and upload to the remote repository:</li> +</ol> +<div class="sourceCode" id="cb21"><pre class="sourceCode bash"><code class="sourceCode bash"><span id="cb21-1"><a href="#cb21-1" aria-hidden="true" tabindex="-1"></a><span class="fu">git</span> checkout your-branch</span> +<span id="cb21-2"><a href="#cb21-2" aria-hidden="true" tabindex="-1"></a><span class="fu">git</span> merge main your-branch</span> +<span id="cb21-3"><a href="#cb21-3" aria-hidden="true" tabindex="-1"></a><span class="fu">git</span> push</span></code></pre></div> +<p>That’s it! Now your branch contains everything that was new in the <code>main</code>. :)</p> +<h2 id="oh-my-git-d">Oh, my Git! D=</h2> +<p>Did you mess up commits? Want to revert a change? Don’t despair!<br /> +If you made a commit and regret it, but don’t even remember which commit it was (<a href="http://stackoverflow.com/questions/3701404/list-all-commits-for-a-specific-file">“Find out commits associated for a specific file”</a>):</p> +<div class="sourceCode" id="cb22"><pre class="sourceCode bash"><code class="sourceCode bash"><span id="cb22-1"><a href="#cb22-1" aria-hidden="true" tabindex="-1"></a><span class="fu">git</span> log -p filename<span class="kw">`</span></span></code></pre></div> +<p>If you want to include new edits to the last commit, replacing it:</p> +<div class="sourceCode" id="cb23"><pre class="sourceCode bash"><code class="sourceCode bash"><span id="cb23-1"><a href="#cb23-1" aria-hidden="true" tabindex="-1"></a><span class="fu">git</span> commit --amend -m <span class="st">"message"</span></span></code></pre></div> +<p>If you want to remove any file from the stage area after a <code>git add .</code>:</p> +<div class="sourceCode" id="cb24"><pre class="sourceCode bash"><code class="sourceCode bash"><span id="cb24-1"><a href="#cb24-1" aria-hidden="true" tabindex="-1"></a><span class="fu">git</span> reset HEAD new_file.R</span></code></pre></div> +<p>But if you want to remove it from your <em>working tree</em> and the set of added files:</p> +<div class="sourceCode" id="cb25"><pre class="sourceCode bash"><code class="sourceCode bash"><span id="cb25-1"><a href="#cb25-1" aria-hidden="true" tabindex="-1"></a><span class="fu">git</span> rm new_file.R</span></code></pre></div> +<p>If all that goes wrong, try the following (tips taken <a href="https://stackoverflow.com/questions/23068790/git-revert-certain-files">from here</a>):</p> +<div class="sourceCode" id="cb26"><pre class="sourceCode bash"><code class="sourceCode bash"><span id="cb26-1"><a href="#cb26-1" aria-hidden="true" tabindex="-1"></a><span class="fu">git</span> revert --no-commit <span class="op"><</span>commit hash<span class="op">></span> <span class="co"># Revert, but don't commit yet</span></span> +<span id="cb26-2"><a href="#cb26-2" aria-hidden="true" tabindex="-1"></a><span class="fu">git</span> reset <span class="co"># Take everything from the stage area</span></span> +<span id="cb26-3"><a href="#cb26-3" aria-hidden="true" tabindex="-1"></a><span class="fu">git</span> add yourFilesToRevert <span class="co"># Add files to revert</span></span> +<span id="cb26-4"><a href="#cb26-4" aria-hidden="true" tabindex="-1"></a><span class="fu">git</span> commit -m <span class="st">"commit message"</span></span> +<span id="cb26-5"><a href="#cb26-5" aria-hidden="true" tabindex="-1"></a><span class="fu">git</span> reset --hard <span class="co"># Undo changes not commited</span></span></code></pre></div> +<p>If you want to remove all local changes and commits, retrieve the most recent history from the server and point to your local branch <code>main</code> like this:</p> +<div class="sourceCode" id="cb27"><pre class="sourceCode bash"><code class="sourceCode bash"><span id="cb27-1"><a href="#cb27-1" aria-hidden="true" tabindex="-1"></a><span class="fu">git</span> fetch origin</span> +<span id="cb27-2"><a href="#cb27-2" aria-hidden="true" tabindex="-1"></a><span class="fu">git</span> reset --hard origin/master</span></code></pre></div> +<p>That’s it! There’s <strong><em>a lot more</em></strong> in the git world, but I hope this guide can help you on your version control journey.</p> +<p><strong>Remember</strong>: keep the <code>main</code> as untouched as possible, work with branches to test your ideas, and always <code>push</code> your modifications before going to bed.</p> +<h4 id="suggested-reading-1">Suggested reading</h4> +<ul> +<li>This lesson was transleted from a git guide in Portuguese I wrote with Karlo Guidoni in a study group we promoted at Universidade Federal de Goiás, back in 2017, and we used time and again in our reproducibility trainings. You can take a look in our repository <a href="https://github.com/kguidonimartins/studygroup-ufg">here</a>.</li> +</ul> +<div class="sourceCode" id="cb28"><pre class="sourceCode r distill-force-highlighting-css"><code class="sourceCode r"></code></pre></div> +<!--radix_placeholder_article_footer--> +<!--/radix_placeholder_article_footer--> +</div> + +<div class="d-appendix"> +</div> + + +<!--radix_placeholder_site_after_body--> +<!--/radix_placeholder_site_after_body--> +<!--radix_placeholder_appendices--> +<div class="appendix-bottom"> + <h3 id="updates-and-corrections">Corrections</h3> + <p>If you see mistakes or want to suggest changes, please <a href="https://github.com/bios2/bios2.github.io/issues/new">create an issue</a> on the source repository.</p> + <h3 id="reuse">Reuse</h3> + <p>Text and figures are licensed under Creative Commons Attribution <a rel="license" href="https://creativecommons.org/licenses/by/4.0/">CC BY 4.0</a>. Source code is available at <a href="https://github.com/bios2/bios2.github.io">https://github.com/bios2/bios2.github.io</a>, unless otherwise noted. The figures that have been reused from other sources don't fall under this license and can be recognized by a note in their caption: "Figure from ...".</p> + <h3 id="citation">Citation</h3> + <p>For attribution, please cite this work as</p> + <pre class="citation-appendix short">Higino (2021, June 13). BIOS2 Education resources: (un)Reproducibility Detox. Retrieved from https://bios2.github.io/posts/2021-06-13-unreproducibility-detox/</pre> + <p>BibTeX citation</p> + <pre class="citation-appendix long">@misc{higino2021(un)reproducibility, + author = {Higino, Gracielle}, + title = {BIOS2 Education resources: (un)Reproducibility Detox}, + url = {https://bios2.github.io/posts/2021-06-13-unreproducibility-detox/}, + year = {2021} +}</pre> +</div> +<!--/radix_placeholder_appendices--> +<!--radix_placeholder_navigation_after_body--> +<!--/radix_placeholder_navigation_after_body--> + +</body> + +</html> diff --git a/docs/posts/posts.json b/docs/posts/posts.json index dab2b45..15f4aa7 100644 --- a/docs/posts/posts.json +++ b/docs/posts/posts.json @@ -1,4 +1,24 @@ [ + { + "path": "posts/2021-06-13-unreproducibility-detox/", + "title": "(un)Reproducibility Detox", + "description": "A seven-day detox routine to improve the reproducibility of your projects!", + "author": [ + { + "name": "Gracielle Higino", + "url": {} + } + ], + "date": "2021-06-13", + "categories": [ + "Technical", + "EN" + ], + "contents": "\n\nContents\nSunday - reflect about open science\nMonday - design a project\nGive cool names\nLicenses\n\nTuesday - control your versions\nWhat is version control? Why is it cool to use?\nA little bit of Git vocabulary and architecture\nThe repository main timeline\nBranches from the master: branch\nCopying repositories from the ‘cloud’ to the computer (or, working offline):\nCopying online repositories\nGeneral workflow vocabulary\n\nWorking remotely\nWorking locally\nBasic Commands\nHow to track changes in my files?\nWorking with branches\n\nOh, my Git! D=\n\n\nHave you ever felt lost in your own projects? Do you feel like your workflow is quite effective, but it’s not transparent enough? This detox routine can help you regain control over your (very messy - I know!) project structure and discover a marvelous world of collaboration and contribution in open science!\nReproducibility is a principle that resonates to the most used concept of science, assuring that a hypothesis is testable. It means that the process to test an idea - from data to results - can be repeated. It is different from replicability, which means the process can be repeated, but using different data.\nIn this detox week we will reflect and experiment with open science, using our skills for project design, version control, virtual environments and automation. We will reevaluate our current workflow and fine-tune where needed, to reach the most reproducible workflow possible for us.\nSunday - reflect about open science\n\nSelf-care task of the day\nGo to a calm place. No need of silence, just a place where you can just be still. Set a timer for 5min. Take a deep breath in, and a deep breath out. Give your body a scan-through: concentrate in each centimeter of it and try to be aware of how does your body feel there. Everytime you find a contracted muscle, try to relax it. Pay attention to the sounds around you. When the timer is off, take another deep breath.\n\nOn the first day of this detox journey, let’s reflect on our way to work and how it could be better. Take a moment of your day and think about:\nWhat is your current workflow when you develop a project? Take a pen and paper (physical or digital) and sketch your usual process, step-by-step. Add as much details as you can (and take this chance to get creative!). Make sure to save this sketch in a place that is easy to access, you’re gonna need it in the following days.\nHow do we build trust and facilitate collaboration in our projects?\nHow can be inclusive by design - what can we do in our projects to invite collaboration?\nIs reproducibility openness? If a project is reproducible, does that mean it is accessible?\nSuggested reading\nOur path to better science in less time using open data science tools\nMonday - design a project\n\nSelf-care task of the day\nGo to somewhere where you feel in peace or happy. Take paper and something to write - even better if it’s colorful! Set a timer for 30 minutes and doodle something that reflects how you are feeling, something that represents a happy thought you had today, or something that represents the place you are right now.\n\nIn this step we will squeeze our creativity out of our brains to come up with a project that is reproducible by design. Is there a hierarchy between your folders? Which folders do you need? Should you mix raw and clean data? Did this last question offend you?\nThere are a couple of tools you can use to automatically create a project structure for you, such as RProject and its combination with the R package minimaltemplate, or the PkgTemplate.jl for development of packages in Julia.\nThe main things you need to reflect on when designing your open project are:\nWill I use data? If yes, will I need to treat/clean/subset them?\nWill I use code?\nWill it be shared? If yes, how? Do I want people to cite me, for exemple?\nWill I need to generate manuscripts/reports/figures?\nWill it be useful for people to know how to navigate my project? Will I welcome collaborators and contributors?\nWhat is the naming system I will use - for both folders and files?\nSee an example of a structured project below (adapted from here):\n## /home/awesome-manuscript\n## ├── .github\n## ├── .gitignore\n## ├── .travis.yml\n## ├── DESCRIPTION\n## ├── LICENSE.md\n## ├── R\n## │ ├── analysis.Rmd\n## │ ├── local_functions.R\n## │ └── package_list.R\n## ├── README.md\n## ├── awesome-manuscript.Rproj\n## ├── data\n## │ ├── clean\n## │ ├── raw\n## │ └── temp\n## ├── main-script.Rmd\n## ├── manuscript\n## │ └── sources\n## │ ├── ecology-letters.csl\n## │ ├── library.bib\n## │ ├── packages.bib\n## │ └── template.docx\n## ├── output\n## │ ├── figures\n## │ ├── results\n## │ └── supp\n## └── todo.txt\nVery nice, but the TL;DR version is:\nConsider having a dedicated folder for your data and split them into clean and raw data (alternatively, you can store your cleaned data inside an “output” folder, where other sorts of outputs will also be). If needed, create another folder for “sandbox data” - we need to have room for creativity in science! Also make sure to store the metadata in these folders, alongside their respective data, where they belong.\nIf you will produce reports/manuscripts, maybe it’s a good idea to have a dedicated folder for them too. Store there everything you’ll need to render your files, such as bibliography and templates.\nFigures should go in their own folder too.\nCode usually go in their own folder too, but if the code is about making the project work and putting everything together, it should go in the root.\nGive cool names\nYour project is so awesome that it needs the coolest names in its folders and files! Good names are informative and consistent. It is a hard exercise, but we do get better with time. The main things to think about when naming your things are:\nDoes it describe what’s inside without being verbose?\nDoes it allow for correct ordering?\nIs it easily searchable (a.k.a., machine readable)? Will my computer crash if I need to change to this directory?\nLicenses\nAn important part of making your work reproducible by anyone is to share it, and to do that safely, it is important to connect your project to a license. This is a statement about what and how people can use any part of your project. Chosing a license can be a difficult task at first, but if your projects have a common structure, they should be ok with the same license. When chosing a license, it is important to ask yourself (and your collaborators) the following questions:\nDo we want people to give us credit for our work when this projects is distributed, derived, performed or displayed?\nDo we want the derivatives of this project be shared with the same license that we chose?\nAre we ok with this project being used for commercial purposes?\nA combination of your answers will guide you to find the best license for your project which is adequate for your community. There are a couple of online tools that can help you with that! For example, if you are sharing creative work, you can consult the Creative Commons - Choose a License tool. For other open source software licenses, you can take a look at the Choose A License website. The cool thing is: you can also create your own license! In any case, once you chose the appropriate license for your project, save it in your project root folder with the name “LICENSE” (as a text file). This way, your version control host system will automatically recognize it and display something like “hey, this project has a license!” when someone finds your project.\nSuggested readings\nMozilla Open Leaders lesson on sharing your work in the open\nHow to License Research Data\nTuesday - control your versions\n\nSelf-care task of the day\n\nWhat is version control? Why is it cool to use?\n\nA version control system allows changes made to a file to be recorded in a timeline, and it is possible to retrieve previous versions at any time.\nThis is possible because with version control you don’t save copies of your work, but its history, avoiding things like this in your working directory:\n- project/\n |- scripts/\n |- script-v0.1.R\n |- script-after-review-from-Princess-Lea.R \n |- script-merged.R \n |- script-not-working-anymore.R \n |- script-wtf.R \nGit is a distributed version control system, which means the snapshots of your work are stored in your local drive, but also can be distributed from the cloud to other developers.\nA little bit of Git vocabulary and architecture\nThe basic architecture we have to deal with is composed of a branches (including one we’ll call “main”, but is sometimes called “master”), clones and forks.\nThe repository main timeline\nThe main is the primary timeline of your repository (a project with the files required to develop it). There the files will ideally only be changed when strictly necessary, i.e. when a change is critical to the progress of the project.\nBranches from the master: branch\nA branch is a ramification from any other timeline. It is like a copy repository within the main repository, which is created to test changes that may or may not be implemented in the main timeline. Ideally, each developer creates a branch to test the changes they deem necessary and submit these changes to their colleagues’ judgment before implementing them in the main.\nCopying repositories from the ‘cloud’ to the computer (or, working offline):\nRepositories can be created online and many things can be done there. However, in order to work locally on a repository, i.e. to work offline, we need to create a clone of the repository we have online. A clone is a synchronised copy of your online repository. Everything you do in your local working directory (corresponding to the clone) will be synchronized with the online repository.\nCopying online repositories\nIn turn, forks are complete, independent copies of a repository. We use a fork (not a clone) when we want to change the direction of the project, or when we want to contribute to someone else’s project independently and only then suggest changes to the original project. If you need to update your fork with the newest version of the project, you can do that by requesting a fetch to Git.\nGeneral workflow vocabulary\nWhen we change some file and save the new version, we do a commit . Commits should be accompanied by short but sufficiently descriptive comments, so that you can understand what the difference in that version is and locate it more easily. With commits you can track what change was made, where, by whom and when.\ncommitAfter changing a file and saving the new version, this version needs to be given a tag (an identification code), and then uploaded to the online repository. We call this a push. To update your local directory with the newest versions of files, you must tell Git to pull them.\nWhen working on a branch, you can request that the changes you have made be implemented in the main branch of your workflow (or any other branch). To do this you request a merge via a pull request . In a pull request, you ask a repository owner or contributor to accept the changes you made to a fork or branch into another branch. If they accept, you are listed as a contributor to the project.\nWorking remotely\nThe online portal of your Git server allows you to do most of the tasks described above in a very intuitive way. You can edit some files, upload others, request a merge, create and delete a branch, etc. Once you know the Git logic and architecture, it is easy to work online.\nFor a detailed walkthrough, take a look at this page.\nWorking locally\nHowever, the changes we need to make cannot always be done directly in the portal, or would be done more efficiently if we worked on our computer, with our preferred software. To work on your repository from your computer, you only need to install Git itself (https://git-scm.com/downloads). Some softwares allow you to visualize the timeline and operations being made, such as GitKraken (https://www.gitkraken.com/) and some extentions for VSCode and RStudio.\nOnce you’ve installed Git, the there are two possible ways to start:\nYou can create your online repository directly on your Git host server (such as GitHub, GitLab or Bitbucket);\nOr you can “transform” a local directory into a Git controlled project.\nIn the first case, to have a copy of your online repository on your computer, just clone your directory, either by downloading all the files in a .zip or by copying the ssh key or html address to use in a Git command.\n\nYou can also clone from GitKraken, by clicking on the little folder on the top left corner or on “File” on the menu.\nIn the second case, you must right-click on your workbook and open the Git Bash; alternatively, in GitKraken, you can click on “Init” in the same window shown above and indicate the directory of your workbook in “New repository path”.\nBasic Commands\nThe following commands will give us an idea of a workflow in Git.\nTo use Git, you need to configure it so that your account on your Git server is recognised by it. In Git Bash:\ngit config --global user.name \"username\"\ngit config --global user.email \"iamawesome@email.com\"\ngit config --list #Confirm your settings\nThere, now Git knows who you are.\nTo start a repository from your computer, you can tell Git to start or “watch” a folder.\nFirst, check what the working directory is and change it if necessary.\npwd # prints the working directory\ncd # takes you to the root\ncd .. # takes you to one level up directory\ncd \"your/directory\" # changes your working directory\nTo clone your repository, copy the url as shown in the picture above and ask Git to clone the repository into the directory you indicated.\ngit clone https://github.com/graciellehigino/bios2.github.io.git\nThe above command will create a folder with the same name as the repository in your working directory. If you want the folder created to have another name, include that after the repository address. This process works if you have an online repository and want it to exist on your computer. You can also do it the other way round. If you have not yet created a folder for your project, you can ask Git to create one for you:\nmkdir \"web-repo-github\"\nBut if you already have a folder and want Git to “watch over” it, start a local repository in the directory indicated:\ngit init\nYou can (maybe you need to) tell Git where your remote repository is:\ngit remote add origin https://github.com/graciellehigino/bios2.github.io.git\nOk, now your repository is ready to use.\nCheck if there are new files in your folder or modified files that haven’t been pushed yet:\ngit status\nHey, couldn’t you find an important file? Add it to the Git vision field now!\ngit add file # adds a file\n\ngit add -u # updates the file tracking\n\ngit add -A # all the above\nTo make additions interactively via the terminal, use:\ngit add -i\nFollow the instructions provided by the terminal and include as many files as you want before committing.\nNow that Git is keeping an eye on all your files, any changes you make (and want them to be recorded in this file’s timeline) will be detected. To make sure your changes are recorded, “commit” the changed file with a comment so you can remember what the difference is in that version.\ngit commit -m \"it's awesome now\"\nA commit only updates the local repository if you are working locally, or the remote repository if you are working remotely. To synchronize the two repositories, you must either push updates to the remote repository or pull updates to the local repository.\ngit push origin master\n#\"Git, please take the updated files to the remote repository 'origin', on the 'main' branch.\"\n\ngit pull\n#\"Git, please bring the updated files from the remote repository to my local repository\"\nHow to track changes in my files?\nCheck the changes in the content of the files (e.g. new lines added):\ngit diff\nCheck the files and their changes that are in the stage area:\ngit diff --staged\nIf you are lost between the different versions of your files, check the commit history! :)\ngit log # history of project commits since the beginning\ngit log -p # detailed historic of commits (i.e. git log + git diff)\nDepending on the size of the changes, the log may be very large and you will need to press “return” to each page to see all the changes. At the end you will see (END), then press the letter ‘q’ to finish reading.\nIf you only want to check the latest commits, limit the list with git log -p -1 (replace the 1 with the number of commits you wish to see). You can also check out the entire change history of the working directories with the Git viewer with gitk. Isn’t that cool!\nWorking with branches\nBranches are ramifications of other timelines. They are very useful when you need to test or work on large changes without changing what is on the main branch. It is very important to maintain branches in your collaborative work, because it reduces the chance of the main branch suffering accidental major changes and simplifies the management of file versions.\ngit show-branch -a # lists all branches\n\ngit branch name_of_branch # creates a new branch\n\ngit checkout name_of_branch # transfers the workspace to the new branch\n\ngit checkout -b name_of_branch # creates a branch and transfers the workspace\nWhen all the changes you have made to your branch are done and you think it is time to merge them into the main (or any other branch), move to the target branch and request a merge:\ngit merge new_branch # merges the changes from 'new_branch' to 'main'\nIf you no longer need the branch and want to delete it, use the git branch -d new_branch command.\nIt can often happen that your working branch is not up to date with the main. This can be a problem if the main has important updates for the development of your project on the branch. To bring the main updates to your branch, follow these steps:\n1. Check if your workspace is on the main branch. If not, transfer it:\ngit checkout master\nOn the main, update your local directory:\ngit pull\nAfter updating your local directory, move to your branch, merge the main updates into your branch and upload to the remote repository:\ngit checkout your-branch\ngit merge main your-branch\ngit push\nThat’s it! Now your branch contains everything that was new in the main. :)\nOh, my Git! D=\nDid you mess up commits? Want to revert a change? Don’t despair!\nIf you made a commit and regret it, but don’t even remember which commit it was (“Find out commits associated for a specific file”):\ngit log -p filename`\nIf you want to include new edits to the last commit, replacing it:\ngit commit --amend -m \"message\"\nIf you want to remove any file from the stage area after a git add .:\ngit reset HEAD new_file.R\nBut if you want to remove it from your working tree and the set of added files:\ngit rm new_file.R\nIf all that goes wrong, try the following (tips taken from here):\ngit revert --no-commit <commit hash> # Revert, but don't commit yet\ngit reset # Take everything from the stage area\ngit add yourFilesToRevert # Add files to revert\ngit commit -m \"commit message\"\ngit reset --hard # Undo changes not commited\nIf you want to remove all local changes and commits, retrieve the most recent history from the server and point to your local branch main like this:\ngit fetch origin\ngit reset --hard origin/master\nThat’s it! There’s a lot more in the git world, but I hope this guide can help you on your version control journey.\nRemember: keep the main as untouched as possible, work with branches to test your ideas, and always push your modifications before going to bed.\nSuggested reading\nThis lesson was transleted from a git guide in Portuguese I wrote with Karlo Guidoni in a study group we promoted at Universidade Federal de Goiás, back in 2017, and we used time and again in our reproducibility trainings. You can take a look in our repository here.\n\n\n\n", + "preview": {}, + "last_modified": "2021-06-17T19:06:15-04:00", + "input_file": "unreproducibility-detox.utf8.md" + }, { "path": "posts/2021-03-25-point-count-data-analysis/", "title": "Point-count Data Analysis", diff --git a/docs/sitemap.xml b/docs/sitemap.xml index 74d72ab..98a608b 100644 --- a/docs/sitemap.xml +++ b/docs/sitemap.xml @@ -2,15 +2,19 @@ <urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.sitemaps.org/schemas/sitemap/0.9 http://www.sitemaps.org/schemas/sitemap/0.9/sitemap.xsd" version="1.0"> <url> <loc>https://bios2.github.io/about.html</loc> - <lastmod>2021-04-14T09:00:46-04:00</lastmod> + <lastmod>2021-05-19T11:56:37-04:00</lastmod> </url> <url> <loc>https://bios2.github.io/</loc> - <lastmod>2021-04-14T09:00:46-04:00</lastmod> + <lastmod>2021-05-19T11:56:41-04:00</lastmod> </url> <url> <loc>https://bios2.github.io/Marchand.html</loc> - <lastmod>2021-04-26T19:09:55-04:00</lastmod> + <lastmod>2021-05-19T11:56:34-04:00</lastmod> + </url> + <url> + <loc>https://bios2.github.io/posts/2021-06-13-unreproducibility-detox/</loc> + <lastmod>2021-06-17T19:06:15-04:00</lastmod> </url> <url> <loc>https://bios2.github.io/posts/2021-03-25-point-count-data-analysis/</loc> diff --git a/make_new_post.R b/make_new_post.R index 72a958a..e46709c 100644 --- a/make_new_post.R +++ b/make_new_post.R @@ -1,6 +1,6 @@ -distill::create_post(title = "Introduction aux concepts EDI en contexte scientifique", - author = c("Agathe Riallan", "Marie-José Naud"), +distill::create_post(title = "(un)Reproducibility Detox", + author = "Gracielle Higino", collection = "posts", - date = lubridate::ymd("2021-01-22"), + date = lubridate::ymd("2021-06-13"), edit = FALSE ) From 99554f4430e9751e7181a5851fffe74af9be373e Mon Sep 17 00:00:00 2001 From: graciellehigino <graciellehigino@hotmail.com> Date: Fri, 18 Jun 2021 17:23:01 -0400 Subject: [PATCH 02/29] why isn't the pdf embeding workiiinnnggg --- .../rmarkdown-cheatsheet.pdf | Bin 0 -> 1041427 bytes .../unreproducibility-detox.Rmd | 51 +++++++++++++++++- .../unreproducibility-detox.html | 42 ++++++++++++++- docs/Marchand/Marchand.json | 16 +++--- docs/index.html | 4 +- .../index.html | 42 ++++++++++++++- .../rmarkdown-cheatsheet.pdf | Bin 0 -> 1041427 bytes docs/posts/posts.json | 28 +++++----- docs/search.json | 6 +-- docs/sitemap.xml | 40 +++++++------- 10 files changed, 177 insertions(+), 52 deletions(-) create mode 100644 _posts/2021-06-13-unreproducibility-detox/rmarkdown-cheatsheet.pdf create mode 100644 docs/posts/2021-06-13-unreproducibility-detox/rmarkdown-cheatsheet.pdf diff --git a/_posts/2021-06-13-unreproducibility-detox/rmarkdown-cheatsheet.pdf b/_posts/2021-06-13-unreproducibility-detox/rmarkdown-cheatsheet.pdf new file mode 100644 index 0000000000000000000000000000000000000000..9c764e0776b9c1e66b389333f74ce737320e4309 GIT binary patch literal 1041427 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�a2ovGb%veLEC5(Q2U(&GSyFyIe7v_u<2~2D<7E?hCtP<^K764|7sonu`-8o zL5K}4f%Q0qK;R2mNEZT2s=>LMI3s#do6r)Pa_5PVs3?GPhGAXekTU|e2zuZ2R|K}- zwMIx|9ES1OsS?Y|Qey$v1O2p4sMHrb3o6T|S6?JZ`SABsON3l4G5^OSXO63a?d*mW zq$5@e)ie`o#6TSg1dS!`M=UPyGkv4G{>)<e>;Dcj{oksuApH?+=ufjprmpP=i}1L4 z`EkG%8e<0r^6dKq=`Df!PLU1lH<5{mC`<%l3!7)-&oWe?WbyWdSD}$eFcuIMLp63} zXI836W1dTV9L<oYzD~^E!5Xm2sowQ4yqNk}P<_x3L%HP={FnB{U_$FF%nW_H+LA1i zX~cbhhXUAVy@JcXd7ArdPQr)^ga`^7z{WJRjfk)w69fiVpOAR9Lv$iT`N9uL=*rnT zN#7e`n6(-eR=%vmU1>ntG3<RZpHWFK8N9^Hsxo&{>5fnFgr;xPYv^NU#TylSOQ&8l zpOy8w!A*6&UR!Qsr#(6y*>`IPGVVKVbHsYZDS%z}vOPu!puU`dDLlTxH9?5qIo)Sa zsAO=Zi=)o=O9qlO&rMw2^^L_Sd4KeNtat9SRVVMH@#$lKPdY#FQN#Z=-gNQ6;pVg_ z-iF&nrH1tsgz%LekZ1e?(+?%q0_rX!@Xpp<Klh;iQrK;pR@sT3KoYz7DWQq|Ad6~m zmvnOiI492~6Z!%)j2sZ>QU4tHvc22_L5{;r;37st$%8H6c3KxZ-SUy4ExSTE^<QDb z|9hTkJRcF@#&e!Ne&e4*OrGWdxaGb5IVo;p{iT`Vo$V@sphd-HvABn8-P+78xt0_2 z%$HAR?m8n_5eRCj67GA6$u_Ek%=G`Mg#?u>Zu@A9vqdqypj8*<HqX4o%sy$*k<}{# zMXd}R3*IUFd8SvkQ6p47>eW0HfYo8}qoSK7hLKE1x3E>^{)p96VlqXG%qhkAi-4lN zM+EnhA&wABchFp^FdUWlI2&&i(^4bnw^|>D>gK)Icm7V73?kh*>gxyddz>V_^ntV$ zrwY#6FZjZA{Q1dzhp>T#{*x&M&aJ*|;}96vT-DGR(o|roiF4W3zk5*Qo5?|ZdRd=4 z4D;tH_uJEB)7+ux{`FrYHM3`|D~X(uy%m^LD4koJ3-fuL1-K_tQn37b-V37~bFXA> z7tD!u{iHdMu3<{jil(mfR+vn{4iIO@3^&KdwyczNe=(ZOgd0Ue;SR_mknMKDupv^r zlH;QN1m=(>rqV%U(h8M2=lRp3uxXD$CWdyV8qE@1$P(2hGH1h0WPcO1$G*3%#&!HB z)I~k+k&W{^3XTsI3^{YiLx~8Lt@1cTk#`?1Fh9YpQ)m1ia2IzPg;HdgN|o(r3|~V4 zH~u#)=*SKEK=z@Vsrk)AYp@87Ap&Y*&~D{>Q-;xIt#9ZX*HeMj@Yo|1JtVx?A6K=e zp|4;u0e>D<8T2f!6abH7XvM7s3Kr@wB6ALu*qmyH4m5x~d-jvWFgSj_8{DCRdnvLN z9){1ve!-xJcBf30k?VT8=))0J+u$dfvgkqapZIpvcUM&~(P(E%_T!HoM&!r-egvoL zPkwKc!rSpe<x~}SbCC*gSBAmb!Nba%{+o7qSwHD}PmOXYRH146MfA`WX%2em`mnIC z5&;nY>zLnBlsCPoCQTV#O4ViAu{QIWMf8a)jW@?t!?g{-w!zC3@FHgteUhB>T$-a^ z0QVb7+0kn!Tb<sKB`|BlE#Dp44`>XGxc?%$%2r{CP+-)^y`uG0!9}Qo01emoW2IL& z&exhe`S-Wxr>#d(n>V=k9=nT+g-L|g%VY)J$8cVnPkvA`r!ks`$h@_5t%uI}?mKk+ zU(GuyS@bAIAn~{F4Z}-?M*i8~96qepf{lzs!v=}a8xm%%AGG*lu3PR^%JV*(Z6r^i z`_vE`7npkt0PTt;?|jvonh1)S1GJ2zEC<biYxX`YJoaOy_TRw`xW9;?UR9pA|IwDU z9`w_nZ$$hX?fRf$f6)}b-uo^uzn;537xV8s4a%m<n7Nx^vP1`&_;{mQXxT2Qo@qs_ z8i!e9LfiNKb$kN-YVdSAxamPZNN_^b%AGnE??dxqhw8OB4Wl}fvwK1KSD$Z&YC#l; zdo(e&#kZV8v0Ma63XPya7>6sLOd5T*UR~U7Q|Q!DDTI9mZ#z5&=aF%BCE$vAX!reH zQugS4H)t@Sv6AkA0Bpqx5!DN)Tjnzn|8orTulua#kRgv1IF4?BttEdk$?1TEd;I+; z<MS4n+lVt8q&v=vr}+>~FKwhfzPm3&BO60@Y&g<f);2Y5fr$?#8SDjnx~(faD-iyX z@>HaP#f?f(O(cNUP{Qx_`-%!#Z=2Ncho2Uijy|eZIcOzkQ460r^VS+=zu!-ysKWa) zBjla=d_hV3+?lE<W01PXD)oYIn7ypRm*_0Umi$!wwARxBh?`t68cz2f!4eb9Bk@M| zUVZ9$J{E4kYzPmcDw~eqOs|DJ-*7fRQ>Dy?626E!BOIz4+5l(>W^^udYcr~Id%sEE z2H8Dqtio)OX+nQwK|Y}1Q9RE)b%>Uc2)(Ch#uLtRm?6%2-@VHN!E?L8%3k~JVn>V0 zWrUMKfBg4Sn+*~7fE)Ln=OScN)tPgG_zVC3sXmhBDTq*@W(Ex(N1$R?CAe9i8_B$o z47W)KhG(N*+?>&8l`{$YD9~nrWWSFl)O}aU!r8&?U+Ml;QG)GoYj?IHm7RzXAMNeV zGf3su+naqFp7#5!joyjhnn$l(ARDi*JtnA@jY{5R9MF4-Ef}pvG;@B{P1ygUzPI1@ zEY%1R-#>(0qRGAb%{Tj@M9vfK$Xv*haM_A1XU4WOh5BhOae?Wc289WbZd+z51Whm_ z2z0Rf1fsGVrG{RPiF=F{CP53*e*~Pc7Wv6gn{!?s8JWBt%IR(`=}t3hoPckKey#(5 zPw<4OEs5u+SNsywNVfFOBJ)R^`4fs}9hi?+64$HWMi4TOno#2Z>3(*AF$M-)=Mv_l zD2HHO@W456z>l~3&o-al{(ok6{{(BV2VYFf)=Z;ukQgb;KXdyJ2f0qQS}y-;<<nRK z?+Hr5IUJ8QZG8$v8{Bj&=jpiy`xO~o=Qc!{uFi^Xpn~dX5UQ2)n_T|zHr#w$Vs|B? z+(BVW;ZtL84XlW0dH*Lwc_wI`ahFRG<vHF>qusYgz&OJ|thh3l%pqZ_ul8Q2Ef3BO zP+v$SAox+LF{DdoZ_IeJZu?Aoh_b#Zj@em+eMBTS<h`9>ytI%jr+&Utj{QG$eR(*P zZP<5GDqD+?JVQ}ruaTvMHe}B(vc-^nHyA^b6tXW3p~y0JVFqIm2}4wNGluM8hR94c z;k)K}zvKIk_c$JZb?CqQp6foZ^S7O6l$%Ka))VNbQq%Y-yi540+2!xn8Y^sLx_v^b zlyn1xgZtV<LK9_l1*>Q>-2JnScCcJqVT^pwE5=N$ji$6c#suGZ@3tk@a(@#yT`|#x zpmeOu0?m60Fr`ypZP<=@R}q}<lXqgdaIn%1S`~Rlm(Qcicbf7`g8Ge;q=UB6xonab zH-bLj3y!)CpJjJRGcvN*_}fkj5^e5PC8ztM*~Z%!8lrN|k+z>@^Cf4(LoN*Hswa&C z5A;&pX~HM}e%J$?ilfcMMBo(c001Q40QvT%84rr><fzgLWn9XHw=p}iv7I<Pqo)0h z`<csiIa9ZR$!))!ZP0*@dPnJfTrlImO|G;y8B9l4ru_gbtHC#-G{?jr2m6|rsI9w7 zsL?m3<+Wh2?+sD@;stZm5fQp?H{Pc=fOqo7<e@f1+^gb~_}xF2ueSmMAd(jmM_uLI zDBIiucj*peYTCryY^SD?w?dcEfEff3kwCQDjY71C?dFa~><UF(Ac&eIKABca$%bD1 zq4=W34<`%eWU8>Ki!M5PQPQw0GUuwse55!HHvH-J>+%=WpC9z@61XP~IAr|23`s4I z-c-<^iSE!6qmSqHxyk5OYzFy0L+JrfE%HB#K<Fl*_kKRflq3FkvDn9BIeX;qfKt2U z;4i>K<J$4HQ{iLtRB$sS5O)s+s~p(>1#o&n!EEe>@xO^?-_&*qLsJpE37GcnXkos@ z9~|n<@+J*Ycae20=8r67H8TpISn3CVtRFM7{K?cJElBcYA#9OVCa<+gG<IdgbOn3s zG7Hv!#G4+g^7CXefHoX{1E47-+4+(yP@SOlK=RT#hG)nozRaF&@~rryV!hk1jn&OB zvtO4yee4(3;hXt!r2tY3JCFM%Sa|4^wMTf+6cA@3<Rh^zy!0r!@atC8)N-hxux8`r zM-8gh%WmYUMs;>F`3&9d3k2pTcwsOw{)vmXiIq?l?iAwb$gFn;-24&_G2vK@KTCmC z;9DSp*F4n!vMW2?79AY)SX1l?DA&$uBnb(7ocB27-MZxUioIvLi1QWCch%E=!6$`> zA2!b3J;K4^^YL61LnQ#YUe=1nhTr#53BNw)B)K!xd_vsZuJu#I>-CO<W58(;!A3bO zy@G{zJ7q|M$@_y=_n2az^81DR;9uGkY?X?~;OPj}`QolUT1S?1Nq>mMW_$~jw|bJ< z(~o$U0}##s>D0c!NAW*sUzn0h!erP2SFR^)Im^63Yfe^8V387MMhNc2gR*niRR=|l z1(4EWPAHg>*m+EZhyTHYD@A<+)QC8)V8(#(;i&Yi)?<^{{-~upy%${h$q8&*=Z{8G zpEj<(!P?M1zsXehaMZK>wl4bm1GL0t<*?t>-;%!cL?PGOd80bqsN;!7LTH2e^$9Fv zpSk+ejNnu0`7vAQ89x9T_>-GvMb6KC3XJ{CsInG5yFEQ_=N5P0W>`oYVdU=3L0o)7 zxg%JkG!=c5xFhvDgR4@z6H6X>yO3?{@6Y(<r(*Cp9-Gbb9S8sRMQSsrI(;AR$N>yC z7}xeM;U0};*qoIBFbmMX1VF(Vh9KC87UtxHDD^8W@zp@faco6mU}%hlLihh%zlpa0 z1Jd9jj1Mrhq57(Ei|rl|OwZm>`?@3*ZCHeXZn=WB&!E@+3J6Q!tpKpvlqc~7S5>@K z2uCzyonV^2@76)-o71Tnwz-zJbhP`eZ``%F6WdiSNpa!ey7c-)d^e?5X3XYe9Q!`H z6JMGJ2B%qp&@aN=m;c$s0C6fs6i{1j7(njN<)+xOw2CGp<|ya=3`0~Zwa&oHMLbIo zO2KPRYcly{``^D>p&xTG<6IkEhG(QTDw1f;BWlCrm8Vf-9#xb(`oTEJ<LS!>rbGo) zMT`JU731wzwM)Hf@0E8K2%fUcD}Dv@_%3K{5P-_HAp|4L0mG~orMIB#M~{`&t>|{5 zoeE*NzC(rDMN@h$Gfsy=X(`7u3!fs<T3#nnea8jqX~6!HyH~NfzTZ&oZUr=!6mh5; z5Aq-xu1tvfx01ZI#%xKX{N#ecQGUHSd>nAcun%B|W}zN|xOgAMUe<Rg=vT&d56-?c zsPOpjnB}V&+lM}93Zy5D3C|3R3e!T4(+dB9jzxl$S(wHW+q}*V*cJn_nym!bUN!o3 z^H(eYtQt%j_zAWk)CNOx?1X5*s~VKLAvSQSrs5&c3K<80m7lmJuW}qu^I{=AB~Kjr zt7SLce90GbNkx`T8&N-^h96h6Pw^cS3P!LJwNOs%<OF|#oN3Y0Y+$qC@JHy1$-g6U z=K-V}CQ1Mml}>Ov4OZN>G|f{gV@{Zv#$j(so}bM&R!7Xnsrwh`mUt{eGvqo9&x5w$ zqWSN~&fVos4;t~SSUEc~P&46zJ=3oDT#R~+J6eXeET)HVYlbkII%F556!zlpXypfT z!#)?@>)fu$RO?)r)&;UkQ(ONZVDXqTu_(&5ouxdokO4=P{&9x;G!5NGWbjhuc2-|J z@Rj4GUT6uDB4xf!i)=kDV>f)S!`)_s2~!$Ky3vTq8S*{fqvisK@td)TI>Iy52gyNK zAOuUw3pFYY;a`wIwxpm0@g>+06{7BJ7*T8|9<SQ5I?3#yE!-);9t@X6$=PYT@5+*s zIm~{%%y7xV;78BNH;4s>F@cIG49YrB8&2x^xf%3oT)=xYsyPL_lAPBA-eYgk(1q0Z zzHel7I|cIlzN^%f++1{fCI1H{+Aj<vx3UV#hVLRR9H4o92#mTN5VndHw}a$Ezj+df z6wPy_<R|{ds0-d*d>&VHJD+l^TIDoLn=#*{rPoyLj>7wajQ@s$hmTzQ-DW4?2juAM zK=%NOMQCd)$b;K0|M?(3NCg+BjZMp&DO+n4Sn^kOx2Y9UCl0Q|!#R9QNf-0!iqm(L zQ}!3q2t$^>0~SU3^W<8n8MqBw@!u$U&6S^sM#fw1l7uoKjDIAu`T+__3Y~@q8b>hV zIjKws^*$Eim5%D1;m$!k@U60f6`iGjn75T{f{W7ME&&d@Y=s+#_^N0qwe+dJV>6lm zisM@Q>hogNF~_DmppG8$wmap~MPZu-Mi+PEv$WkFWq-yqKb4HatVX;{D%xAe6IhU; z^#~I;6R)m`8LFQOP44YBZJepg9>nl(2T5V&teEF;Adksfq4Zjtkym<+M=QiV7S)aR z=*d(SSV*<I#LBdgmBLmN3bUg<Xi?N(=3^L)(3cSXWN3Q5g5!@CID))zQ*Bs(L(qUJ zq3te`Q5Fc3)H}WI`Y-4I)!S}7R%N7kVr1x2oQVZzWABOKAsL=Hs@Zbx@TC8`ZOx~; z3!$uY?z>W*zx*if)?4j8>ZfptJ&U~q5i3=nP^rTc{9iq)I%sOCdZSrG-Nd!d?|p)S z`ff=*)2j<H^k%h7*a1r~Z%>^-l-_QU=>?LfiKO|tI;BF|I_)GTF|7x9@nln<H>;-h z)P*2o^u%by&evu%qQiLXHm#f_6vFW6H8yg`UNU+KrZ`w-gm&isaU%?5|My9<-=EcH za<u6bFMI{C#PnF^<)A=~HFgH-sJrDiV2jC=v_4dC_)SQP3Z5MlK2lb!P102YK;s-t zcwt^Rqvn+Ue&N$c$<$a_Xi%~F2WXTGy|jOF9U&2@M1U+)&j(l4&>!asddQLQ{f3D< zR|QV^N9qBuTtN3vH>aextA){$>ISVC$cmRQV*dfCTGByOiSX1z)SoO<Qxf76#j;<; ziK$u4Dx<-fkYJvW$!c5`DZIZjGY8MXkpPpN4_ehtSGniZM<UCm{{HEN>dX5(SnrAA zOyHJ+qLxy7oS@68Jxpy<7%yFKEhef4l)YKmVyyQDUg(`U4kMjD5wz3s<iFoi@IU9) zRlL6-(e5rVNxtITA&+^fbg0{vV|X9HhY3HP6*Xa&`v}-_J}<R0?Kl&VRr<gSIW1o$ zNRn!7e&{;vqsC9O%;Q&I*;r<{MLnqCjOV-B_Q<$pvRY8)K6*A6UdD3k;U%Z(uFsdq zEvvCA6WvSaTED4NJ6{({2hIy?dyiur@_VFNqn{<1k}j!pTr+Q5J)DdfpbkZDq0Q#F zV;UvR%UOgbrYZRd{0jMwbGg6m$uHS<ViPEK3+!(8U?8JbJAHCJyzH}=3rmR1RBP<I z#+I_v!ju0|5h;k%S(Jkw1Nu-YV9~}4fhl4I7j`e*OVAVB2(lsBXB+!2EhI?DVLPs$ z2Y_ZH$UZ1rLC!m|dAs4$fSQ*)4aT%n0S0-7QYwa9^<57o$VLA5+qB<*=lUN&UV;K& z)&ku+S;L;$jBIKLG~-OFs|4(oyZ&9mqwK8<Bs`PVm$EjgzvSMGzfF|@O`+|2&|Nwo z5d2W-6%Co)z){0ere`)6{v*n@Q<bN&;L!^)8tmws6pEv+x+hDC4C|+nD6h~DK~J5# zRrw~RLQzke7E@5~eyBZ~a(_7aEiA4^$&;q{l`L78tq1y!lbE2en(@p$Pc7tI%Ovnd zv>Wjr7%7jgo7SX9V8`A=%&0xXGBuvyv|8=lc5c%fzPqgfZ>8nqoLb=gS(G?QrtSi9 z<^|?@=KbJEdDn+>^UAv+w)w@qnWSbcR?8W}xYlco_FPog*rQT)ne1<fi;!lzWVx(O z5}Vq2SxV%ZuC`^pC{fN|diXRFEoA~;O@-cYEN<<Wlts}p6Tb`;_#6seGiqRrn7Wr_ zG^?7E_zTj&TD$MyyB>|jaa;oJyJaWjV`9lfza(|S5By&p2`5Q)EQg{k*|M*~?2os; zHOhIm>7+Kty-v;X@qUgiT-wOJfI>&o-_dPvExkx6n%z}2qn)Uwr_yeoF{!Ty>c%uB z+@R)hwW@qi0E%b_%rT6=_;y+wkp;LVdb3RX;MBkByQkUw&I!o(Ov{+_mfSkh%i$FF z{-vJ^mG6>2V<NdHZ04$T;-diq_s-vcs<p&sn{E0iMq-<Xgqy9xpuNdh^~D_Pi4EFx zYK<R&!rQ!Wq_G_unA{0k*P!}^U-kcAh4^3nT?(jc6Ne)Jgv$%<hAE=jkq=>#(m<^# zyVSN%_amrZiQfQiw=h@HPt0RbJs*>Jm|Y#DG0yN~2%^<k^F<d>%nA~1H@kdyUsve` zGTUg6i=2G$p}Xqm(@j^3*!>J8sT@WCxgg&fJ9kP_?caQMcWFlcFc&!9cxW!cx&8+Y zm5iWf+*nbOX)=6Gy%M};zb0|T+mZHj*LhUp>ro)=i%He7)@prKyX#){o+k7)!6csS zjDTrL&QXv|%9PXT_O`pRMKwtXcyC=B-=m93wyD@S8A2cB2Dwu3pM}hxeT{-ls-t-- zK?NRg5~D?K0Y{81?sYr@NV#uF;rsQVMq>V9Y0Unmd{=q(K?~<z5MugAW?QO_g#UUW z4{%O2f;qWd-d(cI`7@OoT4fDV-c!<+Y(5K5q$&iDc!{!x;68mlNnHwSS?_q6bKx=J zrJ?g%W41t(MbJdZGR-Xqy<;TuO&bzT2_>D#$HvYSQ!ws0u2Z$DAtnP+Wma@+uI1Dm zH(oE#TI}>>u@Rjw7;cpi^r!oWdWy}^DaJ)tusm$GSE;N2^(|*kkE*ph!wTpY(RxSy z(uQsQ4Pj=z>VojpE1=7)y?~p3xo9Xe{P;xBC2->T{SodaZq{Vm^q%RvM-3I;kSdwC z<4)o?pJT;Opcn~WZ^NV25JO*BBT%thtFn!4#G-Qem5Y9w=-!KsWIQ#Ply%7}_UQOs z#AR>|M&@OUdBehFf7)n#-iC7&<tH)>%8HWej;-Er-b?>2is`kT2xgz7ECU3VkO78~ z0G0oHjIC^e8md@0{I~o?Eswu8ZNQUQA`#k(&jgeSk0kX7uxASQ5{sosf`#!{`Qov3 zDNqL0ZhWicg#+YJH>37C?YXrH3|6{HLt%<!aWmYFF>z{NV-fV3q2uNP9(VQmi%Yw= zU)w!9dw=nUatBNdLo)hSxkSRnQt?Ch${@M6V3AinzkW|M;t~h{6vlady@?ofO?->5 ztIw>bIXEy5jH$(8kZIaQa}@rHSB*&1#_d-&${b}IfGP4dksP^v3OIp+BEqYQ4n78% zKZ0J(d_U~5_Kotx;8i?!g(W|o2wcL+fPDP-G6-Td0!kzx7i^AdQ`#>7WV%E2K4um= zLs1RVyjA>wh@TSrUmx!O`=f1Eg@rV_n})T0(5-4h_~&#oz<;cMcCE+9ZWqOXaAO1J zB(-M7){O94?N8!p@SCBNR6r!ODZeor%QlKj|7{EwjqD5cHzN(SQqq|Q4k?q`3iRiD zaigb$-21Sda2fw^5bFD<Jk|?1_=LI67uZU!PCz`2oorjn<Rk9C`jg72h7PlByP)!V z?D0iocdjM_h|%|g`8HqJ7U@i;Mwb?}Avj)+Mz7y$mFZaZ4CK7XIQB2w)=n#IqjhFE znRk%LvcR%kspYui2!we#ZLuiv^FMlk-Fofwd*oHHawis;B7B)*Q2kVb6;A&M_*bou zxW#ua6?A(az0BYF0cHK#VlUv=7LC$~!c$enf0zIJ_Fxfv1c26=B*ZL;Y5+q_F*{vU z@hVeRZGsM`LpLQ!MitjW%6hr@%6;s5nPdy2+1iAwam7!276ABBWZGkr=dD6fcz0d# z8Mxi6iCPu2U`BotVv5adXi}r>1PNM^k4SHFNkRS7EEk2(j8}cXdhZQBrY^Ch9*ZrI zWy8$=oGYd?l4I{rKbaRVsn@N=yQN6<QNmXa$d<Yr|9DiVfSxZhRaI>NZKQmsJ;5}) zT5K!m)z$GMY0bm+?JclhyiH<({me(cgoS4kEpChPgfI?OvAG_t28M-g=HUWf03N1B zQA{9$o3!=Hf4_@Jan1dPD!<-+6`$2Xr2$)yGgALsZn<8x-t{Eh7BM>=9cSLq>Y}oo zWjk4yj$ZPoj#{CX+3D$~1bc^kOPHEm{t?t?X6DbM6KP~^;(~5)@5S5r%JCIvn4>O< zz&#t~1RMFiPy!_g^<cPxT0MapaS^v~%uq9QRqf$)*L#*5SCnsmu1Sq984PK72ibZT z(>8`=<A2NMf=JZVbO7lh!7;T|?IL%5NrT5N{>4)Xk^UkAs#n;-*_b{?-r+)7*qo_G z@{xCjt;I5k)=<=rKH9RXxfF^Ln4>)Kf}{GvHfVubo?#D~Uu~2*{kKZ+^3l2Vv?w{> zIoTahZj8SD`%hVkkJj1EI!eo0RSfVh!UNQ12|zG&a4(e==B#|GaRDZ2Z8E&<(X1*0 zzgKH12_wyL+x@(P+gXspjve+>hhskx%t#gUYBe)EPaBjKtYDHNaMRcFWqlqpKrVdP zF!sIX{v&Za+Fb&QXHF=V$`$AxwW6P>Jd(lDH5r=RzV7ov<j=L#&w;yuWjif^(D>?= z7p6TSg$X)mU*mMc=Fex&>h0Hg>Sx%`;4e8m)N<p(3}D6T0U#$(4tftT3ACw*4lh(y zw6N^&<GR5r;cT$0OqVoWAI*#EbMf+EdLFyl=jE%qHem8tM$u5U^w#WXyUV;+nGj0v zXU`A}svK0_4Fp;n#lnO%P_l$&Kwc`o+sTyNLS2&jb+dO5o-<P1YJWAMyr~^xLqK{M zPWA8>_H7P@-(3&V0x+q|vK4RUJDQF*0ssmeypE*%7f38E{SAD_`pgBc{=<5KRW|j? zO6b1JD8ra^G%r~#f2L)>wMmx+DXLr53f4TM)+5Q2j4RRTyEHR${2K+`jlAY3T<kCW zmRWV2U-q1nms#gNM-2|!iQ}vm{APHOVfxi}Y=ZwN=(<K77>7MUlgeojVoD^trra}b zv<boG`EPB~lCzC-u%k+a7+}uzbYdSPr(ok6@j%e?*AxKm0VrT%E$<)+igft<dEVS7 zQ@jKUqF}soo;E&5X@y_TrWn>m=&!H9{`;7nV_7voF2Bzd@WX~P*d<6t*{15%jU4}M z{k%XDoJ(k0aAOLaYcrG*Ot@ma1njYyrrCflDU01O5Tk5HIxRMSxEc9*M$OB2S=t<x zJBeoP-j2lX`2A!XPRK`m4dgGt>9dmE1L-H4N5^oin>T3G)>^+yPiyEw6DryW?5%|) zAX8U!8C;Uh2o5~9#d_%d+0=(lU|xfy$L<&WSbm(fkW+ZDAq$W@wh<(f>;$d-TtTx< z9i>s5O$YR+2T<`9`zleyMQOnQTQ?%X>#`9uk-<jHG~H!37y%}d{f9(7=za*x46AhP z%JH{?*mcwIaJGAm5b>8F^1uwsST_Spl(m?=0eJ`Ef!Unm|9|({|4QDq@hC@%vo;Eg zFt4`0VxOaY^x3oC*hW9OM_D|Tb$G-DJ;EvPF6%Wc)}m-Xdrp(SB-QPvkIzsCk#1V3 zM;|e@l=~oAAjv5mmi8%eadNqmbDRV9BgnE`)XzdX<k63yM>-0AV>6~oj<fq`xMyF< z%NcN)178NxwHxv{O%Ijtg?gXQxU=j<_}Qm8`{deazo}*DmeMa_Ls^|mh|mMahA%0f zS?_pUS_<i6=V3PbCiW^$P!K91^8EFR&V`^Ov58TXh8HvSBOZ2}^E8YeTd^xN&)s1B zGk8TR)R5$G9QkmR%7fLBm&2e9>lyqX9{gS-kd9UMam~{dy(7BP5j`H^v>#WyJU^P? zJqaIoxU*e^Y6ZF)45uwj!@vLc%iG5jd?KhgqZz4j64<Z|85CPzEE{k+Y_ro<O(ZtI z%1ufG1z)4U%>60{*1FHZmw%3I;d>~!b)8!a*f!m}ktt?Hl72@Y2t3o8(L322fF+e( zrCSC78>LJYE}4=RI9j=~sv5cI7=BCGet@`o#rbG1Er=<@3|leIAAK`uJ2cUyMAT}d z^-O?C@fG7j_6UcRo?c3eSYS1Ys%7B!V~hCrGJ(6;M`zgEOW1-*=y?8Mg64YJR6sAw zhobbHo0?UlD5PXUgvlNlMsHf%Fm(B>2-t`Qjj`ML*#O-V0A1r`vXseGOAmuma>ETc z(UNPx5<_sG<zSU~;R=GmKa7)bm`fEixilh?7rqn+Q>&gmn(xdaWkR$zIqQ=2dr83o zRw_xFoZ(J>2Q>NNnOsTWQ{a)NMz<rM7#DfFFN;W0r(Ya%|7l9P)eE_~dfE^8LTi+_ zL|EQ>?MGX~KD%H#(N?~RBJlB?CeAr-iCBj@0-M<x`kl#&UpCEKvBActBi<(W#XGK< zd63bzRbLnzqC>=0E@xrGi68UDWkwuhxmTV3C_qIW7}?=raxIf3^>PHJ;c<%y|K}0n zvQO>P9;cSG;yQnnGY^Gz5Pfl4?}@&;&wd1v&ZT(kY}HnT`y+59+wnB^%pn)AzF-6x zmGP<DY2AsK(bLd8Nxjo<jl0o9puCy#ng@wF6>mHEs#wb_=pL>5qa&944OQnhQa~F% zI74a0h0iu^S(K|R$GQkX7GLTQToda)u+R3koDXTig*c}pP^`q020h~KeUiF1PF`SM zo0Z&p$v7|l$=~fq*Pd*Tjc}g^S~!DALje|5%TqrZntz=NT;v}{hSDn=<k}@ow5V<r zMXKaJn${zV;yl$fU~<u|aa6G+!wW?1h#K&YwIhMv%hWUL94u?+bwS}g;^<vJz9>r3 zs6f8DB^HR06T}R-r?B_|B-4%O$J}bEGiH8O{7i!4!@0qUw9|8x&^DKWYsy=x+Vhl9 z<%gi6k-fT}?VNPUHtu*gbek-@K=T5(gR4Oj)&d3|D1y&HW%tsafxK&x#htN?!B66| z&5$8g8aQ+O-IG!YABlL-hc_UAc%g&3|E=YO4$7RF%bMhcn_P+sSCK3~=xx^-i;(d1 zzDMekF^KL}<!u~zkltej8u;92B$u01UaX!`Kwe^#%QU{7yjaq5Xn!7SkR!wOlWo-x z*C!HLziGO!&OE6Ri`c*vkEo5DE#NRN200QHV}AFP=goL&EKZw^UnKP&*uLkj6G-0a zSy?qeso$!_7XwaI#efy&VIoP+l@)(_)o&mnp4=%4a@so(WzV#bDYKkx<C^^)iiQ2> zQ=e}HsT#=4QGUlAiRj$p_Gb}WKeyUg8;e_~mH5zOalf22C1IutXL#W@Wmp#p*gkSx zEMO3dZd1#Qd=J@_%Nhj6G0Mz7oYhPKS33yziuA@&tpex5Kg;bSdI~)`-l-T)u)d6) zlo^Bt7&cL7nVcyQ&lJLK73Zv5iw};~N+N~@<umGz4ow`-ae8(U7EbQ7el%|KRjvAr z*(=Ho(bO!bSO{9ZVR37!Rebo^a}2~$#W+;~jVT+=IQ+|i<q~!!)NU!!X&Jb5Y`nVO znMz@2pLpptLJU>F!uSvsuf8MA+is+aS#XlT@21@d83Hek+t6af8~6`H_puLVPCj;m zpEH9&gF}_b38^D4@5cKh)b=V|uSHpIP-ASLf>Kx25NB9qEy0{eXIxa|6S0^P+YVV@ zoU2HPVvlBInGjZw^TN9;Utsxp>0!Q-4_z?If$`nj40^MWli4Dd&i%7~hBj2Mbl`Ci zu%e#nh<#=<N4^W!01f3K|B>Tyh)ZP7*3~y|fh6+xt&Lz7A+nNL8+ljj=dPk^5F@Th zt+42GuJ`TwD%pSuQCB$+=GPPL06da7dll;2V}M0L$OA<d&zu18<5Y&W9yD6-<G+<W zu#ZCVLtynjdY9c>fueYR9{CITc37b;D7ELG+K|cT{P5=7^~t@iDEs}Ob~^|PGE*c> z2v!9gby6gw^t%4J1JR&Rq^F}_4q}R}O>A=aB|na@(DU@vH;Yy&eN*aV5r+tLFRiUY zTbnQ>sd=s6<<uj1_@rCrIG|uf)ywR-3iPHWDUuH&Z!Se0laP>s!_wb*LCr}F{$f6J z)Mr5M`B_=9nE(rD+(8le<;p?spahaXR!{2-K0ou)es%6<)<;@%<d!ATbzrL5IlPf8 z`_XGHFS#xgL+iIfXpE^@*Fwal)%%3lHcIXgDBQ%A2_Rv6jwOUMInZ88p>~nK{_;~l z{pH@)P+dT$AYuo|Tca=KdZ%M9_3_Uynu`Bjf2x4~^?Zl)LM{PYbDc<5#M0A=2q!4I zak7^p-^=tx4xpf^PS6Q&dZ6G}Kw=T+9|p?9-);zV?e$Vm=}mu+vB{Ez<sQctIqRSb z2o-1>cDN<%u`wG7Fx3{I1|joG6smc{ZFqrC7>g~s36tK8gtQob4(PJ6HbJVq+0vDt z3;$Rz)ug}+Cj1C5P4)JV&)+!~e0PB~smO@%r0-mRCK!~R-84rj?1WevhakXL++k`L zW2y4_e9Jobp<HuC?q-lUDyV?+&gHHdK!|?3sM7{+z;%o?{i3=I`*@cwJD~Tz1NQ>~ zDdul&{q@kMb+rqu4TT4RBM8O>*hzZ~1S8ae`IuA4V#H&>K}F~ZQVi8h+97P#>Z8M# z=jMYLmy+``tD^HDzmG`TGp-!RNO>DNFmzeHGv%Qw(knBRUB>RDeU!fv=v*5b@i<a~ zziLD~u$2QhahXW!d!E2K%Eo2c*lJC3OGwqMB6myHy3$_X>!TxQB3)jOt0lH0Wh7w_ zI&HAWbUJM^PZV`e{;&Xk&k$=9R=-1R(n;XEF_}v!OoH&j_h}ziY9sc>GC0jq=^$H# z-@R^H&O-DYlFF?o>0<TpOXMZkiRG5->*Q#HOL)Y`F?aGy7KC1O-C{khv>F-if>R_S z>=8&UNg>@M9$mi^^0vml7(T>gV^o!TZln5^{16<N%x3Utz>ka9JxDKoO|tz-Txs6! zTaj9z<@zB=X|ctk#I(~Hg+U%VT%dH@mV4;D0G?6<t47tIL=JyOkM(vMk8W8_lhwZ; zbEe)xgML`WUO;&t&#AoY*;s5kbl}>b*o%oAg`8GJ0!*G)szxC&tkWi$!O2TM<Co`@ zj($!$d&IXU{`ajvAE2UERPUVu2KNDPVW2n1QH|u}Uo>G&<v+H$Xf8!XR6DIYUPKTF zfkn0qL(3mY@aIyQuAciL^N_7*JI`LBRNwQ)@|`hTV)8_lr!cgq4-g<3VB9cMcy@)N z<SQAq@|7Jn@<Fc_4HaOGcrCHb_hpp+91oLa2E46k-mk*XWI4qN`h+rTr}J9{^}mqD z|Nr9{Pw-VMYNbz%*}}6I`Dyp$fVXlK!W*K}#<-L{^4M6+lB6XC`z!_qtAUvU18TlD zu_S(5Utw?G7(UTjLY)*fu9h&QLFJ#!*$8?>A5UgXvkjM87Zog#SB)x+>6ZfGQ}41K zl1&uV4u36cJ-dB)ynZ*ZK28%NFX%ep4(M7#ZIxiet%)0x{OrW8heUA{(}#9bLKKSP zf`Yrd(~of&rN>6Z^->~E{h>4{ExH*w7B;I&VCg@CCc|ph&_pMC0NC`wF2^)wtBhE- z`s?bFZ3#{@x(9am0_!Yd7tclp#@I+d5ZDBbpv9bQGi0y>M1@%AtE5OZ@G9$X+^e(U ztd=C)Nh;FX#Aqv?o!&mvl4Wi3?R9kpx=9&`<AfPgWhtkbSWV)X^2iJsRD?i1{$hi7 zg!to)F_UQdGxXgC`U}xms%tMY-Wr&758?FyOBP7ip2ipa$#vM|R<_&8J#DIFq4x(9 zJAU*=`sAVFBUgXv%pRz~%VeZul~eApF<d%I%EY570<L*nnB6nhNvAJECp_}@fw8)6 zL2vsVQ;f*eg`lZWd);GU;`^QSL4u@ykkkUclSDn|nIhB7o@d%cHePvVKtuu1!bog( zgXRLkhP3M*-aA?K@_O#0GxQEoKlKL%7NoM~Nh#{Uer7mpJ2Vnoa1KqRi}-0J8!vp2 zxvmOTZHCPEnPA`Fl=h#X1-O^SoxHn|b_s+fZ}Gy78p=9VDNN^h2ACP0gnMwEm}O-} z!toU+lr_ld%n2o_JaT)GE->tu_k`r`C2)QAq-d|g*gFGKfmH$3CXg=B#!z<7-PpV| zD&S~1u`1wPMRa^ziq}08^-S_DL`<NbUVeb-7^-k1@;^xVE{Rp~=!$+1#HO>pe>P;* zH)AJ2obiU3{4hx^pVZQ=j|SQ0-1VOq7HHAEPGp0z+}7(G7JJ<+FLU=LA@2Fwc^2wL zk&G6?yk}(<$z*Hasek+V!f!_x$yt9E^HS2E$?dmQS^3kdyz;d5S6#fE;ghl7oq1f2 zDtwFO4N*Kg`q+BqVHxWD%#dwa->GC3Y2oSoyMzN}@y|&(c(LrU#wgZe4SMyB`d%6N zoTkh``ajKr+d>^Zi@#ORI|@gR8@VS&)7Wa2-Xe7>@S|s0JsHZ(Lg~QMjwQ2cU4%Al zf6K@D%8EuE>U#!31L{Ev*&3oEln<Rsif+9+pJhrSd;_~iO~q!_CFIk=5C-7ikb4hk z)&T|eFB^l~D8cO*8vwaEeMY!8JgR51jV*vIN&NsBw7dRG{J)u0CTb!a$PFFStRunn zzO`5u##@jKC$5&xRN_AgNK!@9p$Ownq+(g0(i5lsu7nSh=zY1+&!P8&4}pN_I;}pE z#DUc-Tq5gE%J=9Q!>b<APb2d3+ANl??nCsC^(rEaALgaj(JM47t~j+3^>;QkNhyzp zOBB_c7rE4%#ckr<$vc;-@lB$E@faZbp1|D7N_$Tuons9F7ZRRC1#PXBS6;;ba{}XX zIZ9<w_sI#_@lNdi2-(!L9&&d4zuotmLC}}ncJ&rjsw~Yn4kyD{F=iG!hDIFD`&61| zlyFLY)DpG|9g8^D2)8Ebmg#{X`a*v-=u^#{Pc^y+j=S}ly9O=A#(mpDE7bI5hySA( z$d{5@x1=T&=zUIJbsFDK2EBmzO{FATWL)A%mS&&VQ(B3OxAsJ~0nR#LqLitpCehxF z*hWz#T<xxU*uBEwd(TCM1BQ4&=rXqIxgTS{Vxg?5SS`IKdm(shT6hl<4*Y&4=c=jI zy`P!(`nAfbhf*fl73eMxKkyes@FaDtitb_709^6F%k8CR(r_paVdXn2R5S`b*ywIC zc#`_Un5|{TRY%|kH9yU$tk2Dwq{3I+)Cmb*e`UkXsh{u-%>1H+bRt>I1w0!8;^W`S zU_4G%IUx4=<xdfM`;yQWv;apH2$Xw|unkpWBRkJ>gcu$f({iK<1;)ElqDmn|qd|NL z9z#>wz5QVHyMK2d(IX~(N#$G75yZpsoRcU`Hmp^HHXGLdoR~oQwx^gYreH=bQM;&@ zv~%L2)6h8{C+HabRj(72iF5m;4x%_On?UoL``L7bcUC!3>Z-F=4~dLEiYjOXc*8Gp zju?+Q%)He{2XFio{~FXdsZ^M;9aK&XK9u3*L0)N)NgrixiQCJopl44#kV|bw2Bt&f zh*|8(I8Xg;pbDqT8f>RVG>v?`AmD@Yt$pCWe2ou&QPrmR*?hc`qfvpJ=K;1f-?{Mq zV}3E!p&efQjW`!p{?A^QUvGpZ`@Q56ylA4yJB~J6*jG#76oIGu$sKMixa--z&e^y- z*J7kW_Z@<$t~<S1J_g(~@R+&OB-}3gkA_`3-nG`{CH}l?RSNBSJ#9Ri(vb6}Yh36u zl$~forZSUbsi&`atPNuZoKxOEH`~n`YLHOKAR_gFq<qE0j>R8g$K-?CXegyZgY=$b zn1Su4o}+sV2D=!Ud*JjO2xe?qT;8S?R9$an-VUKaR|3gTDe4=U=M(4p+Qjca_d_fJ zN7eQRnP{euW68y;6O3e*A-Al@g1i>c!rPa{Z-$sjmSYsm_=_j{Klr)3)hL_6<?@xJ zc!CjHps`Z9JqXqAgv?bpDJy_TXZe6T?GC%QVG<5}?T!2*^hYHBWJKY-nv!1(FX`vB z*hTGRMt44<AoF`M_4x$;AX%##UNAFqGw-)&!pJAyRO@jhznlN%q!7oV6q<k=MV);r zIk}zI*#;s4XLS$wjS2Nq3jUq8q>TM4FMXwld4-Tu;^YXZ%mhW^rUDvJ7Ao_!gC07a z+qa#)ynDgilkoG|6jizCzjk}wB9^B6uTxvgwrPb@u<D_;xeBkFFJCh$hNTFaHHp74 z4fSSbCo>tVHD_y1dcUt2?Ao-3EsMaD2Hwu(#*#p5O@7yRtsBy-6v*Mi)wt+|s?0|W z_3FK*nzX4rk>_31JERB?R||F!#%y66R$<x5W3^fcJ*I$*>>ja2*C+C0<W2ynfW^tI z_H*DkSi5e0pA>MdMYf%bf*gv**f=2mwVhed(=xQ3DL_*K&YlZboPk&_<{0y4Khf~D zrn6BM>aX%%k9g{iz0GZEzK^#V2@uxbOB&q$p)}$lDXM_CMI2)&7Dr6vuU7~JbFR+h z{-8bQrPs~d9&e;u!`x)(UnQdwYEY^f@g!#AV45}4^(?(zX3#7k#!YP1DCb4f;xyho zR1UEwbCaw+Th>~;)z4X-z2dBwjlUO@#SH1-tLtZT9|x$omDJB>=TAYxva^2gs9HvG ze5BUydl9cd)an4y)i?~K_M15gutag3VO5da0l!9~`p%i85x@B^%P<GgDJgEE1o_Rq zcDp{>9!yR5OnyWpaI*v!*RH}dzF%Yl)y1haNxJZH%+cn<8xeaMChTjDTyxx>e=`Ma zPavvMf!@{;n97QMSJ<a*O}|k)>1;Tbb+u)NJLr(=!C-_-C;nI?t`k2h$@=wSoJsLB zl7=)O0r$Px?uKYm*T`2I=eeD;&yc`$L<csVRLw=Ty8*)5lPer%ktEN%X9mQT@cj0q z3b|Ri*u>9&-~B?&XYSmqm(8*%G0|p3Je8>{>KeuNxD939Vw=kPsdDhEnz~2V_VIkr z(Jo#g8)#6&tQaax%gx-&LMBB{%x6q3TU#u(=Ug?U_vD|^xBVtwc0)x&O-v}MHd|y0 zzLgfsje@<*4fgl<53E<9wbJ?M<ul=c71fAl)Fw`q^U=Y#uiyTW$T6q(Zf56kL<50s z-Vk-RkTdkH@db^FfIlNcFjLZ^&8yOXHPnY!#V7_9&tM=h^E01|Sae3|3|(7;o?+|! zs7c(7&a%$^AtwsH3zLiV{uQ$8y_slkTlYCsXHvc|Hz~+6AnQhtUGdmOsn*-~uO7$5 z4A;3<;0Mk|Z6+UV2ZTl7m>N>c&C1I=i{hW<<mZo=@Q`z06nnR|Jmt>`#P^{_XFuq( zaX<pr=j>O~Ykt1xlVzwqQ`f9T-fjd*60dY(X0^mHNNVe_dYg%LI5QeX)pum~Y9gf1 zvYer#(x9)Yp9n)Y3iXIHYGx9(Q-^{YP%Ig2)6zL-d=3NJbi3fi;`{EGQP6MBuU%a3 zyPvC=rgZSqD?8EG!%X;!xh-MNe2oP*oC|1}BbLxN><5A!CJ7CZZ(~W3Q(gR%h@Vj4 zHbqa0N5UPaA;0hk7EB_n<?NNl$kF3v%P(V#kx6y@^)#=TzV<B2t!jLW=vLUhUn`$z zr5Ff2=yLOR**pDU;O}tMm*f-ZrHIS;gTaVCkvZL%f5z=WPE5kXg6w6;&r9B^SwAN# zCXn7UmMq-AGjuKr>)-7ZkW+^uG6)pFnI0i#u0wl{_Uu8EMoJth2TaQl@4&UI{g<*Q zn2|B}R&YTLN#L!1zk+*(^moTH(8PUd2O2v}!zO5pt>XQNTdfc<me$PoP{A$rk(GCv zo5pcqc<8M-lSM3H=r$E?x$sE4ds{`OhBKqY_S`0Ynj(J|Zuw#Gd}-=WDDZi6lVfz( z%&w_*kCjEZE#(wkM7-k;{Ks{Gp0D{;t$rk7Hbvn75~l1g;{W9z2*k;A^5(=!cjH~F zLcMp7e)Zz2pDXJ*dU;o9gE+f-#YQUb-2%;Zp5}#$pW=J6se`)ky?yeQGc{$=`r1m1 zf1K)(!Ev?uKrjq=uP#CtSPmFB(?G`H#lcTSX(8c}q^VX>OPIZ*Wi6BTTo$Q-3OZFd zSsi7=KhgWBRRI<810yQHjx}KL%mAZeqQ5gc=*vywLy(`AAN3`8pX)T~E8Huw8kw}7 zMrzX3ZhtXR*Yma6Py28xN)j>REc{^=#OTgYI&Fvk^|`BZqap_7)8eQY(e%+7kAs^w z0@wCAt=s?V&#_-soAD6l0C`3aA=Jh(n<toU7;7~|{C=q?@PjHJ*A2mC5(~%GYDiS2 z?&<u?J<`C+*u|_6=Uc9C+}g7^hVEZUI5C%NPLhvi5S60CRc=#nd;@0vstp>(*qK*~ z`d*UN{e$@9ntRQk@=m1I_T3xJ_G({x)zMTp!<{u+qs;3`%(g3?w_cmEQs7sxX}cv* z7c?+F|CRIbWheW}k>pPFqzJs4UjK;H)d0)NN4%v@fAqB)!Y>34ECaWla0i*|DgTqO zTsw0n&WNiq{J83P2T@)xI($)i;<NUPKksXR5^T(I*UG(1m7_O`BH+CiLlK<2K}`&4 zymJ})>q}DJ@ok46ez@JsJ)Jj4-c}y;N5C8LhGGTo=s`af2gXl}Ydc5wtOu%~9;7h= zv521?VPvS#f@C(QMwkiDsB@4fw>&UMeG#EIsF+z%KZkZpSIl$!Wk0@OjFZ@q$tY1A zf_$(PXFlEa$wMpDZKf(xZ%uyQ#g#I!IieQ6!<VP2=*!`@C_8kZwt$lNHd#*N#aleO z-a;EuF+yHULQQz=(jf2nuX}3H_SGKBp0swL-}~jsuThKS^JLuAgXTdl_HbqqM|B$U z7Gk%?T7G6~?i}3f(toKCxxewK83`D1ttD#tB&quzj?WB%q}Id6vPbzx8&|?LJzUcS zYLpe~NSm=L?0DBsNZ?fYOr<%>RNC=c?fdLSR*bkg>ik)HRzLFfl3ID@_t#ViQ_IKd ztmUk#!e&La5r4GYMg?q?#&YFpO}UVlNawF)sU!(7AM-tJ=&Zb^sJyy|`r3$vM?+u= z26<Kt^_7&sQ&;QNJ@PhuIkXY0aR`nZyYvb)Y-mzfRUp}`H*;5cGA)+UCp<2ZZETqN zMIZg{g8=arvR3}2B~-HWF+YcjL^Z0NtvD9y8yM~J?xm}VqywY8D)6uWUT?zk&4KW> zmt%fap880|FsNu6)Ccm+j194E;5PC%y?HyWf!X3-4TYYVx7Xn-mL<)ofs{oBh%Wdh zTfxG7-Ntg*pZ`2OrxwSQpsN~41>MLm-FTNMw<uC;grQYHSKv~U)<K=Ig40{j=R=dH zCmqkrx0i8r;UcN|4!M87dMwMgR=ftTnOOmZxN{f3+7M{|Ajy1Zi8gG%WZ%ly-YR-` zCh&xZg(srP*Zyn5(0rED5J|Qg;7MS1um}CL+E`1<0u96}avd#}%pxPW_6qI1Z2RX( zxysd8QsQ`;87YzYk2JLl*NIF-Hx#^C-dE8&BXpZen7=&-o^Y4+;@=U6B5)7C`z77T z!;RU41wb7>HkTk$=Q-TGRJot&lzQ59%Ogdv*jDTf_&&Y+BtIDpQ=4!#^sC`j^;3-Q zM$w<SaeOvwgPoS?$OF!Yyp_finl+$TSxadbk_61$yRhC*DJ7Z{UG7dz4q&M5iq~Tn zPsX`ay%w?h@#G1I6p3C+%{W*)cfC<n5v<1B6^*8p*?Nh4<jtN>h)CP3I!ooWH5Dj6 z?*&6~OfW?Wr44zfrKq1JUSU)#8W61zekm*8Jbzy|ph0y*1che1sYA7}W@ef>%FKD0 zI`nqF#d2;ZYmNNdiZ{_T3DIg@RK|qCFNP+^{4^+P<MOl9ld_yqa%-MHMu#JwJ3e+g zaSKuLS?zh9)>v-PgfGO6vKypC%g-n?a^b-kKA~KMgfvcOQ_$K)k0{@>Oo^iZfMO)@ z-jI+9|9v!pa^~aFv;@)}kpe~WS3%=BV!)-F8$Cc;!WMQXqq3cZ_~(P#Y3bn_b5nZ- zH6t5&j?LMc5cHVLoJ4`Sz{@0H6X@XTd7!(K^e}ZeuUr<EE?Iz-R2WLMoh88JFAiAx z3S*T6Q_P$ncjFOo$uZ||es-t)cKdUtDWIxZf5Ct0<usx<Q^{Optu!+6RG4I>cf^xO z`ngA{Q;*&7+tV+4*eUYKv>hwN5h8^&hl7vPe=7W12wyZPaSYp`wyQX`$oN0vy2HqK zP{Eu41CSSWz{G;1+5cch>nX~WfAW)qn(;>*nGly`ztJejV2;uGZk5U&f|w)$G)GGl z8IUP+^O|COsPI?EZL;nyc9h=)R};`~Bw$Ta)ZLX`Ti4Bh%JppeM@*lQfDqXY0P-0) z(dOCtryoCn{cI1-FTnibRGyq@xpL_OY-mO;$amSV9O?jHCWyf8EpNT!olD3HSk6FM z22>f-%c(**s?2h3Bs`#Va5=akD596$ZZ00l*2f*$SIrzy0^CYQ?rTBa<qBhJnHZa1 z3KuhYQPSWtAN2QjUWjUV6D(g(OunbQyb%KbsW*`poBfoQUyJ0mJ@VUPFAIac!;xpb z+b=%>xk8$Xz&qCVrz3LCq@JboVB?Jm@l#n%L$M425ucy~F1NWK8Z4Br=xeh0EIy5W z;4A5qcS>f+E3&^r@11hJSGrM6JTQ5zZB@#Jwn7&bVfH7Z=u>A{6=M2Apt4j;(_RRd zi`+H-ZX^Jwx^k&T^qzlBS>p^n3O$nA<nWizMrk5%<-uvkc*;%BpR3y0AaJKDXoS;7 z%qAH{>fLh}_UoR;HLp9X2))?&HFT&{_2K*%;-p7aJB>S4&jVu!?U|dWv3m@RzJ1Ub zHFZ!_sZ$z9;!Ym{Y_wVJNK3H?f{N>~$JO=W+U<W_&NZN)_plq25>!97S1B`>i3B#u zzxZdQyuxi7NE!2B_wij(h9=Be9(mSd$@4nZR5jDycfg8TAFFci#9i$>pXy^tNZ;j| za%i<NR)ebAJ^5@tB}wJ)S+NtBep=n2nqm7I@)5OKftQ)x#&4_P_g`^0)^xV;>^)@) zzn0g^@wErXbU%{MzxZwy6Fd3td+E5(3sL~P84y4a?v#t`@GDN{hcL4zCBAe6&$XLY z=}V{kL^a^;V`L3IX4)ClP=oNS4tAx{m&1hf77dJ#eHIPET0w@*Ym!r%KmO8f&u`{d zmp#yFL<%}EO7RCa<edN8nfJ0SpT`n@|2ptK;nJb*H8YhWa5=QOG_}#J2;Hz4XOiiX zj`D>s|COP8lVu-!#s6u-B_WIgjtZK7V?6}MDIq^Ekqswt%T%8CIP@3&RNDxZjE=<s z{Kw(J#HkD8Qf9Q~Ph>MDg`0@3rz<=0&3hdE6eNQk%?5KuO~~MoBU7}UXP9}eviYEf zQYQm2II>st2{z(lJTn`;ANUsO?`gjCw8d9-fvr4n=|9>z!ijs;Ydw1fp6(<>ep(3a zhmpi)LWZ&P8$P(blti3l=V@2pqayT?8B@B(^!`7G@1=~{`Q`y{eJAuC<+zG4topB! z7O>K#e<$W-J%jNL`t5$CRP7Y?u_z8EBfe)mAA$@iah@K%3YJZp)z8cPBT>N;<Rxa7 z1(u-e<%cMl#nn(Jh-ohdLTvH_cUPb`@kp=V;-sZ<9&bHJZDLK=2Ltf?`dc&RtW^5% zuO`1vWJf${K7BOZo3vBP;o;RGNw&z%>l^j%s3e=ZIc15ybaH+|ap_Hr+70N|Kxi$W z(1Yf<8{-I|CV=JF-<g$sIBa}&>eF5*3no@g{SbFHW86`a+V&vM@)i5H+Iyrj5juaw zf~J6nYkckXWEBrV-ekt@OqEj-chCusOrlCyyCF|e9I&U8P}_jK7fl04$=2<tvwz7w zeURLvwx&ye&NvE3jU%)XqDjvePh%R)$rE_C;5hFX4yP8u406%b2elZ^V1@`2Fh<uR ztH%Lzos4yvpcR4#vPo@P^<(%?)xY>egS8a>aNH9jr1OBuXA3nqBx)b<!A~Vl_FQ~7 z!(IPQS=e-ET?@p{rKw38!M$K4ux>TM9$6}5@PZd^-!bNw$O}&k#?RYM<}__|<FyuT znf*V`1YT{I<7z_(1DrygQ$CfN^ULY3nM-(^O%a2`g7S02*PGwlT8-oL^3rI;^qqAf zg*tc$7#AhvPO*6l3?O%@D{re+%QZW-V^1?aiJGG8XK69_vMIo&mIgs9crw6`10t($ z^4m>fuEhj^oHeSCp+UA)!fJV{{G~YdQ65ps{ss)R=I(uRHBJPZ-=>1dT&><+!gXmd z;77sUH^%gea>igRB9fGY9dJ(n9cMVT-nwh|GJjr{7akARIYb|r<@ow#SfT>T(pWHs zpjApTEqM>pLw*BZ`B-nfXX9u9bz6h}v<cB0${si{M6G>HSNp4Wx*b~+wwZg{3O<q7 z_<*xkJRWay+VN_R?N=|W+;vPzJz`?QbxoY<iMb2-AWdg&@ci1td18O{dcrCjb8b_m zz997e#vE6F33Zu#Bxvk(ChF>DD5-F!Ou$3_UHKig*{i<V-+i;y1;=6!P5nxGAEbb# zS7_V3YTRyIn`jalnE$K0x2805dp~#+Jbx(e)iVi`(Mi`%@$^bkdH9R>6Ry1Gu^e?z zXIT-fBix<?@l)VKe?<3py32~WcXp0D=Z^KFt$*)j4R~6~H<{nm9A_{Mv_CTQ`eX$c zS(yxRN1(2?`kZSiiDS2-w|-Ga1%DZLHf+AMREL$J-+QAPG!bJ)+1`(Gt3Y<2l_!s@ zabae^RUFb&c6`TB;j8pK+KfL){BcXBdD4M#JC!rn_-A9`{nS__8pCvW%6<y6N&VAo zf?Y!_V~~c)A>cMz_1_pllIsK4;GXw*1~&el+xxN2FGjjZ_}PJF7S}kVjWzj;2_vRp zlEA(o1we+I`>t8NvSLC7NuT=!qI!tUGzD<t&q(!}D-{!!v4{yU^?<QX9ZJ7VofI?$ ztN_?0Qo^JN?$VP3;acOoG_MBYrC%wsBBqAwEW71b<wA+8Y~*YMgmj(79Yjnigd1gg zM!sl-+l5g=DH%(fz@G_Z1G58gm7KO$J*v`)p1OX8q@5b~<$2nB1vG~wc5T~Bk!Z0F zi;v*l>w+CI-ail?Q%BO5;HiLGWSK2QY)?sf=5F@OK*hbri3{f>e4gGwZO&DYDQTtR z?0Lmrw>Af@ULS+RgshpJ_p{J`_k+gSc&qrnDM?(`;NY`V=FnXU@TfQuc%2JO>@1xm zS*yv+p$xan$X70@r8lw4S#XenQ_lR;TOXCeshrW-BVk;n#lni)WsFL32b$X(h!V%I z7p$oVpc)n1M7Z?ru^sHL--=ZK;JDAq0|&+v2-+>>2dmuumzrV<J!3f%;RUhVca`R8 zH&WxXh@M=xJ-`-8+YG>cfSK9=FEvp;Fja*X%HgtmqQf5tXji@B&d_Hw9{`JhVKM@v zpitESOp-4xJ0)2k(Y_S5x>Y(`C|QpytkZ<%Ds3NXQ6+u|K5Vo|MtH*Ami^#moU(i} z8I4@cc&25mZ;Z+R#}`sdd|2hW1USfDHSj~z5@+*%PpD6f#XYHkYdaEd0{cJtY?44p z{pdeX|06`DC(--Iq(8^YLhcAR72SEqbud5KC{^!^M`AT{HNo_6!*9c>*BJcNxhQd# z5Jj-1{0n9PBgVV<Xw99bGMjc+ELYH($@~3s6*Ul|tN3=ssz+?f?QNQ|^an7}SF4eU zeEY3^M>B8*lA;y@;KxHaq`OK|QDzH?uYs$Lv5)DT`I3RVrGDS^Hq``PeDmF#>t9EU zi%5P(-T0Op^~)Io76INrp|d3ncey5xqO^-ZIvARKVGw1L=@_SFvF*9SvvO5!>HTV8 zpk7_qWnCjt*R_+~KSw4I|3Fj0^p8l&Fa$lGHIx8Bzadd4Xxd_^$JmuY4PcKVx;W)` z5PCt{&kz`H&jU9VE{jN!&Fv$FZz#6Y6zJ_A4WI2*xXZHIYO`X&D6Q4Nn|BHOnzMmh z24*nP1ouk+ky3oAL<o%Y12fFH`xFS0o5?xvXKbYnGzzwat6VKeU6!zq&q#KE#|7UX zaqu<Npn_IQ-?NPKbSvh@yBpNs)S(b-YPC;CC*)9=nU)omL!xOwV{)^JA-y{Jnog*u z^VzSh)g*SVDg^d%zTIAXolx`M_c<5!o{zPPtPf`6#X1rj6R9rQ-ub#3$vu{EC<M$+ zpiavXgd8A$?~<MfCuN4&ehl}S6JPRIn$eQb1F`@`+=cMiQNY9YGivZ04-8tU?HsJ{ zX3?l>ovH(x$(Dd0axQx{lUDj?BuPqO4r*>JE|%2!e+drTtLbqee8o3c!PGCIvc5i0 zu0Lo>i^d<XHY(DRu01oyO~H8L^?KZH1FtWqqU+<&1m#+@Cmb1qY^rV$d)kA$c<#Yk zecn%=)AP#ulSq-^welAJJ7H|xc41FO<QTfEI}wv8QGW9BD97%G;4NSo5WY2$+>GS^ z%Q$fd;pOgakI<ZmB+d7oNB$q~-a4$w_x&FhP!Um3Q4o<35Co+`6r`j?O1isSVjD6- zL_|8JL%O>+N|ciB7^54uksCPTcjNc{etz}g`_J?I^&H2JgE82(d*^+fdA-ip`KI$= z<GlWF20%QY*w_JmK)}wIV4>!zC67g%h~J{hmSf?nMLb#rG6|zX<<;Yc|HfF0`C5_K zIJpDJFNks8H=Sf5<8Rb{z-gp#U0SfkRlq}jnJ({B#p!;k!dFEKAKGT2<+=ebt{0&2 zHk({H0oKr6)^~cRTXZ9=F|CQnjo+RAS)=d*9qGK@wZ{F?U$gH#mwp&ohBOja=K5nl zSN-&zRe054&AK&@0N^*M7f%K$C?2MK?lOiRHd&Q5N>4pSsKia#D|e%$D*-^nJ-gt3 z7=d6?XWe<RK-<T&9rQvfnp!^^sD_X<G+IQh>qiTzJFbF9Mt#~AtS&t06-c}EJP!@> z^qaP-s)GP$dy?Kxm0<(+T@q}Wl(_O>HE1#KK=-wnB%>v=9qAb3c#6zh-Qp?fl`*mS zQyOqHVS^XT5)g*Lg3!Hm8vHW=>x#yPp;4agp~x7L?*|;zO3@1++>%&pjA~B5ymb=N zNK~msigHjER^@mDpu#j5)JCRqh0Mnu*q5T;&}IT2*y~o!W}^CdO&m)?>vRe4Q^8tj zJu+7D5KW>JJ;h$DHqo?V^!t$H!i2b(`Qyz3AQKK|vuM|v#=ZPt$KoOeqLD)9#1Is_ zxC;Obb&N&463_g+w^%=s>V^#12GsBt-?NiA{$&>lFi(JUuf{>mzTJ+*XZ+&*JE_WO zSc0UUrrs~JCKz45oC-hxwrfhV?KChn(j&oS!*B$-*N(rBZQ8xuL^z=rBBJMOD@y_{ zGIrY0=&+gELT<h*o}H1Kf?wv%F80chyjuHa?Z-_zCEh=4tv`zrN@qR^G_7mS#^n=q zQJzk*5F*}2yp3k>!&Xg_eE=AQ$1S1s_Gu*!9pw+eg2z11U#!i2p`zxhO>5$7#j3C* z0M6Q-J-YX<t)tP?{*mKX7jJ58GT^5kG2m40;UEqiAE1WkfGsUKpw$@c%+8(2C_rHM zcH&_jiDw~7Nt#bHhw7Z|130T?rvT^XY^qs_qpdK!@d*ox14;>(efvVr4=1b!kq5ky zu-XIOme%%w;o4A>t6?!x2@4ZCoT`jSLd-qv%x+_?++mM24jaHe8;ze(?4Qw|M1;^9 zshDroy^(zLQ%-Vk)8yQhvDu=s%M56FU-&q$ziS+8swe|c>BEpLrJ<TdIR-zJcB!Wj zFsN%`EbF>cZkbpAhntI5zc0#=1Y!Yz8%2q}c$?S4!pO3Y#RdlssJ!2;Z@x^4Q&<v( zEsN5-1PqF_6{IhdEd+5SIR6O-8tvNiffP90gL?62SnzOg3`cIyON&9i3c&qxoGAqU z&ON<))>#~Ur%btZOD?^!AWXt>5$Hk_x3n*ABtxKb0!trPgOf2mQ}*G@;2pNfKgM`x z?d`A;xhbr4y!n^0EJq!){()n+|K=u@0XIn{0;=5Rg^8{~`?<gs(_;pKhFwkSCvjrT zH#KPUi+_J_2F}%;@8OKk{pz8)r~b3bTn3=XPU~5Xid}yOlWkOxL=NWH*r?$yH{_Nf zOZhfthTWawX6zavelug-MjHqr1Fo2@u_5Jxb3DNv%YZ^+la0D|)?akOsGBxvj1l?c zQ^d5qg`|i=Vbz_V_kFlgj(6dF79(LJR}#&I#<El=ngSZ#c7`v4B(>-&UJ}AtQFQ|N zkp7p>-80W$I$>&m^Hbu&+VZ>qLP|GWxTMkSvA)g7T+UeE^eF&vJK!Sw@&l|7xq&X< z3<Fo)=wUXw1R8Y0*{I;K&qoVP+9#mo?y~sCXN_7rP(fd=?L&qjE^nV%uA2o^POj~u zM3()3>x~4yHyq911t@srN~+ieRC+a((SkE0`>-~>;L#d<|7}it`A_Rf=AhOD-Wp{S z=JOF;-2z>}C<VRo4Oc!fu8U50xP3(gd{>jpCUw#MA66-;Wznn-sDe5(uYw|~hs`ez zytIHJ45zg3e)pJtOVC*&ySm1Si=ilCbiqu1*R8Yo5`;Dhx0OT!eK6uktE(6gcE*2} z)-MTZky?A2UO>gsGSfc+&*CwNrv;e&Qvk<+BQX!sg%Ti$Y|@zRJHpiC!}?}MD;Ypn zjD_=n-f__CCw>GEeKTbUvSW<@aO|p4v@Nb-;)KiAF?<R<&EVJDErczqn8icpKFF+i zX&o^Jaz^*;vDwe68C4v9xG+U8W-Y@7CS6|=1*R+6IkUURZ7FGxU1eYaK=ow5mohro zGvR8qKf0tVUfjzf>+G9A#v}6qPV^5u>p2T#Sb!YA$S+36u-ogspKY@qiy(~EBS9P) zoB>UNW$x4IlyAOUB1}QOK*!n`?Z?dsPr?T=?Dx~oQUt0T5AY+e=}SyHyK+wi{y<;d zs<$pQyOlXBaSOvHzGAYVNDL<b)YMih*Pe1bpOHIe=-O$#;|L3Y!~jh!C*8bUCquox zo;xel#=_p_#{&iSHFoul)-_uH^nTQ^0u#|DV@l=P_`WER0)zg-tdc(0iqStvXk~VN z5Jn0qI$*W%_P!|6HztI-5Wep=4rI@R`m{Axozs9!FN_Sh0Js=@1hll%i~T%LvwZ|P z6uA+aQ+9WYUjaaTR;;DI!@&$$GSN+n0_o@kb4$x@$6GX~dsFI5e8>pTm0A6h!sV2g z#+dvH8k<s6tVcR6PoLrx-VWtOmT=`7!l@lRqC%>w!NhkB;U~u;gdnm{YhnVLQkH=( zjdJuOe}J1CXwvk1WmkjyiS<%OD4F0>kKeZSUr5FeRVDPTE!4<Sb?yKnQOaDbE^uBs zOH#H1S0k7<_lN|jEA%)ZS~A`K7$tu-q4M8FY)gia?w-GaI!dFUJ)kk37LFDfp*@~_ zI%`1Xki&t=FUKvUM6Y@5SZy}j4}$R1Fi}^ZGj2;|Qj}{H)?4qt>fdvhiC15UQv40u zGa*?EoeIBEb)d&##|@k0r>2U${bCNnV+vbx${ol07lGPaE@O``V?~`etImVbv;c3Q zTciIkG8>rm#ZDrN4qNOwr>1(l6vl#LEhz+;4LCLF>VKx*48XpGCx6w{Ltk+T$fqf` zq<*iJVj7UcF&0zXQq%QIq<|wI`WjgY1IkMJ&#pDlG?gquSm&8uc&21i`3#5|qgo|A z`lZ_^C~OqQEHN!x);0a6;elCR<<;O<C7L&C0%-FmBs|A%9wtOlS2BURrm!V0c+$0q z$vvZ_!+RGUP8gFbUUH<C1o~R(;V-Ji(Y8w1Hh<IetN|boHIo9EdrE_+tCt;L4NS}h z1zMD44b^CX8F2-DKs^s&BFhJANN{W(i$}r(ka7z=_}!A}4flQxKC`zNwlzA2Z2@D^ z)9@^x!8uUZ1e6;}Y~#cY5b3%r;~CETQZUY)3KL;M&`Ph#GTL1G;L#ck&g41*HxS3< zJ#~>LxF<7jKfH@no?htmqVF`fS2DCIywQpHuEFwkn#zBAK0k~P@kf0tvkDnAhZ5=Z z%9qCNjEEG%!-+8*SkZgU<f=Pur(e9=4QnQaxuMkqWHX`-x2uz?7N?n~+l(Rn_I0C5 zdiq;wQ>T7s%?JS7Lkk@_aFk7<sWHR6cd8VzM)cQ_$r{&;OrRxygctO-ocmaCk(m-W zYaxVd>y5wUN+W`fwZHS2_rLMA+kmfimKO(%I0rjgBNDG##G5NWJX*~AURcnS+B)rQ z=RpSquxr}R?bQddP)-;6TisGKWZS@aP@f&k2yhzblIRbPVHG#bbmr7hw|YKQ12rRy zbRAX5|3G}sfHvBOxd#io1D!FWH{LodSY#Xl%5nZ!|46Kk9SRh1BLW|1ah(2y%Kg3f z?RcbR`<49k$tLTGF#3&`)xf+Rs)?`<{TlejfNHGBvGmt8(TfT(bVej!_1bmOtZm*< z`+6}P65)x}2*x+%I`ReM_uK>?)lmFasQB%<y;1k#z*hUbQcSmG7&JXt%%P9&evSSf z_lf7GO-@ARr)fJOoQ*V2qOs=^h(4kxX08#w<Jbi8MWJ}=kUQY@wu60)gO_7|j;MYv zXG&K*?J`&jP__LeJ5S*zZ#~47CCgKW4NU2IRRT0I!-A6k2oMq(y4D0(3VZJhC8AzD zDBL<H^@#>&p#yXQkUOI6<cfaipF@ww3tAV97v=T^__6TG?%D5v01oJ)CDOcVS~EKh z3~^j;GG01OfN8G)-Ezb7_D%1H<(n8ZOj1miMB#cYlt^M+-g8yl0}y=)oD~cJ%VyXc zar3w^LQgAFkt-{UrFzy#azYj!Y(=lAx^-zZxNWOutmY$%l=a;5j`{&JvVQLF@61Km zDDcwTIjTom0z(0Krm$j%bECT<>B_W(2s@SpuQT6jfS78NyqWT%z~L1c#RR!D4x(83 zJH)1*MsQOGXo3ZR5-^~DjFYNcJyKYxwpYQnp0(2}QIF+z_xBw`Hkes;Hks~kQODK3 z800D%{0#yMx7Fj~^M?t7a6Np{emE2CjPEP~jMgK((V7SwNT2n3eBSIluCq}N;mPE| z=e>r0t6Ie0F@~nwc6jJN%=dJF?0Cf)nPxgV+Lew^1pvV|x$Z|9OY_P`@|s2B=et<% ziPKi{?wecyJ_xISI}!EG1y5EY<MpuVcw64|qT;|Jzptg;#&?aC5dcl2Rel3||BpC< z$$>gxh)0$PBT$m>elu$(JUZWTp!0f{le_Q){(%HqZJJlS)EDO0yHOYL3qK?s?qRth zdb5G5m3nakc_`vPZ${!7TANFs>y1j2^N1wEdbg);PSW%ka#i6Rr5w)dnvH}A=o?`r z+wHk7txU4(z{mh+;V&UGDZU7Pb5T~B>z)#2`g0-ce1fk>(R)<4Y6>g89@uyA`hzPQ ziEFeVSuE!nr<hV2<jCS8)Z<5zSB?}D_+N_nI&I4jfB6&u0KnaIfbu=bf6B35f$U$O zKIrSZyfib`EtQWKANSJcjUGkHZ;NVs2qvcNqOjE(y;S&`liEY5?#IT~30Jco^B&R2 zs>ScWloXEP3EsiWx^hsT;zr=~f9&HARNfq_@+Y>k#Ah&J91*DD@x=mu$6kY{uio6l z1m7d9Dp^lU491YILYmLW5ju80(@jg;q-Gc0AqocHoV6L>X<&Y}=5%E&v;(bPT9?^8 zRW+Ry1RZjbCBiZZ&wq$jK~)B`T`#<`fzH;pl#av?T-A71J>pVP9kcAv%|Ybw)ph(+ zhfwa#3Gh!ej{)un4C)A>Cj?Bop>tnW5rW`Qm20S(r@nnvliHJ{YwrCcdL3We;b&r3 zbd_`Uh8%GZ4vUFTZ|*uJcu@pnihhE%ZcO@%yjpV5JwF*Y29=_=QIJjr#~Ni{!1~qF z_pjt0nAKMrB%yrVVTYM+t+brIl@hfzCr6m<;uDhXsGnSs7ZvZqahDS_fL6eBo;Oi^ zYK6nBn#IF<F?wF=G~9E5M%Dsg(lAZn>7;$3WXZDRSglt$my<nh@zvt0U>>Cq?lc1` ziHwegOH5sPhYN#2NgMiGXF{Da6-2>TUmhQlYh-U0-+}+YCYOgtwBL8aJVxEL49CXj z4AW_#4zb_LygbeudHAF!nyf>6xb4Sj^RbKeVpGw^@K;V{W2f#u-{!|J1Zn_GGr)|f zygK3~Z(UB8{-*$gof&2x59tY+9v%X!Kwkb4!aWlOoi&E#pb(YkWYN!5Zqlf)K7|oY zaDIc4f5HX5Z-208@JqPK=h<hB#n!jq9><6CK93JTr4_Z8pzRaF$So#rD2t8J-w2>X zQl8$@rr68UM7Rfqw)eR$1dKtZFO8%oK{&?+ZG%N*T_;3cWZCTiE|~EL-i;Rq1)rE1 zq;X_Rzyuf`&4j!4xpaZP$b9x#9WS7JG<xG#jbe<$64~`B88jayQco2ZInr1F?q}vh zf*{d(bw-a3?-EiTWt*Y?NdNdrb=dtt7h_$9$VIN1Ud`fRKs7pGIYB*nO3<omDnjaG z-WTTT3~Cd=%ro$-7S#zy^4A}Pfr8gdW8o?#m&@34O9di}w|Po`8!WBQ735Px)pqwq z_3U$M7Oxo*<8KKcr^U*cDC!{?r7NX{U#AIh9}iD=9+ZjFJJ)ZLby!sWt?ADHh+UUL zrwHM$)`vfZ33?<*tDQIfjX}9m_-sNOfX*M1qgTyhC(ymkJ7whRlewnA!9-&R9fcfp z)o?_|7KJ3E1_&Bdf&%RL(&~5G(&}$Jfay!C&)ReZdnWDazo2v-xsp&`Wd`U^9|*;| zcjYfC%mTD1gpbQ+1BFwezuy9vyY@B?S}qK-h!6()qdA{;dR6J=q@!U{pn)|}VbJV* zy8_BuQ!w5^cQw{dE#Iv<6oh*|P;z(9^{Qyboiwu}EIkGY45K4)H@rD^X=JJ<Z|f$S zj|+{QX6N~3d3_%f9em^$VEyOomGh1z<=-faN`MB^nAN48>0W>%uWe#$FBezKK>!IN zO`Pk=vFgPUd_;>Vs}q!S1&J_swuK2-->NtBvxP!7tRta8)4hr&{9FQB&#IThM9b!X z-!;wwxUq56NM3*_dqR5Z_w7pvZl;=ibhAmV*?i1BfTORO^>M#h3w(IXk<jVB=iLCz zrS-P7Vpq`F<zux6b#LwqH>oOr_llGmU#g$i{6({37pmSo{dEd?ev&YE?J9X77p65` z;kh$g%QLbB9)!y3cxMj*!X)OciLf2Y)A@o~96)U8-pcYZ1K(5-=e#5;vm^@mH*qw~ z#knm4IDdDXS(8Ky)ZS2-@{?BwT7)Cqe{yC3L&2}s<7g}|`7+&7Vsm~Qj<A2}rQ9_m zyFWwv3w6U&j;hT_@VGm<ygzsnKgt7uR|CXzNNZ$=44pgYiaNGr49F4$fa$T5jy1&R z4K2zOtg7Dg7wM!ip+XDA1TKaHuibqz;($+uIoxnLJHZ(|j;@^+2IsyOCs55bO;~0E z+HcY;V~?s7#9U+-ML1vpU1Ki?UzwBuC6cC5Aqz;DI=HO9qjiuXxSmU`xmk@~B4SYb zFZ0MhiIZpcq-8ihu;={x2PqGw`2Z@HK_lz5*Hg0B&D%?5Xx%#Jel)mS;U_GC7NizL zdCnsxv#50O_B7=W7m<#fHy@_%XL%`4rs`NIAyYY&Gzt~iV-td=<s*fk=W+g82FN~6 zkJZM_4Bc|brXToqHtMa;%*S@c<-I14B9-i6WOR}R8V|Q;czaqLqN3(w?&mVUWa^Qe zqm_cS&fK))B8pf36E6T0y*7b*|A>?z;C5G5ef9^<5uVCOET^x6ja{1dd1^FwS1vr7 zvXVi-7qu<i)t`wLXa}1m3|nlK717u1tw&$ve$MZQFPJbR?j`6cJ34(C*c+)e(;$Zo zh|%(bB=6PD*KM@7oW8{3J4#Q6`OHtZLN?7sAMLF&phPnx@yU(}IcuU)$Uz^n;q<uj z4X7HVR0TKLf;V1A+HI#?_Lh6t<X4E#olny~1G3Tn?)$>-c>8$T*{|5%Yb95AF*)@4 zhmYi)4?n$zE4p=F7QD?Y%?o?RaLwE}%C|31J9LT&focz}bkr6Al8x1>$x{imw1ZgS zuE>A0j~L`Hc~C!v1#4UKyL6;VC5SH374zBwjarTgf4${i2L6UBE($h2a$Xm(f9c@X zEpX^6da?yO@k#OKI><P|VViRgGlEKm%(l!LcpCk|o@%jDQ>1zTIM8|3Uui>P1AvHq zA%j<Dz6AX-e-Tt+#wMKcM=e>y>v&4+DA&?n#2HrRu3jnPi{d(N8O5tGM2pz%Uck2X zw+H?^7r|in$J*LRJhb#}F@WAHsF@z;bioYPYaw}w<khW4foKg1N@Bn7Gz<c!GCp=! zeqN~Af@hq7iV<;r^gMG){o^CwGP6-0r-2QOZ`8F02s3b`=9b0P%6Dq~U<fbz?k^~2 zlvjV!vCn@aJAfNy&7yrv>1L<MY)ViDypUDl*`j8`J<9I=wdulh0Sd=306ZVhBV4-c z#Im-7>YRSvWJWVb21iCEB(&h)U>(Jw>{pG3Fr@<^yLDDk@MaZGee#h_DSWbb)Q@{{ z!r@Ar-dWBe<aaaV6#1;Fd$;>GVS=wNG+fd$xy;ML7*8rzmbsY!33Cx%?616x)d}&9 zRvk?Og$h8?0j*>}(Mc<>4i(HJW58vsksa0O)-kyNiOd%mWZhz_P`wuowD-zBpTWyx zWO7OIZx1a>QrN!Y-U5c#90+rV%=!zrNPlh}f~7W36|zKTgJIuwg(<VbsA@8&n{I^m zc+*dH>EiQp<xg2IN}YhB2{)tfYNOTWo)UcH2%uh4;Ebh~IX^;Ou9+^Et%mrqCr{)v zBC;lTDHRvZ?NhRyYO5^bOm-~P+~^0o`BibBVMMD!Qx3MHt6S_3#<B8F76HLwy#@ES zQ%S8Fs0}+XS79m8(iZ8P#fa6FG+VGQ7i&TjJ2b-zv)j&qU^!Ys@Q~YdNGQ0w14G(@ zzCs{#?+bbF!e3ZMyNhj|<ZK1^$bwDneRk+g3tQJKOeAE%4-plMV&4nAehoAEkY1Fw z1MVaKk?++S8uwYrNT}i}fT;CqIIk0uxYH{myJ65;+jeocpqwN-{-1WkvU3P^&s%M^ zXKygjg0!dxzVuD7NXrBeTVxG{IsGzygOAY_4s#!JO)Gm)-SNmzjXC*oTY|xaC|OPA zu;|Zd=Cf=6-G#)okj}tQj&j>F0A2aijI<KaLtB0Jid14+W^||zhjfQLgOP7o7-P{q zJ?i<wL1QYse!;d#FLw7dg67;yo)3aBa~tc#TMdqb2h{hW%1I(mt5~xde{6}P4|CS4 znw>e6p=BNXDcCnttEJWCLgw2OhV1sNHfj4YowGd`oa3DPffcz+FVI)=>S#bl0D`U0 zHooxe4BKa4@33?u(<$antT|hs^h&vEbb0ZhDMw$AzWIkjHisC#@MwDL?}Od5G}lx! zKm{=ETbH9+9(@h=3pau+=FpV8Q0+KAc-bI?6ZnKy<&7?lOL&VE*hIG>Q_K(ULP{wx zd(-gyhcATC#e=-ta>_F>=hnjUDUe<+pOUw&Em#%DqMB%Mvntqr_LB{{DT+_nd`TVC ze^k?oRjoKdvPEZ<xY{h$-}-pzGQ%Z;YvPv(|JSGSz$9bnIQL@h?>A#!c5D!~9MPtY zjsrENdSVHj_f?JCm?%c{ml4Pz2(4DDz`m9mFFTqa7nq~Up^FQugR<<De8s8GD@^w; zu;GgC8QFHb)4SMt{zwh4(6YgLemC$=Vo1{!TS9leSc*n{Dc+%XgdcB`BletZ&yaza zzF53WIVMc#s<NZyZEMA@OsbGpoP=rPd*mM}`~Ao3{n+yQGWJwd8-if3v{~ki77Mbe zH4AeYhgn38ArmA<zp8oBjg}i)vTdS!^EWz>dkY2-4C;@F=B#3(i1(jlfzYr<jmk}5 z?12J2nJ(QPqX<>4!Qs4mxVT^)zee&r0z#&3Hk@8gmij#dT3hH0_A4`2%!PBj(hDDP z5&d7{`zuu6$Jg#}Hr-tI-m!MeczXZda+7_n0^6GCXt%m9F18LYv|w<&x3Z6a=;Mem z9`Wxip@N(C5Wuo=$cpLI`vF@0hBvC5CabhMra+T)30Ux?w{nhG;3j=3!3CeUO!5_U zwin*4x7nmn-ZS|#UCOne{&9|QXm=khHwK@G<n8*7e?8WyjY3z$g+=(%-JNbU(g>uC zV8%d&ES{6!u#Ht$;Auzx1Lfm3SkvzYKy<Wm-$7>NkDSV~)ooqho{>jp8zJ6D&zTWO zZFtY#)5mWX@8`&H+^Z4%4OYPKQi&Vh{@=FI|J+=`6z_|nI`uxV*)z{G^hihmBp3PO zu%6zEoR|^Oo2P}o^QXAb)hSU5#12v(J;xS((}DEE#(yF8enHFMvuIAT$TgjGxGVG8 z?S>(f2uFKfKOJaKSNP0s0~Q%5NdOB=I)XHy72=kTMUDAoB05a2K{iImi5;Y`|M#8! z?<E;mUM>Qas-t~DX}Qyn7xWMuYCM6qUIPYyU;zMbVzWdsFR=`5GL59dv<<+WN2mi0 z_DUz|npWEO5O-<uiHS(^s@eqXN&&W|ir4|=T_iI6h>5ixzZh0mW)O#p$MzcTxr6>s zz53_V?PEWdqmwkz-EQ3>(Rpv1JB$>^111K&-_#*#b6B&W$=^U)tm?&q@TAW*H|-&$ zEN!S)Q!~3Z5<!|(k+suY2Sy;RTr+CD$-OWUod;^St<UDgd^(BwLwJTcn|0#9OslTT z9<Jk1JkB{HMhr}qnZGg5U_3P)@&4ID=1Z%Okl|9^-rsY*Dz$_RX)m~A2u6mn6XmnI z%_6)qgcsX$=nfFxI2!#i-#UB<?pDv9=Htt=Me>^R64ly#&W-Okd9yLW4!Mm<bV=K= z&@G0Grf=MZq_NFBMMBk&=nhd1w%EDiMlsq_M+>N@>ks(B0Ir=`-Yj`0-sQUpr;T8f zh{aT}25PfoDx1+}Y%4Dw>tL|tPJfXEzkOu3$9ezpVp}#$mH^4rDggPT4o+&o>-MJM zJ&3Ya?~`;$Z{yQyzLMcF!tK;c%Jy@AjuKG^4$~sevG;y(%AL*t)&7?qhUt@y;&9t3 z+1`?>j*uLYu<9fPKQi+<*G7moR4pLHd@8(;uB*!FfUqM;;)1QTd0A-lRHXvFnLVA& zm}z=-RJ^|XRRQm!xuD}09;P+UtD~q`o^HjPd>fw&nn21ONcjbWrOM5W0E^uB?cXMz z3mIy^=>!|3cF+i47ul0RhkfXdG>-EtfNbUSL*G`O73T=G?_aB??5wJ)w#t$DRw<-4 z;XRXpE%qt?AbEj+#OEH9+$iQ9;!rbsw&$uPgFH}4y8RUQ$1!0LR`^?l+KqnGVnq)^ zA|EcJHG<~1w>oT=u7OKhZYO`4ShR_MzPpvVFcaFObl;r`#;56d;`4#i02xaC2`T=5 z{uuIUj3_xm>0nDK5jniIOAwlXEz4>gstPX$9|iv6Zm(ffGrXG&!d{K2r)L)Y@?~)3 z(XbaS+Hm)2FI4hB3-J;m*IQ#u2VA5Jru75|$tADcoTegyDIf5<7Q;LBp1Kr+a0_T9 zIN)38zztfTf$@$BE%t?2Xy#Kt+V`i=m?uyMUy{wJmPKu_IpT0b+Gxk{$h4Oul$}{Q zG6KyFb%ymh2AGI?&sS0Sw~G<<9uM_jr6!wB8STGrPrBfm=0<O=y|olwAI?SlH2FYm z+a+b{3qfdA_@f*o8Q-EgZelecz%k+Xclc6tM^S~tQcX~GzDau}I=>F8)DSF*ZAGXp zAUmx#Gd3xssNFlfp@_RTJvRc^530ci-Q}{OJg7t@N!4bKS5a6XbjmfSu|iyCD%4|g z=7Am6vbXz=xE#K)KBS!Ke|63O8ZbbN?gp2c*P70Dyw9TfL}#sHpmw!A4d3zVT$LX- z>DmFy36Fx7hBf7e02uh;)`mKrjf285{3Ecd&!f8ah~NsX{r0u<3+U%V<$qAgR<>M= zNVsPw7DFSq8dKF=Vn+qN$hD2ji8I16Qk8m}sjBG8jcL~9)N8QdYd1Hl1Nu;<{Ta#u zgI37J@6hyd1Jj|LOVd8dZ!MGSpoR^y4tyqSfbXp&+}3#8z$tHpSJn6=(o-G~%Cl(= z?x^YzGtBF%QqB?4VBixR^LCL2^=vjcmTO%kfyT?QDC$5s%_bciP5^GfvMJi9sFN30 zZ{R;BQWBTH1ya_=srM_u-L<CSa()55d?jOsn(<mqiEyGpml$I~4k5$G(3$dp%I}m= zvxmJUSEu3xP%ghMrlywfetVte7+-*uCq$LvOxsc~(tfRLH=H5L_41j}jJ}gC3E1>c zAqY=wBkXR#df4|tgQZnt<YVY`IQN>UE{<Uht(cuyjb^l$UQ+r=4nyoi*>?=xFuG`w z{8?A(!%lBVNz+h9Qtyb?n<9lgkU`ngFl2Z|K%#-Sz}yYem-_ET<J$O8idT4jZCD4I zo@%jUDK4<z@Ymmi;b}8+ad5-c5>WT&F=UqiiJW?y!__g7Yq0V0?syUnpzmB`M(MW* zEu^1$=H3okurb(OxegLdF32v7izofbTJ_<SO()+G#~f0cWD0hDF`xOcg70&n;KPp8 zA}gosRcC*Cz3afc`q0(3)8j`?vV7{*<M%r6PjcQwxdd2iH6?Aa{-^Nrd=HmpUKZLp z)oDfDai&*Ad(<k(4|r9eD>p3^s-gP4Oi|#6!GVzGmByjQxEr3u0j0w$V`;gRZl$S} zn<`&{9YZtQ6k!=h-tGNfv$DJO6F@Px-x;_{=DZa^MSgh-vOo08@dC9rhLAk$tSSft ziA8+H$GeE#nsk(z<>2F5Gc@92nzT%EMN>`{!zYk010jpCe)_c(N8rU-lNSx-E#q>B z$uxprJh5h$r7$0xjs^dTq=)b{ORBjI+6cMILSOLF`wkn|O+M6e0ha5Iwa*NaiwR2h zpW`)xYo5fHVPKp@1Fi{K4j`%euOc6-Y+Vh>{f-}vPUx=C=i-Zn(co<@icFCywvb3z z!B#O9#ss0z+PJw6SuCerPQ}e64XvZetZk8pVCk}8%hI0mq%WSiNg~;k{>PSz@ME{v zO6+38-k#MSXZ|zsm^q<ekN%HP|6hAD2WK1z#&w(wcYOH{HKiNvg0XH`!~pdY5Y>t3 zXjI5eKI+XG<{1!<Q${GLX>}iN*I+==G*^MA4732H!M`;b_iI!jbgah*wroKm(+UaE zHuQ?{r-)^l@Z|E@QNaj5-~SxCU%K2ROqk*>MpKEdFos)<k)9j<@u$K>makq~)~;+C zTjUnOb$QjOAmnXOus4u<SpEXT^fK2Wa8(Yc$?3QFra!OE$9r#267_JrNHkc>{*q{k z<A>|gGSQcK{yHsN^*a&xeB>;Jo3NTHwvny$fsE6TUAsVSoIbTM%=FVq*DH@1IJnXK zq1!wXvWwtUkTi~&&1ra^jX^U_Zpyc9*bPW3<Ljn6MH9czx=y#YKy6zx4bViSjWtdI zKQVy5GBwVPvc?KJx6Ly=`o9ybbE$7%y|%w#P=xnNAM~n1OJo9u8@S>9W#~H|T8rqt zU+_B~rC?0`rG|ngLHiL@<41jSuO5^#;>9B{->5x%$ISQ16mhuK)CoVFq?U>oWl-S- za*?*_p{Z+n|Men+8GTu*fj&8Wp^<0J&<1&6i&O1VutpYAU}RWm<{yf-hrt{}@6FNZ z#wUM3o+=;&g}}aQ-z=4Fz#Idd6(V+1S{>uOL|kg$o4PhhiEsYro$Xuuc5ZFI1Ta6{ z?lI2H^I(X+=v(49`dn&d=+RMhwKK%1VRcojngH{zfkqL@UTfru?<^T#n%E0NJ`GJM zo^;ZDtBmj6Slc}+_D*==cu|ORiICPedKjL`r&u3;z}u|{VMV9j#vBbmv!PUHMVmOS z$MY1n2H5EtsVAJ~8C%r7=!5pVM5t7oxF^ur`+EplBj$^jzIE-|8>yp{BR?uPrz*5< zHMGLq^3jeVW+t?{kJ??!i|an{HJ&%>$84alrW@l}#ct99mY{TSt83$aV8!em3-TtR zW0L<YAmCL7xw(^fynGwD#4psK*Q2IgAqin>t)q+EmYOH4m6wsoM=X;x3kjL?9_u;F zy7$t+D*~khRr2Weok))-9=x1|jyjiwe!fOi-Z)xwwzaPH#TMp97v?V2w~GCTeEwf0 z|NiM?PlZrDt_q}8h)h~UC;Wmk&q%X$)adXGHG8{$J0RmI>=-J(fqrqkTl}M3%NCqK zb+5y42W3ogv7{<V9;S*lHhaGKlhL1}TZ2}b78&PT491n68*ka+V%Sx@Mj!+NOugtV z33ejC0*x^vr!jk*cyee7^4xP{^m~Zk!dzAUe35xz;Ewya-$-xx>Y-7wR3-7EHq2tH z&O7QmoSJn3fr@}dIcLEXVFzaYAv*67Dqk#`-?!JTy|^q|6!_cfbu-ebjD)7NNu^G; zaua53^s}61s?p3SWm+^%|HKK+*0T5Ch|Ac7P*s>|a19qH)1Z8{$sV~$fr*4_xnOkn z8;$3R7fRH2(jTSap5b!>uRQ)yLIQr=ks4MJY<b3TW0{Wl5!PSX$B^s-Lv!n6OU||X zC*H>v7DJe55M)LDU<#?Y<`n{`DzKD#pasKKd6$0MCZSL5=@)b?1!}+(aVOz2w+`t~ z`4tvAXpVeaHkO`NrZ{e>uYxYHFo4~$Pxu(q-*C43q-$fQF*qRYt>x~5S1NQo6EkL@ zmu^tbtyfH?@3B1wp3U&5{BgQJzp~CHIGgu%a(BHKaY4v)9(qa;M*B7!u3y1;kA|>8 z1(A#Xvdz25KN~NemXwkx9DeeV;S`x6fY;8yjxmUHxnI5+WpMT$fBY$p$>{>C@mEz! zLtAE?yhx4}sr=G%G)7mn9NuGO)L3scfTqfEGy4zlV}D*7k2?uf&s-U|`SQWRiUWT^ zj0!Ag47qkZ06kP{#Vu;TM%EUZ<!&_=xUz6h>{`jSI@$O+cPJPlrN-I{yHzlKvcFO< zC>5M1EG>N$5hc44ZL^|jUxS)I+_`7;B$@gi#H7;V^ReI_Cw-G>usp^MwzWE5Li{E6 zAVuux#iffi#_5|l>uTsGm@YfFEq*(v;}B$iGkw3-!_s;B0=xaM0$-Fo{l9vfFD=Wq zPxZGLtLqky=B{oo7A6ko&zwwcuk-LRa5J1g;pKkGFTnrr%lt3@dHK~V1}+5)M=LjL z1_5s1HB|;K^$+hY7`U{RO>HgA+!(mjK&EbgUy*Y#u>$^}Wn&Kf^Ya%k7`Wb8*jQP+ zG4OB;ax-wrIl5W6ymzuUakIGY<^lr#Q_{)a$wlqGiJ1k1;Q8kPYoGs<Be3W@3l}qs z_ii8)dj_u8Hg2xK?~+aq@0}da{|c-uV`C4j2K+o<PRhc}$=u?)sOa^7zMDJ2RwDv( zx1$l)c$Q?<C@g&SU|Lj}(6l7#euU#4q9JM12u?5|<5Pn9Z|}FK5Z72gCNp$N+$oKW zxlh6rb?u>i(BsKBUw&Ac-=7RAimd&@eVxfkW+u~oDR&t%vr&TH*g$U#_pEU*AV~Q~ zM?r_9xdnLKrVvOpoanOnrT>o~$G0QsXV)Atl(dZ}f{yz&5I3Cc!d}J8a{Uc3L{{)f zFiM-(Xa|~;GcY(fh-YYA5F~5$y>#v4-$&6M-|X-LN!8BHya_LRW}Cdz?5^2?`@;QR z+VT4O*XgNZKgky<EX*9bGxO3VbQMLGmt$YT?$XEo^EDW_eV4;G9y>ul+Md<k>E=Jl z&Yx9D6XCdGyO-T%s`j33-5deQbGO2HuHPy895*J~ap!t?*1vD=-y+BdGl-@s4Kn4Q zGMg<D<=V36J3jWQMW1+SN^3TVl<lr5XBja*yiU9ICu^yid-RBjeb0aG!6cDgnps!+ zBZ*s=2yR{SwMx8XMLyjfC^zjeI%4;xpy``R>s=@EudeKorRgb{lT0Z&59UhjOOI=x zyBRJKo<DAVz2rnb5a$Ek|Ar4Z;JNar9c4@2nV`-~87#vXY5j~+nR%ExJ>^mN%a?JB zEbQ!b8$RsfoYC(n9(DbqU^BS`mXka7G)%R}`;Lj-I{K8%zOMTz>enI<<D-|!cWS?y zDTznwiybdphlTU~y+(pt6WW)LCy0*pm63u+bne7Z@l=?z#0z0(Tsi<fH1o^eUijAk zBqF~LGyIIRV}%v!BZq7^%7;DW#rQg|XX*yjN4B>}IF^*!G)F!I$&GUO4SO!^nVtP; zz3*IoOL@vRHB;-Uq4m^e0#h32^grLSjECf~f|xFi#3}p1K)sK6s`V-7a5^|Z{b<T8 z3?N{d2$33Fb`0<KoC)!1%QkTZfZJB<QlHuoMVWrtT@Ueyqv|{1Nrg27@~Umh^zV@r z(SMdM^Lp?eP6jAZevQpklyU#Bee|(KhI#HMowhMox2ijLcF|m=-QM!LV7w_3`QFml zlQ;6KER$dFO?doSTRcyqlkyK!a&@|Q6ml#q9{o`^0sHRgHN;q|Pip?FafC-nb*5jh zZw$K;8g1=>qSLezxvzOsWtro|tXzt*Kp}o)U$kpsi-Wi6J3T3;qA3jJ(Il@X!(&8! z1f5}$6=6I6^k3V%<tl5-B#~PQ1D6vg-n|H4R}v~Y6sxr^-1H{NuJHug-`J5W{sj}D zEUK(FCp;s~wpK|g`Dm}u131l(VHY6i(b4YDfqK7jZ8+Yx1EU6e(^QmgHs#3`{HS&( zj;N~Szm<xZ+}{1*Ju>%A&pf}?st9U=uu<djf9b;ZgXHfvyF^Hn1jsp0#_goA;dWs_ z@bgt+0&C-(r(RP;jM-;Zq1YMuYKTICeorh&;Qh-7DMWEs{K%9i)>`!Byh)jU#y<*X zvMXSBtDGNw>Drg^u=mmXtN$*X@X-l6w=ZCpc?mA^U171dXCclt!EKjQ@Mpwu->2Ke zIjU(?Th1}4bhX2*DX9M>QTLR(B=4tfhLo->MOl`l`pNB^1)Jm>do%}clY}4JSbns8 z8finc@jZ}E{K%qp&ti$F<>tR1cCKOSqa!+D4_rnBk}-8QlZRU7<WI7Da_GWl>Re8j z(i014v8h)LwWidJ*$)oqX6=6k)ezTpT>}4br+?lY*#+n_?eoZwpO25ekIA(X-Xf+* z<zk}0<oK_83|x*E5jSkC*V#w&BC0=#p4H_#vzBV39RFD|!<Zu76h(lozYJHWOmo0; z@p4Pq4p2$cu=CCz@xu6iY5cpA_~rPDJwblu$F(+lTL)&kKEi_u-$1!Ad_YHLxjDO{ zLI|4|0A_mXz*g66N@YjBMCCN>@2k2jFDN4`8&E{NqZXE)u2+7=6=ja!IPEp%n}`!> zrQ??TN&VMqir3$s+aeH?+^cfebm-$a785o_p=NJkKXN{ryeeS;wJy!kk9~OT9cUXd zxj9vE+4RompHl&8o!9*XRzTrp#9QL?M1RHlPU-Sn6Y`>-X35#6r(lDM(3eXkf}TlD zMx~NxA9?n-t190j)ZZNr{+w_3$$q`N$<!$uH!()sA=}hhI&C%k$z1r(0POh|0aJ&I z?UjgofBnjw4(q$?P~#6+c8#3hL*A7V+><z0kHF)`!<GqyfvKN!JdaCTc0N`9&LNok zfu+BuF%q6tMJ_mOC*`e(iI$+q#J6Z?)GZIt+mweCC%jHyoc{INl6?E+#>+*je;n8I zSH7wfL`#`n?KO?}4h#g_GX~ezLQBl1$9#U#O+YfN_<0rYZL%YXrdHmV)3>%qD=M-k zU8VSSiM#mWE4S2Z6rs{i2gzcc&nUg)(n-9c8BN9BGqLUVwmaF(XKzGSX*O>ylCC@y z^h8OD|8q;fU*7jUh-l6}(aq|bRY}P!?ThY6Z0e{g2$q~W74kZ>)FazqTM7-oGvstL zp1pI8e!G%>khivw``(wZ+eKM3R<x(!M^C|x&vW~)Yd7HaC_kcFv*fDwZ_8(yj&Hh& zN#;IO^lu^g$0^!t6Ylo#z-GhNIVL3a$9^>Bo|uVPgNqigji#$=W4vZn5WL)vyZP+p z(~9w>L#G7L>w9L+IfGn)`5YRHvvT`Zy!!OG7m4!9eoG~Jw0#R9@#d&0eeltDHn03Y zZsVVM-bMIiI0W3k9{GWAh2Yj>xW99s?ttirx#Y}u;_m-iFBTRCE440jp(Mq}ck=mb zqrWFB{_2W+W95~<r@_j+I@Be_tN8q#LIgd$-3UYwLGaJj|6`E<_3;0{`PKdj;qD?0 z5``2E3qzmQPqPQ6!V$BhgM-cvp5Sl1Wz0$PNHltl<xJ*|{C?Diq|};Mgkkw*PPp2c zMMC%uH#fIv)!C<Ks&NJa62|BIs_d5bs@3k0?C2x5B~0C|lOaaWK&8qQjea)9H=~e> z$8U!O63(NcJD69vM>ji<JhvWH-{8F79VItSLmw{H&csLkb1uOiPqzFXt5h!VRH6BX zv4qrZ-%zzAJEpFwB}T@ZVz;<&Kbhy7j4A1lK97@{vEn<rKPB?)m2XxP+hU4CMYs=y z3y5)5)>A$<LmP_>w$$#V-Hi5@YAIqF4})s=Kd;9TJp1~DvCP@l)qz<jNna{!o|uq@ z@UbUL($K+&)_()2mvq1|`AXfzE1OQ_MX&x)th15?ye5W=?#Ma*yh;%(J<;<y)&E=J zXSsVUmrTD!w6y2<R!5pUxUiXAd6eJ#);J}J5s0AlI6xR35U_-MkT#ki#1f35FM9UH zYLH1nMpggMGo}~6ga79{OP^n|8TbD<csJOag^E$kiTn^#7`L2UbegNP!W*c~pYd?e zopISwbBQ;<?!k)(!MRm*0rpmNJA^Nz-?mq|neIsO(q`?Mc0D(Y=zrSQwQTNZa@(SZ zf?+5AI`aa_uTB*Z+v{!9vTn)`@y(1dm-nqnzh5i8iRh}Kx0WP|<gzxAQwgn+{Z^N( z_;^7jo279xav2ll&Gx%>w~L}cZpw}Ew(4@iGc6tcClIUW#RAQ5VqzlQK1@=mtmU7L z#<=J(4NDCP^tU*u_T^O5$WpW$fc-z7ftNG0K5gmS4&U`S*lbN>_D*=JsA37?hz8S9 z(}%NAo-CWP3qckHA)MD&)oBujCi09Ta`Vz+-z~tyDfFQqxd*l8>6{C=qVFEH9N$Ap z(!U?n=Iy;p*A=Sa7bPj@DyUUSRT%Xux;N%i@;!5M1(0_ddt7(<QP+%-YVD3z0XnD$ z;jgXK<dfqFzpVg5P2e^f)hkNpX?`axS)G1-1zP;{9>6b4I*{w!L{zSNZecI&ec1VJ z#cyn4(X+bpClRan`^}16%?%~jBVi%dzGm@7UY@G&-MC49^37*qZHNb<L4Sw~*euz* zhh(eC_N2R#3C6I5qnUCZtNY<}qYvbGECzRf_w6TFsoeC((mFs}6vO#REQNJKnq7-* z3#)D4FtU1BzMzO5M9jMES*|J<&1Y{1VsZAx&)z4+@R3hF!0J+v`;#Ttu^YBgWEmVi z%MX1giqTJMzY$%XPwFH`$eq@B%6Fw&9WUO;)izT=uJvvg(RVzvjJ~za(?Gc7D8&oc zJRnhvVhz+WT(qyo-0t`@l<PwgN~=y<l;tQmj;fe;{uaR5w!joHO6}Ia>Du)+3Hna+ zu{#URy?fId-$lOnN><J-E6)NUt$gKOJduya7Pf|XDR2c7v{=xjx@;GIq)$6t6c%#y zxrUBNlZ$gw=XbnOgJM!F_wQ4%1BajAyC7U<(uUvDyHhY6u3<<g_4!)4z-|5%|3IU` zt(vsMrw2UW`i|;7Vk?P16RIiOQQOdMmAd|6)gv3e8^lK1Wo2<{kQ-1F)uislQNr=S z;`Jmg=^sxO_Ne7j^&@t>=P`5%atki@BJbA&BW35F*T2GBrAx@W#;|+arfARrLgUI; zAzX1OQ5@2JlUH3xN-p<_CpR(fBW>c^f*pAE$S^lYy1Tn2p7w`}V2428KjL~+I9WY~ z1CTE3?84k<%aetkjigQvIi!EZ<6m{%6?GTXK1p;s{zu2W<kf$L<q8V>sTLDy!hfD` zrt&pHA_R-VlCqlP-12bzwEP;OaUx}}POg$R!zFrS_MK#}CehsZi81ZDPY+=<8;ZAO zfGf}OuF$8EY?h{FNq+Zv7W+o3gIH<Q-h?-;QToq@L3kT(vRkzDZVujC;Z9`hb!3o1 zsZ||+dt#I9uvK8vZ^r(Enp8W~+6xUeIX}5?To6cA4VXMy>Qh`~cf63n5SO&hF5rsg zph---^wt~H;cbh9dLpa!v1%&)l@)<+UZwJHYA~VloSJ!ZvTjq`+wso~__&~4A4Cog zzenX^9wdH66u7L`lUpCQIJhjU%~-#h@<_SC7O6Si@y)tBUCc#<(sxSZW0dNVqK|=X z^k=<p*!yqHPh91NwQM!7kB<se9a~H<qq!sJl|HTXNejH>Q2ih#O(bIS)&-ZaB%q{; zrz?-(*|6JoWt1{L?Z$-)D_u`R)3GS8xVwEGf51%IM_1N}8X8l5hnCRM`HjxhxPPEZ zNL5LEcg?XQ6>MfA%2l~s9mfG2Fx7`_s~#8+X`d-A871?oH>|o7Y?>gTXc5=R<@xA- zwe`?2Mb~SmA)~kLh`{ucEAKj$sS_kP9lX{F&K%R?I`&mA4SD@&)Y`qnQ!84{dlzQB zMG~=Dh!@Os%-YcVBEby_Dv-~h0Npd?B9-%ktp@P>cat|;CS2iQ3buxP9paMEu`E3k zetIZvvEt|aOtHBwL|HSu-D0M#(Y`5Rg=;C-<E~`z!+zSMrvgUQA`3d@7|@v0cNxBd zsD1eX-D^`Up?Bm)i2^MQ6aC@M8Wt)-BHH(e?X)D`{<d;(4z}fUdP8@;Skd5C{^zL6 z7Jap@rX*D%N}ISKO-B<>N|r5tYxJ{>wjc7<*OlY%OnXuKPOjU|GQFaPdR<voHp+<+ zmM@@{OQ`CXDop<~$(L1CPi$rJbtzY)>@8d9&svcdh#H@1!_fHhhbhhMrrYw>x&cHu zU1#$-ClBsL2uu&kf-fWH*TgDa0?Wot(`{?W^tm<L(>+n?KFUhqCGnr(O_IEN1(_Xc z=>K}_Ccl$6Ky#7^x)PD?ukIHi_;!rur!IrtJhOwQ#Vh)i_0ka7*9@cByJ_Bo774=H z&Epswsv;t<k<y!`5hcb#kk`zKHrmIn#mz~r<`_Xic3FI0jUY>=Y|QT0N%wb554h&4 z<bCf=8zm*1rM!{drz25H&2{kjz-8yhAhY_h6x=pRl=^siw^~Riy>3cB0LEY%$jtNV zgh#M7I?11}GE|k+m4`FQ;8|J!bZ>bmUu;-2oXc3glLD^@7ryQtb-yCfpwKhieS~Up zCH%~6Owir)mnY__KW|<|?qhkQ3Ec?|pZZl&%jHsy_@_CCe0_9z1<tPu3O0^Zblauq z2j-UtP^x1`%|*&KW|V~V$#pv8l)<JX#>wmy>!ExLQUB(d&`$}3yR1cF+B9YOyP7gX zG-v-$aw*5E5Os2M|0t;86$`G_Xw8nxj=Z~aYRNY?ou+Cp89BEVyP5=Re8%jh`7o7y zZ(k#vg{_$N8Jp;dXQaivE*aG5xkb;j$N8EM#Yu~C8F}p#)HWORFnP_ac)cjfn88KG zXQFD@RwWkuJhsa=(F#Vw)1)q(Nh)L~CmO7CaDyvP*o>Y8>%B{YG5@lr$~5$cF{qL- ztC-(xO$LH~%wx6j6hr#}{r&E-S>t*=v(43KYDSQ>zFCNTClwU8?lR@0g`?XkDP=gO zt_?~P9l@|SNflAXa~g}16+eE1UNVqMOIX?a(CUI4Wj~CH`PI8ckP$3h_c?((A)I__ z7FUdI`F$*`{^RA`<Cm{SaZj<8O$=#@A`cs#myf$71vG@$5Ikq&S>d0DTtUC4E)@!_ zP~?Ri`9lmWzwRuQ@6$@DS+CJPo0q7D*lDJ``tFvxRN*!!P7moc7$3LTb`{&QcobN% zu<aS2o95w0sa@Y1wJ^+8^Grx%H8xZ5`R>drOdq21BJJIEdZ9^A2e+Ww8#g?rFHsv| zm-EMM{C6o{9@liW;npudU%j)V6DjL42VQQ@T1i&0`ZP82*g3XgA0%OZ=S_zEM%>G| z&R{ZlX#G;gs^!T+8eAa9yN~w(gj+v83J4tN6)_3&idu`({VOjOBPoXFW00c~YV1jH zQ`5)MU^P3E2;ow@V-aO-bd#=swPld#>K1`vZe4D-dDD{#PZ^(QYg~AH;gcW()5YYG zV$4YpJ&qrJcjijZumRVA%Ov6>GPjJEmnZolBIGe&Sjgn1AfX0EwQS`o@(<O6U!<+I zut7D~oHtJk8`!M4NV@{>1+4yjbuyBfS+{Wo&`{BORRx_``o>Hf<^I@33-ViXvC)u3 zY5C)rM8+i74Wk;<{fQfr@;|!tEp+QWpkxCqN6;VfM5bLIg)Qb&5-Ijp5#RcwT#mF; zuv7YRfF@2pR<XF*G9B}E?n8FgYD942w>jmq=_@38hR@W*AVww}>GAM>Is1j?0^BvZ zw8(mflG01Z)Pk(gj|sS*Fm@C4l`_+Myv;pMkow%?KDzD1EQh5Q^O{%3qqm+fmyi>` z7`=w0T%Qq(X!KS<=7@V;(;Q3LK-1H)BHm^VNzo{+?=4F)Qb(y#+4UFQobV!y-FZH$ z|9@963i)eX%`{tn)b1U<bO`w_ty5B0q}+VmFMOt*aN?6MRMzvmEY4r*E~V^Rey~}g z?8&F?akl)7->vp|AiY<&=WUAlid@Gy+7ux=V)7RTsMxNp??_vc-!dgP-~BPgoIXFQ z)ovyIW$3z-R_bGcRdXSVkrj`TE0J;xa^fpwf$rbN-BQFzG#5P;g7wt-DSv@+_eSmn z!SM0Vo_7??Ffj{4cz;xVoN-Kv&FCjT`y@&n&-ugxos9Z5R6EBnru^zR8s9b<6^I!Y zC?l@pQQPUvG_;`GBhe8ue~tVKN;XYF5g0rl+ITpFchPaV2L4Gg7W3Rjaq5qY+uJ1R z(q6wIL6)h>-5*)c!;Dj~EDd`8q55n2q~=h@b*j(JeRB6yD807A)0~`sdo8Ou2xJU@ ze|}R@X4!w=Rk^*6HegLgIVAPNU|J+cQl*6E$jZJ4YxrFwhbW{Y?8qdm5S9b;p(E4M z@Gs;Xwy5;@<BiaWh|;ZCQNB`LPY05a0#t`@r&~Y%nvpI&LCD+>fa5ID;8O-QfjuNG zwRAT2`(uq?NULjRpklPhf+4LCadUNlH3D)a+%lne%k<Awu^|v|OcFJvvZ5`>2O=Gd zd7A;XS?2yB7avB$<J<E;*n7*UE~9U2l#~*FGzv&}N=k>)-Q5z>3P^WIcQ;6PcY`1y z-QC^Ya34Vb=e+0hJMK8+jyr~fFT%5Ptv&ZzbFSTmE4A$RTD*TAkKhzp<&a^KyI4#_ zXrx85zwvw<Uq_z6PwV{z9QM%<oX6+@qts{<s1*%tG)fKm8g>6KV<9{~I>P3f(dF+K z7k1kZlqT9m+g~#-LL1q`zgjexCXwQ57!~QA=u{R^4Vu1kR#iDLgT__WCP<<Y_*BmG zNtS5ML&t<Y2v2p3IZjWN!M9Aod#~Y5tz@~VU3yrSvT*+roVrWeG$i<}Vp>Ew(e%5Y z&xe@jG%4JlBx!-6f#{K0>oTTv9_Y0L;98c)M|C@&BV7)E<vnagxh1+na=o)a?EHPI z8*0<CQr+Vsev-^G5{A-=t#(ZOXfC)6gLe=OVvh8Z0CHDKadUle8WQ>sIXb1blQ?Vj zJn<AQbu89_2|hMi?A$&$t3?6L(FYu;NEcq^p9Q}=VX|FNeAbQj<Ey|Mq=y`JM+Za) zPepnwi|3}^1?GPD2&M}ACWxO&W)RUHF~d>>{rR(JWg|?9vxUDUJpx>7fb~U8`7kbb zT+X25*eaZ>s+{u;vj&3!L+*@LD;C+}`wM*JA|ZXba%k*K4^>QpNN8a*N(!IWEy^`& z?drI<U7iNt;f2A?t;*$Z!=Sd$O80o*kLS>*&fSazHD9$6EM;gyQ&Fydwu3bt4bv~$ z@q{&u%>>(^L6PND78?ZWca=a(f!C?a>EzJJhbt6I%i_~|tjqnG|BYJ42B6Vzgz{i+ z7ZZF3TYa(?wX9C5v_@pHfMJ;*c&MNZ(A9BHLDu;nSd%9vBuJ&0;g4ZTs_#&@QdYop zkA^l{ap1EkvRLlmbi9gDO&PB4m;FA~9GRT4X3ZErEY+v<c!Mrbc2~IROCl$``28~t zc5ukT7Dtykm`HKh{+2ND#Jvy=TseoHdFugMZIHvLT*;?R|2M;N4&+VdIkdABs%tCK z!BQB_MG?q%3!VA>#xuHJP=FJ%FPG%<!!{u)+SDJ_(POuN>i{Qdp?l-#*WULrTl$FB zNcr>WQ0<IW?ciH`GoCcqHqwvPzs>e>-YN62vW(5PSC<=oLJdlpQRvZ>b*aBKWX22( z(&FrNarsox3o)}6!Ak0$U9u;g>l|wu_E_mV-L>is@@bsGz?v$^blit^eP<FW&V{b# zRZkEBM{*6+1SD4gyKzFQt+vj(^3?dFF8DSGKKC1OdCxjkbSvI_md}SVttV6)2cP}p za0^^QYr`qsd27Itj2UmS6P<2vIS23!EYZ%S^y||Al=@lGk2`E!Y18N9Ptt(wfK#63 zR{|86u`Pc>Sa@QLb_bWu-?+AU{vOz5R<?6;H#^HY?B69KsUtD}u)k&M+sZ1d4@{@L z$XoftiV~!0(!#0pnWTpiBdneSYvo5GLeYS5WzTOe19uT0VmzB@)=(4ux}k_yv7w{F z*Y&=^jvDF0(*;I&0<U$fMZ3K>-U-%?KS7E_=|uh-vI?0xdUW<s#YJ7~9uRr!%1>w> z;oR3jdQa<HtTxeI0%ffHAl`dgR{PG>+I-hjgfxugWRX7=(n8w4YRywaAj8#U>Z8e= zXKV`Q*Gp&<IGWL)2Rt$Gn=1QGzp9$yS6Y@X^t0_gj6!Gia}yLeA1S3Lh5(OWc@-46 zOI7UaI~>GIWgR8f_jB=Hm^yC%tl;L`XfNZDmLwaF9nPHhg;_mr{$VcWi4<8_OJwky zBV?#>+wkF+WIc=8t8D#Zg!b}>kicSg(Ht}vf(psFeIDo-*=wYCHC4@IrsvzmaBh&$ zKT5m2=Hs~dO0XkIp@{X?P)w+kv1#pqr?jZf5nuyk^jEjW#5@d`_182#&!*Qs`+jB- z@HS673XG;l6pQy9falyA($q&97+bG(!wd-QBHB$RW3OSl4Bf^eJC^Ns2+OXj+gFlB zA9yanS*Q3^in6<eK011)*qh%DMNJvL9w~N?858om{94@4Qiz~PkWSJTS3%ym<sc|d z`^N{Sy}@gJ;P=`*^nwe&8bp8bR6{71+V_$R?iEFC=wtHz>Q#G1m63xgnJ>Q&Iy5sX z0&j9wo^6?571|Qx2Y2b>_o*?ZV4M!(SV>Z}Z&oDTnBO)Wz<8jeMB&#~$EOvD!Wo-& zC0S|vMr=llwev3HMP=L8G&u6mL+?m=p)tyH?>-o>X{Z%lNtg(wQz<2B2@V=W3&^cW zd)`ecJD1+ZHqq-dk<b{c`s)WQ)^;b!>YB?nVT}plkV{TC@OjKcD~t9+!#Y-DeqSb( z*ZsqddhX(oY^^;={wHC9SPDaq0(gwjZ~jW+Ht|L$nbF{(*_u8KqYoAd$l0C~>$JE{ zN@K3QhQJBubC@TVSVgeC(nW~r5wOF@@1jj(><v@|hZaCbp85s#_0eLbS8!PDV_M?@ z%0(V$x$0c<SOh=8he@SNNe*W|+wVs=Cxs~VVFisU&{WtEUai^W?zeWM$_(%-Bp!?n z!k7!2ymWwM=j-V8sbnzBlmNtvj&=}jL=d-Qd|5db7!SeGYcw78n<$;*0j3}n!Np%t zy$5)zDfbm+LeVvle(LZwp}cBMy;Ph^1-=lJUVPIiVWXg%o}0CYboNs!&vI&5s8=3} zL^3ItBCM=DLo+r%(=D_mB_$OV6(#4(Vjld*Q}#7e3YGGf2~__kHJ(z}|EvCaloOUl z)X&ck56=&~kk=_trLUiHM-YhG64djJY6NSDk?!y0ME)n}J|V4D&<4-4;>*?klw@eF zkkE0x!aB<snjLWIW?PeEVzBxZ$#@FCqVnbzB%aW&;Yp%8q5B+Q=gZvT<l)Jr*7w1t z+{FZ2<_Aa-I;&`JOmFbU=Z!2~(#5H@Ew5gkH@>;`J$SoxX)z0;F%GbT3)6{*>Ax70 zaZ0;L0Xgygf@hK2kOW)tdTL&XJgmXt#DNkQ=_#kBY@-Xrr7RWE>(|8Hw#%k0tL5e0 z#=R&LvfpE2x{h)}OhbND$_<xX6p?vOGELb-VJ?;+iT=XPojP~S2HTD~oD>(cG2ZQC z@(KQc9=81>1hpFvIU0(E=qCj4^TK(cqJ~+o4UJdRpiQ>VFH$8#rVm*QKP2>RD)JI{ zn2}+G3KEBlFk_07L~hf->2bsuJ@RE(vY!dt_D2O$+Vdnzb^R3cB<ZndEDF>^5*W0K z&y2BSP7yJf_YC++?P^699khM&8?DFYM^Cq4_&P2n>$UW~RlGO0VEFrRRKfQv8?Ske zqhi>0-ye@J>giQooBra1!FtXDwK}520a4cchS1k{v@Ivwy5~(PH%D&tzoWBY5X#y< zvqU%Yem~?HW9>i;<Q*ZWIIw*5j_HdElvQwWJhO7CZI4K+%y<x63r7j4U;90oh@|#0 zVl-p_@Ef~2as1$V9uC%*7GKhLM30}WspOLvb97%A3&wEL+0eFv8~y&&Mtwb(gJb43 zPzz;;<4$?{_{pKmpYJ+<nM6+dy(4sfVSr5dxO3UcB}&*6-mLd#6kuv*CyR~OFkTCH zJW@92--rSE^$GF!>C!SJ#`&(<8fP-nx7aQF5lhrvYeFYdyczvQ$bwT=V_QB$Xf=<$ zX#I;AofCKV*P?5A1Ne1N*|ATo2BQk}QAfc!BF9-sGNr_NA$$9;Pum3ywvgU~ykAir z{hoAup@*WRrf5^0Gx5R{TQZ+#cxHHbW@d(`@%`gwY4Ij-7B&1J>(=3?VH}w#l?UOv zQj6vw@tBW}C=|k;zhD1(vu45SDlSbgfZE7t^C4VBK)7VcA7(A0@|=|QQU?gN(Zr56 zbqw2c;Wdm;=Ni3(ccAlBNpbZusA*XK(|V;(gc2$Q#8zz?+;~s|xn&&qf+L;-v$!do zH`NSUWoNQQ9IGEiCE-)IYTpKuuat>|W=VI<;=M1M`NdM+ypLD+GNd?In)z(CpvHH+ zx>%TxVw~duk%k+GB6VyMWWjDT&eb7fm~h|zuIdBdWRTo?fm)~sEmk!rxNOR;I?ww` zs&L)wW>&*=Td~}a>y-l+GF#=>(Md%nbE6LoXxdvk_m2Q$!U%}~l<J(40Oe@;!z#H3 z=As5?mN86RJhCNYIT+#uNZ|7K(~X>{CNWB&9G+vdDv41gmI*O)T!BBkx+yTIm>jK~ zeDhoX7RIc`_vz-Ol@*;sUh+*XuYC*J<%*hJhr&{Vk%rh`?MXV{qR>jJ(@9q%dCT|> z#%8fi=N)SDAqF+_u=ApGOc_kv2G&TAhi5FSnS~2tam2YkaVtb7t_dn(?6XR8{&4V_ zRQ3C;#ea@qMfe#1LzgqV!A*kQX$BJLm0DuCkXhIg_;Vt@)B-B|mYMrJ(lnKc@E~P! zoPpPKkgfoU5gd4pk{qop@trVDf`yXw=@JI5q&VFl9Rg0gxzF#AH_oh8*N4b2H{*NB z92ECBS&&`UkOz|jwu2-_jmSbB`3J&L=hhA1!0&r(s{g_CLshJiR@r<k=TYJNq50<& zl?CN&+%x6E-3KGMS=3bEvlsr0V>u_&u{pQCKQc4Wn3}@~OUA?hV$PwaERTjn?S!C$ z<dOs7ppyEAuK}T3gO4?h&sz6Y$G|B56)C|W@MMrmvD|sxgMW}}hf{XUe-AjRi2Wg~ zgbDet;FOIVf9HbuM{9yqxBNrpz2=3XUNPEX!(x;{s!w1qJsBrYvvd$%7>&nfszznZ zJ}n|yG#I^$yQpNdP08rJ|5ow+^Cwd}Gb+!f-G!>|Y5xP|DGeT4ySxiEiCe7*Qw^)* zZ=es4LquHM7&DMqhtoBt)iaR5W=W@1*t05!DU`*{tSXoDG@rr#rUPdA(k2U8nw{Qm z$%WX38Ff04U^j6&sq?+dhHBUisj|IXc!M3<wX$s%)4w$u12Z#Pd0l#b&WnBJw1nCx zP3~Kdq@3qOxhr-r`P~v~GP8U#)HwAsK{(Z})b~qJBm{}Pv0N9W%dzJW-V*mYjahGU z^f17S(zafn;cXpRuJ)PBWcgX~i~g?{MbojYa&EcLNSwJ4a5^jU#snVH$qGmfQQ`G7 zbFQ`|DT?y#Z!$8TvDW>x_LwJ$#q80Ywb^a*(Q2q4#(+_pKOV@e(jQTrkf|@$^jpvI zYoG81c~lTjJUpUKLDIP7DQW8&Qz^JEYntPeu&%c{C#OuSqCEDi68~K306o(!bTnb# zb9W<#C$e^=%au((&~KeW##c(*R)}7it>BA~rXb+Z+n4P!#Y7$0|3v(N+*xEhCVgql z37WdyS2nDgkGy(7<bF3w|8_B_3vzp~1{?Ew?);UxI!QCNdyz0O2Lk5zkPc0$yy%W) z;<FL5pu)TIvAIpO8P)J<th*nw%>9xw#9X+wPbV}O)I>Dcu$Ku|J-RD(S)sUI<6*_6 zMzxZ~Ec@qcLb#SUPJ#RP4g1WRV<kCn;kS)<cr@q`&{{?uZ>V=H^P1ot59-QJ>4(JE zK8aZ8AC5#-Po+}0eD;MpAKB~I9%^+waAd4rG?=#{aKhz&|9oMe^d?Ni=6-*HqmMn8 z%B|Db897ELG-Z?l#BL5u1Z5blcJYx*iA>*~`TLn!=iHIyqNroEy>Kjbl3}}<a>htc z_0iqs!*3ETDJpMetnKW?`=WaUHHp#8ZI=Y31*U;AN{bGoIZ(FA_MBNZ+ir%E@=1NT zh}k>8cdYeW+EmQ$geG+lKD{!-c<jAPox=TiqUmMJcp%;E$jmb|QLF4<jCZFe${<;d z7v^1(dsxqa87w4hY4ff?_R?@H0&bskm<c;R`{JXFllxw-89EjEj9s}k^GBXxW)rgu z5$kVdFlXo~{@5s!XwHA9IH|Q=dy354%-rLcHNQY)q%B32!I<Md;9Pm;#KfendQU1z z-1S?;Z24e<+?U&7UMr%vr}t*y7@%@(BK#?j46bZ9IsQ1<)2M3GMLR<;?1OvAI}1qa z)5CH~L>m5rj!rz}ijiBGGjCS$U^WHx#=p%1H`+>|q%Zfzy=@HY;n1Z`UVcC>K|QE6 zsoACXj!KelpYt0_d^~%`VV^LMdE*!HQA#Yi34mi-u`lnA(GaRx;WquAUK*rXxb6tb zwTQAEOWAEPJ$SJ5h<i6$BNfrE77HnwZlEJJq5Vg++)T0aZmPtX4y#I<@tD%Ii9%n- z%SD&JAt`yAJ<sjlql^3#R09aqwd#U6iw<%%CQl_%oz~3|F0ov|W{AZ%df_+Xg!0kF z5;t5^y0K4}Z!1LLu2p;z{r=TmD<YLF@>go{tEG>()*Fm@_B1JCIjF}1RIA57OAh?v z2*g2tP{t*#D|hQO;n6ga5>Eu1*yJR|kzn!>)#hI-%#AMABv=V};iENeD+veLMJSVU zt3>~wCfKyjAjdtkWT=IOe^+&9DE8Yh@cdjKpZ{iHGh?LH=nXmSkXklDuX14FrVQi3 z&a+DgsZAGVXXI1xvKR#t1hcB=8X~-z`z1z7Of5athg+&XcbkeTh2u27PBR>Gc{frM zq?vdUq${aE!~^JJ;XkXW&|ooqg?sUI8K~VCV{b0_fHTPgyKsw9;`@Uikgh(ZqEQ-d z$4qh$QOIxF6p{yJqaI6Vyf1tD>%w*t0h*Un<2$L&gjmDG5Z+O8tSI$$NR_L?_e_sH z4@Ej<-PZ_#RjzB{OwS9**9K*?F1RR{9u5D>SYRw1VD`neLcidEHn^=`@fsK_0WJ2# zphX;f(%<&XG2Ojdf??Kqzr6ggb#0uvFr_&JkB^%vbI?Ft#tY#pYLeZ;G~{sW5>#&k zUjTm~dBk>*9M3L59#*}Vre9-(V}bWam(CPG34*eUSI`jWO&LKQv>hRgbH8ZaAhIOz zM0lQoG+fxYeGius#Pd|d3I^Amuy$H6DO2#2kngxPKa@Ye<FLCg>ks=nxrZ?PVYdS# z<`2mBb?Em8ZwIBT{kE_i3yoYPQ5quaJ)W_PA+AE+@oN{yb1O5~^2=D7%#E=81|m;E z#Qy=ywL3nbKk@;+Ak;=G!ee})o~gjSxo}6v{34xwh-B+x7I<@{U{8%e@Ks@KQLN;s zOk>aE380I#ZLAOCg^?$;m<F2IivU=C<JU?SBSgHWWmn6J-de1l+k0)S<m+k}Rul(3 z)W4Ku1A*337y+vOwM#?2c<L#6*Yuy1xOPP5F2+B0NtamYOQw}K7Ex>&zfu}Y@nDh% z_0$0bguvSWfs-Et%iK!Y8Wl+R*1=iC7#W65ZKApC&df7##qr0>Q(!2af3A|f4e<L- z#4QP<dJ_QThjju-IViDCUQ^<}Y}a)mJ{?ffK}+I*{-{5vkxBK@jB#IjL1BiA>mKjb z6W<x;XT`J`D+WHhqQMUH(;3_4J=xf3h|hWLb~Q$I(d0<YliF{X{d=+U?E17!r5qDx z_i+)(*PoI)T&<llXCMsIPm^lp-|yoyx~-@r+`U7jS8VRBM}NulkAau78N?AmPeHCr zr3k}(c-fn(D5W!yzhNE>yXgm$B5J{1R(&St*a^lL#Bjn-s8jJ)^-$!O(|O1ThceT{ z(x;VqxM|*g!jN0<W75#;t5Ci!h9t(s>RQpSJ4yy){$n!;(gbpC+q=d*<^^)WM0rZH z8X_sWS)A<^Bg7JRk17@BuQhI1Mi0qIEUECNUM^+5{_djGqUzcyObCx#8-vXI*$<6^ zzOS#4PG!DqZiD`WpHxiNsU)fCCnS(`G2fmP8q+N3hf!>A6pwB@<b%<~kP4qts?zG5 z9Z<)vX^<s1_VvF<zW{M9>Ln6~PhOYG(d>Fb|M~cSGg;eNdv{bvmIl01p4*^GBhja^ zHunhn<(_Z^C81_KYb*}q<hmZdeXb#&Vd%89_b%fwIVKjrjU0HkBnM&NBa5;~T1zoV zNasgL(^w?f!yY)P3G4aSv##h<a?rTKej4Seo6kk-F@Le8K%drT2DKgQc$<STf77Wz zXgj=~?G|N$o;lgchTh8S7Yn3;jjJ3<xsWdWNdFLhSUfqlb>h<O``FI?*#a-PnN2rA zvo)%uhMVsPo|(4Hk`vC|G-Rj~w%y6h;(;L%ibuQxmN_(`p-**cMe$rLncF9M>zH5I zodF7*lU{i}=9ni)20kw<4TLLnM#R)FA5!|?WO}M=EwHedY~%Ym>r!S_x$#X_NSva+ z>pr7QtPnmgoUhk8g}hdY!L1tw=*&AOZY*`Z_44!g9s2570G-*8L85K|e<>J>n?E_! z0#v#T7W)7WpvlKe1XgH=<hQObCwy<Hd-0*dzNk>yb)9o2bLh==JlHZX`8cVs*=x<< zs(v1~H0e}%VTiA*dmo+L&sz)peXh=7sRqmd!NNA_NvtYLNG7}b`kr6aV++&;n7H;> zbh=2@k%jIlOm9l#=jbJf=PlgYMXpm0<JZn@)v1CP_aPMFE5g<ptwUZ)Ouq2dIrN6g z9VXOACxX;erXs!E+?Ec+w=}2JSI$$Azv|NxA(8v|wI^ClJR~IVSTW)c;dSJWQyg)V zLA&_fygV6)?Pq$i=Jq}~E=vG)D&F-xDvxhndO?9L>4oJQ^%lH9iD+i~%k5XjWT~!K zq49R8OP6b^aaYmBzsI!mE_$zQI3lG4V2~0oae3_5t$%nMYoYqOjiv%R4$7*48`JP@ z8x9tB8-}e1NPQO~$$%+B(4SXr`iq0AbXfRrZV?&tfE9Oe?e7#kRq1Khw6Mt3{rDcN z@pDD^X5Xv7He82-{Dm}|SrW<rHRh4i;Z*>IxkI#eYd15!XnYOKNnlOzyGMySHED@5 z@51Y{pn#iVoX^8wY|exx8BQ0(Zl%tGgtGIRS~E|KL2Lc9jC-8Z?AZQ7#2Lwww~{Nb zYG5RWr$y_+u#{l9{w}PSJAIXu!sxNbU=ehLQNp(GUEBsEXE)9bckyPbfKfs$ROOe8 zPEiXZUTcoKc+wa}l64I{Ak>E6*+XmYmMr$$ksQdAne!5{^hICWH6g~KPD8GL(o(=V zf_yec3ZMeDlMe57oKEO)o)k+S5E=^Df^;*vwz9h&oJfFyjZ%?22RML#s@+lN^g(+~ z`kH-V_LmBhS%NNy-1oN5Cyb{yDdU5y1Heg^E}L0etsyt_%%Qd}xlq5<&bo(u;!k_f zTP42P?J;(aijUc#4LO;PPl?<>0+&1ZuT%iW`NJfZ8RiKG>tBtB83cqCU9`k6y|OO= z`7E2(L`H!pe(wQ`93_f4MZ&;Y0EIN;#$c3^HqV|YnU;u@JyDEobS)CzA2@>I@vK-; z$c4Z8GaWyHJuSv$hCyW=-8)WJ7>CDoL6K)%@xLlS`_dT?Pq^+n39`rmeJerdgS@3b zC@9a)>nVns45yD*$#RgTZItbH39vWAv{a4q!nmI;^C?K0fTCjG!b)=7<-P&fquhJA zi9+l!l)wL7NbE6p{=-rRa!F)TfGoDpaO20URwj@7<s(B)$WKDke-q+SMOb==vX49E zZ~)2E0dUi($@m5Dn`jOZUo7CMAu^ID=HNd3mGuZSbJ{f^a?t^qwVMcs|2<@)`RKkk zG<e}QWhHOaFrN#tq33e}HvRU`-gzpeEyNx;6K2w1m0If!DsXxtx`Zz}9ISeh_K+L| zhYAy|hQ|lxeP~TsI=SzNVC*Obc>Hg7S(07?VNc;b91noJE$gHsExvrw3aHS&5Iw2T z6j0e+4pnMDBG~RC<mep1{99iYCkX1$2ZeVLB8v}g#nSKtF8Qaz3d7od@cZBnJ6)>S z?swc%inYtKrQUw9e?>6_r87{kot74OX&k~WJeXM2nLqQv*8~lyK`f#FU6BC7Fv*;i zvM=7a!(X_<(anBPKVibdu;3*5Vr#5^6szgX7=Dr%5yNYD4cz|tK9Us%!8j3;6cKjX z;t!h?z@?@8%AUEbJ7-gqj;=CEl3W70)--99MLTQE8w!68Y9JcYKWVTp(wukb28KwV zpjC&5_gH;`wsdzZ%U4CdRrUwk%fTiB5qNADqG)aq@Pqv#c`JUI`B-7|l7*CX>(>Bc z>P?JQbmCSsb5?NXp=F&z#VI+BYCoZmbY%;<%$K^l=Is0G)+fbTj9z)(IcV)pZm-DE z<-N;n9mrTDb^WJ@K{>`(FJo#Qstyk{<xMtNl2WJU!ZCWS>!9pE&W-Fe#)+?00`cL) zJ-h^63?V$6Njap^erx~TPZV$-(AfriVt%=oy~_Bz({GZeAe?}^#A#B5yFwppSGr?Z zP-X+JIxWH$rsXKyX*<R3EQ_Et>CX#)h2zn5e>$Gn&2fL{hdx0$^^|+2w`W*}VqBt_ zg)&dQ03s#V-r#I(fUqq?K8M8MB2D2Ml|D#|{ptm1fO+V_av39;azl=U++5&%F0<#t ze!Iq-a0<i%M_<qFd*H!1xl^h}xK0iUaE1GYfRglxm(r1ImKRo;>faOQ)n~cU7$P{w zB#I2K>8ge~IDh|+Nb4oA1h(E=;@pcvD6C!*Nf;o&HDmWcAnwpd`1zC0r1Pm1aDMg% zd;Jx=ttv>8K4HVTc_8Y{&GjKK7`>5^Be6eIK884W{YU2<v>(FLmK)>(Kkzy0uk`Oy z7!1u5b3EwQ-d157_4+A#sA}hwrnk6Tn9AQTgva^lnN5_nqn^*|WFtSX=GzEi>9Xx% zOwa~PquAWVx~6+Vu}#6Wn;q<WPq3cQ^l&H<;qi-6T6ejaN2>%uw77mf@v;==?kj<+ z#N}OBfX(&tq(VxMl(~=xS^l-~OvpXVm7^EV^S&Y=0GG1Vsy(-pU)#Ii5L*8-X;jL@ z{bmY}0Dp-I2ggLHi@I?JTGs|iBgD-hLV(?2L?cTw-%Wh6G`8oH%_?*s$3573!sldE z;j<KEx=Vlq8QZyjg?et+H#v`Y)XCrDZO|qoy^ZNPjXX3!b)m)hRz?GS3F@!a;zMn0 z<uZ>`H{cAMf#xN%neNu?WBfEl%fzo6)gQsO&9KP2IiLW-c0r+AiSJn$uZR(&@o0FD zp~a5&C1>v7=;sr^%Jf4khCYu(xSnWg`bZEQmGAK7QbLLPqdPs4$pQ@mAbuih`zM1V zCD-|*wz<fab(9|2KPi-B-`A=rS~m^pG}DQ*K_lHHb*fN3t7$)JAcRkkotX1`%|W*E zG<4C5wpqFbhk}vnSLyue_jul=K(7SyK8OqVTBN1tl_e;Jhk9Y9?W5Duj3bd0-mejn zt{Z|%-}+-t#~PLFT(oAj?4GXMkJH;!tb6|$sWhMY#B?H0cTwjNpc(5t&|^I~*@<`5 z;bD7=qY4{ir9!dt&j*Q#@{y^7bsn7A)i6)&Gf}PtIM%oJKlghtc!7v+lJ_fRg?(ak zPUN}G|4_gsgcNWIDIKg6%_59e1wfyH{Pu`yjv=&h71~@d`zc5?UhYx^GOxiIIf`+! z=g*?fte)so-doDwgCtM)=!?vHQp_L0_0*06&+T=qf?YnQZ-z7{kN!UHfrs$Dv{6)$ zlKYUg-J;QlKVFau`+D0DL{Iol`uignZgD=mvSx^}I!wd*E=TGR77UBiB@GSgf5sI+ z((2eJSW<k_|HE=L1mcFMF_*r1cGTit4%DE(7%C#l4-d-Ti@+9tHCA+&Vyl$LiS6^T zJ@f|g!vi(O#!pZaZkooQ2sodR*LVG7>uA+CY4%R7_%MP{9e7{gz?b#Ff&MwDq}G!? z{M-mqM`w~MJ*h1Q^%Y@2h)AkkZoG_(AGN3;Gsc^y0u@cq%WSws9Zs%RC4CiM<hx}e zP(A0~m>-%caSIj}|7r%wTOY%H!9|BcQr%53&FZcAZI(&j1Ejo5R}3uE4K`e?vuK^h z2Iy*y4^>w+sfqNiIUSHm{ym(dLcnV1LY-yOsw{0ZuDyq3ED>&T!G<SoTGH-TZq4A_ zD_4)Ijzv$_Qy)TB@3h)h9>7hkMaFX)EQLOob#GP4f1hRHBtf6Cz2R<ROM0I^lzz&c z0SKKP3w&qE!w}3UB!}5}Vxx@eVk+|x6i5u*+TT!4FTIuO_EP4V^syP7?7)*LKic3c zAL7B_hxm|UX2LPe{AGc{9}e<AUGxTGhzo+P%$3vMoR_R)h6P41|6rLL%~84DWSf;^ znzhj`(yNFzl>~3henbrgv;h6v^xFa?7pS!5Fee_pRp_@~fl2B}n(KDA-v(pPf0h!) zL9hX4r3+4g`$_j4;$K7P(gd;fv>KMR4F_XsJn`Ctq?{Aqyz{9j3thmz{BD-FlMA#P zmp&6y*EYQ0Dcrp4EC%5V1|Nb<5<(iuE~SnfmHIvcg1qBpFygP1-aImC(E5(oKg}E6 zf56HWHzqazcB|qatf_YS5>UY(<vo9D@CnDP#>10s?ckzW4r3x1J<oB7BO!yo74&a$ z;`rzirAQ+wPssUQ_e_z3_SVd(0I6Pd3#G*>53&1>o?}=Or4bX!z5rK>NcL552+i@B zJbNseUMABT{WXI$H?oi2@u@algb1CuU=SLmym27uQiOkB)=#$D%s}yfW`+c{=U9rH zN!Jv#B;%MZ@`C%)oMHJuBlQrzC&m?FFGins29*XwDgTwiW%gsh-+0F-cXRkN=fEo` zp>_GFpCr(}KaU6*pZm`jkM=}n0GLa+z8g>lu)U3D{J&s)2`Z5>{{hSY+eHgrP~iWC zpE}m4-B}iPc3~Np{Ej{`GUwZX1`tn_rbse=lNj>dJAr@&r~22Xk%uOm<*I#EGjm}) zFJlgeV)S=fT@CNH*C)%Mv>Sv1uIp%Wp~;&(*&ghvAnptpM1rWV<@=lpKPv2+UneXH zA+-P>2#^27`r;Norh!3MGGBA%2VPcgU9?7x=Xjg>ph^Kj%igbq^?7?9{c6Ri)i5M~ zLyOo@@G^Wa5VJjf2!NQmBH{(cAXrj#$KqG1EK=4LF{Z%`M4Znb_eg_!4Q+FX&%auJ zWU3GPii)k5;pVOg`8Re&KtS~0VdbASeV!<q%@YTQ@_iV!-%e`?R#cn%*dhZcSP1n0 zAY^WK8Wi!Qs>#8HdjhI|yI>lFb-VyqwjY*1P|tuUc>QbmP$^7qIDwJBw`^8nW~OJR zNN+Kzob`Y~1a^rCO-i?ZFa)+|p7$Hl4sE-5>tUDiMGdkn|2M&;qpJ7V{^_3vHxVde zQ;_~f8~9qqbQm56%JPd8hELrt0mPZ^Xt$j)6ZT76&w`PN*XiD<H}AhRU_%A71C*oC z@fU7SVz$p49fs&%AbPC(Sq96Z03lb_^|Q8($*rGIvF0@p6YUNy@RqRD3h9@=co<1h zP}W}%p-Q!*m*wFcwH_gprl>spG7EXi-1k&Yp;6!z)2bt<IZGqj<nX<D349qqa?z;i zBhp__7caZ&))me3**uSb!{65#i}Fv7z63|Jb$U+&@0S9w5O~PaldJZpw_+7`MKO2* z6&BGc)D-`CjOOjE3%Y|9lTrH*Nh|jHG`KqZL@NFmn!~BZ;u4voFquT@?%!3lh^L<% z4wcSoO9g-|3`e|>n5W!%Rc)DH#I|WTci4VrSEzzhXa!7+QOU_`+K(ghhQeiMK5e<= z+H{DNu77Q$RcuMLqSz<v-TD59F1=%WX2z+B+St6fRE=9M`v0b)y3gv3ZQxW>Z}4T( zC}9cwxB;2~L`<(;rK~DU-5R8MoF1d-UdiS`{t$C9djt1>inbh*n*@dEL>^ti;HW`K zZ{MU!kf5P88O5Kt0M!`^e`}{18T&sl+DeQ#^7?_nBsg|qXw^6l;On1wQ|-jN8g0V@ zXt{yA)Oqo}Yv$4Rfv((wy-j9a+nDB(KFB^s9Ngz$^^-lQ+R2>{quG7(+`QQw2X(}5 z1_4$8O=9fyq@zUjOZIt`xLmD)O#=R0jj3CK^ak-KI3<A76O@dIH?JT}B$BVL?bzBR zfOgJn`v6Vl4^*>2BNO8}q)Z>qO6$_=Bdkh69v{sUsF-|AHWYi%QZSTx^Lyk>{ZD1- zu4(E;t4(TG(rcn4ToG2ZA|WhaZWp4^RI9fu?Jt%J2EheBfLHr<_wWwmWME+~7k59S z;!i52m{uEu^v`IzDb~9(6SwByX}e5}sIny?{*ko;+l$2Wh+R)G*U%a+s6aZQpi;}T zCgKNNn>UJBH?<3QR*pIII}6-YQa!q1+}&SOqs2wZV`#Fj_~*M5;y`JQTrw1KUo4@} zh^liCm!S*GZ{a`R(|<91nc4?WT_36FdPzuw!N$QNyZElYCDh5c{~Pmi2NPa;E9*l+ zM%b#zne_LdARs7BY8;)@ksx3;md>+vzugHdg`7KDs|M4Xt_{NS?$}@nk~=5(;Nb4E z(Ml4!<xOXn$&TIrRUO1I7zhEke}7T^{oZ7xFLWWD8iC4Ild<1GN3efaH2fPHi(O1f z>M?}ULO|2XSuDWi$f^m&x}u3Cr2Gd4m-zU|a2|gB!<)vMC2*(3YJ=u3;5`P1bs&9* zACfcV`9pF1rS^$C+Ic5gI2jokpC-JnD1Q$P6~#5Pg{$wi7U(F$eJ33#x<&KVwvRPy zl+Xw2bP|;0NE?b!nR1!`zB{5%+5>Mcb>!l&I}`tRnFD76XOC4xx;1o{?&5H3FNC;I z<xBsG?pSW7aRXDGI;2ELv$M!Y!j3mqL#vmFhkXC#4IGVTXF9xPj3!0Uki4{L+K0~N z*mKEvKr;8yLy2enHBMg4tM}E`YaG;-&dNOFN{a6}y~Q6j`EQ<JXDi;2DPqgZq-T+| z-sGxcF~@Sq@-1e=`!%^@2Sn`Jf8g3z3)PlPJIpsyf!&|M0`=VRn^*8eq@qs<BLb+@ zcou`v%NvcJckZf0p)rtQ^)vjB_pYR8=AgCBDMMHy4SnTL<}5_h-CODP%{s>imMn-C z>Y=T4;aNU6uFyg^^gD~LjJ=$Xu`82I*m-UL_Asu;`ZTYMkAe1)6lQH1w2LheJ*Qpm zX!`+=WCGg4^dv&5!2oTC<sAMtdjv1<85A*zN8_^GTNR#wv$7nOc(aIl1H>wSaHS7T zhqoM`&`31vZkcM{o+je_IZnTp#6omxEu|32dc(;a;dkdMnT}i`q@t?|{Vg80w^P&S zCFlSKWe;JUGxfts?n=OPajW*EEiHWk^WrT;xh}yjo)OLo+Tg$95PijJJ?0N!qoxXJ zfXLRk%b&rd)gKG~9mgUQwtv^3TW|}`dpzxwB~<vcY-@jslRXnNJZ$n*LG1lC9wR;u zn5_-S0ENKAQA(IhjggR!$u9C9n2a0F5T-tUN_r#ET3sIcT5ogL2JrZ8$f>a8vM%W8 z{BN|1&mWdXdRG%FzzP-jHw=%FDlGsw;rJa-lB;r1Lz{@1_AM`mM`JBn^HZ+~9l~TG zzsIIWkKLMe5Q$H$Rq9QeTAQ5;uwbNnTdZE0$+~~xC2Di}@MvO*C6fP6BH@OCETP#5 zWN@;4q9|6nq@;x%9{yU5E}7}yImyRIAk33XuJ#OO2|j$+4vue_y%kebann^)hGleG z`uU~N{rleGuo1$P%j@`<pr*i@)FJJ==tCSUeAqNG*?gXPmNrE6Qf4UBfzbN|Aym=a zbC3v-zZsT9xI|rF|NTKd^b0J>4<hF+o5dg<LOr06g&$dYbF<Yyq#P=IdTnArux*E1 zG6ES{%V~>$fSs&4M*BgC@k`wsVzz%rQ274|a&d`^`=J30>zVb0VV8NsOIfdHt$HYH zN2UQfaky{|sacx>2#C0njHs?#Qmrc6)?aujLRH8?HDRu3EWccQfl^E|u26AZSbOxp zFqtBxDZlMf_LhW&z4?bcTcg2l*@&k-x1~&aU=tHf3vRPnw{#v-GEiR8{k@-odGzz^ zw5f!qN#NwN&)GaU%ddi)zzww+S;jY4G_v;w%e|xrfS*TD01H#X&UnKdte@6r_BZ~q z$MUOxF~F%tsPeL7kBMwF#P7EzCMNm$`6fFdRcF#>-t19{vFu{6{ssPCYDoR>`#H$r zG3Vws%+4(QfS9A-`|<p`(R^$8ci^M8uFak?W(<<ve^vfM^w|6JrzPnj?Cy5at#=5Q zJ+-r4e@Sj=goftbFNlA0qJjhQc&c47hIh3v`v<S|1}gejis2ACGTy)S(V>N#`d*Xd z+PHr<@5bqJ*%?lc5DEN_?luAD-`kNpz%5WgoNvN5E=ELLgZMj%gJj_02M=lwJG*nr z+Bkel%>zXgDKkMGCCv%fB{}%N9&f#_My2H+|GZshj-`+!Miy07l2ad+V=Dfetp}#R zlm}|BKJmKoNGqn-#*IR3^Nr2jBrmVyqx{asgOu$rNg;4?kABgi-s*Cj>~p%nse3;r z_KBRc?w4XYz^#UlP-k-9Hud(?Wjv~#)lu(!if6>A@}u?6<PU}+hSTU3|9_x`PX`jY zbl0LGv=i^jZ6@dOs%JF*?6L9j!AO55-H`C^;jr*=G3Db!YW(LP4DTK8Q4kuyk@=wh z?os=Vr)iq^t%1>c<Jim8H}EA8?QvZ>^<J_?N0RV%@q5XZVFz_t`Xk-fL}G4-zv&HN z$414uE7}DLA-{HVm%pjU)o!{-$lukjdu-!n;f>j_6E44Yb1e%!Cu}^~_MM4>;%5El zSiqoI!N9W{rssGYKou|#HO)pS<X4YP0y(hFR*#<&xsT|JQV*DZ!13UYKz<!w{ufh2 zR&j%{1zeu)MQgZ|ZScVt&>MM#vHP$dX0KEUnj$w3!v7SSaSwKXLcnp{LyQ%A;;qAY z1g}~@)DD1upIKg$l)x)R@&0#VFXRMoxTv{(@3b@*<f7@G$jxWwzWI3O(|E#*XvU+v zn`F$hQXh*C@gF<&GX%v9;azDrN#}weD?A1el_6`5)v!aj{>S7IKeiU%1DcOZkh7(q z%i+~-%NdonqSE7hM{e7zJQu$gW+xa#)N>!<YhZw6rZzW=E#a50TySiHzgyFc;CZl= z!Q5ekIlS=`4Y2P`N<C)41YYQ>VBpnl1ha0f2dBfckqV&=gXH?RDAV#o>~8lti`E&h zjLj5sz1sePvqEYQjUAME3isgiSr@#;$%S3@xe2UayrWpeGxF~Pt_JC+a@!tvG~eGX z|Hr=mcPRk=S^fXttN%A=VCoH&)pnitX1GLOr&yx6<3@xC$!K5ahSwD|iine<G?}tY zy&u%G+mykBDhDbQ`7|OK-|of}1y<NJaF95xqs`bJbP%2LpLxRS&$g@2n;Pvd6qLfk z>#2*7uqTRgzKb^_q$EOm+Vu9w0L#jL781jW9^>}4+C#3^Nj1zxrSl#kJzWVr_@SXp z*{)m}>vFzGGdo%`+o@a9p9<7Bn~9Nc#Q<z6LjrCo$d@86fYpjefqK>zaxni|Z0Hp$ zt7kCDeB?$xt<(h{T+nH-f<iao=Sy{A?WrNAAaSzGm86jm4Z)mr&bQR%wd_Ca=_5w{ zVyoHkwSF>a0;om|@I4Qsv~>FqkW-MR6R!<#UH8n8qJCCb^ow~00RRMGrPL6)bIVAb ztELq$^n+dSd3^B_QolZnQvi1&pkVa|GI<mUFTcaQ7M$vC$K=jkN>&xO4^+Uw`kco6 zVKpHND*nl#;s8UCNf1V!z%tv4S)PBb11fZd?)|)}{q@5uF>9t`SJ5y?Sa-g+s7Fdr zSq@NbcvC~c9Sv_=@l@8~|16lztQx<L+A!2uk05XWbWA5COGU6^r?8&frRlT2&#gLQ z)FR_>VcI4#wa&uj`i&RBX1<0PWCfZ9b6R@)g%IezN$y%d-++PM>ZH`T!pY9UXm9|9 zgCGGvFdNa&gE)H4i~&p-i-HDIH>uv5pHP>u<=JI*3a_kk#jN}}0%RIdKmqJ80K0r8 z0y>}rVk?^!czFJD+)m2DZMsYy){=h!MK%#KP`9l${`sRz5|*PH#}=<-K6NTwC~Stp z%iOn9<ofARL3{(K1W9oA)Sf5hFjnz(TU&g;uSWqCl;56huHCVmU;m@)^qtG<@U+D6 zq9rDAbOk_%J5D!!SCoT;gEXdqg2MKe#7ap~QGRr2Xv(I!s>Y2CRXnqT6q7VoR8Xj- ziuD~S_lU+q`a4BM7;Ne4OVIDgK-T4^ME-D-FUh-|N;>_YT(Lu6+vYZ1VpGcrbMC;P zl0F;&we51S-Fbm@@()5_ki8vv-3AAM;#8yR)0G(M8Q0gJr&4<90vO?mc=&9irP6WX zIhzOdpOt@*1%8m-`0QnbZR=nt3?ZU;uK6i)?n8cKBEQE)EB1JwhIPNK-Vqxvr|q88 zeOXqvb*L|A$ms>@;Qq%maq%M}X<ZOH9P%(QDN3op%n=OsKzs+Mzo!Dq^KlH{2aI|p zyLBVXb3Spv%6^Gs4<#ozeoN<AyQehLJs^_?*k?|KrIzrUay5fvY_2GSQ3!5C<642k z%@Bu%$c>1Fx=l1L3cFg+a{KQFZsOlHZD|>l!ayuQ!y*AT1NUSzKlwa&A#mcy%V1(w z4#&hvhdPDpd1%rmn-%I36>Qe~E+J;1Lc3i1a*)UFdzThZfU=_f)(0q%RUUHT$LjPc zMdJBQIn$8ryiQ>4c%}2LM}U=0ok8_Z;l=GdW;MVg*nEGY4qJvTob&L?Mq%1U7X5q( zv5eHoKQyusy>75&V4R;kLcA<}*!TFJi-mvTKEoS^!*j}gsW(zk3e#u_=Kb_VGpM^6 z$YzWvNP<D~>KlTE(UY=I&Ve;t!)oPlvl9GffaoMgwAB96j%LDyEwhMz@M^0xjy6wl zO$*uWqLpJj&}cWp1i$-w8?PnsLCgXqQGMU~uH>=cfvVlA<t2&E1$R{ebD?#TNAd1d z{Q`Sg5#JA>d9_$NJfxP<tW}S?olkU}x_!fUG0ekQ1sDmRgyVL6d>RTS_z5FseX-SA z9FNOkG6By1Leq*{glNyc$91=Q(Ytr^TEdo>#wbpasi6U1E!k?}pZx1bh~_=;6E3T` zy8X%7&5Wr~?)U4rw1a1F&Rqa(X!KF8elxN<e~IbRd2;{)72|>+XVdsmvvHrnD}+>m z$TtUDZSbi%PezJ5Zk-Z782q=3oVEmzfUv=1oNQ?l5B5fYmZmX>yOhz1MWt6xMe_%y z&O0K}N7~Kx&A{fxUb}bZIR5>HR%&iuG@Iq|HbfjFbG4&JD0Fk*)XvF3A6)y4h-luZ zs%R@#b>!%F=`r{M@wS2U6%$aH=cwEj{q4;(<icf!lVIV+Da1Cwg)q~CSQy05Mww_` zHUM#*Ut4IY+L`D$Qzfr!m9Co+aoG1R{%kCAayxv_6VY(MawwIqAj=z9dU*YrnJCp7 zCHYI?pU0jSlUbKshxZ))e<GZ<2C^g3?rHfOur$Vp947+{xMlbne7JR(m1+Smoq_?e zt`DM-xa+;0rc=}otlwv3c3Ca7BT64yzf$%jTarGkwV^L%CU-H@*#*j<F<&Q;;76Fi z=+RN6Af>vsf#9*bI`JrC9ly~O0uQxD5#vrw6l>L9f|TS<caNI!HL3K>1qCgDl}Ze9 zzdZeYOj!?)mBgF|e=llnUm%=<ab7dBfKkb|-Ndm}N9^hEBQC#yQj_dDs1AXuckD7K z>aU00cj;nYw*>0c9}MLV+lfscAG(<oUr0^P#uB`pFFTxy9_~@-YSd-EhW%E5RYc^% z0xnB%cspE2B(UA~tjV}TJ#u|eN%>jeNHyVZq8dZywi;fAesQWN)n?zKmuOd+QHIHF z0PB+kbKkER;bcE$N=`}`d|mc<w3Mdh%5-2o+BqlbCXbRdHYAiA+j_w#*kn5BUza^` z_UG2sCf|<*11%o7rkQ<wS~}jD90gr(Y?-VB?yrZJok>bRLnlvHz1(UPYHR2K3Xijm zOm5FW^6}0A@-UE{+tHH_{H-P^Uw7A}!I?{F=`fL|1xOtMf+*;np>JGi;h_KJ{gw>M zE-{@IK!BJMfND(T%^Ep(9YHbX!>A6GI;la`hRKgDi+ud8nF)w*tWHs?D%X>4mz$hC zV!}e%Js_~DQynj;ynz52xLs(y(}GhCZW;Cr!THKyrfh!0Pp!pTHkr?=6|KNNtR<R| z;L`_?OQ|uOJ+Iqbw4recJad|utHTcBWl(1CWC~Ov@nN(V#<>M27}TEubgt7SiReiU z*mai0diB*_;=}crk4#-r4S-nu26SNGqnM68Lvg+`i>K1!1IfCj2Rgi!RY6(#^^!#g zhXoqpViAOcoMIuM4cL^bSR)i&@SoS7msDQA>%D78DY*Dm@ET%?1t!{hTmQ~*7bW%A z9y8{lV@W9+P&LfDm}dY`i^=&kD12n8l-=n}<p#jex%)eEo}p+qzsq}yLO)b-kF}?b zF8H)Kl9FMXnwej7)7(h%b2hT-rdZO{$fr~4E$dAS6zgw#i|FCa(90!k@x{nihL4AF z?wg7>6R~$LpfN_IIso$Mk{7fIc+&?q)Vy>=dHRPvk5qIWN(_~IXyMald_fG^ueL8- zqo=*@`-Q>SX_#I~9RFIC)M(N@KW$p7q~!ROViivZujOu;(GpDvpg9c;I<u`wGGpVb z20x2$c6!elOgX5DAkard^Ald0+YSfwxhdB@4={OdAMc5-(OXw^#a}bsKQw?*v3>wQ z+yo7)Vq{&V$TD2;4RSnD8+gAJxw2!lj9Whlm``O?%xfNUYF14{o*eaTCPT=(Jyk^B zk0j9S<D+*}!zN-`D>$x2(3ny*ZMp)O-Y2(9<rDmk;W4886WF*X0HF{-X~1Z>%EXUg zPmX_)y`5%GQ{!>ih??B8)ivp4nuz)2W;0TJI$VQv8;7<P?;{R|gLruPZ8JHBTTP7c z0w_R<g<lj{xs1r`;64_9d9UJ`IGjPd1f()sD@0pwuRozH!Qt`qq)d?zC%#gkHt3nG ziO@thZHxUSCg3`^dYdQ!ZAANX*&KwfAup~)%?3qjndEppT+h{l-^6g>2J9#q6r4{s zBESVwX5+~`1Q?>1P}WxcX-C|t=GSi*0uKU*8wS1!LZ_P2bzX*$x)eBX{@I@hw==-t zDrcJBE`#;}>wNB|xS5GXZNsE6#$kQsw;K7GuUv%4u<q_|PkZNQDO7!{8xnJ7C^>6S z_j3BaxCmCK+7YRGn?Y*BZGbh&Vt*dHbMvYr$%V+kCRdA%WzO<+LCIdtDs%g?nn4QX ztW4M%t3=b)7fsu^Vy=nZpC9C81q)*<y8*nX!-N9(DCBV^PvNkC-~ZGdaPyFkbDzcS z=me8->TGa(6NYaDpF7iH`Gpx(oMbfSaAU2B^KqX!o1<lrl-^3L%4fetdFlq@&>_WC zj^6cxy1HY{)V8CxDbW$mq6<-84fYA+hd)`J-vnhFaW0!vt929MbkyLbR2%f_<uM_z zqM-5~4=Zwf|Joes37Ms`?x>4aDsfc1n^Z9rJ>m81wi>|=pJj3r$OW?ggfVfv3%(<4 z;nz=hf>Pw82{D{jyzWKwhvM{j0lM(&@~Fxwd0r=Iv|&J&uw?=B#p)_9$+89}#@YGn zbUo&vbe)ScCclV1@mQc75B@~<yKMaTrg&Yz4p;h>(C7aefOD+)zz!c20uT)6j`E>8 zq+_yEOQP>bPU)5$n9Cc@3oT|s8C@QpK9w@+qa56r9Bv-a^4KfZk4+S5x*&U&4;s&e zL3)UFU7%|8LJ^Ya&k*pAl2YmMZuaTz?r?Ejp24?vYaO0;cY}8q>C?~`d=F)t$`Nqk zAJF=emKFxuTP$nAcLXW%_P`ItgkYZr`juRU4EQzwO{x}%>XmP9>#+b`V(2}r)g%tL z&{P&ciEHTCD5jILcZ(O%2d$9<;p8bkB)VAhC^i(EoKQ>5NN3#oyvZi5F*zU|L5=pD zj*y}7uquN&IjB#h>I%GkKymk)Y}f}hqF?hI29psgFWhR6)scGVjxc8+U9*wHNJ2ml z!DtJe+f6Wx7~O4nDwmG3fv=oevwnPg7UwvlP~bQbwAeIEn0C824ljz{CTh|T+S@iJ zI?XrjgO^`CdbCtMQdcM=79H-P&Olz@B@NCe(*MTfPHY9VeQcYS^(*?ILc6A1L2vFQ z)lt~z&?z2N?{B<rrxHdP^f+{jw@Iw^*Mgm?p%2rit6~E8s?`mb4-;Q0Y$gUT!>vJ~ z*SEM{Uff}+2iNJMikzuQI9C!-?l(R1_boOdCQU0}o<2|E<H5b8(O>%<V|;*(isTN{ zK06>vGYQ%Q`)cmoTMp@-)c1?{>79Y1d?_2(i-A~7_XQ{LaGT5>@X0!7tDA+qBPH1% z5G~xa_-gt?QZ6>prE63`GBjwwkR8GQt6#7-C+5*-3A&5cn~A`7D1gG1-uhe^`woqQ z+6iF2jmJ^_dZ$?R9T5@n`*%e}&bWXxn<-8h*dc(8YA=)tj#Q-;N;-PC1Eo4ZwpzoH zcyTM?@d_<~zu>|m@%QGdy|;>r<74CF<50`3<ST}tLO>e_2vvp*Jzmz8&4aN5=7a|m z`$(-2xn>m8jVCIEl#>#-m`Iq-?D*1Qhn1h<@@sI*@tOsw(5NY_>oCJ4>6JEo%XcNx zY~biuL@6M`L<Nq1`&Z9)dqUMl-2EFZQGabWy~%#o`fM?$9pe=z&k`GxTf1qZfUYOB zQ~flg0F2aQ`cf2v-`4!Ai4rXx5ErC06*|B_(W!!qO6TSa%T(?o`HEYfb6$EjoS#61 z$wI5xywRNAb~ojw^0ROuuZFuc<b0)L=FGsP_+ow|xf$q70Z}8<$7dS=j2&=S81jGJ z6-DbOPNzqS*0<kM>aC>vVCE`05h(V@oP4zg&Cb9UGGKv=Qy&pbqRa!<>z!$MS5aXB z=N-v5=z%^<9F^E7XAZ$ki?haZ20+GprC-?a!G%w!8}#$(21jZSb#1Q~83e&onYzIB zNR(3^@Rh0no%d2TUEYP4nuwfsXS%J0cF@u8>UP@O!S&9rvzyr5#ow%>mhrsaiHLuu zHDNL^bONK)_}UDC6tv;O`zp^bBG4D=$-yu@H6n|)hO%~^vg7kSwF<4DoEUhl@(lwU z=&V~DE7vzZyWRdj?7e4DQ|<ddC?G~fL;*nr0*Vx=3MwrW0l|mfdy^`?L+C^wrGtp{ zCLq1{PNMWKy%QinfY3q<EwBgt{&x2NYUlrAXLfhKZ!)8EIM+G%xytAMT;;x5Cc)i0 zw>v}E^=vrAw`A_0JS6qbFEg}YAakHR<>;H(7pZyETi-K7{g+|m=#g?BPhY_oxsP;* zy|8b}1G3F68edz^O&i9{Tj(ccFj50M3|^-B9x$U(8SWw-{Nfsel5Iw{;l_y+-E0p( zJ$!iBb)*55sum8ExdPKje#Bm5?HmrCt4KA{;pP4Q8x&C;-nvppSuWy+d`TFjzm#;- zMgO{orI0AF0nz#%hH&s8nv9#jFZX8}JmH-e@VZp`U@_B;zV1+vW8;Q9Ft;A+!@@Mt z@$9vu%Hv0uJX0YHOrITVoD0XCb!ED}YG`@C$9g~Oxz0x<w7d@2F7-siHZaie_N$J$ z!|Zm+S7zpqbD&+iEs2TsnF?rchp;yCykzvqb&<9w{>!#Pz(^IR^M54*q60T(-i7#A z=50=`nz2)qO8$J8uxn$)(<U2s^fwLr-{1eP!2kUU?8x8m%u>6BW{S~y7ADQImi*yK zRDaiJ=2Om&?kse20!zgJ?<0TnIG0IR_L!esd<pVdLzDXbM(Y1wGWReArK?`o&f|%C zoHc<`@A8_M0BfGUpf|clL8*F)INA0zf=T0<59kK$D=?s33M8BqG4_Sy-~FGC2kFsv zpQ6_8$g4lT8ubt1xLz*u${uKYEtX4|XN%4DWA!=Y9UxJeAcB=$R+AA_3IWG=l!7>= zmRVcqJ6beV?a?xN_M+T~v#O;~wMz)WCPz4TC{EyY;}Bt833L>m=K-!IpY$L5dgNLn zr9DH+LE3$Z%id0e#p7$<KWweZ4+94B6Spq1qN{Oh@V)(M;`m>pZIaI~Z#MDuI?$@o zX?_0|vA4KX+d985-cmHC*}D{&3ikVH>F+kd%loig-G}-xz*3_x5<g|o1FEkFj!77x zyMI+G_?m=Zg2-Ggx)cP-w_bCHx!g!D`WHAL2%NBZRdZ-dPFM=+&VKTqtX6AOYR@C( zfj3O68kklhO*&JCV*g*BR8Ql0l`a?J_+^9dYrk378~268RfoL8vKtG|8w~cxi&yUE z|8hh1QCDQ-Y{NA}nj`sp27WW+wZkHd{VohQpZvb+vwcl_^=z4?pyYyeY{HHvb=A4a zIBUO?3qLJ<nOrO1=b+5RO#d<i1nZOd(YpcDXQ7XLD-&qHe|YE~?LWJubnyrJG?f#} zdf!=Rm-q|REZJ;SX?G~%{G3)Y6BzlE`p%-9d8&&$PN97}k6Bf2cv`MJsGXc<niZ@G z9FoJAdU*QTN1l<YDQkF>AzYsNj_dNE2K8sdGK^cK$ZKk(2d%(Y>oV%frjvQ#q>$3J zo8JRPzRC^U@klEuAa{6EvPSsKXWnf3oo#cFP`5}(L}dy@{lQ^X75(JN`3E(0(UH%4 zVPuX8Q(w5Z0p(<~q~(pwNbN=DN{}YZ(!LO-uQu#?I_O%yX*jj7Q7AJAQ*&!5B<5M9 zxU<&+Kf0J~xInWMdt)yy`YlhGCkoOWXv6%iX%VT%K2wB;WOj(N9eaeU*Dtdz;^;d5 z_!$xwu8C*WeBqm~AAYn7?Fv`;NMB0A@=Nin-Ug%P*HAWR)+bCjCXc1lLG-%<5%0qS z&2n4Yy^%_2m5}%0hUtTp@l+9Xp$PvnKH(Z!PwnstlQ{|IiOU-v6rAn#+sjE|rDG_V z>!P2--dzltE6ii+kVxzI-rLlVBO`z6zR46=>D^6cNF!<PP~R9Ut5+bt+j3Ovd}>qU za$u#i2z#)%@BKXX_$a@%X_z!AoT=j6K)TAi!`lp|dAxT@Fh!s3<!{0jzC2sk;QH*& z`6df9;mtxd*eiOnUVRQ<uY_4kvAfD-W&^rHewfmZmTk@|iFAHpC11{xW#48}7bZCS z_h^($k^A%Nm)^e``fqC{6#vXYQvc)cGrG9JfKOVM^L?sT-gBCupLBR3+Bt6Qw9W;p zulv~HaO{(Ie3Rh%>yQBCK<&{RANK)%c>|l{vg1(wp>Ofd)rfGEyoJ>k5nMLE6Hm1f zDk{8__SPansn~9EdS>;5X`JVS2$1H~@OG%{)|?pM-h~>XZs#!+&yTLb&|4Dqy*S$M z_y0%kln@VUoY#p2&LWaUY}crtJr6n7{-|#_`7YMN&-6m2s+q_2S4`u~z5#}cxp~@W z)fc|YDkk=Wc%A*853a=MqCr8jIfa3%*_?4cf<!&LV15nvb{)(hwmE$v=KY=c?i+R? z>N9uW-E8!lGT&|;it)Czzr<*W`Sp7fKM4KcS#?HhQ|;MLjQaYB9a>L;F(gs34A%>9 ze0n;)DM;eGE74N(aY<SI(ZJls9>arLac*n=>Q=v)wRI@f$&<<38$KA1o97o;=IN$S z;n5UErw+-d`=Kp~mRcG`i=&`7TSUYYr2pI#zXp57S-O$tgeLP2cqNKOoW*<e6n%4X zb5k&olr)%iH%~!lU?^Qe`QUpq;uqotqH`{GLXUbBKg7whP&mDKzT-Uoi%{>g#P-{i z=(!wje!q(OFJ2$HUL7pf<`ZR)MSE&x7cA?{hpHPmc7DM<raT*9y<f+_e)0(H`?d6r zonxPM{<s5oro!nQE1jd8DWFBRoG?N$)LRYNUliUQM1ES<PyC%|o4h~prmFj;s|5?= zS@AYX<A(Rni|)lt&-u(d<-B(~%(&P}mO+b&8+sJXxY;_IXbP6QLY!*~CLP2xZf)r# z6eps~;qL}=bqtdgq6h8PI_HtE$NYEcNC|H;&a+=G08k$E5tIBX+pty#8944B>WU4< zya|d4_GYy{v&eOMdH<;YL(Zt*J=~O<dy~IliVT{;`)0B4Y#Q6+2=j4RI}@~(=zN*8 zz|zU+shu1?J@#;8L{3r?kM|X^D+>2koY}jH;G|pj<?}Z!aR8CqQ+*##nz<)#OiDtD z<1;MHAd5%nn63nY!F$c&95+ZPp+hr^Iim2*q)5LHf+Wq6@cY3{)|MjCZO`C$qYpFn z&Sr9qB?{+r|E(+V+uJnjn?=Di_It16p9HT_7RL#FieA3MecETT^ywqL!Ck{+OgT>S z#!bcmME$*+Cw$;bdA)|FE4e-$KBIG-0<O=au}Nh)&Lzvc!!;3pb*Cg3(KXKxY|@yj z=u<A}&y0srIe7GhM>t4xlusK{di-abC|TP7bk|3S&v6KSXPv>*os>)IekU=(^?TZC zgf?v8hgOGlnmfOL5mIl|uMMHZj%FrnNJZp4;b*j<*5<S61v_j2QolA`88JN^TG8CZ zFgpd(9Ix1+&NCTs7?*nfwH7&dWb(_H@#m-^uF0}8`<yTP`Q;mw6W_iFqXyPm^m9>r zFa2jEDW2~QYuG_jzGClN<<bnEjf8XSLUho@eZ9#3l6P%kb~u|e4;uz;^8pE?pH(VN z{dZEZ!4La}^EHeT4cX4j8HoWcD0RAi8y}V=7PYKjJ{B*iaADc2v1Mmt_w2~pPGnt8 zc3kBK@qn2uB#;N3bT^Xh0B8%^yrr6?9brG{(9JaX><N^i{zaM<P4XsD!6u;a`w}`I z%RXB6u)f*#YZ%X@ur+#AbSV3;F(U9=B=FfKZ&M!8l+2t<182NQhd|$EmgN-?TP#<N z#0!pp{s%6+Tg|XBG<TzpJ~^!8H){OUTSzZ4=}}0^bp%`N@+y_+!CGZ?CTidpT!T+^ zV8*GHs9*~aY9>0wc0>@zvplm}#|TRnfSHKH&i8Y7H<ObuP2KIW^1NlEGkTiX>!5)? z>tgtQYe{idd++i*QgR^IDh@a9{jay}iG@~AdO)NgxAx7R!DDxQpJx*rC-r3vQGDQ? zO|16LJwoPE=!stx=d;=77aTR*_$B8(IoMrRpi5@or14J8cg-#1PMS+S5F|jRVQ2Qj zWP?Cw*2ObQ6@V;y{a*@%=RZ%GUDOjz21ufkeldt_#MSL4c)7~C_!-a{k-ctc_B)~W zO})J!P^p32KYbD$x^+5`k!ld+GcPtY46)M1A7eW>aA`DxOaa#jZ443HmilM9A>LcG z0^s;(0>#L}=ONmvC|KCG?-^gsr{3bU3-V(HuhME1Y)CgD7Kc>yD&IyDrB)co@Q8X* zEp+eR{aSP%SfAb75G|~D(aDecV_{|yJLQ5|<cui9XAZp}6$?dp#QqFWLX9fbAr0a! zDadkD{fvGNWptbS48m`p_{b*`$ENpY1Bz63{midjtI8KqBbE*X%l_)>vE?S+2wY<1 z)19L1QA~IJmzE;CCKHp{;I(&<_YgzlE{E<nauDVA^M9!u85&SwAkE2P57CU#a1hw- zm5-jtC&QkMnrnT8w3zX*%s1Cy%Qp*SpvGOeGTv>ea}Pn#+RT^(ON%~Ur3~GAu#>EU z7v|kb*_t3H<HWb2b?Pr8=n+&B?io&pMX-BYjLAZFeim#Ims~^WmuPr|^$RMpb6n~N zTF1Dkm52uEcT}Q(QeMcq_K$ZTONF~5=jPT?tG~y2(*Y+oz~SxM>&UO;scFfF&nlR} z+6GE07I2;+>ngIRpCIbG5b=er#CX<0j8p{}&;ck5p`REkBb9SAZU$aYIjL(Sk4NBT z%a2z(mPfF5EhQ5MtH1s+QUAF8L3Dahq57ipzEeC0VZT<g=b4xv(`pJJkl4UtV51Hz z?3?8q8X|&<HV}KIBNAIpZ@@vO%yzi?4v5h=3rnxyfCATl<V;!1;~(antxVtAhh*A{ z?(yFp8F?jO=;k&Zseke$a&4Ll>+G>0_|d|v(P3FQqJO(i!h|q6pC7y&x{R|d@8QXH zw6oL}8L<6@Z+-{JJrkfy3wBBYKMtt#Lg$IS2tz#XxPASexH$FBDUH!G6mh}oi@}N! z3s^o&qe6Kwg?il$ZT5W-afiyMbyMq{KW}p|!r|!gR}WX875@+C(GSfyAaRGV-h9uM z+uOLey2nsPxAX-)9nki8znZz7$*$OYpODM<5+i`8Ibl({Q#_tln?wonFrx#exU-U( zVUI?=Fs|qar*k}P0+#bAn~Md5O*65w4x)tKcYE+72j`{kxKw1y5?WM*d~dS8ji>;f zz*Uc=&Z~5YVhuulYNJ60imilkEBxC+L4iUspE*G2eAg#fuQY*_Wgf@J?I$C5%FOc$ zd=Izmk1}%5-1OY5?um3caf0qRDtsQOmMOmIgSa$f18T>b!F<D0u~fg|dkv9k9KQrR zh98nZiUev#x74;fHc&J}E)?6uiSGwQz}j2`g;9SWLt*aJ?!<c7!$%RnE9Qk&hn;85 znWHFxWi@WPd4vxOWf&Ur>ynEA-8LLrhi~ew->q~ve0Z<qyt#TT^I$aQ9DY2-f)P2{ z|74oD&0><6I7p+noE#=rJLUezU*;so-h=KNF>U36oyV(`)s2mfH4NsCqrSy^$RbQ* zx7Tm-@2CBE&blOgIQ&$%T~%dRnwabL+NCX2F<-5~8(;;Dq#=w#*Zr3G4vehC*3m4s z!-P2{^dzot>$0-5)6>iHoRm}|g`AsE^J0(1tvbx@mubifBXW)uPkp0gPpOE{$d=cZ zcoYI-be@23Lb>04xkiZ5xpG>yv4?Wag;4Pk<E*}?8!FVbhhrqp9g|G(-vtIZw&tgN zzHqiiC#z>Zzyo7_zF-3`9Q%g^?DX!F6{6Dwx+AU;5)hA>Ko~<r#ZGLd9h|Kk_!+#A zri6$e3fGx8w8FM<565G{R(PjdH0w#W4j*<l>gQ?63PS*-omZL5JHaooCN`F7X6Gik z2s1{1R0q6QF)`r1+LTPJ;7dKW41eCVwOC^$6HhAiH+K8g7`(0%)rnAUyq#}?hkP*= zouzKm{=%AS6ryhR7}m+x?6@7ULZHe9zSpMnUJ1^lYK45FB+&!%J3SDEwfRawj31)` z#APcFAiSI`{I@t}aHm%egMqzgT`h7;f4zG%utfekG}(9ky%s98Z3SL}GQDrnYj_ll z{-V3tSBo4scV7)d$299@Kk%OOV$-Fg5<9r_wbJWgFg*3t@Qo52vp>}QHdW^RF~R|E zADdO^vU$(s8L`7v@Z(Wt15X^gmmisOJ|q(mIy&BDdH_cvJsam43Gsn`<L4BgC|tmO z2V33=wEnn&ZS6Ln2N|Pa>n2AYdwJ`ZDE^m2c0n+=?L3)rFGHRQ7u9LMAKp-Qe}T|6 z?<%sOf9^8qR^U8qcvGLHz44D>_6_y9`{tN!6%nqwc+E74N$a+vO4j$Fw}5tEgT*{} z$7({>9(Y4&I)eYzt91(U@n9|YYvL6T{RAMQ6g8yxIkO>8_6F1CQi?i~9_=NBhE)iL z2GWxugImepwmpR5l0)8Z-Q9Pqd`TPlU8J;qCH8Pn(lly9V%|sgU2S<PGi8thAPDfl z|NZ&z8vJkQL28UR<dKu_TU01P==TsY*S^Q8@}S=LEl*vtg4(HG_Y!!~zhl22`PK#b z^TSK3NLICh**x60_ac`NTJid~&Cv&sYsN!!L~lWFMsFfrdKlHq_G-EUbZozyZBgpt zXTxtrMSL#tsM;tXwd&_V#3nX%2=gGrMQ7R2v8YR3eO)bHUb97vj;zzJKy6qOMEc}o za*74j?Y)KXKMxK6)|(<x0B>4YgqiKPFFeA%8#*-4o$^1i=lq~IEPedMk?v}jL!mth zHEz-PMBHDZ1u6YC1+pl?*Axx$9338T7*Up@Os~w)@|ie9SrLzZ434im3;kFHxB2)9 zed|{Du{jeDaKVp4!d9Z?rI{TpVsT?zA9E7GfxLB*nLM-f83@gc%C89)VdW|zVXwU) zI~rQy-VV_L*Z@uJREx7$G&OKRfOy^YAW%1RLZ78+2a(eDS$Dx4(mmJrC4^S#X=`mu zSNc{{Vowl}?{qZ(g`uL;uEgbsVvD?n75Ah&(0}a;`MR<DFvNN1ER8<M$iUvO>lJju zXGd~{#nG{h@Dg3E5ZZ8p-{q)vopESn3))G=F88UepgG^u01VDOWw_b#?;O?jZt<Sb zv<AZi2ho%Cj+IEoTGDrgGlye)uWygG1dd)VS0cGK1y=ltR}Fj*Dmm*u{UA%zz&kg~ z7iv=6$<gg<d*W_{&ddH{FghCX#ipn}JG;1SO$vw5e!4>!wwT<O?ciQTmtSU4o0Wb3 zVVYPFqu7N-@Dh_pO}DgUuG>JN+Oe{fqA5^l5&ED$kxLaS6S$W#x1Cfc;H_eB!~J1& z`)yp~>!kIQ^n@X8@(NXmL#A?*kM<R=V}@DMk@W_Gh!kuxM?E6@Z#V*!UP?hp@k{o! z-~Kh*4sdE*;o!aqx3mMDOT&nUOUcy5VWzxAHjZ_@`>cHX>|gWyjw#fG@$Y$kbGDHw zS+_-z>frb5zzHAc)Tet)+{2WRzzTKZqq%R_|E}o3bMQMu8{bKtwxhyH_kCZuT+hg- zVK9HKFMt_-0(-_opH>9w#ekw~wJnE7(;&u6Ditd}d0l^+***CI*R{MJ1!Pr>n!lbc z<hjc)=8?Rab$;dpv(w1rhT;iSO&8zAHjI!F*trZ81b9I1)rw5wGXyAi?P&alMtAHi z%~c%xvhi@-&0FA<;z@N!mx1fLn+Nf79KX&!{4qxGSz=+{fYK6-L+6*bl(wMq%v`rM zY$0ERX6WhZwTu=wKmALhdoGssS&6JRoEMs)6P!AZd=x=TaDA*gz!IWdg_cq>GEz#9 zd*?in={qM3KFY88X)IpiQj>ZT{pqF1&>4^4E9Za#LxB(5)HVA@pVqI@QYkKylYQ4g z08nrfENag28tfQ<TGS~zi#X6r*D#7awd=G5^ayyRcL-pYm?ul<xAXvD0*?}u?q&oU znyRTu8pJ3i^3}kr9YxL=N)nZ(oqu?*Djwc%e1UyAx3+LzQA~!SI2~d)^fg|qj&J<4 z!<EJxG*w;vrg8mjXf;g`Ff@|d4x(me4hP8Buvv;e;>^qzB42t1(nG)Waz;HOv6sWn zex9E$?Xq-{umDWPIg{_<4Jpp$z3ZkQ%G}2e6yuDK9%U5Djt~!qZw5a>xwV+=J+4V2 zQF5q@NTMh@Sy#J>XIUwl@%Hl>qbrS5R3uH=yZx@bt-6hfgHc%)a_`9R>yyo@_&dA~ z3)y&Tk*x!$d5_nXAJL%D-h?6wR)k#k9PB%i!7i9+mh}mbUT^@IdRKQ-AriK=h5b}D z2DUkdJ%V+b4~97o6lv-uo+1jCe^HSY1_X3829^KG;OQtfjg!tX2{vQrr<a6eOB>qn zv=wojaS1_1S5XzA(|mcrK9%5lH<R*FoPM50h@NYm(N{l5Z5Nt5tK(sf`_$w1R(g>= zhS&276p)Uw@|BNkN2hhF%1kff_?oiD4&%LLY!3|021)$<mc;bS9~6wdGktsgb}JEw z5jFKWmEEM<kt}pBG~(dz*VO&7!&B!?Pi<Vp2i8tL4)1aQd=ejCbv{w2ap(@WVzroc zY3|h{v-rI+q}5bh^Z2{2_xttnevyz@Ca#~fvg-^WLMjFe<>}w{Zr_4d2?qV%*wX$? zviAd-@oBa|`5|U<h5pJ-GQxhqm$*mu(>3~`h$@B@&4a1U4=*3x$K&-42emg8$8q`| z2V47MMD!V{Y$>v>8K^}S;bQz;+uiTF)0kf(B}N`idGBL?yR|kYUW#fXdSa~`gT8fR zUF=6%t1ma1@N)v4E9VN8CIpOCqoqv3l++~+cTnpw;F9ET+=|L>v~e?XTu!)!VIz9` zJSIp<X@+hUV`XD!Wj&*o**lC$C?Y45cdwKG$&~L_)skM$?=sl*{!N$X=j)A&u-&^) zo<|OseFsX`Cbc-JfZ5~Ct{F~A0Ga+{TAeI{QwMgXn2DFdcaAq_8_;#FL`KAGpSN@( z1w;j?&jS_MQ+-<zqSH(_=%zgjm96b?>s8L%1|{HI(t@`E4P>4-oLBB-HRBCwRP{%* z`lDX0{4QzelzkBBbEOhz#EmFe#T$nMFAeF4Q{vRq-Q0ANLccma&nHT|ZyIb$0th|X z7^uTQ66s=8iE`+*lnYhomsEYpTCxZ{WzY@M$oo|1$Y5vR^^-F~ScXQUMap`*zVK6q zD+T{X46(_bSLoY{iIO`FKsSelRMf(Gx`LS9fWuTIoF)^hs%1Rzj5rb&|Fv>8K6DJZ zqZsjupWM0E5<jJqtF@h#T}7j=l3N(1HIFB>*G}M{ufjY%TrZ|C8JwGxtn)gOMN*JI z%h<;BO;XUKP@mvng3FD%N1;jMf``8K`#N^vDC5lBzLOhY+FS0ceD2$?Rrs1alDaiZ z*oG%`A%Ehr-1cmofbyU{{L51JP3Vp1?S8Xzv_6|3y_41SawR`^)X1gZHN2tv<WgYa z&wvgd_ZI^VPH+J?D~8V6v5ND7UM}c{T;v6#jo-Ay=y{F33^<2Q^7<@Ep}MLe>Fl<E z7w1F>zsDxh*1WS>!`bi_fy$SUGG-i>Wey@IZ%3%S9>M?_1kb9U{*<{4<JvR?kwzOa z!Jw7m^WRnVoURFL9;+2#CCLe|GgBExpmWN2bIlO{S;9V2RkbI!e&$GFoap=b8pmTs zS>>Ie5!KkzMu9!yIMnUWhFfDv9~#T|lfS+fw4AZAEc`3r3nIUrNX~`Ypdf}x>wMk& zW?otImg4kk$DZj)A11Gup?+!2y9DX`C(Ub6=pyQLsU^mH`*?;I>eb@Q!HkZ%ch8lB zp3Dql5lp#9JA(_U=S?_%Q8O2l(e!f{jq`oz3%~6Xbfvevgawbt%y_q`!^XO9Y=TZk zigX8G!?SQH9woQ&?SwuHbH~bgReTBG$6H7*cc7Vs^4{*IrAzvL1PjX%#*-xmRh>9d zMtibw^11=!PGY<SM0cvCv{NFA4p=GiAGU-AbYx~Tw7qXFKN&d8$#Dvj+1T&XkH6oL zxv{5k8?5nu)3`T5$2}ag(J@JN!)8-ZYz6!LBQRPuFOpuXW=+^Y%*`tMkCu)LcSC>x z8`<^A$ibA1+$vGV#hKY~ZnnB$kZ7uth)sRRKhvoE7%m;D%P$1@f`ZHU2d`$1Q=aPa zgel3izVwJ%+d2A^W$LC;98)+YziId&WW8y<s=*0U5vZzETm|1qeD9uBHP&wiNxbho zZKHSBm25URsOx)X6gGViWIY4cW5k*D)XfksCZQsXr?;Kq@3**US5(GE_+P&Yo@DfW zLJ$Q_n3ak1zGr)ha2V&gOV_ahI6HHl3QGO2;Y5q^Gl54mIzdrkeSKVZc13;R4PkDn z{&p1LdNQh=nW<AEnWhal(^+AXQ`Y<daqSo=BkDjK<h|g7JcTe0;c2^duWWV{s8+%T z2yhNadn5CuE_OakZtEpsNc3xNbn>Px%@|By@4SR6q|J4fvN8~5dzeNDsJu-S?>o?P zXXn>1IinEZh><I65rF}Gry1{>a7xMbT=9*6*bmPRgNX)hpg(+365Ek?gcyvDa%WBN zGLQFGkBrt9dW3?yIZA~#i3E>E-ZgkA-HQ9fuhrz&=I@w+YAnA5uHwcA*CCd@92R~O zHTV7P_wG;L#b8&3w}|$8g<8v9b5W)xx123O=fmGdPQxE=ycT!?6(3Ii=QRU<Li6{` zG%IytwGf5yc#t-8v*Q4>B@W7%<WYBB){ilB8cSu!D&$G!w#e>5-#}A!xXji_p?Zl; zZWd+-pn>W1N$!>qi|hF_$JJT~cHs9XUD_9uUlL_453Gv^ts_&LP7rqcu!P8mPaZb7 zO`%^jWVFo3o~Zen25%_y;|5)HM`_7M>0*{UDEuK~rIVcB+@2-5T%>FmgtaLd+?YHT zdss$C=%Qt?^0qf(QNPZ~_t?atOm+gfIpuHSXrc%+yMOuq*9gR5W)Lbcd=5FzbaK8{ zQeEAD4vTVpYO%>R9~XSY2~^NA@vg057{FvQsL!U+ggTad{sJ$ACdMb9$xX1zJ`9h` z8smx+|CPz+@R9SVwGVdQ+<%tP^DUHu{{_7QmD@_U9;dV9rJnzn0r>y-8n8(-#st0P zEcw8@S>p?_{)axeUDdB^e8@77H8w*A)eNeSl~vUFs|MOSFf)f)lE)a#QtSBKseHAT zmUeVt{|r9R<K)$T*Y71BJ7zIzLk8x7pA6OfTUH->;g1f}n&Y%3ODQjNd*a4;lBW$o z9)Si4MbL;HWgAIKkf^}{jEwoYv}V)MY|3%mH7)vL`Vnsq+ZBk!NFlO-Tu3bEYy2Y< z?HnuupsL@K+-TK9x>SDYeRlg203w9$vsL@?TwM_dTyc@-E=|-*WV34XRt0!&SomXQ zTfCv|$*Z50cTq4IR=TEF`>O$muvhzS8JAKJ()a%J_q@6uSj4*?vYDwH<(MGQ*dOZ9 zj7#IEee+}Dq$zhlZ*_kY)*LYw8*72Jwz9&k(UJ}jKTL~{kjaq=yx}D@-CE7n$5m8h zCnDmDCz3=h1YJ13b5dN4YH-fsDzd{%dYIJNQRU2)Yn04YS-)UbVnwZUM7?aLUi)xl z5h+0Ew3@>W;dFLHq3*}o6P2IMG4s3k8~xS4kb7+Te$>Y|<kM2=1k`AU%<$$qf2@@Z z5_a>!mVwAgJp-$M9K16%7&eczHS5>QxTQpe^i3J=<~cNNZ=`{hnrwQyiZr?Emk!^D z>EfGQEuNhWzCU2AoSH6X)|4yZ9`IipQ4=PwjnSV?1<D96%|3+OF%LN~dz#}xmG>J( z+Gc$G#bMgo5Ix-&=(nBwI9e;o$T{29K&=d2Q~mfzX?r4&qTW8YxN<z7IcCP4R-)kS zc;|@O+pc&N=|)$?zneMyDrv+Syp0k5q4SZ$yQ^t$@sh3wBoW@MZ6)FXU*KDhj&gf! ze0+R%;!%V%z?eb?FE^MPhk&o=-XIxJTQ9sR=A4by+1owlSt8)>!@p_rIh>Tm=W;UF zv=LdKuQ<QJA|}?hlW4z40Jl?P*^6sxCE7Ksxb)z_)C+<*sCZG>N6vz(^>{t%S}r&5 zw>a3BM{y0;fSL=v^Z3-cQX{oMiRrslWJ>?$<g}n#;*$9Z*=w5Y^j#Wy^S^V|X--d! zj7*fyV%WM>o#h}umNUt{9m$XUE~{?yvPSdgplktDVnsD`J}PpC=RCxMSCA3nL1-Qh zTG{-xT$QioAWi*rePc&Z?`@t&)A3VW8J^pRtrE4t>fEv+aq{a$AGt~=)Y$3J!<s&y zhe7ZnVWT!aWL9Y9wc|jcMx2`SbY-CQJI0W7yS#zJ&$c2{(AApAk?eatuxAb{MQ@@s z@g1wGhp09sD+c9w?JKOp)*w!UBIu~B*TpMLi=4|_9PVC}jm~aMQ?;oGS}qKabAXbY zfnBqk9uwGcgP(G07MoE1-ri{;c9UGs%)FH-f-dA)U6!wStWv=iIHe*k9dXLKIc85J zbK@cr`4Rf#8a=}m7Uxv^5r#!%4v*RF6iw11BgQkD41s!p0j~^o_5^wJi>~veawA1C zu>ZKb<gXwQ9X|;>ZZ2AZsQWyp-jBV&#uxa{SPf@@osh>4P(QT6m+3;}(6<)}mLcVT z!6YFeH^7n^=%Mhc7*4sOdSiG8muOL5g{3-r^{sN*X~rNa0wRi~T(K>I%}`$FQaH8A z=W4<n;8#$vwgEf4wIs482Qn6C8t;Cw(#CJXC|Gw&x#=fQsdKqK55KJ6n)W?N=`M#V zGcjr83&!(?MYX>gntUmDTP?s~2whT6KVE80jIQ9!ck|SGe7|mXt`RwQm$9a(TAElI zVjL;y?z%)vw;_Yc#r3E<TS9iavv@WexcB{rgsL-~PiaL=c(cz6Dk=_gi;!)_E5j)% zPu^gTF>P}(Z0eMvSMVGPCT_%dc#sb4hw^c!oS12BRT#fKwcK)TUW}H%c&8>oNJBO; z1#(Yza|Qp2Y`b5!3UFp}TVWs{B6bf=bW_+zO0SP`jd#a<#R}hEg>i%iqQcKZVUu4h zJ#*GjU3>JEUOq|V%NG@2YmJ_xUx}1x8mNu`nHds&4lz!OW@R7~C_br4b;i^%Ms&RR zIrxF0w5FX}19+RS17nhZ+}ygb0hT+cdRomZ1qX1bax)a6!b9z{cA}xxM^eqPXcsuw zOq-(RML3Zo{qhmjMiT)?O%t<&crFM(;uUGQ!ENNkQ?Nv{Nbn%x%HhBco&on@+-rT^ zvjuQi9+;K1f7-zR_GxV$OGU(<DV*{MRaZqaJzpdM+Gyyi9YmO!`YudJ1j9&<&A&s` zQlZA>c<<_RVxQB+XBbY>G0DIDz%{~O*Smq7jWjk;0=;$KVi=YMr>j=v*gxrm3!|qe z2l1bMC1q^j_sPsGxX*euy+gp~)hr*|CPS;aJxwTpB(-!`4<*@8wOiX-yf1LDq8-*i zOSP^UDq;rQ2alyo?i%neiZI@GAbENwQ*A9bQrB_1{d70(B(E-*12mFz9!zrva8r!- zw*+)I-hxgyypGA09_3dcm7fP52ucu_AwxtQW<%H1n6fSCU8q;FpYD@!W-ghBfR<qO zJOWcn{Q^W>I4+&gOD7f}eh*fDDT*Fb0o}LOI^z(c>Na=#^)S(Lo9L@T<|xDV#@hDw zww3U@C}9~u0-&;g2Ti+BlzXZRGf}!+SU{A$x_VsTKM;A&?L-tt)D!<kUU2~T*nq-I ztT>CQzh;TfsZgv`hZuf=IHR#mbmn<d!pR@Ri0`!B&5k*J&0MT_7c-BX|8GLeFu?Zj z{hzi!0Y#WI22^Q2SoR#5KFW~Wv@y`A!&iC7dfp1X`E*xs@`O~h$(;7<huQZZ<P^f~ z6m(>ppC4l+Cb{?M>SmOjzWYozFcMuF91N|CU<M1I#{o9Ps!YCuCtqTG-vzZzUtCbG z@%?0)tKn`MLyCqs=%M9&*XV29v*2o5F-I#CKc_9S>M{SlU@<SMH5skxyHi7E9{Cy! z>qlzrZb+)<-?NtFT*gvEbPv4iSYOhBG$P<@fz@cf`q)M~?<Zt`ZM~c4t86>d0>D3` z1}E?f>FI;Pj-2nUC><xw+3%+`3kz|6BO@gX<$8ksIVgu<uA0twRqcBWq322`^LxhZ z!9jw#3TprT`F~*hpnXc1H&K+@p9(n8y`dx18r~dW>K$#K&;Xf2)+~9^ZhZ$zOXz^t z&D}7;k?Zhw99v4*DV)6P0XM<qRfu9#2E#sg8GZRaKBksdx16+*@A*qUYjn<#=)tVn zDb6gavd@8ern@NvLzV6KjAXvbk^3z20T)rifBu>Z_Bqd}z-=<3Vhbzokn)IZ1ZhBo zMW~M}nRjt`G&h|vCpPWy>0B%M%tv7qxBN2d)?Wv~!Cv}i5oR~Q2-LP6!?YeUj;A#$ zKuR-^M!Z)Z|0;2l7h#luQ?6Xca~1V#$+?_v9;xOXS6tDY*9Z$(m8+ouSeI7{yK8Bb ziJ};+^*{9$x*z(5wcTay?e5OL>(f+uPX>1(a2<c55`6?~1)hcrN76V2B8*{Ak<F?o z`M$xD5D`3U9%<IS_nb-$SzvYS9?;!{Th5;AK(JmpvYUlEFy2<8yudiU!!9c4x>ED; zGE5Y42P}sL)IXx7)or%^`w*YAEySIRW}TbGyn~nQO}!iEaGsX6gxsrCU$ap_Mjg{N z?vA&0Fwht0b(Uba1nXYn0<BH?$~@AP+aDt?OJ9JPG?pA70$x3;(7PXPh`$wQ!r$9t zmg%Q{kxF~f@a_G2zUpy)SFd@|xtFbqJ+H^6SYKpgoGn)TMV74lGXv(TL@%8lOI)_+ zVX}`GTB}?@FY?0A=g3E`r8se>pg0|Cd!e07MdV4Pb1Cbd_8uXyct15TF^QW-IyfEc zt`R&@dEd-83C~Oovi4ovABM=Yz}+|QW!c5)>GlnF%W~}x1G739w5=`mgqDk#!ED9q z7P*<*as`@)d86Lph3eayY{V*5RVTl4X(kGfc?gOB@<PSL8`uEVbWiR_T7A)*VyeR% zq6dD!@d7L;QxTbw10K4w=N?72b>!4>bK{xE4Yx9a4eiWwCwx`lHex{f#9B0_VXjsX zFOVSL8`i8x%eys;Rs}q6SyuT=-%h+$6;Op#v*ERueroQw?u_C$pIWz;d%xu66jr0< zulq0h1k?NLN>#tJDSJVFxaX35cK6U`;f`17SV5yeDuI4lBQc}8hlD;DY-9|1&Zw-8 z`qreb>l%+W>Jvbn6PbSkLLX3=))@v0;f|RU{aVsdwZ4TF#IYeb0cbZW&G2c)Vk-7z zB{nwuhPPfvXvc+_eJlB2Ew|D5u>?hwr)&DUf8eD{?S%gx_TbiASr>E}w@YkxWlsnS zRk=m2%QbudpxYOKxW~7JaOln$xb7`3tyNwyTeJEhbp8P2U$ND>IlG8HkR@u1s9@+h z|920yoePuAb>0>^PS8^<{7X$3bKTTt|D*h2Iz9A#h2enK_V5Bwa^th*g?v3&rt2Xb z7kTGVmFGzTz^xVaonl6(_s2;0yJt0@qg&y8O=3~g3D^L)6Y~Uw+hZ+u0L*JNp8QZA z4)7aO4Tf@Fl;h}<Rd2JLm^RAre5~4en{(&NK$;1wtvv!yk3Nok{^F3JVa*M`mxAYf z^YOT>X9#d9L8_enzCR2#8-Df_IR}F(Pm&^Nu@!Otk6pfE#j#oCtwiPtxQVgyU*FrB zjl@N-bVi$k@DPevop#_#&Keq#S(to1Gvru1i5eXlfv$JQCG@tKCb~@#6xF9=wQVd1 zc8-2bX)rR7$?Jj(=NnPaM-L={)SOQqXCMpeHfCWOnFXAaCez`<^CIC}Qw2-}Y}{?q zz_5K4<pHBBA|ySBF!g-VJpf?|1FHr0Xmxx;KlcT4vu|!#RpH;1e7E~VYP5C!yZ)1z zLrabMmvS&qwR(d5Gc2Mi+o99ICPqw4SSUn7_f&PPdm(mgckk|%qldkEYMdu7nLdvd zx4^2oeVt#)JozDk`ja}x>p-f$^&s<zOL)lIA(w(cFOd9UOhc8(8?%fVUhU*^De88X z#Z)P$EOsuiauSP_vE$A+ngY)L^Fe3Y&*%TP^M8b2ExnBnLREqK0l+4j=D>M)qT7B~ zOFAe?nFLGOI_FN`xgqh`NzHI%sro$7BJFG>lSE<CDQK6O!(&>WFr(x=3!4DdU-Iu) zMTZ!$?LDB@$RApS5o4O}sO;v8u$}~d@zNvf%KSs^-hk`S?m^z{21>1NGVVZbbFzXv zIkmal?KIMTk{BL6zlbttOg+->{j9CU6x~H!p_Vq)$tdQor;LIv%4!VZKgzQpT6-3c z*bTjpAbvRl7FUSofYrER<e=W@hvIHY|GJT5CnBO^GK#oP%WLUh^X4}-AtDWm@*+<Q z26LigPYDf^v=?F5h-kj6#tiv0dJC+{Y|4UeSpKTa*V<<17jPv!{|oDl?QT!7oJ@Pn zH9jb&6mZkA8!DOc)@nLU^Knc!Ps2}%QIZevH}Yb&yQDZ-WTx&474+jROCk>7_Qm7Y zB^*r@)K3`b3krC}`nWbB=jZ!N!p>QfKN)e<mFi<qWAyZTR97#AYDi5I{m8oT6N^+r z<$5MP0|g26N7<t*M#q%o=VICFzN<TLrXy4+b|*E4CniW*s(yomJe>Jc-$is-$L_Se z%pyTemlue8lvgn#KB-fH(Mif_o5`qMbb|8#0g!Oz@&EhtH_ZNTz))BWWjwvm@W@EA z@2gjC`WFQ*T6{#u*A>D$ilwNMZ)tj6wgjxS>)%gG>^D4i&hp4Xrv=SyZbM>RtnBSD z^r`W3CH)bTB!6SUfP`^ACh#%pU}$oH?(I>2!3r^I?@vN-3H>cipSIsiCFTS(vf77) zkh(u--)1uPb7#({W~C-^Z@>Hph}?qZ6{mHxI|RxBr7T6>V_3v@8nW7$(#Ej7o^a%M z#%kiC^>CTxS=zd*Oao)-YoK6eWbe7h0dnNwJak|*y;*IvJO7iGzI|S<U}@OZ_6gxd zsqGH=s@R$_T&MMv3Rl;as>qDOYClclB@b^S@A^)yB}6m8oD|VoPP#A02akGCp6ScD zIv4J{JlsKE?CtNGQ7^HDNp^BsT1zqNih0n$Q*UpzH1HpqZY(Q+8NBLv$gtC3^qkMN zxVc_+EM}6p=zL>7jP%Ka2Df^r9A=%ZzE}gGT2ZX(siMe+UHQ+#8Nb>J%#Rt(a1i0f zEa%x6ih&i36wr?@*)oD01e?R__(Ln;(ZXH}^MSG-UCkC(0-y&t9GL<+85=L>)ehYD z9>FUxbYV5{A19iUM%6r-%`H6Wo7Sw*?ApOvM1_T2gTSdwRg-~ct@FaHm1*xK)3m&+ z&!S8n24$R|>w}8-NpaF1Yb$2RIyplvoagmTTZ-#9Fo?WV8?xxwR^ZUuD|=_Ul^gS; zXvnoW21Nqwm*w%Uatgi%;aTbPOLo3bB~<BCf7s<YV1NS<h4ZCvI(J^uaRr{%qX2Hv zE4O*cS7#UrLN?6Ns1}TkB)65%<ax1^s3yD8M&_*`c>gL6M*W8|bMDyBW2o`Ma8sg6 zi**&cW$&bH;Lcf&ygpD7Hi=nlQ^H8{n&a(I<lb-Un9|_tM#`#RBu<4y2a}f5z90)? z1Xsroe&JGIOoJ-dZIvHyiSCnz-66d*tHdeTuXUn3>|u7?L^YRko?|Mhd6nQ{EZrgo zdJU+)69fQlGx6O&T|6GPB0+(#GGoLG;3=DT;uFEtCBeZvQcxj=*Fk=tne0kBZ)-(@ zM*g`0Foaom_qFthq!vvM?c0e=JdzHLUM}7rudqn4dh@enVsB;VsCD&^;48+-%5C2? z(dgpia`L}Xvx?_OJCU9{J!WG~-AE+G&N~MD$?Fs$zpZ3uw^hODz-{&|vOTcGwHj=f zJ8l0OPpbzc{H6lMkS4|xT#8NRKl|ozJQmxs0DQT4v2IK8{4ffi1P1mPGb+o~{LAV@ zB+>Bin5ynHWTs?#cl*^EBfi`Nf)zczzdN1Ulpw?4S+3x@qUQI0Vi9n>hW!(P;h<Mu zn_`m(Ovh^+am|&Ks5Mg0&)nqH6&|m^KzsSL5aVI4>PEFPM34(W0`8F#$J)0CX#WH2 zKLzOCn&R$tY17IdQTA&#Ik?@Fu@L`3=>wl(N{YxyK}FG?g{za*VMgI{+s9R<iJ_@c zF;~l<<D$<pyr>bHchU|CE}ASy&WQ-Jsgl=T2>;VOga7P&_|3riD={`;@%NKUEkS&_ z&-NH77HZ%N22mW3SFRHMm?H*C`BV;XYbTb?5Z;Toz91-C?_&)qQMw?|TQZ(*ctobY z<<l^4-XwGZtlxX9{xIvxka6%In7E+ue{ARujC>ImHWa{fgUCH{V2!eCHJqrumdGj1 zU?fRRR*5KUi)!HJQL!!mM7q+)%A>j&O`poWkwC8lyleZ5X2zX4E-a$@H$bB7?Zj`8 zC2+NzmYK2BG!*rRlv-VE-vYgE=TFPL3QWqxvcVwUgf90zcmG3aaRpzX#;I_z?c*Fs zylI`91NX89cW^*go!uKL@47@Y6m|^y?sM?t$^2YsB#5^fP0i-r&(ln;qkf<*{nsu{ zZ{`jNYjQ6v|Ek+(==44OS+g+RzpiS;^k{mI^!%S54Y<vT>|QrM{p9GHo{6vVN0r~k z-UIPCd`wfPq>I5jgS}J_>^yUo8Vs{ic!f&EjSX)18lHbH^xRXx#iB}EiMBiIK37<& zdYl->iCpX@e5mSZkTDY@i2CrtTJ#m8*o1O{$msAh%a=eURuhlRP8Nf~hdHjEXoElN z!Z%LHXidRJTd_=xA2&pveTrqogThdXN{4Bc^l{b8h^*iaX~OfrTw*|g0%J;0M@G~J z(XGs~+QJFD;BVLuPai3Td@qywb-KN#E-|2NyBL!m<^Q9JHaPSoiR$w!@U(U*hlz?{ z^uzxGivL$aAHv%|0j9>o-QDm}3Tf?|t}bw-(HhWJv9ZxWYs4-{@%pdQT?1-Q-?@)A z-XrHJI&^m?F4rngw!JWPmr4KAHEqOE@VEK`U<fU_0Z=fEf}J#Q(2>cz;ngES{qpz7 zAbWd?z!2z5qfjOe0;!Y6{$)3zqQJjW2lo0^u6D<T1Tgg{y!7CKrfjCN?>50hYwAL{ zi<z9YrOe>L!9grGIN0&2z15^rd*(v0ts%w2n)YuIK3}ptDO;g9^?wpJb{mZ@LBxX3 z$&TyON4P!+&449$2pc)8s@3%S1RTlMIn$|%5KXAOl9?R$kT+wHx(+e6+`L`yKVGsz ze0||_?Cgo1>z+~3A%G4xbF=IHa#^9Q5V7HlG>gR<)#YOTtx$Ge>{{@bzUs*8ZU0jk z6PtF}oMZM(IVQZJZ1r=ygN4f<z*DZ}!T72k_r+E~8+-vyNbdPJu7lw<vb*Ez0u<Xq zQw6b7?L^!EGAJG58$_BkffUe0$XB3d$UtOL&Qh$xuT}Uz4^@O1)&sqalhrKQb@%Ye z0LK@KY#wA|4GW6hipty20M^NmIg~i^XqTSz?}IXmxSyQPtx4#PCPjY#*spXx#gC=s zb^66be%vUGS7LU^+<Zbg^#<~zw)AiECY2bRlKYxF<LxK$i+2L#2@ji`3+<x|m6Ybr z8X)3&n{}JYr@0?0$dI-UJ}TMc)OXzsNo6vI7ce<7)gN&gp~r<(qD65)^gd9Df(m(8 zWYn0aF*5)RJy2b!4{yS@0)qsDK8!LjKxS(dip8k=UmaO`>?~C}DNn^V(GxK(tl2Ie zW~cCCfuJ@bXCj=DFH+Z=8CBLCJu1CUeYdG(hUR&@#1{!YC7qAVB9i~J#hSg<Yk>c3 zxMuaBWKOMQj&Ch$i~%i{@3j}~WNf`zw|$ltKDxLaJ^V`gCQ#3sXs9g8D|uHid!SdQ zfIdu@h0sgLTob?R2WwO++Z*YS?KgShTXf9al+3#qMsC|kTk|w+9iNbT^!XFRx<;eU zH|5T;hvmjEc|T}acuTNEKf(x4PmPU@O?h?sar`Rhnfnh~QM}%pctS51U2Eu55#m3P zTW-FoQ@3X)cl5QZGtv-ZUr^pAb8HAYW*5fKmulvX_kc>yMy*~AN0(FqML%M40Yf*x zBJF`nXP|LAA<4gDDedgcRqb%}MRMA)GS#&18iv+)v=}6)i<eajHGB5-vJVC@Ds2T= zn@?sFz!Wt>ffFqn$-7!Ln$(Pd<A2Vmz3R+1pN)6!c1Mn!l2jM%Vgt&IRAw8-E0i3T zgdab|kw^&#H1Ycj#RSQ0vx(g416tTxOr;wiOAtHxr~9u)JPiC%dEBF#^gc`vjaVl2 zmKUW1KYVz5=h4H5ejh@MdkM?`{fpsmll1y8jpCHxi?J8o5iaFJ9)>wRk^QSgxbNjj z49hFm^u5ktel~NHoyNBNF)xhDgqj(n!)6)40?4UGc(Fw&XOh11BCJ;}GtbB`(cn)$ zjz6vWB_vDwM!BubjTEj2Js}_}7JsYBhHY94xz~y!{#Q;!Q;!k)`5<G^NpURIdbuD@ z_(;YX9y7hcPk)Ed^6gn}ja7j|_@nX%Rxi9xT{9<Pf69wA{h7aQFEEDs_TO(e<Lx(j zNPK5U3!H5}4t7xF)pNe4`t9m-76t*9=f&z@v_1-3Sa>hfQ>`86OG-L>X8=R|wJN7* z_dyyJHp)pDk>e{qS34jAXY@RFv={oQZ>~G)SeSD$wJHVl0*5{$%}&OHC^?<99+NlE zB3-KU-p6IJ7ta)k(frDp=m`V0nkg&<l&s~N+TU1y_%}H$Zv2)w%<sr#$M3hVOx{oE zGnbR&k<_<7W*b`j47F?Zrk+fa+hUBvp*i;qYiiaTT8Y;5%SN3sGI3tKLkA&YxA$4R z(oA^xz>d`BTz>()jUu8}VH;bC1i0WoHcFFvh@3;t6($$`mY&)5A8nAYy|N5Oj3>0K zn-3SyKca-DlDU*$>vVqcn%sN?Q!;vGK|M0u<J;92)7k^@B}*+=h!1Gi)fMj-yO%%X zEn*>0^_^pPaii_*Ux*21fYXC*HE*hes5+$b>P)R5GHPP)jNaV(m;Px0TQE4*jP;+= z8`q<$&ovCU(;DK^-a0ys#UCpdz`+&r_Fuao-}at<e?<1P-AnORO=aavevdmVAg<yy z7x{(1D$mAgOp{mxukz4_1bkSua3~N|`XQ7it`gHcQ`e)p23r4$Fz7Qdfm5Jb45~ZW zR&gXtM^Y*{t*uS)!-V+whu~GwLir3f(fed955Z|&Z6w`qg1gA3x$lI^aEAlk;3>0u zDQP&MReimNUB8>9XLBy?PjcEHyP%A^7jpmE3p2s8Cc>NM26%F34p$`2XU>6^fPIXU zC8l1fZT)0$2o>4;EOhy8v)yB{3vsWX%b;o{eWY~~a!8Mt$})_FaNIThPZWpII=T}b z1O$w3$gOsT>#0Vi5zWh#4=xcCW03ga@fV9v;?1{5ts^}mY4~sN)<M9>4)|f02&_~2 z5YJ-f(x*9#Q<n!-o1hyxIXtUmQqQFcg7Q6o?)_-CDVnN{EXz9Ih{>xQ8es${Jl$sf zX;P!#L2K_I@cP4@xO+0oE>gVUKL9CaeB-SJq_m+WYfti?!_a@+nLF`N9`xmt6)eR? zh*-Ia0hTc5TiFLQ-NtfZ+^n7M&#?CBF72n}p&WcCS<xql*q=If=+G3|_O{nAuu4*A zP7#9I*i2K<-{tyy&#R)3|L^=Li!-|Az#A%nyw<8M?BAaABkWO3e}8I!e{%yi%iL1> zas<Pr|5KKRnE@&G$5?<(W$lSClG6m5rFyp5D1|&vZQ>$zuKJ6BD+lBmC-rhVhz>lo zfZq1?lRPk4asne5YJpCo|C`O4XAy_YXa5%Z8~#&yfR-dQ#>b`dN)Sf;GT9W^;Zm~p zj&oUe(N!p>A8&M_ZcCopY4>8GE;vew{eDtEbLvf{4sx%<F7AO-;x#GGNBucuN-`PP zGZtz0F?bhLbPsz=<=clRG1Y#lFSe;?@G^&)uDnzUshzR2B};Xg4?wm(VKskW%~lFF z(n7-3a4?Nof$MHg{-T*4RCL2DEA1#AVa<^6q~HVQqH6E6GCK;a`wK6WREve)A{US^ zp$#?saAx7&lzqtXPKh)*kJPGqe{u5=zlo!ty_2fw?^v7tI{`XAI0urIXF|ac%t{9K zXT_<T0Q_+QQ`-Es^9f}_B?tOH`s_wc>@&02V6W10O}8<)b6>;og*v~^%?m}pr8;9^ zm`d3&5+~0>7?{t`@T_j&e{c_$nSY8~BAvdKC`2&y>V0Tc<_CkVQH#1SZ|+C_%M=wn z$kDO>y36ZusSn;mR5O~d;jO4olM*JyWa`UW5Kd|+u-`n{+`MDe)HpPrAL(xRK;dFB zTgstFl*x0e1SksVKa(y-&c*lWSFT5rrP|N1jHi*HADva0dpS?BHCCHDbRgbAg_3HU zta5;X&{;eOzo`v&!(LGFQcihwlT)tI?DG8e(6rLVTkAag`Dz8wgVd~Nq9Q{ls52Q2 z2hkUIwTm?D6hI{HS@oLB?i$6Tccr-~2t-nN3;aCc;&YJ`p6jNjX(!12s+G9?-FTuK zF~+FbTIOT*?ScJPAi1SXrWnHI`M<!HO_m^Y|Nr5S=t<(kiMF+Ak6k+Ums}N^W9CIN z+2gA6b=PRG8C7A{s!q<9B-TKIRkBTnqR{0MY2LkUd8Ott%|+N5CxI-JxF{Z=Mu47X zKK=`f6^__%X=(P|%|c)H_!y|PoaGGvM~);3=L+p!RsQ%^8%1#Ka?CrH;`J2#|H0f} z1;xQV(W59ZXn^1rf?IHcI|L2x7TkkdaJLZL-5r9vySqbhcV}=J&P2Z7`QN$^_nx;? zMa>IUGh2G^?q0omZJ}(>{f<czqq3v<zVVMPlY_d-cV{yw{B6<a9A8%$QC~o(Z4cmg z?0DV85B0y+qZknqvTPxv(foKq1he;gIiZ2pU??Jlwy9cQAr!co3IGUGw8O%d2knP0 z5d{C^QTTU0i<ht7-;CJa=q_f<&i@356bnzcE_#QTaBhWu!|67fXQD}>ufs_d>IAw` z68&c=C}}oUYr1MRqV(U}OM3yyh5a&bq?pUxyn%;OJxb<A^2$SFP}oi6rlR$6R2Qi@ zheh(_oI`(pFM+X=>0!i&ExxqSsLV~4sLzHvfR8ZhLCqQ%0(X*X#2o3CTK||R84lMA z!pUur<47TZr(ZU|Q6oik!waQp+N}(6tr>OM$bSpVj@={km;PN1&)b&o3|jc9Lx4+2 z=)~#}>bSTtIVqD%pgI4uUXn}gz4)&6%G(PwqA2aR_7jYsb@<a#BZ$?C)!5!2A9k>F zqeb*@8Ibx?o4!KAd|FZY5nyw7mu6-D%NPNH=I%&N>_hpE<hUq3r6Edpen-I^Y<SMC zl)>L?ND_zXaX<9a3&Ne2qQs@*-Xm?fD%%y#3!HWHnc!OG<P*x^^%ix&!s#8E)|T(L zau@T5>)g+Lc!zGHVla;Y<WSnC7FdhFd+{p@s{hnIvJgVo;_<sq$?zITbpGewePCkC z>j`FD)8RIvh&Q0EO=v||-UNHLfyERtP6p%3E8t`;>x9&EE=gNnj`5CyLk*qh3wzwe ze*seu;@|_EP`rD^0QTIrc3N9frord1w@l?{p=By#&%)Ub+k35I2I4^HxMCQGQ-DFF z+kJF8QrA0FX`OpD*Ea7n9WPK%A6T(R7+l>RWp4642qK1)O8EbZL4NYn{k^9veWB@u zZ*LoJ-$u#>P+8yBrvTyFT~^ZG75#D{j`hlVi?A{WR{PDwB|59-WBAmeOFTdo(%fNh zbJsc8+uM5~c&Be%Epi#`!qjzfFU_DM|AvuLz_NvjH^sAlT7G@8ZSKJpMd(YJS4qx6 z3@s3&8M%B#P#5y;AJQ&_ue1rZlVQaj5D|=XKFH%u2rPogUbt5~=CsqTz(y^;7uR=1 zx?UfZ=}pWxeFa#iDz~W{vpJ;44rLL;@U>``KNyT>youHF7z$5?=k4%$mHu<#W?=Z9 z0FlRFeLd!W&JmsyvRGs8kPt>bH-HYCz*PeFhd0V4E~mceLPoI^MAz)gnVCga0!*BI zp4pdumf!n7K!7!5!J!8tIP}o{U+D3h1K64w6|!niVAI&P`77%qoe*aBeN5_Q=h@rD zag>N2)8C3cVE2eGM4TQXPG;aGa9MFrM!Ql?ph<%lDpt@(+k&xvGDB+2njzg!8m+FC zJp3Vjwjq+r3NpxLNsyVLJ~-H$bSu(f^wVO5U)W#Y@&8K5<^RXfT+Uz=t2Fu2`L?_l z$Pl@|52TEPV-5Gq{CL=rQ_uL@y6FKS&|k+~it~pwV_#8L$Uil5(y~_*&(C0dPTO7) z&yRiehrse%c7sm(<x3=(l{mK0!C*moYNmR2fURn$OY4le^RN2y2<8;O5TJEWuMn9F ze{uX!Tk$kO>-nvu>HqVKpo8J&N2=sy|K13wwrHOzNM|-LS1h>ErJC{vp+n(*12*xJ zw0K4fJD^O>L`kv29*ib}K(eX46!}FlI?C-TkM3ZwMh>g~kdoZdiW+|?#IlLf-W$r{ zg!K@Czq8`)fGQ5c`Qmg;02uYITdMJAVUH!g^pXBeFTNhzO<6Uq&^dMMTM2B>`^~H7 zG+Ukdi>mxm`YzNGamz1Hij`cmk~m1YQJ*XgW@9+tXtx@D3#v@;bN=@W9DhOzR@1SP zipAAvBJnJT!N-LPFb7lIw>|zqVFUQ{7w{It-(&57;vhw*#BDn|dRil6V>x6msJt2H zT6?hPBlF%rr#%thnTs*kZ`}A5^?(RLoD?HhEn?0p#_@6})jN@N{IQ{k%`F3rbgT*+ z&O{Jc@!b@zL}a9~hmb2eA%%hI%vAkw%c)Moq;2+xQf;3j+Hk6@*a?e<1_1W=dAy3) zf33yE3mV*WMye~W*6KDfZIt<200fl#lVdl&B^QJ|n=5Ed!Cbm>lhE2c!IjGM#;lG5 zBYCvD@Fv^Cy|2Y?q&NwTW$5JLy!9$tzewcTXS@hqR9#`j{U3;7_FQEw_s>ahaG^8d z!>uKQ3bz|G)5?b$&|7iFCRo2#c#EE%+Bpj<uT-Py6rizz94)Ximy2B$GTScHj;?=u zerlB~;Ec?o+Q3C=yUyN87~C6ci=kwWf2-aA75YGHS9VnAeknp~?Me|7ToS%MTQP9Q z<p#@r{77uUe)`&GA?~#(UG-4Zc;W3LT{3$|3tC-s$?-mrWzDc%og_rTtT}aXU*fX; zYlC!9K%(Gaf1|PE8q~aUl(>Q(Pu0!7;)d%sHEVaNm5(k*OPTWE4t<Zu>5I5`c${0l zr1f?37qEZOXy1JmL0Ql_2EqYR+lNe5`O#HK(*R<y65=3^DdW4#&Sf{o?|lcSGvOw1 zLQ)8IkF@<WacP%6gIpW+^~@L8|Gq<c<B+~>KSTBAsPp3DBI<==-dI;yn4<^C9bE&W zw+ctrG9z-)tVJ1A`yw5U`CtA|L0+`t&Vj?hc}M7>nH&T2FV?q!%>DgU1z!+pDSv1E zHBj8g>pAm3z`3E3(4LnG<9-lVtL=g3$2xtd!XurVfMP1LVJ$H#8*h5m<vX3x`n|Ki zO|gO-P1yI6Z#x%C)bRVk1d#)^-Tm&@NrCExj`4Sk&fzYjQ+lKI7?<<!2Z;;t;+#M3 zoWdIWU#l33b+KSDTnZ{I(=7facl&fY&=d3A2GQK<MAHAn-pcUu68lsJs-N<xTyY`B zL^s4c(_Dt{U-C-nz=^^SZ{&R9*|vJQQTIyARj3rVhtIR%m7lF&e1Q8u6M3e0JXiOr zZj*CqtKC+yv!C~mA5Bde7l}?dIleJ;tWGgFwi`#TR{kL~K=`U)S0bG)uP^cN@}p%m zE-p9AtyOqm-Vanuk3_;%FPhg4xR=WY{O${gV6${O`Ai+-Qu}E+aC7P;H}d=A_*ofy zKgkgbPE)NYW>p!tfd1q@4z9DhNHRfcQVoH5YE3Tr>;gD*zY3!EqaA6LGpG3voi>4z zs={|~%hZ)`Ivood9(;u{B+s%OMX9Capdq;jBK}F@@o3d?BD5Y9@9fX`?(0bj59n_n zU_h5X(VDyC&mRz66@$TVpCkS`0~Tt;PaeWGpE?_3%J|m!Oj^d{InbPNSrDK#$TYEZ z&Ok=iTYNxf-Syb73<vl%+N_2DN3!mOnlauM8V}i^vhBM{aEtAA7h8AV<Z(N5?C)Jy zAfavb7~v&2?y_-N_c};qu{&|DVUwuNviXmvIPvALU!@cT`&Fg>FH-%0Y88^?AHnI; z;JomoqZ>((APrumXzqWByRBtbsrq=mB>Ueg9GK#)0iAX!s8LPvuRR1+T^y{XaeQE; zp#0Z*RX_W<=mqKx{W}?s<iv#t_F+?+;&7i7{sw-6dKyrN_idnd5D1hVRIdO%G8`ZN z?_YlkX8+GWva$r-Ozu4#wllt;lw7*(&%uRVQhybL`a2}{7{Mcb_nrn|Bvq_;?U8dK z4*Rr%J>B06iFkuPs@;k1sZ+-4$#=ZHeQjR&%6I!qUkOTFP?G!pf7DCj%5fNM>$#xX zG4XW{BIT4u=f-A58!Aqg%NuS1-jF{HpWwhH5N1ytM6cX**Iq}karny{4F$8F>`zeB zX^zmFI}^>xx2ziFZVeVqq}5$=s${)`dnxZqUam#?W$E&VL|%CW75OTzm9J{;p6a6) ze~44KHe8SLwT`GaQPp+f<S(BKvPAF*EEHNDuQ+FcQdYJ&Z`4ZL(YZ3GyR)<Ip$uvr z0{0@$Hwe-=l@uzqKAy$9wMC6&7Z%p+yO9h0Fne$<x0#7&d}+o`K<RjEcGF-+to~pV zS{)QbWlkf)djW39kB|Se;Tn(++pRaVruo4ixIA+9vr4HyPE1QylQc+*oJB-LL`Fsk zd`?1cJ=VCN3O=%o&+8Zue61pxSX$yO0`o)O+!7Ext2MDtpyUf};33jUgTA~Pui4f2 z>IMf=yT2Wo0OIAA=C8`td&>!YqKbd3cdX`eYhT~?r5${dj=yxT4H|1CJ%;P8*S?a< zFylY4I#|Nf2@76xlp~wvj9j*#2_z<jg9Qw{GV<e%gst;+XM%O@9Xs#cuymfkRTK>A z3DUJHn`1VUOxz3;%ucVsZ3zHF_&Q`tSNMPH7-qObf*U|qV&gD6!{E-!p9*fO5{Q1_ zZpfQfq+t~r?Av6{jLcofX17O-w@1$vW$oMi2o45^*`h?<_Mk)w9e7JYUoh|@n;+-3 zwusgAdJLB;DbkIxy|~c(jof71(L}zn4=^$|GsttNhN;J$M%&qF0ZA9^xrUki2c03f z2h$Z2m?C*X<JlW6RU_Io(KY#Hs0^lT`Coq*uGE~esW4qlnGc6<i4JjQP5WON)=Va3 zZViJfQ(S4#=0f@T8LDN;!>50mSyC{5OSqA7SVsaL%sszh2xUjMBVH=t$S_iDb7VY# z%U5Zu()o^?rzEkS_<&6PnFM|G8YF__vOAslX}YBVZJ&uSR5lFd?&exx^jrXsu$`3q z?yW5ExJ}Icb)~9C(-?o2UiGm!W5%%az1>(^JeYgeiZHnJybIJl7~lt!9A6TT(l54$ z+PxPN$H3v*nca3FWrOeNr(3}&3(0X7Z)`;r#@Z8h=Q2jKI#W2)5FQ!Py&Bv$yBz%* zs}4=4Hai~dj`?Rrr?#n&I$w&zAH)_FA5SistE%|<*lfjE*OsnuY<_FPFjges@MA4} z8)r2L|COl3ndy4<$)-k_4s*$|=p|#CK!H4g0>vePC3$wY|NLl|x;R>(IPxQ}tC9#? zG8h_~AW9)I+bC`8IHWT4G{rZsZ_Ge+G*)1F{w-<Je#*by(P9w6>sWR(a8wQiqK5oj zPl`}q0kl%55Gvk9nk^!P$RV!|!QGISW+pW*xyqOF4#f5KWyNCqA~O<OU~8m~z?zSs zMBIdP>kK9PJIGYInk;6naqG1$lw#{Ui*HD!k^+B&Rjbhs8YS~0Sl%3Jb|c&Np>Q$U zk1CbXoOjxisVdnl$0t!9+uY+kgq+3T7P->k(L_S;9V{Uu=lnSx#SC*QsWa7(XYLz1 zQ|A870HGsU2RN1c%tB``3g&ocIFs-t`BFNkA6-H_{s{$p3FtawW8xD!v`5T3QA^ys zF7{?~-eJiA!8Fq1`<HCr?3StLq?Nv8%X9uqH^%BBs)#_Fw@Bgd5+BBq=qzHU@U5)U znax*g&vUP*buC}p(pn#qx#NV_)1TF9M{S=v4TkZ-C&|~((RnTdLrsi|Y-&(_UE;x` z7F@JrT+T}8;#~M;p6Tam!aQ8WIz>DwfF2=2DOT~mWSQK1@|t!`h^lhXWA=-B3ICF- zN^L`EDpni)(~egSq8Juq<Omz#U_%Igu&9DDJ@M7AwIu&=Fvb24yat?Dh&&APv?^TU z=82qBIV1{RbO*P2F1eKlkMI}TQoabXB92Jk)?P<^2Zz_-yqt!jVx=VLV-9)s&Lbt{ z_~+^p%JspHx&x=ZpaFYBq;<9<ehsgxJ2L-1<d0DRhMg{0UDUhD&_>;ksPmU1l@Z2v z&YQWW#Kmu9YaviS(lYNoaWZT1bLl3G&!2uMC0V?pnUdpVNox<Hw8+1XT#Yc^Eh=k* zbf%+0RcnBCbYq^mnFJfRY4fLX^<~sjX^J{2Ogc0KaN{ij;-IdH>r~-9X8njQ*QiWe zqwU^?mXc-0Bc1scoHTFJO@^h=1aqNySc0M*_30C0nvAw3zX?~}QdiNg{kfTSqbi7F zu4v2n5v)>WnZNFOv~Bq?s>bb2)y*9t=)qva+Trl(ZERn7akBeL=6w!ii->m9-{aHB zjQ2<oovHcCZewL(VPVx~)TVEAG61YtV{d;bvLBSI;aj<e!g0U*<Wv+jfbWr=gcs8> z{M}*e?AL+ina&VLpAL<4dsz_1Lm`w|-NJT;xYa|a+a<{DwhBtOZov|L7j3iCvcpxa zyvRlHJd?WHr@vo2$Hgsxmx%BLGuA(FpB`r8w@|bE=T429L2lWy>u}3z0fWU%-QD^M z7P$QsQXnhi(Yjso=hGpxHl&=gxi7}}fpOlUqvB1y{0Hm|UIkR%6Ae4JkcS(V<cT-! z^tDl`MaKl)4~VvQCQjcP!|>COCv?5c;{`ejb))tQ3WhQy5}gbaYv^P`bq4ty)mAp< z83V${h=vO+T`{`ui#m0uL}wawGuML>ylUE?G}7ACYj!)WJg3J8UUT7;pT@nDmp^~Y z9}I#^P@m)IX_|7zKdv`@T^?$?ZMX?3hT=H&cF(%g4R_4eev(6y6}TA_d%4J7;}Bf; zNPTBrT>OU-<cGj%j$K2sc-l>WXbErz?==~1ouDhjUdwba_SOHL7B%S_Ub3iXjn(|} z2)j0~HB|6$>-idnJnP+Q7EgdfJV1G%QK%H`avd?<BVTqWiY`%D-hfC;F>y=k(7tn1 ztXe@8wFt{iHjV_Sz#9txh-o)Cc`+#nqQK@cqG-I$G>B@L{t0(O2;~-l@uqDh{oD^9 zmn>G2_x<ttS92x+z|OIw@ZoynzV!G5YGzuZ3FDg{^QlzPR+>9zU`-?z5ec~64bpuq zM_JIC!zmFT1$x*4M7D5tR}CADSbekn@;P+W6pX4q8fSgQzHK~vqVYy)n|*?D<BF|% z>H+L)rrs?y-F#6y_Ken1T{&`l(qM_0ZQ1D$W;qidv;?H1Ij?tH+;B@}Fy6uBmlfMa zOc0BLn6;1=XU^q@Qst|8M4|&F$B;5(F-aAh`L!jNy>1z#ok*)rj<dF#`bDvWcfj$T zkJJRKhEkeCGQ>cUYS<eE_@!gY1~$=MYO4JO?_&?p4Ur)DC^5I)X`4K4j%+K^T5M|? z%cW_){;n5Kpan--YBZg7o3wM@`FioR+YW_48`nclRNKjmzKkKhKkUE=7b%EOJjnPN zk>s$(M{UkQo1#vHM=~Dz@zmQZEf6dj=bz)0CK(`Jk!HP=oB85FBwE&<O}T)mT*9~H zq|eKX<8m)t4W@%VFe>h@Jyko~D2S4N1Rsek_+RGOm%*jfmRL&GWQpA4zrBf_D}P)5 zg7ufV5<pK+kMM2c-$L~DIjf2#fBz}Od5I;k-!1C$J6I=ZXe6lSF8xLgtca8WvdG2Q z{7T1Q?n`ax_YS{>HeFl29>o%9zQ`n-Mn+h9I(|$?tDBq^3N(DBh?p&rdfl4U{4QcA zjI<~2tx~445O=ktSl9CF5EZBmBccGzWejhJPDSxjm!?Q-pT9<SZQa5i@>dp;9+a;F z8qiod<)b3hXCSjjsp7#KLeqSjK>V$|3aJLRmTK%R$n6H%Fk;&_JcdViQ=af*2byN0 z)RQ1oIwHf4oL8SGZI|4o_!k6YUFXCvDow_jM7vZ#9PO@(Ww=FpT0*8Ll-cG)k3+_X zsUQ8>P2cgp=b-U^C==`#?|R)!UDP(RcctS4`M<x}m=Ef55TDjkt?0rLc?urj7&dh7 z$HUpyBHa1;Dv?W6;F{StPtwa*Sh3^MGpya@>YvDu!-D@K6=qTDsc&L;77|RUfi)v_ z;eHr-RxovEYdnvs1Dlkf0+hu^!a>}IL(#Tk-dQ=q#MW7w*>NpP{ymp~#MO*5@?&{C zln>!Uw>mFZWXbB+a#3ZE5$hffw*s0lG|p~fO`hAF7JF<37MX9j-hI@B+`Y9jIcAp7 z26x-?wO-=$5F6qeXOOyvcw!g0)!dCqxtXavd7n?Q^g0F|g2lh4N><AXL2*(f_&>}A z29fy&GvLc~h^jYJ0=2k!zJX<HHz$in+^7Qbn=EYv?T8=vLx!HTa|9$-eWf-9w-L{9 zF?b&lMm+zt-9w|=&eB<Ic=<Bh_#AM0@+D+;$_Tvsh)U<JP5qdS)%+_~y8~*^umA_R zcL?mq{SI`#igX-*3ELmQDZ*gpWmPnJ{TWO8PHiz~$89$zUHK1;&IFg9-f}0$Mx|kw z+4@kYb<S&HK4cY+0*vj5R@<^?%^97?_S$jU{0pfY7s6OtpW$K(UwP_^<u=<ywp3gJ zIZRBGU1T~QZ^yo=2uK%ZXjyn`2<UFDKhybD2a1=x<l-Ku@QjF#;SxvcpB;4^CKKU3 zr)uH3bRlVJ!}Y_C2L=2-`_vny8X;xWY2XM1Gu4#R5KprWOcZeOAhk@lI`7*aerDf; zTucZVrFs!0m}x6%k~&f2Wh@xE#f8ZYnZVV4+iTPEoBcQ?@lndddml~X)x;ZUY_J=m z-b=L#ATywR*z`T?8O{qOeJIb}(la$`B`#z_ci1*6JhZaL3!~!>v@%#ukwppLlPu>Q z7i4`q$eDM~VlXbJUgY{3&HpK&e$ks*&;iQGZZ@zWrZRm#-t$R0{AG3zaR8ViI<$_E zc(o$IRhJbu8Nx|Uwt}vUaJMWhx+AIxPHKr6i7RZ4d1_h(j=gt34Dj$c*p^eX%PBPG z|3c0z-tOC|@R{hNWzU3?gG9yhaT%h~;Z339XxGs_1yyimFqEP6JIfW6s#r{mI_mUl zy|Y8<qfX;XH_r`-(ezR%Aqq>Or|-)|%bg<L0X{=rPWHDH;$O|Y3r*S|?zJSP7EXOu zV~9<)*DpPHtP6`@)@{K{W-JKGh+cm49M9>7Ft*P*cng_(kQ#|SS0Ybsu{C1|Zj3wU zwyTiGPpp>lQmBWqtLY5xc?Z_S)DUFv7||Jy6bEU();YL8YqTrM<GcKh8o_%8vaOz= zP%c<s2+jXpgrGeWul?n*l7arO*6=CwjYKe9ufLa=y<8|p{s{lkhr6Zf<6o!0W_X&! zu}W0ud;2{j>2FLcr1Rqo5G)F-XVcpkEOsy-4M=x?#VBzyCU||TJI#u&n3Bv^IT!HS z^u6hKy)^9&gL7(;@lB%j$!8NQ9CXTV@Z#BRl;!h%tXLB7Zl3ztu0+&O+p^7KyiUEC zD~RcSSBzp6RFJ3DC5l&$nG|UO6Dl|lw!qFBR8$n#NU<EdkKwu^&(tqCjlVn;htyd) z%=ud!JR8I?8o)xy$$7C=pUE>uLHHw7xAo}3xl<lnjf!%Gv5%mwzHt@PbrqV7<xixy z#I*Hd<;|yoS|jJN&ahzJZ|I7!2`<UxkbpkVjNs37uX#e^P=ERImM)On?-ub;EboQ) zA^ssN#EgQxoobMO@JdK<GsgYfe@qO)X_pm;viCZWe-vB5BnDnnsKerHsh7otK{D<` zKGXe-p1%!E|Nr7L8;ftA&tE~{R`0%pb<p~8=JRPJ2WaUbh;gDFhil&Me6A+*l=rHT zsGXYzboctc{lS}vaP_u=qxLnk?K~p%NO~D`{<P+NH)g`I_~In9#%fq?MkzMKk&3HX zst%4iunrZWTl&$ZPM~P~NL64kD`^Q#^bQEVGkYfCEn&LhNVgwznVR5+P%h4C$9mpt zC%-rO?r`>$a(Sn<?{#L7$~(ty-1WUQU(+RlXHcqhc(qAW4*W8wn&VaV#fi$LqqVTT zPEBi-=IRm$>-9^=0*{;HFodxWvmjm;l00m`vEIho3&{70fbVXp8J5-R1$k-BTtmDn zi;Z2yanpKrh<0l`F`#AQvH>=(;*ovbO^u<_UM=HvjrVxfbw-;@x7mnpIR)UV*B0Aa zYoNwp<lmsXnBX(~LZTv0YLWdRCpHd-jXpkxJ?;I^tU8CRT+_-1@1obW7dx38IYrnH zfH=rM!?~z10*^%AO50Rl#^M(}we`L>3fA)JQ08`5`dQ57<~tu?y!-t7bIYgm;k1aj z7NUv^UY*0;f%R|Ak2}Ug$(+UO#)nlOE^o6^WFY5s+T#faXtX2Zc;3^c?x*wgq~DcW z_4CXho>xddb@IPRnU0q_YQZB600P0I^xNudwU-HOL^j{iJ!EXd{@?0+0O)NzoqIQW zzXp}Bxu0sk{DA#1*H#Q8v%vZDMW0O*iYCEkM5EUCu1TrC@a>_u!^ZP!aLZQ*(3MR{ zo1Cg8Lg^9)=?Xs03JwFehXQ)K7E$7w3s>EyV$AS)$jRq8Bi*EnWz@~_jioZ*IrbK* z(FQE9qqK)?zI}hT6|)kq8P$BRN=nE6=Fx|>#WV5H`b_GMv>eGnGey?B&an9i--t8! zUoxH6FfU2}TS!4Xmr^8;*O$9hPyeI(cKnsc$yED9VbOUWV7u+6$4L~wmCPR1c&o~j z)T-PCpnRANT{+pfd25MX!>~eebs>-7>-?&P`JsjNA=THuH(nKW7`T?FxU;p$U%$Xz zcwhi&)(VvG7T9j)hFgZAPZMX}O{^<gqWpB^>3<z0aj3THKTbHbQ7`cPnt9oTxZt6A zd*u00XxOJ95#nZrQcqt*?ozrA>1O}W2=C=gASAO2z2QsBO0!F}W}PT?syXu9rux&8 z2{jt6UiD;_))#g?PGdVRmB-p`C3p)zHVKjypIc4d-rcSfHQv1l_<(%Rd75G8=<n=l zzF+`ZsSJ;A1B1uvF~=@O(+x&E2e`LoO5z&S^1ODU_<P74Mh-*BaLhx^HARQZ=f}MQ z7_;7705hMX71pW$XN_O+8aZ4#+AN6cvhZ9z2N778ds7V(`4=fq4TDBCGPvNcG9yZ8 zf0~s=JJX~-WkJg8PEPYrF0%ZZ<N3AB5zyP=4ecqs`Xa3DDg1-{U<nSDyE8c-nNOv9 z{9xz%jGaC3RFs9+o{H`>$lD=SM>B)j)%eJRh>#h5LOWJxME;N)_7V06rAw{yWR1dq zhh#$_9Fnd;U9rVI=$#`UsfyY?{bDpCTMb_|fBl5Z0{iKU3LYXmcKM2u(`_?p#*9`4 zi6(@4d&|>zH$r^dtAug)mFWbF6-tzKnq$8FST%bpjl7OV@`qjHq4UK8&{%Q}Pve_q zI2FYou{z{fowz^WfM(j8XLbMWluH28H8Rq!%8|A4d<zk+MimRn4b=HkUWZ9CyQ9or zJ5yH^zGHrlQ+9QU&dfp)8Jo|k_6IJJjLi>7_0BJ`xOUz3<B*OP0_7jd&WjTqS9jQg zRupBOC)}6WfpQM$ubfny$l&tW>2#v?ZrMxuhW$^{vc{$oxZ>}%NSkP0YzM{vY<y#3 zqH_b)={e}z>EOX}u$&TXpA@$BC}<@RcpFm7QC2D5nYyop>LF#v($XZcyfE*2KEU*A z{y}cbH*vE576*|#O52C2kFMf5c<*q6Q8K;q!(|_Z1W~z6>S-SzAw^iLCROpda>K2` zz8^Lf=&_@HR`|a)z(f*6+VJX7oNlMDG&uFmnMmUTuU%Uu({6menMo?*dz5&pou7z5 zzfd5zg_tN(W?AFoA}TUoxG)`k8OwW_f(SvQ$xm+$nQzM`Z6J$hWRUfCW0#;wViG_& zMdYvEFI`FAKh;dp&BrKdjzYZr-~tA!!PoSknRiyiLRwan9ivR$qeEUjq*^-dk6jL@ z7)3vCZRG_^&8%q;Ir1u39k*6$t&rH9Sc&ZF(M|#6pi;g(rF;X#JZ5a9hP-U%n3cF< zB<2e|IS#Yb#DXo*!`196k>NeCZ1M6?QYTq#VJb34BE{tX_!(WP;=d)&G=VT6ZV_^i z&+Ufx)gVmcpi|P-iMhHy3BXCnv%aX{caumNvDuX3o|MZfZ&F*F4N~+Y0u<ne1-yF+ z^?E1vLh^8<pQyxoCzL-+(<~`UfD`*JLR?B$v+JR!b?5bg2J&9FW=CyIsr}n7!(tkS zy^>Sv!sIH?y&Q&^++SA(9*VCn7U092xS=ns_W3U6?htKGM~nTMM)Gs_*3LdoL2Dzc z)$q?!GMxNq=i{oSdA1wS`|Iq&Nv4!!LtfB_3$>F}nb+q+?Js#p67;h=lHke({dom# zquhifXe=yGz%%_i@j=2yJ>R32oxlo1KC0;J(Wf=C7$md9u8N})>GbTsTjA>+2U!|i zM(~2m`;A=D$H_ZZtw1IzF+k+yH95GnwKm<<0<g8?s#1m(^ESI$Gw%pHQq;4-#pC+N zF%b!&ZG80YkGR#jD_Knb-aPilf#LP)p~o4&+V#=T&*z5-aud>mH(krL(*kxoXYfCf zeqeAk+)f35em%em0ulW4P0wz)f<{^SZMr{?xN&v1?Mkm@Xk*e|M@#cetAOnvZnRrU zXR5A#)%L%UC={F;6Dm3&L^kHg>vlOnqah;cZ|lW1#N{b5(l+Z`N~-NY1oLkzMm@}( zhF_C2t_5@{_}R!V84)L2Kg^vi`;|dru{owkLHql&N?sg4NGi$wXBGR*KGN<onnc#I zb~VpkDM+O;;HA7juRsS`h)o9sn&DzsGD`PSn^FHf6|{vwct(NJoqu4N>PzH<7C5)u z{-Q#1N{8jNbGghw!IAMJy3Ks(Wp#o20`VurTYfec{TSC_<>hNf@lcci6*luHGpe4< zr`_!H!hgG<3kUc`Iaz;~n>sn~W4}Ttj3lk@Q-^MMlV{p4n_Qa)Jatu=R1x)3v1lp+ zu)&}}&UVWM*5>+U0kieifUy$~s68Ptr(b1Ilht3lmeLXvjGs+Zue@dC9xD!mZGntH z3@QdGooX)U)##WvcJBW5iDC#|1iF?-F#m1BH&|3W`G(sEF+`3Gx=i!Lh}7LelNc5B zh6(SaRBi{)u3?)I8>5mYWBR7KQy4aaz`E1GI+yndkie3x+=KNHA%DEwv69ol3ag3T zhI~x(yMPd_$g9`Z4==By<S{-X2nAGpY%GWI;0wB3+VQ^J*4ftBzaSDkj7PN}?Xmx2 zIIlw_VpE7{NZ%X>fA6L_j)&OMSgKJfec#td=0gsa*w<F3RdcoEL|sS8?6;Rr#F^^} znll+34Cc!~^W~}&5I!UTzMlofq{qe5H7z9e90|MKpv(2~IPMiug2|r~F%gZz#n_Cw zfS8N$gGgMK!U7Mg$Uf1_bjQZ5*MDAI0;$${T^MmI{nNAA?P0|iasf8l!;Y$|2nu`b zUcn`!<<idM5KdVou_}g|(m<Gs(!fu&71EKVSMzqhl)fl{j(CnRc0zAVX&ui4*Zwxv z4Azu^_o%7*0^f-!aLgGC*~V7oSsi6=iP~jf7{$;#jXB@meS}BYPUek>e;-ox=~n<d z)3byw*(2qDBkE)JDey?=yE}T<;+$UcrKRJ54RN|1#e#HEB{TVYnQI6m(LumzxFty| zGpbOQ(QGsB$d@Ai6KzA>r{qmEII?Jswa3`01P%T-0yj3|+RCrAmWIfN;YOD1&9?r9 zVk?HtrXVnd8Wr}Tqvpqm?fbJ=<4;>6z#U^vAa7*i{JbNniy!JR<E?PPccuS%aB<v& zBZAhHY+eG|$6wJrX0Au)dwTxF!MzhxwQxKzh|_dV@y!`UAroI^M`tLpzs4eUzOa3o zVp0ro+$OCP;ee$trl2p*e?`3rg3g`bI?KPzD-J9j6T`7KF7Y%xu7^X^)#`sZO~c&5 z?*6?*pSqQ5VkvXB^i=vYHhyj#E7sCHqR||V{0q7T@$QY8efoKh>Om}aTc@Tp>(#RE zUTEy_F-gltVko1s$$AM@x3+!r4t^yodo8XhEf3HL4=Ex&h6cXhA<3}bI7)1jG{J{f zL#k&Xe1Vq)kyLt*WDK}0<y<l%yJzX+GC92){f=n6V-mrAUw^bAdRU^G?46YOn7T;a zku39mU=5N)Ulo0rR!2AE$R+Em98-tR>cR|%h$aq*x#Muw{6Du#3`hcMl34e|<t!3v zoU0e|@-RL)*TjO{P0+1lUrkMhZA|l@t*wVeq|T~7nB5c1%}L)N>#zWB!cR;v-yKBf zwnyjocS}Z%2syB*IUo+Q@NVgmTko4mXSJo@VSId6%atv9owHTI?ewV%szMe+#~u5Q z$a~|c<G@>Z`E0dodVHm$oBZ(fP%P&u^FHXwvJ_&|Z+%RnfA;%?HZvmyH7A8R(l;04 z>}!~RL(W2ap2qF8c2S#XtL@$!Y;l}XE$pZzKXle5)AUis0N*s=F&FZ(QQa)Un0ad_ zyV8`uO@G~P8dGCQy&hE59aGdDF{j*MGgN6ySoI(ngq%Ie^?DgoS;s|z-DN5zLZant zi4ZuL`oPsMK;ML2bA~@g+;7CP*Y(+_3a=jncLkwEQ=q4CL;LB(bgz)_#_`C;6fg;( zK3Rhd=t49JPCEB^jzP_R4^H}+ULF!}&6M2#7yUB51)u`d7eszC#LbS~?6tMB?oI$d zt3z}u{z$(r+$-R%A+`$fyhS?i&cYuqn(aTh?oay0%ifpAp*_yz)AQaorQ9|Juc*Ry zR;{t;$CxrcT4Hg;$ZYRr%C?J(2l-b@D%K|Ga$`3~10=|*)9Nne+)LX4yTXsGpNzee zI$XpL1M&|$QpG*s1fg=@z*9|lr1R?Q5AQSJCGb>BL0jFV@Y5jlKd4R>{^y4h`ymoo zTn(KGbsJm|&&h(W5kg}!(-W^XbKsI3ZDo&?9F$%gnNAH8TOTw-Cf4M2B+XjmBvIp+ zM53(y!U~GQ3J$^waIb#7?=g$eC$jTVN#Y5kT`_^8TZ}{<<&vooLelF>`Xp^I>K_eV zkigR3Ssc}JW8JQzx}G3lnsJF)kF<yW?DRG(68%|UXE+nPpw%#)cf>zcYqB@7-mqjh z@izJYT;3E&Xt?oSi6~)Ca6XZr{{w-XEdH(LKJ?BR=gr|mF-C&%==v7}hb-m|F@m!! zVT>bTjN`?D%HHp`uxP=^Xc9<@??}TwTmAl%#_tcT74y3;&^Kb$X4)_in~@8+lpFLt zTucI{>Y%}*;>vVGS`>EKH|l-cKe5`q)r%gvJi?)G>d=h>T|cunP831$QIT5;IU&ca zS4#`8ciRZxFU|8`I}yszzNG*2FdqONsIXClkttBuE5Z$sPk_D(db#9Ecr(CY303j8 zUwo$L5t%ws-&2iiY=%{d_A=XboI&MB&#P{J(0)+?u*8_1KZkk0Q?MbCHGSl5`bd}m z@%?9t$%=6^88opx4pCgx<h5%I{bvk&JzlK0Nm7*y-J(PJ`Ve{s@l(pUqe~NyP=$Wh z#ZH02e6n+`mdOZw7f*p^wwb%Ws8?(xaPDy48d1-~({X*N4y%#zk}B!xtAMYog5Lk^ z!-x4o$|%cQ51!8j!#=g3#co|I`U*}25Jlf90t+(L8Gap=dU^3vru(6e{kq_1QCHF3 z*YFPO5pp5k)EX6f&B#^?3w}ivW>pntO#ued8DX4q7O?Ll@?vOf;E%SCfe#-e9kt@Z z-}G^Z3SdLY#0PMY-KMbBYh@kPJJkoj3Er!Wi&T00+iqqSFyR;^I5MzWEz@t@Yr@tU zrA<{Jiy%m{0(apQFlXPjn#5lvBXTfjGn6$Z&%b*{e?^c_{dY1Ukn|9QWj^&1JOtgQ zB_`(cvf-z~G{R64TdaE=_|}?c!C~jWp4*q-fF#w{kG88E3(ILMzh<<T!#6^HxQXP5 zhvWcH=wo9pw?7Qd-I6odsImgwe6*tnj-ac}0TRf97jm#qUN7rM6yiNi0pDvV^(rh_ z0sWm!Q2nyF(t6)EVeO7~RQjA1rpNXJCIQ||BQ7Qi+$&V%be{pgXAp$SMz#CUH}uPh zi;%uG?dJh83Di5Xtk=r_4k}JRM15<jW80cn{@${^jz+@cKFm;uAt`{oc#WL-0?9fG z$Mm^ErC`k2gX1;Df9lGx%5h*DvoqKQRt<})oW`?)`nh~tAz0iSn<Eay5l4l$;q!hS z3KPWP(;Ulz1^Yp6O*O5xjF$}w#vx1`>UroZ(kuNFIv2g{c!qD&n+TQ8p;RPkOFb)= zls7f{&j^j3_fUlqeKfbaq;4B3_-jOo_Ml2mz!?U5QX4=7LGW$%!7=9KO_1vl26o}7 zR$`O6TzgJaqO8Dk;0u1%-XHwR_tgc~mTGyG2b|YdFUJZPYVQF<l|ZZl@l$}}&p*B2 zEkjEiK{yXUhk~Eb9oBl#&OaVH0wfxVGmJ#)6a$En;I|MWbX6dzDqE`?%k?n*y6?EB z5Y#KG)Pu-50t)o}1s(Yn92wB?-@q@?PCy{g5Ho$k3fPZ5@{fhYLQVN17sU)abdx=F zvmXmTPWjXCV&6F)(is!f5a-o^>BRw&zb+H_Dnr55S%FH^i)1hzd<=_Nf#wf6?=_FZ z>9}LRx)vIPYzk9K=yMKDhaw#Zu@lt{5K-96%Q8hXN1m+GzubG@UMsxtQ4rh$H1N8d z1N|o-_0>fOcmjl7<C_~<=fH2|R%pbG`mTGXKVI|tK=(_GcM9b|+ggO-?+DOuw|-4G zZZGs0Lj#q69%`4GewnI%`B)8@ss?<lJ~!BbPDFUCQ_S-%|4c7!OFnJOwv}+8oR(}R zrF{2m%JLJB8=T|m%UGEwl!|G7DSe%Eta7O=jhQTs0##zs%rIMgb%ePn6|ubIrj-i| zD9-_D$^DG&;PGg-ZFl-s=+kk!-`@R6{|tw5`$AsOwsFw5QPB4B4{!-@7YzzGx0i(} zED4URVz!FC=C%i|5m0z5HdLREQwFSXonv^Kz}C8ddyorF4DAc0iZv<)(Ed6TKnEo) zkXFx4#-!sxTS7>4oOsQbRsRpn?DS>_sMnueyc^evHy{z-gTTiVv?4$QSQ>TGz2NyY z@ql8vt_AmER(G9(9@YbbJKBi*au7~JDSr{suM?4(5}|0711e|Hdk^idQ=o2qIDo9H z($2c%A8)Ub*$>=|WL5+H64K1IWn~bfG-njaE#uj4KCrb3`j_L_^rQ~FWK}AxPdQZN zI|wfQ(#|~@{W+T-SJa~zZ;El`Q85ys9ZwJz?}<Ze7(dkI0%QB5E~qNJZssd{n5n0) zlKW@o?7>AGHy`n99~ii^<6LMusxU$bsVqbVs9HO(HM$3@<61EAx!JILs?8dzw;~tD zFYyOQ{s5381vH+o*;aczM6@O*<n!}n_O{`D>|A+e7$$c87RmzpG3djkfm}sL%Fkq~ zS@qC<72ef-y1A8(hOVcUhxyA@p&79;AYQqiO0u5kOFh+>b}F&<2_OF|M-sCeyC#`Z zLcw7ICeG`ZHWJ0tU#3vcZs(vof7r@%4^&TFPNWTTfbcrmitnLNN`zNn!JR6h8!|PD z7WR2Cx+gyU8V1=S4w<2#w4XjxB(6k)7vAXi%U+oIMEIe4rm9%)@Ea14NXtnF-NZA{ zo<RWy356KC)+cS9ae9Fu>I{0YPSE>1MR5&Z%{<`;WrG4pE4k~ei7<Y-|K^SkXgpM9 zzboaFXI+lHd!A-Rq7)n<s4qtic2GZuDD@OUQMUy(YE{6sFKHRomyA-WH?nE9@<~_o zX;qU6Nuo+r9+P6LR=388CeSq+EgDz7O0GU&s#wYzil3vZUJP9OV}NCt>YU%&J}hZI z$cS(EKIMqE<n*=V^s2vf7^}Q7#2sb%0BOKtA#jYCw)CE~UO=JkS#VdR1uUnfQA!Ab z5b)+ZMgo!Hcamv@jEvOVLYU⩔U~t^@3A#YkZ$;;0b36rRAjl%_lMhl69dh#*rL{ zRnB?LqlbAn5>fFrYXVPDp8y}Pvpc8~!aBt6_u(GxP&aPV>q$M*x#;Uhzw=o_-WS0a z?(Hm)zbs(7++!NTrpw*jv6BkG{N?ls*0MvSay#amS}hV5^yVQljg^i2U8i9@^a1*> z1%ZHrfx4B)3(SXc#5&Dxiw4m*4ce$y9UoxSm(_W~O?qHBp`1737PvO2J)akOhIMq( z`SgwFbybbJJfk3J)MW+7SwgwUa-e~VnaP>V;MA&6c123UaYb<{bVI>Y^U(D_CuH~0 zXVT3n@Yeq4ks;hT?FduRk2v(Kq;Ya)!Rt;U`bKZ^Z2JS>QUuy+9rYpig}M!vOwt9V zx;0bLAL#ecq3i)ad}WM2#_LH0lK*;7xr)xP`ks0joqE|VT5nnOFyh1EC4NYa#Epk& zq1I~2>4DARyRXND2M2h9wceJ45YCTnFaBU`-fH!wO#6jCJ=eFx>Kv~V|AHOfr-~$K z%{Tk{YR@IZe1YP?_h@Xhn;tEvEIOtvS`k+a9DeF6_Ujq&c7o#}UMLvgowD@$7s+cM z<nsqC-bNI3K^S<FTA%k~D1zwVD{HV(J?e3~I_^%b5Uy9E+~K&z?VPWCA~GZKe_>su zpKpD+JLqG#4AscGRx)S>T?~czleLi%M9CU-sPsujY|A#528LyIM$K+pHTM(2eya+V zxz;#5A5<XWC(?-;(ux|=3B4+{N*B)}=nI6{`v58S011u&DGo7I%aAB*SW;0<26$)D z&|48iXWcDt_h4_ja+(9#GWofw*=ZI@^y{}s_9Mz1)%igTIG*lRdZsR$9D>mDwJbR< z&PGF1jUh@L_YGHAX~X^Cw@2DRT?#Qi3Yfy-^qvD1Z=A%g+Jt{DWL8`vU_1r{v+ErO zMI))F>hsz`Mx<eNQSU3&c`vJ9ftrO5eD|$fCl)U@_(uTnko3fGzJAdPP&sg*M&ezp zP}XI>hh+fm7j9U>K2y<&PybFqobNz4#M0Y?rN?&UVyF9Zml%rbjUR-9Kt3nAv^JnI z89)R{J!TN1=~I98*8z7|mGM+rSK3HbuKR^Xm^TYBc*>ucqM<WL&>4LcVAk{%&uxq4 zl4hy2no0aRskC+oD6ij?T_P1<!P5Y_HJjO5uQ#yxb=L}}^;$f8-6E>}G+n2E#HG;h zJMaNq%M0<KcN$@L8ew*t;Pz|~Y1bTz>6leK=nG}b&!%hdHj&6=yP|@i0$3VEpA3I` zjsx4qFWZCykA+3ovJGtdKPSEM*JuAosP9WG0vm8)QKox3uqGP2`bOtV{EMFz`|q4K z4kExO;W7srzA_8#(^9C^%xJxld)f!H>D#x+;dKX99tGEV|2J^ZghYJPR$e?{;C?Iq z*3A1OndHV@==85<p%}g&%R0hFJ_=BegPo!EtvILEx;n8>DTZrl>ANORGz*Ul+?nXy z>1f<=AzHq~(aT(Zj$H<w+pWE1B3o#bmq>7VI?(77OjT-0gDlDigo?X_-MY^89-2lf zzMrYgPDILli^<aY03<_f;@iV~epg!KJ54ayO)yw3aESmy5-cCn&w*;61D)0T_68+8 z@ck}Wiwnw}!PDa*OAFa6;mw!(oG+!<wA}QrLC@E{a*|KohRT8^EC|uI_oLv~An9)5 z=LYb?IF7m-%P?qt-?k;%L=!>C5HEs;j73v`D$tC^Q)HaZ(1^RGs+k>{rv|oG(~zGo z-Fl^{e0{8%HvA8?5W>~7xP=KBhrxF_Un(%T>_!($0jB2HBm?^gJE4V*ARvMJr$2CA z^s%M@vG1?iS5zNw&aUR#>)sYZ%R&n6Lu4yuO>%wSK_~ylMQe|Y4LBZ`g1BRXnqZ;^ zycZ<-!P}h$XTB=@Q`?`0U0it|(Q)g$tPxt0VnC~(gLBDS9R_Wjr1SSt=kJuaoa#sU z^3Z9z$x7dJLV7tOQZDJqVXmKlm!Dq=X9eFX--(F5LZFv=b70SbShA4$<EACrKgdy= zVR~c@Xpp`yGG#QP5`W{QsO46ybMfBAKYl~`?ivDYG{nC0T|4ML?_)ne7I#DVc8FW} z1)5DTNV~2w@6vKu6Y3UPo)P2;N684Nxk>-$Enxv4Sm<!-R)?&gSGWvgjIU}ClhdJu z2S^GgeA-hWoVzT?efXL6GM}nF84?C1WL?i)FlCqJEnV}5=NsJWI`qOj20>wyps+y_ z`5jbpdn8OQeOEpzCs^?MBr;KNyraYuD;i`|K0sG&p_YuJGRI<b3ZDaf3Z8>2--u|R zq%Inyh&z9$vrEWe8;RO14wd7G=3}efXseynNnbj=FErLCy}LSHKv=LI9c@WBaJ3g< zP&I$7b!gr}8pMM2*4KmXrE>D)XLu!jCU6{K3mNe%4b|gDX0cFHQpdrUaL{{>8ik?9 zu9H<#PzbsQ3+~Zc^sC;Fm2Ok)g7#|O8(}!vUj(j_pIF%W!}=!y|3i#;Nsyw3{p?S% zl(9KYq-#Hea`A*#zP}B4<Oe*OL#@D*3Gu(jtDNvOrk?_+ldgZGP1;hay+>U?a*0pR zw2kl3bM!%FDuN=x)+nqo_zXoQhQb*rnJ%2qkd5xg1hv3aWsx+<CDQm&@=A~|O5TCE zzWY=wdS=levC@3u;)^Omqb@4om=sSCD*!QF*n*eT914ARidSV}@CL^$1i88VjYg=N z?IBG^H(TMzDS(Cm02ARW1P5D+?sHjEskA{`%T06tP4loeysx4KQ`&z17?SfXpI#U` z>K8HP_fhT8k7t3Q)0x_Fw=tr_acp?tqA<9Q&al*SkMMA$#PZKQcLw~fYDYWo!jYL% zR&2HEMc<Cbd~;%ld<5pg5WPF!s9#W*xqwP#(fffEm1<o0td<Vcb*A;0X*;l49x*v7 zujE!W+}1Qa*0tDYtmF$+Q8B{#P>qOQhJX&Z?LzO|Y{m4Uu|)zHjc+m!*e0`Zq1uE+ z?*{XT$nY6%15DA)Z?%hU`PG_lEt4IJIw`bvoFw*~B+lOD6E})%cqoXWGB|Y==ZLJY zM%6h*wiAh)2q{@)J}nxQ7`i%9ji{yntVPEB1%q%31&Q|i;CSWRoaP8WH$Bm=0~x$V zYAz~{LpCVWC>SEc(0#Dk6MdB5<2GaAnZAG4mv{t@OoN)4dqx_r5BiqoWxp8fUA^Q6 z{l}0nVwzm@JeMy0>Mq!)S;F~h5q(R?lHpToEG=$OyP|Ioe=`UDm<Aa;*h!xFEWrSy z{$bsg@zF(U5r=1ZEOK5wy{PW8r0%k!uUoRSw8p3y8NGs^N&{KKR_6_805g0n7n2)A zOy@_f>W^X>JQ;+YrKCA<2DEA8@nw9PXSfWu5k7=bky8Ns!chBt_+W<sTup?Q?L7L` zZRMBT)vo56zJvjLE4hSaA(XV@IzBR=bm*`#+86W9zJ;fUnL9xg%(h*PYwldQ4LU88 z8y~Z{&e|=XL#5ttEIR!n2nl&|>Iv*a+^ZnL%`-hODe>3X%ONG&{~<U`qdxUz>&qRp z9^z*u35OHl7gx3w!H64@dJcj<<<cczLk#(Nn~%BQ9C=H|Dw!S`z}t})dhMFdW2EH3 z>O6-!RdVlSpOI79*iK0AkXGI94Qd$@YB?`iwQ&w~y(xv0U?rwH0V!ZUU}!!7Ljs}{ zA+|I!VgCnDfZ-NE1Z9Qd(zmV)%W0p6po$um#Hm$z|6B1mo<1ZXje+_-BXt_X;Cr(C z+s&M@DrW5kPB#c)WGw(9eT0$bL&BGb_zGU_wySUSRV;$={$<aBdsOCQ5%V6kWgf$O z)eUGw7c_1df^j~V&LVLTSa2l{pWYryRmO-n<9x}c!APYu>W3Wc?eEG=FyXa{zH~Mn zA5M22qxbANnIZdkcib;9Pc9^RQ)3ELd5qoXUV`fOct5Gl)ZX$CFr*#FvQ5PRSC~x< zqV)^){8aXUs*mr5Fjq17Dk<-<D1%Tr1}%+zN+XX4Pl3xiqBgELa%=L;hBmutfM??Y zm=RBy1dvdP64WsSi5|v>S_Je(*kBR_OFTY398ygf2~<i=0tU^IjZHV=4eK#Ne?oP9 zhHp#<kfac}m2fWK8i~mSpSn1ctw+5e72#8s9<`tl$52ce@968UX&d-etUQ~)*I~f+ zob-uX>=Bh_)R&#Cj^&G>xZq&G@r8nIg%FLR^K9r{4%}y5sCp>0JPo{S2q9=GF7GdC zkk*BZh4ic4C2Dt54A63u0ubhJz_qyxqJBZ=heNZ`$Yk9<@1$cC2j{N`?LV7LFZW7| zEfil{IbSqtqE}%{Ycgu)#bI^6qywi@(t_W*7Im3UpGb^DNZ?=4^@g(`ye(z)GBrGG zNtG<LqJ2F`4RH-B!6q!x*`uw!!1$7ePA@<KMgeNyU~0ffmiqP5PDns30~K3<ip%oJ z+PK72@QIBByiEMI%vC0)mVqx1Z<aTPRnWTUqPOZ49DRi2x_{IqV*0$mG;NDM%$GQd z#~v-aiS3|diAR^`cBsxZu@kSKFios9^mbQ_ZYkefDY1>n1?wH5>vnZ-*JYmXdRMpD z56@TMu_wx`DZg3R$oeSR`3U-{#Gefnz`5i5UOq1pT^&fN9(nM&GXQ>iT_>7*nXg1^ z`n!&VGCJ>xyM%7;pIT~UxbNAOo+?TyQl6V$(k{sNlZNoVM`q~|JN2s#^}DwRRG8B0 z84tY8$bu-PJ5|w;rOu4PC`@zEv1wOST(N18mc{sFfX3kdW-eC;>iJ1Co?%n3flT*C z^C5&y#m`V;D0Bj3wMdv6u#$BCz4QCzK4Y%b5PW+0u!9J=d{HkxFHqng=hxN8&@#gz z(ZZsxkNjB^saQ%OUtQUeS4-svkqYnle=+sdQBio$+q*2COQ)28fPi$zN=hlx%}SSq zq~tCQBHdjg-JMG#-7O&<5>is~?x()L_nbZZ=bpWDXYM@n%rp1i9T$x`rEyC+FKp2H zL7Z}o=QUXD3|vJ0C*Q5|uEkkI(pCv;nfWQz9VJ+AV0E?S*JmFU-$QlKCP4;6>m-JJ zpNaNdurhEU!IF(&FDTw5h)D@%1Ulr9&QV;G4#HfmQOa!Qs?8~^H&$*1r}(j4r2Jhc z-5*j=sDIZNe1A}8Gd*Wgb~A5u8QvME^xc5Nx{vX)P-`fAlrJR>W$Ha_3oMPhV42$j ze&Xf4tE`0cBt`_b{o>JW9tEmt4tUPu@TJ<Tqch+1Kq!&!q~iX_;LlOMz<Ja>#~C@N z1T!xISTBQ64>ckQBb+nv3vBiy%As1STgnKF3VxLr?AdYAlNbI7skf)9G;7B`U);FY z1l7$wUe>THRkJHKi|W6Gf$qJ+5nSp!Ud_ku7RnWMp!c6tr9wNrWflcS=g&z6pXFkF zAiGQAyeidoud!S#*5{Mj=qB!dL7?s1k^MO7@TblwQNu$M@kCg_F9Egz|BOU-YN&Y- z@>fr1^x`{$RUF>2ggy8VPpmR*^I46(H#SSH!h27rQl2;Pe}#b%FTJ+gyRr@3>k%QH z0%(_ME5QRA65$O3Y&tL`U;+*T?${qp+(!DALaFZOjjA<ZgAfK}I*-JSadWYwM0(HK z`cBKQc!_(;P&<08k$c%s4}HTZvcqFxoG8o_AhNEhZFvbWOD%qKIc|I<Zt`-F@?78G z$GFfvIQt%)RF)v@C)cZ=d8DPLIT)Iy`H7`4)*_U?H0xmHNYnGnTMlP$Eg9s6C6b{j zpAt0n{o&7z_Ol!JUPYxk-k5d{F@Los%Puk6d!FHK`1=N4GJd7yi`WDHMLx`UzD1En zDT1aELFZw6%t_B<3dcE_TG7qX85!opH)pqtvxS{2KWN@)iPri47V<m3nEKl+>ryH3 zuC9(Q$>}-%Evy}>kc6&^keZB)jPCB58usGC;e;Zt&ow1wU?~f&?*4{Qrci<g0rt|A z#w0B*tS?HVJ*z4e6Z3Pd98bUY%O&=Z2WN7R&Y<=<o1|;%%Biq%kSI~pSz@2zNrg!H zARa$%Q@IY_%%q+l{My1IqnUaSc<Ug8zfmL^gc+HyK*tDj^d#xnC?2Qu^fucUD~v@p zqujM#FONQYzS(}Z_UrM==yHufdt8$1_mWN%E5x3RRSz3gkt2Y4IFOl)p=O(bx0JhC zt7%2F4PTd#%PqXvTg?aYLa*v+mLs*k4QY2{GkrrlYyD^Kg=!^weK~y7geV@R%F>eI zK2Em!pFi7WK>49Ge_*1)@g8>Wy$LVQpX+)eQJ%>S<KqxoM?mv4R1@0ro4XCFh5JSL zL3AfG7lN?KjEWgn>y$dm48Y1k34)O!2aOjxg7;RT;jBP;q{6jc<!%B_?IYtZ^tC$O zo!JZF5htnocfCRT9Q1wm_8vI!-1JI%_MNu9d{;1g`QGiztA*dcJAU#2$)+3P^0`bX zv&{*TJVTY`D|-WHJ;tF@rZZw^heRi}0faxKPqx*}{wOB*<*!Qhh_xvVE^;SkSWOm* zhf2z=5Pp4ok}c?_2aT}Cb@UbT=`ddtxn(k2P1Bzkab?+3G0gh4@*xj{9zCm3x)IJn zG86q%5OG8T!Q~bSI{ZXPiMahewxd2h2<Sd)YX0NtNQyXsQx2fkzQH6%4I|4Uto1_N zXY^*wf^vD4wFzWr^b{yA5KU+BRqry|Dy-5vCNGG&x1#g~BobLUeCZ)gbZHy<Sz>!W z8sbQtu8#IoE~0{mIQrWuiY6INn|8fqo;lV9BD_1egA~X2#>E%S<uzspj6zuR{HDt` zWpqhOPzhia&IIY}x;14|55Okkbe=tg^E|<#;7!Gsn*b4)Pkj|}0+}+;i(DGDZ)(1b zy7Ac~{tu&uQF0#u%_QHsrS$A=yKS9lSaDK&gb%b93iqXR{0eM-Mjm-TP1vcL>0I)z zK<J^y)0|iQe!%+K&GeOzHdEx?v)2rLPv5MOT3&PAjS)VhykWT#>aCD*_$KK-mSLWG zm4TLwyH9PPf!G0y#<#9_Ry@Bi6&pGwq+#{*miZ<|t#ly*S|0v-%qk?0?&R{>;Aq?_ z-#4bL%7m8K$IX!YFvvP8+w*0P`MVg`{g1^WVD?5#&;dvHA;(iv#4pU$X$!fey8ObA zuKv<1^LH#b4Fl&oA=+F78wPTiWn5uTOi3$r5?kZaJC$`zSm%t&?aQtA60PrAF^*+$ zBU3^zdI&&)*UH<R-$*}~f^bHnc1Nx`(++ib2a=_hD{Vtee(F54?G)$w{UZf{-eYfi zzsLIW=5Bd-(GcY?u?EUteL%D=`hmF5M3Dw|056jU6>mp@U8uRLc>v9OhJicCp38rh z_N4s%R-(#td6A~~cWKS|tqNWJkpqruQ5<`)Rz^HabwH_-Z*sHW+k&$PWuK_kZ*0j* z!4|=6&wN81AIEhraa-q2MB19(WV-!U*C)LJMeW}?OUHj{+t@2(yH%#Acak7Jc`@8v zJAN#&>E>JO*0cMV``o_Rm>}ima~w9yi79?%0o(ZZ7~j1?UpKiW7fk%fa<;1Zc@k*5 z_vn|?O4?w5i#|XAQgT3j=>;%_E(ww5BRd3>e~#2f*YM||nVEjl+~+~oNtMO~9Qa9` z?=D~;Q&uwefPEj@X=9{b5x8D_$N82(s|fZoDt7)<>=vEuWt`~Pq4B6{x~Z78W7u)* zpem*_wKyRO3kk}%r0UkWU_Cy1qEc!bF;-qHo+@=>Jtn>u*X(Ce`|!IK*J~Zeo|1+f z0ZoxGPRK!VIJiW}Bh>*$fu>*-eMr=|imp9<kaU^F&Zl9GHKWAp7i}yT4Uq@%$u+rK zvA^|RzmvI7og}LMMA%HiZ@1KY)WzK91l~1<!+Vs^Q)}?AK5ljdel|(^Cgv=h(%?bZ zYEHctX(i{J71HNR`qf!hUC&{{X|THpLlY}~@%l~XFT6D-cKEr~t-+y5nzNFG&(DsP z1;}Gg4!!@QU9f7;n`jT$jf(pV(ldUAv0hRe>)b$}-@EoTF*u=$5-%c4*tlJ(A$XED zW1AWQ@)9QwY`*@~&32ZIphUW#75AP5j3BN4L4ZS}qSJcN>2s3}75~XHjUOUby(Sn+ zWEqKE;?H<+$_-E?z`0cr^L0izvp(JcTWvw6z-W8^4tY%Ti0}21*NIIlI=>NU>DU`q zVO90Ts;b<vsNKKFW8H79{q7YljRNk<qjB*ed%4|Zvu4Mw{f2mF_hLtI?fsC|jn0@P zbBddi@bDY{X&uz3@7Qr^DVd7`G@RZq9V<0qS#9vrJoAn4QG%e^{Ds3p=%)2SU`#4S z(_B0@et@xY)}M+e*XgzQ2v6rbPb1=iyRiRrepX7)Fj~(w7N1_;yB>o6@}T`t1<o^1 z#cVgI;g8Rbw1lWodvdw*C;1puuc;iauAR~bJcY}IaJ`_vQ*pYhU7SL`3~Oy;+VJd* zY)TP2EBO7Yu}&lQ$a7md-;;mELJ>#RL$19I6-jRryw*w}jocT6xq*Q$+5{@!jU`7@ zWWs2~SwbiHd12|tl+UV`BCN7ZFCaPQuVc*r=<WXnckxTjE?`slc~b#<@D_}H_}LTB zz1kS?1p4=f!1C{)KDTnk`@;I&Psv#$*&vB^9r58#)46X$i@>}^;19h&jDw^USQ-Q2 zMBIMW&B48kKfNR%?sz^*$eh<7g_?s?02h@f*xIur;CYx}Kerfm#r?eGUWf!<D{}%@ z(>_If7jplxkR-U`vIJ#9<`h(wW`;i$`ZvBE_9sVr0j~G+&wpdwE%6UA#^d&E2wf+a znNHz<?dW{VEz0KHdvoc9`2C0S?k254a5OBtp`rmbyHW2O&m2y^7=Z}l^TEbo+VxL9 zlWHY@Ke@tcY6hxP)2zylJFq);qyX9>PXQ7P$92dU41Kld%x)oGMkTd3U!Q)^%BF?z z(gyq#FnbEB9S_?@RoX!t+Clq97BonP^6r=1#;-oY2<BM!bJj0tuzk>335TB5XD?Tu zbq3?eJEAxYuUm}z%!kIIgPxDP164$&Io)Vqv3IjL(x}yVu2r_%Ad_v7vlaS{6$nv% zif_muX%WgaE06{*=7e3bpO4zgzRvp>YuOcJ5Y{WLZU@Ml81ihIgYBECNTcrQHZh)m zA*GC;H+K-$+o9&P&Od`YO9|dG{T=_FBY#;kvb~bd_(ECr>VXm`)P(nlyeh;)0K3Vf z^7qMQgMnzgQI0BI=p{@raP%z=bpmvpZ|QZ<o$9#YaWzBM>A5Fv80nLUvdo$gu}Sto zetKTlr$H3-cws3j(q+z-%~3^c^bfZUIRp&h8E?L8!6Bkb=U_@ii_Hofee=gnIdppT zo$N$T%wUQbPV7<xk_tnbZ+md-L^*yYc=y=>=n}F1a02(1x&DmElVZ1txukpZBeP^K zE3JQQg2VjD3>V&D_F=NvwdUlC2J<<}&3Qn{E(X?aHt8r{+=zuV*#x^RK?W5iGdEH` zC?JEz=#Iy}F1&()mD61}2attxX%p<(;YB{d(J}963pl^Bt%&wtL;|o(ulw_k;*0P9 zfL%f!Zm-NIkFQPqt1&olJwLW3Q{^?Je{Pkh&gMS=Zc+pz!{N_?%aKX-Ve8pLzlOvf z^fvknew6YSQqK({tk*bF{DU|zOa&E?GEjlH^XXpjO^&N+AR$wg0GdXl4!vhohm7_1 z^}g|+uXk!juNXnubc8<6uCjlT#$cv&3}z%N1i_l&e8&hH&Py21)7qK5B#S}iQTl3k zx!I2~c)L2qIqf<t=r+Uet|{ae!Jo-03IRhCm=Kko>a$a|o3_Eq=DAu<xi^d5axa;2 z0*A;lO7$rWYgskxST%89*3hdooVK}keKe&A!e#=h2z(|&BGmk7qNCD)bSE+{zE<?x zj^LvTc*h*#bE<m~CrBYuaL~68{#^j7Kxf%uKl;&IwQ%5UswcKylOXagxZs~bDEPoA z!fYC3B;>yL^h&qbs_CfJRe}>^G?+?Y0k4QQT?*Q?MrRN-$UBkHFsw<CGo{wq$-SB0 zYRDzzc0rK!RI0dmQESN`))TK2gu!TAxZv`vV$gGy-v!!4{SN*vfC2p;Z=OVDG4Dj? zH(@CTvaV?`sl=!XF|A!MCC;OK>VjUiGbZ&l8aE}FZM0iUnTs{aP%Vv^GKV+1xUtEw z6A3}xj0Dmq@6f`qGzDA}SeI&g^($TtC+^j3b4Dbs?nM2`jZF+Lqg6X-5i(?}#rtOB z!{RuZdXHu`OqNxuOM=2f&y5qG60BUURn4l>!L8XsFN@s+r6r<{e2YRsK)#L{i#k#P zqzT%A)53=B*Q8?rHbIOy>UQf|_eoaOezy#4;xir`G-HfaaN2csiBkd}<^Ak`)F=vr zh|MX`_gfzT$B&MT+qdY^`53r20Bh!iNx_4kzuhKM2y&tysmBN&xW|^iVcoWznk{)a zAL-HEt3cbfPSLt%>QgI`<^o!vjmU0>THsfSp@k(K+F}2u^E0?PGnTAXReM<6Sn7OI zj6^QNPi9g5^7Q^JB+#YuK^m}91`%?7ai7YFiiDzVs+v}yr1O|%VHz!~CA+h3^S0bp z&|Y7u2%Is?Z~`W6<c1kg8|{FNHpqsh;uvs7b=<F_k9)#8kEkdjUz8IJ#px*|q-MS_ zBGazrFogQOwM9;u9>t;PN?);&U}_)=f^(Ui;9%es^~GBhe;z~FQzwkqUG?K?l8Uz^ zgvpC5(lOi?)QbX;ct*?l^;|tvK|Nxf53AK*@6ZVTh)(JJ&8Z?bt=4(=;kkw8SAQNJ z`Zmm_K%sZ2RM$9uzhAzyXIU3^uTj^Ct9}#9K$kPSpn_<Gm~2=NX)j$hE_ik?a9~b1 zO6>h!aYK&WZD@L5(7|X2kqRn?RFGuf?FevYh0+fDO50b~9lJ!a>rd>`cr=m3Y2pjT z`A}NKQbfALbOx~2>5E>F?Kio;Ddh>!B^l4<a3w!L`|L9!!ZYzO6TO|5LQiO6)%!%& z>t{oH;v8Y$&O14>jqN#d_Qq90+RdRfQFJvMVQGo`Q_v3_N@-Pln|5Ck|Bs%*azO}2 zX>(d;J|u?}rk$ejoG=XnL+M8_)p&rFh^PlEfYi(|TKeW-Mx@p!%+Bew)mHe^9MWw8 zSTU%#94OfvQNf#*gix^^Era7$d_C&>VV`_!$&J8{xQmZ}XVp_rN>3FpKqmU)b_zcR z1smqjW<%ABjWcoorY05lo}S<L!MySG{yN)|GHi^i&<T(f#T|i)_gdm~kz+t_oWRPi z(?LnV#_3CwW9H6wg(#ZERv{+2D<^%$N4V}8#_QC0?GMK0L%51m42vAxqcp6t;S$9> z{O)wphq;*{Bf$8yfX?(Ca9-F6uKHzxOCUJLsubyhfGbRSd30?s<wVmjeZIgDH!M|g zIgfJp3v2?3^>NaZHVr#!4I4@$n<vk8DPI`6s2({hxVOuvGdofX41j;-ctDG)+aH}; z?9Wv<A}C_z>a0JyK51YYyh4p-^wjL8C_?c~pbwJ8g8tR?;sf>eW6L&K>f7avGcJTH zMul*o98u*w0ZxBfuPoF<9a)i4@3a~Ao=xNHlXTe?`Lk#j=f0GEx?!Sv%l=P36~`54 zkvI+H`4i22?>qm=gKv0fsLA8SF}DqEn2vqt=O1Jd7hdnwYRnGq<Q1W<59UXghq-^2 zBV&PA%=xsCSMRdF-L*eBm(-Nh9I-xL_Qyva#dEJ@pDOH<%RXbPvN(-(nX?n5QF+l_ z^JN}1LL-9|W2KrEoya$RvBzeiAd-Nz5coD($*Kaeu{#j2;g!}&*`C^f59ds}2D`bl zfD1^GN;V%i3vbmA+sz2O&w}%5?<+uf$H<P|*#(5|0%mR%0G%cM6OqE6Udp&^XPR!O zzPtRZs%FOk#b_S!Fv$}@H_>g)E&RrfTg$;i&YTi7qi3wm)mf(Rmm0*9gAFc(RH1ys z<$lv?=aghk@%IV10@rXFT^OLKM|a9_WnI$4VuxU+kx|uP4lXFjkO5QiM#o;FS5u&$ zmALiaU9Ggg6WAkEy(5;)^545C`zHY-hYYyp$N6|GYPYR)st$`4xlR1z&LS{rFQ%Y7 zvBCXrHw+jWouWcM7?s=2yfU9?fBEHSHl3<%_N+es`JoX(c(-fxR_dc)*Y}K&PvLIa zE#@5^yboWr#Q9erW3xa#-!X3}Onzgf>h{i&%=kHzJO!xSg3*;a@TIe|d|p=h0H?0H zx6M0^vn7hgDRrIeZTjk2h{#|>P2~;k<qgfVds!<P`3Gcs{k<5s$C*P($FB)1nz@3A zbltu>xCKl}=1wwHPd+R6^LLMLs_*>banS%QA==`UkSlpTo{nUbOP_xje(t92%w8&7 z@Io+V1}zUeX0a&fBR5fDH#7xr^RhWOBns8()TPD_B1(jCZmL`pfFc!6OP^q=)`)cT zo*RV7p=`qGhnkvCV?y__{xugC|HQQ}1$W4tPKag|x%H5E7uUe9f;$nSR9@nA+W24y z_xn(m?E%Mw(Vv;rQj`--0(_;&#w!Xqzp2!_Dh3AE@hQEYr-W8qi%zl6?a2G8zVa>= ze+?WFqQS@93+|n<2z{}GKaBfefJBEHVK#J@55t9z%AD5SK0V_|^`ybq_BN_-pb#50 z`*C2jG;d27(pAT4V6+Rl*%~l`NnNwB`d^>SWC=zfJAmoX(?bYbl4e;s&iHUDjWkh` ziIO{Zhzk-QY8yIA>msf~(q=*KjcMYvMHuM07*_=mb1UG*Rq(P5E>j7OdfF3>wC{0R z%ffhH4vgg#q)=hSfxlJfzrUEdI(k*+(#)bq_`J4_(drVA-iQ>n?|I<Gyi&tJ3P_M5 z33~+;VYK;m`dC!^&^%u)r|e9>S2dU^W!)RbsJE-KJ?)r~BjwVMm5b&+dn0&Z`R915 zQjGuh{{4(_aoq*j6Voax<csUxnoT`=Rw=XhMr%$B{GeUk6W5^SHl&9pFq-9)Z6TG& z{7S{@fmfmG_l`jb?yR$28cjtp;l8x}V?9UY*lA4&6Y+sJxS0eR@?z;1Un;0i#p6ef z$6K?oEYMoyAPogib=V>s#pHW>lEu3ZOh=qiYPsWp<K9JElsG=8#BY=n3h4Z$L^Gw7 zo?q-fXh}#vktdGUU0l9H2YuM~o@RdS!F1(OfM2W{wQp+`MdmazQMPG)|B0XcxA{Dj z1SqU(^*HgF{qm+eM8Mf}nBpu#7!8{e%*ZW|1*JeLwNxB(eO_9B4~zN>(#Z2tetlB? z1m{u@buA~*8Ex<*d3|U>VD-B^Ab+A_Ww*}UR$Bw_PYs>p?HMoQ<_5=gy8RatLjt$Y z|2`^_!z3RlxhsC}4)9Cezbl$c(Larz#kn`sXDX@4!2XFlUe;)@=z~~@2b%&wUKd`l zRI{)?{MIcELYm+GF(OsjDyWv1fH@`J>aa=BZ5m3$GGLLdNJimD-`=Z{3ra`=t<Vm# zb8Ke59%bnk;O>@Z>6Vwa2fuZ`0Pq4)er<X4^^SRbx$>}x+8=#Q^BG5HxBI>GmbIbC zLHpvtG&7akwFDDclp0adH=4Hb#JXOc5~E6G`-(7JFW3<kf+D4Ni>w67q!Qe<AV4u0 z3!4NvfgNh52{wLzy~9IVL^FUaM&<%A{R!&X9jjO=Jy<?pHZA2c+A^j^s!iN{?jpr; z`@cyu0UjvL2Y$DHA+*mdJ;Zk;Rz@s`*H7d}p8G_uJ}p(v*~{3By=ib8lD)H6*Mr6> zz7oWl2(*5>KlMiRDqoBzRU5`HJ(ZdAQv}9&`8E|qVe-lrJ0%mvm8t)UPy<$yd^Ov{ zWs*uZ(02^MxrNIe3zz-un>Qw@XqR1ZHa4*%a1o|2KY&q13Xb`@kj~(u94E#y+icF? z`a$5ZW_iw{vGq)U#Zy!$%8U4oi@{V<{=pITVk_VmU>|cd6EskpuuN>xaK>AzdlTWw zJVae?O3h)m$PwU$EccOO5=#%fb<7pY#p)Py!aZ+7pJ5DA`XCj4s3=9eGdi{MWjppf zPdj$zrCx9jd7fR10!yXz^Y?olLa#0nX7{Gk8h=lk!A$@leOj?@n9;4((tF__C;sNG zwUW%Ro3#ZIrRZ;!tA7}5WX63?My`+4pDmrUh;F4E0BiJMTfjhC`e|$m2}mL7(RQr_ zhFZE5y9=Pt>pTY|Mi87=$p*oH<lO@nf*AJ2dNs+H46Qz(U&I2-eQToN{plcy39$-V z;rPmhaf?e>H}burv|{IR8;rSa2x%Ro;d<(qX5H^`^nKhL&bD|}c3|xVr=U_p7p)N4 z0Maw;S15ZxKsn(%+Q^{dTYb<BZB}v*p}P0rhyb@GA;O}89QX=AT1E?fMpfknD1f)T z)k2>DIW8BDUW{;**_6*;;NicOI8Eu8xv2Xm3zGLhI*$aG`vx^Zd(mIVu)n>17#6?z zb9a*N+Ai37UfAlg<}{eO6(jUbgsyd!Vm1`+>zJy-$7Bk~|Lmc~7=BD#7TAB>J1|%w zs`&JR*v#oPgO8}@{PitS{0NY@bWjc1w-P_@Ew2>Ndm4ILxOA1YbX?)3g~ABJ#Mz^n z(x<Q%G`BgYx|1yj<^RF}(_yk}(hkNoBWZJ%=ih5)4{Pd=o1f5reB#M8IQQ|i&cHJ* zFj&;a+vIQ$1&wzjtXx3XU!g@b>xfFXFBaSt@!N|+UJxI*9-W)IKb`}nA^MCG%P=s| zDSpI8wD3d@fYg4bYhiwX5UOJ<yb*V0OW87npuD(R)R-&aT!>+|+mrtVNO?^59lDVI zk3mM|o6t&hdA2v$D9P2}?(VLf%vJBQNa!hXO}K^mM<sif(-(h@bnJ4YeLsc|D-MC> zm4ob?YFYp%LH$E0Dp!jpmz2Ce31)r5@gD~+Q$e*LrZQT37wnV~AjuiB0I1s0?<bUi zl;BirIN^w)rD-j&y_zalof9c&6ehA3I(5Avm;<f7Bq(5|(a<~=v5gi-@^zvT=VH0o z;vbg9Kj@1$r)4&`d{C_<LNVQnvnvx=NHyGbmoa@3-7OP@dEo`v!JDUwS&~88BM$?& z9Wx4NgLnB8fXS!kjfn-|Ll`Z0rstqGWfKXn7roV#{_4PM%AMt!#8C;?+I1^G#r@@f z=W5og`6lK>oLFo6H)Z$l9NOle)V%UR=<2N--ABE_n%e5uCZo?ib_}(B^z-bkLop|! z^2Xoe!{A~~Hs&?Q&w0wDp#izY|NeG)b+$}#qD*l{w4gz_utC_oPLya*(7cg^|1x~J zKb#<g^X-$7SZ{MyLtf3}X8q_k?aI8U%f8IRPp$LGt{=BNT8OoBF27A@aZSt5)<Kb3 z#@D{QYt&Zt)!TgEwuOTlB%weQ9=!J|=R~bQ-|J<z9Csc${F^KY**r)slSX=tia38c z?<pI@CT@yxu(>{e32uz|I-+(-ud1ulaQSL{J~;Bjr$0*n6S(>(A@#p-nC{sXLMabp zPMTn=-Li}WT1b6(3DD3x1un<O6muW~!bVy)Y|y^;+K<C;tRb$n`Jl_xpy3>hg%O}U zLDhG3`x9s_EDX2>CX$Gm`;h=g1wa}Jy>f1lV+79?Dlx(+SPvMza+;QFbEcotdF5F6 zW?eyYS*oN<k10Fn=rxu;e6DnFXQ&P*)#IxVO>$;`h2l%r#mofBGh_J19`w}7s)-!# zoYzH|PfM?bo)etuX|3*7bYg_d`>c7ZvxCLEM&@cMu&*_+)b;1nwAYWd*>n%y|MH(X zxZ>F8Ubi7cF4U7Rula;l(@TXbMRwbdZHxHLt;nDymAMMlHWt9+*iPZRlb8I53D#F^ z)qeUwUaZN?lwuxp<W}3^E*{G;xxkJ{%0eh0`0uc5HDZ7g6F)|5oHwk6tPW`lFangd zLR}8Uo3I;I60Nf4N^|;J>v~%2roYxvLxX^eVy7dAr&~4++cqakVjm7$x$zehp2h2f zX0K$M-<QoC)Qs?IzoY!rjJ_8Gn^EZHCt(%m@7a?Xkr02OkO=%M&NZ^NJcD}W<uxg} z+dsWb=<uk1mjoR2$=m}TV>q<+klXTb=ha%>za}Y^|DOUC2^&69LL3ZUHwy}CUEZ{e z2>qNg38m%k$4D6i>8?le;VcXVyiE+zWwgp9W7vFcqK7>B_q_3AYEbH)K*r$<=&n!e zEcq}T;vGOEui;~Cs=H(FF9+=}hZs-CrhX3DacW;HE>GGxp%Q0;WC%$w{emM#7fbLK zFAXAG4V3j86Fuxp_g2(b+ndXlTT!VoGL6w<P@f!&|LiwZ)qHOdSGLJekFL<HlzjN% z&hsYCZb)EW)7_apUH40~F~JNc60@WRj_d(dtVQ2XfK*OQH&M;iEx0X{;MF)lra5Z6 zCc4Vuyi6<wpS%n5|M>1W3JR**j+e^@n#-aC&kw(A**FUCnu%xUo<qKgr7IOyc|o6H zA0k<u;ek4no)MHdn{jQj5p1v-033pr-vrGV3RsZ;Yx#er#F_vxCKu@YICmNC!>Ejg zs)I4*fC|=^RtaE?Cucui>+QnOHzO2Q=Hj!Y^&*mFi?3=R<eb*c9Cn?ICt-=#y@TGb zaayD1T^-pEFSzz$?5AAvlP^oH91a`AM{|j0s4k?6=5lI^4^4|jo2o>bUOh1^5Yd_V zkzHONUSUARW<UdPh+vw4zf-ZVl(y`S?HGb3P|)ybQXZ9~aMD{Hj45G0n?RddT@8B( zFr5f1=@BygwN^L$yE`*EWnPobM!~c<{^CZ%;D0JQ2n8h9Pk8`9MV|ithwom>S)s-s z6C;H~c=5su=mlU2>{~aUgAo;#kFj%j3Hcs26woBEEHe(o<z)0ia&h05I2X&k&zCEd zTZj+6;<mm+OpSC}YFexBj1Tu-qDtZ7et+>^`o5F%ONB&n#nbu@zWR>m<<&yPxk8## zZu$$&dX*UTSfb+ROA;>2^SjpWqzCN$z9kqlR7Fc(#HgI}rFHYA1{GSHIX|UsJ{i^d z*aW#cH~H`=F;PeWzS6tNAHws!BmmM7oKg(P466hTigSV3n%(DXuc>+NI_0$#9`>j8 zA4yXJ{8<9<6^g3e8u}w|snN|z`S8ac=4;g#y#0HbpTESXjs+DgfY~ng#9^r+=n^n* zbCS(kiHOBiG+Eq?_}mZvZ#|zBl5_H?ykL~TdaDN;4WRCkz{t?3!}zrv$S#`h9pZ)F zDU|1N>Me^d??Gdka!A**Cgj@baq2g|{;-;RqF0B%@<!85PFbvh^l*-RF9i(La8;Yx zh|NF$Hj9>Emv1{zDS!y}LO=FM&#ACL@MzZv8&<KZ)Um3xag+3<eL;3Ca=lO-YKUW0 zTfwlH4ZTp6Wa$|60|-5pWM^~5snPZQqOo4-HQ9`v^_LCe+c&T@xqlCK4iF~c5nk~J z5p`UN(-vj?RKruG+A6~)jQ8I80#fyoz)&-1o=$8OjE6Na3&Oxz3Vbdm)~`Z;t4D{e z`Ld+sJfhCmAlBWtBjh`;uE|O@trvZxo3F#Lhg=#$>AlN1eNgWpXP9$E{(j4@t6ZIM zo#opUa2%AO7Xi8etk7k-S!ei)D-l4no3}f6lUiN9D+bPp!YZ7(6tnaGcbg4y55(hS zJ@cr4ow{aR{DT_XV}k-P?Kp3img+c{@A2-b7;#Nz*q^A^zR%?QF~(vQyLu8s3KV!! z$?AUC631Z?(p0q<S1YUWNrcsn6)yz_mv<%pd@Q4-Xv;1;3X83C;MDZqE^Ys0(Ee%J zSE&`CNzd3g@m!%+;EjvcLekrLpyH|1kbn^gxfA4Bo9V&WBhqr8q`xr9f+Nr5KTQAr zOWtm;!#K?qOdl~KY1vAWXIE{tL5<%=FmFK@R)p8eIZziCYLeOU|E1Fxpd#Kuu6bj{ z((L0t?*X{-1x#nMigw}Mo@QIL)Jkg19#F=rn~#ViS(iUlj9|}-Ok9P4X3!C@#Cjl8 z?8l?TwF=LS%Q)=i5evXP8iqFKs!?}=w_0x3$~5(!&Hif0QE(FU-8eWi3+;)u-BD(# zh)HoPyZ!7B{p(|oHEKo*3Jf>S_N%u7IOAFrNP?<>mfMw0oI%#Uw?H|!!|v=(Oyv?X zxlDTl*2(_3lMx<oxI5!<J*m{=e=?t8{NK2@Ul6bWTo<nwYBbzn;eRlcdKCT}LRfhH zLpzy?fZ_)z`*_>ma!*tIp$TyAZ*?1PdGje$jF?J{kjD$M_7V1(AjOqdH@(0`Y4ZK( z+%e~b5xE=FE3xAUgOdn@<FGn}5t->vqiVsId8!H4#0C1AWK7>&6+h%K7r%}+mpe52 zXy;UaYi@DAgL3KBi=nhsWwEX?w=KgCo-DyEk6f;HUQaDvP0NoWUneRTvYQpMORLlo zG%2-jF<$j7FXQQGW9Y!Oj^HS2j9PzzO{+kV^PF%csMd)x3i*@@0Sr9B>mC98Mt91Z zQX}|a=QzS``|=kc^WDYMHR)U4f6HxgATAV9rT)Fu(xi*Van(BuIf6ijdkB>AS)caJ zzkp5TU=-ZG?jx80Q5YabxTSZ2Q{iE=APS?prwY{lj;*@i-QktZ2pt7&LFC5>+U3}S zaBR_41#3;y80ANmypJL)%12AH&SlY;1wWlLCbD_0T@sxj<jA2}`C`H|xxqWx?cfr^ z7K=IoIu<GCG8ABX>D0`Ur%tTBM4>+g&Zxv4)5sduLfxG~vwW_bu|A_0tiy@DlOBvU z5~FTiV}ewy6~83FRM><2qDxfuaL<O#P?NQ9#y*DQSnbapEw$iZz-g>@eh{BFYY_i0 zJwS&5EXVb3SJ|Bm%hdYku?knqT#G06taAexetEQzuRp-4lK$%(XFyzTrAd)5c80t& z$CS3wk(O_whWKRmQ%g=&%Fl;lyq&jJGejLLOrH{{ISgsNAA7nGSGlCEOJM)P7SKQ{ zfRY}OE<{!;lwj?vq%WA{X3ufBqBaNeOui_4@$+i%uy^69P?m#H;aukQQS9no8mq_a z7!f0KF=OKLaN@FN^;Y)6C9amGWA)FYeQ94d1eCjN8PG?%d%Yx}d-~!Swb7SnaJp#_ zb;O!p@*UhNYBzjJhESlTL6RL^rPKajS*IF$mN|Nh7e@8y=h5TN^6|{0xQ7N02K__s zc)ZISkQ5Q!?^G`YgX(5Vq2<I;O34QmEm4-|H1UTS)0l=L*g6$cnWYzln$1?F;x$^v zAK5E?5<UFdJzloIc?ViITG%sM*wQGwVw<yPeg9o;4xOi}y3I~TBp-u95vlKTTP%0b z6CJp)44vtp_1JQ6G;h%96Fg%arhr?xmiP6spW|rl5Y7%WmLvz^Bn9D&cK2Dni<5h& zBDo<|h>`J;uJ!yXL^HdS>-`CpXPlIWE%m>StA?&ZNkP?8>2UZwxi0nn(Cr}Gro>6N zhfq?CWuFv}BsWX;M2Zx*S0{b5#d~Z^sskDk(XY7Wd<vUNIqt*u=qt6ewBnx?vX=Nv zHnob**{5RbJL=rbY?fJSel$9=JFaPd%gOUKle=RHi29tEN&UQ4Q0vN}><B3li=#dH zK|9|4IywOVnudw2LCmG@H6>MOLSen)=Te8#BM0{Pm2CDEb9((loRx!|rsg}7yq`Yt zo`0%gCZABpdYXDLsQI+8W8LbAJm(SSF^QZIu@;Nb%T45;pp`9L<Nd$+AyLo*F9g4> zE_c}d4ejl|s$TYE#T&v&P_%e9cXMA?4n~HEs8z*SVkvO$jQ<!CHTLw)ZsJ-%xZI)g z(p>U^0HXg_l<Ib7`g1Ws9e0NcQ&`~8m@2N|c`Hzxz}|cl<Rvk&{dS^w9%PtFj6qB~ zYZsrcvnH35GkMiAwUcJrr}agv&Ge&6rW`-~BgyoeeH2QYg6t2TQ7R($Y&Ss~4T-9& zYQI)*^P-J-$sBjIl$Hg4`dVW@6!>4wNdB)ZN#Q<yxR$E(_>R-cECn{cE7ln^Z#=qg zNXUzHSgKGenDGBqbbuG{X2-M0oj)5JsM0BzJR;a=k79q}4HacbLnndSGAQD#=+3nl zw|Sdcj28}Njn1|s=9VO()SxR*WjDH)T5CHck}^Iy9x^sB;xJM~290QMGLJuI9)1vW zVz6>ZHw&3#Fsfz2dLKXAfHf-U!J`Y@B%R<d&Qg(J(ZDBFe!-qhb%}6#glDTcHr3nL zc#jPji%9<2R(LUUuyk8Y!F}U5`QO!ezx%jhtFnzB@%B{tzdzf3aBE|uu&Jw8sl>SY zHR-oYc=43#4MEwkjnxI@*)2N2Ji=K|==efN>%#uWwZqPJ&EcQ9CBMJ_c^z#L!Vj2_ z5iu|cilK|5q^K#YeG|f@w#;m8e^T<^fxo<M)!ePVi@l?ZF=WKt&^>$>q_pV=3;^}} z^${E>@Vim(kSDY?a@{!|y5O6DWmk*yCBpo8*1T<5{|%E!a{xm?)G@HSWcp0)tedlW zy6t@Jnl0m26-}&jee&Y@>#1_N@Rwet$bo4|*u%pL{&gGv%CI-7+egw|&8h)v3zY44 z>gQfUzwQLj2vPSi8s_lrNpWKodVqK0tB}<Yq2z0?<oM1$MF5L1EZ(DKn_?4G-c;vX zgJcq0*<YF|TtN8xpXU_w?r`b#&g75&ic=n9CMTung*oHm1Pr8_aKG*}9T8el3sOyb zAzqVoGRXPx_|xcGCt-f>kHPT^#rtC=)7)2t)wx6hNxjyx)fjJk12`wcBq*L2VNRh@ zF5z-t;Dh)sBwhFEWlrW+E+uv|Jme?rBx~o|4_jTn*GAQbBwr)%Z3%VG^v(L77UC6J z7)F!wu$`BU36zF`=}{xGfMmMD{JsZ%vsa(`EV<B3=+ws_o3T0XCk9VUrpH;)23)?; z0^sBKXlP~_GaNkNeE^paUGfq9gZl#c6#^?zf<6-XAa(@2S6ToCP{Md%1MhI5>}+eN z*~_3nFK@`RMbKL>?{(*A`n-x)2!$);i_5mhu|Lo%g6-ar9CaeKOk&|s+#qv`X}T<P zX4HTGm*rC!cK^Wvyl7<X3)e>%4~rMVdbYR9U-obO^*YTmMz76re~!{DB@5KN@a|O< z@S^uuslkYNW*G5S--!qaP<UP#rTrSt2*vOpBWjxMKnQn*{=QG5EK2Ji^^}dESwDYu z1^Gjfgpk(7|72=|32PX(?uaBCSte<r+xDf$n230L3JRlx4DSfM;yQJF9P}GFAJZIh zQ(tT%``s_0I(U)_8J4d>v-B_Cd-k^>F@gCq>$8VaRHFSZLvDv}b_|{j>aA<nth)y9 z-`Jkx)NAV;Oe~Er<pVjRlUHr^-CIB2wC|8!8)$nsR>%*V`S(}*Q?FD@qQXBKEf{x3 zo8NH=uDp+s4E21{u%4+Hw!L`;P(gV|u=Uxrlk5u7m3Jo7P0N~igw%CoCjnTxoE-?( zAAVvSvw=ro<^-pMK$Y&oAD3a=%^I||7*#8)xRwMEKv>ri+;aisJ3<?F5L~oEyBBb( z1{cA(U(O}b3=B{s9+I|T#lMvEmjRd_7=!+p|0(_z9IAQsY&K%$IB)4Cg{J(q!ZSG5 zKdyrbzb5p&IUuOplk4mL1awPMm~k=Ux7=kPo$OwZnEO>Sx0JuS<Mj}i{&|5e*;}Bz zX};~CYkGFo8obid-}$hd6Xh7#Dwx;Dpn{?|ejO`e?cAg_*~n?Un<G2>1E|TlihN{9 z%qZI;2B#93kC}n9E&xpzW<?2SX3aFem(mURKt_$|##*Ip(&g&I<<`!1RTm%TggdK* z+3<+85xug4sDsG*roaGG2t^ob7d>rIP!UH8cNtE%3>qtnTh9N#WFSfofZlSqWT)Ad zBic4<rTCt+>3DH{c=yF4{hO}4HP#ksOfX6iax|&{69J-4UOrcwY`HH$7jZ4@)J%EM zfB%t^4Sh+jb9UKt?<a7)kTh$ARu|2C{p~W<<D6TZ1cD7^0Yo@LyO0;tLV>UwKLW~L z?APLdVGX$F37m(rC?ia<h6+)Y>D!+MLU3O{S<h=ySOD>*0#yco0<&z8UmOu%7y!La zVJ8Y^Xqf#+aLhmnz=s?hb_ih+=u3*k`eNIPh9iOJjEt`(@@f$@dRSktT>I~o9a}Xc zsL%6l5{muC%wCp%!s|B}rKly^F!1Yl;)=%Se!?c^ezJUz)|1j|sLA!(^9z)VSC*SZ zO}NMWoY(foH!u$Y=~+`5o&14JYMEBSU=ROihkqETu>Q1<Sb$4iUQN7zW6lL4lZ%l= zMe#S8JC&Sa9Hf3=BY+2+jYV$x4-<u{0Le%Z`XoHdFdlSqYjAd-oAWq_C4?`kn46)n zZ%a4eBlgr~EGYZ|4C;n3VWOYWGsy-cFllwk2l?<W6C-k|NP^PT$k=6^iwM9Y-%C|j zlt!XSE5r*wwCQRt3(iU12I!Oe>>bL^|LdEP<iIVe3xYQ$I3-d(rBk=o9s98;=Pt8k zVT?`Mp?ti83d;r|T%nxm$uet##iegw?V>M$-l%PTrJnR!aF-+L614BF!jL5a9>HB_ zxOVEp5eK`UYYYQX*cwiu3?+EA7c#icR|;6Bf<amcsZWPLXjevP2_+(bi;wgVJ|WFQ zX;5n+5di?{Ly*U9stqPwC}{5|yfHE2GBe6i;O{7#+*!Cc{POLsC-w~faqzQtc5n2; zNtP+k$2leu2FO3&cKQsn&F@^{uD19`OKxVe^3j_jXBt6?x2Dd;=-!M|r^qbHC4<@Z z6M2s4AAz-gSIw?|y-bHS2*9m@2<!*ND~S2{P7y6XFT|4W6Jyv3hEeC!X8&Z(PXKtZ zdIh|fs44=LNEt?jLct|RY=7Dmpm%cL(xebU30@2);zPJ#*MwY|BX36nCiUdSeWlO( zLMhFJ*+AI^YWoFC&;u{vljdN~z}408u%%U5aT0Tzw!i4tYFHEwMA#E-`(D?IHkNf( zoBh}>6(SKleP+UROZv~sU~iuy+R!yB^}V0H`Cj^=O*3+n8^4c?yrjIsnozItcSwQ- zEKKYjL0O2zsbA7d)Mc0I8;8U^%yr(0cP6WSZRmj<*I;wWfX7-rD1#Z+MKvm`I@9(O zk{Vk%C}4qgN5)59#PmMG1?7h&n<c~)U4EfX{3`(God`0D^z>iSFk)r%c+<zp3E#($ z1T<bD*8;G3Um>JxR8j9#DJY?B?<`w;7P)leWn;9w0QiU<d28^xoA|HzhhX}kqHtpw zxA{!3h~$>+4LC2%F^}J;^xtcS&kB@}o~UbX@V+6Fqqm@>FPW%xGXjKNSK#Gla!f*G z31xZSNL*9xHLwxB${81cpqXjszN$hMPl8#{<ZuBG(5vP^Az>)4jEFf$iXRH7)a&Rg zA?atBw7oH==(r<*Xa;i;G^__*{TUkQTf8C>dPa=ylp-*Nsf?%W%dim?G7)GP)BTey zl=7SL?ZRgf<bM(_N2}X{0<wPfZxrv(Yet+t?ND&V`F9T{p912c)<?{`&bx=q)Z<$Q zbn_{#q<Tgb#uw>xSLk`z)R%9AIXQ+AjqgVzi@NbR&SDe@5wz>|m`s&$qM7zFLgPU5 z{;fkj6k26K9)0L6TQ`^xZG;`7x_KSa#C1$~T}!LTDuAfPvg8I0vO$N#X=E?~wW!@~ z<u6gaA#{qE8@VVXdN(<8bczd@0^~-e!9#@(eK^rJN71D;FRYagLq+cj*VTD$rMTJt z4G5(9X^`g6>h#n&cja$yay-`?<((Hl-wcLg*^AeW(5}Bl-Mcf}m3STjnPFV75BKCm z*`n>gaEMiIMt=-qUU$QpTmn#wma-0tWBODbfl@H&f&Ce3jxmWe=79s$RliU&h@sb; zFRz3vWd=>rE%`u<UjZl(+*mVKFA7Bg3`==@&&Dd+0r3w2>?OlWJ}C`b_dHCrw7Hhz zAHTdl)%OrjSDI*uZARbynK1g>U%)8+Q3$&G%iGJt-EkB5tIvtE*C(BM#{Rqm-C7oY zD(~IGt5K0&^I&<D%V$T*=y9@4Pjd6F9#b&5mgbRj(*8yNSw=PLDOFn!(J2QY$vGzY z*Gus{m<w84AvhmrmGVbR7V-Kd%2C(50;1C+>0aCsD0%`%2w0gfJ!qTa3c_R@7>0%Q z)@qI^V{zIkHZ+M36uhH=txflB#m_iV=c+9Cy*V};TBR|NvJF+K|4$>!&HtC-5wxM1 z4yLB2uC8^B*LpfSZ)7xFwBEOiH%|yjTlfo4+M0CV_mrSHr1jCdmHF^QGlJ_egXRH7 zfI0M<D@ceTC}W7H09&q&5x&X}rNk(Ua~eW8B(QfwWPv#BP(yeY4|EcZFLXnP=ovsC zkVr6%&VyALSA(S%3J$@j6oeK@7DO`~S&E>Qc@sv$-8a}EKMFKmU<&vgS4Bc1Z!rZ_ z-B~yu6hBT&J!KXB3enKk*Iu0YRaal$-ukui%{)OEfCQY+5qRDC$~72?caiWCu?Gh4 z8q#>1bokud_kAkf-$#z^NoH1*x92y1sh2P1EG<(So|9$QGI-5WCR)HRm0;l|YvGH$ zS1#~N8x8RFT!=oZ_;nRtb7)8uI*~HCrvzmTilvqSX?!Aw<!OYX-3}%U5q|;r8NL`p z0dk-?9nXM(`B6H7*J0u)f68WZ0dknJsxW{wh!3U|&NGh62SrB5_fIIx^z8N&-r0hf z<Kk!@G1?QTU&>zSq&JnQWY$7)?VYsHWzC1;KWL%_2g@-FxVgFE;k{WF6>Vv8dw2+x zk(r)G;10H<!nkn<1-V;Jq_9-}$sqt#D6Wc%N>pT|X{h&YU3)`ALrF<XTU$+8Szc9@ zZa&-4xXy0zFFrn(>8aZ6K|UYp>BbE83ek)z1hdC#tk0qHY(wWPoEZY5@7*l-V-=-( z)r@{f=RqH0(o3eq0S{x2xfWq{&Eo<pk$1C$CGZz0=?sD6l8D&sSoH36`XkgodWPiJ zVRv$lC@KNPx^kuoVu-C%!aXzeRbEhTCRlNZ4dQ0%`rLD{gsb*gE^D-*bKbzDT+d0R zecfqwDiG^1`uPcJA(~vl*8)o`^R1oj?NUwK`WA3XLPA1fQWEG(L_|rNetAR1v5lR# zmCp6v-on-vNh<1v)Te)Uya|kmz3Tf!9w^f@etVm4kToa3-;K-4#@X{yS3}n@hil}; z1oC%xw@PYiT=;lhh}3x*No-z|6E$SLt`beK+=;VrZkRcc4*vPstALtbID4Bar-u;z zoT@G`$z+_Jq`D*2(G1HIo$(Vhgl$v!NvZMRFR<Qf*BDd(O>GO1;(n%6jMO4H#Qp18 z*WYMi3@b;E$U9@3)RbL?qBNQkvJxQqSE6Ei1N7o;sHKtV)Q;6aC=st&SGA~H>>E3{ z3lDTN`^Fn|kJS#v6uEwsmiLkuoWa0^p}+uSFi=>8@({Pu@bjVP?1xn8Y1s`2w-_M` z@<2A2K!qcUqVm6R!iMp5XEc3xJiF1u)s(ultc)lKVx#xbnP+*kYOPp6?qmU!swcu` zL-~zuKeqbY%bJ2s+M(~A{l42^AuEF)_hx82QpsG`_U6s#tL0Z^1iUH%+Nek6I0s(Y z%;4{M1-5ck*rqqRl3ABe`@xC0ePUvF<Ft&@khV{E%&!6Qy-K8^vY{wlubh-~sQJ;% z&<iM}S^k3MU<zMc&atG_CYv2$CckFR<ALe3G4e#eT*aD{t=@u*t(nNOvJ8(SAabQC z5{Qj%u|1R&^&Fg%Qac2xtJ^i^b=TLMpN!@Ip+7VrD&A{VRiXMi1cR}<I#*On$Th(t zsCb{U*k(Wc8{4m@0vwOcDC5tyA0pFEz_keGfeTOg&&#DRjZ{Z%Y1*rfWWEH<N$Y2= z9KZtr6w@0L!5X%y;GN`)V5h8!?ajkcg8)L{Pw7Ua*U1+ve@igFhB>1+6FsA62S?mk z_2I%OJtHZk$8b+2L!f*|$GJ9dLA`=f#XQcVnY;9ju95DdblyAHO{^blczH;XRTqUc zT^)w7929{^2c?)1;O}BWo{u8<k=vc1Z;F3y9^z{_;EL@?dvlXmKtRA^o9G$0i^g4y z1i+7;IdKt$75<HI@+`NeDP1zc#Brd^O^d@hBGa4Rr9zpO)g#?bVBx)<38;(cv?X}N z1I*}yp?)bngVztW`q*qvofAP%9l!%6L-~Z^>Cs!A)fcG_-3Qsf5`<;AsS&wEU<c)m z0g#oH`UnJIh3=!zuo_3LpZ;9y-0*x?#LD3Kv%zrz@+q#{2%Ql#y*3W{VwG0`Y2S+X z)oxxag4VH-K3S*FIl>vkoxMXIS@&-Z!i|j@Bmv`=Mjh_a1LQ5Qvw^j{9&HGiSeOU; z+48r~{^Ulq`bE%vXPj@5<#bizmx!r3Rmq*bnX(W<zPT${e&tZ(zra|H`tr$Ppq^2{ z=OSf9DLJxA2dAC@qWsK(d$j~i{eWc&bg8>>uibe$Ensm2z+Zc$M;hbHD(ZJ#%;9&F zmoJI<peKQ014*RD){84ud(x@1i;UAUsg|$5mEy}fiV|%*OD&11(K1Je+Ny!C0Fl|9 zPy&RVT7Mfl=AgZ`HDndI2$DZrg9kDFm08v`<N+)|_tMx&9-~L7ubElBw%D}YDT6m+ z{l%+S$b!5$>~peQuQ*n;9|_6EHnsD`hu^EUyoW}UIPQa;=sHfq;|Hd}<qAJ-O;S+H z_rfC+9vuV4)F@&Egt>LmY8+^GgDdHb;^gwpGcJOI=~q*&;EuN;pCYvY)QFShAE>{@ z8TDa0GzX@nn1OnkKn^_Mk*`70YEf;ozQkjg?Qz#pvlz*aSiVO_gs`Wv`@F&qHLEvc z{4nFT8g|LcmkS{OZzgK``nlx_^&v@JT^rTa&P)zILnho)ng1T7x?q?h;59Yd2iB_T zg_!^i&h8Cvuz{|orn;`Cp&Iw|PC#9A7cKZ6CN3x`Do;pAN=!yeNWtjRNxI|CJmO%| zG+Kc<{h$;N`bH*2uHTx>)vD3>!}uxw&O$7*Bi_uQIV2;y{IrYIKCW6RWKH49^i?GA zfYitHl|7&{yANyKSu!yNJQ=8qG8tKg+VK%}T(0(edm*U@HJK4dt+;`;J8RFySEka; z8Vm0pf<IL52l^C2q1bAu2M{)p)Tz}KtdPPU#&D=6OVm(T)s3tgf^=08b{uP{aq<7G zaGh8I;7w-Cc<5yB<74ef0Y7{HGjr+owq!~FbI2DOs$Y0g<^;0xed4ilAri3?zi>Y8 z5&P`=!3O>xZEqb{_0#=}0)iqTND8QgbW4Y@Ns&gnLqX~8+8`xJr_vxHjdX870qK(N z&P}t49iOxLKF{wt=bn4+>)vzk>;CnrnKf&znKd)-wdOOECACxA70W_vbe#C@@H3+O z<;|BR8)iow3J4hwWU_i+de9KOJx2K$2MwWlz18xU<ARnymrF1-5;v(!^J4fu4>I{E ze9|@i5Z3gykC-cnNy7+35?_R8NR4u2E<@;}-h|#l{;;PU!uyrw%C}sOMl2^^93MFL z%`HxZL}U=2#^wtsCL_%!HB6eZvDv@lk+xx@=n<foh4}~jI17q4>MzSblb_kgK{`P% zpqrbPU;tx)>^rNI?0Yx)o>ra6c%QUyDTLI|w0+x1xI;pp$Qx@%V`c1-YG6y#V+MBx z24Y^dBh^h$LGIk0j!u6V`ufbA;%;0cx;LF~yEmG@RB3azo4((f`{PRNpFR`x@+5*I z&m(}BL$@;@-`hzpaHy|nlnAxROT3M_gE<z2;eh+(XZ1tj7cv+LQC-fj>+-0&<`vXm z?hHH__B4$dbex_yEvpeJ;gd+eEd0J+27OEM$f7}97M248?H?WAbdFxV#lQ}qC6+X% zco>M$^1GKkPfyd;)>Vnx6`zm4*3I?Y)$MK6XB`H1Zf+bFbMt%i^J2HR?)UD6OioTF zYnUGb_-_LL?YpDvEWx7C4x)T=@6ho_w>T1UGj{R@=%kA}?y3kPb@8ZZXv^%O-QMgJ z`t!*G!_3cHj_ewi8{Ze)MIVR2@((~BEuS|B%)s|Os_^wBOh$d7AP=V{Oi*h;FnEO; zb(8vMw4n!l^!1u4^Sbhn0&9JT_D_UoMV1~?xFh$Gp?o{mllx%4uL?msMEONyN>#qE zI(A(P3;pI08#iXH+kqYYd$mxP9H&?WoQQ8hA{eHI30L!O&1^mngf6EXTsbcJIQJdo zRaJq|eiLGvZvH?z!$;@$C9y2YHcPZ|aBx`v8XK7W@(wE6j;*XbS~ewPeNOcZhZExg z>lza=>FzjX<iFZ~5b<@D9LB=acLcqCEY8@y(ofp`HF~Q%I`SHHjf_80hs!rNHyg~& zDfN=Get*9?tCbTv*xlWYR_Z;hPyYV?#~^R-{$KF4K_btm=SWn1&K9ii!$P)yI~Peo zaHLyQq;mR{P0FR{<+?JHa%Jk=QiaK0iOJSd(|qyVa&iB1BNaur_&v%~j>YPIi%F$X zvDQ`(<w~7dQ}&-?#SJ3g`CR(H?qu@KynQ)C@7p!4aZW2MB=W%C;}R4wzJN?`ES?E@ zK-7jr-lI2t^TwJLf&KXHTW6A!ub9qQY;1ew_wx*67-GyZ_xIO`t;6a6j?Xc*kO#?N zl4IzjIDo|hvVUP?4Ehs#?Bz8=XNC`dG5y+qvr(~FMMw54dXGMM5aHeu$op^>^mYnT zQ`%BcXRM{4_%)F_?JF5o(v#<f1PMJ4LVK1@W7-2ju#>GHIU@>HUMUr>kAznqOF9`{ zXVT__R-T?Wsy;az^<o77<lp+T#O4Mo7?}(45<1xcR{KoYzzYSP4ml2~;8R(G=K>4Q z(R)p7q&$#G;Hd_TH>coHMjcT>yqv}UBvd?KGzT_F*RbCx-z!Ye((YyjbFCbTucD5R zFfl*n56>PHn<G^~eL=Pw@yHj?S7lcSTGakE7nH(ni@+GVf0#F`77?K!#q93sSzlkj z;U43lSHY&eMcGN1lah6hT~bhjUrdOLlYMx@A|Gy2cplay@sa%CQSYpH&+L&7=X^!= z>|?v1{LAmm*1M7Yx(~Ftva~p}di?O<r&6VbT6nEpFGp<Cx<ACdyTrVi4|(~Bg~2N; zR?I^J*1dFXZeUx$K=_YeCLyC(Mz1KJp$Qmt-hD7g&lybLB>Vcce4LEfCFDx45dYs` zI<(X5wG{8ed_TT@`VA{OQs?FS!?Bc)R=rhK)MCDutY2T8%+@(t=Q}yC&vjZl0hW!9 zZAQZ5g&FpKLT@#N3o5Dpu+3Pd4O9E11f-{<rcFJK^j75bRz#lv-Wa{#`*L*k&*s?f z=B&szrSe)E0AqRvzezBA!&*R|2v~*f{oD0@ce(bun@xj!9~6swOb%y}s@C>;+l^X& zT={z-tPR~+xp|P={2w3<5MWntyl?YG9(g0TX`cX8e2HZLCDEN%=^y9v|Cb8@!bR|~ zQ_+3EvvRa_b9c3}aJaj3dS{C#$V<mdcXuPgC;U?Azuxi*{QK>zS9CloR*oOtt?Bp# z(eE_rc(i?-t>}34)!*4#y?3YM(L%$sf8HoMSbRi((6h1pC$SJ6&l@Y7kJj$!jOcqs zM|Ue%XD53LcPl)1R}XYTStolZS1o6Y_f~WwcTAv3-z9QH)6}qXeQ)LL?qOk%rmt$@ zW=AK2{%`ayg^Z268~UrPlY_I9BRVaf2p!LB8+$Zu^!1LooYi|LODj4_NxXl{>5U1^ zT5uzq$?7{Fr6YuKXf)6UGiI>3%Uj-yh7N?pglg4)8M1nb>lZ>;PP#xs`7q}76MRNo zN<}G(YQiT3kr>5Tp2i2SW=rNR8;x7xogc~)iw~VzK8|GW9j)w{jb5na9Nm<vm5gL| zWTCQ0Z-#HO7W{X_uS2jjFz}=>Sut>OG01}ccOHVb*-s|>)y<w5_#cJsZA;$wiol{^ z<rVS*QbP2=)gGP(Gmq7)>Ae16k$pA@o{3%DU-pFUb+`~gQE@LpPZ~q8xb%Xk`EMlf zM<u}T3})VPd8@Y51}fS3d^nY29gD|$??z-Q>JEj=7N>d8a)nWEU&gIM=(AjYGT|X6 z*Noa1MkJO%ruUb7Opy<O)MV0{#}QZ{uEpVF6MrFa{&%>(gL8R%x2b$5_-W0?^GMc{ z<vn=S(-xGM(MNILSe=kG|3-!&KrRZGC`Kz-^ZkcwgjN9QGl>nuvDM-z4Ae&Q(<>#F zU}5ItZ3S)#_&WSqyBHKDa;;t-eX`m_=IsRQnhu$P2n)=Ni|2)%k|0(=+$k=!;$*Dc zujT_TJda`c>Q}VKhgoAG_dz<?Cr%2%^pr7dC$HCzw%gOP{Z7$l=EC(i{&*VeWaaBb zlb8?Aa)w{i<ygcDdT%vZlRnd)F7R1c*i(TYQZA>bmA`T>j+(CjO6AppYp8FTyTBpy z>#q3Z*E`+qsxS1iebz#ZfdV|8LmhGqfP&(A4cXgZuMe~Y&k-kZkZ6XH8EXVert)bg zSWeKTWeJar613v6>3JL*#ty~vBgX_r3^7`jNt#L7s-4c3ivskrZ%$Plk=hPF^!>ux zqk_OEJf8+zl9saqM7(#u*Bgy)-!E#zMCcX&vOv{(>`o`-b$4%=C>&itjg2KWwCRO4 zE)tKYaZZR(2SGzc%BDPv3nH#tbF?{z9eMhA)G+o(s4_du($0e~W~`6kPNdT+rpsAy z``xj=m4GedZ=PvBNYFKp`hy<C$MC!hMy>ZB`qmZ#S}D?;zQS<&<_|VoT~1b1P`_SZ z{pIz7zYe^ZUti!?zSOCi!H3L?oDHV%Xuj_yYGc7c=zWlGbVh-$(>SVq2lsx|O9i!; z;;hmlidT)cvnH>$>M;;Tl7N9D(z!?z1Hr*22A_}swEPmtW=)k{Ih=62P`^+{SPpG- z#DO?yHPG^Sr!K0_zQ9IxL70B`W)SX^rTC*i4Bh}VsBW@V_D9!V$%>5tjqbGwO88`y z4Fk21=j&WZ1Sdl0Xr{<T#=*ez2e^lzVvIxZ{9Nj04o5)kmRDRix*X*vwKq@i^1z+= z8(p?yI09zTB~rc@T6utQ!wUjuG{<l_8Sni<g#b<Hq>`&SS{R6hAqQih4JBF_EuydI z>+lsOkcqXr^1*RqfJX1O8bCM8Ui%KB>m4!-K*)_oZ@FnA0&OrZFF%|Ibb^Yd?q3Uc z7~a?WJ@a;4B+?w{0`-O0@2%28fPAMIJFXw915d6WpowU5t=clogJSviOo2giN8QO6 z3CGz(ikPVX$^fOU12arvRdWAA3*u(4pYc4>zYZ)`i-ONgf0{3d4hGkO$54^l_)Y1b zVR7G8THs)Ygt2Uv5U?8N$;u<aPyYx@gc`2LfCJ`0PTkDoS@fq_pstpyAEbBtVet5Q z7%~Ex#{1!1^iFWt|6>_3t{cBCG@bRPNFIW&<G#GiIKGDx#p#3$FZQMgS6)~EU0~zr zIe*%JYRh3;sItukU0*qvsOIirTi<6XpOUZ;A>dd-yU8xlG}r>ES76vVWi<=jhXO5N zL{E{#7d8Fam%i`aVZk&b0SG7M9H5`@0JTQ>Y^g8P+1<cPV^^$&Q{?Hm=+3(F+6O@i zlAELcOtMvoBnpDKg=`gS1m~1W5hIeH5P%9pfFPvb)<7BmLK2X2b0r*Syxf-7U6>a# zqp&0C_UmGON7)P!QKYze2~nCI!wo>UJ=J}T?C;MBrxw9jSD&Nj0K}gy9!P@WcIDbR zxk3J^y2Eowx3QAT+T-i0-KX~u?i^~ivSMk$mN%ov@IpK%HJ+F(q$*qH4I$I^w7QN= z-XXN|O8yqV+4bwtWm@+|;V2=4_ao@jR-FVUYC!z8ldq%IwaE3f&WYK0^U@8vABn{z z_xM~Yg%encBYCJ36$iGR`jHX(`Ukl-TbeZ@ZbXuxy;;nnr<VcE00BxKVFm#rZm;$J zDl(+w6UTsUCzOxWcM$MKb%E<Opg|mvSlD6O^uHMf{&s<{PH_5%FWuNZ*{A`z`an|I zOkZiEP6+)ykxh0DHftvw`vAC^K7+>z@Zof(JELrpo!eOeHMNzOfDCJ01!)&jWSSEJ z$`H7EKim`I`%@FA01BK7cO)(vfQr|#6jpP>TQ0=EZp{DDBkh9>`E<V3?0k+=H%7^5 zGRQ_qMh!sPcC@T=?^1#^choCRopj-5?T;8Tv0x{(?f7pj0llr2o#mx?Q<vZuCuYXp z_Dy+#KRh?_VP-Q$Q!akjlr5cxl<}Xz)HkK-S_<EA5rg7jYX;&&a6lLdTnBan@y})T z5wF01^Bb7`Hp<v|nX}Q<`S==qwgb6!BKfK*eue|5W!3ybQn7Bfi=|)-OkT+cXo_)H zCj;aeQD?<}WBr4{&90|8HspW|Wzz%>V-28=QnyW&SiegI_SuPZ+Qdirg*xpil-+TY z!kz1knjsjOswmpPQodOMdFWl!t^A?9revQ<o-DsBMehS<82YT!44StUwd!aMoPX@| z6ZRkB(FraZ0-QFN7B&t4JE<3{@QXC>nUm%bQz!D>-K??hrdFJmw(~w=H0Q^Z9Ug2A zr#vp`-3z7G5DMwAJ<5QcSyg%fWp__28*#%U-AfAtX;kPk&i6vba6DUrx^J8`y7qed zNKkqZf2Hf(+ytIkaGtlS=&%qfjQb=#k3a7mXpP_zVx60y1Sg*G93vi5-(UfRshYBB z3;z(I_!Kq^KCe@^n0(U>>}I;p4Hik@SJ(s2VHr~wVzyW;@&`Mhr1OLO{YD}tQuK%% z$f@72ico}?!+A?*`nhtfb3ahXt@<nELRLWKK1y_xT79OFqPIDM`48kbjwJZ}Di2C~ zUN`E7Zb#af5d6cPoODH!`a5eD^Ie>d1;ARjpu66qrGV_!j<Y7?AE3^hK_Jg=8?1vW z*in_BRT%YWURycFg5O*%euL}Z@gK09qWd)1qrh!|W}>+mokeZV(3>B)N#F=?ERq!` z0?Y6}9oiXti!N@>Z23mEwKEtT+o(Swt2~J|{6*}W<J1ZqQ+|Oy-Cz`!C@v~(O3NB3 zL)LgCJg1!f1*`^_-8vAu%s<0LxV7~pIuhrI|CSJzM!D5Qj@<<45g;Pe;D?7f1;`Z< zgA4b#yFzAfw5V_Ldx_>j)_^@Lw_e`F&UY~|s|<n%$?f0zT#Hfz-1Q2YWc+>|QtPC- zlljHZ7;S4asU2(Fe<!QB0tiu}?`iZ}xSM!KB*YBh=te+jB9%8OX=55c2(fH6{HGAt z2kc)a{!ku*`C~u{oR+4bVKtQ3^X7_=e7ugkSkz+I7OPC`37KYT;C&pONaNodSbo<# zm1hNMuRA(H*LqyE!rgV?mc}nd+|E#7Pnq6G(VfuD`DVq8Y<OYD#5@b|SSX-bPF-_y zfUjshI32GF%7TG}dACMOL1712c+gp%uH!nuCZP&wK#?usOy5v?qLLLl3>^U^&nL1t ztm!i}-_6`~qvF1jnotb{K21yue)&1iA%e}p<EWbme$0kGlGSh!)ZCaikL`&$zHfdW zCU91EPJ3%5?KO$!0K7I7afX%<(rlh6V#@{8LBT(s{~ft%#c)!KID{#FVemkGkHtDb z;0w2zASVb8!PYj+uAk}=lLR{&(parQG7ym;UfMf3Fwutr#96t<Xp;S5Q+H+&X<8xC zXNY3r<|TB!fkJ%dSxhv;S5Coum)~1DqX1PuZpDF8u`?VLlW#rjX~s>lM@Qbfa$i(| zDbDWqn?$=SV0A5rEZ%;p$k@CGh<!O;^-M>hqZ86>kLHvg$m60S8JfhAqa9|~&02{< zvfwZ@cSeCNcGNx4T}s9vbL4lSbF_N;7p9;P%lYCJ)MQ*vxNX(zU~-^)B&T!-A0?~f zc=Pa|L=ykh{azXviNJ5{cQrBZffP*1)rNF}2lHZ2q%v;OnmV(&>Bj5Sy-xJ(fbuy$ zjs*MjY-Md6W0anKcB-)qygL{isiBzlUKGgVu3pBGo1`D&o3L*zJ)OB`dCb`B5B!zr zfmELt*G)Aq9KHowkzc@Ug=`1lVcS(!Hgi#cgi_xFlkgedH<%)RhX{&k@_IA?k+Pn% z|0y(QiYE&TAjwM<>vKixvw9y3FAJt<_gwT&xq{o|Ku^z!nK-+H$1?vTRMI=6GvmQK zhD-5T>u754qvm0w+wJ*XoM@TOBRaGaw{kcZ%ZrqQt}=fqCLG@KocZgVSk3}(Juq*G z_Sm$=2@q97Ib-VE>zi1usH!2eCVZ4=XL`a&N;-YkV7LS#qNUT3Qe(Gn^ekOr>PE{B zP<+sDDP#*HMeCJzo{|jV79{v$sZ-SJ^S@Jr5iqa~E~oqaN1x#rqv)QL85NcVdW2AH z0PZ>>u?NlcSxMc`@1!}UHB=q2d+vi`vZGhtFlZ-D{6<t*F`_)ebM3Sq?u0&&DAO(C zm6rxBbj@rXOKYR=5HYO+*Vf66Ymh2QjlCmX@*;Ust5E!f*(!v+irXV;UCG}kbTCo^ zq5L{nwzwTf1kwQmDbkNSEH$_#j?jKYx0VoKZ;OW2+Rt>)<pc0w>Sp7$jETAJLdJNZ zSr^O`g?-91Hxxk){3rF3Ya)k*3>uKOV5!}6oeh@H;C@f3#DtXr^hospczHs*j}>tS zQObdplu9|kbLK(l%H=ydut(dZI*{c6ngS?BfHmqy16AQhOsqIpP5mhpkw@_Gq$F?+ zP0D;{8h3r2RvwmIm$182&5;FCJfqcLfAg384bELN0kf&MUHEm0!Pt*Ba{ite8?7jO zEIZ$Xf&;!em6c6&gMZ-LvkJNfZXqIs3JHibBLp^x;8of`UnWwZWKGONnr;#X(d}pf zlPX(2qAr2wii7Sa3?iB%qJ&ov253;uYNTUBGQn$}QsI3uBa)#=;obLBd3ASExs^_M zN+n#Q8`om(qPqinCb7b)bEYua4PN3txuG$WU(dl#AaJ5ms=Rms+4=@rUCB)%kI?)L z4&dfR;`wW%Xk3Er?u?i`o`x@h0d?ROj2<oJw#;fM5|irCGZTcH*j!@vKOao4_aK(2 zxUz6(@!U>^@@ME_D44+@`78RPb8rch)&rm$8ib|%^DfteD9g9+qOM0PD3Pp*+}ssD z<ssk+xf%*haD3E^Z^x?H!}m6fCI|(OU>j5S0EF_i%&qcY^c(<%WSC1y<VK-;qzf&| z%Tu!){6iXaL7wABqpB^}ahq6a4X@o_2QC4wK$^hg%CL)FgSnF~G_LPMJcv`H2vDH} z5{%84ZVK6nBkwep{pljcpUM88cHL4e!bmI1R-O)+nLcU`j50Q#U(3OQ`pA2?2E)6) zPgKcHqirYk2e-40-RE?Rl}#u}ugO3)4dYleBB|RDRf4B2BMofflNZ;Y+$3n~r-0^g zfyDawmaoz;%&Gx>;K{FBg(Z~UYOx{l5SXpqENo&(U0BW*h&RZM%&i*@p<!IXLC=Z1 zQEuCHf_p8ZB)!eig)^wW9?170YzOayhjlmf4w!4<UH9~Cc*-@u2K;ci&NY;*2C4y@ zdf+Kg2c%H+iu+~}FP@=s7A=Bh8t4yb{wQcNyFISHQ6L3>0Lyv*Yu^2ty+x)UB^pqR z3YDu;@>S*Zw&SDi;3>^?(SbSs#$sy_KyboinVY44?+yS$p6%oO1OI3d8Fs<7KbsfY zscs>8$Wc-%0Ozh8zx&{+;~d@a&hqDg?Smj1e}y`*2#z^GBga9W=2qy`fH-<v2OdbG zwZ;ogIj7Z>Hm~`Hjiy`;^e4`x7rXs~XpLmeYt;V%oFD@}qjUFvfhjv&6&Tw;*px;2 zgI)H>Ke)?@Ft}e5=MKgKmi_j_lg<CY&<c9qx#A$OS}?(hlYf0`<&cA_+WrqE<KF)u zQAit`##1;D1hy01;k%FO0%|H>usdg33O+-GfN?<bH3Onorf7LWfH(C)WlAUDXI5<) zv_*DE{JVONlk4!~W5M~iqC)<IL0bsmMDWp{77o6QXXB{7!wdqB0ry7WU^Q=vdkrH9 z>6MHLP*oBCBgDt20XvufLd~ly#`x91Lv+{X_beE>gWeKfU3?)C@o#m_f@i@G-wWm3 zp-Xe%KR}WQwefCf8;+I|^W^^zT>l3H=+zrsMMb!@AIF&*h2Ek2wd59fn?x<zO99?* zisAT0a=rI-2&nT%eKdYmHx;1kBua?lV9Gwagrqb|X@Ndr$y{3i;=U~A0Kaa}vS@(W z2(Y|y71*>h5Vi9Wn=o(vj8NJlw`q~m^<K|nr?!+nD5dOS*qNi=LBQif@X;Yw)=QC$ zTd}hbM0(P(X8r=NZu?vGc0x*Ji4oc_{7<y-uFa+c>Yld5a^pXmQXRP@TzPd`gq0MN zp`}+`-5Bv}IUdEsPh=)}J)WLd+to{p@S;6njlesJ@)sr{0O{a82Ey~Z^5n>7{SZe) zSH`BNhzDELm}s90Ddu==M2l)sHuT(A78jb+G!OD5<8ys19h{Tpdp!|Mq(_t$3>cN- zSOaqAEE&Z|Sxv2L^~xM(*SQVn5x1ZGmn7M7kf7L*cvZT2cm>{hTw`3o1akk?HPPj# zg^XlRA9zky3ov0cGwmp$Rq^=FZlRyRoqk8p0QZgTL5_14H)ImKJ51eIcKQk+iodT2 zEtaxCjl;%`OsY&V0I1%z_XY;ea<)(PR_A4Xh?_;o*S&0j;$-{HCoE~aLva)vVOZ6o ze}2R3Ab{>?e5wZyGY`sh=gz~)Ge(5+{lpJV`ViP+(e?_b?qgdBVV{_9okrGqE;C32 z`<%8WR(oLOI7{oQQG;hPb&~w73p}7qHs_=goDeAvhWG{Q1h!m|cT$7J3aG$Qzfi)= z;*||r!6jh|;tEc%M>$thI44dYBkA>qbyj!ym3bgOm#rbib{$yeKt`F^kz*B>(^E*T z%~f})s=OHoE~=`%Fg#OGF}UPrB{f|I?Sq~2D;L`_IL7Zrj4~_6Ef|(`j(!Z3@Lt`Y z=PG_@09bEvFlcGeeZs0zUz}_53*720nXkt{cdOE}ndwwGKl<zJ4nJHq)HY|I=yZPb zv1`L6TP5?p`a7{|1hl}mr~p@tBa#ByU;>Vl+uzWbRvyXP=C5mBzsscm-#D%RlZONc zMJpWZK>2?THT)AmxC=E1@$!oNSEK<Q8~9iJ;eUuU2nzpiL>gZ53jg;|gNOj{|6Qno z|NlDF@IMC^=>FHi1-$<;xNz9+<8ItjFFDWQ)DA}>kjuWuab7E}vW_yiq4DK@_twH0 z@5944@AJyu$Hjj0WZ07T`zeMuhCQ!$@9h0o3#)G%tc<cZr9%W83mg?I#uLkZQkg=K zU!Ea6rz%Ueidh=(D?98R=#=T0e4ME?St-$~2TeJT<WS~7`bUAp9Jig30OaM|^78W0 z(d6*3Lre@;@jkVk`jp;`#t&HxEGZ0J3`{x<>>vzc3@r4+?^r2Shi5+{TW*WOds9b7 zDkqEmI#9QE49|unzec{%%<o|BAx^65xZNN6#&2S>^z2zyjB3Rt;qY%&R*gNu`b*sZ znIcB;lgD%<E~S;y;jiCOI5<Fm^L=(C-mBhwI7zb2mK+E>G)U*BFG-#DEMiP<Y;R9` zqoh9iZP|1nfCBUX$QuSG-53k@NajuYtlZUJcI?Pe%k2j|IpNRl#FunfGPD^5W6=-Y zNZ09>mfBT^D+Cr~4EAZPM+!4^Jrji3v(5qnQd9lt(Nr+7|4ZC|9^T0XeUN%{W`DJ} zJW}}_eQMd#>|dF`A-K3z$M1Z*%R@UN>jWC>goFfz1?q_<_Vy*0mR>Yuj<qS;`RUmi zeYCTCfWsj2zm%I;JHO(KqySXfzo6{E{k@xAz<W0>H)Ulz8lI!|Inr(By7jW+;s||3 zlY7I}cZEEz5?y-XnKkB_vYk3owEbwFa^>&e*XKO{3+i8qtsNa~ZJmmS8J?Ncu^wF5 zq@#8nY;7E@^Q{a&`HoQ;zq|TuJSV>xTJ%;-EOM~!G>{_wsZAOw6PH8Qa6xHviZ@}( zf|Ol5_RGiTJnr6<IO$&==PBMNPvbjd9~2O3h@x|Q>-o5Vv3P+^$>_zyC*Q_2f9n)- zMHdX&&27|7T2*L8)vQ=$l;#dSf<s#g5Y6@9k)L<4Myrm7n~G(C7q@sz=Wf_YmRt2m zj9#;}xM0*Im27=ZIO;qK3gU7y_BlI@K>O4e4Tf>B^Q>)cnOvpGLW<sgF0O0vI8ihc z@R(R0@8@XU%@FEutgjaoZq%O1E-jImnx38;mv&=%CZH#C&MAjo_kiItBqPY^<z$`V zi(3k0wDHe?FLsM{OUl=&CtPbr^BZ)ajk_B|iF>!|+u0UvSolmn<bY8s5Ln#TC$p{O z1ey-;ni;$?t4xm@a|rqqrXM>c!{XslU++b7`J=L=u!Q&>OI@roaT5PWwH!$kw^Eel zaLN9B_`KMF^qISFb!SDktSmnCi(cN(Z`0v>?k^v|01F8Vhy*i<$}78i(yxrMV(qM# zRg!7$J~Gx)({^ELC3*Bc*lMw~fW$&EgnY4Q&lV5!?Tc9=gsc(nJW;k;SkR%x7_j>h zt-fBKJM~=?l{zJ77d(pqgfx-r{geWf&dqb1d~Bw4NHEjnn}a56-Owir@RF9I^!eAm z@P}EvDm)VO?__8VFXew1oLQ<~mV|3vs;Uk{<vwD+q<83&P)UL*TFTW4tJ&CE=Sq#V zU8f4MmTIp2Ni0zHm?w<6m?r<O5KksrqZLI^5I<G=d7F=~Rh(xK{V$rBRho3lAgC}a z_Cw9^YEgM&vx>3);BHsomKP?tE{E3vW0dEX_DHCCWn1J{o&U%ju^w)L@fh?HWedVX zw};V$aqxg4u4DeIkHfe_>N=`0*p|*X%b0q<$o!r|v|v4<&Q$$Wy~mle`A?i|&sIHc z-Lw?FsZ85fOlmYmHwV+cVzT<rB{^g19GyQgJ~ECHNuPbF**nsc7#l<pTOhr)Ra56| z?Wts;SQr6Ts!~jOk}uuw7Bj1+ygY&fpK8C4qQJ5S!QOw~p+v?l-ADgLJDJxT8$aF` z=xMJQM&HXLN^#y4a!R@3#ESI<43+$S<Y%&%3breb=;i6V-tu+jQkI#7PJ}tQ;=dZs z&a|~=#*z^T{e#POo<C)rnBktP_cu9peDmRO#x8J<i&Xt>C1>sYDLp0LjdZ`1N!CDx zJJr4aP5&EeZBy<q9<Q%IC>AQD?oLplxvX_KE9DwR@0wB5RYMAkknZeVjCCu+Kv{zx zXB#^zdk2mKKTKzASxS!y_aw#ub41NT5c05TqT+N(jVR_j@bjg%Is;rj8ZAVbnG8I# z5O~`z-1ziBkwCREM>3MDy}lq4>n#xjot*6F=(@(nLDKM6Hcey0H6FIIii)bTNdY;; zO4FXU$#()W8}tI%0`p>xe3fElB~8n;NPoq^FPvga;~)OoDmD_3JETYaEm3Y%O6Dux zx2cTy8|D7U<1&VfRa|G9(NO4#;*1UxResC?K0FxWc+VOX9dwXao6U0*y>TNCd>6AE ze|}N>Vj(=q@i|jelhs(@SYW2-x+9I6*gTP_=m}Wv7!w$t>U*RG*erBrsx4Fd2Fh2r zxk!_`6U)hlwlM!ogr+9N+_pC^Nw3jA_@f;xO^PQ?-yLwNL!uor9l>r_B;^q~A`Z0! zj<&_btHqiU8ETOf!Y>2TDpuIuzPFkq%^!}bV6vhAZuK=yk*eeYYyr2dbvv39J2`;o z>EaW0cxkK2oLAR)?xnbI5QIk7G3U`cm`<4JJP0)79k{jop^+HrpNGr^5+oj8k<&}u z?=_1yJ6YKTdYj7%oW|crhodH8le6#%kGO8ti~aJJ*Xzu3vQhW8hE#Wv(e6RjkftF$ zZ6y|hnQYt72O0`2k@7#Qf5OOcjOYY<I>a_zW{+FMJ0WqnxyW230XAk`PH?X9Nn0m) z^~oc-dndHGzV}Aa&Vkr9DS_X@C^@Om;lxxn6iy%Qj}H&+Z5%Es({7`%bOb%>)(4>r z3UI}4>9ahxd*c+$RlkK?+459=E3O&m`N(Q@C)3>HMDO&B44MCMD2{_*dKvd;m?}pj zSw_oV`+Zzr!2>8Q6eMF71q;~`hAlH|lRzIpS?Y9tXMck6$HRW@&aFhZ#gsm4JpR%z zj~!}_oA6jn@9PJZ&)FKkk9kgSqRLA5mcCq8O4-YY`aZr+<Zv{ppG+xeGc;0AplA)z zm4DX|INiy{{)MTZt(2@}ES96TnNFOt@4b2>qe-fBi^mk&AdK@j2ds=3&gX>|PT#=v z$n6c=+?OMiNovcCub2|sVrZ6jk!C~ilkf65%qh)|!B*rajgQ@WxRP(<9qWnpl%EvA zNPlL@`Er{>mh8gnFyY_oHv)R8u9dOJfTmlDgFP)Sc1`ifWJen*fHW!(IW+I`3X=Da z>O&i%G*m=-E(O9aWGWkeOF(+q+}YfNc*ltuUR+*a5h<$g#xP5Q6)|0s*nRomx09B# znX-KP{Ks73+P1z;$ptS3$7s47bx}J-1M{|`_?A{P<N8Cg&10!Jrvj9$XJ_;MF!err zSYSG*v9&{hAdba-lXuDmGNi@Ic`hSXXS&-?293VMErfQ{rBa@bDk7OiMP(EP!FDVH zgEghB@KQm$nW`K6so0IJH7L*U()HZFpxrdMMd)YlK+V|f7!mwlt0V05=z+KrHZECm z7WISTqa!jKAe#!H=Q9%&&vC-k>$6@JdqjxB>XlsJ>7=Cc2tpR6kT5fIo4c$8-1b{@ z3{kya<#Ex_@8|xKD+^bEzf|qM;FU&#Zq)-dRX`yq1@w`O>W5@?w39MJPyP}CeVa@_ zbTSoM;!j8FR9v*&S4M<C)0$eu!2`R1pGNi?nd7m~z?en;44+&+Kuj2Ts4;Ll#5GN~ zG=0iSZ6m|UZlezNaxHK2-gH#4R*jkI=xE70MWlIYyk-q#mkCuCWm;ygI`TI0=vVVB zkjTzx+)Tju_)+neJL@#Sv-ZmtQ&J_PB9ZF%U1J6(4c^pU_dIEq(zc5vE%z2(&BPP_ zx87ezL&M-!Ty+I}M#yC5Ih}LwBSQn*8N-E4)Qwp^EW?W|LrK&&MAdceX&35D;!3H| z>4=T_1r?Mo*}X-Jc<q-J6ztXZ2RV85<*!7I6}GRK^X=AeGwKyRxRrc#f^>X%(XT+4 zm7D1Z0ikj4Ajpx}kFM`XTx@so$T2`ai+4V5%6lx33_TFtHm|<a4zSbzA^ZsXQJ-1h z*#>2A6-PbtL@PH3r`RE<ZXV*p+Vmm?WS}X^lA<FhC)*Z=5}SXcuEjij@jU6iQ!o$D zio#++%WX13;oVaIz83QzxgD0mR;xGq;e1<f@WI!Wh4M1du6t!uh3Af>dPOW0%EQcA z3^Jkz1YBRLY^kRA{v4Fa(CiRab^U}sAd-armS{v4^U8xwSKj`(6q)+#TacyZIdGoA zgKxhvhwAjJ@zmUM@+5c3|6Y*;J8%`Wewk-Ez_<9j>gbb0oC(eYbrU<IiO2;#*#!)< zdaLfd0ieY5=>3oApE=qFP!?RxS)Ta6yAK6|Ag@Cf_#1z&dgfbwn&fc;zPC>5D@ns= zuKw)#EPg#f%EO6z`+8Ncesw{O2eFI$Civ>rR^v|bp%0Mi*Qf|Tk_ERfe;cjQ<EL|y zKW##SmV2At`xoP+3~bG&W@_1SrhoK3YIMU&sq@)&Sgd|j7N(f9J7T*R)Rd-v`lFNX z9p^q=m9RppYZWDzl7_AHHA7`Vr(kohlwIDkYE#3+sNaC~UGW=b5&1oLfx(F|iSBtN zDq}uNQ>i&2PZ+(9FP+^SKfuIw>3wAOmZ2sB-#Dt0dJw(RuRPrf=pQ0Cwqui8+$5vo z#f7D@)fOMKzdL_g_sj4=O~p52M|JzQ+&wLv{#T9>?vlo&A!kzei%~3kuem}@SgU#T zA}Sbi9}n6$C2Xs|$^RKf%7>i`tUdM#+Ca~(khyt)G(bAMHV&2RH-3qXv&6H1C2`37 z2Hrf(acnZMOSV>7%WJ|_RnAN;V_A^?;bQOAdT*~*vD%h*z}%+{ZN)27v77FL7o{@6 z_<}2$-2qKc2TN@~ALIU<SQ=9O14@g%b!tF+ecy_Oy&G0VXqwu_cUZy3f2YubYm&S7 z9riF?_jC+WFwK<qBa@@sG#y@V_3saybtnII$6Lnu!lvvmYLNM(DN?h$P=9fAnDLXm zPO0^G1~TE1(|s91EW_~0d%9Dsqu}AU%N=z&HH__U5&5F)qfVavQ5=r0HATEEZY!}B zWqN@P7aLX_LWje;sWkAi8h(|Sfk*ZzcT~5!ZY4<bwY;4gV^buj^77;vDM|1l!gb@V zbBr1zl#UUEx=xzPAi7nXewxKn(c%)TKF2mjcfyvu`4n)y{K%+i@hkQP<4{xNagdyT z=g37Aw~ij$?Btno@65Gp&EE6VcGmNqNTZ~;tjFf39m95^sFVX(HtwHomUPTU#W093 z!4z~l@<MA_5FQ&kTV*MLN}l;?_EF#(A8wV8w&_xC?k3LZjh52q0<*_;w5!Lq^t#_= z;9cisel%r(9Iz2>_BZD1&(Yt|w{%VFo=76C8yd~~Nbn#1NYn%5sPhGAqK9FiGp^t| zl|cUG<2ASaRJLs6y)e9w(VvDGS_aMrlJ2H(nXi0mQcXQI)!|!quC8abwdaEaW$f&B zGO|`yF%QXg1j(+8x!4A3o_cTnSb^lv_8TFBjV}cpigRjev!f=4u4s|MgJs3L!?aMQ zRK_8Zldg)hiTZ=Kf$v4X4++(OA_yn19!ju3_0ujwx%h-n40#R&s^}Z#|LK_(zDg)z zPXo8khn`J-Yesk7R$02Ls-E2Q8_lp<QXLunlx$H&)22PW@?+tLVfFi(dq2~R2mAE9 z>fO9<pAz7cilUcKDNrC3)0|Uy`=yj}e|8U)4or<McFK5-s58+dXV;+FyN(^<1eV>8 z?-^gjxZ&M!vkJIUetr0Y<(Cu1@rCB&0%&e{fJ63=Fnf8yIU18{x4e`Tio+Da*5zBT zyyM=uni{WHtJV}hA1cS%!oy@@`R4~vyVtFUl&@Qkl3Va)DkeS@J6CKq)<}POD3RAy z6MEoyut|o-VNl&QTX|~`LPhcE6Q;|GTiREU(hLTDW3Ik#)yo*6cW3Okw3mygS`=8h zEw+Val24JK`8cFN9`X&3_1G=#L8MlPGy(3y29|-$KNF$^_I!>yt+H6%;g`avsi}{J zOCAxXq)ahuYwKvO<}_F`G2Qn(ZR;PpwEM~yuXWo^X`0pe#*Nf<Ff1{u6fp<U<UUjd z`#Rn-Zj3IsvBil&_b0w9-<*Z&%*lYPO3L+5cN=xGT{c}g?7m!$q(ll=4Kq}wq$rD9 zaa%}5);Jty_!T}+IQ`ulS-u}W(>T|x-Cmx)e>fv4w)Zk!C~q|Dn3mX}0JG)7FRk2H z!4%;klUHqqor7L&4uLLzWQLsXR&}u8>>k`~YEtJFL^r6Ko%!bsTvx^6alR>rl5rfd z9tK{iQM8`+@L<J;-5h5uaSJ1FF8g_we(AEm#Z1PK&P@P<dlxruF26W+AlJY9T4eO` zdz3X9SW&}@B}a=$tSX~Y;sP^Ld>9X9jI2B&3H_`tm*-%c2_!S%-Dz!G2Rz~4OdS&} za9`jO?3$ZDXu9#P?r7pyqUi@imCke)NDRD8^8fa;H839PS@TMssWoc`LBbx+#~t|m z%+_+`&r>h-y?=_x2iCGfbC@px-Kuw2jZYwC)UjR#ubpSCV`2PF(7vO7s)Z-S+sn(* zk#bTswe4i=d$f3UI;g*FhJRANC8Z@~8EG0C=(^Oj<s06Q$}Gr{W=m$hH>jPWr?Hxx zwACYioSMBGjkIbuV{cs9X!i1Y{4gmRTzL^y%uME*TJFJ9y>Yv_ZfT&TGmc_9)LId9 zh~pHyv`O{0bWptMcg2&369m)G_$o^a8Z|*Ljlx!&L~ktpn{lnSSlFDUt;naW<XdMO za@tzHRNlI2%?xLCw)8N*@eQjCYkf_x<L6}8&FC}#b*HqXWWBW0Vrdd!*Iv3Z*ba^> z7%_9w3)e}*;iDKudYd_x@S4t&>YvUy)e=ythvC5m9T||NJB<Y?qOb#HEfRl5fBzJj zA%4`ar|*q=`WGFl6tl9AQCms=9ts0Q<r$T@12M;2$`;-94(-#<Km^r1YBB3vFvaKS z#~YRL>M9QA-9O#LvsB!KtrL)ssq3ow&%rk*)*VtFqZ5#72d&0GaPH$rABnD>VS*h% zI$c@HtD_E5Lh@78qVkJgZaQmK>7j4)&s|%_C_0c|T`eGOl+;qIqY{ksL@$DN^j3pV zEZzutfXy)MNu2xW-o+DN0@v(kb+mP~UgB$}Oh*gqJ~}==ItF35hcsnEJd-IA6mubX z$+{$jc^a?zSzY%--zYH`T5ef8cB{us_J!vcXk`{F7Fa9z+RD83k?+@Rf3+u0I-QCO zX8xRUy}ScnH50rHJsg@lBhNf2=Kph5#G>7d%w~C%5<lr(V?HC`>3#!G;R+*(*ckn@ z0yg$H{z~7jvD6S2wyrqSFgIs~m=}GB(;{ZcIP=GZr_A>Fh-a1`sjJJ!BTC0d0ewGx zK9HK<87z91xW@b;UQ;*0f4uS=XRRz6QVceLzQ`>EI=~j-gHf<**E6`8DD|q}Z_oRw zH8`Kj=X6AxKf<{3IU_QD7)jMRzUNlPlL(E=Bj<;aX+;Gi&856iH}utCqVx)Q55fBW zDk%44f3NP3l0AfFQ83p4iKwI&5gFW(gcHghHr{5=fZ{`Ug^Z?+qs|}uZ48tTkWWR~ zxDkaC<w{n;NW2#FI@#mT0r)}a{_a3jQ(Y|E?0Mffz>Bq5CKB*v?+4o_*!%BYF41O= zDriLi+~Y~F8KtlbCw(^q*3}I+(ZJ>32TB~D!!@d#`y-<>FG%N@n8>ZHbPBCf7?SlO zJ6+(dncRw)32(4cqd~y|n{47|gS)mP6t%wA1KXb__*OWZeXW(S9PCRtIh4T(EOgf0 zYxRw$0S;$&WJT&78Kiw3X)J;t?R|B8&$7J|u`Gv*D1Q%P_jR0f*=bIxn=Z+`zWr<8 zQ_sOy@RA$9zGPl#`a=gu#CEQ#OtBXqZa@Tv|4klCUJ5?jI2VDV(@Vemc95M0qFvO} z+*;w6?R8q%me`XiD!-81Pk<VA7`J*N6K$@34tYAIa2A%<y<r0f%Ernq%jjoFxQy8M zfL;*=ej~MXJ1Wm87@%1mPSW9pv5cUPfszxm%8N%)|ML6QYHFasWT3mJlj`@})HB-t zGdBF-KCDIw2<%;(C;w(VSNi)~ThT$YWpS8xsxN61l|~tEW!8P;0;8_k<3%hh2r+4l zLLDuOv#HvQZ&L?%Jwp|NQuan^meHBTLflK9TOGFh@DRWIG0#u*R1NRtXOxxY<)a-6 zp$<<N9wUiv!85GC0;zj>it*(E(Wl7bNvuoO<APmN<$|$fTpT^1sQI;vqUbm=9_BkX za`L+JvYHw`sGJZ^3mF|tbzS1NF4mR~gL7LspOkdrB-4!+qi%n0Whw>pB2$3nnT%q# z66h>)UJ82pDzK@1Q+98zBO#tgWs19O=<(U*5|u$grqYlW_D(ES#Gm?XI-C`?Gv*QM z7x{Xs{oGaaU8GdPZD~E8i9WGm^V*P_;q$bxJ~vGY_3MX}KEJf=qD0azRa0w``P1dY z5G@^tR*;6H{*+tapc3UE{>rzegwS(NM~3)>&rrB~(VDgK4+JwxW_Mg)i=0(+V1;h0 zNUovpYlWNSsX;7n<S`D|ju8U?Q*2E69<vFA2*S^iom|{P^jIpfHhztc{h;vYOD@ zbV+1)IHCfPWKNVUR(&i~ou+g2m6^rL(VHi!l<u-@y|+EXZlkK~B;1}HPkkY<vgFd? zuyIU-OV!vlZe$=(lU2~!bc%1Oa93HaN8Z$NCz@!X(`&INLa@xKV}JUPB)$`GnA@S+ z>>fjc%Mp4Zzl{ySqxrb9G=3tod36mS4ko)nc?*6S+AmGKk@g!CxibdKNsah^qQ@5N zrLD9nGl9qO;!wJzLs^j`ExAyMnFJSmz^1TA(a=#lJ3aMVVyc0$v7w=%baGgSYG`1( zIf=6J;Jv~v!)OM+qlLU})ds&UCZ(aAUy>54o^3Vm)5vwY5;p&-Mp?6FXoxz<tiisS zqkK+_&RvNxaooF?`;BOeitjGb5m)I2^ee*#Xu)~?T0oTYq|fI;Kch{`^|s-Ox<zyY zbeanOdo;fQGJv?aMC_AhCb)guADoyAcTLKQnIXl_E*X?uXNS~Q#c!UItfU$`Eu<>s zMz%#zNE8g-j7A=FEw%CZ4Cb@c6TBsetPNj}f%;^A;i4D6*8#O{*@VAZlQwWN%3^R# zBB<%`S@@>lf0d9TKMnmpLHco-d!S`4>s9Kgme!MOI0Xf}qD4Uygv#z(r7A~diEE&c zrq}{>)M;w*OL8gLM8~s{JGNm)<oba92fUKA@i5IxRoB399oPD#*+X<MQ%^vd&vcGw z<B_9gar1zFe-1l(Pv01ASS_Juo)tKB;u*pM;;7u2Lo5Yfi};cwiG=zdl@}9@R_*qc ze+YrSPmc<cd62X#HwL^%)X+YC9`J<pd6vgUp6;dq4XFa0>No7Y24UpMi=pN8CVcH5 zI+Yw@xVU$|rk<W2D=Vwts@4Y{wzeOXl!_otb&ML1tFe#-c(=BqFKIgD9#gSn;Y2yM z{aoVck@K~=we|EZl;!TYnELeX5NUd;na=rBj@5l{GdbWGDZSkeErCRnK0fPIl++sz zLAb0>x=K$9a>U}-$kS`b@xEU0<fs@(?Ad~vKbNL<GD?%5s#E?*++=!Y^zq}y7p>ID z;SJw=%{!%Ou@7?x+`Q}@6P2k4l%o=lC@Cgm<Ah<9pUK!;oL5@;_8J_TQ!cd3cUedA z8z9c&{7qi4ZRpo7jw05pb~DS!Hck2z*IgdX?>oJXe1$TVbS6s@=%LTpU`vY5jk*fe za$3Rpt-GH2=2g$-tI>*4`Xp8-k=a3q*)0dAS@{eLi6W8o`Gm*`855j<6}E9~c%XdG zO8>jFsLwxFerLIQD3A4=F1cH!HE(jocjKw2ye)8xnkLSi;Ua=NU}uV#jo(AN*t>97 zZ?;fM8>_DbJwZh|x#kyRfb}9a-_u5y+N#(4{lSpl;iLBELYKH_9V^>HHZRIAMK+28 z$gd;(qM$p-fnJa?^icP=I%^{#OJ$C3%H7QWjgr#qgiPi<9FyRQiH(xIKFvw=DUa(? zJ}$Y@+q#woZ3P7?p+UHH>&n<s&a55^yP7D^8*10lO{kAy<XG*>H*sRgx)y3y)0;G~ zRgUjjnxSd39nP(R=JpCCzULY~r?aQo3x7`8TO!=?O_3@_v4JF((((PNQPH7xLrQW* zHtR~CG<9!BQrEjeZD|t)tLQgurw;F9>7pqMH;2qw%u-PcURO0EnI=yCp=J*KDM|<h zW|TJbtBWx7Zlh^V)k8&`Ch--o{<u28HXU%>-E<|H8W#SH^0%JvdE)vjVci_R96UF! z6)EhV&4B>#Q~ZC4*TogeeKkS6bn-kkK7Z>PiC%v7t(mg+>UK^W2>xnL*_7ZqC*xV_ zlQcKy$)!Txq;tY#)7$`Qlk4O@_G3h(AUR(^teVBrR4lSQ$93861H6wNAoo63FxoFp zaQd3hs<UDOtVneY4jDMT6oK(mY52<^?E2KP9BYs@s7S{g(S5BPL;w6%{YJY+_>Ee^ z#g_s=1(kQA{SEvwBmVxN&=6V3Q@y(YLTq8d&6g<aB5CKOpiO4By^eg6wdRsQb>7E4 zs*JMZdxbqrWcqG4E>e9Cjx}8B__Z|O_(M$G_jJ^kQ#k~aQwyq^41MOa(<qrO;bCfK z9am!`g!rk<*O^CGpXch=PZ73S%v8+wv*&Ba9*(2X<D-<r{wL~>2i2k|?WYzQrA-qP zQTJ?nyEeuVGG{!+)?4?}$m~6uBLDh(ujP2`&2WM$o!y!gV;LWbE|7^g?T^<-xV4K? zEl6g+D@9DSaE56HGfN6N+Jl4hwMhhO=ET(#@C{1@Z$2lpv9W=8<BC)N<UatdBxNUf zx?i@oxvI>2|FReRR1q3_&*}!gJpKVx4Xf4@+h4xqcZdC~t<7qQ=;oHHwE&>ve$9AM z8Ess}Hi6wr0w^_fE$zC$jsKj4BqOuR{fv8dbkb<sJ`gx3X%K=))$=grNUNY%S!|Hr zd<Qq#;zO}lanU}FKz7nX6&f*LL4IDyc+!4Cdp01Kkb2(lI@Vug;1(*_kDh=%R%qtc z7z&NUVefsEUQzGE8JZ(4iK8+?s~>)#`jkP26I+PuxPE@4ylYt*6_uFSnee`(UqK5W z?+a4CP`>9emI<C$3iCVdKPv;3*9S&!Y(3Lj-tHx*{bnnf%Dy6lYvepOdIpI0Tif=s zb#bR6H<y~<I_jlV6r&YxwRMCY$m4^y8BR%UPWz-_!3CFue23Pp7;KBLsYA>C{Lf@2 zGv#;|$_4awPImT66*t&gK^yoC;(BJ#n<LttB*jpgt%>=-dipXII)mimmE<2>9sqKL zbkK&n=*_~17vDJr(ijW0<=(p7k~P<<TDQDEdReKwhWVwVc`(-u^lg};W`t)so`69v z%6p|);R`ud&1>#is+jx<^H~ouHg#`hmn6;xrFSxa_&MC`@nRr95~3F>m<Ui4&zWp? zQVQ`;nmL8S9UHl-NQVO&2Q^(9x~A=W=ANhNOzWVX7{BUN%EEGyP1y?gRDrj5A+|%w zxv5D*3I8X_<z=4SdVaEi(<^~{VMu}jkrM^@+K%#?c|Eb(&(nt~+7iw7Hl9YBiHC8g zleYD*(?-@OWXxWU$8UaT3nSy;PF*aJb4^PA)Xe~XoBKmVCRcf_a)O$UypB?g<!8L6 zy+nb~X~@b?@mB%0X&25EiT!GZm!Dl4>VNqkxaDlQqH7_Vhdk`&d|ft`5T5g{8~uOP z#_L(@RJObZBrHqL;;V-TlIH9W4}1FOIDv)P52aFzq0j6~)3efWet0ryn2>xJq+YzV zqG;}`NiLVD(ywo|J;bMpv#bKkr(I|5<;xwb=^n|1a|xt1ct0!ihfis~Oh57gMMBvI zmd^*WR;I4UR{(#vr7nqA&29(foHluhoOp)-g3C@Z{f_`F?^|n4q-jZOui(J7%&(5k z_)jwWR$Y}_25#NrXB1j4$&SR+74Ljyvd52&rxNemMu`Yc-OfFK50ba1>Yz@~->fHj zi@ic79=4I`Xg{4;K8b2@9uo@Pt>d!rnRVJIT8EinpeU%VL6ti_GWSQTkWWiIKcN)j zAlPrdqI6lJl<D>7yw7xKbYd4)8rrx@CaetDm)K{fvI_|t2zq%u%<L`8MNS}^^Knb1 zChB<boaxEO+u0Nk@B-xJR2YTXHlZi-^70XJ1<#e#`gtxUYq)bjtLOML=~(ic>QNfG z%FJKMV#gY}`dv<;S7{n!RI1#1c;v|`u87XO&3h5Cw92Ey#Wg>y^9>oqaUTC1GS6a` zPwj3`qVU`dd#>9pR-&12s|m6(=l^eny#-WNUDq~@gn)pwgmfH0QtHqh5(f|zq@@I; zyFsM8^ALiBv~+`Xcf+B(r5pZ@-p~KO&;5O4d}F{Er}kQF=9+U}bFWRWoUcOCS1a{; z)@nP}zjj|yINE*bqphtg%T(*(1vvpj*O+a{I|d&^uh}SSH%t&Yk1dt-Li>-)O>%x` zo-5~TZx7^fV|<C~#TJzXl%SqCU*SChl;7oSB>Uu-2wpQYwz+zIUcrHQJMO~|C|D~F zx2-23n*>9wPO7uHUmwI#KHQhj$Mn_g%t@x_{EWVXo;S{*I&q>T-F~IYr2HDRwiy#6 z-!(GY86)1)#o&w&#-`0bYR$ku|AK?JnYk}P*Rel0$F2a=mFS2=(V$6;LT4XzK%Mxe zQmCBuR6z}eUJ(8nZHYSv8FEn>lMI@LG7Hm)k!jn9={t-Yq9;oc=ijk@otT}y+VVQJ z!)_vwd<eQ%d9VVW9nMu&e_tJRPK`Az6y%3<o6go$9QOV)zU>a@I$d<jYg%*TfnEKe z)Usf*@uP5hGqX$`!2*1<K2<by_;qVL<T<&J<JRy<gFAWA2{BA*i7{tbIF-)|d*F;7 z!>_{+?}J{JvsVb3Syq)O!7RZ#AM4&BrmH(Yr~lo^w-fk>`)|m%Bc82}K_0T>gy*?P zI}OgBH$G%(x)td{g86!WT>f{a-h8ZSi}&Ba>}iWX!(NH$zt!=i9KmXlXwXR?qT7Jn zN+M&DW=C#f3_<K))^oOIM5pNI&K;ph<$tZn8mls`7D9?+^o9Dy<7;~{sfjy$E~p@i znhB2gy-VnPHQESwADyUzi$j=sC;gc&YIFqfK2()qAO5`1H>Ha*eDp_uK9SbBK`r8% zikg*4t5$lAok=A`PD(A0?6@y%pD1RjBPyEF{O#KtUooO*Te-R&+tD?jbAKkvZx*EV zoeijo(~6JPN)*^@=9UFpd?eCD*sX3-*YPNysruAMra8*;cA}NVZ}q%7TblAyg8sVS z-LogVWUps`Em}IT#14C|jkSA(qY>@air<Ld*o5(vSxgtf?{{&<>)n2R_;No+tU2QK zyy2nZbtqxAMyj0D*>r8KUvSXc20oBQSla$p8f_78ha98bR!~a%x?eGS?%?4kF!)Jc zDf}J-xiUy$^J{mCb46PJY>;1W(5f44i#89sRdp$<Neww6Ud?-^72;m-qROw6`@MQJ zW?pI(cJI}zJ>>g?s<3lvGWky5xu+Kh&YrZyTVC&mLhr|1shpY0(}_cM3B77D=vg~H zGryV#0JGOkM4gLz<X-!e-8S_@m}B|#LbZ4lmeKZ0N~7LBwff0fUvzB50#Fa<yaL56 zi<dy09GNNB*hg=_F~4G$Y)3O(vQHCVW=aVu?v)G2QJ}-n2>Pz2W4q1SJD;rHS?Vok zY!FJ@DOOVDjj?KPnmGIsU({jw3a>b}?%56P&z<M8fnS<UD9b1_?v}3bBYX}V<=eMY z0hp7tWJhZFp|2&JIB3k-5FB#;-Su6kv}3t%&}VMY*K?n9pQ8k9w#71;z~}AzW46Jr zU*Gtr=TVvnYrS|$-8_-_27wCsj)&1pvlorXqB$KU@Dr8(0<i6f$<9C}U=k_w>kdfi z;PkI=`hoL&B84R-I(buBlCV+^CO5jJM~M{5i(*!L(b+qh54DV9?6<{qa;;N1%4QT& z%yKPo)heITWu94U@8PIp=JIfb8S3%SSXel2|0KUet_D|-d*WPOjVjV!pbw4(Ja!6s zD%VI$J{*QJ)mcm@0-ZO~nq*FUcrO{fX#haZz2$*u{~qf3qK1~|j=36ZUyWbQN6Pv! z$UFy)G{~?FK!+I>w%mrAe1hCCKW(~h|6rN*7i)p)ntXkOm%&!@1qTT=GcXV;(kc;- zXop?f{+>=Ut6X97`?xFVofzhNwCHvMZJ9z;i0qn`dhunCmOL@_8NsL!@%uVeT5~1% z<LFnCKSsGPw*=t$6B1&b^@JBKdmPup;O;Y{z5!S=L%PjTmUX+Rl+f96kcwj69`5hk zSKl6Okj=Ap7U(dW;}Csd82%_ceExLAtF!r`pM$#Bz}P9(inbipw%jk5xfY>5_H>}B zn&bs=I<L{DbC5sHfna1zjQAK0U;$j<p5CKZSQTBx?he@yVg41mF6IXbo?F8&r~6m= zrP9fioN|Ip-<!hH#Y07&zD1HA4YJdjw@lKt4pR0%k+sn1ELE+vsDkLx?yZ%<xZ6CD z?QV47ye1R?8@2P@RI_)=>=J)4xJYu;`bz!QHmt}*Sm1f)-Oqqut7XST02TLqrxItS zEUa&@EAlay52h?R97*mX#^PD3A94<332_~)SP#D+CtND1pIh@Ss-Mp_3Q<w?L&|{2 z-q=fj<-R|qLCcCVK)}iy#l?@xWMxT$M=%2MnTebrQv8%lD$^^;9?e-poyn4Cajx%R znvrs%^tpj-LC<i!nM+rzEZDXC?9?5ZCA4(o;&*$W-D&A+LPO15^1{qo*v)<9^@ut} zJM@}cpIzGRN&+xo$bG<#Aur#z2XrDc=TN&ap5nKJKvPYZtK+ceQgcTXP}t7dsTcFu zj$BwczvU{T@9yoPC5}!^jEzg(KXdJ9knt2<NxQ2Lf*SfjyNwrJceJUIYJvv(m}1Qb zx5Us53iKzJKue&<#>dub`}?tOYDoz%sc_cf5yVy2PF=3F6|X*90a85}4S#}3x8({* z9SFAZ@m(6P>d*J)l4@8v<WlDS{?#c9w9OL2BL;rK!k9^_0dsILva%}L;L6T4f|&(F zimCo|)Baa$tv}q8M-!lD10UVoxwz<D*E)0+`=+|#I{sh!aQzXzQ=|R&W^wx=Rfn^| z|ChNn5OFxcM_29@J-(g?Gfv+M3T|MvcE(ND`4{~}i2v^E{qoC5?8_VEzwK^SbbG*| zj(y$TaNt^b6LIFh?au$R;wUVXKFBjPG&@_{*H$>FoLLA@{(C&OEfn8%5O5k+JH&BM zzCF2E6q)3i_djjZ{}~4*MC60zSC^QdA1JZ^)x7N87x4GHK4c!we-DoJ!uuzTMp#&w zpC8$*u9eDP;=d<{Lu5gQUjii{yx&5E|L+d#ZzYfGa&d7v#gXcVp5n`Q|9kLZE5u)r zYYb9$_<xfWi1G!BPL-&Hg!o@l`y$ee4F}!^+jpb<>x*9$R9NxQwT+EWhKBmhJrpbG z@Be!>a3~Vea4;G^p_*s^zI2%4@zS-m6rLz=mza!NBzmNOvFM2y91L;bUmfXi-p(Qv zOyHiuK?Ox&;6mpb(Vzcn3=hQt2$bpxlj8bsd5EM?15+9r8D(c@8!XTa9+LJW!2j2J zsZqV@VTNw42ZA@x?HwG_`JKYsrId@_68xL}D;U5J5l=uzj^!UQ|66wmTTmpHL5X0Z zmJ8DN{~G_uAFf8GVIF%L;lH^dMF+1}EA#0SXy31^p=Zk+=Lgrn27Q4@WfL<#UeU4w z;`sdpUgYBkY{K{^B)?8nc*e)~f4DR(jp%QKg4PFNXJ`Kf@t;VLSQh!nhE3Q>_EZv+ zAKrr`oZ|UE6MyVrd#)qi36Ujs#d<VjeZ<6NbOTJE%mC6SWcsWt|5+f#Q$*)+!p;^n zm|>uYBpx!NKh6{D7`;91)hrY17(##jK)5H5%=rSy%8>q!GZqO^>Ls9>Hey)*Bk0z+ zJS2aYhQ$wj_<cZ4!o&NQ5*3^!duSGgLhw^?kcWgn&0ksp-OEn*FZ=S#L>y2V1(a5{ z<R_N!iU@zTLLbm0!-}imAFNn}vVeU3qwv~gMwURO5#5ph*no9R#_5>S3oJqlK#$u| zMG2)ienFN@|1MBu5BM;YTNnEb30^!1uBL}A`YR6uF^uLMn<)ApC9q_V^(5|vhyRWN z(8xoH(q{6s22}v#ukZs&fe%ME7&DthKGFmBKqRG%MJMS4Z5N^v$N9TPU{#}v;_4zF zD=6VCap(~B2nXQ6-nmZ@|Cm!LH9+>PyW}_l3OX&ojkY(>Rvwu+Ep7PbA5*O9QMxvz zM?(qa1}I$dr9l5qq(%bXJ|@*^bUo`#T`2cira~{SYWa!6_h(3(FhHO1bVqc(_(~dR za~pU&BQ+QHiY$jpw&{z7NhO(Co_LS={D)XR0q}O7!h&RaR`ehmrNP=&e!qu3^Y=2w zHRWbpKK2+#WgEYuj1DB=!ISrjm>$L2qeSl6!p+EPnqEvIWRG0<h41$`A?xevOrz}$ z@e@_LPQn-F)71<NjLRP=M`Gwd+n}O^k|9cAg10|gS*;FxfE3<{rX*s=Lr-0WaqgSD zIOx9f8}<t{uDRN5-`JIlvz&o5F4}oA*v)NP`0f}F2r>;+&k=REhYnjNCdttvksmp0 zE&0gL4!Nvt9DUky;Tb-!{R6+<3oUl0g&M1g!SS%0at_&@#`i^>`#6%kk2HVz71s^f zaYvrCn*Qn17k~D$YHcz-yr=E(4G}9${p#u}I)~#M-E;Wm+8{56@0Ap+=wNlX>Kf<G z*4w7%xq@7NJu>y&2eKGx$2<wRtq?wUhMxK=O93)=pj2(HZ(VtYkM-BD7V`j-%DfEd zhisI{6&6_?>>M;2{xCDqKJU24RNdET(0j<8i&%eODfKp7PUItSPFf0V&3?JSKtMS3 zO8g<;YvTl7pURYcq1%$fV@P0>kQ#gy(__b96C^H=(wMOZ^3(}mCrZE;*tBWNeedo% zxcgS4JWh9zVOVD8aH%Y)W#Wb5E6+dbBSi)%)!SR~4G^ccSfQ`wogbQ41Q}nQtC}Tn zH($Osd9jSv^?D1ZF0+MN%bpCLuZ?LtHL#qlj^sYJcFNCd)#ND@x_o9MhhgKeiY7bU zerQc@*i#>9ij~EW48>en>cW^(Vucx_N3`-SH`4aD`84<0E0;shhK?!vGR}(6EVfPM zqV6BsI?4sZ?gxaUGliXP+<e9@o#pVjM>LWc<#NhYcB#$dtbQB)M2D(XZV0^{q$t9A z>7s!08S&9ZPyi=F6KrQ<7lY>Y;AY_Fq-|y#tMqoN;pD@80&*GnKt{d%Wb4+!&9wfR zg+`Eadp7IDC&ijcyR*tEB)`M?+rFa<p^IbK&=hUL6|pNz5i+~TM;<If1<TR2iyC_& zgNN%jI^K3jLjidX6X&AXBDrzpj!VqBPe_i?`ShJrc<tb7QsT&coI-*fA}PaQ18Pmr zH@g^}N-DFYl9Bq2*HajcmKvybh=Q0ab)P{>6;BryGS74CB?r#qf5X<??~-NI>g_@` z5A6;o>5_7r4x?+&mQf9i;A><ePrTC~y^J>s;D#iQc6@43OQVxF&gnC5-<>qs>$XP0 zQUl7X_k>?tO(<m2<uxTg8AyvIe~2^tfp)PvHHIrIqWDEbfC`Y8gmd@2_B?2KDCVS- zM{&6Sdu2N-leZ<oyfy!Hqw%a7j|({>I4F4HW63sO0`*qr-4(W?YhaeyCo=rixvSv3 ze)tc2(!#|2=dMEztOTDoT8W+A<R%WL%#EfZNac3O7L__z4S6g_OT{d`GqkFOxEw|b z>Fm#Kx>8e_NgE(iT6GSsH-|&6)1}xaAav%YKbvfV6d*cB%TbtTT}CCN?2lqAYRfWk z<<E+o(o4g;^DNw5Cz3mp`80s4ccjg7VP7M>e%f^PPT)1AfW4O6gS;ALBEpXk5uhT9 zEL^OS>5XP9F+&R%(3{0+Eu8hH)lmv6HW;jZo#rCVRKqj(WV#>1Wk<zQnj`XAtaU-q z?czXYTJx9NGE^>nPy3-J@y*+G^_S<Q(@<-QqIb1hBb$&}MY8GRo{G)(&C)J1H<$C^ zSdozZx$5_Z%IaGBh4qI%c`*ggs*d#{Fk6#Z2*5<uugX<JEd-HROHYJ5dH1H8SDM#J z>%dbwdy=ghKILckT7!bhoc3KF^k7q<2Do_HqlxFmt9DIGU|Hs5)Y!*f@kXA&v+1<k zT~dk7%GT5i5$De~<NfGC!To|(#}K)$?arzL`iva!nxJ%e$^2bS%&ZsY!jXUu6eI1P z=Om2dzpK93Y^3vt!m3~|_uQ(@b+2(E{8w(OI%Znnk1iul>A&b6$RSCOmu5c*aqQbB zAl-$EXxYV}xXFlJw1RVoY{)qI9S5Wx`mw3(Vv@i2S(cV>UCQltT)%#vL7OZ`O~L*H zw$_Cjw|Tncp)sHm>h%2PeMKuSE_gW!Pn@M<HiQx;L2&Bh!YsA5($Su~*7&Y}YwtYZ za&qBi1%~bjtu-zhpTr*xc#8!G4q6ePg{>WWJ>(SC=VqVS$6Dvt3Np+qdQ(A2wa*4f z@wvk0FpVr>F?Eh=vjjJG$BI>wKr;z#8^rRNqG0rt{ODl#=0F=nRCaVUhG0<l@>~mh zLA{oGgkXQ`Xa629Ijc6vcas%bZGX2zDh+h`Yv^^Ao~8(P*%je|gh)+a-NnZ5G34b_ z^$2#Mape2T&mP?!en!}mG}9<F8j5#NF>YkVkP~=Cdqx|eyngdcwM?e`g~!j=T-34d zwSB!k3d`3`TwZsR<^~N)iQCMx4fbDKchc5nW{}GG;%72?qu4(p7E4&-)Dbi-!m>7o z=QfVe!y0Tvm|lIy0s!G}G&#?Fx*?!L0V7Ofoiy4~*nM9cWXHIm2XiRqkkvC?IAlRh zt_qK1=L3<Rt_;dpso58vzrhb85FFs_U_xUlEJr=-sw)fVWO*h=MctO2NP14<rsC5I zbCr}_ZRhSo9qJ=k7gHKsjbAmMw$n#&*)muvk1Fx6e%e11sA);kWEe_2=f5bHXK?5m z_hlpVbZH3<2z^l$cCW*wh?+pICf8k@yqTPuXFD1;3qv?84F+EjSS8-QluHd96p}|A zc=&96d^yypEt**K$uBm(YpS**r7XIyYRHS`M<Jc+nrSM=STRN&y;t(H=hLWDNWAUO z7<_+qFM%582iBX$w+EApcZKCn5-#2S@Lf$+r(I&k{Dw5c4w8lx?NfPic{rzJ#&R*{ zPCy(~{Tqa855XZ4o1i{-<F5hPA)nJ)lSYOa%f9-G&)@g8LR=?yST{RoUVC~p#9y_b z1zj7my)ROt7T*c^C%d!$qjVy5H9g=(`wRDZm+J!hjH*(P`)dR%=K1@T!t9~u%D~ok zq7dEmYRjFk5c0x>TJw{ZhTgswi0f#zf~t5nz%pSLUGx4P;oH@AHL|OD)|BPbv~_>! zz?}prGqduVv6t&whP0O}GpQ8NUaU{$PlZ%Of|ii>Jwbt&woYI8w#1sV`()|G&9Bn^ zL#UmW-`xejdYWRP!|j7y9M^^&`Or9L!v%i=_D+{zfz~@Tbfcfxgn(W3TUKbgy(g0o zT23kcrK)pEJvXZh#(u4*QF>B)xKriackgPmpyn}oE*bK|qs;v((<LODk*}EN9D9E0 zH>~~UwGS32J{59qAgq0cnQC3^56d_?j-3zYBV#KVw_^4P>i1h9B-QY*{{(Me9+{O2 zO*s&pn>cZZRhk;VI*O-0^sKwdp6LTMH72%ZsgpO?UiJ}@TX{T``_e+sFE$1AR&QS} zV6O;nq<_fMN<D0}d#9s)((3fC*Wx6)H;(S`f|T2L{Rm^dZiO_x>7xMc&`YQXUn5;} z*3J(_){tOBsTzB*?&b2!m&fhq3Oz^7CIRyI9v@AWiQ?j7%9K<4t{R<`ArrTn?^h;D zEZ+D1(wLN2v19hqS>H2sN?3Q<`tFlgAy8Ol@1MqzoU&GE*Ef#K_waiCM;?eO0pA<D z9kS<fx~h`Q>f!&hQMvDA3POwTEtVe9RNat6t{6c#d68?PgPV%fzB%y|wkEbprbBnu zS3A>UFzvU3S{A{EZ0tAF!*YU-4X$<8ARTp>=RfzvO_<qa9A6MNGY~@aCEo4@9^UsS zzgl|S<bn-84ME*c2EdKRLuc+D+_GEuJG-4##n<tJ$(`}ZPl<>%camoj;v7z<K%;0x zthiu?JlSTs+B*YoY+O{Dyfd}5qm^8n%ODgI^?bw!72GEe3e57-CVWE8sdDXYHj!_( zU+5B+(+te$8$^BE#3gC#Pv-2J#Tbiw8{^2||J7Wni$T*4tg4=t!2Pmy!cJ?5cK-ft zPF@Ih6TaJWk*ePBT9T-@{g65*4H5}KCrU3VW`ML}5ppzvqFKRLsV4=Nz3MI5#w;wn zR+*09oWFvz0`$PHIc@5^IRhwqxSJP>D{6eMFAVL?^1d~@0*CH(p<)bX+r8(%<Ya4b z8+n5CN1H_6{Rw;xEG=!13V_?nQ}z{2OiXouS`IZ#1ZA-Sha9p>QXy4YnHmZV(M_Bu zG7~<WYkh5$mEE~G5vCDLt|HWn*sK(<8vItnKxJ|b(yGgV8`3cJmR;mZNHD##mWc;$ zPFxn`B4_sup<?nc8WvDkSUwe7Q1{{yR3B)7RZJJka2U-Cbvc~I^G5gOP)bcJpkulz zogI}oqlD^P>JOFsTH~a$oxCwWOeMED0i6m(&&M=%v1whb^#-S*2`D?f-=9cX$3FXv zQ-{R?&YQm@*>!gpZ!%ky{_)h6Jh%>xb<;5)=tsf=DAb20uV;|hRj*yVnb;gUAHNK@ zn%`dkn$Inmf9jGZL}IdMUc_7GTBgu)1Igs0s`*nW`T55=CD+xUVnl4-J67pt)MneY zT=#WDp7omtrYNzIT{2rbX-{${q7dp02^OSyoMwcZ@I0r&^OpnjEmlmbME%?VVVXQ| zwc~36#c?L$8Gm%@VDemxT^IV^pEbuxW3C_j^otyV^hZ29+^KENikyOmrn;=mOc<(n zw1}ii^{g*WdSB_&j{KiybtZUq!_FotXCEU--7e-0QdggneR#hX`tDkrCTatcazU;^ zBevr?+u#<p$!d-vox{_oZt6XQTi4D8TU+UvrEzFShTc-297`{tDOT|rcIC$fX#@oE zo{6FVO@77xQ0p-R^Nr-cXuh9p9)``<{<gJ^S%sdyZXGp^*ztZ@tqV~mT$VF$LFp1j zv|k<#8|;yB;BH8UCSFC|+s0U%)qU+{=l%knuKu{S`aK!S)HL9nlcw7M9MBC5a1p%w zHtb!aj1vS^%5`nx+Vlw!QyhL-ZLOPU_Hz{NSNwY2^RwfUT15&0&mzyMjP7^P2Kn?$ zxv9>)>M-94>n7I@l|}Hy76IBxt<nQAFM@s}x8Il>BW7cks!5W3+7SolZ|J6<ykby2 z->Q&I-m7_#q8ZvqC*Kjq-vnOtPv}1RwWbHitPXWe4tYFyYi0I1J^Uw_?b;Wft;U}y zIw4Wp;zn>0Ee}!=NdTg3SJ*CMQFSyB!O{&(h4w2IG;|g=j`tl<#~F>bKw4n~!!D(L z@$AtxJuCdA5%!kD8im%zDCv1H$HthplM_>@Lft2sS-G;Z-t{!s!)Kd#wNcdww9mlH zM?Z2asW@n9S+Tn1WO`2D9|z}s%gDD99&#EV=d7sWt~lpupp5n(e9AC8>^fPA!W4bk zkv8d1d}L~}k8Z`lP#8PKs_ob=X8osl#^wrCG=f%YwXtFC=GQq$1A9F$t6_F?$4dyd zsoE!>kEw(u55uQs+7R?>g1C%DqqkA7Cv1IsAwuJ68pGjnN^|l?KF*Oc$Y4|?3wjkP z9B}C%7O2<euDsm1ncYJ2^;noS%ooJ^d`E?pQ@ZwkX1m;YDD56*;KXLJd<QxY()k_< z4PAIb$b}65Cr!fo<6TTeVQbJ3f*S(9dN*Xfg|(`6${SIQy=vV18+i{FON%DnqKi9& z!Pn~V#u~|YEpi4mi3@Zl<X$zMd|XTLh~4EVV|pH4t9wj5Xqo*|2dkYxKMhRTYj7SZ zl#aC=cjUfG1&E=|Hb(OkPk@u8DO?SwHR4Jbv}Qwys$rcCN9BiN`gaEZD>pfIau6(v zeIe`4T_&~MeRnN?a~xZ7qmEP$gp=1^qmeveWdOKS9CjAUe`=9ZtdGffL&@a|NKLqz z>Zm(`|GY#_pv=PSxHlW^a5P1%hVO#ON$2_Ku-(VJ4T`ka<a;bflaAK~pTYfJvpkaJ z5xmAHe0JpaS5sqC*$L~hQ)EJE$49V)E}|-Bs7LeQZ2+%ZbeSSkiV;erbVG=tQmu@P zc%1r=jU$2IqWXGOKg7f}90zye?9x+`Kbj;jQ-}(5XU)Odc{zV^c=jB{T)i*S+2sm< zs{zk)_R^bY6|`SKHnl&!dc{+~RoJ|*tw%;a1YaF$bqF8eg95phq$4E?Uzt<m=7mX^ zJ6w?7?kO6i*g}A2NP%W*iiL_TZHu@>;)VR5IXc)uK&fx4O=RFtUf}Uq01h6*Z--om z7x#{EMY`Z}=;@IpM|R_qlX5lH6)Ws#=2G2PpI?yIhR-pZZcXns_|6yI<+yBAEbNzi z?Kgouwa=is`R&%5*H4d-IILDYcV&GRv{xDyCB`$`Ju4gQ*9u4q(2-GJ^#KI>(nloG zC=-h(G-_9+5?oK#Ebwrw;I4*3(R(vK>`y$=O`B39{PDx=Fg%r%^Sv6LYvamUh_{G? zhX>T`u;&}$i(FZtJTB-+LH!t+f5Zcdl{g)|p=g%M>+&CJNbQF%JkN7CH_a84OCXqM z&iszWX&DQ}mbUkMrP%?B{zb>jq~rzQm&CyK7Os{;6ddh8D~bCsSGRT5mf~|in~9oY zA5mW2(Xf03xu|WbfARYU@^uJnvR;l1Q>W>@=Gjr9@g9!RZGcnF24vhb>04R9Q1T*c zPx<cd1!>y1i04?dh1+DB=tnJLA8Bl3c(UP2%d;rs5y3=$#Yp++kDh7^{HS~GKWmmi z2)AHQi@ws+uQZ1;u0G3@hk5jIaS0luWoXY`6v_HnWSLFTU97%;6XtEoyjw8}^vhdM zO&EP4n{XYc{9dk8B|~P$D5`MhJ1uEhvQbxAUs-{F{tJYL2sLv@>ljK9yv+xa8kuHf z6T?3x*ibRRYN=`~B^~CIjKU5}W(B=0^ryBLyelwz6=dJwGtg8<$x85H5xP7UXereR z^<#cPp0c}Bu>N6n1tnHGtbOxjePe@mZ?@cc(HnTY2oPGNUhNckM&$01b{w2tDLUX! z+8ZWtlMEE3lsdP$rMu7YvRR7F$e`v?`DMk&s$iGSA;?fzuLE)$Jq$N%Hw0K?;fb_^ z_Q)DS6o54uI^;IUd@T%(Kh8xy^_=?cE?haQNLSy@E(@(f{?|Ym>r_Z6p#lI+Qs^C9 zPLhCH2z;VI_^TGwz*@6@{$!)0bNa9W3EoxQROL)X8Q+&XvRp_w?se;1OlhubEO(=@ z@GWb;THaAxP*->+!_1IN_2XOAW?-h22n7mIQ1+}pr3O*g^oaOlt|2|TKA`lw5(CA< z!@~m4lycZ?P1%olMy4Eh;&xQlM|`r97dRi?Gg1+{tZ3MIr|D)ar-|&hF?mji(5E8R zD`a$#%Q~PX^>?11M>O3*9YffU#qPii!n<OWnjVuAMkU=p$$$t}pdwI(KLJS)mBF9o zHSLfFuusv_C?;2)CgqVg@)(R{RTBsaUfrR_EPA<*7IuLK+znSWF@+yCe1_z+e{UM+ zzFp#>9nJ32Nxr(2D}R$%rX=+rDQBew0|oM^VxCv{zCgL7S^FA0CQ6#f9pTA;YU$p3 zB#5Rl{1y(m7>AsaWrBK6pFe9zNp-RfL1RZ6dh*)8*J_?;E2KAXOgITAU7lxd<_vk= zPSi#;@@+;1age#*?<1#qoG1>-Kdh>#++VJ}ynrOidQ+Xo;B1eI<1Tux`4Q2`tJ6~( z(a~lF<3(#Ir}-e%7f*}Z__$l$hK4`Z#LtUul<oJZv1$JJDS-EE@NGQ4e(NBhK0GtS z+g6qnLc*Lp@=fW({DI(1vi4*wz6sA;tpwmt$39r>^IK*=JTFM>FLowHA_jg2%J*53 z<7M|-WTeIL-cdlA=Wzyl;=j?+qggV-+jK*u{1pQ=9ziTPSXPNP)!KjNhV#~wc*M2( z`uh6&iHiYX>-W}21S~=#z*Nu;4udoQ=Z8&?_zAm~(l|VdujKz_7{K2aN(V?#u(1On z8Byl~zT|)S4hQc6TwrKe^X&%`7D@;p8r}MKZ0g1Nu{oEz>g@8|rhR*eoYQ+1HA!mt zzl8}nZxfW^kD}sFF-SPwhbhFwdxkMX0I<r^(o#wabPn}(IFCd@ET#ag#J@=;EC44d zF6Hw+NC<eyQh)K@8&)etW{dy-U@0u5C&Wx9-QT=@{4t3o5;M?`YMxr!B3&i1;iH`5 z1Li<^@OCwW=Ne292I9<#9d|H#S3%D5c|LWqfx6n%PW68lMgPAS)p}|eXsp<38<Ucf zf=kEFW;LoNjCCwRvG5p@BA2nXa}Q^sLb}Eh#U6;hzx|}G(H8vuECh36K-f9B2^$a% z+@t0BN`47IC1y8S`nK%z6q{JqL?lDch#r~UI>y-!q=$(`DDg;R8Gl$znaQZ{#)_#< zn$!zok59Cd@-v<||G^+dLQ#f)iMAnQP;tf%e-UfzReEj>u*=cW(e)a&ABvtCg7O|f z?;a)7d%&sCoB3cfqP&c7uX^1@5XL&>o_u$j%RA(m%yl$|8>5;-0r!u|0Mf$1<@_)l zDT;uMLCzUCtR#l;41-ae_m?*mJ)|p8%=_0c1)vwP^QI}WlG251X?x$0+BjJiAE>^+ z-KbUM(A7%1p6y*TWxSyNe~$?mfx5c7sp&R=V-g=?XTt$-HK5Q+j=46<FH+%T+z6{T z0+F;iYlekebZ$8<=7T1)G6z$Vb^fW#z`^Tbf7AQ=6z%`yXU+eCuwGl>yGbVu-F*E7 zcn2x~>H+-rZtuVwGapj~YSK2bdSX-S4Bl%sHL`4Mx{`Bw@hRT_=QLgIfAHC;Tfr;@ zZ$>0QwKDb;R<oGeAkGWEFYw1;f_EXIQkfx_|KUa8m;d4K5VZXzxTT>dZpEurfdUH^ zxSD4fP2BWpjg0SGf}Y0!^$7(QhWAJ(Bva4Z40x|a_NW`t03@jn!19}VUseA&SrloC zw1042a+pgDwkQ8vK?<yd$K4NAmrxdfCs&TuecwI~=<O^`F<2|}`7<$q5LZ)9BO|f^ zSX+<MBT9(|TT_leD*kK5B7}%5Nl-&W!!J<ZTH`nH@M^@so@UcZ;6I9P9mBZ)+OP4? zcr}2Bp<%H^2!(^ECVr%!1__W|jSNg^jO;2%^W-BTp!VNMfN$O|z$tl9up$1hW%)1l z?C4@If$rKcY9F^v;z#nH8ppyTN^t<QiOT@cC6jebjmKIGWaWJF7aKq>u$|#@A^<N~ z9^;SyEU549!<nWqum@y_O99^j9Uy>}!x2fsdB1&h!vD}mW0~#>4A;oT_Lxon2lw~x zd&D<We*0x`em?~871Q1(Z5f$*$Ly-KW*Efw-7YeiXrh`t4jJAi0{9_pk%|y-Mb5xl z1M%!DtE+9cgg9bJ^lEx{IKbO{+~KL8B8){3k{Fvtx@?dD-d}F~;sn;jX2m|t{rkeI ziFf|wy|J2=ww;@}To;hzk^hidLx!h*4lH>gJoaez==|1QW-KX6QSrJL0_6Umv5p%O z1CwI<rZB!hwS>$whyXcyQ-5)Zd7?i(Z}+LAGpqWAIicNy*=l;q$ndC;h+p?}L;$Bd z>V)h>44gR^KV;lGd$PU$epk>ZR687XOt<Q?_}mg_wsY6`p&L#j$}Pglzn8-3vCK(C zLXrV=NO<=Fc&^L`E!NvR=;Yu+&Uu=gf7wn>HG!4O=UF<nhn?-02Ob@o${syTG$Oru zfj=dwu^)q&l~8C!iLLWj>oL&&4`SuVu9QfS=imboKX4-I5eA)j)?hXF_;Bt?Va@3O zz<h#~ne5Bv*@u@b4CM|}Q6l12f$!v>@f&4e6zM%%mP<7@jqb|MuVfd0QO`(QGAR$2 zYQZcMKe;CxZuq;Sya=B`tDs0ThC@y~L|{%`5e4z3T~mNX>@S{5fkl<{q!bCP5tg*r z{s!4FIG??4%BP5ct_9Ko@)JAk^g|;co~uhwt6yE{*>(8fbZCgn6Xj)Dvw3#5nx^g9 z=W8T<x7!LO)3%=~Fmrf;Ge?2YXP07EM7RD95g$*3Px;HQZgGm@nx3TO_T4b#{-~Cu zZWG}elO2PId9TgHU4gX7T0*x4L>N%hO<xq=e&xcbqi|&T_JmG2aSDfK6594sIsS^c z(TvP)zHK)ruIBEzs^RRShNeB@h@-mRzBB9REp7JZdN76C?DMibr@~kDChyj{a#(Ct z7Ll7N#>(P#TbDuzG`S(Q)a`3-)oYdN9cenes=-?I?P;nzXP)gu1Zxg2mq#s1kj%zv zdFJ0x!T+J3@sWP3uB($xMJ@-}(eciMvtiV8w1-t}fB~M#1)#D^VKUTb_B{$2=~UEz z0?OghD8Mqw;B7h}WvaJA)5a%S50Xo#Uvd>@)k0qflcVd<ZES!Xrmgg=j~8(Jsf$xn zJdakkJN7)?1k#c36PO*2v<BOrehk0uR!4Rm=>INN(|1#f-LT#>6Y^rf-nsWO?zvzP zB*W>*N`3Atde=#A*{#_@%=T*gaXHresfdXQwj8B)_RDa^;LsKVR>#7|x$b#>vysf1 zn3OviH1>Yw<uO_FTUj^R?5XBhj+d6U8Rv3E2VJa#$y{cmF$SpluU`@9mdQ%v{qd~Q zfG6@@2n9m_xG7HUyBppI>yzDwt|7_Gfb<^VW$a4u;_a+3>^3<%N^QRe>-n?7P2&>X zyL#ULE&8+?nVy1KQ(P~vAD*z=mLnxg<roJVy~9Ve5JW@5RDPbtiKL8+^Ul?#oQ7+F zR{FfyOUsNpyPSKE|0j4^L?cgm7dVoUps9e*YGO}~%x#bNT3)-Ra(dKCeKgj|`ebjr z<Qe6Wi^FohN4^9>y{T-R<G~E{=jIRk(m|)Sn3=IOx4lwzXo%|&rx6+6WN*Pei&|%2 z4XyBb<L~!#X{&QTb)utY=Xc2Orxb*CTwiG2Kh(TWs$BW3*diyd)R~xvSnjai)kjj& zWHgplP#fEGqrgyE%Fr-eBmVXq-T8+Hh5WSM9p||wxrwm=#`+(DcJFohU_IY44)`(% zCoe1gbvemgLgHM~w9I~}s4eiNdT3OZeXzqFVCUhDg>oKjeiAycF6fmh7#s|)G+t>l zvLRXgyA?e);B19I7P%#eUMX@t?3JM1FFttgYJwZ(m&v{EHiYla_r2=0p9Uvh?pxiR z0RLm8Rw|d9bCPT}wEgO97sB@&16K2w$JLh3N#oJSy|bTQ1qP$B!wGvoTBT==jNP^S zI-<^vYwIM#E0%kCCKRFB>TPk2lx$&+2u|YO$n)hezL~b|fo(haU`E>k>CeIK8=#9K zhW>jdXYHiTmNnO@_}lAS)_F4@k`7i6&sNFT8qrp-2@ajXdS_!BQ$s>LBWAi>=USfr zI2>Tpt1qR5<r1~);pq==iUFKJ=D|iR`>HG4aq8?{E3aVCZvYc0mhLf}ik>u-=Jex? z`%cG|LVB&Oe#qY4cUfcb9d=@ykwHQbO!tHTHA_Y(p}VT-%W~zCzGvUlnJ-FebmLZ5 z#p5d1vTJ1aJv$CTR;9+qcw~iRNY6e0L>MbiflcI_W(zDUH@Es*maUWRpm4a`)dSJR zag~Ru>5N~(v!;r@Zy$}1EaYS#x@<~ry;gN*JZJ)dgw|sTL=c>N9~h5NBRm!1ww0In zlFF(8J%9GcgNy5!ikh3}+Eoj#F5#lyxB<HaTssDMd*K-7H1oRNWin`?#MWZdYr|Wk zO~^3I^eVNtJWJSajKng!vRfU$bK7GT6t3#Dm!$1)Gyd}V`is}io<ht$C}U4L@~I}< zG34&!Yl3QJWyEVHXr(M|i%(U!9Xj>OZMXH~b)>j#a?@77<>cQz^f<0`ge>4cFmswX zHSP!MV|?<Cv0R@my^t?hLiL@-Q+5=@SaxwoI~*3S-=;J@b2uC?cP#oGZZ@Cr>S)mK zYWC@M!NBlS-G&b(Gf8IIFM^U$fkTsPVZ#k#rPv(rt0wJT1ge`zIOW-vsOW_L=;-C6 zj-IAr8C_oQmdwr0+M>xltWTBPomiBlbswb?|K5}+KGd~z+t>BFb1g231^D<*$z*$3 z#nmq5Y*e7Qrir}A8g$UcDDtWnk<nSQ`s7gd8@mKbI~v&Z4R^@pR4)byId^eQK<1*z z)NTND>J2@01Si}m=kkv)T@Q`k(hBM7NrtTObBiiT>O34bxD4@Yz6<2pl8NUy@H1|9 zX8fL}8qT$U_Zu_3l5D6;y(lWq?ZA2Os_XE!MOU~d=)@(4S_Mz@RDjEE<mR~CBuXPk zveH5IGcU|ADOp0PNDabbqNZzwd1WI8`K?ENJ=#cgdx#35&t$~wNMTe$E1gd36l|E? z@y0OfMJejNo9v#h2|8FP@mT#*`APoOWCCY>P#je0lh<#ZOSkIFc3F;VYsM9xzwH`- z8WFchGnjY0ZsryP`4RJXn(yYo43~YM6)-QwWt;Biw(;IPRx7T566j#MlMPY7jNU3Y zTRpDD+^y`^|7OGN`@Co@F3PreW4KTz1_Zks{@OMvEO+ziW@dby10;C1DJ)!D#^;<U z-01%>arLddzuu~ja$Xm4#TR<Xy+g|_tlKJAG<&y`em<&MPg^>x^L~QBlIjhlo@?m% zqwMf~)JMx>3HF4Evc+LqKIvE4>V#O+yg`l9SAs(7AX(zkrWT?7p2$3`^&3V$JPU09 ziG8gm>yga$bS8}o>$}(B2jYV}(CkIk&P$Sc^LVRm%i;d#)^6x4AkQ?ZBWLG};Q3D~ z!k0<oWc`p#MnjCea;r~$++Z#G_i{yREY3|N3sp@vxI-~360B3X`xNAmb2P3KoHS^n zk+~@Tc9B5U^sI{Fc}c=YTS+aXW#q>clEM-Q(@-1n?JHP4Oq9PD)*a0`HQbd{H%pqY z6g=^I^G}7!jv)gm6pkRI8{cY}{pL&0R-?u>W~gBCRl~W+`{X-;U?a>VR4_Pw3ftAl zTfl^Lvpb`-BZGOb!qcV_%et5rZLuSThnajh99HV^JRk}EMtzL&%O-Xs0h(26TLvv! z+pp9nSLUYOvJMZMqu1zp?Q-s?=QeN#%2N!@=4D~%yX<9{b3ccjnat`wI~8dER%~k4 zue>RD4%T>k(N}AlPrGBu){TI<0@A(~(Y`o-H9C@^0LPJw+m#b3C#+T%9@T6%x`%q} zMR~J+w*0=M6T(tO-?k@1rJm1Aa=E|SumrKgEjN-1P8vh_8mZSe<fK}dbSlT4cClog zQnK>$&lYb5Z1ECx)D=frbs2YaP6Ih2*w?(jFd43@>y1@DT153?q!%L#mFH*#rE-`x zj(fptn!Q5s7BLD-tk0!naM|r#?@KuBH>sEy-EEBKF3vn%4~e&WbG&nxScPJA@H=}? zi`iGz3iied+*fFdQ4haw{(eJ<p~~dyIE?7np13+Qq)KLuY>n0mTO)yWF?z4^!edyo zzl>Y3<hB@jO4U}9*nD@8``ruBSjx!fw@W)=^|nS_sVjqylkYwacaq!}_A(ifrn<s+ zSOmo=whvYrf*9J~Tr~BMvb{SrN7Iwr%2#WiShI}d(rt3pw1jM#&BLyxFG`%3K>JsN zcs=9<7V^_&MjU>=%*6)v0#<PtPr$Vvw5em+DK6lm$P>`KTTvWv5~6eK`Z;*dsjAWK zG&Z=XUDZ;SDEtjNOyXwEpJ_Uxhu7if&#sdSSErzZr#=F|DF6>G8-)@vK>Eh6NXSyI z$yx#rA1Y??t`GS@#e3pWt99Oo0*Ta$3e5D*x!jF3*>gXHS3#Xsz7lKq47%DNAlhxx zw_Rel1m}>amFR%~7D$i2h>$$CU#@=|=X7KTXS~5HC1jo8bYufwhN_di7X0mJjobKa zwhgv+iX(LN={CBb8Z9>B;Anbt!WrCTIqI;sy^2xnH=}*;&=4tt7TCOq$#?1>y4#<$ zLslrW=dC!(iU0AWQpRAivMP00?sJ9yW|*mlyzX1Cv%XeXt_>e>0GQzCH@;Wo-|f^p zPn#7Tur+eMt2s@*L7a}0(vDBZkImybuiF}~2Ue3BBufOquGk|e?FisfQqLQ1<PL(Y z9SDi>o=c?Mo?pUgOMC>MmA=)RYEwUrv5ATg1B57J#c4Z2uo~*N*=F)^=yY#@Pc$LO zLB>-56V>TcyLqi~-4ijXq0lx66~xI$l*}0moZ-d!BW$N)@+^k4vOH_q*V8YvYepNV zK+GtTclQH~upBLo)n5&t8eD7g9Fc;`QS0ves{KxImxSnP=_i@fc%q@uR7pX>qP&;J zZ&1&SBJ*a?XVVuyKsCoYyPkqSd3I{USdD{a=;Ku@Tgm^3Amxt;{IP<DVOfXfR1&P% zBm<D^LHpBR1nrPQY>Q-=PKNRA{&Mf?Yq_k3LE@j}!n{Vkhym&iTKa??>UIaTq`!}U zXUQne3#u~tp>BX0C*6h*(%8&;V{+uHbFmj_s0$YpbHF}{Xe2I5sd+}u-kaBMX~~@1 zdR?|dn||(fAX3#6btTLDJfsTRNfAY-p5~3WF}nfpqSRFmN&|b#v^FiwHrPn055tEG z5Vi1Fvrt19e3v&tEYFsjtVEmB=5vOc%WC~Ypd@#{r$8~4lYQ~zC}3WLbcFLow0)yb z#&vR2$(cQ8gX`MNj{C(VmbQkyLq^)C2N98*Z7wU9?<ri9r=6El+N^PN4J`Oy+{R0V z5#NE^>>VT=FGHi`7}uif`rn0j%^(dWv=%%Yg0zzLMpeEcB`9R(@;VeWzdQWFxJzx< zA|W4P^h%!|z30QB+v)EO(m}$nV4OcSK%2+byx2LmX_z6~2E@F%j-%_AZuq3#k=Ntf zycO?xsLN`|P8!;2EAv@r5w}BC=w_X1ZR(z6y5MokzJNkfIiK4ZV_d4yLPcvqZe?W` z(I_gXUELts%kiVc&CeG*ZSDQg);GgO(VKM%m}*sTKO4k*+LQ}v2jC2d*|=o}jBeW% zf9{G+g34;7W~(f$@1zG`BffmGH+%yrw8(ew_@E!>{5HK>oT7iGE7v~ybelS4KsYxy zk3+1;hmWX~KsCD(XKQm;O~4)_w<coiZT1Q#CEFe>t96g1`TPt)T|Lj#RH3_<udc;& zq{sO#Evl|#l2QYWo!>?3%cTF&8qMM<&=ocMf*(e=HLjaW^{yd<GGPrgKd=32tI{yR zOLjf_1k`ZL-oN~AkVB;;;jLh_9Pn(lpG;HwuTDH2ci;Pqi7Ivk%S_(J)M#FK+Sc@r zKuU!e@OVv+@SA_V&T>O7kv;RotkHSmr2*O9@@gQA$&XGzf_zv!Tj|AdTQ8`fG#ikx zbi0L+PVwHoxEw;r4=5C5*KI&qxQFqz$Rpa7F%V$?F$b+b=HQ5aom_0S$Q9E1Wzt?7 zyzl&tJ<`d2;D+@>Te!<ri8!K|w7Z8?*k&U-*9gT<@x#1vJO&TUaAPEJ$(~fjU@MXK zyc^(%jVgptN@Qb!edzMaKI_4p%U;OB@d)Y_Q@1VU%;;LKqlXA<ed_Jz$FX|7CHDf{ zqr7?Ue4w@E34!ujC-Q{M`t3AGeCbVX3z5(AJW<$0R`qikNb2()xi+Y&l}S~nJxdr0 z>CdEQRJJ62*uCm=jknpqsqvUC&f%E%_US`>eU*_YvlcM`k!P?sEj}xjdaFcp{V{jf zt_~JMotEU5ADg%DQo={;=4rNIWX1T}x8o<K8_|cY_tf0eQF691l+MJ1j#ZNY?9V;^ zZZgn|2L047<HH?4y$M~P$l2`GkZg#lm6nm2qD0Jgx+K?eo7>{vt>dk^qOrKR8RJCr zM3M^C6U(|Pnw7tiwI~o-_cjuqy2OYsfqE&+9(ZymHDmD3`;pW}<msJX(2Rj>N{w{P zlS}%Qz8AUd1_)I~_tqTrV1^@W-E65Rl(&Aqjs60&X0d<I2b~!hh40JCoi`NaK&n)c zq7RRPrX;9{`eUPiffCAlrhF_)Ug9IZ`y`q2`p{c({2jJj@@fYx{<ow%8lry!)IPy8 zgFI35yneCKax2KG<FF#M%Wk0F{XVX-s<(D0d<NFeC!XkA?B#gAr<PMhzcDo+or&pK z2RJz6I;R~c30u>lLCsRnw&N~l{goquM7?l^syN@Wi1^r}&W*VQp1I%1&`?4)UK~uA zp*6X%9f|62`@m8>JK}5&FS@8GJ^W+1GK>k-WHP^SZ^0xE!P_?n_~nc3mxOEAu<PHg z%<3Chuhg;kf6vJ^zr#4AmGfcT=?A6E3!c52$|e_Tpe&z!+UvZ{@_JXA&=RL&r8P;> z2E-FO`%~fmDs6}QC4mqVxcP(RNNm6Wo;(+6<*cnoPhOtFQ8zxdM)-q2`*VXdE=C$d zNZlMxb=}CFnR9K=$V~HFjE#~{tTMkxb2zwyCa=`eA{tjxgXZJ>$ETSOS~l;qRFB@~ zcR&WmbB9XT4R2qZIYvJZq1dV}Kp|fMJ>P&a%O0{M5mZq1WM9WSjEYGjQ!yBy>k(l0 zYO%Z&C$fP_G&c&G5ZvNln%Jq-!D9qG7QI8CJ#qoI;k*W_VA|QcDi;)V#gvJ>nw@ck zSy6vutrZ~I4G0-b8Jfj&Pf6I7V0utyG*0|c>8F+O(mYxrmmq4ZL+x$KZRhxv<Ll~$ zyWiqYx?K#GQdm+&{vx`zOd|~O7#ck2t85$U{c?d&`)XP#T&gyHD`l{v)l2or$sZ|K zY|mY8{5MHtEp_abZRA;2*uxG9O2%F{H%$yG>>_Qf?<wa34GYH6Vr!$&6@GRyu<V|J zr{boN)u^B%j|!!jrrWH461RbV%S}!Zi{nBky^Jc&y4JwCK!FKxv)qXbXN1ddmP^l_ zmxJc8NdGbT*gvg5fuX?0U}(<r%#z)c8!1=<JLG8eOJaBu*yeTMaCBw)e$Aqk6nW?& z>P&~J#8)a~%`!*kvAMYplbpqeb?4QV04F3<EMe-TtTAStk5Ug5bPr!E4Lmj`nRN6$ zGTt>7w=$DR6>-bz+Ws10;IzUiE9374ZaoO{=bUT?$j3>FKpaZ*P1v(!Il6k*xX>z6 zDb&j7+Ihb7g>`6`5&hkGrBlEZkw1y#C_@GQ^($Wm-EVn<(H~&h5j8F`A2j*b{_Jid zA1NMVZqbO^9^pkHj-n-+jy6AqS=JIC=3haMvd9cqoBW?fGupH0WHXjoi7ZzxC-jgi z%Sol=$)B%|u%e+9P{`|d9jH6~ewgvh0EhA$6X?3Sh||Q_yQ0IgY?@t#7ur)d=$Tif zciNY{t#KU^bGuyEy`_FNZwM7vj#&M`tqFR{Fxjle4c<nG2;~3D_VLsB1F<)>{n}aN z`J<J=Au<69#>DpZ`&TH8>jo$`T`M~EFA=2rUNyO$J00MNYGum22>+2@-Xxgzd_y_m ze*2s#E7<cnF1U6&{u;zTM>f>AVN$rn*SA>Q_LWtqVd;UsTh3{LeeX!1iSn8snF|>; zM~+WW0Bl3*Y&5u&ZU=Ljd$W45Ii1fB+qC;!XJgg<E|6uUtlcGPHb%GRlR{xaLt%+P z7ri&s*Mhl}<|`DPTAHvpvjw8>!byRE_=mBNZDEK{^dAb%wy)Q5<+SYEGRYqJJSQJW z_}9H)*PRc%=V1@8KOH|fu4Y-?t#w$<|6Y0U9Fx=cl=zKjqt90Ij04>dK&b0u6IXoL zti;wUm>hM~FT4Hw^V3f3*YHWD)NKuSzk)Z&K5lBcF0H<>6u>bt5tN(Klv5Qrll%1K zoTyei@9=ZZDv|IB8sA}b?3sPl)8pr?Y3#J3Hzyt%V-5<6e#1}{$EUMf9Za{MUId6b zr!8z3SXj`{G<Nfex%A`gn&?AB1k(67$-X^{d>;0*$<QVygdl|g(mU0n6gK2EN#Z7x zY9${)$(w=%lc1j2YzFRMlf?2b)v}He5~k~h`^yRf)~`?rQzQbG+f-+XnrtooQdK?m z`B+S_5dZ4f=ED7HNeS~+f+pERv*qo{gU4#RmwQ(`F4BA3j07_X!7im=7Wbp_o#kH; zAU6^SNqn$+^%@x-S;l@to-LG$-gX~H=*c24InSG4C$@fWVjcBTjdyGxB6S|3^gujR zfPEEl`0j5LX2&RA>^SIjk!ZZgO)M`j+@_>0VBN-<Upl>>BBH{{yj|DYt%O?wi54-O zrvrp^WBV68-iSwz_0NrXUw|#JT?E^0?ZNo4v3aFtvSINa`Jm2h{-zD)RCEzg|LLHg zCxs*J=K>dSu+a_4(6mr|_NsYb*&4-MnYnryQ(svbzJ=s>6cj9q%x+$pz!Z+KZeGq| z5pe`aWMtvZJGFi7`uqau!PDf=&J~}7cJfJuE6ol!HTeav?=Fsl@&?md+M4~`o%)Rz zlfIBjH$L1CY2F_QgYWOq(ghz5FpXwkq%JIlJ}r$$;cI`>gj3Sr2Bend9*svJ^&8m@ zI7jYDIX+TEyW6C&ti?6Gsnimt$!+b2`2p2ztbj@z-5`(GVjsM2Pt@|XTY2cWz@^bN zd=ExW2>UZ%jts;lk*DEg$h!;;QffGH+E0w9bv<oE&Gj$|5(Q^A^TlXGLZh}RCzX$# zEq~nZsg}jZM4}EP<i_}CX@m}1Q|e29lrvuJ2R96?s23)q{eZ;FQ7{=a{D7zq+=LNH z!oPt-Wdc1J2Pq75DkQqMj)pt?-tO+srK{I_Y?kgW-uIivJY4uGR_`^QuHW~WE!^qd zB}hA5W7EMqMI|J?o%W2nL56}N6y8`^v!KF0u#&=7tLds5SY<$ajj*TxA7ft~6=$-< z3j_@Tf?I%KLy+JM1c%@*K@;5FHNk>=a2ed)-JK9zg1Zyk9p1<8X7|2(_nq_ji!(6Y z)m7D1)m6W){>V^M-A>$vdB;fC=O*egAmFUQNz}!FVgX;{w5f}aVK6peO!8@GOuW{` z>rD2A4Qf5zn{^o`fz7mrHsn1qlh3sV!iUbI@Bo4RdFZjUrUlaOjSH20IePw9qr|Cu zRi86s7C^>MNBmC<c@0gGCI*#=WK5UV=jrz>5zSbLOyc$w;+L*wV-ReZn3$NHOhm{6 z$~EljqTJlV#ezJxBi;D~TO+^nWXV<R{wN9_p!#fy!~<#`(Zjggc#s@!ZQb%kyKr~< zGy-}&ihGMNjPTy*2a8!Nw2MNH1-wf|d^6Pr1^U8k=yP;_i&gvXjTYiLgr1;}q8UFB z=$CeUdo~D{#ty$Ae+}|W>!v<T?0WV@r6=q+Pcmp@P+GYs=ota3F>e~WR}L%zma+1u z8Bjwo*ozqR@LSb;T)`BVeF)p(om`0p02IC6P^Vb3I<eYqZJwG((Q8J%$2sZd9sA6j zx4MXVj$a<1fh`VI9Y|ZK7}NDLn_bx+52FyF)aX)RtzxkDOQThv6Yn+O%{<R`R2Txr zUknq58Ij`GgO-M8eKqohpBzRSiS^A$QC)?XVk<b^PKrPNOS#Gfk=|NP<>F`)_&U6G ze|v`n{@#{{HFTH9Wq+6La8L8Do{DzNxm&8(7$#5plUi~CMM=wwjm4$0$by`l*MYOb z)KrVX$d5Kr#_i0djVS;BzsZB1ZN_syE)sKU_A5Z-u<ecnkG5{<>)Yp}ur09lHYfOh zFEyJa*|WUe_bquj_Iw$=vDWe_F7cnr;0e1&0fmCVN-`3_uLy(koRzl3e0icsI&YHW z?BfwGWAA!1kH?&A$dFy_1gMGnP1r+6J(VeA7!yjr#P8ABIC+tl>IhtWwPDDs=#Ey9 zZ#L3nywpOE`2L;*3+ZSOmKA@*n*S6!6p@v3B#pmv^#{C+JjA$qHYn&vozMD4GBO%X zCl%d&fasfKy|LjUv=_7MRVrr}o%5U;ck%R#@T{~1iblgwLp*BAnRw(XaDc{_6v-%I z#M$U#wAh@#z)zR<dKZ##>8IVsSjAj6|NQUi&0l)<z$Csf=19Bt6oE~|FqTUL)cskm zyTwVR=r%IR-S^@bbjfo=m*H)D7%L_A3)=1!)99`$zf`c5$w4qkbUc5~^%E2K%i8J& z(ph(>+)4%b*;#)lE+h9hs6SO@`ZZK2+@FhVN5;f;O5~R;$dfiTGwTQPoy|)=B;#zH z;2ACs^Lh}Yol}=>tMF#Y*QIQBBqn%@wC8|gOl0DIO2W7r=%&Tm4)do})`k-^HvW6x zYI{Sm;*99?cS4iYrJ>u{gd;7<(U?XhCK8N*%8$kSxpE}2Ylr}9>sSD4>6Kyeh<>Xu zMcGT3pjjcxd(eS7hVE>HCk<j6SWWCaz&+wG+FwKCV#-Z`rmZrbS7Km#!Qw~((hWBI z5Q6&GW`x2}MT8c%P|(oOP*x7pYXD#Zx=>=;2}u7k5WhvmKn=M_IBaYrlqn|eRNjA6 zl2uVrk(GsYD;+y#*i{zcN&9c)0LJ3^GxRlnn0}#uqXjT``YgItVr|&4auB*KSE1J5 z8vV^P7@*3=*DJv0wU+^z=WJIu8;yuR>~A^I`FLi4^YilF(9^eH1Ea_QqiB!*I|&uW z%CF&lU?)WXjRb%lnwpv)K7`zZepRwE35&Hc0aC<K;K|T>vR{9&wyhf=kHhd+x*5f? zGVp6%ok;igZ%ST!`Mw0W4m3se^%b7BT2&T#1HwUi^Acd-w_oV@WPg~!r(x(pp0h&j zDV>sH+S$NgS62zJGvEJZ&plyr1o`D5(Xp{OSXe+)3yE@BCX&K9DAOq458>Omf6LFB z37T-00z}XBj!n;efP;$*c_>K+&x!~@Rll?ggN+RbWR*)xe-`jJqv}#TQ7pdRgZho+ zbqB<>Z2%V8xMc@1{X>@wW?8y)*^<6Z(fb#0NOUBC;>k>fZlnJ*>C?{XHv&I>zwb#Z z|NVVn`IMBDjJU*rGR#|dA%1Jaz<hEO3jxIc=;jn=S&sC{DKa4F@|l2kaxY3MK&t04 zG(G<i%OMRg0Sgy56Rc)ih)&KABPk2WY}|p|Rp@U<eF8q}8-w`cJ;P81KUrd}eBF?L z)MorilOR6>(8;~BpC;I8K<D{qttC{;^t0=unWB1nYu?_S-Pu2#?1DPU6kxuta+koS zwmP5Qb+;{*z{0_I`z}eexYd@W<yEw5@o}2MGDuq8=)4f)|M{c<EehRu|12#RDen`+ zv&H%9Xk~BDEy|>!)GDpHnX5L9d(9HsII3;ghjvjXj{7~mCQ8d5HUSm}+APJsqo$0e ziKL{Ftn4FjdBPd?@QuO;3m(1IKlWShuE_r_!^G;o!`4S$lSBfhkeFDrN?Qplzpf?3 zkQRIlCl*$EZsrx`539xT>))rNzt=^7EblvFp<^apR~EE(Zh9PyUmk(o)}*E`9NiTS z=|PI7k~DeLo&H7nZvv>EU2pfUPe{0Z=KY>Xqj~0CHg*0xUg%Lx_gWZly{{d*<QY+! zx{A6O<9bn+y;QlqlsR5vfdMiwIxs)F=h)|a`IxCGX;}*Mva2g=Ydu_DabP}_!Ua;l zhmm~$FT&(cp4GQJ(2-r@chmc*ZG7kO81ONIdbE5eA75?9$(H#5X!Ej>vp6JEpPU?> zk`Nz@9~Vg+7l{K&LXUz~pkxCvvC;6d(a=+3-N*^9eYwkk@y7T?sP5|O@J2Sa=b>Bf zrz9}zF0E3?e<*aK=ksc$kk-V6<YFsx2KvHtq>ziVMr{13#BcUgw51$erB{|Ryh)U~ zOVTh(k@kcQG8t=%D*;ksVNzm&(h|XvGFuK3SH(VQ%kh#b@0&`NXlU|Vrbak<cu>Y= zC(J~3e|&4x{kJV32LVItF!S=xOtB+YN`AS|Jk-Zo$Bq8U&dSbK3udh~-X&DD+UlZQ zKzb2$ej47gN#x#5yEj&yCYd6z*b>3Zp7FJFwSyc(FEWjgk_XjQ0b~5DWjBIfkLG0{ z;&YkpgB=ngLaoGlDn^*l+uG?IN<V*CoF~)!KMa_yLOL^hfr39f+xX0~$Lr<|U4B7{ zg|XS8`Qi51qFGViSkA&wsO-=S6iFZ7`Zj5P?W9_d^>a@#4up0XyOmBdjLcQV49s!e zs4<;r6(Ms8W1$YEVL7eVyv<nD_%@hlJxOI3h9b8F)iE(K>K1x>ahAq{oGu0x2L(NM z!<ilHLd)BLwL$+kYg284sd`?URRpFgrQ<4XN~?3lQ{EvUnL_#Xk*kqhk6F+v+i<>b z*jMT6Tthl0tRuIV49?Y(Hr}&$&rTJYE1yRxR_eTC;CuYO?Toh?LxAkvf-wdom|^AD zv)D&NLtmVbkl-+Ynq=JEVn)QkGySM_NAKqt6)>AM#$mNwDJ}5W0e3bKs*c5cIwpvK z{N#N8$4n{B!is!M$jPa+>mNJBidLDNS}-F@jb}`d+Sh2F^@|PIW}Tjdy<n#<Eh5Bw zm6KW7Hsy_g=I1Y}LxHz95Fevx%fd0l$9SV`udDxwnf;!E`Yi<+bl7^dx$23T?$~-; zQPfOgsj5InO6xL<#DIu@Rp9$D@fTOPNF4vVi+E;XDd4|{F1EDi#oKfE`S<4J7;1Z9 z-hU&d;pAbZt1l}n$jL$Hl)!TO09((*&W=zUvKB>|%~s}GCd(gk8Tvi%s%p9`WO|(y zZ+m0SY1h!&+^E)4f5JGGJ3*4~2<_{u>(hgQ9`|^8<^r>~;=$ZyJJf^7yqI0;_F|S& zlh?;Ox~)hn{vL5bfCrjVDZnHDJ8oHKg+4dNe2F|lI5sxfJxErMKQ%ozx-hr2kZERm zfQT&n97!5RXKa3cl#h`$k7V>5ZTkjchlw%IpGfLp$pdPRtt0iuuO@O#{c%}UYnvxf zJW#?@*iT1ar6A6V<He<^>COns_CCZx_vjj#ft;5<hto$j!fqfM)4vJ{3F?vTPfzpT zjv$TLLN~=kAu1{Me$Yvj_r`o`_t0GJaS^xiGMUr$mx8T2Djf_rFH=4t-n`xN#3n;s zqleomrt6oh9Ve&C)5D+a$0x84{)<ub^A%NR+?H!s@%pMY$T)}3p9lI9$ud_4YqvT# z8YWA{wo;!Z?paow2nWq}apSsY6q3=jL2hwhYK*c`Uvg$ztv^(Uj$P9%3%ZV~BidoQ z8McOMU<?bsV0oXs>FE$+9w{2us)FtHGe_E$khZd-@)Y^GghU|$=WUNvPIl3U&`xsl zyYepdw<h$A*1uyG8Zuyg%sf0%$tncsQ8znrpBKM)?0Vdp+<QD+55AqdIDBUfpYv_P z6q5EHHmB!s_Veof;8MqehnwYo|1Nv$O%Iia`@VOp+mW!oy{)GE4y#%>ZnTVxu!fAK ziIBa7vwoz@c+}a*$75@XY=iegFO!MD1uGRJRvFhFg#&)=vekVk79L8=I07Tz`1pju zl{V7K8q0@w>U1(mxwt$Qej~|O`7eL<s0N?mmE1+NUMu_ZB<PL%Y|%!y{Tc=7C13l~ z#TGeVn2(N`M2+<`ATwl&*l~Io%ab!-)J(==wLSl}nORkkZD%dtsUlD4b1nE+fY62^ z7Y_Eyr(`UJ#kqCU>r{EHwj58@bbD-ltZ{ivM<$Mg(Fu2sZ$rgYI9O_38ktT^P&yi$ zMbp%5%`eD7ox}-~Z6LyXRlVj<ejAoVjE|m^i%j07-uSg+)oMOOX6U=b;DFa#0;_Hc zAVv@X*3C0%yfb5ze|>xw$6Jg;-gw2I2Tl*mreZKa4MfIO>?Iz^&^*hSAiozDeA#HL z`6FBLcreg;nz*aceO0xFN9{d(p;z09SyaRitH-o!?-&o+)}s!i&qKX9tZ%E9beb+c z-jpy>mA=gf*Po$={<0U~`&df9{3VNZOz)n=xNWs>ywu}!VVVUrX=5RA{&U}Ru?OR9 z*mi@#s8l#qItzq^#*B}?*>II1u)v!RuhYmZnBQR&q}Z?Mwh@wiIbYgkzu%}vn`$|q z8I4lmF7@B>7fBn3-HdFbi131TGl;opopL*yV(0U_294a?us1F%f9Qyt^O&vQ+DczR zUtC@{nshqf)+WSi_1v!FnyIZkNxP(=p@*w6_6Yz{?T>-NjnvWNaqqH09lVc4^1;N& z2^G^jT8ywfxOQ$+>^$wC^)GqS!z_$3cS!@rPx;Vxw2OC(Fo%zA;A-F1i7^vCPbsB? z=`WQ&bJ^YL*IQe^Zr&+|&o!Iq$t#wcX3z}j?~_2{tv49V)!dNre^=T&COidlbNQ^P zeUff}bI0yQR5*ZYbekLf&6w4!<gA1lbc!Qm|3_qRtp!6f3VKbc4T;=k&yY#FcvxPu zTAV+ElOmm|*ry7Y6d+CSD+A*qVwT|#&gz#{6adVy_}T|blh($NuvQ)DE_9!3;cB`Z z*+KW7j)UrVY(IG8{=ih`_C-d(MBc<e-O%xiZIAHqw_WJbmqbFQaYUR`F4rh(QCG_P z8;rYgKTxbM%{HN$f2KP4TwbR?^0-ED*5pW=`!h<$UXO7D8PsRVZ<hvo&pNQtp__xL z3S$68!F<06KQpIypDXHEYv({si`f!x;Yj~d)U7<C;vPgED$Zv<bJE`6z}R&XMabp| zZ}v;VRbFIMHZ}G9;)2sjj{YEpTfxfyL9)fJuaX7#^c`Wn+YVIkrf)7=B2hQF;%WU> zMW1afI);16xf=RCXsE3m;dO(+)Ap*vg;p}bWLOGVYjt(6GMM@dX?-xCTP$@Vs{g|F zhK?H_-u^g;vQS#P0x4w2)Y7DN58wJ^V8hLS_|A3F&R#01y?vJ`m2gz0xdU0^hh$;F z;ryViMBiB*&bk}<4`_>yZXQMK^TMh}p;N^sj$of3p=iwoYP8O=d$_F!8P3U^$`c?* zpAo086qI$xyd)Y<tBx%Ri|9+8AgE!LchE5=QMlu`Jyg;?Oqn*$WtBCo*Xvu4bk$(? zS(DNq1vAk+j}Sk*V$%<fPJ!+fV3tDZke|55x(}|SLt&7`{;@vhC4@MZwRu-^wEGx8 zB&uPeVFyk{8OmW7Y6|JC?+)d9-xrMrZ8up^H~e|B<mr?ZG)Tf&td%7eHDn3(fD;OT zGwg>9=>tAzMppB>1H$WFwbW$3R}1C0TdAn`uG`bsyS(V=5%~%h9iclnrBi%2Q$||P zTwt217?1TkbGc{>&2H`Q?a;bSh_s^x{e!LeLvpQzr1zV9a$@hsD&}TfRCqeSSP7wp zhX`hc;g_(u1sd@hy@f?%PDuWNB3rCq=;XTKZlNoSD6Nxv+;=rz4r7ONra$!1Tg`#I zSnl7@p;0IWDH<k>cB5hMA;B?#i~i;GHspG!;6*7WLao(Ii`#AN+mG&NA$0nDk!ZEb zhFSC4pI=Q9zv!<^j(ioTFkgU6R~ymt<7<faVI{)lo|oL~JQCF8@WB$oSQJ<SlRhzV z@y)QhGX+OOQ7hj1ln*09#R8LtpxLfzxkPN+2h8$V=lc&Q`*SunwYxxrG1lj9zO6x; ztcj)Ghoh?B1DR~YIWDC$U6`7qzS+N?Ii<2nW8$L^^M-najL$=eb{wpS*<aP}`+HaH zin;onImH-uC#>)jLlWFyf?j>+LR1)E*M9b*>NY7s!j7AQjhvF+TYv^R>9NnY#tLSX ze`7xY(|=$%QSu@s_#t1AfI{|*C-3CC`9b-GY2^T=MgK8k7#{@AZjw`>Df~UU&&%{X z3MB`me71|l3%>sDO1FM?fBGd0itMl+1KDE;!Vo_amWf@T)KH0@P+=Ap(oXvED$-Nf z)5e38Cjq&-5>9@1c)9kV_*r{rS&Ke}^Yh?17x$hrb26de7DUbhX4n3HC+2eT=BV&9 z${=G}@Pd5AE<01$EnJW5t?(opYju?qR-BUlCRW=^2E1*ybssPjq+D+{ATAHT`~k!O zmj|!YDA@L{*|HT}PUX|9S1V3X!#2R<KE2+bi)hqdYMs5}eDR@Fx~<N1`n}d04wuzv zj?|9n)mDvo;cm`R?)us~*|GuTp+|<kx0}6uC&|cux`p09QfB1`#QX%5Uvt|CBz2^< z(wdTNa+<MVS}<D^!_!jVbHy6yRor>9&zYR8qeno^6>X1o>l?FHiS|V352td+ZXJLB z&Jz;7TzTHbu0w_&MZpgaH|Mx>5a(1AdZ8e^o4CPU3f?JfG1#~9@W>R?{aG1)ey(T( zJ!hP8wXrZwmlP<;Lw#|Dh{}g#nZk<YA=w;(iRP#SdmFUGZ9Sbe<S!XPs`*Dkpbi~6 z#u&4#9t4sqOPjP(f$?ZueVkMBNcEIkYAXwlvsyd~2Zw~UucKR&n?^a1w108I8_zB_ zyE5*-JhYf4#=(zEh>}%-_q(Pp!@xD4z<U*ohm|-o3TNhqVtmMk9rMBEX1)O(4_SjI zjL`LKcwd2;Ann;%yUb~mbAiB~JWfy;HiO`oGtNRw?GQEAgxg!QK7QVzuTD2=CHCP5 zY0^?k&>i~Jr)Jd;C26?oLu#ttT{oDNQu%K!bT#>>FMQ&xGV+@_RY76hV@1tm7ei&F zj8ke57flP>=xP<U?)GH%SGp9Q3b{y+F7tS;_as6vseZ@zykQg{$tb(hSP2rj!HPxC zE|T!&LGntlFmdYOR}VMbo3%+usRk}`A0nv16~GoN->Kr(vSSS8JrKW9#lLF8)r2lr zD|_){GN#%~H||xa@aQvY_tQ3=XKJ0%QoAEq*UQ3x<nBMd1Y)Tb!)kxfr&H8MTb}RZ z>=bXf;lm15yzlNa5zgK#j*q`)*H-Ml@!RBbI(?|P=!|=;LAsGppXGFXu--c@z0_zX zhC0b=R6$UbN$Z7uz!wQ!;JIIkC~Fm$kkxuz9<i3zcrPGM`C_{PKZ%i-6#vUceBe!) z-?YLU!2l7}2Z1^X2sbe;52e+vHBOVBtc_BgBeDgvf=CyyN{+9Mmb&GJ>d9eWvrDpH zUxc6C0J}}Nf~90cdHWE&1<vjM%{XEG+tArr8jJq4h(aHfc|o1V<~7=nw|@21>peZM zhWR2r*%BFOzKc-=MhvTaD$~86bj&uq<~K4E*uG@FqG~}Zval%n2}YfcZ>HDyG0=IV zOdW|`_<i*QD&^<J_40&OyW@wHQ_VQX@mC45dG7Z75GewLk5$(p&u=re1T?&rKT7&9 zs+CvGP(TmEhvmi+C*LV<-brvRr|>BZNLvz!y?dmGT$yd^cH+LsVMUVBTsqm`+D%!F zbJAPeumZ|5>*;UJrbn($hf$NKD-XmsZ^8&}>h|f}YgV*d17j*yaFlUC7(l8{6e&*> zA|*YTwbU0LHjIcQ`65`XAxguVs_^w2Iv^3G-~u;*v*Wo#S{8p4w{+kwz4B-=$T^*G z+(;6h!r_)*R!2q)yupgr;u%P_^k{!KV5Rw5R{OBK;MYyYYQf%oMaQaX9n4zek3!Sa z=l!b~hgpW}g7%KnId<<GNQ2?L(-}Htjr}x_R@k|1n!zsIQ#1tpn-j})&RoRX1$L`A zv-%3UNs#J5`&JCCw*&9ic+(-X9r;DtEsNo0dKu1xx|JYS=7anM3)}DC{g2e<VoWjX zcstHoryqtGC?bFI5`>mc{!;&;k$)@nEIyA)G|Ga@#XLt_CBh7@qbR6FP?^tE%$;Zy zG>@sDI?=<O@!W!!4#|k=c72Z|9P+tWDyQd4W1Zj*n}k+~pu^JtmUn03n=V2O&Bt!_ zAi?)I5xX&tTg`YM3{te2H3tTS_4T%X6rah_yMtHGdOmA4+4s%uj%5e8zthbP;nr6Z zy25-)k1of;PGm}Jb12KWyV$x~I_ul&OPOlQtGU~_n9uLWPtVO<8yLhmFz#l_vR|E- zcw1TB{i?3zy`8(&I#_hNi?f?bJIp%J?93T<I#uC^@be+RiD>#7#N`wmBxzb`2I=jk z3h6msJxSbaikvw6G;N#`_E2F^EE8)t&iQZ`qw+x+VrdND6EiqiwFMVdPn<Z_SMaGn zO`4dmq~VTW9A}Nr`J=4u&qX^li;PBO4Z`(QHAs9bIEt2_bu1^gr)Rcj(vSH>4eB5w z?AaA~$QZ>G+)ul{(lYept9kr>iUU{twKlyB(B0*`k%fwGp<P79$^aMN*GhFtkrNWD z*%6SFdydrW+q*m#FsG|LF`W&!)ycG!8%cXf54Uv!zV79$uqL`H<*;8T@C<11di{ht z-*j5nUR32)09c1B=HVK6n7pm!RqPy`4re&*?F~gk4U{+%Ap^^ZWm_sWPj0tT=~mxt zQ@5;o$i8o<A?ENOIagY5PuHqGZv?yjeU0i_zp{Y!qr7OpoSKU;;`nw=4MjAr`p!2+ zH-520C5sQx_if8B_sqxm7!l1Z1pE<SoFyi^G3Jr1mbOh7_w-x<?+9X-$}yxKEiOI; z2KFJK5x2ocO`Ik9WDWe9?TM|S53qFqtTgYF%<8kZgj;eJ@j6x*!o3$xX@+EGjl=DN zb)_QM_O>dps{!nB3<d|@lkag+y~E9QFEdR43f?J_;H_G53Di3FH-?pnY{xsr*l+s; zFtg{*@e@R>A(S;Y&Q=PS^`klXZ8j!^S`7{BbFg!jM2f?}9~`q_&oP%9AwB6#e~-|2 z+<C#1f`1oe+7tc$Q9P9<LPqFBEEfHBGC>hoewNfXG)}nvlTo94k>TLbs{d@4BU4)= z5VaQ(!vH60#^L5xkFxA)a_+AX(y@sjgIfOhdvA+1NYjx7+L1P}XZ?DVw|StMV0LZV zLog;0y=fV>i2ZE6;Hlr1HYclDud0+P8kJ7{WV-<TpM6X@lb)`v@+U#icCzLIlu)m$ z3U8_z&vB1pRkNN<%8H}E(cOr=W(BsVQQvd*RR1zaI^vSMS}&?EzwTrzg-J*AG7{z; zE$K4OtWZPYEowYe$Lw%c$j3XkRhWd5p+sL>i?JVJ-W7=6GFD!kS{T%s0<oVUc!bj% zWi{fiv;hu-ZUgK+EOT|nyqG<pcZuecJP~-hbRjEmsnlHWiGG9wJY1CEDEe$v6?o2M z`)m)M>Cv9Q;W1dhoQ~3>gV!?K9aBWJTyJ2S?v2sl1Hdi)^J$HEMZoQuV**YOI{5k7 z*HMmyZ?^0p(#-OFBEt$<;73}Tz1ChyiQQ*W0tHF7kD(~9sD+)I`#FKn4@?exB0~SL z=#!v^y`(Wo74NX*hMR*ND=m-9V3mi9<DTJ`!k^%3r?Vc)d1x1A!=$ppai4f+I~L4_ z60n81c(yXc>C!U0#-byP9(VOK^<x-zbKl%^4rF&~rbdTpAeK;%zaAw(;Un_A&nfm| z(y&M_E`B>OIx;;CQ@IAm63K>~jdNb754|!R<{!)Ih#JnCgcWCqF(^4{9QPt@jOG0h z9{FU@_1jU7E<fB*k4VFdAd34)rRc!qfot8U^wE)TMAG2h6nH^JgSU!lA!G?k9gF9y zm(kH#No>oN!>xk8FYJ;X7$S4aX;aF?E2J3DJ2<1n@$|-}6Y*@$pVfpgg)1@fgOJ0F zF-3z&Ofe;hWq}fz>IUqGZ0R;cAL?HwwWk=06$NJ6=q0G}*vu>}T#StKlaqF|H00~b zw#tr31J?d4nr?31Y0N-wvTPLxF{;E;!%mV)iqR`20<+cmq3&^Swzl@}x*APq^3J1l zE?P@YQ)LRKU2yqg@T=1^@2Z0vgfHH~mCFmuCT|rnluD)HSF^cNkVVq$Tl&gFEFsuz zX2%j$ePYSR(IxNV#bNM~R7EY6Mg?Pw)*2@L2RMikXC5Bqr-}@9LUkq`WAGk3nqDXe zzDbe<2^q7F1rmS#>^Ok2*NiuAx;XN(;q$bG+MZa=J`e_+yuqjJl8Rcx9{6O%c~lga z>?61k{^53v5*do<nZKI?nF|w+a&UwlSR7m>-fkd|QXY;3V`Y%rr-)y1HrtiH${r48 z>aeB1OP6yuf7bQ1ZC^uQlBIzyV1jMf*s42^iqnp|%Dz{nEP9QO+MI?&-okh0$*{*m zv{E9}UJ^&Z6UM>9cDKt=@;;2t+mMgVvER)LFJb1Ex|iSQhS%)5?wp4*G~GOSw44oj z6fb=_HkGq>CWA%x;%XwgV^)hf6}l};p(_unT;39>PP78fiEWmfYf;*|?X#`q-qmpE zOU&bi?{2kTU06w7A0G+}r>T*Akf>P!Ly9`xP$-q`cO55J4c_YHFUYXN<~Me$4(;xk z%IDNj7}|B7*H+z>x2qpoJ)%dFHsr<@pF1?Du8~}b>p0R>=_omhsd$XN3U2OYr9APq zo~d691I;;}sFEH{AgKK6Q?HxZnvQX1-$eR6B4+4P#1qd5CCR!3W*EIgC^rlG3EKN! zI9_v+iKSL9UXd=Hl}w(f*S8PT79rvIecsHd&$={w3WPDkp>_PsLKhpA3lvK2C541; zv+`$%+lUF2WV}X|d72w;dL|+1#{xRXD51$bJl>#jth1ChK2^)Ys!z!MFrqzK{=!*T zH=>;>hbdE58t2cw6At4_7PwtDXIC(B`DPlnyu+Q^HbXpI+}0$`_|zX4Cznd#7hXtv zYLi;~!`tUi7VXQ-4}G-cK-R1t7DGW&OaSXl_;u`raaYW7O%&#oP{^al1CXqhIm|7Y zSM#TX4Y&i4(qKaUk3T^<HOAnVh%5eYOZ#=*-ELPt!WkxXs(Uhven?@AB{gGV*<>#w zrBk!K+?i_Su?diwsWE*|0MVV!61<ajv%ZRCrz8Aq>217u+P9js9v~g=-B*(g933{l zYjPj#dsw11QlxFBb`igE^o)XIwguV=xF|rKLolh_Ih>PeUNb3Xjl-4zn?7B-?wVsD zk0sy^VmIaezKJhxWKLCT^ldZPrszsM4ieR-qayh-&a+HC7K>^1FAl$aDtg(WRy~t) zE-fk;9;8KkAr2)iujW!(U;nH}xBV^N2Al#M2+}qgRA#Os`O(NmP07+-T>sOL!LoR* zA(yY<nUnKyNb7X<apeM}^~z>x<urH5xqXP5QGmE6MGL<J_RV=5Z0b9^ov{STdW}lc zGA|~SUleKZ78NPedEkeVd(yImFB!QpMp|B}1E1o2$~IwkBEPv?$L_W9E)N!60oOtA zUVqHSTcb>7`x-n|YlVBO*yS5c31-oA_wIg!ztiO}7}t<pU&+l>lT*2t6A#OrOY$i% zeX?4+jVsoCu20Vw3X|6EW*yx|Pavvq8fR!eGncT|%K7Vq_R3i~`3Nj7!y>k;PIRaR zU;wHEO~$6JWnLAFuH{ncGhn0;a#?<JDLSh!JFZaEE{QTZ|Kw>-nl(j4;|?mcR<-EJ z(@Xro{YL_>hysRY0;IjxURJodIrQVl4MYd&wQNvO0noui^hG9SR1^!#rA`1YT_2o> zpHB2tn&w9pElqi%sA%F>=uS6HQ^QpBmJ9Wdr&jK>HK*T)c&LW8&Q4p<H5Jqqmqs{0 zKelk9h)H2%sFK0ZjDYr1>?b5Bs63pHA>LDm;9o_`1>V&U{=AeW39Z0~<CP}*5{Tv{ zy`fF3j~Z*29hoGHqNc+Z*HpGqx3~A9^UxZLwF6scM#Il<FQo}SHq~-dIeel|Fg<QT zQ+qY=!NHBip|6Cgf5V{c;^d<Gj6UhRN_BQ$RO(rdGl`tCzO2V~!l&F9KO*$!WQg^g z%^Yt<`$niGzE8e7eNCS@w{_VOz+mC2#4(G72K0zET1Dzl7-&~fW-{a;ha>G3dMmDQ z{?P8}ngGMhNU8Wr>W$w(Pd^TgVKZ|dLB~J~l~zDA3o15WlsNv7SoRzB@+F~%9|7S~ z*ZcgJPpM8qXa`fwvT=UV_?(>E8~EAT2JNuE<f4qOti6e<yPi$d_zPYh6!NBn&Wg6q zPV!3vb((@-7?D=~qLeAV*C3<juvd-tcN5hk0qZ{NMV~{9lNa2ga&~5J(PF>fb!ta= znj+D)g4LpFZ1l^73yX`!CQS(m)ww<+h`wSIgy$qQt5%<Gw&CAPW^x1zdd~Vy^2R@Q zz<=lR+vY?F-E$Bf22QfG1vCK}*^0#7+yeLrgas!o3aiY|B`OtGBdv^7Y6K}k;#nKA zqEW^1+{%z6yEz2TkEF=_nc2gfj$(|<z5`&#AKL0U<6jJ5m+jE1%B!991-@DMXcby) z=#GL>Lk7HuBwhz^_NT8R5Oy&zB?<RWDcE%$0U@|*GVF&!>9%R_7_ZPCq-OW5tQQw{ z456~$WyA*Z3rx(7_wXjdU!V|b=a-a}v;@&u=!hHG(-kqkx}5t7*`mKmz1{DLF(buK z@P+GEYVb;rkSE`B&rsh*$Ml1Z4QqQo3OY^LD6G8D4Ej_#>qGRt3d=?({tuT3#AkF! zd1?^PcK8!meK`AwwinTp7bOihn;~3qWuoHzaz$4BRkc>pakA@5hm4l=O-9?*yE-fA zeKtt7v;_xjtTpY9M~vRYA|C0CYMkS^@0H&H73kO)V$E^^piGX!;f(xru=9ld#LvGm z>qFq4#^`zruZ;j43Ff!!LTFQTh~vD6Twqgf-+J=VYoa#%!pFgnicN}rh75Okw!Jrd zoh;%>C8kY@0RUjWs@qcv%UeHqL{JkX>Rl8cH%3;3yZo_}0Z<cFTAp;3x`nW?!6!jm zTT}Rf9nXBC<$;~7lgUwus#```G5-B0+>wS&u}ruIT&+wJhttJ;eI?b<f(2WV3}U<) zK;~13CGrG2v;3rc^Q{f$2?5nJi=8R*S2@fR_7x>C&z}G`0OSJ=B6SspDR>Rkv`1;s z7s&rcC-sW~(3^>g2~TifsB8z5MnM?^6S`QN8ZdTjxnp<UKWG<Gq&KFRd+auo7(yOm z{2EUrs#9is{*xFW`>Bop=Re5DxdrA6zzhMLs0gX16$$+tlf)qb%=JM<B`zjrEuP+J zU*OCic0v$ff2I;ygXrIs$3_6P<Z8T#cvOlq*e6(z-hPn$KNN>y0JtLnTtG>gJ#AG1 zn?nX42>a;?(D*N-#Hk12;bU08eF8G6HtJ6NR;F*BnNM(@$q!xA-#jIsuuWAGLQnhu z4;}c{#{48k1xa-B_b?>@T1Fq=OeKWiuRlUzSV#XS2(6@=j0sFpcJ*%z0i^Q9?&W(S zm;%y&ABCEMfq{mm#~t%0UVQvZie(Cb(lF(~ZQ{Qt`$No0Ro5eg7}f~?E|n+%lGo8e z2FM0s4s$#J*8B;qYaA1B@VD^13@8A}$LjcBe)EI?0F{3e%x@4{AOw;f|ApcR?|(T8 zK*}&M<KmMNnZSlg$;og=GE|YZVIxvNQnu~<Y5f{D>7sut1n`l$@sq|hQwB1Td3FCA z?5NET-0mLLU5&xSO0nz;EH9~qaP&Vg1WzA*vZ4o&UTp?X68moe)*I8P$ViNM<nVhC zJ<Dq*GKw;xKj>i3_`m2VGKspogP8zH>eK6%{lAA=UDXB9mzBg%<JkY(IDj%Hs|Apf z1H1U&&>@2W#_X_FRz@aNHXdigGwpSoK`k~Dv{+lrzYPXJbwSeO5&13;^7z5F{BkeT zXa@yDkdf%P03|3X{lFyh4=YVzOeaAj8ZZUxw%ScvLbHPFNY4KJuVE3bXDo!J0F|T! zzVkouy>m0nrSJ9{k0XM94qi@(umE~mdNn)P%+k{D7C6x|73F<XDwOV_0=>}FyZ64S z2|EC?CqI6DrZix)Zu=WLJ~b8eAFz(HPp}iE($3PyTmw8z(y~%A@9aI}>g)Y8^)SEG zB40r2T4#6;PH|B#58+agE{8*qZPNrTU~KjD?W=%vFf#?^+umWI0>;97i>f(&-f6<I z3=8yAse?mp!{-q3t@wlj+Y|hk#Q^Y^^TH4*8EH|9t;GN-r)@;Z0m~hH<6jfkiK4#m zGNp+pNv?1QTUD=fN6ibBS_92lkSmf*SQ&(?1{>N89l=4z5Ucp=K3AZ8NcsT+W(o^O z`{iGCK6osikn4WF=(Ig{-Zs6LQINCP9x-$KA4|4=q1l!hyesk_5L#;<Xs6LXMWCyl zv{cNhoYE#+XT0AqTs+|y)^c;9xmDe#e+@DGIQ_$e0lQEOB8AhePk9~`=kXRiYj92< zPM!h4ExULh3dTTsB6_KoX?ayQi7M0WnJQ$8b{|8>lNH0~K*a2XB(;fX9A2r`=$2m3 ztl`7jkpYlkNh#@nszVIyyd<Qp=;EOr-BA@6!1zy=c!N#$35<94oHQW=u~s;AR~Dou zCP-r*@<`Y3Eg6q>nke3;NIR>mBlbmasv2josyJ~e71!WoNgFmEyjrT>Eo29~=wD15 z%{DgE0=S*+D=4=JEjjmJXXi^z9l^8kyD!3NZ%AS;<{5UIwMLy<B`%>*|C>t3ixhiP z$rI$~CzX;A(VXZ)MLjDd4$sU2ivj&a*3gOAM2{2Pt$V)4wDjTmaF#JrpJ$p9)thOr zS-ZWvRORF{eg;~KAyO)7tO{?u#PaSA{%w(!v7j%<KqGoE9X{2#*AG}`Q*M^o)edM? zj_0>R99+05rcvkYM$-Wcw_il?@UyS$CQ+)e`(1Trvkqt&SW{b72jLsO4l89yYj+@q z^nX1-lfzemSu610eBMB^StGkuEsJYEgyl4B`#k#)`js^d-wN4048rn@SKhcsh>N5z zxi(W?BzdS`rCHMzYK<<F(A_CnA9wj`zJ$4H!u4Icc)0Fe6Mk8N7dE5iT=>(=NW<wO zP~bEo5iS4^#!jAT(D^qAvCZ^#Sw(f=VR2PhOZ&wlbgQo!=A3tc;aTW>YmNNSM5<Zg zzzdY4iwlXpDD{W;7TxmJ3wI2!X_|G!bPRjtR0wh9rtpjyhqq5L?%r)dL+4ZOvz8^K z!y|5uQ67lo)GXPIC#qg0*3xY5P$rl#h_g}QlOeygWXTN*4L6)Gn)f5LyS@`RP!}b^ z@Mn>BB4;@63;pq{a>O~3PWCJ&OZdb~Xt9`pQs7%F#Rg8eo?(^j$H=&sKfDm=ke1_4 zm_HN$bcpeDqn-9Aw5mBya;U)D>}L@7Z@g0q1bbcYF<PuAI!(_Mu4FgV4@@S6Y~~M4 z?iAG|%!kc14c)>mTq1uaZiA*e!ldtbYpv}Fex}(*{$$4Tu1z<g4;?z}cr~<zA<-Hy zKNU4ILlLxptJVB~>X^*)d9p~_n8Q%^&^6|x_?*~x9FQunf+l3-WqhzQjGBCEH)Hs3 zO~FE{ivyQ~9s6e;MnK7&Jl~_TCqYq4U-RvbEguYk^1o3aW2HQZfZobAvRuYzJT#Xj ztLOMChA+{o`DNB_3wi3V3Z_?kHxEUM71oo<^xqO!P6>v(I%<ohMf%Z>f_0gW-L@$M zgAL~^E4Us{%tGEDoQdq;_l9!~2k~FsS{eMxGxy4hq$|D5AGnP6g(^f@mmoss;l;3E zj;iwr^%bo<QZ~g^@}R&;Xrw9)xZD4J*rfk+lOJUk)|FGczPPT7i;t*2QIjivmNjNx zTf!{yhjB{FIA_#PUdVzCAHtc~)U*FIneYtD=uPimznu7@K^0~k#b#)s%Zzg7An|aH zV!C#T?7PuNj_p=4m;6jbhWZ7D!LdJI`~t5_)=Uw{dQ36>!aPG~>l^_}U^I$X^P9^O zJkXy7Rv-*2!}ybvTMM%e@rGk_d}En}j_w|qHd1lLzUiPoZPNS=Nmoixe=CL+_vyyN zeIuCZy%=~AYjCai16u&`bR}OCDf`)VBYFn9Ww?Ws9w~Lz8LK$etTC(A7l$v8ajf{M zqK<M~%FHqgyr+Jv+;<F-_)Nl>@7?-jYJLW3yzMF%f_(G!CC!Gk%vSG`k3QZ&vb2o3 zfexu^+;e#J9AylxtZN6h8SoY`bJ1<4ZB!oT7omO9mhpk(GTp$-96x1q!2?<B!;6+J z9=Yf4hI8Hnj;Es+P=9-y->k!eH6C|$5`n0~a|qh|_qc|`{{(#sWbVgYqVcsP0y@k? zdrD4#Xv>+Z=>(nO{tV2LUITz~*vXeIG115iB&b9>f$uo)-+Ye}9s$Xw0)=shcCptt zrIJYq3~ZxX&-3?EK6A6Pkj77_-98F1`b}w>P}Ts+eKOP1J!zuXHT31pgTyHhW4+u5 zW+g$WBFtJ^PMqTG(38!iu2Xy`q>o8lf`VmR458fx;B=Ekd@`xQ_<b4DdkzFHaf-1J zK0BuB!2VO?>q|kuYd(@*729XSAjsDT-`1mvcRWbYH`3qNaSs-6+*VNDM_E_4cF9^7 zjefx!lS;zuebP&3LoG2)On;w8c4Z;ZZEH7u7FeXA_QAd(gai9wHbE<a;r#J~H`q%9 zOHrZHY5!7eLPlhwO(zJx-o}b1-G(#Y23)`6F42EKv58<(JpX%xLk+btIYWmp6Tx_; zz2=8FEUX%1$~!SC2;wjtifp4YT_$roajR?^j!k?%fRm&DG8_a{a$${S>2RP|m+61U zKD4o(jmA;_;lwETA<sH9QHgFMnARq$EWblVZ6wd*rd&XdM5@<4Y`){@Wwc^Vb)%}f z-Z|6x+Y^cH=`)&9?cVtuX=c@MmN)A-wY!PyIth3%vrX`!)r(5&a%TN#?^|HSp`G=~ zx%Q<MlC-gz)Oe&#)s`&|l=Y@q8|ZnngAnj)e9y4PlL?WF%2XALl_@dv_=C4~`(-W( z`c*(<!b^aI9l5^usWKOF`rmRKlg;Uy7OoA}tb^^?j4`Lz7kU{^CSs<yXY;@P=qoc- z6ngt6EMfX)=F0CD38hk?+nd3|{mkR8cj@6^Y4Uz5*MEiTlh4Oxs3b4FBN*a#E?5`= z0Z;ItgNhlZcyZc{ydLp^u%fYf1GNKipy;m2JxgEv1A796#38MnZHBqlb#~UqXdD$n zIReU9kPKZUIzH(($^YVPs|9~wB0DfU^z7?TK??`n&wOqb;T)?ELz72D(6R^7u!3tb zgmXn&zIGVFG1nm0!NhYFf<e2U`kiZw)latJ5;|yDiJqAWRlv3TQXt{JnZ!e`WEylF z860b?R}pYFVQ%))KGC695WHn*Xt-&}IsAO7qT2}e(!|uDZg05sW#H|dyf-+%(2Dmu zIL^sjST377&73)}151I&t<VuvVF~`Vc;B|V@_4H?W%`ink=y%tJ<;#(a{tHuMIa*M z2#*0F!hZb<WijcT0X}{skEa9Y9{O|2hdq3!<D0LEY&g8b=|lQyDl!o{!3^x(*VEGY zHP_?FN1OBy%n@TRr-!iAB#x;50w{a^eBY)~6=<i|&=F-TD$?uk*J~;CRu$6ZTw-Tv z`SqTiTmr@PYz!67w0Z1f>1VZ)kCJp2^5oxWb!ENYQH;5rHpESvz_1%HGwVTmEH`|* z$a-jP#JsWh*n|0EXS*r|x5ZbUk<G5_?Qm-U!KK-Cn=PdD#_xiSeE`5r#ZYsxHR6Ik zf?_ULIyx6Qf)PM<Xd!`|uF~Owt4Z>=<1MGqGYjt7Q7zd~4;zYJG2`t&S<<U3(`Ro> zt@uQhka({9V^ddfIG~J{@tQnEk5Ijyju3-1>Jy+tBD6sOx|Kx6W4VO-j`|F0Ru1+e z5B}GtM(O<ASNKuxV~4MGqkSKMdz0_fcgN-SX|bp$Kpac3f1Nr#v0)A}q>J{EhY!$) zQ%-NYJ7aXbZH)C_a7yFMT9IKQD>OzEoW_dKHD^<h1gO!Q!rBTOe#W#QL+&zM9;1+O zk5KJ$rmQt7%W$CQIW78j3Hi<}Qxzygz^EuWy-UGVL1#xzR@=p-y&lwMLsAJ&6gg#J zu$Zk148Q`D6)Frp+(|IjccQTwN3D+iN^W#Vq9!?|N%85-wf`k@ZO{L6VDQ&WTH>w8 z<)KGrq)*Bn$>SZy?|5yI;g2ojXo_i4u5{D=9ab&=gVS`T)`M%gq0omq!qe|5;oiQj z$K{s6#_S3RQdt*WWRiFff8dIq+}_te+}<bJ_yzJ5o~_GZ1Ph>O_lgLj3Tr{e<hP+r z&1Pu;;;hT8)z={2d>xSe_G$4r3(O`_9yReS^!@J!lj+uiGo`<afkO?Q3P;2Z`ix|f z=1yv(x-B|4u{gm?KAXCWcRwmhA5u+6K*E$tT#m_2-&h>ChbUh8AIcC7rtqe4*)dyP zd}v{_IMMp8{m!i~5n<t=XN#h`-7zWI$eMeemiC8Kt1HVY#rugdE*{n$?TmY__V2n1 z&z%r*L+n==Knet3QQ#>4XNAzk&@f%Z-ro+5<YU020lPDiuL5e=@0+YlK0}Bal_3M* zh<2(969$TvGluG4xB?K>lXP0B0Exj!*)8bw@b%ZD4Bt3crLf#SMFJaqLH1%R&Tw8s zW&*&-B2I?$C38XMUCv5&jx;c-q-+gk)`uSytRJU35Uln%BpW5S`)E^1y#6$EKz9A< zZ2GmrLu%?_eX~3w!mC}Nk4e{DnzFHqg;_v(crKG54>C3Ikts5tl3?)Gt8+xDnCc^^ zI{|!VQ=Xo(-y6;7Y*>%qx4l$(V3nJ|_^C<EGV!tHOY6s<Xf@>6>(DRAupZfb-9TTA z?#cY<`h-JFM+w*)or=LOcdD|Rk!HNOQ-|1!GQ)Y*t%$QimBn9Yw&60~@Q|BtUZr#N z_k2Z5W_X-<*W*N`^I!u<iVQtAQPTJ(p+?Wc-K1w>LkMLyOL@-uZoN9How9XPhGaN} zGlA>g>|rmV<8~{EB#Aa5xP;)AYv<F|<L*uzIj!IFziiz-_IJsAS=(d8!pq+XH6eJr z+mW9ba!_O(x;=VZmwTD(e7mupeQ3&yH*ETSdrq4TxKzj-9w9E|B?7|9TFe`zWf^r* z+5g~etofXJCnW&_f#46K%?rSL8e6j3a=FGos!cE68AQIALGU0b-D`Lm|C5gb$D|f! z_Y0lYyqo)d`B6<elGu6Iwj4S8#utxQYV`3S{#YBM9(x;(l=^tN=kh!$5bdj`XxakQ zNZT6@yq(%(dxfbHIX&^a%K^uW*3BT~fWa|g2%A+mJ8EZ;rajLyuG4-p+b5S8wYlji zdsx=Il|dgfkVGHP`;o)0#d$JwuRZ&uzCQ+SO`Vu>Dzs?ManIvni|}!6X{vbPhUHGm z*afz>4VvRw?=l?s*C%xW+<@{>2$*_X#oi>G%=$Y@DUeMeqSB$oJZ(KBN51FVl5Ndn zlo4S57lx@G&%(kxg)(F<=~sMG?TIDmlmO+kVJ6pMvx{TBz}+0ieb~FvSev>IUD7&2 z-?u?DP!{u(@*Z(Em=bTAe27%-dbjzUz7VFCu`fF5LEZfDle6RQdpuLhbr}qX2*OCb zE)r3e8G{6I#22Xr{eqW4+oFy&5eKLY7YIl)@m~5D>nhMu4Gj4Lkh6>P-Y$bL)wfMn zecKyjJN*VMDzt{p1qWKC?#my!aOEz`(hlW!+71mipUFIT2!}c3`QPY(cFSM_lv4l& zfY+&g%uo$a@|B`VgK#Z2QP~mx%sK;hEfUCbCiGS%<>NY9r5YvE>);Cav-yZ$**PG! ze(TN*_<6Ebx>|iVZ?XF87-;Wssxg`bULs>r)JH}i55%Yu)f^q^LkbkGERMxL5jqI+ zc<SuH<o5DQ!{gOfsY0Wni>Uprm|D*+%o00SY$@rho-KeEqoCd41?i)2WUjPXW5m3E zU27y5IrB@&nlqT;=RyeW;8<RJgg*bLCJ?WfYF~?<ZmI~afs6pV*a`n$T>R%sDnl~T z!1Ixzn-9ZRKnL=?&o8a54h%axmwWtI2E!{{Js9xsnuQ)eD=!`Xd8+)cpmXxp))Z4w zrK&6ti8^Acz=uZ}%OGG?7*hYSZy(+8)$c5;DQ4Vkyd6tJO$~TK4%b{iFUmfojujtO z1pIu*w-}dnr6C=O^ZAc<{vs}_*>yM)8LB~Ps8^?a$<i|vXjX<*;g@ja9pCv__G?Py zT@trmzt`YQE|JWQPo^AV5KoqTC=h_)_4dwjHdro5+&Pwt@(akyEes4csKtNAp1peA z<U*fuuA@JfnRg*NO4Qo<|A?TKE^SSt#G~-Ia%ECDehL7<*J#q!?rProGnc<FvKLvx z6#N8*6Y~%drXB^0`9FJs?!NGrYVze~kG*u_mGx_W#7RmJsfaEgv^->F5#^RAQ*sU# zFxzd5le_*B{boZcmt5AMHzh7K6$appb9ehW@98lAV~uc(MiR>Nhm`qCy#LAj0G^30 z6`G;o*$mG9L}nf$jzcm%@7?5;M%J*<X^BeczF2p(u_pKK{^7>{TP}Ky6NZDz;%>Q7 zz~BB^%6JF+Ay1l^_si9CyZ7;NU`mTuuzN(@eWp(OTTRHP7a`u#*g6KwE@%yxWI!_P z4@W3i_L4(LXD*|&5jZN$>LckC3PD2f0hp<q(*e#a?me4Tb$j(Kd)v$V^#g>yX1kpR z|5^lM1Jnn1r){RcQar1#?3WP!wkR2sEiqAE{kyO>Wva7TQ$MKa3h2Ina<&_1RQ+Py z9}B$SYc+GSw!mwN!|fs0Tjs}zBG)8#9@5=cPB(XIrY!SWNNwe>SiDI6sbHH%q<x>Y zg8tr2^zwRlh1fkpZ!IcHaU8v`{!{`Z;n_d&{YyGnRC&7ecL4%iBHHu*sZb~D*tPf@ zo2u|}<JA&XNFU1lMn@-WhN7#A-ut`XUe~5w%`TeXdpF+H7p42xlZT&(dN90N`(L>P z5ILNCKEk)RT)t5{(8tdw=ejC7$A3L5fO8^t&PE!2x#e`)hf?k#goAqjPC=UNexT_# z@SP?T4zjo)!>7tf;7N^?zlFpEJCP&p{&?@CZH7l^W@<`LU(9hc7phePi{H~TIF*}@ z*_Ez0#)?ARe#;Q|H7unS8u||*K~Kev>vz=&!?0whYZ}of9|zH48wCY89h(b0!6-o> zDt}QCb@jP%7F(Ir`WCZC;idS!yNAG&WB(0Iw0<fQCFy%qgd}UeUJ@W}^v?!YV{%|H z{2j7FVU$rk!Ddbc+V1d}@O~Zq+`^3^ez#>e-`QGR>D0vtW@Ucv?>-IHyF3yQ>h09o zh!DPfe+BnQZuAA%6F4ybZ>(4QzDjAH?SY=CN;_HE5dSQyB4Fd9EqB)9jq7;8<I&De z1Indo&1_v{MMg*h(!YqmeUfjW!G5U9@7@4K+)v^cS*vq5u4@p1B&*nOhg=?{G92)@ z7#s%nbD<{P8a~bxH_Co_xIdP4dbm3dBPVgQlXGknt~<XzSo`R~0sUv*_a9aFn(dMf zF_YT-iU`~>;J-&Yf$cFk-?;(qBN{9Yq9KJgA3+Yi-s861A6%)-h5emn`-@$)r8nKL zNdK<-F+b6Vi8*4$tgf}Bs-W(&$aOXi*LvUjsWL|z?Cz#Le(@eihi_vETfhM6PsHai zJ^-2}0H*qH4&_LvJwV4m2SdH*LktMZ*_;e2m~Fa?4B@J$&Uaez#Jobn{p)Pv8(6g1 zllnV9r%VG4T=Olv;%94Xy}dk?9Uj2zr4sG!@kh}^#vh0KJ=yiqLRVFnKA9IBx?DPV zWq0g25J}Yrc>bB+ZQI`u{`>}r5&ubp%}5k~X43jS#Wzn%Xl&CcxCGs8e89l_d74%u zY2gAG&^)wld}w?@G=R49(yoez9@^huQRW89Cm}@sxj>Hwbh&!4+A%hr;mhCN0mC`~ z=*SRb7^3U`4eIF{?)!66&VMScu|U5D%$~4LMT)Yqr#kH7a~!>Ys+q5Vd&K(L_?ht} z6m3uKALQHu!v3ktZ9G+J|Dzh*GaYZ^=!lc_E?H)gQ+I%p8)#wFCj3YB=)X#9Kr!sQ zNSE=qHruCBZzQmvZX*3vz)S-DXYKc$xp)ZXUu}^7yTJp{218Nt*(?Q^7wP{{_LgB) zb<N|jlyr9~NJ@in=#q{@D&5^6Al+TkedrQNK{};dx=XsdLwGlL`1t=l&zJYQ_T>jT zd+k}%Gi%LEk0WD2N{Bu=RMJxg`~O%FIK0@PrW6l>O$>NyH}QX4734gf<WaF=vno*j zw0}Cb`@anuaH^#~e*CDe&K<d9Ur!#2`N~%eXpQk-of-gi#aIiYpdl89{;!&10AgTT zkdji^FKUZQR#ryI?}Y#R*f5RtdITNI4*P$B0w6E+Q)r(k^p7XxJvFQdMt#l&)YW#0 z>aVwxfCvuI9qJnMoARm(^QxL^vP(5vdw0|q78s?>f(quwnxM%P-cK*EZX@vAku%rI zQ0UGi@)Cw?OeE#8=pikpK1+0Pe+k@$G({0O_lI40LRXbj8U>3I?)81~-pb6n=9(6Q zbjvxE=JeZSOP!kn1;PAvp(%U9%6qTXIN`_EcYIdC66#!sw+?mudv~?dqfH%s4lm)* z%D8e>bvFjKKD_7GQfGZ(E_bt@uz1;wf2fgRtgd4%SdljW*oj*$B_<~J;RE6i&JWmU z*m0q-C0GiLAi{F~+slUOr3WD=kEW~XpJ@$~SAkk$)bQ5goVxV2t->k8`AepIdwPL> zpuTDm2s_P-0+XB6TEU;g!<*=X_~BtJOblO!By@2D`z%eq022c<TX0Lj(zp2HgV_@0 z=!<uUskPIsw}umy1N?>#{q76y6<rxu?SUaAtMxe~QDz-OwhPZ&`?I^C<>)76m>9Qg zZnP92YSp{P&#~;hp)IDVZ&&39@$fl>XXCb7&ds$yn9LY(ILMHqS&QSVLb%3kUpZFt zJ?;km?APf%N)}dC{c^xoXRN%}d6uKCs>cVp2&pJ<&Td#rm}(4H7;oRyfPfYHM{uhL z?T6J`m$gs@==sd>^__EM%U&?cC{icA8cetq1-R1H)m2fE_37x+IE-8E0Cu7bEFRvv z+4{V-l9!8v@ij-^@)@*;U>=gOB0P?M_|Y?{xd<lUIC1K%`T2k?4^xoP3!9c-11q_W zHD2B~PQ~e)q7Lnd4`OzuU57&C6>lh--Vno@={s1<T|n{HV+IW$B4{sp#YKF3DZ)0@ zRM|MFH!ReX?<R!CKZJXvCjYz|DCh+Bf8`g#%T4QGnLfL_^m?3(g8I~*poOIXDRElE zJ!{QDtP2OZ9uAD?k3#Q<^W8JqCh*sq!$s;<e8$yu;;bUn*0O%v<2cJ&)^g+L`ivm{ z(*_4A{)T!)^lMz(d4BP-c3YZ9JQv2L!dS7sa0lNRG9hG$WpyZ>Y-3Ci%fsuVPZsuQ z47c`#P{hVF8SD(=+?>}|ctKrwWoA^xh2Z}Fek9~@;9`jwacOe>d*ScaRiTbS<zHw5 zUur)tBq6==4sP6wYxgg|yV1QmN0(###`+?+yq+!5nGlBr>jfl3S#6r>CEvn(T@1|i z;lRzUqnGJAll(;^{R9ogmerHhsGgfpV%pWS51q{_oN^1q7Kfc$C+DDGhuZg`bF&q4 zj02GOW&Q_LP!a+mN*KLWqG={|3lEKA?>m<U6;5L-jLmj>b8Hc9;i6eqBM{s4Ep6_K zQ~NSAS4Gx`F(U*H?=Kn7Odh)KG9OpKOD39Uz_iobM4q3z%j6J0qv3CR7B)Vns?&q0 zfkfkzpCu%|!-T!wUVrmrDV^PM8H}(h{T3rhgJ{~$nekcEDk2pnSE<smWZlVSX?AG~ z9Y4ow$`Ja*hn2p-&Fw<sUOBI8Oab2GgqBEorN&5}=uCpU)YR&1(d;8spyk_^{b)f_ znXSq851CIZSc9a|n>^w_!-F^>5;D-Ih32f|ALH@YJA)*WUpm_Dr&kJuA5|GPpq;so zve7nk6dYkL;oC2QphivJFgxn0hH6JNeKUeZlWXC<-+LDIf)1k)14ZjY;1-n%+Ui;~ zG^gmHCo0l&oKrfAWpji5qOE(C=^9#ouv!(E+=y2P))2z27LKG4QuagKoKnoMz+=hn z<4j~bOgThBa`1h=Hu~Z#Dy`TEPhbFi*ZWf`?m+NcQX9qr=#E`Cn><<vgu}pE*;GC| zlSY(rJFD*>3evv4X5UWTMb-<V){R@BEwo(CF!#Ujsydp?LR8s8w1|7JpKU;`N)N?3 zN!^_Y3#6G);F!?_`=$raA34fN2CY6r`&Mz>x@9(JDsY~QvL&eLx_{hqKgZ*r-Hjn1 z=e-@Xyw@&|onin^;i<e=Rk=atSOTZxntEQJS-)twAb21f$X|BV(eZ}+Uyf0p&;;im z_7PDiJNJ2wEn)T$*I46e2-Sl|6G*6PL)I=dJ<kfM<YAc6uu4Ac?w4z}ZVqpaQ{NWb zIxIgo4mK+I+B__WfV9c9VeB^cZ26KF^f_+f7j0GPO{CTC_&461?_5@`4l#fh1G!7G z@s42(CA~*BRqw2+iY49qHn)QvA9zz4T*o8~F8XZT#KJ^dpaLQfTvtqa=BlfP-D?!W z+xLkrmh^Z63qsZ3JY)IhXwxdx$kz`^-d<a+PVWWugvr^r@=hkDrNDO;AEBv^jCG~E z8_pP))8%`S+Xa|!btL72PH&VXkn+s!rIX#E_563Ks@f>POY@Ewe7w4_o~(i@cx?1L zfh4%)19bdSJmx3Ktvc1U$0JQMp&G3G4gGdbC@i`}x|_>3B2>dpLj%)1=C|Mi%+ljY zI3hI0(H|IfU$#I;zXn*!g7W$(!fgkYgX-6Z;Cn{xnFiRvSebISf>PvHO!L1iXj`u7 z8VU=+(lRp0NJtgSM%8oQl8+KZzJIDhoM*#xN6J;t_{Ew*;G$KnE-POD{eJsM?x8Y# z=GmaCgu_7*enG`?^;POn<JH09V}@%sO@;XszBjXmu9n%Ilb5um`*qz=L2%9M3Ey)g zm}>Evz2S%Cw~Uv8!Ft}8);(}|UPM>sN$esh^eh6vIn!<5JXS7HqfO8=Y|Vc>(C5kC z%9}@_MCa!;qIq=4Ut@a&y2X~;oTSc{PQ|oB)E8=j8IF`IOfm{XDN$;XiIeWaX>QL9 zctg#@K`_;HF;vze@udJJ$tbUZrCb;f!R%#df@CIwp+H~LKD#FPc%P1-??%-H!_-?p zGd0Nwmu!O%3p$U0r9wXS{Jst|<kwm{{3Yp<SR6UAu7pH-U$=p}R%Wn|2$j>xDO0pQ zuPLc?pOH6Su4z4w(Y%R12X{vD`eF<Q-dAVSj1BF|O{#nvB)m4}9itT;eFvKGU(C=c zvppt>#jqvXs?rCPXSX7i348Awk)sR?amNh{^FMMWC3oBjvYz2rg-UfMd|zXOSK7a! zVjM2Hr6`8Bk!1H)&gr8tcF$n5LMI`j20wFuRi46FDf{{R*Os4Y6K~MoBZo1!gfRh? zU#uTO`@Rqw8g|dls@qZ57~^$XEw7g5CKw**%SHR#Vb~E{14YgR4R4Z<4!o*YlSFt% zEQd5dBL}u&1x19vW$s?O1}R|@#>uycSRM^H>(Rz2Y@qGA>75BYm_GjiqdQS;#IJdc zBu(7d@mhN#w+cLK$34mCBCgtAUe?jm<ypzJ^89`~u#0B8+*SErr}h|Q|3`}y(e!OI zr$c>pX~cm*=TB4Tm|nKwjz9(<5=-2cS42k}3wgQ}>UUvp=ZUF3zHfnyS!9|xm@{oC z)7ngOmzsOGUlV|F?5^qC`y+pWdufaZxFy&Lo%nb|jURr57K%52KmmE<*wfYD?MC@- zVtRJ3+I=`MkUTbt!Z~9>|3Ea+w=bXp65qx462MlUWJF7(zr?;RQgh@PyD-tW)2N0o z#Oxv}!zlkELU4j$&I@@PUMt{F>*j(t2<;rpr-7jmv54V(g2S-N7&$Sv;XNd1yt6ty z5e5uA#YkQKNDRBrToIn?oC8jV%D?<<G-f1A?SGgt4-8Lz{^+bKuH4p+_e?`?CJssP zhurhr_}btbP4+0V?mi)AGzO2EE%*M6Un<uIYv03#I1u90nRqOxcN!ToX5N>#yMTC+ zqbLe-Wxh!1zOo8GtC4t-kF<u^*gGQ8klML|Gsokot9KjnWd@%A2Q#^(C2=ZWjg=;I zhf`a&{^?}aL2AmTq}!OpCd8_5LTb=n!)m`6FFr<kO+$_oRD}pQR8eqYuf?GIpRREU z2_kqnELAHLoOP%!2Cp4eyf>Z_<538h^|XDb7MSdX9)Ood)GZrFS!xn`g7Wg%m>6lq zR$0$>B<5Ka7>fQ?5TTi{7>46QJf`m(^PHhzg6npXuW#;zBD%XclxoESC*=gjY?`HN zlqnMt5$I<JrRPY==2T&c*q8U=y_Z`2>bB#p=gcenR7w1eyyDy8Z*FeEgXrOTp9Ivi zS)z?*uJ%O-?h~*HtBAwn=}!)MX_U;+N$2~IP$){0^<RK^No8-_*F2!`Mp@AVn<Zn( z8Pht6-c=p9$q2Y&f^^p;3KWmpbLtix@F(MvC8(e$$`7#pS67FplnPza@nmG6&!?KG zoD|RG1{J%tY6YpPGJJW2O{nOac-K>;GwaBIl-Mxnz@Nmh4v&g{LDHDa#`kRj%bL`8 zsx{ig=%wnqh^y?qN7miErvuvUDavGr!X;S5IsY(v-H^TPV1{1<@D?LV{j=<zsQLAK ztYl5wr8WPYKErCnW?K3Vr}pfnEyk^|Syo+~{vffG4^<i%tQt|4+>0|KPkke;4p!b% z{uF>+kbp=AEeK6|$_QBLuw1W9ZSb<dM?;8E#-HiikS)6ktET1$`L4^fRE_4@#FudB zckoV~=Uewnbx#D-rK=$m8>FTvDy?Ia%zH3!!McA#|B~~;Izbwyp%=wk&3x^l6+N_L z__`qM`70i3-G}VjoH;%S@e5(?X08DU`>LbpNRS;Op4m<bs08UC7q_^t%~Zm`sPSWG zyU=0FPMafpGBs*~2WK07Fr|HWY$(I5p?JsFHc1XLu^s`O%bdZ+eVW(Wdx&aF@3N@$ zMcChDhhE9#noMB#<+Ay@4xz7oZDTPp+iV4W6C*OHihaAW2ihLhJWH7A8fp}JUW8Uu zeIOUg^-@?x@)<I!QHv>~jToI~O=RQ+)+bXo^gtEM$YunUCF;9s#7~jbLMmDbUUPJO z@nat7ix!y1xNXJm<t9@aWy+(T!fKP!+rAC>XB1UrmP>QL&U9>GnYC-{`9JBFYkGV( zJDsVG(uwC+=Uq`ak~5uk!`<C3)=wxJbI^L;QwUz@8SIRI1r_|{;QQJ}wYs=v3cil8 z+G?OFNv<BrqJ1&(J?o-%rX;+kP@zYO6Yu3^8&t)H4rULj;+4+k#{jc~p?MRn&;B#! zm7?SbUz7%Uwen_xK4M=I%J^l<$Ac1dDi$PymMR^s7*X>uKR?^>WDT==EqfD+YZ*p8 z*kUTNFP{&$Z05GE{f5$l5RZt%xc#%M>~h+RLn?^nvv@Vrsr!D1q4@XoiGu#BO1pKH z)~^LiH)BF2U!!&x#PX`j9j?M-j?%PD%mp|#pGZ~u)YQ4s7>h_j29vN(7~^oUB<sa0 z11);|-V8;mO(NKI2d3aCV4o_>I0m+-qG<LpxDbVFGef@~vl46TGCpV!JINZIEmW0y zen7{^{@qnEPLGkby~+K<HB-D225B2y>@WZA?~-R>RM5w&Kh`<6kobn)H+=OXJ4evG zOo+4i6rNs?;#obrR|8-hxwjISA6h;@L}5AUM<x4FTk$_FEJ;AHqcB(sgiqHzjevVj z2%H}2hWLuv)OZ|mMl=&mc^9ppe1A=RDhXxf^s9=+M}5AVVg30#>nL^302Q*ZWCFwV zIn9v3yh6W{jDxU)wQE<J*M>?mPeDw-TrZ9loDZcMaV>*}IK2us`1ueVBFWpYD7tm8 zIQwA72l}<Ksu_^F3g;cVHd>$cHflQC&ff~i2VInHCrQ<dT}tivW#tWzvPI?S=Bt&g zkG5YMVU2rDHhn|M4Ck=5ovk@@*U1Aq-o$K9jNxc4G|@+AKiiTCHJ-B)ggasCm{oDw z7G*i3rJzvvfDHQ8+R#8cY7tU!%x}W={z9;k)kN`T;Q`}c2!7Maz)Ez+sA99QFPzki z{Supoyf4Sd^emVrIDq@Z!o>%Dy{}v|32g(^QBRm9cRg>g=9(ZRrry)WD^coZ%qXd% zi)+sIKw#J5ZLg(l;#2+i`Ze8~H>})}-}Rwwa>3ggZ9&pJ#M(SR!y>(-qYe|_|EzkE zSlcdZDYK~Nb@r~(wyQv5s-R8@60MEA)h94N)(7AftV!$E6${gBypzn}Z&*5%Q@W*e z1qpd0EJ>K9s9a5}RiQ*svOx8mc&M?OdZ|}dMi5uK)7IONGCaO=iP1HdU9+Q*k1gzV zW}=JrC4{9J29%3udLeL?FH!atKHxMSik_dhfT&WMSQFYBBdb>JDq7MlJvwjLS@E>& z_}o0=EMHU>lFwZ<;hujVA8vc>u+kN3em+Xjml1Ky+FB}-EYee^DH&&RbIKMN(1egD zIiMSGg5-6bbI+r!c`B7NI_tP2w2}?=BRrL@!VQ|&jdCGN2E(TSPqml~70KhFsJ98W zR+6)pWdV8W*-Ci_qZ3Mz!RfY`5?Nr6boqP$MPdq^QA!K+dS8EaXnHwNs9hyJlf%bQ zEd%7mw6r4TI`!!>_@DZ9+fi7*4ffbW3LFy6s?aO&+r429)@r0kKPNAyOxf5gO+5jc zdDd@nrC5IV^2s?gwhp5QR-A<=no{~pOZ?!hAPLK&k@w}nYwI^L?S(LY5C=65rrxk# zXy-$SG$SNp`6VoK!DdWGd$aaSxEbkwzxqUtHkeq~&6Zr5*)81CQIvICIdv8$AWWZy z(tVv}T4mYd4`AsNTSHVqY_QOI#TYD#nti$VUq;#4&mfIbyi5s<ujpUnw5EMK3P*)L z$J^6EoLk-0_KjG4jrp>$>mJ#YQoS|Y6$z(&J&#&TZEWaNQ7*ONCJD}h&rJ*KGJFL( zTdI0bj7%)`Krc|Jp>KqGUYw&2N7p;N{?RUp1P$j!>ch<o9#oH|xR$za?b1HB;RB)w z^oYtqjtSp9cI4jgSB6ECcCC+wSJGI%B-vn@tut!FDzfTMSQb^tz3-v#EihJBD#Dv# znRJPq6ZPDrEI>eHAcAt9pk7!_Gs0m-2+*ojGH@>YivO&Z7EirG`O77qYN*GB1ihvt zK?>@RWaBV$b_+&Yubg;}TqdBTPi!W|6JA58p@*s@4(~^aU_m)J>m_;0rV{KxNwfKE zSt!hz4tJ-GeD3E&nBu$mj4W<h3vi#nHSgs<&b~agIK8vfgzQp1rMd>SBm3Q~)rYgT zOIUqGgG+zVMdMDYv2zra$YB`nz_KH=2Eya)%lbv~u6>qyeimX*wLXfy7=9WVPX906 zRwv_w<y_>N!=IQ&yGx`O@f)tRE#NEvr2^)4&Jz`Wz4kp&iE5$Smq!Y3Iw^TRFT=Et zQ;V9A@bW|o^XD=2X^GK1%n1{u&wq2VS1ekD*)OBSw6_V|5DURLB|7sGKeNCdk#@Y$ zF1{$D2<*X}kR_+tb`h;ixQck+?#!6Tr!AG-BdH4ctZQ<;S82{0)|ZRVxMaZllLfc8 zX=9<XFq+=)`AU(3ImPzRVtw4#p=K$hK)#)w9s}kr^e)BEjJZyBsRF;Z#cdwAID(XZ zpK!EBxXc2Y>CUx>=FZK^DPHVM$mPC-8Cv3J+vA15XaG{VYOTsIv8(N)JSqZa3s^ku zlaZy9sAe_97ApKeQk9^tgt>rUkrupnPg3y)wUz}DM+gf3h}ZaILSQz27b)%v&)Q5L zg|2%2o+-s%!-b*vT2|TTR0!uUWNqyfFELotBN8OqqRGwtrP~ZE`e!vGepR7;>%HHU zzY3;wPxos#RwGu!>(PfL_fM5w&T$QAl26}5<$l;c)unjv$hm84VBxNRLSNYv_MZ5A zDoB4B?aYhnxeJo#(5$1sy*YDo0-v-sUksw*iOq$i`R?HtCdmbP5O<(Q`VgjSKHket z%^qxe;sFPPZRJhGuTS)>GO9czmpX4yLr6*0Z*x^86ERE^q@u>2EsgSCAYO{IX+nVQ zG}6okqj;%12OV>Td>QV@`}T9E1M6m3Gn93~>2|3UxTJc1ABv9m5Zou~WQJW42iNr7 zMKI89GNyeE!y?uA685c+#-9E4;_l^(!tcS2mY$bhufFCC<T>26Bium=gLdYiwYUIV zy`{uzpW#l08)uq}GC#ge8`RfrEa8iZ#AxL3O+q}$R}&GqvCn6~tAkoR8HtfPiM97C z3MhIrl`{y7{+@#gWVID<Q+uXAIVRB;1~`ueiL1Uf%{{ip`1KOxVJdJ&bk;?>-i3+z zlVDJ6Rdzu->iJuFr=@tSLH$y2Hqe1WD(u=kTu0Xhfduca(w33QE!`UG)6lB87yI2l z;vT`6!r;E-4<3I9lW?JmEt$=r$G(rjL%apyuZh=VMomT^OlkO#S(+K3eMbPB1KI37 zEqkV5!B1zBh*E*kT5|e>U=(~t#f|AsMS0icU~`_Z(j;t5NO4Yw7h5KNR%}ESHD!%H zM`%RI<qa3KjZDFk@U7L?hJ~{FxD+c(FaJ>NF4_|VxGM?AhL#WO=5qE+6ge{(W*POq zgZWH87+iCsE}6mX9q2WARg5bbgweC=PRUx-Wor5uuBYTt;=OoFm}y1N9Kz6cHeDQ6 z@f9u<?*+W#fRce1a&OV5)wLa3xsM}hf{hoIejU}M&nnjn2j1GdQp#ZqLJ)pXdS(2v zpn0w#mF$MST)z+BS`|!sx0nS%a1osA*Qp%MvOS<(`Vdm5Pqfc1LZLP!T9G!)iD>bR zG}ZkBMp6aj7dv=&3ssY!&8!tsHyyOKkOvbN^6f%5T|b?W9*e2Zs)+-F*7@$TpU#NK z-=_w;3C4?rnNq$ch(-O~78&@mT?8Z6NaC`zORVvY5k+OtN*wQ*K8e~vv--j$#!#I8 zblJ-Ih;~Yy%<hY(`;X(kotuh55b}W|gf281OAzUR)e#kBDAb66d2BN_9@Sz{QhV-Z z{~U^U`t807bcKD=pk@r}nF1`r+HwmuDU}Ckd^gxJzddr&E-=!WXzzz$za8XChJ#dR zn?@Tsb&F+6+rF(y0tOgqbi^0i7{GY+T9)1w=Rk8eHsgEUuOqW$yVJO%MPX%5(vcqp zT0K_&XiU>hANjs{YE{+dzpfSkK8n>S2}s+Tne<Qf^GQ?PR+p8nxYm1*OFwT%rejVJ zf~OJN7b?c@@lL#gD$*5b6EQJq`xwgRTuv<r7}~n)Qu;j4AMKoPH$M>u#+a+<V5CZ( z7`3=fF14@0T9|i(fdONUAY{wc(be0NY=zP;XY`_EqxZ|rcKR-P`C(Owe3r(^@(^pT zsrGjzYDOu>UPR&fGI14MgNLdj9$B)zbPXYYShQ+OY|ZDfLvCYP{s;JbKg|xe$99Z! zBUAdPMkW_VCYHvh77Qj+Mn|5nR9y-AfDd@O%ZFgO(oe-s%xo_YhW#*w+H?}XCcSE% znP?)pZP481x<a)+;P-!?n{&tNDNkA}Xegq5HRkhv;M<!j4v3=T-s@m}ZTO@Ur}Qd2 z`!vWL?_4TxiEu9YjDtaBetvOt{@fwFsr=WULGs?(o;_K#PJ^~c_%Zt*_Ue-`UpP8M zv40EevK>WW&|W$aH5yW9-KjGEByJhGaw{pqZmV(h2}||e&&BbZxqSwgz^r{Q%;ziB z8=x}l?XiIuIjbF&P9HL!w3i_xl6$#Bhugg7TthvQhki;Wr}*}(iW|IP7>Sh=?j>5g z_m-Z)+-pcfnHIXJcW04vMx!M{C<us!QQv`{6p^Z%m(yX}Pkp&4_28lSXM)+d3(7xj z23M&&ex76Vv>Y5?+Q3fh3qZJGa4Go}{aqR;Bm9pW0hFl`5Y$*bKaYGWfK#CSj^3sI z&GqW_aC9Cow<{d?gK5`CN*(T){Oy4`u`}5+)P24ZcUHmEU#}Ct{Vav^n~wS34^;U6 z2I=Y0T2axE>1i=yD4yyRIj1a|Ba*Pn<m)$&oY6HJ)-OqgY06xy$xGd(tzCQ0$$Y7R zBF#SmlF{%s_z4^<m*_wT9X2A?{>bEOu-=<KvVPcat`&4SIAGKzZAn#`tw)fJ7$VP5 zEpu_xZAqcm+%Uw1*4?4-!-#2oDmVRO5<{cvXtLMe*M5Yci=Wy?U!=q(0|l36z$tf0 z(JjfF-{pUcz?C(?x*r3Bk-)9Fbz_dY4@uwLK3*MY>K-vh-(Aumud!JsRA_J3DAxCT zD$JIFj2n@w;q7Lh%g1Z$S(y-`Ko964G6)%9gb0gR;KfP`BT-V8z)~sYbV^UJq$!)G zpNa3!*zPCWE79Sm+?Z|n0SyeB?(lh?n&kHp5q*6g5riP??%1ez!p~rZfG4XE_>b%1 z^Z+rkXbx!L^6q3t?pLyB&`(eF5o{K?aue<qImYozp!>gvZH~Smg3q(32L~6*4EwP@ z?kfUprTDYCyu!J&eLN>RqWmap%lds2UtrqHU+aGd{zz%5Lxu$n^@!;Ms;G9kPJQLO zvsB(?f?9m3CB=&5=j%fzMC={Uck{s(w$Yw)c^vlRb6BD8QqSf(y$>k?Q&fU^+z4_V zc{~iGNi@HMF3iN&DY-5zs<4g4UvWmi+&46C_53j8o~iPJd)i@O<Dx}^Ax2edXFeTy zofnRd{)Ku&W!`z<?oUrm2uY!qh#;e8gU5Im>%9C*B)?-z-uZ<C_iV_gs|5P_DdTUj zx@Ugh&xJVN6BNlM@L$<m+2t7$BhJT4EFXP(n<10|>^%?s$DRPtLSZwe7ig}~Z&s25 zUS_Z)hqM@7Z2tH<i78DGp4XNSH%6^mECn$W(>WV@Up&tBU_8s*DW9LIRr7#jJ9ln* zD;4*S`{XJMY;}KjNUz&AJb$!4cU^e-!?$Q}RTVA8mf-q54B8Vu$;kge`uC%`b+4aP zi!wBXN|ScGq8*|B37WbZ`qBwqmV4D`m~Uq0HNNuPrg6FG9R(9FyNHi+q$VnEgmO%c zHel~=*)8T*sLe4uRIaXd1z7|<Q@`(bP9)7d;`pXSf3s1enONYyPO-9&NS2tnnUAwS z%VgFnRrTd`oRd!HZgI|Y+TOVWm}H5<y!vi?KX`B1v--Ze)YNu{&QvtAf55X9Q5}mI zMCaP&JZ&AcLjS}ul+@3xV>y^H{$j%QaFBZCZS-n>4{&M-PJK&WpZyVAGC?1edZFGd z%Pki{_K`{bSM^N>NU;P(yRCD`yr{L?&z30vo1<Sy3`^xt=1gTr6{|YAwDRi*lcM@T zaO<@wWPge`R$5xuW=P65<_D+&BgI6G{ImO2NLWR?x5&{C0)Ef(S|$Z}W1B;qb!dRU zKLQN@;6S5~iD2|eXvr*Y3kRI-93S!m)?T_gMzw^^sx9x1v}m4;kNwseKB`O}kG^Zu zkzvOE`umc0!knq?(9Y6_J4#GxQwH{lX+ai(vFF2s0sfyY(UgDAC2GD<?~E+<)*#TD zwfzBy;8C3_BMiT*kXFpGcaf<wHA@W<?P2DeK$>@YuR>}|_>MAT=deIer|M|+q&X*I z@-uw9U{_E?{jvE4B=0+&(;Kd=3L;kIGUc#Ogj*fYtIV$5zKWrs=2Uu5vbks@v#^u% zDonf`5*H8g|N1!J{R2^*mGZH~m=2qLw*Sp2q-|+@;>0;ix|n8?M)RVd%$uWK(<)NF zii2o6(#izPk4;D}a9;l+axQ0l`pb#_!Sqks3mUly6i(Gvid~dX8ALb<b^%b4dpjs# zQLrWBbJ3pRY0?q8VW=YRX_xM)2^Ycl*UUA_f#p1tYwv?|{TWetj?)|IqO_12P>92$ zruMLP5)HZGwmx<eVm$MO{X?<%dQ4J}zTlpsr?O@v&crxs=#$rMx^(Xl%mgIs+`E30 zaOLjHW1_8q;e{84ZrR9YD1&<Q-D&*+iGA0mkLo-z4^vh5>FKW~Bo!m)de&LdyssAM z@^7PFXq<7SSD~IajD6L<_DajeD>%QH^Md3icQ#$S+(B-ASgFzzm=n#<;I`w6KvFU9 zDanFX67KCe-Pefn?>1fAR1U<HP&8Y<+?2^BAYXi(&zI(SMmk=S=0Jfid#ye&;dnaK zxpuOXO|%s_GGc90DJ^Dx<`CT7t*N6NL}39MZ&z_!R@lDQP)zH3eBj@MOIZvkG<TDT zjY&lqe8f^C7LtmH;6$w>v{;7<5O=yo=!ofNOpE8Do%fiv5wH8Dt<KM7ck@ExtBdH= z{1E59#b|mS1GN_%6b7xupL`1x3hzLz<$Lz!zO=+fRZ<{a+X5kSnj>D7+A)00Qr#6$ zqReuMqJR8)(!n`(AH>h<1}^Q5>us?I^Ueq$2F-Sg?*(wm<W8XAYir#7xJ++1cYMeT zOFx9^4sh!~uQ;s*F5|A8_4B2ZChiO)4uumad(o1fx-8FJm!+bm%Su7=en{huv)#%~ zQ@{Om>YBl%pG#*dUxyzCqlt&wt5I;c1U*m~OQY-c@mC|mUN3=pX-IPC=9qjc`<7PO ziqHT@AutyB^UMfmj*nY!uYh)ieM}b=*Z_+oOk(3Tsht#xOUXTzrp2n|N68)fcXWeT zMJ~k4KWWRk3KAWO{oklg1>t;2zU2>z227S1U^ISPn_gn;oc>_D#^gw0fv8c$_7<u= zGzkZO#zoMs7K_eUzZzBR!U7Rd^9zy}C}@P4Bi47tdJ=x7AOWg0rd?FRXqZjYZixEV zlJYHMFGi+iW#X1bywIVM?m+wVnECmiBaJfEk%+sS7`Z2bBoxl)@65K}G~@d>?|p4~ zMGt2}6DKh+(g(hnHoA>@Grz%?E+MG0^p1v2p5ak!Cwi_ypMa#%?SmjQTXYym%0Hor zwjcm!eQ}t0QD2TZz2VtAezlsF#-$I|(KC_*UWe^!Ljzg$G>7@F*haf$-~#`T-nZ)^ zEJ9kyo+)Og<#An`u{6tqxc9=}>L<6aVq^_yj2AV}J{iBNPi_;&-}BM(Ox+7A(hNkE z0wxYs>+Zqe82Vb|;zubJ$j@%xLShIm#9qWupmXXZW0;S%dX&<)u-;x2h+K3d$hyVp zHAlTV=ypv0WO`%r!L)a0?Jv`w1-{>sYk!5&OXTY@O3j|Nq4lVsd)L*h`9MiRd8_I$ z(RGf*ysY#wU{GJr{(~N2IQBY>G<P3#yK`zpwuC`@cr0e?ux@2o(iofPk1<r!*rFG| z>J4u*bE4MzeO0So3Er|Y4u4d-4QPk6UQ#L;A4!56VZ=1uHkt*^e`R&ho1q@hJO|0Y z8l#N;Sjl|_M>$PxUJ=VJEvV&Ibhw2&P)#nY^rHWBjd~$a@{mANJt0nHgieI4bJf{g zCFLiZUoGva@NIKVa_=suQhg@{q`aZnxfY@p@M)6P*2A2zt0!O0IAShmU(HAD&Dj2W zrrKDM-{BY33%(`Uga*r&72%){WiTe_Sxr+iD(XS&A61Ez^9N^jcwW`C$&wTDn1sLp ziY|xh|22A;k!iQg^|{NJy{_2%39eU=<2vTK6KkQS$E1o0qpk`_x#b7mS$c<YqJ@p@ z;lNQ3#+@OaC1M(v%7`?!&7(aXW7&v7W^Gk@#r46fjdBl(V*5|T#qbbhw6pcp1diPj zq{Thr7{hrS+mUfTuhL&<A8$2=!j^k=^2c|oaq0L~PIHW8AT#6HuX^*7`zARr9|klE z5~U5+$Xb4M<|vO6=)%$SyOK*U*GMx840H4=(7)40KPO)M;u0C#prYwF&?(4Wjd(#x z*H0@z|Iu@YC%keKrw+%X^vjzH`Aj$Y@dJ4O&3F$g=Ikgob;UMZ201^#S498AZ6SME z-DhZAZd+=;wvk*lH8W8A&cobmau6GDP_4K|JG`5k0`m+zpPWAQUiPv-9&v|c>6|h@ z*gTE(n_O~TZ>p{ev+Lo=y1X#!JK4JQs@&QUh5WtLg2Oai|M>W}dn=!T-IAt4hPyb1 z^t8>_UF^$=$Y<9yRHW2;+&`mVSDZG)A8ys>WdO}p<|tppE@F&LI?FE<>rnMhDA`pb z4T-+}T<qMWc3A>O(A@dJ9}^c5;kFvPhFdSZrQFSw*4>ge(UEV{(sx`+Xzp|>AEu)R zvp=vJ+9yy0SIq?{mo_{T)~B1$#7=CM@azQpbJp7q)+gtu4$BABmx><}AoSfE_EZdF zCZd&7@kKIViMz4tolZ;sE2ui+c1IO%yr=`k_Qv&``+k9Bi2Mey^MRx+O$jM26YI!z z?#0_u46;ds7rq`*U^Tgkutm*@*-kka+05A?d-<~kXksa<YpJ<RY02O(9*R~a3&XrQ z5CVSWE{zDco`@Lt!%$N&BtnY~-;_f2e&=*rm*Fu1B7bQ7O_TK~Eg=_a`S8;(oVa2U zg0l^(VA!NkZ>4j;V5r!r(i#UOkBs531Qn!e`1&CZJtUv?iutaQo`M9qKTQ$fLUo=B z-^vvnMz^F`jZ?QwaPCmZ_jz1F_!4)<1|0VvYEn{Da)D_pb~l5xhlD2+o5u82R|lJB z?A($Oq=I{7B%tpCQUTI2h0C4P@bRj9KMX4IQzweoqko9LOVK-Lb=8iCUtFDRzQA&j z8sFiJ>Ho2wQZ1`pW+;2O3g|hQ-J@|%Z2i~z`CIShwZaMcl`3T4`G6T~UHYIi;Fv8K zI%-YwX8Qz(f<dkm?w(c`DyvI_98FBZm5{feA`Jn7U8Vd}U_XIA)D0y*pB<=;_d-KI zs%6-YXGo+%PKoF0^GdIeW`@_Bo=(d;*l=j5tF$OESTr0pe5+Gf|3-$-W<FREZ66ac z6?@5AIqLO^ji(%cegRi;#^#BowT4TgsW>sLMlE8Gnp96S*G|Q1xWW6}wWJ7Zj<G4~ zCWLQILj8K&-1e_6QyMUSqBVvc4RKVvw87Hzmm{wffmc^l?o=q)VYJojHQofRXuheu zj~BBxU^=vhRJ>X#o`giYZpMFPG{%pp33(!u!XV&p{nplR$El0aXSKFxUDy>E#re$# zGRqXEOAVsfD~>;WEH)6<=}D%c2&aLQhgHZ6NE%M*gb!Z^bsr$$X0>Q;R_h1aE7lB; zj~OM|o@f*ogj}9s_4Fe<$)6c?bc5)l7_`k%XvWP&Z}(gb1wM~kdK(mUN!u)CTSVL4 zdA(A|IU3H%_-un;@iM>0$@e26Yre$h!PK#Qk<^f8Kiu#szdaUsitS^4mhV9~)_Vw3 z2$;N@h2mp(QPWflC9wB0unF$h9MN3{7e%8f>f)Nd_Ws*JL1Uoqrys?@*RoQgw2aRC z;(D-K*HX3S+}b!&HUbncIA^zOwir4UU9<m2;3=@xqxgf!ILV-FMsm5TDxDUW6Au|n zP4~Uf-Etiz5J?^>j~SHCw@^qpi2PAkPQ0KcxhRoXnRTv`a>4N@=?c|YYr?O6b=RA; zFxDdd&5E6!9Yi|bg}yG0kJEBLAU{LUWl?i%KVzkbc2U2@cX4;N6qJNMiy+;)(9)Ti zo#CDtcQXsGhrCFaF9VMm<g2xq4BxaV9K{?wO4Wy;BeFt3D`44vP$pq6q10$$Q;T@^ zc?f;&RQ0FPM3M>wT{0PTjlXbJg53vGeo)T}8uPYltVaV~IMUJ^xN0M;H96dH;R(Ex zoo8@q^Mwa1F3df=3_(9CdLszvzC?a4Bc<5_3ja0CBKNqJdC!ASx>omJRcxAaQfMk3 z7b@?Q>eD^LU^>=uoqeM+f%p?C_E}Zv<ARhLEVMesPiO1Z%eV9S`3Y?S@O!sMym#~a z+H`D*lZ)WR4%Vv-hs`>Z){2ufo6-}vOtwnY`VX&>_mF>ONi8=9jMcViQd59uSJ}!U zo}Zn+JJVx<xUvto&m~0nHmMaZ(UZnl(ani2ejYYK@vN>4D}DgMdzIYRuFiDZ-N#m_ zBL>HJ%)GNUkR(PEfhQ(5zcD`3Fnz83M)=K#dZUWe#)D*QyhWiJwxUIm8f#~R+=Ytj z1rV|hk=_(`%<E}9RqIuo@4tMuslRDk%C$KO*k!e=2t5=z9iQa%B-j%gEt)up<}j+O zzvAre&lhC@w1OYa9}IJ?4e4c-+*hdQtY;%=6!H*4M)Ov1wI{p(PL&g}p~X8*^|kQ~ zd#~(nVY4Br#I3kSV*ZEbjp${mYnp6MBt&Y!l_TQrgPPo)UH8V$u#Uf}N%y>9@il5L z2E6x-hy7s7OHZt`g2Ik`+4;N-LEJkSLlKUgpBr}v{(<p+#evc>xMC?>l_$<=_@pJX z4zAQD`$TI$g&GqfhL^NoNwO*L$W&~3wQEJ1#V7m~CT$vpX8YeUmb=P|{M1p}PAG9Z zdUvc-*D-^o{f(O?U*xO-1GAzLHB{PA1n(Q(C+~L_T13Xt87Ul8yl<B7%j|E|LeJ9h zzeLa`21D5+C0OH{WoWOK_^$Ey=)PyeRXwYCZ%c~a*U}3A%ivv};T}oH^MeLMzb4mg z#_5SQJP`s6TD(6@gwJxdln!62ArO#ex5dl@omZzN+Pxfz3)*w5ZWd>H?R4$b7_bsz z0xMXp>6^)=Ezm+cO_fbJxCQtKChRA=4XBErzloXmZ&RdO0}}}w!6weF*Oym6RH_A( zp;1Y;?Jt^2uR8o-_cg?5CLBW{L$2q#%^%&3sNxoOjLK{u%8}^cM$T{;MXwrg_B1*- zF>@UIh-(Aq$B`q^@+B}cE4*+rB^yFfTYA&oN#w|m20nyh{~S?i_9hk@3gcK1NP?BP z`br|e-b(=4smD(&41*y)U%+Dr#r?F6fgeg6>8C@O5Vsgy1e5$Y(W|YUS4|=M#0Wk< z-v4iw?ZMniUrGfL#}^di(5G$MW{PW)n4p>`qWQ~ZTzw$^r64iNJRoo$Vt<4)KA@BL z?#PCf5@eN{%huo4lP(zrE0e?$`7a$&*Xq|_eEW$%(<Isz8qnb9j0GoYJxHMR42Tuw zpv&fr^z^bC8@JRJ`{GbdO-u~XUkc>u5uRZ##XL5F0BH`C2fniwgpBzMOg5+WYx47a z>x}w%;*AxWw|g%I<7B4I>`hl<`j(4deJkpvbKprue1|a*h<*jUn%5pzI8+P<0F956 z{>k}0gFOxLDF*Ev9UblNinmH(HdfKP`C<SbQ0^2#0pJh<4$+fOWD!TNS{4oBzWoIZ zS)#*0$L*q30oE~F|0g&3&pN`bQWb8Mw9eT;{_y{<fPD_ZNevD=#i0jWO!m_!<^I>> zD*F9B<ox2|qmz@qtZK#WH(KYF{{lb=f)hy`7VG2V|Evm;$Q1)X*VE(6_v&X6*v-vt zZk~6<cGd3O4jT3};#rl{i|TF`+`qD#PXW*z<*)}h85w#9SXY<={htq$MN0s-cI?AB z2HyX_m$a&-oSmJ?Mj~&hcdmU9kfFVvJQ0afR#^bie?tavK&}WPM2JiV_{2!B|G$V_ z$AnU~9-Ew;oWc`ol}cO?p@e}(e#*N>X&5H|<)!_F6zfVo9SXMRzBhm}^AmsZ??%X? zo+$C-$B(Hg&^ctVbt{BKNY4uqNE0hsqA33+MHYB-nnQG#>}%Hl`uOPR=-618R~+0& zx)^Q*Bj5jvEizxw7k;OEqYhwT<xEE~`fIiBk^tv;I8J0KfD`hb!uBWr`~5Y0dEgCz z@ToRre*Qj3Pf6<*MX|`=^d-cW1W;hR$}55W+*c?S0Ex|p7!&jNp01vVaDIV70(%+? zz;a0ZejVXAg;<}^wX`JXurg{JD=$E61qa0m@Eu|8r;z{r$Q@c|F0Z~GZmx4^x`P{| zmj?Jnz3sagihsD*N2nVXpc&Z{SJA-Z)cE<p1KJ^CUR)IRUwZZO15AmYiS}7I3*&$6 z0FWJ6cpT$rQ0V{T<0I5B1W4ulg~*@Q_sk6=`HdPjAdjkqfJWQ@4En|Y+&7;GPug?e zw`2hO+==6I|CTo+Ss+i3L81^31<MD3W3&Kz_3HO#4grF@Tsv~1LI*yv_SGjk`~U1C z89*U9R~9V{g3A*)b=IPyzlCK18(_=h9Xldeq$jHXUrd|Dy|oike2#Ja1kQ)~kdWUb ztOwX|b!B{o9RUX#z}y07QSX1~X9%Dq@TX4>3fWKLC*G*R{F65T-P`fG!yJPa_J0s1 z3yjnTB}ORp9gu3NZflBHzY(yW0r)S$^1<U|3J9<s#bB?r^iTXQEFAovTZfC9hK3!S zHd^R`+amDi336ldI6i(GE$>DD!*j@hHvWyjYXwO3LNegkQN$2)+B$u7=FH$#Rn~Mr z9?5RLyBrNh+on&?%cOk<m-}6T7Wu+QsO6uHM?Y=tU)ml+K;#L+q_1*oZK|Cefu6M< zXG5G|Fjz!HL|Iw+QRFcf=2n_!hXzTgjh02sm#^<67i!k`Z@K^O2hid-2eph*qkG-6 z+8-^AR9m8cmh-$jsO4{N1~mOS%f0vb({2>?!ro%OzV%~|?Zx>mD5d}lHEB_#!TUm! z{d{Ttmh@#FbD2)FbTc_6XQ4MGZWB%fv@%YZ<f!sKe?7;@(!yAdS1OYhaC+Lz!EJ4+ zkxnjFa=EmWt%<FCQpebI^U<wpF*Puil=NyLB-s}`&;QAB{QJQHHvWZ65&;I<Rr)*4 zoG8jh&LO%IAwHAV_5AWfB9A<htRn3zF?nmd=|%ZR^O)&nLBYmLv!3L4sG)CnU*GSm zwl2H4kuh{Yl#DAcD9RZ+Z(7|SW8dKY_}iWU|NeEx&=3_6O&0A8>yZOC6W|3Cf3Y>o zlGkV#efF956%*B4DJq+BlQm~&ffzMThTH4*x(vzF=vUcEEf(L5d1i0aSNR?eJ>79M zk^T;FpUC#}NfkRUQKLNfoj|-6hA4bSWUR$CvlVpQR-nX^T6E!{6wBL=N1#fuGD`Zw zrNis7aoE{es>wOWOtN_WHuMYi!%2GdlxIl*pE$X#xi_cH`IS=|-{~X|$9;}i>+EQL zO=bb;rpLLVnql8tP?ma9!Gt*?l`Zlgq0dSNq_gk=JyJO9I|A_i5fD`s(QyogM1#8< z!qH>@cGN2+N9lmr99V47T*2zhf`>e+t5b*4Yx%^?%zLRx>YC_RQ)-qQ!$z>Tt+%Nu z<zK)r9#_lQq*aE{dVUM!&XYA~(Z%V4f=cjtS%nD3+S%SODJr_%(|wd~2zYMxYnc6! z7U}PuiXl>4ZOdApei$I-Fxq#kjwc#m)~pU?r0hxEU!cxqxV?KUgv79Q0+&%osJEX1 z-qT;EwFI!?ilp2m{zAT($Nr#f@REEc_xQ|=<n3E4gVW{ld+Z8Y9)L!QekG&}Xjtah zv*@u!pp;KNk@pX+lCG!aNuR&eidlMPgBN;D5847c|He>QA|UI&H#xLu2!*isSzt5h zyOoY$b4<Nhf+|bIU%zVEA4M6$<U$pc;`Q3`=9M7}*AMT%u<aW*G~I$}b9Y+!*`{)= zNxOmh01!Rdq<tA_7ezA7e>j(n3SitKieN(wS{7)p5$b7?Y)@Tp&#fP%u>|Z);SXNY zXY!pnPvi%X;^>cSoioT88kMfoN3^D@yXT%nOJ17W%CI8=LlQ$30bu@y3@3b8R(@Ra z&BO5svkcGi%5U8s3!vu@5=hyZnQi?@r<5qH6-9`1N%h7_0tn5Ml}FnaAkg}SYl&CH z60YZPsX?XnjB$#}@oTB7RfJiP(dbI7{ki=s>zo4mDD3>i60j5NGsS;)lVt|z{=!I- zzj^5`1lFI|Y2PL5acFQ*^rCeq{!!E=j8-Wt&#z7IE&S3u5+!=I2XAxuBR+#5**t2j zD~Q?{sHJJzD8)Z>WG<ekE(ZD^8-jxfXmRK>F+~y#g(o2y@j7&;qwneNHmD$wiU11Z z;}#^<Q)QL^(n5dJ7;)ZI`NNE32Sw|m%Wdj5D`wbtloSOB<ss+IG|a^XP1G0fi$&~B ziw;C^APdyLX7wwe_x|J|QYo|-JQItHVA7WkqtrO*SlLhbK?Cq3{ZMyt+~%))!0%G> z&^}UHNRdd$76U@e)UgRk%RG3=g2lQ8;cL;%Y%nlaB_&)@{cY9a0VLrhGl#AE_(*?8 zpIg5~7bFqP{uNV~)e<!bu*@s5&!V)irCGAiZ0RD04z83@QiLEV`}A?Ym<=}cOU*f| z5rK)>spKPwdrH#iT6ur_rP1+#0ov_dA%I1S03=L`63g7ie74$hy4n3|jC3j=ZTnv~ zvYM5(jurZ_{W=fJemhDjh2eIHb3qK+I`$aryCVEQ!h`~7g+G7{*bE!l|EO_ywb~VK zF)cNwPJ`p~P?#y^n5yuPa^UIyLW?%4M~&{fGOm<JJ?}Q8LtqvckVMw8g*o=Gxi`a} zi~*9CI0R6FW^wR>50bfGe`E@_I!u?1jw+JNcXnd4w#b-a%(tFn{|bG5j1%}D-Lu$- z8ysO1<QVyonnEH_cgTuI9j;TR=*$SjIVj{J|H=~tusKMB_+lS~gs6VPTfdcKu$Gqm zMG82uRmHr0s1QC(w$2-7WNe<SkiV!I>)KVYD(NXZO~LGaJGqq3>vXvA)uv<1d+GQt zAu72jAkwRm*C_oxly&SrozWS0VAJ1U3Jd-N-SSn4Lx!ymS2m`q_@&RZR8@OUMP&uE z%ZpgD%g-eQM_+y+;3=TRiOErZ<w&P~=i$7E9rRVQ2+Wly7OK{Azdux@Qr#oEUS<*Z zvZRtK#no=^x770eNe7y_fQ64(#A~&-wN*8TbIlMQVY3LJeb@snP#J_$@k>Tf@fni1 z@9V$xs3cOx<6^V@%PVWrE36<+5smebhmFk4>som<P(XpVJy^fN7J|8<+IaL9^4rK6 zg#y79Apybm;UTw*^Qln>p_}*3@rnr2=B<z1M&5DcJ8#4%tzJ(K81&P%eFm^)D+g!_ z4}qkxXs*W7U0E5Mv6+LHSB9wbQsTFBk^O{gsr(^fg5N^G_jGtcjE`CG1Na)i_{nTM zrC#jahwVoD4I|HAmq7OzuM;tAYikLKo>I-)&aX^7S>=wgUOCVH@);1~_&htmTm7?| zWcVKuVV@sY9N>dgN`6<J3rMAorK!4{TI}mvA?BRp<=G`BGRwRo<#qD7OltMG@1r@- z{?iE(j*`+q<%Rwy_z}v$vYVt<Ez=^mwm-kaCKyi;W5$&76*@$`2168hrRe-OzsXDF zvR8N-ImRb0?d~4hSX(wOEXcn616Gmb^_?>~lYf_N0Q`EyTd@6+$SVnqWOQhO3F@3r zIiZK_73ty@qp9Cx+^>K$irtsl=%gd6JW_&+K1P};E@h`NHZmcAoBL0g;Y9`nkw7<+ zmpZS;V0{;`k4r(Ar7u5*MBip*0K<dsv&-kOw39D0^5Nv~kF$JH|9LU`)l+aXJv}`; z8_23%e?<ud97ah#!_`t@LpXl_xPHKq%9FC)Z}5{u{VPe3C#hkNgZ+=6h2;N)>YW{P z+asaY(DF1{0vKq*Ctoolh$#Qx821%9KwIC|U|O<hW<VUn@~9+O|MfOlo`RL|I7D7y zG8n-01&%7@;`{@i0wwTcw&N=dIM~xbz~;tOt<zHfYXF`<fxfs%icn?PBGq!8`4t<s z=}C`@i+oc0hkJ!$06<RcckN!lBKiE!_x}xJq3Q}~-^KvJ#eadVwBAA=raSZBQ2!Ce z;?zusjp4!oNNP7LR7CoR32Cu_?R5Rj%83w@0et!YM%wnanYp=GtJEk@6|GC#f8#7# z2r}`4*9({(I4HXhco;YghGgx$bOfg8a8N+n;3>rE2>dg|0ba;jri{{30OIg60Al;) zLV&3NBG8gRS8TtF7pQ1|t;iQyd7UN%ZSCiUt!j!+BMe03z@4lnxFA<DAX*sDzTJ}1 zwf$ryfcL8BIYlEJ6~?UU!!?CWQc`?N1kblD{G7UT93VS!lLBNX#;ATeTc2h<F5=2F zXr7c@oVADJzI@Md2|k@?ywV#MP`RAPpKiJ`--vPGuQlOfdFj%L<(d%RvWR#Up}w&! zyspqSPDP){tbLcRE|2#W2az69?Ix(Hbo=(>u@{|}oJZ5nP5!`3dUvPUF;h-$5{FRx z@*9o=G!5X+)1l^T96`JyZ}GD?x^<Lvtp-kgaYxSL{ID_%*ET6$nM~R(CXcuvL$@rq z*|81as6c(zAxd7SbXLfeHXP>Hrqsz^!tSSYZ1uYd8t^yiDUiUAa%9Pf0S<3?-+m<F zL3MiQ1WR@UnIztFuR24ZdEsl%UkhB?)i;f#uNnuu$*V#YO_d5w&U!4EUWccCnPe*J zUe>yhrhE7Ky&jVIaLE1u>$|&&-Kb)axvlNz`r~a*scCdk7mQ<Ks8-83Ngpj{x8r)R z?Fx4(_x)~D?C01Yl1i2q2y5I_5Dilf)h)pJ)BY%1_#r+kY>cjldx(NsZSF(sXN@X` z({Yg0qk?Wmw>*OsNnz!2rvtr*hKD;yA9e)X^28^trb}L!)QcChE>qx#&b5^(Ypt+K zYwa|}Jm)B`N7p-2fm!YPIoDXP4bg4X`}!03Z?3`&H1GE;ILxt2Pq|1oPnZYTwS_Xr z<eA>+e;BFSnRe6x2H-W4B7I&Cuq^04NP^hb=`J9e$l-F_*`rJ@kv2A~_R2umIcot% z8X6AZCyQo!+T)#X(m4%tUvyEBG7XU&Ny)<P7}9u;W>byM9tNv_b17VL?r^9-{H0gj z3F;*IL{$Wxd`U&*RJwv-@E+5ruKk1TgB?LZ-CS@&W{cv<+|krwV<ImMa1YG2i+HwH zoY<oBIzgmmn=@2`iBpYkCN#)aY>}EmuuwpXL*<LtRvFNZ#koA?!hI)*x>_zWEeF48 zZU}fKo+s)D!P5R-L3hj*!sj;|tK6NDQl6r1C3EYRn2HCSJ5xFrmMUNTs04~Grqy8n zKlc7IEX$>R<AxPb1Vp+)q#L9=q(i#9n~Uy7>6C7e?&hLH=|;Liy1V;5(dB)w|62F^ zY}@nw@dKNmu5-?rIcJVJj(z{l=5zYki#xn-e={hohH&(Uz8t#ibr$p1=^hcPw67|{ za9HWBa~WTN>A?76AM&2oBfdg+RZS-08mr6SEPd4OyJ9lbQ_8_UmCqOYIX-d^2B^~D zoM1fz*F5e3z88KlBI<1nbAriA=5x^3z~u{SK#8_pKpGq?cgn`QC~9B(K&#+(G^71_ zI9(AgYWoh2j7~1R&*!GhsjHaVmG;3a6WK4kY!kcXvxu}G{9vYoKz`Ib5ug;Z5+p=h z(qyHoX%gv>9#7ngidi9$f3KLFuuY!W00dk2nXUerWP3};81z%4gZ*MN=_H&VLi-T6 z-!~Rn03ZkrV~s(DoBo)h=$8A9gwj0(>!fJiAWN(%J=;OlEhUQ@Cn4G5Z;n}05p4qz zEH+7+#S=Ws69Fv88N4vjeDBnuPK1-W@=RdODi3h<o42;Vo)=0W1iw5=7!@#`IYVmm z=b}%oHK@=?*B*-2{~p&4eQ{7Y&f{h-bs5gNRMTns68h!_`lW~k<R0Lbzb=ooU~=c4 z=9jnVXg@BB`@XB@odGlB!+?%GItsH*WI#w1k7IVZbL}}dy^UEP1OAvQG&v;L-HU9h zZc*MG$x-OI&+a0SRM;K-riN(?{a{|vWlin}?zFyyomuv#i9_sA`Hpk{yK_IuFa+~$ zXpz_;eu{X})-!aaN``zg<F@Z(%mEZ*fY2_OyI=-4d8@%$gHCPY`%V@aZH<;w{ecv# z0C)5b+-AY?PnhS%w~K`@H~n&%$T||d2DM$!R?XFPi2}|ni8$mVqnyk_A1GbU?zI%j zd))*jTso`H4yg)lM+yr20$=W^SHmbr<*Qm>JTq+V_1#*|?9gofus(VfoIovWpJFLs zb9-1gZdP`JF61B7JrOK2Ra7z($nR8Y9-R}DgdBvY{>XHkA)Uh@Ms^gtO*SSSl^3@? zflZ*SJQ*Zg<_P(^ouRzXwMZ*DOhic1&S@N_EiovR92D5wS9f^}-4$ad;K$Hb1mZ`x z6kybDHY!C;DIgtdey?LXxKhPy`uVLXdh)AP>JtU$>Z0|Pk)8HTLpJfjN}3llh_W`M z{FNh|U%>=<bTu4r5!+a_mE3aPO*WXFq)eUuAf2&=h<x+v>I+|sS+q$6?rv-p%SZ|< z`+GOw(}v&taHFXeOzJX*z5QrA$hg9u^Pt{x9V$d22%*;`-b?4Ce)k2C$suWZAQh65 z8{-SMXk@_C<t?VyNW_{w<H&U?+!TJBz+y}ze`yS#+yFivjlVHaS$N4Fkd&se?3jcP zVytu@HWV_)q=0_Yqz`wYaxJkEYB(v~M>0x)SsYkzON06IpntQ*E|-c0`n4r6#s>u( z&qY&uvQk6~rT1er-hij187j0)xErTU@Lc2x`K}*If7DB^uuTwvDi7NQ3B(Bwk!W-E zAKvs6win2QVU&?oeZW+fX3^hJJwUT^L%Ed7ec;LKpoF1K@pi|qp}>5`+L|TOcEe7$ zgCEn*{pKg)LF6RTp7Y7Y0WmLh>g&h7M|8hmm(I2`dSq+8hjt}t!jr3^TrM%w&ZDA8 zp;Gj(nRV7}t9#B|D9rjiwx85DnT1D)45sYMuxbPRU{V)zbY!7z1ohg@$A0FmxO}1T zw{!WDM-?8Tt+)v6i%LSD8mZE1{l<~2nUpLN4hx%YE2eui@PRe_N4l@ryDu~lE`^f0 z(4jVav+8=T^d#K*P?Y)_uI5IV;W=;4kZDyZAB7=;BPvc1aCqJI2d%Db1b8yGO<WAu z*zmWR`#QG+A=x#SoJD6m*URDv@WVU8po3T4D?cvab8rnN+T}r>3h8wukPDK<$FvHe zc(El6E^YA~!9JeZce+_AH1%k2fBX2QG_c*a40(GKUMWu2ooPo)`%q!<Q@C>A_8i45 zE^y<wmfXb+&hC<X%g0@r1mL#jvNqx-ypm7Nl;E^xCxNn3so~(51&Zrgt_sfYP63pJ z)#Onw*B3<iSUaAEVT3-aC>}B%DmoP=D3|p|UHK1v54Wqf!l6o;1`q5GFMDOJ3#Cm8 z(%FfGts4+9<;S;oc!gu##{!1?S$FJ>0vPVoY4T1>)8*9SsdbavQ%t7|k39vnlALM| zQBlHEcqzmg!{&Tws#RmVN|LZ~(?s+W$w&+t5_MZd2-$3Pl9AZVYco{6I`9Nbw!TB+ zzj~FkJ4Ajcr$=_aSVU69f?s+k4Xb0Cx`O0+f4<9X)m-tQ*kz)HVG|VVC@kSS`z4q) zeT0)_pRO#Fa=FYby)JWOPuV2eg55_H8p>VtomF)ZC4SpJ7srCLb8mNb0Vghk>su-5 zXyLFIDhAYQQ8~;^uH0-~n79l)8FPI^z3$Eh@P}CUByYJjOdKYkv)j2CH6`LrouAvv z5+z11a9y4XV?@kNdxn^6{!K0D>C%`K-(oL4f5uYMMcgyqd{xLoAYU|VHPE3iADPeB zVNKaWzqoGJXtWich-;rs=9U-4`OdM&N0DjVZ0Tkxh^%paJ6$U%o6!hs!}$5txc_0P zkRD?-D23;MP$-#bziU>0=UH}Q&whnygWE8P4f{&%Zl__+<xYw22oX9rksH>$u$f=S znXzLqWs9;=INQN1FhdAh@D|5gW%~ehK8C!h^MxgBO52IIcCkA2#iA&ktK8cF{GrCn z=!}fx)S-4#q{HNdXURT!$J8XcPLj~L2B$A%r@rz>bk53%*+AYWUYVFkrL4;_SH^}# zn+&ITv*s`3=I?SH0xubp?q0)t<VHZOE2HSLBM7<dTVd)9lH(PP)+++STsXtmg5$6} zo~CfhI+REe?^EIqK|E9O<^78wlTjnkD97kSlu2<Qi-b|V(ZY^Zsm6%1R8_Uq@m2*5 zzJexh%Gw8wWuwHvh7{$!Y<FuJ`dSv-!60crt0mlso?rvD&bG;<RIGRL@P5fIxg_;> zXtNyw55ylKd@PWFFoXYKrv4$L<s!tb_D;;jws)#+^m8STO9?2K{q@Ii&Zr8u4?JJV zJfk`Z)}xcsFlxTc!&ex@YOsqK8L$rDyF)+^oRP42dMSD!hB9I5I}cbwTy{uWjhTJ? z^sxjpXRK$|S7pLKrosS~uT8bGkHJ4Iert___l{HvE1a;BQHx*gZ8uhI4>-X-LxMHm zN^q<^F_jR6@J5U%>of5{a!pJSY<+<$&aHv_+DEEW{!{5=wo5WO!IQATG)|Jx#26O_ z%3MYjlMro^Q$@GZE-Np(J=r*AW_O8w#S7_$HWZ2GB|%2HLzDa~twQH9VpXkvtVhHU z*8U>-8p$`Wm_9NGsDT&)C=;D%nc;$su#jw{4E^RNkjOu#E1mUdjBw&^Q;wZzta$Jo zbA7c6A+jJs(=V+hZA@vh49Hf>aVW}t6QKP{0S6SQ`cZZ!-%j#<q#px%-w-fzlS~DY zS_h$6n#2YG*o#KFSzQ(5VY|>f-Jnq{t=-b`w9_hmy_SA=S6*dOy-0zl@M7_NtRo@$ z{ogl16O`i=xknP-ow>K{`RcARlVoLJaE$H%R`^M1QZbvO%_ucb6#LQi!HU`UwSK-h z8U~_9mxE0duAtELy=|FX+jqVfxw1`LcG6t8vmMtE=^}>m5pwA~F51bh__&s(EE};s zQ}tZ1dO2qwucGQd^yCXFDKV(7bC)<r<yzQjoYTfBxx18Vr-}?;<k`Lpv$?b$z>-tP zF%^RX!9%IJc*lt&rur+;=AG$iew;|yDeq5Gn>3?tes!1=M|`R{mtWQ~Kl8ykv{>2+ z%E$;GvtK?tM>2Gd=6h*4`saIr(6Vqt-{ha{gaHxQ`Y*tQ<?A&IH&;#fXaP-3MnX|7 z6)K>2q()!kON;Wp*luu2{&?r)G_S%vUHP*-GV*p`XG!3PsiIn~8Mbv>WqikU!@3W> z&WRHaFDg${3SjLm$2Ev;p8G*OFzb6GPFNy*8KzOI3ZZe&EUC;S(D&AE_dHlqD2s9A z%ib^p7^apn?m%CHgmpjCG%3CvM8cFS+5G-=L52;aUe5S~l;@007x|Sz2p^AGba$WD zlG>P&>Z9PVA<3CpBY3_6XB-YTn**CzFd)<Oju5ZfO;g!59p!z*i$EUgVQ3+TOnjFf zQDa{%l1!f#z$KT3PiCH|_P(#%Fa^e%Ebx>pZwtj(CAnuCvhN$rD*e8W=q4j&Bv@S3 zdk66Yw+O8iLvqkdN!N*uwUfNH-l-xrOY38K9&4&BS@$Y*8`>I3^ZGM$V(2wH(SB<W zM#Ie)=QV;17{Q-epQEnMbVyjW_gDI(A|@0zt*A}5m1U)ZYgtl$eovgdypV$H#IoW9 zk7Bjj9)qAy1qLv6bF|J(+53efP5nU^1<<1#*>nQr9&gFPYxM%rye~RmaU2`zxPDbb zt+Ce}8&9p$D^GOLi)Z>aYTpyh70{Va+~v|q$rIgIQV8W(ci_l&k^>t_kgk1K2(N&H zg&y8)Qd;jVuB=dFDNt3ZiW;CGX7Jk7{Vgkrw>p24lhU56+bRZ*HrieN4F%?)k-Yd@ zMkg?=YD8jQflbV_uCkQW{dYwZJZR>2s4r)U)urBzKL34W%B-iAO&UT>v{i&3rL#2+ zSpWQai6cpuEv{W&QO)x*E-sa}^Zw_Ta1j_|1Dn@PDIgJhRj7-W0YWy<zGfEL1*z|0 z%hPF5cZyOdQd)B76={+ny+*`ph=?<?8PPePYE_MOm8we9@K>re^}P<qDu)d*U$0_9 zj*A9gKbVPIs6sox#tg`S+=Ug@5CTCj#`P3Z?XWi&qkCd(NBRUF2hY{LC?)_ge<&fA zOQv2Lx!2cF)e2?Fsx8(d>(6<1RwEC$hoC2}DTfW+&eENlTqju5Z}8?BC!n#dL!7vI zSE|ac6Fb|B0@mZqi=B*&D}7m)#w14Rqz%ED%F8~S@M0N9vW*^cjFwmL5|N%n<G@^+ zsMvF7(h031TrP{L$`&W7W(GCjy|-m1_?)$DvNQ+MQWHdQPRY^Mk7h=o+;p^(G!>dG zw2isGLe-C&@RD3nliQTgc9)gjGv}iwuPTUKp$Pp7^KbhH4k${6N3^x)cx&@w3^!bF zXif5MNY)&}6_S3gQG;B#NRYBHLMXwFQWf3^9))`QZjIPx2fN<jTekg=`-aj#9cMko zYwXeDnPTHBwB%@clFJ1rS8&+Xq|IKe!6gkC`Mum<khw%V?3D`tV8-t)|8u3W^$nVO zT;NpATPZj)p^N_5UC(+D;ag5ZR#q`x!q0JmDWkNU3w3?Hh32kN4C|ZyUR3S``dn$; z*>TkJ4ils+26Yqjd|z^ph&4X9@peoj8&5E6J)q#igvmH7a!GZA-y}>aD|j;|hbo%I z2N|Xgz_W$gPjf16Km`eEz*}>hs_o`VrmQ=l`wX)|Hhx1o?dv^BrAgJ^G5;PkWb*c) zb94Rer4qGWGyLGVMeygwS&20FYb+1F@!_e7kQ-AtG0Gt0Iy%+n>!_9=&*}V&b(juc z8KbOuL@-KEiMK&AEL;e!<EXwJsK_{C8U4q0uxNtP9bzc~Nq$dQ_A*_>Tb--fpn_Vp zr$#fyAg`ZZ^fL<y)1?-@mYt2Tl3yp)sLG(!5ix_Otx;j<<(EcjBjDT<@CHR@LF##c zu>mJ8vAWzwv2NNiWg?E6oJVo;J?XZNy`edGfog2!U=87qsUUrz7dn-u^Mp7di;R&q zOkj;H(|W3GNN|~vY%D^%$e^VM{KF%X;l9o&eR7cWy%)HB#jP4LJ-G28vix$)7P_k% zLqxQ%2ORaPH9XU9aCsZq-Zre>E1)Xjfxt*flan5Ft)c&c(Las`L>T9~K_IY`z&*zk zD(#^+H>SaY7w12Io~?AbrX%6#KX{UBU6kY_@6%2N6M`-D7|bzXw{>;bRkg!HUb7Q< z3^K`GmBHNrkys!~_{w%V!cfGCXFUjN<@LYF8Xeja=+v+h?iSlze-9e65m+vl1QX|V z|7}svFh%kBQ3<{eEo_`pZ4%j*Wam~ihqaU}WvF@d)({i!&|@7w!(Cg6HWOaHxIb$` z*+nhb+*T#hPH45D)ixz3@)T`ez<v;8u2iL^Q6JiE1UkER#jP%NG~0$=DFxQ#qYapn z6Kg=@b)J3dJfb`tmaf%OrsODf<WZT0#e!5YM6O8{`t*e*@1%LtwX(aclS$>z73G$s zz2|CrVcHCnT3Idc4Zo8}U`D>v_Lz7!u^fN9TGxR_(c!=Aduf=Ot#hH6NYM`iadC8F z$spjWfSkudfa44;Ebf@Kc_YL_*yU_Wo@7X!UU}%htiP)`o3%nh5eaTnnba*`&}gzO zm!ZAzFw0I)nce?cP1&r@EXjrr^YtV0CWsq6BF^-+pCywbcJ2#0F|VxCieNj;Y$o?i z;D@}Gzz}+)%)(^NQ7I6i6|CA<E!7M{;#_&txKsWPo2pdRBzMHDLu^=eKaFo?e+z7U zOi^apehNzLu7_X@163(-ZCd`r4v8Tv(=0;d<Q!A7{I;ZO`jq%H=JM5q%@^|8uO<D` zf=8sVmPrjmPWwDTr%3xmd5Qq9HtqCt#v;)ixTLWoz#XROxxYSNYaED&QMk$?vn!Y2 zjz>PC&emKrxh7ATx-C)7)vq$HfD>^_d1WB3Ti+yS+TOsLivcA>(%<UR)J}-E813^~ z>>@1e#dw1U=pHg2r^Q3k3sTHjv`)2JOqj$L_&iKe-wP!d{OoWsKfi8?oU<Rv>$-Ib zF|N=3!b$H>gpl&~E6qwB=1OJ;dCvC56e*Yk9SaUVrF7<aXk)C6M9Iy)RMo72J)B+@ z8hzco?&HPC_Q_jWRFOTEP6h_CT5(m_0TP44ds2=sJsH8>LX~G_4vq-=$0+nUEIT;s zf(8E4zO+pg=4B3*Rl4=SDAFLsYvLxP(a2WX>-P9Hb~;qhSPV%9On5UDub2sM=K(S5 zGcwxl!jf@hWmosm0~n8I$=8J<Wos0R{u>P{V)1@Xl;O@?EE)o&K@l7R9g9|(O@)+8 z8eSfEj@tdltm{$*s2*cNcCi)*w0WmY&-OHqCJl()n_E{+)}dP+m8rz2#AtDzMz|ap z;XhFlpsEd;E3)05r6|dK-8GD~`5jPWQ<t%BKPS_F8rVv7>0uYomB1Fsaz;9iDnOUL z`L$fh<FRWQKbq*G_t`oKXP?KY>HX#xTNB^oFDs`tpTol9UYu6N6jc43P3)NUg@B6D ztO7Yw(m4#;%+|bLDH2MSNxF$qQ5QuB6~2s)E!h>T@-CPjSPUP0eGV>^KyxUNFoI5O zkB%Yro9ndwSktscHHa~}^O2goW-W`c=7F=)$4y{s>V!KEcDwq$LhXk&Ju|cQx3bk@ zDGhgN6mCHq$#(}Rh7p+c$HCa6;HV=OR<2wLY{rwsigPYg`dOy#>1qB4@sD>x)T8o) z?L|-=5Al?r!Ny}nD>*WR=7Y;<2)K+vA7@r@PkXoI8u2tr#661&C)n`VY|g>nYE%jz zsvnBC7v*C`k6G5RP0YnPdBC6kMDsYD54KYiRQaz5TZi3eJuS@NYAr~;dhb)5UW z*&0mPs|#XQ#>TNPe7-e}OJG{RRT|&Uq)sLA1_xHzzMdBb6h%XZxb5wY0P`die~xS^ zt)62O_uWF0+au>i0B=4QyN*RsiD1TsMptDkRSg$LvFsjiXTvT}?KK%m(PH8L2#ZIJ zCuz6^lM%@)qN%-lE)>R>jN}nCNL0Du0$E2VE;LJarHhUYmH|n0+|os}n-ucuA41Ex z^5k|%<8^)sv$fs^f8wp#DOp9YWt>$o-E$*^hyjG(qdoc4E#H@Av%~2trPIM6!(G== zJr}uT{fw%zxO?%0zQ+gGg^cIjwgr>0I=w=Vz3;o04b%j>x*|ZVmpHNPrPNFA{?#nQ z59F5#JIMLP@AF3|_cy*Fo1+VB;zbtKRH7Iz67@FvW_Gn4?G(<I#`;2YH-s{UoLRSi zPEOxo)jLi+z8I$TB%%vG{&bI!EFGR0{RYacEZBH}l8{E<Lc+j`bx%1s{!O`(1r25y z)jG?U(TQhM(J?XcinO&m^^y2%U8xtaaSXVIZlpK?(Dz)_!HV8>C2~#h^)J=X0#XY_ z<;OqnB2q_uxe3A8eb1P5bOH?~z1vJXjXt)a=ZhbjTlDs$Jy4DxK|~VUo74Vkdj8#M zLhGm6v{#0t`<8SYF=7w;Q=!B_ddCm+Hf;WnP`&!Y;(4SsL^Nr405n+g%)h!qr8k%b zrJfrT7Y_%kMGP`C^qU-zTi<^a%Bm+95&!b3o_i!TZzqM(!Ha_ooDTU>rr?&D(<*#E z&0Z5C$;etp7krNuP#OW}y-~zJ_s&k7r3ASG%M_0otcs(aqlvwrnP<y9*0(@n&19jm z`(sNbVYgj_E{rB?n?N5*;>lLeyS_A)f{3E>B%KG7PXx65JQ8H;$LO?L!>cumIvJu$ zQLq#kap0GmV))9cdYX*o*j%pmnaea-{(k$b;%nn%d_1@jqScGRAJ&tWJGe@>1BixH z=+$C1DSX+G5Ij$kw~|~2vh9Rf!8Zt^E0}8?h1ccZ$qTZU40ulXlSqB2n0L3)O8vRT z$U?A4tadSjWl*66tpXixq-9Z?%B?<{py1y`zlVXUd{VKOVOyJ^u%Vqw@uk~Wjk5TX zmRUx-h(KXq^LrZ?*S&t1l3p6^P7r<Q$e(P`4<pF&?xz4yt96+W6mi^*_6u|Q;df^d zOCqW3klNJn>3W%EX%9c)J#@}mz+nDMK%e&>@G9hiz1SDMy01|HWFjEE{rkgbH%;u$ zmD4RB^#BK4ijQ2rClL(;AIZY?rub&{3O@})--};m`!C2qS?Eu;?y1$)V&Y*e;!uCp z^j`o9+W(|;fXejGNgN@_zr;9gPoAPbUp`Ru*2)S){;OQi_xwpC`=<s2XkY5ig-8C# zv5tUR@890oZ^|S~@K3S*8&EO+&#VN*RhG@NOn*w*TtN5yH-B#uooI4pWSw7>S6kAY zMa9OIXn*QwQdide8KM?^sf8dSZ=R@+Le$QR@^W(Em8p@vY#%pd5M*AQ>04?*$jMV2 ztL*OT-<4U>A(RXoadB?4)_4P58Zj^BSpn;k6~|TA5>!TdpA_9F-M{W?ZQs|(fV#O5 zf3|Z)$(QXU-5ZU6DeQR?tN1?m>2>~-t$vsy&4`-?T<05+IsGN+v0e|QW9AVNMPYOC zs_kVnb~EjpL6NH-^%WOmVOCsOA};oJ-<q)^Uhs}ya#tr++*M5Ar@}7UMXc-_u1j25 zd$r@Nw^pJhwmcj}6G4_9h!EGg-G>YvNtfI%es0}p=<ZHV({8w{s5FkJ@o)qP9~f+x zN!sei9hGSPKqc3M3a?PvoQ12>e!UWHIQK~PVZ7l6O1MzTaPTMe{o&5K+D%`E*rBZ? zg2L{(i{Zg#P1<Io^b`?yNdSTcz_+MX0Esu%%u?qzN-L-p)&|jCLQKM*Yn9`PaMYMi z9gkePWql#@JJM=%^teAo`|nx#sF@}4%C?g(rKOZjzF|33K24)Qb$GdVVO<|~?~JRF zO4;t2jZ95RfAe)1RFBujH>LfmldB%cOO?epd57)YNmP%~{kvT6SSt&=8|G}QH<@2V zVjK3_X-gCHBRx4BeSt!F<JiGOLTl;cgOS=i1ZSTDBQk#covk`Qk)m`vld06pe(~4@ zgys<RIIl&^7iq5w%s^e;r*4;ni?#Fe3SCj7@#+iAWh4f=OCIy&BrWrB%2dcodHJNZ z+j6v0<h5fBAxM}|DSw}iOXkt9Orrr`|6^gsz7bm{vrI)$F63c(w5c1Ijr$0E6~whU z>p2*i3{x9oOp;o5b<j`}6y37hx7lC4N#Vf-?*04_(WgD9I_2oWMF=$_Sbi*dPw}xr z$(bU_<?=1c4UAn+vuVio1TWZ9ds8$)oEs%X!-`i*6Y~?=ePjDsoIV*V56KW<usT$D zEGaOt*E86%71&RoybE?egt~{A6{?>a7%j6Gh;~gBmXcixa5P14J<*I3#9dE)4aO~D zx2cx$#FoOFJ%Ns#jhaY~U`b){D&%x+y7y1Aidrqkbmu*a(yH!oCu|ljshPMSM&~fe z#`p9*<Z0N-tU9Tvj1Nm%&5;b=KG-eQATl8yBZX6>imGO>SjN_Et!kEReM#C22ZK)Y zw*}?f<t#A|JI~IUD3EFm=}uQf6+|d;nRhN`U1G-B=bZgQz#&Zp|FRfGF<1Cz?&f@k z3gN~teyc!oo~wCUCd}FI_H?b?hY%E&C&lC_r2_vx%wEDP!_zQG<OgL-{mOfNgW5HX zldbNl*ZpLUyZVa&3Z-?;`J6kNzd)dS@J$&Ww{3#P^bhJY;d>1>xGX_Ex#rT@Rcd9| za2fR1Qj*DRS9!*p8kxhp3#>R1XQpG{tDW8`ziG-`$k3YY*gqg2Z=@3fF~s+CEZGcO z+<-lqwVe)M*fl1df{;h)-UI8=f8x<caFBUO-%yp1_`E4{nQkhPL6RYz_hwN~;PK13 zD4kK`t<>nVSGm&L4X&G83?b_`RC>e9XJU-V&ofuY;VX)4%N`0i78$m1bA%Ja{rsP* z&H{RO!-DErNb7T5Qh9w<n5GH3Z&WgUtSz6fR3Y5BTut7%dZfhSre(u?Lk-bKV5w-F z$804dk@oF05=zRdpC1hGb|L;a3dha-mP=MMCu6atwlHH1R5z6ZFC`10Shhc1oFhmI zGAlBm)R%bSVUD%VigU1MYTmc}%vU3jCzrr>CA)Rf=Ay+tsjlv|2nXgt)hC(&guq6t z!^Nbr=G9Bk(e`f2ArIsWFlAa;tOfkIny!jo31xJKWBX6YZZ!e9!~R=K|H<MXJFy<7 zNUGoc*Fs{Z2j9II<Ix|Ae=Qsi$x5_=jCDNXdOT`$VD&7;*XAWuAfS=@vmt-UoAvF! z&c7#BUjK-aH-}|8VPrCD>^G(0v`xaXO6rUlsy#~>MYH6^{NepR8Tb8}2HiG)U`!d) zG})E><hU4te<?-1`Kt9+9?38sHjb6<3xd7zxE~e68|9oi^xMimEaqpwY;s{AXQ~g2 zhE642$(5p&8%gsygrd#uxy*P5hfTu7`vVVHLgT0vOGxdk*rhOw<~tXTWPX%56(3?Z zLK~dWQQeIS-5%Y<h$cxsTl^L&zw4`LwjNI`vZz@YRu{b@1(~L&Y5*%%iu9uYVIe+} zrFR{eZNDna8dz6f-A}QKOj36jM4aXKSdprRdXZ(RI@VXCIbAJZyiq7mUD3IBQl2QH z7OAFP8ZSL#h<-j7cAUbnempE5rkfIO6C3GK2{%!g9a;+u&^_GSXTu9#{=|fO^31FV zcp;Pe@YTFp%VWvFxRnmcE4ks|K8mHUxVLlQi+5(|n|VG&i<Sk7(bC(QHE7D~!lYD6 zYWv|=ZyIgcIS5clN)T8*uI^wZ&4MBrwm;+c0}K^?9UN#G1aaPqfemXOY=Dw6V4j4N zW+F>HBO!DnI-s>VMA2utJzKVbaU#BvU#{Q9B5yoaa7-P#flMMPlnk}z?ImaIHGQ>Q zWJ?=Wb0afg*_-k@4on-wQZeWk@8Mqfj9#3qO!L}Pze7#U&_?NHE#s;6rC0!$!*N=F zqZJFX3{#5|$#^WJ7#r1zL8%k|^G$5S^NanYNb^eUQ0bHXthZaWQP(x!sfadRD&D7x z1{a|x_LY53v#q9Nh!i|zoi~ebP5>+!PvW%7btpnS#3KS9_i<9969<mwJ|(y34d(>A zXU`PzCxxrJq<)%3h|MtY>46wVZQZAQ3N`0=-6HQN6c1BzY_Mi^t)w=;N;-Q(p@HP@ znG<c-1|0Q=sIT+;`o%(=6i(J|f0ykh#h2BH9Y0eLU((mpekQe>a{ZLe<TjI_gA9LC z2}xMy^d=>~onOw0ogbgVZl5AG_;8;JGl7Lzo@40CUXzRF))h#f4fdQK?C(c}!A-Qu zTA-#v$^-q`utdULcG^g_V$cxU5h^zuOOVacqB(a)budReZY|za>wstb3)v(oob4sj zBBO02v|3vd+U0;VBV641dDGFk#vxCil<T?WeuCUG9+<z;(Oqud8|{|P6!KAz>BGR* z*|kQ&do8T`v`r%)IdpRd>&CT|?mSgO!;`M6*JLjHnSoc{e3XCNBYm32NXPEG&g@(T zJr@}=nDk_q6HGS;JG0iJX$w%uA)V`s3A4V%p{-;LKbD@%vkMu~q}3oan3i%o&{vb< z$mPWJi2B?T_0`N=XayZXg-K#y`fcOUsDdR&sEOJ(ozzb!^~`h{NA9c5BD!t+goAFD zP^n($pT_HF(5<H+`2;o%TFo)r#M}hrG0MOaH^#(|ni8+X;&EDOVI*OY&y5$?-OB~i z*o@UA;!vAwCe3!(-%+D{GLW8J@nUt1?)^%wHQ#Z4-Ef;NkfxGM-Lt?-RS*TL5qj%< z&(tttfUpYm*vcLye9DxcdFAZ<u~>r>3q__kTF&h5a%|+(^~Qb|EU_96a{XXf#O{fW zMbKPNJN0~z)H^nLg}+a?yHV0rnp;)W;@Vaz)_|mZ1oNzVsU4`kXIivHqQ=>pXUXma zHNlMYhayX@OqSs>KLkc01WV%8x5hF&OhnGR#63tm`%=SFtG_pJNk4bh%#By$a?!u1 z!q!$;O*s5U8?f>Wa}ntpVN%HUs%fFKl6zz$Tau|i%O`2rWj2tn`r)>yMg!U1Fg{`> zN+2P2y`GKJF_DXwX-umHY;)u)ldinTYtKDR=!+TjDo?3z9$4c>CrGP~ztEQnVo5uL zXA`vF<-r)pp}$<`O6YEs=2!~?_wvts*ra`5o($_z_Bo_z>1SxVebpGxRIZ6s+G}Rl zP1avRhn~A$&Ig`#GhB1<WU-`u__lupdkcpm;B+LJv0*|5(eerK82<MJ;KK!g<aQng z5IQ7{H7|ble@~zV6QsgidXe6~+M_L+uk(SIvVO-cR^}A6w_i74W@E=5dL*GVSA)H2 z&s9?!{V6aHvyojtII@!J`!$bh7AhWlO=qP;RzLB(#4K?K7Iaif?;zlEQWI$x35_YJ z60#YWQ|rXn;wg>$--HAQI)4s;#Zruwv39dNMR>-#+hnDqHOOf0D^*krEH*C>qTjga zfih>KiyDV<N!BOBwwm%n8L^f;6ojozzs`H~9nmO*^h(=GwB@JF4uR?664sisOMC!l zK3v?{1e|K)Q6g{#kyV;2*<Si6{QXdLohjL{&Z&E%Wp=wCq8pqW+RS{e3#zs~eUG6f zF*6Ud(7^0o9Z+MaQM00Y>{7f}+rKt`9)&i{Lo_^A#>D)UBf+^Lc<hlLf7g;W;4FM^ z4v$n^!~@+rsbJXe5<4ILpa7|eBbrQLF=;or+icQ)p#6)2Z21Uog;CrBI(=uE1_wfX z@7L^&(zl%5_Jh4Y*-cQi2tOt;(OeoUXlzyYuXI{39s)~CUa2ILyq(Qu;%rAr8`~kp zYN$Xvhk)zkn&2oO2KEYrjigdC=TtOm+Hg_MQD4t)Q`({Lmv1Y%D)(XioP_OM>`Q`! zvUk2-A9M}?1$ytdZ+uQp!xatDWH>_u10BFsvZCJ^h9sOtc<kqNkYAy4`853?1&|?V z-n|a&>zGp=GzfIqS#`$#kl#?)l`UEZmT90zB|e^t74BVZrL1MLA?s~8yOzcyr8Z;7 z*HZ@FNHR>2?wvJ+6Y85NXRF!Q>7wU_<aLaWpO_B~A}I(aK^s~)NLHFWm3!jJBsoO< zOT=A&?qpL`gi>&2W65JluqZ#Rxot9UdSshr47~^Y<d<(HyWByFM0v{SFFviqZmb;i ze@yPMv%XB!YMxWVbGNe9HXs1H@9n(WQngwJ^=&Q<vMBs4dj#{D3U%4_MxpXVn+syk zli&2aTOPR%JxUKGh_I1sOV;^YR(FTV(m@LIg;q6!aqy|V?Qo>fs6+}cD0A4)7{6=f zfy5$x5azJP1{*abpn}3^c!85alV@}EtA7DdM0JO5AV*sw(GZc)hT?P5rw%EsN1MTH zF4Ht=rVCP{UAK(SmcVZ$*@9p%U|C*xE3cw$GW4=v4G2(zPP@)p7q2iXjIcqx8TL|% zoXWW}=om`aqx16~r)821&9@&xE10=C4)ZdVt_vHtt_M!qj$QUM27cz?%PoAY<#p=4 zpq|n%QHp?GXhT`S`o<Z4cZF4`lyP0YNge4mAd&}^>kkhPrKOgDoxMsrq!Q!h^Cfc> zH4pPd=U1g-4XqiK;DB`>=RC1e$J-h^FW9W@XiNXOIa!3-u$o-F5{x0clc~K1j3n9C zp!%S1E8xOSvC_zT_D1WC^Gbv7oO;s!J)D!c@32t<&cJ5d$~z-pMD_KFYE#u|ZHM{w zE|aOP;&#s{Ir^zN*K@SS60MH}7lKgW$-;9RW}0n~>P^gOcUG+c^2RbzNhsw7NY+a+ zVvIp0%;aqqix}I_Fi_2PaG^EgWgzHCeaDbqvhvJeedmA?93-*%H2}oka61ko1ARl& zPFKGxlZYJa*BC+49-f9(RypP}rMB!U2Vbmodmvs<5K~`%)Im`1fI2}g;lXH}B(pRx zUB#=pOcJBHq?0mpWj?}lBpGweo%{^KlTr-;8?5!kQe{hqdwN0WH^8=k5TXc<1FRCg zXMAAmhOMPeH0=ZKawp}SlbM#P$p#)8-Xv47mi}C%=%a{jtL^5&zWlO`_9LIRwMlui zQhw;D!xFsz*+k-}_CBhuEBpM1iQraTD=gd)!Oqp6M#DD8lQ9<Rm1eaXg5v@`10RwH zc-}Mj{Kmo!b?BjFz%k_reXD4u!EmGFsP<lF&dH4!z+)m0SpxAma#M@r;p|$uD<ACh z^Cp^Oh(JJn(aJw4X6I$Ib)!U24ihTVx{KrFNrBuS&!ePkm%tIzuBz+aa6H|4JJ#fi zT);oqS87%{q+d!<7;Oa4GK4cPPg7`C&w>>)C`hEA;WNg}xj5slHXdvbUt<K&v&KoQ z;Rj*VCiYi4PbY`hAJkDJK{Z#w*d+P_D6;VLHHo4H)CV=4tEV29BT<%9pCRobNAa9G ztPQpE&G2!@rTZxJD%5%!BOEbf+A#_$6~Xgg8@N&6S@E1jbn?8Y1|Q}v%%YiN^Gr*4 z)nnPbD$ZYmR99rFnhIglm5Z8HO933+qFu?Z-oAOI7?P0uPICQYqlVjeIqp3?yUO01 z>juWV7Q$7x$s*4ccX|}S#Iwapp$04)z(JB{ij+&;XW`l0_u#=A8r~Hj$gXf-)F{$4 zJ7?Egc2gTy@TQxN2o|(8Zm~kDmS_1+Z_80=%3Nu8W^)7$or30DteZlmY`AeI%}?yq zsJevQ6a8znM=YGZL?HO0vHMVZoovbCqJ@*a�ilv=}_B8r<t$;QES93wOdUrO>+~ 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%0D_JwY^IMe{A2edqJ$mB{lrY(3me?sy|4un$-w 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%0D5q`T|ArqyL~%-Cky@v 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ξ9_YWjRx>;TDbHq3J5bO}!Sl3{G6`Z$SJQVR<CsbGoh z0`0Vb8Pzm{T$F~sDLQQQ;)V=u$y0+|LVPt5T{})}rCBsQc&^pR@LYw*j;*?sj<&7d z7?N&4+t6cFHl+FkF;F7+5R>t-s@FyOM`NRCh=E5El}lk?jgTyg>fwF<zNa2e&+VCX zN3eK&0sHP$@Sx<?*@hL#_0=PGZ8iHM*hY`wiEurM{rLkeR`e%XL*$bAki9Hp9vFBO zl=At?hHd!+=0WYJ_C@;7x%S=>jqUUvI&(|~$M<>%Cf}Z5WD13w;A9ph8lp6+=7#Vd zgegEl-T^9{ia#R!(uR%6%yf?dUt4EamrP-Df2V|AacIXWV=uTiH-iV%Ad*KUcC#~f z$_Q%MbuObR1vNKOd>jPBsn=|iFd`>|84edHFJyoY&*7KHwK6RF#!yuyiKG~|bL=Ql zpM8^jmxS%Z^EW4h<~${7@$anUuQW%!LM2d=mOA~LM62lGnm$79JWo@@*+A-1Au(M~ z8;Fqt@(SK_=gB-5?1O2w<WnZq{{82O8G~Af=MAGy1^%pz%F9t#;4_%n^Vd#I(oY~H zL<x!w_B+vLs1~^f&NjisNdnX;8Ckuv#1y{=F~fC#03KR9R1q9stbDgRCNF(2xQUQg zUaNGW$mS9FX?3kLVn=lrk`T8vhX`Bx*icOjX`CY@nuOSaQG@t@Aex3L;8v>dAx*}g zvq5Qo8T2=J@t)H-jZ{mIAM!|v_~odHR;((Q_cvub-(7(1nh@n7f-zJssvgwn%sIB$ zz{6oc#9js+J-{nWe0gh8kY|kf^O)Ud_2sS|m|a>H1+t^D0Bamky%{EJl54-1X9Qib z5gR`tN(*e&wKRpC?jUTJ_}tp<dQSonFTJzx{8PkF!cVQWMYDxmh;KJQ*hB*riQiAs zd<D1l&@XRE-Jg-aF(**LG6yV0t_b0W`GRS1njIsmU*Oj7e~2US@l?eVnq;Y9E}ohS ztapv(U;6Ca$a74)1HqSdGcu^^&0|cpr(*X@+Vo^L$-=-(^b1^=@#*gJf*BFPg#QYr zGO(%f6WmhmhQ7BaKZ^L-Fp>S)gQb|3@g??REJs8imGM*KnhgSeU!2~#JU>b6dJKwt zG5VAsL3f~vF+<uBcX->#(3WFG!@mTpMrhzY^tA}%;My#Y@&dquRq@2RCRP)kio<fL zTg+;h6y2xu=IOv3(fn}C@X^|f(UrUQ_mU7PQ0+wqh9ZF7KI?!X!LYt*2{f^r(!}Bq zjFJ|aL*7GR(p|skp1yeR?Xjcj^*HqehXrP7;jO82GQsfReX^^^V5a>Ioq90g0s`lP z<6D>_4j!6=7B!E@duaIqEu)os%CpRrDAwzS5987E?zIo|0!HV(JDKiMhmOJEIwiE~ z1uaZ^>HZA!dKq!K@0BIAb-p#B@IoKK#^n8CwHn<H)>zYi%@FV#!lc;_6ue~i@^Xdq zmiF%<*WfqN1!dy=<B)~!@-eG>3$AM4plaHA8~Vyv&hGE6{u5?qa2L{CNcFW9Vz|!3 zf0JBCi5oAF%u_>k)a?C;he;8#eVJ-E1u1hqyySdVV+jb$Lz|u$a8MqAnPEp`Le9d1 zt8xh<KvHyFfmEalu~YoVSD9&BQrsD;ca4ya8y)L-3V_h)#zIHEzPGh8Xp6}Z$h;5u z|Lh2wukGTogB$rZulv18j+9rU0c5V*9EW};FaCZE%J4Dx)>ijJs?GP9E67^Yd_|Kq zU+In0-mEdD6tQ2Ci|6~wB>5d-{V?|2h!|$W8|u^f3eCJx-j4W@WE=TBU{+;wFJGC- z{p;&O<W`WUSC0UA_WiTc#l%7^$yntHzZ?mj@fi0Ws-X8qj;Ke$C$EE+_ry&uSp|2- z%sG-5K3I4I*kI1jMLB9kOLTx9B?)4v@SZ{-JmIXZ9)}<OPTAI^l9_L8abIyxd<K<} zl2o;eqYa@`aJ1_UfDpdiPhLR3bZqEs3fPOh9&?|sT?BO@qy-c1^=>RooKpQ=I0z5r zqd1d+r8v<zsR6Oe`e!4y^-hxox;vTJ-ryOWW75K@B64sMVgKWaNC@uUf>@0K^?BZ5 znFQ-lh#h^wkfsw{>hBDZe*m@Y&d!%1ctK<a9dh{Phq6`G?vNpseQ#O+Xf3AGysHq# zS)4({VZUH2oUB$ZXy3mEzMm`mc&=hbl8f$n<2c~SC=4vFx|u4uS6RxvH*3y8FZuwS zF$W)7aGI3q9t*iQ3RuYt3$r9ZiS)meW|EGd5?M8=Mf`6UG}j8@6sSaI{ICH^D&y2T z;F}GuBYOwN5=_GWINhYNCqlX$hg;<0H=EUr=-y$E_>T`VKtohF?Qj}gh`NU>h<WJ< zj^J4W{@n%BgQ?=Mcl9jlY<}2_2yKX|LFC)N3;-lu3ZR8;#-`c`-COnp!aq9#qjUvp zYz3Ib<hU+XG{}qFLy)hDGKNVx5bWv=A`Xwr>eUp+t~U;TGm#y&SJ5D+`?2?Kl$S?; zp+qrmpE&f(@~b9uy~DY8XZS~AX`Tdl`$(j3%if)sMxk@!ATvyP!ZXGjtnUqg!^uwW zNGGB?nnZO)oq|=<nF_L7gF|0UwCC_B9(ciOqJX5d_q^J-K9|Muwh!@eEIiAw*5(VZ zOQ(BsW)ndFAR?$6^ehn30H+HnLS3V4U0bFFtK)Va=I$H)OQNlm&i4z+*K}~+G5>aO z_6F5HVz!Kt-IYWo-NF`x=&f^pHQF%yiq_E^+58?i%#iKROy0-xAb7g}sp9zQLo9u^ zdd)AkpJnKj`CE&=x~+x=73MS3wsRO8`*J#F#<+sw68z#qngtSz2^{o^$}FR*^JS!| zX8x^ZU68IWVZqXA>3|5}3xx;D&Tpj02GMCx$9-4)G05Z#ouGo(UU8ddNp?gerI6KA z(kc*dyF`^iRB*AjAOHU0r$1Ms885GC!a;|!Ox3E#T1RmTuR}YwT{#m9GP$A^#2JKV zS-!#!qSvNCJ=c-0Q<xLbW8`;r$Tvs!F|m-~G}%#LRw#ryJT3ft6h;b*Py@j>KwEt) z+{IYKwG9lXszAP<VD{o<c}^oraCivVu;-Wbn5aI5D9Q=eR5V?K=sX^amxPY?ltbP9 zS^-_xHR_&{&a|G!eo3Uxe>iV?HVafh51oiRMTAb9h!FpKixM+WcI+>8@%JR`tkdRa zE12&ZAijeC(52+$>o?k`=Ax=`X198QCP63%^8h{@(vK6bxvG7QRFQ?Ri3Uf*5gE{3 zHU;i{v6RrK294&_t$N_oJBLGKs@OqL#C1LOnIQ2Mc5FM_!Qbyp5~{KJYt19C6+3hC zKY{Ctitc`WwmTfUjOr5RUs!&6!7y6f#YIcM$w&^}g)$ZzlLZDUOmZtf24O+RvDKJi z%R9%>MERlF1zR{c-^$&UE0@K<AB$j%V7=kMdTU6o&3@9KH(Ujye#h=y9cS4kilbY8 zx96H>gybICPW)aqwFBUa61IvzUgzc4Jc(*?U0`@iHfF0_2<pnkU`fzKdCJ(T3>$gB zbf6IC;Ai&GMHF5Csa*4l9sV;woK&YP#<e&y!Ff@WC+ZPdU-0<H;t-OAW$?!nH9NaK znN5701J(QB@?vup+hVR~fjwvaP$CYaSSsCpi!_7vDwQ};)$Z>$_pgk+&~L;ZtZd{Q z5;y!1P7D#3#uh*hK#-PuKNG_)m-4mDjd&?I&3v%f0`Onhi?NBg??LWhDhh|e6i#DD zZxD|NiDMv0-FgGK%u(6v0-u9po(PsAJ1j*2^H?4-u4qhDuyo*hXN8MY4y7vo3i|UC zl*Z8RMrgKHK437N<Vr{=e;<D%Vd1glYVb8@2kCiV-#&aW7W^(e-GnjNR$aGhe+oEN zpjk#P%OEx+D#V5qf@HLEus*(--|9S#a<B+$>n@Nm4bMYz(ho=suAm)>OQe}jjo2Vm zs_&3^A(WL#iaT6XFOM2p{|97em_6KnnX$LO2AOylK89kPaAnsa)K=u)@@^I<;uv@U zTa;o{^YU#{4_2osOrpC!m|W=`{OaNM9<R?GM__3-(>a)>rIg~VFN#+QH~5eKB8_cU zzxWAGopqwkYNbP`{%9h2zdTjgBJMbB2o+1X3^qI!eWX{Nv<xfp+c>Ua&rGmxRYjn? zPZEcRMiOLzkAj!7HIe2vnX<*CZ%iA(VJ`CR=Y;n_pc;N`qE7tTbc$`hIR+d1m!joo zJ*e!65nKmR{nk>QpJ487qoBiWa8)CmbUM*KvVA0DWqmxn@*pPqj=wnY@Np-EOKw7~ z{*#r<({-3hgZBk%p$T(Lw13RKxpG)=Rq$&Xcza&{$?$7cfUmxBNUq>&jzVXRu@;bB zJ1So+^0QVh^l`z)GGZ-b`P?I)d9%O)MIqlHlHhNlnU9e44l8UrQLK+U^GaCv8|*J| z;Nf`|ITZc?4PJRFeF_vB{$Ic-DE?;CV9pIn5Okj0n_qPN=D}lR<c6zrvGxg?Aq9je z@E@-E-_ZuS__y`Kg%;@}CQ2OWtzM`wF7WtaL?~yzZQ@qx>VwqkscSL1m9md93r<<N zfWzjaD5C1`ZjDU9eZT=vejA>=U}0z{9%yIBF^OgBDZFGV+zB~1)&#;I(6VLtjDoXx z^uw%&G7cECPjtRvQ&W(=rx*Q!f}9Oei2S1M<j?<Usc2zK*|s6`5=K9A6r#zb$BlWY z9rPJ}+vdydHrBTjxzo7&LL_)}Z9x!R#n2CZM|>{3XzUXGizvLH;b3xv3KTO07r|*@ zK9Qoctmwq5BEmg>XME>fIHzX5!Tg+=x};V;uWztu?N)}!BM}36-$iIcsb0fjnAg&X zf68M~!$2U6{;m6ulyV^{w(A(<t}^7nx>2U)!gf7`&_YM9DkrV9xRJ9tb1R)K!FDMS zWnh1&WK>{F^L8NjkOKM~LPA8v*UN*m{+7%Qq@CDreUnEKDPr{<Cb(u+E*-cJKUBq_ z7{b`SxU#!vV&P${3Za^i6sv_?fM;H(p`?||*sGaar35$gPk2<PH2F^g1xK(Ic)sQ- zm7bX3h3NsH(s_4n=lAoO>m%u+K&#)KVk$S*9BTIXM0+i(6KC9W?&fA+OBpr&TP=zT z%hWj3aXOD%Aoo*FpxVl6%?||mW@Si`coj2EcAK6__Y+Bi0FeDkw6eIjG~WGDqMe5T zg9-o5oq7@~mEc{x{Sg#nu{z0DC)1vwGSvK_k5_-i0<_~MDN!}7_6u$UNRQu_g_J*v z+&(K#y^NV@cG1u3lwXy^rG0}F9Z~J;T*xZqQq^$kk#01`nc^R1PKhh=<!8W~W#5nQ zhrR%#Ek}>Yo@mO&?36-eYh<yhm4Qg$3$z&#$72xbJ#;Ig8<bd|NBO$#@gg!`ipSQ^ zs1E9uY532Eo2SV0i4|Y&A-P^*vraW*YNBHEM-!(Lx~Y~AT1UF5Ef_!JFgTT^OQLE% zrjQ>hmSQ$vKukfe_?eg>>i-5c8oT{NJE(hPFzpd|1J~hV?Z)lQz{DWVsqw!GftV|G zn`VcRytZX89Ku)Ev{BP(xEZgT^M_RM9AS=?Vc1D_e>53OvrLtoJyx@`jvM69Pa7f% z$cCP)Zr+JB%!M1^Xo5WayA&ns+MC8CE6NNskJ1o-5aL+CPSWHFE#EPX`Qb|*ab_}E ziaS1w4#O2C@6$Ov7%TA=E*lKAZ4p6+Q~j<f=`6$ZXgFk3BRNdBH^IA#g$JL%A_-1V zjXk!7!4JTV%VK7o+IGnCg_Zn&^aBRxS92Ya&4;?gG`Tdy%9T~`O!2p}p@$kIw7yJd zSoOxIhW*obTc-U;Ug<`jNe#Sh-!e3Fj<;do#a57^;yK!HkvHsDZ)9z$og$*&j+J-E zeDN6J)~?~WUf<lTmTxJ3t;Nghg)r`6ATVJR@xXx;vicG#1_adny-P%tl9BfV@bn*d z#Txkiqa_GDct7wmL<F9z7;_T_j@lZ^RB;ba&Je!3|FBZ!d-F9IxX{ZHjS!e=syHr; z6mUKUP<N11Jcc!UU<3wuRbUmCOclITcdvYtHvbFPoTClWd%+Tx(x_u!st$+RaXbQg zUzBah^Z3Y=B$4Vo4w?@lYDbDv5&aGaU9-`2QB(KE7;H7MdDi>%m=S1KaEc|$dNKWk z@OLDeuZ$v1Fr9eqAlaH-*7}Q)U{6=niqHN6(T6l72gq!ln_^Rm)HI4*=4;<A2^|(q zdy6=x>7x+aVm_&KDwOPkUyFuv8czqSC~qg+s9C!u@aTv8568O~M^Hj)I8|;9<@wb6 z4bu3^*ayKZ%~Y8+zVLklWO@o_;Rt$x6Y|DD7Wah!0&W8$(L;4D>CbO&<l#KGBGN7r z-9OK2{IrWU-vodnFDaeRmpa4|n;Zm3Eae1I^=e?w279mZeV(9N-vt%i?lJXS+sntS zm}la4;lbjKAG`!ODD7q0xe0K7y_~sjF<+`ofDMuu2S&n^qbnEeqzt-8`!{jj2S)Vf z(sVkyo;|NXk`Cx1A7ety<4J7{u`3BBWaooFmNQBI>D(`de)|W^2D|>7(mCA|Yb3Cx z@vZ%EPNT2GJ%17cdq2)})t|5IUQpk%qswdYXIHRBN5nN{v~((#)@S~tt_zOi<_t{d z3ByWhx+l~60zl3YzVQ>X>k6*XKg-_b)vi|6d`@d|of~2ClFx6RpUZ7F{<}jV#5Qe| z!+{d7wlr~U6-gzrQb-uJZmWLdz`?Sq+xt#+Dzm~nOIcs^LFZTSCw^f1yf65_5+6y5 zEPzN|t0D!pFfS#Iik!7TrBUmJ0pbur@YJSCX&DnbC&PK{=nIiPva(2l&ZfFvLi_i` z8H~2a!l>)+?m$Fc>l5gym))L~keS({G%Z|$ZA&OZI}p0}N<`MNvm#Q6=6jg<g1IRI zp*<*iLri2XURXFAPU=Owh#&!k(D?sx_ZC2PZPAt}Zowf0cXxLW7Ti6!26uv62<|Sy zA;H}(5ZoPt1q&WDkN|<dPVRl(UDfYbcUN`)s{U1>ayV<V_u9+noMVmwkUYT6kojI< z+m4rj7z;gyUHpM}PGEaHfp6xM0)j9hI_&|<dd89x61wHJUq0834lvrNJF5z{ZxqxR zijyWe%yophYjZO2e%c;uU#4aRA1;QYx8q@6f6sO@Gr^)U)k%Tq{`R;*jfPrHWIb<k z6|kM9&iciafl6Zwpm<=8go8P<N+1z|fQa2G0=UWp(YaR;nE6Sy75(NeQw?gHT2u8d zXnTlFa<Ytez)=Vp=GQEBJnq}y^q8|zcgF<QIi{qd6tpCQ?&t3)ju3+gnz!GL!C;cH zFq*2|efA$lWgd!}v$5z+*;=$rdprY4+=p8L#JO+0=GC?F4DhBEM~dBqb*V#6q5pxj zi0U^}Jc*uvv~)>9Wv@iocmPOdiQW*h<YX9_+9Loe5^z>*29oEQzFXaZ)Rux6mmnX@ zLLYA4?IdDb$|k6T`BP!lAYMlCOyd|ZP-Y!6Qsz)U0A5l_H5*qD9XJOoTj9n{EJ$_z z@zW?nED#`%E@rMkbQaiV|Ax7(9hkXRys7u8#&UqAQ8zHu_ufe}<eKUT)Q7t)m;Hb$ zC(Ev;s~O<9X^qm|*{vpQ{Gtr(Q!Z8xGBBSXqsi{kW2eEN@GKdcSMiUAhy_S_0^*4A zl=v?yaxBd>1Wa#8+wib75(pd&GRmm?<^C}Iox#>%Qt3^^IUKy}&WZ_xBN)!REEz3i z5T3B-cdB<cW6(?&>yus?S0qaV;i&VzXO8`x_+}I<p+DWmZM+X2YP%Fm-d2QH-Jr|n zjxZL%Wod?!Htf2Xqkixjl)7<#b&0NI0<BVzW$4Btm2%>A-M>BWbPY2%8ZM0V{_4M3 zMD!-Gh?4x8XkmZr%@F&Z)Nx}WA52Q3?JDs;*IS*nCV5&GVTEV@KBKQOWgoyPti3ie zKC{-xh#gBZrktcm`7+HKkQ<#P*ibEThfFgz?$>`ngGY=()Em^V*!%6e2X}z6)(73; z>U%(rOSqi)kwL;`gAh>M9n#Bva?FQ#9N)@703#>5qA4NK=ns;SmO)ZTZ)&%A68H|` zLQID0Sp!ikrLdh(j3lFZN`g2TNR4<x6_rsQ2DVD8E|WGi0BTwofSlT%oeKG!ZxYR8 zqV`Qex!rHMf+&N1s79?={@})(o%+b+Z;0A_RkOfDpwiQ3U``rm5}+`1rrP-(xB#pw z^p~IZv958@sUSHqm@s=FLxZcLjp`(qO*a}&F)q0Fnb2|Lx6k2MR+m^j3%|Zr(T4gg zHQ?{k(CztDzC?=CeoV^nCZ=KHM}4TBmEA5#2@5d6ROh-AuH0NtGNi83Z@N@?p?FT1 zR*{qT)iR^xE1GJMY(rNmT$VjKJCu9uuPXyha5~CQ`U~>NPFqfVr!KL@FVked!igu( zY@i#l#rdVhMTvuOz#q9}N2$@>`}r#}O`<2@;Ir9_FEPB1ia0JN<<n_?B|wk^vX(7+ z3u*;G#;CVde=u#IsH0OmT!5{S;8s1>djsR|REW46c3!#8eaOFrvwMBLuWhUF+D2?% zdfp8EjeWpFtdTd^1qvY-ze51_mL+;r6=&hSg+%mn!bwKpST5hi>6X^@+2*FPi7to` z5gXx?_mVDZ&?+$e^sJ10!Wb!f343GmJJ<zKnyJ|edWWgBL$8(>Tz)vj_O3t-@If=` z_|Q)H!%fG4?_jn>0f4YD$1Gp=GIjNu;4=m?2miB9FhU&3;SCTk<eKcM9j~z2v-eW1 zc@E2F-}fC0Bxc4+44mrKceFBg>|B?LRg-uHg^k>ap8a6o`~WP$ZH_%9TnJBaOC>jh zfwsm{t+YiXE#8SES=+Gw<H0n}NLsQL#y)K-8aRq7b?$?lCJdny_A_4Q+PSfp9M72k z1}DrQJtCBvvsSlkfjlTR&y5{7Zi3Ps1=;|MYhP;~cejs$Ix)4fQprq2s$ZD}!d6Zr zK|F1@{HD69^av+cCyPw2^@4~dTiGhzDmTI!_fG>wuT65t=uJmRL6)a6KQ_~9d8XTf zMKZ)?^f#Km#~BGMmWFGs5>n^L#cbNzeiU?0MtaFH&e&FrZ6)RsonM?T(XPz{I&|uA z^>R3?KvP)diPh9PWwd9*Af-J^%QR&!jQ;tY5jzH%!QkB~?lR4H{-*q~gv^y2A#-#{ z8XQt^6a-y5^~qvC;mkoQEa@vh<Z0e>#oo*>bU*f*vki$@Jwq9%v~&J~C7VGbDgYwi z<mB~3KdRdf$opWO?n=F8PxpZ_H24i1r<zF<FrsV-OGM4p=SHvA=pUs#9WPR8@;p8_ z&S%s`E0osCU5q$^lm(<<SIA!Y8x`B&^OA4IRpP6<BJu7mQ@HNIm+z<4F<PZMU%4Z* zA*K^ODs|@oOIoc5<c@7Ktpb~@YmogQiBt{`kFdA=JY@m%{*@SOplq-L_r=-=P1^Zo zl$2lc+)hRBwt!#ye7=uVg05HP(eX1hG9NW|4et1OUu>B3rRziFUpIy6-}9SlGwbgk zdkPs&u8+F+wFDi2&l+1(FZKx}<7JY~5xfBn0(X$Gy(LXij?;yQ1H{_+ov%wuR%=6! z7b?<U%LG$vUUu}+1QjZpmfn)e+=UUSFke}v#LdA9M`nF)SseNXKUwq^Ij4V-TH-A2 z?}HQnT0q)(LP$ddT-(^@qFgy^1=25R9O)|cmVGU3!`~zGv=-1ViI(8|fyZxaA<OSI z)#?$(u7z1&WW;VujidTiw;wSwLBOV_P)Mr<59i{v!}=?mR*5zo4D<P!WQQ2%NC-ip ztW}<O1f|GDvm}<lx3N3yvP5cXcIJ*9-lCfffR&Q@gnyTtv1ZeV@}rKk?lJsdeebb; z@qTCf?V*HA@w3=b(X^3fTj?s2r-y`}+lQhV-LlE1qV3>?BtC{DCX;GwST4N1&o|_C z04@tm{5h4yfgRNnYj}OiL4Jn(+9i${eGr!GLL*A^b^`S`{EzK;{IqkKzab)Q$o{8v z4NgeIUQP$qBc7C>5<VHWxmt2Fx_P~_Hm{ZHv>gheElYlY?(M^L-PK|PZc{i(R<0_K z>$j-M^r`sKqT+6Z1K|zI#qY=QgJFadEA5}^(UhM6QQ^*P`0i|zmB|-}o$L4EBDxXu zxvdYr|HNmWLsDic7`nlp`uj($x|J?zZ1E~;%BUl?XbwY6vs5SYXA<{m3FeBo6y5Ph zY=~@nILZ6?FLa%$Z)jEC+VU_z=Wsstk|Ana3Mb&jT4^v*Jd1^att~M-C_P4KHjg1< zQF+Dq!qf^~xv~8=ar19jZ6OHqOua$q@Usp2Cd5fD=ENjNuJ4*V)_yc3ZlI6<IPi~1 z&x!gVN5JdpzVD&{*dPzST0*brdMHKX1kbY#5qXbwKo_2V*?+~`CI{4V_E`Qjkj2%B z4WpDET8|kCA;h9Czx<Ar+SY&12g#zug!%WO&0&Ph6f+?e{;2lU*dL}|@EAli8Q_&P zQFJ1gNv(bmrItg96lN80-d&zKu5t#MmPDT^SjL!W*oV-@3nFsgR77HXQ*dH3T!ks> zpT}ThFa<PD6U~ZC+1-U!ii=~yiVJ=SMBa+gKgAX^&<6)Cqgt(0VDW150<*L7dpbGp zn$+*R0U>uF76yNaKp4XF%V!8RHY<cvNSZA0r8kbUMMc}U1jFf|^w4ExoBl&;-?Ck- zqFJ+-edfkjwLftb(E}y=_mKQ94oKSb6G&pP!w;3TonKLscl~HTF4PVYIn1M1epI3z z<~0w1oo)xfq64GXD8LPg_IG~of#B0NaNO+^WrX&G^!F~LX+MIzA^kZo@6SX;>UvHa z+{T15L=K{>Cg;SZ)}vBp*zp8$)5`3pt<!>;BEHQ;;$OCqY3&E7n7zMbV14rBD;0Og z_^4j%sJ8^vBmYd}%)rVCyy3x?T?{It#>kpjo-GJhf38ON*Y*y9_^O23AhHg$IPzaV z0w>VqHc~v{HKsa|b=TWD?uCNv;#G`L*$F5yVib_!5|-MRZm!Jl8G`IE13NkB2xS{? zx2)P~0^sNP@1r$-NQ$M+&*It-@!)#2h^mF}v%Q*rlu~!rM<>MVF(SZ=5PRpg&d2ai z>^ce(+Pu){Y+<Y2=(MG4{xuFPjBCS;h-o>-Na<KtL0QIn$4Cxt!YULXh?xorYE^yz zN|?(995Ph^byK=vfu^V)ukh60pGLC}@O+2wO%!WxVFZ1-FW$eY){%ivYgdc?8%l%B zW-ZPckHE~I-<1xqC!o>MM9vz-=93DR!^@vtdNXb1B;Y<1ub`-*;nlVpP}0D^Fzu)* zrWxohUV^~%&!R#~=8G}kVz!}4{;1r330NNMB?0cmn_jkBYT|D)Iv7)c(}6Ss^CO>= zt8=6#vv2KIbGZj;`8E0XP<4r4s>Sdwem}ERwb<5Dd0<zKn>6PEATIP<;q@CELe<Fb zVC3!34I2&5nfGbcs5749n#l47(;76&+#UgMFf?%A&ij&sFi>ZtGxQ}qJdVAD3VWhM z^)}y_I;$VO3bzVr1-0P-EIW%ckD*$)f=-hBoI|7Kk$~!Xu~PFT(&B*kRu-%3=Um+} z2NKKI$cUAY;PL`+Of+O!_k6Rf;d9E$56&f(5m_yze^SpY=F<KI_wkP9dy9FxOh}?Z z%CpD(yaab?fEH57xC2?ZNa=MOJy?80`K2fOKaJSaU%Rh&$v|wUupj_QaHrQ~hdUa| zrib3flG<REie0ve?d5h6F6sd?j>JY+bBfH_Ja$&q&7Lo!l{DnO%~D&4c+a5<TO}8S zQ!p;RxvQh^!pXLcYtlY@`YPiH0FTJA7o)Yc0N)~W&^FRX3t6KvVYZdJ5Gf(g`Ci?h zxD8T#<%nhH_n($F+J=l?F9qg|U1IR1yYZSThffkJJCESfwz2ClC^2PPaoP1pkz*F8 zuAnq=U+H@@a6g~#WgeJ6s28`(;Ooq$^nQkgl^#S<N?S{MbN6TC{`z;08~^5%fL~9Z zTX+1`(8~RlkFn_4?aq~G-u~N7+qDu7rPAwsd0W+_03A5Kj&tgY&K0gt8d-`%mg=nO zJojNm@(mhfWv`d)xk`bCqm{%Vp8G7e$m^qoAUNs-q>tIi@8ZZ+mHEtJFrE?Fk>-z- zcG%<K9?FU_j=kFEjPo%STmB*@w3RjysLPeq+4mWXjyfXyG&0KfMifYqA8`7z&1-6z z4Qw<-cnI>+q>H8xJ9?@%;fqJZQBOM|f6V@KGqc3xEwCQ5q2|d>k8bQrmE|-e`GrKo ze|lwDys|!~V5+tlhrNwhEWj^|3b)&@tjdv~TT#}5*4QU>MoGVWoTrd^<O6Y?=sR{r zCV3eWY*6tm>U>9D<nkvtrn2nAwed9pV`pE$B4&2Lg<mgCnw84y6?>%wpd86aLnFl; zr6UNTwk*~tn6T;g8w!F;hHgsr??YKK`b6CirdJxQ_x;+6SzbYjuC*UjNW)+!h?~P4 zS(%IenQqB(bdBJW50hdw>cp2l3Wp~r`Jf9jp$XZ|b-LWu@fjn_t(KB%1z5KDoHh)J z?_zLSTff2F;7Yzh*4DVsaQ5AL_af=UGX1r-Ux@9}=C-!vK(9VEIW+PvXm<f}qqI4t zI|cI@#EuOL>yw~#Imq&&s~*kS91DOaui#AFD9~@@gI%P&Z^C0wt<CN7?Sp{9od#EA zow38&V6;WbX(2~!Be~OZ&;d}Yh4I7!*sodd-Xwyaoz4hqU&&AryJjiNW?qfiqpSOM z0Rj6Rm<i=Krcu+vKyt*ef_6CFm_%nio74mZ_?c;*#~t9r;W<uFDP%YkA!bo~OqQMl zrh<l~Js^udPUxW^4ufrz1a3_I@e!vo%+Yn3JGam!h*na@j@1_h`TneAq|qb>mUS+z zft%Ouer50%6%QBfId1%MR2pqvD;Ci*9vRx0*p7Izk&s_i1|kb+>lSQPzK)+GX{<WP z>oHAqb*T~;_B8;Rz~?K>ZLnJ4W$z}7POvzxOb{h3n=2)<5|)<0jp1e)2|ZU7FG{$X z<zIzEr~D;a#WRB^Jt7@4I7YEl0g3SOwl0mk+h7dAp-t_wmk5b4$!Nyw3yJqEQG=6` z>@oeF8S*K6uZ~lpt`|95-dmY3GObZeoODcHFi9IT+cQ6Xc!Q4LJ1NEkYm)++Q#C87 zU61f}iwuzXKA|6Dw}e`0_h1T1y?J7Av=gs&FSb&oG*jthR<wdkgeg;N*iBv$(yMWH zTO9E%<TnxTs#+>~mfnH8^H1MULVGkw2d%&83UlP7vH@USWOy9A6%7$qbAwPI!Absm z+l1?;VM>%pmiTAtYO_d_?xCZ|_YCuTtmN#b%mb^hgS;#KSay<jj>_534ol#u$%8+D zX7rV>Jnm1QR`StER_%N5|8)+}b39x6n~~qe05czM>`V4K0DE|`xrT4qsCzhUNz?^c zVy&rY`R<Xh5(#8Sl02pb#>0^Z(C+F@-635~FDt&zJX95J{!^2$=&kp<#}W-K2wOS7 z2>|@4sYt{k6(cW(fEF_ql!E4Lz}X5E#g|V)e8<lnc{iz6e9GlB0Pwc1z?h>D4_Qte zh6U8n0B+fT#<x7X?mWzY9tVZchj~9nAx_rxMab@R^t2MGAV3dY^&N?}Y5;_C3u0{B z<XPc)r~A{d_}o0%Xu!ldv4=VOK1sXga(JuBH|IL0sXj<E$4zl#Ql`T5_T3IR&cs9I z><$zx2pF>xuv><(j><LE9YoV))dAfMTP5RI$N=#qh4ygUuREPi0af7$$()=ko?i)N z6M$~;&VPj>-k+S@7nL8!zm2r$QJ7u%is8;IGTRl-^FRCR9I>QT6t>m-QN}Sdr#C3h zfX8Gqi>Cr9D)$ysNtD<}{dxd<&fV>qm|gfhJv6dheiz*Q#LeYN$h=Q^_5fub;79_? zQ!}iMu{~M}S{lr}uy}I9^$%<p09qOy9Bmh10Xz{5z*#);&+I#Z2TK#1_>W41#_DXq zt?P0kfGL|-d!-Tw1&x3~I{pUhOQKt~Tel&n8eR?1>8m~{`MaWRg2um33xq%0Xm_N1 z_mQ-ISRRvjg=?U&6N?;u8j_?Gjmck;6#-DGQ_)6$*Qje2FiM?%>zx0nI{psmoz=R) z$%j?9mYlfF41ywGHm7u)xawS%4u;~HLK>sl`#TPeX!9L!IM0tZt3B3Z9DXck-T+4T z=>AH#k~k=0##nx!e^mtfMlT@AQ<?tXrRqIs6VWi^34@mE>=_XVLq3<s{`5->7CbJP z{PKfRS^ww1ZNQ>dt|-1<c{z8O+}Tu}t@cSbr|%H~lK)zVTNg#Gd>^GD6m8lFMjG}< zT2S?@sS*sgg?2|s?lCvDQ`b-JNhVY2S9Q!F;gY-;LP-vI8GxMF3s}g#sa5qr%UY5t z8CzC@n#0rDzZ)`on^U02j5Jh~pPeHpV!vElSo3!zYk_yv{(X4;YD0fXsh)(+zSND^ z4SogiH@1&hgG^ijw!dRlGY7007l`xsD|XS2!0X}(Bz)cbCo{Rqbm8KjKU=pz{Po}6 z@M~c<1l8y8>Pubgh!JkopOAAP822VGWhPr5G9#71jEt=|plX)pvmVd*yfQ~m)e!n7 zB#Ye?rkl7(Z%(HOvKWkl-e$VDxnneUn3-5UN3=8qVzm<?klAmHF<pr)3$9YN1n--g zr<}K2#nLVi_~>VmICZ%<W|v0U>}TEImDNoMnQxkD;2l<E=X40bJJcUa96)eA$Ik(j zp2pEf6(i0Q4C#8%eWRjT-J`k&?p#&erWj$}j1jk~piOJJz&<Aw`bM^F1#dm97w~e} zy1Mqd%g(W1LFS<=_(Nh$w$+ksx?FecW4;!LRa$k(Qn4;2zJ5|#wvtxgsK6(X19T^6 z97d8N|8^}p=vu+4LP`PKbVqe!qU`5yORZjlZHWqeAIsiB^@;b$$_uIv7xDl|&6v^F zF;)4h5Fo!3f=@)fhj~UvR!@FE()9nE-Ar-)L~QD75@=)^P-mKa4=-GghK{_NlH?#b zeQ?@nMykCptjJ!!Rb)v7yQ>UnJR(z1S#|I*VOa$Vurg7Dl}Q<9wQZz4JNN!%ybWCS z3_RZ`Xicw0l~3sSZKeTetaNZB>O$?jYti7Vc#0V>09XB&;a`!x;K%x19*kck@G_Jb zg@P-pd=*#B<B_1dB)}8l$>cY!Uag-PJZ`)OSMh_ZwlO~5Hk3Kuh`ODD^~D_%d=*Nn zeP*GxenK+20p|XJD)__qqOG~<4v<BU#}ZWH8F<Cl=a{Poa2^d^!b(cuDo$`!y2$im zbf_Z$-h62Idb<K7hi?G_MlHZc&IG_tfDe2KI0Aj~r@j^40N^8_`FmDa1_y}LpaSkY zp}*c9pG~HK#E4>OScEm-v#zQhC#3=*r15ONcrOnkG0oawV8va|xxwTgzoj-utshOT zhRY}7wbvyId|c0(&)_g$tbV;pa^|O?CIQ2p1vm(DP^>Dq^&kvwY;`}6mvn^lo{w*s zz9*3>`V>M?;hhF5N?J~woA7+9Y$aKI2?uQZB4!>9#C&F-viGLJPb+}}j00W1W7^Ad z$Fv<8W>6*wDK~$We+s(BRc>LzbuFR<l$U{WD`w=zTrk|xKeg+{5!He61MmY>GlQEU zx2DhnrwXbxP@W6Qv+Jm*JwclZ6oVhfFY0__1sb57D-G_eGMJ<9HNnmqs|(89A?1Tf z;;W$J_Y%rMrLYu0xiTo9(8ab90v$%I{(q*@-@M-ec;m;@5l{aR5G}S!K1Czqb@zX@ zYSasY!4N>4gG%!;jvvU^_~Z(NBTnv;^u>`ib9#>!DnKMz{X$Wj-PZt6+BUt>g6Goy z!(0V^0ZycaDeDE-RsdNApc+jUo$s>X%nW8bSS}zl^#6*F2e>d`Q}qY2dcs{#@JbLT zAUIktk}G=uIW~Us0elCL6re#0KESqC3(>1_sg1gKTx~uD@&opU%im{sG?pQ}Fl?RY zeURn?YR8JdM#EQ3QvovO7@XZ8ES5chM;T3Cg53ttW^u)aCWdISzONg}TH(=R)$wDa znMMf)Xj)64!?^+uymqwp?uWCm==>(VPl2L9iU&eE#Pf0kNCQK7#UQ!c%yo|-lL7Cg zD9Ad=d)TF;LJbzXn~BG+!>^=be(~BJ3qBL5j8Clnz+7*2+3|GvC6S^rde8@QttHRJ z`7DMLoC2=0g>a*ByVT<bwSMG1J?sN~vDb=aIz5B5C_oHu0PPe*EXeK-7%c4olHe0- zE+9Ds!gyowJF|@G=Jowq1X~@SM)#1s8G^NuIsu|zme>W(=|fig@8rA(Y9o07V!H+l z$o)c1K<W}MTO$}FyN*5}C`=gw=D#oiG6!52kwF41SQjlle;jysH-WU7_f_DLMjoX^ z2-cqeneS%a<8_&RZJhJd53inR&c*o&t7(YqF;TMX46vM0s!q4(a9W~#20Riq0H5Fw zkOLclGpbb>kVy$vPi(Y~&UkMEQUQjqh@$7gnOxQoOe2IFJRNlP*kTkYx-}=e$M<}* zzAyIlRx*6@(u;EGp=ES0plV`XQPoQ$b!?G%9or_c7Z9^;@Aco8eawDXE4;{9fPZX1 zYhHCEyPJN0@KfF^5CDfLEt-QNnsZ6a!5Rv|#@k>e1C*5tE-zU0!`xkO(S4q-W+8`= zMBmXqx-q)Z1!_Tk#l|XEvfja$0y{BW*d+jid%I=>mRm#*d`R*mlIOs4onn&(FYapB z-KR0*M^2g&8s%*6sFz|}AaEPy0;r-s1wE+rOP&_?@WlYw=HuGF==%#M<KOZqR;gou z^s_57p-!?G(-}k2ksIZLNbw&%!<PYjNK}iG8XpA4ZT>Wy-ks91G!<~eb<*gQ^rvI< z4=Y}GGCZQ|NM7IxXd$oVr_1yn=QeP{+Vy!sr<@b<2MCOg%G6Y5o2~$qO%Cc@uf(u3 z*e2h)517sB(<u@DI*`5;xg4hAF!ET?8VT7ccu(3VM~c5Q_O;^Bv2>KfT_N%p*?@^p zGw#FZd{$GHK%(wn18mr?HzzAACJ&$b<=|hk_B;Nqe@*6V)xCO;mo0GmbmC0$e5mcO z=Hh9^I~`m{AW+78vd8oHIsSlhYWY0|8L4NM0zFbJn-$!iWVLb6BiYk0#Hxl`$o!-; zYbJPp1M+SO?&(A?A`P$K7|kxywz!i*ly+yle1K82SO1l|-H@4;V4B*+q>y~%MIZiK z-E&15;*T#atUv~go-fb(gr>k96a680A$?{T^K|bLF`b#l@n-SJK4Zc@RiZgEt_s5+ zOJ6M}PU0AKDy8+Q!Q9?__|DgPmHAGNQc-W$p}*(aFoeV8O9#Dm8CBxBUm@LT-4JR2 zpUf#gT6pshMiY3LFZ04406AH%WO%5($-bwe%EVi(^Q6R;ch6o7X19HC<c(z25zL<v zLyiJ3IHU(~%Rg)I38u#h`<3#jjT#xEjI<iKHTJ5z@7_ecG^o$`eFo-|H^+0vPMaOK z5h#~8`exS4FLnSMUrwRHo@>t{t(}#ZW}7COyIejCTs?}G3LgN-P8b{j+|lSd$K%3| zbm+4h8!EqJgH1{KjDd?Sj6i(0fDhN*qJT(grIqaA8{&l-tMOt)b|mrg?_DeR-4Lx^ z&gklYs!F+wj|Aj26edcLoX1#NOv>E&UwjywQxPL!>y8FhwP;(YaOGHd15*44#$|_2 zieDx7Jrl?e4XM9+e+mFwJ%A&P0M>H$D>!WY0r0W11MRl8nkKM*l4!AN!IFT@GuVf% z&Sng#pYnJO0Z2vO?ejc9BeL`S>7nN;_ss96A#Y&VhQZv8!xr!7xF<#T)1Nass3O-k zxJ;AZMy{|3wU})CS{GwJz@yP_cxbjwzcVRt4>Ea!`kxYVa>u;!+S*D7Otc#2D_m!; z#N)Y{_!{2I&=g%-bnw`GXfWLCdA|SDZ4>Z44gWvd^H!_P-eZ;}coBKtHxj}MH2&pV zsuZ8e8|G<BlWUd}kfcTCB?h#4k@`F0GKp+yzNfJmbl)`9m|8E&XVEL*GtUU*jCp!< z%w{#{Jk<YfNrU!`UD)?#MM9;X=YwP67`G~ccNz(th)oAtmI_^rvLEy`B_r{}6{tFi z_#B17-cU3OVIx#y&Dw>?ue9n`OKP|S<71|AH<EphKXsik{l1A;kE^3*w1lzXC5!{b z^f#KDezM1ebbK-^=(<JDMWT8nk+kG5)B6xHIn#uB`+y7;A+s+?od*G^LXplRY<xth zd=ymg00d*VlQBR~g>S@@>!7~G9G((Wmm-@dJbQ%Qn**ox;Q2YQQ`D}@>q{hn3?g%f zv#OEcYdxD#)mg94%Rhi?ESw`;lwd9<SRsQwgOtYd?gAs=9Ja6a0p}B1krwN%9lQb; zPs4q=VQL`y_bMD@ZtqC79Ke9}-tclM_jVbGp~iEx_W&1%^cvrqGb|fZyM;zJw?xEB zjIF<XB_D(`Ee9ryD%NS1B>k%VmnG~v^}di)y8H{bq|dr;Y_t(u@Ljl~0%o+RZdOSp zRK&3r#0x=_Q3pq5IIw)t+(r8d5{f9pHnid&!`e_@qFKa1)c{y99AX7AaedEXFW3)P z{Iyt7ezd@SmCnCVVE)lp=(=&b6(?|nWT|MZS8svr#F&*f@bIOBbz;wift~`Sa5Wps zAvDw`n@s4nw)LjA+gD~ME+8DJ>jhjy8;b{N`_)^JRB8>~0`*YH)V{}M^RWZ-r5Q|Z zObJ^1GBI;SfudrF4(MK#62?I%OB#pgs+`7~D%Un+yENU<zcn&&2HRJzcvm`pm+7?^ zhk9m*w4#q9l@f<({8kxtC4(QTe|?j(u5QU>MZAm+3MRTXy-6NGM@$<1`DZ$4iZ_pi zii`X%(t5{s`p57ps)M}LyTo)a#bkiwXF2go>0CE|U$h8q$Y6rtGb;w3tLdnLVllWH zHovWBTbBRsLF+nuQCiZ`aQYOgXEb=_Iyn^ttM|3@td65>iKlCC^&n2j75iy*lPS*= z2=Z!qg&{>@QLk7=YFS12Lh5ATZSl%{`C)Zgwo+lVqy*I+b+pLxr+Fmk2s~!p1ZIA- zJ!Y5aCx`maj0e>^dp6J)w?R)Pw(6=DqO?jg)?@Q_%ymL=B)9`ryoJz{2*0pq{*HWO zu8zu4t#cidG{G!L3z<7~R=kb3On+ZX#3*CsXkn~(k(Xwga$>lWktF*BPAFiZR=B>_ z4<)+Ca(T89-1Z!fB)Abw&G<O8!R=?Y#Z}tTmis-3(90zB4&3jxXC;S*Ei%l0MHw7v z3Do~NR0+(I1Z=#vpOCH><A9HL2SB25WDt<HYY3lO>+N3a4ZmVP!ajtoZznZPzq3{> zwOAJr!TR<r7=eug&uK6^qUQo+kC^5>NyE}<JC=6LnMFPQ_O2r%Y~b8BW<?9@0Sg-g zKDs_i=b~J)GH*y-GtA5`=V@LVnxVg!2pIB8g;cwM5EL1DddAgBb@$hknEQch+UV?? zh!K6%NW6|AB5HN48U(Gl3GTx1X^t^_({>?#7zELnq%t%j2Kdz>2~?q>1rC9zcHAyJ zUDqntzuTSP#7QZmPGXi5Z+p0SXga=<w9yPR^o|EEnauXVeYu_|SWFBQ;C2><Bs;Sx z-tI`7Q%Kgo3A&ibLe}0~7U#>By#<FGY+RwW59wlbm8KYVNbZW<RRXxW{*Gwn#F?^( zqL+#BQUt#thhV+1r1d>flwq}O#rw#o*H{@o(racHRjzup6HDWc<*s@#?KHsR{#7u8 z;tkIAS%>nLXD);5^<CCHZgNbK5={C<D>70O2_z0DSnXEwqZKiSLzTfw3b@&k3ofQM zK64_`NcCFgJMCd?^>V4JrX8z{=~W2e-T~@+_0E4CqW@QzHvd1aWUizMIKWSF-vWg< zFZy|iB=b2S1n<y5u@QxMtAP3GK<)hJ=Msj^k1N1d?79h@6gYkZQO_O5Ltnl6$2b*y z*9!<c0*0Rg0Lc7BiVMIoKiP>|0Gdi%`Sp_&I=g>vmG6b5n86Oc-U&|bb{jvy65tD= z&+xmN_}4WC9`+|z+<g7SiJQ6RAL}=tBY3d=Es(qe^v_P<=#w}M%!gKpNDFXnd4jDU zD8v7TC@7o$b)bu%u|fl4cmRn$0iN=OP9Cg%pwRgCau*n1$3OzMj>8~1N#?In{gD>j zIg@C!^J0+baK39him6mNH;M|FHP(3$(o%_-nOTdT-6Vzj5}<0i1CCNjPW%u)FDGZ- z499=$a&b%Kl<A3e&s8*kh)8mVwSxIoeki&m^iT{z=mqe)25tjdQDFKy`Rx$lBcc&D z0_t7*dyvT;54ad(c8216fCdGKbd9I1gZyEfF>p+52jJ6DN>1~Cto~rB{4mEtcfdL% z&%iGG;#nRDFwjwvv~g2&02*WNn3i=<qI7&Wk_PJ>7la!?t6tJ7_^;a_l}1&P&z96G z`U+&(Q2F@*)!h$GdEVQR_)e``;p~I4fUhD0E%YAvZE2SQ!;E>^yPTT8;U3`cl*ghk z$Oho%F}y86#^bNTgNQ2kx_(Om2YUykuJ5=4q`u(?z&$NzebZp_IplLF;?7?(kK_fG ze|#1n$%C=m--3R!ewO5(Y%8WGwBG!Rk6_}<`Y*So*It%I$7%mKI5ZQ)k=G$aE%orW zGJGprX&-dmuXK9uo>P6`5gQ+#psg_Y#{&ZVbzMc-xPHKKc0g;V#fbEo`QP!EMLliT zPQb(m6aX{F@b7=s)mok`*8zXO{^Xd#zdf~pbe-i`zl1p^VC!1%NF!mQGzthO*_Ctn zIS4%db+Rxj<S)77z}VNkmkO7!PsPkeKLr6k!+NF}z;mUkCuODhPfZe#u1g(VH3s<r zgW0#IsC{4KMsc+%aBwSrIQWmXf?W0+h+%t!41b+!LkM3=PWr!X`~SI52e^|TVc$V} zg`rqFTDZBpTADgQJ~^4aLE+%#B4;OueB$Nf;N<?VU-SO^wXiTbo1&$owYv>D2QMG^ zQk|Sl^R2TbIh(GE*&9o9cXBoj4>R|_-@I}#wFU(`wib}9`T5D&<ScEiZQRKPz{gjP z?v}33PWGnmmMHG79^kr{PWDc&8qTKXmf+%lZw<N15!_SN($(D3+1<m`o}5k6*4+*K z{?f_8*~t-73hpLjYY%P*{)gO8%F^7)!V*PP6y@KS^M*cseWpP)MDQ5+HO}EjcMHe) zCx?e)g;o5kf~HWh#*27myB$Tk@bSjM!{x!M&!2+1IU4ICV^=wfq3OcmA`+7$zNnk4 zg(0@lHyud1OUbxP?ce=4{n6puLPvp&O4-TBD_C{ox#@q?w(jM1_Q8W#5D8i`2$LM{ zzx&UG3Uhekr<a%ei$Hfz73y@}zUj-WaoRHvFVFs-j*EdyjRGdD;DPwtm9*ERE{@w` z-akwE^>Q9a*fy)L$Q<%NAO4~<H!qmhwGr&<47RG2SS)e-9=lB2Veq0T@LSH?>eD$M z@ya!7TDHLS?7Blo!J;p1nw*Jp)O(3?rAc0_4-x5(Lj^5KhbcEyQi?<jnm*$1oN2%Q z#ECm9Ij6Pz82!nFdEJd9kc~Fr-OwlgNxw_2cU0QpZ=<;M%|DD;xvdzAzY#$4d?M<R zV85q1FSi%OiVk~u67gmGP*HVMCWNy$+mg2^DT;191%`h|Nu0JqG;^j6Dw*?BajhV6 z+yKsDZ{a74F9f^a`P)Xu#Bfg)4>r$J3lIQlY`Liy12nDmprw<?`ByPv1{QzMWo*{Q zo@}F5y3XVBehersVa_=brT6?kcbo0W>14S3#FU8WO=zg@UHNo<lT}~mNY1R;g@!)= zI+&8`2<WXrIijui%IY~S)etKvsmJu)pWh&PVEp5>e)z$*%U!>F+x=qaPPiy0neH7y zYEZeY_bUooYf_Ad5ZEU3r#x=*+>%dXR6*TpBM-lveya$n^hCF@1zs45Lg`u9ZB9@U z+fN4TkMkc`3|-ZTB(@>Alm^))9tze@@RUB{=*|CrwIz*cX=$)fGd|J@BYNdl`stKk zr50Nit+q3TJeg~<4{_OsJSkyU^K2@AUYn(&w|u?k=<z~s>{ft$U#5V;Gk)!wp&|;g zZ*$+kXOOZ^*Sm4Q4-2)i0{!?f`dJs*FmynwmfNqRX>VpyjQDj&(OQz^uO5#t14ss! zzGh119A3D6e`Qx?V@h5V_lRZXVRP=f6EJ@KE<3)H_synj!_w+hi<c)a*+)DCou0Mz zm5mL5y4SBhzQId(BkU!hqe^HzRd^FXySjSL@&!#lQcXH*#Y!3DTabObwc{ULDq~as zc0s%{N0W|Vo{E5*4-|;xP37%6UANwjQl3RN7=uG8bwLvT$;_W<Rtc(r(#ReM&DVZM z0{-S)Z@%99i!UCfJ^|xYJs0PJmoGAP;PV-k7_V?Bq!TC#G7SoS`|g+Y9v@oWt@sI- zi<!k9nJ`uYuGz51SFGN)AfOMC-bP+mmFM|BkQHGLLz@h|cA{x_(Q4>*3XF*#06dhV znF>Wuml?^wE1MEYNcy=xoaeIzXKJIDOVFlchL^ldSQ)qq+);w|+*IJ|%d{mr+RsIw zMK16@tcH90sy#%zYmwMin*#PqI>99omXKo4=?9&U@i%#Ba}H5F#Amv=*2F7T?Jb`_ zm|Ne6|DaR1eaq%u&w5V7KNls@6tp++5C$HxUeVpzx%3mS^6O{n>^~n|atVmOp4*3e zscZj~Ub-6J5WG=Bs4YPg`M$YBs<!aBRBU(HAZ_>Y*`yBxx;xy|F{`xkUKO!dou;3F zM-V)79M_~|K8F1Qsl%Ht0b-UUk++;xxSIZ{YDYTEx#?V!nk@(2Dr=8)iY(4%;$2XP zQq~hf(Uu%g?`<s($M_ZEH@B!t%h&A&GyOj7&yE`;aWU5{xFJ9p$}2XKYACa*7(X-} zIlZX6i~M*Op-=HKO&;6Wk2yD<Yg9qtvUz7b>hWVN%L9wF@jld}&vwOLrr4!hx<03a zz4c-om*|y+vI%N4S52@^H*L;V<bM63w?$!1M^#<H<jZWzaNmgXc&_ImjD<QI$Z3-w zakq^0g^bW;2jpZ?i*|Q6s+%$Br1SPXR8z%@FlxAA)5Ts;U8p}0*bg;^rF3+k?yh2f z-i^sh;t`UVsKPFKH013^H=pFYw~)$KyH>G1LTKBEJRnX3>m%V!8eUKd7ynK~UgcL< zG~eaeQenKq+4*_C6U$`w@J&u%ydkC8n(2wYME;m;QUrC0K^gSkFViOK;pJ0wRcmMU z4x&9#7j^v4ZUd(bklo<ki*blecyyktp>!Hr?(HJP`M;;LWS5BE`#@Qq9`mzQUVOpH zF><rcomPHqR?EciQ&X?NX9j|kbb)Z$YLQFJ=zf9-=O3)zQb!qiey=B{DjV6Oh)sAk zdrqj9y*n~$`V;vFhqjsJ^Y8|P8b(ou^jgcTFsQAay^)yPj|HE;K6e|Q+7@tgobRcA zjr{S=JI4J+C~IPC^z3IJIV<6ZWsGH=4WO<@D5pR~)%<u`m!FvM$81`jc1})kOag39 zPH!yNI_#DlHMd_wn`s$R<Eiyz=hU<Ki_|85=x3D`0s(IJ*l7y)g2s{?^-|Q<y>2*H z$;`Dk?!IU2!h+9H&|W(U88VeMiCkrV&e)-RfxosqKRY|mi9bX~%163jQWTBOGEA`F zZI}m-B*OQ?2WC((WK^#wQE$K-qauJkn7usO&pHS8!`)9>*iGSMrFt#39G4uIwnkG! zMp(_3<1Uijv%7tT7P8+l+&$au&}{Rs^U-7%xLb=ccgH_hKu=A5ypejjphQ+`DYZ}P zT~JHG$2T1yIp0cSNBUiG@>+R6v-N@?{&etj1(^u?CWr&qpxSs=#~(9%p3b(u%CQ!u z<C=XdX{cs*k(|~3J#rVOM)drutjSi$`y;<|Wmj3jTXxQ~2KK3?lRw8jE63Fnbtjen zep%778_t?n%Z6&7^=|x37?YKihj19o71f6|cTt;(667gK<3HoDj8M`oTimrNa+0c8 zE^k`2=kHI{4EN!1pVv}8ME1WINJ~0&oVWh{(J^J<IJssd^XEvq>q;jQrZunAx<ks| zm&{nnfUED($@WtS6KIYbu8Dgp7{P`|5}QA}ySoeY{N1mwFN;!;|6fiM|LGCq@0Y;~ z6ty2vddXJ=$KzDxef7OPzRxWX1wo0b?aY1E_tj919{gIyR959Lld`QLW773u4d*PX z-3d)jx~R;MTmF%OqE<9VLXBj5T%&yGr=q6_|JAz$d$X|MmtB@^AK<IzJH=V4@J!j# z!zJsyT?f1Z>TM}9iQ>Lo>x2nockCTqgp8tfw&S|I3)?!?_YP)wevPLNJ(*H=U^gE- zkEY6Yp|-gjl9GGsz>(rx<?j%xfe_AY!f^3f@AQvNz|+Ef7iXg4x~)&zX3Uz}7oAj* zv!f`f(4XGHEHjS^!S`M#0zSVBZeM*9pG>JauuJh&ADuKtp2`nfin=S5;WX|D3UN{= zJ2L5$x~s!i8|}?u>F&uV3`XPc9w+*e2_<4gKJI;d>xX<~ED@%Ze#|Y<z$k6pm6PT9 zd2)`NFo7q<q^quFnolVmiZHD^F@mBcIx7eDIkBsxbcm+pK9oDrbivO?8~L6Sx|yIC z-(&QiDQHOYJe!4@=wCHYKDT0#yKE+1jU8{pR_j2(&rzGr-J`!d`pL=@TSdYqYJtNU zjJm|O%((v%6?RzoocmthQRj$>Q!xSdMEYl#ESH5uRB_!XOFGwb`l%S(wYY`Su2ju_ zYVo<7OwsilT>pYLB3tayWt}j}G~B2Z>Ev*SCY6QZPOSSHHSfd6l^Zl=jJL<o48l=w zFXd^BsDq{B;BS<yghDTV4u;XikB<AO!}B)~N*kwaZhFYbWxW(K*Jm2*N);`cC9#na zkt>;Fm`a>1Mr?Jia3I?vvKam~9RoM@u8>l-Ehm_0t)~k4BUvf-El*7=rnP%2MT-}c z?2OlidG{a0h^X;$OPK8#UpqNzCHLo-xz49?du$t9uB_o^q#HKIo~J+Uxq?r_jb=DK zH}r?8$<S|&JEq;Qdp8K@s6`k8g<vVI)ysz6Op&9yT}PM7{WU(R1&?H5bZ&EpF>fuM z;k>XDK1c9>JGefDwNq1hZ4e;DwKUhtGz|A#JA+GAsY31AU-+EqLvqs}GiK;f-tCAX zy2(qDw<garrg4A$x!9#$wRLeo>U55;5HVO_yXg-(O?YxnchUPr|H3`#wMww33}ae4 zpX2D7;NECP$Ab3y^xC?YH8U}E33+Qnk!xAxbAkTP3@S5T^$I6bCHz_YF`Ke>8d%x% z&jm(<60xG3eI~r%UDcxH2N45lz4u{GPAr5pvPjuVorZlww4`0E7NWXaH*H8uKYn8w zC6H|=Q<Z&_M>3El6ubEie?%>Y&>H^ed%<mpxdZMxi%k5B2O7;bK0^eW6`lOt&l@-c zbDE}68rSeTjHq_c2eG1KdB?gBzv|-R@t8%jtndk-Pfqow8F+OWR2KzN5YdcS$qlqP zY$_{W-8Qi-fSMGN)+|>ADdD|+#kF#;(Ai%jtU3oHO6FaK>(5iVWeZKlFSOxL%57+n zl_iLvvyp|UvDQeJ1y}7r)-}yVj3V19)LO8{%4F`S|LXf!&(|6+zF5ombnh{a5Hw8? zk6%@N9Evu7`%QLXtKtvUma}*3(-DIM2LCU3-VkDRB^Tx2{0-Vs-4aciUMWMR5x;F_ znp+|=W?e5~*J5$cEQLRP^;gR-GSRKBZJ_SK769$$gnmmS1q-86nQO-P(tfCxOMUiJ zu+CRcj;QW;0_NjNuLM^}Kb_`Fb<3FAzh3PyfeQ*<`?27%!tnMPQDbOT)BZ0L=0&Dk zr&+u}h1s12Dg~CUth?sbnViKhTSj8b!AB^)b_EB=ENu6*5uc^b7Np4HOZnYwXny;1 ztxu37jg^8-Y52Knm(sNkGt+tkkR^Ea;%F=F;n`c7!wX3ZT8fjX+tNnMTEp=Dbk5sZ z-l{5hY2&%=Dgw$g{wk-hS>mdnqGf{kHMli#)yTzjC>T?s#AT{UrWM3XBwH+Z_6uL~ zN%XeVI9W`JwJz6ZsDA!mU+4d)H-<~f^T1T?u+;y|=7$*D5SyQipNI3mnEX7P|B1=Z z191=h&zk(ay#LkY=j34jAKLu<|J?h3m(73D<>g1*lF2u@Np_aH=3h<imA-o^xQE@s zue`lWymb9V+R-J^Lddnn5=5ZK7+H^AQ`6wpX;2O*M|IsccQB7x8YGQvr0w2x@7BNa z+}Pv_B|vR<ZY!iWNa@9B>@y*4WMls|2`k(i6QczFp~f@5UhAEvZ+-lX<=pk>C9Cob z-@yz8M|=x;!Uj!ZfsHD+9GslkDG@FjHuS8@{a|dQjFZ^Qe1F();c8^!Covg5HWtLh zssf&@Vd&{{q_Xefu#!Z&V869L|3gaBrO+oilW&uNlo0ThkDibkra12gEeatL>axfv zc$xS@Na3PC;?pZ-S^GFi%$;Q6IQ8Qbb@x%<UXS4pgVnuxH8^@0T<9n$=^)B;8uIDI z8Tjh11|nir_H8qA%P*7EJyZxoIimc+;l$^Uz0<?f=YSIp13k39=70ohsptTa?o3-% z7Aqe~^`HCnrU!}Zs5rG0V*H`R`;JfG-G)&*ac_!3!XdQn{$)o$SE7th*TK`-C-hYr zpX4yww&t7DFU9g33$W-99~b$U2`!2=EabSWEyWxd<^_N7AE3&FjtGnFWMt;%WgBGV z8E0f0>+0$n>UIwEpL@GRlYiF=dbQu4yp;%@kKg(o4@wXU(`0@_uG5)C>`WmQjYG&; zFhMARUsYh+J-?x((6DBU9hY1g(G~FtEe>I26qf)y)^0_`0HrDJ8M;r=h)wf2|99&b zto1noE&-;A9^ascrWYR`3K0>_=!t#T2F_Vd+R!cVusE6JuTX8ENT85%s<|?__5U<I z;I4hMG=F|WQCzipGRK!6uIvegkCM>5u|ZL0qiP`sw-}XoV>+)+jjp}gI3da<BqYQ) z^#~mqnl<@|Lb_|-FCnl;EPLDefJPPC`xz7Z4ODJFhaI<`_?d>Cd&*+X3Uon583x`8 zfif9s_J<G9lpO`7YwN4<;V|UxdUit6{qV$5G0(`CPG~^OapNOa_z&`)W@MYwlRUbN z$NgG2A0}3uxk5*-P4`3n9w-6j_}Yt8na9!&k>Xt4f?Mw=LW7Kgz@M+VLusKrzAq~4 zFkq`R@Iniq;$d;oUQ8Aaw?es27|o_hDp7r7=Mvh<$o-I+?ZV7&wNKLUtfA6voQ41U z_ut0nL5%I+oX7jAx%jnRN!@*&>G7ES%!k>B&*>*P^P$~u4)yM@QOEa`l|Pw?US*v= z@p*q16zupcNqW;7>@Q@=ae&&#FK*3}!$Qr#X=hoP&+<+mWd|w@{c4c?UUVm8C&LG? zQ8}(jpww!Z<d+XRaYS7bxiFv55dS&*4}>JsUg!vRc_<_(Br8|X`|B?$`T`tH+NAG^ zs&d2+>YJ6P=RPaOxe7Llk|NR*vQEKB55gzd-6R3MQNozei62mieqRL1X~VPO5E+Gw z2Dm7=dhh#QQ;$4+EhG8nNKF7khJcAq7Bpj)OG>1H9v}0%;m;ESNXD=1s?$SQokBcZ z6RJqtb_sHAA1jhbbb;Q@>MCY=mnG91Y(kUvfj@lPCfBw7{Vl;%4*Egx=dIy`<!{r& zJgZMm=OH{}U#Vl&*^@(+98w1IxsZ0Ca(&C(&L)v6Q|m$?;|2zul%K?QldD$TzNH~< z`b(m=V<?u1Pxy|1+D|!$KX+-SCZ<Pm-0s)Wx&e!3O}9TWZmzGZQ-`)>n5;G2qUC0X zUGFgW+->|#iSu)QjN9O5HgWP#r%AHVd=nSQ^`^Vndp+>1ESsfyqdU0z$A_j%enYCg zu=T*AbB|QDJxhTI*S1vzBEk|6%E-<RotgWEgTvX7;)LOY;o*Y_?u!(zNIx0}iWpd( z>^WKe$@=H<sFBrb&U8!uG+H+tb8HxyS|<p0XclCveI3g@>*~g4(I&+9wPLv|g>l3u z%X`FSb`2G$CU@}YBjhqWUs_ugQ;1~4Wo3G!UQY2kaA)nkUaxW>*$|@WIu7YQ$l#>n z+V?ZN1l5AUdYyC`fGqFhp(Ju*6WVXCQ(eZi+JK!rH_Ij5{^bjCCU#tAZj8@J{Jk%| zUl>u#P@HHl;)bi4$#cZ3RN8k#!CKN(0vsFy6`E@T{E^w_jYpWqZaq`-i@n?P>EWp1 z2csf(=(|icoW-?KEbxDtTOHP#G^to@Pp&>>WKfU-N6rjegETuj)3$p>r7)ie9UGY0 zB3)+7Cz*3}`eSokm$P%xf|}a?2FwA4D$(xZA$GUxz0b;sP)n8HrYkOf|H`B-xNCHK zNRCE=ZX2&67ZnlJ#f+#%PWkbsyGWDG@nd;)D9aJ1%K)>CXj!XHGHF`FAPm`7KdE4> zfCw()Ml@{C=;?zuajU$I@B`2a4L8TH5*z8?^7^<P{>}aD4;<Bw@7Zf@*NNax`&d6L z-F49iF<&M_PMXyVS7X_palFs``OmLx*$wkN$pd5qI!HXNf+d9XwXFY~d=;!nep46_ zOQzbRGD@o}vaUsY$)QYJxlrkd-iM_eF`vLtwt6`S)As;1sxurd@O^T?#qvJNLiNW7 z%xq{866L+5=3zr0_%1^f=;DGQI%-*|0YkikhCU8VEY158Y%h$O>MAytnh>WJkK602 zoB<@CzOJlm;_{%Sm^yI`#^1{x!-r!9TektUm7IpZzwyp$r>5b*z^-*#t<FGS&<e!r zquO0Krb8mQHEQ2ZU_yL5pcnWKOQ)se(XV*1gjFZxDD{g6!(e?nKB6%{$*I@NByCUZ z0P<T{Q%r+EqoHZm20HYy<sp<G;@G!&>R+wpl*Q<+_(@9obIkUSa%Q2AdKN7@-Fysu zts5FG^&UP!NkTQ+lkW{@G$2PZM2>t)-y=tnf^)qkQT%dv{!05-#A<oW0$<PbRmL-$ zv{9s`;Koaay#zC78<Scm6F3zK<NcgRBQvG4&Z1`SLs(&w&!{lRj50AgqOA)g_cUVP zD=SR2`Kno~cCcKv?jm1UXxCBdpkFfLeOFL;<6&?l_{}|gVp7mki=-;Pp~uEQC!2z9 zaiXow$N!JaBlOkPz0xPw@VtI&fv>#lK8`r;PnT`Va$l?(=u?wph%)Ev+<xW=k4ERB zk-y|Gq#JXa7<NvBm0J0gw2Fp6#aznAqtMg%*ty6hnS<U~t!`VXz4~{8u|>~Sl-nuD zGifKzJ)N-Wl_Mj3C1hffZc1Hf!nWr+jGY^L&SIMg?R$GF=E}`Z%~`EGd&Xh;uK3zs zj-1JpnVedXqpP;rVY#T7Ex1C6^h0I;G5KjnU<_h}$H18Dot(}qv-w2-`vN21Tasu+ z=A>AD7DLA3!rt_NFpcY}YG{+}=gRMes?;p<GfQRes8iorQ%w;I_{7+*1ZB*tU-V+T zVZl0RMYh7i<piUXZwd9P=WH;1s;;c8X0D=D`zfOFu9$q6evVtUR=CtaS)QC{FcR01 zO-Izj+|udQT^khbg!wdJD5Keb>7UBv_sU>h)Gsqfbj2`hQrqIGdi_2WXY6&1g>Xy6 z8zdjLH;L#7y`M*~-9BC+N`0@VU<!tTY*2Jrl-g$9`+Xgj{OeXDD;Ka25nZ^e6Vg)h zEe_Z0d;(9|AsmS2ijG++kzbUQCMeb1dI&FfH=&nL+|4gfS`%KrN6!-`z;@wn)8}P% zZhs@L$$}U8WntU%`ITdDs<RY=DRyG3_F~aMFz-bEM;VyQbw(yNQgdq$<@1sLgh%T< z67;E$M0B&JU&b|*5>n()vF_a!)hgVka)teNrR?9uO)1mI$8x-Yd(SnH4;_;-=f8zD zJ4#YjeBXD-ZVsD=WN6qKk-K6K-Sy}y(A8Q@tehNL(_RzxxF-s8jueyIo*O6%=hj-n z|5}6al9r9-;c1`ht#b3lXqvzB9UB`%ap1~JXi`LNcr>$u99^GtgYday?AuEom%FE~ z2>tFmb6Jjzu!!30wzNbwUN{^N%B~u`4tq>|TYmY@Wu!ts#PebDBCQabmx@HUc)M<; z=C3-Qm@U5CIlkCfG#n@KKN_697GXs$92<LG{++B*t2U9!#VxRKq(cgW@8fQX6OQV6 zst-@R4Nttw2>e~{{`MNSUiv5>PIVC*=>zlC+OD2~EZ5N*n}V}9t>H`N#QXKYHyOFU zvY#@2a9UAB35(43q38b};@&bS&Y)=<4NlM?f#47V1b4SUaCg_>?k*eLB}jnaK^Av+ z*98KLyTf9OFV5k4-tW{o=kKYn>iau2_srbWT|F~>bzhyd<DdGBrBV7VR(V*Dq!nqS zFGpG_C0&PzWBZ;QeYo<ri%cga^WN%qnvr8&yceZxt^~CIa#XoW{4V}o4zHZ_5)7>g zWP8Ex4+R&Ri@gw7&h>m>W1mJR#}cmjRp9$jx0cZ0D$NM#0(Dwh9`xn6pYI8t3=Pw1 z7XzzlfvlxKyz9=aI0HzR=ob0mwhy(~<W8xq?+T=tt>N;!0ILrXDE{rh+IP2D8y7e2 zoaod>5}`qTxL<oQ1FBx;bPn1VjqoChJ&`*?+~TOeJD)jVn^0pk{lN}P*r5skHFgkM zCir-VwHYKPCGT7T3+*zej9Qm3Mrwz8PLAG0@A4V9)s`8u{kEL>{O6H)>)KC;q?JAu zng1{_#3I6_G3)_rPc-^_Msy<KiiLl<k2Q|f3N8on762&gu~aU9r+XU)o<`%K8@1g& zY4fT6RuLFj>&h8PMdZ@+y~KN^9%V5qK(I9@&|tt>;K#voKQ`V+m&>l~`Kggl5>r>b zAp3Wj?M1x5utQ!q?57Jn{LN;{zutxUa@*DL>b~$%9UMrUwYL%B2}&uf`Tt45eX5}O z>9^)HfT&3}hto$7WR+)RTMDGnI@`^0=W+t*`ubXEDyqur+O>Doms@G-fS_B-U^LfI zMTaGBBgNJCe-BRAHBY00u^#@tACfbe3&cO(fo(B6ol>Cg3;~5t^4N<=?JCEWzFHd+ z+!i68^VKj|*HGsa*R!n2-gpZTM2_xk79Yvs9i4eeOVHG>vVG-$%sc<^FepPbhZ~DG zBRceSX%gH3keKG}o0zY1Fi&Bwof5f{wKP27`(v-|fg}=h{2HH5vckQz(v|T2`H81c z?g6Ngj1V0^cJlSLp4(cypU7MXg=ip?HE=+WVcT(2zPN2&<FCgX;adhxp_nZ3MH8*P z>3J;)4EM=9$-(h1elPMb0#Ag|84tTb+T3YB;s|+%5YTRh_Z7P<;A@P}h2uERJ_XiA zJ9oBz=*pQGa$Qu#l`=>XZ4+ND<;2eh%|MJo_!EkWtdWIfe0WHsle++^)x~5EWkfo@ z$S4|?ZZB0aUWDr^=3om{MVNYM<oa~i_EDnImtb&C2B{sk^BGfacqWtf-$?<`7o*-& zKKIqkz`XlWS(&ZDF1DW$c06^wblD)4v^K`tp*fr~Ou3J^K=<<#6a8+-<989}ZagFe zO0d4W3To+mUR`NaU4Hwq7b5Z_;CgbDgNJNh{AWcwryOVu{;?R2jX2h_4Cn_9%F{KD zN)>FSd;YWOzM9K76;k5~`n(y`)%$6E?W~jKJi(vXD=W>7^?;!_JxkR!1CdUK+u^%C znNdMEM&)X!&3^=&HK{!S0dQ@|$D2L%SW_OI!G1_^vKZ;lknp`XBI2DzGKpJXl5&ir z4zY_9zARk0KjIuGP`Hzz$^R&lJ_f@hMe>nJ4EfRz|D!o@xz{e9MfJSMuUOn&RMb^U zPga4++g8qLO(%!?Yp^m@&hTQHorTA{D^vu;i}H%~oojf)$?`HRW57w}6HA>Wo0fTA z?uH=uYNV-kq%V%ub-$sHe_fZz<|mW^=|jSc7HF0u(HEH|=rb1Q_Xl{%t|W(j<}G1Y zU$?JDrLCL}Kkq+a@YUyWi&FiVJ<X^x_xBz~|BUI+Vab4aC4%1T*2}SZJgVooWG$Zr zKLdwE!3b%#r#CT{q~uorN&)+oteC_1Jh@0a#FXnI-#NwSCSV3P;wtc@rexei5v+GQ zuF&2NCsgMep$(tsnlc{E-&xs-9-rMRz~tGQCE^qBy#-tG7ur0mrG^Wl_@G`RhU<<x zWR9=3KAjABeCXFUQ4L`m*y))QGy5)1X4NhIw&R<{vbaYtCdI*ixu$45dY@H3b-RkG zV7%t^U(7B`A#+Or3%NK<Hulqu0^hIJ!>-H(wbj+ok>f}tU0!L#0xeg@JAQYvBn<qf z^nzyKIvIEkG`y#cF=z2te^`!7y{Q^Pn6ekl@v&enDPN1ASnW7Hoye?x+$@rI+{p~t zaZlgtp?XUnCWs|Lh{uh-1=m`4P2y=yx@mPtO*QPRbg_M>QTS&l0z{w*ay)bXS>L}P z?jy}1cxA(ba;3`SY#opxc<S%Vkg`}3_*V-Zp2qJ?>_%9Jb2PG6aHEmA@99>So!YWK zGim)JhVJt^KN;?aLki-yD_(d#(@Nx#$>rS85T!_FaGR@mXy=u6x~XMT@HlKTiz-hy zqE<Q*Nu2Jx_%j0hclh-|+51Z6e>FEVji_t(erF$8IK_L^*D}Cs>?)gLhj6jTcyr)1 zNKg-?OJ|^!q=%XjW)~0U9pq^q{gNa#DcfGFo7OIOCaX*rUyRdMoQz$~$*=+rl{Wg& z+TWcA4)BJtn|loRuaNs#Tv>*vt}h1&<u}Ocpx+9?l;+nmie=|AjSF@DfHCceiB3&u z?$PMDn09tdsM5M$PoQl<#Le8JloA4Y3+S<+_m7D-km>I8D0@m??4;K7EF~TqiqU&O z7m0FlJJDLuCUd4zL4B07p+Bs`k-~Fh^zY}`PpSc<`_5G~fW5)K-mCf^tW5Lf17i#A zp9q{D9j;1V*M^HAZ3IgkG%M1zr;4S_%6WcJLJptd!Cyyo$axn6=$h|?wWw$Y6cz~p ztL(wuzGTC>z;*9^F}D9hycqG+Oip4k<+Q+qrZ53KczSgJ(yj6d%h(TCbmjA9H%Ov9 zdkw}LKyMdGg1}-ZD9Il7U1tR-x~<h{!0K(^wnx;Sh2?&($IGmj^WP3DB9yButPT$Y zqjx@qH0~>$lh5g`0<AO2OIlt+Lb~PK<<JM)W>Or!+Hfu12<G;uGvT;f6rU}3T5w~u z0#u||p>GQMq8%S9L9rITz$NVZkhDT4o0u&aWzsmvlc=0wiH?kM9E}pDi*M2YKC8t_ z$+(I{9$h?#+Ac21FVgO?sO_KHR{2WAMFan2yhQ4byQxhq{los+F6Sd$$NU*a)w%iB zrm1i?N@9S~h$8^W_W^Xm#8+sOv@9^A%x`4YeYNcj3i?hZW97xSPxjD8=Zx^!nUUm* zXt?&In?bpgzA%ayev@{%=<c5H?Mk{W)Z{QcnH{^*+mbD~;rHD5Jhu}&G;#PMc(%vk zV-K6Iv^H|}$}I&D68auU!}&qYpA(Q}tW4y3*~@7foLa6X$+Ir2vIV^y)*c?LRDYoB zvvx9t$|Da+d13{XrkRl!^{YIAm~_2DF=oKBtM8=h=h~zez_R-8n-kuXG=p@sy)>R* zNe%m$dDF7GR*6nzl>Z+IeV^ABflazT9DzF96W%?kY*GVB%Hp?f+`B1j;}g!tqRj7R zWwd)+JD)%dU>_*|wr?H{J#?_UZ6_c6P7-t>4!4RTg~~*8%!0Fy;$C>Vs$VLzLB|(> zU}d(Mh4iImKamQSA{<co2?vhdZA94^11AOtmi>(&>1;wSm{endm|=1G{uhs{h^5@S zvu1AeOnaM|=J)OCE-}V|yz}mIXt$jM*e43C`*A3%f95)i%}0)IO<{C@BvQ+(!OJRq zqTB~t88;sm?sX~S-Pyj9eE#%lvD?oppNxWh=F73t13Q-X7$iOev=Bw_{&h+@odZc0 zbKIrvJ8q=0^z-KxqR+?&llh79b(fUMUoX7IrNesab@c%wp|$*fGk=j;vXB{8o{!bA z%=dMXd{aB~SL7$tnHeMy7Gn7A!M-&q-SpRa)56(#d}45j*$es2Q41P3&%Hj2_<Cpv zKP*X=m<Nm8H8h8HMIS@XsNdygS7)vNZqPhjFoB(QL?AJ(+~a)b%=@&BXO-igboZNO zh{Fv2?IB<xOqOtN&i`v;XOlK=$Li+k$uW>IwYn5<!EA-!)rXJ-uP&<E)Li3|$)5k` z#$lOwP33Gj@hpV~^RCoTx0JWmT=utcemvKJ`6+Cu#TC2yj2aFquh@(z$0BayskXS+ z&0DeCo}-m!M~p{8gUR2c>*39u6=X`<jsD;AoJTw^<T?M&dP8o_IfYLXHiok8aU&Hg z#)bOsbo-|+PgaHahM6Gyr1fr`SVI$&lOf+<T3dabN0i6#c-mTWC}6>A%7wB=5V$zs z6eYmCCuy&fp-MI8v_LW|s)By3RuhJTz#qB5KiM%CvV-^|7?w^rY9{^^?n{IpfK!XU z=dr@8e7gKHzftD<8);P<Gdf}`2S~+3$YWd}H5`eA44l#M-S2RY5#KbO&(o6m2-1_v z(sU@K%L$s~Z0Wh&HC#`)7bdnQyY^ZI8weS50~a`~CL6pwJgO&`YUGnktFx-+JWf52 z2C&aCB7+iYrNR*%{i154&6E?Ym~t})uOE$<@NjdD>62v23Oq&Qc6@ZrJbE|wa1#)W z-vjM#lr(PsRi%#!s6I@0Z~NZgck1=$YDnoJJ+8e@>fW&!1u|X{*ZlrPl|XUP4tO?V zOYpxX`1=s(gk<n7qMM(yVk00k9{4fEf@bJ+?e?5m*^T0bdKA9XcoaOUdLEDXmN&Yf zFj{I-rx2R!9dlJmqFsyf<hbnlWbdo$U`TC0Kux=KFB@fNth_+v`yL^%XJ_6@BuW7! zqYx`n=d@B#Q_({b)Y6P9^wXSjpwj{zG;k8DV%m$;mzDO{9|2KxT)PK?9{KW9c!OGx zsN)2YZ`)l-N*d&3rj+Xv>m0LbaJ>;o@aF>|K!ioWet{%5DM0PVk0m^BbvLPhZCjJc z+ycMNhgtIIy;6D{pae@TydS)U)75_mj?sW#U^{Ur+nnf}oOtjFXa3uCfq~eecEWA~ z#;p4+$yhDNnP42d<ZdDL>YreKSFbHBf1j|d`0hbuIe{Ggo+#Gi(uyB^*%^M_4+kS# zam;scRw5_C4h#1{^05kAycF)b;m@MH_VJ1B83u)j+xi4>gm6Mw{@htuJDIyot&y7s zwSvJif^b%q$-g9i%e<YmR&i6U533)Y40(R<R#2n&b&SHv5(up%Wuj9KdG52}<#MJH zqWM+1cw!3$Ph27iuMImYC{6Dm{z6e6X>p&nVAXEMZtpJg6aVObFnUsy5Pi9$-7h>u zgJAgWTbkg^xvY8@0|ev6mf2rSVSX9QAIT9J-%UkG%oIg2>xy%0GIq+g_@qo=M(twF zcPkd7SVi`k69msyKKhv`puEQNbR*Bqu@<t35*@YYz3`Bq>Xo8o*J8rG)4Y`xpMm(3 zN$M6(@CuNdT0$vUVJ&D`Su}k9X$*bql>+t84=dc&@$h5GFOstXHUmsND|)kFSsv-Y zz_aYxiC?)-lGmri!D>23vK`_|5mU|iPPM<>(B=2`$m6H7ei_37lgEt!?{9_B(Gs3o z(-y<14xRd7U}5CCgvvTb8;V-OaA;BU+AA7B#a#Q)(zG(V8wvwerPBri%KZY;Fnf1; zqWQBWcD`JR2}~6vCZ{_y2{8&SerQ>`IVp|U5YXJYtvu>&lMt`$U;ei&WoeM}%3;dp zInIe<w^ygKjiHm1O;l01L={VX_~bQC>v)i2m6(dTi}MZe-f|M|To|k>yS$RH8qE<J zfQeHiT;S-rDPF+35a%Z^oU#GEz3DZEw90;QJX7Yf3H-(a_+Gh}D$9zuqSR`6f04j@ zI`LhK(tM1MWfbCs6ng5pUE<MO#3<woFFG!ifRM@=I_WBK%UW|X1gRwLt-Up4%H>GD zWr|=~{5Tri_4F-qOmS$HD52f71_b&NW&tYD9gd`tG&+kn?#@_oG8_1GmeV}4b0-)G zExa~ss$7n#WXh=kvmtqc1U`BfvR`2?OgPmb0uJn?85Ed+nSx;{Ar`bUL<{H#eLgA~ zhN?d{#SeRz8tqcRhPSbFUx2tQG*m>SM8QvITlC)=*Sk|a!?MoQlp5j;KdJqu#AkYY zV#TZL2PD{5)GN-f&QCATSE^vRpv3TN%5icmE{vkGaXg9H=Ge@pZEv}l3}&6lvviFp z#9=hb3F1eeS=tQupf;02=>J;26A4|IpQeYp4OuBt7pUgR(GNMNqTsLn8_SNSvbXHn z_<@ti5%BIzAjDZ$xHm#U(~P<*Hz^|)R{=^6qCVNW-zI7p_b{u$4GOn>WYZ8UsY?u2 z&owSqGxnh%Hx;OiwZY=Q#~GrDQFIkpX6S3;7P?#8y`37DMA-SM1zH14+t;h}jc<}} zu<P**2h_VU-PAKe56|Sxi{q#f0)!Dl5D?7dispsl@KA1z!#b|<%+}VTUtW5DP0Kd+ z`qEh3{=_JIJn5Kgqva=SaAmVL?oFHiy)20}(5VseA2s(vhPkq&rup49PD0W+Q(6}s zk*K^$@5cB8kixplRKIe(tL8eA{a46yDw30KXvAn!!ThuO&{aUN!1TiHMZ1yex1#?< zBmO94_Y0_w`-bJGOM1592h#q@)xFhK_(VcK^yj+f#CJgSdX34j^Qg`7W9@Lsq1G;; za3-KvRjX4aJTQc~D_D5vOn*G>S!?;DYuj+=>3X|>PnxSh6!P5#-y2@^c_;Xtfv@fh zvfOa;=owBoD3N<1qM8RdHNjfr=;9cN(`E5K9z)E1DvXT@8=f+pX6?t?JC1kw$Di`N z2U<R4l3ianjzHK=O8-9-2^>Ps_O1io<!7A*&;236HXH-ou+Ve-tjxM&d0&ve)BU(1 zo9YaFG3ul}XW!#qQ2PSBLQa%dnteotk2EDkL^l3r-pSWYStB$BVX`vqBKU#><iz1G zZih2RR5IRNcitzM7Xl8`d<iDv|CDT;uRl*f_IC3(gb53#a5xJ{Ty*BP%LK0pKCrB$ zE{?PowidI#{q2o=nrGpN^Uo66j}CD(=NG*LyAsZju%srtunE=o3nuc49JK7N^IwMM z3{3ZS<6SoS1K>(XA)7+qU4#bF5(B+tx5!K&vsDyCIpD3m;XP(+)6*l!mg@9KPL>co z7Aig|Q6B|q1pM06FZtjJNFu&{m>Ut*1&y<SO?!OZ`5xhE9?B@=j{BK@c?x*p#JlBE z4BJcGSjaoH&`GeX=jP+s8;rMUMv6#aX_@psj--4&80CWF>X-=<Rb6dN6a;RyK=t0* zO4KdLn*7rUq$F`Q--v%YqmoH#4wCkS<^a-shelJhH>W^jWMsKI3>Oytr8#HtIByuK zo2t3N2OY+=2JC|0eSD}Gg9?=Os}i8jE3a(bOgs~OPad?=!K;^J-J#C-ujbR1xkfQ> zcf|c;ZSuO=pUz?Q`b<qlYPU35u5IXY-fy_0(k~Y=lS+dbk=Qp>w`Zc^im^{;Z+9u{ zfHnL~R+QHLJaMb=)i>3pidsAzDQN5Zw$X~(3vxB3y~fN<X<#a4VuKy-BTv(1&$s7J z7<vA`G_gmowJ_jQBmPiOt|T3|V^V#`{e27XpIEDkcbJdMv*3lXe!soFii$Eu%c=09 zV+hO6yFK@`^)P9fH^iJ{VfhU)PqWH6u$U6stH^A3<)v8Q&eFckI6qb$;?zn3S2sqi zbqb}<rGT^TL5JRl>#_z?GGh>VG55Gou*k`bSu3|o$CL0>Hgkw~hOiT61nTNU=vBCB z>=(c+#yysE=UC#%xfAOu1A-ZKGxEWD^)IU{`LD>?eqL}H@ewRPH|3)-!ncWGZ&Jhz zbxF_6^>R5h*T$F0x`|Fvzq8ntCAzK9I8)%y*{QN3!bUy+RObmLvpXYgwR_4i9Nbn_ z@`A%lK+qs58fl@d(PFWokYWyVNzX7eStUJ|5k;c{M777aA~|zn^|cngEyh`=b&k-4 zi}RqfT9~A@@$%frho7-LjMK`#$tGs5c>Zuxx5adApb$-D@~guyRW5^vcmHpg9O0pO z5ySsS>irnQapJ~v+LpUk>@yqD6%sFs=egWZwU!r)mOrjHG#@gv-wK?l*_6wyI#1lb zl6069=B%%YN|3!pnta1)nf&0q?J@>A6f85^(Clz->$R_}sAOfTY?%}o^-w4CU-z@p zRtEmf75HyxigPyAo6#{0Xo<Z?Va;-^TO3rJ(De9wT#;<RJ6BrrV=~;q4r+UR_yD+0 zcpE(r)xZl?MafuF359KXVXnH}(KTD6q@g2e=i2k$Lyblc^S`5hqx{An@R6Sk1pj*5 z+>LXn25k)cW}}Pr!jiehF8@CZ{h!DdJNzJqzO#ThtssKT|BnAZ;V$1ceYf3@uQB+R zEB;pu&D)>3BF=vX8YpKu)+&c&dV+%6FXs#C|L^daxY!=OUHl|4kj#x`GHu>HDwwtV zsYS0-%!+LiG}$YQv+gz=HbDLeV&c2jvTR!V#i>)VBLyze;uM+{n$=%f`SZmozOt0h zP|cO$Gu^g^(o<7K8|<n`EDn#I!vh>zs&B@<)TxNSd14^6E+2E&CefS5RV4`jiIgy* zz0faG9^W6r0wE6$GZZ>YI-~lJm-4L{mB90&MZPVf<*oOBnspWjciwt!<02Wiy)~Pd z{_p&__CSsgi3Ywk-2uGzOwD|`{<mzXV*4R|H~9RDpRP}>CkTb5K1Om-GmgW@SoyVN zkf(rGmvOL?pJw~#2$%B`&0n-y1r$G2VMtj^$)cOEOPgLf_~^O^Qh&v`<sP#pV)Kb) z0W;qAVYs1R9eF3Tca^*7S3&~zZA`fD7>fRmU(v6mvYsQ?*OpaIQ+{@egB1TPZIZ7? z*iOXEME~X!h=#AVQkNXFGa7s4gZ1%D7XQy})&I|#-zPN@MJ(BK5qX4<%Jzq<aq=L? zE5M<fO{F?VJ1m<vP908YrA{u+3;$c3S2tKo*Qb@8tcp}-jglEbLLqMfG2#(w^Kv)R ze^aRBR4luu;Z`J!KKhJz)ob{*jK0)io=AHVB4Z}WEve~tS^vOP#o@gQ6$q>87%Fm0 z-HDHlOHfqkOC#JTWEDv5jqn%yu6-mWE|)8q_57|SIc&<p-Q8jYh^5&?%3AI~5O%|h zNL)CqFw^gQF<H8tV2kdVx_>qaTF*@PaCSOcf~l*$xOd(EGQX!EwRU~nP46vkp7@pt zpT0n=rF7>X<sfnO?3#lV%{iFyz2_9tW%?MtWPU{WapY=eFt^L_@ufH`EqCJS7`#4w z@X-yerd7|0ICEx}*F$Tzc{eQzosoD@%}3tP3A%Z=IfCfS+Y<Ea{otmznV(a(MvgID z?8ZBLb&aJ@{<rXKfzTRaQt!V>m$b9KGI+K1Fpl<Ph+P^OMOsQ~IF;?9%lSSF>zLMT zS<K`rn|@;>`92w;6%d=K5gMiMNvH*7{pwgHB0?!(?a2QlnXG}wo;Om&ntq*yWzi_- zN-S_*dRQIai$-D<&+xHa2NGY`o4h^EQ)HuK#lAw;WHSaKg|}-qUaK*q#2{1hfNiZU z%C5&Lb|gr0vGfh6xn%zE(A5bFcVy4FPTslfX!-3%$FSjDc0CxuIWPLV>%|2c;A)Wt zzl#ps#*Qm*dz5B8wxF3)4EvZ=_s24$qr2S8T)YT;X!7f~?y2T6NG`Rjz^g%5M8yD% z(O{&rl&JqXUSTX@iYfP>PKxbS#@#CC#S)&nUW~(XTGv((c!};8lry%ID1!VV^s^ur z%o+c<JbDGZup!EYX!|fIpSC(K^_!?N6G38AK`V3m$6O}pd$Mpu-PzkVfh&SS=!H>o z-nYWuzdptnk|s=IoK-)0*Es^Ke5#e&v>ESZ47)3Vm#1f!yy0@jq)Y+%^@piPPnA=- z^7m%$FO^$yqH#$98mkm4qC$nuNA~BId*_i`+A(w5b5dN!<Z$Ng+xPc>1NtAY<bTN2 z{?++q);`>2%9Hs(BWZ|qklEC!^E$QzNqDAp>))x&pufEQ0d)yDz|Ue;m<kRTDb%2` zNF6L9)Q&dCtgE80#L*fxHC?mMtz9DX{C8t{&>J*^qJD(Ts4%Up45>6@FzeJ%rPIVv zKBQ~Z>a++nurTElX7O|XfhL32*a+j$o}2xcmeSlbzPE-}=X6eUEwt~gjJM6fNT}65 zZ6BujuClj+J-sI=!eevm$()bcgsUF~UP0?oP3TZ~gGJJ5WAj6nzBgp%z}#@v<)@^Z zvl;PFT*;%fM!>hj)9;OstgD^8$5xU%K(}yZVItpg>KD;fK%k$_@_JD8sXF({oMLWi zrYJbFsr+aITJ2xZ{WNzGjk&XT93f|%NYHt6bUzSb=Jq0}<En0bbwy;j67#4>r%>Qq z?(xS}px?Me+R(H+_)z{PsHo4TYdsgKOVXO8(z&7_AW3qQI6&GWeZ+iLISwJedFXMW z^T~U#9x$?eu5*@|iSMELovd<w7;}RkNmN>^-OOHYjgt*G&B&FfQD${@dR_RPJr>@` zNG*`KF84OmFg?exW{PEz6kTh$W3(%edqSo?yvVR%lU<qh&j}$rFySlET`E~HZOi}S zlf0`y+xR%DaF#Mk;~%?~{B{<XptKb~WSUCDrJ|(RK3^;CG*#4i3<)X^-6CAs@{Ufc z9`i6}8*|S^s2&5yMpOLc8TsJTQ{O=@V2i%(10nOD<nFwD3Q(Js^bG6+kWewqf987R z_n05W#cM7moueI#zeCB7@;b|7iPQP02VUA^WA(X?k}@A7?Pepx=33ykrt0XtSJF;y z)cBKQ&F(Rf*hygS9L%XWY>PZKo<dxoeah2<CSR8c<M10;qOmx@4}F+v*-bu<O;Uc& z*jD%{^_Xh%BKP=lntfBXZT}&B)cgc*Z~SVKrvoN_I-X!9^kOm}?okIy$!W7Kkg^Jk z(yO+(%~n7Egf8Xcp-8rO!_0QfVte%OXo4V}(9+9{|4mbCi64U3;KEnW$N5%3e^Xu1 zEg!SyPu^M8Fn<EF5}%|=X=)V$vE!7i-I2*1ocNO6pkGAW7E+WQGT1-Z91?e`G98zF zXtu<UQAd}YtP*Mbko6&5O(%gAHDtO=hjyWdDI`@_(0S55Lj*j(4wr@H2F(T3VgR8s zT{hZdFqp-wJz&xhr4G8B8?exIk{f~`E~<9-?d&jW_5EvSwz7S)&>axG5jgYOKBzk- zi*8I_wJ2oNsH+P*l2{x6({{jpLo#<mlIp=4&9FYs`m%d7P)Ijrv4KBxev?;Ror@2E zrtCh8hXL09eX6e!`L1QI=^QShwJOEMvP4?3vBD|t;u#+ELz17Y_U9v1dzE)_&r;_s zG(^r`t9`<H#*S9H{c>`2lC0Xt$MD__FtS?1@>to;U|TNLzNf`#tzSMwe@FxuK+3c+ zcBGG1MoeO{78{O**Z6JkoaSMPe-Vg$R5ocn_o?U8IwBUvMo%^G)F-C;eTdIE=yS=z z=FflC@WA#a!XKZNm3hJO>A={EaIDZABOR}NnOPxwo7}9M=^!?VpvVtov;KvZkLj$D z+}zDQc5{93S5a^plSSL`K<M~`?wt3x0-iRdk4EKa<$r|K*>UtLgt9q3g=!843k(5E zYqtkv%z#BT0QA_R+kfn}I87<gIO`_muXDf7jg-ZyRHb)_)Kjqdb#aO1qn*uC0$u7e zlb*YN=x!!e+y<)c-Gl7(g7WP1Vagq^>dYTF!`x-tEz8a9n&55zol%o6jSQUny!IUP z#g?XvzPl^c=>y6Bf5|Ful%ybL<IK86-5K>i@&h!*D#dzofB%|I8d=Y@&s*HLtgnm! z9|V@Xy(?K&E&o6{0z!UBKBnezpqdF{;P_98O%V(38_4Sf;be&M{$04XYZN{jjVG7Y zvNDamJGHVix^o*U=$<rq)sa?`>TWTrp4R*3<9T$DGtBsAP~x;}usaK^*qR&2W4CAZ z*k*CL+|zLni9RKJVD4(maG)Pg72^kuGvV*0^2+UnTn5toapGNO4F<2UzMWnySjsNG z51S=wmEcFU{h}N9{5cf?k@$OOrI^A-5}U)NkIbj)ZfHBNSN{=^Y2%HS%)p33tO4>c zHy3wvlNV@e>Mf26#q|tc9NJLCo4HLAdvJ8E%H1}?p{Vm>-ZOm$gt?1!wBINTS^)fw zA2OSd&z^TmokX`@vpZ5mqwC3`Wp{SQH}dL9gtT7(4i%3zd9JTJqZY7%7^nD@Kv9E- ziOr!`bN*-J_=SKgiPNd?H1}&q^DcPl{C}k)j6=Uf02Os}(o!?Ed)g~vK~I<Alk8xj zY5$x@5~?2V--gDIB%=FJlgjw+b_s)k?3lu}{Ibz;&<K+?@o+ubo3wI}MoZf>o*V@$ z-2>Ls5@O^I&AQ>)yQIXY3SC@)uBX}(B&u2WIo}_@aNeC;8%R&#EGG63ZP}E+5k%Vg zx|d;9wn=ic9F>Z!<UowuA^DfUpZ^y2IvU@j26R*}{6G@qCL|St{m1kRM>*GEoP1~f zN|-j!MWVo?^*y4<P3rpsF_R)$C$}OQA=+_L9phBiI9k+1^!QiV(Mnr;sMmpe_Nm(d zB;WayoWboFUp56rdXpzPvuZ$?$Tzu5;n3uuB&)P&P94n7@7x=ekE_z+DC{4?zsl%O z(SHmPBg_1yd@s&U{3i&!LP$Wc1@<zMLruy9QY$$%ez7cX0xEQn30~@5pO;f1Oy!=f zIM>*%k@F8jR`dd|0<WsY^Z^A=Y05cI(1Z95-1J7es>2e6Yop}D{wXxv4bWsKqmrka z{je9cId53=leROS^F#Mz%<Eq0AqAFp;6nGUwWe{fyM_ZTGa{l8J31%m@CkOb_4j@8 zPS92C&j=n4UZE*kS8@2PGwv$gZ3f7|rO^(q)Bemqs|*Z^$bYC|*W6Vw+{;D+wJQ~4 zD)pZ-iG?ooTK*K@rm#*);Ncf^H-6rG*3bRmIF4J^D$x2doubc;G*s&SY`rV7R29_V zg|_a^1&y;ZCrtV{rzvlDm@};NCW#wfKCCMIcut$&;{uP<6@oegy`e(Zhj9+k)_mXh z{f%rq%p?P@!h*|o-?+c0iE!TEQ{y3L`^=kI6|b6Nl9AT%yLRN{>;(vClRlS~$+p8j zHVMWsSnY}Mlq!Ns`Eu3g*i0O=)2UbeBW&~4I~R){|LQ|08X2ri8p&c0dxUbB%d8si zt+c+@7nZ)~BeUOSi2&ox&^8YwbmOx(T!1zoes%$s7;=RE-9(}TovPZPjelPay)Ffn zNxPqW!V1KYdQ%%I(q_-rl9FKtQiBOojjxnaF92%ujrTizWb@!xOulECxmRJ``gR?h z&%|mO|CZy9QOyoo=cb^O3r$_H<*S5W124`p^@NB*LYdlqkbPuvH$oMU;SA85xAUIM zXLzjrOPu^IV|1z);#aLhpIYUqMSGr3v7$MQvhe8H@B9RsO^N}%B^bPzD2kc^d?}5s zhtF1*qTZ#1^Z)i-J;%t9o97PjQ!G7QgcT~A8*V&d@jo50d<C2Zm_9d;JlYX22mLFU zJeZf$lT<v_4V$B1`iK){P0=<7V#%XcT3Gp{w4lctgrH<~bDiq?z-0f&t+d*2ZD~5t z)A5f>mQYHoA^SVpW0Sp{Ed7A5e5S@KeUROmf7c8reVle`Wy_p{!rOrXJ2gu&<=Q35 zS492ZTFMddlz|tCtO(S`$mdsAUn0S>x9)NBhY(VrG^Q|xNDEaBlpesVv|$ji(MjQd z)vVu5=Ha<^pQ6|fE)W69EdNfc<>x){l2z;$z?SoU#QrPjh?W*`pfJuGOxzu)cj-iT zWP0}I;RT4Q-5)IOFK`G*-4MX({{?}C&_zjShHkhr%RXOQ#4m}x(l~pTveGHvD!*WE zg-VR`B;tvD(c&}KDv;J$;@%mnbtxJ`o;aHAGP>O37d8mV96f09zYlOQHd+UYK#D;A z0$j%1K6H;?mJ0Yp2cv&Tig*>iG9HsOL2No5#f6sy7jr5;WD_90mR^7;irW&7rNnQZ zhZ~~5@6;Lg$F(m<hX^q2-29<OZ%-c=dFlGS<fSB5Ag3TFrsm0?h0mKGY_>uA?XX5) z(XN3&gU6C!AvoNK@mCxJ-9z}$=gEW6;RA;7IXu10Ne*oL_=SJEn9pvNH*S@uSNZfL zfBYzjHEq*x+?#fdhIQzK1B#}&nf&{k8s(xeEZ5Yp>=4X2l%$MN<(XqTRKg71Ej|2Q z%xo>n3ym4c*r^scet3EmSjy%K>>arY)cq>gj`)JnNz7Sup)dueS_AOY8+&zJO(R@N z-`2T7O{ig>Hvy~%s{t^<jn~r^USJl0=b(=Sg@fADG6%q2ZqgsdL3u5>v;0cew)3cp z0et1%zE)2H@T<N~4conLsqA%=S3PN_-?btxMLH5G0ls{bbDlU~&!yA?)Q)0w{+Q1r zhn!M;BIV_~sGDG06#cg%YTFZ1(*u#(+^fwQS_Of2XJ=Q(v@9L7?2TUxgLkh-w|@0* z{gO>a2P$KG&K_76(^^^X|JH~S#3#-?mk@Mo>uTk|u9FX!yvJ!ODKRncYAFdGUO0#u zmL6Gy!Gwv^e(cS@+T`MsfAh|pU*_cFw5!!M?Fw+Mu~1M2Z@3o&kG?&Z`qA{lVtE07 zj|3{tmaCJXWT~g5wl6K}xNB=!aCDt`AwR2cIt`RiibVkV`0;^rhq2B%AdGs103)*+ z^N&$)UNk!r^O@T-*;HR|e+~wA)@^@s=ZBVMj^eu5V0C?I4IUMcE($rxhc<s1LV{ev zj6_~8WE&%7U~}Ue77x4Bl)90mrh|B4Z=LlK3oro=QX;RVYM?odI;U@GULM4gU77t@ zN2x|Sxmqfs#XOvLDD(Uw4wI;pB33yWyi;tMXQs!U4xXxJ4Mtys*N#0pa=OgB{DWFW zAnyTFE>WHKqOVL>^U9n~_k35<?VNz?i!h47B)66IdC^k~``wo(qf;m7<9Vi+)BQ{M z&x8#u!SvL7E!~&nR84(1M$vma-wW!|znNxjPSI-qf`1?Nw=SJRN4juUFDZaD#@L~Q z*8-c@03n_G1eCFEufMmw=R<H4xJ__E%_6w(z$YaQ=XQ~Sq%IHom9e#1BKV3i8w6av zqiiE~B+8$uq!^{Q{B6ZNDle)xK=hBR0H;(;>K)#uxi`L?D)On$tJ2=&s^l{XT|Ao$ zWN!rlQlOIzsrr1k(#TIQzq+gvoCPU=)CIRYd0)bJy_L#uX^bX_hsolfd+vH&m+fm~ zW8H5(G$N;jXt5pwoFIN7je=5N1d;955%dUAUdw>naa|8yev(iI2?|f{L3%y634+Dd zI9181KXzkhQ+d#=;BAgvJ^2xJn^<Qx(vxqwmOS}W<?j27yW*RBEJ!+Sio_s-)cJS0 z7GlOWrU`*zVB>7k!~GF4+bBZ0`j{iyVv`WQ&o~C?bx-1PiEEDxt^)qz7A_Z`vmUm$ zd;YP}bPLc|+sYxRQ@YLD@DU`ec!_d0^Ko|b2?AUkx3-_QY3_;*EHCEv-1$tASA)=D zK`Xf~Q|s4$%``8UouTdPG2IXZK4|A<nzwdpBzeXRZUK;Q8NLejnX0ryVJUg9Y% zTelTDH*3#awSNB))<LIU9*Dc*;^w{p`@G^5ZT(oC_}d9lzB^Fv5(>9nO;-IlY{vcS zop(ubn+mwHo)fnE@@(?upjP@~RnGMxmIH=0kdSqnkyCKzv4|gMqgcs=DEqzx1f;Dw zR^|)K#ax=V4RIX0MKqcbuKKWDW4!6}aC@*J+Tpcem+(qFv!&@rOBN3fdy?63LPx^$ z9aDct=zA6lOu#nP4_)8;@ZUVt7n06{9xd*-B*!1@B(cl2rZxb-e7<YgHrR{t(unLU zfRO7NXWDZb@^}P)b~XaYFF(=r*~`q<gnDof(=WR!?z1L<fn0foA=&&GO`u;KOh7_7 zpcgE-Nf=3Rb@QJ_Z3DWsFay0PlL!fD`TLXw(y%4+paE)h=Q|4LAbC_FytI!QiJ685 z`dTYorSn7zv11?sSPo@qqTiC`{yyR`%UL~ek-hwBlQf>+S*8aLxQ*&a9v|djeOzU0 zJrPtrrNJA=xP|UPOUNrE;IZ%TsUtoaN<45-$$8a8v~S)4S&|%Hl^lMO<SPz%!>Fe6 zH!}u5tITZ~=tA!~2v8+5NHPl@PP4DjLB4G;4(wPjSb~SgEpIc7N3LCBZ{|<jg)Vl4 z^z*|xHU-+<)LLBk2K~!3!b-Qt!f%S_ZRc}Cx@0I?>BC0NvS=<dfF+-@V^_mqFzR1) zO|r#wwfUa?$X9QnqPwXm8ZU{3CuN<r1tp&6+#N-LSIHR^YwqbeC>pS+jhqz-B^u2e z>iayDMJ@5$XQ)rNOcZxHZp@z8X?3`K2u4wAYDV-Uarxz2=<ky1s??q9WX$t0-KIDY zCaZ~Bz{$7MpTDE3pgr#$M@hF`53W2C{OV+fd8-7%x#PP5%FHbFA1f3VJ5=JCt#bN_ z)|+nZtKmT6`{p+KDtQ1hdws7eR-6St5-|y4La|Ulr%(t!V=V5e_S0326y$i9KX}fq z(pQ3WuAG?Aj@FiJh#?|hXJJQ_=2?T(U-aBte;GZS-|2S2e_6i^fyGYgNg?IB@UE|T z|Bsu4;=N_ed)SAKT<ZV6`_3^NL(z*6`td;f?t&#ppw{Y|h8#^MxruVy-yU9!;jvof z4&nDB=*|st1-Tj!sbM;l@S#CwS5-G@H#==RD`-y*F2TQuVOr@Sx>WUL`t<##pX{4l z#1Wm%&@yL%lZv!4(*r|&SI3W8pE!lk7?F_)QNl1pGKp~0xJ!AKPMnF?JF>T~B?lmR zg;T5sq0mxhmO#g@hpeiQ0BnK&bTxhso_SuruaH9@DzR(ed4u2W+S4)hhIjQ-msbpV zhus@PcXuG{P3&iA4391)yYV$c?FA%(6xx1;l(a2eOn*5J6)X<v2H#VB{NgaF<hR!s zwlVl|l}!Di^5;V}XZxb<>x;?F21Uu!^2;TZtoq(VVkgm)ND20Mp`Sl(Drj`DzpAUW zI&UGZyl3I|a9T~L^q$qwt-gSeZ$IFK38uA40?ZW~^f~`lAD(9!oW>5^Xrmq;>2mr8 z;A}>A%UXZK-u!5cdcA`SOcJ1GIPt;4Tr8rvMs%bR`UE~z3%A)h9zQFI(wqBhoy$sD z<|N8}JH!Q5Ih^Qoc?orgsomFxNhXC<DDKAhTY&oNyqL46(DJ8-{asdu_@@@0+x)iO zxC!p}WHUb&q2V}JWaZ;~*Nd}#yC<%LJuSFhEkE3Jh?I;qNbK)Z<Gvj?Vmi#+lE?L0 z*Y(bOSlaXI6IoK^YV_m!o7wUH^DXbFF7V3(d_v96a6~yJMchPshf3BJ;@X;ZmY#`# zl6<gv9&}X^@!rc*<|lf?;z<vrQPH6$fPB6;ZSy)xy*2|lWua(0fstR29Q1~o4zF&L z${#u_JoarL5V8iq>A$O!lOT*f-ukI?pg<)E^uI9F*e|xU@k0Rucl1N0Bkh{>6bWLa zfa*3}>I@#Rn#+QxCdJV(7)8t8neq!H&FOW8wQ2P!`8$;tsdCqqJ0!bTQxu!<m8tIH z_V8Bl#|l(*<4(nOqIYI7@+hzOtn#R<nYN7==GBp`+9~>Xcd_`+EkT+NaO`~{O2P8_ zdaDuO;B@2knS{5fDekyZLiW=tUsh$P<-`Tc)kcUubsI*@M+|o58W?%xKOBd`gB$l( zDd9A}Ts`NQ2_nWl`oc%i5BXB3<MM68Hz>l{{XPOWnE7v!GV<0$+^yG`x_s@TYtS8$ z{0NX>EM`fEy_x~t*3t27V~ai_hd2pNkdPKv)w@fMDfo@xoQqv(+qUvb<cUYe24^@v zBRNGKVWo&xJW+pxp~aj$v%oK1Lwn7=6>fg;GHHZ}lT=#eDYlvi1%<;RyUM-iGsMsK z3F;`bIGgw+XShn;I1MP_^Y!!CtVR(y8j?aWSs+<C9i92y-OTYgNsk(rHS-WGCu^op z;V&|0k`Y9`y2a$h_t4mCmM6DLo}EaTY4C4J_#GObKQ{hqiQ3$pAZeNwerjTx(U;(> zd9}K7JWfUv@Wayec2!RAuUh)MyHU_d1?Temn8I>r0bKy3ORhNNDK7-no8NlgnI5iX zc_!Sfpr$d0G3cy1vsDL>iQ)?oH~V3=MnnyubRT~D{Ko@D9ED~L59l|NW=*!w!cb55 zBs?6}OrGb_IbF#4iCfQbqs7*#^l2jY@-gA*AuV^!ccomk?exYNE`P(N>?A&KOfa|{ zKu&dUW4_}sP1Zc<{&HvkD10%IOE8#QiZ*@Q#V&aFnNJ=%ev^cKWhZjaM16QV5Sfc? z33%1%6+LBqeRvt8+qQu2yT_4y7)9%h?9VvR678mgk*_p+ZPX@Sg^?A|b|I<W#~}jI zZ*KY^h^z(pq0R8m7S0bH->Fw5Sw<f3D_1hvC7l_EAql<X$mRnJ@zwZK5b+FEiXDKD z4@XsEi!-e5p>VjX_aO4$2Q`8*g{!?>>gbON@0OGe{IE`wC#NRo`fP`IESs_P8Z`+# zqAVD|0v@J%*^qyhigxw(NA8MHdQDhV)a^4hrr=;c_B`UcI>nX3^U{IsWMz5ugW3JB z+_|g=aHM$IpR9DxpPovws#Sqgr^kXoO0G?H$estY$He9SWZ<1YgL9jOrI=Mtkl8k| zo?ihj`VU-mVhcmp!9-Uz%&K;$hA94+V#*VLBPo~fp1N*&U0?azdAL~Ul75|>osl6M z=CF3i-wUT@>|QV3`wZnvliXV!SoQwedJ0Jx*xZ3;cZPgBH0evzNA`q*?wc4I*QtTI zu`=%?<+5l0n54ql9J1|+pxYf@r4bOYFbBTyr_c8uXq!yGE2ig&IqDTr`I_)n5sr!~ z@vDBa#`5}T7VM3q(Y%EcL<b+!wP_NBOqzwqm(NMl%=mo#_{#hDd_M0)U&(USmE)=j zyw{APy+**$_8fcHG_tQ>pywEqv_?92dm34lS)j*jRY=AZNo)&P`S*P3zA!{|FXeY2 zW%oE#8m`#sQJt$K-12D9!}_ESAW8(ZbU^LFEm*XHcdOZBmOIzi(&8)GeYI>mIDCf6 zvkNn{3NCIg>=`^qVJ9Q_<h$3`x+2D}$j@~ylBICUiJ%v~aH8nm+qijWPvPev)a$Yy ziz79RzaRsn@f*hcb1s&_F^KLa%2(9FfF0yRlHa2mR}x7se2Z-EdSHq&qFA<gI-+4b z%}yZD_la9L=+Buto?-6}8St@8^pwHB`(d|w4Ev?wd{g*d`c(zDyIg=#rCM9DU+Lnb z>7F1kkE*<~-FSH^)0l<6$|h%KDXs~LPhrU1csAWCRj<6Hv0MCex5`(!(MmXZZ|72< z#tg|M4i{~Q@o%r89x}q5C7#zxi${V|<C(rY9AjJfOR8)MoEbqip{mo*QIt7IuEGJH zfu^3Ork;*L7nCT0Y4ReZ3h+HCWIWZ}4Q~Y)oA&zNH+wKUYb|eY)6~R=c)SMXN4<#c zeW)L+{-XvFQx?VfwM~&a<R(y%Z>A3m8<hWc2oFq)>`}n#Dq_J8nM$L_X8D*x(09+l zE33aOxF-a}({zqOe?mjYJ5Tj&?>DWVvIaG+l52W{4+E@<nsa`wl4`iQIZrT)aW^9_ ztous29}`_v{!-h#&ZO24#9w;IH8p(2n{K-izpM>D&u^MQzL)RW2WOKI2rRI=3-N+4 zW2;Qfd~f47X9K#?V;=)#_KBudwA#l^LI}3x<x_m-=OZhY$uaF+g4aqxv`WeVCN<>& zGSEHhL~Q>PKVh0ObK&&ocS!e>*Ifw`6oNqM!A+XA9S$l~)9V=5EU&M&e*xnY1FuzT z?UCkuN&vPbd4f=?->K#J$ti9m?=hpJgUX|X`RrJX^8;)Qkl|uUkkP_avT*o5QAB?{ zqOyD9=TQEVnR0N0K<6GX%oPA^e9mwC<-O*-Y7QHXs@gfK`lh*1`rc>JTiUw&PQ`1m z%J#K=9Bcho_iI-$HMXWXawKDtsg(e1(;#r;JX<}TiGaX2VyOKg+->ZO&&RkOhUEF( zZw*+|V<n35w_T${@%dRZ#j)_J?rQ9O=esF9F)QKv`06_kKB;?Gvg3r*4`G&JWl}t! zGPOKk#P8WYjS@}t=!%FuegXDt%N^_!?(gpt4d2N&_ZYj9r(-3;uy~q0Lc}Mm51oIL zo>a{cH|izJnZ4`p{?}q}az1cUmNkQ%=ka!6&{7}T)B2lWd2VwO3z!{GS|5Tc9tWpb z11^wS-im;ebbK;Ti>!-2j<ZBpC$IWMF8no-(XC!%x%U`i&y=95QndN|1L0&7*{t3G z^#gE502*WWELL;q*ZUWW64U#<sQ|{F<a(vV$hvOdV%~V4_H5@2V>X>o9UMk07nzrP zwRKptP7!vpU$Rbg<l=H-i(ELCJf2IPqK|&@{kk>qvYQ^hRcgdcN{`5@o7kw{g)!OD z)xn}NhQ5jWBY}#vQhCEuEebaylecMTZM510g)8_sh;|a#L=8w+m{>eXFgF(7=x=0Y zg^+8b;v^o_%xD3kXWo}c^G{x7k(+MX4*$*on3^QxI^Px<U!3-7MOaf4FAx!}^43Ib z$L96?^uAE3n8(oKDVQy+B6AQFS*<f(@-Z(vzWcJHRMLi^nU_C4^;J+jBJ&xAIKe~f z%!zr4M$Q+Fc3r-2UOUH6nt!oMy<eKsWF{c&KYpGdNxzV3J>3m>l<pXd0A|DfZ+nNa ze0*=kTK;5n@kw!WQXfI6QnNic`)!BQ0|QrU*i0Y%XP%H+a8CUL#!bRn7^@{T^yq^M zEEk<7e`=u?P#(3Zkj?DO=4SH+n3`gdqV5>uZ(ok1_4Ea(xBs<#kJ(vSFG@+fBcn6c zif#dsyonBCuR-K<6QTP|Z(Pva6Yj3`9Ys7s7Zy{MH3_vqxQ(F4vrL*Ol_?1|FI`Nu zw2_a<0)vTsX12aAhCnA-L7)lcKPRW^`@C0v<npI?swKPaR7siQ0~?q)0H^|I3pAX2 z10T7Yd4r$&5x5yo5zZa{k#wr^PGas_yWYK^%c4N34Q|#g+dM?6!N|CKUFSY+dgdTx zMk#kpE>XE`c&psL-u|O=@unEf7Q|_-lmG~C1~(5Ty=MCi7G5Gl25Wfq8Rbl6ydwM& zleav!JHR(b^=Gbd4c6^9X1hHQ9hK#LXq4|db0PXHRjRw!p6gB3W*}f%$4(Vr8w#7| z=dl;4z?g#kLdHkZjAji_<Xe?&UcHdUseK1=X_ee*dnaDohx)I}CHoe$y>;QQ9T|j= zlSz<$K2T=KMP<pw`|njr+d)bh9V%)-1+#hHg+%V1j2&cnrVm?^erooMkS-C-GGLib z;3jgy5y@f9!}^A({G)U9pa}CX&$m(_dpD=tacgpwie@=r9fF_WY5Ftb<AcrF3U%Es zleL4qd<0+u32WRD!2=zT@r&>vx5FWmZYA8C4R&$wx}+S1)Vz^j5&Lb)e~s;@>Hy@h z+vtau1}whIRc8vma=1Q`@+QO-W)q-p7FScFt4wT2i_+(eF$plx==+52p5b6p-UF37 za9Hc*!g}ttQZwZcqN@MOBHT?;fiOp0Fp3C7o&bS3Xt7kt4cH96bb-`t<mp6Vle6&X zH5RwzgqA$9w?xw=RGsoS^(FgGD7;U+u2hPzm@Mfo=VWuQXtqyj;29@m?ur;i04G&b z>(S}fgW~eTfyWJrrU!{;BZ=Z1U|L&bP5o}+_g^m#i5vbpa^Wjo(Ytp{=(H@j#``|{ z)SnH)!D%e@O1M4K92dEHKm=ex%k2>1d${xU3w={6e>=T|e_j4v7^jyms<QCJn50_8 z4;x#vX9KOh$9+hQ#yB8|RIyEZSMNZh%izxig#9EB1(w*@=D@+dc6==^7I?g!SU9mr z)hu@SPamQ`hQlZDx2)uSU~*RcfmE!_iIq9WW}a?)`jJdyHc)6e(ETr?i5hwF2?mL+ z06QiBvY}f`{Whn|a(G)IkYQ3p@8he1zM_2s*M=oG=XdDGSudn4c+R>S!A>XhCx0o( z((HDdWtfHtM}F>{4vTFCI`Oe&&IA#;w31B+mtza6ql_@44N0lJ%0Th&EO}NN$YD_S z(f>u<TLss(18t&ajG5VvDQ31~rkI(TnVC7Jn3<WGnJH#wh?$ugXXoVP+<%_#Jk3<4 zD%)!<wbZSa)cRW8f<RFnUe+u1!^3}KKv#ibBiQH!%=6;Rul(O$PloHD2$;Z81gbG7 zsmnWLWnsw|{Iu{f`*T=s6Ytmia-bmr>v@<4sa5E}y>?AGWak+O{HKo<4`E$$9?p}A zbb8RB^Pz>cz}d-y0}*l)mj}4;@Tju6>H|re;0h=v_(oHFZ`l+LL&g@(&gNz)ItWpy zKtVsX1ESAhL|Cp8z&D-eVqR(&bN)3_Y{5UeoYY^(H-i9u&OqCImBv37Jl%yfcUe`G z`hHWtn|aw@q_033x^YqLDy8($-e}#Y$g<;zCL@!`^DFtrU2A<}wXiUD0yqwha_pYE zP%41ekzum#GAJ3|F$%+;qD~O`g_cb95|;+E8m=fi`jD0hV{xK`2oS0W@4m$<@LuG% z_h$Hf<BX;MF+~PTkOa#<YbZnn8`+c1meGj<3Ek;ksye!6oNW>1l`y<lBZ`7Dl$266 zm%>VG*E~3%^dqcYVlFAk;G+oOt(3<5-kj~V(|UnJFU4s!t8we^6;XtC2N`TABD@kA z)s%s4!8uRIGo#^BU3XpAIFoTV>{G)2VX8LPT6#0-!eRt>_ruuO5(u8Rx7p+ID)dl# zDNMh@S3&nXZh6~a(Oe080yI{E(cRhI%z6*>Z1D<DrNfuII+TGxv00&nJ>+I+V%ewd zVrOer?q6)|YfQ$K=CY{s_5B4&B*uv@J%d~W3C4B()=f7Js-0s1eaNY_hKF|sJ;3d( zhO&Vlp>X0?voe=9vlO?McOKrn1XCB}MfLO^+^Y63+Ibe4<JkEmS>LxPQ7@dfVCe64 z^r>r{j?tu>ar7_=9RM6y!Z)68c0T^v==K}tXeUY!X+uOzQIu1lGq+51a(2GIE!G`P z!M_!e1?|a^Z%M2uXlOv$UsscMp}Uc{(<A7bw^p%e*g=WAUe~s3do@*FYuv?FRr-ih zK(@7AJ@Ekx?LzwUy(;&ktqZDi@|tdN3x&ps_mXZS&h|6cTV3Z&64?k_vG4e3rq!fJ z36F(?t-w-A{v(W>prFLd)X?E>Jj_HlWE>Z|BpVl&tJX<xd{$Yx>;_hyyR9o``hs-h z4+Tvs)qv!!M^Ca=XY*zk(|i|Ivvj9eqV6ly^Vo~idgTIKg_41w1c0Y*#xdliMw@4G zQE(&A4hxLy7A_R+7pT|aWW7u-?JiQV#obeehOd_flW||PwZMX$Q*(o%iN;mp{frC8 z2(LNSn{52MfYyk^U5Ly=rcdqetA!GVv$+zeav74o*1GCJ(D2AtaK*1nUJ&HNw{TH_ zV|o2bGppie-cn_%tR!ctvf*ivWM|@ipR3(I0`Oehb1Z75Sz}e!Qnl98wd7S~iLA}z zTqvKnR9%xHg0<|!rH2|;t|xhhkGg}bBiVnA)7Va%GRl-NquoWYlg{g1VNHv**xpK& zwG%j(ok4T8y_i03Z9bmAUtLl3HH%j%9u3aB7pU_>A8eZ4*>-k_TYz;2(=B#Cx!D3y zr~AOdONR$W4FQq@Dwsba!=-zsX{ssESzB5MKHX;GHwc%pb*Iw2B=(|0bLNa$ot<f| zt^Jr?8$D&9ZGTm@VohE*fse<*G>vIk5XY7&O7cvV^%UWIa*<Z_-uZU6D6;^Z;O|dY z{Ek!o6vFX!;_U){(dWRm|J>o7XxIallrAF43X@iQL!&x}@~$EMrwjZyVcbx$FVs|J zC1oea$43_gQ#jq*lOq@!Uzl{HC%<}7GZBE33+&X&x}M>1nW9pK&LeyI;>ceb^m~|g zU8i7FuDgPRvXqBvjB|9jXLpeCso$CjPT)kaS2dt^64Q9L@jNZB1QeA{@+xC}7``tz zh0Weeeu2D$=vX%PznKCI*hCD;D!nY06`@GUeL^YaCoLmse!%^1z{KzI!sOQH<;cVK zBiIfjspi;dpO^W{1m+pC&+wXVBh^+Q>S=Vh*BND}i-#!9hN#golz)s^V7os<1`7{{ zlYJFN=c$G+w9C%D!b9fLej(X*yoE~w+*sGazQ3s~4P>8U_qE=AXDOgGH`1*EDq<3b zCk-h}JK8pfo|S@%gNSKYQ(e~5T-Q~fPqnvZvpJ9dATpi9<5BUnryJAO7TRxc@@Lj3 znXh;WsJL-3t!}EC#*X3>%k}N`tF^B)sp~mg(;?7s$!|vyV`DF;<xSgK?Zt;@c(~Z# zTU=zH*~N0l@OMCz6)4euQc}@P4v%tTxbQGi-fv#{Mj>Rlp63xqc{*NuywrBOWnX4R zDZZn4#_gG+HT!)1RC#R?OzG`N&3pYi*ixbqe9ii4w^ByNm7MXoL&drC<F(N$jrY;^ z<Q^|L3YQZJ5fjgWm7N_e{K5U@g*&l_#kPg9Z6vNjcqi7>^+BP$eMfM;KsDyS-*>=N zo7k97DgNIqS(BwQlG6`QEn`{HG5T#Nez@guIcqtsa)_<y9LHvj!D%GnUprowaPt$r z52v_cxfOu#HIUBdJ`1Y}N{9sKR>7h>h>&kCDSssy2ZK!2!ISRUVS2%5L@=rCd6?rs z^B=e32AnxQ-G0t5zkUoy{wfc#+ETCo$Z8?XPlL;+LhNVn92riPk~cqY>`KIMIYD{| zsw@gPxeTuewcPW9pgO|R;G`0ozXi>%ccr#WI{#$Eq86B7=4P~IcSOWcLLZ2a7~@L) z<^1r-LFD@cJ`bM9rQ)Y%V!kV`B1mDfj8Jiyuu-5pE=mSYT9&F}c|~F~tTf;8dk$48 z-z2o6m6(q2mk$VhaS^>QV=!Mk>dUFg*&a??9*2sP^9Dih@i^XBBHwU$IBsXT#dufJ zu5@0mKMZ`f0MOg(N@s4>8Qsf@U#$(^*vC=L?d8%L#`cD}wDv}HGZCZx$yGMOV%Nvk ztOk$gK_4E$`H~nro{NnQe%4EA@HbP<+z*fL;C6|c&(oLZMXGLt!R;OiHGouX5=q^? z)gZ7``D@&3wdivEy%X)pY_P=m6d~@#v{%s8PBI8y91Mqn-LoQZ{{H&NOxrW|v)AHv zFe9TU*rlYl)~+fVE;b)ihnL0jpd9VfVCnFwB@ac$;OX13g!G)djP$wjR1jsy1*A%` z@vGMXV>5?_)mWpD_A+CXqjY6-mFB)r_mP=As)j*q@UFpr%O0C*KLGv0G_kw-vQ4VG z+3ASX5|%`J9SM6t7igPYp{^QmW?W5T<y$q@t#W*3%lPY4IbL5W&lp$t){QL?{8v{w zU`RTka!`bWV3aj1lSW^r)QU|><20<98U_W@>K{OfGh@3zb0ah^iqf@X=E>QM$9$-f zc^ai-njDsR{Ki|`LNB+>OY>0?RFDwChKy>0f(Fjo+Uf&=*-SBmApT9>_J@FcdLNGi z6Oh^)cWZ1>UKTecA2<BRUFV`++e5<`k*B}jmn{g+)^A7J=(_6n=GiuW)$a8@Jm7xy zd~EiSJZ%XG*qx~jO-*f`psl{cVXmG1a&AO+vS*OOKlZ?CUqTlF>noc+tS$0F5(06C zLxR01u+jZYd<l{);h(w4`SlaJa>Kk4TEAJzR#jmDSDM@YRd}^YUf)Ata28Z#By6PA z59wB0S{ichCd{uL<-+nx8*?*cHW%`@2oXI^a=I><$pH-E=gD{48-VT2AOrfn5^zq> zDiC72w9SkuoH<;2V`-Ya*%rn^!WJGVCd#MP>FIM*XTbRfK#)X&Ek`iKWEB31eajvZ zQs-*3yJ|ga>L&Q+45<z~UafBko~s_{>~jf)l8#Q7=DL!WijKToN_@Qg`RY?1Ip_mE z&-;jo$AVAw!y>25#*5uj)WhDY)0dYFCL&G&nRCugugNWh^`*|YyE6i>%d1Q+4|uTP zOkgQqPV%PW=6vYRx0MA3Mpk$S3f-p3+bj!+GOC`G0a7H}>)CtK^$xm+C(@XFJ27VK zT{}=a4(cENrBKE**-dca(!NJkij-)JD*Gg!>3D4ogzpXQk2GQ-TL*DFJMy*Lv-S%1 zVKX=4y5}9urJbGp3xsEfhsyLgB?DxG<cis%jHko+O~-f#33f2%bc{x__&q(|+Dp_3 z-+<IWiGBSkOl`AOzJmtw9n>_N)+W7BM+2sn=0ZI03w3^)DG#LdIZ$8FX5D=F4d`Gq zpGRu^*%(LRgo)xg%mnqD<aG!FL%+Uf-Oz6~0WQEao;3Klm{&ay8hT9Jb*j1s59>7- ze!Dn}FfhV-|Ac$_;ot)QjH-Ua!c`6L;e&(UpRh9S7%#6&ol}k*FmIsuQRZAq@at~? z=aGgXX2-po$g~3aHIS0WrPk+df4<0Bt<p=euF&c30`S*~z<J$O=Ta#An`Jq||4$g1 z9+tb*hnD`wf+L#g7R8@L&YRf$x-|AMd$$((H&gn51J76jyVVaI9k)5&3jXG51`^Vx z`OJ5GRE-k-C(7=3;G8Vj!WR&dB8hyf|Ct)PS{R9ty+eFX^nVMAL-RXc$&IaDaBgYW z0N(hP=ks3>TsBm>99U`TNvOmKMN!rCeqMj!f3*tx+H(YbcmFT#baf#T;o|I~qtJgG z_<pwaC+1^+gSY^yfBu)I?HV9h@2%BLTpj68>>g5c4^nozx4#RJy4T+))`;1x_KQ*q zGogRkhKmH+yTxe-ojU$2Iw$|`2F3?(F|Am8+WuJ`V{I|9{g&o<uI23eSf=wEY%_69 znC4cw;2S)hswLFz?QKSnPgyV6!6W}=%HB-<wyD15DDuM8_1aID^wM@hmo+a1b9)vY zoP#L?(NytC>vLdbLcu0!qEmfdjU1Upe1vLOK1L87uL#|IQPaPiZ%POQ$lM0r({!n3 z&La6Agwqnn<95`1+5ND&u<XiXodAFTxFua$xo84h&}{|uB9Z3%mIFQ(%-VBg2C}>Q zeYk}!c@;!DjG;dW$FeDeD7mpQZi%E3<+K+>+kcVbq<Z2?zG{?%O=5z>WR3XY6wi!# zGCY5}vc5|F<`nosl+#_?n`tHwYdl>0bd2e9)i^pOk%Zg0^ILSP%ke#%S}odD(X|D2 z?$s9<XhL8TUoaSw&9>x9W&|N+WV`2(Bb}Pdxv8r{4s3$qjnp+C$s=nF{8={qkHA}m zIY<z?2XAdcv6rnI3?FGL9vn&qNxClKw#8=1KeQ-?y6Fsdvok80C-e8{&(oO%4EfC3 zQ|7Kw@n`o^L+g`7mQrlONEm~YuPw&(5Z}YWqJfb4K#WNE44&6gULFqiM~fE<#lw&4 zk*r5!mt8MmPO^$<Hp&^aqy`MOY`<WB3hLbwWlj_ozd%!DsVJQ7-Q=_ie$T>=mKJs* z`X)(&ofKNFAs#ttIJaDxg?)CrsbZ)QXE7`uAkzC&;Mxw^nqiQduP)td)r^@SN<$Rr zceATg0MOOL@sFbvN1xG${&maX<jM(ztc1wsUryC0IZr{rB&S{%u<GRirUjHV;j6~r zUxNytbP8(Nnq%`o%GWHMF)s!=w`L_&RvzqXm<yPlBWZv1s*ruaUSAqS;L5b7X6AJ* zbWU}0775GI7RLN$SyYz^`Eu*#7RzA?t(Y#Wyeda-tR<sT+T|5$JDWRauA_rmG$0v1 z?=<^m#hd!njqRF_KZxcCcUEQ^@<hglKNxf<;Af|`-KP(Gkv{b2IQf?{_M9}`MDB8O zna_Z8^e2uOdZzWuKREvpu&C}0QgLo_CrpHLfj4vIIDDPR?p>e@;n#C>ZgyrCoCslo zp6SSijOq`8WZtz#iRz!Xt#7T-s*diPs9546ypwp(-78_V3!j|KHdl`vxVh;oWlB8q zst#6LI&q%A0C}4T^x7S48h*uwGxG<ESdvmqZxwq!UN*TyIdoVWxUC#_VB5g`Fd+*T zCWGnvR{#nqmwJ*#I~(7QkLIooH{{UeKt~drOf@vnV<Iwd){1!1NTUar*;X=(kbg>B zrhu^`(;?Ecr7+Q7NtG~tqA#nqrn&tHH*bHv+_?O;6QeVmAwGWMP>2uhbUg+;Ame1i z>j%n+RRj4xo@NO3hA}m^;oiGjsF+6x9rw56p&w}rXNwc>sumdMdDTAGE@2j>5Usa_ zAJulhIbobZtEAeb_13fp@x|#(4dEOmk>WkdWEZ`?B{xgLbrBJvT%=-~s~!4S4411F zPN#zc5-|MJwKvGct;yco*jb|1QAaD6_M?aPEE$qN&!O`61E8pmI)bYo+YRy36nXIy zg~?X;FlHAcwjA==ylG=3$t1H3DcNV9wXmynj1BHp=QTJgF>_X%H;AI9?;sJW{qNxh z!gxZl=p+6NowQ_M1Os<Lg|NNZZ#*;=Cho%2VdW$Gt;)(Jk9{Fq4-@rxmgY;=HdkR+ z6STm++tbrNOCued$+TR!O*mxdehePEeFHmDn>`%EPshd6YQR{cAmJEZs7$)pe}*(G z1Mo(_;{l7wX@PFkP|BG7#}=NxZGBO{t4R`&-qm-*oMZt54r)4^rjc5cGB0qC<lZWi zH7boqcmSDthd%CqWlaJ7Xp6_r7FBAdw)ENl_!%khBK2oSYvPWVKU<-|mMRxNncsLF zl7)VIo!HR&91U}!N#=TP+(dlqVlX)w*+4l#t;|b!#M-B-)Dw+k@zDoryA7TKc!O3f zY-^(5^H?Sg;4Uirhw}}e%@?O#OHzY~q28aD3Ofs#4mv*_jfqmoswOS!TH?iuhD0<M zr6+4$*Dz^hdfmM`u4-`@?ca0Ur11tEIb~P<e@oWY`S+yImiD>Orrh(JMo$AL9dudU zRIj9t%^R@QfpT`nMB7zY=aMe<JDHc-uZX^l9O2NN`{6KSUGvxJtEwUFmP^2~%^K;9 zU4{$`Pv>Js_t1anE<itCxwVE7?bR<)pWWW|moXEXD|C(Xd)<$e-I8BF^y2D(Pki?K zv8N|@&Dg;8vMys5Hxhv`CWA1CkNF$rF6csf0gSNykt<`atoO#f&8!j)&!-H&&0>00 zfXrDK#~=UdMtZk#=n)pHf+Xxl1EhN}xnR!JPumM5y%5&x(M*Fklpb(wTnXIS2yojW zce~(UE5ClNh%~Tur5P9CaS4V)2MV&iOtzP&RQUW%Ff3daVE#$02a>^I|HvD@D!${| zTU=1B+M%{XR@HZi|6A{Ypk+b4Lyk`Q9lF=%Y|Oc+PX~;>OXALWSwCwn&>8)5TY+yB z8@fy?F|sOZ!y0O$E#DL$&v`q;xth$rS+zDkn`lZ}Qn)U1@kYSXEx^k=u3Q5pYT%rl zbvj6A*0&P*T?3(?iJz~Ie(Uogl$JvO9QL>z$duZf{)1N{3(N8ic7(q;_sQ`3`YJnf zRcVy&a$>5NiW%n`t)9_!)9oef1cO$I+YS<Jn`G53r<cj*ID~P~eJz?Qsjvqfj!iO- zpN1LNH0L<y8k0=8(Fq9f_3G*?J-<Q|2kAFYgAiAf2zgLD@;|Ive*VpCzffu6c8%)i zgiw*ZtAI;aZ7Ct*T@<N&&A{DlY|@y*LKKFx@$+4}r&<xKVWMW(KVvG|7u0VYYZfoP zf9=oc@C5@5v+$#|X4`2NfGYpizd|ToNuR<{oD88qY)eV{4&07ZvDbwl<yrhKH6j3H z;I2lWhy14y9|$SAuh#{sNI1-&nFt6vJ`iZ&wpLe|^luSyX+V)-q&$$nMU04i89Jzw z<)HuYMd%lc(w(er|Fak%?BC-mnokWXd<~NT`~7mFV|f{JtM<#c|ENXti2>S42d#|y zk9Gr;Ao~=o`l91>NRH?~dWZme$mL&9|I%BA1{C46SN!p33KPvH0i!QW0;7WY!zwU| ztTPDa>}Vt|+UI{70EGMn8Xz6go=|~5O9z0hjNeMo%C)+<cCbA=%hnuEi&S_ExHTy= zGt)vLj8tA1DJ^p2_~eNAV<6AsmfQ=0K~I;qMsHZtDec@#4I2LL_7<tiq;%t?l!}ZQ z6QEY(-@54-yw0=@_@J9#(&4-mQa_7oS-MIy@td`0P)0!1%{44<$VIuNcS`sm-LJA8 zRCLmm&<!7s%_-7<Me~f`WuvLn;sqqwUZbryEVwR<!c#9txs)+W9E`m-?HOrkfqo<{ ztlHqrZjLw#)Oo@iVV>XkX5fA!>8AhuN?=OuQ8W8v)1q#H8@^Dv$GU`W=91gz>L6Zl z%f&+eNeKv6Djw-CwV0Rzue4y_3;os^E>tzKpLo1As?=(woev{}w-JLrL~m$!e%+%T zSt=f+anGOOHfA!OT6Dh2Jz@EZpvCz5h}Ur?#*0WG!9oc=MFUokXUP%)XX)33s3Uf% z^7~J(r7SlzkG(GFuZn?T$h-cZB^5D%KjMwus41cnk4r&KD^x(d!;j8iI+R!{jz3C% z9T_s?!kA~tl3-7ITSQ9_5WDZoenn<ee=iBkd|972<U(iN4IrLY?Uf+!O|7`#j+<T; zD^k*q1b<8>;`^+JCrVF_SScrCCj7&=dlKD4x68Qo9x0sdNq|)}@wXMXcG^=_T=!Gy zq(D-tKQAU)IksgK>DDAh=aUYfOpt8EbScWG*v~SB0lmofMlyxS!gsJiKcezahH1a$ z6@4s{7AR<%F()b&9dMKsA`gTZV8*RENBF+D@AWE#v{DzCjc7gB+M0xD?5is&=9DYR zPx>n;<Qyuvs7qGD;#fDp21AK;#F`~UoZr}^IVqrodfr0^8OV!gml{03_Ge82*|E1X za$e%3?)xMRtZ#;{o!l*%kZUwvS-P9QWHuRZ*HBe#%r~O4P0r3gZPm@#d9}eib33|d z=tmt@n_PJ4$d2CJFvMxM&U8+06JxzBvbX9&>TfW4?Ss2hC+qF1`2h9dm*-(;t}~j> z;U~}96iIgeV{?LvW#$M<J}5?#)n)7va2P7a3V1R&7U17CEf+(8c)&Z2Lkqr31}(E@ z3iEKx$QsaKf8JI7Al_m{Jv=+X#cFwsW$BXlDSuJWpt;c`pWoF~Ik7Ig<kS7ADZ5@K z)jm#;kg*D2#5$PSC8ixwKyRVB>h`>Pu40)Jze!J3gYELk?o5o`aKDaHn}CNV=p6NT z_Ks#(nxT@Et0Xb@u%m+Xql`KlSfYFpg1&FZc}n`BOY=(pILr{kSy(oU$7|1(p5EYO zLl>rwH)FfDZ?J1g<MP8rZBET|jH}}=^v1W(Yi$7212V6EElT7zOomXl?j=fpQ&ng4 zR=1odp^oE?cdplJkf+c?a-CfVM+TZ<%|A*J^3^GEW8nz~P2&gMx5<GKa%l{0sm>W! z8huGou)Na{B~}Re;}ZD?bVVHTsPOWk>yl-kBk0Ag7U@d5cO`cPaTdykuG&b{JNc?r zj}dO)cn3gkRRQ~iDr$Sx?FjaWOt8}>$12rY&WTT7m1vIXd>P2w&DaP=o5bA%DMk_k zeuYwCfO%rhu1ylx%?-4^kp~wV=hYnEc2j&c%H+HSc63TP{}7WXG6}fNh@CikzfY1< znb2hL^4h{1>MB!G5q}Q#&%>+W)cXje_t8F8gfA>EGO4||IyEqUGUT>^hz)xB$IO<3 z!?RfdY0Lna*&TJ>ncff))>plqwtGq6e#lo%SFE}5Pz)toelR2;^h$LWOMo6oXPq3e zuPchwQ8?M$-lcOcy7)s~o#$mIlhqB;1<_&MO(XT2Dj~f*G(E@!630x9zcUGpmv9r- z)~1L$a~<gl<yrDhadVXnLq$5{?bGZfReFgbfVo3do<X_~77{n+uG&4@Fn1krv|PDd z4O~pMoa|nGD(P1Ni)zGut($V#EYWtmj9;;NPAgy*>$Fc4QkH0EY?^bZFidz(Ok9{i zD5_1zBV+6hQaS6*Da`LLT~(2jQAy5C_agJKBZmBKgt|jJyuawPWi`_*2us|ckjaNw z5oGF^;YM6NO$SWRy5Sc(+;<4t%%9I@r9PGZ-Z(VgNDDZ?+rd`;qWyJb4Y()9pkV)w zy(S_<j$AE@<472B#U)oL+PDuK)UVES!u1(oR=N&<iC}Y+)!~p9#1FBc{<PFVJcIG< zBTTC4{b(aQFiMJOyF-j?Dl@c;(Ua7F(gid~XG#qGXkxYH)$A8wzsnm&ku&{ZE$~Xj zv{AK29W&`r<t1su?}xvv)^@;Ezj4>+Di`|>tPZ1nLh>MLh8tQLwotzQ)L|XA@B}1u zTA}TBrKo5nHY(24M}q(c7<WG@OGvd-!tT<)-AsglJ6B?QOEjn^cNeOh*=CaxsqgKd z-YBCm3VnT{hS)K722sM8?Wff#j?mvUe)nFR&u)@TFwWbeTV3yBy+ufj@S(fKT2#Vd zSUbFFVjI{hr*@Zg*~_zq^;&+N;(xdigET^hYPabu*g{nualOZY;*+2^uwITC<zXHk zu4lmp7afIn7b2t#iGdH5+y&)adm56A_wxTD=iSpujc0Opg3(6m@QDBcJBm`Yi4sqO zkZJrj`SEnzC-piX-w}6#XANZlJBTj|Y{BjZ&exmJ25PpD`|Ek7G%df$ghjatU-iKW z?f!+)jvt6kep{)EfaK&+N%mqYSW&=CIiDJ0onhi-#(DD1>#iY^bwbOcJk6_#0}Nx^ zoHb9XjUTRyN!DO0Ag!<Nz;evP|2G(MQgM0V;2?h%CCcJtnOHPJ;n%$g9*XLi^wkrN zz_v7yIHL3rC4TZ$z}Xyc5*3#sN2%fLEoR@MG#vS2-R*>vo9QLv%@dn>*7A)ph2AT+ zWETn#Omx4ij=?pTyYTinxc&*+<oP-GioV0aGTHfCpBPNh*|Z&g>1ik8(`Mulq;o5! zNL<1K93tt+B<f+9tV8yix%?*=PQX&^ACq=xe8|SPTQa`6gvY4Rs~Hzw&L`6@g`6PZ z5b{ZPiqy3v4$%Q`0-Pm7+?-$`(hy8@kqRL*R9bB&cE&I<8pnqH7&#uiMqEF{xC~?e zd-Td$lBAaDm=z?=smVzb+u1_iGV2#WtO~<>rG-G@R9)0^$Oi52oo}4$2rUV_mhXzI z<J|gr<G^i1LX>H=Jx2~>O4ag8we>)UiTqVCO5a6>8Rybmbw;Cne^+7h_9nDu)7no* zHXdVT-eJaLF=hm2j$~nHK@pKRQ%w))nqpqbMGl4;iWTU|=gZl}Wlvx`>VP%Q&tU&( zjMmekWlh|xfR~<Ph6Q|?W&T@&Q|Oz*5hi=VyRODyLx>wgtAl%QAKCQX-P27yU%wxm z^~vt+<Y6|oNz^x`-P+R@?UskR^5J@LG=Bx7#IG9KueF4%V$^zxtwyv^%O};jis&?w zX?MRmoKIpbapGG!UNC*G^gm0%sw4|kk&MZ|Itu|z>9*fHMf!_lUu2{24SIOk@bV3^ zICP@un0iI57LI+_I}MzBY{OWtw|($2l=CjM4+QH(6~onWI)Uj0mnW<zCe;_ilOpte z6g3GI^cR*|5ctA}QIv|<&0=6gQlEB^K+n+E>B*YsPunQhBbU91TD$RL5KbKxBGo=Q z$I9GeY>z(gM1?~o*X{3y9{r5HTRMYZzGbM$ANm}6YQ@8cAUv*ytE1B{4x2P@g5V_2 zh4GjS6$YY*a?PnkzC^b`m6QqNUM^OQDXT##kN%UojkL7_KRGQxv{EIN3zDXla+tto zg%spgD|>EyIY~$A%kHTIBhCXS5&(0VWN}Sy18G2#c6(3b=Bul8I^gtd&Kg^nmeJzP zl`&YPGjyUEe1Wi$4D79O{r;`qjTJ)DI94|!GvI`Eb#~>!_4W!qf=7Jqqz?rJ#b5zp zxyWl^z&c2!VqvNAN#Qz)cgQd?{QX|qigJ|$NB(i6scTL3RmWYdDO|q#MF2j&m3VD< ztY$r}<_!>3EC>G7yFy0ozM{lLto75;o!(6u1#ScX^n`1*77`>kQP=;V;PzX;0Oy-L z<4%P%GIq;zIY13+6yNVCi;9e;3Ted5lyj+nNFhsbF}fhej_S-_YzH+VV?@>G8&&e7 zE7#<t#HmPqIXnf`px=u0C3smch)Oj)cP)$PW%~9M_tm*&h(Q>BH=196XMyJfX3)_X z=LpTk)TcmUmsqVqav*8EL*9HHY8)r8Eux0o@+t){!zYd9dACBaC0|ZV-EbyjjPRFI z;2YtaGrG|y%F#iL`%iMXkk&JuS1tyHX|sabscBpVi8C_1DX7W`Iblyg+&2M?mFNTX z(aWi3fNM<(yOlBmtQnkPd-je?o;p=dPH?b~acE~LQY1Tnx$pHWgqhnZ$fqWJfz^-w zi9GO=#-RjpS_1>i)%jxOsb)X^Crf6J^F2d{wZ(U$Qs25L9DfRx-zG@EN$s-Nr7}(+ z!`94!8X=8`B>CiC4!QEF`GORwOrlSAL*r`0;%2K>y)(xrXu?Hj9>@rVcDqN;Ij$E~ zwM;QlEXnxi!bGhVzt>?XkNnP#mID5?W~+<0Y7Y@G(A_$L2jUG1H%zOxQmFmqIL&y% zEMux}3?6Y@adAbsy0W3>hu}sIVD_91d9rVK42!tgB4peV1N;yqkEjr}Jeda^(4fO0 zz!Ddsm7CDvp=|oCgYJ973bw<U(Fw-jBi}KNn|?Am$o<IAv{?Vuu#_^z?PltN+@By` zUYq4*ITbTV6`n&{MHLda*Q_Jn9n8QT#b93>Y3*UPJDL}RX_&Iy>OSZ?Oc9}}_WZHM zUdRf(>It0Hab4=%{N6%uqTVG9Ls0q4Hm2#~%5?ymX8{1Nr0wIOj7Fr)kuY;I@6b3~ zR|hx#Brnh=%9ymp<s!~|?|fZPN;Ej@jQ+GaQIhtmbW}ZS#IBASl13;VFT;eo4f~0a zd_o<&x2*00QxO#SNRo{nfeb!cBhSujiRd+cn7WTy5C-_rZ1-fndX-W#%Yf?3u^{$! zaa<inMBszifxnUW^D7!FOV$3Jh@~tK`DU)R+qI&vu9Ub$oQ8a5Eurx;&9FZ^RLs1? zxXX}kRR=n=n`x7%uaqoh9p#DAoRAa{O<=kgAsC7^)bHt?3e)VF-6s`0b=@e;*1aOa z5S-G$43!)H%&hGzzjh8%db6n-HXc5{7_`6z0g}8&wu>txDvZ>p2Ye)SbK<V(y*Bdi z3oNA6*8m;)nJkU(8ODRpB{&8ZI8K#m#jU4CIjEo1JY1BAT+}TcE2v4XY$K7na7l!9 zx*n5JEeion`Y)uEcak|O$2^suIAWr9{m?Jqbg&g!L(#DhHQIHMoL-4VgbJrNaJiZg zLU9JpX#kp0eaq%}0m|J`8e5lp^=(7+3og90CMRusMfaBxuH)U*s~_njiwiNc>q5+w zoiII~S!9?5P`dzQVP7+|b|%J?Gro|J3-ODf8saEPqNjJ-{h}Gr8X!N>g2T912>OjZ zU%DJV=>!66L9IGz$WftrdK;N<rN9Ia;`fkMuvg^SWdrOTn8Z8SbMhyN&f0tIkc=mG z<<LU+x<SWULL3c9ma-IJqcpQSMGw7heHTQkGmq;lhIg!Xvwmy6-x!wa&Zu>)*CgIO z8OvvwA&cdJcMUrZG*Q6Z=l#9MNf*;iI662gyFWI1B$&(XC0A^yb%ou`J!(L*<8!v6 zWU_StkYDsyj$6`k83T@6ASg9gdDRQ<EDo`CuV|t7M1K_;Pz~1hIjV=uP)};J!5L~B zHN-NKM6i#^6DLB8+d0i7(-?04S&BV{?PtFQUbl3wOmmP!D!>Ftkvt@%d%AO#vxRW6 znwH^(IFZm4-vt}ier1u!Trk%)dak8H<|9$3X&ZTDD2aMYfDJ#iewcsiZp4h-GSjMr za!7A0ddd46Xj78H;3YSk>6iilZ7^EEi7i^aTf)d3eR@3_FPU6kbL&~8)I!!vE3UaN z*c_8*_o5G%VN5>B(oEMqpfgv{&N{b!GcFM8mQyO>i{YQcZU@+|Z{^Ibg+CK8?w^Gb z@oV9;KVW-!_iPiTXnAjs5KFv*CNzHI@Rs06vQinnlG9@Zsh@qgU-!b@zPQXKEn)cu zSvbydQxa#cFRW>m32k$ZpO&=o;8vnS%iVy4?D93q7;993P1HPuZ69&gXp!o;K`{*K zo217qEj~rz4cANi99U`PRGkbn_Uy!OCCH$mo~Juf<U)^#jv7qLbnqCm=rpML7TSKw zi7f-QsKO$&M^@XpmpV$J1uz)(Q#}A6A0zK8UB-eG9ec(UEDx4XzFY!imnP!OZpStQ z<4265z_n3U2oM9_v#q>XY|>o0DK#yvw1INGPR86Mc*l&esM5q)bdh_)s6rj6cGHL) zI=kgalpB0brB7wGb9-+yZHc`RZrfIrvwO>{5VvSHCDf9EyHaw5FaRc#RRcg~RHFn9 z#K05)tW2J|83h1poq}bqbv~SGUaFAD%KiQzlpulF&zuy1_^C_4pRLb<=`N!$|Egte zI5@-w;C0}Lm!q1EAe!BRG2Q#b*<||=kPwiNgNXstNokW(w@?6*+sFVkPc!oi++Q@W z00011p}Nh5{YCSd0cajZ61lkGKfooRX%xR}7Q(;#56z<mw6K3KWackOsTc}0VN~}2 zLu2Vdo8r0{<8QTg&{N6Y59@C)2>W4FSOx#M0REx3N5c2A&QO>X$9^pEw*@dD!jf4n zK0ffjjtYRn8UI5OLwu(nA{ja)+vVW?qLuPU-3;~xpTq3``zQ&3pk7~B`ZgwP%F4*- z$V_%i>gRzR%aQ&m5+4S5Zy!^coVi>{0C786@@qqJ3`+4|*Jc5^uf;@srd=S*n9eJE z#F2?0Ko*+l#rVJZkd+5WMj~_(p_ifXB?om1;vcvb>wkw^8H)wc_Q(M}_Btj<{JYBR z&tRS?v;Tl^PM?kxsgdEq8)Uv>OO&WB6%V^ommk0d_QjY|$4E*zl$l8ZzlcSM5cian z$lg-?66{(N_s^Rdb|uMI!-feo2toZNQ;+0iNfk#?>TFZ)Dw*}9%p@v>v{5n~W2y-s zh7(EgyGcOE#n>P`Sj0`NACS*uE;<K8L;XpnsUJ$mQBFQESFt@x2f>r95U80E1<rV< z?xqtRu5XJgQU3!c+Fx^jw#J`1B*MAUz@y<zk=|)L-z=~-d_@zgJARsYVK%XA@Gt^r zc(Zpka^7S^_Xia>u(1u~@3#53etnS6(4)HrSA&(x-+&Ey1;A4}bX(^pSmNQ4Vln{` zF7%UD$=f^toGA_r)UuiRu?g_4<l@%Z8=MHC&xVy{4BVcs2q`1Z76{K|TnN9DPW6)f z=|DwNV4Z$PD2|bP&<=yy7*l3u7RPoo*wYOFpb>xl+{;<*pmH*tQ?mT!NCrOAx&Aun zCa`*azMOzC#6sLlLc-$UFlpDNYKHLy!Bj%Cj=zL=+J(5hgaD%<PA4GQI-CnKZCK9D zBG{QDAu%qY|DpAbqw*im>MACe%OU6%Kd@1_&mV2e9)X%l*1mFS{$W?@Jn2>wB83km zlj+v;BS?H_JYP7u(Q|kL;232=QL(A#mSGB0Xp*#(D!E8kMa&}hNN5DWKVzBuSIuTb zNk<M`o}&itJu4k`+hk`aK_+n6jSXr$F~RZ=i772ulz)6?(R?h3ms*l4*n=p}wlW;Y z7N(e9M=MFYCO@Y24bt%&r#|XV8Q#jRj?kiJ5_^*Kc0THtTRme_C?k%*EhaCM&tnp( zZG8YJgNy%{@uqQNL`&~2_&+^%$qC$b*I~o{Xktcwxr5{ttwC6QwlwGt!5FlbF86nf zZN}N*{6MO9di~kzO}mbVK8h>D=S$<gnp_{=ckV(AeoiyZx~l+MH9v04OCTo27wJ1T z?xHmiig6}JT76|n;(z=DzLU_8G=*JDR^ez(wi;QyG8!8IuhB`z#mdG1bb?CzpnZrN zJg=`$(!}b`R@BeS9O`-m1C1M0{;sJFaaODLd$PCVEx{(Wgs!9s$tBJ|WAqK|6@Auh zu{DDV%Va{I!^)KI_f}BY)<Ye8c5;S&MHw7FzheA-qWatV?qv5_Fo0NP1}6NOV^TR` zp-%K;B*U6In(ZH29lvQ2!K+6LWS6hGQKX1z@m^~|ZU4L7iXqk6hMvLT$+~lE#XL-b ziJDR6Tw~OV6dNsHeUvfBc?6MbfLaMmhQH=#kxEv(s)3Y0TY9k02~PX%-0?dm{qGb7 z)ggF2_b`+GGShK*jim%3pRrcKVmSE<iDM>q(>=LI<dJqk&B2jjL!!(k1CU8kWIgr+ z4x&R{zhf1E{&{EueI}v-2OX*8Khr8JF>qJEBcq)Mvo+*fzCZjVJlK8bL;t{th+{mq zS=}#dpqWJtAHK9<eW+1nr49*=?=few2Rl>*z4<n53~O!9>ksEaX#6StF1W-dRpx&V zi^u|GvG5?>TO<DvWW>dubz3pH{@vu{w+nwio5y2M343aI1J=RQs-D`82Ei<B(Fa(a zHdxv1s0bg|1Z7zif{lS2;cTjiUvbw^$Z~YMO;A!s<{`t{!p6qN;sjr7cU|w_11_&p z-Q*YQXgl%fv<U+!Uc|c@)IA{<gBp!y9=DSVD9<oVQ!i4^3;2h4nV$j$Q2IJV0?-bI z=sY6tWWXXCjB5K?E@l{y^N2%h^xF#$Z3nwIbth8<rvw%woX}>O)*Czw5@aN0v@EB{ zo1rBZUfR&}oc=i5vXL&8B%6MI!^YaGst#)5SbjHH$|B9NWFqS{3Oh2);E0-Gwk^xT zo6?z!6>3X!Zfz9L6gguqY%@+sIeVsHk@v*RY036_Y<AHb$7*EiwvjNke*Jfu^(NbF z>U`+va3KhO^q39*A(nauI=jyzCm+XMHLa82PTWcHD~&UFU+HezZsAAevP;7KxS(Vg z;<K<a?s`5J^4wlbW**$#YrpL;myQ|Enn%YinK}AoUTw{@DQTBsbAZ2e4nO5W_)*z> z-SubE<ragNPScK~H<s{f@SlY~fn>8O8Q$s_sv8Z58v~3RkvrFLUIaLr8=7l)dwqI4 zA{X|-1?{3Xl5`}=Aiz{|Tl*~OQRAvTGehwf$2t}OMQeef;dE`axI$FuVbIU=x4T%$ zfj0&md3S<}Y1I0Sb}lZ9*E-R?<kD*gZ*zYL5&aRZ>=~G;<in)La`xGgN%dtaX2JR0 zuPYX7bN7<6y_W$Lzt*O}rj8rxz#@PxGJ!}+_<N#YB?Z_WPpBuyCXT}{*qu#m9W&nh zk}q3tj&bkYPB&$qByC?I3|e7Dlfi$F{7Y)&ONk9mjc;1_=k&aZqtDwqN3Cr7xNI}x zUJr9SGgxr26DqJ}GdX<2e;P%Id^xPi%EG`Vy6=h*Ns}Vd6ju05mjNRKmtn!Xuu@x8 zQc{wWlT)%MdazmFc<4#NJ3m|+|4o+l&pLDnVClmL(~k53#>m>x!O`AG&+7Lt8+~&a z1{Nkldcxnon3$Nqvi|p&jsD-qTwH{7l1A1hj;4eRYz%;h@`QAXZnj2*bgDA?=0*mN zgmel{`i}oR5wp@W0lZK#GX#9i$j(YgCu(G7V(Li9$VyL0CuZ$vWN&L@spn_}<7n>$ z_)yTs(#BrFR?onQkl`!)AKJgavIY>9HL^D_vUPOQvm~SwFmrSO{4Ho>Wou*o`|Vdk zI$<+Q06D<_zv+E5GO#f;g5lwT`IkFa;IoW37gVLxLBQ?1;hd4;tv*X@ZZR>#nQM06 z0=et_VaCpj1K9oPwuFRkKRq&ne)$CK_Z1{kT#*l&vWGzqCBTp{hB^7$EKx>40DK{l zS$5o+YpURdg42nzijs;_sl3)%#cdOO{>k3@0ng+Cj|?EK4sy}}vhfG4mh=qotcW9u zOoJgGD04kn{lR@_j@0nP+3Ze9BBrTtP@?bs>IhryS3V%H|MP!^{Dde~znVNYI=wvL zaV1uaWSZtX8-i!>z9tSW6;O@TNviaDi=}XTz&B`9i-&y4mjyEv$qltQr;7i{H-g36 zL5K@8i==K#X=K1}e(|bNV7PUeIHZ*3DC8Djn(2e1uz%i_PV=W=GqKc`O(3PTB70m> zQlRQ8jagGfTWY`f>KP*8xuVheMo2Tte8bqCIE52N?E~A*7}J3@{f@MiCz1=lgV4_m zO#{F1HcPU&mZjR1*3=)IKeeWyP?^tXhE?n9lz4J$w(7ydBsrvr`Us4J45k<M_eD=( zy5hz;;slT2t5S&j*UqaP-0GGU^}nuQ#nk`!mRr+fs7@o1Hgdk25#VSqOHtLpge_4x z7CLH3l6KUkX-S3_#mvSg0pmP?+?we{$xwW_j)f<!P8478wZPDXf_pR{nE|hoVn*Ri z(yB^Wn4?5dgv3P7oDQct`JM^ZFi99(PNt&?aCHbI8_$?AyFITUtn<PHrsX+jySg}{ z`b^Alq)TU4d3$)l$CFNHygWyupjcF8OU9m;&m{-dp7?EC(ZQrKTLUjfMcGk<lb({8 z3$lC%%gIeSd@u&L(prq7qJC`K{d>^SjqyQ2<_fQwQ{GLj5S^0(ADN6zX>;G@;rgHs z+w>|p={#dxoMdfY>ou@oh+~W6n#X~Z9eZOE8Y{ai*G8@mwR?$|>!t4AxO_`cGgY(} zSz)N#sKKfhd&_sJ(Onh2udkQZ?Ags*W1xaYR5<GEl#BUUA`ZmXyM}cJ^Lz3?-ma$D z$zEnsy3BX6WCR^_LLKnRd9=iuy{~RaEs>X0<2~`zZNG3-qR%xv@Xsn9kIO!R7>TQO z^vf9YzGhYmIf{rW^|&%FKg1}7C^9NV>jjM`bSN&l9&oOLoXA+Mq7BjJWqj7L*q(64 z)050-T^utRU>km?>nVV!yjL}$MmOWRUez~>&9b&(w^M6a{|PF%hlZBGi6h+-D+m%7 zvh}S}fla=D9_meh`MlL2W7;&oq0?RJ-0S@?$6E=m4uuVwu|p;}J~8!^W@}BM8s){e z@r6MW_|q>Mg{_r6#~zubg|{^mDDw%t2PFxUMfbR8;c~o{HR7}P9lT$M(VRun4n|(u z-y`mop5`k1DyCJbvDu5KKN<&lhgjTc&&DIOCOYB;_D+V1i<!YnmW#Ip(GRvO`JDH# zC~x6d&Ob?Kcg?ZNn6JX&CA>rg*xs+euX(ULSe|%E@|m7DB3XA$065}Ib64GKP3YUZ zl93YXO50@Ho2*O~NycvCc}iKH3L|$W&bhd>PZ+nTXla5O#=daV0WXk#G_CNq>~d!2 zkndL^>dUdWLP;6l*R)%yZ?PJfOn=V-7tuGDl^CXN=*Ue*SGWCskvmj?5WKdGqb@rs z0xTIqrDaomIM;lm{v!MWVt+<`Zr|LicMi?I;mY)^mD#{vBp<A+j<9McuI1@MGpL$K zX6~H+sQkcur!<d!w6tc}#@QPfa5H(;I8R^DH-cBXcadA0fOl;n)X;kBx9CJyWU1_R zdjqF)IG2b|k=JWB%L=udbTD7pA4lc|Q~)Y7|5iAo<ZM<|Xy<u71g>p*UT2bZO}1-y z&~ook3+hxD()JW~27f12>Drq=lL0mE)kzFEmgp$Ln7}m>G`V$Y@RA^xd~D2t;7CUv zb@6n-jMwEs#Wv4c4@Va343{n!U;wSDVUN=wGzG2TVaMfX-Y~*1RmC%NKd`KDH(hU5 zR&Xdi$0lhSa#Z~}PMWm9--T&yrA*9*lGkJJ>jnX7Rocz%M2Dz}v@P9SbKW~^u$8ft z`r7AQ*WQ9jtAYKMdxoyTyD5#-^F$B!r(-RK3>D}E-p<ZrS%suHC`U>^i!u+VL)7h) z-gbj*;VFv@l-7XMdux%lJK{#pA4z547VecZtnme!+Uye$It$MyH&^x*vnQt=-d8C1 z-i^|{g{N-1JDju|bLeN|6sI#5c)nCpt0`UCs5p+UN9&I%XX@0f2P2GrfoW2Lkrea8 zJqk+3C_AzGIiw=`EzrWVr;f8B0mC^ms9ha{OJ=+J5!rLiJKVyVvalpJCmBR4IbTZb zN6y_c5H{_fce7d=RH!zlO7?r%3E0o)Zdu>^@JqCR?t#53ptu~Prl*MEV)#VNj`7}f zPpvjMNl8h;4fvmni3s+EOh`y(_aw#3uZ}V($h0Ko1TIb}G`u)hmZ;{JiI0QjNjbYS z2ZFtOlXYeER(<{AP-aA`$wi4+a3V+`J&%8M)!dNeLTt6dX{4Xt-~wJNQRRqOS%~N2 zna{_Rh;B3C7z#fgiR8fMKsWd!VSpqkRyFi?sHP*Tbh?R@EzSUyuV-Hogdl3FHDvx# zTFqz(XT#0xVs6;&p#CO2-lllo>gx0H%ELFer`M;wn+?Mb{igftm3rKdYd+<DC0F+< z=M)X9ORa{_OD}`+v+eh^qnyX}q9*$@S(Q&jH*QXv2KX-Ldzg-jFO<fDzGKtkW}H}f zPu5i<cEm(%1g6TG${9{Y^9R;%p2nRZ=zJs{*Z3`k73xKtaz$RfdUa0&NKTCkA#LRv z9u7Bgt#Vu{0u2%&oRbZc;E-ny&vr>lD%!n9qu9YtRQz#X7Zf*H%r*mQf(b1>plc%x zgqf#1ZNvf+fY%=NrbLoj#7wBAXxrif(i-kt%*TZzbQx}f8Fxx5Smotp;F{bc2`Ax= z3w&o!DIKuOVLwtW`<}HH`8%N)J*?=m;3pDJ#<Z>6``kAQSjQVbzh_PsJQyb}3;?Bj z{AjaOW_x>oTu3ck5H0dP2y!+WSs7m)9?mNrmc}7*#<R?|8my>*gLE#{;G<~^45d~< zW)A7w@>o!0VHWvZA?3mHi>0K-Ak2kieZ{;f%5hIxj57+ki=pz<nA)w_ixP*Kjbn#1 z=bpjKi<|lLTmol7$FgLVvzp2DbH^?kGC?1iHognQ(`=JOo*j_18)RD3i!$ZG15-i# zVsI3dPMXqsPHR-HM`Ol8m6W*Uj$h^OZrRu6zBDear<O2Y{G-Xqf{q>O?`PfupVhK{ zttN0QRMgWw!BxT`&Whkul-$p}i#2FXFl?JNaaV4jiZ8D&NemY)O%B71^k;C=$yY$# zhqU%|>t~NwjP|ct1c}+0k+*oC;Q7JPEL|$YUg%OXD(Wzb>rUd0Zc!fb%=VE>Eh3#) zxK?J$6dyD0YBk42hY+mYkz7bP&=sQf!9jZ5p=4l0iEW_d6K|N~5GF>o%gIMfkgPPk zsH6nl4lJ!r6}Tys4x42zmUM{Y*Im#BoNLJuMBp3ZD8Rid6Sgs9Ck>d9WnhL+(;_{K z5jay_-g9w{h|NA6KtKi`iG=gi*OlD&?`O8gMJI+z<j3}P#Ln;2rp0MhGeyNKa?enJ zpoNKxSS}6ImD`(DQR^g1S8jDvz!)W&6H5P|8<GF_zRW%ZBO@o@xpH-JaS;(2#KI*+ z<OA7l-R<5T*c}r>AY24rZ?@a%4TLqB%!DH}EB*vR1~!y3Trgat1u0m=7;Rmn8m>sL z1PK8l3@AQ0NN(%P2Lv5`5(^rKQzsmNtFbhdw+I5RrJ}O9w4@3oCTN66PsBGNNh=j8 zb*@#8J|@II2Uo}jiU-9JH_}%@h(efT+)1;k8YP^4E1m7kKIEIj36+dOI7s$DM(#3= zibhHy^&YK1N6Na0<HAok1U6JN+%Y^HhAc@7qbC88EDBxg!0#dfvb%)pvb#$wko!eU zjEaN$ZU7V!>MQX6mJl=<Mj(9!NF@5Pzb`59&kRy*E+F6yD8h43LD(KbT`?d#lMo05 zzHT;<ADkOg0`yR-$b746xjmqWmk~hQ6KwT}pFk495M2^YFM+^3iG7=I;Ap`9ACr>y zZ~WMlut=iQX=u7?-#4C?e*3b9kRk-i7zaz4(A@Ss9_F%kOZ=3~a*~))kt9jUa`lw1 zc6}A6A}opj;yD^M^A>%?6oibVLutq6tQkVVUd_s?!(6gqp~I8=b8WwQ*Z`ra60W_? z>g0G)dil+Wm{**xe$3FN&!Ef&m&f9M;o7$dtS(V}RZ8-w2j|MK6N0B0RP}v3w&y+b zr=yS4XAypGz1zNVI$DqINr^J`%H^TEyjy|M_SGjOEcvUSqgil;mXbYr6wvX~tHWP} zbvi~l&I<!rD!{ySPKk92d~C)7jP-Q~QG8+rY~EsW%%=IsgmsMv*Gym2_Je|2TU&z) z_s@Z`>$O-S+WhWO;G{;Tr>5rc*y<(n&R)$N9B%xM4^%4D8?FOYWcsTjoY<^A^v+86 zMpbw|nyQ4~Cx4by-dU!P$Q4m)C3386tmYpsP0e9<QLf?Qef8SBD>cdA3DgSKs5g)o zVN7XNc}Y9D?;w$I+YiJjwcs(ewl4NQ3e;)<91FgzySVA9Ssbb~w(<*7Y)=2)Jr>dS z?mzjO3b#0y)urBGp6Qu$Vsaepefye~xp>EfLgS-Mx|GTFoPZ0jzU@zQ!AQ6Enj-W< zuXH4-o@<oRcvw+UlX$#gaWVB|^Wa1w#2F_R68y_~Lq9rKd)<&>NXq-I{hI9QQKNv% zvzd%uaOZqAtf>s1`DFi>4V!Bc?Kv53d&lvj%UXl&R&Q1fSJ!HOSX)R;+~ohF?yaKh zim@$G$9Bwi%osB>Gcz-@V`gTCn3<WGnJF<dGsetJG51MQRkz1|b-QnMSJivZV}E#@ zBQ0ra>uAlr_S6#1i?U45B#x)ymNe$k1NHm5?DC#NWYAICv>;YNtakq~_IOccu9CK5 zB8}>i+U?W@5el<8875$tk}UeG=6rI;6ZUXM%hNnzSd3e`c~nyq3vSgilPvS8Ou6{F zMPxf`Z89LdDdP6Ib#xK~!^LX#UE3~u(~<|<Bt9fRwiin|duA{*ObX)_V@JjtXZc=N z;hvNAK{6T5Rg2f%J)tdmvx_RYm40V0%0!z9*16CDC6Q??rue~U_>IoQ#=>jdPZs=I zL-RPS&bv{bo`l9OLwGsO{p@A8^$gnRO66?5@9RoPwb#2v6*|v4LW&<?YG3p0C$qjD zW#9}v=ASGhg||FAw{xB79~WBLuf3AmDDrq+@ruoTQt>8B*2}uGKNzggR%_o3^+|)C z*1V(+&sVSCKQ)s*#7)&%9+C2#*gl_Vyl8N~9S{{cyoed`(QkeaIF@GWVhlA<85%kw z-AyIv%OrOsWi`=X!#1&NF7l>}=6erkm5en(abc+h3Fl-cazn4fIhxO(e1Q&C&aSgx zuHX#Zc>1L8mbSYor$2%xlr1BEa~tb9dkdLJ>5=-n%G_xe3e9Pq)$F|b-G+*D010Ur z&M4%;KA@?PXG8gi_o1uOhi?_AMrJ42$oT+Xg|AOxQR!<_ki<GewW?%+-zmyjwk z&iDi}_>CuVtbDVh?Kqih119?+y9SDz`Fz2^Ja92<bTSpq1<7EfX7AzIBZ98V>oMn4 zOE{|CWdfD$oa&Y}O%g;l9W^7XX?~u?8AccT%*MvLs1Q+u*sNsrVf&g>9ki-s9Arp> zZ*4E$+0BGx02_C6ybZuhG!+d380;y+?**<DoZyR%hB=c)GIC#uM_nH)8rlWVO+*^= zs3y)N4%8EvG^HPsuZ7ZNHB(2<$Jy`PC6E?*x`p97aCzSYMH2Rvv?W|yr-z}1<B^J? z{4mg6kdRs*$J8Cl-~fA$BVZh}m%3gCccsVjO-bl@diH@yw?R5j(b3uZ??cybgCE=- zTnd?wr(^v-WxcA7yagm)+>KzUuK~Vt0TU@a0`DabNI!nxre{A_IXkJbZ_#33C{)}i zCyYx10V!VQI)<9bE|*3k0NXky#0oE<>M)=?3691w<DE2-uM**rGtQ=nzQrJ-OujN6 zD^H2H^K=mz08B~iR~c`&1Me5Hjj!w$3tX7p5sg;E+;qI@H|o!tL8LZL(ZV{~-)wkp z=lj0ajqo)$%wC8)VSo2jO^lzxGK)#nG~F>e<~a~E`?;k=Qm9Jmjbhe31&pr?Q=s`N zGcHL?DyqxfXmsR>gY-t21ku(aXaHOJG%$enMdcuib+fto{IdQSW`mcPe^s(dcyrn{ zjfTD3wWP6HUOh$5dOSZ${q{_FWL~xar4t}zAWwdO1?+Sb_wI<SOjpHbyxlXLbWmtJ zeR&;8!(0@9e=K3)`#d_<=yH2T*7;4H_jPl;7z`$TZ%$3T&T0dtyu5-Hq$Jc%Uq)|# zAk&c6X|j#8Am78+%8V)a$L9K|$)_9qtPp9zj^=h3KFmCAZ0y_(vu012h)bGc^5j@X zOU7?AWwdlHjKsUU`(sg@q@bQMj4w}&*I;k+7xzzE3U+-yH(NCKBz8?~3ZD!8RiU;g zE;tlTn47V&?%Sz0_ei^qb*t6dX7Ag-cAX&n1crAJF6n6kSuKeyQG2iLoj)fiVd^AE zxah3f@L)0H*<;|YB~F31Q%#VNecS1MUEPcZ_2Nr7w(&AjJv(CS3i>f`0q>#%Nx%!y zLh9S%FbTuX_l*)jB2@i{J^`OY;+?NC3c|r(N&wj%B;s8M_<8_H#KTw&2xtd@M7R-$ zyx{%F0+0x9#$BKf)c_LlZ!r~u;c|;bD_(nbW%mGv4-OF`<NG;%Ej@#aa*4m2Hxb#u z2UOlMWa<;B7UCb8g+_H+cjcOajD?PFYX%<|zy|~oV-W8VA0LkD5+5ILvS(mPb=dtx z17r<^5-#qmmG;QO-fC(m`lQuj>$d@^t*s5wsqg-A<T??Eow1dPou#$emtT}(y~U0Y zH9R)x);`BMwXH7&kVBssZ;khFY;$*JcWHM+e*hbr+nt(DSzHsqMIC{6$9883z%!p% za;)hh`OL0^scAqnxo&CsfoF96PtHkLQ5~d;2QdFF<T?i#!t-I>B~-}Y8+@hJ;UJHV z56>5L$Z6PbIC3}@1fiagkdT|3`vVbdBLBCqzrZ*A$Yo_>5-N)?yUi0Tp7r}#8Q@PC z=)MX4!Cu>5&)#4mB*wsp)|`zzK?fSy(aX#0XJUYiExt4!L=0oRWV}K6^07Q?$_9)h z-XZXojNA<S2Ya*qRp6+*65%2j;8#a$I0b(`IS7c84W>syJ5lZJoS3g!ct0|L0E5oT z-g-mTFFu?ELl>*?d4;U-7g;7h9~utVI#1}2RdJL`g@NS5%K`1XwWV)_GDQ)z`T!Yn zw54xOtary>=!*zH+uJ`!k)sUL_>l;&C^)<{(RUs^5m<sx>Jyq`xvvWS9BPbj3Jy(? z3a|>U5)|17dTuSLN??tCIZZxbefO3W4M;UFIr9I1HPA7oQD{zK4G9Q)X+Ckcq#9sd zKqXUietByz$t;F34HUG(hd^HGg*H(7(%8mx`z0l+&IlXXWrsBRtKgQL+w0|>r*>xX z*yPET3<vw#vZvwVfKxjbtt&Ef<f&qE7Dl+pSkz&EgqvGw(+ai)1?ADEA|OW|B1yye z4a!-SML1Nc`WNmFxil1&@~X~H3QOy?=Zp$Ahlll!JkNg3ipFgmfGuU57djjpb8?H{ zqT1R9hWa~@9SOaPoF)5Tbj57I9#ficD%2UgX`Q-CX-Mmt-9vd(Hi~Cw1}805Z%3b9 z8PndIkwr@aawX9zc#*NQv%+}x?9Jr;8p$ex(Ii^^%~3X$c+x%fM4yFN(#zC6DKmN9 z`WmF|vSwm)gVJEvo2XN>ZC(spC-{3GRtMHyS4UTNb2)XGV^ej*=CKD0qg`H=HLcGx z+)v#w8<bwdh+CTNXS2AmkU`XadL`oXHeHP5zc*5r1fxl{1DgZ1WMGecruQp4Gv_m# z#JCXD>_!VK?6OBwGL6QIXY6VoKfcAP%yzS+gf_CUFg3!FC|b=!i*r7=jFPmUz<n;M ztXx;J11F~O_~FE;_?bd%I3sDolDz#u`6xQkm`T)IUNwp~C(Dz~b9D!|rkm2CP&#xu z_#XNe?SqzDf=&Jb=f_*y$+lfk*Exzzi8{hW8Sgf4oX2mc!JCpsvsU)O@hc%;*o8Ub zow68;Gj<q>&kwn6=s_98^gGwcx1$b@N*^<kT^?K`IB96o8)-8=j^_HcUzCoAM+r@p zU7u|C#_O8wm&%&E7m*H7A9IUDKRpN%#~q2656_-@QO<Xr**)BYz$wbm@7Lwz^l6)l zx7V`_Z`{BJ*7Ws9w+jJ65uYQ3^J}-h9-Vx3Vi0s_HhYhFn3|qfP*%HTf+<2dP>5_N zr@j`%mBl#^7O0bw)i81|r$AL!Qc_Y;p&$&GW7j6bC&`|j4eJkozkV=)Q?xF<$PTJx zq&<hJuC4RP=AmaRC5>O9jLx~(xD331GfbXaEhgV{{_<9ktH9|VKSnjPB46Vmi=#tF z9pMjEs0>X#ADD=MWP!I-QB>Pux!^YP(xKvFY`zva!mP-j3ut3yO3}FLe6un=Q91KP z`in8Ma^jGnC3Rhyj_d>U-d0w^(5M!AB}umiDip%3Yyt80PlsFv0!x;o%yACc)Z()7 z$W&yPc<u}M&cYLOj-b6gU#T*qNhHT$IHNk@58roWcqvEg6t}U9t5)DC_X!74AM=#H zaCJ<TN$XN>3>R1%_iwk>>3$tWtuCo(NzM%3r!7z5Ol|LG>*q*SEatj8yFE=8w=<E* zG1~D$oS*VnY%K&W%yxS}uWnRl3;S5Kiqb&dz3IRh?m2DxgmWIw5jJ&X!R)5761Dxq zHRma&HvtUI-kQ~=DV45T-@LJnuaz*bNq<I!vqu(bXeD;-Cx#pO_bcRhGdtlHGvip= zewoc)FL_afW8rcsjzkHgfnc6Ef7*s05Rp7p8HVu`HX<~`vgG_>``a1C8CjKuNG{b* zGg+W}dON0O-<25GhpnNQt9$O|y~^y08^x0I_|SB?I`}A3LawS%(p$1RZ>`KEjaMlZ zAdXF%<`puFmFn5JQjOP+Oo%E*t}U>?s~<^GngzECsWgA$H(N0!OSS+79J$aCR~0Hu zIodV(Tm+byF)p9b6v}HmZwg=ad@7QIj71mMWDY)c7Gl}iHf9#@vVZpBh-g=0py%Ss z5QFn+6Sv=KXZ1{qxqu-(OL~Puafy<Ub(vNBd384*nJK6s>K6rw7HdbxH91ZhFRoq6 zxI3Slxj|7XHPvam$Cxcsd;;m+q9&!0oD^nTQ&(~Y9AdYo-TgC{X?9#Cd?{q|7#bo< zQ3j+lzXhvVXRr7X>STygYK@&T^DHMmK<Y`pYPnyU`*EPd##zgJD_u-*FZ@7qcF1u^ zGpLAvI+@CvnxX}fk>R{;ms_cshurIfpOt3a%HkH+9@7wKSi9o`l*TC?XGv#FSBs$? zGRb*HQkFI6rO9|+X5RT);pz%?*N@qUBjZZx`s6O0X1ZOEwzHMIo?~{xovP@rQzQx> zRh_&}`+ZpZ6za%*iw_fkuC`;ku#7J-_0>@YhH|>}7bEr7PKXsKa}dxs#h6gz$8+I^ zI*J@wc*xJv@~IzCZ6LXzqR3SP9*jTk?g%F!x<ow)w^Nk=c+S&KjOqiZ1JAjD8-}a; zu&r*?bQ_&^1~P*uT(ieViDay`yX{UEDk=9Rbt!INxbd*=u7*SbMDzVeSvbFCfx%m+ zYI1*c_Ld@Qo!pa5{M}r*<g}QM5TFF^7ZZiri8cB?-=SENTTOm@0!{<Svn)eV;21Gb z!1oB|A2<>)KlEvr&a<7O_yKLpeAV!UD-;2;Q#EIX^AN`KZ9&RK%@Hg`;9E=7i0sut z0L0CNN<JRSnFGjdp~_B;>c7DZ-&hN$%lT(==beE_g>twhO{l*F0fiZz_4Is^C5tP4 zwChYU1##hRrT$ReHM=MRVksiT0`ylZ1vfG<&@eGRwTHL!_6zr21AD~o;;Ilhzq}Vx zKALgQ^o+Il8LebG1_l9X9bH{qfk|dgL-_xovLzhG!9hV{g6`~c?NZwMQuPp;igIIF zK&>?FbglHi32&3v)5R-!Cu&Mr0W};v1jh$^<5*1&s}4oh6dh!y$6i!4e;J&oWW2wS zK>9()7295R2w$Lo&Bd1k`NDgCAL#IRWF^0)BEMuMY|PATe^ZsPF#R1>2@CT-pemtf z|C^}f*T4TuO$qBCyNc3Z94zqY*?%co0OFPZ6ETT_9{R_8d^$|ve0)B82p}L(PM{Be z2lQ_wzd$oE{0C&VzX$m*VweA(kOrWg`KylRe<!2)Pmme@DUj)y1OSk0{yyYiNd6OK z=D!D-`5%G&e{q+8&9Hy%UH*;aKS2iQoBj;L|16hc`A6hZ{}+&1{^gK=Bl%B|S$|Eg zU!VQYkXe7J$^P34F&2jZnAyz#yQxjj{%cwRZ2ub+VmkL@a1?ay`H1^41Y6Pw+#vpp zzCG~pA%wJqh$!&DVzyFKUz7iz3NhRNP>4Bgu4;?7rQ2XjcXB_pPTsUmDmq<MN+L!Z zfP8=l`mZl^UEo^1`8Vz7hl@?GOGh^4@#&(GPcHFm-)D2xC|d1W(Jac@bI|KO9%2Vh zb`%IH?81F9#pZ19w5`n?)h93e)peqiStcu>W0BhkJ&bwELfksjy_yw=B1bF59>)e# z=w;vcu3P3pB-RMNfsjjgv?^zIWKD-db5RlQGZ&AAgtcmjSWfyyOhvjmgEI(pO_SCM z30ZK;9=oQqA>A+%-lCy0=x+;<)~CfHq}oX;QlN%w+bjuTlNt(PDzLje`wfSfvi-2J zQeySV;XR&$uQg5ZPu+~T1AmFUyX*Q!?M;k>HY;c^swyMTpugB03Wx|1&0W~sk*oal zeB-lWD_b;5kZ__Z#>YILKen*E1Mfj-Kh~%3H+j;nWI=^|IzBl;0nr4(SL9_zJf63- zxqArCgfG(&A}_p7IPWLO^@UW$bTiMqeZzDV>eX=giHIY7Uvu7URXt4H4MQ@7YrJU@ zro-K^CCoA*{c=0DBESBnw&>*0UicehH8Co#HFrl&OUUs13#~3?T#vih?e55+`f_jQ zgBo@7i*5&t14Fy%3%iMvu*t}enaG4$_@fH7_}#`u&V%{uq#9$y*|nwv*0C(FN>&bv zcf*FrsPO%cb(vDYv1GNokfW6t;SVcnH2mTZWBYih*5tHa6AFZx6S}WQ%9>g|Z*?Og z9+M;<x8dwItPc-36kckji*X1vk48IXr-f9E+Y67xmU>w*izi-o$(YA$M5tI<d4<fd zxTsjW#nXpsBC=dON;(yw@3_%gU)pT6p33>N@1_{<&hVPQo6#0-ZQNDw*FthwC?B_) zEFiqs=*X{T9at6KhG%W7uQ+CVhvG_kUn$ON3Pr_P``_s`oG=z+mKvMmjeZVK=vG>` zJsDgBIq0M()Vdx$HZeX3iV$Oe<|vSL#oSNx$C@8fS}RHx*gIO_`=;u%J>I%9N2a~u zd0u3lEN$r;CMhA|GN%<YBM8--`zDtc&LB51e)*#Ry{c@s(!0C5w$0OM8>8h=tl2tf z-7g|Y?Z5)(>`Vl1VpC4Odd{Uve{>WIya|PRDqv*$?pAeFoM+0ts^j)ROJlXW?b*=6 z*PXc0DCnVoYeU|;=ChR!g_+L<=Z@g%e5NSYtDo;CU{~Y2L3lK=4szVvKrk%{4qDds z{BDBok({a}-6eiB62?}Xu6UHOEB_>f<V}ifWV9nU;gd{RC!W3abs6exJ(aWjD5I30 z$??Jm>r`?Uu71vA4s>UAZY|tRth68T@ZBZns}wr=##~P$$<ErIG*tPyCx-%=<Ij<y zo}}8n*uhS6PcfT^ccb7D`B{DpZ_52A<Sbn(+gCy{hEnOz#_Ob~4`Un%Q?t?t?bEka z`)MW%>~Ebc_<(l@k0+_h<IfFaA(~dWhljTjLrr&;Z$@4;NeGal9XcB#p(?8f-RS_a zXX{;67d=ap?iBBh_(|=8QOLpBK^N<Kq^Dw&!m{&x;fnx8?$&Yoi<cqBT)q1<#iL@L zsabg1W!s|g<QX$J%eLL?!sKE$eQM>}j0i5qY!lgTvFhF86(!4sbS0<6c&F^iPw^)U z*W3>KZOm$>+KZ)X?tE7f!}TY~bsB682L1gtrS!Mk*%ebI4|eyWDl5pqUi?|qsIRhh z9}*UyuRl~aSA+YKv+Ujxxq0773$hxE91V=56>Z3|%}ahS6Ho(bPQq032}?^j@<OD^ z@u+l|+Pl*n=pt?}-yBJ4(g{D}oAjFGT9vV<!i1#6x?mc9vWRJ($L)4Xs*aWGp0abh zB4cP}L?v|>k?W2!s3|8c^C4MSIUG<W7cm)dkpN_v3;YC|3GT){yuV(Dt?m(qR!z>S zut*Yzm515VSX97*(RZ-=II0wV_Mj;$<sanIcW->4X&DGqy$G>zuU2eTD#_XDl;m`s zdB&Q&bH_27{?h643Vpxpn1nmiRaIvPx@dC}ex;AuJ*HyfWIP1%T(HoP{<+wqH@OJ| zR>rPEx{3po56s>275l7H&X_f`1bsi%g&-#7rIuO-O_(X--YZvl&d~xbq`c98hSC4Q zrzHnLY^DcYlDwJh$UUs+Vh<$nEBCNy-5cheW?P6B`$4|(SDI`B?<H#Pu$C<PRV)U9 zY@FKi2+kf{FDBg){a!{VWo1C%JklxOVnjvJq3RAy(bUYS64i~{dEabN|2DMvPGIj1 zn^JN=1rLkFM*+E5(~RlT1XEZk4fP=Bv{NNArezPY(8FtRmb-V{)$nyMGY|O!!fGb2 z^Vd3H>F8{NVFG#)J7XEwJ4=F@JAOI8!~?W@r-ohBRb5Czf`HA|X%d@-mX2iLRt_uy zA`jcKDOo=*vjbse&0_XBcAQfndj`2UbGN{q-^MyvRA}`LrN5ui1a)$4@X59A?RvrS zv&j|mtjK~Ek7oC2=lEe+RLEXMepG>rP=*V{QGS4SO{T`9AZn!h`!Ww9pkd3o%?@Yn z@ugt}qgrsQ;SZ%JvC}ar<+bHBRg=myE>+GqT8eca;P{Z+<E+JJ7djcS4?%pY7p-Yb z`LaW27zk)iZ1m5Em^5}p4!zAVVx3ML`p?f8Cqr6z;!mkH<W_CcmT}IWl+x4l*kRwG zrp?s!1y!Q^AE#;F0_Pa3n>HK#{Ymcc*nK1mMTiwJ5f^6ia~7DsyY9?@KSgBlu%7HP zW8gVa%2%UX<p&JxNO~C8i-LCUQ*9Eiz+IK@43~2}Drx8G(ECJQCtaYirol);|3qTL z&(72p!L8?*ARyefn=RPerbcm!>{7W|)ZCG3cK{kX62D%Q%ixJS=TZ`dKElMZfIFW` zmSK0cXVO-{gz3?_xJ@)-zT?p~SjXvQAa&=jiAE^cShiT!EOMWnk;&_$g|PtPOF|oA zJyFp(Q?=3xy1n+Zrjhng>@<6g9OQ_M-*Q+u%`K7psfOAO$V`1Wxkek%ua12k_1Pz! zom}#qnLO^{Y0~`thnUBCinH)6Ahr^Xi711BrQjYX{rT)iHKgKeXgqJ$p$v^t2SG9Z z9>-?_^-MK)gl?rO?)Z3J1#;h|jgh#xbJ|MInN1@|k(a~T{{4O>C8+^jMA>?{Fy(|H zh*q+hPV{n+SHk>Wx$wpGp^yh^#lVp=;hQ)V`(;Lp*I<B>q~K^ubGgiK9c`gkn&B+} z^}xzR*Ce4seVnvi>SLVDE>oXBsY_RnM-W%nA@tCbVCKGf$w_gd&mg~M-6FX!+r~&# z+_@vwoTb)7KUD!B+4ZckYtYd)6FBK{waS2XWrfK=oO$;<yylcqC~NWygBsU#aII+x zE1z!I5$TzN*NLQ+S(1C+?FE**$Mcb>uk%1^)!aPE`G{Ev#e5*a)|*Vf#j~Eoq4OD; zq(mF`G=v}2&qV4e+G|Q;qF3d+@)dF>Q2!q4ZbxuCAYi=zw=Z^aJx50-beN{*=H`Y5 ztsXF7H!)v<WZ;yZ6o2+~qIRG6w?>Oa8r`mpU>H3Hh$Z+Oy`q?+ZxeX5B}#bkc!dQ8 z#l<GJwzjUWuAo>DyZ9fVw4wB%4DMZv0cFU^63MVvR#t+7g05peNP&I80!AJ~o<Uwh z-cYE9Jhql+nGSNS`5q?uDCH}V*55Rj;y-|wAbOiLY_j-;6JiM|=UdTb5gwY4^whVE zFuBE19l|PqKAyjRJPE-v9hU3J!^&ytLd54Mjls`PlZ8Meo1QPS2IR*@`i<Z-M(n{j z#EmwgZ-gx@F)|A12SXu#Cc+HcNFatD<^(w<c+ePxkJAyhJ<PyE5Q}mG^8E08BFI9F zJ&=nKc!XMlkisANfiUFZ$010y{_RGF;v)`uZtu$ip_9)_J2?>M2J`M~r`QoJp{gcA zCqq^@JMZQMc@>()<8hX!U3-J<4$H~o=gvqk;Fi{Kb|ektpVbaO8^C-Dc><Kqt=DKM z$M4R4YlD5{)a@=X>MP0_Kck{qKYBDgN!q*66}!`%7|e5Sb_!ax(9!97Jv3@R5Jz>z z`Id*2jX+5FeIjXp|2WyZ0JPIf1jf5ltMi$c^L@)43l?YdcEKOTCrfw1mNamqwq)HZ zlU0+KP*g&t<HpE_D3G!xF^P}H@T>Xm4-Z*(6Cn*&2E;>-`s}=rx91#qoJ#Ih)faK` zFlN#xhCDxkh;KqheR`MePibjoWo2n?Pxm;OpVykkL$dZAn4MNs6crb78n{Nm(;wHL zo}L2sERv};n*f_A(EMG3RxFyUG#f3qdI~Mx@5jHrFEc%4M!_BlkZGTlEqp(J;us%D zYa94swYRM|*&pCBs-xQE#2L+kKFA}$k=okaeo}tlU1{#-wcd6eW^i}Myk}Frs(xhf zK+W6U^@JsPnRzz=MXkUlEvQGpkoP=w(rw%e{CZHGM4eugmEtbFj}Nx~Uffuuqgb*v z*%p)l9^NGnGC!2pyoH3yo8IN<T2xe?X$H+)!J^VxNIxa_=COmq@pkscQfW?~Nwl`v zaDoty`g)5W{9WniYNJM!&s(PouJa7&05@S($6d=tLp+Z6i=AY9I)nc1is-2K>zrb} z$>bXb<;`ehQ3N^$+xx(&E-}-~>0`1nui@0&SkLBbLS~n`1xC#$9QEo5Jc%Tm>SjR7 zExg(Jsvewc+{aA)yzemM{^Zd&<N-dE&uOd?F%z+?n;iw@sZF)ph6V<&(_xXbj)Pf_ zX}0Z(?G}WRH)Ym<b5-nzU)fBAW}AE#G4EN^X~332Cvz?i!8#kqF>*QcBN-|%ayK5V zUTF(|#;3O>&RTHoplW|En3#FED1kJkcCFuo4IMNqTWJkVgK^kx1ktVMWuIME)3&=* zlAXZ{<4~zcHf4?|h0Zj(>aJU1b8$3UwN&n$<<vJ6^0}(yc%f#6@n8quNkb4k$o_(G zGnHMHGTz~C58J*IgRp6%IJn+)HCtfZ=W~5<S=#&-p!BMDWY-Ax><^fhCX+MD;6en0 zI-$z}7wTVS)0m809ELnc@2LtWrc|j2v$XE)3?xl#^?cv%BcDt%+oBU~3hcg02h~b| z(NxJDK*b<5O$pOP*@$EqVbs>Ou?{z#H{+<-_mC4RaLKES91iy&eZ8x;&h~uO6|3}4 zo*&((ASYk=3{9jS=gA-L9FAC@L2|PaYPdM&zoKrQxxNbHB^e04ij&o3ev*6fx!sMB za0}In>`Er`>P+9_1I-E|`eX$9wUr61ra2Oe25nDe1V9%XM+@Vhg@D^w^u#n6S{S86 zQaEhMPKq9S<hb#6-f7gmo2s|W>oGx2ejA|{@SWL)d-&DWxNj(Cf&1;%53W4brOR8# z>fUZ5B$~E80|D+{bG`6`Ojt9{x>Z>jV9$0p_tLtSt}N0RQ?r(0<9lVGY~7lgLMmv? zyl;dU3ALM%C!>EfAqlr87LymDUZ#(^b+AbVD({ot_e0_f60;ljQd#xy>B)(-9p=@; zHcET88D-8oLh;M`?KI)g8298(=H*#MO6la0YmdhW%*5Uu_YwSwTXNaHUd1Xz^RUEr zB?#z?fEg`5#w?wt;M`DZq6f&Gz19@STjXqPC0)<-{ll3o2)GBw^1`fxU*)#z;iqh8 zk}3+_UNCU?sLrcur5A8X-ZLfWx(L8mxDPNCAabMR4xBSy`$o)!NoO{8P=P|+6OD?? zs~};C+}vo(pBEA9vH{yN^uz66RiL612wsdhj)KEwm~{7c4p+MjR$c^;LTSQ{&zRJr zV;i|Kw#s)h0IOor1;Q~1?bVLx@phqje33k_TZx&&cF^l|0&O~P!`fqw*U-ZTmG@Pk zjfhA?t9qMZMgz=Aef7Nsj*xkE;e_XQ?}zHyhU~ndOKBz2;gfj#v?kHR0Pyz~{$!n& z94V?*OYQj;lM`lT0!A<vOk1-xM*kRH&W7{mqHk_LQ@NEzH>XTg-`qZW>38kCFTsP5 z*m++I7^qgVWR`2EiLArCi#jyaXOroYY4B>~WWGIs2Z=iWys12e)?PM~oD_<Lj9r<p zIbG;NuuUI(79N;FSx9viox*gh?-2(`vZT@6sU+2J$>8b(!-+>nGk7_Vd)R77=@2k- z)dVslou33(sHxAmEy-g#-3(mr_V@BV$zsE!XZ1`xOrjZ(Te#WyyegfYPB4C8lWEd` zBrll^J{p<Oh13ue+1uqY2=q14Cmn4*x3#G`K9Xh{XwCjCc|ZRtleD9+II?4)^frGD zWYQPHv(s?r==0W?(Z7A!Y)O9cf=&Kj8C-}g6A!^Pguzdj24`J(U_P8S`LVm4_-Zr} zdZim(qwBza$$Ki3GHAa8`;)84R9mpmXWp8#8rn_Hjo9-67Z(*B82w?3Ch~`GCPGa> z@?GBm{vN7=e@i9_Knc`=g|2`B{+_G`ERa(jkx#@B622cg0*E2+8z%C(p*RpmEHNK4 zEgkSs2(X1*OFS`vS0n++cl@i2;H4wnVkMOfU0&My+4*wf@qv=nkav&|?et*1l2B9h zymf%1`}6rB{Dm*cgt*e77Z3mhMIVEJ&wYXZ`uSwY^z`)TF$+_|MfcQ4d>~*FVB{I9 zCi0<vMt`De?RF8jxrK$G0=f_V;sBEMo9Go?CP{!JcKN(}<H6_DCCJ?-<yN7Atvr5) z{?u@W+=l!OdEl><t`6gSoWDXSIX?FiAKoUU9G#+=NfMkpn7m8)03H*aiDKR31n51l zFK9yd;?#!B7b;HYsd^yre-#D3#6xQFc(5iz&f7e-+Z#dQWq}_O1paH6)%UNzed7}q z6~$rj9mdlW^z}~_;MgfRJUJmOEchBni5Y49sA<i>0`id`Px3FdPOoJAGW`T3h$Vun zs%T!q(qRsB#jFwk3{;YrqMS>3T_{U|pmh^f#YhTJAXB(iDgDPzU9#vylYzTDJcwN? zKbW3$u>Aytxw{edVm)*SLn&Y2^qzEoEiI6A(|$RP40NKK5TK7NMxY;CTgCxYwuOs` zAFmr?NTj90(|g*t5f2Y*tL_>P2KZ5!kEO?G?<O3q;^T*9h~z}@FYrUOz;y^Tl-asW zdepzGa6ts{c_YL`+NwXk<bAN<|6PS29rQZf*YfM=$N?Ix8uaffpL+0ObU_UXwN!Yz zO}}Zt|El5!59aqm@VmW7VUPv?-&F$WAa>Dyw>L?PS%dn!3eMMmP8S`S2vCTlT>)Vw zRc}I#)7zlp4q@nt<@YW=yJ1JCZ5{|Vq~HBINK52=c#85cqtuuZz@Yc^&RX2LLsos* zl%yf1N!4N*rJT0)v3L#5#8SB^>r5&vg9$6H=4RP_ShjjQp?`iNkWO4xO-h>asjjLv zg<PI$qGh#KE#$VJW%xCYvQ`#=peZ?imf9<E=v}5~KosCaR{6fFh?WBFqXLU*J#A@a z*wwN!bFamCqC<gOg}wc_)NVO@mGz>t7E98BYT>E{WnxE`C!0&G)H7iV+^z=cdRnvQ z$?O+Z0kFeDOT=4b+^bI}#@pzLakoQ8l)p#4u=RUne|)J^6KizePHb3f^vo3{sbzNW zb{sh+AV2sRceEAkjb`ZU<)gmhp=-8uDnhUH1$sZXY==ocV=ni4tnFE^l@IemI$P13 zN!&+Rqi%g*MhVvQjZPhhn9lrJbtdbFLN5Dtir)~wT$&Do&v9e{ViDqp1DlBpS7YsZ z4?*zBQu3KsNfVxT=YomgpR!CFUO6#q`3$V2wGC|8W&ql*3du}_D_f8G?*WO4iCB_Z zcw2b~_baXX4Fq?!re|Zxc}ExIK6s?YOL6m?9Gu}#g*q32plt1?p;x*1Xb~Em*h|r@ zVgI>K?B&pUn6lNc*=j@2jtN;$jR>2q!5FDwavh#6vOP`G_$)Lz@2yOL86GaFQ3lUG z&)}aG38!rpj<{eV8IRB*CE9<H5RsB)Bx37y<$Ap0_EJ!N{zP7=TNX9vxHp|&_^EuM z46;x+YYN0JdZ0(@7i`vLF85gO`~+w5R_@NToE*cnuFle@zR)CuEVps}$*Vc~)TweD z`mL+U5IHK$<1^TwuYPYaR(bU_@g~PAJK35ioUK}BP{Gah{f$@b^Na+Qq6S~0fBlfs zEu);06355^f7I0T?loEZ9Mk@~+(m$lwg+!}7sVfmSyf%q%iuZ5J0fbh^umlgoU2^s zU<m6(u}ir--y*J_Ow(sv3Xi(>GalpdG)_{q>u!b)gDnPs4bX+5DTtT*r8&35y_^xF z%<%Pg+^|t*6|%XAYZz?&hb#bxFi<dcK$|>g7*9FcYNj<Y&Txz;6Hsv9o$FB7PX6^% z_Sg~WR{wDo)2vH|yW?-;9ya9CUfScTr8Uz<@?0L6fRK-ki`4m8PO0%UFFvPM@Z|xj zO(30RZ2|o<f^IUUcAKc<wa3asZO2=ADWASp>etePByvN8<di0{FQcqErpe?YZZ-_# ze45&tqjbh_#^K=SlsY4s^~{s2yI&H+(6ew61UpHl#9dEAM55QIGh5%@#f-W|X1wf; z&MYBwTAL|qpdb5dEJ-79I!ip`P?xeOc?rnO%+`dokD^@Bk$Z+#7F1sYMxC?Yc2$$U z!+WQ#F-D;W(Uv0B^u)t7%}4eMb4CvoX#Bp@nAqVW1hGrDn<f$(uEv=;I_H%)mTH}o zE`ptszzAui2+2&xXuRIG4BM|NPfw**mK{Z&KnzmCwc+f{b^G^e_wFL-+zjF^js(A! z+hOCnqpsl_UWFtE=FW1WU^gB)S^}C<Gz6|8I>Ipnh2pjW^LynAXXC^=V+DMRr|r^C zIMbmRS3A@24~OZQ_>vi1=|d+?IFW(;zt?BOo2jhS5%Wl16-q(hcuL&j9W)-MJ4-hN zJ8>NWSK1VWSlg2BZeHYb-bQ)In&L$t42A03U`4M1TS~&O=Fv^FDHd00*DDJ=dwUX^ zjz4ZEgbk^!8pNpRBjnDt-J~=7E|ICNRIK|jn@W0Nt6gqd(??#lmUg-9H}!vwPP3Zl z#gm<pcg(nVeQe;YzUmioNfd%&z*2hp!W}D8F~PniBN8${vCv$yRsBN7QXyI3ZDut? zv5f`md6ih~dM;%Y7R}<c><iI!6%%_m<dptv3ER-OO>gVjnpREdud<Z)n{C#%`-@ow zD_sG_K4&a$gT%cPxO7eod<~C=qaWF@xcE#C#S@z=r!`~kCvznEvhfEOupDd*{K<gT z7_eRJcVAb9CA+x$vrBLTthJwf)9f88Ut!8x3JRfO6}bV=T*tz<OCv4u2u)?!v?7A9 zek$43@_@X-_g{MC*>IqB?;bT?Zzm~Unnr(QN=9vBvqx(+NdB6=+D!Ap${HdN)wl6w zD|d<B3XOtnl7HN1p__q{)+of&Tziq_Xb>!Cl-7uM5iu%9x6ybIAlN{aTKbY7U7;Ef z9eW~|9`xHS7MFVaTc5<QR)|`?(*_Y)VRiL^SC%PgET41zOj3fqvLpKKM|Tdxq?BvL za+qri&s?EPi+r#%<d!iZFjSWz$$jN$e!JaAtxE(JUthN0P8O{hG!8EY`j2Nu^ZW{n z2iOeytNZ=benb$vz<)gPN8B$U5Fvk@qn#ukBycO=??MjWMVEkpw}02xSwj@_=llOu z6V+O+0>bB;-LyI%0VGEkLQYT7RWT+UYi)K`P&iNiK-Y}43K{_4;4f^q{|qWnK<TS@ z7}_uF&;Ty=e7@d}eaylUw%HX&dj`W92q7m{zXXUFQhW;p0|Pr`o}Ql%EchW-GwJcS z$Rh^Z?Bb%R5qa(*wV*aFOar4{2tg~~Ut^xB0%^dU2IXXlDTp%xu%OqOKp!29ZNLqF zvDmn9uzgDjmd(^}Z{RUNfixfK0&7o~zNbL2f&JI7`~OQNfFC6O<-6Y}u9m+eGx{yE z_@%sHV`QQGo6v~$?`f-8{}F8!0~^!d^ceI2sn-8mT}99SPtVx1>VUkMIryF}T^Z}X zQO}aq+y{1Kgyi71v=kDojkP5K)ZPSBV2*YPM);X8G>{BL0vKKBbB;cwXk08=45|oZ zJ{2K4Mgg5rK63sX8M7dB|7kVt!R^ti)Pv*6*f-C1OKI7Mqs=`B?`|H|T#1k1|7}?u zp9Q=et~SrQ%hT=Aj>#a@JQs~LY!-*i-bB>iy!l?inxaY2r0KwCUhgm0waAfjh-e?U zV@kG3_P67f9PL%Cok$Wuu_X@1^-)g3Ua_l9`w>F}O1o9bN%vH0n++nrjHPG4$cKrL zg@yw`7hqnYCbx+Uk#DY)p|dwWI?rcdE*b96#gYt>TaRgq#wtcaq(3>Kj<+e64QjqZ zVZQH%rz&<#3&}9^eC<*9&Dich4-?9RTqzAJD~qmvk7)B5BG(b59fE`=YEVQ8>Y*)` z2(%>OF2zl?tlCxlZeA*M^v$}g)za8rpCD1&Sd}7C&%R`>U;908PiZr|(u6WmpC?(o zn2A!MRLZ$aZo92dVSb`loD5}O+AID@s!8rvp|~t<^0vE5g_=h~T1v_ktf<~i)22No zo7GCz#Qr1i*S3V5gfcgYhdF&7i(ch?u6Y?NpN|-Y{_5D|qxt&X^dXmHr716nQl@=o zw_UnNTdl7b=!{?svV}K?Qx(10fQ$eOP-N*BC5ef*kCnsD`7h<!FV!jxHJ>TmjTT)Z zO(rLK85^ifx}I|K$6LtW)>=G%c+X$%iUh^Wb@0{<?l}?E+L>Hr`kTe!yA{3b!g|OQ zB^!gkOEyGKtg?E0CdXCUp71SNL}{KhXI|EDffApm4u)#9%&vBR&yDS}UViNtl-2Tk zWll&usBYzU_u3h3cDOlc>&`!N+EtSBc59({SLn;o=&D^$*|t@cCAgBw&Y~J4Cu~c& ze+aJ5mVnyZ%yA2%v!_TT?G&f>;%T#;jOk>0mE_O5QBr@tA~X)zG$DhW#CiWxPp^Kg zROqA1L2Ibel9&31>z1^QmS|Yaem6o}8{g#8Rnus=MP`STLAuwv`DjKouEZa;TqgGx zSC@EOoeKVztuNERn>;%y;)P~kcC7V;#N$OBQH+B<WuOTn3OoBljU!!JT5F|!IODKr z6nyY~fcqwdhIn~?-plc)F&R5iP0Zw8Wz>THCq_XxFN@8+T1S%jw9m)uMxDW%otM<C zy(dHwpm%TJVaq*n0h;%pq)eX%z~MTJ?dYQJE4iq!b*fjFCHLx&t~Sn9)y-}k4z4JV zsO~C7+`qD%ym+Q!e2!xA7`b~qeeYZRF=2p4%D8Mv;v`e!Gv2hR5veTZLrK|Offg0F zCM{#s@a6kAZ@*7&mV1C9ZvAYv^f5~@3aZHmB^@P85nA=O>+_b`^JUbTS6LMHQ!YNA zx`%7*qj5M5v74jgLP<-FeG1n-xze`H^=aN4JL4s85JvUs&lQW3UZ~($I+v?W_Vh`T zN>;F8ja2SQ{;Of6>63?vko@j`oTiZ^xj6k<l~T1YDy&xf={K`=x<?%edywTQnrTn1 zM`<(c6V5<tdq|<SZxoq=6(-i`wOlvsqJs_;=4YI*7XBCC?MDQ@jLWOtc{AM1?S-Py zc@7bZEXJmLZm~6dE~ddJjEZ=lcW(Y!oTa@o&8p!v&-3+bu!nm3VG0iYEe%ZFgVgi0 z%dINdLz`DG<Z5`a!dA1+`a|Tn<yjItlmR<RYFz0L{0qd>OVjpo8D`}N@%m@X8Qom@ zRl6fvxZ=Z;Q?ncDL3;|C?zJ*Z7vZ7ODCv2)H!v29R!f$vk(KO?VKgYWRe3VhDs;hV zq3uq_{gU9|80xm3QM>Q%EvknRl@~m8Y+TIQv`Q8!83e$RdJ76-m#nSQ=ojj>z-ty0 ze#r;TeK>V?$(v>AEQ|V_TQ;AJ>P=L2sZpR;zPEXQc|{rV7y)FdFnD&pW!6>UaYbHU zGn=60DlYLE<#Sip*w#cF)6jVmOth<7s%rJ%x5-9q<J;P68P~ke$d`*-y}#8$&xDNA z<|n4Ju&Vx;&Oadxo`s!V`2K~GtU*!K`gxPVxstAvKyA`NW;J*8rOk63{q*OmjZf6k z9j(pH!}3mbgiE#0Bk8_-Cw-RwHMbW6?ZV}#wNpShB>Ud0KK)sJZoUQOY<3upDm!cO zh?hVK9D7#Z$PKGU2T3q<Z^C$T-GWfY!Hy$+$k*#0Rb#0t2j|@sHBz!H#R{}Rs4zaQ z)y~hd{lcN6X1Xr^uqjj?YbF5Hdz>6?Qfxc<2gtO##NH8_Twy60ByY&}VY13@siSh2 zS98~}fJLDZR|f|h8`~MjQJOO-cyLxSh)*;lMWbi*iea*&XeRH=)Bca6{Ps4Ml``>^ zkn(G`^)h_FPE~Rei#`~Ty|YGZp%6`adH1GEqe|z#DAJ1V3JcZ3Oa{`JNM{O??o$!g zC(U*Ce)oN*`h%MRN|YmbX9m|`IahWWLnbg=QwE6y)WN6Cy;P^EG!#3i93dzQzq@y{ zvu`$BMiUL~1B&u1<UIV?8BL?&ufTwJ70F{`N7+R2*x18S@glO!fYw;N2Ggm;$JwD& zc*=A)HdqcRf-O5(Ju7V+6;T%Gi-gIlZ9CgevLjsgcOWh@plAob5MJ=QI<?MIuCJhy zaIE2v?|qHc8&7vDEx$}P(O~bi$bN9Z`T-(TKk7uuWObf-_Ek2Q2vO(8KHO7fYOGX3 z&8O0hYqca5<NGUv1BLw=<M;7fbsrh!pCbZ!UMFG`O*8UY&pjEW1&_oF5q4QohftJ* ze$`xqDrbq~gzT$bcp8UW7JP7pc`<T`R2D}@4EpIbI%#hilTp{H&b-ybzH-e}o!?Ev z;ld7PUwP?t80O|U7K)80Y6E?nK3&wCDN5SV`Sf2$-BlEle`$yI2-e)oe<Xfd`f&rn zu3WlQl+%ojiJmD{c*Y6Umx%Tb4@EjCEajSkdLEsLRY+YHAKz;deN7$MrOm9ULIx?Y zC8WPzm9-VBWNzP}yYwa+nNZ6ny#3k<=P_E;Ok#yb?EIzwGXz#@;aR@eEYAwQoyUfU zNtaRK(QHw3Q8&t6S4%^!oh+|#;J{!ldBR?Tp!cgcBr5CA1SeB<%~O-8_KV^~&!l$a zH;Mem^Lnp_YR;FK&hrx6#6u|JK`VW?BxYrn*M;P08m|*?i4H^=f%#W6A^V{fIi=Kd z=GBibg6bbb4k|+uTDlu>qnnFS37wma)4k&HxlspnDRc~ca&m`8N^Rx)I!!l_x-QQc zO^uQ?+3!*fwpCZ<EjLGmrxGT-imU2nvdIGmLlyn)cxyfz$DP$Dv~RH|cXe4@z^A)5 zaQ}Ehl<|K$9I3^w@EIjYQ0cqRY`4jV_v9*i%|gSrt}X|<>O_e|bkP{!M12s%M4eg9 zv2hh~g}&Zq!o{4^y}_vVIvsgB6HFarH^|Q?+|a+4tohl`t1S8WNOh)@lYJ|1b=T5X zjj)$+_>jGS;BZSQiMw54;MBOVZi^_9*5+9o(_Za%h8>l3x->zcu<e`>21=1W9c4)~ z#JhnsqpRITlPN&RC)c-!<^oUpuZlzepD8@xQ@_m?%icV`1b}}6JmeI=XM(=~`JqMp zdF-J7=&<`WghJ2G&d%BS{v#oT1OK;RppT4!j&l_umoGg%z^Nj}a{kE@g$I+_qVPeY z{5fAh$sEaj$s;1c{DIr?i{v;I1;)q66GxkP?bqQAa*#pw@%g?>;Y<5bcQ@u)lNvE$ zi<PLAAqu1g0|ho9ti}zh%t<KF%uep}e~{$EqXCA6v`Hh%&B&uM)zaaEgJAmf0m>4} z2FgB_1Y>qTB_U?`b6df$_YN6(c*#Yv$gv_EhUQ-ZkDuav-d{%-$>K>J{d`{_lB*FK zVSpJRhoWsCF^#T&6~NuPX3k6E=Og*>h(M#8FO@a*5%`)=t4m~#0b+;<kGE&fB4HS* zjqkUe5Dl;osi3=}EuN7KZUSf!zwOA6;^D>rHZD&hdkFm74xu>)s3GES<0HF}+IYY1 z2vG<4O8qgO%9RWK$4-gSKcka73u>PapG=I-WG~F$!HPMW-k(G7D|a^D2dpmR7%YI= zbXb7xL|v_TuFO3FtGqveTe*-Gt5{pgkU<i&CwS~P5xR;$)FV_UK(*fX6&gIdJVd?_ z=aq2aR99+y#fiINrw*1icWux8h}B+Szulbh0&%&<Y3R(3cV=!7wbMYg`3hc3r4z~c z%A1$qZuPKO;J!8DGvl@zq>Ivd3ZXM|Vz$^glRv#R+B;zPcrA8ZTMnvCCjANL^w?E< z)cw_U=Mc9utk$AGI6s*>H9nQtIlpT%XGOJ$m-)=WD`TwXU1piU3C8kc;%?xWgcnKG zj3PdF*m9UFAy<f9t+}To-m=J@$L>8ZMdCK#z_CNmLE_0KJlA178KuvSMHTE?w!F>u zgl5oPeVWP+=0?XpecK}z-Ip;(3)?QlHTQ{t9l`FE4#&dnR4p4f-1*<0&OrvFFBq|z zo*=!G#JX`t@|P;ZnR`Ig(eekbPY;y3C02tU#BXLU8lRL|HgC-f{gYvKL7W)XKcDk> zTVI|oOU7sU3`>s7M8QPMOrV7+cJkt#lpQD)+CE$_*9QayfVb)7_ncwLxV9or@ll{E zwQos2x9OVt?8>6RHJ9yKWX`qA5G`0fS6;CaB^8f(dOk<Y`QWcvrMVJ+72P(V&m2VG z`am64QmaITE?TS9(slq_wh3VKWGWJh?xZmrXY8Fq;+3GZ7*qDODXEIL-uD>xA%RD0 zhi(f)<o9Ez-@47%8)@`q=<OOC>LDsB&##m#T`Hs1S}$k%&o2%aj>(5<S#OD2M9aSz z_d!(m7KmYvHb*=ZsMIS*v+{Cd)fh(7M@0u4%aEtrfLllk>?O#ndCTn0D|mbJqz@Z9 zxJ{}CPG2c5;Gn)+p7kW+S}1SL3SMqCw<WvD%-@<apN1fBIbk4+=eu_oTNtRSs=Bx| zFUPCK-S$i2zGj>|Tdmv<Ukm~#ak1T6VS9IYvhTSHH&(yvd2U=Ke+hqm3b`Bi+6?I% zVbu7PQKVzTI-ZTpXfb#mmn@ox3kdFpUA9$(NbWdkgh`|jBHPJKS}9$|otwN?byTny z5(S!}5WDeE7A3Mn->PI=-N%7n4i}}q?vTiTRk|Chb|=)1rtAs8LWmx?&TgWBx_Xk( z-0*5pH6wM`LF!JFxQzSm^}_*~R(P|T>)9f&+34Y0W(E&&6>2r^JEV4QZ$=B<a7{+t zqz-1Z;uaz6I}X?uMH1}kblDQT?AKuWO7F;u9Z~J>Drt*54%r5qm5uer4K`JdCg&6E z?k*c^OziFz;=y;!0q645(K#7)9Y~YKhj+RBGRKXEqS^7TO-(N!RH!;~xx!h8Qf;c` zB?sDQmHxaZ!VVpW<3+WuLaTTPTg$^v_?iMjF8}A-nFC~9U(UGg%IK!n@XJ}DayEO7 z)P>?%5Z2}I_=B1=qxr7PDKp2>m+s@CdGgdK;lfTvTP_;<<eAAO&E1~8DLHJZ8Z#FP zegxy{A8FOIaVz5$vkT3**SR9>%A4@Wq@Xd;0BM!{mo1)m*@@i^DG_Fq$q;n1A*Y!! z<D0ECy$h|b(w|zBbnch6t<^5$USfSoo%R#F950G38uw=c%vdXCoCz%qtt<|W<AnrC z%dZ$%OQtAlVobcVn6KN40aH-!7UGkIvSFm`6K4ar7%r@tU@m2Qm*jy>cHP}&s`z)w zI#OUCu(48o{Or-a>%g^n5RH(o){B!4Z(`MwrV12QnU6C%ZIT9)Rvzx6Gte3!vZ7{o zr%UaI)YuJfGng`F59eMvvf$)r7n=*#C5xYqdaH!CfBf8RcpkU?dPC+NPAKYX8c$&E zdH++=s%cRTmR>~78*3UQ8Rkszn_D-^JBm5x^RtOE7dwhnd##0}EZ&)@!qSyw=Ly0h z+<W1PrD9&(+FY)5^GvRdQE9+-85iP0{!(NJ`j*oYlKf6Ym(4*U_KJw3L3zZccfb$g zlS=|QPUW`tOp=#QIQL15?u>1RzIa9c#^j=jx8@o$qqKJC(XCaU?ml{#JCi(FD@_@$ zYr6veWI+$)>P!T}4mbk>^Nf7mL%F!_>14FzV%}msHnweUTpYk@?mCwlWixAY_zSK? zSs75pT?vy$v!!zd&INS?0*T$AjhA$Z5+;X>RSa3(yW8&t9h_TSVbfJ12s**U*USrF z497*sGN3wwn~L~q`A$7dg}2yrt$us8fq6aCePk=%rCA5l_qTksqWnqs(nqY|`%_-W z!>N0?v*aFv_o_kjpRlQoe_XJIB809#tus0y^u?w)47syW8tl7M?yU#q+blZ1aDI!> zAG^xmOHu31PD<E;APqrYDWQ^v99d}3bzzBs0@MDu^;!(J-k=5i-)`12bLDIC_#cP8 z1e5Va@Z^t|Z<4X<nKl07iY>t=YI2?a_;1Z(mMt^JKV?`zOqQlN{&?m}#q`Stj6Y@4 z{TMAxvH$dDp;X#+1?Eqg@oyL`4RF6*z5(Es0+$uopEAZjV6ZfTf0Ke*Cv&7M7LY$> z7;S@KD+PaZi6xFkNZIuNZucL~*9i+Jvw3Z>hb|kO{t~+$b$t9D0AA3bbp39kW~2e4 zjR#NphZkL|6)wOhO&*AozgEb@HS_=YNHi65=?#cBR(L0j{%mg2`Ih51{02%^5DAE1 zKhQQ(xS*n;m6oQZrweLSLg_+SfqsB8hB5<?tP7FDYAPzK7-tD{bIMZaF!J!AIp72l zQodZt4^m&Gev>$CZR2%BvP@XUA;iykmw5m&hqV$k@jjjtC;4}?xV{uUpXt(`H&miO zb*Ow`h>H*>`2Ue?<^QZilU#ru#!&x*wXY6}Yw6-lkl-HNA%PIwVQ>geAh^4`4Q{~$ z3>G{vA-KD{4DRj>?(PoD`}TcrUv2IFu~l1jt4>W#-|oKMr~91#9ck$@g#Qx?{ui|U z7YfeF#r40!Z8`r>C^+Z;3kuG|{+eC>?|55wp4S}qf5jXAU-Q<pvHTrY{8y>}A9?E! zTM)cdW*fMM6mESx+;msGoSfEqcxih*z+IeCINUZ%D2@nAwmJc<J-|sUm=7_#E%|Q# zMEfn#9MqQKxi^B;mLC*td~O!3PXxSvVg77))o3IO;j|ViT0WTfTDd4TtKek}NG?HF zWKcuEI>wIV&^*M<nt#XYC<?ipG^h+W;?N9p_;vVMOpF5+j(`Xi?b_rISNk!%D|5M* z|1!$OU@QaI?^?=sR_>;GnJ!Vdq&`)mQC7eh?>Ek(uph$)m56oO;`Tww1q2|oK&+%W zRTxCE!1;Gg_;YdoUMiJ4AH0~$>pr+VmwT-xE}=9lkF2wx7*+E8NIv?KuRmhK{>#QQ z5I%D{l@g*wjYW!8BSEeoa%F|sB!gvOA;svQ(J>Z7MS;e?`1%VgCM3m{g(DkL3NpmS z!;vpJVp9<zs!2ks&Z%jG2>|?=Or`kaKvZI=VLgWV#sxD$i#}YbB=}UHQw#UY<AAP_ zy0|cb8r6G577hX;ewf3Cj^CMwB_db`H!w~3cISF5zgRiZTX}A`ZWZb`en>`vGLgx6 z!AK19S)83axhj^F;UWp%!gS={uIS@^&N~F}-n`5Ujm^HQj_M8p-!T<j=2Sy)tI%AT zV<h3c*vfaZ4PXyj+My_iEi4Kr@BsSgn?dPbjYvFjM=^WyX~8scjVF#-Cxvi}v&=M$ ziByh1Dr!L|TRsti3f;Se%phiwNL^D6*2RBMM;cmrUA7bfrh&x}eB@jW7fCGpA}P}k z$evT<QkHSXSy)(qk$Rb4lk3%jOV}zsx%1J23!>lNK4-pDQkQ~L*xpjg?U<T=lkd~O zbP>ykWE>E3uDC78hYgMZ2K8;o8?o<{EN*b?YykI7ixKyW#wD`ThBJEgQ@}gvCaMW8 zY>FT>*4WrtByfZYP%d=G>3s_yPWr*@S(d^20PcTk<8(VP<z@L_)d^!^){;}Aga<b` z)0B+tzDc@pmz3z05X0Hnh;tZ^RFIRG*Gp-3N<f5h+(Lejt%H4)5``$f)ZRue7%<!( z^n)@|p)=n=i-n~r?hLS9WP<p2-R=AonCat$L-KXKM^}+iUxR4MoIuC>U7NV_nBQa6 zFS@!C5dC2yv0xREZ$Il{!^%m9e@BcUh|$Y2Jo`y-n{uF&!6oLE{+~X>OYAs!*tpU@ zcywbL{L=sl)*n!m=guxF;E*D83*)(6ih_p-IhGK(iSZtt32>~8>VVbd){CNW0r$1A zmyVS*pdB2J!AU&sZt#_*u%aSnal^ThUoAB-wviXw&A|IQw(b9^{*u6kQ`1FbKD<Sy zym;C`t*~M+t%IE8HP>KdG>&MfAAcG3Qq-fg@gHnF&#;J$UzhB~-(}@?&>^&)*l^mN z(eQP>CqNHd*Ph+&j`<NX)4wOqA(YyHCHX2~3@lwfx>K$u#75Nlt1EW=Y`mhsVysKU zf~~86?sjwT7VafX)>xxaDrhq0yCjC_6)$JKQSu0BG)4tshp%W?nt@73>^BFKDRRVL zL$6rS=-P~0mBN2`<A3(wEc6YjWls8>MDn7TJ3;y%X99dk{lV@W&*+RO4yEW34`nvG zjV%cbygY){MusC5BBmh#l^n|TW4PV@%Y%PMdv!Sv6#+>HYX{H0tLx0566?R&<<IMN zVcL|RBhf=y*Z2_+iAfNnL{3Mx;F$H#pV3g3+>A36Pg@-Lrzz6~{l@mL(X2o|VvSJ$ zHR#)~Wjd3KWyi<rt~YdiUI=`i2#bxlCClgA@*d8Te#Vjt&Pj5)-_Q$d$n+_A0s^E2 z5giPb>@q8p(U0QOxdpKY*E|zv2;XgAMDGH56y<x5CI9u&+W~JzcdI2zX7ZJsL3VFI zcF9hk{W}$FX*`$}26vlVzeBd*vkuhv-%W*xL>hj}Ay?VQ<q?!CI3l0AM6>e5EhG!B zY|@91njNP-*;T$ANI0jAT;A)r{4BFip#AW%yoM!CVM!l*FqQ={M}W7AYVF8zda7fS zoMZZ5hJ0O|<o3boUl5=<gerxOqV!9^GXm19)JUUyWfrNRbF_Oh43NP`c=C;FcU$x% z(H!;st7nRL_IGzK6OP=za<1Ma2bQdz2iNzhe4YoXd<WW%T21#lcFa016OTEDmYNgp zmdShHII@$aAayw8Ml4-iol6S&#Ev`Y=mneSZ(V8sy-VQ30X^A+M*a}1tjDO;6x$24 z{&^2=n`*-L#h<LZ-~gc`2aV5z*%}HJGMqF?ee)KrE4+rd5Mg|iXjjktHw}|;(oo?$ zI&dgl7{Qf|+an7-QMt8baoyp{nLI?o@AN2zaETkhLpv)q3|8y`;)>eqN65!Z{vxLO zZQe{=Llgh%%OB2U3Jv79lpy(n#4C)|KXY%cv#7Nv6bZYbKo$3B67In$y_^$kJxZ4K z8wCGCJ^RAX49vW#sdbE;2Ti2?qs;SnQ^c5Xm9vMRmcfE5uNiUa%B9b)$bH`wKm_Sv zW#sCJ50A+Y4`bD*xKy~SzvHb(M)zOD)SEhTe!w*b2$_4sr6Or#*{l0w)h*H=9Go2P z8@f^bv)l<_oJHP9){6@7lry{npq>w#PTgb0gy2zpmi<VXhRWT!yEK7N1;5(oxu0cq z(3{5|FFa99p4Q6)P#IT^>HEv1S-3PihIsfah$gm}m2J8x@1Kclw9m|{GfDcTvqT`Z zCP*|X6G0Yi$yN`O`1T`;QPm_1AZc*&wJ*E7zar48s{h_1{#w6Mgv)QtIM6<MnLIt6 zi}>o`Lcr9<@ynENklyjG&B0HvJuwF0j9NO+nBykqlF54R)*Sh{AJ3()@O!QN3<yoc z7rNzzd+RN5mQ)w_e5o`b1T7Sbo!3?qU?uvM){HE{oln&B&W+&r!SR8;)d52z@J>m! zWqAAYF2HeceGlzyd^|jM-beB3&eBDP@uThD9x35hvbX6CQ@!&_ONqWLpX<_X7rR^k zaAsfQSjuLdj=S9SEiCZOf&2coH|t;~^JPIgRboCl^?Y%dI=a-T?umGaHZOrzT=@N7 zK1)~l{kX!-ywp^E*nyjXQ5Hn;z3j)*oj!`&%USR`Bi$7(8w}IvZXW^OT)>oWgHz<i zELz~y7OwjHL^Z>skm2JV115riYKB-M_+r@ep+o49C>RUc{E4)!0?@|IZY^b&@lYX5 zDIp0UlDf8Oh>g-rN%}a*Krr)eeKu6MV~4%@0(uCKQt1aai8cggjtm`SVL3TVIbCR? z4K#0{(F-=zpY8=9kTZBY7*6Nn0Bk8h(b<BZ24^&(U`-=e8SSqScFPAFV6Hh(ce$m+ z_Q<)yFfs9O`SB{M{SjZsIgvhISHP#z7as8~?UD@ukQeok%|5dZdgG-2u>Wfjh3TU} zrTYUp9=PFV`S3yTli%e*p``jW|F!L~aS`two<99^E8EFQy8i8Auk;On`gt_>1M{>6 zz=U8QJ}b4^377p~wGx)n^5C$*+Nz|uv<#942t_%dx~nkI!T}(MHE5tMB3f&e|2bx} zShUEFYPqZ1R5}g;2>y1Ww2TPy?nKI)t<Yn7AJL>JxZuP5vvE0TKfL%tZZPu><!bzR z%h@@?#g$8c^RpOMjPDFCMn-BUJS9C7`7pXD+d<(_eb-G^HZDI#eAkd}X!_Qte&u}C zu`MTKY+YGv;wBuz|0*o)n8_$GuM9t=pJlISLqyXY&`$+V6|aaWC)T{6<4~}zqIND; zcGS8P9FV6TFL0y#bU{q~dr{-%^1d<nz}>^?>rrP-LIgK%+vW0g({H)Po4c6{_$O7g zCm&c15`Q1ra-z<ii$&6r?b_1)`|Zq#Ez<-}jgMH}ySoG5-XGb0&6Uf|5d1X`FL8LJ zfFq$^U6N8}A_wmF?o#`vwvkxZ=giK>q{1`iZD)_C*P%%c*#$vNyIahoG1_rHbs*n; zVQu{3oxcq_2uu@~*ug%4Ob#|NpYU*ujhP)<>^>fw`p*h*7_3VU#m>x+|55h*_EC(; zVogj8FGe7}A!FPG<sfFDw+JIKZ|+DQkw#j^<uoBWw4lp4`U_!mY^g0)4AwBxyB>mN z9Xq{$u@Dsu1VA118;`a9ZWqvGszD;M(jCU{0_=*}A3IZHc?;SF-_7=*(ATNh@{h#> zC%hXL)fV~U^{7@7maiSH1}g<(wsZQ?UT^eza!7B;R90W`-nT!=dD*(U(6{SbY%D9v z%4?CWeHp9J^|}%Jsf13#>v%m^fI>TBYPy}Y`lvaSnUvT)ize1Wl~qLTn<qs|Ke}7X zO<P!%j3H^(mrrGzl!)%g<Su0?j=EEkZA1H-Ll&*p5Ijg7zqQV**AYVV8*99#T?xHs z4JSpRzPJw{I~YC|dn%^bo6S&K<8cR=^se4Zqqpw}_(`oR>NE5;t*jF0A~T6C>S!GW z&i9UiV*>Bv0I3EtV|SIO=Iz|#)m20f(d&L-3<Tg(R>GXQB3KedE654LB)w|M9MMI7 z25>$D-oW+YzJGBZCycW>aJ`7!{v}Yh6>v6Q7?K^gEO{Zo7O7A=xx;BCuX<f9FkW+x znC-l^7Uf5JIPWm9TvE$9I4X43ANv61zdvpp@xEv&mYtziJ`@^aZ`_=^RNi45H8COQ z13L;f3FmPGz<+Q|dhn4m<pL{ze3HN~z%c^?x$sGpYct-)8I7%dNU2XK@gdA>Qb<3h zw|9=U=|@Jv#7GjEu3CR_7%6RP(&DJ447QXy*pS8GNgx`G8CYB8*OG54*^(pUzD#)- z*Njk$96C}P+NHkxp~vZF0#=j`Emm~hwz=73Uv9v~vs2SnY5HSqU629rF)hje9j3&| z7DCU~=m192&*TJ7<2zr`E%dMt{i!Njt9h{eScT7UEO?83(%W=U`b(Mr0B4bG1R)N) z0zYy&W0n{hC4zEw8a<S_ly@BrA>(|96FIwg$(0J`QT#{{eitKL%_6b$>q=k{`yUxk zf%ld!3!;ei6ix}1luRT*jN55oRWpp%KORD~n_YR6*zt3^EQm-^u>3w+!PaMUx(7_V zMJv0^_SImHZI3+l6f~#(J`q6JHB*eJDS#vYl0Ut%uZrJ#I=qLFX!m@<?)BTNH=_;| ztq>sU-r@^tG@8U_s4t&8q#ZFM<8ywSy3MOYW~s^VMM!v2eU$T<odG3MC9h9{BiBWl z#+W1CO}2E7kcfNcQn1-osb2BUa_(&7Aab|>V5zSaSH)(T!EzZ+)hvYHpIVbs(N=BQ z6;t1VK$bU-OM9&<+*{%Cj(1Z>>CciX+oZ#Izm>xPvc9+(7wy(tY3hs*txpDSeL_a+ zn9}-i@8l<g#1~VufJ2((>l57{Z;V$}EjL@N6ah-89V@HBu(pE(BmNY^{4Vm`aHYK1 z=?Sp?{r&WGEr<tHw+=31G;7{eN1>omCjbizY9%|l?xAkK(LYB&hblxl$nLE=yCM4J zd)mrTA+!q;;rp3wg290mfy%SzonNkLDkRJ`b@a`!jr7zTaUC&L+LqR_Vwm+@j#r`9 zLO~>g-&!-1S_PikE3f?AZFb^bE|ZUh9#5$g$nV<d<Z1xEfQ`O>XP#_S2GN1t+tX?g z6T#r_656;d((!YNRGO2z{)dw5D^;N{5+6Jo9_oTIpb1Z@qanH^S<cgwB*GMm2*%q< zhQshE=VYFkrRB1cUQ&Xrps1p%f`rtCP!;$S-{tykUCKK#*d9#Dec|Y@@jrgbVlb4v z_#SmP1rJbcw?0j6B>f0OJK4yaFf90?(pyHK*UC3RQjB-E`*?Zxhs^-U?>sotKQu5h zGz1edNj!`Rcgo3*6FYAJ%wabJvQUm!6J#~b6DRJm|M%GPY5)bA!ht36*RnRYq0yj7 zkpK#(04V{NtSm}IaJs~(dnTyVu6MjNaJ~h>d5bpO794n8nvsEm8?Ky#sVaY!Fz(3G z$QnBPQF*8Jc6uBEs&f<C>-v3MbDb67cY4}iwb!d)UGvUvDq(1ReKc<Ux>wAn`N-=N zos~_w__Vo6*LX#YLq;YkBegMQUw)oq=PsFDky@<JgiVQRJlk^mVF3Cp(@|@0gH8JQ zT<@NqRrL|Io*=^e-n!+<zGx>q`?Xh3f-Fig<g4+cn=$3Dl09iTMV7WjBLh-CZw$DF zEVQe$5;$y4hIE@^_cwjLJ0P>P`OMG`j8tgb3UxL3J#D=B;_=Z2DR3So(bAU3DT2>F zVwY#Jz5obMyjDt5ynbsn{#$;cx*UDQwL(Fp<xSJL1=HscJ|<#2KzZHzI<}OV8hZWG z-34KT$DL=(_*(ln7Pt5ICO-Ag>%J(6G;rFPuJGpIL5Mfd<~HFUJ?P@QFpNarpCUH< z#PO2njkr{D-vTGd^R_N+Y8{!iEP!2SA)C?qSblJC$t}b9<PJ&=|2E5ZXwL;>FY-z^ zWt36K>4lj1<?-@(2YRMOQXvSC8wPkk%H5AELoP;lkB<}XJ_S;Boe+vXR{maKX357C zGH5iA07X@HWfHRkejA#-covCudYdd+1>2lTckc4Hlqp8PCU1{&9Jv3ay&-L8B(bBO z_{}b*W%c-2&;Gr(a}6o|<FHd?T#Um*_jE(q2Vz_QPox88;u4Z)Zwrcwi(v|2!PJnl zB`Nx|5!0>jBf8BR?*QDkf}rtXND0vmK4HW^5Xc*G;UadCY{ACTV?oVyBaZh0-y~?a zT&AeMv;d5aH!z8E<tUE8qmwIIz7A^>)C!DE<)>L7bHQORXVvG$m2D=yl#5q|%v@;L z<1AtTS2{`kh)%n;Ww+&u&d>AXodR=C+u3|WSsO;9kI*yE6(m|nv`a`XUzX3Cjq{1e z8>oR#$B2?AD=g6~+KLX9oSm|WE*zapZi>sY>gMCUnYFMOS_FnUE2x@&wgg)WF1#P1 zMyP}%E!Fkh*V`ZfYv6?wV>Nq!iYkl7RBo;!Mg9_c(ML%Rm2`XYW!||VCZ3#ejAASA ztsHJT;I_A%tIVOaL?KmyPY+s{OD>6wx^qepQL7gG6j3(u^xz}9m}7dkIErLVj#te& zN43u|Mf;ANOw3ZS0zgeonY3uk22oar0VJU*kgmDRuewWQA$emUS2M3~i`j-WdgS22 z!(QA!*^rTX;r#<g7#t&ZnF4*DV5^LQv~3!0hgs7PWFEFFu*~FMw@1p+47?9Rk~{c5 zFt4;X@1=HgNGNfut)=mFnNu@DJ<ZGT?)XJF{xZ*8!MhS*e*jgqr(nuj^xM5{t<GXM z1Txwl6L9^E8Rx76<bdR}_39GGd4I|B2udTUW(oO$58wIW0G)(J(7v!$SQ3Db)@dl~ z%<mC=EEbLofiyVtsv)e64J%;`2>+lIL-78$S*1_mW4CZ73?CBCD#mVi31Yulz_1C* z2lad#ZY=JsgqU+JUu-Vu3&eY$I2YWsc;CiyM?W4henuqs-7GPVZgIXOw<mW$t!eS| zFdX*dzkMQ4FYeeY#dV3xz;qn``Zai~m#%EI?W8?+b4m=*0^K;18O;3HNw;aeJ=>@^ zq9!?Q&hXw0$Z=HPmU6#Kv^Ex3EpGrsXg1!c*7Y6=5QmINS1`Qi-nY#(E*>66Zxs|2 zR2Y}+P2v<ZTo`3ks(<+&o%qqhjM+W6=ubW~U!D*xe!!d9iPASyI{XK)Stw2x5j-df za#;<r1DJ$2Q^y;7OZIAeBoj>3f^vnhoUG(QIks&XQHvWz#f_i_=Xu@+0+-?b{$K~^ zeWwUnnIa~2vA2XY1EHC3H`YGr2oMmcwX%>e>m2L<OF4e;Uk{R>5#p2Jp4U`eN!Go5 z3S=(6Th8J;(M<M!^$){n{q=lmjX>`Ew5reRaqHqO{(<SJacA%9<th3ox_L?QTdvhf z0~;$=()iJ`pS#;Y2Z01_W${_;nm1rUqr8Fc=lIvC$jf+V!3x=4(|GkR7JwkRKSQ@E zP#sPJfy+xwqIVBbj^XEc27?<hH*(sO{sA~Z9taLZZnSwjxxW+(5dA1F(VJjefcxls zVo4HY;9P^Y0l{MIgcuVnN4iKz^mfb)nOQqJ(xr&>O4Hp)&XWp8$TIzs!z<S6Zd|B0 zWtHgt&Gio|P(O|M!3gO7A||mGA7~9f0=QkjWeLOQcTbxQPIZwGV3BW{{4=q6C?{~; zy>Q}tvs?I5?>G6vU%U02_Ganj5Q^|S^sf_kS5D2#(@oWi9i6nmK1WK0Awr_~4>ACp z#oW#n?a^YJv%)~RT6BR9P=b(AHXqWJTn27juEZ~{%&h%+4+5T#6eYSAyRSBj3Hp+e zrT}|AA}s_%RQBbvOv0*Vlg{CGZnd&qvE4p?>GQwo<K&FB^!lRnHC`F_#A?UI{bZ${ zGC})5#vAxSL73;1aJk-HM453$f@0JHRczyUL>y?^wakY0QTGe&TzWTq-2=ug<mzlN z@oYfgDQluua!NBFgHAqR6wPIc>||?j`eRPcTsqw5k*I{3p6^=;tzk119<r2g2+_Lo zcD^Danwq>);Ox7ft{-bZrhV@52G-q^ncw}b6SRZB3mZvDYLfgQL2>}eqbfMbeZM&! zyVD|Jrwp{<s;YT3k?5Iev3{;TO<j3**${}fZ@B5#_0x;LOfsiHTs^pXxe0Ueb2l0k zW5&xPvFu|)c5i;YGlMDuQeH&RLs=&6b#o#oKW^a?#Nt2?W1$H{EW#=A0RJn#>BBIn z;#+=jPs_Qe|6WV!1#%5;k3cGsNPauOy%w*37ty0?%lk_x8#CB~c#H6TQdqKBTws~P zH$BK`)PwgN(a-W<NYb_5nj5(=j!&YH1}^=Wc+Pdl#f2izDlN(S`#Je=ZSpqmv8)>c zmB3In#K}!Ola+KDmd1XA6A{Yi<KKnvOt(y_RKJ8UCG6E4SHz4t{GN)<!F*3%aWuKx zE+R>&>*~q`2Rz2^UBc8?RUM9Nw22*$t(Zm3Fcn|KVEtgF&cm9>+Q_%Y3t9Lt=2J)X zb`Kr0-cV{Xm5@q@{~#@SeCr;yb2=36?u!`RnQNjISzA{^Z@G0pOzxf1e4Dk*%=B>m zyRGbTS)USd)q0^xKR%bVY_P9x4<wkhvru!;B|@7b!u|2l!>9E~nois8m~>`umHB6) zI3&YSl({#Ac_NPDQwyE<ZOYHkKAJ`q84MR3(*-IaA=#1wLT}Ji%C_+)ZF7zXToi4N zo{r$jo{##EO6D}!uMyrMt<NuA>%wyb7_PDFJ+!wr<Wd*X1C{u;cnMg24<+T@XJv5$ z)q>Q>{#55*WA-CJ=(ZS$@_mT#8EXxxsh<SH?jvUWh)5YcPThTIsy?>;!HnXuk=t=K z=AuqXmE5>EN2ZX7BWwvASN%!Zt!YGz#U)mToX$fP#M-Fs6J7QAH!`v+FHFIj1(AUl zL9||n@Z_T~TO4B(px`U;;-0~al&47d8P#B*f4cE$^Lm&iM)#|^?#o-T^Kd%LmDCS- zUCrjRHnvRlQ`(Cpr+2Z7E|`s9KqCi>zpCxo3BYO?ZJ1kRIwH;KF=epfT-6**&t(Kg z7Y@pXZTVt_M<;)xnr6&Eke>kOVzUYNWKg4-fXk4Ak$Z){4Azt7JPMgwL;Eg`m>w$v zi`>t&O&paPW)$)T)$%HEJZF^63gtXgmw{b9Ll?sPq{7`GfWMDOiThV+;e3U@j}bN_ zkdg$kT$C=`<g52r<FSvh;84ssDW1=RHSqH?3*EDt3=y^573eX{^hMw6mjx{a4IGmO zK2wm)ZzGGUvEDgw;Seggh;EM6jg&$YXKMM@^o(u)QL5Ts?f(P2UF_7WS;Xndo0|i- zaET0ZqS>sMC0|#jaK4C4QKlh8D51UE2vf$7O6Mt4Lj6?(SpKe5L@@O^1PJ>%Ld~3; z;7M;qipBkCVfsKwXGgux$(I)Zm3eY;Snz0umhidSLlfa7cFt}y2f|B<38EZ@y&5EF z4`%gC$&N`-K|NFHEJ_@-nIjc<K`s(U=m}6;w)*7`M3VKbjcH4rxnVJLGQzFZ@H}cp zdV`5YRjVeMlL{{}Y*ca5GI?A7fEiHLlwIbCx8HEXk*FYnRQD-290;83KgLwQ5p;`G zG13f11mtruIf}Aiv1}T{i1h5vZA1PM2FVC;c0;=~baxGGf`r@d;~=JDF#_=H0XM-A z?WidjkZxPCo?rZD<>V$-=rP*9V|-k(d6BkEZo*k7&lLEZaq(x{%BxnsK?u%fh!T(4 zKT8ua!IDErmc!Qggz;#3wkC^!o3`meS3-<PW(=%5?j;&b`CFqu{sfl|vNMokB>(1m zb$Qi~;I1H>R_8Fcf~_9P0!Uvm;7I3*bKKX#!($JqHPldj??m%ulYqVr{S{ZQp9glv zH`3KVaM^s-s`J=6El0<xlL})k{$3<uQj#3iz8fTXPj`kzKuVdy583o1Ws%^<5E?kn z-@&zJ_#3SMAiCNEiUP$;KN@6;f#A9_=E`5+lj~J57nW0tU|zksV>M=4-GciKK-3`b z+PJ_v!_L@nvn#`2KMNS}VBwQxFV=o|LYGP&7oVj)<OOMyN6E8*r6k<ESW(#<%SU7C zNVc<NfyR~Y|LAN>?_rcA@Oh)7oZbN3dt3ZIW|dC3ajYo@48p%1YP`9JA#f1@t{)!5 zhE8Cl3%YL(JyZAIkPH6)<;wB#s1N!SdYw(S1pe9TrSCcMdrH?!$@NhFBZ`*W(R`!x z=*?mrm+i{c(~NFv?Xgaq>BFzD+CtiA!@nZ6IUt_V_^Ga6;=2`j=+v<~f8MizdD5<3 zH*gl2n_Ub|IkX8KmAM&|&HihC64rskW&_yaCGxC<ZHOx=;J-*Dmc#$H#*)~<Aow~n zNyxj`J3_+aZuHWz;WZg`EZ|_Gu%EFx6)5dB>3YOlZmjT`(y8g%Zn4IEFiIfR?SuWo zuWC!#iF-yqiUTfN?Iz2E*WR@*)_Yuq3@^srSYAo|9#`x&NRC6a@$Zs_C>_&ACWWM+ zZ|y6|Wv|_J(y}QmD5v>jNz4w<G*(uq|1+XPxc*;2@&uNVrjC={6u5Yz_psDVbqWPa zgSfEEEl;`vm8HjeQs#B2ouN&hYiWDC``g)hSw(qSRm2k`NN9B~tJVt9#rlFQK}W$p z&wqp&ki;;pKAED78|LElJNbR~USCA@r0w$tMm0b?9sLR_r2cNYeiE}@92AAxO!O7d zB9b%lDZwg7sT&DKk?OVM9-JQ}Y5I@}*(7MAC|)L#KN|x<wf~$nR%fVUe!MzlZgh1F zBl*5)?0<xuBm9_p5i{C#|MZldI>Sb4_|yjmDP#|SbM1}Z`I&%aGnLS=_YZW#V*WZi zjYx-t#FWVt2pO@W$*o}NY)lB9a3l-BDL;rsegN3H>zHS>EOPs00o7iV<EQq)0%QbK zKN<2)!|QL6VF1OF>e`hMi~G{U8yjLNC-*pa`{C8nPbDWAum}cW*o(7Xzk$7|RBqpX z%(8)|BQc2m{q46OsW6kqude$g#c=-T%c$fSGrb3(HFxDNQDHEjr6$=(10a9Zfz&MU zWiFu?-@^K!*xsU3vt90=uXu&>Ibj?Lb<LwetbhTrV-p%KecSYq@rLH-fnSa5vbaxT zRy6-?R0fDcME<v+(xxO<K+monY}UnX02*V7YRy$kIOYFV>@R)3%m5U{+PK)hYhbnn zh($X7rhnb>FPjnr*6aVnPaBx^!53tCgf86yvE+V_j)}E{KmVDh@01i2uM-8|EBfzF z|K&5_i-pJ{aTBpiqbB_iC;sKCFiFu)u*|VKwEol2<ULzNkPzg<i@fa}VJER_4j<YP zUrCGN@^I^akWPOO$?vR<cfnKmB>o^!FvUgc#nI@|N&#aXc}ptenY`G8y!FZO0_>#u zf7T>-#Ouf{_szNMq)2Nz;!vHhaF#6ZIn^&^WjLmNr?Gutu4v)Pn>=>PVAQz$mH#}! zB?Ae&%sEr?vD7Gx`@}Gv6oRuSyODE0QLaL(s8Ps_Mmv$zBYTx&SjaB0@K>o{ewpPe z`b6^C%#lg^uPYGz#jv22L+;8??Fha_1;d(>r>l#cBw;2o1gA!kh&(ksCt;l$jlDS8 zR_aKE$gGwXf6)LWZzapYj~`LFK<XOm%)o*5>$aO65V36M%!9}WPR7YX0Y!;q^C-Wd z>VXxpt@}9`r<1l>k_7KPa=~Or>E_@Z0c_&mts_E3*Nr~Uf(<$|%ykPSOg2AxkjcHe zM(5^cx_iES#A@rY>goA0py;nLJeQpRVSV<M5-9S1#w;Qv#!2|{Nc2jnKTE<JaT*(E z{`{eD{7S!U<qH>^*~qD2pIN_BP(BInk7-b3m<*L~<SWHW$bzZ(Rl%w#-BtD%&2&<s zP-Ew!`5bo3`AQ{JqL8~@8~wjFu8I13rpknYc@19)G$+NflZuUw4QVKHb6PM2>zQ)| zJD@)$6tw}1s{w&fi;zIOR}UJ?lNFVhfS>bVJ1GMbQ0phGvAsx$R*OVYAcZjGQ<S{O z`=jvOngy^hu6pb@20$mw3!@F&j8j(+Rr><5f4jGkGXs~T=Y2<fe0<^le(i`niM%As zOI>*p;?nW$jxz%h7VCwr`Z^<tB61adNYy67#^b^}W8h^2Bh=H`+p91{L;=-6B(BX{ zB2?s436zIRFsk;Ow;dk6J;m<%eY_PK9JBPmE@lh{>Q&$UA^<@76fWX@w0|rP8aJu| zq*cFf8nmt8`<^SqjtbxXXTqQ|c@5UZV^usuUdXb9>NrAEfOR$1(c@7qY1YJzc*wP7 zzLb6b(kylUxT3+k9xnKY()Lw9i8b$qQQVtJ91<4<$)n%jmx-%AV7Tg5)-V99%{(wG zmYZc&i?=;(;z!`+CzK``d3k8951%2Bl$2-*BEen*`9YSRpnIk^FafQsn^S;Fvf$PU ztzO=r0XxgoQzwnxJeHu}XGeuDsjPU)MkD9acD5Q=n;xVX0JUmZtcQB_rZ)lc<7lXb zTgaxbQo>wftl`P=x44czVvE@JOYi<tzvWh-n3xqO;_|fh>?fHvo#OX_Vgr4(h}<@h zzR^}?%$RU!)|R#_%`OMmq<m)+n?FNYrca0Fogb8xgzh)v6a*g*m+nwf=6M%uPv$CJ z7CRuJqq=>6oUu^C!$<Y|c$_ZhVvT#9&(AZeoYf~vvzO-^JhpIE<)iVtrETq_c)T7( z=2sn*lh!rN=38;#_3h+eOnmlf4{oT-Pre9Jr8d4Z3Dn9Twr|j}gHteohoXdjV%W)b z`29?F`A)+0op!`P+9aEMhT_|P8?xr9l7fVTVfiu~Fo#SCKK$kGw++y}+r3lPdG;Mj z&Qj+!v|J~=<Qq<F%Wa0k?&+FXC^})J1XvFvLbqW*bq>(`l^7o(@j9v#S%}r^9wBwH z$yt`k6hCnjKLKCAd1-udQ7FG_XlQ=^Llr$1_nKYgi_ZG@&YazyIj{%D^9K+*I$qr< z!b#-hQRI2u(moW)p(z6M1n%A2k8SU_i<Sht+yBT!#+8)nHVIls1nhLJUnY~-@kCIV z>G3<@A+dfSA+>iVwqXjK&Zz@Ly5cYVKz=<zX1ZH~A8=vCVr?_rhUF$idk-*xu2(8* zs(x2xxGTl?c+@3JX%{iWYy7_J?|0|d{aT;5we17PO}94f9-kjL4`%#lNu?CHHH*!P z&;Sn@*`xrc&D}E`5BT7*`9@nl4e~hyL&Y%2(V7;1YlP)6&NQPUzfuPg82aXWiEToH zTHTS5a^;i5$a&-*dCAu&i=*dJu3USe_^KD6w55x=uC~zBA5i+{#dEcP8McLS^Yebq z0e3L_Y&8qIk(Ne%$DXR@lB!SRI+LoWhr)hNX}m1>VX$#zX0R$X)U!q{XMXPzzD2~h zjg-}Pi9e?{7IE~;S%u|JOG{M|dn2}N3eXdBhk`!>=F3yF-gLSPPoQ7%dU=`yD0^Ex z9(9E$@Hsa%3TPPmBGSCZ9KS{M#qHok0H~|Z#_MYQO40ub*8ioi107p>r-WcmDn-ig zj>-R~`zFdj9F%j~R%qt-;<QXk4&l3aPGAFc|0&dGeSeS@2c@oXl`50)4Z(^^o!Pjk z1NK=FEe=`}S^ZkjIsF<6j^UP~zi#?~#EIk$rC{7mn_gqn24liGI7_oNh%68$E(TYK z-M#S!&X!$(m}=F2if+u#A6{mgs~z*JRUc_|)Ml|KFiM`cE;}EmZnDReNS;^I(DSI8 zXi|MU8^pDLt7X2Bh%}K%PIZxjrRF}+QJ3hudn(J^_Si#gU+V_+pUOZvg@G62^S&gY zN@}@z{;rh6PM`qhZDMwLktFv+y$^K~ffstRxuZ?@of)5x^jAkUY43Jx$h}_AVf)6% z0(is|PUu3WW<g1_bOI%)aJ%g!au>_I^V}ItaKq!G(?VbXfA$I;fU+6%7as8`F4R5? zUx&bIdf*OE4+}_9;Rzf#W$lw-91*UO%ySyyhoYjN6kc!+qU-B4mz_@gz%zf?2|GWB zHmfV0Cy_8b?E_Vd24H4(P)1%_gz0HuT#6P4U4rHwQx@K#7GzddHfK)k0e{JDgPVS; z`_)}nZRxjPTMX|M`E9sNrro=_9&HtN44~OFaz;FN+Y3iPa;oMQygap=JXMHVjHJN2 z?pPB-9K};92vZ??!G(Xao6ECxa=(3!|23lLktAnW!3Wk$XVK<q#HV8XaBr3Q@QDq# z#xK!T{)t{x0A=yEe-dgYA=%<=pj=`AL_31Vr<W<RB3WA0EFaRgh^$X&-vXI6&F_~l zEK~f%R^k@gG7=={-K8mgIfXDl5l=@_NRRyuC!>^;X2==lJgXfZD!QDS9r&2V`J(Ux z9(<CV)=~w`g_eEqQ{#uog5OQHw<o|GK$!WMwtJ2eYCp2Y5$6RTz!tq@HZjS~KK47y zNqW8;ojo8TT04iFXyz@#%D5ih_H(azqkzyirZnC=tWWI;JSYj?T`IExP^Y-K>YAHO z=o$blaDdRI_6$H%BXMe~tPHc^6mF@migdFNX7ciK=&PG!5p`Sh-WU1qfz6ARToZhb zz9KJ|&x`ppoTZMD7+R7td?D;s_p`ZMK1sh^*y=vFH4{q5IN&|;eFbl1_!y^AKZq}M zQ<e-rJ;zq!|3oHR`E_<%Tb$>%$=^bKP(aG7U_0tzq>V@AxVL;c5upnKTgjEh+0C=& zIhpryY`3(qGpK(-mDmD$fM`$%bWKfha~<}9_oRGrZQ50aM~zq3vt{Wk&$xpLaCQhI zKi9up7;KH~MMl?*c}9HA;pC`w<EnM(yAN&j+}d$QW<L*~0z{1OlX1<zxAL*;=uUf_ zxF*w7Z_6xbY0AlRo3r3rBn6GLrh<I5ho5vMoPU_UdLa3{+CX5oFQK&Qu^+=R5Ckds zpR&&!CybKbIPfmP`JS7(rH?Z4B!TT+8e?=m#cpHL+Jex>(+nFp7<bVK!2Ro|x3B~N z_QkZ@f{&CgeGa8twbivQSC?{fKVf$_rjOpayaUS$>NcJ^jNdOkFK<DJs!-$~>P2%` z8~Ja6_03<F^uDQd<;#ueCUIC-niMHjt`)G)>r$1U?X&B8brd&xdeY+5el*l-rWb*f z18{NH(6h-Ofp_Plf-kR`<zKJ!hR<hdrV1AC?u|-+lNFeXKDjBp!@}@zHDG^zEbFg; z!M?>(9bR<O^76Ki%ol!)#-I{egXbM9g$OpUdTLj8J+x!(SFK?Ewi=E3doHx;>r}L3 zB<<C3AK-u>n<?^R{>{^zdCP<y;ugoALi}LclF!<~=7m&1&;+jwRUfx?oRMfaR}Bg4 zPm~W`yh@DsdSeUx_Bpsh6^z7>M|--w<gZywH#O!{A0qS@wI4UH<-V*>us1mg32C-| zEbG`s9hH4w2{vtDFTQB5a|_v;m|4^NURIx9|N3<8Ii)Zrg8AGGO@q7*#thh$!`#}I zR-eI5UnfM*qz~wxK<eq*i;`4otXB=rgWXM#ZQvT+%G|>E()i*WR9S6VLr2eth8^S8 zeUg)yq0}%=JY!}XPiJ6=j;WyDd(X+%*4fJkB^wRt3>(xDH;*e~aD1Zw3${gheVO^? znP-JdBJ`$ma0fOJ27Iu)PmU7#0OMb!*^tNXY{#Aj`)baFFd(u3esE(R6i|;A&1;G) z%gUO&-E?(z9TI@Yx3&Bz4vIEGSMY@`(|DnNKyR41b1KuH4}h?Y<+FZi)bId!Ie9%w zr>%Wlb(ZR~o<=79yR%wl0^jaxz*!FFXlI@m8+T2$tLx1NJK4@^ihhkGK)#A`l+Hqj z*o)Q~C%=8a*L6T+ha>*ruKaI7*rdLFPHR`%la3``h5#O)Z4%PBS0UEuK^k&MdEvCv z=>3)<_*1Ffi`C7Y-_dYkY>J6zoADvSNmo2Q#}?|>ltAT>_Nf?i8M7weij{=%Y~5D+ zi-_#M=2{9}O5DA>eRy3CM`j$aY8?j2F-j%E5a`MrqN6W0qMN35EAM%>P}~^Fi>9Ae zdV4#UWA3)2sIaWeSDBcdP|B}e(sl&0gD#?Q7`SV|mvBD-Y1;b9Sa<^@wA&3(l1W9X zU}do+m-R>{B)7+mOe4o_=omf+B+Jo6nh^l)9->H-A-qp5_QwT7Ln9+ahgZS0;STmx zvTnYvTui#hv~3C-^TM5VVFhh?NEfnREux*NRYl)ho4?b0{$K`lvXGoV9;OW)cIu&w zR1(&qac(>hFn@Y|-osZ>d|6|{H8sPp*_D)p2{{iSaSE#*Wb9WniX;2V`iAb)5JNsU zycBVm1CrvHX{pT5AQH7s40EjfRBPs>M_OrFn#lSVnxdABoEE(JQuXl}`m%h>Rt?qk zSp9fyrCe5xNUpjW8`24)a2a}$eJ0(~qI_Emn*%$WgF;IiJFBBNlwByFu;YSiMaY4Z ziyta8Exv5i?Pbl+Pb-A7TictcL%+QA7y<=+e9qr?#02qi45b^}Mr+A?f6XwWYz`Jb zS<?7{nn}o5J4yKJ#!>Ddf|eqeq@BGipGRjxFe9Qx&b==~2=+69(?Pc*FIw&%E`a3Y z#BbCYZEtba)%wHx8-D%zb$rR}H{QJgu;@DN$>d@03Vt966ouIw<`^~jRVO8_J^-wQ znAGHXHSl^x0zWm*8G$YVLPq3d_ZXnJ)-=SjVmqg`qM*3>e6wIuqxJr2o3W@(`{J7K zgz4qc`4Ab4b3YvZtp<YsUT8v+wVv-5F5){?%ChGB&plSGe!rs{*BL>32Xp;!7iTPk z=+_Wcnx*j6&Xn9&?75e1;F^qi$)$B$Si~#cV`{Yt{Ups9G{!4wF+h+!ai6zYTA=r! zl69tax7zo6>H28L>Y9xHi)hhgptqS~sfFc4^>E4R=<@1T=GM@eUU|K@m&}4IZY?ms zI8cH%cRD3auQ*|MT2qKujmdK#@3_zB#(<8*Q*;Nq;Dz}$7k=2w%aGDl{ac2sPfh6_ zB;l$ly6E~h88ik^FX%#XSN)k$IZijPWzLRe&PSpM$NA0vJ~7J#fS<qFaH9u}n5%O_ z4v&~EqZX?!8gst>0SbTnFid81Ks`>P^}vT6*(MOFF*#hPxX?CvnfqZ>bH1wT+OTw2 z-)BX*A|cV*9y+3{Q(n>IUlghRtbczMlKy2yQ_PuWpv<hEY6YgcxFZcCxcJ#~Uc?Ro zo4izsT6IGZQi4MTVVwXd1SZ6=bjsLkYaKREasTPet`Er_=}EL}>5fvw1yvNHncc0H z8%agn5vU=|6gPnI_{_$x212K_0wv75+>4Zo$_i}@i!JvPjMb6Qpo08rXWzhN{);ov zd_ChWnIYy*nBd!V=x=-2EC>OKT5SMl7_{LvKt}-j9cm$vp6W-*t#98$W?-^st+UoU z`=JQMcw7usrbG9QDSzA<yAI~#2imp)%0JE;wn3EYvEyslzVw<lOhu887M&-|l;(R? zzk<x|`U7?h6G7-qoIEqDdVz6_0pp5oB=saPt4^mw9Rj^~TQp_gN3j6hC$CC1BaEP7 zQ)DD%%mQimNBlFCr^AK|3YXJn|EZQ*cUGDn|2F?A!&_AyLe_j0!z+4d-gJ!%bMq}# zc5W#dvkptU8&ntOSwdZ+y&<$(!*wED;BY%^e61tZDbqk!>$-JmW&`&LwpRKZ&jSH- z?KqvTfz_PQ^iJ}Ag+h%+E|WFQr0hdnl{R;tX<k}iuhvFtWu!)Nw(CcCH%KCTZ(if@ zhL9>fpC<L>ynx1-j6LR*$jPa%W8-<`lemH%Eo`O3OiP@e(*xl$e=Ro)c4gD*50rdh zYb{x?mp*s%v-ENy_<XtvK~QJ$sbgWp{^qhoXsk`B=;cdTv$|z$(bY6(4JT*KoP%QN zw_@!&Ur5ha3HD~^%bsX=HQ5J5fr-R(Y)TfCNt<T2WB8K>1wV1kVf8yJ%QEqtEv7K> zAlb0q-D1WBeD+Z=!@<tYqjY@Y)cj&~GW~PEZb>!LgwqkJm*sLTH?{<~yW@^^L=uxG zvSv@ewcF$%3SM(hZ%k2{z!Nlu?B+*Z?DkLrzqVOQOl=hXV8S^l#<!#DiYg05y&zI8 z>>=&AfwII|j?S=necN?$Vm<W3>)v+$t1<CD7rmw1(9v_4sgl`W!ruS;c#4gD+_Yu+ zoGQ^H%=E!m*TDG<Zq0beefa);WnrTo{~<vZj_(yB>3u|9<R_FiTP{LXJBF-{*~X9_ z$sa*K#>|sANPI8DFg`6%FPWQY-FC3hy(hC80%t*aZCZAn9vIXlsl8{fhOZ)R>-qM1 zM1)bPb8}koo8mm42pn(<v2;1~nd(U>?K`j{V2ulcYO!8R#1SCWF$91bo#dj6g(V3% zyBt{F`N3voIomLg27C|%bQp>M>B>_kDMk$=ScY42>Le$%40b#IT-y@p78TP_G+QQ8 zs@rx<2nOwBW#wFG#3GoPkjKjOT-txgN>$W)4C!vQ(wO}&?MUCM7gi!0BfYh?f4H=i zr008ghp*RO+~ADQL?R`-m=X_%zob3ave_Bj8~}5u__Oil&Ck`X@Q)Rzi3WRcM&({e z+w&rnZRMxl67TZ=^jlrsc8oRPbx-kP9}!OxPNudkd7nbAEO+)pWgnJgZd^bWqU{H# z1s4hh-pYYcx)kHWMZsy4--Xk<qX(|(g{030x<uGUDC>ReT}-Va4Ti*V1kNPY=3|nv zxIaE|v*1;Fz+x6tc7zjG_^lN`;8`1B=z3duanVe5Xx_|+$+W-<0x0j62Ec31#$=1u zZtq66KTpbI9P(za_{_z}n=PajYu}m;Lzoku?oyhCm<Jvn)+gGSnLJm!o&EH^&8BOs z`X!y-ixH*hy!~9~`}FQnjwP9qz4^vN;->vAaWFjxv_5^q9R+Xc#)oq+Dz#2JeHJNo zR#RuK8cMTI(qym9K)v25y&!3L-^C6nP@UtuMgpO46UDg>x&2V843^}<PqTpN2=}FI zpBg3t_8V9MX>{0~@ImAL=i(nWrM7Kr=rfK)GuXXmkP0j=aB{nSf_&nD63(uMnr2Y( z6rG%jUqf8c!+YF(Iufa3Ih^R|2caB*Q|^}jklDx%v)PoARsW;q*GzWdmFKdkrv_bo zmQ3ETBi3N)NjoTwH1<LQ17o-Ui<||q5KfvsT^34|;R>%%U1d#OOA&_iPQDvD3OprO zQ;{Ui$!<Jn4Umh=jmu$TZt2yq9<p7!eXSRWHHmkaEKB4u8Kyu+X4ttKK%HD1C5GUT z8{NGhBt=LX*+IJxyH3dlklAN&#qT0U{fY2E!jR&pF#H;BQp~%b6p_Xm+A)((oCVoe zVQI8i_d^hQ11Zp8R8rIPM{8YmhHN|iaagr{P*N7^nV1<(+_09{Bhzu!5c7}x(Xl?} zqajRr%;Ft?$dZ<nnw}n;5G)nCD4?%EoQB{p5R_CRKWxDkPxlyDO3oq3HiYbNEx(aY z1XQ5YQC^NJkY@o*s(_zEI|X0n-$5p(>E`@y%|~{PQdA9WhPIK=3BdFtIz5-Xa+zLM zUfUB8e0AM?)<+{kQkvagN6*#lfs5#uWl+It&n7eNaK{b1r%bnfGM|!l=285ot>8|- zX2t6pZkd;p%nghd;N{|xxf}V2<xwJct!wFPMCo!!<R9k>jbK}bbq_%%HUM>R)MXO) z8B?Kp^r>FcDY3(sJVkU=y02vC<&~BT7geJWYq0)2U8RUt>8PcuW%cKlNWTkDo&Bh) zc)F)qTEfpQcqzLi$?!?5wp6D~<C3&KD$pO}Nb<D^=!hGA>sg$KPh!L;J>}<}uv~O; zBsgQMl=ajE;K_~gR7TCa9Kwcf-Aa*Q83cU+yhZ;uw1Z)vz|Sd0h=C<O$O%M&CGXgM zxvak89SSW?j5`Z9VS?l_@L$c%o3%0qqt5OxBU{T)C$VY+yYE7#&flI5A$sa74}HAh zSwUfMl(_*zE*n0bko4|0+eMSp%J~-r_4ML|_3kvOsCpGt;>DHmz)EQ_^~f=D(b9A~ z#>*LfR;t44JiT=ktLT!H48EC~&s)hm?y=}P<3F_zdc`TkyRXI#CrI!_PRRfRyDZDd zD#r_|eVpsBi6Wj5Y=}Zhm3>bmb;B;lc|X>7XL9S7*l{r7(K61Wpr^fy5U<39TeXFJ zMyjV^QA6(d!b8F|L#uw-ch8cE+<^%vWnix_M3sRA2$gFe71{3#D_x>9Ah7RVWia)u z=QzMa8pVYE7U>rr5*}sZAd=a7MjymziK0t!F2o4<Zj7wY3SF@JC|2qcQZNXi%A)R- z{*EbQg^duI+6a&wjBW19;fxLGt&r?5Sb%0{CMMnB8r+k-9%!Jce#J6sbEQuAebskT z-c%DK57Qo&%;?Py9sv+f{R!6P0n$J}znuMN^FcEAjP)~at2z=kTCi&|f3~ipgZmNE z@Gt78^fJB**WLokNJT-8$K&%Fd%woq))p@Vjfmk-Mp{Xy@~`%K30*N?(~#AS`(|aG z_Y}~R5s7{C#mQ1z{ztA+&s{$^pUM7leyzV;gW?DMBBjb#)mI{LCbFM8gCVcza?5TJ zwnV7n>~0aYF%wks=8dIdbvH6Eip!l(sYLknDd4zMY?Qz2sZHv1Jh*FZf!0lt+*ode zUk1r>JLb+qx7(ZSP!sON&b+SqPd4fVrLqAmpk+F$yTp`J<4j9g#kJwoNY&BObi5mx zgjmtBL8OE;V9&+%hO-v9jjP{9<09a5PKhQj9#18$eScw9mW}eQ!Y`Dp8Al5kK|uNm z2h4{6m>nsx!EJV)GY{n1EjL0`-op&@@3e%I4M3KmKbIY-m=?aAq&ZJ{lTQ39DYYz& zuxX2AOh~2_Zvlb;!KjrhOw_G#P}I$op-|jyk-qUs&D^Uqj<dHyw;@mw%3E2QFxHSx zn+3bvDf*6uwL~66<jutj#RLHn+01_X%!k)FYgBi$_1p_M7^b$-Ro8v6Yv8n1xkkoo z#whRFu9ILwXoCUJWXeT%VXtv5fXuDv4&d$h#~~9qALdp%%{C39REMY}Y<t?}0jI9; zA-gPEa3^UKhfv+6%6splOx>W7miV-~O#^AYgKyx@)$86?{p``xTOMQHsxK-A%bn`j zzgzLQ-SftVo;t?Lp^MWekAkMR5s|Pjx8}oQ%xcgZqwbZJ;zg&fG~h_Z{tv?~#pOij zeOvRbMWrgGD3cA_g>h;>yFKm*=u>X3v&EahG42byEy87GbDNIi9RBe;>(UUw*e4kn zHLSQXp6L~&L0UY9+fhza7{PJpi+iWmP4?~Qha(6^Aa|=zv%*xgFE(=XL70zjtQ*3f zh@U-RI5Jg|_DGrNH&WKaQ?Ip9&eGLZ;3pWg50=ZM96Ph4c-c<kk9_O^{&^PO-fbXc zF(gS#`fe)%cY67}!*`3N_DN+A)NRV?(T$sfdnz=Qkf_T<S2RH1s^VRMOkJ))=wIN* zqmmiarEho8H8=G}FF=C?YhFKK3)9^gQo%X_HBl!df_po#J4Gbm-8I2Z%_90aHmqU{ z?#DNcQ%<Fxo*qgS|3kTTl=egM6B4e~jxu67vhQ{Cd)x4TG1DU4R21U>;OZ;G;tG~+ zks!f65Ht|n9R^EqC%AiXhru<ty9Es%+}%AukiiCb8Qk68ob&FHd%th~jP2dBs&;kt zs@3RHekN7=k_N`+e%Mfs<kcV13w5RsRI(JNSXcnQS4lRfaFTFA8f>545DtJm0g~xJ zz9#Z1Gcv}>^#eR%D)kZL@R0eM0d{$6Y7>;qUZL9)DIx5+1rYlx{|A9az9~EfTk(yM zhjw#Fmo}KY^1C+Ue8U#zu*yc9%Y^>hMHo4Ss>mxLvVO`vWWwa40y!gG-L}=~skyZX zeYt14>8~KOFTsyYWv|fcf0Rx5l*EH-u|6ZSk|eMr$Lv>!($oY<n1jI9j~aS{Xr<~S zkMcV1J(wYM6<hP#wiUBHIE~;f;F*AS4YiN}e+hSIL$`@#-P)Hw#P1aOktKCLZ8&oy zUTX7j{R~aP=CAxmx<;|>-u%%$18`-j6wGWvwtRGss5Cd?meycGn`Gg>Yus-<)motL z`(U@wJ+)6mikrCBotR(Jes|XO<es%cdWRX)Id>8w#{1y-=DyrU&<(yE3d?TC)V<4g z_H*fLeg3suv`ZSb=HTaJwVEGSrg=7@B&-~{YWQ`3?a_93#(~w}cy1(Z{yWQ47f@X` zW+YZ$Y(T)N4Ny?MtZGPeyqk9?tp7|rntVGC2;NDsdU*~+P&`Sv25{HPNG)3=&kNNI zGvO^IjE)a@Q;f3+o4zPSwR~4PvBpJb+7yD=JknN<2ClQd*e*_+jio}<HxDMpjfWGG zNbF#UMeGw>wiInDOQQw(dT>zV&9lkcy6v!xYeQ$6#w)qXaiU<*F`?#bJ^F-9SCgpd ztUrO91gFfxn$^i6LD67x&ZiWO`RWQQ%SyYR9BONR9y<2r&EIF_)7RJN24!XCzpWaK zl98o!y?hsB2-z1(s>+pq<Y}D?7fFJdRU6z#7;HY4Srb3u$yQ|c*ya=8ohg9~s-mb) zJYREMn}5e?Wjnb~LL)9UtSpznT{P@9e!~FAR%uCE6#-$av$EdrLb;mZm3|uqnXe~A zV-PkEsl|+Q8E|K)$k+XRLQ-m1K1H}Y>TFf1+#g#Cw1_xDc6$k+lU7?Iw|Ch;*v|nz zZNJ}%EjVH5CVNQIbQa*Qfn>;OUuzkE)H1$KsVBMnI5f79uPXIG#KQ-^P*#|%->+?i z&mGZ|A9hWt-ud<B#G&5Kl|4O<1J)tZe={w~a-h2j`yMolo!_5Ymv&Ze6T1?|GHfVZ z(T7SUak1Z>r?3H5)j}S1l-H4Gn{rCm+Rk=f3-*~6!Ph*Vs;*rU(HMe+`(Gi)YeLkO z<*edf`%B3;C<U}%*62CUsA_ewVY1tgs@7jc*!{!b4M&|AS}l26RWE*A=uo<yYl|H` zYwUWFxyvbNO6II`P;5yhZ|J(0*w2sC&3XK_xfoY2Z0PPWbBf#PtZrlRh8rdFGQ)Ys ztmAq5!0pLeJ^E&;`?J^WDmvEU+r2}(m=Pc71f8>O-C}f;nz}o1ct}q$$P1t#PnZS* zNfh&rK>Fq)(Z@qTMRyC!Nx8o~$&#K%%4fimRy)N2r7x1%t|G7n#46<xzw;$Z)x;n( znU_kNE~%5~@+5uspY2v(=5Cl9V@{k?3@V$`?G}m#KvC+Loz6@qoqFJ%UNy>z`XA$( zW93J33}pgdPYK^Dc`dIcAAYs9JHRj+KtFHu!i)ThF8Mr|Y2tSG%SaQO3_q`SW3Aqn zH4R?Q8-8+b5^FzP8T_?TuXnNlcbKmALKa{xBkYvOC*C3pzghk*Ag;Vp6*13cpR&V+ zvNY2PCP~`q_drM%To#zqx7D$9b5@XzeXAfdAPz&Aa_ve|NR+|@XOlGo&_}(d8b%bL zQ}Et~WpgXDOYgvgrH{F?a&_e=_BrU&rb3Z~Gsy+TsX^UCBK<=hk$3uWWv%FjXJ*84 zX%j_WP5-&}_dl*0;^Y!@Kc7Y!rH`WV(N~26<6_Ztqi{;rozyclYOvTN2&K~rV)KQ| zyYv=cAfW0qf$PE8Hq?@KhG_dR%qN};30isYdcGMncF(#-iwzUIr!<-Uw6jq@{gUw$ zH+8G3UaAk&;eQXDv&#lC`ai50COuw=e5ibY<eC@wx$O=O%3AYZEf{1~f!K`x*bsZ! z_}9(~XigP#wEK`<ioSn8xY`nzzf`VPZgX_x?*i6WQ4E6;`>Cy(YMa<uPZ|MIZls`! z_3|a}*(T2M=Vx!`H;;nXF3oas{pl8=;RLUdG-pubL&bBBh{%Is_sfj0zwg!SurRdz z8vgBRIzdFxAF>9H?WnDH9E@N{LTyLrZy4CS`mq2IE7^wWu2V0RSEA+~Qaak#w|E<! zm%efk?olp4nkIP;Qu~uM5T7s8D!NpXxKwCGjUaQ1@YS=IlNg0H#dvZDPMIYod;Jlm z@^FG6EM70sZN)X+3!YrsWk|R>ILo~WNwlnhEBC26{`TXjhKu3)8QITsw`p{h96R9q z8U5g3y%!0iqTR>@7cYBc1Cv9>*jvJ3n=_`d8$>w$&KG9VRdnWTM-8J+c!Fk=BmQF* zO4Z+N^;P-BT}`zJtQb0UG^8n-yvb^_MiGnzvX%{!*=rS0H4(LpjK{sPg&e|3jX@Ya zf8JBW2(zI^nY^DSGkfF~8un;^zC7)RU&Rn+H%xraYO(NCNB|jc;5VQQ^MrJ|aMC!N z;IOrEYPV9jMi7x2Rt1BMr(9KxfWd>*=D_4_Ww#G|-h3!MCpS*f6IoE&DV5lh=3`FV zCylIxDWCflK1uh~Q>o^Ie5d)u0MKA{y;1p2S;Is^^y%KTq|Q^!Ody}BWuxqzOI!Kj zWSDUG-NvOD^Wfm6xh7kWnFP58S1x3w(6y`7nLVM-u(bRvzFNL3Ac+Da^){$J<&PA5 zn@(w~0rxXJR1gAM0#lT7?bq<hcd@(4=W;T{M%c?$dVZ6QSaRrmS*IesA!qtL=7_10 z#3~N?XP8TS>8*))qiC_v`mY{JWUscPqo=6LrDSw?$*d>*AiI`iqSW$vOET}{i*~;; z??bE}%|>%RhW!P=WL0N@mQ6%uU(kY#^S~}Ch!8GQ6-o1qL|*7*#rN;+@$_EzOZ{yx zxQyIzsfBqs$9bf_d7$+`{_Rcp{<zxjZEDqD`+42}<$SU__i;>@=<Vq;!TZhg`^D`u zYn=MVJFdK1NHH5+t?Q6_4ye;hvYPRwyys9@m=~|46Rv!5`Rmob%PC(^%yKBvs<;{& zy{0tr2qeEUyt?Vv^LJ}^+w7nYc)Q*S^O6Qv(Ikr@NCqf))AgCFNB!^ubd`m90k#=S zh^tSsk53E-N&I3+_J+@DEu*olE{qFL)2b0Vm_!lZQt7yzsMG5huZh#M(PaItB^QPk z2CYgqqT<QmT>8F})4!W`v{_KUz%DX@39zVLWYw56$rHE0^Z`0j9<n#S?`jhs{KieF z?~8k%=Oaxt0<m9NTX>DJHEnUdisEFvOAD;ma0vWe;~%TTm@Osc&9;Rbr83f{rfA8> z^+N*rvr6=EIWyPk;D|ehrk#tff+{0TQ^YkB<rj;Y)$ncO{lp|bO-e@a-~;5oZYw2f zU$A(kUusyPAT#*r2Ue@HB3-E*9swOWwVxw%;MhSl&GATN+70?LF)Zl*o!M8d4vI%e zajA=%j?Z9D^ZM~m5y|F#rXd8AC%Ps*9I6v37I~?7swK*AT@VtJ=|oXeTPi?`kz9** z7Oa1+#9iOw%^P2r^IQ?t$PK^FhueM1ZGj8b_g4K)Qb&%QyOfn8Y=QbVD2$m(I~smn zM=KWX9B%s!#&vp%Y3;wj(AAG2c7z<ct+c=Ug&cX;gNgNHP7qR(s<8j-LbC%O6QW93 zCR3V2a^VEuWo>&}Rz7i4mR5rUnMIoa=XOtu%8H|q9l@;A#|zM9<4;$eu;Hk6LDOx{ zvjTCxZ89RV`FW=tfX6-*usfuujqhA@B)pAj{p3X*5thAUZcf^!BlGGPedD?l-~L2N zye)A)uYQ_w4^yy-%WyYe;LYXfJU2VSC7%^J-y4)lO<`7Y(09r|xiXCzi{tTeY<TVL zca6GB?yTvAykf=))^A16Z=ry1CEe!e&)Gd1Y|)=J9E{uq7@4tsBYocGH`b5P4{B$? zE8xUp*Wyf@%&KSbwB<B3<vXkBij(qX0$ncz(1JjNa;JN~K+H>Fz%&TUdJ=YRTzcm6 zMz6+5bAleQld*R6qwd>4y~3%Ca3xzKW;B;UUcwnR{T{C;dFiaRwYLgD>I5qdhk$u2 zI=|>7WoSm{eQu3qmR)d+ea4aiE127SmtcFLiRXSDQBAh;Yu?8p%6Yx#@-k=ySy5r% z^N3tw%iN&_5-B88v&j@_x5?Dybcuq#HhxiA{8%J)gkXQ*&&X<7al|bIaF%n*$ziqh z*T_PP6l%RmSaFl`WLC;nXeqIOiQ*R;hIrUE!%J$ePL<7NjvMK0IPg+BIN{f150*yT zwj6}VDe8Pv<K9R{jR~4?ipI$F)gz)t5^@})JdYr{-@<us&*L|s36<R%e)g^a^&lp; zxQy8Uv2<1Ys%#i?8>!XU(C9w)z0X@42E{s}7H1~^2cIfUB*+*UAHH-ZrddOmeH+7C zC5-H>0KTBUy&w}y)dJ48<8@H`a8*cD*Amw}%PsVzXcuu<j3JDu{1chb#f`6&@VaVl z=A!C0+GD@Do6Ts^3#tQDGt|LP;tEPRF+2q{pXi<Btjw#<=^P6{^NohhS*5R*+nYt@ zZe1^z`Ize-r(e7-H?Ok=)_vJ-wujX^?cD0IF`u=!<!dQZXBfX`!YPi2>gaa}w|$z> z8pr?(1Mi(DGpz=ziwJyti@hw2qvnVy7AF4EY%fWw>7?km+@1L$eGTXa762wYI@3{u z^XQ2cLu#HH5yA08+H-t*Iz=7d7Si0xj`Ada`s<`$ZJIx5de0FnE;VJj7ZbF*n=KPC zJNN-*ZVU}rUykZ7S>qTr^uPIe7VlrFl9H3z_?$_vil~kntf)Vy#bGc%KPJ!jtx{2b zoY`WksRp82Bt@?HzmIKu6K1)RG{UzmZU`$7+mwRM?GHLo)Y-cK&WGqZZ4n!PTUzKA zNUKS(ZpOt_NUbTcyUISgom9n=<CbVWP@H{^935L8*FYgN!F3WY{B&no*<y5874s2; zQIq$qz{c5dlks4GnM~Q=DqDG~fiJB5W61=z6?gyAFj?F+4z%Q%vcF|qs?{UUC^2;P zWaz51tM$Z3^7Y|w-(J&c)f#L}Z(vM_+-TXA>}U;$ps=A1krRT#s!mz)4Fj{x6}|FA z-8E)ky6ic0?{;EM7!7`t``t1I7?)W>-C@?i;0Ht0BNOw9*#?`E+YRcVHsDa!7pO0^ zqo*k^(Z4`_Cj-yLL?S6sB`Z-Tv(+0@E8J)8u4ivsX>Hl7XrcuHphA_xco9{pPzS+| zt@o9t^#Ugt&nuGG(7mGIvV`pM-&ZkrU}YuJnEigWm@M8r&V*JMWJh5{7Joc|U8`uy zeMUo5;~nyuS>n0*bp9HFH&+3as<D@U3WG>Zjg#f5`d;1$^p4<Lz$~;Z)$xnO+&7er z9hIzCJ3E^r><&pBg(Xzuoe(q&YvMrR6XC?T!6O~l1IYAB;fD!(t;BX+W3WJw@U>~- z-gBDV<!~Gy(>O-75xu;a)LYTgt#3(WbFrC!IB4!n<rA{4!q`%ZoALHxb+>M<&*GDo z{Qc$<n0)bZ58k57<M=o&?nLMI&ky|SrSV6rPdJR^NER9KVwo1e_aAfEnA3t9qz1NV zjNY6J>ecP|Rpz{Zbvyy}p_!C;0XE86o{FD*NsGyhJE?3Zf0vJLVjwZ6one{0pVj?4 zYmYM(%${O-inA?cgq9lY{QHxlILW+jSNd7^1YgZZM)BqzO+#b$<!vTEib!kvIXXhx zQOg_@>2vN2udC%Q$qh2DrlyZYx?OIS&T_imW>oL|oi1xnEY<+Y7LHz&uu57MT(U-n zRxF#FGZaijJ$dg_iWz<SowiY{>h;IZ_d}dgcLJnUQn8Xw^Of`qU3rDZ*at&o?4}!h z_7Yd5qkA9(G>yZ;E-TPgLOG({M?;ph%zfl+sXHS;4jyQdu~&+=u#pr?D&qr_$F3u0 zWp^fR%p^~H$a6@rQjyzmHK!Gydd`bW&<>mM4~cWW@yf2QSC&&uSX(!7k}15ubQOEw zSe_?5SoyN-NeICUD?0kiFx3(+-f5B!eWh53#{KcK;KgOkQ7~vVuHFz|Oskr`V*Vg( zw!aab`FvHs3d+*37sG(HeFw8o(oD*zsRWJf2ruua<gS9$fp0Xy$RTyk^vKhbE&5ki zeGH!pGP6j+dVX7ec`jtHy--Hc(|P_~8dOqMi$B(}S=#SLty~xzowP*4hmY`Afngz) zAh5jO%T(j5lf823*mjH|d7j>iJzp-uKmu_I@$fbOsT#7q3r?HF`-jg#H7x^Y<FR&J z8@=0lo-I2U+rPD;@-lOd<qpN2(sN5|YgG3Tk8AT#d}a{Nc0rIkh8~8Zh=XHRBH-O0 zkm1T}--0<|S`8rqD%}<*AWUF|0Jhw*d1zi?dM&(Z<@*v}h%-&^FzRj}^(i^=93S)9 z&av0&-?k#?e*S2zj!zZeNXX~SQ7Ls9HLUHy01p{7as7<+&wr&V9gau^6ZCVu%FfG~ zkwlhj$OB=z$ON-9+k9tEW6Fh}d<Lb+{pt=E-xklG9h8{;udnyx?EQA#WzK~16B`$q z7l4K){B)vBifB*<QWMulyML?@vo!vGMln!>>9UDgrQ%#*<zi5ryRqQGOa_(;YS~ck z5#VD*;lk&`#YDu!sq}!gveO$l9jg2Bzgd&6+m}A>EGO>T$ab%(xt#--L06>lv!=|f z-MM$O#EWrV8CL_k5{AcW74quUf)xf%;x8cVxsqY^%&40qmsuqroy)02y{T5D)bFns z<EnQZo|kW3{yUSoWZLP8wa2!#BiS2^II0!_1m=dD=54G@PmLR;Px(TQAx2RRU)Pix z%kkG*&V#rpkrX+3%zbP(h=qq)GfomD@mVx`wCOB2Pu<8o-@n?g{b&lP4)ut@Z0V1V z9STRGlm4SEUq1RQZF%7T!N?d3%#sJCl~tW226sO&$yv>t{)|>BqRG|!VuL9S8&T;p zFt>2)9C8T|&1TO{@`}I?muBISLJJ>(o?r2}HRrJ#YaG6~-Kb?p;e0;J-Q?Ebc58`7 zlRa3*nO^&x=kSF-3G?O_)7Y1hhZbas&cFtUY3eFH;h1Q*wYIZ56UP7wPyQW4w^{Sa z)?Q+Ro1TaPcN>ozGELMLRLx2u@qSRurWA$0-w9sx-GoNMWs+Rgj!(rGR=rnHN51D6 zI6LTd=!l}FSzS?EbmOB48>*pXw&N%|q{X`PVK-T?Ea=4@xZMI<^L2}>fE#<1k{i2^ z4i9Mow~2tT_nzriv3KN8I%)~0QAh%8gQJ$i)FJwLH-FZ`Vk}dpgv&YOdv}7SO4N5! z=mP>4L*_K$JG#DCClWb!b|;+)(e|NQ%2~Y-4T*_@f@ln;Q}L+m*iOm~(w{Iz{p7bq zIia9WjNikv3ThH>v6<6+h8mhHg;od*KGpe`$PiB`OiR`7n(RlrZGZcbe-LMt`+Trr z(fIM_k}(-+Sig6wYmRZNS`4d14P%Qrd(`wU`hvc2MJCU(BUa6riHmU+XEFLhrADRo zx!Psh?A)2})$y68;6pi-q---b);+27@cp(dWaR9HImY7<O(iqh&SAybs&KYl4kz&i zX@8R}n7iHQYeB#2Lg}bADZ}YE{nMF;Ko4#iFFoW*(^j9|?ZvtAre-PoQtMg4+e3P3 zvuvH>8XZ!<FagN*yBmV_3lg)@pFhT>kiaDI-PcazGjfc%9wop{Z!?EuTf>Z{&dUxT z^;92;;^Xq@9Lz~BRw0ACmAw^OaMoLY7}9Htps$SbgS*1`{1*zJq{wf`n9t|bERx?1 zPs4?$?QpX-F;Avqo#u&ci~V?}K5=PxAhko}JCJ5hMBgIW?J-#L`T4aK-MzQ(afbkD zB&T^Tg9imLhVg$Og{}l7mcgJw8ED}<#XZDUuXVcN{52%=%kt50Z_@3mZe2(4biGI2 z6oY55G8n*noEn9<#4^<#{`Tf#gIi5w<sjagFnRmX_CeY%1aKup352x^Uy#Z&&+>Ns z4s7uMvN*?xBxYlK(8F)2Q=n~8V+kx)yx(oxWvC=;Pd1V>w*3O0rw-~-C{eLNn$76? zkyn<1Xe$ZE+|SmCbE2r_;AKkFaBy=qw>qQC!es}X2e<gMVLpQ<Jz%lW`q&HoJ>>dS zHF38~gWRj22bwzDy@X^vLwTV2Sz{Ap3{1UQ!Nv2pRb)TmS=9^!3XFK^J}BC*Kn30o zvsem<6h&5SjDV7k{O5o^2%4n8keR;y@ggeAfG22#Nx-(&gzKk*IVvQpVGnuT)>{Ao z_|8GZ@pdsxZjqB}OBtPa`0dYkSEyFY`NWS2Wmb|+k6tGzT?%{mJZ|U)ismVt9#LZI zYn?1%99`y0&LucE20K)6E9ixow-Pz~vm*jGyLYx^94VaCik9VH-0L)q1~Pl*hne2p zI1>F&_0~dE9-UhRJ8!`~@<&YciVdlYg(00z{>iErh8-;42N63i0^J68hn?$!SIa3% zufuH?{z<J{7ZoW=w!XV}?P)^!sg3;1l1zIW*8VQLvdk8-d~#=B16#+cx!O505EbWc z4J}FNtTnYa<7ilub8+^6Hf!=2Ra%kxomRR`cKdb}%TSTmEgt)QXoA6v@%AZzX2@Kq zmnvzKZKm-i{l8u82z(&-Z@-TyDysHdzaE;HSHg7l@$0xMzY;PufV`foZBG|)M>XvV zw{G^4iwK>k;Um4N&&1Cz9}&Js*(12<zBa%*DSM)8_8yrT7To!Yg#8*wnwunJzH?Uk zmfLw3U~|;=^fp)G`}o$Gv;X#-Q)0Emr7%-MWmj)YtGFCJM5VY?s9-y6moX5#UA#Dc zE`2;e<z!-u6phr67!+g2Lnyc~mM%1a^(#aRj(q@2S`=pn?WJpaPUudy4M!A*f@Qxe z76fXw@SA9DbIA2v`eJCBAsay60yn1ios*|Qh9eXe{`<GJR$jE%984NL`2!4Y#LgGu zp!N%|EpY^*2+y|AVA+UZ10EG}zIb7Df|v~^Y%!z8$Wr~ATw3#|P8>u*D{O*6pNMKR z6dN>{ek4K42(T=Yd|-5<HplMT^Y&y3qx`2B^5V-x#p}Pss}-YikHM3k7^nhH#2BL$ zoBhK52-NsJ4qt#h7NSm6Fa|Q7_|ctBjbpHfMk1Sii6{$&?=%|vfW?nP=0CI&T?;5U zX~~%!H86lQSi9#tmy|{O+7?+=Gj{!6vyCX`x2WO;rc)9yd-D)Jj_rW2d!a36r<N$v zAtCId3z+W+P>8$^BggXY#PZaF5?tMe^*YJCZvbdOhUA*bCY-hcbVLAX_9J0!NK)%Y zCp_xPuiV}QV8q+O7sDLm&09!1MzIze<_tP;tM`#IJ<)nYjG`?;c>x|h)&5IZj&TV- zq}8Rh17BUe(bXq><qOc<ncW7#O0+Fh|0%gF_LR&|Z0vM<^LkYd?b$r*tA!-ck>ed& z%SUgBQ5U@J;*d1ZTTz^=$+gGY>;49YsPtKDE}=Gc{K&~CtCcA>ggP@uJBw6yP*+pQ zHd?S{x9;wCmJ_`*yU%_xN*O5^W4V*}sKan%j;zu6fW%a*?yJg4B>QAlFm-WX;I}FB z=z=Sqn~h%|U&Y}1uN~7XHt`bk{3IN73n0^*anEkgcHnxE^{&&Z&dIl}qwclL^8?NZ z?^oc~N#m3%n9+e(Mu@mF+8V6PY{6q(nn9gG!psz)<N^C8&ftFZ^E)5y7Ik;|8=8z< znJrTS5DjjID964Ykb#sP0dVf<s9}O@+rAtvl;OuAG#A2F*&<dW@hR0qY*#K1TWU*I ze?Da<H+$QSnbo}8>wI+uh5bl5dvbcawqMHd*YmfP`&*!!PrgoYv(OYS)s*G^-3D?d z!uPf?QBx8p(Ls`t4qp4DLXYl(f*zSi4q#M3!(kWcF4S|uZ<3lfApsq!V9u09Xmo!c z5~Q2_o@z;i2&<j2zgg?lkLg<SENd+(s`8P97U^ntg903UbfD~{$zmv1=>Ve@<h#FQ zWRb`?a!{+8gqt*NG-zXGrtrQQz{AeJ>6Jn9DwhAFl+$!b%E5REKkDd@7S~l%v*YC1 z^O0>7ME;E`$Vw-fC=49a`sq}M59h52PO849X64tf3OKJrqpq(d#(D3svIPZ&vD@|@ zQ)C%*papY##-;7WXn!g7y|nIkLnD07r9b|#Coz}`$mmHT)pzb;5KGWkY|a?oMh%Xq z!y*;3;xL!1G#VxQdmIvEYNU;XhOUWvD00)e!;%lrhsP~zJnM~xAsF<AGhIFjn{Agm z_@gFz*G}`+KK9LgHAJX<^303<(a0}~qPg@GGf%*e`1yzbMM`knGwkXw_9SR^_l)tT z|1YC}gP0vei+-zQhB=t$4`Lw9Vt<$kiqL8Xtz&o}@Z6_%5)Znap7z|=UCm|i%lF|K z_cPzuw2St6{ns6<YE4Zt|F_A`Y`f%H3>z~wT^QKX)NMyC27a}{?^=A;JGP3A;FK+N z+A85E1vtWhwlV4(&p@6=41;eJjb@p^r+SB!;5<JIbptKPXX``eYAcZs+VAB)cR^M3 z6^x8s%8g?^-E(#54m?dY_d=T!U%P1c8>=tfL(ZF!)L$-Elhv221RrH*&kSSlSC5SP z$i4XQ^E89}??A0mBK&WnMt_Nw!Hj^mB{jBp=)PCbkPqIKtx4DPb-!I9F@F;nbCP5` z`5l41QFo^Lj-<)L5_+h#0O7vO#GkH=EDRg{-p@t5FeUnt;bE>7Ch45uC0LjJcQ@#c z9%gENbLBEbBUbzpW+`mnGCi1?`I+05Kn{dx&L{ez%b)2fI32#Zr=?Fcg<}-2O->Mc zMIR%;hUC>3Xo7Mz(QK$&Y7SwGhb0IjFxFCT`<KQ><PWC%`*evN?Y|%dQJfzMArisB zzi58(0y<zU+7&Y5L>ZHRh6rY6WYiI1GFPA|7LkAJ3pUP^es^Wd>5S^`6{d}qt-^~D zx+aAr_es99Zc2=o1McdO@CiauCcp5tI1<Tp>Q_gC>B(GzMCkaa=vaM7^Uv-?V<cck zcv(fir}CS($+F!Vs|Z2e%Sb%w9YROr?KAE3>HLpR=v+8s3x8@-Ph%UDh>at{vVZa2 zTOrINsKEOj9fY_7gzV}t?j77rO<jC_;SDK%<03PZm9?tRQSY+36nFe?=&1R<BdMq% zEBdz=3_e+Ffs)nSeH->BCUagM(pZJDHgBqT>ZK4Lz0gzy62&seIUB7`>%+rJJEo*Q zB&zx@1VUt~Jw+Ecrr7ZLRkaSQUY_~z-I{holucshr?kOz>LjQ<70%3bcAFQ=#uE7Q zy0RUg_=pW#PjBvNn+LiNlHMjp0@J!>y$_5=%Y}dHDt>oB9bNqhG%awLMjfsa-Y0Ko zr?dCBUaCE=Nc_lWrMj>*KfgGKfTr|3jFd5ehTvY-QOxJ0^<)>}2c~KaG{m(0RCD-) z)wV@j3r>>4`uAp(2~O4UXBt%Ejh^ZzFBunRL$pqp8ZrIsUu23V91nQ185z39l<!>N zul`(eSm3MUPH-lgNRD+_ayy7iaiQH~DjI83f6>pZs4p$zrkt3P;++&nf=Xw7ChTdQ zsIn*A%gh6D%qPbzC2)OdZpX{<+7D-8thUTG+^NC^A+dmabDWJ7zc+BXqX)pELibuh zD-=g5celjyO8yo~hQ7MZ4qlv2Y4@nT?zxdKloS9|b7wv|pt)JCvO!oORexES>%q;6 z%gXf=+}i7pNk$Qo))TUB{|dBMBh%S54l_&_weMPc?a}H%BzD2n;TUXWemb!GTsm3` z1(1W2kk(|jb)3}S5l6%bJ<dLU5@z^JBTNj;j12VSBV&`TKhs=rU-$Oc{>mxITs}a~ z47<8cw=MiGKuftkmn%X~uT2~)XGewUF7PiksDl*|6NR_wtEoYeLzc!2tW4!mbUV57 z1(N#f&}UGUHG>^w7Gp+7SXE1k+nu3ed-p_{5U{n=8Kf_C7;9hD(h5HFc^H|h3*>+Y z!T#WF9(5j*aQfMC<6!9LrF$&U<$3mm-*Kz(nCdWXcsIG`Mzens_26Le*O#8obLODj zUx4^YM{8xXVV0A(E|Rgu(cI8QE~=uFG@cA`F;B=SzrMn~<PePap18kHNy<V~DN0R4 zMFSR*DMq1kO5uY$b7Lqg-aPLt%3#g*N@KD-p+g9m<QcQJp#vw{SiGrx*&GRuxUtSw z?wXuM&!Fw&?FrOxMnS^I+2#FdY3vo`qlwYA(1u!EL#^P^`?B{$yXEesjPv}AVX)e= z^D<eepUkzsqg4b2^fJ{`&@tQ<$?Xt@CIyfgvsYA<my4~T_h+B)nMp5&0C(AJ+M7Q_ z^0V_FglojZ5?&Aye!ID4&{;MPQIqqtGLuyV(b5*=m0<i0Tf?r|XCthc(!YI_z(q_I zIp!ydIK}aU*}ohu+g$jVehGUdZlpmdk7-Ir|EV$Nax`zaEQ|@Y3=cIbrbb++*o!vk z3la$wzIFTO<A2<%bKABT_S$`#$=ZlKOBv+&3tfx!#~GNu0v#iH(VBa+6n<Cl?ah1f ziDwQ69Xvh^7I{hx@;YBR+pj=XWZ{#3`ohb5X<(%PwGA5iGodi~S4KurHXP&5>*yh< zTEx{FoSI~K^30?O3<iVIm+vOJ^j%%u-S2Mu0@GwH`3p^w&3FK+dG-o0I-@B%TBz8X zI^+fv(X6FPmDZsVX^2@t=3Y@gRh6or^|BPe@ks5)q^xIostAT;lTVI@OHa8ar}rGD zXP~U#jE$xIH~N>auYT%Cjvh9;_|;7<6_gz80-ssNo@7VB?~BOw=)CUqdU@U&Dqlyc zvlTp<xvX@r=bH0zZbP!}03Qf`#>b~8>*=YesH@Mt+vjW?K}1YuE5_infQUK`JFHeL z75Y{(<xqLOO#J4=u%Ss?<vD247<fZ!T>8W|WwLQRR#$dN95Tq3!otE1oyr$49SvnG zb=OMdSTYXV4BmI9u%UK%M$VYZ;A=hp92ShI#{6cIqxBe18h{w0y+Y6BbYER$^h)3Y zqYPM;)5tzin+7yCsGvmdg%SXXF35ssbFWgxc+)iLYyG(<eyfXjeGBuMPZ1bT?eWyF zS{;b~)7u-C+t_=53uP^@{(XS8VrKuR2v?K$OgAAbJ=N$NS(|C^-rE@0=DCo^yNhTO zL{UJ>{{f0<o!*6`qR|Q}Pvvg(S4eF<=|1Dk3^jfbm6-VQm!IF!qE2<1zaP%aCz~h$ znVIdTnssz_QNJM_RY#4EqM}4yp+;U_M#U7fv36q-m<5e6vZZGt3_9Xq9dl%4Ciy=0 zc>A>*V&1K}Ttvrdx}J>`*OH+>uW^>zX)<aBRR*MTVo<x#f@0#7ERD(~8+kP8#(t-) z;f;=dY&U`<O|&@$HW^CArhx+?x8D0S7T|t*qZjy~pqibs_L9y{F*>|n`-Q~^3HnwE zi~4dnj<W7H4Nr=M_HCbuVPkE9{5to6@4gwy7Y{dF-RTSU?Cc|@R@&N&0WPktKJ<Tm z4k2m`o6WtB-_U5<5FCh6=V-DOKNK5-BL`qyHC5|ys$eI~ip^Fx<{}S?GxCIpt{a|? z1+rNNqWkmrB3(nx&7&Y2jU4WX$zg9xJuHsrxhD7c+#LgZ9Q<B8=R?64Y#y6%vY^#f zv#<#^!loZ^6AYsH3Zkh!J#p|%<-z(OuP5UfW?J-jyw71+0L$pk#`;mT%VRz5Z;rYI zbWGQO=z&3XKgifdjVodI%}diO|B$-Va?xJ1+ZNdi3c?*?py6e)>1gd*F9(oUN}|^9 zJ$kpRM+&Dnf5{^zCk$QJvdGEiS0R4)V;}XS0C2Rot8d9z3*Nqme>fzADmON*xte@$ z-P-H1VYTyI6W$Psd+NYA%jLZUr!e>VT5u%iG4uOOY^zWt#4voL*?u7gyExgIlKEZ? zk($05%}Q7_wZ3W$`NI%1Hpu`g6N;sN5_|%wF?)nx7d>apXu)6FRm!<*T;Tq)2I6*w zE5f^_k)}-);AvsyU(q3~WD<GQ2RJ!oq2d!~j@Etq2*^2AQS~lO0bisB_?jTpz-htm z;|0JXv9Tq*+jGO&Z^L;4^?oPw;m?D)_9bi+(Q>LSWy&%9B&Tpvq+u}W@PjW*3$~)i zL=y%#+uJ5y;f$UqWw5hR@Ix&#cVn84=YIb9245}osueK$u(}0RH4lhg|F}s7j0Oy2 z0DcdO5duL795f0f@G%bh=i7gOTSJFOA*oNCsY{$uI3U<&O_s}w^}(gQwio)JfBz@| zUkeXqfwGM_q-f!PecXe>go0oj)ArHLwlB>T1#%IBUz69<a6w69gmtC4nT6P5#L4|Q z(oqA?b!-~W3T;nM3`&n1Xo$36^CD288$C0=PvY1Vd6MEn5NDF+A`8dgPH=RAh_MD4 zuSa~JuyOIK5xI=W!s!QI4Gq8}uLr?_09vh!aQ1Plv!MS2w09dC2*`Y&b6DXHHzKHh zVdQ+32cljVgePT-At2}5SX%{^0<T{n$Jl6H7F9hY8kn(O35;K^VXy>Tu_&Z!NG`Sl z-3oaO7*bF$VE_O12oN>~3|kPRKM3j#s3OJ@U#wv3N&O<du$}fkBzRE5n0QUpfKCH{ zHvg5K3@?SAM>`5dK77{9A<*%VG^+u1e|NOqyKQIH2++QBLYi$<SZVjqF|$|x)u@12 ztT2xe>e03FH7KmAxf$~d=HuxU9}^9rUBu{qk5UyTt_{%dxMxhDow9vAQ2;maCl+?U zp-ndD+}v2=dUrMo1b*-G>F^`ZKj838heec@m949yGjVjJ+M~o52;hQ?+6RqqD^V$0 zD?$g*LeXNvCo?IsH=#}xHV|UuBUME9m$giK{BK;iTq|BuFgkPu*(OnX3fzULX`dvO zl^n>Qr}~kZ<ZG!UjUx8(a7h{cfN8)_Y#{!BG%FPd-xtzc4x=-_B=RddS}7u2?(|gM zvH@TVg~|_4jbH6ju$UBtr45zU)tEHkUQB)+M%Xw8cB#Ho_!tKh1VJ5GdEg#!?=Np$ zl~GnJf_eZ2z{93zg`dzWMDe{x6tiWl<CfMB>M|HXuXC7C2?IO(gxl-up2+w2t+Z_i zMjQCJt2lN9#|%8#kbxToQDrgw>MBJF=TKWgy6BFojF!VCq&-31V{7adu2VIbH9WQ* zlx+bvMq(&oKV{I#7{R<0hO*5|ModZy2{_a1r4=IyA4gkzihl<hS5ZD*-NrNe1iG1j zbTGI;_ViU<;Rj3aJEcT&?y#fuWWoU;4LZzBHiP2(>~n#fb$Iv`;io<W_z5irG)Z51 zNsp7^9FRN&BWg9}fpWFlHRXSS`31R005Bex)CDiT;mYM7*~C4xTv~QeZTTQe)ijnk z(hE$DCmc=Npt?I>Gm|O|w!VU$zNsnn?A{OTw<vM6Ux5RU$f+qGKUm1n_k7Gx;w5<S zzlY1-MHZlGqn^tVs;oIL4p6|^cw_wntdW4vk=nPy55B4g;z3)ccaIO9@eOsBG~D`w zjZYzOKD}!|7*{zdEIpN5dLsp3loJ^#>y{8;tWvKT!*@`8xJ$A<T=ty<O1c-i1Ny=q z9_}h-8DEzAEqy?EtgbRW9*VB6?(*{Trq+9CFK@8ZAq$!Za+Tu86m5~e?2tEKJ?W}^ zYk0TD&06B@OS#Q4nOJE6m=$<gMMb4BG;KxNXL4n;??BAAF8YjthH!pQ`>!?mL-yNf zLZ0V)yXlZrHM!freSMx{HHjEBM*WMDw@;A6r=gmEc%qejnC)uVufV)C92Ar&21Z8W zj~{h(bi!}22kiT6e!K_Hu!j!DYW<MNgAoX~cl@%(QsSUWiP<mSOt(b7%o!0e!OUt& z@?OJ81BLCi$|&D789|^<2G%XQO{X#o+Vx_|w(zmQ2zw1ylVc*r4FUv0e-1Vf`)DBP zVj&C-fbnBiBYfr(JWG@}KGZFxe&C9I$H>NrK$vSH4~(uelH#GKusea7Sy)+``iw7^ z5p0s0Mf5{Te{oj!gM&63X#7wjTFCUDy<kP80Z3}sP-Q~RllO>)zZ}Na8ncDzR2}M5 zbPcBXa4LE#@Qi#S+5dHSGS^1925o_wQlX8y7EM@p?CcuvmMT?M>Vuug?`DDX96uT= z6m>L~RaBPMRA$uFR=;Vj#v5wqYSNGHM!Jki@b5PAue9}L?BV3eQ-CA9r7Uhl2XboR zqI6(~N(gaD3z!xX6i|%v3*bqP`K|Wzp9+^PY%!hA6yJuOUn0$T#_KA*D%F{;h(;Nl zjyK2<RwRIM58v#DDX{cIv^1CxHn<zE4$TCeyw!beQd$~C7y9s<lCLsH?_;PNp=Za1 zaOd}ZbTU>@W$$j3EZ%arW}juY7VrI;n*tZD1O>>y#zM-Xe)8A=m<xQ0KG|H6eDU`K z=RAnm+%S}D?QtfnZ!Po+p|nIn4gp*pJZ2#+ojR1N7#IhkQel$Oh)n$j=W|Aq$ej74 zWb=?vZzM#Qu_F!?&jX1mL)t(>aUrUDFJ_ZTC_Ktwwr8RuVwDMw|Ii??fk2D4lQ}}| z?q`1BLpZ4xi94C*$px~#`sVT026HC3+l?$Z`%eIf0abX_7Yb(lM!MveAe}}Xf#1{C z-ma#dZBD!A%r}23FGfluN=rvd>G`s7++-1ckL_P_MtKlDbR6UOnaPm@=QnfOBqHhf zmg`jlF07z%qeFH3o&=W;f!HEKYq(rp4Sg;K-Ifpxd$H|7zSAfFgNPn|am_`*H;My{ z(Q=Hx^lhoG!t}H|dgf|IdnroJM<U}6sAZ|c;g5JrP$gzv<ik)&NpbXX!LLHiiYhA1 zZ8^G$S%%s(#ewvm^<Mn{?0yN%wrcc$cVE6zqknOnRxt}Ea@ne*2k!s2z%?KDHhO*} z%!T+V2_bv9ZY;LQf|kbDg?Z%YuWR=<SX5Y=-dCh^@2D?Tb;ZrEx=CM1kV}{yF&n6= zT41`JNJDQp+v5<g5%sa!3}1hYg~j1G6r?No+y=oyu<(EyqwrulgwU)v)>Z`umo$4^ zjUh#)G<oE^kFbCB1stjm!vCL?`u_nxIHF3PCw;Zzm7>H{*Q@`uaMmHQFGQwVI*C_} zrdv7rS<&ROtLA9^nVaWnF@0L${g%5*=8+fIYKAeSjF`9`L0ofvfrE>y420og6XIz$ z=Tz$X{wH;Z2K8xaCjKX*$tb!1V-)p73wf*<EWh~3w-E^X2K$I#82`r)IA%jQGLs{= zUb{=0yFK*l&b*FGcQ~14h})8Ku}iwtlG>;Rb`70ma)ro$UJMlFOR>(q@+)S|tgu2r z(Q6r>!!dr@`}n{;9tFoR!??1`@YjyC?#2jlb8w%Q>gpv2x*WAYErk7F7V-<1)X7}j z6+M>~ZzjSFd&#?$ld46iepIB_L0pLxBoG!6tAOs8Gqwc)btch2NrfI?9A!^ZM<gY= zYZi8ZG9M~9jt*W|L~d4|QQwA+c<Y*~<GL@}|3v17oS(k0TqUHvXRFNfcJ%P@c;|@m zcj2CyFc_gn74tBX(YijWMYB#W@sh!2Nk0$}(Q(`P#NXYTdllurW%D!yanP0V-u3ox zdE>nk`Lk);Lg8k<WT1aA=*{oQERa}TI4sC0FuEz^k6z9(`3YM|-|X6y1mp8HuRmGK zj^6V-m0()|Bff6m{g25X5!l6Xm}*iwJET?rl1vChsK_!>wnPm!q(D^MEPVd{+bIf! zR|y|LLZLbos^CYdsYYk2-45ga@~7%sz!wj;A=!Ye>|PB#^#4rNYsTl*^p)FXn{0o1 z9E)OKousZxfu~7de*eQU|2#&2RhiQ#aQ)p2b=O97!kjw-`1$kiy;{_cG!|6dr^cYA zyhq8>mOO0`W)dP|p2XetEq>}%9m=Rlq6@19-o<wY&9;Nj)6*7cQ-hm=1Or7EiG|hM zQ!WGO6B+%36HXGY#xU4}`~1EWgD`ovyI2z8D%vjTsIlN!xOIM?mnCA^Z0A5GhTx|g zO$08|ZwxoSLP)Ox`KwrRQ~<n{6q9M3d@ZL40gnGzOHT%*%)`|c4!bW!!kGTT|2=k= z?^r+UyN335>3_Ko*L-ibCQogjv3{A=$-+jxKeuvSPVt84O*QA0ebYjv)CS}h7M-aE zb%KhQ<$prS!_NKj)UJY(%rLVn|Jp-J?asEryiVoTN@2kdkJ*SWf*bOX!QU>MwHA~( zeK;H~3Z1UmIwgiLiLuk@?@9y-#E)Q!QQn^4<96A`6t+%c@RXs7g-b(xfvz3VaqCa_ zyZcSYozutCO?Er+qY(%o^(&M>Rz39C4$<^qEy>$RhU_W3i`5&9ZTKWa#2GX1Jf-<B z+>?;Dhigq@T!+NDL0lrl(5un$(Ew~#^_-0V>mex+9{b@U$2VTgo!pB`B^GK6%nSAZ zu!U9J)yqt+gZ>dArJ_c}o#4TpoZk$O0h-T#){6;$5_^~zSN5kvFb8<vIO-0hK0T8o z&ON6&9Qc;BY9i=UGYjQQ(pPJE0A|I3wD3Xw1>60mxNxjPVME0|ZJG;v69;!RRIIyt z&pqO--4B9tinU2IrBm?p_>Z^=)m(0+AP4p(A{Xg9tFORo-C%t+Yq&A)u25rbo1pmU zKMPcbd)iN}Zprg;!@c6e6a|fzENyJB4F8Evu(I2U?A$JD|Ly%wH4_xNBkT?Q8jtQ| zNHblmMJAZ(7@jH$pJ##)tjKp#1b;I5-dhWJw9s~J#%{EcXYIZ0*CysZr97<IhF96D z|NiuXtyNU1Ru*%GjEKa&G;x}<5k3a{VSDW3PUA_CVmF}DGa}9ABSXl6OG3U=R66wu zsTK8eL!y^``)0PmI3p@D-^<O#j3L5+ekoba8PTc6Iq|lbwBECg7C|+c$=KGN&bvbY z#)(faEDIK&+lYh+BkYNOxUi+f_AeUu)+P#rh&Oz?H*+rf#KR&cI=k8Vcq(9upyA;n zh&ahXR>8I(C7p2t0D9rbzW^tUV;Y=j{hYlJ)tG4_o*SW-nwISlW^TFAAamDu-o^!I zkcX!})9Cp~Ii8$+0SXU_2&g;LwZEFQs+AJAnk_hcd_?m+P!G!ZB?mnR%T(@Az<976 zVTbQ^E->x$78)1o3B}9~ufZvMpj8)BygsT=P)$L%L)cGd#xFVUMYvaxN6c^Eg5jL_ zx&acoeHICxQ6xGmA=R94%h6;^j}QtAg6)#u6g9yE9>)3o;uf#OKe~+(R!Rc6q0qkf z=`}Gt8hvNrvbWc@)Wcq@01J*dJw@HhH7M)mZMu0Kt6MiX^I$6V^(}@JF|CEQ@(VZ= zll|%Lpyl0c4PK!&jXXu$SaVB!dV9coyZ%0+`LnO4Ztt}>ueR1nE??E=xj#QHOq?JJ z;9<vLGvPE9vQ;D!I(OS>Pa9!V&YzjLfJF)lh_=_4GsKS)ObVDid%;=dw0bM=EcM#s z{|@us`rF(P8_OtSEf6jRL0dZCd*7qSo>HmXgH~NSW)dUY|4b9{ZnztT??R~nNgjxX z|Kl2%7INYKF0PH^UvV+`Yn;LfY}#NaN{b>;grD`<Djfn2T?AH+RRe{Al~<shTW+iI zv+wH*PE-$S%8-b__~t~M*PQqUCc3u|uOV-n*>5vR5>j=+*t_E|9})9a;Xv6@05TG7 z=mw+r?bYg;kj(jCD(^ZgLDSn)Nuc<>&#Fjup|3opgV1%NQ_J*JyM&!upkR`?MR-}@ z@viPeh?txueg3xX{q?;k;bu{0HQdC>Lm0i4Zck{P@fbX18{;#_3;=t=CSu6g><^oc z?bE)If#e?%Hc%_-f_Ze<1^v*!!ZTn#?i??QIL?X`ukMhks&|i>Q#D)_?keWwxe>zA z>IZR=cD1+i-^GSfyz9ivmqvQqOJgb329u?wubNV;sS`_@)G2R#emCb;5Y=wJROh$S zmEV^`&yN`6Q-AKEk5{K6ME#PI6o#9K4ac({If*_u-fK{TzKf*Z!^+StDI%E|@SU(o zE2S9gZobXa`=O^OCsn>aQqN*sQs;(2O*+LsQ7Ql>LZ-i+1fOZ-XOLYB3vK&0Ul!({ zY5c){9-t#LsujuP`_CGKTfzX&iRRxN?!IRK<ujo+cbVDf&(nycM{vggwYgQ_;>)UE zW$mI5BJXiupH=!<`-uIC7CjsackbBdGOJcBD_%=<YMj*Wv+B&nfQPihI9)n!TaU7D zD@WYpDa_eRdCHRcSLkgXTpN8PSfm!^C;D#Kq%VWung?PIO9V#J@^}kg?A1C~RyzX+ z<EG9Vu84x`Lgk^Jz<<sS0Ft(C=JhlFqB>!SIqj)4LZZqaC9pbKss05bpP4%qB{K=r zB=Emt*uqLuqmTd0U5S&gnykc4WYq1=g!~7SlUe&!?<=33z6_qcs@G)P#MZlt2#<9O z6rQfR6iteMN0x1(XD}qJ^3fRcZK8Hi_1q(_&XHTd$zilSIX)pL41({Wp((!c8kIjn zQnNk_a5112Lk;18P894w2N{rMLk#zC`dv53a5y}+i%SF%u63sLJ^!>a692UCbW%-? zsxMHoxUL1&aFsW1V(JP}N-e$}Tp43ak~V8dI|OW&By^jEdXCDsmDc|i3TGc34;SAC zjBObp=+U-mQZX2Is6Dv6T?)LkG$U#BzkaScScwbt=tg7F_x)7BbjGYbVmN0uStgrX zIq6yS`DHaOzv`q#Z)#-`z9c7lnWD|%Sqw89*@+k=<ORDok-hGT83=f6>VZ_octm4Z zIeuuJ;Ya767NU}BQ^M<R450*EsWQh;5>aJ=f)Gju<J%b>V(cbbEi?F}NN|idlm5UT zShk81>|*I=sRsO)&0H&MZs}?MAB)kKkGMZp=v~@K-1U=K7tnaOJl;#zC#mW)S!#Q> zP~BgBjA!;%Npm$f+5aLO(Uz>Etjl0c_KmnHKQs7BucSDFtj+44%WV#tzc8Rx^7mx= z^=+eA7(m4e!hG9uoHzJgFF1h@!X};G@QqnH$O<Jn$Vs4DEy?B;&V~>wRj0G}5edah zn`e+}N|CwtwmS3|48)%bfWwO@34|kTlVZ~$zm+`%@DJ~q|JQ;zlet^_$>QI3ukYpR zVr%s>_F;5Bo4#XA;4EzIq4|km&94J;Ybwz#obVzsn=o_XJvP10B=7$=^GB|IyDANt zcyJmcMniyuqfZ(LFPj36m@#~Ohljkh!g(m014m<3?F)Z1^OIZ#^UOqC3MgIBKEoda z;&d*2YPd?x_0Lbb=I)ZBH>x?|J}C*4(qH{+>vl+L&;Fl4FhCLLQCZGi$-mY2AHdXw z=1?kY`g~noY`9eDO3UTPX$G*lt2_1<_#N25SNl5AZ)8fpZELdT$|%s6Vb9L;-dxig zaWmSAA$g;!&g@$jef(C6@%ZjoVC&2+KZv(f+-I98n5+AhA*~4x?joHye4>2l6*ap> z;7uIqAS3rdg7ni@w_)~b*B6fUhwTND1e4N-yhiuY$cWf!xMi&}XbwdxeY}f2l?Ppq ziI)!QY}93*S`|9A@o&-`G&=nRoo9GAtFtD(sXHuZ9x62ZRXR;4bK6MV7`X3j-AZdp zCFVizOMI;wb$VJOB4o_-Rm-~0FW#R2l)`moK0%Oee=~N5r^jA_*?`4CN8(a3R?a+G z^asIIf2~i*NZTpIY0Dxc2TRT}Epj0SmkKeHbdic9+`JM9JM(UG=p%YetlI_u&I|k_ zZ)|U4YdvVAf0C402_+BzGeOe>T@3#TgC-yxyToXkU!{%iK{IJ6Wk=Axu~s;lkY5HA z*ij!p$5h%epOC`K?*1}|GC1*4TQW47Kcb5L{Y3@ANbS63OhJmxx<9sA_xTW^sACNk z*3ohQ20UTQ&oK1KvR)bOM=z*iQ+L2@T@R;!6$xcmjHmK|u{$68G#tXr2m7_S(s+eP zs4$Cyhi>r;lRw+g`gZ5Z!@5ZGD~Pr!tF+i_4GRSF>HEfnO;T!R^$GK9=KrJWEyJP? zy8mGXNlEGMmhPpbySuw#0a?1GMOwO~yGxdo5NVd~j-?x<<XP_j^Q-IP1+VxHGjq<I z`NWxdD#iCH_}jYwXKObO*vGa1&!t*rL1gr7Dn((3zk(!S!blhoq^@VWPM_RN#GX;r zSy<TE+NztcX4gc#ngD#7`&%7t=ot+(>z<DmL5knMGBnPVomT<Q{Q}|YD*Qo;Qi*D_ zn%${*8?&l-s33`)7gTs+Z9CE^XLP<sq1I1oSSIrcdGv_enc=dOQs!K8H9F{Gm-F-c zVZ?wtOR(xCE%ISD@`Ev0gk}TXvdc6yKqWzlC|ifx{V37mkQ5z;LfUBk@02rFSOW`y z?T@m5t^PY!$vQgvI}2y46&A4mTG@d%?xEwrHl5P&W=yjt09iUD5mFD~-2TKOIHgeK z#EXx3Gfs3@Jbj1Bct?7<dcRx$1&|g6{M~w(?L)}C8|{AY9Ny7Vahorw7{0}p-Cyv3 zQeHaLX2fOg-{K6ptNu!5aC;O6VEU`nNvVVdoJ1jUv4)R}s%|Uf`g+*!(bxCU_YwE& zTe|eXlwq^)i0~r@zZkzOa6Avc<=A-Jg7dQT<1UWfAD<OsKG%yn`s4qiHTpP9PR0xW z{h1n>l8AE9pd@wYlSEt|iWoNTDGu&l0R8CTOLl7z6uUctrgYpl2kjDo4f?}>?zsL& zZ|tGC^(Dkbg-pQL;cRm|kK%UK@6X+p<e+EJ^H>dgd`H`J<H;lDKI@z)m}qS;rbZIQ zcH!jzf;6j6_hU=2FCaM^Dnw0))>_JU0Pjk9^HaEuQBT4irwxJ$8E~x*a4XcQpHWzM z`R2nxG?0`zFN6qFL448!GS`c&U>KcxWm1YJE9M{Ybo|TGw(DBZy+>%HhyU$keD;#p z&d$C`spu7;?XhyZ9g}?BW72OvZA}Q1bk%JGIe2C8u~T$uzxj?Nh+yKI>!Tr|Y!ser z8r-*Tp8tZ9f~BSSDXUo&(8RWH4v@0=o%HUaV0|>NANa+th4PFTv<;He+l}^qiYOHw zOEebi7O|{kXL5Y^X<l{dI9kb`l91wOij`e*I~A(t-4S;`Wg2Ex-~y)Bs%yvedpG}4 zezNskK9{C*q4#HWy8nUTMgaNsdA>r&nyr>8i$#THvlM^61fNK$VQ7YyV3wAESV@B_ zo(rL)2yX4>i-T3oZfH)L0rj7%1g&O_9z@Dh-^eZRI=I}zHz(LdRq0Sh*1FhY)Vfe; z=A~q-a6?kCfMJlT4S)Ol&5v7db@oc%9JGHsf;`D23w76uk^9^IClhx_RV(SwIhj2( zPY_-VWItSj#4NRI3ni*WtGTSas2yL}<y)0!W&TJOPtIo3x>U39cS}D&vQ2C*x8#g} zCPJe^bfJ3iHK880DkR7li9LjDQc=<4?v(HL`(sfPR4W%5=mFe<=LCGruP`@!axsi7 zjPVi!e|Smz_z4Jabo7yky`*LW?)S>&Y`v$r2fB!lr%oMDVk;*0AFu??_tEcLAEz|l z*H8#~ehmI80k>ud?8UpqUagR%3j_A5P3Pj1j?=$)nnsyOkg`SbE85G9ilt`{?8rD+ zVwKwe%}*AG%2J1mOPQzBsHy}LzHYEPX$7-N-H~Fg_GNkHDSpIKTt<>pOP;e1s^6q~ z=QokZOn3J4Y8p0{#GYewdHv)JESzLL*6A@11N2RHoDQx>B|vKP{cSM{-CMMjC~EL* z>Eq~CXf%+i<J65vzc%>Z()l6czmQT`XNrM98!10y6O7jAj44EBuUh}~U~r_VAdBto zPEw`i$uGPD_m2p}X;=1COX5$G17JpHT!?emg53Au-j><@k6__)L(&!5$h7Yk2>6w- zy{i4+dzDPemf{bp|34r#m|(nR`R;JWcyKB7>ie$V6UcPDbO2B=t^4j@2Gj!$9}S!M zz~KvW+GA^}fs%c{)ZoJ!iBV7Sk2lZrSc{wxDyF*dYScPQ>o8-i<Va@|m0O5$PXOrF zuwhz?zv3|I+}nt)wJeIoF3~U{X-rD?@f}tei>uXY*_hn%S{YR|hO%GQv5KLs6nMXy zo(G%;HPd#I4-7OhF%b`c6KB$i<#D2+^r1tC@Twhmt?}nKy^wqL;0x@&|GF?$F@R6M zV)4WSb-(qnJqr3v*WYqr%c?+q|5e%lo$&mmd_3nTn2k4bKoIHvvg|f`#Lh~Sscm2r zl0yk--ueBn8Xu|5T>!Hyk4imD+WE%1p?gERpmFrvOS8s*YB+|3^x+DF7)M{6m6@oL zI$FglF*q3(sB4%k3aNeFc>SJ?KZe*07AfJ^eK*eXvZDs1_{G>k*~1@nd$!u>yDa{T z^qDSmR3!Q6W!&Lt>|CJdvM9?kgjb6hWVBXUe=r?R(z4ta#=#BPN!t9{wj-$)mdLi& zjf-Omk_nP1;3l?vHkdhPFATbjpY32bm{KW~j*+a*V};Cyb<5ktZBE1b-+c7EVrOKf z-np`6y&qm_PhO|T)#juOQqm!q@+x5AMr5WeF%Y%EE>D&!t(5rdDPG{Hx@cKF(E9S+ z{^B>$XtH0sEefW?Ao=<C>PPT^yR!d(69!fE;8e5E9eCgamAzK*C+FKQOF+ySHtM-r zZ^g97sMV>cKRoqkH3nTytD3)KR@B1!^aI8{DRQRmGps4pQ)yUez{;zpB?TSsj88U@ zu?0()>8~wY;FDZ_9&&}hK~vpRA6edC49FK0p7^$Iu2x@fbzg2q){2_Ba(q~oRQ-1} zN=fc<Vpw%`vj0}v^#c&L`h)QQ#URyr&1jR~9We8(Jq(vi_$lozi7cOpyT`4>rrxHu zn)Bw^^<XU$F42yOLfUAm^|8pREx-0Hrm_@1w1dzuq9o4fyh0k;^t|SPV0;SOYrV$| zTY~v0Ac8t+ACx7s@t>N*eA(Jh3S++wMfw86=2MpD2p{rQ;WS)^NIX3U7=dNzz}xk1 zWJIHY<j?s7cW)bBUjM|v7v!)I&rI}eN@i}8&pyrO6?kr)I1Dta(e3BDH9w;MP)ne4 zA7kgNvDyo&fUe0~%J4@<3j<CBvhR+Zb5o0%Fz&tY8wmJCZ)R>A?_1g_Sg+IjYQN7k zE_H^@$;!^0&&yX!u|<<b_&KnNoS(h?>%J3idN?>?Rsy-}g$OuQ1uMg7rp51w>t-=< zRkUD|e<ddhZw|>HC_l4#eiRo#!XI4fWdt~ywcz|_9IaCXH8~07rS?h9d-R8ul8&be z@JPlEO9m06)E#}sb8pxQQ5Xr}Q*a=N0$xcwNc=b$jT-NOA?NEb_@cJJRY@;IpCvdN zIG42fCPw+~Ew-`vIp2&>t7n|wK5~tF73|(e6W5C-8$EvCL`n-Dy7hhs`UFbC54oqq z)-s}uj@#Z}&~J(x5@_vWEYG0_-`KR{CrhQl(jw3iV=xXcT^>f?b2EjVvHK!aMb~5w z?!WK97A=#u+7Ca=w#|0`89(kbT)@$18HM3IrRbL9OtOSLewBx>;9wg)Uc1y3&#A7b z1j;o%5QtQig8eDQqJp%~oQqN*Wg=PZ@#@7O50(9K2-AH1Z68~KWDKuUC@FZm^ZNtz z<2fEqj-@KnZ8%=KJ8VM7+WG}T!gc-|1cyCK9p0JchrLOP)^a;;SwdDRIrkyQG*Js^ z@DeiTldj){HhoMw?X(uqmLDHy%U3&fBIR{7C#C4;6`&{^;NJeT&3Ivf-pOfK(cu1O z%D_!Cwk(>#t_)v}`G_{9`DT~*%P?TUMuR!U0|OH?K0aQRq}FF1k0A<A&l@%zR)4Y$ z($RXjk5u50rBxOR`Y7P8!Fq&Gzo6W3J+lQKBvzhAoq!a;KFdiayhIQSZPDgthd2u< zsbCd>x9uE_nPe@+S5-jUG6l(ULRm}TOl#xVYU9``mFOnPsVOR;15Sv20xF5YoAbY0 z__=Z#G!9tunIxHp+7;qCKsyTy3kQec!lO5~7%Uw8ut>-vF?OpWFM1;mQXX@TRgU>P zifq#FSAqdfF`Ob!xq1(Z`(VuIflAnnKb2VW$vmR(3Yx7l@+$?~H(;9W!-2_pa83wW zA_Q9uoSAG@FF-)MjVAuPY@6x}<a^sa9eA&$retnh{N()n&%z(*Pe`yeS{E^z9-0lv z&dSQpTdI6cYZi5+;_#<%V0B%fS|J%3Sx$C#ztNyt+d}j#Y<!j;H(R|#xMm2Dp(p+- z$|&Gi{)*3U!N^DGHQr9*MK)P^BXMLAPR?+>%@N1|11G0z;m+-ySigD6sD4(Ru8zP9 z&qjJ$ny%TYQe+R8?5XGcKT?q1vLQ-|$SyScnt*~%QTeDpOR<3D=(vEyxw0y8#F25o zJhMo$`lQbpv5=b>_Hv=l9Psb*TutH-4;k5Zp(QwfbJ)OK{?&g`@`V9<aHLs2+X`HT zD=SQUzg!Pj1(RNp9aRz%O#04vTvU6Uu&rE19h}bv4a}gSVO%eDAntv+BXyESuYaL6 z55_TaUTfrs=w_$u)mj7&O-0A~&`vTVsg#CC0r!-zW)P4AKaPK+Y~ZeN7(so>?pxFX zTArCz7|9q5TVA&~i&fB$ml(CRH56LRa1Z%BGKW{V%Y&NZpF((4&vm}|bXYCY(2WG? z{yRS#(G@l5*z%HQ3Dm87YP}yJZ>xVw%(iA}r0`}u3W=N|*GqgH+}EmhKF7z2BJuHe z%c;wcFwN8LW!=+ZNnuXcL87TkKN@8r46<y55z-4r?LVDl5Eedx0>WLYd9cY0NPju$ zx6!HAxCzY&E`0~rs@L^w5~_;tu8k@opZjK|XIMKbGv@fu0eOs7S^YT0EgprLY^Nop z1~;oHlb4Wf0afc+4(Q2K-!Tv9mg;CY?rqf7)on)UUUCfQ6I%JSVc1mW<i4C(gsQAc zl82T9!P9J5m&C{{YF>H=ew##b!n~D<e<HYk3;Zo&9X1Oq%Rw4$kE<ONFI9VkVwK=4 z+Z3;VE(1AYyKDE;Q?SPTZC9tg6l>b&eeIuvT=!#_gT8w_#&dNC$u2pI$=&CjG5p&P zDqidE=&rX{s|@!61-mDu>Zn^@#XdD;h41Ekz7N(A<l{qB+y9~^z^G%!$plNNoU{1j zm71t^<})dCvV&-!|9I@C79h|9I!y>wJf_t_pO#3e08_P_(-t4Pq@RV-@MED+c{hPd zRc`dZD!7IDR_<p_E=Nu`5Xb~J{EO<tyaBFxNY^cbsPu?vvWK5Uq5hhk?23WbS9@zI z$8q=d`xbXwnKzJ&z^AL+!Ffhq5s|uwgFueTIVPRzBe<&_O)}Lghad~>qwUI~c(KLn z1qxyczk+}D3=X>gP9N@oifu0X1f~n6Py%E+3H83o^D>}akqYge&b-wM;~!SWlQW9R z1E-hLo~p3F?{&-|uZIRimx`@N3AHW+>N_I(xi0>6vlTxT`hzcQD6r|5LfCs2&%gbA z%g~W2l)eNpu=Q_q1%@eyx`AxNEvFro_3_RpavC^R)7JSHR8wFw5i}rPt%fLuThq{U z{W-ekJb-<&xMWe+n;~PHlva@>w$p6QO`*nP%<p8mpUEt5^wvoC3-o(s9z^unb_{I$ zt1K^2<>uP`t49#rbmQ$oZu1dfPI$WO!G7_O*ST_zr`CYR_xhsfY!yRlUVY^3;9wgb z5=}Dr8yFkA?vT_1H&bl2rZh2rcAUh5`+Ta2J{X2~ZU;-%KA@Y8(KgAqd{{Zlk?OWY zo5x4y5>%D@_^V+tBfIhjJ9F@vjq%euQ9cTabS@DetZi)8I`sST<aSUaJ@bzUijdxg zg}r-cg)EH0O0Q+Sl7&L`JB6gqdt2|5H)5+e?})kr4ulDJYOdwI`aIhJ?Jvgx9c@l< zTHp)pantZM!LjLyw<943{0&Agnn7B^H-k02s$SJ^3k>JG9?Dy09SwAA?O_U&zfjA0 zmv)hZHKgSVA7kT7;*coz)NgUIeQ@&^7bvlwWfc*oMkYRuKLq%@qd3(gNf`zn)7(?p z_gA{NE3DzkE0<qp;72yeN2NiBTI=-@a@$&Acm#iKY+VJubM6d%m;8f#V$cFSYJV(r zK`npD=kPV`@?X?cbzTLJFwnNBO^&IZ@JV1Zxe1(ImA_MqsI#Vm37=XM4!4{3rC}#` zV?RIQ*_DR6K%#Vc@R5}6^)p4vGxT(PQ0K17VBVRBOtr=t=_-=9L9EK&$6xzuyE2pf zMRI#vbw=zV>@Q>xAzoDH`J5(t{qbM3AB9tO#p&^J#b%5H!j|Yjum*3LM!DZ3?n=ed zm!!*?(d?b;kNeirmSdG;aSgLakCS_XDrZii4=$`S^|on--z5zwSjNEBM&{pK5M6#_ zk;I*|mXM8N4ewcnF5<m?^vr`Lwv|%4xFJcHVy~vYtvO$wIh6-x06hkF6Na}Mt4xm6 zVI5CJdW9v8AJ;Hz);(p1F$1%G2aTD$o&@gWC_+W<k-SV0+#lmV0Nb}OoxS>3Z~GR` zUN{b0mT6$?wAI}mbnvp~c`Nph`)U5JS?dBIwEGD(V4V_TJMs9+ol|o_pNgR|iEfaz z+TTW9dmVCiB2kNc(KtSlc^vA~LVU7^wo15TJU{Lru|q)bla>3m-_?O_WZb{a&VxVy zS;R+Q9n2Wwq!O*g8A*ux*p*`g^)Kw`bU9B&qZi!Mh??*68fB1kVkwo(@hP*qV&QDl z`!!j+uU1oEDhQL-tdgR{6yA`+0-y~eC|5H}fFZX8wr*)%TdigqY1QwN8;&=3kSM@U zl}J5CZC;DBkEskR?Z=m$BU@+2_+DqBkUO@Rhnwd_uQj}j!aSp=dl9!Fy=enOhO`lc zt&+>(rD-bq0wE$oQfzlYW>HRRdQM^bUp@m^Q<G6DzTrmyo_a!TylBP<eKP9`W9-y0 z=4B^;hchsj?T#-0bq!r4p&GSQ9<|kKU3+k!QLE@w8;|)aIi3SsxIGm^(#A+eO6Q|D zlGl)5Zxi4WtrByO4gu+cWTBB-bmI|7uiRC+VNu0iDtV$F8&=Ew3}33dW+6_`OqyHq zEN{`Kd?k8G^N&vt2MkkW%OsYCS=?L?fOeP(f;bi*EgP;xtHOLnyP7;KnPx|%Gtn*j zm-*&+OhiHiEx=eA3q>poHTtcx?{Q(khrZbYuBj9qog8nbeph3#25V!cq1`D_f%=d& zUOh#|*7^qswIgRgUFlsW1c!U6`m^1oIN6i=%11~lKUdf7cM+>LyCW|fROyJ{dAS8J zP+YYfB|BbF6Q=!}ri_Fe*WcZUBItZ28UOwja3U>**u5FRMU{qW_Iy1}3_NqIIvYz{ zF_qZwTU%>uOWX7}k5;{A6myej$5<(#+GVquiHX=z<_-?8wD;RXYD=7nFcXl8#rvXs zvR3o9kQPpKP_IGVk9PVe<$k%aUH2<=^90+^iWFl9*7#K4OwTM=v?4zyOJm5}KI^R> zmHZ*4h8=M}7}a}$Sw@H!ET6xlws@z*7Dc#9!qs!7_D#SHOgT#>mz6T`-2BDTDh4)k zGSVJY2B9}ezkI5CY!p%e4BdoErrjEqB-Gzj_^mi3CBgp!oo&E;2NirY##wp%1v=u4 zdh4jAf%+d-f80uFWt&b4?x)DeSrSek1C+*98&|60mEN#=no)DR8p{5M%VweB*)+`P zU0l-|O!zoVwHPC}V_mf=Of(<DM@ZbV89VxOvr+8q2NUvF)bIk#fvG;T_DI+%KHkUt z&UWzmwLZq{;Pmwjs@@=6EC@D)39&GI52MBbDZU)7bvrWR7r_p$-d5i^XlUN}719Lz zJIuQ3?492@(nMd-*fSL}r(Bpt$qSr~e1Xn<0%3EOszeIZ@<?Q&Bl&yPPzT%2=KC8q z?qd~Ui?*76RPQ;5rAO$T9|}RYgG1qmoeWxlB;PDAgL3&_Ex>o@?~(vec?DFqjYuXq zkzdMDr#@buCb~%Qj^d2^v_K7$v^;glngi_{8<7c~dGQY<0keXuV1*w2bVFDyb4n~# zk?yxdxE{yo!_)<FCccE+WW?kVmK{BI9sp>2R(2S<@YE-lTmxP*knhq_W%=Dd&Su-e zA_-1=Li^d!5LJgs4_{*X>2Q;%>l-1-_#jVDIQu^}f;8u(91sjmDdef1QZFFp<&?5# zkaHKKMBE?l9B4veA<}R4Nsk|DQ`DPy5fsZnIPN~AYgA$!sWm4YGUp$uE2;0o3kKv2 z<i*N_7q;HQX8eD~JchbPC^F%UzPUiq2zN>cP_yv1qHX<wh6a15W1S3gW%Kafsg!gw z50Ecbr~6XNUm~{5xjMsBtfdnFO(i}~IX3P~202Aum&bcb%sJWYPOMXR=1Ct9qNun= zk)^{==v;66Ewd&v$?hU_>ZSzIeLOKCiAB<nE8i*AvKk^5M#&-CiJE7koYkAs`F4p( zI$5?v$rc+E2x_n-2^STYoNbB#m6AP{jhqK_S!9t7-dA&GFIi~xoJjHW2qy(JzWL^9 zmk#yhehSyd#7RzexY2T~{C6(?oaR?LrBO1aS<)@a5%70IN`FYodCbcG!b*QgOYus} zcJR6yg|Jfu=kw;Ddd>05=!Cr-cl}L@WDd)@7nyic@yr1?mp=i4QNYEe`DYyF(eZzu z5bBjdmQY$zp5PdXYQZ%=Kz^}lVT(-efv?%4|7*$Cg*SLG)((ru;~$x!t$UqQu3utg zLIf$nn^hzTW=)f_wxn{r*sImi<>TW_iJyX2WY63|4ID09VqOnDw$qPyN-G_l>IPgH zIf6bkeibDS3e=h8-3U?y-h87Y`$bn8)J6JaDDRS+U(%2dq04ZEf3e#j?W-GXpYtRO z4Ba~%K^9t-WY$)!6_iaUdum;=si#$|B~w&~lKEKM8A!j@g_U8oLaq*tfEZ90MpX72 z==$4)g;GX#v~_B@hE=KeJi}%+J1OP8Ol7#bZr_Xm$F$~yeXL3zR$+V>kG8s~wq`Z^ z$I1QGnbOh&P0f<zT2<3-02!GmS)h23s1yZ3_59&Xg?Kl&Z8u<RyJH5~Ua2%#Ju--> zq-=<R)k0>c<qZs71=}Iy^I`FgbaExEbne_Y?pSqaNM=ZfbbtH_n>+jtR9D2kS7QS5 zXm-n}2ifLdf?7Br1Aq+6SO$X-T^!U3`~_IBUrp#Lm8I~Jr@-c;!&Yr>g0i$dG)&oZ z&<$uVW=s>=Pe)%&UvT;cgZsTH0Sm4R>>Pi8q_tix8PJTCr5nf$`*bgn#^WbJ)dq<z z?W^BgoT68+zR_TnG9;eB9TvuTa^8Hcu+BY#-8lwP<qU;-Hn?fBe+wcD3~GlJn)aiP zzJ;J0D-OMbcQh_#020X<kdWLk$v;%;Uh8K(6!h9xV<2jqGliLpzcY`BEd3Q6l%rBR z3-vJ2dqlOB?U9%dFeP&{F_I}dVE4vG?-F$_ip6g?jE*~IEF73HvmVWF7TXy+uH)#< zTVyg*eVF!C7SBK4F7WugU>yRJs<(dX-L~3Sh0Rh;9VxcwKZp0FO$)fLVvvJ~nxdjm z2wdAQc`WLGTGAP!d@>X`)$D9j^XF(EZC7f-9xCTmlMxS)21CfMggWmw%y+mPW6+C; z94T9Y@J-7fLLQoo7yu4FaJHIBMHGChHre>Hc>OXMOqgNlK7Jd?N^EI{T3Y?Pm)<L* z>5aA1cQ%V3AhMXz66OVkBU`^bl|bZ1f&z}G>cOIi%r!0_z7n4s%rA1~`Z>T2_R1iv zsDLJU34-VlMt|ryE@bSG)E=;l@?#m>Jn;C3Kg*k0<e0w*hH@rmtLse-Z6NxWYL)x@ zKZ`EkrCgL~27$CoP6eig0nACK9ff6ur(K<kzuk?>@vu}T3a5`A{aMH13@OY-n-q6{ znHBC%Qn@fr>!fxPutaO9p$HHP;=NhM*Mm*kd!x4k_iZo?;s4QREAvw;B|o(P#HN|Q z5Ar9%OXrZMPGgC3-`#YD*PwTG_jmu=MhRZ%x8i_FqL@nK1GodAiXv43j33j<i9)15 zAn)5y1B&lByG8sk0jAr9TX)Ep=76t?gpb(0)ZL%^M&FUOy^R_;rGqNfwA%SCE?x?k zGcK#LX>jzrbO)jBPKy48jdZXGp#>m_n>1C`V6<zFg&y9}ecbC4;3mfpOD^MMU$&sa zs&4@h)-88qq#cg|`~7E(fWLc{M|0JF{od7vt>#x*?a$+;<w>{tmgywM!nHcK$%UK^ zrQv<~6n#8dj0<~S8pNtyQ-ax#DkSY*JTv+yq$=O7Rsu8d8hoQKwot49IV$;Ta)!%n zQpWAL$?t0M9?ehI!#C6~qRoP#C8hMGn+eDp;LZF42(|z|oX1E;gnq2Itd!i(9}wMQ z4UdKWotlZRy1Z=JwH&pc48!w0tPCTezPd_T8wy*8|GjNJVP=JO#diaX5AEzFzhjYY zv1gxVQ~Q{Htr;?J^Inl)DkH%aY;S6l%S78}y6WWdjlawKani~+9sMTR;?n=^o4(eH z8A%`=z}d>l!uxs`MkgC^myyo|s}rG<!oNl2%Y-k~szjHu=V5NvC?;1c?_pF<Q($&} ze1O*H_}vPvl+?*q^=!e6W2;*=V%dI3xIbXO<;dz{H^q*BCgF2h>)2!hzh6+@^DszA zZ|?$7UJ3i<1HR|-h`B{mQSkWwlCqtOEE#$w%nCWK@fx;)nr)r>`ZHmiy)R6_TA^r_ z!cHu_{h(WaJH45<_Yl{l`Ng{PACvEGCHhp5A`uXC?%tzb2;qF@qWmlMY0|BmyQ@^? zG5h*Xa5HG;ZU%cjSvEk0{6f$Tnq`TE>36o&=<>*r$IXLs9EN9B2uqU-dX+zwY+h+e zg{M3}tKC%1dLob56L{LPo0fSQQg0%+)!}AYsU6n4z)X}wY*QX=66I_0^~gLy$Jf!z zDionKe@J*G+Q#ODlguY=!_T&9ABjXM#I!bK3Z@Stwrc5f;-gT|W6)4y1aN$@F|JUB z{n#i4W?n#L>jzkG+Hn4fcLkQl=b&B-VsD^-^csEh*+g`(vm>4Y;Cp;jC~8V}E9(6> ziye~;A+#ZuRqw4QY#Ya|-oz*(p-x5vu_p?TPNXSqRUF}UMUAb$z`)SU9pbC@)B8Oi zbQGMN7!L{T)xDUK!hOgd2?q(q$)8`}m6ihm6GX?RmoWJj@bd?qpUi%+XA><<G~FBZ zjMzU!htt!1_$nol{|h-xA{3htZQbgfe@O5|sS;TpW<)vi0y;~N1guW0uhVc#9K|z3 zfh@{2c76RcqwEDP8*Gu?KTBshM0o}84c_C01kwLQV;!BDeTU6<=c3x&I5+F0jes58 zhf)Cr%?~5%jRN@i__(;H=I7_9r>ED}*xXM(Ycr9Ov((AGCTKZkRNHAE1ikJ)4rvez ze~G+EK|F>IYYzwMN2B26K8E9-kgMiHSUwrb@~K;9PJ_{a6X}EM+G#y?+$<NWlr&yX z>Cz}N&0Hw`ZwXW>?bYp0PK&sfY~|uu(%YYP9OMclX&}j~_DA2sZaY@XqkGTO<l_oO z`R@tZVxTruOt)WQ#?ndHNMv!~4HwJbEJxSypZ3j`h=L=<YKZmJ3P?_d+plk8u8pCw zXHUBk@162yXuc9vavxt?gLY_S4d6+WfA=X%mLb{YGh*Vn?eNs?Ph=vZmuKPgJqUvj zseYEHt}ICB>{yL%h1N14&){z=nKs|#3z>5Gay>TM47T}_SSF+Is93w0^5pLFETw#Q zYS%aGBgm@6q(9hKa^us_L!QW<&<Ee{lkwQtBRrF;CP9x$#ihv(x&lo%*qYpzw%2%p zOPyA!yFF{KZrWFij;p3wCtMY|2N|P4Hx7E6Xi&xEeTa5D6`4Kla|h!Wq^d~-!AZi1 zC7QTBImL*~Y3am?|3x1v9z82^a?03VGtdGGLk>L)u~!kIYecLuhZEYY2Rs&OS>Gd8 z8n|YpCbW6=wc@EOkustM#GO0*P&OuVF2wXj<MTq!*I^{=6bqWeFxB7j!Z&4jWfQGn zY@&w4E1OvKtvoe;@mrbLVDRSek@$IKL+Xp3aEA=T+rq{So~{tsqAa|6%Zz=_mH8NZ z=nF^^6iG-(id}iX#!R!Htes=^w!w((Ws9_7qc%ZHAr7H~slVVL=lwwT+JH0QYVeyk zzQq-gTtZxH2&w(hWON*w^ogE@1ga3l9kyQ;k!8`;mXo&^3+v?9dCyZGq4~>`$|xWu z?KRGnusgZ;iEHmzK|vNu<a&GjDLGyJiW&jc;zK}JyWOs7`%P!S;~EuqV%tUn8!;xG z2B(m44n5?H-m<1B?MPR-ua=mOd(zYJy{#H2%)(xdo6V>b46D=0fGAb3<)nptvRa4t zghvXJi(Uv;98ljKTCsv>k;Qb37Hd`DL*QHME^vftd{Tg3#8po;se!lXK7hujl+UyO zF|MPC&cU8HC)8~8CsQ?E7{&Hqb}O!w(IT$wf{r_T$)1^W>UU3oAtxu@OldTI;=+!J z&$XCepmvNfTw73$ji$%t`-)dMY~b6llJ|PcKO4dw`tQoij|bnrnQmNdsBnv4-Q?wv zfYf94hMQ)umPdfD>P<T=ItFVV`isrg%$WWoT^QV%pXj$9U$;$2+0&B5;OcFEK8a~= z5<+Cb$r6+W`3iV_*Sld%(>;^zxmL;k29kB8-bG#dNhKXm|MxGTJSBH%=+@E7Y6gpg zbvb*iA0*&Q*x5yOn-^t0xdqqz{;-hSM=vO@rITcdub&=raFe-}5TC~G=e7-l`oyy0 zA9%;6O`}}ETs+U`+eH|b81zY^Pju>|L638$U80fEK&nH8(r7#m=HO@y{&#aMpBMlZ zVla>Ru|Az=t_%LholnwRL=@dWeq4zMikeUWO;pcH;2+;dYWVKcyWA2F>5(li|K7xU z=G*JCx0A9Y{Muj_*AzSoi|?}1815?`Ze~_^UycnT?RVcZqN{T5(!IYm#?HCP?tT)J zXZefKcp^F)efo(zfKj&=g{PWc&-TR#(Lf>B;)MNQ(u|dHP49OW{c+u}?N{!68ABST zb5<>9&5kcFef68_?km>xf20N|8j&Q#Bu$(Zy06x}i!NsH@^78Cn`z3>va{s|2ifoy zGQJnb6-kKA6&a36ZclTa<37n5Ng$d@{@r$`CYn;!R{i%JhrX9{Jt<8Eq$9i5_Yn7P z`vHC_>D`r`$PG#C=lMKIkx0o-=~`m#HwEoS&6WffNt?}E<<dR(y{L8iu=3BT#@L9j z5bhm>m$#LdubFL&o5m?rpF+%mtN^gkQ#AiflD=TCfZMqe)Dbh3CySkv=XUpD#EA<l z=L1=iwXHi}#c@gBsWLXr-J|G4tCHhIU>+_BUpA*nR$;k*xTGY!`tJ){N^su4trHxW zFBjj1Y&)AB2s?RLPapc)ygt31!y&69XU|^gv)Y~J^ayA<m>3fBv|<yzC75>1opX`A zJJXjMBq`b-vudRWEQN6j?f<6!+_+$b(YBl~9^vHOf&);8yLFOhh%}-ak(88lKFE_K zc~kJX?nk~vmJs|16>g_@JJqX%L0WS<tZank!8c`&uik79S=%L{XeBm8&C5bH_SK;+ z6#~mf3>63a=W^l5+jL{)*nY?}%sZ*u^j60)ssPrR4X2lzUajcNN8;Y?^USOTN+^?P z#HiYCgQRuTiol-iGL4rIj~t$L;=<Pe3I<1*#NqK_F1F<8Uf0yvxkDUl^<gz1HUsi0 zTTTtHw@;@^bt7^Xgj6^Py65_<1sm>gFAZ9DZ^I#tK2}|z4ae&*nDq?hnPDS(FA36W z(;;Kd#~U0qa2o~jR183FooK-=&$ttu%gFx`9q{JL+RiDR6IAsGzY;^aVZVnyX2U6l zK*5SCKSaSXvsbW|;LeecJ=jM+pgr4Qu3Lz6XsiP(+W}rvENc%uEADPQb&Y<thX>3g zO>MnjE9aW;q5<3Rs#&_fVN72q)-erO{%R~$-g;CNrNHoc^!Hm{oTcgSeLAq_31)1t z48l)Pu_Yj)5JL9}bXmurmIWi5Qw#2miNvwVA}#CZv@@NS=D+w~OfM+uN}oE}_}uDv zT`&~}O-J<bMX8vIlk-e)t_z0cpQwjckVZzU)D~862E?>ry%|s)RO$ZQc;EvA@v?<U zTt`PnSU7Yowwv_7$NSVz{#m(9H%^x=ojw4tNMb{7Fw)C8*@^n2U;9D$DuI4t*O|at z4B+1x%&#q3Qjq=}cP6gO-Qruw+PuS@5x?urH$r4*6Iz5Fn**})W}y>zBY3|H)fpZd z;G#uX|0ENm<+dd5`-uBDsdsp7{ShUzHYvM6hTAei!WjH{!5#~5fB(bfoW#gE4htt> zAUgVn`7%MLG)krR?5dbdeKSYVsmyU$+>bmY=Xb$+P<Bg5-LKFXDOp2Bi>UQ4$@avf zSt$U~K3{f%FHl_6f2Ek8&8**DLp*NK1QHvEhK68@(A3-0hg1ypWTlxIdIvikc>{zb zeDMIqoU(GAnSLA|t@pGk9!bMXzQF1qN$d`GK*ytm_;oO^h{%alfdH~j@T-a1Qqy^> zfrGgRvEYb}wqywAtlw2rlTvZ>C~WHN>`ctUxq?JQVvmb(@f)VS!Q?_!1bC9ss~T}! zj(x2@0~QOBevPK`>ipp~sBGjj56$`8cq_tQOSThIidY(JIRC*5Mj;-w*Cvvq<(-kD zcI)?dW@KP(-0&rW`49Qslc3l5k+U_6*y%nvHKUU`?32k|JrvZ%906cC&^5OJWq!D+ z2_!Fqd8UB>1FF)8oUMm^TO}!mvu3RR#9AC2oIaYuPoNL>vX+jznufZ`O|U*-jp9pd zlT#+^GxU5MxmpX8y|rnV1FXCj^3DOFMdi)K)siq+jE^rae;hlfo&x{1;vPteiIHJ6 zqXwt8{N9spry!FD;dbaRlm8QFS3mgdLhAnRb~#CfP@aJl9MEpw(GX1wi1VVF^@F!{ zc{M*{DKLnrg4Gz@^{pfcRdV{IeM>}{3JPVsoxg!K$UjaW)}lyqNJ=X=BBW{3Ni4dj zKqrG6IP)2vSuu4aQO4rK`MO43{Sm1F@+Iu@pj8zsCnqPRN)osPN2e3g84S$$Z{le= zzk;o;V4{UlMst}+8JUO(+3ya@+SPR(6>%dtGttB{vV$chCE0SsNWW0)Bw<<PxJ=dv zRp^x*MU)!ktF4O=*ts0a_~vPY?;c-C<`ZoQum^bH6TTHD!LUl-3%2ha+FoT<**M&n zPHa4olk+`)erF=qFMmYQSkLh*y^doseyvgVcY{TwsuQ>1_xGhkXVfl62^?g$96GXG z3;{+9T2K^(^*dvWAPg@2?S1%KvRe9xbY=4Lc*GC9{CRllH5kjn&NIC6!o=JEPHZA` zun{Dr7@V2CV+lP{CNiNv{9-A=GWN2Xjto7^{qNBFRH(Q)1rcmM4_j@}!&)F#7^vG@ zJ2SPmRLB%*RYpccx~b;$p`-g*WxZbYbP9h8>!4yuA(4U5l{M;%<Qai_MURl7;;pCa zu=6W%QBe-tHP>H6wb6ojQ-Xle6vR-S0xrO}7UW^{z9i`t{I;(Uq~z_gZ^#~va+6ao zo^Z^`F7&M^;Z?bYR&p8t;aRV(OO^iRxJ@%>nk(@)mPP1-xUcAO6Qa>_qSFPHx+z5{ zDQRgbDJ9J|3{|@r3ml!>u{_4w+>PJ%$;ikc@)Enb3yl_rb_u|3PMYE@B}yULAxZHI z0}R%YHIHfi-7Kp=C7BMhR_~yrqr<=VZLko4)rkL_3Dc7V@$_c8RPN8vk4Kj>!6>9( zNfAt6poqK$HW@#QS7G4k@ps9f>S&lv8{}j(MT-|jLSnEa6+6a%sd)8u7!MvEoKGeE zbZCF_Zr_&tH7{dQZ`0!Izz~!AOQU(8p7!u+@oX@|tD6yBRSEXfJ1ThdLx#~lWEWFX zrXVXjn~$)-G>$N&_y(e^{Oi*RD<uG0LPAbHjUGD_-M?~}Il3aT0muO&-_7_)HD(a< znyB1#`ANOS*QAG?>?KRRJ{}6Ny;(z(r`fyxNl^ku0o1si>s)QHW+=>8sLe-by*-54 zFa0ev@<~o0ao2V-uucJn$(rvVZ)adVslNRWQ$G5K2}+>`N4=E`4hMdLHi_<uMBxMc zoD?Z=$d(;&(*|F^lMbySM(}jadZnk%ru}rRuRDxa?)3G&*lO!_R?u*ECaI%_n4l%x zgyF#BPxLRHm9s7kT7kJb??FgHsc*(Z-e$wU^mq`TsA;2jhZ$;X4OdsykdeEgAJV^) z*Jkehk6!6HC>E2zD&UJI=0|>~?4L~Yzu|};KlCk8Y;zsr&9$#DVA_EzE5GatC;ZDi zDNn_bowcr08cJxrDXorkQ;z_466oA^Y`9!G2}Npn&ENo*2R`Gq6=ItOHLAaYZ!^7t z1jVo|4x7K>h;})y6PW8Qck(`&C1=9=wj)q7SD&>Un;$*)n~IWhtT_A1&P;Xr0SXPo z!%=1}is{+?&zM-mj&m&25rpve2YfaTKMxD6wd(8-h2ql_P1j0?_lj-$ZTAQR)^*pj z#Xvw)_1K~No?^g*1b-&JX!nNcfsu4R-q`4V`Y0ij2lDFU&7NfDA!^gX9oQ(`N9tLy zf9ZToY4At7pT`LQitIi<>~ZUNI5~w1=0Pz!u+udY|0WPr!=2&C`EhA@kSNdn)g2~; zBNPNGz6#nBBL7Jp!;HUk)elaruOB+lIr*vOrzpZ#Op-^Omzm0psC(Rby?&O{ww-(~ z8*k!BF^OGRgE#9@D%tD*tP(1SO$hp@aXs+oCp64a{$R1kdwY9(Trv2z#3TUYB)o85 z^~Z^kz>FJ1qly#*8qJS{HCcZ8_RVJZeLs@chm1V+Uff5<r9vSE3muumVBxq$j07xs zn4FUuGSYCbj{)mDQGU2LijK3IEgwU3i~Gt&%eY5O=4zw~P~?`v*yy_vM`N*e<`+++ z#|ie<9Cq9i-Pu-_NI>&8U1y<mXCd`$war-A-rV;h*_%qTU+ar|k3p@b-U~+xkHPqe zhMNa9<v2MQFv4S~XCo?o1coAF*GKCnO(T6*fLXPD#?qtWmR#;b;K%lIEXNt7B1my^ zsiH;_or{-i{pGyZ{IPE@WYR8IG{YJ<&zLEE3AUt$$4!aO$m}H7_U9yG!BZ-4vX^Po zJ|Dw+)qFl-Pi)v$e{J<sRL(BPY0LmfkGf5B8VE8y{mI?sY?=y{t2v(*K6vC`CI{2E zzc>s|^ZW7>+!5TNt=k>8J+iK!b@)SVk+$;yIkV+oSQXGlj5noFnhgrID)MDjs>w-b z>~=*u)h~2=t})SiBoz0p>#1M)XnDmfR8~YDstkx|^rnM4(e%u41rB>SVU410g|!X| zVWwZiBy(F8^(~F&lOeT%6>G##Czlg}MRHZ&xI)xunXl1)*B4vSHWrm9ua}8QDToGe znAwVtv(n^O@Gn$qF)rS)95vo`rEeigbSYUU^dijr41?*z*}qc0P}i5N4qOZ)zaQG) zVW9^LCgRB+%EQW@KB;~AlSF49w;bpiBe6G~%SKCBoY2;?s0u+)Dw8*z{?pU!!wZVb zUls3Z_L`Br(Zlwoimp+Y?xVcHf6u#;cjOA*Y&$Y(#Cv~~r_r4>ojR`HcqG<GV{@Ve z!1{|B9d~TuOUbH8!0Vva*g${I!AuMs%zBf?IR8peTK~jP;6O#}eRnd1YgF8Qi4Ic! z`K;StG5KFl@tpAA7pd4vPG9{ID6>@iO{~Ol6d*11O|`ZfbH$h9Amd?WE7>`hEu-_M zw9O~*4@D<t9esAc`sHmX$<RRrsS@b=YZeQv*;1PZ{@@Yke`pz=*DD<BlDo07E!Vuo zdHQfa(S^Wk9O6ifiLY(MqiY^mk<{=zbx=RGnf}5Ia0wjb&vUQXSuZU1GD&qFvh(My zKYZ!(+<EEnwR8UTTWo9C91{mH9+J~>9U8jyUfs<+vA(l2ps%lQTrnaF7|>tVb;RM* zf9C1VCwXBA!IkGLQPnH`G-e{1JCuSwWA0<~tEC@Oa-Ls=JR&tW?uR__>kC!y5UAul z0zTx?#H?#zQ7cYw?5A0(5^zB1@%Cf|9Pu=~=@k8m{Kl7uCJv0r#{>9?7DTkF_jp>9 za|Zlm8jG(4!uQ~3Fy(}dMOO)EsKO*9IgUKG$S3kQ(N|mguXgW!lIAXnlT}^73yaF_ zb#qB6j#R79zW+SSwqYc<;2OVRBI^s;{O#aKZz+4~zrobLm-@vc_FsZ8V1wC8vSw+J z10^_Wq3%4L+zWd(0=`Q~7dxuqP_3(a(H(gTId7RgmC=j`R1mYk@s9MlLU{#2JL=Wv zU8cjkI3j!Y*r2&?SKN11f)l2!_j9;ZD$^_B52D~mT()UzuEB0%>seYD#lrr(oKP6^ zK@%^y=bs9ZECI@ZD(`+b+cThNA>kO5y`Q`o{$(^R@bTMd#2Jq|-SNejeMq9h_$C8v zZ{rfko)DpKyoPu#<ilddd)VnJ!I`?m`FWzbCMYIlm2BPD%j&uNr2V#9b-SyX`^(j$ zwTd?lgTjNzOT&v`=1p}PX24l94Ml(2!_F*Ar1>+8kuQf?J{ZPqnDZG!!^;xt{^aJG z{Qs`+zk+7XeI(k||KZ%(ET{tb5p=0{Nd9B@_W#w5f8S(#pu)Wyx6xD&Sct}`nczaa zexCoPgR$?tZR1M|a_*Ab3jw`dVdg(Wk~(q~bd0;pNGgqbWvuX(VgS%wF~>w_^fo1U zoSaSv(7cEe=v3pw;CB803*Y+KWCSAj9O&U}>t(y_nPO59f7kY7z4JPz%ip=R%Jn6@ zt5wzB?sopu^<I)-XqS7%^|EY(06RsO^AThssbc(lOPS0u_Ud9?)W+4O`zKKLNsHHK zN#T}7Qm08&9Y8771RHivS8TRI>npCu6w9Nr^7V+zPG7knfQ+%9Yy*9!DgWT?@rC|U zA15;xpB2R~3R*QkMD1i~-pquG8XgT4&Gk?MUFCDBSc=1RTo`Av`>6A*b_iSjA_lO^ z2Wa)VLSN`Y%Hb}a%`1?hB?o7%e=+a+WCAB>Gw1RsS^vdd{plr=Kk!Hco+0Y4dTf2= zUNtZ3a_=eiU%p}81&7ab_wBf_=vSJND?uTl=f#OrvG%;@<MC0IJC!?-YC9)l$bw1h zDj#B-*D}HH+?$11v?g>yXo;Y|ySEdK6D{x^Vm~X8gyYUSQ?plwE9q0QVa3#2W~vk* z3XOQV@go-v4Hp+nrB*SRtI;GdjG2X-`f`AsE5+1As^i?d%T{dNZ)r(LbYubS*_Rrz z+}gKM2ruVrIh`?@(J-QT612S>Ax=y(D>L4(jZF!_JQ6fE^^E+@O=YgVAUqwGT(fp8 zEtYs36eDe9uHz#(*W=*wp-}dxilKp*uR=PqR{7cj6D^>bBk?{$ih#(tUJITnSc(93 zB(Ve0L4{|)3^hyz6tEr?bQLFbpw*{}vGVY%%TU55<@{GY#pugrP_^Kr>+gY}75&S* zc9wt780~fW=e2>|TanW+#H4JfeKv3&oh1|!yGeR1Cxs-?YV*8ThrRkIXL7>ZMwHBh z9@$^dY>x6<qIWAvw)G&5I7lJwG$ICRUlE6{B%89cU>DTVJ19HxXBuF`L{<XUfq=b} z2}KG}Ta=QfH36Z!PuT@&y%XoJgBE42rwwK9!7-NCw^o<;F%dU6SC@xo<A~7_HrYcy z!ZTt4AmVgJA^|~vJVpHW_@s()-mKy0Jhsn>NjibQE8=y(R6K;^%)Z>mfV-DWF3#3g zAA4jUV~7C&Kl2ohFYeU6*qCHQnn;f)&SaIMhTWe}z!4D~_t2d(;P95|mjuvwxsnmx zNe>}YrqsT@s3Ot>T|&;#V<qn`#~C&MwD_hHpz=$1Mu+@2@(WoIv~ZjE+b_`%#%NN5 ziZZ%yX~C02+)eoIt!>#;dsAp-7}a`5yPhKe!5p>^h4}Oeo=k%l<+<%KJo$UAl_O;M z1&#-96VEMl_Y&Jd2%nb^{$>^Hi<zW!J~$5UJ!PHQu4emg?x|v~KDhXuyqph3%j)KO z_B@y>#8+ZK#LG6d9p`I}8pjtWv2smxBRECqK(54UQ=qY@u?4K0(!g@UKWri9%WOii zm`Vlcnj1Jw-($XxR^k0VR#W|U?hQqI4~(l2E3m9w0czLE?p-w1Bofs1n9SQfbxIV( zL=1b!rZZFGkP*bQv3J)^+MrVyE6S5E0%v$5Fo2?p$mMVSY9W6R<w4&)<aYIW-Sa}( z-o8286L&05`$*!>)>X5Z?n#EQQoRKS56J3dC8gABx?n;?dm4u?=kJvOt+%~=?f|<7 zs2{<bu060n9+C?~y$`jF?G59P+WqchjrW0`qd%9p?vM5c5XQ0;3;_L1*wlZb#f*Yj zk`d<O^jZ!Zi&^F)@}L{UV`(O4AJG04MHr_X8KXzW$BoPF4&OCrbwbr`uw8A+r?zm* zA{4avHOQ*c*{I(7@V4sQug&km4GHUC^ae($pv2s5IN6(2JK62mf440+mjiVfuxAe@ zLVL^UQ?2C?J}QBVW!EXhTL%b$_wO1KRKsTKJ}Om?b7X}O9G@OIB=ZSU&-EyBDXB;^ ziYJ(M0fEP<-CopLt#YP6hWEFgIKpr~>RquEO93$vBf`U>r{I^%=0?9D>t!0GO2i<O z`)l1B7ys3n^PKj<=QMEK8Sv+6(b5tDe#==!mwU&*Q!@VR)(1Lp%Pn2yTuHUjHYj3Q zmSOc{=dP7PIqf@wh%}#0L?uwCv|$;Tot()r!rLWeWo>LRZ^{S@Kiv>}bbHA7l1FGD zev5{`Gc++Pp-HH;X7I%GuF2Zn{ZmV7{lLf*R!(HK%-eZii`$Z?hKB6v_EOIEA3wLx zPI*Uh?0h8?pi1judLjRCDW!DPwT(><>ZSz1DuWsIG#{8IWAzfrbfroKYRNTaze3ME zInI6Jpya0B;e^cWZz;P{n#KG6X8xrDpc|jJ!L7Trl9@DE$paR-rWQv4Mp8(jTT7?@ zy3^1l*Ny9kP}^Z+vRJRxBHNq5^}Ei1_12r)=G$8j*mgleoW$NIb(@g)*m(BXXmWIR zR5Wa1_Ba@Rz>1EmP8_a{V>Yhe`~s(r^&F~nftCXm&ZRGZukGaGb9MUR2FOR(ko{>J zWhB~rVS2PDMWcy4`)cA^VQGSC`R~T(9GK5H4Oc_(DM+MgS8n}zwQ~)xmj+(*4a^S@ zHfO_OGE*<8G!_Fg_6aUT^A{|O>wdew6^5x;wXzgUGr#mO7h|pdY37-$1SDUNt?Iyp zT;vU80<LCbS(tV64th~4?(%%mT(JLEg<mfiFV%dt@nv!iK2it_{_a!NAf%FsBrf7^ z;Z-SC;HYfe;NV7#mBU@+1`?sWJVfzTbi+H*PUSTA&<2Gy^mGt=TCi2YS{n$NMw<^s z++Qwmm!mIYi7Jznb@4$q9ZZs4Q=0A8nP(&Lsic3##If0&^4zx&@t#Cg>w6$z8W(+B zbezn|u3-?8L^-EU<vy$)8Q-(y;#6Uu=>|Vg|7GPtNPtRAW4dR3dV6Lv?|9D-T=*(^ z`t_Uj+i;<h3xP-}+b<;bK{$8?mbv(Qx7gPKG!Nmo5Z=YjPGXb-%WNW(0!OFMCo8Q% z^ZQ7_P}(@nh@nK0z!}nuk;DhhpUGmdW}_NYIv<scO-w0>AqSNt;e|lm>P~!{{24$y z+<_<hDz#VqG_X}@v%%FE$U9G|7!fVZk&B}Md&aXPfwDGw2oE+wTvpeK0#v<tD1Zf% z&P_Nio%Xh~AbuR~&gGQYX9map5=2l%158G;CDTRhxYN}RhgX&XDGS{mPpmu-R3qB@ z*~<FKGCVcOi`CT;Jbi+i{k3;?AqZOPr%0be6=QXFKA&DfWSn1`TC(w)@xMNpiYH*_ zW`*3$_jr@zO~N*YiYlJ44HLpgS<vn51OwI&64BEfuivrMj}g@1+?pCbn1Gs_0K5XU zPEZvqEHtkP%|;=`dER(WRyyXPh8Q@1+ccZDyT8A)V`aU&a6BH!HZXi*-yoh!n)UO^ z*Qy0h0W?}aH}Cpo6nF0Z@!2$T;|F8Q>C_xQU6+Lpw~-oUL$BKP%(g(qJ@7Z@x;O8_ z-m93l+Rxe&RnFN|DVerXKXY?s@j6TUE?r)$rqw)I9eh=t*6~kj@i#wA!W5IwxmxRp z7nSd{)}hFmNFBf_3#Ne0>Qhu`X;pskKopzTs??%b+TR_NNXzviDj90<_?N;XhHrsU zKT|paA1T4P5AT=70>y>C%MvmJ)gn&+Qrw9G;!YRQ@j}+iPOO7+#r}y`n`0`AY0sT@ zCy0vLgr669f%IP%;f0q!vUg>;X58pQ7TA5w%>q&n<DtGTQI>tQ<{puJHvrMd<bumk zj}!uS;(Qa`v`QjGi1YADa=p)B#Mu8w+*`)g)jjEgK(JuJ3GNVFgS$(R;I6?5dT@7l z_i)hQ?gWS6ZowhI!QFynHt)Z?Z_l0X{@pJ#^Cj8rvzI(oOP{J*E5nA{PIpubO~h_I zbobyWwc4QBb~m$#K{8%m|Hq$MY6f8i-HgO0MrxPkUZpheCo2N~)v!FqmuAVRv=Tqu z!%PezxIq9c295}r!=(J1g0Z?kI&sF4j-HM&12e}NPg`-XKKn$>`-`v>IAY=$TVIJW zACS+4{3WXs6Km}mpTuHzSCmw_=`bh1ZEAKq<oY!FWV^}2iy+O0Z|rS6TD>8DyHbjm z*E$kAtySb+S8;CJ!Tt|Z6!ALP0Zre?`D~~5s*`|`6JFKH3b)0)(6{ea?tb%HEomu` zbXNODoD!gx3<j&?^z6<nL4D64FeZ{-1kUDN^C@X+YAP!$D{QD}DJ*Q!dZJ78i;Rkl zii+$f)%~1sY06Ny9EtRm>(;pd{WeN&bfo+^_Vm;){BM34iLWSJML85^j>`(J4Gn`4 zIhes9nKK%F?Oc;<E`oz2TNe_&_#R9Dkvkddi=3zLVHO=7opbRIJ{=H3f`UA#ti?bj zQFDJxNj8Jq<>^X}hB`3?vo;tP^5`7TmtHp1m)b?;v96WwA$0V#POaKPfr;i-dDNdv zu|O&}Bi!^y*LB37pD4v+JX+bL&@wAXEqJs%4=PbI9MXSKrJ&Gkzfo0Q{-%NO9Jm7m z{R0w`1ejy<If6z~23S!czKt3nkOsyf&7`U$Ppg}*5wy1cT3Vu<88zJ?^c?mw1=w88 zMcg)?FqP_UY?aE){*a2WPo}uO+LIot*DYY@q?TWwjj}rSU^-E?jo8@k`kfmiJ=S(j zXepO{MGLy8ZAUEnGTbcbFP!(juZ-~SoH!n41VN%{$#sH}(v_g8_^ul9b%+XK7RcH{ zS5X!={_K$u#$=lyf(r_|B<Aor?|6pHR8$`vkZ>H3<-eO|M7HwKd=`+b8Kk>d;mPs1 z!Vl}LtxhGeFd(LlOD1`DW~{2wS;&nURYg<vt*|kd<`N{<QkgGq@SflEx&jri@yMu7 zZE$I8P8`f3mGlj#ROC0%P@_5qf!UOS4A|kpht6cU5b2NJxM7CPzARKKjyMlOT#9U@ zBSo6O4YoJBL?~(_>9yNo(D|EUhCo{CytIP1ph6qw{V0CXd>wvVLi||Nu!n{H&Y12> zXt%}cj^_rL+*cwkdFas#VPrs}NTI{yCH`>Xr)nd!4P74}#E1{<sntsEAq#t)AHLz8 z3i?&9cRR?Wdq~(j1&~ZP;#GW$rmk7Cc~a-0nWp9|%1dLa?zY&!dps1fSPWEW89nB@ z(J&uflZ#L!>-qa|Y`(hx3eNNmc)YY*1X~157;c?Dq=v*(X5afxcyV5D2U5nuWbs@n zuA;O!&r1*4bI{Yh?hw#4Sr5>2Ev~Ai?)bD{($gA3=`uaKGfm0I)nMT6pxtS3K$HZ* zC4`->CF?|5d{{RP*u0KrA7@h(q~e=xARvfD3ND4h)DMR-aou4sas{{7{h^iuL7xh= zUmlfW5OYg>1zT^wY3H~OXZ9NAU{{Y>F65_)F-?q*sDf~8z?KLm(KAgA+j1YEm5^ZO z$gZG|OTh(dKt(WH4zmU=V>`^P29s_VFwj*p(lc{w3bX~F>mTlxV&rUpz3MT~y{&Ih zN~+a9qG`fyjSKm?QvWxm7k6}E!=vXO!UNV#+4Ub_f40@<>pQ+b$}|<m1|O;ao>4bY z^Z)4CvOS$4uF-&r!`cMsXV8wcff)rUJqJ=&?^aS&R5`PO8%s>ie2BDCiXXKgYejaE zi#*Rp*4E=WOCgYp97S?t!eJ)sDVq02mwSeq9G04d*pCBN6x11;GY9p|=H=bGu(Tgx zr@1VsUUaQjtQR=Zxs#zI1IlJ?i9&jB0Q7)9ZVZC=WiVgNVTEHS^o01jY!`YdP^vo* zFSFPSlYD=DlX)waSXiMi$>C6N?2m;lru@em!EakIw(7%`nG}vUvktvC{ipZcdW$36 zR*sYS{OqinJ@Kxs`9UmuR@=27B)C6&jqErQWs4T6G^Py_Tu)oU_EZByG|)IW#2CJz zVyJh|NR*7Z#LQ=6JXOpC8?uLDTb5t4kGgMZAQ(B{ZnAh|efvd2l&XFfMg2mqkGoq@ z&Fs9!&?sK87|=bw)x@lLoAm>Bp-0QPs!P)7fx@(|8mgXEzumnY)0TJ3p^{!rUi?;0 zwg|Q?WyT;=hwT4Z0e@OPb^yGy{xjdAi4w?1?;2B7X33sXe*F%ch{}j&C!pn$f4@NW z@wC{G`t#<hg2lp9Y#7p8#2Z?@<TIa~z_1#jYH=6j)~vdBL?6EHI21i&HltNok0U15 zmQ?P2+IuwGQeX2RC<`CjHgln@Dzy!N!W)_%aBkLju+npISPR9HGfTSj$f?el4E8c5 zt+YD|iJ1X6tMK=D$UeM8pb-_iovsG#s_HYR6||WjRf(_M5d|#D{kDnI6oFHQt^}Hn zj^ug!E+EsZ(O~GDYcJK7I3=@iveRf{VFPj`t#zAqfwtcaN{Ba6RF>a(u?CfhCrPzh zEG9W0vKLaQ2xlF__i%)ZTy&f#^49Zm*+Y^GG8zwg2JdK*CMOM?ue~)i77hegG$--@ z!ZJlRE2~@ih9JwV+M^4o@BQ>PeqO7d&~>IN?>+^!X5SvaDR;k6t!{GHU-gN%ul_u% zqGEofJs3+mUrjJ3jezpEqCxOxPPNPD_~P%?W5c*tEXA~kRV;#XfaM2(C_qiQAYfA$ z34>fBBY&la&X1nP;$4g*lrxv=FI!Z%UAeWVQAV8d7W#1xZm$l`Rrly_i*mKbtgo(j z)pQp~NrnW^jjn4^7&LuQb)2p3u$2}Ek;L(5xy;o`{K}y+6ymEQRUNxpIy?fyv8{2^ zSd~*Cc0pa-Fdmny_ORw*B%it37E7z045amA5Gybs`aN?C-%s1`nO#eREF8t*lmpPQ zH}fRMg)noZ(4VXY;VKkBx-`QQc=aDCe-h8SnkKOGt9y<La~iv)iVG}z1=VFV{cTur zOzb6r3);uaPL%%cVm>3Aw$p_3*v1qUTc)SdkQ}^h<yCGOMv>RdydP!7=zyfa<cp?| z+5X2Uf7Zf{T-XackuZO;k=FwGOn1lT&7-P@;q{@tda~ujh9q$b=Z5&~-9C5JxcY?5 ziVX@0(>J}iq5z2R{We%Z21MRb!Nx#8RSk1ZH}@a`p2dKBr!5aH21=P}t1^$4wt(d} z_IC@O&2=+at+Tx~*FTFl;1zUTQKwUlU0W_r`?g_fr}@=NF;z=SQPDSJ?I7%njP}<F zdKtez*H)|_hcxy;aM&SL%dYH#f|Qhk&&di@q^7o~TozUf2hS_BMY4o+bn>aTtA0Pa z@s&e7ts^db8q=EAd14jI5q+iMObUT<J34r1R0^1n+om#DJu5>r*|UHaZEnNXuvmvg zHm%)cRcoU5x=cVGC_pA&fT0htj>s$Z*8qmEN{V}8obUwTb2dy87D7Q_l?xNd)fE9= z)N!Y-2Y4roCR}kZrq>0MSr#sX6pn-1Mlh*|{$kw-7&EEz=n$_F3`+c;vJ)Hn0cpfF z7`6p!l2JJ@WiUz)<hoou5cwJIJ_BQ*2&ZYAok$vwapyDB1s2W}@N0=WY*zscn+h<0 zNcHZR6_fxFYo7LUg#KG>zUHuhARSgr@sw)vPZDqqKv`BeJ!hpN(Lk4uN;r34hP-lU zi1iOjSe*;K3>gXl_WH*6zihMt#EdHqT5M(h1$#74@vT*mf-5Dv9}_D7Lv3<c6p^3Y zuXT{Czi<KR#}-U1fs@`v!1cDXCIh7~mt)~&nUN#b+XbTx9~c?w-)38|QqN-wfByH8 zhMyjt5=du4C1Aki3Dh-2v2faksUvaubx_xh%I{27hl-e}Q;5PTKyt?-9xOmky(mq+ zk3g~n3Yn!3-1r>u{uK}9)<xYku-jtR^1V_d{cnMN0^Jg%pX#XSXsbmZwRuwN3QPY_ zxmA(sA#Z|S(P4YQwdpBZIo|~D=txnvbv^B}*fqD8KcYQ#`|^~9n|*`XQwAzZbP}u) z`pv)K4<J8x5Vcu~Bz5uibR*B`70i;I8Ye82r6}!NQQt9ZRyfb<PO_gXWgYzagccvb zZ-Q;kARXFgt3I3O>nw4uE^c84qKwcutWmG+*NU#exf@9<2vSwyYb^n#yIl&hnCe*Y z3x$p%ZH+$7t>Usea+E%$AWyMXM)s;!Fp@~yVDl%iJ~aCPZuk4^tFTrHqkEBfeKRV& zqUBXivhE1^PAI})ip%lZ0tYq3vw~FouiHk1_^gO>@OP$ntFqohO~t%_Sq*J_fo6hW zi@qgE>CefM8r8d83O)MVYEpy8Ru+<vnbTwdY-1O0W0f>2a$ar&^9yoiy`9E-%?@<$ zyrHXGjR@b(<YnAdu!2g-sE+Bck~+<&AwBVj5!yrf$nDMEv|s!gb&>lvpNRa&^-?D~ zRsEPza7eQ2s-yS`{#5O3wk!AKAAY?qed|1Xw>SR>gZ`Sq^zAc)zr<pfRC@34*L{6r z?p<Td%i0qQVbEUV3&;C2T*xY$22I<(24OM;#oG9%M9KFw(eTs9v#!6V?ZC>n`GxbY z0MAeO#1HN9M#+!&Fegq(ztfTMx({s=-u2igXVo}py$izN<<`TOXujHHA~UOhjsMVQ zEi$2GsEI#yF%k0{8o%}XSCI!FGx}fm$xoXHKG7@ZmDSPi0!Tm`mK6QcAz_O{R_?E! z*jiOgEIs56+6;-3=qmFoi~5Rus80-#0x2S~+R2d9^%LGS7wW61Aj-tSC--|(KmPlz zyyvq*k32^0=C2mg`~ItHCuxaaEHku9g~R%N%wLp>sNT}*gRj>lb!E^f?;-3%@=a7{ z@0E9b)@3CL4ar?T8Pwf99n4C<JJ#mgS9c12dI2|0T9^x97y})Rf{_)M)C;ac8k7Lh zlmsK+<yfojHBe0V{9b6fy<J0yE38~TzcQqLzC-YPE7V3#nP-sw!)`G^ob|v(Bxc3g zp)8vIET^qf6-L$RQ~Gz=eVtI=e!xh%C1|c@cty>{lhnenOt%_Q3^dzmHNt8fEVz3E z&AO^`{KaV2sJN<<%JtNwq!h`QW$TsePD1jHx5k@ATo&rSu`Ma{O<}fiZqWJKOS4oX z>88j^!5Hg&gXDqTZfNWuZCy(?T4{cH4s<LwR#%@jmGf?BJdH6_qY~bXZ3thVzr!N& z*?!PWESaFMb`nWD^0$y`*sqFDP>fq9VD^@o_~Cb0%;=z`n$fa+bNYuwdgA*Deoc|Z zm*ZCJeS6;KS!Oe5>%sh+Ik|z9<*WzzYxm#R6U=_7yJa}Yjpb)wZ+aG<t{x?$*x7IM zSP-XDfb)L4Jh}y3vkBp*cN*|=g?&JiuC?pHYHD1SP@Ep8L)JH0?Fid%BObC{J-$;l zs6pAL8U5?%mwKDyg!3g~{G&U-p{kta3v_Z9ixM~zJ?OUS>vYCWZWZ#d`<&|*@u@-9 zrH7^k+w;MBUcZiX#+&-=XCiR=XL_ounC3fXI-IPkFcp#KC4+{7;ND{d<4yAR{fZgD z%E9g|>^z>dcUr`P^RVpoC5$8L@X^_&Q~+)I0T-Q+eDd%o)#qw=`|IoIv6~U4{qFB= z2q~@5ty>W3%f<PSVdnJ^x3JdS(r=jcoyvE18~Qgit-`^<Nxw88tMY9hL-4L3IkWm? zSVo8HH&okAHdpg^gvoq%eK`0(J?)hr(zqROZ&K}3S(ranZ!cFqF!Bo7HRthnIiH}@ z&3|iL?UQ~NyLw>#BIOPB@bw&~6Cs8}=9k&;V)C}ju{2rZIN2SY;n^NMrQ1CD_EO)> zAkN{gL><$eQ+`bS)sG%e>gm^Qmlu%Be-?BvkN7dJsSglLX&;qs+lq2$F0Lkt@t?kD znXW5%ps9pALr0#(8hLR<Ikg77>KQx=KOC-~MDd|C4tP21Ikoz$x3)?<%-lYYBo1%R zbq7yXcSrb@TNnDpn)$i)Nf3XVL9PW(clSR#vAuDBlVW^sT%)XBvwcd2E7UGZ<U-mM zL)lhow&pTqbO=68b<n~`-&OK(=(1g^Ar}<%S-!;K*f6Lu8jg*H9%q`bB->nN+W)F+ z<#Bj;Gb*$)2XTU4yP$(!%G4V_^S&QuP&I%0(*Lu|3$m5>;`F;<@(CG=#E7JuB+nh{ zvGvtQJ7ll^l9=a_r+s!wp&XoJN39pl>Z&u+!JWREbf+m#Q+v8b#ZD5pq%FdNdf>L~ zm2u%RWG+MPE>0s4!#|h8XO4B}J{>d$b2Gt$Yw$a2YVA%G6m1`pAuSO{9i(gg6IpeC zETbE`(lg$emFA|puxi*5gdV{hOTceXZp{YXF-@lu%oFgNkF7||N|56Jdx!Sqm+i-a z;_EW~a;2@kf5(!^6)s#A36t*-vc0`o-D?orEkB0<?jPTbn%~&h$69SnE&Q}KLmN%Z zANfd+sH#}g%z;i!Owf<AiK>R7Uy56XbbDUy#CldcZ=54sIw$Y$TXt-oC?VsHv)-X{ zjjEkQXQ=WKM&+gY?;gV6`+DQJu4G&(@KLARnbhZlR(VbHv1f<dz>tBW-HsJhJy+JF z{9XgWi+9es-i}0|rk6PKE`p2S>1@MENRe{i7`Uhqa^^nxxE!w=DEEED%6i)#={!`M zl}g)&eD(AAt?`1Lhl;EHn(Se6(&!hxO3<cfW-2Ca*4+Cf95*7#ZwVb&G4-F;&4#_P z);60bWS?76TQ8&ajj8gM+CN<&QnuZ2aRJAP)Z8gu3W{&lFFIPT_jVRB7m>D-nPSTJ zxr~Z=%qcoeRLcf@_-+qcC6WY3WfjM6L|#fr4^C(Nk{$v)??|8jfRU*&w3z~Hz#Hu) zE~s~;=W%hRo`FObziXwoNsmQsQWU8}7y`GbPl=`1p@jV2>6Ew7{I;Qv?+?~C|Jpu7 zb0O#4gBxqY(<RNxq;|C8ut)sEfWswhx4a(qLZKj3?STzBZgDinxbl)nb~^B&LA=9R z6>20b2jV~Ezwzzr+K_hAeN$5j?a$5MoR`x;C5@`iH7c*ewzE}U_v5*;=t}WCcY<QE z?%;3)5)Y^4HibttQu{Lq)L#Siy8BOMtLsF4oJ=Wa56$;4%EVw(EOTim?!upvPAKTD zV|!Sa3O`?zrX9l9QnwW^g<5?q19qCelW?+J(b0V;iy;Yy$<xxP{{7vM$}qaI#YwS# zDBNx#*S38v)dfT-?7xMFTx~g1U%l39A9a^Zc2C9kmu5N=`6cDcV$>)xRa=Yg?R{B; zWVqe4eDsF*iMRI>F1bZc9)D=(z@~lUDQB}2!6Gu|haXV^=ZOfoRFx@QB^>rbUR(b# zakLg&&9g<<Dvs-1tfH$6hF`aA`k$B_<nW<!6p%e^`kyC`qcg<AI#^w=A=-q@^p<4` zT;I;*I;ogow{|EC&y<)et7B_}XV#9TA7*A|5)%`jo}Ma>85kDqbenJF-78UkvVWx! zVc$O)T(tP{nDv+YMY_)yb?o-3pBw5hQf|cm`t<f1a5kz~OMLK^qYusva-bGg^!Dzz zH&}Y!-ICwX>s;wugZdR1^r+~?8zNf&gCcrKI%g)X<U3TTAo8)0CLifg1yfQneRw_2 zabxS;cS%)tiEIOU{XWO@kF_2onXLAQGT(E4Bhn||Vxid#-B{5}ZYktJidC!Ghb6HX zD2X_W=nV0vWi`J0#$-HF3)=?lI<|Xxdal}1M7#qZ4Hf#Qd`XKL0wnEjd&5)CLCz;c zk^{{15X*pC=j}ZQ9yvL?FNOlOZdW71g2H;@ZeDhrk}!wf8|<eX&c0HAD;^P7=G}r^ z4Uu37L4^*In?ii+ktDeLO@EEeM;ayMTVt7Y$R5vx&qS1+B-h2PWjKXWJR__jBJM0U zENhWADREO{h~e*1^sBgYP*u&l?&e0Z0wDg&FOEyq2!en7pbmvT>1HHpI<P%veKz&G z+pPAZoCuZi7V!8r<|h1dt>M$R)-D(?Xlvr?C(bWRi-~R$bmW@y9scG3oj8V<(Ymtv zGg!6lS99cN(J%clX`1@CB~%-pjs)^?0>q|N`=<-lv>}}O;914BqKFg>v_B!ep9R74 z?k=ZNH^=&H?d|1zy}9#PQo@Dbn}w!tEHGy^R0$qOlCP~iiL!ysSddig9lcI4#M@uz zVBqU8B_{qNb*zrgDW%zmFrN)^PR>rUdwh)?z&`!(jwQ;d+98CQ3lgicQ)zTYra+69 z7kbLDsItm<P4rNa->Il)C0F%Rx3r0-ZX?<AZSVU|IJjikHk?Iz($C;Gq-$QJEQ+~Y zNBi%D9}0q{Wxw&B&naYHtp`xjx}FJh+Fo-Ae{%m#8v2CvM|b0i%xw41_({$iZSvmg zy;D=?myFeJjyMscHUbZr<Dk*x&#)@KQpC~BOBnDZnK?Hemlay6Do><xXCK*5OfKg6 zb5ElH#jm@?)D)qG*)WJ?$)-Wn5Xfm2h)|}B41S<aG*>Y{yQC1-X<mLL{^;6!UmG-x z;R8OJq$+-A$k;WRJV%eAw2=VW{@%FLP!)TabzYEpq@%2*^`)-0%GbT3{&GqS-X+3R ziHGl*ie!myqgk=MV=10Y;K<8IefRH;EsvY<5;|}X$Udf1iiv&0Jw=<k$~C4Uf>m=~ z@w7D#Irxog_oVCJm*-!)H?45o2Dt(|7i=tjs|efQA7!_9`tpc47!S0=g%E^mB9Bz7 zJ6uoN#y#5Uu9wkuMDH`Qh99jDdePUl21@&~AS5zJ_MXTQsc)j$&84S91~ALf)5uQZ z70ic1pcc%&jTcf-uLUXVdkVY<&vtoGo%|ty)QE^`xs#<y>>m~MXo*p^y`)^*b+zyY zO5kxT5O?7;3QR*6rjTThu7VhtR|(!XJq+(&oqpyk<iWj^t3)RzES-JFB@qt!ZNO0( zASX=ui7|zi%BkQCq_1w=sBEK5)x|L4+(+<$O#c?dFtPsP6eS%C>Hgr)m;R!x>gGIw z5M_`luw&6hbkmm~=U;LPT>7~ihe-l`Msy6d7xR*)Nju@*UVN&N{-}$iZM}E(Lgtv4 zB_W>Vft7=)YIjb%`Uy5u^keTspal%k$oi?-Ukca*!7Ug||Gi_S@6-|Iw&Z|NOH z#s_iEWlXC#lx;@IbF-8}vE<VO()>d%OuGh)ue87+rj@>?YHYz(pDr=6!UI0iw3&1Q zM4&PYBC!bN19Fm97hc*tP=_aj>&JPqyLhP@=*jw4aW`jJ<)8zZ{Ns?PdT0g%4jOqg zx7O~~wYN83?(twcq~vkmZ2C7qEGO7GPGsn4-;ku!>1O5ZbRBj7oVW2jGoF1@_A0k_ zTLDDEjQAEWKtiAMdC(*s-H9?_ZS#v8bPO{^&iU21>BLQrREePmxy}j+9lQ8GNB~D( zTy?1ptwq;1ms)S@bvaduxc3Rg^nj+<klEJ+$WyP82(8Zs&j?T3kPia$Pko9os}O(9 zOIw~0hU<VB_}^h}>Ao;r9AeLgzJl_Pt*K$-y>Eu1Fg2R<^yFmbS+z<nTnc09ZrBl~ z1JKaj&;(rO8(sX|-FnjBs=iqD%e?17$mL5%hn}S{a)SMoP};x`^+Z9PIn<{BjoT_` z;fwkW@7W&l$OX>p*TEe8&yVI?Lha?qd*`l=ts|F{l^NV;tayA&;-={`vn@%$T^?U8 zlM)Wryc>)&dmmNPl0omp3_SJzYOCT*Je_zGtJ4XP42fdC!M7H84zHZpWfV*ml2?nd zrCfA6mGiVpVfnmKNR~YJ9-G?`=%>ZscbdWLomJ*~i}S+nDW^Hal%zTAmf6UL#Xpw+ z$R*!|7JJi$&4XF!MAOr0NmZO2?P1*!AXvoQzHxt9x>UmJO7!HLKj22oqu;+UQfvNZ zQnQVD%2la`2Ds6O@Y^<aUZ_J)uQPSNG8Vt2tFabYN?#86z_;R4iEcuFKsSS5(Fdun zcgdF;y^lYLOKs&A9;KJg9AXj|e)yRjbfi-JSt!Ml*F+ZdlPFuW`sUjcLdoBCT@%db zYTQTRWOuDQGPhOfPML_`+);)5VGw~;Bb1`DLqUR77M>&+jYMwV*joT)Y3)v9*#d1_ z);=xm%t2M3g~8Y8y)i_)R#MTa6V$DXPj72Bm?nRzwhk2PCQl?Ly@7co<BMZ&373?( za0z2T*--$UBFpC)S7+W8!A1Wz0bAv#?ba+<|4B?vPX4$*;$2yNm_pnACX(O{C12&` zG&x@>k%&HU`j=#i=}4Ayo?<R6TUZ!vjCQT>C|;P7KLShludu|5fY4E2ht#@DJVP=< zdMQUq-na5^l?rySmY%u3%r&SsmbG|Pbg5i@;I({edl8(u{K&s6Gd=8mR&y%)vzut5 z&E^9`qrV`o!AyIsciU-QpWGNl>G=n(JaBu?kx(%fLm(HO2(^dlwgqVfv+plHI~(f| z2sP6pUd-d#$eT1G1Dn<+o;o2J74VE8GNmR(%|oY0@&(g*8vjjpOBv<LA+v)hiu=3t zFhc8>K_Nb>?>D_t!&z*}*DP;m!ni{t2I{$y_0$Mky4R9@Hbtxm^}+ha>3Hfd-Bo2{ zyuudMn&Fbwv2g^F$QcGRXwEn2D^Fc~^V)Cji%Z!63h+ZUMH_Luim?9Lg6s+hlyjgQ zjPl~_imuM*6rUU2^NDc<S?9UA9x)>afl?=vl$LS0&!HzZfUg~?v9O7m4pr64PDKj+ zk;-XUZj&dE+7T6U6Ur0VvG~h3G4g4+GVEfGN*E2ms5{CCS#6Oetr%VPx;!4Jr@dqG zcyw7<M&gg?d#P-ph7nlIN3mb%MD`qYqt}ByLLN78{v%*p!ad;;D_muezvAOS@8&eu zkes|sb&AW&=lb-)Qzs81fEs2Ab8!_DlCfX!^lt`}&2KY#18gW2gfD{~k~J0HBiWh{ z$AM6NsUM(6Qlh~j*4oGr%+LM3{%h=qD&9Ujb5mzLs+h2aPd3P0xjfEWqdr-}o{#f} zFSbiRH=<n{8SEVlHBjz(U}>$aY?>G6DklIJQ)hE|8(pg26qF@_v2dh*Wq>h%9~qYx z8w-O=$w#uK_Sk1(J|EK6l>%kb#Z+WKtUfL`!#&=st4xOSaZ#3*IJ2=Gyi%KyJ5O2< zOO0*zLva@3eTbE#D8|Eifh{bOv%uwvJHwEuv~VL8tqxOGnuL0uHIsGRCtX5?sOV8w zWm6b|W{rx7;CT3pzkPFvalI9q3)fs6F7PwJ;l6KVt)#=LfthZ^uFk#4j@+0tT-R}_ z5nx|$g^EBsMQJW~_}&3ugp>u})yAlF^pa>_xc8(F@}bV$%|Cd&%G%=Gzq@Mobf2D9 z@34qVO=RW&YLDZLO{Ylfnd^h*LH<>#DUama2klbd8j6*pU#b)=9%P8Rqu01bX8Cr; zGf1<_U&+0%Gz=)(HWahk>pE4dwW=}Cq3HdQf?wS?&krMt@Rgz2IRYz=bktO|wbbku z+(Aqek%YV!aYRcUcIpJtnM$&{jm%f)15a&(;nxk9A@J)J`c?FhM}Zvm_&k@F>j$Ft z`i(R%rOK1CC0Q?_QFD75hI|BHUb><cb=}M)YTSgRBtvsI>-`COi8Ro}GHL)N;4W%? zHO@efOktmY=(L??zA}7$9UXmrt;&^PAJY~wV)%3jYg?j}$L~dFu~XIek7+ORGpba( zGBg9gnOf{F47AB2X@x=D2P02^wAxdLK)g{<INWYbY&)&Z`>VtO+lSq|4sRmhW4xgl zQWkaE&MI7k#g9l17N=ft5zL7vVG?+<F15C5WQYKn7>JIXl&Sh^Y)P2RW>Tt@0vE_h zY-2?*W0sj@ly*Y_96q7HW%_^~($CH+z((|sg`=+HsaH(*U;eu3<pYfi6o7%^?Y<jT zn?qTISw0N;tK}}xJ$;_&A9FzNo~4zc2CzWi@1r?jUjNNNO7czuC{jeNm$Os^`_-rs z_|rXNiQcHXDu|SQv9YkCuC%|wSznyCJ|Go+1sCPvFvnHb_s6|zNe(=r)3g>8Ch_{4 zQh(7`3xkaKH~fTG@4atCCBLKej*N!QH31s`m?`{LR|+tUjB-+I^ryjiUneHcjDSt9 zr|C*@H*;COUhn|KdDtBky%9Pf2b39fOR3*Le#pS!MD^cib4hPBqo+wEy^pZ+lzmym zL?R6&J|_`@LjeO;B~b#H@$hVbH}zF!>Q+s#A!b}Y21Jn22{-LK3JAp_qqslvUPXk4 z&kL22FhHmc3PUkzEUn3%2rz~8c|qZ@h69P=tq?gWoq%*!=eAIWl#6^?b<4o-9A3!a z=Tx9`O|UCO;9L|zVXi@;D<%#6|C8LGdwLfS`&XnKJQSDI@Qh^_$Y?eYze`?Dj)?rL ztn6f5*0tiVHezjR)CAU<|E7vs(GaA#3K@#`C3jw54$Y|Aey+)D)inbmSkK(VP$Q!O zWH2D%+F{9w19+pFRaaJ&v3Uu!t&Z^$#Cnl%9exi|t*&??h+xii!!tmRKs$q0>m~!z z;1`llMgOET!UvZN+<Xsoju_5T+~e2%;%x)syPP=vYqVM_Y|8>PyVcHMYA>Lt>{q@e z5rs1WRH*;y%TSb*>Z?0sM_{kmY)pa8lerUEz}l|=d>HSLk5bg`$4Iof*H+^gpn#m# zU!!FUw=!8PW%I}t1~Q<4gW&I<D*Qi&S2=8O?tRnEa#_Lil!UZIWRWVw)d0XSaNkFr z83wF_nF1RCVz}k++=4=YgvDCZK;|&gl)+-A99H#_wPE6`(^ieJui~Q)Ww1Tp!1j1B z(!EM|nS`79dVTLyeqek}dBuw6nqY3GWC4PB8Lc_-*@ZhWaf!kItZO`vJ!72aoo#hH zoD9kD4N|>z2{{Oa!%zBV9T<Nd(y6KXrDsrc6MIhZ=JM<K_uD|1L>erX_RUZCl@w`5 z%zuEQoy)6jP{PZrWk8Pes~6hZ$msg2FB$+K$E{Q}C&_zd?{!|SBN6Nx`f1+VABtqg zQ;&E)2UGerv4!}}3LsRrDy@`_Ee839ST{Q&h72wzRo!&vVc3k0b}{`gvzgNp@UP5I zsgg$>o*;crmI30=qqkk^znwmLP_><S#oDg^_&c*(Vc+%K)X}kO*Szt=XJyyP#m&v{ zZq4oPY{RX6r^80aIc!@qiOwj%V6oSy-V97A^k8kOCOw6r#;KiD(E3>o5ZAs{S2C6J zh(v@`$48gEjK8XMvc0m?&~Os8chC4e(rLT~>`WfgE#4rX*hw?N#JdR4VAH9+LA(-T zZ_sGwlA~jZZ^G|<tm5o=Rxro0MnX9`a7o>iv^1!D16QLPM#9bPSw0vND%{*d$EKk# ztFhNM*K9GC&S^Cm-Hhkmbf+e(Z}XeT1^0(wjWs#Fkv911nkbt-X~e6fAtwTC*||s) ze`VS$r9j>!`K7+Sd_DPw42}E2dJT@@{nXpus5IU@Bf~XvC+oe0ER06fh}fS|5_r=q zD9GG_F!LX|w@PLVRE>W*f?9QH(7|42yUoPJx5UT><~cP_6Qr8CcF`#F`1!=s@TT-e z`rxaEeHD#q)22{lQcOLMzt{sQxy9^`_08YCwF=ifiFiwzEV@&36KeO%I&*9k{$);q zKmIp!N^5@&Ly4Q~!;z5ld}PQkn+If%IRxFS$um5rk)KO`Kgggob03$o{b<zJM`D;5 zm+rBpK`<LT$2>gZeAJJuJ)lNtmBu-+%lsa3{Fjj>U)E|3O2nl65`m-eZ0pI4GA^Y& zQ;u5E=EZrlF8Z{Lgxcrs43#u%qHpcx28qk-#i{i}>f*oMzU!(g+Pjq{ajclM21($_ z-(39q{JHx{V$uElWaw>cXKs_(a0_hiHs_-fqX2P)2i9k+4;|saLIgNA9J^YrSJoo0 z&4ceQ(N1A&KmbX6OgF_-9q?W{`Q^<w6Wue}f~xt23eqX+#gulXpW3<0UWC|tO`l7W zIhiOnXf;%S0q<HxOi@J8kb0Fd9YpEYmf4jt_=%i92rs#8I)o+mc#)Vgm?qvaXhxKe zGdA`17@mteUpiIhAhHPFL4$32VTAyR-S{%Z+RLxYe2he7tC3q)sVb4x7$!wi9;9Dn zGx$ygbEflmLv=diZblb%m~h)_uX?Km0)F@hM8HJgJS3>O_negMYeKj2!8>y4gmQX7 z(W}EL8JpFwy4?A>C11qu%SE+BotVV-(xl?v!pEkD2F_ITGYzr%nD@2!<(W17hu}Fi zcYG{*BQx-oyVIh8g2COdn)l-tyPsX_<LdGFj~;iP)pG5A@gl>;<fO8np{kHQ6_<9m zxh4H{7jVMEo{|?I(O<n*iBw;YAKnnmVULeqmhixunE79ZiSzX{8y>1YY-gRBs{Pi3 z1NJn}98ZB0T^;O?{`HX&#Z4hT@_hT-TA6sN?v4{3yey>$ijttUMILJfchmI_-km(7 zU8G@t#JSpwfHFGPr_F9UL;6yAa>JB#4VJw;V2NW7!$~%Sq~#B3l94EB*$JKO*i@d3 zvut^yCGc~<XV4wi;@7V#zimG-4+wg0n*Q;9<L^*@ZZNr!Uug85gFS9*hvnX3Gg7*d z5t3FG<j)}l1Z6CWN{gO#-wK!z*m$-gPJ0E|y~NTRbzKc^7IF#|d0WTYOwTZ9l=&P4 z733q56!>}+Sc;T66Wx9|rVh6=X4r!XpB8w(3pbN%=GHPq|Hkr4dn;|dH!8!K;7;?M zlI=jRGKYXMuFj@p=ZNPcsKNxC5NPqWo#NK1?T9<}FC1?jz0zAaaf=D0Zqplf*>+-W z-2)=r09wA{4p#H8IL}A3`zqN<Aa|<r<e7dT<YNQ}N4S{7jR@I$sJXpLg^f2{0uO8X z0z9qu+8+|y?ZAP~lu{K_QLK6%*FL-oCQhlU<6cCio%?P(m}RbyU#k^N1^*r(y!gKK zeRy}YXH+D~f!F@w6j&eIVC4+Wj)*x|G_y5W>d?Dgbq?HxvGaU>AF7Z}+?vWB^1%;- z*o!7@*;~x@<FK=sAjuvo7Fih)6iSYP95PY!csakyd==ku;pMboZH0lXl0_j>8Qr@P z53@LhGn|F}h`-Yeliu1Cd2myP-sTgNg+9v#>Fw7T2MofhT0`_S1XPNGC1WDSeb^}^ z28ZvkgCjg57e8^vx~$PlNQVRt6KHxIw9*atVqK2u4f-0+VfuYjQBWzUG`kCjZ%}zg zl1!9-<i^x*z!^G{)Q673(BCdCa>e;N&4QYiBrP)<3|xTXw&8P^<F=l0*w`b=BRM+b zd%I#eecgn5tn;h^jfL_Fx*RJf?A8e>$lOPARjeZK^nz3U{v$kXG~~UNe^%+I%rdeG zjhe;1(`PJExXeUy@G+Vbk+;I9^QmADRcSdoGiGa^tJv$0TQ#nFdBr!Nr3lKl1KZ=g z<QSUUKvISL^ArM+4r4oZmD3*Wp)Kqj1nACTR`o*JSlwPNHO44|aA$b-=|Q?T=lzA9 z2BJaQ*TMlu2e?U22~hacY`X~KDY`L*$-W#V*(hEobCk4?Vvlk%ZYSkedl+Y=MRL59 z?N}}BsI^hRrOM_aloa2g$lK_>zM82kSZSL%%7z>)xa|6XSnotfb$@%!nt5>M7=nWo z7YVuTyw7_O>RV8M^osHn89G6ARwdYqFs@7?Y2`u$M&jvP%M(zmRwVVg3q#&#D=Vs+ zpvk{4zKSaPQn1&A8^|w1LyEYhD{XArx%42jPY|s)I+;J!E)1Z@VW`Qsb5hJq&)Ut` zECy8sv|&k~9$%_qT$1<58V#eU^oiCp-!$Y=8%XnM#3xI$6iS1#k<~tp^{bJ^u;;pd zG8K+k{)B4s=Be1c=1(0BN&TB_KWv($30|AssxMZXq~%6s)@X1HT(|r(pj!Jk4P?Eq z!$amJhgS7b{r5DN*7Ev4_gaSq?VIh3jle-ZRaJHmm%Ad4&V{J1n+!z3s%_MLJ&4>G zxb`M+6-poyYU`mf$|)u-$}lt4Vuz9OA+lgc0)Frt=Na-Dx3>@4au}MP)fkIY+vRQo zYk0#y+&j()@cpIrrF`uOk(h}1>8J|$5JRT=qaB{G#{%JzXD9bhDVAuekr%wg(WdVD z>t+!)k`B`xv`&YpsArHJ;cFr}re#!ISF<2X80O~65jThOs8|M!Ag?cNBvh`+vk6|? z7hn)(NywSBIn8?$gop|BaepZZmDi=}Q=pjc=Li;0w(X15qcbWrT4nC1)@wdNEW#?r zwD0!!UxarczkdDF(bcuFu|Y;g-j^dh?$+c%EV)L)jgzeNsj+otKu3@$L75G_ux$hx zBidJ(==E#{6MKkcoE;RjdfETP;ut#q&{m_>OTLX+NL)93+#(X@_3%MX;1foODJ>~N zYd<tb&VFD=4IZPHyniezO(CAy6W=|ST?2_5`2;-;29^S6p19tiJ)>E?5T9cJ*UjLu z8pUMttmMYRK6ZRU5)}&aQM}pE!5_RsikJ)3h>7<n{u&a%wijJrdgyy{Nk*2PsX-E+ z=X@d}ZM^xC4gd2HKD;53t%#%53_SnuaLtU707R~LxL=*%wgVt7ytybEpujNJ-$o8% zC4oqRsb4#Ea|T%R(`1AsLjTq)8axE2*-y1IlAcS+hQ6VvV-X~IKmAcYKjrOM1dU^l zAm?-_=_2!$97{j`CKJJTH2x}dVtq-?3|cXpbp=yVh6pRXN=-bD>oOHX3Qa>UuEa7W z%E1~mZO`o;XYVCG>i{;P1W5EWnx!Nx&Zd{X{0M!N+=v2qEZS7rcL(4WxBjg&1NFOd zgJpr39Q|@`ERBHrShQaIepTrXXJDJq@wdVN<c&^z5>Zg?LaeyCDi;kg3WSO|Aa}r! zxjuV~+ZU`CT$x=oh8VBtK<<4rnh<+flk{#Z=r<>uG>>oOZH<<9qM&!DRzGI1*DsmT zW3e|Bd|Il}CSL+qCmFPt^<C4Yg0{eEQ{9e61?DZ3&O;ZBhj1s1iLysh1lC$*RRXCq zc|x`P09n9)axwB*rJF!vaeCSb)MJXWB1J`G&zGV5`LiSCemONquIW(N^M&(YG`>*R zsUbPQ$I601o~Wp}cQjo&fQOt9jkX_;ACE`Tiepb>JA9(A?SyPGJ>>DYin)1ZZGMk_ zRJa+qp`}j`V)QP?n8FcRVxfq7wv;&7;@+~4Gvp31(8cCpJE;-}cW^rTOAHy)t3^uQ zqQ@wkgm&Y9T|(a#%Z6?Pi^?AJIJeVbiGQ;tx9WR<X+JpxB2@bAK|7dUT4N$I9Y7=` z0_e<YbRt`JHgLC0ebCb035II3GYasy!l;jDHlHA;TUazA#LVd-fE|C^1@rW})nB}P zg2}2ZP2P&Ma@C2%qeeA7-|OV?9-G;gselgMf%N)m>Xh^YAQ3+eJy>^WOWG>KlM77u zIGznuzE>;l)Ow|>_cYX@(7_C`a5G-=c1&$Ni$4|gh-B7+;&VwBjagMPZ{3=RY|v2V zCCpX56Fu!dc>*2A5L~+>P<S(+Q)tIWlW!fSgreXY&n!_cN9B`Ir@)VpYGMBaE~Uy@ z)IBaLy#!|f3b3`IOd(o|eZi?gn}+t}!mZvHa1xm7O!fTaHYlOx{;`fJxF}0IparPw zz%4oS8^o?bjhF4Lsw~CKDcEg)PQX102+b^rW)6+cbS=|pv=)dm?sYR0b47?TETO@D z+0J~P_*8dndx^%}Q3deMKf^C7ebZd2)2vE%7K~2dtGq9$a)`=SMk`GHS*G7hTNOeo zJFkm%hP79IxbO<m7Vdx4AJ7MZYH?wt75GhTXmCD1YlMz{cY!b@Sa2g_ee8);Uq(HL zi<p3l@u!i{2sq5tJ?|SR;MnEiBN@xaS&ThiOHNINSqX%rJ7SMBaCV<e*>nzWBVESr zof)qXc|zBRRL<=Me&};u%2w3WjAO<L^-Xa9(8Gj8N3Xq7Y#<=kb$Los@`3M5-69`v zUXiag7O5nd!*M77Ab`$D5R9BM88}IrK9f#Q0?;i{LmESTgem}oB+i9QfTIZ4QIMAI zSY>mLjXOcKW&4hCR0p6Mw95r+xoCjkkcs}7uwsN_fI)!R;{CUISY9V)j+9wn0Zy<v zBVu&q*(U*Jfd4fWpG_m}!eBp;VMfcv)OGhO5f!p4v)-LNsCMxh%p%alx3C=l%5BtX zPn9~*i&#i~5aO$U&1Vc=M~r9X&1hXJz%MLVD^<iqys}0Ag5@v4tsJX*30KTn9QjIB zZP(7%PK2rf^^G47lnPOW&c@G=UlzIRT_({=Z3K#~*YGm=`l$loHX?u{wcmXLc)9?m z>_isUA~tmafHA|1tBiHwdW|0nwZ-M6&qg|zusC(m$LWo{HTWNDfyejvzpq0sL`I<P zpE>MboMLdjU=5?qtG{;TZU3)yEkHh4+$5PK=|HLZNft(Ore*E`1ZEOl;v-v`SN3k1 z(Nc{Er?jf|t+4v-uaPo>!-D$dNICKS?EC)^vKVN5e0=_6qplnAuOIt}9U2wtk`<`* zMrd&Fr}ZaBez>0KNJ@tEZCTpd1`pM@w?DR@{Qx{~f2^EvNt;c{sfqmKlRm7fq$v=J z6b`6j%f}z-JwRmg1#!Y=V(`LQ1{+UHOYgUB^R#V#U~#GpqR!HXzK;_Y(U+H(SNKZ& z2Qs#vY1#E1$4J6$_sAXz2?>buv$nR*%*@=p2oAeGU2EU`c64;a;X*up&jXN{%sig6 z^2Gbi=o%Yw0CeB}9@SD2P9XW+4Yy{sVV7O=3NW81K)}ne?v*kOB3}9fF8b7@`XTs> zE|m<e33!{X1>nzdBVxR`2VA|E<K<9KL!{rTDl02b_n5AyGn$E~osd6>gxjg^^_26r zhJ=L7&(FKKxUhz!ktn�DdCC5o!S%u~+n3fspL-q|g{d2YDi|o@IQbE|2|~D_z9$ zGid<7@b)I18d)Y1D|mGHxv8`?9Gw`{N--^2k8`er0R&y@7j+hc%QDAY#sLp<PHh3c z{XdT4Z(!RnB8IhrxvsOQ#zFBPK@mT(Y-)63`TQ#+NkSJ|3Iw-k-z~A2#cdB9G~dnZ zF0e&@a&jU`s^5?WTa9N2S0M`Gr$GgdXoygvx4=r8mc~2HLL9yN4%I;eb;!rhe{@9X z>g#Je^rHZ^S^wO;hg1y;C%g^@HKyvs3(bD*X7`3LL<Dqma|6UC!h?f`ut-$g)r@su zC!)_Eno*R}MPF?M_Yg*b#gA^!^00@P(oBtBcUhsX{U|5VT!T_T=!Cw$evCp@{eIm$ zQvP<+4YqK(FyT@tdUP{5_B)a_x6S)4Q^S-L&F*Z(ZeAc#*za-cf=c2J&njx%5UGQn z9vuyCI}k!JK^rGSCBc2>plx|yoWxIb;%}y<8sK$z3Oy(KG_$vt%CPY}=fU}Q!bdv) z(d8;O==@Dk!}8?d$>RkAjtE?D6_i(h)5)L9soHvr7w^`x5j6cO)=`{dN&ldKl)3d8 zxQKVpaLc_6M;k7>0$<bzgsTf&v1%H+O3VM0QmIHxfqbJZu*RabxQXrm;rhH7>Kznp zhf`~&{e~S#ZBcERxX5gGfVybvG0D(D@NUJ1RgKW(i<#jAAHyROY(p1_m!Xt&jIc$o zR9(Ol?j44J+_{LTb6+1^+<O7b^Ols9G))cl+82%cStaw<UU8&2dQ5!>zctpz3+x(! z>0P^Ans;EJarI*CX;%fq#VnRtCVU1CA&~xKuw`duZ;vnu1-kQ(g8Jh_&%iJ`IvN!f zWxPimED(Z<OB;ByLdFdgZB(lMWC`~b)p6gJi%`Ji{9Dfs{5xU+&vU3=Q^a?a0*QrP zI1v*c{Me>rr?AgYT|RE<X~JmmbrCvoe90zcqriNw{GFKJ2({N#2lJ)kBRStWyvSd) zRgQD|fO)E|MyI0%rtomMfFtsF7>SxNRCwDyc>BC>T>k?7WGVTJfP~q-e^WGQ2$h7- z{Tgw!r%#3mbnc$Gf9+*ef4M<fku{G~!#@2{FE{(cyF4$Gms(unZRAPv@(oI@t^fv+ zb?i-OGG%FsjBaE&uu)IxacC%fcplUl!O~{Y8$w26G(w5`ch-F!0iz*0192Kt3!BM7 zsJSfeQ=5)KVQ3_RVxV(Yb_8O~weG)z#)_15o01?Ljf?4dy9_FX@A5=1r#C+@^rXWQ zeqnuOONIIJ1+Bj|Fh-Qv9o|TQ%W*;U9M*lH8-7is24jQx0re#q3J~fy<#?3FNUX|D za*D4CuSFsL>?uHaN7l!CX`8r@?E@P8a}==vTkZb|gvQqEVC7-v7$FJ7l#jwLY_u^| z(+N!QkQTvK^X-M>!MTGebNPB*rgq*C2JpF0vsMKSyVV5Hl9$GG)U(=?f%7#2N+o8} z^%-(^5hoJ%V_Wt%WrL+LBbW_daEGJ?59o~=Q`A2e>vM?7>nJ?v;!kuo9q67MIQYfI z@x$5hqQm|C`{(UqEs55`TV#9Oa~%I6D6VuAWI~S}*hj)E_^S8TIKny!O*E5ujw7{p z8t(AJS3kY>r=+>#yByPpWRSGtA$-+-@jTf;!1VsiQSZ3@`Y!%=!D(Dmx=jTT>to6% ze>1%yPgDH01UKc)E^^8}RAuHldXapxjO9j(Tdc?(?O1^zAae7MZp1>cICQlEuzU;@ z%NkyAQ5RjvOA}z?hhXLj=uMaL;bpLFSt2m@Wg?-2cl@yOpf(8Q|M>j0zpQ$D%e{xH z$2Ldr+pwL-ST`x`^Q0<!Tlv6^XoI7K<UStF%01nv;hQVLuV?tkxcyuijJ|W=+tUVL z;(w<b<X3{u0{wU8kr?|YhKd*&UFWQkfxUt^v1p|?-Hy*Hq7DY({l?Sm{<AIoovo?0 zTDSYZtPbh;pUwYdV3gnrNcl6*T<Ln)=UwRFFo^*Hg}{gj#1#er<_9^6MQtB%M*Xgv z-N_$&`3&Gkz(LvQ>*s&_1hBriBgGpm(zinjI3D#DLsvh7VAqx)(ck(EG<VjfEinM| z>o=I!u`v$mr^J4IcvVMTX~Sv<Mks@lk3<AB?<jr(wVsQQ&xQMjQO<wLRt8C#GzT+| zxvSfpfqq^RFNm}Qi0S1DKh;6T%t<)qXn=dI;=igv@!ekr)Yx2hoD7jOt}54#cs<`h z4Af`1yctd5BlWu3{THHtef~$&{~khLq~0x8XrRdeSUw2B=vwJ)rhn;8k^b{{K(?Pi zu8#Vej^@D`KA?xJlFy`T8rRd3msLG=|Ea24fIKw`;;I^YJB0Z5IHN9OYjv<IMgP5a zfE-mt$obldjCuaHX%9_H;{RUS-9D@8At-ni%s=w+uf-<otomXe++rRKNb;_&3Z((u zWLkkMY4h*efL0@W!B!5RFc8;(9_@;iz#~E#+|UpDDD@xZK%3H?|Ame<N%@0hX7|Mz z<YZ?2_4Uc##2Sh1<3}=9vezdrZXR~l|9H*K^KY*O1jtxEnb}!@EXmlod4ZQIWGreP z4rXL5T1qC?W~LxA7F8D$&_8cvzZzQrKWJKg0lsEuC1a5>v$C)R{qrbm2QqVVu(ve^ znIVCkT!7ES?QQLyR2_^>&B(a_m9MITv9k^EHQT@b6te<3E1Nlq+kbViw==T?k@1kR zNLkqe`2hdFW+Y)|YX8LyNk|Ck-$1!Tn;N}`D<EejfC2vD6oZ0-t$~96FHrx3<P|kL z`~QN>^<P2$x2pZW4VmNreaNp!{x`_Htp5dM-hUJS{}E(1-v7|@>*N2@DH4l>nX8ql znY5F!2N}zM(mvV0wEusoT(bYWa=T%p#~2yMqJM5jR|o`(3D|y;F&XP{YWp+Ndn{vO zyItJFX3$0<V?uOku&bZa)7FdFnLT3se3Zrwe}GuubG)e*li~by-S!8Hi9G#%iS==y zd>nJ-_nTSl;7I5YTm!$mKig&2q^P1AH3soh<CDS$`dXh4ifEv4-yr)uKR)lan(gM6 z8L@r4xT^O1b9FR2tBM?@m+Y?n9-k+<w>Zc1@^<`)R?|)K6MK@8#TTQrn+ijh&Hf0i zp<Da(#2u>1f&OlKYfSCwb>Mi9*?B!oGiqdPlf6_nhwE!-7<(lP4t3*iQc}2f<g)nM z=<x}-SesCA#FSXb420M<b*#{mP@M~k3jale{zqy5XqSuY-&-_0>ualeefgg{F*_^g zzna?rk$V5PPW=CYdOrdB{S^HH^OLOr%#$ADhd@T}x=aH0r;49}w%bxd(600!0*RdL zJQ}r0tOIQkQ?f@yiRH~xJggAw*m@YZ)gscH{!Z1&kt!IwrjwP(&1E~^O;ncNF5(8f zg&Ek>_qe+3J!~V>|BMzc7r)e~v|*^Pv+^Fy0*?V3<@0j&4D15NjYGGy$3&ud)G79X zW4ay}o72+#1L2KQvgPt;6$Ky9x7J3zhSD_tSR+Dp4wLV%b!_zyMBz>5t#{Q4PN-$) zBm^joQPg@I9`n{)OlB_V6WGzeZ3xZKoStE!fQJS5`BcmY2OPd%zNbo=``9BQE~)XJ z$o3QCv7Uf(_xSK2%3CBUDVq02Utr%tL)~tw{9o*SWmFwYw=D#MYj6wh?ht~zySuwv zaED+a5C{_7-QC^Y2?2t8kl^|@;qaZD@0@$@d-siT-}}LUv3qyzw$-z0)$HoIRtf$c z?ne-R!OiwB2lnVU{{}b1|KD&^{R?j27k|L5mQel(cQ*j;{1?3scwbh{CGR}q-IgS7 z9D8j7RmS*;x99iX5HoH|#M%eAzx_O?Ei8r}M_TvJ2Mrl&xjLK5s*+3tTS-LV{WyCn z&8?+9H;buD)Yb=64oP*keh|Sr!{RLPMa0erlpO%L=IzPmOwEikukS0oeQdEbd1+3M z^B?;IZlubSU?z|+a7Ji0r)qy}%~cpn<1RInGq!0&`9=CD4pJ2td+kh;%afefpadj{ zyuj%kq_o~ZM27;!Zv*~;O2Nm&%}{<E(nn72=M&YKi8sp}HfVvJNY^?H<%BmH9wq{W z3<pH-C_DO3Xg^^1h&KIG<ECeSXvhDCHa+`8Z~njAL;nx^ZXF#1o|j<~RE33uWa$zX z?(KYU3w!mb+>c#dLwqeHAcibn8Sx?(tF`Yz(8IZmL`_El;UM~>=h&Hy>~z7lxu)CD zOHJj*3riJSLrtNrdhe_&geN;6jm3mhF9TXE0)6VJuld2E#{A@KQ=&FVCp?j@?oC|l z66@{vERmq0z(WaM`x6J&B_&o?5e%r{@jYqSEVm~W=LcGg9CeM|+VVhK@J{R{*{3}t zNgQr=OZ^|%7;T+|z?A5J`ge;?7)zwE<Yll;3cSeu6tBGajgsgEKpDbGt>{0Cj)AV~ z(uJa+Fy+l7D60lxK}-mZMT*7>VPk7s%FF)&5z^Zi0thBR=*Qo|eT3{6xGYS6g8NTg zg#G`7i~PR@x3Rtbp>Kv#eYfs#8WS)V**V)O`6A=(sQ^2I9=6?&E}R%$Fg*x*sjTlm zss_{vVG#8aDG(VyB+q^O1>V#^-Ye$K_SIc=jtmJRw)nQQ7Xbk0eg31nx)>cvl%^Df zmv4sa*4^3O&AE_VAWWXv?ng{SOLI$Ia~0)Rffoj}L2_G@pQM+X+#K&G`@aH7@+t{| zIjN2WI`#}dpnIP`{EiXw0bSXN+N<C{&?SN?{1h)dJjnR(*sd%7f$e*wH5efy7AYDl zgzqaWI(~uJgs*_uae)k=g~k5~+<%d--@$!q&cAib^z45y!2ch+WgP>9Uro1gZ;wiX z%vS>2_f?c{;$W|tDyYI>kt1<kT%<y|s9KMa{}*w5XgjitNhwolrr0%sxV}8>H@dso zckkpO{Q>TIZ4fEe>9iX?)V@^#&>L&Gy8`6!nQ7=83J7E@=l$2`tTojE+o3!!dG(aJ z@7<j}<n2r06c8T#^hk~JG%KhHw4Wkh*WKMa4^zkRlxzg7QU1jKWk%Y@>!Y97IXO9~ zv9;ts%jp<w$S%%*wA`+3PxPD*TW<$5qQ0as_~byA*kn2b7+ZC+Qu~%{Lf+NZ+e(nS zo}{HDudc2xub8+}MA|*v+uDhrZ=|Px00eqgZKO7i_Y*yS&LyC;vyDeW!21iz8k&%h z5h|(@osO=q(Tf0TAa^@8xPQX_iG4A!Ge0$K2D+!mt>3U`pnGWT0Iw~D$B0ME`|yBc z1$er_`-4Ht3G@BqbI)I>anfgJ1^GGDppholrqNdfc*G}|u8?@+93m*7vcaO>GA{!C zNt^^;3LztsD;X%X0t*Kb=nEo4`}yk4KprE=bhpV02(B-LnL{2FG5=glxb0D0n%k_I znKM4{n5hSnx$y;UcTfTLW=c~*{;}Jp@d|06^ZW%m0x+BkaO<*>5vcHmz>CS7CeHZy zT#@dIvmZ3x1`YF6Eixqb)AwGH1g!i-U_elUQ!H;iNzm3`M9WunVKCf-_MgO%GX&Bz zpr%2l7ZR*?mROwSY*04z#l@1WrD3WLV>B`)hc(D7CJ--Ygn_1M#1Vft&Tt1eY*G+S z09rpMo0zyrlmMbbj@KUCBuTRfW)MWi_z`^k0th0ylfBUnF7%S!BpK*kw((jBXt1bW zHsVa2>H1c$(bZ9f{G}c}Wpsz+^80rZBPW$GAL!7$ORPT&0u!rR#+yX$7h&)3t4?p2 zT(-<Dz4ny9<?MC6Ry-ov8%gF3OIBU7*ej%MLIpY_Qu~5a(Hx@)RA~vuv%Xv?eSima z{1T{gG4bc?Knty?&J`F^=+M1A3wz)ca~jGm*6S2s>;9HN_Vf6GAJ<A8*=XE8grX>n zhJx$aIoaX@gM%<|u_Fez=Lq+!t?Z^leH~PZDXnNn0b7c)ThWmI!6pp>Z+%og(ilMb zdrd8Sp|g;JV|XT+BbzvC19=3n%hZa3_gZrT@e_g&S#i6*@Yq#Hpoi*hZZs*1EU}MZ zaJ}2S!iCldv09ekC6M1ZgNZP(BTlEn$XN2XXnXPMBe+8<6q64P-3uxmSZr@b8<0gj zAb)QW1dz`lG$Jodc|gl~xn_Z&c<E<>o&3yffF^xhM?s~0S!}>GK$TlzZJ=Sig?XR? z+r;UB7kx}2d=C*&(s}bgqGrO!^GzdQsX@5#^UAOxgLLr+e?*Alxf~_QMW^t~Pve*2 zJRx+ztcTF_yGjKg#bW}y1@`bqjC(Pm3p)!`?LAk@fej(tKJZ=O9ZDiNTI>9>SS>0S zTunRLGS(pwRe*N;CkUQi2#_%$6$q>&0ltqaM8Jsn=8*)MFY*KvKEh>U)rE^h+OC0s z1*Pf6p`&(VtOluuE$b=iPV0%$O~vWQDM_GhuoxjQ`ds>E=}nbotB@9QJ3+D_ehH`U zRMLsiQ7?@x1DVy`<G_aNX~kH<w(+b**I=+>E(WcEp9yR5-tB;0COLZ7NU?}~;0xbo zf2ik<-wfr2?e%&o0=K(`^dqDisJSmZ{%1TQ3nB#sOo&a0TYtoMCRv|cX$OKp1eZ<? zJ@T>-v%HO>*d$V)kVOND(Bz27<12j>M9l~^NjOQG@IUpvF%Y&xSLM-?E+$IB(<X+G z;+BafBSDrH!xrS5lVTUE<8k3};m?wT&9$0T$&af~Qj=~H@DTH$75>B+`!ja6ujo@j zq<PG4tQ)a(^h~UCtTs&wsW!fs*j@Hb?F-p9o;G=(j8dgEq2<bU&Hz!tg!CA__j(C> z!Fqlx%w4j?jZr>PHLs-ecmT<OiL>xA`6jYl#%n7jE8l!I{7Q!-%$j*U@oBs31b3_H z1k#Y$P<@?j9eW*fy`o<ZtesBhf>915E9_HPLs-O5rj5Fh)scCY5>u`FM)H_T3M&ft z7=jq17~q(Qd<jMCDdef7e9L_4NjftUGhMSev+F6Eg7A@?5$EKQByFbqwVR-w()wW6 z+AFiujvdaOPnZdq&6pUNikPuX-OLyXRtbFx>j|4oJpkbvbQP%Dy4q%y7F|sIk3j_^ z;)+oAw4&nu9O^Ny%!LBZBK_P772^!4ieV(pC>nKE-WrV>d1pRpaat8x?Go98G%nec zqLj=Q;TCnT{?<{vuR5W;U)plhLeg4vlXWwe^$GJM3&toi)G|1_+4QSzLyovs)k#W& zlSHFL!}}!VXD1gGbm~VcM_|l1Oh}jtm>YW1OTVeA779(LvUj}gb<c45a!Coz8LASR zgt~yLO|?%YPrXZpt4gl=QpK`zr}V1hYiEMFroKl{pxLT^#c=k*MpaQB^^#M|z6VEw zX6XWIgH*%F8QdAcHOVzSIA_qipeDHUSqCSw27iw!#NDms+To+HRd7-_(y|HBoTVhy zVe(<v;S6XPv_rH>YIM6X+vQqpyGR-XnlSBmHffWJ^D(PxyH|sfGvS*~otB*ovz&9c zwbzvJ;_#8ep*_(#pEfZ^ptat|mMBLmm()a^>m8UK<Z!*=3g!yuLTYwuF7Tke(7k<e z>vXm7bLMdKYUWxRlnt~HatkUGR0vcFoC}%(^3_X6(2h3Xwgz8Z+Hq|njY-rOd^h|~ z0dFChVKh;$?9pkcm<mbuTxu2HdA@T7rPdP^;O}e@iRc~g6%GwY6-RXz>J#n~oD!B4 zbQ6pf6pvM*Qmt4M3R4Ti%jQJI#X@l-a<a=iA72m;THRZLTKz%8sPVaC@2g$adfvcD z@ki}8Ra=VJShzS#2=~EA?Ro1G#V6Wz&g-BvpBjR$qc*!KH^YxKFAQ%YL1X>P{l^4i zJ2iv#MT<pIL|0!(^HzO#EZ08vS<8$57@a}Rm^YR;Wa?jeQ8~d!tQ%5FsmaJm+C<yI zltIT|-)}ngLlG&RXDm{J%wE-~A@0MS#HmOa(HCMrRp<({@<n4|!<2s6LBx%dwS+aR z0i3>{eb=7MM$FER#?4N5fj4c;Kg{8Z0;Y>K=If-KHQVZ!Pn&lmEb%Nw<_-sh2Eq-o zmaIY+CuLJ*OPh5}Dh@Wf`Re#&mz$`E)!{6<EKn@=7mO;3%;sYWw8l>L23A5=q=~;p z?JlW$C|@oNp84-LWu0YRJAZeAaQ?QiUH?-hUQbnPZnXHjX3_fKar$vhgYsUplCHX~ z4!miEK}01(Zh4bfiJ9<J&Q9iz4`xKdM$?X4&3@9?p81)UB}=af;Bb&GaIV+L*o|Jj z=Q8F+yp~<M-<AtIMt0M8>RXJxw7mrOMUEmzgad@LdfFo#r#L2OSaVsUS=z&+y31B= zd#rE2pYppQ6>Q5eX4GAPvf;BIt@K>r9wfuOopTBC$loTtO*yL`RSQu|oBlQ(T%E~c z>L%f~wCz2Sgfomo&Hd%x{Uq!xKB1!DSbQXM7$xxwdy2E?F<*DUQD`t)&>Lk3uKLQg z@ucF?;>7`<*b=RyI=j62rt2HU*aG8Xc1;eCB#);3z}xWY*A2;^wf8(tx2p~;o3?E# zZa=RUeQ18^v3aF=O}ltj@3H>jJ_!pX6zu8;O|#p*);G>=kHy<D@H}`e?m<_!Ta#P; zz14J5C~1o1eD0##sf!t-yrz@A)ES+TiucA5fwla!_c50x(j6~H@<u3yDus50i-bqQ zF2fdF%TBru2f|_}Rs&kd@2byZ#tKqAov)jW_4+yw&Bu1*xy2T9o7u0X&n!0$w$>(` zO%JkjLKX{}xzBuV)2{VTdLp;?q%WjnQo^~N-63y|-;r1vZ7iMp|GfS?V}0bIkB_4C z{~A`JXM1`URR@gY^7HfQ+8Y`G2I(J18Z`f8woi{be_^%{uMwV^?K87|X134F_L<o} zGuvlo`^;>gne8*P{hwyGPjVIpmfx5y`%~#(neF3imfx7|gY4zs-n22$KS(E@ne8*P zeP*`L%=VetJ~P{AX8X)+pPB75v;7}tw!e7jzmM56&^-xz|H^D1_1k|kTlxp7@86j1 zABw?eHNvwR;aQFFtVVcNBRs1Sp4AA?YJ_Js!m}FTe^QM=|0I+C>zM7+VC-L*?JpuL zhxZ$^eG=dPu128$BlPK+**-JdXJ-4%Y@eC!GqZhWw$IG=nb|%w+y7B!`xLtS7iP=$ zk7@+^$GE`XnC(ABkkLO!kUd9`Jx7o|N02>7kUd9`Jx7o|N02>7kUd9`{Xd8x`^7{5 zU5!A`_RnLs{~kd`|4$KQ^v@Aw&&>9j**-JdXJ-4%Y@eC!GqZhWw$IG={{^#s8lC;? znC%l~{i_<`-y+C<*CIUTcas4mO18(Nl{7Rk)#bB(ho}Ca*QKWi$adM7=`<hm=sE)O z9W&t3iklkP<EaC_Jp`N4Gd)peKvvv85;!ve68-(D;e9+hzpjI>g|#sr?c-@4N04ci z4DIYqt*!8A>1miAa)&)-fM)wsEBtf<S`}3_z)=C$0{Hyb&@;=ETKMUD{&_Qcw%<pn zdGQzkNo0S8%JEs-831xOs{_`49rr1bG_RGF_3vq<B}}c%@o429a!ac-(y`Jo&;y3X z8CYr9=oy&tm>3yom{<S>OpgVc59yzu?!~V&J?WVr?**^E!!M)d@n{w0L?1sG7#>p` z|GwvwZDb}64mNLSX`P*&Y3xl*tz2|%Z0u=Ft;wHGLeKUzdjB9Tc`)w}z4U*_JO);J z8Wv_220%UyRvPvPvlv;KXddij02usG@K^huBry-C{?F`tg#35=p6cL}eJ-XZj;1tL zx|W8t=2oT-cC^14__Xblfq%$m{yPS;Fav5E9l$_#)?bD)<FV2)(l9<)NKgN0`(G{m z{pS8>7CyFw-z|Kqbx#)B**NOi)971U{$|<l_wNC^KVF;scPwLNrlDtJ1pviLL-%M8 z8=yuqG5)HVze@gU*i#mj{|dTC-|@R)Pd?_!u!pMocjH)oKf!}-e>^z<cWh&#XMV(p zf$pKP0jy+VW}{&RG(bE?0G<yee>LvOIsRA1Jq95BZrqdidNR(=-oeqp)cP;Du{=Th zM}=hkzi=oFY%DYk4~G29G)6!beZcFVP5X7O{|%SI_&1mGtK?x%GD}@R)_UtVrdCGQ zJpX9l@0A_^9pnFvM`2*0`Bg2SkYiwCr(yn&&HKGY{3q>=@oygGSIIB)9z3Q!z-8(K zCKhlobpj;ix3sjjvZt}OGp4lwq=2`wH?*hKbD?FTq5IRzu>6~oVf?>vGV~8l=D~Tg zGBQ4b%g6x0lm*~qSeaR982_!d{yNqF4y1qcF^o?Y@n5yoQrFJhz}nf0=AUq7`g^kw zvIg|)f6kcjaL4KKXdiMaJ^mt~$fqQ!N-1ycXs2%|uWMy5V`ojxXQ8VP=n)^b5HPgY zw==bIu(pF@VEn^-30eWBK`^xf^!Jjw`f}Emx>kRd2$=#djNe4p4i8YNXeD(2SfK~> zfRFPu0N4f8V=((;ul#@d$;|Y$2QwQJ)YJFhm&|}B#LD_`t^f4L%=7^K?|;lp40z0J zbWlvJzm|B+zq~XZpbXGx0U!guu>kl0Ab6h*uzV<GW_kGa@fb|Z40ucc9>x4?1`EKF zi4N-Fh?>7qp2s`)*BbEGoBMdPr2xGnAPeh%28o5PvHh=G`>;PBfXYFsQ!}u#;!!g( zvg6S+0OpyXr=w>EFgj5HB{S9MwKBFa1Xw`JYY%7_4tVSUG66{Q`nUqv5s?3tU)Sbw z+6*WbKpUZzcQCY60!+ODKu_h5=`@%Dnt)&BB6#$Gx=hRKWc)bg1`|7AD@omVk86Ob zJy;&?08E-;$Oxz}f9qO)l|0>tKW6!00Q6wL=-R)g_4rju`Ty%2wBfGMDo8WaPJD5Y zgK+o;4ACSKzUSAsfgvHRhk;^|6a)kWf-vvjBOubt2~;ZO$q8gah>$;&W{E_qDTq<a zMJS3>_hcxsPwI0{7hhPqU6t^<xn2%mrX28!_DUFyELKc6ES@&2(^S-a>RY$#2x~Ph zxqb-?^<Gj1_cbCyHH+u+)hzx*dPn=v_;MPH-{6LoF%k;PVsd=}a;oy&fnB;aC+?or z{mgx^(Kl_EjlCZ%vspt6sZ;&PcI@WpY<gRV%N^Ppqx|*h;9BDu*HK<qGF+esyxE^z z`r8e!4bcpp*9g}_*HJHx>J%4A4l1!sYes*BEI2!HlZA!&g$#rkpE;cYpPBC=?X%9e z=zD!@Uc3wDq+>85V2lqo-ieb|ZEtS>podn0Z^3qrs@|WhGg7+0r#)vZCS)q(O70Oo z5c4J4Ek-z+G&<$Yi9Pxb-9p=pt`GnF4zr+FL91}u><(;iZQiXNb{;7TkCmmY!t~UA z2*vKeUd67!9>9^de={8Zb8T^X*dDFU{F`<k1VdnEq+jMo4Fcz0kmHXx>3WK{it>t~ ziq^S{iZQt#^79p|^3|ola%82rr0kOhrFN65**vx!#<taS8l>PSf9&{}NuOe#zBv_g ztiQ56ZP<aIjM=fCa!yK0;!M0|b7PmbKXd%xSp6o4<G_CLAaPS;?<Vahb$C+X*kOV) z(~pGL30w)l3APF33EK&(nA}6=2{uD!l7-#rqGOF&a|M0VYo<`lSqYd!E<=Vx$_duY z=S-RjxEk-ptz-LWnrVP(LN%xB3~Kl6=MJI{>}J<9#ft_=Y0xy9Z7#>NCf0?EG<I_p z%@-;;tNf}6EA^}Ft4d7K%>Ak&zp4}oHmF`_I|Vt_IHj-%yGf{*G^ID?-F`Xau#7!3 zUW|8MbvpvNNV_5Oe0?wybX0J8dL!gXnbOuW)Y5UV`SU{Go!ZOCdb#9q>3Hd<^rhGK zp5uo%#z|7fqo*_BlP)_X+eTYP+o;>V4g-$n4#D-Tj&2Tf^=~!HiY1)ooQ0f~W^x-+ z%_lrEuBFaZ&K1r>zvHn%s<kPa6c*-|MC3xiguRD>$`7+(%F|_TB>YBBTR=u3DosH* z?$SR?B(9c-PgH%A96UTrp12O-u8X3B+<OnnMaPrLg?9j}FY#Ts1uy@|+KaNJVOHVw zTUQ5#)RtffH}UhC{g%f2Rb|FG5Z-I!efUMJU8m1N&~%|$tCqs(^{=#3aCLPs)o1&> z!3${oINQ&$w|J&rBI&$Pbd<%p%LN;Q6pCARZAvXpOT&BDk1T$;()GE1SICaCqG~U{ znZ7UzlQI0Wt%SS~Fao`)TRR*fBHzf;hiy8Z5_Q(sjzh(93VKkk5y4+u@HaU<#@hDA zcg(~!Vvf{5GLn8C=A>`u(Z<-Hupf*WEwIhD$BJh#KSB-V>PsjmF|i#BCKeipI)HMx zn_1Px4!a+qj<fbBY_;vT{W2K(g4z&Ah)t4|GFV5e6<cyZN^+W1AS=KC-QI{Xg7M%x zHA|d0m;uIA_&1Hn6T~UQC5WG2-{@Om=<MAF={VD_-S{(nnxQvZUS>VRoxmk$SJ70C z$JW$ugk{)h_dUvzhpjYjSyrH58*i^xnP8P2B!%pe&p0(lVxfjRqh-g?Bl;ds8T~o> zTR;631+{1&d0AlG8c2{NQHv;qc`e4g9#Dk2GRMKC5)B!{%k?0m*ez%{BOG=o0`}te zcenKRZzu0B-hr%>4CBx>I|@#K$v0(9W9HOkW(pN+#VdaRfvA})FWlqQ*bn-KKAreE zApsjp7RLkv26A7YId5s12lh6|hxGnakIjesqeNCLgFcG>g(lW(&55)0n<N*o(iUZK z4PGH$p%2>>CR^^Gy|$82aKB)fr#dy=<aM`DWfCk#r*&EjcaaJRZFfMeh((26v`N3l zKROztJiT}+;@<+j;h$drH9ft&Jl+4}cYjbuFsxFG1?G>o@)+){5P=MnNyPXYxuc`y zxoSv0m&M;<u~by_zQEYm>g+U|ZfCE5`P`V$W_87O*|Ap9_Wg&@=JL_zCyZk|5=>K) zfcu*GcQ>2y$agLz3EIXhN7_bqQz&nB@#mAr<DG`$`dB8oM!!tc(XGZux{e3zb$$a@ zWemqC#68JsT807Dk^2x$!kQEid<X+(zrjmRDNj&S*ji`FUXj)A>M9wFl{Dmw=F$D} zYx!{kro9V9U;cvnm(yT=k}p+clth%7zEbvnhE%21I50SULZhtXz6`$OsH=i<SmQfI zr)`IUSo;HkqpXE(rlAe+nal>0Ia9(S;3O49?^mrGNsgUkgKxsKE-(#)HJbQJP`9X@ zUQN+?kNA0JB@#rzcj8+}bZ_{Z@Skj?XJBOG8w<#p4@rrR^$4nZr7%q$3Cgky@h!E2 zQ_3B%sDN3G;HbP1L!9Y^BdPIHoIVb=?L{IXVPU}UrK3qj$@tjt&8ecEiM@Jo@-jLP zHeNNrcK?)JxZ74tPSLfpoZ-xbE%IZa6i@^2XvMOfr)1L@8Y4A3KFyp31WZALXH$7G zF*i47Ua!MXa{1R)wI;wMcvA#$@x21Fu!Zkh*4x9sK<~Owu<n12wCI1^#nVFSK>9@@ z)*ZWV4X1zTt-(bq+g#&fIX(*seh$@ZekR?HwutKZW4Pwn7-O<N@nCvui3JniMHvd@ zZeipRR+-JZj=U%{ns5+7x1U{SyKPnSGu_!FBniX&l!Yct?l!&kb*-7rJ7yEU^F)yl zwtaQN18|186mJ?`=D6gKHzZB_z`mwjK?irm9L2(X|8|T+#>?2^M?rE$9mkeMv-UM| ze6O8vVt4)(Aqea)%LaC3+$1@#1eiJ!Vlu7;9<g9#cwoZLF~?l?wuMGLGc!9)8o?+6 zCfFM|cZ+)!yymhoGbv`&LXG-+N021JDFwlqQRdWawYUJ&jb%itS1Rjol!#Vy!?WNv z=(LyO%xvg<!(AsD#Om*)XyZWa-z2xX5=K)%Zdr^$clLHh*IITbZZTg^qiYe|ohJrM ztm;fre1N#FZf@vHCtck(J%fKQ9zk{w(QicTQgG-PnF!8`Pty~nSvWE<<Z>WW%-oic ztS8Bfo{_vq_9hw_wmXtW6e9IZqO<FZC@fgqw<$0ylJSTl(_D6E-leisPk(J04W8UG zOB#7Kg^$V>WCJw<@gfB1%Zk0AIEWWHN|9b?@E`6|4rk*aknX9{nX>yu#6Ad4W0;v` z8YYGe)V_?RuP2yAzzi9f{p{GBDyfa7Dl`?}y%s;%g8^Qu@$vX(rQFV=KzpiF)V{-` zBUFE274cFeeF#61a5D4^^+wJ2$AWpDbup{505Upbi~(~_QK0E};KduXP=Pzjc_A}} zV{H}wLl-6Cz|EIfS0`J-;PMe?TB&(lNy@H+(TJUeQqn4{^9YF1n%H{2V~Gf_?2pBf z?iZBTNh!3aZ<pUiqKm&$^7MDWx+6s$W#E`#aLU3e?3-IBnb+MZBH~sR(CZqD@CI)` zfFJ2*@Kd?!7}3XIa6zlp1c5CkL8REV6Qht^wv-Ta=M(b9XCP^KGv$BrIlh6TfyayX zV#k|a-rY@R?sN`5+_O|HcUJx5b@TE&DL$%KQH$SY+7JZ<xKV|?=TShtb#|utnj{=B zp%+KoAZ@n1%TGIIxjbS^&bkgm)6HzsD-Jz}eZ!Isr!I0A!3f7_d+;b)lx&mw3?}kI zf@OVU3%D)#GBd1BEW6>2BtaX_NV2Xd-hB#Cve|!UhocdkJ~+kl`t24bD#0?$&x<<n zQ}3B*2WHNWk8aFWtQDE#_Lx0y!ncgH*<WH)h@Ts+WA#zgACpt9y!HbzxdIaRzebUm zExJ%YKRFMvR$O9$E6}+S7LZIg<5Y~5HpA3afIjE#7+ow(0sRcESr*oG!^3InyuU{S zl4fi3T}j+rHK!4DR;ksKKghpm#YD@tjQrCO3!^4oiU+0)tC6jYokeMx>#I**D}H-= z9pH7=R<ru)Z_IT%B|LNtZ9<PuICb^Sl&n0pJUg`HbH~jjCFc!f)MNE`>dS8Gn!YE@ z*kbKr(@aRa`s75>CeDw%WlVa*mKzHXvU(*j3#37MGF{#AodezDOQ^<WMJQHr05`oi zPzc->{11K_`G!tOj)_+is?zAQ5KSos2-qzRsDsGL8~fC(lge=*r~+M75Rla55v{`e zLn*UrKB<FVWv5g@2Q|7p)&Up|_mud=<mteaz%y`|>|9J;5!j+A&Pou(ZuaFrA#R8S zgm4;91XXpr%KAGa>#`NGrmeKhQ_Z)@@e8l)IypgV{ZRLGkidM-KKSe3lE^vlES3Qo ztcMHcL@fJeftSP?zlWiv;EO&%m0X*pd3Sn^^=bZ~z2Iw*ift90A2)Q+vf}c!`u^&{ z9nGt}l%m*HFa8<IoNPw<k}=8eIXCj41uskW&4=}Qra|d0oL-f};0#Ae3)Jrv&aOde zrRrfNyq3iU!===Oz$IAM>cX>37kU%k$76G<Cn^Q;$~ca4yliiAdvFZho;Nj3It6%g zLZDjJo_*YJ)spDOL_%?DEJIO|-f(%De#3_FQm(V}kVJVmKjDjCLAEqJ-1*M}=pZeE z?r}GlfPe$yo*rv4DW<#t(mnoQiEY)=9Dc8B=mG?q)>l*=;;r(T(2*fjO!fxW{n>*i z9pm2UORN$Y=qHmwFQ-CRMz|?ckwE<ixOs>**RNji=h*HzsSwFHuD-LmT{Cb}3XUw4 z?kN;p1fm$lE5V;WkK8p8*j^$oG;iCV9CmgQm=)9Ss7J|a23so4Ra_n~WqPr=?LU@u zOdzuaT=fD~FZr95H8A_E<c<4aT(EsEPE5^6ljTmOcEzd6!rZN4Ps9N$E$kv@6Bxg3 za(QMhUPGshIySSXOf>sjd|kl2_ibHBITrRk>u2wpL3LaGh<(1*1PhQg^mZC#8EtNd z_E(rOhEESjq=d<CY+rR5+QLtSnRSY&dqD$Vd+N-*aJp?x){wfy-?t}nhIKgP#2lzB zJ;$p?1k<O=91`8;P?tt)Gs$%0>IXitF@X2~*_-1*H*5o`gUWzSU3f`ePk1PgRM)of z!rBt&5c?kFq*@cb?+E^`J<oh6WMH7L7~ZB2lupkNI8<j0sI;S(9<H^HHa+w;ffqwU z>yW1{-+YF!pd~D<AmjC^cw8Mi+IK-OXUo;BTzK2BwDo0Yv!7AMwGW^r@dio;O9l%% zo2@oO!s;kbCSpp*rqJ#J=tMJ8IOr5!2AN8u!*Z&}>@?|NnUs1Q2WHXv7!V5>1mTH7 zV(#e@Xja8q|6svK`{E<Q?dPy))-atHpeRCOkh+13{HdnsyC-aIgAM_0i2Ck*UTvgU z8B$=>?n^`J&C}Ejr}fDNks6(@)B~tgQ@LbXQ8@UBP*}Rl3BMO70<Xp+j_D9$r$w}V zWN$QmFE=IqH}FRNz(FX8yOdk-Ixl@@abT>ymsR4ORo-J)6P_42Lr$0_DBmvt1x`zq zvbH&kIDU=s3|3EP?ZkOg-6xXV8r7px$enGKx&mDwT0aZ?1AU%>yqf;NErab7UKF3r zrU;?1vd<@xJ7qTwHh=uOaCD-y7-mT3z?=x&b_H~XOT=|P{!fDilJUwI=#+{^7wEWd zOTuwX1$d3P2w!8*_Jxni9i|BLeVR$=zJ3xyMC?tr^v)92p=#`pY}rSF1SzJvlPl{y zWh9EbNHLrH9``YGn;edlM^Fbe$e%~LGG(<6d1Pw(yC0HoXF;M(3U$zw8{)P0`q}s$ z%n@pi==Ok}CRJO74p%bd4`tg$r7&{o#9EjzyC{o=WGcs9BwMQUW(T-2B@xmOD;7Rf zH02Al<*YURo|nXi1u#8R*UUoIO4I8oF_@y0jwGDa#0zG4#}S!&Y_T173zECRQ#!mm z!WP=?GVIIH_Y{(Ynxai|6>Y+1Fco?5r~Tc|A|SmThuL{|_=v#JJL#BV4d;7bEmi96 z<~rFj>gx(?t228sl?@ubQrK~^W!}8Z+fF^240o_;pekL#U$pg_kA(<{t;=G&kSM!O zuC|g~G837ty|*#da*<E&tIoKNjEijOU1J{kOm3zVe+YAb;es)a6oZYXUEp1o2@4Ig zV25#oB+7h(3?cDqmlvrk4Phk<Pgai+CLkCBr~}RW{6!eICApHh$3dqt5>=-iuiEya zMG&$$71nF-kBFXHuHp&pX1BcfzBrzWrz4m$?w3OAnQtZ5npY}_+5F&&!}x_7PzRPx z+?hu2>0cyr*m3<Foa?^sh|3U0w4?nlvl!O}adoZo_Qxpb)jYmq$FZacf5S&<$8xj# zQUosoi{(k5je=E}P!N4mFalPnLX!}4Mufx@ZP5DU(ezK)kvU&IWkgycC?VvQ48n*y z<&<p%)6D~%e=utlw<w>Yx6L>2M*7a)=ZR=`x!nt?%E=|l>yV9zC!43|&?&Y_!kw|A zgm*ge-$Aemva^#@i0I!2VVfG;awSl{H%nHS;z4xY(#zut+lx~6-C>yy64Q%h)qS1P zYFaPv#uj>SOAZGi*Gb5XPp5u^lhu=T)|_vVCvtesDtwtRX-5uTJ)s+nKKUA1UnwZ; z!vDP@hPW(_l2y~beyBeg;~_?vw=SIqZ*fAxJ`!uB*gKSp=2tz;ay<fi9DGfEcAx|? zCxo;$f|L-0na4p6$T<A#AbIeJ3FTs;6tGn;k!dPPSu{fP@11L*$Ch57*j<3WJ>t-^ z3q!Sj39}zaUwWM~GzoW|q<9=!Dq$Ph3Jaqa_F98LhmuEfOQ@7^7o_frtTD#a&LW_- zLfj`Mt+!PngszqY=t|VTr9{L6mwCzbGZHJ+1=T%@g*BQ{`3>4yM>{EjDVSGe=_TE( z24HBMzK<-`RfDgvEk5vj-dQYHg=nyU4*UeQa(HqnX8?OZNnRXsju+SJ*x{r-?u>>i z;Y<~$k0{=~g5&y=`&B4vFbVmb8&F-+5b(_T+*=I_qSS#cjkwm5R&fwC7)<IUD(19c zI^l1I_<_~as5b8^YaL%*_BbZC;|;g;;VP)v$$kU*xfo^Bjpd3IP2U8mSZ0Pn@q^Ql z-+<o`$zZ}@!jRE`(U7ZruAIHxg@Jp{eeT5^Uwn&2B$dorJ(Wncf>HE(?@5$Iiwr8B zI!$Qg{^#|6sa~$wg^wJ43u~)utLqhO;<A<8WVD}`KHX19na*@r6)mtdP&FX&IB}Ly zyAZU%ogKo?QWiIS9p>7-zoB|nwE5*_Z9$`86Z#r<O>1c6)kb(TU*Ba2jsJZJFEQ|- zg+%UQab}3Uo}9r2p3rS#?yaB=GCpL8n_Xz;yIK8hlI|WhW>933uZ?)Nv4U<WLhWdD z3HJ#0E<{v%mssF}r~RK2v5)4|>E#rz?Od=A9JSYChdO7pu<sXjWSbVChOy<kF>VaP z^f?D;??u+&b-|s~-YF}{lO%o8M^ToD8MgQ=b+QrbTye=SvJp!d%YAg8alC^r3%A6t zEeJ2wlu^p>KZosg=HGj~^v<riO_pA^yKtUX?8_CWEz$`hzM7Z{tsv$HO+yc=<J|<E zKm^ibQhwRQJTlP84$$N2x|YU4u1Ie4CQypEYylH``Qn6)q~V9`9}tjH5I^{0dVO=1 zeM2lC9UBs|_^w#Ck}LZCF-+qvY>aPRAwyn$!=CGx3r0EzD5b^JtRq=#5p6ErB0==) zIiwQH=%^KDH;uRww$8w@Av!gBP+Hc&j(4XUGy84VVI5l5a5)M&p~SWQ;l1vchDb*^ z(@iBu(<JYA*4d<8iuW}IizzQkvn;P8*0ATaLlSp&EUX6GX7l5%=pwQ}bg@qSK}29z zjhivd!(AAa<Zi{}KUk56TkN7Txs6+fT`@|1(dXz*X~dyA+||pa>`1}()*aKPs@V?M z#rClBO6ov_C)`S{&6JJq(6!j!rpiRvOct&%Gyh;IEX6A&DCH<+B;^8EO~@{GV}azU z^l9Q_1)3MfXdJdMVb9s6;Cd~zt^9~+Yo7A5eXj!hoE4;HqkCyI<?7gI|7YfYngP!! zBp3L)9QRLer5CNvLl*EFFq{VV&gM83dXafU)UNN&#P^ivtt&<<xJ{RIykfRH-Z4<d zi;$#{8{W0McQ`O`6I#ET<t@ZD*R`MfWPyXJhGP+19(2rX7<g>SRFNNT932~@P04|M z0_TC<%^_hQx2t0-;xxNcI^^@F*s+q$%KqDO+<x5d?9K(}X0POikv(NC8%-!jFV4zh z&(18LYgG6e(4`i$D6=+7`q$z&#b$~N!rs|Z9f{d*hHTY#D;M%cw{s_ArS_#-aus(j z&Ac3I-|#kxCgm>{E#?gK&*y90CS4s2m$04Nz5dbI%0A_iW1s!A!9+#V=5FvZ<R|rJ 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 literal 0 HcmV?d00001 diff --git a/_posts/2021-06-13-unreproducibility-detox/unreproducibility-detox.Rmd b/_posts/2021-06-13-unreproducibility-detox/unreproducibility-detox.Rmd index c11819d..d3eff94 100644 --- a/_posts/2021-06-13-unreproducibility-detox/unreproducibility-detox.Rmd +++ b/_posts/2021-06-13-unreproducibility-detox/unreproducibility-detox.Rmd @@ -27,6 +27,7 @@ In this detox week we will reflect and experiment with open science, using our s >### **Self-care task of the day** >Go to a calm place. No need of silence, just a place where you can just be still. Set a timer for 5min. Take a deep breath in, and a deep breath out. Give your body a scan-through: concentrate in each centimeter of it and try to be aware of how does your body feel there. Everytime you find a contracted muscle, try to relax it. Pay attention to the sounds around you. When the timer is off, take another deep breath. +<!-- pagebreak --> On the first day of this detox journey, let's reflect on our way to work and how it could be better. Take a moment of your day and think about: @@ -41,7 +42,6 @@ On the first day of this detox journey, let's reflect on our way to work and how #### Suggested reading * [Our path to better science in less time using open data science tools](https://www.nature.com/articles/s41559-017-0160) - --- # Monday - design a project @@ -404,5 +404,52 @@ That's it! There's ***a lot more*** in the git world, but I hope this guide can **Remember**: keep the `main` as untouched as possible, work with branches to test your ideas, and always `push` your modifications before going to bed. #### Suggested reading -* This lesson was transleted from a git guide in Portuguese I wrote with Karlo Guidoni in a study group we promoted at Universidade Federal de Goiás, back in 2017, and we used time and again in our reproducibility trainings. You can take a look in our repository [here](https://github.com/kguidonimartins/studygroup-ufg). +* This lesson was translated from a git guide in Portuguese I wrote with Karlo Guidoni in a study group we promoted at Universidade Federal de Goiás, back in 2017, and we used time and again in our reproducibility trainings. You can take a look in our repository [here](https://github.com/kguidonimartins/studygroup-ufg). + + +# Wednesday - preserve your tools +>### **Self-care task of the day** +> + +# Thursday - automate your workflows +>### **Self-care task of the day** +> +# Friday - make your code and manuscript reproducible +>### **Self-care task of the day** +> + +## Reproducible code +### Style +! Object names + +### Comment +! Documentation day! +! Make it metadatable (record session info, package versions, dependencies...) +! Package of packages! +! Containerize it! +### Functions and packages +! Test them! +## Reproducible manuscripts + + +The logics +YAML + + + +Basic syntax - cheat sheet + +[R Markdown Cheat Sheet](https://www.rstudio.com/wp-content/uploads/2015/02/rmarkdown-cheatsheet.pdf) + +<object data="_posts/2021-06-13-unreproducibility-detox/rmarkdown-cheatsheet.pdf" type="application/pdf" style="height:200%;width:100%"> +</object> + +#### `rticles` + +#### rmdTemplates + +#### bookdown +# Saturday - reproducible challange +>### **Self-care task of the day** +> \ No newline at end of file diff --git a/_posts/2021-06-13-unreproducibility-detox/unreproducibility-detox.html b/_posts/2021-06-13-unreproducibility-detox/unreproducibility-detox.html index 8cd66ba..86e7f44 100644 --- a/_posts/2021-06-13-unreproducibility-detox/unreproducibility-detox.html +++ b/_posts/2021-06-13-unreproducibility-detox/unreproducibility-detox.html @@ -115,7 +115,7 @@ <!--/radix_placeholder_rmarkdown_metadata--> <script type="text/json" id="radix-resource-manifest"> - {"type":"character","attributes":{},"value":["git_clone.png","unreproducibility-detox_files/anchor-4.2.2/anchor.min.js","unreproducibility-detox_files/bowser-1.9.3/bowser.min.js","unreproducibility-detox_files/distill-2.2.21/template.v2.js","unreproducibility-detox_files/header-attrs-2.7/header-attrs.js","unreproducibility-detox_files/jquery-1.11.3/jquery.min.js","unreproducibility-detox_files/popper-2.6.0/popper.min.js","unreproducibility-detox_files/tippy-6.2.7/tippy-bundle.umd.min.js","unreproducibility-detox_files/tippy-6.2.7/tippy-light-border.css","unreproducibility-detox_files/tippy-6.2.7/tippy.css","unreproducibility-detox_files/tippy-6.2.7/tippy.umd.min.js","unreproducibility-detox_files/webcomponents-2.0.0/webcomponents.js"]} + {"type":"character","attributes":{},"value":["git_clone.png","rmarkdown-cheatsheet.pdf","unreproducibility-detox_files/anchor-4.2.2/anchor.min.js","unreproducibility-detox_files/bowser-1.9.3/bowser.min.js","unreproducibility-detox_files/distill-2.2.21/template.v2.js","unreproducibility-detox_files/header-attrs-2.7/header-attrs.js","unreproducibility-detox_files/jquery-1.11.3/jquery.min.js","unreproducibility-detox_files/popper-2.6.0/popper.min.js","unreproducibility-detox_files/tippy-6.2.7/tippy-bundle.umd.min.js","unreproducibility-detox_files/tippy-6.2.7/tippy-light-border.css","unreproducibility-detox_files/tippy-6.2.7/tippy.css","unreproducibility-detox_files/tippy-6.2.7/tippy.umd.min.js","unreproducibility-detox_files/webcomponents-2.0.0/webcomponents.js"]} </script> <!--radix_placeholder_navigation_in_header--> <!--/radix_placeholder_navigation_in_header--> @@ -1512,6 +1512,16 @@ <h3>Contents</h3> </ul></li> <li><a href="#oh-my-git-d">Oh, my Git! D=</a></li> </ul></li> +<li><a href="#wednesday---preserve-your-tools">Wednesday - preserve your tools</a></li> +<li><a href="#thursday---automate-your-workflows">Thursday - automate your workflows</a> +<ul> +<li><a href="#reproducible-code">Reproducible code</a> +<ul> +<li><a href="#style">Style</a></li> +<li><a href="#comment">Comment</a></li> +</ul></li> +</ul></li> +<li><a href="#saturday---reproducible-challange">Saturday - reproducible challange</a></li> </ul> </nav> </div> @@ -1524,6 +1534,7 @@ <h1 id="sunday---reflect-about-open-science">Sunday - reflect about open science <h3 id="self-care-task-of-the-day"><strong>Self-care task of the day</strong></h3> <p>Go to a calm place. No need of silence, just a place where you can just be still. Set a timer for 5min. Take a deep breath in, and a deep breath out. Give your body a scan-through: concentrate in each centimeter of it and try to be aware of how does your body feel there. Everytime you find a contracted muscle, try to relax it. Pay attention to the sounds around you. When the timer is off, take another deep breath.</p> </blockquote> +<!-- pagebreak --> <p>On the first day of this detox journey, let’s reflect on our way to work and how it could be better. Take a moment of your day and think about:</p> <ol type="1"> <li><p>What is your current workflow when you develop a project? Take a pen and paper (physical or digital) and sketch your usual process, step-by-step. Add as much details as you can (and take this chance to get creative!). Make sure to save this sketch in a place that is easy to access, you’re gonna need it in the following days.</p></li> @@ -1759,8 +1770,35 @@ <h2 id="oh-my-git-d">Oh, my Git! D=</h2> <p><strong>Remember</strong>: keep the <code>main</code> as untouched as possible, work with branches to test your ideas, and always <code>push</code> your modifications before going to bed.</p> <h4 id="suggested-reading-1">Suggested reading</h4> <ul> -<li>This lesson was transleted from a git guide in Portuguese I wrote with Karlo Guidoni in a study group we promoted at Universidade Federal de Goiás, back in 2017, and we used time and again in our reproducibility trainings. You can take a look in our repository <a href="https://github.com/kguidonimartins/studygroup-ufg">here</a>.</li> +<li>This lesson was translated from a git guide in Portuguese I wrote with Karlo Guidoni in a study group we promoted at Universidade Federal de Goiás, back in 2017, and we used time and again in our reproducibility trainings. You can take a look in our repository <a href="https://github.com/kguidonimartins/studygroup-ufg">here</a>.</li> </ul> +<h1 id="wednesday---preserve-your-tools">Wednesday - preserve your tools</h1> +<blockquote> +<h3 id="self-care-task-of-the-day-3"><strong>Self-care task of the day</strong></h3> +</blockquote> +<h1 id="thursday---automate-your-workflows">Thursday - automate your workflows</h1> +<blockquote> +<h3 id="self-care-task-of-the-day-4"><strong>Self-care task of the day</strong></h3> +<h1 id="friday---make-your-code-and-manuscript-reproducible">Friday - make your code and manuscript reproducible</h1> +<h3 id="self-care-task-of-the-day-5"><strong>Self-care task of the day</strong></h3> +</blockquote> +<h2 id="reproducible-code">Reproducible code</h2> +<h3 id="style">Style</h3> +<p>! Object names</p> +<h3 id="comment">Comment</h3> +<p>! Documentation day! ! Make it metadatable (record session info, package versions, dependencies…) ! Package of packages! ! Containerize it! ### Functions and packages ! Test them! ## Reproducible manuscripts</p> +<p>The logics YAML</p> +<p>Basic syntax - cheat sheet</p> +<p><a href="https://www.rstudio.com/wp-content/uploads/2015/02/rmarkdown-cheatsheet.pdf">R Markdown Cheat Sheet</a></p> +<object data="_posts/2021-06-13-unreproducibility-detox/rmarkdown-cheatsheet.pdf" type="application/pdf" style="height:200%;width:100%"> +</object> +<h4 id="rticles"><code>rticles</code></h4> +<h4 id="rmdtemplates">rmdTemplates</h4> +<h4 id="bookdown">bookdown</h4> +<h1 id="saturday---reproducible-challange">Saturday - reproducible challange</h1> +<blockquote> +<h3 id="self-care-task-of-the-day-6"><strong>Self-care task of the day</strong></h3> +</blockquote> <div class="sourceCode" id="cb28"><pre class="sourceCode r distill-force-highlighting-css"><code class="sourceCode r"></code></pre></div> <!--radix_placeholder_article_footer--> <!--/radix_placeholder_article_footer--> diff --git a/docs/Marchand/Marchand.json b/docs/Marchand/Marchand.json index 4cb62d4..7ab6b35 100644 --- a/docs/Marchand/Marchand.json +++ b/docs/Marchand/Marchand.json @@ -16,7 +16,7 @@ ], "contents": "\n\nContents\nGLMM with spatial Gaussian process\nData\nNon-spatial GLMM\nSpatial GLMM with spaMM\nGaussian process models vs. smoothing splines\nBayesian methods for GLMMs with Gaussian processes\n\nGLMM with spatial autoregression\nReference\n\nGLMM with spatial Gaussian process\nData\nThe gambia dataset found in the geoR package presents the results of a study of malaria prevalence among children of 65 villages in The Gambia. We will use a slightly transformed version of the data found in the file gambia.csv.\n\n\nlibrary(geoR)\n\ngambia <- read.csv(\"data/gambia.csv\")\nhead(gambia)\n\n\n id_village x y pos age netuse treated green phc\n1 1 349.6313 1458.055 1 1783 0 0 40.85 1\n2 1 349.6313 1458.055 0 404 1 0 40.85 1\n3 1 349.6313 1458.055 0 452 1 0 40.85 1\n4 1 349.6313 1458.055 1 566 1 0 40.85 1\n5 1 349.6313 1458.055 0 598 1 0 40.85 1\n6 1 349.6313 1458.055 1 590 1 0 40.85 1\n\nHere are the fields in that dataset:\nid_village: Identifier of the village.\nx and y: Spatial coordinates of the village (in kilometers, based on UTM coordinates).\npos: Binary response, whether the child tested positive for malaria.\nage: Age of the child in days.\nnetuse: Whether or not the child sleeps under a bed net.\ntreated: Whether or not the bed net is treated.\ngreen: Remote sensing based measure of greenness of vegetation (measured at the village level).\nphc: Presence or absence of a public health centre for the village.\nWe can count the number of positive cases and total children tested by village to map the fraction of positive cases (or prevalence, prev).\n\n\n# Create village-level dataset\ngambia_agg <- group_by(gambia, id_village, x, y, green, phc) %>%\n summarize(pos = sum(pos), total = n()) %>%\n mutate(prev = pos / total) %>%\n ungroup()\nhead(gambia_agg)\n\n\n# A tibble: 6 x 8\n id_village x y green phc pos total prev\n <int> <dbl> <dbl> <dbl> <int> <int> <int> <dbl>\n1 1 350. 1458. 40.8 1 17 33 0.515\n2 2 359. 1460. 40.8 1 19 63 0.302\n3 3 360. 1460. 40.1 0 7 17 0.412\n4 4 364. 1497. 40.8 0 8 24 0.333\n5 5 366. 1460. 40.8 0 10 26 0.385\n6 6 367. 1463. 40.8 0 7 18 0.389\n\n\n\nggplot(gambia_agg, aes(x = x, y = y)) +\n geom_point(aes(color = prev)) +\n geom_path(data = gambia.borders, aes(x = x / 1000, y = y / 1000)) +\n coord_fixed() +\n theme_minimal() +\n scale_color_viridis_c()\n\n\n\n\nWe use the gambia.borders dataset from the geoR package to trace the country boundaries with geom_path. Since those boundaries are in meters, we divide by 1000 to get the same scale as our points. We also use coord_fixed to ensure a 1:1 aspect ratio between the axes and use the viridis color scale, which makes it easier to visualize a continuous variable compared with the default gradient scale in ggplot2.\nBased on this map, there seems to be spatial correlation in malaria prevalence, with the eastern cluster of villages showing more high prevalence values (yellow-green) and the middle cluster showing more low prevalence values (purple).\nNon-spatial GLMM\nFor this first example, we will ignore the spatial aspect of the data and model the presence of malaria (pos) as a function of the use of a bed net (netuse) and the presence of a public health centre (phc). Since we have a binary response, we need to use a logistic regression model (a GLM). Since we have predictors at both the individual and village level, and we expect that children of the same village have more similar probabilities of having malaria even after accounting for those predictors, we need to add a random effect of the village. The result is a GLMM that we fit using the glmer function in the lme4 package.\n\n\nlibrary(lme4)\n\nmod_glmm <- glmer(pos ~ netuse + phc + (1 | id_village), \n data = gambia, family = binomial)\nsummary(mod_glmm)\n\n\nGeneralized linear mixed model fit by maximum likelihood (Laplace\n Approximation) [glmerMod]\n Family: binomial ( logit )\nFormula: pos ~ netuse + phc + (1 | id_village)\n Data: gambia\n\n AIC BIC logLik deviance df.resid \n 2428.0 2450.5 -1210.0 2420.0 2031 \n\nScaled residuals: \n Min 1Q Median 3Q Max \n-2.1286 -0.7120 -0.4142 0.8474 3.3434 \n\nRandom effects:\n Groups Name Variance Std.Dev.\n id_village (Intercept) 0.8149 0.9027 \nNumber of obs: 2035, groups: id_village, 65\n\nFixed effects:\n Estimate Std. Error z value Pr(>|z|) \n(Intercept) 0.1491 0.2297 0.649 0.5164 \nnetuse -0.6044 0.1442 -4.190 2.79e-05 ***\nphc -0.4985 0.2604 -1.914 0.0556 . \n---\nSignif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1\n\nCorrelation of Fixed Effects:\n (Intr) netuse\nnetuse -0.422 \nphc -0.715 -0.025\n\nAccording to these results, both netuse and phc result in a decrease of malaria prevalence, although the effect of phc is not significant at a threshold \\(\\alpha = 0.05\\). The intercept (0.149) is the logit of the probability of malaria presence for a child with no bednet and no public health centre, but it is the mean intercept across all villages, and there is a lot of variation between villages, based on the random effect standard deviation of 0.90. We can get the estimated intercept for each village with the function coef:\n\n\nhead(coef(mod_glmm)$id_village)\n\n\n (Intercept) netuse phc\n1 0.93727515 -0.6043602 -0.4984835\n2 0.09204843 -0.6043602 -0.4984835\n3 0.22500620 -0.6043602 -0.4984835\n4 -0.46271089 -0.6043602 -0.4984835\n5 0.13680037 -0.6043602 -0.4984835\n6 -0.03723346 -0.6043602 -0.4984835\n\nSo for example, the intercept for village 1 is around 0.94, equivalent to a probability of 72%:\n\n\nplogis(0.937)\n\n\n[1] 0.7184933\n\nwhile the intercept in village 2 is equivalent to a probability of 52%:\n\n\nplogis(0.092)\n\n\n[1] 0.5229838\n\nThe DHARMa package provides a general method for checking whether the residuals of a GLMM are distributed according to the specified model and whether there is any residual trend. The package works by simulating replicates of each observation according to the fitted model and then determining a “standardized residual”, which is the relative position of the observed value with respect to the simulated values, e.g. 0 if the observation is smaller than all the simulations, 0.5 if it is in the middle, etc. If the model represents the data well, each value of the standardized residual between 0 and 1 should be equally likely, so the standardized residuals should produce a uniform distribution between 0 and 1.\nThe simulateResiduals function performs the calculation of the standardized residuals, then the plot function plots the diagnostic graphs with the results of certain tests.\n\n\nlibrary(DHARMa)\nres_glmm <- simulateResiduals(mod_glmm)\nplot(res_glmm)\n\n\n\n\nThe graph on the left is a quantile-quantile plot of standardized residuals. The results of three statistical tests also also shown: a Kolmogorov-Smirnov (KS) test which checks whether there is a deviation from the theoretical distribution, a dispersion test that checks whether there is underdispersion or overdispersion, and an outlier test based on the number of residuals that are more extreme than all the simulations. Here, we get a significant result for the outliers, though the message indicates that this result might have an inflated type I error rate in this case.\nOn the right, we generally get a graph of standardized residuals (in y) as a function of the rank of the predicted values, in order to check for any leftover trend in the residual. Here, the predictions are binned by quartile, so it might be better to instead aggregate the predictions and residuals by village, which we can do with the recalculateResiduals function.\n\n\nplot(recalculateResiduals(res_glmm, group = gambia$id_village))\n\n\n\n\nThe plot to the right now shows individual points, along with a quantile regression for the 1st quartile, the median and the 3rd quartile. In theory, these three curves should be horizontal straight lines (no leftover trend in the residuals vs. predictions). The curve for the 3rd quartile (in red) is significantly different from a horizontal line, which could indicate some systematic effect that is missing from the model.\nSpatial GLMM with spaMM\nThe spaMM (spatial mixed models) package is a relatively new R package that can perform approximate maximum likelihood estimation of parameters for GLMM with spatial dependence, modelled either as a Gaussian process or with a CAR (we will see the latter in the last section). The package implements different algorithms, but there is a single fitme function that chooses the appropriate algorithm for each model type. For example, here is the same (non-spatial) model as above fit with spaMM.\n\n\nlibrary(spaMM)\n\nmod_spamm_glmm <- fitme(pos ~ netuse + phc + (1 | id_village),\n data = gambia, family = binomial)\nsummary(mod_spamm_glmm)\n\n\nformula: pos ~ netuse + phc + (1 | id_village)\nEstimation of lambda by Laplace ML approximation (p_v).\nEstimation of fixed effects by Laplace ML approximation (p_v).\nfamily: binomial( link = logit ) \n ------------ Fixed effects (beta) ------------\n Estimate Cond. SE t-value\n(Intercept) 0.1491 0.2287 0.6519\nnetuse -0.6045 0.1420 -4.2567\nphc -0.4986 0.2593 -1.9231\n --------------- Random effects ---------------\nFamily: gaussian( link = identity ) \n --- Variance parameters ('lambda'):\nlambda = var(u) for u ~ Gaussian; \n id_village : 0.8151 \n --- Coefficients for log(lambda):\n Group Term Estimate Cond.SE\n id_village (Intercept) -0.2045 0.2008\n# of obs: 2035; # of groups: id_village, 65 \n ------------- Likelihood values -------------\n logLik\np_v(h) (marginal L): -1210.016\n\nNote that the estimates of the fixed effects as well as the variance of random effects are nearly identical to those obtained by glmer above.\nWe can now use spaMM to fit the same model with the addition of spatial correlations between villages. In the formula of the model, this is represented as a random effect Matern(1 | x + y), which means that the intercepts are spatially correlated between villages following a Matérn correlation function of coordinates (x, y). The Matérn function is a flexible function for spatial correlation that includes a shape parameter \\(\\nu\\) (nu), so that when \\(\\nu = 0.5\\) it is equivalent to the exponential correlation but as \\(\\nu\\) grows to large values, it approaches a Gaussian correlation. We could let the function estimate \\(\\nu\\), but here we will fix it to 0.5 with the fixed argument of fitme.\n\n\nmod_spamm <- fitme(pos ~ netuse + phc + Matern(1 | x + y) + (1 | id_village),\n data = gambia, family = binomial, fixed = list(nu = 0.5))\nsummary(mod_spamm)\n\n\nformula: pos ~ netuse + phc + Matern(1 | x + y) + (1 | id_village)\nEstimation of lambda and corrPars by Laplace ML approximation (p_v).\nEstimation of fixed effects by Laplace ML approximation (p_v).\nfamily: binomial( link = logit ) \n ------------ Fixed effects (beta) ------------\n Estimate Cond. SE t-value\n(Intercept) 0.06861 0.3351 0.2047\nnetuse -0.51719 0.1407 -3.6758\nphc -0.44416 0.2052 -2.1648\n --------------- Random effects ---------------\nFamily: gaussian( link = identity ) \n --- Correlation parameters:\n 1.nu 1.rho \n0.50000000 0.05128915 \n --- Variance parameters ('lambda'):\nlambda = var(u) for u ~ Gaussian; \n x + y : 0.6421 \n id_village : 0.1978 \n --- Coefficients for log(lambda):\n Group Term Estimate Cond.SE\n x + y (Intercept) -0.443 0.2919\n id_village (Intercept) -1.62 0.3166\n# of obs: 2035; # of groups: x + y, 65; id_village, 65 \n ------------- Likelihood values -------------\n logLik\np_v(h) (marginal L): -1197.968\n\nLet’s first check the random effects of the model. The spatial correlation function has a parameter rho equal to 0.0513. This parameter in spaMM is the inverse of the range, so here the range of exponential correlation is 1/0.0513 or around 19.5 km. There are now two variance prameters, the one identified as x + y is the long-range variance (i.e. sill) for the exponential correlation model whereas the one identified as id_village shows the non-spatially correlated portion of the variation between villages.\nIn fact, while we left the random effects (1 | id_village) in the formula to represent the non-spatial portion of variation between villages, we could also represent this with a nugget effect in the geostatistical model. In both cases, it would represent the idea that even two villages very close to each other would have different baseline prevalences in the model.\nBy default, the Matern function has no nugget effect, but we can add one by specifying a non-zero Nugget in the initial parameter list init.\n\n\nmod_spamm2 <- fitme(pos ~ netuse + phc + Matern(1 | x + y),\n data = gambia, family = binomial, fixed = list(nu = 0.5),\n init = list(Nugget = 0.1))\nsummary(mod_spamm2)\n\n\nformula: pos ~ netuse + phc + Matern(1 | x + y)\nEstimation of lambda and corrPars by Laplace ML approximation (p_v).\nEstimation of fixed effects by Laplace ML approximation (p_v).\nfamily: binomial( link = logit ) \n ------------ Fixed effects (beta) ------------\n Estimate Cond. SE t-value\n(Intercept) 0.06861 0.3352 0.2047\nnetuse -0.51719 0.1407 -3.6758\nphc -0.44416 0.2052 -2.1648\n --------------- Random effects ---------------\nFamily: gaussian( link = identity ) \n --- Correlation parameters:\n 1.nu 1.Nugget 1.rho \n0.50000000 0.23551424 0.05128739 \n --- Variance parameters ('lambda'):\nlambda = var(u) for u ~ Gaussian; \n x + y : 0.8399 \n --- Coefficients for log(lambda):\n Group Term Estimate Cond.SE\n x + y (Intercept) -0.1744 0.2146\n# of obs: 2035; # of groups: x + y, 65 \n ------------- Likelihood values -------------\n logLik\np_v(h) (marginal L): -1197.968\n\nAs you can see, all estimates are the same, except that the variance of the spatial portion (sill) is now 0.84 and the nugget is equal to a fraction 0.235 of that sill, so a variance of 0.197, which is the same as the id_village random effect in the version above. Thus the two formulations are equivalent.\nNow, recall the coefficients we obtained for the non-spatial GLMM:\n\n\nsummary(mod_glmm)$coefficients\n\n\n Estimate Std. Error z value Pr(>|z|)\n(Intercept) 0.1490596 0.2297164 0.6488855 5.164124e-01\nnetuse -0.6043602 0.1442451 -4.1898129 2.791846e-05\nphc -0.4984835 0.2604289 -1.9140866 5.560909e-02\n\nIn the spatial version, both fixed effects have moved slightly towards zero, but the standard error of the effect of phc has decreased. It is interesting that the inclusion of spatial dependence has allowed us to estimate more precisely the effect of having a public health centre in the village. This would not always be the case: for a predictor that is also strongly correlated in space, spatial correlation in the response makes it harder to estimate the effect of this predictor, since it is confounded with the spatial effect. However, for a predictor that is not correlated in space, including the spatial effect reduces the residual (non-spatial) variance and may thus increase the precision of the predictor’s effect.\nThe spaMM package is also compatible with DHARMa for residual diagnostics. (You can in fact ignore the warning that it is not in the class of supported models, this is due to using the fitme function rather than a specific algorithm function in spaMM.)\n\n\nres_spamm <- simulateResiduals(mod_spamm2)\nplot(res_spamm)\n\n\n\nplot(recalculateResiduals(res_spamm, group = gambia$id_village))\n\n\n\n\nFinally, while we will show how to make and visualize spatial predictions below, we can produce a quick map of the estimated spatial effects in a spaMM model with the filled.mapMM function.\n\n\nfilled.mapMM(mod_spamm2)\n\n\n\n\nGaussian process models vs. smoothing splines\nIf you are familiar with generalized additive models (GAM), you might think that the spatial variation in malaria prevalence (as shown in the map above) could be represented by a 2D smoothing spline (as a function of \\(x\\) and \\(y\\)) within a GAM.\nThe code below fits the GAM equivalent of our Gaussian process GLMM above with the gam function in the mgcv package. The spatial effect is represented by the 2D spline s(x, y) whereas the non-spatial random effect of village is represented by s(id_village, bs = \"re\"), which is the same as (1 | id_village) in the previous models. Note that for the gam function, categorical variables must be explicitly converted to factors.\n\n\nlibrary(mgcv)\ngambia$id_village <- as.factor(gambia$id_village)\nmod_gam <- gam(pos ~ netuse + phc + s(id_village, bs = \"re\") + s(x, y), \n data = gambia, family = binomial)\n\n\n\nTo visualize the 2D spline, we will use the gratia package.\n\n\nlibrary(gratia)\ndraw(mod_gam)\n\n\n\n\nNote that the plot of the spline s(x, y) (top right) does not extend too far from the locations of the data (other areas are blank). In this graph, we can also see that the village random effects follow the expected Gaussian distribution (top left).\nNext, we will use both the spatial GLMM from the previous section and this GAMM to predict the mean prevalence on a spatial grid of points contained in the file gambia_pred.csv. The graph below adds those prediction points (in black) on the previous map of the data points.\n\n\ngambia_pred <- read.csv(\"data/gambia_pred.csv\")\n\nggplot(gambia_agg, aes(x = x, y = y)) +\n geom_point(data = gambia_pred) +\n geom_point(aes(color = prev)) +\n geom_path(data = gambia.borders, aes(x = x / 1000, y = y / 1000)) +\n coord_fixed() +\n theme_minimal() +\n scale_color_viridis_c()\n\n\n\n\nTo make predictions from the GAMM model at those points, the code below goes through the following steps:\nAll predictors in the model must be in the prediction data frame, so we add constant values of netuse and phc (both equal to 1) for all points. Thus, we will make predictions of malaria prevalence in the case where a net is used and a public health centre is present. We also add a constant id_village, although it will not be used in predictions (see below).\nWe call the predict function on the output of gam to produce predictions at the new data points (argument newdata), including standard errors (se.fit = TRUE) and excluding the village random effects, so the prediction is made for an “average village”. The resulting object gam_pred will have columns fit (mean prediction) and se.fit (standard error). Those predictions and standard errors are on the link (logit) scale.\nWe add the original prediction data frame to gam_pred with cbind.\nWe add columns for the mean prediction and 50% confidence interval boundaries (mean \\(\\pm\\) 0.674 standard error), converted from the logit scale to the probability scale with plogis. We choose a 50% interval since a 95% interval may be too wide here to contrast the different predictions on the map at the end of this section.\n\n\ngambia_pred <- mutate(gambia_pred, netuse = 1, phc = 1, id_village = 1)\n\ngam_pred <- predict(mod_gam, newdata = gambia_pred, se.fit = TRUE, \n exclude = \"s(id_village)\")\ngam_pred <- cbind(gambia_pred, as.data.frame(gam_pred))\ngam_pred <- mutate(gam_pred, pred = plogis(fit), \n lo = plogis(fit - 0.674 * se.fit), # 50% CI\n hi = plogis(fit + 0.674 * se.fit))\n\n\n\nNote: The reason we do not make predictions directly on the probability (response) scale is that the normal formula for confidence intervals applies more accurately on the logit scale. Adding a certain number of standard errors around the mean on the probability scale would lead to less accurate intervals and maybe even confidence intervals outside the possible range (0, 1) for a probability.\nWe apply the same strategy to make predictions from the spaMM spatial GLMM model. There are a few differences in the predict method compared with the GAMM case.\nThe argument binding = \"fit\" means that mean predictions (fit column) will be attached to the prediction dataset and returned as spamm_pred.\nThe variances = list(linPred = TRUE) tells predict to calculate the variance of the linear predictor (so the square of the standard error). However, it appears as an attribute predVar in the output data frame rather than a se.fit column, so we move it to a column on the next line.\n\n\nspamm_pred <- predict(mod_spamm, newdata = gambia_pred, type = \"link\",\n binding = \"fit\", variances = list(linPred = TRUE))\nspamm_pred$se.fit <- sqrt(attr(spamm_pred, \"predVar\"))\nspamm_pred <- mutate(spamm_pred, pred = plogis(fit), \n lo = plogis(fit - 0.674 * se.fit),\n hi = plogis(fit + 0.674 * se.fit))\n\n\n\nFinally, we combine both sets of predictions as different rows of a pred_all dataset with bind_rows. The name of the dataset each prediction originates from (gam or spamm) will appear in the “model” column (argument .id). To simplify production of the next plot, we then use pivot_longer in the tidyr package to change the three columns “pred”, “lo” and “hi” to two columns, “stat” and “value” (pred_tall has thus three rows for every row in pred_all).\n\n\npred_all <- bind_rows(gam = gam_pred, spamm = spamm_pred, .id = \"model\")\n\nlibrary(tidyr)\npred_tall <- pivot_longer(pred_all, c(pred, lo, hi), names_to = \"stat\",\n values_to = \"value\")\n\n\n\nHaving done these steps, we can finally look at the prediction maps (mean, lower and upper bounds of the 50% confidence interval) with ggplot. The original data points are shown in red.\n\n\nggplot(pred_tall, aes(x = x, y = y)) +\n geom_point(aes(color = value)) +\n geom_point(data = gambia_agg, color = \"red\", size = 0) +\n coord_fixed() +\n facet_grid(stat~model) +\n scale_color_viridis_c() +\n theme_minimal()\n\n\n\n\nWhile both models agree that there is a higher prevalence near the eastern cluster of villages, the GAMM also estimates a higher prevalence at a few points (western edge and around the center) where there is no data. This is an artifact of the shape of the spline fit around the data points, since a spline is meant to fit a global, although nonlinear, trend. In contrast, the geostatistical model represents the spatial effect as local correlations and reverts to the overall mean prevalence when far from any data points, which is a safer assumption. This is one reason to choose a geostatistical / Gaussian process model in this case.\nBayesian methods for GLMMs with Gaussian processes\nBayesian models provide a flexible framework to express models with complex dependence structure among the data, including spatial dependence. However, fitting a Gaussian process model with a fully Bayesian approach can be slow, due the need to compute a spatial covariance matrix between all point pairs at each iteration.\nThe INLA (integrated nested Laplace approximation) method performs an approximate calculation of the Bayesian posterior distribution, which makes it suitable for spatial regression problems. We do not cover it in this course, but I recommend the textbook by Paula Moraga (in the references section below) that provides worked examples of using INLA for various geostatistical and areal data models, in the context of epidemiology, including models with both space and time dependence. The book presents the same Gambia malaria data as an example of a geostatistical dataset, which inspired its use in this course.\nGLMM with spatial autoregression\nWe return to the last example of the previous part, where we modelled the rate of COVID-19 cases (cases / 1000) for administrative health network divisions (RLS) in Quebec as a function of their population density. The rate is given by the “taux_1k” column in the rls_covid shapefile.\n\n\nlibrary(sf)\nrls_covid <- read_sf(\"data/rls_covid.shp\")\nrls_covid <- rls_covid[!is.na(rls_covid$dens_pop), ]\nplot(rls_covid[\"taux_1k\"])\n\n\n\n\nPreviously, we modelled the logarithm of this rate as a linear function of the logarithm of population density, with the residual variance correlated among neighbouring units via a CAR (conditional autoregression) structure, as shown in the code below.\n\n\nlibrary(spdep)\nlibrary(spatialreg)\n\nrls_nb <- poly2nb(rls_covid)\nrls_w <- nb2listw(rls_nb, style = \"B\")\n\ncar_lm <- spautolm(log(taux_1k) ~ log(dens_pop), data = rls_covid,\n listw = rls_w, family = \"CAR\")\nsummary(car_lm)\n\n\n\nCall: \nspautolm(formula = log(taux_1k) ~ log(dens_pop), data = rls_covid, \n listw = rls_w, family = \"CAR\")\n\nResiduals:\n Min 1Q Median 3Q Max \n-1.201858 -0.254084 -0.053348 0.281482 1.427053 \n\nCoefficients: \n Estimate Std. Error z value Pr(>|z|)\n(Intercept) 1.702068 0.168463 10.1035 < 2.2e-16\nlog(dens_pop) 0.206623 0.032848 6.2903 3.169e-10\n\nLambda: 0.15762 LR test value: 23.991 p-value: 9.6771e-07 \nNumerical Hessian standard error of lambda: 0.0050486 \n\nLog likelihood: -80.68953 \nML residual variance (sigma squared): 0.2814, (sigma: 0.53048)\nNumber of observations: 95 \nNumber of parameters estimated: 4 \nAIC: 169.38\n\nAs a reminder, the poly2nb function in the spdep package creates a list of neighbours based on bordering polygons in a shapefile, then the nb2listw converts it to a list of weights, here binary weights (style = \"B\") so that each bordering region receives the same weight of 1 in the autoregressive model.\nInstead of using the rates, it would be possible to model the cases directly (column “cas” in the dataset) with a Poisson regression, which is appropriate for count data. To account for the fact that if the risk per person were equal, cases would be proportional to population, we can add the unit’s population pop as an offset in the Poisson regression. Therefore, the model would look like: cas ~ log(dens_pop) + offset(log(pop)). Note that since the Poisson regression uses a logarithmic link, that model with log(pop) as an offset assumes that log(cas / pop) (so the log rate) is proportional to log(dens_pop), just like the linear model above, but it has the advantage of modelling the stochasticity of the raw data (the number of cases) directly with a Poisson distribution.\nWe do not have the population in this data, but we can estimate it from the cases and the rate (cases / 1000) as follows:\n\n\nrls_covid$pop <- rls_covid$cas / rls_covid$taux_1k * 1000\n\n\n\nTo define a CAR model in spaMM, we need a weights matrix rather than a list of weights as in the spatialreg package. Fortunately, the spdep package also includes a function nb2mat to convert the neighbours list to a matrix of weights, here again using binary weights. To avoid a warning, we specify the row and column names of that matrix to be equal to the IDs associated with each unit (RLS_code). Then, we add a term adjacency(1 | RLS_code) to the model to specify that the residual variation between different groups defined by RLS_code is spatially correlated with a CAR structure (here, each group has only one observation since we have one data point by RLS unit).\n\n\nlibrary(spaMM)\n\nrls_mat <- nb2mat(rls_nb, style = \"B\")\nrownames(rls_mat) <- rls_covid$RLS_code\ncolnames(rls_mat) <- rls_covid$RLS_code\n\nrls_spamm <- fitme(cas ~ log(dens_pop) + offset(log(pop)) + adjacency(1 | RLS_code),\n data = rls_covid, adjMatrix = rls_mat, family = poisson)\nsummary(rls_spamm)\n\n\nformula: cas ~ log(dens_pop) + offset(log(pop)) + adjacency(1 | RLS_code)\nEstimation of lambda and corrPars by Laplace ML approximation (p_v).\nEstimation of fixed effects by Laplace ML approximation (p_v).\nfamily: poisson( link = log ) \n ------------ Fixed effects (beta) ------------\n Estimate Cond. SE t-value\n(Intercept) -5.1620 0.16858 -30.621\nlog(dens_pop) 0.1999 0.03267 6.118\n --------------- Random effects ---------------\nFamily: gaussian( link = identity ) \n --- Correlation parameters:\n 1.rho \n0.1576786 \n --- Variance parameters ('lambda'):\nlambda = var(u) for u ~ Gaussian; \n RLS_code : 0.266 \n --- Coefficients for log(lambda):\n Group Term Estimate Cond.SE\n RLS_code (Intercept) -1.324 0.1473\n# of obs: 95; # of groups: RLS_code, 95 \n ------------- Likelihood values -------------\n logLik\np_v(h) (marginal L): -709.3234\n\nNote that the spatial correlation coefficient rho (0.158) is similar to the equivalent quantity in the spautolm model above, where it was called Lambda. The effect of log(dens_pop) is also approximately 0.2 in both models.\nReference\nMoraga, Paula (2019) Geospatial Health Data: Modeling and Visualization with R-INLA and Shiny. Chapman & Hall/CRC Biostatistics Series. Available online at https://www.paulamoraga.com/book-geospatial/.\n\n\n\n", "preview": "Marchand/2021-01-21-spatial-statistics-in-ecology-part-4/spatial-statistics-in-ecology-part-4_files/figure-html5/unnamed-chunk-3-1.png", - "last_modified": "2021-04-26T19:09:57-04:00", + "last_modified": "2021-05-19T11:56:36-04:00", "input_file": {}, "preview_width": 1248, "preview_height": 768 @@ -38,7 +38,7 @@ ], "contents": "\n\nContents\nGLMM avec processus spatial gaussien\nDonnées\nGLMM non spatial\nGLMM spatial avec spaMM\nProcessus gaussiens vs. splines de lissage\nMéthodes bayésiennes pour les GLMM avec processus gaussiens\n\nGLMM avec autorégression spatiale\nRéférence\n\nDans les parties précédentes, nous avons vu comment tenir compte de la dépendance spatiale dans les modèles de régression linéaire avec des modèles géostatistiques (également appelés processus gaussiens) ou des modèles d’autocorrélation spatiale (CAR/SAR). Dans cette dernière partie, nous verrons comment combiner ces caractéristiques avec des modèles de régression plus complexes, en particulier les modèles linéaires généralisés à effets mixtes (GLMM).\nGLMM avec processus spatial gaussien\nDonnées\nLe jeu de données gambia inclus avec le package geoR présente les résultats d’une étude sur la prévalence du paludisme chez les enfants de 65 villages en Gambie. Nous utiliserons une version légèrement transformée des données contenues dans le fichier gambia.csv.\n\n\nlibrary(geoR)\n\ngambia <- read.csv(\"data/gambia.csv\")\nhead(gambia)\n\n\n id_village x y pos age netuse treated green phc\n1 1 349.6313 1458.055 1 1783 0 0 40.85 1\n2 1 349.6313 1458.055 0 404 1 0 40.85 1\n3 1 349.6313 1458.055 0 452 1 0 40.85 1\n4 1 349.6313 1458.055 1 566 1 0 40.85 1\n5 1 349.6313 1458.055 0 598 1 0 40.85 1\n6 1 349.6313 1458.055 1 590 1 0 40.85 1\n\nVoici les champs de ce jeu de données:\nid_village: Identifiant du village.\nx and y: Coordonnées spatiales du village (en km, basé sur les coordonnées UTM).\npos: Réponse binaire, si l’enfant a eu un test positif du paludisme.\nage: Âge de l’enfant en jours.\nnetuse: Si l’enfant dort sous un moustiquaire ou non.\ntreated: Si le moustiquaire est traité ou non.\ngreen: Mesure de la végétation basée sur les données de télédétection (disponible à l’échelle du village).\nphc: Présence ou absence d’un centre de santé publique pour le village.\nNous pouvons compter le nombre de cas positifs et le nombre total d’enfants testés par village pour cartographier la fraction des cas positifs (ou prévalence, prev).\n\n\n# Jeu de données à l'échelle du village\ngambia_agg <- group_by(gambia, id_village, x, y, green, phc) %>%\n summarize(pos = sum(pos), total = n()) %>%\n mutate(prev = pos / total) %>%\n ungroup()\nhead(gambia_agg)\n\n\n# A tibble: 6 x 8\n id_village x y green phc pos total prev\n <int> <dbl> <dbl> <dbl> <int> <int> <int> <dbl>\n1 1 350. 1458. 40.8 1 17 33 0.515\n2 2 359. 1460. 40.8 1 19 63 0.302\n3 3 360. 1460. 40.1 0 7 17 0.412\n4 4 364. 1497. 40.8 0 8 24 0.333\n5 5 366. 1460. 40.8 0 10 26 0.385\n6 6 367. 1463. 40.8 0 7 18 0.389\n\n\n\nggplot(gambia_agg, aes(x = x, y = y)) +\n geom_point(aes(color = prev)) +\n geom_path(data = gambia.borders, aes(x = x / 1000, y = y / 1000)) +\n coord_fixed() +\n theme_minimal() +\n scale_color_viridis_c()\n\n\n\n\nNous utilisons le jeu de données gambia.borders du package geoR pour tracer les frontières des pays avec geom_path. Comme ces frontières sont en mètres, nous les divisons par 1000 pour obtenir la même échelle que nos points. Nous utilisons également coord_fixed pour assurer un rapport d’aspect de 1:1 entre les axes et utilisons la palette de couleur viridis, qui permet de visualiser plus facilement une variable continue par rapport à la palette par défaut dans ggplot2.\nSur la base de cette carte, il semble y avoir une corrélation spatiale dans la prévalence du paludisme, le groupe de villages de l’est montrant des valeurs de prévalence plus élevées (jaune-vert) et le groupe du milieu montrant des valeurs de prévalence plus faibles (violet).\nGLMM non spatial\nPour ce premier exemple, nous allons ignorer l’aspect spatial des données et modéliser la présence du paludisme (pos) en fonction de l’utilisation d’une moustiquaire (netuse) et de la présence d’un centre de santé publique (phc). Comme nous avons une réponse binaire, nous devons utiliser un modèle de régression logistique (un GLM). Comme nous avons des prédicteurs au niveau individuel et au niveau du village et que nous nous attendons à ce que les enfants d’un même village aient une probabilité plus similaire d’avoir le paludisme même après avoir pris en compte ces prédicteurs, nous devons ajouter un effet aléatoire du village. Le résultat est un GLMM que nous ajustons en utilisant la fonction glmer du package lme4.\n\n\nlibrary(lme4)\n\nmod_glmm <- glmer(pos ~ netuse + phc + (1 | id_village), \n data = gambia, family = binomial)\nsummary(mod_glmm)\n\n\nGeneralized linear mixed model fit by maximum likelihood (Laplace\n Approximation) [glmerMod]\n Family: binomial ( logit )\nFormula: pos ~ netuse + phc + (1 | id_village)\n Data: gambia\n\n AIC BIC logLik deviance df.resid \n 2428.0 2450.5 -1210.0 2420.0 2031 \n\nScaled residuals: \n Min 1Q Median 3Q Max \n-2.1286 -0.7120 -0.4142 0.8474 3.3434 \n\nRandom effects:\n Groups Name Variance Std.Dev.\n id_village (Intercept) 0.8149 0.9027 \nNumber of obs: 2035, groups: id_village, 65\n\nFixed effects:\n Estimate Std. Error z value Pr(>|z|) \n(Intercept) 0.1491 0.2297 0.649 0.5164 \nnetuse -0.6044 0.1442 -4.190 2.79e-05 ***\nphc -0.4985 0.2604 -1.914 0.0556 . \n---\nSignif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1\n\nCorrelation of Fixed Effects:\n (Intr) netuse\nnetuse -0.422 \nphc -0.715 -0.025\n\nD’après ces résultats, les variables netuse et phc sont toutes deux associées à une diminution de la prévalence du paludisme, bien que l’effet de phc ne soit pas significatif à un seuil \\(\\alpha = 0.05\\). L’ordonnée à l’origine (0.149) est le logit de la probabilité de présence du paludisme pour un enfant sans moustiquaire et sans centre de santé publique, mais c’est l’ordonnée à l’origine moyenne pour tous les villages. Il y a beaucoup de variation entre les villages selon l’écart-type de l’effet aléatoire (0.90). Nous pouvons obtenir l’ordonnée à l’origine estimée pour chaque village avec la fonction coef:\n\n\nhead(coef(mod_glmm)$id_village)\n\n\n (Intercept) netuse phc\n1 0.93727515 -0.6043602 -0.4984835\n2 0.09204843 -0.6043602 -0.4984835\n3 0.22500620 -0.6043602 -0.4984835\n4 -0.46271089 -0.6043602 -0.4984835\n5 0.13680037 -0.6043602 -0.4984835\n6 -0.03723346 -0.6043602 -0.4984835\n\nPar exemple, l’ordonnée à l’origine pour le village 1 est environ 0.94, équivalente à une probabilité de 72%:\n\n\nplogis(0.937)\n\n\n[1] 0.7184933\n\ntandis que celle pour le village 2 est équivalente à une probabilité de 52%:\n\n\nplogis(0.092)\n\n\n[1] 0.5229838\n\nLe package DHARMa fournit une méthode générale pour vérifier si les résidus d’un GLMM sont distribués selon le modèle spécifié et s’il existe une tendance résiduelle. Il simule des réplicats de chaque observation selon le modèle ajusté et détermine ensuite un “résidu standardisé”, qui est la position relative de la valeur observée par rapport aux valeurs simulées, par exemple 0 si l’observation est plus petite que toutes les simulations, 0.5 si elle se trouve au milieu, etc. Si le modèle représente bien les données, chaque valeur du résidu standardisé entre 0 et 1 doit avoir la même probabilité, de sorte que les résidus standardisés doivent produire une distribution uniforme entre 0 et 1.\nLa fonction simulateResiduals effectue le calcul des résidus standardisés, puis la fonction plot trace les graphiques de diagnostic avec les résultats de certains tests.\n\n\nlibrary(DHARMa)\nres_glmm <- simulateResiduals(mod_glmm)\nplot(res_glmm)\n\n\n\n\nLe graphique de gauche est un graphique quantile-quantile des résidus standardisés. Les résultats de trois tests statistiques sont également présentés: un test de Kolmogorov-Smirnov (KS) qui vérifie s’il y a un écart par rapport à la distribution théorique, un test de dispersion qui vérifie s’il y a une sous-dispersion ou une surdispersion et un test de valeurs aberrantes (outlier) basé sur le nombre de résidus qui sont plus extrêmes que toutes les simulations. Ici, nous obtenons un résultat significatif pour les valeurs aberrantes, bien que le message indique que ce résultat pourrait avoir un taux d’erreur de type I plus grand que prévu dans ce cas.\nÀ droite, nous obtenons généralement un graphique des résidus standardisés (en y) en fonction du rang des valeurs prédites, afin de vérifier l’absence de tendance résiduelle. Ici, les prédictions sont regroupées par quartile, il serait donc préférable d’agréger les prédictions et les résidus par village, ce que nous pouvons faire avec la fonction recalculateResiduals.\n\n\nplot(recalculateResiduals(res_glmm, group = gambia$id_village))\n\n\n\n\nLe graphique de droite montre les points individuels, ainsi qu’une régression quantile pour le 1er quartile, la médiane et le 3e quartile. En théorie, ces trois courbes devraient être des lignes droites horizontales (pas de tendance des résidus par rapport aux prévisions). La courbe pour le 3e quartile (en rouge) est significativement différente d’une ligne horizontale, ce qui pourrait indiquer un effet systématique manquant dans le modèle.\nGLMM spatial avec spaMM\nLe package spaMM (modèles mixtes spatiaux) est un package R relativement récent qui permet d’effectuer une estimation approximative du maximum de vraisemblance des paramètres pour les GLM avec dépendance spatiale, modélisés soit comme un processus gaussien, soit avec un CAR (nous verrons ce dernier dans la dernière section). Le package implémente différents algorithmes, mais il existe une fonction unique fitme qui choisit l’algorithme approprié pour chaque type de modèle. Par exemple, voici le même modèle (non spatial) que nous avons vu ci-dessus, ajusté avec spaMM.\n\n\nlibrary(spaMM)\n\nmod_spamm_glmm <- fitme(pos ~ netuse + phc + (1 | id_village),\n data = gambia, family = binomial)\nsummary(mod_spamm_glmm)\n\n\nformula: pos ~ netuse + phc + (1 | id_village)\nEstimation of lambda by Laplace ML approximation (p_v).\nEstimation of fixed effects by Laplace ML approximation (p_v).\nfamily: binomial( link = logit ) \n ------------ Fixed effects (beta) ------------\n Estimate Cond. SE t-value\n(Intercept) 0.1491 0.2287 0.6519\nnetuse -0.6045 0.1420 -4.2567\nphc -0.4986 0.2593 -1.9231\n --------------- Random effects ---------------\nFamily: gaussian( link = identity ) \n --- Variance parameters ('lambda'):\nlambda = var(u) for u ~ Gaussian; \n id_village : 0.8151 \n --- Coefficients for log(lambda):\n Group Term Estimate Cond.SE\n id_village (Intercept) -0.2045 0.2008\n# of obs: 2035; # of groups: id_village, 65 \n ------------- Likelihood values -------------\n logLik\np_v(h) (marginal L): -1210.016\n\nNotez que les estimés des effets fixes ainsi que la variance des effets aléatoires sont presque identiques à ceeux obtenues par glmer ci-dessus.\nNous pouvons maintenant utiliser spaMM pour ajuster le même modèle avec l’ajout de corrélations spatiales entre les villages. Dans la formule du modèle, ceci est représenté comme un effet aléatoire Matern(1 | x + y), ce qui signifie que les ordonnées à l’origine sont spatialement corrélées entre les villages suivant une fonction de corrélation de Matérn des coordonnées (x, y). La fonction de Matérn est une fonction flexible de corrélation spatiale qui comprend un paramètre de forme \\(\\nu\\) (nu), de sorte que lorsque \\(\\nu = 0,5\\), elle est équivalente à la corrélation exponentielle, mais quand \\(\\nu\\) prend de grandes valeurs, elle se rapproche d’une corrélation gaussienne. Nous pourrions laisser la fonction estimer \\(\\nu\\), mais ici nous le fixons à 0.5 avec l’argument fixed de fitme.\n\n\nmod_spamm <- fitme(pos ~ netuse + phc + Matern(1 | x + y) + (1 | id_village),\n data = gambia, family = binomial, fixed = list(nu = 0.5))\nsummary(mod_spamm)\n\n\nformula: pos ~ netuse + phc + Matern(1 | x + y) + (1 | id_village)\nEstimation of lambda and corrPars by Laplace ML approximation (p_v).\nEstimation of fixed effects by Laplace ML approximation (p_v).\nfamily: binomial( link = logit ) \n ------------ Fixed effects (beta) ------------\n Estimate Cond. SE t-value\n(Intercept) 0.06861 0.3351 0.2047\nnetuse -0.51719 0.1407 -3.6758\nphc -0.44416 0.2052 -2.1648\n --------------- Random effects ---------------\nFamily: gaussian( link = identity ) \n --- Correlation parameters:\n 1.nu 1.rho \n0.50000000 0.05128915 \n --- Variance parameters ('lambda'):\nlambda = var(u) for u ~ Gaussian; \n x + y : 0.6421 \n id_village : 0.1978 \n --- Coefficients for log(lambda):\n Group Term Estimate Cond.SE\n x + y (Intercept) -0.443 0.2919\n id_village (Intercept) -1.62 0.3166\n# of obs: 2035; # of groups: x + y, 65; id_village, 65 \n ------------- Likelihood values -------------\n logLik\np_v(h) (marginal L): -1197.968\n\nCommençons par vérifier les effets aléatoires du modèle. La fonction de corrélation spatiale a un paramètre rho égal à 0.0513. Ce paramètre dans spaMM est l’inverse de la portée, donc ici la portée de la corrélation exponentielle est de 1/0.0513 ou environ 19.5 km. Il y a maintenant deux pramètres de variance, celui identifié comme x + y est la variance à longue distance (i.e. le palier) pour le modèle de corrélation exponentielle alors que celui identifié comme id_village montre la portion non corrélée de la variation entre les villages.\nSi nous avions ici laissé les effets aléatoires (1 | id_village) dans la formule pour représenter la partie non spatiale de la variation entre les villages, nous pourrions également représenter ceci avec un effet de pépite dans le modèle géostatistique. Dans les deux cas, cela représenterait l’idée que même deux villages très proches l’un de l’autre auraient des prévalences de base différentes dans le modèle.\nPar défaut, la fonction Matern n’a pas d’effet de pépite, mais nous pouvons en ajouter un en spécifiant une pépite non nulle dans la liste initiale des paramètres init.\n\n\nmod_spamm2 <- fitme(pos ~ netuse + phc + Matern(1 | x + y),\n data = gambia, family = binomial, fixed = list(nu = 0.5),\n init = list(Nugget = 0.1))\nsummary(mod_spamm2)\n\n\nformula: pos ~ netuse + phc + Matern(1 | x + y)\nEstimation of lambda and corrPars by Laplace ML approximation (p_v).\nEstimation of fixed effects by Laplace ML approximation (p_v).\nfamily: binomial( link = logit ) \n ------------ Fixed effects (beta) ------------\n Estimate Cond. SE t-value\n(Intercept) 0.06861 0.3352 0.2047\nnetuse -0.51719 0.1407 -3.6758\nphc -0.44416 0.2052 -2.1648\n --------------- Random effects ---------------\nFamily: gaussian( link = identity ) \n --- Correlation parameters:\n 1.nu 1.Nugget 1.rho \n0.50000000 0.23551424 0.05128739 \n --- Variance parameters ('lambda'):\nlambda = var(u) for u ~ Gaussian; \n x + y : 0.8399 \n --- Coefficients for log(lambda):\n Group Term Estimate Cond.SE\n x + y (Intercept) -0.1744 0.2146\n# of obs: 2035; # of groups: x + y, 65 \n ------------- Likelihood values -------------\n logLik\np_v(h) (marginal L): -1197.968\n\nComme vous pouvez le voir, toutes les estimations sont les mêmes, sauf que la variance de la portion spatiale (palier) est maintenant de 0.84 et que la pépite est égale à une fraction 0.235 de ce palier, soit une variance de 0.197, ce qui est identique à l’effet aléatoire id_village dans la version ci-dessus. Les deux formulations sont donc équivalentes.\nMaintenant, rappelons les coefficients que nous avions obtenus pour le GLMM non spatial :\n\n\nsummary(mod_glmm)$coefficients\n\n\n Estimate Std. Error z value Pr(>|z|)\n(Intercept) 0.1490596 0.2297164 0.6488855 5.164124e-01\nnetuse -0.6043602 0.1442451 -4.1898129 2.791846e-05\nphc -0.4984835 0.2604289 -1.9140866 5.560909e-02\n\nDans la version spatiale, les deux effets fixes se sont légèrement rapprochés de zéro, mais l’erreur-type de l’effet de phc a diminué. Il est intéressant de noter que l’inclusion de la dépendance spatiale nous a permis d’estimer plus précisément l’effet de la présence d’un centre de santé publique dans le village. Ce ne serait pas toujours le cas: pour un prédicteur qui est également fortement corrélé dans l’espace, la corrélation spatiale dans la réponse rend plus difficile l’estimation de l’effet de ce prédicteur, puisqu’il est confondu avec l’effet spatial. Cependant, pour un prédicteur qui n’est pas corrélé dans l’espace, l’inclusion de l’effet spatial réduit la variance résiduelle (non spatiale) et peut donc augmenter la précision de l’effet du prédicteur.\nLe package spaMM est également compatible avec DHARMa pour les diagnostics résiduels. (Vous pouvez ignorer l’avertissement selon lequel il ne fait pas partie de la classe des modèles pris en charge, cela est dû à l’utilisation de la fonction fitme plutôt que d’une fonction d’algorithme spécifique dans spaMM).\n\n\nres_spamm <- simulateResiduals(mod_spamm2)\nplot(res_spamm)\n\n\n\nplot(recalculateResiduals(res_spamm, group = gambia$id_village))\n\n\n\n\nEnfin, bien que nous allons montrer comment calculer et visualiser des prédictions spatiales ci-dessous, nous pouvons produire une carte rapide des effets spatiaux estimés dans un modèle spaMM avec la fonction filled.mapMM.\n\n\nfilled.mapMM(mod_spamm2)\n\n\n\n\nProcessus gaussiens vs. splines de lissage\nSi vous connaissez bien les modèles additifs généralisés (GAM), vous avez peut-être pensé à représenter la variation spatiale de la prévalence du paludisme (comme le montre la carte ci-dessus) par une spline de lissage en 2D (en fonction de \\(x\\) et \\(y\\)) dans un GAM.\nLe code ci-dessous correspond à l’équivalent GAM de notre GLMM avec processus gaussien ci-dessus, ajusté avec la fonction gam du package mgcv. L’effet spatial est représenté par la spline 2D s(x, y) alors que l’effet aléatoire non spatial de village est représenté par s(id_village, bs = \"re\"), qui est équivalent à (1 | id_village) dans les modèles précédents. Notez que pour la fonction gam, les variables catégorielles doivent être explicitement converties en facteurs.\n\n\nlibrary(mgcv)\ngambia$id_village <- as.factor(gambia$id_village)\nmod_gam <- gam(pos ~ netuse + phc + s(id_village, bs = \"re\") + s(x, y), \n data = gambia, family = binomial)\n\n\n\nPour visualiser la spline en 2D, nous utiliserons le package gratia.\n\n\nlibrary(gratia)\ndraw(mod_gam)\n\n\n\n\nNotez que le graphique de la spline s(x, y) (en haut à droite) ne s’étend pas trop loin des emplacements des données (les autres zones sont vides). Dans ce graphique, on peut également voir que les effets aléatoires des villages suivent la distribution gaussienne attendue (en haut à gauche).\nEnsuite, nous utiliserons à la fois le GLMM spatial de la section précédente et ce GAMM pour prédire la prévalence moyenne sur une grille spatiale de points contenue dans le fichier gambia_pred.csv. Le graphique ci-dessous ajoute ces points de prédiction (en noir) sur la carte précédente des points de données.\n\n\ngambia_pred <- read.csv(\"data/gambia_pred.csv\")\n\nggplot(gambia_agg, aes(x = x, y = y)) +\n geom_point(data = gambia_pred) +\n geom_point(aes(color = prev)) +\n geom_path(data = gambia.borders, aes(x = x / 1000, y = y / 1000)) +\n coord_fixed() +\n theme_minimal() +\n scale_color_viridis_c()\n\n\n\n\nPour faire des prédictions à partir du modèle GAMM à ces endroits, le code ci-dessous effectue les étapes suivantes:\nTous les prédicteurs du modèle doivent se trouver dans le tableau de données de prédiction, nous ajoutons donc des valeurs constantes de netuse et phc (toutes deux égales à 1) pour tous les points. Ainsi, nous ferons des prédictions sur la prévalence du paludisme dans le cas où un moustiquaire est utilisée et où un centre de santé publique est présent. Nous ajoutons également un id_village constant, bien qu’il ne soit pas utilisé dans les prédictions (voir ci-dessous).\nNous appelons la fonction predict à la sortie de gam pour produire des prédictions aux nouveaux points de données (argument newdata), en incluant les erreurs-types (se.fit = TRUE) et en excluant les effets aléatoires du village, donc la prédiction est faite pour un “village moyen”. L’objet résultant gam_pred aura des colonnes fit (prédiction moyenne) et se.fit (erreur-type). Ces prédictions et erreurs-types sont sur l’échelle du lien (logit).\nNous rattachons le jeu de données de prédiction original à gam_pred avec cbind.\nNous ajoutons des colonnes pour la prédiction moyenne et les limites de l’intervalle de confiance à 50% (moyenne \\(\\pm\\) 0.674 erreur-type), converties de l’échelle logit à l’échelle de probabilité avec plogis. Nous choisissons un intervalle de 50% car un intervalle de 95% peut être trop large ici pour contraster les différentes prédictions sur la carte à la fin de cette section.\n\n\ngambia_pred <- mutate(gambia_pred, netuse = 1, phc = 1, id_village = 1)\n\ngam_pred <- predict(mod_gam, newdata = gambia_pred, se.fit = TRUE, \n exclude = \"s(id_village)\")\ngam_pred <- cbind(gambia_pred, as.data.frame(gam_pred))\ngam_pred <- mutate(gam_pred, pred = plogis(fit), \n lo = plogis(fit - 0.674 * se.fit), # 50% CI\n hi = plogis(fit + 0.674 * se.fit))\n\n\n\nNote : La raison pour laquelle nous ne faisons pas de prédictions directement sur l’échelle de probabilité (réponse) est que la formule normale des intervalles de confiance s’applique plus précisément sur l’échelle logit. L’ajout d’un certain nombre d’erreurs-types autour de la moyenne sur l’échelle de probabilité conduirait à des intervalles moins précis et peut-être même à des intervalles de confiance en dehors de la plage de valeurs possible (0, 1) pour une probabilité.\nNous appliquons la même stratégie pour faire des prédictions à partir du GLMM spatial avec spaMM. Il y a quelques différences dans la méthode predict par rapport au cas du GAMM.\nL’argument binding = \"fit\" signifie que les prédictions moyennes (colonne fit) seront attachées à l’ensemble de données de prédiction et retournées sous forme de tableau de données spamm_pred.\nL’argument variances = list(linPred = TRUE) indique à predict de calculer la variance du prédicteur linéaire (donc le carré de l’erreur-type). Cependant, il apparaît comme un attribut predVar dans le tableau de données de sortie plutôt que dans une colonne se.fit, donc nous le déplaçons vers une colonne sur la ligne suivante.\n\n\nspamm_pred <- predict(mod_spamm, newdata = gambia_pred, type = \"link\",\n binding = \"fit\", variances = list(linPred = TRUE))\nspamm_pred$se.fit <- sqrt(attr(spamm_pred, \"predVar\"))\nspamm_pred <- mutate(spamm_pred, pred = plogis(fit), \n lo = plogis(fit - 0.674 * se.fit),\n hi = plogis(fit + 0.674 * se.fit))\n\n\n\nEnfin, nous combinons les deux ensembles de prédictions sous la forme de différentes rangées d’un tableau de données pred_all avec bind_rows. Le nom du tableau de données d’où provient chaque prédiction (gam ou spamm) apparaîtra dans la colonne “model” (argument .id). Pour simplifier la production du prochain graphique, nous utilisons ensuite pivot_longer dans le package tidyr pour changer les trois colonnes “pred”, “lo” et “hi” en deux colonnes, “stat” et “value” (pred_tall a donc trois rangées pour chaque rangée dans pred_all).\n\n\npred_all <- bind_rows(gam = gam_pred, spamm = spamm_pred, .id = \"model\")\n\nlibrary(tidyr)\npred_tall <- pivot_longer(pred_all, c(pred, lo, hi), names_to = \"stat\",\n values_to = \"value\")\n\n\n\nUne fois ces étapes franchies, nous pouvons enfin examiner les cartes de prédiction (moyenne, limites inférieure et supérieure de l’intervalle de confiance à 50 %) à l’aide d’un graphique ggplot. Les points de données originaux sont indiqués en rouge.\n\n\nggplot(pred_tall, aes(x = x, y = y)) +\n geom_point(aes(color = value)) +\n geom_point(data = gambia_agg, color = \"red\", size = 0) +\n coord_fixed() +\n facet_grid(stat~model) +\n scale_color_viridis_c() +\n theme_minimal()\n\n\n\n\nBien que les deux modèles s’accordent à dire que la prévalence est plus élevée près du groupe de villages de l’est, le GAMM estime également une prévalence plus élevée en quelques points (bord ouest et autour du centre) où il n’y a pas de données. Il s’agit d’un artefact de la forme de la spline autour des points de données, puisqu’une spline est censée correspondre à une tendance globale, bien que non linéaire. En revanche, le modèle géostatistique représente l’effet spatial sous forme de corrélations locales et revient à la prévalence moyenne globale lorsqu’il est éloigné de tout point de données, ce qui est une supposition plus sûre. C’est l’une des raisons pour lesquelles il est préférable de choisir un modèle géostatistique / processus gaussien dans ce cas.\nMéthodes bayésiennes pour les GLMM avec processus gaussiens\nLes modèles bayésiens fournissent un cadre flexible pour exprimer des modèles avec une structure de dépendance complexe entre les données, y compris la dépendance spatiale. Cependant, l’ajustement d’un modèle de processus gaussien avec une approche entièrement bayésienne peut être lent, en raison de la nécessité de calculer une matrice de covariance spatiale entre toutes les paires de points à chaque itération.\nLa méthode INLA (pour integrated nested Laplace approximation) effectue un calcul approximatif de la distribution postérieure bayésienne, ce qui la rend adaptée aux problèmes de régression spatiale. Nous ne l’abordons pas dans ce cours, mais je recommande le manuel de Paula Moraga (dans la section des références ci-dessous) qui fournit des exemples concrets d’utilisation de la méthode INLA pour divers modèles de données géostatistiques et aréales, dans le contexte de l’épidémiologie, y compris des modèles avec une dépendance à la fois spatiale et temporelle. Le livre présente les mêmes données sur le paludisme en Gambie comme exemple d’un ensemble de données géostatistiques, ce qui a inspiré son utilisation dans ce cours.\nGLMM avec autorégression spatiale\nNous revenons au dernier exemple de la partie précédente, où nous avions modélisé le taux de cas de COVID-19 (cas / 1000) pour les divisions administratives du réseau de la santé (RLS) au Québec en fonction de leur densité de population. Le taux est donné par la colonne “taux_1k” dans le shapefile rls_covid.\n\n\nlibrary(sf)\nrls_covid <- read_sf(\"data/rls_covid.shp\")\nrls_covid <- rls_covid[!is.na(rls_covid$dens_pop), ]\nplot(rls_covid[\"taux_1k\"])\n\n\n\n\nAuparavant, nous avions modélisé le logarithme de ce taux comme une fonction linéaire du logarithme de la densité de population, la variance résiduelle étant corrélée entre les unités voisines via une structure CAR (autorégression conditionnelle), comme le montre le code ci-dessous.\n\n\nlibrary(spdep)\nlibrary(spatialreg)\n\nrls_nb <- poly2nb(rls_covid)\nrls_w <- nb2listw(rls_nb, style = \"B\")\n\ncar_lm <- spautolm(log(taux_1k) ~ log(dens_pop), data = rls_covid,\n listw = rls_w, family = \"CAR\")\nsummary(car_lm)\n\n\n\nCall: \nspautolm(formula = log(taux_1k) ~ log(dens_pop), data = rls_covid, \n listw = rls_w, family = \"CAR\")\n\nResiduals:\n Min 1Q Median 3Q Max \n-1.201858 -0.254084 -0.053348 0.281482 1.427053 \n\nCoefficients: \n Estimate Std. Error z value Pr(>|z|)\n(Intercept) 1.702068 0.168463 10.1035 < 2.2e-16\nlog(dens_pop) 0.206623 0.032848 6.2903 3.169e-10\n\nLambda: 0.15762 LR test value: 23.991 p-value: 9.6771e-07 \nNumerical Hessian standard error of lambda: 0.0050486 \n\nLog likelihood: -80.68953 \nML residual variance (sigma squared): 0.2814, (sigma: 0.53048)\nNumber of observations: 95 \nNumber of parameters estimated: 4 \nAIC: 169.38\n\nRappel: La fonction poly2nb du package spdep crée une liste de voisins basée sur les polygones limitrophes dans un shapefile, puis nb2listw la convertit en une liste de poids, ici des poids binaires (style = \"B\") de sorte que chaque région limitrophe reçoive le même poids de 1 dans le modèle autorégressif.\nAu lieu d’utiliser les taux, il serait possible de modéliser directement les cas avec une régression de Poisson, qui est appropriée pour les données de comptage. Pour tenir compte du fait que si le risque par personne était égal, les cas seraient proportionnels à la population, nous pouvons ajouter la population de l’unité pop comme offset dans la régression de Poisson. Par conséquent, le modèle ressemblerait à : cas ~ log(dens_pop) + offset(log(pop)). Notez que puisque la régression de Poisson utilise un lien logarithmique, ce modèle avec log(pop) comme offset suppose que log(cas / pop) (donc le taux logarithmique) est proportionnel à log(dens_pop), tout comme le modèle linéaire ci-dessus, mais il a l’avantage de modéliser la variabilité des données brutes (le nombre de cas) directement avec une distribution de Poisson.\nNous n’avons pas la population dans ces données, mais nous pouvons l’estimer à partir des cas et du taux (cas / 1000) comme suit:\n\n\nrls_covid$pop <- rls_covid$cas / rls_covid$taux_1k * 1000\n\n\n\nPour définir un modèle CAR dans spaMM, nous avons besoin d’une matrice de poids plutôt que d’une liste de poids comme dans le package spatialreg. Heureusement, le package spdep comprend également une fonction nb2mat pour convertir la liste des voisins en une matrice de poids, là encore en utilisant des poids binaires. Pour éviter un avertissement dans R, nous spécifions que les noms des lignes et des colonnes de cette matrice doivent être égaux aux identifiants associés à chaque unité (RLS_code). Ensuite, nous ajoutons un terme adjacency(1 | RLS_code) au modèle pour spécifier que la variation résiduelle entre les différents groupes définis par RLS_code est spatialement corrélée avec une structure CAR (ici, chaque groupe n’a qu’une observation puisque nous avons un point de données par unité RLS).\n\n\nlibrary(spaMM)\n\nrls_mat <- nb2mat(rls_nb, style = \"B\")\nrownames(rls_mat) <- rls_covid$RLS_code\ncolnames(rls_mat) <- rls_covid$RLS_code\n\nrls_spamm <- fitme(cas ~ log(dens_pop) + offset(log(pop)) + adjacency(1 | RLS_code),\n data = rls_covid, adjMatrix = rls_mat, family = poisson)\nsummary(rls_spamm)\n\n\nformula: cas ~ log(dens_pop) + offset(log(pop)) + adjacency(1 | RLS_code)\nEstimation of lambda and corrPars by Laplace ML approximation (p_v).\nEstimation of fixed effects by Laplace ML approximation (p_v).\nfamily: poisson( link = log ) \n ------------ Fixed effects (beta) ------------\n Estimate Cond. SE t-value\n(Intercept) -5.1620 0.16858 -30.621\nlog(dens_pop) 0.1999 0.03267 6.118\n --------------- Random effects ---------------\nFamily: gaussian( link = identity ) \n --- Correlation parameters:\n 1.rho \n0.1576786 \n --- Variance parameters ('lambda'):\nlambda = var(u) for u ~ Gaussian; \n RLS_code : 0.266 \n --- Coefficients for log(lambda):\n Group Term Estimate Cond.SE\n RLS_code (Intercept) -1.324 0.1473\n# of obs: 95; # of groups: RLS_code, 95 \n ------------- Likelihood values -------------\n logLik\np_v(h) (marginal L): -709.3234\n\nNotez que le coefficient de corrélation spatiale rho (0.158) est similaire à la quantité équivalente dans le modèle spautolm ci-dessus, où il était appelé Lambda. L’effet de log(dens_pop) est également d’environ 0.2 dans les deux modèles.\nRéférence\nMoraga, Paula (2019) Geospatial Health Data: Modeling and Visualization with R-INLA and Shiny. Chapman & Hall/CRC Biostatistics Series. Disponible en ligne: https://www.paulamoraga.com/book-geospatial/.\n\n\n\n", "preview": "Marchand/2021-01-21-statistiques-spatiales-en-cologie-partie-4/statistiques-spatiales-en-cologie-partie-4_files/figure-html5/unnamed-chunk-3-1.png", - "last_modified": "2021-04-26T19:09:58-04:00", + "last_modified": "2021-05-19T11:56:36-04:00", "input_file": {}, "preview_width": 1248, "preview_height": 768 @@ -60,7 +60,7 @@ ], "contents": "\n\nContents\nAreal data\nMoran’s I\nSpatial autoregression models\nConditional autoregressive (CAR) model\nSimultaneous autoregressive (SAR) model\n\nAnalysis of areal data in R\nDefinition of the neighbourhood network\nSpatial autoregression models\nExercise\n\nReference\n\nAreal data\nAreal data are variables measured for regions of space, defined by polygons. This type of data is more common in the social sciences, human geography and epidemiology, where data is often available at the scale of administrative divisions.\nThis type of data also appears frequently in natural resource management. For example, the following map shows the forest management units of the Ministère de la Forêt, de la Faune et des Parcs du Québec.\n\nSuppose that a variable is available at the level of these management units. How can we model the spatial correlation between units that are spatially close together?\nOne option would be to apply the geostatistical methods seen before, for example by calculating the distance between the centers of the polygons.\nAnother option, which is more adapted for areal data, is to define a network where each region is connected to neighbouring regions by a link. It is then assumed that the variables are directly correlated between neighbouring regions only. (Note, however, that direct correlations between immediate neighbours also generate indirect correlations for a chain of neighbours).\nIn this type of model, the correlation is not necessarily the same from one link to another. In this case, each link in the network can be associated with a weight representing its importance for the spatial correlation. We represent these weights by a matrix \\(W\\) where \\(w_{ij}\\) is the weight of the link between regions \\(i\\) and \\(j\\). A region has no link with itself, so \\(w_{ii} = 0\\).\nA simple choice for \\(W\\) is to assign a weight equal to 1 if the regions are neighbours, otherwise 0 (binary weight).\nIn addition to land divisions represented by polygons, another example of areal data consists of a grid where the variable is calculated for each cell of the grid. In this case, a cell generally has 4 or 8 neighbouring cells, depending on whether diagonals are included or not.\nMoran’s I\nBefore discussing spatial autocorrelation models, we present Moran’s \\(I\\) statistic, which allows us to test whether a significant correlation is present between neighbouring regions.\nMoran’s \\(I\\) is a spatial autocorrelation coefficient of \\(z\\), weighted by the \\(w_{ij}\\). It therefore takes values between -1 and 1.\n\\[I = \\frac{N}{\\sum_i \\sum_j w_{ij}} \\frac{\\sum_i \\sum_j w_{ij} (z_i - \\bar{z}) (z_j - \\bar{z})}{\\sum_i (z_i - \\bar{z})^2}\\]\nIn this equation, we recognize the expression of a correlation, which is the product of the deviations from the mean for two variables \\(z_i\\) and \\(z_j\\), divided by the product of their standard deviations (it is the same variable here, so we get the variance). The contribution of each pair \\((i, j)\\) is multiplied by its weight \\(w_{ij}\\) and the term on the left (the number of regions \\(N\\) divided by the sum of the weights) ensures that the result is bounded between -1 and 1.\nSince the distribution of \\(I\\) is known in the absence of spatial autocorrelation, this statistic serves to test the null hypothesis that there is no spatial correlation between neighbouring regions.\nAlthough we will not see an example in this course, Moran’s \\(I\\) can also be applied to point data. In this case, we divide the pairs of points into distance classes and calculate \\(I\\) for each distance class; the weight \\(w_{ij} = 1\\) if the distance between \\(i\\) and \\(j\\) is in the desired distance class, otherwise 0.\nSpatial autoregression models\nLet us recall the formula for a linear regression with spatial dependence:\n\\[v = \\beta_0 + \\sum_i \\beta_i u_i + z + \\epsilon\\]\nwhere \\(z\\) is the portion of the residual variance that is spatially correlated.\nThere are two main types of autoregressive models to represent the spatial dependence of \\(z\\): conditional autoregression (CAR) and simultaneous autoregressive (SAR).\nConditional autoregressive (CAR) model\nIn the conditional autoregressive model, the value of \\(z_i\\) for the region \\(i\\) follows a normal distribution: its mean depends on the value \\(z_j\\) of neighbouring regions, multiplied by the weight \\(w_{ij}\\) and a correlation coefficient \\(\\rho\\); its standard deviation \\(\\sigma_{z_i}\\) may vary from one region to another.\n\\[z_i \\sim \\text{N}\\left(\\sum_j \\rho w_{ij} z_j,\\sigma_{z_i} \\right)\\]\nIn this model, if \\(w_{ij}\\) is a binary matrix (0 for non-neighbours, 1 for neighbours), then \\(\\rho\\) is the coefficient of partial correlation between neighbouring regions. This is similar to a first-order autoregressive model in the context of time series, where the autoregression coefficient indicates the partial correlation.\nSimultaneous autoregressive (SAR) model\nIn the simultaneous autoregressive model, the value of \\(z_i\\) is given directly by the sum of contributions from neighbouring values \\(z_j\\), multiplied by \\(\\rho w_{ij}\\), with an independent residual \\(\\nu_i\\) of standard deviation \\(\\sigma_z\\).\n\\[z_i = \\sum_j \\rho w_{ij} z_j + \\nu_i\\]\nAt first glance, this looks like a temporal autoregressive model. However, there is an important conceptual difference. For temporal models, the causal influence is directed in only one direction: \\(v(t-2)\\) affects \\(v(t-1)\\) which then affects \\(v(t)\\). For a spatial model, each \\(z_j\\) that affects \\(z_i\\) depends in turn on \\(z_i\\). Thus, to determine the joint distribution of \\(z\\), a system of equations must be solved simultaneously (hence the name of the model).\nFor this reason, although this model resembles the formula of CAR model, the solutions of the two models differ and in the case of SAR, the coefficient \\(\\rho\\) is not directly equal to the partial correlation due to each neighbouring region.\nFor more details on the mathematical aspects of these models, see the article by Ver Hoef et al. (2018) suggested in reference.\nFor the moment, we will consider SAR and CAR as two types of possible models to represent a spatial correlation on a network. We can always fit several models and compare them with the AIC to choose the best form of correlation or the best weight matrix.\nThe CAR and SAR models share an advantage over geostatistical models in terms of efficiency. In a geostatistical model, spatial correlations are defined between each pair of points, although they become negligible as distance increases. For a CAR or SAR model, only neighbouring regions contribute and most weights are equal to 0, making these models faster to fit than a geostatistical model when the data are massive.\nAnalysis of areal data in R\nTo illustrate the analysis of areal data in R, we load the packages sf (to read geospatial data), spdep (to define spatial networks and calculate Moran’s \\(I\\)) and spatialreg (for SAR and CAR models).\n\n\nlibrary(sf)\nlibrary(spdep)\nlibrary(spatialreg)\n\n\n\nAs an example, we will use a dataset that presents some of the results of the 2018 provincial election in Quebec, with population characteristics of each riding. This data is included in a shapefile (.shp) file type, which we can read with the read_sf function of the sf package.\n\n\nelect2018 <- read_sf(\"data/elect2018.shp\")\nhead(elect2018)\n\n\nSimple feature collection with 6 features and 9 fields\nGeometry type: MULTIPOLYGON\nDimension: XY\nBounding box: xmin: 97879.03 ymin: 174515.3 xmax: 694261.1 ymax: 599757.1\nProjected CRS: LambertAQ\n# A tibble: 6 x 10\n circ age_moy pct_frn pct_prp rev_med propCAQ propPQ propPLQ propQS\n <chr> <dbl> <dbl> <dbl> <int> <dbl> <dbl> <dbl> <dbl>\n1 Abiti… 40.8 0.963 0.644 34518 42.7 19.5 18.8 15.7\n2 Abiti… 42.2 0.987 0.735 33234 34.1 33.3 11.3 16.6\n3 Acadie 40.3 0.573 0.403 25391 16.5 9 53.8 13.8\n4 Anjou… 43.5 0.821 0.416 31275 28.9 14.7 39.1 14.5\n5 Argen… 43.3 0.858 0.766 31097 38.9 21.1 17.4 12.2\n6 Artha… 43.4 0.989 0.679 30082 61.8 9.4 11.4 12.6\n# … with 1 more variable: geometry <MULTIPOLYGON [m]>\n\nNote: The dataset is actually composed of 4 files with the extensions .dbf, .prj, .shp and .shx, but it is sufficient to write the name of the .shp file in read_sf.\nThe columns of the dataset are, in order:\nthe name of the electoral riding (circ);\nfour characteristics of the population (age_moy = mean age, pct_frn = fraction of the population that speaks mainly French at home, pct_prp = fraction of households that own their home, rev_med = median income);\nfour columns showing the fraction of votes obtained by the main parties (CAQ, PQ, PLQ, QS);\na geometry column that contains the geometric object (multipolygon) corresponding to the riding.\nTo illustrate one of the variables on a map, we call the plot function with the name of the column in square brackets and quotation marks.\n\n\nplot(elect2018[\"rev_med\"])\n\n\n\n\nIn this example, we want to model the fraction of votes obtained by the CAQ based on the characteristics of the population in each riding and taking into account the spatial correlations between neighbouring ridings.\nDefinition of the neighbourhood network\nThe poly2nb function of the spdep package defines a neighbourhood network from polygons. The result vois is a list of 125 elements where each element contains the indices of the neighbouring (bordering) polygons of a given polygon.\n\n\nvois <- poly2nb(elect2018)\nvois[[1]]\n\n\n[1] 2 37 63 88 101 117\n\nThus, the first riding (Abitibi-Est) has 6 neighbouring ridings, for which the names can be found as follows:\n\n\nelect2018$circ[vois[[1]]]\n\n\n[1] \"Abitibi-Ouest\" \"Gatineau\" \n[3] \"Laviolette-Saint-Maurice\" \"Pontiac\" \n[5] \"Rouyn-Noranda-Témiscamingue\" \"Ungava\" \n\nWe can illustrate this network by extracting the coordinates of the center of each district, creating a blank map with plot(elect2018[\"geometry\"]), then adding the network as an additional layer with plot(vois, add = TRUE, coords = coords).\n\n\ncoords <- st_centroid(elect2018) %>%\n st_coordinates()\nplot(elect2018[\"geometry\"])\nplot(vois, add = TRUE, col = \"red\", coords = coords)\n\n\n\n\nWe can “zoom” on southern Québec by choosing the limits xlim and ylim.\n\n\nplot(elect2018[\"geometry\"], \n xlim = c(400000, 800000), ylim = c(100000, 500000))\nplot(vois, add = TRUE, col = \"red\", coords = coords)\n\n\n\n\nWe still have to add weights to each network link with the nb2listw function. The style of weights “B” corresponds to binary weights, i.e. 1 for the presence of link and 0 for the absence of link between two ridings.\nOnce these weights are defined, we can verify with Moran’s test whether there is a significant autocorrelation of votes obtained by the CAQ between neighbouring ridings.\n\n\npoids <- nb2listw(vois, style = \"B\")\n\nmoran.test(elect2018$propCAQ, poids)\n\n\n\n Moran I test under randomisation\n\ndata: elect2018$propCAQ \nweights: poids \n\nMoran I statistic standard deviate = 13.148, p-value < 2.2e-16\nalternative hypothesis: greater\nsample estimates:\nMoran I statistic Expectation Variance \n 0.680607768 -0.008064516 0.002743472 \n\nThe value \\(I = 0.68\\) is very significant judging by the \\(p\\)-value of the test.\nLet’s verify if the spatial correlation persists after taking into account the four characteristics of the population, therefore by inspecting the residuals of a linear model including these four predictors.\n\n\nelect_lm <- lm(propCAQ ~ age_moy + pct_frn + pct_prp + rev_med, data = elect2018)\nsummary(elect_lm)\n\n\n\nCall:\nlm(formula = propCAQ ~ age_moy + pct_frn + pct_prp + rev_med, \n data = elect2018)\n\nResiduals:\n Min 1Q Median 3Q Max \n-30.9890 -4.4878 0.0562 6.2653 25.8146 \n\nCoefficients:\n Estimate Std. Error t value Pr(>|t|) \n(Intercept) 1.354e+01 1.836e+01 0.737 0.463 \nage_moy -9.170e-01 3.855e-01 -2.378 0.019 * \npct_frn 4.588e+01 5.202e+00 8.820 1.09e-14 ***\npct_prp 3.582e+01 6.527e+00 5.488 2.31e-07 ***\nrev_med -2.624e-05 2.465e-04 -0.106 0.915 \n---\nSignif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1\n\nResidual standard error: 9.409 on 120 degrees of freedom\nMultiple R-squared: 0.6096, Adjusted R-squared: 0.5965 \nF-statistic: 46.84 on 4 and 120 DF, p-value: < 2.2e-16\n\nmoran.test(residuals(elect_lm), poids)\n\n\n\n Moran I test under randomisation\n\ndata: residuals(elect_lm) \nweights: poids \n\nMoran I statistic standard deviate = 6.7047, p-value =\n1.009e-11\nalternative hypothesis: greater\nsample estimates:\nMoran I statistic Expectation Variance \n 0.340083290 -0.008064516 0.002696300 \n\nMoran’s \\(I\\) has decreased but remains significant, so some of the previous correlation was induced by these predictors, but there remains a spatial correlation due to other factors.\nSpatial autoregression models\nFinally, we fit SAR and CAR models to these data with the spautolm (spatial autoregressive linear model) function of spatialreg. Here is the code for a SAR model including the effect of the same four predictors.\n\n\nelect_sar <- spautolm(propCAQ ~ age_moy + pct_frn + pct_prp + rev_med, \n data = elect2018, listw = poids)\nsummary(elect_sar)\n\n\n\nCall: \nspautolm(formula = propCAQ ~ age_moy + pct_frn + pct_prp + rev_med, \n data = elect2018, listw = poids)\n\nResiduals:\n Min 1Q Median 3Q Max \n-23.08342 -4.10573 0.24274 4.29941 23.08245 \n\nCoefficients: \n Estimate Std. Error z value Pr(>|z|)\n(Intercept) 15.09421119 16.52357745 0.9135 0.36098\nage_moy -0.70481703 0.32204139 -2.1886 0.02863\npct_frn 39.09375061 5.43653962 7.1909 6.435e-13\npct_prp 14.32329345 6.96492611 2.0565 0.03974\nrev_med 0.00016730 0.00023209 0.7208 0.47101\n\nLambda: 0.12887 LR test value: 42.274 p-value: 7.9339e-11 \nNumerical Hessian standard error of lambda: 0.01207 \n\nLog likelihood: -433.8862 \nML residual variance (sigma squared): 53.028, (sigma: 7.282)\nNumber of observations: 125 \nNumber of parameters estimated: 7 \nAIC: 881.77\n\nThe value given by Lambda in the summary corresponds to the coefficient \\(\\rho\\) in our description of the model. The likelihood-ratio test (LR test) confirms that this residual spatial correlation (after controlling for the effect of predictors) is significant.\nThe estimated effects for the predictors are similar to those of the linear model without spatial correlation. The effects of mean age, fraction of francophones and fraction of homeowners remain significant, although their magnitude has decreased somewhat.\nTo fit a CAR rather than SAR model, we must specify family = \"CAR\".\n\n\nelect_car <- spautolm(propCAQ ~ age_moy + pct_frn + pct_prp + rev_med, \n data = elect2018, listw = poids, family = \"CAR\")\nsummary(elect_car)\n\n\n\nCall: \nspautolm(formula = propCAQ ~ age_moy + pct_frn + pct_prp + rev_med, \n data = elect2018, listw = poids, family = \"CAR\")\n\nResiduals:\n Min 1Q Median 3Q Max \n-21.73315 -4.24623 -0.24369 3.44228 23.43749 \n\nCoefficients: \n Estimate Std. Error z value Pr(>|z|)\n(Intercept) 16.57164696 16.84155327 0.9840 0.325128\nage_moy -0.79072151 0.32972225 -2.3981 0.016478\npct_frn 38.99116707 5.43667482 7.1719 7.399e-13\npct_prp 17.98557474 6.80333470 2.6436 0.008202\nrev_med 0.00012639 0.00023106 0.5470 0.584364\n\nLambda: 0.15517 LR test value: 40.532 p-value: 1.9344e-10 \nNumerical Hessian standard error of lambda: 0.0026868 \n\nLog likelihood: -434.7573 \nML residual variance (sigma squared): 53.9, (sigma: 7.3416)\nNumber of observations: 125 \nNumber of parameters estimated: 7 \nAIC: 883.51\n\nFor a CAR model with binary weights, the value of Lambda (which we called \\(\\rho\\)) directly gives the partial correlation coefficient between neighbouring districts. Note that the AIC here is slightly higher than the SAR model, so the latter gave a better fit.\nExercise\nThe rls_covid dataset, in shapefile format, contains data on detected COVID-19 cases (cas), number of cases per 1000 people (taux_1k) and the population density (dens_pop) in each of Quebec’s local health service networks (RLS) (Source: Data downloaded from the Institut national de santé publique du Québec as of January 17, 2021).\n\n\nrls_covid <- read_sf(\"data/rls_covid.shp\")\nhead(rls_covid)\n\n\nSimple feature collection with 6 features and 5 fields\nGeometry type: MULTIPOLYGON\nDimension: XY\nBounding box: xmin: 785111.2 ymin: 341057.8 xmax: 979941.5 ymax: 541112.7\nProjected CRS: Conique_conforme_de_Lambert_du_MTQ_utilis_e_pour_Adresse_Qu_be\n# A tibble: 6 x 6\n RLS_code RLS_nom cas taux_1k dens_pop geometry\n <chr> <chr> <dbl> <dbl> <dbl> <MULTIPOLYGON [m]>\n1 0111 RLS de … 152 7.34 6.76 (((827028.3 412772.4, 8270…\n2 0112 RLS de … 256 7.34 19.6 (((855905 452116.9, 855784…\n3 0113 RLS de … 81 4.26 4.69 (((911829.4 441311.2, 9121…\n4 0114 RLS des… 28 3.3 5.35 (((879249.6 471975.6, 8792…\n5 0115 RLS de … 576 9.96 15.5 (((917748.1 503148.7, 9179…\n6 0116 RLS de … 76 4.24 5.53 (((951316 523499.3, 952553…\n\nFit a linear model of the number of cases per 1000 as a function of population density (it is suggested to apply a logarithmic transform to the latter). Check whether the model residuals are correlated between bordering RLS with a Moran’s test and then model the same data with a conditional autoregressive model.\nReference\nVer Hoef, J.M., Peterson, E.E., Hooten, M.B., Hanks, E.M. and Fortin, M.-J. (2018) Spatial autoregressive models for statistical inference from ecological data. Ecological Monographs 88: 36-59.\n\n\n\n", "preview": "Marchand/2021-01-19-spatial-statistics-in-ecology/spatial-statistics-in-ecology_files/figure-html5/unnamed-chunk-3-1.png", - "last_modified": "2021-04-26T19:09:56-04:00", + "last_modified": "2021-05-19T11:56:35-04:00", "input_file": {}, "preview_width": 1248, "preview_height": 768 @@ -82,7 +82,7 @@ ], "contents": "\n\nContents\nDonnées aréales\nIndice de Moran\nModèles d’autorégression spatiale\nAutorégression conditionnelle (CAR)\nAutorégression simultanée (SAR)\n\nAnalyse des données aréales dans R\nDéfinition du réseau de voisinage\nModèles d’autorégression spatiale\nExercice\n\nRéférence\n\nDonnées aréales\nLes données aréales sont des variables mesurées pour des régions de l’espace; ces régions sont définies par des polygones. Ce type de données est plus courant en sciences sociales, en géographie humaine et en épidémiologie, où les données sont souvent disponibles à l’échelle de divisions administratives du territoire.\nCe type de données apparaît aussi fréquemment dans la gestion des ressources naturelles. Par exemple, la carte suivante montre les unités d’aménagement forestier du Ministère de la Forêts, de la Faune et des Parcs du Québec.\n\nSupposons qu’une certaine variable soit disponible au niveau de ces divisions du territoire. Comment pouvons-nous modéliser la corrélation spatiale entre les unités qui sont spatialement rapprochées?\nUne option serait d’appliquer les méthodes géostatistiques vues précédemment, en calculant par exemple la distance entre les centres des polygones.\nUne autre option, qui est davantage privilégiée pour les données aréales, consiste à définir un réseau où chaque région est connectée aux régions voisines par un lien. On suppose ensuite que les variables sont directement corrélées entre régions voisines seulement. (Notons toutefois que les corrélations directes entre voisins immédiats génèrent aussi des corrélations indirectes pour une chaîne de voisins.)\nDans ce type de modèle, la corrélation n’est pas nécessairement la même d’un lien à un autre. Dans ce cas, chaque lien du réseau peut être associé à un poids représentant son importance pour la corrélation spatiale. Nous représentons ces poids par une matrice \\(W\\) où \\(w_{ij}\\) est le poids du lien entre les régions \\(i\\) et \\(j\\). Une région n’a pas de lien avec elle-même, donc \\(w_{ii} = 0\\).\nUn choix simple pour \\(W\\) consiste à assigner un poids égal à 1 si les régions sont voisines, sinon 0 (poids binaires).\nOutre les divisions du territoire en polygones, un autre exemple de données aréales consiste en une grille où la variable est compilée pour chaque cellule de la grille. Dans ce cas, une cellule a généralement 4 ou 8 cellules voisines, selon que les diagonales soient incluses ou non.\nIndice de Moran\nAvant de discuter des modèles d’autocorrélation spatiale, nous présentons l’indice \\(I\\) de Moran, qui permet de tester si une corrélation significative est présente entre régions voisines.\nL’indice de Moran est un coefficient d’autocorrélation spatiale des \\(z\\), pondéré par les poids \\(w_{ij}\\). Il prend donc des valeurs entre -1 et 1.\n\\[I = \\frac{N}{\\sum_i \\sum_j w_{ij}} \\frac{\\sum_i \\sum_j w_{ij} (z_i - \\bar{z}) (z_j - \\bar{z})}{\\sum_i (z_i - \\bar{z})^2}\\]\nDans cette équation, nous reconnaissons l’expression d’une corrélation, soit le produit des écarts à la moyenne de deux variables \\(z_i\\) et \\(z_j\\), divisé par le produit de leurs écarts-types (qui est le même, donc on obtient la variance). La contribution de chaque paire \\((i, j)\\) est multipliée par son poids \\(w_{ij}\\) et le terme à gauche (le nombre de régions \\(N\\) divisé par la somme des poids) assure que le résultat soit borné entre -1 et 1.\nPuisque la distribution de \\(I\\) est connue en l’absence d’autocorrélation spatiale, cette statistique permet de tester l’hypothèse nulle selon laquelle il n’y a pas de corrélation spatiale entre régions voisines.\nBien que nous ne verrons pas d’exemple dans ce cours-ci, l’indice de Moran peut aussi être appliqué aux données ponctuelles. Dans ce cas, on divise les paires de points en classes de distance et on calcule \\(I\\) pour chaque classe de distance; le poids \\(w_{ij} = 1\\) si la distance entre \\(i\\) et \\(j\\) se trouve dans la classe de distance voulue, 0 autrement.\nModèles d’autorégression spatiale\nRappelons-nous la formule pour une régression linéaire avec dépendance spatiale:\n\\[v = \\beta_0 + \\sum_i \\beta_i u_i + z + \\epsilon\\]\noù \\(z\\) est la portion de la variance résiduelle qui est spatialement corrélée.\nIl existe deux principaux types de modèles autorégressifs pour représenter la dépendance spatiale de \\(z\\): l’autorégression conditionnelle (CAR) et l’autorégression simultanée (SAR).\nAutorégression conditionnelle (CAR)\nDans le modèle d’autorégression conditionnelle, la valeur de \\(z_i\\) pour la région \\(i\\) suit une distribution normale: sa moyenne dépend de la valeur \\(z_j\\) des régions voisines, multipliée par le poids \\(w_{ij}\\) et un coefficient de corrélation \\(\\rho\\); son écart-type \\(\\sigma_{z_i}\\) peut varier d’une région à l’autre.\n\\[z_i \\sim \\text{N}\\left(\\sum_j \\rho w_{ij} z_j,\\sigma_{z_i} \\right)\\]\nDans ce modèle, si \\(w_{ij}\\) est une matrice binaire (0 pour les non-voisins, 1 pour les voisins), alors \\(\\rho\\) est le coefficient de corrélation partielle entre régions voisines. Cela est semblable à un modèle autorégressif d’ordre 1 dans le contexte de séries temporelles, où le coefficient d’autorégression indique la corrélation partielle.\nAutorégression simultanée (SAR)\nDans le modèle d’autorégression simultanée, la valeur de \\(z_i\\) est donnée directement par la somme de contributions des valeurs voisines \\(z_j\\), multipliées par \\(\\rho w_{ij}\\), avec un résidu indépendant \\(\\nu_i\\) d’écart-type \\(\\sigma_z\\).\n\\[z_i = \\sum_j \\rho w_{ij} z_j + \\nu_i\\]\nÀ première vue, cela ressemble à un modèle autorégressif temporel. Il existe cependant une différence conceptuelle importante. Pour les modèles temporels, l’influence causale est dirigée dans une seule direction: \\(v(t-2)\\) affecte \\(v(t-1)\\) qui affecte ensuite \\(v(t)\\). Pour un modèle spatial, chaque \\(z_j\\) qui affecte \\(z_i\\) dépend à son tour de \\(z_i\\). Ainsi, pour déterminer la distribution conjointe des \\(z\\), il faut résoudre simultanément (d’où le nom du modèle) un système d’équations.\nPour cette raison, même si ce modèle ressemble à la formule du modèle conditionnel (CAR), les solutions des deux modèles diffèrent et dans le cas du SAR, le coefficient \\(\\rho\\) n’est pas directement égal à la corrélation partielle due à chaque région voisine.\nPour plus de détails sur les aspects mathématiques de ces modèles, vous pouvez consulter l’article de Ver Hoef et al. (2018) suggéré en référence.\nPour l’instant, nous considérerons les SAR et les CAR comme deux types de modèles possibles pour représenter une corrélation spatiale sur un réseau. Nous pouvons toujours ajuster plusieurs modèles et les comparer avec l’AIC pour choisir la meilleure forme de la corrélation ou la meilleure matrice de poids.\nLes modèles CAR et SAR partagent un avantage sur les modèles géostatistiques au niveau de l’efficacité. Dans un modèle géostatistique, les corrélations spatiales sont définies entre chaque paire de points, même si elles deviennent négligeables lorsque la distance augmente. Pour un modèle CAR ou SAR, seules les régions voisines contribuent et la plupart des poids sont égaux à 0, ce qui rend ces modèles plus rapides à ajuster qu’un modèle géostatistique lorsque les données sont massives.\nAnalyse des données aréales dans R\nPour illustrer l’analyse de données aréales dans R, nous chargeons les packages sf (pour lire des données géospatiales), spdep (pour définir des réseaux spatiaux et calculer l’indice de Moran) et spatialreg (pour les modèles SAR et CAR).\n\n\nlibrary(sf)\nlibrary(spdep)\nlibrary(spatialreg)\n\n\n\nNous utiliserons comme exemple un jeu de données qui présente une partie des résultats de l’élection provinciale de 2018 au Québec, avec des caractéristiques de la population de chaque circonscription. Ces données sont inclues dans un fichier de type shapefile (.shp), que nous pouvons lire avec la fonction read_sf du package sf.\n\n\nelect2018 <- read_sf(\"data/elect2018.shp\")\nhead(elect2018)\n\n\nSimple feature collection with 6 features and 9 fields\nGeometry type: MULTIPOLYGON\nDimension: XY\nBounding box: xmin: 97879.03 ymin: 174515.3 xmax: 694261.1 ymax: 599757.1\nProjected CRS: LambertAQ\n# A tibble: 6 x 10\n circ age_moy pct_frn pct_prp rev_med propCAQ propPQ propPLQ propQS\n <chr> <dbl> <dbl> <dbl> <int> <dbl> <dbl> <dbl> <dbl>\n1 Abiti… 40.8 0.963 0.644 34518 42.7 19.5 18.8 15.7\n2 Abiti… 42.2 0.987 0.735 33234 34.1 33.3 11.3 16.6\n3 Acadie 40.3 0.573 0.403 25391 16.5 9 53.8 13.8\n4 Anjou… 43.5 0.821 0.416 31275 28.9 14.7 39.1 14.5\n5 Argen… 43.3 0.858 0.766 31097 38.9 21.1 17.4 12.2\n6 Artha… 43.4 0.989 0.679 30082 61.8 9.4 11.4 12.6\n# … with 1 more variable: geometry <MULTIPOLYGON [m]>\n\nNote: Le jeu de données est en fait composé de 4 fichiers avec les extensions .dbf, .prj, .shp et .shx, mais il suffit d’inscrire le nom du fichier .shp dans read_sf.\nLes colonnes du jeu de données sont dans l’ordre:\nle nom de la circonscription électorale;\nquatre caractéristiques de la population (âge moyen, fraction de la population qui parle principalement français à la maison, fraction des ménages qui sont propriétaires de leur logement, revenu médian);\nquatre colonnes montrant la fraction des votes obtenues par les principaux partis (CAQ, PQ, PLQ, QS);\nune colonne geometry qui contient l’objet géométrique (multipolygone) correspondant à la circonscription.\nPour illustrer une des variables sur une carte, nous appelons la fonction plot avec le nom de la colonne entre crochets et guillemets.\n\n\nplot(elect2018[\"rev_med\"])\n\n\n\n\nDans cet exemple, nous voulons modéliser la fraction des votes obtenue par la CAQ en fonction des caractéristiques de la population dans chaque circonscription et en tenant compte des corrélations spatiales entre circonscriptions voisines.\nDéfinition du réseau de voisinage\nLa fonction poly2nb du package spdep définit un réseau de voisinage à partir de polygones. Le résultat vois est une liste de 125 éléments où chaque élément contient les indices des polygones voisins (limitrophes) d’un polygone donné.\n\n\nvois <- poly2nb(elect2018)\nvois[[1]]\n\n\n[1] 2 37 63 88 101 117\n\nAinsi, la première circonscription (Abitibi-Est) a 6 circonscriptions voisines, dont on peut trouver les noms ainsi:\n\n\nelect2018$circ[vois[[1]]]\n\n\n[1] \"Abitibi-Ouest\" \"Gatineau\" \n[3] \"Laviolette-Saint-Maurice\" \"Pontiac\" \n[5] \"Rouyn-Noranda-Témiscamingue\" \"Ungava\" \n\nNous pouvons illustrer ce réseau en faisant l’extraction des coordonnées du centre de chaque circonscription, en créant une carte muette avec plot(elect2018[\"geometry\"]), puis en ajoutant le réseau comme couche additionnelle avec plot(vois, add = TRUE, coords = coords).\n\n\ncoords <- st_centroid(elect2018) %>%\n st_coordinates()\nplot(elect2018[\"geometry\"])\nplot(vois, add = TRUE, col = \"red\", coords = coords)\n\n\n\n\nOn peut faire un “zoom” sur le sud du Québec en choisissant les limites xlim et ylim appropriées.\n\n\nplot(elect2018[\"geometry\"], \n xlim = c(400000, 800000), ylim = c(100000, 500000))\nplot(vois, add = TRUE, col = \"red\", coords = coords)\n\n\n\n\nIl nous reste à ajouter des poids à chaque lien du réseau avec la fonction nb2listw. Le style de poids “B” correspond aux poids binaires, soit 1 pour la présence de lien et 0 pour l’absence de lien entre deux circonscriptions.\nUne fois ces poids définis, nous pouvons vérifier avec le test de Moran s’il y a une autocorrélation significative des votes obtenus par la CAQ entre circonscriptions voisines.\n\n\npoids <- nb2listw(vois, style = \"B\")\n\nmoran.test(elect2018$propCAQ, poids)\n\n\n\n Moran I test under randomisation\n\ndata: elect2018$propCAQ \nweights: poids \n\nMoran I statistic standard deviate = 13.148, p-value < 2.2e-16\nalternative hypothesis: greater\nsample estimates:\nMoran I statistic Expectation Variance \n 0.680607768 -0.008064516 0.002743472 \n\nLa valeur de \\(I = 0.68\\) est très significative à en juger par la valeur \\(p\\) du test.\nVérifions si la corrélation spatiale persiste après avoir tenu compte des quatre caractéristiques de la population, donc en inspectant les résidus d’un modèle linéaire incluant ces quatre prédicteurs.\n\n\nelect_lm <- lm(propCAQ ~ age_moy + pct_frn + pct_prp + rev_med, data = elect2018)\nsummary(elect_lm)\n\n\n\nCall:\nlm(formula = propCAQ ~ age_moy + pct_frn + pct_prp + rev_med, \n data = elect2018)\n\nResiduals:\n Min 1Q Median 3Q Max \n-30.9890 -4.4878 0.0562 6.2653 25.8146 \n\nCoefficients:\n Estimate Std. Error t value Pr(>|t|) \n(Intercept) 1.354e+01 1.836e+01 0.737 0.463 \nage_moy -9.170e-01 3.855e-01 -2.378 0.019 * \npct_frn 4.588e+01 5.202e+00 8.820 1.09e-14 ***\npct_prp 3.582e+01 6.527e+00 5.488 2.31e-07 ***\nrev_med -2.624e-05 2.465e-04 -0.106 0.915 \n---\nSignif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1\n\nResidual standard error: 9.409 on 120 degrees of freedom\nMultiple R-squared: 0.6096, Adjusted R-squared: 0.5965 \nF-statistic: 46.84 on 4 and 120 DF, p-value: < 2.2e-16\n\nmoran.test(residuals(elect_lm), poids)\n\n\n\n Moran I test under randomisation\n\ndata: residuals(elect_lm) \nweights: poids \n\nMoran I statistic standard deviate = 6.7047, p-value =\n1.009e-11\nalternative hypothesis: greater\nsample estimates:\nMoran I statistic Expectation Variance \n 0.340083290 -0.008064516 0.002696300 \n\nL’indice de Moran a diminué mais demeure significatif, donc une partie de la corrélation précédente était induite par ces prédicteurs, mais il reste une corrélation spatiale due à d’autres facteurs.\nModèles d’autorégression spatiale\nFinalement, nous ajustons des modèles SAR et CAR à ces données avec la fonction spautolm (spatial autoregressive linear model) de spatialreg. Voici le code pour un modèle SAR incluant l’effet des même quatre prédicteurs.\n\n\nelect_sar <- spautolm(propCAQ ~ age_moy + pct_frn + pct_prp + rev_med, \n data = elect2018, listw = poids)\nsummary(elect_sar)\n\n\n\nCall: \nspautolm(formula = propCAQ ~ age_moy + pct_frn + pct_prp + rev_med, \n data = elect2018, listw = poids)\n\nResiduals:\n Min 1Q Median 3Q Max \n-23.08342 -4.10573 0.24274 4.29941 23.08245 \n\nCoefficients: \n Estimate Std. Error z value Pr(>|z|)\n(Intercept) 15.09421119 16.52357745 0.9135 0.36098\nage_moy -0.70481703 0.32204139 -2.1886 0.02863\npct_frn 39.09375061 5.43653962 7.1909 6.435e-13\npct_prp 14.32329345 6.96492611 2.0565 0.03974\nrev_med 0.00016730 0.00023209 0.7208 0.47101\n\nLambda: 0.12887 LR test value: 42.274 p-value: 7.9339e-11 \nNumerical Hessian standard error of lambda: 0.01207 \n\nLog likelihood: -433.8862 \nML residual variance (sigma squared): 53.028, (sigma: 7.282)\nNumber of observations: 125 \nNumber of parameters estimated: 7 \nAIC: 881.77\n\nLa valeur donnée par Lambda dans le sommaire correspond au coefficient \\(\\rho\\) dans notre description du modèle. Le test du rapport de vraisemblance (LR test) confirme que cette corrélation spatiale résiduelle (après avoir tenu compte de l’effet des prédicteurs) est significative.\nLes effets estimés pour les prédicteurs sont semblables à ceux du modèle linéaire sans corrélation spatiale. Les effets de l’âge moyen, de la fraction de francophones et la fraction de propriétaires demeurent significatifs, bien que leur magnitude ait un peu diminué.\nPour évaluer un modèle CAR plutôt que SAR, nous devons spécifier family = \"CAR\".\n\n\nelect_car <- spautolm(propCAQ ~ age_moy + pct_frn + pct_prp + rev_med, \n data = elect2018, listw = poids, family = \"CAR\")\nsummary(elect_car)\n\n\n\nCall: \nspautolm(formula = propCAQ ~ age_moy + pct_frn + pct_prp + rev_med, \n data = elect2018, listw = poids, family = \"CAR\")\n\nResiduals:\n Min 1Q Median 3Q Max \n-21.73315 -4.24623 -0.24369 3.44228 23.43749 \n\nCoefficients: \n Estimate Std. Error z value Pr(>|z|)\n(Intercept) 16.57164696 16.84155327 0.9840 0.325128\nage_moy -0.79072151 0.32972225 -2.3981 0.016478\npct_frn 38.99116707 5.43667482 7.1719 7.399e-13\npct_prp 17.98557474 6.80333470 2.6436 0.008202\nrev_med 0.00012639 0.00023106 0.5470 0.584364\n\nLambda: 0.15517 LR test value: 40.532 p-value: 1.9344e-10 \nNumerical Hessian standard error of lambda: 0.0026868 \n\nLog likelihood: -434.7573 \nML residual variance (sigma squared): 53.9, (sigma: 7.3416)\nNumber of observations: 125 \nNumber of parameters estimated: 7 \nAIC: 883.51\n\nPour un modèle CAR avec des poids binaires, la valeur de Lambda (que nous avions appelé \\(\\rho\\)) donne directement le coefficient de corrélation partielle entre circonscriptions voisines. Notez que l’AIC ici est légèrement supérieur au modèle SAR, donc ce dernier donnait un meilleur ajustement.\nExercice\nLe jeu de données rls_covid, en format shapefile, contient des données sur les cas de COVID-19 détectés, le nombre de cas par 1000 personnes (taux_1k) et la densité de population (dens_pop) dans chacun des réseaux locaux de service de santé (RLS) du Québec. (Source: Données téléchargées de l’Institut national de santé publique du Québec en date du 17 janvier 2021.)\n\n\nrls_covid <- read_sf(\"data/rls_covid.shp\")\nhead(rls_covid)\n\n\nSimple feature collection with 6 features and 5 fields\nGeometry type: MULTIPOLYGON\nDimension: XY\nBounding box: xmin: 785111.2 ymin: 341057.8 xmax: 979941.5 ymax: 541112.7\nProjected CRS: Conique_conforme_de_Lambert_du_MTQ_utilis_e_pour_Adresse_Qu_be\n# A tibble: 6 x 6\n RLS_code RLS_nom cas taux_1k dens_pop geometry\n <chr> <chr> <dbl> <dbl> <dbl> <MULTIPOLYGON [m]>\n1 0111 RLS de … 152 7.34 6.76 (((827028.3 412772.4, 8270…\n2 0112 RLS de … 256 7.34 19.6 (((855905 452116.9, 855784…\n3 0113 RLS de … 81 4.26 4.69 (((911829.4 441311.2, 9121…\n4 0114 RLS des… 28 3.3 5.35 (((879249.6 471975.6, 8792…\n5 0115 RLS de … 576 9.96 15.5 (((917748.1 503148.7, 9179…\n6 0116 RLS de … 76 4.24 5.53 (((951316 523499.3, 952553…\n\nAjustez un modèle linéaire du nombre de cas par 1000 en fonction de la densité de population (il est suggéré d’appliquer une transformation logarithmique à cette dernière). Vérifiez si les résidus du modèle sont corrélés entre RLS limitrophes avec un test de Moran, puis modélisez les mêmes données avec un modèle autorégressif conditionnel.\nRéférence\nVer Hoef, J.M., Peterson, E.E., Hooten, M.B., Hanks, E.M. et Fortin, M.-J. (2018) Spatial autoregressive models for statistical inference from ecological data. Ecological Monographs 88: 36-59.\n\n\n\n", "preview": "Marchand/2021-01-19-statistiques-spatiales-en-cologie-partie-3/statistiques-spatiales-en-cologie-partie-3_files/figure-html5/unnamed-chunk-3-1.png", - "last_modified": "2021-04-26T19:09:57-04:00", + "last_modified": "2021-05-19T11:56:35-04:00", "input_file": {}, "preview_width": 1248, "preview_height": 768 @@ -104,7 +104,7 @@ ], "contents": "\n\nContents\nSpatial correlation of a variable\nIntrinsic or induced dependence\nDifferent ways to model spatial effects\n\nGeostatistical models\nVariogram\nTheoretical models for the variogram\nEmpirical variogram\nRegression model with spatial correlation\n\nGeostatistical models in R\nRegression with spatial correlation\nExercise\n\nKriging\nSolutions\n\nSpatial correlation of a variable\nCorrelation between measurements of a variable taken at nearby points often occurs in environmental data. This principle is sometimes referred to as the “first law of geography” and is expressed in the following quote from Waldo Tobler: “Everything is related to everything else, but near things are more related than distant things”.\nIn statistics, we often refer to autocorrelation as the correlation between measurements of the same variable taken at different times (temporal autocorrelation) or places (spatial autocorrelation).\nIntrinsic or induced dependence\nThere are two basic types of spatial dependence on a measured variable \\(y\\): an intrinsic dependence on \\(y\\), or a dependence induced by external variables influencing \\(y\\), which are themselves spatially correlated.\nFor example, suppose that the abundance of a species is correlated between two sites located near each other:\nthis spatial dependence can be induced if it is due to a spatial correlation of habitat factors that are favorable or unfavorable to the species;\nor it can be intrinsic if it is due to the dispersion of individuals to nearby sites.\nIn many cases, both types of dependence affect a given variable.\nIf the dependence is simply induced and the external variables that cause it are included in the model explaining \\(y\\), then the model residuals will be independent and we can use all the methods already seen that ignore spatial correlation.\nHowever, if the dependence is intrinsic or due to unmeasured external factors, then the spatial correlation of the residuals in the model will have to be taken into account.\nDifferent ways to model spatial effects\nIn this training, we will directly model the spatial correlations of our data. It is useful to compare this approach to other ways of including spatial aspects in a statistical model.\nFirst, we could include predictors in the model that represent position (e.g., longitude, latitude). Such predictors may be useful for detecting a systematic large-scale trend or gradient, whether or not the trend is linear (e.g., with a generalized additive model).\nIn contrast to this approach, the models we will see now serve to model a spatial correlation in the random fluctuations of a variable (i.e., in the residuals after removing any systematic effect).\nMixed models use random effects to represent the non-independence of data on the basis of their grouping, i.e., after accounting for systematic fixed effects, data from the same group are more similar (their residual variation is correlated) than data from different groups. These groups were sometimes defined according to spatial criteria (observations grouped into sites).\nHowever, in the context of a random group effect, all groups are as different from each other, e.g., two sites within 100 km of each other are no more or less similar than two sites 2 km apart.\nThe methods we will see here and in the next parts of the training therefore allow us to model non-independence on a continuous scale (closer = more correlated) rather than just discrete (hierarchy of groups).\nGeostatistical models\nGeostatistics refers to a group of techniques that originated in the earth sciences. Geostatistics is concerned with variables that are continuously distributed in space and where a number of points are sampled to estimate this distribution. A classic example of these techniques comes from the mining field, where the aim was to create a map of the concentration of ore at a site from samples taken at different points on the site.\nFor these models, we will assume that \\(z(x, y)\\) is a stationary spatial variable measured at points with coordinates \\(x\\) and \\(y\\).\nVariogram\nA central aspect of geostatistics is the estimation of the variogram \\(\\gamma_z\\) . The variogram is equal to half the mean square difference between the values of \\(z\\) for two points \\((x_i, y_i)\\) and \\((x_j, y_j)\\) separated by a distance \\(h\\).\n\\[\\gamma_z(h) = \\frac{1}{2} \\text{E} \\left[ \\left( z(x_i, y_i) - z(x_j, y_j) \\right)^2 \\right]_{d_{ij} = h}\\]\nIn this equation, the \\(\\text{E}\\) function with the index \\(d_{ij}=h\\) designates the statistical expectation (i.e., the mean) of the squared deviation between the values of \\(z\\) for points separated by a distance \\(h\\).\nIf we want instead to express the autocorrelation \\(\\rho_z(h)\\) between measures of \\(z\\) separated by a distance \\(h\\), it is related to the variogram by the equation:\n\\[\\gamma_z = \\sigma_z^2(1 - \\rho_z)\\] ,\nwhere \\(\\sigma_z^2\\) is the global variance of \\(z\\).\nNote that \\(\\gamma_z = \\sigma_z^2\\) when we reach a distance where the measurements of \\(z\\) are independent, so \\(\\rho_z = 0\\). In this case, we can see that \\(\\gamma_z\\) is similar to a variance, although it is sometimes called “semivariogram” or “semivariance” because of the 1/2 factor in the above equation.\nTheoretical models for the variogram\nSeveral parametric models have been proposed to represent the spatial correlation as a function of the distance between sampling points. Let us first consider a correlation that decreases exponentially:\n\\[\\rho_z(h) = e^{-h/r}\\]\nHere, \\(\\rho_z = 1\\) for \\(h = 0\\) and the correlation is multiplied by \\(1/e \\approx 0.37\\) each time the distance increases by \\(r\\). In this context, \\(r\\) is called the range of the correlation.\nFrom the above equation, we can calculate the corresponding variogram.\n\\[\\gamma_z(h) = \\sigma_z^2 (1 - e^{-h/r})\\]\nHere is a graphical representation of this variogram.\n\n\n\nBecause of the exponential function, the value of \\(\\gamma\\) at large distances approaches the global variance \\(\\sigma_z^2\\) without exactly reaching it. This asymptote is called a sill in the geostatistical context and is represented by the symbol \\(s\\).\nFinally, it is sometimes unrealistic to assume a perfect correlation when the distance tends towards 0, because of a possible variation of \\(z\\) at a very small scale. A nugget effect, denoted \\(n\\), can be added to the model so that \\(\\gamma\\) approaches \\(n\\) (rather than 0) if \\(h\\) tends towards 0. The term nugget comes from the mining origin of these techniques, where a nugget could be the source of a sudden small-scale variation in the concentration of a mineral.\nBy adding the nugget effect, the remainder of the variogram is “compressed” to keep the same sill, resulting in the following equation.\n\\[\\gamma_z(h) = n + (s - n) (1 - e^{-h/r})\\]\nIn the gstat package that we use below, the term \\((s-n)\\) is called a partial sill or psill for the exponential portion of the variogram.\n\n\n\nIn addition to the exponential model, two other common theoretical models for the variogram are the Gaussian model (where the correlation follows a half-normal curve), and the spherical model (where the variogram increases linearly at the start and then curves and reaches the plateau at a distance equal to its range \\(r\\)). The spherical model thus allows the correlation to be exactly 0 at large distances, rather than gradually approaching zero in the case of the other models.\nModel\n\\(\\rho(h)\\)\n\\(\\gamma(h)\\)\nExponential\n\\(\\exp\\left(-\\frac{h}{r}\\right)\\)\n\\(s \\left(1 - \\exp\\left(-\\frac{h}{r}\\right)\\right)\\)\nGaussian\n\\(\\exp\\left(-\\frac{h^2}{r^2}\\right)\\)\n\\(s \\left(1 - \\exp\\left(-\\frac{h^2}{r^2}\\right)\\right)\\)\nSpherical \\((h < r)\\) *\n\\(1 - \\frac{3}{2}\\frac{h}{r} + \\frac{1}{2}\\frac{h^3}{r^3}\\)\n\\(s \\left(\\frac{3}{2}\\frac{h}{r} - \\frac{1}{2}\\frac{h^3}{r^3} \\right)\\)\n* For the spherical model, \\(\\rho = 0\\) and \\(\\gamma = s\\) if \\(h \\ge r\\).\n\n\n\nEmpirical variogram\nTo estimate \\(\\gamma_z(h)\\) from empirical data, we need to define distance classes, thus grouping different distances within a margin of \\(\\pm \\delta\\) around a distance \\(h\\), then calculating the mean square deviation for the pairs of points in that distance class.\n\\[\\hat{\\gamma_z}(h) = \\frac{1}{2 N_{\\text{paires}}} \\sum \\left[ \\left( z(x_i, y_i) - z(x_j, y_j) \\right)^2 \\right]_{d_{ij} = h \\pm \\delta}\\]\nWe will see in the next section how to estimate a variogram in R.\nRegression model with spatial correlation\nThe following equation represents a multiple linear regression including residual spatial correlation:\n\\[v = \\beta_0 + \\sum_i \\beta_i u_i + z + \\epsilon\\]\nHere, \\(v\\) designates the response variable and \\(u\\) the predictors, to avoid confusion with the spatial coordinates \\(x\\) and \\(y\\).\nIn addition to the residual \\(\\epsilon\\) that is independent between observations, the model includes a term \\(z\\) that represents the spatially correlated portion of the residual variance.\nHere are suggested steps to apply this type of model:\nFit the regression model without spatial correlation.\nVerify the presence of spatial correlation from the empirical variogram of the residuals.\nFit one or more regression models with spatial correlation and select the one that shows the best fit to the data.\nGeostatistical models in R\nThe gstat package contains functions related to geostatistics. For this example, we will use the oxford dataset from this package, which contains measurements of physical and chemical properties for 126 soil samples from a site, along with their coordinates XCOORD and YCOORD.\n\n\nlibrary(gstat)\n\ndata(oxford)\nstr(oxford)\n\n\n'data.frame': 126 obs. of 22 variables:\n $ PROFILE : num 1 2 3 4 5 6 7 8 9 10 ...\n $ XCOORD : num 100 100 100 100 100 100 100 100 100 100 ...\n $ YCOORD : num 2100 2000 1900 1800 1700 1600 1500 1400 1300 1200 ...\n $ ELEV : num 598 597 610 615 610 595 580 590 598 588 ...\n $ PROFCLASS: Factor w/ 3 levels \"Cr\",\"Ct\",\"Ia\": 2 2 2 3 3 2 3 2 3 3 ...\n $ MAPCLASS : Factor w/ 3 levels \"Cr\",\"Ct\",\"Ia\": 2 3 3 3 3 2 2 3 3 3 ...\n $ VAL1 : num 3 3 4 4 3 3 4 4 4 3 ...\n $ CHR1 : num 3 3 3 3 3 2 2 3 3 3 ...\n $ LIME1 : num 4 4 4 4 4 0 2 1 0 4 ...\n $ VAL2 : num 4 4 5 8 8 4 8 4 8 8 ...\n $ CHR2 : num 4 4 4 2 2 4 2 4 2 2 ...\n $ LIME2 : num 4 4 4 5 5 4 5 4 5 5 ...\n $ DEPTHCM : num 61 91 46 20 20 91 30 61 38 25 ...\n $ DEP2LIME : num 20 20 20 20 20 20 20 20 40 20 ...\n $ PCLAY1 : num 15 25 20 20 18 25 25 35 35 12 ...\n $ PCLAY2 : num 10 10 20 10 10 20 10 20 10 10 ...\n $ MG1 : num 63 58 55 60 88 168 99 59 233 87 ...\n $ OM1 : num 5.7 5.6 5.8 6.2 8.4 6.4 7.1 3.8 5 9.2 ...\n $ CEC1 : num 20 22 17 23 27 27 21 14 27 20 ...\n $ PH1 : num 7.7 7.7 7.5 7.6 7.6 7 7.5 7.6 6.6 7.5 ...\n $ PHOS1 : num 13 9.2 10.5 8.8 13 9.3 10 9 15 12.6 ...\n $ POT1 : num 196 157 115 172 238 164 312 184 123 282 ...\n\nSuppose that we want to model the magnesium concentration (MG1), represented as a function of the spatial position in the following graph.\n\n\nlibrary(ggplot2)\nggplot(oxford, aes(x = YCOORD, y = XCOORD, size = MG1)) +\n geom_point() +\n coord_fixed()\n\n\n\n\nNote that the \\(x\\) and \\(y\\) axes have been inverted to save space. The coord_fixed() function of ggplot2 ensures that the scale is the same on both axes, which is useful for representing spatial data.\nWe can immediately see that these measurements were taken on a 100 m grid. It seems that the magnesium concentration is spatially correlated, although it may be a correlation induced by another variable. In particular, we know that the concentration of magnesium is negatively related to the soil pH (PH1).\n\n\nggplot(oxford, aes(x = PH1, y = MG1)) +\n geom_point()\n\n\n\n\nThe variogram function of gstat is used to estimate a variogram from empirical data. Here is the result obtained for the variable MG1.\n\n\nvar_mg <- variogram(MG1 ~ 1, locations = ~ XCOORD + YCOORD, data = oxford)\nvar_mg\n\n\n np dist gamma dir.hor dir.ver id\n1 225 100.0000 1601.404 0 0 var1\n2 200 141.4214 1950.805 0 0 var1\n3 548 215.0773 2171.231 0 0 var1\n4 623 303.6283 2422.245 0 0 var1\n5 258 360.5551 2704.366 0 0 var1\n6 144 400.0000 2948.774 0 0 var1\n7 570 427.5569 2994.621 0 0 var1\n8 291 500.0000 3402.058 0 0 var1\n9 366 522.8801 3844.165 0 0 var1\n10 200 577.1759 3603.060 0 0 var1\n11 458 619.8400 3816.595 0 0 var1\n12 90 670.8204 3345.739 0 0 var1\n\nThe formula MG1 ~ 1 indicates that no linear predictor is included in this model, while the argument locations indicates which variables in the data frame correspond to the spatial coordinates.\nIn the resulting table, gamma is the value of the variogram for the distance class centered on dist, while np is the number of pairs of points in that class. Here, since the points are located on a grid, we obtain regular distance classes (e.g.: 100 m for neighboring points on the grid, 141 m for diagonal neighbors, etc.).\nHere, we limit ourselves to the estimation of isotropic variograms, i.e. the variogram depends only on the distance between the two points and not on the direction. Although we do not have time to see it today, it is possible with gstat to estimate the variogram separately in different directions.\nWe can illustrate the variogram with plot.\n\n\nplot(var_mg, col = \"black\")\n\n\n\n\nIf we want to estimate the residual spatial correlation of MG1 after including the effect of PH1, we can add that predictor to the formula.\n\n\nvar_mg <- variogram(MG1 ~ PH1, locations = ~ XCOORD + YCOORD, data = oxford)\nplot(var_mg, col = \"black\")\n\n\n\n\nIncluding the effect of pH, the range of the spatial correlation seems to decrease, while the plateau is reached around 300 m. It even seems that the variogram decreases beyond 400 m. In general, we assume that the variance between two points does not decrease with distance, unless there is a periodic spatial pattern.\nThe function fit.variogram accepts as arguments a variogram estimated from the data, as well as a theoretical model described in a vgm function, and then estimates the parameters of that model according to the data. The fitting is done by the method of least squares.\nFor example, vgm(\"Exp\") means we want to fit an exponential model.\n\n\nvfit <- fit.variogram(var_mg, vgm(\"Exp\"))\nvfit\n\n\n model psill range\n1 Nug 0.000 0.00000\n2 Exp 1951.496 95.11235\n\nThere is no nugget effect, because psill = 0 for the Nug (nugget) part of the model. The exponential part has a sill at 1951 and a range of 95 m.\nTo compare different models, a vector of model names can be given to vgm. In the following example, we include the exponential, gaussian (“Gau”) and spherical (“Sph”) models.\n\n\nvfit <- fit.variogram(var_mg, vgm(c(\"Exp\", \"Gau\", \"Sph\")))\nvfit\n\n\n model psill range\n1 Nug 0.000 0.00000\n2 Exp 1951.496 95.11235\n\nThe function gives us the result of the model with the best fit (lowest sum of squared deviations), which here is the same exponential model.\nFinally, we can superimpose the theoretical model and the empirical variogram on the same graph.\n\n\nplot(var_mg, vfit, col = \"black\")\n\n\n\n\nRegression with spatial correlation\nWe have seen above that the gstat package allows us to estimate the variogram of the residuals of a linear model. In our example, the magnesium concentration was modeled as a function of pH, with spatially correlated residuals.\nAnother tool to fit this same type of model is the gls function of the nlme package, which is included with the installation of R.\nThis function applies the generalized least squares method to fit linear regression models when the residuals are not independent or when the residual variance is not the same for all observations. Since the estimates of the coefficients depend on the estimated correlations between the residuals and the residuals themselves depend on the coefficients, the model is fitted by an iterative algorithm:\nA classical linear regression model (without correlation) is fitted to obtain residuals.\nThe spatial correlation model (variogram) is fitted with those residuals.\nThe regression coefficients are re-estimated, now taking into account the correlations.\nSteps 2 and 3 are repeated until the estimates are stable at a desired precision.\nHere is the application of this method to the same model for the magnesium concentration in the oxford dataset. In the correlation argument of gls, we specify an exponential correlation model as a function of our spatial coordinates and we include a possible nugget effect.\nIn addition to the exponential correlation corExp, the gls function can also estimate a Gaussian (corGaus) or spherical (corSpher) model.\n\n\nlibrary(nlme)\ngls_mg <- gls(MG1 ~ PH1, oxford, \n correlation = corExp(form = ~ XCOORD + YCOORD, nugget = TRUE))\nsummary(gls_mg)\n\n\nGeneralized least squares fit by REML\n Model: MG1 ~ PH1 \n Data: oxford \n AIC BIC logLik\n 1278.65 1292.751 -634.325\n\nCorrelation Structure: Exponential spatial correlation\n Formula: ~XCOORD + YCOORD \n Parameter estimate(s):\n range nugget \n478.0322959 0.2944753 \n\nCoefficients:\n Value Std.Error t-value p-value\n(Intercept) 391.1387 50.42343 7.757084 0\nPH1 -41.0836 6.15662 -6.673079 0\n\n Correlation: \n (Intr)\nPH1 -0.891\n\nStandardized residuals:\n Min Q1 Med Q3 Max \n-2.1846957 -0.6684520 -0.3687813 0.4627580 3.1918604 \n\nResidual standard error: 53.8233 \nDegrees of freedom: 126 total; 124 residual\n\nTo compare this result with the adjusted variogram above, the parameters given by gls must be transformed. The range has the same meaning in both cases and corresponds to 478 m for the result of gls. The global variance of the residuals is the square of Residual standard error. The nugget effect here (0.294) is expressed as a fraction of that variance. Finally, to obtain the partial sill of the exponential part, the nugget effect must be subtracted from the total variance.\nAfter performing these calculations, we can give these parameters to the vgm function of gstat to superimpose this variogram estimated by gls on our variogram of the residuals of the classical linear model.\n\n\ngls_range <- 478\ngls_var <- 53.823^2\ngls_nugget <- 0.294 * gls_var\ngls_psill <- gls_var - gls_nugget\n\ngls_vgm <- vgm(\"Exp\", psill = gls_psill, range = gls_range, nugget = gls_nugget)\n\nplot(var_mg, gls_vgm, col = \"black\", ylim = c(0, 4000))\n\n\n\n\nDoes the model fit the data less well here? In fact, this empirical variogram represented by the points was obtained from the residuals of the linear model ignoring the spatial correlation, so it is a biased estimate of the actual spatial correlations. The method is still adequate to quickly check if spatial correlations are present. However, to simultaneously fit the regression coefficients and the spatial correlation parameters, the generalized least squares (GLS) approach is preferable and will produce more accurate estimates.\nFinally, note that the result of the gls model also gives the AIC, which we can use to compare the fit of different models (with different predictors or different forms of spatial correlation).\nExercise\nThe bryo_belg.csv dataset is adapted from the data of this study:\n\nNeyens, T., Diggle, P.J., Faes, C., Beenaerts, N., Artois, T. et Giorgi, E. (2019) Mapping species richness using opportunistic samples: a case study on ground-floor bryophyte species richness in the Belgian province of Limburg. Scientific Reports 9, 19122. https://doi.org/10.1038/s41598-019-55593-x\n\nThis data frame shows the specific richness of ground bryophytes (richness) for different sampling points in the Belgian province of Limburg, with their position (x, y) in km, in addition to information on the proportion of forest (forest) and wetlands (wetland) in a 1 km^2$ cell containing the sampling point.\n\n\nbryo_belg <- read.csv(\"data/bryo_belg.csv\")\nhead(bryo_belg)\n\n\n richness forest wetland x y\n1 9 0.2556721 0.5036614 228.9516 220.8869\n2 6 0.6449114 0.1172068 227.6714 219.8613\n3 5 0.5039905 0.6327003 228.8252 220.1073\n4 3 0.5987329 0.2432942 229.2775 218.9035\n5 2 0.7600775 0.1163538 209.2435 215.2414\n6 10 0.6865434 0.0000000 210.4142 216.5579\n\nFor this exercise, we will use the square root of the specific richness as the response variable. The square root transformation often allows to homogenize the variance of the count data in order to apply a linear regression.\nFit a linear model of the transformed species richness to the proportion of forest and wetlands, without taking into account spatial correlations. What is the effect of the two predictors in this model?\nCalculate the empirical variogram of the model residuals in (a). Does there appear to be a spatial correlation between the points?\nNote: The cutoff argument to the variogram function specifies the maximum distance at which the variogram is calculated. You can manually adjust this value to get a good view of the sill.\nRe-fit the linear model in (a) with the gls function in the nlme package, trying different types of spatial correlations (exponential, Gaussian, spherical). Compare the models (including the one without spatial correlation) with the AIC.\nWhat is the effect of the proportion of forests and wetlands according to the model in (c)? Explain the differences between the conclusions of this model and the model in (a).\nKriging\nAs mentioned before, a common application of geostatistical models is to predict the value of the response variable at unsampled locations, a form of spatial interpolation called kriging (pronounced with a hard “g”).\nThere are three basic types of kriging based on the assumptions made about the response variable:\nOrdinary kriging: Stationary variable with an unknown mean.\nSimple kriging: Stationary variable with a known mean.\nUniversal kriging: Variable with a trend given by a linear or non-linear model.\nFor all kriging methods, the predictions at a new point are a weighted mean of the values at known points. These weights are chosen so that kriging provides the best linear unbiased prediction of the response variable, if the model assumptions (in particular the variogram) are correct. That is, among all possible unbiased predictions, the weights are chosen to give the minimum mean square error. Kriging also provides an estimate of the uncertainty of each prediction.\nWhile we will not present the detailed kriging equations here, the weights depend on both the correlations (estimated by the variogram) between the sampled points and the new point, as well of the correlations between the sampled points themselves. In other words, sampled points near the new point are given more weight, but isolated sampled points are also given more weight, because sample points close to each other provide redundant information.\nKriging is an interpolation method, so the prediction at a sampled point will always be equal to the measured value (the measurement is supposed to have no error, just spatial variation). However, in the presence of a nugget effect, any small displacement from the sampled location will show variability according to the nugget.\nIn the example below, we generate a new dataset composed of randomly-generated (x, y) coordinates within the study area as well as randomly-generated pH values based on the oxford data. We then apply the function krige to predict the magnesium values at these new points. Note that we specify the variogram derived from the GLS results in the model argument to krige.\n\n\nset.seed(14)\nnew_points <- data.frame(\n XCOORD = runif(100, min(oxford$XCOORD), max(oxford$XCOORD)),\n YCOORD = runif(100, min(oxford$YCOORD), max(oxford$YCOORD)),\n PH1 = rnorm(100, mean(oxford$PH1), sd(oxford$PH1))\n)\n\npred <- krige(MG1 ~ PH1, locations = ~ XCOORD + YCOORD, data = oxford,\n newdata = new_points, model = gls_vgm)\n\n\n[using universal kriging]\n\nhead(pred)\n\n\n XCOORD YCOORD var1.pred var1.var\n1 227.0169 162.1185 47.13065 1269.002\n2 418.9136 465.9013 79.68437 1427.269\n3 578.5943 2032.7477 60.30539 1264.471\n4 376.2734 1530.7193 127.22366 1412.875\n5 591.5336 421.6290 105.88124 1375.485\n6 355.7369 404.3378 127.73055 1250.114\n\nThe result of krige includes the new point coordinates, the prediction of the variable var1.pred along with its estimated variance var1.var. In the graph below, we show the mean MG1 predictions from kriging (triangles) along with the measurements (circles).\n\n\npred$MG1 <- pred$var1.pred\n\nggplot(oxford, aes(x = YCOORD, y = XCOORD, color = MG1)) +\n geom_point() +\n geom_point(data = pred, shape = 17, size = 2) +\n coord_fixed()\n\n\n\n\nThe estimated mean and variance from kriging can be used to simulate possible values of the variable at each new point, conditional on the sampled values. In the example below, we performed 4 conditional simulations by adding the argument nsim = 4 to the same krige instruction.\n\n\nsim_mg <- krige(MG1 ~ PH1, locations = ~ XCOORD + YCOORD, data = oxford,\n newdata = new_points, model = gls_vgm, nsim = 4)\n\n\ndrawing 4 GLS realisations of beta...\n[using conditional Gaussian simulation]\n\nhead(sim_mg)\n\n\n XCOORD YCOORD sim1 sim2 sim3 sim4\n1 227.0169 162.1185 13.22592 32.43060 42.81847 79.60594\n2 418.9136 465.9013 67.94216 15.53717 69.25356 63.42233\n3 578.5943 2032.7477 99.93083 77.98291 74.28468 58.98483\n4 376.2734 1530.7193 104.86240 155.50774 85.82552 143.07373\n5 591.5336 421.6290 78.14221 68.62827 147.33052 130.14264\n6 355.7369 404.3378 164.46754 117.26160 131.85158 143.58951\n\n\n\nlibrary(tidyr)\nsim_mg <- pivot_longer(sim_mg, cols = c(sim1, sim2, sim3, sim4), \n names_to = \"sim\", values_to = \"MG1\")\nggplot(sim_mg, aes(x = YCOORD, y = XCOORD, color = MG1)) +\n geom_point() +\n coord_fixed() +\n facet_wrap(~ sim)\n\n\n\n\nSolutions\n\n\nbryo_lm <- lm(sqrt(richness) ~ forest + wetland, data = bryo_belg)\nsummary(bryo_lm)\n\n\n\nCall:\nlm(formula = sqrt(richness) ~ forest + wetland, data = bryo_belg)\n\nResiduals:\n Min 1Q Median 3Q Max \n-1.8847 -0.4622 0.0545 0.4974 2.3116 \n\nCoefficients:\n Estimate Std. Error t value Pr(>|t|) \n(Intercept) 2.34159 0.08369 27.981 < 2e-16 ***\nforest 1.11883 0.13925 8.034 9.74e-15 ***\nwetland -0.59264 0.17216 -3.442 0.000635 ***\n---\nSignif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1\n\nResidual standard error: 0.7095 on 417 degrees of freedom\nMultiple R-squared: 0.2231, Adjusted R-squared: 0.2193 \nF-statistic: 59.86 on 2 and 417 DF, p-value: < 2.2e-16\n\nThe proportion of forest has a significant positive effect and the proportion of wetlands has a significant negative effect on bryophyte richness.\n\n\nplot(variogram(sqrt(richness) ~ forest + wetland, locations = ~ x + y,\n data = bryo_belg, cutoff = 50), col = \"black\")\n\n\n\n\nThe variogram is increasing from 0 to at least 40 km, so there appears to be spatial correlations in the model residuals.\n\n\nbryo_exp <- gls(sqrt(richness) ~ forest + wetland, data = bryo_belg,\n correlation = corExp(form = ~ x + y, nugget = TRUE))\nbryo_gaus <- gls(sqrt(richness) ~ forest + wetland, data = bryo_belg,\n correlation = corGaus(form = ~ x + y, nugget = TRUE))\nbryo_spher <- gls(sqrt(richness) ~ forest + wetland, data = bryo_belg,\n correlation = corSpher(form = ~ x + y, nugget = TRUE))\n\n\n\n\n\nAIC(bryo_lm)\n\n\n[1] 908.6358\n\nAIC(bryo_exp)\n\n\n[1] 867.822\n\nAIC(bryo_gaus)\n\n\n[1] 870.9592\n\nAIC(bryo_spher)\n\n\n[1] 866.9117\n\nThe spherical model has the smallest AIC.\n\n\nsummary(bryo_spher)\n\n\nGeneralized least squares fit by REML\n Model: sqrt(richness) ~ forest + wetland \n Data: bryo_belg \n AIC BIC logLik\n 866.9117 891.1102 -427.4558\n\nCorrelation Structure: Spherical spatial correlation\n Formula: ~x + y \n Parameter estimate(s):\n range nugget \n43.1725704 0.6063077 \n\nCoefficients:\n Value Std.Error t-value p-value\n(Intercept) 2.0368754 0.2481673 8.207671 0.000\nforest 0.6989805 0.1481691 4.717450 0.000\nwetland -0.2441117 0.1809121 -1.349339 0.178\n\n Correlation: \n (Intr) forest\nforest -0.251 \nwetland -0.235 0.241\n\nStandardized residuals:\n Min Q1 Med Q3 Max \n-1.75202529 -0.06568241 0.61415377 1.15239953 3.23320744 \n\nResidual standard error: 0.799832 \nDegrees of freedom: 420 total; 417 residual\n\nBoth effects are less important in magnitude and the effect of wetlands is not significant anymore. As is the case for other types of non-independent residuals, the “effective sample size” here is less than the number of points, since points close to each other provide redundant information. Therefore, the relationship between predictors and response is less clear than given by the model assuming all these points were independent.\nNote that the results for all three gls models are quite similar, so the choice to include spatial correlations was more important than the exact shape assumed for the variogram.\n\n\n\n", "preview": "Marchand/2021-01-14-spatial-statistics-in-ecology/spatial-statistics-in-ecology_files/figure-html5/unnamed-chunk-1-1.png", - "last_modified": "2021-04-26T19:09:56-04:00", + "last_modified": "2021-05-19T11:56:35-04:00", "input_file": {}, "preview_width": 1248, "preview_height": 768 @@ -126,7 +126,7 @@ ], "contents": "\n\nContents\nCorrélation spatiale d’une variable\nDépendance intrinsèque ou induite\nDifférentes façons de modéliser les effets spatiaux\n\nModèles géostatistiques\nVariogramme\nModèles théoriques du variogramme\nVariogramme empirique\nModèle de régression avec corrélation spatiale\n\nModèles géostatistiques dans R\nRégression avec corrélation spatiale\nExercice\n\nKrigeage\nSolutions\n\nCorrélation spatiale d’une variable\nLa corrélation entre les mesures d’une variable prises à des points rapprochés est une caractéristique dans de nombreux jeux de données. Ce principe est parfois appelé “première loi de la géographie” et exprimé par la citation de Waldo Tobler: “Everything is related to everything else, but near things are more related than distant things.” (Tout est relié, mais les choses rapprochées le sont davantage que celles éloignées).\nEn statistique, nous parlons souvent d’autocorrélation pour désigner la corrélation qui existe entre les mesures d’une même variable prises à différents moments (autocorrélation temporelle) ou différents lieux (autocorrélation spatiale).\nDépendance intrinsèque ou induite\nIl existe deux types fondamentaux de dépendance spatiale sur une variable mesurée \\(y\\): une dépendance intrinsèque à \\(y\\), ou une dépendance induite par des variables externes influençant \\(y\\), qui sont elles-mêmes corrélées dans l’espace.\nPar exemple, supposons que l’abondance d’une espèce soit corrélée entre deux sites rapprochés:\ncette dépendance spatiale peut être induite si elle est due à une corrélation spatiale des facteurs d’habitat qui favorisent ou défavorisent l’espèce;\nou elle peut être intrinsèque si elle est due à la dispersion d’individus entre sites rapprochés.\nDans plusieurs cas, les deux types de dépendance affectent une variable donnée.\nSi la dépendance est simplement induite et que les variables externes qui en sont la cause sont incluses dans le modèle expliquant \\(y\\), alors les résidus du modèle seront indépendants et nous pouvons utiliser toutes les méthodes déjà vues qui ignorent la dépendance spatiale.\nCependant, si la dépendance est intrinsèque ou due à des influences externes non-mesurées, alors il faudra tenir compte de la dépendance spatiale des résidus dans le modèle.\nDifférentes façons de modéliser les effets spatiaux\nDans cette formation, nous modéliserons directement les corrélations spatiales de nos données. Il est utile de comparer cette approche à d’autres façons d’inclure des aspects spatiaux dans un modèle statistique.\nD’abord, nous pourrions inclure des prédicteurs dans le modèle qui représentent la position (ex.: longitude, latitude). De tels prédicteurs peuvent être utiles pour détecter une tendance ou un gradient systématique à grande échelle, que cette tendance soit linéaire ou non (par exemple, avec un modèle additif généralisé).\nEn contraste à cette approche, les modèles que nous verrons maintenant servent à modéliser une corrélation spatiale dans les fluctuations aléatoires d’une variable (i.e., dans les résidus après avoir enlevé tout effet systématique).\nLes modèles mixtes utilisent des effets aléatoires pour représenter la non-indépendance de données sur la base de leur groupement, c’est-à-dire qu’après avoir tenu compte des effets fixes systématiques, les données d’un même groupe sont plus semblables (leur variation résiduelle est corrélée) par rapport aux données de groupes différents. Ces groupes étaient parfois définis selon des critères spatiaux (observations regroupées en sites).\nCependant, dans un contexte d’effet aléatoire de groupe, tous les groupes sont aussi différents les uns des autres, ex.: deux sites à 100 km l’un de l’autre ne sont pas plus ou moins semblables que deux sites distants de 2 km.\nLes méthodes que nous verrons ici et dans les prochains parties de la formation nous permettent donc ce modéliser la non-indépendance sur une échelle continue (plus proche = plus corrélé) plutôt que seulement discrète (hiérarchie de groupements).\nModèles géostatistiques\nLa géostatistique désigne un groupe de techniques tirant leur origine en sciences de la Terre. Elle s’intéresse à des variables distribuées de façon continue dans l’espace, dont on cherche à estimer la distribution en échantillonnant un nombre de points. Un exemple classique de ces techniques provient du domaine minier, où l’on cherchait à créer une carte de la concentration du minerai sur un site à partir d’échantillons pris à différents points du site.\nPour ces modèles, nous supposerons que \\(z(x, y)\\) est une variable spatiale stationnaire mesurée selon les coordonnées \\(x\\) et \\(y\\).\nVariogramme\nUn aspect central de la géostatistique est l’estimation du variogramme \\(\\gamma_z\\) de la variable \\(z\\). Le variogramme est égal à la moitié de l’écart carré moyen entre les valeurs de \\(z\\) pour deux points \\((x_i, y_i)\\) et \\((x_j, y_j)\\) séparés par une distance \\(h\\).\n\\[\\gamma_z(h) = \\frac{1}{2} \\text{E} \\left[ \\left( z(x_i, y_i) - z(x_j, y_j) \\right)^2 \\right]_{d_{ij} = h}\\]\nDans cette équation, la fonction \\(\\text{E}\\) avec l’indice \\(d_{ij}=h\\) désigne l’espérance statistique (autrement dit, la moyenne) de l’écart au carré entre les valeurs de \\(z\\) pour les points séparés par une distance \\(h\\).\nSi on préfère exprimer l’autocorrélation \\(\\rho_z(h)\\) entre mesures de \\(z\\) séparées par une distance \\(h\\), celle-ci est reliée au variogramme par l’équation:\n\\[\\gamma_z = \\sigma_z^2(1 - \\rho_z)\\] ,\noù \\(\\sigma_z^2\\) est la variance globale de \\(z\\).\nNotez que \\(\\gamma_z = \\sigma_z^2\\) si nous sommes à une distance où les mesures de \\(z\\) sont indépendantes, donc \\(\\rho_z = 0\\). Dans ce cas, on voit bien que \\(\\gamma_z\\) s’apparente à une variance, même s’il est parfois appelé “semivariogramme” ou “semivariance” en raison du facteur 1/2 dans l’équation ci-dessus.\nModèles théoriques du variogramme\nPlusieurs modèles paramétriques ont été proposés pour représenter la corrélation spatiale en fonction de la distance entre points d’échantillonnage. Considérons d’abord une corrélation qui diminue de façon exponentielle:\n\\[\\rho_z(h) = e^{-h/r}\\]\nIci, \\(\\rho_z = 1\\) pour \\(h = 0\\) et la corréaltion est multipliée par \\(1/e \\approx 0.37\\) pour chaque augmentation de \\(r\\) de la distance. Dans ce contexte, \\(r\\) se nomme la portée (range) de la corrélation.\nÀ partir de l’équation ci-dessus, nous pouvons calculer le variogramme correspondant.\n\\[\\gamma_z(h) = \\sigma_z^2 (1 - e^{-h/r})\\]\nVoici une représentation graphique de ce variogramme.\n\n\n\nEn raison de la fonction exponentielle, la valeur de \\(\\gamma\\) à des grandes distances s’approche de la variance globale \\(\\sigma_z^2\\) sans exactement l’atteindre. Cette asymptote est appelée palier (sill) dans le contexte géostatistique et représentée par le symbole \\(s\\).\nFinalement, il n’est parfois pas réaliste de supposer une corrélation parfaite lorsque la distance tend vers 0, en raison d’une variation possible de \\(z\\) à très petite échelle. On peut ajouter au modèle un effet de pépite (nugget), noté \\(n\\), pour que \\(\\gamma\\) s’approche de \\(n\\) (plutôt que 0) si \\(h\\) tend vers 0. Le terme pépite provient de l’origine minière de ces techniques, où une pépite d’un minerai pourrait être la source d’une variation abrupte de la concentration à petite échelle.\nEn ajoutant l’effet de pépite, le reste du variogramme est “compressé” pour conserver le même palier, ce qui résulte en l’équation suivante.\n\\[\\gamma_z(h) = n + (s - n) (1 - e^{-h/r})\\]\nDans le package gstat que nous utiliserons ci-dessous, le terme \\((s - n)\\) est le palier partiel (partial sill, ou psill) pour la partie exponentielle.\n\n\n\nEn plus du modèle exponentiel, deux autres modèles théoriques courants pour le variogramme sont le modèle gaussien (où la corrélation suit une courbe demi-normale), ainsi que le modèle sphérique (où le variogramme augmente de façon linéaire au départ pour ensuite courber et atteindre le palier à une distance égale à sa portée \\(r\\)). Le modèle sphérique permet donc à la corrélation d’être exactement 0 à grande distance, plutôt que de s’approcher graduellement de zéro dans le cas des autres modèles.\nModèle\n\\(\\rho(h)\\)\n\\(\\gamma(h)\\)\nExponentiel\n\\(\\exp\\left(-\\frac{h}{r}\\right)\\)\n\\(s \\left(1 - \\exp\\left(-\\frac{h}{r}\\right)\\right)\\)\nGaussien\n\\(\\exp\\left(-\\frac{h^2}{r^2}\\right)\\)\n\\(s \\left(1 - \\exp\\left(-\\frac{h^2}{r^2}\\right)\\right)\\)\nSphérique \\((h < r)\\) *\n\\(1 - \\frac{3}{2}\\frac{h}{r} + \\frac{1}{2}\\frac{h^3}{r^3}\\)\n\\(s \\left(\\frac{3}{2}\\frac{h}{r} - \\frac{1}{2}\\frac{h^3}{r^3} \\right)\\)\n* Pour le modèle sphérique, \\(\\rho = 0\\) et \\(\\gamma = s\\) si \\(h \\ge r\\).\n\n\n\nVariogramme empirique\nPour estimer \\(\\gamma_z(h)\\) à partir de données empiriques, nous devons définir des classes de distance, donc grouper différentes distances dans une marge \\(\\pm \\delta\\) autour d’une distance \\(h\\), puis calculer l’écart-carré moyen pour les paires de points dans cette classe de distance.\n\\[\\hat{\\gamma_z}(h) = \\frac{1}{2 N_{\\text{paires}}} \\sum \\left[ \\left( z(x_i, y_i) - z(x_j, y_j) \\right)^2 \\right]_{d_{ij} = h \\pm \\delta}\\]\nNous verrons dans la partie suivante comment estimer un variogramme dans R.\nModèle de régression avec corrélation spatiale\nL’équation suivante représente une régression linéaire multiple incluant une corrélation spatiale résiduelle:\n\\[v = \\beta_0 + \\sum_i \\beta_i u_i + z + \\epsilon\\]\nIci, \\(v\\) désigne la variable réponse et \\(u\\) les prédicteurs, pour ne pas confondre avec les coordonnées spatiales \\(x\\) et \\(y\\).\nEn plus du résidu \\(\\epsilon\\) qui est indépendant entre les observations, le modèle inclut un terme \\(z\\) qui représente la portion spatialement corrélée de la variance résiduelle.\nVoici une suggestions d’étapes à suivre pour appliquer ce type de modèle:\nAjuster le modèle de régression sans corrélation spatiale.\nVérifier la présence de corrélation spatiale à partir du variogramme empirique des résidus.\nAjuster un ou plusieurs modèles de régression avec corrélation spatiale et choisir celui qui montre le meilleur ajustement aux données.\nModèles géostatistiques dans R\nLe package gstat contient des fonctions liées à la géostatistique. Pour cet exemple, nous utiliserons le jeu de données oxford de ce package, qui contient des mesures de propriétés physiques et chimiques pour 126 échantillons du sol d’un site, ainsi que leurs coordonnées XCOORD et YCOORD.\n\n\nlibrary(gstat)\n\ndata(oxford)\nstr(oxford)\n\n\n'data.frame': 126 obs. of 22 variables:\n $ PROFILE : num 1 2 3 4 5 6 7 8 9 10 ...\n $ XCOORD : num 100 100 100 100 100 100 100 100 100 100 ...\n $ YCOORD : num 2100 2000 1900 1800 1700 1600 1500 1400 1300 1200 ...\n $ ELEV : num 598 597 610 615 610 595 580 590 598 588 ...\n $ PROFCLASS: Factor w/ 3 levels \"Cr\",\"Ct\",\"Ia\": 2 2 2 3 3 2 3 2 3 3 ...\n $ MAPCLASS : Factor w/ 3 levels \"Cr\",\"Ct\",\"Ia\": 2 3 3 3 3 2 2 3 3 3 ...\n $ VAL1 : num 3 3 4 4 3 3 4 4 4 3 ...\n $ CHR1 : num 3 3 3 3 3 2 2 3 3 3 ...\n $ LIME1 : num 4 4 4 4 4 0 2 1 0 4 ...\n $ VAL2 : num 4 4 5 8 8 4 8 4 8 8 ...\n $ CHR2 : num 4 4 4 2 2 4 2 4 2 2 ...\n $ LIME2 : num 4 4 4 5 5 4 5 4 5 5 ...\n $ DEPTHCM : num 61 91 46 20 20 91 30 61 38 25 ...\n $ DEP2LIME : num 20 20 20 20 20 20 20 20 40 20 ...\n $ PCLAY1 : num 15 25 20 20 18 25 25 35 35 12 ...\n $ PCLAY2 : num 10 10 20 10 10 20 10 20 10 10 ...\n $ MG1 : num 63 58 55 60 88 168 99 59 233 87 ...\n $ OM1 : num 5.7 5.6 5.8 6.2 8.4 6.4 7.1 3.8 5 9.2 ...\n $ CEC1 : num 20 22 17 23 27 27 21 14 27 20 ...\n $ PH1 : num 7.7 7.7 7.5 7.6 7.6 7 7.5 7.6 6.6 7.5 ...\n $ PHOS1 : num 13 9.2 10.5 8.8 13 9.3 10 9 15 12.6 ...\n $ POT1 : num 196 157 115 172 238 164 312 184 123 282 ...\n\nSupposons que nous souhaitons modéliser la concentration de magnésium (MG1), représentée en fonction de la position spatiale dans le graphique suivant.\n\n\nlibrary(ggplot2)\nggplot(oxford, aes(x = YCOORD, y = XCOORD, size = MG1)) +\n geom_point() +\n coord_fixed()\n\n\n\n\nNotez que les axes \\(x\\) et \\(y\\) ont été inversés par souci d’espace. La fonction coord_fixed() de ggplot2 assure que l’échelle soit la même sur les deux axes, ce qui est utile pour représenter des données spatiales.\nNous voyons tout de suite que ces mesures ont été prises sur une grille de 100 m de côté. Il semble que la concentration de magnésium soit spatialement corrélée, bien qu’il puisse s’agir d’une corrélation induite par une autre variable. Nous savons notamment que la concentration de magnésium est reliée négativement au pH du sol (PH1).\n\n\nggplot(oxford, aes(x = PH1, y = MG1)) +\n geom_point()\n\n\n\n\nLa fonction variogram de gstat sert à estimer un variogramme à partir de données empiriques. Voici le résultat obtenu pour la variable MG1.\n\n\nvar_mg <- variogram(MG1 ~ 1, locations = ~ XCOORD + YCOORD, data = oxford)\nvar_mg\n\n\n np dist gamma dir.hor dir.ver id\n1 225 100.0000 1601.404 0 0 var1\n2 200 141.4214 1950.805 0 0 var1\n3 548 215.0773 2171.231 0 0 var1\n4 623 303.6283 2422.245 0 0 var1\n5 258 360.5551 2704.366 0 0 var1\n6 144 400.0000 2948.774 0 0 var1\n7 570 427.5569 2994.621 0 0 var1\n8 291 500.0000 3402.058 0 0 var1\n9 366 522.8801 3844.165 0 0 var1\n10 200 577.1759 3603.060 0 0 var1\n11 458 619.8400 3816.595 0 0 var1\n12 90 670.8204 3345.739 0 0 var1\n\nLa formule MG1 ~ 1 indique qu’aucun prédicteur linéaire n’est inclus dans ce modèle, tandis que l’argument locations indique quelles variables du tableau correspondent aux coordonnées spatiales.\nDans le tableau obtenu, gamma est la valeur du variogramme pour la classe de distance centrée sur dist, tandis que np est le nombre de paires de points dans cette classe. Ici, puisque les points sont situés sur une grille, nous obtenons des classes de distance régulières (ex.: 100 m pour les points voisins sur la grille, 141 m pour les voisins en diagonale, etc.).\nNous nous limitons ici à l’estimation de variogrammes isotropiques, c’est-à-dire que le variogramme dépend seulement de la distance entre les deux points et non de la direction. Bien que nous n’ayons pas le temps de le voir aujourd’hui, il est possible avec gstat d’estimer séparément le variogramme dans différentes directions.\nNous pouvons illustrer le variogramme avec plot.\n\n\nplot(var_mg, col = \"black\")\n\n\n\n\nSi nous voulons estimer la corrélation spatiale résiduelle de MG1 après avoir inclus l’effet de PH1, nous pouvons ajouter ce prédicteur à la formule.\n\n\nvar_mg <- variogram(MG1 ~ PH1, locations = ~ XCOORD + YCOORD, data = oxford)\nplot(var_mg, col = \"black\")\n\n\n\n\nEn incluant l’effet du pH, la portée de la corrélation spatiale semble diminuer, alors que le plateau est atteint autour de 300 m. Il semble même que le variogramme diminue au-delà de 400 m. En général, nous supposons que la variance entre deux points ne diminue pas avec la distance, à moins d’avoir un patron spatial périodique.\nLa fonction fit.variogram accepte comme arguments un variogramme estimé à partir des données, ainsi qu’un modèle théorique décrit dans une fonction vgm, puis estime les paramètres de ce modèle en fonction des données. L’ajustement se fait par la méthode des moindres carrés.\nPar exemple, vgm(\"Exp\") indique d’ajuster un modèle exponentiel.\n\n\nvfit <- fit.variogram(var_mg, vgm(\"Exp\"))\nvfit\n\n\n model psill range\n1 Nug 0.000 0.00000\n2 Exp 1951.496 95.11235\n\nIl n’y a aucun effet de pépite, car psill = 0 pour la partie Nug (nugget) du modèle. La partie exponentielle a un palier à 1951 et une portée de 95 m.\nPour comparer différents modèles, on peut donner un vecteur de noms de modèles à vgm. Dans l’exemple suivant, nous incluons les modèles exponentiel, gaussien (“Gau”) et sphérique (“Sph”).\n\n\nvfit <- fit.variogram(var_mg, vgm(c(\"Exp\", \"Gau\", \"Sph\")))\nvfit\n\n\n model psill range\n1 Nug 0.000 0.00000\n2 Exp 1951.496 95.11235\n\nLa fonction nous donne le résultat du modèle le mieux ajusté (plus faible somme des écarts au carré), qui est ici le même modèle exponentiel.\nFinalement, nous pouvons superposer le modèle théorique et le variogramme empirique sur un même graphique.\n\n\nplot(var_mg, vfit, col = \"black\")\n\n\n\n\nRégression avec corrélation spatiale\nNous avons vu ci-dessus que le package gstat permet d’estimer le variogramme des résidus d’un modèle linéaire. Dans notre exemple, la concentration de magnésium était modélisée en fonction du pH, avec des résidus spatialement corrélés.\nUn autre outil pour ajuster ce même type de modèle est la fonction gls du package nlme, qui est inclus avec l’installation de R.\nCette fonction applique la méthode des moindres carrés généralisés (generalized least squares) pour ajuster des modèles de régression linéaire lorsque les résidus ne sont pas indépendants ou lorsque la variance résiduelle n’est pas la même pour toutes les observations. Comme les estimés des coefficients dépendent de l’estimé des corrélations entre les résidus et que ces derniers dépendent eux-mêmes des coefficients, le modèle est ajusté par un algorithme itératif:\nOn ajuste un modèle de régression linéaire classique (sans corrélation) pour obtenir des résidus.\nOn ajuste le modèle de corrélation spatiale (variogramme) avec ses résidus.\nOn ré-estime les coefficients de la régression en tenant compte maintenant des corrélations.\nLes étapes 2 et 3 sont répétées jusqu’à ce que les estimés soient stables à une précision voulue.\nVoici l’application de cette méthode au même modèle pour la concentration de magnésium dans le jeu de données oxford. Dans l’argument correlation de gls, nous spécifions un modèle de corrélation exponentielle en fonction de nos coordonnées spatiales et indiquons que nous voulons aussi estimer un effet de pépite.\nEn plus de la corrélation exponentielle corExp, la fonction gls peut aussi estimer un modèle gaussien (corGaus) ou sphérique (corSpher).\n\n\nlibrary(nlme)\ngls_mg <- gls(MG1 ~ PH1, oxford, \n correlation = corExp(form = ~ XCOORD + YCOORD, nugget = TRUE))\nsummary(gls_mg)\n\n\nGeneralized least squares fit by REML\n Model: MG1 ~ PH1 \n Data: oxford \n AIC BIC logLik\n 1278.65 1292.751 -634.325\n\nCorrelation Structure: Exponential spatial correlation\n Formula: ~XCOORD + YCOORD \n Parameter estimate(s):\n range nugget \n478.0322959 0.2944753 \n\nCoefficients:\n Value Std.Error t-value p-value\n(Intercept) 391.1387 50.42343 7.757084 0\nPH1 -41.0836 6.15662 -6.673079 0\n\n Correlation: \n (Intr)\nPH1 -0.891\n\nStandardized residuals:\n Min Q1 Med Q3 Max \n-2.1846957 -0.6684520 -0.3687813 0.4627580 3.1918604 \n\nResidual standard error: 53.8233 \nDegrees of freedom: 126 total; 124 residual\n\nPour comparer ce résultat au variogramme ajusté ci-dessus, il faut transformer les paramètres donnés par gls. La portée (range) a le même sens dans les deux cas et correspond à 478 m pour le résultat de gls. La variance globale des résidus est le carré de Residual standard error. L’effet de pépite ici (0.294) est exprimé comme fraction de cette variance. Finalement, pour obtenir le palier partiel de la partie exponentielle, il faut soustraire l’effet de pépite de la variance totale.\nAprès avoir réalisé ces calculs, nous pouvons donner ces paramètres à la fonction vgm de gstat pour superposer ce variogramme estimé par gls à notre variogramme des résidus du modèle linéaire classique.\n\n\ngls_range <- 478\ngls_var <- 53.823^2\ngls_nugget <- 0.294 * gls_var\ngls_psill <- gls_var - gls_nugget\n\ngls_vgm <- vgm(\"Exp\", psill = gls_psill, range = gls_range, nugget = gls_nugget)\n\nplot(var_mg, gls_vgm, col = \"black\", ylim = c(0, 4000))\n\n\n\n\nEst-ce que le modèle est moins bien ajusté aux données ici? En fait, ce variogramme empirique représenté par les points avait été obtenu à partir des résidus du modèle linéaire ignorant la corrélation spatiale, donc c’est un estimé biaisé des corrélations spatiales réelles. La méthode est quand même adéquate pour vérifier rapidement s’il y a présence de corrélations spatiales. Toutefois, pour ajuster simultanément les coefficients de la régression et les paramètres de corrélation spatiale, l’approche des moindres carrés généralisés (GLS) est préférable et produira des estimés plus justes.\nFinalement, notez que le résultat du modèle gls donne aussi l’AIC, que nous pouvons utiliser pour comparer l’ajustement de différents modèles (avec différents prédicteurs ou différentes formes de corrélation spatiale).\nExercice\nLe fichier bryo_belg.csv est adapté des données de l’étude:\n\nNeyens, T., Diggle, P.J., Faes, C., Beenaerts, N., Artois, T. et Giorgi, E. (2019) Mapping species richness using opportunistic samples: a case study on ground-floor bryophyte species richness in the Belgian province of Limburg. Scientific Reports 9, 19122. https://doi.org/10.1038/s41598-019-55593-x\n\nCe tableau de données indique la richesse spécifique des bryophytes au sol (richness) pour différents points d’échantillonnage de la province belge de Limbourg, avec leur position (x, y) en km, en plus de l’information sur la proportion de forêts (forest) et de milieux humides (wetland) dans une cellule de 1 km\\(^2\\) contenant le point d’échantillonnage.\n\n\nbryo_belg <- read.csv(\"data/bryo_belg.csv\")\nhead(bryo_belg)\n\n\n richness forest wetland x y\n1 9 0.2556721 0.5036614 228.9516 220.8869\n2 6 0.6449114 0.1172068 227.6714 219.8613\n3 5 0.5039905 0.6327003 228.8252 220.1073\n4 3 0.5987329 0.2432942 229.2775 218.9035\n5 2 0.7600775 0.1163538 209.2435 215.2414\n6 10 0.6865434 0.0000000 210.4142 216.5579\n\nPour cet exercice, nous utiliserons la racine carrée de la richesse spécifique comme variable réponse. La transformation racine carrée permet souvent d’homogénéiser la variance des données de comptage afin d’y appliquer une régression linéaire.\nAjustez un modèle linéaire de la richesse spécifique transformée en fonction de la fraction de forêt et de milieux humides, sans tenir compte des corrélations spatiales. Quel est l’effet des deux prédicteurs selon ce modèle?\nCalculez le variogramme empirique des résidus du modèle en (a). Semble-t-il y avoir une corrélation spatiale entre les points?\nNote: L’argument cutoff de la fonction variogram spécifie la distance maximale à laquelle le variogramme est calculé. Vous pouvez ajuster manuellement cette valeur pour bien voir le palier.\nRé-ajustez le modèle linéaire en (a) avec la fonction gls du package nlme, en essayant différents types de corrélations spatiales (exponentielle, gaussienne, sphérique). Comparez les modèles (incluant celui sans corrélation spatiale) avec l’AIC.\nQuel est l’effet de la fraction de forêts et de milieux humides selon le modèle en (c)? Expliquez les différences entre les conclusions de ce modèle et du modèle en (a).\nKrigeage\nTel que mentionné précédemment, une application courante des modèles géostatistiques consiste à prédire la valeur de la variable de réponse à des points non-échantillonnés, une forme d’interpolation spatiale appelée krigeage (kriging).\nIl existe trois principaux types de krigeage selon les suppositions faites au sujet de la variable réponse:\nKrigeage ordinaire: variable stationnaire avec une moyenne inconnue.\nKrigeage simple: Variable stationnaire avec une moyenne connue.\nKrigeage universel: Variable dont la tendance est donnée par un modèle linéaire ou non linéaire.\nPour toutes les méthodes de krigeage, les prédictions à un nouveau point sont une moyenne pondérée des valeurs à des points connus. Ces pondérations sont choisies de manière à ce que le krigeage fournisse la meilleure prédiction linéaire non biaisée de la variable de réponse, si les hypothèses du modèle (en particulier le variogramme) sont correctes. C’est-à-dire que, parmi toutes les prédictions non biaisées possibles, les poids sont choisis de manière à donner l’erreur quadratique moyenne minimale. Le krigeage fournit également une estimation de l’incertitude de chaque prédiction.\nBien que nous ne présentions pas ici les équations détaillées du krigeage, les poids dépendent à la fois des corrélations (estimées par le variogramme) entre les points échantillonnés et le nouveau point, ainsi que des corrélations entre les points échantillonnés eux-mêmes. Autrement dit, les points échantillonnés proches du nouveau point ont plus de poids, mais les points échantillonnés isolés ont également plus de poids, car les points échantillonnés proches les uns des autres fournissent une informations redondante.\nLe krigeage est une méthode d’interpolation, donc la prédiction à un point échantillonné sera toujours égale à la valeur mesurée (la variable est supposée être mesurée sans erreur, elle varie seulement entre les points). Cependant, en présence d’un effet de pépite, tout petit déplacement par rapport à l’endroit échantillonné présentera une variabilité en fonction de la pépite.\nDans l’exemple ci-dessous, nous générons un nouvel ensemble de données composé de coordonnées (x, y) générées de façon aléatoire dans la zone d’étude ainsi que des valeurs de pH générées de façon aléatoire sur la base des données oxford. Nous appliquons ensuite la fonction krige pour prédire les valeurs de magnésium à ces nouveaux points. Notez que nous spécifions le variogramme dérivé des résultats du gls dans l’argument model de krige.\n\n\nset.seed(14)\nnew_points <- data.frame(\n XCOORD = runif(100, min(oxford$XCOORD), max(oxford$XCOORD)),\n YCOORD = runif(100, min(oxford$YCOORD), max(oxford$YCOORD)),\n PH1 = rnorm(100, mean(oxford$PH1), sd(oxford$PH1))\n)\n\npred <- krige(MG1 ~ PH1, locations = ~ XCOORD + YCOORD, data = oxford,\n newdata = new_points, model = gls_vgm)\n\n\n[using universal kriging]\n\nhead(pred)\n\n\n XCOORD YCOORD var1.pred var1.var\n1 227.0169 162.1185 47.13065 1269.002\n2 418.9136 465.9013 79.68437 1427.269\n3 578.5943 2032.7477 60.30539 1264.471\n4 376.2734 1530.7193 127.22366 1412.875\n5 591.5336 421.6290 105.88124 1375.485\n6 355.7369 404.3378 127.73055 1250.114\n\nLe résultat de krige comprend les nouvelles coordonnées du point, la prédiction de la variable var1.pred ainsi que sa variance estimée var1.var. Dans le graphique ci-dessous, nous montrons les prédictions moyennes de MG1 à partir du krigeage (triangles) ainsi que les mesures (cercles).\n\n\npred$MG1 <- pred$var1.pred\n\nggplot(oxford, aes(x = YCOORD, y = XCOORD, color = MG1)) +\n geom_point() +\n geom_point(data = pred, shape = 17, size = 2) +\n coord_fixed()\n\n\n\n\nLa moyenne et la variance estimées par krigeage peuvent être utilisées pour simuler les valeurs possibles de la variable à chaque nouveau point, conditionnellement aux valeurs échantillonnées. Dans l’exemple ci-dessous, nous avons effectué 4 simulations conditionnelles en ajoutant l’argument nsim = 4 à la même instruction krige.\n\n\nsim_mg <- krige(MG1 ~ PH1, locations = ~ XCOORD + YCOORD, data = oxford,\n newdata = new_points, model = gls_vgm, nsim = 4)\n\n\ndrawing 4 GLS realisations of beta...\n[using conditional Gaussian simulation]\n\nhead(sim_mg)\n\n\n XCOORD YCOORD sim1 sim2 sim3 sim4\n1 227.0169 162.1185 13.22592 32.43060 42.81847 79.60594\n2 418.9136 465.9013 67.94216 15.53717 69.25356 63.42233\n3 578.5943 2032.7477 99.93083 77.98291 74.28468 58.98483\n4 376.2734 1530.7193 104.86240 155.50774 85.82552 143.07373\n5 591.5336 421.6290 78.14221 68.62827 147.33052 130.14264\n6 355.7369 404.3378 164.46754 117.26160 131.85158 143.58951\n\n\n\nlibrary(tidyr)\nsim_mg <- pivot_longer(sim_mg, cols = c(sim1, sim2, sim3, sim4), \n names_to = \"sim\", values_to = \"MG1\")\nggplot(sim_mg, aes(x = YCOORD, y = XCOORD, color = MG1)) +\n geom_point() +\n coord_fixed() +\n facet_wrap(~ sim)\n\n\n\n\nSolutions\n\n\nbryo_lm <- lm(sqrt(richness) ~ forest + wetland, data = bryo_belg)\nsummary(bryo_lm)\n\n\n\nCall:\nlm(formula = sqrt(richness) ~ forest + wetland, data = bryo_belg)\n\nResiduals:\n Min 1Q Median 3Q Max \n-1.8847 -0.4622 0.0545 0.4974 2.3116 \n\nCoefficients:\n Estimate Std. Error t value Pr(>|t|) \n(Intercept) 2.34159 0.08369 27.981 < 2e-16 ***\nforest 1.11883 0.13925 8.034 9.74e-15 ***\nwetland -0.59264 0.17216 -3.442 0.000635 ***\n---\nSignif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1\n\nResidual standard error: 0.7095 on 417 degrees of freedom\nMultiple R-squared: 0.2231, Adjusted R-squared: 0.2193 \nF-statistic: 59.86 on 2 and 417 DF, p-value: < 2.2e-16\n\nLa proportion de forêts a un effet positif significatif et la proportion de milieux humides a un effet négatif significatif sur la richesse des bryophytes.\n\n\nplot(variogram(sqrt(richness) ~ forest + wetland, locations = ~ x + y,\n data = bryo_belg, cutoff = 50), col = \"black\")\n\n\n\n\nLe variogramme augmente au moins jusqu’à une distance de 40 km, il semble donc y avoir des corrélations spatiales dans les résidus du modèle.\n\n\nbryo_exp <- gls(sqrt(richness) ~ forest + wetland, data = bryo_belg,\n correlation = corExp(form = ~ x + y, nugget = TRUE))\nbryo_gaus <- gls(sqrt(richness) ~ forest + wetland, data = bryo_belg,\n correlation = corGaus(form = ~ x + y, nugget = TRUE))\nbryo_spher <- gls(sqrt(richness) ~ forest + wetland, data = bryo_belg,\n correlation = corSpher(form = ~ x + y, nugget = TRUE))\n\n\n\n\n\nAIC(bryo_lm)\n\n\n[1] 908.6358\n\nAIC(bryo_exp)\n\n\n[1] 867.822\n\nAIC(bryo_gaus)\n\n\n[1] 870.9592\n\nAIC(bryo_spher)\n\n\n[1] 866.9117\n\nLe modèle sphérique a l’AIC le plus faible.\n\n\nsummary(bryo_spher)\n\n\nGeneralized least squares fit by REML\n Model: sqrt(richness) ~ forest + wetland \n Data: bryo_belg \n AIC BIC logLik\n 866.9117 891.1102 -427.4558\n\nCorrelation Structure: Spherical spatial correlation\n Formula: ~x + y \n Parameter estimate(s):\n range nugget \n43.1725704 0.6063077 \n\nCoefficients:\n Value Std.Error t-value p-value\n(Intercept) 2.0368754 0.2481673 8.207671 0.000\nforest 0.6989805 0.1481691 4.717450 0.000\nwetland -0.2441117 0.1809121 -1.349339 0.178\n\n Correlation: \n (Intr) forest\nforest -0.251 \nwetland -0.235 0.241\n\nStandardized residuals:\n Min Q1 Med Q3 Max \n-1.75202529 -0.06568241 0.61415377 1.15239953 3.23320744 \n\nResidual standard error: 0.799832 \nDegrees of freedom: 420 total; 417 residual\n\nLa magnitude des deux effets est moins importante et l’effet des milieux humides n’est plus significatif. Comme c’est le cas pour d’autres types de résidus non indépendants, la “taille effective” de l’échantillon est ici inférieure au nombre de points, car des points proches les uns des autres fournissent une information redondante. Par conséquent, la relation entre les prédicteurs et la réponse est moins claire que celle donnée par le modèle supposant que tous ces points étaient indépendants.\nNotez que les résultats pour les trois modèles gls sont assez similaires, donc le choix d’inclure des corrélations spatiales était plus important que la forme exacte supposée pour le variogramme.\n\n\n\n", "preview": "Marchand/2021-01-14-statistiques-spatiales-en-cologie-partie-2/statistiques-spatiales-en-cologie-partie-2_files/figure-html5/unnamed-chunk-1-1.png", - "last_modified": "2021-04-26T19:09:56-04:00", + "last_modified": "2021-05-19T11:56:35-04:00", "input_file": {}, "preview_width": 1248, "preview_height": 768 @@ -148,7 +148,7 @@ ], "contents": "\n\nContents\nIntroduction to spatial statistics\nTypes of spatial analyses\nStationarity and isotropy\nGeoreferenced data\n\nPoint pattern analysis\nPoint pattern and point process\nComplete spatial randomness\nExploratory or inferential analysis for a point pattern\nRipley’s K function\nEdge effects\nExample\nExercise 1\n\nEffect of heterogeneity\nExercise 2\n\nRelationship between two point patterns\nQuestions\n\nMarked point patterns\nReferences\n\nSolutions\nExercise 1\nExercise 2\n\n\nIntroduction to spatial statistics\nTypes of spatial analyses\nIn this training, we will discuss three types of spatial analyses: point pattern analysis, geostatistical models and models for areal data.\nIn point pattern analysis, we have point data representing the position of individuals or events in a study area and we assume that all individuals or events have been identified in that area. That analysis focuses on the distribution of the positions of the points themselves. Here are some typical questions for the analysis of point patterns:\nAre the points randomly arranged or clustered?\nAre two types of points arranged independently?\nGeostatistical models represent the spatial distribution of continuous variables that are measured at certain sampling points. They assume that measurements of those variables at different points are correlated as a function of the distance between the points. Applications of geostatistical models include the smoothing of spatial data (e.g., producing a map of a variable over an entire region based on point measurements) and the prediction of those variables for non-sampled points.\nAreal data are measurements taken not at points, but for regions of space represented by polygons (e.g. administrative divisions, grid cells). Models representing these types of data define a network linking each region to its neighbours and include correlations in the variable of interest between neighbouring regions.\nStationarity and isotropy\nSeveral spatial analyses assume that the variables are stationary in space. As with stationarity in the time domain, this property means that summary statistics (mean, variance and correlations between measures of a variable) do not vary with translation in space. For example, the spatial correlation between two points may depend on the distance between them, but not on their absolute position.\nIn particular, there cannot be a large-scale trend (often called gradient in a spatial context), or this trend must be taken into account before modelling the spatial correlation of residuals.\nIn the case of point pattern analysis, stationarity (also called homogeneity) means that point density does not follow a large-scale trend.\nIn a isotropic statistical model, the spatial correlations between measurements at two points depend only on the distance between the points, not on the direction. In this case, the summary statistics do not change under a spatial rotation of the data.\nGeoreferenced data\nEnvironmental studies increasingly use data from geospatial data sources, i.e. variables measured over a large part of the globe (e.g. climate, remote sensing). The processing of these data requires concepts related to Geographic Information Systems (GIS), which are not covered in this workshop, where we focus on the statistical aspects of spatially varying data.\nThe use of geospatial data does not necessarily mean that spatial statistics are required. For example, we will often extract values of geographic variables at study points to explain a biological response observed in the field. In this case, the use of spatial statistics is only necessary when there is a spatial correlation in the residuals, after controlling for the effect of the predictors.\nPoint pattern analysis\nPoint pattern and point process\nA point pattern describes the spatial position (most often in 2D) of individuals or events, represented by points, in a given study area, often called the observation “window”.\nIt is assumed that each point has a negligible spatial extent relative to the distances between the points. More complex methods exist to deal with spatial patterns of objects that have a non-negligible width, but this topic is beyond the scope of this workshop.\nA point process is a statistical model that can be used to simulate point patterns or explain an observed point pattern.\nComplete spatial randomness\nComplete spatial randomness (CSR) is one of the simplest point patterns, which serves as a null model for evaluating the characteristics of real point patterns. In this pattern, the presence of a point at a given position is independent of the presence of points in a neighbourhood.\nThe process creating this pattern is a homogeneous Poisson process. According to this model, the number of points in any area \\(A\\) follows a Poisson distribution: \\(N(A) \\sim \\text{Pois}(\\lambda A)\\), where \\(\\lambda\\) is the intensity of the process (i.e. the density of points per unit area). \\(N\\) is independent between two disjoint regions, no matter how those regions are defined.\nIn the graph below, only the pattern on the right is completely random. The pattern on the left shows point aggregation (higher probability of observing a point close to another point), while the pattern in the center shows repulsion (low probability of observing a point very close to another).\n\n\n\nExploratory or inferential analysis for a point pattern\nSeveral summary statistics are used to describe the characteristics of a point pattern. The simplest is the intensity \\(\\lambda\\), which as mentioned above represents the density of points per unit area. If the point pattern is heterogeneous, the intensity is not constant, but depends on the position: \\(\\lambda(x, y)\\).\nCompared to intensity, which is a first-order statistic, second-order statistics describe how the probability of the presence of a point in a region depends on the presence of other points. The Ripley’s \\(K\\) function presented in the next section is an example of a second-order summary statistic.\nStatistical inferences on point patterns usually consist of testing the hypothesis that the point pattern corresponds to a given null model, such as CSR or a more complex null model. Even for the simplest null models, we rarely know the theoretical distribution for a summary statistic of the point pattern under the null model. Hypothesis tests on point patterns are therefore performed by simulation: a large number of point patterns are simulated from the null model and the distribution of the summary statistics of interest for these simulations is compared to their values for the observed point pattern.\nRipley’s K function\nRipley’s K function \\(K(r)\\) is defined as the mean number of points within a circle of radius \\(r\\) around a point in the pattern, standardized by the intensity \\(\\lambda\\).\nUnder the CSR null model, the mean number of points in any circle of radius \\(r\\) is \\(\\lambda \\pi r^2\\), thus in theory \\(K(r) = \\pi r^2\\) for that model. A higher value of \\(K(r)\\) means that there is an aggregation of points at the scale \\(r\\), whereas a lower value means that there is repulsion.\nIn practice, \\(K(r)\\) is estimated for a specific point pattern by the equation:\n\\[ K(r) = \\frac{A}{n(n-1)} \\sum_i \\sum_{j > i} I \\left( d_{ij} \\le r \\right) w_{ij}\\]\nwhere \\(A\\) is the area of the observation window and \\(n\\) is the number of points in the pattern, so \\(n(n-1)\\) is the number of distinct pairs of points. We take the sum for all pairs of points of the indicator function \\(I\\), which takes a value of 1 if the distance between points \\(i\\) and \\(j\\) is less than or equal to \\(r\\). Finally, the term \\(w_{ij}\\) is used to give extra weight to certain pairs of points to account for edge effects, as discussed in the next section.\nFor example, the graphs below show the estimated \\(K(r)\\) function for the patterns shown above, for values of \\(r\\) up to 1/4 of the window width. The red dashed curve shows the theoretical value for CSR and the gray area is an “envelope” produced by 99 simulations of that null pattern. The aggregated pattern shows an excess of neighbours up to \\(r = 0.25\\) and the pattern with repulsion shows a significant deficit of neighbours for small values of \\(r\\).\n\n\n\nIn addition to \\(K\\), there are other statistics to describe the second-order properties of point patterns, such as the mean distance between a point and its nearest \\(N\\) neighbours. You can refer to the Wiegand and Moloney (2013) textbook in the references to learn more about different summary statistics for point patterns.\nEdge effects\nIn the context of point pattern analysis, edge effects are due to the fact that we have incomplete knowledge of the neighbourhood of points near the edge of the observation window, which can induce a bias in the calculation of statistics such as Ripley’s \\(K\\).\nDifferent methods have been developed to correct the bias due to edge effects. In Ripley’s edge correction method, the contribution of a neighbour \\(j\\) located at a distance \\(r\\) from a point \\(i\\) receives a weight \\(w_{ij} = 1/\\phi_i(r)\\), where \\(\\phi_i(r)\\) is the fraction of the circle of radius \\(r\\) around \\(i\\) contained in the observation window. For example, if 2/3 of the circle is in the window, this neighbour counts as 3/2 neighbours in the calculation of a statistic like \\(K\\).\n\nRipley’s method is one of the simplest to correct for edge effects, but is not necessarily the most efficient; in particular, larger weights given to certain pairs of points tend to increase the variance of the calculated statistic. Other correction methods are presented in specialized textbooks, such as Wiegand and Moloney (2013).\nExample\nFor this example, we use the dataset semis_xy.csv, which represents the \\((x, y)\\) coordinates for seedlings of two species (sp, B = birch and P = poplar) in a 15 x 15 m plot.\n\n\nsemis <- read.csv(\"data/semis_xy.csv\")\nhead(semis)\n\n\n x y sp\n1 14.73 0.05 P\n2 14.72 1.71 P\n3 14.31 2.06 P\n4 14.16 2.64 P\n5 14.12 4.15 B\n6 9.88 4.08 B\n\nThe spatstat package provides tools for point pattern analysis in R. The first step consists in transforming our data frame into a ppp object (point pattern) with the function of the same name. In this function, we specify which columns contain the coordinates x and y as well as the marks, which here will be the species codes. We also need to specify an observation window (window) using the owin function, where we provide the plot limits in x and y.\n\n\nlibrary(spatstat)\n\nsemis <- ppp(x = semis$x, y = semis$y, marks = as.factor(semis$sp),\n window = owin(xrange = c(0, 15), yrange = c(0, 15)))\nsemis\n\n\nMarked planar point pattern: 281 points\nMultitype, with levels = B, P \nwindow: rectangle = [0, 15] x [0, 15] units\n\nMarks can be numeric or categorical. Note that for categorical marks as is the case here, the variable must be explicitly converted to a factor.\nThe plot function applied to a point pattern shows a diagram of the pattern.\n\n\nplot(semis)\n\n\n\n\nThe intensity function calculates the density of points of each species by unit area (here, by \\(m^2\\)).\n\n\nintensity(semis)\n\n\n B P \n0.6666667 0.5822222 \n\nTo first analyze the distribution of each species separately, we split the pattern with split. Since the pattern contains categorical marks, it is automatically split according to the values of those marks. The result is a list of two point patterns.\n\n\nsemis_split <- split(semis)\nplot(semis_split)\n\n\n\n\nThe Kest function calculates Ripley’s \\(K\\) for a series of distances up to (by default) 1/4 of the width of the window. Here we apply it to the first pattern (birch) by choosing semis_split[[1]]. Note that double square brackets are necessary to choose an item from a list in R.\nThe argument correction = \"iso\" tells the function to apply Ripley’s correction for edge effects.\n\n\nk <- Kest(semis_split[[1]], correction = \"iso\")\nplot(k)\n\n\n\n\nAccording to this graph, there seems to be an excess of neighbours for distances of 1 m and above. To check if this is a significant difference, we produce a simulation envelope with the envelope function. The first argument of envelope is a point pattern to which the simulations will be compared, the second one is a function to be computed (here, Kest) for each simulated pattern, then we add the arguments of the Kest function (here, only correction).\n\n\nplot(envelope(semis_split[[1]], Kest, correction = \"iso\"))\n\n\nGenerating 99 simulations of CSR ...\n1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35,\n36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70,\n71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99.\n\nDone.\n\n\nAs indicated by the message, by default the function performs 99 simulations of the null model corresponding to complete spatial randomness (CSR).\nThe observed curve falls outside the envelope of the 99 simulations near \\(r = 2\\). We must be careful not to interpret too quickly a result that is outside the envelope. Although there is about a 1% probability of obtaining a more extreme result under the null hypothesis at a given distance, the envelope is calculated for a large number of values of \\(r\\) and is not corrected for multiple comparisons. Thus, a significant difference for a very small range of values of \\(r\\) may be simply due to chance.\nExercise 1\nLooking at the graph of the second point pattern (poplar seedlings), can you predict where Ripley’s \\(K\\) will be in relation to the null hypothesis of complete spatial randomness? Verify your prediction by calculating Ripley’s \\(K\\) for this point pattern in R.\nEffect of heterogeneity\nThe graph below illustrates a heterogeneous point pattern, i.e. it shows an density gradient (more points on the left than on the right).\n\n\n\nA density gradient can be confused with an aggregation of points, as can be seen on the graph of the corresponding Ripley’s \\(K\\). In theory, these are two different processes:\nHeterogeneity: The density of points varies in the study area, for example due to the fact that certain local conditions are more favorable to the presence of the species of interest.\nAggregation: The mean density of points is homogeneous, but the presence of one point increases the presence of other points in its vicinity, for example due to positive interactions between individuals.\nHowever, it may be difficult to differentiate between the two in practice, especially since some patterns may be both heterogeneous and aggregated.\nLet’s take the example of the poplar seedlings from the previous exercise. The density function applied to a point pattern performs a kernel density estimation of the density of the seedlings across the plot. By default, this function uses a Gaussian kernel with a standard deviation sigma specified in the function, which determines the scale at which density fluctuations are “smoothed”. Here, we use a value of 2 m for sigma and we first represent the estimated density with plot, before overlaying the points (add = TRUE means that the points are added to the existing plot rather than creating a new plot).\n\n\ndens_p <- density(semis_split[[2]], sigma = 2)\nplot(dens_p)\nplot(semis_split[[2]], add = TRUE)\n\n\n\n\nTo measure the aggregation or repulsion of points in a heterogeneous pattern, we must use the inhomogeneous version of the \\(K\\) statistic (Kinhom in spatstat). This statistic is still equal to the mean number of neighbours within a radius \\(r\\) of a point in the pattern, but rather than standardizing this number by the overall intensity of the pattern, it is standardized by the local estimated density. As above, we specify sigma = 2 to control the level of smoothing for the varying density estimate.\n\n\nplot(Kinhom(semis_split[[2]], sigma = 2, correction = \"iso\"))\n\n\n\n\nTaking into account the heterogeneity of the pattern at a scale sigma of 2 m, there seems to be a deficit of neighbours starting at a radius of about 1.5 m. We can now check whether this deviation is significant.\nAs before, we use envelope to simulate the Kinhom statistic under the null model. However, the null model here is not a homogeneous Poisson process (CSR). It is instead a heterogeneous Poisson process simulated by the function rpoispp(dens_p), i.e. the points are independent of each other, but their density is heterogeneous and given by dens_p. The simulate argument of the envelope function specifies the function used for simulations under the null model; this function must have one argument, here x, even if it is not used.\nFinally, in addition to the arguments needed for Kinhom, i.e. sigma and correction, we also specify nsim = 199 to perform 199 simulations and nrank = 5 to eliminate the 5 most extreme results on each side of the envelope, i.e. the 10 most extreme results out of 199, to achieve an interval containing about 95% of the probability under the null hypothesis.\n\n\nkhet_p <- envelope(semis_split[[2]], Kinhom, sigma = 2, correction = \"iso\",\n nsim = 199, nrank = 5, simulate = function(x) rpoispp(dens_p))\n\n\nGenerating 199 simulations by evaluating function ...\n1, 2, 3, 4.6.8.10.12.14.16.18.20.22.24.26.28.30.32.34.36\n.38.40.42.44.46.48.50.52.54.56.58.60.62.64.66.68.70.72\n.74.76.78.80.82.84.86.88.90.92.94.96.98.100.102.104.106.108\n.110.112.114.116.118.120.122.124.126.128.130.132.134.136.138.140.142.144\n.146.148.150.152.154.156.158.160.162.164.166.168.170.172.174.176.178.180\n.182.184.186.188.190.192.194.196.198 199.\n\nDone.\n\nplot(khet_p)\n\n\n\n\nNote: For a hypothesis test based on simulations of a null hypothesis, the \\(p\\)-value is estimated by \\((m + 1)/(n + 1)\\), where \\(n\\) is the number of simulations and \\(m\\) is the number of simulations where the value of the statistic is more extreme than that of the observed data. This is why the number of simulations is often chosen to be 99, 199, etc.\nExercise 2\nRepeat the heterogeneous density estimation and Kinhom calculation with a standard deviation sigma of 5 rather than 2. How does the smoothing level for the density estimation influence the conclusions?\nTo differentiate between a variation in the density of points from an interaction (aggregation or repulsion) between these points with this type of analysis, it is generally assumed that the two processes operate at different scales. Typically, we can test whether the points are aggregated at a small scale after accounting for a variation in density at a larger scale.\nRelationship between two point patterns\nLet’s consider a case where we have two point patterns, for example the position of trees of two species in a plot (orange and green points in the graph below). Each of the two patterns may or may not present an aggregation of points.\n\n\n\nRegardless of whether points are aggregated at the species level, we want to determine whether the two species are arranged independently. In other words, does the probability of observing a tree of one species depend on the presence of a tree of the other species at a given distance?\nThe bivariate version of Ripley’s \\(K\\) allows us to answer this question. For two patterns noted 1 and 2, the function \\(K_{12}(r)\\) calculates the mean number of points in pattern 2 within a radius \\(r\\) from a point in pattern 1, standardized by the density of pattern 2.\nIn theory, this function is symmetrical, so \\(K_{12}(r) = K_{21}(r)\\) and the result would be the same whether the points of pattern 1 or 2 are chosen as “focal” points for the analysis. However, the estimation of the two quantities for an observed pattern may differ, in particular because of edge effects. The variance of \\(K_{12}\\) and \\(K_{21}\\) between simulations of a null model may also differ, so the null hypothesis test may have more or less power depending on the choice of the focal species.\nThe choice of an appropriate null model is important here. In order to determine whether there is a significant attraction or repulsion between the two patterns, the position of one of the patterns must be randomly moved relative to that of the other pattern, while keeping the spatial structure of each pattern taken in isolation.\nOne way to do this randomization is to shift one of the two patterns horizontally and/or vertically by a random distance. The part of the pattern that “comes out” on one side of the window is attached to the other side. This method is called a toroidal shift, because by connecting the top and bottom as well as the left and right of a rectangular surface, we obtain the shape of a torus (a three-dimensional “donut”).\n\n\n\nThe graph above shows a translation of the green pattern to the right, while the orange pattern remains in the same place. The green points in the shaded area are brought back on the other side. Note that while this method generally preserves the structure of each pattern while randomizing their relative position, it can have some drawbacks, such as dividing point clusters that are near the cutoff point.\nLet’s now check whether the position of the two species (birch and poplar) is independent in our plot. The function Kcross calculates the bivariate \\(K_{ij}\\), we must specify which type of point (mark) is considered as the focal species \\(i\\) and the neighbouring species \\(j\\).\n\n\nplot(Kcross(semis, i = \"P\", j = \"B\", correction = \"iso\"))\n\n\n\n\nHere, the observed \\(K\\) is lower than the theoretical value, indicating a possible repulsion between the two patterns.\nTo determine the envelope of the \\(K\\) under the null hypothesis of independence of the two patterns, we must specify that the simulations are based on a translation of the patterns. We indicate that the simulations use the function rshift (random translation) with the argument simulate = function(x) rshift(x, which = \"B\"); here, the x argument in simulate corresponds to the original point pattern and the which argument indicates which of the patterns is translated. As in the previous case, the arguments needed for Kcross, i.e. i, j and correction, must be repeated in the envelope function.\n\n\nplot(envelope(semis, Kcross, i = \"P\", j = \"B\", correction = \"iso\", \n nsim = 199, nrank = 5, simulate = function(x) rshift(x, which = \"B\")))\n\n\nGenerating 199 simulations by evaluating function ...\n1, 2, 3, 4.6.8.10.12.14.16.18.20.22.24.26.28.30.32.34.36\n.38.40.42.44.46.48.50.52.54.56.58.60.62.64.66.68.70.72\n.74.76.78.80.82.84.86.88.90.92.94.96.98.100.102.104.106.108\n.110.112.114.116.118.120.122.124.126.128.130.132.134.136.138.140.142.144\n.146.148.150.152.154.156.158.160.162.164.166.168.170.172.174.176.178.180\n.182.184.186.188.190.192.194.196.198 199.\n\nDone.\n\n\nHere, the observed curve is totally within the envelope, so we do not reject the null hypothesis of independence of the two patterns.\nQuestions\nWhat would be one reason for our choice to translate the points of the birch rather than poplar?\nWould the simulations generated by random translation be a good null model if the two patterns were heterogeneous?\nMarked point patterns\nThe fir.csv dataset contains the \\((x, y)\\) coordinates of 822 fir trees in a 1 hectare plot and their status (A = alive, D = dead) following a spruce budworm outbreak.\n\n\nfir <- read.csv(\"data/fir.csv\")\nhead(fir)\n\n\n x y status\n1 31.50 1.00 A\n2 85.25 30.75 D\n3 83.50 38.50 A\n4 84.00 37.75 A\n5 83.00 33.25 A\n6 33.25 0.25 A\n\n\n\nfir <- ppp(x = fir$x, y = fir$y, marks = as.factor(fir$status),\n window = owin(xrange = c(0, 100), yrange = c(0, 100)))\nplot(fir)\n\n\n\n\nSuppose that we want to check whether fir mortality is independent or correlated between neighbouring trees. How does this question differ from the previous example, where we wanted to know if the position of the points of two species was independent?\nIn the previous example, the independence or interaction between the species referred to the formation of the pattern itself (whether or not seedlings of one species establish near those of the other species). Here, the characteristic of interest (survival) occurs after the establishment of the pattern, assuming that all those trees were alive at first and that some died as a result of the outbreak. So we take the position of the trees as fixed and we want to know whether the distribution of status (dead, alive) among those trees is random or shows a spatial pattern.\nIn Wiegand and Moloney’s textbook, the first situation (establishment of seedlings of two species) is called a bivariate pattern, so it is really two interacting patterns, while the second is a single pattern with a qualitative mark. The spatstat package in R does not differentiate between the two in terms of pattern definition (types of points are always represented by the marks argument), but the analysis methods applied to the two questions differ.\nIn the case of a pattern with a qualitative mark, we can define a mark connection function \\(p_{ij}(r)\\). For two points separated by a distance \\(r\\), this function gives the probability that the first point has the mark \\(i\\) and the second the mark \\(j\\). Under the null hypothesis where the marks are independent, this probability is equal to the product of the proportions of each mark in the entire pattern, \\(p_{ij}(r) = p_i p_j\\) independently of \\(r\\).\nIn spatstat, the mark connection function is computed with the markconnect function, where the marks \\(i\\) and \\(j\\) and the type of edge correction must be specified. In our example, we see that two closely spaced points are less likely to have a different status (A and D) than expected under the assumption of random and independent distribution of marks (red dotted line).\n\n\nplot(markconnect(fir, i = \"A\", j = \"D\", correction = \"iso\"))\n\n\n\n\nIn this graph, the fluctuations in the function are due to the estimation error of a continuous \\(r\\) function from a limited number of discrete point pairs.\nTo simulate the null model in this case, we use the rlabel function, which randomly reassigns the marks among the points of the pattern, keeping the points’ positions fixed.\n\n\nplot(envelope(fir, markconnect, i = \"A\", j = \"D\", correction = \"iso\", \n nsim = 199, nrank = 5, simulate = rlabel))\n\n\nGenerating 199 simulations by evaluating function ...\n1, 2, 3, 4.6.8.10.12.14.16.18.20.22.24.26.28.30.32.34.36\n.38.40.42.44.46.48.50.52.54.56.58.60.62.64.66.68.70.72\n.74.76.78.80.82.84.86.88.90.92.94.96.98.100.102.104.106.108\n.110.112.114.116.118.120.122.124.126.128.130.132.134.136.138.140.142.144\n.146.148.150.152.154.156.158.160.162.164.166.168.170.172.174.176.178.180\n.182.184.186.188.190.192.194.196.198 199.\n\nDone.\n\n\nNote that since the rlabel function has only one required argument corresponding to the original point pattern, it was not necessary to specify: simulate = function(x) rlabel(x).\nHere are the results for tree pairs of the same status A or D:\n\n\npar(mfrow = c(1, 2))\nplot(envelope(fir, markconnect, i = \"A\", j = \"A\", correction = \"iso\", \n nsim = 199, nrank = 5, simulate = rlabel))\n\n\nGenerating 199 simulations by evaluating function ...\n1, 2, 3, 4.6.8.10.12.14.16.18.20.22.24.26.28.30.32.34.36\n.38.40.42.44.46.48.50.52.54.56.58.60.62.64.66.68.70.72\n.74.76.78.80.82.84.86.88.90.92.94.96.98.100.102.104.106.108\n.110.112.114.116.118.120.122.124.126.128.130.132.134.136.138.140.142.144\n.146.148.150.152.154.156.158.160.162.164.166.168.170.172.174.176.178.180\n.182.184.186.188.190.192.194.196.198 199.\n\nDone.\n\nplot(envelope(fir, markconnect, i = \"D\", j = \"D\", correction = \"iso\", \n nsim = 199, nrank = 5, simulate = rlabel))\n\n\nGenerating 199 simulations by evaluating function ...\n1, 2, 3, 4.6.8.10.12.14.16.18.20.22.24.26.28.30.32.34.36\n.38.40.42.44.46.48.50.52.54.56.58.60.62.64.66.68.70.72\n.74.76.78.80.82.84.86.88.90.92.94.96.98.100.102.104.106.108\n.110.112.114.116.118.120.122.124.126.128.130.132.134.136.138.140.142.144\n.146.148.150.152.154.156.158.160.162.164.166.168.170.172.174.176.178.180\n.182.184.186.188.190.192.194.196.198 199.\n\nDone.\n\n\nIt therefore appears that fir mortality due to this outbreak is spatially aggregated, since trees located in close proximity to each other have a greater probability of sharing the same status than predicted by the null hypothesis.\nReferences\nFortin, M.-J. and Dale, M.R.T. (2005) Spatial Analysis: A Guide for Ecologists. Cambridge University Press: Cambridge, UK.\nWiegand, T. and Moloney, K.A. (2013) Handbook of Spatial Point-Pattern Analysis in Ecology, CRC Press.\nThe dataset in the last example is a subet of the Lake Duparquet Research and Teaching Forest (LDRTF) data, available on Dryad here.\nSolutions\nExercise 1\n\n\nplot(envelope(semis_split[[2]], Kest, correction = \"iso\"))\n\n\nGenerating 99 simulations of CSR ...\n1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35,\n36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70,\n71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99.\n\nDone.\n\n\nPoplar seedlings seem to be significantly aggregated according to the \\(K\\) function.\nExercise 2\n\n\ndens_p <- density(semis_split[[2]], sigma = 5)\nplot(dens_p)\nplot(semis_split[[2]], add = TRUE)\n\n\n\nkhet_p <- envelope(semis_split[[2]], Kinhom, sigma = 5, correction = \"iso\",\n nsim = 199, nrank = 5, simulate = function(x) rpoispp(dens_p))\n\n\nGenerating 199 simulations by evaluating function ...\n1, 2, 3, 4.6.8.10.12.14.16.18.20.22.24.26.28.30.32.34.36\n.38.40.42.44.46.48.50.52.54.56.58.60.62.64.66.68.70.72\n.74.76.78.80.82.84.86.88.90.92.94.96.98.100.102.104.106.108\n.110.112.114.116.118.120.122.124.126.128.130.132.134.136.138.140.142.144\n.146.148.150.152.154.156.158.160.162.164.166.168.170.172.174.176.178.180\n.182.184.186.188.190.192.194.196.198 199.\n\nDone.\n\nplot(khet_p)\n\n\n\n\nHere, as we estimate density variations at a larger scale, even after accounting for this variation, the poplar seedlings seem to be aggregated at a small scale.\n\n\n\n", "preview": "Marchand/2021-01-12-spatial-statistics-in-ecology/spatial-statistics-in-ecology_files/figure-html5/unnamed-chunk-2-1.png", - "last_modified": "2021-04-26T19:09:55-04:00", + "last_modified": "2021-05-19T11:56:34-04:00", "input_file": {}, "preview_width": 1728, "preview_height": 576 @@ -170,7 +170,7 @@ ], "contents": "\n\nContents\nIntroduction aux statistiques spatiales\nTypes d’analyses spatiales\nStationnarité et isotropie\nDonnées géoréférencées\n\nAnalyse des patrons de points\nPatron de points et processus ponctuel\nStructure spatiale totalement aléatoire\nAnalyse exploratoire ou inférentielle pour un patron de points\nIndice \\(K\\) de Ripley\nEffets de bordure\nExemple\nExercice 1\n\nEffet de l’hétérogénéité\nExercice 2\n\nRelation entre deux patrons de points\nQuestions\n\nPatrons de points marqués\nRéférences\n\nSolutions\nExercice 1\nExercice 2\n\n\nIntroduction aux statistiques spatiales\nTypes d’analyses spatiales\nDans le cadre de cette formation, nous discuterons de trois types d’analyses spatiales: l’analyse des patrons de points, les modèles géostatistiques et les modèles de données aréales.\nDans l’analyse des patrons de points, nous avons des données ponctuelles représentant la position d’individus ou d’événements dans une région d’étude et nous supposons que tous les individus ou événements ont été recensés dans cette région. Cette analyse s’intéresse à la distribution des positions des points eux-mêmes. Voici quelques questions typiques de l’analyse des patrons de points:\nLes points sont-ils disposés aléatoirement ou agglomérés?\nDeux types de points sont-ils disposés indépendamment?\nLes modèles géostatistiques visent à représenter la distribution spatiale de variables continues qui sont mesurés à certains points d’échantillonnage. Ils supposent que les mesures de ces variables à différents points sont corrélées en fonction de la distance entre ces points. Parmi les applications des modèles géostatistiques, notons le lissage des données spatiales (ex.: produire une carte d’une variable sur l’ensemble d’une région en fonction des mesures ponctuelles) et la prédiction de ces variables pour des points non-échantillonnés.\nLes données aréales sont des mesures prises non pas à des points, mais pour des régions de l’espace représentées par des polygones (ex.: divisions du territoire, cellules d’une grille). Les modèles représentant ces types de données définissent un réseau de voisinage reliant les régions et incluent une corrélation spatiale entre régions voisines.\nStationnarité et isotropie\nPlusieurs analyses spatiales supposent que les variables sont stationnaires dans l’espace. Comme pour la stationnarité dans le domaine temporel, cette propriété signifie que les statistiques sommaires (moyenne, variance et corrélations entre mesures d’une variable) ne varient pas avec une translation dans l’espace. Par exemple, la corrélation spatiale entre deux points peut dépendre de la distance les séparant, mais pas de leur position absolue.\nEn particulier, il ne peut pas y avoir de tendance à grande échelle (souvent appelée gradient dans un contexte spatial), ou bien cette tendance doit être prise en compte afin de modéliser la corrélation spatiale des résidus.\nDans le cas de l’analyse des patrons de points, la stationnarité (aussi appelée homogénéité dans ce contexte) signifie que la densité des points ne suit pas de tendance à grande échelle.\nDans un modèle statistique isotropique, les corrélations spatiales entre les mesures à deux points dépendent seulement de la distance entre ces points, pas de la direction. Dans ce cas, les statistiques sommaires ne varient pas si on effectue une rotation dans l’espace.\nDonnées géoréférencées\nLes études environnementales utilisent de plus en plus de données provenant de sources de données géospatiales, c’est-à-dire des variables mesurées sur une grande partie du globe (ex.: climat, télédétection). Le traitement de ces données requiert des concepts liés aux systèmes d’information géographique (SIG), qui ne sont pas couverts dans cet atelier, alors que nous nous concentrons sur les aspects statistiques de données variant dans l’espace.\nL’utilisation de données géospatiales ne signifie pas nécessairement qu’il faut avoir recours à des statistiques spatiales. Par exemple, il est courant d’extraire les valeurs de ces variables géographiques à des points d’étude pour expliquer une réponse biologique observée sur le terrain. Dans ce cas, l’utilisation de statistiques spatiales est seulement nécessaire en présence d’une corrélation spatiale dans les résidus, après avoir tenu compte de l’effet des prédicteurs.\nAnalyse des patrons de points\nPatron de points et processus ponctuel\nUn patron de points (point pattern) décrit la position spatiale (le plus souvent en 2D) d’individus ou d’événements, représentés par des points, dans une aire d’étude donnée, souvent appelée la fenêtre d’observation.\nOn suppose que chaque point a une étendue spatiale négligeable par rapport aux distances entre les points. Des méthodes plus complexes existent pour traiter des patrons spatiaux d’objets qui ont une largeur non-néligeable, mais ce sujet dépasse la portée de cet atelier.\nUn processus ponctuel (point process) est un modèle statistique qui peut être utilisé pour simuler des patrons de points ou expliquer un patron de points observé.\nStructure spatiale totalement aléatoire\nUne structure spatiale totalement aléatoire (complete spatial randomness) est un des patrons les plus simples, qui sert de modèle nul pour évaluer les caractéristiques de patrons de points réels. Dans ce patron, la présence d’un point à une position donnée est indépendante de la présence de points dans un voisinage.\nLe processus créant ce patron est un processus de Poisson homogène. Selon ce modèle, le nombre de points dans toute région de superficie \\(A\\) suit une distribution de Poisson: \\(N(A) \\sim \\text{Pois}(\\lambda A)\\), où \\(\\lambda\\) est l’intensité du processus (i.e. la densité de points). \\(N\\) est indépendant entre deux régions disjointes, peu importe comment ces régions sont définies.\nDans le graphique ci-dessous, seul le patron à droite est totalement aléatoire. Le patron à gauche montre une agrégation des points (probabilité plus grande d’observer un point si on est à proximité d’un autre point), tandis que le patron du centre montre une répulsion (faible probabilité d’observer un point très près d’un autre).\n\n\n\nAnalyse exploratoire ou inférentielle pour un patron de points\nPlusieurs statistiques sommaires sont utilisées pour décrire les caractéristiques un patron de points. La plus simple est l’intensité \\(\\lambda\\), qui comme mentionné plus haut représente la densité de points par unité de surface. Si le patron de points est hétérogène, l’intensité n’est pas constante, mais dépend de la position: \\(\\lambda(x, y)\\).\nPar rapport à l’intensité qui est une statistique dite de premier ordre, les statistiques de second ordre décrivent comment la probabilité de présence d’un point dans une région dépend de la présence d’autres points. L’indice \\(K\\) de Ripley présenté dans la prochaine section est un exemple de statistique sommaire de second ordre.\nLes inférences statistiques réalisées sur des patrons de points consistent habituellement à tester l’hypothèse que le patron de points correspond à un modèle nul donné, par exemple une structure spatiale totalement aléatoire, ou un modèle nul plus complexe. Même pour les modèles nuls les plus simples, nous connaissons rarement la distribution théorique pour une statistique sommaire du patron de points sous le modèle nul. Les tests d’hypothèses sur les patrons de points sont donc réalisés par simulation: on simule un grand nombre de patrons de points à partir du modèle nul et on compare la distribution des statistiques sommaires qui nous intéressent pour ces simulations à la valeur des statistiques pour le patron de points observé.\nIndice \\(K\\) de Ripley\nL’indice de Ripley \\(K(r)\\) est défini comme le nombre moyen de points se trouvant dans un cercle de rayon \\(r\\) donné autour d’un point du patron, normalisé par l’intensité \\(\\lambda\\).\nPour un patron totalement aléatoire, le nombre moyen de points dans un cercle de rayon \\(r\\) est \\(\\lambda \\pi r^2\\), donc en théorie \\(K(r) = \\pi r^2\\) pour ce modèle nul. Une valeur de \\(K(r)\\) supérieure signifie qu’il y a agrégation des points à l’échelle \\(r\\), tandis qu’une valeur inférieure signifie qu’il y a une répulsion.\nEn pratique, \\(K(r)\\) est estimé pour un patron de points donné par l’équation:\n\\[ K(r) = \\frac{A}{n(n-1)} \\sum_i \\sum_{j > i} I \\left( d_{ij} \\le r \\right) w_{ij}\\]\noù \\(A\\) est l’aire de la fenêtre d’observation et \\(n\\) est le nombre de points du patron, donc \\(n(n-1)\\) est le nombre de paires de points distinctes. On fait la somme pour toutes les paires de points de la fonction indicatrice \\(I\\), qui prend une valeur de 1 si la distance entre les points \\(i\\) et \\(j\\) est inférieure ou égale à \\(r\\). Finalement, le terme \\(w_{ij}\\) permet de donner un poids supplémentaire à certaines paires de points pour tenir compte des effets de bordure, tel que discuté dans la section suivante.\nPar exemple, les graphiques ci-dessous présentent la fonction estimée \\(K(r)\\) pour les patrons illustrés ci-dessus, pour des valeurs de \\(r\\) allant jusqu’à 1/4 de la largeur de la fenêtre. La courbe pointillée rouge indique la valeur théorique pour une structure spatiale totalement aléatoire et la zone grise est une “enveloppe” produite par 99 simulations de ce modèle nul. Le patron agrégé montre un excès de voisins jusqu’à \\(r = 0.25\\) et le patron avec répulsion montre un déficit significatif de voisins pour les petites valeurs de \\(r\\).\n\n\n\nOutre le \\(K\\), il existe d’autres statistiques pour décrire les propriétés de second ordre du patron, par exemple la distance moyenne entre un point et ses \\(N\\) plus proches voisins. Vous pouvez consulter le manuel de Wiegand et Moloney (2013) suggéré en référence pour en apprendre plus sur différentes statistiques sommaires des patrons de points.\nEffets de bordure\nDans le contexte de l’analyse de patrons de points, l’effet de bordure (“edge effect”) est dû au fait que nous avons une connaissance incomplète du voisinage des points près du bord de la fenêtre d’observation, ce qui peut induire un biais dans le calcul des statistiques comme le \\(K\\) de Ripley.\nDifférentes méthodes ont été développées pour corriger le biais dû aux effets de bordure. Selon la méthode de Ripley, la contribution d’un voisin \\(j\\) situé à une distance \\(r\\) d’un point \\(i\\) reçoit un poids \\(w_{ij} = 1/\\phi_i(r)\\), où \\(\\phi_i(r)\\) est la fraction du cercle de rayon \\(r\\) autour de \\(i\\) contenu dans la fenêtre d’observation. Par exemple, si 2/3 du cercle se trouve dans la fenêtre, ce voisin compte pour 3/2 voisins dans le calcul d’une statistique comme \\(K\\).\n\nLa méthode de Ripley est une des plus simples pour corriger les effets de bordure, mais n’est pas nécessairement la plus efficace; notamment, les poids plus grands donnés à certaines paires de points tend à accroître la variance du calcul de la statistique. D’autres méthodes de correction sont présentées dans les manuels spécialisés, comme celui de Wiegand et Moloney (2013) en référence.\nExemple\nPour cet exemple, nous utilisons le jeu de données semis_xy.csv, qui représente les coordonnées \\((x, y)\\) de semis de deux espèces (sp, B = bouleau et P = peuplier) dans une placette de 15 x 15 m.\n\n\nsemis <- read.csv(\"data/semis_xy.csv\")\nhead(semis)\n\n\n x y sp\n1 14.73 0.05 P\n2 14.72 1.71 P\n3 14.31 2.06 P\n4 14.16 2.64 P\n5 14.12 4.15 B\n6 9.88 4.08 B\n\nLe package spatstat permet d’effectuer des analyses de patrons de point dans R. La première étape consiste à transformer notre tableau de données en objet ppp (patron de points) avec la fonction du même nom. Dans cette fonction, nous spécifions quelles colonnes contiennent les coordonnées x et y ainsi que les marques (marks), qui seront ici les codes d’espèce. Il faut aussi spécifier une fenêtre d’observation (window) à l’aide de la fonction owin, à laquelle nous indiquons les limites de la placette en x et y.\n\n\nlibrary(spatstat)\n\nsemis <- ppp(x = semis$x, y = semis$y, marks = as.factor(semis$sp),\n window = owin(xrange = c(0, 15), yrange = c(0, 15)))\nsemis\n\n\nMarked planar point pattern: 281 points\nMultitype, with levels = B, P \nwindow: rectangle = [0, 15] x [0, 15] units\n\nLes marques peuvent être numériques ou catégorielles. Notez que pour des marques catégorielles comme c’est le cas ici, il faut convertir explicitement la variable en facteur.\nLa fonction plot appliquée à un patron de points montre un diagramme du patron.\n\n\nplot(semis)\n\n\n\n\nLa fonction intensity calcule la densité des points de chaque espèce par unité de surface, ici en \\(m^2\\).\n\n\nintensity(semis)\n\n\n B P \n0.6666667 0.5822222 \n\nPour analyser d’abord séparément la distribution de chaque espèce, nous séparons le patron avec split. Puisque le patron contient des marques catégorielles, la séparation se fait automatiquement en fonction de la valeur des marques. Le résultat est une liste de deux patrons de points.\n\n\nsemis_split <- split(semis)\nplot(semis_split)\n\n\n\n\nLa fonction Kest calcule le \\(K\\) de Ripley pour une série de distances allant (par défaut) jusqu’à 1/4 de la largeur de la fenêtre. Ici, nous l’appliquons au premier patron (bouleau) en choisissant semis_split[[1]]. Notez que les doubles crochets sont nécessaires pour choisir un élément d’une liste dans R.\nL’argument correction = \"iso\" indique d’appliquer la méthode de Ripley pour corriger les effets de bordure.\n\n\nk <- Kest(semis_split[[1]], correction = \"iso\")\nplot(k)\n\n\n\n\nSelon ce graphique, il semble y avoir une excès de voisins à partir d’un rayon de 1 m. Pour vérifier s’il s’agit d’un écart significatif, nous produisons une enveloppe de simulation avec la fonction envelope. Le permier argument d’envelope est un patron de point auquel les simulations seront comparées, le deuxième une fonction à calculer (ici, Kest) pour chaque patron simulé, puis on y ajoute les arguments de la fonction Kest (ici, seulement correction).\n\n\nplot(envelope(semis_split[[1]], Kest, correction = \"iso\"))\n\n\nGenerating 99 simulations of CSR ...\n1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35,\n36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70,\n71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99.\n\nDone.\n\n\nTel qu’indiqué par le message, cette fonction effectue par défaut 99 simulations de l’hypothèse nulle correspondant à une structure spatiale totalement aléatoire (CSR, pour complete spatial randomness).\nLa courbe observée sort de l’enveloppe des 99 simulations près de \\(r = 2\\). Il faut être prudent de ne pas interpréter trop rapidement un résultat sortant de l’enveloppe. Même s’il y a environ une probabilité de 1% d’obtenir un résultat plus extrême selon l’hypothèse nulle à une distance donnée, l’enveloppe est calculée pour un grand nombre de valeurs de la distance et nous n’effectuons pas de correction pour les comparaisons multiples. Ainsi, un écart significatif pour une très petite plage de valeurs de \\(r\\) peut être simplement dû au hasard.\nExercice 1\nEn regardant le graphique du deuxième patron de points (semis de peuplier), pouvez-vous prédire où se situera le \\(K\\) de Ripley par rapport à l’hypothèse nulle d’une structure spatiale totalement aléatoire? Vérifiez votre prédiction en calculant le \\(K\\) de Ripley pour ce patron de points dans R.\nEffet de l’hétérogénéité\nLe graphique ci-dessous illustre un patron de points hétérogène, c’est-à-dire qu’il présente un gradient d’intensité (plus de points à gauche qu’à droite).\n\n\n\nUn gradient de densité peut être confondu avec une agrégation des points, comme on peut voir sur le graphique du \\(K\\) de Ripley correspondant. En théorie, il s’agit de deux processus différents:\nHétérogénéité: La densité de points varie dans la région d’étude, par exemple dû au fait que certaines conditions locales sont plus propices à la présence de l’espèce étudiée.\nAgrégation: La densité moyenne des points est homogène, mais la présence d’un point augmente la présence d’autre points dans son voisinage, par exemple en raison d’interactions positives entre les individus.\nCependant, il peut être difficile de différencier les deux en pratique, surtout que certains patrons peuvent être à la fois hétérogènes et agrégés.\nPrenons l’exemple des semis de peuplier de l’exercice précédent. La fonction density appliquée à un patron de points effectue une estimation par noyau (kernel density estimation) de la densité des semis à travers la placette. Par défaut, cette fonction utilise un noyau gaussien avec un écart-type sigma spécifié dans la fonction, qui détermine l’échelle à laquelle les fluctuations de densité sont “lissées”. Ici, nous utilisons une valeur de 2 m pour sigma et nous représentons d’abord la densité estimée avec plot, avant d’y superposer les points (add = TRUE signifie que les points sont ajoutés au graphique existant plutôt que de créer un nouveau graphique).\n\n\ndens_p <- density(semis_split[[2]], sigma = 2)\nplot(dens_p)\nplot(semis_split[[2]], add = TRUE)\n\n\n\n\nPour mesurer l’agrégation ou la répulsion des points d’un patron hétérogène, nous devons utilisé la version non-homogène de la statistique \\(K\\) (Kinhom dans spatstat). Cette statistique est toujours égale au nombre moyen de voisins dans un rayon \\(r\\) d’un point du patron, mais plutôt que de normaliser ce nombre par l’intensité globale du patron, il est normalisé par l’estimation locale de la densité de points. Comme ci-dessus, nous spécifions sigma = 2 pour contrôler le niveau de lissage de l’estimation de la densité variable.\n\n\nplot(Kinhom(semis_split[[2]], sigma = 2, correction = \"iso\"))\n\n\n\n\nEn tenant compte de l’hétérogénéité du patron à une échelle sigma de 2 m, il semble donc y avoir un déficit de voisins à partir d’environ 1.5 m des points du patron. Il reste à voir si cette déviation est significative.\nComme précédemment, nous utilisons envelope pour simuler la statistique Kinhom sous le modèle nul. Cependant, ici le modèle nul n’est pas un processus de Poisson homogène (structure spatiale totalement aléatoire). Il s’agit plutôt d’un processus de Poisson hétérogène simulé par la fonction rpoispp(dens_p), c’est-à-dire que les points sont indépendants les uns des autres, mais leur densité est hétérogène et donnée par dens_p. L’argument simulate de la fonction envelope permet de spécifier une fonction utilisée pour les simulations sous le modèle nul; cette fonction doit avoir un argument, ici x, même s’il n’est pas utilisé.\nFinalement, en plus des arguments nécessaires pour Kinhom, soit sigma et correction, nous spécifions aussi nsim = 199 pour réaliser 199 simulations et nrank = 5 pour éliminer les 5 résultats les plus extrêmes de chaque côté de l’enveloppe, donc les 10 plus extrêmes sur 199, pour réaliser un intervalle contenant environ 95% de la probabilité sous l’hypothèse nulle.\n\n\nkhet_p <- envelope(semis_split[[2]], Kinhom, sigma = 2, correction = \"iso\",\n nsim = 199, nrank = 5, simulate = function(x) rpoispp(dens_p))\n\n\nGenerating 199 simulations by evaluating function ...\n1, 2, 3, 4.6.8.10.12.14.16.18.20.22.24.26.28.30.32.34.36\n.38.40.42.44.46.48.50.52.54.56.58.60.62.64.66.68.70.72\n.74.76.78.80.82.84.86.88.90.92.94.96.98.100.102.104.106.108\n.110.112.114.116.118.120.122.124.126.128.130.132.134.136.138.140.142.144\n.146.148.150.152.154.156.158.160.162.164.166.168.170.172.174.176.178.180\n.182.184.186.188.190.192.194.196.198 199.\n\nDone.\n\nplot(khet_p)\n\n\n\n\nNote: Pour un test d’hypothèse basé sur des simulations d’une hypothèse nulle, la valeur \\(p\\) est estimée par \\((m + 1)/(n + 1)\\), où \\(n\\) est le nombre de simulations et \\(m\\) est le nombre de simulations où la valeur de la statistique est plus extrême que celle des données observées. C’est pour cette raison qu’on choisit un nombre de simulations comme 99, 199, etc.\nExercice 2\nRépétez l’estimation de la densité hétérogène et le calcul de Kinhom avec un écart-type sigma de 5 plutôt que 2. Comment le niveau de lissage pour la densité influence-t-il les conclusions?\nPour différencier une variation de densité des points et d’une interaction (agrégation ou répulsion) entre ces points avec ce type d’analyse, il faut généralement supposer que les deux processus opèrent à différentes échelles. Typiquement, nous pouvons tester si les points sont agrégés à petite échelle après avoir tenu compte d’une variation de la densité à une échelle plus grande.\nRelation entre deux patrons de points\nConsidérons un cas où nous avons deux patrons de points, par exemple la position des arbres de deux espèces dans une parcelle (points oranges et verts dans le graphique ci-dessous). Chacun des deux patrons peut présenter ou non des agrégations de points.\n\n\n\nSans égard à cette agrégation au niveau de l’espèce, nous voulons déterminer si les deux espèces sont disposées indépendamment. Autrement dit, la probabilité d’observer un arbre d’une espèce dépend-elle de la présence d’un arbre de l’autre espèce à une distance donnée?\nLa version bivariée du \\(K\\) de Ripley permet de répondre à cette question. Pour deux patrons désignés 1 et 2, l’indice \\(K_{12}(r)\\) calcule le nombre moyen de points du patron 2 dans un rayon \\(r\\) autour d’un point du patron 1, normalisé par la densité du patron 2.\nEn théorie, cet indice est symétrique, donc \\(K_{12}(r) = K_{21}(r)\\) et le résultat serait le même si on choisit les points du patron 1 ou 2 comme points “focaux” pour l’analyse. Cependant, l’estimation des deux quantités pour un patron observé peut différer, notamment en raison des effets de bord. La variabilité peut aussi être différente pour \\(K_{12}\\) et \\(K_{21}\\) entre les simulations d’un modèle nul, donc le test de l’hypothèse nulle peut avoir une puissance différente selon le choix de l’espèce focale.\nLe choix d’un modèle nul approprié est important ici. Afin de déterminer s’il existe une attraction ou une répulsion significative entre les deux patrons, il faut déplacer aléatoirement la position d’un des patrons relative à celle de l’autre patron, tout en conservant la structure spatiale de chaque patron pris isolément.\nUne des façons d’effectuer cette randomisation consiste à décaler l’un des deux patrons horizontalement et/ou verticalement d’une distance aléatoire. La partie du patron qui “sort” d’un côté de la fenêtre est rattachée de l’autre côté. Cette méthode s’appelle une translation toroïdale (toroidal shift), car en connectant le haut et le bas ainsi que la gauche et la droite d’une surface rectangulaire, on obtient la forme d’un tore (un “beigne” en trois dimensions).\n\n\n\nLe graphique ci-dessus illustre une translation du patron vert vers la droite, tandis que le patron orange reste au même endroit. Les points verts dans la zone ombragée sont ramenés de l’autre côté. Notez que si cette méthode préserve de façon générale la structure de chaque patron tout en randomisant leur position relative, elle peut comporter certains inconvénients, comme de diviser des amas de points qui se trouvent près du point de coupure.\nVérifions maintenant s’il y a une dépendance entre la position des deux espèces (bouleau et peuplier) dans notre placette. La fonction Kcross calcule l’indice bivarié \\(K_{ij}\\), il faut spécifier quel type de point est considéré comme l’espèce focale \\(i\\) et l’espèce voisine \\(j\\).\n\n\nplot(Kcross(semis, i = \"P\", j = \"B\", correction = \"iso\"))\n\n\n\n\nIci, le \\(K\\) observé est inférieur à la valeur théorique, indiquant une répulsion possible des deux patrons.\nPour déterminer l’enveloppe du \\(K\\) selon l’hypothèse nulle d’indépendance des deux patrons, nous devons spécifier que les simulations doivent être basées sur une translation des patrons. Nous indiquons que les simulations doivent utiliser la fonction rshift (translation aléatoire) avec l’argument simulate = function(x) rshift(x, which = \"B\"); ici, l’argument x de simulate correspond au patron de points original et l’argument which indique quel type de points subit la translation. Comme pour le cas précédent, il faut répéter dans la fonction envelope les arguments nécessaires pour Kcross, soit i, j et correction.\n\n\nplot(envelope(semis, Kcross, i = \"P\", j = \"B\", correction = \"iso\", \n nsim = 199, nrank = 5, simulate = function(x) rshift(x, which = \"B\")))\n\n\nGenerating 199 simulations by evaluating function ...\n1, 2, 3, 4.6.8.10.12.14.16.18.20.22.24.26.28.30.32.34.36\n.38.40.42.44.46.48.50.52.54.56.58.60.62.64.66.68.70.72\n.74.76.78.80.82.84.86.88.90.92.94.96.98.100.102.104.106.108\n.110.112.114.116.118.120.122.124.126.128.130.132.134.136.138.140.142.144\n.146.148.150.152.154.156.158.160.162.164.166.168.170.172.174.176.178.180\n.182.184.186.188.190.192.194.196.198 199.\n\nDone.\n\n\nIci, la courbe observée se situe totalement dans l’enveloppe, donc nous ne rejetons pas l’hypothèse nulle d’indépendance des deux patrons.\nQuestions\nQuelle raison pourrait justifier ici notre choix d’effectuer la translation des points du bouleau plutôt que du peuplier?\nEst-ce que les simulations générées par translation aléatoire constitueraient un bon modèle nul si les deux patrons étaient hétérogènes?\nPatrons de points marqués\nLe jeu de données fir.csv contient les coordonnées \\((x, y)\\) de 822 sapins dans une placette d’un hectare et leur statut (A = vivant, D = mort) suivant une épidémie de tordeuse des bourgeons de l’épinette.\n\n\nfir <- read.csv(\"data/fir.csv\")\nhead(fir)\n\n\n x y status\n1 31.50 1.00 A\n2 85.25 30.75 D\n3 83.50 38.50 A\n4 84.00 37.75 A\n5 83.00 33.25 A\n6 33.25 0.25 A\n\n\n\nfir <- ppp(x = fir$x, y = fir$y, marks = as.factor(fir$status),\n window = owin(xrange = c(0, 100), yrange = c(0, 100)))\nplot(fir)\n\n\n\n\nSupposons que nous voulons vérifier si la mortalité des sapins est indépendante ou corrélée entre arbres rapprochés. En quoi cette question diffère-t-elle de l’exemple précédent où nous voulions savoir si la position des points de deux espèces était indépendante?\nDans l’exemple précédent, l’indépendance ou l’interaction entre les espèces référait à la formation du patron lui-même (que des semis d’une espèce s’établissent ou non à proximité de ceux de l’autre espèce). Ici, la caractéristique qui nous intéresse (survie des sapins) est postérieure à l’établissement du patron, en supposant que tous ces arbres étaient vivants d’abord et que certains sont morts suite à l’épidémie. Donc nous prenons la position des arbres comme fixe et nous voulons savoir si la distribution des statuts (mort, vivant) entre ces arbres est aléatoire ou présente un patron spatial.\nDans le manuel de Wiegand et Moloney, la première situation (établissement de semis de deux espèces) est appelé patron bivarié, donc il s’agit vraiment de deux patrons qui interagissent, tandis que la deuxième est un seul patron avec une marque qualitative. Le package spatstat dans R ne fait pas de différences entre les deux au niveau de la définition du patron (les types de points sont toujours représentés par l’argument marks), mais les méthodes d’analyse appliquées aux deux questions diffèrent.\nDans le cas d’un patron avec une marque qualitative, nous pouvons définir une fonction de connexion de marques (mark connection function) \\(p_{ij}(r)\\). Pour deux points séparés par une distance \\(r\\), cette fonction donne la probabilité que le premier point porte la marque \\(i\\) et le deuxième la marque \\(j\\). Selon l’hypothèse nulle où les marques sont indépendantes, cette probabilité est égale au produit des proportions de chaque marque dans le patron entier, \\(p_{ij}(r) = p_i p_j\\) indépendamment de \\(r\\).\nDans spatstat, la fonction de connexion de marques est calculée avec la fonction markconnect, où il faut spécifier les marques \\(i\\) et \\(j\\) ainsi que le type de correction des effets de bord. Dans notre exemple, nous voyons que deux points rapprochés ont moins de chance d’avoir une statut différent (A et D) que prévu selon l’hypothèse de distribution aléatoire et indépendante des marques (ligne rouge pointillée).\n\n\nplot(markconnect(fir, i = \"A\", j = \"D\", correction = \"iso\"))\n\n\n\n\nDans ce graphique, les ondulations dans la fonction sont dues à l’erreur d’estimation d’une fonction continue de \\(r\\) à partir d’un nombre limité de paires de points discrètes.\nPour simuler le modèle nul dans ce cas-ci, nous utilisons la fonction rlabel qui réassigne aléatoirement les marques parmi les points du patron, en maintenant la position des points.\n\n\nplot(envelope(fir, markconnect, i = \"A\", j = \"D\", correction = \"iso\", \n nsim = 199, nrank = 5, simulate = rlabel))\n\n\nGenerating 199 simulations by evaluating function ...\n1, 2, 3, 4.6.8.10.12.14.16.18.20.22.24.26.28.30.32.34.36\n.38.40.42.44.46.48.50.52.54.56.58.60.62.64.66.68.70.72\n.74.76.78.80.82.84.86.88.90.92.94.96.98.100.102.104.106.108\n.110.112.114.116.118.120.122.124.126.128.130.132.134.136.138.140.142.144\n.146.148.150.152.154.156.158.160.162.164.166.168.170.172.174.176.178.180\n.182.184.186.188.190.192.194.196.198 199.\n\nDone.\n\n\nNotez que puisque la fonction rlabel a un seul argument obligatoire correspondant au patron de points original, il n’était pas nécessaire de spécifier au long: simulate = function(x) rlabel(x).\nVoici les résultats pour les paires d’arbres du même statut A ou D:\n\n\npar(mfrow = c(1, 2))\nplot(envelope(fir, markconnect, i = \"A\", j = \"A\", correction = \"iso\", \n nsim = 199, nrank = 5, simulate = rlabel))\n\n\nGenerating 199 simulations by evaluating function ...\n1, 2, 3, 4.6.8.10.12.14.16.18.20.22.24.26.28.30.32.34.36\n.38.40.42.44.46.48.50.52.54.56.58.60.62.64.66.68.70.72\n.74.76.78.80.82.84.86.88.90.92.94.96.98.100.102.104.106.108\n.110.112.114.116.118.120.122.124.126.128.130.132.134.136.138.140.142.144\n.146.148.150.152.154.156.158.160.162.164.166.168.170.172.174.176.178.180\n.182.184.186.188.190.192.194.196.198 199.\n\nDone.\n\nplot(envelope(fir, markconnect, i = \"D\", j = \"D\", correction = \"iso\", \n nsim = 199, nrank = 5, simulate = rlabel))\n\n\nGenerating 199 simulations by evaluating function ...\n1, 2, 3, 4.6.8.10.12.14.16.18.20.22.24.26.28.30.32.34.36\n.38.40.42.44.46.48.50.52.54.56.58.60.62.64.66.68.70.72\n.74.76.78.80.82.84.86.88.90.92.94.96.98.100.102.104.106.108\n.110.112.114.116.118.120.122.124.126.128.130.132.134.136.138.140.142.144\n.146.148.150.152.154.156.158.160.162.164.166.168.170.172.174.176.178.180\n.182.184.186.188.190.192.194.196.198 199.\n\nDone.\n\n\nIl semble donc que la mortalité des sapins due à cette épidémie est agrégée spatialement, puisque les arbres situés à proximité l’un de l’autre ont une plus grande probabilité de partager le même statut que prévu par l’hypothèse nulle.\nRéférences\nFortin, M.-J. et Dale, M.R.T. (2005) Spatial Analysis: A Guide for Ecologists. Cambridge University Press: Cambridge, UK.\nWiegand, T. et Moloney, K.A. (2013) Handbook of Spatial Point-Pattern Analysis in Ecology, CRC Press.\nLe jeu de données du dernier exemple est tiré des données de la Forêt d’enseignement et de recherche du Lac Duparquet (FERLD), disponibles sur Dryad en suivant ce lien.\nSolutions\nExercice 1\n\n\nplot(envelope(semis_split[[2]], Kest, correction = \"iso\"))\n\n\nGenerating 99 simulations of CSR ...\n1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35,\n36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70,\n71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99.\n\nDone.\n\n\nLes semis de peuplier semblent significativement agrégés selon la valeur du \\(K\\).\nExercice 2\n\n\ndens_p <- density(semis_split[[2]], sigma = 5)\nplot(dens_p)\nplot(semis_split[[2]], add = TRUE)\n\n\n\nkhet_p <- envelope(semis_split[[2]], Kinhom, sigma = 5, correction = \"iso\",\n nsim = 199, nrank = 5, simulate = function(x) rpoispp(dens_p))\n\n\nGenerating 199 simulations by evaluating function ...\n1, 2, 3, 4.6.8.10.12.14.16.18.20.22.24.26.28.30.32.34.36\n.38.40.42.44.46.48.50.52.54.56.58.60.62.64.66.68.70.72\n.74.76.78.80.82.84.86.88.90.92.94.96.98.100.102.104.106.108\n.110.112.114.116.118.120.122.124.126.128.130.132.134.136.138.140.142.144\n.146.148.150.152.154.156.158.160.162.164.166.168.170.172.174.176.178.180\n.182.184.186.188.190.192.194.196.198 199.\n\nDone.\n\nplot(khet_p)\n\n\n\n\nIci, puisque nous estimons la variation de densité à une plus grande échelle, même après avoir tenu compte de cette variation, les semis de peuplier semblent agrégés à petite échelle.\n\n\n\n", "preview": "Marchand/2021-01-12-statistiques-spatiales-en-cologie-partie-1/statistiques-spatiales-en-cologie-partie-1_files/figure-html5/unnamed-chunk-2-1.png", - "last_modified": "2021-04-26T19:09:56-04:00", + "last_modified": "2021-05-19T11:56:35-04:00", "input_file": {}, "preview_width": 1728, "preview_height": 576 diff --git a/docs/index.html b/docs/index.html index f581e18..7aa660e 100644 --- a/docs/index.html +++ b/docs/index.html @@ -2231,7 +2231,9 @@ <h1 class="posts-list-caption" data-caption="Training materials">Training materi <div class="dt-author">Gracielle Higino</div> </div> </div> -<div class="thumbnail"></div> +<div class="thumbnail"> +<img/> +</div> <div class="description"> <h2>(un)Reproducibility Detox</h2> <div class="dt-tags"> diff --git a/docs/posts/2021-06-13-unreproducibility-detox/index.html b/docs/posts/2021-06-13-unreproducibility-detox/index.html index 4084421..a6a7172 100644 --- a/docs/posts/2021-06-13-unreproducibility-detox/index.html +++ b/docs/posts/2021-06-13-unreproducibility-detox/index.html @@ -127,7 +127,7 @@ <!--/radix_placeholder_rmarkdown_metadata--> <script type="text/json" id="radix-resource-manifest"> - {"type":"character","attributes":{},"value":["git_clone.png","unreproducibility-detox_files/anchor-4.2.2/anchor.min.js","unreproducibility-detox_files/bowser-1.9.3/bowser.min.js","unreproducibility-detox_files/distill-2.2.21/template.v2.js","unreproducibility-detox_files/header-attrs-2.7/header-attrs.js","unreproducibility-detox_files/jquery-1.11.3/jquery.min.js","unreproducibility-detox_files/popper-2.6.0/popper.min.js","unreproducibility-detox_files/tippy-6.2.7/tippy-bundle.umd.min.js","unreproducibility-detox_files/tippy-6.2.7/tippy-light-border.css","unreproducibility-detox_files/tippy-6.2.7/tippy.css","unreproducibility-detox_files/tippy-6.2.7/tippy.umd.min.js","unreproducibility-detox_files/webcomponents-2.0.0/webcomponents.js"]} + {"type":"character","attributes":{},"value":["git_clone.png","rmarkdown-cheatsheet.pdf","unreproducibility-detox_files/anchor-4.2.2/anchor.min.js","unreproducibility-detox_files/bowser-1.9.3/bowser.min.js","unreproducibility-detox_files/distill-2.2.21/template.v2.js","unreproducibility-detox_files/header-attrs-2.7/header-attrs.js","unreproducibility-detox_files/jquery-1.11.3/jquery.min.js","unreproducibility-detox_files/popper-2.6.0/popper.min.js","unreproducibility-detox_files/tippy-6.2.7/tippy-bundle.umd.min.js","unreproducibility-detox_files/tippy-6.2.7/tippy-light-border.css","unreproducibility-detox_files/tippy-6.2.7/tippy.css","unreproducibility-detox_files/tippy-6.2.7/tippy.umd.min.js","unreproducibility-detox_files/webcomponents-2.0.0/webcomponents.js"]} </script> <!--radix_placeholder_navigation_in_header--> <meta name="distill:offset" content="../.."/> @@ -2159,6 +2159,16 @@ <h3>Contents</h3> </ul></li> <li><a href="#oh-my-git-d">Oh, my Git! D=</a></li> </ul></li> +<li><a href="#wednesday---preserve-your-tools">Wednesday - preserve your tools</a></li> +<li><a href="#thursday---automate-your-workflows">Thursday - automate your workflows</a> +<ul> +<li><a href="#reproducible-code">Reproducible code</a> +<ul> +<li><a href="#style">Style</a></li> +<li><a href="#comment">Comment</a></li> +</ul></li> +</ul></li> +<li><a href="#saturday---reproducible-challange">Saturday - reproducible challange</a></li> </ul> </nav> </div> @@ -2171,6 +2181,7 @@ <h1 id="sunday---reflect-about-open-science">Sunday - reflect about open science <h3 id="self-care-task-of-the-day"><strong>Self-care task of the day</strong></h3> <p>Go to a calm place. No need of silence, just a place where you can just be still. Set a timer for 5min. Take a deep breath in, and a deep breath out. Give your body a scan-through: concentrate in each centimeter of it and try to be aware of how does your body feel there. Everytime you find a contracted muscle, try to relax it. Pay attention to the sounds around you. When the timer is off, take another deep breath.</p> </blockquote> +<!-- pagebreak --> <p>On the first day of this detox journey, let’s reflect on our way to work and how it could be better. Take a moment of your day and think about:</p> <ol type="1"> <li><p>What is your current workflow when you develop a project? Take a pen and paper (physical or digital) and sketch your usual process, step-by-step. Add as much details as you can (and take this chance to get creative!). Make sure to save this sketch in a place that is easy to access, you’re gonna need it in the following days.</p></li> @@ -2406,8 +2417,35 @@ <h2 id="oh-my-git-d">Oh, my Git! D=</h2> <p><strong>Remember</strong>: keep the <code>main</code> as untouched as possible, work with branches to test your ideas, and always <code>push</code> your modifications before going to bed.</p> <h4 id="suggested-reading-1">Suggested reading</h4> <ul> -<li>This lesson was transleted from a git guide in Portuguese I wrote with Karlo Guidoni in a study group we promoted at Universidade Federal de Goiás, back in 2017, and we used time and again in our reproducibility trainings. You can take a look in our repository <a href="https://github.com/kguidonimartins/studygroup-ufg">here</a>.</li> +<li>This lesson was translated from a git guide in Portuguese I wrote with Karlo Guidoni in a study group we promoted at Universidade Federal de Goiás, back in 2017, and we used time and again in our reproducibility trainings. You can take a look in our repository <a href="https://github.com/kguidonimartins/studygroup-ufg">here</a>.</li> </ul> +<h1 id="wednesday---preserve-your-tools">Wednesday - preserve your tools</h1> +<blockquote> +<h3 id="self-care-task-of-the-day-3"><strong>Self-care task of the day</strong></h3> +</blockquote> +<h1 id="thursday---automate-your-workflows">Thursday - automate your workflows</h1> +<blockquote> +<h3 id="self-care-task-of-the-day-4"><strong>Self-care task of the day</strong></h3> +<h1 id="friday---make-your-code-and-manuscript-reproducible">Friday - make your code and manuscript reproducible</h1> +<h3 id="self-care-task-of-the-day-5"><strong>Self-care task of the day</strong></h3> +</blockquote> +<h2 id="reproducible-code">Reproducible code</h2> +<h3 id="style">Style</h3> +<p>! Object names</p> +<h3 id="comment">Comment</h3> +<p>! Documentation day! ! Make it metadatable (record session info, package versions, dependencies…) ! Package of packages! ! Containerize it! ### Functions and packages ! Test them! ## Reproducible manuscripts</p> +<p>The logics YAML</p> +<p>Basic syntax - cheat sheet</p> +<p><a href="https://www.rstudio.com/wp-content/uploads/2015/02/rmarkdown-cheatsheet.pdf">R Markdown Cheat Sheet</a></p> +<object data="_posts/2021-06-13-unreproducibility-detox/rmarkdown-cheatsheet.pdf" type="application/pdf" style="height:200%;width:100%"> +</object> +<h4 id="rticles"><code>rticles</code></h4> +<h4 id="rmdtemplates">rmdTemplates</h4> +<h4 id="bookdown">bookdown</h4> +<h1 id="saturday---reproducible-challange">Saturday - reproducible challange</h1> +<blockquote> +<h3 id="self-care-task-of-the-day-6"><strong>Self-care task of the day</strong></h3> +</blockquote> <div class="sourceCode" id="cb28"><pre class="sourceCode r distill-force-highlighting-css"><code class="sourceCode r"></code></pre></div> <!--radix_placeholder_article_footer--> <!--/radix_placeholder_article_footer--> diff --git a/docs/posts/2021-06-13-unreproducibility-detox/rmarkdown-cheatsheet.pdf b/docs/posts/2021-06-13-unreproducibility-detox/rmarkdown-cheatsheet.pdf new file mode 100644 index 0000000000000000000000000000000000000000..9c764e0776b9c1e66b389333f74ce737320e4309 GIT binary patch literal 1041427 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�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⩔U~t^@3A#YkZ$;;0b36rRAjl%_lMhl69dh#*rL{ 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�ilv=}_B8r<t$;QES93wOdUrO>+~ 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%0D_JwY^IMe{A2edqJ$mB{lrY(3me?sy|4un$-w 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%0D5q`T|ArqyL~%-Cky@v zE=Sx!$_I;pRp5D%SrIW_I)Z<7!FIKLBW4=YCD)q31_|5?It6?}{D7j3b!-2Yk^X%- z<$>!DWfw0OXE1|-u#n*I7O|+lu|CnT2y97gXOVu<ZsAE$X<>KaBw@)UHG1{h4Uuq- zaFRkEY+`&YcXB7YlB=;r$)NRvHKg?;MmDX)+JiZ}`puF-NM*Ecm%1%25k4{DGTKuJ z=FgH%smgQRCg)A?bX-f&UF>!b-FC!@_O;P{3^>WZ#(z{O>9=->p?IY@miRhImcM?* zu}1gQccUaeIzEqvtz@+1kEws%b=|lCg??x?oi-Z}RU6Z<_j$~M%>$;BN6MJFe4{Z^ z)b{GeEy<COQWs+3<Y^Rs>d3WbHA^O<Mp*;$L+D%Q8>t&sgM|HO{dZm;j6XO#0?&OP z1Mj;&9GRn51WZ+G%{R$7Yj-uTUbOE=S&~?a&Hfz}8H_N(U$zQenvl<yuWr}-T6?_J zBhVxuzuLwytchyTZGmNRxM*BkVK$#crZakBFt`@FCQGppyT7dNsd}?Gbm@QCR&ZHx z=e**C;JmQ7+kB>$VxX=wJ5sr#U9mZIntR&VqI%G-qOWPI_u4e-OH>_eaZQ^<m6_;d z(O&+ZFJ4sYR@<I?<6*{J@BDPfvZePpY{ZLhcwVA61g+kES90bR{FdGN3#;Y7Ap5y{ z%^fD*y52&EVka>W(E!nc-k(v9liU;29K{^*>^~!7d%myR_F6xzTnM^jmhH;1<uzS{ zKaz5uto2?KA7`R`nsp8JEZwDg$hvG8(FoPZnOc|%X~<_cb(eBq-t`&JARH!S_?-6S zaUOn|l3F`pA_<8Z#!64)%yRZR73c{#2@Amq;!<_sZLZrG%c!ibTpILEs?s@WvMZTy zySrEZf7rXH=*ZS?Z{V?QtHX|M+qR94Z95&?9dyU;*tR;hZ9Dn)e$VMM-o3v)#<@H1 zO<mN;s8uT$sj({cTXW9;^Q4xUS90od`(*pHpM}0f&l9xfr0AdeS{~J3*t8$n*S)3e zRK#?E`y4#$zR<7VxA^SEd}QN-MnOEE({*@#=&kY|`K-T9LzW=w@sD|Oyji>%pYG&S zz{r2jDdn$tn|oX^D`~$y{kC8*Sr={|8`>mH|B?JuCEp7^Su#m2_EYRwyh42P>(kdY z&zjr*%h9i?Gdm%jRPPNB$<t-IzHTq==0?MPmtUq&()p#<i#s@<=kIL}Ob&Nv+$=AC z6h*F=b@1N@yyd+Z-wwtfoytGTC+9}<yLm&uUb~aqnC)*o1mC>;|Jwd9hyE#SCN@T< z-+Ja``fssn6VXcw3kw-KnVS4T);}GqM5O!sEJntENBRH2_D^{OU<-gP0JZ?w0$>Y( zEdaIv*aBb+fbIV^Y=2jP{~fmMzbn0eh3%h?{R?b=pY~@#_&02s{w(_fU<-gP0JZ?w z0$>Y(EdaIv*aBb+fbIV=Z2#rZzgKKInE$}(p9lX6+dm!q@33WJ{O{BL0^2{Uy#Uw( zU<-gP0JZ?w0$>Y(EdaIv*aBete+}E;QwM*k*#0AI|K-@f!1niPe}OFv0JeY`TfmGh zV8#|OV+)wE1<cq2W^4g7wtyMi|N9wRrav9}|5a>%AN)(jmg!H&{sp%G6dq#&gvS8k zF+g|>5FP`B#{l6mKzIxg9s`8O0O7I!KzQt54*ff985w`qasMjYzo*BT{wY1i1W1no zWDAfjK(+wc0%Qx2EkL#a*#czypOEc8rN=mb*JA$)+rOvBnEoj}#{56&F~)yb?@Qd# z(Bpq!@awxeq>Az|PL6hh08ySgRo<s@f9FCGDJY_LC^jP$38G*u6tuojy2{Pv{y<Yv zOi^8HYLGAefg$~ornHF8iVE}nf$-`Zt6;3>9d#GkH;$9`olgh3os)i$K({naN+np} zKxh)XOs-7SPTpo1L5`3XK&an9dHfMl)k#gs$Oi;5h^UgF!XFko)fa$;6e?R#YdiE_ zs+dvq75aj72Dd1;Ft1>M1O|Wvmbwy0c7ZHbgPmKC9H{~}gsszZGw=}nf6!%pLA(et zF&M{?0AoUq?M`u!#<I2*1Ww)B+v=A{Lf;SX`{=eZn)$e)MxusljmSmETNZtys<}J^ zKFcMJEBr11_a<=czA6FoBJ8dInJ^R10S>6RnS?(Yyau=L6;D$Ir;iwk9`$oR^eMc9 zcnJe5s1YThFq!fWDiK0(TD(4%^iWL*N0d5R4tNc7pQ#XV*ia&G--=1dFjyySpZQZ@ zxJ394u`gYMlaeYHBK2oE;=?I6Z^;q{yh_xTOJ<MNG?8$8;&)jhGt`!Ecqpo$<w;F? zIES@KVkn$L1a*ihm7bvv3Yi@Ztyl`ZfCc7LN0lPlrwANHVkjd)9nkuO@@O)?3HuGh zE7jCC7|0C0F^Mv5ao@&ok0y)O5{F*pNj$AWku*qg3v%^<gD61#=;`Dk0$%e6j`W8@ zqgJHb4E$relPM5(j>R}>kT5vMOQK|WWXvQ=<nE`41<-3I0TLZrFwQu2xQFWGS`|ER z4s(B<?^z^6%7t0TwO(PSWzHy$D9O(%N>I^Y>KhE|#H)kq%S8!tr%J;JVOnJ0&?=E@ zljnEHIZz4V#gPcYAa`UWK1@1W6Zpg=Zvs`tE#8c{4J|j!D`xz+sZSzQT{a>(vi%80 ziB;hWD6#LWptNoXq{a!?D>@*pbj&L4Q>4mLNgc=+sA$y&s&&{z`&yfv4HoTGccZ?+ zsor`f*||stySfp*8Tn{087g-*bv!<Db}d${c;82z%C%W;tDZG5#eK{1G3CAdNb#|N zKY}?zIU+d1G3a`*E0j~B7ipAq+jKgqo2B<qFiovit}sKA8J5%-4xC1&R)-~mjHeA? zQZLP-BueR(IG}WE{U9Set}iT=x${O=&HI%DyH{#v#YRabl8p2m5&7ixK6~<dVo~<9 z<U%pZCB`JZS%s^)(prM(4G$S2p1-^2QT^)MYIJkz(&XyE>bQ4z+e1i@N6-^@U1BqM zB~Q1S5oFCL4d(g4dQgb0dIO4TGqUAq{Lsmc$(Ig3>{1RtAEt2S0bD+45wP9f`eI)* zzU(D=PU2l8Y~n}$enz{;;CJQk$XBl$G)l1#3)upyz#~{QXNNh?Fl!;_!sgS+E%4rL zhlWT?(>6yA&Ztc|vTpg}Q{vt+gGJ>L#398b@z=78uit}Ag{b*eakp}jDu<KsRt^0= zjz8^`-H6;W#Xnn$SX{D{vb-tNtCXR{L9j-2Ia`Fm4J03;pqL`69uT)MOt%|g3XxMf z73(?Wa%G^OM>rXXO9R1Wg}iJU_NE;=8gB~Ua;WyV?Bv<Ag2i^dMZAk6kaEX=8kQSz zF)bn%k1H5f^cTD*J=|5?#R><7qH8vQXrl*0(xaq}k8liegn(U_0fUPPKG+(#H1h1J zLUouVb_a5gFKp{18aU$#Dc2C~jlhIf*uoz|O6#u5$A9f<5gvUNKziL5?XhzQkpNFO zV7gU-sv{1XrUJbY051j^?Xs#Su!dL>;I#mH=_a<vx?f=41Ze`}>b98z_v}Jt0MZK} z1{0)&f@c&ML;BJO>>%2P<VOk?A+jB3LW(*p=7<cPFEA4KB!ONFq8V!~cpUE|!R!da z8Kxs<OS~pQc#Y=~W>m~(6|R*Zb4WQ$Xqs1J@tF&HT(l_f`yq%kbPGm>s9QnwA@nWC za)fK1{FES^fmRx$Sx~d_y9P&!zo{W-8eC?ys?nSV?L5$=1FkFjNzZdlBL_Bn7j_f( zm<UTw=*^|&qqR3<2f;=F`*zV~nL9h5zaP=G1O}<P5>bROj{FFjEQM-ZsiaF`P~lAV z!+o4y{IH2}8X<pLql_bg2e}8M$0rZOCypnkCt!~_p}aIj9jfjmFql-5A{B*sMOWn* z#YzQFN;{UHEaj|iEcq<8ETlMlICD7MtT9$P)9!_gg(YQ2->{3*zYQ<YOzV_3%hrkB z<eSCrBdNw7i@^W*p>$JxQ~ad_es*S-dlpkmORGT(SW8liq@r2tOZ~l7_T2HjXIVwn zSw4OxucCHdyNFloy~COIGQ9;$#wXgZDWZupDO1Om6qXMbc83toh+JV4MU#08Q@BU! zhw?5gE_luwT!}7HE~PFAhdQ%I3v;tBv+xUh#}o4v(>C+%dECY3-wsMrzo~y~)UYdB z=WN&WiR>uwE#%Yp3wT$1OMFIzV*uq2vIouS_71XvD1!Hd8xEBV#p~ti{oG3k&kYCp z^)|XK`d73W)*Kc-<1y2~SNv$s0i&Jo12554xSh;3EQaY&G8pMBX*!G^He5X{V=4w( zmMw!nXKu5xdue{rY*;rh5!bcuH#J9jBs@9a$nF=7zldYSK;d-bDsmcqgzM8Pz+y(3 zM5SYB(=O9O&{ohar6`TMq)^blRD7-IDZegP)5Nbou4Ai4sKL;zs^v3#OEc^<VC?%^ z|5f=bFfMGS1#ZYVMkYcgu{OmD%ZlR)Z-d)evFp1lr)$}%))~ZU#o6Fe>e5B+$DH6y z_lDqM^+4YER((ODap;cFpm0pP+z&atBBdf-Ikzm!iM)xKtS{MB(WJ4rgz5Z_J44cR z#Zj?QQ{M;n@~MxHPd+=Y9eOTB?_z9{JCwP!ZdIO5IMTar?5&>}o+2M8o;wWf98ta~ zY8Ir#TH)RW9QC60($Ct+`%Gd@I!<Ct9_Z2O@l@edeJQXkC=i>(USoMqZ!Bx<@=AP= zB?QfN;Dhzi@_E0#yGedxd%S;IdNF;mxoq9C`(rDz&czRFASwgvt}OpvU^`GB(7k{c z&<`j_#1X`0>{;#s%dZAw4UC9^HbKqZ+JUV?Sj0=j8)42N%fXJqUxY8hmO`$2k9!De z#A>fKS~cYdnFdD&2=HFGco@9Z9<QKi0`V2Gr;$qt(=nR)uJw{^RBUG}i-8*uy~tnO zS*W<!JUwpVW5~h=OAg@r9{a~4Inm4TGf`Uk?tQbQvuG+!@wn*BR!1D%w(+;guEJ0R zKqw4Nd)7pX`Ya>(DdH1R60H&l$i2u@$r`_770O61rC)z`u|EDayJ9(E8ToVGIr}!^ z=<cYBnS@Er#5tOf)p!08Hhn)mf9wa1l$xiS?)+x(5Of*Et;}t@2IJK;X^|u|d3L5X zpC-@K5L!0XDivg{<P!E0cin~)YE%7ccS%+W?hk~^9*-~X@{fkEs;_*4)dnG(igNZ7 zky-1jo2$vqK0OMC_0{@lbXxSDDVW)foEI*>LhtvlvD<K0IUv!2r-5b>9i;k>rBkK$ zVq2yqWj}?MS!wN;k1auKH8gdRl~_uOC2gTTsI1jFs5=y$F~iUn&^ps|_};qU+OZR` z&&cS=qNE6t#gg9{P;-Yfm$b~3*{aIDFuu&EEDfEO)M+0qj%zX$nbUcl$9T+oJl*(G znWt1y`f>6b`;LN)f;(aIJchoFSHgIPly498d<)6!?C(VPS*fwO&3B37Q@N&|RA($J zEnBDGr{(*|K5+Ze`O-vcE;*>Q@jWvoK2<VBSD&E8dl04_{W~>5IbLI}1G=&5UTJDs zQ8}ObnQprWyi2r^?80(Wz3j>90<HFgZ@ayZ`S@Z6FD?xm&GMz^C%>I!S;I^mHf`I= z<=1ns=?C`4>PD7%u6Z>(GCSJ!XM64Eh6ch{zv3$9s<P4-r&bfMg_vFZqT{#Y6F03> zofg=&?~8MdUfbu={9><*vzzPHrm<H!rR@e)Mi)CiOD~ldv1=QiT^|Cy@(BDk92WM~ zwaAt<mUtYbJhO92OU})lKbq^wiuX1r3Ha^!t(}_o!>8lFi<gLF;=Q?--!5)C99_Mm zHd7G%l(TI2aeN*A@(0gcvSN6B?qz1v6K%>HjLm~43HUJGE1%jvo`f;I=~)_HeiFX+ zAEXB1ci=~3zR|Ji!Zgh~dW`KAs0&qPHQ_kijj>MD!)9M)r&bl|c6u0ZM^|RPX0|u> zHRil&y`D^+HD7w_d8j|w-tk6x)qmhTRq^U}=!&;|YFW7`TJ3!Ef7l$h6YXrj(7cSh zuYQidD|ptcTJQBy^hqU<cVE2`c{VBT+;(f<VCQl1eV!pS^!thUmGIDm-0S}8X&cjw zzM=EhcZn;F!~H_FyDV=Z*=}t8)cxe6;Y@d+Ra|&xLwUXG&1pB6me7cQ^-1IMYNr$U z2x?RAA6BgU*PYa#O$TOX#{XF#n(_Dj+Fx(Y{+@qi{-^vSGa&y6=s5s-4uGBmpyvSS zIRJVNfSv=O=K$zA{0Djt|8nTxr)fC;vFGqF$Nu}6IP*W{ADIF9M*wUAum!*t09ycT z0k8$Y764lSZ2uFm{T+4u_k}$;e($39mx}Gb9Qzm8{`T*`FYLh#$Ug#L3xF*EwgA`y zU<-gP0JZ?w0$}@}fbE|S{d>ih^B+eMnExJsWd5i4BQqfW2!JgBwgA`yU<-gP0JZ?w z0$>Y(?SBHczYY8E6<bDz-_x^yE!qA(|H%AL`A3%j$v-mxL;g`oT<Cv~KW3-6sVFaD zgiW@yw@;yv5Ru*DctR8X;+8-MQ;d-GR{#kOCU+G97ehm)QZrHM0u~P=F&0IG4GJ_` zfWAgj80c0M5#3w+`UU!;g7s!S<84rLW9guAVafc$XQ2g1;WZGf$5{i|pCwNN?fj%$ z2L*Ms?*Rl02^c{GxNFPI3{3n{1Z4KLoi{zbSYn{={+!O=q;-X+Q-R!R{=+Yxgk6{v z0tiNQj*Z8c9CHsONx7~co9P2=<Tja#DU^{3BM%^3fNTM>1;`d4TYzi<vIWQ%Alv_d zZ2#rZzn5%(mtz0w+P{a#Sbp>O-$xNx0O2u!YXPnWxEA1AfNKG+1-KUAT7YZ+6R!Qe z=<>f;Y}tR$C;SDr|8nfV&DgU4{?)&@_P;hFp%-(pHFmbNvsLl1H~nMSfnLbc*-63F zQQ6SO-rAIigNR<)($kbkn~0H_jg?53h+f3b#?aFCk8P+Kh#3ETu4HIy{^#p|KK=dp z<FJ^ewX><?A3v=PolQkdjqOZKiTL<noSYp^4Q*iDfzPHCF@za_z`9;GMifQBze~jZ z%r8`5d^_=SjbRWa{@_pm`AP*}Zp4GdIx&y2um~~F#5IsOy%Xx|-;VXk*l3J{ojdJe zq8DReWYOLbwi-(~xE-5tAV%7&2mi?52b*H2XOB7xg5?`9yoCTLPSaHvV(SW<=szqs z!SXv<$H>I^=gWWIJFx%boxp#m?fygWSbdL|`jr6?&?VwEd2(SZ-F1qJlH?n%qoi}P z1W81d;iC1|=yX0)@j)+*3$w`_-j{6stJgA)Me3X~_j&3_+N?Vjmj{@Hr$DdEnQ>~b z5kH~v-0K8gZ#`f3i-eD@V}x91{-5rv<G_24gHi+zoLdi{5Ckb6_+00Qqfbq;4G_6C zLzu(xpJL?1mRtvjANMVycq}@Jv-vC@E_zL8UW_klj&iHKXhvM`Rjo%RMog7lBU)u( z9!Kdwmj~Lq<d)M4E699{l0{f*W^mSR$&jqc8$v$Va_cQ@_+SSsWQ(0wxg4WnMtzp^ z(Hp1aVFqb_-inP~JJlg8KRDD8I~H7p-}Z{N`{@RKxeN2VSU4WaIC(IWI?hfHY?E38 z?$rG*P^HlLM%tH&u5``h5oF<<j;BXb5LADN(h^l4j)7@~EJ#u-pi{;#uQLiii5i(1 zetF@($a0<xoys4kUxJ&_>&L!LJUkbNY&N9<KVdba03QQ~Roav64}2^`MzqGS9KfS{ zHA??d^g`b)pG<G~@?#|7&XiDLtSI$p&bT)*O+AWhtgM$uK$-ymG9uxi6BCuJ{v(NQ z;2q-Ii8uH^U3<R==UG_)=h|ar`Te2(%g6P<nlS(C=c+&Z#F13ob)$1ZIZ6E8zlL+X z^0-o(nKX>bYEO5t(wH^aNSK&Q1nH1?8Ei_Jr3<-YanK>S_oCq8>ca0@Yi<s6EUtzd zB|cr(<=XXn^=3A9k3We&CD*UMY~(~&bE$L9h4VmPb^O3|V{CNL<!OQdxADEiJG^Sb zocgWG1{RnR$@76PpxLS4!^3>@Vnn;kb<}i;{<PUcUpxLlrTm~j`%UL0T01gIlV9KU z{mN}Gzs$S2O#NLp`PAd>P`{9)ELByt$#*?D+3UGOhXr9dJNeYX_ohnqt^BNIAo?gL zZ^C@Ep(4XWzC^D<w(dCUsXV(XLv+DnAoqh^?dnDM>4y=tTKjl=X+?3fvUi=q=jSDu z#?KQeZ*9kSQ`XHIvmu_pQu^u<IxTSTF}>H_Xc}pKH}0I^cf?sOK1P1%Esu?M<f^J_ z(?^}WT-(u)w$wwu=8nEx-;9oi9?)+jV}4|QwA0als6S;&4=`dy42Cd-g9N8*pf1<4 zmT+C>>w>hGnE5PNDyG@!PhzZ<nzEM9k7M|Bem?eOv-=q`7rAy~cGF<<lV#IvY3@c- znI1?4y{|Y^v#xlp3Li@44ngARGlFlo*Yo(p_?J@J70t<cGlrBXIKJeQa<@`9Q!GtI zMOi19IHjnIBb?y1FU}GyT;y|BY`N?<+I0JMrJBv?M&O4vN8QwF67{z8<;xxAm|96> zw6Jm#{F!dD3z(%0yZw$0S}f&As-bNf<7%U1)P>@lX3*iPJl^XCI9vxqB_rE`hi$k4 zv(^&+^68D<2V|@+`-7siW5wYLLei(951P3V>74~%?j1DQkCwdZ(U$@h#>r<KgZE)w zMQ5y6mTEz&)*@+I`^(R*e%Mmio<3`?sdweK1o!o!J0v%el!l@kI+hMJgArx8`Rg~K zLua?5L+|8c9H8a(r7T9Pk^aP}nNt`*IN3Bfc~lX~u$mx$@KJsas&L}R1fSvOUR*#2 zOAmUR-0NR?nA~Wm%e*#XZ}lCANWolrxpsNtA07QTm-7<iRI3w(XAFCv#3*Yp92Dh@ z98pC07<B34dPeBzX!rCUPaBDHd8+ntuk&!fR?S%Y6;*apG%jB?`klaCSH=Y{zshsG z92{P0aPKO{u3=&F;Uug`x7mksqhmiQ1yg^<O<Rv=!@9v)?r7u4y?=Mq%`ony*4xVf zI0b&zubU&KJa}MB^5Dwhb?f*F(rj#GeTpjR@lv7o&@FTAY=7&;v9ackl5T#ctYe{M zV}8~WoPOtZa9p=(yxjmJz@$j_l%rpF5D#N+xPJF58iF*R_hVPj++P3b^ks<VsaYtS z5RTQ#i}&p|(%LV#zH{0Y0_&2}{&Jf`4+v~3o`X^qDt?amt+Fb3@q@huebJb^P)uTH zRm6pglp9Tbc4=B*(mWeA>(4T1`?WgVWM#IM%-<??a3SwbQ1PTmViJ{0IqAt8G~whH z5(4gd%iwrJ5gM+X8F6u0W+%{Jp>N9Ta+Cd>GvOUC>;{ReRk^k2AQqBKIg9msnR=ls zcc3Q_7bimvRt^T4zTLc>?I=HOx#A!1-Oweuk!2PIdE6<y{{%*qez$wEZ}iYOIGD2e z!6pkk>i@ziV-8Gll=7BuZE!Z~S-*-Y+GY~WvrATxhvuJjU?@iQEm0<}4@e!J#(QZ} z<6f0mZ-e!#xMNx(s77{wxe<dL!na84I!Dz++ybJ_FN!Gkca$(qR=b<XF<9QGy(R%H zAj2Tw(uM`b0Z6#pV<3gI3Bw>>(d7H+TwIrhrGa_C7VC}9>)l}~uuam^pyf7x^<+YL z{hO5)=4Vo6zpA--8F>7V_Wb#q_(4xY_{+`qF1i!GPg4ZXMwJbQT_dje%e@r&G8$W2 z<@J{eN@-fq;(%SChc)STvl1?d#$lYDYF-4@{dlTFH9ABORM>z>2&=yEkflVoZNrnE zw0)mY_8FjAzy2BUsL#8aq@Zqc7Ug$`<@fP!+m4&yfsiy0yvtShQd&ide3XWew%(sP zT;R*6;Yt{o(lt=<?%p{mZRShu%K2rcB$Th$NhEivULY4Xanlbi+iO}UzI4k+>y<;b zCNyiXdTSKt>XL(&J-Q;nzY0}3Xm{ZO&vL5u2*Z?iV0jXk1>`noX+))QYTx2%cJV+W z13?ys1$%J}OZK%GHRF}nz3Z5VpHC2Hl%6n`ZGlK6W}IJcQ}|dMXQqjeT(Q2)J3_|e zvwU8!L-8CQc<~8y6EZ%jfWXzX-{vSnjl5y^L5!|`2(<i&HnegqVuh`U_{zi&9dBQc zv+o^v)IF}<14Ru4waXx&(Y91e6Ac9Td8~re_4uovB8q2il3=LXAPL+s4ph+^P%nh! zA^G;(^8Pp6e572;b>rbfRB>nJnd(st6HUQH<4L!!`vS;f&ylEX5U_$D=e93z&5MrP zJXsky$H%n+mZl=T+2KBthe)0RuA5*6?$p`6iV)76?lRVbyvbiNk!ZC&XG2hjwho0v zV$@$ixe0YtjYlP%qKlGlKJ<&^%zrtvJQ5&mxX`G9kJ`mqTUpEAxCY?RJr5#7qc~NM zM)=2CbHBmVxIv2x$qlRrs*cpSBgc9iy`LO5E+7{I330TU1(T4DAAaEUzAhuDvXdl! zRLO9yqB@meR?lbFHz6<2wd%B9GvKj4m%py{vU*d>vY!1asZrx~WP@P#^RJ56=DF^3 zV$2<9{6?!)(on8AlSif`^nQrRkQg9SBXpOu5Drv4ot-jpVv8!h!)0XI;n;Uwc5RoA zAak1w0V1sRF+_FGg<Zi9ncts)G7*&f%K#Oo(|_+<)lci977L>A9L;c&B04t2i`5_2 zPS$wVnB3njrKk@RhWxR=4aF{$Age6eGZcR{KN>1b<X@~{OGS;j*ipd#3JH!5Bt2g` zEoL+-a%<p5>|N&C&B=m$Q?5V!3uPHE&;G>~LP6wdsmFQ%7)Y(CS&l4n3d*8Ea1rl7 zLWn2whciUJ?(OIvuGuw&Wn)g^a~Ud8eEpZCT%VsKLlfQ6botgC4G*U-+&%l~`MxpZ zG25~=!o@G^4bU2Mbl+Rlp}fMaZC83=Fl)wbv{i(^Bj$C}U>u_O3*Z~ID<^uuc%$+J z6^)ttcUaK3ke`AynsHz<?ef7}l8;^^4&xD@Tf<<g*_7}3=oU=gTc?*#36nDUOmKCl zlut7Xw}Zn-rY>ldqT5L}^jFJse-kq18;0l(D>{@8;igUl6@saG5Gk(9(IfpdM@z0b zMu_8W4f(dO0ry-heANT%j~GPpC8@8N``zKqz1{cY*4ss$&(@@NI!_d}55^Y%$i(Np z^`-Q+wSql=NNq;_YekTPLYKQ-0DPP9mUc@|MWoWxRq;@@(x<N*nIr7=i@C9o0msG# z25(>}vknCY>$X^wLy7)vtt0Kc-`+In7>J~9ME$jEAqnD5Nw39H6t44ine=^K8k^tq zM5HP8J-8>zu3HZ%?0Q9-S9unzuyOAo20#bKSkgGdot+tkbz#}A)(I_=me`@*_-(wm zgr5v=kjkS>v9zn1en4<IFd8mIk2-map#P9yX%n$XfR|De#0GmnpI}tvWOy@b!$iLi z>=*K_{|RIKPM<I(^vWSsaSEFyMM)_&41*HgYcyZ6uZp`%{@78<xxpxcL$Gaz@VR`K zK;YII$if*W$PUtlt}xfgO2;0=idVzQ#7LW~=U|h<0x#*ZiQLH8AXpK>k{Ot~PD!P+ z9_w3Q*!T>sSgVT%t%#3qTRa0hQgfDrvg=EvA0Au_^^z$5b~6lDpVKZ0ci(l5!W6OX zDH5i1Fvff1HaHI>%|;xb++wzvGo!#~P}1pSb~ALH;b<X;?vKx0^R;wjU0d+76-^03 z)ItroaC9?J!2Al<?e)Cv?8%#jpO`qzwS(=lOzd4wzn~*9g;UvZcxd58u0?{^97i(F z>B@^z<OOX8z}PezEyS^_Hq)t>ujGe{mw1Y!Ghz%V7Po-#rUHkn3PH9}9QC_ZJ(Nd+ zu!f;Q5=r2fEeht1xE$-LM$aJ1&ROdbD9vx1eXi23*(hz-lMF=8>^<i(hD@=J-7T?J zEytlCO@|^l_yN;+WKYp7+U-7K*2S=zuMi?^fTofxm8#Z1_gcGITJMSHpVk_Kr*=rT zE5Qm`9Ez&skX_sp_>5fas$TxOsnNrin-2MtU;SzQURyI&=sa?#n3aU;+W(tV60M2} zf-JJ6V4&dI$ubCAhem)D-k??yVZvZ@6?XgUWCu96#R7{zRMqfYWFgC-w^}WC+ChqJ z0DX!<um|<l&l1h$MFnEGDR}L4J+C0=mF>GiMuAval0jRjt8oUorzHGa_Be`laS`ZG z{@P(b7^XP*E6gouK&x*iEoG5J1Ejv9h4D-qdWs@40wXbkik$5?-Hg%41X+Zt1h##$ zDNDoxF*QWI<gL)zYq6-d-s*wMBLK7CG;rl-^N(iG=?@BXzScg)O@~bJXCBvV0flQo z-#+Rt>xm4RPz}il2`I_f-vyQ(Q~HvcBkiRAI*j&)FTv08yg!ad61rhFpO5V|uCB%W z@k%(T-bZXg_Qh<^?z~fbBT3)JE{^g3O)boy?i(7!JWQPPtII5;&KD_R0dNimnN#8k zW<&5`GYc78JhxAwsP6?&9j+(WVSik*#?3EFc;gbJ>K~C{Dnq0lv<qxyjo04kny+Tj zK$ze^EFZ9YQW)nBF$r*|cc!?}SetY&%i+Q*`w7Z}94@#`F3c%}^g7kXy1=PzA=1Ws z@79=2hjRqaS9mwJCI_+~6hdnTHVAC1O~TYTfow*;a02zhIZBT?z>qTrDEC`xWA`+| zYzJB~3S>8Yw<xXZwhQ<826Cq<l;vgQ@{JFVU7Zal#s==Y4nHSKjM+LyX~v-J;JE)| z#)$xZATO8Q@%p+-w$rbBF3xI@?mTd(c|4;MzSRg=P<u$a7}+_NDj>@G$I4A^q_V45 zSs<>RF5-3p|7wM8<K9ozaE2h|+4vj}=JuNcA+Dj=(VWN-dD&x)pA*p#{q+QbvdqVl zkw}l+zS_?~UQF3jlYqCmntVqG>BXCNhhydUgnl!#yRaK^%jCBAP}fV|SmUkQ;CGz; zrTBX8;pEmUf5C<rEF|y+B%u??IIPBXxdtW*-WhwgKcFvWT8%9n_D1y6s*`F~v2>wz z9{4Xk?H(;yLm6Iii+qq_h+LvA=`!pQE{Hrrcxqe^Bk;ZjZ$t$1C=Q@@m<cH`as}DL zm@isc5WK?Z3y`MSjSN7gI3>7v<x+xPhGxJDR?trH9Nc;VUnPeWs6rW$(Zd_ZLB?^? zW>(uAG0@!O#L=w1*n2xpB8nJNcJT5&h+4ng-ks!0!)wv{kD1SAn@fH=pU$s{tvN$N zKn%Osf`_io7hX)`jT_rVStqW?-*6Q&>=l1q#}JBlfbJnP8vnryW5hJ-f!z~pLZs0& z!?TaOqY7mf0X+C+b6E*GY)p7me`LuVZ0F4&eJuyx#NT}&BHh3%otmVWWvol9p5Ch= zwh@~brwaDvWTF43d=`*=FccL^@#`kX<lN*ZNUw&M9D&aUb^Ht&UDWNWH9|#en8G+z z`y}=B{<j#eFAmk0+*>x)*>N`bxB==t?fQDQ$eM;-g@}my-pGgPLr?6ORqxBiTVC@? z9KmHpD<9X#nF|_E6ui|%2mJyj+N0A(r*XLkxKLeChchdL7^`NgI<teAui$YB&}WY= zgkTZe?l~TTfpMQXt6tCc2*c$$1F<3VM&t$K&cN0Y;l0%_X+#+O<{K{dF1fn0LD@)5 zrTJ|>VgI^<3A3RAg=vz@aO(j-**brAxFIl<hw7DA@BLQpQ%Ci6n2Y%IyZEomt@Jdz zlC&+fZHkqJl{<VzM*fP<<#iiE_J@<A!Eu*>r-gRDSsk)tR`_#L5Qwd$U}Rx7qzS03 z!5guNhP_Bu6^_a;VV}ap(C|0H#iF3{9-wbxtIVSt&8j%RX_(9Sa<rlAfQ0}7$EERD z&NmxnAEhZqBWT$mYv&*1s?Nv=$5`3S76cvR;s$!^m{f_<dJ5IZwfML*$1s1MU%U*& zz!#6p*cJ#v@QE=RN0A%Y1P8^6*Amg8Y{(>NFA>lGg@Wl<#{!yGX7r(hq(euQr=0;T zZj_`sT)joPjTeM`_1Pe=bg|&F^*#-{T<VaI2p`T@vA<h<Q;qe$@<HWpJ{?MAAagN* z`6hUMe5_YvwTmI<E<C_NjX+_3`@pg+H7BZ0+^W{E^(0U<;f^?pL7)K*yZ;`N`>fDK zrg{dLH@W0qUe2c1*SW?g=2s=^{d6)NpK$kUwIDH%h@Mdu+U$wtwd0i^x#cIpaN9=$ zq~6A^5*?gHTs~JIh!P;K_wuUTpi9F%mwbhVM!EJ5!IVkorIVF|Fv2!5>C=*e9|7!K zA#9P#E5b$tz--v+V3HSYJ_e%XJ@z$k&*+@ENVqsGSn+00#(YV9F>8~yMVrD+{St*^ zA{5i_XE!r12NXrryl=1X3P|34&1NA!Cp1~yj0-owj0<O8)(Glk1eE4#i#Gz2Ab8^g ztpf>}BVZ!sXc0yD34T2TY=?)PV<wXjeI{<|{O$9ME(59FL1{|Mvh<gH@83AyGiAGu zPKZ8FT|#j0_D_aYr)t2z4lRO4^bdNV7en>+UtKHMlLRHQM@4<G(2C{pWQT^%X)gG+ zF*yvg64Up*$J%gA>L>AEK*mMU_=M5vbM5UPw>KbZ_nTuCu;IPF+|BjM(Wg92wiaDK zySDbDg#B=SarVPhT-Dw}N<A7QiQ=QaU~9n-kbv8khk#*qFtQMGe|ckaFf?~er&FvQ z4=u_0AhR$`G_i-{n3@4LXv3wAx&3LPcue2f3`NWun_*RGL>b~LacU;bv@WSHw7bFQ z`%C1D$8-yyRgGcCw==WW)|J(Aw-1!JKJN3*rn!2FLuGdk4TJthGxsJUwcgjFmnJ7` zVmRqnp{D6ITYm2w&&@oUyoTD+O_;s{1LRk%Hy&fvM==i64wkqA`i{2d8snNG<6LND zSrtcl9-IZ~DtDu7A0e6d{M+dU<<bF<ATbNEEdfb9%VkIz9EZ)mGvhs;S~RanFCqc4 z_z!3>{}i96u#MElOM7K<1RN~xJRr8uY(Ohkt#F2pn>|<XKySX7V~f*2ZOi>0G&S{V zxMLh;3Ji`@hS{9G95;wVe_YrS8007yz39Ygs9f!C`{SO$pni5~+d7#<)KOd!+SqR4 zV($qXAAhhFd~4x5Gkdp=oo0w0*mjvnGYJ2VVHEa#Ww708E1#&oEXIqw`|Iv>rY1y# z%i^)OErpKyd6Ugkesb22rxNjou(BR{LE%PrLp6e}I_}VzZ26t7$hBz~ZNm?5I-h~` zVL5}&atFI3Dy$3SorsaN9IaE3eyF0$c)C!-{bee*H)CrvCa-yw@Uy0}z6}U-PTLiQ z-A?-~E5ZX34a(UBY&;<9H%o~ET9N+ZTaM3%GI5kkwB7B<)s0=cLxrhy@7}lJrg0iW z9Q*{2SBydVI?cRZ*ozW{5_zzHw10?M&-40MMhL5??re?Tn@7KP!t!QH*l)YXnMU}g zH91n4+Y=lGebf{CLuN!qgr-rxx8T4u%vs5()sC=uCRFOcAEfd$I#(9Ov!TU2R_b7Q z80_k8gUWDkC45ZD)j`6!C~xtKOgN9hMj`XsM<vTa9puy}G#KF$plyhKjjm@}Jw2O} zN-`&SDOhBXj1ichbFsB!(ktc+MFK~%R}8ba2T{65q0DNkPs3J)t`*1YugycsWy4Xm z%-*SOZX?H$Gw*sonYcD((CzSG_USB;WY7#q?e<>gStI_@_RRahK6*h|wZ74j(YLZV z7`Ot`foS=WxZ_H}5wkKqK`&DpTYDFw*ECt8$CJ!44@+sA@S?EG1*|9GK=63ff4~LK z;yx$_&r5DdLHb~ZzxdYd4!+}jE2?Efax<xOR*j(VL0g&xq-DgtRPLsqrGa4K$hPdH z_OfEv`PMk-7(Jr)F8lPL|Nefm@ydB2%qRT5RTo7q1Q(hc;Vp4+Tcf>EQI+dUp$RWP zG(I;oS2j7K{`yhKxGx~S#StOH4wk|Ad51pLwmnkVkp*;?aSnaJDeTPDPjmaeSyC%p z840=NP*u;_@4a_IuMTEmMJvkQEs7AT{?c7ugHk`7$NGdSEvBz+)4;bq1$y&s?fwW2 z2L<otO9AnfrJ?MEXs<YI#p9=)kNxe9m>mMl&w4;>&FdqX*Hs%y8&v_eR>OX1`MJwl zNwIG+k;D&Jo1C5zHr?!)>=cGhU(Q2TE)RfZ21O%wt+h;Py0ur31*6SjIiVpH=C;Sv zQCC|AMajax+7=Lgt7<t-k0FbRgg)oY_-Nc9;H3f17e5tX`(=n1Bt1owuQN@8;-j$8 z+#W*^%HMI2@Bf~VO$3pI*epQq8jlFvElHeB8eE&uM=M2xP4;F*24cs!uc05#u{xQW zw9mwg-0tL!^r<_<g_}IKdpWS|V0ROSp9B83YqP0?$xcBRN=~hh>Y*W?z@?7%)#Xv) zYg-bW;TAsCNJ`hufTnlzUVcHCR1UhJ=u^T+tyqINNzSd#@%Bi!4^#}UY#*5ZS@=js zenh(k>M7Mim~d}}R~LEM;piG6Cp)qaq+8&9%Ja9VUoE%-#!3=ZGAf$A8o+mgY50az zL4*uMTE9>+8Q4#BVajLOQe4o1y5Yg|^$<&8XNp*QwUgW$<z7=y#D_*Cb?sTJh&K7> z5+!vN+LbSaeYPI+8QrSr(S&^r2{W`=_Qf%<bg%F}!~G&q`V{HU0`UcI1b9$x0sQqv z^JJYVf2_N%`!MKp?>p0Zo^Zxe+@T94X;}uYhM*}&(1V<G1wTm~XAMn|2OB>kgM2ZZ z;%$_V$>(0G9NcG)Z%i^ATT1kLrkC@n#xwzXUmtSvm`E@6OgSLli#uEeOeOH$le=9u zWdb53+VQlTG92k}5zBmqT!!cfzbkspZ7tTiPhfkdtKi3+pGK)bt}OMI_6A$zkTaiB z4gpEJU_tLD<~s(uN=+S5#sK@0^pRG41<EbqDy+$^;xbwBG`eLdV%{48x=A{Y8}RBl zMlz7kH|&Y=VY)9XMsR@WY&eeNdfrnF1A9qTz^^{<-q!!Y*_Oo<v-^g6+Cw8VgCmmB zwje2IiG&Osh9gq7D3ch<rxjA2x%NYdvb!`1x-y{5Br@pjSQU!y_Hkl>tMACr`zMNn zqq|}R2OCc%EXn<QzLbc(Ne(F2EHOrIsW5{v1-vwq8s{+*uh`8p$!eRD!xuyb+Qd+P z%@74UPy?vm&BsW49~D#dM3DGp{ZjrkhIBHw38kNTt66FX=)<zV6nhSvvwP3fAtG$1 zw#l2c%P*ldPte%#5oD7Q#$y#TY>?lYhQml4&=7_rgb`+<JYgnaLV}AuzTOmVxg#eK zy&0TvYp1LE)`G`i*#~}!OH$w~7n#S~`?Rl49bcl=$enax6)+;{UU;sbc%&t7Uoq1u zKin>l0!DPC{#`iE{8Rg+YQJp+CrKL2B~*Z4pUmO?Wn`h(OH95`vM6qbrSC2#(`kxY zc^1wi`S)i|vL*HJ8f;%jc)zgXrXOcNFWi_AI*NTog>m{7C)TpT$5QoDAC<DQ-6oEr zVA}&>j{KxC9<+-SbY3JjbIpQR^z!sjH(ztk&ILjzy~V)`-e`5k+0)=m4a%xmOvl{+ zD@0R1g9^>SrvZZK1FZyc5sEtgE$PL9ZvkS0<NT?1N2eaOb`iB0a+O}~2U3~QNlH7k ziZq#DN$y6CWjr;+qsUPMy4!QpA$*i8zE(u$k9uM4Y?AZZ6ZO|E_bDLj*fcVv!Hg=S z;bv-QGDI(I8?|fR${{M?()fW$g66ZTTZ)TXg=H88uA;+z=YHbrykg(<wcG$)?2nS# zhb<nmgkwIld>R);)e4wjQx%irYn4BL{+OwJkBAYisr}g^br=%=<q(c<)06{jJhRDO zC2_DGM4ZV&$u4bdGIQl%{B-Ns_pNzNhb)h<j!0488In++PAvPof!Z>IZHwtzT36!m zO|8ScP6$X)^}^i<q?{v9<!7PK!|A|kkdECG0o$5<g9U5@dGO*#b6-$q?6tF`Pu-2k zq*WIoQ(09Iq^5VU<F%Uy#>9-)%Fmn$;76J44(vDUw5yGynbs(OMN-2uHUtK%+_RL% zQF8<bDn0X717*^q&q_2++BPf^M0S%~0$Yl42;h<GTn-t;Om8LB#_`~p=I!1#q)lBk zMzoW<y3uhA$Jd8kz~u$<t*p&(JR+4A+Mgz=af=8Bf@3R*woA}K{el(Xl^Y*E`Y@C` zUK3|R>y-!<w6c-runwrE;?cS~uS;+mBMZU`DD+p%e<ZgP8TM)<3c$srm?SLR(CsgE zEUaW>-@9**+Qp#}N#etBQX-`atENlIs&C~32}zcqs`dHy&CJZ9)|obGq;(cs2g%Aj zn~_<gkuFTgmWmiffXYRXYk#Q0$`=JbJB$JW8>oOQ2A0nM__|(KiYNrz4NXGpJE+_~ z+6xf)%PKXZiZ!>-woZyQWpMdCRB&RWB#Pb%0nd?<3v(D{Q3|fed)lKDmR#Ph;HxBw zBF)x-qx^|2-<a^j<_(#2S28w+8Vi{0JeXS_s6|9Lv~!@OHPZvKoNn6gH7%#QCS6H2 z>@|azY8;2eXy7Pk>~}`D=jW$s@m!nS?gN@R|Bw(Lar^3OMa%CJOTA|n1l!<lq@m(0 zMrJsO+d%2Obwr1WJ07?f8Eu`d*9F8+4q7&H$)@<#TQ*Hj7=f>6t^*7z>@nf1GLBL4 zgo)_KO`+%wSUgVLTd-be(v0#0dCjnndkwwdW9j$@lXb#B+3%oY>uxOxN(OilN@n}* zG&UUgBd~C}XOqcBr+V&+QpQSL4J*`0WMg2iFMO|Ml_Qv-ajpnJN_hrQzFn<{;H*Qb zfBLCVTTIY*aq!uDJ)ra?!;LdZj_+CH$b%3^n$!(d_qH%f*jul1=)>+fEMd252r3na zj4w<~O(<3>b{N=X-1rGQDon}RH6>waPrH{_f?SRgH{N_GN3m9-_EG{_5ruNsTU)qN zUGdkmVy%hOeOa<C^oP0DJgx_nB*EFWvL(By*mOkld$>EFBmFS#Qi2EK6**d9FIU6^ zdHw-{)I%urOECWO$unDc*jEFZA(|?akA3SUKbDQn{8{T@MkQFEbRD!F%w7T!7utX$ z{ldWMUN%AdfxSN7qdXay1xoG(tTd=>wl*Qk#7F6LJZS2`Fl?=N(C}J@Gng%~@m%S} znto$3<c{_(_hwxv<HSyM#2kVUdI?;A!7Fsk%D7N`Xv^1o)A6xkF0>bhr*Dd|7gHh! zq&@b|0g{gbJRnXsglmM%!aAV}S)+*BJybc+=Re|xga&L$+-0D>HqlEMA*$plz%Ne- zC99gKJAFu9mi_2X?CP}VLdzIzvc8>GZudwUz;Y%7OEW<Q@(|1ufqnHpGWp`%5+a9* zU@dt=fUO<&RcsN;iS&RkmE57yDN&v3j<Grpp}4PaDIS*5H+*L^KI!Y{S(Qu566$6| zR4Z?i(Ydc(Yv}Ki>b+)pEhXNb&AEwbQY{<eGYz~JW9s1}>%yy)bccb6vxiW`M>j#+ z5<Ug-Y#UH0rK(nr_rCL7Kde_7#o8c!BrS$hWd!sW`;1CdbS<j9Z^~j@(Wc#;r<z$u zaaz!KUD?Pg2*_%K6n<5ywa{X;c;rnq9fUQj|D5U%7Lc4yB3hGBgEFXntY#L87T6Rb z&dLvRhG(f}KjjG?0Rit4hJXcMDo}bTagL6_ZdvTp#fHtzY%7#NQY7bJO17<sSq+*2 z3$ad6&=02n)YAYdn*?v9Hmp{QLZzL6-}Whn!A>kBYo^W~6lIQmH)d<BuYu8&8C=fe zoPpjjI3R}V-hhunDsz$Y``R&IKyBXjmN{rJQmi$z;0jM{?VIac)BA&N^9l-&XGOV^ z@+_@OUihH{W>Ilw;-VbTe26`e7xeSxqEoF$T{A`axkDXpZ~<9<Rw(?MH=}cC_Pmg@ zlKY}26vB^wAu^$DM$(^CG#z(jH1)q|O|esmn|Okkl7k)TE^MvslJmkQMY_=$!X}6@ zTJ#yKo*c*Dx12rPB&EN+LjSS<VWacGq<*dhCt((eIN5a`$iov_>@NogOO*h3ofPry zY4&ju<sM@^@@tZ)7J=f&0T4@{x`X=}!oe+3l>Iqggz>_b)RqKbC5S<<PM){gp%$sh zfQi0WW|9d{Jaf;bcupUz;2c9H9WAS14wMKEU1{U1eCL!ADqito@}BI|T#Pu%8)NDp zdpR%QW*IHp3OnwMRMFG%oh2k5W~ZNdi=Z%sYOPC4SliEvU?TL1Ie_DxqoxpkEHOG| zX-I`}5!2-^CY<_TF2zOK83xFXRLI`5DM;Oq_gY=|kDG;sJ~}ZZz{Q3i;!Nve88|zD zshD=@r1za7I$p&m_z3pcdlHpM`jT@(LpS1Wi)AxrNcN{>We#ol_0lj%onp#xTrsVm zADRF9YMMIP9C?1%9*6i4CzTFCy0SpB-yV2^6XfjI7I+cZgFQu<h=V^brJ2(q9O0J2 z{?XoO5GU6EfpCK;<@Y#|4e`Y_oS|#=*Ve8ODa#@6y&|5#=R8g&tsc1GeVW!}1&H0v z9)CGACTw>O8ppK|wH%?2(8NGPr_+K>oG{VKq@k3A;?3gt2m5dQn(UM|Ian1aj3}bB z;-81ALXip+4#|G;@N#+{NyX?jJhrhw4iQ7kqqhHaB}mGea22LUmw_8N7L>t*JR-9S zYk=Gdf&c;I7fBjSE5$SYS$hFXo7eeF?jO<NO_LN%CgCI@`;0c%x1g+eykt3=WG$7x z#m!uC>X=j}NgKq$XfD~Sp!)`m9*)ag-ErqUE-u3_8G{XK%w3o?4eSxBQr_$vN+@I8 z#}xQcGpS8B^r&`EP==xZ&Xm0_Oj$c$vq>G;=Qg*x7aPJiNIb0mLfhTAkV;<5>P+Z| z58Y7<$7<mXhd`qi0bCMnAS&6ZC22+5WR+cG^%%{i&BhI%mS&Z3(~PT&{*DaYHt$0d z>;N~t6oyB=9{pC!9=Q7j-2i+j(g3_x*!72XnsX?-9m_`H^k^R_h{gWCo(&D$QUL<w z)G_(vv0H~}nJ|dmfiiU44Tz{E>EpTJ%n?$C!BhfP5SSPyDPhtJ*%$G3QQ_boSmW^9 zRHcM^Y};xw#gc>71TbyMEEjr#2NXkOi==n39n0}}V*^1sl77MOdg_dK^}%8pW#@uS z5#2TgHS^K5oK|b*5glMV&veyY7cLGdhuW2XEiEs&tt`n+rbazpyzb;YWT4Unj&31Y zPfQc0_PEsP`a7F<E;926P!@wK`XqWq0iVu0u%2_=;lFpMbn_NNlszTT7X^wvr%<3J z8Vejsd@@1Sg_=C-ij&f@0h@7Dx*qg}j-a~_woJ(U%mwquw>cPyX=4UX{A(kYHfh@r zhaZjEA{6R49ZrE1n_PwR!th<2Oq*OUj`!h#NaWj;kRQq2WOJnJ+T%6&aCDmEaCBKB zcXV8Vpwbte{xM&L7{Pp?#;1|@!?2F8?-R$fUfZ;I4yiFl#K1y0u<AV%qw0H%A2%C^ zp*_2VhqMN>!p7BeR1_uM@vq2ep5tz^bi{oE`yB|9;HlF+cb}r)jydE7m)r(guI^6J zbauW%anw4eE?$R;hoZv1WSN^t=j`%$tNqbc5!?@#jK9qiU(kJA9T{{Y7$>(U(7(?z z577NCOgy9!OVIVJ?5_Kga%M70!K}~o{+q{quSg9aj$@o-{Om2B+Yav*<l|Vv#9$l6 z&j9=o5F?O__~$APkQxHMjhLo;*xDQ%V_0af;pr2;c8tKKAH@xyD(KC4OJJMp)pY_V zn^)4y!*E-}G$-{C#UFcNHRVCzPo_6x{e3x4B&Q5{=|ejPJ%_HUthcftH4r_avLI0l zSjfQS4|&okG1WccCVCki%m_`BMfxWG_>ZR{e+;wVy}&GLZIZWzJCa<J^Y+JgqNrJ7 z!W!uWMaP*2Vs39&EtP?LNI1gI42sJ1fOoP4o@pi<uuiU<6zk8QmzB=qsBvL=-$btw zvZ@6{B(8gC)3b0z%Bg@sq1QIyJ%25HE$P@nDpKF1L@I-!2!lkjIzs<&XADKj!J`R< zM8*8%Mdg|_;0n9)v#Fj(f{Bo!7dB`O7m1G+3M%~sDsqOq1|n>N9D9A#3@0Pbvxjth z)O&ZJO3vExvL|tCFBs_Q`A5XdLVtE|nQ-_chXRVaw{zmJ$V+3qA{q!Y2XJhosbLCq z%>1E!?6Al$ag@$WWOs6<@E9bw1eiuZpT9D;^8l}HhESlkF&yC;Sd50DVv@Kx0)d7< z-z!I=5&~U&nLO;qp{(`QX|Y`a7c<-g@!H7UJEpnMC&}`Jv9k^@rnD1~=dc1JXP>e_ z^r`<6>LVAszyLAFFj^hyGh-ksGld0~{iN-$Mr|Zu6$u+3^vC0yIc&V%M2yhsC*(e0 zkxt+OWVvboM+r6ueuV52e_$rJ;eFfU*e$+U2vo$KN%EWk7-K1Vc>zKho^I*ZY@i<v zaNE8Vf$nIaFyf%wg|#6=Kw%*Y5cE$nYeI!u4M?I0R(=A=(letD#7fEyNStjYl0^-- z&mt58yOdvlGUqwCQ)jwcj4%K-8nz28x}rX?Dv)MA0;#0ALwsf-Q*hY+<i0h0=@|2z zN1MmDfU>>0-4})wYvg|bf-Kd5gl!-X>bx>Ra&JRiyKF$*<F%v+B^v=@LLU|~l)(fi zfjWjs0t|=Mh55F<*&}2k8^{p?d=<}fHI+2&pTV-DBb+)8R6cC=)Yt2UeFZCv9W|jB zgDO9D6A_lmEQq8Yok<GR+jq0o7lBAj&<`XJy4_S8BB8LYFim@q(DYw_AQtnh6&YN( zEHbElwTJ@hR9(o>maHsSy(!Wg)d&~xHYt2~tO@EQkjHi^^imHHy<@C}z#s1kkb_e~ z8vzAhAiFQ8@Y|wz3@~=z<uOuz^FWXl66Wc5EAY>$&4u2C32odeK-DN~>iPy<&cVjW zy>*R+CJ-t<f$70ES%fsdf*HA4mlEuKwl`&1*wF=pjNS5IBljdDN8MEv!I{7<Hy22? z%uD1!HW8N=Le|#U$pW@>n^EX%)E6t@G-DIj+#Q7o%lg3aBI>Nran*;1Pu0C9eH-}c z`ynzA26vm@QLQh1=^UgYx9`uFqedG)9y3vuamtLgG_YKV9Q<aL#62xJpdF+jk%#Qi z$v?f}TBGyP6sZ#ACgcykCD}hFG;e_0>@@m})pk9T9-d?L&aKt`($YpzxDhiC*nqi0 z*l=2bttNQ!4T%zWS+I^6P$BEUjpL$3gD$xvUU8q5BVuJ!?-;@7V~NA=iXmooEkVV) z9G1X0Oa4?penKV@{q+6db2fYX+xK`b87lGPk_xWK*})=b45culI6SY5|3}_ihE>_L z|H6tOp|p|`N+aDZN=YN#Af1a^i%un^TZBcYw6rW*q*-*sqNTf=_X6+x`9JS_?BjSp z@4dgk6?4s;bIv(4zq4jlQv+H!Dj#*t^g~>?t^qFT=7`jjPCWk0^~!0uEF1rZ4Mjk` zW4z(Y6JFjvu~}@5NNkhCv~~j#n@uKb3U;~<q|XY^p3N$@7{E)1;@@@P-~KuyJ>5{* zJN+G}@89H^{5E@HdvzYxPo3n=B#oE!xY)x#*L>g=auAAsb-W1mH;)H#!p=W3M9}4) zy&$K6>~qg(q$Ll&q>jgnG8t@XA$?`}ZHzqTF~5B8QnOkwCBKDpy5u*6p+c**z^(3@ zHtS7ZDC>DTVGBQ@0oD8L&5)+87Y$4#H9PcU<VjhCH2Pdp!FXqlwYfq#G)SX*9fig> z7?W>%uT6}odofp%B3pGAzi+(v!5SFHU7Rg-sVm&o`eZ-|X{{GQhoH;-sW{!=SZwUX zrxvF>YOmK|{iRxphaI3#B`H?S02=)u2MG?t#%PeC&Sh|;`7>b&ez%J&2N7KVy?FeV zN&Y0TqEd1=?5!N#tvfMK(zK*zQf$T}d_pf8|KgXUr=ia(^5B?h=lmgA6g_O8j0nuD zg0jr_!r$u$%TT_S49g;0u*m(E(dNnF28UEEF;Pd28@kPiO*yR)b#BV8xcb(+8^OF+ z{XZ2qipClA(zu_7O#kG4lNXr)E4A@}6=4h6D(&dENA&5lMlTvdlO+$9eGwX#0m~){ zl#8@$9H<r!KSX|tu7q|}CCo=Ip1)*Y%&sOkL9mqx3sI!ZNw>9=QgSsVxn@5q-%(=o zG)?RJAv@N;YtR55c8sSMJMij$){E<~dJ^Ty^>&&+k*a(vwB^M<E<V>(5jw$H-w{oT zhDIGc;yiF;`(%e!P5SG>#@AA@6#b~k92@OoLwSmi`@|h&OeMj#-(KVI$cismHwvCv z_uxBdOF5iHeOq(TJf%7N=7e_4-|l&fmua88^npu+OG>fOfUDzCB}waN29S-lobJ2` zK5@Rw6&pVFq{uX!Sae*rzs`<0f4eQFOZJQNkz&{Yg5nBayly3v?qTO!UV%sp1H0Yb z?JQ6e<6s27V8|YtUdNZ}Pe%eJJ*l))KpenEX}U4Ro1A2eo(Qg&q8$umZM%;gO(=&y z%9x`M7}ORoX7;Pq6F+<UJMlTcw=(`wbu#-)i4L?&Qy;;uUXcK2)YDP4#Qtmqrh}y} ziwF9;cg?wXJMRcrapcs66EpGPIpi4>JGxr5F_CiQ@&)9_Wz`4%tr5D6^0a=f?^kr& zF*`pOe*dI#k<0vjLDX4N&-1YE=U#RA8fx@-s{#1(x#{W}Hu1-uM3Zk{6qT=$$u@*I zm_{1(>>8W?i26L+flV~?9n4$_|M=BLCxY(se56}1g_C~2G@`C$XkYs0=Bg9H&dpf$ zI-!I<v1TWGM@_@~F4AAOOI4OAPaRri)<>TSjksKQqIQK(VuiBu=KV;=-6kC+N#pCf zcBoO%`&9O6m-V%S*1PIuDvha>=X1|dNDLm(zP6e8V`(8mmlR|DG2p4t>NzMKVK$(l z>onFt7=DZcPFrN45#yZCWm=M=(F;`Eqp>yFL3_A;<IqTxiZ$q6gi@0iKOwQe9{2No z<YK<X?RoO%d`Wk}i?1UjaU`FgL<s5ExBC2!ckxi8Ib}MXujLmNw{}%~I69WT#ZC}m zNJzOB<e`X>xj<6g=q(n;_oKG3v*AJED|36}QEo%yS8ky_8X0n2J8G{dD|DG@AIivk z*7#Hnk*Ug>=aGKZHaM1X=l0!bPmg~O7k{PLGUl70{^t=5wYi#DORQzHr`Yc%D;kfl z&q6T_6-y7E<IY7jg+$)E>hqRxsb7G449r|__ii6*rq+}FuM%qhJ?Vj+lZ}(_-*hf^ zuK)g#iTg}9R;7<X+8XfJ(G&!x{3jPq+0@An;%IE@M9I$e&q2Lnb|5fN;_k^^T8=U$ ztGua+<;Qn+t{6IZC!Vphv$0X~akBv_Z*M^$ySsvXcgbVQciC?LWRv}^>@KhDE~7`u z(au=K6bz)yu_}p6QnIR=x`HWLrELLvfHTtW|BL<eU-~Y=PR!26&QZnwqp>OF-RELX z?3DMpKp4O!2hiF-jZv~nxPqlrz(Bg)eK{$h9M3;VLsCFNo_{(d<-|$J^Y`Qn5fLCi z59r@LS*peylz$(ysv7fAa{p6Y)tHC!UtXxHa#H?#%$uqzKP5Z&KlQ7s@&PyZ{J{Xe z=A>l*=P)=`V=jP0fBB|r%ndN{pKH~->;E*z4&)i$^Hx=ros#`OmGWY+bN|arN>)up zBP&y5@O|f`ZGm$C9LynY%K<dP^FMbyz}-J%1-t`>i2ME>2EbbmfKJ|jXanv5B6$9x z2)N?~?*5?zxC2=GFAsn_pi4ae^Bq41`+ZI&APvAffE4ck)B^l?H9PPB+yS-l{-;jh zNB!9EGdAyp<G<zOUSjU#14y&v``ZzAzP~cb&iA)6_WR!n{I8_Wzdim}sN_sR=3one z$bTgHuZ;i8GFBCc5%?~@^RIYOvT9hG0Ht}@c_>-mn_8M%fPoR?=K(kb2)m=b-CfQm zCD;)HeDGh=$IkaJSMR3;Aik!+T(Jj3KHB^zZB)$8*4_>TOc)FxbM*f&2Xw2!D^9g7 z<u(nG45#o==v!H~Q7G@I;GaxJ2zT*{un9|_EH4l~H{;dfU063+!nenZ53*4eHAW7@ zHY`VyB=>v}hngj-ilg+1=po88rS_n=#Qtv|n?^l+Y&!6kbjW1&G&O%cX~V<rv;i@U z7#_ZcNd>{wAe-t98_o@Oqs14h9)hUIln)-Fi9SHW@qO@r^Q9;SEsh=k0FgUa6*Y$L z@2|N(<erIOqp-Z{5=+O%vB12f;i*dAc+^H2ibGH7S1lpdSBxcSL^wOA-7G}EUhT$x z&9R!f=SFXXE=`8y<=dRkE2-MSaf`?L?OcX}9!<+%^dWjBGZ}daR4w7ng!<h_dp1A| z0n9J+?^@tHw)zgz=UF`#QNk%l^FzWzBV=muRL5j|h+uLh$9SKZ{c?a8E!iC+$CTX^ z3_1xfpiV%c_5~5(ut<xgN8*a|UTOwJBlKVTf=)1;K^T59z{{^DRZ;nPRKSI1Kol9; z(W{5x3c>}aO%bsNh%HVv3CWjA_DE}HEx1mfIVhDFVYT!&+N_6`J@b}XXgLZG5KPA; zuY7Vu(^bKT*dKe|Yc*+ML_Tq&cLKgi)L?7tdE$pR2tSDpFSVVjw6um959dx@w7M~{ z1q1SAiJlI%9K?C>P!{-n*bEI2v;k}60l2<cfA}R1KnS)PfmVR1A5aYCvD|^_TcEj6 zt85&c&L<DSoUBCB*}cFkQ~j1_*hpG9qP!Kp5+flrN@Xx&JJ3X<RabBDQV?c-{`%~L zSL&Q5oqG<k=B!#(wHfQ;FUdn)H~nDpg@k=c0^Z<_;=)2}tH3bwHx6UJ{^)F;)DXC@ zR_pc<*x8m$S32%gPD^4_Z24|>Uj5j|UuAL2ELpIZUKVz!&u~Wk(ozsH=H`CXUIYrO z$5hWOu60-)JAO^rmm=VB^?gC?D4UN)-HHsmXK#OrP65j8GFgCGbsWxY+eYuM)6-aN zO%CO8nAv;zDEX-xHqp@j)pralQml5T!Z}?C=WKLNTlY}Z%SR#S*4@Q%x+s3Bxb(OP z8yyjEL#fwsCqx52%M?RfU5<t)drwA<viToBC33!fnebsc1Kwly6my!X>*~b#kz}uK zHS-%h0y{4^_~Pb_dQP1ex^p<pcJQR#7&PlKj?is#xLAAJ;&y!2F7T5dS{*oICttL( za1l8a$I^45#<(v=N-(>D5dy8d+z@&1M72paR|h#h+HajH%&bF=Og);oAd5~*ERso> zFsL)?-n)tBz%NW>I}P?KHn+)t#a})Sgj#RD5_x`p#Vx`3G@4S05-BGWy5NjGv>oKg zVY8Yw@nu`O4N+$%na$IIpKsL*YmXKF?z=Sobtbxm_;jY*N5F6*MaLa{N^UZvKLv9- zS$lHr_GCXeToYmVvnpWBPMg0c*E@dh8oFZc%^>5E74fTjThqy4rAI8p=Cd((4fEuS zMr+%np{ku^kt-pnC%D6(pY&J7$JYX{5jNAD9^f+;|JkCGqj8hNkVi-j5`ai@f=LG| zJrV<MhU&naWo~0RvuXA`tB2NeJsB|yJVN*|c9l5YnV)CzMqv*g$L~!<1UV9TJuj}H zBJS7Yr5f3_*4vfXr&mi>;5}4R0ok@+%-v|44TdNSVAhg*yaemWoi>uYxboOE1g+%3 zrnab@SN5EQyOcpqv{3mMIBRN1&(oo5#?G`;F1>ZXhrcb`U)Xy&8wj}+!)Su)vg?+A zp)1l}!rMGdut1Hk^}I7LIs!qK{AHd;lZi`tu@xr+U+Xs;=o>#?U~|s>@_#(LwpZ<u zr3;l!E?}SLd~dF~ZlpHeG*<7VT*R25Q#bxwvdB7Q?;|hM8<~T06uYW4x2#pW&yzPv zA*TaQbZGuK^gamHo(h{uxf=8?1T%Vsz}%}c+nxB@IeK{fYPd)Jw;{K!KUd$SZT28p zLH?CjevV`Ndx6!<Ww`FFQ*}onT)p+PH>4@9=MU|&>r*=}5RI$|!?zae2j5~RzJ$X+ zrU_Cln=jAMt%QrvVV`#|jz1d;!F}qthzB&>+loCSy;#s@C-FV~yB7uB!uP%>xgyXK z%!sHmrp)B2TUW(E^Q^CQ#Qm)1dTyB3UB~*B>wh{j%||`5T7A0vQQ;<Uk#5QO4&x1v z5@iWD8P$)5P-YSC?H7n=2a5^(Z+J3<_%pAQK6NcT@tXzKL$h(@-+gtQrp_QG_;$$5 zY1htd*Mu=eXeQz<f6uSofukhvE>eOegVN;5qLn%t#fHH_H!;UVn^<PtV2>Y$0bf}d zQYL5F^{%|BII*<+SLpO${O3~V+>@veQITZ=AHWiiv2O;$o;>K^@)4?gX3U)uYLTpF zhg)J0&5kYX13P)+Am*=|ExxV^Ut_V8Lx1{4I-WBRnOMiMID<=CYB#!;R{+<I(tW_+ zjdb(0roHasB3Qh>xGJX%w6qocsI_N|c&Tyw?WO_8R~Bm1=OU16v-ejfdt^F8{q~#E z-ZAUu$95|Qv4=0_{YBStzKbKmFo`&wx~8Ts0^8f$1216mn^pc-2WxLmdRDTDoi@LZ zF5zCXUP~!zH9$0Ep@+3xgJYUCAeqXl$JZ>1HA&p8kz+c8beT`dc|DA;TdK3uE9n-Q z<psxc4MY+nDqfp2n0C6z?#$5N{5~tq=~1ll>3{{x9k#scW8fH8QVGe8-I66FwMQ%- z3nuB*rM=L~bajJ&V&{Ho5M>)|biFIG0hc-uO1OHqGalFb{PtaXC7S9tP<tTDY$fmB zrD5iuD(OM()XLXJmAZ!0yEdC~W4NTSa+X-`&tF32C_sFA=~C+xD|5N<dLa7wLNoBw zZ)_$qA3svzis|Tz5hK&Nn7o<qtq)W?KB(Yx-kdgk<@$lc{D)rek}UMss_!2OUOT;W z_xa)JV5Uafg(?P9MV}aoDU=)T91+yyx9MOs)hN&gsY<62EVfiKQ7`R8N9}TOGGh+8 zu-(QIz4RJi@Rzx3s)w;3Et-Tob%C)M6;YA3htbvfI_Yj))K%qj7d7fr=+Oi%q+1z2 zOS4$aj0p5p*ue<$Y#CW?wU%X9sK*hg{k{rw>u7fo<E(fyHI#SQE<#q+G&oD+U%S_o zJ5Y}I5LmY;m8lXlg5vW$gUqRH$zR<J8FRl*`bE1?Q$sOp?^M1ne_Lwo+sS;>MRuCq zl*=jZ_T@^?ak}!y=oicK1v3W1)3P@b=jwb^t-R%Nb>!dhE?5S;XzgHH+-4B3+?{$j zB6#4UpakoN-ZJ(_#98X5k>2$rxL*_-a#)U1I$dY#?Ei+p+XxnvXW}iN*z=wq**#wL zr{TKPSM`d6ug7~f*>JH+gNs`Hp?X7)5PQa7pLQm`Wc!hvF78E|eh_4(9YxdorZZ0F z;1or8+ETT^`Kgce)WqJ7h8~rU>L}$n3>XPhB6G!Ml#(E^pe$oCUP+=CYfMLe1M3~a zgK#+m>PO!wzTvefyxVJ4VQk9vRbD{xi+PE|qWLES%86vo`B+u#=auCb4#OhuPxB=f zSF+8R!ydM&SGVZifnwGeF!P{nMLKBI??8sR9(yT#t~u{lVR2yph0Xdkv(azqr-^b} za=$q#qUW%%-aMa@-VFxL!r1Ewvp-w62FbJ3Gg~CTNdggEjmPB=p?wxD#s7|m7;)Sc zj)petg|c8h$MRWS8z~9mFo-uz$XIGYGoXp~34Oh=NsPi-d<^A^JdBW7ki@!vUxybu z7W2e=>e<jTqup%zPZ4U*V(T4P;`OEIWmm$x@D6oM*c(H2TjVK;GwwgdR`1b}P+ltG z!n7dgpQELAv(*=zjIQOu-&1(QIeX+RS9auOEHd?SE5tn5-BQ&^VZu@ni1sk=dYWP) zdH0oawDj?-%4L`?V^j-<%|+2MWwvpfeCt##Zy*6&yi<$UiA3#75DD@aU7zoc+kKnI z>FPh9AxTgIZBE*$5)_hU$yFS!n@tbZYi@;2APWw16o2er*bh#Jwru;Xct{ZaK6xph zOO!!F7-_B1m{Onq;FcDz+;L!JLa7EaoTS#X(wCGg+>s*lW%=m}K?c~Eq9@1VL!i|o z8!Yio#RVUEl<#k2{6$63RsBJdX`%F$wd-bUB3jW?V_Q_$778PlUq7TKC3lm*TtFL^ z_sE87$;}5x>DabTPU#xdIZVdz$96=L#K6^;h#A?;5y@%JQoC}d=-2k?MUUAc)1d*k z+@_3#A93g(BE@GwC%?!lOyQy%2TF3UruPukCwAn~=aoy<`tYUs^2|`b$e>Xa92bxo zgDp`fkybOMK&HP~tgx0BmnTCwnG<)CQGaHtn)<$yN+;8e@?`?MN_0trP~@D%>R&1$ zBQ0PiO$7;6$r6X)r-oO$(FYi~8yUnU-cD9meps}Yeovk^LQoX{q;#$_+}!_ydoF@g zNI&Ck(5AXB;YW~S9Emg`ohIlN0L&(Py2>Sq9Gf6j{Za4yuaF6;-E{h!P&_h)P8Xgb zwNc~DrstErFVu4Dv2^7bTFH3ky^cHe9Spa`zV=`t29Zfx{y`F80O7Ul>|JaJgI3to z@&%#6VzN}zX1mg+C_VCP!-ZXywGBi8xw?8}Y@HMf1@oW4kK`RB+%kvMy<}vPMS+FS zpVwk7x2fvrW=OFC*NUY*?Y+L|P@}@~(U+8`I`UaUbKiQNCW~bdpf$X=y*Wh0O#2Ix zp_;84Q<P~Ao!JHoV19+7<#<#sm{_G|rAT}W4FE}sNi(6jqNPL0DQmr=gZ<gXvXY#X zydj+3CofvIn-YvR&hs_I67Wv~L9}BEPk9fbs;x}ez0V*O1R@`FeAoub8+WL_=^!KI zWNG8eR=0Xv>{Xt+oWU6YL9%}<RHK+WG$$7`Kj-)gC%>iNY3W5Xs}QN>p%Pxx(cYDY zMz~g$H@x7Ayyt6iq2LQ&PV-W<M}4(6AD#JTR&2E)oi5kfJkdO*4yqL@Gzq11sycHM zBa3B3bF%~j83Oksljpa8LcfCfs4-dcu0^IXRa97F_veZON}P<A)yv#rSCYKaXly&4 zDtF=Xu1tN;%3s?kIo#-}BIAN9&&TwY)S2BlpwUIQ`LM#rirRY94aSfI$Nr{;rmT56 z$$|Xj$L&<>X1=2rXy@oGUxK6#o+19}&yB~fg}`Iek9Kr)0t=Jxp+Q4uIZZ;BO`aP` zi_tu{{QHa(61csG>Kdp}WW|KM-;MNjhL`#hF<pP^yyao$Sb<PB<?C?0E1B$?6g2#T z&wps&tvi+zjx;iF`NbvvfxsKdKD}C|`$^fgac~t1a`&~@CP4m$@&q9_*wlybLq#F7 zmf)jPj^g$}4D&IDsCu<Cb_vFup@ii{wDWV;Ip$hv=iLMAtI>^pVj_n_`5dB!N1z`w z;`Aw!XBBD69`s<Juk*GhRCg^{l1qX)F^TFgxgLUtb-eg*h9ZRtVNMR(mV0I|{|MnK zW(zK2$OJ=!VpT3F_B*BK*E=ny-=^|k$<Y(UdTaBYgSs%Y^g>IXGHKM9+pL{1g^>_C z&us|uG$yExrUokox6I`q$_sWFsHo@Aa3F`sQx<>-CM=wRsS@GzwVU<YVl5<a{wt$# zxcLr2eh-dUT0+>V!y~HgS$eO;g|zT>TB_6Fgm(Y!6&pywPZ+U}(c<~Zm|ukEtsu5r zNbJqg@9MpV2cPOJaZ~k8S#=7JKk$5h!jnMw@=Xhh^dnS++@r_4BJz~FKLot1C%5Qg z@FVtY;_5-w=3{)re5k#Kz0I$Sum$ZmLWxWI`02a3$W@YcG#XPuA8uNvq^M4~<dxe- z;d^enTEd5<uZqmkfoUXQdKTujRs7{SN#nJydB{Ua1myFbh`dkg&45}q&m;2C{hz3J zL>3w6Ym-N|a9`U^C32t<q=pZT!|9>q1wlU>+IWen_RwXvo?MGRpE*Lw{TgrXZ%UQR zzU#{MI85t@m5#BKEY$g}wY9Y+Xa;7spS`d;iH1v-lMB5l_{oV7e9PF&iR&zl?{8Qe zoUTGJe>Jr?IK_!dg&CH2{f_Lu@1{om1M;CrQpC7`0pqd)o=3&=>UimcE6;^5sJbSo zuVCAds4%etWVf;#6SR3lB=C!Y5`|PKlB<v>tzT?#6-8oQrGEmiL}hzl_=DM#P&Gh+ z1{e|!!;U>TxkNfPG{m=-@(@s_cix|##L()jnUS!$o?0R;eEM@^bGUM{lSrBxE|LMg z$RxBP>R=lwXpYx$scKg_;>5MH{jMi$>Uv9`Y;JR#Zm*bH1Q+iTBVT$}(=^#=J=nI8 z7>TKeaAkb7EZ$?SVs#OaH%z=#&R>d5{rqj7(7FaDv>fJa*Bu-Cg_qkVkr2^cLc5k5 zcEWca5=8+XUI?h*0QmoP)f}2O>^KTPIicU=(+zwS7)B)QeRVdNRWY?%7L@`oq4-sT z_L_U<lRu1;)PcDilse;}Xb~vy@8Fd7-OkFvoW+{ZdVM6*l8P$VFcU>X3pqu`CE=kM zcx|(59*jG5j@pmLF-rdO&6=613`&kOu#jSfDVRq}ef>o@mTNr#=!sT06VJA(@@wq1 zQs{UTFF%ejnT8RPa+n=O6@+~VY4GOkMkZ1W1k4&_GHNPI`;o3BLWA_56eQ%{7*%RE zK{?<p5kQYP3k`6id!iq}){95UH_e<kSzqzEfGT}$@f!j<$K9r<7=(X#f;fupCX0)E zq|&wtT6S3+eN=pZF>jnXO+HEkEJINUwE?*2HTZpAGGNM?oq~S`F?M}r`pRN9N`&e| zdr0sqa&_O<sZ|cygkE%<?$;iKqHP?oCzS>&G<GYM+kEB<;09Dk<dp6cN#eyI*4pqW ziVLXQ6(m}94zO;yZ!*7u<*QE5eiNbI$c}z$n?eenOeR#J#dAB<|9)r;dEGwZ|FjZz z&b3qU(WP;$YK``aeG>&?V~1T6vBs)KlD0QE9pPP5`svl$$V6M|>K~m$vd!5O#Ox|A zz~9_R67qOS%KEpm!wN^eb)KszIU=GR<9)CK^XwQ6mm+;PLGJxmX>F(DC8;9bN*rQ| zH)N3M%&9<Qg_~a#6_s_Sf9hyl97h*ss)S<BXXJ9?*RvtJl4XiSdmx;AupMI>D{DQE z6FEmfyVc6L<g^`&vbX*zTd#dmP0hg5Q%W?XHd<hlH@y&Ed9gAK2P}^8WX(OW_yXg( z!9{RjxJr4=qxqq4Z06e;7S?;AduP;B+9Vs*OgbFqQ@?|g9t(M%t@RmS{q7njVA08e zGfX4Fet(QiJax10j^4e1#Oyd)O&b3m6$9lE)m)5BLj}hR#5-4;6B~2raZAdt>pnwQ zf=;cxw6=IRc1%j=48UoMJm>p*FXsI~k40Mw`|;7N2Rz@jUb(tzL<J}!gzRRPT83~J z5>iL80zY`KA8wZG3r-IG@LI1#*Q)a1XyY^=tseT&OD?p9`p$;JZQGEqrrYIOK)S9E zFa*KBSa78;(cu&lbAOy|cdx-8uLd9SC;E_;yLmJ><jvs9m;-L<p|cEl^dZ0N%+|;Y z_Z>1Y$;&r6d)64;0^T^jqP2KmczJhpo2>SWy6^#$o~{bMtfi&k7I8!>pW8_}ce(EB zEzy{HqCcqOk5}YIag6g=UpdM!Z3Jn_b2<ft1!jo*7=A8XyV}gj%h;))A%uLH=aWLt zn%Q{qA{=vCgE^Vs;pj&kgx%dc@M#*G?QFL^pv;E;P|in1SyjF>p___R&N`+yHon~c zU@$ik(-jht_PdJ=n-A~Vyd03Dl%}3|zWg0(D(Sa)XK!B{MvmxzQbCrG(;J{uCu}zp z+wytOi^L?ZHw*fK9v2m`$cswjqZwG|mwF6h5=cz4P)~a$$|f18CyMb_{E{%aYm!Eq zvb%((+}nvuW(EK97js%dcL$vQPnXLJFz1}OH1=I3`{?2`XJ_>eK77x9EdTDZ+bmqj z)Y9|X3GX*kXqPVAN?tRYRAWH-^Z=PLrrD37%wo*X2r#MXP7lm%;5NEWXV?~+{XG2e zi1rap1Gz1qUUZb;lW>qa2%+MLCYoM^_CnXgNqH>unzS(b`g7m)K%fWVxQSf4qd9Wo zDhh(Ba1JxT52!m)RA&u~miU-W*{~y3{kcFS&$&egR2uK<3E+Q7@5djAOZ}2n6)iqQ zDxFzdQQR-KVfk<Xo{G2Ze%H|)@$~I*>450If)*Ebcg5imPMDTVzn~jXGi4MiQt+eD zc7yrt*C$(72l<K#(U>i%?2^15?U98q0ry56tzRqTbxDu+t$Y(q9W%AEWENpi#1*RZ zTQ>tL;SVpq^MO1|5Y05cg%3ub%pEbB6`B1S$*IEJ*?HLp_vo74UM|dl{&<?4*yf!; zqoc&}_>N{Hbc<W~#S}z#MS-mJTDKl)(yIhhTv9%{(S9;80wKmopzhj&zhC`>$_`rU zzZyt%?_*K2K-zcJv9^|79h`BftgNiAZo?-RLks9bSr_}i!wqBdHa*ATa!9KNlY%2% z!0oqHU_=t1*PmQH+eQ<t@e=)?_FcaMdi1UNm!ABl!bV<%vj&%<?fTm@Ds*Na%s&OD z4knVV$4Yo3TmIL#x9Z_qT0XzvlM!x&iLRX0KJyn#eSV_WOV&CyV`HFV#Q4-To}*)j zaNu5ZV(Ds>8L<IUB1egC$Ya08xAPNEjE&eem{6Y*vwJU|4Ys1zr8>^l{1Mj41i&R% z#_4DV^s7unL~}w^tROj?KP&VzDAzYY4g*Vp@`2wg{4cwS&kD;g_#A=Br@e&G`a*%I z-ijb0eL)J#$$5=~*vcI-)}ZX=L`@^nCd0of3!U5AC+lW>*cqn=Q6@q=;znZazhNy5 z;pAx~{dUb6l=k5fC{xdM`jA$^P=&&kKQ#jx_ObEggN4bfyCuU{v=o=`eB(<tWrS{2 zzDkAhER7_u@ik~JVXd>YCSS3Vo0n%~baZTNjGK!`P;V^#SDOx$WJ7Qfc*4t7T@A@4 zdRErM3O%!BhU;05GtkKw?}r6<=#Y|b2y!ZurfygA%T@C5j=B(hFVRP_vU0fGvMk*| zdr$4p_;G($qcGb3oJN2XvGAqteD|qzU^U$o)~N0F8H=`t2C&|7Knja<y7r0-?JW9| z6FqV0kq;wcNS~%8AAv_f2<>qTk@CyVpHUSIAATphu<i2AOwR`b>q2z%4IOArxwT;P z)C7bdaorU*2H0&Y^HiP{gG6+FTsz8jZ1Spl0E6Gp6Z;3l)n2l6kw=mxCFDFGXBEt4 z<W2)7f4>>r>&<?7jfB@^yDric)q%~Fw$dYQvz83;sM{sqk=fFAO4|;rt05Nx&89wM zcp}r|X6H~EuVWCdxU+H5=r(F>ml*2844V-5_<1uit9H9tn{73bLKZ)9u>qcYR@$;e z&V=KK#J=m!VN3<s>=nmKiByJ<85TYzmZAlu$q~-jY;ZaDEh&b*nM=RHrAYdmYIH@Z zB#k`v73<A77g_>*-6G;$#0Vj%5SltRE$mgfPzha0Z0(=iDJCuMAp?w=3nqR0ku>Im z$k~88zUj02l6M`SRWCu{d3S@=@+UMd0cBYmC&^mGvoOK2+nqQljF@fb2*%$!C@;uL zA6Gkui4yYjVAyVXiGd>(8z}&A{onu|fYQ0@pO=U3kg5+Xh0w2ZsC_mvaq@lB1dv;~ zZ|Q%0zU=#nO5m=I!7s~ii&iXKFC&v0-8UoJbK7lu%q9YNX3!N~PL1#{XVBkg<uW6* z=LVE&OxKIb5FskuE8NpR%?WSUwvtLx&1{;#p;+^{Wb4&|W`FnCE{>OY3To8_<<e1U z6n?I?0(Mkm#Mr1xV468qzr7h2UFpG%ht;ka&&~XPO56B*$Tn<p303R%{Ft~&gBFVk zD(JNHD?lailsDn`#ayGw!c46!Po+QuV<8s#%4gbM{MPmh=EHUa!(EFP_yi@zb|ac+ z?UM>~P7=fUCd3Et(tUe{X}0NAi_DJJ_JOdV;#bJ)X6iKEjH|Yxf#3#xtgWqWTH*s% zWJ)DBWQB&0m%6DDAD<C`dRErcCryz+tai8f8q?KY-W?kCJ4?&6&(*DpB~1wD)_)2o zCGT5<eps(_uQaaCo)zKlf3}Xz8omZiS(?JAoQ)2PWaUjD&m*19*(OY-<XO`uxiuJx zS<5~iM9K-^60UFQxd#N_?xi+S<D)B~CY(=n%<K+InPW?bco)%DP0upZ^KhQORC>Px zlFs?&#Ip@Sow|l4>IIi~xp{baPM7mntn{S_T90)%D`HpwvIkZLQ$<P#L)bZqCbwDM zG^51ppSF{_4s!bLo~f4Y##GfV=)-;tT`aSvZ}FqBN@T3GMvqexyEqz$@n&oOyyqZI zxvg$s_b}=xGaSC@I|Pxr@j-}cIV*v<WG)Dl^1U>hn-Th%V7xkNu__HK#?3hGpZ3$j z&*AETDU#vSuG}!put4fJ_vgaRLJN+4AzXTDCmrPmg_%{(q6Mm0)8O(>H+!!IV2f9! ze>goCHd<tjHHh}+)pR+E{MYvp4>}~l;dQAp3Nzv16PYjH-#VDNXsnKlck*~&`Z4q| zs)i?(Xy2BbRXIoEO$*YhjD1<_`#LuEH7={F7_xm<npiS7v263gBfozE`Z4iKO*L1; zR_`+znfToyRqQ9j;kzn9JN&&j^^?!8sCs$6zuvFMrKfa)n%|Os>U8Te(aY@QS1hLO z1J?2oI{Qv<{ICNrl})56Fm-~&#MkXH$c<W>2tw#2Ik6OP;;FN`_(4oxe)jfc`*=}Q zv)kLUB*5w1(+H~hM61HH_-&z-jJ@wFxsrQ#vT~(NE4HK7*~_-P1k3Dw$1m`b$7svC z>V?No1jCt#nhPp%kHR^X65k3>zXr;r=Uz-#qxc6W;A~&CI~W!%dMe&Rs&QG>FSdME zzbsmKPGqH1ecl)dYY=Am)OE9x|GEELVx`*W`bS}1)6}f%BXFA~sJH^RZJKbS$E&F4 zrC3rnzc<<=x?p3KmNFIt!CD7Vz54S_L0=VK5P>ag(h5KONfRmFaYzkSiWgx)tc>=w z`?cQ*u*5ya+XK5@LTlscW%@W(iQfXdjs)KOqLee?;olm7UE2Prl2q1_UM`laHyz~C zLtvQ3!|+KOv9<F?au{B;<YHc_XPgs$3;^atP5>~29>(^_jS26^eAv^xg^t+(kpc~; zQ3f4l-q&9*j1>yJ&8P8WVUpl@=i5P*uSHWos!AI3YbEAFTxeF$&rtf(qCAm461?ZF z(x*~HhK0tstoVs;UDunqD`iF{PwOn+g{=%oH+y~X;ads`{%mc>Lqc7Ls_*gk1GqxR zIVktCak5IL?b3@=`$~M3sGLl^`k3?$%x$nrU0ARhB;AKT7&ggOiowu2$U{>~l^B6{ zI!(u9iI7{V&qK!O5)wr8R*Mfh?G!`$?vNx{F)E5OH$}~3L#^(k4A*64<Bi$n!#Wd= zy}ArNNM_DX%E_1VP&<PMpYRlm<flB=x30-*diIfAM5o#IZ;4ZmeZ;^Ngp*rURQ-)z zod^Q6@*O*Y)|gp+wIon}m)hfueUv{zqHhx~54OrrBZjMM%r!D?98(<)0KD-K?F(@B zo*tQWa6lkS4cBzezMd-{GpoFeHh*lqZ+O>eG_ej(6R3Lnx$_OyR2dmIq;yWMM7fLc zCjUB;sBGA!H+;6XC1`6(GRp|Tpb<X#O?wuwuI+XQs}E$aN06|DSnjO(%uSSCY3L>9 zm!vjvwizkIr22j(m*se<RDW8}RUs69r6jsS@P0ltC{0csk~BIzROao})!Q|kD-RWN zYZ0i3W6<MX#0I82n%_^oY&-4Ck4u$bjIF)AynyKxnhS*2R%XOka8Vie5Trx5^JOI- z%O^K@7xp&WX)k{(R5Kr5KXg6~h%ftbrm(CDw{=Rei>W=FnmX=T(HzdjyI#gA!>@(8 z&lKfAtu{AQm<i7{-nyqf7Cb2GRSVauH*?a{L*#OY((y|MJ>%Hop-C+_n}aH>*6JDM z%PFXm3cF3g+Eu(Eoy|f$>7F?Dues)WIiE>2UzrFgYG|eiv|;zV)ik81(`fh|2h#z& z!wK>tX^gXD82Ir`!*SWOrDTMTtI1VkVx`AG7h4v}2gvhr2<fLDft&n>t{p|gox(yp zz3b}YPEPo2F$@t}@EGAmY4|6vVTunAns+_Wz?dTF{Ba_=@Z?0L4kmw+2<8g3fwN4u ztUm4KM3XmE5<#mZjBqndwM9AWqNgv!GmSl5mNkS_6{A7%UjQ?a2A@y23Dms?YAq<i zxbwz(sD!jZ`~>RHS@6xh-4T`02*_vo7utfS?aP`Lj$rjdraYFp)iPh>k}g{B`tzJ- z2>oZk&AXcRV!F&lQpOIJ#aEW0LTJ~+CpxY7jJamAeoykzOZ8Z$VP9M)^<5e26D`4~ z9N%{?A8gPX&Fm*6AlRuBzm#W4_c#xnm80m{F%f^$$=KJBno1YKv0%kHtaRJS{zEs6 z!Ue^X=yR(9nax`F8|0q>8&$k0<>1(mW~n?GTsiDm$9hxD*{&B?raq@OKR>6q$}Nqj zP%cTiGfJIje`!jkOnUQe5|rdP(kH^U+ZJ!1K*BmYF|9o!Ion@CaIig#Ok(gPD;&N< z`z^S-{V~}T5oi4_$+kj3@Te0~w?=fLIc>CBaCx`e$|WAg|2_e3UVhED4u7G(B$8JK zGhJjGRn-2+mpJ$Fc{io5%p5L^wn#gX3#=(pLgaRqmi)kpfyTy5B3O4?@^eX1`7{zy z?$1_F<qOxUV{;Ihv2{i`_GzfXFWprcx9HwE+^u5SH0iV-Fter=2(t86$a7?xz3_Sk zN6U;mk_031=@gPhytGqul3Wf@?zCJb<dLKNhpL<wQ)1j<xdGtm-ggKnSQhGg`E)Jc z!q#?F%<*h*;mz%NKZf$``Mok9gZ^GP@&&)++Q3W8?<CS0Kcp;cc9u(&kb55)&Sr6i zu?~(b`B@zN0!R^U#)|?cRSzB(tKjl6M)?*(H*93Mj>jA27ybq$;{JeV32N*3#k`G{ zXuf*Y2PT(_B=<T+xG1Iwn6|$<yKC?PQlPJU(uTT4^H}BA+&|*tjIlsP?u_8I{3yCN z1a}2+ejtyq73gFPYJ)2{fNbQdLAdy8M&7%iRQ!9+;q2kCF=tycuiL={lq~_6p7aF# z<B-ix<tpGlE;7N_^5v+ijKCmVW>}`Cel7R1t{D?(nvx7~V2nn{IM=}@M@F(y#Y&ak zZT=yO<>BzVp}8WHHZD_OkDWsS-4U`5SZwLd(m@+71Dvf7?};ZzvLc5J%!vyNU&{+W zPn8N#xu+P%PhnD=HyX}Thw4s!gqI`lv^5>)mbVC?R)BFtNT4T{?l0cIH^sBRyzeXe zKODn;IQ_05%MYZUYm}s%1x-zRoOfq<Kmu&A@kQ~V$w7EC1zPIeBO&Agc@06v$?c65 z!IU89-v3lE{7y!WIIq}bP<2ud;d!}Tb8Kkw=9w__e=%bajzK8jbk_~1U;ovObm&@c zUQ?~lt+z1alx0NIy~$%9FUq1IK%93_UW51e{aTAC*PRrKHY+w)My=7p)(7Q<iQKjM z?juo~#YEv*SYUhv7*bJI_Cc|&gTkjMFGul8`0518+ORj%4%tlg*a_gBb-#3->vA)A zDJKHdCi}OlNh!!-XW{EoGF`Q8ej~9R&!Q8t5&S#N`QaVkb6?KiwY6dS^=y9(mQUUS zR%HFTus_y!;~1RqY3uC+B(G54Bq`wJ)erq5dC<Js>){8lW7V>Jnik>#rAQ;y%X22m zd+c(&@Z?)YeB*H;bq!E81HLHlhu-F!l}4}2qZ#j`K`EL`mmc9a>=#6vyp~ea#1*lj zH?(;0CsHZKp9&t&PU}wP(3}2R#zewFqozctK9TmpKL!JXNDW@|>l)v08GKZy@3!wo z#@hJPSfe%Lv=z_$R;d-sspYVAYXY*ihMM|B<mPPP(dT~7#j`rX$jygi8;nk!UMrm! z8KY$p0|g>A7iRJKimP>2%0)Pl7?2P;Z2g+d(#YG5O8){6LS3fm1Lp-|23A(@pEn zsX(f(-G$U9Mg2JjZ?1!ZbE|OGuJiZ2;M>9d;w+<-ZX(jgW7l^f`IN)lW6fJ>I%AL= z98xpzut$Q4z}cPEs`KjuSg_GWhb3Gkdb?sd^49x$NldP(pVfbKw5*^EFtcyzAGb7C zCFDgKkda=kMG)ZME*V4RyUPyE$b}#>A(mI+?(K^8LIU{(tS>gBR8LuczI@=<_|9<g zcW_$g`Zq31<%RAqKsSiND%kpc9a0pH&c(Q;3WHap4X>+5dAUZKt~&KJbe?a!93Py< z@Sd%GzA$KmX~czH%?0u9elPWL8*X*cGhPB*z+B3g`yCY3m6b09owwEou}50Cx-FDr zJmz9!duhs^nDMkNbqVeP(`?`rZJ9C!mYx0wkX<;^`U<qC9lWk*vli>2xS``a87dV) z#fnIIN^-E35iu#{-dP7!Ki9PVJ#p2zkuurUsWwHxW4~xSq!cT+-3;!`Tw=kPf_=(T zlQQ#q*9QTXcydAY$^jUobma1wzIUOyG9mW^<ym-WvDxBqu)H&ewWf{j*m_VC)-3&N zgm-JCj>;(}<8U)#LnOqf$G4<!B?o(pYafn>mlb)bp*uGkP(-40sekY~kGev|>6jYY zyEA>|t2Uw86kPX4pcqY<9yQ?|U^aeBnF(gp#x1wje!qf}k-Af#F0{5X$lThSAOoLv zyY1gmD)`VJDdK97RU{RWJdmGy7`yAzF*g#!7GgPTNaHCWe7#S)1QXH1QXw40Fg>*c zTpPwU1~a4Kqi@O<ph*H;0+eQ_+&=-$N<@rORUniqX)yql`7L10&U>c51&FpWeKNb5 zyk#ZMCV`=tR_%V_Fg$E#uLhVvnlv`fxeDmkg&-Rft*w3B<$Q;2t>oM@HRq>0{+R_m z=A$*K(H2Q>r$mNXqCNmCFqPlaAuX;!)yISK;NeoJhhQYOhka!|IAQQ-f!`A>uMu`- zD}2s3Ptemwl!Ew$8&C6DQpkSJTUdGOednX_0xxIu)Ill)Tb3|GeXb2w^jCK65}FPi zRvi^+O6n#q?=*~V-)4Vw{40E$KU%$+i3BkY+9ShcdD|Hv=Py&UC5b|62`qd==lg?R z1>qZ7+p$@7O_TXhkV)<Hx3F`MCJ?#z{$q2Don{00+$3I2YydbOOHnx)7zeKuUnzl5 zrliaufH!Wtb~42xAjFtyLb_F)dc@f=a9sS^%{40K#+x<2ZK-FBf{(j)Gsrk?uJ;wa z_cp>MUm3Ti+D5#7r!ze(cu6Ne*#3B?$-7klmW!vb%z!gwdYlyX0KnqeRE9YfXPNm- z8NlLfz)LC+iR~zSq$|DBPD^N~-(*zkIrCfO%Kp|aCWa2N^~J~W^p@6qLSJZ;#^4Iu zMfk*t^C@W|$?22_1;aZ;YZrt?EsKZjLK7jE^$lZaVHS%Q0LtFT+1~`*b98e9Op*zX z!5x+!-=Xd?qe~uc-U$fE<hj;OJNxN=iI;_^GBREL;M5>Q^{Sn&v?7gRSF@rc{I+lG za(g32c4d3*%*yTRn1u?x?4=?XWO8zIPl`*={%$cq0;0e_$ocp<0YC2K&ZdyemqEu; z(-iaT%%dOMC2U2H_b^(1x~A!e!>C<}(A>t-s4NM!Guf~Fv;BseT8h`DX*bIk%&a!L z!mGJylV@cG`=yo6Ow9c1E=|Yv8#OM7bLia6teadShr})I?JSpDyNZ;%QpikqpBk{n zyWz7jQ(w!E3~$?==<<$k50gYK2@*_uXU6kyuDQUov@>6|aixg2y@4DBlt?7;#B6@S zG^p4W<CJyo??wl`7jPMk+yQNPPBZNqu;+Y!fE*(I03pu)=n`7zvODH9F*TJmZ4ewk z^269|C1d*(;hL{8Zq&MCP`8vdoCohLaGRIE8m4GC?C`K#Q=ZmTh8RC8Ip3!8h@k6r zm!oOiEGvoDx9iSdRZHl#zM21=EE}yeS&M;$LvM#PBwrN;Y-oy#J{3W*e1q^2`EvU8 zk+76uih3Wzxm1LpU<6{f{&gFdBzksyh#6Quf!<rH^f2yezqkEbbEDU8qsvkA4&t)X zM^nm^CZ{idag&W<vzA+Gm4@uJEXWi5-Kju_-jwV+pfEk~tN&+|R5J6$ur(F2q~nnl zWat>;mTQByd7Lq{gEH6I_Gz3Xg%M|tq)*Ug27aq@ox3i&Dj@2>vwm;x@WO#;dW9d5 z<=|RfcP)RYy1cM&WxKuh!Z~76Ms$0@nN!%MY{Qa@GzjlQRQODy6>x@?Aoz*XPmRf* zd+6Mm2<$~B7ne{wXY!6iFtSK;;_w(v$b9X9PcYp(n96Oyoi>8gnFv6-<LLL(WJ%<x z0?LWVLIC<AQm;P(F92p~0E>u;UIUy1{OndaI#wFI@M+aPR%2bXyFE1weP9k;l@)_1 z0qsmx$zr!(?lzUurTvR`?nDJHqb{f79QnTlNK(9;o14eq>rZDr{)4E*RhX$^!5|nc zU+Nw9<4p8>Way2Qdk>rLs~P_P;;cew%E_KH`4Ye~fLsayZDvC6;MAqV{2d~r^u61Y zNq}UH=Ke>lcaTy933#2Tz^kLJeN?|kc&}6F{__l1{vLGh0a#`b4u<8QzWx^%0}lY8 z*SOzK>dqEHE?kfo@L&BrwEUpxqK^Yxzmc@R0|NE{%A_|l^ijbM{2yekbol-A4eiGI zy4^<po)F{R%7^3Yiw5qdg$3JGdw>s*#|_4p9F{wAZ~nfL6@}#!#N5#SS|5jt1z}0^ zVpE9p8r&1ehMWY2x@=8kB*xzLbt9Ljcx-ya?-A-*&fTc``pTx~=S#zCJx)RQAW|hH zA2ll@<86xk-~Qa|0dA^PcaTV(7eDxS5QX=5RI#AhqOIXikM59S06trad{wv=^{DCw z8#5gSAR2PpY3o7?DFVlRg1c*zt_uN#B&4LTuM*zv-vQY#z9eGY!B#}0LIu%W#WXOj z#1Kmv08_6I=Pm7@6_z%_jM_rtUu%F6Fv#v~!*1hciO3hHJ8HkvBUxRHJSZSmHU565 zktIoS$E=yryv{9z`m76aouy}Z2$Lp(uIc{LzD9kox1E<;YRg^#U_LeXq!=V4z>SkZ zw|sp%S6W)?b925rUTV;<c<(;W!Bra0d#nUc|4W}>qcttwef86G;8B%bRgzG)jr_cT z`(D%FEB&RR@Y@mZYb{~<Z4a=D;urGgf1Ad6$Q>*&0GAn)@tM5dux#{#{v!r}s%44( zL9WSaK30Jj?keJQ#}QT9hhTiKUb$v9#hJev09{n=bDGK_w6ioE&%ZdIM#&N;>UOUP z+>P744BwCN|5=ymj%d`{*fyFRPFH&^+@oDo>YT1e5T~!UAW-3pr!6$$yiJuR3wYNx zW&6OP)SmbJNRL6=(sY(pX8L>+KFT!V{v*cKwa5L=huH)8FkM?;rPc5>Rzs|9x5uV{ zB%D_U;^Oz5qvuERNc-9Hyhjs0u#g3L>LUCn)!_7PmuZ70u|VzSL$SMfrd7{=vO^Y* z;NA)ST56}<j(|Jf%lJ1Zwkl5gO#+cJO=DYOVzg7v#kKu`fG5s7U7SPj$YxoB7jTdb zt*v-Hzj~~ERIn6yzf{Z3@2$)wwF`~y<_ZV<{#M*s+puDoy1Ix&GE()`NQE3$VYF#J zRK$?*2T)X6bA($05kl?_60w2Eg$@4d7(@!`%kMk?qqSgUVEc-zXqalL%~GCzijeG` zBXWFvy&7_Sj2SM^T)g0-pkL^NAMBcWc&pIls-q%iu3ZHrTglrto(AC{!fKoiW(OuV z>hyVs$e1@St>!knMLEP$5<hsytlq~M06_#Yh8>wKccCh=>q*-Ug&<-!@s7QYjfk8$ zDsRK{%4kXDy4&`^KCK#Fnk3;ap2h~Yw&;Pi{ecb5Q?l5SmZg>LV4magjrmS~>v0ws zPon6-9AKn;lIo&TzTaR+XnXlp;RN^lU)QAI`RZ~Z)hEY7C<JSwJ&nkxv35VweQ%#D z0Eg~g+?CjnP{*AWF-Yp>B{Z1c?YJ%GY#KdWG^I9NMw+W1wpl`*6DhMj@uB&{JU^#- zTZfHe@NLl=Jm3w(eE%H=oBNI$Ny~~c0tej2vUFd_(Axt`Y}T$cll6Jc!Jcb2I$T$} zu@6h>>2~}6uGdNe$bB!oX(dFA#OQjpVfodKwcHi{<VpI&rLv%r7Tv1a#<DWd<_1G+ z|K>qaNotuyR`f~dJrf-6e0A3?OL?WUu&lDOj1p(W*8b-rpSZ{$>ZowFvWLb5rE_ER zuYWZsvL;PWpCN|6PVh3Qo7xFjO$`+vV`4&dzV?w=3l|o)*VBdsKLX;xlk4mk;ufy! zK;yS3G*4Fh^vW};sE&ceN*K6;E>u^U%>n6t3k;yPcb#rP$TutveTs7!UMZe~6}FwW z^qnYkLoLihnrV6ZVO;rGF4H&K)%(NGUB)v*<rfqBJw><`j9Ql|64U7`)QYh-VhTQ< z<~e_;3r!bU`l?`Cv0n_@@maKT61+~C+ixhp<g0ZF@Ooah|GeI1{rO5v(CJl<p!5IB z;WpJ8@kZhAG}A-cUm0JKub;v2n`5`yICz9O1i=8cgE#pkeq(LxrCvkdb9pmApXz-t zX<FeeWh|e(p#o)R7%?fVj3&|jv`NaG&SMzxk?PC>?j<%F;sqcj%h@0SOr|@^eL+?T z^EQux!ad_&(5fu{-Sy}{A|<VBH<?b(<Yxt8pUCD(lGP9e^N(^5(v01nq%ap3Gc!n8 z>ugT#8*nB>0%4*NLuRCJ@L$Rc$fq>M{p%PD$&^t?9fk*%lPy27^H4vn*sr^Y?7~y) zko<;~&)Z|}?BaC=d6f>;mr1_c%jxNm_N!Og$H!QbH~MsoNk;fLS0<cF%zb~+Ho#PA zr_VkTO(&h&Xdg}#bu9&A6Gzpnoi=H$ub4jhw0)aA1!<Blvl_T2$v@sOD;EdSUcYh3 zAW{yibGjx)c!2mtUUJ>Ld2qqxC$3|?8vR1<h>+UB;{3OtUiq`abK^r|>!K>1!l9om zYn3ZWww^u&FVe(hZOw*eMmFM{;>Rr^15aDsKaWbx-u{$sv{DM<m^xdLpC4&4@0HWW z-)PdU@EU+qGMxcN9h|i#WQ9hPsoRMFvW9{qDaVmPCVrvl`hr_|YaSqXb=IS^bV;+x zTh?pUy&qV9;8OQKDPJ0^yOgMMtJX2tMeYhg{!Php5wr+AoKmwiJGO2o@+}|G^9ptX zq<LY9)Ghb3tUK6OPn(EzU;BdG+`~gC=QOTfCX{CQyKTL^l+gK0j_I>?G`itvi@u4o z5;}DdEPog3_h&Y(65_MtpZC0Fc&^gGX4_v!(QK-JYezfh*Qq=!$-U?4$P}sX)$g8I z>*tTUjq_T-i9h*42`?Ulw#z;)-g16U?$RoqY{%~WR9`tV5)pCnyJUJpLH!!Op$UhX z-EPD3kPSxptGWuI+o)Ryqs`=ndO4Zrl^!u}+c%BDUfORQ?|0=RT%_sT>j8`8o5#~n zLMSx3E?(ew6!@lq3Z$z^p^CMpqX{h~qoHNE)3Jy_o25E*?V9VAi82c=21#0Q$AQ75 za_`)_0g3VOnxiJ!h+5Kfn;bZ@9dx?NAs7~G79SFBr&eAk-q^SM*E<DP&(}mGm$f0J zfV`{!@gl*lXTuz^?q`3FBxRXhi1DeU3_E1!Kpt=!Y*_IY8&rVDkY7KH`9`YIl+t_i z@U*~zj5cs%L#6nSF54)#e3b3gve%4H3aIqReLo2ffk2>ROsUI649c`Yh}_;S`B63A zc&wVy7M3ct{Dh)-ud^xn*Lh)$KYA))Qv@yTHL%IqROQUK_~xZ^Q!O^p#wBBV_4!ck zEX+?rA7uCeCz51?BY67BFOlM!RK6epx+o<fYwIVe4%>3{6$Ey$^NcQUC9V**XV)ke zK7WlGlg2BbQ4vnz&sa9OPUca*ni?qYv@s-q8sFS7^HXJOn3h+?30%=2oYkhsysbMP zH-$epYD+yZlj#&!=kfT1%;MWW9e1&Oz(yS?I^9#aLmDk9j2a1T$k`VcRTn(rb?7Z4 zVON^7-LL+C*n8`@s<yUmSVE*5q@+7UauI@bBMs6Zu;@j1gGftvgLFztqaspE8l;g9 zLAv7|?C1Hu_j~U9{s+GIcz@Z)-plQrV~%-^E6(%0uDSNeen)zySEZx%xYGXkD|y?# zMj{0c<%_pJcMQ==R_B321n)Xihr@r}WFe9(C%6K2u&D)uXK%UQqr-A#1at*49>-7o zegpqpHhA7L?LkC;cT^|*p1!`yXtNbMqp>pukN=qm6B|7QOf{(Y#^^?-#wuf&n_+uz zWDCCN?b*)QlzcB9w5MGhoA`8Jbhnc`6g(L(({y-yt_%c9e2oqL+>&N4QH3i15H~UY zA+0&QH>=h5vp)fguC=@|HSwWtbF6#ZQ_=FhUgo(QZr|Nix6~m>ARZFOBvgbhSc+V4 zAId-fDVB!}Dh`G>EaqtcwLbue)UDH!?ENRn1b_G@v4#DX`O7Sg;(rBQ8)SSAVI2<r zMw`hiq@R@q>Vx!`4<bTv>3`~n|NF21cOU-GszClvuCD&?v;F_ob6KdEe0z^oDEN=# zr4|VS>~m97Q%VPgYIivD$w%KEjod3@Ff;`CWn?^o>p%6c4kJ|BFIJ-P$h8WRMG&@& zbCT*f86Q7{g*ft{XTt7skY@Y2l(}^SEq^d)<fuYJ0T}^x4Ro-i%ciZz6SnG7p31R+ zh=mA-rC=a8{bh`Toh`J|Z342Hb>f%DC<AlO;e73~A57Z1XUG>Xwxvm`{Z>q8$6 zV1uF_#+SS^&S;i_DApVG5rMEz3x2{c3m@x8Y1I{S6Ms+z<39{uF)2EMrHsHA*M}DX za*fXfe)4=w^vY)odYJAa3lKz{hlwq!7DP-HTTmwfm#5&TSbXr4)pw%jb6e2gKu!xT zj{+{wUD|U)jIc1osiF>G<AG=p-=IXZ$18c6B9?OKV5Ou0vK##D?7~LYnobU>eh`qo z1OF2Z(X)=UEvTz@57;8sIPgnQa!yO%78EM_4xnsAV7^P`!IN%dU)S+rWU2?J4??H4 z+VTrP3g;mI19DdCHSS#P*8G)67=`DIunpRd!s{xv(Sa<01To|Z&RtvAbz9De7{o`S zhP_4_GFYd_LWoRFjTmq_Xnc3(aDPUSd(i_>Fc*|y*hX}<0jCsXuo1MOBU9IU{56Uw z{!l0zyP<@%FhpwDViXQbv4yKYM-?-<JX)85c>G<==D~91v2<PcrfJo!=2L6|o2y$7 zC0&?rve*B~I|9!dP2LUNg0@VtuY-q%b=|rbW>)Cb{7gq_P3LKK?!aAOpUx-(MMgIk zWZq=svB=4Yq~N$1#6?D@`e{Mtx?X(}1|lvA4|E99c^K1mx7(G&WhV3QSAO1cGWIv% z{@VCv<tb1{r2YG{qMo;IF}=F%Z|=I?i>H(Q_h;&6-WbW3e1c8!AO3QU|7ivH>+9p( zdjn%Zm*SxRxmBz|ftXu<+lt2C8|jva7}qVse)~;xu(r#M%&vn_PGp(zl?a$jzNVVf z2t2YJhK>=$O?NP*?_eDYZGEO9dfBgH!??HLu~fy<Sf`b#57__t&&h{cTToJ+=h7i! zGX$RdEt?-Rmu@y7w+vc3n&LPw54y*S6xTiPZ_jU?3NG?MH;R@fg=>95dFEG%ydhL} zy#~3A3!Q*d9eaEGoC0}fqLV(l*qd!IGyz}(qXaZ7EUlz?n(I=M5Vn$P78c}z*uYLh z1p+s_rOpM7R$w>-_hltH<yBS5tLv%8XHwywkuVu#Ey2+d_&}Mh0(#I99rYke#togW z?@>RKNYOYY^U>00r@~8=4A_3$ChI**>$au(Z_zDi=&MJBRET~VVqN~X&s)~;w^zY? z@=*~t@>(Yvhc_TK<)GrJjKah7SeeLLbp_p&<!Mx*$h^|pJkY=G$FG%BCsRyw#y|xq z-wO8AAxF?fhDz*j%O<7DyYP}NsFZ3l0oFogR%`J`TxK4`Fzjau+|_SBNeuFw=8tO# z#muv68VjyF5IcL*O1+eZ&;^%gS#3erC-@jb#nSOSw~JCgMrRyoXlb2B8Q*->5IU87 zby}uUR?iZEwQ1x6=lhSVOX1LGTzKic)`#PNfaJG+k_77s$6LDH_lVhi{M6uJJoj$m zv$5~t_ruj6KD3qs(h#2RvLR}qYT3<Jm(0UNRmv5;b-3GbI7xQ-Rcm^CeSV&_Wovw$ zv1f)&#w$0qp#08yyts^NCnD=N;lj|P67CSN?Uf!1SV7#>dG=*pcc(QK)T_NQ!ocS) z;QIkJLk0$~!{W<T7SpP-GOm5&`>ScoY_}A0!FuwAp`j8)NgxHObdAIeI-<@K-2iX2 zx(<+N>-D*}mHMSuSKe5^Z4QeMU7Mvy0o^XRnYAkO^N$RK=eVp})wLdxEt^&{?<J}g zS(Q*M>tM(EB3m-AMxfHD`MQ{Bou|p`fYS=&+rh4zC?{j5??g-2i|5h81IDgA=tYr{ zAuw%CH;p%_CxVD<I@Rq5UomcHrsOJ<obGNe(YaIRVyRxi3PmoKL(p#zzTw2g&e7Z+ z#s=IJQr-6TV!GvJ=7+O#AhzmS^S$<>8EHnf5{)HPRpb+yS!{O5y~*{zvc9Y_Y}4Lv zUh<#oy@WgX9|Ieo&H0%nsL_NswB2=o-IY0NNS-kh1cPp91m$l*A8QLqzZWy6IRN?s z+ulmvQU9_A!3Ru!{T}$y!OhU8MsYryKePEYIWpT?(%cC&-f5J)X88*I50>A41DE8p zEhuw=LR273TQ5e#2=#;pF%#mDvba6+R7s_&Q9SKt$>*=gCAmh!ehTybA=Ulw>MhqN z&i9wO_qw^lB4rl;Y7Q#6FTBq$hXaf_l9|3iNjL6qm+t$GWvq(wVYw%{ciXuJPQ3i* zi+<;Z(sx6aqAoz{<D)+47zu+0YNU$;?rTc8=)G7jwIgr_inw7oRQuSi8Ciq1IYYao z&7F3v8J*4<<5INwHR&Epe$5=KSEsu~rhwxZn-QZs;4fYZf?cI+e#U9l{f+bJdl*p4 zeBP~YYgp~CYF;d7V9N1r9e-<Kqf&Qqu^O8xFtym$VLsPnA4&aq;)#YJG5Z^n5Q%@^ z5p^Z3F`L*IZus!HO8AXO=W#Y$P5W4u|G}3h>fZpH^DC?KY}QsNS$nom=DG>CQ2sX` z-5Z#(y=p1a0;aU4H6GwGDx3x|f<&d3TX(Ay({=acIX;1|XBU@h&NRrPXW`)`@Wz#> zQ{{^peBh%aK+QyMjDovX4;UPzC)j<5KVIF9qJ#oIL{%yo#OBHdvXXY(ElFgV4-{qo zMZy(7phmkI{^xB=Ga7DkmP2W#ulX?9oRUnD$!%m{xt=R%_n5TgOxZ{aO0vaoZ%5&g zRo>{>L1Rpghu@zXyN*g{^4lk1D;(LqSIK$Fk}DlWtV=ah(pYcKq>}T8OJ{C&w){dd zg?$v7?L09xHH+~d%x3BS?wk|Et=3kdi0m_XgWz-|{$(kZjbG=@I_I3}Tt#*3j{eeB z3Rc4E$@X|;%}k3-u*cr)`g<q{qUo2KCd?1{!s~dN5gpW<xvtwxevI){g|fxmyA!5N z`*f6qSS1u)sw(-GtDOpX8T+=O`-}yDp8#)M#Z1e__@?mR_Ej|azuVD4&HYskWZp3( z0Kbx}Zj)?E`2OZN;H*A3UE(3e)%mIDEAhltq&MIjm|66pSh(l?+hTwPcQkQxjaz_o zWLv+N%kq)q_1$&X{hXBQwEFvbd-K(in>jQBMyq?m?P4y?-H5n-FhSve?lUm373K9~ zkfAvI{k)2uX$nV8xUqJRI~}zgp}JXqBE)wc)uQoUDa-%%%Ft)8k*r)R<E)$+`(NA+ z4d~=ESh2FZwwkua`ZYVW<h7Zt7xq?V{RNx$nt=C7X|-ObZwoo=xkuNvA^a&iugF@& zwxBdbM9lk8)7F!ZL8-#YtxqngZK5=-MFJ8fpXme8%2BlT`@3s(F|#?@a?2_tme2?S zrX9NC%!$uVt3L%dDK69e1Q+C`7&E*JXKAEIe~Mn)oqtt@w30@aj^H&QZ>M(M6v@n< zzVyWQLzo`oQcgTeOJubI*=X<z0}vZgTO#&04ev}=B!BG=LTU_ZR93)BEuNj#5QMdE z7jya_MmdwDC(4UJG+}<X6Oa+M>dz89;V;G0K_DISMJHqR`KtGAcXXg@=jF>By}G1H z*P0x2@`XQWBGo`D>HS)4^;1y9=O({~YALM3m<=*FNDgq6_Z1F#&e!L){CNIX<GDtF zLX~`vNy=*#r_2<Iv=A*(hU>&jr6h?wCfkA6pAu@Py`{C&6F~r2Q1hhEfY8;ixjSp_ zn%pszj{5$#^&_s};m3%F2^B!%Mwl3wAr|vlZ@g~5D#o7bHn~Jpd0;sQ%S|VnL`9iO zol`2rZCl&wZutIYc)IJ(O}+$qqL|=&&_mV~E-);5T{&^!0|E<h9chAoep?f^$+Uy? znj2|eXws15;CLyJcg~~o^759p)H7ntOKDddlu_5uG!%aYI>Z+K6E@?^0YG3ofY*+p zG~uS)ETJ(TdBUL-5&cYfs^i5(4D3BEtLnQljglRNk$rx(vFVNS$Q$5bUMj3n_KHJ% zP~!$ck&uJyxfU-wF`v#rpX17FeFo~EB%zN-(_@M;-)B(4xhvrlvIO_owqhMc!g-m8 ze9OiQSDLN=DYOex7k5rfw?Yum&<Vw_lPg$7u9rWyrOs5&-=gL`hYkZ5lfy&*_@9@b zv0UCXs<eGbU+_s+_)>NX#~kU4lqyD<;>J+=YHxE2Zi9TJWkh5I0LFRCYOy_@5<x;; zVXi#S(j~4z=<m{&Zo4jpel8@P?AmLZ<L>F#!EH_FO!$ZdiY+m*fzl?mu&%IDYWWiR zaV^Pu(RG}Fix8i-)7@z{Jglj*Pg*5oSls(<e>>ZbMW0PA+~$+|j=(V;(aFq<J*~H^ zwQZrD@f#Q{89V3cmO1?tJe(k`8ofwBeW>yftmijH&jlMjV`5@p=wvxsOO973+r7t~ z*ZUe2Jkaa2Ifuax_dPvGCvi@n2AKz(Z@P~+j@*16<LPrv<Y#1~r(w_oagZ>vxW*Y} zDOKJ62)GFoHMRZbq}9+=KWbpR7h9;+iX(Co*9)~kQW!<-N_a{ewgsgrO<+W(#tjWD z?kfL&-LK+bAmebn0pDkU!{JB1H-|rBO1LU5|9m5%Ij$UO*eQ;E3(_u+L~huriZVuJ z(==7ammkGhG}z*gX&pC)NbM`igFG}mw(o2(jaLu0iFwyW9JZi~@d?!6Ch>vAzNHMB zQ6*hDu;tyFuIDN-6X_rSG*D%u?B`n-YruZhe&IXVhnh{6YZXsUu2%<?l0QVXE!4Vf zW|t`LqSA#GUNIWdNj<}sCpeUqqQ$LQ()^#pV8pGx@>Gbpa<biauQ>GU)Om+r=5FTr zyv`x}z%wm+*h3)1XRH2)kQ$<!m=xT3yXR05<Q5XGZ{{rnDGIq8!360xia;{yJD4`K zL&F9&2{8!dcGl@KR+D~lU#K98u_9+_!4sn|a%4`;eY8t(L@)A!Uk(xsnbWu_T1bme z*)DvH*7x9Q^}4xm3a~-}6DE+dj4%_dso_uSROGl^f?>po{O6#MGeC6bj%CO1b8IGe z{o8Rqa2K1BMWRyZoq=1R;Q_1a=&{QwD5JYF5i;w=+;w=?*w{D*=k)!JF~w8>JPB&K z*r@rrm^SCh%U>saTuM{#;Re)`Wzi;9+-amywNB_ep!$zY?Exna6WP4paBuM;R?X~7 zrOrDKa^&9MZ0<FJCy3S*?Yf$*F(5}}{7_6HZ`tUpg0>Tq+A$*JzCT|^?RVQCiU(2? zDb>($#x^e*s;XqB4%-=PiQJntCcbUG$#Th6OrNtqEK-y=)<Ap9_#ip@PLrpt#$jY@ zTfykL<>*jeyba2(;#05H7zm-uU<$|4<;<`@@#m6=Xw(=IE{V}0V%9Ug)seKEU~`YY zRVweue;f&NhpIejQKnu@!8GN9bZq2_+G(l%fJMIAZh|YtOHWn0<D(mp$`$^;LbT{r zCSGv0erU5j0)E+U7T)vWbL;jXagb1i%~eA)Fb!B7Klb<{!_<$`oM`esS((d*<|M2- z?8egGNQt~qQXVI{B^mpha1i-uOWS3~1KTGY&;HEtTbR{d6hu8A<1rJ7`8G80(>*?( zDgM7oCMkeYIMbP6p8i?tS_)`+uN8CplGHG@<0&Ng?A;hP<CLthOc|OV5T2~j&HcGr zwg{<|+`#7Tk{d<*u{$vax*H*3*7RG&3<l<5T;9w3<<`Bw`D|x%33#}M%=VV3II?3Y zaYWwf-H@-3NLGA_ah3lKG>&3<VaO8{@`H#v$_jTw&zaoMm3(T3{m<%Wokw#hh251R ztP-kx!3R1U5BU3pcs(lwgq(3@GsFMMPzith`1M@Wbt|qTo0zT4UxblUsdPifR_gp{ zkh3|y-dPS(l*TuT&EuV=btUy64#Uk3?A4r{y1hH^IyWvj)SppF?6St$EB;oZk~_t) zUz{}?G)n(Ac*5nRq*(A(WTB+fO}^lDUZ!B-?(fiyrJ~uSAgRm`y*KNH9oki~ZZB_7 z#?jHU6zo^m1`i*?R7Px4&4k>8h9@wr`=L1CvzqN4T&)?$c>Y<8$7{_Ij<7x98<kXr z<P$-!6_FOCEojdA1w}VZ^NsjUj9zZLzzDqEWQYb2j*;-P>}lD$bOvV?p}D&XPw<+x zHvJ6m?#|BLZ>l@-MhADn=DWwvU<fawVjZ|0jY+2<3U;2gU<7e8b4GMS#prnJOP7dk zZO`KK(%URSmyP{}HX@CwcS=g<HBejTKFpieI}z8yOcCT?iGx*cQlt*XpWcRcCJZ_r zJ`_m1rk{auj1N|`xK*lF`0-=8w>|%KqK|YJ@j~>^$TR?7Q6p3}VrG@+_W@`{HKbT_ zN=js!tZ?6B!7cTs3IUnmM<cd*%@u%}g!i=eBCI9XKkv8hy3+X-Ig9x0gBcG$YnfQK zM#tzs{S0H?qpI4<0#fniti7Chp@qgRs1WyqK3xsf3R!EMz5&b<uPbgU|0KMb<ub8* zA_YoA9KsV&8xAh94>xGfpK@u6M=l!`bW~09lgXdj2|)|wwI=`8W^13%=6rqt!3GB# zGa5i0AQZ!7g_f{kSW#d0LsDfy2RI9=yMwR{diS-y`1X0`x3mw=;o&SGqLEl6nLPg4 zJIbra=k)4!Tjf-zDmOE@cYdvGo8l-5dw@fk7q9qrb~*AwpL4+NuJQB$;U0T&TF~A{ z*C~?PQ-fdMG+gV$9v%C)P|{B}Uaq8{_Y~5HgY-p;0#%b6p;0YX^r}?$lpVKTBcegc zg{QK_jU-(oRt)cT&P(gt^$|jBuYtgvc~HHj=vT}tBUh=YJ)MkUZ@wZ+HE@pDj<oTv zVrp;%c*pNwXQN4@a8W%cb8<v!I+G+dC>-%`Y0(xLSK^Mft#tr$6@%Ky%J-;K9orWR zsL<bmq)vRf;zV$%5qjJ%8eKT}1Wp{tiDc!A2%I3dzAdA0-}oU1p&bXC#l}B>iM)=L zlMxq&9JCV19zda#LHTmTr<oPC_ZPAE%t(I{Uh7I9ry7bVb6^6TFGgL!aXFCuOL!Tf zMh;YK0|?w4XszVVHecPhkn6(C=zo6@-aiOnJ?$C#%hH-|oFn*=vA$vW<#BWqWAk*m zdbF~%hz|E;saAJgkCi0G9&r20X(u!z(`eCDuZ*fRga&gnb}v?`?%$;RFgO-%>eDgy zYaCj#pZ~1JVucoQnkuO{!T05xe^J8RbG>Q3_DqM)8L(;EfeLwid~yWuUWz{!kp`gz z;<A$A#yIyKN*hN>10R5amMpiOi5bh>Dvk4zCx@H40irH8m*^mslumG^R;@-he`|;Z z6!BZoU8P2PC`0j+;4}FNP5pX|UqC9j^IqYDTh(d2sYu)1&q-Bs@dcyH`<16%2b|WQ zoX~%RhY;se$RLZEt_{JH?eN>Kl841i-fuv<;w5X$GlZ++(NB3#HTz_7Or3h|M&Znp zvj5mfSteN#h;ux+!7|DghT0vk8_n)emo9&LOc=lLF`l(xWSj-q1T)5~GyFzrz5Z$q zKEKv%TSIsc7f<lXg2vO?ipXU#NYo?21L6(0-G{<4-MKg)t$sU#62}ZW(4j!?I`C>? zE}Oi56XsgKi7AhOXrUx#+Ye_>AF98OvW749zs+g-ej+=PR(>XP!p@_{>&C!aTO6Bw zhVM77StDMeXI6lsO5kK4=VW!;cEhlelPx4NdgLDo+jwT(gADQjqsh-h$TJt-WEOW4 zIZ!6;UCuD~-$`9|#-DQ@I~V?!|6;~Lgd%Y^%H2VHiBx@FvdC3vPGC*MRhIPO%UW0W z>WB;~5h}a9bIrF6((aIR!Kj}so@((?=b@5M&eIO@4n_wtmYC4tea|UlahOzM@Vo%j zh3lT3`Z#zq_x+wxCMOVjJfylob@V1m-^(4W_@5spjk?oY*z51IiR9ZHPV95&)=9C6 zt=ED(*#m;($m<vm*<%Pn!5TXv$nHEEU_+nn^lQW7#!e)7Z1{iy<^|^zWIq0$N#o?l zrQ@b=OTt)elzURUO><~qWmFM)YzIaqUOY%<K|2}6Hu?B;=NaGh(&w0z4nT(NJl@hM zW(wBQ;>p_G$7nM7g2)#^6>#&Z!yI6L8AtgVF0wl6$`mt*V+=yPMN>vv$WK~zk^6$0 z<7V8onp@+3#8Tlzn}{^3MB2S&c3!4^OU_{oV!biF{1ZeA`EFmWBzBbQ3;=KFlKNx3 z>ZOg_7PJW};rb0@?&r{-fBuQftk?HAb15m7t3Hom4^}!4-L+|qsr$N##=6DQs;k;g zia))ZQaoDT%Qx>dt_+c<xQ*wFQt~ObYO|IeZ+19W9-<O72B~GITmm-oKtkZ3>I&%$ zQNPwZn}w{BXlP~$kpGt9ToiHo^%J!E-+CKbq*Mg#yX3k&^|bNY(6!87@4a8=47g0L z@s$>ZHowK%Yt47I{T`H_|8bl4|J_?bC;KmD%`76)-u{SYHsw{|gY9?kWnLk!t}PHO z3<;~_zY`P0`+U9MW)UmB#5~E{0SfS(0_)kX8-TSmJdI!!@|J)LWD=JT8v7x5$W%w) zd#0EU808Xgv26UAsdxJ!rsxf2C?o#p3DX<_&N|Oil0fIFdX442NvKbR3=J=VK2EIH z(0txk;1a)nVz59>LO>uLNR&q8(c7gGo|GBeL9#K;=2BQ@`8(g@QdCZ6pLqWe_orQR z-1{efWsn>1O2Yf9Dyg<Uz~bC&)k^SPpECZ+`zkmBF1J_6Qkd!2u+qnm94RS=vBFE& z7ybE)>E8CU7XM)qL3&DZfmaiLqT$myv}6UFjaYbnlkyFyVgOK)#$)+GeZ&TF1`j<e z<f8yS%x`D5$v)G^G=E_WnvZtgastAEj)gf1m^hlp=L(!zXLPIL#7F8J{R)h-4<BC| z((UnoAXIgif^WysNH&c1p!i+SEm88>B#9({^PQSNG2H+w-aQL2bCbmQEd$(Fqe=<* ze!=z*-7zjRFG79g*ih$z$4Mob%^%ILJ2S6mpL3`&T8wu$#-4NDA8}IpG!3S5>Y#(B z&&g-WcKL%uB7UwsLKWx{5io5zX$>XRH5suA?nYGUOb3Mt^UChT@C_lLQrF9Y@+i;D zxYPA%2J^#tMeFjJ$eZ{zSDP~w%s~;&0+Q4Fwx!!@rP)^Tj$M#Oqz0fZK3ib_q5y;< z%+C;aNNgx8x$Z6}G*rB}&q6tUzt~+gT8}fLRs47pr0r^BSkfZJKi37oH1g(+0h``R zOTh^C53Haq(Q_35);3O+(cS|I|B5^@Ba4FgZ`(#-8#dL^)3+pYK2N7o?-u&wD!ur- zjZk$<kDZDAeD9we?f0!^q+VlT6R!GRt?^OYG5{QEQ<=wD_(L!$#Yi*4hRoZh<<|`? zmebLJQ%7l1MN`S6<b|2OO1-)APk1EJ>QuuUY490<!KJj(L@sqR^iG`ta!(Cc9$ZBR zpMuO}gX^ScpljA{egRZH{$zC+tU>y%u4UVL11Q1dvhM>4%NbaYP8{CWSq@W%>J`od zRw(c_T!M(;WZq@CrOa9;j+R6c{re~Gokfulzyth$cm#yhz$rzt%$@3z`8sDt4*d@A z#`!w%Me$S?s&p5fQZCrWUkMu|<xo8hwBD7t8G?adRg=c&?f~1=^u^lTsR=k%hCt(i z{ly2R-tCRR$7<-DQG+B1;<ymt_lHaC0BcE&Ocx2ZxYuZETo4%32vyKuxArOK52kJ7 zmyThW+t`3gd!Ef$y5)Ok^Vd;u3w`XDpp*TeIl?piauwyY8h}-XcMP5$uJy=lq3q&$ zX~;wD&-}DbGT%*}E0m>m8nV91pb&=53qZ{32r5){S>sBE@cOF0ydf7y2{wolOOTKr zkyVneodVNLS4Upby7>^nyHqC#>eE0D#btdS;gg@~SCG+1kBlzc{U?E?@hH>Y!zW2k zyDT&d#?Nb4@uB=Q{>bJiR^(JE%8lU{kpa0e_Kg2Sm@m!xGv6|P`qvQBI@5Nec(A_( zMbk#t4Hn}<Yd;xNOkjNm+J(;MbwD2P;EweVq!q>4`74Gx>Pc^3&f!DhXQq?=Sy5AI z3nUZeA6+@KZGI$n?^i|twJy~j9r{({Q)2|O^$yf7UWXW13bZ4R4V5q^u#!}++|_Qe zea1y2oiVO!hVxB<*QoT<7Cc^jpBal(U8;1xI42~R^2=APs&%%K3<F18E>?|rCEkUg zno8<i**ZA)wa;1+9)Yj$a2^U5WHK0un}ab#jI|&n6>5Xx_IQ49VMHpVfvnt(uJ6rA zO~9?~E*+0Icd_N`NmI=X+v)1Ye87*!#inOu!hR5tuJZ^U{;7CNuub%&b%yPi;$`s` zlw}&*D+G}BR*qV>O1zFcx;bU~#sRmd0D#j`qBQ4H(Fn2gk7jsxdAzAlm2RJU=<Z_E zAk!OQS9<m|h0%t|_VVN0p;TRk0QBi=AJZDJTBDj^^+7<5+we*FQ>&UI-XFiZFRU&I zNROxkY?F@fU!NtO%h6W+@1MMQ-eXtlB3))?YbYUiwdmEq94Fx=0Vyirb?w!sxSUp` zwjbh=g`dKgAXth7N0KJx2t1)2n;R);g<#}e?)}~0`zcH+w9?J}>Tc_^%GM(OU^N+! zm5MgoG`lT%gsM>_!=iMFBd%UMI3*iD%Wj>ltC=TFEKPV-U2_8&%c4#2||0LVcLX zkt$-uIR1cTzbYAIWy)B#(Nan@;hWK#LQ}$~@>;{Q&Qh9~#k9q-wP%CAo~+R<y-MTP z#OBaT=eN(G&~qpdZWZsXI%SDmEw6g@`Vi=3|HoT<%#hbocU8xtOd;y~dE<xoe$m;N z{pTHyza`{<gKliQm7xs2!TJ=bxfpp|<*jH^9>N{@Jt|O74i%f-!6C{@r}Ch~=%vo- z6-(>Pu9m6|DOh)vOdrkz3X$EjH`hE@U69#{xg?KefulX{|5N1L03rvQlT4a(1s|Y~ z2jIOgAOoCNZQUaHDmTIKn}UAyYUo%7g8uMECQPVk0|+pxWV}Uyh`2@vfizGoAFWcq z`87b|u|4-Kz*((cuy0;C1H9KFmYd~K-+ez*t|qNJ?r8}qzb-d(|MqqP8tQ=?C!_Kh zn(E~$?0hIbg`%EvHr+AogVnYNN9KyS)?W;@&>=@EiS3HgYXxPxJg|qFaVh#4PCCsh zHrfWP!TnWu#>$0!CEWD8WFm2!?Ow-8Nlgn$`UEll7vHEd(#~pz$of3LehGO(q})qf z84v+%4!<UE#S&+MUDRbCHRvtAYO~scn0zv^+0|d$p68UY*Y>?OAukMz;9rNdW{IRr zW@)}>Wz0yyf^lBm)YA4Tw7+chmVUeUe!vg#%XiC9Uj1scO)an%s%C012M~QiRmS1~ zN$ZUMS_>yg2bTAmmr`C^v)V0VXX<fVYg>4~H%*4rheYg|kdg9*bnK)kL<In%szv%u zi*pgo_2R(POF@fIxeqH@|IF@wZ|P3C7ne}^?HU@#3`lIuD~g-B-^0#`z4kGJR&Yn~ z6}KlIF!icV*DzD~Lcq-`mF?rmd2$F$vjMW?JH9bM;?_(M6dj~1t?{ngA*n7XkFcRF zlGaKhp4e>mW3;5L3h!_2-g81_oBjWM2eArQg^-3TTcMDBzXwDv!;nv;ur6{{*ZQr} zPco!>e>3q&z#$Fq5+_*4Tn+rrSmyD_;<kt!YPtW76QEj}YzE;e0`U_lcD%WCwxFC} zH>Yr!5rY6AtynVTq2#CU`nOc@<rI6Bdy+QqG%V-6<3ci{o^Bax?^&C6W8dunTg~UP z^s*LoA?LMliN>byU}xG~cHF@Tid+eTh<E>S+f4vEJ62Yb>#rBU*ZiZSY+E9Ov|ffd zX2Ff%2j6S9+@>b}qP%TM=QhbYesSTrT^K1;a$OZilSL_mSKb}R;2z(j@WF?EAEs>8 z_1&1q1NoOpaZ5%`R?Z~VtfPhmw74%v$V~y};dputxITtdgSYjpgA$Q1EPqm5dfHK^ z3Aisrl9En!*K|w?Q2L#y73EE`xyKTzyc+{bg@4%$1fJ(M{0aOW(moo)LsVD=Hq4Xn zZG4nZvG&R+W`FO3rnjVTAFa>o0qgzR6#s`SPr#6#+Dz>!iBc^~QZdp3JKTHwI~b+e zftsr?nTLwZTQfQI@wBf1W-lr*aFE^KYx(M0S9yVJALxC`9l&nGuq{;OprLDpR*`>D z`t9A<lH4BC{Q$+txzq~{_heG#l~d&8BTzsLG>)@*NkV)c3qwN1Mo~+Lt%}btJbs=0 zN}DWDwEcejK&Zo}CMR1iCs^_8S;y<c8Y2p&pX)J{!)qFK(<rn**rRiH-PDau<cDTW z)t>;!c6(Ya-X$DHOe)YE0#sfGey5YODSD7(I6|yR|Hs&c6g@oNVAi%eMxXPgfUbt& zdc3rS!ef90;xrWGb$)Ex*36wC^Yp-|_?|BV;nSEt<#d9y>aGxJ-u%hW{BHU48BLrA zV%=W7@8waq`5ubt>^twiI2srQ*jf2}<WZ^58yU6_oE@ZY9<T&DHqM{976cxoMU4cJ zNv-AO1E&xekDtz%wP?Z>T~aaN&NEKOq5wVUgD2YjUaS+fZzGl~byG#v*}9X-$Zb;V zp^TqLo&7aPBJv_9vbfK`xx;)UPh7@p7?6cnlX?NWBd^V;jeM#Kuqa>t^41GW7ocA- zs5J>XW%mPt<;qQSjiLZ(-G1&-tD+)ie4-N>)26%Y;luY?Pu3YQHs-nC&b{l8p|<rT z({2<cYii^%Tt6U(HXG`Apu~3=U@s_Eh!&NrtAL`kakG)Mq_Jt`)=6RH$wM-|y#Sid zI|g&xB=a_rqZ{AICs=wF%j<rtn&r@grJGJm;QI*k+`9e#8agHW*0Q-e<yPeWj-~73 zJE!^P6#LqQI-yU#+s&5jEA<jB=a+t0uDjbpyd~$A^*@hPNS#-cGRPO$8_Bj$Z}Kub zj2@dmLKLAlA#>l}fJ2u4s3;7+aOgPI2671>fXnhbWn^TyMl^|kO5Ga&D5{#Fk$!Ty z=MZ2U5-lk*1xm<4ZjK5Ji>q#ea*Y|@I3+gM{se|Q)k~`vmnr&p0cVRZwaef7T%X4r zUjI-I?=?vx!OXCt4?M&l4VUVs4#uOPttXTEqKl`=_#L4K0Z$r_lu&hoEyTGaPp2C} z9DyiiB@k&@OB`AHan169vVX46^mX+_jeG9u@2vd}506)yIHiV-?t42Wt=HS-db_%X z82sx^>h0-sW&JiLEAYy=X_rv3Pq;4_L=4^x11!fpm;NT>g(>2xslU?m2(F;zzMb{v zTFWR&_Ef$q<{uxPVdUz)<?g|{k>Omf8H`MT8GCOt)L>%BP17n7POWvZFAm*P6up!< zgboDmI!WYhp^8P>b?3PJ6imTm|Fg7)F>;WPpYKM3wZR=?F__}i0;=z3ru_smezkb^ zyg=U|h;9%j3vvlbtdx2))I?Y3GXy^__KKxO@et|-*Fi5NawvXOM@fUM5cx<CnYk0+ zTi(~=gnCTr+gns@Rfi)F<d8Hh{C!@U&Hd(~EWt#wxBMI?=7%fa7tJ4IOLEovP8Hjb zlh)EiBLpk~eaeJpXX*<4D7y_m#-Lr7)?~5@R}Kqd-onXT`e~mE)9omumnA!~MKOPj zu6jfZm*CgDmno%=w4rN}WAA2Sj4&8;7+)lkA7Usl_MMd^8H%^-x@&0fAVfhFV`{IS zA{NO6ddl-#(|PFnFpr5mr?-{o=})j$ZeH|e)BX7E(`E1kk7`&|lDr-k#|mdp7qXd5 zmBH(D?oh^Y8M&qu>ln{^C8lcEZ^RBM*!rjJ$YbJp_H#`D^^s6|^pjSG+t;ebr~~(L zU4|7=y5_0Z>7>qfP@%k{frL?QE!#lTTcFfX<YL=eG^>`qV3CHToECZ3SC-TehCFph zLDV{BK^~I|{Dn&^H8K<O^Owb`Y`w0+d>G3ojZ1(tn%0{4<MV8d7XH{S$=&ZIRPwk5 z=KnxTexhgRwR1yikNqkzGO`f^S)@ih0Wk@kZLouVk^P*M{p#X-rgWI*GxVS&ycgLB zsCacD6t~+c6|)OIop)EZm@iH04cpv{>DJDQ+kO_*6~AMIip?fv@ZPppD6ob@*sS@Z zj`VsmrGwP6QG+UR#eO{E&*HZy+m%A!5V8%Sv3qBwV0@cy6!iV0N#F)$#f0Op4Vgh2 z=$Dg>HyH?i#7XuzZRH>9JnIvn^~^QW?Ye{{lM%Rm=m?1Nd5Q+65j`Jq(Xnd@=2~1V zsnRx+i{En?Yz?2_&Ud>`N2t(XCUz6ooCk|Ul@Kb?Za|5&aUHaOz2m=G4~LL{$oIxY zB&A(0Nzrez3mVPw+90J;`UwA!hk)|u%iC_+q$2>^ETjb!>;er$;SdWHiZUPGrsip8 zk@`I|S)}XK(`^Or9ayaYPRt+I6R4tSxcRL|+42sy3S+N+jX<fm&BKk=m+4Qc+x82V z_3KR8dLk)CKFTM)Da~=}B{fY<)-8J5t>IXv+@x&-j6>bBX|YDJUDsjDwGg)t3DIsy z!aUda2ra~P_jJ+c@2T1|$8H3(-snR`^y)*H0dC}Y2I*A;P~q)Plxc{U>D!U<+4QWw z$08?o*PpRCgjx(ch!|yi)>Gzf6Vt>|A^%DX?Nf3iw)S|3ZD-fy*<h$k#Zi(nZRqhV zl{g|Ipc0~s@SVmrOs^TH>}ok-p6W?(`1yscrFgwUIibUbB|nh<gz5`e65Jf-Y%WtL zeu{wb1R3HGA%2(Wt_#^)?8wB97207glpaV)N|YNq5C>(zOYWu#_BXYUu2$uE?TUQ= zeERVajCym_5)IwAMuIqF6cX$?FSx%c974lo7%lvl4||)I?Ajf^y;?lZBBP#(FK#IG z<VkD}qGUym41I(lscxj_z?9{PnBHD#x6N0mG*y!292v1pMEG<?#)aX?Y-Ei(-)wcu zT%%|z9Kw^Ods5>lff13w9rnllC*@RORI(mF!Xfm%1Dc2)DlY{>O5Af}u?e*F!m44w zMF%=0uMeh%#ftTx{iz==M)^zK$7NUNd=A(wx82?t!1=4zH454GWa`3&<)3(;@59^T zv2fRtB9vvW<Befi;s;?W0<W+Sqa<ID_OlNO7^5B&Cc%EKz{gB0avuD$Nko_dC6lmP zSa{D0#=9q#ldDfKc6CW}sXFB^e&RT6PuJvz8jX?X-q!XHkkopw_W~-7UcaJVragVK zJ#(16#UBvMy4NHETjm|<v)9_~y4S9yTBvIX2pU6*&gmSi#{QQU<ZFQlNEZp8jxade zyQlklW5~Z9)<^lQL@=on=)FhD@~^{Qmq}g40M`ZX-DdGY<hmI7@J~aO1K=Ir+Wk0p z`{WP~ERtqx+lVF(8?ji#2jH^Ou~B`8I~6rD+6#8<I#Ab@5L{gGY!ciYFQ5*V>2T^7 zO5&ut%Zf_mpVX!USMC*z+N=u4u?Lq0qc7^uB_ujpNgyLK?K5JJ+}d#E5D*53lW$&o z0{!mg+nG;hVKJr?rD{2?vp05XHCSP?NdsS=P$?+`og4Zcw`}^^tIEs!=@u-X(yw)% zJQea?fHU-BOE52aj#O(WN*Sh=s=s4Tw^#{rZB;}4_&(77&F?TO5ilUBUx4@yXf3r> z-Y|T9ti6%)aTBMd3S{QSm>Im*2?ibNv36ertX*<rU)}w>8tnpMbP<V7yK;F!?(SIu zpDh*AokW`H%}NyK6ihcs`w*&TqRAwY_Yu_qRR1!Tqd7#*VoxYN^Inl9BMmw7ecX6Y z4qG1IQ`WAPF7+aa=U}i|cix#OJIkx-ykecv%jR2wV{YDp%QZphJ6Fa_RG12dupQpv z5RA6iOqK`S9p_rH*W-M{=791=xDoo@tiTH-%dtUbi`T6<)k#YGB?wfC%{G$*RAB-f zOO&XS>XMEM>Y2}mX)!OHes;x|wz(bk5U7mw7;{@UzABnU2lung>LB!|0F!$bQ}}M@ zK0BF7RH#R>6FWdJQbr0x#h&3=jTSt<=}SfF`t(g-H6BaDJ01~}yw1;bH9sT&_G>5x z*K&7w0G&KC4-b;Z0M_5CS?~&u%kF`gMs0^$87IQ{;c!?b9it8a*)OrJl0QN*`)8)b zp&O2T1k|8eJTb9o&PYH^KdJ)=qP3OMkY28+Upo{;@?UYg@5mZJ6eL?y)?RkU+<<5P z=&I>B)0-Grud^7m%6JvvUsq-WPMwzUDPM=<Aym1q)ChGA86mjyH@ADm#W@IXSh5z* zbw&i`jjL~j-}az7)CEV-C}j!6S1$(K-<BpTo_PYqBi>a?CqZS{GRBi9_c-BqX-_6; zaE&ZRP%E_wTG`&8gutW&;$Q`dA3iSMH;wHMGQa!q^A_6?c9$`?_p?||ln(}@hC?vE zCfGB)+QSv<=Cp!m@Xa+lsCd0tfhQqMufFSEq&1OX_LUZMN6xv}yMV8-y8=n950;VS zuRQrdC!Ek1VU07(!zv=Q4L5AVR6nZDf<5cqeHEq^_|HZQWtk)u`?AC6aQ~X#OWxan zX{klz@)Px*Jcv@M64VZ;c?R%vq^^p?P-@okuqTIVR8aKQijWKdxBCN~5n+L{A*`W@ zO;>=%07K_+QL_{cI6CFNq*i~R*=mpZ_KYYeJW@FMY`VdE9MGgo1HM9cyhHVGkcb_K zG2~C_z<7tiTs;|UuEYD^<YuD<(su^)*kxb#eh}x(Zz*e2ha#iIF_KmnG8#_33-qjK zG*>XpT~qd#yn}@Ox~CBt0LX(05;Yq-i-4CI9e2NQ`$S<uz#$Z!dKXV3j|P?c(@zgX z31orAu=oW))KQ)SG4{z%Kc6NOZo(k}q7~vhN9Ln8&C+LJ)q597)qMS##ktWr=12L( zSYx<4jxUF15UK~MUI{CEunA&Lq9V}5ks<bI9&xB0I5BE>*Vxv*CWu+#FP1>@@y5bq zyCK``Nt9+@vqE55w0Vp{BkRXdK5d~4UZAZ+@x-b8;-6oi%#<DM6eo=0)OWdG`>WTD zU*|3*xm~Y@Xs5y~=#U>iiYca2sa7cS_?jt{m&#&HB#-HRM$p`w2Iv~LQ#ZmBAl*xm zRDm7Fuy=)ir3s^uAn@Y<rjTqaF4nG#A;4f?9swz|d(4mG&+Gii)OuzY!g}V}RW@f_ z4~1Xc>UNcEJ*S}tQB4e}ne*$J_fp;VZT1APnjDrEb1wj;;4}zo%fEbts?9R##CtOt zF9YHzSDtf!2=yp4z(8Dq>vgkOYa~GIbNT1Z4iSENCz7z$uo#MOW)^+Z7QqM-qU~0( z7$i1)A^rE@_csm#g^x1A76XJNFRu1tlyF7y*Mv+Bbq}_~r<|Y82x2sqb4LVv@<hlB z@%3hUUgwD@QcO)72Pi8MlYhM7jz;N*4S_Pck6f74he(%rUH!k)Fe_BVjVFU8l)3NB zUmYw1C#xc2CwIpQVNPSIR7`!&{5M`d5i=7;N{qU=ra|?|-YU--7!MC3eWT*4vgp&h zFv$<kM%o^s>h0g4Hn^zx8x_-OvMnm@iR3*&3(CNKkxkV}!KjoL*RZ|N2C<X7y*OO` zrjcy=?L7mJ^V|7G+i90!kyJv~{_0X1DT~{y)5n>by12lC#NViwnp3@B&~e4NFo^rQ z98UMa5z&o<9Yd>_Qo*pp+YP;N1#boJ>NutGPK*O}C|fucNA$S}J4Yfky!m`@F4cQ5 zXIt^R;`5ewhBJLR0|Y8B<Kb_P!ljj4E2+TVU;WmOY!iSp^+rl%F*5eky>V!=n*r?@ z@wiqjId5uJ9#)|FPeR^@H}C0vvh_us>vDb-h!FrrP_md{w*TwXH#_gMKVDbcC9-D% zuPNLn)G8%)V`TpK4Ze6pK-fH;PsauxBRFSMcrFJ~D9j2%dF^_7E(Db=2$SUnm@;+Z zxePzSEQF^ab+kx^`y60x9n$R2eB7N52|*%fC}f%OI||?7y;UhYGPig)al{4OIhX(| z(D$5Onn^iBssrtr=N;z_X5w#psk~pLszM(^N3Gb7KuLMofFCi$!t}F26rV9v65Xd_ z)immZtj$V8w0QeAL4NQ<3XaVXv2-E;cO==c8AM=Cj<2PRXEcvOjbYJm<?2*X-Hgg` z)qREBlX?2BirIr^^_#rNt7kE^@fn~wYc5B`M_{~x>^@blI=Jjt6nAtf!66hm{CTL@ z73#^(WK^Pp^SeU^+#;4spuZ{g1=SE~GFl5A0r)oD;5*ETQ7icOaDDY_><AQ9FHrPV zZX^vOhCS_#W@b&aPdNg;Ly@$^j~g=Z2EQtQNG^^Tm$2OaGZP7^_g36$(F%RE^r(~= z7fJm<EAt0CjkPbi6xuT*kUX)zy4s?H^`yrgC8~(Z0~k1<IBPzdA%f)eM*Q>R+@gUF zX|eW}=5V6HoSV${#6z3_kVtGNA}J%|-d*o6G7;J|{di#PdGU^PD@&%wVm<4L9Vh6) zG4BS6*rlq=#hY5m`JfBK2c+E2(GAr;e7kt;<Q!KzKiYr;B~9%$tap}_*+*MJ@!8j3 zaiHv>+2UJUd_v_L2e}M>jL}XYikRZaql9E$MUVN_^8qw6Xa!Nk^;fwi%`)opWOta* z5aNb1q2rUUEL%mXMqe568N!pG@-r_0R|WebjB56V`%hS%Uq7gq7t}hQ@5TUUzBs~n zAd~nrYK$NbA;`mj3<FhReXW48B^KoaeXC(RDMEoFjVd}arROq&=pPC=;h!ue=Gy!{ z1uwB?UE1&cVH1C8`Hw-D#A*V8ijWfQ=4ekmjp@s>e-t{Fl-NVMx9cbD;J>)WJpNuJ zF6J47JpP-o<Rp%cYb_l^qRG@1;7-srCrfa{am79dIy|BvFYtaYc-0e6`F0(bfL!!0 z9}6!dTgdGw!+mcy9T!)jiNs;1?t7*tGaj&ae1z+g1yP`mYwy>UXq}Q(ZpN(+{Yu~4 zPjH_BvzF`l?=)6b7MWd{BzL!OFKo_Ze_sB!Qn&t3;6}@44#ss)%nQOL;oYtP5~WQ3 zn6`#$%ulRpx(^7#eS?0ms^|T&=w^G)yNNinBVr1xT)#72fBm<;upxjNCN!{kgG_lV zu3VBPPAU*b)Y;3oArV$>K2Vf%O1CLM_@J0>maLl?O5^%w`^K(rZ7spi@TX9RQRo;A z^&<PTrhr+VPdc9PLl&{7jy$gFriP=iO6@PazK{Rfn1BjD=+TZl%|Qt&$*t4#{t}<< zv7&epO6&<v-MXH6i~jO$6uCF!ggKsLXs^n-K7*c?ezCn2)+B7;1h;Fe6o=Vqbk&HJ zh#m+Phs~$k9L@8=loE#CY>{Bm%rD9bXjCx}d!u7t9--2w4b_tRbJVjlNWj~^;!r*P z@*?R$E&U?`H3YOcOs-k1HCLz-B7a3=RS4VpIFE<xkaCS_b8{)%of5NwAPkhOR^9nK zb|AdTM3ekRDb1s1-$*4K;(V$@i|v|Fu%BNv@LdALMs|9(VyZ*vccmgDIT+rHB^~aA zx<zv|(wK2Ve^t!FPPg4D)96jm1UBB`b3Q^jTSUO`57cX0t`hCvN^~s2d&xdF8mu68 zm_q!J@lH$)SM2wbI!QSK70RBuLeXsWvcDj<-{0LXJmQ=e4?($Pc#Q466?s7LR18&L z>-l3~GU|DHQ+|<<LGLTxi#oC8;!GH=2bv^9HgBugXxc+1^ntJHXozRnJZ2l^GwO=} z-&8_JwqQuS@Uk(%JjQ>#NZ@jO;%lLZ{FRHaM-seHLhu<P>tqVu)@GcrG=ay`2~D8s z^gWkT=ejY0XRP<Q#VFW5;%8&de^uLc_jyVWH<1zWJ+nbC<KrhtL}wrZF`{35k>O`1 ztsQDmpvMl^uIDCWiK8p<%I_#5s;AG4BIZEP)O`M52SC4b0X&VzKJSqMjUy<=BwSKH z)04fa(5{kmma+h&Foy+Jqf3cmb#I_mW8ZjM=4(xnp2@6ar34>?F3=(tmL1B|%E1C^ zV2|k0$rBL|V2ef#0~_+e<?m?x=ZXW$JoM()5rf4qz#wr0zXI|1l%i=Z&(WQqxROLt zIu;f!Q@k*Fr0kn3Yq(uU2$C$tARFCtmPPj6?eS%o;6Nt|1Ad3ab}Kphxl^-&e918U zSNLRU0#!_N9Y9?UZ0r?}Ns)Y5Zor+FRTmHwumWQp?jml*Zz?xH2l1mwtg-T%&>`jY z#QH!`{L#~A;n59@{Vx&$?lfvX)OTkCK#*@-l2Hv;P<C1$1KQ7FSWKBoiRsj5pvn`< zFI&!W{M9lb{g9XulCYJ5K*InpHd53^Rmv73qFw!%pwu=>0#>L*;FLO{0_uiFORIxf z+nUiUfV=3fo5hOs7Og8qaBE*1DrfM1dH;$(tV8|(IlmUO^$)<_>u*1a5W`>BW3F8s zy(4%Xj&cUlp>IyWMR1=os*x89aTlCKpJ5QQcYE$mRgn;!qDh0AIU*I0pYkZ3S5?{R z!62Rvqi-p<>mnqUrp5^(0)UQZ00pQ;=oB80noI#^8J^x1xBeT80J4ngx*YW6io?CQ z#c5T>Cj5kcaXhpAp?z3LO5%&HCNm2#^MtSZAF`t$gHBVt8|^eEx*c|tq%m+_bh!u# zKW1rLXpdWt^8kx~l>MCEho6)p-t-~bwJ$+O=Wk`4;}ajP|Msr`+qiD1A9~M#nYUmK zq8`?UZgk$B=?}<6f#*4nPy8vWiObzJ4;D>;lm$&JDVos79e6++vrARg!AoQaZKe<g zP~~c+^^lijV54a>Y+++K_b=f#T^5%aN-}s9(3UY^wXVAh)M-JPBcRW7x0lNA1P`UA z{Ro{;meOkt$U6Qi8;R`)euD=m?eMb_;sHO0_oXtrx+gQ4E7qH6hSmhpo3Zr{-1mJ5 z8pHw2ImF@U1i&fu0Q_ASQfM8&Aa#=qS0F{aFHYMLcc;ulyULAvXaX%TewOz2UoD>X z6qd?nKgkh6%dcr$W8PPspAun|-lbR%QyPPrLC;**Tv0?rSfrTU=G*S6eSi+JfUv>g zP}6|^1K<x|<!f#kq9C?EWUD0do}*GY_22=G-}PFe3bnBD>)9Bq;e?pkf#QTsFQq?Q z$3QW9D4Qnt6+|Oc>3lYR{|@=kN?cqAXs9nNmu+!qZ^FvN;$8RM_1^%1Fn$Y+GyME_ zKoND}tuliH=xaF}v%^UBHN8_{8UGf7BTBNj)f$ApO-H?`M0K3?O07Np7;Ws}DCE&s z4`N+XEVRdZglCM(87H6vntY0`U&ksiPS_jOD1;8TT-@CYP&wWk$`CP09KlYl3hmL! zhpvZHR`XDhva_wZTpJuhVI?w1gTT&b#Xs2fGRmGF55E#Nl)3vvQh50duVm>l$D;e3 zz57g&;#2M@uS6pD=2L(|iRC`F7OI=JD0>JQWWVcnjURyZVg$?Jz?PFN*D?A2k~SV3 z<y!hHPnhIKG`s6=Bpgp=5<}--reRoAqVt)RBON{-NmxqEImaWVTB-l~e9pmuJYavM z`?`*l94kVLMmc31`6;!#@xmi{k&K6yFfS~jSE)wcEU6S0GD$Z4K+%lGpF*+@dUlV= zwLl(w2-WV}JZo8j&%cgANnt}Ker|w@boBIn%rDfXfP254c)H~}m(8DYo0ol(Y91A? zA;3W6+y3c=(k2n{=Jl$Mm``%{d8efPkcq|(@40->Y{@3WV%I@kUcI84nzzg?$?;|- z`vrP+UW+VMPh>jAk&6}cdS$%ec`>P*DDbAiDxO?F=*cJSX8<%#nxiwXYbE?2HqavR zD3+Q#M=baOXyL7Wfk|*F>}s(P*pN9df&RLtWvd`cwQe1syU2QdAQ`YDgXv?SJTh0P z>r+qN2990n$tJgVq-T9JqoO1nH%Qd)s`k4=7MROrR%rT$-v;Ab`%Za9pV1yl%5X-l zat-NA&lhOCEtnd)o@|e~-M*ICO)9jAykqzVa39Ho<4dbUsOYA2;Q%>e<sE=-CfdDR z+*J!diHA<;Gu(Z$deVXrpZ0{pG0<4Odv417Ty-vl%4r-+pJh%csrdM(FsIF!1tW+P zJV7GEI7AK`Uhce2H`I^FzecP@?=N))@Rsx3Ut1;vup2ERA<I~8YXD3qu*ZH?Z#n#) zA^_A(r4W9%vd!2c+lh~ZN)N{c(I<zBb#dtUkCok}cz4o?#OO;Z@+jq$EO%?4rbSnP zG0LKKF{<QXGT~2qf!r5wGI%NuZ27Ix&L^~0F*<U?;)eoQxnXcccLiRT#)!qOkE|sB z7aTmMlZ52~#}_g#&$BI`WQ1d+W7(=S*+^dhp!C6fZJsXQj`l&uG%-~k8l#++I-aR1 zM+FS(DsA&7Vg;V168Ap!39^CbgXBN_=A9%rhlhbpRf4AybL=mr=QOedJeEH(_x9c- z4rTVyy`z-M#}bvBzW}om-X*hI{_DZRK?H#@tS=lFWUW3Rwk<iD$kmKXp_XVRV1^EI z=r=i97d!zvDvUk2VTvnL+^Tg+HZi|f`ZGNtr{`zhMBE?(rlbAw@-Ow|8Llt<w2q80 z&itm`lgn0&gd=HI@^fGYfLmu&)#g^6fzLAdnwDfbe4ynC+tpAJX*BNg2anlb`Zb2L z^P*t7G>!(unE%DrTZU!XZEM4TbeE)bH_|BG-CfeHASfkDcXvvIq|zuMNJuv#2qFz4 zC?N`h_>S9Wt#7ZrzxB_<A2(ObYtAvw8n|yJcS;BH&hyC=I3J_ZD{JxNNd4?1kPaWp z<h%14gk9LJ`9kWqr!K+szdutV@V?G`&_OoI)Odv{_9WNsImelpz?~CPy_oCnh7KdJ zB=pfG{v?rjYzHL@^*$i%d2_w>L;FLw<NK_8S5PP{@w&YXx7QYa@U3Bs`Nsp>*DWc7 z+-!Lg5&9Eh__ua5&F`s7#pOa>utus7&=^`*tw9MdV<dRz&;9lB%gGc7F+>@n>TyQX zSL_CzwUBHUh|0?A15RD(W*|9%5c>-v%z&a39Lp5RKC{gD%h{pgI1QvM3#b+Nc?J_~ zaLa)c>XD_y9*&r=X`gbTV)BO^UxDU_Sy_=q6Y%#fr^3fdHc+PD3tMofC?1w&L!XrX zBY~b}>0?UTEXR_PM-fjgni#}nZ2nC@!UB4Lv3CzPZ2&`*7z=$1r+)XJtBxwX<TC+r z3SwtDZ~K(iN|JoXj}`Yf-on}1bjJ+;3uxE$y`j$Y`7%GA*LetL-huhn%GZy|v0p)Z z`k!pDcSH~Lu=s+<qPG3fn>~(W*|H?Z`}q=j*}`s_iwh1E&Yzd+De6gCE>s&unJ=`& zw@81jH480P=XN5lY$@JeiuMSC3yP3|WN5Ww5HJc2H)I{$*z>QvmU3hE<Gpclk>ys0 zk80Ab&RcyC`|w1WAK9JE>!q^jTeBq?risJz8hb|XagESp`>v8ufd(P}c?ZzPZ2pYH ze)l>KM1I)awN}|-Sh=^wqMq543VfHUm}59mvT_mnZy$r@K2|Q@&odDnXBXdRwbSaV zhpFKQJI7VFH;6nOrO>EkXbE4!eo`!sN%Z^2rr-1Kt6!yww?_6jEWjINR3P>E)_3v| zdL8XxtlVaW2cSImXl#QC99L1oZqfd#A8J_5p)y%qFYJ33C+aQ6L8bTWFRWi#B@H<+ zQ;Qzmzsc~B#C?xF%p3rw1MQ)+!=`Im3M(O(gd45GF0+E=egE^VtUp;IcD<Tr)vN@t zf=~EyUQvbl2^!B9zp;-%N_+t;qV;_I2_Oa2khJi1e7o8ZK>*s5Gzri)J-zLl7{Ao) za!t^To-L$Mmn*BDr!(f_UZbk8I5f{WeX7GgD(mC!NAG866@tTtnAtucnKe6y>^-d- zT{ovrs0QA>K=D`S$pp}VX_WOXU%u#cqunv>C)5dux`ANDf&X;r7Im5FcQY6ggvTc_ zsl{qX0$XMWZLSo`?nha}{UTO6&Dkdx2cl0d{lbIkZ!3hz<$dh%-H;z8du|wc-YtfE z8vpKzIxt~Jd;-`jkhAjs5wI&ytQ$=AiEoPPGqAyZdkYYqQ%3p;N_!Wlq?00hrT4_Z zho~uqCVMTn0N(4&BV8FI$>s(cV*(LMVOIk{xW|!Nh2Jku(YDcvcz{)3-FS#TT+_<& zSz8fvD0L-pmi>9>IdS>%3Y|G=F;o0%3Bg3BGYL^URDvaPI#W42un&eIOX^b;v$#)s zy?@btrS=>4o*M}_c!~hByP0#JTZpOQq2}$k#W^GXGVnB`Oo!f4^yj_G#mB37fQd^f zfSS8OkW#qI0dREL6(U)LLPEf%7gbJRI-{k7UM-$Mv(=nqEJu)S?*JNtt>(FM;u0gv zOd5EOjd_iF1SXxPuHo;3v<T_7n>nT$+v6h@jQA*$aqrA6$vQdrV6nau=!!hBh+q70 z8gC8f@=Q^Eih3eHiZ}r2nN092UimGliO|#P`MvXhLg>8G`KqedtTENodaYm&9<fy5 z*<pRg$;hnM?Qu5=QEXRf!d;+6I)|}+m+xZ)JZ{~K2aqih9zT@%YPTGZ997p0cg|&z zc&VW<(a4fW5o(~P=2T9*p%dBH`jYrX2>WN$8Roa)z14;_@GF(?*Mro(8UXDQhcj6m zs^GE7+WSMjQUsqb&zJ@Rncro65F5y=lC8sVhz_Q+=q-Q`%UFnbKC)KnZ;z~i#2_U0 zYq!+WBq=}|x1|@TJ~}G>)=iF=b2El;I(s1&@p<k2)?TONF8U``N<l;33_FSyekH?t z)X)3`g)2{saEa=hRE{laeHLs`Qx%wO*fM9eYoMi+Y1Zn0BvSSP3bj1#uTUzx5aouq zDReC&@1`izE_Mg~sZ`C{iiUH$&vb*_1LPBo&+Vn7x+_!r(&qx_2J$FhvwYv3BQ$Bd zM^o4c@+Q0%WaF!&XAlj41aiQ(QK;ytip@N1nWCxtaP#N_50QnzNx&v9j3yGdyntOV zczQ-Z{r}y?yV_#XgnpJn)+b+6xk5T0AzFv%HO8lOL7VNr0oXmKc?30j+ALYqe4RPl zK)L!&zavKu9m7IsckbShGSZ<X&9Ojl6#4$t<k+Z*W^<!0Vh^~ruD1df-Qd%)e^D_B zyFozOb$1#y;9EbE3V&|A0X4Iuup4{wp}6fIwsVfS$o_BU^LZ3(8@-I9B^I%waVVv? zhQ(1>u{r?lpWvOm^`+LidB2~r5z42*M3%k^>NB}_ZW5Q9K&Ebbk9@Q8Xhf+o+dEfR z!&1y_=f;6g%v6&E|50G#3M5ms<Mv!G@pbGs{tr|8$dsNRZ2nTg?Bna(AE0^n9NYgf z)xSQ?2|UgUzdqJQLvy3fskxYZapV|BVC9j(aR6U^UN~})#2l9)`yIp|7^iv07MPeS z$AUI^0t@71SdpsT+U-8qK;FQBewRZuQm8aDFUKx50;Jq{xqFs6y*@SJls0Zi{c03> zv7E-}9>~t`kQdtSJ5A)r1Q8ALT78QE#)<IS)vD18gW|xyPsvv$`cOOooYH#&NEcnP zD=L=p)Xq#R?)1U!lG2zGut)<(XoD_~Hj{^l(988aY^91rBGL{&I%j|{o#JUdX3Hod zh%83G@Kf)knX5`tYMFHt0|qwwC686-!Z*Et{}}{1>>YlAEPd}^<Z%3k>_MiY%XJSj zG^K~B7^wU2U5<f)PqEGooF%o$_=q6^*+^3N*xSt${D%W*(;%9QN8+mxb!*tdgyy|- zvznN`*&VPJZfWcO^EbqN$?pW-q+_|ljNVq}cD1x`bx@Cr)?!v(V9k|$B=V>!khy_j z@XjrH&`*Um6{Mn|Y&TA@v44(xvV4D#=*BpO3ET0x?fCA7>`IimMe9>VMs$dSil8i_ zc>t21j)v<h9WfV#yh>;pc!z1vFbpC~Iv$u-z$PM?FD8`@Ww)$w?xX=vPy)3m>kt)2 z<by~~=pdXVS<p}u#kVOg>>1i=CGjgZW|dhwUM`%8a0^4Zh;vOFk*S4ianS|bPq?LW zSB{??oSNr1ZwTMVa`VnK^Xw3FsfElg*kl3|7yigbx~=wv^xsLtCZyV8Qpy=;na}1H z*C$(s!|5t>3Mn=esaxGtB((=;exsggf3_LtY*{zw`w7-SD8ETpfUsn(WygGg%z)eO zRI!amx<B?zU_IL#gt+9mU&yc<J5e^{e*=yV8Qp|9HJjudwSz~>(dc>44S3C(qesfs zv-I#k;+lw9L9EWbBz<1={9+w>cUB7xR!xtVUM#l!o+}>Bd@lq!BLU0#)zeuJZq?oC zmRgolbE^D@M^Z~bn%FyhN^_^t5tpvbahxjGQ~w$99h8wWf%{?5nrBOJJaMt%nBqck z#)D#%S~C##@!YZlYLb*sm2%~bI;x#9e#fVe&IgAT?>S}WKMuq_+EVuq|A$;w3rE_2 z%Qh6M77t9sq~y;VnyvoozlcZ9+RV8+IxrQa4|}fN+xL>0%O>Tadc5Kq0kFi$n_@ci zKBc<$T7Fc{7}2}(kpQ{;f&M>z2@9GoA6KFJMj0fBYn#V}?5jA)hFzXxtYr2#v&k&Z zdvW-(L*o9td~9NOoQ*IGwwV=c7fQL$9MdmNB$z!kwZSwX_8?vvD$qE4Uv0>>GK?y{ zo;2c`K7=oqt@?4|S<El+9TCWG*RrM$3G_a9JHHJVNNJzOs=3Vil!w0VA0lQz5$U~= zo>u9fv7I5slYOExb?3Rtl#KgheLbQ+8na%Yu9TwiW|Wf)$$jO$W4qswf3MG<{q&NB z<K10@N(#hXm8v$ZZo$zYPT4*%&G1=qNN~M)e7cLng7~&0U32@NrQ~-v=`StXq^;L{ z6|pgQfsHQ1Y<7E(&wwJ~zu=o7bsIuvj+*C`YOhL#jtd;ZzxPCuj{A(HY!@UIYS{mf z)zYh8s?@oOX~6H%c(0d_Hz%)W8(;R}%8q`8#;_}A(AgTsMFO@eLx9Xk{q8q72Aslc z)4K|m@lL5>SYVCuh4Y`!-GP&H-(=g>F*h-g*I!LBT1&915#r-MbT(%2%#aZDgY>WS zU>JML(YzxcTT3X+ZJ_y11O!u1PcIDa0TG)3hrB<g0jI}@V)RGF!kRf8<##;apb1l! z=}&$oq?12!C%CTe7jS=4bXr2zx1BeLe;)!*@+L;#1Hl<Xxa!NH;8^ujtm=&oe<0xp zG!-m=JlWZTwb40e-LoSj?5G=Fn755ddm~((gMEaO!is>$=DHrDwxubt<wxD5u0Pv< z^oTf&U#*69RPTLS;fEQw<7;A<8Rix%wHGy0=Z+s6QXTFQt=bJ>+&EBE8scDkld+}) zyQ+zgQCDOSiFU4xJ8QQcQvymeK6k>ympZ3Q9QAzt8z0&{=!~i@st|Y9=(Ew(GdaZ1 zJ<66cZq6+0SGZ)_{ocv2=kz1<%|(2<_))1QKvyc{C+m<<lLt1g-3xI9p<)2Q+kNB@ zr(`k2b@jeAtN25sJ#1kO;9bLh+hso<dG*Q;=;LgbZdJ^lb{MehqjF}5=HRak2YN1u zuUVrYBa2vxZ8MSLw3*M$&4jnz9U=B<=~hi<xhbwW$9Kd_=rNC<WflP}vB{pKzQ`_& zO9ygs@9j1RsgiTa>^-V)3#$=vcfzU7kxj#(6-n}H)_Eu>XXe>|s(zi5Is|)LlQppv z`w6OC%CNK^=D|V(lSdj(k~d+W^SR_0+tbjF!Dk`{2eTFEEwl!=P&MK|mdHJSxsH9g z^V>A=@Z4S!Qdg|{oW`9~av@nP#da*ORt9ebJzcfY^GjVD;^P)U<;)Y!(R|{0te&c! zK*S!{pNJ<de6s%|vK8wI=G)Wtan}o#z0<GPQBWPo)2a9s=|_Es=iPv(=`<&~)#EYm z)_Zy9HOrSeQgmF3o<#>eHTGuRR{?~Tek<Rr?3q~loHgl`XmEzCQ@x9W{#->n%^zjj z=D2hLk@HR)8`JYcZ_?Oi2+l3G%j0HAmhiCNRiZdq9BI?DcTi_dE5*$WA!?a~OX&93 za3k#PzpGB_*6`Ngh3u`3ALp7{go(vk0#$vCQ#{9~@J~72K)BH4lytyks#IUUq*H`6 zeN8U)qoPPv#-I|fOYJKf>RSq`-21TtM0YpOmVnIY{2UvYlE7Po0nPrlw`LLLbG2f9 z<TN=m#-(RlCo8ab@DJ-&VSu1jxOcDH1QU@N`Qv6xui)pP%d?}GvrA!~d4pp?p}DCh z?E7J^$R3a4Ri(qr-7wC@ums<{mwcu3@Y?li1W*_`n-Ii@T=w;q!gE(tq;sqU`nt!| zXWfC0cOU}n-^XP68fJDYL17}hL|Vb3o5SEcTALVMv5WfA;WW0B;q}>_YcC-dDfwb` zX8pA|^=ZW++31{VxH?FTT;-u!eiy%itF4fIlWF2WAy4n^3jzmzY-1~b7Aj0JzJ?il zk{GJpu^|4e2V)3`zh)vX8i~64a-UhH3=FWkZTTu*-(4~`f2@<(oAy=8o<}8_J8L(( z{3?E{XOI@a?Or~HolZ*_wQ~nw2Ra!eL_=NccnNCYO~L5Y7!E<tdfQYc1J-wc&WMX> zGdf9?K#+lKFImElS+q9Bi^ssM<21)$X7hZ7<ZYR?&oE0CVLjys^IB19{Vcva6Br51 zc{W@QGs(Krj$;&8iWpL^?;KhXSc2<Y)fYWZo^L|Yq>zLXbzF)B&b`Tf1NNrhKG>MK z4kQoAR>;YbOX_246>cWc<W=tQH`{~6Dll*;$y!9g8KF8amSnV~piemd+5P9KoR?w@ z2Fj`ZnS<%xm7)y+r}1^ftyJWF>I)>kkByBHY=o7e%15tXymLZJl~oBZpQwJXbr-YQ zdD`}H_09G^)k7_dm~Tt<Pd4qgXi>Oz#WAoB?ux7C=lT<-c=EZIYech4)>kKp_%R7u z8et)Rob>}S0Z|JLelQ*j@!$o4okwFrg-*<eyjUv)o2U2Cgc0=+Q%*6>fc5LGF9g_V zM;g05(r){E^&5Mcq|TvaSb{nHHga$5WqwGivSaJ!uO)CABOs;P?ccyyY?qD@A8T)2 z>2S!ZQEfah*d53-?PB@9+$9%$*HDVo*+mQ3X_Um>wF5xuXuv-G&i!Ni^=oM>AG#ii zI^4rbFpbqyefd3_hzZzMlSVWs!H2`<>gh6SP+{d7kt9${NXMKrALr!|h;3%yz`}2a zU^8wy!!eb`;7#3`ie2G<w1(;-NDPyKykh>%{An<VYN8ND+>7w@F`A75t5eo;3n&*v zE389ufYE&G5Iyx7#HyK-S=7U?lHCn8|GsL^x6sevT>d)aFUd9cq<HyZW`s_<Kwn*# zd4*eyyn2ip<>lnj^eXjOiCEuq%l!AZ)E*1j=en_5@&uCo<&QTMpZhAk0UT4lGq=oc z*x1$0{MMT=Q2?d>ejW$$P2u*6!&Pc;YzV6oF3Dq1rsdh4bz(t8jA*t_m5M6r9RjBr z8UYZcP=5_J{j2CDkM5^;^Z9+lo`%~V!Wr$IwWWIh(Vg(dwv8Cw&J2_e`Q?GaZ@(k! zIE@h>glpcB^y9Aeap?#Z^eToP5uDr4(O7I^HsvCSm74e(__?qrnp22TK70eSlH&qU z0})qpDUzJ9c!aR;NelabS_|k;IHNEB@!_;+8PQW8%-IX`BWQ*%uT)Vrj>6nohZhL_ z2t_u@(#(B*O<nP&FF~ah71c%5V7oTCKQ9+lJVfi*@2{&$Lc^L?Y$9FpHG?#nps>U% z1Hk;+)R^ZNqof}5G+d^cq{vz~tu<5#^)8^LEp@s-=d7w>B4HaG)=ph7qVWDBA4l`u zC9-!Y*!E9FI6l;82vEPm^l50V`#goZ9(k)2Z>5stpViHov)kUSarE~rS0$?7B}gPK z9sm+SY0{RBtc#wLr@7xaG(XDrTb7S;7Oy4dc1ip?ayy2uvBi3TliSkn+p=<3P<QEn z3&Dit22!3Tx!@i`iYcLYM>{c*_hHK=py2P}G-WFpzvo~d^peY<zO3LZ1!`bD&sJf( zKUqcf5L6dOEsk`mc0F817AkEto2qSit-_N}o?CUGWoLJA>-kMD_?0rYJ7f%fO4;fk zaW9t(BAQHfj=zCTfuNF@zX^^W-m!?`4!Yx~MMVX&ryIye74pTQum#QC2Arx04fR^? zwu~Nk9EqxQfA}$Bb&JglvzFM762BcVeBy5r;wE2{BV|8FnGR95NurkA6Lcx1Vz7qh z=u|5js0O9rT>&msR;~OYbnYD2zPl#W@iex#a#97xe!63sg<MUQ;YHoesZw>2Gk!oV zVhUr9ua*by2*jAom<Sstg4$-}6Vh-N--?E9Nv;N=war4UsUU4a(JfW&-kUG=LJYx& zki$(;cL{`{To8hOa`vEnt}3lSaz7U=10W*a`%~|jymITmU6ok$rdaAT5)WdmWm8xF z8I7d{6CM!SzZpqm(~i7ie6s^2YPeeZ(s^4^EJ~*aNl;L(69bpf_vK4iRb!JDoA%7W zS!jeu%4Ww5U#((OV^zN}X+TNzzAGuGBGE@K-it4`8jLBKh6NBLk#83SA_HK#$#g;B z_O*$C3Uk=#9cBnZfEOJ(0>3!7M6ZcDbT3(B?%p-}spD9#=S6`~>J|d)yjFPyL~7st zJC9E@3>lAS%T!6YHt56ibeuI7@g+f;)^Dkbg@#+9kt0V!g)^PdPKu%m3qn<+x>Kps zbju?+{f-ou+EP5I2yN&#A6GhwQ|dD0`bE!{_*wfhP=7hEAac}p9B#(Vt8mxxWb=VQ z-a}T7;nY5z1dtj1eT#aXRX=5NF>e6kfA;d$wO^&0f|-44u4B~mdF-CcpQ)QHV4C0c z`6g8MVNFY1ZWg*~+3g}~9|wp2UlrPgiQf<qtsFflS`hlEql%SlRSZb8vi3T(cNC`O zhvg4&WPTW%T1J*B`M3~Bti1&W5Zmsg`0i{4o?N4@2kYXX6>mU*ZW?a{=!WT6md*P) zSFAcskM#2k$yL%>0tfF1h=l8_>}hsIiD`}$5J$MP>QYpQUwRshs53oasdAUeo%kc+ zSoqlW1IYvdE0yXMfFMAd=+PGY2|D!DoZm;#<`!?wh$Ra#qYw~Ug|OSa4js$*C1B|; za5!PA6mJ7u+P|Q05JhtZ|4DJ^gx_wHHX>*30l)Q?$M(7h-%9Nn$HXKKq<XPh%(p-M z0_eF?sag924o!qN<&@Q+0}?Nq{K04JY}Wmx>yun7sq0k8rzR(Y2*{8I4tQasyg>T6 zSV0qB;iI@<KW`7B8ox)N|Ixnx#ERZ_A25cu*IHo@ov!Q^c6^!N?+(e#{Hp+={U+PZ z$OU*Cn(YL+?6}#xDqE@~yh>K3p@fzHQepl}Bzf{<26K{GCGC)K#!t}>$I|}p<oqeN zXJ7=fJh=smcoo8-AmY9t!?4_YdXMMN!#AvLy0VyaXs}W(b*ee3j~op(eOvijp~Zdn z)aL`Jq~sXuotZ&aVi)0@kx3Qbr_<31yMtIi?!m|N`E^a~Z6QiAPkI9EZ+fPfa|G}^ zzddVKJNomkOT6-b<O1*772?Lf0+(ZNvIVjXtb=CcARr2A8UFxRw7}vb>Yo+)Vqmru z!8DoVhUqvLH4?Hj!qLMRYD#Gd%1=Am(RIUm$w%)DjZF(QEv))(M(G`(I`&5LZilTr z>hL*`v-7_22N4M4@2)8&2L>H(_&f&W8f||Oc^HiuZ2yU<myB~G+)14(i5ve=uPy!i zJ4i0ga!NIDfd#V30(f5<63$AD2Pb$g+WJFm&o`2!p`9Q_Q3S-+RDqwXlnXpWV|G_} zA{<g!1uJ3(m9R=pV{<Dzx(G$Q8kz-cWr0Xn{f;t?LIqH>`h<!pyTEKYp|cp=MWmgH zjU<@A+~vG4yuh?F{J|6SD+u9t1az|>qelE$6tJ)Y@T%UZ5ISZ>(fBM3r7(33V~^*F z?x-|d6E^^DEmsr*n=Un`_0~t;mD*16@g1&TkdR%huEjh(SX%FQWJ|XLAa*6zM_YgM zb$omDGAXF8LV?s(L?|C`*$)w73c1dd6SDKd6|JwEB6q=awI&{2X9)z7FPUkY1y0>- z5o`s1y-~kGW!kv%K-O%}vhJx`yl(A7JFeB-xF@|JdtQJw4?weA(M!0VxHu=Y@2o4e z!K!2L)U7RtbsfD_xY=xE7<tF3$(}!;CN@+?*(YlV4XM*3=e5{<YlN6f0f}Q{p}g`b z<sfgp2A`G)Vb4g1Wv8jXckUXOTo{cqO%^w%@-d(;J$Ypc#f_jk$E5N50+9q`Bh!2w z`H+_eb3se3qly80#5CuSZvo$v8enVFqS3hzI8bBZyJ~vrXC&jXK8~H;f7yweZ_O|W znZT@33KFcED!-?~YbGIEZ+RP(&=ex>*?08lmq5b52CVEh?+?E|qmj*Jd%i5+7j$7t z=&%O<4{k<lg}GEWbwdqp_>BY*V?rq!X%$9wW(cqF-NQ=+8-1CILe;vUBh&P>W6FcT zoFgq}zp^w@F83Q~p8wk==68kzIrQfKC5`vk&0&TF(9$26)<jtWwQS4vC{WFB6s(AT zyTws@c0{>=*(xunQT|39^%HOyN&j!}VpzQ%iKJEgej?s%*1}<Lb_%a$`}eOOm-Y^L zjZ0h9-g|X_uE<LkQ+eG3nfTPo(x-F!e-A50*m}7cvooeM{F(%|ZxXy%f9ksuGHSwk z%qOl{!e9v?3yci`3Et_1*aj{a`It*+8_&~K|G1^e7`6h6hXY%i!)Xbks$Ngs4HN$F z7kqNanaOL3ot5)Pn;pa6PClg7_=T0x+k?RkURCLF%d!&uJ1C8E293Z00F@_V>JO3< zio>ix9VitLrU_X6p;n43Tr0IhF5{bu4G!2Trt_a6>RZuH?CZ-7i;&D(cIJAKu+ReO zlby+DH9%L+>s10L>EdgH$RW3{aSfLtg7rp5G&ZuU)@e$4lKr7ZhW$lF;1nQnjDE9? z!6{YDRK$bnH;l}-paPANY-l`qc?GJ6;x3Fw>uTZhx(oIW6Y>n2SCIK1#A0p;Sr<UK zG(}q*DH*Sik7N(dS)s)|yMOWKp~$(y$=aF@@wHU_DD(o{0nTYV1S(mFiz5oKK3HkQ z^;ZJE@MPcr(Ch+L!@L4l_2d8c4qA-gyyb8=)FE;Phx$;RAn|AuCH`=zrsHJ6-3%Cq z%(v|7@WcJHApBxpS7v6w*X38bHI`nDl(DDRn|1$x8<6@hujtb7Z>!^>kDgTyFj9{q ziFJhI^`#`2=XMO4+|2+Qfj<j)W3DW2Yu!@31dffwxRASRyrzxJuJ6hTRY+iS&vnik zXzI^%xTz^lxtVq63D(mi-+5CfmZ<QZN%(}ceuL0r9{l4|NZ)9_dgUyFG$ei$h67;b z@n_C@G+^Avja`J4_)aS{hGZ$&jK1HTJSQ2*6E7^X!1DmX4k4wQ6e}%tLITsMxkp!q znm{1L19G^xP$TNU8t~yG|AtmCLtUGa>;scs9P;L9_m}rC2=WZbP&g1`FUrG9X|2wj zKjI^km`AC?x7-#R9fYbSAN`mTdbnq>H(ii`%dHUclDK1Z*+KN~hkh2SZxD9W9PsBS z+)S}3dqz<A`8M?nV_D3yBw*7Xk9l7y9617`VBFUMIPRaFpeu~K3-b8l%v9M=t=EU; zCBHU;yhp}ark!LquVn<di|caD+-yL9(Sbzuro&0MFxrQpKNp_>>4|_MD_V3`p@X}C zWraJ=MeS~~LJA?pG5EHw2Qq$FUfv4FA{nwKrUW>jjMJjU_4;W=DtT-}8rLkE%S}JX z#=H5}g^bc18@zH!0UKW6sd_g2@m?BwH4)0^|0QkWiYU%y;<|c{R;Wl!qL)LcgH_sa zlllW9N4xA8q-xKO;hQb$v>U`1l$i}SbbVR*K$L+v+$QEsdm$r(!8tb<vTxk=68`T? zufm&|bC`DIJL`vZs5BLl+qDYh?9De7O}$erUwSg6xA~tq3R<6zusG%3Bk0mQ0dt=j z^28}C-|Eviygva6*mCqFa60Go6zoLBik?W^{+yH$I8}fBl{&Um?i_P8b&+J8CbOsS z&QssU%H|Gw1>C?U-_yN!7O6Y~7vXwU{t#5f6A^pxHK6AD!iRwh(5!%TKSJhz>t$wc zFoa6i8@}NuiJS&GArX^OxRs<-tK0KeZy!6CR+5nCJ+#X#mxy5DY?mh;lN~azv&Pj@ zQ8##@&X6nsi!vQ~^3Mhk?uDf#NrXFvxxe~5t~08)kLF6&{ap4=idkJ-BJq)H<<qWm zk&@#U9H+nawQOeDL3c@zMKbVy-}74B90B58vBfefhGbUwJ)vpdIHwrVQQO>DF%<#h zM*i?usgFzM@eS8v`?~$wmC*acbpC)>no&V!4bE$9ys3G?271nfV~f7|<1z*NyEb{n zo;nM88CZTcqoSrS{>#q}fuN3d{-kfP-bugh%TgO3g62|OP*@~jfiKz(mm8)niY;$O z&+@(^4;zRhUt$U2!Jv7NY;INzMJ0@BV7`l8HOQ!z!2OT|wGpA6;kgnIZ1)q4O4FNR zC@#gXS`*C+jD0L!PZB4qcYWSCrR;03HS`iI*BIF5{3bLXguMJN!3yA9xl`2-b42of zr?;tYs>A@7AtB0N{YIgxjduK}gUkILg5rr<1zmW+{_16dsi5(ecU4(qp>wjj^;aOo z9GQqaw4^BciJ{+4FB{Tns42={UmlMd*<EzK{Jp>ui=o=KpbqmIU=9YKO4UjotSW@u zM6eL;wT&mK#N}b%`F6}zB6zT0Yj_%Q`~5H|NrC7BRQG!w18kY1v_ve!L=%P5Kwl3X z@eLNGghUiBT=8@?I)8oj1|$V9(Z*40WI3WoLF_uj3u9Qaaorh)g-0IgaGvXQ(m_X# z4=0JE7>A1CPw?k_OFK;Jqq*v(8Y#13q*M5ZiuBeh=v6IYnR1^gQ}t4*Y&`kF#N((C z=cp>8u~NfI68>!pijYnW?{DWIj_zVLcq$2`ER4+A(=>VsNE3xB{Ch(B&n4o7r#FV1 zYsyXh^yDI;a6XV@O-bc>Ib<zBKKE;<Gun+LPZ0|N&u`toe=KQQ)q-hYIkne$Ade$B zzfc*b2t5^Lz>yS-6SWfJUwM*1C0vqPN8qDaVk9S*E9!AC19oWl?3{q*m-n6PqkiO@ zLH#H!^zr^64S<)4%9L1)%^(-JJ68tZ1{Zv~rkWU97lG=8TCbr|`7qcc%l1VxUcNi- zgNKVs4Z>lP@v)0lTD_LVqu$fsnXmsOC`D3`L(CHrtlLFyf9b#aeQ`0`z27*>C@bM) zW%NQ~^f>O7BpQi)5mqDq7eg`>|9^nr)sjhL1$JShQ5A5s=*OS)Ru5E|Xs(ajGMJM6 z?gV>BXA43#b=C4cYpp&;=JWC^LE&Up0bd&u2feU!;+b&Qk42Aue%+n_#ex?2WFPOw z`Fwjq%(t8IQ{6-6uq4kB3cz<3p3!~As81pvQX*Z&x|gn1-XY&W|M0ig_Wy_w?X5(C zrF7%d<_ocxGnqN=GmX}`cc?JFE{7f`8Lsb;5OdkE`n`?(QEPIrI@1}SdW`n=*>_WZ zM%H~b2Zm&X39a^!?G5T3B9G1^B}??4&unk6mR|F=%`HLi?y);^q;zuG@GV5;Fe<BW z?e=jKDYx{)GZf8Rlb?F(nUxRk^;GSGF!gt8uj!xPrPd{Z!_GRn`|Q%HRW{O`I3Z(* zWhjgWm2faN7*|xDJb5pLei^~vC-(FkNc#_Fb#3ald+gjKjh?R6G=-@w3A12E_*%b| zB(8YB$-A53N7g~3d_TT)d6rwm)XP>zhpmpbgjnhbvdT+1W?tdp!KwOJEVRa*e3IpX zbtNXZt{(Z)3uPGE1$o9>!=?Q{XCNA4F|UO`#QA;AKZzboH-5yQa7s0xJ$|ThV{#M! zEKAfin**1J-gP;H{Xvmp#?uNFpQJv`L^0V_m|9T$5b#Y^p`k=gl4s|`tN@$*g<w2+ zG12J+9pkt1R=<=~bc1K?)5G_cs)h&uN;ElHth;?lNR9F{B1}lU2<GWzjX-3<$<-ya zFU!`w;aG55zu@u;*E`6RpKbFzAd_ZL#3*?F<m%k%+X&9C1JQdI<YKETaPJ{t&M~KO zo<>SR$0FwhE;O45Q|zCt)5Y;^6NXa-9o|R+mEsX2gwbP#q17ajVz>j@oxRG?M$Qu6 z_@>QyAS5V}-nkY@?N{@%>+U8MwO3J3!Zb4KvlCVc^+x_yol7OyG8O@L<L=<#It?Dk zD_0UT{*5rM3z)6rQDdDh#Ln~+rsnkW<I^~gGrd=tZ}lX4L~w_ri_)^>nXyhDyO5D7 z<|abFDdiM(!1tpTAc3r7TM{AILIc&)oelb}y-Z|wBm=%53eEngMQC}9TD%1Gv!g1r zL#oJ3P%G=$ALG2o6?@}EG;+W1y0HaOz=~PT)pZmHgb5Xh7$@-yvtmBfG%w)z4_W%? zeiiPQDVkfc(14?(>~Oo<JDu7;DQEdtk!%>F%TH*ZZ>5=4@F&f08m?|=u4@H}R}}W} zNxH&BA629{h`OoND2S-N1J3rT?pQN8QAQ9zXk^+z8(HGdZQfC1Y^Pl4+4?w20MxLE z461ZJ=}Mo_8OZy*njiJ-@X5yAx8kf}Yn{ZLxXRZZd2U9TUs{d_w=iqTx_7mA(FB*A z%a22dS1*Ay7~ENy`jp8ZN(nsq+q3_@qnhFM1<c7nCS{?9`#D8p#@N&Aq=%Tcqj7v( zM!EZLy4RkTH#vc)V2>x|%3HJhK8RE$KCmo5rr<Ga#$=g4GGPj7X(4{n`zW=H?cNRA zU}A}gi2_m6Hz=8=$x7IVDLGJbAV4NZVP#a`lkvWZ?DO-JYX#OMu4n2Mto`0$zwA-^ z^>6{i!ZtWre5TslXkhOLxf=A}8u(d8LNI8Zl?z4Apo+BrzB_Gn1pp_%Rik}O_wz%f zW@rZ8%ly)=`xScQyy3W1=mco7)W{M$L;wJ`oOkw%?@9NHq>vPxRZIGPM@KTax@NG+ zRA?ix6hvAqjvb<tFcRq=p4(}g*r2ooo2qKE$|7wYm2lg!V(ssv9T%**|AxPR_<r;# zgim_7e1cjScW1f54nr8G-!cEV{BHaHy+<?3Z8nOc?Kd5926=zWR?5G$RU>cbq1<aF z#ygMo3Dp9SbDlo}6~&&Y+3RaZzj_8sd4t>sV?@71dEfhHyHt30X7iBSQ0N!65W}}V z>KU<gb#GK`{r3?yDrZC+{8{ZZ!MV=}rMng+VrbhQelfZSsRYVrz5tE<=N~+iogl}Q z?(ReG1c|aAHDe%+kzNJu20x#ty-vUS!7Oxh5)T}3B)v-6F#4{fqq2?YhTk$)4Vq6V z{1^)^yt{8~0s}OTE?>toYM#9s2u)WZxfkE>@(M>4b#L+W)+d$F$zOBbazz#h;k>Xu z>)T#mB5I44q>wG7#gOw>*`ivX(UN9_w9M|wt(%q|P;>~1Gp{@;V43y$`m*8|D7Yrg zc`eFIhN3>@J|vFx326HlAyvn<1CE|kqhR~RvvQJlhdfb43&qa#_XH)AWfvnmrs=I9 z`y|q8OooS!@d1>vncT$LDZi72NK#}ucwv)}5$=<Ebh<Zi!S;D|Bsts7-tMmZ_TENS zznJ|F@4~DyD6F&SK>O&U>ai;WS~(rTo}afL)F$9gnbh~#zxF9%{r93-vnLu=io|^V z6olbLp?&=13b<!1g<~8RhnbPav5@~`^E_acoZN%qNtt5ldY1X_c@xy}V`ont9l>3< zp4wLVN!WdX|Jd#WOGgJxB>ch3l|6TNx0ITapSU^evk#zy2=rFw?=taeG?6>jy#6*R zYD3l{;?5bSElDBmd{#5CjvSqzeJ5TBRATqW(*A~SQSX~_!foHLo2e2gj*-fQS;e1n zG5m6OLk7J9+HQ=4+<D;G3o*gvOV?EEUGra?-{5)wL@*-%XEWWpBKon$jno?ZKu}{X zO5=qHEsg{OO|~U#pEyWj8#upj<3j#<!ZHl$$*#F8>)8MFLb~?Vq|{l|g(W9uNF!7n z|C4X!nfp5rrH%$8-1HfxyuebHTjy--AD(uMH62M0*1R^)Pmt&jDACZ2h}-<wXJOZ^ znfy@58%jrXOMl<*c|Lb*Z*-ZyRC?fq7G=W7d?Xq7jR8@H8T{W7UzhWx+w%z9fGK{h zcY?GtL~mBvJ`Vnc@!m`olJtm90q$k+4N0Ut1J?u2-z&>GPrn~t7Ra76DOZla3i_Uq zYB&rByLIaiVdPWHOZ!LjcWzHSS7}^gaY{)sqQ%j;Wz!H-z!SkAmh@2o(eyG{__%dV z)?3>Qu@we-nN$J3dK=aurB=>yu|4J!7Re9a|KPkXf!g~9Z_^E{V%*zr`=S60IPB}| zINW>FHt2fD6neMM$gT^_r$d6F5q0Tx1(Iu_H~A>&A0z3P{-XU@3ASjfzf~&VlN~NP zHKSGI1#bq0v&tf_#9{K}a9*_wG!zK%^Z4}oF(z6{0c>*R=*ssN=KCE#_6QKsCk2lZ zB6AN%+l`V&CQd=h)bHn&o<NYO&q?+wWI05^DOJM(Pqa4qMdyxJJ?1#k{hUA-GELP( zzOPm`xh~vTZQtLOf5iOMAgR8H5`~Dltp`B=GWi+zo!2+kxhU?t>tQXd(vz-KHWF6y z|NRP`bI)~t><Nz)`n*^j3A-7NX|CApd`<A3sZgMb+_)Lvje}`rIvR%s%3BYdp$Kfa znecPyPiA<%#1<f-m=R&U_=xd>xMv%iLbb-Gm<AMxYL8WDJdpj-Db+yUBQ#^$c+~}L z#O!oV@oYc_6Iq$@VdP(wwViYFm|19VBoFhjqnuka34jHkX5K*@Dt1MAg;SjN8`fJY zcy!fprAU9Tv;^K$MBtX>&*oXJusX4Ijn_ga?-<s|ky&k!qN}bc=1fi3HEN0NN^GU; zm#ly_d_Z3XS*h_flr8(l;z=n^p1rfvTn2ogrU=2I>#uYI7OqXMZ?9^FY`Cth`*z=% zzE)2U<vz)3D<O=NERe90w*h3z;Ok=3Gu1R!zokgc^kPLbh@1`t7!o48698pm3<yqe zBm4_9vHK#fa=hqYSLq9|MAT<`?jLrg#)yA!T*Stse^J0qmgNrv-o-P<+uhlN*k2)c z>N|vcL}(g0o@B0)&X+yNb1#p)I--h2{f%u_t%sS;2M-i?C-H=SOMaN}kC(sDa1j>4 z+DARl9#juG?{JM{z5?+SJRzrcp9-^Jk0eUw*{3=lUuE*OX0Ct21v0jGVt;CeDx#8^ z2e3L$3aCI@(`o|Q7uWBQX}9HPC|r=;sN0HR{eJD1`gR!YO<UC5hGl0QjjRve4U6^K z-mh7xxh>bwNP)S8DkVH{rrmxx^)Hb4Kg@Hw^xcmQYJ;i!H9FT%^bYU0)~WdryGuN( zFt>uF%uN5;v8l_3irZgbGUb?#y*!09a0fOKuZorqty`a&n?Lyz61QAo!iI(r3)Hq! z{+WHxwQ{K+JtMU0Oib3afp9W0(<R(OR`>zRfI~hjnH1zTEmmy%MG-9Zo7c{SDBEmD z&^wW>_bTZ+>^rib9U9M8+<(&ni5r}_aK90n&V6?h{hHP&$Qm%zokJOs5oqENqvnE< z=3Beod%!qF-l8Pn4E(;jlgiCG97&l#^2q(HMm3-dCJH+yKUhv^2il<08eTB)Ij4_Y z{w98ubPyhdRD(Bgs2VX%OkK(WJpKDG8@V0U8HbA?l%%0fO^x)cz)uFfOcMgJGCV3F z_PvA~HcD}iFMcHC?!%6$Q^d1St;V3k0-HvSeaV+Afq}e-gPdsU7vYVRk6<_@xq*T* zCMKSwQZM6lW~Nj%)SRj7{d_4t-S8#tH(Gl@w0GpwVy(&E&p*wOC#}r<qZCd7uQvp% zSW|UH2QMFlf{~}kx`pLξ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�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%0A_iW1s!A!9+#V=5FvZ<R|rJ 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 literal 0 HcmV?d00001 diff --git a/docs/posts/posts.json b/docs/posts/posts.json index 15f4aa7..bc6722b 100644 --- a/docs/posts/posts.json +++ b/docs/posts/posts.json @@ -14,10 +14,10 @@ "Technical", "EN" ], - "contents": "\n\nContents\nSunday - reflect about open science\nMonday - design a project\nGive cool names\nLicenses\n\nTuesday - control your versions\nWhat is version control? Why is it cool to use?\nA little bit of Git vocabulary and architecture\nThe repository main timeline\nBranches from the master: branch\nCopying repositories from the ‘cloud’ to the computer (or, working offline):\nCopying online repositories\nGeneral workflow vocabulary\n\nWorking remotely\nWorking locally\nBasic Commands\nHow to track changes in my files?\nWorking with branches\n\nOh, my Git! D=\n\n\nHave you ever felt lost in your own projects? Do you feel like your workflow is quite effective, but it’s not transparent enough? This detox routine can help you regain control over your (very messy - I know!) project structure and discover a marvelous world of collaboration and contribution in open science!\nReproducibility is a principle that resonates to the most used concept of science, assuring that a hypothesis is testable. It means that the process to test an idea - from data to results - can be repeated. It is different from replicability, which means the process can be repeated, but using different data.\nIn this detox week we will reflect and experiment with open science, using our skills for project design, version control, virtual environments and automation. We will reevaluate our current workflow and fine-tune where needed, to reach the most reproducible workflow possible for us.\nSunday - reflect about open science\n\nSelf-care task of the day\nGo to a calm place. No need of silence, just a place where you can just be still. Set a timer for 5min. Take a deep breath in, and a deep breath out. Give your body a scan-through: concentrate in each centimeter of it and try to be aware of how does your body feel there. Everytime you find a contracted muscle, try to relax it. Pay attention to the sounds around you. When the timer is off, take another deep breath.\n\nOn the first day of this detox journey, let’s reflect on our way to work and how it could be better. Take a moment of your day and think about:\nWhat is your current workflow when you develop a project? Take a pen and paper (physical or digital) and sketch your usual process, step-by-step. Add as much details as you can (and take this chance to get creative!). Make sure to save this sketch in a place that is easy to access, you’re gonna need it in the following days.\nHow do we build trust and facilitate collaboration in our projects?\nHow can be inclusive by design - what can we do in our projects to invite collaboration?\nIs reproducibility openness? If a project is reproducible, does that mean it is accessible?\nSuggested reading\nOur path to better science in less time using open data science tools\nMonday - design a project\n\nSelf-care task of the day\nGo to somewhere where you feel in peace or happy. Take paper and something to write - even better if it’s colorful! Set a timer for 30 minutes and doodle something that reflects how you are feeling, something that represents a happy thought you had today, or something that represents the place you are right now.\n\nIn this step we will squeeze our creativity out of our brains to come up with a project that is reproducible by design. Is there a hierarchy between your folders? Which folders do you need? Should you mix raw and clean data? Did this last question offend you?\nThere are a couple of tools you can use to automatically create a project structure for you, such as RProject and its combination with the R package minimaltemplate, or the PkgTemplate.jl for development of packages in Julia.\nThe main things you need to reflect on when designing your open project are:\nWill I use data? If yes, will I need to treat/clean/subset them?\nWill I use code?\nWill it be shared? If yes, how? Do I want people to cite me, for exemple?\nWill I need to generate manuscripts/reports/figures?\nWill it be useful for people to know how to navigate my project? Will I welcome collaborators and contributors?\nWhat is the naming system I will use - for both folders and files?\nSee an example of a structured project below (adapted from here):\n## /home/awesome-manuscript\n## ├── .github\n## ├── .gitignore\n## ├── .travis.yml\n## ├── DESCRIPTION\n## ├── LICENSE.md\n## ├── R\n## │ ├── analysis.Rmd\n## │ ├── local_functions.R\n## │ └── package_list.R\n## ├── README.md\n## ├── awesome-manuscript.Rproj\n## ├── data\n## │ ├── clean\n## │ ├── raw\n## │ └── temp\n## ├── main-script.Rmd\n## ├── manuscript\n## │ └── sources\n## │ ├── ecology-letters.csl\n## │ ├── library.bib\n## │ ├── packages.bib\n## │ └── template.docx\n## ├── output\n## │ ├── figures\n## │ ├── results\n## │ └── supp\n## └── todo.txt\nVery nice, but the TL;DR version is:\nConsider having a dedicated folder for your data and split them into clean and raw data (alternatively, you can store your cleaned data inside an “output” folder, where other sorts of outputs will also be). If needed, create another folder for “sandbox data” - we need to have room for creativity in science! Also make sure to store the metadata in these folders, alongside their respective data, where they belong.\nIf you will produce reports/manuscripts, maybe it’s a good idea to have a dedicated folder for them too. Store there everything you’ll need to render your files, such as bibliography and templates.\nFigures should go in their own folder too.\nCode usually go in their own folder too, but if the code is about making the project work and putting everything together, it should go in the root.\nGive cool names\nYour project is so awesome that it needs the coolest names in its folders and files! Good names are informative and consistent. It is a hard exercise, but we do get better with time. The main things to think about when naming your things are:\nDoes it describe what’s inside without being verbose?\nDoes it allow for correct ordering?\nIs it easily searchable (a.k.a., machine readable)? Will my computer crash if I need to change to this directory?\nLicenses\nAn important part of making your work reproducible by anyone is to share it, and to do that safely, it is important to connect your project to a license. This is a statement about what and how people can use any part of your project. Chosing a license can be a difficult task at first, but if your projects have a common structure, they should be ok with the same license. When chosing a license, it is important to ask yourself (and your collaborators) the following questions:\nDo we want people to give us credit for our work when this projects is distributed, derived, performed or displayed?\nDo we want the derivatives of this project be shared with the same license that we chose?\nAre we ok with this project being used for commercial purposes?\nA combination of your answers will guide you to find the best license for your project which is adequate for your community. There are a couple of online tools that can help you with that! For example, if you are sharing creative work, you can consult the Creative Commons - Choose a License tool. For other open source software licenses, you can take a look at the Choose A License website. The cool thing is: you can also create your own license! In any case, once you chose the appropriate license for your project, save it in your project root folder with the name “LICENSE” (as a text file). This way, your version control host system will automatically recognize it and display something like “hey, this project has a license!” when someone finds your project.\nSuggested readings\nMozilla Open Leaders lesson on sharing your work in the open\nHow to License Research Data\nTuesday - control your versions\n\nSelf-care task of the day\n\nWhat is version control? Why is it cool to use?\n\nA version control system allows changes made to a file to be recorded in a timeline, and it is possible to retrieve previous versions at any time.\nThis is possible because with version control you don’t save copies of your work, but its history, avoiding things like this in your working directory:\n- project/\n |- scripts/\n |- script-v0.1.R\n |- script-after-review-from-Princess-Lea.R \n |- script-merged.R \n |- script-not-working-anymore.R \n |- script-wtf.R \nGit is a distributed version control system, which means the snapshots of your work are stored in your local drive, but also can be distributed from the cloud to other developers.\nA little bit of Git vocabulary and architecture\nThe basic architecture we have to deal with is composed of a branches (including one we’ll call “main”, but is sometimes called “master”), clones and forks.\nThe repository main timeline\nThe main is the primary timeline of your repository (a project with the files required to develop it). There the files will ideally only be changed when strictly necessary, i.e. when a change is critical to the progress of the project.\nBranches from the master: branch\nA branch is a ramification from any other timeline. It is like a copy repository within the main repository, which is created to test changes that may or may not be implemented in the main timeline. Ideally, each developer creates a branch to test the changes they deem necessary and submit these changes to their colleagues’ judgment before implementing them in the main.\nCopying repositories from the ‘cloud’ to the computer (or, working offline):\nRepositories can be created online and many things can be done there. However, in order to work locally on a repository, i.e. to work offline, we need to create a clone of the repository we have online. A clone is a synchronised copy of your online repository. Everything you do in your local working directory (corresponding to the clone) will be synchronized with the online repository.\nCopying online repositories\nIn turn, forks are complete, independent copies of a repository. We use a fork (not a clone) when we want to change the direction of the project, or when we want to contribute to someone else’s project independently and only then suggest changes to the original project. If you need to update your fork with the newest version of the project, you can do that by requesting a fetch to Git.\nGeneral workflow vocabulary\nWhen we change some file and save the new version, we do a commit . Commits should be accompanied by short but sufficiently descriptive comments, so that you can understand what the difference in that version is and locate it more easily. With commits you can track what change was made, where, by whom and when.\ncommitAfter changing a file and saving the new version, this version needs to be given a tag (an identification code), and then uploaded to the online repository. We call this a push. To update your local directory with the newest versions of files, you must tell Git to pull them.\nWhen working on a branch, you can request that the changes you have made be implemented in the main branch of your workflow (or any other branch). To do this you request a merge via a pull request . In a pull request, you ask a repository owner or contributor to accept the changes you made to a fork or branch into another branch. If they accept, you are listed as a contributor to the project.\nWorking remotely\nThe online portal of your Git server allows you to do most of the tasks described above in a very intuitive way. You can edit some files, upload others, request a merge, create and delete a branch, etc. Once you know the Git logic and architecture, it is easy to work online.\nFor a detailed walkthrough, take a look at this page.\nWorking locally\nHowever, the changes we need to make cannot always be done directly in the portal, or would be done more efficiently if we worked on our computer, with our preferred software. To work on your repository from your computer, you only need to install Git itself (https://git-scm.com/downloads). Some softwares allow you to visualize the timeline and operations being made, such as GitKraken (https://www.gitkraken.com/) and some extentions for VSCode and RStudio.\nOnce you’ve installed Git, the there are two possible ways to start:\nYou can create your online repository directly on your Git host server (such as GitHub, GitLab or Bitbucket);\nOr you can “transform” a local directory into a Git controlled project.\nIn the first case, to have a copy of your online repository on your computer, just clone your directory, either by downloading all the files in a .zip or by copying the ssh key or html address to use in a Git command.\n\nYou can also clone from GitKraken, by clicking on the little folder on the top left corner or on “File” on the menu.\nIn the second case, you must right-click on your workbook and open the Git Bash; alternatively, in GitKraken, you can click on “Init” in the same window shown above and indicate the directory of your workbook in “New repository path”.\nBasic Commands\nThe following commands will give us an idea of a workflow in Git.\nTo use Git, you need to configure it so that your account on your Git server is recognised by it. In Git Bash:\ngit config --global user.name \"username\"\ngit config --global user.email \"iamawesome@email.com\"\ngit config --list #Confirm your settings\nThere, now Git knows who you are.\nTo start a repository from your computer, you can tell Git to start or “watch” a folder.\nFirst, check what the working directory is and change it if necessary.\npwd # prints the working directory\ncd # takes you to the root\ncd .. # takes you to one level up directory\ncd \"your/directory\" # changes your working directory\nTo clone your repository, copy the url as shown in the picture above and ask Git to clone the repository into the directory you indicated.\ngit clone https://github.com/graciellehigino/bios2.github.io.git\nThe above command will create a folder with the same name as the repository in your working directory. If you want the folder created to have another name, include that after the repository address. This process works if you have an online repository and want it to exist on your computer. You can also do it the other way round. If you have not yet created a folder for your project, you can ask Git to create one for you:\nmkdir \"web-repo-github\"\nBut if you already have a folder and want Git to “watch over” it, start a local repository in the directory indicated:\ngit init\nYou can (maybe you need to) tell Git where your remote repository is:\ngit remote add origin https://github.com/graciellehigino/bios2.github.io.git\nOk, now your repository is ready to use.\nCheck if there are new files in your folder or modified files that haven’t been pushed yet:\ngit status\nHey, couldn’t you find an important file? Add it to the Git vision field now!\ngit add file # adds a file\n\ngit add -u # updates the file tracking\n\ngit add -A # all the above\nTo make additions interactively via the terminal, use:\ngit add -i\nFollow the instructions provided by the terminal and include as many files as you want before committing.\nNow that Git is keeping an eye on all your files, any changes you make (and want them to be recorded in this file’s timeline) will be detected. To make sure your changes are recorded, “commit” the changed file with a comment so you can remember what the difference is in that version.\ngit commit -m \"it's awesome now\"\nA commit only updates the local repository if you are working locally, or the remote repository if you are working remotely. To synchronize the two repositories, you must either push updates to the remote repository or pull updates to the local repository.\ngit push origin master\n#\"Git, please take the updated files to the remote repository 'origin', on the 'main' branch.\"\n\ngit pull\n#\"Git, please bring the updated files from the remote repository to my local repository\"\nHow to track changes in my files?\nCheck the changes in the content of the files (e.g. new lines added):\ngit diff\nCheck the files and their changes that are in the stage area:\ngit diff --staged\nIf you are lost between the different versions of your files, check the commit history! :)\ngit log # history of project commits since the beginning\ngit log -p # detailed historic of commits (i.e. git log + git diff)\nDepending on the size of the changes, the log may be very large and you will need to press “return” to each page to see all the changes. At the end you will see (END), then press the letter ‘q’ to finish reading.\nIf you only want to check the latest commits, limit the list with git log -p -1 (replace the 1 with the number of commits you wish to see). You can also check out the entire change history of the working directories with the Git viewer with gitk. Isn’t that cool!\nWorking with branches\nBranches are ramifications of other timelines. They are very useful when you need to test or work on large changes without changing what is on the main branch. It is very important to maintain branches in your collaborative work, because it reduces the chance of the main branch suffering accidental major changes and simplifies the management of file versions.\ngit show-branch -a # lists all branches\n\ngit branch name_of_branch # creates a new branch\n\ngit checkout name_of_branch # transfers the workspace to the new branch\n\ngit checkout -b name_of_branch # creates a branch and transfers the workspace\nWhen all the changes you have made to your branch are done and you think it is time to merge them into the main (or any other branch), move to the target branch and request a merge:\ngit merge new_branch # merges the changes from 'new_branch' to 'main'\nIf you no longer need the branch and want to delete it, use the git branch -d new_branch command.\nIt can often happen that your working branch is not up to date with the main. This can be a problem if the main has important updates for the development of your project on the branch. To bring the main updates to your branch, follow these steps:\n1. Check if your workspace is on the main branch. If not, transfer it:\ngit checkout master\nOn the main, update your local directory:\ngit pull\nAfter updating your local directory, move to your branch, merge the main updates into your branch and upload to the remote repository:\ngit checkout your-branch\ngit merge main your-branch\ngit push\nThat’s it! Now your branch contains everything that was new in the main. :)\nOh, my Git! D=\nDid you mess up commits? Want to revert a change? Don’t despair!\nIf you made a commit and regret it, but don’t even remember which commit it was (“Find out commits associated for a specific file”):\ngit log -p filename`\nIf you want to include new edits to the last commit, replacing it:\ngit commit --amend -m \"message\"\nIf you want to remove any file from the stage area after a git add .:\ngit reset HEAD new_file.R\nBut if you want to remove it from your working tree and the set of added files:\ngit rm new_file.R\nIf all that goes wrong, try the following (tips taken from here):\ngit revert --no-commit <commit hash> # Revert, but don't commit yet\ngit reset # Take everything from the stage area\ngit add yourFilesToRevert # Add files to revert\ngit commit -m \"commit message\"\ngit reset --hard # Undo changes not commited\nIf you want to remove all local changes and commits, retrieve the most recent history from the server and point to your local branch main like this:\ngit fetch origin\ngit reset --hard origin/master\nThat’s it! There’s a lot more in the git world, but I hope this guide can help you on your version control journey.\nRemember: keep the main as untouched as possible, work with branches to test your ideas, and always push your modifications before going to bed.\nSuggested reading\nThis lesson was transleted from a git guide in Portuguese I wrote with Karlo Guidoni in a study group we promoted at Universidade Federal de Goiás, back in 2017, and we used time and again in our reproducibility trainings. You can take a look in our repository here.\n\n\n\n", + "contents": "\n\nContents\nSunday - reflect about open science\nMonday - design a project\nGive cool names\nLicenses\n\nTuesday - control your versions\nWhat is version control? Why is it cool to use?\nA little bit of Git vocabulary and architecture\nThe repository main timeline\nBranches from the master: branch\nCopying repositories from the ‘cloud’ to the computer (or, working offline):\nCopying online repositories\nGeneral workflow vocabulary\n\nWorking remotely\nWorking locally\nBasic Commands\nHow to track changes in my files?\nWorking with branches\n\nOh, my Git! D=\n\nWednesday - preserve your tools\nThursday - automate your workflows\nReproducible code\nStyle\nComment\n\n\nSaturday - reproducible challange\n\nHave you ever felt lost in your own projects? Do you feel like your workflow is quite effective, but it’s not transparent enough? This detox routine can help you regain control over your (very messy - I know!) project structure and discover a marvelous world of collaboration and contribution in open science!\nReproducibility is a principle that resonates to the most used concept of science, assuring that a hypothesis is testable. It means that the process to test an idea - from data to results - can be repeated. It is different from replicability, which means the process can be repeated, but using different data.\nIn this detox week we will reflect and experiment with open science, using our skills for project design, version control, virtual environments and automation. We will reevaluate our current workflow and fine-tune where needed, to reach the most reproducible workflow possible for us.\nSunday - reflect about open science\n\nSelf-care task of the day\nGo to a calm place. No need of silence, just a place where you can just be still. Set a timer for 5min. Take a deep breath in, and a deep breath out. Give your body a scan-through: concentrate in each centimeter of it and try to be aware of how does your body feel there. Everytime you find a contracted muscle, try to relax it. Pay attention to the sounds around you. When the timer is off, take another deep breath.\n\n\nOn the first day of this detox journey, let’s reflect on our way to work and how it could be better. Take a moment of your day and think about:\nWhat is your current workflow when you develop a project? Take a pen and paper (physical or digital) and sketch your usual process, step-by-step. Add as much details as you can (and take this chance to get creative!). Make sure to save this sketch in a place that is easy to access, you’re gonna need it in the following days.\nHow do we build trust and facilitate collaboration in our projects?\nHow can be inclusive by design - what can we do in our projects to invite collaboration?\nIs reproducibility openness? If a project is reproducible, does that mean it is accessible?\nSuggested reading\nOur path to better science in less time using open data science tools\nMonday - design a project\n\nSelf-care task of the day\nGo to somewhere where you feel in peace or happy. Take paper and something to write - even better if it’s colorful! Set a timer for 30 minutes and doodle something that reflects how you are feeling, something that represents a happy thought you had today, or something that represents the place you are right now.\n\nIn this step we will squeeze our creativity out of our brains to come up with a project that is reproducible by design. Is there a hierarchy between your folders? Which folders do you need? Should you mix raw and clean data? Did this last question offend you?\nThere are a couple of tools you can use to automatically create a project structure for you, such as RProject and its combination with the R package minimaltemplate, or the PkgTemplate.jl for development of packages in Julia.\nThe main things you need to reflect on when designing your open project are:\nWill I use data? If yes, will I need to treat/clean/subset them?\nWill I use code?\nWill it be shared? If yes, how? Do I want people to cite me, for exemple?\nWill I need to generate manuscripts/reports/figures?\nWill it be useful for people to know how to navigate my project? Will I welcome collaborators and contributors?\nWhat is the naming system I will use - for both folders and files?\nSee an example of a structured project below (adapted from here):\n## /home/awesome-manuscript\n## ├── .github\n## ├── .gitignore\n## ├── .travis.yml\n## ├── DESCRIPTION\n## ├── LICENSE.md\n## ├── R\n## │ ├── analysis.Rmd\n## │ ├── local_functions.R\n## │ └── package_list.R\n## ├── README.md\n## ├── awesome-manuscript.Rproj\n## ├── data\n## │ ├── clean\n## │ ├── raw\n## │ └── temp\n## ├── main-script.Rmd\n## ├── manuscript\n## │ └── sources\n## │ ├── ecology-letters.csl\n## │ ├── library.bib\n## │ ├── packages.bib\n## │ └── template.docx\n## ├── output\n## │ ├── figures\n## │ ├── results\n## │ └── supp\n## └── todo.txt\nVery nice, but the TL;DR version is:\nConsider having a dedicated folder for your data and split them into clean and raw data (alternatively, you can store your cleaned data inside an “output” folder, where other sorts of outputs will also be). If needed, create another folder for “sandbox data” - we need to have room for creativity in science! Also make sure to store the metadata in these folders, alongside their respective data, where they belong.\nIf you will produce reports/manuscripts, maybe it’s a good idea to have a dedicated folder for them too. Store there everything you’ll need to render your files, such as bibliography and templates.\nFigures should go in their own folder too.\nCode usually go in their own folder too, but if the code is about making the project work and putting everything together, it should go in the root.\nGive cool names\nYour project is so awesome that it needs the coolest names in its folders and files! Good names are informative and consistent. It is a hard exercise, but we do get better with time. The main things to think about when naming your things are:\nDoes it describe what’s inside without being verbose?\nDoes it allow for correct ordering?\nIs it easily searchable (a.k.a., machine readable)? Will my computer crash if I need to change to this directory?\nLicenses\nAn important part of making your work reproducible by anyone is to share it, and to do that safely, it is important to connect your project to a license. This is a statement about what and how people can use any part of your project. Chosing a license can be a difficult task at first, but if your projects have a common structure, they should be ok with the same license. When chosing a license, it is important to ask yourself (and your collaborators) the following questions:\nDo we want people to give us credit for our work when this projects is distributed, derived, performed or displayed?\nDo we want the derivatives of this project be shared with the same license that we chose?\nAre we ok with this project being used for commercial purposes?\nA combination of your answers will guide you to find the best license for your project which is adequate for your community. There are a couple of online tools that can help you with that! For example, if you are sharing creative work, you can consult the Creative Commons - Choose a License tool. For other open source software licenses, you can take a look at the Choose A License website. The cool thing is: you can also create your own license! In any case, once you chose the appropriate license for your project, save it in your project root folder with the name “LICENSE” (as a text file). This way, your version control host system will automatically recognize it and display something like “hey, this project has a license!” when someone finds your project.\nSuggested readings\nMozilla Open Leaders lesson on sharing your work in the open\nHow to License Research Data\nTuesday - control your versions\n\nSelf-care task of the day\n\nWhat is version control? Why is it cool to use?\n\nA version control system allows changes made to a file to be recorded in a timeline, and it is possible to retrieve previous versions at any time.\nThis is possible because with version control you don’t save copies of your work, but its history, avoiding things like this in your working directory:\n- project/\n |- scripts/\n |- script-v0.1.R\n |- script-after-review-from-Princess-Lea.R \n |- script-merged.R \n |- script-not-working-anymore.R \n |- script-wtf.R \nGit is a distributed version control system, which means the snapshots of your work are stored in your local drive, but also can be distributed from the cloud to other developers.\nA little bit of Git vocabulary and architecture\nThe basic architecture we have to deal with is composed of a branches (including one we’ll call “main”, but is sometimes called “master”), clones and forks.\nThe repository main timeline\nThe main is the primary timeline of your repository (a project with the files required to develop it). There the files will ideally only be changed when strictly necessary, i.e. when a change is critical to the progress of the project.\nBranches from the master: branch\nA branch is a ramification from any other timeline. It is like a copy repository within the main repository, which is created to test changes that may or may not be implemented in the main timeline. Ideally, each developer creates a branch to test the changes they deem necessary and submit these changes to their colleagues’ judgment before implementing them in the main.\nCopying repositories from the ‘cloud’ to the computer (or, working offline):\nRepositories can be created online and many things can be done there. However, in order to work locally on a repository, i.e. to work offline, we need to create a clone of the repository we have online. A clone is a synchronised copy of your online repository. Everything you do in your local working directory (corresponding to the clone) will be synchronized with the online repository.\nCopying online repositories\nIn turn, forks are complete, independent copies of a repository. We use a fork (not a clone) when we want to change the direction of the project, or when we want to contribute to someone else’s project independently and only then suggest changes to the original project. If you need to update your fork with the newest version of the project, you can do that by requesting a fetch to Git.\nGeneral workflow vocabulary\nWhen we change some file and save the new version, we do a commit . Commits should be accompanied by short but sufficiently descriptive comments, so that you can understand what the difference in that version is and locate it more easily. With commits you can track what change was made, where, by whom and when.\ncommitAfter changing a file and saving the new version, this version needs to be given a tag (an identification code), and then uploaded to the online repository. We call this a push. To update your local directory with the newest versions of files, you must tell Git to pull them.\nWhen working on a branch, you can request that the changes you have made be implemented in the main branch of your workflow (or any other branch). To do this you request a merge via a pull request . In a pull request, you ask a repository owner or contributor to accept the changes you made to a fork or branch into another branch. If they accept, you are listed as a contributor to the project.\nWorking remotely\nThe online portal of your Git server allows you to do most of the tasks described above in a very intuitive way. You can edit some files, upload others, request a merge, create and delete a branch, etc. Once you know the Git logic and architecture, it is easy to work online.\nFor a detailed walkthrough, take a look at this page.\nWorking locally\nHowever, the changes we need to make cannot always be done directly in the portal, or would be done more efficiently if we worked on our computer, with our preferred software. To work on your repository from your computer, you only need to install Git itself (https://git-scm.com/downloads). Some softwares allow you to visualize the timeline and operations being made, such as GitKraken (https://www.gitkraken.com/) and some extentions for VSCode and RStudio.\nOnce you’ve installed Git, the there are two possible ways to start:\nYou can create your online repository directly on your Git host server (such as GitHub, GitLab or Bitbucket);\nOr you can “transform” a local directory into a Git controlled project.\nIn the first case, to have a copy of your online repository on your computer, just clone your directory, either by downloading all the files in a .zip or by copying the ssh key or html address to use in a Git command.\n\nYou can also clone from GitKraken, by clicking on the little folder on the top left corner or on “File” on the menu.\nIn the second case, you must right-click on your workbook and open the Git Bash; alternatively, in GitKraken, you can click on “Init” in the same window shown above and indicate the directory of your workbook in “New repository path”.\nBasic Commands\nThe following commands will give us an idea of a workflow in Git.\nTo use Git, you need to configure it so that your account on your Git server is recognised by it. In Git Bash:\ngit config --global user.name \"username\"\ngit config --global user.email \"iamawesome@email.com\"\ngit config --list #Confirm your settings\nThere, now Git knows who you are.\nTo start a repository from your computer, you can tell Git to start or “watch” a folder.\nFirst, check what the working directory is and change it if necessary.\npwd # prints the working directory\ncd # takes you to the root\ncd .. # takes you to one level up directory\ncd \"your/directory\" # changes your working directory\nTo clone your repository, copy the url as shown in the picture above and ask Git to clone the repository into the directory you indicated.\ngit clone https://github.com/graciellehigino/bios2.github.io.git\nThe above command will create a folder with the same name as the repository in your working directory. If you want the folder created to have another name, include that after the repository address. This process works if you have an online repository and want it to exist on your computer. You can also do it the other way round. If you have not yet created a folder for your project, you can ask Git to create one for you:\nmkdir \"web-repo-github\"\nBut if you already have a folder and want Git to “watch over” it, start a local repository in the directory indicated:\ngit init\nYou can (maybe you need to) tell Git where your remote repository is:\ngit remote add origin https://github.com/graciellehigino/bios2.github.io.git\nOk, now your repository is ready to use.\nCheck if there are new files in your folder or modified files that haven’t been pushed yet:\ngit status\nHey, couldn’t you find an important file? Add it to the Git vision field now!\ngit add file # adds a file\n\ngit add -u # updates the file tracking\n\ngit add -A # all the above\nTo make additions interactively via the terminal, use:\ngit add -i\nFollow the instructions provided by the terminal and include as many files as you want before committing.\nNow that Git is keeping an eye on all your files, any changes you make (and want them to be recorded in this file’s timeline) will be detected. To make sure your changes are recorded, “commit” the changed file with a comment so you can remember what the difference is in that version.\ngit commit -m \"it's awesome now\"\nA commit only updates the local repository if you are working locally, or the remote repository if you are working remotely. To synchronize the two repositories, you must either push updates to the remote repository or pull updates to the local repository.\ngit push origin master\n#\"Git, please take the updated files to the remote repository 'origin', on the 'main' branch.\"\n\ngit pull\n#\"Git, please bring the updated files from the remote repository to my local repository\"\nHow to track changes in my files?\nCheck the changes in the content of the files (e.g. new lines added):\ngit diff\nCheck the files and their changes that are in the stage area:\ngit diff --staged\nIf you are lost between the different versions of your files, check the commit history! :)\ngit log # history of project commits since the beginning\ngit log -p # detailed historic of commits (i.e. git log + git diff)\nDepending on the size of the changes, the log may be very large and you will need to press “return” to each page to see all the changes. At the end you will see (END), then press the letter ‘q’ to finish reading.\nIf you only want to check the latest commits, limit the list with git log -p -1 (replace the 1 with the number of commits you wish to see). You can also check out the entire change history of the working directories with the Git viewer with gitk. Isn’t that cool!\nWorking with branches\nBranches are ramifications of other timelines. They are very useful when you need to test or work on large changes without changing what is on the main branch. It is very important to maintain branches in your collaborative work, because it reduces the chance of the main branch suffering accidental major changes and simplifies the management of file versions.\ngit show-branch -a # lists all branches\n\ngit branch name_of_branch # creates a new branch\n\ngit checkout name_of_branch # transfers the workspace to the new branch\n\ngit checkout -b name_of_branch # creates a branch and transfers the workspace\nWhen all the changes you have made to your branch are done and you think it is time to merge them into the main (or any other branch), move to the target branch and request a merge:\ngit merge new_branch # merges the changes from 'new_branch' to 'main'\nIf you no longer need the branch and want to delete it, use the git branch -d new_branch command.\nIt can often happen that your working branch is not up to date with the main. This can be a problem if the main has important updates for the development of your project on the branch. To bring the main updates to your branch, follow these steps:\n1. Check if your workspace is on the main branch. If not, transfer it:\ngit checkout master\nOn the main, update your local directory:\ngit pull\nAfter updating your local directory, move to your branch, merge the main updates into your branch and upload to the remote repository:\ngit checkout your-branch\ngit merge main your-branch\ngit push\nThat’s it! Now your branch contains everything that was new in the main. :)\nOh, my Git! D=\nDid you mess up commits? Want to revert a change? Don’t despair!\nIf you made a commit and regret it, but don’t even remember which commit it was (“Find out commits associated for a specific file”):\ngit log -p filename`\nIf you want to include new edits to the last commit, replacing it:\ngit commit --amend -m \"message\"\nIf you want to remove any file from the stage area after a git add .:\ngit reset HEAD new_file.R\nBut if you want to remove it from your working tree and the set of added files:\ngit rm new_file.R\nIf all that goes wrong, try the following (tips taken from here):\ngit revert --no-commit <commit hash> # Revert, but don't commit yet\ngit reset # Take everything from the stage area\ngit add yourFilesToRevert # Add files to revert\ngit commit -m \"commit message\"\ngit reset --hard # Undo changes not commited\nIf you want to remove all local changes and commits, retrieve the most recent history from the server and point to your local branch main like this:\ngit fetch origin\ngit reset --hard origin/master\nThat’s it! There’s a lot more in the git world, but I hope this guide can help you on your version control journey.\nRemember: keep the main as untouched as possible, work with branches to test your ideas, and always push your modifications before going to bed.\nSuggested reading\nThis lesson was translated from a git guide in Portuguese I wrote with Karlo Guidoni in a study group we promoted at Universidade Federal de Goiás, back in 2017, and we used time and again in our reproducibility trainings. You can take a look in our repository here.\nWednesday - preserve your tools\n\nSelf-care task of the day\n\nThursday - automate your workflows\n\nSelf-care task of the day\nFriday - make your code and manuscript reproducible\nSelf-care task of the day\n\nReproducible code\nStyle\n! Object names\nComment\n! Documentation day! ! Make it metadatable (record session info, package versions, dependencies…) ! Package of packages! ! Containerize it! ### Functions and packages ! Test them! ## Reproducible manuscripts\nThe logics YAML\nBasic syntax - cheat sheet\nR Markdown Cheat Sheet\n\n\nrticles\nrmdTemplates\nbookdown\nSaturday - reproducible challange\n\nSelf-care task of the day\n\n\n\n\n", "preview": {}, - "last_modified": "2021-06-17T19:06:15-04:00", - "input_file": "unreproducibility-detox.utf8.md" + "last_modified": "2021-06-18T17:01:27-04:00", + "input_file": {} }, { "path": "posts/2021-03-25-point-count-data-analysis/", @@ -36,7 +36,7 @@ ], "contents": "\n\nContents\nInstructor\nOutline\nGet course materials\nInstall required software\nGet the notes\n\nUseful resources\nReferences\nLicense\n\n\nThis course is aimed towards researchers analyzing field observations, who are often faced by data heterogeneities due to field sampling protocols changing from one project to another, or through time over the lifespan of projects, or trying to combine ‘legacy’ data sets with new data collected by recording units.\nSuch heterogeneities can bias analyses when data sets are integrated inadequately, or can lead to information loss when filtered and standardized to common standards. Accounting for these issues is important for better inference regarding status and trend of species and communities.\nAnalysts of such ‘messy’ data sets need to feel comfortable with manipulating the data, need a full understanding the mechanics of the models being used (i.e. critically interpreting the results and acknowledging assumptions and limitations), and should be able to make informed choices when faced with methodological challenges.\nThe course emphasizes critical thinking and active learning through hands on programming exercises. We will use publicly available data sets to demonstrate the data manipulation and analysis. We will use freely available and open-source R packages.\nThe expected outcome of the course is a solid foundation for further professional development via increased confidence in applying these methods for field observations.\nInstructor\nDr. Peter SolymosBoreal Avian Modelling Project and the Alberta Biodiversity Monitoring InstituteDepartment of Biological Sciences, University of Alberta\nOutline\nEach day will consist of 3 sessions, roughly one hour each, with short breaks in between.\n\nThe video recordings from the workshop can be found on YouTube.\n\nSession\nTopic\nFiles\nVideos\nDay 1\nNaive techniques\n\n\n\n1. Introductions\nSlides\nVideo\n\n2. Organizing point count data\nNotes\nPart 1, Part 2\n\n3. Regression techniques\nNotes\nPart 1, Part 2\nDay 2\nBehavioral complexities\n\n\n\n1. Statistical assumptions and nuisance variables\nSlides\nVideo\n\n2. Behavioral complexities\nNotes\nbSims, Video\n\n3. Removal modeling techniques\nNotes\nVideo\n\n4. Finite mixture models and testing assumptions\nNotes\nMixtures, Testing\nDay 3\nThe detection process\n\n\n\n1. The detection process\nSlides\nVideo\n\n2. Distance sampling and density\nNotes\nVideo\n\n3. Estimating population density\nNotes\nVideo\n\n4. Assumptions\nNotes\nVideo\nDay 4\nComing full circle\n\n\n\n1. QPAD overview\nSlides\nVideo\n\n2. Models with detectability offsets\nNotes\nOffsets, Models\n\n3. Model validation and error propagation\nNotes\nValidation, Error\n\n4. Recordings, roadsides, closing remarks\nNotes\nVideo\nGet course materials\nInstall required software\nFollow the instructions at the R website to download and install the most up-to-date base R version suitable for your operating system (the latest R version at the time of writing these instructions is 4.0.4).\nThen run the following script in R:\nsource(\"https://raw.githubusercontent.com/psolymos/qpad-workshop/main/src/install.R\")\nHaving RStudio is not absolutely necessary, but it will make life easier. RStudio is also available for different operating systems. Pick the open source desktop edition from here (the latest RStudio Desktop version at the time of writing these instructions is 1.4.1106).\nPrior exposure to R programming is not necessary, but knowledge of basic R object types and their manipulation (arrays, data frames, indexing) is useful for following hands-on exercises. Software Carpentry’s Data types and structures in R is a good resource to brush up your R skills.\nGet the notes\nIf you don’t want to use git:\nDownload the workshop archive release into a folder\nExtract the zip archive\nOpen the workshop.Rproj file in RStudio (or open any other R GUI/console and setwd() to the directory where you downloaded the file)\n(You can delete the archive)\nIf you want to use git: fork or clone the repository\ncd into/your/dir\ngit clone https://github.com/psolymos/qpad-workshop.git\nUseful resources\nUsing the QPAD package to get offsets based on estimates from the Boreal Avian Modelling Project’s database\nNA-POPS: Point count Offsets for Population Sizes of North America landbirds\nReferences\nSólymos, P., Toms, J. D., Matsuoka, S. M., Cumming, S. G., Barker, N. K. S., Thogmartin, W. E., Stralberg, D., Crosby, A. D., Dénes, F. V., Haché, S., Mahon, C. L., Schmiegelow, F. K. A., and Bayne, E. M., 2020. Lessons learned from comparing spatially explicit models and the Partners in Flight approach to estimate population sizes of boreal birds in Alberta, Canada. Condor, 122: 1-22. PDF\nSólymos, P., Matsuoka, S. M., Cumming, S. G., Stralberg, D., Fontaine, P., Schmiegelow, F. K. A., Song, S. J., and Bayne, E. M., 2018. Evaluating time-removal models for estimating availability of boreal birds during point-count surveys: sample size requirements and model complexity. Condor, 120: 765-786. PDF\nSólymos, P., Matsuoka, S. M., Stralberg, D., Barker, N. K. S., and Bayne, E. M., 2018. Phylogeny and species traits predict bird detectability. Ecography, 41: 1595-1603. PDF\nVan Wilgenburg, S. L., Sólymos, P., Kardynal, K. J. and Frey, M. D., 2017. Paired sampling standardizes point count data from humans and acoustic recorders. Avian Conservation and Ecology, 12(1):13. PDF\nYip, D. A., Leston, L., Bayne, E. M., Sólymos, P. and Grover, A., 2017. Experimentally derived detection distances from audio recordings and human observers enable integrated analysis of point count data. Avian Conservation and Ecology, 12(1):11. PDF\nSólymos, P., and Lele, S. R., 2016. Revisiting resource selection probability functions and single-visit methods: clarification and extensions. Methods in Ecology and Evolution, 7:196-205. PDF\nMatsuoka, S. M., Mahon, C. L., Handel, C. M., Sólymos, P., Bayne, E. M., Fontaine, P. C., and Ralph, C. J., 2014. Reviving common standards in point-count surveys for broad inference across studies. Condor 116:599-608. PDF\nSólymos, P., Matsuoka, S. M., Bayne, E. M., Lele, S. R., Fontaine, P., Cumming, S. G., Stralberg, D., Schmiegelow, F. K. A. & Song, S. J., 2013. Calibrating indices of avian density from non-standardized survey data: making the most of a messy situation. Methods in Ecology and Evolution 4:1047-1058. PDF\nMatsuoka, S. M., Bayne, E. M., Sólymos, P., Fontaine, P., Cumming, S. G., Schmiegelow, F. K. A., & Song, S. A., 2012. Using binomial distance-sampling models to estimate the effective detection radius of point-counts surveys across boreal Canada. Auk 129:268-282. PDF\nLicense\nThe course material is licensed under Attribution-NonCommercial-ShareAlike 4.0 International (CC BY-NC-SA 4.0) license. Source code is under MIT license.\n\n\n\n", "preview": "posts/2021-03-25-point-count-data-analysis/thumb.jpg", - "last_modified": "2021-04-19T15:31:33-04:00", + "last_modified": "2021-05-19T11:56:36-04:00", "input_file": {} }, { @@ -60,7 +60,7 @@ ], "contents": "\nEn 2021, nous aurons une série de formations et d’activités de réflexion sur les questions d’équité, diversité et d’inclusion. Notre objectif est de mettre en place un plan d’action EDI pour le programme afin de consolider un environnement plus inclusif, respectueux et ouvert.\nLes objectifs de cet ateliers sont:\nDéfinir les concepts d’équité, de diversité et d’inclusion\nIdentifier les avantages et les défis de l’ÉDI en contexte universitaire\nIdentifier comment être porteuse ou porteur de l’ÉDI lors de son parcours universitaire\nSe sensibiliser à la communication interculturelle (compétence professionnelle de demain)\nL’atelier est développé par Agathe Riallan, Coordinatrice facultaire de l’Équité, de la Diversité et de l’Inclusion (ÉDI) de la Faculté des Sciences à Université de Sherbrooke, en collaboration avec Marie-José Naud, Conseillère en équité, diversité et inclusion et coordonnatrice au Centre d’études nordiques (CEN).\n\n\n\n\n\n\n", "preview": {}, - "last_modified": "2021-04-30T19:26:35-04:00", + "last_modified": "2021-05-19T11:56:36-04:00", "input_file": {} }, { @@ -84,7 +84,7 @@ ], "contents": "\nIn 2021, the BIOS2 trining program will be holding a series of training and reflection activities on equity, diversity and inclusion issues. The goal is to develop an EDI action plan for the program in order to consolidate a more inclusive, respectful and open environment.\nThe objectives of this workshop are:\nDefine the concepts of equity, diversity and inclusion\nIdentify the benefits and challenges of EDI in the university context\nRecongnize how to become an EDI bearer during one’s university career\nRaise awareness of intercultural communication (professional competence of tomorrow)\nThe workshop is developed by Agathe Riallan, Faculty Coordinator for Equity, Diversity and Inclusion (EDI) at the Faculty of Science, Université de Sherbrooke, in collaboration with Marie-José Naud, Equity, Diversity and Inclusion Advisor and Coordinator at the Centre d’études nordiques (CEN).\n\n\n\n\n\n\n", "preview": {}, - "last_modified": "2021-04-30T17:46:05-04:00", + "last_modified": "2021-05-19T11:56:36-04:00", "input_file": {} }, { @@ -104,7 +104,7 @@ ], "contents": "\n\n\nTexte en français à la suite.\nSpatial statistics in ecology\nBIOS² hosted an online training session about statistical analysis of spatial data in ecology, led by Pr. Philippe Marchand (UQAT). This 12-hour training was conducted in 4 sessions: January 12, 14, 19 & 21 (2021) from 1:00 to 4:00 pm EST.\nThe content included three types of spatial statistical analyses and their applications to ecology: (1) point pattern analysis to study the distribution of individuals or events in space; (2) geostatistical models to represent the spatial correlation of variables sampled at geolocated points; and (3) areal data models, which apply to measurements taken on areas in space and model spatial relationships as networks of neighbouring regions.\nThe training also included practical exercises using the R statistical programming environment.\nPhilippe Marchand is a professor in ecology and biostatistics at Institut de recherche sur les forêts, Université du Québec en Abitibi-Témiscamingue (UQAT) and BIOS² academic member. His research focuses on modeling processes that influence the spatial distribution of populations, including: seed dispersal and seedling establishment, animal movement, and the spread of forest diseases.\nIf you wish to consult the lesson materials and follow the exercises at your own pace, you can access them through this link. Basic knowledge of linear regression models and experience fitting them in R is recommended. Original repository can be found here.\nStatistiques spatiales en écologie\nBIOS² a organisé une session de formation en ligne sur l’analyse statistique des données spatiales en écologie, animée par le Pr. Philippe Marchand (UQAT). Cette formation de 12 heures s’est déroulée en 4 sessions : 12, 14, 19 & 21 janvier (2021) de 13h00 à 16h00 HNE.\nLe contenu comprenait trois types d’analyses statistiques spatiales et leurs applications en écologie : (1) l’analyse des patrons de points qui permet d’étudier la distribution d’individus ou d’événements dans l’espace; (2) les modèles géostatistiques qui représentent la corrélation spatiale de variables échantillonnées à des points géoréférencés; et (3) les modèles de données aréales, qui s’appliquent aux mesures prises sur des régions de l’espace et qui représentent les liens spatiaux par le biais de réseaux de voisinage.\nLa formation comprenait également des exercices pratiques utilisant l’environnement de programmation statistique R.\nPhilippe Marchand est professeur d’écologie et de biostatistique à l’Institut de recherche sur les forêts, Université du Québec en Abitibi-Témiscamingue (UQAT) et membre académique de BIOS². Ses travaux de recherche portent sur la modélisation de processus qui influencent la distribution spatiale des populations, incluant: la dispersion des graines et l’établissement des semis, le mouvement des animaux, et la propagation des épidémies forestières.\nSi vous souhaitez consulter le matériel pédagogique et suivre les exercices à votre propre rythme, vous pouvez y accéder par ce lien. Une connaissance de base des modèles de régression linéaire et une expérience de l’ajustement de ces modèles dans R sont recommandées. Le repositoire original se trouve ici.\n\n\n\n", "preview": "https://bios2.usherbrooke.ca/wp-content/uploads/2020/12/bernard-hermant-XyzPOIMqWfc-unsplash-2-1-768x512.jpg", - "last_modified": "2021-04-30T15:21:54-04:00", + "last_modified": "2021-05-19T11:56:36-04:00", "input_file": {} }, { @@ -128,7 +128,7 @@ ], "contents": "\n\nContents\nUsing a theme\nExercise 1\n\nCustomizing a theme\nBasics of HTML\nA divider, used to organize content into blocks\nA span, used to organize content or text into sections with different styles. Usually on the same line.\nA paragraph\nHeadings at different levels\nAn image\nA link\n\nLink between HTML and CSS\nIn html\nIn CSS\n\nBasics of CSS\nExercise 2\n\nPartials\nExercise 3\n\nNow a bit of GO lang to make the featured species different.\nExercise 4\n\niFrames\nExercise 5\n\n\nUsing a theme\nIt is usually a good idea to not modify a template directly, but to have the template and the site in a separate folder. The basic concept when doing this is that the config.toml file of the site has to link to the proper folder of the theme.\nFor example\ntheme = \"template-site\"\nthemesDir = \"../..\"\nThis means that the template site is in a folder named template-site which is a parent folder of the site folder. Other options are possible.\nUsually, all the content should go in the site folder, not in the theme folder.\nExercise 1\nStart modifying the theme to make it look like a website for a Zoo. Choose your preferred color scheme by changing the style= parameter in the config.toml file.\nFeel free to download some images from unsplash and save them in the static/img folder. You can then use these images in the carrousel, as “testimonial” photos or as background images for some of the sections. You can add or remove sections from the home page by editing the config.toml file and changing the enable= parameter in the params. segment at the bottom.\nYou can also try to create a new blog entry by adding a new file in the content/blog folder. This file will have a .md extension and will be written in markdown format.\nCustomizing a theme\nBasics of HTML\nCore structure of an HTML page\n<!DOCTYPE html>\n<html>\n<head>\n<title>This is my great website<\/title>\n<style>\n.css_goes_here{\n\n}\n<\/style>\n<\/head>\n<body>\n<h1>Main title<\/h1>\n<div>Main content goes here<\/div>\n<\/body>\n<\/html>\nA divider, used to organize content into blocks\n<div><\/div>\nA span, used to organize content or text into sections with different styles. Usually on the same line.\n<span><\/span>\nA paragraph\n<p><\/p>\nHeadings at different levels\n<h1>Main title<\/h1>\n<h2>Second level<\/h2>\n<h3>Third level<\/h3>\nAn image\n<img src='img/image_name.jpg'>\nA link\n<a href=\"https://bios2.github.io\">Great website here!<\/a>\nLink between HTML and CSS\nIn html\nid is always unique. Class is not.\n<div id=\"this-div-only\" class=\"this-type-of-div\">\nOne great div!\n<\/div>\nIn CSS\n“#” is applied to id and “.” is applied to class. When nothing is specified, applies to tag.\n#this-div-only{\n font-size:24px;\n}\n\n.this-type-of-div{\n color: #bb0000;\n}\n\ndiv{\n display:block;\n}\nBasics of CSS\nW3 Schools CSS reference\nProperty\nDescription\nExample\nwidth, height\nwidth of item\n200px, 200pt, 100%, 100vw/vh\nmin-width, min-height\nminimum size of item\n200px, 200pt, 100%, 100vw\ncolor\nfont color\n#aa0000, red or rgb(255,0,0)\nbackground-color\ncolor of background\n#aa0000, red or rgb(255,0,0)\nborder-color\ncolor of border\n#aa0000, red or rgb(255,0,0)\nborder\nsize, type and color of border\n1px solid black\nmargin\nmargin around item (top right bottom left)\n1px, or 1px 2px 2px 1px\npadding\npadding within item, inside div for example\n10px\nfont-family\nname of font\nVerdana, Arial\nfont-size\nsize of text\n14px, 2em\ndisplay\nshould item be on the same line, or in a separate block?\ninline, block, inline-block, flex, …\nExercise 2\nCreate a file named custom.css under template-site/my-site/static/css/.\nRight-click on elements on the web page that you want to modify, then click on Inspect element and try to find CSS properties that you could modify to improve the look of the page. Then, choosing the proper class, add entries in the custom.css file that start with a dot (.) followed by the proper class names.\n.this-class {\n font-size:28px;\n}\nPartials\nPartials are snippets of HTML code that could be reused on different places on the website. For example, you will see that the layouts/index.html file in the template-site folder lists all the partials that create the home page.\nAn important point to remember is that Hugo will look for files first in the site’s folders, and if it doesn’t find the files there, it will look for them in the theme’s folder. So site folder layouts and CSS take priority over the theme folder.\nExercise 3\nCreate a new folder template-site/my-site/layouts. In this folder, create a new file named index.html and copy the content of the template-site/layouts/index.html file into it. Remove the testimonials section from the newly created file.\nCreate a new folder template-site/my-site/layouts/partials. In this folder, create a new file named featured-species.html put the following content into it, replacing the information with the species you selected.\n<div class=\"featured-species\">\n<img src=\"img/species/frog.jpg\" class=\"species-image\" alt=\"\" >\n<div class=\"species-description\">\n<h3>Red-Eyed Tree Frog<\/h3>\n<p>This frog can be found in the tropical rain forests of Costa Rica.<\/p>\n<\/div>\n<\/div>\nThen, add this section to the index.html file created above.\n{{ partial \"featured_species.html\" . }}\nYou will probably need to restart the Hugo server to see the changes appear on the site.\nNow, you need to edit the CSS! In your custom.css file, add the following lines.\n\n.featured-species{\n height:300px;\n background-color: #1d1f20;\n color:white;\n}\n\n.species-image{\n height:300px;\n float:left;\n}\n\n.featured-species h3{\n color:white;\n font-size:1.5em;\n}\n\n.species-description{\n float:left;\n padding:20px;\n font-size:2em;\n}\nModify this as you see fit!\nNow a bit of GO lang to make the featured species different.\nIntroduction to Hugo templating\nExercise 4\nReplace your partial featured-species.html content with this one\n{{ range .Site.Data.species }}\n {{ if eq (.enable) true }}\n <div class=\"featured-species\">\n <img src=\"img/species/{{ .image }}\" class=\"species-image\" alt=\"\" >\n <div class=\"species-description\">\n <h3>{{ .name }}<\/h3>\n <p> {{ .description }}<\/p>\n <\/div>\n <\/div>\n {{end}}\n{{end}}\nNow, create a new folder /template-site/my-site/data/species.\nIn this folder, create new file named frog.yaml with the following content.\nenable: true\nname: \"Red-eyed tree frog\"\ndescription: \"This frog can be found in the forests of Costa Rica\"\nimage: \"frog.jpg\"\nFind other species photos and add them to the img folder. Then you can add new .yaml files in the data/species folder for each species.\niFrames\nAn iFrame is a HTML tag that essentially allows you to embed another web page inside of your site.\nExercise 5\nFind a Youtube video and click on the share option below the video. Find the Embed option and copy the code that starts with <iframe> to a new partial that will be shown on a new page. Surround the iframe with a div tag with class=\"video\". For example:\n<div class=\"video\">\n<iframe \nwidth=\"560\" \nheight=\"315\" \nsrc=\"https://www.youtube.com/embed/42GAn4v5MgE\" \nframeborder=\"0\" \nallow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture\" \nallowfullscreen>\n<\/iframe>\n<\/div>\nEdit the custom.css file and add this section\n.video{\n width:100%;\n background-color:black;\n text-align:center;\n}\n\n\n\n", "preview": "posts/2020-12-08-making-websites-with-hugo-part-2/thumb.png", - "last_modified": "2021-04-29T16:16:42-04:00", + "last_modified": "2021-05-19T11:56:36-04:00", "input_file": {}, "preview_width": 3887, "preview_height": 1018 @@ -154,7 +154,7 @@ ], "contents": "\n\nContents\nWhy this training workshop ?\nMake sure Hugo is installed and check version\nBe Timothée Poisot for fun\nExercise : Edit the toml file to include your own information.\n\nBuild the static html files\nBuild for local development\nBuild for publishing your website\n\nEdit content\nExercise : take 15 minutes to remove Tim’s material and replace it by the three chapters of your thesis.\n\nHosting the website on a server\nGitHub User or Organization Pages\nStep-by-step Instructions\nPut it Into a Script\n\n\nPush source and build repos.\n\nWhy this training workshop ?\nI am only 10 hours of a crash course in web development ahead of you. As part of a major research project on setting a biodiversity observation network, I had to develop a prototype of a portal for the project, for biodiversity information and bunch of dashboards on biodiversity trends. Never made a website before. I know how to code in a few langages, and I know that I hate playing with boxes, menus, importing images manually, and most of all, dealing with a crash of the system and having to redo the whole thing because I made a mistake somewhere. Not that a bug when I try to compile is better, but at least it is more tractable.\nHugo made it very easily because of its fundamental feature (which is the same reason I edit papers with LaTeX): the distinction between the view and the content. Once you have set up the rules defining the visual aspects of the pages, then you can focus on the content and let the software automatically constructing the html code for you. It’s fast, accessible, scriptable and could be version-controlled. All qualities for an open and reproducible science.\nTook me a few hours to learn the basics (much harder to get the higher level skills, especially to write your own Go scripts), I took some tricks here and there in different templates and at looking what others do, and that was it I had my website. Realized that it could be a good entry level course to BIOS2 fellows and decided to turn that experience into a training workshop.\nYou will find below basic instructions to install and run a template. The following is not a full tutorial, for that I recommend simply to take time looking at the documentation provided on the Hugo page (https://gohugo.io/). I also consulted the online book Hugo in action (https://www.manning.com/books/hugo-in-action). There are many other references, all of them with goods and bads. But it’s nice to have multiple ones because sometimes the description of a concept may be obscure in one reference but better in the other and it’s by comparing and switching between them that you can make progress.\nMake sure Hugo is installed and check version\nFirst step, you have to make sure that it is properly installed on you computer. Type the following command in terminal to make sure :\nhugo version\nYou can access to the help menu with the simple command :\nhugo help\nBe Timothée Poisot for fun\nWe will use Tim’s website, which is a simple but efficient example of what we could achieve with Hugo. The strenght of the website is that it automatically updates with the addition of new content, such as publications, lab members and projects. The only thing you have to do, once the template is properly set up, is to update the content. That way, yo can focus on the material you want to put on, without struggling on how to place the boxes, format the police and all of the complicate stuff that comes with html and css. The content, written in markdown, is human readable and therefore could be easily edited by lab members. Further, since it’s all scripted, it’s easy to maintain and control versions.\nTake few minutes to look at the final webpage at https://poisotlab.io/\nNow you will clone the repository on your own computer so that you could start playing with the content, edit the files, modify list of papers and so on.\nYou can either use the clone button on the top of the page or the following command :\ngit clone https://github.com/bios2/Hugo-training-workshop.git\nWe will take a few minutes to look at the content of the different folders. This structure is common to most of the Hugo templates. You will find multiple folders, it’s useful to understand what’s located where because the compiler expects this structure when it looks for specific information.\narchetypes (not in here, but usually in most templates). These are basic instructions to generate new content with the hugo new command. We won’t use this feature today, but information about this feature is easy to find.\nassets contains the css files where the controls for visual aspect of the pages are specified. That’s where you’ll search for the different items and how to specify things such as box sizes, font colors and dimensions etc…. Note: assets directory is not created by default.\ncontent holds all of the .md files where the main content of the pages is provided. It’s divided in several subfolders, corresponding to the different pages from the menu. Each top-level folder in Hugo is considered a content section (which is described usually in the config file). For instance, you have one folder called Research where the projects are described. You’ll find one .md file per projec tin this folder. Note also that the folders contain systematically a _index.md file where the metadata and the top level information of the page are specified. We’ll come back to that later.\ndata stores specific information that will be consulted by the parser during compilation (configurationfiles). There are also data templates, and at the moment, there is one json file where the papers are listed and two toml files with a list of the students, past and present. json files could be edited with a text editor (not so fun), but there are some tools to do it efficiently.\nlayouts contains the core files to compile the website. You will find in them instructions, in a strange blend of html and Go langages. No so easy and pleasant to play with, but looking at them tells you a bit about what the compiler does (a good example is for people). list.html for instance contains a loop that goes through the toml files in order to create the icons, the text and the link to the full markdown page where you have description for each student. You will find layouts for the main pages, as well as for partials (like the header menu).\nresources also contains css instructions for the template. We won’t work with this one.\nstatic contains bunch of little things that are called during compilation. You’ll find the logo for the lab, the pictures for students, pdf files for applications, images for each research project …\nThere is also one very important file in the main folder the config.toml file. Inside, you will find a lot of the metadata that will control the structure of the main page. This find can be very simple for some templates, much more complicated for other ones. Note that for some templates, the config file may be in a distinct folder. Not all templates have exactly the same folder structure.\ntoml is a file format for configuration files, it contains key parameters for the webpage. It consists of key = “value” pairs, [section names], and # comments. Let’s open this one to have a closer look.\nExercise : Edit the toml file to include your own information.\nYou may want to change the section People to Collaborators and also provide a proper reference to your on github page. You can also add or remove sections, this will affect the menu at the top of the page. For instance, you can add a blog section.\nBuild the static html files\nBuild for local development\nHugo will use all of the material to generate static html files that will be displayed on your browser. The command is really easy to use to run it on your own computer, you simply have to type the following in the main folder :\nhugo server\nAnd that’s it, it compiles and you can simply open it in your browser by clicking on the adress indicated in the terminal. Congratulations for your first Hugo webste !\nThere are useful information in the terminal about the building process.\nBuild for publishing your website\nThe command hugo server is very fast and useful to test your website while you develop it. But once you’ll be ready to distribute it, you’ll need all of the html files and related material to distribute the website. This is easily done with the even simpler command\nhugo\nYou will find in the directory that a new folder named public appeared, with all of the material needed to deploy the website. If you click on the index.html file, you’ll get to the home page of the website. It is interesting to open this file in your text editor, you’ll get a sense of the html code that hugo generated automatically for you. You can also take a look at other files.\nEdit content\nEditing content is the easier thing to do. First thing to do, is to modify the content of the introduction paragraph on the main page. You’ll find it in the *_index.md* file in the content folder. Open it and modify the text. You can after build the main page again to see the update.\nYou can also add material, with new md files. We will do so with a new research project (note the following could be done manually):\nhugo new research/chapter1.md\nThis will generate a new markdown file, in which you can start adding material. But those files do have a particular structure, so before editing it, we’ll take a quick look at another one, datascience.md.\nThe header section is typical of a markdown file with metadata (in toml or yaml format). You have to specify information to the parser about the title, the image and associated papers. Note that it will work if some of these (e.g. papers) are missing. You can modify the image as well.\nThe file here also a particular structure, with the marker between two paragraphs. This command indicates that only the first paragraph is displayed on the main page of the Research tab, and the full content follows if you click to know more about the project.\nNote that here you can use the basic features of markdown, with headers, bold, italics and so on. You can also include html code directly into the markdown and it should work. That said, it may conflict with higher level instructions in the layout or in the theme and may cause difficulties at building. While it is feasible to add such command, it is not recommended to do so. People rather suggest to use shortcodes (Tomorrow) or to modify the layout of the website.\nExercise : take 15 minutes to remove Tim’s material and replace it by the three chapters of your thesis.\nHosting the website on a server\nThere are many options to host your new website on a server. An easy one, free, and that could be coupled with version control is to run it on github. Full instructions are available here :\nhttps://gohugo.io/hosting-and-deployment/hosting-on-github/\nWe will simply follow the instructions copied here for hosting a personal page. Note that you can also develop a page for a project.\nGitHub User or Organization Pages\nStep-by-step Instructions\nCreate a (e.g. blog) repository on GitHub. This repository will contain Hugo’s content and other source files.\nCreate a .github.io GitHub repository. This is the repository that will contain the fully rendered version of your Hugo website.\ngit clone && cd \nPaste your existing Hugo project into the new local repository. Make sure your website works locally (hugo server or hugo server -t ) and open your browser to http://localhost:1313.\nOnce you are happy with the results: Press Ctrl+C to kill the server Before proceeding run rm -rf public to completely remove the public directory\ngit submodule add -b main https://github.com//.github.io.git public. This creates a git submodule. Now when you run the hugo command to build your site to public, the created public directory will have a different remote origin (i.e. hosted GitHub repository).\nMake sure the baseURL in your config file is updated with: .github.io\nPut it Into a Script\nYou’re almost done. In order to automate next steps create a deploy.sh script. You can also make it executable with chmod +x deploy.sh.\nThe following are the contents of the deploy.sh script:\n #!/bin/sh\n\n # If a command fails then the deploy stops\n set -e\n\n printf \"\\033[0;32mDeploying updates to GitHub...\\033[0m\\n\"\n\n # Build the project.\n hugo # if using a theme, replace with `hugo -t <YOURTHEME>`\n\n # Go To Public folder\n cd public\n\n # Add changes to git.\n git add .\n\n # Commit changes.\n msg=\"rebuilding site $(date)\"\n if [ -n \"$*\" ]; then\n msg=\"$*\"\n fi\n git commit -m \"$msg\"\nPush source and build repos.\ngit push origin main\nYou can then run ./deploy.sh \"Your optional commit message\" to send changes to .github.io. Note that you likely will want to commit changes to your repository as well.\nThat’s it! Your personal page should be up and running at https://.github.io within a couple minutes.\n\n\n\n", "preview": "posts/2020-12-07-making-websites-with-hugo-part-1/thumb.png", - "last_modified": "2021-04-29T16:17:22-04:00", + "last_modified": "2021-05-19T11:56:36-04:00", "input_file": {}, "preview_width": 3887, "preview_height": 1018 @@ -181,7 +181,7 @@ ], "contents": "\n\nContents\nTraining material\nInteractive examples\nExample figures\nAnnotated resource library\n\n\nWelcome!\nThis training covers the general principles of visualization and graphic design, and techniques of tailored visualization. More specifically, the objectives of the training are:\nMake an overview of basic data visualization principles, including shapes, sizes, colours, and fonts.\nDiscuss how to choose the right visualization for your data, what you want to communicate, and who you want to communicate to.\nTools and principles to tailor visualizations, particularly in making interpretable, interactive, and honest visualizations.\nTraining material\nClick on “Show code” to learn how to do each plot!\nInteractive examples\nStreamgraph\n\n\nShow code\n\n# Script to make a streamgraph of the top 10 most popular dog breeds in \n# New York City from 1999 to 2015\n\n# load libraries\nlibrary(magrittr) # piping\nlibrary(lubridate) # dealing with dates\nlibrary(dplyr) # data manipulation\nlibrary(streamgraph) #devtools::install_github(\"hrbrmstr/streamgraph\")\nlibrary(htmlwidgets) # to save the widget!\n\n# load the dataset\n# more information about this dataset can be found here:\n# https://www.kaggle.com/smithaachar/nyc-dog-licensing-clean\nnyc_dogs <- read.csv(\"data/nyc_dogs.csv\")\n\n# convert birth year to date format (and keep only the year)\nnyc_dogs$AnimalBirthYear <- mdy_hms(nyc_dogs$AnimalBirthMonth) %>% year()\n\n# identify 10 most common dogs\ntopdogs <- nyc_dogs %>% count(BreedName) \ntopdogs <- topdogs[order(topdogs$n, decreasing = TRUE),]\n# keep 10 most common breeds (and remove last year of data which is incomplete)\ndf <- filter(nyc_dogs, BreedName %in% topdogs$BreedName[2:11] & AnimalBirthYear < 2016) %>% \n group_by(AnimalBirthYear) %>% \n count(BreedName) %>% ungroup()\n\n# get some nice colours from viridis (magma)\ncols <- viridis::viridis_pal(option = \"magma\")(length(unique(df$BreedName)))\n\n# make streamgraph!\npp <- streamgraph(df, \n key = BreedName, value = n, date = AnimalBirthYear, \n height=\"600px\", width=\"1000px\") %>%\n sg_legend(show=TRUE, label=\"names: \") %>%\n sg_fill_manual(values = cols) \n# saveWidget(pp, file=paste0(getwd(), \"/figures/dogs_streamgraph.html\"))\n\n# plot\npp\n\n\n\n\n{\"x\":{\"data\":{\"key\":[\"Affenpinscher\",\"Afghan Hound\",\"Afghan Hound Crossbreed\",\"Airedale Terrier\",\"Akita\",\"Akita Crossbreed\",\"Alaskan Malamute\",\"American Bully\",\"American English Coonhound\",\"American Eskimo dog\",\"American Foxhound\",\"American Hairless Terrier\",\"American Leopard Hound\",\"American Pit Bull Mix / Pit Bull Mix\",\"American Pit Bull Terrier/Pit Bull\",\"American Staffordshire Terrier \",\"American Water Spaniel\",\"Anatolian Shepherd Dog\",\"Australian Cattle Dog\",\"Australian Cattledog\",\"Australian Kelpie\",\"Australian Shepherd\",\"Australian Silky Terrier\",\"Australian Terrier\",\"Barbet\",\"Basenji\",\"Basset Hound\",\"Bassett Hound\",\"Beagle\",\"Beagle Crossbreed\",\"Bearded Collie\",\"Bedlington Terrier\",\"Belgian Griffon\",\"Belgian Malinois\",\"Belgian Sheepdog\",\"Belgian Tervuren\",\"Berger Picard\",\"Bernese Mountain Dog\",\"Bichon Frise\",\"Bichon Frise Crossbreed\",\"Biewer Terrier\",\"Black and Tan Coonhound\",\"Black Russian Terrier\",\"Bloodhound\",\"Bloodhound Crossbreed\",\"Bluetick Coonhound\",\"Boerboel\",\"Bolognese\",\"Border Collie\",\"Border Collie Crossbreed\",\"Border Terrier\",\"Borzoi\",\"Boston Terrier\",\"Bouvier Des Flandres\",\"Boxer\",\"Boxer Crossbreed\",\"Boykin Spaniel\",\"Bracco Italiano\",\"Briard\",\"Brittany\",\"Brittany Spaniel\",\"Brussels Griffon\",\"Bull Dog, American\",\"Bull Dog, English\",\"Bull Dog, French\",\"Bull Terrier\",\"Bulldog\",\"Bullmastiff\",\"Cairn Terrier\",\"Canaan Dog\",\"Cane Corso\",\"Cardigan Welsh Corgi\",\"Catahoula Leopard Dog\",\"Cavalier King Charles Spaniel\",\"Cesky Terrier\",\"Chesapeake Bay Retriever\",\"Chihuahua\",\"Chihuahua Crossbreed\",\"Chinese Crested\",\"Chinese Shar-Pei\",\"Chinook\",\"Chow Chow\",\"Cirneco dell\",\"Clumber Spaniel\",\"Cocker Spaniel\",\"Cocker Spaniel Crossbreed\",\"Collie\",\"Collie Crossbreed\",\"Collie, Bearded \",\"Collie, Border\",\"Collie, Rough Coat\",\"Collie, Smooth Coat\",\"Coonhound, Black and Tan\",\"Coonhound, Blue Tick\",\"Coonhound, Treeing Walker\",\"Coton de Tulear\",\"Cotton De Tulear\",\"Curly-Coated Retriever\",\"Dachshund\",\"Dachshund Crossbreed\",\"Dachshund Smooth Coat\",\"Dachshund Smooth Coat Miniature\",\"Dachshund, Long Haired\",\"Dachshund, Long Haired Miniature\",\"Dachshund, Wirehaired\",\"Dachshund, Wirehaired, Miniature\",\"Dalmatian\",\"Dandie Dinmont Terrier\",\"Doberman Pinscher\",\"Dogo Argentino\",\"Dogue de Bordeaux\",\"Dutch Shepherd\",\"English Cocker Spaniel\",\"English Foxhound\",\"English Setter\",\"English Springer Spaniel\",\"English Toy Spaniel\",\"Entlebucher Mountain Dog\",\"Eurasier\",\"Field Spaniel\",\"Fila Brasileiro\",\"Finnish Lapphund\",\"Finnish Spitz\",\"Flat-Coated Retriever\",\"French Bulldog\",\"French Spaniel\",\"German Longhaired Pointer\",\"German Pinscher\",\"German Shepherd Crossbreed\",\"German Shepherd Dog\",\"German Shorthaired Pointer\",\"German Spitz\",\"German Wirehaired Pointer\",\"Giant Schnauzer\",\"Glen of Imaal Terrier\",\"Golden Retriever\",\"Goldendoodle\",\"Gordon Setter\",\"Grand Basset Griffon Vendeen\",\"Great Dane\",\"Great Pyrenees\",\"Greater Swiss Mountain Dog\",\"Greyhound\",\"Hamiltonstovare\",\"Harrier\",\"Havanese\",\"Hovawart\",\"Ibizan Hound\",\"Irish Red and White Setter\",\"Irish Setter\",\"Irish Terrier\",\"Irish Wolfhound\",\"Italian Greyhound\",\"Jack Russell Terrier\",\"Japanese Chin\",\"Japanese Chin/Spaniel\",\"Jindo\",\"Jindo Dog, Korea\",\"Kai Ken\",\"Karelian Bear Dog\",\"Keeshond\",\"Kerry Blue Terrier\",\"Kooikerhondje\",\"Kromfohrlander\",\"Kuvasz\",\"Labradoodle\",\"Labrador Retriever\",\"Labrador Retriever Crossbreed\",\"Lagotto Romagnolo\",\"Lakeland Terrier\",\"Lancashire Heeler\",\"Leonberger\",\"Lhasa Apso\",\"Lowchen\",\"Maltese\",\"Maltese Crossbreed\",\"Maltipoo\",\"Manchester Terrier\",\"Mastiff\",\"Mastiff, Bull\",\"Mastiff, French (Dogue de Bordeaux)\",\"Mastiff, Neapolitan\",\"Mastiff, Old English\",\"Mastiff, Tibetan\",\"Miniature American Shepherd\",\"Miniature Bull Terrier\",\"Miniature Fox Terrier\",\"Miniature Pinscher\",\"Miniature Schnauzer\",\"Morkie\",\"Mudi\",\"Neapolitan Mastiff\",\"Newfoundland\",\"Norfolk Terrier\",\"Norwegian Buhund\",\"Norwegian Elkhound\",\"Norwich Terrier\",\"Nova Scotia Duck Tolling Retriever\",\"Old English Sheepdog\",\"Otterhound\",\"Papillon\",\"Parson Russell Terrier\",\"Pekingese\",\"Pembroke Welsh Corgi\",\"Pembroke Welsh Corgi Crossbreed\",\"Perro de Presa Canario\",\"Peruvian Inca Orchid\",\"Petit Basset Griffon Vendeen\",\"Pharaoh Hound\",\"Pharoh hound\",\"Plott\",\"Pointer\",\"Pointer, German Shorthaired\",\"Pointer, German Wirehaired\",\"Polish Hound\",\"Polish Lowland Sheepdog\",\"Pomeranian\",\"Pomeranian Crossbreed\",\"Poodle\",\"Poodle Crossbreed\",\"Poodle, Miniature\",\"Poodle, Standard\",\"Poodle, Toy\",\"Portuguese Podengo Pequeno\",\"Portuguese Sheepdog\",\"Portuguese Water Dog\",\"Pug\",\"Pug Crossbreed\",\"Puggle\",\"Puli\",\"Pumi\",\"Pyrenean Shepherd\",\"Rat Terrier\",\"Rat Terrier Crossbreed\",\"Redbone Coonhound\",\"Rhodesian Ridgeback\",\"Rottweiler\",\"Rottweiler Crossbreed\",\"Russell Terrier\",\"Russian Toy\",\"Russian Wolfhound\",\"Saint Bernard\",\"Saluki\",\"Samoyed\",\"Schipperke\",\"Schipperkee\",\"Schnauzer Crossbreed\",\"Schnauzer, Giant\",\"Schnauzer, Miniature\",\"Schnauzer, Miniature Crossbreed\",\"Schnauzer, Standard\",\"Scottish Deerhound\",\"Scottish Terrier\",\"Sealyham Terrier\",\"Shar-Pei, Chinese\",\"Shetland Sheepdog\",\"Shiba Inu\",\"Shiba Inu Crossbreed\",\"Shih Tzu\",\"Shih Tzu Crossbreed\",\"Siberian Husky\",\"Siberian Husky Crossbreed\",\"Silky Terrier\",\"Skye Terrier\",\"Small Munsterlander Pointer\",\"Smooth Fox Terrier\",\"Soft Coated Wheaten Terrier\",\"Spanish Water Dog\",\"Spinone Italiano\",\"St. Bernard\",\"Staffordshire Bull Terrier\",\"Standard Schnauzer\",\"Sussex Spaniel\",\"Swedish Vallhund\",\"Terrier Crossbreed\",\"Terrier mix\",\"Thai Ridgeback\",\"Tibetan Mastiff\",\"Tibetan Spaniel\",\"Tibetan Terrier\",\"Toy Fox Terrier\",\"Treeing Tennessee Brindle\",\"Treeing Walker Coonhound\",\"Unknown\",\"Vizsla\",\"Weimaraner\",\"Welsh Corgi, Cardigan\",\"Welsh Corgi, Pembroke\",\"Welsh Springer Spaniel\",\"Welsh Terrier\",\"West High White Terrier\",\"West Highland White Terrier\",\"Wheaton Terrier\",\"Whippet\",\"Wire Fox Terrier\",\"Wirehaired Pointing Griffon\",\"Xoloitzcuintli\",\"Yorkshire Terrier\",\"Yorkshire Terrier Crossbreed\",\"Affenpinscher\",\"Afghan Hound\",\"Afghan Hound Crossbreed\",\"Airedale Terrier\",\"Akita\",\"Akita Crossbreed\",\"Alaskan Malamute\",\"American Bully\",\"American English Coonhound\",\"American Eskimo dog\",\"American Foxhound\",\"American Hairless Terrier\",\"American Leopard Hound\",\"American Pit Bull Mix / Pit Bull Mix\",\"American Pit Bull Terrier/Pit Bull\",\"American Staffordshire Terrier \",\"American Water Spaniel\",\"Anatolian Shepherd Dog\",\"Australian Cattle Dog\",\"Australian Cattledog\",\"Australian Kelpie\",\"Australian Shepherd\",\"Australian Silky Terrier\",\"Australian Terrier\",\"Barbet\",\"Basenji\",\"Basset Hound\",\"Bassett Hound\",\"Beagle\",\"Beagle Crossbreed\",\"Bearded Collie\",\"Bedlington Terrier\",\"Belgian Griffon\",\"Belgian Malinois\",\"Belgian Sheepdog\",\"Belgian Tervuren\",\"Berger Picard\",\"Bernese Mountain Dog\",\"Bichon Frise\",\"Bichon Frise Crossbreed\",\"Biewer Terrier\",\"Black and Tan Coonhound\",\"Black Russian Terrier\",\"Bloodhound\",\"Bloodhound Crossbreed\",\"Bluetick Coonhound\",\"Boerboel\",\"Bolognese\",\"Border Collie\",\"Border Collie Crossbreed\",\"Border Terrier\",\"Borzoi\",\"Boston Terrier\",\"Bouvier Des Flandres\",\"Boxer\",\"Boxer Crossbreed\",\"Boykin Spaniel\",\"Bracco Italiano\",\"Briard\",\"Brittany\",\"Brittany Spaniel\",\"Brussels Griffon\",\"Bull Dog, American\",\"Bull Dog, English\",\"Bull Dog, French\",\"Bull Terrier\",\"Bulldog\",\"Bullmastiff\",\"Cairn Terrier\",\"Canaan Dog\",\"Cane Corso\",\"Cardigan Welsh Corgi\",\"Catahoula Leopard Dog\",\"Cavalier King Charles Spaniel\",\"Cesky Terrier\",\"Chesapeake Bay Retriever\",\"Chihuahua\",\"Chihuahua Crossbreed\",\"Chinese Crested\",\"Chinese Shar-Pei\",\"Chinook\",\"Chow Chow\",\"Cirneco dell\",\"Clumber Spaniel\",\"Cocker Spaniel\",\"Cocker Spaniel Crossbreed\",\"Collie\",\"Collie Crossbreed\",\"Collie, Bearded \",\"Collie, Border\",\"Collie, Rough Coat\",\"Collie, Smooth Coat\",\"Coonhound, Black and Tan\",\"Coonhound, Blue Tick\",\"Coonhound, Treeing Walker\",\"Coton de Tulear\",\"Cotton De Tulear\",\"Curly-Coated Retriever\",\"Dachshund\",\"Dachshund Crossbreed\",\"Dachshund Smooth Coat\",\"Dachshund Smooth Coat Miniature\",\"Dachshund, Long Haired\",\"Dachshund, Long Haired Miniature\",\"Dachshund, Wirehaired\",\"Dachshund, Wirehaired, Miniature\",\"Dalmatian\",\"Dandie Dinmont Terrier\",\"Doberman Pinscher\",\"Dogo Argentino\",\"Dogue de Bordeaux\",\"Dutch Shepherd\",\"English Cocker Spaniel\",\"English Foxhound\",\"English Setter\",\"English Springer Spaniel\",\"English Toy Spaniel\",\"Entlebucher Mountain Dog\",\"Eurasier\",\"Field Spaniel\",\"Fila Brasileiro\",\"Finnish Lapphund\",\"Finnish Spitz\",\"Flat-Coated Retriever\",\"French Bulldog\",\"French Spaniel\",\"German Longhaired Pointer\",\"German Pinscher\",\"German Shepherd Crossbreed\",\"German Shepherd Dog\",\"German Shorthaired Pointer\",\"German Spitz\",\"German Wirehaired Pointer\",\"Giant Schnauzer\",\"Glen of Imaal Terrier\",\"Golden Retriever\",\"Goldendoodle\",\"Gordon Setter\",\"Grand Basset Griffon Vendeen\",\"Great Dane\",\"Great Pyrenees\",\"Greater Swiss Mountain Dog\",\"Greyhound\",\"Hamiltonstovare\",\"Harrier\",\"Havanese\",\"Hovawart\",\"Ibizan Hound\",\"Irish Red and White Setter\",\"Irish Setter\",\"Irish Terrier\",\"Irish Wolfhound\",\"Italian Greyhound\",\"Jack Russell Terrier\",\"Japanese Chin\",\"Japanese Chin/Spaniel\",\"Jindo\",\"Jindo Dog, Korea\",\"Kai Ken\",\"Karelian Bear Dog\",\"Keeshond\",\"Kerry Blue Terrier\",\"Kooikerhondje\",\"Kromfohrlander\",\"Kuvasz\",\"Labradoodle\",\"Labrador Retriever\",\"Labrador Retriever Crossbreed\",\"Lagotto Romagnolo\",\"Lakeland Terrier\",\"Lancashire Heeler\",\"Leonberger\",\"Lhasa Apso\",\"Lowchen\",\"Maltese\",\"Maltese Crossbreed\",\"Maltipoo\",\"Manchester Terrier\",\"Mastiff\",\"Mastiff, Bull\",\"Mastiff, French (Dogue de Bordeaux)\",\"Mastiff, Neapolitan\",\"Mastiff, Old English\",\"Mastiff, Tibetan\",\"Miniature American Shepherd\",\"Miniature Bull Terrier\",\"Miniature Fox Terrier\",\"Miniature Pinscher\",\"Miniature Schnauzer\",\"Morkie\",\"Mudi\",\"Neapolitan Mastiff\",\"Newfoundland\",\"Norfolk Terrier\",\"Norwegian Buhund\",\"Norwegian Elkhound\",\"Norwich Terrier\",\"Nova Scotia Duck Tolling Retriever\",\"Old English Sheepdog\",\"Otterhound\",\"Papillon\",\"Parson Russell Terrier\",\"Pekingese\",\"Pembroke Welsh Corgi\",\"Pembroke Welsh Corgi Crossbreed\",\"Perro de Presa Canario\",\"Peruvian Inca Orchid\",\"Petit Basset Griffon Vendeen\",\"Pharaoh Hound\",\"Pharoh hound\",\"Plott\",\"Pointer\",\"Pointer, German Shorthaired\",\"Pointer, German Wirehaired\",\"Polish Hound\",\"Polish Lowland Sheepdog\",\"Pomeranian\",\"Pomeranian Crossbreed\",\"Poodle\",\"Poodle Crossbreed\",\"Poodle, Miniature\",\"Poodle, Standard\",\"Poodle, Toy\",\"Portuguese Podengo Pequeno\",\"Portuguese Sheepdog\",\"Portuguese Water Dog\",\"Pug\",\"Pug Crossbreed\",\"Puggle\",\"Puli\",\"Pumi\",\"Pyrenean Shepherd\",\"Rat Terrier\",\"Rat Terrier Crossbreed\",\"Redbone Coonhound\",\"Rhodesian Ridgeback\",\"Rottweiler\",\"Rottweiler Crossbreed\",\"Russell Terrier\",\"Russian Toy\",\"Russian Wolfhound\",\"Saint Bernard\",\"Saluki\",\"Samoyed\",\"Schipperke\",\"Schipperkee\",\"Schnauzer Crossbreed\",\"Schnauzer, Giant\",\"Schnauzer, Miniature\",\"Schnauzer, Miniature Crossbreed\",\"Schnauzer, Standard\",\"Scottish Deerhound\",\"Scottish Terrier\",\"Sealyham Terrier\",\"Shar-Pei, Chinese\",\"Shetland Sheepdog\",\"Shiba Inu\",\"Shiba Inu Crossbreed\",\"Shih Tzu\",\"Shih Tzu Crossbreed\",\"Siberian Husky\",\"Siberian Husky Crossbreed\",\"Silky Terrier\",\"Skye Terrier\",\"Small Munsterlander Pointer\",\"Smooth Fox Terrier\",\"Soft Coated Wheaten Terrier\",\"Spanish Water Dog\",\"Spinone Italiano\",\"St. Bernard\",\"Staffordshire Bull Terrier\",\"Standard Schnauzer\",\"Sussex Spaniel\",\"Swedish Vallhund\",\"Terrier Crossbreed\",\"Terrier mix\",\"Thai Ridgeback\",\"Tibetan Mastiff\",\"Tibetan Spaniel\",\"Tibetan Terrier\",\"Toy Fox Terrier\",\"Treeing Tennessee Brindle\",\"Treeing Walker Coonhound\",\"Unknown\",\"Vizsla\",\"Weimaraner\",\"Welsh Corgi, Cardigan\",\"Welsh Corgi, Pembroke\",\"Welsh Springer Spaniel\",\"Welsh Terrier\",\"West High White Terrier\",\"West Highland White Terrier\",\"Wheaton Terrier\",\"Whippet\",\"Wire Fox Terrier\",\"Wirehaired Pointing Griffon\",\"Xoloitzcuintli\",\"Yorkshire Terrier\",\"Yorkshire Terrier Crossbreed\",\"Affenpinscher\",\"Afghan Hound\",\"Afghan Hound Crossbreed\",\"Airedale Terrier\",\"Akita\",\"Akita Crossbreed\",\"Alaskan Malamute\",\"American Bully\",\"American English Coonhound\",\"American Eskimo dog\",\"American Foxhound\",\"American Hairless Terrier\",\"American Leopard Hound\",\"American Pit Bull Mix / Pit Bull Mix\",\"American Pit Bull Terrier/Pit Bull\",\"American Staffordshire Terrier \",\"American Water Spaniel\",\"Anatolian Shepherd Dog\",\"Australian Cattle Dog\",\"Australian Cattledog\",\"Australian Kelpie\",\"Australian Shepherd\",\"Australian Silky Terrier\",\"Australian Terrier\",\"Barbet\",\"Basenji\",\"Basset Hound\",\"Bassett Hound\",\"Beagle\",\"Beagle Crossbreed\",\"Bearded Collie\",\"Bedlington Terrier\",\"Belgian Griffon\",\"Belgian Malinois\",\"Belgian Sheepdog\",\"Belgian Tervuren\",\"Berger Picard\",\"Bernese Mountain Dog\",\"Bichon Frise\",\"Bichon Frise Crossbreed\",\"Biewer Terrier\",\"Black and Tan Coonhound\",\"Black Russian Terrier\",\"Bloodhound\",\"Bloodhound Crossbreed\",\"Bluetick Coonhound\",\"Boerboel\",\"Bolognese\",\"Border Collie\",\"Border Collie Crossbreed\",\"Border Terrier\",\"Borzoi\",\"Boston Terrier\",\"Bouvier Des Flandres\",\"Boxer\",\"Boxer Crossbreed\",\"Boykin Spaniel\",\"Bracco Italiano\",\"Briard\",\"Brittany\",\"Brittany Spaniel\",\"Brussels Griffon\",\"Bull Dog, American\",\"Bull Dog, English\",\"Bull Dog, French\",\"Bull Terrier\",\"Bulldog\",\"Bullmastiff\",\"Cairn Terrier\",\"Canaan Dog\",\"Cane Corso\",\"Cardigan Welsh Corgi\",\"Catahoula Leopard Dog\",\"Cavalier King Charles Spaniel\",\"Cesky Terrier\",\"Chesapeake Bay Retriever\",\"Chihuahua\",\"Chihuahua Crossbreed\",\"Chinese Crested\",\"Chinese Shar-Pei\",\"Chinook\",\"Chow Chow\",\"Cirneco dell\",\"Clumber Spaniel\",\"Cocker Spaniel\",\"Cocker Spaniel Crossbreed\",\"Collie\",\"Collie Crossbreed\",\"Collie, Bearded \",\"Collie, Border\",\"Collie, Rough Coat\",\"Collie, Smooth Coat\",\"Coonhound, Black and Tan\",\"Coonhound, Blue Tick\",\"Coonhound, Treeing Walker\",\"Coton de Tulear\",\"Cotton De Tulear\",\"Curly-Coated Retriever\",\"Dachshund\",\"Dachshund Crossbreed\",\"Dachshund Smooth Coat\",\"Dachshund Smooth Coat Miniature\",\"Dachshund, Long Haired\",\"Dachshund, Long Haired Miniature\",\"Dachshund, Wirehaired\",\"Dachshund, Wirehaired, Miniature\",\"Dalmatian\",\"Dandie Dinmont Terrier\",\"Doberman Pinscher\",\"Dogo Argentino\",\"Dogue de Bordeaux\",\"Dutch Shepherd\",\"English Cocker Spaniel\",\"English Foxhound\",\"English Setter\",\"English Springer Spaniel\",\"English Toy Spaniel\",\"Entlebucher Mountain Dog\",\"Eurasier\",\"Field Spaniel\",\"Fila Brasileiro\",\"Finnish Lapphund\",\"Finnish Spitz\",\"Flat-Coated Retriever\",\"French Bulldog\",\"French Spaniel\",\"German Longhaired Pointer\",\"German Pinscher\",\"German Shepherd Crossbreed\",\"German Shepherd Dog\",\"German Shorthaired Pointer\",\"German Spitz\",\"German Wirehaired Pointer\",\"Giant Schnauzer\",\"Glen of Imaal Terrier\",\"Golden Retriever\",\"Goldendoodle\",\"Gordon Setter\",\"Grand Basset Griffon Vendeen\",\"Great Dane\",\"Great Pyrenees\",\"Greater Swiss Mountain Dog\",\"Greyhound\",\"Hamiltonstovare\",\"Harrier\",\"Havanese\",\"Hovawart\",\"Ibizan Hound\",\"Irish Red and White Setter\",\"Irish Setter\",\"Irish Terrier\",\"Irish Wolfhound\",\"Italian Greyhound\",\"Jack Russell Terrier\",\"Japanese Chin\",\"Japanese Chin/Spaniel\",\"Jindo\",\"Jindo Dog, Korea\",\"Kai Ken\",\"Karelian Bear Dog\",\"Keeshond\",\"Kerry Blue Terrier\",\"Kooikerhondje\",\"Kromfohrlander\",\"Kuvasz\",\"Labradoodle\",\"Labrador Retriever\",\"Labrador Retriever Crossbreed\",\"Lagotto Romagnolo\",\"Lakeland Terrier\",\"Lancashire Heeler\",\"Leonberger\",\"Lhasa Apso\",\"Lowchen\",\"Maltese\",\"Maltese Crossbreed\",\"Maltipoo\",\"Manchester Terrier\",\"Mastiff\",\"Mastiff, Bull\",\"Mastiff, French (Dogue de Bordeaux)\",\"Mastiff, Neapolitan\",\"Mastiff, Old English\",\"Mastiff, Tibetan\",\"Miniature American Shepherd\",\"Miniature Bull Terrier\",\"Miniature Fox Terrier\",\"Miniature Pinscher\",\"Miniature Schnauzer\",\"Morkie\",\"Mudi\",\"Neapolitan Mastiff\",\"Newfoundland\",\"Norfolk Terrier\",\"Norwegian Buhund\",\"Norwegian Elkhound\",\"Norwich Terrier\",\"Nova Scotia Duck Tolling Retriever\",\"Old English Sheepdog\",\"Otterhound\",\"Papillon\",\"Parson Russell Terrier\",\"Pekingese\",\"Pembroke Welsh Corgi\",\"Pembroke Welsh Corgi Crossbreed\",\"Perro de Presa Canario\",\"Peruvian Inca Orchid\",\"Petit Basset Griffon Vendeen\",\"Pharaoh Hound\",\"Pharoh hound\",\"Plott\",\"Pointer\",\"Pointer, German Shorthaired\",\"Pointer, German Wirehaired\",\"Polish Hound\",\"Polish Lowland Sheepdog\",\"Pomeranian\",\"Pomeranian Crossbreed\",\"Poodle\",\"Poodle Crossbreed\",\"Poodle, Miniature\",\"Poodle, Standard\",\"Poodle, Toy\",\"Portuguese Podengo Pequeno\",\"Portuguese Sheepdog\",\"Portuguese Water Dog\",\"Pug\",\"Pug Crossbreed\",\"Puggle\",\"Puli\",\"Pumi\",\"Pyrenean Shepherd\",\"Rat Terrier\",\"Rat Terrier Crossbreed\",\"Redbone Coonhound\",\"Rhodesian Ridgeback\",\"Rottweiler\",\"Rottweiler Crossbreed\",\"Russell Terrier\",\"Russian Toy\",\"Russian Wolfhound\",\"Saint Bernard\",\"Saluki\",\"Samoyed\",\"Schipperke\",\"Schipperkee\",\"Schnauzer Crossbreed\",\"Schnauzer, Giant\",\"Schnauzer, Miniature\",\"Schnauzer, Miniature Crossbreed\",\"Schnauzer, Standard\",\"Scottish Deerhound\",\"Scottish Terrier\",\"Sealyham Terrier\",\"Shar-Pei, Chinese\",\"Shetland Sheepdog\",\"Shiba Inu\",\"Shiba Inu Crossbreed\",\"Shih Tzu\",\"Shih Tzu Crossbreed\",\"Siberian Husky\",\"Siberian Husky Crossbreed\",\"Silky Terrier\",\"Skye Terrier\",\"Small Munsterlander Pointer\",\"Smooth Fox Terrier\",\"Soft Coated Wheaten Terrier\",\"Spanish Water Dog\",\"Spinone Italiano\",\"St. Bernard\",\"Staffordshire Bull Terrier\",\"Standard Schnauzer\",\"Sussex Spaniel\",\"Swedish Vallhund\",\"Terrier Crossbreed\",\"Terrier mix\",\"Thai Ridgeback\",\"Tibetan Mastiff\",\"Tibetan Spaniel\",\"Tibetan Terrier\",\"Toy Fox Terrier\",\"Treeing Tennessee Brindle\",\"Treeing Walker Coonhound\",\"Unknown\",\"Vizsla\",\"Weimaraner\",\"Welsh Corgi, Cardigan\",\"Welsh Corgi, Pembroke\",\"Welsh Springer Spaniel\",\"Welsh Terrier\",\"West High White Terrier\",\"West Highland White Terrier\",\"Wheaton Terrier\",\"Whippet\",\"Wire Fox Terrier\",\"Wirehaired Pointing Griffon\",\"Xoloitzcuintli\",\"Yorkshire Terrier\",\"Yorkshire Terrier Crossbreed\",\"Affenpinscher\",\"Afghan Hound\",\"Afghan Hound Crossbreed\",\"Airedale Terrier\",\"Akita\",\"Akita Crossbreed\",\"Alaskan Malamute\",\"American Bully\",\"American English Coonhound\",\"American Eskimo dog\",\"American Foxhound\",\"American Hairless Terrier\",\"American Leopard Hound\",\"American Pit Bull Mix / Pit Bull Mix\",\"American Pit Bull Terrier/Pit Bull\",\"American Staffordshire Terrier \",\"American Water Spaniel\",\"Anatolian Shepherd Dog\",\"Australian Cattle Dog\",\"Australian Cattledog\",\"Australian Kelpie\",\"Australian Shepherd\",\"Australian Silky Terrier\",\"Australian Terrier\",\"Barbet\",\"Basenji\",\"Basset Hound\",\"Bassett Hound\",\"Beagle\",\"Beagle Crossbreed\",\"Bearded Collie\",\"Bedlington Terrier\",\"Belgian Griffon\",\"Belgian Malinois\",\"Belgian Sheepdog\",\"Belgian Tervuren\",\"Berger Picard\",\"Bernese Mountain Dog\",\"Bichon Frise\",\"Bichon Frise Crossbreed\",\"Biewer Terrier\",\"Black and Tan Coonhound\",\"Black Russian Terrier\",\"Bloodhound\",\"Bloodhound Crossbreed\",\"Bluetick Coonhound\",\"Boerboel\",\"Bolognese\",\"Border Collie\",\"Border Collie Crossbreed\",\"Border Terrier\",\"Borzoi\",\"Boston Terrier\",\"Bouvier Des Flandres\",\"Boxer\",\"Boxer Crossbreed\",\"Boykin Spaniel\",\"Bracco Italiano\",\"Briard\",\"Brittany\",\"Brittany Spaniel\",\"Brussels Griffon\",\"Bull Dog, American\",\"Bull Dog, English\",\"Bull Dog, French\",\"Bull Terrier\",\"Bulldog\",\"Bullmastiff\",\"Cairn Terrier\",\"Canaan Dog\",\"Cane Corso\",\"Cardigan Welsh Corgi\",\"Catahoula Leopard Dog\",\"Cavalier King Charles Spaniel\",\"Cesky Terrier\",\"Chesapeake Bay Retriever\",\"Chihuahua\",\"Chihuahua Crossbreed\",\"Chinese Crested\",\"Chinese Shar-Pei\",\"Chinook\",\"Chow Chow\",\"Cirneco dell\",\"Clumber Spaniel\",\"Cocker Spaniel\",\"Cocker Spaniel Crossbreed\",\"Collie\",\"Collie Crossbreed\",\"Collie, Bearded \",\"Collie, Border\",\"Collie, Rough Coat\",\"Collie, Smooth Coat\",\"Coonhound, Black and Tan\",\"Coonhound, Blue Tick\",\"Coonhound, Treeing Walker\",\"Coton de Tulear\",\"Cotton De Tulear\",\"Curly-Coated Retriever\",\"Dachshund\",\"Dachshund Crossbreed\",\"Dachshund Smooth Coat\",\"Dachshund Smooth Coat Miniature\",\"Dachshund, Long Haired\",\"Dachshund, Long Haired Miniature\",\"Dachshund, Wirehaired\",\"Dachshund, Wirehaired, Miniature\",\"Dalmatian\",\"Dandie Dinmont Terrier\",\"Doberman Pinscher\",\"Dogo Argentino\",\"Dogue de Bordeaux\",\"Dutch Shepherd\",\"English Cocker Spaniel\",\"English Foxhound\",\"English Setter\",\"English Springer Spaniel\",\"English Toy Spaniel\",\"Entlebucher Mountain Dog\",\"Eurasier\",\"Field Spaniel\",\"Fila Brasileiro\",\"Finnish Lapphund\",\"Finnish Spitz\",\"Flat-Coated Retriever\",\"French Bulldog\",\"French Spaniel\",\"German Longhaired Pointer\",\"German Pinscher\",\"German Shepherd Crossbreed\",\"German Shepherd Dog\",\"German Shorthaired Pointer\",\"German Spitz\",\"German Wirehaired Pointer\",\"Giant Schnauzer\",\"Glen of Imaal Terrier\",\"Golden Retriever\",\"Goldendoodle\",\"Gordon Setter\",\"Grand Basset Griffon Vendeen\",\"Great Dane\",\"Great Pyrenees\",\"Greater Swiss Mountain Dog\",\"Greyhound\",\"Hamiltonstovare\",\"Harrier\",\"Havanese\",\"Hovawart\",\"Ibizan Hound\",\"Irish Red and White Setter\",\"Irish Setter\",\"Irish Terrier\",\"Irish Wolfhound\",\"Italian Greyhound\",\"Jack Russell Terrier\",\"Japanese Chin\",\"Japanese Chin/Spaniel\",\"Jindo\",\"Jindo Dog, Korea\",\"Kai Ken\",\"Karelian Bear Dog\",\"Keeshond\",\"Kerry Blue Terrier\",\"Kooikerhondje\",\"Kromfohrlander\",\"Kuvasz\",\"Labradoodle\",\"Labrador Retriever\",\"Labrador Retriever Crossbreed\",\"Lagotto Romagnolo\",\"Lakeland Terrier\",\"Lancashire Heeler\",\"Leonberger\",\"Lhasa Apso\",\"Lowchen\",\"Maltese\",\"Maltese Crossbreed\",\"Maltipoo\",\"Manchester Terrier\",\"Mastiff\",\"Mastiff, Bull\",\"Mastiff, French (Dogue de Bordeaux)\",\"Mastiff, Neapolitan\",\"Mastiff, Old English\",\"Mastiff, Tibetan\",\"Miniature American Shepherd\",\"Miniature Bull Terrier\",\"Miniature Fox Terrier\",\"Miniature Pinscher\",\"Miniature Schnauzer\",\"Morkie\",\"Mudi\",\"Neapolitan Mastiff\",\"Newfoundland\",\"Norfolk Terrier\",\"Norwegian Buhund\",\"Norwegian Elkhound\",\"Norwich Terrier\",\"Nova Scotia Duck Tolling Retriever\",\"Old English Sheepdog\",\"Otterhound\",\"Papillon\",\"Parson Russell Terrier\",\"Pekingese\",\"Pembroke Welsh Corgi\",\"Pembroke Welsh Corgi Crossbreed\",\"Perro de Presa Canario\",\"Peruvian Inca Orchid\",\"Petit Basset Griffon Vendeen\",\"Pharaoh Hound\",\"Pharoh hound\",\"Plott\",\"Pointer\",\"Pointer, German Shorthaired\",\"Pointer, German Wirehaired\",\"Polish Hound\",\"Polish Lowland Sheepdog\",\"Pomeranian\",\"Pomeranian Crossbreed\",\"Poodle\",\"Poodle Crossbreed\",\"Poodle, Miniature\",\"Poodle, Standard\",\"Poodle, Toy\",\"Portuguese Podengo Pequeno\",\"Portuguese Sheepdog\",\"Portuguese Water Dog\",\"Pug\",\"Pug Crossbreed\",\"Puggle\",\"Puli\",\"Pumi\",\"Pyrenean Shepherd\",\"Rat Terrier\",\"Rat Terrier Crossbreed\",\"Redbone Coonhound\",\"Rhodesian Ridgeback\",\"Rottweiler\",\"Rottweiler Crossbreed\",\"Russell Terrier\",\"Russian Toy\",\"Russian Wolfhound\",\"Saint Bernard\",\"Saluki\",\"Samoyed\",\"Schipperke\",\"Schipperkee\",\"Schnauzer Crossbreed\",\"Schnauzer, Giant\",\"Schnauzer, Miniature\",\"Schnauzer, Miniature Crossbreed\",\"Schnauzer, Standard\",\"Scottish Deerhound\",\"Scottish Terrier\",\"Sealyham Terrier\",\"Shar-Pei, Chinese\",\"Shetland Sheepdog\",\"Shiba Inu\",\"Shiba Inu Crossbreed\",\"Shih Tzu\",\"Shih Tzu Crossbreed\",\"Siberian Husky\",\"Siberian Husky Crossbreed\",\"Silky Terrier\",\"Skye Terrier\",\"Small Munsterlander Pointer\",\"Smooth Fox Terrier\",\"Soft Coated Wheaten Terrier\",\"Spanish Water Dog\",\"Spinone Italiano\",\"St. Bernard\",\"Staffordshire Bull Terrier\",\"Standard Schnauzer\",\"Sussex Spaniel\",\"Swedish Vallhund\",\"Terrier Crossbreed\",\"Terrier mix\",\"Thai Ridgeback\",\"Tibetan Mastiff\",\"Tibetan Spaniel\",\"Tibetan Terrier\",\"Toy Fox Terrier\",\"Treeing Tennessee Brindle\",\"Treeing Walker Coonhound\",\"Unknown\",\"Vizsla\",\"Weimaraner\",\"Welsh Corgi, Cardigan\",\"Welsh Corgi, Pembroke\",\"Welsh Springer Spaniel\",\"Welsh Terrier\",\"West High White Terrier\",\"West Highland White Terrier\",\"Wheaton Terrier\",\"Whippet\",\"Wire Fox Terrier\",\"Wirehaired Pointing Griffon\",\"Xoloitzcuintli\",\"Yorkshire Terrier\",\"Yorkshire Terrier Crossbreed\",\"Affenpinscher\",\"Afghan Hound\",\"Afghan Hound Crossbreed\",\"Airedale Terrier\",\"Akita\",\"Akita Crossbreed\",\"Alaskan Malamute\",\"American Bully\",\"American English Coonhound\",\"American Eskimo dog\",\"American Foxhound\",\"American Hairless Terrier\",\"American Leopard Hound\",\"American Pit Bull Mix / Pit Bull Mix\",\"American Pit Bull Terrier/Pit Bull\",\"American Staffordshire Terrier \",\"American Water Spaniel\",\"Anatolian Shepherd Dog\",\"Australian Cattle Dog\",\"Australian Cattledog\",\"Australian Kelpie\",\"Australian Shepherd\",\"Australian Silky Terrier\",\"Australian Terrier\",\"Barbet\",\"Basenji\",\"Basset Hound\",\"Bassett Hound\",\"Beagle\",\"Beagle Crossbreed\",\"Bearded Collie\",\"Bedlington Terrier\",\"Belgian Griffon\",\"Belgian Malinois\",\"Belgian Sheepdog\",\"Belgian Tervuren\",\"Berger Picard\",\"Bernese Mountain Dog\",\"Bichon Frise\",\"Bichon Frise Crossbreed\",\"Biewer Terrier\",\"Black and Tan Coonhound\",\"Black Russian Terrier\",\"Bloodhound\",\"Bloodhound Crossbreed\",\"Bluetick Coonhound\",\"Boerboel\",\"Bolognese\",\"Border Collie\",\"Border Collie Crossbreed\",\"Border Terrier\",\"Borzoi\",\"Boston Terrier\",\"Bouvier Des Flandres\",\"Boxer\",\"Boxer Crossbreed\",\"Boykin Spaniel\",\"Bracco Italiano\",\"Briard\",\"Brittany\",\"Brittany Spaniel\",\"Brussels Griffon\",\"Bull Dog, American\",\"Bull Dog, English\",\"Bull Dog, French\",\"Bull Terrier\",\"Bulldog\",\"Bullmastiff\",\"Cairn Terrier\",\"Canaan Dog\",\"Cane Corso\",\"Cardigan Welsh Corgi\",\"Catahoula Leopard Dog\",\"Cavalier King Charles Spaniel\",\"Cesky Terrier\",\"Chesapeake Bay Retriever\",\"Chihuahua\",\"Chihuahua Crossbreed\",\"Chinese Crested\",\"Chinese Shar-Pei\",\"Chinook\",\"Chow Chow\",\"Cirneco dell\",\"Clumber Spaniel\",\"Cocker Spaniel\",\"Cocker Spaniel Crossbreed\",\"Collie\",\"Collie Crossbreed\",\"Collie, Bearded \",\"Collie, Border\",\"Collie, Rough Coat\",\"Collie, Smooth Coat\",\"Coonhound, Black and Tan\",\"Coonhound, Blue Tick\",\"Coonhound, Treeing Walker\",\"Coton de Tulear\",\"Cotton De Tulear\",\"Curly-Coated Retriever\",\"Dachshund\",\"Dachshund Crossbreed\",\"Dachshund Smooth Coat\",\"Dachshund Smooth Coat Miniature\",\"Dachshund, Long Haired\",\"Dachshund, Long Haired Miniature\",\"Dachshund, Wirehaired\",\"Dachshund, Wirehaired, Miniature\",\"Dalmatian\",\"Dandie Dinmont Terrier\",\"Doberman Pinscher\",\"Dogo Argentino\",\"Dogue de Bordeaux\",\"Dutch Shepherd\",\"English Cocker Spaniel\",\"English Foxhound\",\"English Setter\",\"English Springer Spaniel\",\"English Toy Spaniel\",\"Entlebucher Mountain Dog\",\"Eurasier\",\"Field Spaniel\",\"Fila Brasileiro\",\"Finnish Lapphund\",\"Finnish Spitz\",\"Flat-Coated Retriever\",\"French Bulldog\",\"French Spaniel\",\"German Longhaired Pointer\",\"German Pinscher\",\"German Shepherd Crossbreed\",\"German Shepherd Dog\",\"German Shorthaired Pointer\",\"German Spitz\",\"German Wirehaired Pointer\",\"Giant Schnauzer\",\"Glen of Imaal Terrier\",\"Golden Retriever\",\"Goldendoodle\",\"Gordon Setter\",\"Grand Basset Griffon Vendeen\",\"Great Dane\",\"Great Pyrenees\",\"Greater Swiss Mountain Dog\",\"Greyhound\",\"Hamiltonstovare\",\"Harrier\",\"Havanese\",\"Hovawart\",\"Ibizan Hound\",\"Irish Red and White Setter\",\"Irish Setter\",\"Irish Terrier\",\"Irish Wolfhound\",\"Italian Greyhound\",\"Jack Russell Terrier\",\"Japanese Chin\",\"Japanese Chin/Spaniel\",\"Jindo\",\"Jindo Dog, Korea\",\"Kai Ken\",\"Karelian Bear Dog\",\"Keeshond\",\"Kerry Blue Terrier\",\"Kooikerhondje\",\"Kromfohrlander\",\"Kuvasz\",\"Labradoodle\",\"Labrador Retriever\",\"Labrador Retriever Crossbreed\",\"Lagotto Romagnolo\",\"Lakeland Terrier\",\"Lancashire Heeler\",\"Leonberger\",\"Lhasa Apso\",\"Lowchen\",\"Maltese\",\"Maltese Crossbreed\",\"Maltipoo\",\"Manchester Terrier\",\"Mastiff\",\"Mastiff, Bull\",\"Mastiff, French (Dogue de Bordeaux)\",\"Mastiff, Neapolitan\",\"Mastiff, Old English\",\"Mastiff, Tibetan\",\"Miniature American Shepherd\",\"Miniature Bull Terrier\",\"Miniature Fox Terrier\",\"Miniature Pinscher\",\"Miniature Schnauzer\",\"Morkie\",\"Mudi\",\"Neapolitan Mastiff\",\"Newfoundland\",\"Norfolk Terrier\",\"Norwegian Buhund\",\"Norwegian Elkhound\",\"Norwich Terrier\",\"Nova Scotia Duck Tolling Retriever\",\"Old English Sheepdog\",\"Otterhound\",\"Papillon\",\"Parson Russell Terrier\",\"Pekingese\",\"Pembroke Welsh Corgi\",\"Pembroke Welsh Corgi Crossbreed\",\"Perro de Presa Canario\",\"Peruvian Inca Orchid\",\"Petit Basset Griffon Vendeen\",\"Pharaoh Hound\",\"Pharoh hound\",\"Plott\",\"Pointer\",\"Pointer, German Shorthaired\",\"Pointer, German Wirehaired\",\"Polish Hound\",\"Polish Lowland Sheepdog\",\"Pomeranian\",\"Pomeranian Crossbreed\",\"Poodle\",\"Poodle Crossbreed\",\"Poodle, Miniature\",\"Poodle, Standard\",\"Poodle, Toy\",\"Portuguese Podengo Pequeno\",\"Portuguese Sheepdog\",\"Portuguese Water Dog\",\"Pug\",\"Pug Crossbreed\",\"Puggle\",\"Puli\",\"Pumi\",\"Pyrenean Shepherd\",\"Rat Terrier\",\"Rat Terrier Crossbreed\",\"Redbone Coonhound\",\"Rhodesian Ridgeback\",\"Rottweiler\",\"Rottweiler Crossbreed\",\"Russell Terrier\",\"Russian Toy\",\"Russian Wolfhound\",\"Saint Bernard\",\"Saluki\",\"Samoyed\",\"Schipperke\",\"Schipperkee\",\"Schnauzer Crossbreed\",\"Schnauzer, Giant\",\"Schnauzer, Miniature\",\"Schnauzer, Miniature Crossbreed\",\"Schnauzer, Standard\",\"Scottish Deerhound\",\"Scottish Terrier\",\"Sealyham Terrier\",\"Shar-Pei, Chinese\",\"Shetland Sheepdog\",\"Shiba Inu\",\"Shiba Inu Crossbreed\",\"Shih Tzu\",\"Shih Tzu Crossbreed\",\"Siberian Husky\",\"Siberian Husky Crossbreed\",\"Silky Terrier\",\"Skye Terrier\",\"Small Munsterlander Pointer\",\"Smooth Fox Terrier\",\"Soft Coated Wheaten Terrier\",\"Spanish Water Dog\",\"Spinone Italiano\",\"St. Bernard\",\"Staffordshire Bull Terrier\",\"Standard Schnauzer\",\"Sussex Spaniel\",\"Swedish Vallhund\",\"Terrier Crossbreed\",\"Terrier mix\",\"Thai Ridgeback\",\"Tibetan Mastiff\",\"Tibetan Spaniel\",\"Tibetan Terrier\",\"Toy Fox Terrier\",\"Treeing Tennessee Brindle\",\"Treeing Walker Coonhound\",\"Unknown\",\"Vizsla\",\"Weimaraner\",\"Welsh Corgi, Cardigan\",\"Welsh Corgi, Pembroke\",\"Welsh Springer Spaniel\",\"Welsh Terrier\",\"West High White Terrier\",\"West Highland White Terrier\",\"Wheaton Terrier\",\"Whippet\",\"Wire Fox Terrier\",\"Wirehaired Pointing Griffon\",\"Xoloitzcuintli\",\"Yorkshire Terrier\",\"Yorkshire Terrier Crossbreed\",\"Affenpinscher\",\"Afghan Hound\",\"Afghan Hound Crossbreed\",\"Airedale Terrier\",\"Akita\",\"Akita Crossbreed\",\"Alaskan Malamute\",\"American Bully\",\"American English Coonhound\",\"American Eskimo dog\",\"American Foxhound\",\"American Hairless Terrier\",\"American Leopard Hound\",\"American Pit Bull Mix / Pit Bull Mix\",\"American Pit Bull Terrier/Pit Bull\",\"American Staffordshire Terrier \",\"American Water Spaniel\",\"Anatolian Shepherd Dog\",\"Australian Cattle Dog\",\"Australian Cattledog\",\"Australian Kelpie\",\"Australian Shepherd\",\"Australian Silky Terrier\",\"Australian Terrier\",\"Barbet\",\"Basenji\",\"Basset Hound\",\"Bassett Hound\",\"Beagle\",\"Beagle Crossbreed\",\"Bearded Collie\",\"Bedlington Terrier\",\"Belgian Griffon\",\"Belgian Malinois\",\"Belgian Sheepdog\",\"Belgian Tervuren\",\"Berger Picard\",\"Bernese Mountain Dog\",\"Bichon Frise\",\"Bichon Frise Crossbreed\",\"Biewer Terrier\",\"Black and Tan Coonhound\",\"Black Russian Terrier\",\"Bloodhound\",\"Bloodhound Crossbreed\",\"Bluetick Coonhound\",\"Boerboel\",\"Bolognese\",\"Border Collie\",\"Border Collie Crossbreed\",\"Border Terrier\",\"Borzoi\",\"Boston Terrier\",\"Bouvier Des Flandres\",\"Boxer\",\"Boxer Crossbreed\",\"Boykin Spaniel\",\"Bracco Italiano\",\"Briard\",\"Brittany\",\"Brittany Spaniel\",\"Brussels Griffon\",\"Bull Dog, American\",\"Bull Dog, English\",\"Bull Dog, French\",\"Bull Terrier\",\"Bulldog\",\"Bullmastiff\",\"Cairn Terrier\",\"Canaan Dog\",\"Cane Corso\",\"Cardigan Welsh Corgi\",\"Catahoula Leopard Dog\",\"Cavalier King Charles Spaniel\",\"Cesky Terrier\",\"Chesapeake Bay Retriever\",\"Chihuahua\",\"Chihuahua Crossbreed\",\"Chinese Crested\",\"Chinese Shar-Pei\",\"Chinook\",\"Chow Chow\",\"Cirneco dell\",\"Clumber Spaniel\",\"Cocker Spaniel\",\"Cocker Spaniel Crossbreed\",\"Collie\",\"Collie Crossbreed\",\"Collie, Bearded \",\"Collie, Border\",\"Collie, Rough Coat\",\"Collie, Smooth Coat\",\"Coonhound, Black and Tan\",\"Coonhound, Blue Tick\",\"Coonhound, Treeing Walker\",\"Coton de Tulear\",\"Cotton De Tulear\",\"Curly-Coated Retriever\",\"Dachshund\",\"Dachshund Crossbreed\",\"Dachshund Smooth Coat\",\"Dachshund Smooth Coat Miniature\",\"Dachshund, Long Haired\",\"Dachshund, Long Haired Miniature\",\"Dachshund, Wirehaired\",\"Dachshund, Wirehaired, Miniature\",\"Dalmatian\",\"Dandie Dinmont Terrier\",\"Doberman Pinscher\",\"Dogo Argentino\",\"Dogue de Bordeaux\",\"Dutch Shepherd\",\"English Cocker Spaniel\",\"English Foxhound\",\"English Setter\",\"English Springer Spaniel\",\"English Toy Spaniel\",\"Entlebucher Mountain Dog\",\"Eurasier\",\"Field Spaniel\",\"Fila Brasileiro\",\"Finnish Lapphund\",\"Finnish Spitz\",\"Flat-Coated Retriever\",\"French Bulldog\",\"French Spaniel\",\"German Longhaired Pointer\",\"German Pinscher\",\"German Shepherd Crossbreed\",\"German Shepherd Dog\",\"German Shorthaired Pointer\",\"German Spitz\",\"German Wirehaired Pointer\",\"Giant Schnauzer\",\"Glen of Imaal Terrier\",\"Golden Retriever\",\"Goldendoodle\",\"Gordon Setter\",\"Grand Basset Griffon Vendeen\",\"Great Dane\",\"Great Pyrenees\",\"Greater Swiss Mountain Dog\",\"Greyhound\",\"Hamiltonstovare\",\"Harrier\",\"Havanese\",\"Hovawart\",\"Ibizan Hound\",\"Irish Red and White Setter\",\"Irish Setter\",\"Irish Terrier\",\"Irish Wolfhound\",\"Italian Greyhound\",\"Jack Russell Terrier\",\"Japanese Chin\",\"Japanese Chin/Spaniel\",\"Jindo\",\"Jindo Dog, Korea\",\"Kai Ken\",\"Karelian Bear Dog\",\"Keeshond\",\"Kerry Blue Terrier\",\"Kooikerhondje\",\"Kromfohrlander\",\"Kuvasz\",\"Labradoodle\",\"Labrador Retriever\",\"Labrador Retriever Crossbreed\",\"Lagotto Romagnolo\",\"Lakeland Terrier\",\"Lancashire Heeler\",\"Leonberger\",\"Lhasa Apso\",\"Lowchen\",\"Maltese\",\"Maltese Crossbreed\",\"Maltipoo\",\"Manchester Terrier\",\"Mastiff\",\"Mastiff, Bull\",\"Mastiff, French (Dogue de Bordeaux)\",\"Mastiff, Neapolitan\",\"Mastiff, Old English\",\"Mastiff, Tibetan\",\"Miniature American Shepherd\",\"Miniature Bull Terrier\",\"Miniature Fox Terrier\",\"Miniature Pinscher\",\"Miniature Schnauzer\",\"Morkie\",\"Mudi\",\"Neapolitan Mastiff\",\"Newfoundland\",\"Norfolk Terrier\",\"Norwegian Buhund\",\"Norwegian Elkhound\",\"Norwich Terrier\",\"Nova Scotia Duck Tolling Retriever\",\"Old English Sheepdog\",\"Otterhound\",\"Papillon\",\"Parson Russell Terrier\",\"Pekingese\",\"Pembroke Welsh Corgi\",\"Pembroke Welsh Corgi Crossbreed\",\"Perro de Presa Canario\",\"Peruvian Inca Orchid\",\"Petit Basset Griffon Vendeen\",\"Pharaoh Hound\",\"Pharoh hound\",\"Plott\",\"Pointer\",\"Pointer, German Shorthaired\",\"Pointer, German Wirehaired\",\"Polish Hound\",\"Polish Lowland Sheepdog\",\"Pomeranian\",\"Pomeranian Crossbreed\",\"Poodle\",\"Poodle Crossbreed\",\"Poodle, Miniature\",\"Poodle, Standard\",\"Poodle, Toy\",\"Portuguese Podengo Pequeno\",\"Portuguese Sheepdog\",\"Portuguese Water Dog\",\"Pug\",\"Pug Crossbreed\",\"Puggle\",\"Puli\",\"Pumi\",\"Pyrenean Shepherd\",\"Rat Terrier\",\"Rat Terrier Crossbreed\",\"Redbone Coonhound\",\"Rhodesian Ridgeback\",\"Rottweiler\",\"Rottweiler Crossbreed\",\"Russell Terrier\",\"Russian Toy\",\"Russian Wolfhound\",\"Saint Bernard\",\"Saluki\",\"Samoyed\",\"Schipperke\",\"Schipperkee\",\"Schnauzer Crossbreed\",\"Schnauzer, Giant\",\"Schnauzer, Miniature\",\"Schnauzer, Miniature Crossbreed\",\"Schnauzer, Standard\",\"Scottish Deerhound\",\"Scottish Terrier\",\"Sealyham Terrier\",\"Shar-Pei, Chinese\",\"Shetland Sheepdog\",\"Shiba Inu\",\"Shiba Inu Crossbreed\",\"Shih Tzu\",\"Shih Tzu Crossbreed\",\"Siberian Husky\",\"Siberian Husky Crossbreed\",\"Silky Terrier\",\"Skye Terrier\",\"Small Munsterlander Pointer\",\"Smooth Fox Terrier\",\"Soft Coated Wheaten Terrier\",\"Spanish Water Dog\",\"Spinone Italiano\",\"St. Bernard\",\"Staffordshire Bull Terrier\",\"Standard Schnauzer\",\"Sussex Spaniel\",\"Swedish Vallhund\",\"Terrier Crossbreed\",\"Terrier mix\",\"Thai Ridgeback\",\"Tibetan Mastiff\",\"Tibetan Spaniel\",\"Tibetan Terrier\",\"Toy Fox Terrier\",\"Treeing Tennessee Brindle\",\"Treeing Walker Coonhound\",\"Unknown\",\"Vizsla\",\"Weimaraner\",\"Welsh Corgi, Cardigan\",\"Welsh Corgi, Pembroke\",\"Welsh Springer Spaniel\",\"Welsh Terrier\",\"West High White Terrier\",\"West Highland White Terrier\",\"Wheaton Terrier\",\"Whippet\",\"Wire Fox Terrier\",\"Wirehaired Pointing Griffon\",\"Xoloitzcuintli\",\"Yorkshire Terrier\",\"Yorkshire Terrier Crossbreed\",\"Affenpinscher\",\"Afghan Hound\",\"Afghan Hound Crossbreed\",\"Airedale Terrier\",\"Akita\",\"Akita Crossbreed\",\"Alaskan Malamute\",\"American Bully\",\"American English Coonhound\",\"American Eskimo dog\",\"American Foxhound\",\"American Hairless Terrier\",\"American Leopard Hound\",\"American Pit Bull Mix / Pit Bull Mix\",\"American Pit Bull Terrier/Pit Bull\",\"American Staffordshire Terrier \",\"American Water Spaniel\",\"Anatolian Shepherd Dog\",\"Australian Cattle Dog\",\"Australian Cattledog\",\"Australian Kelpie\",\"Australian Shepherd\",\"Australian Silky Terrier\",\"Australian Terrier\",\"Barbet\",\"Basenji\",\"Basset Hound\",\"Bassett Hound\",\"Beagle\",\"Beagle Crossbreed\",\"Bearded Collie\",\"Bedlington Terrier\",\"Belgian Griffon\",\"Belgian Malinois\",\"Belgian Sheepdog\",\"Belgian Tervuren\",\"Berger Picard\",\"Bernese Mountain Dog\",\"Bichon Frise\",\"Bichon Frise Crossbreed\",\"Biewer Terrier\",\"Black and Tan Coonhound\",\"Black Russian Terrier\",\"Bloodhound\",\"Bloodhound Crossbreed\",\"Bluetick Coonhound\",\"Boerboel\",\"Bolognese\",\"Border Collie\",\"Border Collie Crossbreed\",\"Border Terrier\",\"Borzoi\",\"Boston Terrier\",\"Bouvier Des Flandres\",\"Boxer\",\"Boxer Crossbreed\",\"Boykin Spaniel\",\"Bracco Italiano\",\"Briard\",\"Brittany\",\"Brittany Spaniel\",\"Brussels Griffon\",\"Bull Dog, American\",\"Bull Dog, English\",\"Bull Dog, French\",\"Bull Terrier\",\"Bulldog\",\"Bullmastiff\",\"Cairn Terrier\",\"Canaan Dog\",\"Cane Corso\",\"Cardigan Welsh Corgi\",\"Catahoula Leopard Dog\",\"Cavalier King Charles Spaniel\",\"Cesky Terrier\",\"Chesapeake Bay Retriever\",\"Chihuahua\",\"Chihuahua Crossbreed\",\"Chinese Crested\",\"Chinese Shar-Pei\",\"Chinook\",\"Chow Chow\",\"Cirneco dell\",\"Clumber Spaniel\",\"Cocker Spaniel\",\"Cocker Spaniel Crossbreed\",\"Collie\",\"Collie Crossbreed\",\"Collie, Bearded \",\"Collie, Border\",\"Collie, Rough Coat\",\"Collie, Smooth Coat\",\"Coonhound, Black and Tan\",\"Coonhound, Blue Tick\",\"Coonhound, Treeing Walker\",\"Coton de Tulear\",\"Cotton De Tulear\",\"Curly-Coated Retriever\",\"Dachshund\",\"Dachshund Crossbreed\",\"Dachshund Smooth Coat\",\"Dachshund Smooth Coat Miniature\",\"Dachshund, Long Haired\",\"Dachshund, Long Haired Miniature\",\"Dachshund, Wirehaired\",\"Dachshund, Wirehaired, Miniature\",\"Dalmatian\",\"Dandie Dinmont Terrier\",\"Doberman Pinscher\",\"Dogo Argentino\",\"Dogue de Bordeaux\",\"Dutch Shepherd\",\"English Cocker Spaniel\",\"English Foxhound\",\"English Setter\",\"English Springer Spaniel\",\"English Toy Spaniel\",\"Entlebucher Mountain Dog\",\"Eurasier\",\"Field Spaniel\",\"Fila Brasileiro\",\"Finnish Lapphund\",\"Finnish Spitz\",\"Flat-Coated Retriever\",\"French Bulldog\",\"French Spaniel\",\"German Longhaired Pointer\",\"German Pinscher\",\"German Shepherd Crossbreed\",\"German Shepherd Dog\",\"German Shorthaired Pointer\",\"German Spitz\",\"German Wirehaired Pointer\",\"Giant Schnauzer\",\"Glen of Imaal Terrier\",\"Golden Retriever\",\"Goldendoodle\",\"Gordon Setter\",\"Grand Basset Griffon Vendeen\",\"Great Dane\",\"Great Pyrenees\",\"Greater Swiss Mountain Dog\",\"Greyhound\",\"Hamiltonstovare\",\"Harrier\",\"Havanese\",\"Hovawart\",\"Ibizan Hound\",\"Irish Red and White Setter\",\"Irish Setter\",\"Irish Terrier\",\"Irish Wolfhound\",\"Italian Greyhound\",\"Jack Russell Terrier\",\"Japanese Chin\",\"Japanese Chin/Spaniel\",\"Jindo\",\"Jindo Dog, Korea\",\"Kai Ken\",\"Karelian Bear Dog\",\"Keeshond\",\"Kerry Blue Terrier\",\"Kooikerhondje\",\"Kromfohrlander\",\"Kuvasz\",\"Labradoodle\",\"Labrador Retriever\",\"Labrador Retriever Crossbreed\",\"Lagotto Romagnolo\",\"Lakeland Terrier\",\"Lancashire Heeler\",\"Leonberger\",\"Lhasa Apso\",\"Lowchen\",\"Maltese\",\"Maltese Crossbreed\",\"Maltipoo\",\"Manchester Terrier\",\"Mastiff\",\"Mastiff, Bull\",\"Mastiff, French (Dogue de Bordeaux)\",\"Mastiff, Neapolitan\",\"Mastiff, Old English\",\"Mastiff, Tibetan\",\"Miniature American Shepherd\",\"Miniature Bull Terrier\",\"Miniature Fox Terrier\",\"Miniature Pinscher\",\"Miniature Schnauzer\",\"Morkie\",\"Mudi\",\"Neapolitan Mastiff\",\"Newfoundland\",\"Norfolk Terrier\",\"Norwegian Buhund\",\"Norwegian Elkhound\",\"Norwich Terrier\",\"Nova Scotia Duck Tolling Retriever\",\"Old English Sheepdog\",\"Otterhound\",\"Papillon\",\"Parson Russell Terrier\",\"Pekingese\",\"Pembroke Welsh Corgi\",\"Pembroke Welsh Corgi Crossbreed\",\"Perro de Presa Canario\",\"Peruvian Inca Orchid\",\"Petit Basset Griffon Vendeen\",\"Pharaoh Hound\",\"Pharoh hound\",\"Plott\",\"Pointer\",\"Pointer, German Shorthaired\",\"Pointer, German Wirehaired\",\"Polish Hound\",\"Polish Lowland Sheepdog\",\"Pomeranian\",\"Pomeranian Crossbreed\",\"Poodle\",\"Poodle Crossbreed\",\"Poodle, Miniature\",\"Poodle, Standard\",\"Poodle, Toy\",\"Portuguese Podengo Pequeno\",\"Portuguese Sheepdog\",\"Portuguese Water Dog\",\"Pug\",\"Pug Crossbreed\",\"Puggle\",\"Puli\",\"Pumi\",\"Pyrenean Shepherd\",\"Rat Terrier\",\"Rat Terrier Crossbreed\",\"Redbone Coonhound\",\"Rhodesian Ridgeback\",\"Rottweiler\",\"Rottweiler Crossbreed\",\"Russell Terrier\",\"Russian Toy\",\"Russian Wolfhound\",\"Saint Bernard\",\"Saluki\",\"Samoyed\",\"Schipperke\",\"Schipperkee\",\"Schnauzer Crossbreed\",\"Schnauzer, Giant\",\"Schnauzer, Miniature\",\"Schnauzer, Miniature Crossbreed\",\"Schnauzer, Standard\",\"Scottish Deerhound\",\"Scottish Terrier\",\"Sealyham Terrier\",\"Shar-Pei, Chinese\",\"Shetland Sheepdog\",\"Shiba Inu\",\"Shiba Inu Crossbreed\",\"Shih Tzu\",\"Shih Tzu Crossbreed\",\"Siberian Husky\",\"Siberian Husky Crossbreed\",\"Silky Terrier\",\"Skye Terrier\",\"Small Munsterlander Pointer\",\"Smooth Fox Terrier\",\"Soft Coated Wheaten Terrier\",\"Spanish Water Dog\",\"Spinone Italiano\",\"St. Bernard\",\"Staffordshire Bull Terrier\",\"Standard Schnauzer\",\"Sussex Spaniel\",\"Swedish Vallhund\",\"Terrier Crossbreed\",\"Terrier mix\",\"Thai Ridgeback\",\"Tibetan Mastiff\",\"Tibetan Spaniel\",\"Tibetan Terrier\",\"Toy Fox Terrier\",\"Treeing Tennessee Brindle\",\"Treeing Walker Coonhound\",\"Unknown\",\"Vizsla\",\"Weimaraner\",\"Welsh Corgi, Cardigan\",\"Welsh Corgi, Pembroke\",\"Welsh Springer Spaniel\",\"Welsh Terrier\",\"West High White Terrier\",\"West Highland White Terrier\",\"Wheaton Terrier\",\"Whippet\",\"Wire Fox Terrier\",\"Wirehaired Pointing Griffon\",\"Xoloitzcuintli\",\"Yorkshire Terrier\",\"Yorkshire Terrier Crossbreed\",\"Affenpinscher\",\"Afghan Hound\",\"Afghan Hound Crossbreed\",\"Airedale Terrier\",\"Akita\",\"Akita Crossbreed\",\"Alaskan Malamute\",\"American Bully\",\"American English Coonhound\",\"American Eskimo dog\",\"American Foxhound\",\"American Hairless Terrier\",\"American Leopard Hound\",\"American Pit Bull Mix / Pit Bull Mix\",\"American Pit Bull Terrier/Pit Bull\",\"American Staffordshire Terrier \",\"American Water Spaniel\",\"Anatolian Shepherd Dog\",\"Australian Cattle Dog\",\"Australian Cattledog\",\"Australian Kelpie\",\"Australian Shepherd\",\"Australian Silky Terrier\",\"Australian Terrier\",\"Barbet\",\"Basenji\",\"Basset Hound\",\"Bassett Hound\",\"Beagle\",\"Beagle Crossbreed\",\"Bearded Collie\",\"Bedlington Terrier\",\"Belgian Griffon\",\"Belgian Malinois\",\"Belgian Sheepdog\",\"Belgian Tervuren\",\"Berger Picard\",\"Bernese Mountain Dog\",\"Bichon Frise\",\"Bichon Frise Crossbreed\",\"Biewer Terrier\",\"Black and Tan Coonhound\",\"Black Russian Terrier\",\"Bloodhound\",\"Bloodhound Crossbreed\",\"Bluetick Coonhound\",\"Boerboel\",\"Bolognese\",\"Border Collie\",\"Border Collie Crossbreed\",\"Border Terrier\",\"Borzoi\",\"Boston Terrier\",\"Bouvier Des Flandres\",\"Boxer\",\"Boxer Crossbreed\",\"Boykin Spaniel\",\"Bracco Italiano\",\"Briard\",\"Brittany\",\"Brittany Spaniel\",\"Brussels Griffon\",\"Bull Dog, American\",\"Bull Dog, English\",\"Bull Dog, French\",\"Bull Terrier\",\"Bulldog\",\"Bullmastiff\",\"Cairn Terrier\",\"Canaan Dog\",\"Cane Corso\",\"Cardigan Welsh Corgi\",\"Catahoula Leopard Dog\",\"Cavalier King Charles Spaniel\",\"Cesky Terrier\",\"Chesapeake Bay Retriever\",\"Chihuahua\",\"Chihuahua Crossbreed\",\"Chinese Crested\",\"Chinese Shar-Pei\",\"Chinook\",\"Chow Chow\",\"Cirneco dell\",\"Clumber Spaniel\",\"Cocker Spaniel\",\"Cocker Spaniel Crossbreed\",\"Collie\",\"Collie Crossbreed\",\"Collie, Bearded \",\"Collie, Border\",\"Collie, Rough Coat\",\"Collie, Smooth Coat\",\"Coonhound, Black and Tan\",\"Coonhound, Blue Tick\",\"Coonhound, Treeing Walker\",\"Coton de Tulear\",\"Cotton De Tulear\",\"Curly-Coated Retriever\",\"Dachshund\",\"Dachshund Crossbreed\",\"Dachshund Smooth Coat\",\"Dachshund Smooth Coat Miniature\",\"Dachshund, Long Haired\",\"Dachshund, Long Haired Miniature\",\"Dachshund, Wirehaired\",\"Dachshund, Wirehaired, Miniature\",\"Dalmatian\",\"Dandie Dinmont Terrier\",\"Doberman Pinscher\",\"Dogo Argentino\",\"Dogue de Bordeaux\",\"Dutch Shepherd\",\"English Cocker Spaniel\",\"English Foxhound\",\"English Setter\",\"English Springer Spaniel\",\"English Toy Spaniel\",\"Entlebucher Mountain Dog\",\"Eurasier\",\"Field Spaniel\",\"Fila Brasileiro\",\"Finnish Lapphund\",\"Finnish Spitz\",\"Flat-Coated Retriever\",\"French Bulldog\",\"French Spaniel\",\"German Longhaired Pointer\",\"German Pinscher\",\"German Shepherd Crossbreed\",\"German Shepherd Dog\",\"German Shorthaired Pointer\",\"German Spitz\",\"German Wirehaired Pointer\",\"Giant Schnauzer\",\"Glen of Imaal Terrier\",\"Golden Retriever\",\"Goldendoodle\",\"Gordon Setter\",\"Grand Basset Griffon Vendeen\",\"Great Dane\",\"Great Pyrenees\",\"Greater Swiss Mountain Dog\",\"Greyhound\",\"Hamiltonstovare\",\"Harrier\",\"Havanese\",\"Hovawart\",\"Ibizan Hound\",\"Irish Red and White Setter\",\"Irish Setter\",\"Irish Terrier\",\"Irish Wolfhound\",\"Italian Greyhound\",\"Jack Russell Terrier\",\"Japanese Chin\",\"Japanese Chin/Spaniel\",\"Jindo\",\"Jindo Dog, Korea\",\"Kai Ken\",\"Karelian Bear Dog\",\"Keeshond\",\"Kerry Blue Terrier\",\"Kooikerhondje\",\"Kromfohrlander\",\"Kuvasz\",\"Labradoodle\",\"Labrador Retriever\",\"Labrador Retriever Crossbreed\",\"Lagotto Romagnolo\",\"Lakeland Terrier\",\"Lancashire Heeler\",\"Leonberger\",\"Lhasa Apso\",\"Lowchen\",\"Maltese\",\"Maltese Crossbreed\",\"Maltipoo\",\"Manchester Terrier\",\"Mastiff\",\"Mastiff, Bull\",\"Mastiff, French (Dogue de Bordeaux)\",\"Mastiff, Neapolitan\",\"Mastiff, Old English\",\"Mastiff, Tibetan\",\"Miniature American Shepherd\",\"Miniature Bull Terrier\",\"Miniature Fox Terrier\",\"Miniature Pinscher\",\"Miniature Schnauzer\",\"Morkie\",\"Mudi\",\"Neapolitan Mastiff\",\"Newfoundland\",\"Norfolk Terrier\",\"Norwegian Buhund\",\"Norwegian Elkhound\",\"Norwich Terrier\",\"Nova Scotia Duck Tolling Retriever\",\"Old English Sheepdog\",\"Otterhound\",\"Papillon\",\"Parson Russell Terrier\",\"Pekingese\",\"Pembroke Welsh Corgi\",\"Pembroke Welsh Corgi Crossbreed\",\"Perro de Presa Canario\",\"Peruvian Inca Orchid\",\"Petit Basset Griffon Vendeen\",\"Pharaoh Hound\",\"Pharoh hound\",\"Plott\",\"Pointer\",\"Pointer, German Shorthaired\",\"Pointer, German Wirehaired\",\"Polish Hound\",\"Polish Lowland Sheepdog\",\"Pomeranian\",\"Pomeranian Crossbreed\",\"Poodle\",\"Poodle Crossbreed\",\"Poodle, Miniature\",\"Poodle, Standard\",\"Poodle, Toy\",\"Portuguese Podengo Pequeno\",\"Portuguese Sheepdog\",\"Portuguese Water Dog\",\"Pug\",\"Pug Crossbreed\",\"Puggle\",\"Puli\",\"Pumi\",\"Pyrenean Shepherd\",\"Rat Terrier\",\"Rat Terrier Crossbreed\",\"Redbone Coonhound\",\"Rhodesian Ridgeback\",\"Rottweiler\",\"Rottweiler Crossbreed\",\"Russell Terrier\",\"Russian Toy\",\"Russian Wolfhound\",\"Saint Bernard\",\"Saluki\",\"Samoyed\",\"Schipperke\",\"Schipperkee\",\"Schnauzer Crossbreed\",\"Schnauzer, Giant\",\"Schnauzer, Miniature\",\"Schnauzer, Miniature Crossbreed\",\"Schnauzer, Standard\",\"Scottish Deerhound\",\"Scottish Terrier\",\"Sealyham Terrier\",\"Shar-Pei, Chinese\",\"Shetland Sheepdog\",\"Shiba Inu\",\"Shiba Inu Crossbreed\",\"Shih Tzu\",\"Shih Tzu Crossbreed\",\"Siberian Husky\",\"Siberian Husky Crossbreed\",\"Silky Terrier\",\"Skye Terrier\",\"Small Munsterlander Pointer\",\"Smooth Fox Terrier\",\"Soft Coated Wheaten Terrier\",\"Spanish Water Dog\",\"Spinone Italiano\",\"St. Bernard\",\"Staffordshire Bull Terrier\",\"Standard Schnauzer\",\"Sussex Spaniel\",\"Swedish Vallhund\",\"Terrier Crossbreed\",\"Terrier mix\",\"Thai Ridgeback\",\"Tibetan Mastiff\",\"Tibetan Spaniel\",\"Tibetan Terrier\",\"Toy Fox Terrier\",\"Treeing Tennessee Brindle\",\"Treeing Walker Coonhound\",\"Unknown\",\"Vizsla\",\"Weimaraner\",\"Welsh Corgi, Cardigan\",\"Welsh Corgi, Pembroke\",\"Welsh Springer Spaniel\",\"Welsh Terrier\",\"West High White Terrier\",\"West Highland White Terrier\",\"Wheaton Terrier\",\"Whippet\",\"Wire Fox Terrier\",\"Wirehaired Pointing Griffon\",\"Xoloitzcuintli\",\"Yorkshire Terrier\",\"Yorkshire Terrier Crossbreed\",\"Affenpinscher\",\"Afghan Hound\",\"Afghan Hound Crossbreed\",\"Airedale Terrier\",\"Akita\",\"Akita Crossbreed\",\"Alaskan Malamute\",\"American Bully\",\"American English Coonhound\",\"American Eskimo dog\",\"American Foxhound\",\"American Hairless Terrier\",\"American Leopard Hound\",\"American Pit Bull Mix / Pit Bull Mix\",\"American Pit Bull Terrier/Pit Bull\",\"American Staffordshire Terrier \",\"American Water Spaniel\",\"Anatolian Shepherd Dog\",\"Australian Cattle Dog\",\"Australian Cattledog\",\"Australian Kelpie\",\"Australian Shepherd\",\"Australian Silky Terrier\",\"Australian Terrier\",\"Barbet\",\"Basenji\",\"Basset Hound\",\"Bassett Hound\",\"Beagle\",\"Beagle Crossbreed\",\"Bearded Collie\",\"Bedlington Terrier\",\"Belgian Griffon\",\"Belgian Malinois\",\"Belgian Sheepdog\",\"Belgian Tervuren\",\"Berger Picard\",\"Bernese Mountain Dog\",\"Bichon Frise\",\"Bichon Frise Crossbreed\",\"Biewer Terrier\",\"Black and Tan Coonhound\",\"Black Russian Terrier\",\"Bloodhound\",\"Bloodhound Crossbreed\",\"Bluetick Coonhound\",\"Boerboel\",\"Bolognese\",\"Border Collie\",\"Border Collie Crossbreed\",\"Border Terrier\",\"Borzoi\",\"Boston Terrier\",\"Bouvier Des Flandres\",\"Boxer\",\"Boxer Crossbreed\",\"Boykin Spaniel\",\"Bracco Italiano\",\"Briard\",\"Brittany\",\"Brittany Spaniel\",\"Brussels Griffon\",\"Bull Dog, American\",\"Bull Dog, English\",\"Bull Dog, French\",\"Bull Terrier\",\"Bulldog\",\"Bullmastiff\",\"Cairn Terrier\",\"Canaan Dog\",\"Cane Corso\",\"Cardigan Welsh Corgi\",\"Catahoula Leopard Dog\",\"Cavalier King Charles Spaniel\",\"Cesky Terrier\",\"Chesapeake Bay Retriever\",\"Chihuahua\",\"Chihuahua Crossbreed\",\"Chinese Crested\",\"Chinese Shar-Pei\",\"Chinook\",\"Chow Chow\",\"Cirneco dell\",\"Clumber Spaniel\",\"Cocker Spaniel\",\"Cocker Spaniel Crossbreed\",\"Collie\",\"Collie Crossbreed\",\"Collie, Bearded \",\"Collie, Border\",\"Collie, Rough Coat\",\"Collie, Smooth Coat\",\"Coonhound, Black and Tan\",\"Coonhound, Blue Tick\",\"Coonhound, Treeing Walker\",\"Coton de Tulear\",\"Cotton De Tulear\",\"Curly-Coated Retriever\",\"Dachshund\",\"Dachshund Crossbreed\",\"Dachshund Smooth Coat\",\"Dachshund Smooth Coat Miniature\",\"Dachshund, Long Haired\",\"Dachshund, Long Haired Miniature\",\"Dachshund, Wirehaired\",\"Dachshund, Wirehaired, Miniature\",\"Dalmatian\",\"Dandie Dinmont Terrier\",\"Doberman Pinscher\",\"Dogo Argentino\",\"Dogue de Bordeaux\",\"Dutch Shepherd\",\"English Cocker Spaniel\",\"English Foxhound\",\"English Setter\",\"English Springer Spaniel\",\"English Toy Spaniel\",\"Entlebucher Mountain Dog\",\"Eurasier\",\"Field Spaniel\",\"Fila Brasileiro\",\"Finnish Lapphund\",\"Finnish Spitz\",\"Flat-Coated Retriever\",\"French Bulldog\",\"French Spaniel\",\"German Longhaired Pointer\",\"German Pinscher\",\"German Shepherd Crossbreed\",\"German Shepherd Dog\",\"German Shorthaired Pointer\",\"German Spitz\",\"German Wirehaired Pointer\",\"Giant Schnauzer\",\"Glen of Imaal Terrier\",\"Golden Retriever\",\"Goldendoodle\",\"Gordon Setter\",\"Grand Basset Griffon Vendeen\",\"Great Dane\",\"Great Pyrenees\",\"Greater Swiss Mountain Dog\",\"Greyhound\",\"Hamiltonstovare\",\"Harrier\",\"Havanese\",\"Hovawart\",\"Ibizan Hound\",\"Irish Red and White Setter\",\"Irish Setter\",\"Irish Terrier\",\"Irish Wolfhound\",\"Italian Greyhound\",\"Jack Russell Terrier\",\"Japanese Chin\",\"Japanese Chin/Spaniel\",\"Jindo\",\"Jindo Dog, Korea\",\"Kai Ken\",\"Karelian Bear Dog\",\"Keeshond\",\"Kerry Blue Terrier\",\"Kooikerhondje\",\"Kromfohrlander\",\"Kuvasz\",\"Labradoodle\",\"Labrador Retriever\",\"Labrador Retriever Crossbreed\",\"Lagotto Romagnolo\",\"Lakeland Terrier\",\"Lancashire Heeler\",\"Leonberger\",\"Lhasa Apso\",\"Lowchen\",\"Maltese\",\"Maltese Crossbreed\",\"Maltipoo\",\"Manchester Terrier\",\"Mastiff\",\"Mastiff, Bull\",\"Mastiff, French (Dogue de Bordeaux)\",\"Mastiff, Neapolitan\",\"Mastiff, Old English\",\"Mastiff, Tibetan\",\"Miniature American Shepherd\",\"Miniature Bull Terrier\",\"Miniature Fox Terrier\",\"Miniature Pinscher\",\"Miniature Schnauzer\",\"Morkie\",\"Mudi\",\"Neapolitan Mastiff\",\"Newfoundland\",\"Norfolk Terrier\",\"Norwegian Buhund\",\"Norwegian Elkhound\",\"Norwich Terrier\",\"Nova Scotia Duck Tolling Retriever\",\"Old English Sheepdog\",\"Otterhound\",\"Papillon\",\"Parson Russell Terrier\",\"Pekingese\",\"Pembroke Welsh Corgi\",\"Pembroke Welsh Corgi Crossbreed\",\"Perro de Presa Canario\",\"Peruvian Inca Orchid\",\"Petit Basset Griffon Vendeen\",\"Pharaoh Hound\",\"Pharoh hound\",\"Plott\",\"Pointer\",\"Pointer, German Shorthaired\",\"Pointer, German Wirehaired\",\"Polish Hound\",\"Polish Lowland Sheepdog\",\"Pomeranian\",\"Pomeranian Crossbreed\",\"Poodle\",\"Poodle Crossbreed\",\"Poodle, Miniature\",\"Poodle, Standard\",\"Poodle, Toy\",\"Portuguese Podengo Pequeno\",\"Portuguese Sheepdog\",\"Portuguese Water Dog\",\"Pug\",\"Pug Crossbreed\",\"Puggle\",\"Puli\",\"Pumi\",\"Pyrenean Shepherd\",\"Rat Terrier\",\"Rat Terrier Crossbreed\",\"Redbone Coonhound\",\"Rhodesian Ridgeback\",\"Rottweiler\",\"Rottweiler Crossbreed\",\"Russell Terrier\",\"Russian Toy\",\"Russian Wolfhound\",\"Saint Bernard\",\"Saluki\",\"Samoyed\",\"Schipperke\",\"Schipperkee\",\"Schnauzer Crossbreed\",\"Schnauzer, Giant\",\"Schnauzer, Miniature\",\"Schnauzer, Miniature Crossbreed\",\"Schnauzer, Standard\",\"Scottish Deerhound\",\"Scottish Terrier\",\"Sealyham Terrier\",\"Shar-Pei, Chinese\",\"Shetland Sheepdog\",\"Shiba Inu\",\"Shiba Inu Crossbreed\",\"Shih Tzu\",\"Shih Tzu Crossbreed\",\"Siberian Husky\",\"Siberian Husky Crossbreed\",\"Silky Terrier\",\"Skye Terrier\",\"Small Munsterlander Pointer\",\"Smooth Fox Terrier\",\"Soft Coated Wheaten Terrier\",\"Spanish Water Dog\",\"Spinone Italiano\",\"St. Bernard\",\"Staffordshire Bull Terrier\",\"Standard Schnauzer\",\"Sussex Spaniel\",\"Swedish Vallhund\",\"Terrier Crossbreed\",\"Terrier mix\",\"Thai Ridgeback\",\"Tibetan Mastiff\",\"Tibetan Spaniel\",\"Tibetan Terrier\",\"Toy Fox Terrier\",\"Treeing Tennessee Brindle\",\"Treeing Walker Coonhound\",\"Unknown\",\"Vizsla\",\"Weimaraner\",\"Welsh Corgi, Cardigan\",\"Welsh Corgi, Pembroke\",\"Welsh Springer Spaniel\",\"Welsh Terrier\",\"West High White Terrier\",\"West Highland White Terrier\",\"Wheaton Terrier\",\"Whippet\",\"Wire Fox Terrier\",\"Wirehaired Pointing Griffon\",\"Xoloitzcuintli\",\"Yorkshire Terrier\",\"Yorkshire Terrier Crossbreed\",\"Affenpinscher\",\"Afghan Hound\",\"Afghan Hound Crossbreed\",\"Airedale Terrier\",\"Akita\",\"Akita Crossbreed\",\"Alaskan Malamute\",\"American Bully\",\"American English Coonhound\",\"American Eskimo dog\",\"American Foxhound\",\"American Hairless Terrier\",\"American Leopard Hound\",\"American Pit Bull Mix / Pit Bull Mix\",\"American Pit Bull Terrier/Pit Bull\",\"American Staffordshire Terrier \",\"American Water Spaniel\",\"Anatolian Shepherd Dog\",\"Australian Cattle Dog\",\"Australian Cattledog\",\"Australian Kelpie\",\"Australian Shepherd\",\"Australian Silky Terrier\",\"Australian Terrier\",\"Barbet\",\"Basenji\",\"Basset Hound\",\"Bassett Hound\",\"Beagle\",\"Beagle Crossbreed\",\"Bearded Collie\",\"Bedlington Terrier\",\"Belgian Griffon\",\"Belgian Malinois\",\"Belgian Sheepdog\",\"Belgian Tervuren\",\"Berger Picard\",\"Bernese Mountain Dog\",\"Bichon Frise\",\"Bichon Frise Crossbreed\",\"Biewer Terrier\",\"Black and Tan Coonhound\",\"Black Russian Terrier\",\"Bloodhound\",\"Bloodhound Crossbreed\",\"Bluetick Coonhound\",\"Boerboel\",\"Bolognese\",\"Border Collie\",\"Border Collie Crossbreed\",\"Border Terrier\",\"Borzoi\",\"Boston Terrier\",\"Bouvier Des Flandres\",\"Boxer\",\"Boxer Crossbreed\",\"Boykin Spaniel\",\"Bracco Italiano\",\"Briard\",\"Brittany\",\"Brittany Spaniel\",\"Brussels Griffon\",\"Bull Dog, American\",\"Bull Dog, English\",\"Bull Dog, French\",\"Bull Terrier\",\"Bulldog\",\"Bullmastiff\",\"Cairn Terrier\",\"Canaan Dog\",\"Cane Corso\",\"Cardigan Welsh Corgi\",\"Catahoula Leopard Dog\",\"Cavalier King Charles Spaniel\",\"Cesky Terrier\",\"Chesapeake Bay Retriever\",\"Chihuahua\",\"Chihuahua Crossbreed\",\"Chinese Crested\",\"Chinese Shar-Pei\",\"Chinook\",\"Chow Chow\",\"Cirneco dell\",\"Clumber Spaniel\",\"Cocker Spaniel\",\"Cocker Spaniel Crossbreed\",\"Collie\",\"Collie Crossbreed\",\"Collie, Bearded \",\"Collie, Border\",\"Collie, Rough Coat\",\"Collie, Smooth Coat\",\"Coonhound, Black and Tan\",\"Coonhound, Blue Tick\",\"Coonhound, Treeing Walker\",\"Coton de Tulear\",\"Cotton De Tulear\",\"Curly-Coated Retriever\",\"Dachshund\",\"Dachshund Crossbreed\",\"Dachshund Smooth Coat\",\"Dachshund Smooth Coat Miniature\",\"Dachshund, Long Haired\",\"Dachshund, Long Haired Miniature\",\"Dachshund, Wirehaired\",\"Dachshund, Wirehaired, Miniature\",\"Dalmatian\",\"Dandie Dinmont Terrier\",\"Doberman Pinscher\",\"Dogo Argentino\",\"Dogue de Bordeaux\",\"Dutch Shepherd\",\"English Cocker Spaniel\",\"English Foxhound\",\"English Setter\",\"English Springer Spaniel\",\"English Toy Spaniel\",\"Entlebucher Mountain Dog\",\"Eurasier\",\"Field Spaniel\",\"Fila Brasileiro\",\"Finnish Lapphund\",\"Finnish Spitz\",\"Flat-Coated Retriever\",\"French Bulldog\",\"French Spaniel\",\"German Longhaired Pointer\",\"German Pinscher\",\"German Shepherd Crossbreed\",\"German Shepherd Dog\",\"German Shorthaired Pointer\",\"German Spitz\",\"German Wirehaired Pointer\",\"Giant Schnauzer\",\"Glen of Imaal Terrier\",\"Golden Retriever\",\"Goldendoodle\",\"Gordon Setter\",\"Grand Basset Griffon Vendeen\",\"Great Dane\",\"Great Pyrenees\",\"Greater Swiss Mountain Dog\",\"Greyhound\",\"Hamiltonstovare\",\"Harrier\",\"Havanese\",\"Hovawart\",\"Ibizan Hound\",\"Irish Red and White Setter\",\"Irish Setter\",\"Irish Terrier\",\"Irish Wolfhound\",\"Italian Greyhound\",\"Jack Russell Terrier\",\"Japanese Chin\",\"Japanese Chin/Spaniel\",\"Jindo\",\"Jindo Dog, Korea\",\"Kai Ken\",\"Karelian Bear Dog\",\"Keeshond\",\"Kerry Blue Terrier\",\"Kooikerhondje\",\"Kromfohrlander\",\"Kuvasz\",\"Labradoodle\",\"Labrador Retriever\",\"Labrador Retriever Crossbreed\",\"Lagotto Romagnolo\",\"Lakeland Terrier\",\"Lancashire Heeler\",\"Leonberger\",\"Lhasa Apso\",\"Lowchen\",\"Maltese\",\"Maltese Crossbreed\",\"Maltipoo\",\"Manchester Terrier\",\"Mastiff\",\"Mastiff, Bull\",\"Mastiff, French (Dogue de Bordeaux)\",\"Mastiff, Neapolitan\",\"Mastiff, Old English\",\"Mastiff, Tibetan\",\"Miniature American Shepherd\",\"Miniature Bull Terrier\",\"Miniature Fox Terrier\",\"Miniature Pinscher\",\"Miniature Schnauzer\",\"Morkie\",\"Mudi\",\"Neapolitan Mastiff\",\"Newfoundland\",\"Norfolk Terrier\",\"Norwegian Buhund\",\"Norwegian Elkhound\",\"Norwich Terrier\",\"Nova Scotia Duck Tolling Retriever\",\"Old English Sheepdog\",\"Otterhound\",\"Papillon\",\"Parson Russell Terrier\",\"Pekingese\",\"Pembroke Welsh Corgi\",\"Pembroke Welsh Corgi Crossbreed\",\"Perro de Presa Canario\",\"Peruvian Inca Orchid\",\"Petit Basset Griffon Vendeen\",\"Pharaoh Hound\",\"Pharoh hound\",\"Plott\",\"Pointer\",\"Pointer, German Shorthaired\",\"Pointer, German Wirehaired\",\"Polish Hound\",\"Polish Lowland Sheepdog\",\"Pomeranian\",\"Pomeranian Crossbreed\",\"Poodle\",\"Poodle Crossbreed\",\"Poodle, Miniature\",\"Poodle, Standard\",\"Poodle, Toy\",\"Portuguese Podengo Pequeno\",\"Portuguese Sheepdog\",\"Portuguese Water Dog\",\"Pug\",\"Pug Crossbreed\",\"Puggle\",\"Puli\",\"Pumi\",\"Pyrenean Shepherd\",\"Rat Terrier\",\"Rat Terrier Crossbreed\",\"Redbone Coonhound\",\"Rhodesian Ridgeback\",\"Rottweiler\",\"Rottweiler Crossbreed\",\"Russell Terrier\",\"Russian Toy\",\"Russian Wolfhound\",\"Saint Bernard\",\"Saluki\",\"Samoyed\",\"Schipperke\",\"Schipperkee\",\"Schnauzer Crossbreed\",\"Schnauzer, Giant\",\"Schnauzer, Miniature\",\"Schnauzer, Miniature Crossbreed\",\"Schnauzer, Standard\",\"Scottish Deerhound\",\"Scottish Terrier\",\"Sealyham Terrier\",\"Shar-Pei, Chinese\",\"Shetland Sheepdog\",\"Shiba Inu\",\"Shiba Inu Crossbreed\",\"Shih Tzu\",\"Shih Tzu Crossbreed\",\"Siberian Husky\",\"Siberian Husky Crossbreed\",\"Silky Terrier\",\"Skye Terrier\",\"Small Munsterlander Pointer\",\"Smooth Fox Terrier\",\"Soft Coated Wheaten Terrier\",\"Spanish Water Dog\",\"Spinone Italiano\",\"St. Bernard\",\"Staffordshire Bull Terrier\",\"Standard Schnauzer\",\"Sussex Spaniel\",\"Swedish Vallhund\",\"Terrier Crossbreed\",\"Terrier mix\",\"Thai Ridgeback\",\"Tibetan Mastiff\",\"Tibetan Spaniel\",\"Tibetan Terrier\",\"Toy Fox Terrier\",\"Treeing Tennessee Brindle\",\"Treeing Walker Coonhound\",\"Unknown\",\"Vizsla\",\"Weimaraner\",\"Welsh Corgi, Cardigan\",\"Welsh Corgi, Pembroke\",\"Welsh Springer Spaniel\",\"Welsh Terrier\",\"West High White Terrier\",\"West Highland White Terrier\",\"Wheaton Terrier\",\"Whippet\",\"Wire Fox Terrier\",\"Wirehaired Pointing Griffon\",\"Xoloitzcuintli\",\"Yorkshire Terrier\",\"Yorkshire Terrier Crossbreed\",\"Affenpinscher\",\"Afghan Hound\",\"Afghan Hound Crossbreed\",\"Airedale Terrier\",\"Akita\",\"Akita Crossbreed\",\"Alaskan Malamute\",\"American Bully\",\"American English Coonhound\",\"American Eskimo dog\",\"American Foxhound\",\"American Hairless Terrier\",\"American Leopard Hound\",\"American Pit Bull Mix / Pit Bull Mix\",\"American Pit Bull Terrier/Pit Bull\",\"American Staffordshire Terrier \",\"American Water Spaniel\",\"Anatolian Shepherd Dog\",\"Australian Cattle Dog\",\"Australian Cattledog\",\"Australian Kelpie\",\"Australian Shepherd\",\"Australian Silky Terrier\",\"Australian Terrier\",\"Barbet\",\"Basenji\",\"Basset Hound\",\"Bassett Hound\",\"Beagle\",\"Beagle Crossbreed\",\"Bearded Collie\",\"Bedlington Terrier\",\"Belgian Griffon\",\"Belgian Malinois\",\"Belgian Sheepdog\",\"Belgian Tervuren\",\"Berger Picard\",\"Bernese Mountain Dog\",\"Bichon Frise\",\"Bichon Frise Crossbreed\",\"Biewer Terrier\",\"Black and Tan Coonhound\",\"Black Russian Terrier\",\"Bloodhound\",\"Bloodhound Crossbreed\",\"Bluetick Coonhound\",\"Boerboel\",\"Bolognese\",\"Border Collie\",\"Border Collie Crossbreed\",\"Border Terrier\",\"Borzoi\",\"Boston Terrier\",\"Bouvier Des Flandres\",\"Boxer\",\"Boxer Crossbreed\",\"Boykin Spaniel\",\"Bracco Italiano\",\"Briard\",\"Brittany\",\"Brittany Spaniel\",\"Brussels Griffon\",\"Bull Dog, American\",\"Bull Dog, English\",\"Bull Dog, French\",\"Bull Terrier\",\"Bulldog\",\"Bullmastiff\",\"Cairn Terrier\",\"Canaan Dog\",\"Cane Corso\",\"Cardigan Welsh Corgi\",\"Catahoula Leopard Dog\",\"Cavalier King Charles Spaniel\",\"Cesky Terrier\",\"Chesapeake Bay Retriever\",\"Chihuahua\",\"Chihuahua Crossbreed\",\"Chinese Crested\",\"Chinese Shar-Pei\",\"Chinook\",\"Chow Chow\",\"Cirneco dell\",\"Clumber Spaniel\",\"Cocker Spaniel\",\"Cocker Spaniel Crossbreed\",\"Collie\",\"Collie Crossbreed\",\"Collie, Bearded \",\"Collie, Border\",\"Collie, Rough Coat\",\"Collie, Smooth Coat\",\"Coonhound, Black and Tan\",\"Coonhound, Blue Tick\",\"Coonhound, Treeing Walker\",\"Coton de Tulear\",\"Cotton De Tulear\",\"Curly-Coated Retriever\",\"Dachshund\",\"Dachshund Crossbreed\",\"Dachshund Smooth Coat\",\"Dachshund Smooth Coat Miniature\",\"Dachshund, Long Haired\",\"Dachshund, Long Haired Miniature\",\"Dachshund, Wirehaired\",\"Dachshund, Wirehaired, Miniature\",\"Dalmatian\",\"Dandie Dinmont Terrier\",\"Doberman Pinscher\",\"Dogo Argentino\",\"Dogue de Bordeaux\",\"Dutch Shepherd\",\"English Cocker Spaniel\",\"English Foxhound\",\"English Setter\",\"English Springer Spaniel\",\"English Toy Spaniel\",\"Entlebucher Mountain Dog\",\"Eurasier\",\"Field Spaniel\",\"Fila Brasileiro\",\"Finnish Lapphund\",\"Finnish Spitz\",\"Flat-Coated Retriever\",\"French Bulldog\",\"French Spaniel\",\"German Longhaired Pointer\",\"German Pinscher\",\"German Shepherd Crossbreed\",\"German Shepherd Dog\",\"German Shorthaired Pointer\",\"German Spitz\",\"German Wirehaired Pointer\",\"Giant Schnauzer\",\"Glen of Imaal Terrier\",\"Golden Retriever\",\"Goldendoodle\",\"Gordon Setter\",\"Grand Basset Griffon Vendeen\",\"Great Dane\",\"Great Pyrenees\",\"Greater Swiss Mountain Dog\",\"Greyhound\",\"Hamiltonstovare\",\"Harrier\",\"Havanese\",\"Hovawart\",\"Ibizan Hound\",\"Irish Red and White Setter\",\"Irish Setter\",\"Irish Terrier\",\"Irish Wolfhound\",\"Italian Greyhound\",\"Jack Russell Terrier\",\"Japanese Chin\",\"Japanese Chin/Spaniel\",\"Jindo\",\"Jindo Dog, Korea\",\"Kai Ken\",\"Karelian Bear Dog\",\"Keeshond\",\"Kerry Blue Terrier\",\"Kooikerhondje\",\"Kromfohrlander\",\"Kuvasz\",\"Labradoodle\",\"Labrador Retriever\",\"Labrador Retriever Crossbreed\",\"Lagotto Romagnolo\",\"Lakeland Terrier\",\"Lancashire Heeler\",\"Leonberger\",\"Lhasa Apso\",\"Lowchen\",\"Maltese\",\"Maltese Crossbreed\",\"Maltipoo\",\"Manchester Terrier\",\"Mastiff\",\"Mastiff, Bull\",\"Mastiff, French (Dogue de Bordeaux)\",\"Mastiff, Neapolitan\",\"Mastiff, Old English\",\"Mastiff, Tibetan\",\"Miniature American Shepherd\",\"Miniature Bull Terrier\",\"Miniature Fox Terrier\",\"Miniature Pinscher\",\"Miniature Schnauzer\",\"Morkie\",\"Mudi\",\"Neapolitan Mastiff\",\"Newfoundland\",\"Norfolk Terrier\",\"Norwegian Buhund\",\"Norwegian Elkhound\",\"Norwich Terrier\",\"Nova Scotia Duck Tolling Retriever\",\"Old English Sheepdog\",\"Otterhound\",\"Papillon\",\"Parson Russell Terrier\",\"Pekingese\",\"Pembroke Welsh Corgi\",\"Pembroke Welsh Corgi Crossbreed\",\"Perro de Presa Canario\",\"Peruvian Inca Orchid\",\"Petit Basset Griffon Vendeen\",\"Pharaoh Hound\",\"Pharoh hound\",\"Plott\",\"Pointer\",\"Pointer, German Shorthaired\",\"Pointer, German Wirehaired\",\"Polish Hound\",\"Polish Lowland Sheepdog\",\"Pomeranian\",\"Pomeranian Crossbreed\",\"Poodle\",\"Poodle Crossbreed\",\"Poodle, Miniature\",\"Poodle, Standard\",\"Poodle, Toy\",\"Portuguese Podengo Pequeno\",\"Portuguese Sheepdog\",\"Portuguese Water Dog\",\"Pug\",\"Pug Crossbreed\",\"Puggle\",\"Puli\",\"Pumi\",\"Pyrenean Shepherd\",\"Rat Terrier\",\"Rat Terrier Crossbreed\",\"Redbone Coonhound\",\"Rhodesian Ridgeback\",\"Rottweiler\",\"Rottweiler Crossbreed\",\"Russell Terrier\",\"Russian Toy\",\"Russian Wolfhound\",\"Saint Bernard\",\"Saluki\",\"Samoyed\",\"Schipperke\",\"Schipperkee\",\"Schnauzer Crossbreed\",\"Schnauzer, Giant\",\"Schnauzer, Miniature\",\"Schnauzer, Miniature Crossbreed\",\"Schnauzer, Standard\",\"Scottish Deerhound\",\"Scottish Terrier\",\"Sealyham Terrier\",\"Shar-Pei, Chinese\",\"Shetland Sheepdog\",\"Shiba Inu\",\"Shiba Inu Crossbreed\",\"Shih Tzu\",\"Shih Tzu Crossbreed\",\"Siberian Husky\",\"Siberian Husky Crossbreed\",\"Silky Terrier\",\"Skye Terrier\",\"Small Munsterlander Pointer\",\"Smooth Fox Terrier\",\"Soft Coated Wheaten Terrier\",\"Spanish Water Dog\",\"Spinone Italiano\",\"St. Bernard\",\"Staffordshire Bull Terrier\",\"Standard Schnauzer\",\"Sussex Spaniel\",\"Swedish Vallhund\",\"Terrier Crossbreed\",\"Terrier mix\",\"Thai Ridgeback\",\"Tibetan Mastiff\",\"Tibetan Spaniel\",\"Tibetan Terrier\",\"Toy Fox Terrier\",\"Treeing Tennessee Brindle\",\"Treeing Walker Coonhound\",\"Unknown\",\"Vizsla\",\"Weimaraner\",\"Welsh Corgi, Cardigan\",\"Welsh Corgi, Pembroke\",\"Welsh Springer Spaniel\",\"Welsh Terrier\",\"West High White Terrier\",\"West Highland White Terrier\",\"Wheaton Terrier\",\"Whippet\",\"Wire Fox Terrier\",\"Wirehaired Pointing Griffon\",\"Xoloitzcuintli\",\"Yorkshire Terrier\",\"Yorkshire Terrier Crossbreed\",\"Affenpinscher\",\"Afghan Hound\",\"Afghan Hound Crossbreed\",\"Airedale Terrier\",\"Akita\",\"Akita Crossbreed\",\"Alaskan Malamute\",\"American Bully\",\"American English Coonhound\",\"American Eskimo dog\",\"American Foxhound\",\"American Hairless Terrier\",\"American Leopard Hound\",\"American Pit Bull Mix / Pit Bull Mix\",\"American Pit Bull Terrier/Pit Bull\",\"American Staffordshire Terrier \",\"American Water Spaniel\",\"Anatolian Shepherd Dog\",\"Australian Cattle Dog\",\"Australian Cattledog\",\"Australian Kelpie\",\"Australian Shepherd\",\"Australian Silky Terrier\",\"Australian Terrier\",\"Barbet\",\"Basenji\",\"Basset Hound\",\"Bassett Hound\",\"Beagle\",\"Beagle Crossbreed\",\"Bearded Collie\",\"Bedlington Terrier\",\"Belgian Griffon\",\"Belgian Malinois\",\"Belgian Sheepdog\",\"Belgian Tervuren\",\"Berger Picard\",\"Bernese Mountain Dog\",\"Bichon Frise\",\"Bichon Frise Crossbreed\",\"Biewer Terrier\",\"Black and Tan Coonhound\",\"Black Russian Terrier\",\"Bloodhound\",\"Bloodhound Crossbreed\",\"Bluetick Coonhound\",\"Boerboel\",\"Bolognese\",\"Border Collie\",\"Border Collie Crossbreed\",\"Border Terrier\",\"Borzoi\",\"Boston Terrier\",\"Bouvier Des Flandres\",\"Boxer\",\"Boxer Crossbreed\",\"Boykin Spaniel\",\"Bracco Italiano\",\"Briard\",\"Brittany\",\"Brittany Spaniel\",\"Brussels Griffon\",\"Bull Dog, American\",\"Bull Dog, English\",\"Bull Dog, French\",\"Bull Terrier\",\"Bulldog\",\"Bullmastiff\",\"Cairn Terrier\",\"Canaan Dog\",\"Cane Corso\",\"Cardigan Welsh Corgi\",\"Catahoula Leopard Dog\",\"Cavalier King Charles Spaniel\",\"Cesky Terrier\",\"Chesapeake Bay Retriever\",\"Chihuahua\",\"Chihuahua Crossbreed\",\"Chinese Crested\",\"Chinese Shar-Pei\",\"Chinook\",\"Chow Chow\",\"Cirneco dell\",\"Clumber Spaniel\",\"Cocker Spaniel\",\"Cocker Spaniel Crossbreed\",\"Collie\",\"Collie Crossbreed\",\"Collie, Bearded \",\"Collie, Border\",\"Collie, Rough Coat\",\"Collie, Smooth Coat\",\"Coonhound, Black and Tan\",\"Coonhound, Blue Tick\",\"Coonhound, Treeing Walker\",\"Coton de Tulear\",\"Cotton De Tulear\",\"Curly-Coated Retriever\",\"Dachshund\",\"Dachshund Crossbreed\",\"Dachshund Smooth Coat\",\"Dachshund Smooth Coat Miniature\",\"Dachshund, Long Haired\",\"Dachshund, Long Haired Miniature\",\"Dachshund, Wirehaired\",\"Dachshund, Wirehaired, Miniature\",\"Dalmatian\",\"Dandie Dinmont Terrier\",\"Doberman Pinscher\",\"Dogo Argentino\",\"Dogue de Bordeaux\",\"Dutch Shepherd\",\"English Cocker Spaniel\",\"English Foxhound\",\"English Setter\",\"English Springer Spaniel\",\"English Toy Spaniel\",\"Entlebucher Mountain Dog\",\"Eurasier\",\"Field Spaniel\",\"Fila Brasileiro\",\"Finnish Lapphund\",\"Finnish Spitz\",\"Flat-Coated Retriever\",\"French Bulldog\",\"French Spaniel\",\"German Longhaired Pointer\",\"German Pinscher\",\"German Shepherd Crossbreed\",\"German Shepherd Dog\",\"German Shorthaired Pointer\",\"German Spitz\",\"German Wirehaired Pointer\",\"Giant Schnauzer\",\"Glen of Imaal Terrier\",\"Golden Retriever\",\"Goldendoodle\",\"Gordon Setter\",\"Grand Basset Griffon Vendeen\",\"Great Dane\",\"Great Pyrenees\",\"Greater Swiss Mountain Dog\",\"Greyhound\",\"Hamiltonstovare\",\"Harrier\",\"Havanese\",\"Hovawart\",\"Ibizan Hound\",\"Irish Red and White Setter\",\"Irish Setter\",\"Irish Terrier\",\"Irish Wolfhound\",\"Italian Greyhound\",\"Jack Russell Terrier\",\"Japanese Chin\",\"Japanese Chin/Spaniel\",\"Jindo\",\"Jindo Dog, Korea\",\"Kai Ken\",\"Karelian Bear Dog\",\"Keeshond\",\"Kerry Blue Terrier\",\"Kooikerhondje\",\"Kromfohrlander\",\"Kuvasz\",\"Labradoodle\",\"Labrador Retriever\",\"Labrador Retriever Crossbreed\",\"Lagotto Romagnolo\",\"Lakeland Terrier\",\"Lancashire Heeler\",\"Leonberger\",\"Lhasa Apso\",\"Lowchen\",\"Maltese\",\"Maltese Crossbreed\",\"Maltipoo\",\"Manchester Terrier\",\"Mastiff\",\"Mastiff, Bull\",\"Mastiff, French (Dogue de Bordeaux)\",\"Mastiff, Neapolitan\",\"Mastiff, Old English\",\"Mastiff, Tibetan\",\"Miniature American Shepherd\",\"Miniature Bull Terrier\",\"Miniature Fox Terrier\",\"Miniature Pinscher\",\"Miniature Schnauzer\",\"Morkie\",\"Mudi\",\"Neapolitan Mastiff\",\"Newfoundland\",\"Norfolk Terrier\",\"Norwegian Buhund\",\"Norwegian Elkhound\",\"Norwich Terrier\",\"Nova Scotia Duck Tolling Retriever\",\"Old English Sheepdog\",\"Otterhound\",\"Papillon\",\"Parson Russell Terrier\",\"Pekingese\",\"Pembroke Welsh Corgi\",\"Pembroke Welsh Corgi Crossbreed\",\"Perro de Presa Canario\",\"Peruvian Inca Orchid\",\"Petit Basset Griffon Vendeen\",\"Pharaoh Hound\",\"Pharoh hound\",\"Plott\",\"Pointer\",\"Pointer, German Shorthaired\",\"Pointer, German Wirehaired\",\"Polish Hound\",\"Polish Lowland Sheepdog\",\"Pomeranian\",\"Pomeranian Crossbreed\",\"Poodle\",\"Poodle Crossbreed\",\"Poodle, Miniature\",\"Poodle, Standard\",\"Poodle, Toy\",\"Portuguese Podengo Pequeno\",\"Portuguese Sheepdog\",\"Portuguese Water Dog\",\"Pug\",\"Pug Crossbreed\",\"Puggle\",\"Puli\",\"Pumi\",\"Pyrenean Shepherd\",\"Rat Terrier\",\"Rat Terrier Crossbreed\",\"Redbone Coonhound\",\"Rhodesian Ridgeback\",\"Rottweiler\",\"Rottweiler Crossbreed\",\"Russell Terrier\",\"Russian Toy\",\"Russian Wolfhound\",\"Saint Bernard\",\"Saluki\",\"Samoyed\",\"Schipperke\",\"Schipperkee\",\"Schnauzer Crossbreed\",\"Schnauzer, Giant\",\"Schnauzer, Miniature\",\"Schnauzer, Miniature Crossbreed\",\"Schnauzer, Standard\",\"Scottish Deerhound\",\"Scottish Terrier\",\"Sealyham Terrier\",\"Shar-Pei, Chinese\",\"Shetland Sheepdog\",\"Shiba Inu\",\"Shiba Inu Crossbreed\",\"Shih Tzu\",\"Shih Tzu Crossbreed\",\"Siberian Husky\",\"Siberian Husky Crossbreed\",\"Silky Terrier\",\"Skye Terrier\",\"Small Munsterlander Pointer\",\"Smooth Fox Terrier\",\"Soft Coated Wheaten Terrier\",\"Spanish Water Dog\",\"Spinone Italiano\",\"St. Bernard\",\"Staffordshire Bull Terrier\",\"Standard Schnauzer\",\"Sussex Spaniel\",\"Swedish Vallhund\",\"Terrier Crossbreed\",\"Terrier mix\",\"Thai Ridgeback\",\"Tibetan Mastiff\",\"Tibetan Spaniel\",\"Tibetan Terrier\",\"Toy Fox Terrier\",\"Treeing Tennessee Brindle\",\"Treeing Walker Coonhound\",\"Unknown\",\"Vizsla\",\"Weimaraner\",\"Welsh Corgi, Cardigan\",\"Welsh Corgi, Pembroke\",\"Welsh Springer Spaniel\",\"Welsh Terrier\",\"West High White Terrier\",\"West Highland White Terrier\",\"Wheaton Terrier\",\"Whippet\",\"Wire Fox Terrier\",\"Wirehaired Pointing Griffon\",\"Xoloitzcuintli\",\"Yorkshire Terrier\",\"Yorkshire Terrier Crossbreed\",\"Affenpinscher\",\"Afghan Hound\",\"Afghan Hound Crossbreed\",\"Airedale Terrier\",\"Akita\",\"Akita Crossbreed\",\"Alaskan Malamute\",\"American Bully\",\"American English Coonhound\",\"American Eskimo dog\",\"American Foxhound\",\"American Hairless Terrier\",\"American Leopard Hound\",\"American Pit Bull Mix / Pit Bull Mix\",\"American Pit Bull Terrier/Pit Bull\",\"American Staffordshire Terrier \",\"American Water Spaniel\",\"Anatolian Shepherd Dog\",\"Australian Cattle Dog\",\"Australian Cattledog\",\"Australian Kelpie\",\"Australian Shepherd\",\"Australian Silky Terrier\",\"Australian Terrier\",\"Barbet\",\"Basenji\",\"Basset Hound\",\"Bassett Hound\",\"Beagle\",\"Beagle Crossbreed\",\"Bearded Collie\",\"Bedlington Terrier\",\"Belgian Griffon\",\"Belgian Malinois\",\"Belgian Sheepdog\",\"Belgian Tervuren\",\"Berger Picard\",\"Bernese Mountain Dog\",\"Bichon Frise\",\"Bichon Frise Crossbreed\",\"Biewer Terrier\",\"Black and Tan Coonhound\",\"Black Russian Terrier\",\"Bloodhound\",\"Bloodhound Crossbreed\",\"Bluetick Coonhound\",\"Boerboel\",\"Bolognese\",\"Border Collie\",\"Border Collie Crossbreed\",\"Border Terrier\",\"Borzoi\",\"Boston Terrier\",\"Bouvier Des Flandres\",\"Boxer\",\"Boxer Crossbreed\",\"Boykin Spaniel\",\"Bracco Italiano\",\"Briard\",\"Brittany\",\"Brittany Spaniel\",\"Brussels Griffon\",\"Bull Dog, American\",\"Bull Dog, English\",\"Bull Dog, French\",\"Bull Terrier\",\"Bulldog\",\"Bullmastiff\",\"Cairn Terrier\",\"Canaan Dog\",\"Cane Corso\",\"Cardigan Welsh Corgi\",\"Catahoula Leopard Dog\",\"Cavalier King Charles Spaniel\",\"Cesky Terrier\",\"Chesapeake Bay Retriever\",\"Chihuahua\",\"Chihuahua Crossbreed\",\"Chinese Crested\",\"Chinese Shar-Pei\",\"Chinook\",\"Chow Chow\",\"Cirneco dell\",\"Clumber Spaniel\",\"Cocker Spaniel\",\"Cocker Spaniel Crossbreed\",\"Collie\",\"Collie Crossbreed\",\"Collie, Bearded \",\"Collie, Border\",\"Collie, Rough Coat\",\"Collie, Smooth Coat\",\"Coonhound, Black and Tan\",\"Coonhound, Blue Tick\",\"Coonhound, Treeing Walker\",\"Coton de Tulear\",\"Cotton De Tulear\",\"Curly-Coated Retriever\",\"Dachshund\",\"Dachshund Crossbreed\",\"Dachshund Smooth Coat\",\"Dachshund Smooth Coat Miniature\",\"Dachshund, Long Haired\",\"Dachshund, Long Haired Miniature\",\"Dachshund, Wirehaired\",\"Dachshund, Wirehaired, Miniature\",\"Dalmatian\",\"Dandie Dinmont Terrier\",\"Doberman Pinscher\",\"Dogo Argentino\",\"Dogue de Bordeaux\",\"Dutch Shepherd\",\"English Cocker Spaniel\",\"English Foxhound\",\"English Setter\",\"English Springer Spaniel\",\"English Toy Spaniel\",\"Entlebucher Mountain Dog\",\"Eurasier\",\"Field Spaniel\",\"Fila Brasileiro\",\"Finnish Lapphund\",\"Finnish Spitz\",\"Flat-Coated Retriever\",\"French Bulldog\",\"French Spaniel\",\"German Longhaired Pointer\",\"German Pinscher\",\"German Shepherd Crossbreed\",\"German Shepherd Dog\",\"German Shorthaired Pointer\",\"German Spitz\",\"German Wirehaired Pointer\",\"Giant Schnauzer\",\"Glen of Imaal Terrier\",\"Golden Retriever\",\"Goldendoodle\",\"Gordon Setter\",\"Grand Basset Griffon Vendeen\",\"Great Dane\",\"Great Pyrenees\",\"Greater Swiss Mountain Dog\",\"Greyhound\",\"Hamiltonstovare\",\"Harrier\",\"Havanese\",\"Hovawart\",\"Ibizan Hound\",\"Irish Red and White Setter\",\"Irish Setter\",\"Irish Terrier\",\"Irish Wolfhound\",\"Italian Greyhound\",\"Jack Russell Terrier\",\"Japanese Chin\",\"Japanese Chin/Spaniel\",\"Jindo\",\"Jindo Dog, Korea\",\"Kai Ken\",\"Karelian Bear Dog\",\"Keeshond\",\"Kerry Blue Terrier\",\"Kooikerhondje\",\"Kromfohrlander\",\"Kuvasz\",\"Labradoodle\",\"Labrador Retriever\",\"Labrador Retriever Crossbreed\",\"Lagotto Romagnolo\",\"Lakeland Terrier\",\"Lancashire Heeler\",\"Leonberger\",\"Lhasa Apso\",\"Lowchen\",\"Maltese\",\"Maltese Crossbreed\",\"Maltipoo\",\"Manchester Terrier\",\"Mastiff\",\"Mastiff, Bull\",\"Mastiff, French (Dogue de Bordeaux)\",\"Mastiff, Neapolitan\",\"Mastiff, Old English\",\"Mastiff, Tibetan\",\"Miniature American Shepherd\",\"Miniature Bull Terrier\",\"Miniature Fox Terrier\",\"Miniature Pinscher\",\"Miniature Schnauzer\",\"Morkie\",\"Mudi\",\"Neapolitan Mastiff\",\"Newfoundland\",\"Norfolk Terrier\",\"Norwegian Buhund\",\"Norwegian Elkhound\",\"Norwich Terrier\",\"Nova Scotia Duck Tolling Retriever\",\"Old English Sheepdog\",\"Otterhound\",\"Papillon\",\"Parson Russell Terrier\",\"Pekingese\",\"Pembroke Welsh Corgi\",\"Pembroke Welsh Corgi Crossbreed\",\"Perro de Presa Canario\",\"Peruvian Inca Orchid\",\"Petit Basset Griffon Vendeen\",\"Pharaoh Hound\",\"Pharoh hound\",\"Plott\",\"Pointer\",\"Pointer, German Shorthaired\",\"Pointer, German Wirehaired\",\"Polish Hound\",\"Polish Lowland Sheepdog\",\"Pomeranian\",\"Pomeranian Crossbreed\",\"Poodle\",\"Poodle Crossbreed\",\"Poodle, Miniature\",\"Poodle, Standard\",\"Poodle, Toy\",\"Portuguese Podengo Pequeno\",\"Portuguese Sheepdog\",\"Portuguese Water Dog\",\"Pug\",\"Pug Crossbreed\",\"Puggle\",\"Puli\",\"Pumi\",\"Pyrenean Shepherd\",\"Rat Terrier\",\"Rat Terrier Crossbreed\",\"Redbone Coonhound\",\"Rhodesian Ridgeback\",\"Rottweiler\",\"Rottweiler Crossbreed\",\"Russell Terrier\",\"Russian Toy\",\"Russian Wolfhound\",\"Saint Bernard\",\"Saluki\",\"Samoyed\",\"Schipperke\",\"Schipperkee\",\"Schnauzer Crossbreed\",\"Schnauzer, Giant\",\"Schnauzer, Miniature\",\"Schnauzer, Miniature Crossbreed\",\"Schnauzer, Standard\",\"Scottish Deerhound\",\"Scottish Terrier\",\"Sealyham Terrier\",\"Shar-Pei, Chinese\",\"Shetland Sheepdog\",\"Shiba Inu\",\"Shiba Inu Crossbreed\",\"Shih Tzu\",\"Shih Tzu Crossbreed\",\"Siberian Husky\",\"Siberian Husky Crossbreed\",\"Silky Terrier\",\"Skye Terrier\",\"Small Munsterlander Pointer\",\"Smooth Fox Terrier\",\"Soft Coated Wheaten Terrier\",\"Spanish Water Dog\",\"Spinone Italiano\",\"St. Bernard\",\"Staffordshire Bull Terrier\",\"Standard Schnauzer\",\"Sussex Spaniel\",\"Swedish Vallhund\",\"Terrier Crossbreed\",\"Terrier mix\",\"Thai Ridgeback\",\"Tibetan Mastiff\",\"Tibetan Spaniel\",\"Tibetan Terrier\",\"Toy Fox Terrier\",\"Treeing Tennessee Brindle\",\"Treeing Walker Coonhound\",\"Unknown\",\"Vizsla\",\"Weimaraner\",\"Welsh Corgi, Cardigan\",\"Welsh Corgi, Pembroke\",\"Welsh Springer Spaniel\",\"Welsh Terrier\",\"West High White Terrier\",\"West Highland White Terrier\",\"Wheaton Terrier\",\"Whippet\",\"Wire Fox Terrier\",\"Wirehaired Pointing Griffon\",\"Xoloitzcuintli\",\"Yorkshire Terrier\",\"Yorkshire Terrier Crossbreed\",\"Affenpinscher\",\"Afghan Hound\",\"Afghan Hound Crossbreed\",\"Airedale Terrier\",\"Akita\",\"Akita Crossbreed\",\"Alaskan Malamute\",\"American Bully\",\"American English Coonhound\",\"American Eskimo dog\",\"American Foxhound\",\"American Hairless Terrier\",\"American Leopard Hound\",\"American Pit Bull Mix / Pit Bull Mix\",\"American Pit Bull Terrier/Pit Bull\",\"American Staffordshire Terrier \",\"American Water Spaniel\",\"Anatolian Shepherd Dog\",\"Australian Cattle Dog\",\"Australian Cattledog\",\"Australian Kelpie\",\"Australian Shepherd\",\"Australian Silky Terrier\",\"Australian Terrier\",\"Barbet\",\"Basenji\",\"Basset Hound\",\"Bassett Hound\",\"Beagle\",\"Beagle Crossbreed\",\"Bearded Collie\",\"Bedlington Terrier\",\"Belgian Griffon\",\"Belgian Malinois\",\"Belgian Sheepdog\",\"Belgian Tervuren\",\"Berger Picard\",\"Bernese Mountain Dog\",\"Bichon Frise\",\"Bichon Frise Crossbreed\",\"Biewer Terrier\",\"Black and Tan Coonhound\",\"Black Russian Terrier\",\"Bloodhound\",\"Bloodhound Crossbreed\",\"Bluetick Coonhound\",\"Boerboel\",\"Bolognese\",\"Border Collie\",\"Border Collie Crossbreed\",\"Border Terrier\",\"Borzoi\",\"Boston Terrier\",\"Bouvier Des Flandres\",\"Boxer\",\"Boxer Crossbreed\",\"Boykin Spaniel\",\"Bracco Italiano\",\"Briard\",\"Brittany\",\"Brittany Spaniel\",\"Brussels Griffon\",\"Bull Dog, American\",\"Bull Dog, English\",\"Bull Dog, French\",\"Bull Terrier\",\"Bulldog\",\"Bullmastiff\",\"Cairn Terrier\",\"Canaan Dog\",\"Cane Corso\",\"Cardigan Welsh Corgi\",\"Catahoula Leopard Dog\",\"Cavalier King Charles Spaniel\",\"Cesky Terrier\",\"Chesapeake Bay Retriever\",\"Chihuahua\",\"Chihuahua Crossbreed\",\"Chinese Crested\",\"Chinese Shar-Pei\",\"Chinook\",\"Chow Chow\",\"Cirneco dell\",\"Clumber Spaniel\",\"Cocker Spaniel\",\"Cocker Spaniel Crossbreed\",\"Collie\",\"Collie Crossbreed\",\"Collie, Bearded \",\"Collie, Border\",\"Collie, Rough Coat\",\"Collie, Smooth Coat\",\"Coonhound, Black and Tan\",\"Coonhound, Blue Tick\",\"Coonhound, Treeing Walker\",\"Coton de Tulear\",\"Cotton De Tulear\",\"Curly-Coated Retriever\",\"Dachshund\",\"Dachshund Crossbreed\",\"Dachshund Smooth Coat\",\"Dachshund Smooth Coat Miniature\",\"Dachshund, Long Haired\",\"Dachshund, Long Haired Miniature\",\"Dachshund, Wirehaired\",\"Dachshund, Wirehaired, Miniature\",\"Dalmatian\",\"Dandie Dinmont Terrier\",\"Doberman Pinscher\",\"Dogo Argentino\",\"Dogue de Bordeaux\",\"Dutch Shepherd\",\"English Cocker Spaniel\",\"English Foxhound\",\"English Setter\",\"English Springer Spaniel\",\"English Toy Spaniel\",\"Entlebucher Mountain Dog\",\"Eurasier\",\"Field Spaniel\",\"Fila Brasileiro\",\"Finnish Lapphund\",\"Finnish Spitz\",\"Flat-Coated Retriever\",\"French Bulldog\",\"French Spaniel\",\"German Longhaired Pointer\",\"German Pinscher\",\"German Shepherd Crossbreed\",\"German Shepherd Dog\",\"German Shorthaired Pointer\",\"German Spitz\",\"German Wirehaired Pointer\",\"Giant Schnauzer\",\"Glen of Imaal Terrier\",\"Golden Retriever\",\"Goldendoodle\",\"Gordon Setter\",\"Grand Basset Griffon Vendeen\",\"Great Dane\",\"Great Pyrenees\",\"Greater Swiss Mountain Dog\",\"Greyhound\",\"Hamiltonstovare\",\"Harrier\",\"Havanese\",\"Hovawart\",\"Ibizan Hound\",\"Irish Red and White Setter\",\"Irish Setter\",\"Irish Terrier\",\"Irish Wolfhound\",\"Italian Greyhound\",\"Jack Russell Terrier\",\"Japanese Chin\",\"Japanese Chin/Spaniel\",\"Jindo\",\"Jindo Dog, Korea\",\"Kai Ken\",\"Karelian Bear Dog\",\"Keeshond\",\"Kerry Blue Terrier\",\"Kooikerhondje\",\"Kromfohrlander\",\"Kuvasz\",\"Labradoodle\",\"Labrador Retriever\",\"Labrador Retriever Crossbreed\",\"Lagotto Romagnolo\",\"Lakeland Terrier\",\"Lancashire Heeler\",\"Leonberger\",\"Lhasa Apso\",\"Lowchen\",\"Maltese\",\"Maltese Crossbreed\",\"Maltipoo\",\"Manchester Terrier\",\"Mastiff\",\"Mastiff, Bull\",\"Mastiff, French (Dogue de Bordeaux)\",\"Mastiff, Neapolitan\",\"Mastiff, Old English\",\"Mastiff, Tibetan\",\"Miniature American Shepherd\",\"Miniature Bull Terrier\",\"Miniature Fox Terrier\",\"Miniature Pinscher\",\"Miniature Schnauzer\",\"Morkie\",\"Mudi\",\"Neapolitan Mastiff\",\"Newfoundland\",\"Norfolk Terrier\",\"Norwegian Buhund\",\"Norwegian Elkhound\",\"Norwich Terrier\",\"Nova Scotia Duck Tolling Retriever\",\"Old English Sheepdog\",\"Otterhound\",\"Papillon\",\"Parson Russell Terrier\",\"Pekingese\",\"Pembroke Welsh Corgi\",\"Pembroke Welsh Corgi Crossbreed\",\"Perro de Presa Canario\",\"Peruvian Inca Orchid\",\"Petit Basset Griffon Vendeen\",\"Pharaoh Hound\",\"Pharoh hound\",\"Plott\",\"Pointer\",\"Pointer, German Shorthaired\",\"Pointer, German Wirehaired\",\"Polish Hound\",\"Polish Lowland Sheepdog\",\"Pomeranian\",\"Pomeranian Crossbreed\",\"Poodle\",\"Poodle Crossbreed\",\"Poodle, Miniature\",\"Poodle, Standard\",\"Poodle, Toy\",\"Portuguese Podengo Pequeno\",\"Portuguese Sheepdog\",\"Portuguese Water Dog\",\"Pug\",\"Pug Crossbreed\",\"Puggle\",\"Puli\",\"Pumi\",\"Pyrenean Shepherd\",\"Rat Terrier\",\"Rat Terrier Crossbreed\",\"Redbone Coonhound\",\"Rhodesian Ridgeback\",\"Rottweiler\",\"Rottweiler Crossbreed\",\"Russell Terrier\",\"Russian Toy\",\"Russian Wolfhound\",\"Saint Bernard\",\"Saluki\",\"Samoyed\",\"Schipperke\",\"Schipperkee\",\"Schnauzer Crossbreed\",\"Schnauzer, Giant\",\"Schnauzer, Miniature\",\"Schnauzer, Miniature Crossbreed\",\"Schnauzer, Standard\",\"Scottish Deerhound\",\"Scottish Terrier\",\"Sealyham Terrier\",\"Shar-Pei, Chinese\",\"Shetland Sheepdog\",\"Shiba Inu\",\"Shiba Inu Crossbreed\",\"Shih Tzu\",\"Shih Tzu Crossbreed\",\"Siberian Husky\",\"Siberian Husky Crossbreed\",\"Silky Terrier\",\"Skye Terrier\",\"Small Munsterlander Pointer\",\"Smooth Fox Terrier\",\"Soft Coated Wheaten Terrier\",\"Spanish Water Dog\",\"Spinone Italiano\",\"St. Bernard\",\"Staffordshire Bull Terrier\",\"Standard Schnauzer\",\"Sussex Spaniel\",\"Swedish Vallhund\",\"Terrier Crossbreed\",\"Terrier mix\",\"Thai Ridgeback\",\"Tibetan Mastiff\",\"Tibetan Spaniel\",\"Tibetan Terrier\",\"Toy Fox Terrier\",\"Treeing Tennessee Brindle\",\"Treeing Walker Coonhound\",\"Unknown\",\"Vizsla\",\"Weimaraner\",\"Welsh Corgi, Cardigan\",\"Welsh Corgi, Pembroke\",\"Welsh Springer Spaniel\",\"Welsh Terrier\",\"West High White Terrier\",\"West Highland White Terrier\",\"Wheaton Terrier\",\"Whippet\",\"Wire Fox Terrier\",\"Wirehaired Pointing Griffon\",\"Xoloitzcuintli\",\"Yorkshire Terrier\",\"Yorkshire Terrier Crossbreed\",\"Affenpinscher\",\"Afghan Hound\",\"Afghan Hound Crossbreed\",\"Airedale Terrier\",\"Akita\",\"Akita Crossbreed\",\"Alaskan Malamute\",\"American Bully\",\"American English Coonhound\",\"American Eskimo dog\",\"American Foxhound\",\"American Hairless Terrier\",\"American Leopard Hound\",\"American Pit Bull Mix / Pit Bull Mix\",\"American Pit Bull Terrier/Pit Bull\",\"American Staffordshire Terrier \",\"American Water Spaniel\",\"Anatolian Shepherd Dog\",\"Australian Cattle Dog\",\"Australian Cattledog\",\"Australian Kelpie\",\"Australian Shepherd\",\"Australian Silky Terrier\",\"Australian Terrier\",\"Barbet\",\"Basenji\",\"Basset Hound\",\"Bassett Hound\",\"Beagle\",\"Beagle Crossbreed\",\"Bearded Collie\",\"Bedlington Terrier\",\"Belgian Griffon\",\"Belgian Malinois\",\"Belgian Sheepdog\",\"Belgian Tervuren\",\"Berger Picard\",\"Bernese Mountain Dog\",\"Bichon Frise\",\"Bichon Frise Crossbreed\",\"Biewer Terrier\",\"Black and Tan Coonhound\",\"Black Russian Terrier\",\"Bloodhound\",\"Bloodhound Crossbreed\",\"Bluetick Coonhound\",\"Boerboel\",\"Bolognese\",\"Border Collie\",\"Border Collie Crossbreed\",\"Border Terrier\",\"Borzoi\",\"Boston Terrier\",\"Bouvier Des Flandres\",\"Boxer\",\"Boxer Crossbreed\",\"Boykin Spaniel\",\"Bracco Italiano\",\"Briard\",\"Brittany\",\"Brittany Spaniel\",\"Brussels Griffon\",\"Bull Dog, American\",\"Bull Dog, English\",\"Bull Dog, French\",\"Bull Terrier\",\"Bulldog\",\"Bullmastiff\",\"Cairn Terrier\",\"Canaan Dog\",\"Cane Corso\",\"Cardigan Welsh Corgi\",\"Catahoula Leopard Dog\",\"Cavalier King Charles Spaniel\",\"Cesky Terrier\",\"Chesapeake Bay Retriever\",\"Chihuahua\",\"Chihuahua Crossbreed\",\"Chinese Crested\",\"Chinese Shar-Pei\",\"Chinook\",\"Chow Chow\",\"Cirneco dell\",\"Clumber Spaniel\",\"Cocker Spaniel\",\"Cocker Spaniel Crossbreed\",\"Collie\",\"Collie Crossbreed\",\"Collie, Bearded \",\"Collie, Border\",\"Collie, Rough Coat\",\"Collie, Smooth Coat\",\"Coonhound, Black and Tan\",\"Coonhound, Blue Tick\",\"Coonhound, Treeing Walker\",\"Coton de Tulear\",\"Cotton De Tulear\",\"Curly-Coated Retriever\",\"Dachshund\",\"Dachshund Crossbreed\",\"Dachshund Smooth Coat\",\"Dachshund Smooth Coat Miniature\",\"Dachshund, Long Haired\",\"Dachshund, Long Haired Miniature\",\"Dachshund, Wirehaired\",\"Dachshund, Wirehaired, Miniature\",\"Dalmatian\",\"Dandie Dinmont Terrier\",\"Doberman Pinscher\",\"Dogo Argentino\",\"Dogue de Bordeaux\",\"Dutch Shepherd\",\"English Cocker Spaniel\",\"English Foxhound\",\"English Setter\",\"English Springer Spaniel\",\"English Toy Spaniel\",\"Entlebucher Mountain Dog\",\"Eurasier\",\"Field Spaniel\",\"Fila Brasileiro\",\"Finnish Lapphund\",\"Finnish Spitz\",\"Flat-Coated Retriever\",\"French Bulldog\",\"French Spaniel\",\"German Longhaired Pointer\",\"German Pinscher\",\"German Shepherd Crossbreed\",\"German Shepherd Dog\",\"German Shorthaired Pointer\",\"German Spitz\",\"German Wirehaired Pointer\",\"Giant Schnauzer\",\"Glen of Imaal Terrier\",\"Golden Retriever\",\"Goldendoodle\",\"Gordon Setter\",\"Grand Basset Griffon Vendeen\",\"Great Dane\",\"Great Pyrenees\",\"Greater Swiss Mountain Dog\",\"Greyhound\",\"Hamiltonstovare\",\"Harrier\",\"Havanese\",\"Hovawart\",\"Ibizan Hound\",\"Irish Red and White Setter\",\"Irish Setter\",\"Irish Terrier\",\"Irish Wolfhound\",\"Italian Greyhound\",\"Jack Russell Terrier\",\"Japanese Chin\",\"Japanese Chin/Spaniel\",\"Jindo\",\"Jindo Dog, Korea\",\"Kai Ken\",\"Karelian Bear Dog\",\"Keeshond\",\"Kerry Blue Terrier\",\"Kooikerhondje\",\"Kromfohrlander\",\"Kuvasz\",\"Labradoodle\",\"Labrador Retriever\",\"Labrador Retriever Crossbreed\",\"Lagotto Romagnolo\",\"Lakeland Terrier\",\"Lancashire Heeler\",\"Leonberger\",\"Lhasa Apso\",\"Lowchen\",\"Maltese\",\"Maltese Crossbreed\",\"Maltipoo\",\"Manchester Terrier\",\"Mastiff\",\"Mastiff, Bull\",\"Mastiff, French (Dogue de Bordeaux)\",\"Mastiff, Neapolitan\",\"Mastiff, Old English\",\"Mastiff, Tibetan\",\"Miniature American Shepherd\",\"Miniature Bull Terrier\",\"Miniature Fox Terrier\",\"Miniature Pinscher\",\"Miniature Schnauzer\",\"Morkie\",\"Mudi\",\"Neapolitan Mastiff\",\"Newfoundland\",\"Norfolk Terrier\",\"Norwegian Buhund\",\"Norwegian Elkhound\",\"Norwich Terrier\",\"Nova Scotia Duck Tolling Retriever\",\"Old English Sheepdog\",\"Otterhound\",\"Papillon\",\"Parson Russell Terrier\",\"Pekingese\",\"Pembroke Welsh Corgi\",\"Pembroke Welsh Corgi Crossbreed\",\"Perro de Presa Canario\",\"Peruvian Inca Orchid\",\"Petit Basset Griffon Vendeen\",\"Pharaoh Hound\",\"Pharoh hound\",\"Plott\",\"Pointer\",\"Pointer, German Shorthaired\",\"Pointer, German Wirehaired\",\"Polish Hound\",\"Polish Lowland Sheepdog\",\"Pomeranian\",\"Pomeranian Crossbreed\",\"Poodle\",\"Poodle Crossbreed\",\"Poodle, Miniature\",\"Poodle, Standard\",\"Poodle, Toy\",\"Portuguese Podengo Pequeno\",\"Portuguese Sheepdog\",\"Portuguese Water Dog\",\"Pug\",\"Pug Crossbreed\",\"Puggle\",\"Puli\",\"Pumi\",\"Pyrenean Shepherd\",\"Rat Terrier\",\"Rat Terrier Crossbreed\",\"Redbone Coonhound\",\"Rhodesian Ridgeback\",\"Rottweiler\",\"Rottweiler Crossbreed\",\"Russell Terrier\",\"Russian Toy\",\"Russian Wolfhound\",\"Saint Bernard\",\"Saluki\",\"Samoyed\",\"Schipperke\",\"Schipperkee\",\"Schnauzer Crossbreed\",\"Schnauzer, Giant\",\"Schnauzer, Miniature\",\"Schnauzer, Miniature Crossbreed\",\"Schnauzer, Standard\",\"Scottish Deerhound\",\"Scottish Terrier\",\"Sealyham Terrier\",\"Shar-Pei, Chinese\",\"Shetland Sheepdog\",\"Shiba Inu\",\"Shiba Inu Crossbreed\",\"Shih Tzu\",\"Shih Tzu Crossbreed\",\"Siberian Husky\",\"Siberian Husky Crossbreed\",\"Silky Terrier\",\"Skye Terrier\",\"Small Munsterlander Pointer\",\"Smooth Fox Terrier\",\"Soft Coated Wheaten Terrier\",\"Spanish Water Dog\",\"Spinone Italiano\",\"St. Bernard\",\"Staffordshire Bull Terrier\",\"Standard Schnauzer\",\"Sussex Spaniel\",\"Swedish Vallhund\",\"Terrier Crossbreed\",\"Terrier mix\",\"Thai Ridgeback\",\"Tibetan Mastiff\",\"Tibetan Spaniel\",\"Tibetan Terrier\",\"Toy Fox Terrier\",\"Treeing Tennessee Brindle\",\"Treeing Walker Coonhound\",\"Unknown\",\"Vizsla\",\"Weimaraner\",\"Welsh Corgi, Cardigan\",\"Welsh Corgi, Pembroke\",\"Welsh Springer Spaniel\",\"Welsh Terrier\",\"West High White Terrier\",\"West Highland White Terrier\",\"Wheaton Terrier\",\"Whippet\",\"Wire Fox Terrier\",\"Wirehaired Pointing Griffon\",\"Xoloitzcuintli\",\"Yorkshire Terrier\",\"Yorkshire Terrier Crossbreed\",\"Affenpinscher\",\"Afghan Hound\",\"Afghan Hound Crossbreed\",\"Airedale Terrier\",\"Akita\",\"Akita Crossbreed\",\"Alaskan Malamute\",\"American Bully\",\"American English Coonhound\",\"American Eskimo dog\",\"American Foxhound\",\"American Hairless Terrier\",\"American Leopard Hound\",\"American Pit Bull Mix / Pit Bull Mix\",\"American Pit Bull Terrier/Pit Bull\",\"American Staffordshire Terrier \",\"American Water Spaniel\",\"Anatolian Shepherd Dog\",\"Australian Cattle Dog\",\"Australian Cattledog\",\"Australian Kelpie\",\"Australian Shepherd\",\"Australian Silky Terrier\",\"Australian Terrier\",\"Barbet\",\"Basenji\",\"Basset Hound\",\"Bassett Hound\",\"Beagle\",\"Beagle Crossbreed\",\"Bearded Collie\",\"Bedlington Terrier\",\"Belgian Griffon\",\"Belgian Malinois\",\"Belgian Sheepdog\",\"Belgian Tervuren\",\"Berger Picard\",\"Bernese Mountain Dog\",\"Bichon Frise\",\"Bichon Frise Crossbreed\",\"Biewer Terrier\",\"Black and Tan Coonhound\",\"Black Russian Terrier\",\"Bloodhound\",\"Bloodhound Crossbreed\",\"Bluetick Coonhound\",\"Boerboel\",\"Bolognese\",\"Border Collie\",\"Border Collie Crossbreed\",\"Border Terrier\",\"Borzoi\",\"Boston Terrier\",\"Bouvier Des Flandres\",\"Boxer\",\"Boxer Crossbreed\",\"Boykin Spaniel\",\"Bracco Italiano\",\"Briard\",\"Brittany\",\"Brittany Spaniel\",\"Brussels Griffon\",\"Bull Dog, American\",\"Bull Dog, English\",\"Bull Dog, French\",\"Bull Terrier\",\"Bulldog\",\"Bullmastiff\",\"Cairn Terrier\",\"Canaan Dog\",\"Cane Corso\",\"Cardigan Welsh Corgi\",\"Catahoula Leopard Dog\",\"Cavalier King Charles Spaniel\",\"Cesky Terrier\",\"Chesapeake Bay Retriever\",\"Chihuahua\",\"Chihuahua Crossbreed\",\"Chinese Crested\",\"Chinese Shar-Pei\",\"Chinook\",\"Chow Chow\",\"Cirneco dell\",\"Clumber Spaniel\",\"Cocker Spaniel\",\"Cocker Spaniel Crossbreed\",\"Collie\",\"Collie Crossbreed\",\"Collie, Bearded \",\"Collie, Border\",\"Collie, Rough Coat\",\"Collie, Smooth Coat\",\"Coonhound, Black and Tan\",\"Coonhound, Blue Tick\",\"Coonhound, Treeing Walker\",\"Coton de Tulear\",\"Cotton De Tulear\",\"Curly-Coated Retriever\",\"Dachshund\",\"Dachshund Crossbreed\",\"Dachshund Smooth Coat\",\"Dachshund Smooth Coat Miniature\",\"Dachshund, Long Haired\",\"Dachshund, Long Haired Miniature\",\"Dachshund, Wirehaired\",\"Dachshund, Wirehaired, Miniature\",\"Dalmatian\",\"Dandie Dinmont Terrier\",\"Doberman Pinscher\",\"Dogo Argentino\",\"Dogue de Bordeaux\",\"Dutch Shepherd\",\"English Cocker Spaniel\",\"English Foxhound\",\"English Setter\",\"English Springer Spaniel\",\"English Toy Spaniel\",\"Entlebucher Mountain Dog\",\"Eurasier\",\"Field Spaniel\",\"Fila Brasileiro\",\"Finnish Lapphund\",\"Finnish Spitz\",\"Flat-Coated Retriever\",\"French Bulldog\",\"French Spaniel\",\"German Longhaired Pointer\",\"German Pinscher\",\"German Shepherd Crossbreed\",\"German Shepherd Dog\",\"German Shorthaired Pointer\",\"German Spitz\",\"German Wirehaired Pointer\",\"Giant Schnauzer\",\"Glen of Imaal Terrier\",\"Golden Retriever\",\"Goldendoodle\",\"Gordon Setter\",\"Grand Basset Griffon Vendeen\",\"Great Dane\",\"Great Pyrenees\",\"Greater Swiss Mountain Dog\",\"Greyhound\",\"Hamiltonstovare\",\"Harrier\",\"Havanese\",\"Hovawart\",\"Ibizan Hound\",\"Irish Red and White Setter\",\"Irish Setter\",\"Irish Terrier\",\"Irish Wolfhound\",\"Italian Greyhound\",\"Jack Russell Terrier\",\"Japanese Chin\",\"Japanese Chin/Spaniel\",\"Jindo\",\"Jindo Dog, Korea\",\"Kai Ken\",\"Karelian Bear Dog\",\"Keeshond\",\"Kerry Blue Terrier\",\"Kooikerhondje\",\"Kromfohrlander\",\"Kuvasz\",\"Labradoodle\",\"Labrador Retriever\",\"Labrador Retriever Crossbreed\",\"Lagotto Romagnolo\",\"Lakeland Terrier\",\"Lancashire Heeler\",\"Leonberger\",\"Lhasa Apso\",\"Lowchen\",\"Maltese\",\"Maltese Crossbreed\",\"Maltipoo\",\"Manchester Terrier\",\"Mastiff\",\"Mastiff, Bull\",\"Mastiff, French (Dogue de Bordeaux)\",\"Mastiff, Neapolitan\",\"Mastiff, Old English\",\"Mastiff, Tibetan\",\"Miniature American Shepherd\",\"Miniature Bull Terrier\",\"Miniature Fox Terrier\",\"Miniature Pinscher\",\"Miniature Schnauzer\",\"Morkie\",\"Mudi\",\"Neapolitan Mastiff\",\"Newfoundland\",\"Norfolk Terrier\",\"Norwegian Buhund\",\"Norwegian Elkhound\",\"Norwich Terrier\",\"Nova Scotia Duck Tolling Retriever\",\"Old English Sheepdog\",\"Otterhound\",\"Papillon\",\"Parson Russell Terrier\",\"Pekingese\",\"Pembroke Welsh Corgi\",\"Pembroke Welsh Corgi Crossbreed\",\"Perro de Presa Canario\",\"Peruvian Inca Orchid\",\"Petit Basset Griffon Vendeen\",\"Pharaoh Hound\",\"Pharoh hound\",\"Plott\",\"Pointer\",\"Pointer, German Shorthaired\",\"Pointer, German Wirehaired\",\"Polish Hound\",\"Polish Lowland Sheepdog\",\"Pomeranian\",\"Pomeranian Crossbreed\",\"Poodle\",\"Poodle Crossbreed\",\"Poodle, Miniature\",\"Poodle, Standard\",\"Poodle, Toy\",\"Portuguese Podengo Pequeno\",\"Portuguese Sheepdog\",\"Portuguese Water Dog\",\"Pug\",\"Pug Crossbreed\",\"Puggle\",\"Puli\",\"Pumi\",\"Pyrenean Shepherd\",\"Rat Terrier\",\"Rat Terrier Crossbreed\",\"Redbone Coonhound\",\"Rhodesian Ridgeback\",\"Rottweiler\",\"Rottweiler Crossbreed\",\"Russell Terrier\",\"Russian Toy\",\"Russian Wolfhound\",\"Saint Bernard\",\"Saluki\",\"Samoyed\",\"Schipperke\",\"Schipperkee\",\"Schnauzer Crossbreed\",\"Schnauzer, Giant\",\"Schnauzer, Miniature\",\"Schnauzer, Miniature Crossbreed\",\"Schnauzer, Standard\",\"Scottish Deerhound\",\"Scottish Terrier\",\"Sealyham Terrier\",\"Shar-Pei, Chinese\",\"Shetland Sheepdog\",\"Shiba Inu\",\"Shiba Inu Crossbreed\",\"Shih Tzu\",\"Shih Tzu Crossbreed\",\"Siberian Husky\",\"Siberian Husky Crossbreed\",\"Silky Terrier\",\"Skye Terrier\",\"Small Munsterlander Pointer\",\"Smooth Fox Terrier\",\"Soft Coated Wheaten Terrier\",\"Spanish Water Dog\",\"Spinone Italiano\",\"St. Bernard\",\"Staffordshire Bull Terrier\",\"Standard Schnauzer\",\"Sussex Spaniel\",\"Swedish Vallhund\",\"Terrier Crossbreed\",\"Terrier mix\",\"Thai Ridgeback\",\"Tibetan Mastiff\",\"Tibetan Spaniel\",\"Tibetan Terrier\",\"Toy Fox Terrier\",\"Treeing Tennessee Brindle\",\"Treeing Walker Coonhound\",\"Unknown\",\"Vizsla\",\"Weimaraner\",\"Welsh Corgi, Cardigan\",\"Welsh Corgi, Pembroke\",\"Welsh Springer Spaniel\",\"Welsh Terrier\",\"West High White Terrier\",\"West Highland White Terrier\",\"Wheaton Terrier\",\"Whippet\",\"Wire Fox Terrier\",\"Wirehaired Pointing Griffon\",\"Xoloitzcuintli\",\"Yorkshire Terrier\",\"Yorkshire Terrier Crossbreed\",\"Affenpinscher\",\"Afghan Hound\",\"Afghan Hound Crossbreed\",\"Airedale Terrier\",\"Akita\",\"Akita Crossbreed\",\"Alaskan Malamute\",\"American Bully\",\"American English Coonhound\",\"American Eskimo dog\",\"American Foxhound\",\"American Hairless Terrier\",\"American Leopard Hound\",\"American Pit Bull Mix / Pit Bull Mix\",\"American Pit Bull Terrier/Pit Bull\",\"American Staffordshire Terrier \",\"American Water Spaniel\",\"Anatolian Shepherd Dog\",\"Australian Cattle Dog\",\"Australian Cattledog\",\"Australian Kelpie\",\"Australian Shepherd\",\"Australian Silky Terrier\",\"Australian Terrier\",\"Barbet\",\"Basenji\",\"Basset Hound\",\"Bassett Hound\",\"Beagle\",\"Beagle Crossbreed\",\"Bearded Collie\",\"Bedlington Terrier\",\"Belgian Griffon\",\"Belgian Malinois\",\"Belgian Sheepdog\",\"Belgian Tervuren\",\"Berger Picard\",\"Bernese Mountain Dog\",\"Bichon Frise\",\"Bichon Frise Crossbreed\",\"Biewer Terrier\",\"Black and Tan Coonhound\",\"Black Russian Terrier\",\"Bloodhound\",\"Bloodhound Crossbreed\",\"Bluetick Coonhound\",\"Boerboel\",\"Bolognese\",\"Border Collie\",\"Border Collie Crossbreed\",\"Border Terrier\",\"Borzoi\",\"Boston Terrier\",\"Bouvier Des Flandres\",\"Boxer\",\"Boxer Crossbreed\",\"Boykin Spaniel\",\"Bracco Italiano\",\"Briard\",\"Brittany\",\"Brittany Spaniel\",\"Brussels Griffon\",\"Bull Dog, American\",\"Bull Dog, English\",\"Bull Dog, French\",\"Bull Terrier\",\"Bulldog\",\"Bullmastiff\",\"Cairn Terrier\",\"Canaan Dog\",\"Cane Corso\",\"Cardigan Welsh Corgi\",\"Catahoula Leopard Dog\",\"Cavalier King Charles Spaniel\",\"Cesky Terrier\",\"Chesapeake Bay Retriever\",\"Chihuahua\",\"Chihuahua Crossbreed\",\"Chinese Crested\",\"Chinese Shar-Pei\",\"Chinook\",\"Chow Chow\",\"Cirneco dell\",\"Clumber Spaniel\",\"Cocker Spaniel\",\"Cocker Spaniel Crossbreed\",\"Collie\",\"Collie Crossbreed\",\"Collie, Bearded \",\"Collie, Border\",\"Collie, Rough Coat\",\"Collie, Smooth Coat\",\"Coonhound, Black and Tan\",\"Coonhound, Blue Tick\",\"Coonhound, Treeing Walker\",\"Coton de Tulear\",\"Cotton De Tulear\",\"Curly-Coated Retriever\",\"Dachshund\",\"Dachshund Crossbreed\",\"Dachshund Smooth Coat\",\"Dachshund Smooth Coat Miniature\",\"Dachshund, Long Haired\",\"Dachshund, Long Haired Miniature\",\"Dachshund, Wirehaired\",\"Dachshund, Wirehaired, Miniature\",\"Dalmatian\",\"Dandie Dinmont Terrier\",\"Doberman Pinscher\",\"Dogo Argentino\",\"Dogue de Bordeaux\",\"Dutch Shepherd\",\"English Cocker Spaniel\",\"English Foxhound\",\"English Setter\",\"English Springer Spaniel\",\"English Toy Spaniel\",\"Entlebucher Mountain Dog\",\"Eurasier\",\"Field Spaniel\",\"Fila Brasileiro\",\"Finnish Lapphund\",\"Finnish Spitz\",\"Flat-Coated Retriever\",\"French Bulldog\",\"French Spaniel\",\"German Longhaired Pointer\",\"German Pinscher\",\"German Shepherd Crossbreed\",\"German Shepherd Dog\",\"German Shorthaired Pointer\",\"German Spitz\",\"German Wirehaired Pointer\",\"Giant Schnauzer\",\"Glen of Imaal Terrier\",\"Golden Retriever\",\"Goldendoodle\",\"Gordon Setter\",\"Grand Basset Griffon Vendeen\",\"Great Dane\",\"Great Pyrenees\",\"Greater Swiss Mountain Dog\",\"Greyhound\",\"Hamiltonstovare\",\"Harrier\",\"Havanese\",\"Hovawart\",\"Ibizan Hound\",\"Irish Red and White Setter\",\"Irish Setter\",\"Irish Terrier\",\"Irish Wolfhound\",\"Italian Greyhound\",\"Jack Russell Terrier\",\"Japanese Chin\",\"Japanese Chin/Spaniel\",\"Jindo\",\"Jindo Dog, Korea\",\"Kai Ken\",\"Karelian Bear Dog\",\"Keeshond\",\"Kerry Blue Terrier\",\"Kooikerhondje\",\"Kromfohrlander\",\"Kuvasz\",\"Labradoodle\",\"Labrador Retriever\",\"Labrador Retriever Crossbreed\",\"Lagotto Romagnolo\",\"Lakeland Terrier\",\"Lancashire Heeler\",\"Leonberger\",\"Lhasa Apso\",\"Lowchen\",\"Maltese\",\"Maltese Crossbreed\",\"Maltipoo\",\"Manchester Terrier\",\"Mastiff\",\"Mastiff, Bull\",\"Mastiff, French (Dogue de Bordeaux)\",\"Mastiff, Neapolitan\",\"Mastiff, Old English\",\"Mastiff, Tibetan\",\"Miniature American Shepherd\",\"Miniature Bull Terrier\",\"Miniature Fox Terrier\",\"Miniature Pinscher\",\"Miniature Schnauzer\",\"Morkie\",\"Mudi\",\"Neapolitan Mastiff\",\"Newfoundland\",\"Norfolk Terrier\",\"Norwegian Buhund\",\"Norwegian Elkhound\",\"Norwich Terrier\",\"Nova Scotia Duck Tolling Retriever\",\"Old English Sheepdog\",\"Otterhound\",\"Papillon\",\"Parson Russell Terrier\",\"Pekingese\",\"Pembroke Welsh Corgi\",\"Pembroke Welsh Corgi Crossbreed\",\"Perro de Presa Canario\",\"Peruvian Inca Orchid\",\"Petit Basset Griffon Vendeen\",\"Pharaoh Hound\",\"Pharoh hound\",\"Plott\",\"Pointer\",\"Pointer, German Shorthaired\",\"Pointer, German Wirehaired\",\"Polish Hound\",\"Polish Lowland Sheepdog\",\"Pomeranian\",\"Pomeranian Crossbreed\",\"Poodle\",\"Poodle Crossbreed\",\"Poodle, Miniature\",\"Poodle, Standard\",\"Poodle, Toy\",\"Portuguese Podengo Pequeno\",\"Portuguese Sheepdog\",\"Portuguese Water Dog\",\"Pug\",\"Pug Crossbreed\",\"Puggle\",\"Puli\",\"Pumi\",\"Pyrenean Shepherd\",\"Rat Terrier\",\"Rat Terrier Crossbreed\",\"Redbone Coonhound\",\"Rhodesian Ridgeback\",\"Rottweiler\",\"Rottweiler Crossbreed\",\"Russell Terrier\",\"Russian Toy\",\"Russian Wolfhound\",\"Saint Bernard\",\"Saluki\",\"Samoyed\",\"Schipperke\",\"Schipperkee\",\"Schnauzer Crossbreed\",\"Schnauzer, Giant\",\"Schnauzer, Miniature\",\"Schnauzer, Miniature Crossbreed\",\"Schnauzer, Standard\",\"Scottish Deerhound\",\"Scottish Terrier\",\"Sealyham Terrier\",\"Shar-Pei, Chinese\",\"Shetland Sheepdog\",\"Shiba Inu\",\"Shiba Inu Crossbreed\",\"Shih Tzu\",\"Shih Tzu Crossbreed\",\"Siberian Husky\",\"Siberian Husky Crossbreed\",\"Silky Terrier\",\"Skye Terrier\",\"Small Munsterlander Pointer\",\"Smooth Fox Terrier\",\"Soft Coated Wheaten Terrier\",\"Spanish Water Dog\",\"Spinone Italiano\",\"St. Bernard\",\"Staffordshire Bull Terrier\",\"Standard Schnauzer\",\"Sussex Spaniel\",\"Swedish Vallhund\",\"Terrier Crossbreed\",\"Terrier mix\",\"Thai Ridgeback\",\"Tibetan Mastiff\",\"Tibetan Spaniel\",\"Tibetan Terrier\",\"Toy Fox Terrier\",\"Treeing Tennessee Brindle\",\"Treeing Walker Coonhound\",\"Unknown\",\"Vizsla\",\"Weimaraner\",\"Welsh Corgi, Cardigan\",\"Welsh Corgi, Pembroke\",\"Welsh Springer Spaniel\",\"Welsh Terrier\",\"West High White Terrier\",\"West Highland White Terrier\",\"Wheaton Terrier\",\"Whippet\",\"Wire Fox Terrier\",\"Wirehaired Pointing Griffon\",\"Xoloitzcuintli\",\"Yorkshire Terrier\",\"Yorkshire Terrier Crossbreed\"],\"value\":[0,0,0,0,0,0,0,0,0,0,0,0,0,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,27,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,6,0,0,0,0,0,0,23,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,21,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,11,0,0,0,0,0,0,0,0,0,0,0,0,0,30,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,53,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,20,22,0,0,0,0,0,0,48,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,92,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,51,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,15,0,0,0,0,0,0,0,0,0,0,0,0,0,28,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,84,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,57,34,0,0,0,0,0,0,74,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,28,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,90,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,89,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,26,0,0,0,0,0,0,0,0,0,0,0,0,0,50,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,110,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,67,44,0,0,0,0,0,0,103,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,38,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,173,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,124,0,0,0,0,0,0,0,0,0,0,0,0,0,0,20,27,0,0,0,0,0,0,0,0,0,0,0,0,0,79,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,160,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,64,0,0,0,0,0,0,136,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,62,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,197,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,189,0,0,0,0,0,0,0,0,0,0,0,0,0,0,36,49,0,0,0,0,0,0,0,0,0,0,0,0,0,69,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,261,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,153,92,0,0,0,0,0,0,155,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,78,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,222,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,279,0,0,0,0,0,0,0,0,0,0,0,0,0,0,51,61,0,0,0,0,0,0,0,0,0,0,0,0,0,112,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,266,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,220,97,0,0,0,0,0,0,183,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,85,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,358,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,323,0,0,0,0,0,0,0,0,0,0,0,0,0,0,81,79,0,0,0,0,0,0,0,0,0,0,0,0,0,120,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,277,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,219,116,0,0,0,0,0,0,195,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,99,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,390,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,380,0,0,0,0,0,0,0,0,0,0,0,0,0,0,107,142,0,0,0,0,0,0,0,0,0,0,0,0,0,131,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,385,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,266,158,0,0,0,0,0,0,271,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,117,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,489,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,527,0,0,0,0,0,0,0,0,0,0,0,0,0,0,153,161,0,0,0,0,0,0,0,0,0,0,0,0,0,153,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,413,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,260,154,0,0,0,0,0,0,296,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,131,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,470,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,492,0,0,0,0,0,0,0,0,0,0,0,0,0,0,198,226,0,0,0,0,0,0,0,0,0,0,0,0,0,146,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,450,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,304,185,0,0,0,0,0,0,302,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,135,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,488,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,540,0,0,0,0,0,0,0,0,0,0,0,0,0,0,264,231,0,0,0,0,0,0,0,0,0,0,0,0,0,135,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,444,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,305,200,0,0,0,0,0,0,320,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,147,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,570,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,584,0,0,0,0,0,0,0,0,0,0,0,0,0,0,328,317,0,0,0,0,0,0,0,0,0,0,0,0,0,152,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,410,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,300,199,0,0,0,0,0,0,320,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,159,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,498,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,571,0,0,0,0,0,0,0,0,0,0,0,0,0,0,368,376,0,0,0,0,0,0,0,0,0,0,0,0,0,175,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,517,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,338,232,0,0,0,0,0,0,350,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,201,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,580,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,541,0,0,0,0,0,0,0,0,0,0,0,0,0,0,516,482,0,0,0,0,0,0,0,0,0,0,0,0,0,175,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,594,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,397,247,0,0,0,0,0,0,376,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,144,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,623,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,610,0,0,0,0,0,0,0,0,0,0,0,0,0,0,619,586,0,0,0,0,0,0,0,0,0,0,0,0,0,183,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,620,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,491,374,0,0,0,0,0,0,465,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,280,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,701,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,766,0,0,0,0,0,0,0,0,0,0,0,0,0,0,490,406,0,0,0,0,0,0,0,0,0,0,0,0,0,231,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,482,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,465,351,0,0,0,0,0,0,397,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,261,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,640,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,899,0],\"date\":[\"1999-01-01\",\"1999-01-01\",\"1999-01-01\",\"1999-01-01\",\"1999-01-01\",\"1999-01-01\",\"1999-01-01\",\"1999-01-01\",\"1999-01-01\",\"1999-01-01\",\"1999-01-01\",\"1999-01-01\",\"1999-01-01\",\"1999-01-01\",\"1999-01-01\",\"1999-01-01\",\"1999-01-01\",\"1999-01-01\",\"1999-01-01\",\"1999-01-01\",\"1999-01-01\",\"1999-01-01\",\"1999-01-01\",\"1999-01-01\",\"1999-01-01\",\"1999-01-01\",\"1999-01-01\",\"1999-01-01\",\"1999-01-01\",\"1999-01-01\",\"1999-01-01\",\"1999-01-01\",\"1999-01-01\",\"1999-01-01\",\"1999-01-01\",\"1999-01-01\",\"1999-01-01\",\"1999-01-01\",\"1999-01-01\",\"1999-01-01\",\"1999-01-01\",\"1999-01-01\",\"1999-01-01\",\"1999-01-01\",\"1999-01-01\",\"1999-01-01\",\"1999-01-01\",\"1999-01-01\",\"1999-01-01\",\"1999-01-01\",\"1999-01-01\",\"1999-01-01\",\"1999-01-01\",\"1999-01-01\",\"1999-01-01\",\"1999-01-01\",\"1999-01-01\",\"1999-01-01\",\"1999-01-01\",\"1999-01-01\",\"1999-01-01\",\"1999-01-01\",\"1999-01-01\",\"1999-01-01\",\"1999-01-01\",\"1999-01-01\",\"1999-01-01\",\"1999-01-01\",\"1999-01-01\",\"1999-01-01\",\"1999-01-01\",\"1999-01-01\",\"1999-01-01\",\"1999-01-01\",\"1999-01-01\",\"1999-01-01\",\"1999-01-01\",\"1999-01-01\",\"1999-01-01\",\"1999-01-01\",\"1999-01-01\",\"1999-01-01\",\"1999-01-01\",\"1999-01-01\",\"1999-01-01\",\"1999-01-01\",\"1999-01-01\",\"1999-01-01\",\"1999-01-01\",\"1999-01-01\",\"1999-01-01\",\"1999-01-01\",\"1999-01-01\",\"1999-01-01\",\"1999-01-01\",\"1999-01-01\",\"1999-01-01\",\"1999-01-01\",\"1999-01-01\",\"1999-01-01\",\"1999-01-01\",\"1999-01-01\",\"1999-01-01\",\"1999-01-01\",\"1999-01-01\",\"1999-01-01\",\"1999-01-01\",\"1999-01-01\",\"1999-01-01\",\"1999-01-01\",\"1999-01-01\",\"1999-01-01\",\"1999-01-01\",\"1999-01-01\",\"1999-01-01\",\"1999-01-01\",\"1999-01-01\",\"1999-01-01\",\"1999-01-01\",\"1999-01-01\",\"1999-01-01\",\"1999-01-01\",\"1999-01-01\",\"1999-01-01\",\"1999-01-01\",\"1999-01-01\",\"1999-01-01\",\"1999-01-01\",\"1999-01-01\",\"1999-01-01\",\"1999-01-01\",\"1999-01-01\",\"1999-01-01\",\"1999-01-01\",\"1999-01-01\",\"1999-01-01\",\"1999-01-01\",\"1999-01-01\",\"1999-01-01\",\"1999-01-01\",\"1999-01-01\",\"1999-01-01\",\"1999-01-01\",\"1999-01-01\",\"1999-01-01\",\"1999-01-01\",\"1999-01-01\",\"1999-01-01\",\"1999-01-01\",\"1999-01-01\",\"1999-01-01\",\"1999-01-01\",\"1999-01-01\",\"1999-01-01\",\"1999-01-01\",\"1999-01-01\",\"1999-01-01\",\"1999-01-01\",\"1999-01-01\",\"1999-01-01\",\"1999-01-01\",\"1999-01-01\",\"1999-01-01\",\"1999-01-01\",\"1999-01-01\",\"1999-01-01\",\"1999-01-01\",\"1999-01-01\",\"1999-01-01\",\"1999-01-01\",\"1999-01-01\",\"1999-01-01\",\"1999-01-01\",\"1999-01-01\",\"1999-01-01\",\"1999-01-01\",\"1999-01-01\",\"1999-01-01\",\"1999-01-01\",\"1999-01-01\",\"1999-01-01\",\"1999-01-01\",\"1999-01-01\",\"1999-01-01\",\"1999-01-01\",\"1999-01-01\",\"1999-01-01\",\"1999-01-01\",\"1999-01-01\",\"1999-01-01\",\"1999-01-01\",\"1999-01-01\",\"1999-01-01\",\"1999-01-01\",\"1999-01-01\",\"1999-01-01\",\"1999-01-01\",\"1999-01-01\",\"1999-01-01\",\"1999-01-01\",\"1999-01-01\",\"1999-01-01\",\"1999-01-01\",\"1999-01-01\",\"1999-01-01\",\"1999-01-01\",\"1999-01-01\",\"1999-01-01\",\"1999-01-01\",\"1999-01-01\",\"1999-01-01\",\"1999-01-01\",\"1999-01-01\",\"1999-01-01\",\"1999-01-01\",\"1999-01-01\",\"1999-01-01\",\"1999-01-01\",\"1999-01-01\",\"1999-01-01\",\"1999-01-01\",\"1999-01-01\",\"1999-01-01\",\"1999-01-01\",\"1999-01-01\",\"1999-01-01\",\"1999-01-01\",\"1999-01-01\",\"1999-01-01\",\"1999-01-01\",\"1999-01-01\",\"1999-01-01\",\"1999-01-01\",\"1999-01-01\",\"1999-01-01\",\"1999-01-01\",\"1999-01-01\",\"1999-01-01\",\"1999-01-01\",\"1999-01-01\",\"1999-01-01\",\"1999-01-01\",\"1999-01-01\",\"1999-01-01\",\"1999-01-01\",\"1999-01-01\",\"1999-01-01\",\"1999-01-01\",\"1999-01-01\",\"1999-01-01\",\"1999-01-01\",\"1999-01-01\",\"1999-01-01\",\"1999-01-01\",\"1999-01-01\",\"1999-01-01\",\"1999-01-01\",\"1999-01-01\",\"1999-01-01\",\"1999-01-01\",\"1999-01-01\",\"1999-01-01\",\"1999-01-01\",\"1999-01-01\",\"1999-01-01\",\"1999-01-01\",\"1999-01-01\",\"1999-01-01\",\"1999-01-01\",\"1999-01-01\",\"1999-01-01\",\"1999-01-01\",\"1999-01-01\",\"1999-01-01\",\"1999-01-01\",\"1999-01-01\",\"1999-01-01\",\"1999-01-01\",\"1999-01-01\",\"1999-01-01\",\"1999-01-01\",\"1999-01-01\",\"1999-01-01\",\"1999-01-01\",\"1999-01-01\",\"1999-01-01\",\"1999-01-01\",\"1999-01-01\",\"1999-01-01\",\"1999-01-01\",\"1999-01-01\",\"1999-01-01\",\"1999-01-01\",\"1999-01-01\",\"1999-01-01\",\"1999-01-01\",\"1999-01-01\",\"1999-01-01\",\"1999-01-01\",\"2000-01-01\",\"2000-01-01\",\"2000-01-01\",\"2000-01-01\",\"2000-01-01\",\"2000-01-01\",\"2000-01-01\",\"2000-01-01\",\"2000-01-01\",\"2000-01-01\",\"2000-01-01\",\"2000-01-01\",\"2000-01-01\",\"2000-01-01\",\"2000-01-01\",\"2000-01-01\",\"2000-01-01\",\"2000-01-01\",\"2000-01-01\",\"2000-01-01\",\"2000-01-01\",\"2000-01-01\",\"2000-01-01\",\"2000-01-01\",\"2000-01-01\",\"2000-01-01\",\"2000-01-01\",\"2000-01-01\",\"2000-01-01\",\"2000-01-01\",\"2000-01-01\",\"2000-01-01\",\"2000-01-01\",\"2000-01-01\",\"2000-01-01\",\"2000-01-01\",\"2000-01-01\",\"2000-01-01\",\"2000-01-01\",\"2000-01-01\",\"2000-01-01\",\"2000-01-01\",\"2000-01-01\",\"2000-01-01\",\"2000-01-01\",\"2000-01-01\",\"2000-01-01\",\"2000-01-01\",\"2000-01-01\",\"2000-01-01\",\"2000-01-01\",\"2000-01-01\",\"2000-01-01\",\"2000-01-01\",\"2000-01-01\",\"2000-01-01\",\"2000-01-01\",\"2000-01-01\",\"2000-01-01\",\"2000-01-01\",\"2000-01-01\",\"2000-01-01\",\"2000-01-01\",\"2000-01-01\",\"2000-01-01\",\"2000-01-01\",\"2000-01-01\",\"2000-01-01\",\"2000-01-01\",\"2000-01-01\",\"2000-01-01\",\"2000-01-01\",\"2000-01-01\",\"2000-01-01\",\"2000-01-01\",\"2000-01-01\",\"2000-01-01\",\"2000-01-01\",\"2000-01-01\",\"2000-01-01\",\"2000-01-01\",\"2000-01-01\",\"2000-01-01\",\"2000-01-01\",\"2000-01-01\",\"2000-01-01\",\"2000-01-01\",\"2000-01-01\",\"2000-01-01\",\"2000-01-01\",\"2000-01-01\",\"2000-01-01\",\"2000-01-01\",\"2000-01-01\",\"2000-01-01\",\"2000-01-01\",\"2000-01-01\",\"2000-01-01\",\"2000-01-01\",\"2000-01-01\",\"2000-01-01\",\"2000-01-01\",\"2000-01-01\",\"2000-01-01\",\"2000-01-01\",\"2000-01-01\",\"2000-01-01\",\"2000-01-01\",\"2000-01-01\",\"2000-01-01\",\"2000-01-01\",\"2000-01-01\",\"2000-01-01\",\"2000-01-01\",\"2000-01-01\",\"2000-01-01\",\"2000-01-01\",\"2000-01-01\",\"2000-01-01\",\"2000-01-01\",\"2000-01-01\",\"2000-01-01\",\"2000-01-01\",\"2000-01-01\",\"2000-01-01\",\"2000-01-01\",\"2000-01-01\",\"2000-01-01\",\"2000-01-01\",\"2000-01-01\",\"2000-01-01\",\"2000-01-01\",\"2000-01-01\",\"2000-01-01\",\"2000-01-01\",\"2000-01-01\",\"2000-01-01\",\"2000-01-01\",\"2000-01-01\",\"2000-01-01\",\"2000-01-01\",\"2000-01-01\",\"2000-01-01\",\"2000-01-01\",\"2000-01-01\",\"2000-01-01\",\"2000-01-01\",\"2000-01-01\",\"2000-01-01\",\"2000-01-01\",\"2000-01-01\",\"2000-01-01\",\"2000-01-01\",\"2000-01-01\",\"2000-01-01\",\"2000-01-01\",\"2000-01-01\",\"2000-01-01\",\"2000-01-01\",\"2000-01-01\",\"2000-01-01\",\"2000-01-01\",\"2000-01-01\",\"2000-01-01\",\"2000-01-01\",\"2000-01-01\",\"2000-01-01\",\"2000-01-01\",\"2000-01-01\",\"2000-01-01\",\"2000-01-01\",\"2000-01-01\",\"2000-01-01\",\"2000-01-01\",\"2000-01-01\",\"2000-01-01\",\"2000-01-01\",\"2000-01-01\",\"2000-01-01\",\"2000-01-01\",\"2000-01-01\",\"2000-01-01\",\"2000-01-01\",\"2000-01-01\",\"2000-01-01\",\"2000-01-01\",\"2000-01-01\",\"2000-01-01\",\"2000-01-01\",\"2000-01-01\",\"2000-01-01\",\"2000-01-01\",\"2000-01-01\",\"2000-01-01\",\"2000-01-01\",\"2000-01-01\",\"2000-01-01\",\"2000-01-01\",\"2000-01-01\",\"2000-01-01\",\"2000-01-01\",\"2000-01-01\",\"2000-01-01\",\"2000-01-01\",\"2000-01-01\",\"2000-01-01\",\"2000-01-01\",\"2000-01-01\",\"2000-01-01\",\"2000-01-01\",\"2000-01-01\",\"2000-01-01\",\"2000-01-01\",\"2000-01-01\",\"2000-01-01\",\"2000-01-01\",\"2000-01-01\",\"2000-01-01\",\"2000-01-01\",\"2000-01-01\",\"2000-01-01\",\"2000-01-01\",\"2000-01-01\",\"2000-01-01\",\"2000-01-01\",\"2000-01-01\",\"2000-01-01\",\"2000-01-01\",\"2000-01-01\",\"2000-01-01\",\"2000-01-01\",\"2000-01-01\",\"2000-01-01\",\"2000-01-01\",\"2000-01-01\",\"2000-01-01\",\"2000-01-01\",\"2000-01-01\",\"2000-01-01\",\"2000-01-01\",\"2000-01-01\",\"2000-01-01\",\"2000-01-01\",\"2000-01-01\",\"2000-01-01\",\"2000-01-01\",\"2000-01-01\",\"2000-01-01\",\"2000-01-01\",\"2000-01-01\",\"2000-01-01\",\"2000-01-01\",\"2000-01-01\",\"2000-01-01\",\"2000-01-01\",\"2000-01-01\",\"2000-01-01\",\"2000-01-01\",\"2000-01-01\",\"2000-01-01\",\"2000-01-01\",\"2000-01-01\",\"2000-01-01\",\"2000-01-01\",\"2000-01-01\",\"2000-01-01\",\"2000-01-01\",\"2000-01-01\",\"2000-01-01\",\"2000-01-01\",\"2000-01-01\",\"2000-01-01\",\"2000-01-01\",\"2000-01-01\",\"2000-01-01\",\"2000-01-01\",\"2000-01-01\",\"2000-01-01\",\"2000-01-01\",\"2000-01-01\",\"2000-01-01\",\"2000-01-01\",\"2000-01-01\",\"2000-01-01\",\"2000-01-01\",\"2000-01-01\",\"2000-01-01\",\"2000-01-01\",\"2000-01-01\",\"2000-01-01\",\"2000-01-01\",\"2000-01-01\",\"2000-01-01\",\"2000-01-01\",\"2000-01-01\",\"2000-01-01\",\"2000-01-01\",\"2000-01-01\",\"2000-01-01\",\"2001-01-01\",\"2001-01-01\",\"2001-01-01\",\"2001-01-01\",\"2001-01-01\",\"2001-01-01\",\"2001-01-01\",\"2001-01-01\",\"2001-01-01\",\"2001-01-01\",\"2001-01-01\",\"2001-01-01\",\"2001-01-01\",\"2001-01-01\",\"2001-01-01\",\"2001-01-01\",\"2001-01-01\",\"2001-01-01\",\"2001-01-01\",\"2001-01-01\",\"2001-01-01\",\"2001-01-01\",\"2001-01-01\",\"2001-01-01\",\"2001-01-01\",\"2001-01-01\",\"2001-01-01\",\"2001-01-01\",\"2001-01-01\",\"2001-01-01\",\"2001-01-01\",\"2001-01-01\",\"2001-01-01\",\"2001-01-01\",\"2001-01-01\",\"2001-01-01\",\"2001-01-01\",\"2001-01-01\",\"2001-01-01\",\"2001-01-01\",\"2001-01-01\",\"2001-01-01\",\"2001-01-01\",\"2001-01-01\",\"2001-01-01\",\"2001-01-01\",\"2001-01-01\",\"2001-01-01\",\"2001-01-01\",\"2001-01-01\",\"2001-01-01\",\"2001-01-01\",\"2001-01-01\",\"2001-01-01\",\"2001-01-01\",\"2001-01-01\",\"2001-01-01\",\"2001-01-01\",\"2001-01-01\",\"2001-01-01\",\"2001-01-01\",\"2001-01-01\",\"2001-01-01\",\"2001-01-01\",\"2001-01-01\",\"2001-01-01\",\"2001-01-01\",\"2001-01-01\",\"2001-01-01\",\"2001-01-01\",\"2001-01-01\",\"2001-01-01\",\"2001-01-01\",\"2001-01-01\",\"2001-01-01\",\"2001-01-01\",\"2001-01-01\",\"2001-01-01\",\"2001-01-01\",\"2001-01-01\",\"2001-01-01\",\"2001-01-01\",\"2001-01-01\",\"2001-01-01\",\"2001-01-01\",\"2001-01-01\",\"2001-01-01\",\"2001-01-01\",\"2001-01-01\",\"2001-01-01\",\"2001-01-01\",\"2001-01-01\",\"2001-01-01\",\"2001-01-01\",\"2001-01-01\",\"2001-01-01\",\"2001-01-01\",\"2001-01-01\",\"2001-01-01\",\"2001-01-01\",\"2001-01-01\",\"2001-01-01\",\"2001-01-01\",\"2001-01-01\",\"2001-01-01\",\"2001-01-01\",\"2001-01-01\",\"2001-01-01\",\"2001-01-01\",\"2001-01-01\",\"2001-01-01\",\"2001-01-01\",\"2001-01-01\",\"2001-01-01\",\"2001-01-01\",\"2001-01-01\",\"2001-01-01\",\"2001-01-01\",\"2001-01-01\",\"2001-01-01\",\"2001-01-01\",\"2001-01-01\",\"2001-01-01\",\"2001-01-01\",\"2001-01-01\",\"2001-01-01\",\"2001-01-01\",\"2001-01-01\",\"2001-01-01\",\"2001-01-01\",\"2001-01-01\",\"2001-01-01\",\"2001-01-01\",\"2001-01-01\",\"2001-01-01\",\"2001-01-01\",\"2001-01-01\",\"2001-01-01\",\"2001-01-01\",\"2001-01-01\",\"2001-01-01\",\"2001-01-01\",\"2001-01-01\",\"2001-01-01\",\"2001-01-01\",\"2001-01-01\",\"2001-01-01\",\"2001-01-01\",\"2001-01-01\",\"2001-01-01\",\"2001-01-01\",\"2001-01-01\",\"2001-01-01\",\"2001-01-01\",\"2001-01-01\",\"2001-01-01\",\"2001-01-01\",\"2001-01-01\",\"2001-01-01\",\"2001-01-01\",\"2001-01-01\",\"2001-01-01\",\"2001-01-01\",\"2001-01-01\",\"2001-01-01\",\"2001-01-01\",\"2001-01-01\",\"2001-01-01\",\"2001-01-01\",\"2001-01-01\",\"2001-01-01\",\"2001-01-01\",\"2001-01-01\",\"2001-01-01\",\"2001-01-01\",\"2001-01-01\",\"2001-01-01\",\"2001-01-01\",\"2001-01-01\",\"2001-01-01\",\"2001-01-01\",\"2001-01-01\",\"2001-01-01\",\"2001-01-01\",\"2001-01-01\",\"2001-01-01\",\"2001-01-01\",\"2001-01-01\",\"2001-01-01\",\"2001-01-01\",\"2001-01-01\",\"2001-01-01\",\"2001-01-01\",\"2001-01-01\",\"2001-01-01\",\"2001-01-01\",\"2001-01-01\",\"2001-01-01\",\"2001-01-01\",\"2001-01-01\",\"2001-01-01\",\"2001-01-01\",\"2001-01-01\",\"2001-01-01\",\"2001-01-01\",\"2001-01-01\",\"2001-01-01\",\"2001-01-01\",\"2001-01-01\",\"2001-01-01\",\"2001-01-01\",\"2001-01-01\",\"2001-01-01\",\"2001-01-01\",\"2001-01-01\",\"2001-01-01\",\"2001-01-01\",\"2001-01-01\",\"2001-01-01\",\"2001-01-01\",\"2001-01-01\",\"2001-01-01\",\"2001-01-01\",\"2001-01-01\",\"2001-01-01\",\"2001-01-01\",\"2001-01-01\",\"2001-01-01\",\"2001-01-01\",\"2001-01-01\",\"2001-01-01\",\"2001-01-01\",\"2001-01-01\",\"2001-01-01\",\"2001-01-01\",\"2001-01-01\",\"2001-01-01\",\"2001-01-01\",\"2001-01-01\",\"2001-01-01\",\"2001-01-01\",\"2001-01-01\",\"2001-01-01\",\"2001-01-01\",\"2001-01-01\",\"2001-01-01\",\"2001-01-01\",\"2001-01-01\",\"2001-01-01\",\"2001-01-01\",\"2001-01-01\",\"2001-01-01\",\"2001-01-01\",\"2001-01-01\",\"2001-01-01\",\"2001-01-01\",\"2001-01-01\",\"2001-01-01\",\"2001-01-01\",\"2001-01-01\",\"2001-01-01\",\"2001-01-01\",\"2001-01-01\",\"2001-01-01\",\"2001-01-01\",\"2001-01-01\",\"2001-01-01\",\"2001-01-01\",\"2001-01-01\",\"2001-01-01\",\"2001-01-01\",\"2001-01-01\",\"2001-01-01\",\"2001-01-01\",\"2001-01-01\",\"2001-01-01\",\"2001-01-01\",\"2001-01-01\",\"2001-01-01\",\"2001-01-01\",\"2001-01-01\",\"2001-01-01\",\"2001-01-01\",\"2001-01-01\",\"2001-01-01\",\"2001-01-01\",\"2001-01-01\",\"2001-01-01\",\"2001-01-01\",\"2001-01-01\",\"2001-01-01\",\"2001-01-01\",\"2001-01-01\",\"2001-01-01\",\"2001-01-01\",\"2001-01-01\",\"2001-01-01\",\"2001-01-01\",\"2001-01-01\",\"2002-01-01\",\"2002-01-01\",\"2002-01-01\",\"2002-01-01\",\"2002-01-01\",\"2002-01-01\",\"2002-01-01\",\"2002-01-01\",\"2002-01-01\",\"2002-01-01\",\"2002-01-01\",\"2002-01-01\",\"2002-01-01\",\"2002-01-01\",\"2002-01-01\",\"2002-01-01\",\"2002-01-01\",\"2002-01-01\",\"2002-01-01\",\"2002-01-01\",\"2002-01-01\",\"2002-01-01\",\"2002-01-01\",\"2002-01-01\",\"2002-01-01\",\"2002-01-01\",\"2002-01-01\",\"2002-01-01\",\"2002-01-01\",\"2002-01-01\",\"2002-01-01\",\"2002-01-01\",\"2002-01-01\",\"2002-01-01\",\"2002-01-01\",\"2002-01-01\",\"2002-01-01\",\"2002-01-01\",\"2002-01-01\",\"2002-01-01\",\"2002-01-01\",\"2002-01-01\",\"2002-01-01\",\"2002-01-01\",\"2002-01-01\",\"2002-01-01\",\"2002-01-01\",\"2002-01-01\",\"2002-01-01\",\"2002-01-01\",\"2002-01-01\",\"2002-01-01\",\"2002-01-01\",\"2002-01-01\",\"2002-01-01\",\"2002-01-01\",\"2002-01-01\",\"2002-01-01\",\"2002-01-01\",\"2002-01-01\",\"2002-01-01\",\"2002-01-01\",\"2002-01-01\",\"2002-01-01\",\"2002-01-01\",\"2002-01-01\",\"2002-01-01\",\"2002-01-01\",\"2002-01-01\",\"2002-01-01\",\"2002-01-01\",\"2002-01-01\",\"2002-01-01\",\"2002-01-01\",\"2002-01-01\",\"2002-01-01\",\"2002-01-01\",\"2002-01-01\",\"2002-01-01\",\"2002-01-01\",\"2002-01-01\",\"2002-01-01\",\"2002-01-01\",\"2002-01-01\",\"2002-01-01\",\"2002-01-01\",\"2002-01-01\",\"2002-01-01\",\"2002-01-01\",\"2002-01-01\",\"2002-01-01\",\"2002-01-01\",\"2002-01-01\",\"2002-01-01\",\"2002-01-01\",\"2002-01-01\",\"2002-01-01\",\"2002-01-01\",\"2002-01-01\",\"2002-01-01\",\"2002-01-01\",\"2002-01-01\",\"2002-01-01\",\"2002-01-01\",\"2002-01-01\",\"2002-01-01\",\"2002-01-01\",\"2002-01-01\",\"2002-01-01\",\"2002-01-01\",\"2002-01-01\",\"2002-01-01\",\"2002-01-01\",\"2002-01-01\",\"2002-01-01\",\"2002-01-01\",\"2002-01-01\",\"2002-01-01\",\"2002-01-01\",\"2002-01-01\",\"2002-01-01\",\"2002-01-01\",\"2002-01-01\",\"2002-01-01\",\"2002-01-01\",\"2002-01-01\",\"2002-01-01\",\"2002-01-01\",\"2002-01-01\",\"2002-01-01\",\"2002-01-01\",\"2002-01-01\",\"2002-01-01\",\"2002-01-01\",\"2002-01-01\",\"2002-01-01\",\"2002-01-01\",\"2002-01-01\",\"2002-01-01\",\"2002-01-01\",\"2002-01-01\",\"2002-01-01\",\"2002-01-01\",\"2002-01-01\",\"2002-01-01\",\"2002-01-01\",\"2002-01-01\",\"2002-01-01\",\"2002-01-01\",\"2002-01-01\",\"2002-01-01\",\"2002-01-01\",\"2002-01-01\",\"2002-01-01\",\"2002-01-01\",\"2002-01-01\",\"2002-01-01\",\"2002-01-01\",\"2002-01-01\",\"2002-01-01\",\"2002-01-01\",\"2002-01-01\",\"2002-01-01\",\"2002-01-01\",\"2002-01-01\",\"2002-01-01\",\"2002-01-01\",\"2002-01-01\",\"2002-01-01\",\"2002-01-01\",\"2002-01-01\",\"2002-01-01\",\"2002-01-01\",\"2002-01-01\",\"2002-01-01\",\"2002-01-01\",\"2002-01-01\",\"2002-01-01\",\"2002-01-01\",\"2002-01-01\",\"2002-01-01\",\"2002-01-01\",\"2002-01-01\",\"2002-01-01\",\"2002-01-01\",\"2002-01-01\",\"2002-01-01\",\"2002-01-01\",\"2002-01-01\",\"2002-01-01\",\"2002-01-01\",\"2002-01-01\",\"2002-01-01\",\"2002-01-01\",\"2002-01-01\",\"2002-01-01\",\"2002-01-01\",\"2002-01-01\",\"2002-01-01\",\"2002-01-01\",\"2002-01-01\",\"2002-01-01\",\"2002-01-01\",\"2002-01-01\",\"2002-01-01\",\"2002-01-01\",\"2002-01-01\",\"2002-01-01\",\"2002-01-01\",\"2002-01-01\",\"2002-01-01\",\"2002-01-01\",\"2002-01-01\",\"2002-01-01\",\"2002-01-01\",\"2002-01-01\",\"2002-01-01\",\"2002-01-01\",\"2002-01-01\",\"2002-01-01\",\"2002-01-01\",\"2002-01-01\",\"2002-01-01\",\"2002-01-01\",\"2002-01-01\",\"2002-01-01\",\"2002-01-01\",\"2002-01-01\",\"2002-01-01\",\"2002-01-01\",\"2002-01-01\",\"2002-01-01\",\"2002-01-01\",\"2002-01-01\",\"2002-01-01\",\"2002-01-01\",\"2002-01-01\",\"2002-01-01\",\"2002-01-01\",\"2002-01-01\",\"2002-01-01\",\"2002-01-01\",\"2002-01-01\",\"2002-01-01\",\"2002-01-01\",\"2002-01-01\",\"2002-01-01\",\"2002-01-01\",\"2002-01-01\",\"2002-01-01\",\"2002-01-01\",\"2002-01-01\",\"2002-01-01\",\"2002-01-01\",\"2002-01-01\",\"2002-01-01\",\"2002-01-01\",\"2002-01-01\",\"2002-01-01\",\"2002-01-01\",\"2002-01-01\",\"2002-01-01\",\"2002-01-01\",\"2002-01-01\",\"2002-01-01\",\"2002-01-01\",\"2002-01-01\",\"2002-01-01\",\"2002-01-01\",\"2002-01-01\",\"2002-01-01\",\"2002-01-01\",\"2002-01-01\",\"2002-01-01\",\"2002-01-01\",\"2002-01-01\",\"2002-01-01\",\"2002-01-01\",\"2002-01-01\",\"2002-01-01\",\"2002-01-01\",\"2002-01-01\",\"2002-01-01\",\"2002-01-01\",\"2002-01-01\",\"2002-01-01\",\"2002-01-01\",\"2002-01-01\",\"2002-01-01\",\"2002-01-01\",\"2002-01-01\",\"2002-01-01\",\"2002-01-01\",\"2002-01-01\",\"2002-01-01\",\"2002-01-01\",\"2002-01-01\",\"2002-01-01\",\"2002-01-01\",\"2003-01-01\",\"2003-01-01\",\"2003-01-01\",\"2003-01-01\",\"2003-01-01\",\"2003-01-01\",\"2003-01-01\",\"2003-01-01\",\"2003-01-01\",\"2003-01-01\",\"2003-01-01\",\"2003-01-01\",\"2003-01-01\",\"2003-01-01\",\"2003-01-01\",\"2003-01-01\",\"2003-01-01\",\"2003-01-01\",\"2003-01-01\",\"2003-01-01\",\"2003-01-01\",\"2003-01-01\",\"2003-01-01\",\"2003-01-01\",\"2003-01-01\",\"2003-01-01\",\"2003-01-01\",\"2003-01-01\",\"2003-01-01\",\"2003-01-01\",\"2003-01-01\",\"2003-01-01\",\"2003-01-01\",\"2003-01-01\",\"2003-01-01\",\"2003-01-01\",\"2003-01-01\",\"2003-01-01\",\"2003-01-01\",\"2003-01-01\",\"2003-01-01\",\"2003-01-01\",\"2003-01-01\",\"2003-01-01\",\"2003-01-01\",\"2003-01-01\",\"2003-01-01\",\"2003-01-01\",\"2003-01-01\",\"2003-01-01\",\"2003-01-01\",\"2003-01-01\",\"2003-01-01\",\"2003-01-01\",\"2003-01-01\",\"2003-01-01\",\"2003-01-01\",\"2003-01-01\",\"2003-01-01\",\"2003-01-01\",\"2003-01-01\",\"2003-01-01\",\"2003-01-01\",\"2003-01-01\",\"2003-01-01\",\"2003-01-01\",\"2003-01-01\",\"2003-01-01\",\"2003-01-01\",\"2003-01-01\",\"2003-01-01\",\"2003-01-01\",\"2003-01-01\",\"2003-01-01\",\"2003-01-01\",\"2003-01-01\",\"2003-01-01\",\"2003-01-01\",\"2003-01-01\",\"2003-01-01\",\"2003-01-01\",\"2003-01-01\",\"2003-01-01\",\"2003-01-01\",\"2003-01-01\",\"2003-01-01\",\"2003-01-01\",\"2003-01-01\",\"2003-01-01\",\"2003-01-01\",\"2003-01-01\",\"2003-01-01\",\"2003-01-01\",\"2003-01-01\",\"2003-01-01\",\"2003-01-01\",\"2003-01-01\",\"2003-01-01\",\"2003-01-01\",\"2003-01-01\",\"2003-01-01\",\"2003-01-01\",\"2003-01-01\",\"2003-01-01\",\"2003-01-01\",\"2003-01-01\",\"2003-01-01\",\"2003-01-01\",\"2003-01-01\",\"2003-01-01\",\"2003-01-01\",\"2003-01-01\",\"2003-01-01\",\"2003-01-01\",\"2003-01-01\",\"2003-01-01\",\"2003-01-01\",\"2003-01-01\",\"2003-01-01\",\"2003-01-01\",\"2003-01-01\",\"2003-01-01\",\"2003-01-01\",\"2003-01-01\",\"2003-01-01\",\"2003-01-01\",\"2003-01-01\",\"2003-01-01\",\"2003-01-01\",\"2003-01-01\",\"2003-01-01\",\"2003-01-01\",\"2003-01-01\",\"2003-01-01\",\"2003-01-01\",\"2003-01-01\",\"2003-01-01\",\"2003-01-01\",\"2003-01-01\",\"2003-01-01\",\"2003-01-01\",\"2003-01-01\",\"2003-01-01\",\"2003-01-01\",\"2003-01-01\",\"2003-01-01\",\"2003-01-01\",\"2003-01-01\",\"2003-01-01\",\"2003-01-01\",\"2003-01-01\",\"2003-01-01\",\"2003-01-01\",\"2003-01-01\",\"2003-01-01\",\"2003-01-01\",\"2003-01-01\",\"2003-01-01\",\"2003-01-01\",\"2003-01-01\",\"2003-01-01\",\"2003-01-01\",\"2003-01-01\",\"2003-01-01\",\"2003-01-01\",\"2003-01-01\",\"2003-01-01\",\"2003-01-01\",\"2003-01-01\",\"2003-01-01\",\"2003-01-01\",\"2003-01-01\",\"2003-01-01\",\"2003-01-01\",\"2003-01-01\",\"2003-01-01\",\"2003-01-01\",\"2003-01-01\",\"2003-01-01\",\"2003-01-01\",\"2003-01-01\",\"2003-01-01\",\"2003-01-01\",\"2003-01-01\",\"2003-01-01\",\"2003-01-01\",\"2003-01-01\",\"2003-01-01\",\"2003-01-01\",\"2003-01-01\",\"2003-01-01\",\"2003-01-01\",\"2003-01-01\",\"2003-01-01\",\"2003-01-01\",\"2003-01-01\",\"2003-01-01\",\"2003-01-01\",\"2003-01-01\",\"2003-01-01\",\"2003-01-01\",\"2003-01-01\",\"2003-01-01\",\"2003-01-01\",\"2003-01-01\",\"2003-01-01\",\"2003-01-01\",\"2003-01-01\",\"2003-01-01\",\"2003-01-01\",\"2003-01-01\",\"2003-01-01\",\"2003-01-01\",\"2003-01-01\",\"2003-01-01\",\"2003-01-01\",\"2003-01-01\",\"2003-01-01\",\"2003-01-01\",\"2003-01-01\",\"2003-01-01\",\"2003-01-01\",\"2003-01-01\",\"2003-01-01\",\"2003-01-01\",\"2003-01-01\",\"2003-01-01\",\"2003-01-01\",\"2003-01-01\",\"2003-01-01\",\"2003-01-01\",\"2003-01-01\",\"2003-01-01\",\"2003-01-01\",\"2003-01-01\",\"2003-01-01\",\"2003-01-01\",\"2003-01-01\",\"2003-01-01\",\"2003-01-01\",\"2003-01-01\",\"2003-01-01\",\"2003-01-01\",\"2003-01-01\",\"2003-01-01\",\"2003-01-01\",\"2003-01-01\",\"2003-01-01\",\"2003-01-01\",\"2003-01-01\",\"2003-01-01\",\"2003-01-01\",\"2003-01-01\",\"2003-01-01\",\"2003-01-01\",\"2003-01-01\",\"2003-01-01\",\"2003-01-01\",\"2003-01-01\",\"2003-01-01\",\"2003-01-01\",\"2003-01-01\",\"2003-01-01\",\"2003-01-01\",\"2003-01-01\",\"2003-01-01\",\"2003-01-01\",\"2003-01-01\",\"2003-01-01\",\"2003-01-01\",\"2003-01-01\",\"2003-01-01\",\"2003-01-01\",\"2003-01-01\",\"2003-01-01\",\"2003-01-01\",\"2003-01-01\",\"2003-01-01\",\"2003-01-01\",\"2003-01-01\",\"2003-01-01\",\"2003-01-01\",\"2003-01-01\",\"2003-01-01\",\"2003-01-01\",\"2003-01-01\",\"2003-01-01\",\"2003-01-01\",\"2003-01-01\",\"2003-01-01\",\"2003-01-01\",\"2003-01-01\",\"2003-01-01\",\"2003-01-01\",\"2003-01-01\",\"2003-01-01\",\"2003-01-01\",\"2003-01-01\",\"2003-01-01\",\"2004-01-01\",\"2004-01-01\",\"2004-01-01\",\"2004-01-01\",\"2004-01-01\",\"2004-01-01\",\"2004-01-01\",\"2004-01-01\",\"2004-01-01\",\"2004-01-01\",\"2004-01-01\",\"2004-01-01\",\"2004-01-01\",\"2004-01-01\",\"2004-01-01\",\"2004-01-01\",\"2004-01-01\",\"2004-01-01\",\"2004-01-01\",\"2004-01-01\",\"2004-01-01\",\"2004-01-01\",\"2004-01-01\",\"2004-01-01\",\"2004-01-01\",\"2004-01-01\",\"2004-01-01\",\"2004-01-01\",\"2004-01-01\",\"2004-01-01\",\"2004-01-01\",\"2004-01-01\",\"2004-01-01\",\"2004-01-01\",\"2004-01-01\",\"2004-01-01\",\"2004-01-01\",\"2004-01-01\",\"2004-01-01\",\"2004-01-01\",\"2004-01-01\",\"2004-01-01\",\"2004-01-01\",\"2004-01-01\",\"2004-01-01\",\"2004-01-01\",\"2004-01-01\",\"2004-01-01\",\"2004-01-01\",\"2004-01-01\",\"2004-01-01\",\"2004-01-01\",\"2004-01-01\",\"2004-01-01\",\"2004-01-01\",\"2004-01-01\",\"2004-01-01\",\"2004-01-01\",\"2004-01-01\",\"2004-01-01\",\"2004-01-01\",\"2004-01-01\",\"2004-01-01\",\"2004-01-01\",\"2004-01-01\",\"2004-01-01\",\"2004-01-01\",\"2004-01-01\",\"2004-01-01\",\"2004-01-01\",\"2004-01-01\",\"2004-01-01\",\"2004-01-01\",\"2004-01-01\",\"2004-01-01\",\"2004-01-01\",\"2004-01-01\",\"2004-01-01\",\"2004-01-01\",\"2004-01-01\",\"2004-01-01\",\"2004-01-01\",\"2004-01-01\",\"2004-01-01\",\"2004-01-01\",\"2004-01-01\",\"2004-01-01\",\"2004-01-01\",\"2004-01-01\",\"2004-01-01\",\"2004-01-01\",\"2004-01-01\",\"2004-01-01\",\"2004-01-01\",\"2004-01-01\",\"2004-01-01\",\"2004-01-01\",\"2004-01-01\",\"2004-01-01\",\"2004-01-01\",\"2004-01-01\",\"2004-01-01\",\"2004-01-01\",\"2004-01-01\",\"2004-01-01\",\"2004-01-01\",\"2004-01-01\",\"2004-01-01\",\"2004-01-01\",\"2004-01-01\",\"2004-01-01\",\"2004-01-01\",\"2004-01-01\",\"2004-01-01\",\"2004-01-01\",\"2004-01-01\",\"2004-01-01\",\"2004-01-01\",\"2004-01-01\",\"2004-01-01\",\"2004-01-01\",\"2004-01-01\",\"2004-01-01\",\"2004-01-01\",\"2004-01-01\",\"2004-01-01\",\"2004-01-01\",\"2004-01-01\",\"2004-01-01\",\"2004-01-01\",\"2004-01-01\",\"2004-01-01\",\"2004-01-01\",\"2004-01-01\",\"2004-01-01\",\"2004-01-01\",\"2004-01-01\",\"2004-01-01\",\"2004-01-01\",\"2004-01-01\",\"2004-01-01\",\"2004-01-01\",\"2004-01-01\",\"2004-01-01\",\"2004-01-01\",\"2004-01-01\",\"2004-01-01\",\"2004-01-01\",\"2004-01-01\",\"2004-01-01\",\"2004-01-01\",\"2004-01-01\",\"2004-01-01\",\"2004-01-01\",\"2004-01-01\",\"2004-01-01\",\"2004-01-01\",\"2004-01-01\",\"2004-01-01\",\"2004-01-01\",\"2004-01-01\",\"2004-01-01\",\"2004-01-01\",\"2004-01-01\",\"2004-01-01\",\"2004-01-01\",\"2004-01-01\",\"2004-01-01\",\"2004-01-01\",\"2004-01-01\",\"2004-01-01\",\"2004-01-01\",\"2004-01-01\",\"2004-01-01\",\"2004-01-01\",\"2004-01-01\",\"2004-01-01\",\"2004-01-01\",\"2004-01-01\",\"2004-01-01\",\"2004-01-01\",\"2004-01-01\",\"2004-01-01\",\"2004-01-01\",\"2004-01-01\",\"2004-01-01\",\"2004-01-01\",\"2004-01-01\",\"2004-01-01\",\"2004-01-01\",\"2004-01-01\",\"2004-01-01\",\"2004-01-01\",\"2004-01-01\",\"2004-01-01\",\"2004-01-01\",\"2004-01-01\",\"2004-01-01\",\"2004-01-01\",\"2004-01-01\",\"2004-01-01\",\"2004-01-01\",\"2004-01-01\",\"2004-01-01\",\"2004-01-01\",\"2004-01-01\",\"2004-01-01\",\"2004-01-01\",\"2004-01-01\",\"2004-01-01\",\"2004-01-01\",\"2004-01-01\",\"2004-01-01\",\"2004-01-01\",\"2004-01-01\",\"2004-01-01\",\"2004-01-01\",\"2004-01-01\",\"2004-01-01\",\"2004-01-01\",\"2004-01-01\",\"2004-01-01\",\"2004-01-01\",\"2004-01-01\",\"2004-01-01\",\"2004-01-01\",\"2004-01-01\",\"2004-01-01\",\"2004-01-01\",\"2004-01-01\",\"2004-01-01\",\"2004-01-01\",\"2004-01-01\",\"2004-01-01\",\"2004-01-01\",\"2004-01-01\",\"2004-01-01\",\"2004-01-01\",\"2004-01-01\",\"2004-01-01\",\"2004-01-01\",\"2004-01-01\",\"2004-01-01\",\"2004-01-01\",\"2004-01-01\",\"2004-01-01\",\"2004-01-01\",\"2004-01-01\",\"2004-01-01\",\"2004-01-01\",\"2004-01-01\",\"2004-01-01\",\"2004-01-01\",\"2004-01-01\",\"2004-01-01\",\"2004-01-01\",\"2004-01-01\",\"2004-01-01\",\"2004-01-01\",\"2004-01-01\",\"2004-01-01\",\"2004-01-01\",\"2004-01-01\",\"2004-01-01\",\"2004-01-01\",\"2004-01-01\",\"2004-01-01\",\"2004-01-01\",\"2004-01-01\",\"2004-01-01\",\"2004-01-01\",\"2004-01-01\",\"2004-01-01\",\"2004-01-01\",\"2004-01-01\",\"2004-01-01\",\"2004-01-01\",\"2004-01-01\",\"2004-01-01\",\"2004-01-01\",\"2004-01-01\",\"2004-01-01\",\"2004-01-01\",\"2004-01-01\",\"2004-01-01\",\"2004-01-01\",\"2004-01-01\",\"2004-01-01\",\"2004-01-01\",\"2004-01-01\",\"2004-01-01\",\"2004-01-01\",\"2004-01-01\",\"2004-01-01\",\"2004-01-01\",\"2004-01-01\",\"2004-01-01\",\"2004-01-01\",\"2004-01-01\",\"2005-01-01\",\"2005-01-01\",\"2005-01-01\",\"2005-01-01\",\"2005-01-01\",\"2005-01-01\",\"2005-01-01\",\"2005-01-01\",\"2005-01-01\",\"2005-01-01\",\"2005-01-01\",\"2005-01-01\",\"2005-01-01\",\"2005-01-01\",\"2005-01-01\",\"2005-01-01\",\"2005-01-01\",\"2005-01-01\",\"2005-01-01\",\"2005-01-01\",\"2005-01-01\",\"2005-01-01\",\"2005-01-01\",\"2005-01-01\",\"2005-01-01\",\"2005-01-01\",\"2005-01-01\",\"2005-01-01\",\"2005-01-01\",\"2005-01-01\",\"2005-01-01\",\"2005-01-01\",\"2005-01-01\",\"2005-01-01\",\"2005-01-01\",\"2005-01-01\",\"2005-01-01\",\"2005-01-01\",\"2005-01-01\",\"2005-01-01\",\"2005-01-01\",\"2005-01-01\",\"2005-01-01\",\"2005-01-01\",\"2005-01-01\",\"2005-01-01\",\"2005-01-01\",\"2005-01-01\",\"2005-01-01\",\"2005-01-01\",\"2005-01-01\",\"2005-01-01\",\"2005-01-01\",\"2005-01-01\",\"2005-01-01\",\"2005-01-01\",\"2005-01-01\",\"2005-01-01\",\"2005-01-01\",\"2005-01-01\",\"2005-01-01\",\"2005-01-01\",\"2005-01-01\",\"2005-01-01\",\"2005-01-01\",\"2005-01-01\",\"2005-01-01\",\"2005-01-01\",\"2005-01-01\",\"2005-01-01\",\"2005-01-01\",\"2005-01-01\",\"2005-01-01\",\"2005-01-01\",\"2005-01-01\",\"2005-01-01\",\"2005-01-01\",\"2005-01-01\",\"2005-01-01\",\"2005-01-01\",\"2005-01-01\",\"2005-01-01\",\"2005-01-01\",\"2005-01-01\",\"2005-01-01\",\"2005-01-01\",\"2005-01-01\",\"2005-01-01\",\"2005-01-01\",\"2005-01-01\",\"2005-01-01\",\"2005-01-01\",\"2005-01-01\",\"2005-01-01\",\"2005-01-01\",\"2005-01-01\",\"2005-01-01\",\"2005-01-01\",\"2005-01-01\",\"2005-01-01\",\"2005-01-01\",\"2005-01-01\",\"2005-01-01\",\"2005-01-01\",\"2005-01-01\",\"2005-01-01\",\"2005-01-01\",\"2005-01-01\",\"2005-01-01\",\"2005-01-01\",\"2005-01-01\",\"2005-01-01\",\"2005-01-01\",\"2005-01-01\",\"2005-01-01\",\"2005-01-01\",\"2005-01-01\",\"2005-01-01\",\"2005-01-01\",\"2005-01-01\",\"2005-01-01\",\"2005-01-01\",\"2005-01-01\",\"2005-01-01\",\"2005-01-01\",\"2005-01-01\",\"2005-01-01\",\"2005-01-01\",\"2005-01-01\",\"2005-01-01\",\"2005-01-01\",\"2005-01-01\",\"2005-01-01\",\"2005-01-01\",\"2005-01-01\",\"2005-01-01\",\"2005-01-01\",\"2005-01-01\",\"2005-01-01\",\"2005-01-01\",\"2005-01-01\",\"2005-01-01\",\"2005-01-01\",\"2005-01-01\",\"2005-01-01\",\"2005-01-01\",\"2005-01-01\",\"2005-01-01\",\"2005-01-01\",\"2005-01-01\",\"2005-01-01\",\"2005-01-01\",\"2005-01-01\",\"2005-01-01\",\"2005-01-01\",\"2005-01-01\",\"2005-01-01\",\"2005-01-01\",\"2005-01-01\",\"2005-01-01\",\"2005-01-01\",\"2005-01-01\",\"2005-01-01\",\"2005-01-01\",\"2005-01-01\",\"2005-01-01\",\"2005-01-01\",\"2005-01-01\",\"2005-01-01\",\"2005-01-01\",\"2005-01-01\",\"2005-01-01\",\"2005-01-01\",\"2005-01-01\",\"2005-01-01\",\"2005-01-01\",\"2005-01-01\",\"2005-01-01\",\"2005-01-01\",\"2005-01-01\",\"2005-01-01\",\"2005-01-01\",\"2005-01-01\",\"2005-01-01\",\"2005-01-01\",\"2005-01-01\",\"2005-01-01\",\"2005-01-01\",\"2005-01-01\",\"2005-01-01\",\"2005-01-01\",\"2005-01-01\",\"2005-01-01\",\"2005-01-01\",\"2005-01-01\",\"2005-01-01\",\"2005-01-01\",\"2005-01-01\",\"2005-01-01\",\"2005-01-01\",\"2005-01-01\",\"2005-01-01\",\"2005-01-01\",\"2005-01-01\",\"2005-01-01\",\"2005-01-01\",\"2005-01-01\",\"2005-01-01\",\"2005-01-01\",\"2005-01-01\",\"2005-01-01\",\"2005-01-01\",\"2005-01-01\",\"2005-01-01\",\"2005-01-01\",\"2005-01-01\",\"2005-01-01\",\"2005-01-01\",\"2005-01-01\",\"2005-01-01\",\"2005-01-01\",\"2005-01-01\",\"2005-01-01\",\"2005-01-01\",\"2005-01-01\",\"2005-01-01\",\"2005-01-01\",\"2005-01-01\",\"2005-01-01\",\"2005-01-01\",\"2005-01-01\",\"2005-01-01\",\"2005-01-01\",\"2005-01-01\",\"2005-01-01\",\"2005-01-01\",\"2005-01-01\",\"2005-01-01\",\"2005-01-01\",\"2005-01-01\",\"2005-01-01\",\"2005-01-01\",\"2005-01-01\",\"2005-01-01\",\"2005-01-01\",\"2005-01-01\",\"2005-01-01\",\"2005-01-01\",\"2005-01-01\",\"2005-01-01\",\"2005-01-01\",\"2005-01-01\",\"2005-01-01\",\"2005-01-01\",\"2005-01-01\",\"2005-01-01\",\"2005-01-01\",\"2005-01-01\",\"2005-01-01\",\"2005-01-01\",\"2005-01-01\",\"2005-01-01\",\"2005-01-01\",\"2005-01-01\",\"2005-01-01\",\"2005-01-01\",\"2005-01-01\",\"2005-01-01\",\"2005-01-01\",\"2005-01-01\",\"2005-01-01\",\"2005-01-01\",\"2005-01-01\",\"2005-01-01\",\"2005-01-01\",\"2005-01-01\",\"2005-01-01\",\"2005-01-01\",\"2005-01-01\",\"2005-01-01\",\"2005-01-01\",\"2005-01-01\",\"2005-01-01\",\"2005-01-01\",\"2005-01-01\",\"2005-01-01\",\"2005-01-01\",\"2005-01-01\",\"2005-01-01\",\"2005-01-01\",\"2005-01-01\",\"2005-01-01\",\"2005-01-01\",\"2005-01-01\",\"2005-01-01\",\"2005-01-01\",\"2005-01-01\",\"2005-01-01\",\"2005-01-01\",\"2006-01-01\",\"2006-01-01\",\"2006-01-01\",\"2006-01-01\",\"2006-01-01\",\"2006-01-01\",\"2006-01-01\",\"2006-01-01\",\"2006-01-01\",\"2006-01-01\",\"2006-01-01\",\"2006-01-01\",\"2006-01-01\",\"2006-01-01\",\"2006-01-01\",\"2006-01-01\",\"2006-01-01\",\"2006-01-01\",\"2006-01-01\",\"2006-01-01\",\"2006-01-01\",\"2006-01-01\",\"2006-01-01\",\"2006-01-01\",\"2006-01-01\",\"2006-01-01\",\"2006-01-01\",\"2006-01-01\",\"2006-01-01\",\"2006-01-01\",\"2006-01-01\",\"2006-01-01\",\"2006-01-01\",\"2006-01-01\",\"2006-01-01\",\"2006-01-01\",\"2006-01-01\",\"2006-01-01\",\"2006-01-01\",\"2006-01-01\",\"2006-01-01\",\"2006-01-01\",\"2006-01-01\",\"2006-01-01\",\"2006-01-01\",\"2006-01-01\",\"2006-01-01\",\"2006-01-01\",\"2006-01-01\",\"2006-01-01\",\"2006-01-01\",\"2006-01-01\",\"2006-01-01\",\"2006-01-01\",\"2006-01-01\",\"2006-01-01\",\"2006-01-01\",\"2006-01-01\",\"2006-01-01\",\"2006-01-01\",\"2006-01-01\",\"2006-01-01\",\"2006-01-01\",\"2006-01-01\",\"2006-01-01\",\"2006-01-01\",\"2006-01-01\",\"2006-01-01\",\"2006-01-01\",\"2006-01-01\",\"2006-01-01\",\"2006-01-01\",\"2006-01-01\",\"2006-01-01\",\"2006-01-01\",\"2006-01-01\",\"2006-01-01\",\"2006-01-01\",\"2006-01-01\",\"2006-01-01\",\"2006-01-01\",\"2006-01-01\",\"2006-01-01\",\"2006-01-01\",\"2006-01-01\",\"2006-01-01\",\"2006-01-01\",\"2006-01-01\",\"2006-01-01\",\"2006-01-01\",\"2006-01-01\",\"2006-01-01\",\"2006-01-01\",\"2006-01-01\",\"2006-01-01\",\"2006-01-01\",\"2006-01-01\",\"2006-01-01\",\"2006-01-01\",\"2006-01-01\",\"2006-01-01\",\"2006-01-01\",\"2006-01-01\",\"2006-01-01\",\"2006-01-01\",\"2006-01-01\",\"2006-01-01\",\"2006-01-01\",\"2006-01-01\",\"2006-01-01\",\"2006-01-01\",\"2006-01-01\",\"2006-01-01\",\"2006-01-01\",\"2006-01-01\",\"2006-01-01\",\"2006-01-01\",\"2006-01-01\",\"2006-01-01\",\"2006-01-01\",\"2006-01-01\",\"2006-01-01\",\"2006-01-01\",\"2006-01-01\",\"2006-01-01\",\"2006-01-01\",\"2006-01-01\",\"2006-01-01\",\"2006-01-01\",\"2006-01-01\",\"2006-01-01\",\"2006-01-01\",\"2006-01-01\",\"2006-01-01\",\"2006-01-01\",\"2006-01-01\",\"2006-01-01\",\"2006-01-01\",\"2006-01-01\",\"2006-01-01\",\"2006-01-01\",\"2006-01-01\",\"2006-01-01\",\"2006-01-01\",\"2006-01-01\",\"2006-01-01\",\"2006-01-01\",\"2006-01-01\",\"2006-01-01\",\"2006-01-01\",\"2006-01-01\",\"2006-01-01\",\"2006-01-01\",\"2006-01-01\",\"2006-01-01\",\"2006-01-01\",\"2006-01-01\",\"2006-01-01\",\"2006-01-01\",\"2006-01-01\",\"2006-01-01\",\"2006-01-01\",\"2006-01-01\",\"2006-01-01\",\"2006-01-01\",\"2006-01-01\",\"2006-01-01\",\"2006-01-01\",\"2006-01-01\",\"2006-01-01\",\"2006-01-01\",\"2006-01-01\",\"2006-01-01\",\"2006-01-01\",\"2006-01-01\",\"2006-01-01\",\"2006-01-01\",\"2006-01-01\",\"2006-01-01\",\"2006-01-01\",\"2006-01-01\",\"2006-01-01\",\"2006-01-01\",\"2006-01-01\",\"2006-01-01\",\"2006-01-01\",\"2006-01-01\",\"2006-01-01\",\"2006-01-01\",\"2006-01-01\",\"2006-01-01\",\"2006-01-01\",\"2006-01-01\",\"2006-01-01\",\"2006-01-01\",\"2006-01-01\",\"2006-01-01\",\"2006-01-01\",\"2006-01-01\",\"2006-01-01\",\"2006-01-01\",\"2006-01-01\",\"2006-01-01\",\"2006-01-01\",\"2006-01-01\",\"2006-01-01\",\"2006-01-01\",\"2006-01-01\",\"2006-01-01\",\"2006-01-01\",\"2006-01-01\",\"2006-01-01\",\"2006-01-01\",\"2006-01-01\",\"2006-01-01\",\"2006-01-01\",\"2006-01-01\",\"2006-01-01\",\"2006-01-01\",\"2006-01-01\",\"2006-01-01\",\"2006-01-01\",\"2006-01-01\",\"2006-01-01\",\"2006-01-01\",\"2006-01-01\",\"2006-01-01\",\"2006-01-01\",\"2006-01-01\",\"2006-01-01\",\"2006-01-01\",\"2006-01-01\",\"2006-01-01\",\"2006-01-01\",\"2006-01-01\",\"2006-01-01\",\"2006-01-01\",\"2006-01-01\",\"2006-01-01\",\"2006-01-01\",\"2006-01-01\",\"2006-01-01\",\"2006-01-01\",\"2006-01-01\",\"2006-01-01\",\"2006-01-01\",\"2006-01-01\",\"2006-01-01\",\"2006-01-01\",\"2006-01-01\",\"2006-01-01\",\"2006-01-01\",\"2006-01-01\",\"2006-01-01\",\"2006-01-01\",\"2006-01-01\",\"2006-01-01\",\"2006-01-01\",\"2006-01-01\",\"2006-01-01\",\"2006-01-01\",\"2006-01-01\",\"2006-01-01\",\"2006-01-01\",\"2006-01-01\",\"2006-01-01\",\"2006-01-01\",\"2006-01-01\",\"2006-01-01\",\"2006-01-01\",\"2006-01-01\",\"2006-01-01\",\"2006-01-01\",\"2006-01-01\",\"2006-01-01\",\"2006-01-01\",\"2006-01-01\",\"2006-01-01\",\"2006-01-01\",\"2006-01-01\",\"2006-01-01\",\"2006-01-01\",\"2006-01-01\",\"2006-01-01\",\"2006-01-01\",\"2006-01-01\",\"2006-01-01\",\"2006-01-01\",\"2006-01-01\",\"2006-01-01\",\"2006-01-01\",\"2006-01-01\",\"2006-01-01\",\"2006-01-01\",\"2006-01-01\",\"2006-01-01\",\"2006-01-01\",\"2006-01-01\",\"2006-01-01\",\"2007-01-01\",\"2007-01-01\",\"2007-01-01\",\"2007-01-01\",\"2007-01-01\",\"2007-01-01\",\"2007-01-01\",\"2007-01-01\",\"2007-01-01\",\"2007-01-01\",\"2007-01-01\",\"2007-01-01\",\"2007-01-01\",\"2007-01-01\",\"2007-01-01\",\"2007-01-01\",\"2007-01-01\",\"2007-01-01\",\"2007-01-01\",\"2007-01-01\",\"2007-01-01\",\"2007-01-01\",\"2007-01-01\",\"2007-01-01\",\"2007-01-01\",\"2007-01-01\",\"2007-01-01\",\"2007-01-01\",\"2007-01-01\",\"2007-01-01\",\"2007-01-01\",\"2007-01-01\",\"2007-01-01\",\"2007-01-01\",\"2007-01-01\",\"2007-01-01\",\"2007-01-01\",\"2007-01-01\",\"2007-01-01\",\"2007-01-01\",\"2007-01-01\",\"2007-01-01\",\"2007-01-01\",\"2007-01-01\",\"2007-01-01\",\"2007-01-01\",\"2007-01-01\",\"2007-01-01\",\"2007-01-01\",\"2007-01-01\",\"2007-01-01\",\"2007-01-01\",\"2007-01-01\",\"2007-01-01\",\"2007-01-01\",\"2007-01-01\",\"2007-01-01\",\"2007-01-01\",\"2007-01-01\",\"2007-01-01\",\"2007-01-01\",\"2007-01-01\",\"2007-01-01\",\"2007-01-01\",\"2007-01-01\",\"2007-01-01\",\"2007-01-01\",\"2007-01-01\",\"2007-01-01\",\"2007-01-01\",\"2007-01-01\",\"2007-01-01\",\"2007-01-01\",\"2007-01-01\",\"2007-01-01\",\"2007-01-01\",\"2007-01-01\",\"2007-01-01\",\"2007-01-01\",\"2007-01-01\",\"2007-01-01\",\"2007-01-01\",\"2007-01-01\",\"2007-01-01\",\"2007-01-01\",\"2007-01-01\",\"2007-01-01\",\"2007-01-01\",\"2007-01-01\",\"2007-01-01\",\"2007-01-01\",\"2007-01-01\",\"2007-01-01\",\"2007-01-01\",\"2007-01-01\",\"2007-01-01\",\"2007-01-01\",\"2007-01-01\",\"2007-01-01\",\"2007-01-01\",\"2007-01-01\",\"2007-01-01\",\"2007-01-01\",\"2007-01-01\",\"2007-01-01\",\"2007-01-01\",\"2007-01-01\",\"2007-01-01\",\"2007-01-01\",\"2007-01-01\",\"2007-01-01\",\"2007-01-01\",\"2007-01-01\",\"2007-01-01\",\"2007-01-01\",\"2007-01-01\",\"2007-01-01\",\"2007-01-01\",\"2007-01-01\",\"2007-01-01\",\"2007-01-01\",\"2007-01-01\",\"2007-01-01\",\"2007-01-01\",\"2007-01-01\",\"2007-01-01\",\"2007-01-01\",\"2007-01-01\",\"2007-01-01\",\"2007-01-01\",\"2007-01-01\",\"2007-01-01\",\"2007-01-01\",\"2007-01-01\",\"2007-01-01\",\"2007-01-01\",\"2007-01-01\",\"2007-01-01\",\"2007-01-01\",\"2007-01-01\",\"2007-01-01\",\"2007-01-01\",\"2007-01-01\",\"2007-01-01\",\"2007-01-01\",\"2007-01-01\",\"2007-01-01\",\"2007-01-01\",\"2007-01-01\",\"2007-01-01\",\"2007-01-01\",\"2007-01-01\",\"2007-01-01\",\"2007-01-01\",\"2007-01-01\",\"2007-01-01\",\"2007-01-01\",\"2007-01-01\",\"2007-01-01\",\"2007-01-01\",\"2007-01-01\",\"2007-01-01\",\"2007-01-01\",\"2007-01-01\",\"2007-01-01\",\"2007-01-01\",\"2007-01-01\",\"2007-01-01\",\"2007-01-01\",\"2007-01-01\",\"2007-01-01\",\"2007-01-01\",\"2007-01-01\",\"2007-01-01\",\"2007-01-01\",\"2007-01-01\",\"2007-01-01\",\"2007-01-01\",\"2007-01-01\",\"2007-01-01\",\"2007-01-01\",\"2007-01-01\",\"2007-01-01\",\"2007-01-01\",\"2007-01-01\",\"2007-01-01\",\"2007-01-01\",\"2007-01-01\",\"2007-01-01\",\"2007-01-01\",\"2007-01-01\",\"2007-01-01\",\"2007-01-01\",\"2007-01-01\",\"2007-01-01\",\"2007-01-01\",\"2007-01-01\",\"2007-01-01\",\"2007-01-01\",\"2007-01-01\",\"2007-01-01\",\"2007-01-01\",\"2007-01-01\",\"2007-01-01\",\"2007-01-01\",\"2007-01-01\",\"2007-01-01\",\"2007-01-01\",\"2007-01-01\",\"2007-01-01\",\"2007-01-01\",\"2007-01-01\",\"2007-01-01\",\"2007-01-01\",\"2007-01-01\",\"2007-01-01\",\"2007-01-01\",\"2007-01-01\",\"2007-01-01\",\"2007-01-01\",\"2007-01-01\",\"2007-01-01\",\"2007-01-01\",\"2007-01-01\",\"2007-01-01\",\"2007-01-01\",\"2007-01-01\",\"2007-01-01\",\"2007-01-01\",\"2007-01-01\",\"2007-01-01\",\"2007-01-01\",\"2007-01-01\",\"2007-01-01\",\"2007-01-01\",\"2007-01-01\",\"2007-01-01\",\"2007-01-01\",\"2007-01-01\",\"2007-01-01\",\"2007-01-01\",\"2007-01-01\",\"2007-01-01\",\"2007-01-01\",\"2007-01-01\",\"2007-01-01\",\"2007-01-01\",\"2007-01-01\",\"2007-01-01\",\"2007-01-01\",\"2007-01-01\",\"2007-01-01\",\"2007-01-01\",\"2007-01-01\",\"2007-01-01\",\"2007-01-01\",\"2007-01-01\",\"2007-01-01\",\"2007-01-01\",\"2007-01-01\",\"2007-01-01\",\"2007-01-01\",\"2007-01-01\",\"2007-01-01\",\"2007-01-01\",\"2007-01-01\",\"2007-01-01\",\"2007-01-01\",\"2007-01-01\",\"2007-01-01\",\"2007-01-01\",\"2007-01-01\",\"2007-01-01\",\"2007-01-01\",\"2007-01-01\",\"2007-01-01\",\"2007-01-01\",\"2007-01-01\",\"2007-01-01\",\"2007-01-01\",\"2007-01-01\",\"2007-01-01\",\"2007-01-01\",\"2007-01-01\",\"2007-01-01\",\"2007-01-01\",\"2007-01-01\",\"2007-01-01\",\"2007-01-01\",\"2007-01-01\",\"2007-01-01\",\"2007-01-01\",\"2007-01-01\",\"2007-01-01\",\"2007-01-01\",\"2007-01-01\",\"2007-01-01\",\"2007-01-01\",\"2007-01-01\",\"2008-01-01\",\"2008-01-01\",\"2008-01-01\",\"2008-01-01\",\"2008-01-01\",\"2008-01-01\",\"2008-01-01\",\"2008-01-01\",\"2008-01-01\",\"2008-01-01\",\"2008-01-01\",\"2008-01-01\",\"2008-01-01\",\"2008-01-01\",\"2008-01-01\",\"2008-01-01\",\"2008-01-01\",\"2008-01-01\",\"2008-01-01\",\"2008-01-01\",\"2008-01-01\",\"2008-01-01\",\"2008-01-01\",\"2008-01-01\",\"2008-01-01\",\"2008-01-01\",\"2008-01-01\",\"2008-01-01\",\"2008-01-01\",\"2008-01-01\",\"2008-01-01\",\"2008-01-01\",\"2008-01-01\",\"2008-01-01\",\"2008-01-01\",\"2008-01-01\",\"2008-01-01\",\"2008-01-01\",\"2008-01-01\",\"2008-01-01\",\"2008-01-01\",\"2008-01-01\",\"2008-01-01\",\"2008-01-01\",\"2008-01-01\",\"2008-01-01\",\"2008-01-01\",\"2008-01-01\",\"2008-01-01\",\"2008-01-01\",\"2008-01-01\",\"2008-01-01\",\"2008-01-01\",\"2008-01-01\",\"2008-01-01\",\"2008-01-01\",\"2008-01-01\",\"2008-01-01\",\"2008-01-01\",\"2008-01-01\",\"2008-01-01\",\"2008-01-01\",\"2008-01-01\",\"2008-01-01\",\"2008-01-01\",\"2008-01-01\",\"2008-01-01\",\"2008-01-01\",\"2008-01-01\",\"2008-01-01\",\"2008-01-01\",\"2008-01-01\",\"2008-01-01\",\"2008-01-01\",\"2008-01-01\",\"2008-01-01\",\"2008-01-01\",\"2008-01-01\",\"2008-01-01\",\"2008-01-01\",\"2008-01-01\",\"2008-01-01\",\"2008-01-01\",\"2008-01-01\",\"2008-01-01\",\"2008-01-01\",\"2008-01-01\",\"2008-01-01\",\"2008-01-01\",\"2008-01-01\",\"2008-01-01\",\"2008-01-01\",\"2008-01-01\",\"2008-01-01\",\"2008-01-01\",\"2008-01-01\",\"2008-01-01\",\"2008-01-01\",\"2008-01-01\",\"2008-01-01\",\"2008-01-01\",\"2008-01-01\",\"2008-01-01\",\"2008-01-01\",\"2008-01-01\",\"2008-01-01\",\"2008-01-01\",\"2008-01-01\",\"2008-01-01\",\"2008-01-01\",\"2008-01-01\",\"2008-01-01\",\"2008-01-01\",\"2008-01-01\",\"2008-01-01\",\"2008-01-01\",\"2008-01-01\",\"2008-01-01\",\"2008-01-01\",\"2008-01-01\",\"2008-01-01\",\"2008-01-01\",\"2008-01-01\",\"2008-01-01\",\"2008-01-01\",\"2008-01-01\",\"2008-01-01\",\"2008-01-01\",\"2008-01-01\",\"2008-01-01\",\"2008-01-01\",\"2008-01-01\",\"2008-01-01\",\"2008-01-01\",\"2008-01-01\",\"2008-01-01\",\"2008-01-01\",\"2008-01-01\",\"2008-01-01\",\"2008-01-01\",\"2008-01-01\",\"2008-01-01\",\"2008-01-01\",\"2008-01-01\",\"2008-01-01\",\"2008-01-01\",\"2008-01-01\",\"2008-01-01\",\"2008-01-01\",\"2008-01-01\",\"2008-01-01\",\"2008-01-01\",\"2008-01-01\",\"2008-01-01\",\"2008-01-01\",\"2008-01-01\",\"2008-01-01\",\"2008-01-01\",\"2008-01-01\",\"2008-01-01\",\"2008-01-01\",\"2008-01-01\",\"2008-01-01\",\"2008-01-01\",\"2008-01-01\",\"2008-01-01\",\"2008-01-01\",\"2008-01-01\",\"2008-01-01\",\"2008-01-01\",\"2008-01-01\",\"2008-01-01\",\"2008-01-01\",\"2008-01-01\",\"2008-01-01\",\"2008-01-01\",\"2008-01-01\",\"2008-01-01\",\"2008-01-01\",\"2008-01-01\",\"2008-01-01\",\"2008-01-01\",\"2008-01-01\",\"2008-01-01\",\"2008-01-01\",\"2008-01-01\",\"2008-01-01\",\"2008-01-01\",\"2008-01-01\",\"2008-01-01\",\"2008-01-01\",\"2008-01-01\",\"2008-01-01\",\"2008-01-01\",\"2008-01-01\",\"2008-01-01\",\"2008-01-01\",\"2008-01-01\",\"2008-01-01\",\"2008-01-01\",\"2008-01-01\",\"2008-01-01\",\"2008-01-01\",\"2008-01-01\",\"2008-01-01\",\"2008-01-01\",\"2008-01-01\",\"2008-01-01\",\"2008-01-01\",\"2008-01-01\",\"2008-01-01\",\"2008-01-01\",\"2008-01-01\",\"2008-01-01\",\"2008-01-01\",\"2008-01-01\",\"2008-01-01\",\"2008-01-01\",\"2008-01-01\",\"2008-01-01\",\"2008-01-01\",\"2008-01-01\",\"2008-01-01\",\"2008-01-01\",\"2008-01-01\",\"2008-01-01\",\"2008-01-01\",\"2008-01-01\",\"2008-01-01\",\"2008-01-01\",\"2008-01-01\",\"2008-01-01\",\"2008-01-01\",\"2008-01-01\",\"2008-01-01\",\"2008-01-01\",\"2008-01-01\",\"2008-01-01\",\"2008-01-01\",\"2008-01-01\",\"2008-01-01\",\"2008-01-01\",\"2008-01-01\",\"2008-01-01\",\"2008-01-01\",\"2008-01-01\",\"2008-01-01\",\"2008-01-01\",\"2008-01-01\",\"2008-01-01\",\"2008-01-01\",\"2008-01-01\",\"2008-01-01\",\"2008-01-01\",\"2008-01-01\",\"2008-01-01\",\"2008-01-01\",\"2008-01-01\",\"2008-01-01\",\"2008-01-01\",\"2008-01-01\",\"2008-01-01\",\"2008-01-01\",\"2008-01-01\",\"2008-01-01\",\"2008-01-01\",\"2008-01-01\",\"2008-01-01\",\"2008-01-01\",\"2008-01-01\",\"2008-01-01\",\"2008-01-01\",\"2008-01-01\",\"2008-01-01\",\"2008-01-01\",\"2008-01-01\",\"2008-01-01\",\"2008-01-01\",\"2008-01-01\",\"2008-01-01\",\"2008-01-01\",\"2008-01-01\",\"2008-01-01\",\"2008-01-01\",\"2008-01-01\",\"2008-01-01\",\"2008-01-01\",\"2008-01-01\",\"2008-01-01\",\"2008-01-01\",\"2008-01-01\",\"2008-01-01\",\"2008-01-01\",\"2008-01-01\",\"2008-01-01\",\"2008-01-01\",\"2008-01-01\",\"2008-01-01\",\"2008-01-01\",\"2009-01-01\",\"2009-01-01\",\"2009-01-01\",\"2009-01-01\",\"2009-01-01\",\"2009-01-01\",\"2009-01-01\",\"2009-01-01\",\"2009-01-01\",\"2009-01-01\",\"2009-01-01\",\"2009-01-01\",\"2009-01-01\",\"2009-01-01\",\"2009-01-01\",\"2009-01-01\",\"2009-01-01\",\"2009-01-01\",\"2009-01-01\",\"2009-01-01\",\"2009-01-01\",\"2009-01-01\",\"2009-01-01\",\"2009-01-01\",\"2009-01-01\",\"2009-01-01\",\"2009-01-01\",\"2009-01-01\",\"2009-01-01\",\"2009-01-01\",\"2009-01-01\",\"2009-01-01\",\"2009-01-01\",\"2009-01-01\",\"2009-01-01\",\"2009-01-01\",\"2009-01-01\",\"2009-01-01\",\"2009-01-01\",\"2009-01-01\",\"2009-01-01\",\"2009-01-01\",\"2009-01-01\",\"2009-01-01\",\"2009-01-01\",\"2009-01-01\",\"2009-01-01\",\"2009-01-01\",\"2009-01-01\",\"2009-01-01\",\"2009-01-01\",\"2009-01-01\",\"2009-01-01\",\"2009-01-01\",\"2009-01-01\",\"2009-01-01\",\"2009-01-01\",\"2009-01-01\",\"2009-01-01\",\"2009-01-01\",\"2009-01-01\",\"2009-01-01\",\"2009-01-01\",\"2009-01-01\",\"2009-01-01\",\"2009-01-01\",\"2009-01-01\",\"2009-01-01\",\"2009-01-01\",\"2009-01-01\",\"2009-01-01\",\"2009-01-01\",\"2009-01-01\",\"2009-01-01\",\"2009-01-01\",\"2009-01-01\",\"2009-01-01\",\"2009-01-01\",\"2009-01-01\",\"2009-01-01\",\"2009-01-01\",\"2009-01-01\",\"2009-01-01\",\"2009-01-01\",\"2009-01-01\",\"2009-01-01\",\"2009-01-01\",\"2009-01-01\",\"2009-01-01\",\"2009-01-01\",\"2009-01-01\",\"2009-01-01\",\"2009-01-01\",\"2009-01-01\",\"2009-01-01\",\"2009-01-01\",\"2009-01-01\",\"2009-01-01\",\"2009-01-01\",\"2009-01-01\",\"2009-01-01\",\"2009-01-01\",\"2009-01-01\",\"2009-01-01\",\"2009-01-01\",\"2009-01-01\",\"2009-01-01\",\"2009-01-01\",\"2009-01-01\",\"2009-01-01\",\"2009-01-01\",\"2009-01-01\",\"2009-01-01\",\"2009-01-01\",\"2009-01-01\",\"2009-01-01\",\"2009-01-01\",\"2009-01-01\",\"2009-01-01\",\"2009-01-01\",\"2009-01-01\",\"2009-01-01\",\"2009-01-01\",\"2009-01-01\",\"2009-01-01\",\"2009-01-01\",\"2009-01-01\",\"2009-01-01\",\"2009-01-01\",\"2009-01-01\",\"2009-01-01\",\"2009-01-01\",\"2009-01-01\",\"2009-01-01\",\"2009-01-01\",\"2009-01-01\",\"2009-01-01\",\"2009-01-01\",\"2009-01-01\",\"2009-01-01\",\"2009-01-01\",\"2009-01-01\",\"2009-01-01\",\"2009-01-01\",\"2009-01-01\",\"2009-01-01\",\"2009-01-01\",\"2009-01-01\",\"2009-01-01\",\"2009-01-01\",\"2009-01-01\",\"2009-01-01\",\"2009-01-01\",\"2009-01-01\",\"2009-01-01\",\"2009-01-01\",\"2009-01-01\",\"2009-01-01\",\"2009-01-01\",\"2009-01-01\",\"2009-01-01\",\"2009-01-01\",\"2009-01-01\",\"2009-01-01\",\"2009-01-01\",\"2009-01-01\",\"2009-01-01\",\"2009-01-01\",\"2009-01-01\",\"2009-01-01\",\"2009-01-01\",\"2009-01-01\",\"2009-01-01\",\"2009-01-01\",\"2009-01-01\",\"2009-01-01\",\"2009-01-01\",\"2009-01-01\",\"2009-01-01\",\"2009-01-01\",\"2009-01-01\",\"2009-01-01\",\"2009-01-01\",\"2009-01-01\",\"2009-01-01\",\"2009-01-01\",\"2009-01-01\",\"2009-01-01\",\"2009-01-01\",\"2009-01-01\",\"2009-01-01\",\"2009-01-01\",\"2009-01-01\",\"2009-01-01\",\"2009-01-01\",\"2009-01-01\",\"2009-01-01\",\"2009-01-01\",\"2009-01-01\",\"2009-01-01\",\"2009-01-01\",\"2009-01-01\",\"2009-01-01\",\"2009-01-01\",\"2009-01-01\",\"2009-01-01\",\"2009-01-01\",\"2009-01-01\",\"2009-01-01\",\"2009-01-01\",\"2009-01-01\",\"2009-01-01\",\"2009-01-01\",\"2009-01-01\",\"2009-01-01\",\"2009-01-01\",\"2009-01-01\",\"2009-01-01\",\"2009-01-01\",\"2009-01-01\",\"2009-01-01\",\"2009-01-01\",\"2009-01-01\",\"2009-01-01\",\"2009-01-01\",\"2009-01-01\",\"2009-01-01\",\"2009-01-01\",\"2009-01-01\",\"2009-01-01\",\"2009-01-01\",\"2009-01-01\",\"2009-01-01\",\"2009-01-01\",\"2009-01-01\",\"2009-01-01\",\"2009-01-01\",\"2009-01-01\",\"2009-01-01\",\"2009-01-01\",\"2009-01-01\",\"2009-01-01\",\"2009-01-01\",\"2009-01-01\",\"2009-01-01\",\"2009-01-01\",\"2009-01-01\",\"2009-01-01\",\"2009-01-01\",\"2009-01-01\",\"2009-01-01\",\"2009-01-01\",\"2009-01-01\",\"2009-01-01\",\"2009-01-01\",\"2009-01-01\",\"2009-01-01\",\"2009-01-01\",\"2009-01-01\",\"2009-01-01\",\"2009-01-01\",\"2009-01-01\",\"2009-01-01\",\"2009-01-01\",\"2009-01-01\",\"2009-01-01\",\"2009-01-01\",\"2009-01-01\",\"2009-01-01\",\"2009-01-01\",\"2009-01-01\",\"2009-01-01\",\"2009-01-01\",\"2009-01-01\",\"2009-01-01\",\"2009-01-01\",\"2009-01-01\",\"2009-01-01\",\"2009-01-01\",\"2009-01-01\",\"2009-01-01\",\"2009-01-01\",\"2009-01-01\",\"2009-01-01\",\"2009-01-01\",\"2009-01-01\",\"2009-01-01\",\"2009-01-01\",\"2009-01-01\",\"2009-01-01\",\"2009-01-01\",\"2009-01-01\",\"2009-01-01\",\"2009-01-01\",\"2009-01-01\",\"2009-01-01\",\"2009-01-01\",\"2009-01-01\",\"2009-01-01\",\"2010-01-01\",\"2010-01-01\",\"2010-01-01\",\"2010-01-01\",\"2010-01-01\",\"2010-01-01\",\"2010-01-01\",\"2010-01-01\",\"2010-01-01\",\"2010-01-01\",\"2010-01-01\",\"2010-01-01\",\"2010-01-01\",\"2010-01-01\",\"2010-01-01\",\"2010-01-01\",\"2010-01-01\",\"2010-01-01\",\"2010-01-01\",\"2010-01-01\",\"2010-01-01\",\"2010-01-01\",\"2010-01-01\",\"2010-01-01\",\"2010-01-01\",\"2010-01-01\",\"2010-01-01\",\"2010-01-01\",\"2010-01-01\",\"2010-01-01\",\"2010-01-01\",\"2010-01-01\",\"2010-01-01\",\"2010-01-01\",\"2010-01-01\",\"2010-01-01\",\"2010-01-01\",\"2010-01-01\",\"2010-01-01\",\"2010-01-01\",\"2010-01-01\",\"2010-01-01\",\"2010-01-01\",\"2010-01-01\",\"2010-01-01\",\"2010-01-01\",\"2010-01-01\",\"2010-01-01\",\"2010-01-01\",\"2010-01-01\",\"2010-01-01\",\"2010-01-01\",\"2010-01-01\",\"2010-01-01\",\"2010-01-01\",\"2010-01-01\",\"2010-01-01\",\"2010-01-01\",\"2010-01-01\",\"2010-01-01\",\"2010-01-01\",\"2010-01-01\",\"2010-01-01\",\"2010-01-01\",\"2010-01-01\",\"2010-01-01\",\"2010-01-01\",\"2010-01-01\",\"2010-01-01\",\"2010-01-01\",\"2010-01-01\",\"2010-01-01\",\"2010-01-01\",\"2010-01-01\",\"2010-01-01\",\"2010-01-01\",\"2010-01-01\",\"2010-01-01\",\"2010-01-01\",\"2010-01-01\",\"2010-01-01\",\"2010-01-01\",\"2010-01-01\",\"2010-01-01\",\"2010-01-01\",\"2010-01-01\",\"2010-01-01\",\"2010-01-01\",\"2010-01-01\",\"2010-01-01\",\"2010-01-01\",\"2010-01-01\",\"2010-01-01\",\"2010-01-01\",\"2010-01-01\",\"2010-01-01\",\"2010-01-01\",\"2010-01-01\",\"2010-01-01\",\"2010-01-01\",\"2010-01-01\",\"2010-01-01\",\"2010-01-01\",\"2010-01-01\",\"2010-01-01\",\"2010-01-01\",\"2010-01-01\",\"2010-01-01\",\"2010-01-01\",\"2010-01-01\",\"2010-01-01\",\"2010-01-01\",\"2010-01-01\",\"2010-01-01\",\"2010-01-01\",\"2010-01-01\",\"2010-01-01\",\"2010-01-01\",\"2010-01-01\",\"2010-01-01\",\"2010-01-01\",\"2010-01-01\",\"2010-01-01\",\"2010-01-01\",\"2010-01-01\",\"2010-01-01\",\"2010-01-01\",\"2010-01-01\",\"2010-01-01\",\"2010-01-01\",\"2010-01-01\",\"2010-01-01\",\"2010-01-01\",\"2010-01-01\",\"2010-01-01\",\"2010-01-01\",\"2010-01-01\",\"2010-01-01\",\"2010-01-01\",\"2010-01-01\",\"2010-01-01\",\"2010-01-01\",\"2010-01-01\",\"2010-01-01\",\"2010-01-01\",\"2010-01-01\",\"2010-01-01\",\"2010-01-01\",\"2010-01-01\",\"2010-01-01\",\"2010-01-01\",\"2010-01-01\",\"2010-01-01\",\"2010-01-01\",\"2010-01-01\",\"2010-01-01\",\"2010-01-01\",\"2010-01-01\",\"2010-01-01\",\"2010-01-01\",\"2010-01-01\",\"2010-01-01\",\"2010-01-01\",\"2010-01-01\",\"2010-01-01\",\"2010-01-01\",\"2010-01-01\",\"2010-01-01\",\"2010-01-01\",\"2010-01-01\",\"2010-01-01\",\"2010-01-01\",\"2010-01-01\",\"2010-01-01\",\"2010-01-01\",\"2010-01-01\",\"2010-01-01\",\"2010-01-01\",\"2010-01-01\",\"2010-01-01\",\"2010-01-01\",\"2010-01-01\",\"2010-01-01\",\"2010-01-01\",\"2010-01-01\",\"2010-01-01\",\"2010-01-01\",\"2010-01-01\",\"2010-01-01\",\"2010-01-01\",\"2010-01-01\",\"2010-01-01\",\"2010-01-01\",\"2010-01-01\",\"2010-01-01\",\"2010-01-01\",\"2010-01-01\",\"2010-01-01\",\"2010-01-01\",\"2010-01-01\",\"2010-01-01\",\"2010-01-01\",\"2010-01-01\",\"2010-01-01\",\"2010-01-01\",\"2010-01-01\",\"2010-01-01\",\"2010-01-01\",\"2010-01-01\",\"2010-01-01\",\"2010-01-01\",\"2010-01-01\",\"2010-01-01\",\"2010-01-01\",\"2010-01-01\",\"2010-01-01\",\"2010-01-01\",\"2010-01-01\",\"2010-01-01\",\"2010-01-01\",\"2010-01-01\",\"2010-01-01\",\"2010-01-01\",\"2010-01-01\",\"2010-01-01\",\"2010-01-01\",\"2010-01-01\",\"2010-01-01\",\"2010-01-01\",\"2010-01-01\",\"2010-01-01\",\"2010-01-01\",\"2010-01-01\",\"2010-01-01\",\"2010-01-01\",\"2010-01-01\",\"2010-01-01\",\"2010-01-01\",\"2010-01-01\",\"2010-01-01\",\"2010-01-01\",\"2010-01-01\",\"2010-01-01\",\"2010-01-01\",\"2010-01-01\",\"2010-01-01\",\"2010-01-01\",\"2010-01-01\",\"2010-01-01\",\"2010-01-01\",\"2010-01-01\",\"2010-01-01\",\"2010-01-01\",\"2010-01-01\",\"2010-01-01\",\"2010-01-01\",\"2010-01-01\",\"2010-01-01\",\"2010-01-01\",\"2010-01-01\",\"2010-01-01\",\"2010-01-01\",\"2010-01-01\",\"2010-01-01\",\"2010-01-01\",\"2010-01-01\",\"2010-01-01\",\"2010-01-01\",\"2010-01-01\",\"2010-01-01\",\"2010-01-01\",\"2010-01-01\",\"2010-01-01\",\"2010-01-01\",\"2010-01-01\",\"2010-01-01\",\"2010-01-01\",\"2010-01-01\",\"2010-01-01\",\"2010-01-01\",\"2010-01-01\",\"2010-01-01\",\"2010-01-01\",\"2010-01-01\",\"2010-01-01\",\"2010-01-01\",\"2010-01-01\",\"2010-01-01\",\"2010-01-01\",\"2010-01-01\",\"2010-01-01\",\"2010-01-01\",\"2010-01-01\",\"2010-01-01\",\"2010-01-01\",\"2010-01-01\",\"2010-01-01\",\"2010-01-01\",\"2010-01-01\",\"2011-01-01\",\"2011-01-01\",\"2011-01-01\",\"2011-01-01\",\"2011-01-01\",\"2011-01-01\",\"2011-01-01\",\"2011-01-01\",\"2011-01-01\",\"2011-01-01\",\"2011-01-01\",\"2011-01-01\",\"2011-01-01\",\"2011-01-01\",\"2011-01-01\",\"2011-01-01\",\"2011-01-01\",\"2011-01-01\",\"2011-01-01\",\"2011-01-01\",\"2011-01-01\",\"2011-01-01\",\"2011-01-01\",\"2011-01-01\",\"2011-01-01\",\"2011-01-01\",\"2011-01-01\",\"2011-01-01\",\"2011-01-01\",\"2011-01-01\",\"2011-01-01\",\"2011-01-01\",\"2011-01-01\",\"2011-01-01\",\"2011-01-01\",\"2011-01-01\",\"2011-01-01\",\"2011-01-01\",\"2011-01-01\",\"2011-01-01\",\"2011-01-01\",\"2011-01-01\",\"2011-01-01\",\"2011-01-01\",\"2011-01-01\",\"2011-01-01\",\"2011-01-01\",\"2011-01-01\",\"2011-01-01\",\"2011-01-01\",\"2011-01-01\",\"2011-01-01\",\"2011-01-01\",\"2011-01-01\",\"2011-01-01\",\"2011-01-01\",\"2011-01-01\",\"2011-01-01\",\"2011-01-01\",\"2011-01-01\",\"2011-01-01\",\"2011-01-01\",\"2011-01-01\",\"2011-01-01\",\"2011-01-01\",\"2011-01-01\",\"2011-01-01\",\"2011-01-01\",\"2011-01-01\",\"2011-01-01\",\"2011-01-01\",\"2011-01-01\",\"2011-01-01\",\"2011-01-01\",\"2011-01-01\",\"2011-01-01\",\"2011-01-01\",\"2011-01-01\",\"2011-01-01\",\"2011-01-01\",\"2011-01-01\",\"2011-01-01\",\"2011-01-01\",\"2011-01-01\",\"2011-01-01\",\"2011-01-01\",\"2011-01-01\",\"2011-01-01\",\"2011-01-01\",\"2011-01-01\",\"2011-01-01\",\"2011-01-01\",\"2011-01-01\",\"2011-01-01\",\"2011-01-01\",\"2011-01-01\",\"2011-01-01\",\"2011-01-01\",\"2011-01-01\",\"2011-01-01\",\"2011-01-01\",\"2011-01-01\",\"2011-01-01\",\"2011-01-01\",\"2011-01-01\",\"2011-01-01\",\"2011-01-01\",\"2011-01-01\",\"2011-01-01\",\"2011-01-01\",\"2011-01-01\",\"2011-01-01\",\"2011-01-01\",\"2011-01-01\",\"2011-01-01\",\"2011-01-01\",\"2011-01-01\",\"2011-01-01\",\"2011-01-01\",\"2011-01-01\",\"2011-01-01\",\"2011-01-01\",\"2011-01-01\",\"2011-01-01\",\"2011-01-01\",\"2011-01-01\",\"2011-01-01\",\"2011-01-01\",\"2011-01-01\",\"2011-01-01\",\"2011-01-01\",\"2011-01-01\",\"2011-01-01\",\"2011-01-01\",\"2011-01-01\",\"2011-01-01\",\"2011-01-01\",\"2011-01-01\",\"2011-01-01\",\"2011-01-01\",\"2011-01-01\",\"2011-01-01\",\"2011-01-01\",\"2011-01-01\",\"2011-01-01\",\"2011-01-01\",\"2011-01-01\",\"2011-01-01\",\"2011-01-01\",\"2011-01-01\",\"2011-01-01\",\"2011-01-01\",\"2011-01-01\",\"2011-01-01\",\"2011-01-01\",\"2011-01-01\",\"2011-01-01\",\"2011-01-01\",\"2011-01-01\",\"2011-01-01\",\"2011-01-01\",\"2011-01-01\",\"2011-01-01\",\"2011-01-01\",\"2011-01-01\",\"2011-01-01\",\"2011-01-01\",\"2011-01-01\",\"2011-01-01\",\"2011-01-01\",\"2011-01-01\",\"2011-01-01\",\"2011-01-01\",\"2011-01-01\",\"2011-01-01\",\"2011-01-01\",\"2011-01-01\",\"2011-01-01\",\"2011-01-01\",\"2011-01-01\",\"2011-01-01\",\"2011-01-01\",\"2011-01-01\",\"2011-01-01\",\"2011-01-01\",\"2011-01-01\",\"2011-01-01\",\"2011-01-01\",\"2011-01-01\",\"2011-01-01\",\"2011-01-01\",\"2011-01-01\",\"2011-01-01\",\"2011-01-01\",\"2011-01-01\",\"2011-01-01\",\"2011-01-01\",\"2011-01-01\",\"2011-01-01\",\"2011-01-01\",\"2011-01-01\",\"2011-01-01\",\"2011-01-01\",\"2011-01-01\",\"2011-01-01\",\"2011-01-01\",\"2011-01-01\",\"2011-01-01\",\"2011-01-01\",\"2011-01-01\",\"2011-01-01\",\"2011-01-01\",\"2011-01-01\",\"2011-01-01\",\"2011-01-01\",\"2011-01-01\",\"2011-01-01\",\"2011-01-01\",\"2011-01-01\",\"2011-01-01\",\"2011-01-01\",\"2011-01-01\",\"2011-01-01\",\"2011-01-01\",\"2011-01-01\",\"2011-01-01\",\"2011-01-01\",\"2011-01-01\",\"2011-01-01\",\"2011-01-01\",\"2011-01-01\",\"2011-01-01\",\"2011-01-01\",\"2011-01-01\",\"2011-01-01\",\"2011-01-01\",\"2011-01-01\",\"2011-01-01\",\"2011-01-01\",\"2011-01-01\",\"2011-01-01\",\"2011-01-01\",\"2011-01-01\",\"2011-01-01\",\"2011-01-01\",\"2011-01-01\",\"2011-01-01\",\"2011-01-01\",\"2011-01-01\",\"2011-01-01\",\"2011-01-01\",\"2011-01-01\",\"2011-01-01\",\"2011-01-01\",\"2011-01-01\",\"2011-01-01\",\"2011-01-01\",\"2011-01-01\",\"2011-01-01\",\"2011-01-01\",\"2011-01-01\",\"2011-01-01\",\"2011-01-01\",\"2011-01-01\",\"2011-01-01\",\"2011-01-01\",\"2011-01-01\",\"2011-01-01\",\"2011-01-01\",\"2011-01-01\",\"2011-01-01\",\"2011-01-01\",\"2011-01-01\",\"2011-01-01\",\"2011-01-01\",\"2011-01-01\",\"2011-01-01\",\"2011-01-01\",\"2011-01-01\",\"2011-01-01\",\"2011-01-01\",\"2011-01-01\",\"2011-01-01\",\"2011-01-01\",\"2011-01-01\",\"2011-01-01\",\"2011-01-01\",\"2011-01-01\",\"2011-01-01\",\"2011-01-01\",\"2011-01-01\",\"2011-01-01\",\"2011-01-01\",\"2011-01-01\",\"2011-01-01\",\"2011-01-01\",\"2011-01-01\",\"2011-01-01\",\"2011-01-01\",\"2012-01-01\",\"2012-01-01\",\"2012-01-01\",\"2012-01-01\",\"2012-01-01\",\"2012-01-01\",\"2012-01-01\",\"2012-01-01\",\"2012-01-01\",\"2012-01-01\",\"2012-01-01\",\"2012-01-01\",\"2012-01-01\",\"2012-01-01\",\"2012-01-01\",\"2012-01-01\",\"2012-01-01\",\"2012-01-01\",\"2012-01-01\",\"2012-01-01\",\"2012-01-01\",\"2012-01-01\",\"2012-01-01\",\"2012-01-01\",\"2012-01-01\",\"2012-01-01\",\"2012-01-01\",\"2012-01-01\",\"2012-01-01\",\"2012-01-01\",\"2012-01-01\",\"2012-01-01\",\"2012-01-01\",\"2012-01-01\",\"2012-01-01\",\"2012-01-01\",\"2012-01-01\",\"2012-01-01\",\"2012-01-01\",\"2012-01-01\",\"2012-01-01\",\"2012-01-01\",\"2012-01-01\",\"2012-01-01\",\"2012-01-01\",\"2012-01-01\",\"2012-01-01\",\"2012-01-01\",\"2012-01-01\",\"2012-01-01\",\"2012-01-01\",\"2012-01-01\",\"2012-01-01\",\"2012-01-01\",\"2012-01-01\",\"2012-01-01\",\"2012-01-01\",\"2012-01-01\",\"2012-01-01\",\"2012-01-01\",\"2012-01-01\",\"2012-01-01\",\"2012-01-01\",\"2012-01-01\",\"2012-01-01\",\"2012-01-01\",\"2012-01-01\",\"2012-01-01\",\"2012-01-01\",\"2012-01-01\",\"2012-01-01\",\"2012-01-01\",\"2012-01-01\",\"2012-01-01\",\"2012-01-01\",\"2012-01-01\",\"2012-01-01\",\"2012-01-01\",\"2012-01-01\",\"2012-01-01\",\"2012-01-01\",\"2012-01-01\",\"2012-01-01\",\"2012-01-01\",\"2012-01-01\",\"2012-01-01\",\"2012-01-01\",\"2012-01-01\",\"2012-01-01\",\"2012-01-01\",\"2012-01-01\",\"2012-01-01\",\"2012-01-01\",\"2012-01-01\",\"2012-01-01\",\"2012-01-01\",\"2012-01-01\",\"2012-01-01\",\"2012-01-01\",\"2012-01-01\",\"2012-01-01\",\"2012-01-01\",\"2012-01-01\",\"2012-01-01\",\"2012-01-01\",\"2012-01-01\",\"2012-01-01\",\"2012-01-01\",\"2012-01-01\",\"2012-01-01\",\"2012-01-01\",\"2012-01-01\",\"2012-01-01\",\"2012-01-01\",\"2012-01-01\",\"2012-01-01\",\"2012-01-01\",\"2012-01-01\",\"2012-01-01\",\"2012-01-01\",\"2012-01-01\",\"2012-01-01\",\"2012-01-01\",\"2012-01-01\",\"2012-01-01\",\"2012-01-01\",\"2012-01-01\",\"2012-01-01\",\"2012-01-01\",\"2012-01-01\",\"2012-01-01\",\"2012-01-01\",\"2012-01-01\",\"2012-01-01\",\"2012-01-01\",\"2012-01-01\",\"2012-01-01\",\"2012-01-01\",\"2012-01-01\",\"2012-01-01\",\"2012-01-01\",\"2012-01-01\",\"2012-01-01\",\"2012-01-01\",\"2012-01-01\",\"2012-01-01\",\"2012-01-01\",\"2012-01-01\",\"2012-01-01\",\"2012-01-01\",\"2012-01-01\",\"2012-01-01\",\"2012-01-01\",\"2012-01-01\",\"2012-01-01\",\"2012-01-01\",\"2012-01-01\",\"2012-01-01\",\"2012-01-01\",\"2012-01-01\",\"2012-01-01\",\"2012-01-01\",\"2012-01-01\",\"2012-01-01\",\"2012-01-01\",\"2012-01-01\",\"2012-01-01\",\"2012-01-01\",\"2012-01-01\",\"2012-01-01\",\"2012-01-01\",\"2012-01-01\",\"2012-01-01\",\"2012-01-01\",\"2012-01-01\",\"2012-01-01\",\"2012-01-01\",\"2012-01-01\",\"2012-01-01\",\"2012-01-01\",\"2012-01-01\",\"2012-01-01\",\"2012-01-01\",\"2012-01-01\",\"2012-01-01\",\"2012-01-01\",\"2012-01-01\",\"2012-01-01\",\"2012-01-01\",\"2012-01-01\",\"2012-01-01\",\"2012-01-01\",\"2012-01-01\",\"2012-01-01\",\"2012-01-01\",\"2012-01-01\",\"2012-01-01\",\"2012-01-01\",\"2012-01-01\",\"2012-01-01\",\"2012-01-01\",\"2012-01-01\",\"2012-01-01\",\"2012-01-01\",\"2012-01-01\",\"2012-01-01\",\"2012-01-01\",\"2012-01-01\",\"2012-01-01\",\"2012-01-01\",\"2012-01-01\",\"2012-01-01\",\"2012-01-01\",\"2012-01-01\",\"2012-01-01\",\"2012-01-01\",\"2012-01-01\",\"2012-01-01\",\"2012-01-01\",\"2012-01-01\",\"2012-01-01\",\"2012-01-01\",\"2012-01-01\",\"2012-01-01\",\"2012-01-01\",\"2012-01-01\",\"2012-01-01\",\"2012-01-01\",\"2012-01-01\",\"2012-01-01\",\"2012-01-01\",\"2012-01-01\",\"2012-01-01\",\"2012-01-01\",\"2012-01-01\",\"2012-01-01\",\"2012-01-01\",\"2012-01-01\",\"2012-01-01\",\"2012-01-01\",\"2012-01-01\",\"2012-01-01\",\"2012-01-01\",\"2012-01-01\",\"2012-01-01\",\"2012-01-01\",\"2012-01-01\",\"2012-01-01\",\"2012-01-01\",\"2012-01-01\",\"2012-01-01\",\"2012-01-01\",\"2012-01-01\",\"2012-01-01\",\"2012-01-01\",\"2012-01-01\",\"2012-01-01\",\"2012-01-01\",\"2012-01-01\",\"2012-01-01\",\"2012-01-01\",\"2012-01-01\",\"2012-01-01\",\"2012-01-01\",\"2012-01-01\",\"2012-01-01\",\"2012-01-01\",\"2012-01-01\",\"2012-01-01\",\"2012-01-01\",\"2012-01-01\",\"2012-01-01\",\"2012-01-01\",\"2012-01-01\",\"2012-01-01\",\"2012-01-01\",\"2012-01-01\",\"2012-01-01\",\"2012-01-01\",\"2012-01-01\",\"2012-01-01\",\"2012-01-01\",\"2012-01-01\",\"2012-01-01\",\"2012-01-01\",\"2012-01-01\",\"2012-01-01\",\"2012-01-01\",\"2012-01-01\",\"2012-01-01\",\"2012-01-01\",\"2012-01-01\",\"2012-01-01\",\"2012-01-01\",\"2012-01-01\",\"2012-01-01\",\"2012-01-01\",\"2012-01-01\",\"2012-01-01\",\"2013-01-01\",\"2013-01-01\",\"2013-01-01\",\"2013-01-01\",\"2013-01-01\",\"2013-01-01\",\"2013-01-01\",\"2013-01-01\",\"2013-01-01\",\"2013-01-01\",\"2013-01-01\",\"2013-01-01\",\"2013-01-01\",\"2013-01-01\",\"2013-01-01\",\"2013-01-01\",\"2013-01-01\",\"2013-01-01\",\"2013-01-01\",\"2013-01-01\",\"2013-01-01\",\"2013-01-01\",\"2013-01-01\",\"2013-01-01\",\"2013-01-01\",\"2013-01-01\",\"2013-01-01\",\"2013-01-01\",\"2013-01-01\",\"2013-01-01\",\"2013-01-01\",\"2013-01-01\",\"2013-01-01\",\"2013-01-01\",\"2013-01-01\",\"2013-01-01\",\"2013-01-01\",\"2013-01-01\",\"2013-01-01\",\"2013-01-01\",\"2013-01-01\",\"2013-01-01\",\"2013-01-01\",\"2013-01-01\",\"2013-01-01\",\"2013-01-01\",\"2013-01-01\",\"2013-01-01\",\"2013-01-01\",\"2013-01-01\",\"2013-01-01\",\"2013-01-01\",\"2013-01-01\",\"2013-01-01\",\"2013-01-01\",\"2013-01-01\",\"2013-01-01\",\"2013-01-01\",\"2013-01-01\",\"2013-01-01\",\"2013-01-01\",\"2013-01-01\",\"2013-01-01\",\"2013-01-01\",\"2013-01-01\",\"2013-01-01\",\"2013-01-01\",\"2013-01-01\",\"2013-01-01\",\"2013-01-01\",\"2013-01-01\",\"2013-01-01\",\"2013-01-01\",\"2013-01-01\",\"2013-01-01\",\"2013-01-01\",\"2013-01-01\",\"2013-01-01\",\"2013-01-01\",\"2013-01-01\",\"2013-01-01\",\"2013-01-01\",\"2013-01-01\",\"2013-01-01\",\"2013-01-01\",\"2013-01-01\",\"2013-01-01\",\"2013-01-01\",\"2013-01-01\",\"2013-01-01\",\"2013-01-01\",\"2013-01-01\",\"2013-01-01\",\"2013-01-01\",\"2013-01-01\",\"2013-01-01\",\"2013-01-01\",\"2013-01-01\",\"2013-01-01\",\"2013-01-01\",\"2013-01-01\",\"2013-01-01\",\"2013-01-01\",\"2013-01-01\",\"2013-01-01\",\"2013-01-01\",\"2013-01-01\",\"2013-01-01\",\"2013-01-01\",\"2013-01-01\",\"2013-01-01\",\"2013-01-01\",\"2013-01-01\",\"2013-01-01\",\"2013-01-01\",\"2013-01-01\",\"2013-01-01\",\"2013-01-01\",\"2013-01-01\",\"2013-01-01\",\"2013-01-01\",\"2013-01-01\",\"2013-01-01\",\"2013-01-01\",\"2013-01-01\",\"2013-01-01\",\"2013-01-01\",\"2013-01-01\",\"2013-01-01\",\"2013-01-01\",\"2013-01-01\",\"2013-01-01\",\"2013-01-01\",\"2013-01-01\",\"2013-01-01\",\"2013-01-01\",\"2013-01-01\",\"2013-01-01\",\"2013-01-01\",\"2013-01-01\",\"2013-01-01\",\"2013-01-01\",\"2013-01-01\",\"2013-01-01\",\"2013-01-01\",\"2013-01-01\",\"2013-01-01\",\"2013-01-01\",\"2013-01-01\",\"2013-01-01\",\"2013-01-01\",\"2013-01-01\",\"2013-01-01\",\"2013-01-01\",\"2013-01-01\",\"2013-01-01\",\"2013-01-01\",\"2013-01-01\",\"2013-01-01\",\"2013-01-01\",\"2013-01-01\",\"2013-01-01\",\"2013-01-01\",\"2013-01-01\",\"2013-01-01\",\"2013-01-01\",\"2013-01-01\",\"2013-01-01\",\"2013-01-01\",\"2013-01-01\",\"2013-01-01\",\"2013-01-01\",\"2013-01-01\",\"2013-01-01\",\"2013-01-01\",\"2013-01-01\",\"2013-01-01\",\"2013-01-01\",\"2013-01-01\",\"2013-01-01\",\"2013-01-01\",\"2013-01-01\",\"2013-01-01\",\"2013-01-01\",\"2013-01-01\",\"2013-01-01\",\"2013-01-01\",\"2013-01-01\",\"2013-01-01\",\"2013-01-01\",\"2013-01-01\",\"2013-01-01\",\"2013-01-01\",\"2013-01-01\",\"2013-01-01\",\"2013-01-01\",\"2013-01-01\",\"2013-01-01\",\"2013-01-01\",\"2013-01-01\",\"2013-01-01\",\"2013-01-01\",\"2013-01-01\",\"2013-01-01\",\"2013-01-01\",\"2013-01-01\",\"2013-01-01\",\"2013-01-01\",\"2013-01-01\",\"2013-01-01\",\"2013-01-01\",\"2013-01-01\",\"2013-01-01\",\"2013-01-01\",\"2013-01-01\",\"2013-01-01\",\"2013-01-01\",\"2013-01-01\",\"2013-01-01\",\"2013-01-01\",\"2013-01-01\",\"2013-01-01\",\"2013-01-01\",\"2013-01-01\",\"2013-01-01\",\"2013-01-01\",\"2013-01-01\",\"2013-01-01\",\"2013-01-01\",\"2013-01-01\",\"2013-01-01\",\"2013-01-01\",\"2013-01-01\",\"2013-01-01\",\"2013-01-01\",\"2013-01-01\",\"2013-01-01\",\"2013-01-01\",\"2013-01-01\",\"2013-01-01\",\"2013-01-01\",\"2013-01-01\",\"2013-01-01\",\"2013-01-01\",\"2013-01-01\",\"2013-01-01\",\"2013-01-01\",\"2013-01-01\",\"2013-01-01\",\"2013-01-01\",\"2013-01-01\",\"2013-01-01\",\"2013-01-01\",\"2013-01-01\",\"2013-01-01\",\"2013-01-01\",\"2013-01-01\",\"2013-01-01\",\"2013-01-01\",\"2013-01-01\",\"2013-01-01\",\"2013-01-01\",\"2013-01-01\",\"2013-01-01\",\"2013-01-01\",\"2013-01-01\",\"2013-01-01\",\"2013-01-01\",\"2013-01-01\",\"2013-01-01\",\"2013-01-01\",\"2013-01-01\",\"2013-01-01\",\"2013-01-01\",\"2013-01-01\",\"2013-01-01\",\"2013-01-01\",\"2013-01-01\",\"2013-01-01\",\"2013-01-01\",\"2013-01-01\",\"2013-01-01\",\"2013-01-01\",\"2013-01-01\",\"2013-01-01\",\"2013-01-01\",\"2013-01-01\",\"2013-01-01\",\"2013-01-01\",\"2013-01-01\",\"2013-01-01\",\"2013-01-01\",\"2013-01-01\",\"2013-01-01\",\"2013-01-01\",\"2013-01-01\",\"2013-01-01\",\"2013-01-01\",\"2013-01-01\",\"2014-01-01\",\"2014-01-01\",\"2014-01-01\",\"2014-01-01\",\"2014-01-01\",\"2014-01-01\",\"2014-01-01\",\"2014-01-01\",\"2014-01-01\",\"2014-01-01\",\"2014-01-01\",\"2014-01-01\",\"2014-01-01\",\"2014-01-01\",\"2014-01-01\",\"2014-01-01\",\"2014-01-01\",\"2014-01-01\",\"2014-01-01\",\"2014-01-01\",\"2014-01-01\",\"2014-01-01\",\"2014-01-01\",\"2014-01-01\",\"2014-01-01\",\"2014-01-01\",\"2014-01-01\",\"2014-01-01\",\"2014-01-01\",\"2014-01-01\",\"2014-01-01\",\"2014-01-01\",\"2014-01-01\",\"2014-01-01\",\"2014-01-01\",\"2014-01-01\",\"2014-01-01\",\"2014-01-01\",\"2014-01-01\",\"2014-01-01\",\"2014-01-01\",\"2014-01-01\",\"2014-01-01\",\"2014-01-01\",\"2014-01-01\",\"2014-01-01\",\"2014-01-01\",\"2014-01-01\",\"2014-01-01\",\"2014-01-01\",\"2014-01-01\",\"2014-01-01\",\"2014-01-01\",\"2014-01-01\",\"2014-01-01\",\"2014-01-01\",\"2014-01-01\",\"2014-01-01\",\"2014-01-01\",\"2014-01-01\",\"2014-01-01\",\"2014-01-01\",\"2014-01-01\",\"2014-01-01\",\"2014-01-01\",\"2014-01-01\",\"2014-01-01\",\"2014-01-01\",\"2014-01-01\",\"2014-01-01\",\"2014-01-01\",\"2014-01-01\",\"2014-01-01\",\"2014-01-01\",\"2014-01-01\",\"2014-01-01\",\"2014-01-01\",\"2014-01-01\",\"2014-01-01\",\"2014-01-01\",\"2014-01-01\",\"2014-01-01\",\"2014-01-01\",\"2014-01-01\",\"2014-01-01\",\"2014-01-01\",\"2014-01-01\",\"2014-01-01\",\"2014-01-01\",\"2014-01-01\",\"2014-01-01\",\"2014-01-01\",\"2014-01-01\",\"2014-01-01\",\"2014-01-01\",\"2014-01-01\",\"2014-01-01\",\"2014-01-01\",\"2014-01-01\",\"2014-01-01\",\"2014-01-01\",\"2014-01-01\",\"2014-01-01\",\"2014-01-01\",\"2014-01-01\",\"2014-01-01\",\"2014-01-01\",\"2014-01-01\",\"2014-01-01\",\"2014-01-01\",\"2014-01-01\",\"2014-01-01\",\"2014-01-01\",\"2014-01-01\",\"2014-01-01\",\"2014-01-01\",\"2014-01-01\",\"2014-01-01\",\"2014-01-01\",\"2014-01-01\",\"2014-01-01\",\"2014-01-01\",\"2014-01-01\",\"2014-01-01\",\"2014-01-01\",\"2014-01-01\",\"2014-01-01\",\"2014-01-01\",\"2014-01-01\",\"2014-01-01\",\"2014-01-01\",\"2014-01-01\",\"2014-01-01\",\"2014-01-01\",\"2014-01-01\",\"2014-01-01\",\"2014-01-01\",\"2014-01-01\",\"2014-01-01\",\"2014-01-01\",\"2014-01-01\",\"2014-01-01\",\"2014-01-01\",\"2014-01-01\",\"2014-01-01\",\"2014-01-01\",\"2014-01-01\",\"2014-01-01\",\"2014-01-01\",\"2014-01-01\",\"2014-01-01\",\"2014-01-01\",\"2014-01-01\",\"2014-01-01\",\"2014-01-01\",\"2014-01-01\",\"2014-01-01\",\"2014-01-01\",\"2014-01-01\",\"2014-01-01\",\"2014-01-01\",\"2014-01-01\",\"2014-01-01\",\"2014-01-01\",\"2014-01-01\",\"2014-01-01\",\"2014-01-01\",\"2014-01-01\",\"2014-01-01\",\"2014-01-01\",\"2014-01-01\",\"2014-01-01\",\"2014-01-01\",\"2014-01-01\",\"2014-01-01\",\"2014-01-01\",\"2014-01-01\",\"2014-01-01\",\"2014-01-01\",\"2014-01-01\",\"2014-01-01\",\"2014-01-01\",\"2014-01-01\",\"2014-01-01\",\"2014-01-01\",\"2014-01-01\",\"2014-01-01\",\"2014-01-01\",\"2014-01-01\",\"2014-01-01\",\"2014-01-01\",\"2014-01-01\",\"2014-01-01\",\"2014-01-01\",\"2014-01-01\",\"2014-01-01\",\"2014-01-01\",\"2014-01-01\",\"2014-01-01\",\"2014-01-01\",\"2014-01-01\",\"2014-01-01\",\"2014-01-01\",\"2014-01-01\",\"2014-01-01\",\"2014-01-01\",\"2014-01-01\",\"2014-01-01\",\"2014-01-01\",\"2014-01-01\",\"2014-01-01\",\"2014-01-01\",\"2014-01-01\",\"2014-01-01\",\"2014-01-01\",\"2014-01-01\",\"2014-01-01\",\"2014-01-01\",\"2014-01-01\",\"2014-01-01\",\"2014-01-01\",\"2014-01-01\",\"2014-01-01\",\"2014-01-01\",\"2014-01-01\",\"2014-01-01\",\"2014-01-01\",\"2014-01-01\",\"2014-01-01\",\"2014-01-01\",\"2014-01-01\",\"2014-01-01\",\"2014-01-01\",\"2014-01-01\",\"2014-01-01\",\"2014-01-01\",\"2014-01-01\",\"2014-01-01\",\"2014-01-01\",\"2014-01-01\",\"2014-01-01\",\"2014-01-01\",\"2014-01-01\",\"2014-01-01\",\"2014-01-01\",\"2014-01-01\",\"2014-01-01\",\"2014-01-01\",\"2014-01-01\",\"2014-01-01\",\"2014-01-01\",\"2014-01-01\",\"2014-01-01\",\"2014-01-01\",\"2014-01-01\",\"2014-01-01\",\"2014-01-01\",\"2014-01-01\",\"2014-01-01\",\"2014-01-01\",\"2014-01-01\",\"2014-01-01\",\"2014-01-01\",\"2014-01-01\",\"2014-01-01\",\"2014-01-01\",\"2014-01-01\",\"2014-01-01\",\"2014-01-01\",\"2014-01-01\",\"2014-01-01\",\"2014-01-01\",\"2014-01-01\",\"2014-01-01\",\"2014-01-01\",\"2014-01-01\",\"2014-01-01\",\"2014-01-01\",\"2014-01-01\",\"2014-01-01\",\"2014-01-01\",\"2014-01-01\",\"2014-01-01\",\"2014-01-01\",\"2014-01-01\",\"2014-01-01\",\"2014-01-01\",\"2014-01-01\",\"2014-01-01\",\"2014-01-01\",\"2014-01-01\",\"2014-01-01\",\"2014-01-01\",\"2014-01-01\",\"2014-01-01\",\"2014-01-01\",\"2014-01-01\",\"2014-01-01\",\"2014-01-01\",\"2015-01-01\",\"2015-01-01\",\"2015-01-01\",\"2015-01-01\",\"2015-01-01\",\"2015-01-01\",\"2015-01-01\",\"2015-01-01\",\"2015-01-01\",\"2015-01-01\",\"2015-01-01\",\"2015-01-01\",\"2015-01-01\",\"2015-01-01\",\"2015-01-01\",\"2015-01-01\",\"2015-01-01\",\"2015-01-01\",\"2015-01-01\",\"2015-01-01\",\"2015-01-01\",\"2015-01-01\",\"2015-01-01\",\"2015-01-01\",\"2015-01-01\",\"2015-01-01\",\"2015-01-01\",\"2015-01-01\",\"2015-01-01\",\"2015-01-01\",\"2015-01-01\",\"2015-01-01\",\"2015-01-01\",\"2015-01-01\",\"2015-01-01\",\"2015-01-01\",\"2015-01-01\",\"2015-01-01\",\"2015-01-01\",\"2015-01-01\",\"2015-01-01\",\"2015-01-01\",\"2015-01-01\",\"2015-01-01\",\"2015-01-01\",\"2015-01-01\",\"2015-01-01\",\"2015-01-01\",\"2015-01-01\",\"2015-01-01\",\"2015-01-01\",\"2015-01-01\",\"2015-01-01\",\"2015-01-01\",\"2015-01-01\",\"2015-01-01\",\"2015-01-01\",\"2015-01-01\",\"2015-01-01\",\"2015-01-01\",\"2015-01-01\",\"2015-01-01\",\"2015-01-01\",\"2015-01-01\",\"2015-01-01\",\"2015-01-01\",\"2015-01-01\",\"2015-01-01\",\"2015-01-01\",\"2015-01-01\",\"2015-01-01\",\"2015-01-01\",\"2015-01-01\",\"2015-01-01\",\"2015-01-01\",\"2015-01-01\",\"2015-01-01\",\"2015-01-01\",\"2015-01-01\",\"2015-01-01\",\"2015-01-01\",\"2015-01-01\",\"2015-01-01\",\"2015-01-01\",\"2015-01-01\",\"2015-01-01\",\"2015-01-01\",\"2015-01-01\",\"2015-01-01\",\"2015-01-01\",\"2015-01-01\",\"2015-01-01\",\"2015-01-01\",\"2015-01-01\",\"2015-01-01\",\"2015-01-01\",\"2015-01-01\",\"2015-01-01\",\"2015-01-01\",\"2015-01-01\",\"2015-01-01\",\"2015-01-01\",\"2015-01-01\",\"2015-01-01\",\"2015-01-01\",\"2015-01-01\",\"2015-01-01\",\"2015-01-01\",\"2015-01-01\",\"2015-01-01\",\"2015-01-01\",\"2015-01-01\",\"2015-01-01\",\"2015-01-01\",\"2015-01-01\",\"2015-01-01\",\"2015-01-01\",\"2015-01-01\",\"2015-01-01\",\"2015-01-01\",\"2015-01-01\",\"2015-01-01\",\"2015-01-01\",\"2015-01-01\",\"2015-01-01\",\"2015-01-01\",\"2015-01-01\",\"2015-01-01\",\"2015-01-01\",\"2015-01-01\",\"2015-01-01\",\"2015-01-01\",\"2015-01-01\",\"2015-01-01\",\"2015-01-01\",\"2015-01-01\",\"2015-01-01\",\"2015-01-01\",\"2015-01-01\",\"2015-01-01\",\"2015-01-01\",\"2015-01-01\",\"2015-01-01\",\"2015-01-01\",\"2015-01-01\",\"2015-01-01\",\"2015-01-01\",\"2015-01-01\",\"2015-01-01\",\"2015-01-01\",\"2015-01-01\",\"2015-01-01\",\"2015-01-01\",\"2015-01-01\",\"2015-01-01\",\"2015-01-01\",\"2015-01-01\",\"2015-01-01\",\"2015-01-01\",\"2015-01-01\",\"2015-01-01\",\"2015-01-01\",\"2015-01-01\",\"2015-01-01\",\"2015-01-01\",\"2015-01-01\",\"2015-01-01\",\"2015-01-01\",\"2015-01-01\",\"2015-01-01\",\"2015-01-01\",\"2015-01-01\",\"2015-01-01\",\"2015-01-01\",\"2015-01-01\",\"2015-01-01\",\"2015-01-01\",\"2015-01-01\",\"2015-01-01\",\"2015-01-01\",\"2015-01-01\",\"2015-01-01\",\"2015-01-01\",\"2015-01-01\",\"2015-01-01\",\"2015-01-01\",\"2015-01-01\",\"2015-01-01\",\"2015-01-01\",\"2015-01-01\",\"2015-01-01\",\"2015-01-01\",\"2015-01-01\",\"2015-01-01\",\"2015-01-01\",\"2015-01-01\",\"2015-01-01\",\"2015-01-01\",\"2015-01-01\",\"2015-01-01\",\"2015-01-01\",\"2015-01-01\",\"2015-01-01\",\"2015-01-01\",\"2015-01-01\",\"2015-01-01\",\"2015-01-01\",\"2015-01-01\",\"2015-01-01\",\"2015-01-01\",\"2015-01-01\",\"2015-01-01\",\"2015-01-01\",\"2015-01-01\",\"2015-01-01\",\"2015-01-01\",\"2015-01-01\",\"2015-01-01\",\"2015-01-01\",\"2015-01-01\",\"2015-01-01\",\"2015-01-01\",\"2015-01-01\",\"2015-01-01\",\"2015-01-01\",\"2015-01-01\",\"2015-01-01\",\"2015-01-01\",\"2015-01-01\",\"2015-01-01\",\"2015-01-01\",\"2015-01-01\",\"2015-01-01\",\"2015-01-01\",\"2015-01-01\",\"2015-01-01\",\"2015-01-01\",\"2015-01-01\",\"2015-01-01\",\"2015-01-01\",\"2015-01-01\",\"2015-01-01\",\"2015-01-01\",\"2015-01-01\",\"2015-01-01\",\"2015-01-01\",\"2015-01-01\",\"2015-01-01\",\"2015-01-01\",\"2015-01-01\",\"2015-01-01\",\"2015-01-01\",\"2015-01-01\",\"2015-01-01\",\"2015-01-01\",\"2015-01-01\",\"2015-01-01\",\"2015-01-01\",\"2015-01-01\",\"2015-01-01\",\"2015-01-01\",\"2015-01-01\",\"2015-01-01\",\"2015-01-01\",\"2015-01-01\",\"2015-01-01\",\"2015-01-01\",\"2015-01-01\",\"2015-01-01\",\"2015-01-01\",\"2015-01-01\",\"2015-01-01\",\"2015-01-01\",\"2015-01-01\",\"2015-01-01\",\"2015-01-01\",\"2015-01-01\",\"2015-01-01\",\"2015-01-01\",\"2015-01-01\",\"2015-01-01\",\"2015-01-01\",\"2015-01-01\",\"2015-01-01\",\"2015-01-01\",\"2015-01-01\",\"2015-01-01\",\"2015-01-01\",\"2015-01-01\",\"2015-01-01\",\"2015-01-01\",\"2015-01-01\",\"2015-01-01\",\"2015-01-01\",\"2015-01-01\",\"2015-01-01\",\"2015-01-01\",\"2015-01-01\",\"2015-01-01\"]},\"markers\":null,\"annotations\":null,\"offset\":\"silhouette\",\"interactive\":true,\"interpolate\":\"cardinal\",\"palette\":[\"#000004\",\"#180F3E\",\"#451077\",\"#721F81\",\"#9F2F7F\",\"#CD4071\",\"#F1605D\",\"#FD9567\",\"#FEC98D\",\"#FCFDBF\"],\"text\":\"black\",\"tooltip\":\"black\",\"x_tick_interval\":10,\"x_tick_units\":\"year\",\"x_tick_format\":\"%Y\",\"y_tick_count\":5,\"y_tick_format\":\",g\",\"top\":20,\"right\":40,\"bottom\":30,\"left\":50,\"legend\":true,\"legend_label\":\"names: \",\"fill\":\"manual\",\"label_col\":\"black\",\"x_scale\":\"date\",\"sort\":true,\"order\":\"none\"},\"evals\":[],\"jsHooks\":[]}\nInteractive plot\n\n\nShow code\n\n# Script to generate plots to demonstrate how combinations of information dimensions\n# can become overwhelming and difficult to interpret.\n\n# set-up & data manipulation ---------------------------------------------------\n\n# load packages\nlibrary(ggplot2) # for plots, built layer by layer\nlibrary(dplyr) # for data manipulation\nlibrary(magrittr) # for piping\nlibrary(plotly) # interactive plots\n\n# set ggplot theme\ntheme_set(theme_classic() +\n theme(axis.title = element_text(size = 11, face = \"bold\"),\n axis.text = element_text(size = 11),\n plot.title = element_text(size = 13, face = \"bold\"),\n legend.title = element_text(size = 11, face = \"bold\"),\n legend.text = element_text(size = 10)))\n\n# import data\n# more info on this dataset: https://github.com/rfordatascience/tidytuesday/blob/master/data/2020/2020-07-28/readme.md\npenguins <- readr::read_csv('https://raw.githubusercontent.com/rfordatascience/tidytuesday/master/data/2020/2020-07-28/penguins.csv')\n\n# get some nice colours from viridis (magma)\nsp_cols <- viridis::viridis_pal(option = \"magma\")(5)[2:4]\n\n\n#### Day 1 ####\n\n# 1. Similarity\n\nggplot(penguins) +\n geom_point(aes(y = bill_length_mm, x = bill_depth_mm, col = species), size = 2.5) +\n labs(x = \"Bill depth (mm)\", y = \"Bill length (mm)\", col = \"Species\") + # labels\n scale_color_manual(values = sp_cols) # sets the colour scale we created above \n\n\n\nShow code\n\nggsave(\"figures/penguins_similarity.png\", width = 6, height = 3, units = \"in\")\n\n# 2. Proximity\n\ndf <- penguins %>% group_by(sex, species) %>% \n summarise(mean_mass = mean(body_mass_g, na.rm = TRUE)) %>% na.omit() \nggplot(df) +\n geom_bar(aes(y = mean_mass, x = species, fill = sex), \n position = \"dodge\", stat = \"identity\") +\n labs(x = \"Species\", y = \"Mean body mass (g)\", col = \"Sex\") + # labels\n scale_fill_manual(values = sp_cols) # sets the colour scale we created above\n\n\n\nShow code\n\nggsave(\"figures/penguins_proximity.png\", width = 6, height = 3, units = \"in\")\n\n# 3. Enclosure (Ellipses over a fake PCA)\nggplot(data = penguins, \n aes(y = bill_length_mm, x = bill_depth_mm)) +\n geom_point(size = 2.1, col = \"grey30\") +\n stat_ellipse(aes(col = species), lwd = .7) +\n labs(x = \"PCA1\", y = \"PCA2\", col = \"Species\") + # labels\n scale_color_manual(values = sp_cols) + # sets the colour scale we created above\n theme(axis.text = element_blank(), axis.ticks = element_blank())\n\n\n\nShow code\n\nggsave(\"figures/penguins_enclosure.png\", width = 6, height = 3, units = \"in\")\n\n# 4. Mismatched combination of principles\ntemp_palette <- rev(c(sp_cols, \"#1f78b4\", \"#33a02c\"))\nggplot(data = penguins, \n aes(y = bill_length_mm, x = bill_depth_mm)) +\n geom_point(aes(col = sex), size = 2.1) +\n stat_ellipse(aes(col = species), lwd = .7) +\n labs(x = \"Bill depth (mm)\", y = \"Bill length (mm)\", col = \"?\") + # labels\n scale_color_manual(values = temp_palette) # sets the colour scale we created above\n\n\n\nShow code\n\nggsave(\"figures/penguins_mismatchedgestalt.png\", width = 6, height = 3, units = \"in\")\n\n\n\n#### Day 2 ####\n\n# 1. Ineffective combinations: Luminance & shading -----------------------------\n\n# create the plot\nggplot(penguins) +\n geom_point(aes(y = bill_length_mm, x = bill_depth_mm, \n col = species, # hue\n alpha = log(body_mass_g)), # luminance\n size = 2.5) +\n labs(x = \"Bill depth (mm)\", y = \"Bill length (mm)\", \n col = \"Species\", alpha = \"Body mass (g)\") +\n scale_color_manual(values = sp_cols)\n\n\n\nShow code\n\nggsave(\"figures/penguins_incompatible1.png\", width = 6, height = 3, units = \"in\")\n\n# 2. Ineffective combinations: Sizes and shapes --------------------------------\n\nggplot(penguins) +\n geom_point(aes(y = bill_length_mm, x = bill_depth_mm, \n shape = species, # shape\n size = log(body_mass_g)), alpha = .7) + # size\n scale_size(range = c(.1, 5)) + # make sure the sizes are scaled by area and not by radius\n labs(x = \"Bill depth (mm)\", y = \"Bill length (mm)\", \n shape = \"Species\", size = \"Body mass (g)\") \n\n\n\nShow code\n\nggsave(\"figures/penguins_incompatible2.png\", width = 6, height = 3, units = \"in\")\n\n# 3. Cognitive overload --------------------------------------------------------\n\n# get some nice colours from viridis (magma)\nsex_cols <- viridis::viridis_pal(option = \"magma\")(8)[c(3,6)]\n\nggplot(na.omit(penguins)) +\n geom_point(aes(y = bill_length_mm, # dimension 1: position along y scale\n x = bill_depth_mm, # dimension 2: position along x scale\n shape = species, # dimension 3: shape\n size = log(body_mass_g), # dimension 4: size\n col = sex), # dimension 5: hue\n alpha = .7) + # size\n scale_size(range = c(.1, 5)) + # make sure the sizes are scaled by area and not by radius\n labs(x = \"Bill depth (mm)\", y = \"Bill length (mm)\", \n shape = \"Species\", size = \"Body mass (g)\", col = \"Sex\") +\n scale_color_manual(values = sex_cols)\n\n\n\nShow code\n\nggsave(\"figures/penguins_5dimensions.png\", width = 7, height = 4, units = \"in\")\n\n\n# 4. Panels -------------------------------------------------------------------\n\nggplot(na.omit(penguins)) +\n geom_point(aes(y = bill_length_mm, # dimension 1: position along y scale\n x = bill_depth_mm, # dimension 2: position along x scale\n col = log(body_mass_g)), # dimension 3: hue\n alpha = .7, size = 2) + \n facet_wrap(~ species) + # dimension 4: species!\n # this will create a separate panel for each species\n # note: this also automatically uses the same axes for all panels! If you want \n # axes to vary between panels, use the argument scales = \"free\"\n labs(x = \"Bill depth (mm)\", y = \"Bill length (mm)\", col = \"Body mass (g)\") +\n scale_color_viridis_c(option = \"magma\", end = .9, direction = -1) +\n theme_linedraw() + theme(panel.grid = element_blank()) # making the panels prettier\n\n\n\nShow code\n\nggsave(\"figures/penguins_dimensions_facets.png\", width = 7, height = 4, units = \"in\")\n\n\n# 5. Interactive ---------------------------------------------------------------\n\np <- na.omit(penguins) %>%\n ggplot(aes(y = bill_length_mm, \n x = bill_depth_mm, \n col = log(body_mass_g))) +\n geom_point(size = 2, alpha = .7) + \n facet_wrap(~ species) +\n labs(x = \"Bill depth (mm)\", y = \"Bill length (mm)\", col = \"Body mass (g)\") +\n scale_color_viridis_c(option = \"magma\", end = .9, direction = -1) +\n theme_linedraw() + theme(panel.grid = element_blank()) # making the panels prettier\np <- ggplotly(p)\n#setwd(\"figures\")\nhtmlwidgets::saveWidget(as_widget(p), \"figures/penguins_interactive.html\")\np\n\n\n\n{\"x\":{\"data\":[{\"x\":[18.7,17.4,18,19.3,20.6,17.8,19.6,17.6,21.2,21.1,17.8,19,20.7,18.4,21.5,18.3,18.7,19.2,18.1,17.2,18.9,18.6,17.9,18.6,18.9,16.7,18.1,17.8,18.9,17,21.1,20,18.5,19.3,19.1,18,18.4,18.5,19.7,16.9,18.8,19,17.9,21.2,17.7,18.9,17.9,19.5,18.1,18.6,17.5,18.8,16.6,19.1,16.9,21.1,17,18.2,17.1,18,16.2,19.1,16.6,19.4,19,18.4,17.2,18.9,17.5,18.5,16.8,19.4,16.1,19.1,17.2,17.6,18.8,19.4,17.8,20.3,19.5,18.6,19.2,18.8,18,18.1,17.1,18.1,17.3,18.9,18.6,18.5,16.1,18.5,17.9,20,16,20,18.6,18.9,17.2,20,17,19,16.5,20.3,17.7,19.5,20.7,18.3,17,20.5,17,18.6,17.2,19.8,17,18.5,15.9,19,17.6,18.3,17.1,18,17.9,19.2,18.5,18.5,17.6,17.5,17.5,20.1,16.5,17.9,17.1,17.2,15.5,17,16.8,18.7,18.6,18.4,17.8,18.1,17.1,18.5],\"y\":[39.1,39.5,40.3,36.7,39.3,38.9,39.2,41.1,38.6,34.6,36.6,38.7,42.5,34.4,46,37.8,37.7,35.9,38.2,38.8,35.3,40.6,40.5,37.9,40.5,39.5,37.2,39.5,40.9,36.4,39.2,38.8,42.2,37.6,39.8,36.5,40.8,36,44.1,37,39.6,41.1,36,42.3,39.6,40.1,35,42,34.5,41.4,39,40.6,36.5,37.6,35.7,41.3,37.6,41.1,36.4,41.6,35.5,41.1,35.9,41.8,33.5,39.7,39.6,45.8,35.5,42.8,40.9,37.2,36.2,42.1,34.6,42.9,36.7,35.1,37.3,41.3,36.3,36.9,38.3,38.9,35.7,41.1,34,39.6,36.2,40.8,38.1,40.3,33.1,43.2,35,41,37.7,37.8,37.9,39.7,38.6,38.2,38.1,43.2,38.1,45.6,39.7,42.2,39.6,42.7,38.6,37.3,35.7,41.1,36.2,37.7,40.2,41.4,35.2,40.6,38.8,41.5,39,44.1,38.5,43.1,36.8,37.5,38.1,41.1,35.6,40.2,37,39.7,40.2,40.6,32.1,40.7,37.3,39,39.2,36.6,36,37.8,36,41.5],\"text\":[\"bill_depth_mm: 18.7<br />bill_length_mm: 39.1<br />log(body_mass_g): 8.229511\",\"bill_depth_mm: 17.4<br />bill_length_mm: 39.5<br />log(body_mass_g): 8.242756\",\"bill_depth_mm: 18.0<br />bill_length_mm: 40.3<br />log(body_mass_g): 8.086410\",\"bill_depth_mm: 19.3<br />bill_length_mm: 36.7<br />log(body_mass_g): 8.146130\",\"bill_depth_mm: 20.6<br />bill_length_mm: 39.3<br />log(body_mass_g): 8.202482\",\"bill_depth_mm: 17.8<br />bill_length_mm: 38.9<br />log(body_mass_g): 8.195610\",\"bill_depth_mm: 19.6<br />bill_length_mm: 39.2<br />log(body_mass_g): 8.449984\",\"bill_depth_mm: 17.6<br />bill_length_mm: 41.1<br />log(body_mass_g): 8.070906\",\"bill_depth_mm: 21.2<br />bill_length_mm: 38.6<br />log(body_mass_g): 8.242756\",\"bill_depth_mm: 21.1<br />bill_length_mm: 34.6<br />log(body_mass_g): 8.389360\",\"bill_depth_mm: 17.8<br />bill_length_mm: 36.6<br />log(body_mass_g): 8.216088\",\"bill_depth_mm: 19.0<br />bill_length_mm: 38.7<br />log(body_mass_g): 8.146130\",\"bill_depth_mm: 20.7<br />bill_length_mm: 42.5<br />log(body_mass_g): 8.411833\",\"bill_depth_mm: 18.4<br />bill_length_mm: 34.4<br />log(body_mass_g): 8.109225\",\"bill_depth_mm: 21.5<br />bill_length_mm: 46.0<br />log(body_mass_g): 8.342840\",\"bill_depth_mm: 18.3<br />bill_length_mm: 37.8<br />log(body_mass_g): 8.131531\",\"bill_depth_mm: 18.7<br />bill_length_mm: 37.7<br />log(body_mass_g): 8.188689\",\"bill_depth_mm: 19.2<br />bill_length_mm: 35.9<br />log(body_mass_g): 8.242756\",\"bill_depth_mm: 18.1<br />bill_length_mm: 38.2<br />log(body_mass_g): 8.281471\",\"bill_depth_mm: 17.2<br />bill_length_mm: 38.8<br />log(body_mass_g): 8.242756\",\"bill_depth_mm: 18.9<br />bill_length_mm: 35.3<br />log(body_mass_g): 8.242756\",\"bill_depth_mm: 18.6<br />bill_length_mm: 40.6<br />log(body_mass_g): 8.174703\",\"bill_depth_mm: 17.9<br />bill_length_mm: 40.5<br />log(body_mass_g): 8.070906\",\"bill_depth_mm: 18.6<br />bill_length_mm: 37.9<br />log(body_mass_g): 8.055158\",\"bill_depth_mm: 18.9<br />bill_length_mm: 40.5<br />log(body_mass_g): 8.281471\",\"bill_depth_mm: 16.7<br />bill_length_mm: 39.5<br />log(body_mass_g): 8.086410\",\"bill_depth_mm: 18.1<br />bill_length_mm: 37.2<br />log(body_mass_g): 8.268732\",\"bill_depth_mm: 17.8<br />bill_length_mm: 39.5<br />log(body_mass_g): 8.101678\",\"bill_depth_mm: 18.9<br />bill_length_mm: 40.9<br />log(body_mass_g): 8.268732\",\"bill_depth_mm: 17.0<br />bill_length_mm: 36.4<br />log(body_mass_g): 8.109225\",\"bill_depth_mm: 21.1<br />bill_length_mm: 39.2<br />log(body_mass_g): 8.330864\",\"bill_depth_mm: 20.0<br />bill_length_mm: 38.8<br />log(body_mass_g): 8.281471\",\"bill_depth_mm: 18.5<br />bill_length_mm: 42.2<br />log(body_mass_g): 8.174703\",\"bill_depth_mm: 19.3<br />bill_length_mm: 37.6<br />log(body_mass_g): 8.101678\",\"bill_depth_mm: 19.1<br />bill_length_mm: 39.8<br />log(body_mass_g): 8.444622\",\"bill_depth_mm: 18.0<br />bill_length_mm: 36.5<br />log(body_mass_g): 8.055158\",\"bill_depth_mm: 18.4<br />bill_length_mm: 40.8<br />log(body_mass_g): 8.268732\",\"bill_depth_mm: 18.5<br />bill_length_mm: 36.0<br />log(body_mass_g): 8.039157\",\"bill_depth_mm: 19.7<br />bill_length_mm: 44.1<br />log(body_mass_g): 8.389360\",\"bill_depth_mm: 16.9<br />bill_length_mm: 37.0<br />log(body_mass_g): 8.006368\",\"bill_depth_mm: 18.8<br />bill_length_mm: 39.6<br />log(body_mass_g): 8.433812\",\"bill_depth_mm: 19.0<br />bill_length_mm: 41.1<br />log(body_mass_g): 8.138857\",\"bill_depth_mm: 17.9<br />bill_length_mm: 36.0<br />log(body_mass_g): 8.146130\",\"bill_depth_mm: 21.2<br />bill_length_mm: 42.3<br />log(body_mass_g): 8.330864\",\"bill_depth_mm: 17.7<br />bill_length_mm: 39.6<br />log(body_mass_g): 8.160518\",\"bill_depth_mm: 18.9<br />bill_length_mm: 40.1<br />log(body_mass_g): 8.366370\",\"bill_depth_mm: 17.9<br />bill_length_mm: 35.0<br />log(body_mass_g): 8.146130\",\"bill_depth_mm: 19.5<br />bill_length_mm: 42.0<br />log(body_mass_g): 8.306472\",\"bill_depth_mm: 18.1<br />bill_length_mm: 34.5<br />log(body_mass_g): 7.972466\",\"bill_depth_mm: 18.6<br />bill_length_mm: 41.4<br />log(body_mass_g): 8.216088\",\"bill_depth_mm: 17.5<br />bill_length_mm: 39.0<br />log(body_mass_g): 8.174703\",\"bill_depth_mm: 18.8<br />bill_length_mm: 40.6<br />log(body_mass_g): 8.242756\",\"bill_depth_mm: 16.6<br />bill_length_mm: 36.5<br />log(body_mass_g): 7.955074\",\"bill_depth_mm: 19.1<br />bill_length_mm: 37.6<br />log(body_mass_g): 8.229511\",\"bill_depth_mm: 16.9<br />bill_length_mm: 35.7<br />log(body_mass_g): 8.055158\",\"bill_depth_mm: 21.1<br />bill_length_mm: 41.3<br />log(body_mass_g): 8.389360\",\"bill_depth_mm: 17.0<br />bill_length_mm: 37.6<br />log(body_mass_g): 8.188689\",\"bill_depth_mm: 18.2<br />bill_length_mm: 41.1<br />log(body_mass_g): 8.306472\",\"bill_depth_mm: 17.1<br />bill_length_mm: 36.4<br />log(body_mass_g): 7.955074\",\"bill_depth_mm: 18.0<br />bill_length_mm: 41.6<br />log(body_mass_g): 8.281471\",\"bill_depth_mm: 16.2<br />bill_length_mm: 35.5<br />log(body_mass_g): 8.116716\",\"bill_depth_mm: 19.1<br />bill_length_mm: 41.1<br />log(body_mass_g): 8.318742\",\"bill_depth_mm: 16.6<br />bill_length_mm: 35.9<br />log(body_mass_g): 8.022897\",\"bill_depth_mm: 19.4<br />bill_length_mm: 41.8<br />log(body_mass_g): 8.400659\",\"bill_depth_mm: 19.0<br />bill_length_mm: 33.5<br />log(body_mass_g): 8.188689\",\"bill_depth_mm: 18.4<br />bill_length_mm: 39.7<br />log(body_mass_g): 8.268732\",\"bill_depth_mm: 17.2<br />bill_length_mm: 39.6<br />log(body_mass_g): 8.174703\",\"bill_depth_mm: 18.9<br />bill_length_mm: 45.8<br />log(body_mass_g): 8.330864\",\"bill_depth_mm: 17.5<br />bill_length_mm: 35.5<br />log(body_mass_g): 8.216088\",\"bill_depth_mm: 18.5<br />bill_length_mm: 42.8<br />log(body_mass_g): 8.354674\",\"bill_depth_mm: 16.8<br />bill_length_mm: 40.9<br />log(body_mass_g): 8.216088\",\"bill_depth_mm: 19.4<br />bill_length_mm: 37.2<br />log(body_mass_g): 8.268732\",\"bill_depth_mm: 16.1<br />bill_length_mm: 36.2<br />log(body_mass_g): 8.174703\",\"bill_depth_mm: 19.1<br />bill_length_mm: 42.1<br />log(body_mass_g): 8.294050\",\"bill_depth_mm: 17.2<br />bill_length_mm: 34.6<br />log(body_mass_g): 8.070906\",\"bill_depth_mm: 17.6<br />bill_length_mm: 42.9<br />log(body_mass_g): 8.455318\",\"bill_depth_mm: 18.8<br />bill_length_mm: 36.7<br />log(body_mass_g): 8.242756\",\"bill_depth_mm: 19.4<br />bill_length_mm: 35.1<br />log(body_mass_g): 8.342840\",\"bill_depth_mm: 17.8<br />bill_length_mm: 37.3<br />log(body_mass_g): 8.116716\",\"bill_depth_mm: 20.3<br />bill_length_mm: 41.3<br />log(body_mass_g): 8.174703\",\"bill_depth_mm: 19.5<br />bill_length_mm: 36.3<br />log(body_mass_g): 8.242756\",\"bill_depth_mm: 18.6<br />bill_length_mm: 36.9<br />log(body_mass_g): 8.160518\",\"bill_depth_mm: 19.2<br />bill_length_mm: 38.3<br />log(body_mass_g): 8.281471\",\"bill_depth_mm: 18.8<br />bill_length_mm: 38.9<br />log(body_mass_g): 8.188689\",\"bill_depth_mm: 18.0<br />bill_length_mm: 35.7<br />log(body_mass_g): 8.174703\",\"bill_depth_mm: 18.1<br />bill_length_mm: 41.1<br />log(body_mass_g): 8.366370\",\"bill_depth_mm: 17.1<br />bill_length_mm: 34.0<br />log(body_mass_g): 8.131531\",\"bill_depth_mm: 18.1<br />bill_length_mm: 39.6<br />log(body_mass_g): 8.400659\",\"bill_depth_mm: 17.3<br />bill_length_mm: 36.2<br />log(body_mass_g): 8.101678\",\"bill_depth_mm: 18.9<br />bill_length_mm: 40.8<br />log(body_mass_g): 8.366370\",\"bill_depth_mm: 18.6<br />bill_length_mm: 38.1<br />log(body_mass_g): 8.216088\",\"bill_depth_mm: 18.5<br />bill_length_mm: 40.3<br />log(body_mass_g): 8.377931\",\"bill_depth_mm: 16.1<br />bill_length_mm: 33.1<br />log(body_mass_g): 7.972466\",\"bill_depth_mm: 18.5<br />bill_length_mm: 43.2<br />log(body_mass_g): 8.318742\",\"bill_depth_mm: 17.9<br />bill_length_mm: 35.0<br />log(body_mass_g): 8.222822\",\"bill_depth_mm: 20.0<br />bill_length_mm: 41.0<br />log(body_mass_g): 8.460623\",\"bill_depth_mm: 16.0<br />bill_length_mm: 37.7<br />log(body_mass_g): 8.031060\",\"bill_depth_mm: 20.0<br />bill_length_mm: 37.8<br />log(body_mass_g): 8.354674\",\"bill_depth_mm: 18.6<br />bill_length_mm: 37.9<br />log(body_mass_g): 7.981050\",\"bill_depth_mm: 18.9<br />bill_length_mm: 39.7<br />log(body_mass_g): 8.174703\",\"bill_depth_mm: 17.2<br />bill_length_mm: 38.6<br />log(body_mass_g): 8.229511\",\"bill_depth_mm: 20.0<br />bill_length_mm: 38.2<br />log(body_mass_g): 8.268732\",\"bill_depth_mm: 17.0<br />bill_length_mm: 38.1<br />log(body_mass_g): 8.063063\",\"bill_depth_mm: 19.0<br />bill_length_mm: 43.2<br />log(body_mass_g): 8.471149\",\"bill_depth_mm: 16.5<br />bill_length_mm: 38.1<br />log(body_mass_g): 8.249314\",\"bill_depth_mm: 20.3<br />bill_length_mm: 45.6<br />log(body_mass_g): 8.433812\",\"bill_depth_mm: 17.7<br />bill_length_mm: 39.7<br />log(body_mass_g): 8.070906\",\"bill_depth_mm: 19.5<br />bill_length_mm: 42.2<br />log(body_mass_g): 8.360539\",\"bill_depth_mm: 20.7<br />bill_length_mm: 39.6<br />log(body_mass_g): 8.268732\",\"bill_depth_mm: 18.3<br />bill_length_mm: 42.7<br />log(body_mass_g): 8.312626\",\"bill_depth_mm: 17.0<br />bill_length_mm: 38.6<br />log(body_mass_g): 7.972466\",\"bill_depth_mm: 20.5<br />bill_length_mm: 37.3<br />log(body_mass_g): 8.236156\",\"bill_depth_mm: 17.0<br />bill_length_mm: 35.7<br />log(body_mass_g): 8.116716\",\"bill_depth_mm: 18.6<br />bill_length_mm: 41.1<br />log(body_mass_g): 8.109225\",\"bill_depth_mm: 17.2<br />bill_length_mm: 36.2<br />log(body_mass_g): 8.055158\",\"bill_depth_mm: 19.8<br />bill_length_mm: 37.7<br />log(body_mass_g): 8.160518\",\"bill_depth_mm: 17.0<br />bill_length_mm: 40.2<br />log(body_mass_g): 8.146130\",\"bill_depth_mm: 18.5<br />bill_length_mm: 41.4<br />log(body_mass_g): 8.262301\",\"bill_depth_mm: 15.9<br />bill_length_mm: 35.2<br />log(body_mass_g): 8.022897\",\"bill_depth_mm: 19.0<br />bill_length_mm: 40.6<br />log(body_mass_g): 8.294050\",\"bill_depth_mm: 17.6<br />bill_length_mm: 38.8<br />log(body_mass_g): 8.094073\",\"bill_depth_mm: 18.3<br />bill_length_mm: 41.5<br />log(body_mass_g): 8.366370\",\"bill_depth_mm: 17.1<br />bill_length_mm: 39.0<br />log(body_mass_g): 8.022897\",\"bill_depth_mm: 18.0<br />bill_length_mm: 44.1<br />log(body_mass_g): 8.294050\",\"bill_depth_mm: 17.9<br />bill_length_mm: 38.5<br />log(body_mass_g): 8.109225\",\"bill_depth_mm: 19.2<br />bill_length_mm: 43.1<br />log(body_mass_g): 8.160518\",\"bill_depth_mm: 18.5<br />bill_length_mm: 36.8<br />log(body_mass_g): 8.160518\",\"bill_depth_mm: 18.5<br />bill_length_mm: 37.5<br />log(body_mass_g): 8.406262\",\"bill_depth_mm: 17.6<br />bill_length_mm: 38.1<br />log(body_mass_g): 8.138857\",\"bill_depth_mm: 17.5<br />bill_length_mm: 41.1<br />log(body_mass_g): 8.268732\",\"bill_depth_mm: 17.5<br />bill_length_mm: 35.6<br />log(body_mass_g): 8.063063\",\"bill_depth_mm: 20.1<br />bill_length_mm: 40.2<br />log(body_mass_g): 8.287780\",\"bill_depth_mm: 16.5<br />bill_length_mm: 37.0<br />log(body_mass_g): 8.131531\",\"bill_depth_mm: 17.9<br />bill_length_mm: 39.7<br />log(body_mass_g): 8.354674\",\"bill_depth_mm: 17.1<br />bill_length_mm: 40.2<br />log(body_mass_g): 8.131531\",\"bill_depth_mm: 17.2<br />bill_length_mm: 40.6<br />log(body_mass_g): 8.153350\",\"bill_depth_mm: 15.5<br />bill_length_mm: 32.1<br />log(body_mass_g): 8.022897\",\"bill_depth_mm: 17.0<br />bill_length_mm: 40.7<br />log(body_mass_g): 8.222822\",\"bill_depth_mm: 16.8<br />bill_length_mm: 37.3<br />log(body_mass_g): 8.006368\",\"bill_depth_mm: 18.7<br />bill_length_mm: 39.0<br />log(body_mass_g): 8.202482\",\"bill_depth_mm: 18.6<br />bill_length_mm: 39.2<br />log(body_mass_g): 8.354674\",\"bill_depth_mm: 18.4<br />bill_length_mm: 36.6<br />log(body_mass_g): 8.153350\",\"bill_depth_mm: 17.8<br />bill_length_mm: 36.0<br />log(body_mass_g): 8.146130\",\"bill_depth_mm: 18.1<br />bill_length_mm: 37.8<br />log(body_mass_g): 8.229511\",\"bill_depth_mm: 17.1<br />bill_length_mm: 36.0<br />log(body_mass_g): 8.216088\",\"bill_depth_mm: 18.5<br />bill_length_mm: 41.5<br />log(body_mass_g): 8.294050\"],\"type\":\"scatter\",\"mode\":\"markers\",\"marker\":{\"autocolorscale\":false,\"color\":[\"rgba(201,65,114,1)\",\"rgba(197,61,115,1)\",\"rgba(244,116,95,1)\",\"rgba(227,95,104,1)\",\"rgba(210,75,111,1)\",\"rgba(212,78,110,1)\",\"rgba(107,30,123,1)\",\"rgba(249,121,93,1)\",\"rgba(197,61,115,1)\",\"rgba(133,38,128,1)\",\"rgba(205,70,112,1)\",\"rgba(227,95,104,1)\",\"rgba(123,35,130,1)\",\"rgba(238,108,99,1)\",\"rgba(154,44,124,1)\",\"rgba(231,100,102,1)\",\"rgba(214,80,109,1)\",\"rgba(197,61,115,1)\",\"rgba(181,54,119,1)\",\"rgba(197,61,115,1)\",\"rgba(197,61,115,1)\",\"rgba(218,85,108,1)\",\"rgba(249,121,93,1)\",\"rgba(250,129,97,1)\",\"rgba(181,54,119,1)\",\"rgba(244,116,95,1)\",\"rgba(186,56,118,1)\",\"rgba(240,110,98,1)\",\"rgba(186,56,118,1)\",\"rgba(238,108,99,1)\",\"rgba(160,46,123,1)\",\"rgba(181,54,119,1)\",\"rgba(218,85,108,1)\",\"rgba(240,110,98,1)\",\"rgba(109,31,124,1)\",\"rgba(250,129,97,1)\",\"rgba(186,56,118,1)\",\"rgba(251,138,102,1)\",\"rgba(133,38,128,1)\",\"rgba(253,155,112,1)\",\"rgba(114,32,126,1)\",\"rgba(229,98,103,1)\",\"rgba(227,95,104,1)\",\"rgba(160,46,123,1)\",\"rgba(222,90,106,1)\",\"rgba(144,41,126,1)\",\"rgba(227,95,104,1)\",\"rgba(170,50,121,1)\",\"rgba(254,171,122,1)\",\"rgba(205,70,112,1)\",\"rgba(218,85,108,1)\",\"rgba(197,61,115,1)\",\"rgba(254,180,128,1)\",\"rgba(201,65,114,1)\",\"rgba(250,129,97,1)\",\"rgba(133,38,128,1)\",\"rgba(214,80,109,1)\",\"rgba(170,50,121,1)\",\"rgba(254,180,128,1)\",\"rgba(181,54,119,1)\",\"rgba(235,105,100,1)\",\"rgba(165,48,122,1)\",\"rgba(252,146,107,1)\",\"rgba(128,36,129,1)\",\"rgba(214,80,109,1)\",\"rgba(186,56,118,1)\",\"rgba(218,85,108,1)\",\"rgba(160,46,123,1)\",\"rgba(205,70,112,1)\",\"rgba(149,43,125,1)\",\"rgba(205,70,112,1)\",\"rgba(186,56,118,1)\",\"rgba(218,85,108,1)\",\"rgba(175,52,120,1)\",\"rgba(249,121,93,1)\",\"rgba(105,29,123,1)\",\"rgba(197,61,115,1)\",\"rgba(154,44,124,1)\",\"rgba(235,105,100,1)\",\"rgba(218,85,108,1)\",\"rgba(197,61,115,1)\",\"rgba(222,90,106,1)\",\"rgba(181,54,119,1)\",\"rgba(214,80,109,1)\",\"rgba(218,85,108,1)\",\"rgba(144,41,126,1)\",\"rgba(231,100,102,1)\",\"rgba(128,36,129,1)\",\"rgba(240,110,98,1)\",\"rgba(144,41,126,1)\",\"rgba(205,70,112,1)\",\"rgba(139,39,127,1)\",\"rgba(254,171,122,1)\",\"rgba(165,48,122,1)\",\"rgba(203,68,113,1)\",\"rgba(103,29,122,1)\",\"rgba(251,142,105,1)\",\"rgba(149,43,125,1)\",\"rgba(254,167,120,1)\",\"rgba(218,85,108,1)\",\"rgba(201,65,114,1)\",\"rgba(186,56,118,1)\",\"rgba(250,125,95,1)\",\"rgba(98,27,120,1)\",\"rgba(194,59,116,1)\",\"rgba(114,32,126,1)\",\"rgba(249,121,93,1)\",\"rgba(146,42,126,1)\",\"rgba(186,56,118,1)\",\"rgba(167,49,122,1)\",\"rgba(254,171,122,1)\",\"rgba(199,62,115,1)\",\"rgba(235,105,100,1)\",\"rgba(238,108,99,1)\",\"rgba(250,129,97,1)\",\"rgba(222,90,106,1)\",\"rgba(227,95,104,1)\",\"rgba(189,57,117,1)\",\"rgba(252,146,107,1)\",\"rgba(175,52,120,1)\",\"rgba(242,113,97,1)\",\"rgba(144,41,126,1)\",\"rgba(252,146,107,1)\",\"rgba(175,52,120,1)\",\"rgba(238,108,99,1)\",\"rgba(222,90,106,1)\",\"rgba(222,90,106,1)\",\"rgba(125,35,130,1)\",\"rgba(229,98,103,1)\",\"rgba(186,56,118,1)\",\"rgba(250,125,95,1)\",\"rgba(178,53,120,1)\",\"rgba(231,100,102,1)\",\"rgba(149,43,125,1)\",\"rgba(231,100,102,1)\",\"rgba(224,93,105,1)\",\"rgba(252,146,107,1)\",\"rgba(203,68,113,1)\",\"rgba(253,155,112,1)\",\"rgba(210,75,111,1)\",\"rgba(149,43,125,1)\",\"rgba(224,93,105,1)\",\"rgba(227,95,104,1)\",\"rgba(201,65,114,1)\",\"rgba(205,70,112,1)\",\"rgba(175,52,120,1)\"],\"opacity\":0.7,\"size\":7.55905511811024,\"symbol\":\"circle\",\"line\":{\"width\":1.88976377952756,\"color\":[\"rgba(201,65,114,1)\",\"rgba(197,61,115,1)\",\"rgba(244,116,95,1)\",\"rgba(227,95,104,1)\",\"rgba(210,75,111,1)\",\"rgba(212,78,110,1)\",\"rgba(107,30,123,1)\",\"rgba(249,121,93,1)\",\"rgba(197,61,115,1)\",\"rgba(133,38,128,1)\",\"rgba(205,70,112,1)\",\"rgba(227,95,104,1)\",\"rgba(123,35,130,1)\",\"rgba(238,108,99,1)\",\"rgba(154,44,124,1)\",\"rgba(231,100,102,1)\",\"rgba(214,80,109,1)\",\"rgba(197,61,115,1)\",\"rgba(181,54,119,1)\",\"rgba(197,61,115,1)\",\"rgba(197,61,115,1)\",\"rgba(218,85,108,1)\",\"rgba(249,121,93,1)\",\"rgba(250,129,97,1)\",\"rgba(181,54,119,1)\",\"rgba(244,116,95,1)\",\"rgba(186,56,118,1)\",\"rgba(240,110,98,1)\",\"rgba(186,56,118,1)\",\"rgba(238,108,99,1)\",\"rgba(160,46,123,1)\",\"rgba(181,54,119,1)\",\"rgba(218,85,108,1)\",\"rgba(240,110,98,1)\",\"rgba(109,31,124,1)\",\"rgba(250,129,97,1)\",\"rgba(186,56,118,1)\",\"rgba(251,138,102,1)\",\"rgba(133,38,128,1)\",\"rgba(253,155,112,1)\",\"rgba(114,32,126,1)\",\"rgba(229,98,103,1)\",\"rgba(227,95,104,1)\",\"rgba(160,46,123,1)\",\"rgba(222,90,106,1)\",\"rgba(144,41,126,1)\",\"rgba(227,95,104,1)\",\"rgba(170,50,121,1)\",\"rgba(254,171,122,1)\",\"rgba(205,70,112,1)\",\"rgba(218,85,108,1)\",\"rgba(197,61,115,1)\",\"rgba(254,180,128,1)\",\"rgba(201,65,114,1)\",\"rgba(250,129,97,1)\",\"rgba(133,38,128,1)\",\"rgba(214,80,109,1)\",\"rgba(170,50,121,1)\",\"rgba(254,180,128,1)\",\"rgba(181,54,119,1)\",\"rgba(235,105,100,1)\",\"rgba(165,48,122,1)\",\"rgba(252,146,107,1)\",\"rgba(128,36,129,1)\",\"rgba(214,80,109,1)\",\"rgba(186,56,118,1)\",\"rgba(218,85,108,1)\",\"rgba(160,46,123,1)\",\"rgba(205,70,112,1)\",\"rgba(149,43,125,1)\",\"rgba(205,70,112,1)\",\"rgba(186,56,118,1)\",\"rgba(218,85,108,1)\",\"rgba(175,52,120,1)\",\"rgba(249,121,93,1)\",\"rgba(105,29,123,1)\",\"rgba(197,61,115,1)\",\"rgba(154,44,124,1)\",\"rgba(235,105,100,1)\",\"rgba(218,85,108,1)\",\"rgba(197,61,115,1)\",\"rgba(222,90,106,1)\",\"rgba(181,54,119,1)\",\"rgba(214,80,109,1)\",\"rgba(218,85,108,1)\",\"rgba(144,41,126,1)\",\"rgba(231,100,102,1)\",\"rgba(128,36,129,1)\",\"rgba(240,110,98,1)\",\"rgba(144,41,126,1)\",\"rgba(205,70,112,1)\",\"rgba(139,39,127,1)\",\"rgba(254,171,122,1)\",\"rgba(165,48,122,1)\",\"rgba(203,68,113,1)\",\"rgba(103,29,122,1)\",\"rgba(251,142,105,1)\",\"rgba(149,43,125,1)\",\"rgba(254,167,120,1)\",\"rgba(218,85,108,1)\",\"rgba(201,65,114,1)\",\"rgba(186,56,118,1)\",\"rgba(250,125,95,1)\",\"rgba(98,27,120,1)\",\"rgba(194,59,116,1)\",\"rgba(114,32,126,1)\",\"rgba(249,121,93,1)\",\"rgba(146,42,126,1)\",\"rgba(186,56,118,1)\",\"rgba(167,49,122,1)\",\"rgba(254,171,122,1)\",\"rgba(199,62,115,1)\",\"rgba(235,105,100,1)\",\"rgba(238,108,99,1)\",\"rgba(250,129,97,1)\",\"rgba(222,90,106,1)\",\"rgba(227,95,104,1)\",\"rgba(189,57,117,1)\",\"rgba(252,146,107,1)\",\"rgba(175,52,120,1)\",\"rgba(242,113,97,1)\",\"rgba(144,41,126,1)\",\"rgba(252,146,107,1)\",\"rgba(175,52,120,1)\",\"rgba(238,108,99,1)\",\"rgba(222,90,106,1)\",\"rgba(222,90,106,1)\",\"rgba(125,35,130,1)\",\"rgba(229,98,103,1)\",\"rgba(186,56,118,1)\",\"rgba(250,125,95,1)\",\"rgba(178,53,120,1)\",\"rgba(231,100,102,1)\",\"rgba(149,43,125,1)\",\"rgba(231,100,102,1)\",\"rgba(224,93,105,1)\",\"rgba(252,146,107,1)\",\"rgba(203,68,113,1)\",\"rgba(253,155,112,1)\",\"rgba(210,75,111,1)\",\"rgba(149,43,125,1)\",\"rgba(224,93,105,1)\",\"rgba(227,95,104,1)\",\"rgba(201,65,114,1)\",\"rgba(205,70,112,1)\",\"rgba(175,52,120,1)\"]}},\"hoveron\":\"points\",\"showlegend\":false,\"xaxis\":\"x\",\"yaxis\":\"y\",\"hoverinfo\":\"text\",\"frame\":null},{\"x\":[17.9,19.5,19.2,18.7,19.8,17.8,18.2,18.2,18.9,19.9,17.8,20.3,17.3,18.1,17.1,19.6,20,17.8,18.6,18.2,17.3,17.5,16.6,19.4,17.9,19,18.4,19,17.8,20,16.6,20.8,16.7,18.8,18.6,16.8,18.3,20.7,16.6,19.9,19.5,17.5,19.1,17,17.9,18.5,17.9,19.6,18.7,17.3,16.4,19,17.3,19.7,17.3,18.8,16.6,19.9,18.8,19.4,19.5,16.5,17,19.8,18.1,18.2,19,18.7],\"y\":[46.5,50,51.3,45.4,52.7,45.2,46.1,51.3,46,51.3,46.6,51.7,47,52,45.9,50.5,50.3,58,46.4,49.2,42.4,48.5,43.2,50.6,46.7,52,50.5,49.5,46.4,52.8,40.9,54.2,42.5,51,49.7,47.5,47.6,52,46.9,53.5,49,46.2,50.9,45.5,50.9,50.8,50.1,49,51.5,49.8,48.1,51.4,45.7,50.7,42.5,52.2,45.2,49.3,50.2,45.6,51.9,46.8,45.7,55.8,43.5,49.6,50.8,50.2],\"text\":[\"bill_depth_mm: 17.9<br />bill_length_mm: 46.5<br />log(body_mass_g): 8.160518\",\"bill_depth_mm: 19.5<br />bill_length_mm: 50.0<br />log(body_mass_g): 8.268732\",\"bill_depth_mm: 19.2<br />bill_length_mm: 51.3<br />log(body_mass_g): 8.202482\",\"bill_depth_mm: 18.7<br />bill_length_mm: 45.4<br />log(body_mass_g): 8.167636\",\"bill_depth_mm: 19.8<br />bill_length_mm: 52.7<br />log(body_mass_g): 8.222822\",\"bill_depth_mm: 17.8<br />bill_length_mm: 45.2<br />log(body_mass_g): 8.281471\",\"bill_depth_mm: 18.2<br />bill_length_mm: 46.1<br />log(body_mass_g): 8.086410\",\"bill_depth_mm: 18.2<br />bill_length_mm: 51.3<br />log(body_mass_g): 8.229511\",\"bill_depth_mm: 18.9<br />bill_length_mm: 46.0<br />log(body_mass_g): 8.330864\",\"bill_depth_mm: 19.9<br />bill_length_mm: 51.3<br />log(body_mass_g): 8.216088\",\"bill_depth_mm: 17.8<br />bill_length_mm: 46.6<br />log(body_mass_g): 8.242756\",\"bill_depth_mm: 20.3<br />bill_length_mm: 51.7<br />log(body_mass_g): 8.236156\",\"bill_depth_mm: 17.3<br />bill_length_mm: 47.0<br />log(body_mass_g): 8.216088\",\"bill_depth_mm: 18.1<br />bill_length_mm: 52.0<br />log(body_mass_g): 8.306472\",\"bill_depth_mm: 17.1<br />bill_length_mm: 45.9<br />log(body_mass_g): 8.181720\",\"bill_depth_mm: 19.6<br />bill_length_mm: 50.5<br />log(body_mass_g): 8.306472\",\"bill_depth_mm: 20.0<br />bill_length_mm: 50.3<br />log(body_mass_g): 8.101678\",\"bill_depth_mm: 17.8<br />bill_length_mm: 58.0<br />log(body_mass_g): 8.216088\",\"bill_depth_mm: 18.6<br />bill_length_mm: 46.4<br />log(body_mass_g): 8.146130\",\"bill_depth_mm: 18.2<br />bill_length_mm: 49.2<br />log(body_mass_g): 8.389360\",\"bill_depth_mm: 17.3<br />bill_length_mm: 42.4<br />log(body_mass_g): 8.188689\",\"bill_depth_mm: 17.5<br />bill_length_mm: 48.5<br />log(body_mass_g): 8.131531\",\"bill_depth_mm: 16.6<br />bill_length_mm: 43.2<br />log(body_mass_g): 7.972466\",\"bill_depth_mm: 19.4<br />bill_length_mm: 50.6<br />log(body_mass_g): 8.242756\",\"bill_depth_mm: 17.9<br />bill_length_mm: 46.7<br />log(body_mass_g): 8.101678\",\"bill_depth_mm: 19.0<br />bill_length_mm: 52.0<br />log(body_mass_g): 8.330864\",\"bill_depth_mm: 18.4<br />bill_length_mm: 50.5<br />log(body_mass_g): 8.131531\",\"bill_depth_mm: 19.0<br />bill_length_mm: 49.5<br />log(body_mass_g): 8.242756\",\"bill_depth_mm: 17.8<br />bill_length_mm: 46.4<br />log(body_mass_g): 8.216088\",\"bill_depth_mm: 20.0<br />bill_length_mm: 52.8<br />log(body_mass_g): 8.422883\",\"bill_depth_mm: 16.6<br />bill_length_mm: 40.9<br />log(body_mass_g): 8.070906\",\"bill_depth_mm: 20.8<br />bill_length_mm: 54.2<br />log(body_mass_g): 8.366370\",\"bill_depth_mm: 16.7<br />bill_length_mm: 42.5<br />log(body_mass_g): 8.116716\",\"bill_depth_mm: 18.8<br />bill_length_mm: 51.0<br />log(body_mass_g): 8.318742\",\"bill_depth_mm: 18.6<br />bill_length_mm: 49.7<br />log(body_mass_g): 8.188689\",\"bill_depth_mm: 16.8<br />bill_length_mm: 47.5<br />log(body_mass_g): 8.268732\",\"bill_depth_mm: 18.3<br />bill_length_mm: 47.6<br />log(body_mass_g): 8.255828\",\"bill_depth_mm: 20.7<br />bill_length_mm: 52.0<br />log(body_mass_g): 8.476371\",\"bill_depth_mm: 16.6<br />bill_length_mm: 46.9<br />log(body_mass_g): 7.901007\",\"bill_depth_mm: 19.9<br />bill_length_mm: 53.5<br />log(body_mass_g): 8.411833\",\"bill_depth_mm: 19.5<br />bill_length_mm: 49.0<br />log(body_mass_g): 8.281471\",\"bill_depth_mm: 17.5<br />bill_length_mm: 46.2<br />log(body_mass_g): 8.202482\",\"bill_depth_mm: 19.1<br />bill_length_mm: 50.9<br />log(body_mass_g): 8.174703\",\"bill_depth_mm: 17.0<br />bill_length_mm: 45.5<br />log(body_mass_g): 8.160518\",\"bill_depth_mm: 17.9<br />bill_length_mm: 50.9<br />log(body_mass_g): 8.209308\",\"bill_depth_mm: 18.5<br />bill_length_mm: 50.8<br />log(body_mass_g): 8.400659\",\"bill_depth_mm: 17.9<br />bill_length_mm: 50.1<br />log(body_mass_g): 8.131531\",\"bill_depth_mm: 19.6<br />bill_length_mm: 49.0<br />log(body_mass_g): 8.366370\",\"bill_depth_mm: 18.7<br />bill_length_mm: 51.5<br />log(body_mass_g): 8.086410\",\"bill_depth_mm: 17.3<br />bill_length_mm: 49.8<br />log(body_mass_g): 8.209308\",\"bill_depth_mm: 16.4<br />bill_length_mm: 48.1<br />log(body_mass_g): 8.109225\",\"bill_depth_mm: 19.0<br />bill_length_mm: 51.4<br />log(body_mass_g): 8.281471\",\"bill_depth_mm: 17.3<br />bill_length_mm: 45.7<br />log(body_mass_g): 8.188689\",\"bill_depth_mm: 19.7<br />bill_length_mm: 50.7<br />log(body_mass_g): 8.306472\",\"bill_depth_mm: 17.3<br />bill_length_mm: 42.5<br />log(body_mass_g): 8.116716\",\"bill_depth_mm: 18.8<br />bill_length_mm: 52.2<br />log(body_mass_g): 8.146130\",\"bill_depth_mm: 16.6<br />bill_length_mm: 45.2<br />log(body_mass_g): 8.086410\",\"bill_depth_mm: 19.9<br />bill_length_mm: 49.3<br />log(body_mass_g): 8.306472\",\"bill_depth_mm: 18.8<br />bill_length_mm: 50.2<br />log(body_mass_g): 8.242756\",\"bill_depth_mm: 19.4<br />bill_length_mm: 45.6<br />log(body_mass_g): 8.167636\",\"bill_depth_mm: 19.5<br />bill_length_mm: 51.9<br />log(body_mass_g): 8.281471\",\"bill_depth_mm: 16.5<br />bill_length_mm: 46.8<br />log(body_mass_g): 8.202482\",\"bill_depth_mm: 17.0<br />bill_length_mm: 45.7<br />log(body_mass_g): 8.202482\",\"bill_depth_mm: 19.8<br />bill_length_mm: 55.8<br />log(body_mass_g): 8.294050\",\"bill_depth_mm: 18.1<br />bill_length_mm: 43.5<br />log(body_mass_g): 8.131531\",\"bill_depth_mm: 18.2<br />bill_length_mm: 49.6<br />log(body_mass_g): 8.236156\",\"bill_depth_mm: 19.0<br />bill_length_mm: 50.8<br />log(body_mass_g): 8.318742\",\"bill_depth_mm: 18.7<br />bill_length_mm: 50.2<br />log(body_mass_g): 8.236156\"],\"type\":\"scatter\",\"mode\":\"markers\",\"marker\":{\"autocolorscale\":false,\"color\":[\"rgba(222,90,106,1)\",\"rgba(186,56,118,1)\",\"rgba(210,75,111,1)\",\"rgba(220,88,107,1)\",\"rgba(203,68,113,1)\",\"rgba(181,54,119,1)\",\"rgba(244,116,95,1)\",\"rgba(201,65,114,1)\",\"rgba(160,46,123,1)\",\"rgba(205,70,112,1)\",\"rgba(197,61,115,1)\",\"rgba(199,62,115,1)\",\"rgba(205,70,112,1)\",\"rgba(170,50,121,1)\",\"rgba(216,83,108,1)\",\"rgba(170,50,121,1)\",\"rgba(240,110,98,1)\",\"rgba(205,70,112,1)\",\"rgba(227,95,104,1)\",\"rgba(133,38,128,1)\",\"rgba(214,80,109,1)\",\"rgba(231,100,102,1)\",\"rgba(254,171,122,1)\",\"rgba(197,61,115,1)\",\"rgba(240,110,98,1)\",\"rgba(160,46,123,1)\",\"rgba(231,100,102,1)\",\"rgba(197,61,115,1)\",\"rgba(205,70,112,1)\",\"rgba(118,33,128,1)\",\"rgba(249,121,93,1)\",\"rgba(144,41,126,1)\",\"rgba(235,105,100,1)\",\"rgba(165,48,122,1)\",\"rgba(214,80,109,1)\",\"rgba(186,56,118,1)\",\"rgba(191,58,117,1)\",\"rgba(96,27,119,1)\",\"rgba(254,206,145,1)\",\"rgba(123,35,130,1)\",\"rgba(181,54,119,1)\",\"rgba(210,75,111,1)\",\"rgba(218,85,108,1)\",\"rgba(222,90,106,1)\",\"rgba(207,73,112,1)\",\"rgba(128,36,129,1)\",\"rgba(231,100,102,1)\",\"rgba(144,41,126,1)\",\"rgba(244,116,95,1)\",\"rgba(207,73,112,1)\",\"rgba(238,108,99,1)\",\"rgba(181,54,119,1)\",\"rgba(214,80,109,1)\",\"rgba(170,50,121,1)\",\"rgba(235,105,100,1)\",\"rgba(227,95,104,1)\",\"rgba(244,116,95,1)\",\"rgba(170,50,121,1)\",\"rgba(197,61,115,1)\",\"rgba(220,88,107,1)\",\"rgba(181,54,119,1)\",\"rgba(210,75,111,1)\",\"rgba(210,75,111,1)\",\"rgba(175,52,120,1)\",\"rgba(231,100,102,1)\",\"rgba(199,62,115,1)\",\"rgba(165,48,122,1)\",\"rgba(199,62,115,1)\"],\"opacity\":0.7,\"size\":7.55905511811024,\"symbol\":\"circle\",\"line\":{\"width\":1.88976377952756,\"color\":[\"rgba(222,90,106,1)\",\"rgba(186,56,118,1)\",\"rgba(210,75,111,1)\",\"rgba(220,88,107,1)\",\"rgba(203,68,113,1)\",\"rgba(181,54,119,1)\",\"rgba(244,116,95,1)\",\"rgba(201,65,114,1)\",\"rgba(160,46,123,1)\",\"rgba(205,70,112,1)\",\"rgba(197,61,115,1)\",\"rgba(199,62,115,1)\",\"rgba(205,70,112,1)\",\"rgba(170,50,121,1)\",\"rgba(216,83,108,1)\",\"rgba(170,50,121,1)\",\"rgba(240,110,98,1)\",\"rgba(205,70,112,1)\",\"rgba(227,95,104,1)\",\"rgba(133,38,128,1)\",\"rgba(214,80,109,1)\",\"rgba(231,100,102,1)\",\"rgba(254,171,122,1)\",\"rgba(197,61,115,1)\",\"rgba(240,110,98,1)\",\"rgba(160,46,123,1)\",\"rgba(231,100,102,1)\",\"rgba(197,61,115,1)\",\"rgba(205,70,112,1)\",\"rgba(118,33,128,1)\",\"rgba(249,121,93,1)\",\"rgba(144,41,126,1)\",\"rgba(235,105,100,1)\",\"rgba(165,48,122,1)\",\"rgba(214,80,109,1)\",\"rgba(186,56,118,1)\",\"rgba(191,58,117,1)\",\"rgba(96,27,119,1)\",\"rgba(254,206,145,1)\",\"rgba(123,35,130,1)\",\"rgba(181,54,119,1)\",\"rgba(210,75,111,1)\",\"rgba(218,85,108,1)\",\"rgba(222,90,106,1)\",\"rgba(207,73,112,1)\",\"rgba(128,36,129,1)\",\"rgba(231,100,102,1)\",\"rgba(144,41,126,1)\",\"rgba(244,116,95,1)\",\"rgba(207,73,112,1)\",\"rgba(238,108,99,1)\",\"rgba(181,54,119,1)\",\"rgba(214,80,109,1)\",\"rgba(170,50,121,1)\",\"rgba(235,105,100,1)\",\"rgba(227,95,104,1)\",\"rgba(244,116,95,1)\",\"rgba(170,50,121,1)\",\"rgba(197,61,115,1)\",\"rgba(220,88,107,1)\",\"rgba(181,54,119,1)\",\"rgba(210,75,111,1)\",\"rgba(210,75,111,1)\",\"rgba(175,52,120,1)\",\"rgba(231,100,102,1)\",\"rgba(199,62,115,1)\",\"rgba(165,48,122,1)\",\"rgba(199,62,115,1)\"]}},\"hoveron\":\"points\",\"showlegend\":false,\"xaxis\":\"x2\",\"yaxis\":\"y\",\"hoverinfo\":\"text\",\"frame\":null},{\"x\":[13.2,16.3,14.1,15.2,14.5,13.5,14.6,15.3,13.4,15.4,13.7,16.1,13.7,14.6,14.6,15.7,13.5,15.2,14.5,15.1,14.3,14.5,14.5,15.8,13.1,15.1,15,14.3,15.3,15.3,14.2,14.5,17,14.8,16.3,13.7,17.3,13.6,15.7,13.7,16,13.7,15,15.9,13.9,13.9,15.9,13.3,15.8,14.2,14.1,14.4,15,14.4,15.4,13.9,15,14.5,15.3,13.8,14.9,13.9,15.7,14.2,16.8,16.2,14.2,15,15,15.6,15.6,14.8,15,16,14.2,16.3,13.8,16.4,14.5,15.6,14.6,15.9,13.8,17.3,14.4,14.2,14,17,15,17.1,14.5,16.1,14.7,15.7,15.8,14.6,14.4,16.5,15,17,15.5,15,16.1,14.7,15.8,14,15.1,15.2,15.9,15.2,16.3,14.1,16,16.2,13.7,14.3,15.7,14.8,16.1],\"y\":[46.1,50,48.7,50,47.6,46.5,45.4,46.7,43.3,46.8,40.9,49,45.5,48.4,45.8,49.3,42,49.2,46.2,48.7,50.2,45.1,46.5,46.3,42.9,46.1,47.8,48.2,50,47.3,42.8,45.1,59.6,49.1,48.4,42.6,44.4,44,48.7,42.7,49.6,45.3,49.6,50.5,43.6,45.5,50.5,44.9,45.2,46.6,48.5,45.1,50.1,46.5,45,43.8,45.5,43.2,50.4,45.3,46.2,45.7,54.3,45.8,49.8,49.5,43.5,50.7,47.7,46.4,48.2,46.5,46.4,48.6,47.5,51.1,45.2,45.2,49.1,52.5,47.4,50,44.9,50.8,43.4,51.3,47.5,52.1,47.5,52.2,45.5,49.5,44.5,50.8,49.4,46.9,48.4,51.1,48.5,55.9,47.2,49.1,46.8,41.7,53.4,43.3,48.1,50.5,49.8,43.5,51.5,46.2,55.1,48.8,47.2,46.8,50.4,45.2,49.9],\"text\":[\"bill_depth_mm: 13.2<br />bill_length_mm: 46.1<br />log(body_mass_g): 8.411833\",\"bill_depth_mm: 16.3<br />bill_length_mm: 50.0<br />log(body_mass_g): 8.648221\",\"bill_depth_mm: 14.1<br />bill_length_mm: 48.7<br />log(body_mass_g): 8.400659\",\"bill_depth_mm: 15.2<br />bill_length_mm: 50.0<br />log(body_mass_g): 8.648221\",\"bill_depth_mm: 14.5<br />bill_length_mm: 47.6<br />log(body_mass_g): 8.594154\",\"bill_depth_mm: 13.5<br />bill_length_mm: 46.5<br />log(body_mass_g): 8.422883\",\"bill_depth_mm: 14.6<br />bill_length_mm: 45.4<br />log(body_mass_g): 8.476371\",\"bill_depth_mm: 15.3<br />bill_length_mm: 46.7<br />log(body_mass_g): 8.556414\",\"bill_depth_mm: 13.4<br />bill_length_mm: 43.3<br />log(body_mass_g): 8.389360\",\"bill_depth_mm: 15.4<br />bill_length_mm: 46.8<br />log(body_mass_g): 8.546752\",\"bill_depth_mm: 13.7<br />bill_length_mm: 40.9<br />log(body_mass_g): 8.444622\",\"bill_depth_mm: 16.1<br />bill_length_mm: 49.0<br />log(body_mass_g): 8.621553\",\"bill_depth_mm: 13.7<br />bill_length_mm: 45.5<br />log(body_mass_g): 8.444622\",\"bill_depth_mm: 14.6<br />bill_length_mm: 48.4<br />log(body_mass_g): 8.674197\",\"bill_depth_mm: 14.6<br />bill_length_mm: 45.8<br />log(body_mass_g): 8.342840\",\"bill_depth_mm: 15.7<br />bill_length_mm: 49.3<br />log(body_mass_g): 8.674197\",\"bill_depth_mm: 13.5<br />bill_length_mm: 42.0<br />log(body_mass_g): 8.330864\",\"bill_depth_mm: 15.2<br />bill_length_mm: 49.2<br />log(body_mass_g): 8.748305\",\"bill_depth_mm: 14.5<br />bill_length_mm: 46.2<br />log(body_mass_g): 8.476371\",\"bill_depth_mm: 15.1<br />bill_length_mm: 48.7<br />log(body_mass_g): 8.584852\",\"bill_depth_mm: 14.3<br />bill_length_mm: 50.2<br />log(body_mass_g): 8.648221\",\"bill_depth_mm: 14.5<br />bill_length_mm: 45.1<br />log(body_mass_g): 8.517193\",\"bill_depth_mm: 14.5<br />bill_length_mm: 46.5<br />log(body_mass_g): 8.389360\",\"bill_depth_mm: 15.8<br />bill_length_mm: 46.3<br />log(body_mass_g): 8.527144\",\"bill_depth_mm: 13.1<br />bill_length_mm: 42.9<br />log(body_mass_g): 8.517193\",\"bill_depth_mm: 15.1<br />bill_length_mm: 46.1<br />log(body_mass_g): 8.536996\",\"bill_depth_mm: 15.0<br />bill_length_mm: 47.8<br />log(body_mass_g): 8.639411\",\"bill_depth_mm: 14.3<br />bill_length_mm: 48.2<br />log(body_mass_g): 8.433812\",\"bill_depth_mm: 15.3<br />bill_length_mm: 50.0<br />log(body_mass_g): 8.621553\",\"bill_depth_mm: 15.3<br />bill_length_mm: 47.3<br />log(body_mass_g): 8.565983\",\"bill_depth_mm: 14.2<br />bill_length_mm: 42.8<br />log(body_mass_g): 8.455318\",\"bill_depth_mm: 14.5<br />bill_length_mm: 45.1<br />log(body_mass_g): 8.527144\",\"bill_depth_mm: 17.0<br />bill_length_mm: 59.6<br />log(body_mass_g): 8.707814\",\"bill_depth_mm: 14.8<br />bill_length_mm: 49.1<br />log(body_mass_g): 8.546752\",\"bill_depth_mm: 16.3<br />bill_length_mm: 48.4<br />log(body_mass_g): 8.594154\",\"bill_depth_mm: 13.7<br />bill_length_mm: 42.6<br />log(body_mass_g): 8.507143\",\"bill_depth_mm: 17.3<br />bill_length_mm: 44.4<br />log(body_mass_g): 8.565983\",\"bill_depth_mm: 13.6<br />bill_length_mm: 44.0<br />log(body_mass_g): 8.377931\",\"bill_depth_mm: 15.7<br />bill_length_mm: 48.7<br />log(body_mass_g): 8.584852\",\"bill_depth_mm: 13.7<br />bill_length_mm: 42.7<br />log(body_mass_g): 8.281471\",\"bill_depth_mm: 16.0<br />bill_length_mm: 49.6<br />log(body_mass_g): 8.648221\",\"bill_depth_mm: 13.7<br />bill_length_mm: 45.3<br />log(body_mass_g): 8.366370\",\"bill_depth_mm: 15.0<br />bill_length_mm: 49.6<br />log(body_mass_g): 8.465900\",\"bill_depth_mm: 15.9<br />bill_length_mm: 50.5<br />log(body_mass_g): 8.621553\",\"bill_depth_mm: 13.9<br />bill_length_mm: 43.6<br />log(body_mass_g): 8.496990\",\"bill_depth_mm: 13.9<br />bill_length_mm: 45.5<br />log(body_mass_g): 8.342840\",\"bill_depth_mm: 15.9<br />bill_length_mm: 50.5<br />log(body_mass_g): 8.594154\",\"bill_depth_mm: 13.3<br />bill_length_mm: 44.9<br />log(body_mass_g): 8.536996\",\"bill_depth_mm: 15.8<br />bill_length_mm: 45.2<br />log(body_mass_g): 8.575462\",\"bill_depth_mm: 14.2<br />bill_length_mm: 46.6<br />log(body_mass_g): 8.486734\",\"bill_depth_mm: 14.1<br />bill_length_mm: 48.5<br />log(body_mass_g): 8.575462\",\"bill_depth_mm: 14.4<br />bill_length_mm: 45.1<br />log(body_mass_g): 8.389360\",\"bill_depth_mm: 15.0<br />bill_length_mm: 50.1<br />log(body_mass_g): 8.517193\",\"bill_depth_mm: 14.4<br />bill_length_mm: 46.5<br />log(body_mass_g): 8.496990\",\"bill_depth_mm: 15.4<br />bill_length_mm: 45.0<br />log(body_mass_g): 8.527144\",\"bill_depth_mm: 13.9<br />bill_length_mm: 43.8<br />log(body_mass_g): 8.366370\",\"bill_depth_mm: 15.0<br />bill_length_mm: 45.5<br />log(body_mass_g): 8.517193\",\"bill_depth_mm: 14.5<br />bill_length_mm: 43.2<br />log(body_mass_g): 8.400659\",\"bill_depth_mm: 15.3<br />bill_length_mm: 50.4<br />log(body_mass_g): 8.621553\",\"bill_depth_mm: 13.8<br />bill_length_mm: 45.3<br />log(body_mass_g): 8.342840\",\"bill_depth_mm: 14.9<br />bill_length_mm: 46.2<br />log(body_mass_g): 8.575462\",\"bill_depth_mm: 13.9<br />bill_length_mm: 45.7<br />log(body_mass_g): 8.389360\",\"bill_depth_mm: 15.7<br />bill_length_mm: 54.3<br />log(body_mass_g): 8.639411\",\"bill_depth_mm: 14.2<br />bill_length_mm: 45.8<br />log(body_mass_g): 8.455318\",\"bill_depth_mm: 16.8<br />bill_length_mm: 49.8<br />log(body_mass_g): 8.648221\",\"bill_depth_mm: 16.2<br />bill_length_mm: 49.5<br />log(body_mass_g): 8.665613\",\"bill_depth_mm: 14.2<br />bill_length_mm: 43.5<br />log(body_mass_g): 8.455318\",\"bill_depth_mm: 15.0<br />bill_length_mm: 50.7<br />log(body_mass_g): 8.621553\",\"bill_depth_mm: 15.0<br />bill_length_mm: 47.7<br />log(body_mass_g): 8.465900\",\"bill_depth_mm: 15.6<br />bill_length_mm: 46.4<br />log(body_mass_g): 8.517193\",\"bill_depth_mm: 15.6<br />bill_length_mm: 48.2<br />log(body_mass_g): 8.536996\",\"bill_depth_mm: 14.8<br />bill_length_mm: 46.5<br />log(body_mass_g): 8.556414\",\"bill_depth_mm: 15.0<br />bill_length_mm: 46.4<br />log(body_mass_g): 8.455318\",\"bill_depth_mm: 16.0<br />bill_length_mm: 48.6<br />log(body_mass_g): 8.665613\",\"bill_depth_mm: 14.2<br />bill_length_mm: 47.5<br />log(body_mass_g): 8.433812\",\"bill_depth_mm: 16.3<br />bill_length_mm: 51.1<br />log(body_mass_g): 8.699515\",\"bill_depth_mm: 13.8<br />bill_length_mm: 45.2<br />log(body_mass_g): 8.465900\",\"bill_depth_mm: 16.4<br />bill_length_mm: 45.2<br />log(body_mass_g): 8.691146\",\"bill_depth_mm: 14.5<br />bill_length_mm: 49.1<br />log(body_mass_g): 8.439232\",\"bill_depth_mm: 15.6<br />bill_length_mm: 52.5<br />log(body_mass_g): 8.603371\",\"bill_depth_mm: 14.6<br />bill_length_mm: 47.4<br />log(body_mass_g): 8.460623\",\"bill_depth_mm: 15.9<br />bill_length_mm: 50.0<br />log(body_mass_g): 8.584852\",\"bill_depth_mm: 13.8<br />bill_length_mm: 44.9<br />log(body_mass_g): 8.465900\",\"bill_depth_mm: 17.3<br />bill_length_mm: 50.8<br />log(body_mass_g): 8.630522\",\"bill_depth_mm: 14.4<br />bill_length_mm: 43.4<br />log(body_mass_g): 8.433812\",\"bill_depth_mm: 14.2<br />bill_length_mm: 51.3<br />log(body_mass_g): 8.575462\",\"bill_depth_mm: 14.0<br />bill_length_mm: 47.5<br />log(body_mass_g): 8.491875\",\"bill_depth_mm: 17.0<br />bill_length_mm: 52.1<br />log(body_mass_g): 8.621553\",\"bill_depth_mm: 15.0<br />bill_length_mm: 47.5<br />log(body_mass_g): 8.507143\",\"bill_depth_mm: 17.1<br />bill_length_mm: 52.2<br />log(body_mass_g): 8.594154\",\"bill_depth_mm: 14.5<br />bill_length_mm: 45.5<br />log(body_mass_g): 8.465900\",\"bill_depth_mm: 16.1<br />bill_length_mm: 49.5<br />log(body_mass_g): 8.639411\",\"bill_depth_mm: 14.7<br />bill_length_mm: 44.5<br />log(body_mass_g): 8.486734\",\"bill_depth_mm: 15.7<br />bill_length_mm: 50.8<br />log(body_mass_g): 8.556414\",\"bill_depth_mm: 15.8<br />bill_length_mm: 49.4<br />log(body_mass_g): 8.502080\",\"bill_depth_mm: 14.6<br />bill_length_mm: 46.9<br />log(body_mass_g): 8.491875\",\"bill_depth_mm: 14.4<br />bill_length_mm: 48.4<br />log(body_mass_g): 8.439232\",\"bill_depth_mm: 16.5<br />bill_length_mm: 51.1<br />log(body_mass_g): 8.565983\",\"bill_depth_mm: 15.0<br />bill_length_mm: 48.5<br />log(body_mass_g): 8.486734\",\"bill_depth_mm: 17.0<br />bill_length_mm: 55.9<br />log(body_mass_g): 8.630522\",\"bill_depth_mm: 15.5<br />bill_length_mm: 47.2<br />log(body_mass_g): 8.512181\",\"bill_depth_mm: 15.0<br />bill_length_mm: 49.1<br />log(body_mass_g): 8.612503\",\"bill_depth_mm: 16.1<br />bill_length_mm: 46.8<br />log(body_mass_g): 8.612503\",\"bill_depth_mm: 14.7<br />bill_length_mm: 41.7<br />log(body_mass_g): 8.455318\",\"bill_depth_mm: 15.8<br />bill_length_mm: 53.4<br />log(body_mass_g): 8.612503\",\"bill_depth_mm: 14.0<br />bill_length_mm: 43.3<br />log(body_mass_g): 8.428362\",\"bill_depth_mm: 15.1<br />bill_length_mm: 48.1<br />log(body_mass_g): 8.612503\",\"bill_depth_mm: 15.2<br />bill_length_mm: 50.5<br />log(body_mass_g): 8.517193\",\"bill_depth_mm: 15.9<br />bill_length_mm: 49.8<br />log(body_mass_g): 8.691146\",\"bill_depth_mm: 15.2<br />bill_length_mm: 43.5<br />log(body_mass_g): 8.444622\",\"bill_depth_mm: 16.3<br />bill_length_mm: 51.5<br />log(body_mass_g): 8.612503\",\"bill_depth_mm: 14.1<br />bill_length_mm: 46.2<br />log(body_mass_g): 8.383662\",\"bill_depth_mm: 16.0<br />bill_length_mm: 55.1<br />log(body_mass_g): 8.674197\",\"bill_depth_mm: 16.2<br />bill_length_mm: 48.8<br />log(body_mass_g): 8.699515\",\"bill_depth_mm: 13.7<br />bill_length_mm: 47.2<br />log(body_mass_g): 8.502080\",\"bill_depth_mm: 14.3<br />bill_length_mm: 46.8<br />log(body_mass_g): 8.486734\",\"bill_depth_mm: 15.7<br />bill_length_mm: 50.4<br />log(body_mass_g): 8.656955\",\"bill_depth_mm: 14.8<br />bill_length_mm: 45.2<br />log(body_mass_g): 8.556414\",\"bill_depth_mm: 16.1<br />bill_length_mm: 49.9<br />log(body_mass_g): 8.594154\"],\"type\":\"scatter\",\"mode\":\"markers\",\"marker\":{\"autocolorscale\":false,\"color\":[\"rgba(123,35,130,1)\",\"rgba(34,15,62,1)\",\"rgba(128,36,129,1)\",\"rgba(34,15,62,1)\",\"rgba(47,16,94,1)\",\"rgba(118,33,128,1)\",\"rgba(96,27,119,1)\",\"rgba(62,18,107,1)\",\"rgba(133,38,128,1)\",\"rgba(66,19,108,1)\",\"rgba(109,31,124,1)\",\"rgba(41,16,77,1)\",\"rgba(109,31,124,1)\",\"rgba(28,14,48,1)\",\"rgba(154,44,124,1)\",\"rgba(28,14,48,1)\",\"rgba(160,46,123,1)\",\"rgba(0,0,4,1)\",\"rgba(96,27,119,1)\",\"rgba(50,16,99,1)\",\"rgba(34,15,62,1)\",\"rgba(79,22,113,1)\",\"rgba(133,38,128,1)\",\"rgba(75,21,111,1)\",\"rgba(79,22,113,1)\",\"rgba(70,20,110,1)\",\"rgba(37,15,67,1)\",\"rgba(114,32,126,1)\",\"rgba(41,16,77,1)\",\"rgba(57,17,105,1)\",\"rgba(105,29,123,1)\",\"rgba(75,21,111,1)\",\"rgba(21,8,30,1)\",\"rgba(66,19,108,1)\",\"rgba(47,16,94,1)\",\"rgba(83,23,114,1)\",\"rgba(57,17,105,1)\",\"rgba(139,39,127,1)\",\"rgba(50,16,99,1)\",\"rgba(181,54,119,1)\",\"rgba(34,15,62,1)\",\"rgba(144,41,126,1)\",\"rgba(101,28,121,1)\",\"rgba(41,16,77,1)\",\"rgba(88,24,116,1)\",\"rgba(154,44,124,1)\",\"rgba(47,16,94,1)\",\"rgba(70,20,110,1)\",\"rgba(53,16,104,1)\",\"rgba(92,26,118,1)\",\"rgba(53,16,104,1)\",\"rgba(133,38,128,1)\",\"rgba(79,22,113,1)\",\"rgba(88,24,116,1)\",\"rgba(75,21,111,1)\",\"rgba(144,41,126,1)\",\"rgba(79,22,113,1)\",\"rgba(128,36,129,1)\",\"rgba(41,16,77,1)\",\"rgba(154,44,124,1)\",\"rgba(53,16,104,1)\",\"rgba(133,38,128,1)\",\"rgba(37,15,67,1)\",\"rgba(105,29,123,1)\",\"rgba(34,15,62,1)\",\"rgba(30,14,53,1)\",\"rgba(105,29,123,1)\",\"rgba(41,16,77,1)\",\"rgba(101,28,121,1)\",\"rgba(79,22,113,1)\",\"rgba(70,20,110,1)\",\"rgba(62,18,107,1)\",\"rgba(105,29,123,1)\",\"rgba(30,14,53,1)\",\"rgba(114,32,126,1)\",\"rgba(23,10,35,1)\",\"rgba(101,28,121,1)\",\"rgba(25,11,39,1)\",\"rgba(112,31,125,1)\",\"rgba(45,16,88,1)\",\"rgba(103,29,122,1)\",\"rgba(50,16,99,1)\",\"rgba(101,28,121,1)\",\"rgba(39,16,72,1)\",\"rgba(114,32,126,1)\",\"rgba(53,16,104,1)\",\"rgba(90,25,117,1)\",\"rgba(41,16,77,1)\",\"rgba(83,23,114,1)\",\"rgba(47,16,94,1)\",\"rgba(101,28,121,1)\",\"rgba(37,15,67,1)\",\"rgba(92,26,118,1)\",\"rgba(62,18,107,1)\",\"rgba(85,24,115,1)\",\"rgba(90,25,117,1)\",\"rgba(112,31,125,1)\",\"rgba(57,17,105,1)\",\"rgba(92,26,118,1)\",\"rgba(39,16,72,1)\",\"rgba(81,23,114,1)\",\"rgba(43,16,83,1)\",\"rgba(43,16,83,1)\",\"rgba(105,29,123,1)\",\"rgba(43,16,83,1)\",\"rgba(116,33,127,1)\",\"rgba(43,16,83,1)\",\"rgba(79,22,113,1)\",\"rgba(25,11,39,1)\",\"rgba(109,31,124,1)\",\"rgba(43,16,83,1)\",\"rgba(136,38,128,1)\",\"rgba(28,14,48,1)\",\"rgba(23,10,35,1)\",\"rgba(85,24,115,1)\",\"rgba(92,26,118,1)\",\"rgba(32,15,57,1)\",\"rgba(62,18,107,1)\",\"rgba(47,16,94,1)\"],\"opacity\":0.7,\"size\":7.55905511811024,\"symbol\":\"circle\",\"line\":{\"width\":1.88976377952756,\"color\":[\"rgba(123,35,130,1)\",\"rgba(34,15,62,1)\",\"rgba(128,36,129,1)\",\"rgba(34,15,62,1)\",\"rgba(47,16,94,1)\",\"rgba(118,33,128,1)\",\"rgba(96,27,119,1)\",\"rgba(62,18,107,1)\",\"rgba(133,38,128,1)\",\"rgba(66,19,108,1)\",\"rgba(109,31,124,1)\",\"rgba(41,16,77,1)\",\"rgba(109,31,124,1)\",\"rgba(28,14,48,1)\",\"rgba(154,44,124,1)\",\"rgba(28,14,48,1)\",\"rgba(160,46,123,1)\",\"rgba(0,0,4,1)\",\"rgba(96,27,119,1)\",\"rgba(50,16,99,1)\",\"rgba(34,15,62,1)\",\"rgba(79,22,113,1)\",\"rgba(133,38,128,1)\",\"rgba(75,21,111,1)\",\"rgba(79,22,113,1)\",\"rgba(70,20,110,1)\",\"rgba(37,15,67,1)\",\"rgba(114,32,126,1)\",\"rgba(41,16,77,1)\",\"rgba(57,17,105,1)\",\"rgba(105,29,123,1)\",\"rgba(75,21,111,1)\",\"rgba(21,8,30,1)\",\"rgba(66,19,108,1)\",\"rgba(47,16,94,1)\",\"rgba(83,23,114,1)\",\"rgba(57,17,105,1)\",\"rgba(139,39,127,1)\",\"rgba(50,16,99,1)\",\"rgba(181,54,119,1)\",\"rgba(34,15,62,1)\",\"rgba(144,41,126,1)\",\"rgba(101,28,121,1)\",\"rgba(41,16,77,1)\",\"rgba(88,24,116,1)\",\"rgba(154,44,124,1)\",\"rgba(47,16,94,1)\",\"rgba(70,20,110,1)\",\"rgba(53,16,104,1)\",\"rgba(92,26,118,1)\",\"rgba(53,16,104,1)\",\"rgba(133,38,128,1)\",\"rgba(79,22,113,1)\",\"rgba(88,24,116,1)\",\"rgba(75,21,111,1)\",\"rgba(144,41,126,1)\",\"rgba(79,22,113,1)\",\"rgba(128,36,129,1)\",\"rgba(41,16,77,1)\",\"rgba(154,44,124,1)\",\"rgba(53,16,104,1)\",\"rgba(133,38,128,1)\",\"rgba(37,15,67,1)\",\"rgba(105,29,123,1)\",\"rgba(34,15,62,1)\",\"rgba(30,14,53,1)\",\"rgba(105,29,123,1)\",\"rgba(41,16,77,1)\",\"rgba(101,28,121,1)\",\"rgba(79,22,113,1)\",\"rgba(70,20,110,1)\",\"rgba(62,18,107,1)\",\"rgba(105,29,123,1)\",\"rgba(30,14,53,1)\",\"rgba(114,32,126,1)\",\"rgba(23,10,35,1)\",\"rgba(101,28,121,1)\",\"rgba(25,11,39,1)\",\"rgba(112,31,125,1)\",\"rgba(45,16,88,1)\",\"rgba(103,29,122,1)\",\"rgba(50,16,99,1)\",\"rgba(101,28,121,1)\",\"rgba(39,16,72,1)\",\"rgba(114,32,126,1)\",\"rgba(53,16,104,1)\",\"rgba(90,25,117,1)\",\"rgba(41,16,77,1)\",\"rgba(83,23,114,1)\",\"rgba(47,16,94,1)\",\"rgba(101,28,121,1)\",\"rgba(37,15,67,1)\",\"rgba(92,26,118,1)\",\"rgba(62,18,107,1)\",\"rgba(85,24,115,1)\",\"rgba(90,25,117,1)\",\"rgba(112,31,125,1)\",\"rgba(57,17,105,1)\",\"rgba(92,26,118,1)\",\"rgba(39,16,72,1)\",\"rgba(81,23,114,1)\",\"rgba(43,16,83,1)\",\"rgba(43,16,83,1)\",\"rgba(105,29,123,1)\",\"rgba(43,16,83,1)\",\"rgba(116,33,127,1)\",\"rgba(43,16,83,1)\",\"rgba(79,22,113,1)\",\"rgba(25,11,39,1)\",\"rgba(109,31,124,1)\",\"rgba(43,16,83,1)\",\"rgba(136,38,128,1)\",\"rgba(28,14,48,1)\",\"rgba(23,10,35,1)\",\"rgba(85,24,115,1)\",\"rgba(92,26,118,1)\",\"rgba(32,15,57,1)\",\"rgba(62,18,107,1)\",\"rgba(47,16,94,1)\"]}},\"hoveron\":\"points\",\"showlegend\":false,\"xaxis\":\"x3\",\"yaxis\":\"y\",\"hoverinfo\":\"text\",\"frame\":null},{\"x\":[15],\"y\":[40],\"name\":\"99_3ae0f7dc1d895439fc6c83600d686c20\",\"type\":\"scatter\",\"mode\":\"markers\",\"opacity\":0,\"hoverinfo\":\"skip\",\"showlegend\":false,\"marker\":{\"color\":[0,1],\"colorscale\":[[0,\"#FECE91\"],[0.00334448160535125,\"#FECD90\"],[0.00668896321070251,\"#FECB8F\"],[0.0100334448160538,\"#FECA8E\"],[0.013377926421405,\"#FEC98D\"],[0.0167224080267563,\"#FEC78C\"],[0.0200668896321075,\"#FEC68C\"],[0.0234113712374577,\"#FEC48B\"],[0.026755852842809,\"#FEC38A\"],[0.0301003344481602,\"#FEC289\"],[0.0334448160535115,\"#FEC088\"],[0.0367892976588628,\"#FEBF87\"],[0.040133779264214,\"#FEBE86\"],[0.0434782608695653,\"#FEBC85\"],[0.0468227424749165,\"#FEBB84\"],[0.0501672240802678,\"#FEBA84\"],[0.053511705685619,\"#FEB883\"],[0.0568561872909703,\"#FEB782\"],[0.0602006688963215,\"#FEB581\"],[0.0635451505016717,\"#FEB480\"],[0.066889632107023,\"#FEB37F\"],[0.0702341137123743,\"#FEB17E\"],[0.0735785953177255,\"#FEB07D\"],[0.0769230769230768,\"#FEAF7C\"],[0.080267558528428,\"#FEAD7C\"],[0.0836120401337793,\"#FEAC7B\"],[0.0869565217391305,\"#FEAA7A\"],[0.0903010033444818,\"#FEA979\"],[0.093645484949833,\"#FEA878\"],[0.0969899665551843,\"#FDA677\"],[0.100334448160536,\"#FDA576\"],[0.103678929765887,\"#FDA375\"],[0.107023411371237,\"#FDA275\"],[0.110367892976588,\"#FDA074\"],[0.11371237458194,\"#FD9F73\"],[0.117056856187292,\"#FD9E72\"],[0.120401337792642,\"#FD9C71\"],[0.123745819397994,\"#FD9B70\"],[0.127090301003345,\"#FD996F\"],[0.130434782608695,\"#FC986F\"],[0.133779264214047,\"#FC976E\"],[0.137123745819397,\"#FC956D\"],[0.14046822742475,\"#FC946C\"],[0.1438127090301,\"#FC926B\"],[0.147157190635452,\"#FC916A\"],[0.150501672240802,\"#FC8F69\"],[0.153846153846155,\"#FB8E69\"],[0.157190635451505,\"#FB8C68\"],[0.160535117056857,\"#FB8B67\"],[0.163879598662207,\"#FB8966\"],[0.16722408026756,\"#FB8865\"],[0.17056856187291,\"#FB8664\"],[0.17391304347826,\"#FA8563\"],[0.177257525083612,\"#FA8363\"],[0.180602006688963,\"#FA8262\"],[0.183946488294315,\"#FA8061\"],[0.187290969899665,\"#FA7F60\"],[0.190635451505017,\"#FA7D5F\"],[0.193979933110368,\"#F97C5E\"],[0.19732441471572,\"#F97A5E\"],[0.20066889632107,\"#F9795D\"],[0.204013377926422,\"#F8785E\"],[0.207357859531773,\"#F7775E\"],[0.210702341137123,\"#F6765E\"],[0.214046822742475,\"#F6755F\"],[0.217391304347825,\"#F5745F\"],[0.220735785953178,\"#F47360\"],[0.224080267558528,\"#F37260\"],[0.22742474916388,\"#F27161\"],[0.23076923076923,\"#F17061\"],[0.234113712374583,\"#F16F61\"],[0.237458193979933,\"#F06E62\"],[0.240802675585285,\"#EF6D62\"],[0.244147157190635,\"#EE6C63\"],[0.247491638795988,\"#ED6B63\"],[0.250836120401338,\"#EC6A63\"],[0.254180602006688,\"#EB6964\"],[0.25752508361204,\"#EB6864\"],[0.260869565217391,\"#EA6765\"],[0.264214046822743,\"#E96665\"],[0.267558528428093,\"#E86565\"],[0.270903010033445,\"#E76566\"],[0.274247491638796,\"#E66466\"],[0.277591973244148,\"#E66367\"],[0.280936454849498,\"#E56267\"],[0.28428093645485,\"#E46167\"],[0.287625418060201,\"#E36068\"],[0.290969899665553,\"#E25F68\"],[0.294314381270903,\"#E15E68\"],[0.297658862876253,\"#E05D69\"],[0.301003344481606,\"#E05C69\"],[0.304347826086956,\"#DF5B6A\"],[0.307692307692308,\"#DE5A6A\"],[0.311036789297658,\"#DD596A\"],[0.314381270903011,\"#DC586B\"],[0.317725752508361,\"#DB576B\"],[0.321070234113713,\"#DB566B\"],[0.324414715719063,\"#DA556C\"],[0.327759197324416,\"#D9546C\"],[0.331103678929766,\"#D8536C\"],[0.334448160535116,\"#D7526D\"],[0.337792642140468,\"#D6516D\"],[0.341137123745819,\"#D5506D\"],[0.344481605351171,\"#D44F6E\"],[0.347826086956521,\"#D44E6E\"],[0.351170568561873,\"#D34D6E\"],[0.354515050167224,\"#D24B6F\"],[0.357859531772576,\"#D14A6F\"],[0.361204013377926,\"#D0496F\"],[0.364548494983278,\"#CF4870\"],[0.367892976588629,\"#CE4770\"],[0.371237458193981,\"#CE4670\"],[0.374581939799331,\"#CD4571\"],[0.377926421404681,\"#CC4471\"],[0.381270903010034,\"#CB4371\"],[0.384615384615384,\"#CA4272\"],[0.387959866220736,\"#C94172\"],[0.391304347826086,\"#C84072\"],[0.394648829431439,\"#C73F73\"],[0.397993311036789,\"#C73E73\"],[0.401337792642141,\"#C63D73\"],[0.404682274247491,\"#C43C73\"],[0.408026755852844,\"#C33C74\"],[0.411371237458194,\"#C23B74\"],[0.414715719063546,\"#C13B74\"],[0.418060200668896,\"#C03A74\"],[0.421404682274247,\"#BE3A75\"],[0.424749163879599,\"#BD3975\"],[0.428093645484949,\"#BC3975\"],[0.431438127090301,\"#BB3976\"],[0.434782608695652,\"#BA3876\"],[0.438127090301004,\"#B93876\"],[0.441471571906354,\"#B73776\"],[0.444816053511706,\"#B63777\"],[0.448160535117057,\"#B53677\"],[0.451505016722409,\"#B43677\"],[0.454849498327759,\"#B33577\"],[0.458193979933111,\"#B13578\"],[0.461538461538462,\"#B03478\"],[0.464882943143812,\"#AF3478\"],[0.468227424749164,\"#AE3378\"],[0.471571906354514,\"#AD3379\"],[0.474916387959867,\"#AB3379\"],[0.478260869565217,\"#AA3279\"],[0.481605351170569,\"#A93279\"],[0.484949832775919,\"#A8317A\"],[0.488294314381272,\"#A6317A\"],[0.491638795986622,\"#A5307A\"],[0.494983277591974,\"#A4307A\"],[0.498327759197324,\"#A32F7B\"],[0.501672240802677,\"#A22F7B\"],[0.505016722408027,\"#A02F7B\"],[0.508361204013377,\"#9F2E7B\"],[0.511705685618729,\"#9E2E7C\"],[0.51505016722408,\"#9D2D7C\"],[0.518394648829432,\"#9B2D7C\"],[0.521739130434782,\"#9A2C7C\"],[0.525083612040134,\"#992C7D\"],[0.528428093645485,\"#982C7D\"],[0.531772575250837,\"#962B7D\"],[0.535117056856187,\"#952B7D\"],[0.538461538461539,\"#942A7E\"],[0.54180602006689,\"#932A7E\"],[0.54515050167224,\"#91297E\"],[0.548494983277592,\"#90297E\"],[0.551839464882942,\"#8F297F\"],[0.555183946488295,\"#8E287F\"],[0.558528428093645,\"#8C287F\"],[0.561872909698997,\"#8B277F\"],[0.565217391304347,\"#8A2780\"],[0.5685618729097,\"#882780\"],[0.57190635451505,\"#872680\"],[0.575250836120402,\"#862680\"],[0.578595317725752,\"#852581\"],[0.581939799331105,\"#832581\"],[0.585284280936455,\"#822581\"],[0.588628762541805,\"#812481\"],[0.591973244147157,\"#7F2481\"],[0.595317725752508,\"#7E2482\"],[0.59866220735786,\"#7D2382\"],[0.60200668896321,\"#7B2382\"],[0.605351170568562,\"#7A2281\"],[0.608695652173913,\"#792281\"],[0.612040133779265,\"#782280\"],[0.615384615384615,\"#772180\"],[0.618729096989967,\"#75217F\"],[0.622073578595318,\"#74217F\"],[0.625418060200668,\"#73207F\"],[0.62876254180602,\"#72207E\"],[0.63210702341137,\"#71207E\"],[0.635451505016723,\"#701F7D\"],[0.638795986622073,\"#6E1F7D\"],[0.642140468227425,\"#6D1F7C\"],[0.645484949832775,\"#6C1E7C\"],[0.648829431438128,\"#6B1E7B\"],[0.652173913043478,\"#6A1E7B\"],[0.65551839464883,\"#691D7A\"],[0.65886287625418,\"#671D7A\"],[0.662207357859533,\"#661D7A\"],[0.665551839464883,\"#651C79\"],[0.668896321070233,\"#641C79\"],[0.672240802675585,\"#631C78\"],[0.675585284280936,\"#611B78\"],[0.678929765886288,\"#601B77\"],[0.682274247491638,\"#5F1B77\"],[0.68561872909699,\"#5E1A76\"],[0.688963210702341,\"#5D1A76\"],[0.692307692307693,\"#5C1A75\"],[0.695652173913043,\"#5A1975\"],[0.698996655518396,\"#591975\"],[0.702341137123746,\"#581974\"],[0.705685618729098,\"#571874\"],[0.709030100334448,\"#561873\"],[0.712374581939798,\"#541873\"],[0.715719063545151,\"#531772\"],[0.719063545150501,\"#521772\"],[0.722408026755853,\"#511771\"],[0.725752508361203,\"#4F1671\"],[0.729096989966556,\"#4E1671\"],[0.732441471571906,\"#4D1670\"],[0.735785953177258,\"#4C1570\"],[0.739130434782608,\"#4B156F\"],[0.742474916387961,\"#49156F\"],[0.745819397993311,\"#48156E\"],[0.749163879598663,\"#47146E\"],[0.752508361204013,\"#46146D\"],[0.755852842809364,\"#44146D\"],[0.759197324414716,\"#43136C\"],[0.762541806020066,\"#42136C\"],[0.765886287625418,\"#41136C\"],[0.769230769230769,\"#3F136B\"],[0.772575250836121,\"#3E126B\"],[0.775919732441471,\"#3D126A\"],[0.779264214046823,\"#3B126A\"],[0.782608695652174,\"#3A1169\"],[0.785953177257526,\"#391169\"],[0.789297658862876,\"#371168\"],[0.792642140468228,\"#361168\"],[0.795986622073579,\"#351068\"],[0.799331103678929,\"#331067\"],[0.802675585284281,\"#321066\"],[0.806020066889631,\"#321064\"],[0.809364548494984,\"#311062\"],[0.812709030100334,\"#301060\"],[0.816053511705686,\"#30105F\"],[0.819397993311036,\"#2F105D\"],[0.822742474916389,\"#2E105B\"],[0.826086956521739,\"#2E105A\"],[0.829431438127091,\"#2D1058\"],[0.832775919732441,\"#2C1056\"],[0.836120401337794,\"#2C1055\"],[0.839464882943144,\"#2B1053\"],[0.842809364548494,\"#2A1051\"],[0.846153846153846,\"#2A1050\"],[0.849498327759197,\"#29104E\"],[0.852842809364549,\"#28104C\"],[0.856187290969899,\"#28104B\"],[0.859531772575251,\"#271049\"],[0.862876254180602,\"#261047\"],[0.866220735785954,\"#261046\"],[0.869565217391304,\"#250F44\"],[0.872909698996656,\"#240F43\"],[0.876254180602007,\"#240F41\"],[0.879598662207359,\"#230F3F\"],[0.882943143812709,\"#220F3E\"],[0.886287625418059,\"#210F3C\"],[0.889632107023412,\"#210F3B\"],[0.892976588628762,\"#200F39\"],[0.896321070234114,\"#1F0F37\"],[0.899665551839465,\"#1F0F36\"],[0.903010033444817,\"#1E0E34\"],[0.906354515050167,\"#1D0E33\"],[0.909698996655519,\"#1D0E31\"],[0.91304347826087,\"#1C0E30\"],[0.91638795986622,\"#1B0D2E\"],[0.919732441471572,\"#1B0D2D\"],[0.923076923076922,\"#1A0D2B\"],[0.926421404682275,\"#1A0C2A\"],[0.929765886287625,\"#190C28\"],[0.933110367892977,\"#180B27\"],[0.936454849498327,\"#180B25\"],[0.93979933110368,\"#170A24\"],[0.94314381270903,\"#170922\"],[0.946488294314382,\"#160921\"],[0.949832775919732,\"#15081F\"],[0.953177257525085,\"#14081E\"],[0.956521739130435,\"#14071D\"],[0.959866220735785,\"#13071B\"],[0.963210702341137,\"#11061A\"],[0.966555183946487,\"#100518\"],[0.96989966555184,\"#0F0517\"],[0.97324414715719,\"#0E0416\"],[0.976588628762542,\"#0C0414\"],[0.979933110367892,\"#0A0312\"],[0.983277591973245,\"#090310\"],[0.986622073578595,\"#07020E\"],[0.989966555183947,\"#05020C\"],[0.993311036789297,\"#030109\"],[0.99665551839465,\"#020107\"],[1,\"#000004\"]],\"colorbar\":{\"bgcolor\":\"rgba(255,255,255,1)\",\"bordercolor\":\"transparent\",\"borderwidth\":1.88976377952756,\"thickness\":23.04,\"title\":\"Body mass (g)\",\"titlefont\":{\"color\":\"rgba(0,0,0,1)\",\"family\":\"\",\"size\":14.6118721461187},\"tickmode\":\"array\",\"ticktext\":[\"8.1\",\"8.3\",\"8.5\",\"8.7\"],\"tickvals\":[0.234855954807489,0.470900455036257,0.706944955265021,0.942989455493789],\"tickfont\":{\"color\":\"rgba(0,0,0,1)\",\"family\":\"\",\"size\":11.689497716895},\"ticklen\":2,\"len\":0.5}},\"xaxis\":\"x\",\"yaxis\":\"y\",\"frame\":null}],\"layout\":{\"margin\":{\"t\":39.5616438356165,\"r\":7.30593607305936,\"b\":41.8264840182648,\"l\":37.2602739726027},\"plot_bgcolor\":\"rgba(255,255,255,1)\",\"paper_bgcolor\":\"rgba(255,255,255,1)\",\"font\":{\"color\":\"rgba(0,0,0,1)\",\"family\":\"\",\"size\":14.6118721461187},\"xaxis\":{\"domain\":[0,0.328942746750966],\"automargin\":true,\"type\":\"linear\",\"autorange\":false,\"range\":[12.68,21.92],\"tickmode\":\"array\",\"ticktext\":[\"15.0\",\"17.5\",\"20.0\"],\"tickvals\":[15,17.5,20],\"categoryorder\":\"array\",\"categoryarray\":[\"15.0\",\"17.5\",\"20.0\"],\"nticks\":null,\"ticks\":\"outside\",\"tickcolor\":\"rgba(0,0,0,1)\",\"ticklen\":3.65296803652968,\"tickwidth\":0.33208800332088,\"showticklabels\":true,\"tickfont\":{\"color\":\"rgba(0,0,0,1)\",\"family\":\"\",\"size\":11.689497716895},\"tickangle\":-0,\"showline\":false,\"linecolor\":null,\"linewidth\":0,\"showgrid\":false,\"gridcolor\":null,\"gridwidth\":0,\"zeroline\":false,\"anchor\":\"y\",\"title\":\"\",\"hoverformat\":\".2f\"},\"annotations\":[{\"text\":\"Bill depth (mm)\",\"x\":0.5,\"y\":-0.0221175799086758,\"showarrow\":false,\"ax\":0,\"ay\":0,\"font\":{\"color\":\"rgba(0,0,0,1)\",\"family\":\"\",\"size\":14.6118721461187},\"xref\":\"paper\",\"yref\":\"paper\",\"textangle\":-0,\"xanchor\":\"center\",\"yanchor\":\"top\",\"annotationType\":\"axis\"},{\"text\":\"Bill length (mm)\",\"x\":-0.013610818405339,\"y\":0.5,\"showarrow\":false,\"ax\":0,\"ay\":0,\"font\":{\"color\":\"rgba(0,0,0,1)\",\"family\":\"\",\"size\":14.6118721461187},\"xref\":\"paper\",\"yref\":\"paper\",\"textangle\":-90,\"xanchor\":\"right\",\"yanchor\":\"center\",\"annotationType\":\"axis\"},{\"text\":\"Adelie\",\"x\":0.164471373375483,\"y\":1,\"showarrow\":false,\"ax\":0,\"ay\":0,\"font\":{\"color\":\"rgba(255,255,255,1)\",\"family\":\"\",\"size\":11.689497716895},\"xref\":\"paper\",\"yref\":\"paper\",\"textangle\":-0,\"xanchor\":\"center\",\"yanchor\":\"bottom\"},{\"text\":\"Chinstrap\",\"x\":0.5,\"y\":1,\"showarrow\":false,\"ax\":0,\"ay\":0,\"font\":{\"color\":\"rgba(255,255,255,1)\",\"family\":\"\",\"size\":11.689497716895},\"xref\":\"paper\",\"yref\":\"paper\",\"textangle\":-0,\"xanchor\":\"center\",\"yanchor\":\"bottom\"},{\"text\":\"Gentoo\",\"x\":0.835528626624517,\"y\":1,\"showarrow\":false,\"ax\":0,\"ay\":0,\"font\":{\"color\":\"rgba(255,255,255,1)\",\"family\":\"\",\"size\":11.689497716895},\"xref\":\"paper\",\"yref\":\"paper\",\"textangle\":-0,\"xanchor\":\"center\",\"yanchor\":\"bottom\"}],\"yaxis\":{\"domain\":[0,1],\"automargin\":true,\"type\":\"linear\",\"autorange\":false,\"range\":[30.725,60.975],\"tickmode\":\"array\",\"ticktext\":[\"40\",\"50\",\"60\"],\"tickvals\":[40,50,60],\"categoryorder\":\"array\",\"categoryarray\":[\"40\",\"50\",\"60\"],\"nticks\":null,\"ticks\":\"outside\",\"tickcolor\":\"rgba(0,0,0,1)\",\"ticklen\":3.65296803652968,\"tickwidth\":0.33208800332088,\"showticklabels\":true,\"tickfont\":{\"color\":\"rgba(0,0,0,1)\",\"family\":\"\",\"size\":11.689497716895},\"tickangle\":-0,\"showline\":false,\"linecolor\":null,\"linewidth\":0,\"showgrid\":false,\"gridcolor\":null,\"gridwidth\":0,\"zeroline\":false,\"anchor\":\"x\",\"title\":\"\",\"hoverformat\":\".2f\"},\"shapes\":[{\"type\":\"rect\",\"fillcolor\":\"transparent\",\"line\":{\"color\":\"rgba(0,0,0,1)\",\"width\":0.66417600664176,\"linetype\":\"solid\"},\"yref\":\"paper\",\"xref\":\"paper\",\"x0\":0,\"x1\":0.328942746750966,\"y0\":0,\"y1\":1},{\"type\":\"rect\",\"fillcolor\":\"rgba(0,0,0,1)\",\"line\":{\"color\":\"rgba(0,0,0,1)\",\"width\":0.66417600664176,\"linetype\":\"solid\"},\"yref\":\"paper\",\"xref\":\"paper\",\"x0\":0,\"x1\":0.328942746750966,\"y0\":0,\"y1\":23.37899543379,\"yanchor\":1,\"ysizemode\":\"pixel\"},{\"type\":\"rect\",\"fillcolor\":\"transparent\",\"line\":{\"color\":\"rgba(0,0,0,1)\",\"width\":0.66417600664176,\"linetype\":\"solid\"},\"yref\":\"paper\",\"xref\":\"paper\",\"x0\":0.337723919915701,\"x1\":0.662276080084299,\"y0\":0,\"y1\":1},{\"type\":\"rect\",\"fillcolor\":\"rgba(0,0,0,1)\",\"line\":{\"color\":\"rgba(0,0,0,1)\",\"width\":0.66417600664176,\"linetype\":\"solid\"},\"yref\":\"paper\",\"xref\":\"paper\",\"x0\":0.337723919915701,\"x1\":0.662276080084299,\"y0\":0,\"y1\":23.37899543379,\"yanchor\":1,\"ysizemode\":\"pixel\"},{\"type\":\"rect\",\"fillcolor\":\"transparent\",\"line\":{\"color\":\"rgba(0,0,0,1)\",\"width\":0.66417600664176,\"linetype\":\"solid\"},\"yref\":\"paper\",\"xref\":\"paper\",\"x0\":0.671057253249034,\"x1\":1,\"y0\":0,\"y1\":1},{\"type\":\"rect\",\"fillcolor\":\"rgba(0,0,0,1)\",\"line\":{\"color\":\"rgba(0,0,0,1)\",\"width\":0.66417600664176,\"linetype\":\"solid\"},\"yref\":\"paper\",\"xref\":\"paper\",\"x0\":0.671057253249034,\"x1\":1,\"y0\":0,\"y1\":23.37899543379,\"yanchor\":1,\"ysizemode\":\"pixel\"}],\"xaxis2\":{\"type\":\"linear\",\"autorange\":false,\"range\":[12.68,21.92],\"tickmode\":\"array\",\"ticktext\":[\"15.0\",\"17.5\",\"20.0\"],\"tickvals\":[15,17.5,20],\"categoryorder\":\"array\",\"categoryarray\":[\"15.0\",\"17.5\",\"20.0\"],\"nticks\":null,\"ticks\":\"outside\",\"tickcolor\":\"rgba(0,0,0,1)\",\"ticklen\":3.65296803652968,\"tickwidth\":0.33208800332088,\"showticklabels\":true,\"tickfont\":{\"color\":\"rgba(0,0,0,1)\",\"family\":\"\",\"size\":11.689497716895},\"tickangle\":-0,\"showline\":false,\"linecolor\":null,\"linewidth\":0,\"showgrid\":false,\"domain\":[0.337723919915701,0.662276080084299],\"gridcolor\":null,\"gridwidth\":0,\"zeroline\":false,\"anchor\":\"y\",\"title\":\"\",\"hoverformat\":\".2f\"},\"xaxis3\":{\"type\":\"linear\",\"autorange\":false,\"range\":[12.68,21.92],\"tickmode\":\"array\",\"ticktext\":[\"15.0\",\"17.5\",\"20.0\"],\"tickvals\":[15,17.5,20],\"categoryorder\":\"array\",\"categoryarray\":[\"15.0\",\"17.5\",\"20.0\"],\"nticks\":null,\"ticks\":\"outside\",\"tickcolor\":\"rgba(0,0,0,1)\",\"ticklen\":3.65296803652968,\"tickwidth\":0.33208800332088,\"showticklabels\":true,\"tickfont\":{\"color\":\"rgba(0,0,0,1)\",\"family\":\"\",\"size\":11.689497716895},\"tickangle\":-0,\"showline\":false,\"linecolor\":null,\"linewidth\":0,\"showgrid\":false,\"domain\":[0.671057253249034,1],\"gridcolor\":null,\"gridwidth\":0,\"zeroline\":false,\"anchor\":\"y\",\"title\":\"\",\"hoverformat\":\".2f\"},\"showlegend\":false,\"legend\":{\"bgcolor\":\"rgba(255,255,255,1)\",\"bordercolor\":\"transparent\",\"borderwidth\":1.88976377952756,\"font\":{\"color\":\"rgba(0,0,0,1)\",\"family\":\"\",\"size\":11.689497716895}},\"hovermode\":\"closest\",\"barmode\":\"relative\"},\"config\":{\"doubleClick\":\"reset\",\"showSendToCloud\":false},\"source\":\"A\",\"attrs\":{\"6b0e3e5c8938\":{\"x\":{},\"y\":{},\"colour\":{},\"type\":\"scatter\"}},\"cur_data\":\"6b0e3e5c8938\",\"visdat\":{\"6b0e3e5c8938\":[\"function (y) \",\"x\"]},\"highlight\":{\"on\":\"plotly_click\",\"persistent\":false,\"dynamic\":false,\"selectize\":false,\"opacityDim\":0.2,\"selected\":{\"opacity\":1},\"debounce\":0},\"shinyEvents\":[\"plotly_hover\",\"plotly_click\",\"plotly_selected\",\"plotly_relayout\",\"plotly_brushed\",\"plotly_brushing\",\"plotly_clickannotation\",\"plotly_doubleclick\",\"plotly_deselect\",\"plotly_afterplot\",\"plotly_sunburstclick\"],\"base_url\":\"https://plot.ly\"},\"evals\":[],\"jsHooks\":[]}\nExample figures\n\n\nShow code\n\n# Script to make animated plot of volcano eruptions over time\n\n# Load libraries:\nlibrary(dplyr) # data manipulation\nlibrary(ggplot2) # plotting\nlibrary(gganimate) # animation\nlibrary(gifski) # creating gifs\n\n# set ggplot theme\ntheme_set(theme_classic() +\n theme(axis.title = element_text(size = 11, face = \"bold\"),\n axis.text = element_text(size = 11),\n plot.title = element_text(size = 13, face = \"bold\"),\n legend.title = element_text(size = 11, face = \"bold\"),\n legend.text = element_text(size = 10)))\n\n# function to floor a year to the decade\nfloor_decade = function(value){return(value - value %% 10)}\n\n# read data \neruptions <- readr::read_csv('https://raw.githubusercontent.com/rfordatascience/tidytuesday/master/data/2020/2020-05-12/eruptions.csv')\n\n# select top 5 most frequently exploding volcanoes\ntemp <- group_by(eruptions, volcano_name) %>% tally() \ntemp <- temp[order(temp$n, decreasing = TRUE),]\n\n# make a time series dataset (number of eruptions per year)\neruptions$start_decade = floor_decade(eruptions$start_year)\n\n# filter dataset to subset we want to visualize\ndf <- eruptions %>% \n filter(between(start_decade, 1900, 2019)) %>%\n filter(volcano_name %in% temp$volcano_name[1:5]) %>%\n group_by(start_decade) %>%\n count(volcano_name) %>% ungroup()\n\n# plot!\np <- ggplot(df, aes(x = start_decade, y = n, fill = volcano_name)) +\n geom_area() +\n geom_vline(aes(xintercept = start_decade)) + # line that follows the current decade\n scale_fill_viridis_d(option = \"magma\", end = .8) +\n labs(x = \"\", y = \"Number of eruptions\", fill = \"Volcano\",\n title = 'Eruptions of the top 5 most frequently erupting volcanos worldwide') +\n # gganimate part: reveals each decade\n transition_reveal(start_decade) \nanimate(p, duration = 5, fps = 20, width = 800, height = 300, renderer = gifski_renderer())\n\n\n\nShow code\n\n#anim_save(\"figures/volcano_eruptions.gif\")\n\n\n\n\n\nShow code\n\n# Script to generate plots with various ways of representing uncertainty, based \n# Coffee & Code dataset from https://www.kaggle.com/devready/coffee-and-code/data\n\n# set-up & data manipulation ---------------------------------------------------\n\n# load packages\nlibrary(ggplot2) # for plots, built layer by layer\nlibrary(dplyr) # for data manipulation\nlibrary(magrittr) # for piping\nlibrary(ggridges) # for density ridge plots\nlibrary(patchwork) # great package for \"patching\" plots together!\n\n# set ggplot theme\ntheme_set(theme_classic() +\n theme(axis.title = element_text(size = 11, face = \"bold\"),\n axis.text = element_text(size = 11),\n plot.title = element_text(size = 13, face = \"bold\"),\n legend.title = element_text(size = 11, face = \"bold\"),\n legend.text = element_text(size = 10)))\n\n# import data\ndf <- read.csv(\"data/coffee_code.csv\")\n\n# set labels to be used in all plots\ncoffee_labels <- labs(title = \"Does coffee help programmers code?\",\n x = \"Coffee while coding\", \n y = \"Time spent coding \\n(hours/day)\") \n\n# the variable CodingWithoutCoffee is negative, which is harder to understand\n# (i.e. \"No\" means they drink coffee...). So, let's transform it into a more \n# intuitive variable!\ndf$CodingWithCoffee <- gsub(\"No\", \"Usually\", df$CodingWithoutCoffee)\ndf$CodingWithCoffee <- gsub(\"Yes\", \"Rarely\\n or never\", df$CodingWithCoffee)\n# convert to factor and set levels so they show up in a logical order\ndf$CodingWithCoffee <- factor(df$CodingWithCoffee,\n levels = c(\"Rarely\\n or never\", \n \"Sometimes\", \n \"Usually\"))\n\n# calculate summary statistics for the variable of choice\ndf_summary <- group_by(df, CodingWithCoffee) %>%\n summarise(\n # mean\n mean_codinghours = mean(CodingHours), \n # standard deviation\n sd_codinghours = sd(CodingHours), \n # standard error\n se_codinghours = sd(CodingHours)/sqrt(length(CodingHours)))\n\n\n# 1. Error bars (standard error) -----------------------------------------------\n\nggplot(df_summary) +\n geom_errorbar(aes(x = CodingWithCoffee, \n ymin = mean_codinghours - se_codinghours,\n ymax = mean_codinghours + se_codinghours), \n width = .2) +\n geom_point(aes(x = CodingWithCoffee, y = mean_codinghours), \n size = 3) +\n coffee_labels + ylim(0,10)\n\n\n\nShow code\n\nggsave(\"figures/coffee_errorbars.png\", width = 5, height = 3, units = \"in\")\n\n# 2. Boxplot -------------------------------------------------------------------\n\nggplot(df) +\n geom_boxplot(aes(x = CodingWithCoffee, y = CodingHours)) +\n coffee_labels\n\n\n\nShow code\n\nggsave(\"figures/coffee_boxplot.png\", width = 5, height = 3, units = \"in\")\n\n\n# 3. Error bar demonstration ---------------------------------------------------\n\n# get some nice colours from viridis (magma)\nerror_cols <- viridis::viridis_pal(option = \"magma\")(5)[2:4]\n# set labels to be used in the palette\nerror_labels = c(\"standard deviation\",\"95% confidence interval\",\"standard error\")\n\nggplot(df_summary) +\n # show the raw data\n geom_jitter(data = df, aes(x = CodingWithCoffee, \n y = CodingHours),\n alpha = .5, width = .05, col = \"grey\") +\n # standard deviation\n geom_errorbar(aes(x = CodingWithCoffee, \n ymin = mean_codinghours - sd_codinghours,\n ymax = mean_codinghours + sd_codinghours,\n col = \"SD\"), width = .2, lwd = 1) +\n # 95% confidence interval\n geom_errorbar(aes(x = CodingWithCoffee, \n ymin = mean_codinghours - 1.96*se_codinghours,\n ymax = mean_codinghours + 1.96*se_codinghours, \n col = \"CI\"), width = .2, lwd = 1) +\n # standard error\n geom_errorbar(aes(x = CodingWithCoffee, \n ymin = mean_codinghours - se_codinghours,\n ymax = mean_codinghours + se_codinghours, \n col = \"SE\"), width = .2, lwd = 1) +\n geom_point(aes(x = CodingWithCoffee, y = mean_codinghours), \n size = 3) +\n coffee_labels + ylim(c(0,11)) +\n # manual palette/legend set-up!\n scale_colour_manual(name = \"Uncertainty metric\", \n values = c(SD = error_cols[1], \n CI = error_cols[2], \n SE = error_cols[3]),\n labels = error_labels) +\n theme(legend.position = \"top\")\n\n\n\nShow code\n\nggsave(\"figures/coffee_bars_demo.png\", width = 7, height = 5, units = \"in\")\n\n\n# 4. Jitter plot with violin ---------------------------------------------------\n\nggplot() +\n geom_jitter(data = df, aes(x = CodingWithCoffee, \n y = CodingHours),\n alpha = .5, width = .05, col = \"grey\") +\n geom_violin(data = df, aes(x = CodingWithCoffee, \n y = CodingHours), alpha = 0) +\n geom_linerange(data = df_summary,\n aes(x = CodingWithCoffee, \n ymin = mean_codinghours - se_codinghours,\n ymax = mean_codinghours + se_codinghours)) +\n geom_point(data = df_summary, \n aes(x = CodingWithCoffee, \n y = mean_codinghours), size = 3) +\n coffee_labels\n\n\n\nShow code\n\nggsave(\"figures/coffee_violin_jitter.png\", width = 5, height = 3, units = \"in\")\n\n\n# 5. Density ridge plot --------------------------------------------------------\n\nggplot(df) + \n aes(y = CodingWithCoffee, x = CodingHours, fill = stat(x)) +\n geom_density_ridges_gradient(scale = 1.9, size = .2, rel_min_height = 0.005) +\n # colour palette (gradient according to CodingHours)\n scale_fill_viridis_c(option = \"magma\", direction = -1) +\n # remove legend - it's not necessary here!\n theme(legend.position = \"none\") +\n labs(title = coffee_labels$title, \n x = coffee_labels$y, \n y = \"Coffee \\nwhile coding\") + \n theme(axis.title.y = element_text(angle=0, hjust = 1, vjust = .9, \n margin = margin(t = 0, r = -50, b = 0, l = 0)))\n\n\n\nShow code\n\nggsave(\"figures/coffee_density_ridges.png\", width = 5, height = 3, units = \"in\")\n\n# 6. Jitter vs. Rug plot ------------------------------------------------------------------\n\njitterplot <- ggplot(df, aes(x = CoffeeCupsPerDay, y = CodingHours)) +\n geom_jitter(alpha = .2) +\n geom_smooth(fill = error_cols[1], col = \"black\", method = lm, lwd = .7) +\n coffee_labels + ylim(c(0,11)) + labs(x = \"Cups of coffee (per day)\")\n\nrugplot <- ggplot(df, aes(x = CoffeeCupsPerDay, y = CodingHours)) +\n geom_smooth(fill = error_cols[1], col = \"black\", method = lm, lwd = .7) +\n geom_rug(position=\"jitter\", alpha = .7) + ylim(c(0,11)) +\n coffee_labels + labs(x = \"Cups of coffee (per day)\")\n\n# patch the two plots together\njitterplot + rugplot\n\n\n\nShow code\n\n#ggsave(\"figures/coffee_jitter_vs_rugplot.png\", width = 10, height = 4, units = \"in\")\n\n\n\n\n\nShow code\n\n# Script to generate 95% confidence intervals of a generated random normal distribution\n# as an example in Day 2: Visualizing uncertainty.\n\n# load library\nlibrary(ggplot2)\nlibrary(magrittr)\nlibrary(dplyr)\n\n# set ggplot theme\ntheme_set(theme_classic() +\n theme(axis.title = element_text(size = 11, face = \"bold\"),\n axis.text = element_text(size = 11),\n plot.title = element_text(size = 13, face = \"bold\"),\n legend.title = element_text(size = 11, face = \"bold\"),\n legend.text = element_text(size = 10)))\n\n# set random seed\nset.seed(22)\n\n# generate population (random normal distribution)\ndf <- data.frame(\"value\" = rnorm(50, mean = 0, sd = 1))\n\n# descriptive stats for each distribution\ndesc_stats = df %>% \n summarise(mean_val = mean(value, na.rm = TRUE),\n se_val = sqrt(var(value)/length(value)))\n\n# build density plot!\np <- ggplot(data = df, aes(x = value, y = ..count..)) +\n geom_density(alpha = .2, lwd = .3) +\n xlim(c(min(df$value-1), max(df$value+1))) \n# extract plotted values\nbase_p <- ggplot_build(p)$data[[1]]\n# shade the 95% confidence interval\np + \n geom_area(data = subset(base_p, \n between(x, \n left = (desc_stats$mean_val - 1.96*desc_stats$se_val),\n right = (desc_stats$mean_val + 1.96*desc_stats$se_val))),\n aes(x = x, y = y), fill = \"cadetblue3\", alpha = .6) +\n # add vertical line to show population mean\n geom_vline(aes(xintercept = 0), lty = 2) +\n annotate(\"text\", x = 0.9, y = 19, label = \"True mean\", fontface = \"italic\") +\n # label axis!\n labs(x = \"Variable of interest\", y = \"\") \n\n\n\nShow code\n\n#ggsave(\"figures/confidenceinterval_example.png\", width = 5, height = 3.5, units = \"in\")\n\n\n\nAnnotated resource library\nThis is an annotated library of data visualization resources we used to build the BIOS² Data Visualization Training, as well as some bonus resources we didn’t have the time to include. Feel free to save this page as a reference for your data visualization adventures!\nBooks & articles\nFundamentals of Data Visualization A primer on making informative and compelling figures. This is the website for the book “Fundamentals of Data Visualization” by Claus O. Wilke, published by O’Reilly Media, Inc.\nData Visualization: A practical introduction An accessible primer on how to create effective graphics from data using R (mainly ggplot). This book provides a hands-on introduction to the principles and practice of data visualization, explaining what makes some graphs succeed while others fail, how to make high-quality figures from data using powerful and reproducible methods, and how to think about data visualization in an honest and effective way.\nData Science Design (Chapter 6: Visualizing Data) Covers the principles that make standard plot designs work, show how they can be misleading if not properly used, and develop a sense of when graphs might be lying, and how to construct better ones.\nGraphical Perception: Theory, Experimentation, and Application to the Development of Graphical Methods Cleveland, William S., and Robert McGill. “Graphical Perception: Theory, Experimentation, and Application to the Development of Graphical Methods.” Journal of the American Statistical Association, vol. 79, no. 387, 1984, pp. 531–554. JSTOR, www.jstor.org/stable/2288400. Accessed 9 Oct. 2020.\nGraphical Perception and Graphical Methods for Analyzing Scientific Data Cleveland, William S., and Robert McGill. “Graphical perception and graphical methods for analyzing scientific data.” Science 229.4716 (1985): 828-833.\nFrom Static to Interactive: Transforming Data Visualization to Improve Transparency Weissgerber TL, Garovic VD, Savic M, Winham SJ, Milic NM (2016) designed an interactive line graph that demonstrates how dynamic alternatives to static graphics for small sample size studies allow for additional exploration of empirical datasets. This simple, free, web-based tool demonstrates the overall concept and may promote widespread use of interactive graphics.\nData visualization: ambiguity as a fellow traveler Research that is being done about how to visualize uncertainty in data visualizations. Marx, V. Nat Methods 10, 613–615 (2013). https://doi.org/10.1038/nmeth.2530\nData visualization standards Collection of guidance and resources to help create better data visualizations with less effort.\nDesign principles\nGestalt Principles for Data Visualization: Similarity, Proximity & Enclosure Short visual guide to the Gestalt Principles.\nWhy scientists need to be better at data visualization A great overview of principles that could improve how we visualize scientific data and results.\nA collection of graphic pitfalls A collection of short articles about common issues with data visualizations that can mislead or obscure your message.\nChoosing a visualization\nData Viz Project This is a great place to get inspiration and guidance about how to choose an appropriate visualization. There are many visualizations we are not used to seeing in ecology!\nFrom data to Viz | Find the graphic you need Interactive tool to choose an appropriate visualization type for your data.\nColour\nWhat to consider when choosing colors for data visualization A short, visual guide on things to keep in mind when using colour, such as when and how to use colour gradients, the colour grey, etc.\nColorBrewer: Color Advice for Maps Tool to generate colour palettes for visualizations with colorblind-friendly options. You can also use these palettes in R using the RColorBrewer package, and the scale_*_brewer() (for discrete palettes) or scale_*_distiller() (for continuous palettes) functions in ggplot2.\nColor.review Tool to pick or verify colour palettes with high relative contrast between colours, to ensure your information is readable for everyone.\nCoblis — Color Blindness Simulator Tool to upload an image and view it as they would appear to a colorblind person, with the option to simulate several color-vision deficiencies.\n500+ Named Colours with rgb and hex values List of named colours along with their hex values.\nCartoDB/CartoColor CARTOColors are a set of custom color palettes built on top of well-known standards for color use on maps, with next generation enhancements for the web and CARTO basemaps. Choose from a selection of sequential, diverging, or qualitative schemes for your next CARTO powered visualization using their online module.\nTools\nR\nThe R Graph Gallery A collection of charts made with the R programming language. Hundreds of charts are displayed in several sections, always with their reproducible code available. The gallery makes a focus on the tidyverse and ggplot2.\nBase R\nCheatsheet: Margins in base R Edit your margins in base R to accommodate axis titles, legends, captions, etc.!\nCustomizing tick marks in base R Seems like a simple thing, but it can be so frustrating! This is a great post about customizing tick marks with base plot in R.\nAnimations in R (for time series) If you want to use animations but don’t want to use ggplot2, this demo might help you!\nggplot2\nCheatsheet: ggplot2 Cheatsheet for ggplot2 in R - anything you want to do is probably covered here!\nCoding Club tutorial: Data Viz Part 1 - Beautiful and informative data visualization Great tutorial demonstrating how to customize titles, subtitles, captions, labels, colour palettes, and themes in ggplot2.\nCoding Club tutorial: Data Viz Part 2 - Customizing your figures Great tutorial demonstrating how to customize titles, subtitles, captions, labels, colour palettes, and themes in ggplot2.\nggplot flipbook A flipbook-style demonstration that builds and customizes plots line by line using ggplot in R.\ngganimate: A Grammar of Animated Graphics Package to create animated graphics in R (with ggplot2).\nPython\nThe Python Graph Gallery This website displays hundreds of charts, always providing the reproducible python code.\nPython Tutorial: Intro to Matplotlib Introduction to basic functionalities of the Python’s library Matplotlib covering basic plots, plot attributes, subplots and plotting the iris dataset.\nThe Art of Effective Visualization of Multi-dimensional Data Covers both univariate (one-dimension) and multivariate (multi-dimensional) data visualization strategies using the Python machine learning ecosystem.\nJulia\nJulia Plots Gallery Display of various plots with reproducible code in Julia.\nPlots in Julia Documentation for the Plots package in Julia, including demonstrations for animated plots, and links to tutorials.\nAnimations in Julia How to start making animated plots in Julia.\nCustomization\nChart Studio Web editor to create interactive plots with plotly. You can download the image as .html, or static images, without coding the figure yourself.\nPhyloPic Vector images of living organisms. This is great for ecologists who want to add silhouettes of their organisms onto their plots - search anything, and you will likely find it!\nAdd icons on your R plot Add special icons to your plot as a great way to customize it, and save space with labels!\nInspiration (pretty things!)\nInformation is Beautiful Collection of beautiful original visualizations about a variety of topics!\nTidyTuesday A weekly data project aimed at the R ecosystem, where people wrangle and visualize data in loads of creative ways. Browse what people have created (#TidyTuesday on Twitter is great too!), and the visualizations that have inspired each week’s theme.\nWind currents on Earth Dynamic and interactive map of wind currents on Earth.\nA Day in the Life of Americans Dynamic visualisation of how Americans spend their time in an average day.\n2019: The Year in Visual Stories and Graphics Collection of the most popular visualizations by the New York Times in 2019.\n\n\n\n", "preview": "posts/2020-09-21-data-visualization/thumb.jpg", - "last_modified": "2021-04-30T21:20:13-04:00", + "last_modified": "2021-05-19T11:56:36-04:00", "input_file": {} }, { @@ -206,7 +206,7 @@ ], "contents": "\n\nContents\nDay 1\nDay 2\nSession 1: The basics of science communication\nSession 2: Social media as a science communication tool\n\nThe objective of this training is to share and discuss the concepts and tools that contribute to effective science communication. The training is split into two sessions, which cover the basic concepts of effective science communication and how social media tools can be used to boost the signal of your research and extend your research network. Each training takes the form of a presentation interspersed with several short activity modules, where participants are invited to use the tools we will be discussing to kickstart their own science communication.\nThis training was given on June 1 and 2, 2020. You can view recordings of each session here:\nDay 1\n\n\nDay 2\n\n\nSession 1: The basics of science communication\nObjectives:\nDiscuss what science communication (or SciComm) can be, and its potential role in boosting the signal of your research\nMake an overview of basic concepts and tools that you can use in any medium (blog posts, presentations, conversations, twitter, etc.) to do effective science communication\nDuring this session, we:\nDiscuss the potential pitfalls of science communication (notably, diversity and inclusivity problems).\nCover the basic concepts of science communication, including the Golden Circle method, the creation of personas, and storytelling techniques.\nHave short activities where participants can try to use some of the techniques we will be covering, such as filling in their own Golden Circle and explaining a blog post as a storyboard.\n\n\n\nSession 2: Social media as a science communication tool\nObjectives:\nRethink the way we write about science by exploring the world of blog posts\nClarify the mechanics of Twitter and how it can be used effectively for science communication\nDuring this session, we:\nDiscuss how to create a story structure using titles and the flow of ideas in blog posts, especially when we are used to writing scientific articles\nCover the basics of how Twitter works (retweets, threads, replies, hashtags, photo captions, etc.) and how to find helpful connections\nHave short activities where participants will be invited to write their own Twitter biographies and to create a Twitter thread explaining a project of their choice.\n\n\n\n\n\n\n", "preview": "posts/2020-06-15-science-communication/scicomm_training.png", - "last_modified": "2021-04-28T11:53:48-04:00", + "last_modified": "2021-05-19T11:56:36-04:00", "input_file": {}, "preview_width": 1548, "preview_height": 800 @@ -228,7 +228,7 @@ ], "contents": "\n\nContents\nPartie 2 - Recherche en collaboration avec les communautés autochtones\nObjectifs de la formation :\nDurant ce webminaire, nous allons: \nRessources\nBalados\nLectures, sites internet\nFilmographie\nRéférences\n\nFormatrice :\n\n\nPartie 2 - Recherche en collaboration avec les communautés autochtones\nObjectifs de la formation :\nEntamer une réflexion collective envers nos pratiques de recherche et comment s’engager de manière significative avec les communautés autochtones.\nDévelopper une meilleure compréhension des perceptions et attentes des communautés envers la recherche et les chercheurs.\nDurant ce webminaire, nous allons: \nMieux comprendre la nécessité de prendre en compte les connaissances autochtones dans divers aspects de la gestion environnementale au Canada; \nDiscuter du désir des communauté d’avoir une présence accrue dans le milieu de la recherche : comment faire?\nAborder et débattre des différentes approches méthodologiques pour établir des ponts en les connaissances autochtones et scientifiques.\nRessources\nBalados\n\nLectures, sites internet\nTruth and Reconciliation Commission Reports\nFinal Report: National Inquiry into Missing and Murdered Indigenous Women and Girls\nReport of the Royal Commission on Aboriginal Peoples\nMythes et réalités sur les peuples autochtones\nWhere are the children? Healing the legacy of the residential schools\nIndigenous Canada (Coursera)\n“Indigenous Writes,” by Chelsea Vowel\n“21 things you might not know about the Indian Act: Helping Canadians make reconciliation with Indigenous Peoples a reality.”\nNorthern Quebec: Issues, Spaces and Cultures (MOOC Université Laval)\nFilmographie\nNational Film Board of Canada\nPeuples autochtones au Canada (Premières Nations et Métis)\nIndigenous Peoples in Canada (Inuit)\nWapikoni\nRéférences\n(Armitage et al. 2011): Co-managements and the co-production of knowledge: learning to adapt in Canada’s Arctic.\n(Berkes 1999): Sacred ecology: traditional ecological knowledge and resource management.1\n(Berkes 2009): Evolution of co-management: role of knowledge generation, bridging organizations and social learning.\n(Berkes, Colding, and Folke 2000): Rediscovery of traditional ecological knowledge as adaptive management.\n(Gagnon et al. 2020): Merging indigenous and scientific knowledge links climate with the growth of a large migratory caribou population.\n(Gagnon and Berteaux 2009): Integrating traditional ecological knowledge and ecological science: a question of scale.\n(Gearheard and Shirley 2009): Challenges in community-research relationships: learning from natural science in Nunavut.\n(Nickels, Shirley, and Laidler 2006): Negotiating research relationships with Inuit communities: a guide for researchers.\n(Kendrick, Lyver, and K’é Dene First Nation 2005): Denésqliné (Chipewyan) knowledge of barren-ground caribou (Rangifer tarandus groenlandicus) movements.\n(Kofinas et al. 2003): Towards a protocol for community monitoring of caribou body condition.\n(Kofinas G. 2002): Community contributions to ecological monitoring: knowledge co-production in the U.S.-Canada Arctic Borderlands.\n(Kofinas et al. 2000): Research planning in the face of change: the human role in reindeer/caribou systems.\n(Lyver and Dene First Nation 2010): Monitoring barren-ground caribou body condition with Denésôåiné traditional knowledge.\n(M. Mallory, Akearok, and Gilchrist 2006): Local ecological knowledge of the Sleeper and Split Islands.\n(M. L. Mallory et al. 2003): Local Ecological Knowledge of Ivory Gull Declines in Arctic Canada.\n(Ostrom and Ahn 2001): A social science perspective on social capital: social capital and collective action.\n(Plummer and FitzGibbon 2006): People matter: the importance of social capital in the co-management of natural resources.\n(Plummer and FitzGibbon 2007): Connecting adaptive co-management, social learning, and social capital through theory and practice.\n(Reid and Millennium Ecosystem Assessment (Program) 2006): Bridging scales and knowledge systems: concepts and applications in ecosystem assessment.\nFormatrice :\nCatherine-Alexandra Gagnon possède une expertise dans le travail collaboratif en milieux autochtones. Elle s’intéresse particulièrement à la mise en commun des savoirs locaux, autochtones et scientifiques. Elle détient un doctorat en Sciences de l’environnement et une maîtrise en Gestion de la faune de l’Université du Québec à Rimouski, un baccalauréat en biologie faunique de l’université McGill ainsi qu’un certificat en Études autochtones de l’université de Montréal. Durant ses études, elle a travaillé sur les connaissances locales et ancestrales des Aîné(e)s et chasseurs Inuit, Inuvialuit et Gwich’in du Nunavut, des Territoires du Nord-Ouest et du Yukon.\n\n\n\nArmitage, Derek, Fikret Berkes, Aaron Dale, Erik Kocho-Schellenberg, and Eva Patton. 2011. “Co-Management and the Co-Production of Knowledge: Learning to Adapt in Canada’s Arctic.” Global Environmental Change 21 (3): 995–1004. https://doi.org/10.1016/j.gloenvcha.2011.04.006.\n\n\nBerkes, Fikret. 1999. Sacred Ecology: Traditional Ecological Knowledge and Resource Management. Philadelphia, PA: Taylor & Francis.\n\n\n———. 2009. “Evolution of Co-Management: Role of Knowledge Generation, Bridging Organizations and Social Learning.” Journal of Environmental Management 90 (5): 1692–702. https://doi.org/10.1016/j.jenvman.2008.12.001.\n\n\nBerkes, Fikret, Johan Colding, and Carl Folke. 2000. “REDISCOVERY OF TRADITIONAL ECOLOGICAL KNOWLEDGE AS ADAPTIVE MANAGEMENT.” Ecological Applications 10 (5): 1251–62. https://doi.org/10.1890/1051-0761(2000)010[1251:ROTEKA]2.0.CO;2.\n\n\nGagnon, Catherine A., and Dominique Berteaux. 2009. “Integrating Traditional Ecological Knowledge and Ecological Science: A Question of Scale.” Ecology and Society 14 (2): art19. https://doi.org/10.5751/ES-02923-140219.\n\n\nGagnon, Catherine A., Sandra Hamel, Don E. Russell, Todd Powell, James Andre, Michael Y. Svoboda, and Dominique Berteaux. 2020. “Merging Indigenous and Scientific Knowledge Links Climate with the Growth of a Large Migratory Caribou Population.” Edited by Meredith Root‐Bernstein. Journal of Applied Ecology 57 (9): 1644–55. https://doi.org/10.1111/1365-2664.13558.\n\n\nGearheard, Shari, and Jamal Shirley. 2009. “Challenges in Community-Research Relationships: Learning from Natural Science in Nunavut.” ARCTIC 60 (1): 62–74. https://doi.org/10.14430/arctic266.\n\n\nKendrick, A, P O’B Lyver, and Łutsël K’é Dene First Nation. 2005. “Denésqliné (chipewyan) Knowledge of Barren-Ground Caribou (rangifer Tarandus Groenlandicus) Movements.” Arctic, 175–91.\n\n\nKofinas G., Aklavik. 2002. “Community Contributions to Ecological Monitoring: Knowledge Co-Production in the U.S.-Canada Arctic Borderlands.” In The Earth Is Faster Now: Indigenous Observations of Arctic Environmental Change, 55–91. Fairbanks, USA: Arctic Research Consortium of the United States.\n\n\nKofinas, Gary, Phil Lyver, Don Russell, Robert White, Augie Nelson, and Nicholas Flanders. 2003. “Towards a Protocol for Community Monitoring of Caribou Body Condition.” Rangifer 23 (5): 43. https://doi.org/10.7557/2.23.5.1678.\n\n\nKofinas, Gary, Gail Osherenko, David Klein, and Bruce Forbes. 2000. “Research Planning in the Face of Change: The Human Role in Reindeer/Caribou Systems.” Polar Research 19 (1): 3–21. https://doi.org/10.1111/j.1751-8369.2000.tb00323.x.\n\n\nLyver, P. O.’B., and Lutsël K’é Dene First Nation. 2010. “Monitoring Barren-Ground Caribou Body Condition with Denésôåiné Traditional Knowledge.” ARCTIC 58 (1): 44–54. https://doi.org/10.14430/arctic388.\n\n\nMallory, M., J. Akearok, and G. Gilchrist. 2006. “Local Ecological Knowledge of the Sleeper and Split Islands.” In Climate Change: Integrating Traditional and Scientific Knowledge, 203–8. Winnipeg, Manitoba, Canada: Aboriginal Issues Press.\n\n\nMallory, M. L., H. Grant Gilchrist, Alain J. Fontaine, and Jason A. Akearok. 2003. “Local Ecological Knowledge of Ivory Gull Declines in Arctic Canada.” ARCTIC 56 (3): 293–98. https://doi.org/10.14430/arctic625.\n\n\nNickels, Scot, Jamal Shirley, and Gita Laidler. 2006. Negotiating Research Relationships with Inuit Communities: A Guide for Researchers. Inuit Tapiriit Kanatami Ottawa, Ont.\n\n\nOstrom, Elinor, and TK Ahn. 2001. “A SOCIAL SCIENCE PERSPECTIVE ON SOCIAL CAPITAL: SOCIAL CAPITAL AND COLLECTIVE ACTION.”\n\n\nPlummer, Ryan, and John FitzGibbon. 2006. “People Matter: The Importance of Social Capital in the Co-Management of Natural Resources.” Natural Resources Forum 30 (1): 51–62. https://doi.org/10.1111/j.1477-8947.2006.00157.x.\n\n\n———. 2007. “Connecting Adaptive Co-Management, Social Learning, and Social Capital Through Theory and Practice.” Adaptive Co-Management: Collaboration, Learning, and Multi-Level Governance. University of British Columbia Press, Vancouver, British Columbia, Canada, 38–61.\n\n\nReid, Walter V., and Millennium Ecosystem Assessment (Program), eds. 2006. Bridging Scales and Knowledge Systems: Concepts and Applications in Ecosystem Assessment. A Contribution to the Millennium Ecosystem Assessment. Washington, D.C: Island Press.\n\n\nA more recent edition exists.↩︎\n", "preview": "posts/2020-04-30-sensibilisation-aux-ralits-autochtones-et-recherche-collaborative-partie-2/thumb.jpg", - "last_modified": "2021-04-29T17:07:08-04:00", + "last_modified": "2021-05-19T11:56:36-04:00", "input_file": {} }, { @@ -248,7 +248,7 @@ ], "contents": "\n\nContents\nPartie 1 - Sensibilisation aux réalités autochtones\nObjectifs de la formation :\nDurant ce webminaire, nous allons: \nRessources\nBalados\nLectures, sites internet\nFilmographie\nRéférences\n\nFormatrice :\n\n\nPartie 1 - Sensibilisation aux réalités autochtones\nObjectifs de la formation :\nAméliorer notre compréhension du passé et de ses impacts sur nos relations entre le avec les Peuples Autochtones.\nDévelopper des notions et compétences afin d’agir contre les préjugés et le racisme.\nDurant ce webminaire, nous allons: \nFaire un survol des événements historiques importants et de leurs impacts à ce jour (Loi sur les Indiens, politiques d’assimilation, les pensionnats, etc.). \nAcquérir des connaissances sur la terminologie autochtone.\nFaire un survol de certains procès et contextes légaux et voir comment ils affectent notre travail en territoire autochtone.\nDans une optique de réconciliation, faire une prise de conscience des préjugés persistants et discuter de stratégies pour améliorer nos relations avec les communautés.\nRessources\nBalados\n\nLectures, sites internet\nTruth and Reconciliation Commission Reports\nFinal Report: National Inquiry into Missing and Murdered Indigenous Women and Girls\nReport of the Royal Commission on Aboriginal Peoples\nMythes et réalités sur les peuples autochtones\nWhere are the children? Healing the legacy of the residential schools\nIndigenous Canada (Coursera)\n“Indigenous Writes,” by Chelsea Vowel\n“21 things you might not know about the Indian Act: Helping Canadians make reconciliation with Indigenous Peoples a reality.”\nNorthern Quebec: Issues, Spaces and Cultures (MOOC Université Laval)\nFilmographie\nNational Film Board of Canada\nPeuples autochtones au Canada (Premières Nations et Métis)\nIndigenous Peoples in Canada (Inuit)\nWapikoni\nRéférences\n(Armitage et al. 2011): Co-managements and the co-production of knowledge: learning to adapt in Canada’s Arctic.\n(Berkes 1999): Sacred ecology: traditional ecological knowledge and resource management.1\n(Berkes 2009): Evolution of co-management: role of knowledge generation, bridging organizations and social learning.\n(Berkes, Colding, and Folke 2000): Rediscovery of traditional ecological knowledge as adaptive management.\n(Gagnon et al. 2020): Merging indigenous and scientific knowledge links climate with the growth of a large migratory caribou population.\n(Gagnon and Berteaux 2009): Integrating traditional ecological knowledge and ecological science: a question of scale.\n(Gearheard and Shirley 2009): Challenges in community-research relationships: learning from natural science in Nunavut.\n(Nickels, Shirley, and Laidler 2006): Negotiating research relationships with Inuit communities: a guide for researchers.\n(Kendrick, Lyver, and K’é Dene First Nation 2005): Denésqliné (Chipewyan) knowledge of barren-ground caribou (Rangifer tarandus groenlandicus) movements.\n(Kofinas et al. 2003): Towards a protocol for community monitoring of caribou body condition.\n(Kofinas G. 2002): Community contributions to ecological monitoring: knowledge co-production in the U.S.-Canada Arctic Borderlands.\n(Kofinas et al. 2000): Research planning in the face of change: the human role in reindeer/caribou systems.\n(Lyver and Dene First Nation 2010): Monitoring barren-ground caribou body condition with Denésôåiné traditional knowledge.\n(M. Mallory, Akearok, and Gilchrist 2006): Local ecological knowledge of the Sleeper and Split Islands.\n(M. L. Mallory et al. 2003): Local Ecological Knowledge of Ivory Gull Declines in Arctic Canada.\n(Ostrom and Ahn 2001): A social science perspective on social capital: social capital and collective action.\n(Plummer and FitzGibbon 2006): People matter: the importance of social capital in the co-management of natural resources.\n(Plummer and FitzGibbon 2007): Connecting adaptive co-management, social learning, and social capital through theory and practice.\n(Reid and Millennium Ecosystem Assessment (Program) 2006): Bridging scales and knowledge systems: concepts and applications in ecosystem assessment.\nFormatrice :\nCatherine-Alexandra Gagnon possède une expertise dans le travail collaboratif en milieux autochtones. Elle s’intéresse particulièrement à la mise en commun des savoirs locaux, autochtones et scientifiques. Elle détient un doctorat en Sciences de l’environnement et une maîtrise en Gestion de la faune de l’Université du Québec à Rimouski, un baccalauréat en biologie faunique de l’université McGill ainsi qu’un certificat en Études autochtones de l’université de Montréal. Durant ses études, elle a travaillé sur les connaissances locales et ancestrales des Aîné(e)s et chasseurs Inuit, Inuvialuit et Gwich’in du Nunavut, des Territoires du Nord-Ouest et du Yukon.\n\n\n\nArmitage, Derek, Fikret Berkes, Aaron Dale, Erik Kocho-Schellenberg, and Eva Patton. 2011. “Co-Management and the Co-Production of Knowledge: Learning to Adapt in Canada’s Arctic.” Global Environmental Change 21 (3): 995–1004. https://doi.org/10.1016/j.gloenvcha.2011.04.006.\n\n\nBerkes, Fikret. 1999. Sacred Ecology: Traditional Ecological Knowledge and Resource Management. Philadelphia, PA: Taylor & Francis.\n\n\n———. 2009. “Evolution of Co-Management: Role of Knowledge Generation, Bridging Organizations and Social Learning.” Journal of Environmental Management 90 (5): 1692–702. https://doi.org/10.1016/j.jenvman.2008.12.001.\n\n\nBerkes, Fikret, Johan Colding, and Carl Folke. 2000. “REDISCOVERY OF TRADITIONAL ECOLOGICAL KNOWLEDGE AS ADAPTIVE MANAGEMENT.” Ecological Applications 10 (5): 1251–62. https://doi.org/10.1890/1051-0761(2000)010[1251:ROTEKA]2.0.CO;2.\n\n\nGagnon, Catherine A., and Dominique Berteaux. 2009. “Integrating Traditional Ecological Knowledge and Ecological Science: A Question of Scale.” Ecology and Society 14 (2): art19. https://doi.org/10.5751/ES-02923-140219.\n\n\nGagnon, Catherine A., Sandra Hamel, Don E. Russell, Todd Powell, James Andre, Michael Y. Svoboda, and Dominique Berteaux. 2020. “Merging Indigenous and Scientific Knowledge Links Climate with the Growth of a Large Migratory Caribou Population.” Edited by Meredith Root‐Bernstein. Journal of Applied Ecology 57 (9): 1644–55. https://doi.org/10.1111/1365-2664.13558.\n\n\nGearheard, Shari, and Jamal Shirley. 2009. “Challenges in Community-Research Relationships: Learning from Natural Science in Nunavut.” ARCTIC 60 (1): 62–74. https://doi.org/10.14430/arctic266.\n\n\nKendrick, A, P O’B Lyver, and Łutsël K’é Dene First Nation. 2005. “Denésqliné (chipewyan) Knowledge of Barren-Ground Caribou (rangifer Tarandus Groenlandicus) Movements.” Arctic, 175–91.\n\n\nKofinas G., Aklavik. 2002. “Community Contributions to Ecological Monitoring: Knowledge Co-Production in the U.S.-Canada Arctic Borderlands.” In The Earth Is Faster Now: Indigenous Observations of Arctic Environmental Change, 55–91. Fairbanks, USA: Arctic Research Consortium of the United States.\n\n\nKofinas, Gary, Phil Lyver, Don Russell, Robert White, Augie Nelson, and Nicholas Flanders. 2003. “Towards a Protocol for Community Monitoring of Caribou Body Condition.” Rangifer 23 (5): 43. https://doi.org/10.7557/2.23.5.1678.\n\n\nKofinas, Gary, Gail Osherenko, David Klein, and Bruce Forbes. 2000. “Research Planning in the Face of Change: The Human Role in Reindeer/Caribou Systems.” Polar Research 19 (1): 3–21. https://doi.org/10.1111/j.1751-8369.2000.tb00323.x.\n\n\nLyver, P. O.’B., and Lutsël K’é Dene First Nation. 2010. “Monitoring Barren-Ground Caribou Body Condition with Denésôåiné Traditional Knowledge.” ARCTIC 58 (1): 44–54. https://doi.org/10.14430/arctic388.\n\n\nMallory, M., J. Akearok, and G. Gilchrist. 2006. “Local Ecological Knowledge of the Sleeper and Split Islands.” In Climate Change: Integrating Traditional and Scientific Knowledge, 203–8. Winnipeg, Manitoba, Canada: Aboriginal Issues Press.\n\n\nMallory, M. L., H. Grant Gilchrist, Alain J. Fontaine, and Jason A. Akearok. 2003. “Local Ecological Knowledge of Ivory Gull Declines in Arctic Canada.” ARCTIC 56 (3): 293–98. https://doi.org/10.14430/arctic625.\n\n\nNickels, Scot, Jamal Shirley, and Gita Laidler. 2006. Negotiating Research Relationships with Inuit Communities: A Guide for Researchers. Inuit Tapiriit Kanatami Ottawa, Ont.\n\n\nOstrom, Elinor, and TK Ahn. 2001. “A SOCIAL SCIENCE PERSPECTIVE ON SOCIAL CAPITAL: SOCIAL CAPITAL AND COLLECTIVE ACTION.”\n\n\nPlummer, Ryan, and John FitzGibbon. 2006. “People Matter: The Importance of Social Capital in the Co-Management of Natural Resources.” Natural Resources Forum 30 (1): 51–62. https://doi.org/10.1111/j.1477-8947.2006.00157.x.\n\n\n———. 2007. “Connecting Adaptive Co-Management, Social Learning, and Social Capital Through Theory and Practice.” Adaptive Co-Management: Collaboration, Learning, and Multi-Level Governance. University of British Columbia Press, Vancouver, British Columbia, Canada, 38–61.\n\n\nReid, Walter V., and Millennium Ecosystem Assessment (Program), eds. 2006. Bridging Scales and Knowledge Systems: Concepts and Applications in Ecosystem Assessment. A Contribution to the Millennium Ecosystem Assessment. Washington, D.C: Island Press.\n\n\nA more recent edition exists.↩︎\n", "preview": "posts/2020-04-28-sensibilisation-aux-ralits-autochtones-et-recherche-collaborative-partie-1/thumb.jpg", - "last_modified": "2021-04-29T17:16:16-04:00", + "last_modified": "2021-05-19T11:56:36-04:00", "input_file": {} }, { @@ -268,7 +268,7 @@ ], "contents": "\n\nContents\nContent\nSoftware\nMaterial\nOther resources\nThanks\n\nIn this workshop, I introduce various modelling techniques, using mostly ecological and evolutionary examples, with a focus on how computer software programs can help biologists analyze such models.\nContent\nPart 1: Classic one-variable models in ecology and evolutionPart 2: Equilibria and their stabilityPart 3: Beyond equilibriaPart 4: Example of building a model from scratchPart 5: Extending to models with more than one variablePart 6: Another example of building a model from scratch\nSoftware\nIn my research, I primarily use Mathematica, which is a powerful software package to organize and conduct analytical modelling, but it is not free (at UBC, we have some licenses available). I will also show some example code and provide translation of most of what I present in a free software package called Maxima.\nMathematica installation\nThere is a free trial version that you can use for 15 days, if you don’t have a copy (click here to access), or you can buy a student version online. If you want to make sure that all is working, copy the code below, put your cursor over each of the following lines and press enter (on some computers, “enter” is a separate button, on others, press “shift” and “return” at the same time):\nD[x^3,x]\nListPlot[Table[x, {x,1,10}],Joined->True]\nRSolve[{x[t+1]\\[Equal]A x[t],x[0]\\[Equal]x0},x[t],t]\nPDF[NormalDistribution[0,1],x]\nYou should see (a) \\(3x^2\\), (b) a plot of a line, (c) \\({{x[t]->A^t x0}}\\), and (d) \\(\\frac{e^\\frac{-x^2}{2}}{\\sqrt{2\\pi }}\\).\nMaxima installation:\nOn a Mac, install using the instructions here. For other file systems, download here.\nMaxima testing\nWhen you first open Maxima, it will give you a choice of GUIs, chose wxMaxima. Once wxMaxima is launched type this command and hit return to see if it answers 4:\n2+2;\nIf it doesn’t, then scan the installation document for the error that you run into.\nIf it does return 4, then type in and enter these commands:\ndiff(x^3, x);\n\nwxplot2d (3*x, [x, 0, 2*%pi]);\n\nload(\"solve_rec\")$\nsolve_rec(x[t+1] = A*x[t], x[t], x[0]=x0);\n\nload(\"distrib\")$\npdf_normal(x,0,1);\nYou should see (a) \\(3x^2\\), (b) a plot of a line, (c) \\({{x[t]->A^t x0}}\\), and (d) \\(\\frac{e^\\frac{-x^2}{2}}{\\sqrt{2\\pi }}\\).\nMaterial\nMathematica\nMaxima\nPDF\nNotebook\nNotebook\nEmbeded below\nHints and solutions\nHints and solutions\n\n\n\nHomework\nHomework answers\n\nHomework answers\nGuide\nGuide\n\nFollow along PDF\nThis PDF was generated from the Mathematica notebook linked above. It doesn’t include dynamic plots, but it’s a good alternative if you want to print out or have a quick reference at hand.\n\n\n\nStability analysis of a recursion equation in a discrete-time model.Other resources\nAn Introduction to Mathematical Modeling in Ecology and Evolution (Otto and Day 2007).\nBiomathematical modeling lecture notes.\nMathematica labs UBC.\nThanks\nNiki Love and Gil Henriques did a great job of translating the code into wxMaxima, with limited help from me. Thanks, Niki and Gil!!\n\n\n\nOtto, Sarah P, and Troy Day. 2007. A Biologist’s Guide to Mathematical Modeling in Ecology and Evolution. Vol. 13. Princeton University Press.\n\n\n\n\n", "preview": "posts/2020-01-14-mathematical-modeling-in-ecology-and-evolution/StabilityPictures.jpg", - "last_modified": "2021-04-29T16:12:40-04:00", + "last_modified": "2021-05-19T11:56:36-04:00", "input_file": {} } ] diff --git a/docs/search.json b/docs/search.json index 4ac7afe..e329de5 100644 --- a/docs/search.json +++ b/docs/search.json @@ -6,21 +6,21 @@ "description": "We train graduate students in Data Science and Organizational/Communication skills", "author": [], "contents": "\n\n\n\n", - "last_modified": "2021-04-30T21:21:24-04:00" + "last_modified": "2021-06-18T17:03:00-04:00" }, { "path": "index.html", "title": "Training materials", "author": [], "contents": "\n\n\n\n", - "last_modified": "2021-04-30T21:21:28-04:00" + "last_modified": "2021-06-18T17:03:13-04:00" }, { "path": "Marchand.html", "title": "Spatial materials", "author": [], "contents": "\n[EN] Contents for the “Spatial statistics in ecology” training offered by Philippe Marchand in January 2021 as part of the BIOS2 program. Original repository can be found here.\n[FR] Contenu de la formation “Statistiques spatiales en écologie” offerte par Philippe Marchand en janvier 2021 dans le cadre du programme BIOS2. Le repositoire original se trouve ici.\n\n\n\n", - "last_modified": "2021-04-30T21:21:32-04:00" + "last_modified": "2021-06-18T17:03:21-04:00" } ], "collections": ["posts/posts.json", "Marchand/Marchand.json"] diff --git a/docs/sitemap.xml b/docs/sitemap.xml index 98a608b..fa2aa8a 100644 --- a/docs/sitemap.xml +++ b/docs/sitemap.xml @@ -14,82 +14,82 @@ </url> <url> <loc>https://bios2.github.io/posts/2021-06-13-unreproducibility-detox/</loc> - <lastmod>2021-06-17T19:06:15-04:00</lastmod> + <lastmod>2021-06-18T17:01:27-04:00</lastmod> </url> <url> <loc>https://bios2.github.io/posts/2021-03-25-point-count-data-analysis/</loc> - <lastmod>2021-04-19T15:31:33-04:00</lastmod> + <lastmod>2021-05-19T11:56:36-04:00</lastmod> </url> <url> <loc>https://bios2.github.io/posts/2021-01-22-introduction-aux-concepts-edi-en-contexte-scientifique/</loc> - <lastmod>2021-04-30T19:26:35-04:00</lastmod> + <lastmod>2021-05-19T11:56:36-04:00</lastmod> </url> <url> <loc>https://bios2.github.io/posts/2021-01-22-introduction-to-edi-concepts-in-a-scientific-context/</loc> - <lastmod>2021-04-30T17:46:05-04:00</lastmod> + <lastmod>2021-05-19T11:56:36-04:00</lastmod> </url> <url> <loc>https://bios2.github.io/posts/2021-01-12-4-day-training-in-spatial-statistics-with-philippe-marchand/</loc> - <lastmod>2021-04-30T15:21:54-04:00</lastmod> + <lastmod>2021-05-19T11:56:36-04:00</lastmod> </url> <url> <loc>https://bios2.github.io/posts/2020-12-08-making-websites-with-hugo-part-2/</loc> - <lastmod>2021-04-29T16:16:42-04:00</lastmod> + <lastmod>2021-05-19T11:56:36-04:00</lastmod> </url> <url> <loc>https://bios2.github.io/posts/2020-12-07-making-websites-with-hugo-part-1/</loc> - <lastmod>2021-04-29T16:17:22-04:00</lastmod> + <lastmod>2021-05-19T11:56:36-04:00</lastmod> </url> <url> <loc>https://bios2.github.io/posts/2020-09-21-data-visualization/</loc> - <lastmod>2021-04-30T21:20:13-04:00</lastmod> + <lastmod>2021-05-19T11:56:36-04:00</lastmod> </url> <url> <loc>https://bios2.github.io/posts/2020-06-15-science-communication/</loc> - <lastmod>2021-04-28T11:53:48-04:00</lastmod> + <lastmod>2021-05-19T11:56:36-04:00</lastmod> </url> <url> <loc>https://bios2.github.io/posts/2020-04-30-sensibilisation-aux-ralits-autochtones-et-recherche-collaborative-partie-2/</loc> - <lastmod>2021-04-29T17:07:08-04:00</lastmod> + <lastmod>2021-05-19T11:56:36-04:00</lastmod> </url> <url> <loc>https://bios2.github.io/posts/2020-04-28-sensibilisation-aux-ralits-autochtones-et-recherche-collaborative-partie-1/</loc> - <lastmod>2021-04-29T17:16:16-04:00</lastmod> + <lastmod>2021-05-19T11:56:36-04:00</lastmod> </url> <url> <loc>https://bios2.github.io/posts/2020-01-14-mathematical-modeling-in-ecology-and-evolution/</loc> - <lastmod>2021-04-29T16:12:40-04:00</lastmod> + <lastmod>2021-05-19T11:56:36-04:00</lastmod> </url> <url> <loc>https://bios2.github.io/Marchand/2021-01-21-spatial-statistics-in-ecology-part-4/</loc> - <lastmod>2021-04-26T19:09:57-04:00</lastmod> + <lastmod>2021-05-19T11:56:36-04:00</lastmod> </url> <url> <loc>https://bios2.github.io/Marchand/2021-01-21-statistiques-spatiales-en-cologie-partie-4/</loc> - <lastmod>2021-04-26T19:09:58-04:00</lastmod> + <lastmod>2021-05-19T11:56:36-04:00</lastmod> </url> <url> <loc>https://bios2.github.io/Marchand/2021-01-19-spatial-statistics-in-ecology/</loc> - <lastmod>2021-04-26T19:09:56-04:00</lastmod> + <lastmod>2021-05-19T11:56:35-04:00</lastmod> </url> <url> <loc>https://bios2.github.io/Marchand/2021-01-19-statistiques-spatiales-en-cologie-partie-3/</loc> - <lastmod>2021-04-26T19:09:57-04:00</lastmod> + <lastmod>2021-05-19T11:56:35-04:00</lastmod> </url> <url> <loc>https://bios2.github.io/Marchand/2021-01-14-spatial-statistics-in-ecology/</loc> - <lastmod>2021-04-26T19:09:56-04:00</lastmod> + <lastmod>2021-05-19T11:56:35-04:00</lastmod> </url> <url> <loc>https://bios2.github.io/Marchand/2021-01-14-statistiques-spatiales-en-cologie-partie-2/</loc> - <lastmod>2021-04-26T19:09:56-04:00</lastmod> + <lastmod>2021-05-19T11:56:35-04:00</lastmod> </url> <url> <loc>https://bios2.github.io/Marchand/2021-01-12-spatial-statistics-in-ecology/</loc> - <lastmod>2021-04-26T19:09:55-04:00</lastmod> + <lastmod>2021-05-19T11:56:34-04:00</lastmod> </url> <url> <loc>https://bios2.github.io/Marchand/2021-01-12-statistiques-spatiales-en-cologie-partie-1/</loc> - <lastmod>2021-04-26T19:09:56-04:00</lastmod> + <lastmod>2021-05-19T11:56:35-04:00</lastmod> </url> </urlset> From b4eb604067fb883bf1d3439487c616e67248ba5f Mon Sep 17 00:00:00 2001 From: TanyaS08 <tanya.strydom@icloud.com> Date: Tue, 29 Jun 2021 11:11:42 +0200 Subject: [PATCH 03/29] :hatching_chick: initial commit --- ...oducability-detox-code-version-control.Rmd | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) create mode 100644 _posts/2021-07-07-unreproducibility-detox-code-version-control/unreproducability-detox-code-version-control.Rmd diff --git a/_posts/2021-07-07-unreproducibility-detox-code-version-control/unreproducability-detox-code-version-control.Rmd b/_posts/2021-07-07-unreproducibility-detox-code-version-control/unreproducability-detox-code-version-control.Rmd new file mode 100644 index 0000000..6cebcf3 --- /dev/null +++ b/_posts/2021-07-07-unreproducibility-detox-code-version-control/unreproducability-detox-code-version-control.Rmd @@ -0,0 +1,19 @@ +--- +title: "(un)Reproducability Detox - code version control" +description: | + A short description of the post. +Tanya Strydom +date: 07-07-2021 +output: + distill::distill_article: + self_contained: false +--- + +```{r setup, include=FALSE} +knitr::opts_chunk$set(echo = FALSE) +``` + +Distill is a publication format for scientific and technical writing, native to the web. + +Learn more about using Distill at <https://rstudio.github.io/distill>. + From 7fe18abae3004776efaa97a4b63939ec94a89061 Mon Sep 17 00:00:00 2001 From: TanyaS08 <tanya.strydom@icloud.com> Date: Tue, 29 Jun 2021 17:36:18 +0200 Subject: [PATCH 04/29] basic ideas are there... --- ...oducability-detox-code-version-control.Rmd | 98 ++++++++++++++++++- 1 file changed, 94 insertions(+), 4 deletions(-) diff --git a/_posts/2021-07-07-unreproducibility-detox-code-version-control/unreproducability-detox-code-version-control.Rmd b/_posts/2021-07-07-unreproducibility-detox-code-version-control/unreproducability-detox-code-version-control.Rmd index 6cebcf3..f5eff32 100644 --- a/_posts/2021-07-07-unreproducibility-detox-code-version-control/unreproducability-detox-code-version-control.Rmd +++ b/_posts/2021-07-07-unreproducibility-detox-code-version-control/unreproducability-detox-code-version-control.Rmd @@ -1,7 +1,7 @@ --- -title: "(un)Reproducability Detox - code version control" +title: "(un)Reproducibility Detox - code version control" description: | - A short description of the post. + How do we keep our work reproducible? A focus on package and language 'version control'. Tanya Strydom date: 07-07-2021 output: @@ -12,8 +12,98 @@ output: ```{r setup, include=FALSE} knitr::opts_chunk$set(echo = FALSE) ``` +# Package management -Distill is a publication format for scientific and technical writing, native to the web. +> First your self care task of the day: Its time to update all those packages (and +> maybe even language version) - you deserve to be able to play with the newest +> toys on the block. While all this is happening in the background put +> your feet up and hit play on your favourite movie. -Learn more about using Distill at <https://rstudio.github.io/distill>. +## Why do we need a package management system? +You've commented, documented, shared, and your code meaning that its available +to and usable by the rest of the world right? Well maybe for now but you know +what they say about time - *all hours wound; the last one kills*. Okay so it +might not be that dramatic for but there is of course the problem that as time +progresses your code becomes out-dated and (worst case scenario) non-functional. +Programming languages (and packages) are continually evolving as developers +work at squashing bugs and making performance upgrades. Sometimes these upgrades +might result in a fundamental change in how the a language or package function +e.g. a function name might change or some functionality will be removed in favour +of another. This means that in a few years that beautifully documented chunk of +code that you've written today might not even run. Oh dear... + +What this boils down to is that we need to not only think about documenting the +code itself but also all the 'backend' features that make it tick i.e. not only +what packages we're using but also what version. This can also extend to language +version and even operating system (OS) type or version. + +Although this may seem daunting it's important to remember that the journey to +reproducibility is much like how one approaches eating an elephant - we take +it one bit~~e~~ at a time. With that mantra in mind don't be afraid to take a +bite but also don't bite off more than you can chew. + +## How do we _keep_ our work reproducible? + +The good news there are a lot of functionality that we can leverage in our journey +to reproducibility. Different languages have different ways we can document and +'keep' the package version that we are using. The main focus will be using `R` as +it is the current *lingua franca* of most ecologists. It also straddles the middle +ground between being very 'picky' like `python` and literally having a built in +system like `Julia`. The (language agnostic) take home message though is that it's +important to (at minimum) keep record of what versions of things you used if you +want your work to work a few months/years down the line. + +The three main approaches and packages I will discuss are `{groundhog}`, `{renv}` +and, `docker`. There are of course other ways to document package versions but +these are (somewhat user friendly) and will give you different 'levels' of +reproducibility. It is of course also possible to mix and match these different +platforms. + +### {groundhog} + +[Groundhog](http://groundhogr.com/using/) is a relatively new kid on the block - +and apparently refers to a film of the same name (no comment on my side as this +is a facet of pop culture the eludes me). This is a super easy package to implement +(think one function easy) and is a really nice way to 'retrofit' some of your +older code. + +**How it works:** Essentially `{groundhog}` will install the version of a package +that was available on CRAN for a specified date. It does this by 'replacing' the +`library("package")` with `groundhog.library("package", date)`. This means its +easy to go back and set a more suitable date for your script e.g. maybe the +date it was created or last time it was saved. + +```{r groundhog, include=TRUE} +# a mini example +install.packages("groundhog") +library("groundhog") +groundhog.library("tidyverse", "2018-07-07") + +# you can also call multiple packages +pkgs <- c("tidyverse","ggforce") +groundhog.library(pkgs, "2018-07-07") + +# working with an 'active' script +library(groundhog) +groundhog.day = "2021-07-07" +groundhog.library(pkgs, groundhog.day) + +``` +**Limitations:** + +### {renv} + +Backwards compatibility + +**How it works:** + +**Limitations:** + +### Docker + +OS compatibility + +**How it works:** + +**Limitations:** From b33ae5ad7dd695a2d602a85673a5dee7566f22bb Mon Sep 17 00:00:00 2001 From: graciellehigino <graciellehigino@hotmail.com> Date: Tue, 29 Jun 2021 17:24:04 -0400 Subject: [PATCH 05/29] start wednesday --- .../unreproducibility-detox.Rmd | 54 +++++++++++++------ 1 file changed, 37 insertions(+), 17 deletions(-) diff --git a/_posts/2021-06-13-unreproducibility-detox/unreproducibility-detox.Rmd b/_posts/2021-06-13-unreproducibility-detox/unreproducibility-detox.Rmd index d3eff94..f92fbe7 100644 --- a/_posts/2021-06-13-unreproducibility-detox/unreproducibility-detox.Rmd +++ b/_posts/2021-06-13-unreproducibility-detox/unreproducibility-detox.Rmd @@ -144,7 +144,7 @@ A combination of your answers will guide you to find the best license for your p # Tuesday - control your versions >### **Self-care task of the day** -> +>YouTube is full of people making their own version of their favorite songs. The self-care task of the day is to pick one song and look for versions of it on YouTube. Maybe start looking for you favorite song. What are the differences between the versions? Which one did you like the most? Have you discovered a cool artist because of this search? If you couldn't find a cool version of your favorite song, take a moment to imagine how your own version would sound like. ## What is version control? Why is it cool to use? @@ -407,29 +407,39 @@ That's it! There's ***a lot more*** in the git world, but I hope this guide can * This lesson was translated from a git guide in Portuguese I wrote with Karlo Guidoni in a study group we promoted at Universidade Federal de Goiás, back in 2017, and we used time and again in our reproducibility trainings. You can take a look in our repository [here](https://github.com/kguidonimartins/studygroup-ufg). -# Wednesday - preserve your tools ->### **Self-care task of the day** -> - -# Thursday - automate your workflows +# Wednesday - make your code and manuscript reproducible >### **Self-care task of the day** -> -# Friday - make your code and manuscript reproducible ->### **Self-care task of the day** -> +>What is your favorite food? Do you have a story of a special meal prepared by a loved one? The self-care task of the day is to call someone you love and ask them to explain how to prepare a special meal: one that you really like or one of their favorites. If you're feeling adventurous, try to reproduce it before the next task tomorrow! ## Reproducible code + +Today is the day to make your future-self thank you! We will go through some tips and tricks to make your code more friendly, surviving the test of time and of your own memory. + +A reproducible code is an essential part of a reproducible project. Having a code to reproduce your analysis is already a great start, congrats for that! :crown: + +Today we'll try to go a step forward and write a love letter for your future-self by adding comments on your code, rethinking about object names, investigate how we can compile chuncks of code inside functions and, finally, think about reproducible manuscripts. ### Style -! Object names +There are no right or wrong when it comes to style: there are best-practices and what works better for you or your project. + +For example, Google has a series of style guides they use to standardize code writing in the company. There is a [Google's R Style Guide](https://google.github.io/styleguide/Rguide.html) and a [tydiverse style guide](https://style.tidyverse.org/) which can be a good inspiration to find your own. Here's an idea: create a document whre you usually store code. List all conventions you use and have never thought about ***why*** you use them and reflect if they still make sense for you. If they do, keep them. If they don't, try to improve them. Is there any other thing you never thought it was important, but it could be? Do you have a convention for function names, for example? + +**Object names** +Object names are the major source of wasted time for me, especially when the code is already super long with numerous objects. What helps is to know they should be descriptive, yet concise. A good tip is to [name objects as nouns and functions as verbs](https://style.tidyverse.org/syntax.html#object-names). + +>What do you think is important when naming objects in the languages that you use? Take 5 mins to write a list! -### Comment +### Comment + +Another good practice is to ***always*** comment your code. It will help you understand the decisions you've made throughout this process, that's why a good tip is to write simple comments that state ***why*** you wrote that line of code. What do you think of buying a friend a coffee and ask them to review your code annotation? Maybe you can make some lines clearer while hanging out in a park! + +In a larger scale, it is important to have other kinds of notes: session info, package versions, dependencies and connections between code scripts and data files. A good example of documentation is [this README file](https://github.com/BIO6032/2019_replication_HastingsPowell_1991/blob/master/README.md) written by our colleague Gabriel Dansereau: it contains clear instructions of how to use the code, how the respsitory is organized and even notes on possible warnings and what they mean. + +It can be complicated to keep track of everything everyday, so here's a tip: schedule a day in your month (or week) to update the documentation of your project! People call it "documentation day" out there, and you'll find lots of blogposts about it online. -! Documentation day! -! Make it metadatable (record session info, package versions, dependencies...) -! Package of packages! -! Containerize it! ### Functions and packages -! Test them! + +Functions can help you keep your code cleaner and avoid errors when you repeat actions. + ## Reproducible manuscripts @@ -442,6 +452,7 @@ Basic syntax - cheat sheet [R Markdown Cheat Sheet](https://www.rstudio.com/wp-content/uploads/2015/02/rmarkdown-cheatsheet.pdf) + <object data="_posts/2021-06-13-unreproducibility-detox/rmarkdown-cheatsheet.pdf" type="application/pdf" style="height:200%;width:100%"> </object> @@ -450,6 +461,15 @@ Basic syntax - cheat sheet #### rmdTemplates #### bookdown + +# Thursday - preserve your tools +>### **Self-care task of the day** +> +# Friday - automate your workflows +>### **Self-care task of the day** +> + + # Saturday - reproducible challange >### **Self-care task of the day** > \ No newline at end of file From aaee58435dc81eb9f19f952f14bfe7fc91eb1c2c Mon Sep 17 00:00:00 2001 From: TanyaS08 <tanya.strydom@icloud.com> Date: Wed, 30 Jun 2021 10:42:51 +0200 Subject: [PATCH 06/29] added most of the NB content --- ...oducability-detox-code-version-control.Rmd | 94 +++++++++++++++---- 1 file changed, 78 insertions(+), 16 deletions(-) diff --git a/_posts/2021-07-07-unreproducibility-detox-code-version-control/unreproducability-detox-code-version-control.Rmd b/_posts/2021-07-07-unreproducibility-detox-code-version-control/unreproducability-detox-code-version-control.Rmd index f5eff32..ca58a91 100644 --- a/_posts/2021-07-07-unreproducibility-detox-code-version-control/unreproducability-detox-code-version-control.Rmd +++ b/_posts/2021-07-07-unreproducibility-detox-code-version-control/unreproducability-detox-code-version-control.Rmd @@ -60,9 +60,9 @@ these are (somewhat user friendly) and will give you different 'levels' of reproducibility. It is of course also possible to mix and match these different platforms. -### {groundhog} +### `{groundhog}` -[Groundhog](http://groundhogr.com/using/) is a relatively new kid on the block - +[`{groundhog}`](http://groundhogr.com/using/) is a relatively new kid on the block - and apparently refers to a film of the same name (no comment on my side as this is a facet of pop culture the eludes me). This is a super easy package to implement (think one function easy) and is a really nice way to 'retrofit' some of your @@ -90,20 +90,82 @@ groundhog.day = "2021-07-07" groundhog.library(pkgs, groundhog.day) ``` -**Limitations:** - -### {renv} - -Backwards compatibility - -**How it works:** - -**Limitations:** +**Limitations:** Although `{groundhog}` will call the correct/desired packages +version there is of course the potential problem that that package version is +no longer compatible with the version of `R` that you're running on your +machine... This means you might have to have multiple version of `R` on you +machine and have to switch between them depending on what project you're using... + +**Pros:** To end on a positive note though - {groundhog} is at least a good +starting point for documenting package version _and_ its very easy to implement, +especially if you are retrofitting your code. + +### `{renv}` + +As highlighted above one of the potential issues with {groundhog} id that you +might run into language version incompatibility - and by extension still have +non-working code (bleak). Enter [`{renv}`](https://rstudio.github.io/renv/articles/renv.html), +a handy-dandy, easy to use, dependency management package for your projects. +`{renv}` records both `R` and package versions through a series of user called +functions. This is very similar to `Julia` where all packages are 'stored' +in `Project.toml`. `{renv}` works by crawling through your project +directory and recording package version and dependencies in use. This is then +saved in the `renv.lock` file and is used to 'load' the project state further +down the line. + +**How it works:** The bare bones overview is that you 1) initialise the +project-local environment using `renv::init()`, 2) continue tinkering as you +go, 3) call `renv::snapshot()` to update `renv.lock` with any new additions, and +4) if things broke along the way you can call `renv::restore()` to revert back +to the previous project state (which hopefully did run) + +**Limitations:** One limitation is that `{renv}` relies on you saving a +working/functioning state (if you want recall it and have it to work in +the future). This makes it a bit tricky to try and quickly 'fix' old code - +something that `{groundhog}` is probably more suited for. + +**Pros:** `{renv}` saves both package and `R` versions - which is great as it +'doubles down' on having things work in harmony. It is also very easy to use - +once again you can get away by using a few lines of code. ### Docker -OS compatibility - -**How it works:** - -**Limitations:** +Docker, a term that can strike trepidation in even some of the most hardened +of researchers (although they have the cutest whale as a logo and that 100% +drops the scary factor if you as me). Briefly (and slightly facetiously) Docker +is a program that allows you to host different mini computers on your computer. +This of course means its not just an R-specific tool but one that could probably +cover a lot of reproducibility bases for most languages. But there is a reason +this is last on the list and that is because it takes a bit more work to implement. +So think of this as a long-term project/goal to set yourself up for. + +**How it works:** As I said earlier with Docker you can run a multiple operating +systems (containers) on your machine (the host). This container (your mini +computer) is built from an 'image', the catch though - you need to build the +image from scratch from OS all the way through to you specific script/code +chunk. These build instructions are contained in a `Dockerfile` - which you +save in your working directory. Inside this file is the 'recipe' for building +your image (and spoiler alert it looks a lot like a series of command line +calls). Colin Fay wrote [this](https://colinfay.me/docker-r-reproducibility/) +really nice blog about using docker and `R` for beginners. If your interested I +suggest starting there! Alternatively `{renv}` also plays well with Docker - +have a look at [this vignette](https://rstudio.github.io/renv/articles/docker.html) + +**Limitations:** In the context of what has been discussed in this post Docker is +_hard_ yo! In order to write a Docker file you will benefit a lot from being +comfortable using and thinking of things in terms of command line. Since you are +'creating' you mini computer you need to install a lot of moving parts and +components. This means you might be moving from the comfort zone when it comes +to programming and could put you off trying the whole reproducibility thing all +together. So set realistic expectations here and don't be too hard on yourself! + +**Pros:** Docker is very flexible! You can build your mini computer to your +specifications and keep your 'normal computer' intact. For example I am +running MacOS, `R` 3.5 on my normal computer but can build an image that +runs Linux and `R` 3.1. Also because the recipe is contained in the `Dockerfile` +anyone can build the image for that project on their machine and have +it all just work (avoiding the whole 'but it works on my machine scenario). + +## Closing thoughts + +TODO \ No newline at end of file From d12dd32edc452eae2ba9ee668c0fb2f98a95c778 Mon Sep 17 00:00:00 2001 From: TanyaS08 <tanya.strydom@icloud.com> Date: Wed, 30 Jun 2021 10:47:48 +0200 Subject: [PATCH 07/29] updated self care task --- .../unreproducability-detox-code-version-control.Rmd | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/_posts/2021-07-07-unreproducibility-detox-code-version-control/unreproducability-detox-code-version-control.Rmd b/_posts/2021-07-07-unreproducibility-detox-code-version-control/unreproducability-detox-code-version-control.Rmd index ca58a91..7f5742c 100644 --- a/_posts/2021-07-07-unreproducibility-detox-code-version-control/unreproducability-detox-code-version-control.Rmd +++ b/_posts/2021-07-07-unreproducibility-detox-code-version-control/unreproducability-detox-code-version-control.Rmd @@ -17,7 +17,8 @@ knitr::opts_chunk$set(echo = FALSE) > First your self care task of the day: Its time to update all those packages (and > maybe even language version) - you deserve to be able to play with the newest > toys on the block. While all this is happening in the background put -> your feet up and hit play on your favourite movie. +> your feet up and hit play on the TV or podcast series you've been meaning to +> catch up on. ## Why do we need a package management system? From c9f5b6c5b2102df98a19a57fb98ab399a063adea Mon Sep 17 00:00:00 2001 From: graciellehigino <graciellehigino@hotmail.com> Date: Wed, 30 Jun 2021 18:04:03 -0400 Subject: [PATCH 08/29] finish wednesday --- .../unreproducibility-detox.Rmd | 118 +++++++++++-- .../unreproducibility-detox.html | 163 +++++++++++++++--- docs/index.html | 4 +- .../index.html | 163 +++++++++++++++--- docs/posts/posts.json | 6 +- docs/sitemap.xml | 2 +- 6 files changed, 387 insertions(+), 69 deletions(-) diff --git a/_posts/2021-06-13-unreproducibility-detox/unreproducibility-detox.Rmd b/_posts/2021-06-13-unreproducibility-detox/unreproducibility-detox.Rmd index f92fbe7..5fb5d0b 100644 --- a/_posts/2021-06-13-unreproducibility-detox/unreproducibility-detox.Rmd +++ b/_posts/2021-06-13-unreproducibility-detox/unreproducibility-detox.Rmd @@ -39,7 +39,7 @@ On the first day of this detox journey, let's reflect on our way to work and how 4. Is reproducibility openness? If a project is reproducible, does that mean it is accessible? -#### Suggested reading +## Suggested reading * [Our path to better science in less time using open data science tools](https://www.nature.com/articles/s41559-017-0160) --- @@ -132,8 +132,14 @@ Chosing a license can be a difficult task at first, but if your projects have a A combination of your answers will guide you to find the best license for your project which is adequate for your community. There are a couple of online tools that can help you with that! For example, if you are sharing creative work, you can consult the [Creative Commons - Choose a License](https://creativecommons.org/choose/) tool. For other open source software licenses, you can take a look at the [Choose A License](http://choosealicense.com/) website. The cool thing is: you can also **create** your own license! In any case, once you chose the appropriate license for your project, save it in your project root folder with the name "LICENSE" (as a text file). This way, your version control host system will automatically recognize it and display something like "hey, this project has a license!" when someone finds your project. +## Reproducibility task of the day -#### Suggested readings +Take a moment to evaluate your current project design. How would you make it better? If there is something missing (a license, cool names, a good structure), try to implement what you've learned: one simple thing is enough! Pick one project + one improvement and do it \o/ +You can start even with pen and paper! Scketch what's the flow of information inside your project right now. Is there any redundancies? Could a path between righly connected directories be shorter? Could the names of the folders be shorter if they were arranged some other way? + +Need help? Ask a friend to do it with you! + +## Suggested readings * [Mozilla Open Leaders lesson on sharing your work in the open](https://mozilla.github.io/open-leadership-training-series/articles/get-your-project-online/sharing-your-work-in-the-open/) @@ -403,7 +409,12 @@ That's it! There's ***a lot more*** in the git world, but I hope this guide can **Remember**: keep the `main` as untouched as possible, work with branches to test your ideas, and always `push` your modifications before going to bed. -#### Suggested reading +## Reproducibility task of the day +Set up the tracking system in your project! Create a remote repository and connect it with your local directory. If you already use a version control system, review your workflow both when working alone and in collaboration: what are the actions most likely to cause a problem? Can you make it simpler? + +>hint: make a colorful and friendly sketch of your current workflow! + +## Suggested reading * This lesson was translated from a git guide in Portuguese I wrote with Karlo Guidoni in a study group we promoted at Universidade Federal de Goiás, back in 2017, and we used time and again in our reproducibility trainings. You can take a look in our repository [here](https://github.com/kguidonimartins/studygroup-ufg). @@ -432,35 +443,114 @@ Object names are the major source of wasted time for me, especially when the cod Another good practice is to ***always*** comment your code. It will help you understand the decisions you've made throughout this process, that's why a good tip is to write simple comments that state ***why*** you wrote that line of code. What do you think of buying a friend a coffee and ask them to review your code annotation? Maybe you can make some lines clearer while hanging out in a park! -In a larger scale, it is important to have other kinds of notes: session info, package versions, dependencies and connections between code scripts and data files. A good example of documentation is [this README file](https://github.com/BIO6032/2019_replication_HastingsPowell_1991/blob/master/README.md) written by our colleague Gabriel Dansereau: it contains clear instructions of how to use the code, how the respsitory is organized and even notes on possible warnings and what they mean. +In a larger scale, it is important to have other kinds of notes: session info (e.g., in `R` you can use the command `sessionInfo()`), package versions (e.g., using the `checkpoint` package), dependencies and connections between code scripts and data files. A good example of documentation is [this README file](https://github.com/BIO6032/2019_replication_HastingsPowell_1991/blob/master/README.md) written by our colleague Gabriel Dansereau: it contains clear instructions of how to use the code, how the respsitory is organized and even notes on possible warnings and what they mean. It can be complicated to keep track of everything everyday, so here's a tip: schedule a day in your month (or week) to update the documentation of your project! People call it "documentation day" out there, and you'll find lots of blogposts about it online. ### Functions and packages -Functions can help you keep your code cleaner and avoid errors when you repeat actions. +Functions can help you keep your code cleaner and avoid errors when you repeat actions. They should replace redundancies in your code. In the same way, when you notice you have to repeat a certain routine in many of your projects, it might be worth writing a package - which is basically a set of functions. When you do that, don't forget to include in your functions some commands that check for errors, like when you try to use a type of variable that is not compatible with the analysis that run inside the function. + +>Take a few minutes to have a look at your code now. Can you see something that could be a function? ## Reproducible manuscripts +From reproducible code to reproducible manuscripts is one small leap! It means your manuscript is readable across platforms and systems, and can be compiled locally, and even be automatically updated if your data or analyses change! +It doesn't mean that the interpretation of the results will be automatically updated aswell - which seems to be a concern for some people, that argue that reproducible manuscripts turn the science activity into a mechanic thing. On the contrary: it allows you to not worry about making figures over and over again, and concentrate in the philosophical part of your science! + +There are three basic things we need to understand to produce a reproducible academic manuscript: the [YAML](https://yaml.org/), the [markup language](https://en.wikipedia.org/wiki/Markup_language) (such as Markdown) and the citation/references management. + +**YAML** (YAML Ain't a Markup Language - metalingustics!) is a language that defines the metadata of your document and helps in the compiling process. It tells your computer if the output you need is a `*.pdf` or a `*.doc` file, for example. A YAML block will be the first thing you'll add on your document, and the only tricky thing is to get the indentation right. + +For example, the YAML of this very webpage looks like this: +```yaml +--- +title: "(un)Reproducibility Detox" +description: | + A seven-day detox routine to improve the reproducibility of your projects! +author: Gracielle Higino +preview: thumb.png +categories: + - Technical + - EN +date: 06-13-2021 +output: + distill::distill_article: + self_contained: false + toc: true +--- +``` + +You should add to your manuscript a `bibliography` argument with the path to your `*.bib` file and change the output according to your needs. If you use RStudio, these things are easier to change as it has built-in templates with pre-filled YAML header. + +Another cool thing to add in your YAML header is a reference to a template. This will make your computer compile your manuscript in the same format as your template - which helps a lot when you submit the manuscript to a journal. + +A couple of packages can help you put together all these pieces. The `rticles` package imports LaTeX templates from scientific journals and implements a dialog box in RStudio. The `rmdTemplates` package has also slides, Word and PDF templates. It helps a lot starting with a template and fill in the blanks (also make sure to consult the [**R Markdown Cheat Sheet**](https://www.rstudio.com/wp-content/uploads/2015/02/rmarkdown-cheatsheet.pdf)). This basic syntax is the same used in Markdown and other similar markup languages. For example: + +`**this is bold**` -> **this is bold** +`*this is italic*` -> *this is italic* + +```markdown +|this|is|a|table| +|:---|:---:|---:|| +|a|table|this|is| +``` + +<style type="text/css"> +.tg .tg-c3ow{border-color:inherit;text-align:center;vertical-align:top} +.tg .tg-0pky{border-color:inherit;text-align:left;vertical-align:top} +.tg .tg-dvpl{border-color:inherit;text-align:right;vertical-align:top} +</style> +<table class="tg"> +<thead> + <tr> + <th class="tg-0pky">this</th> + <th class="tg-c3ow">is</th> + <th class="tg-dvpl">a</th> + <th class="tg-0pky">table</th> + </tr> +</thead> +<tbody> + <tr> + <td class="tg-0pky">a</td> + <td class="tg-c3ow">table</td> + <td class="tg-dvpl">this</td> + <td class="tg-0pky">is</td> + </tr> +</tbody> +</table> + +### Citation/reference management + +A good idea is to keep an up-to-date text file containing all your bibliography that can be referenced in your manuscript. For example, you can ask your reference manager software to generate a `*.bib` file, which usually contains a specific tag for each citation. This tag will then be used in your file as something like `[@TagPaper]`. + +The citation style, on the other hand, is usually defined by a `*.csl` file (https://citationstyles.org/). These files can be found, for example, on the [Zotero Style Repository](https://www.zotero.org/styles), and all you need to do is download the file and keep in in the same directory as your manuscript. + +## Reproducibility task of the day +Can you "transform" one of your manuscripts into a reproducible file? What are the steps you neet to take to get there? -The logics -YAML +Do you already have all your manuscripts in a reproducible format? Congratulations! Your task will be to help a friend that is learning how to make one! +## Suggested reading +* [Methods in Ecology and Evolution blog post with tips and tricks for reproducible code](https://methodsblog.com/2017/12/06/making-your-code-reproducible/) -Basic syntax - cheat sheet +* [BES guide to reproducible code](http://bit.ly/BESGuidesTo) -[R Markdown Cheat Sheet](https://www.rstudio.com/wp-content/uploads/2015/02/rmarkdown-cheatsheet.pdf) +* [rOpenSci reproducibility guide](http://ropensci.github.io/reproducibility-guide/sections/writingCode/) +* [YAML front matter, in the "papaja: Reproducible APA manuscripts with R Markdown"](http://frederikaust.com/papaja_man/r-markdown-components.html#yaml-front-matter) -<object data="_posts/2021-06-13-unreproducibility-detox/rmarkdown-cheatsheet.pdf" type="application/pdf" style="height:200%;width:100%"> -</object> +* [An R Markdown Template for Academic Manuscripts](http://svmiller.com/blog/2016/02/svm-r-markdown-manuscript/) -#### `rticles` +* [Ansible YAML guide](https://docs.ansible.com/ansible/latest/reference_appendices/YAMLSyntax.html#yaml-basics) -#### rmdTemplates +* [Markdown syntax in "R Markdown: The Definitive Guide"](https://bookdown.org/yihui/rmarkdown/markdown-syntax.html) -#### bookdown # Thursday - preserve your tools >### **Self-care task of the day** diff --git a/_posts/2021-06-13-unreproducibility-detox/unreproducibility-detox.html b/_posts/2021-06-13-unreproducibility-detox/unreproducibility-detox.html index 86e7f44..5fd1c0f 100644 --- a/_posts/2021-06-13-unreproducibility-detox/unreproducibility-detox.html +++ b/_posts/2021-06-13-unreproducibility-detox/unreproducibility-detox.html @@ -1486,11 +1486,16 @@ <h1>(un)Reproducibility Detox</h1> <nav class="l-text toc figcaption" id="TOC"> <h3>Contents</h3> <ul> -<li><a href="#sunday---reflect-about-open-science">Sunday - reflect about open science</a></li> +<li><a href="#sunday---reflect-about-open-science">Sunday - reflect about open science</a> +<ul> +<li><a href="#suggested-reading">Suggested reading</a></li> +</ul></li> <li><a href="#monday---design-a-project">Monday - design a project</a> <ul> <li><a href="#give-cool-names">Give cool names</a></li> <li><a href="#licenses">Licenses</a></li> +<li><a href="#reproducibility-task-of-the-day">Reproducibility task of the day</a></li> +<li><a href="#suggested-readings">Suggested readings</a></li> </ul></li> <li><a href="#tuesday---control-your-versions">Tuesday - control your versions</a> <ul> @@ -1511,16 +1516,25 @@ <h3>Contents</h3> <li><a href="#working-with-branches">Working with branches</a></li> </ul></li> <li><a href="#oh-my-git-d">Oh, my Git! D=</a></li> +<li><a href="#reproducibility-task-of-the-day-1">Reproducibility task of the day</a></li> +<li><a href="#suggested-reading-1">Suggested reading</a></li> </ul></li> -<li><a href="#wednesday---preserve-your-tools">Wednesday - preserve your tools</a></li> -<li><a href="#thursday---automate-your-workflows">Thursday - automate your workflows</a> +<li><a href="#wednesday---make-your-code-and-manuscript-reproducible">Wednesday - make your code and manuscript reproducible</a> <ul> <li><a href="#reproducible-code">Reproducible code</a> <ul> -<li><a href="#style">Style</a></li> <li><a href="#comment">Comment</a></li> +<li><a href="#functions-and-packages">Functions and packages</a></li> </ul></li> +<li><a href="#reproducible-manuscripts">Reproducible manuscripts</a> +<ul> +<li><a href="#basic-markdown-syntax">Basic Markdown syntax</a></li> +<li><a href="#citationreference-management">Citation/reference management</a></li> </ul></li> +<li><a href="#reproducibility-task-of-the-day-2">Reproducibility task of the day</a></li> +<li><a href="#suggested-reading-2">Suggested reading</a></li> +</ul></li> +<li><a href="#thursday---preserve-your-tools">Thursday - preserve your tools</a></li> <li><a href="#saturday---reproducible-challange">Saturday - reproducible challange</a></li> </ul> </nav> @@ -1542,7 +1556,7 @@ <h3 id="self-care-task-of-the-day"><strong>Self-care task of the day</strong></h <li><p>How can be inclusive by design - what can we do in our projects to invite collaboration?</p></li> <li><p>Is reproducibility openness? If a project is reproducible, does that mean it is accessible?</p></li> </ol> -<h4 id="suggested-reading">Suggested reading</h4> +<h2 id="suggested-reading">Suggested reading</h2> <ul> <li><a href="https://www.nature.com/articles/s41559-017-0160">Our path to better science in less time using open data science tools</a></li> </ul> @@ -1614,7 +1628,10 @@ <h3 id="licenses">Licenses</h3> <li><p>Are we ok with this project being used for commercial purposes?</p></li> </ol> <p>A combination of your answers will guide you to find the best license for your project which is adequate for your community. There are a couple of online tools that can help you with that! For example, if you are sharing creative work, you can consult the <a href="https://creativecommons.org/choose/">Creative Commons - Choose a License</a> tool. For other open source software licenses, you can take a look at the <a href="http://choosealicense.com/">Choose A License</a> website. The cool thing is: you can also <strong>create</strong> your own license! In any case, once you chose the appropriate license for your project, save it in your project root folder with the name “LICENSE” (as a text file). This way, your version control host system will automatically recognize it and display something like “hey, this project has a license!” when someone finds your project.</p> -<h4 id="suggested-readings">Suggested readings</h4> +<h2 id="reproducibility-task-of-the-day">Reproducibility task of the day</h2> +<p>Take a moment to evaluate your current project design. How would you make it better? If there is something missing (a license, cool names, a good structure), try to implement what you’ve learned: one simple thing is enough! Pick one project + one improvement and do it / You can start even with pen and paper! Scketch what’s the flow of information inside your project right now. Is there any redundancies? Could a path between righly connected directories be shorter? Could the names of the folders be shorter if they were arranged some other way?</p> +<p>Need help? Ask a friend to do it with you!</p> +<h2 id="suggested-readings">Suggested readings</h2> <ul> <li><p><a href="https://mozilla.github.io/open-leadership-training-series/articles/get-your-project-online/sharing-your-work-in-the-open/">Mozilla Open Leaders lesson on sharing your work in the open</a></p></li> <li><p><a href="https://www.dcc.ac.uk/guidance/how-guides/license-research-data">How to License Research Data</a></p></li> @@ -1623,6 +1640,7 @@ <h4 id="suggested-readings">Suggested readings</h4> <h1 id="tuesday---control-your-versions">Tuesday - control your versions</h1> <blockquote> <h3 id="self-care-task-of-the-day-2"><strong>Self-care task of the day</strong></h3> +<p>YouTube is full of people making their own version of their favorite songs. The self-care task of the day is to pick one song and look for versions of it on YouTube. Maybe start looking for you favorite song. What are the differences between the versions? Which one did you like the most? Have you discovered a cool artist because of this search? If you couldn’t find a cool version of your favorite song, take a moment to imagine how your own version would sound like.</p> </blockquote> <h2 id="what-is-version-control-why-is-it-cool-to-use">What is version control? Why is it cool to use?</h2> <p><img src="https://files.realpython.com/media/Introduction-to-Git-and-GitHub-for-Python-Developers_Watermarked_1.83e3183e9aaa.jpg" /></p> @@ -1768,38 +1786,135 @@ <h2 id="oh-my-git-d">Oh, my Git! D=</h2> <span id="cb27-2"><a href="#cb27-2" aria-hidden="true" tabindex="-1"></a><span class="fu">git</span> reset --hard origin/master</span></code></pre></div> <p>That’s it! There’s <strong><em>a lot more</em></strong> in the git world, but I hope this guide can help you on your version control journey.</p> <p><strong>Remember</strong>: keep the <code>main</code> as untouched as possible, work with branches to test your ideas, and always <code>push</code> your modifications before going to bed.</p> -<h4 id="suggested-reading-1">Suggested reading</h4> +<h2 id="reproducibility-task-of-the-day-1">Reproducibility task of the day</h2> +<p>Set up the tracking system in your project! Create a remote repository and connect it with your local directory. If you already use a version control system, review your workflow both when working alone and in collaboration: what are the actions most likely to cause a problem? Can you make it simpler?</p> +<blockquote> +<p>hint: make a colorful and friendly sketch of your current workflow!</p> +</blockquote> +<h2 id="suggested-reading-1">Suggested reading</h2> <ul> <li>This lesson was translated from a git guide in Portuguese I wrote with Karlo Guidoni in a study group we promoted at Universidade Federal de Goiás, back in 2017, and we used time and again in our reproducibility trainings. You can take a look in our repository <a href="https://github.com/kguidonimartins/studygroup-ufg">here</a>.</li> </ul> -<h1 id="wednesday---preserve-your-tools">Wednesday - preserve your tools</h1> +<h1 id="wednesday---make-your-code-and-manuscript-reproducible">Wednesday - make your code and manuscript reproducible</h1> <blockquote> <h3 id="self-care-task-of-the-day-3"><strong>Self-care task of the day</strong></h3> +<p>What is your favorite food? Do you have a story of a special meal prepared by a loved one? The self-care task of the day is to call someone you love and ask them to explain how to prepare a special meal: one that you really like or one of their favorites. If you’re feeling adventurous, try to reproduce it before the next task tomorrow!</p> </blockquote> -<h1 id="thursday---automate-your-workflows">Thursday - automate your workflows</h1> +<h2 id="reproducible-code">Reproducible code</h2> +<p>Today is the day to make your future-self thank you! We will go through some tips and tricks to make your code more friendly, surviving the test of time and of your own memory.</p> +<p>A reproducible code is an essential part of a reproducible project. Having a code to reproduce your analysis is already a great start, congrats for that! :crown:</p> +<p>Today we’ll try to go a step forward and write a love letter for your future-self by adding comments on your code, rethinking about object names, investigate how we can compile chuncks of code inside functions and, finally, think about reproducible manuscripts. ### Style There are no right or wrong when it comes to style: there are best-practices and what works better for you or your project.</p> +<p>For example, Google has a series of style guides they use to standardize code writing in the company. There is a <a href="https://google.github.io/styleguide/Rguide.html">Google’s R Style Guide</a> and a <a href="https://style.tidyverse.org/">tydiverse style guide</a> which can be a good inspiration to find your own. Here’s an idea: create a document whre you usually store code. List all conventions you use and have never thought about <strong><em>why</em></strong> you use them and reflect if they still make sense for you. If they do, keep them. If they don’t, try to improve them. Is there any other thing you never thought it was important, but it could be? Do you have a convention for function names, for example?</p> +<p><strong>Object names</strong><br /> +Object names are the major source of wasted time for me, especially when the code is already super long with numerous objects. What helps is to know they should be descriptive, yet concise. A good tip is to <a href="https://style.tidyverse.org/syntax.html#object-names">name objects as nouns and functions as verbs</a>.</p> +<blockquote> +<p>What do you think is important when naming objects in the languages that you use? Take 5 mins to write a list!</p> +</blockquote> +<h3 id="comment">Comment</h3> +<p>Another good practice is to <strong><em>always</em></strong> comment your code. It will help you understand the decisions you’ve made throughout this process, that’s why a good tip is to write simple comments that state <strong><em>why</em></strong> you wrote that line of code. What do you think of buying a friend a coffee and ask them to review your code annotation? Maybe you can make some lines clearer while hanging out in a park!</p> +<p>In a larger scale, it is important to have other kinds of notes: session info (e.g., in <code>R</code> you can use the command <code>sessionInfo()</code>), package versions (e.g., using the <code>checkpoint</code> package), dependencies and connections between code scripts and data files. A good example of documentation is <a href="https://github.com/BIO6032/2019_replication_HastingsPowell_1991/blob/master/README.md">this README file</a> written by our colleague Gabriel Dansereau: it contains clear instructions of how to use the code, how the respsitory is organized and even notes on possible warnings and what they mean.</p> +<p>It can be complicated to keep track of everything everyday, so here’s a tip: schedule a day in your month (or week) to update the documentation of your project! People call it “documentation day” out there, and you’ll find lots of blogposts about it online.</p> +<h3 id="functions-and-packages">Functions and packages</h3> +<p>Functions can help you keep your code cleaner and avoid errors when you repeat actions. They should replace redundancies in your code. In the same way, when you notice you have to repeat a certain routine in many of your projects, it might be worth writing a package - which is basically a set of functions. When you do that, don’t forget to include in your functions some commands that check for errors, like when you try to use a type of variable that is not compatible with the analysis that run inside the function.</p> +<blockquote> +<p>Take a few minutes to have a look at your code now. Can you see something that could be a function?</p> +</blockquote> +<h2 id="reproducible-manuscripts">Reproducible manuscripts</h2> +<p>From reproducible code to reproducible manuscripts is one small leap! It means your manuscript is readable across platforms and systems, and can be compiled locally, and even be automatically updated if your data or analyses change! It doesn’t mean that the interpretation of the results will be automatically updated aswell - which seems to be a concern for some people, that argue that reproducible manuscripts turn the science activity into a mechanic thing. On the contrary: it allows you to not worry about making figures over and over again, and concentrate in the philosophical part of your science!</p> +<p>There are three basic things we need to understand to produce a reproducible academic manuscript: the <a href="https://yaml.org/">YAML</a>, the <a href="https://en.wikipedia.org/wiki/Markup_language">markup language</a> (such as Markdown) and the citation/references management.</p> +<p><strong>YAML</strong> (YAML Ain’t a Markup Language - metalingustics!) is a language that defines the metadata of your document and helps in the compiling process. It tells your computer if the output you need is a <code>*.pdf</code> or a <code>*.doc</code> file, for example. A YAML block will be the first thing you’ll add on your document, and the only tricky thing is to get the indentation right.</p> +<p>For example, the YAML of this very webpage looks like this:</p> +<div class="sourceCode" id="cb28"><pre class="sourceCode yaml"><code class="sourceCode yaml"><span id="cb28-1"><a href="#cb28-1" aria-hidden="true" tabindex="-1"></a><span class="pp">---</span></span> +<span id="cb28-2"><a href="#cb28-2" aria-hidden="true" tabindex="-1"></a><span class="fu">title</span><span class="kw">:</span><span class="at"> </span><span class="st">"(un)Reproducibility Detox"</span></span> +<span id="cb28-3"><a href="#cb28-3" aria-hidden="true" tabindex="-1"></a><span class="fu">description</span><span class="kw">: </span><span class="ch">|</span></span> +<span id="cb28-4"><a href="#cb28-4" aria-hidden="true" tabindex="-1"></a> A seven-day detox routine to improve the reproducibility of your projects!</span> +<span id="cb28-5"><a href="#cb28-5" aria-hidden="true" tabindex="-1"></a><span class="fu">author</span><span class="kw">:</span><span class="at"> Gracielle Higino</span></span> +<span id="cb28-6"><a href="#cb28-6" aria-hidden="true" tabindex="-1"></a><span class="fu">preview</span><span class="kw">:</span><span class="at"> thumb.png</span></span> +<span id="cb28-7"><a href="#cb28-7" aria-hidden="true" tabindex="-1"></a><span class="fu">categories</span><span class="kw">:</span><span class="at"> </span></span> +<span id="cb28-8"><a href="#cb28-8" aria-hidden="true" tabindex="-1"></a><span class="at"> </span><span class="kw">-</span><span class="at"> Technical</span></span> +<span id="cb28-9"><a href="#cb28-9" aria-hidden="true" tabindex="-1"></a><span class="at"> </span><span class="kw">-</span><span class="at"> EN</span></span> +<span id="cb28-10"><a href="#cb28-10" aria-hidden="true" tabindex="-1"></a><span class="fu">date</span><span class="kw">:</span><span class="at"> 06-13-2021</span></span> +<span id="cb28-11"><a href="#cb28-11" aria-hidden="true" tabindex="-1"></a><span class="fu">output</span><span class="kw">:</span></span> +<span id="cb28-12"><a href="#cb28-12" aria-hidden="true" tabindex="-1"></a><span class="at"> distill:</span><span class="fu">:distill_article</span><span class="kw">:</span></span> +<span id="cb28-13"><a href="#cb28-13" aria-hidden="true" tabindex="-1"></a><span class="at"> </span><span class="fu">self_contained</span><span class="kw">:</span><span class="at"> </span><span class="ch">false</span></span> +<span id="cb28-14"><a href="#cb28-14" aria-hidden="true" tabindex="-1"></a><span class="at"> </span><span class="fu">toc</span><span class="kw">:</span><span class="at"> </span><span class="ch">true</span></span> +<span id="cb28-15"><a href="#cb28-15" aria-hidden="true" tabindex="-1"></a><span class="pp">---</span></span></code></pre></div> +<p>You should add to your manuscript a <code>bibliography</code> argument with the path to your <code>*.bib</code> file and change the output according to your needs. If you use RStudio, these things are easier to change as it has built-in templates with pre-filled YAML header.</p> +<p>Another cool thing to add in your YAML header is a reference to a template. This will make your computer compile your manuscript in the same format as your template - which helps a lot when you submit the manuscript to a journal.</p> +<p>A couple of packages can help you put together all these pieces. The <code>rticles</code> package imports LaTeX templates from scientific journals and implements a dialog box in RStudio. The <code>rmdTemplates</code> package has also slides, Word and PDF templates. It helps a lot starting with a template and fill in the blanks![=</p> +<h3 id="basic-markdown-syntax">Basic Markdown syntax</h3> +<p>A very complete introduction to R Markdown is provided by RStudio <a href="https://rmarkdown.rstudio.com/articles_intro.html">here</a> (also make sure to consult the <a href="https://www.rstudio.com/wp-content/uploads/2015/02/rmarkdown-cheatsheet.pdf"><strong>R Markdown Cheat Sheet</strong></a>). This basic syntax is the same used in Markdown and other similar markup languages. For example:</p> +<p><code>**this is bold**</code> -> <strong>this is bold</strong><br /> +<code>*this is italic*</code> -> <em>this is italic</em></p> +<div class="sourceCode" id="cb29"><pre class="sourceCode markdown"><code class="sourceCode markdown"><span id="cb29-1"><a href="#cb29-1" aria-hidden="true" tabindex="-1"></a>|this|is|a|table|</span> +<span id="cb29-2"><a href="#cb29-2" aria-hidden="true" tabindex="-1"></a>|:---|:---:|---:||</span> +<span id="cb29-3"><a href="#cb29-3" aria-hidden="true" tabindex="-1"></a>|a|table|this|is|</span></code></pre></div> +<style type="text/css"> +.tg .tg-c3ow{border-color:inherit;text-align:center;vertical-align:top} +.tg .tg-0pky{border-color:inherit;text-align:left;vertical-align:top} +.tg .tg-dvpl{border-color:inherit;text-align:right;vertical-align:top} +</style> +<table class="tg"> +<thead> +<tr> +<th class="tg-0pky"> +this +</th> +<th class="tg-c3ow"> +is +</th> +<th class="tg-dvpl"> +a +</th> +<th class="tg-0pky"> +table +</th> +</tr> +</thead> +<tbody> +<tr> +<td class="tg-0pky"> +a +</td> +<td class="tg-c3ow"> +table +</td> +<td class="tg-dvpl"> +this +</td> +<td class="tg-0pky"> +is +</td> +</tr> +</tbody> +</table> +<h3 id="citationreference-management">Citation/reference management</h3> +<p>A good idea is to keep an up-to-date text file containing all your bibliography that can be referenced in your manuscript. For example, you can ask your reference manager software to generate a <code>*.bib</code> file, which usually contains a specific tag for each citation. This tag will then be used in your file as something like <code>[@TagPaper]</code>.</p> +<p>The citation style, on the other hand, is usually defined by a <code>*.csl</code> file (<a href="https://citationstyles.org/" class="uri">https://citationstyles.org/</a>). These files can be found, for example, on the <a href="https://www.zotero.org/styles">Zotero Style Repository</a>, and all you need to do is download the file and keep in in the same directory as your manuscript.</p> +<h2 id="reproducibility-task-of-the-day-2">Reproducibility task of the day</h2> +<p>Can you “transform” one of your manuscripts into a reproducible file? What are the steps you neet to take to get there?</p> +<p>Do you already have all your manuscripts in a reproducible format? Congratulations! Your task will be to help a friend that is learning how to make one!</p> +<h2 id="suggested-reading-2">Suggested reading</h2> +<ul> +<li><p><a href="https://methodsblog.com/2017/12/06/making-your-code-reproducible/">Methods in Ecology and Evolution blog post with tips and tricks for reproducible code</a></p></li> +<li><p><a href="http://bit.ly/BESGuidesTo">BES guide to reproducible code</a></p></li> +<li><p><a href="http://ropensci.github.io/reproducibility-guide/sections/writingCode/">rOpenSci reproducibility guide</a></p></li> +<li><p><a href="http://frederikaust.com/papaja_man/r-markdown-components.html#yaml-front-matter">YAML front matter, in the “papaja: Reproducible APA manuscripts with R Markdown”</a></p></li> +<li><p><a href="http://svmiller.com/blog/2016/02/svm-r-markdown-manuscript/">An R Markdown Template for Academic Manuscripts</a></p></li> +<li><p><a href="https://docs.ansible.com/ansible/latest/reference_appendices/YAMLSyntax.html#yaml-basics">Ansible YAML guide</a></p></li> +<li><p><a href="https://bookdown.org/yihui/rmarkdown/markdown-syntax.html">Markdown syntax in “R Markdown: The Definitive Guide”</a></p></li> +</ul> +<h1 id="thursday---preserve-your-tools">Thursday - preserve your tools</h1> <blockquote> <h3 id="self-care-task-of-the-day-4"><strong>Self-care task of the day</strong></h3> -<h1 id="friday---make-your-code-and-manuscript-reproducible">Friday - make your code and manuscript reproducible</h1> +<h1 id="friday---automate-your-workflows">Friday - automate your workflows</h1> <h3 id="self-care-task-of-the-day-5"><strong>Self-care task of the day</strong></h3> </blockquote> -<h2 id="reproducible-code">Reproducible code</h2> -<h3 id="style">Style</h3> -<p>! Object names</p> -<h3 id="comment">Comment</h3> -<p>! Documentation day! ! Make it metadatable (record session info, package versions, dependencies…) ! Package of packages! ! Containerize it! ### Functions and packages ! Test them! ## Reproducible manuscripts</p> -<p>The logics YAML</p> -<p>Basic syntax - cheat sheet</p> -<p><a href="https://www.rstudio.com/wp-content/uploads/2015/02/rmarkdown-cheatsheet.pdf">R Markdown Cheat Sheet</a></p> -<object data="_posts/2021-06-13-unreproducibility-detox/rmarkdown-cheatsheet.pdf" type="application/pdf" style="height:200%;width:100%"> -</object> -<h4 id="rticles"><code>rticles</code></h4> -<h4 id="rmdtemplates">rmdTemplates</h4> -<h4 id="bookdown">bookdown</h4> <h1 id="saturday---reproducible-challange">Saturday - reproducible challange</h1> <blockquote> <h3 id="self-care-task-of-the-day-6"><strong>Self-care task of the day</strong></h3> </blockquote> -<div class="sourceCode" id="cb28"><pre class="sourceCode r distill-force-highlighting-css"><code class="sourceCode r"></code></pre></div> +<div class="sourceCode" id="cb30"><pre class="sourceCode r distill-force-highlighting-css"><code class="sourceCode r"></code></pre></div> <!--radix_placeholder_article_footer--> <!--/radix_placeholder_article_footer--> </div> diff --git a/docs/index.html b/docs/index.html index 7aa660e..f581e18 100644 --- a/docs/index.html +++ b/docs/index.html @@ -2231,9 +2231,7 @@ <h1 class="posts-list-caption" data-caption="Training materials">Training materi <div class="dt-author">Gracielle Higino</div> </div> </div> -<div class="thumbnail"> -<img/> -</div> +<div class="thumbnail"></div> <div class="description"> <h2>(un)Reproducibility Detox</h2> <div class="dt-tags"> diff --git a/docs/posts/2021-06-13-unreproducibility-detox/index.html b/docs/posts/2021-06-13-unreproducibility-detox/index.html index a6a7172..362b6a4 100644 --- a/docs/posts/2021-06-13-unreproducibility-detox/index.html +++ b/docs/posts/2021-06-13-unreproducibility-detox/index.html @@ -2133,11 +2133,16 @@ <h1>(un)Reproducibility Detox</h1> <nav class="l-text toc figcaption" id="TOC"> <h3>Contents</h3> <ul> -<li><a href="#sunday---reflect-about-open-science">Sunday - reflect about open science</a></li> +<li><a href="#sunday---reflect-about-open-science">Sunday - reflect about open science</a> +<ul> +<li><a href="#suggested-reading">Suggested reading</a></li> +</ul></li> <li><a href="#monday---design-a-project">Monday - design a project</a> <ul> <li><a href="#give-cool-names">Give cool names</a></li> <li><a href="#licenses">Licenses</a></li> +<li><a href="#reproducibility-task-of-the-day">Reproducibility task of the day</a></li> +<li><a href="#suggested-readings">Suggested readings</a></li> </ul></li> <li><a href="#tuesday---control-your-versions">Tuesday - control your versions</a> <ul> @@ -2158,16 +2163,25 @@ <h3>Contents</h3> <li><a href="#working-with-branches">Working with branches</a></li> </ul></li> <li><a href="#oh-my-git-d">Oh, my Git! D=</a></li> +<li><a href="#reproducibility-task-of-the-day-1">Reproducibility task of the day</a></li> +<li><a href="#suggested-reading-1">Suggested reading</a></li> </ul></li> -<li><a href="#wednesday---preserve-your-tools">Wednesday - preserve your tools</a></li> -<li><a href="#thursday---automate-your-workflows">Thursday - automate your workflows</a> +<li><a href="#wednesday---make-your-code-and-manuscript-reproducible">Wednesday - make your code and manuscript reproducible</a> <ul> <li><a href="#reproducible-code">Reproducible code</a> <ul> -<li><a href="#style">Style</a></li> <li><a href="#comment">Comment</a></li> +<li><a href="#functions-and-packages">Functions and packages</a></li> </ul></li> +<li><a href="#reproducible-manuscripts">Reproducible manuscripts</a> +<ul> +<li><a href="#basic-markdown-syntax">Basic Markdown syntax</a></li> +<li><a href="#citationreference-management">Citation/reference management</a></li> </ul></li> +<li><a href="#reproducibility-task-of-the-day-2">Reproducibility task of the day</a></li> +<li><a href="#suggested-reading-2">Suggested reading</a></li> +</ul></li> +<li><a href="#thursday---preserve-your-tools">Thursday - preserve your tools</a></li> <li><a href="#saturday---reproducible-challange">Saturday - reproducible challange</a></li> </ul> </nav> @@ -2189,7 +2203,7 @@ <h3 id="self-care-task-of-the-day"><strong>Self-care task of the day</strong></h <li><p>How can be inclusive by design - what can we do in our projects to invite collaboration?</p></li> <li><p>Is reproducibility openness? If a project is reproducible, does that mean it is accessible?</p></li> </ol> -<h4 id="suggested-reading">Suggested reading</h4> +<h2 id="suggested-reading">Suggested reading</h2> <ul> <li><a href="https://www.nature.com/articles/s41559-017-0160">Our path to better science in less time using open data science tools</a></li> </ul> @@ -2261,7 +2275,10 @@ <h3 id="licenses">Licenses</h3> <li><p>Are we ok with this project being used for commercial purposes?</p></li> </ol> <p>A combination of your answers will guide you to find the best license for your project which is adequate for your community. There are a couple of online tools that can help you with that! For example, if you are sharing creative work, you can consult the <a href="https://creativecommons.org/choose/">Creative Commons - Choose a License</a> tool. For other open source software licenses, you can take a look at the <a href="http://choosealicense.com/">Choose A License</a> website. The cool thing is: you can also <strong>create</strong> your own license! In any case, once you chose the appropriate license for your project, save it in your project root folder with the name “LICENSE” (as a text file). This way, your version control host system will automatically recognize it and display something like “hey, this project has a license!” when someone finds your project.</p> -<h4 id="suggested-readings">Suggested readings</h4> +<h2 id="reproducibility-task-of-the-day">Reproducibility task of the day</h2> +<p>Take a moment to evaluate your current project design. How would you make it better? If there is something missing (a license, cool names, a good structure), try to implement what you’ve learned: one simple thing is enough! Pick one project + one improvement and do it / You can start even with pen and paper! Scketch what’s the flow of information inside your project right now. Is there any redundancies? Could a path between righly connected directories be shorter? Could the names of the folders be shorter if they were arranged some other way?</p> +<p>Need help? Ask a friend to do it with you!</p> +<h2 id="suggested-readings">Suggested readings</h2> <ul> <li><p><a href="https://mozilla.github.io/open-leadership-training-series/articles/get-your-project-online/sharing-your-work-in-the-open/">Mozilla Open Leaders lesson on sharing your work in the open</a></p></li> <li><p><a href="https://www.dcc.ac.uk/guidance/how-guides/license-research-data">How to License Research Data</a></p></li> @@ -2270,6 +2287,7 @@ <h4 id="suggested-readings">Suggested readings</h4> <h1 id="tuesday---control-your-versions">Tuesday - control your versions</h1> <blockquote> <h3 id="self-care-task-of-the-day-2"><strong>Self-care task of the day</strong></h3> +<p>YouTube is full of people making their own version of their favorite songs. The self-care task of the day is to pick one song and look for versions of it on YouTube. Maybe start looking for you favorite song. What are the differences between the versions? Which one did you like the most? Have you discovered a cool artist because of this search? If you couldn’t find a cool version of your favorite song, take a moment to imagine how your own version would sound like.</p> </blockquote> <h2 id="what-is-version-control-why-is-it-cool-to-use">What is version control? Why is it cool to use?</h2> <p><img src="https://files.realpython.com/media/Introduction-to-Git-and-GitHub-for-Python-Developers_Watermarked_1.83e3183e9aaa.jpg" /></p> @@ -2415,38 +2433,135 @@ <h2 id="oh-my-git-d">Oh, my Git! D=</h2> <span id="cb27-2"><a href="#cb27-2" aria-hidden="true" tabindex="-1"></a><span class="fu">git</span> reset --hard origin/master</span></code></pre></div> <p>That’s it! There’s <strong><em>a lot more</em></strong> in the git world, but I hope this guide can help you on your version control journey.</p> <p><strong>Remember</strong>: keep the <code>main</code> as untouched as possible, work with branches to test your ideas, and always <code>push</code> your modifications before going to bed.</p> -<h4 id="suggested-reading-1">Suggested reading</h4> +<h2 id="reproducibility-task-of-the-day-1">Reproducibility task of the day</h2> +<p>Set up the tracking system in your project! Create a remote repository and connect it with your local directory. If you already use a version control system, review your workflow both when working alone and in collaboration: what are the actions most likely to cause a problem? Can you make it simpler?</p> +<blockquote> +<p>hint: make a colorful and friendly sketch of your current workflow!</p> +</blockquote> +<h2 id="suggested-reading-1">Suggested reading</h2> <ul> <li>This lesson was translated from a git guide in Portuguese I wrote with Karlo Guidoni in a study group we promoted at Universidade Federal de Goiás, back in 2017, and we used time and again in our reproducibility trainings. You can take a look in our repository <a href="https://github.com/kguidonimartins/studygroup-ufg">here</a>.</li> </ul> -<h1 id="wednesday---preserve-your-tools">Wednesday - preserve your tools</h1> +<h1 id="wednesday---make-your-code-and-manuscript-reproducible">Wednesday - make your code and manuscript reproducible</h1> <blockquote> <h3 id="self-care-task-of-the-day-3"><strong>Self-care task of the day</strong></h3> +<p>What is your favorite food? Do you have a story of a special meal prepared by a loved one? The self-care task of the day is to call someone you love and ask them to explain how to prepare a special meal: one that you really like or one of their favorites. If you’re feeling adventurous, try to reproduce it before the next task tomorrow!</p> +</blockquote> +<h2 id="reproducible-code">Reproducible code</h2> +<p>Today is the day to make your future-self thank you! We will go through some tips and tricks to make your code more friendly, surviving the test of time and of your own memory.</p> +<p>A reproducible code is an essential part of a reproducible project. Having a code to reproduce your analysis is already a great start, congrats for that! :crown:</p> +<p>Today we’ll try to go a step forward and write a love letter for your future-self by adding comments on your code, rethinking about object names, investigate how we can compile chuncks of code inside functions and, finally, think about reproducible manuscripts. ### Style There are no right or wrong when it comes to style: there are best-practices and what works better for you or your project.</p> +<p>For example, Google has a series of style guides they use to standardize code writing in the company. There is a <a href="https://google.github.io/styleguide/Rguide.html">Google’s R Style Guide</a> and a <a href="https://style.tidyverse.org/">tydiverse style guide</a> which can be a good inspiration to find your own. Here’s an idea: create a document whre you usually store code. List all conventions you use and have never thought about <strong><em>why</em></strong> you use them and reflect if they still make sense for you. If they do, keep them. If they don’t, try to improve them. Is there any other thing you never thought it was important, but it could be? Do you have a convention for function names, for example?</p> +<p><strong>Object names</strong><br /> +Object names are the major source of wasted time for me, especially when the code is already super long with numerous objects. What helps is to know they should be descriptive, yet concise. A good tip is to <a href="https://style.tidyverse.org/syntax.html#object-names">name objects as nouns and functions as verbs</a>.</p> +<blockquote> +<p>What do you think is important when naming objects in the languages that you use? Take 5 mins to write a list!</p> </blockquote> -<h1 id="thursday---automate-your-workflows">Thursday - automate your workflows</h1> +<h3 id="comment">Comment</h3> +<p>Another good practice is to <strong><em>always</em></strong> comment your code. It will help you understand the decisions you’ve made throughout this process, that’s why a good tip is to write simple comments that state <strong><em>why</em></strong> you wrote that line of code. What do you think of buying a friend a coffee and ask them to review your code annotation? Maybe you can make some lines clearer while hanging out in a park!</p> +<p>In a larger scale, it is important to have other kinds of notes: session info (e.g., in <code>R</code> you can use the command <code>sessionInfo()</code>), package versions (e.g., using the <code>checkpoint</code> package), dependencies and connections between code scripts and data files. A good example of documentation is <a href="https://github.com/BIO6032/2019_replication_HastingsPowell_1991/blob/master/README.md">this README file</a> written by our colleague Gabriel Dansereau: it contains clear instructions of how to use the code, how the respsitory is organized and even notes on possible warnings and what they mean.</p> +<p>It can be complicated to keep track of everything everyday, so here’s a tip: schedule a day in your month (or week) to update the documentation of your project! People call it “documentation day” out there, and you’ll find lots of blogposts about it online.</p> +<h3 id="functions-and-packages">Functions and packages</h3> +<p>Functions can help you keep your code cleaner and avoid errors when you repeat actions. They should replace redundancies in your code. In the same way, when you notice you have to repeat a certain routine in many of your projects, it might be worth writing a package - which is basically a set of functions. When you do that, don’t forget to include in your functions some commands that check for errors, like when you try to use a type of variable that is not compatible with the analysis that run inside the function.</p> +<blockquote> +<p>Take a few minutes to have a look at your code now. Can you see something that could be a function?</p> +</blockquote> +<h2 id="reproducible-manuscripts">Reproducible manuscripts</h2> +<p>From reproducible code to reproducible manuscripts is one small leap! It means your manuscript is readable across platforms and systems, and can be compiled locally, and even be automatically updated if your data or analyses change! It doesn’t mean that the interpretation of the results will be automatically updated aswell - which seems to be a concern for some people, that argue that reproducible manuscripts turn the science activity into a mechanic thing. On the contrary: it allows you to not worry about making figures over and over again, and concentrate in the philosophical part of your science!</p> +<p>There are three basic things we need to understand to produce a reproducible academic manuscript: the <a href="https://yaml.org/">YAML</a>, the <a href="https://en.wikipedia.org/wiki/Markup_language">markup language</a> (such as Markdown) and the citation/references management.</p> +<p><strong>YAML</strong> (YAML Ain’t a Markup Language - metalingustics!) is a language that defines the metadata of your document and helps in the compiling process. It tells your computer if the output you need is a <code>*.pdf</code> or a <code>*.doc</code> file, for example. A YAML block will be the first thing you’ll add on your document, and the only tricky thing is to get the indentation right.</p> +<p>For example, the YAML of this very webpage looks like this:</p> +<div class="sourceCode" id="cb28"><pre class="sourceCode yaml"><code class="sourceCode yaml"><span id="cb28-1"><a href="#cb28-1" aria-hidden="true" tabindex="-1"></a><span class="pp">---</span></span> +<span id="cb28-2"><a href="#cb28-2" aria-hidden="true" tabindex="-1"></a><span class="fu">title</span><span class="kw">:</span><span class="at"> </span><span class="st">"(un)Reproducibility Detox"</span></span> +<span id="cb28-3"><a href="#cb28-3" aria-hidden="true" tabindex="-1"></a><span class="fu">description</span><span class="kw">: </span><span class="ch">|</span></span> +<span id="cb28-4"><a href="#cb28-4" aria-hidden="true" tabindex="-1"></a> A seven-day detox routine to improve the reproducibility of your projects!</span> +<span id="cb28-5"><a href="#cb28-5" aria-hidden="true" tabindex="-1"></a><span class="fu">author</span><span class="kw">:</span><span class="at"> Gracielle Higino</span></span> +<span id="cb28-6"><a href="#cb28-6" aria-hidden="true" tabindex="-1"></a><span class="fu">preview</span><span class="kw">:</span><span class="at"> thumb.png</span></span> +<span id="cb28-7"><a href="#cb28-7" aria-hidden="true" tabindex="-1"></a><span class="fu">categories</span><span class="kw">:</span><span class="at"> </span></span> +<span id="cb28-8"><a href="#cb28-8" aria-hidden="true" tabindex="-1"></a><span class="at"> </span><span class="kw">-</span><span class="at"> Technical</span></span> +<span id="cb28-9"><a href="#cb28-9" aria-hidden="true" tabindex="-1"></a><span class="at"> </span><span class="kw">-</span><span class="at"> EN</span></span> +<span id="cb28-10"><a href="#cb28-10" aria-hidden="true" tabindex="-1"></a><span class="fu">date</span><span class="kw">:</span><span class="at"> 06-13-2021</span></span> +<span id="cb28-11"><a href="#cb28-11" aria-hidden="true" tabindex="-1"></a><span class="fu">output</span><span class="kw">:</span></span> +<span id="cb28-12"><a href="#cb28-12" aria-hidden="true" tabindex="-1"></a><span class="at"> distill:</span><span class="fu">:distill_article</span><span class="kw">:</span></span> +<span id="cb28-13"><a href="#cb28-13" aria-hidden="true" tabindex="-1"></a><span class="at"> </span><span class="fu">self_contained</span><span class="kw">:</span><span class="at"> </span><span class="ch">false</span></span> +<span id="cb28-14"><a href="#cb28-14" aria-hidden="true" tabindex="-1"></a><span class="at"> </span><span class="fu">toc</span><span class="kw">:</span><span class="at"> </span><span class="ch">true</span></span> +<span id="cb28-15"><a href="#cb28-15" aria-hidden="true" tabindex="-1"></a><span class="pp">---</span></span></code></pre></div> +<p>You should add to your manuscript a <code>bibliography</code> argument with the path to your <code>*.bib</code> file and change the output according to your needs. If you use RStudio, these things are easier to change as it has built-in templates with pre-filled YAML header.</p> +<p>Another cool thing to add in your YAML header is a reference to a template. This will make your computer compile your manuscript in the same format as your template - which helps a lot when you submit the manuscript to a journal.</p> +<p>A couple of packages can help you put together all these pieces. The <code>rticles</code> package imports LaTeX templates from scientific journals and implements a dialog box in RStudio. The <code>rmdTemplates</code> package has also slides, Word and PDF templates. It helps a lot starting with a template and fill in the blanks![=</p> +<h3 id="basic-markdown-syntax">Basic Markdown syntax</h3> +<p>A very complete introduction to R Markdown is provided by RStudio <a href="https://rmarkdown.rstudio.com/articles_intro.html">here</a> (also make sure to consult the <a href="https://www.rstudio.com/wp-content/uploads/2015/02/rmarkdown-cheatsheet.pdf"><strong>R Markdown Cheat Sheet</strong></a>). This basic syntax is the same used in Markdown and other similar markup languages. For example:</p> +<p><code>**this is bold**</code> -> <strong>this is bold</strong><br /> +<code>*this is italic*</code> -> <em>this is italic</em></p> +<div class="sourceCode" id="cb29"><pre class="sourceCode markdown"><code class="sourceCode markdown"><span id="cb29-1"><a href="#cb29-1" aria-hidden="true" tabindex="-1"></a>|this|is|a|table|</span> +<span id="cb29-2"><a href="#cb29-2" aria-hidden="true" tabindex="-1"></a>|:---|:---:|---:||</span> +<span id="cb29-3"><a href="#cb29-3" aria-hidden="true" tabindex="-1"></a>|a|table|this|is|</span></code></pre></div> +<style type="text/css"> +.tg .tg-c3ow{border-color:inherit;text-align:center;vertical-align:top} +.tg .tg-0pky{border-color:inherit;text-align:left;vertical-align:top} +.tg .tg-dvpl{border-color:inherit;text-align:right;vertical-align:top} +</style> +<table class="tg"> +<thead> +<tr> +<th class="tg-0pky"> +this +</th> +<th class="tg-c3ow"> +is +</th> +<th class="tg-dvpl"> +a +</th> +<th class="tg-0pky"> +table +</th> +</tr> +</thead> +<tbody> +<tr> +<td class="tg-0pky"> +a +</td> +<td class="tg-c3ow"> +table +</td> +<td class="tg-dvpl"> +this +</td> +<td class="tg-0pky"> +is +</td> +</tr> +</tbody> +</table> +<h3 id="citationreference-management">Citation/reference management</h3> +<p>A good idea is to keep an up-to-date text file containing all your bibliography that can be referenced in your manuscript. For example, you can ask your reference manager software to generate a <code>*.bib</code> file, which usually contains a specific tag for each citation. This tag will then be used in your file as something like <code>[@TagPaper]</code>.</p> +<p>The citation style, on the other hand, is usually defined by a <code>*.csl</code> file (<a href="https://citationstyles.org/" class="uri">https://citationstyles.org/</a>). These files can be found, for example, on the <a href="https://www.zotero.org/styles">Zotero Style Repository</a>, and all you need to do is download the file and keep in in the same directory as your manuscript.</p> +<h2 id="reproducibility-task-of-the-day-2">Reproducibility task of the day</h2> +<p>Can you “transform” one of your manuscripts into a reproducible file? What are the steps you neet to take to get there?</p> +<p>Do you already have all your manuscripts in a reproducible format? Congratulations! Your task will be to help a friend that is learning how to make one!</p> +<h2 id="suggested-reading-2">Suggested reading</h2> +<ul> +<li><p><a href="https://methodsblog.com/2017/12/06/making-your-code-reproducible/">Methods in Ecology and Evolution blog post with tips and tricks for reproducible code</a></p></li> +<li><p><a href="http://bit.ly/BESGuidesTo">BES guide to reproducible code</a></p></li> +<li><p><a href="http://ropensci.github.io/reproducibility-guide/sections/writingCode/">rOpenSci reproducibility guide</a></p></li> +<li><p><a href="http://frederikaust.com/papaja_man/r-markdown-components.html#yaml-front-matter">YAML front matter, in the “papaja: Reproducible APA manuscripts with R Markdown”</a></p></li> +<li><p><a href="http://svmiller.com/blog/2016/02/svm-r-markdown-manuscript/">An R Markdown Template for Academic Manuscripts</a></p></li> +<li><p><a href="https://docs.ansible.com/ansible/latest/reference_appendices/YAMLSyntax.html#yaml-basics">Ansible YAML guide</a></p></li> +<li><p><a href="https://bookdown.org/yihui/rmarkdown/markdown-syntax.html">Markdown syntax in “R Markdown: The Definitive Guide”</a></p></li> +</ul> +<h1 id="thursday---preserve-your-tools">Thursday - preserve your tools</h1> <blockquote> <h3 id="self-care-task-of-the-day-4"><strong>Self-care task of the day</strong></h3> -<h1 id="friday---make-your-code-and-manuscript-reproducible">Friday - make your code and manuscript reproducible</h1> +<h1 id="friday---automate-your-workflows">Friday - automate your workflows</h1> <h3 id="self-care-task-of-the-day-5"><strong>Self-care task of the day</strong></h3> </blockquote> -<h2 id="reproducible-code">Reproducible code</h2> -<h3 id="style">Style</h3> -<p>! Object names</p> -<h3 id="comment">Comment</h3> -<p>! Documentation day! ! Make it metadatable (record session info, package versions, dependencies…) ! Package of packages! ! Containerize it! ### Functions and packages ! Test them! ## Reproducible manuscripts</p> -<p>The logics YAML</p> -<p>Basic syntax - cheat sheet</p> -<p><a href="https://www.rstudio.com/wp-content/uploads/2015/02/rmarkdown-cheatsheet.pdf">R Markdown Cheat Sheet</a></p> -<object data="_posts/2021-06-13-unreproducibility-detox/rmarkdown-cheatsheet.pdf" type="application/pdf" style="height:200%;width:100%"> -</object> -<h4 id="rticles"><code>rticles</code></h4> -<h4 id="rmdtemplates">rmdTemplates</h4> -<h4 id="bookdown">bookdown</h4> <h1 id="saturday---reproducible-challange">Saturday - reproducible challange</h1> <blockquote> <h3 id="self-care-task-of-the-day-6"><strong>Self-care task of the day</strong></h3> </blockquote> -<div class="sourceCode" id="cb28"><pre class="sourceCode r distill-force-highlighting-css"><code class="sourceCode r"></code></pre></div> +<div class="sourceCode" id="cb30"><pre class="sourceCode r distill-force-highlighting-css"><code class="sourceCode r"></code></pre></div> <!--radix_placeholder_article_footer--> <!--/radix_placeholder_article_footer--> </div> diff --git a/docs/posts/posts.json b/docs/posts/posts.json index bc6722b..da613e6 100644 --- a/docs/posts/posts.json +++ b/docs/posts/posts.json @@ -14,10 +14,10 @@ "Technical", "EN" ], - "contents": "\n\nContents\nSunday - reflect about open science\nMonday - design a project\nGive cool names\nLicenses\n\nTuesday - control your versions\nWhat is version control? Why is it cool to use?\nA little bit of Git vocabulary and architecture\nThe repository main timeline\nBranches from the master: branch\nCopying repositories from the ‘cloud’ to the computer (or, working offline):\nCopying online repositories\nGeneral workflow vocabulary\n\nWorking remotely\nWorking locally\nBasic Commands\nHow to track changes in my files?\nWorking with branches\n\nOh, my Git! D=\n\nWednesday - preserve your tools\nThursday - automate your workflows\nReproducible code\nStyle\nComment\n\n\nSaturday - reproducible challange\n\nHave you ever felt lost in your own projects? Do you feel like your workflow is quite effective, but it’s not transparent enough? This detox routine can help you regain control over your (very messy - I know!) project structure and discover a marvelous world of collaboration and contribution in open science!\nReproducibility is a principle that resonates to the most used concept of science, assuring that a hypothesis is testable. It means that the process to test an idea - from data to results - can be repeated. It is different from replicability, which means the process can be repeated, but using different data.\nIn this detox week we will reflect and experiment with open science, using our skills for project design, version control, virtual environments and automation. We will reevaluate our current workflow and fine-tune where needed, to reach the most reproducible workflow possible for us.\nSunday - reflect about open science\n\nSelf-care task of the day\nGo to a calm place. No need of silence, just a place where you can just be still. Set a timer for 5min. Take a deep breath in, and a deep breath out. Give your body a scan-through: concentrate in each centimeter of it and try to be aware of how does your body feel there. Everytime you find a contracted muscle, try to relax it. Pay attention to the sounds around you. When the timer is off, take another deep breath.\n\n\nOn the first day of this detox journey, let’s reflect on our way to work and how it could be better. Take a moment of your day and think about:\nWhat is your current workflow when you develop a project? Take a pen and paper (physical or digital) and sketch your usual process, step-by-step. Add as much details as you can (and take this chance to get creative!). Make sure to save this sketch in a place that is easy to access, you’re gonna need it in the following days.\nHow do we build trust and facilitate collaboration in our projects?\nHow can be inclusive by design - what can we do in our projects to invite collaboration?\nIs reproducibility openness? If a project is reproducible, does that mean it is accessible?\nSuggested reading\nOur path to better science in less time using open data science tools\nMonday - design a project\n\nSelf-care task of the day\nGo to somewhere where you feel in peace or happy. Take paper and something to write - even better if it’s colorful! Set a timer for 30 minutes and doodle something that reflects how you are feeling, something that represents a happy thought you had today, or something that represents the place you are right now.\n\nIn this step we will squeeze our creativity out of our brains to come up with a project that is reproducible by design. Is there a hierarchy between your folders? Which folders do you need? Should you mix raw and clean data? Did this last question offend you?\nThere are a couple of tools you can use to automatically create a project structure for you, such as RProject and its combination with the R package minimaltemplate, or the PkgTemplate.jl for development of packages in Julia.\nThe main things you need to reflect on when designing your open project are:\nWill I use data? If yes, will I need to treat/clean/subset them?\nWill I use code?\nWill it be shared? If yes, how? Do I want people to cite me, for exemple?\nWill I need to generate manuscripts/reports/figures?\nWill it be useful for people to know how to navigate my project? Will I welcome collaborators and contributors?\nWhat is the naming system I will use - for both folders and files?\nSee an example of a structured project below (adapted from here):\n## /home/awesome-manuscript\n## ├── .github\n## ├── .gitignore\n## ├── .travis.yml\n## ├── DESCRIPTION\n## ├── LICENSE.md\n## ├── R\n## │ ├── analysis.Rmd\n## │ ├── local_functions.R\n## │ └── package_list.R\n## ├── README.md\n## ├── awesome-manuscript.Rproj\n## ├── data\n## │ ├── clean\n## │ ├── raw\n## │ └── temp\n## ├── main-script.Rmd\n## ├── manuscript\n## │ └── sources\n## │ ├── ecology-letters.csl\n## │ ├── library.bib\n## │ ├── packages.bib\n## │ └── template.docx\n## ├── output\n## │ ├── figures\n## │ ├── results\n## │ └── supp\n## └── todo.txt\nVery nice, but the TL;DR version is:\nConsider having a dedicated folder for your data and split them into clean and raw data (alternatively, you can store your cleaned data inside an “output” folder, where other sorts of outputs will also be). If needed, create another folder for “sandbox data” - we need to have room for creativity in science! Also make sure to store the metadata in these folders, alongside their respective data, where they belong.\nIf you will produce reports/manuscripts, maybe it’s a good idea to have a dedicated folder for them too. Store there everything you’ll need to render your files, such as bibliography and templates.\nFigures should go in their own folder too.\nCode usually go in their own folder too, but if the code is about making the project work and putting everything together, it should go in the root.\nGive cool names\nYour project is so awesome that it needs the coolest names in its folders and files! Good names are informative and consistent. It is a hard exercise, but we do get better with time. The main things to think about when naming your things are:\nDoes it describe what’s inside without being verbose?\nDoes it allow for correct ordering?\nIs it easily searchable (a.k.a., machine readable)? Will my computer crash if I need to change to this directory?\nLicenses\nAn important part of making your work reproducible by anyone is to share it, and to do that safely, it is important to connect your project to a license. This is a statement about what and how people can use any part of your project. Chosing a license can be a difficult task at first, but if your projects have a common structure, they should be ok with the same license. When chosing a license, it is important to ask yourself (and your collaborators) the following questions:\nDo we want people to give us credit for our work when this projects is distributed, derived, performed or displayed?\nDo we want the derivatives of this project be shared with the same license that we chose?\nAre we ok with this project being used for commercial purposes?\nA combination of your answers will guide you to find the best license for your project which is adequate for your community. There are a couple of online tools that can help you with that! For example, if you are sharing creative work, you can consult the Creative Commons - Choose a License tool. For other open source software licenses, you can take a look at the Choose A License website. The cool thing is: you can also create your own license! In any case, once you chose the appropriate license for your project, save it in your project root folder with the name “LICENSE” (as a text file). This way, your version control host system will automatically recognize it and display something like “hey, this project has a license!” when someone finds your project.\nSuggested readings\nMozilla Open Leaders lesson on sharing your work in the open\nHow to License Research Data\nTuesday - control your versions\n\nSelf-care task of the day\n\nWhat is version control? Why is it cool to use?\n\nA version control system allows changes made to a file to be recorded in a timeline, and it is possible to retrieve previous versions at any time.\nThis is possible because with version control you don’t save copies of your work, but its history, avoiding things like this in your working directory:\n- project/\n |- scripts/\n |- script-v0.1.R\n |- script-after-review-from-Princess-Lea.R \n |- script-merged.R \n |- script-not-working-anymore.R \n |- script-wtf.R \nGit is a distributed version control system, which means the snapshots of your work are stored in your local drive, but also can be distributed from the cloud to other developers.\nA little bit of Git vocabulary and architecture\nThe basic architecture we have to deal with is composed of a branches (including one we’ll call “main”, but is sometimes called “master”), clones and forks.\nThe repository main timeline\nThe main is the primary timeline of your repository (a project with the files required to develop it). There the files will ideally only be changed when strictly necessary, i.e. when a change is critical to the progress of the project.\nBranches from the master: branch\nA branch is a ramification from any other timeline. It is like a copy repository within the main repository, which is created to test changes that may or may not be implemented in the main timeline. Ideally, each developer creates a branch to test the changes they deem necessary and submit these changes to their colleagues’ judgment before implementing them in the main.\nCopying repositories from the ‘cloud’ to the computer (or, working offline):\nRepositories can be created online and many things can be done there. However, in order to work locally on a repository, i.e. to work offline, we need to create a clone of the repository we have online. A clone is a synchronised copy of your online repository. Everything you do in your local working directory (corresponding to the clone) will be synchronized with the online repository.\nCopying online repositories\nIn turn, forks are complete, independent copies of a repository. We use a fork (not a clone) when we want to change the direction of the project, or when we want to contribute to someone else’s project independently and only then suggest changes to the original project. If you need to update your fork with the newest version of the project, you can do that by requesting a fetch to Git.\nGeneral workflow vocabulary\nWhen we change some file and save the new version, we do a commit . Commits should be accompanied by short but sufficiently descriptive comments, so that you can understand what the difference in that version is and locate it more easily. With commits you can track what change was made, where, by whom and when.\ncommitAfter changing a file and saving the new version, this version needs to be given a tag (an identification code), and then uploaded to the online repository. We call this a push. To update your local directory with the newest versions of files, you must tell Git to pull them.\nWhen working on a branch, you can request that the changes you have made be implemented in the main branch of your workflow (or any other branch). To do this you request a merge via a pull request . In a pull request, you ask a repository owner or contributor to accept the changes you made to a fork or branch into another branch. If they accept, you are listed as a contributor to the project.\nWorking remotely\nThe online portal of your Git server allows you to do most of the tasks described above in a very intuitive way. You can edit some files, upload others, request a merge, create and delete a branch, etc. Once you know the Git logic and architecture, it is easy to work online.\nFor a detailed walkthrough, take a look at this page.\nWorking locally\nHowever, the changes we need to make cannot always be done directly in the portal, or would be done more efficiently if we worked on our computer, with our preferred software. To work on your repository from your computer, you only need to install Git itself (https://git-scm.com/downloads). Some softwares allow you to visualize the timeline and operations being made, such as GitKraken (https://www.gitkraken.com/) and some extentions for VSCode and RStudio.\nOnce you’ve installed Git, the there are two possible ways to start:\nYou can create your online repository directly on your Git host server (such as GitHub, GitLab or Bitbucket);\nOr you can “transform” a local directory into a Git controlled project.\nIn the first case, to have a copy of your online repository on your computer, just clone your directory, either by downloading all the files in a .zip or by copying the ssh key or html address to use in a Git command.\n\nYou can also clone from GitKraken, by clicking on the little folder on the top left corner or on “File” on the menu.\nIn the second case, you must right-click on your workbook and open the Git Bash; alternatively, in GitKraken, you can click on “Init” in the same window shown above and indicate the directory of your workbook in “New repository path”.\nBasic Commands\nThe following commands will give us an idea of a workflow in Git.\nTo use Git, you need to configure it so that your account on your Git server is recognised by it. In Git Bash:\ngit config --global user.name \"username\"\ngit config --global user.email \"iamawesome@email.com\"\ngit config --list #Confirm your settings\nThere, now Git knows who you are.\nTo start a repository from your computer, you can tell Git to start or “watch” a folder.\nFirst, check what the working directory is and change it if necessary.\npwd # prints the working directory\ncd # takes you to the root\ncd .. # takes you to one level up directory\ncd \"your/directory\" # changes your working directory\nTo clone your repository, copy the url as shown in the picture above and ask Git to clone the repository into the directory you indicated.\ngit clone https://github.com/graciellehigino/bios2.github.io.git\nThe above command will create a folder with the same name as the repository in your working directory. If you want the folder created to have another name, include that after the repository address. This process works if you have an online repository and want it to exist on your computer. You can also do it the other way round. If you have not yet created a folder for your project, you can ask Git to create one for you:\nmkdir \"web-repo-github\"\nBut if you already have a folder and want Git to “watch over” it, start a local repository in the directory indicated:\ngit init\nYou can (maybe you need to) tell Git where your remote repository is:\ngit remote add origin https://github.com/graciellehigino/bios2.github.io.git\nOk, now your repository is ready to use.\nCheck if there are new files in your folder or modified files that haven’t been pushed yet:\ngit status\nHey, couldn’t you find an important file? Add it to the Git vision field now!\ngit add file # adds a file\n\ngit add -u # updates the file tracking\n\ngit add -A # all the above\nTo make additions interactively via the terminal, use:\ngit add -i\nFollow the instructions provided by the terminal and include as many files as you want before committing.\nNow that Git is keeping an eye on all your files, any changes you make (and want them to be recorded in this file’s timeline) will be detected. To make sure your changes are recorded, “commit” the changed file with a comment so you can remember what the difference is in that version.\ngit commit -m \"it's awesome now\"\nA commit only updates the local repository if you are working locally, or the remote repository if you are working remotely. To synchronize the two repositories, you must either push updates to the remote repository or pull updates to the local repository.\ngit push origin master\n#\"Git, please take the updated files to the remote repository 'origin', on the 'main' branch.\"\n\ngit pull\n#\"Git, please bring the updated files from the remote repository to my local repository\"\nHow to track changes in my files?\nCheck the changes in the content of the files (e.g. new lines added):\ngit diff\nCheck the files and their changes that are in the stage area:\ngit diff --staged\nIf you are lost between the different versions of your files, check the commit history! :)\ngit log # history of project commits since the beginning\ngit log -p # detailed historic of commits (i.e. git log + git diff)\nDepending on the size of the changes, the log may be very large and you will need to press “return” to each page to see all the changes. At the end you will see (END), then press the letter ‘q’ to finish reading.\nIf you only want to check the latest commits, limit the list with git log -p -1 (replace the 1 with the number of commits you wish to see). You can also check out the entire change history of the working directories with the Git viewer with gitk. Isn’t that cool!\nWorking with branches\nBranches are ramifications of other timelines. They are very useful when you need to test or work on large changes without changing what is on the main branch. It is very important to maintain branches in your collaborative work, because it reduces the chance of the main branch suffering accidental major changes and simplifies the management of file versions.\ngit show-branch -a # lists all branches\n\ngit branch name_of_branch # creates a new branch\n\ngit checkout name_of_branch # transfers the workspace to the new branch\n\ngit checkout -b name_of_branch # creates a branch and transfers the workspace\nWhen all the changes you have made to your branch are done and you think it is time to merge them into the main (or any other branch), move to the target branch and request a merge:\ngit merge new_branch # merges the changes from 'new_branch' to 'main'\nIf you no longer need the branch and want to delete it, use the git branch -d new_branch command.\nIt can often happen that your working branch is not up to date with the main. This can be a problem if the main has important updates for the development of your project on the branch. To bring the main updates to your branch, follow these steps:\n1. Check if your workspace is on the main branch. If not, transfer it:\ngit checkout master\nOn the main, update your local directory:\ngit pull\nAfter updating your local directory, move to your branch, merge the main updates into your branch and upload to the remote repository:\ngit checkout your-branch\ngit merge main your-branch\ngit push\nThat’s it! Now your branch contains everything that was new in the main. :)\nOh, my Git! D=\nDid you mess up commits? Want to revert a change? Don’t despair!\nIf you made a commit and regret it, but don’t even remember which commit it was (“Find out commits associated for a specific file”):\ngit log -p filename`\nIf you want to include new edits to the last commit, replacing it:\ngit commit --amend -m \"message\"\nIf you want to remove any file from the stage area after a git add .:\ngit reset HEAD new_file.R\nBut if you want to remove it from your working tree and the set of added files:\ngit rm new_file.R\nIf all that goes wrong, try the following (tips taken from here):\ngit revert --no-commit <commit hash> # Revert, but don't commit yet\ngit reset # Take everything from the stage area\ngit add yourFilesToRevert # Add files to revert\ngit commit -m \"commit message\"\ngit reset --hard # Undo changes not commited\nIf you want to remove all local changes and commits, retrieve the most recent history from the server and point to your local branch main like this:\ngit fetch origin\ngit reset --hard origin/master\nThat’s it! There’s a lot more in the git world, but I hope this guide can help you on your version control journey.\nRemember: keep the main as untouched as possible, work with branches to test your ideas, and always push your modifications before going to bed.\nSuggested reading\nThis lesson was translated from a git guide in Portuguese I wrote with Karlo Guidoni in a study group we promoted at Universidade Federal de Goiás, back in 2017, and we used time and again in our reproducibility trainings. You can take a look in our repository here.\nWednesday - preserve your tools\n\nSelf-care task of the day\n\nThursday - automate your workflows\n\nSelf-care task of the day\nFriday - make your code and manuscript reproducible\nSelf-care task of the day\n\nReproducible code\nStyle\n! Object names\nComment\n! Documentation day! ! Make it metadatable (record session info, package versions, dependencies…) ! Package of packages! ! Containerize it! ### Functions and packages ! Test them! ## Reproducible manuscripts\nThe logics YAML\nBasic syntax - cheat sheet\nR Markdown Cheat Sheet\n\n\nrticles\nrmdTemplates\nbookdown\nSaturday - reproducible challange\n\nSelf-care task of the day\n\n\n\n\n", + "contents": "\n\nContents\nSunday - reflect about open science\nSuggested reading\n\nMonday - design a project\nGive cool names\nLicenses\nReproducibility task of the day\nSuggested readings\n\nTuesday - control your versions\nWhat is version control? Why is it cool to use?\nA little bit of Git vocabulary and architecture\nThe repository main timeline\nBranches from the master: branch\nCopying repositories from the ‘cloud’ to the computer (or, working offline):\nCopying online repositories\nGeneral workflow vocabulary\n\nWorking remotely\nWorking locally\nBasic Commands\nHow to track changes in my files?\nWorking with branches\n\nOh, my Git! D=\nReproducibility task of the day\nSuggested reading\n\nWednesday - make your code and manuscript reproducible\nReproducible code\nComment\nFunctions and packages\n\nReproducible manuscripts\nBasic Markdown syntax\nCitation/reference management\n\nReproducibility task of the day\nSuggested reading\n\nThursday - preserve your tools\nSaturday - reproducible challange\n\nHave you ever felt lost in your own projects? Do you feel like your workflow is quite effective, but it’s not transparent enough? This detox routine can help you regain control over your (very messy - I know!) project structure and discover a marvelous world of collaboration and contribution in open science!\nReproducibility is a principle that resonates to the most used concept of science, assuring that a hypothesis is testable. It means that the process to test an idea - from data to results - can be repeated. It is different from replicability, which means the process can be repeated, but using different data.\nIn this detox week we will reflect and experiment with open science, using our skills for project design, version control, virtual environments and automation. We will reevaluate our current workflow and fine-tune where needed, to reach the most reproducible workflow possible for us.\nSunday - reflect about open science\n\nSelf-care task of the day\nGo to a calm place. No need of silence, just a place where you can just be still. Set a timer for 5min. Take a deep breath in, and a deep breath out. Give your body a scan-through: concentrate in each centimeter of it and try to be aware of how does your body feel there. Everytime you find a contracted muscle, try to relax it. Pay attention to the sounds around you. When the timer is off, take another deep breath.\n\n\nOn the first day of this detox journey, let’s reflect on our way to work and how it could be better. Take a moment of your day and think about:\nWhat is your current workflow when you develop a project? Take a pen and paper (physical or digital) and sketch your usual process, step-by-step. Add as much details as you can (and take this chance to get creative!). Make sure to save this sketch in a place that is easy to access, you’re gonna need it in the following days.\nHow do we build trust and facilitate collaboration in our projects?\nHow can be inclusive by design - what can we do in our projects to invite collaboration?\nIs reproducibility openness? If a project is reproducible, does that mean it is accessible?\nSuggested reading\nOur path to better science in less time using open data science tools\nMonday - design a project\n\nSelf-care task of the day\nGo to somewhere where you feel in peace or happy. Take paper and something to write - even better if it’s colorful! Set a timer for 30 minutes and doodle something that reflects how you are feeling, something that represents a happy thought you had today, or something that represents the place you are right now.\n\nIn this step we will squeeze our creativity out of our brains to come up with a project that is reproducible by design. Is there a hierarchy between your folders? Which folders do you need? Should you mix raw and clean data? Did this last question offend you?\nThere are a couple of tools you can use to automatically create a project structure for you, such as RProject and its combination with the R package minimaltemplate, or the PkgTemplate.jl for development of packages in Julia.\nThe main things you need to reflect on when designing your open project are:\nWill I use data? If yes, will I need to treat/clean/subset them?\nWill I use code?\nWill it be shared? If yes, how? Do I want people to cite me, for exemple?\nWill I need to generate manuscripts/reports/figures?\nWill it be useful for people to know how to navigate my project? Will I welcome collaborators and contributors?\nWhat is the naming system I will use - for both folders and files?\nSee an example of a structured project below (adapted from here):\n## /home/awesome-manuscript\n## ├── .github\n## ├── .gitignore\n## ├── .travis.yml\n## ├── DESCRIPTION\n## ├── LICENSE.md\n## ├── R\n## │ ├── analysis.Rmd\n## │ ├── local_functions.R\n## │ └── package_list.R\n## ├── README.md\n## ├── awesome-manuscript.Rproj\n## ├── data\n## │ ├── clean\n## │ ├── raw\n## │ └── temp\n## ├── main-script.Rmd\n## ├── manuscript\n## │ └── sources\n## │ ├── ecology-letters.csl\n## │ ├── library.bib\n## │ ├── packages.bib\n## │ └── template.docx\n## ├── output\n## │ ├── figures\n## │ ├── results\n## │ └── supp\n## └── todo.txt\nVery nice, but the TL;DR version is:\nConsider having a dedicated folder for your data and split them into clean and raw data (alternatively, you can store your cleaned data inside an “output” folder, where other sorts of outputs will also be). If needed, create another folder for “sandbox data” - we need to have room for creativity in science! Also make sure to store the metadata in these folders, alongside their respective data, where they belong.\nIf you will produce reports/manuscripts, maybe it’s a good idea to have a dedicated folder for them too. Store there everything you’ll need to render your files, such as bibliography and templates.\nFigures should go in their own folder too.\nCode usually go in their own folder too, but if the code is about making the project work and putting everything together, it should go in the root.\nGive cool names\nYour project is so awesome that it needs the coolest names in its folders and files! Good names are informative and consistent. It is a hard exercise, but we do get better with time. The main things to think about when naming your things are:\nDoes it describe what’s inside without being verbose?\nDoes it allow for correct ordering?\nIs it easily searchable (a.k.a., machine readable)? Will my computer crash if I need to change to this directory?\nLicenses\nAn important part of making your work reproducible by anyone is to share it, and to do that safely, it is important to connect your project to a license. This is a statement about what and how people can use any part of your project. Chosing a license can be a difficult task at first, but if your projects have a common structure, they should be ok with the same license. When chosing a license, it is important to ask yourself (and your collaborators) the following questions:\nDo we want people to give us credit for our work when this projects is distributed, derived, performed or displayed?\nDo we want the derivatives of this project be shared with the same license that we chose?\nAre we ok with this project being used for commercial purposes?\nA combination of your answers will guide you to find the best license for your project which is adequate for your community. There are a couple of online tools that can help you with that! For example, if you are sharing creative work, you can consult the Creative Commons - Choose a License tool. For other open source software licenses, you can take a look at the Choose A License website. The cool thing is: you can also create your own license! In any case, once you chose the appropriate license for your project, save it in your project root folder with the name “LICENSE” (as a text file). This way, your version control host system will automatically recognize it and display something like “hey, this project has a license!” when someone finds your project.\nReproducibility task of the day\nTake a moment to evaluate your current project design. How would you make it better? If there is something missing (a license, cool names, a good structure), try to implement what you’ve learned: one simple thing is enough! Pick one project + one improvement and do it / You can start even with pen and paper! Scketch what’s the flow of information inside your project right now. Is there any redundancies? Could a path between righly connected directories be shorter? Could the names of the folders be shorter if they were arranged some other way?\nNeed help? Ask a friend to do it with you!\nSuggested readings\nMozilla Open Leaders lesson on sharing your work in the open\nHow to License Research Data\nTuesday - control your versions\n\nSelf-care task of the day\nYouTube is full of people making their own version of their favorite songs. The self-care task of the day is to pick one song and look for versions of it on YouTube. Maybe start looking for you favorite song. What are the differences between the versions? Which one did you like the most? Have you discovered a cool artist because of this search? If you couldn’t find a cool version of your favorite song, take a moment to imagine how your own version would sound like.\n\nWhat is version control? Why is it cool to use?\n\nA version control system allows changes made to a file to be recorded in a timeline, and it is possible to retrieve previous versions at any time.\nThis is possible because with version control you don’t save copies of your work, but its history, avoiding things like this in your working directory:\n- project/\n |- scripts/\n |- script-v0.1.R\n |- script-after-review-from-Princess-Lea.R \n |- script-merged.R \n |- script-not-working-anymore.R \n |- script-wtf.R \nGit is a distributed version control system, which means the snapshots of your work are stored in your local drive, but also can be distributed from the cloud to other developers.\nA little bit of Git vocabulary and architecture\nThe basic architecture we have to deal with is composed of a branches (including one we’ll call “main”, but is sometimes called “master”), clones and forks.\nThe repository main timeline\nThe main is the primary timeline of your repository (a project with the files required to develop it). There the files will ideally only be changed when strictly necessary, i.e. when a change is critical to the progress of the project.\nBranches from the master: branch\nA branch is a ramification from any other timeline. It is like a copy repository within the main repository, which is created to test changes that may or may not be implemented in the main timeline. Ideally, each developer creates a branch to test the changes they deem necessary and submit these changes to their colleagues’ judgment before implementing them in the main.\nCopying repositories from the ‘cloud’ to the computer (or, working offline):\nRepositories can be created online and many things can be done there. However, in order to work locally on a repository, i.e. to work offline, we need to create a clone of the repository we have online. A clone is a synchronised copy of your online repository. Everything you do in your local working directory (corresponding to the clone) will be synchronized with the online repository.\nCopying online repositories\nIn turn, forks are complete, independent copies of a repository. We use a fork (not a clone) when we want to change the direction of the project, or when we want to contribute to someone else’s project independently and only then suggest changes to the original project. If you need to update your fork with the newest version of the project, you can do that by requesting a fetch to Git.\nGeneral workflow vocabulary\nWhen we change some file and save the new version, we do a commit . Commits should be accompanied by short but sufficiently descriptive comments, so that you can understand what the difference in that version is and locate it more easily. With commits you can track what change was made, where, by whom and when.\ncommitAfter changing a file and saving the new version, this version needs to be given a tag (an identification code), and then uploaded to the online repository. We call this a push. To update your local directory with the newest versions of files, you must tell Git to pull them.\nWhen working on a branch, you can request that the changes you have made be implemented in the main branch of your workflow (or any other branch). To do this you request a merge via a pull request . In a pull request, you ask a repository owner or contributor to accept the changes you made to a fork or branch into another branch. If they accept, you are listed as a contributor to the project.\nWorking remotely\nThe online portal of your Git server allows you to do most of the tasks described above in a very intuitive way. You can edit some files, upload others, request a merge, create and delete a branch, etc. Once you know the Git logic and architecture, it is easy to work online.\nFor a detailed walkthrough, take a look at this page.\nWorking locally\nHowever, the changes we need to make cannot always be done directly in the portal, or would be done more efficiently if we worked on our computer, with our preferred software. To work on your repository from your computer, you only need to install Git itself (https://git-scm.com/downloads). Some softwares allow you to visualize the timeline and operations being made, such as GitKraken (https://www.gitkraken.com/) and some extentions for VSCode and RStudio.\nOnce you’ve installed Git, the there are two possible ways to start:\nYou can create your online repository directly on your Git host server (such as GitHub, GitLab or Bitbucket);\nOr you can “transform” a local directory into a Git controlled project.\nIn the first case, to have a copy of your online repository on your computer, just clone your directory, either by downloading all the files in a .zip or by copying the ssh key or html address to use in a Git command.\n\nYou can also clone from GitKraken, by clicking on the little folder on the top left corner or on “File” on the menu.\nIn the second case, you must right-click on your workbook and open the Git Bash; alternatively, in GitKraken, you can click on “Init” in the same window shown above and indicate the directory of your workbook in “New repository path”.\nBasic Commands\nThe following commands will give us an idea of a workflow in Git.\nTo use Git, you need to configure it so that your account on your Git server is recognised by it. In Git Bash:\ngit config --global user.name \"username\"\ngit config --global user.email \"iamawesome@email.com\"\ngit config --list #Confirm your settings\nThere, now Git knows who you are.\nTo start a repository from your computer, you can tell Git to start or “watch” a folder.\nFirst, check what the working directory is and change it if necessary.\npwd # prints the working directory\ncd # takes you to the root\ncd .. # takes you to one level up directory\ncd \"your/directory\" # changes your working directory\nTo clone your repository, copy the url as shown in the picture above and ask Git to clone the repository into the directory you indicated.\ngit clone https://github.com/graciellehigino/bios2.github.io.git\nThe above command will create a folder with the same name as the repository in your working directory. If you want the folder created to have another name, include that after the repository address. This process works if you have an online repository and want it to exist on your computer. You can also do it the other way round. If you have not yet created a folder for your project, you can ask Git to create one for you:\nmkdir \"web-repo-github\"\nBut if you already have a folder and want Git to “watch over” it, start a local repository in the directory indicated:\ngit init\nYou can (maybe you need to) tell Git where your remote repository is:\ngit remote add origin https://github.com/graciellehigino/bios2.github.io.git\nOk, now your repository is ready to use.\nCheck if there are new files in your folder or modified files that haven’t been pushed yet:\ngit status\nHey, couldn’t you find an important file? Add it to the Git vision field now!\ngit add file # adds a file\n\ngit add -u # updates the file tracking\n\ngit add -A # all the above\nTo make additions interactively via the terminal, use:\ngit add -i\nFollow the instructions provided by the terminal and include as many files as you want before committing.\nNow that Git is keeping an eye on all your files, any changes you make (and want them to be recorded in this file’s timeline) will be detected. To make sure your changes are recorded, “commit” the changed file with a comment so you can remember what the difference is in that version.\ngit commit -m \"it's awesome now\"\nA commit only updates the local repository if you are working locally, or the remote repository if you are working remotely. To synchronize the two repositories, you must either push updates to the remote repository or pull updates to the local repository.\ngit push origin master\n#\"Git, please take the updated files to the remote repository 'origin', on the 'main' branch.\"\n\ngit pull\n#\"Git, please bring the updated files from the remote repository to my local repository\"\nHow to track changes in my files?\nCheck the changes in the content of the files (e.g. new lines added):\ngit diff\nCheck the files and their changes that are in the stage area:\ngit diff --staged\nIf you are lost between the different versions of your files, check the commit history! :)\ngit log # history of project commits since the beginning\ngit log -p # detailed historic of commits (i.e. git log + git diff)\nDepending on the size of the changes, the log may be very large and you will need to press “return” to each page to see all the changes. At the end you will see (END), then press the letter ‘q’ to finish reading.\nIf you only want to check the latest commits, limit the list with git log -p -1 (replace the 1 with the number of commits you wish to see). You can also check out the entire change history of the working directories with the Git viewer with gitk. Isn’t that cool!\nWorking with branches\nBranches are ramifications of other timelines. They are very useful when you need to test or work on large changes without changing what is on the main branch. It is very important to maintain branches in your collaborative work, because it reduces the chance of the main branch suffering accidental major changes and simplifies the management of file versions.\ngit show-branch -a # lists all branches\n\ngit branch name_of_branch # creates a new branch\n\ngit checkout name_of_branch # transfers the workspace to the new branch\n\ngit checkout -b name_of_branch # creates a branch and transfers the workspace\nWhen all the changes you have made to your branch are done and you think it is time to merge them into the main (or any other branch), move to the target branch and request a merge:\ngit merge new_branch # merges the changes from 'new_branch' to 'main'\nIf you no longer need the branch and want to delete it, use the git branch -d new_branch command.\nIt can often happen that your working branch is not up to date with the main. This can be a problem if the main has important updates for the development of your project on the branch. To bring the main updates to your branch, follow these steps:\n1. Check if your workspace is on the main branch. If not, transfer it:\ngit checkout master\nOn the main, update your local directory:\ngit pull\nAfter updating your local directory, move to your branch, merge the main updates into your branch and upload to the remote repository:\ngit checkout your-branch\ngit merge main your-branch\ngit push\nThat’s it! Now your branch contains everything that was new in the main. :)\nOh, my Git! D=\nDid you mess up commits? Want to revert a change? Don’t despair!\nIf you made a commit and regret it, but don’t even remember which commit it was (“Find out commits associated for a specific file”):\ngit log -p filename`\nIf you want to include new edits to the last commit, replacing it:\ngit commit --amend -m \"message\"\nIf you want to remove any file from the stage area after a git add .:\ngit reset HEAD new_file.R\nBut if you want to remove it from your working tree and the set of added files:\ngit rm new_file.R\nIf all that goes wrong, try the following (tips taken from here):\ngit revert --no-commit <commit hash> # Revert, but don't commit yet\ngit reset # Take everything from the stage area\ngit add yourFilesToRevert # Add files to revert\ngit commit -m \"commit message\"\ngit reset --hard # Undo changes not commited\nIf you want to remove all local changes and commits, retrieve the most recent history from the server and point to your local branch main like this:\ngit fetch origin\ngit reset --hard origin/master\nThat’s it! There’s a lot more in the git world, but I hope this guide can help you on your version control journey.\nRemember: keep the main as untouched as possible, work with branches to test your ideas, and always push your modifications before going to bed.\nReproducibility task of the day\nSet up the tracking system in your project! Create a remote repository and connect it with your local directory. If you already use a version control system, review your workflow both when working alone and in collaboration: what are the actions most likely to cause a problem? Can you make it simpler?\n\nhint: make a colorful and friendly sketch of your current workflow!\n\nSuggested reading\nThis lesson was translated from a git guide in Portuguese I wrote with Karlo Guidoni in a study group we promoted at Universidade Federal de Goiás, back in 2017, and we used time and again in our reproducibility trainings. You can take a look in our repository here.\nWednesday - make your code and manuscript reproducible\n\nSelf-care task of the day\nWhat is your favorite food? Do you have a story of a special meal prepared by a loved one? The self-care task of the day is to call someone you love and ask them to explain how to prepare a special meal: one that you really like or one of their favorites. If you’re feeling adventurous, try to reproduce it before the next task tomorrow!\n\nReproducible code\nToday is the day to make your future-self thank you! We will go through some tips and tricks to make your code more friendly, surviving the test of time and of your own memory.\nA reproducible code is an essential part of a reproducible project. Having a code to reproduce your analysis is already a great start, congrats for that! :crown:\nToday we’ll try to go a step forward and write a love letter for your future-self by adding comments on your code, rethinking about object names, investigate how we can compile chuncks of code inside functions and, finally, think about reproducible manuscripts. ### Style There are no right or wrong when it comes to style: there are best-practices and what works better for you or your project.\nFor example, Google has a series of style guides they use to standardize code writing in the company. There is a Google’s R Style Guide and a tydiverse style guide which can be a good inspiration to find your own. Here’s an idea: create a document whre you usually store code. List all conventions you use and have never thought about why you use them and reflect if they still make sense for you. If they do, keep them. If they don’t, try to improve them. Is there any other thing you never thought it was important, but it could be? Do you have a convention for function names, for example?\nObject names\nObject names are the major source of wasted time for me, especially when the code is already super long with numerous objects. What helps is to know they should be descriptive, yet concise. A good tip is to name objects as nouns and functions as verbs.\n\nWhat do you think is important when naming objects in the languages that you use? Take 5 mins to write a list!\n\nComment\nAnother good practice is to always comment your code. It will help you understand the decisions you’ve made throughout this process, that’s why a good tip is to write simple comments that state why you wrote that line of code. What do you think of buying a friend a coffee and ask them to review your code annotation? Maybe you can make some lines clearer while hanging out in a park!\nIn a larger scale, it is important to have other kinds of notes: session info (e.g., in R you can use the command sessionInfo()), package versions (e.g., using the checkpoint package), dependencies and connections between code scripts and data files. A good example of documentation is this README file written by our colleague Gabriel Dansereau: it contains clear instructions of how to use the code, how the respsitory is organized and even notes on possible warnings and what they mean.\nIt can be complicated to keep track of everything everyday, so here’s a tip: schedule a day in your month (or week) to update the documentation of your project! People call it “documentation day” out there, and you’ll find lots of blogposts about it online.\nFunctions and packages\nFunctions can help you keep your code cleaner and avoid errors when you repeat actions. They should replace redundancies in your code. In the same way, when you notice you have to repeat a certain routine in many of your projects, it might be worth writing a package - which is basically a set of functions. When you do that, don’t forget to include in your functions some commands that check for errors, like when you try to use a type of variable that is not compatible with the analysis that run inside the function.\n\nTake a few minutes to have a look at your code now. Can you see something that could be a function?\n\nReproducible manuscripts\nFrom reproducible code to reproducible manuscripts is one small leap! It means your manuscript is readable across platforms and systems, and can be compiled locally, and even be automatically updated if your data or analyses change! It doesn’t mean that the interpretation of the results will be automatically updated aswell - which seems to be a concern for some people, that argue that reproducible manuscripts turn the science activity into a mechanic thing. On the contrary: it allows you to not worry about making figures over and over again, and concentrate in the philosophical part of your science!\nThere are three basic things we need to understand to produce a reproducible academic manuscript: the YAML, the markup language (such as Markdown) and the citation/references management.\nYAML (YAML Ain’t a Markup Language - metalingustics!) is a language that defines the metadata of your document and helps in the compiling process. It tells your computer if the output you need is a *.pdf or a *.doc file, for example. A YAML block will be the first thing you’ll add on your document, and the only tricky thing is to get the indentation right.\nFor example, the YAML of this very webpage looks like this:\n---\ntitle: \"(un)Reproducibility Detox\"\ndescription: |\n A seven-day detox routine to improve the reproducibility of your projects!\nauthor: Gracielle Higino\npreview: thumb.png\ncategories: \n - Technical\n - EN\ndate: 06-13-2021\noutput:\n distill::distill_article:\n self_contained: false\n toc: true\n---\nYou should add to your manuscript a bibliography argument with the path to your *.bib file and change the output according to your needs. If you use RStudio, these things are easier to change as it has built-in templates with pre-filled YAML header.\nAnother cool thing to add in your YAML header is a reference to a template. This will make your computer compile your manuscript in the same format as your template - which helps a lot when you submit the manuscript to a journal.\nA couple of packages can help you put together all these pieces. The rticles package imports LaTeX templates from scientific journals and implements a dialog box in RStudio. The rmdTemplates package has also slides, Word and PDF templates. It helps a lot starting with a template and fill in the blanks![=\nBasic Markdown syntax\nA very complete introduction to R Markdown is provided by RStudio here (also make sure to consult the R Markdown Cheat Sheet). This basic syntax is the same used in Markdown and other similar markup languages. For example:\n**this is bold** -> this is bold*this is italic* -> this is italic\n|this|is|a|table|\n|:---|:---:|---:||\n|a|table|this|is|\n\n.tg .tg-c3ow{border-color:inherit;text-align:center;vertical-align:top}\n.tg .tg-0pky{border-color:inherit;text-align:left;vertical-align:top}\n.tg .tg-dvpl{border-color:inherit;text-align:right;vertical-align:top}\n\nthis\n\n\nis\n\n\na\n\n\ntable\n\n\na\n\n\ntable\n\n\nthis\n\n\nis\n\nCitation/reference management\nA good idea is to keep an up-to-date text file containing all your bibliography that can be referenced in your manuscript. For example, you can ask your reference manager software to generate a *.bib file, which usually contains a specific tag for each citation. This tag will then be used in your file as something like [@TagPaper].\nThe citation style, on the other hand, is usually defined by a *.csl file (https://citationstyles.org/). These files can be found, for example, on the Zotero Style Repository, and all you need to do is download the file and keep in in the same directory as your manuscript.\nReproducibility task of the day\nCan you “transform” one of your manuscripts into a reproducible file? What are the steps you neet to take to get there?\nDo you already have all your manuscripts in a reproducible format? Congratulations! Your task will be to help a friend that is learning how to make one!\nSuggested reading\nMethods in Ecology and Evolution blog post with tips and tricks for reproducible code\nBES guide to reproducible code\nrOpenSci reproducibility guide\nYAML front matter, in the “papaja: Reproducible APA manuscripts with R Markdown”\nAn R Markdown Template for Academic Manuscripts\nAnsible YAML guide\nMarkdown syntax in “R Markdown: The Definitive Guide”\nThursday - preserve your tools\n\nSelf-care task of the day\nFriday - automate your workflows\nSelf-care task of the day\n\nSaturday - reproducible challange\n\nSelf-care task of the day\n\n\n\n\n", "preview": {}, - "last_modified": "2021-06-18T17:01:27-04:00", - "input_file": {} + "last_modified": "2021-06-30T18:01:05-04:00", + "input_file": "unreproducibility-detox.utf8.md" }, { "path": "posts/2021-03-25-point-count-data-analysis/", diff --git a/docs/sitemap.xml b/docs/sitemap.xml index fa2aa8a..9b4a8f7 100644 --- a/docs/sitemap.xml +++ b/docs/sitemap.xml @@ -14,7 +14,7 @@ </url> <url> <loc>https://bios2.github.io/posts/2021-06-13-unreproducibility-detox/</loc> - <lastmod>2021-06-18T17:01:27-04:00</lastmod> + <lastmod>2021-06-30T18:01:05-04:00</lastmod> </url> <url> <loc>https://bios2.github.io/posts/2021-03-25-point-count-data-analysis/</loc> From f7edf6b02a70f50793d5e7254ce877598795f278 Mon Sep 17 00:00:00 2001 From: TanyaS08 <tanya.strydom@icloud.com> Date: Thu, 1 Jul 2021 09:15:55 +0200 Subject: [PATCH 09/29] :arrow_right: migrated post to 08/07 --- ...lity-detox-package-and-dependency-management.Rmd} | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) rename _posts/{2021-07-07-unreproducibility-detox-code-version-control/unreproducability-detox-code-version-control.Rmd => 2021-07-08-unreproducibility-detox-package-and-dependency-management/unreproducibility-detox-package-and-dependency-management.Rmd} (97%) diff --git a/_posts/2021-07-07-unreproducibility-detox-code-version-control/unreproducability-detox-code-version-control.Rmd b/_posts/2021-07-08-unreproducibility-detox-package-and-dependency-management/unreproducibility-detox-package-and-dependency-management.Rmd similarity index 97% rename from _posts/2021-07-07-unreproducibility-detox-code-version-control/unreproducability-detox-code-version-control.Rmd rename to _posts/2021-07-08-unreproducibility-detox-package-and-dependency-management/unreproducibility-detox-package-and-dependency-management.Rmd index 7f5742c..8dc8050 100644 --- a/_posts/2021-07-07-unreproducibility-detox-code-version-control/unreproducability-detox-code-version-control.Rmd +++ b/_posts/2021-07-08-unreproducibility-detox-package-and-dependency-management/unreproducibility-detox-package-and-dependency-management.Rmd @@ -1,9 +1,9 @@ --- -title: "(un)Reproducibility Detox - code version control" +title: "(un)Reproducibility Detox - Package and Dependency Management" description: | - How do we keep our work reproducible? A focus on package and language 'version control'. + How do we keep our work reproducible? A focus on package, dependency, and language 'version control'. Tanya Strydom -date: 07-07-2021 +date: 07-08-2021 output: distill::distill_article: self_contained: false @@ -12,7 +12,8 @@ output: ```{r setup, include=FALSE} knitr::opts_chunk$set(echo = FALSE) ``` -# Package management + +# Package and Dependency Management > First your self care task of the day: Its time to update all those packages (and > maybe even language version) - you deserve to be able to play with the newest @@ -169,4 +170,5 @@ it all just work (avoiding the whole 'but it works on my machine scenario). ## Closing thoughts -TODO \ No newline at end of file +TODO + From d9c94b78522e110e009e18a42b94e0a0d5e0f0c5 Mon Sep 17 00:00:00 2001 From: TanyaS08 <tanya.strydom@icloud.com> Date: Thu, 1 Jul 2021 09:23:53 +0200 Subject: [PATCH 10/29] text update --- ...ibility-detox-package-and-dependency-management.Rmd | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/_posts/2021-07-08-unreproducibility-detox-package-and-dependency-management/unreproducibility-detox-package-and-dependency-management.Rmd b/_posts/2021-07-08-unreproducibility-detox-package-and-dependency-management/unreproducibility-detox-package-and-dependency-management.Rmd index 8dc8050..76e953e 100644 --- a/_posts/2021-07-08-unreproducibility-detox-package-and-dependency-management/unreproducibility-detox-package-and-dependency-management.Rmd +++ b/_posts/2021-07-08-unreproducibility-detox-package-and-dependency-management/unreproducibility-detox-package-and-dependency-management.Rmd @@ -170,5 +170,13 @@ it all just work (avoiding the whole 'but it works on my machine scenario). ## Closing thoughts -TODO +If you want to keep your project pipeline working in the long-term it is +important to account for the fact that languages are evolving - which +means the scaffold on which your code rests also needs to be documented in +some way. That being said asking yourself as to how _paramount_ the longevity +of your project is a good way to identify and allocate resources to documenting +and accommodating for this. For smaller projects you could probably get +away with a simple documentation process e.g. `Julia`'s `Project.toml` system or +`{renv}` for `R`. But if the project is of high importance it'r recommended to +give something like Docker a try... From 6d5d7b631e3a0aae617881ee8edd3ee9c36b9ac2 Mon Sep 17 00:00:00 2001 From: TanyaS08 <tanya.strydom@icloud.com> Date: Thu, 1 Jul 2021 09:36:30 +0200 Subject: [PATCH 11/29] :tada: gifs!!! --- ...ty-detox-package-and-dependency-management.Rmd | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/_posts/2021-07-08-unreproducibility-detox-package-and-dependency-management/unreproducibility-detox-package-and-dependency-management.Rmd b/_posts/2021-07-08-unreproducibility-detox-package-and-dependency-management/unreproducibility-detox-package-and-dependency-management.Rmd index 76e953e..c7d498f 100644 --- a/_posts/2021-07-08-unreproducibility-detox-package-and-dependency-management/unreproducibility-detox-package-and-dependency-management.Rmd +++ b/_posts/2021-07-08-unreproducibility-detox-package-and-dependency-management/unreproducibility-detox-package-and-dependency-management.Rmd @@ -35,6 +35,12 @@ e.g. a function name might change or some functionality will be removed in favou of another. This means that in a few years that beautifully documented chunk of code that you've written today might not even run. Oh dear... +<center> + + + +</center> + What this boils down to is that we need to not only think about documenting the code itself but also all the 'backend' features that make it tick i.e. not only what packages we're using but also what version. This can also extend to language @@ -177,6 +183,11 @@ some way. That being said asking yourself as to how _paramount_ the longevity of your project is a good way to identify and allocate resources to documenting and accommodating for this. For smaller projects you could probably get away with a simple documentation process e.g. `Julia`'s `Project.toml` system or -`{renv}` for `R`. But if the project is of high importance it'r recommended to -give something like Docker a try... +`{renv}` for `R`. But if the project is of high importance it's recommended to +give something like Docker a try. + +<center> + + +</center> \ No newline at end of file From c9c7afd84c8139ec0a7127177f87f9817cf6998f Mon Sep 17 00:00:00 2001 From: TanyaS08 <tanya.strydom@icloud.com> Date: Thu, 1 Jul 2021 09:37:44 +0200 Subject: [PATCH 12/29] edits --- ...eproducibility-detox-package-and-dependency-management.Rmd | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/_posts/2021-07-08-unreproducibility-detox-package-and-dependency-management/unreproducibility-detox-package-and-dependency-management.Rmd b/_posts/2021-07-08-unreproducibility-detox-package-and-dependency-management/unreproducibility-detox-package-and-dependency-management.Rmd index c7d498f..8b22e9b 100644 --- a/_posts/2021-07-08-unreproducibility-detox-package-and-dependency-management/unreproducibility-detox-package-and-dependency-management.Rmd +++ b/_posts/2021-07-08-unreproducibility-detox-package-and-dependency-management/unreproducibility-detox-package-and-dependency-management.Rmd @@ -184,7 +184,9 @@ of your project is a good way to identify and allocate resources to documenting and accommodating for this. For smaller projects you could probably get away with a simple documentation process e.g. `Julia`'s `Project.toml` system or `{renv}` for `R`. But if the project is of high importance it's recommended to -give something like Docker a try. +give something like Docker a try. + +Now lets get out there and give package management a go! <center> From c266d0c5cd1bffa5686a2d9e07dd1968323cbb2e Mon Sep 17 00:00:00 2001 From: TanyaS08 <tanya.strydom@icloud.com> Date: Thu, 1 Jul 2021 10:21:35 +0200 Subject: [PATCH 13/29] added reproducibility task --- ...producibility-detox-package-and-dependency-management.Rmd | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/_posts/2021-07-08-unreproducibility-detox-package-and-dependency-management/unreproducibility-detox-package-and-dependency-management.Rmd b/_posts/2021-07-08-unreproducibility-detox-package-and-dependency-management/unreproducibility-detox-package-and-dependency-management.Rmd index 8b22e9b..03b315f 100644 --- a/_posts/2021-07-08-unreproducibility-detox-package-and-dependency-management/unreproducibility-detox-package-and-dependency-management.Rmd +++ b/_posts/2021-07-08-unreproducibility-detox-package-and-dependency-management/unreproducibility-detox-package-and-dependency-management.Rmd @@ -188,6 +188,11 @@ give something like Docker a try. Now lets get out there and give package management a go! +> Pick and choose the task(s) that you want to take on (or remix one of them) +> 1. Open one of the older projects on you computer. Does the code run? If no see if you can retrofit it using {groundhog} +> 2. Open the (or one of) project you are currently working on and run `renv::init()` and see what happens +> 3. Install Docker and work through [Colin Fay's tutorial](https://colinfay.me/docker-r-reproducibility/) + <center>  From a15078789c30ad451f383cc0a73146c5b270ce74 Mon Sep 17 00:00:00 2001 From: Tanya Strydom <tanya.strydom@icloud.com> Date: Thu, 23 Sep 2021 11:37:27 -0400 Subject: [PATCH 14/29] added a note on retroffitng for {groundhog} --- ...bility-detox-package-and-dependency-management.Rmd | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/_posts/2021-07-08-unreproducibility-detox-package-and-dependency-management/unreproducibility-detox-package-and-dependency-management.Rmd b/_posts/2021-07-08-unreproducibility-detox-package-and-dependency-management/unreproducibility-detox-package-and-dependency-management.Rmd index 03b315f..6933bc9 100644 --- a/_posts/2021-07-08-unreproducibility-detox-package-and-dependency-management/unreproducibility-detox-package-and-dependency-management.Rmd +++ b/_posts/2021-07-08-unreproducibility-detox-package-and-dependency-management/unreproducibility-detox-package-and-dependency-management.Rmd @@ -94,15 +94,18 @@ groundhog.library(pkgs, "2018-07-07") # working with an 'active' script library(groundhog) -groundhog.day = "2021-07-07" +groundhog.day = "2021-07-07" groundhog.library(pkgs, groundhog.day) ``` **Limitations:** Although `{groundhog}` will call the correct/desired packages version there is of course the potential problem that that package version is no longer compatible with the version of `R` that you're running on your -machine... This means you might have to have multiple version of `R` on you -machine and have to switch between them depending on what project you're using... +machine --- this means you might have to have multiple version of `R` on you +machine and have to switch between them depending on what project you're using. +Another issue could arise when retrofitting your workflow. Although you might have a +starting date/groundhog day you might not have been using the most up-to-date version +available at that date - so you would be retrieving the wrong version. **Pros:** To end on a positive note though - {groundhog} is at least a good starting point for documenting package version _and_ its very easy to implement, @@ -197,4 +200,4 @@ Now lets get out there and give package management a go!  -</center> \ No newline at end of file +</center> From b33c36b98f0ceab57a1feb6ac0f4cb944334b2ac Mon Sep 17 00:00:00 2001 From: Tanya Strydom <tanya.strydom@icloud.com> Date: Sun, 26 Sep 2021 13:36:52 -0400 Subject: [PATCH 15/29] post update --- ...eproducibility-detox-package-and-dependency-management.Rmd | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/_posts/2021-07-08-unreproducibility-detox-package-and-dependency-management/unreproducibility-detox-package-and-dependency-management.Rmd b/_posts/2021-07-08-unreproducibility-detox-package-and-dependency-management/unreproducibility-detox-package-and-dependency-management.Rmd index 6933bc9..b3be368 100644 --- a/_posts/2021-07-08-unreproducibility-detox-package-and-dependency-management/unreproducibility-detox-package-and-dependency-management.Rmd +++ b/_posts/2021-07-08-unreproducibility-detox-package-and-dependency-management/unreproducibility-detox-package-and-dependency-management.Rmd @@ -113,7 +113,7 @@ especially if you are retrofitting your code. ### `{renv}` -As highlighted above one of the potential issues with {groundhog} id that you +As highlighted above one of the potential issues with {groundhog} is that you might run into language version incompatibility - and by extension still have non-working code (bleak). Enter [`{renv}`](https://rstudio.github.io/renv/articles/renv.html), a handy-dandy, easy to use, dependency management package for your projects. @@ -175,7 +175,7 @@ specifications and keep your 'normal computer' intact. For example I am running MacOS, `R` 3.5 on my normal computer but can build an image that runs Linux and `R` 3.1. Also because the recipe is contained in the `Dockerfile` anyone can build the image for that project on their machine and have -it all just work (avoiding the whole 'but it works on my machine scenario). +it all 'just' work (avoiding the whole 'but it works on my machine' scenario). ## Closing thoughts From c292539ec2b83648842ec3e6c5986eb939034dfa Mon Sep 17 00:00:00 2001 From: Tanya Strydom <tanya.strydom@icloud.com> Date: Tue, 15 Feb 2022 16:41:12 -0500 Subject: [PATCH 16/29] some grammars while I was reading through --- ...y-detox-package-and-dependency-management.Rmd | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/_posts/2021-07-08-unreproducibility-detox-package-and-dependency-management/unreproducibility-detox-package-and-dependency-management.Rmd b/_posts/2021-07-08-unreproducibility-detox-package-and-dependency-management/unreproducibility-detox-package-and-dependency-management.Rmd index b3be368..0f39343 100644 --- a/_posts/2021-07-08-unreproducibility-detox-package-and-dependency-management/unreproducibility-detox-package-and-dependency-management.Rmd +++ b/_posts/2021-07-08-unreproducibility-detox-package-and-dependency-management/unreproducibility-detox-package-and-dependency-management.Rmd @@ -26,14 +26,14 @@ knitr::opts_chunk$set(echo = FALSE) You've commented, documented, shared, and your code meaning that its available to and usable by the rest of the world right? Well maybe for now but you know what they say about time - *all hours wound; the last one kills*. Okay so it -might not be that dramatic for but there is of course the problem that as time -progresses your code becomes out-dated and (worst case scenario) non-functional. +might not be that dramatic but there is of course the problem that as time +progresses our code becomes out-dated and (worst case scenario) non-functional. Programming languages (and packages) are continually evolving as developers work at squashing bugs and making performance upgrades. Sometimes these upgrades -might result in a fundamental change in how the a language or package function -e.g. a function name might change or some functionality will be removed in favour +might result in a fundamental change in how the a language or package functions +_e.g._ a function name might change or some functionality will be removed in favour of another. This means that in a few years that beautifully documented chunk of -code that you've written today might not even run. Oh dear... +code that we've written today might not even run. Oh dear... <center> @@ -186,14 +186,14 @@ some way. That being said asking yourself as to how _paramount_ the longevity of your project is a good way to identify and allocate resources to documenting and accommodating for this. For smaller projects you could probably get away with a simple documentation process e.g. `Julia`'s `Project.toml` system or -`{renv}` for `R`. But if the project is of high importance it's recommended to -give something like Docker a try. +`{renv}` for `R`. But if the project is of high importance it's probably recommended +to give something like Docker a try. Now lets get out there and give package management a go! > Pick and choose the task(s) that you want to take on (or remix one of them) > 1. Open one of the older projects on you computer. Does the code run? If no see if you can retrofit it using {groundhog} -> 2. Open the (or one of) project you are currently working on and run `renv::init()` and see what happens +> 2. Open the (or one of many) project you are currently working on and run `renv::init()` and see what happens > 3. Install Docker and work through [Colin Fay's tutorial](https://colinfay.me/docker-r-reproducibility/) <center> From e3dec21c494eefdca5de134d537d454d4b4df406 Mon Sep 17 00:00:00 2001 From: Tanya Strydom <tanya.strydom@icloud.com> Date: Mon, 24 Oct 2022 13:09:49 +0200 Subject: [PATCH 17/29] :ship: move post over --- .../unreproducibility-detox.Rmd | 186 +++++++++++++++++- 1 file changed, 184 insertions(+), 2 deletions(-) diff --git a/_posts/2021-06-13-unreproducibility-detox/unreproducibility-detox.Rmd b/_posts/2021-06-13-unreproducibility-detox/unreproducibility-detox.Rmd index 5fb5d0b..04975ad 100644 --- a/_posts/2021-06-13-unreproducibility-detox/unreproducibility-detox.Rmd +++ b/_posts/2021-06-13-unreproducibility-detox/unreproducibility-detox.Rmd @@ -554,7 +554,189 @@ Do you already have all your manuscripts in a reproducible format? Congratulatio # Thursday - preserve your tools >### **Self-care task of the day** -> +> First your self care task of the day: Its time to update all those packages (and maybe even language version) - you deserve to be able to play with the newest toys on the block. While all this is happening in the background put your feet up and hit play on the TV or podcast series you've been meaning to catch up on. + +## Why do we need a package management system? + +You've commented, documented, shared, and your code meaning that its available +to and usable by the rest of the world right? Well maybe for now but you know +what they say about time - *all hours wound; the last one kills*. Okay so it +might not be that dramatic but there is of course the problem that as time +progresses our code becomes out-dated and (worst case scenario) non-functional. +Programming languages (and packages) are continually evolving as developers +work at squashing bugs and making performance upgrades. Sometimes these upgrades +might result in a fundamental change in how the a language or package functions +_e.g._ a function name might change or some functionality will be removed in favour +of another. This means that in a few years that beautifully documented chunk of +code that we've written today might not even run. Oh dear... + +<center> + + + +</center> + +What this boils down to is that we need to not only think about documenting the +code itself but also all the 'backend' features that make it tick i.e. not only +what packages we're using but also what version. This can also extend to language +version and even operating system (OS) type or version. + +Although this may seem daunting it's important to remember that the journey to +reproducibility is much like how one approaches eating an elephant - we take +it one bit~~e~~ at a time. With that mantra in mind don't be afraid to take a +bite but also don't bite off more than you can chew. + +## How do we _keep_ our work reproducible? + +The good news there are a lot of functionality that we can leverage in our journey +to reproducibility. Different languages have different ways we can document and +'keep' the package version that we are using. The main focus will be using `R` as +it is the current *lingua franca* of most ecologists. It also straddles the middle +ground between being very 'picky' like `python` and literally having a built in +system like `Julia`. The (language agnostic) take home message though is that it's +important to (at minimum) keep record of what versions of things you used if you +want your work to work a few months/years down the line. + +The three main approaches and packages I will discuss are `{groundhog}`, `{renv}` +and, `docker`. There are of course other ways to document package versions but +these are (somewhat user friendly) and will give you different 'levels' of +reproducibility. It is of course also possible to mix and match these different +platforms. + +### `{groundhog}` + +[`{groundhog}`](http://groundhogr.com/using/) is a relatively new kid on the block - +and apparently refers to a film of the same name (no comment on my side as this +is a facet of pop culture the eludes me). This is a super easy package to implement +(think one function easy) and is a really nice way to 'retrofit' some of your +older code. + +**How it works:** Essentially `{groundhog}` will install the version of a package +that was available on CRAN for a specified date. It does this by 'replacing' the +`library("package")` with `groundhog.library("package", date)`. This means its +easy to go back and set a more suitable date for your script e.g. maybe the +date it was created or last time it was saved. + +```{r groundhog, include=TRUE} +# a mini example +install.packages("groundhog") +library("groundhog") +groundhog.library("tidyverse", "2018-07-07") + +# you can also call multiple packages +pkgs <- c("tidyverse","ggforce") +groundhog.library(pkgs, "2018-07-07") + +# working with an 'active' script +library(groundhog) +groundhog.day = "2021-07-07" +groundhog.library(pkgs, groundhog.day) + +``` +**Limitations:** Although `{groundhog}` will call the correct/desired packages +version there is of course the potential problem that that package version is +no longer compatible with the version of `R` that you're running on your +machine --- this means you might have to have multiple version of `R` on you +machine and have to switch between them depending on what project you're using. +Another issue could arise when retrofitting your workflow. Although you might have a +starting date/groundhog day you might not have been using the most up-to-date version +available at that date - so you would be retrieving the wrong version. + +**Pros:** To end on a positive note though - {groundhog} is at least a good +starting point for documenting package version _and_ its very easy to implement, +especially if you are retrofitting your code. + +### `{renv}` + +As highlighted above one of the potential issues with {groundhog} is that you +might run into language version incompatibility - and by extension still have +non-working code (bleak). Enter [`{renv}`](https://rstudio.github.io/renv/articles/renv.html), +a handy-dandy, easy to use, dependency management package for your projects. +`{renv}` records both `R` and package versions through a series of user called +functions. This is very similar to `Julia` where all packages are 'stored' +in `Project.toml`. `{renv}` works by crawling through your project +directory and recording package version and dependencies in use. This is then +saved in the `renv.lock` file and is used to 'load' the project state further +down the line. + +**How it works:** The bare bones overview is that you 1) initialise the +project-local environment using `renv::init()`, 2) continue tinkering as you +go, 3) call `renv::snapshot()` to update `renv.lock` with any new additions, and +4) if things broke along the way you can call `renv::restore()` to revert back +to the previous project state (which hopefully did run) + +**Limitations:** One limitation is that `{renv}` relies on you saving a +working/functioning state (if you want recall it and have it to work in +the future). This makes it a bit tricky to try and quickly 'fix' old code - +something that `{groundhog}` is probably more suited for. + +**Pros:** `{renv}` saves both package and `R` versions - which is great as it +'doubles down' on having things work in harmony. It is also very easy to use - +once again you can get away by using a few lines of code. + +### Docker + +Docker, a term that can strike trepidation in even some of the most hardened +of researchers (although they have the cutest whale as a logo and that 100% +drops the scary factor if you as me). Briefly (and slightly facetiously) Docker +is a program that allows you to host different mini computers on your computer. +This of course means its not just an R-specific tool but one that could probably +cover a lot of reproducibility bases for most languages. But there is a reason +this is last on the list and that is because it takes a bit more work to implement. +So think of this as a long-term project/goal to set yourself up for. + +**How it works:** As I said earlier with Docker you can run a multiple operating +systems (containers) on your machine (the host). This container (your mini +computer) is built from an 'image', the catch though - you need to build the +image from scratch from OS all the way through to you specific script/code +chunk. These build instructions are contained in a `Dockerfile` - which you +save in your working directory. Inside this file is the 'recipe' for building +your image (and spoiler alert it looks a lot like a series of command line +calls). Colin Fay wrote [this](https://colinfay.me/docker-r-reproducibility/) +really nice blog about using docker and `R` for beginners. If your interested I +suggest starting there! Alternatively `{renv}` also plays well with Docker - +have a look at [this vignette](https://rstudio.github.io/renv/articles/docker.html) + +**Limitations:** In the context of what has been discussed in this post Docker is +_hard_ yo! In order to write a Docker file you will benefit a lot from being +comfortable using and thinking of things in terms of command line. Since you are +'creating' you mini computer you need to install a lot of moving parts and +components. This means you might be moving from the comfort zone when it comes +to programming and could put you off trying the whole reproducibility thing all +together. So set realistic expectations here and don't be too hard on yourself! + +**Pros:** Docker is very flexible! You can build your mini computer to your +specifications and keep your 'normal computer' intact. For example I am +running MacOS, `R` 3.5 on my normal computer but can build an image that +runs Linux and `R` 3.1. Also because the recipe is contained in the `Dockerfile` +anyone can build the image for that project on their machine and have +it all 'just' work (avoiding the whole 'but it works on my machine' scenario). + +## Closing thoughts + +If you want to keep your project pipeline working in the long-term it is +important to account for the fact that languages are evolving - which +means the scaffold on which your code rests also needs to be documented in +some way. That being said asking yourself as to how _paramount_ the longevity +of your project is a good way to identify and allocate resources to documenting +and accommodating for this. For smaller projects you could probably get +away with a simple documentation process e.g. `Julia`'s `Project.toml` system or +`{renv}` for `R`. But if the project is of high importance it's probably recommended +to give something like Docker a try. + +Now lets get out there and give package management a go! + +> Pick and choose the task(s) that you want to take on (or remix one of them) +> 1. Open one of the older projects on you computer. Does the code run? If no see if you can retrofit it using {groundhog} +> 2. Open the (or one of many) project you are currently working on and run `renv::init()` and see what happens +> 3. Install Docker and work through [Colin Fay's tutorial](https://colinfay.me/docker-r-reproducibility/) + +<center> + + + +</center> + # Friday - automate your workflows >### **Self-care task of the day** > @@ -562,4 +744,4 @@ Do you already have all your manuscripts in a reproducible format? Congratulatio # Saturday - reproducible challange >### **Self-care task of the day** -> \ No newline at end of file +> From bd3783b63cb21ced42f7b3b48abc6a2353992508 Mon Sep 17 00:00:00 2001 From: Tanya Strydom <tanya.strydom@icloud.com> Date: Mon, 24 Oct 2022 13:43:40 +0200 Subject: [PATCH 18/29] =?UTF-8?q?=F0=9F=92=84=20formatting=20and=20grammar?= =?UTF-8?q?s?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../unreproducibility-detox.Rmd | 161 ++++-------------- 1 file changed, 35 insertions(+), 126 deletions(-) diff --git a/_posts/2021-06-13-unreproducibility-detox/unreproducibility-detox.Rmd b/_posts/2021-06-13-unreproducibility-detox/unreproducibility-detox.Rmd index 04975ad..861c653 100644 --- a/_posts/2021-06-13-unreproducibility-detox/unreproducibility-detox.Rmd +++ b/_posts/2021-06-13-unreproducibility-detox/unreproducibility-detox.Rmd @@ -554,21 +554,13 @@ Do you already have all your manuscripts in a reproducible format? Congratulatio # Thursday - preserve your tools >### **Self-care task of the day** -> First your self care task of the day: Its time to update all those packages (and maybe even language version) - you deserve to be able to play with the newest toys on the block. While all this is happening in the background put your feet up and hit play on the TV or podcast series you've been meaning to catch up on. - -## Why do we need a package management system? - -You've commented, documented, shared, and your code meaning that its available -to and usable by the rest of the world right? Well maybe for now but you know -what they say about time - *all hours wound; the last one kills*. Okay so it -might not be that dramatic but there is of course the problem that as time -progresses our code becomes out-dated and (worst case scenario) non-functional. -Programming languages (and packages) are continually evolving as developers -work at squashing bugs and making performance upgrades. Sometimes these upgrades -might result in a fundamental change in how the a language or package functions -_e.g._ a function name might change or some functionality will be removed in favour -of another. This means that in a few years that beautifully documented chunk of -code that we've written today might not even run. Oh dear... +> It's time to update all those packages (and maybe even language version) - you deserve to be able to play with the newest toys on the block. While all this is happening in the background put your feet up and hit play on the TV or podcast series you've been meaning to catch up on. + +## Why do we need to preserve our tools? + +So you've commented, documented, and shared your code meaning that it's ready to be used by the rest of the world, right? Well maybe for now but you know what they say about time - *all hours wound; the last one kills*. Okay so it might not be that dramatic but there is of course the problem that as time progresses our code becomes out-dated and (worst case scenario) non-functional. Programming languages (and packages) are continually evolving as developers work at squashing bugs and making performance upgrades. Sometimes these upgrades might result in a fundamental change in how the a language or package functions _e.g._ a function name might change or some functionality will be removed in favour of another. This means that in a few years that beautifully documented chunk of code that we've written today might not even run. + +Oh dear... <center> @@ -576,46 +568,25 @@ code that we've written today might not even run. Oh dear... </center> -What this boils down to is that we need to not only think about documenting the -code itself but also all the 'backend' features that make it tick i.e. not only -what packages we're using but also what version. This can also extend to language -version and even operating system (OS) type or version. +What this boils down to is that we need to not only think about documenting the code itself but also all the 'backend' features that make it tick _i.e._ not only what packages we're using but also what version. This can also extend to language and operating system (OS) type or version used. Although this may seem daunting it's important to remember that the journey to reproducibility is much like how one approaches eating an elephant - we take -it one bit~~e~~ at a time. With that mantra in mind don't be afraid to take a -bite but also don't bite off more than you can chew. +it one bit~~e~~ at a time. So don't be afraid to take a little nibble before biting off more than you can chew. ## How do we _keep_ our work reproducible? -The good news there are a lot of functionality that we can leverage in our journey -to reproducibility. Different languages have different ways we can document and -'keep' the package version that we are using. The main focus will be using `R` as -it is the current *lingua franca* of most ecologists. It also straddles the middle -ground between being very 'picky' like `python` and literally having a built in -system like `Julia`. The (language agnostic) take home message though is that it's -important to (at minimum) keep record of what versions of things you used if you -want your work to work a few months/years down the line. - -The three main approaches and packages I will discuss are `{groundhog}`, `{renv}` -and, `docker`. There are of course other ways to document package versions but -these are (somewhat user friendly) and will give you different 'levels' of -reproducibility. It is of course also possible to mix and match these different -platforms. +The good news is that there is a lot of functionality out there to help us on our reproducibility journey. Different languages have different ways we can document and 'keep' the package version that we are using. The main focus will be using `R` as it is the current *lingua franca* of most ecologists and it also straddles the middle ground between being very 'picky' like `python` and literally having a built in system like `Julia`. + +The big (language agnostic) take home message here though is that it's important to (at minimum) keep record of the versions of things you used if you want your work to work a few months/years down the line. By keeping a record of the package, software and OS versions used we give other users (and our future selves) a chance to recreate the environment that allowed our project/code to run should things change or be updated. + +The three main approaches and packages I will discuss are `{groundhog}`, `{renv}` and, `docker`. There are of course other ways to document package versions but these are (somewhat user friendly) and will give you different 'levels' of reproducibility. It is of course also possible to mix and match these different platforms. ### `{groundhog}` -[`{groundhog}`](http://groundhogr.com/using/) is a relatively new kid on the block - -and apparently refers to a film of the same name (no comment on my side as this -is a facet of pop culture the eludes me). This is a super easy package to implement -(think one function easy) and is a really nice way to 'retrofit' some of your -older code. +[`{groundhog}`](http://groundhogr.com/using/) is a relatively new kid on the block -and apparently refers to a film of the same name (no comment on my side as this is a facet of pop culture the eludes me). This is a super easy package to implement (think one function easy) and is a really nice way to 'retrofit' some of your older code. -**How it works:** Essentially `{groundhog}` will install the version of a package -that was available on CRAN for a specified date. It does this by 'replacing' the -`library("package")` with `groundhog.library("package", date)`. This means its -easy to go back and set a more suitable date for your script e.g. maybe the -date it was created or last time it was saved. +**How it works:** Essentially `{groundhog}` will install the version of a package that was available on CRAN for a specified date. This is done by 'replacing' the `library("package")` with `groundhog.library("package", date)`. This means its easy to go back and set a more suitable date for your script e.g. maybe the date it was created or last time it was saved. ```{r groundhog, include=TRUE} # a mini example @@ -633,96 +604,34 @@ groundhog.day = "2021-07-07" groundhog.library(pkgs, groundhog.day) ``` -**Limitations:** Although `{groundhog}` will call the correct/desired packages -version there is of course the potential problem that that package version is -no longer compatible with the version of `R` that you're running on your -machine --- this means you might have to have multiple version of `R` on you -machine and have to switch between them depending on what project you're using. -Another issue could arise when retrofitting your workflow. Although you might have a -starting date/groundhog day you might not have been using the most up-to-date version -available at that date - so you would be retrieving the wrong version. - -**Pros:** To end on a positive note though - {groundhog} is at least a good -starting point for documenting package version _and_ its very easy to implement, -especially if you are retrofitting your code. + +**Limitations:** Although `{groundhog}` will call the correct/desired packages version there is of course the potential problem that that package version is no longer compatible with the version of `R` that you're running on your machine --- this means you might have to have multiple version of `R` on you machine and have to switch between them depending on what project you're using. Another issue could arise when retrofitting your workflow. Although you might have a starting date/groundhog day you might not have been using the most up-to-date version available at that date - so you would be retrieving the wrong version. + +**Pros:** To end on a positive note though - {groundhog} is at least a solid starting point for documenting package version _and_ its very easy to implement, especially if you are retrofitting your code. ### `{renv}` -As highlighted above one of the potential issues with {groundhog} is that you -might run into language version incompatibility - and by extension still have -non-working code (bleak). Enter [`{renv}`](https://rstudio.github.io/renv/articles/renv.html), -a handy-dandy, easy to use, dependency management package for your projects. -`{renv}` records both `R` and package versions through a series of user called -functions. This is very similar to `Julia` where all packages are 'stored' -in `Project.toml`. `{renv}` works by crawling through your project -directory and recording package version and dependencies in use. This is then -saved in the `renv.lock` file and is used to 'load' the project state further -down the line. - -**How it works:** The bare bones overview is that you 1) initialise the -project-local environment using `renv::init()`, 2) continue tinkering as you -go, 3) call `renv::snapshot()` to update `renv.lock` with any new additions, and -4) if things broke along the way you can call `renv::restore()` to revert back -to the previous project state (which hopefully did run) - -**Limitations:** One limitation is that `{renv}` relies on you saving a -working/functioning state (if you want recall it and have it to work in -the future). This makes it a bit tricky to try and quickly 'fix' old code - -something that `{groundhog}` is probably more suited for. - -**Pros:** `{renv}` saves both package and `R` versions - which is great as it -'doubles down' on having things work in harmony. It is also very easy to use - -once again you can get away by using a few lines of code. +As highlighted above one of the potential issues with {groundhog} is that you might run into language version incompatibility - and by extension still have non-working code (bleak). Enter [`{renv}`](https://rstudio.github.io/renv/articles/renv.html), a handy-dandy, easy to use, dependency management package for your projects. `{renv}` records both `R` and package versions through a series of user called functions. This is very similar to `Julia` where all packages are 'stored' in `Project.toml`. `{renv}` works by crawling through your project directory and recording package version and dependencies in use. This is then saved in the `renv.lock` file and is used to 'load' the project state further down the line. + +**How it works:** The bare bones overview is that you 1) initialise the project-local environment using `renv::init()`, 2) continue tinkering as you go, 3) call `renv::snapshot()` to update `renv.lock` with any new additions, and 4) if things broke along the way you can call `renv::restore()` to revert back to the previous project state you had saved in your lock file (which hopefully did run). + +**Limitations:** One limitation is that `{renv}` relies on you saving a _currently_ working/functioning state (if you want recall it and have it to work in the future). This makes it a bit tricky to try and quickly 'fix' old code - something that `{groundhog}` is probably more suited for, whereas `{renv}` is a solid choice when starting a new project form scratch. + +**Pros:** `{renv}` saves both package and `R` versions - which is great as it 'doubles down' on having things work in harmony. It is also very easy to use - once again you can get away by using a few lines of code. ### Docker -Docker, a term that can strike trepidation in even some of the most hardened -of researchers (although they have the cutest whale as a logo and that 100% -drops the scary factor if you as me). Briefly (and slightly facetiously) Docker -is a program that allows you to host different mini computers on your computer. -This of course means its not just an R-specific tool but one that could probably -cover a lot of reproducibility bases for most languages. But there is a reason -this is last on the list and that is because it takes a bit more work to implement. -So think of this as a long-term project/goal to set yourself up for. - -**How it works:** As I said earlier with Docker you can run a multiple operating -systems (containers) on your machine (the host). This container (your mini -computer) is built from an 'image', the catch though - you need to build the -image from scratch from OS all the way through to you specific script/code -chunk. These build instructions are contained in a `Dockerfile` - which you -save in your working directory. Inside this file is the 'recipe' for building -your image (and spoiler alert it looks a lot like a series of command line -calls). Colin Fay wrote [this](https://colinfay.me/docker-r-reproducibility/) -really nice blog about using docker and `R` for beginners. If your interested I -suggest starting there! Alternatively `{renv}` also plays well with Docker - -have a look at [this vignette](https://rstudio.github.io/renv/articles/docker.html) - -**Limitations:** In the context of what has been discussed in this post Docker is -_hard_ yo! In order to write a Docker file you will benefit a lot from being -comfortable using and thinking of things in terms of command line. Since you are -'creating' you mini computer you need to install a lot of moving parts and -components. This means you might be moving from the comfort zone when it comes -to programming and could put you off trying the whole reproducibility thing all -together. So set realistic expectations here and don't be too hard on yourself! - -**Pros:** Docker is very flexible! You can build your mini computer to your -specifications and keep your 'normal computer' intact. For example I am -running MacOS, `R` 3.5 on my normal computer but can build an image that -runs Linux and `R` 3.1. Also because the recipe is contained in the `Dockerfile` -anyone can build the image for that project on their machine and have -it all 'just' work (avoiding the whole 'but it works on my machine' scenario). +Docker, a term that can strike trepidation in even some of the most hardened of researchers (although they have the cutest whale as a logo and that 100% drops the scary factor if you as me). Briefly Docker is a program that allows you to host different mini computers on your computer. This of course means its not just an R-specific tool but one that could probably cover a lot of reproducibility bases for most languages. But there is a reason this is last on the list and that is because it takes a bit more work to implement. So think of this as a long-term project/goal to set yourself up for. + +**How it works:** As I said earlier with Docker you can run multiple mini computers (containers) built from an 'image' of your machine (the host). The catch though - you need to build the image from scratch from OS all the way through to you specific script/code chunk. These build instructions are contained in a `Dockerfile` - which you save in your working directory. Inside this file is the 'recipe' for building your image (and spoiler alert it looks a lot like a series of command line calls). Colin Fay wrote [this](https://colinfay.me/docker-r-reproducibility/) really nice blog about using docker and `R` for beginners. If your interested I suggest starting there! Alternatively `{renv}` also plays well with Docker - have a look at [this vignette](https://rstudio.github.io/renv/articles/docker.html) + +**Limitations:** In the context of what has been discussed in this post Docker is _hard_ yo! In order to write a Docker file you will benefit a lot from being comfortable using and thinking of things in terms of command line. Since you are 'creating' you mini computer you need to install a lot of moving parts and components. This means you might be moving from your comfort zone when it comes to programming and could put you off trying the whole reproducibility thing all together. So set realistic expectations here and don't be too hard on yourself! + +**Pros:** Docker is very flexible! You can build your mini computer to your specifications and keep your 'normal computer' intact. For example if I am running MacOS, `R` 3.5 on my normal computer but can build an image that runs Linux and `R` 3.1. Also because the recipe is contained in the `Dockerfile` anyone can build the image for that project on their machine and have it all 'just' work (avoiding the whole 'but it works on my machine' scenario). ## Closing thoughts -If you want to keep your project pipeline working in the long-term it is -important to account for the fact that languages are evolving - which -means the scaffold on which your code rests also needs to be documented in -some way. That being said asking yourself as to how _paramount_ the longevity -of your project is a good way to identify and allocate resources to documenting -and accommodating for this. For smaller projects you could probably get -away with a simple documentation process e.g. `Julia`'s `Project.toml` system or -`{renv}` for `R`. But if the project is of high importance it's probably recommended -to give something like Docker a try. +If you want to keep your project pipeline working in the long-term it is important to account for the fact that languages are evolving - which means the scaffold on which your code rests also needs to be documented in some way. That being said asking yourself as to how _paramount_ the longevity of your project is a good way to identify and allocate resources to documenting and accommodating for this. For smaller projects you could probably get away with a simple documentation process e.g. `Julia`'s `Project.toml` system or `{renv}` for `R`. But if the longevity of the project is of high importance it's probably recommended to give something like Docker a try. Now lets get out there and give package management a go! From 882ef3e7d3073efe3556f0ee12d0ebf5f147f0a8 Mon Sep 17 00:00:00 2001 From: Tanya Strydom <tanya.strydom@icloud.com> Date: Mon, 24 Oct 2022 13:44:31 +0200 Subject: [PATCH 19/29] =?UTF-8?q?=E2=9D=8C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...etox-package-and-dependency-management.Rmd | 203 ------------------ 1 file changed, 203 deletions(-) delete mode 100644 _posts/2021-07-08-unreproducibility-detox-package-and-dependency-management/unreproducibility-detox-package-and-dependency-management.Rmd diff --git a/_posts/2021-07-08-unreproducibility-detox-package-and-dependency-management/unreproducibility-detox-package-and-dependency-management.Rmd b/_posts/2021-07-08-unreproducibility-detox-package-and-dependency-management/unreproducibility-detox-package-and-dependency-management.Rmd deleted file mode 100644 index 0f39343..0000000 --- a/_posts/2021-07-08-unreproducibility-detox-package-and-dependency-management/unreproducibility-detox-package-and-dependency-management.Rmd +++ /dev/null @@ -1,203 +0,0 @@ ---- -title: "(un)Reproducibility Detox - Package and Dependency Management" -description: | - How do we keep our work reproducible? A focus on package, dependency, and language 'version control'. -Tanya Strydom -date: 07-08-2021 -output: - distill::distill_article: - self_contained: false ---- - -```{r setup, include=FALSE} -knitr::opts_chunk$set(echo = FALSE) -``` - -# Package and Dependency Management - -> First your self care task of the day: Its time to update all those packages (and -> maybe even language version) - you deserve to be able to play with the newest -> toys on the block. While all this is happening in the background put -> your feet up and hit play on the TV or podcast series you've been meaning to -> catch up on. - -## Why do we need a package management system? - -You've commented, documented, shared, and your code meaning that its available -to and usable by the rest of the world right? Well maybe for now but you know -what they say about time - *all hours wound; the last one kills*. Okay so it -might not be that dramatic but there is of course the problem that as time -progresses our code becomes out-dated and (worst case scenario) non-functional. -Programming languages (and packages) are continually evolving as developers -work at squashing bugs and making performance upgrades. Sometimes these upgrades -might result in a fundamental change in how the a language or package functions -_e.g._ a function name might change or some functionality will be removed in favour -of another. This means that in a few years that beautifully documented chunk of -code that we've written today might not even run. Oh dear... - -<center> - - - -</center> - -What this boils down to is that we need to not only think about documenting the -code itself but also all the 'backend' features that make it tick i.e. not only -what packages we're using but also what version. This can also extend to language -version and even operating system (OS) type or version. - -Although this may seem daunting it's important to remember that the journey to -reproducibility is much like how one approaches eating an elephant - we take -it one bit~~e~~ at a time. With that mantra in mind don't be afraid to take a -bite but also don't bite off more than you can chew. - -## How do we _keep_ our work reproducible? - -The good news there are a lot of functionality that we can leverage in our journey -to reproducibility. Different languages have different ways we can document and -'keep' the package version that we are using. The main focus will be using `R` as -it is the current *lingua franca* of most ecologists. It also straddles the middle -ground between being very 'picky' like `python` and literally having a built in -system like `Julia`. The (language agnostic) take home message though is that it's -important to (at minimum) keep record of what versions of things you used if you -want your work to work a few months/years down the line. - -The three main approaches and packages I will discuss are `{groundhog}`, `{renv}` -and, `docker`. There are of course other ways to document package versions but -these are (somewhat user friendly) and will give you different 'levels' of -reproducibility. It is of course also possible to mix and match these different -platforms. - -### `{groundhog}` - -[`{groundhog}`](http://groundhogr.com/using/) is a relatively new kid on the block - -and apparently refers to a film of the same name (no comment on my side as this -is a facet of pop culture the eludes me). This is a super easy package to implement -(think one function easy) and is a really nice way to 'retrofit' some of your -older code. - -**How it works:** Essentially `{groundhog}` will install the version of a package -that was available on CRAN for a specified date. It does this by 'replacing' the -`library("package")` with `groundhog.library("package", date)`. This means its -easy to go back and set a more suitable date for your script e.g. maybe the -date it was created or last time it was saved. - -```{r groundhog, include=TRUE} -# a mini example -install.packages("groundhog") -library("groundhog") -groundhog.library("tidyverse", "2018-07-07") - -# you can also call multiple packages -pkgs <- c("tidyverse","ggforce") -groundhog.library(pkgs, "2018-07-07") - -# working with an 'active' script -library(groundhog) -groundhog.day = "2021-07-07" -groundhog.library(pkgs, groundhog.day) - -``` -**Limitations:** Although `{groundhog}` will call the correct/desired packages -version there is of course the potential problem that that package version is -no longer compatible with the version of `R` that you're running on your -machine --- this means you might have to have multiple version of `R` on you -machine and have to switch between them depending on what project you're using. -Another issue could arise when retrofitting your workflow. Although you might have a -starting date/groundhog day you might not have been using the most up-to-date version -available at that date - so you would be retrieving the wrong version. - -**Pros:** To end on a positive note though - {groundhog} is at least a good -starting point for documenting package version _and_ its very easy to implement, -especially if you are retrofitting your code. - -### `{renv}` - -As highlighted above one of the potential issues with {groundhog} is that you -might run into language version incompatibility - and by extension still have -non-working code (bleak). Enter [`{renv}`](https://rstudio.github.io/renv/articles/renv.html), -a handy-dandy, easy to use, dependency management package for your projects. -`{renv}` records both `R` and package versions through a series of user called -functions. This is very similar to `Julia` where all packages are 'stored' -in `Project.toml`. `{renv}` works by crawling through your project -directory and recording package version and dependencies in use. This is then -saved in the `renv.lock` file and is used to 'load' the project state further -down the line. - -**How it works:** The bare bones overview is that you 1) initialise the -project-local environment using `renv::init()`, 2) continue tinkering as you -go, 3) call `renv::snapshot()` to update `renv.lock` with any new additions, and -4) if things broke along the way you can call `renv::restore()` to revert back -to the previous project state (which hopefully did run) - -**Limitations:** One limitation is that `{renv}` relies on you saving a -working/functioning state (if you want recall it and have it to work in -the future). This makes it a bit tricky to try and quickly 'fix' old code - -something that `{groundhog}` is probably more suited for. - -**Pros:** `{renv}` saves both package and `R` versions - which is great as it -'doubles down' on having things work in harmony. It is also very easy to use - -once again you can get away by using a few lines of code. - -### Docker - -Docker, a term that can strike trepidation in even some of the most hardened -of researchers (although they have the cutest whale as a logo and that 100% -drops the scary factor if you as me). Briefly (and slightly facetiously) Docker -is a program that allows you to host different mini computers on your computer. -This of course means its not just an R-specific tool but one that could probably -cover a lot of reproducibility bases for most languages. But there is a reason -this is last on the list and that is because it takes a bit more work to implement. -So think of this as a long-term project/goal to set yourself up for. - -**How it works:** As I said earlier with Docker you can run a multiple operating -systems (containers) on your machine (the host). This container (your mini -computer) is built from an 'image', the catch though - you need to build the -image from scratch from OS all the way through to you specific script/code -chunk. These build instructions are contained in a `Dockerfile` - which you -save in your working directory. Inside this file is the 'recipe' for building -your image (and spoiler alert it looks a lot like a series of command line -calls). Colin Fay wrote [this](https://colinfay.me/docker-r-reproducibility/) -really nice blog about using docker and `R` for beginners. If your interested I -suggest starting there! Alternatively `{renv}` also plays well with Docker - -have a look at [this vignette](https://rstudio.github.io/renv/articles/docker.html) - -**Limitations:** In the context of what has been discussed in this post Docker is -_hard_ yo! In order to write a Docker file you will benefit a lot from being -comfortable using and thinking of things in terms of command line. Since you are -'creating' you mini computer you need to install a lot of moving parts and -components. This means you might be moving from the comfort zone when it comes -to programming and could put you off trying the whole reproducibility thing all -together. So set realistic expectations here and don't be too hard on yourself! - -**Pros:** Docker is very flexible! You can build your mini computer to your -specifications and keep your 'normal computer' intact. For example I am -running MacOS, `R` 3.5 on my normal computer but can build an image that -runs Linux and `R` 3.1. Also because the recipe is contained in the `Dockerfile` -anyone can build the image for that project on their machine and have -it all 'just' work (avoiding the whole 'but it works on my machine' scenario). - -## Closing thoughts - -If you want to keep your project pipeline working in the long-term it is -important to account for the fact that languages are evolving - which -means the scaffold on which your code rests also needs to be documented in -some way. That being said asking yourself as to how _paramount_ the longevity -of your project is a good way to identify and allocate resources to documenting -and accommodating for this. For smaller projects you could probably get -away with a simple documentation process e.g. `Julia`'s `Project.toml` system or -`{renv}` for `R`. But if the project is of high importance it's probably recommended -to give something like Docker a try. - -Now lets get out there and give package management a go! - -> Pick and choose the task(s) that you want to take on (or remix one of them) -> 1. Open one of the older projects on you computer. Does the code run? If no see if you can retrofit it using {groundhog} -> 2. Open the (or one of many) project you are currently working on and run `renv::init()` and see what happens -> 3. Install Docker and work through [Colin Fay's tutorial](https://colinfay.me/docker-r-reproducibility/) - -<center> - - - -</center> From 2259963bfe087164d0693c0c255a49db92f8bf22 Mon Sep 17 00:00:00 2001 From: Tanya Strydom <tanya.strydom@icloud.com> Date: Mon, 24 Oct 2022 14:42:54 +0200 Subject: [PATCH 20/29] =?UTF-8?q?=F0=9F=8F=97=20build=20updated=20post?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../unreproducibility-detox.html | 272 +- .../anchor-4.2.2/anchor.min.js | 16 +- .../bowser-1.9.3/bowser.min.js | 10 +- .../distill-2.2.21/template.v2.js | 1488 +-- .../header-attrs-2.11/header-attrs.js | 12 + .../jquery-3.6.0/jquery-3.6.0.js | 10881 ++++++++++++++++ .../jquery-3.6.0/jquery-3.6.0.min.js | 2 + .../jquery-3.6.0/jquery-3.6.0.min.map | 1 + .../popper-2.6.0/popper.min.js | 12 +- .../tippy-6.2.7/tippy-bundle.umd.min.js | 4 +- .../tippy-6.2.7/tippy.umd.min.js | 4 +- .../webcomponents-2.0.0/webcomponents.js | 472 +- docs/index.html | 263 +- docs/index.xml | 4 +- .../index.html | 270 +- .../header-attrs-2.7/header-attrs.js | 12 + .../jquery-1.11.3/jquery.min.js | 5 + docs/posts/posts.json | 6 +- .../header-attrs-2.11/header-attrs.js | 12 + docs/site_libs/jquery-3.6.0/jquery-3.6.0.js | 10881 ++++++++++++++++ .../jquery-3.6.0/jquery-3.6.0.min.js | 2 + .../jquery-3.6.0/jquery-3.6.0.min.map | 1 + docs/sitemap.xml | 8 +- 23 files changed, 23344 insertions(+), 1294 deletions(-) create mode 100644 _posts/2021-06-13-unreproducibility-detox/unreproducibility-detox_files/header-attrs-2.11/header-attrs.js create mode 100644 _posts/2021-06-13-unreproducibility-detox/unreproducibility-detox_files/jquery-3.6.0/jquery-3.6.0.js create mode 100644 _posts/2021-06-13-unreproducibility-detox/unreproducibility-detox_files/jquery-3.6.0/jquery-3.6.0.min.js create mode 100644 _posts/2021-06-13-unreproducibility-detox/unreproducibility-detox_files/jquery-3.6.0/jquery-3.6.0.min.map create mode 100644 docs/posts/2021-06-13-unreproducibility-detox/unreproducibility-detox_files/header-attrs-2.7/header-attrs.js create mode 100644 docs/posts/2021-06-13-unreproducibility-detox/unreproducibility-detox_files/jquery-1.11.3/jquery.min.js create mode 100644 docs/site_libs/header-attrs-2.11/header-attrs.js create mode 100644 docs/site_libs/jquery-3.6.0/jquery-3.6.0.js create mode 100644 docs/site_libs/jquery-3.6.0/jquery-3.6.0.min.js create mode 100644 docs/site_libs/jquery-3.6.0/jquery-3.6.0.min.map diff --git a/_posts/2021-06-13-unreproducibility-detox/unreproducibility-detox.html b/_posts/2021-06-13-unreproducibility-detox/unreproducibility-detox.html index 5fd1c0f..c826c25 100644 --- a/_posts/2021-06-13-unreproducibility-detox/unreproducibility-detox.html +++ b/_posts/2021-06-13-unreproducibility-detox/unreproducibility-detox.html @@ -23,6 +23,7 @@ pre > code.sourceCode { white-space: pre; position: relative; } pre > code.sourceCode > span { display: inline-block; line-height: 1.25; } pre > code.sourceCode > span:empty { height: 1.2em; } +.sourceCode { overflow: visible; } code.sourceCode > span { color: inherit; text-decoration: inherit; } div.sourceCode { margin: 1em 0; } pre.sourceCode { margin: 0; } @@ -49,16 +50,17 @@ } pre.numberSource { margin-left: 3em; border-left: 1px solid #aaaaaa; padding-left: 4px; } div.sourceCode - { } + { color: #00769e; background-color: #f1f3f5; } @media screen { pre > code.sourceCode > span > a:first-child::before { text-decoration: underline; } } +code span { color: #00769e; } /* Normal */ code span.al { color: #ad0000; } /* Alert */ code span.an { color: #5e5e5e; } /* Annotation */ -code span.at { color: #20794d; } /* Attribute */ +code span.at { color: #657422; } /* Attribute */ code span.bn { color: #ad0000; } /* BaseN */ code span.bu { } /* BuiltIn */ -code span.cf { color: #007ba5; } /* ControlFlow */ +code span.cf { color: #00769e; } /* ControlFlow */ code span.ch { color: #20794d; } /* Char */ code span.cn { color: #8f5902; } /* Constant */ code span.co { color: #5e5e5e; } /* Comment */ @@ -72,11 +74,11 @@ code span.fu { color: #4758ab; } /* Function */ code span.im { } /* Import */ code span.in { color: #5e5e5e; } /* Information */ -code span.kw { color: #007ba5; } /* Keyword */ +code span.kw { color: #00769e; } /* Keyword */ code span.op { color: #5e5e5e; } /* Operator */ -code span.ot { color: #007ba5; } /* Other */ +code span.ot { color: #00769e; } /* Other */ code span.pp { color: #ad0000; } /* Preprocessor */ -code span.sc { color: #20794d; } /* SpecialChar */ +code span.sc { color: #5e5e5e; } /* SpecialChar */ code span.ss { color: #20794d; } /* SpecialString */ code span.st { color: #20794d; } /* String */ code span.va { color: #111111; } /* Variable */ @@ -84,6 +86,7 @@ code span.wa { color: #5e5e5e; font-style: italic; } /* Warning */ </style> + <!--radix_placeholder_meta_tags--> <title>(un)Reproducibility Detox</title> @@ -186,6 +189,7 @@ d-article table.gt_table td, d-article table.gt_table th { border-bottom: none; + font-size: 100%; } .html-widget { @@ -429,10 +433,6 @@ margin-top: 1.5em; } - .figure img { - width: 100%; - } - .figure .caption { color: rgba(0, 0, 0, 0.6); font-size: 12px; @@ -1262,7 +1262,22 @@ // hoverable references $('span.citation[data-cites]').each(function() { - var refHtml = $('#ref-' + $(this).attr('data-cites')).html(); + const citeChild = $(this).children()[0] + // Do not process if @xyz has been used without escaping and without bibliography activated + // https://github.com/rstudio/distill/issues/466 + if (citeChild === undefined) return true + + if (citeChild.nodeName == "D-FOOTNOTE") { + var fn = citeChild + $(this).html(fn.shadowRoot.querySelector("sup")) + $(this).id = fn.id + fn.remove() + } + var refs = $(this).attr('data-cites').split(" "); + var refHtml = refs.map(function(ref) { + // Could use CSS.escape too here, we insure backward compatibility in navigator + return "<p>" + $('div[id="ref-' + ref + '"]').html() + "</p>"; + }).join("\n"); window.tippy(this, { allowHTML: true, content: refHtml, @@ -1274,6 +1289,31 @@ }); }); + // fix footnotes in tables (#411) + // replacing broken distill.pub feature + $('table d-footnote').each(function() { + // we replace internal showAtNode methode which is triggered when hovering a footnote + this.hoverBox.showAtNode = function(node) { + // ported from https://github.com/distillpub/template/pull/105/files + calcOffset = function(elem) { + let x = elem.offsetLeft; + let y = elem.offsetTop; + // Traverse upwards until an `absolute` element is found or `elem` + // becomes null. + while (elem = elem.offsetParent && elem.style.position != 'absolute') { + x += elem.offsetLeft; + y += elem.offsetTop; + } + + return { left: x, top: y }; + } + // https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/offsetTop + const bbox = node.getBoundingClientRect(); + const offset = calcOffset(node); + this.show([offset.left + bbox.width, offset.top + bbox.height]); + } + }) + // clear polling timer clearInterval(tid); @@ -1372,6 +1412,8 @@ // mark non-body figures created by knitr chunks as 100% width $('.layout-chunk').each(function(i, val) { var figures = $(this).find('img, .html-widget'); + // ignore leaflet img layers (#106) + figures = figures.filter(':not(img[class*="leaflet"])') if ($(this).attr('data-layout') !== "l-body") { figures.css('width', '100%'); } else { @@ -1394,7 +1436,7 @@ // get rid of index.html references in header if (window.location.protocol !== "file:") { $('.distill-site-header a[href]').each(function(i,val) { - $(this).attr('href', $(this).attr('href').replace("index.html", "./")); + $(this).attr('href', $(this).attr('href').replace(/^index[.]html/, "./")); }); } @@ -1433,8 +1475,8 @@ </script> <!--/radix_placeholder_distill--> - <script src="unreproducibility-detox_files/header-attrs-2.7/header-attrs.js"></script> - <script src="unreproducibility-detox_files/jquery-1.11.3/jquery.min.js"></script> + <script src="unreproducibility-detox_files/header-attrs-2.11/header-attrs.js"></script> + <script src="unreproducibility-detox_files/jquery-3.6.0/jquery-3.6.0.min.js"></script> <script src="unreproducibility-detox_files/popper-2.6.0/popper.min.js"></script> <link href="unreproducibility-detox_files/tippy-6.2.7/tippy.css" rel="stylesheet" /> <link href="unreproducibility-detox_files/tippy-6.2.7/tippy-light-border.css" rel="stylesheet" /> @@ -1454,7 +1496,7 @@ <!--radix_placeholder_front_matter--> <script id="distill-front-matter" type="text/json"> -{"title":"(un)Reproducibility Detox","description":"A seven-day detox routine to improve the reproducibility of your projects!","authors":[{"author":"Gracielle Higino","authorURL":"#","affiliation":" ","affiliationURL":"#","orcidID":""}],"publishedDate":"2021-06-13T00:00:00.000-04:00","citationText":"Higino, 2021"} +{"title":"(un)Reproducibility Detox","description":"A seven-day detox routine to improve the reproducibility of your projects!","authors":[{"author":"Gracielle Higino","authorURL":"#","affiliation":" ","affiliationURL":"#","orcidID":""}],"publishedDate":"2021-06-13T00:00:00.000+02:00","citationText":"Higino, 2021"} </script> <!--/radix_placeholder_front_matter--> @@ -1467,8 +1509,8 @@ <h1>(un)Reproducibility Detox</h1> <!--radix_placeholder_categories--> <div class="dt-tags"> -<div class="dt=tag">Technical</div> -<div class="dt=tag">EN</div> +<div class="dt-tag">Technical</div> +<div class="dt-tag">EN</div> </div> <!--/radix_placeholder_categories--> <p><p>A seven-day detox routine to improve the reproducibility of your projects!</p></p> @@ -1486,56 +1528,67 @@ <h1>(un)Reproducibility Detox</h1> <nav class="l-text toc figcaption" id="TOC"> <h3>Contents</h3> <ul> -<li><a href="#sunday---reflect-about-open-science">Sunday - reflect about open science</a> +<li><a href="#sunday---reflect-about-open-science" id="toc-sunday---reflect-about-open-science">Sunday - reflect about open science</a> <ul> -<li><a href="#suggested-reading">Suggested reading</a></li> +<li><a href="#suggested-reading" id="toc-suggested-reading">Suggested reading</a></li> </ul></li> -<li><a href="#monday---design-a-project">Monday - design a project</a> +<li><a href="#monday---design-a-project" id="toc-monday---design-a-project">Monday - design a project</a> <ul> -<li><a href="#give-cool-names">Give cool names</a></li> -<li><a href="#licenses">Licenses</a></li> -<li><a href="#reproducibility-task-of-the-day">Reproducibility task of the day</a></li> -<li><a href="#suggested-readings">Suggested readings</a></li> +<li><a href="#give-cool-names" id="toc-give-cool-names">Give cool names</a></li> +<li><a href="#licenses" id="toc-licenses">Licenses</a></li> +<li><a href="#reproducibility-task-of-the-day" id="toc-reproducibility-task-of-the-day">Reproducibility task of the day</a></li> +<li><a href="#suggested-readings" id="toc-suggested-readings">Suggested readings</a></li> </ul></li> -<li><a href="#tuesday---control-your-versions">Tuesday - control your versions</a> +<li><a href="#tuesday---control-your-versions" id="toc-tuesday---control-your-versions">Tuesday - control your versions</a> <ul> -<li><a href="#what-is-version-control-why-is-it-cool-to-use">What is version control? Why is it cool to use?</a></li> -<li><a href="#a-little-bit-of-git-vocabulary-and-architecture">A little bit of Git vocabulary and architecture</a> +<li><a href="#what-is-version-control-why-is-it-cool-to-use" id="toc-what-is-version-control-why-is-it-cool-to-use">What is version control? Why is it cool to use?</a></li> +<li><a href="#a-little-bit-of-git-vocabulary-and-architecture" id="toc-a-little-bit-of-git-vocabulary-and-architecture">A little bit of Git vocabulary and architecture</a> <ul> -<li><a href="#the-repository-main-timeline">The repository main timeline</a></li> -<li><a href="#branches-from-the-master-branch">Branches from the master: branch</a></li> -<li><a href="#copying-repositories-from-the-cloud-to-the-computer-or-working-offline">Copying repositories from the ‘cloud’ to the computer (or, working offline):</a></li> -<li><a href="#copying-online-repositories">Copying online repositories</a></li> -<li><a href="#general-workflow-vocabulary">General workflow vocabulary</a></li> +<li><a href="#the-repository-main-timeline" id="toc-the-repository-main-timeline">The repository main timeline</a></li> +<li><a href="#branches-from-the-master-branch" id="toc-branches-from-the-master-branch">Branches from the master: branch</a></li> +<li><a href="#copying-repositories-from-the-cloud-to-the-computer-or-working-offline" id="toc-copying-repositories-from-the-cloud-to-the-computer-or-working-offline">Copying repositories from the ‘cloud’ to the computer (or, working offline):</a></li> +<li><a href="#copying-online-repositories" id="toc-copying-online-repositories">Copying online repositories</a></li> +<li><a href="#general-workflow-vocabulary" id="toc-general-workflow-vocabulary">General workflow vocabulary</a></li> </ul></li> -<li><a href="#working-remotely">Working remotely</a></li> -<li><a href="#working-locally">Working locally</a></li> -<li><a href="#basic-commands">Basic Commands</a> +<li><a href="#working-remotely" id="toc-working-remotely">Working remotely</a></li> +<li><a href="#working-locally" id="toc-working-locally">Working locally</a></li> +<li><a href="#basic-commands" id="toc-basic-commands">Basic Commands</a> <ul> -<li><a href="#how-to-track-changes-in-my-files">How to track changes in my files?</a></li> -<li><a href="#working-with-branches">Working with branches</a></li> +<li><a href="#how-to-track-changes-in-my-files" id="toc-how-to-track-changes-in-my-files">How to track changes in my files?</a></li> +<li><a href="#working-with-branches" id="toc-working-with-branches">Working with branches</a></li> </ul></li> -<li><a href="#oh-my-git-d">Oh, my Git! D=</a></li> -<li><a href="#reproducibility-task-of-the-day-1">Reproducibility task of the day</a></li> -<li><a href="#suggested-reading-1">Suggested reading</a></li> +<li><a href="#oh-my-git-d" id="toc-oh-my-git-d">Oh, my Git! D=</a></li> +<li><a href="#reproducibility-task-of-the-day-1" id="toc-reproducibility-task-of-the-day-1">Reproducibility task of the day</a></li> +<li><a href="#suggested-reading-1" id="toc-suggested-reading-1">Suggested reading</a></li> </ul></li> -<li><a href="#wednesday---make-your-code-and-manuscript-reproducible">Wednesday - make your code and manuscript reproducible</a> +<li><a href="#wednesday---make-your-code-and-manuscript-reproducible" id="toc-wednesday---make-your-code-and-manuscript-reproducible">Wednesday - make your code and manuscript reproducible</a> <ul> -<li><a href="#reproducible-code">Reproducible code</a> +<li><a href="#reproducible-code" id="toc-reproducible-code">Reproducible code</a> <ul> -<li><a href="#comment">Comment</a></li> -<li><a href="#functions-and-packages">Functions and packages</a></li> +<li><a href="#comment" id="toc-comment">Comment</a></li> +<li><a href="#functions-and-packages" id="toc-functions-and-packages">Functions and packages</a></li> </ul></li> -<li><a href="#reproducible-manuscripts">Reproducible manuscripts</a> +<li><a href="#reproducible-manuscripts" id="toc-reproducible-manuscripts">Reproducible manuscripts</a> <ul> -<li><a href="#basic-markdown-syntax">Basic Markdown syntax</a></li> -<li><a href="#citationreference-management">Citation/reference management</a></li> +<li><a href="#basic-markdown-syntax" id="toc-basic-markdown-syntax">Basic Markdown syntax</a></li> +<li><a href="#citationreference-management" id="toc-citationreference-management">Citation/reference management</a></li> </ul></li> -<li><a href="#reproducibility-task-of-the-day-2">Reproducibility task of the day</a></li> -<li><a href="#suggested-reading-2">Suggested reading</a></li> +<li><a href="#reproducibility-task-of-the-day-2" id="toc-reproducibility-task-of-the-day-2">Reproducibility task of the day</a></li> +<li><a href="#suggested-reading-2" id="toc-suggested-reading-2">Suggested reading</a></li> </ul></li> -<li><a href="#thursday---preserve-your-tools">Thursday - preserve your tools</a></li> -<li><a href="#saturday---reproducible-challange">Saturday - reproducible challange</a></li> +<li><a href="#thursday---preserve-your-tools" id="toc-thursday---preserve-your-tools">Thursday - preserve your tools</a> +<ul> +<li><a href="#why-do-we-need-to-preserve-our-tools" id="toc-why-do-we-need-to-preserve-our-tools">Why do we need to preserve our tools?</a></li> +<li><a href="#how-do-we-keep-our-work-reproducible" id="toc-how-do-we-keep-our-work-reproducible">How do we <em>keep</em> our work reproducible?</a> +<ul> +<li><a href="#groundhog" id="toc-groundhog"><code>{groundhog}</code></a></li> +<li><a href="#renv" id="toc-renv"><code>{renv}</code></a></li> +<li><a href="#docker" id="toc-docker">Docker</a></li> +</ul></li> +<li><a href="#closing-thoughts" id="toc-closing-thoughts">Closing thoughts</a></li> +</ul></li> +<li><a href="#friday---automate-your-workflows" id="toc-friday---automate-your-workflows">Friday - automate your workflows</a></li> +<li><a href="#saturday---reproducible-challange" id="toc-saturday---reproducible-challange">Saturday - reproducible challange</a></li> </ul> </nav> </div> @@ -1621,7 +1674,8 @@ <h3 id="give-cool-names">Give cool names</h3> <li><p>Is it easily searchable (a.k.a., machine readable)? Will my computer crash if I need to change to this directory?</p></li> </ol> <h3 id="licenses">Licenses</h3> -<p>An important part of making your work reproducible by anyone is to share it, and to do that safely, it is important to connect your project to a license. This is a statement about what and how people can use any part of your project. Chosing a license can be a difficult task at first, but if your projects have a common structure, they should be ok with the same license. When chosing a license, it is important to ask yourself (and your collaborators) the following questions:</p> +<p>An important part of making your work reproducible by anyone is to share it, and to do that safely, it is important to connect your project to a license. This is a statement about what and how people can use any part of your project. +Chosing a license can be a difficult task at first, but if your projects have a common structure, they should be ok with the same license. When chosing a license, it is important to ask yourself (and your collaborators) the following questions:</p> <ol type="1"> <li><p>Do we want people to give us credit for our work when this projects is distributed, derived, performed or displayed?</p></li> <li><p>Do we want the derivatives of this project be shared with the same license that we chose?</p></li> @@ -1629,7 +1683,8 @@ <h3 id="licenses">Licenses</h3> </ol> <p>A combination of your answers will guide you to find the best license for your project which is adequate for your community. There are a couple of online tools that can help you with that! For example, if you are sharing creative work, you can consult the <a href="https://creativecommons.org/choose/">Creative Commons - Choose a License</a> tool. For other open source software licenses, you can take a look at the <a href="http://choosealicense.com/">Choose A License</a> website. The cool thing is: you can also <strong>create</strong> your own license! In any case, once you chose the appropriate license for your project, save it in your project root folder with the name “LICENSE” (as a text file). This way, your version control host system will automatically recognize it and display something like “hey, this project has a license!” when someone finds your project.</p> <h2 id="reproducibility-task-of-the-day">Reproducibility task of the day</h2> -<p>Take a moment to evaluate your current project design. How would you make it better? If there is something missing (a license, cool names, a good structure), try to implement what you’ve learned: one simple thing is enough! Pick one project + one improvement and do it / You can start even with pen and paper! Scketch what’s the flow of information inside your project right now. Is there any redundancies? Could a path between righly connected directories be shorter? Could the names of the folders be shorter if they were arranged some other way?</p> +<p>Take a moment to evaluate your current project design. How would you make it better? If there is something missing (a license, cool names, a good structure), try to implement what you’ve learned: one simple thing is enough! Pick one project + one improvement and do it / +You can start even with pen and paper! Scketch what’s the flow of information inside your project right now. Is there any redundancies? Could a path between righly connected directories be shorter? Could the names of the folders be shorter if they were arranged some other way?</p> <p>Need help? Ask a friend to do it with you!</p> <h2 id="suggested-readings">Suggested readings</h2> <ul> @@ -1668,7 +1723,8 @@ <h3 id="copying-online-repositories">Copying online repositories</h3> <h3 id="general-workflow-vocabulary">General workflow vocabulary</h3> <p>When we change some file and save the new version, we do a <strong>commit</strong> <img src="https://raw.githubusercontent.com/mozillascience/friendly-github/master/assets/images/Commit.gif" style="width: 20px;"/>. Commits should be accompanied by short but sufficiently descriptive comments, so that you can understand what the difference in that version is and locate it more easily. With commits you can track what change was made, where, by whom and when.</p> <figure> -<img src="https://raw.githubusercontent.com/mozillascience/study-group-onboarding/master/images/gh09.png" alt="commit" /><figcaption aria-hidden="true">commit</figcaption> +<img src="https://raw.githubusercontent.com/mozillascience/study-group-onboarding/master/images/gh09.png" alt="commit" /> +<figcaption aria-hidden="true">commit</figcaption> </figure> <p>After changing a file and saving the new version, this version needs to be given a tag (an identification code), and then uploaded to the online repository. We call this a <strong>push</strong>. To update your local directory with the newest versions of files, you must tell Git to <strong>pull</strong> them.</p> <p>When working on a branch, you can request that the changes you have made be implemented in the main branch of your <em>workflow</em> (or any other branch). To do this you request a <strong>merge</strong> via a <strong>pull request</strong> <img src="https://raw.githubusercontent.com/mozillascience/friendly-github/master/assets/images/PullRequest.gif" style="width: 20px;"/>. In a pull request, you ask a repository owner or contributor to accept the changes you made to a fork or branch into another branch. If they accept, you are listed as a contributor to the project.</p> @@ -1690,15 +1746,15 @@ <h2 id="working-locally">Working locally</h2> <h2 id="basic-commands">Basic Commands</h2> <p>The following commands will give us an idea of a <em>workflow</em> in Git.</p> <p>To use Git, you need to configure it so that your account on your Git server is recognised by it. In Git Bash:</p> -<div class="sourceCode" id="cb3"><pre class="sourceCode bash"><code class="sourceCode bash"><span id="cb3-1"><a href="#cb3-1" aria-hidden="true" tabindex="-1"></a><span class="fu">git</span> config --global user.name <span class="st">"username"</span></span> -<span id="cb3-2"><a href="#cb3-2" aria-hidden="true" tabindex="-1"></a><span class="fu">git</span> config --global user.email <span class="st">"iamawesome@email.com"</span></span> -<span id="cb3-3"><a href="#cb3-3" aria-hidden="true" tabindex="-1"></a><span class="fu">git</span> config --list <span class="co">#Confirm your settings</span></span></code></pre></div> +<div class="sourceCode" id="cb3"><pre class="sourceCode bash"><code class="sourceCode bash"><span id="cb3-1"><a href="#cb3-1" aria-hidden="true" tabindex="-1"></a><span class="fu">git</span> config <span class="at">--global</span> user.name <span class="st">"username"</span></span> +<span id="cb3-2"><a href="#cb3-2" aria-hidden="true" tabindex="-1"></a><span class="fu">git</span> config <span class="at">--global</span> user.email <span class="st">"iamawesome@email.com"</span></span> +<span id="cb3-3"><a href="#cb3-3" aria-hidden="true" tabindex="-1"></a><span class="fu">git</span> config <span class="at">--list</span> <span class="co">#Confirm your settings</span></span></code></pre></div> <p>There, now Git knows who you are.<br /> <img src="https://media.giphy.com/media/QBGfW8HqzXzYDojCqo/giphy.gif" /></p> <p>To start a repository from your computer, you can tell Git to start or “watch” a folder.<br /> First, check what the working directory is and change it if necessary.</p> <div class="sourceCode" id="cb4"><pre class="sourceCode bash"><code class="sourceCode bash"><span id="cb4-1"><a href="#cb4-1" aria-hidden="true" tabindex="-1"></a><span class="bu">pwd</span> <span class="co"># prints the working directory</span></span> -<span id="cb4-2"><a href="#cb4-2" aria-hidden="true" tabindex="-1"></a><span class="bu">cd</span> # takes you to the root</span> +<span id="cb4-2"><a href="#cb4-2" aria-hidden="true" tabindex="-1"></a><span class="bu">cd</span> <span class="co"># takes you to the root</span></span> <span id="cb4-3"><a href="#cb4-3" aria-hidden="true" tabindex="-1"></a><span class="bu">cd</span> .. <span class="co"># takes you to one level up directory</span></span> <span id="cb4-4"><a href="#cb4-4" aria-hidden="true" tabindex="-1"></a><span class="bu">cd</span> <span class="st">"your/directory"</span> <span class="co"># changes your working directory</span></span></code></pre></div> <p>To clone your repository, copy the url as shown in the picture above and ask Git to clone the repository into the directory you indicated.</p> @@ -1715,14 +1771,14 @@ <h2 id="basic-commands">Basic Commands</h2> <p>Hey, couldn’t you find an important file? Add it to the Git vision field now!</p> <div class="sourceCode" id="cb10"><pre class="sourceCode bash"><code class="sourceCode bash"><span id="cb10-1"><a href="#cb10-1" aria-hidden="true" tabindex="-1"></a><span class="fu">git</span> add file <span class="co"># adds a file</span></span> <span id="cb10-2"><a href="#cb10-2" aria-hidden="true" tabindex="-1"></a></span> -<span id="cb10-3"><a href="#cb10-3" aria-hidden="true" tabindex="-1"></a><span class="fu">git</span> add -u <span class="co"># updates the file tracking</span></span> +<span id="cb10-3"><a href="#cb10-3" aria-hidden="true" tabindex="-1"></a><span class="fu">git</span> add <span class="at">-u</span> <span class="co"># updates the file tracking</span></span> <span id="cb10-4"><a href="#cb10-4" aria-hidden="true" tabindex="-1"></a></span> -<span id="cb10-5"><a href="#cb10-5" aria-hidden="true" tabindex="-1"></a><span class="fu">git</span> add -A <span class="co"># all the above</span></span></code></pre></div> +<span id="cb10-5"><a href="#cb10-5" aria-hidden="true" tabindex="-1"></a><span class="fu">git</span> add <span class="at">-A</span> <span class="co"># all the above</span></span></code></pre></div> <p>To make additions interactively via the terminal, use:</p> -<div class="sourceCode" id="cb11"><pre class="sourceCode bash"><code class="sourceCode bash"><span id="cb11-1"><a href="#cb11-1" aria-hidden="true" tabindex="-1"></a><span class="fu">git</span> add -i</span></code></pre></div> +<div class="sourceCode" id="cb11"><pre class="sourceCode bash"><code class="sourceCode bash"><span id="cb11-1"><a href="#cb11-1" aria-hidden="true" tabindex="-1"></a><span class="fu">git</span> add <span class="at">-i</span></span></code></pre></div> <p>Follow the instructions provided by the terminal and include as many files as you want before committing.</p> <p>Now that Git is keeping an eye on all your files, any changes you make (and want them to be recorded in this file’s timeline) will be detected. To make sure your changes are recorded, “commit” the changed file with a comment so you can remember what the difference is in that version.</p> -<div class="sourceCode" id="cb12"><pre class="sourceCode bash"><code class="sourceCode bash"><span id="cb12-1"><a href="#cb12-1" aria-hidden="true" tabindex="-1"></a><span class="fu">git</span> commit -m <span class="st">"it's awesome now"</span></span></code></pre></div> +<div class="sourceCode" id="cb12"><pre class="sourceCode bash"><code class="sourceCode bash"><span id="cb12-1"><a href="#cb12-1" aria-hidden="true" tabindex="-1"></a><span class="fu">git</span> commit <span class="at">-m</span> <span class="st">"it's awesome now"</span></span></code></pre></div> <p>A <code>commit</code> only updates the local repository if you are working locally, or the remote repository if you are working remotely. To synchronize the two repositories, you must either <code>push</code> updates to the remote repository or <code>pull</code> updates to the local repository.</p> <div class="sourceCode" id="cb13"><pre class="sourceCode bash"><code class="sourceCode bash"><span id="cb13-1"><a href="#cb13-1" aria-hidden="true" tabindex="-1"></a><span class="fu">git</span> push origin master</span> <span id="cb13-2"><a href="#cb13-2" aria-hidden="true" tabindex="-1"></a><span class="co">#"Git, please take the updated files to the remote repository 'origin', on the 'main' branch."</span></span> @@ -1733,21 +1789,21 @@ <h3 id="how-to-track-changes-in-my-files">How to track changes in my files?</h3> <p>Check the changes in the content of the files (e.g. new lines added):</p> <div class="sourceCode" id="cb14"><pre class="sourceCode bash"><code class="sourceCode bash"><span id="cb14-1"><a href="#cb14-1" aria-hidden="true" tabindex="-1"></a><span class="fu">git</span> diff</span></code></pre></div> <p>Check the files and their changes that are in the stage area:</p> -<div class="sourceCode" id="cb15"><pre class="sourceCode bash"><code class="sourceCode bash"><span id="cb15-1"><a href="#cb15-1" aria-hidden="true" tabindex="-1"></a><span class="fu">git</span> diff --staged</span></code></pre></div> +<div class="sourceCode" id="cb15"><pre class="sourceCode bash"><code class="sourceCode bash"><span id="cb15-1"><a href="#cb15-1" aria-hidden="true" tabindex="-1"></a><span class="fu">git</span> diff <span class="at">--staged</span></span></code></pre></div> <p>If you are lost between the different versions of your files, check the commit history! :)</p> <div class="sourceCode" id="cb16"><pre class="sourceCode bash"><code class="sourceCode bash"><span id="cb16-1"><a href="#cb16-1" aria-hidden="true" tabindex="-1"></a><span class="fu">git</span> log <span class="co"># history of project commits since the beginning</span></span> -<span id="cb16-2"><a href="#cb16-2" aria-hidden="true" tabindex="-1"></a><span class="fu">git</span> log -p <span class="co"># detailed historic of commits (i.e. git log + git diff)</span></span></code></pre></div> +<span id="cb16-2"><a href="#cb16-2" aria-hidden="true" tabindex="-1"></a><span class="fu">git</span> log <span class="at">-p</span> <span class="co"># detailed historic of commits (i.e. git log + git diff)</span></span></code></pre></div> <p>Depending on the size of the changes, the log may be very large and you will need to press “return” to each page to see all the changes. At the end you will see <code>(END)</code>, then press the letter ‘q’ to finish reading.<br /> If you only want to check the latest commits, limit the list with <code>git log -p -1</code> (replace the 1 with the number of commits you wish to see). You can also check out the entire change history of the working directories with the Git viewer with <code>gitk</code>. Isn’t that cool!</p> <h3 id="working-with-branches">Working with branches</h3> <p><em>Branches</em> are ramifications of other timelines. They are very useful when you need to test or work on large changes without changing what is on the main branch. It is very important to maintain branches in your collaborative work, because it reduces the chance of the main branch suffering accidental major changes and simplifies the management of file versions.</p> -<div class="sourceCode" id="cb17"><pre class="sourceCode bash"><code class="sourceCode bash"><span id="cb17-1"><a href="#cb17-1" aria-hidden="true" tabindex="-1"></a><span class="fu">git</span> show-branch -a <span class="co"># lists all branches</span></span> +<div class="sourceCode" id="cb17"><pre class="sourceCode bash"><code class="sourceCode bash"><span id="cb17-1"><a href="#cb17-1" aria-hidden="true" tabindex="-1"></a><span class="fu">git</span> show-branch <span class="at">-a</span> <span class="co"># lists all branches</span></span> <span id="cb17-2"><a href="#cb17-2" aria-hidden="true" tabindex="-1"></a></span> <span id="cb17-3"><a href="#cb17-3" aria-hidden="true" tabindex="-1"></a><span class="fu">git</span> branch name_of_branch <span class="co"># creates a new branch</span></span> <span id="cb17-4"><a href="#cb17-4" aria-hidden="true" tabindex="-1"></a></span> <span id="cb17-5"><a href="#cb17-5" aria-hidden="true" tabindex="-1"></a><span class="fu">git</span> checkout name_of_branch <span class="co"># transfers the workspace to the new branch</span></span> <span id="cb17-6"><a href="#cb17-6" aria-hidden="true" tabindex="-1"></a></span> -<span id="cb17-7"><a href="#cb17-7" aria-hidden="true" tabindex="-1"></a><span class="fu">git</span> checkout -b name_of_branch <span class="co"># creates a branch and transfers the workspace</span></span></code></pre></div> +<span id="cb17-7"><a href="#cb17-7" aria-hidden="true" tabindex="-1"></a><span class="fu">git</span> checkout <span class="at">-b</span> name_of_branch <span class="co"># creates a branch and transfers the workspace</span></span></code></pre></div> <p>When all the changes you have made to your branch are done and you think it is time to merge them into the <code>main</code> (or any other branch), move to the target branch and request a merge:</p> <div class="sourceCode" id="cb18"><pre class="sourceCode bash"><code class="sourceCode bash"><span id="cb18-1"><a href="#cb18-1" aria-hidden="true" tabindex="-1"></a><span class="fu">git</span> merge new_branch <span class="co"># merges the changes from 'new_branch' to 'main'</span></span></code></pre></div> <p>If you no longer need the branch and want to delete it, use the <code>git branch -d new_branch</code> command.<br /> @@ -1768,22 +1824,22 @@ <h3 id="working-with-branches">Working with branches</h3> <h2 id="oh-my-git-d">Oh, my Git! D=</h2> <p>Did you mess up commits? Want to revert a change? Don’t despair!<br /> If you made a commit and regret it, but don’t even remember which commit it was (<a href="http://stackoverflow.com/questions/3701404/list-all-commits-for-a-specific-file">“Find out commits associated for a specific file”</a>):</p> -<div class="sourceCode" id="cb22"><pre class="sourceCode bash"><code class="sourceCode bash"><span id="cb22-1"><a href="#cb22-1" aria-hidden="true" tabindex="-1"></a><span class="fu">git</span> log -p filename<span class="kw">`</span></span></code></pre></div> +<div class="sourceCode" id="cb22"><pre class="sourceCode bash"><code class="sourceCode bash"><span id="cb22-1"><a href="#cb22-1" aria-hidden="true" tabindex="-1"></a><span class="fu">git</span> log <span class="at">-p</span> filename<span class="kw">`</span></span></code></pre></div> <p>If you want to include new edits to the last commit, replacing it:</p> -<div class="sourceCode" id="cb23"><pre class="sourceCode bash"><code class="sourceCode bash"><span id="cb23-1"><a href="#cb23-1" aria-hidden="true" tabindex="-1"></a><span class="fu">git</span> commit --amend -m <span class="st">"message"</span></span></code></pre></div> +<div class="sourceCode" id="cb23"><pre class="sourceCode bash"><code class="sourceCode bash"><span id="cb23-1"><a href="#cb23-1" aria-hidden="true" tabindex="-1"></a><span class="fu">git</span> commit <span class="at">--amend</span> <span class="at">-m</span> <span class="st">"message"</span></span></code></pre></div> <p>If you want to remove any file from the stage area after a <code>git add .</code>:</p> <div class="sourceCode" id="cb24"><pre class="sourceCode bash"><code class="sourceCode bash"><span id="cb24-1"><a href="#cb24-1" aria-hidden="true" tabindex="-1"></a><span class="fu">git</span> reset HEAD new_file.R</span></code></pre></div> <p>But if you want to remove it from your <em>working tree</em> and the set of added files:</p> <div class="sourceCode" id="cb25"><pre class="sourceCode bash"><code class="sourceCode bash"><span id="cb25-1"><a href="#cb25-1" aria-hidden="true" tabindex="-1"></a><span class="fu">git</span> rm new_file.R</span></code></pre></div> <p>If all that goes wrong, try the following (tips taken <a href="https://stackoverflow.com/questions/23068790/git-revert-certain-files">from here</a>):</p> -<div class="sourceCode" id="cb26"><pre class="sourceCode bash"><code class="sourceCode bash"><span id="cb26-1"><a href="#cb26-1" aria-hidden="true" tabindex="-1"></a><span class="fu">git</span> revert --no-commit <span class="op"><</span>commit hash<span class="op">></span> <span class="co"># Revert, but don't commit yet</span></span> -<span id="cb26-2"><a href="#cb26-2" aria-hidden="true" tabindex="-1"></a><span class="fu">git</span> reset <span class="co"># Take everything from the stage area</span></span> -<span id="cb26-3"><a href="#cb26-3" aria-hidden="true" tabindex="-1"></a><span class="fu">git</span> add yourFilesToRevert <span class="co"># Add files to revert</span></span> -<span id="cb26-4"><a href="#cb26-4" aria-hidden="true" tabindex="-1"></a><span class="fu">git</span> commit -m <span class="st">"commit message"</span></span> -<span id="cb26-5"><a href="#cb26-5" aria-hidden="true" tabindex="-1"></a><span class="fu">git</span> reset --hard <span class="co"># Undo changes not commited</span></span></code></pre></div> +<div class="sourceCode" id="cb26"><pre class="sourceCode bash"><code class="sourceCode bash"><span id="cb26-1"><a href="#cb26-1" aria-hidden="true" tabindex="-1"></a><span class="fu">git</span> revert <span class="at">--no-commit</span> <span class="op"><</span>commit hash<span class="op">></span> # Revert, but don<span class="st">'t commit yet</span></span> +<span id="cb26-2"><a href="#cb26-2" aria-hidden="true" tabindex="-1"></a><span class="st">git reset # Take everything from the stage area</span></span> +<span id="cb26-3"><a href="#cb26-3" aria-hidden="true" tabindex="-1"></a><span class="st">git add yourFilesToRevert # Add files to revert</span></span> +<span id="cb26-4"><a href="#cb26-4" aria-hidden="true" tabindex="-1"></a><span class="st">git commit -m "commit message"</span></span> +<span id="cb26-5"><a href="#cb26-5" aria-hidden="true" tabindex="-1"></a><span class="st">git reset --hard # Undo changes not commited</span></span></code></pre></div> <p>If you want to remove all local changes and commits, retrieve the most recent history from the server and point to your local branch <code>main</code> like this:</p> <div class="sourceCode" id="cb27"><pre class="sourceCode bash"><code class="sourceCode bash"><span id="cb27-1"><a href="#cb27-1" aria-hidden="true" tabindex="-1"></a><span class="fu">git</span> fetch origin</span> -<span id="cb27-2"><a href="#cb27-2" aria-hidden="true" tabindex="-1"></a><span class="fu">git</span> reset --hard origin/master</span></code></pre></div> +<span id="cb27-2"><a href="#cb27-2" aria-hidden="true" tabindex="-1"></a><span class="fu">git</span> reset <span class="at">--hard</span> origin/master</span></code></pre></div> <p>That’s it! There’s <strong><em>a lot more</em></strong> in the git world, but I hope this guide can help you on your version control journey.</p> <p><strong>Remember</strong>: keep the <code>main</code> as untouched as possible, work with branches to test your ideas, and always <code>push</code> your modifications before going to bed.</p> <h2 id="reproducibility-task-of-the-day-1">Reproducibility task of the day</h2> @@ -1803,7 +1859,9 @@ <h3 id="self-care-task-of-the-day-3"><strong>Self-care task of the day</strong>< <h2 id="reproducible-code">Reproducible code</h2> <p>Today is the day to make your future-self thank you! We will go through some tips and tricks to make your code more friendly, surviving the test of time and of your own memory.</p> <p>A reproducible code is an essential part of a reproducible project. Having a code to reproduce your analysis is already a great start, congrats for that! :crown:</p> -<p>Today we’ll try to go a step forward and write a love letter for your future-self by adding comments on your code, rethinking about object names, investigate how we can compile chuncks of code inside functions and, finally, think about reproducible manuscripts. ### Style There are no right or wrong when it comes to style: there are best-practices and what works better for you or your project.</p> +<p>Today we’ll try to go a step forward and write a love letter for your future-self by adding comments on your code, rethinking about object names, investigate how we can compile chuncks of code inside functions and, finally, think about reproducible manuscripts. +### Style +There are no right or wrong when it comes to style: there are best-practices and what works better for you or your project.</p> <p>For example, Google has a series of style guides they use to standardize code writing in the company. There is a <a href="https://google.github.io/styleguide/Rguide.html">Google’s R Style Guide</a> and a <a href="https://style.tidyverse.org/">tydiverse style guide</a> which can be a good inspiration to find your own. Here’s an idea: create a document whre you usually store code. List all conventions you use and have never thought about <strong><em>why</em></strong> you use them and reflect if they still make sense for you. If they do, keep them. If they don’t, try to improve them. Is there any other thing you never thought it was important, but it could be? Do you have a convention for function names, for example?</p> <p><strong>Object names</strong><br /> Object names are the major source of wasted time for me, especially when the code is already super long with numerous objects. What helps is to know they should be descriptive, yet concise. A good tip is to <a href="https://style.tidyverse.org/syntax.html#object-names">name objects as nouns and functions as verbs</a>.</p> @@ -1820,7 +1878,8 @@ <h3 id="functions-and-packages">Functions and packages</h3> <p>Take a few minutes to have a look at your code now. Can you see something that could be a function?</p> </blockquote> <h2 id="reproducible-manuscripts">Reproducible manuscripts</h2> -<p>From reproducible code to reproducible manuscripts is one small leap! It means your manuscript is readable across platforms and systems, and can be compiled locally, and even be automatically updated if your data or analyses change! It doesn’t mean that the interpretation of the results will be automatically updated aswell - which seems to be a concern for some people, that argue that reproducible manuscripts turn the science activity into a mechanic thing. On the contrary: it allows you to not worry about making figures over and over again, and concentrate in the philosophical part of your science!</p> +<p>From reproducible code to reproducible manuscripts is one small leap! It means your manuscript is readable across platforms and systems, and can be compiled locally, and even be automatically updated if your data or analyses change! +It doesn’t mean that the interpretation of the results will be automatically updated aswell - which seems to be a concern for some people, that argue that reproducible manuscripts turn the science activity into a mechanic thing. On the contrary: it allows you to not worry about making figures over and over again, and concentrate in the philosophical part of your science!</p> <p>There are three basic things we need to understand to produce a reproducible academic manuscript: the <a href="https://yaml.org/">YAML</a>, the <a href="https://en.wikipedia.org/wiki/Markup_language">markup language</a> (such as Markdown) and the citation/references management.</p> <p><strong>YAML</strong> (YAML Ain’t a Markup Language - metalingustics!) is a language that defines the metadata of your document and helps in the compiling process. It tells your computer if the output you need is a <code>*.pdf</code> or a <code>*.doc</code> file, for example. A YAML block will be the first thing you’ll add on your document, and the only tricky thing is to get the indentation right.</p> <p>For example, the YAML of this very webpage looks like this:</p> @@ -1907,7 +1966,68 @@ <h2 id="suggested-reading-2">Suggested reading</h2> <h1 id="thursday---preserve-your-tools">Thursday - preserve your tools</h1> <blockquote> <h3 id="self-care-task-of-the-day-4"><strong>Self-care task of the day</strong></h3> +<p>It’s time to update all those packages (and maybe even language version) - you deserve to be able to play with the newest toys on the block. While all this is happening in the background put your feet up and hit play on the TV or podcast series you’ve been meaning to catch up on.</p> +</blockquote> +<h2 id="why-do-we-need-to-preserve-our-tools">Why do we need to preserve our tools?</h2> +<p>So you’ve commented, documented, and shared your code meaning that it’s ready to be used by the rest of the world, right? Well maybe for now but you know what they say about time - <em>all hours wound; the last one kills</em>. Okay so it might not be that dramatic but there is of course the problem that as time progresses our code becomes out-dated and (worst case scenario) non-functional. Programming languages (and packages) are continually evolving as developers work at squashing bugs and making performance upgrades. Sometimes these upgrades might result in a fundamental change in how the a language or package functions <em>e.g.</em> a function name might change or some functionality will be removed in favour of another. This means that in a few years that beautifully documented chunk of code that we’ve written today might not even run.</p> +<p>Oh dear…</p> +<center> +<p><img src="https://media.giphy.com/media/75nS8yYzKBGQXSHYG3/giphy.gif" /></p> +</center> +<p>What this boils down to is that we need to not only think about documenting the code itself but also all the ‘backend’ features that make it tick <em>i.e.</em> not only what packages we’re using but also what version. This can also extend to language and operating system (OS) type or version used.</p> +<p>Although this may seem daunting it’s important to remember that the journey to +reproducibility is much like how one approaches eating an elephant - we take +it one bit<del>e</del> at a time. So don’t be afraid to take a little nibble before biting off more than you can chew.</p> +<h2 id="how-do-we-keep-our-work-reproducible">How do we <em>keep</em> our work reproducible?</h2> +<p>The good news is that there is a lot of functionality out there to help us on our reproducibility journey. Different languages have different ways we can document and ‘keep’ the package version that we are using. The main focus will be using <code>R</code> as it is the current <em>lingua franca</em> of most ecologists and it also straddles the middle ground between being very ‘picky’ like <code>python</code> and literally having a built in system like <code>Julia</code>.</p> +<p>The big (language agnostic) take home message here though is that it’s important to (at minimum) keep record of the versions of things you used if you want your work to work a few months/years down the line. By keeping a record of the package, software and OS versions used we give other users (and our future selves) a chance to recreate the environment that allowed our project/code to run should things change or be updated.</p> +<p>The three main approaches and packages I will discuss are <code>{groundhog}</code>, <code>{renv}</code> and, <code>docker</code>. There are of course other ways to document package versions but these are (somewhat user friendly) and will give you different ‘levels’ of reproducibility. It is of course also possible to mix and match these different platforms.</p> +<h3 id="groundhog"><code>{groundhog}</code></h3> +<p><a href="http://groundhogr.com/using/"><code>{groundhog}</code></a> is a relatively new kid on the block -and apparently refers to a film of the same name (no comment on my side as this is a facet of pop culture the eludes me). This is a super easy package to implement (think one function easy) and is a really nice way to ‘retrofit’ some of your older code.</p> +<p><strong>How it works:</strong> Essentially <code>{groundhog}</code> will install the version of a package that was available on CRAN for a specified date. This is done by ‘replacing’ the <code>library("package")</code> with <code>groundhog.library("package", date)</code>. This means its easy to go back and set a more suitable date for your script e.g. maybe the date it was created or last time it was saved.</p> +<div class="layout-chunk" data-layout="l-body"> +<div class="sourceCode"> +<pre class="sourceCode r"><code class="sourceCode r"><span><span class='co'># a mini example</span></span> +<span><span class='fu'><a href='https://rdrr.io/r/utils/install.packages.html'>install.packages</a></span><span class='op'>(</span><span class='st'>"groundhog"</span><span class='op'>)</span></span> +<span><span class='kw'><a href='https://rdrr.io/r/base/library.html'>library</a></span><span class='op'>(</span><span class='st'><a href='https://groundhogr.com/'>"groundhog"</a></span><span class='op'>)</span></span> +<span><span class='fu'><a href='https://rdrr.io/pkg/groundhog/man/groundhog.library.html'>groundhog.library</a></span><span class='op'>(</span><span class='st'>"tidyverse"</span>, <span class='st'>"2018-07-07"</span><span class='op'>)</span></span> +<span></span> +<span><span class='co'># you can also call multiple packages</span></span> +<span><span class='va'>pkgs</span> <span class='op'><-</span> <span class='fu'><a href='https://rdrr.io/r/base/c.html'>c</a></span><span class='op'>(</span><span class='st'>"tidyverse"</span>,<span class='st'>"ggforce"</span><span class='op'>)</span></span> +<span><span class='fu'><a href='https://rdrr.io/pkg/groundhog/man/groundhog.library.html'>groundhog.library</a></span><span class='op'>(</span><span class='va'>pkgs</span>, <span class='st'>"2018-07-07"</span><span class='op'>)</span></span> +<span></span> +<span><span class='co'># working with an 'active' script</span></span> +<span><span class='kw'><a href='https://rdrr.io/r/base/library.html'>library</a></span><span class='op'>(</span><span class='va'><a href='https://groundhogr.com/'>groundhog</a></span><span class='op'>)</span></span> +<span><span class='va'>groundhog.day</span> <span class='op'>=</span> <span class='st'>"2021-07-07"</span></span> +<span><span class='fu'><a href='https://rdrr.io/pkg/groundhog/man/groundhog.library.html'>groundhog.library</a></span><span class='op'>(</span><span class='va'>pkgs</span>, <span class='va'>groundhog.day</span><span class='op'>)</span></span></code></pre> +</div> +</div> +<p><strong>Limitations:</strong> Although <code>{groundhog}</code> will call the correct/desired packages version there is of course the potential problem that that package version is no longer compatible with the version of <code>R</code> that you’re running on your machine — this means you might have to have multiple version of <code>R</code> on you machine and have to switch between them depending on what project you’re using. Another issue could arise when retrofitting your workflow. Although you might have a starting date/groundhog day you might not have been using the most up-to-date version available at that date - so you would be retrieving the wrong version.</p> +<p><strong>Pros:</strong> To end on a positive note though - {groundhog} is at least a solid starting point for documenting package version <em>and</em> its very easy to implement, especially if you are retrofitting your code.</p> +<h3 id="renv"><code>{renv}</code></h3> +<p>As highlighted above one of the potential issues with {groundhog} is that you might run into language version incompatibility - and by extension still have non-working code (bleak). Enter <a href="https://rstudio.github.io/renv/articles/renv.html"><code>{renv}</code></a>, a handy-dandy, easy to use, dependency management package for your projects. <code>{renv}</code> records both <code>R</code> and package versions through a series of user called functions. This is very similar to <code>Julia</code> where all packages are ‘stored’ in <code>Project.toml</code>. <code>{renv}</code> works by crawling through your project directory and recording package version and dependencies in use. This is then saved in the <code>renv.lock</code> file and is used to ‘load’ the project state further down the line.</p> +<p><strong>How it works:</strong> The bare bones overview is that you 1) initialise the project-local environment using <code>renv::init()</code>, 2) continue tinkering as you go, 3) call <code>renv::snapshot()</code> to update <code>renv.lock</code> with any new additions, and 4) if things broke along the way you can call <code>renv::restore()</code> to revert back to the previous project state you had saved in your lock file (which hopefully did run).</p> +<p><strong>Limitations:</strong> One limitation is that <code>{renv}</code> relies on you saving a <em>currently</em> working/functioning state (if you want recall it and have it to work in the future). This makes it a bit tricky to try and quickly ‘fix’ old code - something that <code>{groundhog}</code> is probably more suited for, whereas <code>{renv}</code> is a solid choice when starting a new project form scratch.</p> +<p><strong>Pros:</strong> <code>{renv}</code> saves both package and <code>R</code> versions - which is great as it ‘doubles down’ on having things work in harmony. It is also very easy to use - once again you can get away by using a few lines of code.</p> +<h3 id="docker">Docker</h3> +<p>Docker, a term that can strike trepidation in even some of the most hardened of researchers (although they have the cutest whale as a logo and that 100% drops the scary factor if you as me). Briefly Docker is a program that allows you to host different mini computers on your computer. This of course means its not just an R-specific tool but one that could probably cover a lot of reproducibility bases for most languages. But there is a reason this is last on the list and that is because it takes a bit more work to implement. So think of this as a long-term project/goal to set yourself up for.</p> +<p><strong>How it works:</strong> As I said earlier with Docker you can run multiple mini computers (containers) built from an ‘image’ of your machine (the host). The catch though - you need to build the image from scratch from OS all the way through to you specific script/code chunk. These build instructions are contained in a <code>Dockerfile</code> - which you save in your working directory. Inside this file is the ‘recipe’ for building your image (and spoiler alert it looks a lot like a series of command line calls). Colin Fay wrote <a href="https://colinfay.me/docker-r-reproducibility/">this</a> really nice blog about using docker and <code>R</code> for beginners. If your interested I suggest starting there! Alternatively <code>{renv}</code> also plays well with Docker - have a look at <a href="https://rstudio.github.io/renv/articles/docker.html">this vignette</a></p> +<p><strong>Limitations:</strong> In the context of what has been discussed in this post Docker is <em>hard</em> yo! In order to write a Docker file you will benefit a lot from being comfortable using and thinking of things in terms of command line. Since you are ‘creating’ you mini computer you need to install a lot of moving parts and components. This means you might be moving from your comfort zone when it comes to programming and could put you off trying the whole reproducibility thing all together. So set realistic expectations here and don’t be too hard on yourself!</p> +<p><strong>Pros:</strong> Docker is very flexible! You can build your mini computer to your specifications and keep your ‘normal computer’ intact. For example if I am running MacOS, <code>R</code> 3.5 on my normal computer but can build an image that runs Linux and <code>R</code> 3.1. Also because the recipe is contained in the <code>Dockerfile</code> anyone can build the image for that project on their machine and have it all ‘just’ work (avoiding the whole ‘but it works on my machine’ scenario).</p> +<h2 id="closing-thoughts">Closing thoughts</h2> +<p>If you want to keep your project pipeline working in the long-term it is important to account for the fact that languages are evolving - which means the scaffold on which your code rests also needs to be documented in some way. That being said asking yourself as to how <em>paramount</em> the longevity of your project is a good way to identify and allocate resources to documenting and accommodating for this. For smaller projects you could probably get away with a simple documentation process e.g. <code>Julia</code>’s <code>Project.toml</code> system or <code>{renv}</code> for <code>R</code>. But if the longevity of the project is of high importance it’s probably recommended to give something like Docker a try.</p> +<p>Now lets get out there and give package management a go!</p> +<blockquote> +<p>Pick and choose the task(s) that you want to take on (or remix one of them) +1. Open one of the older projects on you computer. Does the code run? If no see if you can retrofit it using {groundhog} +2. Open the (or one of many) project you are currently working on and run <code>renv::init()</code> and see what happens +3. Install Docker and work through <a href="https://colinfay.me/docker-r-reproducibility/">Colin Fay’s tutorial</a></p> +</blockquote> +<center> +<p><img src="https://media.giphy.com/media/aBv5IC7zFOFjVVVs7I/giphy.gif" /></p> +</center> <h1 id="friday---automate-your-workflows">Friday - automate your workflows</h1> +<blockquote> <h3 id="self-care-task-of-the-day-5"><strong>Self-care task of the day</strong></h3> </blockquote> <h1 id="saturday---reproducible-challange">Saturday - reproducible challange</h1> diff --git a/_posts/2021-06-13-unreproducibility-detox/unreproducibility-detox_files/anchor-4.2.2/anchor.min.js b/_posts/2021-06-13-unreproducibility-detox/unreproducibility-detox_files/anchor-4.2.2/anchor.min.js index 26908ec..1342f5f 100644 --- a/_posts/2021-06-13-unreproducibility-detox/unreproducibility-detox_files/anchor-4.2.2/anchor.min.js +++ b/_posts/2021-06-13-unreproducibility-detox/unreproducibility-detox_files/anchor-4.2.2/anchor.min.js @@ -1,9 +1,9 @@ -// @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt Expat -// -// AnchorJS - v4.2.2 - 2019-11-14 -// https://www.bryanbraun.com/anchorjs/ -// Copyright (c) 2019 Bryan Braun; Licensed MIT -// -// @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt Expat -!function(A,e){"use strict";"function"==typeof define&&define.amd?define([],e):"object"==typeof module&&module.exports?module.exports=e():(A.AnchorJS=e(),A.anchors=new A.AnchorJS)}(this,function(){"use strict";return function(A){function f(A){A.icon=A.hasOwnProperty("icon")?A.icon:"",A.visible=A.hasOwnProperty("visible")?A.visible:"hover",A.placement=A.hasOwnProperty("placement")?A.placement:"right",A.ariaLabel=A.hasOwnProperty("ariaLabel")?A.ariaLabel:"Anchor",A.class=A.hasOwnProperty("class")?A.class:"",A.base=A.hasOwnProperty("base")?A.base:"",A.truncate=A.hasOwnProperty("truncate")?Math.floor(A.truncate):64,A.titleText=A.hasOwnProperty("titleText")?A.titleText:""}function p(A){var e;if("string"==typeof A||A instanceof String)e=[].slice.call(document.querySelectorAll(A));else{if(!(Array.isArray(A)||A instanceof NodeList))throw new Error("The selector provided to AnchorJS was invalid.");e=[].slice.call(A)}return e}this.options=A||{},this.elements=[],f(this.options),this.isTouchDevice=function(){return!!("ontouchstart"in window||window.DocumentTouch&&document instanceof DocumentTouch)},this.add=function(A){var e,t,i,n,o,s,a,r,c,h,l,u,d=[];if(f(this.options),"touch"===(l=this.options.visible)&&(l=this.isTouchDevice()?"always":"hover"),0===(e=p(A=A||"h2, h3, h4, h5, h6")).length)return this;for(!function(){if(null!==document.head.querySelector("style.anchorjs"))return;var A,e=document.createElement("style");e.className="anchorjs",e.appendChild(document.createTextNode("")),void 0===(A=document.head.querySelector('[rel="stylesheet"], style'))?document.head.appendChild(e):document.head.insertBefore(e,A);e.sheet.insertRule(" .anchorjs-link { opacity: 0; text-decoration: none; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; }",e.sheet.cssRules.length),e.sheet.insertRule(" *:hover > .anchorjs-link, .anchorjs-link:focus { opacity: 1; }",e.sheet.cssRules.length),e.sheet.insertRule(" [data-anchorjs-icon]::after { content: attr(data-anchorjs-icon); }",e.sheet.cssRules.length),e.sheet.insertRule(' @font-face { font-family: "anchorjs-icons"; src: url(data:n/a;base64,AAEAAAALAIAAAwAwT1MvMg8yG2cAAAE4AAAAYGNtYXDp3gC3AAABpAAAAExnYXNwAAAAEAAAA9wAAAAIZ2x5ZlQCcfwAAAH4AAABCGhlYWQHFvHyAAAAvAAAADZoaGVhBnACFwAAAPQAAAAkaG10eASAADEAAAGYAAAADGxvY2EACACEAAAB8AAAAAhtYXhwAAYAVwAAARgAAAAgbmFtZQGOH9cAAAMAAAAAunBvc3QAAwAAAAADvAAAACAAAQAAAAEAAHzE2p9fDzz1AAkEAAAAAADRecUWAAAAANQA6R8AAAAAAoACwAAAAAgAAgAAAAAAAAABAAADwP/AAAACgAAA/9MCrQABAAAAAAAAAAAAAAAAAAAAAwABAAAAAwBVAAIAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAMCQAGQAAUAAAKZAswAAACPApkCzAAAAesAMwEJAAAAAAAAAAAAAAAAAAAAARAAAAAAAAAAAAAAAAAAAAAAQAAg//0DwP/AAEADwABAAAAAAQAAAAAAAAAAAAAAIAAAAAAAAAIAAAACgAAxAAAAAwAAAAMAAAAcAAEAAwAAABwAAwABAAAAHAAEADAAAAAIAAgAAgAAACDpy//9//8AAAAg6cv//f///+EWNwADAAEAAAAAAAAAAAAAAAAACACEAAEAAAAAAAAAAAAAAAAxAAACAAQARAKAAsAAKwBUAAABIiYnJjQ3NzY2MzIWFxYUBwcGIicmNDc3NjQnJiYjIgYHBwYUFxYUBwYGIwciJicmNDc3NjIXFhQHBwYUFxYWMzI2Nzc2NCcmNDc2MhcWFAcHBgYjARQGDAUtLXoWOR8fORYtLTgKGwoKCjgaGg0gEhIgDXoaGgkJBQwHdR85Fi0tOAobCgoKOBoaDSASEiANehoaCQkKGwotLXoWOR8BMwUFLYEuehYXFxYugC44CQkKGwo4GkoaDQ0NDXoaShoKGwoFBe8XFi6ALjgJCQobCjgaShoNDQ0NehpKGgobCgoKLYEuehYXAAAADACWAAEAAAAAAAEACAAAAAEAAAAAAAIAAwAIAAEAAAAAAAMACAAAAAEAAAAAAAQACAAAAAEAAAAAAAUAAQALAAEAAAAAAAYACAAAAAMAAQQJAAEAEAAMAAMAAQQJAAIABgAcAAMAAQQJAAMAEAAMAAMAAQQJAAQAEAAMAAMAAQQJAAUAAgAiAAMAAQQJAAYAEAAMYW5jaG9yanM0MDBAAGEAbgBjAGgAbwByAGoAcwA0ADAAMABAAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAH//wAP) format("truetype"); }',e.sheet.cssRules.length)}(),t=document.querySelectorAll("[id]"),i=[].map.call(t,function(A){return A.id}),o=0;o<e.length;o++)if(this.hasAnchorJSLink(e[o]))d.push(o);else{if(e[o].hasAttribute("id"))n=e[o].getAttribute("id");else if(e[o].hasAttribute("data-anchor-id"))n=e[o].getAttribute("data-anchor-id");else{for(c=r=this.urlify(e[o].textContent),a=0;void 0!==s&&(c=r+"-"+a),a+=1,-1!==(s=i.indexOf(c)););s=void 0,i.push(c),e[o].setAttribute("id",c),n=c}(h=document.createElement("a")).className="anchorjs-link "+this.options.class,h.setAttribute("aria-label",this.options.ariaLabel),h.setAttribute("data-anchorjs-icon",this.options.icon),this.options.titleText&&(h.title=this.options.titleText),u=document.querySelector("base")?window.location.pathname+window.location.search:"",u=this.options.base||u,h.href=u+"#"+n,"always"===l&&(h.style.opacity="1"),""===this.options.icon&&(h.style.font="1em/1 anchorjs-icons","left"===this.options.placement&&(h.style.lineHeight="inherit")),"left"===this.options.placement?(h.style.position="absolute",h.style.marginLeft="-1em",h.style.paddingRight="0.5em",e[o].insertBefore(h,e[o].firstChild)):(h.style.paddingLeft="0.375em",e[o].appendChild(h))}for(o=0;o<d.length;o++)e.splice(d[o]-o,1);return this.elements=this.elements.concat(e),this},this.remove=function(A){for(var e,t,i=p(A),n=0;n<i.length;n++)(t=i[n].querySelector(".anchorjs-link"))&&(-1!==(e=this.elements.indexOf(i[n]))&&this.elements.splice(e,1),i[n].removeChild(t));return this},this.removeAll=function(){this.remove(this.elements)},this.urlify=function(A){return this.options.truncate||f(this.options),A.trim().replace(/\'/gi,"").replace(/[& +$,:;=?@"#{}|^~[`%!'<>\]\.\/\(\)\*\\\n\t\b\v]/g,"-").replace(/-{2,}/g,"-").substring(0,this.options.truncate).replace(/^-+|-+$/gm,"").toLowerCase()},this.hasAnchorJSLink=function(A){var e=A.firstChild&&-1<(" "+A.firstChild.className+" ").indexOf(" anchorjs-link "),t=A.lastChild&&-1<(" "+A.lastChild.className+" ").indexOf(" anchorjs-link ");return e||t||!1}}}); +// @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt Expat +// +// AnchorJS - v4.2.2 - 2019-11-14 +// https://www.bryanbraun.com/anchorjs/ +// Copyright (c) 2019 Bryan Braun; Licensed MIT +// +// @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt Expat +!function(A,e){"use strict";"function"==typeof define&&define.amd?define([],e):"object"==typeof module&&module.exports?module.exports=e():(A.AnchorJS=e(),A.anchors=new A.AnchorJS)}(this,function(){"use strict";return function(A){function f(A){A.icon=A.hasOwnProperty("icon")?A.icon:"",A.visible=A.hasOwnProperty("visible")?A.visible:"hover",A.placement=A.hasOwnProperty("placement")?A.placement:"right",A.ariaLabel=A.hasOwnProperty("ariaLabel")?A.ariaLabel:"Anchor",A.class=A.hasOwnProperty("class")?A.class:"",A.base=A.hasOwnProperty("base")?A.base:"",A.truncate=A.hasOwnProperty("truncate")?Math.floor(A.truncate):64,A.titleText=A.hasOwnProperty("titleText")?A.titleText:""}function p(A){var e;if("string"==typeof A||A instanceof String)e=[].slice.call(document.querySelectorAll(A));else{if(!(Array.isArray(A)||A instanceof NodeList))throw new Error("The selector provided to AnchorJS was invalid.");e=[].slice.call(A)}return e}this.options=A||{},this.elements=[],f(this.options),this.isTouchDevice=function(){return!!("ontouchstart"in window||window.DocumentTouch&&document instanceof DocumentTouch)},this.add=function(A){var e,t,i,n,o,s,a,r,c,h,l,u,d=[];if(f(this.options),"touch"===(l=this.options.visible)&&(l=this.isTouchDevice()?"always":"hover"),0===(e=p(A=A||"h2, h3, h4, h5, h6")).length)return this;for(!function(){if(null!==document.head.querySelector("style.anchorjs"))return;var A,e=document.createElement("style");e.className="anchorjs",e.appendChild(document.createTextNode("")),void 0===(A=document.head.querySelector('[rel="stylesheet"], style'))?document.head.appendChild(e):document.head.insertBefore(e,A);e.sheet.insertRule(" .anchorjs-link { opacity: 0; text-decoration: none; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; }",e.sheet.cssRules.length),e.sheet.insertRule(" *:hover > .anchorjs-link, .anchorjs-link:focus { opacity: 1; }",e.sheet.cssRules.length),e.sheet.insertRule(" [data-anchorjs-icon]::after { content: attr(data-anchorjs-icon); }",e.sheet.cssRules.length),e.sheet.insertRule(' @font-face { font-family: "anchorjs-icons"; src: url(data:n/a;base64,AAEAAAALAIAAAwAwT1MvMg8yG2cAAAE4AAAAYGNtYXDp3gC3AAABpAAAAExnYXNwAAAAEAAAA9wAAAAIZ2x5ZlQCcfwAAAH4AAABCGhlYWQHFvHyAAAAvAAAADZoaGVhBnACFwAAAPQAAAAkaG10eASAADEAAAGYAAAADGxvY2EACACEAAAB8AAAAAhtYXhwAAYAVwAAARgAAAAgbmFtZQGOH9cAAAMAAAAAunBvc3QAAwAAAAADvAAAACAAAQAAAAEAAHzE2p9fDzz1AAkEAAAAAADRecUWAAAAANQA6R8AAAAAAoACwAAAAAgAAgAAAAAAAAABAAADwP/AAAACgAAA/9MCrQABAAAAAAAAAAAAAAAAAAAAAwABAAAAAwBVAAIAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAMCQAGQAAUAAAKZAswAAACPApkCzAAAAesAMwEJAAAAAAAAAAAAAAAAAAAAARAAAAAAAAAAAAAAAAAAAAAAQAAg//0DwP/AAEADwABAAAAAAQAAAAAAAAAAAAAAIAAAAAAAAAIAAAACgAAxAAAAAwAAAAMAAAAcAAEAAwAAABwAAwABAAAAHAAEADAAAAAIAAgAAgAAACDpy//9//8AAAAg6cv//f///+EWNwADAAEAAAAAAAAAAAAAAAAACACEAAEAAAAAAAAAAAAAAAAxAAACAAQARAKAAsAAKwBUAAABIiYnJjQ3NzY2MzIWFxYUBwcGIicmNDc3NjQnJiYjIgYHBwYUFxYUBwYGIwciJicmNDc3NjIXFhQHBwYUFxYWMzI2Nzc2NCcmNDc2MhcWFAcHBgYjARQGDAUtLXoWOR8fORYtLTgKGwoKCjgaGg0gEhIgDXoaGgkJBQwHdR85Fi0tOAobCgoKOBoaDSASEiANehoaCQkKGwotLXoWOR8BMwUFLYEuehYXFxYugC44CQkKGwo4GkoaDQ0NDXoaShoKGwoFBe8XFi6ALjgJCQobCjgaShoNDQ0NehpKGgobCgoKLYEuehYXAAAADACWAAEAAAAAAAEACAAAAAEAAAAAAAIAAwAIAAEAAAAAAAMACAAAAAEAAAAAAAQACAAAAAEAAAAAAAUAAQALAAEAAAAAAAYACAAAAAMAAQQJAAEAEAAMAAMAAQQJAAIABgAcAAMAAQQJAAMAEAAMAAMAAQQJAAQAEAAMAAMAAQQJAAUAAgAiAAMAAQQJAAYAEAAMYW5jaG9yanM0MDBAAGEAbgBjAGgAbwByAGoAcwA0ADAAMABAAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAH//wAP) format("truetype"); }',e.sheet.cssRules.length)}(),t=document.querySelectorAll("[id]"),i=[].map.call(t,function(A){return A.id}),o=0;o<e.length;o++)if(this.hasAnchorJSLink(e[o]))d.push(o);else{if(e[o].hasAttribute("id"))n=e[o].getAttribute("id");else if(e[o].hasAttribute("data-anchor-id"))n=e[o].getAttribute("data-anchor-id");else{for(c=r=this.urlify(e[o].textContent),a=0;void 0!==s&&(c=r+"-"+a),a+=1,-1!==(s=i.indexOf(c)););s=void 0,i.push(c),e[o].setAttribute("id",c),n=c}(h=document.createElement("a")).className="anchorjs-link "+this.options.class,h.setAttribute("aria-label",this.options.ariaLabel),h.setAttribute("data-anchorjs-icon",this.options.icon),this.options.titleText&&(h.title=this.options.titleText),u=document.querySelector("base")?window.location.pathname+window.location.search:"",u=this.options.base||u,h.href=u+"#"+n,"always"===l&&(h.style.opacity="1"),""===this.options.icon&&(h.style.font="1em/1 anchorjs-icons","left"===this.options.placement&&(h.style.lineHeight="inherit")),"left"===this.options.placement?(h.style.position="absolute",h.style.marginLeft="-1em",h.style.paddingRight="0.5em",e[o].insertBefore(h,e[o].firstChild)):(h.style.paddingLeft="0.375em",e[o].appendChild(h))}for(o=0;o<d.length;o++)e.splice(d[o]-o,1);return this.elements=this.elements.concat(e),this},this.remove=function(A){for(var e,t,i=p(A),n=0;n<i.length;n++)(t=i[n].querySelector(".anchorjs-link"))&&(-1!==(e=this.elements.indexOf(i[n]))&&this.elements.splice(e,1),i[n].removeChild(t));return this},this.removeAll=function(){this.remove(this.elements)},this.urlify=function(A){return this.options.truncate||f(this.options),A.trim().replace(/\'/gi,"").replace(/[& +$,:;=?@"#{}|^~[`%!'<>\]\.\/\(\)\*\\\n\t\b\v]/g,"-").replace(/-{2,}/g,"-").substring(0,this.options.truncate).replace(/^-+|-+$/gm,"").toLowerCase()},this.hasAnchorJSLink=function(A){var e=A.firstChild&&-1<(" "+A.firstChild.className+" ").indexOf(" anchorjs-link "),t=A.lastChild&&-1<(" "+A.lastChild.className+" ").indexOf(" anchorjs-link ");return e||t||!1}}}); // @license-end \ No newline at end of file diff --git a/_posts/2021-06-13-unreproducibility-detox/unreproducibility-detox_files/bowser-1.9.3/bowser.min.js b/_posts/2021-06-13-unreproducibility-detox/unreproducibility-detox_files/bowser-1.9.3/bowser.min.js index 5866337..3da6104 100644 --- a/_posts/2021-06-13-unreproducibility-detox/unreproducibility-detox_files/bowser-1.9.3/bowser.min.js +++ b/_posts/2021-06-13-unreproducibility-detox/unreproducibility-detox_files/bowser-1.9.3/bowser.min.js @@ -1,6 +1,6 @@ -/*! - * Bowser - a browser detector - * https://github.com/ded/bowser - * MIT License | (c) Dustin Diaz 2015 - */ +/*! + * Bowser - a browser detector + * https://github.com/ded/bowser + * MIT License | (c) Dustin Diaz 2015 + */ !function(e,t,n){typeof module!="undefined"&&module.exports?module.exports=n():typeof define=="function"&&define.amd?define(t,n):e[t]=n()}(this,"bowser",function(){function t(t){function n(e){var n=t.match(e);return n&&n.length>1&&n[1]||""}function r(e){var n=t.match(e);return n&&n.length>1&&n[2]||""}function N(e){switch(e){case"NT":return"NT";case"XP":return"XP";case"NT 5.0":return"2000";case"NT 5.1":return"XP";case"NT 5.2":return"2003";case"NT 6.0":return"Vista";case"NT 6.1":return"7";case"NT 6.2":return"8";case"NT 6.3":return"8.1";case"NT 10.0":return"10";default:return undefined}}var i=n(/(ipod|iphone|ipad)/i).toLowerCase(),s=/like android/i.test(t),o=!s&&/android/i.test(t),u=/nexus\s*[0-6]\s*/i.test(t),a=!u&&/nexus\s*[0-9]+/i.test(t),f=/CrOS/.test(t),l=/silk/i.test(t),c=/sailfish/i.test(t),h=/tizen/i.test(t),p=/(web|hpw)os/i.test(t),d=/windows phone/i.test(t),v=/SamsungBrowser/i.test(t),m=!d&&/windows/i.test(t),g=!i&&!l&&/macintosh/i.test(t),y=!o&&!c&&!h&&!p&&/linux/i.test(t),b=r(/edg([ea]|ios)\/(\d+(\.\d+)?)/i),w=n(/version\/(\d+(\.\d+)?)/i),E=/tablet/i.test(t)&&!/tablet pc/i.test(t),S=!E&&/[^-]mobi/i.test(t),x=/xbox/i.test(t),T;/opera/i.test(t)?T={name:"Opera",opera:e,version:w||n(/(?:opera|opr|opios)[\s\/](\d+(\.\d+)?)/i)}:/opr\/|opios/i.test(t)?T={name:"Opera",opera:e,version:n(/(?:opr|opios)[\s\/](\d+(\.\d+)?)/i)||w}:/SamsungBrowser/i.test(t)?T={name:"Samsung Internet for Android",samsungBrowser:e,version:w||n(/(?:SamsungBrowser)[\s\/](\d+(\.\d+)?)/i)}:/coast/i.test(t)?T={name:"Opera Coast",coast:e,version:w||n(/(?:coast)[\s\/](\d+(\.\d+)?)/i)}:/yabrowser/i.test(t)?T={name:"Yandex Browser",yandexbrowser:e,version:w||n(/(?:yabrowser)[\s\/](\d+(\.\d+)?)/i)}:/ucbrowser/i.test(t)?T={name:"UC Browser",ucbrowser:e,version:n(/(?:ucbrowser)[\s\/](\d+(?:\.\d+)+)/i)}:/mxios/i.test(t)?T={name:"Maxthon",maxthon:e,version:n(/(?:mxios)[\s\/](\d+(?:\.\d+)+)/i)}:/epiphany/i.test(t)?T={name:"Epiphany",epiphany:e,version:n(/(?:epiphany)[\s\/](\d+(?:\.\d+)+)/i)}:/puffin/i.test(t)?T={name:"Puffin",puffin:e,version:n(/(?:puffin)[\s\/](\d+(?:\.\d+)?)/i)}:/sleipnir/i.test(t)?T={name:"Sleipnir",sleipnir:e,version:n(/(?:sleipnir)[\s\/](\d+(?:\.\d+)+)/i)}:/k-meleon/i.test(t)?T={name:"K-Meleon",kMeleon:e,version:n(/(?:k-meleon)[\s\/](\d+(?:\.\d+)+)/i)}:d?(T={name:"Windows Phone",osname:"Windows Phone",windowsphone:e},b?(T.msedge=e,T.version=b):(T.msie=e,T.version=n(/iemobile\/(\d+(\.\d+)?)/i))):/msie|trident/i.test(t)?T={name:"Internet Explorer",msie:e,version:n(/(?:msie |rv:)(\d+(\.\d+)?)/i)}:f?T={name:"Chrome",osname:"Chrome OS",chromeos:e,chromeBook:e,chrome:e,version:n(/(?:chrome|crios|crmo)\/(\d+(\.\d+)?)/i)}:/edg([ea]|ios)/i.test(t)?T={name:"Microsoft Edge",msedge:e,version:b}:/vivaldi/i.test(t)?T={name:"Vivaldi",vivaldi:e,version:n(/vivaldi\/(\d+(\.\d+)?)/i)||w}:c?T={name:"Sailfish",osname:"Sailfish OS",sailfish:e,version:n(/sailfish\s?browser\/(\d+(\.\d+)?)/i)}:/seamonkey\//i.test(t)?T={name:"SeaMonkey",seamonkey:e,version:n(/seamonkey\/(\d+(\.\d+)?)/i)}:/firefox|iceweasel|fxios/i.test(t)?(T={name:"Firefox",firefox:e,version:n(/(?:firefox|iceweasel|fxios)[ \/](\d+(\.\d+)?)/i)},/\((mobile|tablet);[^\)]*rv:[\d\.]+\)/i.test(t)&&(T.firefoxos=e,T.osname="Firefox OS")):l?T={name:"Amazon Silk",silk:e,version:n(/silk\/(\d+(\.\d+)?)/i)}:/phantom/i.test(t)?T={name:"PhantomJS",phantom:e,version:n(/phantomjs\/(\d+(\.\d+)?)/i)}:/slimerjs/i.test(t)?T={name:"SlimerJS",slimer:e,version:n(/slimerjs\/(\d+(\.\d+)?)/i)}:/blackberry|\bbb\d+/i.test(t)||/rim\stablet/i.test(t)?T={name:"BlackBerry",osname:"BlackBerry OS",blackberry:e,version:w||n(/blackberry[\d]+\/(\d+(\.\d+)?)/i)}:p?(T={name:"WebOS",osname:"WebOS",webos:e,version:w||n(/w(?:eb)?osbrowser\/(\d+(\.\d+)?)/i)},/touchpad\//i.test(t)&&(T.touchpad=e)):/bada/i.test(t)?T={name:"Bada",osname:"Bada",bada:e,version:n(/dolfin\/(\d+(\.\d+)?)/i)}:h?T={name:"Tizen",osname:"Tizen",tizen:e,version:n(/(?:tizen\s?)?browser\/(\d+(\.\d+)?)/i)||w}:/qupzilla/i.test(t)?T={name:"QupZilla",qupzilla:e,version:n(/(?:qupzilla)[\s\/](\d+(?:\.\d+)+)/i)||w}:/chromium/i.test(t)?T={name:"Chromium",chromium:e,version:n(/(?:chromium)[\s\/](\d+(?:\.\d+)?)/i)||w}:/chrome|crios|crmo/i.test(t)?T={name:"Chrome",chrome:e,version:n(/(?:chrome|crios|crmo)\/(\d+(\.\d+)?)/i)}:o?T={name:"Android",version:w}:/safari|applewebkit/i.test(t)?(T={name:"Safari",safari:e},w&&(T.version=w)):i?(T={name:i=="iphone"?"iPhone":i=="ipad"?"iPad":"iPod"},w&&(T.version=w)):/googlebot/i.test(t)?T={name:"Googlebot",googlebot:e,version:n(/googlebot\/(\d+(\.\d+))/i)||w}:T={name:n(/^(.*)\/(.*) /),version:r(/^(.*)\/(.*) /)},!T.msedge&&/(apple)?webkit/i.test(t)?(/(apple)?webkit\/537\.36/i.test(t)?(T.name=T.name||"Blink",T.blink=e):(T.name=T.name||"Webkit",T.webkit=e),!T.version&&w&&(T.version=w)):!T.opera&&/gecko\//i.test(t)&&(T.name=T.name||"Gecko",T.gecko=e,T.version=T.version||n(/gecko\/(\d+(\.\d+)?)/i)),!T.windowsphone&&(o||T.silk)?(T.android=e,T.osname="Android"):!T.windowsphone&&i?(T[i]=e,T.ios=e,T.osname="iOS"):g?(T.mac=e,T.osname="macOS"):x?(T.xbox=e,T.osname="Xbox"):m?(T.windows=e,T.osname="Windows"):y&&(T.linux=e,T.osname="Linux");var C="";T.windows?C=N(n(/Windows ((NT|XP)( \d\d?.\d)?)/i)):T.windowsphone?C=n(/windows phone (?:os)?\s?(\d+(\.\d+)*)/i):T.mac?(C=n(/Mac OS X (\d+([_\.\s]\d+)*)/i),C=C.replace(/[_\s]/g,".")):i?(C=n(/os (\d+([_\s]\d+)*) like mac os x/i),C=C.replace(/[_\s]/g,".")):o?C=n(/android[ \/-](\d+(\.\d+)*)/i):T.webos?C=n(/(?:web|hpw)os\/(\d+(\.\d+)*)/i):T.blackberry?C=n(/rim\stablet\sos\s(\d+(\.\d+)*)/i):T.bada?C=n(/bada\/(\d+(\.\d+)*)/i):T.tizen&&(C=n(/tizen[\/\s](\d+(\.\d+)*)/i)),C&&(T.osversion=C);var k=!T.windows&&C.split(".")[0];if(E||a||i=="ipad"||o&&(k==3||k>=4&&!S)||T.silk)T.tablet=e;else if(S||i=="iphone"||i=="ipod"||o||u||T.blackberry||T.webos||T.bada)T.mobile=e;return T.msedge||T.msie&&T.version>=10||T.yandexbrowser&&T.version>=15||T.vivaldi&&T.version>=1||T.chrome&&T.version>=20||T.samsungBrowser&&T.version>=4||T.firefox&&T.version>=20||T.safari&&T.version>=6||T.opera&&T.version>=10||T.ios&&T.osversion&&T.osversion.split(".")[0]>=6||T.blackberry&&T.version>=10.1||T.chromium&&T.version>=20?T.a=e:T.msie&&T.version<10||T.chrome&&T.version<20||T.firefox&&T.version<20||T.safari&&T.version<6||T.opera&&T.version<10||T.ios&&T.osversion&&T.osversion.split(".")[0]<6||T.chromium&&T.version<20?T.c=e:T.x=e,T}function r(e){return e.split(".").length}function i(e,t){var n=[],r;if(Array.prototype.map)return Array.prototype.map.call(e,t);for(r=0;r<e.length;r++)n.push(t(e[r]));return n}function s(e){var t=Math.max(r(e[0]),r(e[1])),n=i(e,function(e){var n=t-r(e);return e+=(new Array(n+1)).join(".0"),i(e.split("."),function(e){return(new Array(20-e.length)).join("0")+e}).reverse()});while(--t>=0){if(n[0][t]>n[1][t])return 1;if(n[0][t]!==n[1][t])return-1;if(t===0)return 0}}function o(e,r,i){var o=n;typeof r=="string"&&(i=r,r=void 0),r===void 0&&(r=!1),i&&(o=t(i));var u=""+o.version;for(var a in e)if(e.hasOwnProperty(a)&&o[a]){if(typeof e[a]!="string")throw new Error("Browser version in the minVersion map should be a string: "+a+": "+String(e));return s([u,e[a]])<0}return r}function u(e,t,n){return!o(e,t,n)}var e=!0,n=t(typeof navigator!="undefined"?navigator.userAgent||"":"");return n.test=function(e){for(var t=0;t<e.length;++t){var r=e[t];if(typeof r=="string"&&r in n)return!0}return!1},n.isUnsupportedBrowser=o,n.compareVersions=s,n.check=u,n._detect=t,n.detect=t,n}) \ No newline at end of file diff --git a/_posts/2021-06-13-unreproducibility-detox/unreproducibility-detox_files/distill-2.2.21/template.v2.js b/_posts/2021-06-13-unreproducibility-detox/unreproducibility-detox_files/distill-2.2.21/template.v2.js index 3ef99a7..01a5319 100644 --- a/_posts/2021-06-13-unreproducibility-detox/unreproducibility-detox_files/distill-2.2.21/template.v2.js +++ b/_posts/2021-06-13-unreproducibility-detox/unreproducibility-detox_files/distill-2.2.21/template.v2.js @@ -1,744 +1,744 @@ -function load_distill_framework() { -(function(e,t){'object'==typeof exports&&'undefined'!=typeof module?t():'function'==typeof define&&define.amd?define(t):t()})(this,function(){'use strict';function e(e,t){e.title=t.title,t.published&&(t.published instanceof Date?e.publishedDate=t.published:t.published.constructor===String&&(e.publishedDate=new Date(t.published))),t.publishedDate&&(t.publishedDate instanceof Date?e.publishedDate=t.publishedDate:t.publishedDate.constructor===String?e.publishedDate=new Date(t.publishedDate):console.error('Don\'t know what to do with published date: '+t.publishedDate)),e.description=t.description,e.authors=t.authors.map((e)=>new Qn(e)),e.katex=t.katex,e.password=t.password}function t(e=document){const t=new Set,n=e.querySelectorAll('d-cite');for(const i of n){const e=i.getAttribute('key').split(',');for(const n of e)t.add(n)}return[...t]}function n(e,t,n,i){if(null==e.author)return'';var a=e.author.split(' and ');let d=a.map((e)=>{if(e=e.trim(),e.match(/\{.+\}/)){var n=/\{([^}]+)\}/,i=n.exec(e);return i[1]}if(-1!=e.indexOf(','))var a=e.split(',')[0].trim(),d=e.split(',')[1];else var a=e.split(' ').slice(-1)[0].trim(),d=e.split(' ').slice(0,-1).join(' ');var r='';return void 0!=d&&(r=d.trim().split(' ').map((e)=>e.trim()[0]),r=r.join('.')+'.'),t.replace('${F}',d).replace('${L}',a).replace('${I}',r)});if(1<a.length){var r=d.slice(0,a.length-1).join(n);return r+=(i||n)+d[a.length-1],r}return d[0]}function i(e){var t=e.journal||e.booktitle||'';if('volume'in e){var n=e.issue||e.number;n=void 0==n?'':'('+n+')',t+=', Vol '+e.volume+n}return'pages'in e&&(t+=', pp. '+e.pages),''!=t&&(t+='. '),'publisher'in e&&(t+=e.publisher,'.'!=t[t.length-1]&&(t+='.')),t}function a(e){if('url'in e){var t=e.url,n=/arxiv\.org\/abs\/([0-9\.]*)/.exec(t);if(null!=n&&(t=`http://arxiv.org/pdf/${n[1]}.pdf`),'.pdf'==t.slice(-4))var i='PDF';else if('.html'==t.slice(-5))var i='HTML';return`  <a href="${t}">[${i||'link'}]</a>`}return''}function d(e,t){return'doi'in e?`${t?'<br>':''} <a href="https://doi.org/${e.doi}" style="text-decoration:inherit;">DOI: ${e.doi}</a>`:''}function r(e){return'<span class="title">'+e.title+'</span> '}function o(e){if(e){var t=r(e);return t+=a(e)+'<br>',e.author&&(t+=n(e,'${L}, ${I}',', ',' and '),(e.year||e.date)&&(t+=', ')),t+=e.year||e.date?(e.year||e.date)+'. ':'. ',t+=i(e),t+=d(e),t}return'?'}function l(e){if(e){var t='';t+='<strong>'+e.title+'</strong>',t+=a(e),t+='<br>';var r=n(e,'${I} ${L}',', ')+'.',o=i(e).trim()+' '+e.year+'. '+d(e,!0);return t+=(r+o).length<Hn(40,e.title.length)?r+' '+o:r+'<br>'+o,t}return'?'}function s(e){for(let t of e.authors){const e=!!t.affiliation,n=!!t.affiliations;if(e)if(n)console.warn(`Author ${t.author} has both old-style ("affiliation" & "affiliationURL") and new style ("affiliations") affiliation information!`);else{let e={name:t.affiliation};t.affiliationURL&&(e.url=t.affiliationURL),t.affiliations=[e]}}return console.log(e),e}function c(e){const t=e.querySelector('script');if(t){const e=t.getAttribute('type');if('json'==e.split('/')[1]){const e=t.textContent,n=JSON.parse(e);return s(n)}console.error('Distill only supports JSON frontmatter tags anymore; no more YAML.')}else console.error('You added a frontmatter tag but did not provide a script tag with front matter data in it. Please take a look at our templates.');return{}}function u(){return-1!==['interactive','complete'].indexOf(document.readyState)}function p(e){const t='distill-prerendered-styles',n=e.getElementById(t);if(!n){const n=e.createElement('style');n.id=t,n.type='text/css';const i=e.createTextNode(bi);n.appendChild(i);const a=e.head.querySelector('script');e.head.insertBefore(n,a)}}function g(e,t){console.info('Runlevel 0: Polyfill required: '+e.name);const n=document.createElement('script');n.src=e.url,n.async=!1,t&&(n.onload=function(){t(e)}),n.onerror=function(){new Error('Runlevel 0: Polyfills failed to load script '+e.name)},document.head.appendChild(n)}function f(e,t){return t={exports:{}},e(t,t.exports),t.exports}function h(e){return e.replace(/[\t\n ]+/g,' ').replace(/{\\["^`.'acu~Hvs]( )?([a-zA-Z])}/g,(e,t,n)=>n).replace(/{\\([a-zA-Z])}/g,(e,t)=>t)}function b(e){const t=new Map,n=_i.toJSON(e);for(const i of n){for(const[e,t]of Object.entries(i.entryTags))i.entryTags[e.toLowerCase()]=h(t);i.entryTags.type=i.entryType,t.set(i.citationKey,i.entryTags)}return t}function m(e){return`@article{${e.slug}, - author = {${e.bibtexAuthors}}, - title = {${e.title}}, - journal = {${e.journal.title}}, - year = {${e.publishedYear}}, - note = {${e.url}}, - doi = {${e.doi}} -}`}function y(e){return` - <div class="byline grid"> - <div class="authors-affiliations grid"> - <h3>Authors</h3> - <h3>Affiliations</h3> - ${e.authors.map((e)=>` - <p class="author"> - ${e.personalURL?` - <a class="name" href="${e.personalURL}">${e.name}</a>`:` - <span class="name">${e.name}</span>`} - </p> - <p class="affiliation"> - ${e.affiliations.map((e)=>e.url?`<a class="affiliation" href="${e.url}">${e.name}</a>`:`<span class="affiliation">${e.name}</span>`).join(', ')} - </p> - `).join('')} - </div> - <div> - <h3>Published</h3> - ${e.publishedDate?` - <p>${e.publishedMonth} ${e.publishedDay}, ${e.publishedYear}</p> `:` - <p><em>Not published yet.</em></p>`} - </div> - <div> - <h3>DOI</h3> - ${e.doi?` - <p><a href="https://doi.org/${e.doi}">${e.doi}</a></p>`:` - <p><em>No DOI yet.</em></p>`} - </div> - </div> -`}function x(e,t,n=document){if(0<t.size){e.style.display='';let i=e.querySelector('.references');if(i)i.innerHTML='';else{const t=n.createElement('style');t.innerHTML=Mi,e.appendChild(t);const a=n.createElement('h3');a.id='references',a.textContent='References',e.appendChild(a),i=n.createElement('ol'),i.id='references-list',i.className='references',e.appendChild(i)}for(const[e,a]of t){const t=n.createElement('li');t.id=e,t.innerHTML=o(a),i.appendChild(t)}}else e.style.display='none'}function k(e,t){let n=` - <style> - - d-toc { - contain: layout style; - display: block; - } - - d-toc ul { - padding-left: 0; - } - - d-toc ul > ul { - padding-left: 24px; - } - - d-toc a { - border-bottom: none; - text-decoration: none; - } - - </style> - <nav role="navigation" class="table-of-contents"></nav> - <h2>Table of contents</h2> - <ul>`;for(const i of t){const e='D-TITLE'==i.parentElement.tagName,t=i.getAttribute('no-toc');if(e||t)continue;const a=i.textContent,d='#'+i.getAttribute('id');let r='<li><a href="'+d+'">'+a+'</a></li>';'H3'==i.tagName?r='<ul>'+r+'</ul>':r+='<br>',n+=r}n+='</ul></nav>',e.innerHTML=n}function v(e){return function(t,n){return Xi(e(t),n)}}function w(e,t,n){var i=(t-e)/Rn(0,n),a=Fn(jn(i)/Nn),d=i/In(10,a);return 0<=a?(d>=Gi?10:d>=ea?5:d>=ta?2:1)*In(10,a):-In(10,-a)/(d>=Gi?10:d>=ea?5:d>=ta?2:1)}function S(e,t,n){var i=Un(t-e)/Rn(0,n),a=In(10,Fn(jn(i)/Nn)),d=i/a;return d>=Gi?a*=10:d>=ea?a*=5:d>=ta&&(a*=2),t<e?-a:a}function _(e,t){var n=Object.create(e.prototype);for(var i in t)n[i]=t[i];return n}function L(){}function M(e){var t;return e=(e+'').trim().toLowerCase(),(t=sa.exec(e))?(t=parseInt(t[1],16),new j(15&t>>8|240&t>>4,15&t>>4|240&t,(15&t)<<4|15&t,1)):(t=ca.exec(e))?O(parseInt(t[1],16)):(t=ua.exec(e))?new j(t[1],t[2],t[3],1):(t=pa.exec(e))?new j(255*t[1]/100,255*t[2]/100,255*t[3]/100,1):(t=ga.exec(e))?U(t[1],t[2],t[3],t[4]):(t=fa.exec(e))?U(255*t[1]/100,255*t[2]/100,255*t[3]/100,t[4]):(t=ha.exec(e))?R(t[1],t[2]/100,t[3]/100,1):(t=ba.exec(e))?R(t[1],t[2]/100,t[3]/100,t[4]):ma.hasOwnProperty(e)?O(ma[e]):'transparent'===e?new j(NaN,NaN,NaN,0):null}function O(e){return new j(255&e>>16,255&e>>8,255&e,1)}function U(e,t,n,i){return 0>=i&&(e=t=n=NaN),new j(e,t,n,i)}function I(e){return(e instanceof L||(e=M(e)),!e)?new j:(e=e.rgb(),new j(e.r,e.g,e.b,e.opacity))}function N(e,t,n,i){return 1===arguments.length?I(e):new j(e,t,n,null==i?1:i)}function j(e,t,n,i){this.r=+e,this.g=+t,this.b=+n,this.opacity=+i}function R(e,t,n,i){return 0>=i?e=t=n=NaN:0>=n||1<=n?e=t=NaN:0>=t&&(e=NaN),new F(e,t,n,i)}function q(e){if(e instanceof F)return new F(e.h,e.s,e.l,e.opacity);if(e instanceof L||(e=M(e)),!e)return new F;if(e instanceof F)return e;e=e.rgb();var t=e.r/255,n=e.g/255,i=e.b/255,a=Hn(t,n,i),d=Rn(t,n,i),r=NaN,c=d-a,s=(d+a)/2;return c?(r=t===d?(n-i)/c+6*(n<i):n===d?(i-t)/c+2:(t-n)/c+4,c/=0.5>s?d+a:2-d-a,r*=60):c=0<s&&1>s?0:r,new F(r,c,s,e.opacity)}function F(e,t,n,i){this.h=+e,this.s=+t,this.l=+n,this.opacity=+i}function P(e,t,n){return 255*(60>e?t+(n-t)*e/60:180>e?n:240>e?t+(n-t)*(240-e)/60:t)}function H(e){if(e instanceof Y)return new Y(e.l,e.a,e.b,e.opacity);if(e instanceof X){var t=e.h*ya;return new Y(e.l,Mn(t)*e.c,Dn(t)*e.c,e.opacity)}e instanceof j||(e=I(e));var n=$(e.r),i=$(e.g),a=$(e.b),d=W((0.4124564*n+0.3575761*i+0.1804375*a)/Kn),r=W((0.2126729*n+0.7151522*i+0.072175*a)/Xn),o=W((0.0193339*n+0.119192*i+0.9503041*a)/Yn);return new Y(116*r-16,500*(d-r),200*(r-o),e.opacity)}function Y(e,t,n,i){this.l=+e,this.a=+t,this.b=+n,this.opacity=+i}function W(e){return e>Sa?In(e,1/3):e/wa+Zn}function V(e){return e>va?e*e*e:wa*(e-Zn)}function K(e){return 255*(0.0031308>=e?12.92*e:1.055*In(e,1/2.4)-0.055)}function $(e){return 0.04045>=(e/=255)?e/12.92:In((e+0.055)/1.055,2.4)}function z(e){if(e instanceof X)return new X(e.h,e.c,e.l,e.opacity);e instanceof Y||(e=H(e));var t=En(e.b,e.a)*xa;return new X(0>t?t+360:t,An(e.a*e.a+e.b*e.b),e.l,e.opacity)}function X(e,t,n,i){this.h=+e,this.c=+t,this.l=+n,this.opacity=+i}function J(e){if(e instanceof Z)return new Z(e.h,e.s,e.l,e.opacity);e instanceof j||(e=I(e));var t=e.r/255,n=e.g/255,i=e.b/255,a=(_a*i+E*t-Ta*n)/(_a+E-Ta),d=i-a,r=(D*(n-a)-B*d)/C,o=An(r*r+d*d)/(D*a*(1-a)),l=o?En(r,d)*xa-120:NaN;return new Z(0>l?l+360:l,o,a,e.opacity)}function Q(e,t,n,i){return 1===arguments.length?J(e):new Z(e,t,n,null==i?1:i)}function Z(e,t,n,i){this.h=+e,this.s=+t,this.l=+n,this.opacity=+i}function G(e,n){return function(i){return e+i*n}}function ee(e,n,i){return e=In(e,i),n=In(n,i)-e,i=1/i,function(a){return In(e+a*n,i)}}function te(e){return 1==(e=+e)?ne:function(t,n){return n-t?ee(t,n,e):La(isNaN(t)?n:t)}}function ne(e,t){var n=t-e;return n?G(e,n):La(isNaN(e)?t:e)}function ie(e){return function(){return e}}function ae(e){return function(n){return e(n)+''}}function de(e){return function t(n){function i(i,t){var a=e((i=Q(i)).h,(t=Q(t)).h),d=ne(i.s,t.s),r=ne(i.l,t.l),o=ne(i.opacity,t.opacity);return function(e){return i.h=a(e),i.s=d(e),i.l=r(In(e,n)),i.opacity=o(e),i+''}}return n=+n,i.gamma=t,i}(1)}function oe(e,t){return(t-=e=+e)?function(n){return(n-e)/t}:Pa(t)}function le(e){return function(t,n){var i=e(t=+t,n=+n);return function(e){return e<=t?0:e>=n?1:i(e)}}}function se(e){return function(n,i){var d=e(n=+n,i=+i);return function(e){return 0>=e?n:1<=e?i:d(e)}}}function ce(e,t,n,i){var a=e[0],d=e[1],r=t[0],o=t[1];return d<a?(a=n(d,a),r=i(o,r)):(a=n(a,d),r=i(r,o)),function(e){return r(a(e))}}function ue(e,t,n,a){var o=Hn(e.length,t.length)-1,l=Array(o),d=Array(o),r=-1;for(e[o]<e[0]&&(e=e.slice().reverse(),t=t.slice().reverse());++r<o;)l[r]=n(e[r],e[r+1]),d[r]=a(t[r],t[r+1]);return function(t){var n=Qi(e,t,1,o)-1;return d[n](l[n](t))}}function pe(e,t){return t.domain(e.domain()).range(e.range()).interpolate(e.interpolate()).clamp(e.clamp())}function ge(e,t){function n(){return a=2<Hn(o.length,l.length)?ue:ce,d=r=null,i}function i(t){return(d||(d=a(o,l,c?le(e):e,s)))(+t)}var a,d,r,o=za,l=za,s=ja,c=!1;return i.invert=function(e){return(r||(r=a(l,o,oe,c?se(t):t)))(+e)},i.domain=function(e){return arguments.length?(o=aa.call(e,Ha),n()):o.slice()},i.range=function(e){return arguments.length?(l=da.call(e),n()):l.slice()},i.rangeRound=function(e){return l=da.call(e),s=Ra,n()},i.clamp=function(e){return arguments.length?(c=!!e,n()):c},i.interpolate=function(e){return arguments.length?(s=e,n()):s},n()}function fe(e){return new he(e)}function he(e){if(!(t=Xa.exec(e)))throw new Error('invalid format: '+e);var t,n=t[1]||' ',i=t[2]||'>',a=t[3]||'-',d=t[4]||'',r=!!t[5],o=t[6]&&+t[6],l=!!t[7],s=t[8]&&+t[8].slice(1),c=t[9]||'';'n'===c?(l=!0,c='g'):!$a[c]&&(c=''),(r||'0'===n&&'='===i)&&(r=!0,n='0',i='='),this.fill=n,this.align=i,this.sign=a,this.symbol=d,this.zero=r,this.width=o,this.comma=l,this.precision=s,this.type=c}function be(e){var t=e.domain;return e.ticks=function(e){var n=t();return na(n[0],n[n.length-1],null==e?10:e)},e.tickFormat=function(e,n){return ad(t(),e,n)},e.nice=function(n){null==n&&(n=10);var i,a=t(),d=0,r=a.length-1,o=a[d],l=a[r];return l<o&&(i=o,o=l,l=i,i=d,d=r,r=i),i=w(o,l,n),0<i?(o=Fn(o/i)*i,l=qn(l/i)*i,i=w(o,l,n)):0>i&&(o=qn(o*i)/i,l=Fn(l*i)/i,i=w(o,l,n)),0<i?(a[d]=Fn(o/i)*i,a[r]=qn(l/i)*i,t(a)):0>i&&(a[d]=qn(o*i)/i,a[r]=Fn(l*i)/i,t(a)),e},e}function me(){var e=ge(oe,Ma);return e.copy=function(){return pe(e,me())},be(e)}function ye(e,t,n,i){function a(t){return e(t=new Date(+t)),t}return a.floor=a,a.ceil=function(n){return e(n=new Date(n-1)),t(n,1),e(n),n},a.round=function(e){var t=a(e),n=a.ceil(e);return e-t<n-e?t:n},a.offset=function(e,n){return t(e=new Date(+e),null==n?1:Fn(n)),e},a.range=function(n,i,d){var r=[];if(n=a.ceil(n),d=null==d?1:Fn(d),!(n<i)||!(0<d))return r;do r.push(new Date(+n));while((t(n,d),e(n),n<i));return r},a.filter=function(n){return ye(function(t){if(t>=t)for(;e(t),!n(t);)t.setTime(t-1)},function(e,i){if(e>=e)if(0>i)for(;0>=++i;)for(;t(e,-1),!n(e););else for(;0<=--i;)for(;t(e,1),!n(e););})},n&&(a.count=function(t,i){return dd.setTime(+t),rd.setTime(+i),e(dd),e(rd),Fn(n(dd,rd))},a.every=function(e){return e=Fn(e),isFinite(e)&&0<e?1<e?a.filter(i?function(t){return 0==i(t)%e}:function(t){return 0==a.count(0,t)%e}):a:null}),a}function xe(e){return ye(function(t){t.setDate(t.getDate()-(t.getDay()+7-e)%7),t.setHours(0,0,0,0)},function(e,t){e.setDate(e.getDate()+7*t)},function(e,t){return(t-e-(t.getTimezoneOffset()-e.getTimezoneOffset())*sd)/pd})}function ke(e){return ye(function(t){t.setUTCDate(t.getUTCDate()-(t.getUTCDay()+7-e)%7),t.setUTCHours(0,0,0,0)},function(e,t){e.setUTCDate(e.getUTCDate()+7*t)},function(e,t){return(t-e)/pd})}function ve(e){if(0<=e.y&&100>e.y){var t=new Date(-1,e.m,e.d,e.H,e.M,e.S,e.L);return t.setFullYear(e.y),t}return new Date(e.y,e.m,e.d,e.H,e.M,e.S,e.L)}function we(e){if(0<=e.y&&100>e.y){var t=new Date(Date.UTC(-1,e.m,e.d,e.H,e.M,e.S,e.L));return t.setUTCFullYear(e.y),t}return new Date(Date.UTC(e.y,e.m,e.d,e.H,e.M,e.S,e.L))}function Se(e){return{y:e,m:0,d:1,H:0,M:0,S:0,L:0}}function Ce(e){function t(e,t){return function(a){var d,r,o,l=[],s=-1,i=0,c=e.length;for(a instanceof Date||(a=new Date(+a));++s<c;)37===e.charCodeAt(s)&&(l.push(e.slice(i,s)),null==(r=Hd[d=e.charAt(++s)])?r='e'===d?' ':'0':d=e.charAt(++s),(o=t[d])&&(d=o(a,r)),l.push(d),i=s+1);return l.push(e.slice(i,s)),l.join('')}}function n(e,t){return function(n){var r=Se(1900),d=a(r,e,n+='',0);if(d!=n.length)return null;if('p'in r&&(r.H=r.H%12+12*r.p),'W'in r||'U'in r){'w'in r||(r.w='W'in r?1:0);var i='Z'in r?we(Se(r.y)).getUTCDay():t(Se(r.y)).getDay();r.m=0,r.d='W'in r?(r.w+6)%7+7*r.W-(i+5)%7:r.w+7*r.U-(i+6)%7}return'Z'in r?(r.H+=0|r.Z/100,r.M+=r.Z%100,we(r)):t(r)}}function a(e,t,a,d){for(var r,o,l=0,i=t.length,n=a.length;l<i;){if(d>=n)return-1;if(r=t.charCodeAt(l++),37===r){if(r=t.charAt(l++),o=C[r in Hd?t.charAt(l++):r],!o||0>(d=o(e,a,d)))return-1;}else if(r!=a.charCodeAt(d++))return-1}return d}var r=e.dateTime,o=e.date,l=e.time,i=e.periods,s=e.days,c=e.shortDays,u=e.months,p=e.shortMonths,g=Le(i),f=Ae(i),h=Le(s),b=Ae(s),m=Le(c),y=Ae(c),x=Le(u),k=Ae(u),v=Le(p),w=Ae(p),d={a:function(e){return c[e.getDay()]},A:function(e){return s[e.getDay()]},b:function(e){return p[e.getMonth()]},B:function(e){return u[e.getMonth()]},c:null,d:Ye,e:Ye,H:Be,I:We,j:Ve,L:Ke,m:$e,M:Xe,p:function(e){return i[+(12<=e.getHours())]},S:Je,U:Qe,w:Ze,W:Ge,x:null,X:null,y:et,Y:tt,Z:nt,"%":mt},S={a:function(e){return c[e.getUTCDay()]},A:function(e){return s[e.getUTCDay()]},b:function(e){return p[e.getUTCMonth()]},B:function(e){return u[e.getUTCMonth()]},c:null,d:it,e:it,H:at,I:dt,j:rt,L:ot,m:lt,M:st,p:function(e){return i[+(12<=e.getUTCHours())]},S:ct,U:ut,w:pt,W:gt,x:null,X:null,y:ft,Y:ht,Z:bt,"%":mt},C={a:function(e,t,a){var i=m.exec(t.slice(a));return i?(e.w=y[i[0].toLowerCase()],a+i[0].length):-1},A:function(e,t,a){var i=h.exec(t.slice(a));return i?(e.w=b[i[0].toLowerCase()],a+i[0].length):-1},b:function(e,t,a){var i=v.exec(t.slice(a));return i?(e.m=w[i[0].toLowerCase()],a+i[0].length):-1},B:function(e,t,a){var i=x.exec(t.slice(a));return i?(e.m=k[i[0].toLowerCase()],a+i[0].length):-1},c:function(e,t,n){return a(e,r,t,n)},d:je,e:je,H:qe,I:qe,j:Re,L:He,m:Ne,M:Fe,p:function(e,t,a){var i=g.exec(t.slice(a));return i?(e.p=f[i[0].toLowerCase()],a+i[0].length):-1},S:Pe,U:De,w:Ee,W:Me,x:function(e,t,n){return a(e,o,t,n)},X:function(e,t,n){return a(e,l,t,n)},y:Ue,Y:Oe,Z:Ie,"%":ze};return d.x=t(o,d),d.X=t(l,d),d.c=t(r,d),S.x=t(o,S),S.X=t(l,S),S.c=t(r,S),{format:function(e){var n=t(e+='',d);return n.toString=function(){return e},n},parse:function(e){var t=n(e+='',ve);return t.toString=function(){return e},t},utcFormat:function(e){var n=t(e+='',S);return n.toString=function(){return e},n},utcParse:function(e){var t=n(e,we);return t.toString=function(){return e},t}}}function Te(e,t,n){var i=0>e?'-':'',a=(i?-e:e)+'',d=a.length;return i+(d<n?Array(n-d+1).join(t)+a:a)}function _e(e){return e.replace(Bd,'\\$&')}function Le(e){return new RegExp('^(?:'+e.map(_e).join('|')+')','i')}function Ae(e){for(var t={},a=-1,i=e.length;++a<i;)t[e[a].toLowerCase()]=a;return t}function Ee(e,t,a){var i=zd.exec(t.slice(a,a+1));return i?(e.w=+i[0],a+i[0].length):-1}function De(e,t,a){var i=zd.exec(t.slice(a));return i?(e.U=+i[0],a+i[0].length):-1}function Me(e,t,a){var i=zd.exec(t.slice(a));return i?(e.W=+i[0],a+i[0].length):-1}function Oe(e,t,a){var i=zd.exec(t.slice(a,a+4));return i?(e.y=+i[0],a+i[0].length):-1}function Ue(e,t,a){var i=zd.exec(t.slice(a,a+2));return i?(e.y=+i[0]+(68<+i[0]?1900:2e3),a+i[0].length):-1}function Ie(e,t,a){var i=/^(Z)|([+-]\d\d)(?:\:?(\d\d))?/.exec(t.slice(a,a+6));return i?(e.Z=i[1]?0:-(i[2]+(i[3]||'00')),a+i[0].length):-1}function Ne(e,t,a){var i=zd.exec(t.slice(a,a+2));return i?(e.m=i[0]-1,a+i[0].length):-1}function je(e,t,a){var i=zd.exec(t.slice(a,a+2));return i?(e.d=+i[0],a+i[0].length):-1}function Re(e,t,a){var i=zd.exec(t.slice(a,a+3));return i?(e.m=0,e.d=+i[0],a+i[0].length):-1}function qe(e,t,a){var i=zd.exec(t.slice(a,a+2));return i?(e.H=+i[0],a+i[0].length):-1}function Fe(e,t,a){var i=zd.exec(t.slice(a,a+2));return i?(e.M=+i[0],a+i[0].length):-1}function Pe(e,t,a){var i=zd.exec(t.slice(a,a+2));return i?(e.S=+i[0],a+i[0].length):-1}function He(e,t,a){var i=zd.exec(t.slice(a,a+3));return i?(e.L=+i[0],a+i[0].length):-1}function ze(e,t,a){var i=Yd.exec(t.slice(a,a+1));return i?a+i[0].length:-1}function Ye(e,t){return Te(e.getDate(),t,2)}function Be(e,t){return Te(e.getHours(),t,2)}function We(e,t){return Te(e.getHours()%12||12,t,2)}function Ve(e,t){return Te(1+bd.count(Td(e),e),t,3)}function Ke(e,t){return Te(e.getMilliseconds(),t,3)}function $e(e,t){return Te(e.getMonth()+1,t,2)}function Xe(e,t){return Te(e.getMinutes(),t,2)}function Je(e,t){return Te(e.getSeconds(),t,2)}function Qe(e,t){return Te(md.count(Td(e),e),t,2)}function Ze(e){return e.getDay()}function Ge(e,t){return Te(yd.count(Td(e),e),t,2)}function et(e,t){return Te(e.getFullYear()%100,t,2)}function tt(e,t){return Te(e.getFullYear()%1e4,t,4)}function nt(e){var t=e.getTimezoneOffset();return(0<t?'-':(t*=-1,'+'))+Te(0|t/60,'0',2)+Te(t%60,'0',2)}function it(e,t){return Te(e.getUTCDate(),t,2)}function at(e,t){return Te(e.getUTCHours(),t,2)}function dt(e,t){return Te(e.getUTCHours()%12||12,t,2)}function rt(e,t){return Te(1+Ad.count(Rd(e),e),t,3)}function ot(e,t){return Te(e.getUTCMilliseconds(),t,3)}function lt(e,t){return Te(e.getUTCMonth()+1,t,2)}function st(e,t){return Te(e.getUTCMinutes(),t,2)}function ct(e,t){return Te(e.getUTCSeconds(),t,2)}function ut(e,t){return Te(Ed.count(Rd(e),e),t,2)}function pt(e){return e.getUTCDay()}function gt(e,t){return Te(Dd.count(Rd(e),e),t,2)}function ft(e,t){return Te(e.getUTCFullYear()%100,t,2)}function ht(e,t){return Te(e.getUTCFullYear()%1e4,t,4)}function bt(){return'+0000'}function mt(){return'%'}function yt(e){var i=e.length;return function(n){return e[Rn(0,Hn(i-1,Fn(n*i)))]}}function xt(){for(var e,t=0,i=arguments.length,n={};t<i;++t){if(!(e=arguments[t]+'')||e in n)throw new Error('illegal type: '+e);n[e]=[]}return new kt(n)}function kt(e){this._=e}function vt(e,n){return e.trim().split(/^|\s+/).map(function(e){var a='',d=e.indexOf('.');if(0<=d&&(a=e.slice(d+1),e=e.slice(0,d)),e&&!n.hasOwnProperty(e))throw new Error('unknown type: '+e);return{type:e,name:a}})}function wt(e,t){for(var a,d=0,i=e.length;d<i;++d)if((a=e[d]).name===t)return a.value}function St(e,t,a){for(var d=0,i=e.length;d<i;++d)if(e[d].name===t){e[d]=tr,e=e.slice(0,d).concat(e.slice(d+1));break}return null!=a&&e.push({name:t,value:a}),e}function Ct(e){return function(){var t=this.ownerDocument,n=this.namespaceURI;return n===nr&&t.documentElement.namespaceURI===nr?t.createElement(e):t.createElementNS(n,e)}}function Tt(e){return function(){return this.ownerDocument.createElementNS(e.space,e.local)}}function _t(e,t,n){return e=Lt(e,t,n),function(t){var n=t.relatedTarget;n&&(n===this||8&n.compareDocumentPosition(this))||e.call(this,t)}}function Lt(e,t,n){return function(i){var a=ur;ur=i;try{e.call(this,this.__data__,t,n)}finally{ur=a}}}function At(e){return e.trim().split(/^|\s+/).map(function(e){var n='',a=e.indexOf('.');return 0<=a&&(n=e.slice(a+1),e=e.slice(0,a)),{type:e,name:n}})}function Et(e){return function(){var t=this.__on;if(t){for(var n,a=0,d=-1,i=t.length;a<i;++a)(n=t[a],(!e.type||n.type===e.type)&&n.name===e.name)?this.removeEventListener(n.type,n.listener,n.capture):t[++d]=n;++d?t.length=d:delete this.__on}}}function Dt(e,t,n){var a=cr.hasOwnProperty(e.type)?_t:Lt;return function(r,d,i){var l,o=this.__on,s=a(t,d,i);if(o)for(var c=0,u=o.length;c<u;++c)if((l=o[c]).type===e.type&&l.name===e.name)return this.removeEventListener(l.type,l.listener,l.capture),this.addEventListener(l.type,l.listener=s,l.capture=n),void(l.value=t);this.addEventListener(e.type,s,n),l={type:e.type,name:e.name,value:t,listener:s,capture:n},o?o.push(l):this.__on=[l]}}function Mt(e,t,n,i){var a=ur;e.sourceEvent=ur,ur=e;try{return t.apply(n,i)}finally{ur=a}}function Ot(){}function Ut(){return[]}function It(e,t){this.ownerDocument=e.ownerDocument,this.namespaceURI=e.namespaceURI,this._next=null,this._parent=e,this.__data__=t}function Nt(e,t,n,a,d,r){for(var o,l=0,i=t.length,s=r.length;l<s;++l)(o=t[l])?(o.__data__=r[l],a[l]=o):n[l]=new It(e,r[l]);for(;l<i;++l)(o=t[l])&&(d[l]=o)}function jt(e,t,n,a,d,r,o){var l,i,s,c={},u=t.length,p=r.length,g=Array(u);for(l=0;l<u;++l)(i=t[l])&&(g[l]=s=kr+o.call(i,i.__data__,l,t),s in c?d[l]=i:c[s]=i);for(l=0;l<p;++l)s=kr+o.call(e,r[l],l,r),(i=c[s])?(a[l]=i,i.__data__=r[l],c[s]=null):n[l]=new It(e,r[l]);for(l=0;l<u;++l)(i=t[l])&&c[g[l]]===i&&(d[l]=i)}function Rt(e,t){return e<t?-1:e>t?1:e>=t?0:NaN}function qt(e){return function(){this.removeAttribute(e)}}function Ft(e){return function(){this.removeAttributeNS(e.space,e.local)}}function Pt(e,t){return function(){this.setAttribute(e,t)}}function Ht(e,t){return function(){this.setAttributeNS(e.space,e.local,t)}}function zt(e,t){return function(){var n=t.apply(this,arguments);null==n?this.removeAttribute(e):this.setAttribute(e,n)}}function Yt(e,t){return function(){var n=t.apply(this,arguments);null==n?this.removeAttributeNS(e.space,e.local):this.setAttributeNS(e.space,e.local,n)}}function Bt(e){return function(){this.style.removeProperty(e)}}function Wt(e,t,n){return function(){this.style.setProperty(e,t,n)}}function Vt(e,t,n){return function(){var i=t.apply(this,arguments);null==i?this.style.removeProperty(e):this.style.setProperty(e,i,n)}}function Kt(e,t){return e.style.getPropertyValue(t)||vr(e).getComputedStyle(e,null).getPropertyValue(t)}function $t(e){return function(){delete this[e]}}function Xt(e,t){return function(){this[e]=t}}function Jt(e,t){return function(){var n=t.apply(this,arguments);null==n?delete this[e]:this[e]=n}}function Qt(e){return e.trim().split(/^|\s+/)}function Zt(e){return e.classList||new Gt(e)}function Gt(e){this._node=e,this._names=Qt(e.getAttribute('class')||'')}function en(e,t){for(var a=Zt(e),d=-1,i=t.length;++d<i;)a.add(t[d])}function tn(e,t){for(var a=Zt(e),d=-1,i=t.length;++d<i;)a.remove(t[d])}function nn(e){return function(){en(this,e)}}function an(e){return function(){tn(this,e)}}function dn(e,t){return function(){(t.apply(this,arguments)?en:tn)(this,e)}}function rn(){this.textContent=''}function on(e){return function(){this.textContent=e}}function ln(e){return function(){var t=e.apply(this,arguments);this.textContent=null==t?'':t}}function sn(){this.innerHTML=''}function cn(e){return function(){this.innerHTML=e}}function un(e){return function(){var t=e.apply(this,arguments);this.innerHTML=null==t?'':t}}function pn(){this.nextSibling&&this.parentNode.appendChild(this)}function gn(){this.previousSibling&&this.parentNode.insertBefore(this,this.parentNode.firstChild)}function fn(){return null}function hn(){var e=this.parentNode;e&&e.removeChild(this)}function bn(e,t,n){var i=vr(e),a=i.CustomEvent;'function'==typeof a?a=new a(t,n):(a=i.document.createEvent('Event'),n?(a.initEvent(t,n.bubbles,n.cancelable),a.detail=n.detail):a.initEvent(t,!1,!1)),e.dispatchEvent(a)}function mn(e,t){return function(){return bn(this,e,t)}}function yn(e,t){return function(){return bn(this,e,t.apply(this,arguments))}}function xn(e,t){this._groups=e,this._parents=t}function kn(){ur.stopImmediatePropagation()}function vn(e,t){var n=e.document.documentElement,i=Sr(e).on('dragstart.drag',null);t&&(i.on('click.drag',Tr,!0),setTimeout(function(){i.on('click.drag',null)},0)),'onselectstart'in n?i.on('selectstart.drag',null):(n.style.MozUserSelect=n.__noselect,delete n.__noselect)}function wn(e,t,n,i,a,d,r,o,l,s){this.target=e,this.type=t,this.subject=n,this.identifier=i,this.active=a,this.x=d,this.y=r,this.dx=o,this.dy=l,this._=s}function Sn(){return!ur.button}function Cn(){return this.parentNode}function Tn(e){return null==e?{x:ur.x,y:ur.y}:e}function _n(){return'ontouchstart'in this}function Ln(e){let t=Nr;'undefined'!=typeof e.githubUrl&&(t+=` - <h3 id="updates-and-corrections">Updates and Corrections</h3> - <p>`,e.githubCompareUpdatesUrl&&(t+=`<a href="${e.githubCompareUpdatesUrl}">View all changes</a> to this article since it was first published.`),t+=` - If you see mistakes or want to suggest changes, please <a href="${e.githubUrl+'/issues/new'}">create an issue on GitHub</a>. </p> - `);const n=e.journal;return'undefined'!=typeof n&&'Distill'===n.title&&(t+=` - <h3 id="reuse">Reuse</h3> - <p>Diagrams and text are licensed under Creative Commons Attribution <a href="https://creativecommons.org/licenses/by/4.0/">CC-BY 4.0</a> with the <a class="github" href="${e.githubUrl}">source available on GitHub</a>, unless noted otherwise. The figures that have been reused from other sources don’t fall under this license and can be recognized by a note in their caption: “Figure from …”.</p> - `),'undefined'!=typeof e.publishedDate&&(t+=` - <h3 id="citation">Citation</h3> - <p>For attribution in academic contexts, please cite this work as</p> - <pre class="citation short">${e.concatenatedAuthors}, "${e.title}", Distill, ${e.publishedYear}.</pre> - <p>BibTeX citation</p> - <pre class="citation long">${m(e)}</pre> - `),t}var An=Math.sqrt,En=Math.atan2,Dn=Math.sin,Mn=Math.cos,On=Math.PI,Un=Math.abs,In=Math.pow,Nn=Math.LN10,jn=Math.log,Rn=Math.max,qn=Math.ceil,Fn=Math.floor,Pn=Math.round,Hn=Math.min;const zn=['Sunday','Monday','Tuesday','Wednesday','Thursday','Friday','Saturday'],Bn=['Jan.','Feb.','March','April','May','June','July','Aug.','Sept.','Oct.','Nov.','Dec.'],Wn=(e)=>10>e?'0'+e:e,Vn=function(e){const t=zn[e.getDay()].substring(0,3),n=Wn(e.getDate()),i=Bn[e.getMonth()].substring(0,3),a=e.getFullYear().toString(),d=e.getUTCHours().toString(),r=e.getUTCMinutes().toString(),o=e.getUTCSeconds().toString();return`${t}, ${n} ${i} ${a} ${d}:${r}:${o} Z`},$n=function(e){const t=Array.from(e).reduce((e,[t,n])=>Object.assign(e,{[t]:n}),{});return t},Jn=function(e){const t=new Map;for(var n in e)e.hasOwnProperty(n)&&t.set(n,e[n]);return t};class Qn{constructor(e){this.name=e.author,this.personalURL=e.authorURL,this.affiliation=e.affiliation,this.affiliationURL=e.affiliationURL,this.affiliations=e.affiliations||[]}get firstName(){const e=this.name.split(' ');return e.slice(0,e.length-1).join(' ')}get lastName(){const e=this.name.split(' ');return e[e.length-1]}}class Gn{constructor(){this.title='unnamed article',this.description='',this.authors=[],this.bibliography=new Map,this.bibliographyParsed=!1,this.citations=[],this.citationsCollected=!1,this.journal={},this.katex={},this.publishedDate=void 0}set url(e){this._url=e}get url(){if(this._url)return this._url;return this.distillPath&&this.journal.url?this.journal.url+'/'+this.distillPath:this.journal.url?this.journal.url:void 0}get githubUrl(){return this.githubPath?'https://github.com/'+this.githubPath:void 0}set previewURL(e){this._previewURL=e}get previewURL(){return this._previewURL?this._previewURL:this.url+'/thumbnail.jpg'}get publishedDateRFC(){return Vn(this.publishedDate)}get updatedDateRFC(){return Vn(this.updatedDate)}get publishedYear(){return this.publishedDate.getFullYear()}get publishedMonth(){return Bn[this.publishedDate.getMonth()]}get publishedDay(){return this.publishedDate.getDate()}get publishedMonthPadded(){return Wn(this.publishedDate.getMonth()+1)}get publishedDayPadded(){return Wn(this.publishedDate.getDate())}get publishedISODateOnly(){return this.publishedDate.toISOString().split('T')[0]}get volume(){const e=this.publishedYear-2015;if(1>e)throw new Error('Invalid publish date detected during computing volume');return e}get issue(){return this.publishedDate.getMonth()+1}get concatenatedAuthors(){if(2<this.authors.length)return this.authors[0].lastName+', et al.';return 2===this.authors.length?this.authors[0].lastName+' & '+this.authors[1].lastName:1===this.authors.length?this.authors[0].lastName:void 0}get bibtexAuthors(){return this.authors.map((e)=>{return e.lastName+', '+e.firstName}).join(' and ')}get slug(){let e='';return this.authors.length&&(e+=this.authors[0].lastName.toLowerCase(),e+=this.publishedYear,e+=this.title.split(' ')[0].toLowerCase()),e||'Untitled'}get bibliographyEntries(){return new Map(this.citations.map((e)=>{const t=this.bibliography.get(e);return[e,t]}))}set bibliography(e){e instanceof Map?this._bibliography=e:'object'==typeof e&&(this._bibliography=Jn(e))}get bibliography(){return this._bibliography}static fromObject(e){const t=new Gn;return Object.assign(t,e),t}assignToObject(e){Object.assign(e,this),e.bibliography=$n(this.bibliographyEntries),e.url=this.url,e.githubUrl=this.githubUrl,e.previewURL=this.previewURL,this.publishedDate&&(e.volume=this.volume,e.issue=this.issue,e.publishedDateRFC=this.publishedDateRFC,e.publishedYear=this.publishedYear,e.publishedMonth=this.publishedMonth,e.publishedDay=this.publishedDay,e.publishedMonthPadded=this.publishedMonthPadded,e.publishedDayPadded=this.publishedDayPadded),this.updatedDate&&(e.updatedDateRFC=this.updatedDateRFC),e.concatenatedAuthors=this.concatenatedAuthors,e.bibtexAuthors=this.bibtexAuthors,e.slug=this.slug}}const ei=(e)=>{return class extends e{constructor(){super();const e={childList:!0,characterData:!0,subtree:!0},t=new MutationObserver(()=>{t.disconnect(),this.renderIfPossible(),t.observe(this,e)});t.observe(this,e)}connectedCallback(){super.connectedCallback(),this.renderIfPossible()}renderIfPossible(){this.textContent&&this.root&&this.renderContent()}renderContent(){console.error(`Your class ${this.constructor.name} must provide a custom renderContent() method!`)}}},ti=(e,t,n=!0)=>{return(i)=>{const a=document.createElement('template');return a.innerHTML=t,n&&'ShadyCSS'in window&&ShadyCSS.prepareTemplate(a,e),class extends i{static get is(){return e}constructor(){super(),this.clone=document.importNode(a.content,!0),n&&(this.attachShadow({mode:'open'}),this.shadowRoot.appendChild(this.clone))}connectedCallback(){n?'ShadyCSS'in window&&ShadyCSS.styleElement(this):this.insertBefore(this.clone,this.firstChild)}get root(){return n?this.shadowRoot:this}$(e){return this.root.querySelector(e)}$$(e){return this.root.querySelectorAll(e)}}}};var ni='/*\n * Copyright 2018 The Distill Template Authors\n *\n * Licensed under the Apache License, Version 2.0 (the "License");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an "AS IS" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nspan.katex-display {\n text-align: left;\n padding: 8px 0 8px 0;\n margin: 0.5em 0 0.5em 1em;\n}\n\nspan.katex {\n -webkit-font-smoothing: antialiased;\n color: rgba(0, 0, 0, 0.8);\n font-size: 1.18em;\n}\n';const ii=function(e,t,n){let i=n,a=0;for(const d=e.length;i<t.length;){const n=t[i];if(0>=a&&t.slice(i,i+d)===e)return i;'\\'===n?i++:'{'===n?a++:'}'===n&&a--;i++}return-1},ai=function(e,t,n,i){const a=[];for(let d=0;d<e.length;d++)if('text'===e[d].type){const r=e[d].data;let o,l=!0,s=0;for(o=r.indexOf(t),-1!==o&&(s=o,a.push({type:'text',data:r.slice(0,s)}),l=!1);;){if(l){if(o=r.indexOf(t,s),-1===o)break;a.push({type:'text',data:r.slice(s,o)}),s=o}else{if(o=ii(n,r,s+t.length),-1===o)break;a.push({type:'math',data:r.slice(s+t.length,o),rawData:r.slice(s,o+n.length),display:i}),s=o+n.length}l=!l}a.push({type:'text',data:r.slice(s)})}else a.push(e[d]);return a},di=function(e,t){let n=[{type:'text',data:e}];for(let a=0;a<t.length;a++){const e=t[a];n=ai(n,e.left,e.right,e.display||!1)}return n},ri=function(e,t){const n=di(e,t.delimiters),a=document.createDocumentFragment();for(let d=0;d<n.length;d++)if('text'===n[d].type)a.appendChild(document.createTextNode(n[d].data));else{const e=document.createElement('d-math'),i=n[d].data;t.displayMode=n[d].display;try{e.textContent=i,t.displayMode&&e.setAttribute('block','')}catch(i){if(!(i instanceof katex.ParseError))throw i;t.errorCallback('KaTeX auto-render: Failed to parse `'+n[d].data+'` with ',i),a.appendChild(document.createTextNode(n[d].rawData));continue}a.appendChild(e)}return a},oi=function(e,t){for(let n=0;n<e.childNodes.length;n++){const i=e.childNodes[n];if(3===i.nodeType){const a=ri(i.textContent,t);n+=a.childNodes.length-1,e.replaceChild(a,i)}else if(1===i.nodeType){const e=-1===t.ignoredTags.indexOf(i.nodeName.toLowerCase());e&&oi(i,t)}}},li={delimiters:[{left:'$$',right:'$$',display:!0},{left:'\\[',right:'\\]',display:!0},{left:'\\(',right:'\\)',display:!1}],ignoredTags:['script','noscript','style','textarea','pre','code','svg'],errorCallback:function(e,t){console.error(e,t)}},si=function(e,t){if(!e)throw new Error('No element provided to render');const n=Object.assign({},li,t);oi(e,n)},ci='<link rel="stylesheet" href="https://distill.pub/third-party/katex/katex.min.css" crossorigin="anonymous">',ui=ti('d-math',` -${ci} -<style> - -:host { - display: inline-block; - contain: content; -} - -:host([block]) { - display: block; -} - -${ni} -</style> -<span id='katex-container'></span> -`);class T extends ei(ui(HTMLElement)){static set katexOptions(e){T._katexOptions=e,T.katexOptions.delimiters&&(T.katexAdded?T.katexLoadedCallback():T.addKatex())}static get katexOptions(){return T._katexOptions||(T._katexOptions={delimiters:[{left:'$$',right:'$$',display:!1}]}),T._katexOptions}static katexLoadedCallback(){const e=document.querySelectorAll('d-math');for(const t of e)t.renderContent();if(T.katexOptions.delimiters){const e=document.querySelector('d-article');si(e,T.katexOptions)}}static addKatex(){document.head.insertAdjacentHTML('beforeend',ci);const e=document.createElement('script');e.src='https://distill.pub/third-party/katex/katex.min.js',e.async=!0,e.onload=T.katexLoadedCallback,e.crossorigin='anonymous',document.head.appendChild(e),T.katexAdded=!0}get options(){const e={displayMode:this.hasAttribute('block')};return Object.assign(e,T.katexOptions)}connectedCallback(){super.connectedCallback(),T.katexAdded||T.addKatex()}renderContent(){if('undefined'!=typeof katex){const e=this.root.querySelector('#katex-container');katex.render(this.textContent,e,this.options)}}}T.katexAdded=!1,T.inlineMathRendered=!1,window.DMath=T;class pi extends HTMLElement{static get is(){return'd-front-matter'}constructor(){super();const e=new MutationObserver((e)=>{for(const t of e)if('SCRIPT'===t.target.nodeName||'characterData'===t.type){const e=c(this);this.notify(e)}});e.observe(this,{childList:!0,characterData:!0,subtree:!0})}notify(e){const t=new CustomEvent('onFrontMatterChanged',{detail:e,bubbles:!0});document.dispatchEvent(t)}}var gi=function(e,t){const n=e.body,i=n.querySelector('d-article');if(!i)return void console.warn('No d-article tag found; skipping adding optional components!');let a=e.querySelector('d-byline');a||(t.authors?(a=e.createElement('d-byline'),n.insertBefore(a,i)):console.warn('No authors found in front matter; please add them before submission!'));let d=e.querySelector('d-title');d||(d=e.createElement('d-title'),n.insertBefore(d,a));let r=d.querySelector('h1');r||(r=e.createElement('h1'),r.textContent=t.title,d.insertBefore(r,d.firstChild));const o='undefined'!=typeof t.password;let l=n.querySelector('d-interstitial');if(o&&!l){const i='undefined'!=typeof window,a=i&&window.location.hostname.includes('localhost');i&&a||(l=e.createElement('d-interstitial'),l.password=t.password,n.insertBefore(l,n.firstChild))}else!o&&l&&l.parentElement.removeChild(this);let s=e.querySelector('d-appendix');s||(s=e.createElement('d-appendix'),e.body.appendChild(s));let c=e.querySelector('d-footnote-list');c||(c=e.createElement('d-footnote-list'),s.appendChild(c));let u=e.querySelector('d-citation-list');u||(u=e.createElement('d-citation-list'),s.appendChild(u))};const fi=new Gn,hi={frontMatter:fi,waitingOn:{bibliography:[],citations:[]},listeners:{onCiteKeyCreated(e){const[t,n]=e.detail;if(!fi.citationsCollected)return void hi.waitingOn.citations.push(()=>hi.listeners.onCiteKeyCreated(e));if(!fi.bibliographyParsed)return void hi.waitingOn.bibliography.push(()=>hi.listeners.onCiteKeyCreated(e));const i=n.map((e)=>fi.citations.indexOf(e));t.numbers=i;const a=n.map((e)=>fi.bibliography.get(e));t.entries=a},onCiteKeyChanged(){fi.citations=t(),fi.citationsCollected=!0;for(const e of hi.waitingOn.citations.slice())e();const e=document.querySelector('d-citation-list'),n=new Map(fi.citations.map((e)=>{return[e,fi.bibliography.get(e)]}));e.citations=n;const i=document.querySelectorAll('d-cite');for(const e of i){const t=e.keys,n=t.map((e)=>fi.citations.indexOf(e));e.numbers=n;const i=t.map((e)=>fi.bibliography.get(e));e.entries=i}},onCiteKeyRemoved(e){hi.listeners.onCiteKeyChanged(e)},onBibliographyChanged(e){const t=document.querySelector('d-citation-list'),n=e.detail;fi.bibliography=n,fi.bibliographyParsed=!0;for(const t of hi.waitingOn.bibliography.slice())t();if(!fi.citationsCollected)return void hi.waitingOn.citations.push(function(){hi.listeners.onBibliographyChanged({target:e.target,detail:e.detail})});if(t.hasAttribute('distill-prerendered'))console.info('Citation list was prerendered; not updating it.');else{const e=new Map(fi.citations.map((e)=>{return[e,fi.bibliography.get(e)]}));t.citations=e}},onFootnoteChanged(){const e=document.querySelector('d-footnote-list');if(e){const t=document.querySelectorAll('d-footnote');e.footnotes=t}},onFrontMatterChanged(t){const n=t.detail;e(fi,n);const i=document.querySelector('d-interstitial');i&&('undefined'==typeof fi.password?i.parentElement.removeChild(i):i.password=fi.password);const a=document.body.hasAttribute('distill-prerendered');if(!a&&u()){gi(document,fi);const e=document.querySelector('distill-appendix');e&&(e.frontMatter=fi);const t=document.querySelector('d-byline');t&&(t.frontMatter=fi),n.katex&&(T.katexOptions=n.katex)}},DOMContentLoaded(){if(hi.loaded)return void console.warn('Controller received DOMContentLoaded but was already loaded!');if(!u())return void console.warn('Controller received DOMContentLoaded before appropriate document.readyState!');hi.loaded=!0,console.log('Runlevel 4: Controller running DOMContentLoaded');const e=document.querySelector('d-front-matter'),n=c(e);hi.listeners.onFrontMatterChanged({detail:n}),fi.citations=t(),fi.citationsCollected=!0;for(const e of hi.waitingOn.citations.slice())e();if(fi.bibliographyParsed)for(const e of hi.waitingOn.bibliography.slice())e();const i=document.querySelector('d-footnote-list');if(i){const e=document.querySelectorAll('d-footnote');i.footnotes=e}}}};const bi='/*\n * Copyright 2018 The Distill Template Authors\n *\n * Licensed under the Apache License, Version 2.0 (the "License");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an "AS IS" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nhtml {\n font-size: 14px;\n\tline-height: 1.6em;\n /* font-family: "Libre Franklin", "Helvetica Neue", sans-serif; */\n font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, "Fira Sans", "Droid Sans", "Helvetica Neue", Arial, sans-serif;\n /*, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";*/\n text-size-adjust: 100%;\n -ms-text-size-adjust: 100%;\n -webkit-text-size-adjust: 100%;\n}\n\n@media(min-width: 768px) {\n html {\n font-size: 16px;\n }\n}\n\nbody {\n margin: 0;\n}\n\na {\n color: #004276;\n}\n\nfigure {\n margin: 0;\n}\n\ntable {\n\tborder-collapse: collapse;\n\tborder-spacing: 0;\n}\n\ntable th {\n\ttext-align: left;\n}\n\ntable thead {\n border-bottom: 1px solid rgba(0, 0, 0, 0.05);\n}\n\ntable thead th {\n padding-bottom: 0.5em;\n}\n\ntable tbody :first-child td {\n padding-top: 0.5em;\n}\n\npre {\n overflow: auto;\n max-width: 100%;\n}\n\np {\n margin-top: 0;\n margin-bottom: 1em;\n}\n\nsup, sub {\n vertical-align: baseline;\n position: relative;\n top: -0.4em;\n line-height: 1em;\n}\n\nsub {\n top: 0.4em;\n}\n\n.kicker,\n.marker {\n font-size: 15px;\n font-weight: 600;\n color: rgba(0, 0, 0, 0.5);\n}\n\n\n/* Headline */\n\n@media(min-width: 1024px) {\n d-title h1 span {\n display: block;\n }\n}\n\n/* Figure */\n\nfigure {\n position: relative;\n margin-bottom: 2.5em;\n margin-top: 1.5em;\n}\n\nfigcaption+figure {\n\n}\n\nfigure img {\n width: 100%;\n}\n\nfigure svg text,\nfigure svg tspan {\n}\n\nfigcaption,\n.figcaption {\n color: rgba(0, 0, 0, 0.6);\n font-size: 12px;\n line-height: 1.5em;\n}\n\n@media(min-width: 1024px) {\nfigcaption,\n.figcaption {\n font-size: 13px;\n }\n}\n\nfigure.external img {\n background: white;\n border: 1px solid rgba(0, 0, 0, 0.1);\n box-shadow: 0 1px 8px rgba(0, 0, 0, 0.1);\n padding: 18px;\n box-sizing: border-box;\n}\n\nfigcaption a {\n color: rgba(0, 0, 0, 0.6);\n}\n\nfigcaption b,\nfigcaption strong, {\n font-weight: 600;\n color: rgba(0, 0, 0, 1.0);\n}\n'+'/*\n * Copyright 2018 The Distill Template Authors\n *\n * Licensed under the Apache License, Version 2.0 (the "License");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an "AS IS" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n@supports not (display: grid) {\n .base-grid,\n distill-header,\n d-title,\n d-abstract,\n d-article,\n d-appendix,\n distill-appendix,\n d-byline,\n d-footnote-list,\n d-citation-list,\n distill-footer {\n display: block;\n padding: 8px;\n }\n}\n\n.base-grid,\ndistill-header,\nd-title,\nd-abstract,\nd-article,\nd-appendix,\ndistill-appendix,\nd-byline,\nd-footnote-list,\nd-citation-list,\ndistill-footer {\n display: grid;\n justify-items: stretch;\n grid-template-columns: [screen-start] 8px [page-start kicker-start text-start gutter-start middle-start] 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr [text-end page-end gutter-end kicker-end middle-end] 8px [screen-end];\n grid-column-gap: 8px;\n}\n\n.grid {\n display: grid;\n grid-column-gap: 8px;\n}\n\n@media(min-width: 768px) {\n .base-grid,\n distill-header,\n d-title,\n d-abstract,\n d-article,\n d-appendix,\n distill-appendix,\n d-byline,\n d-footnote-list,\n d-citation-list,\n distill-footer {\n grid-template-columns: [screen-start] 1fr [page-start kicker-start middle-start text-start] 45px 45px 45px 45px 45px 45px 45px 45px [ kicker-end text-end gutter-start] 45px [middle-end] 45px [page-end gutter-end] 1fr [screen-end];\n grid-column-gap: 16px;\n }\n\n .grid {\n grid-column-gap: 16px;\n }\n}\n\n@media(min-width: 1000px) {\n .base-grid,\n distill-header,\n d-title,\n d-abstract,\n d-article,\n d-appendix,\n distill-appendix,\n d-byline,\n d-footnote-list,\n d-citation-list,\n distill-footer {\n grid-template-columns: [screen-start] 1fr [page-start kicker-start] 50px [middle-start] 50px [text-start kicker-end] 50px 50px 50px 50px 50px 50px 50px 50px [text-end gutter-start] 50px [middle-end] 50px [page-end gutter-end] 1fr [screen-end];\n grid-column-gap: 16px;\n }\n\n .grid {\n grid-column-gap: 16px;\n }\n}\n\n@media(min-width: 1180px) {\n .base-grid,\n distill-header,\n d-title,\n d-abstract,\n d-article,\n d-appendix,\n distill-appendix,\n d-byline,\n d-footnote-list,\n d-citation-list,\n distill-footer {\n grid-template-columns: [screen-start] 1fr [page-start kicker-start] 60px [middle-start] 60px [text-start kicker-end] 60px 60px 60px 60px 60px 60px 60px 60px [text-end gutter-start] 60px [middle-end] 60px [page-end gutter-end] 1fr [screen-end];\n grid-column-gap: 32px;\n }\n\n .grid {\n grid-column-gap: 32px;\n }\n}\n\n\n\n\n.base-grid {\n grid-column: screen;\n}\n\n/* .l-body,\nd-article > * {\n grid-column: text;\n}\n\n.l-page,\nd-title > *,\nd-figure {\n grid-column: page;\n} */\n\n.l-gutter {\n grid-column: gutter;\n}\n\n.l-text,\n.l-body {\n grid-column: text;\n}\n\n.l-page {\n grid-column: page;\n}\n\n.l-body-outset {\n grid-column: middle;\n}\n\n.l-page-outset {\n grid-column: page;\n}\n\n.l-screen {\n grid-column: screen;\n}\n\n.l-screen-inset {\n grid-column: screen;\n padding-left: 16px;\n padding-left: 16px;\n}\n\n\n/* Aside */\n\nd-article aside {\n grid-column: gutter;\n font-size: 12px;\n line-height: 1.6em;\n color: rgba(0, 0, 0, 0.6)\n}\n\n@media(min-width: 768px) {\n aside {\n grid-column: gutter;\n }\n\n .side {\n grid-column: gutter;\n }\n}\n'+'/*\n * Copyright 2018 The Distill Template Authors\n *\n * Licensed under the Apache License, Version 2.0 (the "License");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an "AS IS" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nd-title {\n padding: 2rem 0 1.5rem;\n contain: layout style;\n overflow-x: hidden;\n}\n\n@media(min-width: 768px) {\n d-title {\n padding: 4rem 0 1.5rem;\n }\n}\n\nd-title h1 {\n grid-column: text;\n font-size: 40px;\n font-weight: 700;\n line-height: 1.1em;\n margin: 0 0 0.5rem;\n}\n\n@media(min-width: 768px) {\n d-title h1 {\n font-size: 50px;\n }\n}\n\nd-title p {\n font-weight: 300;\n font-size: 1.2rem;\n line-height: 1.55em;\n grid-column: text;\n}\n\nd-title .status {\n margin-top: 0px;\n font-size: 12px;\n color: #009688;\n opacity: 0.8;\n grid-column: kicker;\n}\n\nd-title .status span {\n line-height: 1;\n display: inline-block;\n padding: 6px 0;\n border-bottom: 1px solid #80cbc4;\n font-size: 11px;\n text-transform: uppercase;\n}\n'+'/*\n * Copyright 2018 The Distill Template Authors\n *\n * Licensed under the Apache License, Version 2.0 (the "License");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an "AS IS" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nd-byline {\n contain: content;\n overflow: hidden;\n border-top: 1px solid rgba(0, 0, 0, 0.1);\n font-size: 0.8rem;\n line-height: 1.8em;\n padding: 1.5rem 0;\n min-height: 1.8em;\n}\n\n\nd-byline .byline {\n grid-template-columns: 1fr 1fr;\n grid-column: text;\n}\n\n@media(min-width: 768px) {\n d-byline .byline {\n grid-template-columns: 1fr 1fr 1fr 1fr;\n }\n}\n\nd-byline .authors-affiliations {\n grid-column-end: span 2;\n grid-template-columns: 1fr 1fr;\n margin-bottom: 1em;\n}\n\n@media(min-width: 768px) {\n d-byline .authors-affiliations {\n margin-bottom: 0;\n }\n}\n\nd-byline h3 {\n font-size: 0.6rem;\n font-weight: 400;\n color: rgba(0, 0, 0, 0.5);\n margin: 0;\n text-transform: uppercase;\n}\n\nd-byline p {\n margin: 0;\n}\n\nd-byline a,\nd-article d-byline a {\n color: rgba(0, 0, 0, 0.8);\n text-decoration: none;\n border-bottom: none;\n}\n\nd-article d-byline a:hover {\n text-decoration: underline;\n border-bottom: none;\n}\n\nd-byline p.author {\n font-weight: 500;\n}\n\nd-byline .affiliations {\n\n}\n'+'/*\n * Copyright 2018 The Distill Template Authors\n *\n * Licensed under the Apache License, Version 2.0 (the "License");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an "AS IS" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nd-article {\n contain: layout style;\n overflow-x: hidden;\n border-top: 1px solid rgba(0, 0, 0, 0.1);\n padding-top: 2rem;\n color: rgba(0, 0, 0, 0.8);\n}\n\nd-article > * {\n grid-column: text;\n}\n\n@media(min-width: 768px) {\n d-article {\n font-size: 16px;\n }\n}\n\n@media(min-width: 1024px) {\n d-article {\n font-size: 1.06rem;\n line-height: 1.7em;\n }\n}\n\n\n/* H2 */\n\n\nd-article .marker {\n text-decoration: none;\n border: none;\n counter-reset: section;\n grid-column: kicker;\n line-height: 1.7em;\n}\n\nd-article .marker:hover {\n border: none;\n}\n\nd-article .marker span {\n padding: 0 3px 4px;\n border-bottom: 1px solid rgba(0, 0, 0, 0.2);\n position: relative;\n top: 4px;\n}\n\nd-article .marker:hover span {\n color: rgba(0, 0, 0, 0.7);\n border-bottom: 1px solid rgba(0, 0, 0, 0.7);\n}\n\nd-article h2 {\n font-weight: 600;\n font-size: 24px;\n line-height: 1.25em;\n margin: 2rem 0 1.5rem 0;\n border-bottom: 1px solid rgba(0, 0, 0, 0.1);\n padding-bottom: 1rem;\n}\n\n@media(min-width: 1024px) {\n d-article h2 {\n font-size: 36px;\n }\n}\n\n/* H3 */\n\nd-article h3 {\n font-weight: 700;\n font-size: 18px;\n line-height: 1.4em;\n margin-bottom: 1em;\n margin-top: 2em;\n}\n\n@media(min-width: 1024px) {\n d-article h3 {\n font-size: 20px;\n }\n}\n\n/* H4 */\n\nd-article h4 {\n font-weight: 600;\n text-transform: uppercase;\n font-size: 14px;\n line-height: 1.4em;\n}\n\nd-article a {\n color: inherit;\n}\n\nd-article p,\nd-article ul,\nd-article ol,\nd-article blockquote {\n margin-top: 0;\n margin-bottom: 1em;\n margin-left: 0;\n margin-right: 0;\n}\n\nd-article blockquote {\n border-left: 2px solid rgba(0, 0, 0, 0.2);\n padding-left: 2em;\n font-style: italic;\n color: rgba(0, 0, 0, 0.6);\n}\n\nd-article a {\n border-bottom: 1px solid rgba(0, 0, 0, 0.4);\n text-decoration: none;\n}\n\nd-article a:hover {\n border-bottom: 1px solid rgba(0, 0, 0, 0.8);\n}\n\nd-article .link {\n text-decoration: underline;\n cursor: pointer;\n}\n\nd-article ul,\nd-article ol {\n padding-left: 24px;\n}\n\nd-article li {\n margin-bottom: 1em;\n margin-left: 0;\n padding-left: 0;\n}\n\nd-article li:last-child {\n margin-bottom: 0;\n}\n\nd-article pre {\n font-size: 14px;\n margin-bottom: 20px;\n}\n\nd-article hr {\n grid-column: screen;\n width: 100%;\n border: none;\n border-bottom: 1px solid rgba(0, 0, 0, 0.1);\n margin-top: 60px;\n margin-bottom: 60px;\n}\n\nd-article section {\n margin-top: 60px;\n margin-bottom: 60px;\n}\n\nd-article span.equation-mimic {\n font-family: georgia;\n font-size: 115%;\n font-style: italic;\n}\n\nd-article > d-code,\nd-article section > d-code {\n display: block;\n}\n\nd-article > d-math[block],\nd-article section > d-math[block] {\n display: block;\n}\n\n@media (max-width: 768px) {\n d-article > d-code,\n d-article section > d-code,\n d-article > d-math[block],\n d-article section > d-math[block] {\n overflow-x: scroll;\n -ms-overflow-style: none; // IE 10+\n overflow: -moz-scrollbars-none; // Firefox\n }\n\n d-article > d-code::-webkit-scrollbar,\n d-article section > d-code::-webkit-scrollbar,\n d-article > d-math[block]::-webkit-scrollbar,\n d-article section > d-math[block]::-webkit-scrollbar {\n display: none; // Safari and Chrome\n }\n}\n\nd-article .citation {\n color: #668;\n cursor: pointer;\n}\n\nd-include {\n width: auto;\n display: block;\n}\n\nd-figure {\n contain: layout style;\n}\n\n/* KaTeX */\n\n.katex, .katex-prerendered {\n contain: style;\n display: inline-block;\n}\n\n/* Tables */\n\nd-article table {\n border-collapse: collapse;\n margin-bottom: 1.5rem;\n border-bottom: 1px solid rgba(0, 0, 0, 0.2);\n}\n\nd-article table th {\n border-bottom: 1px solid rgba(0, 0, 0, 0.2);\n}\n\nd-article table td {\n border-bottom: 1px solid rgba(0, 0, 0, 0.05);\n}\n\nd-article table tr:last-of-type td {\n border-bottom: none;\n}\n\nd-article table th,\nd-article table td {\n font-size: 15px;\n padding: 2px 8px;\n}\n\nd-article table tbody :first-child td {\n padding-top: 2px;\n}\n'+ni+'/*\n * Copyright 2018 The Distill Template Authors\n *\n * Licensed under the Apache License, Version 2.0 (the "License");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an "AS IS" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n@media print {\n\n @page {\n size: 8in 11in;\n @bottom-right {\n content: counter(page) " of " counter(pages);\n }\n }\n\n html {\n /* no general margins -- CSS Grid takes care of those */\n }\n\n p, code {\n page-break-inside: avoid;\n }\n\n h2, h3 {\n page-break-after: avoid;\n }\n\n d-header {\n visibility: hidden;\n }\n\n d-footer {\n display: none!important;\n }\n\n}\n',mi=[{name:'WebComponents',support:function(){return'customElements'in window&&'attachShadow'in Element.prototype&&'getRootNode'in Element.prototype&&'content'in document.createElement('template')&&'Promise'in window&&'from'in Array},url:'https://distill.pub/third-party/polyfills/webcomponents-lite.js'},{name:'IntersectionObserver',support:function(){return'IntersectionObserver'in window&&'IntersectionObserverEntry'in window},url:'https://distill.pub/third-party/polyfills/intersection-observer.js'}];class yi{static browserSupportsAllFeatures(){return mi.every((e)=>e.support())}static load(e){const t=function(t){t.loaded=!0,console.info('Runlevel 0: Polyfill has finished loading: '+t.name),yi.neededPolyfills.every((e)=>e.loaded)&&(console.info('Runlevel 0: All required polyfills have finished loading.'),console.info('Runlevel 0->1.'),window.distillRunlevel=1,e())};for(const n of yi.neededPolyfills)g(n,t)}static get neededPolyfills(){return yi._neededPolyfills||(yi._neededPolyfills=mi.filter((e)=>!e.support())),yi._neededPolyfills}}const xi=ti('d-abstract',` -<style> - :host { - font-size: 1.25rem; - line-height: 1.6em; - color: rgba(0, 0, 0, 0.7); - -webkit-font-smoothing: antialiased; - } - - ::slotted(p) { - margin-top: 0; - margin-bottom: 1em; - grid-column: text-start / middle-end; - } - ${function(e){return`${e} { - grid-column: left / text; - } - `}('d-abstract')} -</style> - -<slot></slot> -`);class ki extends xi(HTMLElement){}const vi=ti('d-appendix',` -<style> - -d-appendix { - contain: layout style; - font-size: 0.8em; - line-height: 1.7em; - margin-top: 60px; - margin-bottom: 0; - border-top: 1px solid rgba(0, 0, 0, 0.1); - color: rgba(0,0,0,0.5); - padding-top: 60px; - padding-bottom: 48px; -} - -d-appendix h3 { - grid-column: page-start / text-start; - font-size: 15px; - font-weight: 500; - margin-top: 1em; - margin-bottom: 0; - color: rgba(0,0,0,0.65); -} - -d-appendix h3 + * { - margin-top: 1em; -} - -d-appendix ol { - padding: 0 0 0 15px; -} - -@media (min-width: 768px) { - d-appendix ol { - padding: 0 0 0 30px; - margin-left: -30px; - } -} - -d-appendix li { - margin-bottom: 1em; -} - -d-appendix a { - color: rgba(0, 0, 0, 0.6); -} - -d-appendix > * { - grid-column: text; -} - -d-appendix > d-footnote-list, -d-appendix > d-citation-list, -d-appendix > distill-appendix { - grid-column: screen; -} - -</style> - -`,!1);class wi extends vi(HTMLElement){}const Si=/^\s*$/;class Ci extends HTMLElement{static get is(){return'd-article'}constructor(){super(),new MutationObserver((e)=>{for(const t of e)for(const e of t.addedNodes)switch(e.nodeName){case'#text':{const t=e.nodeValue;if(!Si.test(t)){console.warn('Use of unwrapped text in distill articles is discouraged as it breaks layout! Please wrap any text in a <span> or <p> tag. We found the following text: '+t);const n=document.createElement('span');n.innerHTML=e.nodeValue,e.parentNode.insertBefore(n,e),e.parentNode.removeChild(e)}}}}).observe(this,{childList:!0})}}var Ti='undefined'==typeof window?'undefined'==typeof global?'undefined'==typeof self?{}:self:global:window,_i=f(function(e,t){(function(e){function t(){this.months=['jan','feb','mar','apr','may','jun','jul','aug','sep','oct','nov','dec'],this.notKey=[',','{','}',' ','='],this.pos=0,this.input='',this.entries=[],this.currentEntry='',this.setInput=function(e){this.input=e},this.getEntries=function(){return this.entries},this.isWhitespace=function(e){return' '==e||'\r'==e||'\t'==e||'\n'==e},this.match=function(e,t){if((void 0==t||null==t)&&(t=!0),this.skipWhitespace(t),this.input.substring(this.pos,this.pos+e.length)==e)this.pos+=e.length;else throw'Token mismatch, expected '+e+', found '+this.input.substring(this.pos);this.skipWhitespace(t)},this.tryMatch=function(e,t){return(void 0==t||null==t)&&(t=!0),this.skipWhitespace(t),this.input.substring(this.pos,this.pos+e.length)==e},this.matchAt=function(){for(;this.input.length>this.pos&&'@'!=this.input[this.pos];)this.pos++;return!('@'!=this.input[this.pos])},this.skipWhitespace=function(e){for(;this.isWhitespace(this.input[this.pos]);)this.pos++;if('%'==this.input[this.pos]&&!0==e){for(;'\n'!=this.input[this.pos];)this.pos++;this.skipWhitespace(e)}},this.value_braces=function(){var e=0;this.match('{',!1);for(var t=this.pos,n=!1;;){if(!n)if('}'==this.input[this.pos]){if(0<e)e--;else{var i=this.pos;return this.match('}',!1),this.input.substring(t,i)}}else if('{'==this.input[this.pos])e++;else if(this.pos>=this.input.length-1)throw'Unterminated value';n='\\'==this.input[this.pos]&&!1==n,this.pos++}},this.value_comment=function(){for(var e='',t=0;!(this.tryMatch('}',!1)&&0==t);){if(e+=this.input[this.pos],'{'==this.input[this.pos]&&t++,'}'==this.input[this.pos]&&t--,this.pos>=this.input.length-1)throw'Unterminated value:'+this.input.substring(start);this.pos++}return e},this.value_quotes=function(){this.match('"',!1);for(var e=this.pos,t=!1;;){if(!t){if('"'==this.input[this.pos]){var n=this.pos;return this.match('"',!1),this.input.substring(e,n)}if(this.pos>=this.input.length-1)throw'Unterminated value:'+this.input.substring(e)}t='\\'==this.input[this.pos]&&!1==t,this.pos++}},this.single_value=function(){var e=this.pos;if(this.tryMatch('{'))return this.value_braces();if(this.tryMatch('"'))return this.value_quotes();var t=this.key();if(t.match('^[0-9]+$'))return t;if(0<=this.months.indexOf(t.toLowerCase()))return t.toLowerCase();throw'Value expected:'+this.input.substring(e)+' for key: '+t},this.value=function(){for(var e=[this.single_value()];this.tryMatch('#');)this.match('#'),e.push(this.single_value());return e.join('')},this.key=function(){for(var e=this.pos;;){if(this.pos>=this.input.length)throw'Runaway key';if(0<=this.notKey.indexOf(this.input[this.pos]))return this.input.substring(e,this.pos);this.pos++}},this.key_equals_value=function(){var e=this.key();if(this.tryMatch('=')){this.match('=');var t=this.value();return[e,t]}throw'... = value expected, equals sign missing:'+this.input.substring(this.pos)},this.key_value_list=function(){var e=this.key_equals_value();for(this.currentEntry.entryTags={},this.currentEntry.entryTags[e[0]]=e[1];this.tryMatch(',')&&(this.match(','),!this.tryMatch('}'));)e=this.key_equals_value(),this.currentEntry.entryTags[e[0]]=e[1]},this.entry_body=function(e){this.currentEntry={},this.currentEntry.citationKey=this.key(),this.currentEntry.entryType=e.substring(1),this.match(','),this.key_value_list(),this.entries.push(this.currentEntry)},this.directive=function(){return this.match('@'),'@'+this.key()},this.preamble=function(){this.currentEntry={},this.currentEntry.entryType='PREAMBLE',this.currentEntry.entry=this.value_comment(),this.entries.push(this.currentEntry)},this.comment=function(){this.currentEntry={},this.currentEntry.entryType='COMMENT',this.currentEntry.entry=this.value_comment(),this.entries.push(this.currentEntry)},this.entry=function(e){this.entry_body(e)},this.bibtex=function(){for(;this.matchAt();){var e=this.directive();this.match('{'),'@STRING'==e?this.string():'@PREAMBLE'==e?this.preamble():'@COMMENT'==e?this.comment():this.entry(e),this.match('}')}}}e.toJSON=function(e){var n=new t;return n.setInput(e),n.bibtex(),n.entries},e.toBibtex=function(e){var t='';for(var n in e){if(t+='@'+e[n].entryType,t+='{',e[n].citationKey&&(t+=e[n].citationKey+', '),e[n].entry&&(t+=e[n].entry),e[n].entryTags){var i='';for(var a in e[n].entryTags)0!=i.length&&(i+=', '),i+=a+'= {'+e[n].entryTags[a]+'}';t+=i}t+='}\n\n'}return t}})(t)});class Li extends HTMLElement{static get is(){return'd-bibliography'}constructor(){super();const e=new MutationObserver((e)=>{for(const t of e)('SCRIPT'===t.target.nodeName||'characterData'===t.type)&&this.parseIfPossible()});e.observe(this,{childList:!0,characterData:!0,subtree:!0})}connectedCallback(){requestAnimationFrame(()=>{this.parseIfPossible()})}parseIfPossible(){const e=this.querySelector('script');if(e)if('text/bibtex'==e.type){const t=e.textContent;if(this.bibtex!==t){this.bibtex=t;const e=b(this.bibtex);this.notify(e)}}else if('text/json'==e.type){const t=new Map(JSON.parse(e.textContent));this.notify(t)}else console.warn('Unsupported bibliography script tag type: '+e.type)}notify(e){const t=new CustomEvent('onBibliographyChanged',{detail:e,bubbles:!0});this.dispatchEvent(t)}static get observedAttributes(){return['src']}receivedBibtex(e){const t=b(e.target.response);this.notify(t)}attributeChangedCallback(e,t,n){var i=new XMLHttpRequest;i.onload=(t)=>this.receivedBibtex(t),i.onerror=()=>console.warn(`Could not load Bibtex! (tried ${n})`),i.responseType='text',i.open('GET',n,!0),i.send()}}class Ai extends HTMLElement{static get is(){return'd-byline'}set frontMatter(e){this.innerHTML=y(e)}}const Ei=ti('d-cite',` -<style> - -:host { - -} - -.citation { - display: inline-block; - color: hsla(206, 90%, 20%, 0.7); -} - -.citation-number { - cursor: default; - white-space: nowrap; - font-family: -apple-system, BlinkMacSystemFont, "Roboto", Helvetica, sans-serif; - font-size: 75%; - color: hsla(206, 90%, 20%, 0.7); - display: inline-block; - line-height: 1.1em; - text-align: center; - position: relative; - top: -2px; - margin: 0 2px; -} - -figcaption .citation-number { - font-size: 11px; - font-weight: normal; - top: -2px; - line-height: 1em; -} - -ul { - margin: 0; - padding: 0; - list-style-type: none; -} - -ul li { - padding: 15px 10px 15px 10px; - border-bottom: 1px solid rgba(0,0,0,0.1) -} - -ul li:last-of-type { - border-bottom: none; -} - -</style> - -<d-hover-box id="hover-box"></d-hover-box> - -<div id="citation-" class="citation"> - <slot></slot> - <span class="citation-number"></span> -</div> -`);class Di extends Ei(HTMLElement){connectedCallback(){this.outerSpan=this.root.querySelector('#citation-'),this.innerSpan=this.root.querySelector('.citation-number'),this.hoverBox=this.root.querySelector('d-hover-box'),window.customElements.whenDefined('d-hover-box').then(()=>{this.hoverBox.listen(this)})}static get observedAttributes(){return['key']}attributeChangedCallback(e,t,n){const i=t?'onCiteKeyChanged':'onCiteKeyCreated',a=n.split(','),d={detail:[this,a],bubbles:!0},r=new CustomEvent(i,d);document.dispatchEvent(r)}set key(e){this.setAttribute('key',e)}get key(){return this.getAttribute('key')}get keys(){return this.getAttribute('key').split(',')}set numbers(e){const t=e.map((e)=>{return-1==e?'?':e+1+''}),n='['+t.join(', ')+']';this.innerSpan&&(this.innerSpan.textContent=n)}set entries(e){this.hoverBox&&(this.hoverBox.innerHTML=`<ul> - ${e.map(l).map((e)=>`<li>${e}</li>`).join('\n')} - </ul>`)}}const Mi=` -d-citation-list { - contain: layout style; -} - -d-citation-list .references { - grid-column: text; -} - -d-citation-list .references .title { - font-weight: 500; -} -`;class Oi extends HTMLElement{static get is(){return'd-citation-list'}connectedCallback(){this.hasAttribute('distill-prerendered')||(this.style.display='none')}set citations(e){x(this,e)}}var Ui=f(function(e){var t='undefined'==typeof window?'undefined'!=typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope?self:{}:window,n=function(){var e=/\blang(?:uage)?-(\w+)\b/i,n=0,a=t.Prism={util:{encode:function(e){return e instanceof i?new i(e.type,a.util.encode(e.content),e.alias):'Array'===a.util.type(e)?e.map(a.util.encode):e.replace(/&/g,'&').replace(/</g,'<').replace(/\u00a0/g,' ')},type:function(e){return Object.prototype.toString.call(e).match(/\[object (\w+)\]/)[1]},objId:function(e){return e.__id||Object.defineProperty(e,'__id',{value:++n}),e.__id},clone:function(e){var t=a.util.type(e);switch(t){case'Object':var n={};for(var i in e)e.hasOwnProperty(i)&&(n[i]=a.util.clone(e[i]));return n;case'Array':return e.map&&e.map(function(e){return a.util.clone(e)});}return e}},languages:{extend:function(e,t){var n=a.util.clone(a.languages[e]);for(var i in t)n[i]=t[i];return n},insertBefore:function(e,t,n,i){i=i||a.languages;var d=i[e];if(2==arguments.length){for(var r in n=arguments[1],n)n.hasOwnProperty(r)&&(d[r]=n[r]);return d}var o={};for(var l in d)if(d.hasOwnProperty(l)){if(l==t)for(var r in n)n.hasOwnProperty(r)&&(o[r]=n[r]);o[l]=d[l]}return a.languages.DFS(a.languages,function(t,n){n===i[e]&&t!=e&&(this[t]=o)}),i[e]=o},DFS:function(e,t,n,d){for(var r in d=d||{},e)e.hasOwnProperty(r)&&(t.call(e,r,e[r],n||r),'Object'!==a.util.type(e[r])||d[a.util.objId(e[r])]?'Array'===a.util.type(e[r])&&!d[a.util.objId(e[r])]&&(d[a.util.objId(e[r])]=!0,a.languages.DFS(e[r],t,r,d)):(d[a.util.objId(e[r])]=!0,a.languages.DFS(e[r],t,null,d)))}},plugins:{},highlightAll:function(e,t){var n={callback:t,selector:'code[class*="language-"], [class*="language-"] code, code[class*="lang-"], [class*="lang-"] code'};a.hooks.run('before-highlightall',n);for(var d,r=n.elements||document.querySelectorAll(n.selector),o=0;d=r[o++];)a.highlightElement(d,!0===e,n.callback)},highlightElement:function(n,i,d){for(var r,o,l=n;l&&!e.test(l.className);)l=l.parentNode;l&&(r=(l.className.match(e)||[,''])[1].toLowerCase(),o=a.languages[r]),n.className=n.className.replace(e,'').replace(/\s+/g,' ')+' language-'+r,l=n.parentNode,/pre/i.test(l.nodeName)&&(l.className=l.className.replace(e,'').replace(/\s+/g,' ')+' language-'+r);var s=n.textContent,c={element:n,language:r,grammar:o,code:s};if(a.hooks.run('before-sanity-check',c),!c.code||!c.grammar)return c.code&&(c.element.textContent=c.code),void a.hooks.run('complete',c);if(a.hooks.run('before-highlight',c),i&&t.Worker){var u=new Worker(a.filename);u.onmessage=function(e){c.highlightedCode=e.data,a.hooks.run('before-insert',c),c.element.innerHTML=c.highlightedCode,d&&d.call(c.element),a.hooks.run('after-highlight',c),a.hooks.run('complete',c)},u.postMessage(JSON.stringify({language:c.language,code:c.code,immediateClose:!0}))}else c.highlightedCode=a.highlight(c.code,c.grammar,c.language),a.hooks.run('before-insert',c),c.element.innerHTML=c.highlightedCode,d&&d.call(n),a.hooks.run('after-highlight',c),a.hooks.run('complete',c)},highlight:function(e,t,n){var d=a.tokenize(e,t);return i.stringify(a.util.encode(d),n)},tokenize:function(e,t){var n=a.Token,d=[e],r=t.rest;if(r){for(var o in r)t[o]=r[o];delete t.rest}tokenloop:for(var o in t)if(t.hasOwnProperty(o)&&t[o]){var l=t[o];l='Array'===a.util.type(l)?l:[l];for(var s=0;s<l.length;++s){var c=l[s],u=c.inside,g=!!c.lookbehind,f=!!c.greedy,h=0,b=c.alias;if(f&&!c.pattern.global){var m=c.pattern.toString().match(/[imuy]*$/)[0];c.pattern=RegExp(c.pattern.source,m+'g')}c=c.pattern||c;for(var y,x=0,i=0;x<d.length;i+=d[x].length,++x){if(y=d[x],d.length>e.length)break tokenloop;if(!(y instanceof n)){c.lastIndex=0;var v=c.exec(y),w=1;if(!v&&f&&x!=d.length-1){if(c.lastIndex=i,v=c.exec(e),!v)break;for(var S=v.index+(g?v[1].length:0),C=v.index+v[0].length,T=x,k=i,p=d.length;T<p&&k<C;++T)k+=d[T].length,S>=k&&(++x,i=k);if(d[x]instanceof n||d[T-1].greedy)continue;w=T-x,y=e.slice(i,k),v.index-=i}if(v){g&&(h=v[1].length);var S=v.index+h,v=v[0].slice(h),C=S+v.length,_=y.slice(0,S),L=y.slice(C),A=[x,w];_&&A.push(_);var E=new n(o,u?a.tokenize(v,u):v,b,v,f);A.push(E),L&&A.push(L),Array.prototype.splice.apply(d,A)}}}}}return d},hooks:{all:{},add:function(e,t){var n=a.hooks.all;n[e]=n[e]||[],n[e].push(t)},run:function(e,t){var n=a.hooks.all[e];if(n&&n.length)for(var d,r=0;d=n[r++];)d(t)}}},i=a.Token=function(e,t,n,i,a){this.type=e,this.content=t,this.alias=n,this.length=0|(i||'').length,this.greedy=!!a};if(i.stringify=function(e,t,n){if('string'==typeof e)return e;if('Array'===a.util.type(e))return e.map(function(n){return i.stringify(n,t,e)}).join('');var d={type:e.type,content:i.stringify(e.content,t,n),tag:'span',classes:['token',e.type],attributes:{},language:t,parent:n};if('comment'==d.type&&(d.attributes.spellcheck='true'),e.alias){var r='Array'===a.util.type(e.alias)?e.alias:[e.alias];Array.prototype.push.apply(d.classes,r)}a.hooks.run('wrap',d);var l=Object.keys(d.attributes).map(function(e){return e+'="'+(d.attributes[e]||'').replace(/"/g,'"')+'"'}).join(' ');return'<'+d.tag+' class="'+d.classes.join(' ')+'"'+(l?' '+l:'')+'>'+d.content+'</'+d.tag+'>'},!t.document)return t.addEventListener?(t.addEventListener('message',function(e){var n=JSON.parse(e.data),i=n.language,d=n.code,r=n.immediateClose;t.postMessage(a.highlight(d,a.languages[i],i)),r&&t.close()},!1),t.Prism):t.Prism;var d=document.currentScript||[].slice.call(document.getElementsByTagName('script')).pop();return d&&(a.filename=d.src,document.addEventListener&&!d.hasAttribute('data-manual')&&('loading'===document.readyState?document.addEventListener('DOMContentLoaded',a.highlightAll):window.requestAnimationFrame?window.requestAnimationFrame(a.highlightAll):window.setTimeout(a.highlightAll,16))),t.Prism}();e.exports&&(e.exports=n),'undefined'!=typeof Ti&&(Ti.Prism=n),n.languages.markup={comment:/<!--[\w\W]*?-->/,prolog:/<\?[\w\W]+?\?>/,doctype:/<!DOCTYPE[\w\W]+?>/i,cdata:/<!\[CDATA\[[\w\W]*?]]>/i,tag:{pattern:/<\/?(?!\d)[^\s>\/=$<]+(?:\s+[^\s>\/=]+(?:=(?:("|')(?:\\\1|\\?(?!\1)[\w\W])*\1|[^\s'">=]+))?)*\s*\/?>/i,inside:{tag:{pattern:/^<\/?[^\s>\/]+/i,inside:{punctuation:/^<\/?/,namespace:/^[^\s>\/:]+:/}},"attr-value":{pattern:/=(?:('|")[\w\W]*?(\1)|[^\s>]+)/i,inside:{punctuation:/[=>"']/}},punctuation:/\/?>/,"attr-name":{pattern:/[^\s>\/]+/,inside:{namespace:/^[^\s>\/:]+:/}}}},entity:/&#?[\da-z]{1,8};/i},n.hooks.add('wrap',function(e){'entity'===e.type&&(e.attributes.title=e.content.replace(/&/,'&'))}),n.languages.xml=n.languages.markup,n.languages.html=n.languages.markup,n.languages.mathml=n.languages.markup,n.languages.svg=n.languages.markup,n.languages.css={comment:/\/\*[\w\W]*?\*\//,atrule:{pattern:/@[\w-]+?.*?(;|(?=\s*\{))/i,inside:{rule:/@[\w-]+/}},url:/url\((?:(["'])(\\(?:\r\n|[\w\W])|(?!\1)[^\\\r\n])*\1|.*?)\)/i,selector:/[^\{\}\s][^\{\};]*?(?=\s*\{)/,string:{pattern:/("|')(\\(?:\r\n|[\w\W])|(?!\1)[^\\\r\n])*\1/,greedy:!0},property:/(\b|\B)[\w-]+(?=\s*:)/i,important:/\B!important\b/i,function:/[-a-z0-9]+(?=\()/i,punctuation:/[(){};:]/},n.languages.css.atrule.inside.rest=n.util.clone(n.languages.css),n.languages.markup&&(n.languages.insertBefore('markup','tag',{style:{pattern:/(<style[\w\W]*?>)[\w\W]*?(?=<\/style>)/i,lookbehind:!0,inside:n.languages.css,alias:'language-css'}}),n.languages.insertBefore('inside','attr-value',{"style-attr":{pattern:/\s*style=("|').*?\1/i,inside:{"attr-name":{pattern:/^\s*style/i,inside:n.languages.markup.tag.inside},punctuation:/^\s*=\s*['"]|['"]\s*$/,"attr-value":{pattern:/.+/i,inside:n.languages.css}},alias:'language-css'}},n.languages.markup.tag)),n.languages.clike={comment:[{pattern:/(^|[^\\])#.*/,lookbehind:!0},{pattern:/(^|[^\\])\/\*[\w\W]*?\*\//,lookbehind:!0},{pattern:/(^|[^\\:])\/\/.*/,lookbehind:!0}],string:{pattern:/(["'])(\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/,greedy:!0},"class-name":{pattern:/((?:\b(?:class|interface|extends|implements|trait|instanceof|new)\s+)|(?:catch\s+\())[a-z0-9_\.\\]+/i,lookbehind:!0,inside:{punctuation:/(\.|\\)/}},keyword:/\b(if|else|while|do|for|return|in|instanceof|function|new|try|throw|catch|finally|null|break|continue)\b/,boolean:/\b(true|false)\b/,function:/[a-z\.0-9_]+(?=\()/i,number:/\b-?(?:0x[\da-f]+|\d*\.?\d+(?:e[+-]?\d+)?)\b/i,operator:/--?|\+\+?|!=?=?|<=?|>=?|==?=?|&&?|\|\|?|\?|\*|\/|~|\^|%/,punctuation:/[{}[\];(),.:]/},n.languages.javascript=n.languages.extend('clike',{keyword:/\b(as|async|await|break|case|catch|class|const|continue|debugger|default|delete|do|else|enum|export|extends|finally|for|from|function|get|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|set|static|super|switch|this|throw|try|typeof|var|void|while|with|yield)\b/,number:/\b-?(0x[\dA-Fa-f]+|0b[01]+|0o[0-7]+|\d*\.?\d+([Ee][+-]?\d+)?|NaN|Infinity)\b/,function:/[_$a-zA-Z\xA0-\uFFFF][_$a-zA-Z0-9\xA0-\uFFFF]*(?=\()/i,operator:/--?|\+\+?|!=?=?|<=?|>=?|==?=?|&&?|\|\|?|\?|\*\*?|\/|~|\^|%|\.{3}/}),n.languages.insertBefore('javascript','keyword',{regex:{pattern:/(^|[^/])\/(?!\/)(\[.+?]|\\.|[^/\\\r\n])+\/[gimyu]{0,5}(?=\s*($|[\r\n,.;})]))/,lookbehind:!0,greedy:!0}}),n.languages.insertBefore('javascript','string',{"template-string":{pattern:/`(?:\\\\|\\?[^\\])*?`/,greedy:!0,inside:{interpolation:{pattern:/\$\{[^}]+\}/,inside:{"interpolation-punctuation":{pattern:/^\$\{|\}$/,alias:'punctuation'},rest:n.languages.javascript}},string:/[\s\S]+/}}}),n.languages.markup&&n.languages.insertBefore('markup','tag',{script:{pattern:/(<script[\w\W]*?>)[\w\W]*?(?=<\/script>)/i,lookbehind:!0,inside:n.languages.javascript,alias:'language-javascript'}}),n.languages.js=n.languages.javascript,function(){'undefined'!=typeof self&&self.Prism&&self.document&&document.querySelector&&(self.Prism.fileHighlight=function(){var e={js:'javascript',py:'python',rb:'ruby',ps1:'powershell',psm1:'powershell',sh:'bash',bat:'batch',h:'c',tex:'latex'};Array.prototype.forEach&&Array.prototype.slice.call(document.querySelectorAll('pre[data-src]')).forEach(function(t){for(var i,a=t.getAttribute('data-src'),d=t,r=/\blang(?:uage)?-(?!\*)(\w+)\b/i;d&&!r.test(d.className);)d=d.parentNode;if(d&&(i=(t.className.match(r)||[,''])[1]),!i){var o=(a.match(/\.(\w+)$/)||[,''])[1];i=e[o]||o}var l=document.createElement('code');l.className='language-'+i,t.textContent='',l.textContent='Loading\u2026',t.appendChild(l);var s=new XMLHttpRequest;s.open('GET',a,!0),s.onreadystatechange=function(){4==s.readyState&&(400>s.status&&s.responseText?(l.textContent=s.responseText,n.highlightElement(l)):400<=s.status?l.textContent='\u2716 Error '+s.status+' while fetching file: '+s.statusText:l.textContent='\u2716 Error: File does not exist or is empty')},s.send(null)})},document.addEventListener('DOMContentLoaded',self.Prism.fileHighlight))}()});Prism.languages.python={"triple-quoted-string":{pattern:/"""[\s\S]+?"""|'''[\s\S]+?'''/,alias:'string'},comment:{pattern:/(^|[^\\])#.*/,lookbehind:!0},string:{pattern:/("|')(?:\\\\|\\?[^\\\r\n])*?\1/,greedy:!0},function:{pattern:/((?:^|\s)def[ \t]+)[a-zA-Z_][a-zA-Z0-9_]*(?=\()/g,lookbehind:!0},"class-name":{pattern:/(\bclass\s+)[a-z0-9_]+/i,lookbehind:!0},keyword:/\b(?:as|assert|async|await|break|class|continue|def|del|elif|else|except|exec|finally|for|from|global|if|import|in|is|lambda|pass|print|raise|return|try|while|with|yield)\b/,boolean:/\b(?:True|False)\b/,number:/\b-?(?:0[bo])?(?:(?:\d|0x[\da-f])[\da-f]*\.?\d*|\.\d+)(?:e[+-]?\d+)?j?\b/i,operator:/[-+%=]=?|!=|\*\*?=?|\/\/?=?|<[<=>]?|>[=>]?|[&|^~]|\b(?:or|and|not)\b/,punctuation:/[{}[\];(),.:]/},Prism.languages.clike={comment:[{pattern:/(^|[^\\])#.*/,lookbehind:!0},{pattern:/(^|[^\\])\/\*[\w\W]*?\*\//,lookbehind:!0},{pattern:/(^|[^\\:])\/\/.*/,lookbehind:!0}],string:{pattern:/(["'])(\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/,greedy:!0},"class-name":{pattern:/((?:\b(?:class|interface|extends|implements|trait|instanceof|new)\s+)|(?:catch\s+\())[a-z0-9_\.\\]+/i,lookbehind:!0,inside:{punctuation:/(\.|\\)/}},keyword:/\b(if|else|while|do|for|return|in|instanceof|function|new|try|throw|catch|finally|null|break|continue)\b/,boolean:/\b(true|false)\b/,function:/[a-z\.0-9_]+(?=\()/i,number:/\b-?(?:0x[\da-f]+|\d*\.?\d+(?:e[+-]?\d+)?)\b/i,operator:/--?|\+\+?|!=?=?|<=?|>=?|==?=?|&&?|\|\|?|\?|\*|\/|~|\^|%/,punctuation:/[{}[\];(),.:]/},Prism.languages.lua={comment:/^#!.+|--(?:\[(=*)\[[\s\S]*?\]\1\]|.*)/m,string:{pattern:/(["'])(?:(?!\1)[^\\\r\n]|\\z(?:\r\n|\s)|\\(?:\r\n|[\s\S]))*\1|\[(=*)\[[\s\S]*?\]\2\]/,greedy:!0},number:/\b0x[a-f\d]+\.?[a-f\d]*(?:p[+-]?\d+)?\b|\b\d+(?:\.\B|\.?\d*(?:e[+-]?\d+)?\b)|\B\.\d+(?:e[+-]?\d+)?\b/i,keyword:/\b(?:and|break|do|else|elseif|end|false|for|function|goto|if|in|local|nil|not|or|repeat|return|then|true|until|while)\b/,function:/(?!\d)\w+(?=\s*(?:[({]))/,operator:[/[-+*%^&|#]|\/\/?|<[<=]?|>[>=]?|[=~]=?/,{pattern:/(^|[^.])\.\.(?!\.)/,lookbehind:!0}],punctuation:/[\[\](){},;]|\.+|:+/},function(e){var t={variable:[{pattern:/\$?\(\([\w\W]+?\)\)/,inside:{variable:[{pattern:/(^\$\(\([\w\W]+)\)\)/,lookbehind:!0},/^\$\(\(/],number:/\b-?(?:0x[\dA-Fa-f]+|\d*\.?\d+(?:[Ee]-?\d+)?)\b/,operator:/--?|-=|\+\+?|\+=|!=?|~|\*\*?|\*=|\/=?|%=?|<<=?|>>=?|<=?|>=?|==?|&&?|&=|\^=?|\|\|?|\|=|\?|:/,punctuation:/\(\(?|\)\)?|,|;/}},{pattern:/\$\([^)]+\)|`[^`]+`/,inside:{variable:/^\$\(|^`|\)$|`$/}},/\$(?:[a-z0-9_#\?\*!@]+|\{[^}]+\})/i]};e.languages.bash={shebang:{pattern:/^#!\s*\/bin\/bash|^#!\s*\/bin\/sh/,alias:'important'},comment:{pattern:/(^|[^"{\\])#.*/,lookbehind:!0},string:[{pattern:/((?:^|[^<])<<\s*)(?:"|')?(\w+?)(?:"|')?\s*\r?\n(?:[\s\S])*?\r?\n\2/g,lookbehind:!0,greedy:!0,inside:t},{pattern:/(["'])(?:\\\\|\\?[^\\])*?\1/g,greedy:!0,inside:t}],variable:t.variable,function:{pattern:/(^|\s|;|\||&)(?:alias|apropos|apt-get|aptitude|aspell|awk|basename|bash|bc|bg|builtin|bzip2|cal|cat|cd|cfdisk|chgrp|chmod|chown|chroot|chkconfig|cksum|clear|cmp|comm|command|cp|cron|crontab|csplit|cut|date|dc|dd|ddrescue|df|diff|diff3|dig|dir|dircolors|dirname|dirs|dmesg|du|egrep|eject|enable|env|ethtool|eval|exec|expand|expect|export|expr|fdformat|fdisk|fg|fgrep|file|find|fmt|fold|format|free|fsck|ftp|fuser|gawk|getopts|git|grep|groupadd|groupdel|groupmod|groups|gzip|hash|head|help|hg|history|hostname|htop|iconv|id|ifconfig|ifdown|ifup|import|install|jobs|join|kill|killall|less|link|ln|locate|logname|logout|look|lpc|lpr|lprint|lprintd|lprintq|lprm|ls|lsof|make|man|mkdir|mkfifo|mkisofs|mknod|more|most|mount|mtools|mtr|mv|mmv|nano|netstat|nice|nl|nohup|notify-send|npm|nslookup|open|op|passwd|paste|pathchk|ping|pkill|popd|pr|printcap|printenv|printf|ps|pushd|pv|pwd|quota|quotacheck|quotactl|ram|rar|rcp|read|readarray|readonly|reboot|rename|renice|remsync|rev|rm|rmdir|rsync|screen|scp|sdiff|sed|seq|service|sftp|shift|shopt|shutdown|sleep|slocate|sort|source|split|ssh|stat|strace|su|sudo|sum|suspend|sync|tail|tar|tee|test|time|timeout|times|touch|top|traceroute|trap|tr|tsort|tty|type|ulimit|umask|umount|unalias|uname|unexpand|uniq|units|unrar|unshar|uptime|useradd|userdel|usermod|users|uuencode|uudecode|v|vdir|vi|vmstat|wait|watch|wc|wget|whereis|which|who|whoami|write|xargs|xdg-open|yes|zip)(?=$|\s|;|\||&)/,lookbehind:!0},keyword:{pattern:/(^|\s|;|\||&)(?:let|:|\.|if|then|else|elif|fi|for|break|continue|while|in|case|function|select|do|done|until|echo|exit|return|set|declare)(?=$|\s|;|\||&)/,lookbehind:!0},boolean:{pattern:/(^|\s|;|\||&)(?:true|false)(?=$|\s|;|\||&)/,lookbehind:!0},operator:/&&?|\|\|?|==?|!=?|<<<?|>>|<=?|>=?|=~/,punctuation:/\$?\(\(?|\)\)?|\.\.|[{}[\];]/};var n=t.variable[1].inside;n['function']=e.languages.bash['function'],n.keyword=e.languages.bash.keyword,n.boolean=e.languages.bash.boolean,n.operator=e.languages.bash.operator,n.punctuation=e.languages.bash.punctuation}(Prism),Prism.languages.go=Prism.languages.extend('clike',{keyword:/\b(break|case|chan|const|continue|default|defer|else|fallthrough|for|func|go(to)?|if|import|interface|map|package|range|return|select|struct|switch|type|var)\b/,builtin:/\b(bool|byte|complex(64|128)|error|float(32|64)|rune|string|u?int(8|16|32|64|)|uintptr|append|cap|close|complex|copy|delete|imag|len|make|new|panic|print(ln)?|real|recover)\b/,boolean:/\b(_|iota|nil|true|false)\b/,operator:/[*\/%^!=]=?|\+[=+]?|-[=-]?|\|[=|]?|&(?:=|&|\^=?)?|>(?:>=?|=)?|<(?:<=?|=|-)?|:=|\.\.\./,number:/\b(-?(0x[a-f\d]+|(\d+\.?\d*|\.\d+)(e[-+]?\d+)?)i?)\b/i,string:/("|'|`)(\\?.|\r|\n)*?\1/}),delete Prism.languages.go['class-name'],Prism.languages.markdown=Prism.languages.extend('markup',{}),Prism.languages.insertBefore('markdown','prolog',{blockquote:{pattern:/^>(?:[\t ]*>)*/m,alias:'punctuation'},code:[{pattern:/^(?: {4}|\t).+/m,alias:'keyword'},{pattern:/``.+?``|`[^`\n]+`/,alias:'keyword'}],title:[{pattern:/\w+.*(?:\r?\n|\r)(?:==+|--+)/,alias:'important',inside:{punctuation:/==+$|--+$/}},{pattern:/(^\s*)#+.+/m,lookbehind:!0,alias:'important',inside:{punctuation:/^#+|#+$/}}],hr:{pattern:/(^\s*)([*-])([\t ]*\2){2,}(?=\s*$)/m,lookbehind:!0,alias:'punctuation'},list:{pattern:/(^\s*)(?:[*+-]|\d+\.)(?=[\t ].)/m,lookbehind:!0,alias:'punctuation'},"url-reference":{pattern:/!?\[[^\]]+\]:[\t ]+(?:\S+|<(?:\\.|[^>\\])+>)(?:[\t ]+(?:"(?:\\.|[^"\\])*"|'(?:\\.|[^'\\])*'|\((?:\\.|[^)\\])*\)))?/,inside:{variable:{pattern:/^(!?\[)[^\]]+/,lookbehind:!0},string:/(?:"(?:\\.|[^"\\])*"|'(?:\\.|[^'\\])*'|\((?:\\.|[^)\\])*\))$/,punctuation:/^[\[\]!:]|[<>]/},alias:'url'},bold:{pattern:/(^|[^\\])(\*\*|__)(?:(?:\r?\n|\r)(?!\r?\n|\r)|.)+?\2/,lookbehind:!0,inside:{punctuation:/^\*\*|^__|\*\*$|__$/}},italic:{pattern:/(^|[^\\])([*_])(?:(?:\r?\n|\r)(?!\r?\n|\r)|.)+?\2/,lookbehind:!0,inside:{punctuation:/^[*_]|[*_]$/}},url:{pattern:/!?\[[^\]]+\](?:\([^\s)]+(?:[\t ]+"(?:\\.|[^"\\])*")?\)| ?\[[^\]\n]*\])/,inside:{variable:{pattern:/(!?\[)[^\]]+(?=\]$)/,lookbehind:!0},string:{pattern:/"(?:\\.|[^"\\])*"(?=\)$)/}}}}),Prism.languages.markdown.bold.inside.url=Prism.util.clone(Prism.languages.markdown.url),Prism.languages.markdown.italic.inside.url=Prism.util.clone(Prism.languages.markdown.url),Prism.languages.markdown.bold.inside.italic=Prism.util.clone(Prism.languages.markdown.italic),Prism.languages.markdown.italic.inside.bold=Prism.util.clone(Prism.languages.markdown.bold),Prism.languages.julia={comment:{pattern:/(^|[^\\])#.*/,lookbehind:!0},string:/"""[\s\S]+?"""|'''[\s\S]+?'''|("|')(\\?.)*?\1/,keyword:/\b(abstract|baremodule|begin|bitstype|break|catch|ccall|const|continue|do|else|elseif|end|export|finally|for|function|global|if|immutable|import|importall|let|local|macro|module|print|println|quote|return|try|type|typealias|using|while)\b/,boolean:/\b(true|false)\b/,number:/\b-?(0[box])?(?:[\da-f]+\.?\d*|\.\d+)(?:[efp][+-]?\d+)?j?\b/i,operator:/\+=?|-=?|\*=?|\/[\/=]?|\\=?|\^=?|%=?|÷=?|!=?=?|&=?|\|[=>]?|\$=?|<(?:<=?|[=:])?|>(?:=|>>?=?)?|==?=?|[~≠≤≥]/,punctuation:/[{}[\];(),.:]/};const Ii=ti('d-code',` -<style> - -code { - white-space: nowrap; - background: rgba(0, 0, 0, 0.04); - border-radius: 2px; - padding: 4px 7px; - font-size: 15px; - color: rgba(0, 0, 0, 0.6); -} - -pre code { - display: block; - border-left: 2px solid rgba(0, 0, 0, .1); - padding: 0 0 0 36px; -} - -${'/**\n * prism.js default theme for JavaScript, CSS and HTML\n * Based on dabblet (http://dabblet.com)\n * @author Lea Verou\n */\n\ncode[class*="language-"],\npre[class*="language-"] {\n\tcolor: black;\n\tbackground: none;\n\ttext-shadow: 0 1px white;\n\tfont-family: Consolas, Monaco, \'Andale Mono\', \'Ubuntu Mono\', monospace;\n\ttext-align: left;\n\twhite-space: pre;\n\tword-spacing: normal;\n\tword-break: normal;\n\tword-wrap: normal;\n\tline-height: 1.5;\n\n\t-moz-tab-size: 4;\n\t-o-tab-size: 4;\n\ttab-size: 4;\n\n\t-webkit-hyphens: none;\n\t-moz-hyphens: none;\n\t-ms-hyphens: none;\n\thyphens: none;\n}\n\npre[class*="language-"]::-moz-selection, pre[class*="language-"] ::-moz-selection,\ncode[class*="language-"]::-moz-selection, code[class*="language-"] ::-moz-selection {\n\ttext-shadow: none;\n\tbackground: #b3d4fc;\n}\n\npre[class*="language-"]::selection, pre[class*="language-"] ::selection,\ncode[class*="language-"]::selection, code[class*="language-"] ::selection {\n\ttext-shadow: none;\n\tbackground: #b3d4fc;\n}\n\n@media print {\n\tcode[class*="language-"],\n\tpre[class*="language-"] {\n\t\ttext-shadow: none;\n\t}\n}\n\n/* Code blocks */\npre[class*="language-"] {\n\tpadding: 1em;\n\tmargin: .5em 0;\n\toverflow: auto;\n}\n\n:not(pre) > code[class*="language-"],\npre[class*="language-"] {\n\tbackground: #f5f2f0;\n}\n\n/* Inline code */\n:not(pre) > code[class*="language-"] {\n\tpadding: .1em;\n\tborder-radius: .3em;\n\twhite-space: normal;\n}\n\n.token.comment,\n.token.prolog,\n.token.doctype,\n.token.cdata {\n\tcolor: slategray;\n}\n\n.token.punctuation {\n\tcolor: #999;\n}\n\n.namespace {\n\topacity: .7;\n}\n\n.token.property,\n.token.tag,\n.token.boolean,\n.token.number,\n.token.constant,\n.token.symbol,\n.token.deleted {\n\tcolor: #905;\n}\n\n.token.selector,\n.token.attr-name,\n.token.string,\n.token.char,\n.token.builtin,\n.token.inserted {\n\tcolor: #690;\n}\n\n.token.operator,\n.token.entity,\n.token.url,\n.language-css .token.string,\n.style .token.string {\n\tcolor: #a67f59;\n\tbackground: hsla(0, 0%, 100%, .5);\n}\n\n.token.atrule,\n.token.attr-value,\n.token.keyword {\n\tcolor: #07a;\n}\n\n.token.function {\n\tcolor: #DD4A68;\n}\n\n.token.regex,\n.token.important,\n.token.variable {\n\tcolor: #e90;\n}\n\n.token.important,\n.token.bold {\n\tfont-weight: bold;\n}\n.token.italic {\n\tfont-style: italic;\n}\n\n.token.entity {\n\tcursor: help;\n}\n'} -</style> - -<code id="code-container"></code> - -`);class Ni extends ei(Ii(HTMLElement)){renderContent(){if(this.languageName=this.getAttribute('language'),!this.languageName)return void console.warn('You need to provide a language attribute to your <d-code> block to let us know how to highlight your code; e.g.:\n <d-code language="python">zeros = np.zeros(shape)</d-code>.');const e=Ui.languages[this.languageName];if(void 0==e)return void console.warn(`Distill does not yet support highlighting your code block in "${this.languageName}'.`);let t=this.textContent;const n=this.shadowRoot.querySelector('#code-container');if(this.hasAttribute('block')){t=t.replace(/\n/,'');const e=t.match(/\s*/);if(t=t.replace(new RegExp('\n'+e,'g'),'\n'),t=t.trim(),n.parentNode instanceof ShadowRoot){const e=document.createElement('pre');this.shadowRoot.removeChild(n),e.appendChild(n),this.shadowRoot.appendChild(e)}}n.className=`language-${this.languageName}`,n.innerHTML=Ui.highlight(t,e)}}const ji=ti('d-footnote',` -<style> - -d-math[block] { - display: block; -} - -:host { - -} - -sup { - line-height: 1em; - font-size: 0.75em; - position: relative; - top: -.5em; - vertical-align: baseline; -} - -span { - color: hsla(206, 90%, 20%, 0.7); - cursor: default; -} - -.footnote-container { - padding: 10px; -} - -</style> - -<d-hover-box> - <div class="footnote-container"> - <slot id="slot"></slot> - </div> -</d-hover-box> - -<sup> - <span id="fn-" data-hover-ref=""></span> -</sup> - -`);class Ri extends ji(HTMLElement){constructor(){super();const e=new MutationObserver(this.notify);e.observe(this,{childList:!0,characterData:!0,subtree:!0})}notify(){const e={detail:this,bubbles:!0},t=new CustomEvent('onFootnoteChanged',e);document.dispatchEvent(t)}connectedCallback(){this.hoverBox=this.root.querySelector('d-hover-box'),window.customElements.whenDefined('d-hover-box').then(()=>{this.hoverBox.listen(this)}),Ri.currentFootnoteId+=1;const e=Ri.currentFootnoteId.toString();this.root.host.id='d-footnote-'+e;const t='dt-fn-hover-box-'+e;this.hoverBox.id=t;const n=this.root.querySelector('#fn-');n.setAttribute('id','fn-'+e),n.setAttribute('data-hover-ref',t),n.textContent=e}}Ri.currentFootnoteId=0;const qi=ti('d-footnote-list',` -<style> - -d-footnote-list { - contain: layout style; -} - -d-footnote-list > * { - grid-column: text; -} - -d-footnote-list a.footnote-backlink { - color: rgba(0,0,0,0.3); - padding-left: 0.5em; -} - -</style> - -<h3>Footnotes</h3> -<ol></ol> -`,!1);class Fi extends qi(HTMLElement){connectedCallback(){super.connectedCallback(),this.list=this.root.querySelector('ol'),this.root.style.display='none'}set footnotes(e){if(this.list.innerHTML='',e.length){this.root.style.display='';for(const t of e){const e=document.createElement('li');e.id=t.id+'-listing',e.innerHTML=t.innerHTML;const n=document.createElement('a');n.setAttribute('class','footnote-backlink'),n.textContent='[\u21A9]',n.href='#'+t.id,e.appendChild(n),this.list.appendChild(e)}}else this.root.style.display='none'}}const Pi=ti('d-hover-box',` -<style> - -:host { - position: absolute; - width: 100%; - left: 0px; - z-index: 10000; - display: none; - white-space: normal -} - -.container { - position: relative; - width: 704px; - max-width: 100vw; - margin: 0 auto; -} - -.panel { - position: absolute; - font-size: 1rem; - line-height: 1.5em; - top: 0; - left: 0; - width: 100%; - border: 1px solid rgba(0, 0, 0, 0.1); - background-color: rgba(250, 250, 250, 0.95); - box-shadow: 0 0 7px rgba(0, 0, 0, 0.1); - border-radius: 4px; - box-sizing: border-box; - - backdrop-filter: blur(2px); - -webkit-backdrop-filter: blur(2px); -} - -</style> - -<div class="container"> - <div class="panel"> - <slot></slot> - </div> -</div> -`);class Hi extends Pi(HTMLElement){constructor(){super()}connectedCallback(){}listen(e){this.bindDivEvents(this),this.bindTriggerEvents(e)}bindDivEvents(e){e.addEventListener('mouseover',()=>{this.visible||this.showAtNode(e),this.stopTimeout()}),e.addEventListener('mouseout',()=>{this.extendTimeout(500)}),e.addEventListener('touchstart',(e)=>{e.stopPropagation()},{passive:!0}),document.body.addEventListener('touchstart',()=>{this.hide()},{passive:!0})}bindTriggerEvents(e){e.addEventListener('mouseover',()=>{this.visible||this.showAtNode(e),this.stopTimeout()}),e.addEventListener('mouseout',()=>{this.extendTimeout(300)}),e.addEventListener('touchstart',(t)=>{this.visible?this.hide():this.showAtNode(e),t.stopPropagation()},{passive:!0})}show(e){this.visible=!0,this.style.display='block',this.style.top=Pn(e[1]+10)+'px'}showAtNode(e){const t=e.getBoundingClientRect();this.show([e.offsetLeft+t.width,e.offsetTop+t.height])}hide(){this.visible=!1,this.style.display='none',this.stopTimeout()}stopTimeout(){this.timeout&&clearTimeout(this.timeout)}extendTimeout(e){this.stopTimeout(),this.timeout=setTimeout(()=>{this.hide()},e)}}class zi extends HTMLElement{static get is(){return'd-title'}}const Yi=ti('d-references',` -<style> -d-references { - display: block; -} -</style> -`,!1);class Bi extends Yi(HTMLElement){}class Wi extends HTMLElement{static get is(){return'd-toc'}connectedCallback(){this.getAttribute('prerendered')||(window.onload=()=>{const e=document.querySelector('d-article'),t=e.querySelectorAll('h2, h3');k(this,t)})}}class Vi extends HTMLElement{static get is(){return'd-figure'}static get readyQueue(){return Vi._readyQueue||(Vi._readyQueue=[]),Vi._readyQueue}static addToReadyQueue(e){-1===Vi.readyQueue.indexOf(e)&&(Vi.readyQueue.push(e),Vi.runReadyQueue())}static runReadyQueue(){const e=Vi.readyQueue.sort((e,t)=>e._seenOnScreen-t._seenOnScreen).filter((e)=>!e._ready).pop();e&&(e.ready(),requestAnimationFrame(Vi.runReadyQueue))}constructor(){super(),this._ready=!1,this._onscreen=!1,this._offscreen=!0}connectedCallback(){this.loadsWhileScrolling=this.hasAttribute('loadsWhileScrolling'),Vi.marginObserver.observe(this),Vi.directObserver.observe(this)}disconnectedCallback(){Vi.marginObserver.unobserve(this),Vi.directObserver.unobserve(this)}static get marginObserver(){if(!Vi._marginObserver){const e=window.innerHeight,t=Fn(2*e),n=Vi.didObserveMarginIntersection,i=new IntersectionObserver(n,{rootMargin:t+'px 0px '+t+'px 0px',threshold:0.01});Vi._marginObserver=i}return Vi._marginObserver}static didObserveMarginIntersection(e){for(const t of e){const e=t.target;t.isIntersecting&&!e._ready&&Vi.addToReadyQueue(e)}}static get directObserver(){return Vi._directObserver||(Vi._directObserver=new IntersectionObserver(Vi.didObserveDirectIntersection,{rootMargin:'0px',threshold:[0,1]})),Vi._directObserver}static didObserveDirectIntersection(e){for(const t of e){const e=t.target;t.isIntersecting?(e._seenOnScreen=new Date,e._offscreen&&e.onscreen()):e._onscreen&&e.offscreen()}}addEventListener(e,t){super.addEventListener(e,t),'ready'===e&&-1!==Vi.readyQueue.indexOf(this)&&(this._ready=!1,Vi.runReadyQueue()),'onscreen'===e&&this.onscreen()}ready(){this._ready=!0,Vi.marginObserver.unobserve(this);const e=new CustomEvent('ready');this.dispatchEvent(e)}onscreen(){this._onscreen=!0,this._offscreen=!1;const e=new CustomEvent('onscreen');this.dispatchEvent(e)}offscreen(){this._onscreen=!1,this._offscreen=!0;const e=new CustomEvent('offscreen');this.dispatchEvent(e)}}if('undefined'!=typeof window){Vi.isScrolling=!1;let e;window.addEventListener('scroll',()=>{Vi.isScrolling=!0,clearTimeout(e),e=setTimeout(()=>{Vi.isScrolling=!1,Vi.runReadyQueue()},500)},!0)}const Ki=ti('d-interstitial',` -<style> - -.overlay { - position: fixed; - width: 100%; - height: 100%; - top: 0; - left: 0; - background: white; - - opacity: 1; - visibility: visible; - - display: flex; - flex-flow: column; - justify-content: center; - z-index: 2147483647 /* MaxInt32 */ - -} - -.container { - position: relative; - margin-left: auto; - margin-right: auto; - max-width: 420px; - padding: 2em; -} - -h1 { - text-decoration: underline; - text-decoration-color: hsl(0,100%,40%); - -webkit-text-decoration-color: hsl(0,100%,40%); - margin-bottom: 1em; - line-height: 1.5em; -} - -input[type="password"] { - -webkit-appearance: none; - -moz-appearance: none; - appearance: none; - -webkit-box-shadow: none; - -moz-box-shadow: none; - box-shadow: none; - -webkit-border-radius: none; - -moz-border-radius: none; - -ms-border-radius: none; - -o-border-radius: none; - border-radius: none; - outline: none; - - font-size: 18px; - background: none; - width: 25%; - padding: 10px; - border: none; - border-bottom: solid 2px #999; - transition: border .3s; -} - -input[type="password"]:focus { - border-bottom: solid 2px #333; -} - -input[type="password"].wrong { - border-bottom: solid 2px hsl(0,100%,40%); -} - -p small { - color: #888; -} - -.logo { - position: relative; - font-size: 1.5em; - margin-bottom: 3em; -} - -.logo svg { - width: 36px; - position: relative; - top: 6px; - margin-right: 2px; -} - -.logo svg path { - fill: none; - stroke: black; - stroke-width: 2px; -} - -</style> - -<div class="overlay"> - <div class="container"> - <h1>This article is in review.</h1> - <p>Do not share this URL or the contents of this article. Thank you!</p> - <input id="interstitial-password-input" type="password" name="password" autofocus/> - <p><small>Enter the password we shared with you as part of the review process to view the article.</small></p> - </div> -</div> -`);class $i extends Ki(HTMLElement){connectedCallback(){if(this.shouldRemoveSelf())this.parentElement.removeChild(this);else{const e=this.root.querySelector('#interstitial-password-input');e.oninput=(e)=>this.passwordChanged(e)}}passwordChanged(e){const t=e.target.value;t===this.password&&(console.log('Correct password entered.'),this.parentElement.removeChild(this),'undefined'!=typeof Storage&&(console.log('Saved that correct password was entered.'),localStorage.setItem(this.localStorageIdentifier(),'true')))}shouldRemoveSelf(){return window&&window.location.hostname==='distill.pub'?(console.warn('Interstitial found on production, hiding it.'),!0):'undefined'!=typeof Storage&&'true'===localStorage.getItem(this.localStorageIdentifier())&&(console.log('Loaded that correct password was entered before; skipping interstitial.'),!0)}localStorageIdentifier(){return'distill-drafts'+(window?window.location.pathname:'-')+'interstitial-password-correct'}}var Xi=function(e,t){return e<t?-1:e>t?1:e>=t?0:NaN},Ji=function(e){return 1===e.length&&(e=v(e)),{left:function(t,n,i,a){for(null==i&&(i=0),null==a&&(a=t.length);i<a;){var d=i+a>>>1;0>e(t[d],n)?i=d+1:a=d}return i},right:function(t,n,i,a){for(null==i&&(i=0),null==a&&(a=t.length);i<a;){var d=i+a>>>1;0<e(t[d],n)?a=d:i=d+1}return i}}}(Xi),Qi=Ji.right,Zi=function(e,t,a){e=+e,t=+t,a=2>(i=arguments.length)?(t=e,e=0,1):3>i?1:+a;for(var d=-1,i=0|Rn(0,qn((t-e)/a)),n=Array(i);++d<i;)n[d]=e+d*a;return n},Gi=7.0710678118654755,ea=3.1622776601683795,ta=1.4142135623730951,na=function(e,t,a){var d,r,n,o,l=-1;if(t=+t,e=+e,a=+a,e===t&&0<a)return[e];if((d=t<e)&&(r=e,e=t,t=r),0===(o=w(e,t,a))||!isFinite(o))return[];if(0<o)for(e=qn(e/o),t=Fn(t/o),n=Array(r=qn(t-e+1));++l<r;)n[l]=(e+l)*o;else for(e=Fn(e*o),t=qn(t*o),n=Array(r=qn(e-t+1));++l<r;)n[l]=(e-l)/o;return d&&n.reverse(),n},ia=Array.prototype,aa=ia.map,da=ia.slice,ra=function(e,t,n){e.prototype=t.prototype=n,n.constructor=e},oa=0.7,la=1/oa,sa=/^#([0-9a-f]{3})$/,ca=/^#([0-9a-f]{6})$/,ua=/^rgb\(\s*([+-]?\d+)\s*,\s*([+-]?\d+)\s*,\s*([+-]?\d+)\s*\)$/,pa=/^rgb\(\s*([+-]?\d*\.?\d+(?:[eE][+-]?\d+)?)%\s*,\s*([+-]?\d*\.?\d+(?:[eE][+-]?\d+)?)%\s*,\s*([+-]?\d*\.?\d+(?:[eE][+-]?\d+)?)%\s*\)$/,ga=/^rgba\(\s*([+-]?\d+)\s*,\s*([+-]?\d+)\s*,\s*([+-]?\d+)\s*,\s*([+-]?\d*\.?\d+(?:[eE][+-]?\d+)?)\s*\)$/,fa=/^rgba\(\s*([+-]?\d*\.?\d+(?:[eE][+-]?\d+)?)%\s*,\s*([+-]?\d*\.?\d+(?:[eE][+-]?\d+)?)%\s*,\s*([+-]?\d*\.?\d+(?:[eE][+-]?\d+)?)%\s*,\s*([+-]?\d*\.?\d+(?:[eE][+-]?\d+)?)\s*\)$/,ha=/^hsl\(\s*([+-]?\d*\.?\d+(?:[eE][+-]?\d+)?)\s*,\s*([+-]?\d*\.?\d+(?:[eE][+-]?\d+)?)%\s*,\s*([+-]?\d*\.?\d+(?:[eE][+-]?\d+)?)%\s*\)$/,ba=/^hsla\(\s*([+-]?\d*\.?\d+(?:[eE][+-]?\d+)?)\s*,\s*([+-]?\d*\.?\d+(?:[eE][+-]?\d+)?)%\s*,\s*([+-]?\d*\.?\d+(?:[eE][+-]?\d+)?)%\s*,\s*([+-]?\d*\.?\d+(?:[eE][+-]?\d+)?)\s*\)$/,ma={aliceblue:15792383,antiquewhite:16444375,aqua:65535,aquamarine:8388564,azure:15794175,beige:16119260,bisque:16770244,black:0,blanchedalmond:16772045,blue:255,blueviolet:9055202,brown:10824234,burlywood:14596231,cadetblue:6266528,chartreuse:8388352,chocolate:13789470,coral:16744272,cornflowerblue:6591981,cornsilk:16775388,crimson:14423100,cyan:65535,darkblue:139,darkcyan:35723,darkgoldenrod:12092939,darkgray:11119017,darkgreen:25600,darkgrey:11119017,darkkhaki:12433259,darkmagenta:9109643,darkolivegreen:5597999,darkorange:16747520,darkorchid:10040012,darkred:9109504,darksalmon:15308410,darkseagreen:9419919,darkslateblue:4734347,darkslategray:3100495,darkslategrey:3100495,darkturquoise:52945,darkviolet:9699539,deeppink:16716947,deepskyblue:49151,dimgray:6908265,dimgrey:6908265,dodgerblue:2003199,firebrick:11674146,floralwhite:16775920,forestgreen:2263842,fuchsia:16711935,gainsboro:14474460,ghostwhite:16316671,gold:16766720,goldenrod:14329120,gray:8421504,green:32768,greenyellow:11403055,grey:8421504,honeydew:15794160,hotpink:16738740,indianred:13458524,indigo:4915330,ivory:16777200,khaki:15787660,lavender:15132410,lavenderblush:16773365,lawngreen:8190976,lemonchiffon:16775885,lightblue:11393254,lightcoral:15761536,lightcyan:14745599,lightgoldenrodyellow:16448210,lightgray:13882323,lightgreen:9498256,lightgrey:13882323,lightpink:16758465,lightsalmon:16752762,lightseagreen:2142890,lightskyblue:8900346,lightslategray:7833753,lightslategrey:7833753,lightsteelblue:11584734,lightyellow:16777184,lime:65280,limegreen:3329330,linen:16445670,magenta:16711935,maroon:8388608,mediumaquamarine:6737322,mediumblue:205,mediumorchid:12211667,mediumpurple:9662683,mediumseagreen:3978097,mediumslateblue:8087790,mediumspringgreen:64154,mediumturquoise:4772300,mediumvioletred:13047173,midnightblue:1644912,mintcream:16121850,mistyrose:16770273,moccasin:16770229,navajowhite:16768685,navy:128,oldlace:16643558,olive:8421376,olivedrab:7048739,orange:16753920,orangered:16729344,orchid:14315734,palegoldenrod:15657130,palegreen:10025880,paleturquoise:11529966,palevioletred:14381203,papayawhip:16773077,peachpuff:16767673,peru:13468991,pink:16761035,plum:14524637,powderblue:11591910,purple:8388736,rebeccapurple:6697881,red:16711680,rosybrown:12357519,royalblue:4286945,saddlebrown:9127187,salmon:16416882,sandybrown:16032864,seagreen:3050327,seashell:16774638,sienna:10506797,silver:12632256,skyblue:8900331,slateblue:6970061,slategray:7372944,slategrey:7372944,snow:16775930,springgreen:65407,steelblue:4620980,tan:13808780,teal:32896,thistle:14204888,tomato:16737095,turquoise:4251856,violet:15631086,wheat:16113331,white:16777215,whitesmoke:16119285,yellow:16776960,yellowgreen:10145074};ra(L,M,{displayable:function(){return this.rgb().displayable()},toString:function(){return this.rgb()+''}}),ra(j,N,_(L,{brighter:function(e){return e=null==e?la:In(la,e),new j(this.r*e,this.g*e,this.b*e,this.opacity)},darker:function(e){return e=null==e?oa:In(oa,e),new j(this.r*e,this.g*e,this.b*e,this.opacity)},rgb:function(){return this},displayable:function(){return 0<=this.r&&255>=this.r&&0<=this.g&&255>=this.g&&0<=this.b&&255>=this.b&&0<=this.opacity&&1>=this.opacity},toString:function(){var e=this.opacity;return e=isNaN(e)?1:Rn(0,Hn(1,e)),(1===e?'rgb(':'rgba(')+Rn(0,Hn(255,Pn(this.r)||0))+', '+Rn(0,Hn(255,Pn(this.g)||0))+', '+Rn(0,Hn(255,Pn(this.b)||0))+(1===e?')':', '+e+')')}})),ra(F,function(e,t,n,i){return 1===arguments.length?q(e):new F(e,t,n,null==i?1:i)},_(L,{brighter:function(e){return e=null==e?la:In(la,e),new F(this.h,this.s,this.l*e,this.opacity)},darker:function(e){return e=null==e?oa:In(oa,e),new F(this.h,this.s,this.l*e,this.opacity)},rgb:function(){var e=this.h%360+360*(0>this.h),t=isNaN(e)||isNaN(this.s)?0:this.s,n=this.l,i=n+(0.5>n?n:1-n)*t,a=2*n-i;return new j(P(240<=e?e-240:e+120,a,i),P(e,a,i),P(120>e?e+240:e-120,a,i),this.opacity)},displayable:function(){return(0<=this.s&&1>=this.s||isNaN(this.s))&&0<=this.l&&1>=this.l&&0<=this.opacity&&1>=this.opacity}}));var ya=On/180,xa=180/On,ka=18,Kn=0.95047,Xn=1,Yn=1.08883,Zn=4/29,va=6/29,wa=3*va*va,Sa=va*va*va;ra(Y,function(e,t,n,i){return 1===arguments.length?H(e):new Y(e,t,n,null==i?1:i)},_(L,{brighter:function(e){return new Y(this.l+ka*(null==e?1:e),this.a,this.b,this.opacity)},darker:function(e){return new Y(this.l-ka*(null==e?1:e),this.a,this.b,this.opacity)},rgb:function(){var e=(this.l+16)/116,t=isNaN(this.a)?e:e+this.a/500,n=isNaN(this.b)?e:e-this.b/200;return e=Xn*V(e),t=Kn*V(t),n=Yn*V(n),new j(K(3.2404542*t-1.5371385*e-0.4985314*n),K(-0.969266*t+1.8760108*e+0.041556*n),K(0.0556434*t-0.2040259*e+1.0572252*n),this.opacity)}})),ra(X,function(e,t,n,i){return 1===arguments.length?z(e):new X(e,t,n,null==i?1:i)},_(L,{brighter:function(e){return new X(this.h,this.c,this.l+ka*(null==e?1:e),this.opacity)},darker:function(e){return new X(this.h,this.c,this.l-ka*(null==e?1:e),this.opacity)},rgb:function(){return H(this).rgb()}}));var Ca=-0.14861,A=+1.78277,B=-0.29227,C=-0.90649,D=+1.97294,E=D*C,Ta=D*A,_a=A*B-C*Ca;ra(Z,Q,_(L,{brighter:function(e){return e=null==e?la:In(la,e),new Z(this.h,this.s,this.l*e,this.opacity)},darker:function(e){return e=null==e?oa:In(oa,e),new Z(this.h,this.s,this.l*e,this.opacity)},rgb:function(){var e=isNaN(this.h)?0:(this.h+120)*ya,t=+this.l,n=isNaN(this.s)?0:this.s*t*(1-t),i=Mn(e),a=Dn(e);return new j(255*(t+n*(Ca*i+A*a)),255*(t+n*(B*i+C*a)),255*(t+n*(D*i)),this.opacity)}}));var La=function(e){return function(){return e}},Aa=function e(t){function n(e,t){var n=i((e=N(e)).r,(t=N(t)).r),a=i(e.g,t.g),d=i(e.b,t.b),r=ne(e.opacity,t.opacity);return function(i){return e.r=n(i),e.g=a(i),e.b=d(i),e.opacity=r(i),e+''}}var i=te(t);return n.gamma=e,n}(1),Ea=function(e,t){var n,i=t?t.length:0,a=e?Hn(i,e.length):0,d=Array(i),r=Array(i);for(n=0;n<a;++n)d[n]=ja(e[n],t[n]);for(;n<i;++n)r[n]=t[n];return function(e){for(n=0;n<a;++n)r[n]=d[n](e);return r}},Da=function(e,n){var i=new Date;return e=+e,n-=e,function(a){return i.setTime(e+n*a),i}},Ma=function(e,n){return e=+e,n-=e,function(i){return e+n*i}},Oa=function(e,t){var n,d={},i={};for(n in(null===e||'object'!=typeof e)&&(e={}),(null===t||'object'!=typeof t)&&(t={}),t)n in e?d[n]=ja(e[n],t[n]):i[n]=t[n];return function(e){for(n in d)i[n]=d[n](e);return i}},Ua=/[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g,Ia=new RegExp(Ua.source,'g'),Na=function(e,n){var t,a,d,r=Ua.lastIndex=Ia.lastIndex=0,o=-1,l=[],s=[];for(e+='',n+='';(t=Ua.exec(e))&&(a=Ia.exec(n));)(d=a.index)>r&&(d=n.slice(r,d),l[o]?l[o]+=d:l[++o]=d),(t=t[0])===(a=a[0])?l[o]?l[o]+=a:l[++o]=a:(l[++o]=null,s.push({i:o,x:Ma(t,a)})),r=Ia.lastIndex;return r<n.length&&(d=n.slice(r),l[o]?l[o]+=d:l[++o]=d),2>l.length?s[0]?ae(s[0].x):ie(n):(n=s.length,function(e){for(var t,a=0;a<n;++a)l[(t=s[a]).i]=t.x(e);return l.join('')})},ja=function(e,n){var i,a=typeof n;return null==n||'boolean'==a?La(n):('number'==a?Ma:'string'==a?(i=M(n))?(n=i,Aa):Na:n instanceof M?Aa:n instanceof Date?Da:Array.isArray(n)?Ea:'function'!=typeof n.valueOf&&'function'!=typeof n.toString||isNaN(n)?Oa:Ma)(e,n)},Ra=function(e,n){return e=+e,n-=e,function(i){return Pn(e+n*i)}};de(function(e,t){var n=t-e;return n?G(e,180<n||-180>n?n-360*Pn(n/360):n):La(isNaN(e)?t:e)});var qa,Fa=de(ne),Pa=function(e){return function(){return e}},Ha=function(e){return+e},za=[0,1],Ya=function(e,t){if(0>(n=(e=t?e.toExponential(t-1):e.toExponential()).indexOf('e')))return null;var n,i=e.slice(0,n);return[1<i.length?i[0]+i.slice(2):i,+e.slice(n+1)]},Ba=function(e){return e=Ya(Un(e)),e?e[1]:NaN},Wa=function(e,n){return function(a,d){for(var r=a.length,i=[],t=0,o=e[0],l=0;0<r&&0<o&&(l+o+1>d&&(o=Rn(1,d-l)),i.push(a.substring(r-=o,r+o)),!((l+=o+1)>d));)o=e[t=(t+1)%e.length];return i.reverse().join(n)}},Va=function(e){return function(t){return t.replace(/[0-9]/g,function(t){return e[+t]})}},Ka=function(e,t){var n=Ya(e,t);if(!n)return e+'';var i=n[0],a=n[1];return 0>a?'0.'+Array(-a).join('0')+i:i.length>a+1?i.slice(0,a+1)+'.'+i.slice(a+1):i+Array(a-i.length+2).join('0')},$a={"":function(e,t){e=e.toPrecision(t);out:for(var a,d=e.length,n=1,i=-1;n<d;++n)switch(e[n]){case'.':i=a=n;break;case'0':0===i&&(i=n),a=n;break;case'e':break out;default:0<i&&(i=0);}return 0<i?e.slice(0,i)+e.slice(a+1):e},"%":function(e,t){return(100*e).toFixed(t)},b:function(e){return Pn(e).toString(2)},c:function(e){return e+''},d:function(e){return Pn(e).toString(10)},e:function(e,t){return e.toExponential(t)},f:function(e,t){return e.toFixed(t)},g:function(e,t){return e.toPrecision(t)},o:function(e){return Pn(e).toString(8)},p:function(e,t){return Ka(100*e,t)},r:Ka,s:function(e,t){var a=Ya(e,t);if(!a)return e+'';var r=a[0],o=a[1],l=o-(qa=3*Rn(-8,Hn(8,Fn(o/3))))+1,i=r.length;return l===i?r:l>i?r+Array(l-i+1).join('0'):0<l?r.slice(0,l)+'.'+r.slice(l):'0.'+Array(1-l).join('0')+Ya(e,Rn(0,t+l-1))[0]},X:function(e){return Pn(e).toString(16).toUpperCase()},x:function(e){return Pn(e).toString(16)}},Xa=/^(?:(.)?([<>=^]))?([+\-\( ])?([$#])?(0)?(\d+)?(,)?(\.\d+)?([a-z%])?$/i;fe.prototype=he.prototype,he.prototype.toString=function(){return this.fill+this.align+this.sign+this.symbol+(this.zero?'0':'')+(null==this.width?'':Rn(1,0|this.width))+(this.comma?',':'')+(null==this.precision?'':'.'+Rn(0,0|this.precision))+this.type};var re,Ja,Qa,Za=function(e){return e},Ga=['y','z','a','f','p','n','\xB5','m','','k','M','G','T','P','E','Z','Y'],ed=function(e){function t(e){function t(e){var t,i,n,c=b,k=m;if('c'===h)k=y(e)+k,e='';else{e=+e;var v=0>e;if(e=y(Un(e),f),v&&0==+e&&(v=!1),c=(v?'('===s?s:'-':'-'===s||'('===s?'':s)+c,k=k+('s'===h?Ga[8+qa/3]:'')+(v&&'('===s?')':''),x)for(t=-1,i=e.length;++t<i;)if(n=e.charCodeAt(t),48>n||57<n){k=(46===n?d+e.slice(t+1):e.slice(t))+k,e=e.slice(0,t);break}}g&&!u&&(e=a(e,Infinity));var w=c.length+e.length+k.length,S=w<p?Array(p-w+1).join(o):'';switch(g&&u&&(e=a(S+e,S.length?p-k.length:Infinity),S=''),l){case'<':e=c+e+k+S;break;case'=':e=c+S+e+k;break;case'^':e=S.slice(0,w=S.length>>1)+c+e+k+S.slice(w);break;default:e=S+c+e+k;}return r(e)}e=fe(e);var o=e.fill,l=e.align,s=e.sign,c=e.symbol,u=e.zero,p=e.width,g=e.comma,f=e.precision,h=e.type,b='$'===c?n[0]:'#'===c&&/[boxX]/.test(h)?'0'+h.toLowerCase():'',m='$'===c?n[1]:/[%p]/.test(h)?i:'',y=$a[h],x=!h||/[defgprs%]/.test(h);return f=null==f?h?6:12:/[gprs]/.test(h)?Rn(1,Hn(21,f)):Rn(0,Hn(20,f)),t.toString=function(){return e+''},t}var a=e.grouping&&e.thousands?Wa(e.grouping,e.thousands):Za,n=e.currency,d=e.decimal,r=e.numerals?Va(e.numerals):Za,i=e.percent||'%';return{format:t,formatPrefix:function(n,i){var a=t((n=fe(n),n.type='f',n)),d=3*Rn(-8,Hn(8,Fn(Ba(i)/3))),r=In(10,-d),o=Ga[8+d/3];return function(e){return a(r*e)+o}}}};(function(e){return re=ed(e),Ja=re.format,Qa=re.formatPrefix,re})({decimal:'.',thousands:',',grouping:[3],currency:['$','']});var td=function(e){return Rn(0,-Ba(Un(e)))},nd=function(e,t){return Rn(0,3*Rn(-8,Hn(8,Fn(Ba(t)/3)))-Ba(Un(e)))},id=function(e,t){return e=Un(e),t=Un(t)-e,Rn(0,Ba(t)-Ba(e))+1},ad=function(e,t,n){var i,a=e[0],d=e[e.length-1],r=S(a,d,null==t?10:t);switch(n=fe(null==n?',f':n),n.type){case's':{var o=Rn(Un(a),Un(d));return null!=n.precision||isNaN(i=nd(r,o))||(n.precision=i),Qa(n,o)}case'':case'e':case'g':case'p':case'r':{null!=n.precision||isNaN(i=id(r,Rn(Un(a),Un(d))))||(n.precision=i-('e'===n.type));break}case'f':case'%':{null!=n.precision||isNaN(i=td(r))||(n.precision=i-2*('%'===n.type));break}}return Ja(n)},dd=new Date,rd=new Date,od=ye(function(){},function(e,t){e.setTime(+e+t)},function(e,t){return t-e});od.every=function(e){return e=Fn(e),isFinite(e)&&0<e?1<e?ye(function(t){t.setTime(Fn(t/e)*e)},function(t,n){t.setTime(+t+n*e)},function(t,n){return(n-t)/e}):od:null};var ld=1e3,sd=6e4,cd=36e5,ud=864e5,pd=6048e5,gd=ye(function(e){e.setTime(Fn(e/ld)*ld)},function(e,t){e.setTime(+e+t*ld)},function(e,t){return(t-e)/ld},function(e){return e.getUTCSeconds()}),fd=ye(function(e){e.setTime(Fn(e/sd)*sd)},function(e,t){e.setTime(+e+t*sd)},function(e,t){return(t-e)/sd},function(e){return e.getMinutes()}),hd=ye(function(e){var t=e.getTimezoneOffset()*sd%cd;0>t&&(t+=cd),e.setTime(Fn((+e-t)/cd)*cd+t)},function(e,t){e.setTime(+e+t*cd)},function(e,t){return(t-e)/cd},function(e){return e.getHours()}),bd=ye(function(e){e.setHours(0,0,0,0)},function(e,t){e.setDate(e.getDate()+t)},function(e,t){return(t-e-(t.getTimezoneOffset()-e.getTimezoneOffset())*sd)/ud},function(e){return e.getDate()-1}),md=xe(0),yd=xe(1),xd=xe(2),kd=xe(3),vd=xe(4),wd=xe(5),Sd=xe(6),Cd=ye(function(e){e.setDate(1),e.setHours(0,0,0,0)},function(e,t){e.setMonth(e.getMonth()+t)},function(e,t){return t.getMonth()-e.getMonth()+12*(t.getFullYear()-e.getFullYear())},function(e){return e.getMonth()}),Td=ye(function(e){e.setMonth(0,1),e.setHours(0,0,0,0)},function(e,t){e.setFullYear(e.getFullYear()+t)},function(e,t){return t.getFullYear()-e.getFullYear()},function(e){return e.getFullYear()});Td.every=function(e){return isFinite(e=Fn(e))&&0<e?ye(function(t){t.setFullYear(Fn(t.getFullYear()/e)*e),t.setMonth(0,1),t.setHours(0,0,0,0)},function(t,n){t.setFullYear(t.getFullYear()+n*e)}):null};var _d=ye(function(e){e.setUTCSeconds(0,0)},function(e,t){e.setTime(+e+t*sd)},function(e,t){return(t-e)/sd},function(e){return e.getUTCMinutes()}),Ld=ye(function(e){e.setUTCMinutes(0,0,0)},function(e,t){e.setTime(+e+t*cd)},function(e,t){return(t-e)/cd},function(e){return e.getUTCHours()}),Ad=ye(function(e){e.setUTCHours(0,0,0,0)},function(e,t){e.setUTCDate(e.getUTCDate()+t)},function(e,t){return(t-e)/ud},function(e){return e.getUTCDate()-1}),Ed=ke(0),Dd=ke(1),Md=ke(2),Od=ke(3),Ud=ke(4),Id=ke(5),Nd=ke(6),jd=ye(function(e){e.setUTCDate(1),e.setUTCHours(0,0,0,0)},function(e,t){e.setUTCMonth(e.getUTCMonth()+t)},function(e,t){return t.getUTCMonth()-e.getUTCMonth()+12*(t.getUTCFullYear()-e.getUTCFullYear())},function(e){return e.getUTCMonth()}),Rd=ye(function(e){e.setUTCMonth(0,1),e.setUTCHours(0,0,0,0)},function(e,t){e.setUTCFullYear(e.getUTCFullYear()+t)},function(e,t){return t.getUTCFullYear()-e.getUTCFullYear()},function(e){return e.getUTCFullYear()});Rd.every=function(e){return isFinite(e=Fn(e))&&0<e?ye(function(t){t.setUTCFullYear(Fn(t.getUTCFullYear()/e)*e),t.setUTCMonth(0,1),t.setUTCHours(0,0,0,0)},function(t,n){t.setUTCFullYear(t.getUTCFullYear()+n*e)}):null};var qd,Fd,Pd,Hd={0:'0',"-":'',_:' '},zd=/^\s*\d+/,Yd=/^%/,Bd=/[\\\^\$\*\+\?\|\[\]\(\)\.\{\}]/g;(function(e){return qd=Ce(e),Fd=qd.utcFormat,Pd=qd.utcParse,qd})({dateTime:'%x, %X',date:'%-m/%-d/%Y',time:'%-I:%M:%S %p',periods:['AM','PM'],days:['Sunday','Monday','Tuesday','Wednesday','Thursday','Friday','Saturday'],shortDays:['Sun','Mon','Tue','Wed','Thu','Fri','Sat'],months:['January','February','March','April','May','June','July','August','September','October','November','December'],shortMonths:['Jan','Feb','Mar','Apr','May','Jun','Jul','Aug','Sep','Oct','Nov','Dec']});var Wd='%Y-%m-%dT%H:%M:%S.%LZ',Vd=Date.prototype.toISOString?function(e){return e.toISOString()}:Fd(Wd),Kd=+new Date('2000-01-01T00:00:00.000Z')?function(e){var t=new Date(e);return isNaN(t)?null:t}:Pd(Wd),$d=function(e){return e.match(/.{6}/g).map(function(e){return'#'+e})};$d('1f77b4ff7f0e2ca02cd627289467bd8c564be377c27f7f7fbcbd2217becf'),$d('393b795254a36b6ecf9c9ede6379398ca252b5cf6bcedb9c8c6d31bd9e39e7ba52e7cb94843c39ad494ad6616be7969c7b4173a55194ce6dbdde9ed6'),$d('3182bd6baed69ecae1c6dbefe6550dfd8d3cfdae6bfdd0a231a35474c476a1d99bc7e9c0756bb19e9ac8bcbddcdadaeb636363969696bdbdbdd9d9d9'),$d('1f77b4aec7e8ff7f0effbb782ca02c98df8ad62728ff98969467bdc5b0d58c564bc49c94e377c2f7b6d27f7f7fc7c7c7bcbd22dbdb8d17becf9edae5'),Fa(Q(300,0.5,0),Q(-240,0.5,1));var Xd=Fa(Q(-100,0.75,0.35),Q(80,1.5,0.8)),Jd=Fa(Q(260,0.75,0.35),Q(80,1.5,0.8)),Qd=Q();yt($d('44015444025645045745055946075a46085c460a5d460b5e470d60470e6147106347116447136548146748166848176948186a481a6c481b6d481c6e481d6f481f70482071482173482374482475482576482677482878482979472a7a472c7a472d7b472e7c472f7d46307e46327e46337f463480453581453781453882443983443a83443b84433d84433e85423f854240864241864142874144874045884046883f47883f48893e49893e4a893e4c8a3d4d8a3d4e8a3c4f8a3c508b3b518b3b528b3a538b3a548c39558c39568c38588c38598c375a8c375b8d365c8d365d8d355e8d355f8d34608d34618d33628d33638d32648e32658e31668e31678e31688e30698e306a8e2f6b8e2f6c8e2e6d8e2e6e8e2e6f8e2d708e2d718e2c718e2c728e2c738e2b748e2b758e2a768e2a778e2a788e29798e297a8e297b8e287c8e287d8e277e8e277f8e27808e26818e26828e26828e25838e25848e25858e24868e24878e23888e23898e238a8d228b8d228c8d228d8d218e8d218f8d21908d21918c20928c20928c20938c1f948c1f958b1f968b1f978b1f988b1f998a1f9a8a1e9b8a1e9c891e9d891f9e891f9f881fa0881fa1881fa1871fa28720a38620a48621a58521a68522a78522a88423a98324aa8325ab8225ac8226ad8127ad8128ae8029af7f2ab07f2cb17e2db27d2eb37c2fb47c31b57b32b67a34b67935b77937b87838b9773aba763bbb753dbc743fbc7340bd7242be7144bf7046c06f48c16e4ac16d4cc26c4ec36b50c46a52c56954c56856c66758c7655ac8645cc8635ec96260ca6063cb5f65cb5e67cc5c69cd5b6ccd5a6ece5870cf5773d05675d05477d1537ad1517cd2507fd34e81d34d84d44b86d54989d5488bd6468ed64590d74393d74195d84098d83e9bd93c9dd93ba0da39a2da37a5db36a8db34aadc32addc30b0dd2fb2dd2db5de2bb8de29bade28bddf26c0df25c2df23c5e021c8e020cae11fcde11dd0e11cd2e21bd5e21ad8e219dae319dde318dfe318e2e418e5e419e7e419eae51aece51befe51cf1e51df4e61ef6e620f8e621fbe723fde725'));var Zd=yt($d('00000401000501010601010802010902020b02020d03030f03031204041405041606051806051a07061c08071e0907200a08220b09240c09260d0a290e0b2b100b2d110c2f120d31130d34140e36150e38160f3b180f3d19103f1a10421c10441d11471e114920114b21114e22115024125325125527125829115a2a115c2c115f2d11612f116331116533106734106936106b38106c390f6e3b0f703d0f713f0f72400f74420f75440f764510774710784910784a10794c117a4e117b4f127b51127c52137c54137d56147d57157e59157e5a167e5c167f5d177f5f187f601880621980641a80651a80671b80681c816a1c816b1d816d1d816e1e81701f81721f817320817521817621817822817922827b23827c23827e24828025828125818326818426818627818827818928818b29818c29818e2a81902a81912b81932b80942c80962c80982d80992d809b2e7f9c2e7f9e2f7fa02f7fa1307ea3307ea5317ea6317da8327daa337dab337cad347cae347bb0357bb2357bb3367ab5367ab73779b83779ba3878bc3978bd3977bf3a77c03a76c23b75c43c75c53c74c73d73c83e73ca3e72cc3f71cd4071cf4070d0416fd2426fd3436ed5446dd6456cd8456cd9466bdb476adc4869de4968df4a68e04c67e24d66e34e65e44f64e55064e75263e85362e95462ea5661eb5760ec5860ed5a5fee5b5eef5d5ef05f5ef1605df2625df2645cf3655cf4675cf4695cf56b5cf66c5cf66e5cf7705cf7725cf8745cf8765cf9785df9795df97b5dfa7d5efa7f5efa815ffb835ffb8560fb8761fc8961fc8a62fc8c63fc8e64fc9065fd9266fd9467fd9668fd9869fd9a6afd9b6bfe9d6cfe9f6dfea16efea36ffea571fea772fea973feaa74feac76feae77feb078feb27afeb47bfeb67cfeb77efeb97ffebb81febd82febf84fec185fec287fec488fec68afec88cfeca8dfecc8ffecd90fecf92fed194fed395fed597fed799fed89afdda9cfddc9efddea0fde0a1fde2a3fde3a5fde5a7fde7a9fde9aafdebacfcecaefceeb0fcf0b2fcf2b4fcf4b6fcf6b8fcf7b9fcf9bbfcfbbdfcfdbf')),Gd=yt($d('00000401000501010601010802010a02020c02020e03021004031204031405041706041907051b08051d09061f0a07220b07240c08260d08290e092b10092d110a30120a32140b34150b37160b39180c3c190c3e1b0c411c0c431e0c451f0c48210c4a230c4c240c4f260c51280b53290b552b0b572d0b592f0a5b310a5c320a5e340a5f3609613809623909633b09643d09653e0966400a67420a68440a68450a69470b6a490b6a4a0c6b4c0c6b4d0d6c4f0d6c510e6c520e6d540f6d550f6d57106e59106e5a116e5c126e5d126e5f136e61136e62146e64156e65156e67166e69166e6a176e6c186e6d186e6f196e71196e721a6e741a6e751b6e771c6d781c6d7a1d6d7c1d6d7d1e6d7f1e6c801f6c82206c84206b85216b87216b88226a8a226a8c23698d23698f24699025689225689326679526679727669827669a28659b29649d29649f2a63a02a63a22b62a32c61a52c60a62d60a82e5fa92e5eab2f5ead305dae305cb0315bb1325ab3325ab43359b63458b73557b93556ba3655bc3754bd3853bf3952c03a51c13a50c33b4fc43c4ec63d4dc73e4cc83f4bca404acb4149cc4248ce4347cf4446d04545d24644d34743d44842d54a41d74b3fd84c3ed94d3dda4e3cdb503bdd513ade5238df5337e05536e15635e25734e35933e45a31e55c30e65d2fe75e2ee8602de9612bea632aeb6429eb6628ec6726ed6925ee6a24ef6c23ef6e21f06f20f1711ff1731df2741cf3761bf37819f47918f57b17f57d15f67e14f68013f78212f78410f8850ff8870ef8890cf98b0bf98c0af98e09fa9008fa9207fa9407fb9606fb9706fb9906fb9b06fb9d07fc9f07fca108fca309fca50afca60cfca80dfcaa0ffcac11fcae12fcb014fcb216fcb418fbb61afbb81dfbba1ffbbc21fbbe23fac026fac228fac42afac62df9c72ff9c932f9cb35f8cd37f8cf3af7d13df7d340f6d543f6d746f5d949f5db4cf4dd4ff4df53f4e156f3e35af3e55df2e661f2e865f2ea69f1ec6df1ed71f1ef75f1f179f2f27df2f482f3f586f3f68af4f88ef5f992f6fa96f8fb9af9fc9dfafda1fcffa4')),er=yt($d('0d088710078813078916078a19068c1b068d1d068e20068f2206902406912605912805922a05932c05942e05952f059631059733059735049837049938049a3a049a3c049b3e049c3f049c41049d43039e44039e46039f48039f4903a04b03a14c02a14e02a25002a25102a35302a35502a45601a45801a45901a55b01a55c01a65e01a66001a66100a76300a76400a76600a76700a86900a86a00a86c00a86e00a86f00a87100a87201a87401a87501a87701a87801a87a02a87b02a87d03a87e03a88004a88104a78305a78405a78606a68707a68808a68a09a58b0aa58d0ba58e0ca48f0da4910ea3920fa39410a29511a19613a19814a099159f9a169f9c179e9d189d9e199da01a9ca11b9ba21d9aa31e9aa51f99a62098a72197a82296aa2395ab2494ac2694ad2793ae2892b02991b12a90b22b8fb32c8eb42e8db52f8cb6308bb7318ab83289ba3388bb3488bc3587bd3786be3885bf3984c03a83c13b82c23c81c33d80c43e7fc5407ec6417dc7427cc8437bc9447aca457acb4679cc4778cc4977cd4a76ce4b75cf4c74d04d73d14e72d24f71d35171d45270d5536fd5546ed6556dd7566cd8576bd9586ada5a6ada5b69db5c68dc5d67dd5e66de5f65de6164df6263e06363e16462e26561e26660e3685fe4695ee56a5de56b5de66c5ce76e5be76f5ae87059e97158e97257ea7457eb7556eb7655ec7754ed7953ed7a52ee7b51ef7c51ef7e50f07f4ff0804ef1814df1834cf2844bf3854bf3874af48849f48948f58b47f58c46f68d45f68f44f79044f79143f79342f89441f89540f9973ff9983ef99a3efa9b3dfa9c3cfa9e3bfb9f3afba139fba238fca338fca537fca636fca835fca934fdab33fdac33fdae32fdaf31fdb130fdb22ffdb42ffdb52efeb72dfeb82cfeba2cfebb2bfebd2afebe2afec029fdc229fdc328fdc527fdc627fdc827fdca26fdcb26fccd25fcce25fcd025fcd225fbd324fbd524fbd724fad824fada24f9dc24f9dd25f8df25f8e125f7e225f7e425f6e626f6e826f5e926f5eb27f4ed27f3ee27f3f027f2f227f1f426f1f525f0f724f0f921')),tr={value:function(){}};kt.prototype=xt.prototype={constructor:kt,on:function(e,a){var d,t=this._,r=vt(e+'',t),o=-1,i=r.length;if(2>arguments.length){for(;++o<i;)if((d=(e=r[o]).type)&&(d=wt(t[d],e.name)))return d;return}if(null!=a&&'function'!=typeof a)throw new Error('invalid callback: '+a);for(;++o<i;)if(d=(e=r[o]).type)t[d]=St(t[d],e.name,a);else if(null==a)for(d in t)t[d]=St(t[d],e.name,null);return this},copy:function(){var e={},n=this._;for(var i in n)e[i]=n[i].slice();return new kt(e)},call:function(e,a){if(0<(d=arguments.length-2))for(var d,n,t=Array(d),r=0;r<d;++r)t[r]=arguments[r+2];if(!this._.hasOwnProperty(e))throw new Error('unknown type: '+e);for(n=this._[e],r=0,d=n.length;r<d;++r)n[r].value.apply(a,t)},apply:function(e,a,d){if(!this._.hasOwnProperty(e))throw new Error('unknown type: '+e);for(var r=this._[e],t=0,i=r.length;t<i;++t)r[t].value.apply(a,d)}};var nr='http://www.w3.org/1999/xhtml',ir={svg:'http://www.w3.org/2000/svg',xhtml:nr,xlink:'http://www.w3.org/1999/xlink',xml:'http://www.w3.org/XML/1998/namespace',xmlns:'http://www.w3.org/2000/xmlns/'},ar=function(e){var t=e+='',n=t.indexOf(':');return 0<=n&&'xmlns'!==(t=e.slice(0,n))&&(e=e.slice(n+1)),ir.hasOwnProperty(t)?{space:ir[t],local:e}:e},dr=function(e){var t=ar(e);return(t.local?Tt:Ct)(t)},rr=function(e){return function(){return this.matches(e)}};if('undefined'!=typeof document){var or=document.documentElement;if(!or.matches){var lr=or.webkitMatchesSelector||or.msMatchesSelector||or.mozMatchesSelector||or.oMatchesSelector;rr=function(e){return function(){return lr.call(this,e)}}}}var sr=rr,cr={},ur=null;if('undefined'!=typeof document){var pr=document.documentElement;'onmouseenter'in pr||(cr={mouseenter:'mouseover',mouseleave:'mouseout'})}var gr=function(){for(var e,t=ur;e=t.sourceEvent;)t=e;return t},fr=function(e,t){var n=e.ownerSVGElement||e;if(n.createSVGPoint){var i=n.createSVGPoint();return i.x=t.clientX,i.y=t.clientY,i=i.matrixTransform(e.getScreenCTM().inverse()),[i.x,i.y]}var a=e.getBoundingClientRect();return[t.clientX-a.left-e.clientLeft,t.clientY-a.top-e.clientTop]},hr=function(e){var t=gr();return t.changedTouches&&(t=t.changedTouches[0]),fr(e,t)},br=function(e){return null==e?Ot:function(){return this.querySelector(e)}},mr=function(e){return null==e?Ut:function(){return this.querySelectorAll(e)}},yr=function(e){return Array(e.length)};It.prototype={constructor:It,appendChild:function(e){return this._parent.insertBefore(e,this._next)},insertBefore:function(e,t){return this._parent.insertBefore(e,t)},querySelector:function(e){return this._parent.querySelector(e)},querySelectorAll:function(e){return this._parent.querySelectorAll(e)}};var xr=function(e){return function(){return e}},kr='$',vr=function(e){return e.ownerDocument&&e.ownerDocument.defaultView||e.document&&e||e.defaultView};Gt.prototype={add:function(e){var t=this._names.indexOf(e);0>t&&(this._names.push(e),this._node.setAttribute('class',this._names.join(' ')))},remove:function(e){var t=this._names.indexOf(e);0<=t&&(this._names.splice(t,1),this._node.setAttribute('class',this._names.join(' ')))},contains:function(e){return 0<=this._names.indexOf(e)}};var wr=[null];xn.prototype=function(){return new xn([[document.documentElement]],wr)}.prototype={constructor:xn,select:function(e){'function'!=typeof e&&(e=br(e));for(var t=this._groups,a=t.length,d=Array(a),r=0;r<a;++r)for(var o,l,s=t[r],c=s.length,n=d[r]=Array(c),u=0;u<c;++u)(o=s[u])&&(l=e.call(o,o.__data__,u,s))&&('__data__'in o&&(l.__data__=o.__data__),n[u]=l);return new xn(d,this._parents)},selectAll:function(e){'function'!=typeof e&&(e=mr(e));for(var t=this._groups,a=t.length,d=[],r=[],o=0;o<a;++o)for(var l,s=t[o],c=s.length,n=0;n<c;++n)(l=s[n])&&(d.push(e.call(l,l.__data__,n,s)),r.push(l));return new xn(d,r)},filter:function(e){'function'!=typeof e&&(e=sr(e));for(var t=this._groups,a=t.length,d=Array(a),r=0;r<a;++r)for(var o,l=t[r],s=l.length,n=d[r]=[],c=0;c<s;++c)(o=l[c])&&e.call(o,o.__data__,c,l)&&n.push(o);return new xn(d,this._parents)},data:function(e,t){if(!e)return g=Array(this.size()),s=-1,this.each(function(e){g[++s]=e}),g;var n=t?jt:Nt,i=this._parents,a=this._groups;'function'!=typeof e&&(e=xr(e));for(var d=a.length,r=Array(d),o=Array(d),l=Array(d),s=0;s<d;++s){var c=i[s],u=a[s],p=u.length,g=e.call(c,c&&c.__data__,s,i),f=g.length,h=o[s]=Array(f),b=r[s]=Array(f),m=l[s]=Array(p);n(c,u,h,b,m,g,t);for(var y,x,k=0,v=0;k<f;++k)if(y=h[k]){for(k>=v&&(v=k+1);!(x=b[v])&&++v<f;);y._next=x||null}}return r=new xn(r,i),r._enter=o,r._exit=l,r},enter:function(){return new xn(this._enter||this._groups.map(yr),this._parents)},exit:function(){return new xn(this._exit||this._groups.map(yr),this._parents)},merge:function(e){for(var t=this._groups,a=e._groups,d=t.length,r=a.length,o=Hn(d,r),l=Array(d),s=0;s<o;++s)for(var c,u=t[s],p=a[s],g=u.length,n=l[s]=Array(g),f=0;f<g;++f)(c=u[f]||p[f])&&(n[f]=c);for(;s<d;++s)l[s]=t[s];return new xn(l,this._parents)},order:function(){for(var e=this._groups,t=-1,n=e.length;++t<n;)for(var a,d=e[t],r=d.length-1,i=d[r];0<=--r;)(a=d[r])&&(i&&i!==a.nextSibling&&i.parentNode.insertBefore(a,i),i=a);return this},sort:function(e){function t(t,n){return t&&n?e(t.__data__,n.__data__):!t-!n}e||(e=Rt);for(var a=this._groups,d=a.length,r=Array(d),o=0;o<d;++o){for(var l,s=a[o],c=s.length,n=r[o]=Array(c),u=0;u<c;++u)(l=s[u])&&(n[u]=l);n.sort(t)}return new xn(r,this._parents).order()},call:function(){var e=arguments[0];return arguments[0]=this,e.apply(null,arguments),this},nodes:function(){var e=Array(this.size()),t=-1;return this.each(function(){e[++t]=this}),e},node:function(){for(var e=this._groups,t=0,a=e.length;t<a;++t)for(var d,r=e[t],o=0,i=r.length;o<i;++o)if(d=r[o],d)return d;return null},size:function(){var e=0;return this.each(function(){++e}),e},empty:function(){return!this.node()},each:function(e){for(var t=this._groups,a=0,d=t.length;a<d;++a)for(var r,o=t[a],l=0,i=o.length;l<i;++l)(r=o[l])&&e.call(r,r.__data__,l,o);return this},attr:function(e,t){var n=ar(e);if(2>arguments.length){var i=this.node();return n.local?i.getAttributeNS(n.space,n.local):i.getAttribute(n)}return this.each((null==t?n.local?Ft:qt:'function'==typeof t?n.local?Yt:zt:n.local?Ht:Pt)(n,t))},style:function(e,t,n){return 1<arguments.length?this.each((null==t?Bt:'function'==typeof t?Vt:Wt)(e,t,null==n?'':n)):Kt(this.node(),e)},property:function(e,t){return 1<arguments.length?this.each((null==t?$t:'function'==typeof t?Jt:Xt)(e,t)):this.node()[e]},classed:function(e,t){var a=Qt(e+'');if(2>arguments.length){for(var d=Zt(this.node()),r=-1,i=a.length;++r<i;)if(!d.contains(a[r]))return!1;return!0}return this.each(('function'==typeof t?dn:t?nn:an)(a,t))},text:function(e){return arguments.length?this.each(null==e?rn:('function'==typeof e?ln:on)(e)):this.node().textContent},html:function(e){return arguments.length?this.each(null==e?sn:('function'==typeof e?un:cn)(e)):this.node().innerHTML},raise:function(){return this.each(pn)},lower:function(){return this.each(gn)},append:function(e){var t='function'==typeof e?e:dr(e);return this.select(function(){return this.appendChild(t.apply(this,arguments))})},insert:function(e,t){var n='function'==typeof e?e:dr(e),i=null==t?fn:'function'==typeof t?t:br(t);return this.select(function(){return this.insertBefore(n.apply(this,arguments),i.apply(this,arguments)||null)})},remove:function(){return this.each(hn)},datum:function(e){return arguments.length?this.property('__data__',e):this.node().__data__},on:function(e,a,d){var r,i,t=At(e+''),l=t.length;if(2>arguments.length){var n=this.node().__on;if(n)for(var s,o=0,c=n.length;o<c;++o)for(r=0,s=n[o];r<l;++r)if((i=t[r]).type===s.type&&i.name===s.name)return s.value;return}for(n=a?Dt:Et,null==d&&(d=!1),r=0;r<l;++r)this.each(n(t[r],a,d));return this},dispatch:function(e,t){return this.each(('function'==typeof t?yn:mn)(e,t))}};var Sr=function(e){return'string'==typeof e?new xn([[document.querySelector(e)]],[document.documentElement]):new xn([[e]],wr)},Cr=function(e,t,a){3>arguments.length&&(a=t,t=gr().changedTouches);for(var d,r=0,i=t?t.length:0;r<i;++r)if((d=t[r]).identifier===a)return fr(e,d);return null},Tr=function(){ur.preventDefault(),ur.stopImmediatePropagation()},_r=function(e){var t=e.document.documentElement,n=Sr(e).on('dragstart.drag',Tr,!0);'onselectstart'in t?n.on('selectstart.drag',Tr,!0):(t.__noselect=t.style.MozUserSelect,t.style.MozUserSelect='none')},Lr=function(e){return function(){return e}};wn.prototype.on=function(){var e=this._.on.apply(this._,arguments);return e===this._?this:e};var Ar=function(){function e(e){e.on('mousedown.drag',t).filter(h).on('touchstart.drag',a).on('touchmove.drag',d).on('touchend.drag touchcancel.drag',r).style('touch-action','none').style('-webkit-tap-highlight-color','rgba(0,0,0,0)')}function t(){if(!u&&p.apply(this,arguments)){var e=o('mouse',g.apply(this,arguments),hr,this,arguments);e&&(Sr(ur.view).on('mousemove.drag',n,!0).on('mouseup.drag',i,!0),_r(ur.view),kn(),c=!1,l=ur.clientX,s=ur.clientY,e('start'))}}function n(){if(Tr(),!c){var e=ur.clientX-l,t=ur.clientY-s;c=e*e+t*t>x}b.mouse('drag')}function i(){Sr(ur.view).on('mousemove.drag mouseup.drag',null),vn(ur.view,c),Tr(),b.mouse('end')}function a(){if(p.apply(this,arguments)){var e,t,i=ur.changedTouches,a=g.apply(this,arguments),d=i.length;for(e=0;e<d;++e)(t=o(i[e].identifier,a,Cr,this,arguments))&&(kn(),t('start'))}}function d(){var e,t,i=ur.changedTouches,a=i.length;for(e=0;e<a;++e)(t=b[i[e].identifier])&&(Tr(),t('drag'))}function r(){var e,t,i=ur.changedTouches,a=i.length;for(u&&clearTimeout(u),u=setTimeout(function(){u=null},500),e=0;e<a;++e)(t=b[i[e].identifier])&&(kn(),t('end'))}function o(t,i,a,d,r){var o,l,s,c=a(i,t),u=m.copy();return Mt(new wn(e,'beforestart',o,t,y,c[0],c[1],0,0,u),function(){return null!=(ur.subject=o=f.apply(d,r))&&(l=o.x-c[0]||0,s=o.y-c[1]||0,!0)})?function p(g){var f,n=c;switch(g){case'start':b[t]=p,f=y++;break;case'end':delete b[t],--y;case'drag':c=a(i,t),f=y;}Mt(new wn(e,g,o,t,f,c[0]+l,c[1]+s,c[0]-n[0],c[1]-n[1],u),u.apply,u,[g,d,r])}:void 0}var l,s,c,u,p=Sn,g=Cn,f=Tn,h=_n,b={},m=xt('start','drag','end'),y=0,x=0;return e.filter=function(t){return arguments.length?(p='function'==typeof t?t:Lr(!!t),e):p},e.container=function(t){return arguments.length?(g='function'==typeof t?t:Lr(t),e):g},e.subject=function(t){return arguments.length?(f='function'==typeof t?t:Lr(t),e):f},e.touchable=function(t){return arguments.length?(h='function'==typeof t?t:Lr(!!t),e):h},e.on=function(){var t=m.on.apply(m,arguments);return t===m?e:t},e.clickDistance=function(t){return arguments.length?(x=(t=+t)*t,e):An(x)},e};const Er=ti('d-slider',` -<style> - :host { - position: relative; - display: inline-block; - } - - :host(:focus) { - outline: none; - } - - .background { - padding: 9px 0; - color: white; - position: relative; - } - - .track { - height: 3px; - width: 100%; - border-radius: 2px; - background-color: hsla(0, 0%, 0%, 0.2); - } - - .track-fill { - position: absolute; - top: 9px; - height: 3px; - border-radius: 4px; - background-color: hsl(24, 100%, 50%); - } - - .knob-container { - position: absolute; - top: 10px; - } - - .knob { - position: absolute; - top: -6px; - left: -6px; - width: 13px; - height: 13px; - background-color: hsl(24, 100%, 50%); - border-radius: 50%; - transition-property: transform; - transition-duration: 0.18s; - transition-timing-function: ease; - } - .mousedown .knob { - transform: scale(1.5); - } - - .knob-highlight { - position: absolute; - top: -6px; - left: -6px; - width: 13px; - height: 13px; - background-color: hsla(0, 0%, 0%, 0.1); - border-radius: 50%; - transition-property: transform; - transition-duration: 0.18s; - transition-timing-function: ease; - } - - .focus .knob-highlight { - transform: scale(2); - } - - .ticks { - position: absolute; - top: 16px; - height: 4px; - width: 100%; - z-index: -1; - } - - .ticks .tick { - position: absolute; - height: 100%; - border-left: 1px solid hsla(0, 0%, 0%, 0.2); - } - -</style> - - <div class='background'> - <div class='track'></div> - <div class='track-fill'></div> - <div class='knob-container'> - <div class='knob-highlight'></div> - <div class='knob'></div> - </div> - <div class='ticks'></div> - </div> -`),Dr={left:37,up:38,right:39,down:40,pageUp:33,pageDown:34,end:35,home:36};class Mr extends Er(HTMLElement){connectedCallback(){this.connected=!0,this.setAttribute('role','slider'),this.hasAttribute('tabindex')||this.setAttribute('tabindex',0),this.mouseEvent=!1,this.knob=this.root.querySelector('.knob-container'),this.background=this.root.querySelector('.background'),this.trackFill=this.root.querySelector('.track-fill'),this.track=this.root.querySelector('.track'),this.min=this.min?this.min:0,this.max=this.max?this.max:100,this.scale=me().domain([this.min,this.max]).range([0,1]).clamp(!0),this.origin=this.origin===void 0?this.min:this.origin,this.step=this.step?this.step:1,this.update(this.value?this.value:0),this.ticks=!!this.ticks&&this.ticks,this.renderTicks(),this.drag=Ar().container(this.background).on('start',()=>{this.mouseEvent=!0,this.background.classList.add('mousedown'),this.changeValue=this.value,this.dragUpdate()}).on('drag',()=>{this.dragUpdate()}).on('end',()=>{this.mouseEvent=!1,this.background.classList.remove('mousedown'),this.dragUpdate(),this.changeValue!==this.value&&this.dispatchChange(),this.changeValue=this.value}),this.drag(Sr(this.background)),this.addEventListener('focusin',()=>{this.mouseEvent||this.background.classList.add('focus')}),this.addEventListener('focusout',()=>{this.background.classList.remove('focus')}),this.addEventListener('keydown',this.onKeyDown)}static get observedAttributes(){return['min','max','value','step','ticks','origin','tickValues','tickLabels']}attributeChangedCallback(e,t,n){isNaN(n)||void 0===n||null===n||('min'==e&&(this.min=+n,this.setAttribute('aria-valuemin',this.min)),'max'==e&&(this.max=+n,this.setAttribute('aria-valuemax',this.max)),'value'==e&&this.update(+n),'origin'==e&&(this.origin=+n),'step'==e&&0<n&&(this.step=+n),'ticks'==e&&(this.ticks=!(''!==n)||n))}onKeyDown(e){this.changeValue=this.value;let t=!1;switch(e.keyCode){case Dr.left:case Dr.down:this.update(this.value-this.step),t=!0;break;case Dr.right:case Dr.up:this.update(this.value+this.step),t=!0;break;case Dr.pageUp:this.update(this.value+10*this.step),t=!0;break;case Dr.pageDown:this.update(this.value+10*this.step),t=!0;break;case Dr.home:this.update(this.min),t=!0;break;case Dr.end:this.update(this.max),t=!0;break;default:}t&&(this.background.classList.add('focus'),e.preventDefault(),e.stopPropagation(),this.changeValue!==this.value&&this.dispatchChange())}validateValueRange(e,t,n){return Rn(Hn(t,n),e)}quantizeValue(e,t){return Pn(e/t)*t}dragUpdate(){const e=this.background.getBoundingClientRect(),t=ur.x,n=e.width;this.update(this.scale.invert(t/n))}update(e){let t=e;'any'!==this.step&&(t=this.quantizeValue(e,this.step)),t=this.validateValueRange(this.min,this.max,t),this.connected&&(this.knob.style.left=100*this.scale(t)+'%',this.trackFill.style.width=100*this.scale(this.min+Un(t-this.origin))+'%',this.trackFill.style.left=100*this.scale(Hn(t,this.origin))+'%'),this.value!==t&&(this.value=t,this.setAttribute('aria-valuenow',this.value),this.dispatchInput())}dispatchChange(){const t=new Event('change');this.dispatchEvent(t,{})}dispatchInput(){const t=new Event('input');this.dispatchEvent(t,{})}renderTicks(){const e=this.root.querySelector('.ticks');if(!1!==this.ticks){let t=[];t=0<this.ticks?this.scale.ticks(this.ticks):'any'===this.step?this.scale.ticks():Zi(this.min,this.max+1e-6,this.step),t.forEach((t)=>{const n=document.createElement('div');n.classList.add('tick'),n.style.left=100*this.scale(t)+'%',e.appendChild(n)})}else e.style.display='none'}}var Or='<svg viewBox="-607 419 64 64">\n <path d="M-573.4,478.9c-8,0-14.6-6.4-14.6-14.5s14.6-25.9,14.6-40.8c0,14.9,14.6,32.8,14.6,40.8S-565.4,478.9-573.4,478.9z"/>\n</svg>\n';const Ur=ti('distill-header',` -<style> -distill-header { - position: relative; - height: 60px; - background-color: hsl(200, 60%, 15%); - width: 100%; - box-sizing: border-box; - z-index: 2; - color: rgba(0, 0, 0, 0.8); - border-bottom: 1px solid rgba(0, 0, 0, 0.08); - box-shadow: 0 1px 6px rgba(0, 0, 0, 0.05); -} -distill-header .content { - height: 70px; - grid-column: page; -} -distill-header a { - font-size: 16px; - height: 60px; - line-height: 60px; - text-decoration: none; - color: rgba(255, 255, 255, 0.8); - padding: 22px 0; -} -distill-header a:hover { - color: rgba(255, 255, 255, 1); -} -distill-header svg { - width: 24px; - position: relative; - top: 4px; - margin-right: 2px; -} -@media(min-width: 1080px) { - distill-header { - height: 70px; - } - distill-header a { - height: 70px; - line-height: 70px; - padding: 28px 0; - } - distill-header .logo { - } -} -distill-header svg path { - fill: none; - stroke: rgba(255, 255, 255, 0.8); - stroke-width: 3px; -} -distill-header .logo { - font-size: 17px; - font-weight: 200; -} -distill-header .nav { - float: right; - font-weight: 300; -} -distill-header .nav a { - font-size: 12px; - margin-left: 24px; - text-transform: uppercase; -} -</style> -<div class="content"> - <a href="/" class="logo"> - ${Or} - Distill - </a> - <nav class="nav"> - <a href="/about/">About</a> - <a href="/prize/">Prize</a> - <a href="/journal/">Submit</a> - </nav> -</div> -`,!1);class Ir extends Ur(HTMLElement){}const Nr=` -<style> - distill-appendix { - contain: layout style; - } - - distill-appendix .citation { - font-size: 11px; - line-height: 15px; - border-left: 1px solid rgba(0, 0, 0, 0.1); - padding-left: 18px; - border: 1px solid rgba(0,0,0,0.1); - background: rgba(0, 0, 0, 0.02); - padding: 10px 18px; - border-radius: 3px; - color: rgba(150, 150, 150, 1); - overflow: hidden; - margin-top: -12px; - white-space: pre-wrap; - word-wrap: break-word; - } - - distill-appendix > * { - grid-column: text; - } -</style> -`;class jr extends HTMLElement{static get is(){return'distill-appendix'}set frontMatter(e){this.innerHTML=Ln(e)}}const Rr=ti('distill-footer',` -<style> - -:host { - color: rgba(255, 255, 255, 0.5); - font-weight: 300; - padding: 2rem 0; - border-top: 1px solid rgba(0, 0, 0, 0.1); - background-color: hsl(180, 5%, 15%); /*hsl(200, 60%, 15%);*/ - text-align: left; - contain: content; -} - -.logo svg { - width: 24px; - position: relative; - top: 4px; - margin-right: 2px; -} - -.logo svg path { - fill: none; - stroke: rgba(255, 255, 255, 0.8); - stroke-width: 3px; -} - -.logo { - font-size: 17px; - font-weight: 200; - color: rgba(255, 255, 255, 0.8); - text-decoration: none; - margin-right: 6px; -} - -.container { - grid-column: text; -} - -.nav { - font-size: 0.9em; - margin-top: 1.5em; -} - -.nav a { - color: rgba(255, 255, 255, 0.8); - margin-right: 6px; - text-decoration: none; -} - -</style> - -<div class='container'> - - <a href="/" class="logo"> - ${Or} - Distill - </a> is dedicated to clear explanations of machine learning - - <div class="nav"> - <a href="https://distill.pub/about/">About</a> - <a href="https://distill.pub/journal/">Submit</a> - <a href="https://distill.pub/prize/">Prize</a> - <a href="https://distill.pub/archive/">Archive</a> - <a href="https://distill.pub/rss.xml">RSS</a> - <a href="https://github.com/distillpub">GitHub</a> - <a href="https://twitter.com/distillpub">Twitter</a> - ISSN 2476-0757 - </div> - -</div> - -`);class qr extends Rr(HTMLElement){}const Fr=function(){if(1>window.distillRunlevel)throw new Error('Insufficient Runlevel for Distill Template!');if('distillTemplateIsLoading'in window&&window.distillTemplateIsLoading)throw new Error('Runlevel 1: Distill Template is getting loaded more than once, aborting!');else window.distillTemplateIsLoading=!0,console.info('Runlevel 1: Distill Template has started loading.');p(document),console.info('Runlevel 1: Static Distill styles have been added.'),console.info('Runlevel 1->2.'),window.distillRunlevel+=1;for(const[e,t]of Object.entries(hi.listeners))'function'==typeof t?document.addEventListener(e,t):console.error('Runlevel 2: Controller listeners need to be functions!');console.info('Runlevel 2: We can now listen to controller events.'),console.info('Runlevel 2->3.'),window.distillRunlevel+=1;if(2>window.distillRunlevel)throw new Error('Insufficient Runlevel for adding custom elements!');const e=[ki,wi,Ci,Li,Ai,Di,Oi,Ni,Ri,Fi,pi,Hi,zi,T,Bi,Wi,Vi,Mr,$i].concat([Ir,jr,qr]);for(const t of e)console.info('Runlevel 2: Registering custom element: '+t.is),customElements.define(t.is,t);console.info('Runlevel 3: Distill Template finished registering custom elements.'),console.info('Runlevel 3->4.'),window.distillRunlevel+=1,hi.listeners.DOMContentLoaded(),console.info('Runlevel 4: Distill Template initialisation complete.')};window.distillRunlevel=0,yi.browserSupportsAllFeatures()?(console.info('Runlevel 0: No need for polyfills.'),console.info('Runlevel 0->1.'),window.distillRunlevel+=1,Fr()):(console.info('Runlevel 0: Distill Template is loading polyfills.'),yi.load(Fr))}); -//# sourceMappingURL=template.v2.js.map -} +function load_distill_framework() { +(function(e,t){'object'==typeof exports&&'undefined'!=typeof module?t():'function'==typeof define&&define.amd?define(t):t()})(this,function(){'use strict';function e(e,t){e.title=t.title,t.published&&(t.published instanceof Date?e.publishedDate=t.published:t.published.constructor===String&&(e.publishedDate=new Date(t.published))),t.publishedDate&&(t.publishedDate instanceof Date?e.publishedDate=t.publishedDate:t.publishedDate.constructor===String?e.publishedDate=new Date(t.publishedDate):console.error('Don\'t know what to do with published date: '+t.publishedDate)),e.description=t.description,e.authors=t.authors.map((e)=>new Qn(e)),e.katex=t.katex,e.password=t.password}function t(e=document){const t=new Set,n=e.querySelectorAll('d-cite');for(const i of n){const e=i.getAttribute('key').split(',');for(const n of e)t.add(n)}return[...t]}function n(e,t,n,i){if(null==e.author)return'';var a=e.author.split(' and ');let d=a.map((e)=>{if(e=e.trim(),e.match(/\{.+\}/)){var n=/\{([^}]+)\}/,i=n.exec(e);return i[1]}if(-1!=e.indexOf(','))var a=e.split(',')[0].trim(),d=e.split(',')[1];else var a=e.split(' ').slice(-1)[0].trim(),d=e.split(' ').slice(0,-1).join(' ');var r='';return void 0!=d&&(r=d.trim().split(' ').map((e)=>e.trim()[0]),r=r.join('.')+'.'),t.replace('${F}',d).replace('${L}',a).replace('${I}',r)});if(1<a.length){var r=d.slice(0,a.length-1).join(n);return r+=(i||n)+d[a.length-1],r}return d[0]}function i(e){var t=e.journal||e.booktitle||'';if('volume'in e){var n=e.issue||e.number;n=void 0==n?'':'('+n+')',t+=', Vol '+e.volume+n}return'pages'in e&&(t+=', pp. '+e.pages),''!=t&&(t+='. '),'publisher'in e&&(t+=e.publisher,'.'!=t[t.length-1]&&(t+='.')),t}function a(e){if('url'in e){var t=e.url,n=/arxiv\.org\/abs\/([0-9\.]*)/.exec(t);if(null!=n&&(t=`http://arxiv.org/pdf/${n[1]}.pdf`),'.pdf'==t.slice(-4))var i='PDF';else if('.html'==t.slice(-5))var i='HTML';return`  <a href="${t}">[${i||'link'}]</a>`}return''}function d(e,t){return'doi'in e?`${t?'<br>':''} <a href="https://doi.org/${e.doi}" style="text-decoration:inherit;">DOI: ${e.doi}</a>`:''}function r(e){return'<span class="title">'+e.title+'</span> '}function o(e){if(e){var t=r(e);return t+=a(e)+'<br>',e.author&&(t+=n(e,'${L}, ${I}',', ',' and '),(e.year||e.date)&&(t+=', ')),t+=e.year||e.date?(e.year||e.date)+'. ':'. ',t+=i(e),t+=d(e),t}return'?'}function l(e){if(e){var t='';t+='<strong>'+e.title+'</strong>',t+=a(e),t+='<br>';var r=n(e,'${I} ${L}',', ')+'.',o=i(e).trim()+' '+e.year+'. '+d(e,!0);return t+=(r+o).length<Hn(40,e.title.length)?r+' '+o:r+'<br>'+o,t}return'?'}function s(e){for(let t of e.authors){const e=!!t.affiliation,n=!!t.affiliations;if(e)if(n)console.warn(`Author ${t.author} has both old-style ("affiliation" & "affiliationURL") and new style ("affiliations") affiliation information!`);else{let e={name:t.affiliation};t.affiliationURL&&(e.url=t.affiliationURL),t.affiliations=[e]}}return console.log(e),e}function c(e){const t=e.querySelector('script');if(t){const e=t.getAttribute('type');if('json'==e.split('/')[1]){const e=t.textContent,n=JSON.parse(e);return s(n)}console.error('Distill only supports JSON frontmatter tags anymore; no more YAML.')}else console.error('You added a frontmatter tag but did not provide a script tag with front matter data in it. Please take a look at our templates.');return{}}function u(){return-1!==['interactive','complete'].indexOf(document.readyState)}function p(e){const t='distill-prerendered-styles',n=e.getElementById(t);if(!n){const n=e.createElement('style');n.id=t,n.type='text/css';const i=e.createTextNode(bi);n.appendChild(i);const a=e.head.querySelector('script');e.head.insertBefore(n,a)}}function g(e,t){console.info('Runlevel 0: Polyfill required: '+e.name);const n=document.createElement('script');n.src=e.url,n.async=!1,t&&(n.onload=function(){t(e)}),n.onerror=function(){new Error('Runlevel 0: Polyfills failed to load script '+e.name)},document.head.appendChild(n)}function f(e,t){return t={exports:{}},e(t,t.exports),t.exports}function h(e){return e.replace(/[\t\n ]+/g,' ').replace(/{\\["^`.'acu~Hvs]( )?([a-zA-Z])}/g,(e,t,n)=>n).replace(/{\\([a-zA-Z])}/g,(e,t)=>t)}function b(e){const t=new Map,n=_i.toJSON(e);for(const i of n){for(const[e,t]of Object.entries(i.entryTags))i.entryTags[e.toLowerCase()]=h(t);i.entryTags.type=i.entryType,t.set(i.citationKey,i.entryTags)}return t}function m(e){return`@article{${e.slug}, + author = {${e.bibtexAuthors}}, + title = {${e.title}}, + journal = {${e.journal.title}}, + year = {${e.publishedYear}}, + note = {${e.url}}, + doi = {${e.doi}} +}`}function y(e){return` + <div class="byline grid"> + <div class="authors-affiliations grid"> + <h3>Authors</h3> + <h3>Affiliations</h3> + ${e.authors.map((e)=>` + <p class="author"> + ${e.personalURL?` + <a class="name" href="${e.personalURL}">${e.name}</a>`:` + <span class="name">${e.name}</span>`} + </p> + <p class="affiliation"> + ${e.affiliations.map((e)=>e.url?`<a class="affiliation" href="${e.url}">${e.name}</a>`:`<span class="affiliation">${e.name}</span>`).join(', ')} + </p> + `).join('')} + </div> + <div> + <h3>Published</h3> + ${e.publishedDate?` + <p>${e.publishedMonth} ${e.publishedDay}, ${e.publishedYear}</p> `:` + <p><em>Not published yet.</em></p>`} + </div> + <div> + <h3>DOI</h3> + ${e.doi?` + <p><a href="https://doi.org/${e.doi}">${e.doi}</a></p>`:` + <p><em>No DOI yet.</em></p>`} + </div> + </div> +`}function x(e,t,n=document){if(0<t.size){e.style.display='';let i=e.querySelector('.references');if(i)i.innerHTML='';else{const t=n.createElement('style');t.innerHTML=Mi,e.appendChild(t);const a=n.createElement('h3');a.id='references',a.textContent='References',e.appendChild(a),i=n.createElement('ol'),i.id='references-list',i.className='references',e.appendChild(i)}for(const[e,a]of t){const t=n.createElement('li');t.id=e,t.innerHTML=o(a),i.appendChild(t)}}else e.style.display='none'}function k(e,t){let n=` + <style> + + d-toc { + contain: layout style; + display: block; + } + + d-toc ul { + padding-left: 0; + } + + d-toc ul > ul { + padding-left: 24px; + } + + d-toc a { + border-bottom: none; + text-decoration: none; + } + + </style> + <nav role="navigation" class="table-of-contents"></nav> + <h2>Table of contents</h2> + <ul>`;for(const i of t){const e='D-TITLE'==i.parentElement.tagName,t=i.getAttribute('no-toc');if(e||t)continue;const a=i.textContent,d='#'+i.getAttribute('id');let r='<li><a href="'+d+'">'+a+'</a></li>';'H3'==i.tagName?r='<ul>'+r+'</ul>':r+='<br>',n+=r}n+='</ul></nav>',e.innerHTML=n}function v(e){return function(t,n){return Xi(e(t),n)}}function w(e,t,n){var i=(t-e)/Rn(0,n),a=Fn(jn(i)/Nn),d=i/In(10,a);return 0<=a?(d>=Gi?10:d>=ea?5:d>=ta?2:1)*In(10,a):-In(10,-a)/(d>=Gi?10:d>=ea?5:d>=ta?2:1)}function S(e,t,n){var i=Un(t-e)/Rn(0,n),a=In(10,Fn(jn(i)/Nn)),d=i/a;return d>=Gi?a*=10:d>=ea?a*=5:d>=ta&&(a*=2),t<e?-a:a}function _(e,t){var n=Object.create(e.prototype);for(var i in t)n[i]=t[i];return n}function L(){}function M(e){var t;return e=(e+'').trim().toLowerCase(),(t=sa.exec(e))?(t=parseInt(t[1],16),new j(15&t>>8|240&t>>4,15&t>>4|240&t,(15&t)<<4|15&t,1)):(t=ca.exec(e))?O(parseInt(t[1],16)):(t=ua.exec(e))?new j(t[1],t[2],t[3],1):(t=pa.exec(e))?new j(255*t[1]/100,255*t[2]/100,255*t[3]/100,1):(t=ga.exec(e))?U(t[1],t[2],t[3],t[4]):(t=fa.exec(e))?U(255*t[1]/100,255*t[2]/100,255*t[3]/100,t[4]):(t=ha.exec(e))?R(t[1],t[2]/100,t[3]/100,1):(t=ba.exec(e))?R(t[1],t[2]/100,t[3]/100,t[4]):ma.hasOwnProperty(e)?O(ma[e]):'transparent'===e?new j(NaN,NaN,NaN,0):null}function O(e){return new j(255&e>>16,255&e>>8,255&e,1)}function U(e,t,n,i){return 0>=i&&(e=t=n=NaN),new j(e,t,n,i)}function I(e){return(e instanceof L||(e=M(e)),!e)?new j:(e=e.rgb(),new j(e.r,e.g,e.b,e.opacity))}function N(e,t,n,i){return 1===arguments.length?I(e):new j(e,t,n,null==i?1:i)}function j(e,t,n,i){this.r=+e,this.g=+t,this.b=+n,this.opacity=+i}function R(e,t,n,i){return 0>=i?e=t=n=NaN:0>=n||1<=n?e=t=NaN:0>=t&&(e=NaN),new F(e,t,n,i)}function q(e){if(e instanceof F)return new F(e.h,e.s,e.l,e.opacity);if(e instanceof L||(e=M(e)),!e)return new F;if(e instanceof F)return e;e=e.rgb();var t=e.r/255,n=e.g/255,i=e.b/255,a=Hn(t,n,i),d=Rn(t,n,i),r=NaN,c=d-a,s=(d+a)/2;return c?(r=t===d?(n-i)/c+6*(n<i):n===d?(i-t)/c+2:(t-n)/c+4,c/=0.5>s?d+a:2-d-a,r*=60):c=0<s&&1>s?0:r,new F(r,c,s,e.opacity)}function F(e,t,n,i){this.h=+e,this.s=+t,this.l=+n,this.opacity=+i}function P(e,t,n){return 255*(60>e?t+(n-t)*e/60:180>e?n:240>e?t+(n-t)*(240-e)/60:t)}function H(e){if(e instanceof Y)return new Y(e.l,e.a,e.b,e.opacity);if(e instanceof X){var t=e.h*ya;return new Y(e.l,Mn(t)*e.c,Dn(t)*e.c,e.opacity)}e instanceof j||(e=I(e));var n=$(e.r),i=$(e.g),a=$(e.b),d=W((0.4124564*n+0.3575761*i+0.1804375*a)/Kn),r=W((0.2126729*n+0.7151522*i+0.072175*a)/Xn),o=W((0.0193339*n+0.119192*i+0.9503041*a)/Yn);return new Y(116*r-16,500*(d-r),200*(r-o),e.opacity)}function Y(e,t,n,i){this.l=+e,this.a=+t,this.b=+n,this.opacity=+i}function W(e){return e>Sa?In(e,1/3):e/wa+Zn}function V(e){return e>va?e*e*e:wa*(e-Zn)}function K(e){return 255*(0.0031308>=e?12.92*e:1.055*In(e,1/2.4)-0.055)}function $(e){return 0.04045>=(e/=255)?e/12.92:In((e+0.055)/1.055,2.4)}function z(e){if(e instanceof X)return new X(e.h,e.c,e.l,e.opacity);e instanceof Y||(e=H(e));var t=En(e.b,e.a)*xa;return new X(0>t?t+360:t,An(e.a*e.a+e.b*e.b),e.l,e.opacity)}function X(e,t,n,i){this.h=+e,this.c=+t,this.l=+n,this.opacity=+i}function J(e){if(e instanceof Z)return new Z(e.h,e.s,e.l,e.opacity);e instanceof j||(e=I(e));var t=e.r/255,n=e.g/255,i=e.b/255,a=(_a*i+E*t-Ta*n)/(_a+E-Ta),d=i-a,r=(D*(n-a)-B*d)/C,o=An(r*r+d*d)/(D*a*(1-a)),l=o?En(r,d)*xa-120:NaN;return new Z(0>l?l+360:l,o,a,e.opacity)}function Q(e,t,n,i){return 1===arguments.length?J(e):new Z(e,t,n,null==i?1:i)}function Z(e,t,n,i){this.h=+e,this.s=+t,this.l=+n,this.opacity=+i}function G(e,n){return function(i){return e+i*n}}function ee(e,n,i){return e=In(e,i),n=In(n,i)-e,i=1/i,function(a){return In(e+a*n,i)}}function te(e){return 1==(e=+e)?ne:function(t,n){return n-t?ee(t,n,e):La(isNaN(t)?n:t)}}function ne(e,t){var n=t-e;return n?G(e,n):La(isNaN(e)?t:e)}function ie(e){return function(){return e}}function ae(e){return function(n){return e(n)+''}}function de(e){return function t(n){function i(i,t){var a=e((i=Q(i)).h,(t=Q(t)).h),d=ne(i.s,t.s),r=ne(i.l,t.l),o=ne(i.opacity,t.opacity);return function(e){return i.h=a(e),i.s=d(e),i.l=r(In(e,n)),i.opacity=o(e),i+''}}return n=+n,i.gamma=t,i}(1)}function oe(e,t){return(t-=e=+e)?function(n){return(n-e)/t}:Pa(t)}function le(e){return function(t,n){var i=e(t=+t,n=+n);return function(e){return e<=t?0:e>=n?1:i(e)}}}function se(e){return function(n,i){var d=e(n=+n,i=+i);return function(e){return 0>=e?n:1<=e?i:d(e)}}}function ce(e,t,n,i){var a=e[0],d=e[1],r=t[0],o=t[1];return d<a?(a=n(d,a),r=i(o,r)):(a=n(a,d),r=i(r,o)),function(e){return r(a(e))}}function ue(e,t,n,a){var o=Hn(e.length,t.length)-1,l=Array(o),d=Array(o),r=-1;for(e[o]<e[0]&&(e=e.slice().reverse(),t=t.slice().reverse());++r<o;)l[r]=n(e[r],e[r+1]),d[r]=a(t[r],t[r+1]);return function(t){var n=Qi(e,t,1,o)-1;return d[n](l[n](t))}}function pe(e,t){return t.domain(e.domain()).range(e.range()).interpolate(e.interpolate()).clamp(e.clamp())}function ge(e,t){function n(){return a=2<Hn(o.length,l.length)?ue:ce,d=r=null,i}function i(t){return(d||(d=a(o,l,c?le(e):e,s)))(+t)}var a,d,r,o=za,l=za,s=ja,c=!1;return i.invert=function(e){return(r||(r=a(l,o,oe,c?se(t):t)))(+e)},i.domain=function(e){return arguments.length?(o=aa.call(e,Ha),n()):o.slice()},i.range=function(e){return arguments.length?(l=da.call(e),n()):l.slice()},i.rangeRound=function(e){return l=da.call(e),s=Ra,n()},i.clamp=function(e){return arguments.length?(c=!!e,n()):c},i.interpolate=function(e){return arguments.length?(s=e,n()):s},n()}function fe(e){return new he(e)}function he(e){if(!(t=Xa.exec(e)))throw new Error('invalid format: '+e);var t,n=t[1]||' ',i=t[2]||'>',a=t[3]||'-',d=t[4]||'',r=!!t[5],o=t[6]&&+t[6],l=!!t[7],s=t[8]&&+t[8].slice(1),c=t[9]||'';'n'===c?(l=!0,c='g'):!$a[c]&&(c=''),(r||'0'===n&&'='===i)&&(r=!0,n='0',i='='),this.fill=n,this.align=i,this.sign=a,this.symbol=d,this.zero=r,this.width=o,this.comma=l,this.precision=s,this.type=c}function be(e){var t=e.domain;return e.ticks=function(e){var n=t();return na(n[0],n[n.length-1],null==e?10:e)},e.tickFormat=function(e,n){return ad(t(),e,n)},e.nice=function(n){null==n&&(n=10);var i,a=t(),d=0,r=a.length-1,o=a[d],l=a[r];return l<o&&(i=o,o=l,l=i,i=d,d=r,r=i),i=w(o,l,n),0<i?(o=Fn(o/i)*i,l=qn(l/i)*i,i=w(o,l,n)):0>i&&(o=qn(o*i)/i,l=Fn(l*i)/i,i=w(o,l,n)),0<i?(a[d]=Fn(o/i)*i,a[r]=qn(l/i)*i,t(a)):0>i&&(a[d]=qn(o*i)/i,a[r]=Fn(l*i)/i,t(a)),e},e}function me(){var e=ge(oe,Ma);return e.copy=function(){return pe(e,me())},be(e)}function ye(e,t,n,i){function a(t){return e(t=new Date(+t)),t}return a.floor=a,a.ceil=function(n){return e(n=new Date(n-1)),t(n,1),e(n),n},a.round=function(e){var t=a(e),n=a.ceil(e);return e-t<n-e?t:n},a.offset=function(e,n){return t(e=new Date(+e),null==n?1:Fn(n)),e},a.range=function(n,i,d){var r=[];if(n=a.ceil(n),d=null==d?1:Fn(d),!(n<i)||!(0<d))return r;do r.push(new Date(+n));while((t(n,d),e(n),n<i));return r},a.filter=function(n){return ye(function(t){if(t>=t)for(;e(t),!n(t);)t.setTime(t-1)},function(e,i){if(e>=e)if(0>i)for(;0>=++i;)for(;t(e,-1),!n(e););else for(;0<=--i;)for(;t(e,1),!n(e););})},n&&(a.count=function(t,i){return dd.setTime(+t),rd.setTime(+i),e(dd),e(rd),Fn(n(dd,rd))},a.every=function(e){return e=Fn(e),isFinite(e)&&0<e?1<e?a.filter(i?function(t){return 0==i(t)%e}:function(t){return 0==a.count(0,t)%e}):a:null}),a}function xe(e){return ye(function(t){t.setDate(t.getDate()-(t.getDay()+7-e)%7),t.setHours(0,0,0,0)},function(e,t){e.setDate(e.getDate()+7*t)},function(e,t){return(t-e-(t.getTimezoneOffset()-e.getTimezoneOffset())*sd)/pd})}function ke(e){return ye(function(t){t.setUTCDate(t.getUTCDate()-(t.getUTCDay()+7-e)%7),t.setUTCHours(0,0,0,0)},function(e,t){e.setUTCDate(e.getUTCDate()+7*t)},function(e,t){return(t-e)/pd})}function ve(e){if(0<=e.y&&100>e.y){var t=new Date(-1,e.m,e.d,e.H,e.M,e.S,e.L);return t.setFullYear(e.y),t}return new Date(e.y,e.m,e.d,e.H,e.M,e.S,e.L)}function we(e){if(0<=e.y&&100>e.y){var t=new Date(Date.UTC(-1,e.m,e.d,e.H,e.M,e.S,e.L));return t.setUTCFullYear(e.y),t}return new Date(Date.UTC(e.y,e.m,e.d,e.H,e.M,e.S,e.L))}function Se(e){return{y:e,m:0,d:1,H:0,M:0,S:0,L:0}}function Ce(e){function t(e,t){return function(a){var d,r,o,l=[],s=-1,i=0,c=e.length;for(a instanceof Date||(a=new Date(+a));++s<c;)37===e.charCodeAt(s)&&(l.push(e.slice(i,s)),null==(r=Hd[d=e.charAt(++s)])?r='e'===d?' ':'0':d=e.charAt(++s),(o=t[d])&&(d=o(a,r)),l.push(d),i=s+1);return l.push(e.slice(i,s)),l.join('')}}function n(e,t){return function(n){var r=Se(1900),d=a(r,e,n+='',0);if(d!=n.length)return null;if('p'in r&&(r.H=r.H%12+12*r.p),'W'in r||'U'in r){'w'in r||(r.w='W'in r?1:0);var i='Z'in r?we(Se(r.y)).getUTCDay():t(Se(r.y)).getDay();r.m=0,r.d='W'in r?(r.w+6)%7+7*r.W-(i+5)%7:r.w+7*r.U-(i+6)%7}return'Z'in r?(r.H+=0|r.Z/100,r.M+=r.Z%100,we(r)):t(r)}}function a(e,t,a,d){for(var r,o,l=0,i=t.length,n=a.length;l<i;){if(d>=n)return-1;if(r=t.charCodeAt(l++),37===r){if(r=t.charAt(l++),o=C[r in Hd?t.charAt(l++):r],!o||0>(d=o(e,a,d)))return-1;}else if(r!=a.charCodeAt(d++))return-1}return d}var r=e.dateTime,o=e.date,l=e.time,i=e.periods,s=e.days,c=e.shortDays,u=e.months,p=e.shortMonths,g=Le(i),f=Ae(i),h=Le(s),b=Ae(s),m=Le(c),y=Ae(c),x=Le(u),k=Ae(u),v=Le(p),w=Ae(p),d={a:function(e){return c[e.getDay()]},A:function(e){return s[e.getDay()]},b:function(e){return p[e.getMonth()]},B:function(e){return u[e.getMonth()]},c:null,d:Ye,e:Ye,H:Be,I:We,j:Ve,L:Ke,m:$e,M:Xe,p:function(e){return i[+(12<=e.getHours())]},S:Je,U:Qe,w:Ze,W:Ge,x:null,X:null,y:et,Y:tt,Z:nt,"%":mt},S={a:function(e){return c[e.getUTCDay()]},A:function(e){return s[e.getUTCDay()]},b:function(e){return p[e.getUTCMonth()]},B:function(e){return u[e.getUTCMonth()]},c:null,d:it,e:it,H:at,I:dt,j:rt,L:ot,m:lt,M:st,p:function(e){return i[+(12<=e.getUTCHours())]},S:ct,U:ut,w:pt,W:gt,x:null,X:null,y:ft,Y:ht,Z:bt,"%":mt},C={a:function(e,t,a){var i=m.exec(t.slice(a));return i?(e.w=y[i[0].toLowerCase()],a+i[0].length):-1},A:function(e,t,a){var i=h.exec(t.slice(a));return i?(e.w=b[i[0].toLowerCase()],a+i[0].length):-1},b:function(e,t,a){var i=v.exec(t.slice(a));return i?(e.m=w[i[0].toLowerCase()],a+i[0].length):-1},B:function(e,t,a){var i=x.exec(t.slice(a));return i?(e.m=k[i[0].toLowerCase()],a+i[0].length):-1},c:function(e,t,n){return a(e,r,t,n)},d:je,e:je,H:qe,I:qe,j:Re,L:He,m:Ne,M:Fe,p:function(e,t,a){var i=g.exec(t.slice(a));return i?(e.p=f[i[0].toLowerCase()],a+i[0].length):-1},S:Pe,U:De,w:Ee,W:Me,x:function(e,t,n){return a(e,o,t,n)},X:function(e,t,n){return a(e,l,t,n)},y:Ue,Y:Oe,Z:Ie,"%":ze};return d.x=t(o,d),d.X=t(l,d),d.c=t(r,d),S.x=t(o,S),S.X=t(l,S),S.c=t(r,S),{format:function(e){var n=t(e+='',d);return n.toString=function(){return e},n},parse:function(e){var t=n(e+='',ve);return t.toString=function(){return e},t},utcFormat:function(e){var n=t(e+='',S);return n.toString=function(){return e},n},utcParse:function(e){var t=n(e,we);return t.toString=function(){return e},t}}}function Te(e,t,n){var i=0>e?'-':'',a=(i?-e:e)+'',d=a.length;return i+(d<n?Array(n-d+1).join(t)+a:a)}function _e(e){return e.replace(Bd,'\\$&')}function Le(e){return new RegExp('^(?:'+e.map(_e).join('|')+')','i')}function Ae(e){for(var t={},a=-1,i=e.length;++a<i;)t[e[a].toLowerCase()]=a;return t}function Ee(e,t,a){var i=zd.exec(t.slice(a,a+1));return i?(e.w=+i[0],a+i[0].length):-1}function De(e,t,a){var i=zd.exec(t.slice(a));return i?(e.U=+i[0],a+i[0].length):-1}function Me(e,t,a){var i=zd.exec(t.slice(a));return i?(e.W=+i[0],a+i[0].length):-1}function Oe(e,t,a){var i=zd.exec(t.slice(a,a+4));return i?(e.y=+i[0],a+i[0].length):-1}function Ue(e,t,a){var i=zd.exec(t.slice(a,a+2));return i?(e.y=+i[0]+(68<+i[0]?1900:2e3),a+i[0].length):-1}function Ie(e,t,a){var i=/^(Z)|([+-]\d\d)(?:\:?(\d\d))?/.exec(t.slice(a,a+6));return i?(e.Z=i[1]?0:-(i[2]+(i[3]||'00')),a+i[0].length):-1}function Ne(e,t,a){var i=zd.exec(t.slice(a,a+2));return i?(e.m=i[0]-1,a+i[0].length):-1}function je(e,t,a){var i=zd.exec(t.slice(a,a+2));return i?(e.d=+i[0],a+i[0].length):-1}function Re(e,t,a){var i=zd.exec(t.slice(a,a+3));return i?(e.m=0,e.d=+i[0],a+i[0].length):-1}function qe(e,t,a){var i=zd.exec(t.slice(a,a+2));return i?(e.H=+i[0],a+i[0].length):-1}function Fe(e,t,a){var i=zd.exec(t.slice(a,a+2));return i?(e.M=+i[0],a+i[0].length):-1}function Pe(e,t,a){var i=zd.exec(t.slice(a,a+2));return i?(e.S=+i[0],a+i[0].length):-1}function He(e,t,a){var i=zd.exec(t.slice(a,a+3));return i?(e.L=+i[0],a+i[0].length):-1}function ze(e,t,a){var i=Yd.exec(t.slice(a,a+1));return i?a+i[0].length:-1}function Ye(e,t){return Te(e.getDate(),t,2)}function Be(e,t){return Te(e.getHours(),t,2)}function We(e,t){return Te(e.getHours()%12||12,t,2)}function Ve(e,t){return Te(1+bd.count(Td(e),e),t,3)}function Ke(e,t){return Te(e.getMilliseconds(),t,3)}function $e(e,t){return Te(e.getMonth()+1,t,2)}function Xe(e,t){return Te(e.getMinutes(),t,2)}function Je(e,t){return Te(e.getSeconds(),t,2)}function Qe(e,t){return Te(md.count(Td(e),e),t,2)}function Ze(e){return e.getDay()}function Ge(e,t){return Te(yd.count(Td(e),e),t,2)}function et(e,t){return Te(e.getFullYear()%100,t,2)}function tt(e,t){return Te(e.getFullYear()%1e4,t,4)}function nt(e){var t=e.getTimezoneOffset();return(0<t?'-':(t*=-1,'+'))+Te(0|t/60,'0',2)+Te(t%60,'0',2)}function it(e,t){return Te(e.getUTCDate(),t,2)}function at(e,t){return Te(e.getUTCHours(),t,2)}function dt(e,t){return Te(e.getUTCHours()%12||12,t,2)}function rt(e,t){return Te(1+Ad.count(Rd(e),e),t,3)}function ot(e,t){return Te(e.getUTCMilliseconds(),t,3)}function lt(e,t){return Te(e.getUTCMonth()+1,t,2)}function st(e,t){return Te(e.getUTCMinutes(),t,2)}function ct(e,t){return Te(e.getUTCSeconds(),t,2)}function ut(e,t){return Te(Ed.count(Rd(e),e),t,2)}function pt(e){return e.getUTCDay()}function gt(e,t){return Te(Dd.count(Rd(e),e),t,2)}function ft(e,t){return Te(e.getUTCFullYear()%100,t,2)}function ht(e,t){return Te(e.getUTCFullYear()%1e4,t,4)}function bt(){return'+0000'}function mt(){return'%'}function yt(e){var i=e.length;return function(n){return e[Rn(0,Hn(i-1,Fn(n*i)))]}}function xt(){for(var e,t=0,i=arguments.length,n={};t<i;++t){if(!(e=arguments[t]+'')||e in n)throw new Error('illegal type: '+e);n[e]=[]}return new kt(n)}function kt(e){this._=e}function vt(e,n){return e.trim().split(/^|\s+/).map(function(e){var a='',d=e.indexOf('.');if(0<=d&&(a=e.slice(d+1),e=e.slice(0,d)),e&&!n.hasOwnProperty(e))throw new Error('unknown type: '+e);return{type:e,name:a}})}function wt(e,t){for(var a,d=0,i=e.length;d<i;++d)if((a=e[d]).name===t)return a.value}function St(e,t,a){for(var d=0,i=e.length;d<i;++d)if(e[d].name===t){e[d]=tr,e=e.slice(0,d).concat(e.slice(d+1));break}return null!=a&&e.push({name:t,value:a}),e}function Ct(e){return function(){var t=this.ownerDocument,n=this.namespaceURI;return n===nr&&t.documentElement.namespaceURI===nr?t.createElement(e):t.createElementNS(n,e)}}function Tt(e){return function(){return this.ownerDocument.createElementNS(e.space,e.local)}}function _t(e,t,n){return e=Lt(e,t,n),function(t){var n=t.relatedTarget;n&&(n===this||8&n.compareDocumentPosition(this))||e.call(this,t)}}function Lt(e,t,n){return function(i){var a=ur;ur=i;try{e.call(this,this.__data__,t,n)}finally{ur=a}}}function At(e){return e.trim().split(/^|\s+/).map(function(e){var n='',a=e.indexOf('.');return 0<=a&&(n=e.slice(a+1),e=e.slice(0,a)),{type:e,name:n}})}function Et(e){return function(){var t=this.__on;if(t){for(var n,a=0,d=-1,i=t.length;a<i;++a)(n=t[a],(!e.type||n.type===e.type)&&n.name===e.name)?this.removeEventListener(n.type,n.listener,n.capture):t[++d]=n;++d?t.length=d:delete this.__on}}}function Dt(e,t,n){var a=cr.hasOwnProperty(e.type)?_t:Lt;return function(r,d,i){var l,o=this.__on,s=a(t,d,i);if(o)for(var c=0,u=o.length;c<u;++c)if((l=o[c]).type===e.type&&l.name===e.name)return this.removeEventListener(l.type,l.listener,l.capture),this.addEventListener(l.type,l.listener=s,l.capture=n),void(l.value=t);this.addEventListener(e.type,s,n),l={type:e.type,name:e.name,value:t,listener:s,capture:n},o?o.push(l):this.__on=[l]}}function Mt(e,t,n,i){var a=ur;e.sourceEvent=ur,ur=e;try{return t.apply(n,i)}finally{ur=a}}function Ot(){}function Ut(){return[]}function It(e,t){this.ownerDocument=e.ownerDocument,this.namespaceURI=e.namespaceURI,this._next=null,this._parent=e,this.__data__=t}function Nt(e,t,n,a,d,r){for(var o,l=0,i=t.length,s=r.length;l<s;++l)(o=t[l])?(o.__data__=r[l],a[l]=o):n[l]=new It(e,r[l]);for(;l<i;++l)(o=t[l])&&(d[l]=o)}function jt(e,t,n,a,d,r,o){var l,i,s,c={},u=t.length,p=r.length,g=Array(u);for(l=0;l<u;++l)(i=t[l])&&(g[l]=s=kr+o.call(i,i.__data__,l,t),s in c?d[l]=i:c[s]=i);for(l=0;l<p;++l)s=kr+o.call(e,r[l],l,r),(i=c[s])?(a[l]=i,i.__data__=r[l],c[s]=null):n[l]=new It(e,r[l]);for(l=0;l<u;++l)(i=t[l])&&c[g[l]]===i&&(d[l]=i)}function Rt(e,t){return e<t?-1:e>t?1:e>=t?0:NaN}function qt(e){return function(){this.removeAttribute(e)}}function Ft(e){return function(){this.removeAttributeNS(e.space,e.local)}}function Pt(e,t){return function(){this.setAttribute(e,t)}}function Ht(e,t){return function(){this.setAttributeNS(e.space,e.local,t)}}function zt(e,t){return function(){var n=t.apply(this,arguments);null==n?this.removeAttribute(e):this.setAttribute(e,n)}}function Yt(e,t){return function(){var n=t.apply(this,arguments);null==n?this.removeAttributeNS(e.space,e.local):this.setAttributeNS(e.space,e.local,n)}}function Bt(e){return function(){this.style.removeProperty(e)}}function Wt(e,t,n){return function(){this.style.setProperty(e,t,n)}}function Vt(e,t,n){return function(){var i=t.apply(this,arguments);null==i?this.style.removeProperty(e):this.style.setProperty(e,i,n)}}function Kt(e,t){return e.style.getPropertyValue(t)||vr(e).getComputedStyle(e,null).getPropertyValue(t)}function $t(e){return function(){delete this[e]}}function Xt(e,t){return function(){this[e]=t}}function Jt(e,t){return function(){var n=t.apply(this,arguments);null==n?delete this[e]:this[e]=n}}function Qt(e){return e.trim().split(/^|\s+/)}function Zt(e){return e.classList||new Gt(e)}function Gt(e){this._node=e,this._names=Qt(e.getAttribute('class')||'')}function en(e,t){for(var a=Zt(e),d=-1,i=t.length;++d<i;)a.add(t[d])}function tn(e,t){for(var a=Zt(e),d=-1,i=t.length;++d<i;)a.remove(t[d])}function nn(e){return function(){en(this,e)}}function an(e){return function(){tn(this,e)}}function dn(e,t){return function(){(t.apply(this,arguments)?en:tn)(this,e)}}function rn(){this.textContent=''}function on(e){return function(){this.textContent=e}}function ln(e){return function(){var t=e.apply(this,arguments);this.textContent=null==t?'':t}}function sn(){this.innerHTML=''}function cn(e){return function(){this.innerHTML=e}}function un(e){return function(){var t=e.apply(this,arguments);this.innerHTML=null==t?'':t}}function pn(){this.nextSibling&&this.parentNode.appendChild(this)}function gn(){this.previousSibling&&this.parentNode.insertBefore(this,this.parentNode.firstChild)}function fn(){return null}function hn(){var e=this.parentNode;e&&e.removeChild(this)}function bn(e,t,n){var i=vr(e),a=i.CustomEvent;'function'==typeof a?a=new a(t,n):(a=i.document.createEvent('Event'),n?(a.initEvent(t,n.bubbles,n.cancelable),a.detail=n.detail):a.initEvent(t,!1,!1)),e.dispatchEvent(a)}function mn(e,t){return function(){return bn(this,e,t)}}function yn(e,t){return function(){return bn(this,e,t.apply(this,arguments))}}function xn(e,t){this._groups=e,this._parents=t}function kn(){ur.stopImmediatePropagation()}function vn(e,t){var n=e.document.documentElement,i=Sr(e).on('dragstart.drag',null);t&&(i.on('click.drag',Tr,!0),setTimeout(function(){i.on('click.drag',null)},0)),'onselectstart'in n?i.on('selectstart.drag',null):(n.style.MozUserSelect=n.__noselect,delete n.__noselect)}function wn(e,t,n,i,a,d,r,o,l,s){this.target=e,this.type=t,this.subject=n,this.identifier=i,this.active=a,this.x=d,this.y=r,this.dx=o,this.dy=l,this._=s}function Sn(){return!ur.button}function Cn(){return this.parentNode}function Tn(e){return null==e?{x:ur.x,y:ur.y}:e}function _n(){return'ontouchstart'in this}function Ln(e){let t=Nr;'undefined'!=typeof e.githubUrl&&(t+=` + <h3 id="updates-and-corrections">Updates and Corrections</h3> + <p>`,e.githubCompareUpdatesUrl&&(t+=`<a href="${e.githubCompareUpdatesUrl}">View all changes</a> to this article since it was first published.`),t+=` + If you see mistakes or want to suggest changes, please <a href="${e.githubUrl+'/issues/new'}">create an issue on GitHub</a>. </p> + `);const n=e.journal;return'undefined'!=typeof n&&'Distill'===n.title&&(t+=` + <h3 id="reuse">Reuse</h3> + <p>Diagrams and text are licensed under Creative Commons Attribution <a href="https://creativecommons.org/licenses/by/4.0/">CC-BY 4.0</a> with the <a class="github" href="${e.githubUrl}">source available on GitHub</a>, unless noted otherwise. The figures that have been reused from other sources don’t fall under this license and can be recognized by a note in their caption: “Figure from …”.</p> + `),'undefined'!=typeof e.publishedDate&&(t+=` + <h3 id="citation">Citation</h3> + <p>For attribution in academic contexts, please cite this work as</p> + <pre class="citation short">${e.concatenatedAuthors}, "${e.title}", Distill, ${e.publishedYear}.</pre> + <p>BibTeX citation</p> + <pre class="citation long">${m(e)}</pre> + `),t}var An=Math.sqrt,En=Math.atan2,Dn=Math.sin,Mn=Math.cos,On=Math.PI,Un=Math.abs,In=Math.pow,Nn=Math.LN10,jn=Math.log,Rn=Math.max,qn=Math.ceil,Fn=Math.floor,Pn=Math.round,Hn=Math.min;const zn=['Sunday','Monday','Tuesday','Wednesday','Thursday','Friday','Saturday'],Bn=['Jan.','Feb.','March','April','May','June','July','Aug.','Sept.','Oct.','Nov.','Dec.'],Wn=(e)=>10>e?'0'+e:e,Vn=function(e){const t=zn[e.getDay()].substring(0,3),n=Wn(e.getDate()),i=Bn[e.getMonth()].substring(0,3),a=e.getFullYear().toString(),d=e.getUTCHours().toString(),r=e.getUTCMinutes().toString(),o=e.getUTCSeconds().toString();return`${t}, ${n} ${i} ${a} ${d}:${r}:${o} Z`},$n=function(e){const t=Array.from(e).reduce((e,[t,n])=>Object.assign(e,{[t]:n}),{});return t},Jn=function(e){const t=new Map;for(var n in e)e.hasOwnProperty(n)&&t.set(n,e[n]);return t};class Qn{constructor(e){this.name=e.author,this.personalURL=e.authorURL,this.affiliation=e.affiliation,this.affiliationURL=e.affiliationURL,this.affiliations=e.affiliations||[]}get firstName(){const e=this.name.split(' ');return e.slice(0,e.length-1).join(' ')}get lastName(){const e=this.name.split(' ');return e[e.length-1]}}class Gn{constructor(){this.title='unnamed article',this.description='',this.authors=[],this.bibliography=new Map,this.bibliographyParsed=!1,this.citations=[],this.citationsCollected=!1,this.journal={},this.katex={},this.publishedDate=void 0}set url(e){this._url=e}get url(){if(this._url)return this._url;return this.distillPath&&this.journal.url?this.journal.url+'/'+this.distillPath:this.journal.url?this.journal.url:void 0}get githubUrl(){return this.githubPath?'https://github.com/'+this.githubPath:void 0}set previewURL(e){this._previewURL=e}get previewURL(){return this._previewURL?this._previewURL:this.url+'/thumbnail.jpg'}get publishedDateRFC(){return Vn(this.publishedDate)}get updatedDateRFC(){return Vn(this.updatedDate)}get publishedYear(){return this.publishedDate.getFullYear()}get publishedMonth(){return Bn[this.publishedDate.getMonth()]}get publishedDay(){return this.publishedDate.getDate()}get publishedMonthPadded(){return Wn(this.publishedDate.getMonth()+1)}get publishedDayPadded(){return Wn(this.publishedDate.getDate())}get publishedISODateOnly(){return this.publishedDate.toISOString().split('T')[0]}get volume(){const e=this.publishedYear-2015;if(1>e)throw new Error('Invalid publish date detected during computing volume');return e}get issue(){return this.publishedDate.getMonth()+1}get concatenatedAuthors(){if(2<this.authors.length)return this.authors[0].lastName+', et al.';return 2===this.authors.length?this.authors[0].lastName+' & '+this.authors[1].lastName:1===this.authors.length?this.authors[0].lastName:void 0}get bibtexAuthors(){return this.authors.map((e)=>{return e.lastName+', '+e.firstName}).join(' and ')}get slug(){let e='';return this.authors.length&&(e+=this.authors[0].lastName.toLowerCase(),e+=this.publishedYear,e+=this.title.split(' ')[0].toLowerCase()),e||'Untitled'}get bibliographyEntries(){return new Map(this.citations.map((e)=>{const t=this.bibliography.get(e);return[e,t]}))}set bibliography(e){e instanceof Map?this._bibliography=e:'object'==typeof e&&(this._bibliography=Jn(e))}get bibliography(){return this._bibliography}static fromObject(e){const t=new Gn;return Object.assign(t,e),t}assignToObject(e){Object.assign(e,this),e.bibliography=$n(this.bibliographyEntries),e.url=this.url,e.githubUrl=this.githubUrl,e.previewURL=this.previewURL,this.publishedDate&&(e.volume=this.volume,e.issue=this.issue,e.publishedDateRFC=this.publishedDateRFC,e.publishedYear=this.publishedYear,e.publishedMonth=this.publishedMonth,e.publishedDay=this.publishedDay,e.publishedMonthPadded=this.publishedMonthPadded,e.publishedDayPadded=this.publishedDayPadded),this.updatedDate&&(e.updatedDateRFC=this.updatedDateRFC),e.concatenatedAuthors=this.concatenatedAuthors,e.bibtexAuthors=this.bibtexAuthors,e.slug=this.slug}}const ei=(e)=>{return class extends e{constructor(){super();const e={childList:!0,characterData:!0,subtree:!0},t=new MutationObserver(()=>{t.disconnect(),this.renderIfPossible(),t.observe(this,e)});t.observe(this,e)}connectedCallback(){super.connectedCallback(),this.renderIfPossible()}renderIfPossible(){this.textContent&&this.root&&this.renderContent()}renderContent(){console.error(`Your class ${this.constructor.name} must provide a custom renderContent() method!`)}}},ti=(e,t,n=!0)=>{return(i)=>{const a=document.createElement('template');return a.innerHTML=t,n&&'ShadyCSS'in window&&ShadyCSS.prepareTemplate(a,e),class extends i{static get is(){return e}constructor(){super(),this.clone=document.importNode(a.content,!0),n&&(this.attachShadow({mode:'open'}),this.shadowRoot.appendChild(this.clone))}connectedCallback(){n?'ShadyCSS'in window&&ShadyCSS.styleElement(this):this.insertBefore(this.clone,this.firstChild)}get root(){return n?this.shadowRoot:this}$(e){return this.root.querySelector(e)}$$(e){return this.root.querySelectorAll(e)}}}};var ni='/*\n * Copyright 2018 The Distill Template Authors\n *\n * Licensed under the Apache License, Version 2.0 (the "License");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an "AS IS" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nspan.katex-display {\n text-align: left;\n padding: 8px 0 8px 0;\n margin: 0.5em 0 0.5em 1em;\n}\n\nspan.katex {\n -webkit-font-smoothing: antialiased;\n color: rgba(0, 0, 0, 0.8);\n font-size: 1.18em;\n}\n';const ii=function(e,t,n){let i=n,a=0;for(const d=e.length;i<t.length;){const n=t[i];if(0>=a&&t.slice(i,i+d)===e)return i;'\\'===n?i++:'{'===n?a++:'}'===n&&a--;i++}return-1},ai=function(e,t,n,i){const a=[];for(let d=0;d<e.length;d++)if('text'===e[d].type){const r=e[d].data;let o,l=!0,s=0;for(o=r.indexOf(t),-1!==o&&(s=o,a.push({type:'text',data:r.slice(0,s)}),l=!1);;){if(l){if(o=r.indexOf(t,s),-1===o)break;a.push({type:'text',data:r.slice(s,o)}),s=o}else{if(o=ii(n,r,s+t.length),-1===o)break;a.push({type:'math',data:r.slice(s+t.length,o),rawData:r.slice(s,o+n.length),display:i}),s=o+n.length}l=!l}a.push({type:'text',data:r.slice(s)})}else a.push(e[d]);return a},di=function(e,t){let n=[{type:'text',data:e}];for(let a=0;a<t.length;a++){const e=t[a];n=ai(n,e.left,e.right,e.display||!1)}return n},ri=function(e,t){const n=di(e,t.delimiters),a=document.createDocumentFragment();for(let d=0;d<n.length;d++)if('text'===n[d].type)a.appendChild(document.createTextNode(n[d].data));else{const e=document.createElement('d-math'),i=n[d].data;t.displayMode=n[d].display;try{e.textContent=i,t.displayMode&&e.setAttribute('block','')}catch(i){if(!(i instanceof katex.ParseError))throw i;t.errorCallback('KaTeX auto-render: Failed to parse `'+n[d].data+'` with ',i),a.appendChild(document.createTextNode(n[d].rawData));continue}a.appendChild(e)}return a},oi=function(e,t){for(let n=0;n<e.childNodes.length;n++){const i=e.childNodes[n];if(3===i.nodeType){const a=ri(i.textContent,t);n+=a.childNodes.length-1,e.replaceChild(a,i)}else if(1===i.nodeType){const e=-1===t.ignoredTags.indexOf(i.nodeName.toLowerCase());e&&oi(i,t)}}},li={delimiters:[{left:'$$',right:'$$',display:!0},{left:'\\[',right:'\\]',display:!0},{left:'\\(',right:'\\)',display:!1}],ignoredTags:['script','noscript','style','textarea','pre','code','svg'],errorCallback:function(e,t){console.error(e,t)}},si=function(e,t){if(!e)throw new Error('No element provided to render');const n=Object.assign({},li,t);oi(e,n)},ci='<link rel="stylesheet" href="https://distill.pub/third-party/katex/katex.min.css" crossorigin="anonymous">',ui=ti('d-math',` +${ci} +<style> + +:host { + display: inline-block; + contain: content; +} + +:host([block]) { + display: block; +} + +${ni} +</style> +<span id='katex-container'></span> +`);class T extends ei(ui(HTMLElement)){static set katexOptions(e){T._katexOptions=e,T.katexOptions.delimiters&&(T.katexAdded?T.katexLoadedCallback():T.addKatex())}static get katexOptions(){return T._katexOptions||(T._katexOptions={delimiters:[{left:'$$',right:'$$',display:!1}]}),T._katexOptions}static katexLoadedCallback(){const e=document.querySelectorAll('d-math');for(const t of e)t.renderContent();if(T.katexOptions.delimiters){const e=document.querySelector('d-article');si(e,T.katexOptions)}}static addKatex(){document.head.insertAdjacentHTML('beforeend',ci);const e=document.createElement('script');e.src='https://distill.pub/third-party/katex/katex.min.js',e.async=!0,e.onload=T.katexLoadedCallback,e.crossorigin='anonymous',document.head.appendChild(e),T.katexAdded=!0}get options(){const e={displayMode:this.hasAttribute('block')};return Object.assign(e,T.katexOptions)}connectedCallback(){super.connectedCallback(),T.katexAdded||T.addKatex()}renderContent(){if('undefined'!=typeof katex){const e=this.root.querySelector('#katex-container');katex.render(this.textContent,e,this.options)}}}T.katexAdded=!1,T.inlineMathRendered=!1,window.DMath=T;class pi extends HTMLElement{static get is(){return'd-front-matter'}constructor(){super();const e=new MutationObserver((e)=>{for(const t of e)if('SCRIPT'===t.target.nodeName||'characterData'===t.type){const e=c(this);this.notify(e)}});e.observe(this,{childList:!0,characterData:!0,subtree:!0})}notify(e){const t=new CustomEvent('onFrontMatterChanged',{detail:e,bubbles:!0});document.dispatchEvent(t)}}var gi=function(e,t){const n=e.body,i=n.querySelector('d-article');if(!i)return void console.warn('No d-article tag found; skipping adding optional components!');let a=e.querySelector('d-byline');a||(t.authors?(a=e.createElement('d-byline'),n.insertBefore(a,i)):console.warn('No authors found in front matter; please add them before submission!'));let d=e.querySelector('d-title');d||(d=e.createElement('d-title'),n.insertBefore(d,a));let r=d.querySelector('h1');r||(r=e.createElement('h1'),r.textContent=t.title,d.insertBefore(r,d.firstChild));const o='undefined'!=typeof t.password;let l=n.querySelector('d-interstitial');if(o&&!l){const i='undefined'!=typeof window,a=i&&window.location.hostname.includes('localhost');i&&a||(l=e.createElement('d-interstitial'),l.password=t.password,n.insertBefore(l,n.firstChild))}else!o&&l&&l.parentElement.removeChild(this);let s=e.querySelector('d-appendix');s||(s=e.createElement('d-appendix'),e.body.appendChild(s));let c=e.querySelector('d-footnote-list');c||(c=e.createElement('d-footnote-list'),s.appendChild(c));let u=e.querySelector('d-citation-list');u||(u=e.createElement('d-citation-list'),s.appendChild(u))};const fi=new Gn,hi={frontMatter:fi,waitingOn:{bibliography:[],citations:[]},listeners:{onCiteKeyCreated(e){const[t,n]=e.detail;if(!fi.citationsCollected)return void hi.waitingOn.citations.push(()=>hi.listeners.onCiteKeyCreated(e));if(!fi.bibliographyParsed)return void hi.waitingOn.bibliography.push(()=>hi.listeners.onCiteKeyCreated(e));const i=n.map((e)=>fi.citations.indexOf(e));t.numbers=i;const a=n.map((e)=>fi.bibliography.get(e));t.entries=a},onCiteKeyChanged(){fi.citations=t(),fi.citationsCollected=!0;for(const e of hi.waitingOn.citations.slice())e();const e=document.querySelector('d-citation-list'),n=new Map(fi.citations.map((e)=>{return[e,fi.bibliography.get(e)]}));e.citations=n;const i=document.querySelectorAll('d-cite');for(const e of i){const t=e.keys,n=t.map((e)=>fi.citations.indexOf(e));e.numbers=n;const i=t.map((e)=>fi.bibliography.get(e));e.entries=i}},onCiteKeyRemoved(e){hi.listeners.onCiteKeyChanged(e)},onBibliographyChanged(e){const t=document.querySelector('d-citation-list'),n=e.detail;fi.bibliography=n,fi.bibliographyParsed=!0;for(const t of hi.waitingOn.bibliography.slice())t();if(!fi.citationsCollected)return void hi.waitingOn.citations.push(function(){hi.listeners.onBibliographyChanged({target:e.target,detail:e.detail})});if(t.hasAttribute('distill-prerendered'))console.info('Citation list was prerendered; not updating it.');else{const e=new Map(fi.citations.map((e)=>{return[e,fi.bibliography.get(e)]}));t.citations=e}},onFootnoteChanged(){const e=document.querySelector('d-footnote-list');if(e){const t=document.querySelectorAll('d-footnote');e.footnotes=t}},onFrontMatterChanged(t){const n=t.detail;e(fi,n);const i=document.querySelector('d-interstitial');i&&('undefined'==typeof fi.password?i.parentElement.removeChild(i):i.password=fi.password);const a=document.body.hasAttribute('distill-prerendered');if(!a&&u()){gi(document,fi);const e=document.querySelector('distill-appendix');e&&(e.frontMatter=fi);const t=document.querySelector('d-byline');t&&(t.frontMatter=fi),n.katex&&(T.katexOptions=n.katex)}},DOMContentLoaded(){if(hi.loaded)return void console.warn('Controller received DOMContentLoaded but was already loaded!');if(!u())return void console.warn('Controller received DOMContentLoaded before appropriate document.readyState!');hi.loaded=!0,console.log('Runlevel 4: Controller running DOMContentLoaded');const e=document.querySelector('d-front-matter'),n=c(e);hi.listeners.onFrontMatterChanged({detail:n}),fi.citations=t(),fi.citationsCollected=!0;for(const e of hi.waitingOn.citations.slice())e();if(fi.bibliographyParsed)for(const e of hi.waitingOn.bibliography.slice())e();const i=document.querySelector('d-footnote-list');if(i){const e=document.querySelectorAll('d-footnote');i.footnotes=e}}}};const bi='/*\n * Copyright 2018 The Distill Template Authors\n *\n * Licensed under the Apache License, Version 2.0 (the "License");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an "AS IS" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nhtml {\n font-size: 14px;\n\tline-height: 1.6em;\n /* font-family: "Libre Franklin", "Helvetica Neue", sans-serif; */\n font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, "Fira Sans", "Droid Sans", "Helvetica Neue", Arial, sans-serif;\n /*, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";*/\n text-size-adjust: 100%;\n -ms-text-size-adjust: 100%;\n -webkit-text-size-adjust: 100%;\n}\n\n@media(min-width: 768px) {\n html {\n font-size: 16px;\n }\n}\n\nbody {\n margin: 0;\n}\n\na {\n color: #004276;\n}\n\nfigure {\n margin: 0;\n}\n\ntable {\n\tborder-collapse: collapse;\n\tborder-spacing: 0;\n}\n\ntable th {\n\ttext-align: left;\n}\n\ntable thead {\n border-bottom: 1px solid rgba(0, 0, 0, 0.05);\n}\n\ntable thead th {\n padding-bottom: 0.5em;\n}\n\ntable tbody :first-child td {\n padding-top: 0.5em;\n}\n\npre {\n overflow: auto;\n max-width: 100%;\n}\n\np {\n margin-top: 0;\n margin-bottom: 1em;\n}\n\nsup, sub {\n vertical-align: baseline;\n position: relative;\n top: -0.4em;\n line-height: 1em;\n}\n\nsub {\n top: 0.4em;\n}\n\n.kicker,\n.marker {\n font-size: 15px;\n font-weight: 600;\n color: rgba(0, 0, 0, 0.5);\n}\n\n\n/* Headline */\n\n@media(min-width: 1024px) {\n d-title h1 span {\n display: block;\n }\n}\n\n/* Figure */\n\nfigure {\n position: relative;\n margin-bottom: 2.5em;\n margin-top: 1.5em;\n}\n\nfigcaption+figure {\n\n}\n\nfigure img {\n width: 100%;\n}\n\nfigure svg text,\nfigure svg tspan {\n}\n\nfigcaption,\n.figcaption {\n color: rgba(0, 0, 0, 0.6);\n font-size: 12px;\n line-height: 1.5em;\n}\n\n@media(min-width: 1024px) {\nfigcaption,\n.figcaption {\n font-size: 13px;\n }\n}\n\nfigure.external img {\n background: white;\n border: 1px solid rgba(0, 0, 0, 0.1);\n box-shadow: 0 1px 8px rgba(0, 0, 0, 0.1);\n padding: 18px;\n box-sizing: border-box;\n}\n\nfigcaption a {\n color: rgba(0, 0, 0, 0.6);\n}\n\nfigcaption b,\nfigcaption strong, {\n font-weight: 600;\n color: rgba(0, 0, 0, 1.0);\n}\n'+'/*\n * Copyright 2018 The Distill Template Authors\n *\n * Licensed under the Apache License, Version 2.0 (the "License");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an "AS IS" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n@supports not (display: grid) {\n .base-grid,\n distill-header,\n d-title,\n d-abstract,\n d-article,\n d-appendix,\n distill-appendix,\n d-byline,\n d-footnote-list,\n d-citation-list,\n distill-footer {\n display: block;\n padding: 8px;\n }\n}\n\n.base-grid,\ndistill-header,\nd-title,\nd-abstract,\nd-article,\nd-appendix,\ndistill-appendix,\nd-byline,\nd-footnote-list,\nd-citation-list,\ndistill-footer {\n display: grid;\n justify-items: stretch;\n grid-template-columns: [screen-start] 8px [page-start kicker-start text-start gutter-start middle-start] 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr [text-end page-end gutter-end kicker-end middle-end] 8px [screen-end];\n grid-column-gap: 8px;\n}\n\n.grid {\n display: grid;\n grid-column-gap: 8px;\n}\n\n@media(min-width: 768px) {\n .base-grid,\n distill-header,\n d-title,\n d-abstract,\n d-article,\n d-appendix,\n distill-appendix,\n d-byline,\n d-footnote-list,\n d-citation-list,\n distill-footer {\n grid-template-columns: [screen-start] 1fr [page-start kicker-start middle-start text-start] 45px 45px 45px 45px 45px 45px 45px 45px [ kicker-end text-end gutter-start] 45px [middle-end] 45px [page-end gutter-end] 1fr [screen-end];\n grid-column-gap: 16px;\n }\n\n .grid {\n grid-column-gap: 16px;\n }\n}\n\n@media(min-width: 1000px) {\n .base-grid,\n distill-header,\n d-title,\n d-abstract,\n d-article,\n d-appendix,\n distill-appendix,\n d-byline,\n d-footnote-list,\n d-citation-list,\n distill-footer {\n grid-template-columns: [screen-start] 1fr [page-start kicker-start] 50px [middle-start] 50px [text-start kicker-end] 50px 50px 50px 50px 50px 50px 50px 50px [text-end gutter-start] 50px [middle-end] 50px [page-end gutter-end] 1fr [screen-end];\n grid-column-gap: 16px;\n }\n\n .grid {\n grid-column-gap: 16px;\n }\n}\n\n@media(min-width: 1180px) {\n .base-grid,\n distill-header,\n d-title,\n d-abstract,\n d-article,\n d-appendix,\n distill-appendix,\n d-byline,\n d-footnote-list,\n d-citation-list,\n distill-footer {\n grid-template-columns: [screen-start] 1fr [page-start kicker-start] 60px [middle-start] 60px [text-start kicker-end] 60px 60px 60px 60px 60px 60px 60px 60px [text-end gutter-start] 60px [middle-end] 60px [page-end gutter-end] 1fr [screen-end];\n grid-column-gap: 32px;\n }\n\n .grid {\n grid-column-gap: 32px;\n }\n}\n\n\n\n\n.base-grid {\n grid-column: screen;\n}\n\n/* .l-body,\nd-article > * {\n grid-column: text;\n}\n\n.l-page,\nd-title > *,\nd-figure {\n grid-column: page;\n} */\n\n.l-gutter {\n grid-column: gutter;\n}\n\n.l-text,\n.l-body {\n grid-column: text;\n}\n\n.l-page {\n grid-column: page;\n}\n\n.l-body-outset {\n grid-column: middle;\n}\n\n.l-page-outset {\n grid-column: page;\n}\n\n.l-screen {\n grid-column: screen;\n}\n\n.l-screen-inset {\n grid-column: screen;\n padding-left: 16px;\n padding-left: 16px;\n}\n\n\n/* Aside */\n\nd-article aside {\n grid-column: gutter;\n font-size: 12px;\n line-height: 1.6em;\n color: rgba(0, 0, 0, 0.6)\n}\n\n@media(min-width: 768px) {\n aside {\n grid-column: gutter;\n }\n\n .side {\n grid-column: gutter;\n }\n}\n'+'/*\n * Copyright 2018 The Distill Template Authors\n *\n * Licensed under the Apache License, Version 2.0 (the "License");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an "AS IS" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nd-title {\n padding: 2rem 0 1.5rem;\n contain: layout style;\n overflow-x: hidden;\n}\n\n@media(min-width: 768px) {\n d-title {\n padding: 4rem 0 1.5rem;\n }\n}\n\nd-title h1 {\n grid-column: text;\n font-size: 40px;\n font-weight: 700;\n line-height: 1.1em;\n margin: 0 0 0.5rem;\n}\n\n@media(min-width: 768px) {\n d-title h1 {\n font-size: 50px;\n }\n}\n\nd-title p {\n font-weight: 300;\n font-size: 1.2rem;\n line-height: 1.55em;\n grid-column: text;\n}\n\nd-title .status {\n margin-top: 0px;\n font-size: 12px;\n color: #009688;\n opacity: 0.8;\n grid-column: kicker;\n}\n\nd-title .status span {\n line-height: 1;\n display: inline-block;\n padding: 6px 0;\n border-bottom: 1px solid #80cbc4;\n font-size: 11px;\n text-transform: uppercase;\n}\n'+'/*\n * Copyright 2018 The Distill Template Authors\n *\n * Licensed under the Apache License, Version 2.0 (the "License");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an "AS IS" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nd-byline {\n contain: content;\n overflow: hidden;\n border-top: 1px solid rgba(0, 0, 0, 0.1);\n font-size: 0.8rem;\n line-height: 1.8em;\n padding: 1.5rem 0;\n min-height: 1.8em;\n}\n\n\nd-byline .byline {\n grid-template-columns: 1fr 1fr;\n grid-column: text;\n}\n\n@media(min-width: 768px) {\n d-byline .byline {\n grid-template-columns: 1fr 1fr 1fr 1fr;\n }\n}\n\nd-byline .authors-affiliations {\n grid-column-end: span 2;\n grid-template-columns: 1fr 1fr;\n margin-bottom: 1em;\n}\n\n@media(min-width: 768px) {\n d-byline .authors-affiliations {\n margin-bottom: 0;\n }\n}\n\nd-byline h3 {\n font-size: 0.6rem;\n font-weight: 400;\n color: rgba(0, 0, 0, 0.5);\n margin: 0;\n text-transform: uppercase;\n}\n\nd-byline p {\n margin: 0;\n}\n\nd-byline a,\nd-article d-byline a {\n color: rgba(0, 0, 0, 0.8);\n text-decoration: none;\n border-bottom: none;\n}\n\nd-article d-byline a:hover {\n text-decoration: underline;\n border-bottom: none;\n}\n\nd-byline p.author {\n font-weight: 500;\n}\n\nd-byline .affiliations {\n\n}\n'+'/*\n * Copyright 2018 The Distill Template Authors\n *\n * Licensed under the Apache License, Version 2.0 (the "License");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an "AS IS" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nd-article {\n contain: layout style;\n overflow-x: hidden;\n border-top: 1px solid rgba(0, 0, 0, 0.1);\n padding-top: 2rem;\n color: rgba(0, 0, 0, 0.8);\n}\n\nd-article > * {\n grid-column: text;\n}\n\n@media(min-width: 768px) {\n d-article {\n font-size: 16px;\n }\n}\n\n@media(min-width: 1024px) {\n d-article {\n font-size: 1.06rem;\n line-height: 1.7em;\n }\n}\n\n\n/* H2 */\n\n\nd-article .marker {\n text-decoration: none;\n border: none;\n counter-reset: section;\n grid-column: kicker;\n line-height: 1.7em;\n}\n\nd-article .marker:hover {\n border: none;\n}\n\nd-article .marker span {\n padding: 0 3px 4px;\n border-bottom: 1px solid rgba(0, 0, 0, 0.2);\n position: relative;\n top: 4px;\n}\n\nd-article .marker:hover span {\n color: rgba(0, 0, 0, 0.7);\n border-bottom: 1px solid rgba(0, 0, 0, 0.7);\n}\n\nd-article h2 {\n font-weight: 600;\n font-size: 24px;\n line-height: 1.25em;\n margin: 2rem 0 1.5rem 0;\n border-bottom: 1px solid rgba(0, 0, 0, 0.1);\n padding-bottom: 1rem;\n}\n\n@media(min-width: 1024px) {\n d-article h2 {\n font-size: 36px;\n }\n}\n\n/* H3 */\n\nd-article h3 {\n font-weight: 700;\n font-size: 18px;\n line-height: 1.4em;\n margin-bottom: 1em;\n margin-top: 2em;\n}\n\n@media(min-width: 1024px) {\n d-article h3 {\n font-size: 20px;\n }\n}\n\n/* H4 */\n\nd-article h4 {\n font-weight: 600;\n text-transform: uppercase;\n font-size: 14px;\n line-height: 1.4em;\n}\n\nd-article a {\n color: inherit;\n}\n\nd-article p,\nd-article ul,\nd-article ol,\nd-article blockquote {\n margin-top: 0;\n margin-bottom: 1em;\n margin-left: 0;\n margin-right: 0;\n}\n\nd-article blockquote {\n border-left: 2px solid rgba(0, 0, 0, 0.2);\n padding-left: 2em;\n font-style: italic;\n color: rgba(0, 0, 0, 0.6);\n}\n\nd-article a {\n border-bottom: 1px solid rgba(0, 0, 0, 0.4);\n text-decoration: none;\n}\n\nd-article a:hover {\n border-bottom: 1px solid rgba(0, 0, 0, 0.8);\n}\n\nd-article .link {\n text-decoration: underline;\n cursor: pointer;\n}\n\nd-article ul,\nd-article ol {\n padding-left: 24px;\n}\n\nd-article li {\n margin-bottom: 1em;\n margin-left: 0;\n padding-left: 0;\n}\n\nd-article li:last-child {\n margin-bottom: 0;\n}\n\nd-article pre {\n font-size: 14px;\n margin-bottom: 20px;\n}\n\nd-article hr {\n grid-column: screen;\n width: 100%;\n border: none;\n border-bottom: 1px solid rgba(0, 0, 0, 0.1);\n margin-top: 60px;\n margin-bottom: 60px;\n}\n\nd-article section {\n margin-top: 60px;\n margin-bottom: 60px;\n}\n\nd-article span.equation-mimic {\n font-family: georgia;\n font-size: 115%;\n font-style: italic;\n}\n\nd-article > d-code,\nd-article section > d-code {\n display: block;\n}\n\nd-article > d-math[block],\nd-article section > d-math[block] {\n display: block;\n}\n\n@media (max-width: 768px) {\n d-article > d-code,\n d-article section > d-code,\n d-article > d-math[block],\n d-article section > d-math[block] {\n overflow-x: scroll;\n -ms-overflow-style: none; // IE 10+\n overflow: -moz-scrollbars-none; // Firefox\n }\n\n d-article > d-code::-webkit-scrollbar,\n d-article section > d-code::-webkit-scrollbar,\n d-article > d-math[block]::-webkit-scrollbar,\n d-article section > d-math[block]::-webkit-scrollbar {\n display: none; // Safari and Chrome\n }\n}\n\nd-article .citation {\n color: #668;\n cursor: pointer;\n}\n\nd-include {\n width: auto;\n display: block;\n}\n\nd-figure {\n contain: layout style;\n}\n\n/* KaTeX */\n\n.katex, .katex-prerendered {\n contain: style;\n display: inline-block;\n}\n\n/* Tables */\n\nd-article table {\n border-collapse: collapse;\n margin-bottom: 1.5rem;\n border-bottom: 1px solid rgba(0, 0, 0, 0.2);\n}\n\nd-article table th {\n border-bottom: 1px solid rgba(0, 0, 0, 0.2);\n}\n\nd-article table td {\n border-bottom: 1px solid rgba(0, 0, 0, 0.05);\n}\n\nd-article table tr:last-of-type td {\n border-bottom: none;\n}\n\nd-article table th,\nd-article table td {\n font-size: 15px;\n padding: 2px 8px;\n}\n\nd-article table tbody :first-child td {\n padding-top: 2px;\n}\n'+ni+'/*\n * Copyright 2018 The Distill Template Authors\n *\n * Licensed under the Apache License, Version 2.0 (the "License");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an "AS IS" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n@media print {\n\n @page {\n size: 8in 11in;\n @bottom-right {\n content: counter(page) " of " counter(pages);\n }\n }\n\n html {\n /* no general margins -- CSS Grid takes care of those */\n }\n\n p, code {\n page-break-inside: avoid;\n }\n\n h2, h3 {\n page-break-after: avoid;\n }\n\n d-header {\n visibility: hidden;\n }\n\n d-footer {\n display: none!important;\n }\n\n}\n',mi=[{name:'WebComponents',support:function(){return'customElements'in window&&'attachShadow'in Element.prototype&&'getRootNode'in Element.prototype&&'content'in document.createElement('template')&&'Promise'in window&&'from'in Array},url:'https://distill.pub/third-party/polyfills/webcomponents-lite.js'},{name:'IntersectionObserver',support:function(){return'IntersectionObserver'in window&&'IntersectionObserverEntry'in window},url:'https://distill.pub/third-party/polyfills/intersection-observer.js'}];class yi{static browserSupportsAllFeatures(){return mi.every((e)=>e.support())}static load(e){const t=function(t){t.loaded=!0,console.info('Runlevel 0: Polyfill has finished loading: '+t.name),yi.neededPolyfills.every((e)=>e.loaded)&&(console.info('Runlevel 0: All required polyfills have finished loading.'),console.info('Runlevel 0->1.'),window.distillRunlevel=1,e())};for(const n of yi.neededPolyfills)g(n,t)}static get neededPolyfills(){return yi._neededPolyfills||(yi._neededPolyfills=mi.filter((e)=>!e.support())),yi._neededPolyfills}}const xi=ti('d-abstract',` +<style> + :host { + font-size: 1.25rem; + line-height: 1.6em; + color: rgba(0, 0, 0, 0.7); + -webkit-font-smoothing: antialiased; + } + + ::slotted(p) { + margin-top: 0; + margin-bottom: 1em; + grid-column: text-start / middle-end; + } + ${function(e){return`${e} { + grid-column: left / text; + } + `}('d-abstract')} +</style> + +<slot></slot> +`);class ki extends xi(HTMLElement){}const vi=ti('d-appendix',` +<style> + +d-appendix { + contain: layout style; + font-size: 0.8em; + line-height: 1.7em; + margin-top: 60px; + margin-bottom: 0; + border-top: 1px solid rgba(0, 0, 0, 0.1); + color: rgba(0,0,0,0.5); + padding-top: 60px; + padding-bottom: 48px; +} + +d-appendix h3 { + grid-column: page-start / text-start; + font-size: 15px; + font-weight: 500; + margin-top: 1em; + margin-bottom: 0; + color: rgba(0,0,0,0.65); +} + +d-appendix h3 + * { + margin-top: 1em; +} + +d-appendix ol { + padding: 0 0 0 15px; +} + +@media (min-width: 768px) { + d-appendix ol { + padding: 0 0 0 30px; + margin-left: -30px; + } +} + +d-appendix li { + margin-bottom: 1em; +} + +d-appendix a { + color: rgba(0, 0, 0, 0.6); +} + +d-appendix > * { + grid-column: text; +} + +d-appendix > d-footnote-list, +d-appendix > d-citation-list, +d-appendix > distill-appendix { + grid-column: screen; +} + +</style> + +`,!1);class wi extends vi(HTMLElement){}const Si=/^\s*$/;class Ci extends HTMLElement{static get is(){return'd-article'}constructor(){super(),new MutationObserver((e)=>{for(const t of e)for(const e of t.addedNodes)switch(e.nodeName){case'#text':{const t=e.nodeValue;if(!Si.test(t)){console.warn('Use of unwrapped text in distill articles is discouraged as it breaks layout! Please wrap any text in a <span> or <p> tag. We found the following text: '+t);const n=document.createElement('span');n.innerHTML=e.nodeValue,e.parentNode.insertBefore(n,e),e.parentNode.removeChild(e)}}}}).observe(this,{childList:!0})}}var Ti='undefined'==typeof window?'undefined'==typeof global?'undefined'==typeof self?{}:self:global:window,_i=f(function(e,t){(function(e){function t(){this.months=['jan','feb','mar','apr','may','jun','jul','aug','sep','oct','nov','dec'],this.notKey=[',','{','}',' ','='],this.pos=0,this.input='',this.entries=[],this.currentEntry='',this.setInput=function(e){this.input=e},this.getEntries=function(){return this.entries},this.isWhitespace=function(e){return' '==e||'\r'==e||'\t'==e||'\n'==e},this.match=function(e,t){if((void 0==t||null==t)&&(t=!0),this.skipWhitespace(t),this.input.substring(this.pos,this.pos+e.length)==e)this.pos+=e.length;else throw'Token mismatch, expected '+e+', found '+this.input.substring(this.pos);this.skipWhitespace(t)},this.tryMatch=function(e,t){return(void 0==t||null==t)&&(t=!0),this.skipWhitespace(t),this.input.substring(this.pos,this.pos+e.length)==e},this.matchAt=function(){for(;this.input.length>this.pos&&'@'!=this.input[this.pos];)this.pos++;return!('@'!=this.input[this.pos])},this.skipWhitespace=function(e){for(;this.isWhitespace(this.input[this.pos]);)this.pos++;if('%'==this.input[this.pos]&&!0==e){for(;'\n'!=this.input[this.pos];)this.pos++;this.skipWhitespace(e)}},this.value_braces=function(){var e=0;this.match('{',!1);for(var t=this.pos,n=!1;;){if(!n)if('}'==this.input[this.pos]){if(0<e)e--;else{var i=this.pos;return this.match('}',!1),this.input.substring(t,i)}}else if('{'==this.input[this.pos])e++;else if(this.pos>=this.input.length-1)throw'Unterminated value';n='\\'==this.input[this.pos]&&!1==n,this.pos++}},this.value_comment=function(){for(var e='',t=0;!(this.tryMatch('}',!1)&&0==t);){if(e+=this.input[this.pos],'{'==this.input[this.pos]&&t++,'}'==this.input[this.pos]&&t--,this.pos>=this.input.length-1)throw'Unterminated value:'+this.input.substring(start);this.pos++}return e},this.value_quotes=function(){this.match('"',!1);for(var e=this.pos,t=!1;;){if(!t){if('"'==this.input[this.pos]){var n=this.pos;return this.match('"',!1),this.input.substring(e,n)}if(this.pos>=this.input.length-1)throw'Unterminated value:'+this.input.substring(e)}t='\\'==this.input[this.pos]&&!1==t,this.pos++}},this.single_value=function(){var e=this.pos;if(this.tryMatch('{'))return this.value_braces();if(this.tryMatch('"'))return this.value_quotes();var t=this.key();if(t.match('^[0-9]+$'))return t;if(0<=this.months.indexOf(t.toLowerCase()))return t.toLowerCase();throw'Value expected:'+this.input.substring(e)+' for key: '+t},this.value=function(){for(var e=[this.single_value()];this.tryMatch('#');)this.match('#'),e.push(this.single_value());return e.join('')},this.key=function(){for(var e=this.pos;;){if(this.pos>=this.input.length)throw'Runaway key';if(0<=this.notKey.indexOf(this.input[this.pos]))return this.input.substring(e,this.pos);this.pos++}},this.key_equals_value=function(){var e=this.key();if(this.tryMatch('=')){this.match('=');var t=this.value();return[e,t]}throw'... = value expected, equals sign missing:'+this.input.substring(this.pos)},this.key_value_list=function(){var e=this.key_equals_value();for(this.currentEntry.entryTags={},this.currentEntry.entryTags[e[0]]=e[1];this.tryMatch(',')&&(this.match(','),!this.tryMatch('}'));)e=this.key_equals_value(),this.currentEntry.entryTags[e[0]]=e[1]},this.entry_body=function(e){this.currentEntry={},this.currentEntry.citationKey=this.key(),this.currentEntry.entryType=e.substring(1),this.match(','),this.key_value_list(),this.entries.push(this.currentEntry)},this.directive=function(){return this.match('@'),'@'+this.key()},this.preamble=function(){this.currentEntry={},this.currentEntry.entryType='PREAMBLE',this.currentEntry.entry=this.value_comment(),this.entries.push(this.currentEntry)},this.comment=function(){this.currentEntry={},this.currentEntry.entryType='COMMENT',this.currentEntry.entry=this.value_comment(),this.entries.push(this.currentEntry)},this.entry=function(e){this.entry_body(e)},this.bibtex=function(){for(;this.matchAt();){var e=this.directive();this.match('{'),'@STRING'==e?this.string():'@PREAMBLE'==e?this.preamble():'@COMMENT'==e?this.comment():this.entry(e),this.match('}')}}}e.toJSON=function(e){var n=new t;return n.setInput(e),n.bibtex(),n.entries},e.toBibtex=function(e){var t='';for(var n in e){if(t+='@'+e[n].entryType,t+='{',e[n].citationKey&&(t+=e[n].citationKey+', '),e[n].entry&&(t+=e[n].entry),e[n].entryTags){var i='';for(var a in e[n].entryTags)0!=i.length&&(i+=', '),i+=a+'= {'+e[n].entryTags[a]+'}';t+=i}t+='}\n\n'}return t}})(t)});class Li extends HTMLElement{static get is(){return'd-bibliography'}constructor(){super();const e=new MutationObserver((e)=>{for(const t of e)('SCRIPT'===t.target.nodeName||'characterData'===t.type)&&this.parseIfPossible()});e.observe(this,{childList:!0,characterData:!0,subtree:!0})}connectedCallback(){requestAnimationFrame(()=>{this.parseIfPossible()})}parseIfPossible(){const e=this.querySelector('script');if(e)if('text/bibtex'==e.type){const t=e.textContent;if(this.bibtex!==t){this.bibtex=t;const e=b(this.bibtex);this.notify(e)}}else if('text/json'==e.type){const t=new Map(JSON.parse(e.textContent));this.notify(t)}else console.warn('Unsupported bibliography script tag type: '+e.type)}notify(e){const t=new CustomEvent('onBibliographyChanged',{detail:e,bubbles:!0});this.dispatchEvent(t)}static get observedAttributes(){return['src']}receivedBibtex(e){const t=b(e.target.response);this.notify(t)}attributeChangedCallback(e,t,n){var i=new XMLHttpRequest;i.onload=(t)=>this.receivedBibtex(t),i.onerror=()=>console.warn(`Could not load Bibtex! (tried ${n})`),i.responseType='text',i.open('GET',n,!0),i.send()}}class Ai extends HTMLElement{static get is(){return'd-byline'}set frontMatter(e){this.innerHTML=y(e)}}const Ei=ti('d-cite',` +<style> + +:host { + +} + +.citation { + display: inline-block; + color: hsla(206, 90%, 20%, 0.7); +} + +.citation-number { + cursor: default; + white-space: nowrap; + font-family: -apple-system, BlinkMacSystemFont, "Roboto", Helvetica, sans-serif; + font-size: 75%; + color: hsla(206, 90%, 20%, 0.7); + display: inline-block; + line-height: 1.1em; + text-align: center; + position: relative; + top: -2px; + margin: 0 2px; +} + +figcaption .citation-number { + font-size: 11px; + font-weight: normal; + top: -2px; + line-height: 1em; +} + +ul { + margin: 0; + padding: 0; + list-style-type: none; +} + +ul li { + padding: 15px 10px 15px 10px; + border-bottom: 1px solid rgba(0,0,0,0.1) +} + +ul li:last-of-type { + border-bottom: none; +} + +</style> + +<d-hover-box id="hover-box"></d-hover-box> + +<div id="citation-" class="citation"> + <slot></slot> + <span class="citation-number"></span> +</div> +`);class Di extends Ei(HTMLElement){connectedCallback(){this.outerSpan=this.root.querySelector('#citation-'),this.innerSpan=this.root.querySelector('.citation-number'),this.hoverBox=this.root.querySelector('d-hover-box'),window.customElements.whenDefined('d-hover-box').then(()=>{this.hoverBox.listen(this)})}static get observedAttributes(){return['key']}attributeChangedCallback(e,t,n){const i=t?'onCiteKeyChanged':'onCiteKeyCreated',a=n.split(','),d={detail:[this,a],bubbles:!0},r=new CustomEvent(i,d);document.dispatchEvent(r)}set key(e){this.setAttribute('key',e)}get key(){return this.getAttribute('key')}get keys(){return this.getAttribute('key').split(',')}set numbers(e){const t=e.map((e)=>{return-1==e?'?':e+1+''}),n='['+t.join(', ')+']';this.innerSpan&&(this.innerSpan.textContent=n)}set entries(e){this.hoverBox&&(this.hoverBox.innerHTML=`<ul> + ${e.map(l).map((e)=>`<li>${e}</li>`).join('\n')} + </ul>`)}}const Mi=` +d-citation-list { + contain: layout style; +} + +d-citation-list .references { + grid-column: text; +} + +d-citation-list .references .title { + font-weight: 500; +} +`;class Oi extends HTMLElement{static get is(){return'd-citation-list'}connectedCallback(){this.hasAttribute('distill-prerendered')||(this.style.display='none')}set citations(e){x(this,e)}}var Ui=f(function(e){var t='undefined'==typeof window?'undefined'!=typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope?self:{}:window,n=function(){var e=/\blang(?:uage)?-(\w+)\b/i,n=0,a=t.Prism={util:{encode:function(e){return e instanceof i?new i(e.type,a.util.encode(e.content),e.alias):'Array'===a.util.type(e)?e.map(a.util.encode):e.replace(/&/g,'&').replace(/</g,'<').replace(/\u00a0/g,' ')},type:function(e){return Object.prototype.toString.call(e).match(/\[object (\w+)\]/)[1]},objId:function(e){return e.__id||Object.defineProperty(e,'__id',{value:++n}),e.__id},clone:function(e){var t=a.util.type(e);switch(t){case'Object':var n={};for(var i in e)e.hasOwnProperty(i)&&(n[i]=a.util.clone(e[i]));return n;case'Array':return e.map&&e.map(function(e){return a.util.clone(e)});}return e}},languages:{extend:function(e,t){var n=a.util.clone(a.languages[e]);for(var i in t)n[i]=t[i];return n},insertBefore:function(e,t,n,i){i=i||a.languages;var d=i[e];if(2==arguments.length){for(var r in n=arguments[1],n)n.hasOwnProperty(r)&&(d[r]=n[r]);return d}var o={};for(var l in d)if(d.hasOwnProperty(l)){if(l==t)for(var r in n)n.hasOwnProperty(r)&&(o[r]=n[r]);o[l]=d[l]}return a.languages.DFS(a.languages,function(t,n){n===i[e]&&t!=e&&(this[t]=o)}),i[e]=o},DFS:function(e,t,n,d){for(var r in d=d||{},e)e.hasOwnProperty(r)&&(t.call(e,r,e[r],n||r),'Object'!==a.util.type(e[r])||d[a.util.objId(e[r])]?'Array'===a.util.type(e[r])&&!d[a.util.objId(e[r])]&&(d[a.util.objId(e[r])]=!0,a.languages.DFS(e[r],t,r,d)):(d[a.util.objId(e[r])]=!0,a.languages.DFS(e[r],t,null,d)))}},plugins:{},highlightAll:function(e,t){var n={callback:t,selector:'code[class*="language-"], [class*="language-"] code, code[class*="lang-"], [class*="lang-"] code'};a.hooks.run('before-highlightall',n);for(var d,r=n.elements||document.querySelectorAll(n.selector),o=0;d=r[o++];)a.highlightElement(d,!0===e,n.callback)},highlightElement:function(n,i,d){for(var r,o,l=n;l&&!e.test(l.className);)l=l.parentNode;l&&(r=(l.className.match(e)||[,''])[1].toLowerCase(),o=a.languages[r]),n.className=n.className.replace(e,'').replace(/\s+/g,' ')+' language-'+r,l=n.parentNode,/pre/i.test(l.nodeName)&&(l.className=l.className.replace(e,'').replace(/\s+/g,' ')+' language-'+r);var s=n.textContent,c={element:n,language:r,grammar:o,code:s};if(a.hooks.run('before-sanity-check',c),!c.code||!c.grammar)return c.code&&(c.element.textContent=c.code),void a.hooks.run('complete',c);if(a.hooks.run('before-highlight',c),i&&t.Worker){var u=new Worker(a.filename);u.onmessage=function(e){c.highlightedCode=e.data,a.hooks.run('before-insert',c),c.element.innerHTML=c.highlightedCode,d&&d.call(c.element),a.hooks.run('after-highlight',c),a.hooks.run('complete',c)},u.postMessage(JSON.stringify({language:c.language,code:c.code,immediateClose:!0}))}else c.highlightedCode=a.highlight(c.code,c.grammar,c.language),a.hooks.run('before-insert',c),c.element.innerHTML=c.highlightedCode,d&&d.call(n),a.hooks.run('after-highlight',c),a.hooks.run('complete',c)},highlight:function(e,t,n){var d=a.tokenize(e,t);return i.stringify(a.util.encode(d),n)},tokenize:function(e,t){var n=a.Token,d=[e],r=t.rest;if(r){for(var o in r)t[o]=r[o];delete t.rest}tokenloop:for(var o in t)if(t.hasOwnProperty(o)&&t[o]){var l=t[o];l='Array'===a.util.type(l)?l:[l];for(var s=0;s<l.length;++s){var c=l[s],u=c.inside,g=!!c.lookbehind,f=!!c.greedy,h=0,b=c.alias;if(f&&!c.pattern.global){var m=c.pattern.toString().match(/[imuy]*$/)[0];c.pattern=RegExp(c.pattern.source,m+'g')}c=c.pattern||c;for(var y,x=0,i=0;x<d.length;i+=d[x].length,++x){if(y=d[x],d.length>e.length)break tokenloop;if(!(y instanceof n)){c.lastIndex=0;var v=c.exec(y),w=1;if(!v&&f&&x!=d.length-1){if(c.lastIndex=i,v=c.exec(e),!v)break;for(var S=v.index+(g?v[1].length:0),C=v.index+v[0].length,T=x,k=i,p=d.length;T<p&&k<C;++T)k+=d[T].length,S>=k&&(++x,i=k);if(d[x]instanceof n||d[T-1].greedy)continue;w=T-x,y=e.slice(i,k),v.index-=i}if(v){g&&(h=v[1].length);var S=v.index+h,v=v[0].slice(h),C=S+v.length,_=y.slice(0,S),L=y.slice(C),A=[x,w];_&&A.push(_);var E=new n(o,u?a.tokenize(v,u):v,b,v,f);A.push(E),L&&A.push(L),Array.prototype.splice.apply(d,A)}}}}}return d},hooks:{all:{},add:function(e,t){var n=a.hooks.all;n[e]=n[e]||[],n[e].push(t)},run:function(e,t){var n=a.hooks.all[e];if(n&&n.length)for(var d,r=0;d=n[r++];)d(t)}}},i=a.Token=function(e,t,n,i,a){this.type=e,this.content=t,this.alias=n,this.length=0|(i||'').length,this.greedy=!!a};if(i.stringify=function(e,t,n){if('string'==typeof e)return e;if('Array'===a.util.type(e))return e.map(function(n){return i.stringify(n,t,e)}).join('');var d={type:e.type,content:i.stringify(e.content,t,n),tag:'span',classes:['token',e.type],attributes:{},language:t,parent:n};if('comment'==d.type&&(d.attributes.spellcheck='true'),e.alias){var r='Array'===a.util.type(e.alias)?e.alias:[e.alias];Array.prototype.push.apply(d.classes,r)}a.hooks.run('wrap',d);var l=Object.keys(d.attributes).map(function(e){return e+'="'+(d.attributes[e]||'').replace(/"/g,'"')+'"'}).join(' ');return'<'+d.tag+' class="'+d.classes.join(' ')+'"'+(l?' '+l:'')+'>'+d.content+'</'+d.tag+'>'},!t.document)return t.addEventListener?(t.addEventListener('message',function(e){var n=JSON.parse(e.data),i=n.language,d=n.code,r=n.immediateClose;t.postMessage(a.highlight(d,a.languages[i],i)),r&&t.close()},!1),t.Prism):t.Prism;var d=document.currentScript||[].slice.call(document.getElementsByTagName('script')).pop();return d&&(a.filename=d.src,document.addEventListener&&!d.hasAttribute('data-manual')&&('loading'===document.readyState?document.addEventListener('DOMContentLoaded',a.highlightAll):window.requestAnimationFrame?window.requestAnimationFrame(a.highlightAll):window.setTimeout(a.highlightAll,16))),t.Prism}();e.exports&&(e.exports=n),'undefined'!=typeof Ti&&(Ti.Prism=n),n.languages.markup={comment:/<!--[\w\W]*?-->/,prolog:/<\?[\w\W]+?\?>/,doctype:/<!DOCTYPE[\w\W]+?>/i,cdata:/<!\[CDATA\[[\w\W]*?]]>/i,tag:{pattern:/<\/?(?!\d)[^\s>\/=$<]+(?:\s+[^\s>\/=]+(?:=(?:("|')(?:\\\1|\\?(?!\1)[\w\W])*\1|[^\s'">=]+))?)*\s*\/?>/i,inside:{tag:{pattern:/^<\/?[^\s>\/]+/i,inside:{punctuation:/^<\/?/,namespace:/^[^\s>\/:]+:/}},"attr-value":{pattern:/=(?:('|")[\w\W]*?(\1)|[^\s>]+)/i,inside:{punctuation:/[=>"']/}},punctuation:/\/?>/,"attr-name":{pattern:/[^\s>\/]+/,inside:{namespace:/^[^\s>\/:]+:/}}}},entity:/&#?[\da-z]{1,8};/i},n.hooks.add('wrap',function(e){'entity'===e.type&&(e.attributes.title=e.content.replace(/&/,'&'))}),n.languages.xml=n.languages.markup,n.languages.html=n.languages.markup,n.languages.mathml=n.languages.markup,n.languages.svg=n.languages.markup,n.languages.css={comment:/\/\*[\w\W]*?\*\//,atrule:{pattern:/@[\w-]+?.*?(;|(?=\s*\{))/i,inside:{rule:/@[\w-]+/}},url:/url\((?:(["'])(\\(?:\r\n|[\w\W])|(?!\1)[^\\\r\n])*\1|.*?)\)/i,selector:/[^\{\}\s][^\{\};]*?(?=\s*\{)/,string:{pattern:/("|')(\\(?:\r\n|[\w\W])|(?!\1)[^\\\r\n])*\1/,greedy:!0},property:/(\b|\B)[\w-]+(?=\s*:)/i,important:/\B!important\b/i,function:/[-a-z0-9]+(?=\()/i,punctuation:/[(){};:]/},n.languages.css.atrule.inside.rest=n.util.clone(n.languages.css),n.languages.markup&&(n.languages.insertBefore('markup','tag',{style:{pattern:/(<style[\w\W]*?>)[\w\W]*?(?=<\/style>)/i,lookbehind:!0,inside:n.languages.css,alias:'language-css'}}),n.languages.insertBefore('inside','attr-value',{"style-attr":{pattern:/\s*style=("|').*?\1/i,inside:{"attr-name":{pattern:/^\s*style/i,inside:n.languages.markup.tag.inside},punctuation:/^\s*=\s*['"]|['"]\s*$/,"attr-value":{pattern:/.+/i,inside:n.languages.css}},alias:'language-css'}},n.languages.markup.tag)),n.languages.clike={comment:[{pattern:/(^|[^\\])#.*/,lookbehind:!0},{pattern:/(^|[^\\])\/\*[\w\W]*?\*\//,lookbehind:!0},{pattern:/(^|[^\\:])\/\/.*/,lookbehind:!0}],string:{pattern:/(["'])(\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/,greedy:!0},"class-name":{pattern:/((?:\b(?:class|interface|extends|implements|trait|instanceof|new)\s+)|(?:catch\s+\())[a-z0-9_\.\\]+/i,lookbehind:!0,inside:{punctuation:/(\.|\\)/}},keyword:/\b(if|else|while|do|for|return|in|instanceof|function|new|try|throw|catch|finally|null|break|continue)\b/,boolean:/\b(true|false)\b/,function:/[a-z\.0-9_]+(?=\()/i,number:/\b-?(?:0x[\da-f]+|\d*\.?\d+(?:e[+-]?\d+)?)\b/i,operator:/--?|\+\+?|!=?=?|<=?|>=?|==?=?|&&?|\|\|?|\?|\*|\/|~|\^|%/,punctuation:/[{}[\];(),.:]/},n.languages.javascript=n.languages.extend('clike',{keyword:/\b(as|async|await|break|case|catch|class|const|continue|debugger|default|delete|do|else|enum|export|extends|finally|for|from|function|get|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|set|static|super|switch|this|throw|try|typeof|var|void|while|with|yield)\b/,number:/\b-?(0x[\dA-Fa-f]+|0b[01]+|0o[0-7]+|\d*\.?\d+([Ee][+-]?\d+)?|NaN|Infinity)\b/,function:/[_$a-zA-Z\xA0-\uFFFF][_$a-zA-Z0-9\xA0-\uFFFF]*(?=\()/i,operator:/--?|\+\+?|!=?=?|<=?|>=?|==?=?|&&?|\|\|?|\?|\*\*?|\/|~|\^|%|\.{3}/}),n.languages.insertBefore('javascript','keyword',{regex:{pattern:/(^|[^/])\/(?!\/)(\[.+?]|\\.|[^/\\\r\n])+\/[gimyu]{0,5}(?=\s*($|[\r\n,.;})]))/,lookbehind:!0,greedy:!0}}),n.languages.insertBefore('javascript','string',{"template-string":{pattern:/`(?:\\\\|\\?[^\\])*?`/,greedy:!0,inside:{interpolation:{pattern:/\$\{[^}]+\}/,inside:{"interpolation-punctuation":{pattern:/^\$\{|\}$/,alias:'punctuation'},rest:n.languages.javascript}},string:/[\s\S]+/}}}),n.languages.markup&&n.languages.insertBefore('markup','tag',{script:{pattern:/(<script[\w\W]*?>)[\w\W]*?(?=<\/script>)/i,lookbehind:!0,inside:n.languages.javascript,alias:'language-javascript'}}),n.languages.js=n.languages.javascript,function(){'undefined'!=typeof self&&self.Prism&&self.document&&document.querySelector&&(self.Prism.fileHighlight=function(){var e={js:'javascript',py:'python',rb:'ruby',ps1:'powershell',psm1:'powershell',sh:'bash',bat:'batch',h:'c',tex:'latex'};Array.prototype.forEach&&Array.prototype.slice.call(document.querySelectorAll('pre[data-src]')).forEach(function(t){for(var i,a=t.getAttribute('data-src'),d=t,r=/\blang(?:uage)?-(?!\*)(\w+)\b/i;d&&!r.test(d.className);)d=d.parentNode;if(d&&(i=(t.className.match(r)||[,''])[1]),!i){var o=(a.match(/\.(\w+)$/)||[,''])[1];i=e[o]||o}var l=document.createElement('code');l.className='language-'+i,t.textContent='',l.textContent='Loading\u2026',t.appendChild(l);var s=new XMLHttpRequest;s.open('GET',a,!0),s.onreadystatechange=function(){4==s.readyState&&(400>s.status&&s.responseText?(l.textContent=s.responseText,n.highlightElement(l)):400<=s.status?l.textContent='\u2716 Error '+s.status+' while fetching file: '+s.statusText:l.textContent='\u2716 Error: File does not exist or is empty')},s.send(null)})},document.addEventListener('DOMContentLoaded',self.Prism.fileHighlight))}()});Prism.languages.python={"triple-quoted-string":{pattern:/"""[\s\S]+?"""|'''[\s\S]+?'''/,alias:'string'},comment:{pattern:/(^|[^\\])#.*/,lookbehind:!0},string:{pattern:/("|')(?:\\\\|\\?[^\\\r\n])*?\1/,greedy:!0},function:{pattern:/((?:^|\s)def[ \t]+)[a-zA-Z_][a-zA-Z0-9_]*(?=\()/g,lookbehind:!0},"class-name":{pattern:/(\bclass\s+)[a-z0-9_]+/i,lookbehind:!0},keyword:/\b(?:as|assert|async|await|break|class|continue|def|del|elif|else|except|exec|finally|for|from|global|if|import|in|is|lambda|pass|print|raise|return|try|while|with|yield)\b/,boolean:/\b(?:True|False)\b/,number:/\b-?(?:0[bo])?(?:(?:\d|0x[\da-f])[\da-f]*\.?\d*|\.\d+)(?:e[+-]?\d+)?j?\b/i,operator:/[-+%=]=?|!=|\*\*?=?|\/\/?=?|<[<=>]?|>[=>]?|[&|^~]|\b(?:or|and|not)\b/,punctuation:/[{}[\];(),.:]/},Prism.languages.clike={comment:[{pattern:/(^|[^\\])#.*/,lookbehind:!0},{pattern:/(^|[^\\])\/\*[\w\W]*?\*\//,lookbehind:!0},{pattern:/(^|[^\\:])\/\/.*/,lookbehind:!0}],string:{pattern:/(["'])(\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/,greedy:!0},"class-name":{pattern:/((?:\b(?:class|interface|extends|implements|trait|instanceof|new)\s+)|(?:catch\s+\())[a-z0-9_\.\\]+/i,lookbehind:!0,inside:{punctuation:/(\.|\\)/}},keyword:/\b(if|else|while|do|for|return|in|instanceof|function|new|try|throw|catch|finally|null|break|continue)\b/,boolean:/\b(true|false)\b/,function:/[a-z\.0-9_]+(?=\()/i,number:/\b-?(?:0x[\da-f]+|\d*\.?\d+(?:e[+-]?\d+)?)\b/i,operator:/--?|\+\+?|!=?=?|<=?|>=?|==?=?|&&?|\|\|?|\?|\*|\/|~|\^|%/,punctuation:/[{}[\];(),.:]/},Prism.languages.lua={comment:/^#!.+|--(?:\[(=*)\[[\s\S]*?\]\1\]|.*)/m,string:{pattern:/(["'])(?:(?!\1)[^\\\r\n]|\\z(?:\r\n|\s)|\\(?:\r\n|[\s\S]))*\1|\[(=*)\[[\s\S]*?\]\2\]/,greedy:!0},number:/\b0x[a-f\d]+\.?[a-f\d]*(?:p[+-]?\d+)?\b|\b\d+(?:\.\B|\.?\d*(?:e[+-]?\d+)?\b)|\B\.\d+(?:e[+-]?\d+)?\b/i,keyword:/\b(?:and|break|do|else|elseif|end|false|for|function|goto|if|in|local|nil|not|or|repeat|return|then|true|until|while)\b/,function:/(?!\d)\w+(?=\s*(?:[({]))/,operator:[/[-+*%^&|#]|\/\/?|<[<=]?|>[>=]?|[=~]=?/,{pattern:/(^|[^.])\.\.(?!\.)/,lookbehind:!0}],punctuation:/[\[\](){},;]|\.+|:+/},function(e){var t={variable:[{pattern:/\$?\(\([\w\W]+?\)\)/,inside:{variable:[{pattern:/(^\$\(\([\w\W]+)\)\)/,lookbehind:!0},/^\$\(\(/],number:/\b-?(?:0x[\dA-Fa-f]+|\d*\.?\d+(?:[Ee]-?\d+)?)\b/,operator:/--?|-=|\+\+?|\+=|!=?|~|\*\*?|\*=|\/=?|%=?|<<=?|>>=?|<=?|>=?|==?|&&?|&=|\^=?|\|\|?|\|=|\?|:/,punctuation:/\(\(?|\)\)?|,|;/}},{pattern:/\$\([^)]+\)|`[^`]+`/,inside:{variable:/^\$\(|^`|\)$|`$/}},/\$(?:[a-z0-9_#\?\*!@]+|\{[^}]+\})/i]};e.languages.bash={shebang:{pattern:/^#!\s*\/bin\/bash|^#!\s*\/bin\/sh/,alias:'important'},comment:{pattern:/(^|[^"{\\])#.*/,lookbehind:!0},string:[{pattern:/((?:^|[^<])<<\s*)(?:"|')?(\w+?)(?:"|')?\s*\r?\n(?:[\s\S])*?\r?\n\2/g,lookbehind:!0,greedy:!0,inside:t},{pattern:/(["'])(?:\\\\|\\?[^\\])*?\1/g,greedy:!0,inside:t}],variable:t.variable,function:{pattern:/(^|\s|;|\||&)(?:alias|apropos|apt-get|aptitude|aspell|awk|basename|bash|bc|bg|builtin|bzip2|cal|cat|cd|cfdisk|chgrp|chmod|chown|chroot|chkconfig|cksum|clear|cmp|comm|command|cp|cron|crontab|csplit|cut|date|dc|dd|ddrescue|df|diff|diff3|dig|dir|dircolors|dirname|dirs|dmesg|du|egrep|eject|enable|env|ethtool|eval|exec|expand|expect|export|expr|fdformat|fdisk|fg|fgrep|file|find|fmt|fold|format|free|fsck|ftp|fuser|gawk|getopts|git|grep|groupadd|groupdel|groupmod|groups|gzip|hash|head|help|hg|history|hostname|htop|iconv|id|ifconfig|ifdown|ifup|import|install|jobs|join|kill|killall|less|link|ln|locate|logname|logout|look|lpc|lpr|lprint|lprintd|lprintq|lprm|ls|lsof|make|man|mkdir|mkfifo|mkisofs|mknod|more|most|mount|mtools|mtr|mv|mmv|nano|netstat|nice|nl|nohup|notify-send|npm|nslookup|open|op|passwd|paste|pathchk|ping|pkill|popd|pr|printcap|printenv|printf|ps|pushd|pv|pwd|quota|quotacheck|quotactl|ram|rar|rcp|read|readarray|readonly|reboot|rename|renice|remsync|rev|rm|rmdir|rsync|screen|scp|sdiff|sed|seq|service|sftp|shift|shopt|shutdown|sleep|slocate|sort|source|split|ssh|stat|strace|su|sudo|sum|suspend|sync|tail|tar|tee|test|time|timeout|times|touch|top|traceroute|trap|tr|tsort|tty|type|ulimit|umask|umount|unalias|uname|unexpand|uniq|units|unrar|unshar|uptime|useradd|userdel|usermod|users|uuencode|uudecode|v|vdir|vi|vmstat|wait|watch|wc|wget|whereis|which|who|whoami|write|xargs|xdg-open|yes|zip)(?=$|\s|;|\||&)/,lookbehind:!0},keyword:{pattern:/(^|\s|;|\||&)(?:let|:|\.|if|then|else|elif|fi|for|break|continue|while|in|case|function|select|do|done|until|echo|exit|return|set|declare)(?=$|\s|;|\||&)/,lookbehind:!0},boolean:{pattern:/(^|\s|;|\||&)(?:true|false)(?=$|\s|;|\||&)/,lookbehind:!0},operator:/&&?|\|\|?|==?|!=?|<<<?|>>|<=?|>=?|=~/,punctuation:/\$?\(\(?|\)\)?|\.\.|[{}[\];]/};var n=t.variable[1].inside;n['function']=e.languages.bash['function'],n.keyword=e.languages.bash.keyword,n.boolean=e.languages.bash.boolean,n.operator=e.languages.bash.operator,n.punctuation=e.languages.bash.punctuation}(Prism),Prism.languages.go=Prism.languages.extend('clike',{keyword:/\b(break|case|chan|const|continue|default|defer|else|fallthrough|for|func|go(to)?|if|import|interface|map|package|range|return|select|struct|switch|type|var)\b/,builtin:/\b(bool|byte|complex(64|128)|error|float(32|64)|rune|string|u?int(8|16|32|64|)|uintptr|append|cap|close|complex|copy|delete|imag|len|make|new|panic|print(ln)?|real|recover)\b/,boolean:/\b(_|iota|nil|true|false)\b/,operator:/[*\/%^!=]=?|\+[=+]?|-[=-]?|\|[=|]?|&(?:=|&|\^=?)?|>(?:>=?|=)?|<(?:<=?|=|-)?|:=|\.\.\./,number:/\b(-?(0x[a-f\d]+|(\d+\.?\d*|\.\d+)(e[-+]?\d+)?)i?)\b/i,string:/("|'|`)(\\?.|\r|\n)*?\1/}),delete Prism.languages.go['class-name'],Prism.languages.markdown=Prism.languages.extend('markup',{}),Prism.languages.insertBefore('markdown','prolog',{blockquote:{pattern:/^>(?:[\t ]*>)*/m,alias:'punctuation'},code:[{pattern:/^(?: {4}|\t).+/m,alias:'keyword'},{pattern:/``.+?``|`[^`\n]+`/,alias:'keyword'}],title:[{pattern:/\w+.*(?:\r?\n|\r)(?:==+|--+)/,alias:'important',inside:{punctuation:/==+$|--+$/}},{pattern:/(^\s*)#+.+/m,lookbehind:!0,alias:'important',inside:{punctuation:/^#+|#+$/}}],hr:{pattern:/(^\s*)([*-])([\t ]*\2){2,}(?=\s*$)/m,lookbehind:!0,alias:'punctuation'},list:{pattern:/(^\s*)(?:[*+-]|\d+\.)(?=[\t ].)/m,lookbehind:!0,alias:'punctuation'},"url-reference":{pattern:/!?\[[^\]]+\]:[\t ]+(?:\S+|<(?:\\.|[^>\\])+>)(?:[\t ]+(?:"(?:\\.|[^"\\])*"|'(?:\\.|[^'\\])*'|\((?:\\.|[^)\\])*\)))?/,inside:{variable:{pattern:/^(!?\[)[^\]]+/,lookbehind:!0},string:/(?:"(?:\\.|[^"\\])*"|'(?:\\.|[^'\\])*'|\((?:\\.|[^)\\])*\))$/,punctuation:/^[\[\]!:]|[<>]/},alias:'url'},bold:{pattern:/(^|[^\\])(\*\*|__)(?:(?:\r?\n|\r)(?!\r?\n|\r)|.)+?\2/,lookbehind:!0,inside:{punctuation:/^\*\*|^__|\*\*$|__$/}},italic:{pattern:/(^|[^\\])([*_])(?:(?:\r?\n|\r)(?!\r?\n|\r)|.)+?\2/,lookbehind:!0,inside:{punctuation:/^[*_]|[*_]$/}},url:{pattern:/!?\[[^\]]+\](?:\([^\s)]+(?:[\t ]+"(?:\\.|[^"\\])*")?\)| ?\[[^\]\n]*\])/,inside:{variable:{pattern:/(!?\[)[^\]]+(?=\]$)/,lookbehind:!0},string:{pattern:/"(?:\\.|[^"\\])*"(?=\)$)/}}}}),Prism.languages.markdown.bold.inside.url=Prism.util.clone(Prism.languages.markdown.url),Prism.languages.markdown.italic.inside.url=Prism.util.clone(Prism.languages.markdown.url),Prism.languages.markdown.bold.inside.italic=Prism.util.clone(Prism.languages.markdown.italic),Prism.languages.markdown.italic.inside.bold=Prism.util.clone(Prism.languages.markdown.bold),Prism.languages.julia={comment:{pattern:/(^|[^\\])#.*/,lookbehind:!0},string:/"""[\s\S]+?"""|'''[\s\S]+?'''|("|')(\\?.)*?\1/,keyword:/\b(abstract|baremodule|begin|bitstype|break|catch|ccall|const|continue|do|else|elseif|end|export|finally|for|function|global|if|immutable|import|importall|let|local|macro|module|print|println|quote|return|try|type|typealias|using|while)\b/,boolean:/\b(true|false)\b/,number:/\b-?(0[box])?(?:[\da-f]+\.?\d*|\.\d+)(?:[efp][+-]?\d+)?j?\b/i,operator:/\+=?|-=?|\*=?|\/[\/=]?|\\=?|\^=?|%=?|÷=?|!=?=?|&=?|\|[=>]?|\$=?|<(?:<=?|[=:])?|>(?:=|>>?=?)?|==?=?|[~≠≤≥]/,punctuation:/[{}[\];(),.:]/};const Ii=ti('d-code',` +<style> + +code { + white-space: nowrap; + background: rgba(0, 0, 0, 0.04); + border-radius: 2px; + padding: 4px 7px; + font-size: 15px; + color: rgba(0, 0, 0, 0.6); +} + +pre code { + display: block; + border-left: 2px solid rgba(0, 0, 0, .1); + padding: 0 0 0 36px; +} + +${'/**\n * prism.js default theme for JavaScript, CSS and HTML\n * Based on dabblet (http://dabblet.com)\n * @author Lea Verou\n */\n\ncode[class*="language-"],\npre[class*="language-"] {\n\tcolor: black;\n\tbackground: none;\n\ttext-shadow: 0 1px white;\n\tfont-family: Consolas, Monaco, \'Andale Mono\', \'Ubuntu Mono\', monospace;\n\ttext-align: left;\n\twhite-space: pre;\n\tword-spacing: normal;\n\tword-break: normal;\n\tword-wrap: normal;\n\tline-height: 1.5;\n\n\t-moz-tab-size: 4;\n\t-o-tab-size: 4;\n\ttab-size: 4;\n\n\t-webkit-hyphens: none;\n\t-moz-hyphens: none;\n\t-ms-hyphens: none;\n\thyphens: none;\n}\n\npre[class*="language-"]::-moz-selection, pre[class*="language-"] ::-moz-selection,\ncode[class*="language-"]::-moz-selection, code[class*="language-"] ::-moz-selection {\n\ttext-shadow: none;\n\tbackground: #b3d4fc;\n}\n\npre[class*="language-"]::selection, pre[class*="language-"] ::selection,\ncode[class*="language-"]::selection, code[class*="language-"] ::selection {\n\ttext-shadow: none;\n\tbackground: #b3d4fc;\n}\n\n@media print {\n\tcode[class*="language-"],\n\tpre[class*="language-"] {\n\t\ttext-shadow: none;\n\t}\n}\n\n/* Code blocks */\npre[class*="language-"] {\n\tpadding: 1em;\n\tmargin: .5em 0;\n\toverflow: auto;\n}\n\n:not(pre) > code[class*="language-"],\npre[class*="language-"] {\n\tbackground: #f5f2f0;\n}\n\n/* Inline code */\n:not(pre) > code[class*="language-"] {\n\tpadding: .1em;\n\tborder-radius: .3em;\n\twhite-space: normal;\n}\n\n.token.comment,\n.token.prolog,\n.token.doctype,\n.token.cdata {\n\tcolor: slategray;\n}\n\n.token.punctuation {\n\tcolor: #999;\n}\n\n.namespace {\n\topacity: .7;\n}\n\n.token.property,\n.token.tag,\n.token.boolean,\n.token.number,\n.token.constant,\n.token.symbol,\n.token.deleted {\n\tcolor: #905;\n}\n\n.token.selector,\n.token.attr-name,\n.token.string,\n.token.char,\n.token.builtin,\n.token.inserted {\n\tcolor: #690;\n}\n\n.token.operator,\n.token.entity,\n.token.url,\n.language-css .token.string,\n.style .token.string {\n\tcolor: #a67f59;\n\tbackground: hsla(0, 0%, 100%, .5);\n}\n\n.token.atrule,\n.token.attr-value,\n.token.keyword {\n\tcolor: #07a;\n}\n\n.token.function {\n\tcolor: #DD4A68;\n}\n\n.token.regex,\n.token.important,\n.token.variable {\n\tcolor: #e90;\n}\n\n.token.important,\n.token.bold {\n\tfont-weight: bold;\n}\n.token.italic {\n\tfont-style: italic;\n}\n\n.token.entity {\n\tcursor: help;\n}\n'} +</style> + +<code id="code-container"></code> + +`);class Ni extends ei(Ii(HTMLElement)){renderContent(){if(this.languageName=this.getAttribute('language'),!this.languageName)return void console.warn('You need to provide a language attribute to your <d-code> block to let us know how to highlight your code; e.g.:\n <d-code language="python">zeros = np.zeros(shape)</d-code>.');const e=Ui.languages[this.languageName];if(void 0==e)return void console.warn(`Distill does not yet support highlighting your code block in "${this.languageName}'.`);let t=this.textContent;const n=this.shadowRoot.querySelector('#code-container');if(this.hasAttribute('block')){t=t.replace(/\n/,'');const e=t.match(/\s*/);if(t=t.replace(new RegExp('\n'+e,'g'),'\n'),t=t.trim(),n.parentNode instanceof ShadowRoot){const e=document.createElement('pre');this.shadowRoot.removeChild(n),e.appendChild(n),this.shadowRoot.appendChild(e)}}n.className=`language-${this.languageName}`,n.innerHTML=Ui.highlight(t,e)}}const ji=ti('d-footnote',` +<style> + +d-math[block] { + display: block; +} + +:host { + +} + +sup { + line-height: 1em; + font-size: 0.75em; + position: relative; + top: -.5em; + vertical-align: baseline; +} + +span { + color: hsla(206, 90%, 20%, 0.7); + cursor: default; +} + +.footnote-container { + padding: 10px; +} + +</style> + +<d-hover-box> + <div class="footnote-container"> + <slot id="slot"></slot> + </div> +</d-hover-box> + +<sup> + <span id="fn-" data-hover-ref=""></span> +</sup> + +`);class Ri extends ji(HTMLElement){constructor(){super();const e=new MutationObserver(this.notify);e.observe(this,{childList:!0,characterData:!0,subtree:!0})}notify(){const e={detail:this,bubbles:!0},t=new CustomEvent('onFootnoteChanged',e);document.dispatchEvent(t)}connectedCallback(){this.hoverBox=this.root.querySelector('d-hover-box'),window.customElements.whenDefined('d-hover-box').then(()=>{this.hoverBox.listen(this)}),Ri.currentFootnoteId+=1;const e=Ri.currentFootnoteId.toString();this.root.host.id='d-footnote-'+e;const t='dt-fn-hover-box-'+e;this.hoverBox.id=t;const n=this.root.querySelector('#fn-');n.setAttribute('id','fn-'+e),n.setAttribute('data-hover-ref',t),n.textContent=e}}Ri.currentFootnoteId=0;const qi=ti('d-footnote-list',` +<style> + +d-footnote-list { + contain: layout style; +} + +d-footnote-list > * { + grid-column: text; +} + +d-footnote-list a.footnote-backlink { + color: rgba(0,0,0,0.3); + padding-left: 0.5em; +} + +</style> + +<h3>Footnotes</h3> +<ol></ol> +`,!1);class Fi extends qi(HTMLElement){connectedCallback(){super.connectedCallback(),this.list=this.root.querySelector('ol'),this.root.style.display='none'}set footnotes(e){if(this.list.innerHTML='',e.length){this.root.style.display='';for(const t of e){const e=document.createElement('li');e.id=t.id+'-listing',e.innerHTML=t.innerHTML;const n=document.createElement('a');n.setAttribute('class','footnote-backlink'),n.textContent='[\u21A9]',n.href='#'+t.id,e.appendChild(n),this.list.appendChild(e)}}else this.root.style.display='none'}}const Pi=ti('d-hover-box',` +<style> + +:host { + position: absolute; + width: 100%; + left: 0px; + z-index: 10000; + display: none; + white-space: normal +} + +.container { + position: relative; + width: 704px; + max-width: 100vw; + margin: 0 auto; +} + +.panel { + position: absolute; + font-size: 1rem; + line-height: 1.5em; + top: 0; + left: 0; + width: 100%; + border: 1px solid rgba(0, 0, 0, 0.1); + background-color: rgba(250, 250, 250, 0.95); + box-shadow: 0 0 7px rgba(0, 0, 0, 0.1); + border-radius: 4px; + box-sizing: border-box; + + backdrop-filter: blur(2px); + -webkit-backdrop-filter: blur(2px); +} + +</style> + +<div class="container"> + <div class="panel"> + <slot></slot> + </div> +</div> +`);class Hi extends Pi(HTMLElement){constructor(){super()}connectedCallback(){}listen(e){this.bindDivEvents(this),this.bindTriggerEvents(e)}bindDivEvents(e){e.addEventListener('mouseover',()=>{this.visible||this.showAtNode(e),this.stopTimeout()}),e.addEventListener('mouseout',()=>{this.extendTimeout(500)}),e.addEventListener('touchstart',(e)=>{e.stopPropagation()},{passive:!0}),document.body.addEventListener('touchstart',()=>{this.hide()},{passive:!0})}bindTriggerEvents(e){e.addEventListener('mouseover',()=>{this.visible||this.showAtNode(e),this.stopTimeout()}),e.addEventListener('mouseout',()=>{this.extendTimeout(300)}),e.addEventListener('touchstart',(t)=>{this.visible?this.hide():this.showAtNode(e),t.stopPropagation()},{passive:!0})}show(e){this.visible=!0,this.style.display='block',this.style.top=Pn(e[1]+10)+'px'}showAtNode(e){const t=e.getBoundingClientRect();this.show([e.offsetLeft+t.width,e.offsetTop+t.height])}hide(){this.visible=!1,this.style.display='none',this.stopTimeout()}stopTimeout(){this.timeout&&clearTimeout(this.timeout)}extendTimeout(e){this.stopTimeout(),this.timeout=setTimeout(()=>{this.hide()},e)}}class zi extends HTMLElement{static get is(){return'd-title'}}const Yi=ti('d-references',` +<style> +d-references { + display: block; +} +</style> +`,!1);class Bi extends Yi(HTMLElement){}class Wi extends HTMLElement{static get is(){return'd-toc'}connectedCallback(){this.getAttribute('prerendered')||(window.onload=()=>{const e=document.querySelector('d-article'),t=e.querySelectorAll('h2, h3');k(this,t)})}}class Vi extends HTMLElement{static get is(){return'd-figure'}static get readyQueue(){return Vi._readyQueue||(Vi._readyQueue=[]),Vi._readyQueue}static addToReadyQueue(e){-1===Vi.readyQueue.indexOf(e)&&(Vi.readyQueue.push(e),Vi.runReadyQueue())}static runReadyQueue(){const e=Vi.readyQueue.sort((e,t)=>e._seenOnScreen-t._seenOnScreen).filter((e)=>!e._ready).pop();e&&(e.ready(),requestAnimationFrame(Vi.runReadyQueue))}constructor(){super(),this._ready=!1,this._onscreen=!1,this._offscreen=!0}connectedCallback(){this.loadsWhileScrolling=this.hasAttribute('loadsWhileScrolling'),Vi.marginObserver.observe(this),Vi.directObserver.observe(this)}disconnectedCallback(){Vi.marginObserver.unobserve(this),Vi.directObserver.unobserve(this)}static get marginObserver(){if(!Vi._marginObserver){const e=window.innerHeight,t=Fn(2*e),n=Vi.didObserveMarginIntersection,i=new IntersectionObserver(n,{rootMargin:t+'px 0px '+t+'px 0px',threshold:0.01});Vi._marginObserver=i}return Vi._marginObserver}static didObserveMarginIntersection(e){for(const t of e){const e=t.target;t.isIntersecting&&!e._ready&&Vi.addToReadyQueue(e)}}static get directObserver(){return Vi._directObserver||(Vi._directObserver=new IntersectionObserver(Vi.didObserveDirectIntersection,{rootMargin:'0px',threshold:[0,1]})),Vi._directObserver}static didObserveDirectIntersection(e){for(const t of e){const e=t.target;t.isIntersecting?(e._seenOnScreen=new Date,e._offscreen&&e.onscreen()):e._onscreen&&e.offscreen()}}addEventListener(e,t){super.addEventListener(e,t),'ready'===e&&-1!==Vi.readyQueue.indexOf(this)&&(this._ready=!1,Vi.runReadyQueue()),'onscreen'===e&&this.onscreen()}ready(){this._ready=!0,Vi.marginObserver.unobserve(this);const e=new CustomEvent('ready');this.dispatchEvent(e)}onscreen(){this._onscreen=!0,this._offscreen=!1;const e=new CustomEvent('onscreen');this.dispatchEvent(e)}offscreen(){this._onscreen=!1,this._offscreen=!0;const e=new CustomEvent('offscreen');this.dispatchEvent(e)}}if('undefined'!=typeof window){Vi.isScrolling=!1;let e;window.addEventListener('scroll',()=>{Vi.isScrolling=!0,clearTimeout(e),e=setTimeout(()=>{Vi.isScrolling=!1,Vi.runReadyQueue()},500)},!0)}const Ki=ti('d-interstitial',` +<style> + +.overlay { + position: fixed; + width: 100%; + height: 100%; + top: 0; + left: 0; + background: white; + + opacity: 1; + visibility: visible; + + display: flex; + flex-flow: column; + justify-content: center; + z-index: 2147483647 /* MaxInt32 */ + +} + +.container { + position: relative; + margin-left: auto; + margin-right: auto; + max-width: 420px; + padding: 2em; +} + +h1 { + text-decoration: underline; + text-decoration-color: hsl(0,100%,40%); + -webkit-text-decoration-color: hsl(0,100%,40%); + margin-bottom: 1em; + line-height: 1.5em; +} + +input[type="password"] { + -webkit-appearance: none; + -moz-appearance: none; + appearance: none; + -webkit-box-shadow: none; + -moz-box-shadow: none; + box-shadow: none; + -webkit-border-radius: none; + -moz-border-radius: none; + -ms-border-radius: none; + -o-border-radius: none; + border-radius: none; + outline: none; + + font-size: 18px; + background: none; + width: 25%; + padding: 10px; + border: none; + border-bottom: solid 2px #999; + transition: border .3s; +} + +input[type="password"]:focus { + border-bottom: solid 2px #333; +} + +input[type="password"].wrong { + border-bottom: solid 2px hsl(0,100%,40%); +} + +p small { + color: #888; +} + +.logo { + position: relative; + font-size: 1.5em; + margin-bottom: 3em; +} + +.logo svg { + width: 36px; + position: relative; + top: 6px; + margin-right: 2px; +} + +.logo svg path { + fill: none; + stroke: black; + stroke-width: 2px; +} + +</style> + +<div class="overlay"> + <div class="container"> + <h1>This article is in review.</h1> + <p>Do not share this URL or the contents of this article. Thank you!</p> + <input id="interstitial-password-input" type="password" name="password" autofocus/> + <p><small>Enter the password we shared with you as part of the review process to view the article.</small></p> + </div> +</div> +`);class $i extends Ki(HTMLElement){connectedCallback(){if(this.shouldRemoveSelf())this.parentElement.removeChild(this);else{const e=this.root.querySelector('#interstitial-password-input');e.oninput=(e)=>this.passwordChanged(e)}}passwordChanged(e){const t=e.target.value;t===this.password&&(console.log('Correct password entered.'),this.parentElement.removeChild(this),'undefined'!=typeof Storage&&(console.log('Saved that correct password was entered.'),localStorage.setItem(this.localStorageIdentifier(),'true')))}shouldRemoveSelf(){return window&&window.location.hostname==='distill.pub'?(console.warn('Interstitial found on production, hiding it.'),!0):'undefined'!=typeof Storage&&'true'===localStorage.getItem(this.localStorageIdentifier())&&(console.log('Loaded that correct password was entered before; skipping interstitial.'),!0)}localStorageIdentifier(){return'distill-drafts'+(window?window.location.pathname:'-')+'interstitial-password-correct'}}var Xi=function(e,t){return e<t?-1:e>t?1:e>=t?0:NaN},Ji=function(e){return 1===e.length&&(e=v(e)),{left:function(t,n,i,a){for(null==i&&(i=0),null==a&&(a=t.length);i<a;){var d=i+a>>>1;0>e(t[d],n)?i=d+1:a=d}return i},right:function(t,n,i,a){for(null==i&&(i=0),null==a&&(a=t.length);i<a;){var d=i+a>>>1;0<e(t[d],n)?a=d:i=d+1}return i}}}(Xi),Qi=Ji.right,Zi=function(e,t,a){e=+e,t=+t,a=2>(i=arguments.length)?(t=e,e=0,1):3>i?1:+a;for(var d=-1,i=0|Rn(0,qn((t-e)/a)),n=Array(i);++d<i;)n[d]=e+d*a;return n},Gi=7.0710678118654755,ea=3.1622776601683795,ta=1.4142135623730951,na=function(e,t,a){var d,r,n,o,l=-1;if(t=+t,e=+e,a=+a,e===t&&0<a)return[e];if((d=t<e)&&(r=e,e=t,t=r),0===(o=w(e,t,a))||!isFinite(o))return[];if(0<o)for(e=qn(e/o),t=Fn(t/o),n=Array(r=qn(t-e+1));++l<r;)n[l]=(e+l)*o;else for(e=Fn(e*o),t=qn(t*o),n=Array(r=qn(e-t+1));++l<r;)n[l]=(e-l)/o;return d&&n.reverse(),n},ia=Array.prototype,aa=ia.map,da=ia.slice,ra=function(e,t,n){e.prototype=t.prototype=n,n.constructor=e},oa=0.7,la=1/oa,sa=/^#([0-9a-f]{3})$/,ca=/^#([0-9a-f]{6})$/,ua=/^rgb\(\s*([+-]?\d+)\s*,\s*([+-]?\d+)\s*,\s*([+-]?\d+)\s*\)$/,pa=/^rgb\(\s*([+-]?\d*\.?\d+(?:[eE][+-]?\d+)?)%\s*,\s*([+-]?\d*\.?\d+(?:[eE][+-]?\d+)?)%\s*,\s*([+-]?\d*\.?\d+(?:[eE][+-]?\d+)?)%\s*\)$/,ga=/^rgba\(\s*([+-]?\d+)\s*,\s*([+-]?\d+)\s*,\s*([+-]?\d+)\s*,\s*([+-]?\d*\.?\d+(?:[eE][+-]?\d+)?)\s*\)$/,fa=/^rgba\(\s*([+-]?\d*\.?\d+(?:[eE][+-]?\d+)?)%\s*,\s*([+-]?\d*\.?\d+(?:[eE][+-]?\d+)?)%\s*,\s*([+-]?\d*\.?\d+(?:[eE][+-]?\d+)?)%\s*,\s*([+-]?\d*\.?\d+(?:[eE][+-]?\d+)?)\s*\)$/,ha=/^hsl\(\s*([+-]?\d*\.?\d+(?:[eE][+-]?\d+)?)\s*,\s*([+-]?\d*\.?\d+(?:[eE][+-]?\d+)?)%\s*,\s*([+-]?\d*\.?\d+(?:[eE][+-]?\d+)?)%\s*\)$/,ba=/^hsla\(\s*([+-]?\d*\.?\d+(?:[eE][+-]?\d+)?)\s*,\s*([+-]?\d*\.?\d+(?:[eE][+-]?\d+)?)%\s*,\s*([+-]?\d*\.?\d+(?:[eE][+-]?\d+)?)%\s*,\s*([+-]?\d*\.?\d+(?:[eE][+-]?\d+)?)\s*\)$/,ma={aliceblue:15792383,antiquewhite:16444375,aqua:65535,aquamarine:8388564,azure:15794175,beige:16119260,bisque:16770244,black:0,blanchedalmond:16772045,blue:255,blueviolet:9055202,brown:10824234,burlywood:14596231,cadetblue:6266528,chartreuse:8388352,chocolate:13789470,coral:16744272,cornflowerblue:6591981,cornsilk:16775388,crimson:14423100,cyan:65535,darkblue:139,darkcyan:35723,darkgoldenrod:12092939,darkgray:11119017,darkgreen:25600,darkgrey:11119017,darkkhaki:12433259,darkmagenta:9109643,darkolivegreen:5597999,darkorange:16747520,darkorchid:10040012,darkred:9109504,darksalmon:15308410,darkseagreen:9419919,darkslateblue:4734347,darkslategray:3100495,darkslategrey:3100495,darkturquoise:52945,darkviolet:9699539,deeppink:16716947,deepskyblue:49151,dimgray:6908265,dimgrey:6908265,dodgerblue:2003199,firebrick:11674146,floralwhite:16775920,forestgreen:2263842,fuchsia:16711935,gainsboro:14474460,ghostwhite:16316671,gold:16766720,goldenrod:14329120,gray:8421504,green:32768,greenyellow:11403055,grey:8421504,honeydew:15794160,hotpink:16738740,indianred:13458524,indigo:4915330,ivory:16777200,khaki:15787660,lavender:15132410,lavenderblush:16773365,lawngreen:8190976,lemonchiffon:16775885,lightblue:11393254,lightcoral:15761536,lightcyan:14745599,lightgoldenrodyellow:16448210,lightgray:13882323,lightgreen:9498256,lightgrey:13882323,lightpink:16758465,lightsalmon:16752762,lightseagreen:2142890,lightskyblue:8900346,lightslategray:7833753,lightslategrey:7833753,lightsteelblue:11584734,lightyellow:16777184,lime:65280,limegreen:3329330,linen:16445670,magenta:16711935,maroon:8388608,mediumaquamarine:6737322,mediumblue:205,mediumorchid:12211667,mediumpurple:9662683,mediumseagreen:3978097,mediumslateblue:8087790,mediumspringgreen:64154,mediumturquoise:4772300,mediumvioletred:13047173,midnightblue:1644912,mintcream:16121850,mistyrose:16770273,moccasin:16770229,navajowhite:16768685,navy:128,oldlace:16643558,olive:8421376,olivedrab:7048739,orange:16753920,orangered:16729344,orchid:14315734,palegoldenrod:15657130,palegreen:10025880,paleturquoise:11529966,palevioletred:14381203,papayawhip:16773077,peachpuff:16767673,peru:13468991,pink:16761035,plum:14524637,powderblue:11591910,purple:8388736,rebeccapurple:6697881,red:16711680,rosybrown:12357519,royalblue:4286945,saddlebrown:9127187,salmon:16416882,sandybrown:16032864,seagreen:3050327,seashell:16774638,sienna:10506797,silver:12632256,skyblue:8900331,slateblue:6970061,slategray:7372944,slategrey:7372944,snow:16775930,springgreen:65407,steelblue:4620980,tan:13808780,teal:32896,thistle:14204888,tomato:16737095,turquoise:4251856,violet:15631086,wheat:16113331,white:16777215,whitesmoke:16119285,yellow:16776960,yellowgreen:10145074};ra(L,M,{displayable:function(){return this.rgb().displayable()},toString:function(){return this.rgb()+''}}),ra(j,N,_(L,{brighter:function(e){return e=null==e?la:In(la,e),new j(this.r*e,this.g*e,this.b*e,this.opacity)},darker:function(e){return e=null==e?oa:In(oa,e),new j(this.r*e,this.g*e,this.b*e,this.opacity)},rgb:function(){return this},displayable:function(){return 0<=this.r&&255>=this.r&&0<=this.g&&255>=this.g&&0<=this.b&&255>=this.b&&0<=this.opacity&&1>=this.opacity},toString:function(){var e=this.opacity;return e=isNaN(e)?1:Rn(0,Hn(1,e)),(1===e?'rgb(':'rgba(')+Rn(0,Hn(255,Pn(this.r)||0))+', '+Rn(0,Hn(255,Pn(this.g)||0))+', '+Rn(0,Hn(255,Pn(this.b)||0))+(1===e?')':', '+e+')')}})),ra(F,function(e,t,n,i){return 1===arguments.length?q(e):new F(e,t,n,null==i?1:i)},_(L,{brighter:function(e){return e=null==e?la:In(la,e),new F(this.h,this.s,this.l*e,this.opacity)},darker:function(e){return e=null==e?oa:In(oa,e),new F(this.h,this.s,this.l*e,this.opacity)},rgb:function(){var e=this.h%360+360*(0>this.h),t=isNaN(e)||isNaN(this.s)?0:this.s,n=this.l,i=n+(0.5>n?n:1-n)*t,a=2*n-i;return new j(P(240<=e?e-240:e+120,a,i),P(e,a,i),P(120>e?e+240:e-120,a,i),this.opacity)},displayable:function(){return(0<=this.s&&1>=this.s||isNaN(this.s))&&0<=this.l&&1>=this.l&&0<=this.opacity&&1>=this.opacity}}));var ya=On/180,xa=180/On,ka=18,Kn=0.95047,Xn=1,Yn=1.08883,Zn=4/29,va=6/29,wa=3*va*va,Sa=va*va*va;ra(Y,function(e,t,n,i){return 1===arguments.length?H(e):new Y(e,t,n,null==i?1:i)},_(L,{brighter:function(e){return new Y(this.l+ka*(null==e?1:e),this.a,this.b,this.opacity)},darker:function(e){return new Y(this.l-ka*(null==e?1:e),this.a,this.b,this.opacity)},rgb:function(){var e=(this.l+16)/116,t=isNaN(this.a)?e:e+this.a/500,n=isNaN(this.b)?e:e-this.b/200;return e=Xn*V(e),t=Kn*V(t),n=Yn*V(n),new j(K(3.2404542*t-1.5371385*e-0.4985314*n),K(-0.969266*t+1.8760108*e+0.041556*n),K(0.0556434*t-0.2040259*e+1.0572252*n),this.opacity)}})),ra(X,function(e,t,n,i){return 1===arguments.length?z(e):new X(e,t,n,null==i?1:i)},_(L,{brighter:function(e){return new X(this.h,this.c,this.l+ka*(null==e?1:e),this.opacity)},darker:function(e){return new X(this.h,this.c,this.l-ka*(null==e?1:e),this.opacity)},rgb:function(){return H(this).rgb()}}));var Ca=-0.14861,A=+1.78277,B=-0.29227,C=-0.90649,D=+1.97294,E=D*C,Ta=D*A,_a=A*B-C*Ca;ra(Z,Q,_(L,{brighter:function(e){return e=null==e?la:In(la,e),new Z(this.h,this.s,this.l*e,this.opacity)},darker:function(e){return e=null==e?oa:In(oa,e),new Z(this.h,this.s,this.l*e,this.opacity)},rgb:function(){var e=isNaN(this.h)?0:(this.h+120)*ya,t=+this.l,n=isNaN(this.s)?0:this.s*t*(1-t),i=Mn(e),a=Dn(e);return new j(255*(t+n*(Ca*i+A*a)),255*(t+n*(B*i+C*a)),255*(t+n*(D*i)),this.opacity)}}));var La=function(e){return function(){return e}},Aa=function e(t){function n(e,t){var n=i((e=N(e)).r,(t=N(t)).r),a=i(e.g,t.g),d=i(e.b,t.b),r=ne(e.opacity,t.opacity);return function(i){return e.r=n(i),e.g=a(i),e.b=d(i),e.opacity=r(i),e+''}}var i=te(t);return n.gamma=e,n}(1),Ea=function(e,t){var n,i=t?t.length:0,a=e?Hn(i,e.length):0,d=Array(i),r=Array(i);for(n=0;n<a;++n)d[n]=ja(e[n],t[n]);for(;n<i;++n)r[n]=t[n];return function(e){for(n=0;n<a;++n)r[n]=d[n](e);return r}},Da=function(e,n){var i=new Date;return e=+e,n-=e,function(a){return i.setTime(e+n*a),i}},Ma=function(e,n){return e=+e,n-=e,function(i){return e+n*i}},Oa=function(e,t){var n,d={},i={};for(n in(null===e||'object'!=typeof e)&&(e={}),(null===t||'object'!=typeof t)&&(t={}),t)n in e?d[n]=ja(e[n],t[n]):i[n]=t[n];return function(e){for(n in d)i[n]=d[n](e);return i}},Ua=/[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g,Ia=new RegExp(Ua.source,'g'),Na=function(e,n){var t,a,d,r=Ua.lastIndex=Ia.lastIndex=0,o=-1,l=[],s=[];for(e+='',n+='';(t=Ua.exec(e))&&(a=Ia.exec(n));)(d=a.index)>r&&(d=n.slice(r,d),l[o]?l[o]+=d:l[++o]=d),(t=t[0])===(a=a[0])?l[o]?l[o]+=a:l[++o]=a:(l[++o]=null,s.push({i:o,x:Ma(t,a)})),r=Ia.lastIndex;return r<n.length&&(d=n.slice(r),l[o]?l[o]+=d:l[++o]=d),2>l.length?s[0]?ae(s[0].x):ie(n):(n=s.length,function(e){for(var t,a=0;a<n;++a)l[(t=s[a]).i]=t.x(e);return l.join('')})},ja=function(e,n){var i,a=typeof n;return null==n||'boolean'==a?La(n):('number'==a?Ma:'string'==a?(i=M(n))?(n=i,Aa):Na:n instanceof M?Aa:n instanceof Date?Da:Array.isArray(n)?Ea:'function'!=typeof n.valueOf&&'function'!=typeof n.toString||isNaN(n)?Oa:Ma)(e,n)},Ra=function(e,n){return e=+e,n-=e,function(i){return Pn(e+n*i)}};de(function(e,t){var n=t-e;return n?G(e,180<n||-180>n?n-360*Pn(n/360):n):La(isNaN(e)?t:e)});var qa,Fa=de(ne),Pa=function(e){return function(){return e}},Ha=function(e){return+e},za=[0,1],Ya=function(e,t){if(0>(n=(e=t?e.toExponential(t-1):e.toExponential()).indexOf('e')))return null;var n,i=e.slice(0,n);return[1<i.length?i[0]+i.slice(2):i,+e.slice(n+1)]},Ba=function(e){return e=Ya(Un(e)),e?e[1]:NaN},Wa=function(e,n){return function(a,d){for(var r=a.length,i=[],t=0,o=e[0],l=0;0<r&&0<o&&(l+o+1>d&&(o=Rn(1,d-l)),i.push(a.substring(r-=o,r+o)),!((l+=o+1)>d));)o=e[t=(t+1)%e.length];return i.reverse().join(n)}},Va=function(e){return function(t){return t.replace(/[0-9]/g,function(t){return e[+t]})}},Ka=function(e,t){var n=Ya(e,t);if(!n)return e+'';var i=n[0],a=n[1];return 0>a?'0.'+Array(-a).join('0')+i:i.length>a+1?i.slice(0,a+1)+'.'+i.slice(a+1):i+Array(a-i.length+2).join('0')},$a={"":function(e,t){e=e.toPrecision(t);out:for(var a,d=e.length,n=1,i=-1;n<d;++n)switch(e[n]){case'.':i=a=n;break;case'0':0===i&&(i=n),a=n;break;case'e':break out;default:0<i&&(i=0);}return 0<i?e.slice(0,i)+e.slice(a+1):e},"%":function(e,t){return(100*e).toFixed(t)},b:function(e){return Pn(e).toString(2)},c:function(e){return e+''},d:function(e){return Pn(e).toString(10)},e:function(e,t){return e.toExponential(t)},f:function(e,t){return e.toFixed(t)},g:function(e,t){return e.toPrecision(t)},o:function(e){return Pn(e).toString(8)},p:function(e,t){return Ka(100*e,t)},r:Ka,s:function(e,t){var a=Ya(e,t);if(!a)return e+'';var r=a[0],o=a[1],l=o-(qa=3*Rn(-8,Hn(8,Fn(o/3))))+1,i=r.length;return l===i?r:l>i?r+Array(l-i+1).join('0'):0<l?r.slice(0,l)+'.'+r.slice(l):'0.'+Array(1-l).join('0')+Ya(e,Rn(0,t+l-1))[0]},X:function(e){return Pn(e).toString(16).toUpperCase()},x:function(e){return Pn(e).toString(16)}},Xa=/^(?:(.)?([<>=^]))?([+\-\( ])?([$#])?(0)?(\d+)?(,)?(\.\d+)?([a-z%])?$/i;fe.prototype=he.prototype,he.prototype.toString=function(){return this.fill+this.align+this.sign+this.symbol+(this.zero?'0':'')+(null==this.width?'':Rn(1,0|this.width))+(this.comma?',':'')+(null==this.precision?'':'.'+Rn(0,0|this.precision))+this.type};var re,Ja,Qa,Za=function(e){return e},Ga=['y','z','a','f','p','n','\xB5','m','','k','M','G','T','P','E','Z','Y'],ed=function(e){function t(e){function t(e){var t,i,n,c=b,k=m;if('c'===h)k=y(e)+k,e='';else{e=+e;var v=0>e;if(e=y(Un(e),f),v&&0==+e&&(v=!1),c=(v?'('===s?s:'-':'-'===s||'('===s?'':s)+c,k=k+('s'===h?Ga[8+qa/3]:'')+(v&&'('===s?')':''),x)for(t=-1,i=e.length;++t<i;)if(n=e.charCodeAt(t),48>n||57<n){k=(46===n?d+e.slice(t+1):e.slice(t))+k,e=e.slice(0,t);break}}g&&!u&&(e=a(e,Infinity));var w=c.length+e.length+k.length,S=w<p?Array(p-w+1).join(o):'';switch(g&&u&&(e=a(S+e,S.length?p-k.length:Infinity),S=''),l){case'<':e=c+e+k+S;break;case'=':e=c+S+e+k;break;case'^':e=S.slice(0,w=S.length>>1)+c+e+k+S.slice(w);break;default:e=S+c+e+k;}return r(e)}e=fe(e);var o=e.fill,l=e.align,s=e.sign,c=e.symbol,u=e.zero,p=e.width,g=e.comma,f=e.precision,h=e.type,b='$'===c?n[0]:'#'===c&&/[boxX]/.test(h)?'0'+h.toLowerCase():'',m='$'===c?n[1]:/[%p]/.test(h)?i:'',y=$a[h],x=!h||/[defgprs%]/.test(h);return f=null==f?h?6:12:/[gprs]/.test(h)?Rn(1,Hn(21,f)):Rn(0,Hn(20,f)),t.toString=function(){return e+''},t}var a=e.grouping&&e.thousands?Wa(e.grouping,e.thousands):Za,n=e.currency,d=e.decimal,r=e.numerals?Va(e.numerals):Za,i=e.percent||'%';return{format:t,formatPrefix:function(n,i){var a=t((n=fe(n),n.type='f',n)),d=3*Rn(-8,Hn(8,Fn(Ba(i)/3))),r=In(10,-d),o=Ga[8+d/3];return function(e){return a(r*e)+o}}}};(function(e){return re=ed(e),Ja=re.format,Qa=re.formatPrefix,re})({decimal:'.',thousands:',',grouping:[3],currency:['$','']});var td=function(e){return Rn(0,-Ba(Un(e)))},nd=function(e,t){return Rn(0,3*Rn(-8,Hn(8,Fn(Ba(t)/3)))-Ba(Un(e)))},id=function(e,t){return e=Un(e),t=Un(t)-e,Rn(0,Ba(t)-Ba(e))+1},ad=function(e,t,n){var i,a=e[0],d=e[e.length-1],r=S(a,d,null==t?10:t);switch(n=fe(null==n?',f':n),n.type){case's':{var o=Rn(Un(a),Un(d));return null!=n.precision||isNaN(i=nd(r,o))||(n.precision=i),Qa(n,o)}case'':case'e':case'g':case'p':case'r':{null!=n.precision||isNaN(i=id(r,Rn(Un(a),Un(d))))||(n.precision=i-('e'===n.type));break}case'f':case'%':{null!=n.precision||isNaN(i=td(r))||(n.precision=i-2*('%'===n.type));break}}return Ja(n)},dd=new Date,rd=new Date,od=ye(function(){},function(e,t){e.setTime(+e+t)},function(e,t){return t-e});od.every=function(e){return e=Fn(e),isFinite(e)&&0<e?1<e?ye(function(t){t.setTime(Fn(t/e)*e)},function(t,n){t.setTime(+t+n*e)},function(t,n){return(n-t)/e}):od:null};var ld=1e3,sd=6e4,cd=36e5,ud=864e5,pd=6048e5,gd=ye(function(e){e.setTime(Fn(e/ld)*ld)},function(e,t){e.setTime(+e+t*ld)},function(e,t){return(t-e)/ld},function(e){return e.getUTCSeconds()}),fd=ye(function(e){e.setTime(Fn(e/sd)*sd)},function(e,t){e.setTime(+e+t*sd)},function(e,t){return(t-e)/sd},function(e){return e.getMinutes()}),hd=ye(function(e){var t=e.getTimezoneOffset()*sd%cd;0>t&&(t+=cd),e.setTime(Fn((+e-t)/cd)*cd+t)},function(e,t){e.setTime(+e+t*cd)},function(e,t){return(t-e)/cd},function(e){return e.getHours()}),bd=ye(function(e){e.setHours(0,0,0,0)},function(e,t){e.setDate(e.getDate()+t)},function(e,t){return(t-e-(t.getTimezoneOffset()-e.getTimezoneOffset())*sd)/ud},function(e){return e.getDate()-1}),md=xe(0),yd=xe(1),xd=xe(2),kd=xe(3),vd=xe(4),wd=xe(5),Sd=xe(6),Cd=ye(function(e){e.setDate(1),e.setHours(0,0,0,0)},function(e,t){e.setMonth(e.getMonth()+t)},function(e,t){return t.getMonth()-e.getMonth()+12*(t.getFullYear()-e.getFullYear())},function(e){return e.getMonth()}),Td=ye(function(e){e.setMonth(0,1),e.setHours(0,0,0,0)},function(e,t){e.setFullYear(e.getFullYear()+t)},function(e,t){return t.getFullYear()-e.getFullYear()},function(e){return e.getFullYear()});Td.every=function(e){return isFinite(e=Fn(e))&&0<e?ye(function(t){t.setFullYear(Fn(t.getFullYear()/e)*e),t.setMonth(0,1),t.setHours(0,0,0,0)},function(t,n){t.setFullYear(t.getFullYear()+n*e)}):null};var _d=ye(function(e){e.setUTCSeconds(0,0)},function(e,t){e.setTime(+e+t*sd)},function(e,t){return(t-e)/sd},function(e){return e.getUTCMinutes()}),Ld=ye(function(e){e.setUTCMinutes(0,0,0)},function(e,t){e.setTime(+e+t*cd)},function(e,t){return(t-e)/cd},function(e){return e.getUTCHours()}),Ad=ye(function(e){e.setUTCHours(0,0,0,0)},function(e,t){e.setUTCDate(e.getUTCDate()+t)},function(e,t){return(t-e)/ud},function(e){return e.getUTCDate()-1}),Ed=ke(0),Dd=ke(1),Md=ke(2),Od=ke(3),Ud=ke(4),Id=ke(5),Nd=ke(6),jd=ye(function(e){e.setUTCDate(1),e.setUTCHours(0,0,0,0)},function(e,t){e.setUTCMonth(e.getUTCMonth()+t)},function(e,t){return t.getUTCMonth()-e.getUTCMonth()+12*(t.getUTCFullYear()-e.getUTCFullYear())},function(e){return e.getUTCMonth()}),Rd=ye(function(e){e.setUTCMonth(0,1),e.setUTCHours(0,0,0,0)},function(e,t){e.setUTCFullYear(e.getUTCFullYear()+t)},function(e,t){return t.getUTCFullYear()-e.getUTCFullYear()},function(e){return e.getUTCFullYear()});Rd.every=function(e){return isFinite(e=Fn(e))&&0<e?ye(function(t){t.setUTCFullYear(Fn(t.getUTCFullYear()/e)*e),t.setUTCMonth(0,1),t.setUTCHours(0,0,0,0)},function(t,n){t.setUTCFullYear(t.getUTCFullYear()+n*e)}):null};var qd,Fd,Pd,Hd={0:'0',"-":'',_:' '},zd=/^\s*\d+/,Yd=/^%/,Bd=/[\\\^\$\*\+\?\|\[\]\(\)\.\{\}]/g;(function(e){return qd=Ce(e),Fd=qd.utcFormat,Pd=qd.utcParse,qd})({dateTime:'%x, %X',date:'%-m/%-d/%Y',time:'%-I:%M:%S %p',periods:['AM','PM'],days:['Sunday','Monday','Tuesday','Wednesday','Thursday','Friday','Saturday'],shortDays:['Sun','Mon','Tue','Wed','Thu','Fri','Sat'],months:['January','February','March','April','May','June','July','August','September','October','November','December'],shortMonths:['Jan','Feb','Mar','Apr','May','Jun','Jul','Aug','Sep','Oct','Nov','Dec']});var Wd='%Y-%m-%dT%H:%M:%S.%LZ',Vd=Date.prototype.toISOString?function(e){return e.toISOString()}:Fd(Wd),Kd=+new Date('2000-01-01T00:00:00.000Z')?function(e){var t=new Date(e);return isNaN(t)?null:t}:Pd(Wd),$d=function(e){return e.match(/.{6}/g).map(function(e){return'#'+e})};$d('1f77b4ff7f0e2ca02cd627289467bd8c564be377c27f7f7fbcbd2217becf'),$d('393b795254a36b6ecf9c9ede6379398ca252b5cf6bcedb9c8c6d31bd9e39e7ba52e7cb94843c39ad494ad6616be7969c7b4173a55194ce6dbdde9ed6'),$d('3182bd6baed69ecae1c6dbefe6550dfd8d3cfdae6bfdd0a231a35474c476a1d99bc7e9c0756bb19e9ac8bcbddcdadaeb636363969696bdbdbdd9d9d9'),$d('1f77b4aec7e8ff7f0effbb782ca02c98df8ad62728ff98969467bdc5b0d58c564bc49c94e377c2f7b6d27f7f7fc7c7c7bcbd22dbdb8d17becf9edae5'),Fa(Q(300,0.5,0),Q(-240,0.5,1));var Xd=Fa(Q(-100,0.75,0.35),Q(80,1.5,0.8)),Jd=Fa(Q(260,0.75,0.35),Q(80,1.5,0.8)),Qd=Q();yt($d('44015444025645045745055946075a46085c460a5d460b5e470d60470e6147106347116447136548146748166848176948186a481a6c481b6d481c6e481d6f481f70482071482173482374482475482576482677482878482979472a7a472c7a472d7b472e7c472f7d46307e46327e46337f463480453581453781453882443983443a83443b84433d84433e85423f854240864241864142874144874045884046883f47883f48893e49893e4a893e4c8a3d4d8a3d4e8a3c4f8a3c508b3b518b3b528b3a538b3a548c39558c39568c38588c38598c375a8c375b8d365c8d365d8d355e8d355f8d34608d34618d33628d33638d32648e32658e31668e31678e31688e30698e306a8e2f6b8e2f6c8e2e6d8e2e6e8e2e6f8e2d708e2d718e2c718e2c728e2c738e2b748e2b758e2a768e2a778e2a788e29798e297a8e297b8e287c8e287d8e277e8e277f8e27808e26818e26828e26828e25838e25848e25858e24868e24878e23888e23898e238a8d228b8d228c8d228d8d218e8d218f8d21908d21918c20928c20928c20938c1f948c1f958b1f968b1f978b1f988b1f998a1f9a8a1e9b8a1e9c891e9d891f9e891f9f881fa0881fa1881fa1871fa28720a38620a48621a58521a68522a78522a88423a98324aa8325ab8225ac8226ad8127ad8128ae8029af7f2ab07f2cb17e2db27d2eb37c2fb47c31b57b32b67a34b67935b77937b87838b9773aba763bbb753dbc743fbc7340bd7242be7144bf7046c06f48c16e4ac16d4cc26c4ec36b50c46a52c56954c56856c66758c7655ac8645cc8635ec96260ca6063cb5f65cb5e67cc5c69cd5b6ccd5a6ece5870cf5773d05675d05477d1537ad1517cd2507fd34e81d34d84d44b86d54989d5488bd6468ed64590d74393d74195d84098d83e9bd93c9dd93ba0da39a2da37a5db36a8db34aadc32addc30b0dd2fb2dd2db5de2bb8de29bade28bddf26c0df25c2df23c5e021c8e020cae11fcde11dd0e11cd2e21bd5e21ad8e219dae319dde318dfe318e2e418e5e419e7e419eae51aece51befe51cf1e51df4e61ef6e620f8e621fbe723fde725'));var Zd=yt($d('00000401000501010601010802010902020b02020d03030f03031204041405041606051806051a07061c08071e0907200a08220b09240c09260d0a290e0b2b100b2d110c2f120d31130d34140e36150e38160f3b180f3d19103f1a10421c10441d11471e114920114b21114e22115024125325125527125829115a2a115c2c115f2d11612f116331116533106734106936106b38106c390f6e3b0f703d0f713f0f72400f74420f75440f764510774710784910784a10794c117a4e117b4f127b51127c52137c54137d56147d57157e59157e5a167e5c167f5d177f5f187f601880621980641a80651a80671b80681c816a1c816b1d816d1d816e1e81701f81721f817320817521817621817822817922827b23827c23827e24828025828125818326818426818627818827818928818b29818c29818e2a81902a81912b81932b80942c80962c80982d80992d809b2e7f9c2e7f9e2f7fa02f7fa1307ea3307ea5317ea6317da8327daa337dab337cad347cae347bb0357bb2357bb3367ab5367ab73779b83779ba3878bc3978bd3977bf3a77c03a76c23b75c43c75c53c74c73d73c83e73ca3e72cc3f71cd4071cf4070d0416fd2426fd3436ed5446dd6456cd8456cd9466bdb476adc4869de4968df4a68e04c67e24d66e34e65e44f64e55064e75263e85362e95462ea5661eb5760ec5860ed5a5fee5b5eef5d5ef05f5ef1605df2625df2645cf3655cf4675cf4695cf56b5cf66c5cf66e5cf7705cf7725cf8745cf8765cf9785df9795df97b5dfa7d5efa7f5efa815ffb835ffb8560fb8761fc8961fc8a62fc8c63fc8e64fc9065fd9266fd9467fd9668fd9869fd9a6afd9b6bfe9d6cfe9f6dfea16efea36ffea571fea772fea973feaa74feac76feae77feb078feb27afeb47bfeb67cfeb77efeb97ffebb81febd82febf84fec185fec287fec488fec68afec88cfeca8dfecc8ffecd90fecf92fed194fed395fed597fed799fed89afdda9cfddc9efddea0fde0a1fde2a3fde3a5fde5a7fde7a9fde9aafdebacfcecaefceeb0fcf0b2fcf2b4fcf4b6fcf6b8fcf7b9fcf9bbfcfbbdfcfdbf')),Gd=yt($d('00000401000501010601010802010a02020c02020e03021004031204031405041706041907051b08051d09061f0a07220b07240c08260d08290e092b10092d110a30120a32140b34150b37160b39180c3c190c3e1b0c411c0c431e0c451f0c48210c4a230c4c240c4f260c51280b53290b552b0b572d0b592f0a5b310a5c320a5e340a5f3609613809623909633b09643d09653e0966400a67420a68440a68450a69470b6a490b6a4a0c6b4c0c6b4d0d6c4f0d6c510e6c520e6d540f6d550f6d57106e59106e5a116e5c126e5d126e5f136e61136e62146e64156e65156e67166e69166e6a176e6c186e6d186e6f196e71196e721a6e741a6e751b6e771c6d781c6d7a1d6d7c1d6d7d1e6d7f1e6c801f6c82206c84206b85216b87216b88226a8a226a8c23698d23698f24699025689225689326679526679727669827669a28659b29649d29649f2a63a02a63a22b62a32c61a52c60a62d60a82e5fa92e5eab2f5ead305dae305cb0315bb1325ab3325ab43359b63458b73557b93556ba3655bc3754bd3853bf3952c03a51c13a50c33b4fc43c4ec63d4dc73e4cc83f4bca404acb4149cc4248ce4347cf4446d04545d24644d34743d44842d54a41d74b3fd84c3ed94d3dda4e3cdb503bdd513ade5238df5337e05536e15635e25734e35933e45a31e55c30e65d2fe75e2ee8602de9612bea632aeb6429eb6628ec6726ed6925ee6a24ef6c23ef6e21f06f20f1711ff1731df2741cf3761bf37819f47918f57b17f57d15f67e14f68013f78212f78410f8850ff8870ef8890cf98b0bf98c0af98e09fa9008fa9207fa9407fb9606fb9706fb9906fb9b06fb9d07fc9f07fca108fca309fca50afca60cfca80dfcaa0ffcac11fcae12fcb014fcb216fcb418fbb61afbb81dfbba1ffbbc21fbbe23fac026fac228fac42afac62df9c72ff9c932f9cb35f8cd37f8cf3af7d13df7d340f6d543f6d746f5d949f5db4cf4dd4ff4df53f4e156f3e35af3e55df2e661f2e865f2ea69f1ec6df1ed71f1ef75f1f179f2f27df2f482f3f586f3f68af4f88ef5f992f6fa96f8fb9af9fc9dfafda1fcffa4')),er=yt($d('0d088710078813078916078a19068c1b068d1d068e20068f2206902406912605912805922a05932c05942e05952f059631059733059735049837049938049a3a049a3c049b3e049c3f049c41049d43039e44039e46039f48039f4903a04b03a14c02a14e02a25002a25102a35302a35502a45601a45801a45901a55b01a55c01a65e01a66001a66100a76300a76400a76600a76700a86900a86a00a86c00a86e00a86f00a87100a87201a87401a87501a87701a87801a87a02a87b02a87d03a87e03a88004a88104a78305a78405a78606a68707a68808a68a09a58b0aa58d0ba58e0ca48f0da4910ea3920fa39410a29511a19613a19814a099159f9a169f9c179e9d189d9e199da01a9ca11b9ba21d9aa31e9aa51f99a62098a72197a82296aa2395ab2494ac2694ad2793ae2892b02991b12a90b22b8fb32c8eb42e8db52f8cb6308bb7318ab83289ba3388bb3488bc3587bd3786be3885bf3984c03a83c13b82c23c81c33d80c43e7fc5407ec6417dc7427cc8437bc9447aca457acb4679cc4778cc4977cd4a76ce4b75cf4c74d04d73d14e72d24f71d35171d45270d5536fd5546ed6556dd7566cd8576bd9586ada5a6ada5b69db5c68dc5d67dd5e66de5f65de6164df6263e06363e16462e26561e26660e3685fe4695ee56a5de56b5de66c5ce76e5be76f5ae87059e97158e97257ea7457eb7556eb7655ec7754ed7953ed7a52ee7b51ef7c51ef7e50f07f4ff0804ef1814df1834cf2844bf3854bf3874af48849f48948f58b47f58c46f68d45f68f44f79044f79143f79342f89441f89540f9973ff9983ef99a3efa9b3dfa9c3cfa9e3bfb9f3afba139fba238fca338fca537fca636fca835fca934fdab33fdac33fdae32fdaf31fdb130fdb22ffdb42ffdb52efeb72dfeb82cfeba2cfebb2bfebd2afebe2afec029fdc229fdc328fdc527fdc627fdc827fdca26fdcb26fccd25fcce25fcd025fcd225fbd324fbd524fbd724fad824fada24f9dc24f9dd25f8df25f8e125f7e225f7e425f6e626f6e826f5e926f5eb27f4ed27f3ee27f3f027f2f227f1f426f1f525f0f724f0f921')),tr={value:function(){}};kt.prototype=xt.prototype={constructor:kt,on:function(e,a){var d,t=this._,r=vt(e+'',t),o=-1,i=r.length;if(2>arguments.length){for(;++o<i;)if((d=(e=r[o]).type)&&(d=wt(t[d],e.name)))return d;return}if(null!=a&&'function'!=typeof a)throw new Error('invalid callback: '+a);for(;++o<i;)if(d=(e=r[o]).type)t[d]=St(t[d],e.name,a);else if(null==a)for(d in t)t[d]=St(t[d],e.name,null);return this},copy:function(){var e={},n=this._;for(var i in n)e[i]=n[i].slice();return new kt(e)},call:function(e,a){if(0<(d=arguments.length-2))for(var d,n,t=Array(d),r=0;r<d;++r)t[r]=arguments[r+2];if(!this._.hasOwnProperty(e))throw new Error('unknown type: '+e);for(n=this._[e],r=0,d=n.length;r<d;++r)n[r].value.apply(a,t)},apply:function(e,a,d){if(!this._.hasOwnProperty(e))throw new Error('unknown type: '+e);for(var r=this._[e],t=0,i=r.length;t<i;++t)r[t].value.apply(a,d)}};var nr='http://www.w3.org/1999/xhtml',ir={svg:'http://www.w3.org/2000/svg',xhtml:nr,xlink:'http://www.w3.org/1999/xlink',xml:'http://www.w3.org/XML/1998/namespace',xmlns:'http://www.w3.org/2000/xmlns/'},ar=function(e){var t=e+='',n=t.indexOf(':');return 0<=n&&'xmlns'!==(t=e.slice(0,n))&&(e=e.slice(n+1)),ir.hasOwnProperty(t)?{space:ir[t],local:e}:e},dr=function(e){var t=ar(e);return(t.local?Tt:Ct)(t)},rr=function(e){return function(){return this.matches(e)}};if('undefined'!=typeof document){var or=document.documentElement;if(!or.matches){var lr=or.webkitMatchesSelector||or.msMatchesSelector||or.mozMatchesSelector||or.oMatchesSelector;rr=function(e){return function(){return lr.call(this,e)}}}}var sr=rr,cr={},ur=null;if('undefined'!=typeof document){var pr=document.documentElement;'onmouseenter'in pr||(cr={mouseenter:'mouseover',mouseleave:'mouseout'})}var gr=function(){for(var e,t=ur;e=t.sourceEvent;)t=e;return t},fr=function(e,t){var n=e.ownerSVGElement||e;if(n.createSVGPoint){var i=n.createSVGPoint();return i.x=t.clientX,i.y=t.clientY,i=i.matrixTransform(e.getScreenCTM().inverse()),[i.x,i.y]}var a=e.getBoundingClientRect();return[t.clientX-a.left-e.clientLeft,t.clientY-a.top-e.clientTop]},hr=function(e){var t=gr();return t.changedTouches&&(t=t.changedTouches[0]),fr(e,t)},br=function(e){return null==e?Ot:function(){return this.querySelector(e)}},mr=function(e){return null==e?Ut:function(){return this.querySelectorAll(e)}},yr=function(e){return Array(e.length)};It.prototype={constructor:It,appendChild:function(e){return this._parent.insertBefore(e,this._next)},insertBefore:function(e,t){return this._parent.insertBefore(e,t)},querySelector:function(e){return this._parent.querySelector(e)},querySelectorAll:function(e){return this._parent.querySelectorAll(e)}};var xr=function(e){return function(){return e}},kr='$',vr=function(e){return e.ownerDocument&&e.ownerDocument.defaultView||e.document&&e||e.defaultView};Gt.prototype={add:function(e){var t=this._names.indexOf(e);0>t&&(this._names.push(e),this._node.setAttribute('class',this._names.join(' ')))},remove:function(e){var t=this._names.indexOf(e);0<=t&&(this._names.splice(t,1),this._node.setAttribute('class',this._names.join(' ')))},contains:function(e){return 0<=this._names.indexOf(e)}};var wr=[null];xn.prototype=function(){return new xn([[document.documentElement]],wr)}.prototype={constructor:xn,select:function(e){'function'!=typeof e&&(e=br(e));for(var t=this._groups,a=t.length,d=Array(a),r=0;r<a;++r)for(var o,l,s=t[r],c=s.length,n=d[r]=Array(c),u=0;u<c;++u)(o=s[u])&&(l=e.call(o,o.__data__,u,s))&&('__data__'in o&&(l.__data__=o.__data__),n[u]=l);return new xn(d,this._parents)},selectAll:function(e){'function'!=typeof e&&(e=mr(e));for(var t=this._groups,a=t.length,d=[],r=[],o=0;o<a;++o)for(var l,s=t[o],c=s.length,n=0;n<c;++n)(l=s[n])&&(d.push(e.call(l,l.__data__,n,s)),r.push(l));return new xn(d,r)},filter:function(e){'function'!=typeof e&&(e=sr(e));for(var t=this._groups,a=t.length,d=Array(a),r=0;r<a;++r)for(var o,l=t[r],s=l.length,n=d[r]=[],c=0;c<s;++c)(o=l[c])&&e.call(o,o.__data__,c,l)&&n.push(o);return new xn(d,this._parents)},data:function(e,t){if(!e)return g=Array(this.size()),s=-1,this.each(function(e){g[++s]=e}),g;var n=t?jt:Nt,i=this._parents,a=this._groups;'function'!=typeof e&&(e=xr(e));for(var d=a.length,r=Array(d),o=Array(d),l=Array(d),s=0;s<d;++s){var c=i[s],u=a[s],p=u.length,g=e.call(c,c&&c.__data__,s,i),f=g.length,h=o[s]=Array(f),b=r[s]=Array(f),m=l[s]=Array(p);n(c,u,h,b,m,g,t);for(var y,x,k=0,v=0;k<f;++k)if(y=h[k]){for(k>=v&&(v=k+1);!(x=b[v])&&++v<f;);y._next=x||null}}return r=new xn(r,i),r._enter=o,r._exit=l,r},enter:function(){return new xn(this._enter||this._groups.map(yr),this._parents)},exit:function(){return new xn(this._exit||this._groups.map(yr),this._parents)},merge:function(e){for(var t=this._groups,a=e._groups,d=t.length,r=a.length,o=Hn(d,r),l=Array(d),s=0;s<o;++s)for(var c,u=t[s],p=a[s],g=u.length,n=l[s]=Array(g),f=0;f<g;++f)(c=u[f]||p[f])&&(n[f]=c);for(;s<d;++s)l[s]=t[s];return new xn(l,this._parents)},order:function(){for(var e=this._groups,t=-1,n=e.length;++t<n;)for(var a,d=e[t],r=d.length-1,i=d[r];0<=--r;)(a=d[r])&&(i&&i!==a.nextSibling&&i.parentNode.insertBefore(a,i),i=a);return this},sort:function(e){function t(t,n){return t&&n?e(t.__data__,n.__data__):!t-!n}e||(e=Rt);for(var a=this._groups,d=a.length,r=Array(d),o=0;o<d;++o){for(var l,s=a[o],c=s.length,n=r[o]=Array(c),u=0;u<c;++u)(l=s[u])&&(n[u]=l);n.sort(t)}return new xn(r,this._parents).order()},call:function(){var e=arguments[0];return arguments[0]=this,e.apply(null,arguments),this},nodes:function(){var e=Array(this.size()),t=-1;return this.each(function(){e[++t]=this}),e},node:function(){for(var e=this._groups,t=0,a=e.length;t<a;++t)for(var d,r=e[t],o=0,i=r.length;o<i;++o)if(d=r[o],d)return d;return null},size:function(){var e=0;return this.each(function(){++e}),e},empty:function(){return!this.node()},each:function(e){for(var t=this._groups,a=0,d=t.length;a<d;++a)for(var r,o=t[a],l=0,i=o.length;l<i;++l)(r=o[l])&&e.call(r,r.__data__,l,o);return this},attr:function(e,t){var n=ar(e);if(2>arguments.length){var i=this.node();return n.local?i.getAttributeNS(n.space,n.local):i.getAttribute(n)}return this.each((null==t?n.local?Ft:qt:'function'==typeof t?n.local?Yt:zt:n.local?Ht:Pt)(n,t))},style:function(e,t,n){return 1<arguments.length?this.each((null==t?Bt:'function'==typeof t?Vt:Wt)(e,t,null==n?'':n)):Kt(this.node(),e)},property:function(e,t){return 1<arguments.length?this.each((null==t?$t:'function'==typeof t?Jt:Xt)(e,t)):this.node()[e]},classed:function(e,t){var a=Qt(e+'');if(2>arguments.length){for(var d=Zt(this.node()),r=-1,i=a.length;++r<i;)if(!d.contains(a[r]))return!1;return!0}return this.each(('function'==typeof t?dn:t?nn:an)(a,t))},text:function(e){return arguments.length?this.each(null==e?rn:('function'==typeof e?ln:on)(e)):this.node().textContent},html:function(e){return arguments.length?this.each(null==e?sn:('function'==typeof e?un:cn)(e)):this.node().innerHTML},raise:function(){return this.each(pn)},lower:function(){return this.each(gn)},append:function(e){var t='function'==typeof e?e:dr(e);return this.select(function(){return this.appendChild(t.apply(this,arguments))})},insert:function(e,t){var n='function'==typeof e?e:dr(e),i=null==t?fn:'function'==typeof t?t:br(t);return this.select(function(){return this.insertBefore(n.apply(this,arguments),i.apply(this,arguments)||null)})},remove:function(){return this.each(hn)},datum:function(e){return arguments.length?this.property('__data__',e):this.node().__data__},on:function(e,a,d){var r,i,t=At(e+''),l=t.length;if(2>arguments.length){var n=this.node().__on;if(n)for(var s,o=0,c=n.length;o<c;++o)for(r=0,s=n[o];r<l;++r)if((i=t[r]).type===s.type&&i.name===s.name)return s.value;return}for(n=a?Dt:Et,null==d&&(d=!1),r=0;r<l;++r)this.each(n(t[r],a,d));return this},dispatch:function(e,t){return this.each(('function'==typeof t?yn:mn)(e,t))}};var Sr=function(e){return'string'==typeof e?new xn([[document.querySelector(e)]],[document.documentElement]):new xn([[e]],wr)},Cr=function(e,t,a){3>arguments.length&&(a=t,t=gr().changedTouches);for(var d,r=0,i=t?t.length:0;r<i;++r)if((d=t[r]).identifier===a)return fr(e,d);return null},Tr=function(){ur.preventDefault(),ur.stopImmediatePropagation()},_r=function(e){var t=e.document.documentElement,n=Sr(e).on('dragstart.drag',Tr,!0);'onselectstart'in t?n.on('selectstart.drag',Tr,!0):(t.__noselect=t.style.MozUserSelect,t.style.MozUserSelect='none')},Lr=function(e){return function(){return e}};wn.prototype.on=function(){var e=this._.on.apply(this._,arguments);return e===this._?this:e};var Ar=function(){function e(e){e.on('mousedown.drag',t).filter(h).on('touchstart.drag',a).on('touchmove.drag',d).on('touchend.drag touchcancel.drag',r).style('touch-action','none').style('-webkit-tap-highlight-color','rgba(0,0,0,0)')}function t(){if(!u&&p.apply(this,arguments)){var e=o('mouse',g.apply(this,arguments),hr,this,arguments);e&&(Sr(ur.view).on('mousemove.drag',n,!0).on('mouseup.drag',i,!0),_r(ur.view),kn(),c=!1,l=ur.clientX,s=ur.clientY,e('start'))}}function n(){if(Tr(),!c){var e=ur.clientX-l,t=ur.clientY-s;c=e*e+t*t>x}b.mouse('drag')}function i(){Sr(ur.view).on('mousemove.drag mouseup.drag',null),vn(ur.view,c),Tr(),b.mouse('end')}function a(){if(p.apply(this,arguments)){var e,t,i=ur.changedTouches,a=g.apply(this,arguments),d=i.length;for(e=0;e<d;++e)(t=o(i[e].identifier,a,Cr,this,arguments))&&(kn(),t('start'))}}function d(){var e,t,i=ur.changedTouches,a=i.length;for(e=0;e<a;++e)(t=b[i[e].identifier])&&(Tr(),t('drag'))}function r(){var e,t,i=ur.changedTouches,a=i.length;for(u&&clearTimeout(u),u=setTimeout(function(){u=null},500),e=0;e<a;++e)(t=b[i[e].identifier])&&(kn(),t('end'))}function o(t,i,a,d,r){var o,l,s,c=a(i,t),u=m.copy();return Mt(new wn(e,'beforestart',o,t,y,c[0],c[1],0,0,u),function(){return null!=(ur.subject=o=f.apply(d,r))&&(l=o.x-c[0]||0,s=o.y-c[1]||0,!0)})?function p(g){var f,n=c;switch(g){case'start':b[t]=p,f=y++;break;case'end':delete b[t],--y;case'drag':c=a(i,t),f=y;}Mt(new wn(e,g,o,t,f,c[0]+l,c[1]+s,c[0]-n[0],c[1]-n[1],u),u.apply,u,[g,d,r])}:void 0}var l,s,c,u,p=Sn,g=Cn,f=Tn,h=_n,b={},m=xt('start','drag','end'),y=0,x=0;return e.filter=function(t){return arguments.length?(p='function'==typeof t?t:Lr(!!t),e):p},e.container=function(t){return arguments.length?(g='function'==typeof t?t:Lr(t),e):g},e.subject=function(t){return arguments.length?(f='function'==typeof t?t:Lr(t),e):f},e.touchable=function(t){return arguments.length?(h='function'==typeof t?t:Lr(!!t),e):h},e.on=function(){var t=m.on.apply(m,arguments);return t===m?e:t},e.clickDistance=function(t){return arguments.length?(x=(t=+t)*t,e):An(x)},e};const Er=ti('d-slider',` +<style> + :host { + position: relative; + display: inline-block; + } + + :host(:focus) { + outline: none; + } + + .background { + padding: 9px 0; + color: white; + position: relative; + } + + .track { + height: 3px; + width: 100%; + border-radius: 2px; + background-color: hsla(0, 0%, 0%, 0.2); + } + + .track-fill { + position: absolute; + top: 9px; + height: 3px; + border-radius: 4px; + background-color: hsl(24, 100%, 50%); + } + + .knob-container { + position: absolute; + top: 10px; + } + + .knob { + position: absolute; + top: -6px; + left: -6px; + width: 13px; + height: 13px; + background-color: hsl(24, 100%, 50%); + border-radius: 50%; + transition-property: transform; + transition-duration: 0.18s; + transition-timing-function: ease; + } + .mousedown .knob { + transform: scale(1.5); + } + + .knob-highlight { + position: absolute; + top: -6px; + left: -6px; + width: 13px; + height: 13px; + background-color: hsla(0, 0%, 0%, 0.1); + border-radius: 50%; + transition-property: transform; + transition-duration: 0.18s; + transition-timing-function: ease; + } + + .focus .knob-highlight { + transform: scale(2); + } + + .ticks { + position: absolute; + top: 16px; + height: 4px; + width: 100%; + z-index: -1; + } + + .ticks .tick { + position: absolute; + height: 100%; + border-left: 1px solid hsla(0, 0%, 0%, 0.2); + } + +</style> + + <div class='background'> + <div class='track'></div> + <div class='track-fill'></div> + <div class='knob-container'> + <div class='knob-highlight'></div> + <div class='knob'></div> + </div> + <div class='ticks'></div> + </div> +`),Dr={left:37,up:38,right:39,down:40,pageUp:33,pageDown:34,end:35,home:36};class Mr extends Er(HTMLElement){connectedCallback(){this.connected=!0,this.setAttribute('role','slider'),this.hasAttribute('tabindex')||this.setAttribute('tabindex',0),this.mouseEvent=!1,this.knob=this.root.querySelector('.knob-container'),this.background=this.root.querySelector('.background'),this.trackFill=this.root.querySelector('.track-fill'),this.track=this.root.querySelector('.track'),this.min=this.min?this.min:0,this.max=this.max?this.max:100,this.scale=me().domain([this.min,this.max]).range([0,1]).clamp(!0),this.origin=this.origin===void 0?this.min:this.origin,this.step=this.step?this.step:1,this.update(this.value?this.value:0),this.ticks=!!this.ticks&&this.ticks,this.renderTicks(),this.drag=Ar().container(this.background).on('start',()=>{this.mouseEvent=!0,this.background.classList.add('mousedown'),this.changeValue=this.value,this.dragUpdate()}).on('drag',()=>{this.dragUpdate()}).on('end',()=>{this.mouseEvent=!1,this.background.classList.remove('mousedown'),this.dragUpdate(),this.changeValue!==this.value&&this.dispatchChange(),this.changeValue=this.value}),this.drag(Sr(this.background)),this.addEventListener('focusin',()=>{this.mouseEvent||this.background.classList.add('focus')}),this.addEventListener('focusout',()=>{this.background.classList.remove('focus')}),this.addEventListener('keydown',this.onKeyDown)}static get observedAttributes(){return['min','max','value','step','ticks','origin','tickValues','tickLabels']}attributeChangedCallback(e,t,n){isNaN(n)||void 0===n||null===n||('min'==e&&(this.min=+n,this.setAttribute('aria-valuemin',this.min)),'max'==e&&(this.max=+n,this.setAttribute('aria-valuemax',this.max)),'value'==e&&this.update(+n),'origin'==e&&(this.origin=+n),'step'==e&&0<n&&(this.step=+n),'ticks'==e&&(this.ticks=!(''!==n)||n))}onKeyDown(e){this.changeValue=this.value;let t=!1;switch(e.keyCode){case Dr.left:case Dr.down:this.update(this.value-this.step),t=!0;break;case Dr.right:case Dr.up:this.update(this.value+this.step),t=!0;break;case Dr.pageUp:this.update(this.value+10*this.step),t=!0;break;case Dr.pageDown:this.update(this.value+10*this.step),t=!0;break;case Dr.home:this.update(this.min),t=!0;break;case Dr.end:this.update(this.max),t=!0;break;default:}t&&(this.background.classList.add('focus'),e.preventDefault(),e.stopPropagation(),this.changeValue!==this.value&&this.dispatchChange())}validateValueRange(e,t,n){return Rn(Hn(t,n),e)}quantizeValue(e,t){return Pn(e/t)*t}dragUpdate(){const e=this.background.getBoundingClientRect(),t=ur.x,n=e.width;this.update(this.scale.invert(t/n))}update(e){let t=e;'any'!==this.step&&(t=this.quantizeValue(e,this.step)),t=this.validateValueRange(this.min,this.max,t),this.connected&&(this.knob.style.left=100*this.scale(t)+'%',this.trackFill.style.width=100*this.scale(this.min+Un(t-this.origin))+'%',this.trackFill.style.left=100*this.scale(Hn(t,this.origin))+'%'),this.value!==t&&(this.value=t,this.setAttribute('aria-valuenow',this.value),this.dispatchInput())}dispatchChange(){const t=new Event('change');this.dispatchEvent(t,{})}dispatchInput(){const t=new Event('input');this.dispatchEvent(t,{})}renderTicks(){const e=this.root.querySelector('.ticks');if(!1!==this.ticks){let t=[];t=0<this.ticks?this.scale.ticks(this.ticks):'any'===this.step?this.scale.ticks():Zi(this.min,this.max+1e-6,this.step),t.forEach((t)=>{const n=document.createElement('div');n.classList.add('tick'),n.style.left=100*this.scale(t)+'%',e.appendChild(n)})}else e.style.display='none'}}var Or='<svg viewBox="-607 419 64 64">\n <path d="M-573.4,478.9c-8,0-14.6-6.4-14.6-14.5s14.6-25.9,14.6-40.8c0,14.9,14.6,32.8,14.6,40.8S-565.4,478.9-573.4,478.9z"/>\n</svg>\n';const Ur=ti('distill-header',` +<style> +distill-header { + position: relative; + height: 60px; + background-color: hsl(200, 60%, 15%); + width: 100%; + box-sizing: border-box; + z-index: 2; + color: rgba(0, 0, 0, 0.8); + border-bottom: 1px solid rgba(0, 0, 0, 0.08); + box-shadow: 0 1px 6px rgba(0, 0, 0, 0.05); +} +distill-header .content { + height: 70px; + grid-column: page; +} +distill-header a { + font-size: 16px; + height: 60px; + line-height: 60px; + text-decoration: none; + color: rgba(255, 255, 255, 0.8); + padding: 22px 0; +} +distill-header a:hover { + color: rgba(255, 255, 255, 1); +} +distill-header svg { + width: 24px; + position: relative; + top: 4px; + margin-right: 2px; +} +@media(min-width: 1080px) { + distill-header { + height: 70px; + } + distill-header a { + height: 70px; + line-height: 70px; + padding: 28px 0; + } + distill-header .logo { + } +} +distill-header svg path { + fill: none; + stroke: rgba(255, 255, 255, 0.8); + stroke-width: 3px; +} +distill-header .logo { + font-size: 17px; + font-weight: 200; +} +distill-header .nav { + float: right; + font-weight: 300; +} +distill-header .nav a { + font-size: 12px; + margin-left: 24px; + text-transform: uppercase; +} +</style> +<div class="content"> + <a href="/" class="logo"> + ${Or} + Distill + </a> + <nav class="nav"> + <a href="/about/">About</a> + <a href="/prize/">Prize</a> + <a href="/journal/">Submit</a> + </nav> +</div> +`,!1);class Ir extends Ur(HTMLElement){}const Nr=` +<style> + distill-appendix { + contain: layout style; + } + + distill-appendix .citation { + font-size: 11px; + line-height: 15px; + border-left: 1px solid rgba(0, 0, 0, 0.1); + padding-left: 18px; + border: 1px solid rgba(0,0,0,0.1); + background: rgba(0, 0, 0, 0.02); + padding: 10px 18px; + border-radius: 3px; + color: rgba(150, 150, 150, 1); + overflow: hidden; + margin-top: -12px; + white-space: pre-wrap; + word-wrap: break-word; + } + + distill-appendix > * { + grid-column: text; + } +</style> +`;class jr extends HTMLElement{static get is(){return'distill-appendix'}set frontMatter(e){this.innerHTML=Ln(e)}}const Rr=ti('distill-footer',` +<style> + +:host { + color: rgba(255, 255, 255, 0.5); + font-weight: 300; + padding: 2rem 0; + border-top: 1px solid rgba(0, 0, 0, 0.1); + background-color: hsl(180, 5%, 15%); /*hsl(200, 60%, 15%);*/ + text-align: left; + contain: content; +} + +.logo svg { + width: 24px; + position: relative; + top: 4px; + margin-right: 2px; +} + +.logo svg path { + fill: none; + stroke: rgba(255, 255, 255, 0.8); + stroke-width: 3px; +} + +.logo { + font-size: 17px; + font-weight: 200; + color: rgba(255, 255, 255, 0.8); + text-decoration: none; + margin-right: 6px; +} + +.container { + grid-column: text; +} + +.nav { + font-size: 0.9em; + margin-top: 1.5em; +} + +.nav a { + color: rgba(255, 255, 255, 0.8); + margin-right: 6px; + text-decoration: none; +} + +</style> + +<div class='container'> + + <a href="/" class="logo"> + ${Or} + Distill + </a> is dedicated to clear explanations of machine learning + + <div class="nav"> + <a href="https://distill.pub/about/">About</a> + <a href="https://distill.pub/journal/">Submit</a> + <a href="https://distill.pub/prize/">Prize</a> + <a href="https://distill.pub/archive/">Archive</a> + <a href="https://distill.pub/rss.xml">RSS</a> + <a href="https://github.com/distillpub">GitHub</a> + <a href="https://twitter.com/distillpub">Twitter</a> + ISSN 2476-0757 + </div> + +</div> + +`);class qr extends Rr(HTMLElement){}const Fr=function(){if(1>window.distillRunlevel)throw new Error('Insufficient Runlevel for Distill Template!');if('distillTemplateIsLoading'in window&&window.distillTemplateIsLoading)throw new Error('Runlevel 1: Distill Template is getting loaded more than once, aborting!');else window.distillTemplateIsLoading=!0,console.info('Runlevel 1: Distill Template has started loading.');p(document),console.info('Runlevel 1: Static Distill styles have been added.'),console.info('Runlevel 1->2.'),window.distillRunlevel+=1;for(const[e,t]of Object.entries(hi.listeners))'function'==typeof t?document.addEventListener(e,t):console.error('Runlevel 2: Controller listeners need to be functions!');console.info('Runlevel 2: We can now listen to controller events.'),console.info('Runlevel 2->3.'),window.distillRunlevel+=1;if(2>window.distillRunlevel)throw new Error('Insufficient Runlevel for adding custom elements!');const e=[ki,wi,Ci,Li,Ai,Di,Oi,Ni,Ri,Fi,pi,Hi,zi,T,Bi,Wi,Vi,Mr,$i].concat([Ir,jr,qr]);for(const t of e)console.info('Runlevel 2: Registering custom element: '+t.is),customElements.define(t.is,t);console.info('Runlevel 3: Distill Template finished registering custom elements.'),console.info('Runlevel 3->4.'),window.distillRunlevel+=1,hi.listeners.DOMContentLoaded(),console.info('Runlevel 4: Distill Template initialisation complete.')};window.distillRunlevel=0,yi.browserSupportsAllFeatures()?(console.info('Runlevel 0: No need for polyfills.'),console.info('Runlevel 0->1.'),window.distillRunlevel+=1,Fr()):(console.info('Runlevel 0: Distill Template is loading polyfills.'),yi.load(Fr))}); +//# sourceMappingURL=template.v2.js.map +} diff --git a/_posts/2021-06-13-unreproducibility-detox/unreproducibility-detox_files/header-attrs-2.11/header-attrs.js b/_posts/2021-06-13-unreproducibility-detox/unreproducibility-detox_files/header-attrs-2.11/header-attrs.js new file mode 100644 index 0000000..dd57d92 --- /dev/null +++ b/_posts/2021-06-13-unreproducibility-detox/unreproducibility-detox_files/header-attrs-2.11/header-attrs.js @@ -0,0 +1,12 @@ +// Pandoc 2.9 adds attributes on both header and div. We remove the former (to +// be compatible with the behavior of Pandoc < 2.8). +document.addEventListener('DOMContentLoaded', function(e) { + var hs = document.querySelectorAll("div.section[class*='level'] > :first-child"); + var i, h, a; + for (i = 0; i < hs.length; i++) { + h = hs[i]; + if (!/^h[1-6]$/i.test(h.tagName)) continue; // it should be a header h1-h6 + a = h.attributes; + while (a.length > 0) h.removeAttribute(a[0].name); + } +}); diff --git a/_posts/2021-06-13-unreproducibility-detox/unreproducibility-detox_files/jquery-3.6.0/jquery-3.6.0.js b/_posts/2021-06-13-unreproducibility-detox/unreproducibility-detox_files/jquery-3.6.0/jquery-3.6.0.js new file mode 100644 index 0000000..fc6c299 --- /dev/null +++ b/_posts/2021-06-13-unreproducibility-detox/unreproducibility-detox_files/jquery-3.6.0/jquery-3.6.0.js @@ -0,0 +1,10881 @@ +/*! + * jQuery JavaScript Library v3.6.0 + * https://jquery.com/ + * + * Includes Sizzle.js + * https://sizzlejs.com/ + * + * Copyright OpenJS Foundation and other contributors + * Released under the MIT license + * https://jquery.org/license + * + * Date: 2021-03-02T17:08Z + */ +( function( global, factory ) { + + "use strict"; + + if ( typeof module === "object" && typeof module.exports === "object" ) { + + // For CommonJS and CommonJS-like environments where a proper `window` + // is present, execute the factory and get jQuery. + // For environments that do not have a `window` with a `document` + // (such as Node.js), expose a factory as module.exports. + // This accentuates the need for the creation of a real `window`. + // e.g. var jQuery = require("jquery")(window); + // See ticket #14549 for more info. + module.exports = global.document ? + factory( global, true ) : + function( w ) { + if ( !w.document ) { + throw new Error( "jQuery requires a window with a document" ); + } + return factory( w ); + }; + } else { + factory( global ); + } + +// Pass this if window is not defined yet +} )( typeof window !== "undefined" ? window : this, function( window, noGlobal ) { + +// Edge <= 12 - 13+, Firefox <=18 - 45+, IE 10 - 11, Safari 5.1 - 9+, iOS 6 - 9.1 +// throw exceptions when non-strict code (e.g., ASP.NET 4.5) accesses strict mode +// arguments.callee.caller (trac-13335). But as of jQuery 3.0 (2016), strict mode should be common +// enough that all such attempts are guarded in a try block. +"use strict"; + +var arr = []; + +var getProto = Object.getPrototypeOf; + +var slice = arr.slice; + +var flat = arr.flat ? function( array ) { + return arr.flat.call( array ); +} : function( array ) { + return arr.concat.apply( [], array ); +}; + + +var push = arr.push; + +var indexOf = arr.indexOf; + +var class2type = {}; + +var toString = class2type.toString; + +var hasOwn = class2type.hasOwnProperty; + +var fnToString = hasOwn.toString; + +var ObjectFunctionString = fnToString.call( Object ); + +var support = {}; + +var isFunction = function isFunction( obj ) { + + // Support: Chrome <=57, Firefox <=52 + // In some browsers, typeof returns "function" for HTML <object> elements + // (i.e., `typeof document.createElement( "object" ) === "function"`). + // We don't want to classify *any* DOM node as a function. + // Support: QtWeb <=3.8.5, WebKit <=534.34, wkhtmltopdf tool <=0.12.5 + // Plus for old WebKit, typeof returns "function" for HTML collections + // (e.g., `typeof document.getElementsByTagName("div") === "function"`). (gh-4756) + return typeof obj === "function" && typeof obj.nodeType !== "number" && + typeof obj.item !== "function"; + }; + + +var isWindow = function isWindow( obj ) { + return obj != null && obj === obj.window; + }; + + +var document = window.document; + + + + var preservedScriptAttributes = { + type: true, + src: true, + nonce: true, + noModule: true + }; + + function DOMEval( code, node, doc ) { + doc = doc || document; + + var i, val, + script = doc.createElement( "script" ); + + script.text = code; + if ( node ) { + for ( i in preservedScriptAttributes ) { + + // Support: Firefox 64+, Edge 18+ + // Some browsers don't support the "nonce" property on scripts. + // On the other hand, just using `getAttribute` is not enough as + // the `nonce` attribute is reset to an empty string whenever it + // becomes browsing-context connected. + // See https://github.com/whatwg/html/issues/2369 + // See https://html.spec.whatwg.org/#nonce-attributes + // The `node.getAttribute` check was added for the sake of + // `jQuery.globalEval` so that it can fake a nonce-containing node + // via an object. + val = node[ i ] || node.getAttribute && node.getAttribute( i ); + if ( val ) { + script.setAttribute( i, val ); + } + } + } + doc.head.appendChild( script ).parentNode.removeChild( script ); + } + + +function toType( obj ) { + if ( obj == null ) { + return obj + ""; + } + + // Support: Android <=2.3 only (functionish RegExp) + return typeof obj === "object" || typeof obj === "function" ? + class2type[ toString.call( obj ) ] || "object" : + typeof obj; +} +/* global Symbol */ +// Defining this global in .eslintrc.json would create a danger of using the global +// unguarded in another place, it seems safer to define global only for this module + + + +var + version = "3.6.0", + + // Define a local copy of jQuery + jQuery = function( selector, context ) { + + // The jQuery object is actually just the init constructor 'enhanced' + // Need init if jQuery is called (just allow error to be thrown if not included) + return new jQuery.fn.init( selector, context ); + }; + +jQuery.fn = jQuery.prototype = { + + // The current version of jQuery being used + jquery: version, + + constructor: jQuery, + + // The default length of a jQuery object is 0 + length: 0, + + toArray: function() { + return slice.call( this ); + }, + + // Get the Nth element in the matched element set OR + // Get the whole matched element set as a clean array + get: function( num ) { + + // Return all the elements in a clean array + if ( num == null ) { + return slice.call( this ); + } + + // Return just the one element from the set + return num < 0 ? this[ num + this.length ] : this[ num ]; + }, + + // Take an array of elements and push it onto the stack + // (returning the new matched element set) + pushStack: function( elems ) { + + // Build a new jQuery matched element set + var ret = jQuery.merge( this.constructor(), elems ); + + // Add the old object onto the stack (as a reference) + ret.prevObject = this; + + // Return the newly-formed element set + return ret; + }, + + // Execute a callback for every element in the matched set. + each: function( callback ) { + return jQuery.each( this, callback ); + }, + + map: function( callback ) { + return this.pushStack( jQuery.map( this, function( elem, i ) { + return callback.call( elem, i, elem ); + } ) ); + }, + + slice: function() { + return this.pushStack( slice.apply( this, arguments ) ); + }, + + first: function() { + return this.eq( 0 ); + }, + + last: function() { + return this.eq( -1 ); + }, + + even: function() { + return this.pushStack( jQuery.grep( this, function( _elem, i ) { + return ( i + 1 ) % 2; + } ) ); + }, + + odd: function() { + return this.pushStack( jQuery.grep( this, function( _elem, i ) { + return i % 2; + } ) ); + }, + + eq: function( i ) { + var len = this.length, + j = +i + ( i < 0 ? len : 0 ); + return this.pushStack( j >= 0 && j < len ? [ this[ j ] ] : [] ); + }, + + end: function() { + return this.prevObject || this.constructor(); + }, + + // For internal use only. + // Behaves like an Array's method, not like a jQuery method. + push: push, + sort: arr.sort, + splice: arr.splice +}; + +jQuery.extend = jQuery.fn.extend = function() { + var options, name, src, copy, copyIsArray, clone, + target = arguments[ 0 ] || {}, + i = 1, + length = arguments.length, + deep = false; + + // Handle a deep copy situation + if ( typeof target === "boolean" ) { + deep = target; + + // Skip the boolean and the target + target = arguments[ i ] || {}; + i++; + } + + // Handle case when target is a string or something (possible in deep copy) + if ( typeof target !== "object" && !isFunction( target ) ) { + target = {}; + } + + // Extend jQuery itself if only one argument is passed + if ( i === length ) { + target = this; + i--; + } + + for ( ; i < length; i++ ) { + + // Only deal with non-null/undefined values + if ( ( options = arguments[ i ] ) != null ) { + + // Extend the base object + for ( name in options ) { + copy = options[ name ]; + + // Prevent Object.prototype pollution + // Prevent never-ending loop + if ( name === "__proto__" || target === copy ) { + continue; + } + + // Recurse if we're merging plain objects or arrays + if ( deep && copy && ( jQuery.isPlainObject( copy ) || + ( copyIsArray = Array.isArray( copy ) ) ) ) { + src = target[ name ]; + + // Ensure proper type for the source value + if ( copyIsArray && !Array.isArray( src ) ) { + clone = []; + } else if ( !copyIsArray && !jQuery.isPlainObject( src ) ) { + clone = {}; + } else { + clone = src; + } + copyIsArray = false; + + // Never move original objects, clone them + target[ name ] = jQuery.extend( deep, clone, copy ); + + // Don't bring in undefined values + } else if ( copy !== undefined ) { + target[ name ] = copy; + } + } + } + } + + // Return the modified object + return target; +}; + +jQuery.extend( { + + // Unique for each copy of jQuery on the page + expando: "jQuery" + ( version + Math.random() ).replace( /\D/g, "" ), + + // Assume jQuery is ready without the ready module + isReady: true, + + error: function( msg ) { + throw new Error( msg ); + }, + + noop: function() {}, + + isPlainObject: function( obj ) { + var proto, Ctor; + + // Detect obvious negatives + // Use toString instead of jQuery.type to catch host objects + if ( !obj || toString.call( obj ) !== "[object Object]" ) { + return false; + } + + proto = getProto( obj ); + + // Objects with no prototype (e.g., `Object.create( null )`) are plain + if ( !proto ) { + return true; + } + + // Objects with prototype are plain iff they were constructed by a global Object function + Ctor = hasOwn.call( proto, "constructor" ) && proto.constructor; + return typeof Ctor === "function" && fnToString.call( Ctor ) === ObjectFunctionString; + }, + + isEmptyObject: function( obj ) { + var name; + + for ( name in obj ) { + return false; + } + return true; + }, + + // Evaluates a script in a provided context; falls back to the global one + // if not specified. + globalEval: function( code, options, doc ) { + DOMEval( code, { nonce: options && options.nonce }, doc ); + }, + + each: function( obj, callback ) { + var length, i = 0; + + if ( isArrayLike( obj ) ) { + length = obj.length; + for ( ; i < length; i++ ) { + if ( callback.call( obj[ i ], i, obj[ i ] ) === false ) { + break; + } + } + } else { + for ( i in obj ) { + if ( callback.call( obj[ i ], i, obj[ i ] ) === false ) { + break; + } + } + } + + return obj; + }, + + // results is for internal usage only + makeArray: function( arr, results ) { + var ret = results || []; + + if ( arr != null ) { + if ( isArrayLike( Object( arr ) ) ) { + jQuery.merge( ret, + typeof arr === "string" ? + [ arr ] : arr + ); + } else { + push.call( ret, arr ); + } + } + + return ret; + }, + + inArray: function( elem, arr, i ) { + return arr == null ? -1 : indexOf.call( arr, elem, i ); + }, + + // Support: Android <=4.0 only, PhantomJS 1 only + // push.apply(_, arraylike) throws on ancient WebKit + merge: function( first, second ) { + var len = +second.length, + j = 0, + i = first.length; + + for ( ; j < len; j++ ) { + first[ i++ ] = second[ j ]; + } + + first.length = i; + + return first; + }, + + grep: function( elems, callback, invert ) { + var callbackInverse, + matches = [], + i = 0, + length = elems.length, + callbackExpect = !invert; + + // Go through the array, only saving the items + // that pass the validator function + for ( ; i < length; i++ ) { + callbackInverse = !callback( elems[ i ], i ); + if ( callbackInverse !== callbackExpect ) { + matches.push( elems[ i ] ); + } + } + + return matches; + }, + + // arg is for internal usage only + map: function( elems, callback, arg ) { + var length, value, + i = 0, + ret = []; + + // Go through the array, translating each of the items to their new values + if ( isArrayLike( elems ) ) { + length = elems.length; + for ( ; i < length; i++ ) { + value = callback( elems[ i ], i, arg ); + + if ( value != null ) { + ret.push( value ); + } + } + + // Go through every key on the object, + } else { + for ( i in elems ) { + value = callback( elems[ i ], i, arg ); + + if ( value != null ) { + ret.push( value ); + } + } + } + + // Flatten any nested arrays + return flat( ret ); + }, + + // A global GUID counter for objects + guid: 1, + + // jQuery.support is not used in Core but other projects attach their + // properties to it so it needs to exist. + support: support +} ); + +if ( typeof Symbol === "function" ) { + jQuery.fn[ Symbol.iterator ] = arr[ Symbol.iterator ]; +} + +// Populate the class2type map +jQuery.each( "Boolean Number String Function Array Date RegExp Object Error Symbol".split( " " ), + function( _i, name ) { + class2type[ "[object " + name + "]" ] = name.toLowerCase(); + } ); + +function isArrayLike( obj ) { + + // Support: real iOS 8.2 only (not reproducible in simulator) + // `in` check used to prevent JIT error (gh-2145) + // hasOwn isn't used here due to false negatives + // regarding Nodelist length in IE + var length = !!obj && "length" in obj && obj.length, + type = toType( obj ); + + if ( isFunction( obj ) || isWindow( obj ) ) { + return false; + } + + return type === "array" || length === 0 || + typeof length === "number" && length > 0 && ( length - 1 ) in obj; +} +var Sizzle = +/*! + * Sizzle CSS Selector Engine v2.3.6 + * https://sizzlejs.com/ + * + * Copyright JS Foundation and other contributors + * Released under the MIT license + * https://js.foundation/ + * + * Date: 2021-02-16 + */ +( function( window ) { +var i, + support, + Expr, + getText, + isXML, + tokenize, + compile, + select, + outermostContext, + sortInput, + hasDuplicate, + + // Local document vars + setDocument, + document, + docElem, + documentIsHTML, + rbuggyQSA, + rbuggyMatches, + matches, + contains, + + // Instance-specific data + expando = "sizzle" + 1 * new Date(), + preferredDoc = window.document, + dirruns = 0, + done = 0, + classCache = createCache(), + tokenCache = createCache(), + compilerCache = createCache(), + nonnativeSelectorCache = createCache(), + sortOrder = function( a, b ) { + if ( a === b ) { + hasDuplicate = true; + } + return 0; + }, + + // Instance methods + hasOwn = ( {} ).hasOwnProperty, + arr = [], + pop = arr.pop, + pushNative = arr.push, + push = arr.push, + slice = arr.slice, + + // Use a stripped-down indexOf as it's faster than native + // https://jsperf.com/thor-indexof-vs-for/5 + indexOf = function( list, elem ) { + var i = 0, + len = list.length; + for ( ; i < len; i++ ) { + if ( list[ i ] === elem ) { + return i; + } + } + return -1; + }, + + booleans = "checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|" + + "ismap|loop|multiple|open|readonly|required|scoped", + + // Regular expressions + + // http://www.w3.org/TR/css3-selectors/#whitespace + whitespace = "[\\x20\\t\\r\\n\\f]", + + // https://www.w3.org/TR/css-syntax-3/#ident-token-diagram + identifier = "(?:\\\\[\\da-fA-F]{1,6}" + whitespace + + "?|\\\\[^\\r\\n\\f]|[\\w-]|[^\0-\\x7f])+", + + // Attribute selectors: http://www.w3.org/TR/selectors/#attribute-selectors + attributes = "\\[" + whitespace + "*(" + identifier + ")(?:" + whitespace + + + // Operator (capture 2) + "*([*^$|!~]?=)" + whitespace + + + // "Attribute values must be CSS identifiers [capture 5] + // or strings [capture 3 or capture 4]" + "*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|(" + identifier + "))|)" + + whitespace + "*\\]", + + pseudos = ":(" + identifier + ")(?:\\((" + + + // To reduce the number of selectors needing tokenize in the preFilter, prefer arguments: + // 1. quoted (capture 3; capture 4 or capture 5) + "('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|" + + + // 2. simple (capture 6) + "((?:\\\\.|[^\\\\()[\\]]|" + attributes + ")*)|" + + + // 3. anything else (capture 2) + ".*" + + ")\\)|)", + + // Leading and non-escaped trailing whitespace, capturing some non-whitespace characters preceding the latter + rwhitespace = new RegExp( whitespace + "+", "g" ), + rtrim = new RegExp( "^" + whitespace + "+|((?:^|[^\\\\])(?:\\\\.)*)" + + whitespace + "+$", "g" ), + + rcomma = new RegExp( "^" + whitespace + "*," + whitespace + "*" ), + rcombinators = new RegExp( "^" + whitespace + "*([>+~]|" + whitespace + ")" + whitespace + + "*" ), + rdescend = new RegExp( whitespace + "|>" ), + + rpseudo = new RegExp( pseudos ), + ridentifier = new RegExp( "^" + identifier + "$" ), + + matchExpr = { + "ID": new RegExp( "^#(" + identifier + ")" ), + "CLASS": new RegExp( "^\\.(" + identifier + ")" ), + "TAG": new RegExp( "^(" + identifier + "|[*])" ), + "ATTR": new RegExp( "^" + attributes ), + "PSEUDO": new RegExp( "^" + pseudos ), + "CHILD": new RegExp( "^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\(" + + whitespace + "*(even|odd|(([+-]|)(\\d*)n|)" + whitespace + "*(?:([+-]|)" + + whitespace + "*(\\d+)|))" + whitespace + "*\\)|)", "i" ), + "bool": new RegExp( "^(?:" + booleans + ")$", "i" ), + + // For use in libraries implementing .is() + // We use this for POS matching in `select` + "needsContext": new RegExp( "^" + whitespace + + "*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\(" + whitespace + + "*((?:-\\d)?\\d*)" + whitespace + "*\\)|)(?=[^-]|$)", "i" ) + }, + + rhtml = /HTML$/i, + rinputs = /^(?:input|select|textarea|button)$/i, + rheader = /^h\d$/i, + + rnative = /^[^{]+\{\s*\[native \w/, + + // Easily-parseable/retrievable ID or TAG or CLASS selectors + rquickExpr = /^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/, + + rsibling = /[+~]/, + + // CSS escapes + // http://www.w3.org/TR/CSS21/syndata.html#escaped-characters + runescape = new RegExp( "\\\\[\\da-fA-F]{1,6}" + whitespace + "?|\\\\([^\\r\\n\\f])", "g" ), + funescape = function( escape, nonHex ) { + var high = "0x" + escape.slice( 1 ) - 0x10000; + + return nonHex ? + + // Strip the backslash prefix from a non-hex escape sequence + nonHex : + + // Replace a hexadecimal escape sequence with the encoded Unicode code point + // Support: IE <=11+ + // For values outside the Basic Multilingual Plane (BMP), manually construct a + // surrogate pair + high < 0 ? + String.fromCharCode( high + 0x10000 ) : + String.fromCharCode( high >> 10 | 0xD800, high & 0x3FF | 0xDC00 ); + }, + + // CSS string/identifier serialization + // https://drafts.csswg.org/cssom/#common-serializing-idioms + rcssescape = /([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g, + fcssescape = function( ch, asCodePoint ) { + if ( asCodePoint ) { + + // U+0000 NULL becomes U+FFFD REPLACEMENT CHARACTER + if ( ch === "\0" ) { + return "\uFFFD"; + } + + // Control characters and (dependent upon position) numbers get escaped as code points + return ch.slice( 0, -1 ) + "\\" + + ch.charCodeAt( ch.length - 1 ).toString( 16 ) + " "; + } + + // Other potentially-special ASCII characters get backslash-escaped + return "\\" + ch; + }, + + // Used for iframes + // See setDocument() + // Removing the function wrapper causes a "Permission Denied" + // error in IE + unloadHandler = function() { + setDocument(); + }, + + inDisabledFieldset = addCombinator( + function( elem ) { + return elem.disabled === true && elem.nodeName.toLowerCase() === "fieldset"; + }, + { dir: "parentNode", next: "legend" } + ); + +// Optimize for push.apply( _, NodeList ) +try { + push.apply( + ( arr = slice.call( preferredDoc.childNodes ) ), + preferredDoc.childNodes + ); + + // Support: Android<4.0 + // Detect silently failing push.apply + // eslint-disable-next-line no-unused-expressions + arr[ preferredDoc.childNodes.length ].nodeType; +} catch ( e ) { + push = { apply: arr.length ? + + // Leverage slice if possible + function( target, els ) { + pushNative.apply( target, slice.call( els ) ); + } : + + // Support: IE<9 + // Otherwise append directly + function( target, els ) { + var j = target.length, + i = 0; + + // Can't trust NodeList.length + while ( ( target[ j++ ] = els[ i++ ] ) ) {} + target.length = j - 1; + } + }; +} + +function Sizzle( selector, context, results, seed ) { + var m, i, elem, nid, match, groups, newSelector, + newContext = context && context.ownerDocument, + + // nodeType defaults to 9, since context defaults to document + nodeType = context ? context.nodeType : 9; + + results = results || []; + + // Return early from calls with invalid selector or context + if ( typeof selector !== "string" || !selector || + nodeType !== 1 && nodeType !== 9 && nodeType !== 11 ) { + + return results; + } + + // Try to shortcut find operations (as opposed to filters) in HTML documents + if ( !seed ) { + setDocument( context ); + context = context || document; + + if ( documentIsHTML ) { + + // If the selector is sufficiently simple, try using a "get*By*" DOM method + // (excepting DocumentFragment context, where the methods don't exist) + if ( nodeType !== 11 && ( match = rquickExpr.exec( selector ) ) ) { + + // ID selector + if ( ( m = match[ 1 ] ) ) { + + // Document context + if ( nodeType === 9 ) { + if ( ( elem = context.getElementById( m ) ) ) { + + // Support: IE, Opera, Webkit + // TODO: identify versions + // getElementById can match elements by name instead of ID + if ( elem.id === m ) { + results.push( elem ); + return results; + } + } else { + return results; + } + + // Element context + } else { + + // Support: IE, Opera, Webkit + // TODO: identify versions + // getElementById can match elements by name instead of ID + if ( newContext && ( elem = newContext.getElementById( m ) ) && + contains( context, elem ) && + elem.id === m ) { + + results.push( elem ); + return results; + } + } + + // Type selector + } else if ( match[ 2 ] ) { + push.apply( results, context.getElementsByTagName( selector ) ); + return results; + + // Class selector + } else if ( ( m = match[ 3 ] ) && support.getElementsByClassName && + context.getElementsByClassName ) { + + push.apply( results, context.getElementsByClassName( m ) ); + return results; + } + } + + // Take advantage of querySelectorAll + if ( support.qsa && + !nonnativeSelectorCache[ selector + " " ] && + ( !rbuggyQSA || !rbuggyQSA.test( selector ) ) && + + // Support: IE 8 only + // Exclude object elements + ( nodeType !== 1 || context.nodeName.toLowerCase() !== "object" ) ) { + + newSelector = selector; + newContext = context; + + // qSA considers elements outside a scoping root when evaluating child or + // descendant combinators, which is not what we want. + // In such cases, we work around the behavior by prefixing every selector in the + // list with an ID selector referencing the scope context. + // The technique has to be used as well when a leading combinator is used + // as such selectors are not recognized by querySelectorAll. + // Thanks to Andrew Dupont for this technique. + if ( nodeType === 1 && + ( rdescend.test( selector ) || rcombinators.test( selector ) ) ) { + + // Expand context for sibling selectors + newContext = rsibling.test( selector ) && testContext( context.parentNode ) || + context; + + // We can use :scope instead of the ID hack if the browser + // supports it & if we're not changing the context. + if ( newContext !== context || !support.scope ) { + + // Capture the context ID, setting it first if necessary + if ( ( nid = context.getAttribute( "id" ) ) ) { + nid = nid.replace( rcssescape, fcssescape ); + } else { + context.setAttribute( "id", ( nid = expando ) ); + } + } + + // Prefix every selector in the list + groups = tokenize( selector ); + i = groups.length; + while ( i-- ) { + groups[ i ] = ( nid ? "#" + nid : ":scope" ) + " " + + toSelector( groups[ i ] ); + } + newSelector = groups.join( "," ); + } + + try { + push.apply( results, + newContext.querySelectorAll( newSelector ) + ); + return results; + } catch ( qsaError ) { + nonnativeSelectorCache( selector, true ); + } finally { + if ( nid === expando ) { + context.removeAttribute( "id" ); + } + } + } + } + } + + // All others + return select( selector.replace( rtrim, "$1" ), context, results, seed ); +} + +/** + * Create key-value caches of limited size + * @returns {function(string, object)} Returns the Object data after storing it on itself with + * property name the (space-suffixed) string and (if the cache is larger than Expr.cacheLength) + * deleting the oldest entry + */ +function createCache() { + var keys = []; + + function cache( key, value ) { + + // Use (key + " ") to avoid collision with native prototype properties (see Issue #157) + if ( keys.push( key + " " ) > Expr.cacheLength ) { + + // Only keep the most recent entries + delete cache[ keys.shift() ]; + } + return ( cache[ key + " " ] = value ); + } + return cache; +} + +/** + * Mark a function for special use by Sizzle + * @param {Function} fn The function to mark + */ +function markFunction( fn ) { + fn[ expando ] = true; + return fn; +} + +/** + * Support testing using an element + * @param {Function} fn Passed the created element and returns a boolean result + */ +function assert( fn ) { + var el = document.createElement( "fieldset" ); + + try { + return !!fn( el ); + } catch ( e ) { + return false; + } finally { + + // Remove from its parent by default + if ( el.parentNode ) { + el.parentNode.removeChild( el ); + } + + // release memory in IE + el = null; + } +} + +/** + * Adds the same handler for all of the specified attrs + * @param {String} attrs Pipe-separated list of attributes + * @param {Function} handler The method that will be applied + */ +function addHandle( attrs, handler ) { + var arr = attrs.split( "|" ), + i = arr.length; + + while ( i-- ) { + Expr.attrHandle[ arr[ i ] ] = handler; + } +} + +/** + * Checks document order of two siblings + * @param {Element} a + * @param {Element} b + * @returns {Number} Returns less than 0 if a precedes b, greater than 0 if a follows b + */ +function siblingCheck( a, b ) { + var cur = b && a, + diff = cur && a.nodeType === 1 && b.nodeType === 1 && + a.sourceIndex - b.sourceIndex; + + // Use IE sourceIndex if available on both nodes + if ( diff ) { + return diff; + } + + // Check if b follows a + if ( cur ) { + while ( ( cur = cur.nextSibling ) ) { + if ( cur === b ) { + return -1; + } + } + } + + return a ? 1 : -1; +} + +/** + * Returns a function to use in pseudos for input types + * @param {String} type + */ +function createInputPseudo( type ) { + return function( elem ) { + var name = elem.nodeName.toLowerCase(); + return name === "input" && elem.type === type; + }; +} + +/** + * Returns a function to use in pseudos for buttons + * @param {String} type + */ +function createButtonPseudo( type ) { + return function( elem ) { + var name = elem.nodeName.toLowerCase(); + return ( name === "input" || name === "button" ) && elem.type === type; + }; +} + +/** + * Returns a function to use in pseudos for :enabled/:disabled + * @param {Boolean} disabled true for :disabled; false for :enabled + */ +function createDisabledPseudo( disabled ) { + + // Known :disabled false positives: fieldset[disabled] > legend:nth-of-type(n+2) :can-disable + return function( elem ) { + + // Only certain elements can match :enabled or :disabled + // https://html.spec.whatwg.org/multipage/scripting.html#selector-enabled + // https://html.spec.whatwg.org/multipage/scripting.html#selector-disabled + if ( "form" in elem ) { + + // Check for inherited disabledness on relevant non-disabled elements: + // * listed form-associated elements in a disabled fieldset + // https://html.spec.whatwg.org/multipage/forms.html#category-listed + // https://html.spec.whatwg.org/multipage/forms.html#concept-fe-disabled + // * option elements in a disabled optgroup + // https://html.spec.whatwg.org/multipage/forms.html#concept-option-disabled + // All such elements have a "form" property. + if ( elem.parentNode && elem.disabled === false ) { + + // Option elements defer to a parent optgroup if present + if ( "label" in elem ) { + if ( "label" in elem.parentNode ) { + return elem.parentNode.disabled === disabled; + } else { + return elem.disabled === disabled; + } + } + + // Support: IE 6 - 11 + // Use the isDisabled shortcut property to check for disabled fieldset ancestors + return elem.isDisabled === disabled || + + // Where there is no isDisabled, check manually + /* jshint -W018 */ + elem.isDisabled !== !disabled && + inDisabledFieldset( elem ) === disabled; + } + + return elem.disabled === disabled; + + // Try to winnow out elements that can't be disabled before trusting the disabled property. + // Some victims get caught in our net (label, legend, menu, track), but it shouldn't + // even exist on them, let alone have a boolean value. + } else if ( "label" in elem ) { + return elem.disabled === disabled; + } + + // Remaining elements are neither :enabled nor :disabled + return false; + }; +} + +/** + * Returns a function to use in pseudos for positionals + * @param {Function} fn + */ +function createPositionalPseudo( fn ) { + return markFunction( function( argument ) { + argument = +argument; + return markFunction( function( seed, matches ) { + var j, + matchIndexes = fn( [], seed.length, argument ), + i = matchIndexes.length; + + // Match elements found at the specified indexes + while ( i-- ) { + if ( seed[ ( j = matchIndexes[ i ] ) ] ) { + seed[ j ] = !( matches[ j ] = seed[ j ] ); + } + } + } ); + } ); +} + +/** + * Checks a node for validity as a Sizzle context + * @param {Element|Object=} context + * @returns {Element|Object|Boolean} The input node if acceptable, otherwise a falsy value + */ +function testContext( context ) { + return context && typeof context.getElementsByTagName !== "undefined" && context; +} + +// Expose support vars for convenience +support = Sizzle.support = {}; + +/** + * Detects XML nodes + * @param {Element|Object} elem An element or a document + * @returns {Boolean} True iff elem is a non-HTML XML node + */ +isXML = Sizzle.isXML = function( elem ) { + var namespace = elem && elem.namespaceURI, + docElem = elem && ( elem.ownerDocument || elem ).documentElement; + + // Support: IE <=8 + // Assume HTML when documentElement doesn't yet exist, such as inside loading iframes + // https://bugs.jquery.com/ticket/4833 + return !rhtml.test( namespace || docElem && docElem.nodeName || "HTML" ); +}; + +/** + * Sets document-related variables once based on the current document + * @param {Element|Object} [doc] An element or document object to use to set the document + * @returns {Object} Returns the current document + */ +setDocument = Sizzle.setDocument = function( node ) { + var hasCompare, subWindow, + doc = node ? node.ownerDocument || node : preferredDoc; + + // Return early if doc is invalid or already selected + // Support: IE 11+, Edge 17 - 18+ + // IE/Edge sometimes throw a "Permission denied" error when strict-comparing + // two documents; shallow comparisons work. + // eslint-disable-next-line eqeqeq + if ( doc == document || doc.nodeType !== 9 || !doc.documentElement ) { + return document; + } + + // Update global variables + document = doc; + docElem = document.documentElement; + documentIsHTML = !isXML( document ); + + // Support: IE 9 - 11+, Edge 12 - 18+ + // Accessing iframe documents after unload throws "permission denied" errors (jQuery #13936) + // Support: IE 11+, Edge 17 - 18+ + // IE/Edge sometimes throw a "Permission denied" error when strict-comparing + // two documents; shallow comparisons work. + // eslint-disable-next-line eqeqeq + if ( preferredDoc != document && + ( subWindow = document.defaultView ) && subWindow.top !== subWindow ) { + + // Support: IE 11, Edge + if ( subWindow.addEventListener ) { + subWindow.addEventListener( "unload", unloadHandler, false ); + + // Support: IE 9 - 10 only + } else if ( subWindow.attachEvent ) { + subWindow.attachEvent( "onunload", unloadHandler ); + } + } + + // Support: IE 8 - 11+, Edge 12 - 18+, Chrome <=16 - 25 only, Firefox <=3.6 - 31 only, + // Safari 4 - 5 only, Opera <=11.6 - 12.x only + // IE/Edge & older browsers don't support the :scope pseudo-class. + // Support: Safari 6.0 only + // Safari 6.0 supports :scope but it's an alias of :root there. + support.scope = assert( function( el ) { + docElem.appendChild( el ).appendChild( document.createElement( "div" ) ); + return typeof el.querySelectorAll !== "undefined" && + !el.querySelectorAll( ":scope fieldset div" ).length; + } ); + + /* Attributes + ---------------------------------------------------------------------- */ + + // Support: IE<8 + // Verify that getAttribute really returns attributes and not properties + // (excepting IE8 booleans) + support.attributes = assert( function( el ) { + el.className = "i"; + return !el.getAttribute( "className" ); + } ); + + /* getElement(s)By* + ---------------------------------------------------------------------- */ + + // Check if getElementsByTagName("*") returns only elements + support.getElementsByTagName = assert( function( el ) { + el.appendChild( document.createComment( "" ) ); + return !el.getElementsByTagName( "*" ).length; + } ); + + // Support: IE<9 + support.getElementsByClassName = rnative.test( document.getElementsByClassName ); + + // Support: IE<10 + // Check if getElementById returns elements by name + // The broken getElementById methods don't pick up programmatically-set names, + // so use a roundabout getElementsByName test + support.getById = assert( function( el ) { + docElem.appendChild( el ).id = expando; + return !document.getElementsByName || !document.getElementsByName( expando ).length; + } ); + + // ID filter and find + if ( support.getById ) { + Expr.filter[ "ID" ] = function( id ) { + var attrId = id.replace( runescape, funescape ); + return function( elem ) { + return elem.getAttribute( "id" ) === attrId; + }; + }; + Expr.find[ "ID" ] = function( id, context ) { + if ( typeof context.getElementById !== "undefined" && documentIsHTML ) { + var elem = context.getElementById( id ); + return elem ? [ elem ] : []; + } + }; + } else { + Expr.filter[ "ID" ] = function( id ) { + var attrId = id.replace( runescape, funescape ); + return function( elem ) { + var node = typeof elem.getAttributeNode !== "undefined" && + elem.getAttributeNode( "id" ); + return node && node.value === attrId; + }; + }; + + // Support: IE 6 - 7 only + // getElementById is not reliable as a find shortcut + Expr.find[ "ID" ] = function( id, context ) { + if ( typeof context.getElementById !== "undefined" && documentIsHTML ) { + var node, i, elems, + elem = context.getElementById( id ); + + if ( elem ) { + + // Verify the id attribute + node = elem.getAttributeNode( "id" ); + if ( node && node.value === id ) { + return [ elem ]; + } + + // Fall back on getElementsByName + elems = context.getElementsByName( id ); + i = 0; + while ( ( elem = elems[ i++ ] ) ) { + node = elem.getAttributeNode( "id" ); + if ( node && node.value === id ) { + return [ elem ]; + } + } + } + + return []; + } + }; + } + + // Tag + Expr.find[ "TAG" ] = support.getElementsByTagName ? + function( tag, context ) { + if ( typeof context.getElementsByTagName !== "undefined" ) { + return context.getElementsByTagName( tag ); + + // DocumentFragment nodes don't have gEBTN + } else if ( support.qsa ) { + return context.querySelectorAll( tag ); + } + } : + + function( tag, context ) { + var elem, + tmp = [], + i = 0, + + // By happy coincidence, a (broken) gEBTN appears on DocumentFragment nodes too + results = context.getElementsByTagName( tag ); + + // Filter out possible comments + if ( tag === "*" ) { + while ( ( elem = results[ i++ ] ) ) { + if ( elem.nodeType === 1 ) { + tmp.push( elem ); + } + } + + return tmp; + } + return results; + }; + + // Class + Expr.find[ "CLASS" ] = support.getElementsByClassName && function( className, context ) { + if ( typeof context.getElementsByClassName !== "undefined" && documentIsHTML ) { + return context.getElementsByClassName( className ); + } + }; + + /* QSA/matchesSelector + ---------------------------------------------------------------------- */ + + // QSA and matchesSelector support + + // matchesSelector(:active) reports false when true (IE9/Opera 11.5) + rbuggyMatches = []; + + // qSa(:focus) reports false when true (Chrome 21) + // We allow this because of a bug in IE8/9 that throws an error + // whenever `document.activeElement` is accessed on an iframe + // So, we allow :focus to pass through QSA all the time to avoid the IE error + // See https://bugs.jquery.com/ticket/13378 + rbuggyQSA = []; + + if ( ( support.qsa = rnative.test( document.querySelectorAll ) ) ) { + + // Build QSA regex + // Regex strategy adopted from Diego Perini + assert( function( el ) { + + var input; + + // Select is set to empty string on purpose + // This is to test IE's treatment of not explicitly + // setting a boolean content attribute, + // since its presence should be enough + // https://bugs.jquery.com/ticket/12359 + docElem.appendChild( el ).innerHTML = "<a id='" + expando + "'></a>" + + "<select id='" + expando + "-\r\\' msallowcapture=''>" + + "<option selected=''></option></select>"; + + // Support: IE8, Opera 11-12.16 + // Nothing should be selected when empty strings follow ^= or $= or *= + // The test attribute must be unknown in Opera but "safe" for WinRT + // https://msdn.microsoft.com/en-us/library/ie/hh465388.aspx#attribute_section + if ( el.querySelectorAll( "[msallowcapture^='']" ).length ) { + rbuggyQSA.push( "[*^$]=" + whitespace + "*(?:''|\"\")" ); + } + + // Support: IE8 + // Boolean attributes and "value" are not treated correctly + if ( !el.querySelectorAll( "[selected]" ).length ) { + rbuggyQSA.push( "\\[" + whitespace + "*(?:value|" + booleans + ")" ); + } + + // Support: Chrome<29, Android<4.4, Safari<7.0+, iOS<7.0+, PhantomJS<1.9.8+ + if ( !el.querySelectorAll( "[id~=" + expando + "-]" ).length ) { + rbuggyQSA.push( "~=" ); + } + + // Support: IE 11+, Edge 15 - 18+ + // IE 11/Edge don't find elements on a `[name='']` query in some cases. + // Adding a temporary attribute to the document before the selection works + // around the issue. + // Interestingly, IE 10 & older don't seem to have the issue. + input = document.createElement( "input" ); + input.setAttribute( "name", "" ); + el.appendChild( input ); + if ( !el.querySelectorAll( "[name='']" ).length ) { + rbuggyQSA.push( "\\[" + whitespace + "*name" + whitespace + "*=" + + whitespace + "*(?:''|\"\")" ); + } + + // Webkit/Opera - :checked should return selected option elements + // http://www.w3.org/TR/2011/REC-css3-selectors-20110929/#checked + // IE8 throws error here and will not see later tests + if ( !el.querySelectorAll( ":checked" ).length ) { + rbuggyQSA.push( ":checked" ); + } + + // Support: Safari 8+, iOS 8+ + // https://bugs.webkit.org/show_bug.cgi?id=136851 + // In-page `selector#id sibling-combinator selector` fails + if ( !el.querySelectorAll( "a#" + expando + "+*" ).length ) { + rbuggyQSA.push( ".#.+[+~]" ); + } + + // Support: Firefox <=3.6 - 5 only + // Old Firefox doesn't throw on a badly-escaped identifier. + el.querySelectorAll( "\\\f" ); + rbuggyQSA.push( "[\\r\\n\\f]" ); + } ); + + assert( function( el ) { + el.innerHTML = "<a href='' disabled='disabled'></a>" + + "<select disabled='disabled'><option/></select>"; + + // Support: Windows 8 Native Apps + // The type and name attributes are restricted during .innerHTML assignment + var input = document.createElement( "input" ); + input.setAttribute( "type", "hidden" ); + el.appendChild( input ).setAttribute( "name", "D" ); + + // Support: IE8 + // Enforce case-sensitivity of name attribute + if ( el.querySelectorAll( "[name=d]" ).length ) { + rbuggyQSA.push( "name" + whitespace + "*[*^$|!~]?=" ); + } + + // FF 3.5 - :enabled/:disabled and hidden elements (hidden elements are still enabled) + // IE8 throws error here and will not see later tests + if ( el.querySelectorAll( ":enabled" ).length !== 2 ) { + rbuggyQSA.push( ":enabled", ":disabled" ); + } + + // Support: IE9-11+ + // IE's :disabled selector does not pick up the children of disabled fieldsets + docElem.appendChild( el ).disabled = true; + if ( el.querySelectorAll( ":disabled" ).length !== 2 ) { + rbuggyQSA.push( ":enabled", ":disabled" ); + } + + // Support: Opera 10 - 11 only + // Opera 10-11 does not throw on post-comma invalid pseudos + el.querySelectorAll( "*,:x" ); + rbuggyQSA.push( ",.*:" ); + } ); + } + + if ( ( support.matchesSelector = rnative.test( ( matches = docElem.matches || + docElem.webkitMatchesSelector || + docElem.mozMatchesSelector || + docElem.oMatchesSelector || + docElem.msMatchesSelector ) ) ) ) { + + assert( function( el ) { + + // Check to see if it's possible to do matchesSelector + // on a disconnected node (IE 9) + support.disconnectedMatch = matches.call( el, "*" ); + + // This should fail with an exception + // Gecko does not error, returns false instead + matches.call( el, "[s!='']:x" ); + rbuggyMatches.push( "!=", pseudos ); + } ); + } + + rbuggyQSA = rbuggyQSA.length && new RegExp( rbuggyQSA.join( "|" ) ); + rbuggyMatches = rbuggyMatches.length && new RegExp( rbuggyMatches.join( "|" ) ); + + /* Contains + ---------------------------------------------------------------------- */ + hasCompare = rnative.test( docElem.compareDocumentPosition ); + + // Element contains another + // Purposefully self-exclusive + // As in, an element does not contain itself + contains = hasCompare || rnative.test( docElem.contains ) ? + function( a, b ) { + var adown = a.nodeType === 9 ? a.documentElement : a, + bup = b && b.parentNode; + return a === bup || !!( bup && bup.nodeType === 1 && ( + adown.contains ? + adown.contains( bup ) : + a.compareDocumentPosition && a.compareDocumentPosition( bup ) & 16 + ) ); + } : + function( a, b ) { + if ( b ) { + while ( ( b = b.parentNode ) ) { + if ( b === a ) { + return true; + } + } + } + return false; + }; + + /* Sorting + ---------------------------------------------------------------------- */ + + // Document order sorting + sortOrder = hasCompare ? + function( a, b ) { + + // Flag for duplicate removal + if ( a === b ) { + hasDuplicate = true; + return 0; + } + + // Sort on method existence if only one input has compareDocumentPosition + var compare = !a.compareDocumentPosition - !b.compareDocumentPosition; + if ( compare ) { + return compare; + } + + // Calculate position if both inputs belong to the same document + // Support: IE 11+, Edge 17 - 18+ + // IE/Edge sometimes throw a "Permission denied" error when strict-comparing + // two documents; shallow comparisons work. + // eslint-disable-next-line eqeqeq + compare = ( a.ownerDocument || a ) == ( b.ownerDocument || b ) ? + a.compareDocumentPosition( b ) : + + // Otherwise we know they are disconnected + 1; + + // Disconnected nodes + if ( compare & 1 || + ( !support.sortDetached && b.compareDocumentPosition( a ) === compare ) ) { + + // Choose the first element that is related to our preferred document + // Support: IE 11+, Edge 17 - 18+ + // IE/Edge sometimes throw a "Permission denied" error when strict-comparing + // two documents; shallow comparisons work. + // eslint-disable-next-line eqeqeq + if ( a == document || a.ownerDocument == preferredDoc && + contains( preferredDoc, a ) ) { + return -1; + } + + // Support: IE 11+, Edge 17 - 18+ + // IE/Edge sometimes throw a "Permission denied" error when strict-comparing + // two documents; shallow comparisons work. + // eslint-disable-next-line eqeqeq + if ( b == document || b.ownerDocument == preferredDoc && + contains( preferredDoc, b ) ) { + return 1; + } + + // Maintain original order + return sortInput ? + ( indexOf( sortInput, a ) - indexOf( sortInput, b ) ) : + 0; + } + + return compare & 4 ? -1 : 1; + } : + function( a, b ) { + + // Exit early if the nodes are identical + if ( a === b ) { + hasDuplicate = true; + return 0; + } + + var cur, + i = 0, + aup = a.parentNode, + bup = b.parentNode, + ap = [ a ], + bp = [ b ]; + + // Parentless nodes are either documents or disconnected + if ( !aup || !bup ) { + + // Support: IE 11+, Edge 17 - 18+ + // IE/Edge sometimes throw a "Permission denied" error when strict-comparing + // two documents; shallow comparisons work. + /* eslint-disable eqeqeq */ + return a == document ? -1 : + b == document ? 1 : + /* eslint-enable eqeqeq */ + aup ? -1 : + bup ? 1 : + sortInput ? + ( indexOf( sortInput, a ) - indexOf( sortInput, b ) ) : + 0; + + // If the nodes are siblings, we can do a quick check + } else if ( aup === bup ) { + return siblingCheck( a, b ); + } + + // Otherwise we need full lists of their ancestors for comparison + cur = a; + while ( ( cur = cur.parentNode ) ) { + ap.unshift( cur ); + } + cur = b; + while ( ( cur = cur.parentNode ) ) { + bp.unshift( cur ); + } + + // Walk down the tree looking for a discrepancy + while ( ap[ i ] === bp[ i ] ) { + i++; + } + + return i ? + + // Do a sibling check if the nodes have a common ancestor + siblingCheck( ap[ i ], bp[ i ] ) : + + // Otherwise nodes in our document sort first + // Support: IE 11+, Edge 17 - 18+ + // IE/Edge sometimes throw a "Permission denied" error when strict-comparing + // two documents; shallow comparisons work. + /* eslint-disable eqeqeq */ + ap[ i ] == preferredDoc ? -1 : + bp[ i ] == preferredDoc ? 1 : + /* eslint-enable eqeqeq */ + 0; + }; + + return document; +}; + +Sizzle.matches = function( expr, elements ) { + return Sizzle( expr, null, null, elements ); +}; + +Sizzle.matchesSelector = function( elem, expr ) { + setDocument( elem ); + + if ( support.matchesSelector && documentIsHTML && + !nonnativeSelectorCache[ expr + " " ] && + ( !rbuggyMatches || !rbuggyMatches.test( expr ) ) && + ( !rbuggyQSA || !rbuggyQSA.test( expr ) ) ) { + + try { + var ret = matches.call( elem, expr ); + + // IE 9's matchesSelector returns false on disconnected nodes + if ( ret || support.disconnectedMatch || + + // As well, disconnected nodes are said to be in a document + // fragment in IE 9 + elem.document && elem.document.nodeType !== 11 ) { + return ret; + } + } catch ( e ) { + nonnativeSelectorCache( expr, true ); + } + } + + return Sizzle( expr, document, null, [ elem ] ).length > 0; +}; + +Sizzle.contains = function( context, elem ) { + + // Set document vars if needed + // Support: IE 11+, Edge 17 - 18+ + // IE/Edge sometimes throw a "Permission denied" error when strict-comparing + // two documents; shallow comparisons work. + // eslint-disable-next-line eqeqeq + if ( ( context.ownerDocument || context ) != document ) { + setDocument( context ); + } + return contains( context, elem ); +}; + +Sizzle.attr = function( elem, name ) { + + // Set document vars if needed + // Support: IE 11+, Edge 17 - 18+ + // IE/Edge sometimes throw a "Permission denied" error when strict-comparing + // two documents; shallow comparisons work. + // eslint-disable-next-line eqeqeq + if ( ( elem.ownerDocument || elem ) != document ) { + setDocument( elem ); + } + + var fn = Expr.attrHandle[ name.toLowerCase() ], + + // Don't get fooled by Object.prototype properties (jQuery #13807) + val = fn && hasOwn.call( Expr.attrHandle, name.toLowerCase() ) ? + fn( elem, name, !documentIsHTML ) : + undefined; + + return val !== undefined ? + val : + support.attributes || !documentIsHTML ? + elem.getAttribute( name ) : + ( val = elem.getAttributeNode( name ) ) && val.specified ? + val.value : + null; +}; + +Sizzle.escape = function( sel ) { + return ( sel + "" ).replace( rcssescape, fcssescape ); +}; + +Sizzle.error = function( msg ) { + throw new Error( "Syntax error, unrecognized expression: " + msg ); +}; + +/** + * Document sorting and removing duplicates + * @param {ArrayLike} results + */ +Sizzle.uniqueSort = function( results ) { + var elem, + duplicates = [], + j = 0, + i = 0; + + // Unless we *know* we can detect duplicates, assume their presence + hasDuplicate = !support.detectDuplicates; + sortInput = !support.sortStable && results.slice( 0 ); + results.sort( sortOrder ); + + if ( hasDuplicate ) { + while ( ( elem = results[ i++ ] ) ) { + if ( elem === results[ i ] ) { + j = duplicates.push( i ); + } + } + while ( j-- ) { + results.splice( duplicates[ j ], 1 ); + } + } + + // Clear input after sorting to release objects + // See https://github.com/jquery/sizzle/pull/225 + sortInput = null; + + return results; +}; + +/** + * Utility function for retrieving the text value of an array of DOM nodes + * @param {Array|Element} elem + */ +getText = Sizzle.getText = function( elem ) { + var node, + ret = "", + i = 0, + nodeType = elem.nodeType; + + if ( !nodeType ) { + + // If no nodeType, this is expected to be an array + while ( ( node = elem[ i++ ] ) ) { + + // Do not traverse comment nodes + ret += getText( node ); + } + } else if ( nodeType === 1 || nodeType === 9 || nodeType === 11 ) { + + // Use textContent for elements + // innerText usage removed for consistency of new lines (jQuery #11153) + if ( typeof elem.textContent === "string" ) { + return elem.textContent; + } else { + + // Traverse its children + for ( elem = elem.firstChild; elem; elem = elem.nextSibling ) { + ret += getText( elem ); + } + } + } else if ( nodeType === 3 || nodeType === 4 ) { + return elem.nodeValue; + } + + // Do not include comment or processing instruction nodes + + return ret; +}; + +Expr = Sizzle.selectors = { + + // Can be adjusted by the user + cacheLength: 50, + + createPseudo: markFunction, + + match: matchExpr, + + attrHandle: {}, + + find: {}, + + relative: { + ">": { dir: "parentNode", first: true }, + " ": { dir: "parentNode" }, + "+": { dir: "previousSibling", first: true }, + "~": { dir: "previousSibling" } + }, + + preFilter: { + "ATTR": function( match ) { + match[ 1 ] = match[ 1 ].replace( runescape, funescape ); + + // Move the given value to match[3] whether quoted or unquoted + match[ 3 ] = ( match[ 3 ] || match[ 4 ] || + match[ 5 ] || "" ).replace( runescape, funescape ); + + if ( match[ 2 ] === "~=" ) { + match[ 3 ] = " " + match[ 3 ] + " "; + } + + return match.slice( 0, 4 ); + }, + + "CHILD": function( match ) { + + /* matches from matchExpr["CHILD"] + 1 type (only|nth|...) + 2 what (child|of-type) + 3 argument (even|odd|\d*|\d*n([+-]\d+)?|...) + 4 xn-component of xn+y argument ([+-]?\d*n|) + 5 sign of xn-component + 6 x of xn-component + 7 sign of y-component + 8 y of y-component + */ + match[ 1 ] = match[ 1 ].toLowerCase(); + + if ( match[ 1 ].slice( 0, 3 ) === "nth" ) { + + // nth-* requires argument + if ( !match[ 3 ] ) { + Sizzle.error( match[ 0 ] ); + } + + // numeric x and y parameters for Expr.filter.CHILD + // remember that false/true cast respectively to 0/1 + match[ 4 ] = +( match[ 4 ] ? + match[ 5 ] + ( match[ 6 ] || 1 ) : + 2 * ( match[ 3 ] === "even" || match[ 3 ] === "odd" ) ); + match[ 5 ] = +( ( match[ 7 ] + match[ 8 ] ) || match[ 3 ] === "odd" ); + + // other types prohibit arguments + } else if ( match[ 3 ] ) { + Sizzle.error( match[ 0 ] ); + } + + return match; + }, + + "PSEUDO": function( match ) { + var excess, + unquoted = !match[ 6 ] && match[ 2 ]; + + if ( matchExpr[ "CHILD" ].test( match[ 0 ] ) ) { + return null; + } + + // Accept quoted arguments as-is + if ( match[ 3 ] ) { + match[ 2 ] = match[ 4 ] || match[ 5 ] || ""; + + // Strip excess characters from unquoted arguments + } else if ( unquoted && rpseudo.test( unquoted ) && + + // Get excess from tokenize (recursively) + ( excess = tokenize( unquoted, true ) ) && + + // advance to the next closing parenthesis + ( excess = unquoted.indexOf( ")", unquoted.length - excess ) - unquoted.length ) ) { + + // excess is a negative index + match[ 0 ] = match[ 0 ].slice( 0, excess ); + match[ 2 ] = unquoted.slice( 0, excess ); + } + + // Return only captures needed by the pseudo filter method (type and argument) + return match.slice( 0, 3 ); + } + }, + + filter: { + + "TAG": function( nodeNameSelector ) { + var nodeName = nodeNameSelector.replace( runescape, funescape ).toLowerCase(); + return nodeNameSelector === "*" ? + function() { + return true; + } : + function( elem ) { + return elem.nodeName && elem.nodeName.toLowerCase() === nodeName; + }; + }, + + "CLASS": function( className ) { + var pattern = classCache[ className + " " ]; + + return pattern || + ( pattern = new RegExp( "(^|" + whitespace + + ")" + className + "(" + whitespace + "|$)" ) ) && classCache( + className, function( elem ) { + return pattern.test( + typeof elem.className === "string" && elem.className || + typeof elem.getAttribute !== "undefined" && + elem.getAttribute( "class" ) || + "" + ); + } ); + }, + + "ATTR": function( name, operator, check ) { + return function( elem ) { + var result = Sizzle.attr( elem, name ); + + if ( result == null ) { + return operator === "!="; + } + if ( !operator ) { + return true; + } + + result += ""; + + /* eslint-disable max-len */ + + return operator === "=" ? result === check : + operator === "!=" ? result !== check : + operator === "^=" ? check && result.indexOf( check ) === 0 : + operator === "*=" ? check && result.indexOf( check ) > -1 : + operator === "$=" ? check && result.slice( -check.length ) === check : + operator === "~=" ? ( " " + result.replace( rwhitespace, " " ) + " " ).indexOf( check ) > -1 : + operator === "|=" ? result === check || result.slice( 0, check.length + 1 ) === check + "-" : + false; + /* eslint-enable max-len */ + + }; + }, + + "CHILD": function( type, what, _argument, first, last ) { + var simple = type.slice( 0, 3 ) !== "nth", + forward = type.slice( -4 ) !== "last", + ofType = what === "of-type"; + + return first === 1 && last === 0 ? + + // Shortcut for :nth-*(n) + function( elem ) { + return !!elem.parentNode; + } : + + function( elem, _context, xml ) { + var cache, uniqueCache, outerCache, node, nodeIndex, start, + dir = simple !== forward ? "nextSibling" : "previousSibling", + parent = elem.parentNode, + name = ofType && elem.nodeName.toLowerCase(), + useCache = !xml && !ofType, + diff = false; + + if ( parent ) { + + // :(first|last|only)-(child|of-type) + if ( simple ) { + while ( dir ) { + node = elem; + while ( ( node = node[ dir ] ) ) { + if ( ofType ? + node.nodeName.toLowerCase() === name : + node.nodeType === 1 ) { + + return false; + } + } + + // Reverse direction for :only-* (if we haven't yet done so) + start = dir = type === "only" && !start && "nextSibling"; + } + return true; + } + + start = [ forward ? parent.firstChild : parent.lastChild ]; + + // non-xml :nth-child(...) stores cache data on `parent` + if ( forward && useCache ) { + + // Seek `elem` from a previously-cached index + + // ...in a gzip-friendly way + node = parent; + outerCache = node[ expando ] || ( node[ expando ] = {} ); + + // Support: IE <9 only + // Defend against cloned attroperties (jQuery gh-1709) + uniqueCache = outerCache[ node.uniqueID ] || + ( outerCache[ node.uniqueID ] = {} ); + + cache = uniqueCache[ type ] || []; + nodeIndex = cache[ 0 ] === dirruns && cache[ 1 ]; + diff = nodeIndex && cache[ 2 ]; + node = nodeIndex && parent.childNodes[ nodeIndex ]; + + while ( ( node = ++nodeIndex && node && node[ dir ] || + + // Fallback to seeking `elem` from the start + ( diff = nodeIndex = 0 ) || start.pop() ) ) { + + // When found, cache indexes on `parent` and break + if ( node.nodeType === 1 && ++diff && node === elem ) { + uniqueCache[ type ] = [ dirruns, nodeIndex, diff ]; + break; + } + } + + } else { + + // Use previously-cached element index if available + if ( useCache ) { + + // ...in a gzip-friendly way + node = elem; + outerCache = node[ expando ] || ( node[ expando ] = {} ); + + // Support: IE <9 only + // Defend against cloned attroperties (jQuery gh-1709) + uniqueCache = outerCache[ node.uniqueID ] || + ( outerCache[ node.uniqueID ] = {} ); + + cache = uniqueCache[ type ] || []; + nodeIndex = cache[ 0 ] === dirruns && cache[ 1 ]; + diff = nodeIndex; + } + + // xml :nth-child(...) + // or :nth-last-child(...) or :nth(-last)?-of-type(...) + if ( diff === false ) { + + // Use the same loop as above to seek `elem` from the start + while ( ( node = ++nodeIndex && node && node[ dir ] || + ( diff = nodeIndex = 0 ) || start.pop() ) ) { + + if ( ( ofType ? + node.nodeName.toLowerCase() === name : + node.nodeType === 1 ) && + ++diff ) { + + // Cache the index of each encountered element + if ( useCache ) { + outerCache = node[ expando ] || + ( node[ expando ] = {} ); + + // Support: IE <9 only + // Defend against cloned attroperties (jQuery gh-1709) + uniqueCache = outerCache[ node.uniqueID ] || + ( outerCache[ node.uniqueID ] = {} ); + + uniqueCache[ type ] = [ dirruns, diff ]; + } + + if ( node === elem ) { + break; + } + } + } + } + } + + // Incorporate the offset, then check against cycle size + diff -= last; + return diff === first || ( diff % first === 0 && diff / first >= 0 ); + } + }; + }, + + "PSEUDO": function( pseudo, argument ) { + + // pseudo-class names are case-insensitive + // http://www.w3.org/TR/selectors/#pseudo-classes + // Prioritize by case sensitivity in case custom pseudos are added with uppercase letters + // Remember that setFilters inherits from pseudos + var args, + fn = Expr.pseudos[ pseudo ] || Expr.setFilters[ pseudo.toLowerCase() ] || + Sizzle.error( "unsupported pseudo: " + pseudo ); + + // The user may use createPseudo to indicate that + // arguments are needed to create the filter function + // just as Sizzle does + if ( fn[ expando ] ) { + return fn( argument ); + } + + // But maintain support for old signatures + if ( fn.length > 1 ) { + args = [ pseudo, pseudo, "", argument ]; + return Expr.setFilters.hasOwnProperty( pseudo.toLowerCase() ) ? + markFunction( function( seed, matches ) { + var idx, + matched = fn( seed, argument ), + i = matched.length; + while ( i-- ) { + idx = indexOf( seed, matched[ i ] ); + seed[ idx ] = !( matches[ idx ] = matched[ i ] ); + } + } ) : + function( elem ) { + return fn( elem, 0, args ); + }; + } + + return fn; + } + }, + + pseudos: { + + // Potentially complex pseudos + "not": markFunction( function( selector ) { + + // Trim the selector passed to compile + // to avoid treating leading and trailing + // spaces as combinators + var input = [], + results = [], + matcher = compile( selector.replace( rtrim, "$1" ) ); + + return matcher[ expando ] ? + markFunction( function( seed, matches, _context, xml ) { + var elem, + unmatched = matcher( seed, null, xml, [] ), + i = seed.length; + + // Match elements unmatched by `matcher` + while ( i-- ) { + if ( ( elem = unmatched[ i ] ) ) { + seed[ i ] = !( matches[ i ] = elem ); + } + } + } ) : + function( elem, _context, xml ) { + input[ 0 ] = elem; + matcher( input, null, xml, results ); + + // Don't keep the element (issue #299) + input[ 0 ] = null; + return !results.pop(); + }; + } ), + + "has": markFunction( function( selector ) { + return function( elem ) { + return Sizzle( selector, elem ).length > 0; + }; + } ), + + "contains": markFunction( function( text ) { + text = text.replace( runescape, funescape ); + return function( elem ) { + return ( elem.textContent || getText( elem ) ).indexOf( text ) > -1; + }; + } ), + + // "Whether an element is represented by a :lang() selector + // is based solely on the element's language value + // being equal to the identifier C, + // or beginning with the identifier C immediately followed by "-". + // The matching of C against the element's language value is performed case-insensitively. + // The identifier C does not have to be a valid language name." + // http://www.w3.org/TR/selectors/#lang-pseudo + "lang": markFunction( function( lang ) { + + // lang value must be a valid identifier + if ( !ridentifier.test( lang || "" ) ) { + Sizzle.error( "unsupported lang: " + lang ); + } + lang = lang.replace( runescape, funescape ).toLowerCase(); + return function( elem ) { + var elemLang; + do { + if ( ( elemLang = documentIsHTML ? + elem.lang : + elem.getAttribute( "xml:lang" ) || elem.getAttribute( "lang" ) ) ) { + + elemLang = elemLang.toLowerCase(); + return elemLang === lang || elemLang.indexOf( lang + "-" ) === 0; + } + } while ( ( elem = elem.parentNode ) && elem.nodeType === 1 ); + return false; + }; + } ), + + // Miscellaneous + "target": function( elem ) { + var hash = window.location && window.location.hash; + return hash && hash.slice( 1 ) === elem.id; + }, + + "root": function( elem ) { + return elem === docElem; + }, + + "focus": function( elem ) { + return elem === document.activeElement && + ( !document.hasFocus || document.hasFocus() ) && + !!( elem.type || elem.href || ~elem.tabIndex ); + }, + + // Boolean properties + "enabled": createDisabledPseudo( false ), + "disabled": createDisabledPseudo( true ), + + "checked": function( elem ) { + + // In CSS3, :checked should return both checked and selected elements + // http://www.w3.org/TR/2011/REC-css3-selectors-20110929/#checked + var nodeName = elem.nodeName.toLowerCase(); + return ( nodeName === "input" && !!elem.checked ) || + ( nodeName === "option" && !!elem.selected ); + }, + + "selected": function( elem ) { + + // Accessing this property makes selected-by-default + // options in Safari work properly + if ( elem.parentNode ) { + // eslint-disable-next-line no-unused-expressions + elem.parentNode.selectedIndex; + } + + return elem.selected === true; + }, + + // Contents + "empty": function( elem ) { + + // http://www.w3.org/TR/selectors/#empty-pseudo + // :empty is negated by element (1) or content nodes (text: 3; cdata: 4; entity ref: 5), + // but not by others (comment: 8; processing instruction: 7; etc.) + // nodeType < 6 works because attributes (2) do not appear as children + for ( elem = elem.firstChild; elem; elem = elem.nextSibling ) { + if ( elem.nodeType < 6 ) { + return false; + } + } + return true; + }, + + "parent": function( elem ) { + return !Expr.pseudos[ "empty" ]( elem ); + }, + + // Element/input types + "header": function( elem ) { + return rheader.test( elem.nodeName ); + }, + + "input": function( elem ) { + return rinputs.test( elem.nodeName ); + }, + + "button": function( elem ) { + var name = elem.nodeName.toLowerCase(); + return name === "input" && elem.type === "button" || name === "button"; + }, + + "text": function( elem ) { + var attr; + return elem.nodeName.toLowerCase() === "input" && + elem.type === "text" && + + // Support: IE<8 + // New HTML5 attribute values (e.g., "search") appear with elem.type === "text" + ( ( attr = elem.getAttribute( "type" ) ) == null || + attr.toLowerCase() === "text" ); + }, + + // Position-in-collection + "first": createPositionalPseudo( function() { + return [ 0 ]; + } ), + + "last": createPositionalPseudo( function( _matchIndexes, length ) { + return [ length - 1 ]; + } ), + + "eq": createPositionalPseudo( function( _matchIndexes, length, argument ) { + return [ argument < 0 ? argument + length : argument ]; + } ), + + "even": createPositionalPseudo( function( matchIndexes, length ) { + var i = 0; + for ( ; i < length; i += 2 ) { + matchIndexes.push( i ); + } + return matchIndexes; + } ), + + "odd": createPositionalPseudo( function( matchIndexes, length ) { + var i = 1; + for ( ; i < length; i += 2 ) { + matchIndexes.push( i ); + } + return matchIndexes; + } ), + + "lt": createPositionalPseudo( function( matchIndexes, length, argument ) { + var i = argument < 0 ? + argument + length : + argument > length ? + length : + argument; + for ( ; --i >= 0; ) { + matchIndexes.push( i ); + } + return matchIndexes; + } ), + + "gt": createPositionalPseudo( function( matchIndexes, length, argument ) { + var i = argument < 0 ? argument + length : argument; + for ( ; ++i < length; ) { + matchIndexes.push( i ); + } + return matchIndexes; + } ) + } +}; + +Expr.pseudos[ "nth" ] = Expr.pseudos[ "eq" ]; + +// Add button/input type pseudos +for ( i in { radio: true, checkbox: true, file: true, password: true, image: true } ) { + Expr.pseudos[ i ] = createInputPseudo( i ); +} +for ( i in { submit: true, reset: true } ) { + Expr.pseudos[ i ] = createButtonPseudo( i ); +} + +// Easy API for creating new setFilters +function setFilters() {} +setFilters.prototype = Expr.filters = Expr.pseudos; +Expr.setFilters = new setFilters(); + +tokenize = Sizzle.tokenize = function( selector, parseOnly ) { + var matched, match, tokens, type, + soFar, groups, preFilters, + cached = tokenCache[ selector + " " ]; + + if ( cached ) { + return parseOnly ? 0 : cached.slice( 0 ); + } + + soFar = selector; + groups = []; + preFilters = Expr.preFilter; + + while ( soFar ) { + + // Comma and first run + if ( !matched || ( match = rcomma.exec( soFar ) ) ) { + if ( match ) { + + // Don't consume trailing commas as valid + soFar = soFar.slice( match[ 0 ].length ) || soFar; + } + groups.push( ( tokens = [] ) ); + } + + matched = false; + + // Combinators + if ( ( match = rcombinators.exec( soFar ) ) ) { + matched = match.shift(); + tokens.push( { + value: matched, + + // Cast descendant combinators to space + type: match[ 0 ].replace( rtrim, " " ) + } ); + soFar = soFar.slice( matched.length ); + } + + // Filters + for ( type in Expr.filter ) { + if ( ( match = matchExpr[ type ].exec( soFar ) ) && ( !preFilters[ type ] || + ( match = preFilters[ type ]( match ) ) ) ) { + matched = match.shift(); + tokens.push( { + value: matched, + type: type, + matches: match + } ); + soFar = soFar.slice( matched.length ); + } + } + + if ( !matched ) { + break; + } + } + + // Return the length of the invalid excess + // if we're just parsing + // Otherwise, throw an error or return tokens + return parseOnly ? + soFar.length : + soFar ? + Sizzle.error( selector ) : + + // Cache the tokens + tokenCache( selector, groups ).slice( 0 ); +}; + +function toSelector( tokens ) { + var i = 0, + len = tokens.length, + selector = ""; + for ( ; i < len; i++ ) { + selector += tokens[ i ].value; + } + return selector; +} + +function addCombinator( matcher, combinator, base ) { + var dir = combinator.dir, + skip = combinator.next, + key = skip || dir, + checkNonElements = base && key === "parentNode", + doneName = done++; + + return combinator.first ? + + // Check against closest ancestor/preceding element + function( elem, context, xml ) { + while ( ( elem = elem[ dir ] ) ) { + if ( elem.nodeType === 1 || checkNonElements ) { + return matcher( elem, context, xml ); + } + } + return false; + } : + + // Check against all ancestor/preceding elements + function( elem, context, xml ) { + var oldCache, uniqueCache, outerCache, + newCache = [ dirruns, doneName ]; + + // We can't set arbitrary data on XML nodes, so they don't benefit from combinator caching + if ( xml ) { + while ( ( elem = elem[ dir ] ) ) { + if ( elem.nodeType === 1 || checkNonElements ) { + if ( matcher( elem, context, xml ) ) { + return true; + } + } + } + } else { + while ( ( elem = elem[ dir ] ) ) { + if ( elem.nodeType === 1 || checkNonElements ) { + outerCache = elem[ expando ] || ( elem[ expando ] = {} ); + + // Support: IE <9 only + // Defend against cloned attroperties (jQuery gh-1709) + uniqueCache = outerCache[ elem.uniqueID ] || + ( outerCache[ elem.uniqueID ] = {} ); + + if ( skip && skip === elem.nodeName.toLowerCase() ) { + elem = elem[ dir ] || elem; + } else if ( ( oldCache = uniqueCache[ key ] ) && + oldCache[ 0 ] === dirruns && oldCache[ 1 ] === doneName ) { + + // Assign to newCache so results back-propagate to previous elements + return ( newCache[ 2 ] = oldCache[ 2 ] ); + } else { + + // Reuse newcache so results back-propagate to previous elements + uniqueCache[ key ] = newCache; + + // A match means we're done; a fail means we have to keep checking + if ( ( newCache[ 2 ] = matcher( elem, context, xml ) ) ) { + return true; + } + } + } + } + } + return false; + }; +} + +function elementMatcher( matchers ) { + return matchers.length > 1 ? + function( elem, context, xml ) { + var i = matchers.length; + while ( i-- ) { + if ( !matchers[ i ]( elem, context, xml ) ) { + return false; + } + } + return true; + } : + matchers[ 0 ]; +} + +function multipleContexts( selector, contexts, results ) { + var i = 0, + len = contexts.length; + for ( ; i < len; i++ ) { + Sizzle( selector, contexts[ i ], results ); + } + return results; +} + +function condense( unmatched, map, filter, context, xml ) { + var elem, + newUnmatched = [], + i = 0, + len = unmatched.length, + mapped = map != null; + + for ( ; i < len; i++ ) { + if ( ( elem = unmatched[ i ] ) ) { + if ( !filter || filter( elem, context, xml ) ) { + newUnmatched.push( elem ); + if ( mapped ) { + map.push( i ); + } + } + } + } + + return newUnmatched; +} + +function setMatcher( preFilter, selector, matcher, postFilter, postFinder, postSelector ) { + if ( postFilter && !postFilter[ expando ] ) { + postFilter = setMatcher( postFilter ); + } + if ( postFinder && !postFinder[ expando ] ) { + postFinder = setMatcher( postFinder, postSelector ); + } + return markFunction( function( seed, results, context, xml ) { + var temp, i, elem, + preMap = [], + postMap = [], + preexisting = results.length, + + // Get initial elements from seed or context + elems = seed || multipleContexts( + selector || "*", + context.nodeType ? [ context ] : context, + [] + ), + + // Prefilter to get matcher input, preserving a map for seed-results synchronization + matcherIn = preFilter && ( seed || !selector ) ? + condense( elems, preMap, preFilter, context, xml ) : + elems, + + matcherOut = matcher ? + + // If we have a postFinder, or filtered seed, or non-seed postFilter or preexisting results, + postFinder || ( seed ? preFilter : preexisting || postFilter ) ? + + // ...intermediate processing is necessary + [] : + + // ...otherwise use results directly + results : + matcherIn; + + // Find primary matches + if ( matcher ) { + matcher( matcherIn, matcherOut, context, xml ); + } + + // Apply postFilter + if ( postFilter ) { + temp = condense( matcherOut, postMap ); + postFilter( temp, [], context, xml ); + + // Un-match failing elements by moving them back to matcherIn + i = temp.length; + while ( i-- ) { + if ( ( elem = temp[ i ] ) ) { + matcherOut[ postMap[ i ] ] = !( matcherIn[ postMap[ i ] ] = elem ); + } + } + } + + if ( seed ) { + if ( postFinder || preFilter ) { + if ( postFinder ) { + + // Get the final matcherOut by condensing this intermediate into postFinder contexts + temp = []; + i = matcherOut.length; + while ( i-- ) { + if ( ( elem = matcherOut[ i ] ) ) { + + // Restore matcherIn since elem is not yet a final match + temp.push( ( matcherIn[ i ] = elem ) ); + } + } + postFinder( null, ( matcherOut = [] ), temp, xml ); + } + + // Move matched elements from seed to results to keep them synchronized + i = matcherOut.length; + while ( i-- ) { + if ( ( elem = matcherOut[ i ] ) && + ( temp = postFinder ? indexOf( seed, elem ) : preMap[ i ] ) > -1 ) { + + seed[ temp ] = !( results[ temp ] = elem ); + } + } + } + + // Add elements to results, through postFinder if defined + } else { + matcherOut = condense( + matcherOut === results ? + matcherOut.splice( preexisting, matcherOut.length ) : + matcherOut + ); + if ( postFinder ) { + postFinder( null, results, matcherOut, xml ); + } else { + push.apply( results, matcherOut ); + } + } + } ); +} + +function matcherFromTokens( tokens ) { + var checkContext, matcher, j, + len = tokens.length, + leadingRelative = Expr.relative[ tokens[ 0 ].type ], + implicitRelative = leadingRelative || Expr.relative[ " " ], + i = leadingRelative ? 1 : 0, + + // The foundational matcher ensures that elements are reachable from top-level context(s) + matchContext = addCombinator( function( elem ) { + return elem === checkContext; + }, implicitRelative, true ), + matchAnyContext = addCombinator( function( elem ) { + return indexOf( checkContext, elem ) > -1; + }, implicitRelative, true ), + matchers = [ function( elem, context, xml ) { + var ret = ( !leadingRelative && ( xml || context !== outermostContext ) ) || ( + ( checkContext = context ).nodeType ? + matchContext( elem, context, xml ) : + matchAnyContext( elem, context, xml ) ); + + // Avoid hanging onto element (issue #299) + checkContext = null; + return ret; + } ]; + + for ( ; i < len; i++ ) { + if ( ( matcher = Expr.relative[ tokens[ i ].type ] ) ) { + matchers = [ addCombinator( elementMatcher( matchers ), matcher ) ]; + } else { + matcher = Expr.filter[ tokens[ i ].type ].apply( null, tokens[ i ].matches ); + + // Return special upon seeing a positional matcher + if ( matcher[ expando ] ) { + + // Find the next relative operator (if any) for proper handling + j = ++i; + for ( ; j < len; j++ ) { + if ( Expr.relative[ tokens[ j ].type ] ) { + break; + } + } + return setMatcher( + i > 1 && elementMatcher( matchers ), + i > 1 && toSelector( + + // If the preceding token was a descendant combinator, insert an implicit any-element `*` + tokens + .slice( 0, i - 1 ) + .concat( { value: tokens[ i - 2 ].type === " " ? "*" : "" } ) + ).replace( rtrim, "$1" ), + matcher, + i < j && matcherFromTokens( tokens.slice( i, j ) ), + j < len && matcherFromTokens( ( tokens = tokens.slice( j ) ) ), + j < len && toSelector( tokens ) + ); + } + matchers.push( matcher ); + } + } + + return elementMatcher( matchers ); +} + +function matcherFromGroupMatchers( elementMatchers, setMatchers ) { + var bySet = setMatchers.length > 0, + byElement = elementMatchers.length > 0, + superMatcher = function( seed, context, xml, results, outermost ) { + var elem, j, matcher, + matchedCount = 0, + i = "0", + unmatched = seed && [], + setMatched = [], + contextBackup = outermostContext, + + // We must always have either seed elements or outermost context + elems = seed || byElement && Expr.find[ "TAG" ]( "*", outermost ), + + // Use integer dirruns iff this is the outermost matcher + dirrunsUnique = ( dirruns += contextBackup == null ? 1 : Math.random() || 0.1 ), + len = elems.length; + + if ( outermost ) { + + // Support: IE 11+, Edge 17 - 18+ + // IE/Edge sometimes throw a "Permission denied" error when strict-comparing + // two documents; shallow comparisons work. + // eslint-disable-next-line eqeqeq + outermostContext = context == document || context || outermost; + } + + // Add elements passing elementMatchers directly to results + // Support: IE<9, Safari + // Tolerate NodeList properties (IE: "length"; Safari: <number>) matching elements by id + for ( ; i !== len && ( elem = elems[ i ] ) != null; i++ ) { + if ( byElement && elem ) { + j = 0; + + // Support: IE 11+, Edge 17 - 18+ + // IE/Edge sometimes throw a "Permission denied" error when strict-comparing + // two documents; shallow comparisons work. + // eslint-disable-next-line eqeqeq + if ( !context && elem.ownerDocument != document ) { + setDocument( elem ); + xml = !documentIsHTML; + } + while ( ( matcher = elementMatchers[ j++ ] ) ) { + if ( matcher( elem, context || document, xml ) ) { + results.push( elem ); + break; + } + } + if ( outermost ) { + dirruns = dirrunsUnique; + } + } + + // Track unmatched elements for set filters + if ( bySet ) { + + // They will have gone through all possible matchers + if ( ( elem = !matcher && elem ) ) { + matchedCount--; + } + + // Lengthen the array for every element, matched or not + if ( seed ) { + unmatched.push( elem ); + } + } + } + + // `i` is now the count of elements visited above, and adding it to `matchedCount` + // makes the latter nonnegative. + matchedCount += i; + + // Apply set filters to unmatched elements + // NOTE: This can be skipped if there are no unmatched elements (i.e., `matchedCount` + // equals `i`), unless we didn't visit _any_ elements in the above loop because we have + // no element matchers and no seed. + // Incrementing an initially-string "0" `i` allows `i` to remain a string only in that + // case, which will result in a "00" `matchedCount` that differs from `i` but is also + // numerically zero. + if ( bySet && i !== matchedCount ) { + j = 0; + while ( ( matcher = setMatchers[ j++ ] ) ) { + matcher( unmatched, setMatched, context, xml ); + } + + if ( seed ) { + + // Reintegrate element matches to eliminate the need for sorting + if ( matchedCount > 0 ) { + while ( i-- ) { + if ( !( unmatched[ i ] || setMatched[ i ] ) ) { + setMatched[ i ] = pop.call( results ); + } + } + } + + // Discard index placeholder values to get only actual matches + setMatched = condense( setMatched ); + } + + // Add matches to results + push.apply( results, setMatched ); + + // Seedless set matches succeeding multiple successful matchers stipulate sorting + if ( outermost && !seed && setMatched.length > 0 && + ( matchedCount + setMatchers.length ) > 1 ) { + + Sizzle.uniqueSort( results ); + } + } + + // Override manipulation of globals by nested matchers + if ( outermost ) { + dirruns = dirrunsUnique; + outermostContext = contextBackup; + } + + return unmatched; + }; + + return bySet ? + markFunction( superMatcher ) : + superMatcher; +} + +compile = Sizzle.compile = function( selector, match /* Internal Use Only */ ) { + var i, + setMatchers = [], + elementMatchers = [], + cached = compilerCache[ selector + " " ]; + + if ( !cached ) { + + // Generate a function of recursive functions that can be used to check each element + if ( !match ) { + match = tokenize( selector ); + } + i = match.length; + while ( i-- ) { + cached = matcherFromTokens( match[ i ] ); + if ( cached[ expando ] ) { + setMatchers.push( cached ); + } else { + elementMatchers.push( cached ); + } + } + + // Cache the compiled function + cached = compilerCache( + selector, + matcherFromGroupMatchers( elementMatchers, setMatchers ) + ); + + // Save selector and tokenization + cached.selector = selector; + } + return cached; +}; + +/** + * A low-level selection function that works with Sizzle's compiled + * selector functions + * @param {String|Function} selector A selector or a pre-compiled + * selector function built with Sizzle.compile + * @param {Element} context + * @param {Array} [results] + * @param {Array} [seed] A set of elements to match against + */ +select = Sizzle.select = function( selector, context, results, seed ) { + var i, tokens, token, type, find, + compiled = typeof selector === "function" && selector, + match = !seed && tokenize( ( selector = compiled.selector || selector ) ); + + results = results || []; + + // Try to minimize operations if there is only one selector in the list and no seed + // (the latter of which guarantees us context) + if ( match.length === 1 ) { + + // Reduce context if the leading compound selector is an ID + tokens = match[ 0 ] = match[ 0 ].slice( 0 ); + if ( tokens.length > 2 && ( token = tokens[ 0 ] ).type === "ID" && + context.nodeType === 9 && documentIsHTML && Expr.relative[ tokens[ 1 ].type ] ) { + + context = ( Expr.find[ "ID" ]( token.matches[ 0 ] + .replace( runescape, funescape ), context ) || [] )[ 0 ]; + if ( !context ) { + return results; + + // Precompiled matchers will still verify ancestry, so step up a level + } else if ( compiled ) { + context = context.parentNode; + } + + selector = selector.slice( tokens.shift().value.length ); + } + + // Fetch a seed set for right-to-left matching + i = matchExpr[ "needsContext" ].test( selector ) ? 0 : tokens.length; + while ( i-- ) { + token = tokens[ i ]; + + // Abort if we hit a combinator + if ( Expr.relative[ ( type = token.type ) ] ) { + break; + } + if ( ( find = Expr.find[ type ] ) ) { + + // Search, expanding context for leading sibling combinators + if ( ( seed = find( + token.matches[ 0 ].replace( runescape, funescape ), + rsibling.test( tokens[ 0 ].type ) && testContext( context.parentNode ) || + context + ) ) ) { + + // If seed is empty or no tokens remain, we can return early + tokens.splice( i, 1 ); + selector = seed.length && toSelector( tokens ); + if ( !selector ) { + push.apply( results, seed ); + return results; + } + + break; + } + } + } + } + + // Compile and execute a filtering function if one is not provided + // Provide `match` to avoid retokenization if we modified the selector above + ( compiled || compile( selector, match ) )( + seed, + context, + !documentIsHTML, + results, + !context || rsibling.test( selector ) && testContext( context.parentNode ) || context + ); + return results; +}; + +// One-time assignments + +// Sort stability +support.sortStable = expando.split( "" ).sort( sortOrder ).join( "" ) === expando; + +// Support: Chrome 14-35+ +// Always assume duplicates if they aren't passed to the comparison function +support.detectDuplicates = !!hasDuplicate; + +// Initialize against the default document +setDocument(); + +// Support: Webkit<537.32 - Safari 6.0.3/Chrome 25 (fixed in Chrome 27) +// Detached nodes confoundingly follow *each other* +support.sortDetached = assert( function( el ) { + + // Should return 1, but returns 4 (following) + return el.compareDocumentPosition( document.createElement( "fieldset" ) ) & 1; +} ); + +// Support: IE<8 +// Prevent attribute/property "interpolation" +// https://msdn.microsoft.com/en-us/library/ms536429%28VS.85%29.aspx +if ( !assert( function( el ) { + el.innerHTML = "<a href='#'></a>"; + return el.firstChild.getAttribute( "href" ) === "#"; +} ) ) { + addHandle( "type|href|height|width", function( elem, name, isXML ) { + if ( !isXML ) { + return elem.getAttribute( name, name.toLowerCase() === "type" ? 1 : 2 ); + } + } ); +} + +// Support: IE<9 +// Use defaultValue in place of getAttribute("value") +if ( !support.attributes || !assert( function( el ) { + el.innerHTML = "<input/>"; + el.firstChild.setAttribute( "value", "" ); + return el.firstChild.getAttribute( "value" ) === ""; +} ) ) { + addHandle( "value", function( elem, _name, isXML ) { + if ( !isXML && elem.nodeName.toLowerCase() === "input" ) { + return elem.defaultValue; + } + } ); +} + +// Support: IE<9 +// Use getAttributeNode to fetch booleans when getAttribute lies +if ( !assert( function( el ) { + return el.getAttribute( "disabled" ) == null; +} ) ) { + addHandle( booleans, function( elem, name, isXML ) { + var val; + if ( !isXML ) { + return elem[ name ] === true ? name.toLowerCase() : + ( val = elem.getAttributeNode( name ) ) && val.specified ? + val.value : + null; + } + } ); +} + +return Sizzle; + +} )( window ); + + + +jQuery.find = Sizzle; +jQuery.expr = Sizzle.selectors; + +// Deprecated +jQuery.expr[ ":" ] = jQuery.expr.pseudos; +jQuery.uniqueSort = jQuery.unique = Sizzle.uniqueSort; +jQuery.text = Sizzle.getText; +jQuery.isXMLDoc = Sizzle.isXML; +jQuery.contains = Sizzle.contains; +jQuery.escapeSelector = Sizzle.escape; + + + + +var dir = function( elem, dir, until ) { + var matched = [], + truncate = until !== undefined; + + while ( ( elem = elem[ dir ] ) && elem.nodeType !== 9 ) { + if ( elem.nodeType === 1 ) { + if ( truncate && jQuery( elem ).is( until ) ) { + break; + } + matched.push( elem ); + } + } + return matched; +}; + + +var siblings = function( n, elem ) { + var matched = []; + + for ( ; n; n = n.nextSibling ) { + if ( n.nodeType === 1 && n !== elem ) { + matched.push( n ); + } + } + + return matched; +}; + + +var rneedsContext = jQuery.expr.match.needsContext; + + + +function nodeName( elem, name ) { + + return elem.nodeName && elem.nodeName.toLowerCase() === name.toLowerCase(); + +} +var rsingleTag = ( /^<([a-z][^\/\0>:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i ); + + + +// Implement the identical functionality for filter and not +function winnow( elements, qualifier, not ) { + if ( isFunction( qualifier ) ) { + return jQuery.grep( elements, function( elem, i ) { + return !!qualifier.call( elem, i, elem ) !== not; + } ); + } + + // Single element + if ( qualifier.nodeType ) { + return jQuery.grep( elements, function( elem ) { + return ( elem === qualifier ) !== not; + } ); + } + + // Arraylike of elements (jQuery, arguments, Array) + if ( typeof qualifier !== "string" ) { + return jQuery.grep( elements, function( elem ) { + return ( indexOf.call( qualifier, elem ) > -1 ) !== not; + } ); + } + + // Filtered directly for both simple and complex selectors + return jQuery.filter( qualifier, elements, not ); +} + +jQuery.filter = function( expr, elems, not ) { + var elem = elems[ 0 ]; + + if ( not ) { + expr = ":not(" + expr + ")"; + } + + if ( elems.length === 1 && elem.nodeType === 1 ) { + return jQuery.find.matchesSelector( elem, expr ) ? [ elem ] : []; + } + + return jQuery.find.matches( expr, jQuery.grep( elems, function( elem ) { + return elem.nodeType === 1; + } ) ); +}; + +jQuery.fn.extend( { + find: function( selector ) { + var i, ret, + len = this.length, + self = this; + + if ( typeof selector !== "string" ) { + return this.pushStack( jQuery( selector ).filter( function() { + for ( i = 0; i < len; i++ ) { + if ( jQuery.contains( self[ i ], this ) ) { + return true; + } + } + } ) ); + } + + ret = this.pushStack( [] ); + + for ( i = 0; i < len; i++ ) { + jQuery.find( selector, self[ i ], ret ); + } + + return len > 1 ? jQuery.uniqueSort( ret ) : ret; + }, + filter: function( selector ) { + return this.pushStack( winnow( this, selector || [], false ) ); + }, + not: function( selector ) { + return this.pushStack( winnow( this, selector || [], true ) ); + }, + is: function( selector ) { + return !!winnow( + this, + + // If this is a positional/relative selector, check membership in the returned set + // so $("p:first").is("p:last") won't return true for a doc with two "p". + typeof selector === "string" && rneedsContext.test( selector ) ? + jQuery( selector ) : + selector || [], + false + ).length; + } +} ); + + +// Initialize a jQuery object + + +// A central reference to the root jQuery(document) +var rootjQuery, + + // A simple way to check for HTML strings + // Prioritize #id over <tag> to avoid XSS via location.hash (#9521) + // Strict HTML recognition (#11290: must start with <) + // Shortcut simple #id case for speed + rquickExpr = /^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]+))$/, + + init = jQuery.fn.init = function( selector, context, root ) { + var match, elem; + + // HANDLE: $(""), $(null), $(undefined), $(false) + if ( !selector ) { + return this; + } + + // Method init() accepts an alternate rootjQuery + // so migrate can support jQuery.sub (gh-2101) + root = root || rootjQuery; + + // Handle HTML strings + if ( typeof selector === "string" ) { + if ( selector[ 0 ] === "<" && + selector[ selector.length - 1 ] === ">" && + selector.length >= 3 ) { + + // Assume that strings that start and end with <> are HTML and skip the regex check + match = [ null, selector, null ]; + + } else { + match = rquickExpr.exec( selector ); + } + + // Match html or make sure no context is specified for #id + if ( match && ( match[ 1 ] || !context ) ) { + + // HANDLE: $(html) -> $(array) + if ( match[ 1 ] ) { + context = context instanceof jQuery ? context[ 0 ] : context; + + // Option to run scripts is true for back-compat + // Intentionally let the error be thrown if parseHTML is not present + jQuery.merge( this, jQuery.parseHTML( + match[ 1 ], + context && context.nodeType ? context.ownerDocument || context : document, + true + ) ); + + // HANDLE: $(html, props) + if ( rsingleTag.test( match[ 1 ] ) && jQuery.isPlainObject( context ) ) { + for ( match in context ) { + + // Properties of context are called as methods if possible + if ( isFunction( this[ match ] ) ) { + this[ match ]( context[ match ] ); + + // ...and otherwise set as attributes + } else { + this.attr( match, context[ match ] ); + } + } + } + + return this; + + // HANDLE: $(#id) + } else { + elem = document.getElementById( match[ 2 ] ); + + if ( elem ) { + + // Inject the element directly into the jQuery object + this[ 0 ] = elem; + this.length = 1; + } + return this; + } + + // HANDLE: $(expr, $(...)) + } else if ( !context || context.jquery ) { + return ( context || root ).find( selector ); + + // HANDLE: $(expr, context) + // (which is just equivalent to: $(context).find(expr) + } else { + return this.constructor( context ).find( selector ); + } + + // HANDLE: $(DOMElement) + } else if ( selector.nodeType ) { + this[ 0 ] = selector; + this.length = 1; + return this; + + // HANDLE: $(function) + // Shortcut for document ready + } else if ( isFunction( selector ) ) { + return root.ready !== undefined ? + root.ready( selector ) : + + // Execute immediately if ready is not present + selector( jQuery ); + } + + return jQuery.makeArray( selector, this ); + }; + +// Give the init function the jQuery prototype for later instantiation +init.prototype = jQuery.fn; + +// Initialize central reference +rootjQuery = jQuery( document ); + + +var rparentsprev = /^(?:parents|prev(?:Until|All))/, + + // Methods guaranteed to produce a unique set when starting from a unique set + guaranteedUnique = { + children: true, + contents: true, + next: true, + prev: true + }; + +jQuery.fn.extend( { + has: function( target ) { + var targets = jQuery( target, this ), + l = targets.length; + + return this.filter( function() { + var i = 0; + for ( ; i < l; i++ ) { + if ( jQuery.contains( this, targets[ i ] ) ) { + return true; + } + } + } ); + }, + + closest: function( selectors, context ) { + var cur, + i = 0, + l = this.length, + matched = [], + targets = typeof selectors !== "string" && jQuery( selectors ); + + // Positional selectors never match, since there's no _selection_ context + if ( !rneedsContext.test( selectors ) ) { + for ( ; i < l; i++ ) { + for ( cur = this[ i ]; cur && cur !== context; cur = cur.parentNode ) { + + // Always skip document fragments + if ( cur.nodeType < 11 && ( targets ? + targets.index( cur ) > -1 : + + // Don't pass non-elements to Sizzle + cur.nodeType === 1 && + jQuery.find.matchesSelector( cur, selectors ) ) ) { + + matched.push( cur ); + break; + } + } + } + } + + return this.pushStack( matched.length > 1 ? jQuery.uniqueSort( matched ) : matched ); + }, + + // Determine the position of an element within the set + index: function( elem ) { + + // No argument, return index in parent + if ( !elem ) { + return ( this[ 0 ] && this[ 0 ].parentNode ) ? this.first().prevAll().length : -1; + } + + // Index in selector + if ( typeof elem === "string" ) { + return indexOf.call( jQuery( elem ), this[ 0 ] ); + } + + // Locate the position of the desired element + return indexOf.call( this, + + // If it receives a jQuery object, the first element is used + elem.jquery ? elem[ 0 ] : elem + ); + }, + + add: function( selector, context ) { + return this.pushStack( + jQuery.uniqueSort( + jQuery.merge( this.get(), jQuery( selector, context ) ) + ) + ); + }, + + addBack: function( selector ) { + return this.add( selector == null ? + this.prevObject : this.prevObject.filter( selector ) + ); + } +} ); + +function sibling( cur, dir ) { + while ( ( cur = cur[ dir ] ) && cur.nodeType !== 1 ) {} + return cur; +} + +jQuery.each( { + parent: function( elem ) { + var parent = elem.parentNode; + return parent && parent.nodeType !== 11 ? parent : null; + }, + parents: function( elem ) { + return dir( elem, "parentNode" ); + }, + parentsUntil: function( elem, _i, until ) { + return dir( elem, "parentNode", until ); + }, + next: function( elem ) { + return sibling( elem, "nextSibling" ); + }, + prev: function( elem ) { + return sibling( elem, "previousSibling" ); + }, + nextAll: function( elem ) { + return dir( elem, "nextSibling" ); + }, + prevAll: function( elem ) { + return dir( elem, "previousSibling" ); + }, + nextUntil: function( elem, _i, until ) { + return dir( elem, "nextSibling", until ); + }, + prevUntil: function( elem, _i, until ) { + return dir( elem, "previousSibling", until ); + }, + siblings: function( elem ) { + return siblings( ( elem.parentNode || {} ).firstChild, elem ); + }, + children: function( elem ) { + return siblings( elem.firstChild ); + }, + contents: function( elem ) { + if ( elem.contentDocument != null && + + // Support: IE 11+ + // <object> elements with no `data` attribute has an object + // `contentDocument` with a `null` prototype. + getProto( elem.contentDocument ) ) { + + return elem.contentDocument; + } + + // Support: IE 9 - 11 only, iOS 7 only, Android Browser <=4.3 only + // Treat the template element as a regular one in browsers that + // don't support it. + if ( nodeName( elem, "template" ) ) { + elem = elem.content || elem; + } + + return jQuery.merge( [], elem.childNodes ); + } +}, function( name, fn ) { + jQuery.fn[ name ] = function( until, selector ) { + var matched = jQuery.map( this, fn, until ); + + if ( name.slice( -5 ) !== "Until" ) { + selector = until; + } + + if ( selector && typeof selector === "string" ) { + matched = jQuery.filter( selector, matched ); + } + + if ( this.length > 1 ) { + + // Remove duplicates + if ( !guaranteedUnique[ name ] ) { + jQuery.uniqueSort( matched ); + } + + // Reverse order for parents* and prev-derivatives + if ( rparentsprev.test( name ) ) { + matched.reverse(); + } + } + + return this.pushStack( matched ); + }; +} ); +var rnothtmlwhite = ( /[^\x20\t\r\n\f]+/g ); + + + +// Convert String-formatted options into Object-formatted ones +function createOptions( options ) { + var object = {}; + jQuery.each( options.match( rnothtmlwhite ) || [], function( _, flag ) { + object[ flag ] = true; + } ); + return object; +} + +/* + * Create a callback list using the following parameters: + * + * options: an optional list of space-separated options that will change how + * the callback list behaves or a more traditional option object + * + * By default a callback list will act like an event callback list and can be + * "fired" multiple times. + * + * Possible options: + * + * once: will ensure the callback list can only be fired once (like a Deferred) + * + * memory: will keep track of previous values and will call any callback added + * after the list has been fired right away with the latest "memorized" + * values (like a Deferred) + * + * unique: will ensure a callback can only be added once (no duplicate in the list) + * + * stopOnFalse: interrupt callings when a callback returns false + * + */ +jQuery.Callbacks = function( options ) { + + // Convert options from String-formatted to Object-formatted if needed + // (we check in cache first) + options = typeof options === "string" ? + createOptions( options ) : + jQuery.extend( {}, options ); + + var // Flag to know if list is currently firing + firing, + + // Last fire value for non-forgettable lists + memory, + + // Flag to know if list was already fired + fired, + + // Flag to prevent firing + locked, + + // Actual callback list + list = [], + + // Queue of execution data for repeatable lists + queue = [], + + // Index of currently firing callback (modified by add/remove as needed) + firingIndex = -1, + + // Fire callbacks + fire = function() { + + // Enforce single-firing + locked = locked || options.once; + + // Execute callbacks for all pending executions, + // respecting firingIndex overrides and runtime changes + fired = firing = true; + for ( ; queue.length; firingIndex = -1 ) { + memory = queue.shift(); + while ( ++firingIndex < list.length ) { + + // Run callback and check for early termination + if ( list[ firingIndex ].apply( memory[ 0 ], memory[ 1 ] ) === false && + options.stopOnFalse ) { + + // Jump to end and forget the data so .add doesn't re-fire + firingIndex = list.length; + memory = false; + } + } + } + + // Forget the data if we're done with it + if ( !options.memory ) { + memory = false; + } + + firing = false; + + // Clean up if we're done firing for good + if ( locked ) { + + // Keep an empty list if we have data for future add calls + if ( memory ) { + list = []; + + // Otherwise, this object is spent + } else { + list = ""; + } + } + }, + + // Actual Callbacks object + self = { + + // Add a callback or a collection of callbacks to the list + add: function() { + if ( list ) { + + // If we have memory from a past run, we should fire after adding + if ( memory && !firing ) { + firingIndex = list.length - 1; + queue.push( memory ); + } + + ( function add( args ) { + jQuery.each( args, function( _, arg ) { + if ( isFunction( arg ) ) { + if ( !options.unique || !self.has( arg ) ) { + list.push( arg ); + } + } else if ( arg && arg.length && toType( arg ) !== "string" ) { + + // Inspect recursively + add( arg ); + } + } ); + } )( arguments ); + + if ( memory && !firing ) { + fire(); + } + } + return this; + }, + + // Remove a callback from the list + remove: function() { + jQuery.each( arguments, function( _, arg ) { + var index; + while ( ( index = jQuery.inArray( arg, list, index ) ) > -1 ) { + list.splice( index, 1 ); + + // Handle firing indexes + if ( index <= firingIndex ) { + firingIndex--; + } + } + } ); + return this; + }, + + // Check if a given callback is in the list. + // If no argument is given, return whether or not list has callbacks attached. + has: function( fn ) { + return fn ? + jQuery.inArray( fn, list ) > -1 : + list.length > 0; + }, + + // Remove all callbacks from the list + empty: function() { + if ( list ) { + list = []; + } + return this; + }, + + // Disable .fire and .add + // Abort any current/pending executions + // Clear all callbacks and values + disable: function() { + locked = queue = []; + list = memory = ""; + return this; + }, + disabled: function() { + return !list; + }, + + // Disable .fire + // Also disable .add unless we have memory (since it would have no effect) + // Abort any pending executions + lock: function() { + locked = queue = []; + if ( !memory && !firing ) { + list = memory = ""; + } + return this; + }, + locked: function() { + return !!locked; + }, + + // Call all callbacks with the given context and arguments + fireWith: function( context, args ) { + if ( !locked ) { + args = args || []; + args = [ context, args.slice ? args.slice() : args ]; + queue.push( args ); + if ( !firing ) { + fire(); + } + } + return this; + }, + + // Call all the callbacks with the given arguments + fire: function() { + self.fireWith( this, arguments ); + return this; + }, + + // To know if the callbacks have already been called at least once + fired: function() { + return !!fired; + } + }; + + return self; +}; + + +function Identity( v ) { + return v; +} +function Thrower( ex ) { + throw ex; +} + +function adoptValue( value, resolve, reject, noValue ) { + var method; + + try { + + // Check for promise aspect first to privilege synchronous behavior + if ( value && isFunction( ( method = value.promise ) ) ) { + method.call( value ).done( resolve ).fail( reject ); + + // Other thenables + } else if ( value && isFunction( ( method = value.then ) ) ) { + method.call( value, resolve, reject ); + + // Other non-thenables + } else { + + // Control `resolve` arguments by letting Array#slice cast boolean `noValue` to integer: + // * false: [ value ].slice( 0 ) => resolve( value ) + // * true: [ value ].slice( 1 ) => resolve() + resolve.apply( undefined, [ value ].slice( noValue ) ); + } + + // For Promises/A+, convert exceptions into rejections + // Since jQuery.when doesn't unwrap thenables, we can skip the extra checks appearing in + // Deferred#then to conditionally suppress rejection. + } catch ( value ) { + + // Support: Android 4.0 only + // Strict mode functions invoked without .call/.apply get global-object context + reject.apply( undefined, [ value ] ); + } +} + +jQuery.extend( { + + Deferred: function( func ) { + var tuples = [ + + // action, add listener, callbacks, + // ... .then handlers, argument index, [final state] + [ "notify", "progress", jQuery.Callbacks( "memory" ), + jQuery.Callbacks( "memory" ), 2 ], + [ "resolve", "done", jQuery.Callbacks( "once memory" ), + jQuery.Callbacks( "once memory" ), 0, "resolved" ], + [ "reject", "fail", jQuery.Callbacks( "once memory" ), + jQuery.Callbacks( "once memory" ), 1, "rejected" ] + ], + state = "pending", + promise = { + state: function() { + return state; + }, + always: function() { + deferred.done( arguments ).fail( arguments ); + return this; + }, + "catch": function( fn ) { + return promise.then( null, fn ); + }, + + // Keep pipe for back-compat + pipe: function( /* fnDone, fnFail, fnProgress */ ) { + var fns = arguments; + + return jQuery.Deferred( function( newDefer ) { + jQuery.each( tuples, function( _i, tuple ) { + + // Map tuples (progress, done, fail) to arguments (done, fail, progress) + var fn = isFunction( fns[ tuple[ 4 ] ] ) && fns[ tuple[ 4 ] ]; + + // deferred.progress(function() { bind to newDefer or newDefer.notify }) + // deferred.done(function() { bind to newDefer or newDefer.resolve }) + // deferred.fail(function() { bind to newDefer or newDefer.reject }) + deferred[ tuple[ 1 ] ]( function() { + var returned = fn && fn.apply( this, arguments ); + if ( returned && isFunction( returned.promise ) ) { + returned.promise() + .progress( newDefer.notify ) + .done( newDefer.resolve ) + .fail( newDefer.reject ); + } else { + newDefer[ tuple[ 0 ] + "With" ]( + this, + fn ? [ returned ] : arguments + ); + } + } ); + } ); + fns = null; + } ).promise(); + }, + then: function( onFulfilled, onRejected, onProgress ) { + var maxDepth = 0; + function resolve( depth, deferred, handler, special ) { + return function() { + var that = this, + args = arguments, + mightThrow = function() { + var returned, then; + + // Support: Promises/A+ section 2.3.3.3.3 + // https://promisesaplus.com/#point-59 + // Ignore double-resolution attempts + if ( depth < maxDepth ) { + return; + } + + returned = handler.apply( that, args ); + + // Support: Promises/A+ section 2.3.1 + // https://promisesaplus.com/#point-48 + if ( returned === deferred.promise() ) { + throw new TypeError( "Thenable self-resolution" ); + } + + // Support: Promises/A+ sections 2.3.3.1, 3.5 + // https://promisesaplus.com/#point-54 + // https://promisesaplus.com/#point-75 + // Retrieve `then` only once + then = returned && + + // Support: Promises/A+ section 2.3.4 + // https://promisesaplus.com/#point-64 + // Only check objects and functions for thenability + ( typeof returned === "object" || + typeof returned === "function" ) && + returned.then; + + // Handle a returned thenable + if ( isFunction( then ) ) { + + // Special processors (notify) just wait for resolution + if ( special ) { + then.call( + returned, + resolve( maxDepth, deferred, Identity, special ), + resolve( maxDepth, deferred, Thrower, special ) + ); + + // Normal processors (resolve) also hook into progress + } else { + + // ...and disregard older resolution values + maxDepth++; + + then.call( + returned, + resolve( maxDepth, deferred, Identity, special ), + resolve( maxDepth, deferred, Thrower, special ), + resolve( maxDepth, deferred, Identity, + deferred.notifyWith ) + ); + } + + // Handle all other returned values + } else { + + // Only substitute handlers pass on context + // and multiple values (non-spec behavior) + if ( handler !== Identity ) { + that = undefined; + args = [ returned ]; + } + + // Process the value(s) + // Default process is resolve + ( special || deferred.resolveWith )( that, args ); + } + }, + + // Only normal processors (resolve) catch and reject exceptions + process = special ? + mightThrow : + function() { + try { + mightThrow(); + } catch ( e ) { + + if ( jQuery.Deferred.exceptionHook ) { + jQuery.Deferred.exceptionHook( e, + process.stackTrace ); + } + + // Support: Promises/A+ section 2.3.3.3.4.1 + // https://promisesaplus.com/#point-61 + // Ignore post-resolution exceptions + if ( depth + 1 >= maxDepth ) { + + // Only substitute handlers pass on context + // and multiple values (non-spec behavior) + if ( handler !== Thrower ) { + that = undefined; + args = [ e ]; + } + + deferred.rejectWith( that, args ); + } + } + }; + + // Support: Promises/A+ section 2.3.3.3.1 + // https://promisesaplus.com/#point-57 + // Re-resolve promises immediately to dodge false rejection from + // subsequent errors + if ( depth ) { + process(); + } else { + + // Call an optional hook to record the stack, in case of exception + // since it's otherwise lost when execution goes async + if ( jQuery.Deferred.getStackHook ) { + process.stackTrace = jQuery.Deferred.getStackHook(); + } + window.setTimeout( process ); + } + }; + } + + return jQuery.Deferred( function( newDefer ) { + + // progress_handlers.add( ... ) + tuples[ 0 ][ 3 ].add( + resolve( + 0, + newDefer, + isFunction( onProgress ) ? + onProgress : + Identity, + newDefer.notifyWith + ) + ); + + // fulfilled_handlers.add( ... ) + tuples[ 1 ][ 3 ].add( + resolve( + 0, + newDefer, + isFunction( onFulfilled ) ? + onFulfilled : + Identity + ) + ); + + // rejected_handlers.add( ... ) + tuples[ 2 ][ 3 ].add( + resolve( + 0, + newDefer, + isFunction( onRejected ) ? + onRejected : + Thrower + ) + ); + } ).promise(); + }, + + // Get a promise for this deferred + // If obj is provided, the promise aspect is added to the object + promise: function( obj ) { + return obj != null ? jQuery.extend( obj, promise ) : promise; + } + }, + deferred = {}; + + // Add list-specific methods + jQuery.each( tuples, function( i, tuple ) { + var list = tuple[ 2 ], + stateString = tuple[ 5 ]; + + // promise.progress = list.add + // promise.done = list.add + // promise.fail = list.add + promise[ tuple[ 1 ] ] = list.add; + + // Handle state + if ( stateString ) { + list.add( + function() { + + // state = "resolved" (i.e., fulfilled) + // state = "rejected" + state = stateString; + }, + + // rejected_callbacks.disable + // fulfilled_callbacks.disable + tuples[ 3 - i ][ 2 ].disable, + + // rejected_handlers.disable + // fulfilled_handlers.disable + tuples[ 3 - i ][ 3 ].disable, + + // progress_callbacks.lock + tuples[ 0 ][ 2 ].lock, + + // progress_handlers.lock + tuples[ 0 ][ 3 ].lock + ); + } + + // progress_handlers.fire + // fulfilled_handlers.fire + // rejected_handlers.fire + list.add( tuple[ 3 ].fire ); + + // deferred.notify = function() { deferred.notifyWith(...) } + // deferred.resolve = function() { deferred.resolveWith(...) } + // deferred.reject = function() { deferred.rejectWith(...) } + deferred[ tuple[ 0 ] ] = function() { + deferred[ tuple[ 0 ] + "With" ]( this === deferred ? undefined : this, arguments ); + return this; + }; + + // deferred.notifyWith = list.fireWith + // deferred.resolveWith = list.fireWith + // deferred.rejectWith = list.fireWith + deferred[ tuple[ 0 ] + "With" ] = list.fireWith; + } ); + + // Make the deferred a promise + promise.promise( deferred ); + + // Call given func if any + if ( func ) { + func.call( deferred, deferred ); + } + + // All done! + return deferred; + }, + + // Deferred helper + when: function( singleValue ) { + var + + // count of uncompleted subordinates + remaining = arguments.length, + + // count of unprocessed arguments + i = remaining, + + // subordinate fulfillment data + resolveContexts = Array( i ), + resolveValues = slice.call( arguments ), + + // the primary Deferred + primary = jQuery.Deferred(), + + // subordinate callback factory + updateFunc = function( i ) { + return function( value ) { + resolveContexts[ i ] = this; + resolveValues[ i ] = arguments.length > 1 ? slice.call( arguments ) : value; + if ( !( --remaining ) ) { + primary.resolveWith( resolveContexts, resolveValues ); + } + }; + }; + + // Single- and empty arguments are adopted like Promise.resolve + if ( remaining <= 1 ) { + adoptValue( singleValue, primary.done( updateFunc( i ) ).resolve, primary.reject, + !remaining ); + + // Use .then() to unwrap secondary thenables (cf. gh-3000) + if ( primary.state() === "pending" || + isFunction( resolveValues[ i ] && resolveValues[ i ].then ) ) { + + return primary.then(); + } + } + + // Multiple arguments are aggregated like Promise.all array elements + while ( i-- ) { + adoptValue( resolveValues[ i ], updateFunc( i ), primary.reject ); + } + + return primary.promise(); + } +} ); + + +// These usually indicate a programmer mistake during development, +// warn about them ASAP rather than swallowing them by default. +var rerrorNames = /^(Eval|Internal|Range|Reference|Syntax|Type|URI)Error$/; + +jQuery.Deferred.exceptionHook = function( error, stack ) { + + // Support: IE 8 - 9 only + // Console exists when dev tools are open, which can happen at any time + if ( window.console && window.console.warn && error && rerrorNames.test( error.name ) ) { + window.console.warn( "jQuery.Deferred exception: " + error.message, error.stack, stack ); + } +}; + + + + +jQuery.readyException = function( error ) { + window.setTimeout( function() { + throw error; + } ); +}; + + + + +// The deferred used on DOM ready +var readyList = jQuery.Deferred(); + +jQuery.fn.ready = function( fn ) { + + readyList + .then( fn ) + + // Wrap jQuery.readyException in a function so that the lookup + // happens at the time of error handling instead of callback + // registration. + .catch( function( error ) { + jQuery.readyException( error ); + } ); + + return this; +}; + +jQuery.extend( { + + // Is the DOM ready to be used? Set to true once it occurs. + isReady: false, + + // A counter to track how many items to wait for before + // the ready event fires. See #6781 + readyWait: 1, + + // Handle when the DOM is ready + ready: function( wait ) { + + // Abort if there are pending holds or we're already ready + if ( wait === true ? --jQuery.readyWait : jQuery.isReady ) { + return; + } + + // Remember that the DOM is ready + jQuery.isReady = true; + + // If a normal DOM Ready event fired, decrement, and wait if need be + if ( wait !== true && --jQuery.readyWait > 0 ) { + return; + } + + // If there are functions bound, to execute + readyList.resolveWith( document, [ jQuery ] ); + } +} ); + +jQuery.ready.then = readyList.then; + +// The ready event handler and self cleanup method +function completed() { + document.removeEventListener( "DOMContentLoaded", completed ); + window.removeEventListener( "load", completed ); + jQuery.ready(); +} + +// Catch cases where $(document).ready() is called +// after the browser event has already occurred. +// Support: IE <=9 - 10 only +// Older IE sometimes signals "interactive" too soon +if ( document.readyState === "complete" || + ( document.readyState !== "loading" && !document.documentElement.doScroll ) ) { + + // Handle it asynchronously to allow scripts the opportunity to delay ready + window.setTimeout( jQuery.ready ); + +} else { + + // Use the handy event callback + document.addEventListener( "DOMContentLoaded", completed ); + + // A fallback to window.onload, that will always work + window.addEventListener( "load", completed ); +} + + + + +// Multifunctional method to get and set values of a collection +// The value/s can optionally be executed if it's a function +var access = function( elems, fn, key, value, chainable, emptyGet, raw ) { + var i = 0, + len = elems.length, + bulk = key == null; + + // Sets many values + if ( toType( key ) === "object" ) { + chainable = true; + for ( i in key ) { + access( elems, fn, i, key[ i ], true, emptyGet, raw ); + } + + // Sets one value + } else if ( value !== undefined ) { + chainable = true; + + if ( !isFunction( value ) ) { + raw = true; + } + + if ( bulk ) { + + // Bulk operations run against the entire set + if ( raw ) { + fn.call( elems, value ); + fn = null; + + // ...except when executing function values + } else { + bulk = fn; + fn = function( elem, _key, value ) { + return bulk.call( jQuery( elem ), value ); + }; + } + } + + if ( fn ) { + for ( ; i < len; i++ ) { + fn( + elems[ i ], key, raw ? + value : + value.call( elems[ i ], i, fn( elems[ i ], key ) ) + ); + } + } + } + + if ( chainable ) { + return elems; + } + + // Gets + if ( bulk ) { + return fn.call( elems ); + } + + return len ? fn( elems[ 0 ], key ) : emptyGet; +}; + + +// Matches dashed string for camelizing +var rmsPrefix = /^-ms-/, + rdashAlpha = /-([a-z])/g; + +// Used by camelCase as callback to replace() +function fcamelCase( _all, letter ) { + return letter.toUpperCase(); +} + +// Convert dashed to camelCase; used by the css and data modules +// Support: IE <=9 - 11, Edge 12 - 15 +// Microsoft forgot to hump their vendor prefix (#9572) +function camelCase( string ) { + return string.replace( rmsPrefix, "ms-" ).replace( rdashAlpha, fcamelCase ); +} +var acceptData = function( owner ) { + + // Accepts only: + // - Node + // - Node.ELEMENT_NODE + // - Node.DOCUMENT_NODE + // - Object + // - Any + return owner.nodeType === 1 || owner.nodeType === 9 || !( +owner.nodeType ); +}; + + + + +function Data() { + this.expando = jQuery.expando + Data.uid++; +} + +Data.uid = 1; + +Data.prototype = { + + cache: function( owner ) { + + // Check if the owner object already has a cache + var value = owner[ this.expando ]; + + // If not, create one + if ( !value ) { + value = {}; + + // We can accept data for non-element nodes in modern browsers, + // but we should not, see #8335. + // Always return an empty object. + if ( acceptData( owner ) ) { + + // If it is a node unlikely to be stringify-ed or looped over + // use plain assignment + if ( owner.nodeType ) { + owner[ this.expando ] = value; + + // Otherwise secure it in a non-enumerable property + // configurable must be true to allow the property to be + // deleted when data is removed + } else { + Object.defineProperty( owner, this.expando, { + value: value, + configurable: true + } ); + } + } + } + + return value; + }, + set: function( owner, data, value ) { + var prop, + cache = this.cache( owner ); + + // Handle: [ owner, key, value ] args + // Always use camelCase key (gh-2257) + if ( typeof data === "string" ) { + cache[ camelCase( data ) ] = value; + + // Handle: [ owner, { properties } ] args + } else { + + // Copy the properties one-by-one to the cache object + for ( prop in data ) { + cache[ camelCase( prop ) ] = data[ prop ]; + } + } + return cache; + }, + get: function( owner, key ) { + return key === undefined ? + this.cache( owner ) : + + // Always use camelCase key (gh-2257) + owner[ this.expando ] && owner[ this.expando ][ camelCase( key ) ]; + }, + access: function( owner, key, value ) { + + // In cases where either: + // + // 1. No key was specified + // 2. A string key was specified, but no value provided + // + // Take the "read" path and allow the get method to determine + // which value to return, respectively either: + // + // 1. The entire cache object + // 2. The data stored at the key + // + if ( key === undefined || + ( ( key && typeof key === "string" ) && value === undefined ) ) { + + return this.get( owner, key ); + } + + // When the key is not a string, or both a key and value + // are specified, set or extend (existing objects) with either: + // + // 1. An object of properties + // 2. A key and value + // + this.set( owner, key, value ); + + // Since the "set" path can have two possible entry points + // return the expected data based on which path was taken[*] + return value !== undefined ? value : key; + }, + remove: function( owner, key ) { + var i, + cache = owner[ this.expando ]; + + if ( cache === undefined ) { + return; + } + + if ( key !== undefined ) { + + // Support array or space separated string of keys + if ( Array.isArray( key ) ) { + + // If key is an array of keys... + // We always set camelCase keys, so remove that. + key = key.map( camelCase ); + } else { + key = camelCase( key ); + + // If a key with the spaces exists, use it. + // Otherwise, create an array by matching non-whitespace + key = key in cache ? + [ key ] : + ( key.match( rnothtmlwhite ) || [] ); + } + + i = key.length; + + while ( i-- ) { + delete cache[ key[ i ] ]; + } + } + + // Remove the expando if there's no more data + if ( key === undefined || jQuery.isEmptyObject( cache ) ) { + + // Support: Chrome <=35 - 45 + // Webkit & Blink performance suffers when deleting properties + // from DOM nodes, so set to undefined instead + // https://bugs.chromium.org/p/chromium/issues/detail?id=378607 (bug restricted) + if ( owner.nodeType ) { + owner[ this.expando ] = undefined; + } else { + delete owner[ this.expando ]; + } + } + }, + hasData: function( owner ) { + var cache = owner[ this.expando ]; + return cache !== undefined && !jQuery.isEmptyObject( cache ); + } +}; +var dataPriv = new Data(); + +var dataUser = new Data(); + + + +// Implementation Summary +// +// 1. Enforce API surface and semantic compatibility with 1.9.x branch +// 2. Improve the module's maintainability by reducing the storage +// paths to a single mechanism. +// 3. Use the same single mechanism to support "private" and "user" data. +// 4. _Never_ expose "private" data to user code (TODO: Drop _data, _removeData) +// 5. Avoid exposing implementation details on user objects (eg. expando properties) +// 6. Provide a clear path for implementation upgrade to WeakMap in 2014 + +var rbrace = /^(?:\{[\w\W]*\}|\[[\w\W]*\])$/, + rmultiDash = /[A-Z]/g; + +function getData( data ) { + if ( data === "true" ) { + return true; + } + + if ( data === "false" ) { + return false; + } + + if ( data === "null" ) { + return null; + } + + // Only convert to a number if it doesn't change the string + if ( data === +data + "" ) { + return +data; + } + + if ( rbrace.test( data ) ) { + return JSON.parse( data ); + } + + return data; +} + +function dataAttr( elem, key, data ) { + var name; + + // If nothing was found internally, try to fetch any + // data from the HTML5 data-* attribute + if ( data === undefined && elem.nodeType === 1 ) { + name = "data-" + key.replace( rmultiDash, "-$&" ).toLowerCase(); + data = elem.getAttribute( name ); + + if ( typeof data === "string" ) { + try { + data = getData( data ); + } catch ( e ) {} + + // Make sure we set the data so it isn't changed later + dataUser.set( elem, key, data ); + } else { + data = undefined; + } + } + return data; +} + +jQuery.extend( { + hasData: function( elem ) { + return dataUser.hasData( elem ) || dataPriv.hasData( elem ); + }, + + data: function( elem, name, data ) { + return dataUser.access( elem, name, data ); + }, + + removeData: function( elem, name ) { + dataUser.remove( elem, name ); + }, + + // TODO: Now that all calls to _data and _removeData have been replaced + // with direct calls to dataPriv methods, these can be deprecated. + _data: function( elem, name, data ) { + return dataPriv.access( elem, name, data ); + }, + + _removeData: function( elem, name ) { + dataPriv.remove( elem, name ); + } +} ); + +jQuery.fn.extend( { + data: function( key, value ) { + var i, name, data, + elem = this[ 0 ], + attrs = elem && elem.attributes; + + // Gets all values + if ( key === undefined ) { + if ( this.length ) { + data = dataUser.get( elem ); + + if ( elem.nodeType === 1 && !dataPriv.get( elem, "hasDataAttrs" ) ) { + i = attrs.length; + while ( i-- ) { + + // Support: IE 11 only + // The attrs elements can be null (#14894) + if ( attrs[ i ] ) { + name = attrs[ i ].name; + if ( name.indexOf( "data-" ) === 0 ) { + name = camelCase( name.slice( 5 ) ); + dataAttr( elem, name, data[ name ] ); + } + } + } + dataPriv.set( elem, "hasDataAttrs", true ); + } + } + + return data; + } + + // Sets multiple values + if ( typeof key === "object" ) { + return this.each( function() { + dataUser.set( this, key ); + } ); + } + + return access( this, function( value ) { + var data; + + // The calling jQuery object (element matches) is not empty + // (and therefore has an element appears at this[ 0 ]) and the + // `value` parameter was not undefined. An empty jQuery object + // will result in `undefined` for elem = this[ 0 ] which will + // throw an exception if an attempt to read a data cache is made. + if ( elem && value === undefined ) { + + // Attempt to get data from the cache + // The key will always be camelCased in Data + data = dataUser.get( elem, key ); + if ( data !== undefined ) { + return data; + } + + // Attempt to "discover" the data in + // HTML5 custom data-* attrs + data = dataAttr( elem, key ); + if ( data !== undefined ) { + return data; + } + + // We tried really hard, but the data doesn't exist. + return; + } + + // Set the data... + this.each( function() { + + // We always store the camelCased key + dataUser.set( this, key, value ); + } ); + }, null, value, arguments.length > 1, null, true ); + }, + + removeData: function( key ) { + return this.each( function() { + dataUser.remove( this, key ); + } ); + } +} ); + + +jQuery.extend( { + queue: function( elem, type, data ) { + var queue; + + if ( elem ) { + type = ( type || "fx" ) + "queue"; + queue = dataPriv.get( elem, type ); + + // Speed up dequeue by getting out quickly if this is just a lookup + if ( data ) { + if ( !queue || Array.isArray( data ) ) { + queue = dataPriv.access( elem, type, jQuery.makeArray( data ) ); + } else { + queue.push( data ); + } + } + return queue || []; + } + }, + + dequeue: function( elem, type ) { + type = type || "fx"; + + var queue = jQuery.queue( elem, type ), + startLength = queue.length, + fn = queue.shift(), + hooks = jQuery._queueHooks( elem, type ), + next = function() { + jQuery.dequeue( elem, type ); + }; + + // If the fx queue is dequeued, always remove the progress sentinel + if ( fn === "inprogress" ) { + fn = queue.shift(); + startLength--; + } + + if ( fn ) { + + // Add a progress sentinel to prevent the fx queue from being + // automatically dequeued + if ( type === "fx" ) { + queue.unshift( "inprogress" ); + } + + // Clear up the last queue stop function + delete hooks.stop; + fn.call( elem, next, hooks ); + } + + if ( !startLength && hooks ) { + hooks.empty.fire(); + } + }, + + // Not public - generate a queueHooks object, or return the current one + _queueHooks: function( elem, type ) { + var key = type + "queueHooks"; + return dataPriv.get( elem, key ) || dataPriv.access( elem, key, { + empty: jQuery.Callbacks( "once memory" ).add( function() { + dataPriv.remove( elem, [ type + "queue", key ] ); + } ) + } ); + } +} ); + +jQuery.fn.extend( { + queue: function( type, data ) { + var setter = 2; + + if ( typeof type !== "string" ) { + data = type; + type = "fx"; + setter--; + } + + if ( arguments.length < setter ) { + return jQuery.queue( this[ 0 ], type ); + } + + return data === undefined ? + this : + this.each( function() { + var queue = jQuery.queue( this, type, data ); + + // Ensure a hooks for this queue + jQuery._queueHooks( this, type ); + + if ( type === "fx" && queue[ 0 ] !== "inprogress" ) { + jQuery.dequeue( this, type ); + } + } ); + }, + dequeue: function( type ) { + return this.each( function() { + jQuery.dequeue( this, type ); + } ); + }, + clearQueue: function( type ) { + return this.queue( type || "fx", [] ); + }, + + // Get a promise resolved when queues of a certain type + // are emptied (fx is the type by default) + promise: function( type, obj ) { + var tmp, + count = 1, + defer = jQuery.Deferred(), + elements = this, + i = this.length, + resolve = function() { + if ( !( --count ) ) { + defer.resolveWith( elements, [ elements ] ); + } + }; + + if ( typeof type !== "string" ) { + obj = type; + type = undefined; + } + type = type || "fx"; + + while ( i-- ) { + tmp = dataPriv.get( elements[ i ], type + "queueHooks" ); + if ( tmp && tmp.empty ) { + count++; + tmp.empty.add( resolve ); + } + } + resolve(); + return defer.promise( obj ); + } +} ); +var pnum = ( /[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/ ).source; + +var rcssNum = new RegExp( "^(?:([+-])=|)(" + pnum + ")([a-z%]*)$", "i" ); + + +var cssExpand = [ "Top", "Right", "Bottom", "Left" ]; + +var documentElement = document.documentElement; + + + + var isAttached = function( elem ) { + return jQuery.contains( elem.ownerDocument, elem ); + }, + composed = { composed: true }; + + // Support: IE 9 - 11+, Edge 12 - 18+, iOS 10.0 - 10.2 only + // Check attachment across shadow DOM boundaries when possible (gh-3504) + // Support: iOS 10.0-10.2 only + // Early iOS 10 versions support `attachShadow` but not `getRootNode`, + // leading to errors. We need to check for `getRootNode`. + if ( documentElement.getRootNode ) { + isAttached = function( elem ) { + return jQuery.contains( elem.ownerDocument, elem ) || + elem.getRootNode( composed ) === elem.ownerDocument; + }; + } +var isHiddenWithinTree = function( elem, el ) { + + // isHiddenWithinTree might be called from jQuery#filter function; + // in that case, element will be second argument + elem = el || elem; + + // Inline style trumps all + return elem.style.display === "none" || + elem.style.display === "" && + + // Otherwise, check computed style + // Support: Firefox <=43 - 45 + // Disconnected elements can have computed display: none, so first confirm that elem is + // in the document. + isAttached( elem ) && + + jQuery.css( elem, "display" ) === "none"; + }; + + + +function adjustCSS( elem, prop, valueParts, tween ) { + var adjusted, scale, + maxIterations = 20, + currentValue = tween ? + function() { + return tween.cur(); + } : + function() { + return jQuery.css( elem, prop, "" ); + }, + initial = currentValue(), + unit = valueParts && valueParts[ 3 ] || ( jQuery.cssNumber[ prop ] ? "" : "px" ), + + // Starting value computation is required for potential unit mismatches + initialInUnit = elem.nodeType && + ( jQuery.cssNumber[ prop ] || unit !== "px" && +initial ) && + rcssNum.exec( jQuery.css( elem, prop ) ); + + if ( initialInUnit && initialInUnit[ 3 ] !== unit ) { + + // Support: Firefox <=54 + // Halve the iteration target value to prevent interference from CSS upper bounds (gh-2144) + initial = initial / 2; + + // Trust units reported by jQuery.css + unit = unit || initialInUnit[ 3 ]; + + // Iteratively approximate from a nonzero starting point + initialInUnit = +initial || 1; + + while ( maxIterations-- ) { + + // Evaluate and update our best guess (doubling guesses that zero out). + // Finish if the scale equals or crosses 1 (making the old*new product non-positive). + jQuery.style( elem, prop, initialInUnit + unit ); + if ( ( 1 - scale ) * ( 1 - ( scale = currentValue() / initial || 0.5 ) ) <= 0 ) { + maxIterations = 0; + } + initialInUnit = initialInUnit / scale; + + } + + initialInUnit = initialInUnit * 2; + jQuery.style( elem, prop, initialInUnit + unit ); + + // Make sure we update the tween properties later on + valueParts = valueParts || []; + } + + if ( valueParts ) { + initialInUnit = +initialInUnit || +initial || 0; + + // Apply relative offset (+=/-=) if specified + adjusted = valueParts[ 1 ] ? + initialInUnit + ( valueParts[ 1 ] + 1 ) * valueParts[ 2 ] : + +valueParts[ 2 ]; + if ( tween ) { + tween.unit = unit; + tween.start = initialInUnit; + tween.end = adjusted; + } + } + return adjusted; +} + + +var defaultDisplayMap = {}; + +function getDefaultDisplay( elem ) { + var temp, + doc = elem.ownerDocument, + nodeName = elem.nodeName, + display = defaultDisplayMap[ nodeName ]; + + if ( display ) { + return display; + } + + temp = doc.body.appendChild( doc.createElement( nodeName ) ); + display = jQuery.css( temp, "display" ); + + temp.parentNode.removeChild( temp ); + + if ( display === "none" ) { + display = "block"; + } + defaultDisplayMap[ nodeName ] = display; + + return display; +} + +function showHide( elements, show ) { + var display, elem, + values = [], + index = 0, + length = elements.length; + + // Determine new display value for elements that need to change + for ( ; index < length; index++ ) { + elem = elements[ index ]; + if ( !elem.style ) { + continue; + } + + display = elem.style.display; + if ( show ) { + + // Since we force visibility upon cascade-hidden elements, an immediate (and slow) + // check is required in this first loop unless we have a nonempty display value (either + // inline or about-to-be-restored) + if ( display === "none" ) { + values[ index ] = dataPriv.get( elem, "display" ) || null; + if ( !values[ index ] ) { + elem.style.display = ""; + } + } + if ( elem.style.display === "" && isHiddenWithinTree( elem ) ) { + values[ index ] = getDefaultDisplay( elem ); + } + } else { + if ( display !== "none" ) { + values[ index ] = "none"; + + // Remember what we're overwriting + dataPriv.set( elem, "display", display ); + } + } + } + + // Set the display of the elements in a second loop to avoid constant reflow + for ( index = 0; index < length; index++ ) { + if ( values[ index ] != null ) { + elements[ index ].style.display = values[ index ]; + } + } + + return elements; +} + +jQuery.fn.extend( { + show: function() { + return showHide( this, true ); + }, + hide: function() { + return showHide( this ); + }, + toggle: function( state ) { + if ( typeof state === "boolean" ) { + return state ? this.show() : this.hide(); + } + + return this.each( function() { + if ( isHiddenWithinTree( this ) ) { + jQuery( this ).show(); + } else { + jQuery( this ).hide(); + } + } ); + } +} ); +var rcheckableType = ( /^(?:checkbox|radio)$/i ); + +var rtagName = ( /<([a-z][^\/\0>\x20\t\r\n\f]*)/i ); + +var rscriptType = ( /^$|^module$|\/(?:java|ecma)script/i ); + + + +( function() { + var fragment = document.createDocumentFragment(), + div = fragment.appendChild( document.createElement( "div" ) ), + input = document.createElement( "input" ); + + // Support: Android 4.0 - 4.3 only + // Check state lost if the name is set (#11217) + // Support: Windows Web Apps (WWA) + // `name` and `type` must use .setAttribute for WWA (#14901) + input.setAttribute( "type", "radio" ); + input.setAttribute( "checked", "checked" ); + input.setAttribute( "name", "t" ); + + div.appendChild( input ); + + // Support: Android <=4.1 only + // Older WebKit doesn't clone checked state correctly in fragments + support.checkClone = div.cloneNode( true ).cloneNode( true ).lastChild.checked; + + // Support: IE <=11 only + // Make sure textarea (and checkbox) defaultValue is properly cloned + div.innerHTML = "<textarea>x</textarea>"; + support.noCloneChecked = !!div.cloneNode( true ).lastChild.defaultValue; + + // Support: IE <=9 only + // IE <=9 replaces <option> tags with their contents when inserted outside of + // the select element. + div.innerHTML = "<option></option>"; + support.option = !!div.lastChild; +} )(); + + +// We have to close these tags to support XHTML (#13200) +var wrapMap = { + + // XHTML parsers do not magically insert elements in the + // same way that tag soup parsers do. So we cannot shorten + // this by omitting <tbody> or other required elements. + 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, "", "" ] +}; + +wrapMap.tbody = wrapMap.tfoot = wrapMap.colgroup = wrapMap.caption = wrapMap.thead; +wrapMap.th = wrapMap.td; + +// Support: IE <=9 only +if ( !support.option ) { + wrapMap.optgroup = wrapMap.option = [ 1, "<select multiple='multiple'>", "</select>" ]; +} + + +function getAll( context, tag ) { + + // Support: IE <=9 - 11 only + // Use typeof to avoid zero-argument method invocation on host objects (#15151) + var ret; + + if ( typeof context.getElementsByTagName !== "undefined" ) { + ret = context.getElementsByTagName( tag || "*" ); + + } else if ( typeof context.querySelectorAll !== "undefined" ) { + ret = context.querySelectorAll( tag || "*" ); + + } else { + ret = []; + } + + if ( tag === undefined || tag && nodeName( context, tag ) ) { + return jQuery.merge( [ context ], ret ); + } + + return ret; +} + + +// Mark scripts as having already been evaluated +function setGlobalEval( elems, refElements ) { + var i = 0, + l = elems.length; + + for ( ; i < l; i++ ) { + dataPriv.set( + elems[ i ], + "globalEval", + !refElements || dataPriv.get( refElements[ i ], "globalEval" ) + ); + } +} + + +var rhtml = /<|&#?\w+;/; + +function buildFragment( elems, context, scripts, selection, ignored ) { + var elem, tmp, tag, wrap, attached, j, + fragment = context.createDocumentFragment(), + nodes = [], + i = 0, + l = elems.length; + + for ( ; i < l; i++ ) { + elem = elems[ i ]; + + if ( elem || elem === 0 ) { + + // Add nodes directly + if ( toType( elem ) === "object" ) { + + // Support: Android <=4.0 only, PhantomJS 1 only + // push.apply(_, arraylike) throws on ancient WebKit + jQuery.merge( nodes, elem.nodeType ? [ elem ] : elem ); + + // Convert non-html into a text node + } else if ( !rhtml.test( elem ) ) { + nodes.push( context.createTextNode( elem ) ); + + // Convert html into DOM nodes + } else { + tmp = tmp || fragment.appendChild( context.createElement( "div" ) ); + + // Deserialize a standard representation + tag = ( rtagName.exec( elem ) || [ "", "" ] )[ 1 ].toLowerCase(); + wrap = wrapMap[ tag ] || wrapMap._default; + tmp.innerHTML = wrap[ 1 ] + jQuery.htmlPrefilter( elem ) + wrap[ 2 ]; + + // Descend through wrappers to the right content + j = wrap[ 0 ]; + while ( j-- ) { + tmp = tmp.lastChild; + } + + // Support: Android <=4.0 only, PhantomJS 1 only + // push.apply(_, arraylike) throws on ancient WebKit + jQuery.merge( nodes, tmp.childNodes ); + + // Remember the top-level container + tmp = fragment.firstChild; + + // Ensure the created nodes are orphaned (#12392) + tmp.textContent = ""; + } + } + } + + // Remove wrapper from fragment + fragment.textContent = ""; + + i = 0; + while ( ( elem = nodes[ i++ ] ) ) { + + // Skip elements already in the context collection (trac-4087) + if ( selection && jQuery.inArray( elem, selection ) > -1 ) { + if ( ignored ) { + ignored.push( elem ); + } + continue; + } + + attached = isAttached( elem ); + + // Append to fragment + tmp = getAll( fragment.appendChild( elem ), "script" ); + + // Preserve script evaluation history + if ( attached ) { + setGlobalEval( tmp ); + } + + // Capture executables + if ( scripts ) { + j = 0; + while ( ( elem = tmp[ j++ ] ) ) { + if ( rscriptType.test( elem.type || "" ) ) { + scripts.push( elem ); + } + } + } + } + + return fragment; +} + + +var rtypenamespace = /^([^.]*)(?:\.(.+)|)/; + +function returnTrue() { + return true; +} + +function returnFalse() { + return false; +} + +// Support: IE <=9 - 11+ +// focus() and blur() are asynchronous, except when they are no-op. +// So expect focus to be synchronous when the element is already active, +// and blur to be synchronous when the element is not already active. +// (focus and blur are always synchronous in other supported browsers, +// this just defines when we can count on it). +function expectSync( elem, type ) { + return ( elem === safeActiveElement() ) === ( type === "focus" ); +} + +// Support: IE <=9 only +// Accessing document.activeElement can throw unexpectedly +// https://bugs.jquery.com/ticket/13393 +function safeActiveElement() { + try { + return document.activeElement; + } catch ( err ) { } +} + +function on( elem, types, selector, data, fn, one ) { + var origFn, type; + + // Types can be a map of types/handlers + if ( typeof types === "object" ) { + + // ( types-Object, selector, data ) + if ( typeof selector !== "string" ) { + + // ( types-Object, data ) + data = data || selector; + selector = undefined; + } + for ( type in types ) { + on( elem, type, selector, data, types[ type ], one ); + } + return elem; + } + + if ( data == null && fn == null ) { + + // ( types, fn ) + fn = selector; + data = selector = undefined; + } else if ( fn == null ) { + if ( typeof selector === "string" ) { + + // ( types, selector, fn ) + fn = data; + data = undefined; + } else { + + // ( types, data, fn ) + fn = data; + data = selector; + selector = undefined; + } + } + if ( fn === false ) { + fn = returnFalse; + } else if ( !fn ) { + return elem; + } + + if ( one === 1 ) { + origFn = fn; + fn = function( event ) { + + // Can use an empty set, since event contains the info + jQuery().off( event ); + return origFn.apply( this, arguments ); + }; + + // Use same guid so caller can remove using origFn + fn.guid = origFn.guid || ( origFn.guid = jQuery.guid++ ); + } + return elem.each( function() { + jQuery.event.add( this, types, fn, data, selector ); + } ); +} + +/* + * Helper functions for managing events -- not part of the public interface. + * Props to Dean Edwards' addEvent library for many of the ideas. + */ +jQuery.event = { + + global: {}, + + add: function( elem, types, handler, data, selector ) { + + var handleObjIn, eventHandle, tmp, + events, t, handleObj, + special, handlers, type, namespaces, origType, + elemData = dataPriv.get( elem ); + + // Only attach events to objects that accept data + if ( !acceptData( elem ) ) { + return; + } + + // Caller can pass in an object of custom data in lieu of the handler + if ( handler.handler ) { + handleObjIn = handler; + handler = handleObjIn.handler; + selector = handleObjIn.selector; + } + + // Ensure that invalid selectors throw exceptions at attach time + // Evaluate against documentElement in case elem is a non-element node (e.g., document) + if ( selector ) { + jQuery.find.matchesSelector( documentElement, selector ); + } + + // Make sure that the handler has a unique ID, used to find/remove it later + if ( !handler.guid ) { + handler.guid = jQuery.guid++; + } + + // Init the element's event structure and main handler, if this is the first + if ( !( events = elemData.events ) ) { + events = elemData.events = Object.create( null ); + } + if ( !( eventHandle = elemData.handle ) ) { + eventHandle = elemData.handle = function( e ) { + + // Discard the second event of a jQuery.event.trigger() and + // when an event is called after a page has unloaded + return typeof jQuery !== "undefined" && jQuery.event.triggered !== e.type ? + jQuery.event.dispatch.apply( elem, arguments ) : undefined; + }; + } + + // Handle multiple events separated by a space + types = ( types || "" ).match( rnothtmlwhite ) || [ "" ]; + t = types.length; + while ( t-- ) { + tmp = rtypenamespace.exec( types[ t ] ) || []; + type = origType = tmp[ 1 ]; + namespaces = ( tmp[ 2 ] || "" ).split( "." ).sort(); + + // There *must* be a type, no attaching namespace-only handlers + if ( !type ) { + continue; + } + + // If event changes its type, use the special event handlers for the changed type + special = jQuery.event.special[ type ] || {}; + + // If selector defined, determine special event api type, otherwise given type + type = ( selector ? special.delegateType : special.bindType ) || type; + + // Update special based on newly reset type + special = jQuery.event.special[ type ] || {}; + + // handleObj is passed to all event handlers + handleObj = jQuery.extend( { + type: type, + origType: origType, + data: data, + handler: handler, + guid: handler.guid, + selector: selector, + needsContext: selector && jQuery.expr.match.needsContext.test( selector ), + namespace: namespaces.join( "." ) + }, handleObjIn ); + + // Init the event handler queue if we're the first + if ( !( handlers = events[ type ] ) ) { + handlers = events[ type ] = []; + handlers.delegateCount = 0; + + // Only use addEventListener if the special events handler returns false + if ( !special.setup || + special.setup.call( elem, data, namespaces, eventHandle ) === false ) { + + if ( elem.addEventListener ) { + elem.addEventListener( type, eventHandle ); + } + } + } + + if ( special.add ) { + special.add.call( elem, handleObj ); + + if ( !handleObj.handler.guid ) { + handleObj.handler.guid = handler.guid; + } + } + + // Add to the element's handler list, delegates in front + if ( selector ) { + handlers.splice( handlers.delegateCount++, 0, handleObj ); + } else { + handlers.push( handleObj ); + } + + // Keep track of which events have ever been used, for event optimization + jQuery.event.global[ type ] = true; + } + + }, + + // Detach an event or set of events from an element + remove: function( elem, types, handler, selector, mappedTypes ) { + + var j, origCount, tmp, + events, t, handleObj, + special, handlers, type, namespaces, origType, + elemData = dataPriv.hasData( elem ) && dataPriv.get( elem ); + + if ( !elemData || !( events = elemData.events ) ) { + return; + } + + // Once for each type.namespace in types; type may be omitted + types = ( types || "" ).match( rnothtmlwhite ) || [ "" ]; + t = types.length; + while ( t-- ) { + tmp = rtypenamespace.exec( types[ t ] ) || []; + type = origType = tmp[ 1 ]; + namespaces = ( tmp[ 2 ] || "" ).split( "." ).sort(); + + // Unbind all events (on this namespace, if provided) for the element + if ( !type ) { + for ( type in events ) { + jQuery.event.remove( elem, type + types[ t ], handler, selector, true ); + } + continue; + } + + special = jQuery.event.special[ type ] || {}; + type = ( selector ? special.delegateType : special.bindType ) || type; + handlers = events[ type ] || []; + tmp = tmp[ 2 ] && + new RegExp( "(^|\\.)" + namespaces.join( "\\.(?:.*\\.|)" ) + "(\\.|$)" ); + + // Remove matching events + origCount = j = handlers.length; + while ( j-- ) { + handleObj = handlers[ j ]; + + if ( ( mappedTypes || origType === handleObj.origType ) && + ( !handler || handler.guid === handleObj.guid ) && + ( !tmp || tmp.test( handleObj.namespace ) ) && + ( !selector || selector === handleObj.selector || + selector === "**" && handleObj.selector ) ) { + handlers.splice( j, 1 ); + + if ( handleObj.selector ) { + handlers.delegateCount--; + } + if ( special.remove ) { + special.remove.call( elem, handleObj ); + } + } + } + + // Remove generic event handler if we removed something and no more handlers exist + // (avoids potential for endless recursion during removal of special event handlers) + if ( origCount && !handlers.length ) { + if ( !special.teardown || + special.teardown.call( elem, namespaces, elemData.handle ) === false ) { + + jQuery.removeEvent( elem, type, elemData.handle ); + } + + delete events[ type ]; + } + } + + // Remove data and the expando if it's no longer used + if ( jQuery.isEmptyObject( events ) ) { + dataPriv.remove( elem, "handle events" ); + } + }, + + dispatch: function( nativeEvent ) { + + var i, j, ret, matched, handleObj, handlerQueue, + args = new Array( arguments.length ), + + // Make a writable jQuery.Event from the native event object + event = jQuery.event.fix( nativeEvent ), + + handlers = ( + dataPriv.get( this, "events" ) || Object.create( null ) + )[ event.type ] || [], + special = jQuery.event.special[ event.type ] || {}; + + // Use the fix-ed jQuery.Event rather than the (read-only) native event + args[ 0 ] = event; + + for ( i = 1; i < arguments.length; i++ ) { + args[ i ] = arguments[ i ]; + } + + event.delegateTarget = this; + + // Call the preDispatch hook for the mapped type, and let it bail if desired + if ( special.preDispatch && special.preDispatch.call( this, event ) === false ) { + return; + } + + // Determine handlers + handlerQueue = jQuery.event.handlers.call( this, event, handlers ); + + // Run delegates first; they may want to stop propagation beneath us + i = 0; + while ( ( matched = handlerQueue[ i++ ] ) && !event.isPropagationStopped() ) { + event.currentTarget = matched.elem; + + j = 0; + while ( ( handleObj = matched.handlers[ j++ ] ) && + !event.isImmediatePropagationStopped() ) { + + // If the event is namespaced, then each handler is only invoked if it is + // specially universal or its namespaces are a superset of the event's. + if ( !event.rnamespace || handleObj.namespace === false || + event.rnamespace.test( handleObj.namespace ) ) { + + event.handleObj = handleObj; + event.data = handleObj.data; + + ret = ( ( jQuery.event.special[ handleObj.origType ] || {} ).handle || + handleObj.handler ).apply( matched.elem, args ); + + if ( ret !== undefined ) { + if ( ( event.result = ret ) === false ) { + event.preventDefault(); + event.stopPropagation(); + } + } + } + } + } + + // Call the postDispatch hook for the mapped type + if ( special.postDispatch ) { + special.postDispatch.call( this, event ); + } + + return event.result; + }, + + handlers: function( event, handlers ) { + var i, handleObj, sel, matchedHandlers, matchedSelectors, + handlerQueue = [], + delegateCount = handlers.delegateCount, + cur = event.target; + + // Find delegate handlers + if ( delegateCount && + + // Support: IE <=9 + // Black-hole SVG <use> instance trees (trac-13180) + cur.nodeType && + + // Support: Firefox <=42 + // Suppress spec-violating clicks indicating a non-primary pointer button (trac-3861) + // https://www.w3.org/TR/DOM-Level-3-Events/#event-type-click + // Support: IE 11 only + // ...but not arrow key "clicks" of radio inputs, which can have `button` -1 (gh-2343) + !( event.type === "click" && event.button >= 1 ) ) { + + for ( ; cur !== this; cur = cur.parentNode || this ) { + + // Don't check non-elements (#13208) + // Don't process clicks on disabled elements (#6911, #8165, #11382, #11764) + if ( cur.nodeType === 1 && !( event.type === "click" && cur.disabled === true ) ) { + matchedHandlers = []; + matchedSelectors = {}; + for ( i = 0; i < delegateCount; i++ ) { + handleObj = handlers[ i ]; + + // Don't conflict with Object.prototype properties (#13203) + sel = handleObj.selector + " "; + + if ( matchedSelectors[ sel ] === undefined ) { + matchedSelectors[ sel ] = handleObj.needsContext ? + jQuery( sel, this ).index( cur ) > -1 : + jQuery.find( sel, this, null, [ cur ] ).length; + } + if ( matchedSelectors[ sel ] ) { + matchedHandlers.push( handleObj ); + } + } + if ( matchedHandlers.length ) { + handlerQueue.push( { elem: cur, handlers: matchedHandlers } ); + } + } + } + } + + // Add the remaining (directly-bound) handlers + cur = this; + if ( delegateCount < handlers.length ) { + handlerQueue.push( { elem: cur, handlers: handlers.slice( delegateCount ) } ); + } + + return handlerQueue; + }, + + addProp: function( name, hook ) { + Object.defineProperty( jQuery.Event.prototype, name, { + enumerable: true, + configurable: true, + + get: isFunction( hook ) ? + function() { + if ( this.originalEvent ) { + return hook( this.originalEvent ); + } + } : + function() { + if ( this.originalEvent ) { + return this.originalEvent[ name ]; + } + }, + + set: function( value ) { + Object.defineProperty( this, name, { + enumerable: true, + configurable: true, + writable: true, + value: value + } ); + } + } ); + }, + + fix: function( originalEvent ) { + return originalEvent[ jQuery.expando ] ? + originalEvent : + new jQuery.Event( originalEvent ); + }, + + special: { + load: { + + // Prevent triggered image.load events from bubbling to window.load + noBubble: true + }, + click: { + + // Utilize native event to ensure correct state for checkable inputs + setup: function( data ) { + + // For mutual compressibility with _default, replace `this` access with a local var. + // `|| data` is dead code meant only to preserve the variable through minification. + var el = this || data; + + // Claim the first handler + if ( rcheckableType.test( el.type ) && + el.click && nodeName( el, "input" ) ) { + + // dataPriv.set( el, "click", ... ) + leverageNative( el, "click", returnTrue ); + } + + // Return false to allow normal processing in the caller + return false; + }, + trigger: function( data ) { + + // For mutual compressibility with _default, replace `this` access with a local var. + // `|| data` is dead code meant only to preserve the variable through minification. + var el = this || data; + + // Force setup before triggering a click + if ( rcheckableType.test( el.type ) && + el.click && nodeName( el, "input" ) ) { + + leverageNative( el, "click" ); + } + + // Return non-false to allow normal event-path propagation + return true; + }, + + // For cross-browser consistency, suppress native .click() on links + // Also prevent it if we're currently inside a leveraged native-event stack + _default: function( event ) { + var target = event.target; + return rcheckableType.test( target.type ) && + target.click && nodeName( target, "input" ) && + dataPriv.get( target, "click" ) || + nodeName( target, "a" ); + } + }, + + beforeunload: { + postDispatch: function( event ) { + + // Support: Firefox 20+ + // Firefox doesn't alert if the returnValue field is not set. + if ( event.result !== undefined && event.originalEvent ) { + event.originalEvent.returnValue = event.result; + } + } + } + } +}; + +// Ensure the presence of an event listener that handles manually-triggered +// synthetic events by interrupting progress until reinvoked in response to +// *native* events that it fires directly, ensuring that state changes have +// already occurred before other listeners are invoked. +function leverageNative( el, type, expectSync ) { + + // Missing expectSync indicates a trigger call, which must force setup through jQuery.event.add + if ( !expectSync ) { + if ( dataPriv.get( el, type ) === undefined ) { + jQuery.event.add( el, type, returnTrue ); + } + return; + } + + // Register the controller as a special universal handler for all event namespaces + dataPriv.set( el, type, false ); + jQuery.event.add( el, type, { + namespace: false, + handler: function( event ) { + var notAsync, result, + saved = dataPriv.get( this, type ); + + if ( ( event.isTrigger & 1 ) && this[ type ] ) { + + // Interrupt processing of the outer synthetic .trigger()ed event + // Saved data should be false in such cases, but might be a leftover capture object + // from an async native handler (gh-4350) + if ( !saved.length ) { + + // Store arguments for use when handling the inner native event + // There will always be at least one argument (an event object), so this array + // will not be confused with a leftover capture object. + saved = slice.call( arguments ); + dataPriv.set( this, type, saved ); + + // Trigger the native event and capture its result + // Support: IE <=9 - 11+ + // focus() and blur() are asynchronous + notAsync = expectSync( this, type ); + this[ type ](); + result = dataPriv.get( this, type ); + if ( saved !== result || notAsync ) { + dataPriv.set( this, type, false ); + } else { + result = {}; + } + if ( saved !== result ) { + + // Cancel the outer synthetic event + event.stopImmediatePropagation(); + event.preventDefault(); + + // Support: Chrome 86+ + // In Chrome, if an element having a focusout handler is blurred by + // clicking outside of it, it invokes the handler synchronously. If + // that handler calls `.remove()` on the element, the data is cleared, + // leaving `result` undefined. We need to guard against this. + return result && result.value; + } + + // If this is an inner synthetic event for an event with a bubbling surrogate + // (focus or blur), assume that the surrogate already propagated from triggering the + // native event and prevent that from happening again here. + // This technically gets the ordering wrong w.r.t. to `.trigger()` (in which the + // bubbling surrogate propagates *after* the non-bubbling base), but that seems + // less bad than duplication. + } else if ( ( jQuery.event.special[ type ] || {} ).delegateType ) { + event.stopPropagation(); + } + + // If this is a native event triggered above, everything is now in order + // Fire an inner synthetic event with the original arguments + } else if ( saved.length ) { + + // ...and capture the result + dataPriv.set( this, type, { + value: jQuery.event.trigger( + + // Support: IE <=9 - 11+ + // Extend with the prototype to reset the above stopImmediatePropagation() + jQuery.extend( saved[ 0 ], jQuery.Event.prototype ), + saved.slice( 1 ), + this + ) + } ); + + // Abort handling of the native event + event.stopImmediatePropagation(); + } + } + } ); +} + +jQuery.removeEvent = function( elem, type, handle ) { + + // This "if" is needed for plain objects + if ( elem.removeEventListener ) { + elem.removeEventListener( type, handle ); + } +}; + +jQuery.Event = function( src, props ) { + + // Allow instantiation without the 'new' keyword + if ( !( this instanceof jQuery.Event ) ) { + return new jQuery.Event( src, props ); + } + + // Event object + if ( src && src.type ) { + this.originalEvent = src; + this.type = src.type; + + // Events bubbling up the document may have been marked as prevented + // by a handler lower down the tree; reflect the correct value. + this.isDefaultPrevented = src.defaultPrevented || + src.defaultPrevented === undefined && + + // Support: Android <=2.3 only + src.returnValue === false ? + returnTrue : + returnFalse; + + // Create target properties + // Support: Safari <=6 - 7 only + // Target should not be a text node (#504, #13143) + this.target = ( src.target && src.target.nodeType === 3 ) ? + src.target.parentNode : + src.target; + + this.currentTarget = src.currentTarget; + this.relatedTarget = src.relatedTarget; + + // Event type + } else { + this.type = src; + } + + // Put explicitly provided properties onto the event object + if ( props ) { + jQuery.extend( this, props ); + } + + // Create a timestamp if incoming event doesn't have one + this.timeStamp = src && src.timeStamp || Date.now(); + + // Mark it as fixed + this[ jQuery.expando ] = true; +}; + +// jQuery.Event is based on DOM3 Events as specified by the ECMAScript Language Binding +// https://www.w3.org/TR/2003/WD-DOM-Level-3-Events-20030331/ecma-script-binding.html +jQuery.Event.prototype = { + constructor: jQuery.Event, + isDefaultPrevented: returnFalse, + isPropagationStopped: returnFalse, + isImmediatePropagationStopped: returnFalse, + isSimulated: false, + + preventDefault: function() { + var e = this.originalEvent; + + this.isDefaultPrevented = returnTrue; + + if ( e && !this.isSimulated ) { + e.preventDefault(); + } + }, + stopPropagation: function() { + var e = this.originalEvent; + + this.isPropagationStopped = returnTrue; + + if ( e && !this.isSimulated ) { + e.stopPropagation(); + } + }, + stopImmediatePropagation: function() { + var e = this.originalEvent; + + this.isImmediatePropagationStopped = returnTrue; + + if ( e && !this.isSimulated ) { + e.stopImmediatePropagation(); + } + + this.stopPropagation(); + } +}; + +// Includes all common event props including KeyEvent and MouseEvent specific props +jQuery.each( { + altKey: true, + bubbles: true, + cancelable: true, + changedTouches: true, + ctrlKey: true, + detail: true, + eventPhase: true, + metaKey: true, + pageX: true, + pageY: true, + shiftKey: true, + view: true, + "char": true, + code: true, + charCode: true, + key: true, + keyCode: true, + button: true, + buttons: true, + clientX: true, + clientY: true, + offsetX: true, + offsetY: true, + pointerId: true, + pointerType: true, + screenX: true, + screenY: true, + targetTouches: true, + toElement: true, + touches: true, + which: true +}, jQuery.event.addProp ); + +jQuery.each( { focus: "focusin", blur: "focusout" }, function( type, delegateType ) { + jQuery.event.special[ type ] = { + + // Utilize native event if possible so blur/focus sequence is correct + setup: function() { + + // Claim the first handler + // dataPriv.set( this, "focus", ... ) + // dataPriv.set( this, "blur", ... ) + leverageNative( this, type, expectSync ); + + // Return false to allow normal processing in the caller + return false; + }, + trigger: function() { + + // Force setup before trigger + leverageNative( this, type ); + + // Return non-false to allow normal event-path propagation + return true; + }, + + // Suppress native focus or blur as it's already being fired + // in leverageNative. + _default: function() { + return true; + }, + + delegateType: delegateType + }; +} ); + +// Create mouseenter/leave events using mouseover/out and event-time checks +// so that event delegation works in jQuery. +// Do the same for pointerenter/pointerleave and pointerover/pointerout +// +// Support: Safari 7 only +// Safari sends mouseenter too often; see: +// https://bugs.chromium.org/p/chromium/issues/detail?id=470258 +// for the description of the bug (it existed in older Chrome versions as well). +jQuery.each( { + mouseenter: "mouseover", + mouseleave: "mouseout", + pointerenter: "pointerover", + pointerleave: "pointerout" +}, function( orig, fix ) { + jQuery.event.special[ orig ] = { + delegateType: fix, + bindType: fix, + + handle: function( event ) { + var ret, + target = this, + related = event.relatedTarget, + handleObj = event.handleObj; + + // For mouseenter/leave call the handler if related is outside the target. + // NB: No relatedTarget if the mouse left/entered the browser window + if ( !related || ( related !== target && !jQuery.contains( target, related ) ) ) { + event.type = handleObj.origType; + ret = handleObj.handler.apply( this, arguments ); + event.type = fix; + } + return ret; + } + }; +} ); + +jQuery.fn.extend( { + + on: function( types, selector, data, fn ) { + return on( this, types, selector, data, fn ); + }, + one: function( types, selector, data, fn ) { + return on( this, types, selector, data, fn, 1 ); + }, + off: function( types, selector, fn ) { + var handleObj, type; + if ( types && types.preventDefault && types.handleObj ) { + + // ( event ) dispatched jQuery.Event + handleObj = types.handleObj; + jQuery( types.delegateTarget ).off( + handleObj.namespace ? + handleObj.origType + "." + handleObj.namespace : + handleObj.origType, + handleObj.selector, + handleObj.handler + ); + return this; + } + if ( typeof types === "object" ) { + + // ( types-object [, selector] ) + for ( type in types ) { + this.off( type, selector, types[ type ] ); + } + return this; + } + if ( selector === false || typeof selector === "function" ) { + + // ( types [, fn] ) + fn = selector; + selector = undefined; + } + if ( fn === false ) { + fn = returnFalse; + } + return this.each( function() { + jQuery.event.remove( this, types, fn, selector ); + } ); + } +} ); + + +var + + // Support: IE <=10 - 11, Edge 12 - 13 only + // In IE/Edge using regex groups here causes severe slowdowns. + // See https://connect.microsoft.com/IE/feedback/details/1736512/ + rnoInnerhtml = /<script|<style|<link/i, + + // checked="checked" or checked + rchecked = /checked\s*(?:[^=]|=\s*.checked.)/i, + rcleanScript = /^\s*<!(?:\[CDATA\[|--)|(?:\]\]|--)>\s*$/g; + +// Prefer a tbody over its parent table for containing new rows +function manipulationTarget( elem, content ) { + if ( nodeName( elem, "table" ) && + nodeName( content.nodeType !== 11 ? content : content.firstChild, "tr" ) ) { + + return jQuery( elem ).children( "tbody" )[ 0 ] || elem; + } + + return elem; +} + +// Replace/restore the type attribute of script elements for safe DOM manipulation +function disableScript( elem ) { + elem.type = ( elem.getAttribute( "type" ) !== null ) + "/" + elem.type; + return elem; +} +function restoreScript( elem ) { + if ( ( elem.type || "" ).slice( 0, 5 ) === "true/" ) { + elem.type = elem.type.slice( 5 ); + } else { + elem.removeAttribute( "type" ); + } + + return elem; +} + +function cloneCopyEvent( src, dest ) { + var i, l, type, pdataOld, udataOld, udataCur, events; + + if ( dest.nodeType !== 1 ) { + return; + } + + // 1. Copy private data: events, handlers, etc. + if ( dataPriv.hasData( src ) ) { + pdataOld = dataPriv.get( src ); + events = pdataOld.events; + + if ( events ) { + dataPriv.remove( dest, "handle events" ); + + for ( type in events ) { + for ( i = 0, l = events[ type ].length; i < l; i++ ) { + jQuery.event.add( dest, type, events[ type ][ i ] ); + } + } + } + } + + // 2. Copy user data + if ( dataUser.hasData( src ) ) { + udataOld = dataUser.access( src ); + udataCur = jQuery.extend( {}, udataOld ); + + dataUser.set( dest, udataCur ); + } +} + +// Fix IE bugs, see support tests +function fixInput( src, dest ) { + var nodeName = dest.nodeName.toLowerCase(); + + // Fails to persist the checked state of a cloned checkbox or radio button. + if ( nodeName === "input" && rcheckableType.test( src.type ) ) { + dest.checked = src.checked; + + // Fails to return the selected option to the default selected state when cloning options + } else if ( nodeName === "input" || nodeName === "textarea" ) { + dest.defaultValue = src.defaultValue; + } +} + +function domManip( collection, args, callback, ignored ) { + + // Flatten any nested arrays + args = flat( args ); + + var fragment, first, scripts, hasScripts, node, doc, + i = 0, + l = collection.length, + iNoClone = l - 1, + value = args[ 0 ], + valueIsFunction = isFunction( value ); + + // We can't cloneNode fragments that contain checked, in WebKit + if ( valueIsFunction || + ( l > 1 && typeof value === "string" && + !support.checkClone && rchecked.test( value ) ) ) { + return collection.each( function( index ) { + var self = collection.eq( index ); + if ( valueIsFunction ) { + args[ 0 ] = value.call( this, index, self.html() ); + } + domManip( self, args, callback, ignored ); + } ); + } + + if ( l ) { + fragment = buildFragment( args, collection[ 0 ].ownerDocument, false, collection, ignored ); + first = fragment.firstChild; + + if ( fragment.childNodes.length === 1 ) { + fragment = first; + } + + // Require either new content or an interest in ignored elements to invoke the callback + if ( first || ignored ) { + scripts = jQuery.map( getAll( fragment, "script" ), disableScript ); + hasScripts = scripts.length; + + // Use the original fragment for the last item + // instead of the first because it can end up + // being emptied incorrectly in certain situations (#8070). + for ( ; i < l; i++ ) { + node = fragment; + + if ( i !== iNoClone ) { + node = jQuery.clone( node, true, true ); + + // Keep references to cloned scripts for later restoration + if ( hasScripts ) { + + // Support: Android <=4.0 only, PhantomJS 1 only + // push.apply(_, arraylike) throws on ancient WebKit + jQuery.merge( scripts, getAll( node, "script" ) ); + } + } + + callback.call( collection[ i ], node, i ); + } + + if ( hasScripts ) { + doc = scripts[ scripts.length - 1 ].ownerDocument; + + // Reenable scripts + jQuery.map( scripts, restoreScript ); + + // Evaluate executable scripts on first document insertion + for ( i = 0; i < hasScripts; i++ ) { + node = scripts[ i ]; + if ( rscriptType.test( node.type || "" ) && + !dataPriv.access( node, "globalEval" ) && + jQuery.contains( doc, node ) ) { + + if ( node.src && ( node.type || "" ).toLowerCase() !== "module" ) { + + // Optional AJAX dependency, but won't run scripts if not present + if ( jQuery._evalUrl && !node.noModule ) { + jQuery._evalUrl( node.src, { + nonce: node.nonce || node.getAttribute( "nonce" ) + }, doc ); + } + } else { + DOMEval( node.textContent.replace( rcleanScript, "" ), node, doc ); + } + } + } + } + } + } + + return collection; +} + +function remove( elem, selector, keepData ) { + var node, + nodes = selector ? jQuery.filter( selector, elem ) : elem, + i = 0; + + for ( ; ( node = nodes[ i ] ) != null; i++ ) { + if ( !keepData && node.nodeType === 1 ) { + jQuery.cleanData( getAll( node ) ); + } + + if ( node.parentNode ) { + if ( keepData && isAttached( node ) ) { + setGlobalEval( getAll( node, "script" ) ); + } + node.parentNode.removeChild( node ); + } + } + + return elem; +} + +jQuery.extend( { + htmlPrefilter: function( html ) { + return html; + }, + + clone: function( elem, dataAndEvents, deepDataAndEvents ) { + var i, l, srcElements, destElements, + clone = elem.cloneNode( true ), + inPage = isAttached( elem ); + + // Fix IE cloning issues + if ( !support.noCloneChecked && ( elem.nodeType === 1 || elem.nodeType === 11 ) && + !jQuery.isXMLDoc( elem ) ) { + + // We eschew Sizzle here for performance reasons: https://jsperf.com/getall-vs-sizzle/2 + destElements = getAll( clone ); + srcElements = getAll( elem ); + + for ( i = 0, l = srcElements.length; i < l; i++ ) { + fixInput( srcElements[ i ], destElements[ i ] ); + } + } + + // Copy the events from the original to the clone + if ( dataAndEvents ) { + if ( deepDataAndEvents ) { + srcElements = srcElements || getAll( elem ); + destElements = destElements || getAll( clone ); + + for ( i = 0, l = srcElements.length; i < l; i++ ) { + cloneCopyEvent( srcElements[ i ], destElements[ i ] ); + } + } else { + cloneCopyEvent( elem, clone ); + } + } + + // Preserve script evaluation history + destElements = getAll( clone, "script" ); + if ( destElements.length > 0 ) { + setGlobalEval( destElements, !inPage && getAll( elem, "script" ) ); + } + + // Return the cloned set + return clone; + }, + + cleanData: function( elems ) { + var data, elem, type, + special = jQuery.event.special, + i = 0; + + for ( ; ( elem = elems[ i ] ) !== undefined; i++ ) { + if ( acceptData( elem ) ) { + if ( ( data = elem[ dataPriv.expando ] ) ) { + if ( data.events ) { + for ( type in data.events ) { + if ( special[ type ] ) { + jQuery.event.remove( elem, type ); + + // This is a shortcut to avoid jQuery.event.remove's overhead + } else { + jQuery.removeEvent( elem, type, data.handle ); + } + } + } + + // Support: Chrome <=35 - 45+ + // Assign undefined instead of using delete, see Data#remove + elem[ dataPriv.expando ] = undefined; + } + if ( elem[ dataUser.expando ] ) { + + // Support: Chrome <=35 - 45+ + // Assign undefined instead of using delete, see Data#remove + elem[ dataUser.expando ] = undefined; + } + } + } + } +} ); + +jQuery.fn.extend( { + detach: function( selector ) { + return remove( this, selector, true ); + }, + + remove: function( selector ) { + return remove( this, selector ); + }, + + text: function( value ) { + return access( this, function( value ) { + return value === undefined ? + jQuery.text( this ) : + this.empty().each( function() { + if ( this.nodeType === 1 || this.nodeType === 11 || this.nodeType === 9 ) { + this.textContent = value; + } + } ); + }, null, value, arguments.length ); + }, + + append: function() { + return domManip( this, arguments, function( elem ) { + if ( this.nodeType === 1 || this.nodeType === 11 || this.nodeType === 9 ) { + var target = manipulationTarget( this, elem ); + target.appendChild( elem ); + } + } ); + }, + + prepend: function() { + return domManip( this, arguments, function( elem ) { + if ( this.nodeType === 1 || this.nodeType === 11 || this.nodeType === 9 ) { + var target = manipulationTarget( this, elem ); + target.insertBefore( elem, target.firstChild ); + } + } ); + }, + + before: function() { + return domManip( this, arguments, function( elem ) { + if ( this.parentNode ) { + this.parentNode.insertBefore( elem, this ); + } + } ); + }, + + after: function() { + return domManip( this, arguments, function( elem ) { + if ( this.parentNode ) { + this.parentNode.insertBefore( elem, this.nextSibling ); + } + } ); + }, + + empty: function() { + var elem, + i = 0; + + for ( ; ( elem = this[ i ] ) != null; i++ ) { + if ( elem.nodeType === 1 ) { + + // Prevent memory leaks + jQuery.cleanData( getAll( elem, false ) ); + + // Remove any remaining nodes + elem.textContent = ""; + } + } + + return this; + }, + + clone: function( dataAndEvents, deepDataAndEvents ) { + dataAndEvents = dataAndEvents == null ? false : dataAndEvents; + deepDataAndEvents = deepDataAndEvents == null ? dataAndEvents : deepDataAndEvents; + + return this.map( function() { + return jQuery.clone( this, dataAndEvents, deepDataAndEvents ); + } ); + }, + + html: function( value ) { + return access( this, function( value ) { + var elem = this[ 0 ] || {}, + i = 0, + l = this.length; + + if ( value === undefined && elem.nodeType === 1 ) { + return elem.innerHTML; + } + + // See if we can take a shortcut and just use innerHTML + if ( typeof value === "string" && !rnoInnerhtml.test( value ) && + !wrapMap[ ( rtagName.exec( value ) || [ "", "" ] )[ 1 ].toLowerCase() ] ) { + + value = jQuery.htmlPrefilter( value ); + + try { + for ( ; i < l; i++ ) { + elem = this[ i ] || {}; + + // Remove element nodes and prevent memory leaks + if ( elem.nodeType === 1 ) { + jQuery.cleanData( getAll( elem, false ) ); + elem.innerHTML = value; + } + } + + elem = 0; + + // If using innerHTML throws an exception, use the fallback method + } catch ( e ) {} + } + + if ( elem ) { + this.empty().append( value ); + } + }, null, value, arguments.length ); + }, + + replaceWith: function() { + var ignored = []; + + // Make the changes, replacing each non-ignored context element with the new content + return domManip( this, arguments, function( elem ) { + var parent = this.parentNode; + + if ( jQuery.inArray( this, ignored ) < 0 ) { + jQuery.cleanData( getAll( this ) ); + if ( parent ) { + parent.replaceChild( elem, this ); + } + } + + // Force callback invocation + }, ignored ); + } +} ); + +jQuery.each( { + appendTo: "append", + prependTo: "prepend", + insertBefore: "before", + insertAfter: "after", + replaceAll: "replaceWith" +}, function( name, original ) { + jQuery.fn[ name ] = function( selector ) { + var elems, + ret = [], + insert = jQuery( selector ), + last = insert.length - 1, + i = 0; + + for ( ; i <= last; i++ ) { + elems = i === last ? this : this.clone( true ); + jQuery( insert[ i ] )[ original ]( elems ); + + // Support: Android <=4.0 only, PhantomJS 1 only + // .get() because push.apply(_, arraylike) throws on ancient WebKit + push.apply( ret, elems.get() ); + } + + return this.pushStack( ret ); + }; +} ); +var rnumnonpx = new RegExp( "^(" + pnum + ")(?!px)[a-z%]+$", "i" ); + +var getStyles = function( elem ) { + + // Support: IE <=11 only, Firefox <=30 (#15098, #14150) + // IE throws on elements created in popups + // FF meanwhile throws on frame elements through "defaultView.getComputedStyle" + var view = elem.ownerDocument.defaultView; + + if ( !view || !view.opener ) { + view = window; + } + + return view.getComputedStyle( elem ); + }; + +var swap = function( elem, options, callback ) { + var ret, name, + old = {}; + + // Remember the old values, and insert the new ones + for ( name in options ) { + old[ name ] = elem.style[ name ]; + elem.style[ name ] = options[ name ]; + } + + ret = callback.call( elem ); + + // Revert the old values + for ( name in options ) { + elem.style[ name ] = old[ name ]; + } + + return ret; +}; + + +var rboxStyle = new RegExp( cssExpand.join( "|" ), "i" ); + + + +( function() { + + // Executing both pixelPosition & boxSizingReliable tests require only one layout + // so they're executed at the same time to save the second computation. + function computeStyleTests() { + + // This is a singleton, we need to execute it only once + if ( !div ) { + return; + } + + container.style.cssText = "position:absolute;left:-11111px;width:60px;" + + "margin-top:1px;padding:0;border:0"; + div.style.cssText = + "position:relative;display:block;box-sizing:border-box;overflow:scroll;" + + "margin:auto;border:1px;padding:1px;" + + "width:60%;top:1%"; + documentElement.appendChild( container ).appendChild( div ); + + var divStyle = window.getComputedStyle( div ); + pixelPositionVal = divStyle.top !== "1%"; + + // Support: Android 4.0 - 4.3 only, Firefox <=3 - 44 + reliableMarginLeftVal = roundPixelMeasures( divStyle.marginLeft ) === 12; + + // Support: Android 4.0 - 4.3 only, Safari <=9.1 - 10.1, iOS <=7.0 - 9.3 + // Some styles come back with percentage values, even though they shouldn't + div.style.right = "60%"; + pixelBoxStylesVal = roundPixelMeasures( divStyle.right ) === 36; + + // Support: IE 9 - 11 only + // Detect misreporting of content dimensions for box-sizing:border-box elements + boxSizingReliableVal = roundPixelMeasures( divStyle.width ) === 36; + + // Support: IE 9 only + // Detect overflow:scroll screwiness (gh-3699) + // Support: Chrome <=64 + // Don't get tricked when zoom affects offsetWidth (gh-4029) + div.style.position = "absolute"; + scrollboxSizeVal = roundPixelMeasures( div.offsetWidth / 3 ) === 12; + + documentElement.removeChild( container ); + + // Nullify the div so it wouldn't be stored in the memory and + // it will also be a sign that checks already performed + div = null; + } + + function roundPixelMeasures( measure ) { + return Math.round( parseFloat( measure ) ); + } + + var pixelPositionVal, boxSizingReliableVal, scrollboxSizeVal, pixelBoxStylesVal, + reliableTrDimensionsVal, reliableMarginLeftVal, + container = document.createElement( "div" ), + div = document.createElement( "div" ); + + // Finish early in limited (non-browser) environments + if ( !div.style ) { + return; + } + + // Support: IE <=9 - 11 only + // Style of cloned element affects source element cloned (#8908) + div.style.backgroundClip = "content-box"; + div.cloneNode( true ).style.backgroundClip = ""; + support.clearCloneStyle = div.style.backgroundClip === "content-box"; + + jQuery.extend( support, { + boxSizingReliable: function() { + computeStyleTests(); + return boxSizingReliableVal; + }, + pixelBoxStyles: function() { + computeStyleTests(); + return pixelBoxStylesVal; + }, + pixelPosition: function() { + computeStyleTests(); + return pixelPositionVal; + }, + reliableMarginLeft: function() { + computeStyleTests(); + return reliableMarginLeftVal; + }, + scrollboxSize: function() { + computeStyleTests(); + return scrollboxSizeVal; + }, + + // Support: IE 9 - 11+, Edge 15 - 18+ + // IE/Edge misreport `getComputedStyle` of table rows with width/height + // set in CSS while `offset*` properties report correct values. + // Behavior in IE 9 is more subtle than in newer versions & it passes + // some versions of this test; make sure not to make it pass there! + // + // Support: Firefox 70+ + // Only Firefox includes border widths + // in computed dimensions. (gh-4529) + reliableTrDimensions: function() { + var table, tr, trChild, trStyle; + if ( reliableTrDimensionsVal == null ) { + table = document.createElement( "table" ); + tr = document.createElement( "tr" ); + trChild = document.createElement( "div" ); + + table.style.cssText = "position:absolute;left:-11111px;border-collapse:separate"; + tr.style.cssText = "border:1px solid"; + + // Support: Chrome 86+ + // Height set through cssText does not get applied. + // Computed height then comes back as 0. + tr.style.height = "1px"; + trChild.style.height = "9px"; + + // Support: Android 8 Chrome 86+ + // In our bodyBackground.html iframe, + // display for all div elements is set to "inline", + // which causes a problem only in Android 8 Chrome 86. + // Ensuring the div is display: block + // gets around this issue. + trChild.style.display = "block"; + + documentElement + .appendChild( table ) + .appendChild( tr ) + .appendChild( trChild ); + + trStyle = window.getComputedStyle( tr ); + reliableTrDimensionsVal = ( parseInt( trStyle.height, 10 ) + + parseInt( trStyle.borderTopWidth, 10 ) + + parseInt( trStyle.borderBottomWidth, 10 ) ) === tr.offsetHeight; + + documentElement.removeChild( table ); + } + return reliableTrDimensionsVal; + } + } ); +} )(); + + +function curCSS( elem, name, computed ) { + var width, minWidth, maxWidth, ret, + + // Support: Firefox 51+ + // Retrieving style before computed somehow + // fixes an issue with getting wrong values + // on detached elements + style = elem.style; + + computed = computed || getStyles( elem ); + + // getPropertyValue is needed for: + // .css('filter') (IE 9 only, #12537) + // .css('--customProperty) (#3144) + if ( computed ) { + ret = computed.getPropertyValue( name ) || computed[ name ]; + + if ( ret === "" && !isAttached( elem ) ) { + ret = jQuery.style( elem, name ); + } + + // A tribute to the "awesome hack by Dean Edwards" + // Android Browser returns percentage for some values, + // but width seems to be reliably pixels. + // This is against the CSSOM draft spec: + // https://drafts.csswg.org/cssom/#resolved-values + if ( !support.pixelBoxStyles() && rnumnonpx.test( ret ) && rboxStyle.test( name ) ) { + + // Remember the original values + width = style.width; + minWidth = style.minWidth; + maxWidth = style.maxWidth; + + // Put in the new values to get a computed value out + style.minWidth = style.maxWidth = style.width = ret; + ret = computed.width; + + // Revert the changed values + style.width = width; + style.minWidth = minWidth; + style.maxWidth = maxWidth; + } + } + + return ret !== undefined ? + + // Support: IE <=9 - 11 only + // IE returns zIndex value as an integer. + ret + "" : + ret; +} + + +function addGetHookIf( conditionFn, hookFn ) { + + // Define the hook, we'll check on the first run if it's really needed. + return { + get: function() { + if ( conditionFn() ) { + + // Hook not needed (or it's not possible to use it due + // to missing dependency), remove it. + delete this.get; + return; + } + + // Hook needed; redefine it so that the support test is not executed again. + return ( this.get = hookFn ).apply( this, arguments ); + } + }; +} + + +var cssPrefixes = [ "Webkit", "Moz", "ms" ], + emptyStyle = document.createElement( "div" ).style, + vendorProps = {}; + +// Return a vendor-prefixed property or undefined +function vendorPropName( name ) { + + // Check for vendor prefixed names + var capName = name[ 0 ].toUpperCase() + name.slice( 1 ), + i = cssPrefixes.length; + + while ( i-- ) { + name = cssPrefixes[ i ] + capName; + if ( name in emptyStyle ) { + return name; + } + } +} + +// Return a potentially-mapped jQuery.cssProps or vendor prefixed property +function finalPropName( name ) { + var final = jQuery.cssProps[ name ] || vendorProps[ name ]; + + if ( final ) { + return final; + } + if ( name in emptyStyle ) { + return name; + } + return vendorProps[ name ] = vendorPropName( name ) || name; +} + + +var + + // Swappable if display is none or starts with table + // except "table", "table-cell", or "table-caption" + // See here for display values: https://developer.mozilla.org/en-US/docs/CSS/display + rdisplayswap = /^(none|table(?!-c[ea]).+)/, + rcustomProp = /^--/, + cssShow = { position: "absolute", visibility: "hidden", display: "block" }, + cssNormalTransform = { + letterSpacing: "0", + fontWeight: "400" + }; + +function setPositiveNumber( _elem, value, subtract ) { + + // Any relative (+/-) values have already been + // normalized at this point + var matches = rcssNum.exec( value ); + return matches ? + + // Guard against undefined "subtract", e.g., when used as in cssHooks + Math.max( 0, matches[ 2 ] - ( subtract || 0 ) ) + ( matches[ 3 ] || "px" ) : + value; +} + +function boxModelAdjustment( elem, dimension, box, isBorderBox, styles, computedVal ) { + var i = dimension === "width" ? 1 : 0, + extra = 0, + delta = 0; + + // Adjustment may not be necessary + if ( box === ( isBorderBox ? "border" : "content" ) ) { + return 0; + } + + for ( ; i < 4; i += 2 ) { + + // Both box models exclude margin + if ( box === "margin" ) { + delta += jQuery.css( elem, box + cssExpand[ i ], true, styles ); + } + + // If we get here with a content-box, we're seeking "padding" or "border" or "margin" + if ( !isBorderBox ) { + + // Add padding + delta += jQuery.css( elem, "padding" + cssExpand[ i ], true, styles ); + + // For "border" or "margin", add border + if ( box !== "padding" ) { + delta += jQuery.css( elem, "border" + cssExpand[ i ] + "Width", true, styles ); + + // But still keep track of it otherwise + } else { + extra += jQuery.css( elem, "border" + cssExpand[ i ] + "Width", true, styles ); + } + + // If we get here with a border-box (content + padding + border), we're seeking "content" or + // "padding" or "margin" + } else { + + // For "content", subtract padding + if ( box === "content" ) { + delta -= jQuery.css( elem, "padding" + cssExpand[ i ], true, styles ); + } + + // For "content" or "padding", subtract border + if ( box !== "margin" ) { + delta -= jQuery.css( elem, "border" + cssExpand[ i ] + "Width", true, styles ); + } + } + } + + // Account for positive content-box scroll gutter when requested by providing computedVal + if ( !isBorderBox && computedVal >= 0 ) { + + // offsetWidth/offsetHeight is a rounded sum of content, padding, scroll gutter, and border + // Assuming integer scroll gutter, subtract the rest and round down + delta += Math.max( 0, Math.ceil( + elem[ "offset" + dimension[ 0 ].toUpperCase() + dimension.slice( 1 ) ] - + computedVal - + delta - + extra - + 0.5 + + // If offsetWidth/offsetHeight is unknown, then we can't determine content-box scroll gutter + // Use an explicit zero to avoid NaN (gh-3964) + ) ) || 0; + } + + return delta; +} + +function getWidthOrHeight( elem, dimension, extra ) { + + // Start with computed style + var styles = getStyles( elem ), + + // To avoid forcing a reflow, only fetch boxSizing if we need it (gh-4322). + // Fake content-box until we know it's needed to know the true value. + boxSizingNeeded = !support.boxSizingReliable() || extra, + isBorderBox = boxSizingNeeded && + jQuery.css( elem, "boxSizing", false, styles ) === "border-box", + valueIsBorderBox = isBorderBox, + + val = curCSS( elem, dimension, styles ), + offsetProp = "offset" + dimension[ 0 ].toUpperCase() + dimension.slice( 1 ); + + // Support: Firefox <=54 + // Return a confounding non-pixel value or feign ignorance, as appropriate. + if ( rnumnonpx.test( val ) ) { + if ( !extra ) { + return val; + } + val = "auto"; + } + + + // Support: IE 9 - 11 only + // Use offsetWidth/offsetHeight for when box sizing is unreliable. + // In those cases, the computed value can be trusted to be border-box. + if ( ( !support.boxSizingReliable() && isBorderBox || + + // Support: IE 10 - 11+, Edge 15 - 18+ + // IE/Edge misreport `getComputedStyle` of table rows with width/height + // set in CSS while `offset*` properties report correct values. + // Interestingly, in some cases IE 9 doesn't suffer from this issue. + !support.reliableTrDimensions() && nodeName( elem, "tr" ) || + + // Fall back to offsetWidth/offsetHeight when value is "auto" + // This happens for inline elements with no explicit setting (gh-3571) + val === "auto" || + + // Support: Android <=4.1 - 4.3 only + // Also use offsetWidth/offsetHeight for misreported inline dimensions (gh-3602) + !parseFloat( val ) && jQuery.css( elem, "display", false, styles ) === "inline" ) && + + // Make sure the element is visible & connected + elem.getClientRects().length ) { + + isBorderBox = jQuery.css( elem, "boxSizing", false, styles ) === "border-box"; + + // Where available, offsetWidth/offsetHeight approximate border box dimensions. + // Where not available (e.g., SVG), assume unreliable box-sizing and interpret the + // retrieved value as a content box dimension. + valueIsBorderBox = offsetProp in elem; + if ( valueIsBorderBox ) { + val = elem[ offsetProp ]; + } + } + + // Normalize "" and auto + val = parseFloat( val ) || 0; + + // Adjust for the element's box model + return ( val + + boxModelAdjustment( + elem, + dimension, + extra || ( isBorderBox ? "border" : "content" ), + valueIsBorderBox, + styles, + + // Provide the current computed size to request scroll gutter calculation (gh-3589) + val + ) + ) + "px"; +} + +jQuery.extend( { + + // Add in style property hooks for overriding the default + // behavior of getting and setting a style property + cssHooks: { + opacity: { + get: function( elem, computed ) { + if ( computed ) { + + // We should always get a number back from opacity + var ret = curCSS( elem, "opacity" ); + return ret === "" ? "1" : ret; + } + } + } + }, + + // Don't automatically add "px" to these possibly-unitless properties + cssNumber: { + "animationIterationCount": true, + "columnCount": true, + "fillOpacity": true, + "flexGrow": true, + "flexShrink": true, + "fontWeight": true, + "gridArea": true, + "gridColumn": true, + "gridColumnEnd": true, + "gridColumnStart": true, + "gridRow": true, + "gridRowEnd": true, + "gridRowStart": true, + "lineHeight": true, + "opacity": true, + "order": true, + "orphans": true, + "widows": true, + "zIndex": true, + "zoom": true + }, + + // Add in properties whose names you wish to fix before + // setting or getting the value + cssProps: {}, + + // Get and set the style property on a DOM Node + style: function( elem, name, value, extra ) { + + // Don't set styles on text and comment nodes + if ( !elem || elem.nodeType === 3 || elem.nodeType === 8 || !elem.style ) { + return; + } + + // Make sure that we're working with the right name + var ret, type, hooks, + origName = camelCase( name ), + isCustomProp = rcustomProp.test( name ), + style = elem.style; + + // Make sure that we're working with the right name. We don't + // want to query the value if it is a CSS custom property + // since they are user-defined. + if ( !isCustomProp ) { + name = finalPropName( origName ); + } + + // Gets hook for the prefixed version, then unprefixed version + hooks = jQuery.cssHooks[ name ] || jQuery.cssHooks[ origName ]; + + // Check if we're setting a value + if ( value !== undefined ) { + type = typeof value; + + // Convert "+=" or "-=" to relative numbers (#7345) + if ( type === "string" && ( ret = rcssNum.exec( value ) ) && ret[ 1 ] ) { + value = adjustCSS( elem, name, ret ); + + // Fixes bug #9237 + type = "number"; + } + + // Make sure that null and NaN values aren't set (#7116) + if ( value == null || value !== value ) { + return; + } + + // If a number was passed in, add the unit (except for certain CSS properties) + // The isCustomProp check can be removed in jQuery 4.0 when we only auto-append + // "px" to a few hardcoded values. + if ( type === "number" && !isCustomProp ) { + value += ret && ret[ 3 ] || ( jQuery.cssNumber[ origName ] ? "" : "px" ); + } + + // background-* props affect original clone's values + if ( !support.clearCloneStyle && value === "" && name.indexOf( "background" ) === 0 ) { + style[ name ] = "inherit"; + } + + // If a hook was provided, use that value, otherwise just set the specified value + if ( !hooks || !( "set" in hooks ) || + ( value = hooks.set( elem, value, extra ) ) !== undefined ) { + + if ( isCustomProp ) { + style.setProperty( name, value ); + } else { + style[ name ] = value; + } + } + + } else { + + // If a hook was provided get the non-computed value from there + if ( hooks && "get" in hooks && + ( ret = hooks.get( elem, false, extra ) ) !== undefined ) { + + return ret; + } + + // Otherwise just get the value from the style object + return style[ name ]; + } + }, + + css: function( elem, name, extra, styles ) { + var val, num, hooks, + origName = camelCase( name ), + isCustomProp = rcustomProp.test( name ); + + // Make sure that we're working with the right name. We don't + // want to modify the value if it is a CSS custom property + // since they are user-defined. + if ( !isCustomProp ) { + name = finalPropName( origName ); + } + + // Try prefixed name followed by the unprefixed name + hooks = jQuery.cssHooks[ name ] || jQuery.cssHooks[ origName ]; + + // If a hook was provided get the computed value from there + if ( hooks && "get" in hooks ) { + val = hooks.get( elem, true, extra ); + } + + // Otherwise, if a way to get the computed value exists, use that + if ( val === undefined ) { + val = curCSS( elem, name, styles ); + } + + // Convert "normal" to computed value + if ( val === "normal" && name in cssNormalTransform ) { + val = cssNormalTransform[ name ]; + } + + // Make numeric if forced or a qualifier was provided and val looks numeric + if ( extra === "" || extra ) { + num = parseFloat( val ); + return extra === true || isFinite( num ) ? num || 0 : val; + } + + return val; + } +} ); + +jQuery.each( [ "height", "width" ], function( _i, dimension ) { + jQuery.cssHooks[ dimension ] = { + get: function( elem, computed, extra ) { + if ( computed ) { + + // Certain elements can have dimension info if we invisibly show them + // but it must have a current display style that would benefit + return rdisplayswap.test( jQuery.css( elem, "display" ) ) && + + // Support: Safari 8+ + // Table columns in Safari have non-zero offsetWidth & zero + // getBoundingClientRect().width unless display is changed. + // Support: IE <=11 only + // Running getBoundingClientRect on a disconnected node + // in IE throws an error. + ( !elem.getClientRects().length || !elem.getBoundingClientRect().width ) ? + swap( elem, cssShow, function() { + return getWidthOrHeight( elem, dimension, extra ); + } ) : + getWidthOrHeight( elem, dimension, extra ); + } + }, + + set: function( elem, value, extra ) { + var matches, + styles = getStyles( elem ), + + // Only read styles.position if the test has a chance to fail + // to avoid forcing a reflow. + scrollboxSizeBuggy = !support.scrollboxSize() && + styles.position === "absolute", + + // To avoid forcing a reflow, only fetch boxSizing if we need it (gh-3991) + boxSizingNeeded = scrollboxSizeBuggy || extra, + isBorderBox = boxSizingNeeded && + jQuery.css( elem, "boxSizing", false, styles ) === "border-box", + subtract = extra ? + boxModelAdjustment( + elem, + dimension, + extra, + isBorderBox, + styles + ) : + 0; + + // Account for unreliable border-box dimensions by comparing offset* to computed and + // faking a content-box to get border and padding (gh-3699) + if ( isBorderBox && scrollboxSizeBuggy ) { + subtract -= Math.ceil( + elem[ "offset" + dimension[ 0 ].toUpperCase() + dimension.slice( 1 ) ] - + parseFloat( styles[ dimension ] ) - + boxModelAdjustment( elem, dimension, "border", false, styles ) - + 0.5 + ); + } + + // Convert to pixels if value adjustment is needed + if ( subtract && ( matches = rcssNum.exec( value ) ) && + ( matches[ 3 ] || "px" ) !== "px" ) { + + elem.style[ dimension ] = value; + value = jQuery.css( elem, dimension ); + } + + return setPositiveNumber( elem, value, subtract ); + } + }; +} ); + +jQuery.cssHooks.marginLeft = addGetHookIf( support.reliableMarginLeft, + function( elem, computed ) { + if ( computed ) { + return ( parseFloat( curCSS( elem, "marginLeft" ) ) || + elem.getBoundingClientRect().left - + swap( elem, { marginLeft: 0 }, function() { + return elem.getBoundingClientRect().left; + } ) + ) + "px"; + } + } +); + +// These hooks are used by animate to expand properties +jQuery.each( { + margin: "", + padding: "", + border: "Width" +}, function( prefix, suffix ) { + jQuery.cssHooks[ prefix + suffix ] = { + expand: function( value ) { + var i = 0, + expanded = {}, + + // Assumes a single number if not a string + parts = typeof value === "string" ? value.split( " " ) : [ value ]; + + for ( ; i < 4; i++ ) { + expanded[ prefix + cssExpand[ i ] + suffix ] = + parts[ i ] || parts[ i - 2 ] || parts[ 0 ]; + } + + return expanded; + } + }; + + if ( prefix !== "margin" ) { + jQuery.cssHooks[ prefix + suffix ].set = setPositiveNumber; + } +} ); + +jQuery.fn.extend( { + css: function( name, value ) { + return access( this, function( elem, name, value ) { + var styles, len, + map = {}, + i = 0; + + if ( Array.isArray( name ) ) { + styles = getStyles( elem ); + len = name.length; + + for ( ; i < len; i++ ) { + map[ name[ i ] ] = jQuery.css( elem, name[ i ], false, styles ); + } + + return map; + } + + return value !== undefined ? + jQuery.style( elem, name, value ) : + jQuery.css( elem, name ); + }, name, value, arguments.length > 1 ); + } +} ); + + +function Tween( elem, options, prop, end, easing ) { + return new Tween.prototype.init( elem, options, prop, end, easing ); +} +jQuery.Tween = Tween; + +Tween.prototype = { + constructor: Tween, + init: function( elem, options, prop, end, easing, unit ) { + this.elem = elem; + this.prop = prop; + this.easing = easing || jQuery.easing._default; + this.options = options; + this.start = this.now = this.cur(); + this.end = end; + this.unit = unit || ( jQuery.cssNumber[ prop ] ? "" : "px" ); + }, + cur: function() { + var hooks = Tween.propHooks[ this.prop ]; + + return hooks && hooks.get ? + hooks.get( this ) : + Tween.propHooks._default.get( this ); + }, + run: function( percent ) { + var eased, + hooks = Tween.propHooks[ this.prop ]; + + if ( this.options.duration ) { + this.pos = eased = jQuery.easing[ this.easing ]( + percent, this.options.duration * percent, 0, 1, this.options.duration + ); + } else { + this.pos = eased = percent; + } + this.now = ( this.end - this.start ) * eased + this.start; + + if ( this.options.step ) { + this.options.step.call( this.elem, this.now, this ); + } + + if ( hooks && hooks.set ) { + hooks.set( this ); + } else { + Tween.propHooks._default.set( this ); + } + return this; + } +}; + +Tween.prototype.init.prototype = Tween.prototype; + +Tween.propHooks = { + _default: { + get: function( tween ) { + var result; + + // Use a property on the element directly when it is not a DOM element, + // or when there is no matching style property that exists. + if ( tween.elem.nodeType !== 1 || + tween.elem[ tween.prop ] != null && tween.elem.style[ tween.prop ] == null ) { + return tween.elem[ tween.prop ]; + } + + // Passing an empty string as a 3rd parameter to .css will automatically + // attempt a parseFloat and fallback to a string if the parse fails. + // Simple values such as "10px" are parsed to Float; + // complex values such as "rotate(1rad)" are returned as-is. + result = jQuery.css( tween.elem, tween.prop, "" ); + + // Empty strings, null, undefined and "auto" are converted to 0. + return !result || result === "auto" ? 0 : result; + }, + set: function( tween ) { + + // Use step hook for back compat. + // Use cssHook if its there. + // Use .style if available and use plain properties where available. + if ( jQuery.fx.step[ tween.prop ] ) { + jQuery.fx.step[ tween.prop ]( tween ); + } else if ( tween.elem.nodeType === 1 && ( + jQuery.cssHooks[ tween.prop ] || + tween.elem.style[ finalPropName( tween.prop ) ] != null ) ) { + jQuery.style( tween.elem, tween.prop, tween.now + tween.unit ); + } else { + tween.elem[ tween.prop ] = tween.now; + } + } + } +}; + +// Support: IE <=9 only +// Panic based approach to setting things on disconnected nodes +Tween.propHooks.scrollTop = Tween.propHooks.scrollLeft = { + set: function( tween ) { + if ( tween.elem.nodeType && tween.elem.parentNode ) { + tween.elem[ tween.prop ] = tween.now; + } + } +}; + +jQuery.easing = { + linear: function( p ) { + return p; + }, + swing: function( p ) { + return 0.5 - Math.cos( p * Math.PI ) / 2; + }, + _default: "swing" +}; + +jQuery.fx = Tween.prototype.init; + +// Back compat <1.8 extension point +jQuery.fx.step = {}; + + + + +var + fxNow, inProgress, + rfxtypes = /^(?:toggle|show|hide)$/, + rrun = /queueHooks$/; + +function schedule() { + if ( inProgress ) { + if ( document.hidden === false && window.requestAnimationFrame ) { + window.requestAnimationFrame( schedule ); + } else { + window.setTimeout( schedule, jQuery.fx.interval ); + } + + jQuery.fx.tick(); + } +} + +// Animations created synchronously will run synchronously +function createFxNow() { + window.setTimeout( function() { + fxNow = undefined; + } ); + return ( fxNow = Date.now() ); +} + +// Generate parameters to create a standard animation +function genFx( type, includeWidth ) { + var which, + i = 0, + attrs = { height: type }; + + // If we include width, step value is 1 to do all cssExpand values, + // otherwise step value is 2 to skip over Left and Right + includeWidth = includeWidth ? 1 : 0; + for ( ; i < 4; i += 2 - includeWidth ) { + which = cssExpand[ i ]; + attrs[ "margin" + which ] = attrs[ "padding" + which ] = type; + } + + if ( includeWidth ) { + attrs.opacity = attrs.width = type; + } + + return attrs; +} + +function createTween( value, prop, animation ) { + var tween, + collection = ( Animation.tweeners[ prop ] || [] ).concat( Animation.tweeners[ "*" ] ), + index = 0, + length = collection.length; + for ( ; index < length; index++ ) { + if ( ( tween = collection[ index ].call( animation, prop, value ) ) ) { + + // We're done with this property + return tween; + } + } +} + +function defaultPrefilter( elem, props, opts ) { + var prop, value, toggle, hooks, oldfire, propTween, restoreDisplay, display, + isBox = "width" in props || "height" in props, + anim = this, + orig = {}, + style = elem.style, + hidden = elem.nodeType && isHiddenWithinTree( elem ), + dataShow = dataPriv.get( elem, "fxshow" ); + + // Queue-skipping animations hijack the fx hooks + if ( !opts.queue ) { + hooks = jQuery._queueHooks( elem, "fx" ); + if ( hooks.unqueued == null ) { + hooks.unqueued = 0; + oldfire = hooks.empty.fire; + hooks.empty.fire = function() { + if ( !hooks.unqueued ) { + oldfire(); + } + }; + } + hooks.unqueued++; + + anim.always( function() { + + // Ensure the complete handler is called before this completes + anim.always( function() { + hooks.unqueued--; + if ( !jQuery.queue( elem, "fx" ).length ) { + hooks.empty.fire(); + } + } ); + } ); + } + + // Detect show/hide animations + for ( prop in props ) { + value = props[ prop ]; + if ( rfxtypes.test( value ) ) { + delete props[ prop ]; + toggle = toggle || value === "toggle"; + if ( value === ( hidden ? "hide" : "show" ) ) { + + // Pretend to be hidden if this is a "show" and + // there is still data from a stopped show/hide + if ( value === "show" && dataShow && dataShow[ prop ] !== undefined ) { + hidden = true; + + // Ignore all other no-op show/hide data + } else { + continue; + } + } + orig[ prop ] = dataShow && dataShow[ prop ] || jQuery.style( elem, prop ); + } + } + + // Bail out if this is a no-op like .hide().hide() + propTween = !jQuery.isEmptyObject( props ); + if ( !propTween && jQuery.isEmptyObject( orig ) ) { + return; + } + + // Restrict "overflow" and "display" styles during box animations + if ( isBox && elem.nodeType === 1 ) { + + // Support: IE <=9 - 11, Edge 12 - 15 + // Record all 3 overflow attributes because IE does not infer the shorthand + // from identically-valued overflowX and overflowY and Edge just mirrors + // the overflowX value there. + opts.overflow = [ style.overflow, style.overflowX, style.overflowY ]; + + // Identify a display type, preferring old show/hide data over the CSS cascade + restoreDisplay = dataShow && dataShow.display; + if ( restoreDisplay == null ) { + restoreDisplay = dataPriv.get( elem, "display" ); + } + display = jQuery.css( elem, "display" ); + if ( display === "none" ) { + if ( restoreDisplay ) { + display = restoreDisplay; + } else { + + // Get nonempty value(s) by temporarily forcing visibility + showHide( [ elem ], true ); + restoreDisplay = elem.style.display || restoreDisplay; + display = jQuery.css( elem, "display" ); + showHide( [ elem ] ); + } + } + + // Animate inline elements as inline-block + if ( display === "inline" || display === "inline-block" && restoreDisplay != null ) { + if ( jQuery.css( elem, "float" ) === "none" ) { + + // Restore the original display value at the end of pure show/hide animations + if ( !propTween ) { + anim.done( function() { + style.display = restoreDisplay; + } ); + if ( restoreDisplay == null ) { + display = style.display; + restoreDisplay = display === "none" ? "" : display; + } + } + style.display = "inline-block"; + } + } + } + + if ( opts.overflow ) { + style.overflow = "hidden"; + anim.always( function() { + style.overflow = opts.overflow[ 0 ]; + style.overflowX = opts.overflow[ 1 ]; + style.overflowY = opts.overflow[ 2 ]; + } ); + } + + // Implement show/hide animations + propTween = false; + for ( prop in orig ) { + + // General show/hide setup for this element animation + if ( !propTween ) { + if ( dataShow ) { + if ( "hidden" in dataShow ) { + hidden = dataShow.hidden; + } + } else { + dataShow = dataPriv.access( elem, "fxshow", { display: restoreDisplay } ); + } + + // Store hidden/visible for toggle so `.stop().toggle()` "reverses" + if ( toggle ) { + dataShow.hidden = !hidden; + } + + // Show elements before animating them + if ( hidden ) { + showHide( [ elem ], true ); + } + + /* eslint-disable no-loop-func */ + + anim.done( function() { + + /* eslint-enable no-loop-func */ + + // The final step of a "hide" animation is actually hiding the element + if ( !hidden ) { + showHide( [ elem ] ); + } + dataPriv.remove( elem, "fxshow" ); + for ( prop in orig ) { + jQuery.style( elem, prop, orig[ prop ] ); + } + } ); + } + + // Per-property setup + propTween = createTween( hidden ? dataShow[ prop ] : 0, prop, anim ); + if ( !( prop in dataShow ) ) { + dataShow[ prop ] = propTween.start; + if ( hidden ) { + propTween.end = propTween.start; + propTween.start = 0; + } + } + } +} + +function propFilter( props, specialEasing ) { + var index, name, easing, value, hooks; + + // camelCase, specialEasing and expand cssHook pass + for ( index in props ) { + name = camelCase( index ); + easing = specialEasing[ name ]; + value = props[ index ]; + if ( Array.isArray( value ) ) { + easing = value[ 1 ]; + value = props[ index ] = value[ 0 ]; + } + + if ( index !== name ) { + props[ name ] = value; + delete props[ index ]; + } + + hooks = jQuery.cssHooks[ name ]; + if ( hooks && "expand" in hooks ) { + value = hooks.expand( value ); + delete props[ name ]; + + // Not quite $.extend, this won't overwrite existing keys. + // Reusing 'index' because we have the correct "name" + for ( index in value ) { + if ( !( index in props ) ) { + props[ index ] = value[ index ]; + specialEasing[ index ] = easing; + } + } + } else { + specialEasing[ name ] = easing; + } + } +} + +function Animation( elem, properties, options ) { + var result, + stopped, + index = 0, + length = Animation.prefilters.length, + deferred = jQuery.Deferred().always( function() { + + // Don't match elem in the :animated selector + delete tick.elem; + } ), + tick = function() { + if ( stopped ) { + return false; + } + var currentTime = fxNow || createFxNow(), + remaining = Math.max( 0, animation.startTime + animation.duration - currentTime ), + + // Support: Android 2.3 only + // Archaic crash bug won't allow us to use `1 - ( 0.5 || 0 )` (#12497) + temp = remaining / animation.duration || 0, + percent = 1 - temp, + index = 0, + length = animation.tweens.length; + + for ( ; index < length; index++ ) { + animation.tweens[ index ].run( percent ); + } + + deferred.notifyWith( elem, [ animation, percent, remaining ] ); + + // If there's more to do, yield + if ( percent < 1 && length ) { + return remaining; + } + + // If this was an empty animation, synthesize a final progress notification + if ( !length ) { + deferred.notifyWith( elem, [ animation, 1, 0 ] ); + } + + // Resolve the animation and report its conclusion + deferred.resolveWith( elem, [ animation ] ); + return false; + }, + animation = deferred.promise( { + elem: elem, + props: jQuery.extend( {}, properties ), + opts: jQuery.extend( true, { + specialEasing: {}, + easing: jQuery.easing._default + }, options ), + originalProperties: properties, + originalOptions: options, + startTime: fxNow || createFxNow(), + duration: options.duration, + tweens: [], + createTween: function( prop, end ) { + var tween = jQuery.Tween( elem, animation.opts, prop, end, + animation.opts.specialEasing[ prop ] || animation.opts.easing ); + animation.tweens.push( tween ); + return tween; + }, + stop: function( gotoEnd ) { + var index = 0, + + // If we are going to the end, we want to run all the tweens + // otherwise we skip this part + length = gotoEnd ? animation.tweens.length : 0; + if ( stopped ) { + return this; + } + stopped = true; + for ( ; index < length; index++ ) { + animation.tweens[ index ].run( 1 ); + } + + // Resolve when we played the last frame; otherwise, reject + if ( gotoEnd ) { + deferred.notifyWith( elem, [ animation, 1, 0 ] ); + deferred.resolveWith( elem, [ animation, gotoEnd ] ); + } else { + deferred.rejectWith( elem, [ animation, gotoEnd ] ); + } + return this; + } + } ), + props = animation.props; + + propFilter( props, animation.opts.specialEasing ); + + for ( ; index < length; index++ ) { + result = Animation.prefilters[ index ].call( animation, elem, props, animation.opts ); + if ( result ) { + if ( isFunction( result.stop ) ) { + jQuery._queueHooks( animation.elem, animation.opts.queue ).stop = + result.stop.bind( result ); + } + return result; + } + } + + jQuery.map( props, createTween, animation ); + + if ( isFunction( animation.opts.start ) ) { + animation.opts.start.call( elem, animation ); + } + + // Attach callbacks from options + animation + .progress( animation.opts.progress ) + .done( animation.opts.done, animation.opts.complete ) + .fail( animation.opts.fail ) + .always( animation.opts.always ); + + jQuery.fx.timer( + jQuery.extend( tick, { + elem: elem, + anim: animation, + queue: animation.opts.queue + } ) + ); + + return animation; +} + +jQuery.Animation = jQuery.extend( Animation, { + + tweeners: { + "*": [ function( prop, value ) { + var tween = this.createTween( prop, value ); + adjustCSS( tween.elem, prop, rcssNum.exec( value ), tween ); + return tween; + } ] + }, + + tweener: function( props, callback ) { + if ( isFunction( props ) ) { + callback = props; + props = [ "*" ]; + } else { + props = props.match( rnothtmlwhite ); + } + + var prop, + index = 0, + length = props.length; + + for ( ; index < length; index++ ) { + prop = props[ index ]; + Animation.tweeners[ prop ] = Animation.tweeners[ prop ] || []; + Animation.tweeners[ prop ].unshift( callback ); + } + }, + + prefilters: [ defaultPrefilter ], + + prefilter: function( callback, prepend ) { + if ( prepend ) { + Animation.prefilters.unshift( callback ); + } else { + Animation.prefilters.push( callback ); + } + } +} ); + +jQuery.speed = function( speed, easing, fn ) { + var opt = speed && typeof speed === "object" ? jQuery.extend( {}, speed ) : { + complete: fn || !fn && easing || + isFunction( speed ) && speed, + duration: speed, + easing: fn && easing || easing && !isFunction( easing ) && easing + }; + + // Go to the end state if fx are off + if ( jQuery.fx.off ) { + opt.duration = 0; + + } else { + if ( typeof opt.duration !== "number" ) { + if ( opt.duration in jQuery.fx.speeds ) { + opt.duration = jQuery.fx.speeds[ opt.duration ]; + + } else { + opt.duration = jQuery.fx.speeds._default; + } + } + } + + // Normalize opt.queue - true/undefined/null -> "fx" + if ( opt.queue == null || opt.queue === true ) { + opt.queue = "fx"; + } + + // Queueing + opt.old = opt.complete; + + opt.complete = function() { + if ( isFunction( opt.old ) ) { + opt.old.call( this ); + } + + if ( opt.queue ) { + jQuery.dequeue( this, opt.queue ); + } + }; + + return opt; +}; + +jQuery.fn.extend( { + fadeTo: function( speed, to, easing, callback ) { + + // Show any hidden elements after setting opacity to 0 + return this.filter( isHiddenWithinTree ).css( "opacity", 0 ).show() + + // Animate to the value specified + .end().animate( { opacity: to }, speed, easing, callback ); + }, + animate: function( prop, speed, easing, callback ) { + var empty = jQuery.isEmptyObject( prop ), + optall = jQuery.speed( speed, easing, callback ), + doAnimation = function() { + + // Operate on a copy of prop so per-property easing won't be lost + var anim = Animation( this, jQuery.extend( {}, prop ), optall ); + + // Empty animations, or finishing resolves immediately + if ( empty || dataPriv.get( this, "finish" ) ) { + anim.stop( true ); + } + }; + + doAnimation.finish = doAnimation; + + return empty || optall.queue === false ? + this.each( doAnimation ) : + this.queue( optall.queue, doAnimation ); + }, + stop: function( type, clearQueue, gotoEnd ) { + var stopQueue = function( hooks ) { + var stop = hooks.stop; + delete hooks.stop; + stop( gotoEnd ); + }; + + if ( typeof type !== "string" ) { + gotoEnd = clearQueue; + clearQueue = type; + type = undefined; + } + if ( clearQueue ) { + this.queue( type || "fx", [] ); + } + + return this.each( function() { + var dequeue = true, + index = type != null && type + "queueHooks", + timers = jQuery.timers, + data = dataPriv.get( this ); + + if ( index ) { + if ( data[ index ] && data[ index ].stop ) { + stopQueue( data[ index ] ); + } + } else { + for ( index in data ) { + if ( data[ index ] && data[ index ].stop && rrun.test( index ) ) { + stopQueue( data[ index ] ); + } + } + } + + for ( index = timers.length; index--; ) { + if ( timers[ index ].elem === this && + ( type == null || timers[ index ].queue === type ) ) { + + timers[ index ].anim.stop( gotoEnd ); + dequeue = false; + timers.splice( index, 1 ); + } + } + + // Start the next in the queue if the last step wasn't forced. + // Timers currently will call their complete callbacks, which + // will dequeue but only if they were gotoEnd. + if ( dequeue || !gotoEnd ) { + jQuery.dequeue( this, type ); + } + } ); + }, + finish: function( type ) { + if ( type !== false ) { + type = type || "fx"; + } + return this.each( function() { + var index, + data = dataPriv.get( this ), + queue = data[ type + "queue" ], + hooks = data[ type + "queueHooks" ], + timers = jQuery.timers, + length = queue ? queue.length : 0; + + // Enable finishing flag on private data + data.finish = true; + + // Empty the queue first + jQuery.queue( this, type, [] ); + + if ( hooks && hooks.stop ) { + hooks.stop.call( this, true ); + } + + // Look for any active animations, and finish them + for ( index = timers.length; index--; ) { + if ( timers[ index ].elem === this && timers[ index ].queue === type ) { + timers[ index ].anim.stop( true ); + timers.splice( index, 1 ); + } + } + + // Look for any animations in the old queue and finish them + for ( index = 0; index < length; index++ ) { + if ( queue[ index ] && queue[ index ].finish ) { + queue[ index ].finish.call( this ); + } + } + + // Turn off finishing flag + delete data.finish; + } ); + } +} ); + +jQuery.each( [ "toggle", "show", "hide" ], function( _i, name ) { + var cssFn = jQuery.fn[ name ]; + jQuery.fn[ name ] = function( speed, easing, callback ) { + return speed == null || typeof speed === "boolean" ? + cssFn.apply( this, arguments ) : + this.animate( genFx( name, true ), speed, easing, callback ); + }; +} ); + +// Generate shortcuts for custom animations +jQuery.each( { + slideDown: genFx( "show" ), + slideUp: genFx( "hide" ), + slideToggle: genFx( "toggle" ), + fadeIn: { opacity: "show" }, + fadeOut: { opacity: "hide" }, + fadeToggle: { opacity: "toggle" } +}, function( name, props ) { + jQuery.fn[ name ] = function( speed, easing, callback ) { + return this.animate( props, speed, easing, callback ); + }; +} ); + +jQuery.timers = []; +jQuery.fx.tick = function() { + var timer, + i = 0, + timers = jQuery.timers; + + fxNow = Date.now(); + + for ( ; i < timers.length; i++ ) { + timer = timers[ i ]; + + // Run the timer and safely remove it when done (allowing for external removal) + if ( !timer() && timers[ i ] === timer ) { + timers.splice( i--, 1 ); + } + } + + if ( !timers.length ) { + jQuery.fx.stop(); + } + fxNow = undefined; +}; + +jQuery.fx.timer = function( timer ) { + jQuery.timers.push( timer ); + jQuery.fx.start(); +}; + +jQuery.fx.interval = 13; +jQuery.fx.start = function() { + if ( inProgress ) { + return; + } + + inProgress = true; + schedule(); +}; + +jQuery.fx.stop = function() { + inProgress = null; +}; + +jQuery.fx.speeds = { + slow: 600, + fast: 200, + + // Default speed + _default: 400 +}; + + +// Based off of the plugin by Clint Helfers, with permission. +// https://web.archive.org/web/20100324014747/http://blindsignals.com/index.php/2009/07/jquery-delay/ +jQuery.fn.delay = function( time, type ) { + time = jQuery.fx ? jQuery.fx.speeds[ time ] || time : time; + type = type || "fx"; + + return this.queue( type, function( next, hooks ) { + var timeout = window.setTimeout( next, time ); + hooks.stop = function() { + window.clearTimeout( timeout ); + }; + } ); +}; + + +( function() { + var input = document.createElement( "input" ), + select = document.createElement( "select" ), + opt = select.appendChild( document.createElement( "option" ) ); + + input.type = "checkbox"; + + // Support: Android <=4.3 only + // Default value for a checkbox should be "on" + support.checkOn = input.value !== ""; + + // Support: IE <=11 only + // Must access selectedIndex to make default options select + support.optSelected = opt.selected; + + // Support: IE <=11 only + // An input loses its value after becoming a radio + input = document.createElement( "input" ); + input.value = "t"; + input.type = "radio"; + support.radioValue = input.value === "t"; +} )(); + + +var boolHook, + attrHandle = jQuery.expr.attrHandle; + +jQuery.fn.extend( { + attr: function( name, value ) { + return access( this, jQuery.attr, name, value, arguments.length > 1 ); + }, + + removeAttr: function( name ) { + return this.each( function() { + jQuery.removeAttr( this, name ); + } ); + } +} ); + +jQuery.extend( { + attr: function( elem, name, value ) { + var ret, hooks, + nType = elem.nodeType; + + // Don't get/set attributes on text, comment and attribute nodes + if ( nType === 3 || nType === 8 || nType === 2 ) { + return; + } + + // Fallback to prop when attributes are not supported + if ( typeof elem.getAttribute === "undefined" ) { + return jQuery.prop( elem, name, value ); + } + + // Attribute hooks are determined by the lowercase version + // Grab necessary hook if one is defined + if ( nType !== 1 || !jQuery.isXMLDoc( elem ) ) { + hooks = jQuery.attrHooks[ name.toLowerCase() ] || + ( jQuery.expr.match.bool.test( name ) ? boolHook : undefined ); + } + + if ( value !== undefined ) { + if ( value === null ) { + jQuery.removeAttr( elem, name ); + return; + } + + if ( hooks && "set" in hooks && + ( ret = hooks.set( elem, value, name ) ) !== undefined ) { + return ret; + } + + elem.setAttribute( name, value + "" ); + return value; + } + + if ( hooks && "get" in hooks && ( ret = hooks.get( elem, name ) ) !== null ) { + return ret; + } + + ret = jQuery.find.attr( elem, name ); + + // Non-existent attributes return null, we normalize to undefined + return ret == null ? undefined : ret; + }, + + attrHooks: { + type: { + set: function( elem, value ) { + if ( !support.radioValue && value === "radio" && + nodeName( elem, "input" ) ) { + var val = elem.value; + elem.setAttribute( "type", value ); + if ( val ) { + elem.value = val; + } + return value; + } + } + } + }, + + removeAttr: function( elem, value ) { + var name, + i = 0, + + // Attribute names can contain non-HTML whitespace characters + // https://html.spec.whatwg.org/multipage/syntax.html#attributes-2 + attrNames = value && value.match( rnothtmlwhite ); + + if ( attrNames && elem.nodeType === 1 ) { + while ( ( name = attrNames[ i++ ] ) ) { + elem.removeAttribute( name ); + } + } + } +} ); + +// Hooks for boolean attributes +boolHook = { + set: function( elem, value, name ) { + if ( value === false ) { + + // Remove boolean attributes when set to false + jQuery.removeAttr( elem, name ); + } else { + elem.setAttribute( name, name ); + } + return name; + } +}; + +jQuery.each( jQuery.expr.match.bool.source.match( /\w+/g ), function( _i, name ) { + var getter = attrHandle[ name ] || jQuery.find.attr; + + attrHandle[ name ] = function( elem, name, isXML ) { + var ret, handle, + lowercaseName = name.toLowerCase(); + + if ( !isXML ) { + + // Avoid an infinite loop by temporarily removing this function from the getter + handle = attrHandle[ lowercaseName ]; + attrHandle[ lowercaseName ] = ret; + ret = getter( elem, name, isXML ) != null ? + lowercaseName : + null; + attrHandle[ lowercaseName ] = handle; + } + return ret; + }; +} ); + + + + +var rfocusable = /^(?:input|select|textarea|button)$/i, + rclickable = /^(?:a|area)$/i; + +jQuery.fn.extend( { + prop: function( name, value ) { + return access( this, jQuery.prop, name, value, arguments.length > 1 ); + }, + + removeProp: function( name ) { + return this.each( function() { + delete this[ jQuery.propFix[ name ] || name ]; + } ); + } +} ); + +jQuery.extend( { + prop: function( elem, name, value ) { + var ret, hooks, + nType = elem.nodeType; + + // Don't get/set properties on text, comment and attribute nodes + if ( nType === 3 || nType === 8 || nType === 2 ) { + return; + } + + if ( nType !== 1 || !jQuery.isXMLDoc( elem ) ) { + + // Fix name and attach hooks + name = jQuery.propFix[ name ] || name; + hooks = jQuery.propHooks[ name ]; + } + + if ( value !== undefined ) { + if ( hooks && "set" in hooks && + ( ret = hooks.set( elem, value, name ) ) !== undefined ) { + return ret; + } + + return ( elem[ name ] = value ); + } + + if ( hooks && "get" in hooks && ( ret = hooks.get( elem, name ) ) !== null ) { + return ret; + } + + return elem[ name ]; + }, + + propHooks: { + tabIndex: { + get: function( elem ) { + + // Support: IE <=9 - 11 only + // elem.tabIndex doesn't always return the + // correct value when it hasn't been explicitly set + // https://web.archive.org/web/20141116233347/http://fluidproject.org/blog/2008/01/09/getting-setting-and-removing-tabindex-values-with-javascript/ + // Use proper attribute retrieval(#12072) + var tabindex = jQuery.find.attr( elem, "tabindex" ); + + if ( tabindex ) { + return parseInt( tabindex, 10 ); + } + + if ( + rfocusable.test( elem.nodeName ) || + rclickable.test( elem.nodeName ) && + elem.href + ) { + return 0; + } + + return -1; + } + } + }, + + propFix: { + "for": "htmlFor", + "class": "className" + } +} ); + +// Support: IE <=11 only +// Accessing the selectedIndex property +// forces the browser to respect setting selected +// on the option +// The getter ensures a default option is selected +// when in an optgroup +// eslint rule "no-unused-expressions" is disabled for this code +// since it considers such accessions noop +if ( !support.optSelected ) { + jQuery.propHooks.selected = { + get: function( elem ) { + + /* eslint no-unused-expressions: "off" */ + + var parent = elem.parentNode; + if ( parent && parent.parentNode ) { + parent.parentNode.selectedIndex; + } + return null; + }, + set: function( elem ) { + + /* eslint no-unused-expressions: "off" */ + + var parent = elem.parentNode; + if ( parent ) { + parent.selectedIndex; + + if ( parent.parentNode ) { + parent.parentNode.selectedIndex; + } + } + } + }; +} + +jQuery.each( [ + "tabIndex", + "readOnly", + "maxLength", + "cellSpacing", + "cellPadding", + "rowSpan", + "colSpan", + "useMap", + "frameBorder", + "contentEditable" +], function() { + jQuery.propFix[ this.toLowerCase() ] = this; +} ); + + + + + // Strip and collapse whitespace according to HTML spec + // https://infra.spec.whatwg.org/#strip-and-collapse-ascii-whitespace + function stripAndCollapse( value ) { + var tokens = value.match( rnothtmlwhite ) || []; + return tokens.join( " " ); + } + + +function getClass( elem ) { + return elem.getAttribute && elem.getAttribute( "class" ) || ""; +} + +function classesToArray( value ) { + if ( Array.isArray( value ) ) { + return value; + } + if ( typeof value === "string" ) { + return value.match( rnothtmlwhite ) || []; + } + return []; +} + +jQuery.fn.extend( { + addClass: function( value ) { + var classes, elem, cur, curValue, clazz, j, finalValue, + i = 0; + + if ( isFunction( value ) ) { + return this.each( function( j ) { + jQuery( this ).addClass( value.call( this, j, getClass( this ) ) ); + } ); + } + + classes = classesToArray( value ); + + if ( classes.length ) { + while ( ( elem = this[ i++ ] ) ) { + curValue = getClass( elem ); + cur = elem.nodeType === 1 && ( " " + stripAndCollapse( curValue ) + " " ); + + if ( cur ) { + j = 0; + while ( ( clazz = classes[ j++ ] ) ) { + if ( cur.indexOf( " " + clazz + " " ) < 0 ) { + cur += clazz + " "; + } + } + + // Only assign if different to avoid unneeded rendering. + finalValue = stripAndCollapse( cur ); + if ( curValue !== finalValue ) { + elem.setAttribute( "class", finalValue ); + } + } + } + } + + return this; + }, + + removeClass: function( value ) { + var classes, elem, cur, curValue, clazz, j, finalValue, + i = 0; + + if ( isFunction( value ) ) { + return this.each( function( j ) { + jQuery( this ).removeClass( value.call( this, j, getClass( this ) ) ); + } ); + } + + if ( !arguments.length ) { + return this.attr( "class", "" ); + } + + classes = classesToArray( value ); + + if ( classes.length ) { + while ( ( elem = this[ i++ ] ) ) { + curValue = getClass( elem ); + + // This expression is here for better compressibility (see addClass) + cur = elem.nodeType === 1 && ( " " + stripAndCollapse( curValue ) + " " ); + + if ( cur ) { + j = 0; + while ( ( clazz = classes[ j++ ] ) ) { + + // Remove *all* instances + while ( cur.indexOf( " " + clazz + " " ) > -1 ) { + cur = cur.replace( " " + clazz + " ", " " ); + } + } + + // Only assign if different to avoid unneeded rendering. + finalValue = stripAndCollapse( cur ); + if ( curValue !== finalValue ) { + elem.setAttribute( "class", finalValue ); + } + } + } + } + + return this; + }, + + toggleClass: function( value, stateVal ) { + var type = typeof value, + isValidValue = type === "string" || Array.isArray( value ); + + if ( typeof stateVal === "boolean" && isValidValue ) { + return stateVal ? this.addClass( value ) : this.removeClass( value ); + } + + if ( isFunction( value ) ) { + return this.each( function( i ) { + jQuery( this ).toggleClass( + value.call( this, i, getClass( this ), stateVal ), + stateVal + ); + } ); + } + + return this.each( function() { + var className, i, self, classNames; + + if ( isValidValue ) { + + // Toggle individual class names + i = 0; + self = jQuery( this ); + classNames = classesToArray( value ); + + while ( ( className = classNames[ i++ ] ) ) { + + // Check each className given, space separated list + if ( self.hasClass( className ) ) { + self.removeClass( className ); + } else { + self.addClass( className ); + } + } + + // Toggle whole class name + } else if ( value === undefined || type === "boolean" ) { + className = getClass( this ); + if ( className ) { + + // Store className if set + dataPriv.set( this, "__className__", className ); + } + + // If the element has a class name or if we're passed `false`, + // then remove the whole classname (if there was one, the above saved it). + // Otherwise bring back whatever was previously saved (if anything), + // falling back to the empty string if nothing was stored. + if ( this.setAttribute ) { + this.setAttribute( "class", + className || value === false ? + "" : + dataPriv.get( this, "__className__" ) || "" + ); + } + } + } ); + }, + + hasClass: function( selector ) { + var className, elem, + i = 0; + + className = " " + selector + " "; + while ( ( elem = this[ i++ ] ) ) { + if ( elem.nodeType === 1 && + ( " " + stripAndCollapse( getClass( elem ) ) + " " ).indexOf( className ) > -1 ) { + return true; + } + } + + return false; + } +} ); + + + + +var rreturn = /\r/g; + +jQuery.fn.extend( { + val: function( value ) { + var hooks, ret, valueIsFunction, + elem = this[ 0 ]; + + if ( !arguments.length ) { + if ( elem ) { + hooks = jQuery.valHooks[ elem.type ] || + jQuery.valHooks[ elem.nodeName.toLowerCase() ]; + + if ( hooks && + "get" in hooks && + ( ret = hooks.get( elem, "value" ) ) !== undefined + ) { + return ret; + } + + ret = elem.value; + + // Handle most common string cases + if ( typeof ret === "string" ) { + return ret.replace( rreturn, "" ); + } + + // Handle cases where value is null/undef or number + return ret == null ? "" : ret; + } + + return; + } + + valueIsFunction = isFunction( value ); + + return this.each( function( i ) { + var val; + + if ( this.nodeType !== 1 ) { + return; + } + + if ( valueIsFunction ) { + val = value.call( this, i, jQuery( this ).val() ); + } else { + val = value; + } + + // Treat null/undefined as ""; convert numbers to string + if ( val == null ) { + val = ""; + + } else if ( typeof val === "number" ) { + val += ""; + + } else if ( Array.isArray( val ) ) { + val = jQuery.map( val, function( value ) { + return value == null ? "" : value + ""; + } ); + } + + hooks = jQuery.valHooks[ this.type ] || jQuery.valHooks[ this.nodeName.toLowerCase() ]; + + // If set returns undefined, fall back to normal setting + if ( !hooks || !( "set" in hooks ) || hooks.set( this, val, "value" ) === undefined ) { + this.value = val; + } + } ); + } +} ); + +jQuery.extend( { + valHooks: { + option: { + get: function( elem ) { + + var val = jQuery.find.attr( elem, "value" ); + return val != null ? + val : + + // Support: IE <=10 - 11 only + // option.text throws exceptions (#14686, #14858) + // Strip and collapse whitespace + // https://html.spec.whatwg.org/#strip-and-collapse-whitespace + stripAndCollapse( jQuery.text( elem ) ); + } + }, + select: { + get: function( elem ) { + var value, option, i, + options = elem.options, + index = elem.selectedIndex, + one = elem.type === "select-one", + values = one ? null : [], + max = one ? index + 1 : options.length; + + if ( index < 0 ) { + i = max; + + } else { + i = one ? index : 0; + } + + // Loop through all the selected options + for ( ; i < max; i++ ) { + option = options[ i ]; + + // Support: IE <=9 only + // IE8-9 doesn't update selected after form reset (#2551) + if ( ( option.selected || i === index ) && + + // Don't return options that are disabled or in a disabled optgroup + !option.disabled && + ( !option.parentNode.disabled || + !nodeName( option.parentNode, "optgroup" ) ) ) { + + // Get the specific value for the option + value = jQuery( option ).val(); + + // We don't need an array for one selects + if ( one ) { + return value; + } + + // Multi-Selects return an array + values.push( value ); + } + } + + return values; + }, + + set: function( elem, value ) { + var optionSet, option, + options = elem.options, + values = jQuery.makeArray( value ), + i = options.length; + + while ( i-- ) { + option = options[ i ]; + + /* eslint-disable no-cond-assign */ + + if ( option.selected = + jQuery.inArray( jQuery.valHooks.option.get( option ), values ) > -1 + ) { + optionSet = true; + } + + /* eslint-enable no-cond-assign */ + } + + // Force browsers to behave consistently when non-matching value is set + if ( !optionSet ) { + elem.selectedIndex = -1; + } + return values; + } + } + } +} ); + +// Radios and checkboxes getter/setter +jQuery.each( [ "radio", "checkbox" ], function() { + jQuery.valHooks[ this ] = { + set: function( elem, value ) { + if ( Array.isArray( value ) ) { + return ( elem.checked = jQuery.inArray( jQuery( elem ).val(), value ) > -1 ); + } + } + }; + if ( !support.checkOn ) { + jQuery.valHooks[ this ].get = function( elem ) { + return elem.getAttribute( "value" ) === null ? "on" : elem.value; + }; + } +} ); + + + + +// Return jQuery for attributes-only inclusion + + +support.focusin = "onfocusin" in window; + + +var rfocusMorph = /^(?:focusinfocus|focusoutblur)$/, + stopPropagationCallback = function( e ) { + e.stopPropagation(); + }; + +jQuery.extend( jQuery.event, { + + trigger: function( event, data, elem, onlyHandlers ) { + + var i, cur, tmp, bubbleType, ontype, handle, special, lastElement, + eventPath = [ elem || document ], + type = hasOwn.call( event, "type" ) ? event.type : event, + namespaces = hasOwn.call( event, "namespace" ) ? event.namespace.split( "." ) : []; + + cur = lastElement = tmp = elem = elem || document; + + // Don't do events on text and comment nodes + if ( elem.nodeType === 3 || elem.nodeType === 8 ) { + return; + } + + // focus/blur morphs to focusin/out; ensure we're not firing them right now + if ( rfocusMorph.test( type + jQuery.event.triggered ) ) { + return; + } + + if ( type.indexOf( "." ) > -1 ) { + + // Namespaced trigger; create a regexp to match event type in handle() + namespaces = type.split( "." ); + type = namespaces.shift(); + namespaces.sort(); + } + ontype = type.indexOf( ":" ) < 0 && "on" + type; + + // Caller can pass in a jQuery.Event object, Object, or just an event type string + event = event[ jQuery.expando ] ? + event : + new jQuery.Event( type, typeof event === "object" && event ); + + // Trigger bitmask: & 1 for native handlers; & 2 for jQuery (always true) + event.isTrigger = onlyHandlers ? 2 : 3; + event.namespace = namespaces.join( "." ); + event.rnamespace = event.namespace ? + new RegExp( "(^|\\.)" + namespaces.join( "\\.(?:.*\\.|)" ) + "(\\.|$)" ) : + null; + + // Clean up the event in case it is being reused + event.result = undefined; + if ( !event.target ) { + event.target = elem; + } + + // Clone any incoming data and prepend the event, creating the handler arg list + data = data == null ? + [ event ] : + jQuery.makeArray( data, [ event ] ); + + // Allow special events to draw outside the lines + special = jQuery.event.special[ type ] || {}; + if ( !onlyHandlers && special.trigger && special.trigger.apply( elem, data ) === false ) { + return; + } + + // Determine event propagation path in advance, per W3C events spec (#9951) + // Bubble up to document, then to window; watch for a global ownerDocument var (#9724) + if ( !onlyHandlers && !special.noBubble && !isWindow( elem ) ) { + + bubbleType = special.delegateType || type; + if ( !rfocusMorph.test( bubbleType + type ) ) { + cur = cur.parentNode; + } + for ( ; cur; cur = cur.parentNode ) { + eventPath.push( cur ); + tmp = cur; + } + + // Only add window if we got to document (e.g., not plain obj or detached DOM) + if ( tmp === ( elem.ownerDocument || document ) ) { + eventPath.push( tmp.defaultView || tmp.parentWindow || window ); + } + } + + // Fire handlers on the event path + i = 0; + while ( ( cur = eventPath[ i++ ] ) && !event.isPropagationStopped() ) { + lastElement = cur; + event.type = i > 1 ? + bubbleType : + special.bindType || type; + + // jQuery handler + handle = ( dataPriv.get( cur, "events" ) || Object.create( null ) )[ event.type ] && + dataPriv.get( cur, "handle" ); + if ( handle ) { + handle.apply( cur, data ); + } + + // Native handler + handle = ontype && cur[ ontype ]; + if ( handle && handle.apply && acceptData( cur ) ) { + event.result = handle.apply( cur, data ); + if ( event.result === false ) { + event.preventDefault(); + } + } + } + event.type = type; + + // If nobody prevented the default action, do it now + if ( !onlyHandlers && !event.isDefaultPrevented() ) { + + if ( ( !special._default || + special._default.apply( eventPath.pop(), data ) === false ) && + acceptData( elem ) ) { + + // Call a native DOM method on the target with the same name as the event. + // Don't do default actions on window, that's where global variables be (#6170) + if ( ontype && isFunction( elem[ type ] ) && !isWindow( elem ) ) { + + // Don't re-trigger an onFOO event when we call its FOO() method + tmp = elem[ ontype ]; + + if ( tmp ) { + elem[ ontype ] = null; + } + + // Prevent re-triggering of the same event, since we already bubbled it above + jQuery.event.triggered = type; + + if ( event.isPropagationStopped() ) { + lastElement.addEventListener( type, stopPropagationCallback ); + } + + elem[ type ](); + + if ( event.isPropagationStopped() ) { + lastElement.removeEventListener( type, stopPropagationCallback ); + } + + jQuery.event.triggered = undefined; + + if ( tmp ) { + elem[ ontype ] = tmp; + } + } + } + } + + return event.result; + }, + + // Piggyback on a donor event to simulate a different one + // Used only for `focus(in | out)` events + simulate: function( type, elem, event ) { + var e = jQuery.extend( + new jQuery.Event(), + event, + { + type: type, + isSimulated: true + } + ); + + jQuery.event.trigger( e, null, elem ); + } + +} ); + +jQuery.fn.extend( { + + trigger: function( type, data ) { + return this.each( function() { + jQuery.event.trigger( type, data, this ); + } ); + }, + triggerHandler: function( type, data ) { + var elem = this[ 0 ]; + if ( elem ) { + return jQuery.event.trigger( type, data, elem, true ); + } + } +} ); + + +// Support: Firefox <=44 +// Firefox doesn't have focus(in | out) events +// Related ticket - https://bugzilla.mozilla.org/show_bug.cgi?id=687787 +// +// Support: Chrome <=48 - 49, Safari <=9.0 - 9.1 +// focus(in | out) events fire after focus & blur events, +// which is spec violation - http://www.w3.org/TR/DOM-Level-3-Events/#events-focusevent-event-order +// Related ticket - https://bugs.chromium.org/p/chromium/issues/detail?id=449857 +if ( !support.focusin ) { + jQuery.each( { focus: "focusin", blur: "focusout" }, function( orig, fix ) { + + // Attach a single capturing handler on the document while someone wants focusin/focusout + var handler = function( event ) { + jQuery.event.simulate( fix, event.target, jQuery.event.fix( event ) ); + }; + + jQuery.event.special[ fix ] = { + setup: function() { + + // Handle: regular nodes (via `this.ownerDocument`), window + // (via `this.document`) & document (via `this`). + var doc = this.ownerDocument || this.document || this, + attaches = dataPriv.access( doc, fix ); + + if ( !attaches ) { + doc.addEventListener( orig, handler, true ); + } + dataPriv.access( doc, fix, ( attaches || 0 ) + 1 ); + }, + teardown: function() { + var doc = this.ownerDocument || this.document || this, + attaches = dataPriv.access( doc, fix ) - 1; + + if ( !attaches ) { + doc.removeEventListener( orig, handler, true ); + dataPriv.remove( doc, fix ); + + } else { + dataPriv.access( doc, fix, attaches ); + } + } + }; + } ); +} +var location = window.location; + +var nonce = { guid: Date.now() }; + +var rquery = ( /\?/ ); + + + +// Cross-browser xml parsing +jQuery.parseXML = function( data ) { + var xml, parserErrorElem; + if ( !data || typeof data !== "string" ) { + return null; + } + + // Support: IE 9 - 11 only + // IE throws on parseFromString with invalid input. + try { + xml = ( new window.DOMParser() ).parseFromString( data, "text/xml" ); + } catch ( e ) {} + + parserErrorElem = xml && xml.getElementsByTagName( "parsererror" )[ 0 ]; + if ( !xml || parserErrorElem ) { + jQuery.error( "Invalid XML: " + ( + parserErrorElem ? + jQuery.map( parserErrorElem.childNodes, function( el ) { + return el.textContent; + } ).join( "\n" ) : + data + ) ); + } + return xml; +}; + + +var + rbracket = /\[\]$/, + rCRLF = /\r?\n/g, + rsubmitterTypes = /^(?:submit|button|image|reset|file)$/i, + rsubmittable = /^(?:input|select|textarea|keygen)/i; + +function buildParams( prefix, obj, traditional, add ) { + var name; + + if ( Array.isArray( obj ) ) { + + // Serialize array item. + jQuery.each( obj, function( i, v ) { + if ( traditional || rbracket.test( prefix ) ) { + + // Treat each array item as a scalar. + add( prefix, v ); + + } else { + + // Item is non-scalar (array or object), encode its numeric index. + buildParams( + prefix + "[" + ( typeof v === "object" && v != null ? i : "" ) + "]", + v, + traditional, + add + ); + } + } ); + + } else if ( !traditional && toType( obj ) === "object" ) { + + // Serialize object item. + for ( name in obj ) { + buildParams( prefix + "[" + name + "]", obj[ name ], traditional, add ); + } + + } else { + + // Serialize scalar item. + add( prefix, obj ); + } +} + +// Serialize an array of form elements or a set of +// key/values into a query string +jQuery.param = function( a, traditional ) { + var prefix, + s = [], + add = function( key, valueOrFunction ) { + + // If value is a function, invoke it and use its return value + var value = isFunction( valueOrFunction ) ? + valueOrFunction() : + valueOrFunction; + + s[ s.length ] = encodeURIComponent( key ) + "=" + + encodeURIComponent( value == null ? "" : value ); + }; + + if ( a == null ) { + return ""; + } + + // If an array was passed in, assume that it is an array of form elements. + if ( Array.isArray( a ) || ( a.jquery && !jQuery.isPlainObject( a ) ) ) { + + // Serialize the form elements + jQuery.each( a, function() { + add( this.name, this.value ); + } ); + + } else { + + // If traditional, encode the "old" way (the way 1.3.2 or older + // did it), otherwise encode params recursively. + for ( prefix in a ) { + buildParams( prefix, a[ prefix ], traditional, add ); + } + } + + // Return the resulting serialization + return s.join( "&" ); +}; + +jQuery.fn.extend( { + serialize: function() { + return jQuery.param( this.serializeArray() ); + }, + serializeArray: function() { + return this.map( function() { + + // Can add propHook for "elements" to filter or add form elements + var elements = jQuery.prop( this, "elements" ); + return elements ? jQuery.makeArray( elements ) : this; + } ).filter( function() { + var type = this.type; + + // Use .is( ":disabled" ) so that fieldset[disabled] works + return this.name && !jQuery( this ).is( ":disabled" ) && + rsubmittable.test( this.nodeName ) && !rsubmitterTypes.test( type ) && + ( this.checked || !rcheckableType.test( type ) ); + } ).map( function( _i, elem ) { + var val = jQuery( this ).val(); + + if ( val == null ) { + return null; + } + + if ( Array.isArray( val ) ) { + return jQuery.map( val, function( val ) { + return { name: elem.name, value: val.replace( rCRLF, "\r\n" ) }; + } ); + } + + return { name: elem.name, value: val.replace( rCRLF, "\r\n" ) }; + } ).get(); + } +} ); + + +var + r20 = /%20/g, + rhash = /#.*$/, + rantiCache = /([?&])_=[^&]*/, + rheaders = /^(.*?):[ \t]*([^\r\n]*)$/mg, + + // #7653, #8125, #8152: local protocol detection + rlocalProtocol = /^(?:about|app|app-storage|.+-extension|file|res|widget):$/, + rnoContent = /^(?:GET|HEAD)$/, + rprotocol = /^\/\//, + + /* Prefilters + * 1) They are useful to introduce custom dataTypes (see ajax/jsonp.js for an example) + * 2) These are called: + * - BEFORE asking for a transport + * - AFTER param serialization (s.data is a string if s.processData is true) + * 3) key is the dataType + * 4) the catchall symbol "*" can be used + * 5) execution will start with transport dataType and THEN continue down to "*" if needed + */ + prefilters = {}, + + /* Transports bindings + * 1) key is the dataType + * 2) the catchall symbol "*" can be used + * 3) selection will start with transport dataType and THEN go to "*" if needed + */ + transports = {}, + + // Avoid comment-prolog char sequence (#10098); must appease lint and evade compression + allTypes = "*/".concat( "*" ), + + // Anchor tag for parsing the document origin + originAnchor = document.createElement( "a" ); + +originAnchor.href = location.href; + +// Base "constructor" for jQuery.ajaxPrefilter and jQuery.ajaxTransport +function addToPrefiltersOrTransports( structure ) { + + // dataTypeExpression is optional and defaults to "*" + return function( dataTypeExpression, func ) { + + if ( typeof dataTypeExpression !== "string" ) { + func = dataTypeExpression; + dataTypeExpression = "*"; + } + + var dataType, + i = 0, + dataTypes = dataTypeExpression.toLowerCase().match( rnothtmlwhite ) || []; + + if ( isFunction( func ) ) { + + // For each dataType in the dataTypeExpression + while ( ( dataType = dataTypes[ i++ ] ) ) { + + // Prepend if requested + if ( dataType[ 0 ] === "+" ) { + dataType = dataType.slice( 1 ) || "*"; + ( structure[ dataType ] = structure[ dataType ] || [] ).unshift( func ); + + // Otherwise append + } else { + ( structure[ dataType ] = structure[ dataType ] || [] ).push( func ); + } + } + } + }; +} + +// Base inspection function for prefilters and transports +function inspectPrefiltersOrTransports( structure, options, originalOptions, jqXHR ) { + + var inspected = {}, + seekingTransport = ( structure === transports ); + + function inspect( dataType ) { + var selected; + inspected[ dataType ] = true; + jQuery.each( structure[ dataType ] || [], function( _, prefilterOrFactory ) { + var dataTypeOrTransport = prefilterOrFactory( options, originalOptions, jqXHR ); + if ( typeof dataTypeOrTransport === "string" && + !seekingTransport && !inspected[ dataTypeOrTransport ] ) { + + options.dataTypes.unshift( dataTypeOrTransport ); + inspect( dataTypeOrTransport ); + return false; + } else if ( seekingTransport ) { + return !( selected = dataTypeOrTransport ); + } + } ); + return selected; + } + + return inspect( options.dataTypes[ 0 ] ) || !inspected[ "*" ] && inspect( "*" ); +} + +// A special extend for ajax options +// that takes "flat" options (not to be deep extended) +// Fixes #9887 +function ajaxExtend( target, src ) { + var key, deep, + flatOptions = jQuery.ajaxSettings.flatOptions || {}; + + for ( key in src ) { + if ( src[ key ] !== undefined ) { + ( flatOptions[ key ] ? target : ( deep || ( deep = {} ) ) )[ key ] = src[ key ]; + } + } + if ( deep ) { + jQuery.extend( true, target, deep ); + } + + return target; +} + +/* Handles responses to an ajax request: + * - finds the right dataType (mediates between content-type and expected dataType) + * - returns the corresponding response + */ +function ajaxHandleResponses( s, jqXHR, responses ) { + + var ct, type, finalDataType, firstDataType, + contents = s.contents, + dataTypes = s.dataTypes; + + // Remove auto dataType and get content-type in the process + while ( dataTypes[ 0 ] === "*" ) { + dataTypes.shift(); + if ( ct === undefined ) { + ct = s.mimeType || jqXHR.getResponseHeader( "Content-Type" ); + } + } + + // Check if we're dealing with a known content-type + if ( ct ) { + for ( type in contents ) { + if ( contents[ type ] && contents[ type ].test( ct ) ) { + dataTypes.unshift( type ); + break; + } + } + } + + // Check to see if we have a response for the expected dataType + if ( dataTypes[ 0 ] in responses ) { + finalDataType = dataTypes[ 0 ]; + } else { + + // Try convertible dataTypes + for ( type in responses ) { + if ( !dataTypes[ 0 ] || s.converters[ type + " " + dataTypes[ 0 ] ] ) { + finalDataType = type; + break; + } + if ( !firstDataType ) { + firstDataType = type; + } + } + + // Or just use first one + finalDataType = finalDataType || firstDataType; + } + + // If we found a dataType + // We add the dataType to the list if needed + // and return the corresponding response + if ( finalDataType ) { + if ( finalDataType !== dataTypes[ 0 ] ) { + dataTypes.unshift( finalDataType ); + } + return responses[ finalDataType ]; + } +} + +/* Chain conversions given the request and the original response + * Also sets the responseXXX fields on the jqXHR instance + */ +function ajaxConvert( s, response, jqXHR, isSuccess ) { + var conv2, current, conv, tmp, prev, + converters = {}, + + // Work with a copy of dataTypes in case we need to modify it for conversion + dataTypes = s.dataTypes.slice(); + + // Create converters map with lowercased keys + if ( dataTypes[ 1 ] ) { + for ( conv in s.converters ) { + converters[ conv.toLowerCase() ] = s.converters[ conv ]; + } + } + + current = dataTypes.shift(); + + // Convert to each sequential dataType + while ( current ) { + + if ( s.responseFields[ current ] ) { + jqXHR[ s.responseFields[ current ] ] = response; + } + + // Apply the dataFilter if provided + if ( !prev && isSuccess && s.dataFilter ) { + response = s.dataFilter( response, s.dataType ); + } + + prev = current; + current = dataTypes.shift(); + + if ( current ) { + + // There's only work to do if current dataType is non-auto + if ( current === "*" ) { + + current = prev; + + // Convert response if prev dataType is non-auto and differs from current + } else if ( prev !== "*" && prev !== current ) { + + // Seek a direct converter + conv = converters[ prev + " " + current ] || converters[ "* " + current ]; + + // If none found, seek a pair + if ( !conv ) { + for ( conv2 in converters ) { + + // If conv2 outputs current + tmp = conv2.split( " " ); + if ( tmp[ 1 ] === current ) { + + // If prev can be converted to accepted input + conv = converters[ prev + " " + tmp[ 0 ] ] || + converters[ "* " + tmp[ 0 ] ]; + if ( conv ) { + + // Condense equivalence converters + if ( conv === true ) { + conv = converters[ conv2 ]; + + // Otherwise, insert the intermediate dataType + } else if ( converters[ conv2 ] !== true ) { + current = tmp[ 0 ]; + dataTypes.unshift( tmp[ 1 ] ); + } + break; + } + } + } + } + + // Apply converter (if not an equivalence) + if ( conv !== true ) { + + // Unless errors are allowed to bubble, catch and return them + if ( conv && s.throws ) { + response = conv( response ); + } else { + try { + response = conv( response ); + } catch ( e ) { + return { + state: "parsererror", + error: conv ? e : "No conversion from " + prev + " to " + current + }; + } + } + } + } + } + } + + return { state: "success", data: response }; +} + +jQuery.extend( { + + // Counter for holding the number of active queries + active: 0, + + // Last-Modified header cache for next request + lastModified: {}, + etag: {}, + + ajaxSettings: { + url: location.href, + type: "GET", + isLocal: rlocalProtocol.test( location.protocol ), + global: true, + processData: true, + async: true, + contentType: "application/x-www-form-urlencoded; charset=UTF-8", + + /* + timeout: 0, + data: null, + dataType: null, + username: null, + password: null, + cache: null, + throws: false, + traditional: false, + headers: {}, + */ + + accepts: { + "*": allTypes, + 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" + }, + + // Data converters + // Keys separate source (or catchall "*") and destination types with a single space + converters: { + + // Convert anything to text + "* text": String, + + // Text to html (true = no transformation) + "text html": true, + + // Evaluate text as a json expression + "text json": JSON.parse, + + // Parse text as xml + "text xml": jQuery.parseXML + }, + + // For options that shouldn't be deep extended: + // you can add your own custom options here if + // and when you create one that shouldn't be + // deep extended (see ajaxExtend) + flatOptions: { + url: true, + context: true + } + }, + + // Creates a full fledged settings object into target + // with both ajaxSettings and settings fields. + // If target is omitted, writes into ajaxSettings. + ajaxSetup: function( target, settings ) { + return settings ? + + // Building a settings object + ajaxExtend( ajaxExtend( target, jQuery.ajaxSettings ), settings ) : + + // Extending ajaxSettings + ajaxExtend( jQuery.ajaxSettings, target ); + }, + + ajaxPrefilter: addToPrefiltersOrTransports( prefilters ), + ajaxTransport: addToPrefiltersOrTransports( transports ), + + // Main method + ajax: function( url, options ) { + + // If url is an object, simulate pre-1.5 signature + if ( typeof url === "object" ) { + options = url; + url = undefined; + } + + // Force options to be an object + options = options || {}; + + var transport, + + // URL without anti-cache param + cacheURL, + + // Response headers + responseHeadersString, + responseHeaders, + + // timeout handle + timeoutTimer, + + // Url cleanup var + urlAnchor, + + // Request state (becomes false upon send and true upon completion) + completed, + + // To know if global events are to be dispatched + fireGlobals, + + // Loop variable + i, + + // uncached part of the url + uncached, + + // Create the final options object + s = jQuery.ajaxSetup( {}, options ), + + // Callbacks context + callbackContext = s.context || s, + + // Context for global events is callbackContext if it is a DOM node or jQuery collection + globalEventContext = s.context && + ( callbackContext.nodeType || callbackContext.jquery ) ? + jQuery( callbackContext ) : + jQuery.event, + + // Deferreds + deferred = jQuery.Deferred(), + completeDeferred = jQuery.Callbacks( "once memory" ), + + // Status-dependent callbacks + statusCode = s.statusCode || {}, + + // Headers (they are sent all at once) + requestHeaders = {}, + requestHeadersNames = {}, + + // Default abort message + strAbort = "canceled", + + // Fake xhr + jqXHR = { + readyState: 0, + + // Builds headers hashtable if needed + getResponseHeader: function( key ) { + var match; + if ( completed ) { + if ( !responseHeaders ) { + responseHeaders = {}; + while ( ( match = rheaders.exec( responseHeadersString ) ) ) { + responseHeaders[ match[ 1 ].toLowerCase() + " " ] = + ( responseHeaders[ match[ 1 ].toLowerCase() + " " ] || [] ) + .concat( match[ 2 ] ); + } + } + match = responseHeaders[ key.toLowerCase() + " " ]; + } + return match == null ? null : match.join( ", " ); + }, + + // Raw string + getAllResponseHeaders: function() { + return completed ? responseHeadersString : null; + }, + + // Caches the header + setRequestHeader: function( name, value ) { + if ( completed == null ) { + name = requestHeadersNames[ name.toLowerCase() ] = + requestHeadersNames[ name.toLowerCase() ] || name; + requestHeaders[ name ] = value; + } + return this; + }, + + // Overrides response content-type header + overrideMimeType: function( type ) { + if ( completed == null ) { + s.mimeType = type; + } + return this; + }, + + // Status-dependent callbacks + statusCode: function( map ) { + var code; + if ( map ) { + if ( completed ) { + + // Execute the appropriate callbacks + jqXHR.always( map[ jqXHR.status ] ); + } else { + + // Lazy-add the new callbacks in a way that preserves old ones + for ( code in map ) { + statusCode[ code ] = [ statusCode[ code ], map[ code ] ]; + } + } + } + return this; + }, + + // Cancel the request + abort: function( statusText ) { + var finalText = statusText || strAbort; + if ( transport ) { + transport.abort( finalText ); + } + done( 0, finalText ); + return this; + } + }; + + // Attach deferreds + deferred.promise( jqXHR ); + + // Add protocol if not provided (prefilters might expect it) + // Handle falsy url in the settings object (#10093: consistency with old signature) + // We also use the url parameter if available + s.url = ( ( url || s.url || location.href ) + "" ) + .replace( rprotocol, location.protocol + "//" ); + + // Alias method option to type as per ticket #12004 + s.type = options.method || options.type || s.method || s.type; + + // Extract dataTypes list + s.dataTypes = ( s.dataType || "*" ).toLowerCase().match( rnothtmlwhite ) || [ "" ]; + + // A cross-domain request is in order when the origin doesn't match the current origin. + if ( s.crossDomain == null ) { + urlAnchor = document.createElement( "a" ); + + // Support: IE <=8 - 11, Edge 12 - 15 + // IE throws exception on accessing the href property if url is malformed, + // e.g. http://example.com:80x/ + try { + urlAnchor.href = s.url; + + // Support: IE <=8 - 11 only + // Anchor's host property isn't correctly set when s.url is relative + urlAnchor.href = urlAnchor.href; + s.crossDomain = originAnchor.protocol + "//" + originAnchor.host !== + urlAnchor.protocol + "//" + urlAnchor.host; + } catch ( e ) { + + // If there is an error parsing the URL, assume it is crossDomain, + // it can be rejected by the transport if it is invalid + s.crossDomain = true; + } + } + + // Convert data if not already a string + if ( s.data && s.processData && typeof s.data !== "string" ) { + s.data = jQuery.param( s.data, s.traditional ); + } + + // Apply prefilters + inspectPrefiltersOrTransports( prefilters, s, options, jqXHR ); + + // If request was aborted inside a prefilter, stop there + if ( completed ) { + return jqXHR; + } + + // We can fire global events as of now if asked to + // Don't fire events if jQuery.event is undefined in an AMD-usage scenario (#15118) + fireGlobals = jQuery.event && s.global; + + // Watch for a new set of requests + if ( fireGlobals && jQuery.active++ === 0 ) { + jQuery.event.trigger( "ajaxStart" ); + } + + // Uppercase the type + s.type = s.type.toUpperCase(); + + // Determine if request has content + s.hasContent = !rnoContent.test( s.type ); + + // Save the URL in case we're toying with the If-Modified-Since + // and/or If-None-Match header later on + // Remove hash to simplify url manipulation + cacheURL = s.url.replace( rhash, "" ); + + // More options handling for requests with no content + if ( !s.hasContent ) { + + // Remember the hash so we can put it back + uncached = s.url.slice( cacheURL.length ); + + // If data is available and should be processed, append data to url + if ( s.data && ( s.processData || typeof s.data === "string" ) ) { + cacheURL += ( rquery.test( cacheURL ) ? "&" : "?" ) + s.data; + + // #9682: remove data so that it's not used in an eventual retry + delete s.data; + } + + // Add or update anti-cache param if needed + if ( s.cache === false ) { + cacheURL = cacheURL.replace( rantiCache, "$1" ); + uncached = ( rquery.test( cacheURL ) ? "&" : "?" ) + "_=" + ( nonce.guid++ ) + + uncached; + } + + // Put hash and anti-cache on the URL that will be requested (gh-1732) + s.url = cacheURL + uncached; + + // Change '%20' to '+' if this is encoded form body content (gh-2658) + } else if ( s.data && s.processData && + ( s.contentType || "" ).indexOf( "application/x-www-form-urlencoded" ) === 0 ) { + s.data = s.data.replace( r20, "+" ); + } + + // Set the If-Modified-Since and/or If-None-Match header, if in ifModified mode. + if ( s.ifModified ) { + if ( jQuery.lastModified[ cacheURL ] ) { + jqXHR.setRequestHeader( "If-Modified-Since", jQuery.lastModified[ cacheURL ] ); + } + if ( jQuery.etag[ cacheURL ] ) { + jqXHR.setRequestHeader( "If-None-Match", jQuery.etag[ cacheURL ] ); + } + } + + // Set the correct header, if data is being sent + if ( s.data && s.hasContent && s.contentType !== false || options.contentType ) { + jqXHR.setRequestHeader( "Content-Type", s.contentType ); + } + + // Set the Accepts header for the server, depending on the dataType + jqXHR.setRequestHeader( + "Accept", + s.dataTypes[ 0 ] && s.accepts[ s.dataTypes[ 0 ] ] ? + s.accepts[ s.dataTypes[ 0 ] ] + + ( s.dataTypes[ 0 ] !== "*" ? ", " + allTypes + "; q=0.01" : "" ) : + s.accepts[ "*" ] + ); + + // Check for headers option + for ( i in s.headers ) { + jqXHR.setRequestHeader( i, s.headers[ i ] ); + } + + // Allow custom headers/mimetypes and early abort + if ( s.beforeSend && + ( s.beforeSend.call( callbackContext, jqXHR, s ) === false || completed ) ) { + + // Abort if not done already and return + return jqXHR.abort(); + } + + // Aborting is no longer a cancellation + strAbort = "abort"; + + // Install callbacks on deferreds + completeDeferred.add( s.complete ); + jqXHR.done( s.success ); + jqXHR.fail( s.error ); + + // Get transport + transport = inspectPrefiltersOrTransports( transports, s, options, jqXHR ); + + // If no transport, we auto-abort + if ( !transport ) { + done( -1, "No Transport" ); + } else { + jqXHR.readyState = 1; + + // Send global event + if ( fireGlobals ) { + globalEventContext.trigger( "ajaxSend", [ jqXHR, s ] ); + } + + // If request was aborted inside ajaxSend, stop there + if ( completed ) { + return jqXHR; + } + + // Timeout + if ( s.async && s.timeout > 0 ) { + timeoutTimer = window.setTimeout( function() { + jqXHR.abort( "timeout" ); + }, s.timeout ); + } + + try { + completed = false; + transport.send( requestHeaders, done ); + } catch ( e ) { + + // Rethrow post-completion exceptions + if ( completed ) { + throw e; + } + + // Propagate others as results + done( -1, e ); + } + } + + // Callback for when everything is done + function done( status, nativeStatusText, responses, headers ) { + var isSuccess, success, error, response, modified, + statusText = nativeStatusText; + + // Ignore repeat invocations + if ( completed ) { + return; + } + + completed = true; + + // Clear timeout if it exists + if ( timeoutTimer ) { + window.clearTimeout( timeoutTimer ); + } + + // Dereference transport for early garbage collection + // (no matter how long the jqXHR object will be used) + transport = undefined; + + // Cache response headers + responseHeadersString = headers || ""; + + // Set readyState + jqXHR.readyState = status > 0 ? 4 : 0; + + // Determine if successful + isSuccess = status >= 200 && status < 300 || status === 304; + + // Get response data + if ( responses ) { + response = ajaxHandleResponses( s, jqXHR, responses ); + } + + // Use a noop converter for missing script but not if jsonp + if ( !isSuccess && + jQuery.inArray( "script", s.dataTypes ) > -1 && + jQuery.inArray( "json", s.dataTypes ) < 0 ) { + s.converters[ "text script" ] = function() {}; + } + + // Convert no matter what (that way responseXXX fields are always set) + response = ajaxConvert( s, response, jqXHR, isSuccess ); + + // If successful, handle type chaining + if ( isSuccess ) { + + // Set the If-Modified-Since and/or If-None-Match header, if in ifModified mode. + if ( s.ifModified ) { + modified = jqXHR.getResponseHeader( "Last-Modified" ); + if ( modified ) { + jQuery.lastModified[ cacheURL ] = modified; + } + modified = jqXHR.getResponseHeader( "etag" ); + if ( modified ) { + jQuery.etag[ cacheURL ] = modified; + } + } + + // if no content + if ( status === 204 || s.type === "HEAD" ) { + statusText = "nocontent"; + + // if not modified + } else if ( status === 304 ) { + statusText = "notmodified"; + + // If we have data, let's convert it + } else { + statusText = response.state; + success = response.data; + error = response.error; + isSuccess = !error; + } + } else { + + // Extract error from statusText and normalize for non-aborts + error = statusText; + if ( status || !statusText ) { + statusText = "error"; + if ( status < 0 ) { + status = 0; + } + } + } + + // Set data for the fake xhr object + jqXHR.status = status; + jqXHR.statusText = ( nativeStatusText || statusText ) + ""; + + // Success/Error + if ( isSuccess ) { + deferred.resolveWith( callbackContext, [ success, statusText, jqXHR ] ); + } else { + deferred.rejectWith( callbackContext, [ jqXHR, statusText, error ] ); + } + + // Status-dependent callbacks + jqXHR.statusCode( statusCode ); + statusCode = undefined; + + if ( fireGlobals ) { + globalEventContext.trigger( isSuccess ? "ajaxSuccess" : "ajaxError", + [ jqXHR, s, isSuccess ? success : error ] ); + } + + // Complete + completeDeferred.fireWith( callbackContext, [ jqXHR, statusText ] ); + + if ( fireGlobals ) { + globalEventContext.trigger( "ajaxComplete", [ jqXHR, s ] ); + + // Handle the global AJAX counter + if ( !( --jQuery.active ) ) { + jQuery.event.trigger( "ajaxStop" ); + } + } + } + + return jqXHR; + }, + + getJSON: function( url, data, callback ) { + return jQuery.get( url, data, callback, "json" ); + }, + + getScript: function( url, callback ) { + return jQuery.get( url, undefined, callback, "script" ); + } +} ); + +jQuery.each( [ "get", "post" ], function( _i, method ) { + jQuery[ method ] = function( url, data, callback, type ) { + + // Shift arguments if data argument was omitted + if ( isFunction( data ) ) { + type = type || callback; + callback = data; + data = undefined; + } + + // The url can be an options object (which then must have .url) + return jQuery.ajax( jQuery.extend( { + url: url, + type: method, + dataType: type, + data: data, + success: callback + }, jQuery.isPlainObject( url ) && url ) ); + }; +} ); + +jQuery.ajaxPrefilter( function( s ) { + var i; + for ( i in s.headers ) { + if ( i.toLowerCase() === "content-type" ) { + s.contentType = s.headers[ i ] || ""; + } + } +} ); + + +jQuery._evalUrl = function( url, options, doc ) { + return jQuery.ajax( { + url: url, + + // Make this explicit, since user can override this through ajaxSetup (#11264) + type: "GET", + dataType: "script", + cache: true, + async: false, + global: false, + + // Only evaluate the response if it is successful (gh-4126) + // dataFilter is not invoked for failure responses, so using it instead + // of the default converter is kludgy but it works. + converters: { + "text script": function() {} + }, + dataFilter: function( response ) { + jQuery.globalEval( response, options, doc ); + } + } ); +}; + + +jQuery.fn.extend( { + wrapAll: function( html ) { + var wrap; + + if ( this[ 0 ] ) { + if ( isFunction( html ) ) { + html = html.call( this[ 0 ] ); + } + + // The elements to wrap the target around + wrap = jQuery( html, this[ 0 ].ownerDocument ).eq( 0 ).clone( true ); + + if ( this[ 0 ].parentNode ) { + wrap.insertBefore( this[ 0 ] ); + } + + wrap.map( function() { + var elem = this; + + while ( elem.firstElementChild ) { + elem = elem.firstElementChild; + } + + return elem; + } ).append( this ); + } + + return this; + }, + + wrapInner: function( html ) { + if ( isFunction( html ) ) { + return this.each( function( i ) { + jQuery( this ).wrapInner( html.call( this, i ) ); + } ); + } + + return this.each( function() { + var self = jQuery( this ), + contents = self.contents(); + + if ( contents.length ) { + contents.wrapAll( html ); + + } else { + self.append( html ); + } + } ); + }, + + wrap: function( html ) { + var htmlIsFunction = isFunction( html ); + + return this.each( function( i ) { + jQuery( this ).wrapAll( htmlIsFunction ? html.call( this, i ) : html ); + } ); + }, + + unwrap: function( selector ) { + this.parent( selector ).not( "body" ).each( function() { + jQuery( this ).replaceWith( this.childNodes ); + } ); + return this; + } +} ); + + +jQuery.expr.pseudos.hidden = function( elem ) { + return !jQuery.expr.pseudos.visible( elem ); +}; +jQuery.expr.pseudos.visible = function( elem ) { + return !!( elem.offsetWidth || elem.offsetHeight || elem.getClientRects().length ); +}; + + + + +jQuery.ajaxSettings.xhr = function() { + try { + return new window.XMLHttpRequest(); + } catch ( e ) {} +}; + +var xhrSuccessStatus = { + + // File protocol always yields status code 0, assume 200 + 0: 200, + + // Support: IE <=9 only + // #1450: sometimes IE returns 1223 when it should be 204 + 1223: 204 + }, + xhrSupported = jQuery.ajaxSettings.xhr(); + +support.cors = !!xhrSupported && ( "withCredentials" in xhrSupported ); +support.ajax = xhrSupported = !!xhrSupported; + +jQuery.ajaxTransport( function( options ) { + var callback, errorCallback; + + // Cross domain only allowed if supported through XMLHttpRequest + if ( support.cors || xhrSupported && !options.crossDomain ) { + return { + send: function( headers, complete ) { + var i, + xhr = options.xhr(); + + xhr.open( + options.type, + options.url, + options.async, + options.username, + options.password + ); + + // Apply custom fields if provided + if ( options.xhrFields ) { + for ( i in options.xhrFields ) { + xhr[ i ] = options.xhrFields[ i ]; + } + } + + // Override mime type if needed + if ( options.mimeType && xhr.overrideMimeType ) { + xhr.overrideMimeType( options.mimeType ); + } + + // X-Requested-With header + // For cross-domain requests, seeing as conditions for a preflight are + // akin to a jigsaw puzzle, we simply never set it to be sure. + // (it can always be set on a per-request basis or even using ajaxSetup) + // For same-domain requests, won't change header if already provided. + if ( !options.crossDomain && !headers[ "X-Requested-With" ] ) { + headers[ "X-Requested-With" ] = "XMLHttpRequest"; + } + + // Set headers + for ( i in headers ) { + xhr.setRequestHeader( i, headers[ i ] ); + } + + // Callback + callback = function( type ) { + return function() { + if ( callback ) { + callback = errorCallback = xhr.onload = + xhr.onerror = xhr.onabort = xhr.ontimeout = + xhr.onreadystatechange = null; + + if ( type === "abort" ) { + xhr.abort(); + } else if ( type === "error" ) { + + // Support: IE <=9 only + // On a manual native abort, IE9 throws + // errors on any property access that is not readyState + if ( typeof xhr.status !== "number" ) { + complete( 0, "error" ); + } else { + complete( + + // File: protocol always yields status 0; see #8605, #14207 + xhr.status, + xhr.statusText + ); + } + } else { + complete( + xhrSuccessStatus[ xhr.status ] || xhr.status, + xhr.statusText, + + // Support: IE <=9 only + // IE9 has no XHR2 but throws on binary (trac-11426) + // For XHR2 non-text, let the caller handle it (gh-2498) + ( xhr.responseType || "text" ) !== "text" || + typeof xhr.responseText !== "string" ? + { binary: xhr.response } : + { text: xhr.responseText }, + xhr.getAllResponseHeaders() + ); + } + } + }; + }; + + // Listen to events + xhr.onload = callback(); + errorCallback = xhr.onerror = xhr.ontimeout = callback( "error" ); + + // Support: IE 9 only + // Use onreadystatechange to replace onabort + // to handle uncaught aborts + if ( xhr.onabort !== undefined ) { + xhr.onabort = errorCallback; + } else { + xhr.onreadystatechange = function() { + + // Check readyState before timeout as it changes + if ( xhr.readyState === 4 ) { + + // Allow onerror to be called first, + // but that will not handle a native abort + // Also, save errorCallback to a variable + // as xhr.onerror cannot be accessed + window.setTimeout( function() { + if ( callback ) { + errorCallback(); + } + } ); + } + }; + } + + // Create the abort callback + callback = callback( "abort" ); + + try { + + // Do send the request (this may raise an exception) + xhr.send( options.hasContent && options.data || null ); + } catch ( e ) { + + // #14683: Only rethrow if this hasn't been notified as an error yet + if ( callback ) { + throw e; + } + } + }, + + abort: function() { + if ( callback ) { + callback(); + } + } + }; + } +} ); + + + + +// Prevent auto-execution of scripts when no explicit dataType was provided (See gh-2432) +jQuery.ajaxPrefilter( function( s ) { + if ( s.crossDomain ) { + s.contents.script = false; + } +} ); + +// Install script dataType +jQuery.ajaxSetup( { + accepts: { + script: "text/javascript, application/javascript, " + + "application/ecmascript, application/x-ecmascript" + }, + contents: { + script: /\b(?:java|ecma)script\b/ + }, + converters: { + "text script": function( text ) { + jQuery.globalEval( text ); + return text; + } + } +} ); + +// Handle cache's special case and crossDomain +jQuery.ajaxPrefilter( "script", function( s ) { + if ( s.cache === undefined ) { + s.cache = false; + } + if ( s.crossDomain ) { + s.type = "GET"; + } +} ); + +// Bind script tag hack transport +jQuery.ajaxTransport( "script", function( s ) { + + // This transport only deals with cross domain or forced-by-attrs requests + if ( s.crossDomain || s.scriptAttrs ) { + var script, callback; + return { + send: function( _, complete ) { + script = jQuery( "<script>" ) + .attr( s.scriptAttrs || {} ) + .prop( { charset: s.scriptCharset, src: s.url } ) + .on( "load error", callback = function( evt ) { + script.remove(); + callback = null; + if ( evt ) { + complete( evt.type === "error" ? 404 : 200, evt.type ); + } + } ); + + // Use native DOM manipulation to avoid our domManip AJAX trickery + document.head.appendChild( script[ 0 ] ); + }, + abort: function() { + if ( callback ) { + callback(); + } + } + }; + } +} ); + + + + +var oldCallbacks = [], + rjsonp = /(=)\?(?=&|$)|\?\?/; + +// Default jsonp settings +jQuery.ajaxSetup( { + jsonp: "callback", + jsonpCallback: function() { + var callback = oldCallbacks.pop() || ( jQuery.expando + "_" + ( nonce.guid++ ) ); + this[ callback ] = true; + return callback; + } +} ); + +// Detect, normalize options and install callbacks for jsonp requests +jQuery.ajaxPrefilter( "json jsonp", function( s, originalSettings, jqXHR ) { + + var callbackName, overwritten, responseContainer, + jsonProp = s.jsonp !== false && ( rjsonp.test( s.url ) ? + "url" : + typeof s.data === "string" && + ( s.contentType || "" ) + .indexOf( "application/x-www-form-urlencoded" ) === 0 && + rjsonp.test( s.data ) && "data" + ); + + // Handle iff the expected data type is "jsonp" or we have a parameter to set + if ( jsonProp || s.dataTypes[ 0 ] === "jsonp" ) { + + // Get callback name, remembering preexisting value associated with it + callbackName = s.jsonpCallback = isFunction( s.jsonpCallback ) ? + s.jsonpCallback() : + s.jsonpCallback; + + // Insert callback into url or form data + if ( jsonProp ) { + s[ jsonProp ] = s[ jsonProp ].replace( rjsonp, "$1" + callbackName ); + } else if ( s.jsonp !== false ) { + s.url += ( rquery.test( s.url ) ? "&" : "?" ) + s.jsonp + "=" + callbackName; + } + + // Use data converter to retrieve json after script execution + s.converters[ "script json" ] = function() { + if ( !responseContainer ) { + jQuery.error( callbackName + " was not called" ); + } + return responseContainer[ 0 ]; + }; + + // Force json dataType + s.dataTypes[ 0 ] = "json"; + + // Install callback + overwritten = window[ callbackName ]; + window[ callbackName ] = function() { + responseContainer = arguments; + }; + + // Clean-up function (fires after converters) + jqXHR.always( function() { + + // If previous value didn't exist - remove it + if ( overwritten === undefined ) { + jQuery( window ).removeProp( callbackName ); + + // Otherwise restore preexisting value + } else { + window[ callbackName ] = overwritten; + } + + // Save back as free + if ( s[ callbackName ] ) { + + // Make sure that re-using the options doesn't screw things around + s.jsonpCallback = originalSettings.jsonpCallback; + + // Save the callback name for future use + oldCallbacks.push( callbackName ); + } + + // Call if it was a function and we have a response + if ( responseContainer && isFunction( overwritten ) ) { + overwritten( responseContainer[ 0 ] ); + } + + responseContainer = overwritten = undefined; + } ); + + // Delegate to script + return "script"; + } +} ); + + + + +// Support: Safari 8 only +// In Safari 8 documents created via document.implementation.createHTMLDocument +// collapse sibling forms: the second one becomes a child of the first one. +// Because of that, this security measure has to be disabled in Safari 8. +// https://bugs.webkit.org/show_bug.cgi?id=137337 +support.createHTMLDocument = ( function() { + var body = document.implementation.createHTMLDocument( "" ).body; + body.innerHTML = "<form></form><form></form>"; + return body.childNodes.length === 2; +} )(); + + +// Argument "data" should be string of html +// context (optional): If specified, the fragment will be created in this context, +// defaults to document +// keepScripts (optional): If true, will include scripts passed in the html string +jQuery.parseHTML = function( data, context, keepScripts ) { + if ( typeof data !== "string" ) { + return []; + } + if ( typeof context === "boolean" ) { + keepScripts = context; + context = false; + } + + var base, parsed, scripts; + + if ( !context ) { + + // Stop scripts or inline event handlers from being executed immediately + // by using document.implementation + if ( support.createHTMLDocument ) { + context = document.implementation.createHTMLDocument( "" ); + + // Set the base href for the created document + // so any parsed elements with URLs + // are based on the document's URL (gh-2965) + base = context.createElement( "base" ); + base.href = document.location.href; + context.head.appendChild( base ); + } else { + context = document; + } + } + + parsed = rsingleTag.exec( data ); + scripts = !keepScripts && []; + + // Single tag + if ( parsed ) { + return [ context.createElement( parsed[ 1 ] ) ]; + } + + parsed = buildFragment( [ data ], context, scripts ); + + if ( scripts && scripts.length ) { + jQuery( scripts ).remove(); + } + + return jQuery.merge( [], parsed.childNodes ); +}; + + +/** + * Load a url into a page + */ +jQuery.fn.load = function( url, params, callback ) { + var selector, type, response, + self = this, + off = url.indexOf( " " ); + + if ( off > -1 ) { + selector = stripAndCollapse( url.slice( off ) ); + url = url.slice( 0, off ); + } + + // If it's a function + if ( isFunction( params ) ) { + + // We assume that it's the callback + callback = params; + params = undefined; + + // Otherwise, build a param string + } else if ( params && typeof params === "object" ) { + type = "POST"; + } + + // If we have elements to modify, make the request + if ( self.length > 0 ) { + jQuery.ajax( { + url: url, + + // If "type" variable is undefined, then "GET" method will be used. + // Make value of this field explicit since + // user can override it through ajaxSetup method + type: type || "GET", + dataType: "html", + data: params + } ).done( function( responseText ) { + + // Save response for use in complete callback + response = arguments; + + self.html( selector ? + + // If a selector was specified, locate the right elements in a dummy div + // Exclude scripts to avoid IE 'Permission Denied' errors + jQuery( "<div>" ).append( jQuery.parseHTML( responseText ) ).find( selector ) : + + // Otherwise use the full result + responseText ); + + // If the request succeeds, this function gets "data", "status", "jqXHR" + // but they are ignored because response was set above. + // If it fails, this function gets "jqXHR", "status", "error" + } ).always( callback && function( jqXHR, status ) { + self.each( function() { + callback.apply( this, response || [ jqXHR.responseText, status, jqXHR ] ); + } ); + } ); + } + + return this; +}; + + + + +jQuery.expr.pseudos.animated = function( elem ) { + return jQuery.grep( jQuery.timers, function( fn ) { + return elem === fn.elem; + } ).length; +}; + + + + +jQuery.offset = { + setOffset: function( elem, options, i ) { + var curPosition, curLeft, curCSSTop, curTop, curOffset, curCSSLeft, calculatePosition, + position = jQuery.css( elem, "position" ), + curElem = jQuery( elem ), + props = {}; + + // Set position first, in-case top/left are set even on static elem + if ( position === "static" ) { + elem.style.position = "relative"; + } + + curOffset = curElem.offset(); + curCSSTop = jQuery.css( elem, "top" ); + curCSSLeft = jQuery.css( elem, "left" ); + calculatePosition = ( position === "absolute" || position === "fixed" ) && + ( curCSSTop + curCSSLeft ).indexOf( "auto" ) > -1; + + // Need to be able to calculate position if either + // top or left is auto and position is either absolute or fixed + if ( calculatePosition ) { + curPosition = curElem.position(); + curTop = curPosition.top; + curLeft = curPosition.left; + + } else { + curTop = parseFloat( curCSSTop ) || 0; + curLeft = parseFloat( curCSSLeft ) || 0; + } + + if ( isFunction( options ) ) { + + // Use jQuery.extend here to allow modification of coordinates argument (gh-1848) + options = options.call( elem, i, jQuery.extend( {}, curOffset ) ); + } + + if ( options.top != null ) { + props.top = ( options.top - curOffset.top ) + curTop; + } + if ( options.left != null ) { + props.left = ( options.left - curOffset.left ) + curLeft; + } + + if ( "using" in options ) { + options.using.call( elem, props ); + + } else { + curElem.css( props ); + } + } +}; + +jQuery.fn.extend( { + + // offset() relates an element's border box to the document origin + offset: function( options ) { + + // Preserve chaining for setter + if ( arguments.length ) { + return options === undefined ? + this : + this.each( function( i ) { + jQuery.offset.setOffset( this, options, i ); + } ); + } + + var rect, win, + elem = this[ 0 ]; + + if ( !elem ) { + return; + } + + // Return zeros for disconnected and hidden (display: none) elements (gh-2310) + // Support: IE <=11 only + // Running getBoundingClientRect on a + // disconnected node in IE throws an error + if ( !elem.getClientRects().length ) { + return { top: 0, left: 0 }; + } + + // Get document-relative position by adding viewport scroll to viewport-relative gBCR + rect = elem.getBoundingClientRect(); + win = elem.ownerDocument.defaultView; + return { + top: rect.top + win.pageYOffset, + left: rect.left + win.pageXOffset + }; + }, + + // position() relates an element's margin box to its offset parent's padding box + // This corresponds to the behavior of CSS absolute positioning + position: function() { + if ( !this[ 0 ] ) { + return; + } + + var offsetParent, offset, doc, + elem = this[ 0 ], + parentOffset = { top: 0, left: 0 }; + + // position:fixed elements are offset from the viewport, which itself always has zero offset + if ( jQuery.css( elem, "position" ) === "fixed" ) { + + // Assume position:fixed implies availability of getBoundingClientRect + offset = elem.getBoundingClientRect(); + + } else { + offset = this.offset(); + + // Account for the *real* offset parent, which can be the document or its root element + // when a statically positioned element is identified + doc = elem.ownerDocument; + offsetParent = elem.offsetParent || doc.documentElement; + while ( offsetParent && + ( offsetParent === doc.body || offsetParent === doc.documentElement ) && + jQuery.css( offsetParent, "position" ) === "static" ) { + + offsetParent = offsetParent.parentNode; + } + if ( offsetParent && offsetParent !== elem && offsetParent.nodeType === 1 ) { + + // Incorporate borders into its offset, since they are outside its content origin + parentOffset = jQuery( offsetParent ).offset(); + parentOffset.top += jQuery.css( offsetParent, "borderTopWidth", true ); + parentOffset.left += jQuery.css( offsetParent, "borderLeftWidth", true ); + } + } + + // Subtract parent offsets and element margins + return { + top: offset.top - parentOffset.top - jQuery.css( elem, "marginTop", true ), + left: offset.left - parentOffset.left - jQuery.css( elem, "marginLeft", true ) + }; + }, + + // This method will return documentElement in the following cases: + // 1) For the element inside the iframe without offsetParent, this method will return + // documentElement of the parent window + // 2) For the hidden or detached element + // 3) For body or html element, i.e. in case of the html node - it will return itself + // + // but those exceptions were never presented as a real life use-cases + // and might be considered as more preferable results. + // + // This logic, however, is not guaranteed and can change at any point in the future + offsetParent: function() { + return this.map( function() { + var offsetParent = this.offsetParent; + + while ( offsetParent && jQuery.css( offsetParent, "position" ) === "static" ) { + offsetParent = offsetParent.offsetParent; + } + + return offsetParent || documentElement; + } ); + } +} ); + +// Create scrollLeft and scrollTop methods +jQuery.each( { scrollLeft: "pageXOffset", scrollTop: "pageYOffset" }, function( method, prop ) { + var top = "pageYOffset" === prop; + + jQuery.fn[ method ] = function( val ) { + return access( this, function( elem, method, val ) { + + // Coalesce documents and windows + var win; + if ( isWindow( elem ) ) { + win = elem; + } else if ( elem.nodeType === 9 ) { + win = elem.defaultView; + } + + if ( val === undefined ) { + return win ? win[ prop ] : elem[ method ]; + } + + if ( win ) { + win.scrollTo( + !top ? val : win.pageXOffset, + top ? val : win.pageYOffset + ); + + } else { + elem[ method ] = val; + } + }, method, val, arguments.length ); + }; +} ); + +// Support: Safari <=7 - 9.1, Chrome <=37 - 49 +// Add the top/left cssHooks using jQuery.fn.position +// Webkit bug: https://bugs.webkit.org/show_bug.cgi?id=29084 +// Blink bug: https://bugs.chromium.org/p/chromium/issues/detail?id=589347 +// getComputedStyle returns percent when specified for top/left/bottom/right; +// rather than make the css module depend on the offset module, just check for it here +jQuery.each( [ "top", "left" ], function( _i, prop ) { + jQuery.cssHooks[ prop ] = addGetHookIf( support.pixelPosition, + function( elem, computed ) { + if ( computed ) { + computed = curCSS( elem, prop ); + + // If curCSS returns percentage, fallback to offset + return rnumnonpx.test( computed ) ? + jQuery( elem ).position()[ prop ] + "px" : + computed; + } + } + ); +} ); + + +// Create innerHeight, innerWidth, height, width, outerHeight and outerWidth methods +jQuery.each( { Height: "height", Width: "width" }, function( name, type ) { + jQuery.each( { + padding: "inner" + name, + content: type, + "": "outer" + name + }, function( defaultExtra, funcName ) { + + // Margin is only for outerHeight, outerWidth + jQuery.fn[ funcName ] = function( margin, value ) { + var chainable = arguments.length && ( defaultExtra || typeof margin !== "boolean" ), + extra = defaultExtra || ( margin === true || value === true ? "margin" : "border" ); + + return access( this, function( elem, type, value ) { + var doc; + + if ( isWindow( elem ) ) { + + // $( window ).outerWidth/Height return w/h including scrollbars (gh-1729) + return funcName.indexOf( "outer" ) === 0 ? + elem[ "inner" + name ] : + elem.document.documentElement[ "client" + name ]; + } + + // Get document width or height + if ( elem.nodeType === 9 ) { + doc = elem.documentElement; + + // Either scroll[Width/Height] or offset[Width/Height] or client[Width/Height], + // whichever is greatest + return Math.max( + elem.body[ "scroll" + name ], doc[ "scroll" + name ], + elem.body[ "offset" + name ], doc[ "offset" + name ], + doc[ "client" + name ] + ); + } + + return value === undefined ? + + // Get width or height on the element, requesting but not forcing parseFloat + jQuery.css( elem, type, extra ) : + + // Set width or height on the element + jQuery.style( elem, type, value, extra ); + }, type, chainable ? margin : undefined, chainable ); + }; + } ); +} ); + + +jQuery.each( [ + "ajaxStart", + "ajaxStop", + "ajaxComplete", + "ajaxError", + "ajaxSuccess", + "ajaxSend" +], function( _i, type ) { + jQuery.fn[ type ] = function( fn ) { + return this.on( type, fn ); + }; +} ); + + + + +jQuery.fn.extend( { + + bind: function( types, data, fn ) { + return this.on( types, null, data, fn ); + }, + unbind: function( types, fn ) { + return this.off( types, null, fn ); + }, + + delegate: function( selector, types, data, fn ) { + return this.on( types, selector, data, fn ); + }, + undelegate: function( selector, types, fn ) { + + // ( namespace ) or ( selector, types [, fn] ) + return arguments.length === 1 ? + this.off( selector, "**" ) : + this.off( types, selector || "**", fn ); + }, + + hover: function( fnOver, fnOut ) { + return this.mouseenter( fnOver ).mouseleave( fnOut || fnOver ); + } +} ); + +jQuery.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( _i, name ) { + + // Handle event binding + jQuery.fn[ name ] = function( data, fn ) { + return arguments.length > 0 ? + this.on( name, null, data, fn ) : + this.trigger( name ); + }; + } +); + + + + +// Support: Android <=4.0 only +// Make sure we trim BOM and NBSP +var rtrim = /^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g; + +// Bind a function to a context, optionally partially applying any +// arguments. +// jQuery.proxy is deprecated to promote standards (specifically Function#bind) +// However, it is not slated for removal any time soon +jQuery.proxy = function( fn, context ) { + var tmp, args, proxy; + + if ( typeof context === "string" ) { + tmp = fn[ context ]; + context = fn; + fn = tmp; + } + + // Quick check to determine if target is callable, in the spec + // this throws a TypeError, but we will just return undefined. + if ( !isFunction( fn ) ) { + return undefined; + } + + // Simulated bind + args = slice.call( arguments, 2 ); + proxy = function() { + return fn.apply( context || this, args.concat( slice.call( arguments ) ) ); + }; + + // Set the guid of unique handler to the same of original handler, so it can be removed + proxy.guid = fn.guid = fn.guid || jQuery.guid++; + + return proxy; +}; + +jQuery.holdReady = function( hold ) { + if ( hold ) { + jQuery.readyWait++; + } else { + jQuery.ready( true ); + } +}; +jQuery.isArray = Array.isArray; +jQuery.parseJSON = JSON.parse; +jQuery.nodeName = nodeName; +jQuery.isFunction = isFunction; +jQuery.isWindow = isWindow; +jQuery.camelCase = camelCase; +jQuery.type = toType; + +jQuery.now = Date.now; + +jQuery.isNumeric = function( obj ) { + + // As of jQuery 3.0, isNumeric is limited to + // strings and numbers (primitives or objects) + // that can be coerced to finite numbers (gh-2662) + var type = jQuery.type( obj ); + return ( type === "number" || type === "string" ) && + + // parseFloat NaNs numeric-cast false positives ("") + // ...but misinterprets leading-number strings, particularly hex literals ("0x...") + // subtraction forces infinities to NaN + !isNaN( obj - parseFloat( obj ) ); +}; + +jQuery.trim = function( text ) { + return text == null ? + "" : + ( text + "" ).replace( rtrim, "" ); +}; + + + +// Register as a named AMD module, since jQuery can be concatenated with other +// files that may use define, but not via a proper concatenation script that +// understands anonymous AMD modules. A named AMD is safest and most robust +// way to register. Lowercase jquery is used because AMD module names are +// derived from file names, and jQuery is normally delivered in a lowercase +// file name. Do this after creating the global so that if an AMD module wants +// to call noConflict to hide this version of jQuery, it will work. + +// Note that for maximum portability, libraries that are not jQuery should +// declare themselves as anonymous modules, and avoid setting a global if an +// AMD loader is present. jQuery is a special case. For more information, see +// https://github.com/jrburke/requirejs/wiki/Updating-existing-libraries#wiki-anon + +if ( typeof define === "function" && define.amd ) { + define( "jquery", [], function() { + return jQuery; + } ); +} + + + + +var + + // Map over jQuery in case of overwrite + _jQuery = window.jQuery, + + // Map over the $ in case of overwrite + _$ = window.$; + +jQuery.noConflict = function( deep ) { + if ( window.$ === jQuery ) { + window.$ = _$; + } + + if ( deep && window.jQuery === jQuery ) { + window.jQuery = _jQuery; + } + + return jQuery; +}; + +// Expose jQuery and $ identifiers, even in AMD +// (#7102#comment:10, https://github.com/jquery/jquery/pull/557) +// and CommonJS for browser emulators (#13566) +if ( typeof noGlobal === "undefined" ) { + window.jQuery = window.$ = jQuery; +} + + + + +return jQuery; +} ); diff --git a/_posts/2021-06-13-unreproducibility-detox/unreproducibility-detox_files/jquery-3.6.0/jquery-3.6.0.min.js b/_posts/2021-06-13-unreproducibility-detox/unreproducibility-detox_files/jquery-3.6.0/jquery-3.6.0.min.js new file mode 100644 index 0000000..c4c6022 --- /dev/null +++ b/_posts/2021-06-13-unreproducibility-detox/unreproducibility-detox_files/jquery-3.6.0/jquery-3.6.0.min.js @@ -0,0 +1,2 @@ +/*! jQuery v3.6.0 | (c) OpenJS Foundation and other contributors | jquery.org/license */ +!function(e,t){"use strict";"object"==typeof module&&"object"==typeof module.exports?module.exports=e.document?t(e,!0):function(e){if(!e.document)throw new Error("jQuery requires a window with a document");return t(e)}:t(e)}("undefined"!=typeof window?window:this,function(C,e){"use strict";var t=[],r=Object.getPrototypeOf,s=t.slice,g=t.flat?function(e){return t.flat.call(e)}:function(e){return t.concat.apply([],e)},u=t.push,i=t.indexOf,n={},o=n.toString,v=n.hasOwnProperty,a=v.toString,l=a.call(Object),y={},m=function(e){return"function"==typeof e&&"number"!=typeof e.nodeType&&"function"!=typeof e.item},x=function(e){return null!=e&&e===e.window},E=C.document,c={type:!0,src:!0,nonce:!0,noModule:!0};function b(e,t,n){var r,i,o=(n=n||E).createElement("script");if(o.text=e,t)for(r in c)(i=t[r]||t.getAttribute&&t.getAttribute(r))&&o.setAttribute(r,i);n.head.appendChild(o).parentNode.removeChild(o)}function w(e){return null==e?e+"":"object"==typeof e||"function"==typeof e?n[o.call(e)]||"object":typeof e}var f="3.6.0",S=function(e,t){return new S.fn.init(e,t)};function p(e){var t=!!e&&"length"in e&&e.length,n=w(e);return!m(e)&&!x(e)&&("array"===n||0===t||"number"==typeof t&&0<t&&t-1 in e)}S.fn=S.prototype={jquery:f,constructor:S,length:0,toArray:function(){return s.call(this)},get:function(e){return null==e?s.call(this):e<0?this[e+this.length]:this[e]},pushStack:function(e){var t=S.merge(this.constructor(),e);return t.prevObject=this,t},each:function(e){return S.each(this,e)},map:function(n){return this.pushStack(S.map(this,function(e,t){return n.call(e,t,e)}))},slice:function(){return this.pushStack(s.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},even:function(){return this.pushStack(S.grep(this,function(e,t){return(t+1)%2}))},odd:function(){return this.pushStack(S.grep(this,function(e,t){return t%2}))},eq:function(e){var t=this.length,n=+e+(e<0?t:0);return this.pushStack(0<=n&&n<t?[this[n]]:[])},end:function(){return this.prevObject||this.constructor()},push:u,sort:t.sort,splice:t.splice},S.extend=S.fn.extend=function(){var e,t,n,r,i,o,a=arguments[0]||{},s=1,u=arguments.length,l=!1;for("boolean"==typeof a&&(l=a,a=arguments[s]||{},s++),"object"==typeof a||m(a)||(a={}),s===u&&(a=this,s--);s<u;s++)if(null!=(e=arguments[s]))for(t in e)r=e[t],"__proto__"!==t&&a!==r&&(l&&r&&(S.isPlainObject(r)||(i=Array.isArray(r)))?(n=a[t],o=i&&!Array.isArray(n)?[]:i||S.isPlainObject(n)?n:{},i=!1,a[t]=S.extend(l,o,r)):void 0!==r&&(a[t]=r));return a},S.extend({expando:"jQuery"+(f+Math.random()).replace(/\D/g,""),isReady:!0,error:function(e){throw new Error(e)},noop:function(){},isPlainObject:function(e){var t,n;return!(!e||"[object Object]"!==o.call(e))&&(!(t=r(e))||"function"==typeof(n=v.call(t,"constructor")&&t.constructor)&&a.call(n)===l)},isEmptyObject:function(e){var t;for(t in e)return!1;return!0},globalEval:function(e,t,n){b(e,{nonce:t&&t.nonce},n)},each:function(e,t){var n,r=0;if(p(e)){for(n=e.length;r<n;r++)if(!1===t.call(e[r],r,e[r]))break}else for(r in e)if(!1===t.call(e[r],r,e[r]))break;return e},makeArray:function(e,t){var n=t||[];return null!=e&&(p(Object(e))?S.merge(n,"string"==typeof e?[e]:e):u.call(n,e)),n},inArray:function(e,t,n){return null==t?-1:i.call(t,e,n)},merge:function(e,t){for(var n=+t.length,r=0,i=e.length;r<n;r++)e[i++]=t[r];return e.length=i,e},grep:function(e,t,n){for(var r=[],i=0,o=e.length,a=!n;i<o;i++)!t(e[i],i)!==a&&r.push(e[i]);return r},map:function(e,t,n){var r,i,o=0,a=[];if(p(e))for(r=e.length;o<r;o++)null!=(i=t(e[o],o,n))&&a.push(i);else for(o in e)null!=(i=t(e[o],o,n))&&a.push(i);return g(a)},guid:1,support:y}),"function"==typeof Symbol&&(S.fn[Symbol.iterator]=t[Symbol.iterator]),S.each("Boolean Number String Function Array Date RegExp Object Error Symbol".split(" "),function(e,t){n["[object "+t+"]"]=t.toLowerCase()});var d=function(n){var e,d,b,o,i,h,f,g,w,u,l,T,C,a,E,v,s,c,y,S="sizzle"+1*new Date,p=n.document,k=0,r=0,m=ue(),x=ue(),A=ue(),N=ue(),j=function(e,t){return e===t&&(l=!0),0},D={}.hasOwnProperty,t=[],q=t.pop,L=t.push,H=t.push,O=t.slice,P=function(e,t){for(var n=0,r=e.length;n<r;n++)if(e[n]===t)return n;return-1},R="checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",M="[\\x20\\t\\r\\n\\f]",I="(?:\\\\[\\da-fA-F]{1,6}"+M+"?|\\\\[^\\r\\n\\f]|[\\w-]|[^\0-\\x7f])+",W="\\["+M+"*("+I+")(?:"+M+"*([*^$|!~]?=)"+M+"*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|("+I+"))|)"+M+"*\\]",F=":("+I+")(?:\\((('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|((?:\\\\.|[^\\\\()[\\]]|"+W+")*)|.*)\\)|)",B=new RegExp(M+"+","g"),$=new RegExp("^"+M+"+|((?:^|[^\\\\])(?:\\\\.)*)"+M+"+$","g"),_=new RegExp("^"+M+"*,"+M+"*"),z=new RegExp("^"+M+"*([>+~]|"+M+")"+M+"*"),U=new RegExp(M+"|>"),X=new RegExp(F),V=new RegExp("^"+I+"$"),G={ID:new RegExp("^#("+I+")"),CLASS:new RegExp("^\\.("+I+")"),TAG:new RegExp("^("+I+"|[*])"),ATTR:new RegExp("^"+W),PSEUDO:new RegExp("^"+F),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+M+"*(even|odd|(([+-]|)(\\d*)n|)"+M+"*(?:([+-]|)"+M+"*(\\d+)|))"+M+"*\\)|)","i"),bool:new RegExp("^(?:"+R+")$","i"),needsContext:new RegExp("^"+M+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+M+"*((?:-\\d)?\\d*)"+M+"*\\)|)(?=[^-]|$)","i")},Y=/HTML$/i,Q=/^(?:input|select|textarea|button)$/i,J=/^h\d$/i,K=/^[^{]+\{\s*\[native \w/,Z=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,ee=/[+~]/,te=new RegExp("\\\\[\\da-fA-F]{1,6}"+M+"?|\\\\([^\\r\\n\\f])","g"),ne=function(e,t){var n="0x"+e.slice(1)-65536;return t||(n<0?String.fromCharCode(n+65536):String.fromCharCode(n>>10|55296,1023&n|56320))},re=/([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g,ie=function(e,t){return t?"\0"===e?"\ufffd":e.slice(0,-1)+"\\"+e.charCodeAt(e.length-1).toString(16)+" ":"\\"+e},oe=function(){T()},ae=be(function(e){return!0===e.disabled&&"fieldset"===e.nodeName.toLowerCase()},{dir:"parentNode",next:"legend"});try{H.apply(t=O.call(p.childNodes),p.childNodes),t[p.childNodes.length].nodeType}catch(e){H={apply:t.length?function(e,t){L.apply(e,O.call(t))}:function(e,t){var n=e.length,r=0;while(e[n++]=t[r++]);e.length=n-1}}}function se(t,e,n,r){var i,o,a,s,u,l,c,f=e&&e.ownerDocument,p=e?e.nodeType:9;if(n=n||[],"string"!=typeof t||!t||1!==p&&9!==p&&11!==p)return n;if(!r&&(T(e),e=e||C,E)){if(11!==p&&(u=Z.exec(t)))if(i=u[1]){if(9===p){if(!(a=e.getElementById(i)))return n;if(a.id===i)return n.push(a),n}else if(f&&(a=f.getElementById(i))&&y(e,a)&&a.id===i)return n.push(a),n}else{if(u[2])return H.apply(n,e.getElementsByTagName(t)),n;if((i=u[3])&&d.getElementsByClassName&&e.getElementsByClassName)return H.apply(n,e.getElementsByClassName(i)),n}if(d.qsa&&!N[t+" "]&&(!v||!v.test(t))&&(1!==p||"object"!==e.nodeName.toLowerCase())){if(c=t,f=e,1===p&&(U.test(t)||z.test(t))){(f=ee.test(t)&&ye(e.parentNode)||e)===e&&d.scope||((s=e.getAttribute("id"))?s=s.replace(re,ie):e.setAttribute("id",s=S)),o=(l=h(t)).length;while(o--)l[o]=(s?"#"+s:":scope")+" "+xe(l[o]);c=l.join(",")}try{return H.apply(n,f.querySelectorAll(c)),n}catch(e){N(t,!0)}finally{s===S&&e.removeAttribute("id")}}}return g(t.replace($,"$1"),e,n,r)}function ue(){var r=[];return function e(t,n){return r.push(t+" ")>b.cacheLength&&delete e[r.shift()],e[t+" "]=n}}function le(e){return e[S]=!0,e}function ce(e){var t=C.createElement("fieldset");try{return!!e(t)}catch(e){return!1}finally{t.parentNode&&t.parentNode.removeChild(t),t=null}}function fe(e,t){var n=e.split("|"),r=n.length;while(r--)b.attrHandle[n[r]]=t}function pe(e,t){var n=t&&e,r=n&&1===e.nodeType&&1===t.nodeType&&e.sourceIndex-t.sourceIndex;if(r)return r;if(n)while(n=n.nextSibling)if(n===t)return-1;return e?1:-1}function de(t){return function(e){return"input"===e.nodeName.toLowerCase()&&e.type===t}}function he(n){return function(e){var t=e.nodeName.toLowerCase();return("input"===t||"button"===t)&&e.type===n}}function ge(t){return function(e){return"form"in e?e.parentNode&&!1===e.disabled?"label"in e?"label"in e.parentNode?e.parentNode.disabled===t:e.disabled===t:e.isDisabled===t||e.isDisabled!==!t&&ae(e)===t:e.disabled===t:"label"in e&&e.disabled===t}}function ve(a){return le(function(o){return o=+o,le(function(e,t){var n,r=a([],e.length,o),i=r.length;while(i--)e[n=r[i]]&&(e[n]=!(t[n]=e[n]))})})}function ye(e){return e&&"undefined"!=typeof e.getElementsByTagName&&e}for(e in d=se.support={},i=se.isXML=function(e){var t=e&&e.namespaceURI,n=e&&(e.ownerDocument||e).documentElement;return!Y.test(t||n&&n.nodeName||"HTML")},T=se.setDocument=function(e){var t,n,r=e?e.ownerDocument||e:p;return r!=C&&9===r.nodeType&&r.documentElement&&(a=(C=r).documentElement,E=!i(C),p!=C&&(n=C.defaultView)&&n.top!==n&&(n.addEventListener?n.addEventListener("unload",oe,!1):n.attachEvent&&n.attachEvent("onunload",oe)),d.scope=ce(function(e){return a.appendChild(e).appendChild(C.createElement("div")),"undefined"!=typeof e.querySelectorAll&&!e.querySelectorAll(":scope fieldset div").length}),d.attributes=ce(function(e){return e.className="i",!e.getAttribute("className")}),d.getElementsByTagName=ce(function(e){return e.appendChild(C.createComment("")),!e.getElementsByTagName("*").length}),d.getElementsByClassName=K.test(C.getElementsByClassName),d.getById=ce(function(e){return a.appendChild(e).id=S,!C.getElementsByName||!C.getElementsByName(S).length}),d.getById?(b.filter.ID=function(e){var t=e.replace(te,ne);return function(e){return e.getAttribute("id")===t}},b.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&E){var n=t.getElementById(e);return n?[n]:[]}}):(b.filter.ID=function(e){var n=e.replace(te,ne);return function(e){var t="undefined"!=typeof e.getAttributeNode&&e.getAttributeNode("id");return t&&t.value===n}},b.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&E){var n,r,i,o=t.getElementById(e);if(o){if((n=o.getAttributeNode("id"))&&n.value===e)return[o];i=t.getElementsByName(e),r=0;while(o=i[r++])if((n=o.getAttributeNode("id"))&&n.value===e)return[o]}return[]}}),b.find.TAG=d.getElementsByTagName?function(e,t){return"undefined"!=typeof t.getElementsByTagName?t.getElementsByTagName(e):d.qsa?t.querySelectorAll(e):void 0}:function(e,t){var n,r=[],i=0,o=t.getElementsByTagName(e);if("*"===e){while(n=o[i++])1===n.nodeType&&r.push(n);return r}return o},b.find.CLASS=d.getElementsByClassName&&function(e,t){if("undefined"!=typeof t.getElementsByClassName&&E)return t.getElementsByClassName(e)},s=[],v=[],(d.qsa=K.test(C.querySelectorAll))&&(ce(function(e){var t;a.appendChild(e).innerHTML="<a id='"+S+"'></a><select id='"+S+"-\r\\' msallowcapture=''><option selected=''></option></select>",e.querySelectorAll("[msallowcapture^='']").length&&v.push("[*^$]="+M+"*(?:''|\"\")"),e.querySelectorAll("[selected]").length||v.push("\\["+M+"*(?:value|"+R+")"),e.querySelectorAll("[id~="+S+"-]").length||v.push("~="),(t=C.createElement("input")).setAttribute("name",""),e.appendChild(t),e.querySelectorAll("[name='']").length||v.push("\\["+M+"*name"+M+"*="+M+"*(?:''|\"\")"),e.querySelectorAll(":checked").length||v.push(":checked"),e.querySelectorAll("a#"+S+"+*").length||v.push(".#.+[+~]"),e.querySelectorAll("\\\f"),v.push("[\\r\\n\\f]")}),ce(function(e){e.innerHTML="<a href='' disabled='disabled'></a><select disabled='disabled'><option/></select>";var t=C.createElement("input");t.setAttribute("type","hidden"),e.appendChild(t).setAttribute("name","D"),e.querySelectorAll("[name=d]").length&&v.push("name"+M+"*[*^$|!~]?="),2!==e.querySelectorAll(":enabled").length&&v.push(":enabled",":disabled"),a.appendChild(e).disabled=!0,2!==e.querySelectorAll(":disabled").length&&v.push(":enabled",":disabled"),e.querySelectorAll("*,:x"),v.push(",.*:")})),(d.matchesSelector=K.test(c=a.matches||a.webkitMatchesSelector||a.mozMatchesSelector||a.oMatchesSelector||a.msMatchesSelector))&&ce(function(e){d.disconnectedMatch=c.call(e,"*"),c.call(e,"[s!='']:x"),s.push("!=",F)}),v=v.length&&new RegExp(v.join("|")),s=s.length&&new RegExp(s.join("|")),t=K.test(a.compareDocumentPosition),y=t||K.test(a.contains)?function(e,t){var n=9===e.nodeType?e.documentElement:e,r=t&&t.parentNode;return e===r||!(!r||1!==r.nodeType||!(n.contains?n.contains(r):e.compareDocumentPosition&&16&e.compareDocumentPosition(r)))}:function(e,t){if(t)while(t=t.parentNode)if(t===e)return!0;return!1},j=t?function(e,t){if(e===t)return l=!0,0;var n=!e.compareDocumentPosition-!t.compareDocumentPosition;return n||(1&(n=(e.ownerDocument||e)==(t.ownerDocument||t)?e.compareDocumentPosition(t):1)||!d.sortDetached&&t.compareDocumentPosition(e)===n?e==C||e.ownerDocument==p&&y(p,e)?-1:t==C||t.ownerDocument==p&&y(p,t)?1:u?P(u,e)-P(u,t):0:4&n?-1:1)}:function(e,t){if(e===t)return l=!0,0;var n,r=0,i=e.parentNode,o=t.parentNode,a=[e],s=[t];if(!i||!o)return e==C?-1:t==C?1:i?-1:o?1:u?P(u,e)-P(u,t):0;if(i===o)return pe(e,t);n=e;while(n=n.parentNode)a.unshift(n);n=t;while(n=n.parentNode)s.unshift(n);while(a[r]===s[r])r++;return r?pe(a[r],s[r]):a[r]==p?-1:s[r]==p?1:0}),C},se.matches=function(e,t){return se(e,null,null,t)},se.matchesSelector=function(e,t){if(T(e),d.matchesSelector&&E&&!N[t+" "]&&(!s||!s.test(t))&&(!v||!v.test(t)))try{var n=c.call(e,t);if(n||d.disconnectedMatch||e.document&&11!==e.document.nodeType)return n}catch(e){N(t,!0)}return 0<se(t,C,null,[e]).length},se.contains=function(e,t){return(e.ownerDocument||e)!=C&&T(e),y(e,t)},se.attr=function(e,t){(e.ownerDocument||e)!=C&&T(e);var n=b.attrHandle[t.toLowerCase()],r=n&&D.call(b.attrHandle,t.toLowerCase())?n(e,t,!E):void 0;return void 0!==r?r:d.attributes||!E?e.getAttribute(t):(r=e.getAttributeNode(t))&&r.specified?r.value:null},se.escape=function(e){return(e+"").replace(re,ie)},se.error=function(e){throw new Error("Syntax error, unrecognized expression: "+e)},se.uniqueSort=function(e){var t,n=[],r=0,i=0;if(l=!d.detectDuplicates,u=!d.sortStable&&e.slice(0),e.sort(j),l){while(t=e[i++])t===e[i]&&(r=n.push(i));while(r--)e.splice(n[r],1)}return u=null,e},o=se.getText=function(e){var t,n="",r=0,i=e.nodeType;if(i){if(1===i||9===i||11===i){if("string"==typeof e.textContent)return e.textContent;for(e=e.firstChild;e;e=e.nextSibling)n+=o(e)}else if(3===i||4===i)return e.nodeValue}else while(t=e[r++])n+=o(t);return n},(b=se.selectors={cacheLength:50,createPseudo:le,match:G,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace(te,ne),e[3]=(e[3]||e[4]||e[5]||"").replace(te,ne),"~="===e[2]&&(e[3]=" "+e[3]+" "),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),"nth"===e[1].slice(0,3)?(e[3]||se.error(e[0]),e[4]=+(e[4]?e[5]+(e[6]||1):2*("even"===e[3]||"odd"===e[3])),e[5]=+(e[7]+e[8]||"odd"===e[3])):e[3]&&se.error(e[0]),e},PSEUDO:function(e){var t,n=!e[6]&&e[2];return G.CHILD.test(e[0])?null:(e[3]?e[2]=e[4]||e[5]||"":n&&X.test(n)&&(t=h(n,!0))&&(t=n.indexOf(")",n.length-t)-n.length)&&(e[0]=e[0].slice(0,t),e[2]=n.slice(0,t)),e.slice(0,3))}},filter:{TAG:function(e){var t=e.replace(te,ne).toLowerCase();return"*"===e?function(){return!0}:function(e){return e.nodeName&&e.nodeName.toLowerCase()===t}},CLASS:function(e){var t=m[e+" "];return t||(t=new RegExp("(^|"+M+")"+e+"("+M+"|$)"))&&m(e,function(e){return t.test("string"==typeof e.className&&e.className||"undefined"!=typeof e.getAttribute&&e.getAttribute("class")||"")})},ATTR:function(n,r,i){return function(e){var t=se.attr(e,n);return null==t?"!="===r:!r||(t+="","="===r?t===i:"!="===r?t!==i:"^="===r?i&&0===t.indexOf(i):"*="===r?i&&-1<t.indexOf(i):"$="===r?i&&t.slice(-i.length)===i:"~="===r?-1<(" "+t.replace(B," ")+" ").indexOf(i):"|="===r&&(t===i||t.slice(0,i.length+1)===i+"-"))}},CHILD:function(h,e,t,g,v){var y="nth"!==h.slice(0,3),m="last"!==h.slice(-4),x="of-type"===e;return 1===g&&0===v?function(e){return!!e.parentNode}:function(e,t,n){var r,i,o,a,s,u,l=y!==m?"nextSibling":"previousSibling",c=e.parentNode,f=x&&e.nodeName.toLowerCase(),p=!n&&!x,d=!1;if(c){if(y){while(l){a=e;while(a=a[l])if(x?a.nodeName.toLowerCase()===f:1===a.nodeType)return!1;u=l="only"===h&&!u&&"nextSibling"}return!0}if(u=[m?c.firstChild:c.lastChild],m&&p){d=(s=(r=(i=(o=(a=c)[S]||(a[S]={}))[a.uniqueID]||(o[a.uniqueID]={}))[h]||[])[0]===k&&r[1])&&r[2],a=s&&c.childNodes[s];while(a=++s&&a&&a[l]||(d=s=0)||u.pop())if(1===a.nodeType&&++d&&a===e){i[h]=[k,s,d];break}}else if(p&&(d=s=(r=(i=(o=(a=e)[S]||(a[S]={}))[a.uniqueID]||(o[a.uniqueID]={}))[h]||[])[0]===k&&r[1]),!1===d)while(a=++s&&a&&a[l]||(d=s=0)||u.pop())if((x?a.nodeName.toLowerCase()===f:1===a.nodeType)&&++d&&(p&&((i=(o=a[S]||(a[S]={}))[a.uniqueID]||(o[a.uniqueID]={}))[h]=[k,d]),a===e))break;return(d-=v)===g||d%g==0&&0<=d/g}}},PSEUDO:function(e,o){var t,a=b.pseudos[e]||b.setFilters[e.toLowerCase()]||se.error("unsupported pseudo: "+e);return a[S]?a(o):1<a.length?(t=[e,e,"",o],b.setFilters.hasOwnProperty(e.toLowerCase())?le(function(e,t){var n,r=a(e,o),i=r.length;while(i--)e[n=P(e,r[i])]=!(t[n]=r[i])}):function(e){return a(e,0,t)}):a}},pseudos:{not:le(function(e){var r=[],i=[],s=f(e.replace($,"$1"));return s[S]?le(function(e,t,n,r){var i,o=s(e,null,r,[]),a=e.length;while(a--)(i=o[a])&&(e[a]=!(t[a]=i))}):function(e,t,n){return r[0]=e,s(r,null,n,i),r[0]=null,!i.pop()}}),has:le(function(t){return function(e){return 0<se(t,e).length}}),contains:le(function(t){return t=t.replace(te,ne),function(e){return-1<(e.textContent||o(e)).indexOf(t)}}),lang:le(function(n){return V.test(n||"")||se.error("unsupported lang: "+n),n=n.replace(te,ne).toLowerCase(),function(e){var t;do{if(t=E?e.lang:e.getAttribute("xml:lang")||e.getAttribute("lang"))return(t=t.toLowerCase())===n||0===t.indexOf(n+"-")}while((e=e.parentNode)&&1===e.nodeType);return!1}}),target:function(e){var t=n.location&&n.location.hash;return t&&t.slice(1)===e.id},root:function(e){return e===a},focus:function(e){return e===C.activeElement&&(!C.hasFocus||C.hasFocus())&&!!(e.type||e.href||~e.tabIndex)},enabled:ge(!1),disabled:ge(!0),checked:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&!!e.checked||"option"===t&&!!e.selected},selected:function(e){return e.parentNode&&e.parentNode.selectedIndex,!0===e.selected},empty:function(e){for(e=e.firstChild;e;e=e.nextSibling)if(e.nodeType<6)return!1;return!0},parent:function(e){return!b.pseudos.empty(e)},header:function(e){return J.test(e.nodeName)},input:function(e){return Q.test(e.nodeName)},button:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&"button"===e.type||"button"===t},text:function(e){var t;return"input"===e.nodeName.toLowerCase()&&"text"===e.type&&(null==(t=e.getAttribute("type"))||"text"===t.toLowerCase())},first:ve(function(){return[0]}),last:ve(function(e,t){return[t-1]}),eq:ve(function(e,t,n){return[n<0?n+t:n]}),even:ve(function(e,t){for(var n=0;n<t;n+=2)e.push(n);return e}),odd:ve(function(e,t){for(var n=1;n<t;n+=2)e.push(n);return e}),lt:ve(function(e,t,n){for(var r=n<0?n+t:t<n?t:n;0<=--r;)e.push(r);return e}),gt:ve(function(e,t,n){for(var r=n<0?n+t:n;++r<t;)e.push(r);return e})}}).pseudos.nth=b.pseudos.eq,{radio:!0,checkbox:!0,file:!0,password:!0,image:!0})b.pseudos[e]=de(e);for(e in{submit:!0,reset:!0})b.pseudos[e]=he(e);function me(){}function xe(e){for(var t=0,n=e.length,r="";t<n;t++)r+=e[t].value;return r}function be(s,e,t){var u=e.dir,l=e.next,c=l||u,f=t&&"parentNode"===c,p=r++;return e.first?function(e,t,n){while(e=e[u])if(1===e.nodeType||f)return s(e,t,n);return!1}:function(e,t,n){var r,i,o,a=[k,p];if(n){while(e=e[u])if((1===e.nodeType||f)&&s(e,t,n))return!0}else while(e=e[u])if(1===e.nodeType||f)if(i=(o=e[S]||(e[S]={}))[e.uniqueID]||(o[e.uniqueID]={}),l&&l===e.nodeName.toLowerCase())e=e[u]||e;else{if((r=i[c])&&r[0]===k&&r[1]===p)return a[2]=r[2];if((i[c]=a)[2]=s(e,t,n))return!0}return!1}}function we(i){return 1<i.length?function(e,t,n){var r=i.length;while(r--)if(!i[r](e,t,n))return!1;return!0}:i[0]}function Te(e,t,n,r,i){for(var o,a=[],s=0,u=e.length,l=null!=t;s<u;s++)(o=e[s])&&(n&&!n(o,r,i)||(a.push(o),l&&t.push(s)));return a}function Ce(d,h,g,v,y,e){return v&&!v[S]&&(v=Ce(v)),y&&!y[S]&&(y=Ce(y,e)),le(function(e,t,n,r){var i,o,a,s=[],u=[],l=t.length,c=e||function(e,t,n){for(var r=0,i=t.length;r<i;r++)se(e,t[r],n);return n}(h||"*",n.nodeType?[n]:n,[]),f=!d||!e&&h?c:Te(c,s,d,n,r),p=g?y||(e?d:l||v)?[]:t:f;if(g&&g(f,p,n,r),v){i=Te(p,u),v(i,[],n,r),o=i.length;while(o--)(a=i[o])&&(p[u[o]]=!(f[u[o]]=a))}if(e){if(y||d){if(y){i=[],o=p.length;while(o--)(a=p[o])&&i.push(f[o]=a);y(null,p=[],i,r)}o=p.length;while(o--)(a=p[o])&&-1<(i=y?P(e,a):s[o])&&(e[i]=!(t[i]=a))}}else p=Te(p===t?p.splice(l,p.length):p),y?y(null,t,p,r):H.apply(t,p)})}function Ee(e){for(var i,t,n,r=e.length,o=b.relative[e[0].type],a=o||b.relative[" "],s=o?1:0,u=be(function(e){return e===i},a,!0),l=be(function(e){return-1<P(i,e)},a,!0),c=[function(e,t,n){var r=!o&&(n||t!==w)||((i=t).nodeType?u(e,t,n):l(e,t,n));return i=null,r}];s<r;s++)if(t=b.relative[e[s].type])c=[be(we(c),t)];else{if((t=b.filter[e[s].type].apply(null,e[s].matches))[S]){for(n=++s;n<r;n++)if(b.relative[e[n].type])break;return Ce(1<s&&we(c),1<s&&xe(e.slice(0,s-1).concat({value:" "===e[s-2].type?"*":""})).replace($,"$1"),t,s<n&&Ee(e.slice(s,n)),n<r&&Ee(e=e.slice(n)),n<r&&xe(e))}c.push(t)}return we(c)}return me.prototype=b.filters=b.pseudos,b.setFilters=new me,h=se.tokenize=function(e,t){var n,r,i,o,a,s,u,l=x[e+" "];if(l)return t?0:l.slice(0);a=e,s=[],u=b.preFilter;while(a){for(o in n&&!(r=_.exec(a))||(r&&(a=a.slice(r[0].length)||a),s.push(i=[])),n=!1,(r=z.exec(a))&&(n=r.shift(),i.push({value:n,type:r[0].replace($," ")}),a=a.slice(n.length)),b.filter)!(r=G[o].exec(a))||u[o]&&!(r=u[o](r))||(n=r.shift(),i.push({value:n,type:o,matches:r}),a=a.slice(n.length));if(!n)break}return t?a.length:a?se.error(e):x(e,s).slice(0)},f=se.compile=function(e,t){var n,v,y,m,x,r,i=[],o=[],a=A[e+" "];if(!a){t||(t=h(e)),n=t.length;while(n--)(a=Ee(t[n]))[S]?i.push(a):o.push(a);(a=A(e,(v=o,m=0<(y=i).length,x=0<v.length,r=function(e,t,n,r,i){var o,a,s,u=0,l="0",c=e&&[],f=[],p=w,d=e||x&&b.find.TAG("*",i),h=k+=null==p?1:Math.random()||.1,g=d.length;for(i&&(w=t==C||t||i);l!==g&&null!=(o=d[l]);l++){if(x&&o){a=0,t||o.ownerDocument==C||(T(o),n=!E);while(s=v[a++])if(s(o,t||C,n)){r.push(o);break}i&&(k=h)}m&&((o=!s&&o)&&u--,e&&c.push(o))}if(u+=l,m&&l!==u){a=0;while(s=y[a++])s(c,f,t,n);if(e){if(0<u)while(l--)c[l]||f[l]||(f[l]=q.call(r));f=Te(f)}H.apply(r,f),i&&!e&&0<f.length&&1<u+y.length&&se.uniqueSort(r)}return i&&(k=h,w=p),c},m?le(r):r))).selector=e}return a},g=se.select=function(e,t,n,r){var i,o,a,s,u,l="function"==typeof e&&e,c=!r&&h(e=l.selector||e);if(n=n||[],1===c.length){if(2<(o=c[0]=c[0].slice(0)).length&&"ID"===(a=o[0]).type&&9===t.nodeType&&E&&b.relative[o[1].type]){if(!(t=(b.find.ID(a.matches[0].replace(te,ne),t)||[])[0]))return n;l&&(t=t.parentNode),e=e.slice(o.shift().value.length)}i=G.needsContext.test(e)?0:o.length;while(i--){if(a=o[i],b.relative[s=a.type])break;if((u=b.find[s])&&(r=u(a.matches[0].replace(te,ne),ee.test(o[0].type)&&ye(t.parentNode)||t))){if(o.splice(i,1),!(e=r.length&&xe(o)))return H.apply(n,r),n;break}}}return(l||f(e,c))(r,t,!E,n,!t||ee.test(e)&&ye(t.parentNode)||t),n},d.sortStable=S.split("").sort(j).join("")===S,d.detectDuplicates=!!l,T(),d.sortDetached=ce(function(e){return 1&e.compareDocumentPosition(C.createElement("fieldset"))}),ce(function(e){return e.innerHTML="<a href='#'></a>","#"===e.firstChild.getAttribute("href")})||fe("type|href|height|width",function(e,t,n){if(!n)return e.getAttribute(t,"type"===t.toLowerCase()?1:2)}),d.attributes&&ce(function(e){return e.innerHTML="<input/>",e.firstChild.setAttribute("value",""),""===e.firstChild.getAttribute("value")})||fe("value",function(e,t,n){if(!n&&"input"===e.nodeName.toLowerCase())return e.defaultValue}),ce(function(e){return null==e.getAttribute("disabled")})||fe(R,function(e,t,n){var r;if(!n)return!0===e[t]?t.toLowerCase():(r=e.getAttributeNode(t))&&r.specified?r.value:null}),se}(C);S.find=d,S.expr=d.selectors,S.expr[":"]=S.expr.pseudos,S.uniqueSort=S.unique=d.uniqueSort,S.text=d.getText,S.isXMLDoc=d.isXML,S.contains=d.contains,S.escapeSelector=d.escape;var h=function(e,t,n){var r=[],i=void 0!==n;while((e=e[t])&&9!==e.nodeType)if(1===e.nodeType){if(i&&S(e).is(n))break;r.push(e)}return r},T=function(e,t){for(var n=[];e;e=e.nextSibling)1===e.nodeType&&e!==t&&n.push(e);return n},k=S.expr.match.needsContext;function A(e,t){return e.nodeName&&e.nodeName.toLowerCase()===t.toLowerCase()}var N=/^<([a-z][^\/\0>:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i;function j(e,n,r){return m(n)?S.grep(e,function(e,t){return!!n.call(e,t,e)!==r}):n.nodeType?S.grep(e,function(e){return e===n!==r}):"string"!=typeof n?S.grep(e,function(e){return-1<i.call(n,e)!==r}):S.filter(n,e,r)}S.filter=function(e,t,n){var r=t[0];return n&&(e=":not("+e+")"),1===t.length&&1===r.nodeType?S.find.matchesSelector(r,e)?[r]:[]:S.find.matches(e,S.grep(t,function(e){return 1===e.nodeType}))},S.fn.extend({find:function(e){var t,n,r=this.length,i=this;if("string"!=typeof e)return this.pushStack(S(e).filter(function(){for(t=0;t<r;t++)if(S.contains(i[t],this))return!0}));for(n=this.pushStack([]),t=0;t<r;t++)S.find(e,i[t],n);return 1<r?S.uniqueSort(n):n},filter:function(e){return this.pushStack(j(this,e||[],!1))},not:function(e){return this.pushStack(j(this,e||[],!0))},is:function(e){return!!j(this,"string"==typeof e&&k.test(e)?S(e):e||[],!1).length}});var D,q=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]+))$/;(S.fn.init=function(e,t,n){var r,i;if(!e)return this;if(n=n||D,"string"==typeof e){if(!(r="<"===e[0]&&">"===e[e.length-1]&&3<=e.length?[null,e,null]:q.exec(e))||!r[1]&&t)return!t||t.jquery?(t||n).find(e):this.constructor(t).find(e);if(r[1]){if(t=t instanceof S?t[0]:t,S.merge(this,S.parseHTML(r[1],t&&t.nodeType?t.ownerDocument||t:E,!0)),N.test(r[1])&&S.isPlainObject(t))for(r in t)m(this[r])?this[r](t[r]):this.attr(r,t[r]);return this}return(i=E.getElementById(r[2]))&&(this[0]=i,this.length=1),this}return e.nodeType?(this[0]=e,this.length=1,this):m(e)?void 0!==n.ready?n.ready(e):e(S):S.makeArray(e,this)}).prototype=S.fn,D=S(E);var L=/^(?:parents|prev(?:Until|All))/,H={children:!0,contents:!0,next:!0,prev:!0};function O(e,t){while((e=e[t])&&1!==e.nodeType);return e}S.fn.extend({has:function(e){var t=S(e,this),n=t.length;return this.filter(function(){for(var e=0;e<n;e++)if(S.contains(this,t[e]))return!0})},closest:function(e,t){var n,r=0,i=this.length,o=[],a="string"!=typeof e&&S(e);if(!k.test(e))for(;r<i;r++)for(n=this[r];n&&n!==t;n=n.parentNode)if(n.nodeType<11&&(a?-1<a.index(n):1===n.nodeType&&S.find.matchesSelector(n,e))){o.push(n);break}return this.pushStack(1<o.length?S.uniqueSort(o):o)},index:function(e){return e?"string"==typeof e?i.call(S(e),this[0]):i.call(this,e.jquery?e[0]:e):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(e,t){return this.pushStack(S.uniqueSort(S.merge(this.get(),S(e,t))))},addBack:function(e){return this.add(null==e?this.prevObject:this.prevObject.filter(e))}}),S.each({parent:function(e){var t=e.parentNode;return t&&11!==t.nodeType?t:null},parents:function(e){return h(e,"parentNode")},parentsUntil:function(e,t,n){return h(e,"parentNode",n)},next:function(e){return O(e,"nextSibling")},prev:function(e){return O(e,"previousSibling")},nextAll:function(e){return h(e,"nextSibling")},prevAll:function(e){return h(e,"previousSibling")},nextUntil:function(e,t,n){return h(e,"nextSibling",n)},prevUntil:function(e,t,n){return h(e,"previousSibling",n)},siblings:function(e){return T((e.parentNode||{}).firstChild,e)},children:function(e){return T(e.firstChild)},contents:function(e){return null!=e.contentDocument&&r(e.contentDocument)?e.contentDocument:(A(e,"template")&&(e=e.content||e),S.merge([],e.childNodes))}},function(r,i){S.fn[r]=function(e,t){var n=S.map(this,i,e);return"Until"!==r.slice(-5)&&(t=e),t&&"string"==typeof t&&(n=S.filter(t,n)),1<this.length&&(H[r]||S.uniqueSort(n),L.test(r)&&n.reverse()),this.pushStack(n)}});var P=/[^\x20\t\r\n\f]+/g;function R(e){return e}function M(e){throw e}function I(e,t,n,r){var i;try{e&&m(i=e.promise)?i.call(e).done(t).fail(n):e&&m(i=e.then)?i.call(e,t,n):t.apply(void 0,[e].slice(r))}catch(e){n.apply(void 0,[e])}}S.Callbacks=function(r){var e,n;r="string"==typeof r?(e=r,n={},S.each(e.match(P)||[],function(e,t){n[t]=!0}),n):S.extend({},r);var i,t,o,a,s=[],u=[],l=-1,c=function(){for(a=a||r.once,o=i=!0;u.length;l=-1){t=u.shift();while(++l<s.length)!1===s[l].apply(t[0],t[1])&&r.stopOnFalse&&(l=s.length,t=!1)}r.memory||(t=!1),i=!1,a&&(s=t?[]:"")},f={add:function(){return s&&(t&&!i&&(l=s.length-1,u.push(t)),function n(e){S.each(e,function(e,t){m(t)?r.unique&&f.has(t)||s.push(t):t&&t.length&&"string"!==w(t)&&n(t)})}(arguments),t&&!i&&c()),this},remove:function(){return S.each(arguments,function(e,t){var n;while(-1<(n=S.inArray(t,s,n)))s.splice(n,1),n<=l&&l--}),this},has:function(e){return e?-1<S.inArray(e,s):0<s.length},empty:function(){return s&&(s=[]),this},disable:function(){return a=u=[],s=t="",this},disabled:function(){return!s},lock:function(){return a=u=[],t||i||(s=t=""),this},locked:function(){return!!a},fireWith:function(e,t){return a||(t=[e,(t=t||[]).slice?t.slice():t],u.push(t),i||c()),this},fire:function(){return f.fireWith(this,arguments),this},fired:function(){return!!o}};return f},S.extend({Deferred:function(e){var o=[["notify","progress",S.Callbacks("memory"),S.Callbacks("memory"),2],["resolve","done",S.Callbacks("once memory"),S.Callbacks("once memory"),0,"resolved"],["reject","fail",S.Callbacks("once memory"),S.Callbacks("once memory"),1,"rejected"]],i="pending",a={state:function(){return i},always:function(){return s.done(arguments).fail(arguments),this},"catch":function(e){return a.then(null,e)},pipe:function(){var i=arguments;return S.Deferred(function(r){S.each(o,function(e,t){var n=m(i[t[4]])&&i[t[4]];s[t[1]](function(){var e=n&&n.apply(this,arguments);e&&m(e.promise)?e.promise().progress(r.notify).done(r.resolve).fail(r.reject):r[t[0]+"With"](this,n?[e]:arguments)})}),i=null}).promise()},then:function(t,n,r){var u=0;function l(i,o,a,s){return function(){var n=this,r=arguments,e=function(){var e,t;if(!(i<u)){if((e=a.apply(n,r))===o.promise())throw new TypeError("Thenable self-resolution");t=e&&("object"==typeof e||"function"==typeof e)&&e.then,m(t)?s?t.call(e,l(u,o,R,s),l(u,o,M,s)):(u++,t.call(e,l(u,o,R,s),l(u,o,M,s),l(u,o,R,o.notifyWith))):(a!==R&&(n=void 0,r=[e]),(s||o.resolveWith)(n,r))}},t=s?e:function(){try{e()}catch(e){S.Deferred.exceptionHook&&S.Deferred.exceptionHook(e,t.stackTrace),u<=i+1&&(a!==M&&(n=void 0,r=[e]),o.rejectWith(n,r))}};i?t():(S.Deferred.getStackHook&&(t.stackTrace=S.Deferred.getStackHook()),C.setTimeout(t))}}return S.Deferred(function(e){o[0][3].add(l(0,e,m(r)?r:R,e.notifyWith)),o[1][3].add(l(0,e,m(t)?t:R)),o[2][3].add(l(0,e,m(n)?n:M))}).promise()},promise:function(e){return null!=e?S.extend(e,a):a}},s={};return S.each(o,function(e,t){var n=t[2],r=t[5];a[t[1]]=n.add,r&&n.add(function(){i=r},o[3-e][2].disable,o[3-e][3].disable,o[0][2].lock,o[0][3].lock),n.add(t[3].fire),s[t[0]]=function(){return s[t[0]+"With"](this===s?void 0:this,arguments),this},s[t[0]+"With"]=n.fireWith}),a.promise(s),e&&e.call(s,s),s},when:function(e){var n=arguments.length,t=n,r=Array(t),i=s.call(arguments),o=S.Deferred(),a=function(t){return function(e){r[t]=this,i[t]=1<arguments.length?s.call(arguments):e,--n||o.resolveWith(r,i)}};if(n<=1&&(I(e,o.done(a(t)).resolve,o.reject,!n),"pending"===o.state()||m(i[t]&&i[t].then)))return o.then();while(t--)I(i[t],a(t),o.reject);return o.promise()}});var W=/^(Eval|Internal|Range|Reference|Syntax|Type|URI)Error$/;S.Deferred.exceptionHook=function(e,t){C.console&&C.console.warn&&e&&W.test(e.name)&&C.console.warn("jQuery.Deferred exception: "+e.message,e.stack,t)},S.readyException=function(e){C.setTimeout(function(){throw e})};var F=S.Deferred();function B(){E.removeEventListener("DOMContentLoaded",B),C.removeEventListener("load",B),S.ready()}S.fn.ready=function(e){return F.then(e)["catch"](function(e){S.readyException(e)}),this},S.extend({isReady:!1,readyWait:1,ready:function(e){(!0===e?--S.readyWait:S.isReady)||(S.isReady=!0)!==e&&0<--S.readyWait||F.resolveWith(E,[S])}}),S.ready.then=F.then,"complete"===E.readyState||"loading"!==E.readyState&&!E.documentElement.doScroll?C.setTimeout(S.ready):(E.addEventListener("DOMContentLoaded",B),C.addEventListener("load",B));var $=function(e,t,n,r,i,o,a){var s=0,u=e.length,l=null==n;if("object"===w(n))for(s in i=!0,n)$(e,t,s,n[s],!0,o,a);else if(void 0!==r&&(i=!0,m(r)||(a=!0),l&&(a?(t.call(e,r),t=null):(l=t,t=function(e,t,n){return l.call(S(e),n)})),t))for(;s<u;s++)t(e[s],n,a?r:r.call(e[s],s,t(e[s],n)));return i?e:l?t.call(e):u?t(e[0],n):o},_=/^-ms-/,z=/-([a-z])/g;function U(e,t){return t.toUpperCase()}function X(e){return e.replace(_,"ms-").replace(z,U)}var V=function(e){return 1===e.nodeType||9===e.nodeType||!+e.nodeType};function G(){this.expando=S.expando+G.uid++}G.uid=1,G.prototype={cache:function(e){var t=e[this.expando];return t||(t={},V(e)&&(e.nodeType?e[this.expando]=t:Object.defineProperty(e,this.expando,{value:t,configurable:!0}))),t},set:function(e,t,n){var r,i=this.cache(e);if("string"==typeof t)i[X(t)]=n;else for(r in t)i[X(r)]=t[r];return i},get:function(e,t){return void 0===t?this.cache(e):e[this.expando]&&e[this.expando][X(t)]},access:function(e,t,n){return void 0===t||t&&"string"==typeof t&&void 0===n?this.get(e,t):(this.set(e,t,n),void 0!==n?n:t)},remove:function(e,t){var n,r=e[this.expando];if(void 0!==r){if(void 0!==t){n=(t=Array.isArray(t)?t.map(X):(t=X(t))in r?[t]:t.match(P)||[]).length;while(n--)delete r[t[n]]}(void 0===t||S.isEmptyObject(r))&&(e.nodeType?e[this.expando]=void 0:delete e[this.expando])}},hasData:function(e){var t=e[this.expando];return void 0!==t&&!S.isEmptyObject(t)}};var Y=new G,Q=new G,J=/^(?:\{[\w\W]*\}|\[[\w\W]*\])$/,K=/[A-Z]/g;function Z(e,t,n){var r,i;if(void 0===n&&1===e.nodeType)if(r="data-"+t.replace(K,"-$&").toLowerCase(),"string"==typeof(n=e.getAttribute(r))){try{n="true"===(i=n)||"false"!==i&&("null"===i?null:i===+i+""?+i:J.test(i)?JSON.parse(i):i)}catch(e){}Q.set(e,t,n)}else n=void 0;return n}S.extend({hasData:function(e){return Q.hasData(e)||Y.hasData(e)},data:function(e,t,n){return Q.access(e,t,n)},removeData:function(e,t){Q.remove(e,t)},_data:function(e,t,n){return Y.access(e,t,n)},_removeData:function(e,t){Y.remove(e,t)}}),S.fn.extend({data:function(n,e){var t,r,i,o=this[0],a=o&&o.attributes;if(void 0===n){if(this.length&&(i=Q.get(o),1===o.nodeType&&!Y.get(o,"hasDataAttrs"))){t=a.length;while(t--)a[t]&&0===(r=a[t].name).indexOf("data-")&&(r=X(r.slice(5)),Z(o,r,i[r]));Y.set(o,"hasDataAttrs",!0)}return i}return"object"==typeof n?this.each(function(){Q.set(this,n)}):$(this,function(e){var t;if(o&&void 0===e)return void 0!==(t=Q.get(o,n))?t:void 0!==(t=Z(o,n))?t:void 0;this.each(function(){Q.set(this,n,e)})},null,e,1<arguments.length,null,!0)},removeData:function(e){return this.each(function(){Q.remove(this,e)})}}),S.extend({queue:function(e,t,n){var r;if(e)return t=(t||"fx")+"queue",r=Y.get(e,t),n&&(!r||Array.isArray(n)?r=Y.access(e,t,S.makeArray(n)):r.push(n)),r||[]},dequeue:function(e,t){t=t||"fx";var n=S.queue(e,t),r=n.length,i=n.shift(),o=S._queueHooks(e,t);"inprogress"===i&&(i=n.shift(),r--),i&&("fx"===t&&n.unshift("inprogress"),delete o.stop,i.call(e,function(){S.dequeue(e,t)},o)),!r&&o&&o.empty.fire()},_queueHooks:function(e,t){var n=t+"queueHooks";return Y.get(e,n)||Y.access(e,n,{empty:S.Callbacks("once memory").add(function(){Y.remove(e,[t+"queue",n])})})}}),S.fn.extend({queue:function(t,n){var e=2;return"string"!=typeof t&&(n=t,t="fx",e--),arguments.length<e?S.queue(this[0],t):void 0===n?this:this.each(function(){var e=S.queue(this,t,n);S._queueHooks(this,t),"fx"===t&&"inprogress"!==e[0]&&S.dequeue(this,t)})},dequeue:function(e){return this.each(function(){S.dequeue(this,e)})},clearQueue:function(e){return this.queue(e||"fx",[])},promise:function(e,t){var n,r=1,i=S.Deferred(),o=this,a=this.length,s=function(){--r||i.resolveWith(o,[o])};"string"!=typeof e&&(t=e,e=void 0),e=e||"fx";while(a--)(n=Y.get(o[a],e+"queueHooks"))&&n.empty&&(r++,n.empty.add(s));return s(),i.promise(t)}});var ee=/[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source,te=new RegExp("^(?:([+-])=|)("+ee+")([a-z%]*)$","i"),ne=["Top","Right","Bottom","Left"],re=E.documentElement,ie=function(e){return S.contains(e.ownerDocument,e)},oe={composed:!0};re.getRootNode&&(ie=function(e){return S.contains(e.ownerDocument,e)||e.getRootNode(oe)===e.ownerDocument});var ae=function(e,t){return"none"===(e=t||e).style.display||""===e.style.display&&ie(e)&&"none"===S.css(e,"display")};function se(e,t,n,r){var i,o,a=20,s=r?function(){return r.cur()}:function(){return S.css(e,t,"")},u=s(),l=n&&n[3]||(S.cssNumber[t]?"":"px"),c=e.nodeType&&(S.cssNumber[t]||"px"!==l&&+u)&&te.exec(S.css(e,t));if(c&&c[3]!==l){u/=2,l=l||c[3],c=+u||1;while(a--)S.style(e,t,c+l),(1-o)*(1-(o=s()/u||.5))<=0&&(a=0),c/=o;c*=2,S.style(e,t,c+l),n=n||[]}return n&&(c=+c||+u||0,i=n[1]?c+(n[1]+1)*n[2]:+n[2],r&&(r.unit=l,r.start=c,r.end=i)),i}var ue={};function le(e,t){for(var n,r,i,o,a,s,u,l=[],c=0,f=e.length;c<f;c++)(r=e[c]).style&&(n=r.style.display,t?("none"===n&&(l[c]=Y.get(r,"display")||null,l[c]||(r.style.display="")),""===r.style.display&&ae(r)&&(l[c]=(u=a=o=void 0,a=(i=r).ownerDocument,s=i.nodeName,(u=ue[s])||(o=a.body.appendChild(a.createElement(s)),u=S.css(o,"display"),o.parentNode.removeChild(o),"none"===u&&(u="block"),ue[s]=u)))):"none"!==n&&(l[c]="none",Y.set(r,"display",n)));for(c=0;c<f;c++)null!=l[c]&&(e[c].style.display=l[c]);return e}S.fn.extend({show:function(){return le(this,!0)},hide:function(){return le(this)},toggle:function(e){return"boolean"==typeof e?e?this.show():this.hide():this.each(function(){ae(this)?S(this).show():S(this).hide()})}});var ce,fe,pe=/^(?:checkbox|radio)$/i,de=/<([a-z][^\/\0>\x20\t\r\n\f]*)/i,he=/^$|^module$|\/(?:java|ecma)script/i;ce=E.createDocumentFragment().appendChild(E.createElement("div")),(fe=E.createElement("input")).setAttribute("type","radio"),fe.setAttribute("checked","checked"),fe.setAttribute("name","t"),ce.appendChild(fe),y.checkClone=ce.cloneNode(!0).cloneNode(!0).lastChild.checked,ce.innerHTML="<textarea>x</textarea>",y.noCloneChecked=!!ce.cloneNode(!0).lastChild.defaultValue,ce.innerHTML="<option></option>",y.option=!!ce.lastChild;var ge={thead:[1,"<table>","</table>"],col:[2,"<table><colgroup>","</colgroup></table>"],tr:[2,"<table><tbody>","</tbody></table>"],td:[3,"<table><tbody><tr>","</tr></tbody></table>"],_default:[0,"",""]};function ve(e,t){var n;return n="undefined"!=typeof e.getElementsByTagName?e.getElementsByTagName(t||"*"):"undefined"!=typeof e.querySelectorAll?e.querySelectorAll(t||"*"):[],void 0===t||t&&A(e,t)?S.merge([e],n):n}function ye(e,t){for(var n=0,r=e.length;n<r;n++)Y.set(e[n],"globalEval",!t||Y.get(t[n],"globalEval"))}ge.tbody=ge.tfoot=ge.colgroup=ge.caption=ge.thead,ge.th=ge.td,y.option||(ge.optgroup=ge.option=[1,"<select multiple='multiple'>","</select>"]);var me=/<|&#?\w+;/;function xe(e,t,n,r,i){for(var o,a,s,u,l,c,f=t.createDocumentFragment(),p=[],d=0,h=e.length;d<h;d++)if((o=e[d])||0===o)if("object"===w(o))S.merge(p,o.nodeType?[o]:o);else if(me.test(o)){a=a||f.appendChild(t.createElement("div")),s=(de.exec(o)||["",""])[1].toLowerCase(),u=ge[s]||ge._default,a.innerHTML=u[1]+S.htmlPrefilter(o)+u[2],c=u[0];while(c--)a=a.lastChild;S.merge(p,a.childNodes),(a=f.firstChild).textContent=""}else p.push(t.createTextNode(o));f.textContent="",d=0;while(o=p[d++])if(r&&-1<S.inArray(o,r))i&&i.push(o);else if(l=ie(o),a=ve(f.appendChild(o),"script"),l&&ye(a),n){c=0;while(o=a[c++])he.test(o.type||"")&&n.push(o)}return f}var be=/^([^.]*)(?:\.(.+)|)/;function we(){return!0}function Te(){return!1}function Ce(e,t){return e===function(){try{return E.activeElement}catch(e){}}()==("focus"===t)}function Ee(e,t,n,r,i,o){var a,s;if("object"==typeof t){for(s in"string"!=typeof n&&(r=r||n,n=void 0),t)Ee(e,s,n,r,t[s],o);return e}if(null==r&&null==i?(i=n,r=n=void 0):null==i&&("string"==typeof n?(i=r,r=void 0):(i=r,r=n,n=void 0)),!1===i)i=Te;else if(!i)return e;return 1===o&&(a=i,(i=function(e){return S().off(e),a.apply(this,arguments)}).guid=a.guid||(a.guid=S.guid++)),e.each(function(){S.event.add(this,t,i,r,n)})}function Se(e,i,o){o?(Y.set(e,i,!1),S.event.add(e,i,{namespace:!1,handler:function(e){var t,n,r=Y.get(this,i);if(1&e.isTrigger&&this[i]){if(r.length)(S.event.special[i]||{}).delegateType&&e.stopPropagation();else if(r=s.call(arguments),Y.set(this,i,r),t=o(this,i),this[i](),r!==(n=Y.get(this,i))||t?Y.set(this,i,!1):n={},r!==n)return e.stopImmediatePropagation(),e.preventDefault(),n&&n.value}else r.length&&(Y.set(this,i,{value:S.event.trigger(S.extend(r[0],S.Event.prototype),r.slice(1),this)}),e.stopImmediatePropagation())}})):void 0===Y.get(e,i)&&S.event.add(e,i,we)}S.event={global:{},add:function(t,e,n,r,i){var o,a,s,u,l,c,f,p,d,h,g,v=Y.get(t);if(V(t)){n.handler&&(n=(o=n).handler,i=o.selector),i&&S.find.matchesSelector(re,i),n.guid||(n.guid=S.guid++),(u=v.events)||(u=v.events=Object.create(null)),(a=v.handle)||(a=v.handle=function(e){return"undefined"!=typeof S&&S.event.triggered!==e.type?S.event.dispatch.apply(t,arguments):void 0}),l=(e=(e||"").match(P)||[""]).length;while(l--)d=g=(s=be.exec(e[l])||[])[1],h=(s[2]||"").split(".").sort(),d&&(f=S.event.special[d]||{},d=(i?f.delegateType:f.bindType)||d,f=S.event.special[d]||{},c=S.extend({type:d,origType:g,data:r,handler:n,guid:n.guid,selector:i,needsContext:i&&S.expr.match.needsContext.test(i),namespace:h.join(".")},o),(p=u[d])||((p=u[d]=[]).delegateCount=0,f.setup&&!1!==f.setup.call(t,r,h,a)||t.addEventListener&&t.addEventListener(d,a)),f.add&&(f.add.call(t,c),c.handler.guid||(c.handler.guid=n.guid)),i?p.splice(p.delegateCount++,0,c):p.push(c),S.event.global[d]=!0)}},remove:function(e,t,n,r,i){var o,a,s,u,l,c,f,p,d,h,g,v=Y.hasData(e)&&Y.get(e);if(v&&(u=v.events)){l=(t=(t||"").match(P)||[""]).length;while(l--)if(d=g=(s=be.exec(t[l])||[])[1],h=(s[2]||"").split(".").sort(),d){f=S.event.special[d]||{},p=u[d=(r?f.delegateType:f.bindType)||d]||[],s=s[2]&&new RegExp("(^|\\.)"+h.join("\\.(?:.*\\.|)")+"(\\.|$)"),a=o=p.length;while(o--)c=p[o],!i&&g!==c.origType||n&&n.guid!==c.guid||s&&!s.test(c.namespace)||r&&r!==c.selector&&("**"!==r||!c.selector)||(p.splice(o,1),c.selector&&p.delegateCount--,f.remove&&f.remove.call(e,c));a&&!p.length&&(f.teardown&&!1!==f.teardown.call(e,h,v.handle)||S.removeEvent(e,d,v.handle),delete u[d])}else for(d in u)S.event.remove(e,d+t[l],n,r,!0);S.isEmptyObject(u)&&Y.remove(e,"handle events")}},dispatch:function(e){var t,n,r,i,o,a,s=new Array(arguments.length),u=S.event.fix(e),l=(Y.get(this,"events")||Object.create(null))[u.type]||[],c=S.event.special[u.type]||{};for(s[0]=u,t=1;t<arguments.length;t++)s[t]=arguments[t];if(u.delegateTarget=this,!c.preDispatch||!1!==c.preDispatch.call(this,u)){a=S.event.handlers.call(this,u,l),t=0;while((i=a[t++])&&!u.isPropagationStopped()){u.currentTarget=i.elem,n=0;while((o=i.handlers[n++])&&!u.isImmediatePropagationStopped())u.rnamespace&&!1!==o.namespace&&!u.rnamespace.test(o.namespace)||(u.handleObj=o,u.data=o.data,void 0!==(r=((S.event.special[o.origType]||{}).handle||o.handler).apply(i.elem,s))&&!1===(u.result=r)&&(u.preventDefault(),u.stopPropagation()))}return c.postDispatch&&c.postDispatch.call(this,u),u.result}},handlers:function(e,t){var n,r,i,o,a,s=[],u=t.delegateCount,l=e.target;if(u&&l.nodeType&&!("click"===e.type&&1<=e.button))for(;l!==this;l=l.parentNode||this)if(1===l.nodeType&&("click"!==e.type||!0!==l.disabled)){for(o=[],a={},n=0;n<u;n++)void 0===a[i=(r=t[n]).selector+" "]&&(a[i]=r.needsContext?-1<S(i,this).index(l):S.find(i,this,null,[l]).length),a[i]&&o.push(r);o.length&&s.push({elem:l,handlers:o})}return l=this,u<t.length&&s.push({elem:l,handlers:t.slice(u)}),s},addProp:function(t,e){Object.defineProperty(S.Event.prototype,t,{enumerable:!0,configurable:!0,get:m(e)?function(){if(this.originalEvent)return e(this.originalEvent)}:function(){if(this.originalEvent)return this.originalEvent[t]},set:function(e){Object.defineProperty(this,t,{enumerable:!0,configurable:!0,writable:!0,value:e})}})},fix:function(e){return e[S.expando]?e:new S.Event(e)},special:{load:{noBubble:!0},click:{setup:function(e){var t=this||e;return pe.test(t.type)&&t.click&&A(t,"input")&&Se(t,"click",we),!1},trigger:function(e){var t=this||e;return pe.test(t.type)&&t.click&&A(t,"input")&&Se(t,"click"),!0},_default:function(e){var t=e.target;return pe.test(t.type)&&t.click&&A(t,"input")&&Y.get(t,"click")||A(t,"a")}},beforeunload:{postDispatch:function(e){void 0!==e.result&&e.originalEvent&&(e.originalEvent.returnValue=e.result)}}}},S.removeEvent=function(e,t,n){e.removeEventListener&&e.removeEventListener(t,n)},S.Event=function(e,t){if(!(this instanceof S.Event))return new S.Event(e,t);e&&e.type?(this.originalEvent=e,this.type=e.type,this.isDefaultPrevented=e.defaultPrevented||void 0===e.defaultPrevented&&!1===e.returnValue?we:Te,this.target=e.target&&3===e.target.nodeType?e.target.parentNode:e.target,this.currentTarget=e.currentTarget,this.relatedTarget=e.relatedTarget):this.type=e,t&&S.extend(this,t),this.timeStamp=e&&e.timeStamp||Date.now(),this[S.expando]=!0},S.Event.prototype={constructor:S.Event,isDefaultPrevented:Te,isPropagationStopped:Te,isImmediatePropagationStopped:Te,isSimulated:!1,preventDefault:function(){var e=this.originalEvent;this.isDefaultPrevented=we,e&&!this.isSimulated&&e.preventDefault()},stopPropagation:function(){var e=this.originalEvent;this.isPropagationStopped=we,e&&!this.isSimulated&&e.stopPropagation()},stopImmediatePropagation:function(){var e=this.originalEvent;this.isImmediatePropagationStopped=we,e&&!this.isSimulated&&e.stopImmediatePropagation(),this.stopPropagation()}},S.each({altKey:!0,bubbles:!0,cancelable:!0,changedTouches:!0,ctrlKey:!0,detail:!0,eventPhase:!0,metaKey:!0,pageX:!0,pageY:!0,shiftKey:!0,view:!0,"char":!0,code:!0,charCode:!0,key:!0,keyCode:!0,button:!0,buttons:!0,clientX:!0,clientY:!0,offsetX:!0,offsetY:!0,pointerId:!0,pointerType:!0,screenX:!0,screenY:!0,targetTouches:!0,toElement:!0,touches:!0,which:!0},S.event.addProp),S.each({focus:"focusin",blur:"focusout"},function(e,t){S.event.special[e]={setup:function(){return Se(this,e,Ce),!1},trigger:function(){return Se(this,e),!0},_default:function(){return!0},delegateType:t}}),S.each({mouseenter:"mouseover",mouseleave:"mouseout",pointerenter:"pointerover",pointerleave:"pointerout"},function(e,i){S.event.special[e]={delegateType:i,bindType:i,handle:function(e){var t,n=e.relatedTarget,r=e.handleObj;return n&&(n===this||S.contains(this,n))||(e.type=r.origType,t=r.handler.apply(this,arguments),e.type=i),t}}}),S.fn.extend({on:function(e,t,n,r){return Ee(this,e,t,n,r)},one:function(e,t,n,r){return Ee(this,e,t,n,r,1)},off:function(e,t,n){var r,i;if(e&&e.preventDefault&&e.handleObj)return r=e.handleObj,S(e.delegateTarget).off(r.namespace?r.origType+"."+r.namespace:r.origType,r.selector,r.handler),this;if("object"==typeof e){for(i in e)this.off(i,t,e[i]);return this}return!1!==t&&"function"!=typeof t||(n=t,t=void 0),!1===n&&(n=Te),this.each(function(){S.event.remove(this,e,n,t)})}});var ke=/<script|<style|<link/i,Ae=/checked\s*(?:[^=]|=\s*.checked.)/i,Ne=/^\s*<!(?:\[CDATA\[|--)|(?:\]\]|--)>\s*$/g;function je(e,t){return A(e,"table")&&A(11!==t.nodeType?t:t.firstChild,"tr")&&S(e).children("tbody")[0]||e}function De(e){return e.type=(null!==e.getAttribute("type"))+"/"+e.type,e}function qe(e){return"true/"===(e.type||"").slice(0,5)?e.type=e.type.slice(5):e.removeAttribute("type"),e}function Le(e,t){var n,r,i,o,a,s;if(1===t.nodeType){if(Y.hasData(e)&&(s=Y.get(e).events))for(i in Y.remove(t,"handle events"),s)for(n=0,r=s[i].length;n<r;n++)S.event.add(t,i,s[i][n]);Q.hasData(e)&&(o=Q.access(e),a=S.extend({},o),Q.set(t,a))}}function He(n,r,i,o){r=g(r);var e,t,a,s,u,l,c=0,f=n.length,p=f-1,d=r[0],h=m(d);if(h||1<f&&"string"==typeof d&&!y.checkClone&&Ae.test(d))return n.each(function(e){var t=n.eq(e);h&&(r[0]=d.call(this,e,t.html())),He(t,r,i,o)});if(f&&(t=(e=xe(r,n[0].ownerDocument,!1,n,o)).firstChild,1===e.childNodes.length&&(e=t),t||o)){for(s=(a=S.map(ve(e,"script"),De)).length;c<f;c++)u=e,c!==p&&(u=S.clone(u,!0,!0),s&&S.merge(a,ve(u,"script"))),i.call(n[c],u,c);if(s)for(l=a[a.length-1].ownerDocument,S.map(a,qe),c=0;c<s;c++)u=a[c],he.test(u.type||"")&&!Y.access(u,"globalEval")&&S.contains(l,u)&&(u.src&&"module"!==(u.type||"").toLowerCase()?S._evalUrl&&!u.noModule&&S._evalUrl(u.src,{nonce:u.nonce||u.getAttribute("nonce")},l):b(u.textContent.replace(Ne,""),u,l))}return n}function Oe(e,t,n){for(var r,i=t?S.filter(t,e):e,o=0;null!=(r=i[o]);o++)n||1!==r.nodeType||S.cleanData(ve(r)),r.parentNode&&(n&&ie(r)&&ye(ve(r,"script")),r.parentNode.removeChild(r));return e}S.extend({htmlPrefilter:function(e){return e},clone:function(e,t,n){var r,i,o,a,s,u,l,c=e.cloneNode(!0),f=ie(e);if(!(y.noCloneChecked||1!==e.nodeType&&11!==e.nodeType||S.isXMLDoc(e)))for(a=ve(c),r=0,i=(o=ve(e)).length;r<i;r++)s=o[r],u=a[r],void 0,"input"===(l=u.nodeName.toLowerCase())&&pe.test(s.type)?u.checked=s.checked:"input"!==l&&"textarea"!==l||(u.defaultValue=s.defaultValue);if(t)if(n)for(o=o||ve(e),a=a||ve(c),r=0,i=o.length;r<i;r++)Le(o[r],a[r]);else Le(e,c);return 0<(a=ve(c,"script")).length&&ye(a,!f&&ve(e,"script")),c},cleanData:function(e){for(var t,n,r,i=S.event.special,o=0;void 0!==(n=e[o]);o++)if(V(n)){if(t=n[Y.expando]){if(t.events)for(r in t.events)i[r]?S.event.remove(n,r):S.removeEvent(n,r,t.handle);n[Y.expando]=void 0}n[Q.expando]&&(n[Q.expando]=void 0)}}}),S.fn.extend({detach:function(e){return Oe(this,e,!0)},remove:function(e){return Oe(this,e)},text:function(e){return $(this,function(e){return void 0===e?S.text(this):this.empty().each(function(){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||(this.textContent=e)})},null,e,arguments.length)},append:function(){return He(this,arguments,function(e){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||je(this,e).appendChild(e)})},prepend:function(){return He(this,arguments,function(e){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var t=je(this,e);t.insertBefore(e,t.firstChild)}})},before:function(){return He(this,arguments,function(e){this.parentNode&&this.parentNode.insertBefore(e,this)})},after:function(){return He(this,arguments,function(e){this.parentNode&&this.parentNode.insertBefore(e,this.nextSibling)})},empty:function(){for(var e,t=0;null!=(e=this[t]);t++)1===e.nodeType&&(S.cleanData(ve(e,!1)),e.textContent="");return this},clone:function(e,t){return e=null!=e&&e,t=null==t?e:t,this.map(function(){return S.clone(this,e,t)})},html:function(e){return $(this,function(e){var t=this[0]||{},n=0,r=this.length;if(void 0===e&&1===t.nodeType)return t.innerHTML;if("string"==typeof e&&!ke.test(e)&&!ge[(de.exec(e)||["",""])[1].toLowerCase()]){e=S.htmlPrefilter(e);try{for(;n<r;n++)1===(t=this[n]||{}).nodeType&&(S.cleanData(ve(t,!1)),t.innerHTML=e);t=0}catch(e){}}t&&this.empty().append(e)},null,e,arguments.length)},replaceWith:function(){var n=[];return He(this,arguments,function(e){var t=this.parentNode;S.inArray(this,n)<0&&(S.cleanData(ve(this)),t&&t.replaceChild(e,this))},n)}}),S.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(e,a){S.fn[e]=function(e){for(var t,n=[],r=S(e),i=r.length-1,o=0;o<=i;o++)t=o===i?this:this.clone(!0),S(r[o])[a](t),u.apply(n,t.get());return this.pushStack(n)}});var Pe=new RegExp("^("+ee+")(?!px)[a-z%]+$","i"),Re=function(e){var t=e.ownerDocument.defaultView;return t&&t.opener||(t=C),t.getComputedStyle(e)},Me=function(e,t,n){var r,i,o={};for(i in t)o[i]=e.style[i],e.style[i]=t[i];for(i in r=n.call(e),t)e.style[i]=o[i];return r},Ie=new RegExp(ne.join("|"),"i");function We(e,t,n){var r,i,o,a,s=e.style;return(n=n||Re(e))&&(""!==(a=n.getPropertyValue(t)||n[t])||ie(e)||(a=S.style(e,t)),!y.pixelBoxStyles()&&Pe.test(a)&&Ie.test(t)&&(r=s.width,i=s.minWidth,o=s.maxWidth,s.minWidth=s.maxWidth=s.width=a,a=n.width,s.width=r,s.minWidth=i,s.maxWidth=o)),void 0!==a?a+"":a}function Fe(e,t){return{get:function(){if(!e())return(this.get=t).apply(this,arguments);delete this.get}}}!function(){function e(){if(l){u.style.cssText="position:absolute;left:-11111px;width:60px;margin-top:1px;padding:0;border:0",l.style.cssText="position:relative;display:block;box-sizing:border-box;overflow:scroll;margin:auto;border:1px;padding:1px;width:60%;top:1%",re.appendChild(u).appendChild(l);var e=C.getComputedStyle(l);n="1%"!==e.top,s=12===t(e.marginLeft),l.style.right="60%",o=36===t(e.right),r=36===t(e.width),l.style.position="absolute",i=12===t(l.offsetWidth/3),re.removeChild(u),l=null}}function t(e){return Math.round(parseFloat(e))}var n,r,i,o,a,s,u=E.createElement("div"),l=E.createElement("div");l.style&&(l.style.backgroundClip="content-box",l.cloneNode(!0).style.backgroundClip="",y.clearCloneStyle="content-box"===l.style.backgroundClip,S.extend(y,{boxSizingReliable:function(){return e(),r},pixelBoxStyles:function(){return e(),o},pixelPosition:function(){return e(),n},reliableMarginLeft:function(){return e(),s},scrollboxSize:function(){return e(),i},reliableTrDimensions:function(){var e,t,n,r;return null==a&&(e=E.createElement("table"),t=E.createElement("tr"),n=E.createElement("div"),e.style.cssText="position:absolute;left:-11111px;border-collapse:separate",t.style.cssText="border:1px solid",t.style.height="1px",n.style.height="9px",n.style.display="block",re.appendChild(e).appendChild(t).appendChild(n),r=C.getComputedStyle(t),a=parseInt(r.height,10)+parseInt(r.borderTopWidth,10)+parseInt(r.borderBottomWidth,10)===t.offsetHeight,re.removeChild(e)),a}}))}();var Be=["Webkit","Moz","ms"],$e=E.createElement("div").style,_e={};function ze(e){var t=S.cssProps[e]||_e[e];return t||(e in $e?e:_e[e]=function(e){var t=e[0].toUpperCase()+e.slice(1),n=Be.length;while(n--)if((e=Be[n]+t)in $e)return e}(e)||e)}var Ue=/^(none|table(?!-c[ea]).+)/,Xe=/^--/,Ve={position:"absolute",visibility:"hidden",display:"block"},Ge={letterSpacing:"0",fontWeight:"400"};function Ye(e,t,n){var r=te.exec(t);return r?Math.max(0,r[2]-(n||0))+(r[3]||"px"):t}function Qe(e,t,n,r,i,o){var a="width"===t?1:0,s=0,u=0;if(n===(r?"border":"content"))return 0;for(;a<4;a+=2)"margin"===n&&(u+=S.css(e,n+ne[a],!0,i)),r?("content"===n&&(u-=S.css(e,"padding"+ne[a],!0,i)),"margin"!==n&&(u-=S.css(e,"border"+ne[a]+"Width",!0,i))):(u+=S.css(e,"padding"+ne[a],!0,i),"padding"!==n?u+=S.css(e,"border"+ne[a]+"Width",!0,i):s+=S.css(e,"border"+ne[a]+"Width",!0,i));return!r&&0<=o&&(u+=Math.max(0,Math.ceil(e["offset"+t[0].toUpperCase()+t.slice(1)]-o-u-s-.5))||0),u}function Je(e,t,n){var r=Re(e),i=(!y.boxSizingReliable()||n)&&"border-box"===S.css(e,"boxSizing",!1,r),o=i,a=We(e,t,r),s="offset"+t[0].toUpperCase()+t.slice(1);if(Pe.test(a)){if(!n)return a;a="auto"}return(!y.boxSizingReliable()&&i||!y.reliableTrDimensions()&&A(e,"tr")||"auto"===a||!parseFloat(a)&&"inline"===S.css(e,"display",!1,r))&&e.getClientRects().length&&(i="border-box"===S.css(e,"boxSizing",!1,r),(o=s in e)&&(a=e[s])),(a=parseFloat(a)||0)+Qe(e,t,n||(i?"border":"content"),o,r,a)+"px"}function Ke(e,t,n,r,i){return new Ke.prototype.init(e,t,n,r,i)}S.extend({cssHooks:{opacity:{get:function(e,t){if(t){var n=We(e,"opacity");return""===n?"1":n}}}},cssNumber:{animationIterationCount:!0,columnCount:!0,fillOpacity:!0,flexGrow:!0,flexShrink:!0,fontWeight:!0,gridArea:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnStart:!0,gridRow:!0,gridRowEnd:!0,gridRowStart:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{},style:function(e,t,n,r){if(e&&3!==e.nodeType&&8!==e.nodeType&&e.style){var i,o,a,s=X(t),u=Xe.test(t),l=e.style;if(u||(t=ze(s)),a=S.cssHooks[t]||S.cssHooks[s],void 0===n)return a&&"get"in a&&void 0!==(i=a.get(e,!1,r))?i:l[t];"string"===(o=typeof n)&&(i=te.exec(n))&&i[1]&&(n=se(e,t,i),o="number"),null!=n&&n==n&&("number"!==o||u||(n+=i&&i[3]||(S.cssNumber[s]?"":"px")),y.clearCloneStyle||""!==n||0!==t.indexOf("background")||(l[t]="inherit"),a&&"set"in a&&void 0===(n=a.set(e,n,r))||(u?l.setProperty(t,n):l[t]=n))}},css:function(e,t,n,r){var i,o,a,s=X(t);return Xe.test(t)||(t=ze(s)),(a=S.cssHooks[t]||S.cssHooks[s])&&"get"in a&&(i=a.get(e,!0,n)),void 0===i&&(i=We(e,t,r)),"normal"===i&&t in Ge&&(i=Ge[t]),""===n||n?(o=parseFloat(i),!0===n||isFinite(o)?o||0:i):i}}),S.each(["height","width"],function(e,u){S.cssHooks[u]={get:function(e,t,n){if(t)return!Ue.test(S.css(e,"display"))||e.getClientRects().length&&e.getBoundingClientRect().width?Je(e,u,n):Me(e,Ve,function(){return Je(e,u,n)})},set:function(e,t,n){var r,i=Re(e),o=!y.scrollboxSize()&&"absolute"===i.position,a=(o||n)&&"border-box"===S.css(e,"boxSizing",!1,i),s=n?Qe(e,u,n,a,i):0;return a&&o&&(s-=Math.ceil(e["offset"+u[0].toUpperCase()+u.slice(1)]-parseFloat(i[u])-Qe(e,u,"border",!1,i)-.5)),s&&(r=te.exec(t))&&"px"!==(r[3]||"px")&&(e.style[u]=t,t=S.css(e,u)),Ye(0,t,s)}}}),S.cssHooks.marginLeft=Fe(y.reliableMarginLeft,function(e,t){if(t)return(parseFloat(We(e,"marginLeft"))||e.getBoundingClientRect().left-Me(e,{marginLeft:0},function(){return e.getBoundingClientRect().left}))+"px"}),S.each({margin:"",padding:"",border:"Width"},function(i,o){S.cssHooks[i+o]={expand:function(e){for(var t=0,n={},r="string"==typeof e?e.split(" "):[e];t<4;t++)n[i+ne[t]+o]=r[t]||r[t-2]||r[0];return n}},"margin"!==i&&(S.cssHooks[i+o].set=Ye)}),S.fn.extend({css:function(e,t){return $(this,function(e,t,n){var r,i,o={},a=0;if(Array.isArray(t)){for(r=Re(e),i=t.length;a<i;a++)o[t[a]]=S.css(e,t[a],!1,r);return o}return void 0!==n?S.style(e,t,n):S.css(e,t)},e,t,1<arguments.length)}}),((S.Tween=Ke).prototype={constructor:Ke,init:function(e,t,n,r,i,o){this.elem=e,this.prop=n,this.easing=i||S.easing._default,this.options=t,this.start=this.now=this.cur(),this.end=r,this.unit=o||(S.cssNumber[n]?"":"px")},cur:function(){var e=Ke.propHooks[this.prop];return e&&e.get?e.get(this):Ke.propHooks._default.get(this)},run:function(e){var t,n=Ke.propHooks[this.prop];return this.options.duration?this.pos=t=S.easing[this.easing](e,this.options.duration*e,0,1,this.options.duration):this.pos=t=e,this.now=(this.end-this.start)*t+this.start,this.options.step&&this.options.step.call(this.elem,this.now,this),n&&n.set?n.set(this):Ke.propHooks._default.set(this),this}}).init.prototype=Ke.prototype,(Ke.propHooks={_default:{get:function(e){var t;return 1!==e.elem.nodeType||null!=e.elem[e.prop]&&null==e.elem.style[e.prop]?e.elem[e.prop]:(t=S.css(e.elem,e.prop,""))&&"auto"!==t?t:0},set:function(e){S.fx.step[e.prop]?S.fx.step[e.prop](e):1!==e.elem.nodeType||!S.cssHooks[e.prop]&&null==e.elem.style[ze(e.prop)]?e.elem[e.prop]=e.now:S.style(e.elem,e.prop,e.now+e.unit)}}}).scrollTop=Ke.propHooks.scrollLeft={set:function(e){e.elem.nodeType&&e.elem.parentNode&&(e.elem[e.prop]=e.now)}},S.easing={linear:function(e){return e},swing:function(e){return.5-Math.cos(e*Math.PI)/2},_default:"swing"},S.fx=Ke.prototype.init,S.fx.step={};var Ze,et,tt,nt,rt=/^(?:toggle|show|hide)$/,it=/queueHooks$/;function ot(){et&&(!1===E.hidden&&C.requestAnimationFrame?C.requestAnimationFrame(ot):C.setTimeout(ot,S.fx.interval),S.fx.tick())}function at(){return C.setTimeout(function(){Ze=void 0}),Ze=Date.now()}function st(e,t){var n,r=0,i={height:e};for(t=t?1:0;r<4;r+=2-t)i["margin"+(n=ne[r])]=i["padding"+n]=e;return t&&(i.opacity=i.width=e),i}function ut(e,t,n){for(var r,i=(lt.tweeners[t]||[]).concat(lt.tweeners["*"]),o=0,a=i.length;o<a;o++)if(r=i[o].call(n,t,e))return r}function lt(o,e,t){var n,a,r=0,i=lt.prefilters.length,s=S.Deferred().always(function(){delete u.elem}),u=function(){if(a)return!1;for(var e=Ze||at(),t=Math.max(0,l.startTime+l.duration-e),n=1-(t/l.duration||0),r=0,i=l.tweens.length;r<i;r++)l.tweens[r].run(n);return s.notifyWith(o,[l,n,t]),n<1&&i?t:(i||s.notifyWith(o,[l,1,0]),s.resolveWith(o,[l]),!1)},l=s.promise({elem:o,props:S.extend({},e),opts:S.extend(!0,{specialEasing:{},easing:S.easing._default},t),originalProperties:e,originalOptions:t,startTime:Ze||at(),duration:t.duration,tweens:[],createTween:function(e,t){var n=S.Tween(o,l.opts,e,t,l.opts.specialEasing[e]||l.opts.easing);return l.tweens.push(n),n},stop:function(e){var t=0,n=e?l.tweens.length:0;if(a)return this;for(a=!0;t<n;t++)l.tweens[t].run(1);return e?(s.notifyWith(o,[l,1,0]),s.resolveWith(o,[l,e])):s.rejectWith(o,[l,e]),this}}),c=l.props;for(!function(e,t){var n,r,i,o,a;for(n in e)if(i=t[r=X(n)],o=e[n],Array.isArray(o)&&(i=o[1],o=e[n]=o[0]),n!==r&&(e[r]=o,delete e[n]),(a=S.cssHooks[r])&&"expand"in a)for(n in o=a.expand(o),delete e[r],o)n in e||(e[n]=o[n],t[n]=i);else t[r]=i}(c,l.opts.specialEasing);r<i;r++)if(n=lt.prefilters[r].call(l,o,c,l.opts))return m(n.stop)&&(S._queueHooks(l.elem,l.opts.queue).stop=n.stop.bind(n)),n;return S.map(c,ut,l),m(l.opts.start)&&l.opts.start.call(o,l),l.progress(l.opts.progress).done(l.opts.done,l.opts.complete).fail(l.opts.fail).always(l.opts.always),S.fx.timer(S.extend(u,{elem:o,anim:l,queue:l.opts.queue})),l}S.Animation=S.extend(lt,{tweeners:{"*":[function(e,t){var n=this.createTween(e,t);return se(n.elem,e,te.exec(t),n),n}]},tweener:function(e,t){m(e)?(t=e,e=["*"]):e=e.match(P);for(var n,r=0,i=e.length;r<i;r++)n=e[r],lt.tweeners[n]=lt.tweeners[n]||[],lt.tweeners[n].unshift(t)},prefilters:[function(e,t,n){var r,i,o,a,s,u,l,c,f="width"in t||"height"in t,p=this,d={},h=e.style,g=e.nodeType&&ae(e),v=Y.get(e,"fxshow");for(r in n.queue||(null==(a=S._queueHooks(e,"fx")).unqueued&&(a.unqueued=0,s=a.empty.fire,a.empty.fire=function(){a.unqueued||s()}),a.unqueued++,p.always(function(){p.always(function(){a.unqueued--,S.queue(e,"fx").length||a.empty.fire()})})),t)if(i=t[r],rt.test(i)){if(delete t[r],o=o||"toggle"===i,i===(g?"hide":"show")){if("show"!==i||!v||void 0===v[r])continue;g=!0}d[r]=v&&v[r]||S.style(e,r)}if((u=!S.isEmptyObject(t))||!S.isEmptyObject(d))for(r in f&&1===e.nodeType&&(n.overflow=[h.overflow,h.overflowX,h.overflowY],null==(l=v&&v.display)&&(l=Y.get(e,"display")),"none"===(c=S.css(e,"display"))&&(l?c=l:(le([e],!0),l=e.style.display||l,c=S.css(e,"display"),le([e]))),("inline"===c||"inline-block"===c&&null!=l)&&"none"===S.css(e,"float")&&(u||(p.done(function(){h.display=l}),null==l&&(c=h.display,l="none"===c?"":c)),h.display="inline-block")),n.overflow&&(h.overflow="hidden",p.always(function(){h.overflow=n.overflow[0],h.overflowX=n.overflow[1],h.overflowY=n.overflow[2]})),u=!1,d)u||(v?"hidden"in v&&(g=v.hidden):v=Y.access(e,"fxshow",{display:l}),o&&(v.hidden=!g),g&&le([e],!0),p.done(function(){for(r in g||le([e]),Y.remove(e,"fxshow"),d)S.style(e,r,d[r])})),u=ut(g?v[r]:0,r,p),r in v||(v[r]=u.start,g&&(u.end=u.start,u.start=0))}],prefilter:function(e,t){t?lt.prefilters.unshift(e):lt.prefilters.push(e)}}),S.speed=function(e,t,n){var r=e&&"object"==typeof e?S.extend({},e):{complete:n||!n&&t||m(e)&&e,duration:e,easing:n&&t||t&&!m(t)&&t};return S.fx.off?r.duration=0:"number"!=typeof r.duration&&(r.duration in S.fx.speeds?r.duration=S.fx.speeds[r.duration]:r.duration=S.fx.speeds._default),null!=r.queue&&!0!==r.queue||(r.queue="fx"),r.old=r.complete,r.complete=function(){m(r.old)&&r.old.call(this),r.queue&&S.dequeue(this,r.queue)},r},S.fn.extend({fadeTo:function(e,t,n,r){return this.filter(ae).css("opacity",0).show().end().animate({opacity:t},e,n,r)},animate:function(t,e,n,r){var i=S.isEmptyObject(t),o=S.speed(e,n,r),a=function(){var e=lt(this,S.extend({},t),o);(i||Y.get(this,"finish"))&&e.stop(!0)};return a.finish=a,i||!1===o.queue?this.each(a):this.queue(o.queue,a)},stop:function(i,e,o){var a=function(e){var t=e.stop;delete e.stop,t(o)};return"string"!=typeof i&&(o=e,e=i,i=void 0),e&&this.queue(i||"fx",[]),this.each(function(){var e=!0,t=null!=i&&i+"queueHooks",n=S.timers,r=Y.get(this);if(t)r[t]&&r[t].stop&&a(r[t]);else for(t in r)r[t]&&r[t].stop&&it.test(t)&&a(r[t]);for(t=n.length;t--;)n[t].elem!==this||null!=i&&n[t].queue!==i||(n[t].anim.stop(o),e=!1,n.splice(t,1));!e&&o||S.dequeue(this,i)})},finish:function(a){return!1!==a&&(a=a||"fx"),this.each(function(){var e,t=Y.get(this),n=t[a+"queue"],r=t[a+"queueHooks"],i=S.timers,o=n?n.length:0;for(t.finish=!0,S.queue(this,a,[]),r&&r.stop&&r.stop.call(this,!0),e=i.length;e--;)i[e].elem===this&&i[e].queue===a&&(i[e].anim.stop(!0),i.splice(e,1));for(e=0;e<o;e++)n[e]&&n[e].finish&&n[e].finish.call(this);delete t.finish})}}),S.each(["toggle","show","hide"],function(e,r){var i=S.fn[r];S.fn[r]=function(e,t,n){return null==e||"boolean"==typeof e?i.apply(this,arguments):this.animate(st(r,!0),e,t,n)}}),S.each({slideDown:st("show"),slideUp:st("hide"),slideToggle:st("toggle"),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"},fadeToggle:{opacity:"toggle"}},function(e,r){S.fn[e]=function(e,t,n){return this.animate(r,e,t,n)}}),S.timers=[],S.fx.tick=function(){var e,t=0,n=S.timers;for(Ze=Date.now();t<n.length;t++)(e=n[t])()||n[t]!==e||n.splice(t--,1);n.length||S.fx.stop(),Ze=void 0},S.fx.timer=function(e){S.timers.push(e),S.fx.start()},S.fx.interval=13,S.fx.start=function(){et||(et=!0,ot())},S.fx.stop=function(){et=null},S.fx.speeds={slow:600,fast:200,_default:400},S.fn.delay=function(r,e){return r=S.fx&&S.fx.speeds[r]||r,e=e||"fx",this.queue(e,function(e,t){var n=C.setTimeout(e,r);t.stop=function(){C.clearTimeout(n)}})},tt=E.createElement("input"),nt=E.createElement("select").appendChild(E.createElement("option")),tt.type="checkbox",y.checkOn=""!==tt.value,y.optSelected=nt.selected,(tt=E.createElement("input")).value="t",tt.type="radio",y.radioValue="t"===tt.value;var ct,ft=S.expr.attrHandle;S.fn.extend({attr:function(e,t){return $(this,S.attr,e,t,1<arguments.length)},removeAttr:function(e){return this.each(function(){S.removeAttr(this,e)})}}),S.extend({attr:function(e,t,n){var r,i,o=e.nodeType;if(3!==o&&8!==o&&2!==o)return"undefined"==typeof e.getAttribute?S.prop(e,t,n):(1===o&&S.isXMLDoc(e)||(i=S.attrHooks[t.toLowerCase()]||(S.expr.match.bool.test(t)?ct:void 0)),void 0!==n?null===n?void S.removeAttr(e,t):i&&"set"in i&&void 0!==(r=i.set(e,n,t))?r:(e.setAttribute(t,n+""),n):i&&"get"in i&&null!==(r=i.get(e,t))?r:null==(r=S.find.attr(e,t))?void 0:r)},attrHooks:{type:{set:function(e,t){if(!y.radioValue&&"radio"===t&&A(e,"input")){var n=e.value;return e.setAttribute("type",t),n&&(e.value=n),t}}}},removeAttr:function(e,t){var n,r=0,i=t&&t.match(P);if(i&&1===e.nodeType)while(n=i[r++])e.removeAttribute(n)}}),ct={set:function(e,t,n){return!1===t?S.removeAttr(e,n):e.setAttribute(n,n),n}},S.each(S.expr.match.bool.source.match(/\w+/g),function(e,t){var a=ft[t]||S.find.attr;ft[t]=function(e,t,n){var r,i,o=t.toLowerCase();return n||(i=ft[o],ft[o]=r,r=null!=a(e,t,n)?o:null,ft[o]=i),r}});var pt=/^(?:input|select|textarea|button)$/i,dt=/^(?:a|area)$/i;function ht(e){return(e.match(P)||[]).join(" ")}function gt(e){return e.getAttribute&&e.getAttribute("class")||""}function vt(e){return Array.isArray(e)?e:"string"==typeof e&&e.match(P)||[]}S.fn.extend({prop:function(e,t){return $(this,S.prop,e,t,1<arguments.length)},removeProp:function(e){return this.each(function(){delete this[S.propFix[e]||e]})}}),S.extend({prop:function(e,t,n){var r,i,o=e.nodeType;if(3!==o&&8!==o&&2!==o)return 1===o&&S.isXMLDoc(e)||(t=S.propFix[t]||t,i=S.propHooks[t]),void 0!==n?i&&"set"in i&&void 0!==(r=i.set(e,n,t))?r:e[t]=n:i&&"get"in i&&null!==(r=i.get(e,t))?r:e[t]},propHooks:{tabIndex:{get:function(e){var t=S.find.attr(e,"tabindex");return t?parseInt(t,10):pt.test(e.nodeName)||dt.test(e.nodeName)&&e.href?0:-1}}},propFix:{"for":"htmlFor","class":"className"}}),y.optSelected||(S.propHooks.selected={get:function(e){var t=e.parentNode;return t&&t.parentNode&&t.parentNode.selectedIndex,null},set:function(e){var t=e.parentNode;t&&(t.selectedIndex,t.parentNode&&t.parentNode.selectedIndex)}}),S.each(["tabIndex","readOnly","maxLength","cellSpacing","cellPadding","rowSpan","colSpan","useMap","frameBorder","contentEditable"],function(){S.propFix[this.toLowerCase()]=this}),S.fn.extend({addClass:function(t){var e,n,r,i,o,a,s,u=0;if(m(t))return this.each(function(e){S(this).addClass(t.call(this,e,gt(this)))});if((e=vt(t)).length)while(n=this[u++])if(i=gt(n),r=1===n.nodeType&&" "+ht(i)+" "){a=0;while(o=e[a++])r.indexOf(" "+o+" ")<0&&(r+=o+" ");i!==(s=ht(r))&&n.setAttribute("class",s)}return this},removeClass:function(t){var e,n,r,i,o,a,s,u=0;if(m(t))return this.each(function(e){S(this).removeClass(t.call(this,e,gt(this)))});if(!arguments.length)return this.attr("class","");if((e=vt(t)).length)while(n=this[u++])if(i=gt(n),r=1===n.nodeType&&" "+ht(i)+" "){a=0;while(o=e[a++])while(-1<r.indexOf(" "+o+" "))r=r.replace(" "+o+" "," ");i!==(s=ht(r))&&n.setAttribute("class",s)}return this},toggleClass:function(i,t){var o=typeof i,a="string"===o||Array.isArray(i);return"boolean"==typeof t&&a?t?this.addClass(i):this.removeClass(i):m(i)?this.each(function(e){S(this).toggleClass(i.call(this,e,gt(this),t),t)}):this.each(function(){var e,t,n,r;if(a){t=0,n=S(this),r=vt(i);while(e=r[t++])n.hasClass(e)?n.removeClass(e):n.addClass(e)}else void 0!==i&&"boolean"!==o||((e=gt(this))&&Y.set(this,"__className__",e),this.setAttribute&&this.setAttribute("class",e||!1===i?"":Y.get(this,"__className__")||""))})},hasClass:function(e){var t,n,r=0;t=" "+e+" ";while(n=this[r++])if(1===n.nodeType&&-1<(" "+ht(gt(n))+" ").indexOf(t))return!0;return!1}});var yt=/\r/g;S.fn.extend({val:function(n){var r,e,i,t=this[0];return arguments.length?(i=m(n),this.each(function(e){var t;1===this.nodeType&&(null==(t=i?n.call(this,e,S(this).val()):n)?t="":"number"==typeof t?t+="":Array.isArray(t)&&(t=S.map(t,function(e){return null==e?"":e+""})),(r=S.valHooks[this.type]||S.valHooks[this.nodeName.toLowerCase()])&&"set"in r&&void 0!==r.set(this,t,"value")||(this.value=t))})):t?(r=S.valHooks[t.type]||S.valHooks[t.nodeName.toLowerCase()])&&"get"in r&&void 0!==(e=r.get(t,"value"))?e:"string"==typeof(e=t.value)?e.replace(yt,""):null==e?"":e:void 0}}),S.extend({valHooks:{option:{get:function(e){var t=S.find.attr(e,"value");return null!=t?t:ht(S.text(e))}},select:{get:function(e){var t,n,r,i=e.options,o=e.selectedIndex,a="select-one"===e.type,s=a?null:[],u=a?o+1:i.length;for(r=o<0?u:a?o:0;r<u;r++)if(((n=i[r]).selected||r===o)&&!n.disabled&&(!n.parentNode.disabled||!A(n.parentNode,"optgroup"))){if(t=S(n).val(),a)return t;s.push(t)}return s},set:function(e,t){var n,r,i=e.options,o=S.makeArray(t),a=i.length;while(a--)((r=i[a]).selected=-1<S.inArray(S.valHooks.option.get(r),o))&&(n=!0);return n||(e.selectedIndex=-1),o}}}}),S.each(["radio","checkbox"],function(){S.valHooks[this]={set:function(e,t){if(Array.isArray(t))return e.checked=-1<S.inArray(S(e).val(),t)}},y.checkOn||(S.valHooks[this].get=function(e){return null===e.getAttribute("value")?"on":e.value})}),y.focusin="onfocusin"in C;var mt=/^(?:focusinfocus|focusoutblur)$/,xt=function(e){e.stopPropagation()};S.extend(S.event,{trigger:function(e,t,n,r){var i,o,a,s,u,l,c,f,p=[n||E],d=v.call(e,"type")?e.type:e,h=v.call(e,"namespace")?e.namespace.split("."):[];if(o=f=a=n=n||E,3!==n.nodeType&&8!==n.nodeType&&!mt.test(d+S.event.triggered)&&(-1<d.indexOf(".")&&(d=(h=d.split(".")).shift(),h.sort()),u=d.indexOf(":")<0&&"on"+d,(e=e[S.expando]?e:new S.Event(d,"object"==typeof e&&e)).isTrigger=r?2:3,e.namespace=h.join("."),e.rnamespace=e.namespace?new RegExp("(^|\\.)"+h.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,e.result=void 0,e.target||(e.target=n),t=null==t?[e]:S.makeArray(t,[e]),c=S.event.special[d]||{},r||!c.trigger||!1!==c.trigger.apply(n,t))){if(!r&&!c.noBubble&&!x(n)){for(s=c.delegateType||d,mt.test(s+d)||(o=o.parentNode);o;o=o.parentNode)p.push(o),a=o;a===(n.ownerDocument||E)&&p.push(a.defaultView||a.parentWindow||C)}i=0;while((o=p[i++])&&!e.isPropagationStopped())f=o,e.type=1<i?s:c.bindType||d,(l=(Y.get(o,"events")||Object.create(null))[e.type]&&Y.get(o,"handle"))&&l.apply(o,t),(l=u&&o[u])&&l.apply&&V(o)&&(e.result=l.apply(o,t),!1===e.result&&e.preventDefault());return e.type=d,r||e.isDefaultPrevented()||c._default&&!1!==c._default.apply(p.pop(),t)||!V(n)||u&&m(n[d])&&!x(n)&&((a=n[u])&&(n[u]=null),S.event.triggered=d,e.isPropagationStopped()&&f.addEventListener(d,xt),n[d](),e.isPropagationStopped()&&f.removeEventListener(d,xt),S.event.triggered=void 0,a&&(n[u]=a)),e.result}},simulate:function(e,t,n){var r=S.extend(new S.Event,n,{type:e,isSimulated:!0});S.event.trigger(r,null,t)}}),S.fn.extend({trigger:function(e,t){return this.each(function(){S.event.trigger(e,t,this)})},triggerHandler:function(e,t){var n=this[0];if(n)return S.event.trigger(e,t,n,!0)}}),y.focusin||S.each({focus:"focusin",blur:"focusout"},function(n,r){var i=function(e){S.event.simulate(r,e.target,S.event.fix(e))};S.event.special[r]={setup:function(){var e=this.ownerDocument||this.document||this,t=Y.access(e,r);t||e.addEventListener(n,i,!0),Y.access(e,r,(t||0)+1)},teardown:function(){var e=this.ownerDocument||this.document||this,t=Y.access(e,r)-1;t?Y.access(e,r,t):(e.removeEventListener(n,i,!0),Y.remove(e,r))}}});var bt=C.location,wt={guid:Date.now()},Tt=/\?/;S.parseXML=function(e){var t,n;if(!e||"string"!=typeof e)return null;try{t=(new C.DOMParser).parseFromString(e,"text/xml")}catch(e){}return n=t&&t.getElementsByTagName("parsererror")[0],t&&!n||S.error("Invalid XML: "+(n?S.map(n.childNodes,function(e){return e.textContent}).join("\n"):e)),t};var Ct=/\[\]$/,Et=/\r?\n/g,St=/^(?:submit|button|image|reset|file)$/i,kt=/^(?:input|select|textarea|keygen)/i;function At(n,e,r,i){var t;if(Array.isArray(e))S.each(e,function(e,t){r||Ct.test(n)?i(n,t):At(n+"["+("object"==typeof t&&null!=t?e:"")+"]",t,r,i)});else if(r||"object"!==w(e))i(n,e);else for(t in e)At(n+"["+t+"]",e[t],r,i)}S.param=function(e,t){var n,r=[],i=function(e,t){var n=m(t)?t():t;r[r.length]=encodeURIComponent(e)+"="+encodeURIComponent(null==n?"":n)};if(null==e)return"";if(Array.isArray(e)||e.jquery&&!S.isPlainObject(e))S.each(e,function(){i(this.name,this.value)});else for(n in e)At(n,e[n],t,i);return r.join("&")},S.fn.extend({serialize:function(){return S.param(this.serializeArray())},serializeArray:function(){return this.map(function(){var e=S.prop(this,"elements");return e?S.makeArray(e):this}).filter(function(){var e=this.type;return this.name&&!S(this).is(":disabled")&&kt.test(this.nodeName)&&!St.test(e)&&(this.checked||!pe.test(e))}).map(function(e,t){var n=S(this).val();return null==n?null:Array.isArray(n)?S.map(n,function(e){return{name:t.name,value:e.replace(Et,"\r\n")}}):{name:t.name,value:n.replace(Et,"\r\n")}}).get()}});var Nt=/%20/g,jt=/#.*$/,Dt=/([?&])_=[^&]*/,qt=/^(.*?):[ \t]*([^\r\n]*)$/gm,Lt=/^(?:GET|HEAD)$/,Ht=/^\/\//,Ot={},Pt={},Rt="*/".concat("*"),Mt=E.createElement("a");function It(o){return function(e,t){"string"!=typeof e&&(t=e,e="*");var n,r=0,i=e.toLowerCase().match(P)||[];if(m(t))while(n=i[r++])"+"===n[0]?(n=n.slice(1)||"*",(o[n]=o[n]||[]).unshift(t)):(o[n]=o[n]||[]).push(t)}}function Wt(t,i,o,a){var s={},u=t===Pt;function l(e){var r;return s[e]=!0,S.each(t[e]||[],function(e,t){var n=t(i,o,a);return"string"!=typeof n||u||s[n]?u?!(r=n):void 0:(i.dataTypes.unshift(n),l(n),!1)}),r}return l(i.dataTypes[0])||!s["*"]&&l("*")}function Ft(e,t){var n,r,i=S.ajaxSettings.flatOptions||{};for(n in t)void 0!==t[n]&&((i[n]?e:r||(r={}))[n]=t[n]);return r&&S.extend(!0,e,r),e}Mt.href=bt.href,S.extend({active:0,lastModified:{},etag:{},ajaxSettings:{url:bt.href,type:"GET",isLocal:/^(?:about|app|app-storage|.+-extension|file|res|widget):$/.test(bt.protocol),global:!0,processData:!0,async:!0,contentType:"application/x-www-form-urlencoded; charset=UTF-8",accepts:{"*":Rt,text:"text/plain",html:"text/html",xml:"application/xml, text/xml",json:"application/json, text/javascript"},contents:{xml:/\bxml\b/,html:/\bhtml/,json:/\bjson\b/},responseFields:{xml:"responseXML",text:"responseText",json:"responseJSON"},converters:{"* text":String,"text html":!0,"text json":JSON.parse,"text xml":S.parseXML},flatOptions:{url:!0,context:!0}},ajaxSetup:function(e,t){return t?Ft(Ft(e,S.ajaxSettings),t):Ft(S.ajaxSettings,e)},ajaxPrefilter:It(Ot),ajaxTransport:It(Pt),ajax:function(e,t){"object"==typeof e&&(t=e,e=void 0),t=t||{};var c,f,p,n,d,r,h,g,i,o,v=S.ajaxSetup({},t),y=v.context||v,m=v.context&&(y.nodeType||y.jquery)?S(y):S.event,x=S.Deferred(),b=S.Callbacks("once memory"),w=v.statusCode||{},a={},s={},u="canceled",T={readyState:0,getResponseHeader:function(e){var t;if(h){if(!n){n={};while(t=qt.exec(p))n[t[1].toLowerCase()+" "]=(n[t[1].toLowerCase()+" "]||[]).concat(t[2])}t=n[e.toLowerCase()+" "]}return null==t?null:t.join(", ")},getAllResponseHeaders:function(){return h?p:null},setRequestHeader:function(e,t){return null==h&&(e=s[e.toLowerCase()]=s[e.toLowerCase()]||e,a[e]=t),this},overrideMimeType:function(e){return null==h&&(v.mimeType=e),this},statusCode:function(e){var t;if(e)if(h)T.always(e[T.status]);else for(t in e)w[t]=[w[t],e[t]];return this},abort:function(e){var t=e||u;return c&&c.abort(t),l(0,t),this}};if(x.promise(T),v.url=((e||v.url||bt.href)+"").replace(Ht,bt.protocol+"//"),v.type=t.method||t.type||v.method||v.type,v.dataTypes=(v.dataType||"*").toLowerCase().match(P)||[""],null==v.crossDomain){r=E.createElement("a");try{r.href=v.url,r.href=r.href,v.crossDomain=Mt.protocol+"//"+Mt.host!=r.protocol+"//"+r.host}catch(e){v.crossDomain=!0}}if(v.data&&v.processData&&"string"!=typeof v.data&&(v.data=S.param(v.data,v.traditional)),Wt(Ot,v,t,T),h)return T;for(i in(g=S.event&&v.global)&&0==S.active++&&S.event.trigger("ajaxStart"),v.type=v.type.toUpperCase(),v.hasContent=!Lt.test(v.type),f=v.url.replace(jt,""),v.hasContent?v.data&&v.processData&&0===(v.contentType||"").indexOf("application/x-www-form-urlencoded")&&(v.data=v.data.replace(Nt,"+")):(o=v.url.slice(f.length),v.data&&(v.processData||"string"==typeof v.data)&&(f+=(Tt.test(f)?"&":"?")+v.data,delete v.data),!1===v.cache&&(f=f.replace(Dt,"$1"),o=(Tt.test(f)?"&":"?")+"_="+wt.guid+++o),v.url=f+o),v.ifModified&&(S.lastModified[f]&&T.setRequestHeader("If-Modified-Since",S.lastModified[f]),S.etag[f]&&T.setRequestHeader("If-None-Match",S.etag[f])),(v.data&&v.hasContent&&!1!==v.contentType||t.contentType)&&T.setRequestHeader("Content-Type",v.contentType),T.setRequestHeader("Accept",v.dataTypes[0]&&v.accepts[v.dataTypes[0]]?v.accepts[v.dataTypes[0]]+("*"!==v.dataTypes[0]?", "+Rt+"; q=0.01":""):v.accepts["*"]),v.headers)T.setRequestHeader(i,v.headers[i]);if(v.beforeSend&&(!1===v.beforeSend.call(y,T,v)||h))return T.abort();if(u="abort",b.add(v.complete),T.done(v.success),T.fail(v.error),c=Wt(Pt,v,t,T)){if(T.readyState=1,g&&m.trigger("ajaxSend",[T,v]),h)return T;v.async&&0<v.timeout&&(d=C.setTimeout(function(){T.abort("timeout")},v.timeout));try{h=!1,c.send(a,l)}catch(e){if(h)throw e;l(-1,e)}}else l(-1,"No Transport");function l(e,t,n,r){var i,o,a,s,u,l=t;h||(h=!0,d&&C.clearTimeout(d),c=void 0,p=r||"",T.readyState=0<e?4:0,i=200<=e&&e<300||304===e,n&&(s=function(e,t,n){var r,i,o,a,s=e.contents,u=e.dataTypes;while("*"===u[0])u.shift(),void 0===r&&(r=e.mimeType||t.getResponseHeader("Content-Type"));if(r)for(i in s)if(s[i]&&s[i].test(r)){u.unshift(i);break}if(u[0]in n)o=u[0];else{for(i in n){if(!u[0]||e.converters[i+" "+u[0]]){o=i;break}a||(a=i)}o=o||a}if(o)return o!==u[0]&&u.unshift(o),n[o]}(v,T,n)),!i&&-1<S.inArray("script",v.dataTypes)&&S.inArray("json",v.dataTypes)<0&&(v.converters["text script"]=function(){}),s=function(e,t,n,r){var i,o,a,s,u,l={},c=e.dataTypes.slice();if(c[1])for(a in e.converters)l[a.toLowerCase()]=e.converters[a];o=c.shift();while(o)if(e.responseFields[o]&&(n[e.responseFields[o]]=t),!u&&r&&e.dataFilter&&(t=e.dataFilter(t,e.dataType)),u=o,o=c.shift())if("*"===o)o=u;else if("*"!==u&&u!==o){if(!(a=l[u+" "+o]||l["* "+o]))for(i in l)if((s=i.split(" "))[1]===o&&(a=l[u+" "+s[0]]||l["* "+s[0]])){!0===a?a=l[i]:!0!==l[i]&&(o=s[0],c.unshift(s[1]));break}if(!0!==a)if(a&&e["throws"])t=a(t);else try{t=a(t)}catch(e){return{state:"parsererror",error:a?e:"No conversion from "+u+" to "+o}}}return{state:"success",data:t}}(v,s,T,i),i?(v.ifModified&&((u=T.getResponseHeader("Last-Modified"))&&(S.lastModified[f]=u),(u=T.getResponseHeader("etag"))&&(S.etag[f]=u)),204===e||"HEAD"===v.type?l="nocontent":304===e?l="notmodified":(l=s.state,o=s.data,i=!(a=s.error))):(a=l,!e&&l||(l="error",e<0&&(e=0))),T.status=e,T.statusText=(t||l)+"",i?x.resolveWith(y,[o,l,T]):x.rejectWith(y,[T,l,a]),T.statusCode(w),w=void 0,g&&m.trigger(i?"ajaxSuccess":"ajaxError",[T,v,i?o:a]),b.fireWith(y,[T,l]),g&&(m.trigger("ajaxComplete",[T,v]),--S.active||S.event.trigger("ajaxStop")))}return T},getJSON:function(e,t,n){return S.get(e,t,n,"json")},getScript:function(e,t){return S.get(e,void 0,t,"script")}}),S.each(["get","post"],function(e,i){S[i]=function(e,t,n,r){return m(t)&&(r=r||n,n=t,t=void 0),S.ajax(S.extend({url:e,type:i,dataType:r,data:t,success:n},S.isPlainObject(e)&&e))}}),S.ajaxPrefilter(function(e){var t;for(t in e.headers)"content-type"===t.toLowerCase()&&(e.contentType=e.headers[t]||"")}),S._evalUrl=function(e,t,n){return S.ajax({url:e,type:"GET",dataType:"script",cache:!0,async:!1,global:!1,converters:{"text script":function(){}},dataFilter:function(e){S.globalEval(e,t,n)}})},S.fn.extend({wrapAll:function(e){var t;return this[0]&&(m(e)&&(e=e.call(this[0])),t=S(e,this[0].ownerDocument).eq(0).clone(!0),this[0].parentNode&&t.insertBefore(this[0]),t.map(function(){var e=this;while(e.firstElementChild)e=e.firstElementChild;return e}).append(this)),this},wrapInner:function(n){return m(n)?this.each(function(e){S(this).wrapInner(n.call(this,e))}):this.each(function(){var e=S(this),t=e.contents();t.length?t.wrapAll(n):e.append(n)})},wrap:function(t){var n=m(t);return this.each(function(e){S(this).wrapAll(n?t.call(this,e):t)})},unwrap:function(e){return this.parent(e).not("body").each(function(){S(this).replaceWith(this.childNodes)}),this}}),S.expr.pseudos.hidden=function(e){return!S.expr.pseudos.visible(e)},S.expr.pseudos.visible=function(e){return!!(e.offsetWidth||e.offsetHeight||e.getClientRects().length)},S.ajaxSettings.xhr=function(){try{return new C.XMLHttpRequest}catch(e){}};var Bt={0:200,1223:204},$t=S.ajaxSettings.xhr();y.cors=!!$t&&"withCredentials"in $t,y.ajax=$t=!!$t,S.ajaxTransport(function(i){var o,a;if(y.cors||$t&&!i.crossDomain)return{send:function(e,t){var n,r=i.xhr();if(r.open(i.type,i.url,i.async,i.username,i.password),i.xhrFields)for(n in i.xhrFields)r[n]=i.xhrFields[n];for(n in i.mimeType&&r.overrideMimeType&&r.overrideMimeType(i.mimeType),i.crossDomain||e["X-Requested-With"]||(e["X-Requested-With"]="XMLHttpRequest"),e)r.setRequestHeader(n,e[n]);o=function(e){return function(){o&&(o=a=r.onload=r.onerror=r.onabort=r.ontimeout=r.onreadystatechange=null,"abort"===e?r.abort():"error"===e?"number"!=typeof r.status?t(0,"error"):t(r.status,r.statusText):t(Bt[r.status]||r.status,r.statusText,"text"!==(r.responseType||"text")||"string"!=typeof r.responseText?{binary:r.response}:{text:r.responseText},r.getAllResponseHeaders()))}},r.onload=o(),a=r.onerror=r.ontimeout=o("error"),void 0!==r.onabort?r.onabort=a:r.onreadystatechange=function(){4===r.readyState&&C.setTimeout(function(){o&&a()})},o=o("abort");try{r.send(i.hasContent&&i.data||null)}catch(e){if(o)throw e}},abort:function(){o&&o()}}}),S.ajaxPrefilter(function(e){e.crossDomain&&(e.contents.script=!1)}),S.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/\b(?:java|ecma)script\b/},converters:{"text script":function(e){return S.globalEval(e),e}}}),S.ajaxPrefilter("script",function(e){void 0===e.cache&&(e.cache=!1),e.crossDomain&&(e.type="GET")}),S.ajaxTransport("script",function(n){var r,i;if(n.crossDomain||n.scriptAttrs)return{send:function(e,t){r=S("<script>").attr(n.scriptAttrs||{}).prop({charset:n.scriptCharset,src:n.url}).on("load error",i=function(e){r.remove(),i=null,e&&t("error"===e.type?404:200,e.type)}),E.head.appendChild(r[0])},abort:function(){i&&i()}}});var _t,zt=[],Ut=/(=)\?(?=&|$)|\?\?/;S.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var e=zt.pop()||S.expando+"_"+wt.guid++;return this[e]=!0,e}}),S.ajaxPrefilter("json jsonp",function(e,t,n){var r,i,o,a=!1!==e.jsonp&&(Ut.test(e.url)?"url":"string"==typeof e.data&&0===(e.contentType||"").indexOf("application/x-www-form-urlencoded")&&Ut.test(e.data)&&"data");if(a||"jsonp"===e.dataTypes[0])return r=e.jsonpCallback=m(e.jsonpCallback)?e.jsonpCallback():e.jsonpCallback,a?e[a]=e[a].replace(Ut,"$1"+r):!1!==e.jsonp&&(e.url+=(Tt.test(e.url)?"&":"?")+e.jsonp+"="+r),e.converters["script json"]=function(){return o||S.error(r+" was not called"),o[0]},e.dataTypes[0]="json",i=C[r],C[r]=function(){o=arguments},n.always(function(){void 0===i?S(C).removeProp(r):C[r]=i,e[r]&&(e.jsonpCallback=t.jsonpCallback,zt.push(r)),o&&m(i)&&i(o[0]),o=i=void 0}),"script"}),y.createHTMLDocument=((_t=E.implementation.createHTMLDocument("").body).innerHTML="<form></form><form></form>",2===_t.childNodes.length),S.parseHTML=function(e,t,n){return"string"!=typeof e?[]:("boolean"==typeof t&&(n=t,t=!1),t||(y.createHTMLDocument?((r=(t=E.implementation.createHTMLDocument("")).createElement("base")).href=E.location.href,t.head.appendChild(r)):t=E),o=!n&&[],(i=N.exec(e))?[t.createElement(i[1])]:(i=xe([e],t,o),o&&o.length&&S(o).remove(),S.merge([],i.childNodes)));var r,i,o},S.fn.load=function(e,t,n){var r,i,o,a=this,s=e.indexOf(" ");return-1<s&&(r=ht(e.slice(s)),e=e.slice(0,s)),m(t)?(n=t,t=void 0):t&&"object"==typeof t&&(i="POST"),0<a.length&&S.ajax({url:e,type:i||"GET",dataType:"html",data:t}).done(function(e){o=arguments,a.html(r?S("<div>").append(S.parseHTML(e)).find(r):e)}).always(n&&function(e,t){a.each(function(){n.apply(this,o||[e.responseText,t,e])})}),this},S.expr.pseudos.animated=function(t){return S.grep(S.timers,function(e){return t===e.elem}).length},S.offset={setOffset:function(e,t,n){var r,i,o,a,s,u,l=S.css(e,"position"),c=S(e),f={};"static"===l&&(e.style.position="relative"),s=c.offset(),o=S.css(e,"top"),u=S.css(e,"left"),("absolute"===l||"fixed"===l)&&-1<(o+u).indexOf("auto")?(a=(r=c.position()).top,i=r.left):(a=parseFloat(o)||0,i=parseFloat(u)||0),m(t)&&(t=t.call(e,n,S.extend({},s))),null!=t.top&&(f.top=t.top-s.top+a),null!=t.left&&(f.left=t.left-s.left+i),"using"in t?t.using.call(e,f):c.css(f)}},S.fn.extend({offset:function(t){if(arguments.length)return void 0===t?this:this.each(function(e){S.offset.setOffset(this,t,e)});var e,n,r=this[0];return r?r.getClientRects().length?(e=r.getBoundingClientRect(),n=r.ownerDocument.defaultView,{top:e.top+n.pageYOffset,left:e.left+n.pageXOffset}):{top:0,left:0}:void 0},position:function(){if(this[0]){var e,t,n,r=this[0],i={top:0,left:0};if("fixed"===S.css(r,"position"))t=r.getBoundingClientRect();else{t=this.offset(),n=r.ownerDocument,e=r.offsetParent||n.documentElement;while(e&&(e===n.body||e===n.documentElement)&&"static"===S.css(e,"position"))e=e.parentNode;e&&e!==r&&1===e.nodeType&&((i=S(e).offset()).top+=S.css(e,"borderTopWidth",!0),i.left+=S.css(e,"borderLeftWidth",!0))}return{top:t.top-i.top-S.css(r,"marginTop",!0),left:t.left-i.left-S.css(r,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){var e=this.offsetParent;while(e&&"static"===S.css(e,"position"))e=e.offsetParent;return e||re})}}),S.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(t,i){var o="pageYOffset"===i;S.fn[t]=function(e){return $(this,function(e,t,n){var r;if(x(e)?r=e:9===e.nodeType&&(r=e.defaultView),void 0===n)return r?r[i]:e[t];r?r.scrollTo(o?r.pageXOffset:n,o?n:r.pageYOffset):e[t]=n},t,e,arguments.length)}}),S.each(["top","left"],function(e,n){S.cssHooks[n]=Fe(y.pixelPosition,function(e,t){if(t)return t=We(e,n),Pe.test(t)?S(e).position()[n]+"px":t})}),S.each({Height:"height",Width:"width"},function(a,s){S.each({padding:"inner"+a,content:s,"":"outer"+a},function(r,o){S.fn[o]=function(e,t){var n=arguments.length&&(r||"boolean"!=typeof e),i=r||(!0===e||!0===t?"margin":"border");return $(this,function(e,t,n){var r;return x(e)?0===o.indexOf("outer")?e["inner"+a]:e.document.documentElement["client"+a]:9===e.nodeType?(r=e.documentElement,Math.max(e.body["scroll"+a],r["scroll"+a],e.body["offset"+a],r["offset"+a],r["client"+a])):void 0===n?S.css(e,t,i):S.style(e,t,n,i)},s,n?e:void 0,n)}})}),S.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(e,t){S.fn[t]=function(e){return this.on(t,e)}}),S.fn.extend({bind:function(e,t,n){return this.on(e,null,t,n)},unbind:function(e,t){return this.off(e,null,t)},delegate:function(e,t,n,r){return this.on(t,e,n,r)},undelegate:function(e,t,n){return 1===arguments.length?this.off(e,"**"):this.off(t,e||"**",n)},hover:function(e,t){return this.mouseenter(e).mouseleave(t||e)}}),S.each("blur focus focusin focusout resize scroll click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup contextmenu".split(" "),function(e,n){S.fn[n]=function(e,t){return 0<arguments.length?this.on(n,null,e,t):this.trigger(n)}});var Xt=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g;S.proxy=function(e,t){var n,r,i;if("string"==typeof t&&(n=e[t],t=e,e=n),m(e))return r=s.call(arguments,2),(i=function(){return e.apply(t||this,r.concat(s.call(arguments)))}).guid=e.guid=e.guid||S.guid++,i},S.holdReady=function(e){e?S.readyWait++:S.ready(!0)},S.isArray=Array.isArray,S.parseJSON=JSON.parse,S.nodeName=A,S.isFunction=m,S.isWindow=x,S.camelCase=X,S.type=w,S.now=Date.now,S.isNumeric=function(e){var t=S.type(e);return("number"===t||"string"===t)&&!isNaN(e-parseFloat(e))},S.trim=function(e){return null==e?"":(e+"").replace(Xt,"")},"function"==typeof define&&define.amd&&define("jquery",[],function(){return S});var Vt=C.jQuery,Gt=C.$;return S.noConflict=function(e){return C.$===S&&(C.$=Gt),e&&C.jQuery===S&&(C.jQuery=Vt),S},"undefined"==typeof e&&(C.jQuery=C.$=S),S}); diff --git a/_posts/2021-06-13-unreproducibility-detox/unreproducibility-detox_files/jquery-3.6.0/jquery-3.6.0.min.map b/_posts/2021-06-13-unreproducibility-detox/unreproducibility-detox_files/jquery-3.6.0/jquery-3.6.0.min.map new file mode 100644 index 0000000..7d86eb1 --- /dev/null +++ b/_posts/2021-06-13-unreproducibility-detox/unreproducibility-detox_files/jquery-3.6.0/jquery-3.6.0.min.map @@ -0,0 +1 @@ +{"version":3,"sources":["jquery-3.6.0.js"],"names":["global","factory","module","exports","document","w","Error","window","this","noGlobal","arr","getProto","Object","getPrototypeOf","slice","flat","array","call","concat","apply","push","indexOf","class2type","toString","hasOwn","hasOwnProperty","fnToString","ObjectFunctionString","support","isFunction","obj","nodeType","item","isWindow","preservedScriptAttributes","type","src","nonce","noModule","DOMEval","code","node","doc","i","val","script","createElement","text","getAttribute","setAttribute","head","appendChild","parentNode","removeChild","toType","version","jQuery","selector","context","fn","init","isArrayLike","length","prototype","jquery","constructor","toArray","get","num","pushStack","elems","ret","merge","prevObject","each","callback","map","elem","arguments","first","eq","last","even","grep","_elem","odd","len","j","end","sort","splice","extend","options","name","copy","copyIsArray","clone","target","deep","isPlainObject","Array","isArray","undefined","expando","Math","random","replace","isReady","error","msg","noop","proto","Ctor","isEmptyObject","globalEval","makeArray","results","inArray","second","invert","matches","callbackExpect","arg","value","guid","Symbol","iterator","split","_i","toLowerCase","Sizzle","Expr","getText","isXML","tokenize","compile","select","outermostContext","sortInput","hasDuplicate","setDocument","docElem","documentIsHTML","rbuggyQSA","rbuggyMatches","contains","Date","preferredDoc","dirruns","done","classCache","createCache","tokenCache","compilerCache","nonnativeSelectorCache","sortOrder","a","b","pop","pushNative","list","booleans","whitespace","identifier","attributes","pseudos","rwhitespace","RegExp","rtrim","rcomma","rcombinators","rdescend","rpseudo","ridentifier","matchExpr","ID","CLASS","TAG","ATTR","PSEUDO","CHILD","bool","needsContext","rhtml","rinputs","rheader","rnative","rquickExpr","rsibling","runescape","funescape","escape","nonHex","high","String","fromCharCode","rcssescape","fcssescape","ch","asCodePoint","charCodeAt","unloadHandler","inDisabledFieldset","addCombinator","disabled","nodeName","dir","next","childNodes","e","els","seed","m","nid","match","groups","newSelector","newContext","ownerDocument","exec","getElementById","id","getElementsByTagName","getElementsByClassName","qsa","test","testContext","scope","toSelector","join","querySelectorAll","qsaError","removeAttribute","keys","cache","key","cacheLength","shift","markFunction","assert","el","addHandle","attrs","handler","attrHandle","siblingCheck","cur","diff","sourceIndex","nextSibling","createInputPseudo","createButtonPseudo","createDisabledPseudo","isDisabled","createPositionalPseudo","argument","matchIndexes","namespace","namespaceURI","documentElement","hasCompare","subWindow","defaultView","top","addEventListener","attachEvent","className","createComment","getById","getElementsByName","filter","attrId","find","getAttributeNode","tag","tmp","input","innerHTML","matchesSelector","webkitMatchesSelector","mozMatchesSelector","oMatchesSelector","msMatchesSelector","disconnectedMatch","compareDocumentPosition","adown","bup","compare","sortDetached","aup","ap","bp","unshift","expr","elements","attr","specified","sel","uniqueSort","duplicates","detectDuplicates","sortStable","textContent","firstChild","nodeValue","selectors","createPseudo","relative",">"," ","+","~","preFilter","excess","unquoted","nodeNameSelector","pattern","operator","check","result","what","_argument","simple","forward","ofType","_context","xml","uniqueCache","outerCache","nodeIndex","start","parent","useCache","lastChild","uniqueID","pseudo","args","setFilters","idx","matched","not","matcher","unmatched","has","lang","elemLang","hash","location","root","focus","activeElement","hasFocus","href","tabIndex","enabled","checked","selected","selectedIndex","empty","header","button","_matchIndexes","lt","gt","radio","checkbox","file","password","image","submit","reset","tokens","combinator","base","skip","checkNonElements","doneName","oldCache","newCache","elementMatcher","matchers","condense","newUnmatched","mapped","setMatcher","postFilter","postFinder","postSelector","temp","preMap","postMap","preexisting","contexts","multipleContexts","matcherIn","matcherOut","matcherFromTokens","checkContext","leadingRelative","implicitRelative","matchContext","matchAnyContext","filters","parseOnly","soFar","preFilters","cached","elementMatchers","setMatchers","bySet","byElement","superMatcher","outermost","matchedCount","setMatched","contextBackup","dirrunsUnique","token","compiled","_name","defaultValue","unique","isXMLDoc","escapeSelector","until","truncate","is","siblings","n","rneedsContext","rsingleTag","winnow","qualifier","self","rootjQuery","parseHTML","ready","rparentsprev","guaranteedUnique","children","contents","prev","sibling","targets","l","closest","index","prevAll","add","addBack","parents","parentsUntil","nextAll","nextUntil","prevUntil","contentDocument","content","reverse","rnothtmlwhite","Identity","v","Thrower","ex","adoptValue","resolve","reject","noValue","method","promise","fail","then","Callbacks","object","_","flag","firing","memory","fired","locked","queue","firingIndex","fire","once","stopOnFalse","remove","disable","lock","fireWith","Deferred","func","tuples","state","always","deferred","catch","pipe","fns","newDefer","tuple","returned","progress","notify","onFulfilled","onRejected","onProgress","maxDepth","depth","special","that","mightThrow","TypeError","notifyWith","resolveWith","process","exceptionHook","stackTrace","rejectWith","getStackHook","setTimeout","stateString","when","singleValue","remaining","resolveContexts","resolveValues","primary","updateFunc","rerrorNames","stack","console","warn","message","readyException","readyList","completed","removeEventListener","readyWait","wait","readyState","doScroll","access","chainable","emptyGet","raw","bulk","_key","rmsPrefix","rdashAlpha","fcamelCase","_all","letter","toUpperCase","camelCase","string","acceptData","owner","Data","uid","defineProperty","configurable","set","data","prop","hasData","dataPriv","dataUser","rbrace","rmultiDash","dataAttr","JSON","parse","removeData","_data","_removeData","dequeue","startLength","hooks","_queueHooks","stop","setter","clearQueue","count","defer","pnum","source","rcssNum","cssExpand","isAttached","composed","getRootNode","isHiddenWithinTree","style","display","css","adjustCSS","valueParts","tween","adjusted","scale","maxIterations","currentValue","initial","unit","cssNumber","initialInUnit","defaultDisplayMap","showHide","show","values","body","hide","toggle","div","rcheckableType","rtagName","rscriptType","createDocumentFragment","checkClone","cloneNode","noCloneChecked","option","wrapMap","thead","col","tr","td","_default","getAll","setGlobalEval","refElements","tbody","tfoot","colgroup","caption","th","optgroup","buildFragment","scripts","selection","ignored","wrap","attached","fragment","nodes","htmlPrefilter","createTextNode","rtypenamespace","returnTrue","returnFalse","expectSync","err","safeActiveElement","on","types","one","origFn","event","off","leverageNative","notAsync","saved","isTrigger","delegateType","stopPropagation","stopImmediatePropagation","preventDefault","trigger","Event","handleObjIn","eventHandle","events","t","handleObj","handlers","namespaces","origType","elemData","create","handle","triggered","dispatch","bindType","delegateCount","setup","mappedTypes","origCount","teardown","removeEvent","nativeEvent","handlerQueue","fix","delegateTarget","preDispatch","isPropagationStopped","currentTarget","isImmediatePropagationStopped","rnamespace","postDispatch","matchedHandlers","matchedSelectors","addProp","hook","enumerable","originalEvent","writable","load","noBubble","click","beforeunload","returnValue","props","isDefaultPrevented","defaultPrevented","relatedTarget","timeStamp","now","isSimulated","altKey","bubbles","cancelable","changedTouches","ctrlKey","detail","eventPhase","metaKey","pageX","pageY","shiftKey","view","char","charCode","keyCode","buttons","clientX","clientY","offsetX","offsetY","pointerId","pointerType","screenX","screenY","targetTouches","toElement","touches","which","blur","mouseenter","mouseleave","pointerenter","pointerleave","orig","related","rnoInnerhtml","rchecked","rcleanScript","manipulationTarget","disableScript","restoreScript","cloneCopyEvent","dest","udataOld","udataCur","domManip","collection","hasScripts","iNoClone","valueIsFunction","html","_evalUrl","keepData","cleanData","dataAndEvents","deepDataAndEvents","srcElements","destElements","inPage","detach","append","prepend","insertBefore","before","after","replaceWith","replaceChild","appendTo","prependTo","insertAfter","replaceAll","original","insert","rnumnonpx","getStyles","opener","getComputedStyle","swap","old","rboxStyle","curCSS","computed","width","minWidth","maxWidth","getPropertyValue","pixelBoxStyles","addGetHookIf","conditionFn","hookFn","computeStyleTests","container","cssText","divStyle","pixelPositionVal","reliableMarginLeftVal","roundPixelMeasures","marginLeft","right","pixelBoxStylesVal","boxSizingReliableVal","position","scrollboxSizeVal","offsetWidth","measure","round","parseFloat","reliableTrDimensionsVal","backgroundClip","clearCloneStyle","boxSizingReliable","pixelPosition","reliableMarginLeft","scrollboxSize","reliableTrDimensions","table","trChild","trStyle","height","parseInt","borderTopWidth","borderBottomWidth","offsetHeight","cssPrefixes","emptyStyle","vendorProps","finalPropName","final","cssProps","capName","vendorPropName","rdisplayswap","rcustomProp","cssShow","visibility","cssNormalTransform","letterSpacing","fontWeight","setPositiveNumber","subtract","max","boxModelAdjustment","dimension","box","isBorderBox","styles","computedVal","extra","delta","ceil","getWidthOrHeight","valueIsBorderBox","offsetProp","getClientRects","Tween","easing","cssHooks","opacity","animationIterationCount","columnCount","fillOpacity","flexGrow","flexShrink","gridArea","gridColumn","gridColumnEnd","gridColumnStart","gridRow","gridRowEnd","gridRowStart","lineHeight","order","orphans","widows","zIndex","zoom","origName","isCustomProp","setProperty","isFinite","getBoundingClientRect","scrollboxSizeBuggy","left","margin","padding","border","prefix","suffix","expand","expanded","parts","propHooks","run","percent","eased","duration","pos","step","fx","scrollTop","scrollLeft","linear","p","swing","cos","PI","fxNow","inProgress","opt","rfxtypes","rrun","schedule","hidden","requestAnimationFrame","interval","tick","createFxNow","genFx","includeWidth","createTween","animation","Animation","tweeners","properties","stopped","prefilters","currentTime","startTime","tweens","opts","specialEasing","originalProperties","originalOptions","gotoEnd","propFilter","bind","complete","timer","anim","*","tweener","oldfire","propTween","restoreDisplay","isBox","dataShow","unqueued","overflow","overflowX","overflowY","prefilter","speed","speeds","fadeTo","to","animate","optall","doAnimation","finish","stopQueue","timers","cssFn","slideDown","slideUp","slideToggle","fadeIn","fadeOut","fadeToggle","slow","fast","delay","time","timeout","clearTimeout","checkOn","optSelected","radioValue","boolHook","removeAttr","nType","attrHooks","attrNames","getter","lowercaseName","rfocusable","rclickable","stripAndCollapse","getClass","classesToArray","removeProp","propFix","tabindex","for","class","addClass","classes","curValue","clazz","finalValue","removeClass","toggleClass","stateVal","isValidValue","classNames","hasClass","rreturn","valHooks","optionSet","focusin","rfocusMorph","stopPropagationCallback","onlyHandlers","bubbleType","ontype","lastElement","eventPath","parentWindow","simulate","triggerHandler","attaches","rquery","parseXML","parserErrorElem","DOMParser","parseFromString","rbracket","rCRLF","rsubmitterTypes","rsubmittable","buildParams","traditional","param","s","valueOrFunction","encodeURIComponent","serialize","serializeArray","r20","rhash","rantiCache","rheaders","rnoContent","rprotocol","transports","allTypes","originAnchor","addToPrefiltersOrTransports","structure","dataTypeExpression","dataType","dataTypes","inspectPrefiltersOrTransports","jqXHR","inspected","seekingTransport","inspect","prefilterOrFactory","dataTypeOrTransport","ajaxExtend","flatOptions","ajaxSettings","active","lastModified","etag","url","isLocal","protocol","processData","async","contentType","accepts","json","responseFields","converters","* text","text html","text json","text xml","ajaxSetup","settings","ajaxPrefilter","ajaxTransport","ajax","transport","cacheURL","responseHeadersString","responseHeaders","timeoutTimer","urlAnchor","fireGlobals","uncached","callbackContext","globalEventContext","completeDeferred","statusCode","requestHeaders","requestHeadersNames","strAbort","getResponseHeader","getAllResponseHeaders","setRequestHeader","overrideMimeType","mimeType","status","abort","statusText","finalText","crossDomain","host","hasContent","ifModified","headers","beforeSend","success","send","nativeStatusText","responses","isSuccess","response","modified","ct","finalDataType","firstDataType","ajaxHandleResponses","conv2","current","conv","dataFilter","throws","ajaxConvert","getJSON","getScript","text script","wrapAll","firstElementChild","wrapInner","htmlIsFunction","unwrap","visible","xhr","XMLHttpRequest","xhrSuccessStatus","0","1223","xhrSupported","cors","errorCallback","open","username","xhrFields","onload","onerror","onabort","ontimeout","onreadystatechange","responseType","responseText","binary","scriptAttrs","charset","scriptCharset","evt","oldCallbacks","rjsonp","jsonp","jsonpCallback","originalSettings","callbackName","overwritten","responseContainer","jsonProp","createHTMLDocument","implementation","keepScripts","parsed","params","animated","offset","setOffset","curPosition","curLeft","curCSSTop","curTop","curOffset","curCSSLeft","curElem","using","rect","win","pageYOffset","pageXOffset","offsetParent","parentOffset","scrollTo","Height","Width","","defaultExtra","funcName","unbind","delegate","undelegate","hover","fnOver","fnOut","proxy","holdReady","hold","parseJSON","isNumeric","isNaN","trim","define","amd","_jQuery","_$","$","noConflict"],"mappings":"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","file":"jquery-3.6.0.min.js"} \ No newline at end of file diff --git a/_posts/2021-06-13-unreproducibility-detox/unreproducibility-detox_files/popper-2.6.0/popper.min.js b/_posts/2021-06-13-unreproducibility-detox/unreproducibility-detox_files/popper-2.6.0/popper.min.js index 6597294..4498d0f 100644 --- a/_posts/2021-06-13-unreproducibility-detox/unreproducibility-detox_files/popper-2.6.0/popper.min.js +++ b/_posts/2021-06-13-unreproducibility-detox/unreproducibility-detox_files/popper-2.6.0/popper.min.js @@ -1,6 +1,6 @@ -/** - * @popperjs/core v2.6.0 - MIT License - */ - -"use strict";!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e=e||self).Popper={})}(this,(function(e){function t(e){return{width:(e=e.getBoundingClientRect()).width,height:e.height,top:e.top,right:e.right,bottom:e.bottom,left:e.left,x:e.left,y:e.top}}function n(e){return"[object Window]"!==e.toString()?(e=e.ownerDocument)&&e.defaultView||window:e}function r(e){return{scrollLeft:(e=n(e)).pageXOffset,scrollTop:e.pageYOffset}}function o(e){return e instanceof n(e).Element||e instanceof Element}function i(e){return e instanceof n(e).HTMLElement||e instanceof HTMLElement}function a(e){return e?(e.nodeName||"").toLowerCase():null}function s(e){return((o(e)?e.ownerDocument:e.document)||window.document).documentElement}function f(e){return t(s(e)).left+r(e).scrollLeft}function c(e){return n(e).getComputedStyle(e)}function p(e){return e=c(e),/auto|scroll|overlay|hidden/.test(e.overflow+e.overflowY+e.overflowX)}function l(e,o,c){void 0===c&&(c=!1);var l=s(o);e=t(e);var u=i(o),d={scrollLeft:0,scrollTop:0},m={x:0,y:0};return(u||!u&&!c)&&(("body"!==a(o)||p(l))&&(d=o!==n(o)&&i(o)?{scrollLeft:o.scrollLeft,scrollTop:o.scrollTop}:r(o)),i(o)?((m=t(o)).x+=o.clientLeft,m.y+=o.clientTop):l&&(m.x=f(l))),{x:e.left+d.scrollLeft-m.x,y:e.top+d.scrollTop-m.y,width:e.width,height:e.height}}function u(e){return{x:e.offsetLeft,y:e.offsetTop,width:e.offsetWidth,height:e.offsetHeight}}function d(e){return"html"===a(e)?e:e.assignedSlot||e.parentNode||e.host||s(e)}function m(e,t){void 0===t&&(t=[]);var r=function e(t){return 0<=["html","body","#document"].indexOf(a(t))?t.ownerDocument.body:i(t)&&p(t)?t:e(d(t))}(e);e="body"===a(r);var o=n(r);return r=e?[o].concat(o.visualViewport||[],p(r)?r:[]):r,t=t.concat(r),e?t:t.concat(m(d(r)))}function h(e){if(!i(e)||"fixed"===c(e).position)return null;if(e=e.offsetParent){var t=s(e);if("body"===a(e)&&"static"===c(e).position&&"static"!==c(t).position)return t}return e}function g(e){for(var t=n(e),r=h(e);r&&0<=["table","td","th"].indexOf(a(r))&&"static"===c(r).position;)r=h(r);if(r&&"body"===a(r)&&"static"===c(r).position)return t;if(!r)e:{for(e=d(e);i(e)&&0>["html","body"].indexOf(a(e));){if("none"!==(r=c(e)).transform||"none"!==r.perspective||r.willChange&&"auto"!==r.willChange){r=e;break e}e=e.parentNode}r=null}return r||t}function v(e){var t=new Map,n=new Set,r=[];return e.forEach((function(e){t.set(e.name,e)})),e.forEach((function(e){n.has(e.name)||function e(o){n.add(o.name),[].concat(o.requires||[],o.requiresIfExists||[]).forEach((function(r){n.has(r)||(r=t.get(r))&&e(r)})),r.push(o)}(e)})),r}function b(e){var t;return function(){return t||(t=new Promise((function(n){Promise.resolve().then((function(){t=void 0,n(e())}))}))),t}}function y(e){return e.split("-")[0]}function O(e,t){var r,o=t.getRootNode&&t.getRootNode();if(e.contains(t))return!0;if((r=o)&&(r=o instanceof(r=n(o).ShadowRoot)||o instanceof ShadowRoot),r)do{if(t&&e.isSameNode(t))return!0;t=t.parentNode||t.host}while(t);return!1}function w(e){return Object.assign(Object.assign({},e),{},{left:e.x,top:e.y,right:e.x+e.width,bottom:e.y+e.height})}function x(e,o){if("viewport"===o){o=n(e);var a=s(e);o=o.visualViewport;var p=a.clientWidth;a=a.clientHeight;var l=0,u=0;o&&(p=o.width,a=o.height,/^((?!chrome|android).)*safari/i.test(navigator.userAgent)||(l=o.offsetLeft,u=o.offsetTop)),e=w(e={width:p,height:a,x:l+f(e),y:u})}else i(o)?((e=t(o)).top+=o.clientTop,e.left+=o.clientLeft,e.bottom=e.top+o.clientHeight,e.right=e.left+o.clientWidth,e.width=o.clientWidth,e.height=o.clientHeight,e.x=e.left,e.y=e.top):(u=s(e),e=s(u),l=r(u),o=u.ownerDocument.body,p=Math.max(e.scrollWidth,e.clientWidth,o?o.scrollWidth:0,o?o.clientWidth:0),a=Math.max(e.scrollHeight,e.clientHeight,o?o.scrollHeight:0,o?o.clientHeight:0),u=-l.scrollLeft+f(u),l=-l.scrollTop,"rtl"===c(o||e).direction&&(u+=Math.max(e.clientWidth,o?o.clientWidth:0)-p),e=w({width:p,height:a,x:u,y:l}));return e}function j(e,t,n){return t="clippingParents"===t?function(e){var t=m(d(e)),n=0<=["absolute","fixed"].indexOf(c(e).position)&&i(e)?g(e):e;return o(n)?t.filter((function(e){return o(e)&&O(e,n)&&"body"!==a(e)})):[]}(e):[].concat(t),(n=(n=[].concat(t,[n])).reduce((function(t,n){return n=x(e,n),t.top=Math.max(n.top,t.top),t.right=Math.min(n.right,t.right),t.bottom=Math.min(n.bottom,t.bottom),t.left=Math.max(n.left,t.left),t}),x(e,n[0]))).width=n.right-n.left,n.height=n.bottom-n.top,n.x=n.left,n.y=n.top,n}function M(e){return 0<=["top","bottom"].indexOf(e)?"x":"y"}function E(e){var t=e.reference,n=e.element,r=(e=e.placement)?y(e):null;e=e?e.split("-")[1]:null;var o=t.x+t.width/2-n.width/2,i=t.y+t.height/2-n.height/2;switch(r){case"top":o={x:o,y:t.y-n.height};break;case"bottom":o={x:o,y:t.y+t.height};break;case"right":o={x:t.x+t.width,y:i};break;case"left":o={x:t.x-n.width,y:i};break;default:o={x:t.x,y:t.y}}if(null!=(r=r?M(r):null))switch(i="y"===r?"height":"width",e){case"start":o[r]-=t[i]/2-n[i]/2;break;case"end":o[r]+=t[i]/2-n[i]/2}return o}function D(e){return Object.assign(Object.assign({},{top:0,right:0,bottom:0,left:0}),e)}function P(e,t){return t.reduce((function(t,n){return t[n]=e,t}),{})}function L(e,n){void 0===n&&(n={});var r=n;n=void 0===(n=r.placement)?e.placement:n;var i=r.boundary,a=void 0===i?"clippingParents":i,f=void 0===(i=r.rootBoundary)?"viewport":i;i=void 0===(i=r.elementContext)?"popper":i;var c=r.altBoundary,p=void 0!==c&&c;r=D("number"!=typeof(r=void 0===(r=r.padding)?0:r)?r:P(r,T));var l=e.elements.reference;c=e.rects.popper,a=j(o(p=e.elements[p?"popper"===i?"reference":"popper":i])?p:p.contextElement||s(e.elements.popper),a,f),p=E({reference:f=t(l),element:c,strategy:"absolute",placement:n}),c=w(Object.assign(Object.assign({},c),p)),f="popper"===i?c:f;var u={top:a.top-f.top+r.top,bottom:f.bottom-a.bottom+r.bottom,left:a.left-f.left+r.left,right:f.right-a.right+r.right};if(e=e.modifiersData.offset,"popper"===i&&e){var d=e[n];Object.keys(u).forEach((function(e){var t=0<=["right","bottom"].indexOf(e)?1:-1,n=0<=["top","bottom"].indexOf(e)?"y":"x";u[e]+=d[n]*t}))}return u}function k(){for(var e=arguments.length,t=Array(e),n=0;n<e;n++)t[n]=arguments[n];return!t.some((function(e){return!(e&&"function"==typeof e.getBoundingClientRect)}))}function B(e){void 0===e&&(e={});var t=e.defaultModifiers,n=void 0===t?[]:t,r=void 0===(e=e.defaultOptions)?V:e;return function(e,t,i){function a(){f.forEach((function(e){return e()})),f=[]}void 0===i&&(i=r);var s={placement:"bottom",orderedModifiers:[],options:Object.assign(Object.assign({},V),r),modifiersData:{},elements:{reference:e,popper:t},attributes:{},styles:{}},f=[],c=!1,p={state:s,setOptions:function(i){return a(),s.options=Object.assign(Object.assign(Object.assign({},r),s.options),i),s.scrollParents={reference:o(e)?m(e):e.contextElement?m(e.contextElement):[],popper:m(t)},i=function(e){var t=v(e);return N.reduce((function(e,n){return e.concat(t.filter((function(e){return e.phase===n})))}),[])}(function(e){var t=e.reduce((function(e,t){var n=e[t.name];return e[t.name]=n?Object.assign(Object.assign(Object.assign({},n),t),{},{options:Object.assign(Object.assign({},n.options),t.options),data:Object.assign(Object.assign({},n.data),t.data)}):t,e}),{});return Object.keys(t).map((function(e){return t[e]}))}([].concat(n,s.options.modifiers))),s.orderedModifiers=i.filter((function(e){return e.enabled})),s.orderedModifiers.forEach((function(e){var t=e.name,n=e.options;n=void 0===n?{}:n,"function"==typeof(e=e.effect)&&(t=e({state:s,name:t,instance:p,options:n}),f.push(t||function(){}))})),p.update()},forceUpdate:function(){if(!c){var e=s.elements,t=e.reference;if(k(t,e=e.popper))for(s.rects={reference:l(t,g(e),"fixed"===s.options.strategy),popper:u(e)},s.reset=!1,s.placement=s.options.placement,s.orderedModifiers.forEach((function(e){return s.modifiersData[e.name]=Object.assign({},e.data)})),t=0;t<s.orderedModifiers.length;t++)if(!0===s.reset)s.reset=!1,t=-1;else{var n=s.orderedModifiers[t];e=n.fn;var r=n.options;r=void 0===r?{}:r,n=n.name,"function"==typeof e&&(s=e({state:s,options:r,name:n,instance:p})||s)}}},update:b((function(){return new Promise((function(e){p.forceUpdate(),e(s)}))})),destroy:function(){a(),c=!0}};return k(e,t)?(p.setOptions(i).then((function(e){!c&&i.onFirstUpdate&&i.onFirstUpdate(e)})),p):p}}function W(e){var t,r=e.popper,o=e.popperRect,i=e.placement,a=e.offsets,f=e.position,c=e.gpuAcceleration,p=e.adaptive;e.roundOffsets?(e=window.devicePixelRatio||1,e={x:Math.round(a.x*e)/e||0,y:Math.round(a.y*e)/e||0}):e=a;var l=e;e=void 0===(e=l.x)?0:e,l=void 0===(l=l.y)?0:l;var u=a.hasOwnProperty("x");a=a.hasOwnProperty("y");var d,m="left",h="top",v=window;if(p){var b=g(r);b===n(r)&&(b=s(r)),"top"===i&&(h="bottom",l-=b.clientHeight-o.height,l*=c?1:-1),"left"===i&&(m="right",e-=b.clientWidth-o.width,e*=c?1:-1)}return r=Object.assign({position:f},p&&z),c?Object.assign(Object.assign({},r),{},((d={})[h]=a?"0":"",d[m]=u?"0":"",d.transform=2>(v.devicePixelRatio||1)?"translate("+e+"px, "+l+"px)":"translate3d("+e+"px, "+l+"px, 0)",d)):Object.assign(Object.assign({},r),{},((t={})[h]=a?l+"px":"",t[m]=u?e+"px":"",t.transform="",t))}function A(e){return e.replace(/left|right|bottom|top/g,(function(e){return G[e]}))}function H(e){return e.replace(/start|end/g,(function(e){return J[e]}))}function R(e,t,n){return void 0===n&&(n={x:0,y:0}),{top:e.top-t.height-n.y,right:e.right-t.width+n.x,bottom:e.bottom-t.height+n.y,left:e.left-t.width-n.x}}function S(e){return["top","right","bottom","left"].some((function(t){return 0<=e[t]}))}var T=["top","bottom","right","left"],q=T.reduce((function(e,t){return e.concat([t+"-start",t+"-end"])}),[]),C=[].concat(T,["auto"]).reduce((function(e,t){return e.concat([t,t+"-start",t+"-end"])}),[]),N="beforeRead read afterRead beforeMain main afterMain beforeWrite write afterWrite".split(" "),V={placement:"bottom",modifiers:[],strategy:"absolute"},I={passive:!0},_={name:"eventListeners",enabled:!0,phase:"write",fn:function(){},effect:function(e){var t=e.state,r=e.instance,o=(e=e.options).scroll,i=void 0===o||o,a=void 0===(e=e.resize)||e,s=n(t.elements.popper),f=[].concat(t.scrollParents.reference,t.scrollParents.popper);return i&&f.forEach((function(e){e.addEventListener("scroll",r.update,I)})),a&&s.addEventListener("resize",r.update,I),function(){i&&f.forEach((function(e){e.removeEventListener("scroll",r.update,I)})),a&&s.removeEventListener("resize",r.update,I)}},data:{}},U={name:"popperOffsets",enabled:!0,phase:"read",fn:function(e){var t=e.state;t.modifiersData[e.name]=E({reference:t.rects.reference,element:t.rects.popper,strategy:"absolute",placement:t.placement})},data:{}},z={top:"auto",right:"auto",bottom:"auto",left:"auto"},F={name:"computeStyles",enabled:!0,phase:"beforeWrite",fn:function(e){var t=e.state,n=e.options;e=void 0===(e=n.gpuAcceleration)||e;var r=n.adaptive;r=void 0===r||r,n=void 0===(n=n.roundOffsets)||n,e={placement:y(t.placement),popper:t.elements.popper,popperRect:t.rects.popper,gpuAcceleration:e},null!=t.modifiersData.popperOffsets&&(t.styles.popper=Object.assign(Object.assign({},t.styles.popper),W(Object.assign(Object.assign({},e),{},{offsets:t.modifiersData.popperOffsets,position:t.options.strategy,adaptive:r,roundOffsets:n})))),null!=t.modifiersData.arrow&&(t.styles.arrow=Object.assign(Object.assign({},t.styles.arrow),W(Object.assign(Object.assign({},e),{},{offsets:t.modifiersData.arrow,position:"absolute",adaptive:!1,roundOffsets:n})))),t.attributes.popper=Object.assign(Object.assign({},t.attributes.popper),{},{"data-popper-placement":t.placement})},data:{}},X={name:"applyStyles",enabled:!0,phase:"write",fn:function(e){var t=e.state;Object.keys(t.elements).forEach((function(e){var n=t.styles[e]||{},r=t.attributes[e]||{},o=t.elements[e];i(o)&&a(o)&&(Object.assign(o.style,n),Object.keys(r).forEach((function(e){var t=r[e];!1===t?o.removeAttribute(e):o.setAttribute(e,!0===t?"":t)})))}))},effect:function(e){var t=e.state,n={popper:{position:t.options.strategy,left:"0",top:"0",margin:"0"},arrow:{position:"absolute"},reference:{}};return Object.assign(t.elements.popper.style,n.popper),t.elements.arrow&&Object.assign(t.elements.arrow.style,n.arrow),function(){Object.keys(t.elements).forEach((function(e){var r=t.elements[e],o=t.attributes[e]||{};e=Object.keys(t.styles.hasOwnProperty(e)?t.styles[e]:n[e]).reduce((function(e,t){return e[t]="",e}),{}),i(r)&&a(r)&&(Object.assign(r.style,e),Object.keys(o).forEach((function(e){r.removeAttribute(e)})))}))}},requires:["computeStyles"]},Y={name:"offset",enabled:!0,phase:"main",requires:["popperOffsets"],fn:function(e){var t=e.state,n=e.name,r=void 0===(e=e.options.offset)?[0,0]:e,o=(e=C.reduce((function(e,n){var o=t.rects,i=y(n),a=0<=["left","top"].indexOf(i)?-1:1,s="function"==typeof r?r(Object.assign(Object.assign({},o),{},{placement:n})):r;return o=(o=s[0])||0,s=((s=s[1])||0)*a,i=0<=["left","right"].indexOf(i)?{x:s,y:o}:{x:o,y:s},e[n]=i,e}),{}))[t.placement],i=o.x;o=o.y,null!=t.modifiersData.popperOffsets&&(t.modifiersData.popperOffsets.x+=i,t.modifiersData.popperOffsets.y+=o),t.modifiersData[n]=e}},G={left:"right",right:"left",bottom:"top",top:"bottom"},J={start:"end",end:"start"},K={name:"flip",enabled:!0,phase:"main",fn:function(e){var t=e.state,n=e.options;if(e=e.name,!t.modifiersData[e]._skip){var r=n.mainAxis;r=void 0===r||r;var o=n.altAxis;o=void 0===o||o;var i=n.fallbackPlacements,a=n.padding,s=n.boundary,f=n.rootBoundary,c=n.altBoundary,p=n.flipVariations,l=void 0===p||p,u=n.allowedAutoPlacements;p=y(n=t.options.placement),i=i||(p!==n&&l?function(e){if("auto"===y(e))return[];var t=A(e);return[H(e),t,H(t)]}(n):[A(n)]);var d=[n].concat(i).reduce((function(e,n){return e.concat("auto"===y(n)?function(e,t){void 0===t&&(t={});var n=t.boundary,r=t.rootBoundary,o=t.padding,i=t.flipVariations,a=t.allowedAutoPlacements,s=void 0===a?C:a,f=t.placement.split("-")[1];0===(i=(t=f?i?q:q.filter((function(e){return e.split("-")[1]===f})):T).filter((function(e){return 0<=s.indexOf(e)}))).length&&(i=t);var c=i.reduce((function(t,i){return t[i]=L(e,{placement:i,boundary:n,rootBoundary:r,padding:o})[y(i)],t}),{});return Object.keys(c).sort((function(e,t){return c[e]-c[t]}))}(t,{placement:n,boundary:s,rootBoundary:f,padding:a,flipVariations:l,allowedAutoPlacements:u}):n)}),[]);n=t.rects.reference,i=t.rects.popper;var m=new Map;p=!0;for(var h=d[0],g=0;g<d.length;g++){var v=d[g],b=y(v),O="start"===v.split("-")[1],w=0<=["top","bottom"].indexOf(b),x=w?"width":"height",j=L(t,{placement:v,boundary:s,rootBoundary:f,altBoundary:c,padding:a});if(O=w?O?"right":"left":O?"bottom":"top",n[x]>i[x]&&(O=A(O)),x=A(O),w=[],r&&w.push(0>=j[b]),o&&w.push(0>=j[O],0>=j[x]),w.every((function(e){return e}))){h=v,p=!1;break}m.set(v,w)}if(p)for(r=function(e){var t=d.find((function(t){if(t=m.get(t))return t.slice(0,e).every((function(e){return e}))}));if(t)return h=t,"break"},o=l?3:1;0<o&&"break"!==r(o);o--);t.placement!==h&&(t.modifiersData[e]._skip=!0,t.placement=h,t.reset=!0)}},requiresIfExists:["offset"],data:{_skip:!1}},Q={name:"preventOverflow",enabled:!0,phase:"main",fn:function(e){var t=e.state,n=e.options;e=e.name;var r=n.mainAxis,o=void 0===r||r;r=void 0!==(r=n.altAxis)&&r;var i=n.tether;i=void 0===i||i;var a=n.tetherOffset,s=void 0===a?0:a;n=L(t,{boundary:n.boundary,rootBoundary:n.rootBoundary,padding:n.padding,altBoundary:n.altBoundary}),a=y(t.placement);var f=t.placement.split("-")[1],c=!f,p=M(a);a="x"===p?"y":"x";var l=t.modifiersData.popperOffsets,d=t.rects.reference,m=t.rects.popper,h="function"==typeof s?s(Object.assign(Object.assign({},t.rects),{},{placement:t.placement})):s;if(s={x:0,y:0},l){if(o){var v="y"===p?"top":"left",b="y"===p?"bottom":"right",O="y"===p?"height":"width";o=l[p];var w=l[p]+n[v],x=l[p]-n[b],j=i?-m[O]/2:0,E="start"===f?d[O]:m[O];f="start"===f?-m[O]:-d[O],m=t.elements.arrow,m=i&&m?u(m):{width:0,height:0};var D=t.modifiersData["arrow#persistent"]?t.modifiersData["arrow#persistent"].padding:{top:0,right:0,bottom:0,left:0};v=D[v],b=D[b],m=Math.max(0,Math.min(d[O],m[O])),E=c?d[O]/2-j-m-v-h:E-m-v-h,c=c?-d[O]/2+j+m+b+h:f+m+b+h,h=t.elements.arrow&&g(t.elements.arrow),d=t.modifiersData.offset?t.modifiersData.offset[t.placement][p]:0,h=l[p]+E-d-(h?"y"===p?h.clientTop||0:h.clientLeft||0:0),c=l[p]+c-d,i=Math.max(i?Math.min(w,h):w,Math.min(o,i?Math.max(x,c):x)),l[p]=i,s[p]=i-o}r&&(r=l[a],i=Math.max(r+n["x"===p?"top":"left"],Math.min(r,r-n["x"===p?"bottom":"right"])),l[a]=i,s[a]=i-r),t.modifiersData[e]=s}},requiresIfExists:["offset"]},Z={name:"arrow",enabled:!0,phase:"main",fn:function(e){var t,n=e.state;e=e.name;var r=n.elements.arrow,o=n.modifiersData.popperOffsets,i=y(n.placement),a=M(i);if(i=0<=["left","right"].indexOf(i)?"height":"width",r&&o){var s=n.modifiersData[e+"#persistent"].padding,f=u(r),c="y"===a?"top":"left",p="y"===a?"bottom":"right",l=n.rects.reference[i]+n.rects.reference[a]-o[a]-n.rects.popper[i];o=o[a]-n.rects.reference[a],l=(r=(r=g(r))?"y"===a?r.clientHeight||0:r.clientWidth||0:0)/2-f[i]/2+(l/2-o/2),i=Math.max(s[c],Math.min(l,r-f[i]-s[p])),n.modifiersData[e]=((t={})[a]=i,t.centerOffset=i-l,t)}},effect:function(e){var t=e.state,n=e.options;e=e.name;var r=n.element;if(r=void 0===r?"[data-popper-arrow]":r,n=void 0===(n=n.padding)?0:n,null!=r){if("string"==typeof r&&!(r=t.elements.popper.querySelector(r)))return;O(t.elements.popper,r)&&(t.elements.arrow=r,t.modifiersData[e+"#persistent"]={padding:D("number"!=typeof n?n:P(n,T))})}},requires:["popperOffsets"],requiresIfExists:["preventOverflow"]},$={name:"hide",enabled:!0,phase:"main",requiresIfExists:["preventOverflow"],fn:function(e){var t=e.state;e=e.name;var n=t.rects.reference,r=t.rects.popper,o=t.modifiersData.preventOverflow,i=L(t,{elementContext:"reference"}),a=L(t,{altBoundary:!0});n=R(i,n),r=R(a,r,o),o=S(n),a=S(r),t.modifiersData[e]={referenceClippingOffsets:n,popperEscapeOffsets:r,isReferenceHidden:o,hasPopperEscaped:a},t.attributes.popper=Object.assign(Object.assign({},t.attributes.popper),{},{"data-popper-reference-hidden":o,"data-popper-escaped":a})}},ee=B({defaultModifiers:[_,U,F,X]}),te=[_,U,F,X,Y,K,Q,Z,$],ne=B({defaultModifiers:te});e.applyStyles=X,e.arrow=Z,e.computeStyles=F,e.createPopper=ne,e.createPopperLite=ee,e.defaultModifiers=te,e.detectOverflow=L,e.eventListeners=_,e.flip=K,e.hide=$,e.offset=Y,e.popperGenerator=B,e.popperOffsets=U,e.preventOverflow=Q,Object.defineProperty(e,"__esModule",{value:!0})})); -//# sourceMappingURL=popper.min.js.map +/** + * @popperjs/core v2.6.0 - MIT License + */ + +"use strict";!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e=e||self).Popper={})}(this,(function(e){function t(e){return{width:(e=e.getBoundingClientRect()).width,height:e.height,top:e.top,right:e.right,bottom:e.bottom,left:e.left,x:e.left,y:e.top}}function n(e){return"[object Window]"!==e.toString()?(e=e.ownerDocument)&&e.defaultView||window:e}function r(e){return{scrollLeft:(e=n(e)).pageXOffset,scrollTop:e.pageYOffset}}function o(e){return e instanceof n(e).Element||e instanceof Element}function i(e){return e instanceof n(e).HTMLElement||e instanceof HTMLElement}function a(e){return e?(e.nodeName||"").toLowerCase():null}function s(e){return((o(e)?e.ownerDocument:e.document)||window.document).documentElement}function f(e){return t(s(e)).left+r(e).scrollLeft}function c(e){return n(e).getComputedStyle(e)}function p(e){return e=c(e),/auto|scroll|overlay|hidden/.test(e.overflow+e.overflowY+e.overflowX)}function l(e,o,c){void 0===c&&(c=!1);var l=s(o);e=t(e);var u=i(o),d={scrollLeft:0,scrollTop:0},m={x:0,y:0};return(u||!u&&!c)&&(("body"!==a(o)||p(l))&&(d=o!==n(o)&&i(o)?{scrollLeft:o.scrollLeft,scrollTop:o.scrollTop}:r(o)),i(o)?((m=t(o)).x+=o.clientLeft,m.y+=o.clientTop):l&&(m.x=f(l))),{x:e.left+d.scrollLeft-m.x,y:e.top+d.scrollTop-m.y,width:e.width,height:e.height}}function u(e){return{x:e.offsetLeft,y:e.offsetTop,width:e.offsetWidth,height:e.offsetHeight}}function d(e){return"html"===a(e)?e:e.assignedSlot||e.parentNode||e.host||s(e)}function m(e,t){void 0===t&&(t=[]);var r=function e(t){return 0<=["html","body","#document"].indexOf(a(t))?t.ownerDocument.body:i(t)&&p(t)?t:e(d(t))}(e);e="body"===a(r);var o=n(r);return r=e?[o].concat(o.visualViewport||[],p(r)?r:[]):r,t=t.concat(r),e?t:t.concat(m(d(r)))}function h(e){if(!i(e)||"fixed"===c(e).position)return null;if(e=e.offsetParent){var t=s(e);if("body"===a(e)&&"static"===c(e).position&&"static"!==c(t).position)return t}return e}function g(e){for(var t=n(e),r=h(e);r&&0<=["table","td","th"].indexOf(a(r))&&"static"===c(r).position;)r=h(r);if(r&&"body"===a(r)&&"static"===c(r).position)return t;if(!r)e:{for(e=d(e);i(e)&&0>["html","body"].indexOf(a(e));){if("none"!==(r=c(e)).transform||"none"!==r.perspective||r.willChange&&"auto"!==r.willChange){r=e;break e}e=e.parentNode}r=null}return r||t}function v(e){var t=new Map,n=new Set,r=[];return e.forEach((function(e){t.set(e.name,e)})),e.forEach((function(e){n.has(e.name)||function e(o){n.add(o.name),[].concat(o.requires||[],o.requiresIfExists||[]).forEach((function(r){n.has(r)||(r=t.get(r))&&e(r)})),r.push(o)}(e)})),r}function b(e){var t;return function(){return t||(t=new Promise((function(n){Promise.resolve().then((function(){t=void 0,n(e())}))}))),t}}function y(e){return e.split("-")[0]}function O(e,t){var r,o=t.getRootNode&&t.getRootNode();if(e.contains(t))return!0;if((r=o)&&(r=o instanceof(r=n(o).ShadowRoot)||o instanceof ShadowRoot),r)do{if(t&&e.isSameNode(t))return!0;t=t.parentNode||t.host}while(t);return!1}function w(e){return Object.assign(Object.assign({},e),{},{left:e.x,top:e.y,right:e.x+e.width,bottom:e.y+e.height})}function x(e,o){if("viewport"===o){o=n(e);var a=s(e);o=o.visualViewport;var p=a.clientWidth;a=a.clientHeight;var l=0,u=0;o&&(p=o.width,a=o.height,/^((?!chrome|android).)*safari/i.test(navigator.userAgent)||(l=o.offsetLeft,u=o.offsetTop)),e=w(e={width:p,height:a,x:l+f(e),y:u})}else i(o)?((e=t(o)).top+=o.clientTop,e.left+=o.clientLeft,e.bottom=e.top+o.clientHeight,e.right=e.left+o.clientWidth,e.width=o.clientWidth,e.height=o.clientHeight,e.x=e.left,e.y=e.top):(u=s(e),e=s(u),l=r(u),o=u.ownerDocument.body,p=Math.max(e.scrollWidth,e.clientWidth,o?o.scrollWidth:0,o?o.clientWidth:0),a=Math.max(e.scrollHeight,e.clientHeight,o?o.scrollHeight:0,o?o.clientHeight:0),u=-l.scrollLeft+f(u),l=-l.scrollTop,"rtl"===c(o||e).direction&&(u+=Math.max(e.clientWidth,o?o.clientWidth:0)-p),e=w({width:p,height:a,x:u,y:l}));return e}function j(e,t,n){return t="clippingParents"===t?function(e){var t=m(d(e)),n=0<=["absolute","fixed"].indexOf(c(e).position)&&i(e)?g(e):e;return o(n)?t.filter((function(e){return o(e)&&O(e,n)&&"body"!==a(e)})):[]}(e):[].concat(t),(n=(n=[].concat(t,[n])).reduce((function(t,n){return n=x(e,n),t.top=Math.max(n.top,t.top),t.right=Math.min(n.right,t.right),t.bottom=Math.min(n.bottom,t.bottom),t.left=Math.max(n.left,t.left),t}),x(e,n[0]))).width=n.right-n.left,n.height=n.bottom-n.top,n.x=n.left,n.y=n.top,n}function M(e){return 0<=["top","bottom"].indexOf(e)?"x":"y"}function E(e){var t=e.reference,n=e.element,r=(e=e.placement)?y(e):null;e=e?e.split("-")[1]:null;var o=t.x+t.width/2-n.width/2,i=t.y+t.height/2-n.height/2;switch(r){case"top":o={x:o,y:t.y-n.height};break;case"bottom":o={x:o,y:t.y+t.height};break;case"right":o={x:t.x+t.width,y:i};break;case"left":o={x:t.x-n.width,y:i};break;default:o={x:t.x,y:t.y}}if(null!=(r=r?M(r):null))switch(i="y"===r?"height":"width",e){case"start":o[r]-=t[i]/2-n[i]/2;break;case"end":o[r]+=t[i]/2-n[i]/2}return o}function D(e){return Object.assign(Object.assign({},{top:0,right:0,bottom:0,left:0}),e)}function P(e,t){return t.reduce((function(t,n){return t[n]=e,t}),{})}function L(e,n){void 0===n&&(n={});var r=n;n=void 0===(n=r.placement)?e.placement:n;var i=r.boundary,a=void 0===i?"clippingParents":i,f=void 0===(i=r.rootBoundary)?"viewport":i;i=void 0===(i=r.elementContext)?"popper":i;var c=r.altBoundary,p=void 0!==c&&c;r=D("number"!=typeof(r=void 0===(r=r.padding)?0:r)?r:P(r,T));var l=e.elements.reference;c=e.rects.popper,a=j(o(p=e.elements[p?"popper"===i?"reference":"popper":i])?p:p.contextElement||s(e.elements.popper),a,f),p=E({reference:f=t(l),element:c,strategy:"absolute",placement:n}),c=w(Object.assign(Object.assign({},c),p)),f="popper"===i?c:f;var u={top:a.top-f.top+r.top,bottom:f.bottom-a.bottom+r.bottom,left:a.left-f.left+r.left,right:f.right-a.right+r.right};if(e=e.modifiersData.offset,"popper"===i&&e){var d=e[n];Object.keys(u).forEach((function(e){var t=0<=["right","bottom"].indexOf(e)?1:-1,n=0<=["top","bottom"].indexOf(e)?"y":"x";u[e]+=d[n]*t}))}return u}function k(){for(var e=arguments.length,t=Array(e),n=0;n<e;n++)t[n]=arguments[n];return!t.some((function(e){return!(e&&"function"==typeof e.getBoundingClientRect)}))}function B(e){void 0===e&&(e={});var t=e.defaultModifiers,n=void 0===t?[]:t,r=void 0===(e=e.defaultOptions)?V:e;return function(e,t,i){function a(){f.forEach((function(e){return e()})),f=[]}void 0===i&&(i=r);var s={placement:"bottom",orderedModifiers:[],options:Object.assign(Object.assign({},V),r),modifiersData:{},elements:{reference:e,popper:t},attributes:{},styles:{}},f=[],c=!1,p={state:s,setOptions:function(i){return a(),s.options=Object.assign(Object.assign(Object.assign({},r),s.options),i),s.scrollParents={reference:o(e)?m(e):e.contextElement?m(e.contextElement):[],popper:m(t)},i=function(e){var t=v(e);return N.reduce((function(e,n){return e.concat(t.filter((function(e){return e.phase===n})))}),[])}(function(e){var t=e.reduce((function(e,t){var n=e[t.name];return e[t.name]=n?Object.assign(Object.assign(Object.assign({},n),t),{},{options:Object.assign(Object.assign({},n.options),t.options),data:Object.assign(Object.assign({},n.data),t.data)}):t,e}),{});return Object.keys(t).map((function(e){return t[e]}))}([].concat(n,s.options.modifiers))),s.orderedModifiers=i.filter((function(e){return e.enabled})),s.orderedModifiers.forEach((function(e){var t=e.name,n=e.options;n=void 0===n?{}:n,"function"==typeof(e=e.effect)&&(t=e({state:s,name:t,instance:p,options:n}),f.push(t||function(){}))})),p.update()},forceUpdate:function(){if(!c){var e=s.elements,t=e.reference;if(k(t,e=e.popper))for(s.rects={reference:l(t,g(e),"fixed"===s.options.strategy),popper:u(e)},s.reset=!1,s.placement=s.options.placement,s.orderedModifiers.forEach((function(e){return s.modifiersData[e.name]=Object.assign({},e.data)})),t=0;t<s.orderedModifiers.length;t++)if(!0===s.reset)s.reset=!1,t=-1;else{var n=s.orderedModifiers[t];e=n.fn;var r=n.options;r=void 0===r?{}:r,n=n.name,"function"==typeof e&&(s=e({state:s,options:r,name:n,instance:p})||s)}}},update:b((function(){return new Promise((function(e){p.forceUpdate(),e(s)}))})),destroy:function(){a(),c=!0}};return k(e,t)?(p.setOptions(i).then((function(e){!c&&i.onFirstUpdate&&i.onFirstUpdate(e)})),p):p}}function W(e){var t,r=e.popper,o=e.popperRect,i=e.placement,a=e.offsets,f=e.position,c=e.gpuAcceleration,p=e.adaptive;e.roundOffsets?(e=window.devicePixelRatio||1,e={x:Math.round(a.x*e)/e||0,y:Math.round(a.y*e)/e||0}):e=a;var l=e;e=void 0===(e=l.x)?0:e,l=void 0===(l=l.y)?0:l;var u=a.hasOwnProperty("x");a=a.hasOwnProperty("y");var d,m="left",h="top",v=window;if(p){var b=g(r);b===n(r)&&(b=s(r)),"top"===i&&(h="bottom",l-=b.clientHeight-o.height,l*=c?1:-1),"left"===i&&(m="right",e-=b.clientWidth-o.width,e*=c?1:-1)}return r=Object.assign({position:f},p&&z),c?Object.assign(Object.assign({},r),{},((d={})[h]=a?"0":"",d[m]=u?"0":"",d.transform=2>(v.devicePixelRatio||1)?"translate("+e+"px, "+l+"px)":"translate3d("+e+"px, "+l+"px, 0)",d)):Object.assign(Object.assign({},r),{},((t={})[h]=a?l+"px":"",t[m]=u?e+"px":"",t.transform="",t))}function A(e){return e.replace(/left|right|bottom|top/g,(function(e){return G[e]}))}function H(e){return e.replace(/start|end/g,(function(e){return J[e]}))}function R(e,t,n){return void 0===n&&(n={x:0,y:0}),{top:e.top-t.height-n.y,right:e.right-t.width+n.x,bottom:e.bottom-t.height+n.y,left:e.left-t.width-n.x}}function S(e){return["top","right","bottom","left"].some((function(t){return 0<=e[t]}))}var T=["top","bottom","right","left"],q=T.reduce((function(e,t){return e.concat([t+"-start",t+"-end"])}),[]),C=[].concat(T,["auto"]).reduce((function(e,t){return e.concat([t,t+"-start",t+"-end"])}),[]),N="beforeRead read afterRead beforeMain main afterMain beforeWrite write afterWrite".split(" "),V={placement:"bottom",modifiers:[],strategy:"absolute"},I={passive:!0},_={name:"eventListeners",enabled:!0,phase:"write",fn:function(){},effect:function(e){var t=e.state,r=e.instance,o=(e=e.options).scroll,i=void 0===o||o,a=void 0===(e=e.resize)||e,s=n(t.elements.popper),f=[].concat(t.scrollParents.reference,t.scrollParents.popper);return i&&f.forEach((function(e){e.addEventListener("scroll",r.update,I)})),a&&s.addEventListener("resize",r.update,I),function(){i&&f.forEach((function(e){e.removeEventListener("scroll",r.update,I)})),a&&s.removeEventListener("resize",r.update,I)}},data:{}},U={name:"popperOffsets",enabled:!0,phase:"read",fn:function(e){var t=e.state;t.modifiersData[e.name]=E({reference:t.rects.reference,element:t.rects.popper,strategy:"absolute",placement:t.placement})},data:{}},z={top:"auto",right:"auto",bottom:"auto",left:"auto"},F={name:"computeStyles",enabled:!0,phase:"beforeWrite",fn:function(e){var t=e.state,n=e.options;e=void 0===(e=n.gpuAcceleration)||e;var r=n.adaptive;r=void 0===r||r,n=void 0===(n=n.roundOffsets)||n,e={placement:y(t.placement),popper:t.elements.popper,popperRect:t.rects.popper,gpuAcceleration:e},null!=t.modifiersData.popperOffsets&&(t.styles.popper=Object.assign(Object.assign({},t.styles.popper),W(Object.assign(Object.assign({},e),{},{offsets:t.modifiersData.popperOffsets,position:t.options.strategy,adaptive:r,roundOffsets:n})))),null!=t.modifiersData.arrow&&(t.styles.arrow=Object.assign(Object.assign({},t.styles.arrow),W(Object.assign(Object.assign({},e),{},{offsets:t.modifiersData.arrow,position:"absolute",adaptive:!1,roundOffsets:n})))),t.attributes.popper=Object.assign(Object.assign({},t.attributes.popper),{},{"data-popper-placement":t.placement})},data:{}},X={name:"applyStyles",enabled:!0,phase:"write",fn:function(e){var t=e.state;Object.keys(t.elements).forEach((function(e){var n=t.styles[e]||{},r=t.attributes[e]||{},o=t.elements[e];i(o)&&a(o)&&(Object.assign(o.style,n),Object.keys(r).forEach((function(e){var t=r[e];!1===t?o.removeAttribute(e):o.setAttribute(e,!0===t?"":t)})))}))},effect:function(e){var t=e.state,n={popper:{position:t.options.strategy,left:"0",top:"0",margin:"0"},arrow:{position:"absolute"},reference:{}};return Object.assign(t.elements.popper.style,n.popper),t.elements.arrow&&Object.assign(t.elements.arrow.style,n.arrow),function(){Object.keys(t.elements).forEach((function(e){var r=t.elements[e],o=t.attributes[e]||{};e=Object.keys(t.styles.hasOwnProperty(e)?t.styles[e]:n[e]).reduce((function(e,t){return e[t]="",e}),{}),i(r)&&a(r)&&(Object.assign(r.style,e),Object.keys(o).forEach((function(e){r.removeAttribute(e)})))}))}},requires:["computeStyles"]},Y={name:"offset",enabled:!0,phase:"main",requires:["popperOffsets"],fn:function(e){var t=e.state,n=e.name,r=void 0===(e=e.options.offset)?[0,0]:e,o=(e=C.reduce((function(e,n){var o=t.rects,i=y(n),a=0<=["left","top"].indexOf(i)?-1:1,s="function"==typeof r?r(Object.assign(Object.assign({},o),{},{placement:n})):r;return o=(o=s[0])||0,s=((s=s[1])||0)*a,i=0<=["left","right"].indexOf(i)?{x:s,y:o}:{x:o,y:s},e[n]=i,e}),{}))[t.placement],i=o.x;o=o.y,null!=t.modifiersData.popperOffsets&&(t.modifiersData.popperOffsets.x+=i,t.modifiersData.popperOffsets.y+=o),t.modifiersData[n]=e}},G={left:"right",right:"left",bottom:"top",top:"bottom"},J={start:"end",end:"start"},K={name:"flip",enabled:!0,phase:"main",fn:function(e){var t=e.state,n=e.options;if(e=e.name,!t.modifiersData[e]._skip){var r=n.mainAxis;r=void 0===r||r;var o=n.altAxis;o=void 0===o||o;var i=n.fallbackPlacements,a=n.padding,s=n.boundary,f=n.rootBoundary,c=n.altBoundary,p=n.flipVariations,l=void 0===p||p,u=n.allowedAutoPlacements;p=y(n=t.options.placement),i=i||(p!==n&&l?function(e){if("auto"===y(e))return[];var t=A(e);return[H(e),t,H(t)]}(n):[A(n)]);var d=[n].concat(i).reduce((function(e,n){return e.concat("auto"===y(n)?function(e,t){void 0===t&&(t={});var n=t.boundary,r=t.rootBoundary,o=t.padding,i=t.flipVariations,a=t.allowedAutoPlacements,s=void 0===a?C:a,f=t.placement.split("-")[1];0===(i=(t=f?i?q:q.filter((function(e){return e.split("-")[1]===f})):T).filter((function(e){return 0<=s.indexOf(e)}))).length&&(i=t);var c=i.reduce((function(t,i){return t[i]=L(e,{placement:i,boundary:n,rootBoundary:r,padding:o})[y(i)],t}),{});return Object.keys(c).sort((function(e,t){return c[e]-c[t]}))}(t,{placement:n,boundary:s,rootBoundary:f,padding:a,flipVariations:l,allowedAutoPlacements:u}):n)}),[]);n=t.rects.reference,i=t.rects.popper;var m=new Map;p=!0;for(var h=d[0],g=0;g<d.length;g++){var v=d[g],b=y(v),O="start"===v.split("-")[1],w=0<=["top","bottom"].indexOf(b),x=w?"width":"height",j=L(t,{placement:v,boundary:s,rootBoundary:f,altBoundary:c,padding:a});if(O=w?O?"right":"left":O?"bottom":"top",n[x]>i[x]&&(O=A(O)),x=A(O),w=[],r&&w.push(0>=j[b]),o&&w.push(0>=j[O],0>=j[x]),w.every((function(e){return e}))){h=v,p=!1;break}m.set(v,w)}if(p)for(r=function(e){var t=d.find((function(t){if(t=m.get(t))return t.slice(0,e).every((function(e){return e}))}));if(t)return h=t,"break"},o=l?3:1;0<o&&"break"!==r(o);o--);t.placement!==h&&(t.modifiersData[e]._skip=!0,t.placement=h,t.reset=!0)}},requiresIfExists:["offset"],data:{_skip:!1}},Q={name:"preventOverflow",enabled:!0,phase:"main",fn:function(e){var t=e.state,n=e.options;e=e.name;var r=n.mainAxis,o=void 0===r||r;r=void 0!==(r=n.altAxis)&&r;var i=n.tether;i=void 0===i||i;var a=n.tetherOffset,s=void 0===a?0:a;n=L(t,{boundary:n.boundary,rootBoundary:n.rootBoundary,padding:n.padding,altBoundary:n.altBoundary}),a=y(t.placement);var f=t.placement.split("-")[1],c=!f,p=M(a);a="x"===p?"y":"x";var l=t.modifiersData.popperOffsets,d=t.rects.reference,m=t.rects.popper,h="function"==typeof s?s(Object.assign(Object.assign({},t.rects),{},{placement:t.placement})):s;if(s={x:0,y:0},l){if(o){var v="y"===p?"top":"left",b="y"===p?"bottom":"right",O="y"===p?"height":"width";o=l[p];var w=l[p]+n[v],x=l[p]-n[b],j=i?-m[O]/2:0,E="start"===f?d[O]:m[O];f="start"===f?-m[O]:-d[O],m=t.elements.arrow,m=i&&m?u(m):{width:0,height:0};var D=t.modifiersData["arrow#persistent"]?t.modifiersData["arrow#persistent"].padding:{top:0,right:0,bottom:0,left:0};v=D[v],b=D[b],m=Math.max(0,Math.min(d[O],m[O])),E=c?d[O]/2-j-m-v-h:E-m-v-h,c=c?-d[O]/2+j+m+b+h:f+m+b+h,h=t.elements.arrow&&g(t.elements.arrow),d=t.modifiersData.offset?t.modifiersData.offset[t.placement][p]:0,h=l[p]+E-d-(h?"y"===p?h.clientTop||0:h.clientLeft||0:0),c=l[p]+c-d,i=Math.max(i?Math.min(w,h):w,Math.min(o,i?Math.max(x,c):x)),l[p]=i,s[p]=i-o}r&&(r=l[a],i=Math.max(r+n["x"===p?"top":"left"],Math.min(r,r-n["x"===p?"bottom":"right"])),l[a]=i,s[a]=i-r),t.modifiersData[e]=s}},requiresIfExists:["offset"]},Z={name:"arrow",enabled:!0,phase:"main",fn:function(e){var t,n=e.state;e=e.name;var r=n.elements.arrow,o=n.modifiersData.popperOffsets,i=y(n.placement),a=M(i);if(i=0<=["left","right"].indexOf(i)?"height":"width",r&&o){var s=n.modifiersData[e+"#persistent"].padding,f=u(r),c="y"===a?"top":"left",p="y"===a?"bottom":"right",l=n.rects.reference[i]+n.rects.reference[a]-o[a]-n.rects.popper[i];o=o[a]-n.rects.reference[a],l=(r=(r=g(r))?"y"===a?r.clientHeight||0:r.clientWidth||0:0)/2-f[i]/2+(l/2-o/2),i=Math.max(s[c],Math.min(l,r-f[i]-s[p])),n.modifiersData[e]=((t={})[a]=i,t.centerOffset=i-l,t)}},effect:function(e){var t=e.state,n=e.options;e=e.name;var r=n.element;if(r=void 0===r?"[data-popper-arrow]":r,n=void 0===(n=n.padding)?0:n,null!=r){if("string"==typeof r&&!(r=t.elements.popper.querySelector(r)))return;O(t.elements.popper,r)&&(t.elements.arrow=r,t.modifiersData[e+"#persistent"]={padding:D("number"!=typeof n?n:P(n,T))})}},requires:["popperOffsets"],requiresIfExists:["preventOverflow"]},$={name:"hide",enabled:!0,phase:"main",requiresIfExists:["preventOverflow"],fn:function(e){var t=e.state;e=e.name;var n=t.rects.reference,r=t.rects.popper,o=t.modifiersData.preventOverflow,i=L(t,{elementContext:"reference"}),a=L(t,{altBoundary:!0});n=R(i,n),r=R(a,r,o),o=S(n),a=S(r),t.modifiersData[e]={referenceClippingOffsets:n,popperEscapeOffsets:r,isReferenceHidden:o,hasPopperEscaped:a},t.attributes.popper=Object.assign(Object.assign({},t.attributes.popper),{},{"data-popper-reference-hidden":o,"data-popper-escaped":a})}},ee=B({defaultModifiers:[_,U,F,X]}),te=[_,U,F,X,Y,K,Q,Z,$],ne=B({defaultModifiers:te});e.applyStyles=X,e.arrow=Z,e.computeStyles=F,e.createPopper=ne,e.createPopperLite=ee,e.defaultModifiers=te,e.detectOverflow=L,e.eventListeners=_,e.flip=K,e.hide=$,e.offset=Y,e.popperGenerator=B,e.popperOffsets=U,e.preventOverflow=Q,Object.defineProperty(e,"__esModule",{value:!0})})); +//# sourceMappingURL=popper.min.js.map diff --git a/_posts/2021-06-13-unreproducibility-detox/unreproducibility-detox_files/tippy-6.2.7/tippy-bundle.umd.min.js b/_posts/2021-06-13-unreproducibility-detox/unreproducibility-detox_files/tippy-6.2.7/tippy-bundle.umd.min.js index a53c789..c6b45c8 100644 --- a/_posts/2021-06-13-unreproducibility-detox/unreproducibility-detox_files/tippy-6.2.7/tippy-bundle.umd.min.js +++ b/_posts/2021-06-13-unreproducibility-detox/unreproducibility-detox_files/tippy-6.2.7/tippy-bundle.umd.min.js @@ -1,2 +1,2 @@ -!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e(require("@popperjs/core")):"function"==typeof define&&define.amd?define(["@popperjs/core"],e):(t=t||self).tippy=e(t.Popper)}(this,(function(t){"use strict";var e="undefined"!=typeof window&&"undefined"!=typeof document,n=e?navigator.userAgent:"",r=/MSIE |Trident\//.test(n),i={passive:!0,capture:!0};function o(t,e,n){if(Array.isArray(t)){var r=t[e];return null==r?Array.isArray(n)?n[e]:n:r}return t}function a(t,e){var n={}.toString.call(t);return 0===n.indexOf("[object")&&n.indexOf(e+"]")>-1}function s(t,e){return"function"==typeof t?t.apply(void 0,e):t}function u(t,e){return 0===e?t:function(r){clearTimeout(n),n=setTimeout((function(){t(r)}),e)};var n}function c(t,e){var n=Object.assign({},t);return e.forEach((function(t){delete n[t]})),n}function p(t){return[].concat(t)}function f(t,e){-1===t.indexOf(e)&&t.push(e)}function l(t){return t.split("-")[0]}function d(t){return[].slice.call(t)}function v(){return document.createElement("div")}function m(t){return["Element","Fragment"].some((function(e){return a(t,e)}))}function g(t){return a(t,"MouseEvent")}function h(t){return!(!t||!t._tippy||t._tippy.reference!==t)}function b(t){return m(t)?[t]:function(t){return a(t,"NodeList")}(t)?d(t):Array.isArray(t)?t:d(document.querySelectorAll(t))}function y(t,e){t.forEach((function(t){t&&(t.style.transitionDuration=e+"ms")}))}function x(t,e){t.forEach((function(t){t&&t.setAttribute("data-state",e)}))}function w(t){var e=p(t)[0];return e&&e.ownerDocument||document}function E(t,e,n){var r=e+"EventListener";["transitionend","webkitTransitionEnd"].forEach((function(e){t[r](e,n)}))}var T={isTouch:!1},C=0;function A(){T.isTouch||(T.isTouch=!0,window.performance&&document.addEventListener("mousemove",O))}function O(){var t=performance.now();t-C<20&&(T.isTouch=!1,document.removeEventListener("mousemove",O)),C=t}function L(){var t=document.activeElement;if(h(t)){var e=t._tippy;t.blur&&!e.state.isVisible&&t.blur()}}var D=Object.assign({appendTo:function(){return document.body},aria:{content:"auto",expanded:"auto"},delay:0,duration:[300,250],getReferenceClientRect:null,hideOnClick:!0,ignoreAttributes:!1,interactive:!1,interactiveBorder:2,interactiveDebounce:0,moveTransition:"",offset:[0,10],onAfterUpdate:function(){},onBeforeUpdate:function(){},onCreate:function(){},onDestroy:function(){},onHidden:function(){},onHide:function(){},onMount:function(){},onShow:function(){},onShown:function(){},onTrigger:function(){},onUntrigger:function(){},onClickOutside:function(){},placement:"top",plugins:[],popperOptions:{},render:null,showOnCreate:!1,touch:!0,trigger:"mouseenter focus",triggerTarget:null},{animateFill:!1,followCursor:!1,inlinePositioning:!1,sticky:!1},{},{allowHTML:!1,animation:"fade",arrow:!0,content:"",inertia:!1,maxWidth:350,role:"tooltip",theme:"",zIndex:9999}),k=Object.keys(D);function R(t){var e=(t.plugins||[]).reduce((function(e,n){var r=n.name,i=n.defaultValue;return r&&(e[r]=void 0!==t[r]?t[r]:i),e}),{});return Object.assign({},t,{},e)}function M(t,e){var n=Object.assign({},e,{content:s(e.content,[t])},e.ignoreAttributes?{}:function(t,e){return(e?Object.keys(R(Object.assign({},D,{plugins:e}))):k).reduce((function(e,n){var r=(t.getAttribute("data-tippy-"+n)||"").trim();if(!r)return e;if("content"===n)e[n]=r;else try{e[n]=JSON.parse(r)}catch(t){e[n]=r}return e}),{})}(t,e.plugins));return n.aria=Object.assign({},D.aria,{},n.aria),n.aria={expanded:"auto"===n.aria.expanded?e.interactive:n.aria.expanded,content:"auto"===n.aria.content?e.interactive?null:"describedby":n.aria.content},n}function P(t,e){t.innerHTML=e}function V(t){var e=v();return!0===t?e.className="tippy-arrow":(e.className="tippy-svg-arrow",m(t)?e.appendChild(t):P(e,t)),e}function j(t,e){m(e.content)?(P(t,""),t.appendChild(e.content)):"function"!=typeof e.content&&(e.allowHTML?P(t,e.content):t.textContent=e.content)}function I(t){var e=t.firstElementChild,n=d(e.children);return{box:e,content:n.find((function(t){return t.classList.contains("tippy-content")})),arrow:n.find((function(t){return t.classList.contains("tippy-arrow")||t.classList.contains("tippy-svg-arrow")})),backdrop:n.find((function(t){return t.classList.contains("tippy-backdrop")}))}}function S(t){var e=v(),n=v();n.className="tippy-box",n.setAttribute("data-state","hidden"),n.setAttribute("tabindex","-1");var r=v();function i(n,r){var i=I(e),o=i.box,a=i.content,s=i.arrow;r.theme?o.setAttribute("data-theme",r.theme):o.removeAttribute("data-theme"),"string"==typeof r.animation?o.setAttribute("data-animation",r.animation):o.removeAttribute("data-animation"),r.inertia?o.setAttribute("data-inertia",""):o.removeAttribute("data-inertia"),o.style.maxWidth="number"==typeof r.maxWidth?r.maxWidth+"px":r.maxWidth,r.role?o.setAttribute("role",r.role):o.removeAttribute("role"),n.content===r.content&&n.allowHTML===r.allowHTML||j(a,t.props),r.arrow?s?n.arrow!==r.arrow&&(o.removeChild(s),o.appendChild(V(r.arrow))):o.appendChild(V(r.arrow)):s&&o.removeChild(s)}return r.className="tippy-content",r.setAttribute("data-state","hidden"),j(r,t.props),e.appendChild(n),n.appendChild(r),i(t.props,t.props),{popper:e,onUpdate:i}}S.$$tippy=!0;var B=1,H=[],N=[];function U(e,n){var a,c,m,h,b,C,A,O,L,k=M(e,Object.assign({},D,{},R((a=n,Object.keys(a).reduce((function(t,e){return void 0!==a[e]&&(t[e]=a[e]),t}),{}))))),P=!1,V=!1,j=!1,S=!1,U=[],_=u(bt,k.interactiveDebounce),z=B++,F=(L=k.plugins).filter((function(t,e){return L.indexOf(t)===e})),W={id:z,reference:e,popper:v(),popperInstance:null,props:k,state:{isEnabled:!0,isVisible:!1,isDestroyed:!1,isMounted:!1,isShown:!1},plugins:F,clearDelayTimeouts:function(){clearTimeout(c),clearTimeout(m),cancelAnimationFrame(h)},setProps:function(t){if(W.state.isDestroyed)return;it("onBeforeUpdate",[W,t]),gt();var n=W.props,r=M(e,Object.assign({},W.props,{},t,{ignoreAttributes:!0}));W.props=r,mt(),n.interactiveDebounce!==r.interactiveDebounce&&(st(),_=u(bt,r.interactiveDebounce));n.triggerTarget&&!r.triggerTarget?p(n.triggerTarget).forEach((function(t){t.removeAttribute("aria-expanded")})):r.triggerTarget&&e.removeAttribute("aria-expanded");at(),rt(),q&&q(n,r);W.popperInstance&&(Et(),Ct().forEach((function(t){requestAnimationFrame(t._tippy.popperInstance.forceUpdate)})));it("onAfterUpdate",[W,t])},setContent:function(t){W.setProps({content:t})},show:function(){var t=W.state.isVisible,e=W.state.isDestroyed,n=!W.state.isEnabled,r=T.isTouch&&!W.props.touch,i=o(W.props.duration,0,D.duration);if(t||e||n||r)return;if(Z().hasAttribute("disabled"))return;if(it("onShow",[W],!1),!1===W.props.onShow(W))return;W.state.isVisible=!0,Q()&&(Y.style.visibility="visible");rt(),ft(),W.state.isMounted||(Y.style.transition="none");if(Q()){var a=et(),u=a.box,c=a.content;y([u,c],0)}A=function(){if(W.state.isVisible&&!S){if(S=!0,Y.offsetHeight,Y.style.transition=W.props.moveTransition,Q()&&W.props.animation){var t=et(),e=t.box,n=t.content;y([e,n],i),x([e,n],"visible")}ot(),at(),f(N,W),W.state.isMounted=!0,it("onMount",[W]),W.props.animation&&Q()&&function(t,e){dt(t,e)}(i,(function(){W.state.isShown=!0,it("onShown",[W])}))}},function(){var t,e=W.props.appendTo,n=Z();t=W.props.interactive&&e===D.appendTo||"parent"===e?n.parentNode:s(e,[n]);t.contains(Y)||t.appendChild(Y);Et()}()},hide:function(){var t=!W.state.isVisible,e=W.state.isDestroyed,n=!W.state.isEnabled,r=o(W.props.duration,1,D.duration);if(t||e||n)return;if(it("onHide",[W],!1),!1===W.props.onHide(W))return;W.state.isVisible=!1,W.state.isShown=!1,S=!1,P=!1,Q()&&(Y.style.visibility="hidden");if(st(),lt(),rt(),Q()){var i=et(),a=i.box,s=i.content;W.props.animation&&(y([a,s],r),x([a,s],"hidden"))}ot(),at(),W.props.animation?Q()&&function(t,e){dt(t,(function(){!W.state.isVisible&&Y.parentNode&&Y.parentNode.contains(Y)&&e()}))}(r,W.unmount):W.unmount()},hideWithInteractivity:function(t){tt().addEventListener("mousemove",_),f(H,_),_(t)},enable:function(){W.state.isEnabled=!0},disable:function(){W.hide(),W.state.isEnabled=!1},unmount:function(){W.state.isVisible&&W.hide();if(!W.state.isMounted)return;Tt(),Ct().forEach((function(t){t._tippy.unmount()})),Y.parentNode&&Y.parentNode.removeChild(Y);N=N.filter((function(t){return t!==W})),W.state.isMounted=!1,it("onHidden",[W])},destroy:function(){if(W.state.isDestroyed)return;W.clearDelayTimeouts(),W.unmount(),gt(),delete e._tippy,W.state.isDestroyed=!0,it("onDestroy",[W])}};if(!k.render)return W;var X=k.render(W),Y=X.popper,q=X.onUpdate;Y.setAttribute("data-tippy-root",""),Y.id="tippy-"+W.id,W.popper=Y,e._tippy=W,Y._tippy=W;var $=F.map((function(t){return t.fn(W)})),J=e.hasAttribute("aria-expanded");return mt(),at(),rt(),it("onCreate",[W]),k.showOnCreate&&At(),Y.addEventListener("mouseenter",(function(){W.props.interactive&&W.state.isVisible&&W.clearDelayTimeouts()})),Y.addEventListener("mouseleave",(function(t){W.props.interactive&&W.props.trigger.indexOf("mouseenter")>=0&&(tt().addEventListener("mousemove",_),_(t))})),W;function G(){var t=W.props.touch;return Array.isArray(t)?t:[t,0]}function K(){return"hold"===G()[0]}function Q(){var t;return!!(null==(t=W.props.render)?void 0:t.$$tippy)}function Z(){return O||e}function tt(){var t=Z().parentNode;return t?w(t):document}function et(){return I(Y)}function nt(t){return W.state.isMounted&&!W.state.isVisible||T.isTouch||b&&"focus"===b.type?0:o(W.props.delay,t?0:1,D.delay)}function rt(){Y.style.pointerEvents=W.props.interactive&&W.state.isVisible?"":"none",Y.style.zIndex=""+W.props.zIndex}function it(t,e,n){var r;(void 0===n&&(n=!0),$.forEach((function(n){n[t]&&n[t].apply(void 0,e)})),n)&&(r=W.props)[t].apply(r,e)}function ot(){var t=W.props.aria;if(t.content){var n="aria-"+t.content,r=Y.id;p(W.props.triggerTarget||e).forEach((function(t){var e=t.getAttribute(n);if(W.state.isVisible)t.setAttribute(n,e?e+" "+r:r);else{var i=e&&e.replace(r,"").trim();i?t.setAttribute(n,i):t.removeAttribute(n)}}))}}function at(){!J&&W.props.aria.expanded&&p(W.props.triggerTarget||e).forEach((function(t){W.props.interactive?t.setAttribute("aria-expanded",W.state.isVisible&&t===Z()?"true":"false"):t.removeAttribute("aria-expanded")}))}function st(){tt().removeEventListener("mousemove",_),H=H.filter((function(t){return t!==_}))}function ut(t){if(!(T.isTouch&&(j||"mousedown"===t.type)||W.props.interactive&&Y.contains(t.target))){if(Z().contains(t.target)){if(T.isTouch)return;if(W.state.isVisible&&W.props.trigger.indexOf("click")>=0)return}else it("onClickOutside",[W,t]);!0===W.props.hideOnClick&&(W.clearDelayTimeouts(),W.hide(),V=!0,setTimeout((function(){V=!1})),W.state.isMounted||lt())}}function ct(){j=!0}function pt(){j=!1}function ft(){var t=tt();t.addEventListener("mousedown",ut,!0),t.addEventListener("touchend",ut,i),t.addEventListener("touchstart",pt,i),t.addEventListener("touchmove",ct,i)}function lt(){var t=tt();t.removeEventListener("mousedown",ut,!0),t.removeEventListener("touchend",ut,i),t.removeEventListener("touchstart",pt,i),t.removeEventListener("touchmove",ct,i)}function dt(t,e){var n=et().box;function r(t){t.target===n&&(E(n,"remove",r),e())}if(0===t)return e();E(n,"remove",C),E(n,"add",r),C=r}function vt(t,n,r){void 0===r&&(r=!1),p(W.props.triggerTarget||e).forEach((function(e){e.addEventListener(t,n,r),U.push({node:e,eventType:t,handler:n,options:r})}))}function mt(){var t;K()&&(vt("touchstart",ht,{passive:!0}),vt("touchend",yt,{passive:!0})),(t=W.props.trigger,t.split(/\s+/).filter(Boolean)).forEach((function(t){if("manual"!==t)switch(vt(t,ht),t){case"mouseenter":vt("mouseleave",yt);break;case"focus":vt(r?"focusout":"blur",xt);break;case"focusin":vt("focusout",xt)}}))}function gt(){U.forEach((function(t){var e=t.node,n=t.eventType,r=t.handler,i=t.options;e.removeEventListener(n,r,i)})),U=[]}function ht(t){var e,n=!1;if(W.state.isEnabled&&!wt(t)&&!V){var r="focus"===(null==(e=b)?void 0:e.type);b=t,O=t.currentTarget,at(),!W.state.isVisible&&g(t)&&H.forEach((function(e){return e(t)})),"click"===t.type&&(W.props.trigger.indexOf("mouseenter")<0||P)&&!1!==W.props.hideOnClick&&W.state.isVisible?n=!0:At(t),"click"===t.type&&(P=!n),n&&!r&&Ot(t)}}function bt(t){var e=t.target,n=Z().contains(e)||Y.contains(e);"mousemove"===t.type&&n||function(t,e){var n=e.clientX,r=e.clientY;return t.every((function(t){var e=t.popperRect,i=t.popperState,o=t.props.interactiveBorder,a=l(i.placement),s=i.modifiersData.offset;if(!s)return!0;var u="bottom"===a?s.top.y:0,c="top"===a?s.bottom.y:0,p="right"===a?s.left.x:0,f="left"===a?s.right.x:0,d=e.top-r+u>o,v=r-e.bottom-c>o,m=e.left-n+p>o,g=n-e.right-f>o;return d||v||m||g}))}(Ct().concat(Y).map((function(t){var e,n=null==(e=t._tippy.popperInstance)?void 0:e.state;return n?{popperRect:t.getBoundingClientRect(),popperState:n,props:k}:null})).filter(Boolean),t)&&(st(),Ot(t))}function yt(t){wt(t)||W.props.trigger.indexOf("click")>=0&&P||(W.props.interactive?W.hideWithInteractivity(t):Ot(t))}function xt(t){W.props.trigger.indexOf("focusin")<0&&t.target!==Z()||W.props.interactive&&t.relatedTarget&&Y.contains(t.relatedTarget)||Ot(t)}function wt(t){return!!T.isTouch&&K()!==t.type.indexOf("touch")>=0}function Et(){Tt();var n=W.props,r=n.popperOptions,i=n.placement,o=n.offset,a=n.getReferenceClientRect,s=n.moveTransition,u=Q()?I(Y).arrow:null,c=a?{getBoundingClientRect:a,contextElement:a.contextElement||Z()}:e,p=[{name:"offset",options:{offset:o}},{name:"preventOverflow",options:{padding:{top:2,bottom:2,left:5,right:5}}},{name:"flip",options:{padding:5}},{name:"computeStyles",options:{adaptive:!s}},{name:"$$tippy",enabled:!0,phase:"beforeWrite",requires:["computeStyles"],fn:function(t){var e=t.state;if(Q()){var n=et().box;["placement","reference-hidden","escaped"].forEach((function(t){"placement"===t?n.setAttribute("data-placement",e.placement):e.attributes.popper["data-popper-"+t]?n.setAttribute("data-"+t,""):n.removeAttribute("data-"+t)})),e.attributes.popper={}}}}];Q()&&u&&p.push({name:"arrow",options:{element:u,padding:3}}),p.push.apply(p,(null==r?void 0:r.modifiers)||[]),W.popperInstance=t.createPopper(c,Y,Object.assign({},r,{placement:i,onFirstUpdate:A,modifiers:p}))}function Tt(){W.popperInstance&&(W.popperInstance.destroy(),W.popperInstance=null)}function Ct(){return d(Y.querySelectorAll("[data-tippy-root]"))}function At(t){W.clearDelayTimeouts(),t&&it("onTrigger",[W,t]),ft();var e=nt(!0),n=G(),r=n[0],i=n[1];T.isTouch&&"hold"===r&&i&&(e=i),e?c=setTimeout((function(){W.show()}),e):W.show()}function Ot(t){if(W.clearDelayTimeouts(),it("onUntrigger",[W,t]),W.state.isVisible){if(!(W.props.trigger.indexOf("mouseenter")>=0&&W.props.trigger.indexOf("click")>=0&&["mouseleave","mousemove"].indexOf(t.type)>=0&&P)){var e=nt(!1);e?m=setTimeout((function(){W.state.isVisible&&W.hide()}),e):h=requestAnimationFrame((function(){W.hide()}))}}else lt()}}function _(t,e){void 0===e&&(e={});var n=D.plugins.concat(e.plugins||[]);document.addEventListener("touchstart",A,i),window.addEventListener("blur",L);var r=Object.assign({},e,{plugins:n}),o=b(t).reduce((function(t,e){var n=e&&U(e,r);return n&&t.push(n),t}),[]);return m(t)?o[0]:o}_.defaultProps=D,_.setDefaultProps=function(t){Object.keys(t).forEach((function(e){D[e]=t[e]}))},_.currentInput=T;var z={mouseover:"mouseenter",focusin:"focus",click:"click"};var F={name:"animateFill",defaultValue:!1,fn:function(t){var e;if(!(null==(e=t.props.render)?void 0:e.$$tippy))return{};var n=I(t.popper),r=n.box,i=n.content,o=t.props.animateFill?function(){var t=v();return t.className="tippy-backdrop",x([t],"hidden"),t}():null;return{onCreate:function(){o&&(r.insertBefore(o,r.firstElementChild),r.setAttribute("data-animatefill",""),r.style.overflow="hidden",t.setProps({arrow:!1,animation:"shift-away"}))},onMount:function(){if(o){var t=r.style.transitionDuration,e=Number(t.replace("ms",""));i.style.transitionDelay=Math.round(e/10)+"ms",o.style.transitionDuration=t,x([o],"visible")}},onShow:function(){o&&(o.style.transitionDuration="0ms")},onHide:function(){o&&x([o],"hidden")}}}};var W={clientX:0,clientY:0},X=[];function Y(t){var e=t.clientX,n=t.clientY;W={clientX:e,clientY:n}}var q={name:"followCursor",defaultValue:!1,fn:function(t){var e=t.reference,n=w(t.props.triggerTarget||e),r=!1,i=!1,o=!0,a=t.props;function s(){return"initial"===t.props.followCursor&&t.state.isVisible}function u(){n.addEventListener("mousemove",f)}function c(){n.removeEventListener("mousemove",f)}function p(){r=!0,t.setProps({getReferenceClientRect:null}),r=!1}function f(n){var r=!n.target||e.contains(n.target),i=t.props.followCursor,o=n.clientX,a=n.clientY,s=e.getBoundingClientRect(),u=o-s.left,c=a-s.top;!r&&t.props.interactive||t.setProps({getReferenceClientRect:function(){var t=e.getBoundingClientRect(),n=o,r=a;"initial"===i&&(n=t.left+u,r=t.top+c);var s="horizontal"===i?t.top:r,p="vertical"===i?t.right:n,f="horizontal"===i?t.bottom:r,l="vertical"===i?t.left:n;return{width:p-l,height:f-s,top:s,right:p,bottom:f,left:l}}})}function l(){t.props.followCursor&&(X.push({instance:t,doc:n}),function(t){t.addEventListener("mousemove",Y)}(n))}function d(){0===(X=X.filter((function(e){return e.instance!==t}))).filter((function(t){return t.doc===n})).length&&function(t){t.removeEventListener("mousemove",Y)}(n)}return{onCreate:l,onDestroy:d,onBeforeUpdate:function(){a=t.props},onAfterUpdate:function(e,n){var o=n.followCursor;r||void 0!==o&&a.followCursor!==o&&(d(),o?(l(),!t.state.isMounted||i||s()||u()):(c(),p()))},onMount:function(){t.props.followCursor&&!i&&(o&&(f(W),o=!1),s()||u())},onTrigger:function(t,e){g(e)&&(W={clientX:e.clientX,clientY:e.clientY}),i="focus"===e.type},onHidden:function(){t.props.followCursor&&(p(),c(),o=!0)}}}};var $={name:"inlinePositioning",defaultValue:!1,fn:function(t){var e,n=t.reference;var r=-1,i=!1,o={name:"tippyInlinePositioning",enabled:!0,phase:"afterWrite",fn:function(i){var o=i.state;t.props.inlinePositioning&&(e!==o.placement&&t.setProps({getReferenceClientRect:function(){return function(t){return function(t,e,n,r){if(n.length<2||null===t)return e;if(2===n.length&&r>=0&&n[0].left>n[1].right)return n[r]||e;switch(t){case"top":case"bottom":var i=n[0],o=n[n.length-1],a="top"===t,s=i.top,u=o.bottom,c=a?i.left:o.left,p=a?i.right:o.right;return{top:s,bottom:u,left:c,right:p,width:p-c,height:u-s};case"left":case"right":var f=Math.min.apply(Math,n.map((function(t){return t.left}))),l=Math.max.apply(Math,n.map((function(t){return t.right}))),d=n.filter((function(e){return"left"===t?e.left===f:e.right===l})),v=d[0].top,m=d[d.length-1].bottom;return{top:v,bottom:m,left:f,right:l,width:l-f,height:m-v};default:return e}}(l(t),n.getBoundingClientRect(),d(n.getClientRects()),r)}(o.placement)}}),e=o.placement)}};function a(){var e;i||(e=function(t,e){var n;return{popperOptions:Object.assign({},t.popperOptions,{modifiers:[].concat(((null==(n=t.popperOptions)?void 0:n.modifiers)||[]).filter((function(t){return t.name!==e.name})),[e])})}}(t.props,o),i=!0,t.setProps(e),i=!1)}return{onCreate:a,onAfterUpdate:a,onTrigger:function(e,n){if(g(n)){var i=d(t.reference.getClientRects()),o=i.find((function(t){return t.left-2<=n.clientX&&t.right+2>=n.clientX&&t.top-2<=n.clientY&&t.bottom+2>=n.clientY}));r=i.indexOf(o)}},onUntrigger:function(){r=-1}}}};var J={name:"sticky",defaultValue:!1,fn:function(t){var e=t.reference,n=t.popper;function r(e){return!0===t.props.sticky||t.props.sticky===e}var i=null,o=null;function a(){var s=r("reference")?(t.popperInstance?t.popperInstance.state.elements.reference:e).getBoundingClientRect():null,u=r("popper")?n.getBoundingClientRect():null;(s&&G(i,s)||u&&G(o,u))&&t.popperInstance&&t.popperInstance.update(),i=s,o=u,t.state.isMounted&&requestAnimationFrame(a)}return{onMount:function(){t.props.sticky&&a()}}}};function G(t,e){return!t||!e||(t.top!==e.top||t.right!==e.right||t.bottom!==e.bottom||t.left!==e.left)}return e&&function(t){var e=document.createElement("style");e.textContent=t,e.setAttribute("data-tippy-stylesheet","");var n=document.head,r=document.querySelector("head>style,head>link");r?n.insertBefore(e,r):n.appendChild(e)}('.tippy-box[data-animation=fade][data-state=hidden]{opacity:0}[data-tippy-root]{max-width:calc(100vw - 10px)}.tippy-box{position:relative;background-color:#333;color:#fff;border-radius:4px;font-size:14px;line-height:1.4;outline:0;transition-property:transform,visibility,opacity}.tippy-box[data-placement^=top]>.tippy-arrow{bottom:0}.tippy-box[data-placement^=top]>.tippy-arrow:before{bottom:-7px;left:0;border-width:8px 8px 0;border-top-color:initial;transform-origin:center top}.tippy-box[data-placement^=bottom]>.tippy-arrow{top:0}.tippy-box[data-placement^=bottom]>.tippy-arrow:before{top:-7px;left:0;border-width:0 8px 8px;border-bottom-color:initial;transform-origin:center bottom}.tippy-box[data-placement^=left]>.tippy-arrow{right:0}.tippy-box[data-placement^=left]>.tippy-arrow:before{border-width:8px 0 8px 8px;border-left-color:initial;right:-7px;transform-origin:center left}.tippy-box[data-placement^=right]>.tippy-arrow{left:0}.tippy-box[data-placement^=right]>.tippy-arrow:before{left:-7px;border-width:8px 8px 8px 0;border-right-color:initial;transform-origin:center right}.tippy-box[data-inertia][data-state=visible]{transition-timing-function:cubic-bezier(.54,1.5,.38,1.11)}.tippy-arrow{width:16px;height:16px;color:#333}.tippy-arrow:before{content:"";position:absolute;border-color:transparent;border-style:solid}.tippy-content{position:relative;padding:5px 9px;z-index:1}'),_.setDefaultProps({plugins:[F,q,$,J],render:S}),_.createSingleton=function(t,e){void 0===e&&(e={});var n,r=t,i=[],o=e.overrides,a=[];function s(){i=r.map((function(t){return t.reference}))}function u(t){r.forEach((function(e){t?e.enable():e.disable()}))}function p(t){return r.map((function(e){var r=e.setProps;return e.setProps=function(i){r(i),e.reference===n&&t.setProps(i)},function(){e.setProps=r}}))}u(!1),s();var f={fn:function(){return{onDestroy:function(){u(!0)},onTrigger:function(t,e){var a=e.currentTarget,s=i.indexOf(a);if(a!==n){n=a;var u=(o||[]).concat("content").reduce((function(t,e){return t[e]=r[s].props[e],t}),{});t.setProps(Object.assign({},u,{getReferenceClientRect:"function"==typeof u.getReferenceClientRect?u.getReferenceClientRect:function(){return a.getBoundingClientRect()}}))}}}}},l=_(v(),Object.assign({},c(e,["overrides"]),{plugins:[f].concat(e.plugins||[]),triggerTarget:i})),d=l.setProps;return l.setProps=function(t){o=t.overrides||o,d(t)},l.setInstances=function(t){u(!0),a.forEach((function(t){return t()})),r=t,u(!1),s(),p(l),l.setProps({triggerTarget:i})},a=p(l),l},_.delegate=function(t,e){var n=[],r=[],i=!1,o=e.target,a=c(e,["target"]),s=Object.assign({},a,{trigger:"manual",touch:!1}),u=Object.assign({},a,{showOnCreate:!0}),f=_(t,s);function l(t){if(t.target&&!i){var n=t.target.closest(o);if(n){var a=n.getAttribute("data-tippy-trigger")||e.trigger||D.trigger;if(!n._tippy&&!("touchstart"===t.type&&"boolean"==typeof u.touch||"touchstart"!==t.type&&a.indexOf(z[t.type])<0)){var s=_(n,u);s&&(r=r.concat(s))}}}}function d(t,e,r,i){void 0===i&&(i=!1),t.addEventListener(e,r,i),n.push({node:t,eventType:e,handler:r,options:i})}return p(f).forEach((function(t){var e=t.destroy,o=t.enable,a=t.disable;t.destroy=function(t){void 0===t&&(t=!0),t&&r.forEach((function(t){t.destroy()})),r=[],n.forEach((function(t){var e=t.node,n=t.eventType,r=t.handler,i=t.options;e.removeEventListener(n,r,i)})),n=[],e()},t.enable=function(){o(),r.forEach((function(t){return t.enable()})),i=!1},t.disable=function(){a(),r.forEach((function(t){return t.disable()})),i=!0},function(t){var e=t.reference;d(e,"touchstart",l),d(e,"mouseover",l),d(e,"focusin",l),d(e,"click",l)}(t)})),f},_.hideAll=function(t){var e=void 0===t?{}:t,n=e.exclude,r=e.duration;N.forEach((function(t){var e=!1;if(n&&(e=h(n)?t.reference===n:t.popper===n.popper),!e){var i=t.props.duration;t.setProps({duration:r}),t.hide(),t.state.isDestroyed||t.setProps({duration:i})}}))},_.roundArrow='<svg width="16" height="6" xmlns="http://www.w3.org/2000/svg"><path d="M0 6s1.796-.013 4.67-3.615C5.851.9 6.93.006 8 0c1.07-.006 2.148.887 3.343 2.385C14.233 6.005 16 6 16 6H0z"></svg>',_})); -//# sourceMappingURL=tippy-bundle.umd.min.js.map +!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e(require("@popperjs/core")):"function"==typeof define&&define.amd?define(["@popperjs/core"],e):(t=t||self).tippy=e(t.Popper)}(this,(function(t){"use strict";var e="undefined"!=typeof window&&"undefined"!=typeof document,n=e?navigator.userAgent:"",r=/MSIE |Trident\//.test(n),i={passive:!0,capture:!0};function o(t,e,n){if(Array.isArray(t)){var r=t[e];return null==r?Array.isArray(n)?n[e]:n:r}return t}function a(t,e){var n={}.toString.call(t);return 0===n.indexOf("[object")&&n.indexOf(e+"]")>-1}function s(t,e){return"function"==typeof t?t.apply(void 0,e):t}function u(t,e){return 0===e?t:function(r){clearTimeout(n),n=setTimeout((function(){t(r)}),e)};var n}function c(t,e){var n=Object.assign({},t);return e.forEach((function(t){delete n[t]})),n}function p(t){return[].concat(t)}function f(t,e){-1===t.indexOf(e)&&t.push(e)}function l(t){return t.split("-")[0]}function d(t){return[].slice.call(t)}function v(){return document.createElement("div")}function m(t){return["Element","Fragment"].some((function(e){return a(t,e)}))}function g(t){return a(t,"MouseEvent")}function h(t){return!(!t||!t._tippy||t._tippy.reference!==t)}function b(t){return m(t)?[t]:function(t){return a(t,"NodeList")}(t)?d(t):Array.isArray(t)?t:d(document.querySelectorAll(t))}function y(t,e){t.forEach((function(t){t&&(t.style.transitionDuration=e+"ms")}))}function x(t,e){t.forEach((function(t){t&&t.setAttribute("data-state",e)}))}function w(t){var e=p(t)[0];return e&&e.ownerDocument||document}function E(t,e,n){var r=e+"EventListener";["transitionend","webkitTransitionEnd"].forEach((function(e){t[r](e,n)}))}var T={isTouch:!1},C=0;function A(){T.isTouch||(T.isTouch=!0,window.performance&&document.addEventListener("mousemove",O))}function O(){var t=performance.now();t-C<20&&(T.isTouch=!1,document.removeEventListener("mousemove",O)),C=t}function L(){var t=document.activeElement;if(h(t)){var e=t._tippy;t.blur&&!e.state.isVisible&&t.blur()}}var D=Object.assign({appendTo:function(){return document.body},aria:{content:"auto",expanded:"auto"},delay:0,duration:[300,250],getReferenceClientRect:null,hideOnClick:!0,ignoreAttributes:!1,interactive:!1,interactiveBorder:2,interactiveDebounce:0,moveTransition:"",offset:[0,10],onAfterUpdate:function(){},onBeforeUpdate:function(){},onCreate:function(){},onDestroy:function(){},onHidden:function(){},onHide:function(){},onMount:function(){},onShow:function(){},onShown:function(){},onTrigger:function(){},onUntrigger:function(){},onClickOutside:function(){},placement:"top",plugins:[],popperOptions:{},render:null,showOnCreate:!1,touch:!0,trigger:"mouseenter focus",triggerTarget:null},{animateFill:!1,followCursor:!1,inlinePositioning:!1,sticky:!1},{},{allowHTML:!1,animation:"fade",arrow:!0,content:"",inertia:!1,maxWidth:350,role:"tooltip",theme:"",zIndex:9999}),k=Object.keys(D);function R(t){var e=(t.plugins||[]).reduce((function(e,n){var r=n.name,i=n.defaultValue;return r&&(e[r]=void 0!==t[r]?t[r]:i),e}),{});return Object.assign({},t,{},e)}function M(t,e){var n=Object.assign({},e,{content:s(e.content,[t])},e.ignoreAttributes?{}:function(t,e){return(e?Object.keys(R(Object.assign({},D,{plugins:e}))):k).reduce((function(e,n){var r=(t.getAttribute("data-tippy-"+n)||"").trim();if(!r)return e;if("content"===n)e[n]=r;else try{e[n]=JSON.parse(r)}catch(t){e[n]=r}return e}),{})}(t,e.plugins));return n.aria=Object.assign({},D.aria,{},n.aria),n.aria={expanded:"auto"===n.aria.expanded?e.interactive:n.aria.expanded,content:"auto"===n.aria.content?e.interactive?null:"describedby":n.aria.content},n}function P(t,e){t.innerHTML=e}function V(t){var e=v();return!0===t?e.className="tippy-arrow":(e.className="tippy-svg-arrow",m(t)?e.appendChild(t):P(e,t)),e}function j(t,e){m(e.content)?(P(t,""),t.appendChild(e.content)):"function"!=typeof e.content&&(e.allowHTML?P(t,e.content):t.textContent=e.content)}function I(t){var e=t.firstElementChild,n=d(e.children);return{box:e,content:n.find((function(t){return t.classList.contains("tippy-content")})),arrow:n.find((function(t){return t.classList.contains("tippy-arrow")||t.classList.contains("tippy-svg-arrow")})),backdrop:n.find((function(t){return t.classList.contains("tippy-backdrop")}))}}function S(t){var e=v(),n=v();n.className="tippy-box",n.setAttribute("data-state","hidden"),n.setAttribute("tabindex","-1");var r=v();function i(n,r){var i=I(e),o=i.box,a=i.content,s=i.arrow;r.theme?o.setAttribute("data-theme",r.theme):o.removeAttribute("data-theme"),"string"==typeof r.animation?o.setAttribute("data-animation",r.animation):o.removeAttribute("data-animation"),r.inertia?o.setAttribute("data-inertia",""):o.removeAttribute("data-inertia"),o.style.maxWidth="number"==typeof r.maxWidth?r.maxWidth+"px":r.maxWidth,r.role?o.setAttribute("role",r.role):o.removeAttribute("role"),n.content===r.content&&n.allowHTML===r.allowHTML||j(a,t.props),r.arrow?s?n.arrow!==r.arrow&&(o.removeChild(s),o.appendChild(V(r.arrow))):o.appendChild(V(r.arrow)):s&&o.removeChild(s)}return r.className="tippy-content",r.setAttribute("data-state","hidden"),j(r,t.props),e.appendChild(n),n.appendChild(r),i(t.props,t.props),{popper:e,onUpdate:i}}S.$$tippy=!0;var B=1,H=[],N=[];function U(e,n){var a,c,m,h,b,C,A,O,L,k=M(e,Object.assign({},D,{},R((a=n,Object.keys(a).reduce((function(t,e){return void 0!==a[e]&&(t[e]=a[e]),t}),{}))))),P=!1,V=!1,j=!1,S=!1,U=[],_=u(bt,k.interactiveDebounce),z=B++,F=(L=k.plugins).filter((function(t,e){return L.indexOf(t)===e})),W={id:z,reference:e,popper:v(),popperInstance:null,props:k,state:{isEnabled:!0,isVisible:!1,isDestroyed:!1,isMounted:!1,isShown:!1},plugins:F,clearDelayTimeouts:function(){clearTimeout(c),clearTimeout(m),cancelAnimationFrame(h)},setProps:function(t){if(W.state.isDestroyed)return;it("onBeforeUpdate",[W,t]),gt();var n=W.props,r=M(e,Object.assign({},W.props,{},t,{ignoreAttributes:!0}));W.props=r,mt(),n.interactiveDebounce!==r.interactiveDebounce&&(st(),_=u(bt,r.interactiveDebounce));n.triggerTarget&&!r.triggerTarget?p(n.triggerTarget).forEach((function(t){t.removeAttribute("aria-expanded")})):r.triggerTarget&&e.removeAttribute("aria-expanded");at(),rt(),q&&q(n,r);W.popperInstance&&(Et(),Ct().forEach((function(t){requestAnimationFrame(t._tippy.popperInstance.forceUpdate)})));it("onAfterUpdate",[W,t])},setContent:function(t){W.setProps({content:t})},show:function(){var t=W.state.isVisible,e=W.state.isDestroyed,n=!W.state.isEnabled,r=T.isTouch&&!W.props.touch,i=o(W.props.duration,0,D.duration);if(t||e||n||r)return;if(Z().hasAttribute("disabled"))return;if(it("onShow",[W],!1),!1===W.props.onShow(W))return;W.state.isVisible=!0,Q()&&(Y.style.visibility="visible");rt(),ft(),W.state.isMounted||(Y.style.transition="none");if(Q()){var a=et(),u=a.box,c=a.content;y([u,c],0)}A=function(){if(W.state.isVisible&&!S){if(S=!0,Y.offsetHeight,Y.style.transition=W.props.moveTransition,Q()&&W.props.animation){var t=et(),e=t.box,n=t.content;y([e,n],i),x([e,n],"visible")}ot(),at(),f(N,W),W.state.isMounted=!0,it("onMount",[W]),W.props.animation&&Q()&&function(t,e){dt(t,e)}(i,(function(){W.state.isShown=!0,it("onShown",[W])}))}},function(){var t,e=W.props.appendTo,n=Z();t=W.props.interactive&&e===D.appendTo||"parent"===e?n.parentNode:s(e,[n]);t.contains(Y)||t.appendChild(Y);Et()}()},hide:function(){var t=!W.state.isVisible,e=W.state.isDestroyed,n=!W.state.isEnabled,r=o(W.props.duration,1,D.duration);if(t||e||n)return;if(it("onHide",[W],!1),!1===W.props.onHide(W))return;W.state.isVisible=!1,W.state.isShown=!1,S=!1,P=!1,Q()&&(Y.style.visibility="hidden");if(st(),lt(),rt(),Q()){var i=et(),a=i.box,s=i.content;W.props.animation&&(y([a,s],r),x([a,s],"hidden"))}ot(),at(),W.props.animation?Q()&&function(t,e){dt(t,(function(){!W.state.isVisible&&Y.parentNode&&Y.parentNode.contains(Y)&&e()}))}(r,W.unmount):W.unmount()},hideWithInteractivity:function(t){tt().addEventListener("mousemove",_),f(H,_),_(t)},enable:function(){W.state.isEnabled=!0},disable:function(){W.hide(),W.state.isEnabled=!1},unmount:function(){W.state.isVisible&&W.hide();if(!W.state.isMounted)return;Tt(),Ct().forEach((function(t){t._tippy.unmount()})),Y.parentNode&&Y.parentNode.removeChild(Y);N=N.filter((function(t){return t!==W})),W.state.isMounted=!1,it("onHidden",[W])},destroy:function(){if(W.state.isDestroyed)return;W.clearDelayTimeouts(),W.unmount(),gt(),delete e._tippy,W.state.isDestroyed=!0,it("onDestroy",[W])}};if(!k.render)return W;var X=k.render(W),Y=X.popper,q=X.onUpdate;Y.setAttribute("data-tippy-root",""),Y.id="tippy-"+W.id,W.popper=Y,e._tippy=W,Y._tippy=W;var $=F.map((function(t){return t.fn(W)})),J=e.hasAttribute("aria-expanded");return mt(),at(),rt(),it("onCreate",[W]),k.showOnCreate&&At(),Y.addEventListener("mouseenter",(function(){W.props.interactive&&W.state.isVisible&&W.clearDelayTimeouts()})),Y.addEventListener("mouseleave",(function(t){W.props.interactive&&W.props.trigger.indexOf("mouseenter")>=0&&(tt().addEventListener("mousemove",_),_(t))})),W;function G(){var t=W.props.touch;return Array.isArray(t)?t:[t,0]}function K(){return"hold"===G()[0]}function Q(){var t;return!!(null==(t=W.props.render)?void 0:t.$$tippy)}function Z(){return O||e}function tt(){var t=Z().parentNode;return t?w(t):document}function et(){return I(Y)}function nt(t){return W.state.isMounted&&!W.state.isVisible||T.isTouch||b&&"focus"===b.type?0:o(W.props.delay,t?0:1,D.delay)}function rt(){Y.style.pointerEvents=W.props.interactive&&W.state.isVisible?"":"none",Y.style.zIndex=""+W.props.zIndex}function it(t,e,n){var r;(void 0===n&&(n=!0),$.forEach((function(n){n[t]&&n[t].apply(void 0,e)})),n)&&(r=W.props)[t].apply(r,e)}function ot(){var t=W.props.aria;if(t.content){var n="aria-"+t.content,r=Y.id;p(W.props.triggerTarget||e).forEach((function(t){var e=t.getAttribute(n);if(W.state.isVisible)t.setAttribute(n,e?e+" "+r:r);else{var i=e&&e.replace(r,"").trim();i?t.setAttribute(n,i):t.removeAttribute(n)}}))}}function at(){!J&&W.props.aria.expanded&&p(W.props.triggerTarget||e).forEach((function(t){W.props.interactive?t.setAttribute("aria-expanded",W.state.isVisible&&t===Z()?"true":"false"):t.removeAttribute("aria-expanded")}))}function st(){tt().removeEventListener("mousemove",_),H=H.filter((function(t){return t!==_}))}function ut(t){if(!(T.isTouch&&(j||"mousedown"===t.type)||W.props.interactive&&Y.contains(t.target))){if(Z().contains(t.target)){if(T.isTouch)return;if(W.state.isVisible&&W.props.trigger.indexOf("click")>=0)return}else it("onClickOutside",[W,t]);!0===W.props.hideOnClick&&(W.clearDelayTimeouts(),W.hide(),V=!0,setTimeout((function(){V=!1})),W.state.isMounted||lt())}}function ct(){j=!0}function pt(){j=!1}function ft(){var t=tt();t.addEventListener("mousedown",ut,!0),t.addEventListener("touchend",ut,i),t.addEventListener("touchstart",pt,i),t.addEventListener("touchmove",ct,i)}function lt(){var t=tt();t.removeEventListener("mousedown",ut,!0),t.removeEventListener("touchend",ut,i),t.removeEventListener("touchstart",pt,i),t.removeEventListener("touchmove",ct,i)}function dt(t,e){var n=et().box;function r(t){t.target===n&&(E(n,"remove",r),e())}if(0===t)return e();E(n,"remove",C),E(n,"add",r),C=r}function vt(t,n,r){void 0===r&&(r=!1),p(W.props.triggerTarget||e).forEach((function(e){e.addEventListener(t,n,r),U.push({node:e,eventType:t,handler:n,options:r})}))}function mt(){var t;K()&&(vt("touchstart",ht,{passive:!0}),vt("touchend",yt,{passive:!0})),(t=W.props.trigger,t.split(/\s+/).filter(Boolean)).forEach((function(t){if("manual"!==t)switch(vt(t,ht),t){case"mouseenter":vt("mouseleave",yt);break;case"focus":vt(r?"focusout":"blur",xt);break;case"focusin":vt("focusout",xt)}}))}function gt(){U.forEach((function(t){var e=t.node,n=t.eventType,r=t.handler,i=t.options;e.removeEventListener(n,r,i)})),U=[]}function ht(t){var e,n=!1;if(W.state.isEnabled&&!wt(t)&&!V){var r="focus"===(null==(e=b)?void 0:e.type);b=t,O=t.currentTarget,at(),!W.state.isVisible&&g(t)&&H.forEach((function(e){return e(t)})),"click"===t.type&&(W.props.trigger.indexOf("mouseenter")<0||P)&&!1!==W.props.hideOnClick&&W.state.isVisible?n=!0:At(t),"click"===t.type&&(P=!n),n&&!r&&Ot(t)}}function bt(t){var e=t.target,n=Z().contains(e)||Y.contains(e);"mousemove"===t.type&&n||function(t,e){var n=e.clientX,r=e.clientY;return t.every((function(t){var e=t.popperRect,i=t.popperState,o=t.props.interactiveBorder,a=l(i.placement),s=i.modifiersData.offset;if(!s)return!0;var u="bottom"===a?s.top.y:0,c="top"===a?s.bottom.y:0,p="right"===a?s.left.x:0,f="left"===a?s.right.x:0,d=e.top-r+u>o,v=r-e.bottom-c>o,m=e.left-n+p>o,g=n-e.right-f>o;return d||v||m||g}))}(Ct().concat(Y).map((function(t){var e,n=null==(e=t._tippy.popperInstance)?void 0:e.state;return n?{popperRect:t.getBoundingClientRect(),popperState:n,props:k}:null})).filter(Boolean),t)&&(st(),Ot(t))}function yt(t){wt(t)||W.props.trigger.indexOf("click")>=0&&P||(W.props.interactive?W.hideWithInteractivity(t):Ot(t))}function xt(t){W.props.trigger.indexOf("focusin")<0&&t.target!==Z()||W.props.interactive&&t.relatedTarget&&Y.contains(t.relatedTarget)||Ot(t)}function wt(t){return!!T.isTouch&&K()!==t.type.indexOf("touch")>=0}function Et(){Tt();var n=W.props,r=n.popperOptions,i=n.placement,o=n.offset,a=n.getReferenceClientRect,s=n.moveTransition,u=Q()?I(Y).arrow:null,c=a?{getBoundingClientRect:a,contextElement:a.contextElement||Z()}:e,p=[{name:"offset",options:{offset:o}},{name:"preventOverflow",options:{padding:{top:2,bottom:2,left:5,right:5}}},{name:"flip",options:{padding:5}},{name:"computeStyles",options:{adaptive:!s}},{name:"$$tippy",enabled:!0,phase:"beforeWrite",requires:["computeStyles"],fn:function(t){var e=t.state;if(Q()){var n=et().box;["placement","reference-hidden","escaped"].forEach((function(t){"placement"===t?n.setAttribute("data-placement",e.placement):e.attributes.popper["data-popper-"+t]?n.setAttribute("data-"+t,""):n.removeAttribute("data-"+t)})),e.attributes.popper={}}}}];Q()&&u&&p.push({name:"arrow",options:{element:u,padding:3}}),p.push.apply(p,(null==r?void 0:r.modifiers)||[]),W.popperInstance=t.createPopper(c,Y,Object.assign({},r,{placement:i,onFirstUpdate:A,modifiers:p}))}function Tt(){W.popperInstance&&(W.popperInstance.destroy(),W.popperInstance=null)}function Ct(){return d(Y.querySelectorAll("[data-tippy-root]"))}function At(t){W.clearDelayTimeouts(),t&&it("onTrigger",[W,t]),ft();var e=nt(!0),n=G(),r=n[0],i=n[1];T.isTouch&&"hold"===r&&i&&(e=i),e?c=setTimeout((function(){W.show()}),e):W.show()}function Ot(t){if(W.clearDelayTimeouts(),it("onUntrigger",[W,t]),W.state.isVisible){if(!(W.props.trigger.indexOf("mouseenter")>=0&&W.props.trigger.indexOf("click")>=0&&["mouseleave","mousemove"].indexOf(t.type)>=0&&P)){var e=nt(!1);e?m=setTimeout((function(){W.state.isVisible&&W.hide()}),e):h=requestAnimationFrame((function(){W.hide()}))}}else lt()}}function _(t,e){void 0===e&&(e={});var n=D.plugins.concat(e.plugins||[]);document.addEventListener("touchstart",A,i),window.addEventListener("blur",L);var r=Object.assign({},e,{plugins:n}),o=b(t).reduce((function(t,e){var n=e&&U(e,r);return n&&t.push(n),t}),[]);return m(t)?o[0]:o}_.defaultProps=D,_.setDefaultProps=function(t){Object.keys(t).forEach((function(e){D[e]=t[e]}))},_.currentInput=T;var z={mouseover:"mouseenter",focusin:"focus",click:"click"};var F={name:"animateFill",defaultValue:!1,fn:function(t){var e;if(!(null==(e=t.props.render)?void 0:e.$$tippy))return{};var n=I(t.popper),r=n.box,i=n.content,o=t.props.animateFill?function(){var t=v();return t.className="tippy-backdrop",x([t],"hidden"),t}():null;return{onCreate:function(){o&&(r.insertBefore(o,r.firstElementChild),r.setAttribute("data-animatefill",""),r.style.overflow="hidden",t.setProps({arrow:!1,animation:"shift-away"}))},onMount:function(){if(o){var t=r.style.transitionDuration,e=Number(t.replace("ms",""));i.style.transitionDelay=Math.round(e/10)+"ms",o.style.transitionDuration=t,x([o],"visible")}},onShow:function(){o&&(o.style.transitionDuration="0ms")},onHide:function(){o&&x([o],"hidden")}}}};var W={clientX:0,clientY:0},X=[];function Y(t){var e=t.clientX,n=t.clientY;W={clientX:e,clientY:n}}var q={name:"followCursor",defaultValue:!1,fn:function(t){var e=t.reference,n=w(t.props.triggerTarget||e),r=!1,i=!1,o=!0,a=t.props;function s(){return"initial"===t.props.followCursor&&t.state.isVisible}function u(){n.addEventListener("mousemove",f)}function c(){n.removeEventListener("mousemove",f)}function p(){r=!0,t.setProps({getReferenceClientRect:null}),r=!1}function f(n){var r=!n.target||e.contains(n.target),i=t.props.followCursor,o=n.clientX,a=n.clientY,s=e.getBoundingClientRect(),u=o-s.left,c=a-s.top;!r&&t.props.interactive||t.setProps({getReferenceClientRect:function(){var t=e.getBoundingClientRect(),n=o,r=a;"initial"===i&&(n=t.left+u,r=t.top+c);var s="horizontal"===i?t.top:r,p="vertical"===i?t.right:n,f="horizontal"===i?t.bottom:r,l="vertical"===i?t.left:n;return{width:p-l,height:f-s,top:s,right:p,bottom:f,left:l}}})}function l(){t.props.followCursor&&(X.push({instance:t,doc:n}),function(t){t.addEventListener("mousemove",Y)}(n))}function d(){0===(X=X.filter((function(e){return e.instance!==t}))).filter((function(t){return t.doc===n})).length&&function(t){t.removeEventListener("mousemove",Y)}(n)}return{onCreate:l,onDestroy:d,onBeforeUpdate:function(){a=t.props},onAfterUpdate:function(e,n){var o=n.followCursor;r||void 0!==o&&a.followCursor!==o&&(d(),o?(l(),!t.state.isMounted||i||s()||u()):(c(),p()))},onMount:function(){t.props.followCursor&&!i&&(o&&(f(W),o=!1),s()||u())},onTrigger:function(t,e){g(e)&&(W={clientX:e.clientX,clientY:e.clientY}),i="focus"===e.type},onHidden:function(){t.props.followCursor&&(p(),c(),o=!0)}}}};var $={name:"inlinePositioning",defaultValue:!1,fn:function(t){var e,n=t.reference;var r=-1,i=!1,o={name:"tippyInlinePositioning",enabled:!0,phase:"afterWrite",fn:function(i){var o=i.state;t.props.inlinePositioning&&(e!==o.placement&&t.setProps({getReferenceClientRect:function(){return function(t){return function(t,e,n,r){if(n.length<2||null===t)return e;if(2===n.length&&r>=0&&n[0].left>n[1].right)return n[r]||e;switch(t){case"top":case"bottom":var i=n[0],o=n[n.length-1],a="top"===t,s=i.top,u=o.bottom,c=a?i.left:o.left,p=a?i.right:o.right;return{top:s,bottom:u,left:c,right:p,width:p-c,height:u-s};case"left":case"right":var f=Math.min.apply(Math,n.map((function(t){return t.left}))),l=Math.max.apply(Math,n.map((function(t){return t.right}))),d=n.filter((function(e){return"left"===t?e.left===f:e.right===l})),v=d[0].top,m=d[d.length-1].bottom;return{top:v,bottom:m,left:f,right:l,width:l-f,height:m-v};default:return e}}(l(t),n.getBoundingClientRect(),d(n.getClientRects()),r)}(o.placement)}}),e=o.placement)}};function a(){var e;i||(e=function(t,e){var n;return{popperOptions:Object.assign({},t.popperOptions,{modifiers:[].concat(((null==(n=t.popperOptions)?void 0:n.modifiers)||[]).filter((function(t){return t.name!==e.name})),[e])})}}(t.props,o),i=!0,t.setProps(e),i=!1)}return{onCreate:a,onAfterUpdate:a,onTrigger:function(e,n){if(g(n)){var i=d(t.reference.getClientRects()),o=i.find((function(t){return t.left-2<=n.clientX&&t.right+2>=n.clientX&&t.top-2<=n.clientY&&t.bottom+2>=n.clientY}));r=i.indexOf(o)}},onUntrigger:function(){r=-1}}}};var J={name:"sticky",defaultValue:!1,fn:function(t){var e=t.reference,n=t.popper;function r(e){return!0===t.props.sticky||t.props.sticky===e}var i=null,o=null;function a(){var s=r("reference")?(t.popperInstance?t.popperInstance.state.elements.reference:e).getBoundingClientRect():null,u=r("popper")?n.getBoundingClientRect():null;(s&&G(i,s)||u&&G(o,u))&&t.popperInstance&&t.popperInstance.update(),i=s,o=u,t.state.isMounted&&requestAnimationFrame(a)}return{onMount:function(){t.props.sticky&&a()}}}};function G(t,e){return!t||!e||(t.top!==e.top||t.right!==e.right||t.bottom!==e.bottom||t.left!==e.left)}return e&&function(t){var e=document.createElement("style");e.textContent=t,e.setAttribute("data-tippy-stylesheet","");var n=document.head,r=document.querySelector("head>style,head>link");r?n.insertBefore(e,r):n.appendChild(e)}('.tippy-box[data-animation=fade][data-state=hidden]{opacity:0}[data-tippy-root]{max-width:calc(100vw - 10px)}.tippy-box{position:relative;background-color:#333;color:#fff;border-radius:4px;font-size:14px;line-height:1.4;outline:0;transition-property:transform,visibility,opacity}.tippy-box[data-placement^=top]>.tippy-arrow{bottom:0}.tippy-box[data-placement^=top]>.tippy-arrow:before{bottom:-7px;left:0;border-width:8px 8px 0;border-top-color:initial;transform-origin:center top}.tippy-box[data-placement^=bottom]>.tippy-arrow{top:0}.tippy-box[data-placement^=bottom]>.tippy-arrow:before{top:-7px;left:0;border-width:0 8px 8px;border-bottom-color:initial;transform-origin:center bottom}.tippy-box[data-placement^=left]>.tippy-arrow{right:0}.tippy-box[data-placement^=left]>.tippy-arrow:before{border-width:8px 0 8px 8px;border-left-color:initial;right:-7px;transform-origin:center left}.tippy-box[data-placement^=right]>.tippy-arrow{left:0}.tippy-box[data-placement^=right]>.tippy-arrow:before{left:-7px;border-width:8px 8px 8px 0;border-right-color:initial;transform-origin:center right}.tippy-box[data-inertia][data-state=visible]{transition-timing-function:cubic-bezier(.54,1.5,.38,1.11)}.tippy-arrow{width:16px;height:16px;color:#333}.tippy-arrow:before{content:"";position:absolute;border-color:transparent;border-style:solid}.tippy-content{position:relative;padding:5px 9px;z-index:1}'),_.setDefaultProps({plugins:[F,q,$,J],render:S}),_.createSingleton=function(t,e){void 0===e&&(e={});var n,r=t,i=[],o=e.overrides,a=[];function s(){i=r.map((function(t){return t.reference}))}function u(t){r.forEach((function(e){t?e.enable():e.disable()}))}function p(t){return r.map((function(e){var r=e.setProps;return e.setProps=function(i){r(i),e.reference===n&&t.setProps(i)},function(){e.setProps=r}}))}u(!1),s();var f={fn:function(){return{onDestroy:function(){u(!0)},onTrigger:function(t,e){var a=e.currentTarget,s=i.indexOf(a);if(a!==n){n=a;var u=(o||[]).concat("content").reduce((function(t,e){return t[e]=r[s].props[e],t}),{});t.setProps(Object.assign({},u,{getReferenceClientRect:"function"==typeof u.getReferenceClientRect?u.getReferenceClientRect:function(){return a.getBoundingClientRect()}}))}}}}},l=_(v(),Object.assign({},c(e,["overrides"]),{plugins:[f].concat(e.plugins||[]),triggerTarget:i})),d=l.setProps;return l.setProps=function(t){o=t.overrides||o,d(t)},l.setInstances=function(t){u(!0),a.forEach((function(t){return t()})),r=t,u(!1),s(),p(l),l.setProps({triggerTarget:i})},a=p(l),l},_.delegate=function(t,e){var n=[],r=[],i=!1,o=e.target,a=c(e,["target"]),s=Object.assign({},a,{trigger:"manual",touch:!1}),u=Object.assign({},a,{showOnCreate:!0}),f=_(t,s);function l(t){if(t.target&&!i){var n=t.target.closest(o);if(n){var a=n.getAttribute("data-tippy-trigger")||e.trigger||D.trigger;if(!n._tippy&&!("touchstart"===t.type&&"boolean"==typeof u.touch||"touchstart"!==t.type&&a.indexOf(z[t.type])<0)){var s=_(n,u);s&&(r=r.concat(s))}}}}function d(t,e,r,i){void 0===i&&(i=!1),t.addEventListener(e,r,i),n.push({node:t,eventType:e,handler:r,options:i})}return p(f).forEach((function(t){var e=t.destroy,o=t.enable,a=t.disable;t.destroy=function(t){void 0===t&&(t=!0),t&&r.forEach((function(t){t.destroy()})),r=[],n.forEach((function(t){var e=t.node,n=t.eventType,r=t.handler,i=t.options;e.removeEventListener(n,r,i)})),n=[],e()},t.enable=function(){o(),r.forEach((function(t){return t.enable()})),i=!1},t.disable=function(){a(),r.forEach((function(t){return t.disable()})),i=!0},function(t){var e=t.reference;d(e,"touchstart",l),d(e,"mouseover",l),d(e,"focusin",l),d(e,"click",l)}(t)})),f},_.hideAll=function(t){var e=void 0===t?{}:t,n=e.exclude,r=e.duration;N.forEach((function(t){var e=!1;if(n&&(e=h(n)?t.reference===n:t.popper===n.popper),!e){var i=t.props.duration;t.setProps({duration:r}),t.hide(),t.state.isDestroyed||t.setProps({duration:i})}}))},_.roundArrow='<svg width="16" height="6" xmlns="http://www.w3.org/2000/svg"><path d="M0 6s1.796-.013 4.67-3.615C5.851.9 6.93.006 8 0c1.07-.006 2.148.887 3.343 2.385C14.233 6.005 16 6 16 6H0z"></svg>',_})); +//# sourceMappingURL=tippy-bundle.umd.min.js.map diff --git a/_posts/2021-06-13-unreproducibility-detox/unreproducibility-detox_files/tippy-6.2.7/tippy.umd.min.js b/_posts/2021-06-13-unreproducibility-detox/unreproducibility-detox_files/tippy-6.2.7/tippy.umd.min.js index 5c3dc00..b497589 100644 --- a/_posts/2021-06-13-unreproducibility-detox/unreproducibility-detox_files/tippy-6.2.7/tippy.umd.min.js +++ b/_posts/2021-06-13-unreproducibility-detox/unreproducibility-detox_files/tippy-6.2.7/tippy.umd.min.js @@ -1,2 +1,2 @@ -!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e(require("@popperjs/core")):"function"==typeof define&&define.amd?define(["@popperjs/core"],e):(t=t||self).tippy=e(t.Popper)}(this,(function(t){"use strict";var e={passive:!0,capture:!0};function n(t,e,n){if(Array.isArray(t)){var r=t[e];return null==r?Array.isArray(n)?n[e]:n:r}return t}function r(t,e){var n={}.toString.call(t);return 0===n.indexOf("[object")&&n.indexOf(e+"]")>-1}function i(t,e){return"function"==typeof t?t.apply(void 0,e):t}function o(t,e){return 0===e?t:function(r){clearTimeout(n),n=setTimeout((function(){t(r)}),e)};var n}function a(t,e){var n=Object.assign({},t);return e.forEach((function(t){delete n[t]})),n}function s(t){return[].concat(t)}function u(t,e){-1===t.indexOf(e)&&t.push(e)}function c(t){return t.split("-")[0]}function p(t){return[].slice.call(t)}function f(){return document.createElement("div")}function l(t){return["Element","Fragment"].some((function(e){return r(t,e)}))}function d(t){return r(t,"MouseEvent")}function v(t){return!(!t||!t._tippy||t._tippy.reference!==t)}function m(t){return l(t)?[t]:function(t){return r(t,"NodeList")}(t)?p(t):Array.isArray(t)?t:p(document.querySelectorAll(t))}function g(t,e){t.forEach((function(t){t&&(t.style.transitionDuration=e+"ms")}))}function h(t,e){t.forEach((function(t){t&&t.setAttribute("data-state",e)}))}function b(t){var e=s(t)[0];return e&&e.ownerDocument||document}function y(t,e,n){var r=e+"EventListener";["transitionend","webkitTransitionEnd"].forEach((function(e){t[r](e,n)}))}var w={isTouch:!1},E=0;function T(){w.isTouch||(w.isTouch=!0,window.performance&&document.addEventListener("mousemove",C))}function C(){var t=performance.now();t-E<20&&(w.isTouch=!1,document.removeEventListener("mousemove",C)),E=t}function x(){var t=document.activeElement;if(v(t)){var e=t._tippy;t.blur&&!e.state.isVisible&&t.blur()}}var A="undefined"!=typeof window&&"undefined"!=typeof document?navigator.userAgent:"",O=/MSIE |Trident\//.test(A),L=Object.assign({appendTo:function(){return document.body},aria:{content:"auto",expanded:"auto"},delay:0,duration:[300,250],getReferenceClientRect:null,hideOnClick:!0,ignoreAttributes:!1,interactive:!1,interactiveBorder:2,interactiveDebounce:0,moveTransition:"",offset:[0,10],onAfterUpdate:function(){},onBeforeUpdate:function(){},onCreate:function(){},onDestroy:function(){},onHidden:function(){},onHide:function(){},onMount:function(){},onShow:function(){},onShown:function(){},onTrigger:function(){},onUntrigger:function(){},onClickOutside:function(){},placement:"top",plugins:[],popperOptions:{},render:null,showOnCreate:!1,touch:!0,trigger:"mouseenter focus",triggerTarget:null},{animateFill:!1,followCursor:!1,inlinePositioning:!1,sticky:!1},{},{allowHTML:!1,animation:"fade",arrow:!0,content:"",inertia:!1,maxWidth:350,role:"tooltip",theme:"",zIndex:9999}),D=Object.keys(L);function k(t){var e=(t.plugins||[]).reduce((function(e,n){var r=n.name,i=n.defaultValue;return r&&(e[r]=void 0!==t[r]?t[r]:i),e}),{});return Object.assign({},t,{},e)}function R(t,e){var n=Object.assign({},e,{content:i(e.content,[t])},e.ignoreAttributes?{}:function(t,e){return(e?Object.keys(k(Object.assign({},L,{plugins:e}))):D).reduce((function(e,n){var r=(t.getAttribute("data-tippy-"+n)||"").trim();if(!r)return e;if("content"===n)e[n]=r;else try{e[n]=JSON.parse(r)}catch(t){e[n]=r}return e}),{})}(t,e.plugins));return n.aria=Object.assign({},L.aria,{},n.aria),n.aria={expanded:"auto"===n.aria.expanded?e.interactive:n.aria.expanded,content:"auto"===n.aria.content?e.interactive?null:"describedby":n.aria.content},n}function M(t,e){t.innerHTML=e}function P(t){var e=f();return!0===t?e.className="tippy-arrow":(e.className="tippy-svg-arrow",l(t)?e.appendChild(t):M(e,t)),e}function V(t,e){l(e.content)?(M(t,""),t.appendChild(e.content)):"function"!=typeof e.content&&(e.allowHTML?M(t,e.content):t.textContent=e.content)}function j(t){var e=t.firstElementChild,n=p(e.children);return{box:e,content:n.find((function(t){return t.classList.contains("tippy-content")})),arrow:n.find((function(t){return t.classList.contains("tippy-arrow")||t.classList.contains("tippy-svg-arrow")})),backdrop:n.find((function(t){return t.classList.contains("tippy-backdrop")}))}}function I(t){var e=f(),n=f();n.className="tippy-box",n.setAttribute("data-state","hidden"),n.setAttribute("tabindex","-1");var r=f();function i(n,r){var i=j(e),o=i.box,a=i.content,s=i.arrow;r.theme?o.setAttribute("data-theme",r.theme):o.removeAttribute("data-theme"),"string"==typeof r.animation?o.setAttribute("data-animation",r.animation):o.removeAttribute("data-animation"),r.inertia?o.setAttribute("data-inertia",""):o.removeAttribute("data-inertia"),o.style.maxWidth="number"==typeof r.maxWidth?r.maxWidth+"px":r.maxWidth,r.role?o.setAttribute("role",r.role):o.removeAttribute("role"),n.content===r.content&&n.allowHTML===r.allowHTML||V(a,t.props),r.arrow?s?n.arrow!==r.arrow&&(o.removeChild(s),o.appendChild(P(r.arrow))):o.appendChild(P(r.arrow)):s&&o.removeChild(s)}return r.className="tippy-content",r.setAttribute("data-state","hidden"),V(r,t.props),e.appendChild(n),n.appendChild(r),i(t.props,t.props),{popper:e,onUpdate:i}}I.$$tippy=!0;var S=1,B=[],H=[];function N(r,a){var l,v,m,E,T,C,x,A,D,M=R(r,Object.assign({},L,{},k((l=a,Object.keys(l).reduce((function(t,e){return void 0!==l[e]&&(t[e]=l[e]),t}),{}))))),P=!1,V=!1,I=!1,N=!1,U=[],_=o(bt,M.interactiveDebounce),F=S++,W=(D=M.plugins).filter((function(t,e){return D.indexOf(t)===e})),X={id:F,reference:r,popper:f(),popperInstance:null,props:M,state:{isEnabled:!0,isVisible:!1,isDestroyed:!1,isMounted:!1,isShown:!1},plugins:W,clearDelayTimeouts:function(){clearTimeout(v),clearTimeout(m),cancelAnimationFrame(E)},setProps:function(t){if(X.state.isDestroyed)return;it("onBeforeUpdate",[X,t]),gt();var e=X.props,n=R(r,Object.assign({},X.props,{},t,{ignoreAttributes:!0}));X.props=n,mt(),e.interactiveDebounce!==n.interactiveDebounce&&(st(),_=o(bt,n.interactiveDebounce));e.triggerTarget&&!n.triggerTarget?s(e.triggerTarget).forEach((function(t){t.removeAttribute("aria-expanded")})):n.triggerTarget&&r.removeAttribute("aria-expanded");at(),rt(),q&&q(e,n);X.popperInstance&&(Tt(),xt().forEach((function(t){requestAnimationFrame(t._tippy.popperInstance.forceUpdate)})));it("onAfterUpdate",[X,t])},setContent:function(t){X.setProps({content:t})},show:function(){var t=X.state.isVisible,e=X.state.isDestroyed,r=!X.state.isEnabled,o=w.isTouch&&!X.props.touch,a=n(X.props.duration,0,L.duration);if(t||e||r||o)return;if(Z().hasAttribute("disabled"))return;if(it("onShow",[X],!1),!1===X.props.onShow(X))return;X.state.isVisible=!0,Q()&&($.style.visibility="visible");rt(),ft(),X.state.isMounted||($.style.transition="none");if(Q()){var s=et(),c=s.box,p=s.content;g([c,p],0)}x=function(){if(X.state.isVisible&&!N){if(N=!0,$.offsetHeight,$.style.transition=X.props.moveTransition,Q()&&X.props.animation){var t=et(),e=t.box,n=t.content;g([e,n],a),h([e,n],"visible")}ot(),at(),u(H,X),X.state.isMounted=!0,it("onMount",[X]),X.props.animation&&Q()&&function(t,e){dt(t,e)}(a,(function(){X.state.isShown=!0,it("onShown",[X])}))}},function(){var t,e=X.props.appendTo,n=Z();t=X.props.interactive&&e===L.appendTo||"parent"===e?n.parentNode:i(e,[n]);t.contains($)||t.appendChild($);Tt()}()},hide:function(){var t=!X.state.isVisible,e=X.state.isDestroyed,r=!X.state.isEnabled,i=n(X.props.duration,1,L.duration);if(t||e||r)return;if(it("onHide",[X],!1),!1===X.props.onHide(X))return;X.state.isVisible=!1,X.state.isShown=!1,N=!1,P=!1,Q()&&($.style.visibility="hidden");if(st(),lt(),rt(),Q()){var o=et(),a=o.box,s=o.content;X.props.animation&&(g([a,s],i),h([a,s],"hidden"))}ot(),at(),X.props.animation?Q()&&function(t,e){dt(t,(function(){!X.state.isVisible&&$.parentNode&&$.parentNode.contains($)&&e()}))}(i,X.unmount):X.unmount()},hideWithInteractivity:function(t){tt().addEventListener("mousemove",_),u(B,_),_(t)},enable:function(){X.state.isEnabled=!0},disable:function(){X.hide(),X.state.isEnabled=!1},unmount:function(){X.state.isVisible&&X.hide();if(!X.state.isMounted)return;Ct(),xt().forEach((function(t){t._tippy.unmount()})),$.parentNode&&$.parentNode.removeChild($);H=H.filter((function(t){return t!==X})),X.state.isMounted=!1,it("onHidden",[X])},destroy:function(){if(X.state.isDestroyed)return;X.clearDelayTimeouts(),X.unmount(),gt(),delete r._tippy,X.state.isDestroyed=!0,it("onDestroy",[X])}};if(!M.render)return X;var Y=M.render(X),$=Y.popper,q=Y.onUpdate;$.setAttribute("data-tippy-root",""),$.id="tippy-"+X.id,X.popper=$,r._tippy=X,$._tippy=X;var z=W.map((function(t){return t.fn(X)})),J=r.hasAttribute("aria-expanded");return mt(),at(),rt(),it("onCreate",[X]),M.showOnCreate&&At(),$.addEventListener("mouseenter",(function(){X.props.interactive&&X.state.isVisible&&X.clearDelayTimeouts()})),$.addEventListener("mouseleave",(function(t){X.props.interactive&&X.props.trigger.indexOf("mouseenter")>=0&&(tt().addEventListener("mousemove",_),_(t))})),X;function G(){var t=X.props.touch;return Array.isArray(t)?t:[t,0]}function K(){return"hold"===G()[0]}function Q(){var t;return!!(null==(t=X.props.render)?void 0:t.$$tippy)}function Z(){return A||r}function tt(){var t=Z().parentNode;return t?b(t):document}function et(){return j($)}function nt(t){return X.state.isMounted&&!X.state.isVisible||w.isTouch||T&&"focus"===T.type?0:n(X.props.delay,t?0:1,L.delay)}function rt(){$.style.pointerEvents=X.props.interactive&&X.state.isVisible?"":"none",$.style.zIndex=""+X.props.zIndex}function it(t,e,n){var r;(void 0===n&&(n=!0),z.forEach((function(n){n[t]&&n[t].apply(void 0,e)})),n)&&(r=X.props)[t].apply(r,e)}function ot(){var t=X.props.aria;if(t.content){var e="aria-"+t.content,n=$.id;s(X.props.triggerTarget||r).forEach((function(t){var r=t.getAttribute(e);if(X.state.isVisible)t.setAttribute(e,r?r+" "+n:n);else{var i=r&&r.replace(n,"").trim();i?t.setAttribute(e,i):t.removeAttribute(e)}}))}}function at(){!J&&X.props.aria.expanded&&s(X.props.triggerTarget||r).forEach((function(t){X.props.interactive?t.setAttribute("aria-expanded",X.state.isVisible&&t===Z()?"true":"false"):t.removeAttribute("aria-expanded")}))}function st(){tt().removeEventListener("mousemove",_),B=B.filter((function(t){return t!==_}))}function ut(t){if(!(w.isTouch&&(I||"mousedown"===t.type)||X.props.interactive&&$.contains(t.target))){if(Z().contains(t.target)){if(w.isTouch)return;if(X.state.isVisible&&X.props.trigger.indexOf("click")>=0)return}else it("onClickOutside",[X,t]);!0===X.props.hideOnClick&&(X.clearDelayTimeouts(),X.hide(),V=!0,setTimeout((function(){V=!1})),X.state.isMounted||lt())}}function ct(){I=!0}function pt(){I=!1}function ft(){var t=tt();t.addEventListener("mousedown",ut,!0),t.addEventListener("touchend",ut,e),t.addEventListener("touchstart",pt,e),t.addEventListener("touchmove",ct,e)}function lt(){var t=tt();t.removeEventListener("mousedown",ut,!0),t.removeEventListener("touchend",ut,e),t.removeEventListener("touchstart",pt,e),t.removeEventListener("touchmove",ct,e)}function dt(t,e){var n=et().box;function r(t){t.target===n&&(y(n,"remove",r),e())}if(0===t)return e();y(n,"remove",C),y(n,"add",r),C=r}function vt(t,e,n){void 0===n&&(n=!1),s(X.props.triggerTarget||r).forEach((function(r){r.addEventListener(t,e,n),U.push({node:r,eventType:t,handler:e,options:n})}))}function mt(){var t;K()&&(vt("touchstart",ht,{passive:!0}),vt("touchend",yt,{passive:!0})),(t=X.props.trigger,t.split(/\s+/).filter(Boolean)).forEach((function(t){if("manual"!==t)switch(vt(t,ht),t){case"mouseenter":vt("mouseleave",yt);break;case"focus":vt(O?"focusout":"blur",wt);break;case"focusin":vt("focusout",wt)}}))}function gt(){U.forEach((function(t){var e=t.node,n=t.eventType,r=t.handler,i=t.options;e.removeEventListener(n,r,i)})),U=[]}function ht(t){var e,n=!1;if(X.state.isEnabled&&!Et(t)&&!V){var r="focus"===(null==(e=T)?void 0:e.type);T=t,A=t.currentTarget,at(),!X.state.isVisible&&d(t)&&B.forEach((function(e){return e(t)})),"click"===t.type&&(X.props.trigger.indexOf("mouseenter")<0||P)&&!1!==X.props.hideOnClick&&X.state.isVisible?n=!0:At(t),"click"===t.type&&(P=!n),n&&!r&&Ot(t)}}function bt(t){var e=t.target,n=Z().contains(e)||$.contains(e);"mousemove"===t.type&&n||function(t,e){var n=e.clientX,r=e.clientY;return t.every((function(t){var e=t.popperRect,i=t.popperState,o=t.props.interactiveBorder,a=c(i.placement),s=i.modifiersData.offset;if(!s)return!0;var u="bottom"===a?s.top.y:0,p="top"===a?s.bottom.y:0,f="right"===a?s.left.x:0,l="left"===a?s.right.x:0,d=e.top-r+u>o,v=r-e.bottom-p>o,m=e.left-n+f>o,g=n-e.right-l>o;return d||v||m||g}))}(xt().concat($).map((function(t){var e,n=null==(e=t._tippy.popperInstance)?void 0:e.state;return n?{popperRect:t.getBoundingClientRect(),popperState:n,props:M}:null})).filter(Boolean),t)&&(st(),Ot(t))}function yt(t){Et(t)||X.props.trigger.indexOf("click")>=0&&P||(X.props.interactive?X.hideWithInteractivity(t):Ot(t))}function wt(t){X.props.trigger.indexOf("focusin")<0&&t.target!==Z()||X.props.interactive&&t.relatedTarget&&$.contains(t.relatedTarget)||Ot(t)}function Et(t){return!!w.isTouch&&K()!==t.type.indexOf("touch")>=0}function Tt(){Ct();var e=X.props,n=e.popperOptions,i=e.placement,o=e.offset,a=e.getReferenceClientRect,s=e.moveTransition,u=Q()?j($).arrow:null,c=a?{getBoundingClientRect:a,contextElement:a.contextElement||Z()}:r,p=[{name:"offset",options:{offset:o}},{name:"preventOverflow",options:{padding:{top:2,bottom:2,left:5,right:5}}},{name:"flip",options:{padding:5}},{name:"computeStyles",options:{adaptive:!s}},{name:"$$tippy",enabled:!0,phase:"beforeWrite",requires:["computeStyles"],fn:function(t){var e=t.state;if(Q()){var n=et().box;["placement","reference-hidden","escaped"].forEach((function(t){"placement"===t?n.setAttribute("data-placement",e.placement):e.attributes.popper["data-popper-"+t]?n.setAttribute("data-"+t,""):n.removeAttribute("data-"+t)})),e.attributes.popper={}}}}];Q()&&u&&p.push({name:"arrow",options:{element:u,padding:3}}),p.push.apply(p,(null==n?void 0:n.modifiers)||[]),X.popperInstance=t.createPopper(c,$,Object.assign({},n,{placement:i,onFirstUpdate:x,modifiers:p}))}function Ct(){X.popperInstance&&(X.popperInstance.destroy(),X.popperInstance=null)}function xt(){return p($.querySelectorAll("[data-tippy-root]"))}function At(t){X.clearDelayTimeouts(),t&&it("onTrigger",[X,t]),ft();var e=nt(!0),n=G(),r=n[0],i=n[1];w.isTouch&&"hold"===r&&i&&(e=i),e?v=setTimeout((function(){X.show()}),e):X.show()}function Ot(t){if(X.clearDelayTimeouts(),it("onUntrigger",[X,t]),X.state.isVisible){if(!(X.props.trigger.indexOf("mouseenter")>=0&&X.props.trigger.indexOf("click")>=0&&["mouseleave","mousemove"].indexOf(t.type)>=0&&P)){var e=nt(!1);e?m=setTimeout((function(){X.state.isVisible&&X.hide()}),e):E=requestAnimationFrame((function(){X.hide()}))}}else lt()}}function U(t,n){void 0===n&&(n={});var r=L.plugins.concat(n.plugins||[]);document.addEventListener("touchstart",T,e),window.addEventListener("blur",x);var i=Object.assign({},n,{plugins:r}),o=m(t).reduce((function(t,e){var n=e&&N(e,i);return n&&t.push(n),t}),[]);return l(t)?o[0]:o}U.defaultProps=L,U.setDefaultProps=function(t){Object.keys(t).forEach((function(e){L[e]=t[e]}))},U.currentInput=w;var _={mouseover:"mouseenter",focusin:"focus",click:"click"};var F={name:"animateFill",defaultValue:!1,fn:function(t){var e;if(!(null==(e=t.props.render)?void 0:e.$$tippy))return{};var n=j(t.popper),r=n.box,i=n.content,o=t.props.animateFill?function(){var t=f();return t.className="tippy-backdrop",h([t],"hidden"),t}():null;return{onCreate:function(){o&&(r.insertBefore(o,r.firstElementChild),r.setAttribute("data-animatefill",""),r.style.overflow="hidden",t.setProps({arrow:!1,animation:"shift-away"}))},onMount:function(){if(o){var t=r.style.transitionDuration,e=Number(t.replace("ms",""));i.style.transitionDelay=Math.round(e/10)+"ms",o.style.transitionDuration=t,h([o],"visible")}},onShow:function(){o&&(o.style.transitionDuration="0ms")},onHide:function(){o&&h([o],"hidden")}}}};var W={clientX:0,clientY:0},X=[];function Y(t){var e=t.clientX,n=t.clientY;W={clientX:e,clientY:n}}var $={name:"followCursor",defaultValue:!1,fn:function(t){var e=t.reference,n=b(t.props.triggerTarget||e),r=!1,i=!1,o=!0,a=t.props;function s(){return"initial"===t.props.followCursor&&t.state.isVisible}function u(){n.addEventListener("mousemove",f)}function c(){n.removeEventListener("mousemove",f)}function p(){r=!0,t.setProps({getReferenceClientRect:null}),r=!1}function f(n){var r=!n.target||e.contains(n.target),i=t.props.followCursor,o=n.clientX,a=n.clientY,s=e.getBoundingClientRect(),u=o-s.left,c=a-s.top;!r&&t.props.interactive||t.setProps({getReferenceClientRect:function(){var t=e.getBoundingClientRect(),n=o,r=a;"initial"===i&&(n=t.left+u,r=t.top+c);var s="horizontal"===i?t.top:r,p="vertical"===i?t.right:n,f="horizontal"===i?t.bottom:r,l="vertical"===i?t.left:n;return{width:p-l,height:f-s,top:s,right:p,bottom:f,left:l}}})}function l(){t.props.followCursor&&(X.push({instance:t,doc:n}),function(t){t.addEventListener("mousemove",Y)}(n))}function v(){0===(X=X.filter((function(e){return e.instance!==t}))).filter((function(t){return t.doc===n})).length&&function(t){t.removeEventListener("mousemove",Y)}(n)}return{onCreate:l,onDestroy:v,onBeforeUpdate:function(){a=t.props},onAfterUpdate:function(e,n){var o=n.followCursor;r||void 0!==o&&a.followCursor!==o&&(v(),o?(l(),!t.state.isMounted||i||s()||u()):(c(),p()))},onMount:function(){t.props.followCursor&&!i&&(o&&(f(W),o=!1),s()||u())},onTrigger:function(t,e){d(e)&&(W={clientX:e.clientX,clientY:e.clientY}),i="focus"===e.type},onHidden:function(){t.props.followCursor&&(p(),c(),o=!0)}}}};var q={name:"inlinePositioning",defaultValue:!1,fn:function(t){var e,n=t.reference;var r=-1,i=!1,o={name:"tippyInlinePositioning",enabled:!0,phase:"afterWrite",fn:function(i){var o=i.state;t.props.inlinePositioning&&(e!==o.placement&&t.setProps({getReferenceClientRect:function(){return function(t){return function(t,e,n,r){if(n.length<2||null===t)return e;if(2===n.length&&r>=0&&n[0].left>n[1].right)return n[r]||e;switch(t){case"top":case"bottom":var i=n[0],o=n[n.length-1],a="top"===t,s=i.top,u=o.bottom,c=a?i.left:o.left,p=a?i.right:o.right;return{top:s,bottom:u,left:c,right:p,width:p-c,height:u-s};case"left":case"right":var f=Math.min.apply(Math,n.map((function(t){return t.left}))),l=Math.max.apply(Math,n.map((function(t){return t.right}))),d=n.filter((function(e){return"left"===t?e.left===f:e.right===l})),v=d[0].top,m=d[d.length-1].bottom;return{top:v,bottom:m,left:f,right:l,width:l-f,height:m-v};default:return e}}(c(t),n.getBoundingClientRect(),p(n.getClientRects()),r)}(o.placement)}}),e=o.placement)}};function a(){var e;i||(e=function(t,e){var n;return{popperOptions:Object.assign({},t.popperOptions,{modifiers:[].concat(((null==(n=t.popperOptions)?void 0:n.modifiers)||[]).filter((function(t){return t.name!==e.name})),[e])})}}(t.props,o),i=!0,t.setProps(e),i=!1)}return{onCreate:a,onAfterUpdate:a,onTrigger:function(e,n){if(d(n)){var i=p(t.reference.getClientRects()),o=i.find((function(t){return t.left-2<=n.clientX&&t.right+2>=n.clientX&&t.top-2<=n.clientY&&t.bottom+2>=n.clientY}));r=i.indexOf(o)}},onUntrigger:function(){r=-1}}}};var z={name:"sticky",defaultValue:!1,fn:function(t){var e=t.reference,n=t.popper;function r(e){return!0===t.props.sticky||t.props.sticky===e}var i=null,o=null;function a(){var s=r("reference")?(t.popperInstance?t.popperInstance.state.elements.reference:e).getBoundingClientRect():null,u=r("popper")?n.getBoundingClientRect():null;(s&&J(i,s)||u&&J(o,u))&&t.popperInstance&&t.popperInstance.update(),i=s,o=u,t.state.isMounted&&requestAnimationFrame(a)}return{onMount:function(){t.props.sticky&&a()}}}};function J(t,e){return!t||!e||(t.top!==e.top||t.right!==e.right||t.bottom!==e.bottom||t.left!==e.left)}return U.setDefaultProps({plugins:[F,$,q,z],render:I}),U.createSingleton=function(t,e){void 0===e&&(e={});var n,r=t,i=[],o=e.overrides,s=[];function u(){i=r.map((function(t){return t.reference}))}function c(t){r.forEach((function(e){t?e.enable():e.disable()}))}function p(t){return r.map((function(e){var r=e.setProps;return e.setProps=function(i){r(i),e.reference===n&&t.setProps(i)},function(){e.setProps=r}}))}c(!1),u();var l={fn:function(){return{onDestroy:function(){c(!0)},onTrigger:function(t,e){var a=e.currentTarget,s=i.indexOf(a);if(a!==n){n=a;var u=(o||[]).concat("content").reduce((function(t,e){return t[e]=r[s].props[e],t}),{});t.setProps(Object.assign({},u,{getReferenceClientRect:"function"==typeof u.getReferenceClientRect?u.getReferenceClientRect:function(){return a.getBoundingClientRect()}}))}}}}},d=U(f(),Object.assign({},a(e,["overrides"]),{plugins:[l].concat(e.plugins||[]),triggerTarget:i})),v=d.setProps;return d.setProps=function(t){o=t.overrides||o,v(t)},d.setInstances=function(t){c(!0),s.forEach((function(t){return t()})),r=t,c(!1),u(),p(d),d.setProps({triggerTarget:i})},s=p(d),d},U.delegate=function(t,e){var n=[],r=[],i=!1,o=e.target,u=a(e,["target"]),c=Object.assign({},u,{trigger:"manual",touch:!1}),p=Object.assign({},u,{showOnCreate:!0}),f=U(t,c);function l(t){if(t.target&&!i){var n=t.target.closest(o);if(n){var a=n.getAttribute("data-tippy-trigger")||e.trigger||L.trigger;if(!n._tippy&&!("touchstart"===t.type&&"boolean"==typeof p.touch||"touchstart"!==t.type&&a.indexOf(_[t.type])<0)){var s=U(n,p);s&&(r=r.concat(s))}}}}function d(t,e,r,i){void 0===i&&(i=!1),t.addEventListener(e,r,i),n.push({node:t,eventType:e,handler:r,options:i})}return s(f).forEach((function(t){var e=t.destroy,o=t.enable,a=t.disable;t.destroy=function(t){void 0===t&&(t=!0),t&&r.forEach((function(t){t.destroy()})),r=[],n.forEach((function(t){var e=t.node,n=t.eventType,r=t.handler,i=t.options;e.removeEventListener(n,r,i)})),n=[],e()},t.enable=function(){o(),r.forEach((function(t){return t.enable()})),i=!1},t.disable=function(){a(),r.forEach((function(t){return t.disable()})),i=!0},function(t){var e=t.reference;d(e,"touchstart",l),d(e,"mouseover",l),d(e,"focusin",l),d(e,"click",l)}(t)})),f},U.hideAll=function(t){var e=void 0===t?{}:t,n=e.exclude,r=e.duration;H.forEach((function(t){var e=!1;if(n&&(e=v(n)?t.reference===n:t.popper===n.popper),!e){var i=t.props.duration;t.setProps({duration:r}),t.hide(),t.state.isDestroyed||t.setProps({duration:i})}}))},U.roundArrow='<svg width="16" height="6" xmlns="http://www.w3.org/2000/svg"><path d="M0 6s1.796-.013 4.67-3.615C5.851.9 6.93.006 8 0c1.07-.006 2.148.887 3.343 2.385C14.233 6.005 16 6 16 6H0z"></svg>',U})); -//# sourceMappingURL=tippy.umd.min.js.map +!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e(require("@popperjs/core")):"function"==typeof define&&define.amd?define(["@popperjs/core"],e):(t=t||self).tippy=e(t.Popper)}(this,(function(t){"use strict";var e={passive:!0,capture:!0};function n(t,e,n){if(Array.isArray(t)){var r=t[e];return null==r?Array.isArray(n)?n[e]:n:r}return t}function r(t,e){var n={}.toString.call(t);return 0===n.indexOf("[object")&&n.indexOf(e+"]")>-1}function i(t,e){return"function"==typeof t?t.apply(void 0,e):t}function o(t,e){return 0===e?t:function(r){clearTimeout(n),n=setTimeout((function(){t(r)}),e)};var n}function a(t,e){var n=Object.assign({},t);return e.forEach((function(t){delete n[t]})),n}function s(t){return[].concat(t)}function u(t,e){-1===t.indexOf(e)&&t.push(e)}function c(t){return t.split("-")[0]}function p(t){return[].slice.call(t)}function f(){return document.createElement("div")}function l(t){return["Element","Fragment"].some((function(e){return r(t,e)}))}function d(t){return r(t,"MouseEvent")}function v(t){return!(!t||!t._tippy||t._tippy.reference!==t)}function m(t){return l(t)?[t]:function(t){return r(t,"NodeList")}(t)?p(t):Array.isArray(t)?t:p(document.querySelectorAll(t))}function g(t,e){t.forEach((function(t){t&&(t.style.transitionDuration=e+"ms")}))}function h(t,e){t.forEach((function(t){t&&t.setAttribute("data-state",e)}))}function b(t){var e=s(t)[0];return e&&e.ownerDocument||document}function y(t,e,n){var r=e+"EventListener";["transitionend","webkitTransitionEnd"].forEach((function(e){t[r](e,n)}))}var w={isTouch:!1},E=0;function T(){w.isTouch||(w.isTouch=!0,window.performance&&document.addEventListener("mousemove",C))}function C(){var t=performance.now();t-E<20&&(w.isTouch=!1,document.removeEventListener("mousemove",C)),E=t}function x(){var t=document.activeElement;if(v(t)){var e=t._tippy;t.blur&&!e.state.isVisible&&t.blur()}}var A="undefined"!=typeof window&&"undefined"!=typeof document?navigator.userAgent:"",O=/MSIE |Trident\//.test(A),L=Object.assign({appendTo:function(){return document.body},aria:{content:"auto",expanded:"auto"},delay:0,duration:[300,250],getReferenceClientRect:null,hideOnClick:!0,ignoreAttributes:!1,interactive:!1,interactiveBorder:2,interactiveDebounce:0,moveTransition:"",offset:[0,10],onAfterUpdate:function(){},onBeforeUpdate:function(){},onCreate:function(){},onDestroy:function(){},onHidden:function(){},onHide:function(){},onMount:function(){},onShow:function(){},onShown:function(){},onTrigger:function(){},onUntrigger:function(){},onClickOutside:function(){},placement:"top",plugins:[],popperOptions:{},render:null,showOnCreate:!1,touch:!0,trigger:"mouseenter focus",triggerTarget:null},{animateFill:!1,followCursor:!1,inlinePositioning:!1,sticky:!1},{},{allowHTML:!1,animation:"fade",arrow:!0,content:"",inertia:!1,maxWidth:350,role:"tooltip",theme:"",zIndex:9999}),D=Object.keys(L);function k(t){var e=(t.plugins||[]).reduce((function(e,n){var r=n.name,i=n.defaultValue;return r&&(e[r]=void 0!==t[r]?t[r]:i),e}),{});return Object.assign({},t,{},e)}function R(t,e){var n=Object.assign({},e,{content:i(e.content,[t])},e.ignoreAttributes?{}:function(t,e){return(e?Object.keys(k(Object.assign({},L,{plugins:e}))):D).reduce((function(e,n){var r=(t.getAttribute("data-tippy-"+n)||"").trim();if(!r)return e;if("content"===n)e[n]=r;else try{e[n]=JSON.parse(r)}catch(t){e[n]=r}return e}),{})}(t,e.plugins));return n.aria=Object.assign({},L.aria,{},n.aria),n.aria={expanded:"auto"===n.aria.expanded?e.interactive:n.aria.expanded,content:"auto"===n.aria.content?e.interactive?null:"describedby":n.aria.content},n}function M(t,e){t.innerHTML=e}function P(t){var e=f();return!0===t?e.className="tippy-arrow":(e.className="tippy-svg-arrow",l(t)?e.appendChild(t):M(e,t)),e}function V(t,e){l(e.content)?(M(t,""),t.appendChild(e.content)):"function"!=typeof e.content&&(e.allowHTML?M(t,e.content):t.textContent=e.content)}function j(t){var e=t.firstElementChild,n=p(e.children);return{box:e,content:n.find((function(t){return t.classList.contains("tippy-content")})),arrow:n.find((function(t){return t.classList.contains("tippy-arrow")||t.classList.contains("tippy-svg-arrow")})),backdrop:n.find((function(t){return t.classList.contains("tippy-backdrop")}))}}function I(t){var e=f(),n=f();n.className="tippy-box",n.setAttribute("data-state","hidden"),n.setAttribute("tabindex","-1");var r=f();function i(n,r){var i=j(e),o=i.box,a=i.content,s=i.arrow;r.theme?o.setAttribute("data-theme",r.theme):o.removeAttribute("data-theme"),"string"==typeof r.animation?o.setAttribute("data-animation",r.animation):o.removeAttribute("data-animation"),r.inertia?o.setAttribute("data-inertia",""):o.removeAttribute("data-inertia"),o.style.maxWidth="number"==typeof r.maxWidth?r.maxWidth+"px":r.maxWidth,r.role?o.setAttribute("role",r.role):o.removeAttribute("role"),n.content===r.content&&n.allowHTML===r.allowHTML||V(a,t.props),r.arrow?s?n.arrow!==r.arrow&&(o.removeChild(s),o.appendChild(P(r.arrow))):o.appendChild(P(r.arrow)):s&&o.removeChild(s)}return r.className="tippy-content",r.setAttribute("data-state","hidden"),V(r,t.props),e.appendChild(n),n.appendChild(r),i(t.props,t.props),{popper:e,onUpdate:i}}I.$$tippy=!0;var S=1,B=[],H=[];function N(r,a){var l,v,m,E,T,C,x,A,D,M=R(r,Object.assign({},L,{},k((l=a,Object.keys(l).reduce((function(t,e){return void 0!==l[e]&&(t[e]=l[e]),t}),{}))))),P=!1,V=!1,I=!1,N=!1,U=[],_=o(bt,M.interactiveDebounce),F=S++,W=(D=M.plugins).filter((function(t,e){return D.indexOf(t)===e})),X={id:F,reference:r,popper:f(),popperInstance:null,props:M,state:{isEnabled:!0,isVisible:!1,isDestroyed:!1,isMounted:!1,isShown:!1},plugins:W,clearDelayTimeouts:function(){clearTimeout(v),clearTimeout(m),cancelAnimationFrame(E)},setProps:function(t){if(X.state.isDestroyed)return;it("onBeforeUpdate",[X,t]),gt();var e=X.props,n=R(r,Object.assign({},X.props,{},t,{ignoreAttributes:!0}));X.props=n,mt(),e.interactiveDebounce!==n.interactiveDebounce&&(st(),_=o(bt,n.interactiveDebounce));e.triggerTarget&&!n.triggerTarget?s(e.triggerTarget).forEach((function(t){t.removeAttribute("aria-expanded")})):n.triggerTarget&&r.removeAttribute("aria-expanded");at(),rt(),q&&q(e,n);X.popperInstance&&(Tt(),xt().forEach((function(t){requestAnimationFrame(t._tippy.popperInstance.forceUpdate)})));it("onAfterUpdate",[X,t])},setContent:function(t){X.setProps({content:t})},show:function(){var t=X.state.isVisible,e=X.state.isDestroyed,r=!X.state.isEnabled,o=w.isTouch&&!X.props.touch,a=n(X.props.duration,0,L.duration);if(t||e||r||o)return;if(Z().hasAttribute("disabled"))return;if(it("onShow",[X],!1),!1===X.props.onShow(X))return;X.state.isVisible=!0,Q()&&($.style.visibility="visible");rt(),ft(),X.state.isMounted||($.style.transition="none");if(Q()){var s=et(),c=s.box,p=s.content;g([c,p],0)}x=function(){if(X.state.isVisible&&!N){if(N=!0,$.offsetHeight,$.style.transition=X.props.moveTransition,Q()&&X.props.animation){var t=et(),e=t.box,n=t.content;g([e,n],a),h([e,n],"visible")}ot(),at(),u(H,X),X.state.isMounted=!0,it("onMount",[X]),X.props.animation&&Q()&&function(t,e){dt(t,e)}(a,(function(){X.state.isShown=!0,it("onShown",[X])}))}},function(){var t,e=X.props.appendTo,n=Z();t=X.props.interactive&&e===L.appendTo||"parent"===e?n.parentNode:i(e,[n]);t.contains($)||t.appendChild($);Tt()}()},hide:function(){var t=!X.state.isVisible,e=X.state.isDestroyed,r=!X.state.isEnabled,i=n(X.props.duration,1,L.duration);if(t||e||r)return;if(it("onHide",[X],!1),!1===X.props.onHide(X))return;X.state.isVisible=!1,X.state.isShown=!1,N=!1,P=!1,Q()&&($.style.visibility="hidden");if(st(),lt(),rt(),Q()){var o=et(),a=o.box,s=o.content;X.props.animation&&(g([a,s],i),h([a,s],"hidden"))}ot(),at(),X.props.animation?Q()&&function(t,e){dt(t,(function(){!X.state.isVisible&&$.parentNode&&$.parentNode.contains($)&&e()}))}(i,X.unmount):X.unmount()},hideWithInteractivity:function(t){tt().addEventListener("mousemove",_),u(B,_),_(t)},enable:function(){X.state.isEnabled=!0},disable:function(){X.hide(),X.state.isEnabled=!1},unmount:function(){X.state.isVisible&&X.hide();if(!X.state.isMounted)return;Ct(),xt().forEach((function(t){t._tippy.unmount()})),$.parentNode&&$.parentNode.removeChild($);H=H.filter((function(t){return t!==X})),X.state.isMounted=!1,it("onHidden",[X])},destroy:function(){if(X.state.isDestroyed)return;X.clearDelayTimeouts(),X.unmount(),gt(),delete r._tippy,X.state.isDestroyed=!0,it("onDestroy",[X])}};if(!M.render)return X;var Y=M.render(X),$=Y.popper,q=Y.onUpdate;$.setAttribute("data-tippy-root",""),$.id="tippy-"+X.id,X.popper=$,r._tippy=X,$._tippy=X;var z=W.map((function(t){return t.fn(X)})),J=r.hasAttribute("aria-expanded");return mt(),at(),rt(),it("onCreate",[X]),M.showOnCreate&&At(),$.addEventListener("mouseenter",(function(){X.props.interactive&&X.state.isVisible&&X.clearDelayTimeouts()})),$.addEventListener("mouseleave",(function(t){X.props.interactive&&X.props.trigger.indexOf("mouseenter")>=0&&(tt().addEventListener("mousemove",_),_(t))})),X;function G(){var t=X.props.touch;return Array.isArray(t)?t:[t,0]}function K(){return"hold"===G()[0]}function Q(){var t;return!!(null==(t=X.props.render)?void 0:t.$$tippy)}function Z(){return A||r}function tt(){var t=Z().parentNode;return t?b(t):document}function et(){return j($)}function nt(t){return X.state.isMounted&&!X.state.isVisible||w.isTouch||T&&"focus"===T.type?0:n(X.props.delay,t?0:1,L.delay)}function rt(){$.style.pointerEvents=X.props.interactive&&X.state.isVisible?"":"none",$.style.zIndex=""+X.props.zIndex}function it(t,e,n){var r;(void 0===n&&(n=!0),z.forEach((function(n){n[t]&&n[t].apply(void 0,e)})),n)&&(r=X.props)[t].apply(r,e)}function ot(){var t=X.props.aria;if(t.content){var e="aria-"+t.content,n=$.id;s(X.props.triggerTarget||r).forEach((function(t){var r=t.getAttribute(e);if(X.state.isVisible)t.setAttribute(e,r?r+" "+n:n);else{var i=r&&r.replace(n,"").trim();i?t.setAttribute(e,i):t.removeAttribute(e)}}))}}function at(){!J&&X.props.aria.expanded&&s(X.props.triggerTarget||r).forEach((function(t){X.props.interactive?t.setAttribute("aria-expanded",X.state.isVisible&&t===Z()?"true":"false"):t.removeAttribute("aria-expanded")}))}function st(){tt().removeEventListener("mousemove",_),B=B.filter((function(t){return t!==_}))}function ut(t){if(!(w.isTouch&&(I||"mousedown"===t.type)||X.props.interactive&&$.contains(t.target))){if(Z().contains(t.target)){if(w.isTouch)return;if(X.state.isVisible&&X.props.trigger.indexOf("click")>=0)return}else it("onClickOutside",[X,t]);!0===X.props.hideOnClick&&(X.clearDelayTimeouts(),X.hide(),V=!0,setTimeout((function(){V=!1})),X.state.isMounted||lt())}}function ct(){I=!0}function pt(){I=!1}function ft(){var t=tt();t.addEventListener("mousedown",ut,!0),t.addEventListener("touchend",ut,e),t.addEventListener("touchstart",pt,e),t.addEventListener("touchmove",ct,e)}function lt(){var t=tt();t.removeEventListener("mousedown",ut,!0),t.removeEventListener("touchend",ut,e),t.removeEventListener("touchstart",pt,e),t.removeEventListener("touchmove",ct,e)}function dt(t,e){var n=et().box;function r(t){t.target===n&&(y(n,"remove",r),e())}if(0===t)return e();y(n,"remove",C),y(n,"add",r),C=r}function vt(t,e,n){void 0===n&&(n=!1),s(X.props.triggerTarget||r).forEach((function(r){r.addEventListener(t,e,n),U.push({node:r,eventType:t,handler:e,options:n})}))}function mt(){var t;K()&&(vt("touchstart",ht,{passive:!0}),vt("touchend",yt,{passive:!0})),(t=X.props.trigger,t.split(/\s+/).filter(Boolean)).forEach((function(t){if("manual"!==t)switch(vt(t,ht),t){case"mouseenter":vt("mouseleave",yt);break;case"focus":vt(O?"focusout":"blur",wt);break;case"focusin":vt("focusout",wt)}}))}function gt(){U.forEach((function(t){var e=t.node,n=t.eventType,r=t.handler,i=t.options;e.removeEventListener(n,r,i)})),U=[]}function ht(t){var e,n=!1;if(X.state.isEnabled&&!Et(t)&&!V){var r="focus"===(null==(e=T)?void 0:e.type);T=t,A=t.currentTarget,at(),!X.state.isVisible&&d(t)&&B.forEach((function(e){return e(t)})),"click"===t.type&&(X.props.trigger.indexOf("mouseenter")<0||P)&&!1!==X.props.hideOnClick&&X.state.isVisible?n=!0:At(t),"click"===t.type&&(P=!n),n&&!r&&Ot(t)}}function bt(t){var e=t.target,n=Z().contains(e)||$.contains(e);"mousemove"===t.type&&n||function(t,e){var n=e.clientX,r=e.clientY;return t.every((function(t){var e=t.popperRect,i=t.popperState,o=t.props.interactiveBorder,a=c(i.placement),s=i.modifiersData.offset;if(!s)return!0;var u="bottom"===a?s.top.y:0,p="top"===a?s.bottom.y:0,f="right"===a?s.left.x:0,l="left"===a?s.right.x:0,d=e.top-r+u>o,v=r-e.bottom-p>o,m=e.left-n+f>o,g=n-e.right-l>o;return d||v||m||g}))}(xt().concat($).map((function(t){var e,n=null==(e=t._tippy.popperInstance)?void 0:e.state;return n?{popperRect:t.getBoundingClientRect(),popperState:n,props:M}:null})).filter(Boolean),t)&&(st(),Ot(t))}function yt(t){Et(t)||X.props.trigger.indexOf("click")>=0&&P||(X.props.interactive?X.hideWithInteractivity(t):Ot(t))}function wt(t){X.props.trigger.indexOf("focusin")<0&&t.target!==Z()||X.props.interactive&&t.relatedTarget&&$.contains(t.relatedTarget)||Ot(t)}function Et(t){return!!w.isTouch&&K()!==t.type.indexOf("touch")>=0}function Tt(){Ct();var e=X.props,n=e.popperOptions,i=e.placement,o=e.offset,a=e.getReferenceClientRect,s=e.moveTransition,u=Q()?j($).arrow:null,c=a?{getBoundingClientRect:a,contextElement:a.contextElement||Z()}:r,p=[{name:"offset",options:{offset:o}},{name:"preventOverflow",options:{padding:{top:2,bottom:2,left:5,right:5}}},{name:"flip",options:{padding:5}},{name:"computeStyles",options:{adaptive:!s}},{name:"$$tippy",enabled:!0,phase:"beforeWrite",requires:["computeStyles"],fn:function(t){var e=t.state;if(Q()){var n=et().box;["placement","reference-hidden","escaped"].forEach((function(t){"placement"===t?n.setAttribute("data-placement",e.placement):e.attributes.popper["data-popper-"+t]?n.setAttribute("data-"+t,""):n.removeAttribute("data-"+t)})),e.attributes.popper={}}}}];Q()&&u&&p.push({name:"arrow",options:{element:u,padding:3}}),p.push.apply(p,(null==n?void 0:n.modifiers)||[]),X.popperInstance=t.createPopper(c,$,Object.assign({},n,{placement:i,onFirstUpdate:x,modifiers:p}))}function Ct(){X.popperInstance&&(X.popperInstance.destroy(),X.popperInstance=null)}function xt(){return p($.querySelectorAll("[data-tippy-root]"))}function At(t){X.clearDelayTimeouts(),t&&it("onTrigger",[X,t]),ft();var e=nt(!0),n=G(),r=n[0],i=n[1];w.isTouch&&"hold"===r&&i&&(e=i),e?v=setTimeout((function(){X.show()}),e):X.show()}function Ot(t){if(X.clearDelayTimeouts(),it("onUntrigger",[X,t]),X.state.isVisible){if(!(X.props.trigger.indexOf("mouseenter")>=0&&X.props.trigger.indexOf("click")>=0&&["mouseleave","mousemove"].indexOf(t.type)>=0&&P)){var e=nt(!1);e?m=setTimeout((function(){X.state.isVisible&&X.hide()}),e):E=requestAnimationFrame((function(){X.hide()}))}}else lt()}}function U(t,n){void 0===n&&(n={});var r=L.plugins.concat(n.plugins||[]);document.addEventListener("touchstart",T,e),window.addEventListener("blur",x);var i=Object.assign({},n,{plugins:r}),o=m(t).reduce((function(t,e){var n=e&&N(e,i);return n&&t.push(n),t}),[]);return l(t)?o[0]:o}U.defaultProps=L,U.setDefaultProps=function(t){Object.keys(t).forEach((function(e){L[e]=t[e]}))},U.currentInput=w;var _={mouseover:"mouseenter",focusin:"focus",click:"click"};var F={name:"animateFill",defaultValue:!1,fn:function(t){var e;if(!(null==(e=t.props.render)?void 0:e.$$tippy))return{};var n=j(t.popper),r=n.box,i=n.content,o=t.props.animateFill?function(){var t=f();return t.className="tippy-backdrop",h([t],"hidden"),t}():null;return{onCreate:function(){o&&(r.insertBefore(o,r.firstElementChild),r.setAttribute("data-animatefill",""),r.style.overflow="hidden",t.setProps({arrow:!1,animation:"shift-away"}))},onMount:function(){if(o){var t=r.style.transitionDuration,e=Number(t.replace("ms",""));i.style.transitionDelay=Math.round(e/10)+"ms",o.style.transitionDuration=t,h([o],"visible")}},onShow:function(){o&&(o.style.transitionDuration="0ms")},onHide:function(){o&&h([o],"hidden")}}}};var W={clientX:0,clientY:0},X=[];function Y(t){var e=t.clientX,n=t.clientY;W={clientX:e,clientY:n}}var $={name:"followCursor",defaultValue:!1,fn:function(t){var e=t.reference,n=b(t.props.triggerTarget||e),r=!1,i=!1,o=!0,a=t.props;function s(){return"initial"===t.props.followCursor&&t.state.isVisible}function u(){n.addEventListener("mousemove",f)}function c(){n.removeEventListener("mousemove",f)}function p(){r=!0,t.setProps({getReferenceClientRect:null}),r=!1}function f(n){var r=!n.target||e.contains(n.target),i=t.props.followCursor,o=n.clientX,a=n.clientY,s=e.getBoundingClientRect(),u=o-s.left,c=a-s.top;!r&&t.props.interactive||t.setProps({getReferenceClientRect:function(){var t=e.getBoundingClientRect(),n=o,r=a;"initial"===i&&(n=t.left+u,r=t.top+c);var s="horizontal"===i?t.top:r,p="vertical"===i?t.right:n,f="horizontal"===i?t.bottom:r,l="vertical"===i?t.left:n;return{width:p-l,height:f-s,top:s,right:p,bottom:f,left:l}}})}function l(){t.props.followCursor&&(X.push({instance:t,doc:n}),function(t){t.addEventListener("mousemove",Y)}(n))}function v(){0===(X=X.filter((function(e){return e.instance!==t}))).filter((function(t){return t.doc===n})).length&&function(t){t.removeEventListener("mousemove",Y)}(n)}return{onCreate:l,onDestroy:v,onBeforeUpdate:function(){a=t.props},onAfterUpdate:function(e,n){var o=n.followCursor;r||void 0!==o&&a.followCursor!==o&&(v(),o?(l(),!t.state.isMounted||i||s()||u()):(c(),p()))},onMount:function(){t.props.followCursor&&!i&&(o&&(f(W),o=!1),s()||u())},onTrigger:function(t,e){d(e)&&(W={clientX:e.clientX,clientY:e.clientY}),i="focus"===e.type},onHidden:function(){t.props.followCursor&&(p(),c(),o=!0)}}}};var q={name:"inlinePositioning",defaultValue:!1,fn:function(t){var e,n=t.reference;var r=-1,i=!1,o={name:"tippyInlinePositioning",enabled:!0,phase:"afterWrite",fn:function(i){var o=i.state;t.props.inlinePositioning&&(e!==o.placement&&t.setProps({getReferenceClientRect:function(){return function(t){return function(t,e,n,r){if(n.length<2||null===t)return e;if(2===n.length&&r>=0&&n[0].left>n[1].right)return n[r]||e;switch(t){case"top":case"bottom":var i=n[0],o=n[n.length-1],a="top"===t,s=i.top,u=o.bottom,c=a?i.left:o.left,p=a?i.right:o.right;return{top:s,bottom:u,left:c,right:p,width:p-c,height:u-s};case"left":case"right":var f=Math.min.apply(Math,n.map((function(t){return t.left}))),l=Math.max.apply(Math,n.map((function(t){return t.right}))),d=n.filter((function(e){return"left"===t?e.left===f:e.right===l})),v=d[0].top,m=d[d.length-1].bottom;return{top:v,bottom:m,left:f,right:l,width:l-f,height:m-v};default:return e}}(c(t),n.getBoundingClientRect(),p(n.getClientRects()),r)}(o.placement)}}),e=o.placement)}};function a(){var e;i||(e=function(t,e){var n;return{popperOptions:Object.assign({},t.popperOptions,{modifiers:[].concat(((null==(n=t.popperOptions)?void 0:n.modifiers)||[]).filter((function(t){return t.name!==e.name})),[e])})}}(t.props,o),i=!0,t.setProps(e),i=!1)}return{onCreate:a,onAfterUpdate:a,onTrigger:function(e,n){if(d(n)){var i=p(t.reference.getClientRects()),o=i.find((function(t){return t.left-2<=n.clientX&&t.right+2>=n.clientX&&t.top-2<=n.clientY&&t.bottom+2>=n.clientY}));r=i.indexOf(o)}},onUntrigger:function(){r=-1}}}};var z={name:"sticky",defaultValue:!1,fn:function(t){var e=t.reference,n=t.popper;function r(e){return!0===t.props.sticky||t.props.sticky===e}var i=null,o=null;function a(){var s=r("reference")?(t.popperInstance?t.popperInstance.state.elements.reference:e).getBoundingClientRect():null,u=r("popper")?n.getBoundingClientRect():null;(s&&J(i,s)||u&&J(o,u))&&t.popperInstance&&t.popperInstance.update(),i=s,o=u,t.state.isMounted&&requestAnimationFrame(a)}return{onMount:function(){t.props.sticky&&a()}}}};function J(t,e){return!t||!e||(t.top!==e.top||t.right!==e.right||t.bottom!==e.bottom||t.left!==e.left)}return U.setDefaultProps({plugins:[F,$,q,z],render:I}),U.createSingleton=function(t,e){void 0===e&&(e={});var n,r=t,i=[],o=e.overrides,s=[];function u(){i=r.map((function(t){return t.reference}))}function c(t){r.forEach((function(e){t?e.enable():e.disable()}))}function p(t){return r.map((function(e){var r=e.setProps;return e.setProps=function(i){r(i),e.reference===n&&t.setProps(i)},function(){e.setProps=r}}))}c(!1),u();var l={fn:function(){return{onDestroy:function(){c(!0)},onTrigger:function(t,e){var a=e.currentTarget,s=i.indexOf(a);if(a!==n){n=a;var u=(o||[]).concat("content").reduce((function(t,e){return t[e]=r[s].props[e],t}),{});t.setProps(Object.assign({},u,{getReferenceClientRect:"function"==typeof u.getReferenceClientRect?u.getReferenceClientRect:function(){return a.getBoundingClientRect()}}))}}}}},d=U(f(),Object.assign({},a(e,["overrides"]),{plugins:[l].concat(e.plugins||[]),triggerTarget:i})),v=d.setProps;return d.setProps=function(t){o=t.overrides||o,v(t)},d.setInstances=function(t){c(!0),s.forEach((function(t){return t()})),r=t,c(!1),u(),p(d),d.setProps({triggerTarget:i})},s=p(d),d},U.delegate=function(t,e){var n=[],r=[],i=!1,o=e.target,u=a(e,["target"]),c=Object.assign({},u,{trigger:"manual",touch:!1}),p=Object.assign({},u,{showOnCreate:!0}),f=U(t,c);function l(t){if(t.target&&!i){var n=t.target.closest(o);if(n){var a=n.getAttribute("data-tippy-trigger")||e.trigger||L.trigger;if(!n._tippy&&!("touchstart"===t.type&&"boolean"==typeof p.touch||"touchstart"!==t.type&&a.indexOf(_[t.type])<0)){var s=U(n,p);s&&(r=r.concat(s))}}}}function d(t,e,r,i){void 0===i&&(i=!1),t.addEventListener(e,r,i),n.push({node:t,eventType:e,handler:r,options:i})}return s(f).forEach((function(t){var e=t.destroy,o=t.enable,a=t.disable;t.destroy=function(t){void 0===t&&(t=!0),t&&r.forEach((function(t){t.destroy()})),r=[],n.forEach((function(t){var e=t.node,n=t.eventType,r=t.handler,i=t.options;e.removeEventListener(n,r,i)})),n=[],e()},t.enable=function(){o(),r.forEach((function(t){return t.enable()})),i=!1},t.disable=function(){a(),r.forEach((function(t){return t.disable()})),i=!0},function(t){var e=t.reference;d(e,"touchstart",l),d(e,"mouseover",l),d(e,"focusin",l),d(e,"click",l)}(t)})),f},U.hideAll=function(t){var e=void 0===t?{}:t,n=e.exclude,r=e.duration;H.forEach((function(t){var e=!1;if(n&&(e=v(n)?t.reference===n:t.popper===n.popper),!e){var i=t.props.duration;t.setProps({duration:r}),t.hide(),t.state.isDestroyed||t.setProps({duration:i})}}))},U.roundArrow='<svg width="16" height="6" xmlns="http://www.w3.org/2000/svg"><path d="M0 6s1.796-.013 4.67-3.615C5.851.9 6.93.006 8 0c1.07-.006 2.148.887 3.343 2.385C14.233 6.005 16 6 16 6H0z"></svg>',U})); +//# sourceMappingURL=tippy.umd.min.js.map diff --git a/_posts/2021-06-13-unreproducibility-detox/unreproducibility-detox_files/webcomponents-2.0.0/webcomponents.js b/_posts/2021-06-13-unreproducibility-detox/unreproducibility-detox_files/webcomponents-2.0.0/webcomponents.js index 6883e0e..1e26bd4 100644 --- a/_posts/2021-06-13-unreproducibility-detox/unreproducibility-detox_files/webcomponents-2.0.0/webcomponents.js +++ b/_posts/2021-06-13-unreproducibility-detox/unreproducibility-detox_files/webcomponents-2.0.0/webcomponents.js @@ -1,236 +1,236 @@ -// webcomponents.js requires Set api which is not available in all browsers -if (typeof(Set) !== "undefined") { -/** -@license @nocompile -Copyright (c) 2018 The Polymer Project Authors. All rights reserved. -This code may only be used under the BSD style license found at http://polymer.github.io/LICENSE.txt -The complete set of authors may be found at http://polymer.github.io/AUTHORS.txt -The complete set of contributors may be found at http://polymer.github.io/CONTRIBUTORS.txt -Code distributed by Google as part of the polymer project is also -subject to an additional IP rights grant found at http://polymer.github.io/PATENTS.txt -*/ -(function(){/* - - Copyright (c) 2016 The Polymer Project Authors. All rights reserved. - This code may only be used under the BSD style license found at http://polymer.github.io/LICENSE.txt - The complete set of authors may be found at http://polymer.github.io/AUTHORS.txt - The complete set of contributors may be found at http://polymer.github.io/CONTRIBUTORS.txt - Code distributed by Google as part of the polymer project is also - subject to an additional IP rights grant found at http://polymer.github.io/PATENTS.txt -*/ -'use strict';var q,aa="undefined"!=typeof window&&window===this?this:"undefined"!=typeof global&&null!=global?global:this,ba="function"==typeof Object.defineProperties?Object.defineProperty:function(a,b,c){a!=Array.prototype&&a!=Object.prototype&&(a[b]=c.value)};function ca(){ca=function(){};aa.Symbol||(aa.Symbol=da)}var da=function(){var a=0;return function(b){return"jscomp_symbol_"+(b||"")+a++}}(); -function ea(){ca();var a=aa.Symbol.iterator;a||(a=aa.Symbol.iterator=aa.Symbol("iterator"));"function"!=typeof Array.prototype[a]&&ba(Array.prototype,a,{configurable:!0,writable:!0,value:function(){return fa(this)}});ea=function(){}}function fa(a){var b=0;return ha(function(){return b<a.length?{done:!1,value:a[b++]}:{done:!0}})}function ha(a){ea();a={next:a};a[aa.Symbol.iterator]=function(){return this};return a}function ia(a){ea();var b=a[Symbol.iterator];return b?b.call(a):fa(a)} -function ja(a){for(var b,c=[];!(b=a.next()).done;)c.push(b.value);return c} -(function(){if(!function(){var a=document.createEvent("Event");a.initEvent("foo",!0,!0);a.preventDefault();return a.defaultPrevented}()){var a=Event.prototype.preventDefault;Event.prototype.preventDefault=function(){this.cancelable&&(a.call(this),Object.defineProperty(this,"defaultPrevented",{get:function(){return!0},configurable:!0}))}}var b=/Trident/.test(navigator.userAgent);if(!window.CustomEvent||b&&"function"!==typeof window.CustomEvent)window.CustomEvent=function(a,b){b=b||{};var c=document.createEvent("CustomEvent"); -c.initCustomEvent(a,!!b.bubbles,!!b.cancelable,b.detail);return c},window.CustomEvent.prototype=window.Event.prototype;if(!window.Event||b&&"function"!==typeof window.Event){var c=window.Event;window.Event=function(a,b){b=b||{};var c=document.createEvent("Event");c.initEvent(a,!!b.bubbles,!!b.cancelable);return c};if(c)for(var d in c)window.Event[d]=c[d];window.Event.prototype=c.prototype}if(!window.MouseEvent||b&&"function"!==typeof window.MouseEvent){b=window.MouseEvent;window.MouseEvent=function(a, -b){b=b||{};var c=document.createEvent("MouseEvent");c.initMouseEvent(a,!!b.bubbles,!!b.cancelable,b.view||window,b.detail,b.screenX,b.screenY,b.clientX,b.clientY,b.ctrlKey,b.altKey,b.shiftKey,b.metaKey,b.button,b.relatedTarget);return c};if(b)for(d in b)window.MouseEvent[d]=b[d];window.MouseEvent.prototype=b.prototype}Array.from||(Array.from=function(a){return[].slice.call(a)});Object.assign||(Object.assign=function(a,b){for(var c=[].slice.call(arguments,1),d=0,e;d<c.length;d++)if(e=c[d])for(var f= -a,n=e,r=Object.getOwnPropertyNames(n),G=0;G<r.length;G++)e=r[G],f[e]=n[e];return a})})(window.WebComponents);(function(){function a(){}function b(a,b){if(!a.childNodes.length)return[];switch(a.nodeType){case Node.DOCUMENT_NODE:return G.call(a,b);case Node.DOCUMENT_FRAGMENT_NODE:return x.call(a,b);default:return r.call(a,b)}}var c="undefined"===typeof HTMLTemplateElement,d=!(document.createDocumentFragment().cloneNode()instanceof DocumentFragment),e=!1;/Trident/.test(navigator.userAgent)&&function(){function a(a,b){if(a instanceof DocumentFragment)for(var d;d=a.firstChild;)c.call(this,d,b);else c.call(this, -a,b);return a}e=!0;var b=Node.prototype.cloneNode;Node.prototype.cloneNode=function(a){a=b.call(this,a);this instanceof DocumentFragment&&(a.__proto__=DocumentFragment.prototype);return a};DocumentFragment.prototype.querySelectorAll=HTMLElement.prototype.querySelectorAll;DocumentFragment.prototype.querySelector=HTMLElement.prototype.querySelector;Object.defineProperties(DocumentFragment.prototype,{nodeType:{get:function(){return Node.DOCUMENT_FRAGMENT_NODE},configurable:!0},localName:{get:function(){}, -configurable:!0},nodeName:{get:function(){return"#document-fragment"},configurable:!0}});var c=Node.prototype.insertBefore;Node.prototype.insertBefore=a;var d=Node.prototype.appendChild;Node.prototype.appendChild=function(b){b instanceof DocumentFragment?a.call(this,b,null):d.call(this,b);return b};var f=Node.prototype.removeChild,g=Node.prototype.replaceChild;Node.prototype.replaceChild=function(b,c){b instanceof DocumentFragment?(a.call(this,b,c),f.call(this,c)):g.call(this,b,c);return c};Document.prototype.createDocumentFragment= -function(){var a=this.createElement("df");a.__proto__=DocumentFragment.prototype;return a};var h=Document.prototype.importNode;Document.prototype.importNode=function(a,b){b=h.call(this,a,b||!1);a instanceof DocumentFragment&&(b.__proto__=DocumentFragment.prototype);return b}}();var f=Node.prototype.cloneNode,g=Document.prototype.createElement,h=Document.prototype.importNode,k=Node.prototype.removeChild,m=Node.prototype.appendChild,n=Node.prototype.replaceChild,r=Element.prototype.querySelectorAll, -G=Document.prototype.querySelectorAll,x=DocumentFragment.prototype.querySelectorAll,v=function(){if(!c){var a=document.createElement("template"),b=document.createElement("template");b.content.appendChild(document.createElement("div"));a.content.appendChild(b);a=a.cloneNode(!0);return 0===a.content.childNodes.length||0===a.content.firstChild.content.childNodes.length||d}}();if(c){var U=document.implementation.createHTMLDocument("template"),Dc=!0,xa=document.createElement("style");xa.textContent="template{display:none;}"; -var Ec=document.head;Ec.insertBefore(xa,Ec.firstElementChild);a.prototype=Object.create(HTMLElement.prototype);var mf=!document.createElement("div").hasOwnProperty("innerHTML");a.R=function(b){if(!b.content&&b.namespaceURI===document.documentElement.namespaceURI){b.content=U.createDocumentFragment();for(var c;c=b.firstChild;)m.call(b.content,c);if(mf)b.__proto__=a.prototype;else if(b.cloneNode=function(b){return a.a(this,b)},Dc)try{p(b),Fc(b)}catch(zh){Dc=!1}a.b(b.content)}};var p=function(b){Object.defineProperty(b, -"innerHTML",{get:function(){return Gc(this)},set:function(b){U.body.innerHTML=b;for(a.b(U);this.content.firstChild;)k.call(this.content,this.content.firstChild);for(;U.body.firstChild;)m.call(this.content,U.body.firstChild)},configurable:!0})},Fc=function(a){Object.defineProperty(a,"outerHTML",{get:function(){return"<template>"+this.innerHTML+"</template>"},set:function(a){if(this.parentNode){U.body.innerHTML=a;for(a=this.ownerDocument.createDocumentFragment();U.body.firstChild;)m.call(a,U.body.firstChild); -n.call(this.parentNode,a,this)}else throw Error("Failed to set the 'outerHTML' property on 'Element': This element has no parent node.");},configurable:!0})};p(a.prototype);Fc(a.prototype);a.b=function(c){c=b(c,"template");for(var d=0,e=c.length,f;d<e&&(f=c[d]);d++)a.R(f)};document.addEventListener("DOMContentLoaded",function(){a.b(document)});Document.prototype.createElement=function(){var b=g.apply(this,arguments);"template"===b.localName&&a.R(b);return b};var nf=/[&\u00A0"]/g,kb=/[&\u00A0<>]/g, -l=function(a){switch(a){case "&":return"&";case "<":return"<";case ">":return">";case '"':return""";case "\u00a0":return" "}};xa=function(a){for(var b={},c=0;c<a.length;c++)b[a[c]]=!0;return b};var F=xa("area base br col command embed hr img input keygen link meta param source track wbr".split(" ")),of=xa("style script xmp iframe noembed noframes plaintext noscript".split(" ")),Gc=function(a,b){"template"===a.localName&&(a=a.content);for(var c="",d=b?b(a):a.childNodes,e=0,f=d.length, -g;e<f&&(g=d[e]);e++){a:{var h=g;var k=a;var m=b;switch(h.nodeType){case Node.ELEMENT_NODE:for(var n=h.localName,v="<"+n,r=h.attributes,p=0;k=r[p];p++)v+=" "+k.name+'="'+k.value.replace(nf,l)+'"';v+=">";h=F[n]?v:v+Gc(h,m)+"</"+n+">";break a;case Node.TEXT_NODE:h=h.data;h=k&&of[k.localName]?h:h.replace(kb,l);break a;case Node.COMMENT_NODE:h="\x3c!--"+h.data+"--\x3e";break a;default:throw window.console.error(h),Error("not implemented");}}c+=h}return c}}if(c||v){a.a=function(a,b){var c=f.call(a,!1); -this.R&&this.R(c);b&&(m.call(c.content,f.call(a.content,!0)),lb(c.content,a.content));return c};var lb=function(c,d){if(d.querySelectorAll&&(d=b(d,"template"),0!==d.length)){c=b(c,"template");for(var e=0,f=c.length,g,h;e<f;e++)h=d[e],g=c[e],a&&a.R&&a.R(h),n.call(g.parentNode,pf.call(h,!0),g)}},pf=Node.prototype.cloneNode=function(b){if(!e&&d&&this instanceof DocumentFragment)if(b)var c=qf.call(this.ownerDocument,this,!0);else return this.ownerDocument.createDocumentFragment();else this.nodeType=== -Node.ELEMENT_NODE&&"template"===this.localName&&this.namespaceURI==document.documentElement.namespaceURI?c=a.a(this,b):c=f.call(this,b);b&&lb(c,this);return c},qf=Document.prototype.importNode=function(c,d){d=d||!1;if("template"===c.localName)return a.a(c,d);var e=h.call(this,c,d);if(d){lb(e,c);c=b(e,'script:not([type]),script[type="application/javascript"],script[type="text/javascript"]');for(var f,k=0;k<c.length;k++){f=c[k];d=g.call(document,"script");d.textContent=f.textContent;for(var m=f.attributes, -l=0,v;l<m.length;l++)v=m[l],d.setAttribute(v.name,v.value);n.call(f.parentNode,d,f)}}return e}}c&&(window.HTMLTemplateElement=a)})();var ka;Array.isArray?ka=Array.isArray:ka=function(a){return"[object Array]"===Object.prototype.toString.call(a)};var la=ka;var ma=0,na,oa="undefined"!==typeof window?window:void 0,pa=oa||{},qa=pa.MutationObserver||pa.WebKitMutationObserver,ra="undefined"===typeof self&&"undefined"!==typeof process&&"[object process]"==={}.toString.call(process),sa="undefined"!==typeof Uint8ClampedArray&&"undefined"!==typeof importScripts&&"undefined"!==typeof MessageChannel;function ta(){return"undefined"!==typeof na?function(){na(ua)}:va()} -function wa(){var a=0,b=new qa(ua),c=document.createTextNode("");b.observe(c,{characterData:!0});return function(){c.data=a=++a%2}}function ya(){var a=new MessageChannel;a.port1.onmessage=ua;return function(){return a.port2.postMessage(0)}}function va(){var a=setTimeout;return function(){return a(ua,1)}}var za=Array(1E3);function ua(){for(var a=0;a<ma;a+=2)(0,za[a])(za[a+1]),za[a]=void 0,za[a+1]=void 0;ma=0}var Aa,Ba; -if(ra)Ba=function(){return process.xb(ua)};else{var Ca;if(qa)Ca=wa();else{var Da;if(sa)Da=ya();else{var Ea;if(void 0===oa&&"function"===typeof require)try{var Fa=require("vertx");na=Fa.zb||Fa.yb;Ea=ta()}catch(a){Ea=va()}else Ea=va();Da=Ea}Ca=Da}Ba=Ca}Aa=Ba;function Ga(a,b){za[ma]=a;za[ma+1]=b;ma+=2;2===ma&&Aa()};function Ha(a,b){var c=this,d=new this.constructor(Ia);void 0===d[Ja]&&Ka(d);var e=c.o;if(e){var f=arguments[e-1];Ga(function(){return La(e,d,f,c.l)})}else Ma(c,d,a,b);return d};function Na(a){if(a&&"object"===typeof a&&a.constructor===this)return a;var b=new this(Ia);Oa(b,a);return b};var Ja=Math.random().toString(36).substring(16);function Ia(){}var Qa=new Pa;function Ra(a){try{return a.then}catch(b){return Qa.error=b,Qa}}function Sa(a,b,c,d){try{a.call(b,c,d)}catch(e){return e}}function Ta(a,b,c){Ga(function(a){var d=!1,f=Sa(c,b,function(c){d||(d=!0,b!==c?Oa(a,c):t(a,c))},function(b){d||(d=!0,u(a,b))});!d&&f&&(d=!0,u(a,f))},a)}function Ua(a,b){1===b.o?t(a,b.l):2===b.o?u(a,b.l):Ma(b,void 0,function(b){return Oa(a,b)},function(b){return u(a,b)})} -function Va(a,b,c){b.constructor===a.constructor&&c===Ha&&b.constructor.resolve===Na?Ua(a,b):c===Qa?(u(a,Qa.error),Qa.error=null):void 0===c?t(a,b):"function"===typeof c?Ta(a,b,c):t(a,b)}function Oa(a,b){if(a===b)u(a,new TypeError("You cannot resolve a promise with itself"));else{var c=typeof b;null===b||"object"!==c&&"function"!==c?t(a,b):Va(a,b,Ra(b))}}function Wa(a){a.xa&&a.xa(a.l);Xa(a)}function t(a,b){void 0===a.o&&(a.l=b,a.o=1,0!==a.U.length&&Ga(Xa,a))} -function u(a,b){void 0===a.o&&(a.o=2,a.l=b,Ga(Wa,a))}function Ma(a,b,c,d){var e=a.U,f=e.length;a.xa=null;e[f]=b;e[f+1]=c;e[f+2]=d;0===f&&a.o&&Ga(Xa,a)}function Xa(a){var b=a.U,c=a.o;if(0!==b.length){for(var d,e,f=a.l,g=0;g<b.length;g+=3)d=b[g],e=b[g+c],d?La(c,d,e,f):e(f);a.U.length=0}}function Pa(){this.error=null}var Ya=new Pa; -function La(a,b,c,d){var e="function"===typeof c;if(e){try{var f=c(d)}catch(m){Ya.error=m,f=Ya}if(f===Ya){var g=!0;var h=f.error;f.error=null}else var k=!0;if(b===f){u(b,new TypeError("A promises callback cannot return that same promise."));return}}else f=d,k=!0;void 0===b.o&&(e&&k?Oa(b,f):g?u(b,h):1===a?t(b,f):2===a&&u(b,f))}function Za(a,b){try{b(function(b){Oa(a,b)},function(b){u(a,b)})}catch(c){u(a,c)}}var $a=0;function Ka(a){a[Ja]=$a++;a.o=void 0;a.l=void 0;a.U=[]};function ab(a,b){this.Na=a;this.N=new a(Ia);this.N[Ja]||Ka(this.N);if(la(b))if(this.$=this.length=b.length,this.l=Array(this.length),0===this.length)t(this.N,this.l);else{this.length=this.length||0;for(a=0;void 0===this.o&&a<b.length;a++)bb(this,b[a],a);0===this.$&&t(this.N,this.l)}else u(this.N,Error("Array Methods must be provided an Array"))} -function bb(a,b,c){var d=a.Na,e=d.resolve;e===Na?(e=Ra(b),e===Ha&&void 0!==b.o?cb(a,b.o,c,b.l):"function"!==typeof e?(a.$--,a.l[c]=b):d===w?(d=new d(Ia),Va(d,b,e),db(a,d,c)):db(a,new d(function(a){return a(b)}),c)):db(a,e(b),c)}function cb(a,b,c,d){var e=a.N;void 0===e.o&&(a.$--,2===b?u(e,d):a.l[c]=d);0===a.$&&t(e,a.l)}function db(a,b,c){Ma(b,void 0,function(b){return cb(a,1,c,b)},function(b){return cb(a,2,c,b)})};function eb(a){return(new ab(this,a)).N};function fb(a){var b=this;return la(a)?new b(function(c,d){for(var e=a.length,f=0;f<e;f++)b.resolve(a[f]).then(c,d)}):new b(function(a,b){return b(new TypeError("You must pass an array to race."))})};function gb(a){var b=new this(Ia);u(b,a);return b};function w(a){this[Ja]=$a++;this.l=this.o=void 0;this.U=[];if(Ia!==a){if("function"!==typeof a)throw new TypeError("You must pass a resolver function as the first argument to the promise constructor");if(this instanceof w)Za(this,a);else throw new TypeError("Failed to construct 'Promise': Please use the 'new' operator, this object constructor cannot be called as a function.");}}w.prototype={constructor:w,then:Ha,a:function(a){return this.then(null,a)}};/* - -Copyright (c) 2017 The Polymer Project Authors. All rights reserved. -This code may only be used under the BSD style license found at http://polymer.github.io/LICENSE.txt -The complete set of authors may be found at http://polymer.github.io/AUTHORS.txt -The complete set of contributors may be found at http://polymer.github.io/CONTRIBUTORS.txt -Code distributed by Google as part of the polymer project is also -subject to an additional IP rights grant found at http://polymer.github.io/PATENTS.txt -*/ -window.Promise||(window.Promise=w,w.prototype["catch"]=w.prototype.a,w.prototype.then=w.prototype.then,w.all=eb,w.race=fb,w.resolve=Na,w.reject=gb);/* - - Copyright (c) 2014 The Polymer Project Authors. All rights reserved. - This code may only be used under the BSD style license found at http://polymer.github.io/LICENSE.txt - The complete set of authors may be found at http://polymer.github.io/AUTHORS.txt - The complete set of contributors may be found at http://polymer.github.io/CONTRIBUTORS.txt - Code distributed by Google as part of the polymer project is also - subject to an additional IP rights grant found at http://polymer.github.io/PATENTS.txt -*/ -window.WebComponents=window.WebComponents||{flags:{}};var hb=document.querySelector('script[src*="webcomponents-bundle"]'),ib=/wc-(.+)/,y={};if(!y.noOpts){location.search.slice(1).split("&").forEach(function(a){a=a.split("=");var b;a[0]&&(b=a[0].match(ib))&&(y[b[1]]=a[1]||!0)});if(hb)for(var jb=0,mb;mb=hb.attributes[jb];jb++)"src"!==mb.name&&(y[mb.name]=mb.value||!0);if(y.log&&y.log.split){var nb=y.log.split(",");y.log={};nb.forEach(function(a){y.log[a]=!0})}else y.log={}} -window.WebComponents.flags=y;var ob=y.shadydom;ob&&(window.ShadyDOM=window.ShadyDOM||{},window.ShadyDOM.force=ob);var pb=y.register||y.ce;pb&&window.customElements&&(window.customElements.forcePolyfill=pb);/* - -Copyright (c) 2016 The Polymer Project Authors. All rights reserved. -This code may only be used under the BSD style license found at http://polymer.github.io/LICENSE.txt -The complete set of authors may be found at http://polymer.github.io/AUTHORS.txt -The complete set of contributors may be found at http://polymer.github.io/CONTRIBUTORS.txt -Code distributed by Google as part of the polymer project is also -subject to an additional IP rights grant found at http://polymer.github.io/PATENTS.txt -*/ -function qb(){this.Da=this.root=null;this.da=!1;this.L=this.Z=this.pa=this.assignedSlot=this.assignedNodes=this.S=null;this.childNodes=this.nextSibling=this.previousSibling=this.lastChild=this.firstChild=this.parentNode=this.V=void 0;this.Ia=this.va=!1}qb.prototype.toJSON=function(){return{}};function z(a){a.ka||(a.ka=new qb);return a.ka}function A(a){return a&&a.ka};var B=window.ShadyDOM||{};B.Ua=!(!Element.prototype.attachShadow||!Node.prototype.getRootNode);var rb=Object.getOwnPropertyDescriptor(Node.prototype,"firstChild");B.I=!!(rb&&rb.configurable&&rb.get);B.Ba=B.force||!B.Ua;var sb=navigator.userAgent.match("Trident"),tb=navigator.userAgent.match("Edge");void 0===B.Fa&&(B.Fa=B.I&&(sb||tb));function ub(a){return(a=A(a))&&void 0!==a.firstChild}function C(a){return"ShadyRoot"===a.Oa}function vb(a){a=a.getRootNode();if(C(a))return a} -var wb=Element.prototype,xb=wb.matches||wb.matchesSelector||wb.mozMatchesSelector||wb.msMatchesSelector||wb.oMatchesSelector||wb.webkitMatchesSelector;function yb(a,b){if(a&&b)for(var c=Object.getOwnPropertyNames(b),d=0,e;d<c.length&&(e=c[d]);d++){var f=Object.getOwnPropertyDescriptor(b,e);f&&Object.defineProperty(a,e,f)}}function zb(a,b){for(var c=[],d=1;d<arguments.length;++d)c[d-1]=arguments[d];for(d=0;d<c.length;d++)yb(a,c[d]);return a}function Ab(a,b){for(var c in b)a[c]=b[c]} -var Bb=document.createTextNode(""),Cb=0,Db=[];(new MutationObserver(function(){for(;Db.length;)try{Db.shift()()}catch(a){throw Bb.textContent=Cb++,a;}})).observe(Bb,{characterData:!0});function Eb(a){Db.push(a);Bb.textContent=Cb++}var Fb=!!document.contains;function Gb(a,b){for(;b;){if(b==a)return!0;b=b.parentNode}return!1};var Hb=[],Ib;function Jb(a){Ib||(Ib=!0,Eb(Kb));Hb.push(a)}function Kb(){Ib=!1;for(var a=!!Hb.length;Hb.length;)Hb.shift()();return a}Kb.list=Hb;function Lb(){this.a=!1;this.addedNodes=[];this.removedNodes=[];this.ca=new Set}function Mb(a){a.a||(a.a=!0,Eb(function(){Nb(a)}))}function Nb(a){if(a.a){a.a=!1;var b=a.takeRecords();b.length&&a.ca.forEach(function(a){a(b)})}}Lb.prototype.takeRecords=function(){if(this.addedNodes.length||this.removedNodes.length){var a=[{addedNodes:this.addedNodes,removedNodes:this.removedNodes}];this.addedNodes=[];this.removedNodes=[];return a}return[]}; -function Ob(a,b){var c=z(a);c.S||(c.S=new Lb);c.S.ca.add(b);var d=c.S;return{La:b,P:d,Pa:a,takeRecords:function(){return d.takeRecords()}}}function Pb(a){var b=a&&a.P;b&&(b.ca.delete(a.La),b.ca.size||(z(a.Pa).S=null))} -function Qb(a,b){var c=b.getRootNode();return a.map(function(a){var b=c===a.target.getRootNode();if(b&&a.addedNodes){if(b=Array.from(a.addedNodes).filter(function(a){return c===a.getRootNode()}),b.length)return a=Object.create(a),Object.defineProperty(a,"addedNodes",{value:b,configurable:!0}),a}else if(b)return a}).filter(function(a){return a})};var D={},Rb=Element.prototype.insertBefore,Sb=Element.prototype.replaceChild,Tb=Element.prototype.removeChild,Ub=Element.prototype.setAttribute,Vb=Element.prototype.removeAttribute,Wb=Element.prototype.cloneNode,Xb=Document.prototype.importNode,Yb=Element.prototype.addEventListener,Zb=Element.prototype.removeEventListener,$b=Window.prototype.addEventListener,ac=Window.prototype.removeEventListener,bc=Element.prototype.dispatchEvent,cc=Node.prototype.contains||HTMLElement.prototype.contains,dc=Document.prototype.getElementById, -ec=Element.prototype.querySelector,fc=DocumentFragment.prototype.querySelector,gc=Document.prototype.querySelector,hc=Element.prototype.querySelectorAll,ic=DocumentFragment.prototype.querySelectorAll,jc=Document.prototype.querySelectorAll;D.appendChild=Element.prototype.appendChild;D.insertBefore=Rb;D.replaceChild=Sb;D.removeChild=Tb;D.setAttribute=Ub;D.removeAttribute=Vb;D.cloneNode=Wb;D.importNode=Xb;D.addEventListener=Yb;D.removeEventListener=Zb;D.eb=$b;D.fb=ac;D.dispatchEvent=bc;D.contains=cc; -D.getElementById=dc;D.ob=ec;D.sb=fc;D.mb=gc;D.querySelector=function(a){switch(this.nodeType){case Node.ELEMENT_NODE:return ec.call(this,a);case Node.DOCUMENT_NODE:return gc.call(this,a);default:return fc.call(this,a)}};D.pb=hc;D.tb=ic;D.nb=jc;D.querySelectorAll=function(a){switch(this.nodeType){case Node.ELEMENT_NODE:return hc.call(this,a);case Node.DOCUMENT_NODE:return jc.call(this,a);default:return ic.call(this,a)}};var kc=/[&\u00A0"]/g,lc=/[&\u00A0<>]/g;function mc(a){switch(a){case "&":return"&";case "<":return"<";case ">":return">";case '"':return""";case "\u00a0":return" "}}function nc(a){for(var b={},c=0;c<a.length;c++)b[a[c]]=!0;return b}var oc=nc("area base br col command embed hr img input keygen link meta param source track wbr".split(" ")),pc=nc("style script xmp iframe noembed noframes plaintext noscript".split(" ")); -function qc(a,b){"template"===a.localName&&(a=a.content);for(var c="",d=b?b(a):a.childNodes,e=0,f=d.length,g;e<f&&(g=d[e]);e++){a:{var h=g;var k=a;var m=b;switch(h.nodeType){case Node.ELEMENT_NODE:for(var n=h.localName,r="<"+n,G=h.attributes,x=0;k=G[x];x++)r+=" "+k.name+'="'+k.value.replace(kc,mc)+'"';r+=">";h=oc[n]?r:r+qc(h,m)+"</"+n+">";break a;case Node.TEXT_NODE:h=h.data;h=k&&pc[k.localName]?h:h.replace(lc,mc);break a;case Node.COMMENT_NODE:h="\x3c!--"+h.data+"--\x3e";break a;default:throw window.console.error(h), -Error("not implemented");}}c+=h}return c};var E={},H=document.createTreeWalker(document,NodeFilter.SHOW_ALL,null,!1),I=document.createTreeWalker(document,NodeFilter.SHOW_ELEMENT,null,!1);function rc(a){var b=[];H.currentNode=a;for(a=H.firstChild();a;)b.push(a),a=H.nextSibling();return b}E.parentNode=function(a){H.currentNode=a;return H.parentNode()};E.firstChild=function(a){H.currentNode=a;return H.firstChild()};E.lastChild=function(a){H.currentNode=a;return H.lastChild()};E.previousSibling=function(a){H.currentNode=a;return H.previousSibling()}; -E.nextSibling=function(a){H.currentNode=a;return H.nextSibling()};E.childNodes=rc;E.parentElement=function(a){I.currentNode=a;return I.parentNode()};E.firstElementChild=function(a){I.currentNode=a;return I.firstChild()};E.lastElementChild=function(a){I.currentNode=a;return I.lastChild()};E.previousElementSibling=function(a){I.currentNode=a;return I.previousSibling()};E.nextElementSibling=function(a){I.currentNode=a;return I.nextSibling()}; -E.children=function(a){var b=[];I.currentNode=a;for(a=I.firstChild();a;)b.push(a),a=I.nextSibling();return b};E.innerHTML=function(a){return qc(a,function(a){return rc(a)})};E.textContent=function(a){switch(a.nodeType){case Node.ELEMENT_NODE:case Node.DOCUMENT_FRAGMENT_NODE:a=document.createTreeWalker(a,NodeFilter.SHOW_TEXT,null,!1);for(var b="",c;c=a.nextNode();)b+=c.nodeValue;return b;default:return a.nodeValue}};var J={},sc=B.I,tc=[Node.prototype,Element.prototype,HTMLElement.prototype];function K(a){var b;a:{for(b=0;b<tc.length;b++){var c=tc[b];if(c.hasOwnProperty(a)){b=c;break a}}b=void 0}if(!b)throw Error("Could not find descriptor for "+a);return Object.getOwnPropertyDescriptor(b,a)} -var L=sc?{parentNode:K("parentNode"),firstChild:K("firstChild"),lastChild:K("lastChild"),previousSibling:K("previousSibling"),nextSibling:K("nextSibling"),childNodes:K("childNodes"),parentElement:K("parentElement"),previousElementSibling:K("previousElementSibling"),nextElementSibling:K("nextElementSibling"),innerHTML:K("innerHTML"),textContent:K("textContent"),firstElementChild:K("firstElementChild"),lastElementChild:K("lastElementChild"),children:K("children")}:{},uc=sc?{firstElementChild:Object.getOwnPropertyDescriptor(DocumentFragment.prototype, -"firstElementChild"),lastElementChild:Object.getOwnPropertyDescriptor(DocumentFragment.prototype,"lastElementChild"),children:Object.getOwnPropertyDescriptor(DocumentFragment.prototype,"children")}:{},vc=sc?{firstElementChild:Object.getOwnPropertyDescriptor(Document.prototype,"firstElementChild"),lastElementChild:Object.getOwnPropertyDescriptor(Document.prototype,"lastElementChild"),children:Object.getOwnPropertyDescriptor(Document.prototype,"children")}:{};J.Ca=L;J.rb=uc;J.lb=vc;J.parentNode=function(a){return L.parentNode.get.call(a)}; -J.firstChild=function(a){return L.firstChild.get.call(a)};J.lastChild=function(a){return L.lastChild.get.call(a)};J.previousSibling=function(a){return L.previousSibling.get.call(a)};J.nextSibling=function(a){return L.nextSibling.get.call(a)};J.childNodes=function(a){return Array.prototype.slice.call(L.childNodes.get.call(a))};J.parentElement=function(a){return L.parentElement.get.call(a)};J.previousElementSibling=function(a){return L.previousElementSibling.get.call(a)};J.nextElementSibling=function(a){return L.nextElementSibling.get.call(a)}; -J.innerHTML=function(a){return L.innerHTML.get.call(a)};J.textContent=function(a){return L.textContent.get.call(a)};J.children=function(a){switch(a.nodeType){case Node.DOCUMENT_FRAGMENT_NODE:a=uc.children.get.call(a);break;case Node.DOCUMENT_NODE:a=vc.children.get.call(a);break;default:a=L.children.get.call(a)}return Array.prototype.slice.call(a)}; -J.firstElementChild=function(a){switch(a.nodeType){case Node.DOCUMENT_FRAGMENT_NODE:return uc.firstElementChild.get.call(a);case Node.DOCUMENT_NODE:return vc.firstElementChild.get.call(a);default:return L.firstElementChild.get.call(a)}};J.lastElementChild=function(a){switch(a.nodeType){case Node.DOCUMENT_FRAGMENT_NODE:return uc.lastElementChild.get.call(a);case Node.DOCUMENT_NODE:return vc.lastElementChild.get.call(a);default:return L.lastElementChild.get.call(a)}};var M=B.Fa?J:E;function wc(a){for(;a.firstChild;)a.removeChild(a.firstChild)} -var xc=B.I,yc=document.implementation.createHTMLDocument("inert"),zc=Object.getOwnPropertyDescriptor(Node.prototype,"isConnected"),Ac=zc&&zc.get,Bc=Object.getOwnPropertyDescriptor(Document.prototype,"activeElement"),Cc={parentElement:{get:function(){var a=A(this);(a=a&&a.parentNode)&&a.nodeType!==Node.ELEMENT_NODE&&(a=null);return void 0!==a?a:M.parentElement(this)},configurable:!0},parentNode:{get:function(){var a=A(this);a=a&&a.parentNode;return void 0!==a?a:M.parentNode(this)},configurable:!0}, -nextSibling:{get:function(){var a=A(this);a=a&&a.nextSibling;return void 0!==a?a:M.nextSibling(this)},configurable:!0},previousSibling:{get:function(){var a=A(this);a=a&&a.previousSibling;return void 0!==a?a:M.previousSibling(this)},configurable:!0},nextElementSibling:{get:function(){var a=A(this);if(a&&void 0!==a.nextSibling){for(a=this.nextSibling;a&&a.nodeType!==Node.ELEMENT_NODE;)a=a.nextSibling;return a}return M.nextElementSibling(this)},configurable:!0},previousElementSibling:{get:function(){var a= -A(this);if(a&&void 0!==a.previousSibling){for(a=this.previousSibling;a&&a.nodeType!==Node.ELEMENT_NODE;)a=a.previousSibling;return a}return M.previousElementSibling(this)},configurable:!0}},Hc={className:{get:function(){return this.getAttribute("class")||""},set:function(a){this.setAttribute("class",a)},configurable:!0}},Ic={childNodes:{get:function(){if(ub(this)){var a=A(this);if(!a.childNodes){a.childNodes=[];for(var b=this.firstChild;b;b=b.nextSibling)a.childNodes.push(b)}var c=a.childNodes}else c= -M.childNodes(this);c.item=function(a){return c[a]};return c},configurable:!0},childElementCount:{get:function(){return this.children.length},configurable:!0},firstChild:{get:function(){var a=A(this);a=a&&a.firstChild;return void 0!==a?a:M.firstChild(this)},configurable:!0},lastChild:{get:function(){var a=A(this);a=a&&a.lastChild;return void 0!==a?a:M.lastChild(this)},configurable:!0},textContent:{get:function(){if(ub(this)){for(var a=[],b=0,c=this.childNodes,d;d=c[b];b++)d.nodeType!==Node.COMMENT_NODE&& -a.push(d.textContent);return a.join("")}return M.textContent(this)},set:function(a){if("undefined"===typeof a||null===a)a="";switch(this.nodeType){case Node.ELEMENT_NODE:case Node.DOCUMENT_FRAGMENT_NODE:if(!ub(this)&&xc){var b=this.firstChild;(b!=this.lastChild||b&&b.nodeType!=Node.TEXT_NODE)&&wc(this);J.Ca.textContent.set.call(this,a)}else wc(this),(0<a.length||this.nodeType===Node.ELEMENT_NODE)&&this.appendChild(document.createTextNode(a));break;default:this.nodeValue=a}},configurable:!0},firstElementChild:{get:function(){var a= -A(this);if(a&&void 0!==a.firstChild){for(a=this.firstChild;a&&a.nodeType!==Node.ELEMENT_NODE;)a=a.nextSibling;return a}return M.firstElementChild(this)},configurable:!0},lastElementChild:{get:function(){var a=A(this);if(a&&void 0!==a.lastChild){for(a=this.lastChild;a&&a.nodeType!==Node.ELEMENT_NODE;)a=a.previousSibling;return a}return M.lastElementChild(this)},configurable:!0},children:{get:function(){var a;ub(this)?a=Array.prototype.filter.call(this.childNodes,function(a){return a.nodeType===Node.ELEMENT_NODE}): -a=M.children(this);a.item=function(b){return a[b]};return a},configurable:!0},innerHTML:{get:function(){return ub(this)?qc("template"===this.localName?this.content:this):M.innerHTML(this)},set:function(a){var b="template"===this.localName?this.content:this;wc(b);var c=this.localName;c&&"template"!==c||(c="div");c=yc.createElement(c);for(xc?J.Ca.innerHTML.set.call(c,a):c.innerHTML=a;c.firstChild;)b.appendChild(c.firstChild)},configurable:!0}},Jc={shadowRoot:{get:function(){var a=A(this);return a&& -a.Da||null},configurable:!0}},Kc={activeElement:{get:function(){var a=Bc&&Bc.get?Bc.get.call(document):B.I?void 0:document.activeElement;if(a&&a.nodeType){var b=!!C(this);if(this===document||b&&this.host!==a&&D.contains.call(this.host,a)){for(b=vb(a);b&&b!==this;)a=b.host,b=vb(a);a=this===document?b?null:a:b===this?a:null}else a=null}else a=null;return a},set:function(){},configurable:!0}}; -function N(a,b,c){for(var d in b){var e=Object.getOwnPropertyDescriptor(a,d);e&&e.configurable||!e&&c?Object.defineProperty(a,d,b[d]):c&&console.warn("Could not define",d,"on",a)}}function Lc(a){N(a,Cc);N(a,Hc);N(a,Ic);N(a,Kc)} -function Mc(){var a=Nc.prototype;a.__proto__=DocumentFragment.prototype;N(a,Cc,!0);N(a,Ic,!0);N(a,Kc,!0);Object.defineProperties(a,{nodeType:{value:Node.DOCUMENT_FRAGMENT_NODE,configurable:!0},nodeName:{value:"#document-fragment",configurable:!0},nodeValue:{value:null,configurable:!0}});["localName","namespaceURI","prefix"].forEach(function(b){Object.defineProperty(a,b,{value:void 0,configurable:!0})});["ownerDocument","baseURI","isConnected"].forEach(function(b){Object.defineProperty(a,b,{get:function(){return this.host[b]}, -configurable:!0})})}var Oc=B.I?function(){}:function(a){var b=z(a);b.va||(b.va=!0,N(a,Cc,!0),N(a,Hc,!0))},Pc=B.I?function(){}:function(a){z(a).Ia||(N(a,Ic,!0),N(a,Jc,!0))};var Qc=M.childNodes;function Rc(a,b,c){Oc(a);c=c||null;var d=z(a),e=z(b),f=c?z(c):null;d.previousSibling=c?f.previousSibling:b.lastChild;if(f=A(d.previousSibling))f.nextSibling=a;if(f=A(d.nextSibling=c))f.previousSibling=a;d.parentNode=b;c?c===e.firstChild&&(e.firstChild=a):(e.lastChild=a,e.firstChild||(e.firstChild=a));e.childNodes=null} -function Sc(a,b){var c=z(a);if(void 0===c.firstChild)for(b=b||Qc(a),c.firstChild=b[0]||null,c.lastChild=b[b.length-1]||null,Pc(a),c=0;c<b.length;c++){var d=b[c],e=z(d);e.parentNode=a;e.nextSibling=b[c+1]||null;e.previousSibling=b[c-1]||null;Oc(d)}};var Tc=M.parentNode; -function Uc(a,b,c){if(b===a)throw Error("Failed to execute 'appendChild' on 'Node': The new child element contains the parent.");if(c){var d=A(c);d=d&&d.parentNode;if(void 0!==d&&d!==a||void 0===d&&Tc(c)!==a)throw Error("Failed to execute 'insertBefore' on 'Node': The node before which the new node is to be inserted is not a child of this node.");}if(c===b)return b;b.parentNode&&Vc(b.parentNode,b);var e,f;if(!b.__noInsertionPoint){if(f=e=vb(a)){var g;"slot"===b.localName?g=[b]:b.querySelectorAll&& -(g=b.querySelectorAll("slot"));f=g&&g.length?g:void 0}f&&(g=e,d=f,g.a=g.a||[],g.m=g.m||[],g.w=g.w||{},g.a.push.apply(g.a,[].concat(d instanceof Array?d:ja(ia(d)))))}("slot"===a.localName||f)&&(e=e||vb(a))&&Wc(e);if(ub(a)){e=c;Pc(a);f=z(a);void 0!==f.firstChild&&(f.childNodes=null);if(b.nodeType===Node.DOCUMENT_FRAGMENT_NODE){f=b.childNodes;for(g=0;g<f.length;g++)Rc(f[g],a,e);e=z(b);f=void 0!==e.firstChild?null:void 0;e.firstChild=e.lastChild=f;e.childNodes=f}else Rc(b,a,e);e=A(a);if(Xc(a)){Wc(e.root); -var h=!0}else e.root&&(h=!0)}h||(h=C(a)?a.host:a,c?(c=Yc(c),D.insertBefore.call(h,b,c)):D.appendChild.call(h,b));Zc(a,b);return b} -function Vc(a,b){if(b.parentNode!==a)throw Error("The node to be removed is not a child of this node: "+b);var c=vb(b),d=A(a);if(ub(a)){var e=z(b),f=z(a);b===f.firstChild&&(f.firstChild=e.nextSibling);b===f.lastChild&&(f.lastChild=e.previousSibling);var g=e.previousSibling,h=e.nextSibling;g&&(z(g).nextSibling=h);h&&(z(h).previousSibling=g);e.parentNode=e.previousSibling=e.nextSibling=void 0;void 0!==f.childNodes&&(f.childNodes=null);if(Xc(a)){Wc(d.root);var k=!0}}$c(b);if(c){(e=a&&"slot"===a.localName)&& -(k=!0);if(c.m){ad(c);f=c.w;for(v in f)for(g=f[v],h=0;h<g.length;h++){var m=g[h];if(Gb(b,m)){g.splice(h,1);var n=c.m.indexOf(m);0<=n&&c.m.splice(n,1);h--;n=A(m);if(m=n.L)for(var r=0;r<m.length;r++){var G=m[r],x=bd(G);x&&D.removeChild.call(x,G)}n.L=[];n.assignedNodes=[];n=!0}}var v=n}else v=void 0;(v||e)&&Wc(c)}k||(k=C(a)?a.host:a,(!d.root&&"slot"!==b.localName||k===Tc(b))&&D.removeChild.call(k,b));Zc(a,null,b);return b} -function $c(a){var b=A(a);if(b&&void 0!==b.V){b=a.childNodes;for(var c=0,d=b.length,e;c<d&&(e=b[c]);c++)$c(e)}if(a=A(a))a.V=void 0}function Yc(a){var b=a;a&&"slot"===a.localName&&(b=(b=(b=A(a))&&b.L)&&b.length?b[0]:Yc(a.nextSibling));return b}function Xc(a){return(a=(a=A(a))&&a.root)&&cd(a)} -function dd(a,b){if("slot"===b)a=a.parentNode,Xc(a)&&Wc(A(a).root);else if("slot"===a.localName&&"name"===b&&(b=vb(a))){if(b.m){var c=a.Ja,d=ed(a);if(d!==c){c=b.w[c];var e=c.indexOf(a);0<=e&&c.splice(e,1);c=b.w[d]||(b.w[d]=[]);c.push(a);1<c.length&&(b.w[d]=fd(c))}}Wc(b)}}function Zc(a,b,c){if(a=(a=A(a))&&a.S)b&&a.addedNodes.push(b),c&&a.removedNodes.push(c),Mb(a)} -function gd(a){if(a&&a.nodeType){var b=z(a),c=b.V;void 0===c&&(C(a)?(c=a,b.V=c):(c=(c=a.parentNode)?gd(c):a,D.contains.call(document.documentElement,a)&&(b.V=c)));return c}}function hd(a,b,c){var d=[];id(a.childNodes,b,c,d);return d}function id(a,b,c,d){for(var e=0,f=a.length,g;e<f&&(g=a[e]);e++){var h;if(h=g.nodeType===Node.ELEMENT_NODE){h=g;var k=b,m=c,n=d,r=k(h);r&&n.push(h);m&&m(r)?h=r:(id(h.childNodes,k,m,n),h=void 0)}if(h)break}}var jd=null; -function kd(a,b,c){jd||(jd=window.ShadyCSS&&window.ShadyCSS.ScopingShim);jd&&"class"===b?jd.setElementClass(a,c):(D.setAttribute.call(a,b,c),dd(a,b))}function ld(a,b){if(a.ownerDocument!==document)return D.importNode.call(document,a,b);var c=D.importNode.call(document,a,!1);if(b){a=a.childNodes;b=0;for(var d;b<a.length;b++)d=ld(a[b],!0),c.appendChild(d)}return c};var md="__eventWrappers"+Date.now(),nd={blur:!0,focus:!0,focusin:!0,focusout:!0,click:!0,dblclick:!0,mousedown:!0,mouseenter:!0,mouseleave:!0,mousemove:!0,mouseout:!0,mouseover:!0,mouseup:!0,wheel:!0,beforeinput:!0,input:!0,keydown:!0,keyup:!0,compositionstart:!0,compositionupdate:!0,compositionend:!0,touchstart:!0,touchend:!0,touchmove:!0,touchcancel:!0,pointerover:!0,pointerenter:!0,pointerdown:!0,pointermove:!0,pointerup:!0,pointercancel:!0,pointerout:!0,pointerleave:!0,gotpointercapture:!0,lostpointercapture:!0, -dragstart:!0,drag:!0,dragenter:!0,dragleave:!0,dragover:!0,drop:!0,dragend:!0,DOMActivate:!0,DOMFocusIn:!0,DOMFocusOut:!0,keypress:!0};function od(a,b){var c=[],d=a;for(a=a===window?window:a.getRootNode();d;)c.push(d),d=d.assignedSlot?d.assignedSlot:d.nodeType===Node.DOCUMENT_FRAGMENT_NODE&&d.host&&(b||d!==a)?d.host:d.parentNode;c[c.length-1]===document&&c.push(window);return c} -function pd(a,b){if(!C)return a;a=od(a,!0);for(var c=0,d,e,f,g;c<b.length;c++)if(d=b[c],f=d===window?window:d.getRootNode(),f!==e&&(g=a.indexOf(f),e=f),!C(f)||-1<g)return d} -var qd={get composed(){!1!==this.isTrusted&&void 0===this.ha&&(this.ha=nd[this.type]);return this.ha||!1},composedPath:function(){this.ta||(this.ta=od(this.__target,this.composed));return this.ta},get target(){return pd(this.currentTarget,this.composedPath())},get relatedTarget(){if(!this.ja)return null;this.wa||(this.wa=od(this.ja,!0));return pd(this.currentTarget,this.wa)},stopPropagation:function(){Event.prototype.stopPropagation.call(this);this.ia=!0},stopImmediatePropagation:function(){Event.prototype.stopImmediatePropagation.call(this); -this.ia=this.Ha=!0}};function rd(a){function b(b,d){b=new a(b,d);b.ha=d&&!!d.composed;return b}Ab(b,a);b.prototype=a.prototype;return b}var sd={focus:!0,blur:!0};function td(a){return a.__target!==a.target||a.ja!==a.relatedTarget}function ud(a,b,c){if(c=b.__handlers&&b.__handlers[a.type]&&b.__handlers[a.type][c])for(var d=0,e;(e=c[d])&&(!td(a)||a.target!==a.relatedTarget)&&(e.call(b,a),!a.Ha);d++);} -function vd(a){var b=a.composedPath();Object.defineProperty(a,"currentTarget",{get:function(){return d},configurable:!0});for(var c=b.length-1;0<=c;c--){var d=b[c];ud(a,d,"capture");if(a.ia)return}Object.defineProperty(a,"eventPhase",{get:function(){return Event.AT_TARGET}});var e;for(c=0;c<b.length;c++){d=b[c];var f=A(d);f=f&&f.root;if(0===c||f&&f===e)if(ud(a,d,"bubble"),d!==window&&(e=d.getRootNode()),a.ia)break}} -function wd(a,b,c,d,e,f){for(var g=0;g<a.length;g++){var h=a[g],k=h.type,m=h.capture,n=h.once,r=h.passive;if(b===h.node&&c===k&&d===m&&e===n&&f===r)return g}return-1} -function xd(a,b,c){if(b){var d=typeof b;if("function"===d||"object"===d)if("object"!==d||b.handleEvent&&"function"===typeof b.handleEvent){if(c&&"object"===typeof c){var e=!!c.capture;var f=!!c.once;var g=!!c.passive}else e=!!c,g=f=!1;var h=c&&c.la||this,k=b[md];if(k){if(-1<wd(k,h,a,e,f,g))return}else b[md]=[];k=function(e){f&&this.removeEventListener(a,b,c);e.__target||yd(e);if(h!==this){var g=Object.getOwnPropertyDescriptor(e,"currentTarget");Object.defineProperty(e,"currentTarget",{get:function(){return h}, -configurable:!0})}if(e.composed||-1<e.composedPath().indexOf(h))if(td(e)&&e.target===e.relatedTarget)e.eventPhase===Event.BUBBLING_PHASE&&e.stopImmediatePropagation();else if(e.eventPhase===Event.CAPTURING_PHASE||e.bubbles||e.target===h||h instanceof Window){var k="function"===d?b.call(h,e):b.handleEvent&&b.handleEvent(e);h!==this&&(g?(Object.defineProperty(e,"currentTarget",g),g=null):delete e.currentTarget);return k}};b[md].push({node:h,type:a,capture:e,once:f,passive:g,gb:k});sd[a]?(this.__handlers= -this.__handlers||{},this.__handlers[a]=this.__handlers[a]||{capture:[],bubble:[]},this.__handlers[a][e?"capture":"bubble"].push(k)):(this instanceof Window?D.eb:D.addEventListener).call(this,a,k,c)}}} -function zd(a,b,c){if(b){if(c&&"object"===typeof c){var d=!!c.capture;var e=!!c.once;var f=!!c.passive}else d=!!c,f=e=!1;var g=c&&c.la||this,h=void 0;var k=null;try{k=b[md]}catch(m){}k&&(e=wd(k,g,a,d,e,f),-1<e&&(h=k.splice(e,1)[0].gb,k.length||(b[md]=void 0)));(this instanceof Window?D.fb:D.removeEventListener).call(this,a,h||b,c);h&&sd[a]&&this.__handlers&&this.__handlers[a]&&(a=this.__handlers[a][d?"capture":"bubble"],h=a.indexOf(h),-1<h&&a.splice(h,1))}} -function Ad(){for(var a in sd)window.addEventListener(a,function(a){a.__target||(yd(a),vd(a))},!0)}function yd(a){a.__target=a.target;a.ja=a.relatedTarget;if(B.I){var b=Object.getPrototypeOf(a);if(!b.hasOwnProperty("__patchProto")){var c=Object.create(b);c.ib=b;yb(c,qd);b.__patchProto=c}a.__proto__=b.__patchProto}else yb(a,qd)}var Bd=rd(window.Event),Cd=rd(window.CustomEvent),Dd=rd(window.MouseEvent);function Ed(a,b){return{index:a,W:[],ba:b}} -function Fd(a,b,c,d){var e=0,f=0,g=0,h=0,k=Math.min(b-e,d-f);if(0==e&&0==f)a:{for(g=0;g<k;g++)if(a[g]!==c[g])break a;g=k}if(b==a.length&&d==c.length){h=a.length;for(var m=c.length,n=0;n<k-g&&Gd(a[--h],c[--m]);)n++;h=n}e+=g;f+=g;b-=h;d-=h;if(0==b-e&&0==d-f)return[];if(e==b){for(b=Ed(e,0);f<d;)b.W.push(c[f++]);return[b]}if(f==d)return[Ed(e,b-e)];k=e;g=f;d=d-g+1;h=b-k+1;b=Array(d);for(m=0;m<d;m++)b[m]=Array(h),b[m][0]=m;for(m=0;m<h;m++)b[0][m]=m;for(m=1;m<d;m++)for(n=1;n<h;n++)if(a[k+n-1]===c[g+m-1])b[m][n]= -b[m-1][n-1];else{var r=b[m-1][n]+1,G=b[m][n-1]+1;b[m][n]=r<G?r:G}k=b.length-1;g=b[0].length-1;d=b[k][g];for(a=[];0<k||0<g;)0==k?(a.push(2),g--):0==g?(a.push(3),k--):(h=b[k-1][g-1],m=b[k-1][g],n=b[k][g-1],r=m<n?m<h?m:h:n<h?n:h,r==h?(h==d?a.push(0):(a.push(1),d=h),k--,g--):r==m?(a.push(3),k--,d=m):(a.push(2),g--,d=n));a.reverse();b=void 0;k=[];for(g=0;g<a.length;g++)switch(a[g]){case 0:b&&(k.push(b),b=void 0);e++;f++;break;case 1:b||(b=Ed(e,0));b.ba++;e++;b.W.push(c[f]);f++;break;case 2:b||(b=Ed(e, -0));b.ba++;e++;break;case 3:b||(b=Ed(e,0)),b.W.push(c[f]),f++}b&&k.push(b);return k}function Gd(a,b){return a===b};var bd=M.parentNode,Hd=M.childNodes,Id={};function Jd(a){var b=[];do b.unshift(a);while(a=a.parentNode);return b}function Nc(a,b,c){if(a!==Id)throw new TypeError("Illegal constructor");this.Oa="ShadyRoot";a=Hd(b);this.host=b;this.b=c&&c.mode;Sc(b,a);c=A(b);c.root=this;c.Da="closed"!==this.b?this:null;c=z(this);c.firstChild=c.lastChild=c.parentNode=c.nextSibling=c.previousSibling=null;c.childNodes=[];this.aa=!1;this.a=this.w=this.m=null;c=0;for(var d=a.length;c<d;c++)D.removeChild.call(b,a[c])} -function Wc(a){a.aa||(a.aa=!0,Jb(function(){return Kd(a)}))}function Kd(a){for(var b;a;){a.aa&&(b=a);a:{var c=a;a=c.host.getRootNode();if(C(a))for(var d=c.host.childNodes,e=0;e<d.length;e++)if(c=d[e],"slot"==c.localName)break a;a=void 0}}b&&b._renderRoot()} -Nc.prototype._renderRoot=function(){this.aa=!1;if(this.m){ad(this);for(var a=0,b;a<this.m.length;a++){b=this.m[a];var c=A(b),d=c.assignedNodes;c.assignedNodes=[];c.L=[];if(c.pa=d)for(c=0;c<d.length;c++){var e=A(d[c]);e.Z=e.assignedSlot;e.assignedSlot===b&&(e.assignedSlot=null)}}for(b=this.host.firstChild;b;b=b.nextSibling)Ld(this,b);for(a=0;a<this.m.length;a++){b=this.m[a];d=A(b);if(!d.assignedNodes.length)for(c=b.firstChild;c;c=c.nextSibling)Ld(this,c,b);(c=(c=A(b.parentNode))&&c.root)&&cd(c)&&c._renderRoot(); -Md(this,d.L,d.assignedNodes);if(c=d.pa){for(e=0;e<c.length;e++)A(c[e]).Z=null;d.pa=null;c.length>d.assignedNodes.length&&(d.da=!0)}d.da&&(d.da=!1,Nd(this,b))}a=this.m;b=[];for(d=0;d<a.length;d++)c=a[d].parentNode,(e=A(c))&&e.root||!(0>b.indexOf(c))||b.push(c);for(a=0;a<b.length;a++){d=b[a];c=d===this?this.host:d;e=[];d=d.childNodes;for(var f=0;f<d.length;f++){var g=d[f];if("slot"==g.localName){g=A(g).L;for(var h=0;h<g.length;h++)e.push(g[h])}else e.push(g)}d=void 0;f=Hd(c);g=Fd(e,e.length,f,f.length); -for(var k=h=0;h<g.length&&(d=g[h]);h++){for(var m=0,n;m<d.W.length&&(n=d.W[m]);m++)bd(n)===c&&D.removeChild.call(c,n),f.splice(d.index+k,1);k-=d.ba}for(k=0;k<g.length&&(d=g[k]);k++)for(h=f[d.index],m=d.index;m<d.index+d.ba;m++)n=e[m],D.insertBefore.call(c,n,h),f.splice(m,0,n)}}};function Ld(a,b,c){var d=z(b),e=d.Z;d.Z=null;c||(c=(a=a.w[b.slot||"__catchall"])&&a[0]);c?(z(c).assignedNodes.push(b),d.assignedSlot=c):d.assignedSlot=void 0;e!==d.assignedSlot&&d.assignedSlot&&(z(d.assignedSlot).da=!0)} -function Md(a,b,c){for(var d=0,e;d<c.length&&(e=c[d]);d++)if("slot"==e.localName){var f=A(e).assignedNodes;f&&f.length&&Md(a,b,f)}else b.push(c[d])}function Nd(a,b){D.dispatchEvent.call(b,new Event("slotchange"));b=A(b);b.assignedSlot&&Nd(a,b.assignedSlot)}function ad(a){if(a.a&&a.a.length){for(var b=a.a,c,d=0;d<b.length;d++){var e=b[d];Sc(e);Sc(e.parentNode);var f=ed(e);a.w[f]?(c=c||{},c[f]=!0,a.w[f].push(e)):a.w[f]=[e];a.m.push(e)}if(c)for(var g in c)a.w[g]=fd(a.w[g]);a.a=[]}} -function ed(a){var b=a.name||a.getAttribute("name")||"__catchall";return a.Ja=b}function fd(a){return a.sort(function(a,c){a=Jd(a);for(var b=Jd(c),e=0;e<a.length;e++){c=a[e];var f=b[e];if(c!==f)return a=Array.from(c.parentNode.childNodes),a.indexOf(c)-a.indexOf(f)}})}function cd(a){ad(a);return!(!a.m||!a.m.length)};function Od(a){var b=a.getRootNode();C(b)&&Kd(b);return(a=A(a))&&a.assignedSlot||null} -var Pd={addEventListener:xd.bind(window),removeEventListener:zd.bind(window)},Qd={addEventListener:xd,removeEventListener:zd,appendChild:function(a){return Uc(this,a)},insertBefore:function(a,b){return Uc(this,a,b)},removeChild:function(a){return Vc(this,a)},replaceChild:function(a,b){Uc(this,a,b);Vc(this,b);return a},cloneNode:function(a){if("template"==this.localName)var b=D.cloneNode.call(this,a);else if(b=D.cloneNode.call(this,!1),a){a=this.childNodes;for(var c=0,d;c<a.length;c++)d=a[c].cloneNode(!0), -b.appendChild(d)}return b},getRootNode:function(){return gd(this)},contains:function(a){return Gb(this,a)},dispatchEvent:function(a){Kb();return D.dispatchEvent.call(this,a)}}; -Object.defineProperties(Qd,{isConnected:{get:function(){if(Ac&&Ac.call(this))return!0;if(this.nodeType==Node.DOCUMENT_FRAGMENT_NODE)return!1;var a=this.ownerDocument;if(Fb){if(D.contains.call(a,this))return!0}else if(a.documentElement&&D.contains.call(a.documentElement,this))return!0;for(a=this;a&&!(a instanceof Document);)a=a.parentNode||(C(a)?a.host:void 0);return!!(a&&a instanceof Document)},configurable:!0}}); -var Rd={get assignedSlot(){return Od(this)}},Sd={querySelector:function(a){return hd(this,function(b){return xb.call(b,a)},function(a){return!!a})[0]||null},querySelectorAll:function(a,b){if(b){b=Array.prototype.slice.call(D.querySelectorAll(this,a));var c=this.getRootNode();return b.filter(function(a){return a.getRootNode()==c})}return hd(this,function(b){return xb.call(b,a)})}},Td={assignedNodes:function(a){if("slot"===this.localName){var b=this.getRootNode();C(b)&&Kd(b);return(b=A(this))?(a&&a.flatten? -b.L:b.assignedNodes)||[]:[]}}},Ud=zb({setAttribute:function(a,b){kd(this,a,b)},removeAttribute:function(a){D.removeAttribute.call(this,a);dd(this,a)},attachShadow:function(a){if(!this)throw"Must provide a host.";if(!a)throw"Not enough arguments.";return new Nc(Id,this,a)},get slot(){return this.getAttribute("slot")},set slot(a){kd(this,"slot",a)},get assignedSlot(){return Od(this)}},Sd,Td);Object.defineProperties(Ud,Jc); -var Vd=zb({importNode:function(a,b){return ld(a,b)},getElementById:function(a){return hd(this,function(b){return b.id==a},function(a){return!!a})[0]||null}},Sd);Object.defineProperties(Vd,{_activeElement:Kc.activeElement}); -var Wd=HTMLElement.prototype.blur,Xd=zb({blur:function(){var a=A(this);(a=(a=a&&a.root)&&a.activeElement)?a.blur():Wd.call(this)}}),Yd={addEventListener:function(a,b,c){"object"!==typeof c&&(c={capture:!!c});c.la=this;this.host.addEventListener(a,b,c)},removeEventListener:function(a,b,c){"object"!==typeof c&&(c={capture:!!c});c.la=this;this.host.removeEventListener(a,b,c)},getElementById:function(a){return hd(this,function(b){return b.id==a},function(a){return!!a})[0]||null}}; -function Zd(a,b){for(var c=Object.getOwnPropertyNames(b),d=0;d<c.length;d++){var e=c[d],f=Object.getOwnPropertyDescriptor(b,e);f.value?a[e]=f.value:Object.defineProperty(a,e,f)}};if(B.Ba){var ShadyDOM={inUse:B.Ba,patch:function(a){Pc(a);Oc(a);return a},isShadyRoot:C,enqueue:Jb,flush:Kb,settings:B,filterMutations:Qb,observeChildren:Ob,unobserveChildren:Pb,nativeMethods:D,nativeTree:M};window.ShadyDOM=ShadyDOM;window.Event=Bd;window.CustomEvent=Cd;window.MouseEvent=Dd;Ad();var $d=window.customElements&&window.customElements.nativeHTMLElement||HTMLElement;Zd(Nc.prototype,Yd);Zd(window.Node.prototype,Qd);Zd(window.Window.prototype,Pd);Zd(window.Text.prototype,Rd);Zd(window.DocumentFragment.prototype, -Sd);Zd(window.Element.prototype,Ud);Zd(window.Document.prototype,Vd);window.HTMLSlotElement&&Zd(window.HTMLSlotElement.prototype,Td);Zd($d.prototype,Xd);B.I&&(Lc(window.Node.prototype),Lc(window.Text.prototype),Lc(window.DocumentFragment.prototype),Lc(window.Element.prototype),Lc($d.prototype),Lc(window.Document.prototype),window.HTMLSlotElement&&Lc(window.HTMLSlotElement.prototype));Mc();window.ShadowRoot=Nc};var ae=new Set("annotation-xml color-profile font-face font-face-src font-face-uri font-face-format font-face-name missing-glyph".split(" "));function be(a){var b=ae.has(a);a=/^[a-z][.0-9_a-z]*-[\-.0-9_a-z]*$/.test(a);return!b&&a}function O(a){var b=a.isConnected;if(void 0!==b)return b;for(;a&&!(a.__CE_isImportDocument||a instanceof Document);)a=a.parentNode||(window.ShadowRoot&&a instanceof ShadowRoot?a.host:void 0);return!(!a||!(a.__CE_isImportDocument||a instanceof Document))} -function ce(a,b){for(;b&&b!==a&&!b.nextSibling;)b=b.parentNode;return b&&b!==a?b.nextSibling:null} -function de(a,b,c){c=void 0===c?new Set:c;for(var d=a;d;){if(d.nodeType===Node.ELEMENT_NODE){var e=d;b(e);var f=e.localName;if("link"===f&&"import"===e.getAttribute("rel")){d=e.import;if(d instanceof Node&&!c.has(d))for(c.add(d),d=d.firstChild;d;d=d.nextSibling)de(d,b,c);d=ce(a,e);continue}else if("template"===f){d=ce(a,e);continue}if(e=e.__CE_shadowRoot)for(e=e.firstChild;e;e=e.nextSibling)de(e,b,c)}d=d.firstChild?d.firstChild:ce(a,d)}}function P(a,b,c){a[b]=c};function ee(){this.a=new Map;this.M=new Map;this.F=[];this.c=!1}function fe(a,b,c){a.a.set(b,c);a.M.set(c.constructor,c)}function ge(a,b){a.c=!0;a.F.push(b)}function he(a,b){a.c&&de(b,function(b){return a.b(b)})}ee.prototype.b=function(a){if(this.c&&!a.__CE_patched){a.__CE_patched=!0;for(var b=0;b<this.F.length;b++)this.F[b](a)}};function Q(a,b){var c=[];de(b,function(a){return c.push(a)});for(b=0;b<c.length;b++){var d=c[b];1===d.__CE_state?a.connectedCallback(d):ie(a,d)}} -function R(a,b){var c=[];de(b,function(a){return c.push(a)});for(b=0;b<c.length;b++){var d=c[b];1===d.__CE_state&&a.disconnectedCallback(d)}} -function je(a,b,c){c=void 0===c?{}:c;var d=c.bb||new Set,e=c.ga||function(b){return ie(a,b)},f=[];de(b,function(b){if("link"===b.localName&&"import"===b.getAttribute("rel")){var c=b.import;c instanceof Node&&(c.__CE_isImportDocument=!0,c.__CE_hasRegistry=!0);c&&"complete"===c.readyState?c.__CE_documentLoadHandled=!0:b.addEventListener("load",function(){var c=b.import;if(!c.__CE_documentLoadHandled){c.__CE_documentLoadHandled=!0;var f=new Set(d);f.delete(c);je(a,c,{bb:f,ga:e})}})}else f.push(b)},d); -if(a.c)for(b=0;b<f.length;b++)a.b(f[b]);for(b=0;b<f.length;b++)e(f[b])} -function ie(a,b){if(void 0===b.__CE_state){var c=b.ownerDocument;if(c.defaultView||c.__CE_isImportDocument&&c.__CE_hasRegistry)if(c=a.a.get(b.localName)){c.constructionStack.push(b);var d=c.constructor;try{try{if(new d!==b)throw Error("The custom element constructor did not produce the element being upgraded.");}finally{c.constructionStack.pop()}}catch(g){throw b.__CE_state=2,g;}b.__CE_state=1;b.__CE_definition=c;if(c.attributeChangedCallback)for(c=c.observedAttributes,d=0;d<c.length;d++){var e=c[d], -f=b.getAttribute(e);null!==f&&a.attributeChangedCallback(b,e,null,f,null)}O(b)&&a.connectedCallback(b)}}}ee.prototype.connectedCallback=function(a){var b=a.__CE_definition;b.connectedCallback&&b.connectedCallback.call(a)};ee.prototype.disconnectedCallback=function(a){var b=a.__CE_definition;b.disconnectedCallback&&b.disconnectedCallback.call(a)}; -ee.prototype.attributeChangedCallback=function(a,b,c,d,e){var f=a.__CE_definition;f.attributeChangedCallback&&-1<f.observedAttributes.indexOf(b)&&f.attributeChangedCallback.call(a,b,c,d,e)};function ke(a){var b=document;this.A=a;this.a=b;this.P=void 0;je(this.A,this.a);"loading"===this.a.readyState&&(this.P=new MutationObserver(this.b.bind(this)),this.P.observe(this.a,{childList:!0,subtree:!0}))}function le(a){a.P&&a.P.disconnect()}ke.prototype.b=function(a){var b=this.a.readyState;"interactive"!==b&&"complete"!==b||le(this);for(b=0;b<a.length;b++)for(var c=a[b].addedNodes,d=0;d<c.length;d++)je(this.A,c[d])};function me(){var a=this;this.b=this.a=void 0;this.c=new Promise(function(b){a.b=b;a.a&&b(a.a)})}me.prototype.resolve=function(a){if(this.a)throw Error("Already resolved.");this.a=a;this.b&&this.b(a)};function S(a){this.ma=!1;this.A=a;this.ra=new Map;this.na=function(a){return a()};this.Y=!1;this.oa=[];this.Ma=new ke(a)}q=S.prototype; -q.define=function(a,b){var c=this;if(!(b instanceof Function))throw new TypeError("Custom element constructors must be functions.");if(!be(a))throw new SyntaxError("The element name '"+a+"' is not valid.");if(this.A.a.get(a))throw Error("A custom element with name '"+a+"' has already been defined.");if(this.ma)throw Error("A custom element is already being defined.");this.ma=!0;try{var d=function(a){var b=e[a];if(void 0!==b&&!(b instanceof Function))throw Error("The '"+a+"' callback must be a function."); -return b},e=b.prototype;if(!(e instanceof Object))throw new TypeError("The custom element constructor's prototype is not an object.");var f=d("connectedCallback");var g=d("disconnectedCallback");var h=d("adoptedCallback");var k=d("attributeChangedCallback");var m=b.observedAttributes||[]}catch(n){return}finally{this.ma=!1}b={localName:a,constructor:b,connectedCallback:f,disconnectedCallback:g,adoptedCallback:h,attributeChangedCallback:k,observedAttributes:m,constructionStack:[]};fe(this.A,a,b);this.oa.push(b); -this.Y||(this.Y=!0,this.na(function(){return ne(c)}))};q.ga=function(a){je(this.A,a)}; -function ne(a){if(!1!==a.Y){a.Y=!1;for(var b=a.oa,c=[],d=new Map,e=0;e<b.length;e++)d.set(b[e].localName,[]);je(a.A,document,{ga:function(b){if(void 0===b.__CE_state){var e=b.localName,f=d.get(e);f?f.push(b):a.A.a.get(e)&&c.push(b)}}});for(e=0;e<c.length;e++)ie(a.A,c[e]);for(;0<b.length;){var f=b.shift();e=f.localName;f=d.get(f.localName);for(var g=0;g<f.length;g++)ie(a.A,f[g]);(e=a.ra.get(e))&&e.resolve(void 0)}}}q.get=function(a){if(a=this.A.a.get(a))return a.constructor}; -q.whenDefined=function(a){if(!be(a))return Promise.reject(new SyntaxError("'"+a+"' is not a valid custom element name."));var b=this.ra.get(a);if(b)return b.c;b=new me;this.ra.set(a,b);this.A.a.get(a)&&!this.oa.some(function(b){return b.localName===a})&&b.resolve(void 0);return b.c};q.Xa=function(a){le(this.Ma);var b=this.na;this.na=function(c){return a(function(){return b(c)})}};window.CustomElementRegistry=S;S.prototype.define=S.prototype.define;S.prototype.upgrade=S.prototype.ga; -S.prototype.get=S.prototype.get;S.prototype.whenDefined=S.prototype.whenDefined;S.prototype.polyfillWrapFlushCallback=S.prototype.Xa;var oe=window.Document.prototype.createElement,pe=window.Document.prototype.createElementNS,qe=window.Document.prototype.importNode,re=window.Document.prototype.prepend,se=window.Document.prototype.append,te=window.DocumentFragment.prototype.prepend,ue=window.DocumentFragment.prototype.append,ve=window.Node.prototype.cloneNode,we=window.Node.prototype.appendChild,xe=window.Node.prototype.insertBefore,ye=window.Node.prototype.removeChild,ze=window.Node.prototype.replaceChild,Ae=Object.getOwnPropertyDescriptor(window.Node.prototype, -"textContent"),Be=window.Element.prototype.attachShadow,Ce=Object.getOwnPropertyDescriptor(window.Element.prototype,"innerHTML"),De=window.Element.prototype.getAttribute,Ee=window.Element.prototype.setAttribute,Fe=window.Element.prototype.removeAttribute,Ge=window.Element.prototype.getAttributeNS,He=window.Element.prototype.setAttributeNS,Ie=window.Element.prototype.removeAttributeNS,Je=window.Element.prototype.insertAdjacentElement,Ke=window.Element.prototype.insertAdjacentHTML,Le=window.Element.prototype.prepend, -Me=window.Element.prototype.append,Ne=window.Element.prototype.before,Oe=window.Element.prototype.after,Pe=window.Element.prototype.replaceWith,Qe=window.Element.prototype.remove,Re=window.HTMLElement,Se=Object.getOwnPropertyDescriptor(window.HTMLElement.prototype,"innerHTML"),Te=window.HTMLElement.prototype.insertAdjacentElement,Ue=window.HTMLElement.prototype.insertAdjacentHTML;var Ve=new function(){};function We(){var a=Xe;window.HTMLElement=function(){function b(){var b=this.constructor,d=a.M.get(b);if(!d)throw Error("The custom element being constructed was not registered with `customElements`.");var e=d.constructionStack;if(0===e.length)return e=oe.call(document,d.localName),Object.setPrototypeOf(e,b.prototype),e.__CE_state=1,e.__CE_definition=d,a.b(e),e;d=e.length-1;var f=e[d];if(f===Ve)throw Error("The HTMLElement constructor was either called reentrantly for this constructor or called multiple times."); -e[d]=Ve;Object.setPrototypeOf(f,b.prototype);a.b(f);return f}b.prototype=Re.prototype;return b}()};function Ye(a,b,c){function d(b){return function(c){for(var d=[],e=0;e<arguments.length;++e)d[e-0]=arguments[e];e=[];for(var f=[],m=0;m<d.length;m++){var n=d[m];n instanceof Element&&O(n)&&f.push(n);if(n instanceof DocumentFragment)for(n=n.firstChild;n;n=n.nextSibling)e.push(n);else e.push(n)}b.apply(this,d);for(d=0;d<f.length;d++)R(a,f[d]);if(O(this))for(d=0;d<e.length;d++)f=e[d],f instanceof Element&&Q(a,f)}}void 0!==c.fa&&(b.prepend=d(c.fa));void 0!==c.append&&(b.append=d(c.append))};function Ze(){var a=Xe;P(Document.prototype,"createElement",function(b){if(this.__CE_hasRegistry){var c=a.a.get(b);if(c)return new c.constructor}b=oe.call(this,b);a.b(b);return b});P(Document.prototype,"importNode",function(b,c){b=qe.call(this,b,c);this.__CE_hasRegistry?je(a,b):he(a,b);return b});P(Document.prototype,"createElementNS",function(b,c){if(this.__CE_hasRegistry&&(null===b||"http://www.w3.org/1999/xhtml"===b)){var d=a.a.get(c);if(d)return new d.constructor}b=pe.call(this,b,c);a.b(b);return b}); -Ye(a,Document.prototype,{fa:re,append:se})};function $e(){var a=Xe;function b(b,d){Object.defineProperty(b,"textContent",{enumerable:d.enumerable,configurable:!0,get:d.get,set:function(b){if(this.nodeType===Node.TEXT_NODE)d.set.call(this,b);else{var c=void 0;if(this.firstChild){var e=this.childNodes,h=e.length;if(0<h&&O(this)){c=Array(h);for(var k=0;k<h;k++)c[k]=e[k]}}d.set.call(this,b);if(c)for(b=0;b<c.length;b++)R(a,c[b])}}})}P(Node.prototype,"insertBefore",function(b,d){if(b instanceof DocumentFragment){var c=Array.prototype.slice.apply(b.childNodes); -b=xe.call(this,b,d);if(O(this))for(d=0;d<c.length;d++)Q(a,c[d]);return b}c=O(b);d=xe.call(this,b,d);c&&R(a,b);O(this)&&Q(a,b);return d});P(Node.prototype,"appendChild",function(b){if(b instanceof DocumentFragment){var c=Array.prototype.slice.apply(b.childNodes);b=we.call(this,b);if(O(this))for(var e=0;e<c.length;e++)Q(a,c[e]);return b}c=O(b);e=we.call(this,b);c&&R(a,b);O(this)&&Q(a,b);return e});P(Node.prototype,"cloneNode",function(b){b=ve.call(this,b);this.ownerDocument.__CE_hasRegistry?je(a,b): -he(a,b);return b});P(Node.prototype,"removeChild",function(b){var c=O(b),e=ye.call(this,b);c&&R(a,b);return e});P(Node.prototype,"replaceChild",function(b,d){if(b instanceof DocumentFragment){var c=Array.prototype.slice.apply(b.childNodes);b=ze.call(this,b,d);if(O(this))for(R(a,d),d=0;d<c.length;d++)Q(a,c[d]);return b}c=O(b);var f=ze.call(this,b,d),g=O(this);g&&R(a,d);c&&R(a,b);g&&Q(a,b);return f});Ae&&Ae.get?b(Node.prototype,Ae):ge(a,function(a){b(a,{enumerable:!0,configurable:!0,get:function(){for(var a= -[],b=0;b<this.childNodes.length;b++)a.push(this.childNodes[b].textContent);return a.join("")},set:function(a){for(;this.firstChild;)ye.call(this,this.firstChild);we.call(this,document.createTextNode(a))}})})};function af(a){var b=Element.prototype;function c(b){return function(c){for(var d=[],e=0;e<arguments.length;++e)d[e-0]=arguments[e];e=[];for(var h=[],k=0;k<d.length;k++){var m=d[k];m instanceof Element&&O(m)&&h.push(m);if(m instanceof DocumentFragment)for(m=m.firstChild;m;m=m.nextSibling)e.push(m);else e.push(m)}b.apply(this,d);for(d=0;d<h.length;d++)R(a,h[d]);if(O(this))for(d=0;d<e.length;d++)h=e[d],h instanceof Element&&Q(a,h)}}void 0!==Ne&&(b.before=c(Ne));void 0!==Ne&&(b.after=c(Oe));void 0!== -Pe&&P(b,"replaceWith",function(b){for(var c=[],d=0;d<arguments.length;++d)c[d-0]=arguments[d];d=[];for(var g=[],h=0;h<c.length;h++){var k=c[h];k instanceof Element&&O(k)&&g.push(k);if(k instanceof DocumentFragment)for(k=k.firstChild;k;k=k.nextSibling)d.push(k);else d.push(k)}h=O(this);Pe.apply(this,c);for(c=0;c<g.length;c++)R(a,g[c]);if(h)for(R(a,this),c=0;c<d.length;c++)g=d[c],g instanceof Element&&Q(a,g)});void 0!==Qe&&P(b,"remove",function(){var b=O(this);Qe.call(this);b&&R(a,this)})};function bf(){var a=Xe;function b(b,c){Object.defineProperty(b,"innerHTML",{enumerable:c.enumerable,configurable:!0,get:c.get,set:function(b){var d=this,e=void 0;O(this)&&(e=[],de(this,function(a){a!==d&&e.push(a)}));c.set.call(this,b);if(e)for(var f=0;f<e.length;f++){var g=e[f];1===g.__CE_state&&a.disconnectedCallback(g)}this.ownerDocument.__CE_hasRegistry?je(a,this):he(a,this);return b}})}function c(b,c){P(b,"insertAdjacentElement",function(b,d){var e=O(d);b=c.call(this,b,d);e&&R(a,d);O(b)&&Q(a, -d);return b})}function d(b,c){function d(b,c){for(var d=[];b!==c;b=b.nextSibling)d.push(b);for(c=0;c<d.length;c++)je(a,d[c])}P(b,"insertAdjacentHTML",function(a,b){a=a.toLowerCase();if("beforebegin"===a){var e=this.previousSibling;c.call(this,a,b);d(e||this.parentNode.firstChild,this)}else if("afterbegin"===a)e=this.firstChild,c.call(this,a,b),d(this.firstChild,e);else if("beforeend"===a)e=this.lastChild,c.call(this,a,b),d(e||this.firstChild,null);else if("afterend"===a)e=this.nextSibling,c.call(this, -a,b),d(this.nextSibling,e);else throw new SyntaxError("The value provided ("+String(a)+") is not one of 'beforebegin', 'afterbegin', 'beforeend', or 'afterend'.");})}Be&&P(Element.prototype,"attachShadow",function(a){return this.__CE_shadowRoot=a=Be.call(this,a)});Ce&&Ce.get?b(Element.prototype,Ce):Se&&Se.get?b(HTMLElement.prototype,Se):ge(a,function(a){b(a,{enumerable:!0,configurable:!0,get:function(){return ve.call(this,!0).innerHTML},set:function(a){var b="template"===this.localName,c=b?this.content: -this,d=oe.call(document,this.localName);for(d.innerHTML=a;0<c.childNodes.length;)ye.call(c,c.childNodes[0]);for(a=b?d.content:d;0<a.childNodes.length;)we.call(c,a.childNodes[0])}})});P(Element.prototype,"setAttribute",function(b,c){if(1!==this.__CE_state)return Ee.call(this,b,c);var d=De.call(this,b);Ee.call(this,b,c);c=De.call(this,b);a.attributeChangedCallback(this,b,d,c,null)});P(Element.prototype,"setAttributeNS",function(b,c,d){if(1!==this.__CE_state)return He.call(this,b,c,d);var e=Ge.call(this, -b,c);He.call(this,b,c,d);d=Ge.call(this,b,c);a.attributeChangedCallback(this,c,e,d,b)});P(Element.prototype,"removeAttribute",function(b){if(1!==this.__CE_state)return Fe.call(this,b);var c=De.call(this,b);Fe.call(this,b);null!==c&&a.attributeChangedCallback(this,b,c,null,null)});P(Element.prototype,"removeAttributeNS",function(b,c){if(1!==this.__CE_state)return Ie.call(this,b,c);var d=Ge.call(this,b,c);Ie.call(this,b,c);var e=Ge.call(this,b,c);d!==e&&a.attributeChangedCallback(this,c,d,e,b)});Te? -c(HTMLElement.prototype,Te):Je?c(Element.prototype,Je):console.warn("Custom Elements: `Element#insertAdjacentElement` was not patched.");Ue?d(HTMLElement.prototype,Ue):Ke?d(Element.prototype,Ke):console.warn("Custom Elements: `Element#insertAdjacentHTML` was not patched.");Ye(a,Element.prototype,{fa:Le,append:Me});af(a)};var cf=window.customElements;if(!cf||cf.forcePolyfill||"function"!=typeof cf.define||"function"!=typeof cf.get){var Xe=new ee;We();Ze();Ye(Xe,DocumentFragment.prototype,{fa:te,append:ue});$e();bf();document.__CE_hasRegistry=!0;var customElements=new S(Xe);Object.defineProperty(window,"customElements",{configurable:!0,enumerable:!0,value:customElements})};function df(){this.end=this.start=0;this.rules=this.parent=this.previous=null;this.cssText=this.parsedCssText="";this.atRule=!1;this.type=0;this.parsedSelector=this.selector=this.keyframesName=""} -function ef(a){a=a.replace(ff,"").replace(gf,"");var b=hf,c=a,d=new df;d.start=0;d.end=c.length;for(var e=d,f=0,g=c.length;f<g;f++)if("{"===c[f]){e.rules||(e.rules=[]);var h=e,k=h.rules[h.rules.length-1]||null;e=new df;e.start=f+1;e.parent=h;e.previous=k;h.rules.push(e)}else"}"===c[f]&&(e.end=f+1,e=e.parent||d);return b(d,a)} -function hf(a,b){var c=b.substring(a.start,a.end-1);a.parsedCssText=a.cssText=c.trim();a.parent&&(c=b.substring(a.previous?a.previous.end:a.parent.start,a.start-1),c=jf(c),c=c.replace(kf," "),c=c.substring(c.lastIndexOf(";")+1),c=a.parsedSelector=a.selector=c.trim(),a.atRule=0===c.indexOf("@"),a.atRule?0===c.indexOf("@media")?a.type=lf:c.match(rf)&&(a.type=sf,a.keyframesName=a.selector.split(kf).pop()):a.type=0===c.indexOf("--")?tf:uf);if(c=a.rules)for(var d=0,e=c.length,f;d<e&&(f=c[d]);d++)hf(f, -b);return a}function jf(a){return a.replace(/\\([0-9a-f]{1,6})\s/gi,function(a,c){a=c;for(c=6-a.length;c--;)a="0"+a;return"\\"+a})} -function vf(a,b,c){c=void 0===c?"":c;var d="";if(a.cssText||a.rules){var e=a.rules,f;if(f=e)f=e[0],f=!(f&&f.selector&&0===f.selector.indexOf("--"));if(f){f=0;for(var g=e.length,h;f<g&&(h=e[f]);f++)d=vf(h,b,d)}else b?b=a.cssText:(b=a.cssText,b=b.replace(wf,"").replace(xf,""),b=b.replace(yf,"").replace(zf,"")),(d=b.trim())&&(d=" "+d+"\n")}d&&(a.selector&&(c+=a.selector+" {\n"),c+=d,a.selector&&(c+="}\n\n"));return c} -var uf=1,sf=7,lf=4,tf=1E3,ff=/\/\*[^*]*\*+([^/*][^*]*\*+)*\//gim,gf=/@import[^;]*;/gim,wf=/(?:^[^;\-\s}]+)?--[^;{}]*?:[^{};]*?(?:[;\n]|$)/gim,xf=/(?:^[^;\-\s}]+)?--[^;{}]*?:[^{};]*?{[^}]*?}(?:[;\n]|$)?/gim,yf=/@apply\s*\(?[^);]*\)?\s*(?:[;\n]|$)?/gim,zf=/[^;:]*?:[^;]*?var\([^;]*\)(?:[;\n]|$)?/gim,rf=/^@[^\s]*keyframes/,kf=/\s+/g;var T=!(window.ShadyDOM&&window.ShadyDOM.inUse),Af;function Bf(a){Af=a&&a.shimcssproperties?!1:T||!(navigator.userAgent.match(/AppleWebKit\/601|Edge\/15/)||!window.CSS||!CSS.supports||!CSS.supports("box-shadow","0 0 0 var(--foo)"))}window.ShadyCSS&&void 0!==window.ShadyCSS.nativeCss?Af=window.ShadyCSS.nativeCss:window.ShadyCSS?(Bf(window.ShadyCSS),window.ShadyCSS=void 0):Bf(window.WebComponents&&window.WebComponents.flags);var V=Af;var Cf=/(?:^|[;\s{]\s*)(--[\w-]*?)\s*:\s*(?:((?:'(?:\\'|.)*?'|"(?:\\"|.)*?"|\([^)]*?\)|[^};{])+)|\{([^}]*)\}(?:(?=[;\s}])|$))/gi,Df=/(?:^|\W+)@apply\s*\(?([^);\n]*)\)?/gi,Ef=/(--[\w-]+)\s*([:,;)]|$)/gi,Ff=/(animation\s*:)|(animation-name\s*:)/,Gf=/@media\s(.*)/,Hf=/\{[^}]*\}/g;var If=new Set;function Jf(a,b){if(!a)return"";"string"===typeof a&&(a=ef(a));b&&Kf(a,b);return vf(a,V)}function Lf(a){!a.__cssRules&&a.textContent&&(a.__cssRules=ef(a.textContent));return a.__cssRules||null}function Mf(a){return!!a.parent&&a.parent.type===sf}function Kf(a,b,c,d){if(a){var e=!1,f=a.type;if(d&&f===lf){var g=a.selector.match(Gf);g&&(window.matchMedia(g[1]).matches||(e=!0))}f===uf?b(a):c&&f===sf?c(a):f===tf&&(e=!0);if((a=a.rules)&&!e){e=0;f=a.length;for(var h;e<f&&(h=a[e]);e++)Kf(h,b,c,d)}}} -function Nf(a,b,c,d){var e=document.createElement("style");b&&e.setAttribute("scope",b);e.textContent=a;Of(e,c,d);return e}var Pf=null;function Of(a,b,c){b=b||document.head;b.insertBefore(a,c&&c.nextSibling||b.firstChild);Pf?a.compareDocumentPosition(Pf)===Node.DOCUMENT_POSITION_PRECEDING&&(Pf=a):Pf=a} -function Qf(a,b){var c=a.indexOf("var(");if(-1===c)return b(a,"","","");a:{var d=0;var e=c+3;for(var f=a.length;e<f;e++)if("("===a[e])d++;else if(")"===a[e]&&0===--d)break a;e=-1}d=a.substring(c+4,e);c=a.substring(0,c);a=Qf(a.substring(e+1),b);e=d.indexOf(",");return-1===e?b(c,d.trim(),"",a):b(c,d.substring(0,e).trim(),d.substring(e+1).trim(),a)}function Rf(a,b){T?a.setAttribute("class",b):window.ShadyDOM.nativeMethods.setAttribute.call(a,"class",b)} -function Sf(a){var b=a.localName,c="";b?-1<b.indexOf("-")||(c=b,b=a.getAttribute&&a.getAttribute("is")||""):(b=a.is,c=a.extends);return{is:b,X:c}};function Tf(){}function Uf(a,b,c){var d=Vf;a.__styleScoped?a.__styleScoped=null:Wf(d,a,b||"",c)}function Wf(a,b,c,d){b.nodeType===Node.ELEMENT_NODE&&Xf(b,c,d);if(b="template"===b.localName?(b.content||b.jb).childNodes:b.children||b.childNodes)for(var e=0;e<b.length;e++)Wf(a,b[e],c,d)} -function Xf(a,b,c){if(b)if(a.classList)c?(a.classList.remove("style-scope"),a.classList.remove(b)):(a.classList.add("style-scope"),a.classList.add(b));else if(a.getAttribute){var d=a.getAttribute(Yf);c?d&&(b=d.replace("style-scope","").replace(b,""),Rf(a,b)):Rf(a,(d?d+" ":"")+"style-scope "+b)}}function Zf(a,b,c){var d=Vf,e=a.__cssBuild;T||"shady"===e?b=Jf(b,c):(a=Sf(a),b=$f(d,b,a.is,a.X,c)+"\n\n");return b.trim()} -function $f(a,b,c,d,e){var f=ag(c,d);c=c?bg+c:"";return Jf(b,function(b){b.c||(b.selector=b.G=cg(a,b,a.b,c,f),b.c=!0);e&&e(b,c,f)})}function ag(a,b){return b?"[is="+a+"]":a}function cg(a,b,c,d,e){var f=b.selector.split(dg);if(!Mf(b)){b=0;for(var g=f.length,h;b<g&&(h=f[b]);b++)f[b]=c.call(a,h,d,e)}return f.join(dg)}function eg(a){return a.replace(fg,function(a,c,d){-1<d.indexOf("+")?d=d.replace(/\+/g,"___"):-1<d.indexOf("___")&&(d=d.replace(/___/g,"+"));return":"+c+"("+d+")"})} -Tf.prototype.b=function(a,b,c){var d=!1;a=a.trim();var e=fg.test(a);e&&(a=a.replace(fg,function(a,b,c){return":"+b+"("+c.replace(/\s/g,"")+")"}),a=eg(a));a=a.replace(gg,hg+" $1");a=a.replace(ig,function(a,e,h){d||(a=jg(h,e,b,c),d=d||a.stop,e=a.Sa,h=a.value);return e+h});e&&(a=eg(a));return a}; -function jg(a,b,c,d){var e=a.indexOf(kg);0<=a.indexOf(hg)?a=lg(a,d):0!==e&&(a=c?mg(a,c):a);c=!1;0<=e&&(b="",c=!0);if(c){var f=!0;c&&(a=a.replace(ng,function(a,b){return" > "+b}))}a=a.replace(og,function(a,b,c){return'[dir="'+c+'"] '+b+", "+b+'[dir="'+c+'"]'});return{value:a,Sa:b,stop:f}}function mg(a,b){a=a.split(pg);a[0]+=b;return a.join(pg)} -function lg(a,b){var c=a.match(qg);return(c=c&&c[2].trim()||"")?c[0].match(rg)?a.replace(qg,function(a,c,f){return b+f}):c.split(rg)[0]===b?c:sg:a.replace(hg,b)}function tg(a){a.selector===ug&&(a.selector="html")}Tf.prototype.c=function(a){return a.match(kg)?this.b(a,vg):mg(a.trim(),vg)};aa.Object.defineProperties(Tf.prototype,{a:{configurable:!0,enumerable:!0,get:function(){return"style-scope"}}}); -var fg=/:(nth[-\w]+)\(([^)]+)\)/,vg=":not(.style-scope)",dg=",",ig=/(^|[\s>+~]+)((?:\[.+?\]|[^\s>+~=[])+)/g,rg=/[[.:#*]/,hg=":host",ug=":root",kg="::slotted",gg=new RegExp("^("+kg+")"),qg=/(:host)(?:\(((?:\([^)(]*\)|[^)(]*)+?)\))/,ng=/(?:::slotted)(?:\(((?:\([^)(]*\)|[^)(]*)+?)\))/,og=/(.*):dir\((?:(ltr|rtl))\)/,bg=".",pg=":",Yf="class",sg="should_not_match",Vf=new Tf;function wg(a,b,c,d){this.K=a||null;this.b=b||null;this.sa=c||[];this.T=null;this.X=d||"";this.a=this.H=this.O=null}function xg(a){return a?a.__styleInfo:null}function yg(a,b){return a.__styleInfo=b}wg.prototype.c=function(){return this.K};wg.prototype._getStyleRules=wg.prototype.c;function zg(a){var b=this.matches||this.matchesSelector||this.mozMatchesSelector||this.msMatchesSelector||this.oMatchesSelector||this.webkitMatchesSelector;return b&&b.call(this,a)}var Ag=navigator.userAgent.match("Trident");function Bg(){}function Cg(a){var b={},c=[],d=0;Kf(a,function(a){Dg(a);a.index=d++;a=a.B.cssText;for(var c;c=Ef.exec(a);){var e=c[1];":"!==c[2]&&(b[e]=!0)}},function(a){c.push(a)});a.b=c;a=[];for(var e in b)a.push(e);return a} -function Dg(a){if(!a.B){var b={},c={};Eg(a,c)&&(b.J=c,a.rules=null);b.cssText=a.parsedCssText.replace(Hf,"").replace(Cf,"");a.B=b}}function Eg(a,b){var c=a.B;if(c){if(c.J)return Object.assign(b,c.J),!0}else{c=a.parsedCssText;for(var d;a=Cf.exec(c);){d=(a[2]||a[3]).trim();if("inherit"!==d||"unset"!==d)b[a[1].trim()]=d;d=!0}return d}} -function Fg(a,b,c){b&&(b=0<=b.indexOf(";")?Gg(a,b,c):Qf(b,function(b,e,f,g){if(!e)return b+g;(e=Fg(a,c[e],c))&&"initial"!==e?"apply-shim-inherit"===e&&(e="inherit"):e=Fg(a,c[f]||f,c)||f;return b+(e||"")+g}));return b&&b.trim()||""} -function Gg(a,b,c){b=b.split(";");for(var d=0,e,f;d<b.length;d++)if(e=b[d]){Df.lastIndex=0;if(f=Df.exec(e))e=Fg(a,c[f[1]],c);else if(f=e.indexOf(":"),-1!==f){var g=e.substring(f);g=g.trim();g=Fg(a,g,c)||g;e=e.substring(0,f)+g}b[d]=e&&e.lastIndexOf(";")===e.length-1?e.slice(0,-1):e||""}return b.join(";")} -function Hg(a,b){var c={},d=[];Kf(a,function(a){a.B||Dg(a);var e=a.G||a.parsedSelector;b&&a.B.J&&e&&zg.call(b,e)&&(Eg(a,c),a=a.index,e=parseInt(a/32,10),d[e]=(d[e]||0)|1<<a%32)},null,!0);return{J:c,key:d}} -function Ig(a,b,c,d){b.B||Dg(b);if(b.B.J){var e=Sf(a);a=e.is;e=e.X;e=a?ag(a,e):"html";var f=b.parsedSelector,g=":host > *"===f||"html"===f,h=0===f.indexOf(":host")&&!g;"shady"===c&&(g=f===e+" > *."+e||-1!==f.indexOf("html"),h=!g&&0===f.indexOf(e));"shadow"===c&&(g=":host > *"===f||"html"===f,h=h&&!g);if(g||h)c=e,h&&(b.G||(b.G=cg(Vf,b,Vf.b,a?bg+a:"",e)),c=b.G||e),d({Za:c,Wa:h,wb:g})}} -function Jg(a,b){var c={},d={},e=b&&b.__cssBuild;Kf(b,function(b){Ig(a,b,e,function(e){zg.call(a.kb||a,e.Za)&&(e.Wa?Eg(b,c):Eg(b,d))})},null,!0);return{Ya:d,Va:c}} -function Kg(a,b,c,d){var e=Sf(b),f=ag(e.is,e.X),g=new RegExp("(?:^|[^.#[:])"+(b.extends?"\\"+f.slice(0,-1)+"\\]":f)+"($|[.:[\\s>+~])");e=xg(b).K;var h=Lg(e,d);return Zf(b,e,function(b){var e="";b.B||Dg(b);b.B.cssText&&(e=Gg(a,b.B.cssText,c));b.cssText=e;if(!T&&!Mf(b)&&b.cssText){var k=e=b.cssText;null==b.za&&(b.za=Ff.test(e));if(b.za)if(null==b.ea){b.ea=[];for(var r in h)k=h[r],k=k(e),e!==k&&(e=k,b.ea.push(r))}else{for(r=0;r<b.ea.length;++r)k=h[b.ea[r]],e=k(e);k=e}b.cssText=k;b.G=b.G||b.selector; -e="."+d;r=b.G.split(",");k=0;for(var G=r.length,x;k<G&&(x=r[k]);k++)r[k]=x.match(g)?x.replace(f,e):e+" "+x;b.selector=r.join(",")}})}function Lg(a,b){a=a.b;var c={};if(!T&&a)for(var d=0,e=a[d];d<a.length;e=a[++d]){var f=e,g=b;f.F=new RegExp("\\b"+f.keyframesName+"(?!\\B|-)","g");f.a=f.keyframesName+"-"+g;f.G=f.G||f.selector;f.selector=f.G.replace(f.keyframesName,f.a);c[e.keyframesName]=Mg(e)}return c}function Mg(a){return function(b){return b.replace(a.F,a.a)}} -function Ng(a,b){var c=Og,d=Lf(a);a.textContent=Jf(d,function(a){var d=a.cssText=a.parsedCssText;a.B&&a.B.cssText&&(d=d.replace(wf,"").replace(xf,""),a.cssText=Gg(c,d,b))})}aa.Object.defineProperties(Bg.prototype,{a:{configurable:!0,enumerable:!0,get:function(){return"x-scope"}}});var Og=new Bg;var Pg={},Qg=window.customElements;if(Qg&&!T){var Rg=Qg.define;Qg.define=function(a,b,c){var d=document.createComment(" Shady DOM styles for "+a+" "),e=document.head;e.insertBefore(d,(Pf?Pf.nextSibling:null)||e.firstChild);Pf=d;Pg[a]=d;Rg.call(Qg,a,b,c)}};function Sg(){this.cache={}}Sg.prototype.store=function(a,b,c,d){var e=this.cache[a]||[];e.push({J:b,styleElement:c,H:d});100<e.length&&e.shift();this.cache[a]=e};Sg.prototype.fetch=function(a,b,c){if(a=this.cache[a])for(var d=a.length-1;0<=d;d--){var e=a[d],f;a:{for(f=0;f<c.length;f++){var g=c[f];if(e.J[g]!==b[g]){f=!1;break a}}f=!0}if(f)return e}};function Tg(){} -function Ug(a){for(var b=0;b<a.length;b++){var c=a[b];if(c.target!==document.documentElement&&c.target!==document.head)for(var d=0;d<c.addedNodes.length;d++){var e=c.addedNodes[d];if(e.nodeType===Node.ELEMENT_NODE){var f=e.getRootNode();var g=e;var h=[];g.classList?h=Array.from(g.classList):g instanceof window.SVGElement&&g.hasAttribute("class")&&(h=g.getAttribute("class").split(/\s+/));g=h;h=g.indexOf(Vf.a);if((g=-1<h?g[h+1]:"")&&f===e.ownerDocument)Uf(e,g,!0);else if(f.nodeType===Node.DOCUMENT_FRAGMENT_NODE&& -(f=f.host))if(f=Sf(f).is,g===f)for(e=window.ShadyDOM.nativeMethods.querySelectorAll.call(e,":not(."+Vf.a+")"),f=0;f<e.length;f++)Xf(e[f],g);else g&&Uf(e,g,!0),Uf(e,f)}}}} -if(!T){var Vg=new MutationObserver(Ug),Wg=function(a){Vg.observe(a,{childList:!0,subtree:!0})};if(window.customElements&&!window.customElements.polyfillWrapFlushCallback)Wg(document);else{var Xg=function(){Wg(document.body)};window.HTMLImports?window.HTMLImports.whenReady(Xg):requestAnimationFrame(function(){if("loading"===document.readyState){var a=function(){Xg();document.removeEventListener("readystatechange",a)};document.addEventListener("readystatechange",a)}else Xg()})}Tg=function(){Ug(Vg.takeRecords())}} -var Yg=Tg;var Zg={};var $g=Promise.resolve();function ah(a){if(a=Zg[a])a._applyShimCurrentVersion=a._applyShimCurrentVersion||0,a._applyShimValidatingVersion=a._applyShimValidatingVersion||0,a._applyShimNextVersion=(a._applyShimNextVersion||0)+1}function bh(a){return a._applyShimCurrentVersion===a._applyShimNextVersion}function ch(a){a._applyShimValidatingVersion=a._applyShimNextVersion;a.b||(a.b=!0,$g.then(function(){a._applyShimCurrentVersion=a._applyShimNextVersion;a.b=!1}))};var dh=new Sg;function W(){this.Aa={};this.c=document.documentElement;var a=new df;a.rules=[];this.F=yg(this.c,new wg(a));this.M=!1;this.b=this.a=null}q=W.prototype;q.Ga=function(){Yg()};q.Ta=function(a){return Lf(a)};q.ab=function(a){return Jf(a)}; -q.prepareTemplate=function(a,b,c){if(!a.F){a.F=!0;a.name=b;a.extends=c;Zg[b]=a;var d=(d=a.content.querySelector("style"))?d.getAttribute("css-build")||"":"";var e=[];for(var f=a.content.querySelectorAll("style"),g=0;g<f.length;g++){var h=f[g];if(h.hasAttribute("shady-unscoped")){if(!T){var k=h.textContent;If.has(k)||(If.add(k),k=h.cloneNode(!0),document.head.appendChild(k));h.parentNode.removeChild(h)}}else e.push(h.textContent),h.parentNode.removeChild(h)}e=e.join("").trim();c={is:b,extends:c,hb:d}; -T||Uf(a.content,b);eh(this);f=Df.test(e)||Cf.test(e);Df.lastIndex=0;Cf.lastIndex=0;e=ef(e);f&&V&&this.a&&this.a.transformRules(e,b);a._styleAst=e;a.M=d;d=[];V||(d=Cg(a._styleAst));if(!d.length||V)e=T?a.content:null,b=Pg[b],f=Zf(c,a._styleAst),b=f.length?Nf(f,c.is,e,b):void 0,a.a=b;a.c=d}}; -function fh(a){!a.b&&window.ShadyCSS&&window.ShadyCSS.CustomStyleInterface&&(a.b=window.ShadyCSS.CustomStyleInterface,a.b.transformCallback=function(b){a.Ea(b)},a.b.validateCallback=function(){requestAnimationFrame(function(){(a.b.enqueued||a.M)&&a.flushCustomStyles()})})}function eh(a){!a.a&&window.ShadyCSS&&window.ShadyCSS.ApplyShim&&(a.a=window.ShadyCSS.ApplyShim,a.a.invalidCallback=ah);fh(a)} -q.flushCustomStyles=function(){eh(this);if(this.b){var a=this.b.processStyles();if(this.b.enqueued){if(V)for(var b=0;b<a.length;b++){var c=this.b.getStyleForCustomStyle(a[b]);if(c&&V&&this.a){var d=Lf(c);eh(this);this.a.transformRules(d);c.textContent=Jf(d)}}else for(gh(this,this.c,this.F),b=0;b<a.length;b++)(c=this.b.getStyleForCustomStyle(a[b]))&&Ng(c,this.F.O);this.b.enqueued=!1;this.M&&!V&&this.styleDocument()}}}; -q.styleElement=function(a,b){var c=Sf(a).is,d=xg(a);if(!d){var e=Sf(a);d=e.is;e=e.X;var f=Pg[d];d=Zg[d];if(d){var g=d._styleAst;var h=d.c}d=yg(a,new wg(g,f,h,e))}a!==this.c&&(this.M=!0);b&&(d.T=d.T||{},Object.assign(d.T,b));if(V){if(d.T){b=d.T;for(var k in b)null===k?a.style.removeProperty(k):a.style.setProperty(k,b[k])}if(((k=Zg[c])||a===this.c)&&k&&k.a&&!bh(k)){if(bh(k)||k._applyShimValidatingVersion!==k._applyShimNextVersion)eh(this),this.a&&this.a.transformRules(k._styleAst,c),k.a.textContent= -Zf(a,d.K),ch(k);T&&(c=a.shadowRoot)&&(c.querySelector("style").textContent=Zf(a,d.K));d.K=k._styleAst}}else if(gh(this,a,d),d.sa&&d.sa.length){c=d;k=Sf(a).is;d=(b=dh.fetch(k,c.O,c.sa))?b.styleElement:null;g=c.H;(h=b&&b.H)||(h=this.Aa[k]=(this.Aa[k]||0)+1,h=k+"-"+h);c.H=h;h=c.H;e=Og;e=d?d.textContent||"":Kg(e,a,c.O,h);f=xg(a);var m=f.a;m&&!T&&m!==d&&(m._useCount--,0>=m._useCount&&m.parentNode&&m.parentNode.removeChild(m));T?f.a?(f.a.textContent=e,d=f.a):e&&(d=Nf(e,h,a.shadowRoot,f.b)):d?d.parentNode|| -(Ag&&-1<e.indexOf("@media")&&(d.textContent=e),Of(d,null,f.b)):e&&(d=Nf(e,h,null,f.b));d&&(d._useCount=d._useCount||0,f.a!=d&&d._useCount++,f.a=d);h=d;T||(d=c.H,f=e=a.getAttribute("class")||"",g&&(f=e.replace(new RegExp("\\s*x-scope\\s*"+g+"\\s*","g")," ")),f+=(f?" ":"")+"x-scope "+d,e!==f&&Rf(a,f));b||dh.store(k,c.O,h,c.H)}};function hh(a,b){return(b=b.getRootNode().host)?xg(b)?b:hh(a,b):a.c} -function gh(a,b,c){a=hh(a,b);var d=xg(a);a=Object.create(d.O||null);var e=Jg(b,c.K);b=Hg(d.K,b).J;Object.assign(a,e.Va,b,e.Ya);b=c.T;for(var f in b)if((e=b[f])||0===e)a[f]=e;f=Og;b=Object.getOwnPropertyNames(a);for(e=0;e<b.length;e++)d=b[e],a[d]=Fg(f,a[d],a);c.O=a}q.styleDocument=function(a){this.styleSubtree(this.c,a)}; -q.styleSubtree=function(a,b){var c=a.shadowRoot;(c||a===this.c)&&this.styleElement(a,b);if(b=c&&(c.children||c.childNodes))for(a=0;a<b.length;a++)this.styleSubtree(b[a]);else if(a=a.children||a.childNodes)for(b=0;b<a.length;b++)this.styleSubtree(a[b])};q.Ea=function(a){var b=this,c=Lf(a);Kf(c,function(a){if(T)tg(a);else{var c=Vf;a.selector=a.parsedSelector;tg(a);a.selector=a.G=cg(c,a,c.c,void 0,void 0)}V&&(eh(b),b.a&&b.a.transformRule(a))});V?a.textContent=Jf(c):this.F.K.rules.push(c)}; -q.getComputedStyleValue=function(a,b){var c;V||(c=(xg(a)||xg(hh(this,a))).O[b]);return(c=c||window.getComputedStyle(a).getPropertyValue(b))?c.trim():""};q.$a=function(a,b){var c=a.getRootNode();b=b?b.split(/\s/):[];c=c.host&&c.host.localName;if(!c){var d=a.getAttribute("class");if(d){d=d.split(/\s/);for(var e=0;e<d.length;e++)if(d[e]===Vf.a){c=d[e+1];break}}}c&&b.push(Vf.a,c);V||(c=xg(a))&&c.H&&b.push(Og.a,c.H);Rf(a,b.join(" "))};q.Qa=function(a){return xg(a)};W.prototype.flush=W.prototype.Ga; -W.prototype.prepareTemplate=W.prototype.prepareTemplate;W.prototype.styleElement=W.prototype.styleElement;W.prototype.styleDocument=W.prototype.styleDocument;W.prototype.styleSubtree=W.prototype.styleSubtree;W.prototype.getComputedStyleValue=W.prototype.getComputedStyleValue;W.prototype.setElementClass=W.prototype.$a;W.prototype._styleInfoForNode=W.prototype.Qa;W.prototype.transformCustomStyleForDocument=W.prototype.Ea;W.prototype.getStyleAst=W.prototype.Ta;W.prototype.styleAstToString=W.prototype.ab; -W.prototype.flushCustomStyles=W.prototype.flushCustomStyles;Object.defineProperties(W.prototype,{nativeShadow:{get:function(){return T}},nativeCss:{get:function(){return V}}});var X=new W,ih,jh;window.ShadyCSS&&(ih=window.ShadyCSS.ApplyShim,jh=window.ShadyCSS.CustomStyleInterface); -window.ShadyCSS={ScopingShim:X,prepareTemplate:function(a,b,c){X.flushCustomStyles();X.prepareTemplate(a,b,c)},styleSubtree:function(a,b){X.flushCustomStyles();X.styleSubtree(a,b)},styleElement:function(a){X.flushCustomStyles();X.styleElement(a)},styleDocument:function(a){X.flushCustomStyles();X.styleDocument(a)},flushCustomStyles:function(){X.flushCustomStyles()},getComputedStyleValue:function(a,b){return X.getComputedStyleValue(a,b)},nativeCss:V,nativeShadow:T};ih&&(window.ShadyCSS.ApplyShim=ih); -jh&&(window.ShadyCSS.CustomStyleInterface=jh);(function(a){function b(a){""==a&&(f.call(this),this.h=!0);return a.toLowerCase()}function c(a){var b=a.charCodeAt(0);return 32<b&&127>b&&-1==[34,35,60,62,63,96].indexOf(b)?a:encodeURIComponent(a)}function d(a){var b=a.charCodeAt(0);return 32<b&&127>b&&-1==[34,35,60,62,96].indexOf(b)?a:encodeURIComponent(a)}function e(a,e,g){function h(a){kb.push(a)}var k=e||"scheme start",v=0,p="",x=!1,U=!1,kb=[];a:for(;(void 0!=a[v-1]||0==v)&&!this.h;){var l=a[v];switch(k){case "scheme start":if(l&&r.test(l))p+= -l.toLowerCase(),k="scheme";else if(e){h("Invalid scheme.");break a}else{p="";k="no scheme";continue}break;case "scheme":if(l&&G.test(l))p+=l.toLowerCase();else if(":"==l){this.g=p;p="";if(e)break a;void 0!==m[this.g]&&(this.D=!0);k="file"==this.g?"relative":this.D&&g&&g.g==this.g?"relative or authority":this.D?"authority first slash":"scheme data"}else if(e){void 0!=l&&h("Code point not allowed in scheme: "+l);break a}else{p="";v=0;k="no scheme";continue}break;case "scheme data":"?"==l?(this.u="?", -k="query"):"#"==l?(this.C="#",k="fragment"):void 0!=l&&"\t"!=l&&"\n"!=l&&"\r"!=l&&(this.qa+=c(l));break;case "no scheme":if(g&&void 0!==m[g.g]){k="relative";continue}else h("Missing scheme."),f.call(this),this.h=!0;break;case "relative or authority":if("/"==l&&"/"==a[v+1])k="authority ignore slashes";else{h("Expected /, got: "+l);k="relative";continue}break;case "relative":this.D=!0;"file"!=this.g&&(this.g=g.g);if(void 0==l){this.i=g.i;this.s=g.s;this.j=g.j.slice();this.u=g.u;this.v=g.v;this.f=g.f; -break a}else if("/"==l||"\\"==l)"\\"==l&&h("\\ is an invalid code point."),k="relative slash";else if("?"==l)this.i=g.i,this.s=g.s,this.j=g.j.slice(),this.u="?",this.v=g.v,this.f=g.f,k="query";else if("#"==l)this.i=g.i,this.s=g.s,this.j=g.j.slice(),this.u=g.u,this.C="#",this.v=g.v,this.f=g.f,k="fragment";else{k=a[v+1];var F=a[v+2];if("file"!=this.g||!r.test(l)||":"!=k&&"|"!=k||void 0!=F&&"/"!=F&&"\\"!=F&&"?"!=F&&"#"!=F)this.i=g.i,this.s=g.s,this.v=g.v,this.f=g.f,this.j=g.j.slice(),this.j.pop();k= -"relative path";continue}break;case "relative slash":if("/"==l||"\\"==l)"\\"==l&&h("\\ is an invalid code point."),k="file"==this.g?"file host":"authority ignore slashes";else{"file"!=this.g&&(this.i=g.i,this.s=g.s,this.v=g.v,this.f=g.f);k="relative path";continue}break;case "authority first slash":if("/"==l)k="authority second slash";else{h("Expected '/', got: "+l);k="authority ignore slashes";continue}break;case "authority second slash":k="authority ignore slashes";if("/"!=l){h("Expected '/', got: "+ -l);continue}break;case "authority ignore slashes":if("/"!=l&&"\\"!=l){k="authority";continue}else h("Expected authority, got: "+l);break;case "authority":if("@"==l){x&&(h("@ already seen."),p+="%40");x=!0;for(l=0;l<p.length;l++)F=p[l],"\t"==F||"\n"==F||"\r"==F?h("Invalid whitespace in authority."):":"==F&&null===this.f?this.f="":(F=c(F),null!==this.f?this.f+=F:this.v+=F);p=""}else if(void 0==l||"/"==l||"\\"==l||"?"==l||"#"==l){v-=p.length;p="";k="host";continue}else p+=l;break;case "file host":if(void 0== -l||"/"==l||"\\"==l||"?"==l||"#"==l){2!=p.length||!r.test(p[0])||":"!=p[1]&&"|"!=p[1]?(0!=p.length&&(this.i=b.call(this,p),p=""),k="relative path start"):k="relative path";continue}else"\t"==l||"\n"==l||"\r"==l?h("Invalid whitespace in file host."):p+=l;break;case "host":case "hostname":if(":"!=l||U)if(void 0==l||"/"==l||"\\"==l||"?"==l||"#"==l){this.i=b.call(this,p);p="";k="relative path start";if(e)break a;continue}else"\t"!=l&&"\n"!=l&&"\r"!=l?("["==l?U=!0:"]"==l&&(U=!1),p+=l):h("Invalid code point in host/hostname: "+ -l);else if(this.i=b.call(this,p),p="",k="port","hostname"==e)break a;break;case "port":if(/[0-9]/.test(l))p+=l;else if(void 0==l||"/"==l||"\\"==l||"?"==l||"#"==l||e){""!=p&&(p=parseInt(p,10),p!=m[this.g]&&(this.s=p+""),p="");if(e)break a;k="relative path start";continue}else"\t"==l||"\n"==l||"\r"==l?h("Invalid code point in port: "+l):(f.call(this),this.h=!0);break;case "relative path start":"\\"==l&&h("'\\' not allowed in path.");k="relative path";if("/"!=l&&"\\"!=l)continue;break;case "relative path":if(void 0!= -l&&"/"!=l&&"\\"!=l&&(e||"?"!=l&&"#"!=l))"\t"!=l&&"\n"!=l&&"\r"!=l&&(p+=c(l));else{"\\"==l&&h("\\ not allowed in relative path.");if(F=n[p.toLowerCase()])p=F;".."==p?(this.j.pop(),"/"!=l&&"\\"!=l&&this.j.push("")):"."==p&&"/"!=l&&"\\"!=l?this.j.push(""):"."!=p&&("file"==this.g&&0==this.j.length&&2==p.length&&r.test(p[0])&&"|"==p[1]&&(p=p[0]+":"),this.j.push(p));p="";"?"==l?(this.u="?",k="query"):"#"==l&&(this.C="#",k="fragment")}break;case "query":e||"#"!=l?void 0!=l&&"\t"!=l&&"\n"!=l&&"\r"!=l&&(this.u+= -d(l)):(this.C="#",k="fragment");break;case "fragment":void 0!=l&&"\t"!=l&&"\n"!=l&&"\r"!=l&&(this.C+=l)}v++}}function f(){this.v=this.qa=this.g="";this.f=null;this.s=this.i="";this.j=[];this.C=this.u="";this.D=this.h=!1}function g(a,b){void 0===b||b instanceof g||(b=new g(String(b)));this.Ra=a;f.call(this);a=a.replace(/^[ \t\r\n\f]+|[ \t\r\n\f]+$/g,"");e.call(this,a,null,b)}var h=!1;if(!a.qb)try{var k=new URL("b","http://a");k.pathname="c%20d";h="http://a/c%20d"===k.href}catch(v){}if(!h){var m=Object.create(null); -m.ftp=21;m.file=0;m.gopher=70;m.http=80;m.https=443;m.ws=80;m.wss=443;var n=Object.create(null);n["%2e"]=".";n[".%2e"]="..";n["%2e."]="..";n["%2e%2e"]="..";var r=/[a-zA-Z]/,G=/[a-zA-Z0-9\+\-\.]/;g.prototype={toString:function(){return this.href},get href(){if(this.h)return this.Ra;var a="";if(""!=this.v||null!=this.f)a=this.v+(null!=this.f?":"+this.f:"")+"@";return this.protocol+(this.D?"//"+a+this.host:"")+this.pathname+this.u+this.C},set href(a){f.call(this);e.call(this,a)},get protocol(){return this.g+ -":"},set protocol(a){this.h||e.call(this,a+":","scheme start")},get host(){return this.h?"":this.s?this.i+":"+this.s:this.i},set host(a){!this.h&&this.D&&e.call(this,a,"host")},get hostname(){return this.i},set hostname(a){!this.h&&this.D&&e.call(this,a,"hostname")},get port(){return this.s},set port(a){!this.h&&this.D&&e.call(this,a,"port")},get pathname(){return this.h?"":this.D?"/"+this.j.join("/"):this.qa},set pathname(a){!this.h&&this.D&&(this.j=[],e.call(this,a,"relative path start"))},get search(){return this.h|| -!this.u||"?"==this.u?"":this.u},set search(a){!this.h&&this.D&&(this.u="?","?"==a[0]&&(a=a.slice(1)),e.call(this,a,"query"))},get hash(){return this.h||!this.C||"#"==this.C?"":this.C},set hash(a){this.h||(this.C="#","#"==a[0]&&(a=a.slice(1)),e.call(this,a,"fragment"))},get origin(){var a;if(this.h||!this.g)return"";switch(this.g){case "data":case "file":case "javascript":case "mailto":return"null"}return(a=this.host)?this.g+"://"+a:""}};var x=a.URL;x&&(g.createObjectURL=function(a){return x.createObjectURL.apply(x, -arguments)},g.revokeObjectURL=function(a){x.revokeObjectURL(a)});a.URL=g}})(window);var kh={},lh=Object.create,mh=Object.defineProperties,nh=Object.defineProperty;function Y(a,b){b=void 0===b?{}:b;return{value:a,configurable:!!b.ya,writable:!!b.cb,enumerable:!!b.e}}var oh=void 0;try{oh=1===nh({},"y",{get:function(){return 1}}).y}catch(a){oh=!1}var ph={};function qh(a){a=String(a);for(var b="",c=0;ph[a+b];)b=c+=1;ph[a+b]=1;var d="Symbol("+a+""+b+")";oh&&nh(Object.prototype,d,{get:void 0,set:function(a){nh(this,d,Y(a,{ya:!0,cb:!0}))},configurable:!0,enumerable:!1});return d} -var rh=lh(null);function Z(a){if(this instanceof Z)throw new TypeError("Symbol is not a constructor");a=void 0===a?"":String(a);var b=qh(a);return oh?lh(rh,{ua:Y(a),Ka:Y(b)}):b}mh(Z,{"for":Y(function(a){a=String(a);if(kh[a])return kh[a];var b=Z(a);return kh[a]=b}),keyFor:Y(function(a){if(oh&&(!a||"Symbol"!==a[Z.toStringTag]))throw new TypeError(""+a+" is not a symbol");for(var b in kh)if(kh[b]===a)return oh?kh[b].ua:kh[b].substr(7,kh[b].length-8)})}); -mh(Z,{ub:Y(Z("hasInstance")),vb:Y(Z("isConcatSpreadable")),iterator:Y(Z("iterator")),match:Y(Z("match")),replace:Y(Z("replace")),search:Y(Z("search")),Ab:Y(Z("species")),split:Y(Z("split")),Bb:Y(Z("toPrimitive")),toStringTag:Y(Z("toStringTag")),unscopables:Y(Z("unscopables"))});mh(rh,{constructor:Y(Z),toString:Y(function(){return this.Ka}),valueOf:Y(function(){return"Symbol("+this.ua+")"})});oh&&nh(rh,Z.toStringTag,Y("Symbol",{ya:!0}));var sh="function"===typeof Symbol?Symbol:Z;/* - -Copyright (c) 2018 The Polymer Project Authors. All rights reserved. -This code may only be used under the BSD style license found at http://polymer.github.io/LICENSE.txt -The complete set of authors may be found at http://polymer.github.io/AUTHORS.txt -The complete set of contributors may be found at http://polymer.github.io/CONTRIBUTORS.txt -Code distributed by Google as part of the polymer project is also -subject to an additional IP rights grant found at http://polymer.github.io/PATENTS.txt -*/ -window.Symbol||(window.Symbol=sh,Array.prototype[sh.iterator]=function(){function a(a,e,h){for(;;)switch(b){case 0:c=0;case 1:if(!(c<d.length)){b=3;break}b=4;return{value:d[c],done:!1};case 4:if(1!=a){b=5;break}b=-1;throw h;case 5:case 2:c++;b=1;break;case 3:b=-1;default:return{value:void 0,done:!0}}}var b=0,c,d=this,e={next:function(b){return a(0,b,void 0)},throw:function(b){return a(1,void 0,b)},return:function(){throw Error("Not yet implemented");}};ea();e[Symbol.iterator]=function(){return this}; -return e},Set.prototype[sh.iterator]=function(){function a(a,f,k){for(;;)switch(b){case 0:d=[],e.forEach(function(a){d.push(a)}),c=0;case 1:if(!(c<d.length)){b=3;break}b=4;return{value:d[c],done:!1};case 4:if(1!=a){b=5;break}b=-1;throw k;case 5:case 2:c++;b=1;break;case 3:b=-1;default:return{value:void 0,done:!0}}}var b=0,c,d,e=this,f={next:function(b){return a(0,b,void 0)},throw:function(b){return a(1,void 0,b)},return:function(){throw Error("Not yet implemented");}};ea();f[Symbol.iterator]=function(){return this}; -return f},Map.prototype[sh.iterator]=function(){function a(a,f,k){for(;;)switch(b){case 0:d=[],e.forEach(function(a,b){d.push([b,a])}),c=0;case 1:if(!(c<d.length)){b=3;break}b=4;return{value:d[c],done:!1};case 4:if(1!=a){b=5;break}b=-1;throw k;case 5:case 2:c++;b=1;break;case 3:b=-1;default:return{value:void 0,done:!0}}}var b=0,c,d,e=this,f={next:function(b){return a(0,b,void 0)},throw:function(b){return a(1,void 0,b)},return:function(){throw Error("Not yet implemented");}};ea();f[Symbol.iterator]= -function(){return this};return f},String.prototype[sh.iterator]=function(){function a(a,e,h){for(;;)switch(b){case 0:c=0;case 1:if(!(c<d.length)){b=3;break}b=4;return{value:d[c],done:!1};case 4:if(1!=a){b=5;break}b=-1;throw h;case 5:case 2:c++;b=1;break;case 3:b=-1;default:return{value:void 0,done:!0}}}var b=0,c,d=this,e={next:function(b){return a(0,b,void 0)},throw:function(b){return a(1,void 0,b)},return:function(){throw Error("Not yet implemented");}};ea();e[Symbol.iterator]=function(){return this}; -return e});var th=document.createElement("style");th.textContent="body {transition: opacity ease-in 0.2s; } \nbody[unresolved] {opacity: 0; display: block; overflow: hidden; position: relative; } \n";var uh=document.querySelector("head");uh.insertBefore(th,uh.firstChild);var vh=window.customElements,wh=!1,xh=null;vh.polyfillWrapFlushCallback&&vh.polyfillWrapFlushCallback(function(a){xh=a;wh&&a()});function yh(){window.HTMLTemplateElement.bootstrap&&window.HTMLTemplateElement.bootstrap(window.document);xh&&xh();wh=!0;window.WebComponents.ready=!0;document.dispatchEvent(new CustomEvent("WebComponentsReady",{bubbles:!0}))} -"complete"!==document.readyState?(window.addEventListener("load",yh),window.addEventListener("DOMContentLoaded",function(){window.removeEventListener("load",yh);yh()})):yh();}).call(this); -} +// webcomponents.js requires Set api which is not available in all browsers +if (typeof(Set) !== "undefined") { +/** +@license @nocompile +Copyright (c) 2018 The Polymer Project Authors. All rights reserved. +This code may only be used under the BSD style license found at http://polymer.github.io/LICENSE.txt +The complete set of authors may be found at http://polymer.github.io/AUTHORS.txt +The complete set of contributors may be found at http://polymer.github.io/CONTRIBUTORS.txt +Code distributed by Google as part of the polymer project is also +subject to an additional IP rights grant found at http://polymer.github.io/PATENTS.txt +*/ +(function(){/* + + Copyright (c) 2016 The Polymer Project Authors. All rights reserved. + This code may only be used under the BSD style license found at http://polymer.github.io/LICENSE.txt + The complete set of authors may be found at http://polymer.github.io/AUTHORS.txt + The complete set of contributors may be found at http://polymer.github.io/CONTRIBUTORS.txt + Code distributed by Google as part of the polymer project is also + subject to an additional IP rights grant found at http://polymer.github.io/PATENTS.txt +*/ +'use strict';var q,aa="undefined"!=typeof window&&window===this?this:"undefined"!=typeof global&&null!=global?global:this,ba="function"==typeof Object.defineProperties?Object.defineProperty:function(a,b,c){a!=Array.prototype&&a!=Object.prototype&&(a[b]=c.value)};function ca(){ca=function(){};aa.Symbol||(aa.Symbol=da)}var da=function(){var a=0;return function(b){return"jscomp_symbol_"+(b||"")+a++}}(); +function ea(){ca();var a=aa.Symbol.iterator;a||(a=aa.Symbol.iterator=aa.Symbol("iterator"));"function"!=typeof Array.prototype[a]&&ba(Array.prototype,a,{configurable:!0,writable:!0,value:function(){return fa(this)}});ea=function(){}}function fa(a){var b=0;return ha(function(){return b<a.length?{done:!1,value:a[b++]}:{done:!0}})}function ha(a){ea();a={next:a};a[aa.Symbol.iterator]=function(){return this};return a}function ia(a){ea();var b=a[Symbol.iterator];return b?b.call(a):fa(a)} +function ja(a){for(var b,c=[];!(b=a.next()).done;)c.push(b.value);return c} +(function(){if(!function(){var a=document.createEvent("Event");a.initEvent("foo",!0,!0);a.preventDefault();return a.defaultPrevented}()){var a=Event.prototype.preventDefault;Event.prototype.preventDefault=function(){this.cancelable&&(a.call(this),Object.defineProperty(this,"defaultPrevented",{get:function(){return!0},configurable:!0}))}}var b=/Trident/.test(navigator.userAgent);if(!window.CustomEvent||b&&"function"!==typeof window.CustomEvent)window.CustomEvent=function(a,b){b=b||{};var c=document.createEvent("CustomEvent"); +c.initCustomEvent(a,!!b.bubbles,!!b.cancelable,b.detail);return c},window.CustomEvent.prototype=window.Event.prototype;if(!window.Event||b&&"function"!==typeof window.Event){var c=window.Event;window.Event=function(a,b){b=b||{};var c=document.createEvent("Event");c.initEvent(a,!!b.bubbles,!!b.cancelable);return c};if(c)for(var d in c)window.Event[d]=c[d];window.Event.prototype=c.prototype}if(!window.MouseEvent||b&&"function"!==typeof window.MouseEvent){b=window.MouseEvent;window.MouseEvent=function(a, +b){b=b||{};var c=document.createEvent("MouseEvent");c.initMouseEvent(a,!!b.bubbles,!!b.cancelable,b.view||window,b.detail,b.screenX,b.screenY,b.clientX,b.clientY,b.ctrlKey,b.altKey,b.shiftKey,b.metaKey,b.button,b.relatedTarget);return c};if(b)for(d in b)window.MouseEvent[d]=b[d];window.MouseEvent.prototype=b.prototype}Array.from||(Array.from=function(a){return[].slice.call(a)});Object.assign||(Object.assign=function(a,b){for(var c=[].slice.call(arguments,1),d=0,e;d<c.length;d++)if(e=c[d])for(var f= +a,n=e,r=Object.getOwnPropertyNames(n),G=0;G<r.length;G++)e=r[G],f[e]=n[e];return a})})(window.WebComponents);(function(){function a(){}function b(a,b){if(!a.childNodes.length)return[];switch(a.nodeType){case Node.DOCUMENT_NODE:return G.call(a,b);case Node.DOCUMENT_FRAGMENT_NODE:return x.call(a,b);default:return r.call(a,b)}}var c="undefined"===typeof HTMLTemplateElement,d=!(document.createDocumentFragment().cloneNode()instanceof DocumentFragment),e=!1;/Trident/.test(navigator.userAgent)&&function(){function a(a,b){if(a instanceof DocumentFragment)for(var d;d=a.firstChild;)c.call(this,d,b);else c.call(this, +a,b);return a}e=!0;var b=Node.prototype.cloneNode;Node.prototype.cloneNode=function(a){a=b.call(this,a);this instanceof DocumentFragment&&(a.__proto__=DocumentFragment.prototype);return a};DocumentFragment.prototype.querySelectorAll=HTMLElement.prototype.querySelectorAll;DocumentFragment.prototype.querySelector=HTMLElement.prototype.querySelector;Object.defineProperties(DocumentFragment.prototype,{nodeType:{get:function(){return Node.DOCUMENT_FRAGMENT_NODE},configurable:!0},localName:{get:function(){}, +configurable:!0},nodeName:{get:function(){return"#document-fragment"},configurable:!0}});var c=Node.prototype.insertBefore;Node.prototype.insertBefore=a;var d=Node.prototype.appendChild;Node.prototype.appendChild=function(b){b instanceof DocumentFragment?a.call(this,b,null):d.call(this,b);return b};var f=Node.prototype.removeChild,g=Node.prototype.replaceChild;Node.prototype.replaceChild=function(b,c){b instanceof DocumentFragment?(a.call(this,b,c),f.call(this,c)):g.call(this,b,c);return c};Document.prototype.createDocumentFragment= +function(){var a=this.createElement("df");a.__proto__=DocumentFragment.prototype;return a};var h=Document.prototype.importNode;Document.prototype.importNode=function(a,b){b=h.call(this,a,b||!1);a instanceof DocumentFragment&&(b.__proto__=DocumentFragment.prototype);return b}}();var f=Node.prototype.cloneNode,g=Document.prototype.createElement,h=Document.prototype.importNode,k=Node.prototype.removeChild,m=Node.prototype.appendChild,n=Node.prototype.replaceChild,r=Element.prototype.querySelectorAll, +G=Document.prototype.querySelectorAll,x=DocumentFragment.prototype.querySelectorAll,v=function(){if(!c){var a=document.createElement("template"),b=document.createElement("template");b.content.appendChild(document.createElement("div"));a.content.appendChild(b);a=a.cloneNode(!0);return 0===a.content.childNodes.length||0===a.content.firstChild.content.childNodes.length||d}}();if(c){var U=document.implementation.createHTMLDocument("template"),Dc=!0,xa=document.createElement("style");xa.textContent="template{display:none;}"; +var Ec=document.head;Ec.insertBefore(xa,Ec.firstElementChild);a.prototype=Object.create(HTMLElement.prototype);var mf=!document.createElement("div").hasOwnProperty("innerHTML");a.R=function(b){if(!b.content&&b.namespaceURI===document.documentElement.namespaceURI){b.content=U.createDocumentFragment();for(var c;c=b.firstChild;)m.call(b.content,c);if(mf)b.__proto__=a.prototype;else if(b.cloneNode=function(b){return a.a(this,b)},Dc)try{p(b),Fc(b)}catch(zh){Dc=!1}a.b(b.content)}};var p=function(b){Object.defineProperty(b, +"innerHTML",{get:function(){return Gc(this)},set:function(b){U.body.innerHTML=b;for(a.b(U);this.content.firstChild;)k.call(this.content,this.content.firstChild);for(;U.body.firstChild;)m.call(this.content,U.body.firstChild)},configurable:!0})},Fc=function(a){Object.defineProperty(a,"outerHTML",{get:function(){return"<template>"+this.innerHTML+"</template>"},set:function(a){if(this.parentNode){U.body.innerHTML=a;for(a=this.ownerDocument.createDocumentFragment();U.body.firstChild;)m.call(a,U.body.firstChild); +n.call(this.parentNode,a,this)}else throw Error("Failed to set the 'outerHTML' property on 'Element': This element has no parent node.");},configurable:!0})};p(a.prototype);Fc(a.prototype);a.b=function(c){c=b(c,"template");for(var d=0,e=c.length,f;d<e&&(f=c[d]);d++)a.R(f)};document.addEventListener("DOMContentLoaded",function(){a.b(document)});Document.prototype.createElement=function(){var b=g.apply(this,arguments);"template"===b.localName&&a.R(b);return b};var nf=/[&\u00A0"]/g,kb=/[&\u00A0<>]/g, +l=function(a){switch(a){case "&":return"&";case "<":return"<";case ">":return">";case '"':return""";case "\u00a0":return" "}};xa=function(a){for(var b={},c=0;c<a.length;c++)b[a[c]]=!0;return b};var F=xa("area base br col command embed hr img input keygen link meta param source track wbr".split(" ")),of=xa("style script xmp iframe noembed noframes plaintext noscript".split(" ")),Gc=function(a,b){"template"===a.localName&&(a=a.content);for(var c="",d=b?b(a):a.childNodes,e=0,f=d.length, +g;e<f&&(g=d[e]);e++){a:{var h=g;var k=a;var m=b;switch(h.nodeType){case Node.ELEMENT_NODE:for(var n=h.localName,v="<"+n,r=h.attributes,p=0;k=r[p];p++)v+=" "+k.name+'="'+k.value.replace(nf,l)+'"';v+=">";h=F[n]?v:v+Gc(h,m)+"</"+n+">";break a;case Node.TEXT_NODE:h=h.data;h=k&&of[k.localName]?h:h.replace(kb,l);break a;case Node.COMMENT_NODE:h="\x3c!--"+h.data+"--\x3e";break a;default:throw window.console.error(h),Error("not implemented");}}c+=h}return c}}if(c||v){a.a=function(a,b){var c=f.call(a,!1); +this.R&&this.R(c);b&&(m.call(c.content,f.call(a.content,!0)),lb(c.content,a.content));return c};var lb=function(c,d){if(d.querySelectorAll&&(d=b(d,"template"),0!==d.length)){c=b(c,"template");for(var e=0,f=c.length,g,h;e<f;e++)h=d[e],g=c[e],a&&a.R&&a.R(h),n.call(g.parentNode,pf.call(h,!0),g)}},pf=Node.prototype.cloneNode=function(b){if(!e&&d&&this instanceof DocumentFragment)if(b)var c=qf.call(this.ownerDocument,this,!0);else return this.ownerDocument.createDocumentFragment();else this.nodeType=== +Node.ELEMENT_NODE&&"template"===this.localName&&this.namespaceURI==document.documentElement.namespaceURI?c=a.a(this,b):c=f.call(this,b);b&&lb(c,this);return c},qf=Document.prototype.importNode=function(c,d){d=d||!1;if("template"===c.localName)return a.a(c,d);var e=h.call(this,c,d);if(d){lb(e,c);c=b(e,'script:not([type]),script[type="application/javascript"],script[type="text/javascript"]');for(var f,k=0;k<c.length;k++){f=c[k];d=g.call(document,"script");d.textContent=f.textContent;for(var m=f.attributes, +l=0,v;l<m.length;l++)v=m[l],d.setAttribute(v.name,v.value);n.call(f.parentNode,d,f)}}return e}}c&&(window.HTMLTemplateElement=a)})();var ka;Array.isArray?ka=Array.isArray:ka=function(a){return"[object Array]"===Object.prototype.toString.call(a)};var la=ka;var ma=0,na,oa="undefined"!==typeof window?window:void 0,pa=oa||{},qa=pa.MutationObserver||pa.WebKitMutationObserver,ra="undefined"===typeof self&&"undefined"!==typeof process&&"[object process]"==={}.toString.call(process),sa="undefined"!==typeof Uint8ClampedArray&&"undefined"!==typeof importScripts&&"undefined"!==typeof MessageChannel;function ta(){return"undefined"!==typeof na?function(){na(ua)}:va()} +function wa(){var a=0,b=new qa(ua),c=document.createTextNode("");b.observe(c,{characterData:!0});return function(){c.data=a=++a%2}}function ya(){var a=new MessageChannel;a.port1.onmessage=ua;return function(){return a.port2.postMessage(0)}}function va(){var a=setTimeout;return function(){return a(ua,1)}}var za=Array(1E3);function ua(){for(var a=0;a<ma;a+=2)(0,za[a])(za[a+1]),za[a]=void 0,za[a+1]=void 0;ma=0}var Aa,Ba; +if(ra)Ba=function(){return process.xb(ua)};else{var Ca;if(qa)Ca=wa();else{var Da;if(sa)Da=ya();else{var Ea;if(void 0===oa&&"function"===typeof require)try{var Fa=require("vertx");na=Fa.zb||Fa.yb;Ea=ta()}catch(a){Ea=va()}else Ea=va();Da=Ea}Ca=Da}Ba=Ca}Aa=Ba;function Ga(a,b){za[ma]=a;za[ma+1]=b;ma+=2;2===ma&&Aa()};function Ha(a,b){var c=this,d=new this.constructor(Ia);void 0===d[Ja]&&Ka(d);var e=c.o;if(e){var f=arguments[e-1];Ga(function(){return La(e,d,f,c.l)})}else Ma(c,d,a,b);return d};function Na(a){if(a&&"object"===typeof a&&a.constructor===this)return a;var b=new this(Ia);Oa(b,a);return b};var Ja=Math.random().toString(36).substring(16);function Ia(){}var Qa=new Pa;function Ra(a){try{return a.then}catch(b){return Qa.error=b,Qa}}function Sa(a,b,c,d){try{a.call(b,c,d)}catch(e){return e}}function Ta(a,b,c){Ga(function(a){var d=!1,f=Sa(c,b,function(c){d||(d=!0,b!==c?Oa(a,c):t(a,c))},function(b){d||(d=!0,u(a,b))});!d&&f&&(d=!0,u(a,f))},a)}function Ua(a,b){1===b.o?t(a,b.l):2===b.o?u(a,b.l):Ma(b,void 0,function(b){return Oa(a,b)},function(b){return u(a,b)})} +function Va(a,b,c){b.constructor===a.constructor&&c===Ha&&b.constructor.resolve===Na?Ua(a,b):c===Qa?(u(a,Qa.error),Qa.error=null):void 0===c?t(a,b):"function"===typeof c?Ta(a,b,c):t(a,b)}function Oa(a,b){if(a===b)u(a,new TypeError("You cannot resolve a promise with itself"));else{var c=typeof b;null===b||"object"!==c&&"function"!==c?t(a,b):Va(a,b,Ra(b))}}function Wa(a){a.xa&&a.xa(a.l);Xa(a)}function t(a,b){void 0===a.o&&(a.l=b,a.o=1,0!==a.U.length&&Ga(Xa,a))} +function u(a,b){void 0===a.o&&(a.o=2,a.l=b,Ga(Wa,a))}function Ma(a,b,c,d){var e=a.U,f=e.length;a.xa=null;e[f]=b;e[f+1]=c;e[f+2]=d;0===f&&a.o&&Ga(Xa,a)}function Xa(a){var b=a.U,c=a.o;if(0!==b.length){for(var d,e,f=a.l,g=0;g<b.length;g+=3)d=b[g],e=b[g+c],d?La(c,d,e,f):e(f);a.U.length=0}}function Pa(){this.error=null}var Ya=new Pa; +function La(a,b,c,d){var e="function"===typeof c;if(e){try{var f=c(d)}catch(m){Ya.error=m,f=Ya}if(f===Ya){var g=!0;var h=f.error;f.error=null}else var k=!0;if(b===f){u(b,new TypeError("A promises callback cannot return that same promise."));return}}else f=d,k=!0;void 0===b.o&&(e&&k?Oa(b,f):g?u(b,h):1===a?t(b,f):2===a&&u(b,f))}function Za(a,b){try{b(function(b){Oa(a,b)},function(b){u(a,b)})}catch(c){u(a,c)}}var $a=0;function Ka(a){a[Ja]=$a++;a.o=void 0;a.l=void 0;a.U=[]};function ab(a,b){this.Na=a;this.N=new a(Ia);this.N[Ja]||Ka(this.N);if(la(b))if(this.$=this.length=b.length,this.l=Array(this.length),0===this.length)t(this.N,this.l);else{this.length=this.length||0;for(a=0;void 0===this.o&&a<b.length;a++)bb(this,b[a],a);0===this.$&&t(this.N,this.l)}else u(this.N,Error("Array Methods must be provided an Array"))} +function bb(a,b,c){var d=a.Na,e=d.resolve;e===Na?(e=Ra(b),e===Ha&&void 0!==b.o?cb(a,b.o,c,b.l):"function"!==typeof e?(a.$--,a.l[c]=b):d===w?(d=new d(Ia),Va(d,b,e),db(a,d,c)):db(a,new d(function(a){return a(b)}),c)):db(a,e(b),c)}function cb(a,b,c,d){var e=a.N;void 0===e.o&&(a.$--,2===b?u(e,d):a.l[c]=d);0===a.$&&t(e,a.l)}function db(a,b,c){Ma(b,void 0,function(b){return cb(a,1,c,b)},function(b){return cb(a,2,c,b)})};function eb(a){return(new ab(this,a)).N};function fb(a){var b=this;return la(a)?new b(function(c,d){for(var e=a.length,f=0;f<e;f++)b.resolve(a[f]).then(c,d)}):new b(function(a,b){return b(new TypeError("You must pass an array to race."))})};function gb(a){var b=new this(Ia);u(b,a);return b};function w(a){this[Ja]=$a++;this.l=this.o=void 0;this.U=[];if(Ia!==a){if("function"!==typeof a)throw new TypeError("You must pass a resolver function as the first argument to the promise constructor");if(this instanceof w)Za(this,a);else throw new TypeError("Failed to construct 'Promise': Please use the 'new' operator, this object constructor cannot be called as a function.");}}w.prototype={constructor:w,then:Ha,a:function(a){return this.then(null,a)}};/* + +Copyright (c) 2017 The Polymer Project Authors. All rights reserved. +This code may only be used under the BSD style license found at http://polymer.github.io/LICENSE.txt +The complete set of authors may be found at http://polymer.github.io/AUTHORS.txt +The complete set of contributors may be found at http://polymer.github.io/CONTRIBUTORS.txt +Code distributed by Google as part of the polymer project is also +subject to an additional IP rights grant found at http://polymer.github.io/PATENTS.txt +*/ +window.Promise||(window.Promise=w,w.prototype["catch"]=w.prototype.a,w.prototype.then=w.prototype.then,w.all=eb,w.race=fb,w.resolve=Na,w.reject=gb);/* + + Copyright (c) 2014 The Polymer Project Authors. All rights reserved. + This code may only be used under the BSD style license found at http://polymer.github.io/LICENSE.txt + The complete set of authors may be found at http://polymer.github.io/AUTHORS.txt + The complete set of contributors may be found at http://polymer.github.io/CONTRIBUTORS.txt + Code distributed by Google as part of the polymer project is also + subject to an additional IP rights grant found at http://polymer.github.io/PATENTS.txt +*/ +window.WebComponents=window.WebComponents||{flags:{}};var hb=document.querySelector('script[src*="webcomponents-bundle"]'),ib=/wc-(.+)/,y={};if(!y.noOpts){location.search.slice(1).split("&").forEach(function(a){a=a.split("=");var b;a[0]&&(b=a[0].match(ib))&&(y[b[1]]=a[1]||!0)});if(hb)for(var jb=0,mb;mb=hb.attributes[jb];jb++)"src"!==mb.name&&(y[mb.name]=mb.value||!0);if(y.log&&y.log.split){var nb=y.log.split(",");y.log={};nb.forEach(function(a){y.log[a]=!0})}else y.log={}} +window.WebComponents.flags=y;var ob=y.shadydom;ob&&(window.ShadyDOM=window.ShadyDOM||{},window.ShadyDOM.force=ob);var pb=y.register||y.ce;pb&&window.customElements&&(window.customElements.forcePolyfill=pb);/* + +Copyright (c) 2016 The Polymer Project Authors. All rights reserved. +This code may only be used under the BSD style license found at http://polymer.github.io/LICENSE.txt +The complete set of authors may be found at http://polymer.github.io/AUTHORS.txt +The complete set of contributors may be found at http://polymer.github.io/CONTRIBUTORS.txt +Code distributed by Google as part of the polymer project is also +subject to an additional IP rights grant found at http://polymer.github.io/PATENTS.txt +*/ +function qb(){this.Da=this.root=null;this.da=!1;this.L=this.Z=this.pa=this.assignedSlot=this.assignedNodes=this.S=null;this.childNodes=this.nextSibling=this.previousSibling=this.lastChild=this.firstChild=this.parentNode=this.V=void 0;this.Ia=this.va=!1}qb.prototype.toJSON=function(){return{}};function z(a){a.ka||(a.ka=new qb);return a.ka}function A(a){return a&&a.ka};var B=window.ShadyDOM||{};B.Ua=!(!Element.prototype.attachShadow||!Node.prototype.getRootNode);var rb=Object.getOwnPropertyDescriptor(Node.prototype,"firstChild");B.I=!!(rb&&rb.configurable&&rb.get);B.Ba=B.force||!B.Ua;var sb=navigator.userAgent.match("Trident"),tb=navigator.userAgent.match("Edge");void 0===B.Fa&&(B.Fa=B.I&&(sb||tb));function ub(a){return(a=A(a))&&void 0!==a.firstChild}function C(a){return"ShadyRoot"===a.Oa}function vb(a){a=a.getRootNode();if(C(a))return a} +var wb=Element.prototype,xb=wb.matches||wb.matchesSelector||wb.mozMatchesSelector||wb.msMatchesSelector||wb.oMatchesSelector||wb.webkitMatchesSelector;function yb(a,b){if(a&&b)for(var c=Object.getOwnPropertyNames(b),d=0,e;d<c.length&&(e=c[d]);d++){var f=Object.getOwnPropertyDescriptor(b,e);f&&Object.defineProperty(a,e,f)}}function zb(a,b){for(var c=[],d=1;d<arguments.length;++d)c[d-1]=arguments[d];for(d=0;d<c.length;d++)yb(a,c[d]);return a}function Ab(a,b){for(var c in b)a[c]=b[c]} +var Bb=document.createTextNode(""),Cb=0,Db=[];(new MutationObserver(function(){for(;Db.length;)try{Db.shift()()}catch(a){throw Bb.textContent=Cb++,a;}})).observe(Bb,{characterData:!0});function Eb(a){Db.push(a);Bb.textContent=Cb++}var Fb=!!document.contains;function Gb(a,b){for(;b;){if(b==a)return!0;b=b.parentNode}return!1};var Hb=[],Ib;function Jb(a){Ib||(Ib=!0,Eb(Kb));Hb.push(a)}function Kb(){Ib=!1;for(var a=!!Hb.length;Hb.length;)Hb.shift()();return a}Kb.list=Hb;function Lb(){this.a=!1;this.addedNodes=[];this.removedNodes=[];this.ca=new Set}function Mb(a){a.a||(a.a=!0,Eb(function(){Nb(a)}))}function Nb(a){if(a.a){a.a=!1;var b=a.takeRecords();b.length&&a.ca.forEach(function(a){a(b)})}}Lb.prototype.takeRecords=function(){if(this.addedNodes.length||this.removedNodes.length){var a=[{addedNodes:this.addedNodes,removedNodes:this.removedNodes}];this.addedNodes=[];this.removedNodes=[];return a}return[]}; +function Ob(a,b){var c=z(a);c.S||(c.S=new Lb);c.S.ca.add(b);var d=c.S;return{La:b,P:d,Pa:a,takeRecords:function(){return d.takeRecords()}}}function Pb(a){var b=a&&a.P;b&&(b.ca.delete(a.La),b.ca.size||(z(a.Pa).S=null))} +function Qb(a,b){var c=b.getRootNode();return a.map(function(a){var b=c===a.target.getRootNode();if(b&&a.addedNodes){if(b=Array.from(a.addedNodes).filter(function(a){return c===a.getRootNode()}),b.length)return a=Object.create(a),Object.defineProperty(a,"addedNodes",{value:b,configurable:!0}),a}else if(b)return a}).filter(function(a){return a})};var D={},Rb=Element.prototype.insertBefore,Sb=Element.prototype.replaceChild,Tb=Element.prototype.removeChild,Ub=Element.prototype.setAttribute,Vb=Element.prototype.removeAttribute,Wb=Element.prototype.cloneNode,Xb=Document.prototype.importNode,Yb=Element.prototype.addEventListener,Zb=Element.prototype.removeEventListener,$b=Window.prototype.addEventListener,ac=Window.prototype.removeEventListener,bc=Element.prototype.dispatchEvent,cc=Node.prototype.contains||HTMLElement.prototype.contains,dc=Document.prototype.getElementById, +ec=Element.prototype.querySelector,fc=DocumentFragment.prototype.querySelector,gc=Document.prototype.querySelector,hc=Element.prototype.querySelectorAll,ic=DocumentFragment.prototype.querySelectorAll,jc=Document.prototype.querySelectorAll;D.appendChild=Element.prototype.appendChild;D.insertBefore=Rb;D.replaceChild=Sb;D.removeChild=Tb;D.setAttribute=Ub;D.removeAttribute=Vb;D.cloneNode=Wb;D.importNode=Xb;D.addEventListener=Yb;D.removeEventListener=Zb;D.eb=$b;D.fb=ac;D.dispatchEvent=bc;D.contains=cc; +D.getElementById=dc;D.ob=ec;D.sb=fc;D.mb=gc;D.querySelector=function(a){switch(this.nodeType){case Node.ELEMENT_NODE:return ec.call(this,a);case Node.DOCUMENT_NODE:return gc.call(this,a);default:return fc.call(this,a)}};D.pb=hc;D.tb=ic;D.nb=jc;D.querySelectorAll=function(a){switch(this.nodeType){case Node.ELEMENT_NODE:return hc.call(this,a);case Node.DOCUMENT_NODE:return jc.call(this,a);default:return ic.call(this,a)}};var kc=/[&\u00A0"]/g,lc=/[&\u00A0<>]/g;function mc(a){switch(a){case "&":return"&";case "<":return"<";case ">":return">";case '"':return""";case "\u00a0":return" "}}function nc(a){for(var b={},c=0;c<a.length;c++)b[a[c]]=!0;return b}var oc=nc("area base br col command embed hr img input keygen link meta param source track wbr".split(" ")),pc=nc("style script xmp iframe noembed noframes plaintext noscript".split(" ")); +function qc(a,b){"template"===a.localName&&(a=a.content);for(var c="",d=b?b(a):a.childNodes,e=0,f=d.length,g;e<f&&(g=d[e]);e++){a:{var h=g;var k=a;var m=b;switch(h.nodeType){case Node.ELEMENT_NODE:for(var n=h.localName,r="<"+n,G=h.attributes,x=0;k=G[x];x++)r+=" "+k.name+'="'+k.value.replace(kc,mc)+'"';r+=">";h=oc[n]?r:r+qc(h,m)+"</"+n+">";break a;case Node.TEXT_NODE:h=h.data;h=k&&pc[k.localName]?h:h.replace(lc,mc);break a;case Node.COMMENT_NODE:h="\x3c!--"+h.data+"--\x3e";break a;default:throw window.console.error(h), +Error("not implemented");}}c+=h}return c};var E={},H=document.createTreeWalker(document,NodeFilter.SHOW_ALL,null,!1),I=document.createTreeWalker(document,NodeFilter.SHOW_ELEMENT,null,!1);function rc(a){var b=[];H.currentNode=a;for(a=H.firstChild();a;)b.push(a),a=H.nextSibling();return b}E.parentNode=function(a){H.currentNode=a;return H.parentNode()};E.firstChild=function(a){H.currentNode=a;return H.firstChild()};E.lastChild=function(a){H.currentNode=a;return H.lastChild()};E.previousSibling=function(a){H.currentNode=a;return H.previousSibling()}; +E.nextSibling=function(a){H.currentNode=a;return H.nextSibling()};E.childNodes=rc;E.parentElement=function(a){I.currentNode=a;return I.parentNode()};E.firstElementChild=function(a){I.currentNode=a;return I.firstChild()};E.lastElementChild=function(a){I.currentNode=a;return I.lastChild()};E.previousElementSibling=function(a){I.currentNode=a;return I.previousSibling()};E.nextElementSibling=function(a){I.currentNode=a;return I.nextSibling()}; +E.children=function(a){var b=[];I.currentNode=a;for(a=I.firstChild();a;)b.push(a),a=I.nextSibling();return b};E.innerHTML=function(a){return qc(a,function(a){return rc(a)})};E.textContent=function(a){switch(a.nodeType){case Node.ELEMENT_NODE:case Node.DOCUMENT_FRAGMENT_NODE:a=document.createTreeWalker(a,NodeFilter.SHOW_TEXT,null,!1);for(var b="",c;c=a.nextNode();)b+=c.nodeValue;return b;default:return a.nodeValue}};var J={},sc=B.I,tc=[Node.prototype,Element.prototype,HTMLElement.prototype];function K(a){var b;a:{for(b=0;b<tc.length;b++){var c=tc[b];if(c.hasOwnProperty(a)){b=c;break a}}b=void 0}if(!b)throw Error("Could not find descriptor for "+a);return Object.getOwnPropertyDescriptor(b,a)} +var L=sc?{parentNode:K("parentNode"),firstChild:K("firstChild"),lastChild:K("lastChild"),previousSibling:K("previousSibling"),nextSibling:K("nextSibling"),childNodes:K("childNodes"),parentElement:K("parentElement"),previousElementSibling:K("previousElementSibling"),nextElementSibling:K("nextElementSibling"),innerHTML:K("innerHTML"),textContent:K("textContent"),firstElementChild:K("firstElementChild"),lastElementChild:K("lastElementChild"),children:K("children")}:{},uc=sc?{firstElementChild:Object.getOwnPropertyDescriptor(DocumentFragment.prototype, +"firstElementChild"),lastElementChild:Object.getOwnPropertyDescriptor(DocumentFragment.prototype,"lastElementChild"),children:Object.getOwnPropertyDescriptor(DocumentFragment.prototype,"children")}:{},vc=sc?{firstElementChild:Object.getOwnPropertyDescriptor(Document.prototype,"firstElementChild"),lastElementChild:Object.getOwnPropertyDescriptor(Document.prototype,"lastElementChild"),children:Object.getOwnPropertyDescriptor(Document.prototype,"children")}:{};J.Ca=L;J.rb=uc;J.lb=vc;J.parentNode=function(a){return L.parentNode.get.call(a)}; +J.firstChild=function(a){return L.firstChild.get.call(a)};J.lastChild=function(a){return L.lastChild.get.call(a)};J.previousSibling=function(a){return L.previousSibling.get.call(a)};J.nextSibling=function(a){return L.nextSibling.get.call(a)};J.childNodes=function(a){return Array.prototype.slice.call(L.childNodes.get.call(a))};J.parentElement=function(a){return L.parentElement.get.call(a)};J.previousElementSibling=function(a){return L.previousElementSibling.get.call(a)};J.nextElementSibling=function(a){return L.nextElementSibling.get.call(a)}; +J.innerHTML=function(a){return L.innerHTML.get.call(a)};J.textContent=function(a){return L.textContent.get.call(a)};J.children=function(a){switch(a.nodeType){case Node.DOCUMENT_FRAGMENT_NODE:a=uc.children.get.call(a);break;case Node.DOCUMENT_NODE:a=vc.children.get.call(a);break;default:a=L.children.get.call(a)}return Array.prototype.slice.call(a)}; +J.firstElementChild=function(a){switch(a.nodeType){case Node.DOCUMENT_FRAGMENT_NODE:return uc.firstElementChild.get.call(a);case Node.DOCUMENT_NODE:return vc.firstElementChild.get.call(a);default:return L.firstElementChild.get.call(a)}};J.lastElementChild=function(a){switch(a.nodeType){case Node.DOCUMENT_FRAGMENT_NODE:return uc.lastElementChild.get.call(a);case Node.DOCUMENT_NODE:return vc.lastElementChild.get.call(a);default:return L.lastElementChild.get.call(a)}};var M=B.Fa?J:E;function wc(a){for(;a.firstChild;)a.removeChild(a.firstChild)} +var xc=B.I,yc=document.implementation.createHTMLDocument("inert"),zc=Object.getOwnPropertyDescriptor(Node.prototype,"isConnected"),Ac=zc&&zc.get,Bc=Object.getOwnPropertyDescriptor(Document.prototype,"activeElement"),Cc={parentElement:{get:function(){var a=A(this);(a=a&&a.parentNode)&&a.nodeType!==Node.ELEMENT_NODE&&(a=null);return void 0!==a?a:M.parentElement(this)},configurable:!0},parentNode:{get:function(){var a=A(this);a=a&&a.parentNode;return void 0!==a?a:M.parentNode(this)},configurable:!0}, +nextSibling:{get:function(){var a=A(this);a=a&&a.nextSibling;return void 0!==a?a:M.nextSibling(this)},configurable:!0},previousSibling:{get:function(){var a=A(this);a=a&&a.previousSibling;return void 0!==a?a:M.previousSibling(this)},configurable:!0},nextElementSibling:{get:function(){var a=A(this);if(a&&void 0!==a.nextSibling){for(a=this.nextSibling;a&&a.nodeType!==Node.ELEMENT_NODE;)a=a.nextSibling;return a}return M.nextElementSibling(this)},configurable:!0},previousElementSibling:{get:function(){var a= +A(this);if(a&&void 0!==a.previousSibling){for(a=this.previousSibling;a&&a.nodeType!==Node.ELEMENT_NODE;)a=a.previousSibling;return a}return M.previousElementSibling(this)},configurable:!0}},Hc={className:{get:function(){return this.getAttribute("class")||""},set:function(a){this.setAttribute("class",a)},configurable:!0}},Ic={childNodes:{get:function(){if(ub(this)){var a=A(this);if(!a.childNodes){a.childNodes=[];for(var b=this.firstChild;b;b=b.nextSibling)a.childNodes.push(b)}var c=a.childNodes}else c= +M.childNodes(this);c.item=function(a){return c[a]};return c},configurable:!0},childElementCount:{get:function(){return this.children.length},configurable:!0},firstChild:{get:function(){var a=A(this);a=a&&a.firstChild;return void 0!==a?a:M.firstChild(this)},configurable:!0},lastChild:{get:function(){var a=A(this);a=a&&a.lastChild;return void 0!==a?a:M.lastChild(this)},configurable:!0},textContent:{get:function(){if(ub(this)){for(var a=[],b=0,c=this.childNodes,d;d=c[b];b++)d.nodeType!==Node.COMMENT_NODE&& +a.push(d.textContent);return a.join("")}return M.textContent(this)},set:function(a){if("undefined"===typeof a||null===a)a="";switch(this.nodeType){case Node.ELEMENT_NODE:case Node.DOCUMENT_FRAGMENT_NODE:if(!ub(this)&&xc){var b=this.firstChild;(b!=this.lastChild||b&&b.nodeType!=Node.TEXT_NODE)&&wc(this);J.Ca.textContent.set.call(this,a)}else wc(this),(0<a.length||this.nodeType===Node.ELEMENT_NODE)&&this.appendChild(document.createTextNode(a));break;default:this.nodeValue=a}},configurable:!0},firstElementChild:{get:function(){var a= +A(this);if(a&&void 0!==a.firstChild){for(a=this.firstChild;a&&a.nodeType!==Node.ELEMENT_NODE;)a=a.nextSibling;return a}return M.firstElementChild(this)},configurable:!0},lastElementChild:{get:function(){var a=A(this);if(a&&void 0!==a.lastChild){for(a=this.lastChild;a&&a.nodeType!==Node.ELEMENT_NODE;)a=a.previousSibling;return a}return M.lastElementChild(this)},configurable:!0},children:{get:function(){var a;ub(this)?a=Array.prototype.filter.call(this.childNodes,function(a){return a.nodeType===Node.ELEMENT_NODE}): +a=M.children(this);a.item=function(b){return a[b]};return a},configurable:!0},innerHTML:{get:function(){return ub(this)?qc("template"===this.localName?this.content:this):M.innerHTML(this)},set:function(a){var b="template"===this.localName?this.content:this;wc(b);var c=this.localName;c&&"template"!==c||(c="div");c=yc.createElement(c);for(xc?J.Ca.innerHTML.set.call(c,a):c.innerHTML=a;c.firstChild;)b.appendChild(c.firstChild)},configurable:!0}},Jc={shadowRoot:{get:function(){var a=A(this);return a&& +a.Da||null},configurable:!0}},Kc={activeElement:{get:function(){var a=Bc&&Bc.get?Bc.get.call(document):B.I?void 0:document.activeElement;if(a&&a.nodeType){var b=!!C(this);if(this===document||b&&this.host!==a&&D.contains.call(this.host,a)){for(b=vb(a);b&&b!==this;)a=b.host,b=vb(a);a=this===document?b?null:a:b===this?a:null}else a=null}else a=null;return a},set:function(){},configurable:!0}}; +function N(a,b,c){for(var d in b){var e=Object.getOwnPropertyDescriptor(a,d);e&&e.configurable||!e&&c?Object.defineProperty(a,d,b[d]):c&&console.warn("Could not define",d,"on",a)}}function Lc(a){N(a,Cc);N(a,Hc);N(a,Ic);N(a,Kc)} +function Mc(){var a=Nc.prototype;a.__proto__=DocumentFragment.prototype;N(a,Cc,!0);N(a,Ic,!0);N(a,Kc,!0);Object.defineProperties(a,{nodeType:{value:Node.DOCUMENT_FRAGMENT_NODE,configurable:!0},nodeName:{value:"#document-fragment",configurable:!0},nodeValue:{value:null,configurable:!0}});["localName","namespaceURI","prefix"].forEach(function(b){Object.defineProperty(a,b,{value:void 0,configurable:!0})});["ownerDocument","baseURI","isConnected"].forEach(function(b){Object.defineProperty(a,b,{get:function(){return this.host[b]}, +configurable:!0})})}var Oc=B.I?function(){}:function(a){var b=z(a);b.va||(b.va=!0,N(a,Cc,!0),N(a,Hc,!0))},Pc=B.I?function(){}:function(a){z(a).Ia||(N(a,Ic,!0),N(a,Jc,!0))};var Qc=M.childNodes;function Rc(a,b,c){Oc(a);c=c||null;var d=z(a),e=z(b),f=c?z(c):null;d.previousSibling=c?f.previousSibling:b.lastChild;if(f=A(d.previousSibling))f.nextSibling=a;if(f=A(d.nextSibling=c))f.previousSibling=a;d.parentNode=b;c?c===e.firstChild&&(e.firstChild=a):(e.lastChild=a,e.firstChild||(e.firstChild=a));e.childNodes=null} +function Sc(a,b){var c=z(a);if(void 0===c.firstChild)for(b=b||Qc(a),c.firstChild=b[0]||null,c.lastChild=b[b.length-1]||null,Pc(a),c=0;c<b.length;c++){var d=b[c],e=z(d);e.parentNode=a;e.nextSibling=b[c+1]||null;e.previousSibling=b[c-1]||null;Oc(d)}};var Tc=M.parentNode; +function Uc(a,b,c){if(b===a)throw Error("Failed to execute 'appendChild' on 'Node': The new child element contains the parent.");if(c){var d=A(c);d=d&&d.parentNode;if(void 0!==d&&d!==a||void 0===d&&Tc(c)!==a)throw Error("Failed to execute 'insertBefore' on 'Node': The node before which the new node is to be inserted is not a child of this node.");}if(c===b)return b;b.parentNode&&Vc(b.parentNode,b);var e,f;if(!b.__noInsertionPoint){if(f=e=vb(a)){var g;"slot"===b.localName?g=[b]:b.querySelectorAll&& +(g=b.querySelectorAll("slot"));f=g&&g.length?g:void 0}f&&(g=e,d=f,g.a=g.a||[],g.m=g.m||[],g.w=g.w||{},g.a.push.apply(g.a,[].concat(d instanceof Array?d:ja(ia(d)))))}("slot"===a.localName||f)&&(e=e||vb(a))&&Wc(e);if(ub(a)){e=c;Pc(a);f=z(a);void 0!==f.firstChild&&(f.childNodes=null);if(b.nodeType===Node.DOCUMENT_FRAGMENT_NODE){f=b.childNodes;for(g=0;g<f.length;g++)Rc(f[g],a,e);e=z(b);f=void 0!==e.firstChild?null:void 0;e.firstChild=e.lastChild=f;e.childNodes=f}else Rc(b,a,e);e=A(a);if(Xc(a)){Wc(e.root); +var h=!0}else e.root&&(h=!0)}h||(h=C(a)?a.host:a,c?(c=Yc(c),D.insertBefore.call(h,b,c)):D.appendChild.call(h,b));Zc(a,b);return b} +function Vc(a,b){if(b.parentNode!==a)throw Error("The node to be removed is not a child of this node: "+b);var c=vb(b),d=A(a);if(ub(a)){var e=z(b),f=z(a);b===f.firstChild&&(f.firstChild=e.nextSibling);b===f.lastChild&&(f.lastChild=e.previousSibling);var g=e.previousSibling,h=e.nextSibling;g&&(z(g).nextSibling=h);h&&(z(h).previousSibling=g);e.parentNode=e.previousSibling=e.nextSibling=void 0;void 0!==f.childNodes&&(f.childNodes=null);if(Xc(a)){Wc(d.root);var k=!0}}$c(b);if(c){(e=a&&"slot"===a.localName)&& +(k=!0);if(c.m){ad(c);f=c.w;for(v in f)for(g=f[v],h=0;h<g.length;h++){var m=g[h];if(Gb(b,m)){g.splice(h,1);var n=c.m.indexOf(m);0<=n&&c.m.splice(n,1);h--;n=A(m);if(m=n.L)for(var r=0;r<m.length;r++){var G=m[r],x=bd(G);x&&D.removeChild.call(x,G)}n.L=[];n.assignedNodes=[];n=!0}}var v=n}else v=void 0;(v||e)&&Wc(c)}k||(k=C(a)?a.host:a,(!d.root&&"slot"!==b.localName||k===Tc(b))&&D.removeChild.call(k,b));Zc(a,null,b);return b} +function $c(a){var b=A(a);if(b&&void 0!==b.V){b=a.childNodes;for(var c=0,d=b.length,e;c<d&&(e=b[c]);c++)$c(e)}if(a=A(a))a.V=void 0}function Yc(a){var b=a;a&&"slot"===a.localName&&(b=(b=(b=A(a))&&b.L)&&b.length?b[0]:Yc(a.nextSibling));return b}function Xc(a){return(a=(a=A(a))&&a.root)&&cd(a)} +function dd(a,b){if("slot"===b)a=a.parentNode,Xc(a)&&Wc(A(a).root);else if("slot"===a.localName&&"name"===b&&(b=vb(a))){if(b.m){var c=a.Ja,d=ed(a);if(d!==c){c=b.w[c];var e=c.indexOf(a);0<=e&&c.splice(e,1);c=b.w[d]||(b.w[d]=[]);c.push(a);1<c.length&&(b.w[d]=fd(c))}}Wc(b)}}function Zc(a,b,c){if(a=(a=A(a))&&a.S)b&&a.addedNodes.push(b),c&&a.removedNodes.push(c),Mb(a)} +function gd(a){if(a&&a.nodeType){var b=z(a),c=b.V;void 0===c&&(C(a)?(c=a,b.V=c):(c=(c=a.parentNode)?gd(c):a,D.contains.call(document.documentElement,a)&&(b.V=c)));return c}}function hd(a,b,c){var d=[];id(a.childNodes,b,c,d);return d}function id(a,b,c,d){for(var e=0,f=a.length,g;e<f&&(g=a[e]);e++){var h;if(h=g.nodeType===Node.ELEMENT_NODE){h=g;var k=b,m=c,n=d,r=k(h);r&&n.push(h);m&&m(r)?h=r:(id(h.childNodes,k,m,n),h=void 0)}if(h)break}}var jd=null; +function kd(a,b,c){jd||(jd=window.ShadyCSS&&window.ShadyCSS.ScopingShim);jd&&"class"===b?jd.setElementClass(a,c):(D.setAttribute.call(a,b,c),dd(a,b))}function ld(a,b){if(a.ownerDocument!==document)return D.importNode.call(document,a,b);var c=D.importNode.call(document,a,!1);if(b){a=a.childNodes;b=0;for(var d;b<a.length;b++)d=ld(a[b],!0),c.appendChild(d)}return c};var md="__eventWrappers"+Date.now(),nd={blur:!0,focus:!0,focusin:!0,focusout:!0,click:!0,dblclick:!0,mousedown:!0,mouseenter:!0,mouseleave:!0,mousemove:!0,mouseout:!0,mouseover:!0,mouseup:!0,wheel:!0,beforeinput:!0,input:!0,keydown:!0,keyup:!0,compositionstart:!0,compositionupdate:!0,compositionend:!0,touchstart:!0,touchend:!0,touchmove:!0,touchcancel:!0,pointerover:!0,pointerenter:!0,pointerdown:!0,pointermove:!0,pointerup:!0,pointercancel:!0,pointerout:!0,pointerleave:!0,gotpointercapture:!0,lostpointercapture:!0, +dragstart:!0,drag:!0,dragenter:!0,dragleave:!0,dragover:!0,drop:!0,dragend:!0,DOMActivate:!0,DOMFocusIn:!0,DOMFocusOut:!0,keypress:!0};function od(a,b){var c=[],d=a;for(a=a===window?window:a.getRootNode();d;)c.push(d),d=d.assignedSlot?d.assignedSlot:d.nodeType===Node.DOCUMENT_FRAGMENT_NODE&&d.host&&(b||d!==a)?d.host:d.parentNode;c[c.length-1]===document&&c.push(window);return c} +function pd(a,b){if(!C)return a;a=od(a,!0);for(var c=0,d,e,f,g;c<b.length;c++)if(d=b[c],f=d===window?window:d.getRootNode(),f!==e&&(g=a.indexOf(f),e=f),!C(f)||-1<g)return d} +var qd={get composed(){!1!==this.isTrusted&&void 0===this.ha&&(this.ha=nd[this.type]);return this.ha||!1},composedPath:function(){this.ta||(this.ta=od(this.__target,this.composed));return this.ta},get target(){return pd(this.currentTarget,this.composedPath())},get relatedTarget(){if(!this.ja)return null;this.wa||(this.wa=od(this.ja,!0));return pd(this.currentTarget,this.wa)},stopPropagation:function(){Event.prototype.stopPropagation.call(this);this.ia=!0},stopImmediatePropagation:function(){Event.prototype.stopImmediatePropagation.call(this); +this.ia=this.Ha=!0}};function rd(a){function b(b,d){b=new a(b,d);b.ha=d&&!!d.composed;return b}Ab(b,a);b.prototype=a.prototype;return b}var sd={focus:!0,blur:!0};function td(a){return a.__target!==a.target||a.ja!==a.relatedTarget}function ud(a,b,c){if(c=b.__handlers&&b.__handlers[a.type]&&b.__handlers[a.type][c])for(var d=0,e;(e=c[d])&&(!td(a)||a.target!==a.relatedTarget)&&(e.call(b,a),!a.Ha);d++);} +function vd(a){var b=a.composedPath();Object.defineProperty(a,"currentTarget",{get:function(){return d},configurable:!0});for(var c=b.length-1;0<=c;c--){var d=b[c];ud(a,d,"capture");if(a.ia)return}Object.defineProperty(a,"eventPhase",{get:function(){return Event.AT_TARGET}});var e;for(c=0;c<b.length;c++){d=b[c];var f=A(d);f=f&&f.root;if(0===c||f&&f===e)if(ud(a,d,"bubble"),d!==window&&(e=d.getRootNode()),a.ia)break}} +function wd(a,b,c,d,e,f){for(var g=0;g<a.length;g++){var h=a[g],k=h.type,m=h.capture,n=h.once,r=h.passive;if(b===h.node&&c===k&&d===m&&e===n&&f===r)return g}return-1} +function xd(a,b,c){if(b){var d=typeof b;if("function"===d||"object"===d)if("object"!==d||b.handleEvent&&"function"===typeof b.handleEvent){if(c&&"object"===typeof c){var e=!!c.capture;var f=!!c.once;var g=!!c.passive}else e=!!c,g=f=!1;var h=c&&c.la||this,k=b[md];if(k){if(-1<wd(k,h,a,e,f,g))return}else b[md]=[];k=function(e){f&&this.removeEventListener(a,b,c);e.__target||yd(e);if(h!==this){var g=Object.getOwnPropertyDescriptor(e,"currentTarget");Object.defineProperty(e,"currentTarget",{get:function(){return h}, +configurable:!0})}if(e.composed||-1<e.composedPath().indexOf(h))if(td(e)&&e.target===e.relatedTarget)e.eventPhase===Event.BUBBLING_PHASE&&e.stopImmediatePropagation();else if(e.eventPhase===Event.CAPTURING_PHASE||e.bubbles||e.target===h||h instanceof Window){var k="function"===d?b.call(h,e):b.handleEvent&&b.handleEvent(e);h!==this&&(g?(Object.defineProperty(e,"currentTarget",g),g=null):delete e.currentTarget);return k}};b[md].push({node:h,type:a,capture:e,once:f,passive:g,gb:k});sd[a]?(this.__handlers= +this.__handlers||{},this.__handlers[a]=this.__handlers[a]||{capture:[],bubble:[]},this.__handlers[a][e?"capture":"bubble"].push(k)):(this instanceof Window?D.eb:D.addEventListener).call(this,a,k,c)}}} +function zd(a,b,c){if(b){if(c&&"object"===typeof c){var d=!!c.capture;var e=!!c.once;var f=!!c.passive}else d=!!c,f=e=!1;var g=c&&c.la||this,h=void 0;var k=null;try{k=b[md]}catch(m){}k&&(e=wd(k,g,a,d,e,f),-1<e&&(h=k.splice(e,1)[0].gb,k.length||(b[md]=void 0)));(this instanceof Window?D.fb:D.removeEventListener).call(this,a,h||b,c);h&&sd[a]&&this.__handlers&&this.__handlers[a]&&(a=this.__handlers[a][d?"capture":"bubble"],h=a.indexOf(h),-1<h&&a.splice(h,1))}} +function Ad(){for(var a in sd)window.addEventListener(a,function(a){a.__target||(yd(a),vd(a))},!0)}function yd(a){a.__target=a.target;a.ja=a.relatedTarget;if(B.I){var b=Object.getPrototypeOf(a);if(!b.hasOwnProperty("__patchProto")){var c=Object.create(b);c.ib=b;yb(c,qd);b.__patchProto=c}a.__proto__=b.__patchProto}else yb(a,qd)}var Bd=rd(window.Event),Cd=rd(window.CustomEvent),Dd=rd(window.MouseEvent);function Ed(a,b){return{index:a,W:[],ba:b}} +function Fd(a,b,c,d){var e=0,f=0,g=0,h=0,k=Math.min(b-e,d-f);if(0==e&&0==f)a:{for(g=0;g<k;g++)if(a[g]!==c[g])break a;g=k}if(b==a.length&&d==c.length){h=a.length;for(var m=c.length,n=0;n<k-g&&Gd(a[--h],c[--m]);)n++;h=n}e+=g;f+=g;b-=h;d-=h;if(0==b-e&&0==d-f)return[];if(e==b){for(b=Ed(e,0);f<d;)b.W.push(c[f++]);return[b]}if(f==d)return[Ed(e,b-e)];k=e;g=f;d=d-g+1;h=b-k+1;b=Array(d);for(m=0;m<d;m++)b[m]=Array(h),b[m][0]=m;for(m=0;m<h;m++)b[0][m]=m;for(m=1;m<d;m++)for(n=1;n<h;n++)if(a[k+n-1]===c[g+m-1])b[m][n]= +b[m-1][n-1];else{var r=b[m-1][n]+1,G=b[m][n-1]+1;b[m][n]=r<G?r:G}k=b.length-1;g=b[0].length-1;d=b[k][g];for(a=[];0<k||0<g;)0==k?(a.push(2),g--):0==g?(a.push(3),k--):(h=b[k-1][g-1],m=b[k-1][g],n=b[k][g-1],r=m<n?m<h?m:h:n<h?n:h,r==h?(h==d?a.push(0):(a.push(1),d=h),k--,g--):r==m?(a.push(3),k--,d=m):(a.push(2),g--,d=n));a.reverse();b=void 0;k=[];for(g=0;g<a.length;g++)switch(a[g]){case 0:b&&(k.push(b),b=void 0);e++;f++;break;case 1:b||(b=Ed(e,0));b.ba++;e++;b.W.push(c[f]);f++;break;case 2:b||(b=Ed(e, +0));b.ba++;e++;break;case 3:b||(b=Ed(e,0)),b.W.push(c[f]),f++}b&&k.push(b);return k}function Gd(a,b){return a===b};var bd=M.parentNode,Hd=M.childNodes,Id={};function Jd(a){var b=[];do b.unshift(a);while(a=a.parentNode);return b}function Nc(a,b,c){if(a!==Id)throw new TypeError("Illegal constructor");this.Oa="ShadyRoot";a=Hd(b);this.host=b;this.b=c&&c.mode;Sc(b,a);c=A(b);c.root=this;c.Da="closed"!==this.b?this:null;c=z(this);c.firstChild=c.lastChild=c.parentNode=c.nextSibling=c.previousSibling=null;c.childNodes=[];this.aa=!1;this.a=this.w=this.m=null;c=0;for(var d=a.length;c<d;c++)D.removeChild.call(b,a[c])} +function Wc(a){a.aa||(a.aa=!0,Jb(function(){return Kd(a)}))}function Kd(a){for(var b;a;){a.aa&&(b=a);a:{var c=a;a=c.host.getRootNode();if(C(a))for(var d=c.host.childNodes,e=0;e<d.length;e++)if(c=d[e],"slot"==c.localName)break a;a=void 0}}b&&b._renderRoot()} +Nc.prototype._renderRoot=function(){this.aa=!1;if(this.m){ad(this);for(var a=0,b;a<this.m.length;a++){b=this.m[a];var c=A(b),d=c.assignedNodes;c.assignedNodes=[];c.L=[];if(c.pa=d)for(c=0;c<d.length;c++){var e=A(d[c]);e.Z=e.assignedSlot;e.assignedSlot===b&&(e.assignedSlot=null)}}for(b=this.host.firstChild;b;b=b.nextSibling)Ld(this,b);for(a=0;a<this.m.length;a++){b=this.m[a];d=A(b);if(!d.assignedNodes.length)for(c=b.firstChild;c;c=c.nextSibling)Ld(this,c,b);(c=(c=A(b.parentNode))&&c.root)&&cd(c)&&c._renderRoot(); +Md(this,d.L,d.assignedNodes);if(c=d.pa){for(e=0;e<c.length;e++)A(c[e]).Z=null;d.pa=null;c.length>d.assignedNodes.length&&(d.da=!0)}d.da&&(d.da=!1,Nd(this,b))}a=this.m;b=[];for(d=0;d<a.length;d++)c=a[d].parentNode,(e=A(c))&&e.root||!(0>b.indexOf(c))||b.push(c);for(a=0;a<b.length;a++){d=b[a];c=d===this?this.host:d;e=[];d=d.childNodes;for(var f=0;f<d.length;f++){var g=d[f];if("slot"==g.localName){g=A(g).L;for(var h=0;h<g.length;h++)e.push(g[h])}else e.push(g)}d=void 0;f=Hd(c);g=Fd(e,e.length,f,f.length); +for(var k=h=0;h<g.length&&(d=g[h]);h++){for(var m=0,n;m<d.W.length&&(n=d.W[m]);m++)bd(n)===c&&D.removeChild.call(c,n),f.splice(d.index+k,1);k-=d.ba}for(k=0;k<g.length&&(d=g[k]);k++)for(h=f[d.index],m=d.index;m<d.index+d.ba;m++)n=e[m],D.insertBefore.call(c,n,h),f.splice(m,0,n)}}};function Ld(a,b,c){var d=z(b),e=d.Z;d.Z=null;c||(c=(a=a.w[b.slot||"__catchall"])&&a[0]);c?(z(c).assignedNodes.push(b),d.assignedSlot=c):d.assignedSlot=void 0;e!==d.assignedSlot&&d.assignedSlot&&(z(d.assignedSlot).da=!0)} +function Md(a,b,c){for(var d=0,e;d<c.length&&(e=c[d]);d++)if("slot"==e.localName){var f=A(e).assignedNodes;f&&f.length&&Md(a,b,f)}else b.push(c[d])}function Nd(a,b){D.dispatchEvent.call(b,new Event("slotchange"));b=A(b);b.assignedSlot&&Nd(a,b.assignedSlot)}function ad(a){if(a.a&&a.a.length){for(var b=a.a,c,d=0;d<b.length;d++){var e=b[d];Sc(e);Sc(e.parentNode);var f=ed(e);a.w[f]?(c=c||{},c[f]=!0,a.w[f].push(e)):a.w[f]=[e];a.m.push(e)}if(c)for(var g in c)a.w[g]=fd(a.w[g]);a.a=[]}} +function ed(a){var b=a.name||a.getAttribute("name")||"__catchall";return a.Ja=b}function fd(a){return a.sort(function(a,c){a=Jd(a);for(var b=Jd(c),e=0;e<a.length;e++){c=a[e];var f=b[e];if(c!==f)return a=Array.from(c.parentNode.childNodes),a.indexOf(c)-a.indexOf(f)}})}function cd(a){ad(a);return!(!a.m||!a.m.length)};function Od(a){var b=a.getRootNode();C(b)&&Kd(b);return(a=A(a))&&a.assignedSlot||null} +var Pd={addEventListener:xd.bind(window),removeEventListener:zd.bind(window)},Qd={addEventListener:xd,removeEventListener:zd,appendChild:function(a){return Uc(this,a)},insertBefore:function(a,b){return Uc(this,a,b)},removeChild:function(a){return Vc(this,a)},replaceChild:function(a,b){Uc(this,a,b);Vc(this,b);return a},cloneNode:function(a){if("template"==this.localName)var b=D.cloneNode.call(this,a);else if(b=D.cloneNode.call(this,!1),a){a=this.childNodes;for(var c=0,d;c<a.length;c++)d=a[c].cloneNode(!0), +b.appendChild(d)}return b},getRootNode:function(){return gd(this)},contains:function(a){return Gb(this,a)},dispatchEvent:function(a){Kb();return D.dispatchEvent.call(this,a)}}; +Object.defineProperties(Qd,{isConnected:{get:function(){if(Ac&&Ac.call(this))return!0;if(this.nodeType==Node.DOCUMENT_FRAGMENT_NODE)return!1;var a=this.ownerDocument;if(Fb){if(D.contains.call(a,this))return!0}else if(a.documentElement&&D.contains.call(a.documentElement,this))return!0;for(a=this;a&&!(a instanceof Document);)a=a.parentNode||(C(a)?a.host:void 0);return!!(a&&a instanceof Document)},configurable:!0}}); +var Rd={get assignedSlot(){return Od(this)}},Sd={querySelector:function(a){return hd(this,function(b){return xb.call(b,a)},function(a){return!!a})[0]||null},querySelectorAll:function(a,b){if(b){b=Array.prototype.slice.call(D.querySelectorAll(this,a));var c=this.getRootNode();return b.filter(function(a){return a.getRootNode()==c})}return hd(this,function(b){return xb.call(b,a)})}},Td={assignedNodes:function(a){if("slot"===this.localName){var b=this.getRootNode();C(b)&&Kd(b);return(b=A(this))?(a&&a.flatten? +b.L:b.assignedNodes)||[]:[]}}},Ud=zb({setAttribute:function(a,b){kd(this,a,b)},removeAttribute:function(a){D.removeAttribute.call(this,a);dd(this,a)},attachShadow:function(a){if(!this)throw"Must provide a host.";if(!a)throw"Not enough arguments.";return new Nc(Id,this,a)},get slot(){return this.getAttribute("slot")},set slot(a){kd(this,"slot",a)},get assignedSlot(){return Od(this)}},Sd,Td);Object.defineProperties(Ud,Jc); +var Vd=zb({importNode:function(a,b){return ld(a,b)},getElementById:function(a){return hd(this,function(b){return b.id==a},function(a){return!!a})[0]||null}},Sd);Object.defineProperties(Vd,{_activeElement:Kc.activeElement}); +var Wd=HTMLElement.prototype.blur,Xd=zb({blur:function(){var a=A(this);(a=(a=a&&a.root)&&a.activeElement)?a.blur():Wd.call(this)}}),Yd={addEventListener:function(a,b,c){"object"!==typeof c&&(c={capture:!!c});c.la=this;this.host.addEventListener(a,b,c)},removeEventListener:function(a,b,c){"object"!==typeof c&&(c={capture:!!c});c.la=this;this.host.removeEventListener(a,b,c)},getElementById:function(a){return hd(this,function(b){return b.id==a},function(a){return!!a})[0]||null}}; +function Zd(a,b){for(var c=Object.getOwnPropertyNames(b),d=0;d<c.length;d++){var e=c[d],f=Object.getOwnPropertyDescriptor(b,e);f.value?a[e]=f.value:Object.defineProperty(a,e,f)}};if(B.Ba){var ShadyDOM={inUse:B.Ba,patch:function(a){Pc(a);Oc(a);return a},isShadyRoot:C,enqueue:Jb,flush:Kb,settings:B,filterMutations:Qb,observeChildren:Ob,unobserveChildren:Pb,nativeMethods:D,nativeTree:M};window.ShadyDOM=ShadyDOM;window.Event=Bd;window.CustomEvent=Cd;window.MouseEvent=Dd;Ad();var $d=window.customElements&&window.customElements.nativeHTMLElement||HTMLElement;Zd(Nc.prototype,Yd);Zd(window.Node.prototype,Qd);Zd(window.Window.prototype,Pd);Zd(window.Text.prototype,Rd);Zd(window.DocumentFragment.prototype, +Sd);Zd(window.Element.prototype,Ud);Zd(window.Document.prototype,Vd);window.HTMLSlotElement&&Zd(window.HTMLSlotElement.prototype,Td);Zd($d.prototype,Xd);B.I&&(Lc(window.Node.prototype),Lc(window.Text.prototype),Lc(window.DocumentFragment.prototype),Lc(window.Element.prototype),Lc($d.prototype),Lc(window.Document.prototype),window.HTMLSlotElement&&Lc(window.HTMLSlotElement.prototype));Mc();window.ShadowRoot=Nc};var ae=new Set("annotation-xml color-profile font-face font-face-src font-face-uri font-face-format font-face-name missing-glyph".split(" "));function be(a){var b=ae.has(a);a=/^[a-z][.0-9_a-z]*-[\-.0-9_a-z]*$/.test(a);return!b&&a}function O(a){var b=a.isConnected;if(void 0!==b)return b;for(;a&&!(a.__CE_isImportDocument||a instanceof Document);)a=a.parentNode||(window.ShadowRoot&&a instanceof ShadowRoot?a.host:void 0);return!(!a||!(a.__CE_isImportDocument||a instanceof Document))} +function ce(a,b){for(;b&&b!==a&&!b.nextSibling;)b=b.parentNode;return b&&b!==a?b.nextSibling:null} +function de(a,b,c){c=void 0===c?new Set:c;for(var d=a;d;){if(d.nodeType===Node.ELEMENT_NODE){var e=d;b(e);var f=e.localName;if("link"===f&&"import"===e.getAttribute("rel")){d=e.import;if(d instanceof Node&&!c.has(d))for(c.add(d),d=d.firstChild;d;d=d.nextSibling)de(d,b,c);d=ce(a,e);continue}else if("template"===f){d=ce(a,e);continue}if(e=e.__CE_shadowRoot)for(e=e.firstChild;e;e=e.nextSibling)de(e,b,c)}d=d.firstChild?d.firstChild:ce(a,d)}}function P(a,b,c){a[b]=c};function ee(){this.a=new Map;this.M=new Map;this.F=[];this.c=!1}function fe(a,b,c){a.a.set(b,c);a.M.set(c.constructor,c)}function ge(a,b){a.c=!0;a.F.push(b)}function he(a,b){a.c&&de(b,function(b){return a.b(b)})}ee.prototype.b=function(a){if(this.c&&!a.__CE_patched){a.__CE_patched=!0;for(var b=0;b<this.F.length;b++)this.F[b](a)}};function Q(a,b){var c=[];de(b,function(a){return c.push(a)});for(b=0;b<c.length;b++){var d=c[b];1===d.__CE_state?a.connectedCallback(d):ie(a,d)}} +function R(a,b){var c=[];de(b,function(a){return c.push(a)});for(b=0;b<c.length;b++){var d=c[b];1===d.__CE_state&&a.disconnectedCallback(d)}} +function je(a,b,c){c=void 0===c?{}:c;var d=c.bb||new Set,e=c.ga||function(b){return ie(a,b)},f=[];de(b,function(b){if("link"===b.localName&&"import"===b.getAttribute("rel")){var c=b.import;c instanceof Node&&(c.__CE_isImportDocument=!0,c.__CE_hasRegistry=!0);c&&"complete"===c.readyState?c.__CE_documentLoadHandled=!0:b.addEventListener("load",function(){var c=b.import;if(!c.__CE_documentLoadHandled){c.__CE_documentLoadHandled=!0;var f=new Set(d);f.delete(c);je(a,c,{bb:f,ga:e})}})}else f.push(b)},d); +if(a.c)for(b=0;b<f.length;b++)a.b(f[b]);for(b=0;b<f.length;b++)e(f[b])} +function ie(a,b){if(void 0===b.__CE_state){var c=b.ownerDocument;if(c.defaultView||c.__CE_isImportDocument&&c.__CE_hasRegistry)if(c=a.a.get(b.localName)){c.constructionStack.push(b);var d=c.constructor;try{try{if(new d!==b)throw Error("The custom element constructor did not produce the element being upgraded.");}finally{c.constructionStack.pop()}}catch(g){throw b.__CE_state=2,g;}b.__CE_state=1;b.__CE_definition=c;if(c.attributeChangedCallback)for(c=c.observedAttributes,d=0;d<c.length;d++){var e=c[d], +f=b.getAttribute(e);null!==f&&a.attributeChangedCallback(b,e,null,f,null)}O(b)&&a.connectedCallback(b)}}}ee.prototype.connectedCallback=function(a){var b=a.__CE_definition;b.connectedCallback&&b.connectedCallback.call(a)};ee.prototype.disconnectedCallback=function(a){var b=a.__CE_definition;b.disconnectedCallback&&b.disconnectedCallback.call(a)}; +ee.prototype.attributeChangedCallback=function(a,b,c,d,e){var f=a.__CE_definition;f.attributeChangedCallback&&-1<f.observedAttributes.indexOf(b)&&f.attributeChangedCallback.call(a,b,c,d,e)};function ke(a){var b=document;this.A=a;this.a=b;this.P=void 0;je(this.A,this.a);"loading"===this.a.readyState&&(this.P=new MutationObserver(this.b.bind(this)),this.P.observe(this.a,{childList:!0,subtree:!0}))}function le(a){a.P&&a.P.disconnect()}ke.prototype.b=function(a){var b=this.a.readyState;"interactive"!==b&&"complete"!==b||le(this);for(b=0;b<a.length;b++)for(var c=a[b].addedNodes,d=0;d<c.length;d++)je(this.A,c[d])};function me(){var a=this;this.b=this.a=void 0;this.c=new Promise(function(b){a.b=b;a.a&&b(a.a)})}me.prototype.resolve=function(a){if(this.a)throw Error("Already resolved.");this.a=a;this.b&&this.b(a)};function S(a){this.ma=!1;this.A=a;this.ra=new Map;this.na=function(a){return a()};this.Y=!1;this.oa=[];this.Ma=new ke(a)}q=S.prototype; +q.define=function(a,b){var c=this;if(!(b instanceof Function))throw new TypeError("Custom element constructors must be functions.");if(!be(a))throw new SyntaxError("The element name '"+a+"' is not valid.");if(this.A.a.get(a))throw Error("A custom element with name '"+a+"' has already been defined.");if(this.ma)throw Error("A custom element is already being defined.");this.ma=!0;try{var d=function(a){var b=e[a];if(void 0!==b&&!(b instanceof Function))throw Error("The '"+a+"' callback must be a function."); +return b},e=b.prototype;if(!(e instanceof Object))throw new TypeError("The custom element constructor's prototype is not an object.");var f=d("connectedCallback");var g=d("disconnectedCallback");var h=d("adoptedCallback");var k=d("attributeChangedCallback");var m=b.observedAttributes||[]}catch(n){return}finally{this.ma=!1}b={localName:a,constructor:b,connectedCallback:f,disconnectedCallback:g,adoptedCallback:h,attributeChangedCallback:k,observedAttributes:m,constructionStack:[]};fe(this.A,a,b);this.oa.push(b); +this.Y||(this.Y=!0,this.na(function(){return ne(c)}))};q.ga=function(a){je(this.A,a)}; +function ne(a){if(!1!==a.Y){a.Y=!1;for(var b=a.oa,c=[],d=new Map,e=0;e<b.length;e++)d.set(b[e].localName,[]);je(a.A,document,{ga:function(b){if(void 0===b.__CE_state){var e=b.localName,f=d.get(e);f?f.push(b):a.A.a.get(e)&&c.push(b)}}});for(e=0;e<c.length;e++)ie(a.A,c[e]);for(;0<b.length;){var f=b.shift();e=f.localName;f=d.get(f.localName);for(var g=0;g<f.length;g++)ie(a.A,f[g]);(e=a.ra.get(e))&&e.resolve(void 0)}}}q.get=function(a){if(a=this.A.a.get(a))return a.constructor}; +q.whenDefined=function(a){if(!be(a))return Promise.reject(new SyntaxError("'"+a+"' is not a valid custom element name."));var b=this.ra.get(a);if(b)return b.c;b=new me;this.ra.set(a,b);this.A.a.get(a)&&!this.oa.some(function(b){return b.localName===a})&&b.resolve(void 0);return b.c};q.Xa=function(a){le(this.Ma);var b=this.na;this.na=function(c){return a(function(){return b(c)})}};window.CustomElementRegistry=S;S.prototype.define=S.prototype.define;S.prototype.upgrade=S.prototype.ga; +S.prototype.get=S.prototype.get;S.prototype.whenDefined=S.prototype.whenDefined;S.prototype.polyfillWrapFlushCallback=S.prototype.Xa;var oe=window.Document.prototype.createElement,pe=window.Document.prototype.createElementNS,qe=window.Document.prototype.importNode,re=window.Document.prototype.prepend,se=window.Document.prototype.append,te=window.DocumentFragment.prototype.prepend,ue=window.DocumentFragment.prototype.append,ve=window.Node.prototype.cloneNode,we=window.Node.prototype.appendChild,xe=window.Node.prototype.insertBefore,ye=window.Node.prototype.removeChild,ze=window.Node.prototype.replaceChild,Ae=Object.getOwnPropertyDescriptor(window.Node.prototype, +"textContent"),Be=window.Element.prototype.attachShadow,Ce=Object.getOwnPropertyDescriptor(window.Element.prototype,"innerHTML"),De=window.Element.prototype.getAttribute,Ee=window.Element.prototype.setAttribute,Fe=window.Element.prototype.removeAttribute,Ge=window.Element.prototype.getAttributeNS,He=window.Element.prototype.setAttributeNS,Ie=window.Element.prototype.removeAttributeNS,Je=window.Element.prototype.insertAdjacentElement,Ke=window.Element.prototype.insertAdjacentHTML,Le=window.Element.prototype.prepend, +Me=window.Element.prototype.append,Ne=window.Element.prototype.before,Oe=window.Element.prototype.after,Pe=window.Element.prototype.replaceWith,Qe=window.Element.prototype.remove,Re=window.HTMLElement,Se=Object.getOwnPropertyDescriptor(window.HTMLElement.prototype,"innerHTML"),Te=window.HTMLElement.prototype.insertAdjacentElement,Ue=window.HTMLElement.prototype.insertAdjacentHTML;var Ve=new function(){};function We(){var a=Xe;window.HTMLElement=function(){function b(){var b=this.constructor,d=a.M.get(b);if(!d)throw Error("The custom element being constructed was not registered with `customElements`.");var e=d.constructionStack;if(0===e.length)return e=oe.call(document,d.localName),Object.setPrototypeOf(e,b.prototype),e.__CE_state=1,e.__CE_definition=d,a.b(e),e;d=e.length-1;var f=e[d];if(f===Ve)throw Error("The HTMLElement constructor was either called reentrantly for this constructor or called multiple times."); +e[d]=Ve;Object.setPrototypeOf(f,b.prototype);a.b(f);return f}b.prototype=Re.prototype;return b}()};function Ye(a,b,c){function d(b){return function(c){for(var d=[],e=0;e<arguments.length;++e)d[e-0]=arguments[e];e=[];for(var f=[],m=0;m<d.length;m++){var n=d[m];n instanceof Element&&O(n)&&f.push(n);if(n instanceof DocumentFragment)for(n=n.firstChild;n;n=n.nextSibling)e.push(n);else e.push(n)}b.apply(this,d);for(d=0;d<f.length;d++)R(a,f[d]);if(O(this))for(d=0;d<e.length;d++)f=e[d],f instanceof Element&&Q(a,f)}}void 0!==c.fa&&(b.prepend=d(c.fa));void 0!==c.append&&(b.append=d(c.append))};function Ze(){var a=Xe;P(Document.prototype,"createElement",function(b){if(this.__CE_hasRegistry){var c=a.a.get(b);if(c)return new c.constructor}b=oe.call(this,b);a.b(b);return b});P(Document.prototype,"importNode",function(b,c){b=qe.call(this,b,c);this.__CE_hasRegistry?je(a,b):he(a,b);return b});P(Document.prototype,"createElementNS",function(b,c){if(this.__CE_hasRegistry&&(null===b||"http://www.w3.org/1999/xhtml"===b)){var d=a.a.get(c);if(d)return new d.constructor}b=pe.call(this,b,c);a.b(b);return b}); +Ye(a,Document.prototype,{fa:re,append:se})};function $e(){var a=Xe;function b(b,d){Object.defineProperty(b,"textContent",{enumerable:d.enumerable,configurable:!0,get:d.get,set:function(b){if(this.nodeType===Node.TEXT_NODE)d.set.call(this,b);else{var c=void 0;if(this.firstChild){var e=this.childNodes,h=e.length;if(0<h&&O(this)){c=Array(h);for(var k=0;k<h;k++)c[k]=e[k]}}d.set.call(this,b);if(c)for(b=0;b<c.length;b++)R(a,c[b])}}})}P(Node.prototype,"insertBefore",function(b,d){if(b instanceof DocumentFragment){var c=Array.prototype.slice.apply(b.childNodes); +b=xe.call(this,b,d);if(O(this))for(d=0;d<c.length;d++)Q(a,c[d]);return b}c=O(b);d=xe.call(this,b,d);c&&R(a,b);O(this)&&Q(a,b);return d});P(Node.prototype,"appendChild",function(b){if(b instanceof DocumentFragment){var c=Array.prototype.slice.apply(b.childNodes);b=we.call(this,b);if(O(this))for(var e=0;e<c.length;e++)Q(a,c[e]);return b}c=O(b);e=we.call(this,b);c&&R(a,b);O(this)&&Q(a,b);return e});P(Node.prototype,"cloneNode",function(b){b=ve.call(this,b);this.ownerDocument.__CE_hasRegistry?je(a,b): +he(a,b);return b});P(Node.prototype,"removeChild",function(b){var c=O(b),e=ye.call(this,b);c&&R(a,b);return e});P(Node.prototype,"replaceChild",function(b,d){if(b instanceof DocumentFragment){var c=Array.prototype.slice.apply(b.childNodes);b=ze.call(this,b,d);if(O(this))for(R(a,d),d=0;d<c.length;d++)Q(a,c[d]);return b}c=O(b);var f=ze.call(this,b,d),g=O(this);g&&R(a,d);c&&R(a,b);g&&Q(a,b);return f});Ae&&Ae.get?b(Node.prototype,Ae):ge(a,function(a){b(a,{enumerable:!0,configurable:!0,get:function(){for(var a= +[],b=0;b<this.childNodes.length;b++)a.push(this.childNodes[b].textContent);return a.join("")},set:function(a){for(;this.firstChild;)ye.call(this,this.firstChild);we.call(this,document.createTextNode(a))}})})};function af(a){var b=Element.prototype;function c(b){return function(c){for(var d=[],e=0;e<arguments.length;++e)d[e-0]=arguments[e];e=[];for(var h=[],k=0;k<d.length;k++){var m=d[k];m instanceof Element&&O(m)&&h.push(m);if(m instanceof DocumentFragment)for(m=m.firstChild;m;m=m.nextSibling)e.push(m);else e.push(m)}b.apply(this,d);for(d=0;d<h.length;d++)R(a,h[d]);if(O(this))for(d=0;d<e.length;d++)h=e[d],h instanceof Element&&Q(a,h)}}void 0!==Ne&&(b.before=c(Ne));void 0!==Ne&&(b.after=c(Oe));void 0!== +Pe&&P(b,"replaceWith",function(b){for(var c=[],d=0;d<arguments.length;++d)c[d-0]=arguments[d];d=[];for(var g=[],h=0;h<c.length;h++){var k=c[h];k instanceof Element&&O(k)&&g.push(k);if(k instanceof DocumentFragment)for(k=k.firstChild;k;k=k.nextSibling)d.push(k);else d.push(k)}h=O(this);Pe.apply(this,c);for(c=0;c<g.length;c++)R(a,g[c]);if(h)for(R(a,this),c=0;c<d.length;c++)g=d[c],g instanceof Element&&Q(a,g)});void 0!==Qe&&P(b,"remove",function(){var b=O(this);Qe.call(this);b&&R(a,this)})};function bf(){var a=Xe;function b(b,c){Object.defineProperty(b,"innerHTML",{enumerable:c.enumerable,configurable:!0,get:c.get,set:function(b){var d=this,e=void 0;O(this)&&(e=[],de(this,function(a){a!==d&&e.push(a)}));c.set.call(this,b);if(e)for(var f=0;f<e.length;f++){var g=e[f];1===g.__CE_state&&a.disconnectedCallback(g)}this.ownerDocument.__CE_hasRegistry?je(a,this):he(a,this);return b}})}function c(b,c){P(b,"insertAdjacentElement",function(b,d){var e=O(d);b=c.call(this,b,d);e&&R(a,d);O(b)&&Q(a, +d);return b})}function d(b,c){function d(b,c){for(var d=[];b!==c;b=b.nextSibling)d.push(b);for(c=0;c<d.length;c++)je(a,d[c])}P(b,"insertAdjacentHTML",function(a,b){a=a.toLowerCase();if("beforebegin"===a){var e=this.previousSibling;c.call(this,a,b);d(e||this.parentNode.firstChild,this)}else if("afterbegin"===a)e=this.firstChild,c.call(this,a,b),d(this.firstChild,e);else if("beforeend"===a)e=this.lastChild,c.call(this,a,b),d(e||this.firstChild,null);else if("afterend"===a)e=this.nextSibling,c.call(this, +a,b),d(this.nextSibling,e);else throw new SyntaxError("The value provided ("+String(a)+") is not one of 'beforebegin', 'afterbegin', 'beforeend', or 'afterend'.");})}Be&&P(Element.prototype,"attachShadow",function(a){return this.__CE_shadowRoot=a=Be.call(this,a)});Ce&&Ce.get?b(Element.prototype,Ce):Se&&Se.get?b(HTMLElement.prototype,Se):ge(a,function(a){b(a,{enumerable:!0,configurable:!0,get:function(){return ve.call(this,!0).innerHTML},set:function(a){var b="template"===this.localName,c=b?this.content: +this,d=oe.call(document,this.localName);for(d.innerHTML=a;0<c.childNodes.length;)ye.call(c,c.childNodes[0]);for(a=b?d.content:d;0<a.childNodes.length;)we.call(c,a.childNodes[0])}})});P(Element.prototype,"setAttribute",function(b,c){if(1!==this.__CE_state)return Ee.call(this,b,c);var d=De.call(this,b);Ee.call(this,b,c);c=De.call(this,b);a.attributeChangedCallback(this,b,d,c,null)});P(Element.prototype,"setAttributeNS",function(b,c,d){if(1!==this.__CE_state)return He.call(this,b,c,d);var e=Ge.call(this, +b,c);He.call(this,b,c,d);d=Ge.call(this,b,c);a.attributeChangedCallback(this,c,e,d,b)});P(Element.prototype,"removeAttribute",function(b){if(1!==this.__CE_state)return Fe.call(this,b);var c=De.call(this,b);Fe.call(this,b);null!==c&&a.attributeChangedCallback(this,b,c,null,null)});P(Element.prototype,"removeAttributeNS",function(b,c){if(1!==this.__CE_state)return Ie.call(this,b,c);var d=Ge.call(this,b,c);Ie.call(this,b,c);var e=Ge.call(this,b,c);d!==e&&a.attributeChangedCallback(this,c,d,e,b)});Te? +c(HTMLElement.prototype,Te):Je?c(Element.prototype,Je):console.warn("Custom Elements: `Element#insertAdjacentElement` was not patched.");Ue?d(HTMLElement.prototype,Ue):Ke?d(Element.prototype,Ke):console.warn("Custom Elements: `Element#insertAdjacentHTML` was not patched.");Ye(a,Element.prototype,{fa:Le,append:Me});af(a)};var cf=window.customElements;if(!cf||cf.forcePolyfill||"function"!=typeof cf.define||"function"!=typeof cf.get){var Xe=new ee;We();Ze();Ye(Xe,DocumentFragment.prototype,{fa:te,append:ue});$e();bf();document.__CE_hasRegistry=!0;var customElements=new S(Xe);Object.defineProperty(window,"customElements",{configurable:!0,enumerable:!0,value:customElements})};function df(){this.end=this.start=0;this.rules=this.parent=this.previous=null;this.cssText=this.parsedCssText="";this.atRule=!1;this.type=0;this.parsedSelector=this.selector=this.keyframesName=""} +function ef(a){a=a.replace(ff,"").replace(gf,"");var b=hf,c=a,d=new df;d.start=0;d.end=c.length;for(var e=d,f=0,g=c.length;f<g;f++)if("{"===c[f]){e.rules||(e.rules=[]);var h=e,k=h.rules[h.rules.length-1]||null;e=new df;e.start=f+1;e.parent=h;e.previous=k;h.rules.push(e)}else"}"===c[f]&&(e.end=f+1,e=e.parent||d);return b(d,a)} +function hf(a,b){var c=b.substring(a.start,a.end-1);a.parsedCssText=a.cssText=c.trim();a.parent&&(c=b.substring(a.previous?a.previous.end:a.parent.start,a.start-1),c=jf(c),c=c.replace(kf," "),c=c.substring(c.lastIndexOf(";")+1),c=a.parsedSelector=a.selector=c.trim(),a.atRule=0===c.indexOf("@"),a.atRule?0===c.indexOf("@media")?a.type=lf:c.match(rf)&&(a.type=sf,a.keyframesName=a.selector.split(kf).pop()):a.type=0===c.indexOf("--")?tf:uf);if(c=a.rules)for(var d=0,e=c.length,f;d<e&&(f=c[d]);d++)hf(f, +b);return a}function jf(a){return a.replace(/\\([0-9a-f]{1,6})\s/gi,function(a,c){a=c;for(c=6-a.length;c--;)a="0"+a;return"\\"+a})} +function vf(a,b,c){c=void 0===c?"":c;var d="";if(a.cssText||a.rules){var e=a.rules,f;if(f=e)f=e[0],f=!(f&&f.selector&&0===f.selector.indexOf("--"));if(f){f=0;for(var g=e.length,h;f<g&&(h=e[f]);f++)d=vf(h,b,d)}else b?b=a.cssText:(b=a.cssText,b=b.replace(wf,"").replace(xf,""),b=b.replace(yf,"").replace(zf,"")),(d=b.trim())&&(d=" "+d+"\n")}d&&(a.selector&&(c+=a.selector+" {\n"),c+=d,a.selector&&(c+="}\n\n"));return c} +var uf=1,sf=7,lf=4,tf=1E3,ff=/\/\*[^*]*\*+([^/*][^*]*\*+)*\//gim,gf=/@import[^;]*;/gim,wf=/(?:^[^;\-\s}]+)?--[^;{}]*?:[^{};]*?(?:[;\n]|$)/gim,xf=/(?:^[^;\-\s}]+)?--[^;{}]*?:[^{};]*?{[^}]*?}(?:[;\n]|$)?/gim,yf=/@apply\s*\(?[^);]*\)?\s*(?:[;\n]|$)?/gim,zf=/[^;:]*?:[^;]*?var\([^;]*\)(?:[;\n]|$)?/gim,rf=/^@[^\s]*keyframes/,kf=/\s+/g;var T=!(window.ShadyDOM&&window.ShadyDOM.inUse),Af;function Bf(a){Af=a&&a.shimcssproperties?!1:T||!(navigator.userAgent.match(/AppleWebKit\/601|Edge\/15/)||!window.CSS||!CSS.supports||!CSS.supports("box-shadow","0 0 0 var(--foo)"))}window.ShadyCSS&&void 0!==window.ShadyCSS.nativeCss?Af=window.ShadyCSS.nativeCss:window.ShadyCSS?(Bf(window.ShadyCSS),window.ShadyCSS=void 0):Bf(window.WebComponents&&window.WebComponents.flags);var V=Af;var Cf=/(?:^|[;\s{]\s*)(--[\w-]*?)\s*:\s*(?:((?:'(?:\\'|.)*?'|"(?:\\"|.)*?"|\([^)]*?\)|[^};{])+)|\{([^}]*)\}(?:(?=[;\s}])|$))/gi,Df=/(?:^|\W+)@apply\s*\(?([^);\n]*)\)?/gi,Ef=/(--[\w-]+)\s*([:,;)]|$)/gi,Ff=/(animation\s*:)|(animation-name\s*:)/,Gf=/@media\s(.*)/,Hf=/\{[^}]*\}/g;var If=new Set;function Jf(a,b){if(!a)return"";"string"===typeof a&&(a=ef(a));b&&Kf(a,b);return vf(a,V)}function Lf(a){!a.__cssRules&&a.textContent&&(a.__cssRules=ef(a.textContent));return a.__cssRules||null}function Mf(a){return!!a.parent&&a.parent.type===sf}function Kf(a,b,c,d){if(a){var e=!1,f=a.type;if(d&&f===lf){var g=a.selector.match(Gf);g&&(window.matchMedia(g[1]).matches||(e=!0))}f===uf?b(a):c&&f===sf?c(a):f===tf&&(e=!0);if((a=a.rules)&&!e){e=0;f=a.length;for(var h;e<f&&(h=a[e]);e++)Kf(h,b,c,d)}}} +function Nf(a,b,c,d){var e=document.createElement("style");b&&e.setAttribute("scope",b);e.textContent=a;Of(e,c,d);return e}var Pf=null;function Of(a,b,c){b=b||document.head;b.insertBefore(a,c&&c.nextSibling||b.firstChild);Pf?a.compareDocumentPosition(Pf)===Node.DOCUMENT_POSITION_PRECEDING&&(Pf=a):Pf=a} +function Qf(a,b){var c=a.indexOf("var(");if(-1===c)return b(a,"","","");a:{var d=0;var e=c+3;for(var f=a.length;e<f;e++)if("("===a[e])d++;else if(")"===a[e]&&0===--d)break a;e=-1}d=a.substring(c+4,e);c=a.substring(0,c);a=Qf(a.substring(e+1),b);e=d.indexOf(",");return-1===e?b(c,d.trim(),"",a):b(c,d.substring(0,e).trim(),d.substring(e+1).trim(),a)}function Rf(a,b){T?a.setAttribute("class",b):window.ShadyDOM.nativeMethods.setAttribute.call(a,"class",b)} +function Sf(a){var b=a.localName,c="";b?-1<b.indexOf("-")||(c=b,b=a.getAttribute&&a.getAttribute("is")||""):(b=a.is,c=a.extends);return{is:b,X:c}};function Tf(){}function Uf(a,b,c){var d=Vf;a.__styleScoped?a.__styleScoped=null:Wf(d,a,b||"",c)}function Wf(a,b,c,d){b.nodeType===Node.ELEMENT_NODE&&Xf(b,c,d);if(b="template"===b.localName?(b.content||b.jb).childNodes:b.children||b.childNodes)for(var e=0;e<b.length;e++)Wf(a,b[e],c,d)} +function Xf(a,b,c){if(b)if(a.classList)c?(a.classList.remove("style-scope"),a.classList.remove(b)):(a.classList.add("style-scope"),a.classList.add(b));else if(a.getAttribute){var d=a.getAttribute(Yf);c?d&&(b=d.replace("style-scope","").replace(b,""),Rf(a,b)):Rf(a,(d?d+" ":"")+"style-scope "+b)}}function Zf(a,b,c){var d=Vf,e=a.__cssBuild;T||"shady"===e?b=Jf(b,c):(a=Sf(a),b=$f(d,b,a.is,a.X,c)+"\n\n");return b.trim()} +function $f(a,b,c,d,e){var f=ag(c,d);c=c?bg+c:"";return Jf(b,function(b){b.c||(b.selector=b.G=cg(a,b,a.b,c,f),b.c=!0);e&&e(b,c,f)})}function ag(a,b){return b?"[is="+a+"]":a}function cg(a,b,c,d,e){var f=b.selector.split(dg);if(!Mf(b)){b=0;for(var g=f.length,h;b<g&&(h=f[b]);b++)f[b]=c.call(a,h,d,e)}return f.join(dg)}function eg(a){return a.replace(fg,function(a,c,d){-1<d.indexOf("+")?d=d.replace(/\+/g,"___"):-1<d.indexOf("___")&&(d=d.replace(/___/g,"+"));return":"+c+"("+d+")"})} +Tf.prototype.b=function(a,b,c){var d=!1;a=a.trim();var e=fg.test(a);e&&(a=a.replace(fg,function(a,b,c){return":"+b+"("+c.replace(/\s/g,"")+")"}),a=eg(a));a=a.replace(gg,hg+" $1");a=a.replace(ig,function(a,e,h){d||(a=jg(h,e,b,c),d=d||a.stop,e=a.Sa,h=a.value);return e+h});e&&(a=eg(a));return a}; +function jg(a,b,c,d){var e=a.indexOf(kg);0<=a.indexOf(hg)?a=lg(a,d):0!==e&&(a=c?mg(a,c):a);c=!1;0<=e&&(b="",c=!0);if(c){var f=!0;c&&(a=a.replace(ng,function(a,b){return" > "+b}))}a=a.replace(og,function(a,b,c){return'[dir="'+c+'"] '+b+", "+b+'[dir="'+c+'"]'});return{value:a,Sa:b,stop:f}}function mg(a,b){a=a.split(pg);a[0]+=b;return a.join(pg)} +function lg(a,b){var c=a.match(qg);return(c=c&&c[2].trim()||"")?c[0].match(rg)?a.replace(qg,function(a,c,f){return b+f}):c.split(rg)[0]===b?c:sg:a.replace(hg,b)}function tg(a){a.selector===ug&&(a.selector="html")}Tf.prototype.c=function(a){return a.match(kg)?this.b(a,vg):mg(a.trim(),vg)};aa.Object.defineProperties(Tf.prototype,{a:{configurable:!0,enumerable:!0,get:function(){return"style-scope"}}}); +var fg=/:(nth[-\w]+)\(([^)]+)\)/,vg=":not(.style-scope)",dg=",",ig=/(^|[\s>+~]+)((?:\[.+?\]|[^\s>+~=[])+)/g,rg=/[[.:#*]/,hg=":host",ug=":root",kg="::slotted",gg=new RegExp("^("+kg+")"),qg=/(:host)(?:\(((?:\([^)(]*\)|[^)(]*)+?)\))/,ng=/(?:::slotted)(?:\(((?:\([^)(]*\)|[^)(]*)+?)\))/,og=/(.*):dir\((?:(ltr|rtl))\)/,bg=".",pg=":",Yf="class",sg="should_not_match",Vf=new Tf;function wg(a,b,c,d){this.K=a||null;this.b=b||null;this.sa=c||[];this.T=null;this.X=d||"";this.a=this.H=this.O=null}function xg(a){return a?a.__styleInfo:null}function yg(a,b){return a.__styleInfo=b}wg.prototype.c=function(){return this.K};wg.prototype._getStyleRules=wg.prototype.c;function zg(a){var b=this.matches||this.matchesSelector||this.mozMatchesSelector||this.msMatchesSelector||this.oMatchesSelector||this.webkitMatchesSelector;return b&&b.call(this,a)}var Ag=navigator.userAgent.match("Trident");function Bg(){}function Cg(a){var b={},c=[],d=0;Kf(a,function(a){Dg(a);a.index=d++;a=a.B.cssText;for(var c;c=Ef.exec(a);){var e=c[1];":"!==c[2]&&(b[e]=!0)}},function(a){c.push(a)});a.b=c;a=[];for(var e in b)a.push(e);return a} +function Dg(a){if(!a.B){var b={},c={};Eg(a,c)&&(b.J=c,a.rules=null);b.cssText=a.parsedCssText.replace(Hf,"").replace(Cf,"");a.B=b}}function Eg(a,b){var c=a.B;if(c){if(c.J)return Object.assign(b,c.J),!0}else{c=a.parsedCssText;for(var d;a=Cf.exec(c);){d=(a[2]||a[3]).trim();if("inherit"!==d||"unset"!==d)b[a[1].trim()]=d;d=!0}return d}} +function Fg(a,b,c){b&&(b=0<=b.indexOf(";")?Gg(a,b,c):Qf(b,function(b,e,f,g){if(!e)return b+g;(e=Fg(a,c[e],c))&&"initial"!==e?"apply-shim-inherit"===e&&(e="inherit"):e=Fg(a,c[f]||f,c)||f;return b+(e||"")+g}));return b&&b.trim()||""} +function Gg(a,b,c){b=b.split(";");for(var d=0,e,f;d<b.length;d++)if(e=b[d]){Df.lastIndex=0;if(f=Df.exec(e))e=Fg(a,c[f[1]],c);else if(f=e.indexOf(":"),-1!==f){var g=e.substring(f);g=g.trim();g=Fg(a,g,c)||g;e=e.substring(0,f)+g}b[d]=e&&e.lastIndexOf(";")===e.length-1?e.slice(0,-1):e||""}return b.join(";")} +function Hg(a,b){var c={},d=[];Kf(a,function(a){a.B||Dg(a);var e=a.G||a.parsedSelector;b&&a.B.J&&e&&zg.call(b,e)&&(Eg(a,c),a=a.index,e=parseInt(a/32,10),d[e]=(d[e]||0)|1<<a%32)},null,!0);return{J:c,key:d}} +function Ig(a,b,c,d){b.B||Dg(b);if(b.B.J){var e=Sf(a);a=e.is;e=e.X;e=a?ag(a,e):"html";var f=b.parsedSelector,g=":host > *"===f||"html"===f,h=0===f.indexOf(":host")&&!g;"shady"===c&&(g=f===e+" > *."+e||-1!==f.indexOf("html"),h=!g&&0===f.indexOf(e));"shadow"===c&&(g=":host > *"===f||"html"===f,h=h&&!g);if(g||h)c=e,h&&(b.G||(b.G=cg(Vf,b,Vf.b,a?bg+a:"",e)),c=b.G||e),d({Za:c,Wa:h,wb:g})}} +function Jg(a,b){var c={},d={},e=b&&b.__cssBuild;Kf(b,function(b){Ig(a,b,e,function(e){zg.call(a.kb||a,e.Za)&&(e.Wa?Eg(b,c):Eg(b,d))})},null,!0);return{Ya:d,Va:c}} +function Kg(a,b,c,d){var e=Sf(b),f=ag(e.is,e.X),g=new RegExp("(?:^|[^.#[:])"+(b.extends?"\\"+f.slice(0,-1)+"\\]":f)+"($|[.:[\\s>+~])");e=xg(b).K;var h=Lg(e,d);return Zf(b,e,function(b){var e="";b.B||Dg(b);b.B.cssText&&(e=Gg(a,b.B.cssText,c));b.cssText=e;if(!T&&!Mf(b)&&b.cssText){var k=e=b.cssText;null==b.za&&(b.za=Ff.test(e));if(b.za)if(null==b.ea){b.ea=[];for(var r in h)k=h[r],k=k(e),e!==k&&(e=k,b.ea.push(r))}else{for(r=0;r<b.ea.length;++r)k=h[b.ea[r]],e=k(e);k=e}b.cssText=k;b.G=b.G||b.selector; +e="."+d;r=b.G.split(",");k=0;for(var G=r.length,x;k<G&&(x=r[k]);k++)r[k]=x.match(g)?x.replace(f,e):e+" "+x;b.selector=r.join(",")}})}function Lg(a,b){a=a.b;var c={};if(!T&&a)for(var d=0,e=a[d];d<a.length;e=a[++d]){var f=e,g=b;f.F=new RegExp("\\b"+f.keyframesName+"(?!\\B|-)","g");f.a=f.keyframesName+"-"+g;f.G=f.G||f.selector;f.selector=f.G.replace(f.keyframesName,f.a);c[e.keyframesName]=Mg(e)}return c}function Mg(a){return function(b){return b.replace(a.F,a.a)}} +function Ng(a,b){var c=Og,d=Lf(a);a.textContent=Jf(d,function(a){var d=a.cssText=a.parsedCssText;a.B&&a.B.cssText&&(d=d.replace(wf,"").replace(xf,""),a.cssText=Gg(c,d,b))})}aa.Object.defineProperties(Bg.prototype,{a:{configurable:!0,enumerable:!0,get:function(){return"x-scope"}}});var Og=new Bg;var Pg={},Qg=window.customElements;if(Qg&&!T){var Rg=Qg.define;Qg.define=function(a,b,c){var d=document.createComment(" Shady DOM styles for "+a+" "),e=document.head;e.insertBefore(d,(Pf?Pf.nextSibling:null)||e.firstChild);Pf=d;Pg[a]=d;Rg.call(Qg,a,b,c)}};function Sg(){this.cache={}}Sg.prototype.store=function(a,b,c,d){var e=this.cache[a]||[];e.push({J:b,styleElement:c,H:d});100<e.length&&e.shift();this.cache[a]=e};Sg.prototype.fetch=function(a,b,c){if(a=this.cache[a])for(var d=a.length-1;0<=d;d--){var e=a[d],f;a:{for(f=0;f<c.length;f++){var g=c[f];if(e.J[g]!==b[g]){f=!1;break a}}f=!0}if(f)return e}};function Tg(){} +function Ug(a){for(var b=0;b<a.length;b++){var c=a[b];if(c.target!==document.documentElement&&c.target!==document.head)for(var d=0;d<c.addedNodes.length;d++){var e=c.addedNodes[d];if(e.nodeType===Node.ELEMENT_NODE){var f=e.getRootNode();var g=e;var h=[];g.classList?h=Array.from(g.classList):g instanceof window.SVGElement&&g.hasAttribute("class")&&(h=g.getAttribute("class").split(/\s+/));g=h;h=g.indexOf(Vf.a);if((g=-1<h?g[h+1]:"")&&f===e.ownerDocument)Uf(e,g,!0);else if(f.nodeType===Node.DOCUMENT_FRAGMENT_NODE&& +(f=f.host))if(f=Sf(f).is,g===f)for(e=window.ShadyDOM.nativeMethods.querySelectorAll.call(e,":not(."+Vf.a+")"),f=0;f<e.length;f++)Xf(e[f],g);else g&&Uf(e,g,!0),Uf(e,f)}}}} +if(!T){var Vg=new MutationObserver(Ug),Wg=function(a){Vg.observe(a,{childList:!0,subtree:!0})};if(window.customElements&&!window.customElements.polyfillWrapFlushCallback)Wg(document);else{var Xg=function(){Wg(document.body)};window.HTMLImports?window.HTMLImports.whenReady(Xg):requestAnimationFrame(function(){if("loading"===document.readyState){var a=function(){Xg();document.removeEventListener("readystatechange",a)};document.addEventListener("readystatechange",a)}else Xg()})}Tg=function(){Ug(Vg.takeRecords())}} +var Yg=Tg;var Zg={};var $g=Promise.resolve();function ah(a){if(a=Zg[a])a._applyShimCurrentVersion=a._applyShimCurrentVersion||0,a._applyShimValidatingVersion=a._applyShimValidatingVersion||0,a._applyShimNextVersion=(a._applyShimNextVersion||0)+1}function bh(a){return a._applyShimCurrentVersion===a._applyShimNextVersion}function ch(a){a._applyShimValidatingVersion=a._applyShimNextVersion;a.b||(a.b=!0,$g.then(function(){a._applyShimCurrentVersion=a._applyShimNextVersion;a.b=!1}))};var dh=new Sg;function W(){this.Aa={};this.c=document.documentElement;var a=new df;a.rules=[];this.F=yg(this.c,new wg(a));this.M=!1;this.b=this.a=null}q=W.prototype;q.Ga=function(){Yg()};q.Ta=function(a){return Lf(a)};q.ab=function(a){return Jf(a)}; +q.prepareTemplate=function(a,b,c){if(!a.F){a.F=!0;a.name=b;a.extends=c;Zg[b]=a;var d=(d=a.content.querySelector("style"))?d.getAttribute("css-build")||"":"";var e=[];for(var f=a.content.querySelectorAll("style"),g=0;g<f.length;g++){var h=f[g];if(h.hasAttribute("shady-unscoped")){if(!T){var k=h.textContent;If.has(k)||(If.add(k),k=h.cloneNode(!0),document.head.appendChild(k));h.parentNode.removeChild(h)}}else e.push(h.textContent),h.parentNode.removeChild(h)}e=e.join("").trim();c={is:b,extends:c,hb:d}; +T||Uf(a.content,b);eh(this);f=Df.test(e)||Cf.test(e);Df.lastIndex=0;Cf.lastIndex=0;e=ef(e);f&&V&&this.a&&this.a.transformRules(e,b);a._styleAst=e;a.M=d;d=[];V||(d=Cg(a._styleAst));if(!d.length||V)e=T?a.content:null,b=Pg[b],f=Zf(c,a._styleAst),b=f.length?Nf(f,c.is,e,b):void 0,a.a=b;a.c=d}}; +function fh(a){!a.b&&window.ShadyCSS&&window.ShadyCSS.CustomStyleInterface&&(a.b=window.ShadyCSS.CustomStyleInterface,a.b.transformCallback=function(b){a.Ea(b)},a.b.validateCallback=function(){requestAnimationFrame(function(){(a.b.enqueued||a.M)&&a.flushCustomStyles()})})}function eh(a){!a.a&&window.ShadyCSS&&window.ShadyCSS.ApplyShim&&(a.a=window.ShadyCSS.ApplyShim,a.a.invalidCallback=ah);fh(a)} +q.flushCustomStyles=function(){eh(this);if(this.b){var a=this.b.processStyles();if(this.b.enqueued){if(V)for(var b=0;b<a.length;b++){var c=this.b.getStyleForCustomStyle(a[b]);if(c&&V&&this.a){var d=Lf(c);eh(this);this.a.transformRules(d);c.textContent=Jf(d)}}else for(gh(this,this.c,this.F),b=0;b<a.length;b++)(c=this.b.getStyleForCustomStyle(a[b]))&&Ng(c,this.F.O);this.b.enqueued=!1;this.M&&!V&&this.styleDocument()}}}; +q.styleElement=function(a,b){var c=Sf(a).is,d=xg(a);if(!d){var e=Sf(a);d=e.is;e=e.X;var f=Pg[d];d=Zg[d];if(d){var g=d._styleAst;var h=d.c}d=yg(a,new wg(g,f,h,e))}a!==this.c&&(this.M=!0);b&&(d.T=d.T||{},Object.assign(d.T,b));if(V){if(d.T){b=d.T;for(var k in b)null===k?a.style.removeProperty(k):a.style.setProperty(k,b[k])}if(((k=Zg[c])||a===this.c)&&k&&k.a&&!bh(k)){if(bh(k)||k._applyShimValidatingVersion!==k._applyShimNextVersion)eh(this),this.a&&this.a.transformRules(k._styleAst,c),k.a.textContent= +Zf(a,d.K),ch(k);T&&(c=a.shadowRoot)&&(c.querySelector("style").textContent=Zf(a,d.K));d.K=k._styleAst}}else if(gh(this,a,d),d.sa&&d.sa.length){c=d;k=Sf(a).is;d=(b=dh.fetch(k,c.O,c.sa))?b.styleElement:null;g=c.H;(h=b&&b.H)||(h=this.Aa[k]=(this.Aa[k]||0)+1,h=k+"-"+h);c.H=h;h=c.H;e=Og;e=d?d.textContent||"":Kg(e,a,c.O,h);f=xg(a);var m=f.a;m&&!T&&m!==d&&(m._useCount--,0>=m._useCount&&m.parentNode&&m.parentNode.removeChild(m));T?f.a?(f.a.textContent=e,d=f.a):e&&(d=Nf(e,h,a.shadowRoot,f.b)):d?d.parentNode|| +(Ag&&-1<e.indexOf("@media")&&(d.textContent=e),Of(d,null,f.b)):e&&(d=Nf(e,h,null,f.b));d&&(d._useCount=d._useCount||0,f.a!=d&&d._useCount++,f.a=d);h=d;T||(d=c.H,f=e=a.getAttribute("class")||"",g&&(f=e.replace(new RegExp("\\s*x-scope\\s*"+g+"\\s*","g")," ")),f+=(f?" ":"")+"x-scope "+d,e!==f&&Rf(a,f));b||dh.store(k,c.O,h,c.H)}};function hh(a,b){return(b=b.getRootNode().host)?xg(b)?b:hh(a,b):a.c} +function gh(a,b,c){a=hh(a,b);var d=xg(a);a=Object.create(d.O||null);var e=Jg(b,c.K);b=Hg(d.K,b).J;Object.assign(a,e.Va,b,e.Ya);b=c.T;for(var f in b)if((e=b[f])||0===e)a[f]=e;f=Og;b=Object.getOwnPropertyNames(a);for(e=0;e<b.length;e++)d=b[e],a[d]=Fg(f,a[d],a);c.O=a}q.styleDocument=function(a){this.styleSubtree(this.c,a)}; +q.styleSubtree=function(a,b){var c=a.shadowRoot;(c||a===this.c)&&this.styleElement(a,b);if(b=c&&(c.children||c.childNodes))for(a=0;a<b.length;a++)this.styleSubtree(b[a]);else if(a=a.children||a.childNodes)for(b=0;b<a.length;b++)this.styleSubtree(a[b])};q.Ea=function(a){var b=this,c=Lf(a);Kf(c,function(a){if(T)tg(a);else{var c=Vf;a.selector=a.parsedSelector;tg(a);a.selector=a.G=cg(c,a,c.c,void 0,void 0)}V&&(eh(b),b.a&&b.a.transformRule(a))});V?a.textContent=Jf(c):this.F.K.rules.push(c)}; +q.getComputedStyleValue=function(a,b){var c;V||(c=(xg(a)||xg(hh(this,a))).O[b]);return(c=c||window.getComputedStyle(a).getPropertyValue(b))?c.trim():""};q.$a=function(a,b){var c=a.getRootNode();b=b?b.split(/\s/):[];c=c.host&&c.host.localName;if(!c){var d=a.getAttribute("class");if(d){d=d.split(/\s/);for(var e=0;e<d.length;e++)if(d[e]===Vf.a){c=d[e+1];break}}}c&&b.push(Vf.a,c);V||(c=xg(a))&&c.H&&b.push(Og.a,c.H);Rf(a,b.join(" "))};q.Qa=function(a){return xg(a)};W.prototype.flush=W.prototype.Ga; +W.prototype.prepareTemplate=W.prototype.prepareTemplate;W.prototype.styleElement=W.prototype.styleElement;W.prototype.styleDocument=W.prototype.styleDocument;W.prototype.styleSubtree=W.prototype.styleSubtree;W.prototype.getComputedStyleValue=W.prototype.getComputedStyleValue;W.prototype.setElementClass=W.prototype.$a;W.prototype._styleInfoForNode=W.prototype.Qa;W.prototype.transformCustomStyleForDocument=W.prototype.Ea;W.prototype.getStyleAst=W.prototype.Ta;W.prototype.styleAstToString=W.prototype.ab; +W.prototype.flushCustomStyles=W.prototype.flushCustomStyles;Object.defineProperties(W.prototype,{nativeShadow:{get:function(){return T}},nativeCss:{get:function(){return V}}});var X=new W,ih,jh;window.ShadyCSS&&(ih=window.ShadyCSS.ApplyShim,jh=window.ShadyCSS.CustomStyleInterface); +window.ShadyCSS={ScopingShim:X,prepareTemplate:function(a,b,c){X.flushCustomStyles();X.prepareTemplate(a,b,c)},styleSubtree:function(a,b){X.flushCustomStyles();X.styleSubtree(a,b)},styleElement:function(a){X.flushCustomStyles();X.styleElement(a)},styleDocument:function(a){X.flushCustomStyles();X.styleDocument(a)},flushCustomStyles:function(){X.flushCustomStyles()},getComputedStyleValue:function(a,b){return X.getComputedStyleValue(a,b)},nativeCss:V,nativeShadow:T};ih&&(window.ShadyCSS.ApplyShim=ih); +jh&&(window.ShadyCSS.CustomStyleInterface=jh);(function(a){function b(a){""==a&&(f.call(this),this.h=!0);return a.toLowerCase()}function c(a){var b=a.charCodeAt(0);return 32<b&&127>b&&-1==[34,35,60,62,63,96].indexOf(b)?a:encodeURIComponent(a)}function d(a){var b=a.charCodeAt(0);return 32<b&&127>b&&-1==[34,35,60,62,96].indexOf(b)?a:encodeURIComponent(a)}function e(a,e,g){function h(a){kb.push(a)}var k=e||"scheme start",v=0,p="",x=!1,U=!1,kb=[];a:for(;(void 0!=a[v-1]||0==v)&&!this.h;){var l=a[v];switch(k){case "scheme start":if(l&&r.test(l))p+= +l.toLowerCase(),k="scheme";else if(e){h("Invalid scheme.");break a}else{p="";k="no scheme";continue}break;case "scheme":if(l&&G.test(l))p+=l.toLowerCase();else if(":"==l){this.g=p;p="";if(e)break a;void 0!==m[this.g]&&(this.D=!0);k="file"==this.g?"relative":this.D&&g&&g.g==this.g?"relative or authority":this.D?"authority first slash":"scheme data"}else if(e){void 0!=l&&h("Code point not allowed in scheme: "+l);break a}else{p="";v=0;k="no scheme";continue}break;case "scheme data":"?"==l?(this.u="?", +k="query"):"#"==l?(this.C="#",k="fragment"):void 0!=l&&"\t"!=l&&"\n"!=l&&"\r"!=l&&(this.qa+=c(l));break;case "no scheme":if(g&&void 0!==m[g.g]){k="relative";continue}else h("Missing scheme."),f.call(this),this.h=!0;break;case "relative or authority":if("/"==l&&"/"==a[v+1])k="authority ignore slashes";else{h("Expected /, got: "+l);k="relative";continue}break;case "relative":this.D=!0;"file"!=this.g&&(this.g=g.g);if(void 0==l){this.i=g.i;this.s=g.s;this.j=g.j.slice();this.u=g.u;this.v=g.v;this.f=g.f; +break a}else if("/"==l||"\\"==l)"\\"==l&&h("\\ is an invalid code point."),k="relative slash";else if("?"==l)this.i=g.i,this.s=g.s,this.j=g.j.slice(),this.u="?",this.v=g.v,this.f=g.f,k="query";else if("#"==l)this.i=g.i,this.s=g.s,this.j=g.j.slice(),this.u=g.u,this.C="#",this.v=g.v,this.f=g.f,k="fragment";else{k=a[v+1];var F=a[v+2];if("file"!=this.g||!r.test(l)||":"!=k&&"|"!=k||void 0!=F&&"/"!=F&&"\\"!=F&&"?"!=F&&"#"!=F)this.i=g.i,this.s=g.s,this.v=g.v,this.f=g.f,this.j=g.j.slice(),this.j.pop();k= +"relative path";continue}break;case "relative slash":if("/"==l||"\\"==l)"\\"==l&&h("\\ is an invalid code point."),k="file"==this.g?"file host":"authority ignore slashes";else{"file"!=this.g&&(this.i=g.i,this.s=g.s,this.v=g.v,this.f=g.f);k="relative path";continue}break;case "authority first slash":if("/"==l)k="authority second slash";else{h("Expected '/', got: "+l);k="authority ignore slashes";continue}break;case "authority second slash":k="authority ignore slashes";if("/"!=l){h("Expected '/', got: "+ +l);continue}break;case "authority ignore slashes":if("/"!=l&&"\\"!=l){k="authority";continue}else h("Expected authority, got: "+l);break;case "authority":if("@"==l){x&&(h("@ already seen."),p+="%40");x=!0;for(l=0;l<p.length;l++)F=p[l],"\t"==F||"\n"==F||"\r"==F?h("Invalid whitespace in authority."):":"==F&&null===this.f?this.f="":(F=c(F),null!==this.f?this.f+=F:this.v+=F);p=""}else if(void 0==l||"/"==l||"\\"==l||"?"==l||"#"==l){v-=p.length;p="";k="host";continue}else p+=l;break;case "file host":if(void 0== +l||"/"==l||"\\"==l||"?"==l||"#"==l){2!=p.length||!r.test(p[0])||":"!=p[1]&&"|"!=p[1]?(0!=p.length&&(this.i=b.call(this,p),p=""),k="relative path start"):k="relative path";continue}else"\t"==l||"\n"==l||"\r"==l?h("Invalid whitespace in file host."):p+=l;break;case "host":case "hostname":if(":"!=l||U)if(void 0==l||"/"==l||"\\"==l||"?"==l||"#"==l){this.i=b.call(this,p);p="";k="relative path start";if(e)break a;continue}else"\t"!=l&&"\n"!=l&&"\r"!=l?("["==l?U=!0:"]"==l&&(U=!1),p+=l):h("Invalid code point in host/hostname: "+ +l);else if(this.i=b.call(this,p),p="",k="port","hostname"==e)break a;break;case "port":if(/[0-9]/.test(l))p+=l;else if(void 0==l||"/"==l||"\\"==l||"?"==l||"#"==l||e){""!=p&&(p=parseInt(p,10),p!=m[this.g]&&(this.s=p+""),p="");if(e)break a;k="relative path start";continue}else"\t"==l||"\n"==l||"\r"==l?h("Invalid code point in port: "+l):(f.call(this),this.h=!0);break;case "relative path start":"\\"==l&&h("'\\' not allowed in path.");k="relative path";if("/"!=l&&"\\"!=l)continue;break;case "relative path":if(void 0!= +l&&"/"!=l&&"\\"!=l&&(e||"?"!=l&&"#"!=l))"\t"!=l&&"\n"!=l&&"\r"!=l&&(p+=c(l));else{"\\"==l&&h("\\ not allowed in relative path.");if(F=n[p.toLowerCase()])p=F;".."==p?(this.j.pop(),"/"!=l&&"\\"!=l&&this.j.push("")):"."==p&&"/"!=l&&"\\"!=l?this.j.push(""):"."!=p&&("file"==this.g&&0==this.j.length&&2==p.length&&r.test(p[0])&&"|"==p[1]&&(p=p[0]+":"),this.j.push(p));p="";"?"==l?(this.u="?",k="query"):"#"==l&&(this.C="#",k="fragment")}break;case "query":e||"#"!=l?void 0!=l&&"\t"!=l&&"\n"!=l&&"\r"!=l&&(this.u+= +d(l)):(this.C="#",k="fragment");break;case "fragment":void 0!=l&&"\t"!=l&&"\n"!=l&&"\r"!=l&&(this.C+=l)}v++}}function f(){this.v=this.qa=this.g="";this.f=null;this.s=this.i="";this.j=[];this.C=this.u="";this.D=this.h=!1}function g(a,b){void 0===b||b instanceof g||(b=new g(String(b)));this.Ra=a;f.call(this);a=a.replace(/^[ \t\r\n\f]+|[ \t\r\n\f]+$/g,"");e.call(this,a,null,b)}var h=!1;if(!a.qb)try{var k=new URL("b","http://a");k.pathname="c%20d";h="http://a/c%20d"===k.href}catch(v){}if(!h){var m=Object.create(null); +m.ftp=21;m.file=0;m.gopher=70;m.http=80;m.https=443;m.ws=80;m.wss=443;var n=Object.create(null);n["%2e"]=".";n[".%2e"]="..";n["%2e."]="..";n["%2e%2e"]="..";var r=/[a-zA-Z]/,G=/[a-zA-Z0-9\+\-\.]/;g.prototype={toString:function(){return this.href},get href(){if(this.h)return this.Ra;var a="";if(""!=this.v||null!=this.f)a=this.v+(null!=this.f?":"+this.f:"")+"@";return this.protocol+(this.D?"//"+a+this.host:"")+this.pathname+this.u+this.C},set href(a){f.call(this);e.call(this,a)},get protocol(){return this.g+ +":"},set protocol(a){this.h||e.call(this,a+":","scheme start")},get host(){return this.h?"":this.s?this.i+":"+this.s:this.i},set host(a){!this.h&&this.D&&e.call(this,a,"host")},get hostname(){return this.i},set hostname(a){!this.h&&this.D&&e.call(this,a,"hostname")},get port(){return this.s},set port(a){!this.h&&this.D&&e.call(this,a,"port")},get pathname(){return this.h?"":this.D?"/"+this.j.join("/"):this.qa},set pathname(a){!this.h&&this.D&&(this.j=[],e.call(this,a,"relative path start"))},get search(){return this.h|| +!this.u||"?"==this.u?"":this.u},set search(a){!this.h&&this.D&&(this.u="?","?"==a[0]&&(a=a.slice(1)),e.call(this,a,"query"))},get hash(){return this.h||!this.C||"#"==this.C?"":this.C},set hash(a){this.h||(this.C="#","#"==a[0]&&(a=a.slice(1)),e.call(this,a,"fragment"))},get origin(){var a;if(this.h||!this.g)return"";switch(this.g){case "data":case "file":case "javascript":case "mailto":return"null"}return(a=this.host)?this.g+"://"+a:""}};var x=a.URL;x&&(g.createObjectURL=function(a){return x.createObjectURL.apply(x, +arguments)},g.revokeObjectURL=function(a){x.revokeObjectURL(a)});a.URL=g}})(window);var kh={},lh=Object.create,mh=Object.defineProperties,nh=Object.defineProperty;function Y(a,b){b=void 0===b?{}:b;return{value:a,configurable:!!b.ya,writable:!!b.cb,enumerable:!!b.e}}var oh=void 0;try{oh=1===nh({},"y",{get:function(){return 1}}).y}catch(a){oh=!1}var ph={};function qh(a){a=String(a);for(var b="",c=0;ph[a+b];)b=c+=1;ph[a+b]=1;var d="Symbol("+a+""+b+")";oh&&nh(Object.prototype,d,{get:void 0,set:function(a){nh(this,d,Y(a,{ya:!0,cb:!0}))},configurable:!0,enumerable:!1});return d} +var rh=lh(null);function Z(a){if(this instanceof Z)throw new TypeError("Symbol is not a constructor");a=void 0===a?"":String(a);var b=qh(a);return oh?lh(rh,{ua:Y(a),Ka:Y(b)}):b}mh(Z,{"for":Y(function(a){a=String(a);if(kh[a])return kh[a];var b=Z(a);return kh[a]=b}),keyFor:Y(function(a){if(oh&&(!a||"Symbol"!==a[Z.toStringTag]))throw new TypeError(""+a+" is not a symbol");for(var b in kh)if(kh[b]===a)return oh?kh[b].ua:kh[b].substr(7,kh[b].length-8)})}); +mh(Z,{ub:Y(Z("hasInstance")),vb:Y(Z("isConcatSpreadable")),iterator:Y(Z("iterator")),match:Y(Z("match")),replace:Y(Z("replace")),search:Y(Z("search")),Ab:Y(Z("species")),split:Y(Z("split")),Bb:Y(Z("toPrimitive")),toStringTag:Y(Z("toStringTag")),unscopables:Y(Z("unscopables"))});mh(rh,{constructor:Y(Z),toString:Y(function(){return this.Ka}),valueOf:Y(function(){return"Symbol("+this.ua+")"})});oh&&nh(rh,Z.toStringTag,Y("Symbol",{ya:!0}));var sh="function"===typeof Symbol?Symbol:Z;/* + +Copyright (c) 2018 The Polymer Project Authors. All rights reserved. +This code may only be used under the BSD style license found at http://polymer.github.io/LICENSE.txt +The complete set of authors may be found at http://polymer.github.io/AUTHORS.txt +The complete set of contributors may be found at http://polymer.github.io/CONTRIBUTORS.txt +Code distributed by Google as part of the polymer project is also +subject to an additional IP rights grant found at http://polymer.github.io/PATENTS.txt +*/ +window.Symbol||(window.Symbol=sh,Array.prototype[sh.iterator]=function(){function a(a,e,h){for(;;)switch(b){case 0:c=0;case 1:if(!(c<d.length)){b=3;break}b=4;return{value:d[c],done:!1};case 4:if(1!=a){b=5;break}b=-1;throw h;case 5:case 2:c++;b=1;break;case 3:b=-1;default:return{value:void 0,done:!0}}}var b=0,c,d=this,e={next:function(b){return a(0,b,void 0)},throw:function(b){return a(1,void 0,b)},return:function(){throw Error("Not yet implemented");}};ea();e[Symbol.iterator]=function(){return this}; +return e},Set.prototype[sh.iterator]=function(){function a(a,f,k){for(;;)switch(b){case 0:d=[],e.forEach(function(a){d.push(a)}),c=0;case 1:if(!(c<d.length)){b=3;break}b=4;return{value:d[c],done:!1};case 4:if(1!=a){b=5;break}b=-1;throw k;case 5:case 2:c++;b=1;break;case 3:b=-1;default:return{value:void 0,done:!0}}}var b=0,c,d,e=this,f={next:function(b){return a(0,b,void 0)},throw:function(b){return a(1,void 0,b)},return:function(){throw Error("Not yet implemented");}};ea();f[Symbol.iterator]=function(){return this}; +return f},Map.prototype[sh.iterator]=function(){function a(a,f,k){for(;;)switch(b){case 0:d=[],e.forEach(function(a,b){d.push([b,a])}),c=0;case 1:if(!(c<d.length)){b=3;break}b=4;return{value:d[c],done:!1};case 4:if(1!=a){b=5;break}b=-1;throw k;case 5:case 2:c++;b=1;break;case 3:b=-1;default:return{value:void 0,done:!0}}}var b=0,c,d,e=this,f={next:function(b){return a(0,b,void 0)},throw:function(b){return a(1,void 0,b)},return:function(){throw Error("Not yet implemented");}};ea();f[Symbol.iterator]= +function(){return this};return f},String.prototype[sh.iterator]=function(){function a(a,e,h){for(;;)switch(b){case 0:c=0;case 1:if(!(c<d.length)){b=3;break}b=4;return{value:d[c],done:!1};case 4:if(1!=a){b=5;break}b=-1;throw h;case 5:case 2:c++;b=1;break;case 3:b=-1;default:return{value:void 0,done:!0}}}var b=0,c,d=this,e={next:function(b){return a(0,b,void 0)},throw:function(b){return a(1,void 0,b)},return:function(){throw Error("Not yet implemented");}};ea();e[Symbol.iterator]=function(){return this}; +return e});var th=document.createElement("style");th.textContent="body {transition: opacity ease-in 0.2s; } \nbody[unresolved] {opacity: 0; display: block; overflow: hidden; position: relative; } \n";var uh=document.querySelector("head");uh.insertBefore(th,uh.firstChild);var vh=window.customElements,wh=!1,xh=null;vh.polyfillWrapFlushCallback&&vh.polyfillWrapFlushCallback(function(a){xh=a;wh&&a()});function yh(){window.HTMLTemplateElement.bootstrap&&window.HTMLTemplateElement.bootstrap(window.document);xh&&xh();wh=!0;window.WebComponents.ready=!0;document.dispatchEvent(new CustomEvent("WebComponentsReady",{bubbles:!0}))} +"complete"!==document.readyState?(window.addEventListener("load",yh),window.addEventListener("DOMContentLoaded",function(){window.removeEventListener("load",yh);yh()})):yh();}).call(this); +} diff --git a/docs/index.html b/docs/index.html index f581e18..ff55c5c 100644 --- a/docs/index.html +++ b/docs/index.html @@ -2089,136 +2089,137 @@ <h3>${suggestion.title}</h3> <!--radix_placeholder_site_before_body--> <!--/radix_placeholder_site_before_body--> <!--radix_placeholder_article_listing--> - - -<script type="application/javascript"> - -function init_posts_list() { - - function load_image(img) { - var src = $(img).attr('data-src'); - if (src) { - $(img).attr('src', src); - $(img).load(function() { - img.removeAttribute('data-src'); - }); - } - } - - function set_posts_visible(posts, visible) { - if (visible) { - - // show bottom border by default - $(posts).removeClass('post-preview-last'); - - // apply limits if need be - var max_posts = 25; - var apply_limits = $('.posts-container').hasClass('posts-apply-limit'); - if (apply_limits && posts.length > max_posts) { - posts = $(posts).slice(0, max_posts); - } else { - $('.posts-more a').addClass('hidden'); - } - - // apply last style - $(posts.slice(-1)[0]).addClass('post-preview-last'); - - $(posts).removeClass('hidden'); - $(posts).find('img[data-src]').each(function(i, img) { - load_image(img); - }); - } else { - $(posts).addClass('hidden'); - } - } - - function apply_hash_filter() { - - // clear active state - $('.categories .active').removeClass('active'); - - // mark all posts invisible to start - set_posts_visible($('.posts-list').children('a'), false); - - // if we have a hash filter - if (window.location.hash && window.location.hash.startsWith("#category:")) { - - // mark posts that match the category visible - var page_category = window.location.hash.replace(/^#category:/, ""); - var posts = $('.post-metadata').map(function(idx, script) { - var metadata = $.parseJSON($(script).html()); - var post = null; - $.each(metadata.categories, function(idx, category) { - category = category.replace(/ /g,"_"); - if ((page_category || '').toLowerCase() === "articles" || category === page_category) { - post = $(script).parent().get(); - return false; - } - }); - return post; - }); - set_posts_visible(posts, true); - - // mark the hash active - $('.categories li>a[href="' + window.location.hash + '"]').addClass('active'); - - // update the list_caption - var list_caption = $('.posts-list-caption'); - var caption = (page_category || '').toLowerCase() === "articles" - ? list_caption.attr('data-caption') - : ('Category: ' + page_category.replace(/_/g," ")); - list_caption.text(caption); - - } else { - - // no hash filter, make all posts visible (subject to max display) - set_posts_visible($('.posts-list').children(), true); - - // reset list caption - var list_caption = $('.posts-list-caption'); - list_caption.text(list_caption.attr('data-caption')); - - - } - } - - // more articles - function apply_post_limits(apply) { - if (apply) { - $('.posts-container').addClass('posts-apply-limit'); - $('.posts-more a').removeClass('hidden'); - } else { - $('.posts-container').removeClass('posts-apply-limit'); - $('.posts-more a').addClass('hidden'); - } - } - - // click handling for tags - $('.dt-tag').click(function(ev) { - window.location.hash = '#category:' + $(this).text().replace(/ /g, "_"); - return false; - }) - - // hash filter handling - apply_hash_filter(); - $(window).on('hashchange',function() { - apply_post_limits(true); - apply_hash_filter(); - }); - - // more articles link - $('.posts-more a').click(function(e) { - e.preventDefault(); - apply_post_limits(false); - apply_hash_filter(); - return false; - }); - -} - -</script> - - + + +<script type="application/javascript"> + +function init_posts_list() { + + function load_image(img) { + var src = $(img).attr('data-src'); + if (src) { + $(img).attr('src', src); + $(img).on("load", function() { + img.removeAttribute('data-src'); + }); + } + } + + function set_posts_visible(posts, visible) { + if (visible) { + + // show bottom border by default + $(posts).removeClass('post-preview-last'); + + // apply limits if need be + var max_posts = 25; + var apply_limits = $('.posts-container').hasClass('posts-apply-limit'); + if (apply_limits && posts.length > max_posts) { + posts = $(posts).slice(0, max_posts); + } else { + $('.posts-more a').addClass('hidden'); + } + + // apply last style + $(posts.slice(-1)[0]).addClass('post-preview-last'); + + $(posts).removeClass('hidden'); + $(posts).find('img[data-src]').each(function(i, img) { + load_image(img); + }); + } else { + $(posts).addClass('hidden'); + } + } + + function apply_hash_filter() { + + // clear active state + $('.categories .active').removeClass('active'); + + // mark all posts invisible to start + set_posts_visible($('.posts-list').children('a'), false); + + // if we have a hash filter + if (window.location.hash && window.location.hash.startsWith("#category:")) { + + // mark posts that match the category visible + var page_category = window.location.hash.replace(/^#category:/, ""); + page_category = decodeURIComponent(page_category) + var posts = $('.post-metadata').map(function(idx, script) { + var metadata = $.parseJSON($(script).html()); + var post = null; + $.each(metadata.categories, function(idx, category) { + category = category.replace(/ /g,"_"); + if ((page_category || '').toLowerCase() === "articles" || category === page_category) { + post = $(script).parent().get(); + return false; + } + }); + return post; + }); + set_posts_visible(posts, true); + + // mark the hash active + $('.categories li>a[href="' + decodeURIComponent(window.location.hash) + '"]').addClass('active'); + + // update the list_caption + var list_caption = $('.posts-list-caption'); + var caption = (page_category || '').toLowerCase() === "articles" + ? list_caption.attr('data-caption') + : ('Category: ' + page_category.replace(/_/g," ")); + list_caption.text(caption); + + } else { + + // no hash filter, make all posts visible (subject to max display) + set_posts_visible($('.posts-list').children(), true); + + // reset list caption + var list_caption = $('.posts-list-caption'); + list_caption.text(list_caption.attr('data-caption')); + + + } + } + + // more articles + function apply_post_limits(apply) { + if (apply) { + $('.posts-container').addClass('posts-apply-limit'); + $('.posts-more a').removeClass('hidden'); + } else { + $('.posts-container').removeClass('posts-apply-limit'); + $('.posts-more a').addClass('hidden'); + } + } + + // click handling for tags + $('.dt-tag').click(function(ev) { + window.location.hash = '#category:' + $(this).text().replace(/ /g, "_"); + return false; + }) + + // hash filter handling + apply_hash_filter(); + $(window).on('hashchange',function() { + apply_post_limits(true); + apply_hash_filter(); + }); + + // more articles link + $('.posts-more a').click(function(e) { + e.preventDefault(); + apply_post_limits(false); + apply_hash_filter(); + return false; + }); + +} + +</script> + + <div class="posts-container posts-with-sidebar posts-apply-limit l-screen-inset"> <div class="posts-list"> @@ -2226,7 +2227,7 @@ <h1 class="posts-list-caption" data-caption="Training materials">Training materi <a href="posts/2021-06-13-unreproducibility-detox/" class="post-preview"> <script class="post-metadata" type="text/json">{"categories":["Technical","EN"]}</script> <div class="metadata"> -<div class="publishedDate">June 13, 2021</div> +<div class="publishedDate">June 12, 2021</div> <div class="dt-authors"> <div class="dt-author">Gracielle Higino</div> </div> diff --git a/docs/index.xml b/docs/index.xml index 84ee81c..1209117 100644 --- a/docs/index.xml +++ b/docs/index.xml @@ -7,7 +7,7 @@ <description>Educational materials, incluing links to pdfs, videos, and code to reproduce all of our trainings. </description> <generator>Distill</generator> - <lastBuildDate>Sun, 13 Jun 2021 00:00:00 +0000</lastBuildDate> + <lastBuildDate>Sat, 12 Jun 2021 00:00:00 +0000</lastBuildDate> <item> <title>(un)Reproducibility Detox</title> <dc:creator>Gracielle Higino</dc:creator> @@ -16,7 +16,7 @@ <category>Technical</category> <category>EN</category> <guid>https://bios2.github.io/posts/2021-06-13-unreproducibility-detox</guid> - <pubDate>Sun, 13 Jun 2021 00:00:00 +0000</pubDate> + <pubDate>Sat, 12 Jun 2021 00:00:00 +0000</pubDate> </item> <item> <title>Point-count Data Analysis</title> diff --git a/docs/posts/2021-06-13-unreproducibility-detox/index.html b/docs/posts/2021-06-13-unreproducibility-detox/index.html index 362b6a4..8bb9ece 100644 --- a/docs/posts/2021-06-13-unreproducibility-detox/index.html +++ b/docs/posts/2021-06-13-unreproducibility-detox/index.html @@ -23,6 +23,7 @@ pre > code.sourceCode { white-space: pre; position: relative; } pre > code.sourceCode > span { display: inline-block; line-height: 1.25; } pre > code.sourceCode > span:empty { height: 1.2em; } +.sourceCode { overflow: visible; } code.sourceCode > span { color: inherit; text-decoration: inherit; } div.sourceCode { margin: 1em 0; } pre.sourceCode { margin: 0; } @@ -49,16 +50,17 @@ } pre.numberSource { margin-left: 3em; border-left: 1px solid #aaaaaa; padding-left: 4px; } div.sourceCode - { } + { color: #00769e; background-color: #f1f3f5; } @media screen { pre > code.sourceCode > span > a:first-child::before { text-decoration: underline; } } +code span { color: #00769e; } /* Normal */ code span.al { color: #ad0000; } /* Alert */ code span.an { color: #5e5e5e; } /* Annotation */ -code span.at { color: #20794d; } /* Attribute */ +code span.at { color: #657422; } /* Attribute */ code span.bn { color: #ad0000; } /* BaseN */ code span.bu { } /* BuiltIn */ -code span.cf { color: #007ba5; } /* ControlFlow */ +code span.cf { color: #00769e; } /* ControlFlow */ code span.ch { color: #20794d; } /* Char */ code span.cn { color: #8f5902; } /* Constant */ code span.co { color: #5e5e5e; } /* Comment */ @@ -72,11 +74,11 @@ code span.fu { color: #4758ab; } /* Function */ code span.im { } /* Import */ code span.in { color: #5e5e5e; } /* Information */ -code span.kw { color: #007ba5; } /* Keyword */ +code span.kw { color: #00769e; } /* Keyword */ code span.op { color: #5e5e5e; } /* Operator */ -code span.ot { color: #007ba5; } /* Other */ +code span.ot { color: #00769e; } /* Other */ code span.pp { color: #ad0000; } /* Preprocessor */ -code span.sc { color: #20794d; } /* SpecialChar */ +code span.sc { color: #5e5e5e; } /* SpecialChar */ code span.ss { color: #20794d; } /* SpecialString */ code span.st { color: #20794d; } /* String */ code span.va { color: #111111; } /* Variable */ @@ -84,6 +86,7 @@ code span.wa { color: #5e5e5e; font-style: italic; } /* Warning */ </style> + <!--radix_placeholder_meta_tags--> <title>BIOS2 Education resources: (un)Reproducibility Detox</title> @@ -473,7 +476,7 @@ </style> -<script src="../../site_libs/jquery-1.11.3/jquery.min.js"></script> +<script src="../../site_libs/jquery-3.6.0/jquery-3.6.0.min.js"></script> <link href="../../site_libs/font-awesome-5.1.0/css/all.css" rel="stylesheet"/> <link href="../../site_libs/font-awesome-5.1.0/css/v4-shims.css" rel="stylesheet"/> <script src="../../site_libs/headroom-0.9.4/headroom.min.js"></script> @@ -804,6 +807,7 @@ <h3>${suggestion.title}</h3> d-article table.gt_table td, d-article table.gt_table th { border-bottom: none; + font-size: 100%; } .html-widget { @@ -1047,10 +1051,6 @@ <h3>${suggestion.title}</h3> margin-top: 1.5em; } -.figure img { - width: 100%; -} - .figure .caption { color: rgba(0, 0, 0, 0.6); font-size: 12px; @@ -1880,7 +1880,22 @@ <h3>${suggestion.title}</h3> // hoverable references $('span.citation[data-cites]').each(function() { - var refHtml = $('#ref-' + $(this).attr('data-cites')).html(); + const citeChild = $(this).children()[0] + // Do not process if @xyz has been used without escaping and without bibliography activated + // https://github.com/rstudio/distill/issues/466 + if (citeChild === undefined) return true + + if (citeChild.nodeName == "D-FOOTNOTE") { + var fn = citeChild + $(this).html(fn.shadowRoot.querySelector("sup")) + $(this).id = fn.id + fn.remove() + } + var refs = $(this).attr('data-cites').split(" "); + var refHtml = refs.map(function(ref) { + // Could use CSS.escape too here, we insure backward compatibility in navigator + return "<p>" + $('div[id="ref-' + ref + '"]').html() + "</p>"; + }).join("\n"); window.tippy(this, { allowHTML: true, content: refHtml, @@ -1892,6 +1907,31 @@ <h3>${suggestion.title}</h3> }); }); + // fix footnotes in tables (#411) + // replacing broken distill.pub feature + $('table d-footnote').each(function() { + // we replace internal showAtNode methode which is triggered when hovering a footnote + this.hoverBox.showAtNode = function(node) { + // ported from https://github.com/distillpub/template/pull/105/files + calcOffset = function(elem) { + let x = elem.offsetLeft; + let y = elem.offsetTop; + // Traverse upwards until an `absolute` element is found or `elem` + // becomes null. + while (elem = elem.offsetParent && elem.style.position != 'absolute') { + x += elem.offsetLeft; + y += elem.offsetTop; + } + + return { left: x, top: y }; + } + // https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/offsetTop + const bbox = node.getBoundingClientRect(); + const offset = calcOffset(node); + this.show([offset.left + bbox.width, offset.top + bbox.height]); + } + }) + // clear polling timer clearInterval(tid); @@ -1990,6 +2030,8 @@ <h3>${suggestion.title}</h3> // mark non-body figures created by knitr chunks as 100% width $('.layout-chunk').each(function(i, val) { var figures = $(this).find('img, .html-widget'); + // ignore leaflet img layers (#106) + figures = figures.filter(':not(img[class*="leaflet"])') if ($(this).attr('data-layout') !== "l-body") { figures.css('width', '100%'); } else { @@ -2012,7 +2054,7 @@ <h3>${suggestion.title}</h3> // get rid of index.html references in header if (window.location.protocol !== "file:") { $('.distill-site-header a[href]').each(function(i,val) { - $(this).attr('href', $(this).attr('href').replace("index.html", "./")); + $(this).attr('href', $(this).attr('href').replace(/^index[.]html/, "./")); }); } @@ -2051,8 +2093,8 @@ <h3>${suggestion.title}</h3> </script> <!--/radix_placeholder_distill--> - <script src="../../site_libs/header-attrs-2.7/header-attrs.js"></script> - <script src="../../site_libs/jquery-1.11.3/jquery.min.js"></script> + <script src="../../site_libs/header-attrs-2.11/header-attrs.js"></script> + <script src="../../site_libs/jquery-3.6.0/jquery-3.6.0.min.js"></script> <script src="../../site_libs/popper-2.6.0/popper.min.js"></script> <link href="../../site_libs/tippy-6.2.7/tippy.css" rel="stylesheet" /> <link href="../../site_libs/tippy-6.2.7/tippy-light-border.css" rel="stylesheet" /> @@ -2072,7 +2114,7 @@ <h3>${suggestion.title}</h3> <!--radix_placeholder_front_matter--> <script id="distill-front-matter" type="text/json"> -{"title":"(un)Reproducibility Detox","description":"A seven-day detox routine to improve the reproducibility of your projects!","authors":[{"author":"Gracielle Higino","authorURL":"#","affiliation":" ","affiliationURL":"#","orcidID":""}],"publishedDate":"2021-06-13T00:00:00.000-04:00","citationText":"Higino, 2021"} +{"title":"(un)Reproducibility Detox","description":"A seven-day detox routine to improve the reproducibility of your projects!","authors":[{"author":"Gracielle Higino","authorURL":"#","affiliation":" ","affiliationURL":"#","orcidID":""}],"publishedDate":"2021-06-13T00:00:00.000+02:00","citationText":"Higino, 2021"} </script> <!--/radix_placeholder_front_matter--> @@ -2133,56 +2175,67 @@ <h1>(un)Reproducibility Detox</h1> <nav class="l-text toc figcaption" id="TOC"> <h3>Contents</h3> <ul> -<li><a href="#sunday---reflect-about-open-science">Sunday - reflect about open science</a> +<li><a href="#sunday---reflect-about-open-science" id="toc-sunday---reflect-about-open-science">Sunday - reflect about open science</a> <ul> -<li><a href="#suggested-reading">Suggested reading</a></li> +<li><a href="#suggested-reading" id="toc-suggested-reading">Suggested reading</a></li> </ul></li> -<li><a href="#monday---design-a-project">Monday - design a project</a> +<li><a href="#monday---design-a-project" id="toc-monday---design-a-project">Monday - design a project</a> <ul> -<li><a href="#give-cool-names">Give cool names</a></li> -<li><a href="#licenses">Licenses</a></li> -<li><a href="#reproducibility-task-of-the-day">Reproducibility task of the day</a></li> -<li><a href="#suggested-readings">Suggested readings</a></li> +<li><a href="#give-cool-names" id="toc-give-cool-names">Give cool names</a></li> +<li><a href="#licenses" id="toc-licenses">Licenses</a></li> +<li><a href="#reproducibility-task-of-the-day" id="toc-reproducibility-task-of-the-day">Reproducibility task of the day</a></li> +<li><a href="#suggested-readings" id="toc-suggested-readings">Suggested readings</a></li> </ul></li> -<li><a href="#tuesday---control-your-versions">Tuesday - control your versions</a> +<li><a href="#tuesday---control-your-versions" id="toc-tuesday---control-your-versions">Tuesday - control your versions</a> <ul> -<li><a href="#what-is-version-control-why-is-it-cool-to-use">What is version control? Why is it cool to use?</a></li> -<li><a href="#a-little-bit-of-git-vocabulary-and-architecture">A little bit of Git vocabulary and architecture</a> +<li><a href="#what-is-version-control-why-is-it-cool-to-use" id="toc-what-is-version-control-why-is-it-cool-to-use">What is version control? Why is it cool to use?</a></li> +<li><a href="#a-little-bit-of-git-vocabulary-and-architecture" id="toc-a-little-bit-of-git-vocabulary-and-architecture">A little bit of Git vocabulary and architecture</a> <ul> -<li><a href="#the-repository-main-timeline">The repository main timeline</a></li> -<li><a href="#branches-from-the-master-branch">Branches from the master: branch</a></li> -<li><a href="#copying-repositories-from-the-cloud-to-the-computer-or-working-offline">Copying repositories from the ‘cloud’ to the computer (or, working offline):</a></li> -<li><a href="#copying-online-repositories">Copying online repositories</a></li> -<li><a href="#general-workflow-vocabulary">General workflow vocabulary</a></li> +<li><a href="#the-repository-main-timeline" id="toc-the-repository-main-timeline">The repository main timeline</a></li> +<li><a href="#branches-from-the-master-branch" id="toc-branches-from-the-master-branch">Branches from the master: branch</a></li> +<li><a href="#copying-repositories-from-the-cloud-to-the-computer-or-working-offline" id="toc-copying-repositories-from-the-cloud-to-the-computer-or-working-offline">Copying repositories from the ‘cloud’ to the computer (or, working offline):</a></li> +<li><a href="#copying-online-repositories" id="toc-copying-online-repositories">Copying online repositories</a></li> +<li><a href="#general-workflow-vocabulary" id="toc-general-workflow-vocabulary">General workflow vocabulary</a></li> </ul></li> -<li><a href="#working-remotely">Working remotely</a></li> -<li><a href="#working-locally">Working locally</a></li> -<li><a href="#basic-commands">Basic Commands</a> +<li><a href="#working-remotely" id="toc-working-remotely">Working remotely</a></li> +<li><a href="#working-locally" id="toc-working-locally">Working locally</a></li> +<li><a href="#basic-commands" id="toc-basic-commands">Basic Commands</a> <ul> -<li><a href="#how-to-track-changes-in-my-files">How to track changes in my files?</a></li> -<li><a href="#working-with-branches">Working with branches</a></li> +<li><a href="#how-to-track-changes-in-my-files" id="toc-how-to-track-changes-in-my-files">How to track changes in my files?</a></li> +<li><a href="#working-with-branches" id="toc-working-with-branches">Working with branches</a></li> </ul></li> -<li><a href="#oh-my-git-d">Oh, my Git! D=</a></li> -<li><a href="#reproducibility-task-of-the-day-1">Reproducibility task of the day</a></li> -<li><a href="#suggested-reading-1">Suggested reading</a></li> +<li><a href="#oh-my-git-d" id="toc-oh-my-git-d">Oh, my Git! D=</a></li> +<li><a href="#reproducibility-task-of-the-day-1" id="toc-reproducibility-task-of-the-day-1">Reproducibility task of the day</a></li> +<li><a href="#suggested-reading-1" id="toc-suggested-reading-1">Suggested reading</a></li> </ul></li> -<li><a href="#wednesday---make-your-code-and-manuscript-reproducible">Wednesday - make your code and manuscript reproducible</a> +<li><a href="#wednesday---make-your-code-and-manuscript-reproducible" id="toc-wednesday---make-your-code-and-manuscript-reproducible">Wednesday - make your code and manuscript reproducible</a> <ul> -<li><a href="#reproducible-code">Reproducible code</a> +<li><a href="#reproducible-code" id="toc-reproducible-code">Reproducible code</a> <ul> -<li><a href="#comment">Comment</a></li> -<li><a href="#functions-and-packages">Functions and packages</a></li> +<li><a href="#comment" id="toc-comment">Comment</a></li> +<li><a href="#functions-and-packages" id="toc-functions-and-packages">Functions and packages</a></li> </ul></li> -<li><a href="#reproducible-manuscripts">Reproducible manuscripts</a> +<li><a href="#reproducible-manuscripts" id="toc-reproducible-manuscripts">Reproducible manuscripts</a> <ul> -<li><a href="#basic-markdown-syntax">Basic Markdown syntax</a></li> -<li><a href="#citationreference-management">Citation/reference management</a></li> +<li><a href="#basic-markdown-syntax" id="toc-basic-markdown-syntax">Basic Markdown syntax</a></li> +<li><a href="#citationreference-management" id="toc-citationreference-management">Citation/reference management</a></li> </ul></li> -<li><a href="#reproducibility-task-of-the-day-2">Reproducibility task of the day</a></li> -<li><a href="#suggested-reading-2">Suggested reading</a></li> +<li><a href="#reproducibility-task-of-the-day-2" id="toc-reproducibility-task-of-the-day-2">Reproducibility task of the day</a></li> +<li><a href="#suggested-reading-2" id="toc-suggested-reading-2">Suggested reading</a></li> </ul></li> -<li><a href="#thursday---preserve-your-tools">Thursday - preserve your tools</a></li> -<li><a href="#saturday---reproducible-challange">Saturday - reproducible challange</a></li> +<li><a href="#thursday---preserve-your-tools" id="toc-thursday---preserve-your-tools">Thursday - preserve your tools</a> +<ul> +<li><a href="#why-do-we-need-to-preserve-our-tools" id="toc-why-do-we-need-to-preserve-our-tools">Why do we need to preserve our tools?</a></li> +<li><a href="#how-do-we-keep-our-work-reproducible" id="toc-how-do-we-keep-our-work-reproducible">How do we <em>keep</em> our work reproducible?</a> +<ul> +<li><a href="#groundhog" id="toc-groundhog"><code>{groundhog}</code></a></li> +<li><a href="#renv" id="toc-renv"><code>{renv}</code></a></li> +<li><a href="#docker" id="toc-docker">Docker</a></li> +</ul></li> +<li><a href="#closing-thoughts" id="toc-closing-thoughts">Closing thoughts</a></li> +</ul></li> +<li><a href="#friday---automate-your-workflows" id="toc-friday---automate-your-workflows">Friday - automate your workflows</a></li> +<li><a href="#saturday---reproducible-challange" id="toc-saturday---reproducible-challange">Saturday - reproducible challange</a></li> </ul> </nav> </div> @@ -2268,7 +2321,8 @@ <h3 id="give-cool-names">Give cool names</h3> <li><p>Is it easily searchable (a.k.a., machine readable)? Will my computer crash if I need to change to this directory?</p></li> </ol> <h3 id="licenses">Licenses</h3> -<p>An important part of making your work reproducible by anyone is to share it, and to do that safely, it is important to connect your project to a license. This is a statement about what and how people can use any part of your project. Chosing a license can be a difficult task at first, but if your projects have a common structure, they should be ok with the same license. When chosing a license, it is important to ask yourself (and your collaborators) the following questions:</p> +<p>An important part of making your work reproducible by anyone is to share it, and to do that safely, it is important to connect your project to a license. This is a statement about what and how people can use any part of your project. +Chosing a license can be a difficult task at first, but if your projects have a common structure, they should be ok with the same license. When chosing a license, it is important to ask yourself (and your collaborators) the following questions:</p> <ol type="1"> <li><p>Do we want people to give us credit for our work when this projects is distributed, derived, performed or displayed?</p></li> <li><p>Do we want the derivatives of this project be shared with the same license that we chose?</p></li> @@ -2276,7 +2330,8 @@ <h3 id="licenses">Licenses</h3> </ol> <p>A combination of your answers will guide you to find the best license for your project which is adequate for your community. There are a couple of online tools that can help you with that! For example, if you are sharing creative work, you can consult the <a href="https://creativecommons.org/choose/">Creative Commons - Choose a License</a> tool. For other open source software licenses, you can take a look at the <a href="http://choosealicense.com/">Choose A License</a> website. The cool thing is: you can also <strong>create</strong> your own license! In any case, once you chose the appropriate license for your project, save it in your project root folder with the name “LICENSE” (as a text file). This way, your version control host system will automatically recognize it and display something like “hey, this project has a license!” when someone finds your project.</p> <h2 id="reproducibility-task-of-the-day">Reproducibility task of the day</h2> -<p>Take a moment to evaluate your current project design. How would you make it better? If there is something missing (a license, cool names, a good structure), try to implement what you’ve learned: one simple thing is enough! Pick one project + one improvement and do it / You can start even with pen and paper! Scketch what’s the flow of information inside your project right now. Is there any redundancies? Could a path between righly connected directories be shorter? Could the names of the folders be shorter if they were arranged some other way?</p> +<p>Take a moment to evaluate your current project design. How would you make it better? If there is something missing (a license, cool names, a good structure), try to implement what you’ve learned: one simple thing is enough! Pick one project + one improvement and do it / +You can start even with pen and paper! Scketch what’s the flow of information inside your project right now. Is there any redundancies? Could a path between righly connected directories be shorter? Could the names of the folders be shorter if they were arranged some other way?</p> <p>Need help? Ask a friend to do it with you!</p> <h2 id="suggested-readings">Suggested readings</h2> <ul> @@ -2315,7 +2370,8 @@ <h3 id="copying-online-repositories">Copying online repositories</h3> <h3 id="general-workflow-vocabulary">General workflow vocabulary</h3> <p>When we change some file and save the new version, we do a <strong>commit</strong> <img src="https://raw.githubusercontent.com/mozillascience/friendly-github/master/assets/images/Commit.gif" style="width: 20px;"/>. Commits should be accompanied by short but sufficiently descriptive comments, so that you can understand what the difference in that version is and locate it more easily. With commits you can track what change was made, where, by whom and when.</p> <figure> -<img src="https://raw.githubusercontent.com/mozillascience/study-group-onboarding/master/images/gh09.png" alt="commit" /><figcaption aria-hidden="true">commit</figcaption> +<img src="https://raw.githubusercontent.com/mozillascience/study-group-onboarding/master/images/gh09.png" alt="commit" /> +<figcaption aria-hidden="true">commit</figcaption> </figure> <p>After changing a file and saving the new version, this version needs to be given a tag (an identification code), and then uploaded to the online repository. We call this a <strong>push</strong>. To update your local directory with the newest versions of files, you must tell Git to <strong>pull</strong> them.</p> <p>When working on a branch, you can request that the changes you have made be implemented in the main branch of your <em>workflow</em> (or any other branch). To do this you request a <strong>merge</strong> via a <strong>pull request</strong> <img src="https://raw.githubusercontent.com/mozillascience/friendly-github/master/assets/images/PullRequest.gif" style="width: 20px;"/>. In a pull request, you ask a repository owner or contributor to accept the changes you made to a fork or branch into another branch. If they accept, you are listed as a contributor to the project.</p> @@ -2337,15 +2393,15 @@ <h2 id="working-locally">Working locally</h2> <h2 id="basic-commands">Basic Commands</h2> <p>The following commands will give us an idea of a <em>workflow</em> in Git.</p> <p>To use Git, you need to configure it so that your account on your Git server is recognised by it. In Git Bash:</p> -<div class="sourceCode" id="cb3"><pre class="sourceCode bash"><code class="sourceCode bash"><span id="cb3-1"><a href="#cb3-1" aria-hidden="true" tabindex="-1"></a><span class="fu">git</span> config --global user.name <span class="st">"username"</span></span> -<span id="cb3-2"><a href="#cb3-2" aria-hidden="true" tabindex="-1"></a><span class="fu">git</span> config --global user.email <span class="st">"iamawesome@email.com"</span></span> -<span id="cb3-3"><a href="#cb3-3" aria-hidden="true" tabindex="-1"></a><span class="fu">git</span> config --list <span class="co">#Confirm your settings</span></span></code></pre></div> +<div class="sourceCode" id="cb3"><pre class="sourceCode bash"><code class="sourceCode bash"><span id="cb3-1"><a href="#cb3-1" aria-hidden="true" tabindex="-1"></a><span class="fu">git</span> config <span class="at">--global</span> user.name <span class="st">"username"</span></span> +<span id="cb3-2"><a href="#cb3-2" aria-hidden="true" tabindex="-1"></a><span class="fu">git</span> config <span class="at">--global</span> user.email <span class="st">"iamawesome@email.com"</span></span> +<span id="cb3-3"><a href="#cb3-3" aria-hidden="true" tabindex="-1"></a><span class="fu">git</span> config <span class="at">--list</span> <span class="co">#Confirm your settings</span></span></code></pre></div> <p>There, now Git knows who you are.<br /> <img src="https://media.giphy.com/media/QBGfW8HqzXzYDojCqo/giphy.gif" /></p> <p>To start a repository from your computer, you can tell Git to start or “watch” a folder.<br /> First, check what the working directory is and change it if necessary.</p> <div class="sourceCode" id="cb4"><pre class="sourceCode bash"><code class="sourceCode bash"><span id="cb4-1"><a href="#cb4-1" aria-hidden="true" tabindex="-1"></a><span class="bu">pwd</span> <span class="co"># prints the working directory</span></span> -<span id="cb4-2"><a href="#cb4-2" aria-hidden="true" tabindex="-1"></a><span class="bu">cd</span> # takes you to the root</span> +<span id="cb4-2"><a href="#cb4-2" aria-hidden="true" tabindex="-1"></a><span class="bu">cd</span> <span class="co"># takes you to the root</span></span> <span id="cb4-3"><a href="#cb4-3" aria-hidden="true" tabindex="-1"></a><span class="bu">cd</span> .. <span class="co"># takes you to one level up directory</span></span> <span id="cb4-4"><a href="#cb4-4" aria-hidden="true" tabindex="-1"></a><span class="bu">cd</span> <span class="st">"your/directory"</span> <span class="co"># changes your working directory</span></span></code></pre></div> <p>To clone your repository, copy the url as shown in the picture above and ask Git to clone the repository into the directory you indicated.</p> @@ -2362,14 +2418,14 @@ <h2 id="basic-commands">Basic Commands</h2> <p>Hey, couldn’t you find an important file? Add it to the Git vision field now!</p> <div class="sourceCode" id="cb10"><pre class="sourceCode bash"><code class="sourceCode bash"><span id="cb10-1"><a href="#cb10-1" aria-hidden="true" tabindex="-1"></a><span class="fu">git</span> add file <span class="co"># adds a file</span></span> <span id="cb10-2"><a href="#cb10-2" aria-hidden="true" tabindex="-1"></a></span> -<span id="cb10-3"><a href="#cb10-3" aria-hidden="true" tabindex="-1"></a><span class="fu">git</span> add -u <span class="co"># updates the file tracking</span></span> +<span id="cb10-3"><a href="#cb10-3" aria-hidden="true" tabindex="-1"></a><span class="fu">git</span> add <span class="at">-u</span> <span class="co"># updates the file tracking</span></span> <span id="cb10-4"><a href="#cb10-4" aria-hidden="true" tabindex="-1"></a></span> -<span id="cb10-5"><a href="#cb10-5" aria-hidden="true" tabindex="-1"></a><span class="fu">git</span> add -A <span class="co"># all the above</span></span></code></pre></div> +<span id="cb10-5"><a href="#cb10-5" aria-hidden="true" tabindex="-1"></a><span class="fu">git</span> add <span class="at">-A</span> <span class="co"># all the above</span></span></code></pre></div> <p>To make additions interactively via the terminal, use:</p> -<div class="sourceCode" id="cb11"><pre class="sourceCode bash"><code class="sourceCode bash"><span id="cb11-1"><a href="#cb11-1" aria-hidden="true" tabindex="-1"></a><span class="fu">git</span> add -i</span></code></pre></div> +<div class="sourceCode" id="cb11"><pre class="sourceCode bash"><code class="sourceCode bash"><span id="cb11-1"><a href="#cb11-1" aria-hidden="true" tabindex="-1"></a><span class="fu">git</span> add <span class="at">-i</span></span></code></pre></div> <p>Follow the instructions provided by the terminal and include as many files as you want before committing.</p> <p>Now that Git is keeping an eye on all your files, any changes you make (and want them to be recorded in this file’s timeline) will be detected. To make sure your changes are recorded, “commit” the changed file with a comment so you can remember what the difference is in that version.</p> -<div class="sourceCode" id="cb12"><pre class="sourceCode bash"><code class="sourceCode bash"><span id="cb12-1"><a href="#cb12-1" aria-hidden="true" tabindex="-1"></a><span class="fu">git</span> commit -m <span class="st">"it's awesome now"</span></span></code></pre></div> +<div class="sourceCode" id="cb12"><pre class="sourceCode bash"><code class="sourceCode bash"><span id="cb12-1"><a href="#cb12-1" aria-hidden="true" tabindex="-1"></a><span class="fu">git</span> commit <span class="at">-m</span> <span class="st">"it's awesome now"</span></span></code></pre></div> <p>A <code>commit</code> only updates the local repository if you are working locally, or the remote repository if you are working remotely. To synchronize the two repositories, you must either <code>push</code> updates to the remote repository or <code>pull</code> updates to the local repository.</p> <div class="sourceCode" id="cb13"><pre class="sourceCode bash"><code class="sourceCode bash"><span id="cb13-1"><a href="#cb13-1" aria-hidden="true" tabindex="-1"></a><span class="fu">git</span> push origin master</span> <span id="cb13-2"><a href="#cb13-2" aria-hidden="true" tabindex="-1"></a><span class="co">#"Git, please take the updated files to the remote repository 'origin', on the 'main' branch."</span></span> @@ -2380,21 +2436,21 @@ <h3 id="how-to-track-changes-in-my-files">How to track changes in my files?</h3> <p>Check the changes in the content of the files (e.g. new lines added):</p> <div class="sourceCode" id="cb14"><pre class="sourceCode bash"><code class="sourceCode bash"><span id="cb14-1"><a href="#cb14-1" aria-hidden="true" tabindex="-1"></a><span class="fu">git</span> diff</span></code></pre></div> <p>Check the files and their changes that are in the stage area:</p> -<div class="sourceCode" id="cb15"><pre class="sourceCode bash"><code class="sourceCode bash"><span id="cb15-1"><a href="#cb15-1" aria-hidden="true" tabindex="-1"></a><span class="fu">git</span> diff --staged</span></code></pre></div> +<div class="sourceCode" id="cb15"><pre class="sourceCode bash"><code class="sourceCode bash"><span id="cb15-1"><a href="#cb15-1" aria-hidden="true" tabindex="-1"></a><span class="fu">git</span> diff <span class="at">--staged</span></span></code></pre></div> <p>If you are lost between the different versions of your files, check the commit history! :)</p> <div class="sourceCode" id="cb16"><pre class="sourceCode bash"><code class="sourceCode bash"><span id="cb16-1"><a href="#cb16-1" aria-hidden="true" tabindex="-1"></a><span class="fu">git</span> log <span class="co"># history of project commits since the beginning</span></span> -<span id="cb16-2"><a href="#cb16-2" aria-hidden="true" tabindex="-1"></a><span class="fu">git</span> log -p <span class="co"># detailed historic of commits (i.e. git log + git diff)</span></span></code></pre></div> +<span id="cb16-2"><a href="#cb16-2" aria-hidden="true" tabindex="-1"></a><span class="fu">git</span> log <span class="at">-p</span> <span class="co"># detailed historic of commits (i.e. git log + git diff)</span></span></code></pre></div> <p>Depending on the size of the changes, the log may be very large and you will need to press “return” to each page to see all the changes. At the end you will see <code>(END)</code>, then press the letter ‘q’ to finish reading.<br /> If you only want to check the latest commits, limit the list with <code>git log -p -1</code> (replace the 1 with the number of commits you wish to see). You can also check out the entire change history of the working directories with the Git viewer with <code>gitk</code>. Isn’t that cool!</p> <h3 id="working-with-branches">Working with branches</h3> <p><em>Branches</em> are ramifications of other timelines. They are very useful when you need to test or work on large changes without changing what is on the main branch. It is very important to maintain branches in your collaborative work, because it reduces the chance of the main branch suffering accidental major changes and simplifies the management of file versions.</p> -<div class="sourceCode" id="cb17"><pre class="sourceCode bash"><code class="sourceCode bash"><span id="cb17-1"><a href="#cb17-1" aria-hidden="true" tabindex="-1"></a><span class="fu">git</span> show-branch -a <span class="co"># lists all branches</span></span> +<div class="sourceCode" id="cb17"><pre class="sourceCode bash"><code class="sourceCode bash"><span id="cb17-1"><a href="#cb17-1" aria-hidden="true" tabindex="-1"></a><span class="fu">git</span> show-branch <span class="at">-a</span> <span class="co"># lists all branches</span></span> <span id="cb17-2"><a href="#cb17-2" aria-hidden="true" tabindex="-1"></a></span> <span id="cb17-3"><a href="#cb17-3" aria-hidden="true" tabindex="-1"></a><span class="fu">git</span> branch name_of_branch <span class="co"># creates a new branch</span></span> <span id="cb17-4"><a href="#cb17-4" aria-hidden="true" tabindex="-1"></a></span> <span id="cb17-5"><a href="#cb17-5" aria-hidden="true" tabindex="-1"></a><span class="fu">git</span> checkout name_of_branch <span class="co"># transfers the workspace to the new branch</span></span> <span id="cb17-6"><a href="#cb17-6" aria-hidden="true" tabindex="-1"></a></span> -<span id="cb17-7"><a href="#cb17-7" aria-hidden="true" tabindex="-1"></a><span class="fu">git</span> checkout -b name_of_branch <span class="co"># creates a branch and transfers the workspace</span></span></code></pre></div> +<span id="cb17-7"><a href="#cb17-7" aria-hidden="true" tabindex="-1"></a><span class="fu">git</span> checkout <span class="at">-b</span> name_of_branch <span class="co"># creates a branch and transfers the workspace</span></span></code></pre></div> <p>When all the changes you have made to your branch are done and you think it is time to merge them into the <code>main</code> (or any other branch), move to the target branch and request a merge:</p> <div class="sourceCode" id="cb18"><pre class="sourceCode bash"><code class="sourceCode bash"><span id="cb18-1"><a href="#cb18-1" aria-hidden="true" tabindex="-1"></a><span class="fu">git</span> merge new_branch <span class="co"># merges the changes from 'new_branch' to 'main'</span></span></code></pre></div> <p>If you no longer need the branch and want to delete it, use the <code>git branch -d new_branch</code> command.<br /> @@ -2415,22 +2471,22 @@ <h3 id="working-with-branches">Working with branches</h3> <h2 id="oh-my-git-d">Oh, my Git! D=</h2> <p>Did you mess up commits? Want to revert a change? Don’t despair!<br /> If you made a commit and regret it, but don’t even remember which commit it was (<a href="http://stackoverflow.com/questions/3701404/list-all-commits-for-a-specific-file">“Find out commits associated for a specific file”</a>):</p> -<div class="sourceCode" id="cb22"><pre class="sourceCode bash"><code class="sourceCode bash"><span id="cb22-1"><a href="#cb22-1" aria-hidden="true" tabindex="-1"></a><span class="fu">git</span> log -p filename<span class="kw">`</span></span></code></pre></div> +<div class="sourceCode" id="cb22"><pre class="sourceCode bash"><code class="sourceCode bash"><span id="cb22-1"><a href="#cb22-1" aria-hidden="true" tabindex="-1"></a><span class="fu">git</span> log <span class="at">-p</span> filename<span class="kw">`</span></span></code></pre></div> <p>If you want to include new edits to the last commit, replacing it:</p> -<div class="sourceCode" id="cb23"><pre class="sourceCode bash"><code class="sourceCode bash"><span id="cb23-1"><a href="#cb23-1" aria-hidden="true" tabindex="-1"></a><span class="fu">git</span> commit --amend -m <span class="st">"message"</span></span></code></pre></div> +<div class="sourceCode" id="cb23"><pre class="sourceCode bash"><code class="sourceCode bash"><span id="cb23-1"><a href="#cb23-1" aria-hidden="true" tabindex="-1"></a><span class="fu">git</span> commit <span class="at">--amend</span> <span class="at">-m</span> <span class="st">"message"</span></span></code></pre></div> <p>If you want to remove any file from the stage area after a <code>git add .</code>:</p> <div class="sourceCode" id="cb24"><pre class="sourceCode bash"><code class="sourceCode bash"><span id="cb24-1"><a href="#cb24-1" aria-hidden="true" tabindex="-1"></a><span class="fu">git</span> reset HEAD new_file.R</span></code></pre></div> <p>But if you want to remove it from your <em>working tree</em> and the set of added files:</p> <div class="sourceCode" id="cb25"><pre class="sourceCode bash"><code class="sourceCode bash"><span id="cb25-1"><a href="#cb25-1" aria-hidden="true" tabindex="-1"></a><span class="fu">git</span> rm new_file.R</span></code></pre></div> <p>If all that goes wrong, try the following (tips taken <a href="https://stackoverflow.com/questions/23068790/git-revert-certain-files">from here</a>):</p> -<div class="sourceCode" id="cb26"><pre class="sourceCode bash"><code class="sourceCode bash"><span id="cb26-1"><a href="#cb26-1" aria-hidden="true" tabindex="-1"></a><span class="fu">git</span> revert --no-commit <span class="op"><</span>commit hash<span class="op">></span> <span class="co"># Revert, but don't commit yet</span></span> -<span id="cb26-2"><a href="#cb26-2" aria-hidden="true" tabindex="-1"></a><span class="fu">git</span> reset <span class="co"># Take everything from the stage area</span></span> -<span id="cb26-3"><a href="#cb26-3" aria-hidden="true" tabindex="-1"></a><span class="fu">git</span> add yourFilesToRevert <span class="co"># Add files to revert</span></span> -<span id="cb26-4"><a href="#cb26-4" aria-hidden="true" tabindex="-1"></a><span class="fu">git</span> commit -m <span class="st">"commit message"</span></span> -<span id="cb26-5"><a href="#cb26-5" aria-hidden="true" tabindex="-1"></a><span class="fu">git</span> reset --hard <span class="co"># Undo changes not commited</span></span></code></pre></div> +<div class="sourceCode" id="cb26"><pre class="sourceCode bash"><code class="sourceCode bash"><span id="cb26-1"><a href="#cb26-1" aria-hidden="true" tabindex="-1"></a><span class="fu">git</span> revert <span class="at">--no-commit</span> <span class="op"><</span>commit hash<span class="op">></span> # Revert, but don<span class="st">'t commit yet</span></span> +<span id="cb26-2"><a href="#cb26-2" aria-hidden="true" tabindex="-1"></a><span class="st">git reset # Take everything from the stage area</span></span> +<span id="cb26-3"><a href="#cb26-3" aria-hidden="true" tabindex="-1"></a><span class="st">git add yourFilesToRevert # Add files to revert</span></span> +<span id="cb26-4"><a href="#cb26-4" aria-hidden="true" tabindex="-1"></a><span class="st">git commit -m "commit message"</span></span> +<span id="cb26-5"><a href="#cb26-5" aria-hidden="true" tabindex="-1"></a><span class="st">git reset --hard # Undo changes not commited</span></span></code></pre></div> <p>If you want to remove all local changes and commits, retrieve the most recent history from the server and point to your local branch <code>main</code> like this:</p> <div class="sourceCode" id="cb27"><pre class="sourceCode bash"><code class="sourceCode bash"><span id="cb27-1"><a href="#cb27-1" aria-hidden="true" tabindex="-1"></a><span class="fu">git</span> fetch origin</span> -<span id="cb27-2"><a href="#cb27-2" aria-hidden="true" tabindex="-1"></a><span class="fu">git</span> reset --hard origin/master</span></code></pre></div> +<span id="cb27-2"><a href="#cb27-2" aria-hidden="true" tabindex="-1"></a><span class="fu">git</span> reset <span class="at">--hard</span> origin/master</span></code></pre></div> <p>That’s it! There’s <strong><em>a lot more</em></strong> in the git world, but I hope this guide can help you on your version control journey.</p> <p><strong>Remember</strong>: keep the <code>main</code> as untouched as possible, work with branches to test your ideas, and always <code>push</code> your modifications before going to bed.</p> <h2 id="reproducibility-task-of-the-day-1">Reproducibility task of the day</h2> @@ -2450,7 +2506,9 @@ <h3 id="self-care-task-of-the-day-3"><strong>Self-care task of the day</strong>< <h2 id="reproducible-code">Reproducible code</h2> <p>Today is the day to make your future-self thank you! We will go through some tips and tricks to make your code more friendly, surviving the test of time and of your own memory.</p> <p>A reproducible code is an essential part of a reproducible project. Having a code to reproduce your analysis is already a great start, congrats for that! :crown:</p> -<p>Today we’ll try to go a step forward and write a love letter for your future-self by adding comments on your code, rethinking about object names, investigate how we can compile chuncks of code inside functions and, finally, think about reproducible manuscripts. ### Style There are no right or wrong when it comes to style: there are best-practices and what works better for you or your project.</p> +<p>Today we’ll try to go a step forward and write a love letter for your future-self by adding comments on your code, rethinking about object names, investigate how we can compile chuncks of code inside functions and, finally, think about reproducible manuscripts. +### Style +There are no right or wrong when it comes to style: there are best-practices and what works better for you or your project.</p> <p>For example, Google has a series of style guides they use to standardize code writing in the company. There is a <a href="https://google.github.io/styleguide/Rguide.html">Google’s R Style Guide</a> and a <a href="https://style.tidyverse.org/">tydiverse style guide</a> which can be a good inspiration to find your own. Here’s an idea: create a document whre you usually store code. List all conventions you use and have never thought about <strong><em>why</em></strong> you use them and reflect if they still make sense for you. If they do, keep them. If they don’t, try to improve them. Is there any other thing you never thought it was important, but it could be? Do you have a convention for function names, for example?</p> <p><strong>Object names</strong><br /> Object names are the major source of wasted time for me, especially when the code is already super long with numerous objects. What helps is to know they should be descriptive, yet concise. A good tip is to <a href="https://style.tidyverse.org/syntax.html#object-names">name objects as nouns and functions as verbs</a>.</p> @@ -2467,7 +2525,8 @@ <h3 id="functions-and-packages">Functions and packages</h3> <p>Take a few minutes to have a look at your code now. Can you see something that could be a function?</p> </blockquote> <h2 id="reproducible-manuscripts">Reproducible manuscripts</h2> -<p>From reproducible code to reproducible manuscripts is one small leap! It means your manuscript is readable across platforms and systems, and can be compiled locally, and even be automatically updated if your data or analyses change! It doesn’t mean that the interpretation of the results will be automatically updated aswell - which seems to be a concern for some people, that argue that reproducible manuscripts turn the science activity into a mechanic thing. On the contrary: it allows you to not worry about making figures over and over again, and concentrate in the philosophical part of your science!</p> +<p>From reproducible code to reproducible manuscripts is one small leap! It means your manuscript is readable across platforms and systems, and can be compiled locally, and even be automatically updated if your data or analyses change! +It doesn’t mean that the interpretation of the results will be automatically updated aswell - which seems to be a concern for some people, that argue that reproducible manuscripts turn the science activity into a mechanic thing. On the contrary: it allows you to not worry about making figures over and over again, and concentrate in the philosophical part of your science!</p> <p>There are three basic things we need to understand to produce a reproducible academic manuscript: the <a href="https://yaml.org/">YAML</a>, the <a href="https://en.wikipedia.org/wiki/Markup_language">markup language</a> (such as Markdown) and the citation/references management.</p> <p><strong>YAML</strong> (YAML Ain’t a Markup Language - metalingustics!) is a language that defines the metadata of your document and helps in the compiling process. It tells your computer if the output you need is a <code>*.pdf</code> or a <code>*.doc</code> file, for example. A YAML block will be the first thing you’ll add on your document, and the only tricky thing is to get the indentation right.</p> <p>For example, the YAML of this very webpage looks like this:</p> @@ -2554,7 +2613,68 @@ <h2 id="suggested-reading-2">Suggested reading</h2> <h1 id="thursday---preserve-your-tools">Thursday - preserve your tools</h1> <blockquote> <h3 id="self-care-task-of-the-day-4"><strong>Self-care task of the day</strong></h3> +<p>It’s time to update all those packages (and maybe even language version) - you deserve to be able to play with the newest toys on the block. While all this is happening in the background put your feet up and hit play on the TV or podcast series you’ve been meaning to catch up on.</p> +</blockquote> +<h2 id="why-do-we-need-to-preserve-our-tools">Why do we need to preserve our tools?</h2> +<p>So you’ve commented, documented, and shared your code meaning that it’s ready to be used by the rest of the world, right? Well maybe for now but you know what they say about time - <em>all hours wound; the last one kills</em>. Okay so it might not be that dramatic but there is of course the problem that as time progresses our code becomes out-dated and (worst case scenario) non-functional. Programming languages (and packages) are continually evolving as developers work at squashing bugs and making performance upgrades. Sometimes these upgrades might result in a fundamental change in how the a language or package functions <em>e.g.</em> a function name might change or some functionality will be removed in favour of another. This means that in a few years that beautifully documented chunk of code that we’ve written today might not even run.</p> +<p>Oh dear…</p> +<center> +<p><img src="https://media.giphy.com/media/75nS8yYzKBGQXSHYG3/giphy.gif" /></p> +</center> +<p>What this boils down to is that we need to not only think about documenting the code itself but also all the ‘backend’ features that make it tick <em>i.e.</em> not only what packages we’re using but also what version. This can also extend to language and operating system (OS) type or version used.</p> +<p>Although this may seem daunting it’s important to remember that the journey to +reproducibility is much like how one approaches eating an elephant - we take +it one bit<del>e</del> at a time. So don’t be afraid to take a little nibble before biting off more than you can chew.</p> +<h2 id="how-do-we-keep-our-work-reproducible">How do we <em>keep</em> our work reproducible?</h2> +<p>The good news is that there is a lot of functionality out there to help us on our reproducibility journey. Different languages have different ways we can document and ‘keep’ the package version that we are using. The main focus will be using <code>R</code> as it is the current <em>lingua franca</em> of most ecologists and it also straddles the middle ground between being very ‘picky’ like <code>python</code> and literally having a built in system like <code>Julia</code>.</p> +<p>The big (language agnostic) take home message here though is that it’s important to (at minimum) keep record of the versions of things you used if you want your work to work a few months/years down the line. By keeping a record of the package, software and OS versions used we give other users (and our future selves) a chance to recreate the environment that allowed our project/code to run should things change or be updated.</p> +<p>The three main approaches and packages I will discuss are <code>{groundhog}</code>, <code>{renv}</code> and, <code>docker</code>. There are of course other ways to document package versions but these are (somewhat user friendly) and will give you different ‘levels’ of reproducibility. It is of course also possible to mix and match these different platforms.</p> +<h3 id="groundhog"><code>{groundhog}</code></h3> +<p><a href="http://groundhogr.com/using/"><code>{groundhog}</code></a> is a relatively new kid on the block -and apparently refers to a film of the same name (no comment on my side as this is a facet of pop culture the eludes me). This is a super easy package to implement (think one function easy) and is a really nice way to ‘retrofit’ some of your older code.</p> +<p><strong>How it works:</strong> Essentially <code>{groundhog}</code> will install the version of a package that was available on CRAN for a specified date. This is done by ‘replacing’ the <code>library("package")</code> with <code>groundhog.library("package", date)</code>. This means its easy to go back and set a more suitable date for your script e.g. maybe the date it was created or last time it was saved.</p> +<div class="layout-chunk" data-layout="l-body"> +<div class="sourceCode"> +<pre class="sourceCode r"><code class="sourceCode r"><span><span class='co'># a mini example</span></span> +<span><span class='fu'><a href='https://rdrr.io/r/utils/install.packages.html'>install.packages</a></span><span class='op'>(</span><span class='st'>"groundhog"</span><span class='op'>)</span></span> +<span><span class='kw'><a href='https://rdrr.io/r/base/library.html'>library</a></span><span class='op'>(</span><span class='st'><a href='https://groundhogr.com/'>"groundhog"</a></span><span class='op'>)</span></span> +<span><span class='fu'><a href='https://rdrr.io/pkg/groundhog/man/groundhog.library.html'>groundhog.library</a></span><span class='op'>(</span><span class='st'>"tidyverse"</span>, <span class='st'>"2018-07-07"</span><span class='op'>)</span></span> +<span></span> +<span><span class='co'># you can also call multiple packages</span></span> +<span><span class='va'>pkgs</span> <span class='op'><-</span> <span class='fu'><a href='https://rdrr.io/r/base/c.html'>c</a></span><span class='op'>(</span><span class='st'>"tidyverse"</span>,<span class='st'>"ggforce"</span><span class='op'>)</span></span> +<span><span class='fu'><a href='https://rdrr.io/pkg/groundhog/man/groundhog.library.html'>groundhog.library</a></span><span class='op'>(</span><span class='va'>pkgs</span>, <span class='st'>"2018-07-07"</span><span class='op'>)</span></span> +<span></span> +<span><span class='co'># working with an 'active' script</span></span> +<span><span class='kw'><a href='https://rdrr.io/r/base/library.html'>library</a></span><span class='op'>(</span><span class='va'><a href='https://groundhogr.com/'>groundhog</a></span><span class='op'>)</span></span> +<span><span class='va'>groundhog.day</span> <span class='op'>=</span> <span class='st'>"2021-07-07"</span></span> +<span><span class='fu'><a href='https://rdrr.io/pkg/groundhog/man/groundhog.library.html'>groundhog.library</a></span><span class='op'>(</span><span class='va'>pkgs</span>, <span class='va'>groundhog.day</span><span class='op'>)</span></span></code></pre> +</div> +</div> +<p><strong>Limitations:</strong> Although <code>{groundhog}</code> will call the correct/desired packages version there is of course the potential problem that that package version is no longer compatible with the version of <code>R</code> that you’re running on your machine — this means you might have to have multiple version of <code>R</code> on you machine and have to switch between them depending on what project you’re using. Another issue could arise when retrofitting your workflow. Although you might have a starting date/groundhog day you might not have been using the most up-to-date version available at that date - so you would be retrieving the wrong version.</p> +<p><strong>Pros:</strong> To end on a positive note though - {groundhog} is at least a solid starting point for documenting package version <em>and</em> its very easy to implement, especially if you are retrofitting your code.</p> +<h3 id="renv"><code>{renv}</code></h3> +<p>As highlighted above one of the potential issues with {groundhog} is that you might run into language version incompatibility - and by extension still have non-working code (bleak). Enter <a href="https://rstudio.github.io/renv/articles/renv.html"><code>{renv}</code></a>, a handy-dandy, easy to use, dependency management package for your projects. <code>{renv}</code> records both <code>R</code> and package versions through a series of user called functions. This is very similar to <code>Julia</code> where all packages are ‘stored’ in <code>Project.toml</code>. <code>{renv}</code> works by crawling through your project directory and recording package version and dependencies in use. This is then saved in the <code>renv.lock</code> file and is used to ‘load’ the project state further down the line.</p> +<p><strong>How it works:</strong> The bare bones overview is that you 1) initialise the project-local environment using <code>renv::init()</code>, 2) continue tinkering as you go, 3) call <code>renv::snapshot()</code> to update <code>renv.lock</code> with any new additions, and 4) if things broke along the way you can call <code>renv::restore()</code> to revert back to the previous project state you had saved in your lock file (which hopefully did run).</p> +<p><strong>Limitations:</strong> One limitation is that <code>{renv}</code> relies on you saving a <em>currently</em> working/functioning state (if you want recall it and have it to work in the future). This makes it a bit tricky to try and quickly ‘fix’ old code - something that <code>{groundhog}</code> is probably more suited for, whereas <code>{renv}</code> is a solid choice when starting a new project form scratch.</p> +<p><strong>Pros:</strong> <code>{renv}</code> saves both package and <code>R</code> versions - which is great as it ‘doubles down’ on having things work in harmony. It is also very easy to use - once again you can get away by using a few lines of code.</p> +<h3 id="docker">Docker</h3> +<p>Docker, a term that can strike trepidation in even some of the most hardened of researchers (although they have the cutest whale as a logo and that 100% drops the scary factor if you as me). Briefly Docker is a program that allows you to host different mini computers on your computer. This of course means its not just an R-specific tool but one that could probably cover a lot of reproducibility bases for most languages. But there is a reason this is last on the list and that is because it takes a bit more work to implement. So think of this as a long-term project/goal to set yourself up for.</p> +<p><strong>How it works:</strong> As I said earlier with Docker you can run multiple mini computers (containers) built from an ‘image’ of your machine (the host). The catch though - you need to build the image from scratch from OS all the way through to you specific script/code chunk. These build instructions are contained in a <code>Dockerfile</code> - which you save in your working directory. Inside this file is the ‘recipe’ for building your image (and spoiler alert it looks a lot like a series of command line calls). Colin Fay wrote <a href="https://colinfay.me/docker-r-reproducibility/">this</a> really nice blog about using docker and <code>R</code> for beginners. If your interested I suggest starting there! Alternatively <code>{renv}</code> also plays well with Docker - have a look at <a href="https://rstudio.github.io/renv/articles/docker.html">this vignette</a></p> +<p><strong>Limitations:</strong> In the context of what has been discussed in this post Docker is <em>hard</em> yo! In order to write a Docker file you will benefit a lot from being comfortable using and thinking of things in terms of command line. Since you are ‘creating’ you mini computer you need to install a lot of moving parts and components. This means you might be moving from your comfort zone when it comes to programming and could put you off trying the whole reproducibility thing all together. So set realistic expectations here and don’t be too hard on yourself!</p> +<p><strong>Pros:</strong> Docker is very flexible! You can build your mini computer to your specifications and keep your ‘normal computer’ intact. For example if I am running MacOS, <code>R</code> 3.5 on my normal computer but can build an image that runs Linux and <code>R</code> 3.1. Also because the recipe is contained in the <code>Dockerfile</code> anyone can build the image for that project on their machine and have it all ‘just’ work (avoiding the whole ‘but it works on my machine’ scenario).</p> +<h2 id="closing-thoughts">Closing thoughts</h2> +<p>If you want to keep your project pipeline working in the long-term it is important to account for the fact that languages are evolving - which means the scaffold on which your code rests also needs to be documented in some way. That being said asking yourself as to how <em>paramount</em> the longevity of your project is a good way to identify and allocate resources to documenting and accommodating for this. For smaller projects you could probably get away with a simple documentation process e.g. <code>Julia</code>’s <code>Project.toml</code> system or <code>{renv}</code> for <code>R</code>. But if the longevity of the project is of high importance it’s probably recommended to give something like Docker a try.</p> +<p>Now lets get out there and give package management a go!</p> +<blockquote> +<p>Pick and choose the task(s) that you want to take on (or remix one of them) +1. Open one of the older projects on you computer. Does the code run? If no see if you can retrofit it using {groundhog} +2. Open the (or one of many) project you are currently working on and run <code>renv::init()</code> and see what happens +3. Install Docker and work through <a href="https://colinfay.me/docker-r-reproducibility/">Colin Fay’s tutorial</a></p> +</blockquote> +<center> +<p><img src="https://media.giphy.com/media/aBv5IC7zFOFjVVVs7I/giphy.gif" /></p> +</center> <h1 id="friday---automate-your-workflows">Friday - automate your workflows</h1> +<blockquote> <h3 id="self-care-task-of-the-day-5"><strong>Self-care task of the day</strong></h3> </blockquote> <h1 id="saturday---reproducible-challange">Saturday - reproducible challange</h1> diff --git a/docs/posts/2021-06-13-unreproducibility-detox/unreproducibility-detox_files/header-attrs-2.7/header-attrs.js b/docs/posts/2021-06-13-unreproducibility-detox/unreproducibility-detox_files/header-attrs-2.7/header-attrs.js new file mode 100644 index 0000000..dd57d92 --- /dev/null +++ b/docs/posts/2021-06-13-unreproducibility-detox/unreproducibility-detox_files/header-attrs-2.7/header-attrs.js @@ -0,0 +1,12 @@ +// Pandoc 2.9 adds attributes on both header and div. We remove the former (to +// be compatible with the behavior of Pandoc < 2.8). +document.addEventListener('DOMContentLoaded', function(e) { + var hs = document.querySelectorAll("div.section[class*='level'] > :first-child"); + var i, h, a; + for (i = 0; i < hs.length; i++) { + h = hs[i]; + if (!/^h[1-6]$/i.test(h.tagName)) continue; // it should be a header h1-h6 + a = h.attributes; + while (a.length > 0) h.removeAttribute(a[0].name); + } +}); diff --git a/docs/posts/2021-06-13-unreproducibility-detox/unreproducibility-detox_files/jquery-1.11.3/jquery.min.js b/docs/posts/2021-06-13-unreproducibility-detox/unreproducibility-detox_files/jquery-1.11.3/jquery.min.js new file mode 100644 index 0000000..0f60b7b --- /dev/null +++ b/docs/posts/2021-06-13-unreproducibility-detox/unreproducibility-detox_files/jquery-1.11.3/jquery.min.js @@ -0,0 +1,5 @@ +/*! jQuery v1.11.3 | (c) 2005, 2015 jQuery Foundation, Inc. | jquery.org/license */ +!function(a,b){"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){var c=[],d=c.slice,e=c.concat,f=c.push,g=c.indexOf,h={},i=h.toString,j=h.hasOwnProperty,k={},l="1.11.3",m=function(a,b){return new m.fn.init(a,b)},n=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,o=/^-ms-/,p=/-([\da-z])/gi,q=function(a,b){return b.toUpperCase()};m.fn=m.prototype={jquery:l,constructor:m,selector:"",length:0,toArray:function(){return d.call(this)},get:function(a){return null!=a?0>a?this[a+this.length]:this[a]:d.call(this)},pushStack:function(a){var b=m.merge(this.constructor(),a);return b.prevObject=this,b.context=this.context,b},each:function(a,b){return m.each(this,a,b)},map:function(a){return this.pushStack(m.map(this,function(b,c){return a.call(b,c,b)}))},slice:function(){return this.pushStack(d.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},eq:function(a){var b=this.length,c=+a+(0>a?b:0);return this.pushStack(c>=0&&b>c?[this[c]]:[])},end:function(){return this.prevObject||this.constructor(null)},push:f,sort:c.sort,splice:c.splice},m.extend=m.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||m.isFunction(g)||(g={}),h===i&&(g=this,h--);i>h;h++)if(null!=(e=arguments[h]))for(d in e)a=g[d],c=e[d],g!==c&&(j&&c&&(m.isPlainObject(c)||(b=m.isArray(c)))?(b?(b=!1,f=a&&m.isArray(a)?a:[]):f=a&&m.isPlainObject(a)?a:{},g[d]=m.extend(j,f,c)):void 0!==c&&(g[d]=c));return g},m.extend({expando:"jQuery"+(l+Math.random()).replace(/\D/g,""),isReady:!0,error:function(a){throw new Error(a)},noop:function(){},isFunction:function(a){return"function"===m.type(a)},isArray:Array.isArray||function(a){return"array"===m.type(a)},isWindow:function(a){return null!=a&&a==a.window},isNumeric:function(a){return!m.isArray(a)&&a-parseFloat(a)+1>=0},isEmptyObject:function(a){var b;for(b in a)return!1;return!0},isPlainObject:function(a){var b;if(!a||"object"!==m.type(a)||a.nodeType||m.isWindow(a))return!1;try{if(a.constructor&&!j.call(a,"constructor")&&!j.call(a.constructor.prototype,"isPrototypeOf"))return!1}catch(c){return!1}if(k.ownLast)for(b in a)return j.call(a,b);for(b in a);return void 0===b||j.call(a,b)},type:function(a){return null==a?a+"":"object"==typeof a||"function"==typeof a?h[i.call(a)]||"object":typeof a},globalEval:function(b){b&&m.trim(b)&&(a.execScript||function(b){a.eval.call(a,b)})(b)},camelCase:function(a){return a.replace(o,"ms-").replace(p,q)},nodeName:function(a,b){return a.nodeName&&a.nodeName.toLowerCase()===b.toLowerCase()},each:function(a,b,c){var d,e=0,f=a.length,g=r(a);if(c){if(g){for(;f>e;e++)if(d=b.apply(a[e],c),d===!1)break}else for(e in a)if(d=b.apply(a[e],c),d===!1)break}else if(g){for(;f>e;e++)if(d=b.call(a[e],e,a[e]),d===!1)break}else for(e in a)if(d=b.call(a[e],e,a[e]),d===!1)break;return a},trim:function(a){return null==a?"":(a+"").replace(n,"")},makeArray:function(a,b){var c=b||[];return null!=a&&(r(Object(a))?m.merge(c,"string"==typeof a?[a]:a):f.call(c,a)),c},inArray:function(a,b,c){var d;if(b){if(g)return g.call(b,a,c);for(d=b.length,c=c?0>c?Math.max(0,d+c):c:0;d>c;c++)if(c in b&&b[c]===a)return c}return-1},merge:function(a,b){var c=+b.length,d=0,e=a.length;while(c>d)a[e++]=b[d++];if(c!==c)while(void 0!==b[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;g>f;f++)d=!b(a[f],f),d!==h&&e.push(a[f]);return e},map:function(a,b,c){var d,f=0,g=a.length,h=r(a),i=[];if(h)for(;g>f;f++)d=b(a[f],f,c),null!=d&&i.push(d);else for(f in a)d=b(a[f],f,c),null!=d&&i.push(d);return e.apply([],i)},guid:1,proxy:function(a,b){var c,e,f;return"string"==typeof b&&(f=a[b],b=a,a=f),m.isFunction(a)?(c=d.call(arguments,2),e=function(){return a.apply(b||this,c.concat(d.call(arguments)))},e.guid=a.guid=a.guid||m.guid++,e):void 0},now:function(){return+new Date},support:k}),m.each("Boolean Number String Function Array Date RegExp Object Error".split(" "),function(a,b){h["[object "+b+"]"]=b.toLowerCase()});function r(a){var b="length"in a&&a.length,c=m.type(a);return"function"===c||m.isWindow(a)?!1:1===a.nodeType&&b?!0:"array"===c||0===b||"number"==typeof b&&b>0&&b-1 in a}var s=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=1<<31,D={}.hasOwnProperty,E=[],F=E.pop,G=E.push,H=E.push,I=E.slice,J=function(a,b){for(var c=0,d=a.length;d>c;c++)if(a[c]===b)return c;return-1},K="checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",L="[\\x20\\t\\r\\n\\f]",M="(?:\\\\.|[\\w-]|[^\\x00-\\xa0])+",N=M.replace("w","w#"),O="\\["+L+"*("+M+")(?:"+L+"*([*^$|!~]?=)"+L+"*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|("+N+"))|)"+L+"*\\]",P=":("+M+")(?:\\((('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|((?:\\\\.|[^\\\\()[\\]]|"+O+")*)|.*)\\)|)",Q=new RegExp(L+"+","g"),R=new RegExp("^"+L+"+|((?:^|[^\\\\])(?:\\\\.)*)"+L+"+$","g"),S=new RegExp("^"+L+"*,"+L+"*"),T=new RegExp("^"+L+"*([>+~]|"+L+")"+L+"*"),U=new RegExp("="+L+"*([^\\]'\"]*?)"+L+"*\\]","g"),V=new RegExp(P),W=new RegExp("^"+N+"$"),X={ID:new RegExp("^#("+M+")"),CLASS:new RegExp("^\\.("+M+")"),TAG:new RegExp("^("+M.replace("w","w*")+")"),ATTR:new RegExp("^"+O),PSEUDO:new RegExp("^"+P),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+L+"*(even|odd|(([+-]|)(\\d*)n|)"+L+"*(?:([+-]|)"+L+"*(\\d+)|))"+L+"*\\)|)","i"),bool:new RegExp("^(?:"+K+")$","i"),needsContext:new RegExp("^"+L+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+L+"*((?:-\\d)?\\d*)"+L+"*\\)|)(?=[^-]|$)","i")},Y=/^(?:input|select|textarea|button)$/i,Z=/^h\d$/i,$=/^[^{]+\{\s*\[native \w/,_=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,aa=/[+~]/,ba=/'|\\/g,ca=new RegExp("\\\\([\\da-f]{1,6}"+L+"?|("+L+")|.)","ig"),da=function(a,b,c){var d="0x"+b-65536;return d!==d||c?b:0>d?String.fromCharCode(d+65536):String.fromCharCode(d>>10|55296,1023&d|56320)},ea=function(){m()};try{H.apply(E=I.call(v.childNodes),v.childNodes),E[v.childNodes.length].nodeType}catch(fa){H={apply:E.length?function(a,b){G.apply(a,I.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,w,x;if((b?b.ownerDocument||b:v)!==n&&m(b),b=b||n,d=d||[],k=b.nodeType,"string"!=typeof a||!a||1!==k&&9!==k&&11!==k)return d;if(!e&&p){if(11!==k&&(f=_.exec(a)))if(j=f[1]){if(9===k){if(h=b.getElementById(j),!h||!h.parentNode)return d;if(h.id===j)return d.push(h),d}else if(b.ownerDocument&&(h=b.ownerDocument.getElementById(j))&&t(b,h)&&h.id===j)return d.push(h),d}else{if(f[2])return H.apply(d,b.getElementsByTagName(a)),d;if((j=f[3])&&c.getElementsByClassName)return H.apply(d,b.getElementsByClassName(j)),d}if(c.qsa&&(!q||!q.test(a))){if(s=r=u,w=b,x=1!==k&&a,1===k&&"object"!==b.nodeName.toLowerCase()){o=g(a),(r=b.getAttribute("id"))?s=r.replace(ba,"\\$&"):b.setAttribute("id",s),s="[id='"+s+"'] ",l=o.length;while(l--)o[l]=s+ra(o[l]);w=aa.test(a)&&pa(b.parentNode)||b,x=o.join(",")}if(x)try{return H.apply(d,w.querySelectorAll(x)),d}catch(y){}finally{r||b.removeAttribute("id")}}}return i(a.replace(R,"$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("div");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=a.length;while(e--)d.attrHandle[c[e]]=b}function la(a,b){var c=b&&a,d=c&&1===a.nodeType&&1===b.nodeType&&(~b.sourceIndex||C)-(~a.sourceIndex||C);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 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 pa(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:!1},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=g.documentElement,e=g.defaultView,e&&e!==e.top&&(e.addEventListener?e.addEventListener("unload",ea,!1):e.attachEvent&&e.attachEvent("onunload",ea)),p=!f(g),c.attributes=ja(function(a){return a.className="i",!a.getAttribute("className")}),c.getElementsByTagName=ja(function(a){return a.appendChild(g.createComment("")),!a.getElementsByTagName("*").length}),c.getElementsByClassName=$.test(g.getElementsByClassName),c.getById=ja(function(a){return o.appendChild(a).id=u,!g.getElementsByName||!g.getElementsByName(u).length}),c.getById?(d.find.ID=function(a,b){if("undefined"!=typeof b.getElementById&&p){var c=b.getElementById(a);return c&&c.parentNode?[c]:[]}},d.filter.ID=function(a){var b=a.replace(ca,da);return function(a){return a.getAttribute("id")===b}}):(delete d.find.ID,d.filter.ID=function(a){var b=a.replace(ca,da);return function(a){var c="undefined"!=typeof a.getAttributeNode&&a.getAttributeNode("id");return c&&c.value===b}}),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){return p?b.getElementsByClassName(a):void 0},r=[],q=[],(c.qsa=$.test(g.querySelectorAll))&&(ja(function(a){o.appendChild(a).innerHTML="<a id='"+u+"'></a><select id='"+u+"-\f]' msallowcapture=''><option selected=''></option></select>",a.querySelectorAll("[msallowcapture^='']").length&&q.push("[*^$]="+L+"*(?:''|\"\")"),a.querySelectorAll("[selected]").length||q.push("\\["+L+"*(?:value|"+K+")"),a.querySelectorAll("[id~="+u+"-]").length||q.push("~="),a.querySelectorAll(":checked").length||q.push(":checked"),a.querySelectorAll("a#"+u+"+*").length||q.push(".#.+[+~]")}),ja(function(a){var b=g.createElement("input");b.setAttribute("type","hidden"),a.appendChild(b).setAttribute("name","D"),a.querySelectorAll("[name=d]").length&&q.push("name"+L+"*[*^$|!~]?="),a.querySelectorAll(":enabled").length||q.push(":enabled",":disabled"),a.querySelectorAll("*,:x"),q.push(",.*:")})),(c.matchesSelector=$.test(s=o.matches||o.webkitMatchesSelector||o.mozMatchesSelector||o.oMatchesSelector||o.msMatchesSelector))&&ja(function(a){c.disconnectedMatch=s.call(a,"div"),s.call(a,"[s!='']:x"),r.push("!=",P)}),q=q.length&&new RegExp(q.join("|")),r=r.length&&new RegExp(r.join("|")),b=$.test(o.compareDocumentPosition),t=b||$.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===g||a.ownerDocument===v&&t(v,a)?-1:b===g||b.ownerDocument===v&&t(v,b)?1:k?J(k,a)-J(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,h=[a],i=[b];if(!e||!f)return a===g?-1:b===g?1:e?-1:f?1:k?J(k,a)-J(k,b):0;if(e===f)return la(a,b);c=a;while(c=c.parentNode)h.unshift(c);c=b;while(c=c.parentNode)i.unshift(c);while(h[d]===i[d])d++;return d?la(h[d],i[d]):h[d]===v?-1:i[d]===v?1:0},g):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(U,"='$1']"),!(!c.matchesSelector||!p||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&&D.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.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:X,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(ca,da),a[3]=(a[3]||a[4]||a[5]||"").replace(ca,da),"~="===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 X.CHILD.test(a[0])?null:(a[3]?a[2]=a[4]||a[5]||"":c&&V.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(ca,da).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("(^|"+L+")"+a+"("+L+"|$)"))&&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(Q," ")+" ").indexOf(c)>-1:"|="===b?e===c||e.slice(0,c.length+1)===c+"-":!1):!0}},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;if(q){if(f){while(p){l=b;while(l=l[p])if(h?l.nodeName.toLowerCase()===r:1===l.nodeType)return!1;o=p="only"===a&&!o&&"nextSibling"}return!0}if(o=[g?q.firstChild:q.lastChild],g&&s){k=q[u]||(q[u]={}),j=k[a]||[],n=j[0]===w&&j[1],m=j[0]===w&&j[2],l=n&&q.childNodes[n];while(l=++n&&l&&l[p]||(m=n=0)||o.pop())if(1===l.nodeType&&++m&&l===b){k[a]=[w,n,m];break}}else if(s&&(j=(b[u]||(b[u]={}))[a])&&j[0]===w)m=j[1];else while(l=++n&&l&&l[p]||(m=n=0)||o.pop())if((h?l.nodeName.toLowerCase()===r:1===l.nodeType)&&++m&&(s&&((l[u]||(l[u]={}))[a]=[w,m]),l===b))break;return m-=e,m===d||m%d===0&&m/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=J(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(R,"$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(ca,da),function(b){return(b.textContent||b.innerText||e(b)).indexOf(a)>-1}}),lang:ia(function(a){return W.test(a||"")||ga.error("unsupported lang: "+a),a=a.replace(ca,da).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:function(a){return a.disabled===!1},disabled:function(a){return a.disabled===!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 Z.test(a.nodeName)},input:function(a){return Y.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:oa(function(){return[0]}),last:oa(function(a,b){return[b-1]}),eq:oa(function(a,b,c){return[0>c?c+b:c]}),even:oa(function(a,b){for(var c=0;b>c;c+=2)a.push(c);return a}),odd:oa(function(a,b){for(var c=1;b>c;c+=2)a.push(c);return a}),lt:oa(function(a,b,c){for(var d=0>c?c+b:c;--d>=0;)a.push(d);return a}),gt:oa(function(a,b,c){for(var d=0>c?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 qa(){}qa.prototype=d.filters=d.pseudos,d.setFilters=new qa,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=S.exec(h)))&&(e&&(h=h.slice(e[0].length)||h),i.push(f=[])),c=!1,(e=T.exec(h))&&(c=e.shift(),f.push({value:c,type:e[0].replace(R," ")}),h=h.slice(c.length));for(g in d.filter)!(e=X[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 ra(a){for(var b=0,c=a.length,d="";c>b;b++)d+=a[b].value;return d}function sa(a,b,c){var d=b.dir,e=c&&"parentNode"===d,f=x++;return b.first?function(b,c,f){while(b=b[d])if(1===b.nodeType||e)return a(b,c,f)}:function(b,c,g){var h,i,j=[w,f];if(g){while(b=b[d])if((1===b.nodeType||e)&&a(b,c,g))return!0}else while(b=b[d])if(1===b.nodeType||e){if(i=b[u]||(b[u]={}),(h=i[d])&&h[0]===w&&h[1]===f)return j[2]=h[2];if(i[d]=j,j[2]=a(b,c,g))return!0}}}function ta(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 ua(a,b,c){for(var d=0,e=b.length;e>d;d++)ga(a,b[d],c);return c}function va(a,b,c,d,e){for(var f,g=[],h=0,i=a.length,j=null!=b;i>h;h++)(f=a[h])&&(!c||c(f,d,e))&&(g.push(f),j&&b.push(h));return g}function wa(a,b,c,d,e,f){return d&&!d[u]&&(d=wa(d)),e&&!e[u]&&(e=wa(e,f)),ia(function(f,g,h,i){var j,k,l,m=[],n=[],o=g.length,p=f||ua(b||"*",h.nodeType?[h]:h,[]),q=!a||!f&&b?p:va(p,m,a,h,i),r=c?e||(f?a:o||d)?[]:g:q;if(c&&c(q,r,h,i),d){j=va(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?J(f,l):m[k])>-1&&(f[j]=!(g[j]=l))}}else r=va(r===g?r.splice(o,r.length):r),e?e(null,g,r,i):H.apply(g,r)})}function xa(a){for(var b,c,e,f=a.length,g=d.relative[a[0].type],h=g||d.relative[" "],i=g?1:0,k=sa(function(a){return a===b},h,!0),l=sa(function(a){return J(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}];f>i;i++)if(c=d.relative[a[i].type])m=[sa(ta(m),c)];else{if(c=d.filter[a[i].type].apply(null,a[i].matches),c[u]){for(e=++i;f>e;e++)if(d.relative[a[e].type])break;return wa(i>1&&ta(m),i>1&&ra(a.slice(0,i-1).concat({value:" "===a[i-2].type?"*":""})).replace(R,"$1"),c,e>i&&xa(a.slice(i,e)),f>e&&xa(a=a.slice(e)),f>e&&ra(a))}m.push(c)}return ta(m)}function ya(a,b){var c=b.length>0,e=a.length>0,f=function(f,g,h,i,k){var l,m,o,p=0,q="0",r=f&&[],s=[],t=j,u=f||e&&d.find.TAG("*",k),v=w+=null==t?1:Math.random()||.1,x=u.length;for(k&&(j=g!==n&&g);q!==x&&null!=(l=u[q]);q++){if(e&&l){m=0;while(o=a[m++])if(o(l,g,h)){i.push(l);break}k&&(w=v)}c&&((l=!o&&l)&&p--,f&&r.push(l))}if(p+=q,c&&q!==p){m=0;while(o=b[m++])o(r,s,g,h);if(f){if(p>0)while(q--)r[q]||s[q]||(s[q]=F.call(i));s=va(s)}H.apply(i,s),k&&!f&&s.length>0&&p+b.length>1&&ga.uniqueSort(i)}return k&&(w=v,j=t),r};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=xa(b[c]),f[u]?d.push(f):e.push(f);f=A(a,ya(e,d)),f.selector=a}return f},i=ga.select=function(a,b,e,f){var i,j,k,l,m,n="function"==typeof a&&a,o=!f&&g(a=n.selector||a);if(e=e||[],1===o.length){if(j=o[0]=o[0].slice(0),j.length>2&&"ID"===(k=j[0]).type&&c.getById&&9===b.nodeType&&p&&d.relative[j[1].type]){if(b=(d.find.ID(k.matches[0].replace(ca,da),b)||[])[0],!b)return e;n&&(b=b.parentNode),a=a.slice(j.shift().value.length)}i=X.needsContext.test(a)?0:j.length;while(i--){if(k=j[i],d.relative[l=k.type])break;if((m=d.find[l])&&(f=m(k.matches[0].replace(ca,da),aa.test(j[0].type)&&pa(b.parentNode)||b))){if(j.splice(i,1),a=f.length&&ra(j),!a)return H.apply(e,f),e;break}}}return(n||h(a,o))(f,b,!p,e,aa.test(a)&&pa(b.parentNode)||b),e},c.sortStable=u.split("").sort(B).join("")===u,c.detectDuplicates=!!l,m(),c.sortDetached=ja(function(a){return 1&a.compareDocumentPosition(n.createElement("div"))}),ja(function(a){return a.innerHTML="<a href='#'></a>","#"===a.firstChild.getAttribute("href")})||ka("type|href|height|width",function(a,b,c){return c?void 0: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){return c||"input"!==a.nodeName.toLowerCase()?void 0:a.defaultValue}),ja(function(a){return null==a.getAttribute("disabled")})||ka(K,function(a,b,c){var d;return c?void 0:a[b]===!0?b.toLowerCase():(d=a.getAttributeNode(b))&&d.specified?d.value:null}),ga}(a);m.find=s,m.expr=s.selectors,m.expr[":"]=m.expr.pseudos,m.unique=s.uniqueSort,m.text=s.getText,m.isXMLDoc=s.isXML,m.contains=s.contains;var t=m.expr.match.needsContext,u=/^<(\w+)\s*\/?>(?:<\/\1>|)$/,v=/^.[^:#\[\.,]*$/;function w(a,b,c){if(m.isFunction(b))return m.grep(a,function(a,d){return!!b.call(a,d,a)!==c});if(b.nodeType)return m.grep(a,function(a){return a===b!==c});if("string"==typeof b){if(v.test(b))return m.filter(b,a,c);b=m.filter(b,a)}return m.grep(a,function(a){return m.inArray(a,b)>=0!==c})}m.filter=function(a,b,c){var d=b[0];return c&&(a=":not("+a+")"),1===b.length&&1===d.nodeType?m.find.matchesSelector(d,a)?[d]:[]:m.find.matches(a,m.grep(b,function(a){return 1===a.nodeType}))},m.fn.extend({find:function(a){var b,c=[],d=this,e=d.length;if("string"!=typeof a)return this.pushStack(m(a).filter(function(){for(b=0;e>b;b++)if(m.contains(d[b],this))return!0}));for(b=0;e>b;b++)m.find(a,d[b],c);return c=this.pushStack(e>1?m.unique(c):c),c.selector=this.selector?this.selector+" "+a:a,c},filter:function(a){return this.pushStack(w(this,a||[],!1))},not:function(a){return this.pushStack(w(this,a||[],!0))},is:function(a){return!!w(this,"string"==typeof a&&t.test(a)?m(a):a||[],!1).length}});var x,y=a.document,z=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]*))$/,A=m.fn.init=function(a,b){var c,d;if(!a)return this;if("string"==typeof a){if(c="<"===a.charAt(0)&&">"===a.charAt(a.length-1)&&a.length>=3?[null,a,null]:z.exec(a),!c||!c[1]&&b)return!b||b.jquery?(b||x).find(a):this.constructor(b).find(a);if(c[1]){if(b=b instanceof m?b[0]:b,m.merge(this,m.parseHTML(c[1],b&&b.nodeType?b.ownerDocument||b:y,!0)),u.test(c[1])&&m.isPlainObject(b))for(c in b)m.isFunction(this[c])?this[c](b[c]):this.attr(c,b[c]);return this}if(d=y.getElementById(c[2]),d&&d.parentNode){if(d.id!==c[2])return x.find(a);this.length=1,this[0]=d}return this.context=y,this.selector=a,this}return a.nodeType?(this.context=this[0]=a,this.length=1,this):m.isFunction(a)?"undefined"!=typeof x.ready?x.ready(a):a(m):(void 0!==a.selector&&(this.selector=a.selector,this.context=a.context),m.makeArray(a,this))};A.prototype=m.fn,x=m(y);var B=/^(?:parents|prev(?:Until|All))/,C={children:!0,contents:!0,next:!0,prev:!0};m.extend({dir:function(a,b,c){var d=[],e=a[b];while(e&&9!==e.nodeType&&(void 0===c||1!==e.nodeType||!m(e).is(c)))1===e.nodeType&&d.push(e),e=e[b];return d},sibling:function(a,b){for(var c=[];a;a=a.nextSibling)1===a.nodeType&&a!==b&&c.push(a);return c}}),m.fn.extend({has:function(a){var b,c=m(a,this),d=c.length;return this.filter(function(){for(b=0;d>b;b++)if(m.contains(this,c[b]))return!0})},closest:function(a,b){for(var c,d=0,e=this.length,f=[],g=t.test(a)||"string"!=typeof a?m(a,b||this.context):0;e>d;d++)for(c=this[d];c&&c!==b;c=c.parentNode)if(c.nodeType<11&&(g?g.index(c)>-1:1===c.nodeType&&m.find.matchesSelector(c,a))){f.push(c);break}return this.pushStack(f.length>1?m.unique(f):f)},index:function(a){return a?"string"==typeof a?m.inArray(this[0],m(a)):m.inArray(a.jquery?a[0]:a,this):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(a,b){return this.pushStack(m.unique(m.merge(this.get(),m(a,b))))},addBack:function(a){return this.add(null==a?this.prevObject:this.prevObject.filter(a))}});function D(a,b){do a=a[b];while(a&&1!==a.nodeType);return a}m.each({parent:function(a){var b=a.parentNode;return b&&11!==b.nodeType?b:null},parents:function(a){return m.dir(a,"parentNode")},parentsUntil:function(a,b,c){return m.dir(a,"parentNode",c)},next:function(a){return D(a,"nextSibling")},prev:function(a){return D(a,"previousSibling")},nextAll:function(a){return m.dir(a,"nextSibling")},prevAll:function(a){return m.dir(a,"previousSibling")},nextUntil:function(a,b,c){return m.dir(a,"nextSibling",c)},prevUntil:function(a,b,c){return m.dir(a,"previousSibling",c)},siblings:function(a){return m.sibling((a.parentNode||{}).firstChild,a)},children:function(a){return m.sibling(a.firstChild)},contents:function(a){return m.nodeName(a,"iframe")?a.contentDocument||a.contentWindow.document:m.merge([],a.childNodes)}},function(a,b){m.fn[a]=function(c,d){var e=m.map(this,b,c);return"Until"!==a.slice(-5)&&(d=c),d&&"string"==typeof d&&(e=m.filter(d,e)),this.length>1&&(C[a]||(e=m.unique(e)),B.test(a)&&(e=e.reverse())),this.pushStack(e)}});var E=/\S+/g,F={};function G(a){var b=F[a]={};return m.each(a.match(E)||[],function(a,c){b[c]=!0}),b}m.Callbacks=function(a){a="string"==typeof a?F[a]||G(a):m.extend({},a);var b,c,d,e,f,g,h=[],i=!a.once&&[],j=function(l){for(c=a.memory&&l,d=!0,f=g||0,g=0,e=h.length,b=!0;h&&e>f;f++)if(h[f].apply(l[0],l[1])===!1&&a.stopOnFalse){c=!1;break}b=!1,h&&(i?i.length&&j(i.shift()):c?h=[]:k.disable())},k={add:function(){if(h){var d=h.length;!function f(b){m.each(b,function(b,c){var d=m.type(c);"function"===d?a.unique&&k.has(c)||h.push(c):c&&c.length&&"string"!==d&&f(c)})}(arguments),b?e=h.length:c&&(g=d,j(c))}return this},remove:function(){return h&&m.each(arguments,function(a,c){var d;while((d=m.inArray(c,h,d))>-1)h.splice(d,1),b&&(e>=d&&e--,f>=d&&f--)}),this},has:function(a){return a?m.inArray(a,h)>-1:!(!h||!h.length)},empty:function(){return h=[],e=0,this},disable:function(){return h=i=c=void 0,this},disabled:function(){return!h},lock:function(){return i=void 0,c||k.disable(),this},locked:function(){return!i},fireWith:function(a,c){return!h||d&&!i||(c=c||[],c=[a,c.slice?c.slice():c],b?i.push(c):j(c)),this},fire:function(){return k.fireWith(this,arguments),this},fired:function(){return!!d}};return k},m.extend({Deferred:function(a){var b=[["resolve","done",m.Callbacks("once memory"),"resolved"],["reject","fail",m.Callbacks("once memory"),"rejected"],["notify","progress",m.Callbacks("memory")]],c="pending",d={state:function(){return c},always:function(){return e.done(arguments).fail(arguments),this},then:function(){var a=arguments;return m.Deferred(function(c){m.each(b,function(b,f){var g=m.isFunction(a[b])&&a[b];e[f[1]](function(){var a=g&&g.apply(this,arguments);a&&m.isFunction(a.promise)?a.promise().done(c.resolve).fail(c.reject).progress(c.notify):c[f[0]+"With"](this===d?c.promise():this,g?[a]:arguments)})}),a=null}).promise()},promise:function(a){return null!=a?m.extend(a,d):d}},e={};return d.pipe=d.then,m.each(b,function(a,f){var g=f[2],h=f[3];d[f[1]]=g.add,h&&g.add(function(){c=h},b[1^a][2].disable,b[2][2].lock),e[f[0]]=function(){return e[f[0]+"With"](this===e?d:this,arguments),this},e[f[0]+"With"]=g.fireWith}),d.promise(e),a&&a.call(e,e),e},when:function(a){var b=0,c=d.call(arguments),e=c.length,f=1!==e||a&&m.isFunction(a.promise)?e:0,g=1===f?a:m.Deferred(),h=function(a,b,c){return function(e){b[a]=this,c[a]=arguments.length>1?d.call(arguments):e,c===i?g.notifyWith(b,c):--f||g.resolveWith(b,c)}},i,j,k;if(e>1)for(i=new Array(e),j=new Array(e),k=new Array(e);e>b;b++)c[b]&&m.isFunction(c[b].promise)?c[b].promise().done(h(b,k,c)).fail(g.reject).progress(h(b,j,i)):--f;return f||g.resolveWith(k,c),g.promise()}});var H;m.fn.ready=function(a){return m.ready.promise().done(a),this},m.extend({isReady:!1,readyWait:1,holdReady:function(a){a?m.readyWait++:m.ready(!0)},ready:function(a){if(a===!0?!--m.readyWait:!m.isReady){if(!y.body)return setTimeout(m.ready);m.isReady=!0,a!==!0&&--m.readyWait>0||(H.resolveWith(y,[m]),m.fn.triggerHandler&&(m(y).triggerHandler("ready"),m(y).off("ready")))}}});function I(){y.addEventListener?(y.removeEventListener("DOMContentLoaded",J,!1),a.removeEventListener("load",J,!1)):(y.detachEvent("onreadystatechange",J),a.detachEvent("onload",J))}function J(){(y.addEventListener||"load"===event.type||"complete"===y.readyState)&&(I(),m.ready())}m.ready.promise=function(b){if(!H)if(H=m.Deferred(),"complete"===y.readyState)setTimeout(m.ready);else if(y.addEventListener)y.addEventListener("DOMContentLoaded",J,!1),a.addEventListener("load",J,!1);else{y.attachEvent("onreadystatechange",J),a.attachEvent("onload",J);var c=!1;try{c=null==a.frameElement&&y.documentElement}catch(d){}c&&c.doScroll&&!function e(){if(!m.isReady){try{c.doScroll("left")}catch(a){return setTimeout(e,50)}I(),m.ready()}}()}return H.promise(b)};var K="undefined",L;for(L in m(k))break;k.ownLast="0"!==L,k.inlineBlockNeedsLayout=!1,m(function(){var a,b,c,d;c=y.getElementsByTagName("body")[0],c&&c.style&&(b=y.createElement("div"),d=y.createElement("div"),d.style.cssText="position:absolute;border:0;width:0;height:0;top:0;left:-9999px",c.appendChild(d).appendChild(b),typeof b.style.zoom!==K&&(b.style.cssText="display:inline;margin:0;border:0;padding:1px;width:1px;zoom:1",k.inlineBlockNeedsLayout=a=3===b.offsetWidth,a&&(c.style.zoom=1)),c.removeChild(d))}),function(){var a=y.createElement("div");if(null==k.deleteExpando){k.deleteExpando=!0;try{delete a.test}catch(b){k.deleteExpando=!1}}a=null}(),m.acceptData=function(a){var b=m.noData[(a.nodeName+" ").toLowerCase()],c=+a.nodeType||1;return 1!==c&&9!==c?!1:!b||b!==!0&&a.getAttribute("classid")===b};var M=/^(?:\{[\w\W]*\}|\[[\w\W]*\])$/,N=/([A-Z])/g;function O(a,b,c){if(void 0===c&&1===a.nodeType){var d="data-"+b.replace(N,"-$1").toLowerCase();if(c=a.getAttribute(d),"string"==typeof c){try{c="true"===c?!0:"false"===c?!1:"null"===c?null:+c+""===c?+c:M.test(c)?m.parseJSON(c):c}catch(e){}m.data(a,b,c)}else c=void 0}return c}function P(a){var b;for(b in a)if(("data"!==b||!m.isEmptyObject(a[b]))&&"toJSON"!==b)return!1; + +return!0}function Q(a,b,d,e){if(m.acceptData(a)){var f,g,h=m.expando,i=a.nodeType,j=i?m.cache:a,k=i?a[h]:a[h]&&h;if(k&&j[k]&&(e||j[k].data)||void 0!==d||"string"!=typeof b)return k||(k=i?a[h]=c.pop()||m.guid++:h),j[k]||(j[k]=i?{}:{toJSON:m.noop}),("object"==typeof b||"function"==typeof b)&&(e?j[k]=m.extend(j[k],b):j[k].data=m.extend(j[k].data,b)),g=j[k],e||(g.data||(g.data={}),g=g.data),void 0!==d&&(g[m.camelCase(b)]=d),"string"==typeof b?(f=g[b],null==f&&(f=g[m.camelCase(b)])):f=g,f}}function R(a,b,c){if(m.acceptData(a)){var d,e,f=a.nodeType,g=f?m.cache:a,h=f?a[m.expando]:m.expando;if(g[h]){if(b&&(d=c?g[h]:g[h].data)){m.isArray(b)?b=b.concat(m.map(b,m.camelCase)):b in d?b=[b]:(b=m.camelCase(b),b=b in d?[b]:b.split(" ")),e=b.length;while(e--)delete d[b[e]];if(c?!P(d):!m.isEmptyObject(d))return}(c||(delete g[h].data,P(g[h])))&&(f?m.cleanData([a],!0):k.deleteExpando||g!=g.window?delete g[h]:g[h]=null)}}}m.extend({cache:{},noData:{"applet ":!0,"embed ":!0,"object ":"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"},hasData:function(a){return a=a.nodeType?m.cache[a[m.expando]]:a[m.expando],!!a&&!P(a)},data:function(a,b,c){return Q(a,b,c)},removeData:function(a,b){return R(a,b)},_data:function(a,b,c){return Q(a,b,c,!0)},_removeData:function(a,b){return R(a,b,!0)}}),m.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=m.data(f),1===f.nodeType&&!m._data(f,"parsedAttrs"))){c=g.length;while(c--)g[c]&&(d=g[c].name,0===d.indexOf("data-")&&(d=m.camelCase(d.slice(5)),O(f,d,e[d])));m._data(f,"parsedAttrs",!0)}return e}return"object"==typeof a?this.each(function(){m.data(this,a)}):arguments.length>1?this.each(function(){m.data(this,a,b)}):f?O(f,a,m.data(f,a)):void 0},removeData:function(a){return this.each(function(){m.removeData(this,a)})}}),m.extend({queue:function(a,b,c){var d;return a?(b=(b||"fx")+"queue",d=m._data(a,b),c&&(!d||m.isArray(c)?d=m._data(a,b,m.makeArray(c)):d.push(c)),d||[]):void 0},dequeue:function(a,b){b=b||"fx";var c=m.queue(a,b),d=c.length,e=c.shift(),f=m._queueHooks(a,b),g=function(){m.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 m._data(a,c)||m._data(a,c,{empty:m.Callbacks("once memory").add(function(){m._removeData(a,b+"queue"),m._removeData(a,c)})})}}),m.fn.extend({queue:function(a,b){var c=2;return"string"!=typeof a&&(b=a,a="fx",c--),arguments.length<c?m.queue(this[0],a):void 0===b?this:this.each(function(){var c=m.queue(this,a,b);m._queueHooks(this,a),"fx"===a&&"inprogress"!==c[0]&&m.dequeue(this,a)})},dequeue:function(a){return this.each(function(){m.dequeue(this,a)})},clearQueue:function(a){return this.queue(a||"fx",[])},promise:function(a,b){var c,d=1,e=m.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=m._data(f[g],a+"queueHooks"),c&&c.empty&&(d++,c.empty.add(h));return h(),e.promise(b)}});var S=/[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source,T=["Top","Right","Bottom","Left"],U=function(a,b){return a=b||a,"none"===m.css(a,"display")||!m.contains(a.ownerDocument,a)},V=m.access=function(a,b,c,d,e,f,g){var h=0,i=a.length,j=null==c;if("object"===m.type(c)){e=!0;for(h in c)m.access(a,b,h,c[h],!0,f,g)}else if(void 0!==d&&(e=!0,m.isFunction(d)||(g=!0),j&&(g?(b.call(a,d),b=null):(j=b,b=function(a,b,c){return j.call(m(a),c)})),b))for(;i>h;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},W=/^(?:checkbox|radio)$/i;!function(){var a=y.createElement("input"),b=y.createElement("div"),c=y.createDocumentFragment();if(b.innerHTML=" <link/><table></table><a href='/a'>a</a><input type='checkbox'/>",k.leadingWhitespace=3===b.firstChild.nodeType,k.tbody=!b.getElementsByTagName("tbody").length,k.htmlSerialize=!!b.getElementsByTagName("link").length,k.html5Clone="<:nav></:nav>"!==y.createElement("nav").cloneNode(!0).outerHTML,a.type="checkbox",a.checked=!0,c.appendChild(a),k.appendChecked=a.checked,b.innerHTML="<textarea>x</textarea>",k.noCloneChecked=!!b.cloneNode(!0).lastChild.defaultValue,c.appendChild(b),b.innerHTML="<input type='radio' checked='checked' name='t'/>",k.checkClone=b.cloneNode(!0).cloneNode(!0).lastChild.checked,k.noCloneEvent=!0,b.attachEvent&&(b.attachEvent("onclick",function(){k.noCloneEvent=!1}),b.cloneNode(!0).click()),null==k.deleteExpando){k.deleteExpando=!0;try{delete b.test}catch(d){k.deleteExpando=!1}}}(),function(){var b,c,d=y.createElement("div");for(b in{submit:!0,change:!0,focusin:!0})c="on"+b,(k[b+"Bubbles"]=c in a)||(d.setAttribute(c,"t"),k[b+"Bubbles"]=d.attributes[c].expando===!1);d=null}();var X=/^(?:input|select|textarea)$/i,Y=/^key/,Z=/^(?:mouse|pointer|contextmenu)|click/,$=/^(?:focusinfocus|focusoutblur)$/,_=/^([^.]*)(?:\.(.+)|)$/;function aa(){return!0}function ba(){return!1}function ca(){try{return y.activeElement}catch(a){}}m.event={global:{},add:function(a,b,c,d,e){var f,g,h,i,j,k,l,n,o,p,q,r=m._data(a);if(r){c.handler&&(i=c,c=i.handler,e=i.selector),c.guid||(c.guid=m.guid++),(g=r.events)||(g=r.events={}),(k=r.handle)||(k=r.handle=function(a){return typeof m===K||a&&m.event.triggered===a.type?void 0:m.event.dispatch.apply(k.elem,arguments)},k.elem=a),b=(b||"").match(E)||[""],h=b.length;while(h--)f=_.exec(b[h])||[],o=q=f[1],p=(f[2]||"").split(".").sort(),o&&(j=m.event.special[o]||{},o=(e?j.delegateType:j.bindType)||o,j=m.event.special[o]||{},l=m.extend({type:o,origType:q,data:d,handler:c,guid:c.guid,selector:e,needsContext:e&&m.expr.match.needsContext.test(e),namespace:p.join(".")},i),(n=g[o])||(n=g[o]=[],n.delegateCount=0,j.setup&&j.setup.call(a,d,p,k)!==!1||(a.addEventListener?a.addEventListener(o,k,!1):a.attachEvent&&a.attachEvent("on"+o,k))),j.add&&(j.add.call(a,l),l.handler.guid||(l.handler.guid=c.guid)),e?n.splice(n.delegateCount++,0,l):n.push(l),m.event.global[o]=!0);a=null}},remove:function(a,b,c,d,e){var f,g,h,i,j,k,l,n,o,p,q,r=m.hasData(a)&&m._data(a);if(r&&(k=r.events)){b=(b||"").match(E)||[""],j=b.length;while(j--)if(h=_.exec(b[j])||[],o=q=h[1],p=(h[2]||"").split(".").sort(),o){l=m.event.special[o]||{},o=(d?l.delegateType:l.bindType)||o,n=k[o]||[],h=h[2]&&new RegExp("(^|\\.)"+p.join("\\.(?:.*\\.|)")+"(\\.|$)"),i=f=n.length;while(f--)g=n[f],!e&&q!==g.origType||c&&c.guid!==g.guid||h&&!h.test(g.namespace)||d&&d!==g.selector&&("**"!==d||!g.selector)||(n.splice(f,1),g.selector&&n.delegateCount--,l.remove&&l.remove.call(a,g));i&&!n.length&&(l.teardown&&l.teardown.call(a,p,r.handle)!==!1||m.removeEvent(a,o,r.handle),delete k[o])}else for(o in k)m.event.remove(a,o+b[j],c,d,!0);m.isEmptyObject(k)&&(delete r.handle,m._removeData(a,"events"))}},trigger:function(b,c,d,e){var f,g,h,i,k,l,n,o=[d||y],p=j.call(b,"type")?b.type:b,q=j.call(b,"namespace")?b.namespace.split("."):[];if(h=l=d=d||y,3!==d.nodeType&&8!==d.nodeType&&!$.test(p+m.event.triggered)&&(p.indexOf(".")>=0&&(q=p.split("."),p=q.shift(),q.sort()),g=p.indexOf(":")<0&&"on"+p,b=b[m.expando]?b:new m.Event(p,"object"==typeof b&&b),b.isTrigger=e?2:3,b.namespace=q.join("."),b.namespace_re=b.namespace?new RegExp("(^|\\.)"+q.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,b.result=void 0,b.target||(b.target=d),c=null==c?[b]:m.makeArray(c,[b]),k=m.event.special[p]||{},e||!k.trigger||k.trigger.apply(d,c)!==!1)){if(!e&&!k.noBubble&&!m.isWindow(d)){for(i=k.delegateType||p,$.test(i+p)||(h=h.parentNode);h;h=h.parentNode)o.push(h),l=h;l===(d.ownerDocument||y)&&o.push(l.defaultView||l.parentWindow||a)}n=0;while((h=o[n++])&&!b.isPropagationStopped())b.type=n>1?i:k.bindType||p,f=(m._data(h,"events")||{})[b.type]&&m._data(h,"handle"),f&&f.apply(h,c),f=g&&h[g],f&&f.apply&&m.acceptData(h)&&(b.result=f.apply(h,c),b.result===!1&&b.preventDefault());if(b.type=p,!e&&!b.isDefaultPrevented()&&(!k._default||k._default.apply(o.pop(),c)===!1)&&m.acceptData(d)&&g&&d[p]&&!m.isWindow(d)){l=d[g],l&&(d[g]=null),m.event.triggered=p;try{d[p]()}catch(r){}m.event.triggered=void 0,l&&(d[g]=l)}return b.result}},dispatch:function(a){a=m.event.fix(a);var b,c,e,f,g,h=[],i=d.call(arguments),j=(m._data(this,"events")||{})[a.type]||[],k=m.event.special[a.type]||{};if(i[0]=a,a.delegateTarget=this,!k.preDispatch||k.preDispatch.call(this,a)!==!1){h=m.event.handlers.call(this,a,j),b=0;while((f=h[b++])&&!a.isPropagationStopped()){a.currentTarget=f.elem,g=0;while((e=f.handlers[g++])&&!a.isImmediatePropagationStopped())(!a.namespace_re||a.namespace_re.test(e.namespace))&&(a.handleObj=e,a.data=e.data,c=((m.event.special[e.origType]||{}).handle||e.handler).apply(f.elem,i),void 0!==c&&(a.result=c)===!1&&(a.preventDefault(),a.stopPropagation()))}return k.postDispatch&&k.postDispatch.call(this,a),a.result}},handlers:function(a,b){var c,d,e,f,g=[],h=b.delegateCount,i=a.target;if(h&&i.nodeType&&(!a.button||"click"!==a.type))for(;i!=this;i=i.parentNode||this)if(1===i.nodeType&&(i.disabled!==!0||"click"!==a.type)){for(e=[],f=0;h>f;f++)d=b[f],c=d.selector+" ",void 0===e[c]&&(e[c]=d.needsContext?m(c,this).index(i)>=0:m.find(c,this,null,[i]).length),e[c]&&e.push(d);e.length&&g.push({elem:i,handlers:e})}return h<b.length&&g.push({elem:this,handlers:b.slice(h)}),g},fix:function(a){if(a[m.expando])return a;var b,c,d,e=a.type,f=a,g=this.fixHooks[e];g||(this.fixHooks[e]=g=Z.test(e)?this.mouseHooks:Y.test(e)?this.keyHooks:{}),d=g.props?this.props.concat(g.props):this.props,a=new m.Event(f),b=d.length;while(b--)c=d[b],a[c]=f[c];return a.target||(a.target=f.srcElement||y),3===a.target.nodeType&&(a.target=a.target.parentNode),a.metaKey=!!a.metaKey,g.filter?g.filter(a,f):a},props:"altKey bubbles cancelable ctrlKey currentTarget eventPhase metaKey relatedTarget shiftKey target timeStamp view which".split(" "),fixHooks:{},keyHooks:{props:"char charCode key keyCode".split(" "),filter:function(a,b){return null==a.which&&(a.which=null!=b.charCode?b.charCode:b.keyCode),a}},mouseHooks:{props:"button buttons clientX clientY fromElement offsetX offsetY pageX pageY screenX screenY toElement".split(" "),filter:function(a,b){var c,d,e,f=b.button,g=b.fromElement;return null==a.pageX&&null!=b.clientX&&(d=a.target.ownerDocument||y,e=d.documentElement,c=d.body,a.pageX=b.clientX+(e&&e.scrollLeft||c&&c.scrollLeft||0)-(e&&e.clientLeft||c&&c.clientLeft||0),a.pageY=b.clientY+(e&&e.scrollTop||c&&c.scrollTop||0)-(e&&e.clientTop||c&&c.clientTop||0)),!a.relatedTarget&&g&&(a.relatedTarget=g===a.target?b.toElement:g),a.which||void 0===f||(a.which=1&f?1:2&f?3:4&f?2:0),a}},special:{load:{noBubble:!0},focus:{trigger:function(){if(this!==ca()&&this.focus)try{return this.focus(),!1}catch(a){}},delegateType:"focusin"},blur:{trigger:function(){return this===ca()&&this.blur?(this.blur(),!1):void 0},delegateType:"focusout"},click:{trigger:function(){return m.nodeName(this,"input")&&"checkbox"===this.type&&this.click?(this.click(),!1):void 0},_default:function(a){return m.nodeName(a.target,"a")}},beforeunload:{postDispatch:function(a){void 0!==a.result&&a.originalEvent&&(a.originalEvent.returnValue=a.result)}}},simulate:function(a,b,c,d){var e=m.extend(new m.Event,c,{type:a,isSimulated:!0,originalEvent:{}});d?m.event.trigger(e,null,b):m.event.dispatch.call(b,e),e.isDefaultPrevented()&&c.preventDefault()}},m.removeEvent=y.removeEventListener?function(a,b,c){a.removeEventListener&&a.removeEventListener(b,c,!1)}:function(a,b,c){var d="on"+b;a.detachEvent&&(typeof a[d]===K&&(a[d]=null),a.detachEvent(d,c))},m.Event=function(a,b){return this instanceof m.Event?(a&&a.type?(this.originalEvent=a,this.type=a.type,this.isDefaultPrevented=a.defaultPrevented||void 0===a.defaultPrevented&&a.returnValue===!1?aa:ba):this.type=a,b&&m.extend(this,b),this.timeStamp=a&&a.timeStamp||m.now(),void(this[m.expando]=!0)):new m.Event(a,b)},m.Event.prototype={isDefaultPrevented:ba,isPropagationStopped:ba,isImmediatePropagationStopped:ba,preventDefault:function(){var a=this.originalEvent;this.isDefaultPrevented=aa,a&&(a.preventDefault?a.preventDefault():a.returnValue=!1)},stopPropagation:function(){var a=this.originalEvent;this.isPropagationStopped=aa,a&&(a.stopPropagation&&a.stopPropagation(),a.cancelBubble=!0)},stopImmediatePropagation:function(){var a=this.originalEvent;this.isImmediatePropagationStopped=aa,a&&a.stopImmediatePropagation&&a.stopImmediatePropagation(),this.stopPropagation()}},m.each({mouseenter:"mouseover",mouseleave:"mouseout",pointerenter:"pointerover",pointerleave:"pointerout"},function(a,b){m.event.special[a]={delegateType:b,bindType:b,handle:function(a){var c,d=this,e=a.relatedTarget,f=a.handleObj;return(!e||e!==d&&!m.contains(d,e))&&(a.type=f.origType,c=f.handler.apply(this,arguments),a.type=b),c}}}),k.submitBubbles||(m.event.special.submit={setup:function(){return m.nodeName(this,"form")?!1:void m.event.add(this,"click._submit keypress._submit",function(a){var b=a.target,c=m.nodeName(b,"input")||m.nodeName(b,"button")?b.form:void 0;c&&!m._data(c,"submitBubbles")&&(m.event.add(c,"submit._submit",function(a){a._submit_bubble=!0}),m._data(c,"submitBubbles",!0))})},postDispatch:function(a){a._submit_bubble&&(delete a._submit_bubble,this.parentNode&&!a.isTrigger&&m.event.simulate("submit",this.parentNode,a,!0))},teardown:function(){return m.nodeName(this,"form")?!1:void m.event.remove(this,"._submit")}}),k.changeBubbles||(m.event.special.change={setup:function(){return X.test(this.nodeName)?(("checkbox"===this.type||"radio"===this.type)&&(m.event.add(this,"propertychange._change",function(a){"checked"===a.originalEvent.propertyName&&(this._just_changed=!0)}),m.event.add(this,"click._change",function(a){this._just_changed&&!a.isTrigger&&(this._just_changed=!1),m.event.simulate("change",this,a,!0)})),!1):void m.event.add(this,"beforeactivate._change",function(a){var b=a.target;X.test(b.nodeName)&&!m._data(b,"changeBubbles")&&(m.event.add(b,"change._change",function(a){!this.parentNode||a.isSimulated||a.isTrigger||m.event.simulate("change",this.parentNode,a,!0)}),m._data(b,"changeBubbles",!0))})},handle:function(a){var b=a.target;return this!==b||a.isSimulated||a.isTrigger||"radio"!==b.type&&"checkbox"!==b.type?a.handleObj.handler.apply(this,arguments):void 0},teardown:function(){return m.event.remove(this,"._change"),!X.test(this.nodeName)}}),k.focusinBubbles||m.each({focus:"focusin",blur:"focusout"},function(a,b){var c=function(a){m.event.simulate(b,a.target,m.event.fix(a),!0)};m.event.special[b]={setup:function(){var d=this.ownerDocument||this,e=m._data(d,b);e||d.addEventListener(a,c,!0),m._data(d,b,(e||0)+1)},teardown:function(){var d=this.ownerDocument||this,e=m._data(d,b)-1;e?m._data(d,b,e):(d.removeEventListener(a,c,!0),m._removeData(d,b))}}}),m.fn.extend({on:function(a,b,c,d,e){var f,g;if("object"==typeof a){"string"!=typeof b&&(c=c||b,b=void 0);for(f in a)this.on(f,b,c,a[f],e);return this}if(null==c&&null==d?(d=b,c=b=void 0):null==d&&("string"==typeof b?(d=c,c=void 0):(d=c,c=b,b=void 0)),d===!1)d=ba;else if(!d)return this;return 1===e&&(g=d,d=function(a){return m().off(a),g.apply(this,arguments)},d.guid=g.guid||(g.guid=m.guid++)),this.each(function(){m.event.add(this,a,d,c,b)})},one:function(a,b,c,d){return this.on(a,b,c,d,1)},off:function(a,b,c){var d,e;if(a&&a.preventDefault&&a.handleObj)return d=a.handleObj,m(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=ba),this.each(function(){m.event.remove(this,a,c,b)})},trigger:function(a,b){return this.each(function(){m.event.trigger(a,b,this)})},triggerHandler:function(a,b){var c=this[0];return c?m.event.trigger(a,b,c,!0):void 0}});function da(a){var b=ea.split("|"),c=a.createDocumentFragment();if(c.createElement)while(b.length)c.createElement(b.pop());return c}var ea="abbr|article|aside|audio|bdi|canvas|data|datalist|details|figcaption|figure|footer|header|hgroup|mark|meter|nav|output|progress|section|summary|time|video",fa=/ jQuery\d+="(?:null|\d+)"/g,ga=new RegExp("<(?:"+ea+")[\\s/>]","i"),ha=/^\s+/,ia=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/gi,ja=/<([\w:]+)/,ka=/<tbody/i,la=/<|&#?\w+;/,ma=/<(?:script|style|link)/i,na=/checked\s*(?:[^=]|=\s*.checked.)/i,oa=/^$|\/(?:java|ecma)script/i,pa=/^true\/(.*)/,qa=/^\s*<!(?:\[CDATA\[|--)|(?:\]\]|--)>\s*$/g,ra={option:[1,"<select multiple='multiple'>","</select>"],legend:[1,"<fieldset>","</fieldset>"],area:[1,"<map>","</map>"],param:[1,"<object>","</object>"],thead:[1,"<table>","</table>"],tr:[2,"<table><tbody>","</tbody></table>"],col:[2,"<table><tbody></tbody><colgroup>","</colgroup></table>"],td:[3,"<table><tbody><tr>","</tr></tbody></table>"],_default:k.htmlSerialize?[0,"",""]:[1,"X<div>","</div>"]},sa=da(y),ta=sa.appendChild(y.createElement("div"));ra.optgroup=ra.option,ra.tbody=ra.tfoot=ra.colgroup=ra.caption=ra.thead,ra.th=ra.td;function ua(a,b){var c,d,e=0,f=typeof a.getElementsByTagName!==K?a.getElementsByTagName(b||"*"):typeof a.querySelectorAll!==K?a.querySelectorAll(b||"*"):void 0;if(!f)for(f=[],c=a.childNodes||a;null!=(d=c[e]);e++)!b||m.nodeName(d,b)?f.push(d):m.merge(f,ua(d,b));return void 0===b||b&&m.nodeName(a,b)?m.merge([a],f):f}function va(a){W.test(a.type)&&(a.defaultChecked=a.checked)}function wa(a,b){return m.nodeName(a,"table")&&m.nodeName(11!==b.nodeType?b:b.firstChild,"tr")?a.getElementsByTagName("tbody")[0]||a.appendChild(a.ownerDocument.createElement("tbody")):a}function xa(a){return a.type=(null!==m.find.attr(a,"type"))+"/"+a.type,a}function ya(a){var b=pa.exec(a.type);return b?a.type=b[1]:a.removeAttribute("type"),a}function za(a,b){for(var c,d=0;null!=(c=a[d]);d++)m._data(c,"globalEval",!b||m._data(b[d],"globalEval"))}function Aa(a,b){if(1===b.nodeType&&m.hasData(a)){var c,d,e,f=m._data(a),g=m._data(b,f),h=f.events;if(h){delete g.handle,g.events={};for(c in h)for(d=0,e=h[c].length;e>d;d++)m.event.add(b,c,h[c][d])}g.data&&(g.data=m.extend({},g.data))}}function Ba(a,b){var c,d,e;if(1===b.nodeType){if(c=b.nodeName.toLowerCase(),!k.noCloneEvent&&b[m.expando]){e=m._data(b);for(d in e.events)m.removeEvent(b,d,e.handle);b.removeAttribute(m.expando)}"script"===c&&b.text!==a.text?(xa(b).text=a.text,ya(b)):"object"===c?(b.parentNode&&(b.outerHTML=a.outerHTML),k.html5Clone&&a.innerHTML&&!m.trim(b.innerHTML)&&(b.innerHTML=a.innerHTML)):"input"===c&&W.test(a.type)?(b.defaultChecked=b.checked=a.checked,b.value!==a.value&&(b.value=a.value)):"option"===c?b.defaultSelected=b.selected=a.defaultSelected:("input"===c||"textarea"===c)&&(b.defaultValue=a.defaultValue)}}m.extend({clone:function(a,b,c){var d,e,f,g,h,i=m.contains(a.ownerDocument,a);if(k.html5Clone||m.isXMLDoc(a)||!ga.test("<"+a.nodeName+">")?f=a.cloneNode(!0):(ta.innerHTML=a.outerHTML,ta.removeChild(f=ta.firstChild)),!(k.noCloneEvent&&k.noCloneChecked||1!==a.nodeType&&11!==a.nodeType||m.isXMLDoc(a)))for(d=ua(f),h=ua(a),g=0;null!=(e=h[g]);++g)d[g]&&Ba(e,d[g]);if(b)if(c)for(h=h||ua(a),d=d||ua(f),g=0;null!=(e=h[g]);g++)Aa(e,d[g]);else Aa(a,f);return d=ua(f,"script"),d.length>0&&za(d,!i&&ua(a,"script")),d=h=e=null,f},buildFragment:function(a,b,c,d){for(var e,f,g,h,i,j,l,n=a.length,o=da(b),p=[],q=0;n>q;q++)if(f=a[q],f||0===f)if("object"===m.type(f))m.merge(p,f.nodeType?[f]:f);else if(la.test(f)){h=h||o.appendChild(b.createElement("div")),i=(ja.exec(f)||["",""])[1].toLowerCase(),l=ra[i]||ra._default,h.innerHTML=l[1]+f.replace(ia,"<$1></$2>")+l[2],e=l[0];while(e--)h=h.lastChild;if(!k.leadingWhitespace&&ha.test(f)&&p.push(b.createTextNode(ha.exec(f)[0])),!k.tbody){f="table"!==i||ka.test(f)?"<table>"!==l[1]||ka.test(f)?0:h:h.firstChild,e=f&&f.childNodes.length;while(e--)m.nodeName(j=f.childNodes[e],"tbody")&&!j.childNodes.length&&f.removeChild(j)}m.merge(p,h.childNodes),h.textContent="";while(h.firstChild)h.removeChild(h.firstChild);h=o.lastChild}else p.push(b.createTextNode(f));h&&o.removeChild(h),k.appendChecked||m.grep(ua(p,"input"),va),q=0;while(f=p[q++])if((!d||-1===m.inArray(f,d))&&(g=m.contains(f.ownerDocument,f),h=ua(o.appendChild(f),"script"),g&&za(h),c)){e=0;while(f=h[e++])oa.test(f.type||"")&&c.push(f)}return h=null,o},cleanData:function(a,b){for(var d,e,f,g,h=0,i=m.expando,j=m.cache,l=k.deleteExpando,n=m.event.special;null!=(d=a[h]);h++)if((b||m.acceptData(d))&&(f=d[i],g=f&&j[f])){if(g.events)for(e in g.events)n[e]?m.event.remove(d,e):m.removeEvent(d,e,g.handle);j[f]&&(delete j[f],l?delete d[i]:typeof d.removeAttribute!==K?d.removeAttribute(i):d[i]=null,c.push(f))}}}),m.fn.extend({text:function(a){return V(this,function(a){return void 0===a?m.text(this):this.empty().append((this[0]&&this[0].ownerDocument||y).createTextNode(a))},null,a,arguments.length)},append:function(){return this.domManip(arguments,function(a){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var b=wa(this,a);b.appendChild(a)}})},prepend:function(){return this.domManip(arguments,function(a){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var b=wa(this,a);b.insertBefore(a,b.firstChild)}})},before:function(){return this.domManip(arguments,function(a){this.parentNode&&this.parentNode.insertBefore(a,this)})},after:function(){return this.domManip(arguments,function(a){this.parentNode&&this.parentNode.insertBefore(a,this.nextSibling)})},remove:function(a,b){for(var c,d=a?m.filter(a,this):this,e=0;null!=(c=d[e]);e++)b||1!==c.nodeType||m.cleanData(ua(c)),c.parentNode&&(b&&m.contains(c.ownerDocument,c)&&za(ua(c,"script")),c.parentNode.removeChild(c));return this},empty:function(){for(var a,b=0;null!=(a=this[b]);b++){1===a.nodeType&&m.cleanData(ua(a,!1));while(a.firstChild)a.removeChild(a.firstChild);a.options&&m.nodeName(a,"select")&&(a.options.length=0)}return this},clone:function(a,b){return a=null==a?!1:a,b=null==b?a:b,this.map(function(){return m.clone(this,a,b)})},html:function(a){return V(this,function(a){var b=this[0]||{},c=0,d=this.length;if(void 0===a)return 1===b.nodeType?b.innerHTML.replace(fa,""):void 0;if(!("string"!=typeof a||ma.test(a)||!k.htmlSerialize&&ga.test(a)||!k.leadingWhitespace&&ha.test(a)||ra[(ja.exec(a)||["",""])[1].toLowerCase()])){a=a.replace(ia,"<$1></$2>");try{for(;d>c;c++)b=this[c]||{},1===b.nodeType&&(m.cleanData(ua(b,!1)),b.innerHTML=a);b=0}catch(e){}}b&&this.empty().append(a)},null,a,arguments.length)},replaceWith:function(){var a=arguments[0];return this.domManip(arguments,function(b){a=this.parentNode,m.cleanData(ua(this)),a&&a.replaceChild(b,this)}),a&&(a.length||a.nodeType)?this:this.remove()},detach:function(a){return this.remove(a,!0)},domManip:function(a,b){a=e.apply([],a);var c,d,f,g,h,i,j=0,l=this.length,n=this,o=l-1,p=a[0],q=m.isFunction(p);if(q||l>1&&"string"==typeof p&&!k.checkClone&&na.test(p))return this.each(function(c){var d=n.eq(c);q&&(a[0]=p.call(this,c,d.html())),d.domManip(a,b)});if(l&&(i=m.buildFragment(a,this[0].ownerDocument,!1,this),c=i.firstChild,1===i.childNodes.length&&(i=c),c)){for(g=m.map(ua(i,"script"),xa),f=g.length;l>j;j++)d=i,j!==o&&(d=m.clone(d,!0,!0),f&&m.merge(g,ua(d,"script"))),b.call(this[j],d,j);if(f)for(h=g[g.length-1].ownerDocument,m.map(g,ya),j=0;f>j;j++)d=g[j],oa.test(d.type||"")&&!m._data(d,"globalEval")&&m.contains(h,d)&&(d.src?m._evalUrl&&m._evalUrl(d.src):m.globalEval((d.text||d.textContent||d.innerHTML||"").replace(qa,"")));i=c=null}return this}}),m.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(a,b){m.fn[a]=function(a){for(var c,d=0,e=[],g=m(a),h=g.length-1;h>=d;d++)c=d===h?this:this.clone(!0),m(g[d])[b](c),f.apply(e,c.get());return this.pushStack(e)}});var Ca,Da={};function Ea(b,c){var d,e=m(c.createElement(b)).appendTo(c.body),f=a.getDefaultComputedStyle&&(d=a.getDefaultComputedStyle(e[0]))?d.display:m.css(e[0],"display");return e.detach(),f}function Fa(a){var b=y,c=Da[a];return c||(c=Ea(a,b),"none"!==c&&c||(Ca=(Ca||m("<iframe frameborder='0' width='0' height='0'/>")).appendTo(b.documentElement),b=(Ca[0].contentWindow||Ca[0].contentDocument).document,b.write(),b.close(),c=Ea(a,b),Ca.detach()),Da[a]=c),c}!function(){var a;k.shrinkWrapBlocks=function(){if(null!=a)return a;a=!1;var b,c,d;return c=y.getElementsByTagName("body")[0],c&&c.style?(b=y.createElement("div"),d=y.createElement("div"),d.style.cssText="position:absolute;border:0;width:0;height:0;top:0;left:-9999px",c.appendChild(d).appendChild(b),typeof b.style.zoom!==K&&(b.style.cssText="-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;display:block;margin:0;border:0;padding:1px;width:1px;zoom:1",b.appendChild(y.createElement("div")).style.width="5px",a=3!==b.offsetWidth),c.removeChild(d),a):void 0}}();var Ga=/^margin/,Ha=new RegExp("^("+S+")(?!px)[a-z%]+$","i"),Ia,Ja,Ka=/^(top|right|bottom|left)$/;a.getComputedStyle?(Ia=function(b){return b.ownerDocument.defaultView.opener?b.ownerDocument.defaultView.getComputedStyle(b,null):a.getComputedStyle(b,null)},Ja=function(a,b,c){var d,e,f,g,h=a.style;return c=c||Ia(a),g=c?c.getPropertyValue(b)||c[b]:void 0,c&&(""!==g||m.contains(a.ownerDocument,a)||(g=m.style(a,b)),Ha.test(g)&&Ga.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+""}):y.documentElement.currentStyle&&(Ia=function(a){return a.currentStyle},Ja=function(a,b,c){var d,e,f,g,h=a.style;return c=c||Ia(a),g=c?c[b]:void 0,null==g&&h&&h[b]&&(g=h[b]),Ha.test(g)&&!Ka.test(b)&&(d=h.left,e=a.runtimeStyle,f=e&&e.left,f&&(e.left=a.currentStyle.left),h.left="fontSize"===b?"1em":g,g=h.pixelLeft+"px",h.left=d,f&&(e.left=f)),void 0===g?g:g+""||"auto"});function La(a,b){return{get:function(){var c=a();if(null!=c)return c?void delete this.get:(this.get=b).apply(this,arguments)}}}!function(){var b,c,d,e,f,g,h;if(b=y.createElement("div"),b.innerHTML=" <link/><table></table><a href='/a'>a</a><input type='checkbox'/>",d=b.getElementsByTagName("a")[0],c=d&&d.style){c.cssText="float:left;opacity:.5",k.opacity="0.5"===c.opacity,k.cssFloat=!!c.cssFloat,b.style.backgroundClip="content-box",b.cloneNode(!0).style.backgroundClip="",k.clearCloneStyle="content-box"===b.style.backgroundClip,k.boxSizing=""===c.boxSizing||""===c.MozBoxSizing||""===c.WebkitBoxSizing,m.extend(k,{reliableHiddenOffsets:function(){return null==g&&i(),g},boxSizingReliable:function(){return null==f&&i(),f},pixelPosition:function(){return null==e&&i(),e},reliableMarginRight:function(){return null==h&&i(),h}});function i(){var b,c,d,i;c=y.getElementsByTagName("body")[0],c&&c.style&&(b=y.createElement("div"),d=y.createElement("div"),d.style.cssText="position:absolute;border:0;width:0;height:0;top:0;left:-9999px",c.appendChild(d).appendChild(b),b.style.cssText="-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;display:block;margin-top:1%;top:1%;border:1px;padding:1px;width:4px;position:absolute",e=f=!1,h=!0,a.getComputedStyle&&(e="1%"!==(a.getComputedStyle(b,null)||{}).top,f="4px"===(a.getComputedStyle(b,null)||{width:"4px"}).width,i=b.appendChild(y.createElement("div")),i.style.cssText=b.style.cssText="-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;display:block;margin:0;border:0;padding:0",i.style.marginRight=i.style.width="0",b.style.width="1px",h=!parseFloat((a.getComputedStyle(i,null)||{}).marginRight),b.removeChild(i)),b.innerHTML="<table><tr><td></td><td>t</td></tr></table>",i=b.getElementsByTagName("td"),i[0].style.cssText="margin:0;border:0;padding:0;display:none",g=0===i[0].offsetHeight,g&&(i[0].style.display="",i[1].style.display="none",g=0===i[0].offsetHeight),c.removeChild(d))}}}(),m.swap=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};var Ma=/alpha\([^)]*\)/i,Na=/opacity\s*=\s*([^)]*)/,Oa=/^(none|table(?!-c[ea]).+)/,Pa=new RegExp("^("+S+")(.*)$","i"),Qa=new RegExp("^([+-])=("+S+")","i"),Ra={position:"absolute",visibility:"hidden",display:"block"},Sa={letterSpacing:"0",fontWeight:"400"},Ta=["Webkit","O","Moz","ms"];function Ua(a,b){if(b in a)return b;var c=b.charAt(0).toUpperCase()+b.slice(1),d=b,e=Ta.length;while(e--)if(b=Ta[e]+c,b in a)return b;return d}function Va(a,b){for(var c,d,e,f=[],g=0,h=a.length;h>g;g++)d=a[g],d.style&&(f[g]=m._data(d,"olddisplay"),c=d.style.display,b?(f[g]||"none"!==c||(d.style.display=""),""===d.style.display&&U(d)&&(f[g]=m._data(d,"olddisplay",Fa(d.nodeName)))):(e=U(d),(c&&"none"!==c||!e)&&m._data(d,"olddisplay",e?c:m.css(d,"display"))));for(g=0;h>g;g++)d=a[g],d.style&&(b&&"none"!==d.style.display&&""!==d.style.display||(d.style.display=b?f[g]||"":"none"));return a}function Wa(a,b,c){var d=Pa.exec(b);return d?Math.max(0,d[1]-(c||0))+(d[2]||"px"):b}function Xa(a,b,c,d,e){for(var f=c===(d?"border":"content")?4:"width"===b?1:0,g=0;4>f;f+=2)"margin"===c&&(g+=m.css(a,c+T[f],!0,e)),d?("content"===c&&(g-=m.css(a,"padding"+T[f],!0,e)),"margin"!==c&&(g-=m.css(a,"border"+T[f]+"Width",!0,e))):(g+=m.css(a,"padding"+T[f],!0,e),"padding"!==c&&(g+=m.css(a,"border"+T[f]+"Width",!0,e)));return g}function Ya(a,b,c){var d=!0,e="width"===b?a.offsetWidth:a.offsetHeight,f=Ia(a),g=k.boxSizing&&"border-box"===m.css(a,"boxSizing",!1,f);if(0>=e||null==e){if(e=Ja(a,b,f),(0>e||null==e)&&(e=a.style[b]),Ha.test(e))return e;d=g&&(k.boxSizingReliable()||e===a.style[b]),e=parseFloat(e)||0}return e+Xa(a,b,c||(g?"border":"content"),d,f)+"px"}m.extend({cssHooks:{opacity:{get:function(a,b){if(b){var c=Ja(a,"opacity");return""===c?"1":c}}}},cssNumber:{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":k.cssFloat?"cssFloat":"styleFloat"},style:function(a,b,c,d){if(a&&3!==a.nodeType&&8!==a.nodeType&&a.style){var e,f,g,h=m.camelCase(b),i=a.style;if(b=m.cssProps[h]||(m.cssProps[h]=Ua(i,h)),g=m.cssHooks[b]||m.cssHooks[h],void 0===c)return g&&"get"in g&&void 0!==(e=g.get(a,!1,d))?e:i[b];if(f=typeof c,"string"===f&&(e=Qa.exec(c))&&(c=(e[1]+1)*e[2]+parseFloat(m.css(a,b)),f="number"),null!=c&&c===c&&("number"!==f||m.cssNumber[h]||(c+="px"),k.clearCloneStyle||""!==c||0!==b.indexOf("background")||(i[b]="inherit"),!(g&&"set"in g&&void 0===(c=g.set(a,c,d)))))try{i[b]=c}catch(j){}}},css:function(a,b,c,d){var e,f,g,h=m.camelCase(b);return b=m.cssProps[h]||(m.cssProps[h]=Ua(a.style,h)),g=m.cssHooks[b]||m.cssHooks[h],g&&"get"in g&&(f=g.get(a,!0,c)),void 0===f&&(f=Ja(a,b,d)),"normal"===f&&b in Sa&&(f=Sa[b]),""===c||c?(e=parseFloat(f),c===!0||m.isNumeric(e)?e||0:f):f}}),m.each(["height","width"],function(a,b){m.cssHooks[b]={get:function(a,c,d){return c?Oa.test(m.css(a,"display"))&&0===a.offsetWidth?m.swap(a,Ra,function(){return Ya(a,b,d)}):Ya(a,b,d):void 0},set:function(a,c,d){var e=d&&Ia(a);return Wa(a,c,d?Xa(a,b,d,k.boxSizing&&"border-box"===m.css(a,"boxSizing",!1,e),e):0)}}}),k.opacity||(m.cssHooks.opacity={get:function(a,b){return Na.test((b&&a.currentStyle?a.currentStyle.filter:a.style.filter)||"")?.01*parseFloat(RegExp.$1)+"":b?"1":""},set:function(a,b){var c=a.style,d=a.currentStyle,e=m.isNumeric(b)?"alpha(opacity="+100*b+")":"",f=d&&d.filter||c.filter||"";c.zoom=1,(b>=1||""===b)&&""===m.trim(f.replace(Ma,""))&&c.removeAttribute&&(c.removeAttribute("filter"),""===b||d&&!d.filter)||(c.filter=Ma.test(f)?f.replace(Ma,e):f+" "+e)}}),m.cssHooks.marginRight=La(k.reliableMarginRight,function(a,b){return b?m.swap(a,{display:"inline-block"},Ja,[a,"marginRight"]):void 0}),m.each({margin:"",padding:"",border:"Width"},function(a,b){m.cssHooks[a+b]={expand:function(c){for(var d=0,e={},f="string"==typeof c?c.split(" "):[c];4>d;d++)e[a+T[d]+b]=f[d]||f[d-2]||f[0];return e}},Ga.test(a)||(m.cssHooks[a+b].set=Wa)}),m.fn.extend({css:function(a,b){return V(this,function(a,b,c){var d,e,f={},g=0;if(m.isArray(b)){for(d=Ia(a),e=b.length;e>g;g++)f[b[g]]=m.css(a,b[g],!1,d);return f}return void 0!==c?m.style(a,b,c):m.css(a,b)},a,b,arguments.length>1)},show:function(){return Va(this,!0)},hide:function(){return Va(this)},toggle:function(a){return"boolean"==typeof a?a?this.show():this.hide():this.each(function(){U(this)?m(this).show():m(this).hide()})}});function Za(a,b,c,d,e){ +return new Za.prototype.init(a,b,c,d,e)}m.Tween=Za,Za.prototype={constructor:Za,init:function(a,b,c,d,e,f){this.elem=a,this.prop=c,this.easing=e||"swing",this.options=b,this.start=this.now=this.cur(),this.end=d,this.unit=f||(m.cssNumber[c]?"":"px")},cur:function(){var a=Za.propHooks[this.prop];return a&&a.get?a.get(this):Za.propHooks._default.get(this)},run:function(a){var b,c=Za.propHooks[this.prop];return this.options.duration?this.pos=b=m.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):Za.propHooks._default.set(this),this}},Za.prototype.init.prototype=Za.prototype,Za.propHooks={_default:{get:function(a){var b;return null==a.elem[a.prop]||a.elem.style&&null!=a.elem.style[a.prop]?(b=m.css(a.elem,a.prop,""),b&&"auto"!==b?b:0):a.elem[a.prop]},set:function(a){m.fx.step[a.prop]?m.fx.step[a.prop](a):a.elem.style&&(null!=a.elem.style[m.cssProps[a.prop]]||m.cssHooks[a.prop])?m.style(a.elem,a.prop,a.now+a.unit):a.elem[a.prop]=a.now}}},Za.propHooks.scrollTop=Za.propHooks.scrollLeft={set:function(a){a.elem.nodeType&&a.elem.parentNode&&(a.elem[a.prop]=a.now)}},m.easing={linear:function(a){return a},swing:function(a){return.5-Math.cos(a*Math.PI)/2}},m.fx=Za.prototype.init,m.fx.step={};var $a,_a,ab=/^(?:toggle|show|hide)$/,bb=new RegExp("^(?:([+-])=|)("+S+")([a-z%]*)$","i"),cb=/queueHooks$/,db=[ib],eb={"*":[function(a,b){var c=this.createTween(a,b),d=c.cur(),e=bb.exec(b),f=e&&e[3]||(m.cssNumber[a]?"":"px"),g=(m.cssNumber[a]||"px"!==f&&+d)&&bb.exec(m.css(c.elem,a)),h=1,i=20;if(g&&g[3]!==f){f=f||g[3],e=e||[],g=+d||1;do h=h||".5",g/=h,m.style(c.elem,a,g+f);while(h!==(h=c.cur()/d)&&1!==h&&--i)}return e&&(g=c.start=+g||+d||0,c.unit=f,c.end=e[1]?g+(e[1]+1)*e[2]:+e[2]),c}]};function fb(){return setTimeout(function(){$a=void 0}),$a=m.now()}function gb(a,b){var c,d={height:a},e=0;for(b=b?1:0;4>e;e+=2-b)c=T[e],d["margin"+c]=d["padding"+c]=a;return b&&(d.opacity=d.width=a),d}function hb(a,b,c){for(var d,e=(eb[b]||[]).concat(eb["*"]),f=0,g=e.length;g>f;f++)if(d=e[f].call(c,b,a))return d}function ib(a,b,c){var d,e,f,g,h,i,j,l,n=this,o={},p=a.style,q=a.nodeType&&U(a),r=m._data(a,"fxshow");c.queue||(h=m._queueHooks(a,"fx"),null==h.unqueued&&(h.unqueued=0,i=h.empty.fire,h.empty.fire=function(){h.unqueued||i()}),h.unqueued++,n.always(function(){n.always(function(){h.unqueued--,m.queue(a,"fx").length||h.empty.fire()})})),1===a.nodeType&&("height"in b||"width"in b)&&(c.overflow=[p.overflow,p.overflowX,p.overflowY],j=m.css(a,"display"),l="none"===j?m._data(a,"olddisplay")||Fa(a.nodeName):j,"inline"===l&&"none"===m.css(a,"float")&&(k.inlineBlockNeedsLayout&&"inline"!==Fa(a.nodeName)?p.zoom=1:p.display="inline-block")),c.overflow&&(p.overflow="hidden",k.shrinkWrapBlocks()||n.always(function(){p.overflow=c.overflow[0],p.overflowX=c.overflow[1],p.overflowY=c.overflow[2]}));for(d in b)if(e=b[d],ab.exec(e)){if(delete b[d],f=f||"toggle"===e,e===(q?"hide":"show")){if("show"!==e||!r||void 0===r[d])continue;q=!0}o[d]=r&&r[d]||m.style(a,d)}else j=void 0;if(m.isEmptyObject(o))"inline"===("none"===j?Fa(a.nodeName):j)&&(p.display=j);else{r?"hidden"in r&&(q=r.hidden):r=m._data(a,"fxshow",{}),f&&(r.hidden=!q),q?m(a).show():n.done(function(){m(a).hide()}),n.done(function(){var b;m._removeData(a,"fxshow");for(b in o)m.style(a,b,o[b])});for(d in o)g=hb(q?r[d]:0,d,n),d in r||(r[d]=g.start,q&&(g.end=g.start,g.start="width"===d||"height"===d?1:0))}}function jb(a,b){var c,d,e,f,g;for(c in a)if(d=m.camelCase(c),e=b[d],f=a[c],m.isArray(f)&&(e=f[1],f=a[c]=f[0]),c!==d&&(a[d]=f,delete a[c]),g=m.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=db.length,h=m.Deferred().always(function(){delete i.elem}),i=function(){if(e)return!1;for(var b=$a||fb(),c=Math.max(0,j.startTime+j.duration-b),d=c/j.duration||0,f=1-d,g=0,i=j.tweens.length;i>g;g++)j.tweens[g].run(f);return h.notifyWith(a,[j,f,c]),1>f&&i?c:(h.resolveWith(a,[j]),!1)},j=h.promise({elem:a,props:m.extend({},b),opts:m.extend(!0,{specialEasing:{}},c),originalProperties:b,originalOptions:c,startTime:$a||fb(),duration:c.duration,tweens:[],createTween:function(b,c){var d=m.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;d>c;c++)j.tweens[c].run(1);return b?h.resolveWith(a,[j,b]):h.rejectWith(a,[j,b]),this}}),k=j.props;for(jb(k,j.opts.specialEasing);g>f;f++)if(d=db[f].call(j,a,k,j.opts))return d;return m.map(k,hb,j),m.isFunction(j.opts.start)&&j.opts.start.call(a,j),m.fx.timer(m.extend(i,{elem:a,anim:j,queue:j.opts.queue})),j.progress(j.opts.progress).done(j.opts.done,j.opts.complete).fail(j.opts.fail).always(j.opts.always)}m.Animation=m.extend(kb,{tweener:function(a,b){m.isFunction(a)?(b=a,a=["*"]):a=a.split(" ");for(var c,d=0,e=a.length;e>d;d++)c=a[d],eb[c]=eb[c]||[],eb[c].unshift(b)},prefilter:function(a,b){b?db.unshift(a):db.push(a)}}),m.speed=function(a,b,c){var d=a&&"object"==typeof a?m.extend({},a):{complete:c||!c&&b||m.isFunction(a)&&a,duration:a,easing:c&&b||b&&!m.isFunction(b)&&b};return d.duration=m.fx.off?0:"number"==typeof d.duration?d.duration:d.duration in m.fx.speeds?m.fx.speeds[d.duration]:m.fx.speeds._default,(null==d.queue||d.queue===!0)&&(d.queue="fx"),d.old=d.complete,d.complete=function(){m.isFunction(d.old)&&d.old.call(this),d.queue&&m.dequeue(this,d.queue)},d},m.fn.extend({fadeTo:function(a,b,c,d){return this.filter(U).css("opacity",0).show().end().animate({opacity:b},a,c,d)},animate:function(a,b,c,d){var e=m.isEmptyObject(a),f=m.speed(b,c,d),g=function(){var b=kb(this,m.extend({},a),f);(e||m._data(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=m.timers,g=m._data(this);if(e)g[e]&&g[e].stop&&d(g[e]);else for(e in g)g[e]&&g[e].stop&&cb.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)&&m.dequeue(this,a)})},finish:function(a){return a!==!1&&(a=a||"fx"),this.each(function(){var b,c=m._data(this),d=c[a+"queue"],e=c[a+"queueHooks"],f=m.timers,g=d?d.length:0;for(c.finish=!0,m.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;g>b;b++)d[b]&&d[b].finish&&d[b].finish.call(this);delete c.finish})}}),m.each(["toggle","show","hide"],function(a,b){var c=m.fn[b];m.fn[b]=function(a,d,e){return null==a||"boolean"==typeof a?c.apply(this,arguments):this.animate(gb(b,!0),a,d,e)}}),m.each({slideDown:gb("show"),slideUp:gb("hide"),slideToggle:gb("toggle"),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"},fadeToggle:{opacity:"toggle"}},function(a,b){m.fn[a]=function(a,c,d){return this.animate(b,a,c,d)}}),m.timers=[],m.fx.tick=function(){var a,b=m.timers,c=0;for($a=m.now();c<b.length;c++)a=b[c],a()||b[c]!==a||b.splice(c--,1);b.length||m.fx.stop(),$a=void 0},m.fx.timer=function(a){m.timers.push(a),a()?m.fx.start():m.timers.pop()},m.fx.interval=13,m.fx.start=function(){_a||(_a=setInterval(m.fx.tick,m.fx.interval))},m.fx.stop=function(){clearInterval(_a),_a=null},m.fx.speeds={slow:600,fast:200,_default:400},m.fn.delay=function(a,b){return a=m.fx?m.fx.speeds[a]||a:a,b=b||"fx",this.queue(b,function(b,c){var d=setTimeout(b,a);c.stop=function(){clearTimeout(d)}})},function(){var a,b,c,d,e;b=y.createElement("div"),b.setAttribute("className","t"),b.innerHTML=" <link/><table></table><a href='/a'>a</a><input type='checkbox'/>",d=b.getElementsByTagName("a")[0],c=y.createElement("select"),e=c.appendChild(y.createElement("option")),a=b.getElementsByTagName("input")[0],d.style.cssText="top:1px",k.getSetAttribute="t"!==b.className,k.style=/top/.test(d.getAttribute("style")),k.hrefNormalized="/a"===d.getAttribute("href"),k.checkOn=!!a.value,k.optSelected=e.selected,k.enctype=!!y.createElement("form").enctype,c.disabled=!0,k.optDisabled=!e.disabled,a=y.createElement("input"),a.setAttribute("value",""),k.input=""===a.getAttribute("value"),a.value="t",a.setAttribute("type","radio"),k.radioValue="t"===a.value}();var lb=/\r/g;m.fn.extend({val:function(a){var b,c,d,e=this[0];{if(arguments.length)return d=m.isFunction(a),this.each(function(c){var e;1===this.nodeType&&(e=d?a.call(this,c,m(this).val()):a,null==e?e="":"number"==typeof e?e+="":m.isArray(e)&&(e=m.map(e,function(a){return null==a?"":a+""})),b=m.valHooks[this.type]||m.valHooks[this.nodeName.toLowerCase()],b&&"set"in b&&void 0!==b.set(this,e,"value")||(this.value=e))});if(e)return b=m.valHooks[e.type]||m.valHooks[e.nodeName.toLowerCase()],b&&"get"in b&&void 0!==(c=b.get(e,"value"))?c:(c=e.value,"string"==typeof c?c.replace(lb,""):null==c?"":c)}}}),m.extend({valHooks:{option:{get:function(a){var b=m.find.attr(a,"value");return null!=b?b:m.trim(m.text(a))}},select:{get:function(a){for(var b,c,d=a.options,e=a.selectedIndex,f="select-one"===a.type||0>e,g=f?null:[],h=f?e+1:d.length,i=0>e?h:f?e:0;h>i;i++)if(c=d[i],!(!c.selected&&i!==e||(k.optDisabled?c.disabled:null!==c.getAttribute("disabled"))||c.parentNode.disabled&&m.nodeName(c.parentNode,"optgroup"))){if(b=m(c).val(),f)return b;g.push(b)}return g},set:function(a,b){var c,d,e=a.options,f=m.makeArray(b),g=e.length;while(g--)if(d=e[g],m.inArray(m.valHooks.option.get(d),f)>=0)try{d.selected=c=!0}catch(h){d.scrollHeight}else d.selected=!1;return c||(a.selectedIndex=-1),e}}}}),m.each(["radio","checkbox"],function(){m.valHooks[this]={set:function(a,b){return m.isArray(b)?a.checked=m.inArray(m(a).val(),b)>=0:void 0}},k.checkOn||(m.valHooks[this].get=function(a){return null===a.getAttribute("value")?"on":a.value})});var mb,nb,ob=m.expr.attrHandle,pb=/^(?:checked|selected)$/i,qb=k.getSetAttribute,rb=k.input;m.fn.extend({attr:function(a,b){return V(this,m.attr,a,b,arguments.length>1)},removeAttr:function(a){return this.each(function(){m.removeAttr(this,a)})}}),m.extend({attr:function(a,b,c){var d,e,f=a.nodeType;if(a&&3!==f&&8!==f&&2!==f)return typeof a.getAttribute===K?m.prop(a,b,c):(1===f&&m.isXMLDoc(a)||(b=b.toLowerCase(),d=m.attrHooks[b]||(m.expr.match.bool.test(b)?nb:mb)),void 0===c?d&&"get"in d&&null!==(e=d.get(a,b))?e:(e=m.find.attr(a,b),null==e?void 0:e):null!==c?d&&"set"in d&&void 0!==(e=d.set(a,c,b))?e:(a.setAttribute(b,c+""),c):void m.removeAttr(a,b))},removeAttr:function(a,b){var c,d,e=0,f=b&&b.match(E);if(f&&1===a.nodeType)while(c=f[e++])d=m.propFix[c]||c,m.expr.match.bool.test(c)?rb&&qb||!pb.test(c)?a[d]=!1:a[m.camelCase("default-"+c)]=a[d]=!1:m.attr(a,c,""),a.removeAttribute(qb?c:d)},attrHooks:{type:{set:function(a,b){if(!k.radioValue&&"radio"===b&&m.nodeName(a,"input")){var c=a.value;return a.setAttribute("type",b),c&&(a.value=c),b}}}}}),nb={set:function(a,b,c){return b===!1?m.removeAttr(a,c):rb&&qb||!pb.test(c)?a.setAttribute(!qb&&m.propFix[c]||c,c):a[m.camelCase("default-"+c)]=a[c]=!0,c}},m.each(m.expr.match.bool.source.match(/\w+/g),function(a,b){var c=ob[b]||m.find.attr;ob[b]=rb&&qb||!pb.test(b)?function(a,b,d){var e,f;return d||(f=ob[b],ob[b]=e,e=null!=c(a,b,d)?b.toLowerCase():null,ob[b]=f),e}:function(a,b,c){return c?void 0:a[m.camelCase("default-"+b)]?b.toLowerCase():null}}),rb&&qb||(m.attrHooks.value={set:function(a,b,c){return m.nodeName(a,"input")?void(a.defaultValue=b):mb&&mb.set(a,b,c)}}),qb||(mb={set:function(a,b,c){var d=a.getAttributeNode(c);return d||a.setAttributeNode(d=a.ownerDocument.createAttribute(c)),d.value=b+="","value"===c||b===a.getAttribute(c)?b:void 0}},ob.id=ob.name=ob.coords=function(a,b,c){var d;return c?void 0:(d=a.getAttributeNode(b))&&""!==d.value?d.value:null},m.valHooks.button={get:function(a,b){var c=a.getAttributeNode(b);return c&&c.specified?c.value:void 0},set:mb.set},m.attrHooks.contenteditable={set:function(a,b,c){mb.set(a,""===b?!1:b,c)}},m.each(["width","height"],function(a,b){m.attrHooks[b]={set:function(a,c){return""===c?(a.setAttribute(b,"auto"),c):void 0}}})),k.style||(m.attrHooks.style={get:function(a){return a.style.cssText||void 0},set:function(a,b){return a.style.cssText=b+""}});var sb=/^(?:input|select|textarea|button|object)$/i,tb=/^(?:a|area)$/i;m.fn.extend({prop:function(a,b){return V(this,m.prop,a,b,arguments.length>1)},removeProp:function(a){return a=m.propFix[a]||a,this.each(function(){try{this[a]=void 0,delete this[a]}catch(b){}})}}),m.extend({propFix:{"for":"htmlFor","class":"className"},prop:function(a,b,c){var d,e,f,g=a.nodeType;if(a&&3!==g&&8!==g&&2!==g)return f=1!==g||!m.isXMLDoc(a),f&&(b=m.propFix[b]||b,e=m.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=m.find.attr(a,"tabindex");return b?parseInt(b,10):sb.test(a.nodeName)||tb.test(a.nodeName)&&a.href?0:-1}}}}),k.hrefNormalized||m.each(["href","src"],function(a,b){m.propHooks[b]={get:function(a){return a.getAttribute(b,4)}}}),k.optSelected||(m.propHooks.selected={get:function(a){var b=a.parentNode;return b&&(b.selectedIndex,b.parentNode&&b.parentNode.selectedIndex),null}}),m.each(["tabIndex","readOnly","maxLength","cellSpacing","cellPadding","rowSpan","colSpan","useMap","frameBorder","contentEditable"],function(){m.propFix[this.toLowerCase()]=this}),k.enctype||(m.propFix.enctype="encoding");var ub=/[\t\r\n\f]/g;m.fn.extend({addClass:function(a){var b,c,d,e,f,g,h=0,i=this.length,j="string"==typeof a&&a;if(m.isFunction(a))return this.each(function(b){m(this).addClass(a.call(this,b,this.className))});if(j)for(b=(a||"").match(E)||[];i>h;h++)if(c=this[h],d=1===c.nodeType&&(c.className?(" "+c.className+" ").replace(ub," "):" ")){f=0;while(e=b[f++])d.indexOf(" "+e+" ")<0&&(d+=e+" ");g=m.trim(d),c.className!==g&&(c.className=g)}return this},removeClass:function(a){var b,c,d,e,f,g,h=0,i=this.length,j=0===arguments.length||"string"==typeof a&&a;if(m.isFunction(a))return this.each(function(b){m(this).removeClass(a.call(this,b,this.className))});if(j)for(b=(a||"").match(E)||[];i>h;h++)if(c=this[h],d=1===c.nodeType&&(c.className?(" "+c.className+" ").replace(ub," "):"")){f=0;while(e=b[f++])while(d.indexOf(" "+e+" ")>=0)d=d.replace(" "+e+" "," ");g=a?m.trim(d):"",c.className!==g&&(c.className=g)}return this},toggleClass:function(a,b){var c=typeof a;return"boolean"==typeof b&&"string"===c?b?this.addClass(a):this.removeClass(a):this.each(m.isFunction(a)?function(c){m(this).toggleClass(a.call(this,c,this.className,b),b)}:function(){if("string"===c){var b,d=0,e=m(this),f=a.match(E)||[];while(b=f[d++])e.hasClass(b)?e.removeClass(b):e.addClass(b)}else(c===K||"boolean"===c)&&(this.className&&m._data(this,"__className__",this.className),this.className=this.className||a===!1?"":m._data(this,"__className__")||"")})},hasClass:function(a){for(var b=" "+a+" ",c=0,d=this.length;d>c;c++)if(1===this[c].nodeType&&(" "+this[c].className+" ").replace(ub," ").indexOf(b)>=0)return!0;return!1}}),m.each("blur focus focusin focusout load resize scroll unload click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup error contextmenu".split(" "),function(a,b){m.fn[b]=function(a,c){return arguments.length>0?this.on(b,null,a,c):this.trigger(b)}}),m.fn.extend({hover:function(a,b){return this.mouseenter(a).mouseleave(b||a)},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)}});var vb=m.now(),wb=/\?/,xb=/(,)|(\[|{)|(}|])|"(?:[^"\\\r\n]|\\["\\\/bfnrt]|\\u[\da-fA-F]{4})*"\s*:?|true|false|null|-?(?!0\d)\d+(?:\.\d+|)(?:[eE][+-]?\d+|)/g;m.parseJSON=function(b){if(a.JSON&&a.JSON.parse)return a.JSON.parse(b+"");var c,d=null,e=m.trim(b+"");return e&&!m.trim(e.replace(xb,function(a,b,e,f){return c&&b&&(d=0),0===d?a:(c=e||b,d+=!f-!e,"")}))?Function("return "+e)():m.error("Invalid JSON: "+b)},m.parseXML=function(b){var c,d;if(!b||"string"!=typeof b)return null;try{a.DOMParser?(d=new DOMParser,c=d.parseFromString(b,"text/xml")):(c=new ActiveXObject("Microsoft.XMLDOM"),c.async="false",c.loadXML(b))}catch(e){c=void 0}return c&&c.documentElement&&!c.getElementsByTagName("parsererror").length||m.error("Invalid XML: "+b),c};var yb,zb,Ab=/#.*$/,Bb=/([?&])_=[^&]*/,Cb=/^(.*?):[ \t]*([^\r\n]*)\r?$/gm,Db=/^(?:about|app|app-storage|.+-extension|file|res|widget):$/,Eb=/^(?:GET|HEAD)$/,Fb=/^\/\//,Gb=/^([\w.+-]+:)(?:\/\/(?:[^\/?#]*@|)([^\/?#:]*)(?::(\d+)|)|)/,Hb={},Ib={},Jb="*/".concat("*");try{zb=location.href}catch(Kb){zb=y.createElement("a"),zb.href="",zb=zb.href}yb=Gb.exec(zb.toLowerCase())||[];function Lb(a){return function(b,c){"string"!=typeof b&&(c=b,b="*");var d,e=0,f=b.toLowerCase().match(E)||[];if(m.isFunction(c))while(d=f[e++])"+"===d.charAt(0)?(d=d.slice(1)||"*",(a[d]=a[d]||[]).unshift(c)):(a[d]=a[d]||[]).push(c)}}function Mb(a,b,c,d){var e={},f=a===Ib;function g(h){var i;return e[h]=!0,m.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 Nb(a,b){var c,d,e=m.ajaxSettings.flatOptions||{};for(d in b)void 0!==b[d]&&((e[d]?a:c||(c={}))[d]=b[d]);return c&&m.extend(!0,a,c),a}function Ob(a,b,c){var d,e,f,g,h=a.contents,i=a.dataTypes;while("*"===i[0])i.shift(),void 0===e&&(e=a.mimeType||b.getResponseHeader("Content-Type"));if(e)for(g in h)if(h[g]&&h[g].test(e)){i.unshift(g);break}if(i[0]in c)f=i[0];else{for(g in c){if(!i[0]||a.converters[g+" "+i[0]]){f=g;break}d||(d=g)}f=f||d}return f?(f!==i[0]&&i.unshift(f),c[f]):void 0}function Pb(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}}m.extend({active:0,lastModified:{},etag:{},ajaxSettings:{url:zb,type:"GET",isLocal:Db.test(yb[1]),global:!0,processData:!0,async:!0,contentType:"application/x-www-form-urlencoded; charset=UTF-8",accepts:{"*":Jb,text:"text/plain",html:"text/html",xml:"application/xml, text/xml",json:"application/json, text/javascript"},contents:{xml:/xml/,html:/html/,json:/json/},responseFields:{xml:"responseXML",text:"responseText",json:"responseJSON"},converters:{"* text":String,"text html":!0,"text json":m.parseJSON,"text xml":m.parseXML},flatOptions:{url:!0,context:!0}},ajaxSetup:function(a,b){return b?Nb(Nb(a,m.ajaxSettings),b):Nb(m.ajaxSettings,a)},ajaxPrefilter:Lb(Hb),ajaxTransport:Lb(Ib),ajax:function(a,b){"object"==typeof a&&(b=a,a=void 0),b=b||{};var c,d,e,f,g,h,i,j,k=m.ajaxSetup({},b),l=k.context||k,n=k.context&&(l.nodeType||l.jquery)?m(l):m.event,o=m.Deferred(),p=m.Callbacks("once memory"),q=k.statusCode||{},r={},s={},t=0,u="canceled",v={readyState:0,getResponseHeader:function(a){var b;if(2===t){if(!j){j={};while(b=Cb.exec(f))j[b[1].toLowerCase()]=b[2]}b=j[a.toLowerCase()]}return null==b?null:b},getAllResponseHeaders:function(){return 2===t?f:null},setRequestHeader:function(a,b){var c=a.toLowerCase();return t||(a=s[c]=s[c]||a,r[a]=b),this},overrideMimeType:function(a){return t||(k.mimeType=a),this},statusCode:function(a){var b;if(a)if(2>t)for(b in a)q[b]=[q[b],a[b]];else v.always(a[v.status]);return this},abort:function(a){var b=a||u;return i&&i.abort(b),x(0,b),this}};if(o.promise(v).complete=p.add,v.success=v.done,v.error=v.fail,k.url=((a||k.url||zb)+"").replace(Ab,"").replace(Fb,yb[1]+"//"),k.type=b.method||b.type||k.method||k.type,k.dataTypes=m.trim(k.dataType||"*").toLowerCase().match(E)||[""],null==k.crossDomain&&(c=Gb.exec(k.url.toLowerCase()),k.crossDomain=!(!c||c[1]===yb[1]&&c[2]===yb[2]&&(c[3]||("http:"===c[1]?"80":"443"))===(yb[3]||("http:"===yb[1]?"80":"443")))),k.data&&k.processData&&"string"!=typeof k.data&&(k.data=m.param(k.data,k.traditional)),Mb(Hb,k,b,v),2===t)return v;h=m.event&&k.global,h&&0===m.active++&&m.event.trigger("ajaxStart"),k.type=k.type.toUpperCase(),k.hasContent=!Eb.test(k.type),e=k.url,k.hasContent||(k.data&&(e=k.url+=(wb.test(e)?"&":"?")+k.data,delete k.data),k.cache===!1&&(k.url=Bb.test(e)?e.replace(Bb,"$1_="+vb++):e+(wb.test(e)?"&":"?")+"_="+vb++)),k.ifModified&&(m.lastModified[e]&&v.setRequestHeader("If-Modified-Since",m.lastModified[e]),m.etag[e]&&v.setRequestHeader("If-None-Match",m.etag[e])),(k.data&&k.hasContent&&k.contentType!==!1||b.contentType)&&v.setRequestHeader("Content-Type",k.contentType),v.setRequestHeader("Accept",k.dataTypes[0]&&k.accepts[k.dataTypes[0]]?k.accepts[k.dataTypes[0]]+("*"!==k.dataTypes[0]?", "+Jb+"; q=0.01":""):k.accepts["*"]);for(d in k.headers)v.setRequestHeader(d,k.headers[d]);if(k.beforeSend&&(k.beforeSend.call(l,v,k)===!1||2===t))return v.abort();u="abort";for(d in{success:1,error:1,complete:1})v[d](k[d]);if(i=Mb(Ib,k,b,v)){v.readyState=1,h&&n.trigger("ajaxSend",[v,k]),k.async&&k.timeout>0&&(g=setTimeout(function(){v.abort("timeout")},k.timeout));try{t=1,i.send(r,x)}catch(w){if(!(2>t))throw w;x(-1,w)}}else x(-1,"No Transport");function x(a,b,c,d){var j,r,s,u,w,x=b;2!==t&&(t=2,g&&clearTimeout(g),i=void 0,f=d||"",v.readyState=a>0?4:0,j=a>=200&&300>a||304===a,c&&(u=Ob(k,v,c)),u=Pb(k,u,v,j),j?(k.ifModified&&(w=v.getResponseHeader("Last-Modified"),w&&(m.lastModified[e]=w),w=v.getResponseHeader("etag"),w&&(m.etag[e]=w)),204===a||"HEAD"===k.type?x="nocontent":304===a?x="notmodified":(x=u.state,r=u.data,s=u.error,j=!s)):(s=x,(a||!x)&&(x="error",0>a&&(a=0))),v.status=a,v.statusText=(b||x)+"",j?o.resolveWith(l,[r,x,v]):o.rejectWith(l,[v,x,s]),v.statusCode(q),q=void 0,h&&n.trigger(j?"ajaxSuccess":"ajaxError",[v,k,j?r:s]),p.fireWith(l,[v,x]),h&&(n.trigger("ajaxComplete",[v,k]),--m.active||m.event.trigger("ajaxStop")))}return v},getJSON:function(a,b,c){return m.get(a,b,c,"json")},getScript:function(a,b){return m.get(a,void 0,b,"script")}}),m.each(["get","post"],function(a,b){m[b]=function(a,c,d,e){return m.isFunction(c)&&(e=e||d,d=c,c=void 0),m.ajax({url:a,type:b,dataType:e,data:c,success:d})}}),m._evalUrl=function(a){return m.ajax({url:a,type:"GET",dataType:"script",async:!1,global:!1,"throws":!0})},m.fn.extend({wrapAll:function(a){if(m.isFunction(a))return this.each(function(b){m(this).wrapAll(a.call(this,b))});if(this[0]){var b=m(a,this[0].ownerDocument).eq(0).clone(!0);this[0].parentNode&&b.insertBefore(this[0]),b.map(function(){var a=this;while(a.firstChild&&1===a.firstChild.nodeType)a=a.firstChild;return a}).append(this)}return this},wrapInner:function(a){return this.each(m.isFunction(a)?function(b){m(this).wrapInner(a.call(this,b))}:function(){var b=m(this),c=b.contents();c.length?c.wrapAll(a):b.append(a)})},wrap:function(a){var b=m.isFunction(a);return this.each(function(c){m(this).wrapAll(b?a.call(this,c):a)})},unwrap:function(){return this.parent().each(function(){m.nodeName(this,"body")||m(this).replaceWith(this.childNodes)}).end()}}),m.expr.filters.hidden=function(a){return a.offsetWidth<=0&&a.offsetHeight<=0||!k.reliableHiddenOffsets()&&"none"===(a.style&&a.style.display||m.css(a,"display"))},m.expr.filters.visible=function(a){return!m.expr.filters.hidden(a)};var Qb=/%20/g,Rb=/\[\]$/,Sb=/\r?\n/g,Tb=/^(?:submit|button|image|reset|file)$/i,Ub=/^(?:input|select|textarea|keygen)/i;function Vb(a,b,c,d){var e;if(m.isArray(b))m.each(b,function(b,e){c||Rb.test(a)?d(a,e):Vb(a+"["+("object"==typeof e?b:"")+"]",e,c,d)});else if(c||"object"!==m.type(b))d(a,b);else for(e in b)Vb(a+"["+e+"]",b[e],c,d)}m.param=function(a,b){var c,d=[],e=function(a,b){b=m.isFunction(b)?b():null==b?"":b,d[d.length]=encodeURIComponent(a)+"="+encodeURIComponent(b)};if(void 0===b&&(b=m.ajaxSettings&&m.ajaxSettings.traditional),m.isArray(a)||a.jquery&&!m.isPlainObject(a))m.each(a,function(){e(this.name,this.value)});else for(c in a)Vb(c,a[c],b,e);return d.join("&").replace(Qb,"+")},m.fn.extend({serialize:function(){return m.param(this.serializeArray())},serializeArray:function(){return this.map(function(){var a=m.prop(this,"elements");return a?m.makeArray(a):this}).filter(function(){var a=this.type;return this.name&&!m(this).is(":disabled")&&Ub.test(this.nodeName)&&!Tb.test(a)&&(this.checked||!W.test(a))}).map(function(a,b){var c=m(this).val();return null==c?null:m.isArray(c)?m.map(c,function(a){return{name:b.name,value:a.replace(Sb,"\r\n")}}):{name:b.name,value:c.replace(Sb,"\r\n")}}).get()}}),m.ajaxSettings.xhr=void 0!==a.ActiveXObject?function(){return!this.isLocal&&/^(get|post|head|put|delete|options)$/i.test(this.type)&&Zb()||$b()}:Zb;var Wb=0,Xb={},Yb=m.ajaxSettings.xhr();a.attachEvent&&a.attachEvent("onunload",function(){for(var a in Xb)Xb[a](void 0,!0)}),k.cors=!!Yb&&"withCredentials"in Yb,Yb=k.ajax=!!Yb,Yb&&m.ajaxTransport(function(a){if(!a.crossDomain||k.cors){var b;return{send:function(c,d){var e,f=a.xhr(),g=++Wb;if(f.open(a.type,a.url,a.async,a.username,a.password),a.xhrFields)for(e in a.xhrFields)f[e]=a.xhrFields[e];a.mimeType&&f.overrideMimeType&&f.overrideMimeType(a.mimeType),a.crossDomain||c["X-Requested-With"]||(c["X-Requested-With"]="XMLHttpRequest");for(e in c)void 0!==c[e]&&f.setRequestHeader(e,c[e]+"");f.send(a.hasContent&&a.data||null),b=function(c,e){var h,i,j;if(b&&(e||4===f.readyState))if(delete Xb[g],b=void 0,f.onreadystatechange=m.noop,e)4!==f.readyState&&f.abort();else{j={},h=f.status,"string"==typeof f.responseText&&(j.text=f.responseText);try{i=f.statusText}catch(k){i=""}h||!a.isLocal||a.crossDomain?1223===h&&(h=204):h=j.text?200:404}j&&d(h,i,j,f.getAllResponseHeaders())},a.async?4===f.readyState?setTimeout(b):f.onreadystatechange=Xb[g]=b:b()},abort:function(){b&&b(void 0,!0)}}}});function Zb(){try{return new a.XMLHttpRequest}catch(b){}}function $b(){try{return new a.ActiveXObject("Microsoft.XMLHTTP")}catch(b){}}m.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/(?:java|ecma)script/},converters:{"text script":function(a){return m.globalEval(a),a}}}),m.ajaxPrefilter("script",function(a){void 0===a.cache&&(a.cache=!1),a.crossDomain&&(a.type="GET",a.global=!1)}),m.ajaxTransport("script",function(a){if(a.crossDomain){var b,c=y.head||m("head")[0]||y.documentElement;return{send:function(d,e){b=y.createElement("script"),b.async=!0,a.scriptCharset&&(b.charset=a.scriptCharset),b.src=a.url,b.onload=b.onreadystatechange=function(a,c){(c||!b.readyState||/loaded|complete/.test(b.readyState))&&(b.onload=b.onreadystatechange=null,b.parentNode&&b.parentNode.removeChild(b),b=null,c||e(200,"success"))},c.insertBefore(b,c.firstChild)},abort:function(){b&&b.onload(void 0,!0)}}}});var _b=[],ac=/(=)\?(?=&|$)|\?\?/;m.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var a=_b.pop()||m.expando+"_"+vb++;return this[a]=!0,a}}),m.ajaxPrefilter("json jsonp",function(b,c,d){var e,f,g,h=b.jsonp!==!1&&(ac.test(b.url)?"url":"string"==typeof b.data&&!(b.contentType||"").indexOf("application/x-www-form-urlencoded")&&ac.test(b.data)&&"data");return h||"jsonp"===b.dataTypes[0]?(e=b.jsonpCallback=m.isFunction(b.jsonpCallback)?b.jsonpCallback():b.jsonpCallback,h?b[h]=b[h].replace(ac,"$1"+e):b.jsonp!==!1&&(b.url+=(wb.test(b.url)?"&":"?")+b.jsonp+"="+e),b.converters["script json"]=function(){return g||m.error(e+" was not called"),g[0]},b.dataTypes[0]="json",f=a[e],a[e]=function(){g=arguments},d.always(function(){a[e]=f,b[e]&&(b.jsonpCallback=c.jsonpCallback,_b.push(e)),g&&m.isFunction(f)&&f(g[0]),g=f=void 0}),"script"):void 0}),m.parseHTML=function(a,b,c){if(!a||"string"!=typeof a)return null;"boolean"==typeof b&&(c=b,b=!1),b=b||y;var d=u.exec(a),e=!c&&[];return d?[b.createElement(d[1])]:(d=m.buildFragment([a],b,e),e&&e.length&&m(e).remove(),m.merge([],d.childNodes))};var bc=m.fn.load;m.fn.load=function(a,b,c){if("string"!=typeof a&&bc)return bc.apply(this,arguments);var d,e,f,g=this,h=a.indexOf(" ");return h>=0&&(d=m.trim(a.slice(h,a.length)),a=a.slice(0,h)),m.isFunction(b)?(c=b,b=void 0):b&&"object"==typeof b&&(f="POST"),g.length>0&&m.ajax({url:a,type:f,dataType:"html",data:b}).done(function(a){e=arguments,g.html(d?m("<div>").append(m.parseHTML(a)).find(d):a)}).complete(c&&function(a,b){g.each(c,e||[a.responseText,b,a])}),this},m.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(a,b){m.fn[b]=function(a){return this.on(b,a)}}),m.expr.filters.animated=function(a){return m.grep(m.timers,function(b){return a===b.elem}).length};var cc=a.document.documentElement;function dc(a){return m.isWindow(a)?a:9===a.nodeType?a.defaultView||a.parentWindow:!1}m.offset={setOffset:function(a,b,c){var d,e,f,g,h,i,j,k=m.css(a,"position"),l=m(a),n={};"static"===k&&(a.style.position="relative"),h=l.offset(),f=m.css(a,"top"),i=m.css(a,"left"),j=("absolute"===k||"fixed"===k)&&m.inArray("auto",[f,i])>-1,j?(d=l.position(),g=d.top,e=d.left):(g=parseFloat(f)||0,e=parseFloat(i)||0),m.isFunction(b)&&(b=b.call(a,c,h)),null!=b.top&&(n.top=b.top-h.top+g),null!=b.left&&(n.left=b.left-h.left+e),"using"in b?b.using.call(a,n):l.css(n)}},m.fn.extend({offset:function(a){if(arguments.length)return void 0===a?this:this.each(function(b){m.offset.setOffset(this,a,b)});var b,c,d={top:0,left:0},e=this[0],f=e&&e.ownerDocument;if(f)return b=f.documentElement,m.contains(b,e)?(typeof e.getBoundingClientRect!==K&&(d=e.getBoundingClientRect()),c=dc(f),{top:d.top+(c.pageYOffset||b.scrollTop)-(b.clientTop||0),left:d.left+(c.pageXOffset||b.scrollLeft)-(b.clientLeft||0)}):d},position:function(){if(this[0]){var a,b,c={top:0,left:0},d=this[0];return"fixed"===m.css(d,"position")?b=d.getBoundingClientRect():(a=this.offsetParent(),b=this.offset(),m.nodeName(a[0],"html")||(c=a.offset()),c.top+=m.css(a[0],"borderTopWidth",!0),c.left+=m.css(a[0],"borderLeftWidth",!0)),{top:b.top-c.top-m.css(d,"marginTop",!0),left:b.left-c.left-m.css(d,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){var a=this.offsetParent||cc;while(a&&!m.nodeName(a,"html")&&"static"===m.css(a,"position"))a=a.offsetParent;return a||cc})}}),m.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(a,b){var c=/Y/.test(b);m.fn[a]=function(d){return V(this,function(a,d,e){var f=dc(a);return void 0===e?f?b in f?f[b]:f.document.documentElement[d]:a[d]:void(f?f.scrollTo(c?m(f).scrollLeft():e,c?e:m(f).scrollTop()):a[d]=e)},a,d,arguments.length,null)}}),m.each(["top","left"],function(a,b){m.cssHooks[b]=La(k.pixelPosition,function(a,c){return c?(c=Ja(a,b),Ha.test(c)?m(a).position()[b]+"px":c):void 0})}),m.each({Height:"height",Width:"width"},function(a,b){m.each({padding:"inner"+a,content:b,"":"outer"+a},function(c,d){m.fn[d]=function(d,e){var f=arguments.length&&(c||"boolean"!=typeof d),g=c||(d===!0||e===!0?"margin":"border");return V(this,function(b,c,d){var e;return m.isWindow(b)?b.document.documentElement["client"+a]:9===b.nodeType?(e=b.documentElement,Math.max(b.body["scroll"+a],e["scroll"+a],b.body["offset"+a],e["offset"+a],e["client"+a])):void 0===d?m.css(b,c,g):m.style(b,c,d,g)},b,f?d:void 0,f,null)}})}),m.fn.size=function(){return this.length},m.fn.andSelf=m.fn.addBack,"function"==typeof define&&define.amd&&define("jquery",[],function(){return m});var ec=a.jQuery,fc=a.$;return m.noConflict=function(b){return a.$===m&&(a.$=fc),b&&a.jQuery===m&&(a.jQuery=ec),m},typeof b===K&&(a.jQuery=a.$=m),m}); diff --git a/docs/posts/posts.json b/docs/posts/posts.json index da613e6..5903d10 100644 --- a/docs/posts/posts.json +++ b/docs/posts/posts.json @@ -14,10 +14,10 @@ "Technical", "EN" ], - "contents": "\n\nContents\nSunday - reflect about open science\nSuggested reading\n\nMonday - design a project\nGive cool names\nLicenses\nReproducibility task of the day\nSuggested readings\n\nTuesday - control your versions\nWhat is version control? Why is it cool to use?\nA little bit of Git vocabulary and architecture\nThe repository main timeline\nBranches from the master: branch\nCopying repositories from the ‘cloud’ to the computer (or, working offline):\nCopying online repositories\nGeneral workflow vocabulary\n\nWorking remotely\nWorking locally\nBasic Commands\nHow to track changes in my files?\nWorking with branches\n\nOh, my Git! D=\nReproducibility task of the day\nSuggested reading\n\nWednesday - make your code and manuscript reproducible\nReproducible code\nComment\nFunctions and packages\n\nReproducible manuscripts\nBasic Markdown syntax\nCitation/reference management\n\nReproducibility task of the day\nSuggested reading\n\nThursday - preserve your tools\nSaturday - reproducible challange\n\nHave you ever felt lost in your own projects? Do you feel like your workflow is quite effective, but it’s not transparent enough? This detox routine can help you regain control over your (very messy - I know!) project structure and discover a marvelous world of collaboration and contribution in open science!\nReproducibility is a principle that resonates to the most used concept of science, assuring that a hypothesis is testable. It means that the process to test an idea - from data to results - can be repeated. It is different from replicability, which means the process can be repeated, but using different data.\nIn this detox week we will reflect and experiment with open science, using our skills for project design, version control, virtual environments and automation. We will reevaluate our current workflow and fine-tune where needed, to reach the most reproducible workflow possible for us.\nSunday - reflect about open science\n\nSelf-care task of the day\nGo to a calm place. No need of silence, just a place where you can just be still. Set a timer for 5min. Take a deep breath in, and a deep breath out. Give your body a scan-through: concentrate in each centimeter of it and try to be aware of how does your body feel there. Everytime you find a contracted muscle, try to relax it. Pay attention to the sounds around you. When the timer is off, take another deep breath.\n\n\nOn the first day of this detox journey, let’s reflect on our way to work and how it could be better. Take a moment of your day and think about:\nWhat is your current workflow when you develop a project? Take a pen and paper (physical or digital) and sketch your usual process, step-by-step. Add as much details as you can (and take this chance to get creative!). Make sure to save this sketch in a place that is easy to access, you’re gonna need it in the following days.\nHow do we build trust and facilitate collaboration in our projects?\nHow can be inclusive by design - what can we do in our projects to invite collaboration?\nIs reproducibility openness? If a project is reproducible, does that mean it is accessible?\nSuggested reading\nOur path to better science in less time using open data science tools\nMonday - design a project\n\nSelf-care task of the day\nGo to somewhere where you feel in peace or happy. Take paper and something to write - even better if it’s colorful! Set a timer for 30 minutes and doodle something that reflects how you are feeling, something that represents a happy thought you had today, or something that represents the place you are right now.\n\nIn this step we will squeeze our creativity out of our brains to come up with a project that is reproducible by design. Is there a hierarchy between your folders? Which folders do you need? Should you mix raw and clean data? Did this last question offend you?\nThere are a couple of tools you can use to automatically create a project structure for you, such as RProject and its combination with the R package minimaltemplate, or the PkgTemplate.jl for development of packages in Julia.\nThe main things you need to reflect on when designing your open project are:\nWill I use data? If yes, will I need to treat/clean/subset them?\nWill I use code?\nWill it be shared? If yes, how? Do I want people to cite me, for exemple?\nWill I need to generate manuscripts/reports/figures?\nWill it be useful for people to know how to navigate my project? Will I welcome collaborators and contributors?\nWhat is the naming system I will use - for both folders and files?\nSee an example of a structured project below (adapted from here):\n## /home/awesome-manuscript\n## ├── .github\n## ├── .gitignore\n## ├── .travis.yml\n## ├── DESCRIPTION\n## ├── LICENSE.md\n## ├── R\n## │ ├── analysis.Rmd\n## │ ├── local_functions.R\n## │ └── package_list.R\n## ├── README.md\n## ├── awesome-manuscript.Rproj\n## ├── data\n## │ ├── clean\n## │ ├── raw\n## │ └── temp\n## ├── main-script.Rmd\n## ├── manuscript\n## │ └── sources\n## │ ├── ecology-letters.csl\n## │ ├── library.bib\n## │ ├── packages.bib\n## │ └── template.docx\n## ├── output\n## │ ├── figures\n## │ ├── results\n## │ └── supp\n## └── todo.txt\nVery nice, but the TL;DR version is:\nConsider having a dedicated folder for your data and split them into clean and raw data (alternatively, you can store your cleaned data inside an “output” folder, where other sorts of outputs will also be). If needed, create another folder for “sandbox data” - we need to have room for creativity in science! Also make sure to store the metadata in these folders, alongside their respective data, where they belong.\nIf you will produce reports/manuscripts, maybe it’s a good idea to have a dedicated folder for them too. Store there everything you’ll need to render your files, such as bibliography and templates.\nFigures should go in their own folder too.\nCode usually go in their own folder too, but if the code is about making the project work and putting everything together, it should go in the root.\nGive cool names\nYour project is so awesome that it needs the coolest names in its folders and files! Good names are informative and consistent. It is a hard exercise, but we do get better with time. The main things to think about when naming your things are:\nDoes it describe what’s inside without being verbose?\nDoes it allow for correct ordering?\nIs it easily searchable (a.k.a., machine readable)? Will my computer crash if I need to change to this directory?\nLicenses\nAn important part of making your work reproducible by anyone is to share it, and to do that safely, it is important to connect your project to a license. This is a statement about what and how people can use any part of your project. Chosing a license can be a difficult task at first, but if your projects have a common structure, they should be ok with the same license. When chosing a license, it is important to ask yourself (and your collaborators) the following questions:\nDo we want people to give us credit for our work when this projects is distributed, derived, performed or displayed?\nDo we want the derivatives of this project be shared with the same license that we chose?\nAre we ok with this project being used for commercial purposes?\nA combination of your answers will guide you to find the best license for your project which is adequate for your community. There are a couple of online tools that can help you with that! For example, if you are sharing creative work, you can consult the Creative Commons - Choose a License tool. For other open source software licenses, you can take a look at the Choose A License website. The cool thing is: you can also create your own license! In any case, once you chose the appropriate license for your project, save it in your project root folder with the name “LICENSE” (as a text file). This way, your version control host system will automatically recognize it and display something like “hey, this project has a license!” when someone finds your project.\nReproducibility task of the day\nTake a moment to evaluate your current project design. How would you make it better? If there is something missing (a license, cool names, a good structure), try to implement what you’ve learned: one simple thing is enough! Pick one project + one improvement and do it / You can start even with pen and paper! Scketch what’s the flow of information inside your project right now. Is there any redundancies? Could a path between righly connected directories be shorter? Could the names of the folders be shorter if they were arranged some other way?\nNeed help? Ask a friend to do it with you!\nSuggested readings\nMozilla Open Leaders lesson on sharing your work in the open\nHow to License Research Data\nTuesday - control your versions\n\nSelf-care task of the day\nYouTube is full of people making their own version of their favorite songs. The self-care task of the day is to pick one song and look for versions of it on YouTube. Maybe start looking for you favorite song. What are the differences between the versions? Which one did you like the most? Have you discovered a cool artist because of this search? If you couldn’t find a cool version of your favorite song, take a moment to imagine how your own version would sound like.\n\nWhat is version control? Why is it cool to use?\n\nA version control system allows changes made to a file to be recorded in a timeline, and it is possible to retrieve previous versions at any time.\nThis is possible because with version control you don’t save copies of your work, but its history, avoiding things like this in your working directory:\n- project/\n |- scripts/\n |- script-v0.1.R\n |- script-after-review-from-Princess-Lea.R \n |- script-merged.R \n |- script-not-working-anymore.R \n |- script-wtf.R \nGit is a distributed version control system, which means the snapshots of your work are stored in your local drive, but also can be distributed from the cloud to other developers.\nA little bit of Git vocabulary and architecture\nThe basic architecture we have to deal with is composed of a branches (including one we’ll call “main”, but is sometimes called “master”), clones and forks.\nThe repository main timeline\nThe main is the primary timeline of your repository (a project with the files required to develop it). There the files will ideally only be changed when strictly necessary, i.e. when a change is critical to the progress of the project.\nBranches from the master: branch\nA branch is a ramification from any other timeline. It is like a copy repository within the main repository, which is created to test changes that may or may not be implemented in the main timeline. Ideally, each developer creates a branch to test the changes they deem necessary and submit these changes to their colleagues’ judgment before implementing them in the main.\nCopying repositories from the ‘cloud’ to the computer (or, working offline):\nRepositories can be created online and many things can be done there. However, in order to work locally on a repository, i.e. to work offline, we need to create a clone of the repository we have online. A clone is a synchronised copy of your online repository. Everything you do in your local working directory (corresponding to the clone) will be synchronized with the online repository.\nCopying online repositories\nIn turn, forks are complete, independent copies of a repository. We use a fork (not a clone) when we want to change the direction of the project, or when we want to contribute to someone else’s project independently and only then suggest changes to the original project. If you need to update your fork with the newest version of the project, you can do that by requesting a fetch to Git.\nGeneral workflow vocabulary\nWhen we change some file and save the new version, we do a commit . Commits should be accompanied by short but sufficiently descriptive comments, so that you can understand what the difference in that version is and locate it more easily. With commits you can track what change was made, where, by whom and when.\ncommitAfter changing a file and saving the new version, this version needs to be given a tag (an identification code), and then uploaded to the online repository. We call this a push. To update your local directory with the newest versions of files, you must tell Git to pull them.\nWhen working on a branch, you can request that the changes you have made be implemented in the main branch of your workflow (or any other branch). To do this you request a merge via a pull request . In a pull request, you ask a repository owner or contributor to accept the changes you made to a fork or branch into another branch. If they accept, you are listed as a contributor to the project.\nWorking remotely\nThe online portal of your Git server allows you to do most of the tasks described above in a very intuitive way. You can edit some files, upload others, request a merge, create and delete a branch, etc. Once you know the Git logic and architecture, it is easy to work online.\nFor a detailed walkthrough, take a look at this page.\nWorking locally\nHowever, the changes we need to make cannot always be done directly in the portal, or would be done more efficiently if we worked on our computer, with our preferred software. To work on your repository from your computer, you only need to install Git itself (https://git-scm.com/downloads). Some softwares allow you to visualize the timeline and operations being made, such as GitKraken (https://www.gitkraken.com/) and some extentions for VSCode and RStudio.\nOnce you’ve installed Git, the there are two possible ways to start:\nYou can create your online repository directly on your Git host server (such as GitHub, GitLab or Bitbucket);\nOr you can “transform” a local directory into a Git controlled project.\nIn the first case, to have a copy of your online repository on your computer, just clone your directory, either by downloading all the files in a .zip or by copying the ssh key or html address to use in a Git command.\n\nYou can also clone from GitKraken, by clicking on the little folder on the top left corner or on “File” on the menu.\nIn the second case, you must right-click on your workbook and open the Git Bash; alternatively, in GitKraken, you can click on “Init” in the same window shown above and indicate the directory of your workbook in “New repository path”.\nBasic Commands\nThe following commands will give us an idea of a workflow in Git.\nTo use Git, you need to configure it so that your account on your Git server is recognised by it. In Git Bash:\ngit config --global user.name \"username\"\ngit config --global user.email \"iamawesome@email.com\"\ngit config --list #Confirm your settings\nThere, now Git knows who you are.\nTo start a repository from your computer, you can tell Git to start or “watch” a folder.\nFirst, check what the working directory is and change it if necessary.\npwd # prints the working directory\ncd # takes you to the root\ncd .. # takes you to one level up directory\ncd \"your/directory\" # changes your working directory\nTo clone your repository, copy the url as shown in the picture above and ask Git to clone the repository into the directory you indicated.\ngit clone https://github.com/graciellehigino/bios2.github.io.git\nThe above command will create a folder with the same name as the repository in your working directory. If you want the folder created to have another name, include that after the repository address. This process works if you have an online repository and want it to exist on your computer. You can also do it the other way round. If you have not yet created a folder for your project, you can ask Git to create one for you:\nmkdir \"web-repo-github\"\nBut if you already have a folder and want Git to “watch over” it, start a local repository in the directory indicated:\ngit init\nYou can (maybe you need to) tell Git where your remote repository is:\ngit remote add origin https://github.com/graciellehigino/bios2.github.io.git\nOk, now your repository is ready to use.\nCheck if there are new files in your folder or modified files that haven’t been pushed yet:\ngit status\nHey, couldn’t you find an important file? Add it to the Git vision field now!\ngit add file # adds a file\n\ngit add -u # updates the file tracking\n\ngit add -A # all the above\nTo make additions interactively via the terminal, use:\ngit add -i\nFollow the instructions provided by the terminal and include as many files as you want before committing.\nNow that Git is keeping an eye on all your files, any changes you make (and want them to be recorded in this file’s timeline) will be detected. To make sure your changes are recorded, “commit” the changed file with a comment so you can remember what the difference is in that version.\ngit commit -m \"it's awesome now\"\nA commit only updates the local repository if you are working locally, or the remote repository if you are working remotely. To synchronize the two repositories, you must either push updates to the remote repository or pull updates to the local repository.\ngit push origin master\n#\"Git, please take the updated files to the remote repository 'origin', on the 'main' branch.\"\n\ngit pull\n#\"Git, please bring the updated files from the remote repository to my local repository\"\nHow to track changes in my files?\nCheck the changes in the content of the files (e.g. new lines added):\ngit diff\nCheck the files and their changes that are in the stage area:\ngit diff --staged\nIf you are lost between the different versions of your files, check the commit history! :)\ngit log # history of project commits since the beginning\ngit log -p # detailed historic of commits (i.e. git log + git diff)\nDepending on the size of the changes, the log may be very large and you will need to press “return” to each page to see all the changes. At the end you will see (END), then press the letter ‘q’ to finish reading.\nIf you only want to check the latest commits, limit the list with git log -p -1 (replace the 1 with the number of commits you wish to see). You can also check out the entire change history of the working directories with the Git viewer with gitk. Isn’t that cool!\nWorking with branches\nBranches are ramifications of other timelines. They are very useful when you need to test or work on large changes without changing what is on the main branch. It is very important to maintain branches in your collaborative work, because it reduces the chance of the main branch suffering accidental major changes and simplifies the management of file versions.\ngit show-branch -a # lists all branches\n\ngit branch name_of_branch # creates a new branch\n\ngit checkout name_of_branch # transfers the workspace to the new branch\n\ngit checkout -b name_of_branch # creates a branch and transfers the workspace\nWhen all the changes you have made to your branch are done and you think it is time to merge them into the main (or any other branch), move to the target branch and request a merge:\ngit merge new_branch # merges the changes from 'new_branch' to 'main'\nIf you no longer need the branch and want to delete it, use the git branch -d new_branch command.\nIt can often happen that your working branch is not up to date with the main. This can be a problem if the main has important updates for the development of your project on the branch. To bring the main updates to your branch, follow these steps:\n1. Check if your workspace is on the main branch. If not, transfer it:\ngit checkout master\nOn the main, update your local directory:\ngit pull\nAfter updating your local directory, move to your branch, merge the main updates into your branch and upload to the remote repository:\ngit checkout your-branch\ngit merge main your-branch\ngit push\nThat’s it! Now your branch contains everything that was new in the main. :)\nOh, my Git! D=\nDid you mess up commits? Want to revert a change? Don’t despair!\nIf you made a commit and regret it, but don’t even remember which commit it was (“Find out commits associated for a specific file”):\ngit log -p filename`\nIf you want to include new edits to the last commit, replacing it:\ngit commit --amend -m \"message\"\nIf you want to remove any file from the stage area after a git add .:\ngit reset HEAD new_file.R\nBut if you want to remove it from your working tree and the set of added files:\ngit rm new_file.R\nIf all that goes wrong, try the following (tips taken from here):\ngit revert --no-commit <commit hash> # Revert, but don't commit yet\ngit reset # Take everything from the stage area\ngit add yourFilesToRevert # Add files to revert\ngit commit -m \"commit message\"\ngit reset --hard # Undo changes not commited\nIf you want to remove all local changes and commits, retrieve the most recent history from the server and point to your local branch main like this:\ngit fetch origin\ngit reset --hard origin/master\nThat’s it! There’s a lot more in the git world, but I hope this guide can help you on your version control journey.\nRemember: keep the main as untouched as possible, work with branches to test your ideas, and always push your modifications before going to bed.\nReproducibility task of the day\nSet up the tracking system in your project! Create a remote repository and connect it with your local directory. If you already use a version control system, review your workflow both when working alone and in collaboration: what are the actions most likely to cause a problem? Can you make it simpler?\n\nhint: make a colorful and friendly sketch of your current workflow!\n\nSuggested reading\nThis lesson was translated from a git guide in Portuguese I wrote with Karlo Guidoni in a study group we promoted at Universidade Federal de Goiás, back in 2017, and we used time and again in our reproducibility trainings. You can take a look in our repository here.\nWednesday - make your code and manuscript reproducible\n\nSelf-care task of the day\nWhat is your favorite food? Do you have a story of a special meal prepared by a loved one? The self-care task of the day is to call someone you love and ask them to explain how to prepare a special meal: one that you really like or one of their favorites. If you’re feeling adventurous, try to reproduce it before the next task tomorrow!\n\nReproducible code\nToday is the day to make your future-self thank you! We will go through some tips and tricks to make your code more friendly, surviving the test of time and of your own memory.\nA reproducible code is an essential part of a reproducible project. Having a code to reproduce your analysis is already a great start, congrats for that! :crown:\nToday we’ll try to go a step forward and write a love letter for your future-self by adding comments on your code, rethinking about object names, investigate how we can compile chuncks of code inside functions and, finally, think about reproducible manuscripts. ### Style There are no right or wrong when it comes to style: there are best-practices and what works better for you or your project.\nFor example, Google has a series of style guides they use to standardize code writing in the company. There is a Google’s R Style Guide and a tydiverse style guide which can be a good inspiration to find your own. Here’s an idea: create a document whre you usually store code. List all conventions you use and have never thought about why you use them and reflect if they still make sense for you. If they do, keep them. If they don’t, try to improve them. Is there any other thing you never thought it was important, but it could be? Do you have a convention for function names, for example?\nObject names\nObject names are the major source of wasted time for me, especially when the code is already super long with numerous objects. What helps is to know they should be descriptive, yet concise. A good tip is to name objects as nouns and functions as verbs.\n\nWhat do you think is important when naming objects in the languages that you use? Take 5 mins to write a list!\n\nComment\nAnother good practice is to always comment your code. It will help you understand the decisions you’ve made throughout this process, that’s why a good tip is to write simple comments that state why you wrote that line of code. What do you think of buying a friend a coffee and ask them to review your code annotation? Maybe you can make some lines clearer while hanging out in a park!\nIn a larger scale, it is important to have other kinds of notes: session info (e.g., in R you can use the command sessionInfo()), package versions (e.g., using the checkpoint package), dependencies and connections between code scripts and data files. A good example of documentation is this README file written by our colleague Gabriel Dansereau: it contains clear instructions of how to use the code, how the respsitory is organized and even notes on possible warnings and what they mean.\nIt can be complicated to keep track of everything everyday, so here’s a tip: schedule a day in your month (or week) to update the documentation of your project! People call it “documentation day” out there, and you’ll find lots of blogposts about it online.\nFunctions and packages\nFunctions can help you keep your code cleaner and avoid errors when you repeat actions. They should replace redundancies in your code. In the same way, when you notice you have to repeat a certain routine in many of your projects, it might be worth writing a package - which is basically a set of functions. When you do that, don’t forget to include in your functions some commands that check for errors, like when you try to use a type of variable that is not compatible with the analysis that run inside the function.\n\nTake a few minutes to have a look at your code now. Can you see something that could be a function?\n\nReproducible manuscripts\nFrom reproducible code to reproducible manuscripts is one small leap! It means your manuscript is readable across platforms and systems, and can be compiled locally, and even be automatically updated if your data or analyses change! It doesn’t mean that the interpretation of the results will be automatically updated aswell - which seems to be a concern for some people, that argue that reproducible manuscripts turn the science activity into a mechanic thing. On the contrary: it allows you to not worry about making figures over and over again, and concentrate in the philosophical part of your science!\nThere are three basic things we need to understand to produce a reproducible academic manuscript: the YAML, the markup language (such as Markdown) and the citation/references management.\nYAML (YAML Ain’t a Markup Language - metalingustics!) is a language that defines the metadata of your document and helps in the compiling process. It tells your computer if the output you need is a *.pdf or a *.doc file, for example. A YAML block will be the first thing you’ll add on your document, and the only tricky thing is to get the indentation right.\nFor example, the YAML of this very webpage looks like this:\n---\ntitle: \"(un)Reproducibility Detox\"\ndescription: |\n A seven-day detox routine to improve the reproducibility of your projects!\nauthor: Gracielle Higino\npreview: thumb.png\ncategories: \n - Technical\n - EN\ndate: 06-13-2021\noutput:\n distill::distill_article:\n self_contained: false\n toc: true\n---\nYou should add to your manuscript a bibliography argument with the path to your *.bib file and change the output according to your needs. If you use RStudio, these things are easier to change as it has built-in templates with pre-filled YAML header.\nAnother cool thing to add in your YAML header is a reference to a template. This will make your computer compile your manuscript in the same format as your template - which helps a lot when you submit the manuscript to a journal.\nA couple of packages can help you put together all these pieces. The rticles package imports LaTeX templates from scientific journals and implements a dialog box in RStudio. The rmdTemplates package has also slides, Word and PDF templates. It helps a lot starting with a template and fill in the blanks![=\nBasic Markdown syntax\nA very complete introduction to R Markdown is provided by RStudio here (also make sure to consult the R Markdown Cheat Sheet). This basic syntax is the same used in Markdown and other similar markup languages. For example:\n**this is bold** -> this is bold*this is italic* -> this is italic\n|this|is|a|table|\n|:---|:---:|---:||\n|a|table|this|is|\n\n.tg .tg-c3ow{border-color:inherit;text-align:center;vertical-align:top}\n.tg .tg-0pky{border-color:inherit;text-align:left;vertical-align:top}\n.tg .tg-dvpl{border-color:inherit;text-align:right;vertical-align:top}\n\nthis\n\n\nis\n\n\na\n\n\ntable\n\n\na\n\n\ntable\n\n\nthis\n\n\nis\n\nCitation/reference management\nA good idea is to keep an up-to-date text file containing all your bibliography that can be referenced in your manuscript. For example, you can ask your reference manager software to generate a *.bib file, which usually contains a specific tag for each citation. This tag will then be used in your file as something like [@TagPaper].\nThe citation style, on the other hand, is usually defined by a *.csl file (https://citationstyles.org/). These files can be found, for example, on the Zotero Style Repository, and all you need to do is download the file and keep in in the same directory as your manuscript.\nReproducibility task of the day\nCan you “transform” one of your manuscripts into a reproducible file? What are the steps you neet to take to get there?\nDo you already have all your manuscripts in a reproducible format? Congratulations! Your task will be to help a friend that is learning how to make one!\nSuggested reading\nMethods in Ecology and Evolution blog post with tips and tricks for reproducible code\nBES guide to reproducible code\nrOpenSci reproducibility guide\nYAML front matter, in the “papaja: Reproducible APA manuscripts with R Markdown”\nAn R Markdown Template for Academic Manuscripts\nAnsible YAML guide\nMarkdown syntax in “R Markdown: The Definitive Guide”\nThursday - preserve your tools\n\nSelf-care task of the day\nFriday - automate your workflows\nSelf-care task of the day\n\nSaturday - reproducible challange\n\nSelf-care task of the day\n\n\n\n\n", + "contents": "\n\nContents\nSunday - reflect about open science\nSuggested reading\n\nMonday - design a project\nGive cool names\nLicenses\nReproducibility task of the day\nSuggested readings\n\nTuesday - control your versions\nWhat is version control? Why is it cool to use?\nA little bit of Git vocabulary and architecture\nThe repository main timeline\nBranches from the master: branch\nCopying repositories from the ‘cloud’ to the computer (or, working offline):\nCopying online repositories\nGeneral workflow vocabulary\n\nWorking remotely\nWorking locally\nBasic Commands\nHow to track changes in my files?\nWorking with branches\n\nOh, my Git! D=\nReproducibility task of the day\nSuggested reading\n\nWednesday - make your code and manuscript reproducible\nReproducible code\nComment\nFunctions and packages\n\nReproducible manuscripts\nBasic Markdown syntax\nCitation/reference management\n\nReproducibility task of the day\nSuggested reading\n\nThursday - preserve your tools\nWhy do we need to preserve our tools?\nHow do we keep our work reproducible?\n{groundhog}\n{renv}\nDocker\n\nClosing thoughts\n\nFriday - automate your workflows\nSaturday - reproducible challange\n\nHave you ever felt lost in your own projects? Do you feel like your workflow is quite effective, but it’s not transparent enough? This detox routine can help you regain control over your (very messy - I know!) project structure and discover a marvelous world of collaboration and contribution in open science!\nReproducibility is a principle that resonates to the most used concept of science, assuring that a hypothesis is testable. It means that the process to test an idea - from data to results - can be repeated. It is different from replicability, which means the process can be repeated, but using different data.\nIn this detox week we will reflect and experiment with open science, using our skills for project design, version control, virtual environments and automation. We will reevaluate our current workflow and fine-tune where needed, to reach the most reproducible workflow possible for us.\nSunday - reflect about open science\n\nSelf-care task of the day\nGo to a calm place. No need of silence, just a place where you can just be still. Set a timer for 5min. Take a deep breath in, and a deep breath out. Give your body a scan-through: concentrate in each centimeter of it and try to be aware of how does your body feel there. Everytime you find a contracted muscle, try to relax it. Pay attention to the sounds around you. When the timer is off, take another deep breath.\n\n\nOn the first day of this detox journey, let’s reflect on our way to work and how it could be better. Take a moment of your day and think about:\nWhat is your current workflow when you develop a project? Take a pen and paper (physical or digital) and sketch your usual process, step-by-step. Add as much details as you can (and take this chance to get creative!). Make sure to save this sketch in a place that is easy to access, you’re gonna need it in the following days.\nHow do we build trust and facilitate collaboration in our projects?\nHow can be inclusive by design - what can we do in our projects to invite collaboration?\nIs reproducibility openness? If a project is reproducible, does that mean it is accessible?\nSuggested reading\nOur path to better science in less time using open data science tools\nMonday - design a project\n\nSelf-care task of the day\nGo to somewhere where you feel in peace or happy. Take paper and something to write - even better if it’s colorful! Set a timer for 30 minutes and doodle something that reflects how you are feeling, something that represents a happy thought you had today, or something that represents the place you are right now.\n\nIn this step we will squeeze our creativity out of our brains to come up with a project that is reproducible by design. Is there a hierarchy between your folders? Which folders do you need? Should you mix raw and clean data? Did this last question offend you?\nThere are a couple of tools you can use to automatically create a project structure for you, such as RProject and its combination with the R package minimaltemplate, or the PkgTemplate.jl for development of packages in Julia.\nThe main things you need to reflect on when designing your open project are:\nWill I use data? If yes, will I need to treat/clean/subset them?\nWill I use code?\nWill it be shared? If yes, how? Do I want people to cite me, for exemple?\nWill I need to generate manuscripts/reports/figures?\nWill it be useful for people to know how to navigate my project? Will I welcome collaborators and contributors?\nWhat is the naming system I will use - for both folders and files?\nSee an example of a structured project below (adapted from here):\n## /home/awesome-manuscript\n## ├── .github\n## ├── .gitignore\n## ├── .travis.yml\n## ├── DESCRIPTION\n## ├── LICENSE.md\n## ├── R\n## │ ├── analysis.Rmd\n## │ ├── local_functions.R\n## │ └── package_list.R\n## ├── README.md\n## ├── awesome-manuscript.Rproj\n## ├── data\n## │ ├── clean\n## │ ├── raw\n## │ └── temp\n## ├── main-script.Rmd\n## ├── manuscript\n## │ └── sources\n## │ ├── ecology-letters.csl\n## │ ├── library.bib\n## │ ├── packages.bib\n## │ └── template.docx\n## ├── output\n## │ ├── figures\n## │ ├── results\n## │ └── supp\n## └── todo.txt\nVery nice, but the TL;DR version is:\nConsider having a dedicated folder for your data and split them into clean and raw data (alternatively, you can store your cleaned data inside an “output” folder, where other sorts of outputs will also be). If needed, create another folder for “sandbox data” - we need to have room for creativity in science! Also make sure to store the metadata in these folders, alongside their respective data, where they belong.\nIf you will produce reports/manuscripts, maybe it’s a good idea to have a dedicated folder for them too. Store there everything you’ll need to render your files, such as bibliography and templates.\nFigures should go in their own folder too.\nCode usually go in their own folder too, but if the code is about making the project work and putting everything together, it should go in the root.\nGive cool names\nYour project is so awesome that it needs the coolest names in its folders and files! Good names are informative and consistent. It is a hard exercise, but we do get better with time. The main things to think about when naming your things are:\nDoes it describe what’s inside without being verbose?\nDoes it allow for correct ordering?\nIs it easily searchable (a.k.a., machine readable)? Will my computer crash if I need to change to this directory?\nLicenses\nAn important part of making your work reproducible by anyone is to share it, and to do that safely, it is important to connect your project to a license. This is a statement about what and how people can use any part of your project.\nChosing a license can be a difficult task at first, but if your projects have a common structure, they should be ok with the same license. When chosing a license, it is important to ask yourself (and your collaborators) the following questions:\nDo we want people to give us credit for our work when this projects is distributed, derived, performed or displayed?\nDo we want the derivatives of this project be shared with the same license that we chose?\nAre we ok with this project being used for commercial purposes?\nA combination of your answers will guide you to find the best license for your project which is adequate for your community. There are a couple of online tools that can help you with that! For example, if you are sharing creative work, you can consult the Creative Commons - Choose a License tool. For other open source software licenses, you can take a look at the Choose A License website. The cool thing is: you can also create your own license! In any case, once you chose the appropriate license for your project, save it in your project root folder with the name “LICENSE” (as a text file). This way, your version control host system will automatically recognize it and display something like “hey, this project has a license!” when someone finds your project.\nReproducibility task of the day\nTake a moment to evaluate your current project design. How would you make it better? If there is something missing (a license, cool names, a good structure), try to implement what you’ve learned: one simple thing is enough! Pick one project + one improvement and do it /\nYou can start even with pen and paper! Scketch what’s the flow of information inside your project right now. Is there any redundancies? Could a path between righly connected directories be shorter? Could the names of the folders be shorter if they were arranged some other way?\nNeed help? Ask a friend to do it with you!\nSuggested readings\nMozilla Open Leaders lesson on sharing your work in the open\nHow to License Research Data\nTuesday - control your versions\n\nSelf-care task of the day\nYouTube is full of people making their own version of their favorite songs. The self-care task of the day is to pick one song and look for versions of it on YouTube. Maybe start looking for you favorite song. What are the differences between the versions? Which one did you like the most? Have you discovered a cool artist because of this search? If you couldn’t find a cool version of your favorite song, take a moment to imagine how your own version would sound like.\n\nWhat is version control? Why is it cool to use?\n\nA version control system allows changes made to a file to be recorded in a timeline, and it is possible to retrieve previous versions at any time.\nThis is possible because with version control you don’t save copies of your work, but its history, avoiding things like this in your working directory:\n- project/\n |- scripts/\n |- script-v0.1.R\n |- script-after-review-from-Princess-Lea.R \n |- script-merged.R \n |- script-not-working-anymore.R \n |- script-wtf.R \nGit is a distributed version control system, which means the snapshots of your work are stored in your local drive, but also can be distributed from the cloud to other developers.\nA little bit of Git vocabulary and architecture\nThe basic architecture we have to deal with is composed of a branches (including one we’ll call “main”, but is sometimes called “master”), clones and forks.\nThe repository main timeline\nThe main is the primary timeline of your repository (a project with the files required to develop it). There the files will ideally only be changed when strictly necessary, i.e. when a change is critical to the progress of the project.\nBranches from the master: branch\nA branch is a ramification from any other timeline. It is like a copy repository within the main repository, which is created to test changes that may or may not be implemented in the main timeline. Ideally, each developer creates a branch to test the changes they deem necessary and submit these changes to their colleagues’ judgment before implementing them in the main.\nCopying repositories from the ‘cloud’ to the computer (or, working offline):\nRepositories can be created online and many things can be done there. However, in order to work locally on a repository, i.e. to work offline, we need to create a clone of the repository we have online. A clone is a synchronised copy of your online repository. Everything you do in your local working directory (corresponding to the clone) will be synchronized with the online repository.\nCopying online repositories\nIn turn, forks are complete, independent copies of a repository. We use a fork (not a clone) when we want to change the direction of the project, or when we want to contribute to someone else’s project independently and only then suggest changes to the original project. If you need to update your fork with the newest version of the project, you can do that by requesting a fetch to Git.\nGeneral workflow vocabulary\nWhen we change some file and save the new version, we do a commit . Commits should be accompanied by short but sufficiently descriptive comments, so that you can understand what the difference in that version is and locate it more easily. With commits you can track what change was made, where, by whom and when.\ncommitAfter changing a file and saving the new version, this version needs to be given a tag (an identification code), and then uploaded to the online repository. We call this a push. To update your local directory with the newest versions of files, you must tell Git to pull them.\nWhen working on a branch, you can request that the changes you have made be implemented in the main branch of your workflow (or any other branch). To do this you request a merge via a pull request . In a pull request, you ask a repository owner or contributor to accept the changes you made to a fork or branch into another branch. If they accept, you are listed as a contributor to the project.\nWorking remotely\nThe online portal of your Git server allows you to do most of the tasks described above in a very intuitive way. You can edit some files, upload others, request a merge, create and delete a branch, etc. Once you know the Git logic and architecture, it is easy to work online.\nFor a detailed walkthrough, take a look at this page.\nWorking locally\nHowever, the changes we need to make cannot always be done directly in the portal, or would be done more efficiently if we worked on our computer, with our preferred software. To work on your repository from your computer, you only need to install Git itself (https://git-scm.com/downloads). Some softwares allow you to visualize the timeline and operations being made, such as GitKraken (https://www.gitkraken.com/) and some extentions for VSCode and RStudio.\nOnce you’ve installed Git, the there are two possible ways to start:\nYou can create your online repository directly on your Git host server (such as GitHub, GitLab or Bitbucket);\nOr you can “transform” a local directory into a Git controlled project.\nIn the first case, to have a copy of your online repository on your computer, just clone your directory, either by downloading all the files in a .zip or by copying the ssh key or html address to use in a Git command.\n\nYou can also clone from GitKraken, by clicking on the little folder on the top left corner or on “File” on the menu.\nIn the second case, you must right-click on your workbook and open the Git Bash; alternatively, in GitKraken, you can click on “Init” in the same window shown above and indicate the directory of your workbook in “New repository path”.\nBasic Commands\nThe following commands will give us an idea of a workflow in Git.\nTo use Git, you need to configure it so that your account on your Git server is recognised by it. In Git Bash:\ngit config --global user.name \"username\"\ngit config --global user.email \"iamawesome@email.com\"\ngit config --list #Confirm your settings\nThere, now Git knows who you are.\nTo start a repository from your computer, you can tell Git to start or “watch” a folder.\nFirst, check what the working directory is and change it if necessary.\npwd # prints the working directory\ncd # takes you to the root\ncd .. # takes you to one level up directory\ncd \"your/directory\" # changes your working directory\nTo clone your repository, copy the url as shown in the picture above and ask Git to clone the repository into the directory you indicated.\ngit clone https://github.com/graciellehigino/bios2.github.io.git\nThe above command will create a folder with the same name as the repository in your working directory. If you want the folder created to have another name, include that after the repository address. This process works if you have an online repository and want it to exist on your computer. You can also do it the other way round. If you have not yet created a folder for your project, you can ask Git to create one for you:\nmkdir \"web-repo-github\"\nBut if you already have a folder and want Git to “watch over” it, start a local repository in the directory indicated:\ngit init\nYou can (maybe you need to) tell Git where your remote repository is:\ngit remote add origin https://github.com/graciellehigino/bios2.github.io.git\nOk, now your repository is ready to use.\nCheck if there are new files in your folder or modified files that haven’t been pushed yet:\ngit status\nHey, couldn’t you find an important file? Add it to the Git vision field now!\ngit add file # adds a file\n\ngit add -u # updates the file tracking\n\ngit add -A # all the above\nTo make additions interactively via the terminal, use:\ngit add -i\nFollow the instructions provided by the terminal and include as many files as you want before committing.\nNow that Git is keeping an eye on all your files, any changes you make (and want them to be recorded in this file’s timeline) will be detected. To make sure your changes are recorded, “commit” the changed file with a comment so you can remember what the difference is in that version.\ngit commit -m \"it's awesome now\"\nA commit only updates the local repository if you are working locally, or the remote repository if you are working remotely. To synchronize the two repositories, you must either push updates to the remote repository or pull updates to the local repository.\ngit push origin master\n#\"Git, please take the updated files to the remote repository 'origin', on the 'main' branch.\"\n\ngit pull\n#\"Git, please bring the updated files from the remote repository to my local repository\"\nHow to track changes in my files?\nCheck the changes in the content of the files (e.g. new lines added):\ngit diff\nCheck the files and their changes that are in the stage area:\ngit diff --staged\nIf you are lost between the different versions of your files, check the commit history! :)\ngit log # history of project commits since the beginning\ngit log -p # detailed historic of commits (i.e. git log + git diff)\nDepending on the size of the changes, the log may be very large and you will need to press “return” to each page to see all the changes. At the end you will see (END), then press the letter ‘q’ to finish reading.\nIf you only want to check the latest commits, limit the list with git log -p -1 (replace the 1 with the number of commits you wish to see). You can also check out the entire change history of the working directories with the Git viewer with gitk. Isn’t that cool!\nWorking with branches\nBranches are ramifications of other timelines. They are very useful when you need to test or work on large changes without changing what is on the main branch. It is very important to maintain branches in your collaborative work, because it reduces the chance of the main branch suffering accidental major changes and simplifies the management of file versions.\ngit show-branch -a # lists all branches\n\ngit branch name_of_branch # creates a new branch\n\ngit checkout name_of_branch # transfers the workspace to the new branch\n\ngit checkout -b name_of_branch # creates a branch and transfers the workspace\nWhen all the changes you have made to your branch are done and you think it is time to merge them into the main (or any other branch), move to the target branch and request a merge:\ngit merge new_branch # merges the changes from 'new_branch' to 'main'\nIf you no longer need the branch and want to delete it, use the git branch -d new_branch command.\nIt can often happen that your working branch is not up to date with the main. This can be a problem if the main has important updates for the development of your project on the branch. To bring the main updates to your branch, follow these steps:\n1. Check if your workspace is on the main branch. If not, transfer it:\ngit checkout master\nOn the main, update your local directory:\ngit pull\nAfter updating your local directory, move to your branch, merge the main updates into your branch and upload to the remote repository:\ngit checkout your-branch\ngit merge main your-branch\ngit push\nThat’s it! Now your branch contains everything that was new in the main. :)\nOh, my Git! D=\nDid you mess up commits? Want to revert a change? Don’t despair!\nIf you made a commit and regret it, but don’t even remember which commit it was (“Find out commits associated for a specific file”):\ngit log -p filename`\nIf you want to include new edits to the last commit, replacing it:\ngit commit --amend -m \"message\"\nIf you want to remove any file from the stage area after a git add .:\ngit reset HEAD new_file.R\nBut if you want to remove it from your working tree and the set of added files:\ngit rm new_file.R\nIf all that goes wrong, try the following (tips taken from here):\ngit revert --no-commit <commit hash> # Revert, but don't commit yet\ngit reset # Take everything from the stage area\ngit add yourFilesToRevert # Add files to revert\ngit commit -m \"commit message\"\ngit reset --hard # Undo changes not commited\nIf you want to remove all local changes and commits, retrieve the most recent history from the server and point to your local branch main like this:\ngit fetch origin\ngit reset --hard origin/master\nThat’s it! There’s a lot more in the git world, but I hope this guide can help you on your version control journey.\nRemember: keep the main as untouched as possible, work with branches to test your ideas, and always push your modifications before going to bed.\nReproducibility task of the day\nSet up the tracking system in your project! Create a remote repository and connect it with your local directory. If you already use a version control system, review your workflow both when working alone and in collaboration: what are the actions most likely to cause a problem? Can you make it simpler?\n\nhint: make a colorful and friendly sketch of your current workflow!\n\nSuggested reading\nThis lesson was translated from a git guide in Portuguese I wrote with Karlo Guidoni in a study group we promoted at Universidade Federal de Goiás, back in 2017, and we used time and again in our reproducibility trainings. You can take a look in our repository here.\nWednesday - make your code and manuscript reproducible\n\nSelf-care task of the day\nWhat is your favorite food? Do you have a story of a special meal prepared by a loved one? The self-care task of the day is to call someone you love and ask them to explain how to prepare a special meal: one that you really like or one of their favorites. If you’re feeling adventurous, try to reproduce it before the next task tomorrow!\n\nReproducible code\nToday is the day to make your future-self thank you! We will go through some tips and tricks to make your code more friendly, surviving the test of time and of your own memory.\nA reproducible code is an essential part of a reproducible project. Having a code to reproduce your analysis is already a great start, congrats for that! :crown:\nToday we’ll try to go a step forward and write a love letter for your future-self by adding comments on your code, rethinking about object names, investigate how we can compile chuncks of code inside functions and, finally, think about reproducible manuscripts.\n### Style\nThere are no right or wrong when it comes to style: there are best-practices and what works better for you or your project.\nFor example, Google has a series of style guides they use to standardize code writing in the company. There is a Google’s R Style Guide and a tydiverse style guide which can be a good inspiration to find your own. Here’s an idea: create a document whre you usually store code. List all conventions you use and have never thought about why you use them and reflect if they still make sense for you. If they do, keep them. If they don’t, try to improve them. Is there any other thing you never thought it was important, but it could be? Do you have a convention for function names, for example?\nObject names\nObject names are the major source of wasted time for me, especially when the code is already super long with numerous objects. What helps is to know they should be descriptive, yet concise. A good tip is to name objects as nouns and functions as verbs.\n\nWhat do you think is important when naming objects in the languages that you use? Take 5 mins to write a list!\n\nComment\nAnother good practice is to always comment your code. It will help you understand the decisions you’ve made throughout this process, that’s why a good tip is to write simple comments that state why you wrote that line of code. What do you think of buying a friend a coffee and ask them to review your code annotation? Maybe you can make some lines clearer while hanging out in a park!\nIn a larger scale, it is important to have other kinds of notes: session info (e.g., in R you can use the command sessionInfo()), package versions (e.g., using the checkpoint package), dependencies and connections between code scripts and data files. A good example of documentation is this README file written by our colleague Gabriel Dansereau: it contains clear instructions of how to use the code, how the respsitory is organized and even notes on possible warnings and what they mean.\nIt can be complicated to keep track of everything everyday, so here’s a tip: schedule a day in your month (or week) to update the documentation of your project! People call it “documentation day” out there, and you’ll find lots of blogposts about it online.\nFunctions and packages\nFunctions can help you keep your code cleaner and avoid errors when you repeat actions. They should replace redundancies in your code. In the same way, when you notice you have to repeat a certain routine in many of your projects, it might be worth writing a package - which is basically a set of functions. When you do that, don’t forget to include in your functions some commands that check for errors, like when you try to use a type of variable that is not compatible with the analysis that run inside the function.\n\nTake a few minutes to have a look at your code now. Can you see something that could be a function?\n\nReproducible manuscripts\nFrom reproducible code to reproducible manuscripts is one small leap! It means your manuscript is readable across platforms and systems, and can be compiled locally, and even be automatically updated if your data or analyses change!\nIt doesn’t mean that the interpretation of the results will be automatically updated aswell - which seems to be a concern for some people, that argue that reproducible manuscripts turn the science activity into a mechanic thing. On the contrary: it allows you to not worry about making figures over and over again, and concentrate in the philosophical part of your science!\nThere are three basic things we need to understand to produce a reproducible academic manuscript: the YAML, the markup language (such as Markdown) and the citation/references management.\nYAML (YAML Ain’t a Markup Language - metalingustics!) is a language that defines the metadata of your document and helps in the compiling process. It tells your computer if the output you need is a *.pdf or a *.doc file, for example. A YAML block will be the first thing you’ll add on your document, and the only tricky thing is to get the indentation right.\nFor example, the YAML of this very webpage looks like this:\n---\ntitle: \"(un)Reproducibility Detox\"\ndescription: |\n A seven-day detox routine to improve the reproducibility of your projects!\nauthor: Gracielle Higino\npreview: thumb.png\ncategories: \n - Technical\n - EN\ndate: 06-13-2021\noutput:\n distill::distill_article:\n self_contained: false\n toc: true\n---\nYou should add to your manuscript a bibliography argument with the path to your *.bib file and change the output according to your needs. If you use RStudio, these things are easier to change as it has built-in templates with pre-filled YAML header.\nAnother cool thing to add in your YAML header is a reference to a template. This will make your computer compile your manuscript in the same format as your template - which helps a lot when you submit the manuscript to a journal.\nA couple of packages can help you put together all these pieces. The rticles package imports LaTeX templates from scientific journals and implements a dialog box in RStudio. The rmdTemplates package has also slides, Word and PDF templates. It helps a lot starting with a template and fill in the blanks![=\nBasic Markdown syntax\nA very complete introduction to R Markdown is provided by RStudio here (also make sure to consult the R Markdown Cheat Sheet). This basic syntax is the same used in Markdown and other similar markup languages. For example:\n**this is bold** -> this is bold*this is italic* -> this is italic\n|this|is|a|table|\n|:---|:---:|---:||\n|a|table|this|is|\n\nthis\n\n\nis\n\n\na\n\n\ntable\n\n\na\n\n\ntable\n\n\nthis\n\n\nis\n\nCitation/reference management\nA good idea is to keep an up-to-date text file containing all your bibliography that can be referenced in your manuscript. For example, you can ask your reference manager software to generate a *.bib file, which usually contains a specific tag for each citation. This tag will then be used in your file as something like [@TagPaper].\nThe citation style, on the other hand, is usually defined by a *.csl file (https://citationstyles.org/). These files can be found, for example, on the Zotero Style Repository, and all you need to do is download the file and keep in in the same directory as your manuscript.\nReproducibility task of the day\nCan you “transform” one of your manuscripts into a reproducible file? What are the steps you neet to take to get there?\nDo you already have all your manuscripts in a reproducible format? Congratulations! Your task will be to help a friend that is learning how to make one!\nSuggested reading\nMethods in Ecology and Evolution blog post with tips and tricks for reproducible code\nBES guide to reproducible code\nrOpenSci reproducibility guide\nYAML front matter, in the “papaja: Reproducible APA manuscripts with R Markdown”\nAn R Markdown Template for Academic Manuscripts\nAnsible YAML guide\nMarkdown syntax in “R Markdown: The Definitive Guide”\nThursday - preserve your tools\n\nSelf-care task of the day\nIt’s time to update all those packages (and maybe even language version) - you deserve to be able to play with the newest toys on the block. While all this is happening in the background put your feet up and hit play on the TV or podcast series you’ve been meaning to catch up on.\n\nWhy do we need to preserve our tools?\nSo you’ve commented, documented, and shared your code meaning that it’s ready to be used by the rest of the world, right? Well maybe for now but you know what they say about time - all hours wound; the last one kills. Okay so it might not be that dramatic but there is of course the problem that as time progresses our code becomes out-dated and (worst case scenario) non-functional. Programming languages (and packages) are continually evolving as developers work at squashing bugs and making performance upgrades. Sometimes these upgrades might result in a fundamental change in how the a language or package functions e.g. a function name might change or some functionality will be removed in favour of another. This means that in a few years that beautifully documented chunk of code that we’ve written today might not even run.\nOh dear…\n\n\n\nWhat this boils down to is that we need to not only think about documenting the code itself but also all the ‘backend’ features that make it tick i.e. not only what packages we’re using but also what version. This can also extend to language and operating system (OS) type or version used.\nAlthough this may seem daunting it’s important to remember that the journey to\nreproducibility is much like how one approaches eating an elephant - we take\nit one bite at a time. So don’t be afraid to take a little nibble before biting off more than you can chew.\nHow do we keep our work reproducible?\nThe good news is that there is a lot of functionality out there to help us on our reproducibility journey. Different languages have different ways we can document and ‘keep’ the package version that we are using. The main focus will be using R as it is the current lingua franca of most ecologists and it also straddles the middle ground between being very ‘picky’ like python and literally having a built in system like Julia.\nThe big (language agnostic) take home message here though is that it’s important to (at minimum) keep record of the versions of things you used if you want your work to work a few months/years down the line. By keeping a record of the package, software and OS versions used we give other users (and our future selves) a chance to recreate the environment that allowed our project/code to run should things change or be updated.\nThe three main approaches and packages I will discuss are {groundhog}, {renv} and, docker. There are of course other ways to document package versions but these are (somewhat user friendly) and will give you different ‘levels’ of reproducibility. It is of course also possible to mix and match these different platforms.\n{groundhog}\n{groundhog} is a relatively new kid on the block -and apparently refers to a film of the same name (no comment on my side as this is a facet of pop culture the eludes me). This is a super easy package to implement (think one function easy) and is a really nice way to ‘retrofit’ some of your older code.\nHow it works: Essentially {groundhog} will install the version of a package that was available on CRAN for a specified date. This is done by ‘replacing’ the library(\"package\") with groundhog.library(\"package\", date). This means its easy to go back and set a more suitable date for your script e.g. maybe the date it was created or last time it was saved.\n\n\n# a mini example\ninstall.packages(\"groundhog\")\nlibrary(\"groundhog\")\ngroundhog.library(\"tidyverse\", \"2018-07-07\")\n\n# you can also call multiple packages\npkgs <- c(\"tidyverse\",\"ggforce\")\ngroundhog.library(pkgs, \"2018-07-07\")\n\n# working with an 'active' script\nlibrary(groundhog)\ngroundhog.day = \"2021-07-07\"\ngroundhog.library(pkgs, groundhog.day)\n\n\nLimitations: Although {groundhog} will call the correct/desired packages version there is of course the potential problem that that package version is no longer compatible with the version of R that you’re running on your machine — this means you might have to have multiple version of R on you machine and have to switch between them depending on what project you’re using. Another issue could arise when retrofitting your workflow. Although you might have a starting date/groundhog day you might not have been using the most up-to-date version available at that date - so you would be retrieving the wrong version.\nPros: To end on a positive note though - {groundhog} is at least a solid starting point for documenting package version and its very easy to implement, especially if you are retrofitting your code.\n{renv}\nAs highlighted above one of the potential issues with {groundhog} is that you might run into language version incompatibility - and by extension still have non-working code (bleak). Enter {renv}, a handy-dandy, easy to use, dependency management package for your projects. {renv} records both R and package versions through a series of user called functions. This is very similar to Julia where all packages are ‘stored’ in Project.toml. {renv} works by crawling through your project directory and recording package version and dependencies in use. This is then saved in the renv.lock file and is used to ‘load’ the project state further down the line.\nHow it works: The bare bones overview is that you 1) initialise the project-local environment using renv::init(), 2) continue tinkering as you go, 3) call renv::snapshot() to update renv.lock with any new additions, and 4) if things broke along the way you can call renv::restore() to revert back to the previous project state you had saved in your lock file (which hopefully did run).\nLimitations: One limitation is that {renv} relies on you saving a currently working/functioning state (if you want recall it and have it to work in the future). This makes it a bit tricky to try and quickly ‘fix’ old code - something that {groundhog} is probably more suited for, whereas {renv} is a solid choice when starting a new project form scratch.\nPros: {renv} saves both package and R versions - which is great as it ‘doubles down’ on having things work in harmony. It is also very easy to use - once again you can get away by using a few lines of code.\nDocker\nDocker, a term that can strike trepidation in even some of the most hardened of researchers (although they have the cutest whale as a logo and that 100% drops the scary factor if you as me). Briefly Docker is a program that allows you to host different mini computers on your computer. This of course means its not just an R-specific tool but one that could probably cover a lot of reproducibility bases for most languages. But there is a reason this is last on the list and that is because it takes a bit more work to implement. So think of this as a long-term project/goal to set yourself up for.\nHow it works: As I said earlier with Docker you can run multiple mini computers (containers) built from an ‘image’ of your machine (the host). The catch though - you need to build the image from scratch from OS all the way through to you specific script/code chunk. These build instructions are contained in a Dockerfile - which you save in your working directory. Inside this file is the ‘recipe’ for building your image (and spoiler alert it looks a lot like a series of command line calls). Colin Fay wrote this really nice blog about using docker and R for beginners. If your interested I suggest starting there! Alternatively {renv} also plays well with Docker - have a look at this vignette\nLimitations: In the context of what has been discussed in this post Docker is hard yo! In order to write a Docker file you will benefit a lot from being comfortable using and thinking of things in terms of command line. Since you are ‘creating’ you mini computer you need to install a lot of moving parts and components. This means you might be moving from your comfort zone when it comes to programming and could put you off trying the whole reproducibility thing all together. So set realistic expectations here and don’t be too hard on yourself!\nPros: Docker is very flexible! You can build your mini computer to your specifications and keep your ‘normal computer’ intact. For example if I am running MacOS, R 3.5 on my normal computer but can build an image that runs Linux and R 3.1. Also because the recipe is contained in the Dockerfile anyone can build the image for that project on their machine and have it all ‘just’ work (avoiding the whole ‘but it works on my machine’ scenario).\nClosing thoughts\nIf you want to keep your project pipeline working in the long-term it is important to account for the fact that languages are evolving - which means the scaffold on which your code rests also needs to be documented in some way. That being said asking yourself as to how paramount the longevity of your project is a good way to identify and allocate resources to documenting and accommodating for this. For smaller projects you could probably get away with a simple documentation process e.g. Julia’s Project.toml system or {renv} for R. But if the longevity of the project is of high importance it’s probably recommended to give something like Docker a try.\nNow lets get out there and give package management a go!\n\nPick and choose the task(s) that you want to take on (or remix one of them)\n1. Open one of the older projects on you computer. Does the code run? If no see if you can retrofit it using {groundhog}\n2. Open the (or one of many) project you are currently working on and run renv::init() and see what happens\n3. Install Docker and work through Colin Fay’s tutorial\n\n\n\n\nFriday - automate your workflows\n\nSelf-care task of the day\n\nSaturday - reproducible challange\n\nSelf-care task of the day\n\n\n\n\n", "preview": {}, - "last_modified": "2021-06-30T18:01:05-04:00", - "input_file": "unreproducibility-detox.utf8.md" + "last_modified": "2022-10-24T14:40:50+02:00", + "input_file": "unreproducibility-detox.knit.md" }, { "path": "posts/2021-03-25-point-count-data-analysis/", diff --git a/docs/site_libs/header-attrs-2.11/header-attrs.js b/docs/site_libs/header-attrs-2.11/header-attrs.js new file mode 100644 index 0000000..dd57d92 --- /dev/null +++ b/docs/site_libs/header-attrs-2.11/header-attrs.js @@ -0,0 +1,12 @@ +// Pandoc 2.9 adds attributes on both header and div. We remove the former (to +// be compatible with the behavior of Pandoc < 2.8). +document.addEventListener('DOMContentLoaded', function(e) { + var hs = document.querySelectorAll("div.section[class*='level'] > :first-child"); + var i, h, a; + for (i = 0; i < hs.length; i++) { + h = hs[i]; + if (!/^h[1-6]$/i.test(h.tagName)) continue; // it should be a header h1-h6 + a = h.attributes; + while (a.length > 0) h.removeAttribute(a[0].name); + } +}); diff --git a/docs/site_libs/jquery-3.6.0/jquery-3.6.0.js b/docs/site_libs/jquery-3.6.0/jquery-3.6.0.js new file mode 100644 index 0000000..fc6c299 --- /dev/null +++ b/docs/site_libs/jquery-3.6.0/jquery-3.6.0.js @@ -0,0 +1,10881 @@ +/*! + * jQuery JavaScript Library v3.6.0 + * https://jquery.com/ + * + * Includes Sizzle.js + * https://sizzlejs.com/ + * + * Copyright OpenJS Foundation and other contributors + * Released under the MIT license + * https://jquery.org/license + * + * Date: 2021-03-02T17:08Z + */ +( function( global, factory ) { + + "use strict"; + + if ( typeof module === "object" && typeof module.exports === "object" ) { + + // For CommonJS and CommonJS-like environments where a proper `window` + // is present, execute the factory and get jQuery. + // For environments that do not have a `window` with a `document` + // (such as Node.js), expose a factory as module.exports. + // This accentuates the need for the creation of a real `window`. + // e.g. var jQuery = require("jquery")(window); + // See ticket #14549 for more info. + module.exports = global.document ? + factory( global, true ) : + function( w ) { + if ( !w.document ) { + throw new Error( "jQuery requires a window with a document" ); + } + return factory( w ); + }; + } else { + factory( global ); + } + +// Pass this if window is not defined yet +} )( typeof window !== "undefined" ? window : this, function( window, noGlobal ) { + +// Edge <= 12 - 13+, Firefox <=18 - 45+, IE 10 - 11, Safari 5.1 - 9+, iOS 6 - 9.1 +// throw exceptions when non-strict code (e.g., ASP.NET 4.5) accesses strict mode +// arguments.callee.caller (trac-13335). But as of jQuery 3.0 (2016), strict mode should be common +// enough that all such attempts are guarded in a try block. +"use strict"; + +var arr = []; + +var getProto = Object.getPrototypeOf; + +var slice = arr.slice; + +var flat = arr.flat ? function( array ) { + return arr.flat.call( array ); +} : function( array ) { + return arr.concat.apply( [], array ); +}; + + +var push = arr.push; + +var indexOf = arr.indexOf; + +var class2type = {}; + +var toString = class2type.toString; + +var hasOwn = class2type.hasOwnProperty; + +var fnToString = hasOwn.toString; + +var ObjectFunctionString = fnToString.call( Object ); + +var support = {}; + +var isFunction = function isFunction( obj ) { + + // Support: Chrome <=57, Firefox <=52 + // In some browsers, typeof returns "function" for HTML <object> elements + // (i.e., `typeof document.createElement( "object" ) === "function"`). + // We don't want to classify *any* DOM node as a function. + // Support: QtWeb <=3.8.5, WebKit <=534.34, wkhtmltopdf tool <=0.12.5 + // Plus for old WebKit, typeof returns "function" for HTML collections + // (e.g., `typeof document.getElementsByTagName("div") === "function"`). (gh-4756) + return typeof obj === "function" && typeof obj.nodeType !== "number" && + typeof obj.item !== "function"; + }; + + +var isWindow = function isWindow( obj ) { + return obj != null && obj === obj.window; + }; + + +var document = window.document; + + + + var preservedScriptAttributes = { + type: true, + src: true, + nonce: true, + noModule: true + }; + + function DOMEval( code, node, doc ) { + doc = doc || document; + + var i, val, + script = doc.createElement( "script" ); + + script.text = code; + if ( node ) { + for ( i in preservedScriptAttributes ) { + + // Support: Firefox 64+, Edge 18+ + // Some browsers don't support the "nonce" property on scripts. + // On the other hand, just using `getAttribute` is not enough as + // the `nonce` attribute is reset to an empty string whenever it + // becomes browsing-context connected. + // See https://github.com/whatwg/html/issues/2369 + // See https://html.spec.whatwg.org/#nonce-attributes + // The `node.getAttribute` check was added for the sake of + // `jQuery.globalEval` so that it can fake a nonce-containing node + // via an object. + val = node[ i ] || node.getAttribute && node.getAttribute( i ); + if ( val ) { + script.setAttribute( i, val ); + } + } + } + doc.head.appendChild( script ).parentNode.removeChild( script ); + } + + +function toType( obj ) { + if ( obj == null ) { + return obj + ""; + } + + // Support: Android <=2.3 only (functionish RegExp) + return typeof obj === "object" || typeof obj === "function" ? + class2type[ toString.call( obj ) ] || "object" : + typeof obj; +} +/* global Symbol */ +// Defining this global in .eslintrc.json would create a danger of using the global +// unguarded in another place, it seems safer to define global only for this module + + + +var + version = "3.6.0", + + // Define a local copy of jQuery + jQuery = function( selector, context ) { + + // The jQuery object is actually just the init constructor 'enhanced' + // Need init if jQuery is called (just allow error to be thrown if not included) + return new jQuery.fn.init( selector, context ); + }; + +jQuery.fn = jQuery.prototype = { + + // The current version of jQuery being used + jquery: version, + + constructor: jQuery, + + // The default length of a jQuery object is 0 + length: 0, + + toArray: function() { + return slice.call( this ); + }, + + // Get the Nth element in the matched element set OR + // Get the whole matched element set as a clean array + get: function( num ) { + + // Return all the elements in a clean array + if ( num == null ) { + return slice.call( this ); + } + + // Return just the one element from the set + return num < 0 ? this[ num + this.length ] : this[ num ]; + }, + + // Take an array of elements and push it onto the stack + // (returning the new matched element set) + pushStack: function( elems ) { + + // Build a new jQuery matched element set + var ret = jQuery.merge( this.constructor(), elems ); + + // Add the old object onto the stack (as a reference) + ret.prevObject = this; + + // Return the newly-formed element set + return ret; + }, + + // Execute a callback for every element in the matched set. + each: function( callback ) { + return jQuery.each( this, callback ); + }, + + map: function( callback ) { + return this.pushStack( jQuery.map( this, function( elem, i ) { + return callback.call( elem, i, elem ); + } ) ); + }, + + slice: function() { + return this.pushStack( slice.apply( this, arguments ) ); + }, + + first: function() { + return this.eq( 0 ); + }, + + last: function() { + return this.eq( -1 ); + }, + + even: function() { + return this.pushStack( jQuery.grep( this, function( _elem, i ) { + return ( i + 1 ) % 2; + } ) ); + }, + + odd: function() { + return this.pushStack( jQuery.grep( this, function( _elem, i ) { + return i % 2; + } ) ); + }, + + eq: function( i ) { + var len = this.length, + j = +i + ( i < 0 ? len : 0 ); + return this.pushStack( j >= 0 && j < len ? [ this[ j ] ] : [] ); + }, + + end: function() { + return this.prevObject || this.constructor(); + }, + + // For internal use only. + // Behaves like an Array's method, not like a jQuery method. + push: push, + sort: arr.sort, + splice: arr.splice +}; + +jQuery.extend = jQuery.fn.extend = function() { + var options, name, src, copy, copyIsArray, clone, + target = arguments[ 0 ] || {}, + i = 1, + length = arguments.length, + deep = false; + + // Handle a deep copy situation + if ( typeof target === "boolean" ) { + deep = target; + + // Skip the boolean and the target + target = arguments[ i ] || {}; + i++; + } + + // Handle case when target is a string or something (possible in deep copy) + if ( typeof target !== "object" && !isFunction( target ) ) { + target = {}; + } + + // Extend jQuery itself if only one argument is passed + if ( i === length ) { + target = this; + i--; + } + + for ( ; i < length; i++ ) { + + // Only deal with non-null/undefined values + if ( ( options = arguments[ i ] ) != null ) { + + // Extend the base object + for ( name in options ) { + copy = options[ name ]; + + // Prevent Object.prototype pollution + // Prevent never-ending loop + if ( name === "__proto__" || target === copy ) { + continue; + } + + // Recurse if we're merging plain objects or arrays + if ( deep && copy && ( jQuery.isPlainObject( copy ) || + ( copyIsArray = Array.isArray( copy ) ) ) ) { + src = target[ name ]; + + // Ensure proper type for the source value + if ( copyIsArray && !Array.isArray( src ) ) { + clone = []; + } else if ( !copyIsArray && !jQuery.isPlainObject( src ) ) { + clone = {}; + } else { + clone = src; + } + copyIsArray = false; + + // Never move original objects, clone them + target[ name ] = jQuery.extend( deep, clone, copy ); + + // Don't bring in undefined values + } else if ( copy !== undefined ) { + target[ name ] = copy; + } + } + } + } + + // Return the modified object + return target; +}; + +jQuery.extend( { + + // Unique for each copy of jQuery on the page + expando: "jQuery" + ( version + Math.random() ).replace( /\D/g, "" ), + + // Assume jQuery is ready without the ready module + isReady: true, + + error: function( msg ) { + throw new Error( msg ); + }, + + noop: function() {}, + + isPlainObject: function( obj ) { + var proto, Ctor; + + // Detect obvious negatives + // Use toString instead of jQuery.type to catch host objects + if ( !obj || toString.call( obj ) !== "[object Object]" ) { + return false; + } + + proto = getProto( obj ); + + // Objects with no prototype (e.g., `Object.create( null )`) are plain + if ( !proto ) { + return true; + } + + // Objects with prototype are plain iff they were constructed by a global Object function + Ctor = hasOwn.call( proto, "constructor" ) && proto.constructor; + return typeof Ctor === "function" && fnToString.call( Ctor ) === ObjectFunctionString; + }, + + isEmptyObject: function( obj ) { + var name; + + for ( name in obj ) { + return false; + } + return true; + }, + + // Evaluates a script in a provided context; falls back to the global one + // if not specified. + globalEval: function( code, options, doc ) { + DOMEval( code, { nonce: options && options.nonce }, doc ); + }, + + each: function( obj, callback ) { + var length, i = 0; + + if ( isArrayLike( obj ) ) { + length = obj.length; + for ( ; i < length; i++ ) { + if ( callback.call( obj[ i ], i, obj[ i ] ) === false ) { + break; + } + } + } else { + for ( i in obj ) { + if ( callback.call( obj[ i ], i, obj[ i ] ) === false ) { + break; + } + } + } + + return obj; + }, + + // results is for internal usage only + makeArray: function( arr, results ) { + var ret = results || []; + + if ( arr != null ) { + if ( isArrayLike( Object( arr ) ) ) { + jQuery.merge( ret, + typeof arr === "string" ? + [ arr ] : arr + ); + } else { + push.call( ret, arr ); + } + } + + return ret; + }, + + inArray: function( elem, arr, i ) { + return arr == null ? -1 : indexOf.call( arr, elem, i ); + }, + + // Support: Android <=4.0 only, PhantomJS 1 only + // push.apply(_, arraylike) throws on ancient WebKit + merge: function( first, second ) { + var len = +second.length, + j = 0, + i = first.length; + + for ( ; j < len; j++ ) { + first[ i++ ] = second[ j ]; + } + + first.length = i; + + return first; + }, + + grep: function( elems, callback, invert ) { + var callbackInverse, + matches = [], + i = 0, + length = elems.length, + callbackExpect = !invert; + + // Go through the array, only saving the items + // that pass the validator function + for ( ; i < length; i++ ) { + callbackInverse = !callback( elems[ i ], i ); + if ( callbackInverse !== callbackExpect ) { + matches.push( elems[ i ] ); + } + } + + return matches; + }, + + // arg is for internal usage only + map: function( elems, callback, arg ) { + var length, value, + i = 0, + ret = []; + + // Go through the array, translating each of the items to their new values + if ( isArrayLike( elems ) ) { + length = elems.length; + for ( ; i < length; i++ ) { + value = callback( elems[ i ], i, arg ); + + if ( value != null ) { + ret.push( value ); + } + } + + // Go through every key on the object, + } else { + for ( i in elems ) { + value = callback( elems[ i ], i, arg ); + + if ( value != null ) { + ret.push( value ); + } + } + } + + // Flatten any nested arrays + return flat( ret ); + }, + + // A global GUID counter for objects + guid: 1, + + // jQuery.support is not used in Core but other projects attach their + // properties to it so it needs to exist. + support: support +} ); + +if ( typeof Symbol === "function" ) { + jQuery.fn[ Symbol.iterator ] = arr[ Symbol.iterator ]; +} + +// Populate the class2type map +jQuery.each( "Boolean Number String Function Array Date RegExp Object Error Symbol".split( " " ), + function( _i, name ) { + class2type[ "[object " + name + "]" ] = name.toLowerCase(); + } ); + +function isArrayLike( obj ) { + + // Support: real iOS 8.2 only (not reproducible in simulator) + // `in` check used to prevent JIT error (gh-2145) + // hasOwn isn't used here due to false negatives + // regarding Nodelist length in IE + var length = !!obj && "length" in obj && obj.length, + type = toType( obj ); + + if ( isFunction( obj ) || isWindow( obj ) ) { + return false; + } + + return type === "array" || length === 0 || + typeof length === "number" && length > 0 && ( length - 1 ) in obj; +} +var Sizzle = +/*! + * Sizzle CSS Selector Engine v2.3.6 + * https://sizzlejs.com/ + * + * Copyright JS Foundation and other contributors + * Released under the MIT license + * https://js.foundation/ + * + * Date: 2021-02-16 + */ +( function( window ) { +var i, + support, + Expr, + getText, + isXML, + tokenize, + compile, + select, + outermostContext, + sortInput, + hasDuplicate, + + // Local document vars + setDocument, + document, + docElem, + documentIsHTML, + rbuggyQSA, + rbuggyMatches, + matches, + contains, + + // Instance-specific data + expando = "sizzle" + 1 * new Date(), + preferredDoc = window.document, + dirruns = 0, + done = 0, + classCache = createCache(), + tokenCache = createCache(), + compilerCache = createCache(), + nonnativeSelectorCache = createCache(), + sortOrder = function( a, b ) { + if ( a === b ) { + hasDuplicate = true; + } + return 0; + }, + + // Instance methods + hasOwn = ( {} ).hasOwnProperty, + arr = [], + pop = arr.pop, + pushNative = arr.push, + push = arr.push, + slice = arr.slice, + + // Use a stripped-down indexOf as it's faster than native + // https://jsperf.com/thor-indexof-vs-for/5 + indexOf = function( list, elem ) { + var i = 0, + len = list.length; + for ( ; i < len; i++ ) { + if ( list[ i ] === elem ) { + return i; + } + } + return -1; + }, + + booleans = "checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|" + + "ismap|loop|multiple|open|readonly|required|scoped", + + // Regular expressions + + // http://www.w3.org/TR/css3-selectors/#whitespace + whitespace = "[\\x20\\t\\r\\n\\f]", + + // https://www.w3.org/TR/css-syntax-3/#ident-token-diagram + identifier = "(?:\\\\[\\da-fA-F]{1,6}" + whitespace + + "?|\\\\[^\\r\\n\\f]|[\\w-]|[^\0-\\x7f])+", + + // Attribute selectors: http://www.w3.org/TR/selectors/#attribute-selectors + attributes = "\\[" + whitespace + "*(" + identifier + ")(?:" + whitespace + + + // Operator (capture 2) + "*([*^$|!~]?=)" + whitespace + + + // "Attribute values must be CSS identifiers [capture 5] + // or strings [capture 3 or capture 4]" + "*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|(" + identifier + "))|)" + + whitespace + "*\\]", + + pseudos = ":(" + identifier + ")(?:\\((" + + + // To reduce the number of selectors needing tokenize in the preFilter, prefer arguments: + // 1. quoted (capture 3; capture 4 or capture 5) + "('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|" + + + // 2. simple (capture 6) + "((?:\\\\.|[^\\\\()[\\]]|" + attributes + ")*)|" + + + // 3. anything else (capture 2) + ".*" + + ")\\)|)", + + // Leading and non-escaped trailing whitespace, capturing some non-whitespace characters preceding the latter + rwhitespace = new RegExp( whitespace + "+", "g" ), + rtrim = new RegExp( "^" + whitespace + "+|((?:^|[^\\\\])(?:\\\\.)*)" + + whitespace + "+$", "g" ), + + rcomma = new RegExp( "^" + whitespace + "*," + whitespace + "*" ), + rcombinators = new RegExp( "^" + whitespace + "*([>+~]|" + whitespace + ")" + whitespace + + "*" ), + rdescend = new RegExp( whitespace + "|>" ), + + rpseudo = new RegExp( pseudos ), + ridentifier = new RegExp( "^" + identifier + "$" ), + + matchExpr = { + "ID": new RegExp( "^#(" + identifier + ")" ), + "CLASS": new RegExp( "^\\.(" + identifier + ")" ), + "TAG": new RegExp( "^(" + identifier + "|[*])" ), + "ATTR": new RegExp( "^" + attributes ), + "PSEUDO": new RegExp( "^" + pseudos ), + "CHILD": new RegExp( "^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\(" + + whitespace + "*(even|odd|(([+-]|)(\\d*)n|)" + whitespace + "*(?:([+-]|)" + + whitespace + "*(\\d+)|))" + whitespace + "*\\)|)", "i" ), + "bool": new RegExp( "^(?:" + booleans + ")$", "i" ), + + // For use in libraries implementing .is() + // We use this for POS matching in `select` + "needsContext": new RegExp( "^" + whitespace + + "*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\(" + whitespace + + "*((?:-\\d)?\\d*)" + whitespace + "*\\)|)(?=[^-]|$)", "i" ) + }, + + rhtml = /HTML$/i, + rinputs = /^(?:input|select|textarea|button)$/i, + rheader = /^h\d$/i, + + rnative = /^[^{]+\{\s*\[native \w/, + + // Easily-parseable/retrievable ID or TAG or CLASS selectors + rquickExpr = /^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/, + + rsibling = /[+~]/, + + // CSS escapes + // http://www.w3.org/TR/CSS21/syndata.html#escaped-characters + runescape = new RegExp( "\\\\[\\da-fA-F]{1,6}" + whitespace + "?|\\\\([^\\r\\n\\f])", "g" ), + funescape = function( escape, nonHex ) { + var high = "0x" + escape.slice( 1 ) - 0x10000; + + return nonHex ? + + // Strip the backslash prefix from a non-hex escape sequence + nonHex : + + // Replace a hexadecimal escape sequence with the encoded Unicode code point + // Support: IE <=11+ + // For values outside the Basic Multilingual Plane (BMP), manually construct a + // surrogate pair + high < 0 ? + String.fromCharCode( high + 0x10000 ) : + String.fromCharCode( high >> 10 | 0xD800, high & 0x3FF | 0xDC00 ); + }, + + // CSS string/identifier serialization + // https://drafts.csswg.org/cssom/#common-serializing-idioms + rcssescape = /([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g, + fcssescape = function( ch, asCodePoint ) { + if ( asCodePoint ) { + + // U+0000 NULL becomes U+FFFD REPLACEMENT CHARACTER + if ( ch === "\0" ) { + return "\uFFFD"; + } + + // Control characters and (dependent upon position) numbers get escaped as code points + return ch.slice( 0, -1 ) + "\\" + + ch.charCodeAt( ch.length - 1 ).toString( 16 ) + " "; + } + + // Other potentially-special ASCII characters get backslash-escaped + return "\\" + ch; + }, + + // Used for iframes + // See setDocument() + // Removing the function wrapper causes a "Permission Denied" + // error in IE + unloadHandler = function() { + setDocument(); + }, + + inDisabledFieldset = addCombinator( + function( elem ) { + return elem.disabled === true && elem.nodeName.toLowerCase() === "fieldset"; + }, + { dir: "parentNode", next: "legend" } + ); + +// Optimize for push.apply( _, NodeList ) +try { + push.apply( + ( arr = slice.call( preferredDoc.childNodes ) ), + preferredDoc.childNodes + ); + + // Support: Android<4.0 + // Detect silently failing push.apply + // eslint-disable-next-line no-unused-expressions + arr[ preferredDoc.childNodes.length ].nodeType; +} catch ( e ) { + push = { apply: arr.length ? + + // Leverage slice if possible + function( target, els ) { + pushNative.apply( target, slice.call( els ) ); + } : + + // Support: IE<9 + // Otherwise append directly + function( target, els ) { + var j = target.length, + i = 0; + + // Can't trust NodeList.length + while ( ( target[ j++ ] = els[ i++ ] ) ) {} + target.length = j - 1; + } + }; +} + +function Sizzle( selector, context, results, seed ) { + var m, i, elem, nid, match, groups, newSelector, + newContext = context && context.ownerDocument, + + // nodeType defaults to 9, since context defaults to document + nodeType = context ? context.nodeType : 9; + + results = results || []; + + // Return early from calls with invalid selector or context + if ( typeof selector !== "string" || !selector || + nodeType !== 1 && nodeType !== 9 && nodeType !== 11 ) { + + return results; + } + + // Try to shortcut find operations (as opposed to filters) in HTML documents + if ( !seed ) { + setDocument( context ); + context = context || document; + + if ( documentIsHTML ) { + + // If the selector is sufficiently simple, try using a "get*By*" DOM method + // (excepting DocumentFragment context, where the methods don't exist) + if ( nodeType !== 11 && ( match = rquickExpr.exec( selector ) ) ) { + + // ID selector + if ( ( m = match[ 1 ] ) ) { + + // Document context + if ( nodeType === 9 ) { + if ( ( elem = context.getElementById( m ) ) ) { + + // Support: IE, Opera, Webkit + // TODO: identify versions + // getElementById can match elements by name instead of ID + if ( elem.id === m ) { + results.push( elem ); + return results; + } + } else { + return results; + } + + // Element context + } else { + + // Support: IE, Opera, Webkit + // TODO: identify versions + // getElementById can match elements by name instead of ID + if ( newContext && ( elem = newContext.getElementById( m ) ) && + contains( context, elem ) && + elem.id === m ) { + + results.push( elem ); + return results; + } + } + + // Type selector + } else if ( match[ 2 ] ) { + push.apply( results, context.getElementsByTagName( selector ) ); + return results; + + // Class selector + } else if ( ( m = match[ 3 ] ) && support.getElementsByClassName && + context.getElementsByClassName ) { + + push.apply( results, context.getElementsByClassName( m ) ); + return results; + } + } + + // Take advantage of querySelectorAll + if ( support.qsa && + !nonnativeSelectorCache[ selector + " " ] && + ( !rbuggyQSA || !rbuggyQSA.test( selector ) ) && + + // Support: IE 8 only + // Exclude object elements + ( nodeType !== 1 || context.nodeName.toLowerCase() !== "object" ) ) { + + newSelector = selector; + newContext = context; + + // qSA considers elements outside a scoping root when evaluating child or + // descendant combinators, which is not what we want. + // In such cases, we work around the behavior by prefixing every selector in the + // list with an ID selector referencing the scope context. + // The technique has to be used as well when a leading combinator is used + // as such selectors are not recognized by querySelectorAll. + // Thanks to Andrew Dupont for this technique. + if ( nodeType === 1 && + ( rdescend.test( selector ) || rcombinators.test( selector ) ) ) { + + // Expand context for sibling selectors + newContext = rsibling.test( selector ) && testContext( context.parentNode ) || + context; + + // We can use :scope instead of the ID hack if the browser + // supports it & if we're not changing the context. + if ( newContext !== context || !support.scope ) { + + // Capture the context ID, setting it first if necessary + if ( ( nid = context.getAttribute( "id" ) ) ) { + nid = nid.replace( rcssescape, fcssescape ); + } else { + context.setAttribute( "id", ( nid = expando ) ); + } + } + + // Prefix every selector in the list + groups = tokenize( selector ); + i = groups.length; + while ( i-- ) { + groups[ i ] = ( nid ? "#" + nid : ":scope" ) + " " + + toSelector( groups[ i ] ); + } + newSelector = groups.join( "," ); + } + + try { + push.apply( results, + newContext.querySelectorAll( newSelector ) + ); + return results; + } catch ( qsaError ) { + nonnativeSelectorCache( selector, true ); + } finally { + if ( nid === expando ) { + context.removeAttribute( "id" ); + } + } + } + } + } + + // All others + return select( selector.replace( rtrim, "$1" ), context, results, seed ); +} + +/** + * Create key-value caches of limited size + * @returns {function(string, object)} Returns the Object data after storing it on itself with + * property name the (space-suffixed) string and (if the cache is larger than Expr.cacheLength) + * deleting the oldest entry + */ +function createCache() { + var keys = []; + + function cache( key, value ) { + + // Use (key + " ") to avoid collision with native prototype properties (see Issue #157) + if ( keys.push( key + " " ) > Expr.cacheLength ) { + + // Only keep the most recent entries + delete cache[ keys.shift() ]; + } + return ( cache[ key + " " ] = value ); + } + return cache; +} + +/** + * Mark a function for special use by Sizzle + * @param {Function} fn The function to mark + */ +function markFunction( fn ) { + fn[ expando ] = true; + return fn; +} + +/** + * Support testing using an element + * @param {Function} fn Passed the created element and returns a boolean result + */ +function assert( fn ) { + var el = document.createElement( "fieldset" ); + + try { + return !!fn( el ); + } catch ( e ) { + return false; + } finally { + + // Remove from its parent by default + if ( el.parentNode ) { + el.parentNode.removeChild( el ); + } + + // release memory in IE + el = null; + } +} + +/** + * Adds the same handler for all of the specified attrs + * @param {String} attrs Pipe-separated list of attributes + * @param {Function} handler The method that will be applied + */ +function addHandle( attrs, handler ) { + var arr = attrs.split( "|" ), + i = arr.length; + + while ( i-- ) { + Expr.attrHandle[ arr[ i ] ] = handler; + } +} + +/** + * Checks document order of two siblings + * @param {Element} a + * @param {Element} b + * @returns {Number} Returns less than 0 if a precedes b, greater than 0 if a follows b + */ +function siblingCheck( a, b ) { + var cur = b && a, + diff = cur && a.nodeType === 1 && b.nodeType === 1 && + a.sourceIndex - b.sourceIndex; + + // Use IE sourceIndex if available on both nodes + if ( diff ) { + return diff; + } + + // Check if b follows a + if ( cur ) { + while ( ( cur = cur.nextSibling ) ) { + if ( cur === b ) { + return -1; + } + } + } + + return a ? 1 : -1; +} + +/** + * Returns a function to use in pseudos for input types + * @param {String} type + */ +function createInputPseudo( type ) { + return function( elem ) { + var name = elem.nodeName.toLowerCase(); + return name === "input" && elem.type === type; + }; +} + +/** + * Returns a function to use in pseudos for buttons + * @param {String} type + */ +function createButtonPseudo( type ) { + return function( elem ) { + var name = elem.nodeName.toLowerCase(); + return ( name === "input" || name === "button" ) && elem.type === type; + }; +} + +/** + * Returns a function to use in pseudos for :enabled/:disabled + * @param {Boolean} disabled true for :disabled; false for :enabled + */ +function createDisabledPseudo( disabled ) { + + // Known :disabled false positives: fieldset[disabled] > legend:nth-of-type(n+2) :can-disable + return function( elem ) { + + // Only certain elements can match :enabled or :disabled + // https://html.spec.whatwg.org/multipage/scripting.html#selector-enabled + // https://html.spec.whatwg.org/multipage/scripting.html#selector-disabled + if ( "form" in elem ) { + + // Check for inherited disabledness on relevant non-disabled elements: + // * listed form-associated elements in a disabled fieldset + // https://html.spec.whatwg.org/multipage/forms.html#category-listed + // https://html.spec.whatwg.org/multipage/forms.html#concept-fe-disabled + // * option elements in a disabled optgroup + // https://html.spec.whatwg.org/multipage/forms.html#concept-option-disabled + // All such elements have a "form" property. + if ( elem.parentNode && elem.disabled === false ) { + + // Option elements defer to a parent optgroup if present + if ( "label" in elem ) { + if ( "label" in elem.parentNode ) { + return elem.parentNode.disabled === disabled; + } else { + return elem.disabled === disabled; + } + } + + // Support: IE 6 - 11 + // Use the isDisabled shortcut property to check for disabled fieldset ancestors + return elem.isDisabled === disabled || + + // Where there is no isDisabled, check manually + /* jshint -W018 */ + elem.isDisabled !== !disabled && + inDisabledFieldset( elem ) === disabled; + } + + return elem.disabled === disabled; + + // Try to winnow out elements that can't be disabled before trusting the disabled property. + // Some victims get caught in our net (label, legend, menu, track), but it shouldn't + // even exist on them, let alone have a boolean value. + } else if ( "label" in elem ) { + return elem.disabled === disabled; + } + + // Remaining elements are neither :enabled nor :disabled + return false; + }; +} + +/** + * Returns a function to use in pseudos for positionals + * @param {Function} fn + */ +function createPositionalPseudo( fn ) { + return markFunction( function( argument ) { + argument = +argument; + return markFunction( function( seed, matches ) { + var j, + matchIndexes = fn( [], seed.length, argument ), + i = matchIndexes.length; + + // Match elements found at the specified indexes + while ( i-- ) { + if ( seed[ ( j = matchIndexes[ i ] ) ] ) { + seed[ j ] = !( matches[ j ] = seed[ j ] ); + } + } + } ); + } ); +} + +/** + * Checks a node for validity as a Sizzle context + * @param {Element|Object=} context + * @returns {Element|Object|Boolean} The input node if acceptable, otherwise a falsy value + */ +function testContext( context ) { + return context && typeof context.getElementsByTagName !== "undefined" && context; +} + +// Expose support vars for convenience +support = Sizzle.support = {}; + +/** + * Detects XML nodes + * @param {Element|Object} elem An element or a document + * @returns {Boolean} True iff elem is a non-HTML XML node + */ +isXML = Sizzle.isXML = function( elem ) { + var namespace = elem && elem.namespaceURI, + docElem = elem && ( elem.ownerDocument || elem ).documentElement; + + // Support: IE <=8 + // Assume HTML when documentElement doesn't yet exist, such as inside loading iframes + // https://bugs.jquery.com/ticket/4833 + return !rhtml.test( namespace || docElem && docElem.nodeName || "HTML" ); +}; + +/** + * Sets document-related variables once based on the current document + * @param {Element|Object} [doc] An element or document object to use to set the document + * @returns {Object} Returns the current document + */ +setDocument = Sizzle.setDocument = function( node ) { + var hasCompare, subWindow, + doc = node ? node.ownerDocument || node : preferredDoc; + + // Return early if doc is invalid or already selected + // Support: IE 11+, Edge 17 - 18+ + // IE/Edge sometimes throw a "Permission denied" error when strict-comparing + // two documents; shallow comparisons work. + // eslint-disable-next-line eqeqeq + if ( doc == document || doc.nodeType !== 9 || !doc.documentElement ) { + return document; + } + + // Update global variables + document = doc; + docElem = document.documentElement; + documentIsHTML = !isXML( document ); + + // Support: IE 9 - 11+, Edge 12 - 18+ + // Accessing iframe documents after unload throws "permission denied" errors (jQuery #13936) + // Support: IE 11+, Edge 17 - 18+ + // IE/Edge sometimes throw a "Permission denied" error when strict-comparing + // two documents; shallow comparisons work. + // eslint-disable-next-line eqeqeq + if ( preferredDoc != document && + ( subWindow = document.defaultView ) && subWindow.top !== subWindow ) { + + // Support: IE 11, Edge + if ( subWindow.addEventListener ) { + subWindow.addEventListener( "unload", unloadHandler, false ); + + // Support: IE 9 - 10 only + } else if ( subWindow.attachEvent ) { + subWindow.attachEvent( "onunload", unloadHandler ); + } + } + + // Support: IE 8 - 11+, Edge 12 - 18+, Chrome <=16 - 25 only, Firefox <=3.6 - 31 only, + // Safari 4 - 5 only, Opera <=11.6 - 12.x only + // IE/Edge & older browsers don't support the :scope pseudo-class. + // Support: Safari 6.0 only + // Safari 6.0 supports :scope but it's an alias of :root there. + support.scope = assert( function( el ) { + docElem.appendChild( el ).appendChild( document.createElement( "div" ) ); + return typeof el.querySelectorAll !== "undefined" && + !el.querySelectorAll( ":scope fieldset div" ).length; + } ); + + /* Attributes + ---------------------------------------------------------------------- */ + + // Support: IE<8 + // Verify that getAttribute really returns attributes and not properties + // (excepting IE8 booleans) + support.attributes = assert( function( el ) { + el.className = "i"; + return !el.getAttribute( "className" ); + } ); + + /* getElement(s)By* + ---------------------------------------------------------------------- */ + + // Check if getElementsByTagName("*") returns only elements + support.getElementsByTagName = assert( function( el ) { + el.appendChild( document.createComment( "" ) ); + return !el.getElementsByTagName( "*" ).length; + } ); + + // Support: IE<9 + support.getElementsByClassName = rnative.test( document.getElementsByClassName ); + + // Support: IE<10 + // Check if getElementById returns elements by name + // The broken getElementById methods don't pick up programmatically-set names, + // so use a roundabout getElementsByName test + support.getById = assert( function( el ) { + docElem.appendChild( el ).id = expando; + return !document.getElementsByName || !document.getElementsByName( expando ).length; + } ); + + // ID filter and find + if ( support.getById ) { + Expr.filter[ "ID" ] = function( id ) { + var attrId = id.replace( runescape, funescape ); + return function( elem ) { + return elem.getAttribute( "id" ) === attrId; + }; + }; + Expr.find[ "ID" ] = function( id, context ) { + if ( typeof context.getElementById !== "undefined" && documentIsHTML ) { + var elem = context.getElementById( id ); + return elem ? [ elem ] : []; + } + }; + } else { + Expr.filter[ "ID" ] = function( id ) { + var attrId = id.replace( runescape, funescape ); + return function( elem ) { + var node = typeof elem.getAttributeNode !== "undefined" && + elem.getAttributeNode( "id" ); + return node && node.value === attrId; + }; + }; + + // Support: IE 6 - 7 only + // getElementById is not reliable as a find shortcut + Expr.find[ "ID" ] = function( id, context ) { + if ( typeof context.getElementById !== "undefined" && documentIsHTML ) { + var node, i, elems, + elem = context.getElementById( id ); + + if ( elem ) { + + // Verify the id attribute + node = elem.getAttributeNode( "id" ); + if ( node && node.value === id ) { + return [ elem ]; + } + + // Fall back on getElementsByName + elems = context.getElementsByName( id ); + i = 0; + while ( ( elem = elems[ i++ ] ) ) { + node = elem.getAttributeNode( "id" ); + if ( node && node.value === id ) { + return [ elem ]; + } + } + } + + return []; + } + }; + } + + // Tag + Expr.find[ "TAG" ] = support.getElementsByTagName ? + function( tag, context ) { + if ( typeof context.getElementsByTagName !== "undefined" ) { + return context.getElementsByTagName( tag ); + + // DocumentFragment nodes don't have gEBTN + } else if ( support.qsa ) { + return context.querySelectorAll( tag ); + } + } : + + function( tag, context ) { + var elem, + tmp = [], + i = 0, + + // By happy coincidence, a (broken) gEBTN appears on DocumentFragment nodes too + results = context.getElementsByTagName( tag ); + + // Filter out possible comments + if ( tag === "*" ) { + while ( ( elem = results[ i++ ] ) ) { + if ( elem.nodeType === 1 ) { + tmp.push( elem ); + } + } + + return tmp; + } + return results; + }; + + // Class + Expr.find[ "CLASS" ] = support.getElementsByClassName && function( className, context ) { + if ( typeof context.getElementsByClassName !== "undefined" && documentIsHTML ) { + return context.getElementsByClassName( className ); + } + }; + + /* QSA/matchesSelector + ---------------------------------------------------------------------- */ + + // QSA and matchesSelector support + + // matchesSelector(:active) reports false when true (IE9/Opera 11.5) + rbuggyMatches = []; + + // qSa(:focus) reports false when true (Chrome 21) + // We allow this because of a bug in IE8/9 that throws an error + // whenever `document.activeElement` is accessed on an iframe + // So, we allow :focus to pass through QSA all the time to avoid the IE error + // See https://bugs.jquery.com/ticket/13378 + rbuggyQSA = []; + + if ( ( support.qsa = rnative.test( document.querySelectorAll ) ) ) { + + // Build QSA regex + // Regex strategy adopted from Diego Perini + assert( function( el ) { + + var input; + + // Select is set to empty string on purpose + // This is to test IE's treatment of not explicitly + // setting a boolean content attribute, + // since its presence should be enough + // https://bugs.jquery.com/ticket/12359 + docElem.appendChild( el ).innerHTML = "<a id='" + expando + "'></a>" + + "<select id='" + expando + "-\r\\' msallowcapture=''>" + + "<option selected=''></option></select>"; + + // Support: IE8, Opera 11-12.16 + // Nothing should be selected when empty strings follow ^= or $= or *= + // The test attribute must be unknown in Opera but "safe" for WinRT + // https://msdn.microsoft.com/en-us/library/ie/hh465388.aspx#attribute_section + if ( el.querySelectorAll( "[msallowcapture^='']" ).length ) { + rbuggyQSA.push( "[*^$]=" + whitespace + "*(?:''|\"\")" ); + } + + // Support: IE8 + // Boolean attributes and "value" are not treated correctly + if ( !el.querySelectorAll( "[selected]" ).length ) { + rbuggyQSA.push( "\\[" + whitespace + "*(?:value|" + booleans + ")" ); + } + + // Support: Chrome<29, Android<4.4, Safari<7.0+, iOS<7.0+, PhantomJS<1.9.8+ + if ( !el.querySelectorAll( "[id~=" + expando + "-]" ).length ) { + rbuggyQSA.push( "~=" ); + } + + // Support: IE 11+, Edge 15 - 18+ + // IE 11/Edge don't find elements on a `[name='']` query in some cases. + // Adding a temporary attribute to the document before the selection works + // around the issue. + // Interestingly, IE 10 & older don't seem to have the issue. + input = document.createElement( "input" ); + input.setAttribute( "name", "" ); + el.appendChild( input ); + if ( !el.querySelectorAll( "[name='']" ).length ) { + rbuggyQSA.push( "\\[" + whitespace + "*name" + whitespace + "*=" + + whitespace + "*(?:''|\"\")" ); + } + + // Webkit/Opera - :checked should return selected option elements + // http://www.w3.org/TR/2011/REC-css3-selectors-20110929/#checked + // IE8 throws error here and will not see later tests + if ( !el.querySelectorAll( ":checked" ).length ) { + rbuggyQSA.push( ":checked" ); + } + + // Support: Safari 8+, iOS 8+ + // https://bugs.webkit.org/show_bug.cgi?id=136851 + // In-page `selector#id sibling-combinator selector` fails + if ( !el.querySelectorAll( "a#" + expando + "+*" ).length ) { + rbuggyQSA.push( ".#.+[+~]" ); + } + + // Support: Firefox <=3.6 - 5 only + // Old Firefox doesn't throw on a badly-escaped identifier. + el.querySelectorAll( "\\\f" ); + rbuggyQSA.push( "[\\r\\n\\f]" ); + } ); + + assert( function( el ) { + el.innerHTML = "<a href='' disabled='disabled'></a>" + + "<select disabled='disabled'><option/></select>"; + + // Support: Windows 8 Native Apps + // The type and name attributes are restricted during .innerHTML assignment + var input = document.createElement( "input" ); + input.setAttribute( "type", "hidden" ); + el.appendChild( input ).setAttribute( "name", "D" ); + + // Support: IE8 + // Enforce case-sensitivity of name attribute + if ( el.querySelectorAll( "[name=d]" ).length ) { + rbuggyQSA.push( "name" + whitespace + "*[*^$|!~]?=" ); + } + + // FF 3.5 - :enabled/:disabled and hidden elements (hidden elements are still enabled) + // IE8 throws error here and will not see later tests + if ( el.querySelectorAll( ":enabled" ).length !== 2 ) { + rbuggyQSA.push( ":enabled", ":disabled" ); + } + + // Support: IE9-11+ + // IE's :disabled selector does not pick up the children of disabled fieldsets + docElem.appendChild( el ).disabled = true; + if ( el.querySelectorAll( ":disabled" ).length !== 2 ) { + rbuggyQSA.push( ":enabled", ":disabled" ); + } + + // Support: Opera 10 - 11 only + // Opera 10-11 does not throw on post-comma invalid pseudos + el.querySelectorAll( "*,:x" ); + rbuggyQSA.push( ",.*:" ); + } ); + } + + if ( ( support.matchesSelector = rnative.test( ( matches = docElem.matches || + docElem.webkitMatchesSelector || + docElem.mozMatchesSelector || + docElem.oMatchesSelector || + docElem.msMatchesSelector ) ) ) ) { + + assert( function( el ) { + + // Check to see if it's possible to do matchesSelector + // on a disconnected node (IE 9) + support.disconnectedMatch = matches.call( el, "*" ); + + // This should fail with an exception + // Gecko does not error, returns false instead + matches.call( el, "[s!='']:x" ); + rbuggyMatches.push( "!=", pseudos ); + } ); + } + + rbuggyQSA = rbuggyQSA.length && new RegExp( rbuggyQSA.join( "|" ) ); + rbuggyMatches = rbuggyMatches.length && new RegExp( rbuggyMatches.join( "|" ) ); + + /* Contains + ---------------------------------------------------------------------- */ + hasCompare = rnative.test( docElem.compareDocumentPosition ); + + // Element contains another + // Purposefully self-exclusive + // As in, an element does not contain itself + contains = hasCompare || rnative.test( docElem.contains ) ? + function( a, b ) { + var adown = a.nodeType === 9 ? a.documentElement : a, + bup = b && b.parentNode; + return a === bup || !!( bup && bup.nodeType === 1 && ( + adown.contains ? + adown.contains( bup ) : + a.compareDocumentPosition && a.compareDocumentPosition( bup ) & 16 + ) ); + } : + function( a, b ) { + if ( b ) { + while ( ( b = b.parentNode ) ) { + if ( b === a ) { + return true; + } + } + } + return false; + }; + + /* Sorting + ---------------------------------------------------------------------- */ + + // Document order sorting + sortOrder = hasCompare ? + function( a, b ) { + + // Flag for duplicate removal + if ( a === b ) { + hasDuplicate = true; + return 0; + } + + // Sort on method existence if only one input has compareDocumentPosition + var compare = !a.compareDocumentPosition - !b.compareDocumentPosition; + if ( compare ) { + return compare; + } + + // Calculate position if both inputs belong to the same document + // Support: IE 11+, Edge 17 - 18+ + // IE/Edge sometimes throw a "Permission denied" error when strict-comparing + // two documents; shallow comparisons work. + // eslint-disable-next-line eqeqeq + compare = ( a.ownerDocument || a ) == ( b.ownerDocument || b ) ? + a.compareDocumentPosition( b ) : + + // Otherwise we know they are disconnected + 1; + + // Disconnected nodes + if ( compare & 1 || + ( !support.sortDetached && b.compareDocumentPosition( a ) === compare ) ) { + + // Choose the first element that is related to our preferred document + // Support: IE 11+, Edge 17 - 18+ + // IE/Edge sometimes throw a "Permission denied" error when strict-comparing + // two documents; shallow comparisons work. + // eslint-disable-next-line eqeqeq + if ( a == document || a.ownerDocument == preferredDoc && + contains( preferredDoc, a ) ) { + return -1; + } + + // Support: IE 11+, Edge 17 - 18+ + // IE/Edge sometimes throw a "Permission denied" error when strict-comparing + // two documents; shallow comparisons work. + // eslint-disable-next-line eqeqeq + if ( b == document || b.ownerDocument == preferredDoc && + contains( preferredDoc, b ) ) { + return 1; + } + + // Maintain original order + return sortInput ? + ( indexOf( sortInput, a ) - indexOf( sortInput, b ) ) : + 0; + } + + return compare & 4 ? -1 : 1; + } : + function( a, b ) { + + // Exit early if the nodes are identical + if ( a === b ) { + hasDuplicate = true; + return 0; + } + + var cur, + i = 0, + aup = a.parentNode, + bup = b.parentNode, + ap = [ a ], + bp = [ b ]; + + // Parentless nodes are either documents or disconnected + if ( !aup || !bup ) { + + // Support: IE 11+, Edge 17 - 18+ + // IE/Edge sometimes throw a "Permission denied" error when strict-comparing + // two documents; shallow comparisons work. + /* eslint-disable eqeqeq */ + return a == document ? -1 : + b == document ? 1 : + /* eslint-enable eqeqeq */ + aup ? -1 : + bup ? 1 : + sortInput ? + ( indexOf( sortInput, a ) - indexOf( sortInput, b ) ) : + 0; + + // If the nodes are siblings, we can do a quick check + } else if ( aup === bup ) { + return siblingCheck( a, b ); + } + + // Otherwise we need full lists of their ancestors for comparison + cur = a; + while ( ( cur = cur.parentNode ) ) { + ap.unshift( cur ); + } + cur = b; + while ( ( cur = cur.parentNode ) ) { + bp.unshift( cur ); + } + + // Walk down the tree looking for a discrepancy + while ( ap[ i ] === bp[ i ] ) { + i++; + } + + return i ? + + // Do a sibling check if the nodes have a common ancestor + siblingCheck( ap[ i ], bp[ i ] ) : + + // Otherwise nodes in our document sort first + // Support: IE 11+, Edge 17 - 18+ + // IE/Edge sometimes throw a "Permission denied" error when strict-comparing + // two documents; shallow comparisons work. + /* eslint-disable eqeqeq */ + ap[ i ] == preferredDoc ? -1 : + bp[ i ] == preferredDoc ? 1 : + /* eslint-enable eqeqeq */ + 0; + }; + + return document; +}; + +Sizzle.matches = function( expr, elements ) { + return Sizzle( expr, null, null, elements ); +}; + +Sizzle.matchesSelector = function( elem, expr ) { + setDocument( elem ); + + if ( support.matchesSelector && documentIsHTML && + !nonnativeSelectorCache[ expr + " " ] && + ( !rbuggyMatches || !rbuggyMatches.test( expr ) ) && + ( !rbuggyQSA || !rbuggyQSA.test( expr ) ) ) { + + try { + var ret = matches.call( elem, expr ); + + // IE 9's matchesSelector returns false on disconnected nodes + if ( ret || support.disconnectedMatch || + + // As well, disconnected nodes are said to be in a document + // fragment in IE 9 + elem.document && elem.document.nodeType !== 11 ) { + return ret; + } + } catch ( e ) { + nonnativeSelectorCache( expr, true ); + } + } + + return Sizzle( expr, document, null, [ elem ] ).length > 0; +}; + +Sizzle.contains = function( context, elem ) { + + // Set document vars if needed + // Support: IE 11+, Edge 17 - 18+ + // IE/Edge sometimes throw a "Permission denied" error when strict-comparing + // two documents; shallow comparisons work. + // eslint-disable-next-line eqeqeq + if ( ( context.ownerDocument || context ) != document ) { + setDocument( context ); + } + return contains( context, elem ); +}; + +Sizzle.attr = function( elem, name ) { + + // Set document vars if needed + // Support: IE 11+, Edge 17 - 18+ + // IE/Edge sometimes throw a "Permission denied" error when strict-comparing + // two documents; shallow comparisons work. + // eslint-disable-next-line eqeqeq + if ( ( elem.ownerDocument || elem ) != document ) { + setDocument( elem ); + } + + var fn = Expr.attrHandle[ name.toLowerCase() ], + + // Don't get fooled by Object.prototype properties (jQuery #13807) + val = fn && hasOwn.call( Expr.attrHandle, name.toLowerCase() ) ? + fn( elem, name, !documentIsHTML ) : + undefined; + + return val !== undefined ? + val : + support.attributes || !documentIsHTML ? + elem.getAttribute( name ) : + ( val = elem.getAttributeNode( name ) ) && val.specified ? + val.value : + null; +}; + +Sizzle.escape = function( sel ) { + return ( sel + "" ).replace( rcssescape, fcssescape ); +}; + +Sizzle.error = function( msg ) { + throw new Error( "Syntax error, unrecognized expression: " + msg ); +}; + +/** + * Document sorting and removing duplicates + * @param {ArrayLike} results + */ +Sizzle.uniqueSort = function( results ) { + var elem, + duplicates = [], + j = 0, + i = 0; + + // Unless we *know* we can detect duplicates, assume their presence + hasDuplicate = !support.detectDuplicates; + sortInput = !support.sortStable && results.slice( 0 ); + results.sort( sortOrder ); + + if ( hasDuplicate ) { + while ( ( elem = results[ i++ ] ) ) { + if ( elem === results[ i ] ) { + j = duplicates.push( i ); + } + } + while ( j-- ) { + results.splice( duplicates[ j ], 1 ); + } + } + + // Clear input after sorting to release objects + // See https://github.com/jquery/sizzle/pull/225 + sortInput = null; + + return results; +}; + +/** + * Utility function for retrieving the text value of an array of DOM nodes + * @param {Array|Element} elem + */ +getText = Sizzle.getText = function( elem ) { + var node, + ret = "", + i = 0, + nodeType = elem.nodeType; + + if ( !nodeType ) { + + // If no nodeType, this is expected to be an array + while ( ( node = elem[ i++ ] ) ) { + + // Do not traverse comment nodes + ret += getText( node ); + } + } else if ( nodeType === 1 || nodeType === 9 || nodeType === 11 ) { + + // Use textContent for elements + // innerText usage removed for consistency of new lines (jQuery #11153) + if ( typeof elem.textContent === "string" ) { + return elem.textContent; + } else { + + // Traverse its children + for ( elem = elem.firstChild; elem; elem = elem.nextSibling ) { + ret += getText( elem ); + } + } + } else if ( nodeType === 3 || nodeType === 4 ) { + return elem.nodeValue; + } + + // Do not include comment or processing instruction nodes + + return ret; +}; + +Expr = Sizzle.selectors = { + + // Can be adjusted by the user + cacheLength: 50, + + createPseudo: markFunction, + + match: matchExpr, + + attrHandle: {}, + + find: {}, + + relative: { + ">": { dir: "parentNode", first: true }, + " ": { dir: "parentNode" }, + "+": { dir: "previousSibling", first: true }, + "~": { dir: "previousSibling" } + }, + + preFilter: { + "ATTR": function( match ) { + match[ 1 ] = match[ 1 ].replace( runescape, funescape ); + + // Move the given value to match[3] whether quoted or unquoted + match[ 3 ] = ( match[ 3 ] || match[ 4 ] || + match[ 5 ] || "" ).replace( runescape, funescape ); + + if ( match[ 2 ] === "~=" ) { + match[ 3 ] = " " + match[ 3 ] + " "; + } + + return match.slice( 0, 4 ); + }, + + "CHILD": function( match ) { + + /* matches from matchExpr["CHILD"] + 1 type (only|nth|...) + 2 what (child|of-type) + 3 argument (even|odd|\d*|\d*n([+-]\d+)?|...) + 4 xn-component of xn+y argument ([+-]?\d*n|) + 5 sign of xn-component + 6 x of xn-component + 7 sign of y-component + 8 y of y-component + */ + match[ 1 ] = match[ 1 ].toLowerCase(); + + if ( match[ 1 ].slice( 0, 3 ) === "nth" ) { + + // nth-* requires argument + if ( !match[ 3 ] ) { + Sizzle.error( match[ 0 ] ); + } + + // numeric x and y parameters for Expr.filter.CHILD + // remember that false/true cast respectively to 0/1 + match[ 4 ] = +( match[ 4 ] ? + match[ 5 ] + ( match[ 6 ] || 1 ) : + 2 * ( match[ 3 ] === "even" || match[ 3 ] === "odd" ) ); + match[ 5 ] = +( ( match[ 7 ] + match[ 8 ] ) || match[ 3 ] === "odd" ); + + // other types prohibit arguments + } else if ( match[ 3 ] ) { + Sizzle.error( match[ 0 ] ); + } + + return match; + }, + + "PSEUDO": function( match ) { + var excess, + unquoted = !match[ 6 ] && match[ 2 ]; + + if ( matchExpr[ "CHILD" ].test( match[ 0 ] ) ) { + return null; + } + + // Accept quoted arguments as-is + if ( match[ 3 ] ) { + match[ 2 ] = match[ 4 ] || match[ 5 ] || ""; + + // Strip excess characters from unquoted arguments + } else if ( unquoted && rpseudo.test( unquoted ) && + + // Get excess from tokenize (recursively) + ( excess = tokenize( unquoted, true ) ) && + + // advance to the next closing parenthesis + ( excess = unquoted.indexOf( ")", unquoted.length - excess ) - unquoted.length ) ) { + + // excess is a negative index + match[ 0 ] = match[ 0 ].slice( 0, excess ); + match[ 2 ] = unquoted.slice( 0, excess ); + } + + // Return only captures needed by the pseudo filter method (type and argument) + return match.slice( 0, 3 ); + } + }, + + filter: { + + "TAG": function( nodeNameSelector ) { + var nodeName = nodeNameSelector.replace( runescape, funescape ).toLowerCase(); + return nodeNameSelector === "*" ? + function() { + return true; + } : + function( elem ) { + return elem.nodeName && elem.nodeName.toLowerCase() === nodeName; + }; + }, + + "CLASS": function( className ) { + var pattern = classCache[ className + " " ]; + + return pattern || + ( pattern = new RegExp( "(^|" + whitespace + + ")" + className + "(" + whitespace + "|$)" ) ) && classCache( + className, function( elem ) { + return pattern.test( + typeof elem.className === "string" && elem.className || + typeof elem.getAttribute !== "undefined" && + elem.getAttribute( "class" ) || + "" + ); + } ); + }, + + "ATTR": function( name, operator, check ) { + return function( elem ) { + var result = Sizzle.attr( elem, name ); + + if ( result == null ) { + return operator === "!="; + } + if ( !operator ) { + return true; + } + + result += ""; + + /* eslint-disable max-len */ + + return operator === "=" ? result === check : + operator === "!=" ? result !== check : + operator === "^=" ? check && result.indexOf( check ) === 0 : + operator === "*=" ? check && result.indexOf( check ) > -1 : + operator === "$=" ? check && result.slice( -check.length ) === check : + operator === "~=" ? ( " " + result.replace( rwhitespace, " " ) + " " ).indexOf( check ) > -1 : + operator === "|=" ? result === check || result.slice( 0, check.length + 1 ) === check + "-" : + false; + /* eslint-enable max-len */ + + }; + }, + + "CHILD": function( type, what, _argument, first, last ) { + var simple = type.slice( 0, 3 ) !== "nth", + forward = type.slice( -4 ) !== "last", + ofType = what === "of-type"; + + return first === 1 && last === 0 ? + + // Shortcut for :nth-*(n) + function( elem ) { + return !!elem.parentNode; + } : + + function( elem, _context, xml ) { + var cache, uniqueCache, outerCache, node, nodeIndex, start, + dir = simple !== forward ? "nextSibling" : "previousSibling", + parent = elem.parentNode, + name = ofType && elem.nodeName.toLowerCase(), + useCache = !xml && !ofType, + diff = false; + + if ( parent ) { + + // :(first|last|only)-(child|of-type) + if ( simple ) { + while ( dir ) { + node = elem; + while ( ( node = node[ dir ] ) ) { + if ( ofType ? + node.nodeName.toLowerCase() === name : + node.nodeType === 1 ) { + + return false; + } + } + + // Reverse direction for :only-* (if we haven't yet done so) + start = dir = type === "only" && !start && "nextSibling"; + } + return true; + } + + start = [ forward ? parent.firstChild : parent.lastChild ]; + + // non-xml :nth-child(...) stores cache data on `parent` + if ( forward && useCache ) { + + // Seek `elem` from a previously-cached index + + // ...in a gzip-friendly way + node = parent; + outerCache = node[ expando ] || ( node[ expando ] = {} ); + + // Support: IE <9 only + // Defend against cloned attroperties (jQuery gh-1709) + uniqueCache = outerCache[ node.uniqueID ] || + ( outerCache[ node.uniqueID ] = {} ); + + cache = uniqueCache[ type ] || []; + nodeIndex = cache[ 0 ] === dirruns && cache[ 1 ]; + diff = nodeIndex && cache[ 2 ]; + node = nodeIndex && parent.childNodes[ nodeIndex ]; + + while ( ( node = ++nodeIndex && node && node[ dir ] || + + // Fallback to seeking `elem` from the start + ( diff = nodeIndex = 0 ) || start.pop() ) ) { + + // When found, cache indexes on `parent` and break + if ( node.nodeType === 1 && ++diff && node === elem ) { + uniqueCache[ type ] = [ dirruns, nodeIndex, diff ]; + break; + } + } + + } else { + + // Use previously-cached element index if available + if ( useCache ) { + + // ...in a gzip-friendly way + node = elem; + outerCache = node[ expando ] || ( node[ expando ] = {} ); + + // Support: IE <9 only + // Defend against cloned attroperties (jQuery gh-1709) + uniqueCache = outerCache[ node.uniqueID ] || + ( outerCache[ node.uniqueID ] = {} ); + + cache = uniqueCache[ type ] || []; + nodeIndex = cache[ 0 ] === dirruns && cache[ 1 ]; + diff = nodeIndex; + } + + // xml :nth-child(...) + // or :nth-last-child(...) or :nth(-last)?-of-type(...) + if ( diff === false ) { + + // Use the same loop as above to seek `elem` from the start + while ( ( node = ++nodeIndex && node && node[ dir ] || + ( diff = nodeIndex = 0 ) || start.pop() ) ) { + + if ( ( ofType ? + node.nodeName.toLowerCase() === name : + node.nodeType === 1 ) && + ++diff ) { + + // Cache the index of each encountered element + if ( useCache ) { + outerCache = node[ expando ] || + ( node[ expando ] = {} ); + + // Support: IE <9 only + // Defend against cloned attroperties (jQuery gh-1709) + uniqueCache = outerCache[ node.uniqueID ] || + ( outerCache[ node.uniqueID ] = {} ); + + uniqueCache[ type ] = [ dirruns, diff ]; + } + + if ( node === elem ) { + break; + } + } + } + } + } + + // Incorporate the offset, then check against cycle size + diff -= last; + return diff === first || ( diff % first === 0 && diff / first >= 0 ); + } + }; + }, + + "PSEUDO": function( pseudo, argument ) { + + // pseudo-class names are case-insensitive + // http://www.w3.org/TR/selectors/#pseudo-classes + // Prioritize by case sensitivity in case custom pseudos are added with uppercase letters + // Remember that setFilters inherits from pseudos + var args, + fn = Expr.pseudos[ pseudo ] || Expr.setFilters[ pseudo.toLowerCase() ] || + Sizzle.error( "unsupported pseudo: " + pseudo ); + + // The user may use createPseudo to indicate that + // arguments are needed to create the filter function + // just as Sizzle does + if ( fn[ expando ] ) { + return fn( argument ); + } + + // But maintain support for old signatures + if ( fn.length > 1 ) { + args = [ pseudo, pseudo, "", argument ]; + return Expr.setFilters.hasOwnProperty( pseudo.toLowerCase() ) ? + markFunction( function( seed, matches ) { + var idx, + matched = fn( seed, argument ), + i = matched.length; + while ( i-- ) { + idx = indexOf( seed, matched[ i ] ); + seed[ idx ] = !( matches[ idx ] = matched[ i ] ); + } + } ) : + function( elem ) { + return fn( elem, 0, args ); + }; + } + + return fn; + } + }, + + pseudos: { + + // Potentially complex pseudos + "not": markFunction( function( selector ) { + + // Trim the selector passed to compile + // to avoid treating leading and trailing + // spaces as combinators + var input = [], + results = [], + matcher = compile( selector.replace( rtrim, "$1" ) ); + + return matcher[ expando ] ? + markFunction( function( seed, matches, _context, xml ) { + var elem, + unmatched = matcher( seed, null, xml, [] ), + i = seed.length; + + // Match elements unmatched by `matcher` + while ( i-- ) { + if ( ( elem = unmatched[ i ] ) ) { + seed[ i ] = !( matches[ i ] = elem ); + } + } + } ) : + function( elem, _context, xml ) { + input[ 0 ] = elem; + matcher( input, null, xml, results ); + + // Don't keep the element (issue #299) + input[ 0 ] = null; + return !results.pop(); + }; + } ), + + "has": markFunction( function( selector ) { + return function( elem ) { + return Sizzle( selector, elem ).length > 0; + }; + } ), + + "contains": markFunction( function( text ) { + text = text.replace( runescape, funescape ); + return function( elem ) { + return ( elem.textContent || getText( elem ) ).indexOf( text ) > -1; + }; + } ), + + // "Whether an element is represented by a :lang() selector + // is based solely on the element's language value + // being equal to the identifier C, + // or beginning with the identifier C immediately followed by "-". + // The matching of C against the element's language value is performed case-insensitively. + // The identifier C does not have to be a valid language name." + // http://www.w3.org/TR/selectors/#lang-pseudo + "lang": markFunction( function( lang ) { + + // lang value must be a valid identifier + if ( !ridentifier.test( lang || "" ) ) { + Sizzle.error( "unsupported lang: " + lang ); + } + lang = lang.replace( runescape, funescape ).toLowerCase(); + return function( elem ) { + var elemLang; + do { + if ( ( elemLang = documentIsHTML ? + elem.lang : + elem.getAttribute( "xml:lang" ) || elem.getAttribute( "lang" ) ) ) { + + elemLang = elemLang.toLowerCase(); + return elemLang === lang || elemLang.indexOf( lang + "-" ) === 0; + } + } while ( ( elem = elem.parentNode ) && elem.nodeType === 1 ); + return false; + }; + } ), + + // Miscellaneous + "target": function( elem ) { + var hash = window.location && window.location.hash; + return hash && hash.slice( 1 ) === elem.id; + }, + + "root": function( elem ) { + return elem === docElem; + }, + + "focus": function( elem ) { + return elem === document.activeElement && + ( !document.hasFocus || document.hasFocus() ) && + !!( elem.type || elem.href || ~elem.tabIndex ); + }, + + // Boolean properties + "enabled": createDisabledPseudo( false ), + "disabled": createDisabledPseudo( true ), + + "checked": function( elem ) { + + // In CSS3, :checked should return both checked and selected elements + // http://www.w3.org/TR/2011/REC-css3-selectors-20110929/#checked + var nodeName = elem.nodeName.toLowerCase(); + return ( nodeName === "input" && !!elem.checked ) || + ( nodeName === "option" && !!elem.selected ); + }, + + "selected": function( elem ) { + + // Accessing this property makes selected-by-default + // options in Safari work properly + if ( elem.parentNode ) { + // eslint-disable-next-line no-unused-expressions + elem.parentNode.selectedIndex; + } + + return elem.selected === true; + }, + + // Contents + "empty": function( elem ) { + + // http://www.w3.org/TR/selectors/#empty-pseudo + // :empty is negated by element (1) or content nodes (text: 3; cdata: 4; entity ref: 5), + // but not by others (comment: 8; processing instruction: 7; etc.) + // nodeType < 6 works because attributes (2) do not appear as children + for ( elem = elem.firstChild; elem; elem = elem.nextSibling ) { + if ( elem.nodeType < 6 ) { + return false; + } + } + return true; + }, + + "parent": function( elem ) { + return !Expr.pseudos[ "empty" ]( elem ); + }, + + // Element/input types + "header": function( elem ) { + return rheader.test( elem.nodeName ); + }, + + "input": function( elem ) { + return rinputs.test( elem.nodeName ); + }, + + "button": function( elem ) { + var name = elem.nodeName.toLowerCase(); + return name === "input" && elem.type === "button" || name === "button"; + }, + + "text": function( elem ) { + var attr; + return elem.nodeName.toLowerCase() === "input" && + elem.type === "text" && + + // Support: IE<8 + // New HTML5 attribute values (e.g., "search") appear with elem.type === "text" + ( ( attr = elem.getAttribute( "type" ) ) == null || + attr.toLowerCase() === "text" ); + }, + + // Position-in-collection + "first": createPositionalPseudo( function() { + return [ 0 ]; + } ), + + "last": createPositionalPseudo( function( _matchIndexes, length ) { + return [ length - 1 ]; + } ), + + "eq": createPositionalPseudo( function( _matchIndexes, length, argument ) { + return [ argument < 0 ? argument + length : argument ]; + } ), + + "even": createPositionalPseudo( function( matchIndexes, length ) { + var i = 0; + for ( ; i < length; i += 2 ) { + matchIndexes.push( i ); + } + return matchIndexes; + } ), + + "odd": createPositionalPseudo( function( matchIndexes, length ) { + var i = 1; + for ( ; i < length; i += 2 ) { + matchIndexes.push( i ); + } + return matchIndexes; + } ), + + "lt": createPositionalPseudo( function( matchIndexes, length, argument ) { + var i = argument < 0 ? + argument + length : + argument > length ? + length : + argument; + for ( ; --i >= 0; ) { + matchIndexes.push( i ); + } + return matchIndexes; + } ), + + "gt": createPositionalPseudo( function( matchIndexes, length, argument ) { + var i = argument < 0 ? argument + length : argument; + for ( ; ++i < length; ) { + matchIndexes.push( i ); + } + return matchIndexes; + } ) + } +}; + +Expr.pseudos[ "nth" ] = Expr.pseudos[ "eq" ]; + +// Add button/input type pseudos +for ( i in { radio: true, checkbox: true, file: true, password: true, image: true } ) { + Expr.pseudos[ i ] = createInputPseudo( i ); +} +for ( i in { submit: true, reset: true } ) { + Expr.pseudos[ i ] = createButtonPseudo( i ); +} + +// Easy API for creating new setFilters +function setFilters() {} +setFilters.prototype = Expr.filters = Expr.pseudos; +Expr.setFilters = new setFilters(); + +tokenize = Sizzle.tokenize = function( selector, parseOnly ) { + var matched, match, tokens, type, + soFar, groups, preFilters, + cached = tokenCache[ selector + " " ]; + + if ( cached ) { + return parseOnly ? 0 : cached.slice( 0 ); + } + + soFar = selector; + groups = []; + preFilters = Expr.preFilter; + + while ( soFar ) { + + // Comma and first run + if ( !matched || ( match = rcomma.exec( soFar ) ) ) { + if ( match ) { + + // Don't consume trailing commas as valid + soFar = soFar.slice( match[ 0 ].length ) || soFar; + } + groups.push( ( tokens = [] ) ); + } + + matched = false; + + // Combinators + if ( ( match = rcombinators.exec( soFar ) ) ) { + matched = match.shift(); + tokens.push( { + value: matched, + + // Cast descendant combinators to space + type: match[ 0 ].replace( rtrim, " " ) + } ); + soFar = soFar.slice( matched.length ); + } + + // Filters + for ( type in Expr.filter ) { + if ( ( match = matchExpr[ type ].exec( soFar ) ) && ( !preFilters[ type ] || + ( match = preFilters[ type ]( match ) ) ) ) { + matched = match.shift(); + tokens.push( { + value: matched, + type: type, + matches: match + } ); + soFar = soFar.slice( matched.length ); + } + } + + if ( !matched ) { + break; + } + } + + // Return the length of the invalid excess + // if we're just parsing + // Otherwise, throw an error or return tokens + return parseOnly ? + soFar.length : + soFar ? + Sizzle.error( selector ) : + + // Cache the tokens + tokenCache( selector, groups ).slice( 0 ); +}; + +function toSelector( tokens ) { + var i = 0, + len = tokens.length, + selector = ""; + for ( ; i < len; i++ ) { + selector += tokens[ i ].value; + } + return selector; +} + +function addCombinator( matcher, combinator, base ) { + var dir = combinator.dir, + skip = combinator.next, + key = skip || dir, + checkNonElements = base && key === "parentNode", + doneName = done++; + + return combinator.first ? + + // Check against closest ancestor/preceding element + function( elem, context, xml ) { + while ( ( elem = elem[ dir ] ) ) { + if ( elem.nodeType === 1 || checkNonElements ) { + return matcher( elem, context, xml ); + } + } + return false; + } : + + // Check against all ancestor/preceding elements + function( elem, context, xml ) { + var oldCache, uniqueCache, outerCache, + newCache = [ dirruns, doneName ]; + + // We can't set arbitrary data on XML nodes, so they don't benefit from combinator caching + if ( xml ) { + while ( ( elem = elem[ dir ] ) ) { + if ( elem.nodeType === 1 || checkNonElements ) { + if ( matcher( elem, context, xml ) ) { + return true; + } + } + } + } else { + while ( ( elem = elem[ dir ] ) ) { + if ( elem.nodeType === 1 || checkNonElements ) { + outerCache = elem[ expando ] || ( elem[ expando ] = {} ); + + // Support: IE <9 only + // Defend against cloned attroperties (jQuery gh-1709) + uniqueCache = outerCache[ elem.uniqueID ] || + ( outerCache[ elem.uniqueID ] = {} ); + + if ( skip && skip === elem.nodeName.toLowerCase() ) { + elem = elem[ dir ] || elem; + } else if ( ( oldCache = uniqueCache[ key ] ) && + oldCache[ 0 ] === dirruns && oldCache[ 1 ] === doneName ) { + + // Assign to newCache so results back-propagate to previous elements + return ( newCache[ 2 ] = oldCache[ 2 ] ); + } else { + + // Reuse newcache so results back-propagate to previous elements + uniqueCache[ key ] = newCache; + + // A match means we're done; a fail means we have to keep checking + if ( ( newCache[ 2 ] = matcher( elem, context, xml ) ) ) { + return true; + } + } + } + } + } + return false; + }; +} + +function elementMatcher( matchers ) { + return matchers.length > 1 ? + function( elem, context, xml ) { + var i = matchers.length; + while ( i-- ) { + if ( !matchers[ i ]( elem, context, xml ) ) { + return false; + } + } + return true; + } : + matchers[ 0 ]; +} + +function multipleContexts( selector, contexts, results ) { + var i = 0, + len = contexts.length; + for ( ; i < len; i++ ) { + Sizzle( selector, contexts[ i ], results ); + } + return results; +} + +function condense( unmatched, map, filter, context, xml ) { + var elem, + newUnmatched = [], + i = 0, + len = unmatched.length, + mapped = map != null; + + for ( ; i < len; i++ ) { + if ( ( elem = unmatched[ i ] ) ) { + if ( !filter || filter( elem, context, xml ) ) { + newUnmatched.push( elem ); + if ( mapped ) { + map.push( i ); + } + } + } + } + + return newUnmatched; +} + +function setMatcher( preFilter, selector, matcher, postFilter, postFinder, postSelector ) { + if ( postFilter && !postFilter[ expando ] ) { + postFilter = setMatcher( postFilter ); + } + if ( postFinder && !postFinder[ expando ] ) { + postFinder = setMatcher( postFinder, postSelector ); + } + return markFunction( function( seed, results, context, xml ) { + var temp, i, elem, + preMap = [], + postMap = [], + preexisting = results.length, + + // Get initial elements from seed or context + elems = seed || multipleContexts( + selector || "*", + context.nodeType ? [ context ] : context, + [] + ), + + // Prefilter to get matcher input, preserving a map for seed-results synchronization + matcherIn = preFilter && ( seed || !selector ) ? + condense( elems, preMap, preFilter, context, xml ) : + elems, + + matcherOut = matcher ? + + // If we have a postFinder, or filtered seed, or non-seed postFilter or preexisting results, + postFinder || ( seed ? preFilter : preexisting || postFilter ) ? + + // ...intermediate processing is necessary + [] : + + // ...otherwise use results directly + results : + matcherIn; + + // Find primary matches + if ( matcher ) { + matcher( matcherIn, matcherOut, context, xml ); + } + + // Apply postFilter + if ( postFilter ) { + temp = condense( matcherOut, postMap ); + postFilter( temp, [], context, xml ); + + // Un-match failing elements by moving them back to matcherIn + i = temp.length; + while ( i-- ) { + if ( ( elem = temp[ i ] ) ) { + matcherOut[ postMap[ i ] ] = !( matcherIn[ postMap[ i ] ] = elem ); + } + } + } + + if ( seed ) { + if ( postFinder || preFilter ) { + if ( postFinder ) { + + // Get the final matcherOut by condensing this intermediate into postFinder contexts + temp = []; + i = matcherOut.length; + while ( i-- ) { + if ( ( elem = matcherOut[ i ] ) ) { + + // Restore matcherIn since elem is not yet a final match + temp.push( ( matcherIn[ i ] = elem ) ); + } + } + postFinder( null, ( matcherOut = [] ), temp, xml ); + } + + // Move matched elements from seed to results to keep them synchronized + i = matcherOut.length; + while ( i-- ) { + if ( ( elem = matcherOut[ i ] ) && + ( temp = postFinder ? indexOf( seed, elem ) : preMap[ i ] ) > -1 ) { + + seed[ temp ] = !( results[ temp ] = elem ); + } + } + } + + // Add elements to results, through postFinder if defined + } else { + matcherOut = condense( + matcherOut === results ? + matcherOut.splice( preexisting, matcherOut.length ) : + matcherOut + ); + if ( postFinder ) { + postFinder( null, results, matcherOut, xml ); + } else { + push.apply( results, matcherOut ); + } + } + } ); +} + +function matcherFromTokens( tokens ) { + var checkContext, matcher, j, + len = tokens.length, + leadingRelative = Expr.relative[ tokens[ 0 ].type ], + implicitRelative = leadingRelative || Expr.relative[ " " ], + i = leadingRelative ? 1 : 0, + + // The foundational matcher ensures that elements are reachable from top-level context(s) + matchContext = addCombinator( function( elem ) { + return elem === checkContext; + }, implicitRelative, true ), + matchAnyContext = addCombinator( function( elem ) { + return indexOf( checkContext, elem ) > -1; + }, implicitRelative, true ), + matchers = [ function( elem, context, xml ) { + var ret = ( !leadingRelative && ( xml || context !== outermostContext ) ) || ( + ( checkContext = context ).nodeType ? + matchContext( elem, context, xml ) : + matchAnyContext( elem, context, xml ) ); + + // Avoid hanging onto element (issue #299) + checkContext = null; + return ret; + } ]; + + for ( ; i < len; i++ ) { + if ( ( matcher = Expr.relative[ tokens[ i ].type ] ) ) { + matchers = [ addCombinator( elementMatcher( matchers ), matcher ) ]; + } else { + matcher = Expr.filter[ tokens[ i ].type ].apply( null, tokens[ i ].matches ); + + // Return special upon seeing a positional matcher + if ( matcher[ expando ] ) { + + // Find the next relative operator (if any) for proper handling + j = ++i; + for ( ; j < len; j++ ) { + if ( Expr.relative[ tokens[ j ].type ] ) { + break; + } + } + return setMatcher( + i > 1 && elementMatcher( matchers ), + i > 1 && toSelector( + + // If the preceding token was a descendant combinator, insert an implicit any-element `*` + tokens + .slice( 0, i - 1 ) + .concat( { value: tokens[ i - 2 ].type === " " ? "*" : "" } ) + ).replace( rtrim, "$1" ), + matcher, + i < j && matcherFromTokens( tokens.slice( i, j ) ), + j < len && matcherFromTokens( ( tokens = tokens.slice( j ) ) ), + j < len && toSelector( tokens ) + ); + } + matchers.push( matcher ); + } + } + + return elementMatcher( matchers ); +} + +function matcherFromGroupMatchers( elementMatchers, setMatchers ) { + var bySet = setMatchers.length > 0, + byElement = elementMatchers.length > 0, + superMatcher = function( seed, context, xml, results, outermost ) { + var elem, j, matcher, + matchedCount = 0, + i = "0", + unmatched = seed && [], + setMatched = [], + contextBackup = outermostContext, + + // We must always have either seed elements or outermost context + elems = seed || byElement && Expr.find[ "TAG" ]( "*", outermost ), + + // Use integer dirruns iff this is the outermost matcher + dirrunsUnique = ( dirruns += contextBackup == null ? 1 : Math.random() || 0.1 ), + len = elems.length; + + if ( outermost ) { + + // Support: IE 11+, Edge 17 - 18+ + // IE/Edge sometimes throw a "Permission denied" error when strict-comparing + // two documents; shallow comparisons work. + // eslint-disable-next-line eqeqeq + outermostContext = context == document || context || outermost; + } + + // Add elements passing elementMatchers directly to results + // Support: IE<9, Safari + // Tolerate NodeList properties (IE: "length"; Safari: <number>) matching elements by id + for ( ; i !== len && ( elem = elems[ i ] ) != null; i++ ) { + if ( byElement && elem ) { + j = 0; + + // Support: IE 11+, Edge 17 - 18+ + // IE/Edge sometimes throw a "Permission denied" error when strict-comparing + // two documents; shallow comparisons work. + // eslint-disable-next-line eqeqeq + if ( !context && elem.ownerDocument != document ) { + setDocument( elem ); + xml = !documentIsHTML; + } + while ( ( matcher = elementMatchers[ j++ ] ) ) { + if ( matcher( elem, context || document, xml ) ) { + results.push( elem ); + break; + } + } + if ( outermost ) { + dirruns = dirrunsUnique; + } + } + + // Track unmatched elements for set filters + if ( bySet ) { + + // They will have gone through all possible matchers + if ( ( elem = !matcher && elem ) ) { + matchedCount--; + } + + // Lengthen the array for every element, matched or not + if ( seed ) { + unmatched.push( elem ); + } + } + } + + // `i` is now the count of elements visited above, and adding it to `matchedCount` + // makes the latter nonnegative. + matchedCount += i; + + // Apply set filters to unmatched elements + // NOTE: This can be skipped if there are no unmatched elements (i.e., `matchedCount` + // equals `i`), unless we didn't visit _any_ elements in the above loop because we have + // no element matchers and no seed. + // Incrementing an initially-string "0" `i` allows `i` to remain a string only in that + // case, which will result in a "00" `matchedCount` that differs from `i` but is also + // numerically zero. + if ( bySet && i !== matchedCount ) { + j = 0; + while ( ( matcher = setMatchers[ j++ ] ) ) { + matcher( unmatched, setMatched, context, xml ); + } + + if ( seed ) { + + // Reintegrate element matches to eliminate the need for sorting + if ( matchedCount > 0 ) { + while ( i-- ) { + if ( !( unmatched[ i ] || setMatched[ i ] ) ) { + setMatched[ i ] = pop.call( results ); + } + } + } + + // Discard index placeholder values to get only actual matches + setMatched = condense( setMatched ); + } + + // Add matches to results + push.apply( results, setMatched ); + + // Seedless set matches succeeding multiple successful matchers stipulate sorting + if ( outermost && !seed && setMatched.length > 0 && + ( matchedCount + setMatchers.length ) > 1 ) { + + Sizzle.uniqueSort( results ); + } + } + + // Override manipulation of globals by nested matchers + if ( outermost ) { + dirruns = dirrunsUnique; + outermostContext = contextBackup; + } + + return unmatched; + }; + + return bySet ? + markFunction( superMatcher ) : + superMatcher; +} + +compile = Sizzle.compile = function( selector, match /* Internal Use Only */ ) { + var i, + setMatchers = [], + elementMatchers = [], + cached = compilerCache[ selector + " " ]; + + if ( !cached ) { + + // Generate a function of recursive functions that can be used to check each element + if ( !match ) { + match = tokenize( selector ); + } + i = match.length; + while ( i-- ) { + cached = matcherFromTokens( match[ i ] ); + if ( cached[ expando ] ) { + setMatchers.push( cached ); + } else { + elementMatchers.push( cached ); + } + } + + // Cache the compiled function + cached = compilerCache( + selector, + matcherFromGroupMatchers( elementMatchers, setMatchers ) + ); + + // Save selector and tokenization + cached.selector = selector; + } + return cached; +}; + +/** + * A low-level selection function that works with Sizzle's compiled + * selector functions + * @param {String|Function} selector A selector or a pre-compiled + * selector function built with Sizzle.compile + * @param {Element} context + * @param {Array} [results] + * @param {Array} [seed] A set of elements to match against + */ +select = Sizzle.select = function( selector, context, results, seed ) { + var i, tokens, token, type, find, + compiled = typeof selector === "function" && selector, + match = !seed && tokenize( ( selector = compiled.selector || selector ) ); + + results = results || []; + + // Try to minimize operations if there is only one selector in the list and no seed + // (the latter of which guarantees us context) + if ( match.length === 1 ) { + + // Reduce context if the leading compound selector is an ID + tokens = match[ 0 ] = match[ 0 ].slice( 0 ); + if ( tokens.length > 2 && ( token = tokens[ 0 ] ).type === "ID" && + context.nodeType === 9 && documentIsHTML && Expr.relative[ tokens[ 1 ].type ] ) { + + context = ( Expr.find[ "ID" ]( token.matches[ 0 ] + .replace( runescape, funescape ), context ) || [] )[ 0 ]; + if ( !context ) { + return results; + + // Precompiled matchers will still verify ancestry, so step up a level + } else if ( compiled ) { + context = context.parentNode; + } + + selector = selector.slice( tokens.shift().value.length ); + } + + // Fetch a seed set for right-to-left matching + i = matchExpr[ "needsContext" ].test( selector ) ? 0 : tokens.length; + while ( i-- ) { + token = tokens[ i ]; + + // Abort if we hit a combinator + if ( Expr.relative[ ( type = token.type ) ] ) { + break; + } + if ( ( find = Expr.find[ type ] ) ) { + + // Search, expanding context for leading sibling combinators + if ( ( seed = find( + token.matches[ 0 ].replace( runescape, funescape ), + rsibling.test( tokens[ 0 ].type ) && testContext( context.parentNode ) || + context + ) ) ) { + + // If seed is empty or no tokens remain, we can return early + tokens.splice( i, 1 ); + selector = seed.length && toSelector( tokens ); + if ( !selector ) { + push.apply( results, seed ); + return results; + } + + break; + } + } + } + } + + // Compile and execute a filtering function if one is not provided + // Provide `match` to avoid retokenization if we modified the selector above + ( compiled || compile( selector, match ) )( + seed, + context, + !documentIsHTML, + results, + !context || rsibling.test( selector ) && testContext( context.parentNode ) || context + ); + return results; +}; + +// One-time assignments + +// Sort stability +support.sortStable = expando.split( "" ).sort( sortOrder ).join( "" ) === expando; + +// Support: Chrome 14-35+ +// Always assume duplicates if they aren't passed to the comparison function +support.detectDuplicates = !!hasDuplicate; + +// Initialize against the default document +setDocument(); + +// Support: Webkit<537.32 - Safari 6.0.3/Chrome 25 (fixed in Chrome 27) +// Detached nodes confoundingly follow *each other* +support.sortDetached = assert( function( el ) { + + // Should return 1, but returns 4 (following) + return el.compareDocumentPosition( document.createElement( "fieldset" ) ) & 1; +} ); + +// Support: IE<8 +// Prevent attribute/property "interpolation" +// https://msdn.microsoft.com/en-us/library/ms536429%28VS.85%29.aspx +if ( !assert( function( el ) { + el.innerHTML = "<a href='#'></a>"; + return el.firstChild.getAttribute( "href" ) === "#"; +} ) ) { + addHandle( "type|href|height|width", function( elem, name, isXML ) { + if ( !isXML ) { + return elem.getAttribute( name, name.toLowerCase() === "type" ? 1 : 2 ); + } + } ); +} + +// Support: IE<9 +// Use defaultValue in place of getAttribute("value") +if ( !support.attributes || !assert( function( el ) { + el.innerHTML = "<input/>"; + el.firstChild.setAttribute( "value", "" ); + return el.firstChild.getAttribute( "value" ) === ""; +} ) ) { + addHandle( "value", function( elem, _name, isXML ) { + if ( !isXML && elem.nodeName.toLowerCase() === "input" ) { + return elem.defaultValue; + } + } ); +} + +// Support: IE<9 +// Use getAttributeNode to fetch booleans when getAttribute lies +if ( !assert( function( el ) { + return el.getAttribute( "disabled" ) == null; +} ) ) { + addHandle( booleans, function( elem, name, isXML ) { + var val; + if ( !isXML ) { + return elem[ name ] === true ? name.toLowerCase() : + ( val = elem.getAttributeNode( name ) ) && val.specified ? + val.value : + null; + } + } ); +} + +return Sizzle; + +} )( window ); + + + +jQuery.find = Sizzle; +jQuery.expr = Sizzle.selectors; + +// Deprecated +jQuery.expr[ ":" ] = jQuery.expr.pseudos; +jQuery.uniqueSort = jQuery.unique = Sizzle.uniqueSort; +jQuery.text = Sizzle.getText; +jQuery.isXMLDoc = Sizzle.isXML; +jQuery.contains = Sizzle.contains; +jQuery.escapeSelector = Sizzle.escape; + + + + +var dir = function( elem, dir, until ) { + var matched = [], + truncate = until !== undefined; + + while ( ( elem = elem[ dir ] ) && elem.nodeType !== 9 ) { + if ( elem.nodeType === 1 ) { + if ( truncate && jQuery( elem ).is( until ) ) { + break; + } + matched.push( elem ); + } + } + return matched; +}; + + +var siblings = function( n, elem ) { + var matched = []; + + for ( ; n; n = n.nextSibling ) { + if ( n.nodeType === 1 && n !== elem ) { + matched.push( n ); + } + } + + return matched; +}; + + +var rneedsContext = jQuery.expr.match.needsContext; + + + +function nodeName( elem, name ) { + + return elem.nodeName && elem.nodeName.toLowerCase() === name.toLowerCase(); + +} +var rsingleTag = ( /^<([a-z][^\/\0>:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i ); + + + +// Implement the identical functionality for filter and not +function winnow( elements, qualifier, not ) { + if ( isFunction( qualifier ) ) { + return jQuery.grep( elements, function( elem, i ) { + return !!qualifier.call( elem, i, elem ) !== not; + } ); + } + + // Single element + if ( qualifier.nodeType ) { + return jQuery.grep( elements, function( elem ) { + return ( elem === qualifier ) !== not; + } ); + } + + // Arraylike of elements (jQuery, arguments, Array) + if ( typeof qualifier !== "string" ) { + return jQuery.grep( elements, function( elem ) { + return ( indexOf.call( qualifier, elem ) > -1 ) !== not; + } ); + } + + // Filtered directly for both simple and complex selectors + return jQuery.filter( qualifier, elements, not ); +} + +jQuery.filter = function( expr, elems, not ) { + var elem = elems[ 0 ]; + + if ( not ) { + expr = ":not(" + expr + ")"; + } + + if ( elems.length === 1 && elem.nodeType === 1 ) { + return jQuery.find.matchesSelector( elem, expr ) ? [ elem ] : []; + } + + return jQuery.find.matches( expr, jQuery.grep( elems, function( elem ) { + return elem.nodeType === 1; + } ) ); +}; + +jQuery.fn.extend( { + find: function( selector ) { + var i, ret, + len = this.length, + self = this; + + if ( typeof selector !== "string" ) { + return this.pushStack( jQuery( selector ).filter( function() { + for ( i = 0; i < len; i++ ) { + if ( jQuery.contains( self[ i ], this ) ) { + return true; + } + } + } ) ); + } + + ret = this.pushStack( [] ); + + for ( i = 0; i < len; i++ ) { + jQuery.find( selector, self[ i ], ret ); + } + + return len > 1 ? jQuery.uniqueSort( ret ) : ret; + }, + filter: function( selector ) { + return this.pushStack( winnow( this, selector || [], false ) ); + }, + not: function( selector ) { + return this.pushStack( winnow( this, selector || [], true ) ); + }, + is: function( selector ) { + return !!winnow( + this, + + // If this is a positional/relative selector, check membership in the returned set + // so $("p:first").is("p:last") won't return true for a doc with two "p". + typeof selector === "string" && rneedsContext.test( selector ) ? + jQuery( selector ) : + selector || [], + false + ).length; + } +} ); + + +// Initialize a jQuery object + + +// A central reference to the root jQuery(document) +var rootjQuery, + + // A simple way to check for HTML strings + // Prioritize #id over <tag> to avoid XSS via location.hash (#9521) + // Strict HTML recognition (#11290: must start with <) + // Shortcut simple #id case for speed + rquickExpr = /^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]+))$/, + + init = jQuery.fn.init = function( selector, context, root ) { + var match, elem; + + // HANDLE: $(""), $(null), $(undefined), $(false) + if ( !selector ) { + return this; + } + + // Method init() accepts an alternate rootjQuery + // so migrate can support jQuery.sub (gh-2101) + root = root || rootjQuery; + + // Handle HTML strings + if ( typeof selector === "string" ) { + if ( selector[ 0 ] === "<" && + selector[ selector.length - 1 ] === ">" && + selector.length >= 3 ) { + + // Assume that strings that start and end with <> are HTML and skip the regex check + match = [ null, selector, null ]; + + } else { + match = rquickExpr.exec( selector ); + } + + // Match html or make sure no context is specified for #id + if ( match && ( match[ 1 ] || !context ) ) { + + // HANDLE: $(html) -> $(array) + if ( match[ 1 ] ) { + context = context instanceof jQuery ? context[ 0 ] : context; + + // Option to run scripts is true for back-compat + // Intentionally let the error be thrown if parseHTML is not present + jQuery.merge( this, jQuery.parseHTML( + match[ 1 ], + context && context.nodeType ? context.ownerDocument || context : document, + true + ) ); + + // HANDLE: $(html, props) + if ( rsingleTag.test( match[ 1 ] ) && jQuery.isPlainObject( context ) ) { + for ( match in context ) { + + // Properties of context are called as methods if possible + if ( isFunction( this[ match ] ) ) { + this[ match ]( context[ match ] ); + + // ...and otherwise set as attributes + } else { + this.attr( match, context[ match ] ); + } + } + } + + return this; + + // HANDLE: $(#id) + } else { + elem = document.getElementById( match[ 2 ] ); + + if ( elem ) { + + // Inject the element directly into the jQuery object + this[ 0 ] = elem; + this.length = 1; + } + return this; + } + + // HANDLE: $(expr, $(...)) + } else if ( !context || context.jquery ) { + return ( context || root ).find( selector ); + + // HANDLE: $(expr, context) + // (which is just equivalent to: $(context).find(expr) + } else { + return this.constructor( context ).find( selector ); + } + + // HANDLE: $(DOMElement) + } else if ( selector.nodeType ) { + this[ 0 ] = selector; + this.length = 1; + return this; + + // HANDLE: $(function) + // Shortcut for document ready + } else if ( isFunction( selector ) ) { + return root.ready !== undefined ? + root.ready( selector ) : + + // Execute immediately if ready is not present + selector( jQuery ); + } + + return jQuery.makeArray( selector, this ); + }; + +// Give the init function the jQuery prototype for later instantiation +init.prototype = jQuery.fn; + +// Initialize central reference +rootjQuery = jQuery( document ); + + +var rparentsprev = /^(?:parents|prev(?:Until|All))/, + + // Methods guaranteed to produce a unique set when starting from a unique set + guaranteedUnique = { + children: true, + contents: true, + next: true, + prev: true + }; + +jQuery.fn.extend( { + has: function( target ) { + var targets = jQuery( target, this ), + l = targets.length; + + return this.filter( function() { + var i = 0; + for ( ; i < l; i++ ) { + if ( jQuery.contains( this, targets[ i ] ) ) { + return true; + } + } + } ); + }, + + closest: function( selectors, context ) { + var cur, + i = 0, + l = this.length, + matched = [], + targets = typeof selectors !== "string" && jQuery( selectors ); + + // Positional selectors never match, since there's no _selection_ context + if ( !rneedsContext.test( selectors ) ) { + for ( ; i < l; i++ ) { + for ( cur = this[ i ]; cur && cur !== context; cur = cur.parentNode ) { + + // Always skip document fragments + if ( cur.nodeType < 11 && ( targets ? + targets.index( cur ) > -1 : + + // Don't pass non-elements to Sizzle + cur.nodeType === 1 && + jQuery.find.matchesSelector( cur, selectors ) ) ) { + + matched.push( cur ); + break; + } + } + } + } + + return this.pushStack( matched.length > 1 ? jQuery.uniqueSort( matched ) : matched ); + }, + + // Determine the position of an element within the set + index: function( elem ) { + + // No argument, return index in parent + if ( !elem ) { + return ( this[ 0 ] && this[ 0 ].parentNode ) ? this.first().prevAll().length : -1; + } + + // Index in selector + if ( typeof elem === "string" ) { + return indexOf.call( jQuery( elem ), this[ 0 ] ); + } + + // Locate the position of the desired element + return indexOf.call( this, + + // If it receives a jQuery object, the first element is used + elem.jquery ? elem[ 0 ] : elem + ); + }, + + add: function( selector, context ) { + return this.pushStack( + jQuery.uniqueSort( + jQuery.merge( this.get(), jQuery( selector, context ) ) + ) + ); + }, + + addBack: function( selector ) { + return this.add( selector == null ? + this.prevObject : this.prevObject.filter( selector ) + ); + } +} ); + +function sibling( cur, dir ) { + while ( ( cur = cur[ dir ] ) && cur.nodeType !== 1 ) {} + return cur; +} + +jQuery.each( { + parent: function( elem ) { + var parent = elem.parentNode; + return parent && parent.nodeType !== 11 ? parent : null; + }, + parents: function( elem ) { + return dir( elem, "parentNode" ); + }, + parentsUntil: function( elem, _i, until ) { + return dir( elem, "parentNode", until ); + }, + next: function( elem ) { + return sibling( elem, "nextSibling" ); + }, + prev: function( elem ) { + return sibling( elem, "previousSibling" ); + }, + nextAll: function( elem ) { + return dir( elem, "nextSibling" ); + }, + prevAll: function( elem ) { + return dir( elem, "previousSibling" ); + }, + nextUntil: function( elem, _i, until ) { + return dir( elem, "nextSibling", until ); + }, + prevUntil: function( elem, _i, until ) { + return dir( elem, "previousSibling", until ); + }, + siblings: function( elem ) { + return siblings( ( elem.parentNode || {} ).firstChild, elem ); + }, + children: function( elem ) { + return siblings( elem.firstChild ); + }, + contents: function( elem ) { + if ( elem.contentDocument != null && + + // Support: IE 11+ + // <object> elements with no `data` attribute has an object + // `contentDocument` with a `null` prototype. + getProto( elem.contentDocument ) ) { + + return elem.contentDocument; + } + + // Support: IE 9 - 11 only, iOS 7 only, Android Browser <=4.3 only + // Treat the template element as a regular one in browsers that + // don't support it. + if ( nodeName( elem, "template" ) ) { + elem = elem.content || elem; + } + + return jQuery.merge( [], elem.childNodes ); + } +}, function( name, fn ) { + jQuery.fn[ name ] = function( until, selector ) { + var matched = jQuery.map( this, fn, until ); + + if ( name.slice( -5 ) !== "Until" ) { + selector = until; + } + + if ( selector && typeof selector === "string" ) { + matched = jQuery.filter( selector, matched ); + } + + if ( this.length > 1 ) { + + // Remove duplicates + if ( !guaranteedUnique[ name ] ) { + jQuery.uniqueSort( matched ); + } + + // Reverse order for parents* and prev-derivatives + if ( rparentsprev.test( name ) ) { + matched.reverse(); + } + } + + return this.pushStack( matched ); + }; +} ); +var rnothtmlwhite = ( /[^\x20\t\r\n\f]+/g ); + + + +// Convert String-formatted options into Object-formatted ones +function createOptions( options ) { + var object = {}; + jQuery.each( options.match( rnothtmlwhite ) || [], function( _, flag ) { + object[ flag ] = true; + } ); + return object; +} + +/* + * Create a callback list using the following parameters: + * + * options: an optional list of space-separated options that will change how + * the callback list behaves or a more traditional option object + * + * By default a callback list will act like an event callback list and can be + * "fired" multiple times. + * + * Possible options: + * + * once: will ensure the callback list can only be fired once (like a Deferred) + * + * memory: will keep track of previous values and will call any callback added + * after the list has been fired right away with the latest "memorized" + * values (like a Deferred) + * + * unique: will ensure a callback can only be added once (no duplicate in the list) + * + * stopOnFalse: interrupt callings when a callback returns false + * + */ +jQuery.Callbacks = function( options ) { + + // Convert options from String-formatted to Object-formatted if needed + // (we check in cache first) + options = typeof options === "string" ? + createOptions( options ) : + jQuery.extend( {}, options ); + + var // Flag to know if list is currently firing + firing, + + // Last fire value for non-forgettable lists + memory, + + // Flag to know if list was already fired + fired, + + // Flag to prevent firing + locked, + + // Actual callback list + list = [], + + // Queue of execution data for repeatable lists + queue = [], + + // Index of currently firing callback (modified by add/remove as needed) + firingIndex = -1, + + // Fire callbacks + fire = function() { + + // Enforce single-firing + locked = locked || options.once; + + // Execute callbacks for all pending executions, + // respecting firingIndex overrides and runtime changes + fired = firing = true; + for ( ; queue.length; firingIndex = -1 ) { + memory = queue.shift(); + while ( ++firingIndex < list.length ) { + + // Run callback and check for early termination + if ( list[ firingIndex ].apply( memory[ 0 ], memory[ 1 ] ) === false && + options.stopOnFalse ) { + + // Jump to end and forget the data so .add doesn't re-fire + firingIndex = list.length; + memory = false; + } + } + } + + // Forget the data if we're done with it + if ( !options.memory ) { + memory = false; + } + + firing = false; + + // Clean up if we're done firing for good + if ( locked ) { + + // Keep an empty list if we have data for future add calls + if ( memory ) { + list = []; + + // Otherwise, this object is spent + } else { + list = ""; + } + } + }, + + // Actual Callbacks object + self = { + + // Add a callback or a collection of callbacks to the list + add: function() { + if ( list ) { + + // If we have memory from a past run, we should fire after adding + if ( memory && !firing ) { + firingIndex = list.length - 1; + queue.push( memory ); + } + + ( function add( args ) { + jQuery.each( args, function( _, arg ) { + if ( isFunction( arg ) ) { + if ( !options.unique || !self.has( arg ) ) { + list.push( arg ); + } + } else if ( arg && arg.length && toType( arg ) !== "string" ) { + + // Inspect recursively + add( arg ); + } + } ); + } )( arguments ); + + if ( memory && !firing ) { + fire(); + } + } + return this; + }, + + // Remove a callback from the list + remove: function() { + jQuery.each( arguments, function( _, arg ) { + var index; + while ( ( index = jQuery.inArray( arg, list, index ) ) > -1 ) { + list.splice( index, 1 ); + + // Handle firing indexes + if ( index <= firingIndex ) { + firingIndex--; + } + } + } ); + return this; + }, + + // Check if a given callback is in the list. + // If no argument is given, return whether or not list has callbacks attached. + has: function( fn ) { + return fn ? + jQuery.inArray( fn, list ) > -1 : + list.length > 0; + }, + + // Remove all callbacks from the list + empty: function() { + if ( list ) { + list = []; + } + return this; + }, + + // Disable .fire and .add + // Abort any current/pending executions + // Clear all callbacks and values + disable: function() { + locked = queue = []; + list = memory = ""; + return this; + }, + disabled: function() { + return !list; + }, + + // Disable .fire + // Also disable .add unless we have memory (since it would have no effect) + // Abort any pending executions + lock: function() { + locked = queue = []; + if ( !memory && !firing ) { + list = memory = ""; + } + return this; + }, + locked: function() { + return !!locked; + }, + + // Call all callbacks with the given context and arguments + fireWith: function( context, args ) { + if ( !locked ) { + args = args || []; + args = [ context, args.slice ? args.slice() : args ]; + queue.push( args ); + if ( !firing ) { + fire(); + } + } + return this; + }, + + // Call all the callbacks with the given arguments + fire: function() { + self.fireWith( this, arguments ); + return this; + }, + + // To know if the callbacks have already been called at least once + fired: function() { + return !!fired; + } + }; + + return self; +}; + + +function Identity( v ) { + return v; +} +function Thrower( ex ) { + throw ex; +} + +function adoptValue( value, resolve, reject, noValue ) { + var method; + + try { + + // Check for promise aspect first to privilege synchronous behavior + if ( value && isFunction( ( method = value.promise ) ) ) { + method.call( value ).done( resolve ).fail( reject ); + + // Other thenables + } else if ( value && isFunction( ( method = value.then ) ) ) { + method.call( value, resolve, reject ); + + // Other non-thenables + } else { + + // Control `resolve` arguments by letting Array#slice cast boolean `noValue` to integer: + // * false: [ value ].slice( 0 ) => resolve( value ) + // * true: [ value ].slice( 1 ) => resolve() + resolve.apply( undefined, [ value ].slice( noValue ) ); + } + + // For Promises/A+, convert exceptions into rejections + // Since jQuery.when doesn't unwrap thenables, we can skip the extra checks appearing in + // Deferred#then to conditionally suppress rejection. + } catch ( value ) { + + // Support: Android 4.0 only + // Strict mode functions invoked without .call/.apply get global-object context + reject.apply( undefined, [ value ] ); + } +} + +jQuery.extend( { + + Deferred: function( func ) { + var tuples = [ + + // action, add listener, callbacks, + // ... .then handlers, argument index, [final state] + [ "notify", "progress", jQuery.Callbacks( "memory" ), + jQuery.Callbacks( "memory" ), 2 ], + [ "resolve", "done", jQuery.Callbacks( "once memory" ), + jQuery.Callbacks( "once memory" ), 0, "resolved" ], + [ "reject", "fail", jQuery.Callbacks( "once memory" ), + jQuery.Callbacks( "once memory" ), 1, "rejected" ] + ], + state = "pending", + promise = { + state: function() { + return state; + }, + always: function() { + deferred.done( arguments ).fail( arguments ); + return this; + }, + "catch": function( fn ) { + return promise.then( null, fn ); + }, + + // Keep pipe for back-compat + pipe: function( /* fnDone, fnFail, fnProgress */ ) { + var fns = arguments; + + return jQuery.Deferred( function( newDefer ) { + jQuery.each( tuples, function( _i, tuple ) { + + // Map tuples (progress, done, fail) to arguments (done, fail, progress) + var fn = isFunction( fns[ tuple[ 4 ] ] ) && fns[ tuple[ 4 ] ]; + + // deferred.progress(function() { bind to newDefer or newDefer.notify }) + // deferred.done(function() { bind to newDefer or newDefer.resolve }) + // deferred.fail(function() { bind to newDefer or newDefer.reject }) + deferred[ tuple[ 1 ] ]( function() { + var returned = fn && fn.apply( this, arguments ); + if ( returned && isFunction( returned.promise ) ) { + returned.promise() + .progress( newDefer.notify ) + .done( newDefer.resolve ) + .fail( newDefer.reject ); + } else { + newDefer[ tuple[ 0 ] + "With" ]( + this, + fn ? [ returned ] : arguments + ); + } + } ); + } ); + fns = null; + } ).promise(); + }, + then: function( onFulfilled, onRejected, onProgress ) { + var maxDepth = 0; + function resolve( depth, deferred, handler, special ) { + return function() { + var that = this, + args = arguments, + mightThrow = function() { + var returned, then; + + // Support: Promises/A+ section 2.3.3.3.3 + // https://promisesaplus.com/#point-59 + // Ignore double-resolution attempts + if ( depth < maxDepth ) { + return; + } + + returned = handler.apply( that, args ); + + // Support: Promises/A+ section 2.3.1 + // https://promisesaplus.com/#point-48 + if ( returned === deferred.promise() ) { + throw new TypeError( "Thenable self-resolution" ); + } + + // Support: Promises/A+ sections 2.3.3.1, 3.5 + // https://promisesaplus.com/#point-54 + // https://promisesaplus.com/#point-75 + // Retrieve `then` only once + then = returned && + + // Support: Promises/A+ section 2.3.4 + // https://promisesaplus.com/#point-64 + // Only check objects and functions for thenability + ( typeof returned === "object" || + typeof returned === "function" ) && + returned.then; + + // Handle a returned thenable + if ( isFunction( then ) ) { + + // Special processors (notify) just wait for resolution + if ( special ) { + then.call( + returned, + resolve( maxDepth, deferred, Identity, special ), + resolve( maxDepth, deferred, Thrower, special ) + ); + + // Normal processors (resolve) also hook into progress + } else { + + // ...and disregard older resolution values + maxDepth++; + + then.call( + returned, + resolve( maxDepth, deferred, Identity, special ), + resolve( maxDepth, deferred, Thrower, special ), + resolve( maxDepth, deferred, Identity, + deferred.notifyWith ) + ); + } + + // Handle all other returned values + } else { + + // Only substitute handlers pass on context + // and multiple values (non-spec behavior) + if ( handler !== Identity ) { + that = undefined; + args = [ returned ]; + } + + // Process the value(s) + // Default process is resolve + ( special || deferred.resolveWith )( that, args ); + } + }, + + // Only normal processors (resolve) catch and reject exceptions + process = special ? + mightThrow : + function() { + try { + mightThrow(); + } catch ( e ) { + + if ( jQuery.Deferred.exceptionHook ) { + jQuery.Deferred.exceptionHook( e, + process.stackTrace ); + } + + // Support: Promises/A+ section 2.3.3.3.4.1 + // https://promisesaplus.com/#point-61 + // Ignore post-resolution exceptions + if ( depth + 1 >= maxDepth ) { + + // Only substitute handlers pass on context + // and multiple values (non-spec behavior) + if ( handler !== Thrower ) { + that = undefined; + args = [ e ]; + } + + deferred.rejectWith( that, args ); + } + } + }; + + // Support: Promises/A+ section 2.3.3.3.1 + // https://promisesaplus.com/#point-57 + // Re-resolve promises immediately to dodge false rejection from + // subsequent errors + if ( depth ) { + process(); + } else { + + // Call an optional hook to record the stack, in case of exception + // since it's otherwise lost when execution goes async + if ( jQuery.Deferred.getStackHook ) { + process.stackTrace = jQuery.Deferred.getStackHook(); + } + window.setTimeout( process ); + } + }; + } + + return jQuery.Deferred( function( newDefer ) { + + // progress_handlers.add( ... ) + tuples[ 0 ][ 3 ].add( + resolve( + 0, + newDefer, + isFunction( onProgress ) ? + onProgress : + Identity, + newDefer.notifyWith + ) + ); + + // fulfilled_handlers.add( ... ) + tuples[ 1 ][ 3 ].add( + resolve( + 0, + newDefer, + isFunction( onFulfilled ) ? + onFulfilled : + Identity + ) + ); + + // rejected_handlers.add( ... ) + tuples[ 2 ][ 3 ].add( + resolve( + 0, + newDefer, + isFunction( onRejected ) ? + onRejected : + Thrower + ) + ); + } ).promise(); + }, + + // Get a promise for this deferred + // If obj is provided, the promise aspect is added to the object + promise: function( obj ) { + return obj != null ? jQuery.extend( obj, promise ) : promise; + } + }, + deferred = {}; + + // Add list-specific methods + jQuery.each( tuples, function( i, tuple ) { + var list = tuple[ 2 ], + stateString = tuple[ 5 ]; + + // promise.progress = list.add + // promise.done = list.add + // promise.fail = list.add + promise[ tuple[ 1 ] ] = list.add; + + // Handle state + if ( stateString ) { + list.add( + function() { + + // state = "resolved" (i.e., fulfilled) + // state = "rejected" + state = stateString; + }, + + // rejected_callbacks.disable + // fulfilled_callbacks.disable + tuples[ 3 - i ][ 2 ].disable, + + // rejected_handlers.disable + // fulfilled_handlers.disable + tuples[ 3 - i ][ 3 ].disable, + + // progress_callbacks.lock + tuples[ 0 ][ 2 ].lock, + + // progress_handlers.lock + tuples[ 0 ][ 3 ].lock + ); + } + + // progress_handlers.fire + // fulfilled_handlers.fire + // rejected_handlers.fire + list.add( tuple[ 3 ].fire ); + + // deferred.notify = function() { deferred.notifyWith(...) } + // deferred.resolve = function() { deferred.resolveWith(...) } + // deferred.reject = function() { deferred.rejectWith(...) } + deferred[ tuple[ 0 ] ] = function() { + deferred[ tuple[ 0 ] + "With" ]( this === deferred ? undefined : this, arguments ); + return this; + }; + + // deferred.notifyWith = list.fireWith + // deferred.resolveWith = list.fireWith + // deferred.rejectWith = list.fireWith + deferred[ tuple[ 0 ] + "With" ] = list.fireWith; + } ); + + // Make the deferred a promise + promise.promise( deferred ); + + // Call given func if any + if ( func ) { + func.call( deferred, deferred ); + } + + // All done! + return deferred; + }, + + // Deferred helper + when: function( singleValue ) { + var + + // count of uncompleted subordinates + remaining = arguments.length, + + // count of unprocessed arguments + i = remaining, + + // subordinate fulfillment data + resolveContexts = Array( i ), + resolveValues = slice.call( arguments ), + + // the primary Deferred + primary = jQuery.Deferred(), + + // subordinate callback factory + updateFunc = function( i ) { + return function( value ) { + resolveContexts[ i ] = this; + resolveValues[ i ] = arguments.length > 1 ? slice.call( arguments ) : value; + if ( !( --remaining ) ) { + primary.resolveWith( resolveContexts, resolveValues ); + } + }; + }; + + // Single- and empty arguments are adopted like Promise.resolve + if ( remaining <= 1 ) { + adoptValue( singleValue, primary.done( updateFunc( i ) ).resolve, primary.reject, + !remaining ); + + // Use .then() to unwrap secondary thenables (cf. gh-3000) + if ( primary.state() === "pending" || + isFunction( resolveValues[ i ] && resolveValues[ i ].then ) ) { + + return primary.then(); + } + } + + // Multiple arguments are aggregated like Promise.all array elements + while ( i-- ) { + adoptValue( resolveValues[ i ], updateFunc( i ), primary.reject ); + } + + return primary.promise(); + } +} ); + + +// These usually indicate a programmer mistake during development, +// warn about them ASAP rather than swallowing them by default. +var rerrorNames = /^(Eval|Internal|Range|Reference|Syntax|Type|URI)Error$/; + +jQuery.Deferred.exceptionHook = function( error, stack ) { + + // Support: IE 8 - 9 only + // Console exists when dev tools are open, which can happen at any time + if ( window.console && window.console.warn && error && rerrorNames.test( error.name ) ) { + window.console.warn( "jQuery.Deferred exception: " + error.message, error.stack, stack ); + } +}; + + + + +jQuery.readyException = function( error ) { + window.setTimeout( function() { + throw error; + } ); +}; + + + + +// The deferred used on DOM ready +var readyList = jQuery.Deferred(); + +jQuery.fn.ready = function( fn ) { + + readyList + .then( fn ) + + // Wrap jQuery.readyException in a function so that the lookup + // happens at the time of error handling instead of callback + // registration. + .catch( function( error ) { + jQuery.readyException( error ); + } ); + + return this; +}; + +jQuery.extend( { + + // Is the DOM ready to be used? Set to true once it occurs. + isReady: false, + + // A counter to track how many items to wait for before + // the ready event fires. See #6781 + readyWait: 1, + + // Handle when the DOM is ready + ready: function( wait ) { + + // Abort if there are pending holds or we're already ready + if ( wait === true ? --jQuery.readyWait : jQuery.isReady ) { + return; + } + + // Remember that the DOM is ready + jQuery.isReady = true; + + // If a normal DOM Ready event fired, decrement, and wait if need be + if ( wait !== true && --jQuery.readyWait > 0 ) { + return; + } + + // If there are functions bound, to execute + readyList.resolveWith( document, [ jQuery ] ); + } +} ); + +jQuery.ready.then = readyList.then; + +// The ready event handler and self cleanup method +function completed() { + document.removeEventListener( "DOMContentLoaded", completed ); + window.removeEventListener( "load", completed ); + jQuery.ready(); +} + +// Catch cases where $(document).ready() is called +// after the browser event has already occurred. +// Support: IE <=9 - 10 only +// Older IE sometimes signals "interactive" too soon +if ( document.readyState === "complete" || + ( document.readyState !== "loading" && !document.documentElement.doScroll ) ) { + + // Handle it asynchronously to allow scripts the opportunity to delay ready + window.setTimeout( jQuery.ready ); + +} else { + + // Use the handy event callback + document.addEventListener( "DOMContentLoaded", completed ); + + // A fallback to window.onload, that will always work + window.addEventListener( "load", completed ); +} + + + + +// Multifunctional method to get and set values of a collection +// The value/s can optionally be executed if it's a function +var access = function( elems, fn, key, value, chainable, emptyGet, raw ) { + var i = 0, + len = elems.length, + bulk = key == null; + + // Sets many values + if ( toType( key ) === "object" ) { + chainable = true; + for ( i in key ) { + access( elems, fn, i, key[ i ], true, emptyGet, raw ); + } + + // Sets one value + } else if ( value !== undefined ) { + chainable = true; + + if ( !isFunction( value ) ) { + raw = true; + } + + if ( bulk ) { + + // Bulk operations run against the entire set + if ( raw ) { + fn.call( elems, value ); + fn = null; + + // ...except when executing function values + } else { + bulk = fn; + fn = function( elem, _key, value ) { + return bulk.call( jQuery( elem ), value ); + }; + } + } + + if ( fn ) { + for ( ; i < len; i++ ) { + fn( + elems[ i ], key, raw ? + value : + value.call( elems[ i ], i, fn( elems[ i ], key ) ) + ); + } + } + } + + if ( chainable ) { + return elems; + } + + // Gets + if ( bulk ) { + return fn.call( elems ); + } + + return len ? fn( elems[ 0 ], key ) : emptyGet; +}; + + +// Matches dashed string for camelizing +var rmsPrefix = /^-ms-/, + rdashAlpha = /-([a-z])/g; + +// Used by camelCase as callback to replace() +function fcamelCase( _all, letter ) { + return letter.toUpperCase(); +} + +// Convert dashed to camelCase; used by the css and data modules +// Support: IE <=9 - 11, Edge 12 - 15 +// Microsoft forgot to hump their vendor prefix (#9572) +function camelCase( string ) { + return string.replace( rmsPrefix, "ms-" ).replace( rdashAlpha, fcamelCase ); +} +var acceptData = function( owner ) { + + // Accepts only: + // - Node + // - Node.ELEMENT_NODE + // - Node.DOCUMENT_NODE + // - Object + // - Any + return owner.nodeType === 1 || owner.nodeType === 9 || !( +owner.nodeType ); +}; + + + + +function Data() { + this.expando = jQuery.expando + Data.uid++; +} + +Data.uid = 1; + +Data.prototype = { + + cache: function( owner ) { + + // Check if the owner object already has a cache + var value = owner[ this.expando ]; + + // If not, create one + if ( !value ) { + value = {}; + + // We can accept data for non-element nodes in modern browsers, + // but we should not, see #8335. + // Always return an empty object. + if ( acceptData( owner ) ) { + + // If it is a node unlikely to be stringify-ed or looped over + // use plain assignment + if ( owner.nodeType ) { + owner[ this.expando ] = value; + + // Otherwise secure it in a non-enumerable property + // configurable must be true to allow the property to be + // deleted when data is removed + } else { + Object.defineProperty( owner, this.expando, { + value: value, + configurable: true + } ); + } + } + } + + return value; + }, + set: function( owner, data, value ) { + var prop, + cache = this.cache( owner ); + + // Handle: [ owner, key, value ] args + // Always use camelCase key (gh-2257) + if ( typeof data === "string" ) { + cache[ camelCase( data ) ] = value; + + // Handle: [ owner, { properties } ] args + } else { + + // Copy the properties one-by-one to the cache object + for ( prop in data ) { + cache[ camelCase( prop ) ] = data[ prop ]; + } + } + return cache; + }, + get: function( owner, key ) { + return key === undefined ? + this.cache( owner ) : + + // Always use camelCase key (gh-2257) + owner[ this.expando ] && owner[ this.expando ][ camelCase( key ) ]; + }, + access: function( owner, key, value ) { + + // In cases where either: + // + // 1. No key was specified + // 2. A string key was specified, but no value provided + // + // Take the "read" path and allow the get method to determine + // which value to return, respectively either: + // + // 1. The entire cache object + // 2. The data stored at the key + // + if ( key === undefined || + ( ( key && typeof key === "string" ) && value === undefined ) ) { + + return this.get( owner, key ); + } + + // When the key is not a string, or both a key and value + // are specified, set or extend (existing objects) with either: + // + // 1. An object of properties + // 2. A key and value + // + this.set( owner, key, value ); + + // Since the "set" path can have two possible entry points + // return the expected data based on which path was taken[*] + return value !== undefined ? value : key; + }, + remove: function( owner, key ) { + var i, + cache = owner[ this.expando ]; + + if ( cache === undefined ) { + return; + } + + if ( key !== undefined ) { + + // Support array or space separated string of keys + if ( Array.isArray( key ) ) { + + // If key is an array of keys... + // We always set camelCase keys, so remove that. + key = key.map( camelCase ); + } else { + key = camelCase( key ); + + // If a key with the spaces exists, use it. + // Otherwise, create an array by matching non-whitespace + key = key in cache ? + [ key ] : + ( key.match( rnothtmlwhite ) || [] ); + } + + i = key.length; + + while ( i-- ) { + delete cache[ key[ i ] ]; + } + } + + // Remove the expando if there's no more data + if ( key === undefined || jQuery.isEmptyObject( cache ) ) { + + // Support: Chrome <=35 - 45 + // Webkit & Blink performance suffers when deleting properties + // from DOM nodes, so set to undefined instead + // https://bugs.chromium.org/p/chromium/issues/detail?id=378607 (bug restricted) + if ( owner.nodeType ) { + owner[ this.expando ] = undefined; + } else { + delete owner[ this.expando ]; + } + } + }, + hasData: function( owner ) { + var cache = owner[ this.expando ]; + return cache !== undefined && !jQuery.isEmptyObject( cache ); + } +}; +var dataPriv = new Data(); + +var dataUser = new Data(); + + + +// Implementation Summary +// +// 1. Enforce API surface and semantic compatibility with 1.9.x branch +// 2. Improve the module's maintainability by reducing the storage +// paths to a single mechanism. +// 3. Use the same single mechanism to support "private" and "user" data. +// 4. _Never_ expose "private" data to user code (TODO: Drop _data, _removeData) +// 5. Avoid exposing implementation details on user objects (eg. expando properties) +// 6. Provide a clear path for implementation upgrade to WeakMap in 2014 + +var rbrace = /^(?:\{[\w\W]*\}|\[[\w\W]*\])$/, + rmultiDash = /[A-Z]/g; + +function getData( data ) { + if ( data === "true" ) { + return true; + } + + if ( data === "false" ) { + return false; + } + + if ( data === "null" ) { + return null; + } + + // Only convert to a number if it doesn't change the string + if ( data === +data + "" ) { + return +data; + } + + if ( rbrace.test( data ) ) { + return JSON.parse( data ); + } + + return data; +} + +function dataAttr( elem, key, data ) { + var name; + + // If nothing was found internally, try to fetch any + // data from the HTML5 data-* attribute + if ( data === undefined && elem.nodeType === 1 ) { + name = "data-" + key.replace( rmultiDash, "-$&" ).toLowerCase(); + data = elem.getAttribute( name ); + + if ( typeof data === "string" ) { + try { + data = getData( data ); + } catch ( e ) {} + + // Make sure we set the data so it isn't changed later + dataUser.set( elem, key, data ); + } else { + data = undefined; + } + } + return data; +} + +jQuery.extend( { + hasData: function( elem ) { + return dataUser.hasData( elem ) || dataPriv.hasData( elem ); + }, + + data: function( elem, name, data ) { + return dataUser.access( elem, name, data ); + }, + + removeData: function( elem, name ) { + dataUser.remove( elem, name ); + }, + + // TODO: Now that all calls to _data and _removeData have been replaced + // with direct calls to dataPriv methods, these can be deprecated. + _data: function( elem, name, data ) { + return dataPriv.access( elem, name, data ); + }, + + _removeData: function( elem, name ) { + dataPriv.remove( elem, name ); + } +} ); + +jQuery.fn.extend( { + data: function( key, value ) { + var i, name, data, + elem = this[ 0 ], + attrs = elem && elem.attributes; + + // Gets all values + if ( key === undefined ) { + if ( this.length ) { + data = dataUser.get( elem ); + + if ( elem.nodeType === 1 && !dataPriv.get( elem, "hasDataAttrs" ) ) { + i = attrs.length; + while ( i-- ) { + + // Support: IE 11 only + // The attrs elements can be null (#14894) + if ( attrs[ i ] ) { + name = attrs[ i ].name; + if ( name.indexOf( "data-" ) === 0 ) { + name = camelCase( name.slice( 5 ) ); + dataAttr( elem, name, data[ name ] ); + } + } + } + dataPriv.set( elem, "hasDataAttrs", true ); + } + } + + return data; + } + + // Sets multiple values + if ( typeof key === "object" ) { + return this.each( function() { + dataUser.set( this, key ); + } ); + } + + return access( this, function( value ) { + var data; + + // The calling jQuery object (element matches) is not empty + // (and therefore has an element appears at this[ 0 ]) and the + // `value` parameter was not undefined. An empty jQuery object + // will result in `undefined` for elem = this[ 0 ] which will + // throw an exception if an attempt to read a data cache is made. + if ( elem && value === undefined ) { + + // Attempt to get data from the cache + // The key will always be camelCased in Data + data = dataUser.get( elem, key ); + if ( data !== undefined ) { + return data; + } + + // Attempt to "discover" the data in + // HTML5 custom data-* attrs + data = dataAttr( elem, key ); + if ( data !== undefined ) { + return data; + } + + // We tried really hard, but the data doesn't exist. + return; + } + + // Set the data... + this.each( function() { + + // We always store the camelCased key + dataUser.set( this, key, value ); + } ); + }, null, value, arguments.length > 1, null, true ); + }, + + removeData: function( key ) { + return this.each( function() { + dataUser.remove( this, key ); + } ); + } +} ); + + +jQuery.extend( { + queue: function( elem, type, data ) { + var queue; + + if ( elem ) { + type = ( type || "fx" ) + "queue"; + queue = dataPriv.get( elem, type ); + + // Speed up dequeue by getting out quickly if this is just a lookup + if ( data ) { + if ( !queue || Array.isArray( data ) ) { + queue = dataPriv.access( elem, type, jQuery.makeArray( data ) ); + } else { + queue.push( data ); + } + } + return queue || []; + } + }, + + dequeue: function( elem, type ) { + type = type || "fx"; + + var queue = jQuery.queue( elem, type ), + startLength = queue.length, + fn = queue.shift(), + hooks = jQuery._queueHooks( elem, type ), + next = function() { + jQuery.dequeue( elem, type ); + }; + + // If the fx queue is dequeued, always remove the progress sentinel + if ( fn === "inprogress" ) { + fn = queue.shift(); + startLength--; + } + + if ( fn ) { + + // Add a progress sentinel to prevent the fx queue from being + // automatically dequeued + if ( type === "fx" ) { + queue.unshift( "inprogress" ); + } + + // Clear up the last queue stop function + delete hooks.stop; + fn.call( elem, next, hooks ); + } + + if ( !startLength && hooks ) { + hooks.empty.fire(); + } + }, + + // Not public - generate a queueHooks object, or return the current one + _queueHooks: function( elem, type ) { + var key = type + "queueHooks"; + return dataPriv.get( elem, key ) || dataPriv.access( elem, key, { + empty: jQuery.Callbacks( "once memory" ).add( function() { + dataPriv.remove( elem, [ type + "queue", key ] ); + } ) + } ); + } +} ); + +jQuery.fn.extend( { + queue: function( type, data ) { + var setter = 2; + + if ( typeof type !== "string" ) { + data = type; + type = "fx"; + setter--; + } + + if ( arguments.length < setter ) { + return jQuery.queue( this[ 0 ], type ); + } + + return data === undefined ? + this : + this.each( function() { + var queue = jQuery.queue( this, type, data ); + + // Ensure a hooks for this queue + jQuery._queueHooks( this, type ); + + if ( type === "fx" && queue[ 0 ] !== "inprogress" ) { + jQuery.dequeue( this, type ); + } + } ); + }, + dequeue: function( type ) { + return this.each( function() { + jQuery.dequeue( this, type ); + } ); + }, + clearQueue: function( type ) { + return this.queue( type || "fx", [] ); + }, + + // Get a promise resolved when queues of a certain type + // are emptied (fx is the type by default) + promise: function( type, obj ) { + var tmp, + count = 1, + defer = jQuery.Deferred(), + elements = this, + i = this.length, + resolve = function() { + if ( !( --count ) ) { + defer.resolveWith( elements, [ elements ] ); + } + }; + + if ( typeof type !== "string" ) { + obj = type; + type = undefined; + } + type = type || "fx"; + + while ( i-- ) { + tmp = dataPriv.get( elements[ i ], type + "queueHooks" ); + if ( tmp && tmp.empty ) { + count++; + tmp.empty.add( resolve ); + } + } + resolve(); + return defer.promise( obj ); + } +} ); +var pnum = ( /[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/ ).source; + +var rcssNum = new RegExp( "^(?:([+-])=|)(" + pnum + ")([a-z%]*)$", "i" ); + + +var cssExpand = [ "Top", "Right", "Bottom", "Left" ]; + +var documentElement = document.documentElement; + + + + var isAttached = function( elem ) { + return jQuery.contains( elem.ownerDocument, elem ); + }, + composed = { composed: true }; + + // Support: IE 9 - 11+, Edge 12 - 18+, iOS 10.0 - 10.2 only + // Check attachment across shadow DOM boundaries when possible (gh-3504) + // Support: iOS 10.0-10.2 only + // Early iOS 10 versions support `attachShadow` but not `getRootNode`, + // leading to errors. We need to check for `getRootNode`. + if ( documentElement.getRootNode ) { + isAttached = function( elem ) { + return jQuery.contains( elem.ownerDocument, elem ) || + elem.getRootNode( composed ) === elem.ownerDocument; + }; + } +var isHiddenWithinTree = function( elem, el ) { + + // isHiddenWithinTree might be called from jQuery#filter function; + // in that case, element will be second argument + elem = el || elem; + + // Inline style trumps all + return elem.style.display === "none" || + elem.style.display === "" && + + // Otherwise, check computed style + // Support: Firefox <=43 - 45 + // Disconnected elements can have computed display: none, so first confirm that elem is + // in the document. + isAttached( elem ) && + + jQuery.css( elem, "display" ) === "none"; + }; + + + +function adjustCSS( elem, prop, valueParts, tween ) { + var adjusted, scale, + maxIterations = 20, + currentValue = tween ? + function() { + return tween.cur(); + } : + function() { + return jQuery.css( elem, prop, "" ); + }, + initial = currentValue(), + unit = valueParts && valueParts[ 3 ] || ( jQuery.cssNumber[ prop ] ? "" : "px" ), + + // Starting value computation is required for potential unit mismatches + initialInUnit = elem.nodeType && + ( jQuery.cssNumber[ prop ] || unit !== "px" && +initial ) && + rcssNum.exec( jQuery.css( elem, prop ) ); + + if ( initialInUnit && initialInUnit[ 3 ] !== unit ) { + + // Support: Firefox <=54 + // Halve the iteration target value to prevent interference from CSS upper bounds (gh-2144) + initial = initial / 2; + + // Trust units reported by jQuery.css + unit = unit || initialInUnit[ 3 ]; + + // Iteratively approximate from a nonzero starting point + initialInUnit = +initial || 1; + + while ( maxIterations-- ) { + + // Evaluate and update our best guess (doubling guesses that zero out). + // Finish if the scale equals or crosses 1 (making the old*new product non-positive). + jQuery.style( elem, prop, initialInUnit + unit ); + if ( ( 1 - scale ) * ( 1 - ( scale = currentValue() / initial || 0.5 ) ) <= 0 ) { + maxIterations = 0; + } + initialInUnit = initialInUnit / scale; + + } + + initialInUnit = initialInUnit * 2; + jQuery.style( elem, prop, initialInUnit + unit ); + + // Make sure we update the tween properties later on + valueParts = valueParts || []; + } + + if ( valueParts ) { + initialInUnit = +initialInUnit || +initial || 0; + + // Apply relative offset (+=/-=) if specified + adjusted = valueParts[ 1 ] ? + initialInUnit + ( valueParts[ 1 ] + 1 ) * valueParts[ 2 ] : + +valueParts[ 2 ]; + if ( tween ) { + tween.unit = unit; + tween.start = initialInUnit; + tween.end = adjusted; + } + } + return adjusted; +} + + +var defaultDisplayMap = {}; + +function getDefaultDisplay( elem ) { + var temp, + doc = elem.ownerDocument, + nodeName = elem.nodeName, + display = defaultDisplayMap[ nodeName ]; + + if ( display ) { + return display; + } + + temp = doc.body.appendChild( doc.createElement( nodeName ) ); + display = jQuery.css( temp, "display" ); + + temp.parentNode.removeChild( temp ); + + if ( display === "none" ) { + display = "block"; + } + defaultDisplayMap[ nodeName ] = display; + + return display; +} + +function showHide( elements, show ) { + var display, elem, + values = [], + index = 0, + length = elements.length; + + // Determine new display value for elements that need to change + for ( ; index < length; index++ ) { + elem = elements[ index ]; + if ( !elem.style ) { + continue; + } + + display = elem.style.display; + if ( show ) { + + // Since we force visibility upon cascade-hidden elements, an immediate (and slow) + // check is required in this first loop unless we have a nonempty display value (either + // inline or about-to-be-restored) + if ( display === "none" ) { + values[ index ] = dataPriv.get( elem, "display" ) || null; + if ( !values[ index ] ) { + elem.style.display = ""; + } + } + if ( elem.style.display === "" && isHiddenWithinTree( elem ) ) { + values[ index ] = getDefaultDisplay( elem ); + } + } else { + if ( display !== "none" ) { + values[ index ] = "none"; + + // Remember what we're overwriting + dataPriv.set( elem, "display", display ); + } + } + } + + // Set the display of the elements in a second loop to avoid constant reflow + for ( index = 0; index < length; index++ ) { + if ( values[ index ] != null ) { + elements[ index ].style.display = values[ index ]; + } + } + + return elements; +} + +jQuery.fn.extend( { + show: function() { + return showHide( this, true ); + }, + hide: function() { + return showHide( this ); + }, + toggle: function( state ) { + if ( typeof state === "boolean" ) { + return state ? this.show() : this.hide(); + } + + return this.each( function() { + if ( isHiddenWithinTree( this ) ) { + jQuery( this ).show(); + } else { + jQuery( this ).hide(); + } + } ); + } +} ); +var rcheckableType = ( /^(?:checkbox|radio)$/i ); + +var rtagName = ( /<([a-z][^\/\0>\x20\t\r\n\f]*)/i ); + +var rscriptType = ( /^$|^module$|\/(?:java|ecma)script/i ); + + + +( function() { + var fragment = document.createDocumentFragment(), + div = fragment.appendChild( document.createElement( "div" ) ), + input = document.createElement( "input" ); + + // Support: Android 4.0 - 4.3 only + // Check state lost if the name is set (#11217) + // Support: Windows Web Apps (WWA) + // `name` and `type` must use .setAttribute for WWA (#14901) + input.setAttribute( "type", "radio" ); + input.setAttribute( "checked", "checked" ); + input.setAttribute( "name", "t" ); + + div.appendChild( input ); + + // Support: Android <=4.1 only + // Older WebKit doesn't clone checked state correctly in fragments + support.checkClone = div.cloneNode( true ).cloneNode( true ).lastChild.checked; + + // Support: IE <=11 only + // Make sure textarea (and checkbox) defaultValue is properly cloned + div.innerHTML = "<textarea>x</textarea>"; + support.noCloneChecked = !!div.cloneNode( true ).lastChild.defaultValue; + + // Support: IE <=9 only + // IE <=9 replaces <option> tags with their contents when inserted outside of + // the select element. + div.innerHTML = "<option></option>"; + support.option = !!div.lastChild; +} )(); + + +// We have to close these tags to support XHTML (#13200) +var wrapMap = { + + // XHTML parsers do not magically insert elements in the + // same way that tag soup parsers do. So we cannot shorten + // this by omitting <tbody> or other required elements. + 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, "", "" ] +}; + +wrapMap.tbody = wrapMap.tfoot = wrapMap.colgroup = wrapMap.caption = wrapMap.thead; +wrapMap.th = wrapMap.td; + +// Support: IE <=9 only +if ( !support.option ) { + wrapMap.optgroup = wrapMap.option = [ 1, "<select multiple='multiple'>", "</select>" ]; +} + + +function getAll( context, tag ) { + + // Support: IE <=9 - 11 only + // Use typeof to avoid zero-argument method invocation on host objects (#15151) + var ret; + + if ( typeof context.getElementsByTagName !== "undefined" ) { + ret = context.getElementsByTagName( tag || "*" ); + + } else if ( typeof context.querySelectorAll !== "undefined" ) { + ret = context.querySelectorAll( tag || "*" ); + + } else { + ret = []; + } + + if ( tag === undefined || tag && nodeName( context, tag ) ) { + return jQuery.merge( [ context ], ret ); + } + + return ret; +} + + +// Mark scripts as having already been evaluated +function setGlobalEval( elems, refElements ) { + var i = 0, + l = elems.length; + + for ( ; i < l; i++ ) { + dataPriv.set( + elems[ i ], + "globalEval", + !refElements || dataPriv.get( refElements[ i ], "globalEval" ) + ); + } +} + + +var rhtml = /<|&#?\w+;/; + +function buildFragment( elems, context, scripts, selection, ignored ) { + var elem, tmp, tag, wrap, attached, j, + fragment = context.createDocumentFragment(), + nodes = [], + i = 0, + l = elems.length; + + for ( ; i < l; i++ ) { + elem = elems[ i ]; + + if ( elem || elem === 0 ) { + + // Add nodes directly + if ( toType( elem ) === "object" ) { + + // Support: Android <=4.0 only, PhantomJS 1 only + // push.apply(_, arraylike) throws on ancient WebKit + jQuery.merge( nodes, elem.nodeType ? [ elem ] : elem ); + + // Convert non-html into a text node + } else if ( !rhtml.test( elem ) ) { + nodes.push( context.createTextNode( elem ) ); + + // Convert html into DOM nodes + } else { + tmp = tmp || fragment.appendChild( context.createElement( "div" ) ); + + // Deserialize a standard representation + tag = ( rtagName.exec( elem ) || [ "", "" ] )[ 1 ].toLowerCase(); + wrap = wrapMap[ tag ] || wrapMap._default; + tmp.innerHTML = wrap[ 1 ] + jQuery.htmlPrefilter( elem ) + wrap[ 2 ]; + + // Descend through wrappers to the right content + j = wrap[ 0 ]; + while ( j-- ) { + tmp = tmp.lastChild; + } + + // Support: Android <=4.0 only, PhantomJS 1 only + // push.apply(_, arraylike) throws on ancient WebKit + jQuery.merge( nodes, tmp.childNodes ); + + // Remember the top-level container + tmp = fragment.firstChild; + + // Ensure the created nodes are orphaned (#12392) + tmp.textContent = ""; + } + } + } + + // Remove wrapper from fragment + fragment.textContent = ""; + + i = 0; + while ( ( elem = nodes[ i++ ] ) ) { + + // Skip elements already in the context collection (trac-4087) + if ( selection && jQuery.inArray( elem, selection ) > -1 ) { + if ( ignored ) { + ignored.push( elem ); + } + continue; + } + + attached = isAttached( elem ); + + // Append to fragment + tmp = getAll( fragment.appendChild( elem ), "script" ); + + // Preserve script evaluation history + if ( attached ) { + setGlobalEval( tmp ); + } + + // Capture executables + if ( scripts ) { + j = 0; + while ( ( elem = tmp[ j++ ] ) ) { + if ( rscriptType.test( elem.type || "" ) ) { + scripts.push( elem ); + } + } + } + } + + return fragment; +} + + +var rtypenamespace = /^([^.]*)(?:\.(.+)|)/; + +function returnTrue() { + return true; +} + +function returnFalse() { + return false; +} + +// Support: IE <=9 - 11+ +// focus() and blur() are asynchronous, except when they are no-op. +// So expect focus to be synchronous when the element is already active, +// and blur to be synchronous when the element is not already active. +// (focus and blur are always synchronous in other supported browsers, +// this just defines when we can count on it). +function expectSync( elem, type ) { + return ( elem === safeActiveElement() ) === ( type === "focus" ); +} + +// Support: IE <=9 only +// Accessing document.activeElement can throw unexpectedly +// https://bugs.jquery.com/ticket/13393 +function safeActiveElement() { + try { + return document.activeElement; + } catch ( err ) { } +} + +function on( elem, types, selector, data, fn, one ) { + var origFn, type; + + // Types can be a map of types/handlers + if ( typeof types === "object" ) { + + // ( types-Object, selector, data ) + if ( typeof selector !== "string" ) { + + // ( types-Object, data ) + data = data || selector; + selector = undefined; + } + for ( type in types ) { + on( elem, type, selector, data, types[ type ], one ); + } + return elem; + } + + if ( data == null && fn == null ) { + + // ( types, fn ) + fn = selector; + data = selector = undefined; + } else if ( fn == null ) { + if ( typeof selector === "string" ) { + + // ( types, selector, fn ) + fn = data; + data = undefined; + } else { + + // ( types, data, fn ) + fn = data; + data = selector; + selector = undefined; + } + } + if ( fn === false ) { + fn = returnFalse; + } else if ( !fn ) { + return elem; + } + + if ( one === 1 ) { + origFn = fn; + fn = function( event ) { + + // Can use an empty set, since event contains the info + jQuery().off( event ); + return origFn.apply( this, arguments ); + }; + + // Use same guid so caller can remove using origFn + fn.guid = origFn.guid || ( origFn.guid = jQuery.guid++ ); + } + return elem.each( function() { + jQuery.event.add( this, types, fn, data, selector ); + } ); +} + +/* + * Helper functions for managing events -- not part of the public interface. + * Props to Dean Edwards' addEvent library for many of the ideas. + */ +jQuery.event = { + + global: {}, + + add: function( elem, types, handler, data, selector ) { + + var handleObjIn, eventHandle, tmp, + events, t, handleObj, + special, handlers, type, namespaces, origType, + elemData = dataPriv.get( elem ); + + // Only attach events to objects that accept data + if ( !acceptData( elem ) ) { + return; + } + + // Caller can pass in an object of custom data in lieu of the handler + if ( handler.handler ) { + handleObjIn = handler; + handler = handleObjIn.handler; + selector = handleObjIn.selector; + } + + // Ensure that invalid selectors throw exceptions at attach time + // Evaluate against documentElement in case elem is a non-element node (e.g., document) + if ( selector ) { + jQuery.find.matchesSelector( documentElement, selector ); + } + + // Make sure that the handler has a unique ID, used to find/remove it later + if ( !handler.guid ) { + handler.guid = jQuery.guid++; + } + + // Init the element's event structure and main handler, if this is the first + if ( !( events = elemData.events ) ) { + events = elemData.events = Object.create( null ); + } + if ( !( eventHandle = elemData.handle ) ) { + eventHandle = elemData.handle = function( e ) { + + // Discard the second event of a jQuery.event.trigger() and + // when an event is called after a page has unloaded + return typeof jQuery !== "undefined" && jQuery.event.triggered !== e.type ? + jQuery.event.dispatch.apply( elem, arguments ) : undefined; + }; + } + + // Handle multiple events separated by a space + types = ( types || "" ).match( rnothtmlwhite ) || [ "" ]; + t = types.length; + while ( t-- ) { + tmp = rtypenamespace.exec( types[ t ] ) || []; + type = origType = tmp[ 1 ]; + namespaces = ( tmp[ 2 ] || "" ).split( "." ).sort(); + + // There *must* be a type, no attaching namespace-only handlers + if ( !type ) { + continue; + } + + // If event changes its type, use the special event handlers for the changed type + special = jQuery.event.special[ type ] || {}; + + // If selector defined, determine special event api type, otherwise given type + type = ( selector ? special.delegateType : special.bindType ) || type; + + // Update special based on newly reset type + special = jQuery.event.special[ type ] || {}; + + // handleObj is passed to all event handlers + handleObj = jQuery.extend( { + type: type, + origType: origType, + data: data, + handler: handler, + guid: handler.guid, + selector: selector, + needsContext: selector && jQuery.expr.match.needsContext.test( selector ), + namespace: namespaces.join( "." ) + }, handleObjIn ); + + // Init the event handler queue if we're the first + if ( !( handlers = events[ type ] ) ) { + handlers = events[ type ] = []; + handlers.delegateCount = 0; + + // Only use addEventListener if the special events handler returns false + if ( !special.setup || + special.setup.call( elem, data, namespaces, eventHandle ) === false ) { + + if ( elem.addEventListener ) { + elem.addEventListener( type, eventHandle ); + } + } + } + + if ( special.add ) { + special.add.call( elem, handleObj ); + + if ( !handleObj.handler.guid ) { + handleObj.handler.guid = handler.guid; + } + } + + // Add to the element's handler list, delegates in front + if ( selector ) { + handlers.splice( handlers.delegateCount++, 0, handleObj ); + } else { + handlers.push( handleObj ); + } + + // Keep track of which events have ever been used, for event optimization + jQuery.event.global[ type ] = true; + } + + }, + + // Detach an event or set of events from an element + remove: function( elem, types, handler, selector, mappedTypes ) { + + var j, origCount, tmp, + events, t, handleObj, + special, handlers, type, namespaces, origType, + elemData = dataPriv.hasData( elem ) && dataPriv.get( elem ); + + if ( !elemData || !( events = elemData.events ) ) { + return; + } + + // Once for each type.namespace in types; type may be omitted + types = ( types || "" ).match( rnothtmlwhite ) || [ "" ]; + t = types.length; + while ( t-- ) { + tmp = rtypenamespace.exec( types[ t ] ) || []; + type = origType = tmp[ 1 ]; + namespaces = ( tmp[ 2 ] || "" ).split( "." ).sort(); + + // Unbind all events (on this namespace, if provided) for the element + if ( !type ) { + for ( type in events ) { + jQuery.event.remove( elem, type + types[ t ], handler, selector, true ); + } + continue; + } + + special = jQuery.event.special[ type ] || {}; + type = ( selector ? special.delegateType : special.bindType ) || type; + handlers = events[ type ] || []; + tmp = tmp[ 2 ] && + new RegExp( "(^|\\.)" + namespaces.join( "\\.(?:.*\\.|)" ) + "(\\.|$)" ); + + // Remove matching events + origCount = j = handlers.length; + while ( j-- ) { + handleObj = handlers[ j ]; + + if ( ( mappedTypes || origType === handleObj.origType ) && + ( !handler || handler.guid === handleObj.guid ) && + ( !tmp || tmp.test( handleObj.namespace ) ) && + ( !selector || selector === handleObj.selector || + selector === "**" && handleObj.selector ) ) { + handlers.splice( j, 1 ); + + if ( handleObj.selector ) { + handlers.delegateCount--; + } + if ( special.remove ) { + special.remove.call( elem, handleObj ); + } + } + } + + // Remove generic event handler if we removed something and no more handlers exist + // (avoids potential for endless recursion during removal of special event handlers) + if ( origCount && !handlers.length ) { + if ( !special.teardown || + special.teardown.call( elem, namespaces, elemData.handle ) === false ) { + + jQuery.removeEvent( elem, type, elemData.handle ); + } + + delete events[ type ]; + } + } + + // Remove data and the expando if it's no longer used + if ( jQuery.isEmptyObject( events ) ) { + dataPriv.remove( elem, "handle events" ); + } + }, + + dispatch: function( nativeEvent ) { + + var i, j, ret, matched, handleObj, handlerQueue, + args = new Array( arguments.length ), + + // Make a writable jQuery.Event from the native event object + event = jQuery.event.fix( nativeEvent ), + + handlers = ( + dataPriv.get( this, "events" ) || Object.create( null ) + )[ event.type ] || [], + special = jQuery.event.special[ event.type ] || {}; + + // Use the fix-ed jQuery.Event rather than the (read-only) native event + args[ 0 ] = event; + + for ( i = 1; i < arguments.length; i++ ) { + args[ i ] = arguments[ i ]; + } + + event.delegateTarget = this; + + // Call the preDispatch hook for the mapped type, and let it bail if desired + if ( special.preDispatch && special.preDispatch.call( this, event ) === false ) { + return; + } + + // Determine handlers + handlerQueue = jQuery.event.handlers.call( this, event, handlers ); + + // Run delegates first; they may want to stop propagation beneath us + i = 0; + while ( ( matched = handlerQueue[ i++ ] ) && !event.isPropagationStopped() ) { + event.currentTarget = matched.elem; + + j = 0; + while ( ( handleObj = matched.handlers[ j++ ] ) && + !event.isImmediatePropagationStopped() ) { + + // If the event is namespaced, then each handler is only invoked if it is + // specially universal or its namespaces are a superset of the event's. + if ( !event.rnamespace || handleObj.namespace === false || + event.rnamespace.test( handleObj.namespace ) ) { + + event.handleObj = handleObj; + event.data = handleObj.data; + + ret = ( ( jQuery.event.special[ handleObj.origType ] || {} ).handle || + handleObj.handler ).apply( matched.elem, args ); + + if ( ret !== undefined ) { + if ( ( event.result = ret ) === false ) { + event.preventDefault(); + event.stopPropagation(); + } + } + } + } + } + + // Call the postDispatch hook for the mapped type + if ( special.postDispatch ) { + special.postDispatch.call( this, event ); + } + + return event.result; + }, + + handlers: function( event, handlers ) { + var i, handleObj, sel, matchedHandlers, matchedSelectors, + handlerQueue = [], + delegateCount = handlers.delegateCount, + cur = event.target; + + // Find delegate handlers + if ( delegateCount && + + // Support: IE <=9 + // Black-hole SVG <use> instance trees (trac-13180) + cur.nodeType && + + // Support: Firefox <=42 + // Suppress spec-violating clicks indicating a non-primary pointer button (trac-3861) + // https://www.w3.org/TR/DOM-Level-3-Events/#event-type-click + // Support: IE 11 only + // ...but not arrow key "clicks" of radio inputs, which can have `button` -1 (gh-2343) + !( event.type === "click" && event.button >= 1 ) ) { + + for ( ; cur !== this; cur = cur.parentNode || this ) { + + // Don't check non-elements (#13208) + // Don't process clicks on disabled elements (#6911, #8165, #11382, #11764) + if ( cur.nodeType === 1 && !( event.type === "click" && cur.disabled === true ) ) { + matchedHandlers = []; + matchedSelectors = {}; + for ( i = 0; i < delegateCount; i++ ) { + handleObj = handlers[ i ]; + + // Don't conflict with Object.prototype properties (#13203) + sel = handleObj.selector + " "; + + if ( matchedSelectors[ sel ] === undefined ) { + matchedSelectors[ sel ] = handleObj.needsContext ? + jQuery( sel, this ).index( cur ) > -1 : + jQuery.find( sel, this, null, [ cur ] ).length; + } + if ( matchedSelectors[ sel ] ) { + matchedHandlers.push( handleObj ); + } + } + if ( matchedHandlers.length ) { + handlerQueue.push( { elem: cur, handlers: matchedHandlers } ); + } + } + } + } + + // Add the remaining (directly-bound) handlers + cur = this; + if ( delegateCount < handlers.length ) { + handlerQueue.push( { elem: cur, handlers: handlers.slice( delegateCount ) } ); + } + + return handlerQueue; + }, + + addProp: function( name, hook ) { + Object.defineProperty( jQuery.Event.prototype, name, { + enumerable: true, + configurable: true, + + get: isFunction( hook ) ? + function() { + if ( this.originalEvent ) { + return hook( this.originalEvent ); + } + } : + function() { + if ( this.originalEvent ) { + return this.originalEvent[ name ]; + } + }, + + set: function( value ) { + Object.defineProperty( this, name, { + enumerable: true, + configurable: true, + writable: true, + value: value + } ); + } + } ); + }, + + fix: function( originalEvent ) { + return originalEvent[ jQuery.expando ] ? + originalEvent : + new jQuery.Event( originalEvent ); + }, + + special: { + load: { + + // Prevent triggered image.load events from bubbling to window.load + noBubble: true + }, + click: { + + // Utilize native event to ensure correct state for checkable inputs + setup: function( data ) { + + // For mutual compressibility with _default, replace `this` access with a local var. + // `|| data` is dead code meant only to preserve the variable through minification. + var el = this || data; + + // Claim the first handler + if ( rcheckableType.test( el.type ) && + el.click && nodeName( el, "input" ) ) { + + // dataPriv.set( el, "click", ... ) + leverageNative( el, "click", returnTrue ); + } + + // Return false to allow normal processing in the caller + return false; + }, + trigger: function( data ) { + + // For mutual compressibility with _default, replace `this` access with a local var. + // `|| data` is dead code meant only to preserve the variable through minification. + var el = this || data; + + // Force setup before triggering a click + if ( rcheckableType.test( el.type ) && + el.click && nodeName( el, "input" ) ) { + + leverageNative( el, "click" ); + } + + // Return non-false to allow normal event-path propagation + return true; + }, + + // For cross-browser consistency, suppress native .click() on links + // Also prevent it if we're currently inside a leveraged native-event stack + _default: function( event ) { + var target = event.target; + return rcheckableType.test( target.type ) && + target.click && nodeName( target, "input" ) && + dataPriv.get( target, "click" ) || + nodeName( target, "a" ); + } + }, + + beforeunload: { + postDispatch: function( event ) { + + // Support: Firefox 20+ + // Firefox doesn't alert if the returnValue field is not set. + if ( event.result !== undefined && event.originalEvent ) { + event.originalEvent.returnValue = event.result; + } + } + } + } +}; + +// Ensure the presence of an event listener that handles manually-triggered +// synthetic events by interrupting progress until reinvoked in response to +// *native* events that it fires directly, ensuring that state changes have +// already occurred before other listeners are invoked. +function leverageNative( el, type, expectSync ) { + + // Missing expectSync indicates a trigger call, which must force setup through jQuery.event.add + if ( !expectSync ) { + if ( dataPriv.get( el, type ) === undefined ) { + jQuery.event.add( el, type, returnTrue ); + } + return; + } + + // Register the controller as a special universal handler for all event namespaces + dataPriv.set( el, type, false ); + jQuery.event.add( el, type, { + namespace: false, + handler: function( event ) { + var notAsync, result, + saved = dataPriv.get( this, type ); + + if ( ( event.isTrigger & 1 ) && this[ type ] ) { + + // Interrupt processing of the outer synthetic .trigger()ed event + // Saved data should be false in such cases, but might be a leftover capture object + // from an async native handler (gh-4350) + if ( !saved.length ) { + + // Store arguments for use when handling the inner native event + // There will always be at least one argument (an event object), so this array + // will not be confused with a leftover capture object. + saved = slice.call( arguments ); + dataPriv.set( this, type, saved ); + + // Trigger the native event and capture its result + // Support: IE <=9 - 11+ + // focus() and blur() are asynchronous + notAsync = expectSync( this, type ); + this[ type ](); + result = dataPriv.get( this, type ); + if ( saved !== result || notAsync ) { + dataPriv.set( this, type, false ); + } else { + result = {}; + } + if ( saved !== result ) { + + // Cancel the outer synthetic event + event.stopImmediatePropagation(); + event.preventDefault(); + + // Support: Chrome 86+ + // In Chrome, if an element having a focusout handler is blurred by + // clicking outside of it, it invokes the handler synchronously. If + // that handler calls `.remove()` on the element, the data is cleared, + // leaving `result` undefined. We need to guard against this. + return result && result.value; + } + + // If this is an inner synthetic event for an event with a bubbling surrogate + // (focus or blur), assume that the surrogate already propagated from triggering the + // native event and prevent that from happening again here. + // This technically gets the ordering wrong w.r.t. to `.trigger()` (in which the + // bubbling surrogate propagates *after* the non-bubbling base), but that seems + // less bad than duplication. + } else if ( ( jQuery.event.special[ type ] || {} ).delegateType ) { + event.stopPropagation(); + } + + // If this is a native event triggered above, everything is now in order + // Fire an inner synthetic event with the original arguments + } else if ( saved.length ) { + + // ...and capture the result + dataPriv.set( this, type, { + value: jQuery.event.trigger( + + // Support: IE <=9 - 11+ + // Extend with the prototype to reset the above stopImmediatePropagation() + jQuery.extend( saved[ 0 ], jQuery.Event.prototype ), + saved.slice( 1 ), + this + ) + } ); + + // Abort handling of the native event + event.stopImmediatePropagation(); + } + } + } ); +} + +jQuery.removeEvent = function( elem, type, handle ) { + + // This "if" is needed for plain objects + if ( elem.removeEventListener ) { + elem.removeEventListener( type, handle ); + } +}; + +jQuery.Event = function( src, props ) { + + // Allow instantiation without the 'new' keyword + if ( !( this instanceof jQuery.Event ) ) { + return new jQuery.Event( src, props ); + } + + // Event object + if ( src && src.type ) { + this.originalEvent = src; + this.type = src.type; + + // Events bubbling up the document may have been marked as prevented + // by a handler lower down the tree; reflect the correct value. + this.isDefaultPrevented = src.defaultPrevented || + src.defaultPrevented === undefined && + + // Support: Android <=2.3 only + src.returnValue === false ? + returnTrue : + returnFalse; + + // Create target properties + // Support: Safari <=6 - 7 only + // Target should not be a text node (#504, #13143) + this.target = ( src.target && src.target.nodeType === 3 ) ? + src.target.parentNode : + src.target; + + this.currentTarget = src.currentTarget; + this.relatedTarget = src.relatedTarget; + + // Event type + } else { + this.type = src; + } + + // Put explicitly provided properties onto the event object + if ( props ) { + jQuery.extend( this, props ); + } + + // Create a timestamp if incoming event doesn't have one + this.timeStamp = src && src.timeStamp || Date.now(); + + // Mark it as fixed + this[ jQuery.expando ] = true; +}; + +// jQuery.Event is based on DOM3 Events as specified by the ECMAScript Language Binding +// https://www.w3.org/TR/2003/WD-DOM-Level-3-Events-20030331/ecma-script-binding.html +jQuery.Event.prototype = { + constructor: jQuery.Event, + isDefaultPrevented: returnFalse, + isPropagationStopped: returnFalse, + isImmediatePropagationStopped: returnFalse, + isSimulated: false, + + preventDefault: function() { + var e = this.originalEvent; + + this.isDefaultPrevented = returnTrue; + + if ( e && !this.isSimulated ) { + e.preventDefault(); + } + }, + stopPropagation: function() { + var e = this.originalEvent; + + this.isPropagationStopped = returnTrue; + + if ( e && !this.isSimulated ) { + e.stopPropagation(); + } + }, + stopImmediatePropagation: function() { + var e = this.originalEvent; + + this.isImmediatePropagationStopped = returnTrue; + + if ( e && !this.isSimulated ) { + e.stopImmediatePropagation(); + } + + this.stopPropagation(); + } +}; + +// Includes all common event props including KeyEvent and MouseEvent specific props +jQuery.each( { + altKey: true, + bubbles: true, + cancelable: true, + changedTouches: true, + ctrlKey: true, + detail: true, + eventPhase: true, + metaKey: true, + pageX: true, + pageY: true, + shiftKey: true, + view: true, + "char": true, + code: true, + charCode: true, + key: true, + keyCode: true, + button: true, + buttons: true, + clientX: true, + clientY: true, + offsetX: true, + offsetY: true, + pointerId: true, + pointerType: true, + screenX: true, + screenY: true, + targetTouches: true, + toElement: true, + touches: true, + which: true +}, jQuery.event.addProp ); + +jQuery.each( { focus: "focusin", blur: "focusout" }, function( type, delegateType ) { + jQuery.event.special[ type ] = { + + // Utilize native event if possible so blur/focus sequence is correct + setup: function() { + + // Claim the first handler + // dataPriv.set( this, "focus", ... ) + // dataPriv.set( this, "blur", ... ) + leverageNative( this, type, expectSync ); + + // Return false to allow normal processing in the caller + return false; + }, + trigger: function() { + + // Force setup before trigger + leverageNative( this, type ); + + // Return non-false to allow normal event-path propagation + return true; + }, + + // Suppress native focus or blur as it's already being fired + // in leverageNative. + _default: function() { + return true; + }, + + delegateType: delegateType + }; +} ); + +// Create mouseenter/leave events using mouseover/out and event-time checks +// so that event delegation works in jQuery. +// Do the same for pointerenter/pointerleave and pointerover/pointerout +// +// Support: Safari 7 only +// Safari sends mouseenter too often; see: +// https://bugs.chromium.org/p/chromium/issues/detail?id=470258 +// for the description of the bug (it existed in older Chrome versions as well). +jQuery.each( { + mouseenter: "mouseover", + mouseleave: "mouseout", + pointerenter: "pointerover", + pointerleave: "pointerout" +}, function( orig, fix ) { + jQuery.event.special[ orig ] = { + delegateType: fix, + bindType: fix, + + handle: function( event ) { + var ret, + target = this, + related = event.relatedTarget, + handleObj = event.handleObj; + + // For mouseenter/leave call the handler if related is outside the target. + // NB: No relatedTarget if the mouse left/entered the browser window + if ( !related || ( related !== target && !jQuery.contains( target, related ) ) ) { + event.type = handleObj.origType; + ret = handleObj.handler.apply( this, arguments ); + event.type = fix; + } + return ret; + } + }; +} ); + +jQuery.fn.extend( { + + on: function( types, selector, data, fn ) { + return on( this, types, selector, data, fn ); + }, + one: function( types, selector, data, fn ) { + return on( this, types, selector, data, fn, 1 ); + }, + off: function( types, selector, fn ) { + var handleObj, type; + if ( types && types.preventDefault && types.handleObj ) { + + // ( event ) dispatched jQuery.Event + handleObj = types.handleObj; + jQuery( types.delegateTarget ).off( + handleObj.namespace ? + handleObj.origType + "." + handleObj.namespace : + handleObj.origType, + handleObj.selector, + handleObj.handler + ); + return this; + } + if ( typeof types === "object" ) { + + // ( types-object [, selector] ) + for ( type in types ) { + this.off( type, selector, types[ type ] ); + } + return this; + } + if ( selector === false || typeof selector === "function" ) { + + // ( types [, fn] ) + fn = selector; + selector = undefined; + } + if ( fn === false ) { + fn = returnFalse; + } + return this.each( function() { + jQuery.event.remove( this, types, fn, selector ); + } ); + } +} ); + + +var + + // Support: IE <=10 - 11, Edge 12 - 13 only + // In IE/Edge using regex groups here causes severe slowdowns. + // See https://connect.microsoft.com/IE/feedback/details/1736512/ + rnoInnerhtml = /<script|<style|<link/i, + + // checked="checked" or checked + rchecked = /checked\s*(?:[^=]|=\s*.checked.)/i, + rcleanScript = /^\s*<!(?:\[CDATA\[|--)|(?:\]\]|--)>\s*$/g; + +// Prefer a tbody over its parent table for containing new rows +function manipulationTarget( elem, content ) { + if ( nodeName( elem, "table" ) && + nodeName( content.nodeType !== 11 ? content : content.firstChild, "tr" ) ) { + + return jQuery( elem ).children( "tbody" )[ 0 ] || elem; + } + + return elem; +} + +// Replace/restore the type attribute of script elements for safe DOM manipulation +function disableScript( elem ) { + elem.type = ( elem.getAttribute( "type" ) !== null ) + "/" + elem.type; + return elem; +} +function restoreScript( elem ) { + if ( ( elem.type || "" ).slice( 0, 5 ) === "true/" ) { + elem.type = elem.type.slice( 5 ); + } else { + elem.removeAttribute( "type" ); + } + + return elem; +} + +function cloneCopyEvent( src, dest ) { + var i, l, type, pdataOld, udataOld, udataCur, events; + + if ( dest.nodeType !== 1 ) { + return; + } + + // 1. Copy private data: events, handlers, etc. + if ( dataPriv.hasData( src ) ) { + pdataOld = dataPriv.get( src ); + events = pdataOld.events; + + if ( events ) { + dataPriv.remove( dest, "handle events" ); + + for ( type in events ) { + for ( i = 0, l = events[ type ].length; i < l; i++ ) { + jQuery.event.add( dest, type, events[ type ][ i ] ); + } + } + } + } + + // 2. Copy user data + if ( dataUser.hasData( src ) ) { + udataOld = dataUser.access( src ); + udataCur = jQuery.extend( {}, udataOld ); + + dataUser.set( dest, udataCur ); + } +} + +// Fix IE bugs, see support tests +function fixInput( src, dest ) { + var nodeName = dest.nodeName.toLowerCase(); + + // Fails to persist the checked state of a cloned checkbox or radio button. + if ( nodeName === "input" && rcheckableType.test( src.type ) ) { + dest.checked = src.checked; + + // Fails to return the selected option to the default selected state when cloning options + } else if ( nodeName === "input" || nodeName === "textarea" ) { + dest.defaultValue = src.defaultValue; + } +} + +function domManip( collection, args, callback, ignored ) { + + // Flatten any nested arrays + args = flat( args ); + + var fragment, first, scripts, hasScripts, node, doc, + i = 0, + l = collection.length, + iNoClone = l - 1, + value = args[ 0 ], + valueIsFunction = isFunction( value ); + + // We can't cloneNode fragments that contain checked, in WebKit + if ( valueIsFunction || + ( l > 1 && typeof value === "string" && + !support.checkClone && rchecked.test( value ) ) ) { + return collection.each( function( index ) { + var self = collection.eq( index ); + if ( valueIsFunction ) { + args[ 0 ] = value.call( this, index, self.html() ); + } + domManip( self, args, callback, ignored ); + } ); + } + + if ( l ) { + fragment = buildFragment( args, collection[ 0 ].ownerDocument, false, collection, ignored ); + first = fragment.firstChild; + + if ( fragment.childNodes.length === 1 ) { + fragment = first; + } + + // Require either new content or an interest in ignored elements to invoke the callback + if ( first || ignored ) { + scripts = jQuery.map( getAll( fragment, "script" ), disableScript ); + hasScripts = scripts.length; + + // Use the original fragment for the last item + // instead of the first because it can end up + // being emptied incorrectly in certain situations (#8070). + for ( ; i < l; i++ ) { + node = fragment; + + if ( i !== iNoClone ) { + node = jQuery.clone( node, true, true ); + + // Keep references to cloned scripts for later restoration + if ( hasScripts ) { + + // Support: Android <=4.0 only, PhantomJS 1 only + // push.apply(_, arraylike) throws on ancient WebKit + jQuery.merge( scripts, getAll( node, "script" ) ); + } + } + + callback.call( collection[ i ], node, i ); + } + + if ( hasScripts ) { + doc = scripts[ scripts.length - 1 ].ownerDocument; + + // Reenable scripts + jQuery.map( scripts, restoreScript ); + + // Evaluate executable scripts on first document insertion + for ( i = 0; i < hasScripts; i++ ) { + node = scripts[ i ]; + if ( rscriptType.test( node.type || "" ) && + !dataPriv.access( node, "globalEval" ) && + jQuery.contains( doc, node ) ) { + + if ( node.src && ( node.type || "" ).toLowerCase() !== "module" ) { + + // Optional AJAX dependency, but won't run scripts if not present + if ( jQuery._evalUrl && !node.noModule ) { + jQuery._evalUrl( node.src, { + nonce: node.nonce || node.getAttribute( "nonce" ) + }, doc ); + } + } else { + DOMEval( node.textContent.replace( rcleanScript, "" ), node, doc ); + } + } + } + } + } + } + + return collection; +} + +function remove( elem, selector, keepData ) { + var node, + nodes = selector ? jQuery.filter( selector, elem ) : elem, + i = 0; + + for ( ; ( node = nodes[ i ] ) != null; i++ ) { + if ( !keepData && node.nodeType === 1 ) { + jQuery.cleanData( getAll( node ) ); + } + + if ( node.parentNode ) { + if ( keepData && isAttached( node ) ) { + setGlobalEval( getAll( node, "script" ) ); + } + node.parentNode.removeChild( node ); + } + } + + return elem; +} + +jQuery.extend( { + htmlPrefilter: function( html ) { + return html; + }, + + clone: function( elem, dataAndEvents, deepDataAndEvents ) { + var i, l, srcElements, destElements, + clone = elem.cloneNode( true ), + inPage = isAttached( elem ); + + // Fix IE cloning issues + if ( !support.noCloneChecked && ( elem.nodeType === 1 || elem.nodeType === 11 ) && + !jQuery.isXMLDoc( elem ) ) { + + // We eschew Sizzle here for performance reasons: https://jsperf.com/getall-vs-sizzle/2 + destElements = getAll( clone ); + srcElements = getAll( elem ); + + for ( i = 0, l = srcElements.length; i < l; i++ ) { + fixInput( srcElements[ i ], destElements[ i ] ); + } + } + + // Copy the events from the original to the clone + if ( dataAndEvents ) { + if ( deepDataAndEvents ) { + srcElements = srcElements || getAll( elem ); + destElements = destElements || getAll( clone ); + + for ( i = 0, l = srcElements.length; i < l; i++ ) { + cloneCopyEvent( srcElements[ i ], destElements[ i ] ); + } + } else { + cloneCopyEvent( elem, clone ); + } + } + + // Preserve script evaluation history + destElements = getAll( clone, "script" ); + if ( destElements.length > 0 ) { + setGlobalEval( destElements, !inPage && getAll( elem, "script" ) ); + } + + // Return the cloned set + return clone; + }, + + cleanData: function( elems ) { + var data, elem, type, + special = jQuery.event.special, + i = 0; + + for ( ; ( elem = elems[ i ] ) !== undefined; i++ ) { + if ( acceptData( elem ) ) { + if ( ( data = elem[ dataPriv.expando ] ) ) { + if ( data.events ) { + for ( type in data.events ) { + if ( special[ type ] ) { + jQuery.event.remove( elem, type ); + + // This is a shortcut to avoid jQuery.event.remove's overhead + } else { + jQuery.removeEvent( elem, type, data.handle ); + } + } + } + + // Support: Chrome <=35 - 45+ + // Assign undefined instead of using delete, see Data#remove + elem[ dataPriv.expando ] = undefined; + } + if ( elem[ dataUser.expando ] ) { + + // Support: Chrome <=35 - 45+ + // Assign undefined instead of using delete, see Data#remove + elem[ dataUser.expando ] = undefined; + } + } + } + } +} ); + +jQuery.fn.extend( { + detach: function( selector ) { + return remove( this, selector, true ); + }, + + remove: function( selector ) { + return remove( this, selector ); + }, + + text: function( value ) { + return access( this, function( value ) { + return value === undefined ? + jQuery.text( this ) : + this.empty().each( function() { + if ( this.nodeType === 1 || this.nodeType === 11 || this.nodeType === 9 ) { + this.textContent = value; + } + } ); + }, null, value, arguments.length ); + }, + + append: function() { + return domManip( this, arguments, function( elem ) { + if ( this.nodeType === 1 || this.nodeType === 11 || this.nodeType === 9 ) { + var target = manipulationTarget( this, elem ); + target.appendChild( elem ); + } + } ); + }, + + prepend: function() { + return domManip( this, arguments, function( elem ) { + if ( this.nodeType === 1 || this.nodeType === 11 || this.nodeType === 9 ) { + var target = manipulationTarget( this, elem ); + target.insertBefore( elem, target.firstChild ); + } + } ); + }, + + before: function() { + return domManip( this, arguments, function( elem ) { + if ( this.parentNode ) { + this.parentNode.insertBefore( elem, this ); + } + } ); + }, + + after: function() { + return domManip( this, arguments, function( elem ) { + if ( this.parentNode ) { + this.parentNode.insertBefore( elem, this.nextSibling ); + } + } ); + }, + + empty: function() { + var elem, + i = 0; + + for ( ; ( elem = this[ i ] ) != null; i++ ) { + if ( elem.nodeType === 1 ) { + + // Prevent memory leaks + jQuery.cleanData( getAll( elem, false ) ); + + // Remove any remaining nodes + elem.textContent = ""; + } + } + + return this; + }, + + clone: function( dataAndEvents, deepDataAndEvents ) { + dataAndEvents = dataAndEvents == null ? false : dataAndEvents; + deepDataAndEvents = deepDataAndEvents == null ? dataAndEvents : deepDataAndEvents; + + return this.map( function() { + return jQuery.clone( this, dataAndEvents, deepDataAndEvents ); + } ); + }, + + html: function( value ) { + return access( this, function( value ) { + var elem = this[ 0 ] || {}, + i = 0, + l = this.length; + + if ( value === undefined && elem.nodeType === 1 ) { + return elem.innerHTML; + } + + // See if we can take a shortcut and just use innerHTML + if ( typeof value === "string" && !rnoInnerhtml.test( value ) && + !wrapMap[ ( rtagName.exec( value ) || [ "", "" ] )[ 1 ].toLowerCase() ] ) { + + value = jQuery.htmlPrefilter( value ); + + try { + for ( ; i < l; i++ ) { + elem = this[ i ] || {}; + + // Remove element nodes and prevent memory leaks + if ( elem.nodeType === 1 ) { + jQuery.cleanData( getAll( elem, false ) ); + elem.innerHTML = value; + } + } + + elem = 0; + + // If using innerHTML throws an exception, use the fallback method + } catch ( e ) {} + } + + if ( elem ) { + this.empty().append( value ); + } + }, null, value, arguments.length ); + }, + + replaceWith: function() { + var ignored = []; + + // Make the changes, replacing each non-ignored context element with the new content + return domManip( this, arguments, function( elem ) { + var parent = this.parentNode; + + if ( jQuery.inArray( this, ignored ) < 0 ) { + jQuery.cleanData( getAll( this ) ); + if ( parent ) { + parent.replaceChild( elem, this ); + } + } + + // Force callback invocation + }, ignored ); + } +} ); + +jQuery.each( { + appendTo: "append", + prependTo: "prepend", + insertBefore: "before", + insertAfter: "after", + replaceAll: "replaceWith" +}, function( name, original ) { + jQuery.fn[ name ] = function( selector ) { + var elems, + ret = [], + insert = jQuery( selector ), + last = insert.length - 1, + i = 0; + + for ( ; i <= last; i++ ) { + elems = i === last ? this : this.clone( true ); + jQuery( insert[ i ] )[ original ]( elems ); + + // Support: Android <=4.0 only, PhantomJS 1 only + // .get() because push.apply(_, arraylike) throws on ancient WebKit + push.apply( ret, elems.get() ); + } + + return this.pushStack( ret ); + }; +} ); +var rnumnonpx = new RegExp( "^(" + pnum + ")(?!px)[a-z%]+$", "i" ); + +var getStyles = function( elem ) { + + // Support: IE <=11 only, Firefox <=30 (#15098, #14150) + // IE throws on elements created in popups + // FF meanwhile throws on frame elements through "defaultView.getComputedStyle" + var view = elem.ownerDocument.defaultView; + + if ( !view || !view.opener ) { + view = window; + } + + return view.getComputedStyle( elem ); + }; + +var swap = function( elem, options, callback ) { + var ret, name, + old = {}; + + // Remember the old values, and insert the new ones + for ( name in options ) { + old[ name ] = elem.style[ name ]; + elem.style[ name ] = options[ name ]; + } + + ret = callback.call( elem ); + + // Revert the old values + for ( name in options ) { + elem.style[ name ] = old[ name ]; + } + + return ret; +}; + + +var rboxStyle = new RegExp( cssExpand.join( "|" ), "i" ); + + + +( function() { + + // Executing both pixelPosition & boxSizingReliable tests require only one layout + // so they're executed at the same time to save the second computation. + function computeStyleTests() { + + // This is a singleton, we need to execute it only once + if ( !div ) { + return; + } + + container.style.cssText = "position:absolute;left:-11111px;width:60px;" + + "margin-top:1px;padding:0;border:0"; + div.style.cssText = + "position:relative;display:block;box-sizing:border-box;overflow:scroll;" + + "margin:auto;border:1px;padding:1px;" + + "width:60%;top:1%"; + documentElement.appendChild( container ).appendChild( div ); + + var divStyle = window.getComputedStyle( div ); + pixelPositionVal = divStyle.top !== "1%"; + + // Support: Android 4.0 - 4.3 only, Firefox <=3 - 44 + reliableMarginLeftVal = roundPixelMeasures( divStyle.marginLeft ) === 12; + + // Support: Android 4.0 - 4.3 only, Safari <=9.1 - 10.1, iOS <=7.0 - 9.3 + // Some styles come back with percentage values, even though they shouldn't + div.style.right = "60%"; + pixelBoxStylesVal = roundPixelMeasures( divStyle.right ) === 36; + + // Support: IE 9 - 11 only + // Detect misreporting of content dimensions for box-sizing:border-box elements + boxSizingReliableVal = roundPixelMeasures( divStyle.width ) === 36; + + // Support: IE 9 only + // Detect overflow:scroll screwiness (gh-3699) + // Support: Chrome <=64 + // Don't get tricked when zoom affects offsetWidth (gh-4029) + div.style.position = "absolute"; + scrollboxSizeVal = roundPixelMeasures( div.offsetWidth / 3 ) === 12; + + documentElement.removeChild( container ); + + // Nullify the div so it wouldn't be stored in the memory and + // it will also be a sign that checks already performed + div = null; + } + + function roundPixelMeasures( measure ) { + return Math.round( parseFloat( measure ) ); + } + + var pixelPositionVal, boxSizingReliableVal, scrollboxSizeVal, pixelBoxStylesVal, + reliableTrDimensionsVal, reliableMarginLeftVal, + container = document.createElement( "div" ), + div = document.createElement( "div" ); + + // Finish early in limited (non-browser) environments + if ( !div.style ) { + return; + } + + // Support: IE <=9 - 11 only + // Style of cloned element affects source element cloned (#8908) + div.style.backgroundClip = "content-box"; + div.cloneNode( true ).style.backgroundClip = ""; + support.clearCloneStyle = div.style.backgroundClip === "content-box"; + + jQuery.extend( support, { + boxSizingReliable: function() { + computeStyleTests(); + return boxSizingReliableVal; + }, + pixelBoxStyles: function() { + computeStyleTests(); + return pixelBoxStylesVal; + }, + pixelPosition: function() { + computeStyleTests(); + return pixelPositionVal; + }, + reliableMarginLeft: function() { + computeStyleTests(); + return reliableMarginLeftVal; + }, + scrollboxSize: function() { + computeStyleTests(); + return scrollboxSizeVal; + }, + + // Support: IE 9 - 11+, Edge 15 - 18+ + // IE/Edge misreport `getComputedStyle` of table rows with width/height + // set in CSS while `offset*` properties report correct values. + // Behavior in IE 9 is more subtle than in newer versions & it passes + // some versions of this test; make sure not to make it pass there! + // + // Support: Firefox 70+ + // Only Firefox includes border widths + // in computed dimensions. (gh-4529) + reliableTrDimensions: function() { + var table, tr, trChild, trStyle; + if ( reliableTrDimensionsVal == null ) { + table = document.createElement( "table" ); + tr = document.createElement( "tr" ); + trChild = document.createElement( "div" ); + + table.style.cssText = "position:absolute;left:-11111px;border-collapse:separate"; + tr.style.cssText = "border:1px solid"; + + // Support: Chrome 86+ + // Height set through cssText does not get applied. + // Computed height then comes back as 0. + tr.style.height = "1px"; + trChild.style.height = "9px"; + + // Support: Android 8 Chrome 86+ + // In our bodyBackground.html iframe, + // display for all div elements is set to "inline", + // which causes a problem only in Android 8 Chrome 86. + // Ensuring the div is display: block + // gets around this issue. + trChild.style.display = "block"; + + documentElement + .appendChild( table ) + .appendChild( tr ) + .appendChild( trChild ); + + trStyle = window.getComputedStyle( tr ); + reliableTrDimensionsVal = ( parseInt( trStyle.height, 10 ) + + parseInt( trStyle.borderTopWidth, 10 ) + + parseInt( trStyle.borderBottomWidth, 10 ) ) === tr.offsetHeight; + + documentElement.removeChild( table ); + } + return reliableTrDimensionsVal; + } + } ); +} )(); + + +function curCSS( elem, name, computed ) { + var width, minWidth, maxWidth, ret, + + // Support: Firefox 51+ + // Retrieving style before computed somehow + // fixes an issue with getting wrong values + // on detached elements + style = elem.style; + + computed = computed || getStyles( elem ); + + // getPropertyValue is needed for: + // .css('filter') (IE 9 only, #12537) + // .css('--customProperty) (#3144) + if ( computed ) { + ret = computed.getPropertyValue( name ) || computed[ name ]; + + if ( ret === "" && !isAttached( elem ) ) { + ret = jQuery.style( elem, name ); + } + + // A tribute to the "awesome hack by Dean Edwards" + // Android Browser returns percentage for some values, + // but width seems to be reliably pixels. + // This is against the CSSOM draft spec: + // https://drafts.csswg.org/cssom/#resolved-values + if ( !support.pixelBoxStyles() && rnumnonpx.test( ret ) && rboxStyle.test( name ) ) { + + // Remember the original values + width = style.width; + minWidth = style.minWidth; + maxWidth = style.maxWidth; + + // Put in the new values to get a computed value out + style.minWidth = style.maxWidth = style.width = ret; + ret = computed.width; + + // Revert the changed values + style.width = width; + style.minWidth = minWidth; + style.maxWidth = maxWidth; + } + } + + return ret !== undefined ? + + // Support: IE <=9 - 11 only + // IE returns zIndex value as an integer. + ret + "" : + ret; +} + + +function addGetHookIf( conditionFn, hookFn ) { + + // Define the hook, we'll check on the first run if it's really needed. + return { + get: function() { + if ( conditionFn() ) { + + // Hook not needed (or it's not possible to use it due + // to missing dependency), remove it. + delete this.get; + return; + } + + // Hook needed; redefine it so that the support test is not executed again. + return ( this.get = hookFn ).apply( this, arguments ); + } + }; +} + + +var cssPrefixes = [ "Webkit", "Moz", "ms" ], + emptyStyle = document.createElement( "div" ).style, + vendorProps = {}; + +// Return a vendor-prefixed property or undefined +function vendorPropName( name ) { + + // Check for vendor prefixed names + var capName = name[ 0 ].toUpperCase() + name.slice( 1 ), + i = cssPrefixes.length; + + while ( i-- ) { + name = cssPrefixes[ i ] + capName; + if ( name in emptyStyle ) { + return name; + } + } +} + +// Return a potentially-mapped jQuery.cssProps or vendor prefixed property +function finalPropName( name ) { + var final = jQuery.cssProps[ name ] || vendorProps[ name ]; + + if ( final ) { + return final; + } + if ( name in emptyStyle ) { + return name; + } + return vendorProps[ name ] = vendorPropName( name ) || name; +} + + +var + + // Swappable if display is none or starts with table + // except "table", "table-cell", or "table-caption" + // See here for display values: https://developer.mozilla.org/en-US/docs/CSS/display + rdisplayswap = /^(none|table(?!-c[ea]).+)/, + rcustomProp = /^--/, + cssShow = { position: "absolute", visibility: "hidden", display: "block" }, + cssNormalTransform = { + letterSpacing: "0", + fontWeight: "400" + }; + +function setPositiveNumber( _elem, value, subtract ) { + + // Any relative (+/-) values have already been + // normalized at this point + var matches = rcssNum.exec( value ); + return matches ? + + // Guard against undefined "subtract", e.g., when used as in cssHooks + Math.max( 0, matches[ 2 ] - ( subtract || 0 ) ) + ( matches[ 3 ] || "px" ) : + value; +} + +function boxModelAdjustment( elem, dimension, box, isBorderBox, styles, computedVal ) { + var i = dimension === "width" ? 1 : 0, + extra = 0, + delta = 0; + + // Adjustment may not be necessary + if ( box === ( isBorderBox ? "border" : "content" ) ) { + return 0; + } + + for ( ; i < 4; i += 2 ) { + + // Both box models exclude margin + if ( box === "margin" ) { + delta += jQuery.css( elem, box + cssExpand[ i ], true, styles ); + } + + // If we get here with a content-box, we're seeking "padding" or "border" or "margin" + if ( !isBorderBox ) { + + // Add padding + delta += jQuery.css( elem, "padding" + cssExpand[ i ], true, styles ); + + // For "border" or "margin", add border + if ( box !== "padding" ) { + delta += jQuery.css( elem, "border" + cssExpand[ i ] + "Width", true, styles ); + + // But still keep track of it otherwise + } else { + extra += jQuery.css( elem, "border" + cssExpand[ i ] + "Width", true, styles ); + } + + // If we get here with a border-box (content + padding + border), we're seeking "content" or + // "padding" or "margin" + } else { + + // For "content", subtract padding + if ( box === "content" ) { + delta -= jQuery.css( elem, "padding" + cssExpand[ i ], true, styles ); + } + + // For "content" or "padding", subtract border + if ( box !== "margin" ) { + delta -= jQuery.css( elem, "border" + cssExpand[ i ] + "Width", true, styles ); + } + } + } + + // Account for positive content-box scroll gutter when requested by providing computedVal + if ( !isBorderBox && computedVal >= 0 ) { + + // offsetWidth/offsetHeight is a rounded sum of content, padding, scroll gutter, and border + // Assuming integer scroll gutter, subtract the rest and round down + delta += Math.max( 0, Math.ceil( + elem[ "offset" + dimension[ 0 ].toUpperCase() + dimension.slice( 1 ) ] - + computedVal - + delta - + extra - + 0.5 + + // If offsetWidth/offsetHeight is unknown, then we can't determine content-box scroll gutter + // Use an explicit zero to avoid NaN (gh-3964) + ) ) || 0; + } + + return delta; +} + +function getWidthOrHeight( elem, dimension, extra ) { + + // Start with computed style + var styles = getStyles( elem ), + + // To avoid forcing a reflow, only fetch boxSizing if we need it (gh-4322). + // Fake content-box until we know it's needed to know the true value. + boxSizingNeeded = !support.boxSizingReliable() || extra, + isBorderBox = boxSizingNeeded && + jQuery.css( elem, "boxSizing", false, styles ) === "border-box", + valueIsBorderBox = isBorderBox, + + val = curCSS( elem, dimension, styles ), + offsetProp = "offset" + dimension[ 0 ].toUpperCase() + dimension.slice( 1 ); + + // Support: Firefox <=54 + // Return a confounding non-pixel value or feign ignorance, as appropriate. + if ( rnumnonpx.test( val ) ) { + if ( !extra ) { + return val; + } + val = "auto"; + } + + + // Support: IE 9 - 11 only + // Use offsetWidth/offsetHeight for when box sizing is unreliable. + // In those cases, the computed value can be trusted to be border-box. + if ( ( !support.boxSizingReliable() && isBorderBox || + + // Support: IE 10 - 11+, Edge 15 - 18+ + // IE/Edge misreport `getComputedStyle` of table rows with width/height + // set in CSS while `offset*` properties report correct values. + // Interestingly, in some cases IE 9 doesn't suffer from this issue. + !support.reliableTrDimensions() && nodeName( elem, "tr" ) || + + // Fall back to offsetWidth/offsetHeight when value is "auto" + // This happens for inline elements with no explicit setting (gh-3571) + val === "auto" || + + // Support: Android <=4.1 - 4.3 only + // Also use offsetWidth/offsetHeight for misreported inline dimensions (gh-3602) + !parseFloat( val ) && jQuery.css( elem, "display", false, styles ) === "inline" ) && + + // Make sure the element is visible & connected + elem.getClientRects().length ) { + + isBorderBox = jQuery.css( elem, "boxSizing", false, styles ) === "border-box"; + + // Where available, offsetWidth/offsetHeight approximate border box dimensions. + // Where not available (e.g., SVG), assume unreliable box-sizing and interpret the + // retrieved value as a content box dimension. + valueIsBorderBox = offsetProp in elem; + if ( valueIsBorderBox ) { + val = elem[ offsetProp ]; + } + } + + // Normalize "" and auto + val = parseFloat( val ) || 0; + + // Adjust for the element's box model + return ( val + + boxModelAdjustment( + elem, + dimension, + extra || ( isBorderBox ? "border" : "content" ), + valueIsBorderBox, + styles, + + // Provide the current computed size to request scroll gutter calculation (gh-3589) + val + ) + ) + "px"; +} + +jQuery.extend( { + + // Add in style property hooks for overriding the default + // behavior of getting and setting a style property + cssHooks: { + opacity: { + get: function( elem, computed ) { + if ( computed ) { + + // We should always get a number back from opacity + var ret = curCSS( elem, "opacity" ); + return ret === "" ? "1" : ret; + } + } + } + }, + + // Don't automatically add "px" to these possibly-unitless properties + cssNumber: { + "animationIterationCount": true, + "columnCount": true, + "fillOpacity": true, + "flexGrow": true, + "flexShrink": true, + "fontWeight": true, + "gridArea": true, + "gridColumn": true, + "gridColumnEnd": true, + "gridColumnStart": true, + "gridRow": true, + "gridRowEnd": true, + "gridRowStart": true, + "lineHeight": true, + "opacity": true, + "order": true, + "orphans": true, + "widows": true, + "zIndex": true, + "zoom": true + }, + + // Add in properties whose names you wish to fix before + // setting or getting the value + cssProps: {}, + + // Get and set the style property on a DOM Node + style: function( elem, name, value, extra ) { + + // Don't set styles on text and comment nodes + if ( !elem || elem.nodeType === 3 || elem.nodeType === 8 || !elem.style ) { + return; + } + + // Make sure that we're working with the right name + var ret, type, hooks, + origName = camelCase( name ), + isCustomProp = rcustomProp.test( name ), + style = elem.style; + + // Make sure that we're working with the right name. We don't + // want to query the value if it is a CSS custom property + // since they are user-defined. + if ( !isCustomProp ) { + name = finalPropName( origName ); + } + + // Gets hook for the prefixed version, then unprefixed version + hooks = jQuery.cssHooks[ name ] || jQuery.cssHooks[ origName ]; + + // Check if we're setting a value + if ( value !== undefined ) { + type = typeof value; + + // Convert "+=" or "-=" to relative numbers (#7345) + if ( type === "string" && ( ret = rcssNum.exec( value ) ) && ret[ 1 ] ) { + value = adjustCSS( elem, name, ret ); + + // Fixes bug #9237 + type = "number"; + } + + // Make sure that null and NaN values aren't set (#7116) + if ( value == null || value !== value ) { + return; + } + + // If a number was passed in, add the unit (except for certain CSS properties) + // The isCustomProp check can be removed in jQuery 4.0 when we only auto-append + // "px" to a few hardcoded values. + if ( type === "number" && !isCustomProp ) { + value += ret && ret[ 3 ] || ( jQuery.cssNumber[ origName ] ? "" : "px" ); + } + + // background-* props affect original clone's values + if ( !support.clearCloneStyle && value === "" && name.indexOf( "background" ) === 0 ) { + style[ name ] = "inherit"; + } + + // If a hook was provided, use that value, otherwise just set the specified value + if ( !hooks || !( "set" in hooks ) || + ( value = hooks.set( elem, value, extra ) ) !== undefined ) { + + if ( isCustomProp ) { + style.setProperty( name, value ); + } else { + style[ name ] = value; + } + } + + } else { + + // If a hook was provided get the non-computed value from there + if ( hooks && "get" in hooks && + ( ret = hooks.get( elem, false, extra ) ) !== undefined ) { + + return ret; + } + + // Otherwise just get the value from the style object + return style[ name ]; + } + }, + + css: function( elem, name, extra, styles ) { + var val, num, hooks, + origName = camelCase( name ), + isCustomProp = rcustomProp.test( name ); + + // Make sure that we're working with the right name. We don't + // want to modify the value if it is a CSS custom property + // since they are user-defined. + if ( !isCustomProp ) { + name = finalPropName( origName ); + } + + // Try prefixed name followed by the unprefixed name + hooks = jQuery.cssHooks[ name ] || jQuery.cssHooks[ origName ]; + + // If a hook was provided get the computed value from there + if ( hooks && "get" in hooks ) { + val = hooks.get( elem, true, extra ); + } + + // Otherwise, if a way to get the computed value exists, use that + if ( val === undefined ) { + val = curCSS( elem, name, styles ); + } + + // Convert "normal" to computed value + if ( val === "normal" && name in cssNormalTransform ) { + val = cssNormalTransform[ name ]; + } + + // Make numeric if forced or a qualifier was provided and val looks numeric + if ( extra === "" || extra ) { + num = parseFloat( val ); + return extra === true || isFinite( num ) ? num || 0 : val; + } + + return val; + } +} ); + +jQuery.each( [ "height", "width" ], function( _i, dimension ) { + jQuery.cssHooks[ dimension ] = { + get: function( elem, computed, extra ) { + if ( computed ) { + + // Certain elements can have dimension info if we invisibly show them + // but it must have a current display style that would benefit + return rdisplayswap.test( jQuery.css( elem, "display" ) ) && + + // Support: Safari 8+ + // Table columns in Safari have non-zero offsetWidth & zero + // getBoundingClientRect().width unless display is changed. + // Support: IE <=11 only + // Running getBoundingClientRect on a disconnected node + // in IE throws an error. + ( !elem.getClientRects().length || !elem.getBoundingClientRect().width ) ? + swap( elem, cssShow, function() { + return getWidthOrHeight( elem, dimension, extra ); + } ) : + getWidthOrHeight( elem, dimension, extra ); + } + }, + + set: function( elem, value, extra ) { + var matches, + styles = getStyles( elem ), + + // Only read styles.position if the test has a chance to fail + // to avoid forcing a reflow. + scrollboxSizeBuggy = !support.scrollboxSize() && + styles.position === "absolute", + + // To avoid forcing a reflow, only fetch boxSizing if we need it (gh-3991) + boxSizingNeeded = scrollboxSizeBuggy || extra, + isBorderBox = boxSizingNeeded && + jQuery.css( elem, "boxSizing", false, styles ) === "border-box", + subtract = extra ? + boxModelAdjustment( + elem, + dimension, + extra, + isBorderBox, + styles + ) : + 0; + + // Account for unreliable border-box dimensions by comparing offset* to computed and + // faking a content-box to get border and padding (gh-3699) + if ( isBorderBox && scrollboxSizeBuggy ) { + subtract -= Math.ceil( + elem[ "offset" + dimension[ 0 ].toUpperCase() + dimension.slice( 1 ) ] - + parseFloat( styles[ dimension ] ) - + boxModelAdjustment( elem, dimension, "border", false, styles ) - + 0.5 + ); + } + + // Convert to pixels if value adjustment is needed + if ( subtract && ( matches = rcssNum.exec( value ) ) && + ( matches[ 3 ] || "px" ) !== "px" ) { + + elem.style[ dimension ] = value; + value = jQuery.css( elem, dimension ); + } + + return setPositiveNumber( elem, value, subtract ); + } + }; +} ); + +jQuery.cssHooks.marginLeft = addGetHookIf( support.reliableMarginLeft, + function( elem, computed ) { + if ( computed ) { + return ( parseFloat( curCSS( elem, "marginLeft" ) ) || + elem.getBoundingClientRect().left - + swap( elem, { marginLeft: 0 }, function() { + return elem.getBoundingClientRect().left; + } ) + ) + "px"; + } + } +); + +// These hooks are used by animate to expand properties +jQuery.each( { + margin: "", + padding: "", + border: "Width" +}, function( prefix, suffix ) { + jQuery.cssHooks[ prefix + suffix ] = { + expand: function( value ) { + var i = 0, + expanded = {}, + + // Assumes a single number if not a string + parts = typeof value === "string" ? value.split( " " ) : [ value ]; + + for ( ; i < 4; i++ ) { + expanded[ prefix + cssExpand[ i ] + suffix ] = + parts[ i ] || parts[ i - 2 ] || parts[ 0 ]; + } + + return expanded; + } + }; + + if ( prefix !== "margin" ) { + jQuery.cssHooks[ prefix + suffix ].set = setPositiveNumber; + } +} ); + +jQuery.fn.extend( { + css: function( name, value ) { + return access( this, function( elem, name, value ) { + var styles, len, + map = {}, + i = 0; + + if ( Array.isArray( name ) ) { + styles = getStyles( elem ); + len = name.length; + + for ( ; i < len; i++ ) { + map[ name[ i ] ] = jQuery.css( elem, name[ i ], false, styles ); + } + + return map; + } + + return value !== undefined ? + jQuery.style( elem, name, value ) : + jQuery.css( elem, name ); + }, name, value, arguments.length > 1 ); + } +} ); + + +function Tween( elem, options, prop, end, easing ) { + return new Tween.prototype.init( elem, options, prop, end, easing ); +} +jQuery.Tween = Tween; + +Tween.prototype = { + constructor: Tween, + init: function( elem, options, prop, end, easing, unit ) { + this.elem = elem; + this.prop = prop; + this.easing = easing || jQuery.easing._default; + this.options = options; + this.start = this.now = this.cur(); + this.end = end; + this.unit = unit || ( jQuery.cssNumber[ prop ] ? "" : "px" ); + }, + cur: function() { + var hooks = Tween.propHooks[ this.prop ]; + + return hooks && hooks.get ? + hooks.get( this ) : + Tween.propHooks._default.get( this ); + }, + run: function( percent ) { + var eased, + hooks = Tween.propHooks[ this.prop ]; + + if ( this.options.duration ) { + this.pos = eased = jQuery.easing[ this.easing ]( + percent, this.options.duration * percent, 0, 1, this.options.duration + ); + } else { + this.pos = eased = percent; + } + this.now = ( this.end - this.start ) * eased + this.start; + + if ( this.options.step ) { + this.options.step.call( this.elem, this.now, this ); + } + + if ( hooks && hooks.set ) { + hooks.set( this ); + } else { + Tween.propHooks._default.set( this ); + } + return this; + } +}; + +Tween.prototype.init.prototype = Tween.prototype; + +Tween.propHooks = { + _default: { + get: function( tween ) { + var result; + + // Use a property on the element directly when it is not a DOM element, + // or when there is no matching style property that exists. + if ( tween.elem.nodeType !== 1 || + tween.elem[ tween.prop ] != null && tween.elem.style[ tween.prop ] == null ) { + return tween.elem[ tween.prop ]; + } + + // Passing an empty string as a 3rd parameter to .css will automatically + // attempt a parseFloat and fallback to a string if the parse fails. + // Simple values such as "10px" are parsed to Float; + // complex values such as "rotate(1rad)" are returned as-is. + result = jQuery.css( tween.elem, tween.prop, "" ); + + // Empty strings, null, undefined and "auto" are converted to 0. + return !result || result === "auto" ? 0 : result; + }, + set: function( tween ) { + + // Use step hook for back compat. + // Use cssHook if its there. + // Use .style if available and use plain properties where available. + if ( jQuery.fx.step[ tween.prop ] ) { + jQuery.fx.step[ tween.prop ]( tween ); + } else if ( tween.elem.nodeType === 1 && ( + jQuery.cssHooks[ tween.prop ] || + tween.elem.style[ finalPropName( tween.prop ) ] != null ) ) { + jQuery.style( tween.elem, tween.prop, tween.now + tween.unit ); + } else { + tween.elem[ tween.prop ] = tween.now; + } + } + } +}; + +// Support: IE <=9 only +// Panic based approach to setting things on disconnected nodes +Tween.propHooks.scrollTop = Tween.propHooks.scrollLeft = { + set: function( tween ) { + if ( tween.elem.nodeType && tween.elem.parentNode ) { + tween.elem[ tween.prop ] = tween.now; + } + } +}; + +jQuery.easing = { + linear: function( p ) { + return p; + }, + swing: function( p ) { + return 0.5 - Math.cos( p * Math.PI ) / 2; + }, + _default: "swing" +}; + +jQuery.fx = Tween.prototype.init; + +// Back compat <1.8 extension point +jQuery.fx.step = {}; + + + + +var + fxNow, inProgress, + rfxtypes = /^(?:toggle|show|hide)$/, + rrun = /queueHooks$/; + +function schedule() { + if ( inProgress ) { + if ( document.hidden === false && window.requestAnimationFrame ) { + window.requestAnimationFrame( schedule ); + } else { + window.setTimeout( schedule, jQuery.fx.interval ); + } + + jQuery.fx.tick(); + } +} + +// Animations created synchronously will run synchronously +function createFxNow() { + window.setTimeout( function() { + fxNow = undefined; + } ); + return ( fxNow = Date.now() ); +} + +// Generate parameters to create a standard animation +function genFx( type, includeWidth ) { + var which, + i = 0, + attrs = { height: type }; + + // If we include width, step value is 1 to do all cssExpand values, + // otherwise step value is 2 to skip over Left and Right + includeWidth = includeWidth ? 1 : 0; + for ( ; i < 4; i += 2 - includeWidth ) { + which = cssExpand[ i ]; + attrs[ "margin" + which ] = attrs[ "padding" + which ] = type; + } + + if ( includeWidth ) { + attrs.opacity = attrs.width = type; + } + + return attrs; +} + +function createTween( value, prop, animation ) { + var tween, + collection = ( Animation.tweeners[ prop ] || [] ).concat( Animation.tweeners[ "*" ] ), + index = 0, + length = collection.length; + for ( ; index < length; index++ ) { + if ( ( tween = collection[ index ].call( animation, prop, value ) ) ) { + + // We're done with this property + return tween; + } + } +} + +function defaultPrefilter( elem, props, opts ) { + var prop, value, toggle, hooks, oldfire, propTween, restoreDisplay, display, + isBox = "width" in props || "height" in props, + anim = this, + orig = {}, + style = elem.style, + hidden = elem.nodeType && isHiddenWithinTree( elem ), + dataShow = dataPriv.get( elem, "fxshow" ); + + // Queue-skipping animations hijack the fx hooks + if ( !opts.queue ) { + hooks = jQuery._queueHooks( elem, "fx" ); + if ( hooks.unqueued == null ) { + hooks.unqueued = 0; + oldfire = hooks.empty.fire; + hooks.empty.fire = function() { + if ( !hooks.unqueued ) { + oldfire(); + } + }; + } + hooks.unqueued++; + + anim.always( function() { + + // Ensure the complete handler is called before this completes + anim.always( function() { + hooks.unqueued--; + if ( !jQuery.queue( elem, "fx" ).length ) { + hooks.empty.fire(); + } + } ); + } ); + } + + // Detect show/hide animations + for ( prop in props ) { + value = props[ prop ]; + if ( rfxtypes.test( value ) ) { + delete props[ prop ]; + toggle = toggle || value === "toggle"; + if ( value === ( hidden ? "hide" : "show" ) ) { + + // Pretend to be hidden if this is a "show" and + // there is still data from a stopped show/hide + if ( value === "show" && dataShow && dataShow[ prop ] !== undefined ) { + hidden = true; + + // Ignore all other no-op show/hide data + } else { + continue; + } + } + orig[ prop ] = dataShow && dataShow[ prop ] || jQuery.style( elem, prop ); + } + } + + // Bail out if this is a no-op like .hide().hide() + propTween = !jQuery.isEmptyObject( props ); + if ( !propTween && jQuery.isEmptyObject( orig ) ) { + return; + } + + // Restrict "overflow" and "display" styles during box animations + if ( isBox && elem.nodeType === 1 ) { + + // Support: IE <=9 - 11, Edge 12 - 15 + // Record all 3 overflow attributes because IE does not infer the shorthand + // from identically-valued overflowX and overflowY and Edge just mirrors + // the overflowX value there. + opts.overflow = [ style.overflow, style.overflowX, style.overflowY ]; + + // Identify a display type, preferring old show/hide data over the CSS cascade + restoreDisplay = dataShow && dataShow.display; + if ( restoreDisplay == null ) { + restoreDisplay = dataPriv.get( elem, "display" ); + } + display = jQuery.css( elem, "display" ); + if ( display === "none" ) { + if ( restoreDisplay ) { + display = restoreDisplay; + } else { + + // Get nonempty value(s) by temporarily forcing visibility + showHide( [ elem ], true ); + restoreDisplay = elem.style.display || restoreDisplay; + display = jQuery.css( elem, "display" ); + showHide( [ elem ] ); + } + } + + // Animate inline elements as inline-block + if ( display === "inline" || display === "inline-block" && restoreDisplay != null ) { + if ( jQuery.css( elem, "float" ) === "none" ) { + + // Restore the original display value at the end of pure show/hide animations + if ( !propTween ) { + anim.done( function() { + style.display = restoreDisplay; + } ); + if ( restoreDisplay == null ) { + display = style.display; + restoreDisplay = display === "none" ? "" : display; + } + } + style.display = "inline-block"; + } + } + } + + if ( opts.overflow ) { + style.overflow = "hidden"; + anim.always( function() { + style.overflow = opts.overflow[ 0 ]; + style.overflowX = opts.overflow[ 1 ]; + style.overflowY = opts.overflow[ 2 ]; + } ); + } + + // Implement show/hide animations + propTween = false; + for ( prop in orig ) { + + // General show/hide setup for this element animation + if ( !propTween ) { + if ( dataShow ) { + if ( "hidden" in dataShow ) { + hidden = dataShow.hidden; + } + } else { + dataShow = dataPriv.access( elem, "fxshow", { display: restoreDisplay } ); + } + + // Store hidden/visible for toggle so `.stop().toggle()` "reverses" + if ( toggle ) { + dataShow.hidden = !hidden; + } + + // Show elements before animating them + if ( hidden ) { + showHide( [ elem ], true ); + } + + /* eslint-disable no-loop-func */ + + anim.done( function() { + + /* eslint-enable no-loop-func */ + + // The final step of a "hide" animation is actually hiding the element + if ( !hidden ) { + showHide( [ elem ] ); + } + dataPriv.remove( elem, "fxshow" ); + for ( prop in orig ) { + jQuery.style( elem, prop, orig[ prop ] ); + } + } ); + } + + // Per-property setup + propTween = createTween( hidden ? dataShow[ prop ] : 0, prop, anim ); + if ( !( prop in dataShow ) ) { + dataShow[ prop ] = propTween.start; + if ( hidden ) { + propTween.end = propTween.start; + propTween.start = 0; + } + } + } +} + +function propFilter( props, specialEasing ) { + var index, name, easing, value, hooks; + + // camelCase, specialEasing and expand cssHook pass + for ( index in props ) { + name = camelCase( index ); + easing = specialEasing[ name ]; + value = props[ index ]; + if ( Array.isArray( value ) ) { + easing = value[ 1 ]; + value = props[ index ] = value[ 0 ]; + } + + if ( index !== name ) { + props[ name ] = value; + delete props[ index ]; + } + + hooks = jQuery.cssHooks[ name ]; + if ( hooks && "expand" in hooks ) { + value = hooks.expand( value ); + delete props[ name ]; + + // Not quite $.extend, this won't overwrite existing keys. + // Reusing 'index' because we have the correct "name" + for ( index in value ) { + if ( !( index in props ) ) { + props[ index ] = value[ index ]; + specialEasing[ index ] = easing; + } + } + } else { + specialEasing[ name ] = easing; + } + } +} + +function Animation( elem, properties, options ) { + var result, + stopped, + index = 0, + length = Animation.prefilters.length, + deferred = jQuery.Deferred().always( function() { + + // Don't match elem in the :animated selector + delete tick.elem; + } ), + tick = function() { + if ( stopped ) { + return false; + } + var currentTime = fxNow || createFxNow(), + remaining = Math.max( 0, animation.startTime + animation.duration - currentTime ), + + // Support: Android 2.3 only + // Archaic crash bug won't allow us to use `1 - ( 0.5 || 0 )` (#12497) + temp = remaining / animation.duration || 0, + percent = 1 - temp, + index = 0, + length = animation.tweens.length; + + for ( ; index < length; index++ ) { + animation.tweens[ index ].run( percent ); + } + + deferred.notifyWith( elem, [ animation, percent, remaining ] ); + + // If there's more to do, yield + if ( percent < 1 && length ) { + return remaining; + } + + // If this was an empty animation, synthesize a final progress notification + if ( !length ) { + deferred.notifyWith( elem, [ animation, 1, 0 ] ); + } + + // Resolve the animation and report its conclusion + deferred.resolveWith( elem, [ animation ] ); + return false; + }, + animation = deferred.promise( { + elem: elem, + props: jQuery.extend( {}, properties ), + opts: jQuery.extend( true, { + specialEasing: {}, + easing: jQuery.easing._default + }, options ), + originalProperties: properties, + originalOptions: options, + startTime: fxNow || createFxNow(), + duration: options.duration, + tweens: [], + createTween: function( prop, end ) { + var tween = jQuery.Tween( elem, animation.opts, prop, end, + animation.opts.specialEasing[ prop ] || animation.opts.easing ); + animation.tweens.push( tween ); + return tween; + }, + stop: function( gotoEnd ) { + var index = 0, + + // If we are going to the end, we want to run all the tweens + // otherwise we skip this part + length = gotoEnd ? animation.tweens.length : 0; + if ( stopped ) { + return this; + } + stopped = true; + for ( ; index < length; index++ ) { + animation.tweens[ index ].run( 1 ); + } + + // Resolve when we played the last frame; otherwise, reject + if ( gotoEnd ) { + deferred.notifyWith( elem, [ animation, 1, 0 ] ); + deferred.resolveWith( elem, [ animation, gotoEnd ] ); + } else { + deferred.rejectWith( elem, [ animation, gotoEnd ] ); + } + return this; + } + } ), + props = animation.props; + + propFilter( props, animation.opts.specialEasing ); + + for ( ; index < length; index++ ) { + result = Animation.prefilters[ index ].call( animation, elem, props, animation.opts ); + if ( result ) { + if ( isFunction( result.stop ) ) { + jQuery._queueHooks( animation.elem, animation.opts.queue ).stop = + result.stop.bind( result ); + } + return result; + } + } + + jQuery.map( props, createTween, animation ); + + if ( isFunction( animation.opts.start ) ) { + animation.opts.start.call( elem, animation ); + } + + // Attach callbacks from options + animation + .progress( animation.opts.progress ) + .done( animation.opts.done, animation.opts.complete ) + .fail( animation.opts.fail ) + .always( animation.opts.always ); + + jQuery.fx.timer( + jQuery.extend( tick, { + elem: elem, + anim: animation, + queue: animation.opts.queue + } ) + ); + + return animation; +} + +jQuery.Animation = jQuery.extend( Animation, { + + tweeners: { + "*": [ function( prop, value ) { + var tween = this.createTween( prop, value ); + adjustCSS( tween.elem, prop, rcssNum.exec( value ), tween ); + return tween; + } ] + }, + + tweener: function( props, callback ) { + if ( isFunction( props ) ) { + callback = props; + props = [ "*" ]; + } else { + props = props.match( rnothtmlwhite ); + } + + var prop, + index = 0, + length = props.length; + + for ( ; index < length; index++ ) { + prop = props[ index ]; + Animation.tweeners[ prop ] = Animation.tweeners[ prop ] || []; + Animation.tweeners[ prop ].unshift( callback ); + } + }, + + prefilters: [ defaultPrefilter ], + + prefilter: function( callback, prepend ) { + if ( prepend ) { + Animation.prefilters.unshift( callback ); + } else { + Animation.prefilters.push( callback ); + } + } +} ); + +jQuery.speed = function( speed, easing, fn ) { + var opt = speed && typeof speed === "object" ? jQuery.extend( {}, speed ) : { + complete: fn || !fn && easing || + isFunction( speed ) && speed, + duration: speed, + easing: fn && easing || easing && !isFunction( easing ) && easing + }; + + // Go to the end state if fx are off + if ( jQuery.fx.off ) { + opt.duration = 0; + + } else { + if ( typeof opt.duration !== "number" ) { + if ( opt.duration in jQuery.fx.speeds ) { + opt.duration = jQuery.fx.speeds[ opt.duration ]; + + } else { + opt.duration = jQuery.fx.speeds._default; + } + } + } + + // Normalize opt.queue - true/undefined/null -> "fx" + if ( opt.queue == null || opt.queue === true ) { + opt.queue = "fx"; + } + + // Queueing + opt.old = opt.complete; + + opt.complete = function() { + if ( isFunction( opt.old ) ) { + opt.old.call( this ); + } + + if ( opt.queue ) { + jQuery.dequeue( this, opt.queue ); + } + }; + + return opt; +}; + +jQuery.fn.extend( { + fadeTo: function( speed, to, easing, callback ) { + + // Show any hidden elements after setting opacity to 0 + return this.filter( isHiddenWithinTree ).css( "opacity", 0 ).show() + + // Animate to the value specified + .end().animate( { opacity: to }, speed, easing, callback ); + }, + animate: function( prop, speed, easing, callback ) { + var empty = jQuery.isEmptyObject( prop ), + optall = jQuery.speed( speed, easing, callback ), + doAnimation = function() { + + // Operate on a copy of prop so per-property easing won't be lost + var anim = Animation( this, jQuery.extend( {}, prop ), optall ); + + // Empty animations, or finishing resolves immediately + if ( empty || dataPriv.get( this, "finish" ) ) { + anim.stop( true ); + } + }; + + doAnimation.finish = doAnimation; + + return empty || optall.queue === false ? + this.each( doAnimation ) : + this.queue( optall.queue, doAnimation ); + }, + stop: function( type, clearQueue, gotoEnd ) { + var stopQueue = function( hooks ) { + var stop = hooks.stop; + delete hooks.stop; + stop( gotoEnd ); + }; + + if ( typeof type !== "string" ) { + gotoEnd = clearQueue; + clearQueue = type; + type = undefined; + } + if ( clearQueue ) { + this.queue( type || "fx", [] ); + } + + return this.each( function() { + var dequeue = true, + index = type != null && type + "queueHooks", + timers = jQuery.timers, + data = dataPriv.get( this ); + + if ( index ) { + if ( data[ index ] && data[ index ].stop ) { + stopQueue( data[ index ] ); + } + } else { + for ( index in data ) { + if ( data[ index ] && data[ index ].stop && rrun.test( index ) ) { + stopQueue( data[ index ] ); + } + } + } + + for ( index = timers.length; index--; ) { + if ( timers[ index ].elem === this && + ( type == null || timers[ index ].queue === type ) ) { + + timers[ index ].anim.stop( gotoEnd ); + dequeue = false; + timers.splice( index, 1 ); + } + } + + // Start the next in the queue if the last step wasn't forced. + // Timers currently will call their complete callbacks, which + // will dequeue but only if they were gotoEnd. + if ( dequeue || !gotoEnd ) { + jQuery.dequeue( this, type ); + } + } ); + }, + finish: function( type ) { + if ( type !== false ) { + type = type || "fx"; + } + return this.each( function() { + var index, + data = dataPriv.get( this ), + queue = data[ type + "queue" ], + hooks = data[ type + "queueHooks" ], + timers = jQuery.timers, + length = queue ? queue.length : 0; + + // Enable finishing flag on private data + data.finish = true; + + // Empty the queue first + jQuery.queue( this, type, [] ); + + if ( hooks && hooks.stop ) { + hooks.stop.call( this, true ); + } + + // Look for any active animations, and finish them + for ( index = timers.length; index--; ) { + if ( timers[ index ].elem === this && timers[ index ].queue === type ) { + timers[ index ].anim.stop( true ); + timers.splice( index, 1 ); + } + } + + // Look for any animations in the old queue and finish them + for ( index = 0; index < length; index++ ) { + if ( queue[ index ] && queue[ index ].finish ) { + queue[ index ].finish.call( this ); + } + } + + // Turn off finishing flag + delete data.finish; + } ); + } +} ); + +jQuery.each( [ "toggle", "show", "hide" ], function( _i, name ) { + var cssFn = jQuery.fn[ name ]; + jQuery.fn[ name ] = function( speed, easing, callback ) { + return speed == null || typeof speed === "boolean" ? + cssFn.apply( this, arguments ) : + this.animate( genFx( name, true ), speed, easing, callback ); + }; +} ); + +// Generate shortcuts for custom animations +jQuery.each( { + slideDown: genFx( "show" ), + slideUp: genFx( "hide" ), + slideToggle: genFx( "toggle" ), + fadeIn: { opacity: "show" }, + fadeOut: { opacity: "hide" }, + fadeToggle: { opacity: "toggle" } +}, function( name, props ) { + jQuery.fn[ name ] = function( speed, easing, callback ) { + return this.animate( props, speed, easing, callback ); + }; +} ); + +jQuery.timers = []; +jQuery.fx.tick = function() { + var timer, + i = 0, + timers = jQuery.timers; + + fxNow = Date.now(); + + for ( ; i < timers.length; i++ ) { + timer = timers[ i ]; + + // Run the timer and safely remove it when done (allowing for external removal) + if ( !timer() && timers[ i ] === timer ) { + timers.splice( i--, 1 ); + } + } + + if ( !timers.length ) { + jQuery.fx.stop(); + } + fxNow = undefined; +}; + +jQuery.fx.timer = function( timer ) { + jQuery.timers.push( timer ); + jQuery.fx.start(); +}; + +jQuery.fx.interval = 13; +jQuery.fx.start = function() { + if ( inProgress ) { + return; + } + + inProgress = true; + schedule(); +}; + +jQuery.fx.stop = function() { + inProgress = null; +}; + +jQuery.fx.speeds = { + slow: 600, + fast: 200, + + // Default speed + _default: 400 +}; + + +// Based off of the plugin by Clint Helfers, with permission. +// https://web.archive.org/web/20100324014747/http://blindsignals.com/index.php/2009/07/jquery-delay/ +jQuery.fn.delay = function( time, type ) { + time = jQuery.fx ? jQuery.fx.speeds[ time ] || time : time; + type = type || "fx"; + + return this.queue( type, function( next, hooks ) { + var timeout = window.setTimeout( next, time ); + hooks.stop = function() { + window.clearTimeout( timeout ); + }; + } ); +}; + + +( function() { + var input = document.createElement( "input" ), + select = document.createElement( "select" ), + opt = select.appendChild( document.createElement( "option" ) ); + + input.type = "checkbox"; + + // Support: Android <=4.3 only + // Default value for a checkbox should be "on" + support.checkOn = input.value !== ""; + + // Support: IE <=11 only + // Must access selectedIndex to make default options select + support.optSelected = opt.selected; + + // Support: IE <=11 only + // An input loses its value after becoming a radio + input = document.createElement( "input" ); + input.value = "t"; + input.type = "radio"; + support.radioValue = input.value === "t"; +} )(); + + +var boolHook, + attrHandle = jQuery.expr.attrHandle; + +jQuery.fn.extend( { + attr: function( name, value ) { + return access( this, jQuery.attr, name, value, arguments.length > 1 ); + }, + + removeAttr: function( name ) { + return this.each( function() { + jQuery.removeAttr( this, name ); + } ); + } +} ); + +jQuery.extend( { + attr: function( elem, name, value ) { + var ret, hooks, + nType = elem.nodeType; + + // Don't get/set attributes on text, comment and attribute nodes + if ( nType === 3 || nType === 8 || nType === 2 ) { + return; + } + + // Fallback to prop when attributes are not supported + if ( typeof elem.getAttribute === "undefined" ) { + return jQuery.prop( elem, name, value ); + } + + // Attribute hooks are determined by the lowercase version + // Grab necessary hook if one is defined + if ( nType !== 1 || !jQuery.isXMLDoc( elem ) ) { + hooks = jQuery.attrHooks[ name.toLowerCase() ] || + ( jQuery.expr.match.bool.test( name ) ? boolHook : undefined ); + } + + if ( value !== undefined ) { + if ( value === null ) { + jQuery.removeAttr( elem, name ); + return; + } + + if ( hooks && "set" in hooks && + ( ret = hooks.set( elem, value, name ) ) !== undefined ) { + return ret; + } + + elem.setAttribute( name, value + "" ); + return value; + } + + if ( hooks && "get" in hooks && ( ret = hooks.get( elem, name ) ) !== null ) { + return ret; + } + + ret = jQuery.find.attr( elem, name ); + + // Non-existent attributes return null, we normalize to undefined + return ret == null ? undefined : ret; + }, + + attrHooks: { + type: { + set: function( elem, value ) { + if ( !support.radioValue && value === "radio" && + nodeName( elem, "input" ) ) { + var val = elem.value; + elem.setAttribute( "type", value ); + if ( val ) { + elem.value = val; + } + return value; + } + } + } + }, + + removeAttr: function( elem, value ) { + var name, + i = 0, + + // Attribute names can contain non-HTML whitespace characters + // https://html.spec.whatwg.org/multipage/syntax.html#attributes-2 + attrNames = value && value.match( rnothtmlwhite ); + + if ( attrNames && elem.nodeType === 1 ) { + while ( ( name = attrNames[ i++ ] ) ) { + elem.removeAttribute( name ); + } + } + } +} ); + +// Hooks for boolean attributes +boolHook = { + set: function( elem, value, name ) { + if ( value === false ) { + + // Remove boolean attributes when set to false + jQuery.removeAttr( elem, name ); + } else { + elem.setAttribute( name, name ); + } + return name; + } +}; + +jQuery.each( jQuery.expr.match.bool.source.match( /\w+/g ), function( _i, name ) { + var getter = attrHandle[ name ] || jQuery.find.attr; + + attrHandle[ name ] = function( elem, name, isXML ) { + var ret, handle, + lowercaseName = name.toLowerCase(); + + if ( !isXML ) { + + // Avoid an infinite loop by temporarily removing this function from the getter + handle = attrHandle[ lowercaseName ]; + attrHandle[ lowercaseName ] = ret; + ret = getter( elem, name, isXML ) != null ? + lowercaseName : + null; + attrHandle[ lowercaseName ] = handle; + } + return ret; + }; +} ); + + + + +var rfocusable = /^(?:input|select|textarea|button)$/i, + rclickable = /^(?:a|area)$/i; + +jQuery.fn.extend( { + prop: function( name, value ) { + return access( this, jQuery.prop, name, value, arguments.length > 1 ); + }, + + removeProp: function( name ) { + return this.each( function() { + delete this[ jQuery.propFix[ name ] || name ]; + } ); + } +} ); + +jQuery.extend( { + prop: function( elem, name, value ) { + var ret, hooks, + nType = elem.nodeType; + + // Don't get/set properties on text, comment and attribute nodes + if ( nType === 3 || nType === 8 || nType === 2 ) { + return; + } + + if ( nType !== 1 || !jQuery.isXMLDoc( elem ) ) { + + // Fix name and attach hooks + name = jQuery.propFix[ name ] || name; + hooks = jQuery.propHooks[ name ]; + } + + if ( value !== undefined ) { + if ( hooks && "set" in hooks && + ( ret = hooks.set( elem, value, name ) ) !== undefined ) { + return ret; + } + + return ( elem[ name ] = value ); + } + + if ( hooks && "get" in hooks && ( ret = hooks.get( elem, name ) ) !== null ) { + return ret; + } + + return elem[ name ]; + }, + + propHooks: { + tabIndex: { + get: function( elem ) { + + // Support: IE <=9 - 11 only + // elem.tabIndex doesn't always return the + // correct value when it hasn't been explicitly set + // https://web.archive.org/web/20141116233347/http://fluidproject.org/blog/2008/01/09/getting-setting-and-removing-tabindex-values-with-javascript/ + // Use proper attribute retrieval(#12072) + var tabindex = jQuery.find.attr( elem, "tabindex" ); + + if ( tabindex ) { + return parseInt( tabindex, 10 ); + } + + if ( + rfocusable.test( elem.nodeName ) || + rclickable.test( elem.nodeName ) && + elem.href + ) { + return 0; + } + + return -1; + } + } + }, + + propFix: { + "for": "htmlFor", + "class": "className" + } +} ); + +// Support: IE <=11 only +// Accessing the selectedIndex property +// forces the browser to respect setting selected +// on the option +// The getter ensures a default option is selected +// when in an optgroup +// eslint rule "no-unused-expressions" is disabled for this code +// since it considers such accessions noop +if ( !support.optSelected ) { + jQuery.propHooks.selected = { + get: function( elem ) { + + /* eslint no-unused-expressions: "off" */ + + var parent = elem.parentNode; + if ( parent && parent.parentNode ) { + parent.parentNode.selectedIndex; + } + return null; + }, + set: function( elem ) { + + /* eslint no-unused-expressions: "off" */ + + var parent = elem.parentNode; + if ( parent ) { + parent.selectedIndex; + + if ( parent.parentNode ) { + parent.parentNode.selectedIndex; + } + } + } + }; +} + +jQuery.each( [ + "tabIndex", + "readOnly", + "maxLength", + "cellSpacing", + "cellPadding", + "rowSpan", + "colSpan", + "useMap", + "frameBorder", + "contentEditable" +], function() { + jQuery.propFix[ this.toLowerCase() ] = this; +} ); + + + + + // Strip and collapse whitespace according to HTML spec + // https://infra.spec.whatwg.org/#strip-and-collapse-ascii-whitespace + function stripAndCollapse( value ) { + var tokens = value.match( rnothtmlwhite ) || []; + return tokens.join( " " ); + } + + +function getClass( elem ) { + return elem.getAttribute && elem.getAttribute( "class" ) || ""; +} + +function classesToArray( value ) { + if ( Array.isArray( value ) ) { + return value; + } + if ( typeof value === "string" ) { + return value.match( rnothtmlwhite ) || []; + } + return []; +} + +jQuery.fn.extend( { + addClass: function( value ) { + var classes, elem, cur, curValue, clazz, j, finalValue, + i = 0; + + if ( isFunction( value ) ) { + return this.each( function( j ) { + jQuery( this ).addClass( value.call( this, j, getClass( this ) ) ); + } ); + } + + classes = classesToArray( value ); + + if ( classes.length ) { + while ( ( elem = this[ i++ ] ) ) { + curValue = getClass( elem ); + cur = elem.nodeType === 1 && ( " " + stripAndCollapse( curValue ) + " " ); + + if ( cur ) { + j = 0; + while ( ( clazz = classes[ j++ ] ) ) { + if ( cur.indexOf( " " + clazz + " " ) < 0 ) { + cur += clazz + " "; + } + } + + // Only assign if different to avoid unneeded rendering. + finalValue = stripAndCollapse( cur ); + if ( curValue !== finalValue ) { + elem.setAttribute( "class", finalValue ); + } + } + } + } + + return this; + }, + + removeClass: function( value ) { + var classes, elem, cur, curValue, clazz, j, finalValue, + i = 0; + + if ( isFunction( value ) ) { + return this.each( function( j ) { + jQuery( this ).removeClass( value.call( this, j, getClass( this ) ) ); + } ); + } + + if ( !arguments.length ) { + return this.attr( "class", "" ); + } + + classes = classesToArray( value ); + + if ( classes.length ) { + while ( ( elem = this[ i++ ] ) ) { + curValue = getClass( elem ); + + // This expression is here for better compressibility (see addClass) + cur = elem.nodeType === 1 && ( " " + stripAndCollapse( curValue ) + " " ); + + if ( cur ) { + j = 0; + while ( ( clazz = classes[ j++ ] ) ) { + + // Remove *all* instances + while ( cur.indexOf( " " + clazz + " " ) > -1 ) { + cur = cur.replace( " " + clazz + " ", " " ); + } + } + + // Only assign if different to avoid unneeded rendering. + finalValue = stripAndCollapse( cur ); + if ( curValue !== finalValue ) { + elem.setAttribute( "class", finalValue ); + } + } + } + } + + return this; + }, + + toggleClass: function( value, stateVal ) { + var type = typeof value, + isValidValue = type === "string" || Array.isArray( value ); + + if ( typeof stateVal === "boolean" && isValidValue ) { + return stateVal ? this.addClass( value ) : this.removeClass( value ); + } + + if ( isFunction( value ) ) { + return this.each( function( i ) { + jQuery( this ).toggleClass( + value.call( this, i, getClass( this ), stateVal ), + stateVal + ); + } ); + } + + return this.each( function() { + var className, i, self, classNames; + + if ( isValidValue ) { + + // Toggle individual class names + i = 0; + self = jQuery( this ); + classNames = classesToArray( value ); + + while ( ( className = classNames[ i++ ] ) ) { + + // Check each className given, space separated list + if ( self.hasClass( className ) ) { + self.removeClass( className ); + } else { + self.addClass( className ); + } + } + + // Toggle whole class name + } else if ( value === undefined || type === "boolean" ) { + className = getClass( this ); + if ( className ) { + + // Store className if set + dataPriv.set( this, "__className__", className ); + } + + // If the element has a class name or if we're passed `false`, + // then remove the whole classname (if there was one, the above saved it). + // Otherwise bring back whatever was previously saved (if anything), + // falling back to the empty string if nothing was stored. + if ( this.setAttribute ) { + this.setAttribute( "class", + className || value === false ? + "" : + dataPriv.get( this, "__className__" ) || "" + ); + } + } + } ); + }, + + hasClass: function( selector ) { + var className, elem, + i = 0; + + className = " " + selector + " "; + while ( ( elem = this[ i++ ] ) ) { + if ( elem.nodeType === 1 && + ( " " + stripAndCollapse( getClass( elem ) ) + " " ).indexOf( className ) > -1 ) { + return true; + } + } + + return false; + } +} ); + + + + +var rreturn = /\r/g; + +jQuery.fn.extend( { + val: function( value ) { + var hooks, ret, valueIsFunction, + elem = this[ 0 ]; + + if ( !arguments.length ) { + if ( elem ) { + hooks = jQuery.valHooks[ elem.type ] || + jQuery.valHooks[ elem.nodeName.toLowerCase() ]; + + if ( hooks && + "get" in hooks && + ( ret = hooks.get( elem, "value" ) ) !== undefined + ) { + return ret; + } + + ret = elem.value; + + // Handle most common string cases + if ( typeof ret === "string" ) { + return ret.replace( rreturn, "" ); + } + + // Handle cases where value is null/undef or number + return ret == null ? "" : ret; + } + + return; + } + + valueIsFunction = isFunction( value ); + + return this.each( function( i ) { + var val; + + if ( this.nodeType !== 1 ) { + return; + } + + if ( valueIsFunction ) { + val = value.call( this, i, jQuery( this ).val() ); + } else { + val = value; + } + + // Treat null/undefined as ""; convert numbers to string + if ( val == null ) { + val = ""; + + } else if ( typeof val === "number" ) { + val += ""; + + } else if ( Array.isArray( val ) ) { + val = jQuery.map( val, function( value ) { + return value == null ? "" : value + ""; + } ); + } + + hooks = jQuery.valHooks[ this.type ] || jQuery.valHooks[ this.nodeName.toLowerCase() ]; + + // If set returns undefined, fall back to normal setting + if ( !hooks || !( "set" in hooks ) || hooks.set( this, val, "value" ) === undefined ) { + this.value = val; + } + } ); + } +} ); + +jQuery.extend( { + valHooks: { + option: { + get: function( elem ) { + + var val = jQuery.find.attr( elem, "value" ); + return val != null ? + val : + + // Support: IE <=10 - 11 only + // option.text throws exceptions (#14686, #14858) + // Strip and collapse whitespace + // https://html.spec.whatwg.org/#strip-and-collapse-whitespace + stripAndCollapse( jQuery.text( elem ) ); + } + }, + select: { + get: function( elem ) { + var value, option, i, + options = elem.options, + index = elem.selectedIndex, + one = elem.type === "select-one", + values = one ? null : [], + max = one ? index + 1 : options.length; + + if ( index < 0 ) { + i = max; + + } else { + i = one ? index : 0; + } + + // Loop through all the selected options + for ( ; i < max; i++ ) { + option = options[ i ]; + + // Support: IE <=9 only + // IE8-9 doesn't update selected after form reset (#2551) + if ( ( option.selected || i === index ) && + + // Don't return options that are disabled or in a disabled optgroup + !option.disabled && + ( !option.parentNode.disabled || + !nodeName( option.parentNode, "optgroup" ) ) ) { + + // Get the specific value for the option + value = jQuery( option ).val(); + + // We don't need an array for one selects + if ( one ) { + return value; + } + + // Multi-Selects return an array + values.push( value ); + } + } + + return values; + }, + + set: function( elem, value ) { + var optionSet, option, + options = elem.options, + values = jQuery.makeArray( value ), + i = options.length; + + while ( i-- ) { + option = options[ i ]; + + /* eslint-disable no-cond-assign */ + + if ( option.selected = + jQuery.inArray( jQuery.valHooks.option.get( option ), values ) > -1 + ) { + optionSet = true; + } + + /* eslint-enable no-cond-assign */ + } + + // Force browsers to behave consistently when non-matching value is set + if ( !optionSet ) { + elem.selectedIndex = -1; + } + return values; + } + } + } +} ); + +// Radios and checkboxes getter/setter +jQuery.each( [ "radio", "checkbox" ], function() { + jQuery.valHooks[ this ] = { + set: function( elem, value ) { + if ( Array.isArray( value ) ) { + return ( elem.checked = jQuery.inArray( jQuery( elem ).val(), value ) > -1 ); + } + } + }; + if ( !support.checkOn ) { + jQuery.valHooks[ this ].get = function( elem ) { + return elem.getAttribute( "value" ) === null ? "on" : elem.value; + }; + } +} ); + + + + +// Return jQuery for attributes-only inclusion + + +support.focusin = "onfocusin" in window; + + +var rfocusMorph = /^(?:focusinfocus|focusoutblur)$/, + stopPropagationCallback = function( e ) { + e.stopPropagation(); + }; + +jQuery.extend( jQuery.event, { + + trigger: function( event, data, elem, onlyHandlers ) { + + var i, cur, tmp, bubbleType, ontype, handle, special, lastElement, + eventPath = [ elem || document ], + type = hasOwn.call( event, "type" ) ? event.type : event, + namespaces = hasOwn.call( event, "namespace" ) ? event.namespace.split( "." ) : []; + + cur = lastElement = tmp = elem = elem || document; + + // Don't do events on text and comment nodes + if ( elem.nodeType === 3 || elem.nodeType === 8 ) { + return; + } + + // focus/blur morphs to focusin/out; ensure we're not firing them right now + if ( rfocusMorph.test( type + jQuery.event.triggered ) ) { + return; + } + + if ( type.indexOf( "." ) > -1 ) { + + // Namespaced trigger; create a regexp to match event type in handle() + namespaces = type.split( "." ); + type = namespaces.shift(); + namespaces.sort(); + } + ontype = type.indexOf( ":" ) < 0 && "on" + type; + + // Caller can pass in a jQuery.Event object, Object, or just an event type string + event = event[ jQuery.expando ] ? + event : + new jQuery.Event( type, typeof event === "object" && event ); + + // Trigger bitmask: & 1 for native handlers; & 2 for jQuery (always true) + event.isTrigger = onlyHandlers ? 2 : 3; + event.namespace = namespaces.join( "." ); + event.rnamespace = event.namespace ? + new RegExp( "(^|\\.)" + namespaces.join( "\\.(?:.*\\.|)" ) + "(\\.|$)" ) : + null; + + // Clean up the event in case it is being reused + event.result = undefined; + if ( !event.target ) { + event.target = elem; + } + + // Clone any incoming data and prepend the event, creating the handler arg list + data = data == null ? + [ event ] : + jQuery.makeArray( data, [ event ] ); + + // Allow special events to draw outside the lines + special = jQuery.event.special[ type ] || {}; + if ( !onlyHandlers && special.trigger && special.trigger.apply( elem, data ) === false ) { + return; + } + + // Determine event propagation path in advance, per W3C events spec (#9951) + // Bubble up to document, then to window; watch for a global ownerDocument var (#9724) + if ( !onlyHandlers && !special.noBubble && !isWindow( elem ) ) { + + bubbleType = special.delegateType || type; + if ( !rfocusMorph.test( bubbleType + type ) ) { + cur = cur.parentNode; + } + for ( ; cur; cur = cur.parentNode ) { + eventPath.push( cur ); + tmp = cur; + } + + // Only add window if we got to document (e.g., not plain obj or detached DOM) + if ( tmp === ( elem.ownerDocument || document ) ) { + eventPath.push( tmp.defaultView || tmp.parentWindow || window ); + } + } + + // Fire handlers on the event path + i = 0; + while ( ( cur = eventPath[ i++ ] ) && !event.isPropagationStopped() ) { + lastElement = cur; + event.type = i > 1 ? + bubbleType : + special.bindType || type; + + // jQuery handler + handle = ( dataPriv.get( cur, "events" ) || Object.create( null ) )[ event.type ] && + dataPriv.get( cur, "handle" ); + if ( handle ) { + handle.apply( cur, data ); + } + + // Native handler + handle = ontype && cur[ ontype ]; + if ( handle && handle.apply && acceptData( cur ) ) { + event.result = handle.apply( cur, data ); + if ( event.result === false ) { + event.preventDefault(); + } + } + } + event.type = type; + + // If nobody prevented the default action, do it now + if ( !onlyHandlers && !event.isDefaultPrevented() ) { + + if ( ( !special._default || + special._default.apply( eventPath.pop(), data ) === false ) && + acceptData( elem ) ) { + + // Call a native DOM method on the target with the same name as the event. + // Don't do default actions on window, that's where global variables be (#6170) + if ( ontype && isFunction( elem[ type ] ) && !isWindow( elem ) ) { + + // Don't re-trigger an onFOO event when we call its FOO() method + tmp = elem[ ontype ]; + + if ( tmp ) { + elem[ ontype ] = null; + } + + // Prevent re-triggering of the same event, since we already bubbled it above + jQuery.event.triggered = type; + + if ( event.isPropagationStopped() ) { + lastElement.addEventListener( type, stopPropagationCallback ); + } + + elem[ type ](); + + if ( event.isPropagationStopped() ) { + lastElement.removeEventListener( type, stopPropagationCallback ); + } + + jQuery.event.triggered = undefined; + + if ( tmp ) { + elem[ ontype ] = tmp; + } + } + } + } + + return event.result; + }, + + // Piggyback on a donor event to simulate a different one + // Used only for `focus(in | out)` events + simulate: function( type, elem, event ) { + var e = jQuery.extend( + new jQuery.Event(), + event, + { + type: type, + isSimulated: true + } + ); + + jQuery.event.trigger( e, null, elem ); + } + +} ); + +jQuery.fn.extend( { + + trigger: function( type, data ) { + return this.each( function() { + jQuery.event.trigger( type, data, this ); + } ); + }, + triggerHandler: function( type, data ) { + var elem = this[ 0 ]; + if ( elem ) { + return jQuery.event.trigger( type, data, elem, true ); + } + } +} ); + + +// Support: Firefox <=44 +// Firefox doesn't have focus(in | out) events +// Related ticket - https://bugzilla.mozilla.org/show_bug.cgi?id=687787 +// +// Support: Chrome <=48 - 49, Safari <=9.0 - 9.1 +// focus(in | out) events fire after focus & blur events, +// which is spec violation - http://www.w3.org/TR/DOM-Level-3-Events/#events-focusevent-event-order +// Related ticket - https://bugs.chromium.org/p/chromium/issues/detail?id=449857 +if ( !support.focusin ) { + jQuery.each( { focus: "focusin", blur: "focusout" }, function( orig, fix ) { + + // Attach a single capturing handler on the document while someone wants focusin/focusout + var handler = function( event ) { + jQuery.event.simulate( fix, event.target, jQuery.event.fix( event ) ); + }; + + jQuery.event.special[ fix ] = { + setup: function() { + + // Handle: regular nodes (via `this.ownerDocument`), window + // (via `this.document`) & document (via `this`). + var doc = this.ownerDocument || this.document || this, + attaches = dataPriv.access( doc, fix ); + + if ( !attaches ) { + doc.addEventListener( orig, handler, true ); + } + dataPriv.access( doc, fix, ( attaches || 0 ) + 1 ); + }, + teardown: function() { + var doc = this.ownerDocument || this.document || this, + attaches = dataPriv.access( doc, fix ) - 1; + + if ( !attaches ) { + doc.removeEventListener( orig, handler, true ); + dataPriv.remove( doc, fix ); + + } else { + dataPriv.access( doc, fix, attaches ); + } + } + }; + } ); +} +var location = window.location; + +var nonce = { guid: Date.now() }; + +var rquery = ( /\?/ ); + + + +// Cross-browser xml parsing +jQuery.parseXML = function( data ) { + var xml, parserErrorElem; + if ( !data || typeof data !== "string" ) { + return null; + } + + // Support: IE 9 - 11 only + // IE throws on parseFromString with invalid input. + try { + xml = ( new window.DOMParser() ).parseFromString( data, "text/xml" ); + } catch ( e ) {} + + parserErrorElem = xml && xml.getElementsByTagName( "parsererror" )[ 0 ]; + if ( !xml || parserErrorElem ) { + jQuery.error( "Invalid XML: " + ( + parserErrorElem ? + jQuery.map( parserErrorElem.childNodes, function( el ) { + return el.textContent; + } ).join( "\n" ) : + data + ) ); + } + return xml; +}; + + +var + rbracket = /\[\]$/, + rCRLF = /\r?\n/g, + rsubmitterTypes = /^(?:submit|button|image|reset|file)$/i, + rsubmittable = /^(?:input|select|textarea|keygen)/i; + +function buildParams( prefix, obj, traditional, add ) { + var name; + + if ( Array.isArray( obj ) ) { + + // Serialize array item. + jQuery.each( obj, function( i, v ) { + if ( traditional || rbracket.test( prefix ) ) { + + // Treat each array item as a scalar. + add( prefix, v ); + + } else { + + // Item is non-scalar (array or object), encode its numeric index. + buildParams( + prefix + "[" + ( typeof v === "object" && v != null ? i : "" ) + "]", + v, + traditional, + add + ); + } + } ); + + } else if ( !traditional && toType( obj ) === "object" ) { + + // Serialize object item. + for ( name in obj ) { + buildParams( prefix + "[" + name + "]", obj[ name ], traditional, add ); + } + + } else { + + // Serialize scalar item. + add( prefix, obj ); + } +} + +// Serialize an array of form elements or a set of +// key/values into a query string +jQuery.param = function( a, traditional ) { + var prefix, + s = [], + add = function( key, valueOrFunction ) { + + // If value is a function, invoke it and use its return value + var value = isFunction( valueOrFunction ) ? + valueOrFunction() : + valueOrFunction; + + s[ s.length ] = encodeURIComponent( key ) + "=" + + encodeURIComponent( value == null ? "" : value ); + }; + + if ( a == null ) { + return ""; + } + + // If an array was passed in, assume that it is an array of form elements. + if ( Array.isArray( a ) || ( a.jquery && !jQuery.isPlainObject( a ) ) ) { + + // Serialize the form elements + jQuery.each( a, function() { + add( this.name, this.value ); + } ); + + } else { + + // If traditional, encode the "old" way (the way 1.3.2 or older + // did it), otherwise encode params recursively. + for ( prefix in a ) { + buildParams( prefix, a[ prefix ], traditional, add ); + } + } + + // Return the resulting serialization + return s.join( "&" ); +}; + +jQuery.fn.extend( { + serialize: function() { + return jQuery.param( this.serializeArray() ); + }, + serializeArray: function() { + return this.map( function() { + + // Can add propHook for "elements" to filter or add form elements + var elements = jQuery.prop( this, "elements" ); + return elements ? jQuery.makeArray( elements ) : this; + } ).filter( function() { + var type = this.type; + + // Use .is( ":disabled" ) so that fieldset[disabled] works + return this.name && !jQuery( this ).is( ":disabled" ) && + rsubmittable.test( this.nodeName ) && !rsubmitterTypes.test( type ) && + ( this.checked || !rcheckableType.test( type ) ); + } ).map( function( _i, elem ) { + var val = jQuery( this ).val(); + + if ( val == null ) { + return null; + } + + if ( Array.isArray( val ) ) { + return jQuery.map( val, function( val ) { + return { name: elem.name, value: val.replace( rCRLF, "\r\n" ) }; + } ); + } + + return { name: elem.name, value: val.replace( rCRLF, "\r\n" ) }; + } ).get(); + } +} ); + + +var + r20 = /%20/g, + rhash = /#.*$/, + rantiCache = /([?&])_=[^&]*/, + rheaders = /^(.*?):[ \t]*([^\r\n]*)$/mg, + + // #7653, #8125, #8152: local protocol detection + rlocalProtocol = /^(?:about|app|app-storage|.+-extension|file|res|widget):$/, + rnoContent = /^(?:GET|HEAD)$/, + rprotocol = /^\/\//, + + /* Prefilters + * 1) They are useful to introduce custom dataTypes (see ajax/jsonp.js for an example) + * 2) These are called: + * - BEFORE asking for a transport + * - AFTER param serialization (s.data is a string if s.processData is true) + * 3) key is the dataType + * 4) the catchall symbol "*" can be used + * 5) execution will start with transport dataType and THEN continue down to "*" if needed + */ + prefilters = {}, + + /* Transports bindings + * 1) key is the dataType + * 2) the catchall symbol "*" can be used + * 3) selection will start with transport dataType and THEN go to "*" if needed + */ + transports = {}, + + // Avoid comment-prolog char sequence (#10098); must appease lint and evade compression + allTypes = "*/".concat( "*" ), + + // Anchor tag for parsing the document origin + originAnchor = document.createElement( "a" ); + +originAnchor.href = location.href; + +// Base "constructor" for jQuery.ajaxPrefilter and jQuery.ajaxTransport +function addToPrefiltersOrTransports( structure ) { + + // dataTypeExpression is optional and defaults to "*" + return function( dataTypeExpression, func ) { + + if ( typeof dataTypeExpression !== "string" ) { + func = dataTypeExpression; + dataTypeExpression = "*"; + } + + var dataType, + i = 0, + dataTypes = dataTypeExpression.toLowerCase().match( rnothtmlwhite ) || []; + + if ( isFunction( func ) ) { + + // For each dataType in the dataTypeExpression + while ( ( dataType = dataTypes[ i++ ] ) ) { + + // Prepend if requested + if ( dataType[ 0 ] === "+" ) { + dataType = dataType.slice( 1 ) || "*"; + ( structure[ dataType ] = structure[ dataType ] || [] ).unshift( func ); + + // Otherwise append + } else { + ( structure[ dataType ] = structure[ dataType ] || [] ).push( func ); + } + } + } + }; +} + +// Base inspection function for prefilters and transports +function inspectPrefiltersOrTransports( structure, options, originalOptions, jqXHR ) { + + var inspected = {}, + seekingTransport = ( structure === transports ); + + function inspect( dataType ) { + var selected; + inspected[ dataType ] = true; + jQuery.each( structure[ dataType ] || [], function( _, prefilterOrFactory ) { + var dataTypeOrTransport = prefilterOrFactory( options, originalOptions, jqXHR ); + if ( typeof dataTypeOrTransport === "string" && + !seekingTransport && !inspected[ dataTypeOrTransport ] ) { + + options.dataTypes.unshift( dataTypeOrTransport ); + inspect( dataTypeOrTransport ); + return false; + } else if ( seekingTransport ) { + return !( selected = dataTypeOrTransport ); + } + } ); + return selected; + } + + return inspect( options.dataTypes[ 0 ] ) || !inspected[ "*" ] && inspect( "*" ); +} + +// A special extend for ajax options +// that takes "flat" options (not to be deep extended) +// Fixes #9887 +function ajaxExtend( target, src ) { + var key, deep, + flatOptions = jQuery.ajaxSettings.flatOptions || {}; + + for ( key in src ) { + if ( src[ key ] !== undefined ) { + ( flatOptions[ key ] ? target : ( deep || ( deep = {} ) ) )[ key ] = src[ key ]; + } + } + if ( deep ) { + jQuery.extend( true, target, deep ); + } + + return target; +} + +/* Handles responses to an ajax request: + * - finds the right dataType (mediates between content-type and expected dataType) + * - returns the corresponding response + */ +function ajaxHandleResponses( s, jqXHR, responses ) { + + var ct, type, finalDataType, firstDataType, + contents = s.contents, + dataTypes = s.dataTypes; + + // Remove auto dataType and get content-type in the process + while ( dataTypes[ 0 ] === "*" ) { + dataTypes.shift(); + if ( ct === undefined ) { + ct = s.mimeType || jqXHR.getResponseHeader( "Content-Type" ); + } + } + + // Check if we're dealing with a known content-type + if ( ct ) { + for ( type in contents ) { + if ( contents[ type ] && contents[ type ].test( ct ) ) { + dataTypes.unshift( type ); + break; + } + } + } + + // Check to see if we have a response for the expected dataType + if ( dataTypes[ 0 ] in responses ) { + finalDataType = dataTypes[ 0 ]; + } else { + + // Try convertible dataTypes + for ( type in responses ) { + if ( !dataTypes[ 0 ] || s.converters[ type + " " + dataTypes[ 0 ] ] ) { + finalDataType = type; + break; + } + if ( !firstDataType ) { + firstDataType = type; + } + } + + // Or just use first one + finalDataType = finalDataType || firstDataType; + } + + // If we found a dataType + // We add the dataType to the list if needed + // and return the corresponding response + if ( finalDataType ) { + if ( finalDataType !== dataTypes[ 0 ] ) { + dataTypes.unshift( finalDataType ); + } + return responses[ finalDataType ]; + } +} + +/* Chain conversions given the request and the original response + * Also sets the responseXXX fields on the jqXHR instance + */ +function ajaxConvert( s, response, jqXHR, isSuccess ) { + var conv2, current, conv, tmp, prev, + converters = {}, + + // Work with a copy of dataTypes in case we need to modify it for conversion + dataTypes = s.dataTypes.slice(); + + // Create converters map with lowercased keys + if ( dataTypes[ 1 ] ) { + for ( conv in s.converters ) { + converters[ conv.toLowerCase() ] = s.converters[ conv ]; + } + } + + current = dataTypes.shift(); + + // Convert to each sequential dataType + while ( current ) { + + if ( s.responseFields[ current ] ) { + jqXHR[ s.responseFields[ current ] ] = response; + } + + // Apply the dataFilter if provided + if ( !prev && isSuccess && s.dataFilter ) { + response = s.dataFilter( response, s.dataType ); + } + + prev = current; + current = dataTypes.shift(); + + if ( current ) { + + // There's only work to do if current dataType is non-auto + if ( current === "*" ) { + + current = prev; + + // Convert response if prev dataType is non-auto and differs from current + } else if ( prev !== "*" && prev !== current ) { + + // Seek a direct converter + conv = converters[ prev + " " + current ] || converters[ "* " + current ]; + + // If none found, seek a pair + if ( !conv ) { + for ( conv2 in converters ) { + + // If conv2 outputs current + tmp = conv2.split( " " ); + if ( tmp[ 1 ] === current ) { + + // If prev can be converted to accepted input + conv = converters[ prev + " " + tmp[ 0 ] ] || + converters[ "* " + tmp[ 0 ] ]; + if ( conv ) { + + // Condense equivalence converters + if ( conv === true ) { + conv = converters[ conv2 ]; + + // Otherwise, insert the intermediate dataType + } else if ( converters[ conv2 ] !== true ) { + current = tmp[ 0 ]; + dataTypes.unshift( tmp[ 1 ] ); + } + break; + } + } + } + } + + // Apply converter (if not an equivalence) + if ( conv !== true ) { + + // Unless errors are allowed to bubble, catch and return them + if ( conv && s.throws ) { + response = conv( response ); + } else { + try { + response = conv( response ); + } catch ( e ) { + return { + state: "parsererror", + error: conv ? e : "No conversion from " + prev + " to " + current + }; + } + } + } + } + } + } + + return { state: "success", data: response }; +} + +jQuery.extend( { + + // Counter for holding the number of active queries + active: 0, + + // Last-Modified header cache for next request + lastModified: {}, + etag: {}, + + ajaxSettings: { + url: location.href, + type: "GET", + isLocal: rlocalProtocol.test( location.protocol ), + global: true, + processData: true, + async: true, + contentType: "application/x-www-form-urlencoded; charset=UTF-8", + + /* + timeout: 0, + data: null, + dataType: null, + username: null, + password: null, + cache: null, + throws: false, + traditional: false, + headers: {}, + */ + + accepts: { + "*": allTypes, + 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" + }, + + // Data converters + // Keys separate source (or catchall "*") and destination types with a single space + converters: { + + // Convert anything to text + "* text": String, + + // Text to html (true = no transformation) + "text html": true, + + // Evaluate text as a json expression + "text json": JSON.parse, + + // Parse text as xml + "text xml": jQuery.parseXML + }, + + // For options that shouldn't be deep extended: + // you can add your own custom options here if + // and when you create one that shouldn't be + // deep extended (see ajaxExtend) + flatOptions: { + url: true, + context: true + } + }, + + // Creates a full fledged settings object into target + // with both ajaxSettings and settings fields. + // If target is omitted, writes into ajaxSettings. + ajaxSetup: function( target, settings ) { + return settings ? + + // Building a settings object + ajaxExtend( ajaxExtend( target, jQuery.ajaxSettings ), settings ) : + + // Extending ajaxSettings + ajaxExtend( jQuery.ajaxSettings, target ); + }, + + ajaxPrefilter: addToPrefiltersOrTransports( prefilters ), + ajaxTransport: addToPrefiltersOrTransports( transports ), + + // Main method + ajax: function( url, options ) { + + // If url is an object, simulate pre-1.5 signature + if ( typeof url === "object" ) { + options = url; + url = undefined; + } + + // Force options to be an object + options = options || {}; + + var transport, + + // URL without anti-cache param + cacheURL, + + // Response headers + responseHeadersString, + responseHeaders, + + // timeout handle + timeoutTimer, + + // Url cleanup var + urlAnchor, + + // Request state (becomes false upon send and true upon completion) + completed, + + // To know if global events are to be dispatched + fireGlobals, + + // Loop variable + i, + + // uncached part of the url + uncached, + + // Create the final options object + s = jQuery.ajaxSetup( {}, options ), + + // Callbacks context + callbackContext = s.context || s, + + // Context for global events is callbackContext if it is a DOM node or jQuery collection + globalEventContext = s.context && + ( callbackContext.nodeType || callbackContext.jquery ) ? + jQuery( callbackContext ) : + jQuery.event, + + // Deferreds + deferred = jQuery.Deferred(), + completeDeferred = jQuery.Callbacks( "once memory" ), + + // Status-dependent callbacks + statusCode = s.statusCode || {}, + + // Headers (they are sent all at once) + requestHeaders = {}, + requestHeadersNames = {}, + + // Default abort message + strAbort = "canceled", + + // Fake xhr + jqXHR = { + readyState: 0, + + // Builds headers hashtable if needed + getResponseHeader: function( key ) { + var match; + if ( completed ) { + if ( !responseHeaders ) { + responseHeaders = {}; + while ( ( match = rheaders.exec( responseHeadersString ) ) ) { + responseHeaders[ match[ 1 ].toLowerCase() + " " ] = + ( responseHeaders[ match[ 1 ].toLowerCase() + " " ] || [] ) + .concat( match[ 2 ] ); + } + } + match = responseHeaders[ key.toLowerCase() + " " ]; + } + return match == null ? null : match.join( ", " ); + }, + + // Raw string + getAllResponseHeaders: function() { + return completed ? responseHeadersString : null; + }, + + // Caches the header + setRequestHeader: function( name, value ) { + if ( completed == null ) { + name = requestHeadersNames[ name.toLowerCase() ] = + requestHeadersNames[ name.toLowerCase() ] || name; + requestHeaders[ name ] = value; + } + return this; + }, + + // Overrides response content-type header + overrideMimeType: function( type ) { + if ( completed == null ) { + s.mimeType = type; + } + return this; + }, + + // Status-dependent callbacks + statusCode: function( map ) { + var code; + if ( map ) { + if ( completed ) { + + // Execute the appropriate callbacks + jqXHR.always( map[ jqXHR.status ] ); + } else { + + // Lazy-add the new callbacks in a way that preserves old ones + for ( code in map ) { + statusCode[ code ] = [ statusCode[ code ], map[ code ] ]; + } + } + } + return this; + }, + + // Cancel the request + abort: function( statusText ) { + var finalText = statusText || strAbort; + if ( transport ) { + transport.abort( finalText ); + } + done( 0, finalText ); + return this; + } + }; + + // Attach deferreds + deferred.promise( jqXHR ); + + // Add protocol if not provided (prefilters might expect it) + // Handle falsy url in the settings object (#10093: consistency with old signature) + // We also use the url parameter if available + s.url = ( ( url || s.url || location.href ) + "" ) + .replace( rprotocol, location.protocol + "//" ); + + // Alias method option to type as per ticket #12004 + s.type = options.method || options.type || s.method || s.type; + + // Extract dataTypes list + s.dataTypes = ( s.dataType || "*" ).toLowerCase().match( rnothtmlwhite ) || [ "" ]; + + // A cross-domain request is in order when the origin doesn't match the current origin. + if ( s.crossDomain == null ) { + urlAnchor = document.createElement( "a" ); + + // Support: IE <=8 - 11, Edge 12 - 15 + // IE throws exception on accessing the href property if url is malformed, + // e.g. http://example.com:80x/ + try { + urlAnchor.href = s.url; + + // Support: IE <=8 - 11 only + // Anchor's host property isn't correctly set when s.url is relative + urlAnchor.href = urlAnchor.href; + s.crossDomain = originAnchor.protocol + "//" + originAnchor.host !== + urlAnchor.protocol + "//" + urlAnchor.host; + } catch ( e ) { + + // If there is an error parsing the URL, assume it is crossDomain, + // it can be rejected by the transport if it is invalid + s.crossDomain = true; + } + } + + // Convert data if not already a string + if ( s.data && s.processData && typeof s.data !== "string" ) { + s.data = jQuery.param( s.data, s.traditional ); + } + + // Apply prefilters + inspectPrefiltersOrTransports( prefilters, s, options, jqXHR ); + + // If request was aborted inside a prefilter, stop there + if ( completed ) { + return jqXHR; + } + + // We can fire global events as of now if asked to + // Don't fire events if jQuery.event is undefined in an AMD-usage scenario (#15118) + fireGlobals = jQuery.event && s.global; + + // Watch for a new set of requests + if ( fireGlobals && jQuery.active++ === 0 ) { + jQuery.event.trigger( "ajaxStart" ); + } + + // Uppercase the type + s.type = s.type.toUpperCase(); + + // Determine if request has content + s.hasContent = !rnoContent.test( s.type ); + + // Save the URL in case we're toying with the If-Modified-Since + // and/or If-None-Match header later on + // Remove hash to simplify url manipulation + cacheURL = s.url.replace( rhash, "" ); + + // More options handling for requests with no content + if ( !s.hasContent ) { + + // Remember the hash so we can put it back + uncached = s.url.slice( cacheURL.length ); + + // If data is available and should be processed, append data to url + if ( s.data && ( s.processData || typeof s.data === "string" ) ) { + cacheURL += ( rquery.test( cacheURL ) ? "&" : "?" ) + s.data; + + // #9682: remove data so that it's not used in an eventual retry + delete s.data; + } + + // Add or update anti-cache param if needed + if ( s.cache === false ) { + cacheURL = cacheURL.replace( rantiCache, "$1" ); + uncached = ( rquery.test( cacheURL ) ? "&" : "?" ) + "_=" + ( nonce.guid++ ) + + uncached; + } + + // Put hash and anti-cache on the URL that will be requested (gh-1732) + s.url = cacheURL + uncached; + + // Change '%20' to '+' if this is encoded form body content (gh-2658) + } else if ( s.data && s.processData && + ( s.contentType || "" ).indexOf( "application/x-www-form-urlencoded" ) === 0 ) { + s.data = s.data.replace( r20, "+" ); + } + + // Set the If-Modified-Since and/or If-None-Match header, if in ifModified mode. + if ( s.ifModified ) { + if ( jQuery.lastModified[ cacheURL ] ) { + jqXHR.setRequestHeader( "If-Modified-Since", jQuery.lastModified[ cacheURL ] ); + } + if ( jQuery.etag[ cacheURL ] ) { + jqXHR.setRequestHeader( "If-None-Match", jQuery.etag[ cacheURL ] ); + } + } + + // Set the correct header, if data is being sent + if ( s.data && s.hasContent && s.contentType !== false || options.contentType ) { + jqXHR.setRequestHeader( "Content-Type", s.contentType ); + } + + // Set the Accepts header for the server, depending on the dataType + jqXHR.setRequestHeader( + "Accept", + s.dataTypes[ 0 ] && s.accepts[ s.dataTypes[ 0 ] ] ? + s.accepts[ s.dataTypes[ 0 ] ] + + ( s.dataTypes[ 0 ] !== "*" ? ", " + allTypes + "; q=0.01" : "" ) : + s.accepts[ "*" ] + ); + + // Check for headers option + for ( i in s.headers ) { + jqXHR.setRequestHeader( i, s.headers[ i ] ); + } + + // Allow custom headers/mimetypes and early abort + if ( s.beforeSend && + ( s.beforeSend.call( callbackContext, jqXHR, s ) === false || completed ) ) { + + // Abort if not done already and return + return jqXHR.abort(); + } + + // Aborting is no longer a cancellation + strAbort = "abort"; + + // Install callbacks on deferreds + completeDeferred.add( s.complete ); + jqXHR.done( s.success ); + jqXHR.fail( s.error ); + + // Get transport + transport = inspectPrefiltersOrTransports( transports, s, options, jqXHR ); + + // If no transport, we auto-abort + if ( !transport ) { + done( -1, "No Transport" ); + } else { + jqXHR.readyState = 1; + + // Send global event + if ( fireGlobals ) { + globalEventContext.trigger( "ajaxSend", [ jqXHR, s ] ); + } + + // If request was aborted inside ajaxSend, stop there + if ( completed ) { + return jqXHR; + } + + // Timeout + if ( s.async && s.timeout > 0 ) { + timeoutTimer = window.setTimeout( function() { + jqXHR.abort( "timeout" ); + }, s.timeout ); + } + + try { + completed = false; + transport.send( requestHeaders, done ); + } catch ( e ) { + + // Rethrow post-completion exceptions + if ( completed ) { + throw e; + } + + // Propagate others as results + done( -1, e ); + } + } + + // Callback for when everything is done + function done( status, nativeStatusText, responses, headers ) { + var isSuccess, success, error, response, modified, + statusText = nativeStatusText; + + // Ignore repeat invocations + if ( completed ) { + return; + } + + completed = true; + + // Clear timeout if it exists + if ( timeoutTimer ) { + window.clearTimeout( timeoutTimer ); + } + + // Dereference transport for early garbage collection + // (no matter how long the jqXHR object will be used) + transport = undefined; + + // Cache response headers + responseHeadersString = headers || ""; + + // Set readyState + jqXHR.readyState = status > 0 ? 4 : 0; + + // Determine if successful + isSuccess = status >= 200 && status < 300 || status === 304; + + // Get response data + if ( responses ) { + response = ajaxHandleResponses( s, jqXHR, responses ); + } + + // Use a noop converter for missing script but not if jsonp + if ( !isSuccess && + jQuery.inArray( "script", s.dataTypes ) > -1 && + jQuery.inArray( "json", s.dataTypes ) < 0 ) { + s.converters[ "text script" ] = function() {}; + } + + // Convert no matter what (that way responseXXX fields are always set) + response = ajaxConvert( s, response, jqXHR, isSuccess ); + + // If successful, handle type chaining + if ( isSuccess ) { + + // Set the If-Modified-Since and/or If-None-Match header, if in ifModified mode. + if ( s.ifModified ) { + modified = jqXHR.getResponseHeader( "Last-Modified" ); + if ( modified ) { + jQuery.lastModified[ cacheURL ] = modified; + } + modified = jqXHR.getResponseHeader( "etag" ); + if ( modified ) { + jQuery.etag[ cacheURL ] = modified; + } + } + + // if no content + if ( status === 204 || s.type === "HEAD" ) { + statusText = "nocontent"; + + // if not modified + } else if ( status === 304 ) { + statusText = "notmodified"; + + // If we have data, let's convert it + } else { + statusText = response.state; + success = response.data; + error = response.error; + isSuccess = !error; + } + } else { + + // Extract error from statusText and normalize for non-aborts + error = statusText; + if ( status || !statusText ) { + statusText = "error"; + if ( status < 0 ) { + status = 0; + } + } + } + + // Set data for the fake xhr object + jqXHR.status = status; + jqXHR.statusText = ( nativeStatusText || statusText ) + ""; + + // Success/Error + if ( isSuccess ) { + deferred.resolveWith( callbackContext, [ success, statusText, jqXHR ] ); + } else { + deferred.rejectWith( callbackContext, [ jqXHR, statusText, error ] ); + } + + // Status-dependent callbacks + jqXHR.statusCode( statusCode ); + statusCode = undefined; + + if ( fireGlobals ) { + globalEventContext.trigger( isSuccess ? "ajaxSuccess" : "ajaxError", + [ jqXHR, s, isSuccess ? success : error ] ); + } + + // Complete + completeDeferred.fireWith( callbackContext, [ jqXHR, statusText ] ); + + if ( fireGlobals ) { + globalEventContext.trigger( "ajaxComplete", [ jqXHR, s ] ); + + // Handle the global AJAX counter + if ( !( --jQuery.active ) ) { + jQuery.event.trigger( "ajaxStop" ); + } + } + } + + return jqXHR; + }, + + getJSON: function( url, data, callback ) { + return jQuery.get( url, data, callback, "json" ); + }, + + getScript: function( url, callback ) { + return jQuery.get( url, undefined, callback, "script" ); + } +} ); + +jQuery.each( [ "get", "post" ], function( _i, method ) { + jQuery[ method ] = function( url, data, callback, type ) { + + // Shift arguments if data argument was omitted + if ( isFunction( data ) ) { + type = type || callback; + callback = data; + data = undefined; + } + + // The url can be an options object (which then must have .url) + return jQuery.ajax( jQuery.extend( { + url: url, + type: method, + dataType: type, + data: data, + success: callback + }, jQuery.isPlainObject( url ) && url ) ); + }; +} ); + +jQuery.ajaxPrefilter( function( s ) { + var i; + for ( i in s.headers ) { + if ( i.toLowerCase() === "content-type" ) { + s.contentType = s.headers[ i ] || ""; + } + } +} ); + + +jQuery._evalUrl = function( url, options, doc ) { + return jQuery.ajax( { + url: url, + + // Make this explicit, since user can override this through ajaxSetup (#11264) + type: "GET", + dataType: "script", + cache: true, + async: false, + global: false, + + // Only evaluate the response if it is successful (gh-4126) + // dataFilter is not invoked for failure responses, so using it instead + // of the default converter is kludgy but it works. + converters: { + "text script": function() {} + }, + dataFilter: function( response ) { + jQuery.globalEval( response, options, doc ); + } + } ); +}; + + +jQuery.fn.extend( { + wrapAll: function( html ) { + var wrap; + + if ( this[ 0 ] ) { + if ( isFunction( html ) ) { + html = html.call( this[ 0 ] ); + } + + // The elements to wrap the target around + wrap = jQuery( html, this[ 0 ].ownerDocument ).eq( 0 ).clone( true ); + + if ( this[ 0 ].parentNode ) { + wrap.insertBefore( this[ 0 ] ); + } + + wrap.map( function() { + var elem = this; + + while ( elem.firstElementChild ) { + elem = elem.firstElementChild; + } + + return elem; + } ).append( this ); + } + + return this; + }, + + wrapInner: function( html ) { + if ( isFunction( html ) ) { + return this.each( function( i ) { + jQuery( this ).wrapInner( html.call( this, i ) ); + } ); + } + + return this.each( function() { + var self = jQuery( this ), + contents = self.contents(); + + if ( contents.length ) { + contents.wrapAll( html ); + + } else { + self.append( html ); + } + } ); + }, + + wrap: function( html ) { + var htmlIsFunction = isFunction( html ); + + return this.each( function( i ) { + jQuery( this ).wrapAll( htmlIsFunction ? html.call( this, i ) : html ); + } ); + }, + + unwrap: function( selector ) { + this.parent( selector ).not( "body" ).each( function() { + jQuery( this ).replaceWith( this.childNodes ); + } ); + return this; + } +} ); + + +jQuery.expr.pseudos.hidden = function( elem ) { + return !jQuery.expr.pseudos.visible( elem ); +}; +jQuery.expr.pseudos.visible = function( elem ) { + return !!( elem.offsetWidth || elem.offsetHeight || elem.getClientRects().length ); +}; + + + + +jQuery.ajaxSettings.xhr = function() { + try { + return new window.XMLHttpRequest(); + } catch ( e ) {} +}; + +var xhrSuccessStatus = { + + // File protocol always yields status code 0, assume 200 + 0: 200, + + // Support: IE <=9 only + // #1450: sometimes IE returns 1223 when it should be 204 + 1223: 204 + }, + xhrSupported = jQuery.ajaxSettings.xhr(); + +support.cors = !!xhrSupported && ( "withCredentials" in xhrSupported ); +support.ajax = xhrSupported = !!xhrSupported; + +jQuery.ajaxTransport( function( options ) { + var callback, errorCallback; + + // Cross domain only allowed if supported through XMLHttpRequest + if ( support.cors || xhrSupported && !options.crossDomain ) { + return { + send: function( headers, complete ) { + var i, + xhr = options.xhr(); + + xhr.open( + options.type, + options.url, + options.async, + options.username, + options.password + ); + + // Apply custom fields if provided + if ( options.xhrFields ) { + for ( i in options.xhrFields ) { + xhr[ i ] = options.xhrFields[ i ]; + } + } + + // Override mime type if needed + if ( options.mimeType && xhr.overrideMimeType ) { + xhr.overrideMimeType( options.mimeType ); + } + + // X-Requested-With header + // For cross-domain requests, seeing as conditions for a preflight are + // akin to a jigsaw puzzle, we simply never set it to be sure. + // (it can always be set on a per-request basis or even using ajaxSetup) + // For same-domain requests, won't change header if already provided. + if ( !options.crossDomain && !headers[ "X-Requested-With" ] ) { + headers[ "X-Requested-With" ] = "XMLHttpRequest"; + } + + // Set headers + for ( i in headers ) { + xhr.setRequestHeader( i, headers[ i ] ); + } + + // Callback + callback = function( type ) { + return function() { + if ( callback ) { + callback = errorCallback = xhr.onload = + xhr.onerror = xhr.onabort = xhr.ontimeout = + xhr.onreadystatechange = null; + + if ( type === "abort" ) { + xhr.abort(); + } else if ( type === "error" ) { + + // Support: IE <=9 only + // On a manual native abort, IE9 throws + // errors on any property access that is not readyState + if ( typeof xhr.status !== "number" ) { + complete( 0, "error" ); + } else { + complete( + + // File: protocol always yields status 0; see #8605, #14207 + xhr.status, + xhr.statusText + ); + } + } else { + complete( + xhrSuccessStatus[ xhr.status ] || xhr.status, + xhr.statusText, + + // Support: IE <=9 only + // IE9 has no XHR2 but throws on binary (trac-11426) + // For XHR2 non-text, let the caller handle it (gh-2498) + ( xhr.responseType || "text" ) !== "text" || + typeof xhr.responseText !== "string" ? + { binary: xhr.response } : + { text: xhr.responseText }, + xhr.getAllResponseHeaders() + ); + } + } + }; + }; + + // Listen to events + xhr.onload = callback(); + errorCallback = xhr.onerror = xhr.ontimeout = callback( "error" ); + + // Support: IE 9 only + // Use onreadystatechange to replace onabort + // to handle uncaught aborts + if ( xhr.onabort !== undefined ) { + xhr.onabort = errorCallback; + } else { + xhr.onreadystatechange = function() { + + // Check readyState before timeout as it changes + if ( xhr.readyState === 4 ) { + + // Allow onerror to be called first, + // but that will not handle a native abort + // Also, save errorCallback to a variable + // as xhr.onerror cannot be accessed + window.setTimeout( function() { + if ( callback ) { + errorCallback(); + } + } ); + } + }; + } + + // Create the abort callback + callback = callback( "abort" ); + + try { + + // Do send the request (this may raise an exception) + xhr.send( options.hasContent && options.data || null ); + } catch ( e ) { + + // #14683: Only rethrow if this hasn't been notified as an error yet + if ( callback ) { + throw e; + } + } + }, + + abort: function() { + if ( callback ) { + callback(); + } + } + }; + } +} ); + + + + +// Prevent auto-execution of scripts when no explicit dataType was provided (See gh-2432) +jQuery.ajaxPrefilter( function( s ) { + if ( s.crossDomain ) { + s.contents.script = false; + } +} ); + +// Install script dataType +jQuery.ajaxSetup( { + accepts: { + script: "text/javascript, application/javascript, " + + "application/ecmascript, application/x-ecmascript" + }, + contents: { + script: /\b(?:java|ecma)script\b/ + }, + converters: { + "text script": function( text ) { + jQuery.globalEval( text ); + return text; + } + } +} ); + +// Handle cache's special case and crossDomain +jQuery.ajaxPrefilter( "script", function( s ) { + if ( s.cache === undefined ) { + s.cache = false; + } + if ( s.crossDomain ) { + s.type = "GET"; + } +} ); + +// Bind script tag hack transport +jQuery.ajaxTransport( "script", function( s ) { + + // This transport only deals with cross domain or forced-by-attrs requests + if ( s.crossDomain || s.scriptAttrs ) { + var script, callback; + return { + send: function( _, complete ) { + script = jQuery( "<script>" ) + .attr( s.scriptAttrs || {} ) + .prop( { charset: s.scriptCharset, src: s.url } ) + .on( "load error", callback = function( evt ) { + script.remove(); + callback = null; + if ( evt ) { + complete( evt.type === "error" ? 404 : 200, evt.type ); + } + } ); + + // Use native DOM manipulation to avoid our domManip AJAX trickery + document.head.appendChild( script[ 0 ] ); + }, + abort: function() { + if ( callback ) { + callback(); + } + } + }; + } +} ); + + + + +var oldCallbacks = [], + rjsonp = /(=)\?(?=&|$)|\?\?/; + +// Default jsonp settings +jQuery.ajaxSetup( { + jsonp: "callback", + jsonpCallback: function() { + var callback = oldCallbacks.pop() || ( jQuery.expando + "_" + ( nonce.guid++ ) ); + this[ callback ] = true; + return callback; + } +} ); + +// Detect, normalize options and install callbacks for jsonp requests +jQuery.ajaxPrefilter( "json jsonp", function( s, originalSettings, jqXHR ) { + + var callbackName, overwritten, responseContainer, + jsonProp = s.jsonp !== false && ( rjsonp.test( s.url ) ? + "url" : + typeof s.data === "string" && + ( s.contentType || "" ) + .indexOf( "application/x-www-form-urlencoded" ) === 0 && + rjsonp.test( s.data ) && "data" + ); + + // Handle iff the expected data type is "jsonp" or we have a parameter to set + if ( jsonProp || s.dataTypes[ 0 ] === "jsonp" ) { + + // Get callback name, remembering preexisting value associated with it + callbackName = s.jsonpCallback = isFunction( s.jsonpCallback ) ? + s.jsonpCallback() : + s.jsonpCallback; + + // Insert callback into url or form data + if ( jsonProp ) { + s[ jsonProp ] = s[ jsonProp ].replace( rjsonp, "$1" + callbackName ); + } else if ( s.jsonp !== false ) { + s.url += ( rquery.test( s.url ) ? "&" : "?" ) + s.jsonp + "=" + callbackName; + } + + // Use data converter to retrieve json after script execution + s.converters[ "script json" ] = function() { + if ( !responseContainer ) { + jQuery.error( callbackName + " was not called" ); + } + return responseContainer[ 0 ]; + }; + + // Force json dataType + s.dataTypes[ 0 ] = "json"; + + // Install callback + overwritten = window[ callbackName ]; + window[ callbackName ] = function() { + responseContainer = arguments; + }; + + // Clean-up function (fires after converters) + jqXHR.always( function() { + + // If previous value didn't exist - remove it + if ( overwritten === undefined ) { + jQuery( window ).removeProp( callbackName ); + + // Otherwise restore preexisting value + } else { + window[ callbackName ] = overwritten; + } + + // Save back as free + if ( s[ callbackName ] ) { + + // Make sure that re-using the options doesn't screw things around + s.jsonpCallback = originalSettings.jsonpCallback; + + // Save the callback name for future use + oldCallbacks.push( callbackName ); + } + + // Call if it was a function and we have a response + if ( responseContainer && isFunction( overwritten ) ) { + overwritten( responseContainer[ 0 ] ); + } + + responseContainer = overwritten = undefined; + } ); + + // Delegate to script + return "script"; + } +} ); + + + + +// Support: Safari 8 only +// In Safari 8 documents created via document.implementation.createHTMLDocument +// collapse sibling forms: the second one becomes a child of the first one. +// Because of that, this security measure has to be disabled in Safari 8. +// https://bugs.webkit.org/show_bug.cgi?id=137337 +support.createHTMLDocument = ( function() { + var body = document.implementation.createHTMLDocument( "" ).body; + body.innerHTML = "<form></form><form></form>"; + return body.childNodes.length === 2; +} )(); + + +// Argument "data" should be string of html +// context (optional): If specified, the fragment will be created in this context, +// defaults to document +// keepScripts (optional): If true, will include scripts passed in the html string +jQuery.parseHTML = function( data, context, keepScripts ) { + if ( typeof data !== "string" ) { + return []; + } + if ( typeof context === "boolean" ) { + keepScripts = context; + context = false; + } + + var base, parsed, scripts; + + if ( !context ) { + + // Stop scripts or inline event handlers from being executed immediately + // by using document.implementation + if ( support.createHTMLDocument ) { + context = document.implementation.createHTMLDocument( "" ); + + // Set the base href for the created document + // so any parsed elements with URLs + // are based on the document's URL (gh-2965) + base = context.createElement( "base" ); + base.href = document.location.href; + context.head.appendChild( base ); + } else { + context = document; + } + } + + parsed = rsingleTag.exec( data ); + scripts = !keepScripts && []; + + // Single tag + if ( parsed ) { + return [ context.createElement( parsed[ 1 ] ) ]; + } + + parsed = buildFragment( [ data ], context, scripts ); + + if ( scripts && scripts.length ) { + jQuery( scripts ).remove(); + } + + return jQuery.merge( [], parsed.childNodes ); +}; + + +/** + * Load a url into a page + */ +jQuery.fn.load = function( url, params, callback ) { + var selector, type, response, + self = this, + off = url.indexOf( " " ); + + if ( off > -1 ) { + selector = stripAndCollapse( url.slice( off ) ); + url = url.slice( 0, off ); + } + + // If it's a function + if ( isFunction( params ) ) { + + // We assume that it's the callback + callback = params; + params = undefined; + + // Otherwise, build a param string + } else if ( params && typeof params === "object" ) { + type = "POST"; + } + + // If we have elements to modify, make the request + if ( self.length > 0 ) { + jQuery.ajax( { + url: url, + + // If "type" variable is undefined, then "GET" method will be used. + // Make value of this field explicit since + // user can override it through ajaxSetup method + type: type || "GET", + dataType: "html", + data: params + } ).done( function( responseText ) { + + // Save response for use in complete callback + response = arguments; + + self.html( selector ? + + // If a selector was specified, locate the right elements in a dummy div + // Exclude scripts to avoid IE 'Permission Denied' errors + jQuery( "<div>" ).append( jQuery.parseHTML( responseText ) ).find( selector ) : + + // Otherwise use the full result + responseText ); + + // If the request succeeds, this function gets "data", "status", "jqXHR" + // but they are ignored because response was set above. + // If it fails, this function gets "jqXHR", "status", "error" + } ).always( callback && function( jqXHR, status ) { + self.each( function() { + callback.apply( this, response || [ jqXHR.responseText, status, jqXHR ] ); + } ); + } ); + } + + return this; +}; + + + + +jQuery.expr.pseudos.animated = function( elem ) { + return jQuery.grep( jQuery.timers, function( fn ) { + return elem === fn.elem; + } ).length; +}; + + + + +jQuery.offset = { + setOffset: function( elem, options, i ) { + var curPosition, curLeft, curCSSTop, curTop, curOffset, curCSSLeft, calculatePosition, + position = jQuery.css( elem, "position" ), + curElem = jQuery( elem ), + props = {}; + + // Set position first, in-case top/left are set even on static elem + if ( position === "static" ) { + elem.style.position = "relative"; + } + + curOffset = curElem.offset(); + curCSSTop = jQuery.css( elem, "top" ); + curCSSLeft = jQuery.css( elem, "left" ); + calculatePosition = ( position === "absolute" || position === "fixed" ) && + ( curCSSTop + curCSSLeft ).indexOf( "auto" ) > -1; + + // Need to be able to calculate position if either + // top or left is auto and position is either absolute or fixed + if ( calculatePosition ) { + curPosition = curElem.position(); + curTop = curPosition.top; + curLeft = curPosition.left; + + } else { + curTop = parseFloat( curCSSTop ) || 0; + curLeft = parseFloat( curCSSLeft ) || 0; + } + + if ( isFunction( options ) ) { + + // Use jQuery.extend here to allow modification of coordinates argument (gh-1848) + options = options.call( elem, i, jQuery.extend( {}, curOffset ) ); + } + + if ( options.top != null ) { + props.top = ( options.top - curOffset.top ) + curTop; + } + if ( options.left != null ) { + props.left = ( options.left - curOffset.left ) + curLeft; + } + + if ( "using" in options ) { + options.using.call( elem, props ); + + } else { + curElem.css( props ); + } + } +}; + +jQuery.fn.extend( { + + // offset() relates an element's border box to the document origin + offset: function( options ) { + + // Preserve chaining for setter + if ( arguments.length ) { + return options === undefined ? + this : + this.each( function( i ) { + jQuery.offset.setOffset( this, options, i ); + } ); + } + + var rect, win, + elem = this[ 0 ]; + + if ( !elem ) { + return; + } + + // Return zeros for disconnected and hidden (display: none) elements (gh-2310) + // Support: IE <=11 only + // Running getBoundingClientRect on a + // disconnected node in IE throws an error + if ( !elem.getClientRects().length ) { + return { top: 0, left: 0 }; + } + + // Get document-relative position by adding viewport scroll to viewport-relative gBCR + rect = elem.getBoundingClientRect(); + win = elem.ownerDocument.defaultView; + return { + top: rect.top + win.pageYOffset, + left: rect.left + win.pageXOffset + }; + }, + + // position() relates an element's margin box to its offset parent's padding box + // This corresponds to the behavior of CSS absolute positioning + position: function() { + if ( !this[ 0 ] ) { + return; + } + + var offsetParent, offset, doc, + elem = this[ 0 ], + parentOffset = { top: 0, left: 0 }; + + // position:fixed elements are offset from the viewport, which itself always has zero offset + if ( jQuery.css( elem, "position" ) === "fixed" ) { + + // Assume position:fixed implies availability of getBoundingClientRect + offset = elem.getBoundingClientRect(); + + } else { + offset = this.offset(); + + // Account for the *real* offset parent, which can be the document or its root element + // when a statically positioned element is identified + doc = elem.ownerDocument; + offsetParent = elem.offsetParent || doc.documentElement; + while ( offsetParent && + ( offsetParent === doc.body || offsetParent === doc.documentElement ) && + jQuery.css( offsetParent, "position" ) === "static" ) { + + offsetParent = offsetParent.parentNode; + } + if ( offsetParent && offsetParent !== elem && offsetParent.nodeType === 1 ) { + + // Incorporate borders into its offset, since they are outside its content origin + parentOffset = jQuery( offsetParent ).offset(); + parentOffset.top += jQuery.css( offsetParent, "borderTopWidth", true ); + parentOffset.left += jQuery.css( offsetParent, "borderLeftWidth", true ); + } + } + + // Subtract parent offsets and element margins + return { + top: offset.top - parentOffset.top - jQuery.css( elem, "marginTop", true ), + left: offset.left - parentOffset.left - jQuery.css( elem, "marginLeft", true ) + }; + }, + + // This method will return documentElement in the following cases: + // 1) For the element inside the iframe without offsetParent, this method will return + // documentElement of the parent window + // 2) For the hidden or detached element + // 3) For body or html element, i.e. in case of the html node - it will return itself + // + // but those exceptions were never presented as a real life use-cases + // and might be considered as more preferable results. + // + // This logic, however, is not guaranteed and can change at any point in the future + offsetParent: function() { + return this.map( function() { + var offsetParent = this.offsetParent; + + while ( offsetParent && jQuery.css( offsetParent, "position" ) === "static" ) { + offsetParent = offsetParent.offsetParent; + } + + return offsetParent || documentElement; + } ); + } +} ); + +// Create scrollLeft and scrollTop methods +jQuery.each( { scrollLeft: "pageXOffset", scrollTop: "pageYOffset" }, function( method, prop ) { + var top = "pageYOffset" === prop; + + jQuery.fn[ method ] = function( val ) { + return access( this, function( elem, method, val ) { + + // Coalesce documents and windows + var win; + if ( isWindow( elem ) ) { + win = elem; + } else if ( elem.nodeType === 9 ) { + win = elem.defaultView; + } + + if ( val === undefined ) { + return win ? win[ prop ] : elem[ method ]; + } + + if ( win ) { + win.scrollTo( + !top ? val : win.pageXOffset, + top ? val : win.pageYOffset + ); + + } else { + elem[ method ] = val; + } + }, method, val, arguments.length ); + }; +} ); + +// Support: Safari <=7 - 9.1, Chrome <=37 - 49 +// Add the top/left cssHooks using jQuery.fn.position +// Webkit bug: https://bugs.webkit.org/show_bug.cgi?id=29084 +// Blink bug: https://bugs.chromium.org/p/chromium/issues/detail?id=589347 +// getComputedStyle returns percent when specified for top/left/bottom/right; +// rather than make the css module depend on the offset module, just check for it here +jQuery.each( [ "top", "left" ], function( _i, prop ) { + jQuery.cssHooks[ prop ] = addGetHookIf( support.pixelPosition, + function( elem, computed ) { + if ( computed ) { + computed = curCSS( elem, prop ); + + // If curCSS returns percentage, fallback to offset + return rnumnonpx.test( computed ) ? + jQuery( elem ).position()[ prop ] + "px" : + computed; + } + } + ); +} ); + + +// Create innerHeight, innerWidth, height, width, outerHeight and outerWidth methods +jQuery.each( { Height: "height", Width: "width" }, function( name, type ) { + jQuery.each( { + padding: "inner" + name, + content: type, + "": "outer" + name + }, function( defaultExtra, funcName ) { + + // Margin is only for outerHeight, outerWidth + jQuery.fn[ funcName ] = function( margin, value ) { + var chainable = arguments.length && ( defaultExtra || typeof margin !== "boolean" ), + extra = defaultExtra || ( margin === true || value === true ? "margin" : "border" ); + + return access( this, function( elem, type, value ) { + var doc; + + if ( isWindow( elem ) ) { + + // $( window ).outerWidth/Height return w/h including scrollbars (gh-1729) + return funcName.indexOf( "outer" ) === 0 ? + elem[ "inner" + name ] : + elem.document.documentElement[ "client" + name ]; + } + + // Get document width or height + if ( elem.nodeType === 9 ) { + doc = elem.documentElement; + + // Either scroll[Width/Height] or offset[Width/Height] or client[Width/Height], + // whichever is greatest + return Math.max( + elem.body[ "scroll" + name ], doc[ "scroll" + name ], + elem.body[ "offset" + name ], doc[ "offset" + name ], + doc[ "client" + name ] + ); + } + + return value === undefined ? + + // Get width or height on the element, requesting but not forcing parseFloat + jQuery.css( elem, type, extra ) : + + // Set width or height on the element + jQuery.style( elem, type, value, extra ); + }, type, chainable ? margin : undefined, chainable ); + }; + } ); +} ); + + +jQuery.each( [ + "ajaxStart", + "ajaxStop", + "ajaxComplete", + "ajaxError", + "ajaxSuccess", + "ajaxSend" +], function( _i, type ) { + jQuery.fn[ type ] = function( fn ) { + return this.on( type, fn ); + }; +} ); + + + + +jQuery.fn.extend( { + + bind: function( types, data, fn ) { + return this.on( types, null, data, fn ); + }, + unbind: function( types, fn ) { + return this.off( types, null, fn ); + }, + + delegate: function( selector, types, data, fn ) { + return this.on( types, selector, data, fn ); + }, + undelegate: function( selector, types, fn ) { + + // ( namespace ) or ( selector, types [, fn] ) + return arguments.length === 1 ? + this.off( selector, "**" ) : + this.off( types, selector || "**", fn ); + }, + + hover: function( fnOver, fnOut ) { + return this.mouseenter( fnOver ).mouseleave( fnOut || fnOver ); + } +} ); + +jQuery.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( _i, name ) { + + // Handle event binding + jQuery.fn[ name ] = function( data, fn ) { + return arguments.length > 0 ? + this.on( name, null, data, fn ) : + this.trigger( name ); + }; + } +); + + + + +// Support: Android <=4.0 only +// Make sure we trim BOM and NBSP +var rtrim = /^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g; + +// Bind a function to a context, optionally partially applying any +// arguments. +// jQuery.proxy is deprecated to promote standards (specifically Function#bind) +// However, it is not slated for removal any time soon +jQuery.proxy = function( fn, context ) { + var tmp, args, proxy; + + if ( typeof context === "string" ) { + tmp = fn[ context ]; + context = fn; + fn = tmp; + } + + // Quick check to determine if target is callable, in the spec + // this throws a TypeError, but we will just return undefined. + if ( !isFunction( fn ) ) { + return undefined; + } + + // Simulated bind + args = slice.call( arguments, 2 ); + proxy = function() { + return fn.apply( context || this, args.concat( slice.call( arguments ) ) ); + }; + + // Set the guid of unique handler to the same of original handler, so it can be removed + proxy.guid = fn.guid = fn.guid || jQuery.guid++; + + return proxy; +}; + +jQuery.holdReady = function( hold ) { + if ( hold ) { + jQuery.readyWait++; + } else { + jQuery.ready( true ); + } +}; +jQuery.isArray = Array.isArray; +jQuery.parseJSON = JSON.parse; +jQuery.nodeName = nodeName; +jQuery.isFunction = isFunction; +jQuery.isWindow = isWindow; +jQuery.camelCase = camelCase; +jQuery.type = toType; + +jQuery.now = Date.now; + +jQuery.isNumeric = function( obj ) { + + // As of jQuery 3.0, isNumeric is limited to + // strings and numbers (primitives or objects) + // that can be coerced to finite numbers (gh-2662) + var type = jQuery.type( obj ); + return ( type === "number" || type === "string" ) && + + // parseFloat NaNs numeric-cast false positives ("") + // ...but misinterprets leading-number strings, particularly hex literals ("0x...") + // subtraction forces infinities to NaN + !isNaN( obj - parseFloat( obj ) ); +}; + +jQuery.trim = function( text ) { + return text == null ? + "" : + ( text + "" ).replace( rtrim, "" ); +}; + + + +// Register as a named AMD module, since jQuery can be concatenated with other +// files that may use define, but not via a proper concatenation script that +// understands anonymous AMD modules. A named AMD is safest and most robust +// way to register. Lowercase jquery is used because AMD module names are +// derived from file names, and jQuery is normally delivered in a lowercase +// file name. Do this after creating the global so that if an AMD module wants +// to call noConflict to hide this version of jQuery, it will work. + +// Note that for maximum portability, libraries that are not jQuery should +// declare themselves as anonymous modules, and avoid setting a global if an +// AMD loader is present. jQuery is a special case. For more information, see +// https://github.com/jrburke/requirejs/wiki/Updating-existing-libraries#wiki-anon + +if ( typeof define === "function" && define.amd ) { + define( "jquery", [], function() { + return jQuery; + } ); +} + + + + +var + + // Map over jQuery in case of overwrite + _jQuery = window.jQuery, + + // Map over the $ in case of overwrite + _$ = window.$; + +jQuery.noConflict = function( deep ) { + if ( window.$ === jQuery ) { + window.$ = _$; + } + + if ( deep && window.jQuery === jQuery ) { + window.jQuery = _jQuery; + } + + return jQuery; +}; + +// Expose jQuery and $ identifiers, even in AMD +// (#7102#comment:10, https://github.com/jquery/jquery/pull/557) +// and CommonJS for browser emulators (#13566) +if ( typeof noGlobal === "undefined" ) { + window.jQuery = window.$ = jQuery; +} + + + + +return jQuery; +} ); diff --git a/docs/site_libs/jquery-3.6.0/jquery-3.6.0.min.js b/docs/site_libs/jquery-3.6.0/jquery-3.6.0.min.js new file mode 100644 index 0000000..c4c6022 --- /dev/null +++ b/docs/site_libs/jquery-3.6.0/jquery-3.6.0.min.js @@ -0,0 +1,2 @@ +/*! jQuery v3.6.0 | (c) OpenJS Foundation and other contributors | jquery.org/license */ +!function(e,t){"use strict";"object"==typeof module&&"object"==typeof module.exports?module.exports=e.document?t(e,!0):function(e){if(!e.document)throw new Error("jQuery requires a window with a document");return t(e)}:t(e)}("undefined"!=typeof window?window:this,function(C,e){"use strict";var t=[],r=Object.getPrototypeOf,s=t.slice,g=t.flat?function(e){return t.flat.call(e)}:function(e){return t.concat.apply([],e)},u=t.push,i=t.indexOf,n={},o=n.toString,v=n.hasOwnProperty,a=v.toString,l=a.call(Object),y={},m=function(e){return"function"==typeof e&&"number"!=typeof e.nodeType&&"function"!=typeof e.item},x=function(e){return null!=e&&e===e.window},E=C.document,c={type:!0,src:!0,nonce:!0,noModule:!0};function b(e,t,n){var r,i,o=(n=n||E).createElement("script");if(o.text=e,t)for(r in c)(i=t[r]||t.getAttribute&&t.getAttribute(r))&&o.setAttribute(r,i);n.head.appendChild(o).parentNode.removeChild(o)}function w(e){return null==e?e+"":"object"==typeof e||"function"==typeof e?n[o.call(e)]||"object":typeof e}var f="3.6.0",S=function(e,t){return new S.fn.init(e,t)};function p(e){var t=!!e&&"length"in e&&e.length,n=w(e);return!m(e)&&!x(e)&&("array"===n||0===t||"number"==typeof t&&0<t&&t-1 in e)}S.fn=S.prototype={jquery:f,constructor:S,length:0,toArray:function(){return s.call(this)},get:function(e){return null==e?s.call(this):e<0?this[e+this.length]:this[e]},pushStack:function(e){var t=S.merge(this.constructor(),e);return t.prevObject=this,t},each:function(e){return S.each(this,e)},map:function(n){return this.pushStack(S.map(this,function(e,t){return n.call(e,t,e)}))},slice:function(){return this.pushStack(s.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},even:function(){return this.pushStack(S.grep(this,function(e,t){return(t+1)%2}))},odd:function(){return this.pushStack(S.grep(this,function(e,t){return t%2}))},eq:function(e){var t=this.length,n=+e+(e<0?t:0);return this.pushStack(0<=n&&n<t?[this[n]]:[])},end:function(){return this.prevObject||this.constructor()},push:u,sort:t.sort,splice:t.splice},S.extend=S.fn.extend=function(){var e,t,n,r,i,o,a=arguments[0]||{},s=1,u=arguments.length,l=!1;for("boolean"==typeof a&&(l=a,a=arguments[s]||{},s++),"object"==typeof a||m(a)||(a={}),s===u&&(a=this,s--);s<u;s++)if(null!=(e=arguments[s]))for(t in e)r=e[t],"__proto__"!==t&&a!==r&&(l&&r&&(S.isPlainObject(r)||(i=Array.isArray(r)))?(n=a[t],o=i&&!Array.isArray(n)?[]:i||S.isPlainObject(n)?n:{},i=!1,a[t]=S.extend(l,o,r)):void 0!==r&&(a[t]=r));return a},S.extend({expando:"jQuery"+(f+Math.random()).replace(/\D/g,""),isReady:!0,error:function(e){throw new Error(e)},noop:function(){},isPlainObject:function(e){var t,n;return!(!e||"[object Object]"!==o.call(e))&&(!(t=r(e))||"function"==typeof(n=v.call(t,"constructor")&&t.constructor)&&a.call(n)===l)},isEmptyObject:function(e){var t;for(t in e)return!1;return!0},globalEval:function(e,t,n){b(e,{nonce:t&&t.nonce},n)},each:function(e,t){var n,r=0;if(p(e)){for(n=e.length;r<n;r++)if(!1===t.call(e[r],r,e[r]))break}else for(r in e)if(!1===t.call(e[r],r,e[r]))break;return e},makeArray:function(e,t){var n=t||[];return null!=e&&(p(Object(e))?S.merge(n,"string"==typeof e?[e]:e):u.call(n,e)),n},inArray:function(e,t,n){return null==t?-1:i.call(t,e,n)},merge:function(e,t){for(var n=+t.length,r=0,i=e.length;r<n;r++)e[i++]=t[r];return e.length=i,e},grep:function(e,t,n){for(var r=[],i=0,o=e.length,a=!n;i<o;i++)!t(e[i],i)!==a&&r.push(e[i]);return r},map:function(e,t,n){var r,i,o=0,a=[];if(p(e))for(r=e.length;o<r;o++)null!=(i=t(e[o],o,n))&&a.push(i);else for(o in e)null!=(i=t(e[o],o,n))&&a.push(i);return g(a)},guid:1,support:y}),"function"==typeof Symbol&&(S.fn[Symbol.iterator]=t[Symbol.iterator]),S.each("Boolean Number String Function Array Date RegExp Object Error Symbol".split(" "),function(e,t){n["[object "+t+"]"]=t.toLowerCase()});var d=function(n){var e,d,b,o,i,h,f,g,w,u,l,T,C,a,E,v,s,c,y,S="sizzle"+1*new Date,p=n.document,k=0,r=0,m=ue(),x=ue(),A=ue(),N=ue(),j=function(e,t){return e===t&&(l=!0),0},D={}.hasOwnProperty,t=[],q=t.pop,L=t.push,H=t.push,O=t.slice,P=function(e,t){for(var n=0,r=e.length;n<r;n++)if(e[n]===t)return n;return-1},R="checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",M="[\\x20\\t\\r\\n\\f]",I="(?:\\\\[\\da-fA-F]{1,6}"+M+"?|\\\\[^\\r\\n\\f]|[\\w-]|[^\0-\\x7f])+",W="\\["+M+"*("+I+")(?:"+M+"*([*^$|!~]?=)"+M+"*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|("+I+"))|)"+M+"*\\]",F=":("+I+")(?:\\((('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|((?:\\\\.|[^\\\\()[\\]]|"+W+")*)|.*)\\)|)",B=new RegExp(M+"+","g"),$=new RegExp("^"+M+"+|((?:^|[^\\\\])(?:\\\\.)*)"+M+"+$","g"),_=new RegExp("^"+M+"*,"+M+"*"),z=new RegExp("^"+M+"*([>+~]|"+M+")"+M+"*"),U=new RegExp(M+"|>"),X=new RegExp(F),V=new RegExp("^"+I+"$"),G={ID:new RegExp("^#("+I+")"),CLASS:new RegExp("^\\.("+I+")"),TAG:new RegExp("^("+I+"|[*])"),ATTR:new RegExp("^"+W),PSEUDO:new RegExp("^"+F),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+M+"*(even|odd|(([+-]|)(\\d*)n|)"+M+"*(?:([+-]|)"+M+"*(\\d+)|))"+M+"*\\)|)","i"),bool:new RegExp("^(?:"+R+")$","i"),needsContext:new RegExp("^"+M+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+M+"*((?:-\\d)?\\d*)"+M+"*\\)|)(?=[^-]|$)","i")},Y=/HTML$/i,Q=/^(?:input|select|textarea|button)$/i,J=/^h\d$/i,K=/^[^{]+\{\s*\[native \w/,Z=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,ee=/[+~]/,te=new RegExp("\\\\[\\da-fA-F]{1,6}"+M+"?|\\\\([^\\r\\n\\f])","g"),ne=function(e,t){var n="0x"+e.slice(1)-65536;return t||(n<0?String.fromCharCode(n+65536):String.fromCharCode(n>>10|55296,1023&n|56320))},re=/([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g,ie=function(e,t){return t?"\0"===e?"\ufffd":e.slice(0,-1)+"\\"+e.charCodeAt(e.length-1).toString(16)+" ":"\\"+e},oe=function(){T()},ae=be(function(e){return!0===e.disabled&&"fieldset"===e.nodeName.toLowerCase()},{dir:"parentNode",next:"legend"});try{H.apply(t=O.call(p.childNodes),p.childNodes),t[p.childNodes.length].nodeType}catch(e){H={apply:t.length?function(e,t){L.apply(e,O.call(t))}:function(e,t){var n=e.length,r=0;while(e[n++]=t[r++]);e.length=n-1}}}function se(t,e,n,r){var i,o,a,s,u,l,c,f=e&&e.ownerDocument,p=e?e.nodeType:9;if(n=n||[],"string"!=typeof t||!t||1!==p&&9!==p&&11!==p)return n;if(!r&&(T(e),e=e||C,E)){if(11!==p&&(u=Z.exec(t)))if(i=u[1]){if(9===p){if(!(a=e.getElementById(i)))return n;if(a.id===i)return n.push(a),n}else if(f&&(a=f.getElementById(i))&&y(e,a)&&a.id===i)return n.push(a),n}else{if(u[2])return H.apply(n,e.getElementsByTagName(t)),n;if((i=u[3])&&d.getElementsByClassName&&e.getElementsByClassName)return H.apply(n,e.getElementsByClassName(i)),n}if(d.qsa&&!N[t+" "]&&(!v||!v.test(t))&&(1!==p||"object"!==e.nodeName.toLowerCase())){if(c=t,f=e,1===p&&(U.test(t)||z.test(t))){(f=ee.test(t)&&ye(e.parentNode)||e)===e&&d.scope||((s=e.getAttribute("id"))?s=s.replace(re,ie):e.setAttribute("id",s=S)),o=(l=h(t)).length;while(o--)l[o]=(s?"#"+s:":scope")+" "+xe(l[o]);c=l.join(",")}try{return H.apply(n,f.querySelectorAll(c)),n}catch(e){N(t,!0)}finally{s===S&&e.removeAttribute("id")}}}return g(t.replace($,"$1"),e,n,r)}function ue(){var r=[];return function e(t,n){return r.push(t+" ")>b.cacheLength&&delete e[r.shift()],e[t+" "]=n}}function le(e){return e[S]=!0,e}function ce(e){var t=C.createElement("fieldset");try{return!!e(t)}catch(e){return!1}finally{t.parentNode&&t.parentNode.removeChild(t),t=null}}function fe(e,t){var n=e.split("|"),r=n.length;while(r--)b.attrHandle[n[r]]=t}function pe(e,t){var n=t&&e,r=n&&1===e.nodeType&&1===t.nodeType&&e.sourceIndex-t.sourceIndex;if(r)return r;if(n)while(n=n.nextSibling)if(n===t)return-1;return e?1:-1}function de(t){return function(e){return"input"===e.nodeName.toLowerCase()&&e.type===t}}function he(n){return function(e){var t=e.nodeName.toLowerCase();return("input"===t||"button"===t)&&e.type===n}}function ge(t){return function(e){return"form"in e?e.parentNode&&!1===e.disabled?"label"in e?"label"in e.parentNode?e.parentNode.disabled===t:e.disabled===t:e.isDisabled===t||e.isDisabled!==!t&&ae(e)===t:e.disabled===t:"label"in e&&e.disabled===t}}function ve(a){return le(function(o){return o=+o,le(function(e,t){var n,r=a([],e.length,o),i=r.length;while(i--)e[n=r[i]]&&(e[n]=!(t[n]=e[n]))})})}function ye(e){return e&&"undefined"!=typeof e.getElementsByTagName&&e}for(e in d=se.support={},i=se.isXML=function(e){var t=e&&e.namespaceURI,n=e&&(e.ownerDocument||e).documentElement;return!Y.test(t||n&&n.nodeName||"HTML")},T=se.setDocument=function(e){var t,n,r=e?e.ownerDocument||e:p;return r!=C&&9===r.nodeType&&r.documentElement&&(a=(C=r).documentElement,E=!i(C),p!=C&&(n=C.defaultView)&&n.top!==n&&(n.addEventListener?n.addEventListener("unload",oe,!1):n.attachEvent&&n.attachEvent("onunload",oe)),d.scope=ce(function(e){return a.appendChild(e).appendChild(C.createElement("div")),"undefined"!=typeof e.querySelectorAll&&!e.querySelectorAll(":scope fieldset div").length}),d.attributes=ce(function(e){return e.className="i",!e.getAttribute("className")}),d.getElementsByTagName=ce(function(e){return e.appendChild(C.createComment("")),!e.getElementsByTagName("*").length}),d.getElementsByClassName=K.test(C.getElementsByClassName),d.getById=ce(function(e){return a.appendChild(e).id=S,!C.getElementsByName||!C.getElementsByName(S).length}),d.getById?(b.filter.ID=function(e){var t=e.replace(te,ne);return function(e){return e.getAttribute("id")===t}},b.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&E){var n=t.getElementById(e);return n?[n]:[]}}):(b.filter.ID=function(e){var n=e.replace(te,ne);return function(e){var t="undefined"!=typeof e.getAttributeNode&&e.getAttributeNode("id");return t&&t.value===n}},b.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&E){var n,r,i,o=t.getElementById(e);if(o){if((n=o.getAttributeNode("id"))&&n.value===e)return[o];i=t.getElementsByName(e),r=0;while(o=i[r++])if((n=o.getAttributeNode("id"))&&n.value===e)return[o]}return[]}}),b.find.TAG=d.getElementsByTagName?function(e,t){return"undefined"!=typeof t.getElementsByTagName?t.getElementsByTagName(e):d.qsa?t.querySelectorAll(e):void 0}:function(e,t){var n,r=[],i=0,o=t.getElementsByTagName(e);if("*"===e){while(n=o[i++])1===n.nodeType&&r.push(n);return r}return o},b.find.CLASS=d.getElementsByClassName&&function(e,t){if("undefined"!=typeof t.getElementsByClassName&&E)return t.getElementsByClassName(e)},s=[],v=[],(d.qsa=K.test(C.querySelectorAll))&&(ce(function(e){var t;a.appendChild(e).innerHTML="<a id='"+S+"'></a><select id='"+S+"-\r\\' msallowcapture=''><option selected=''></option></select>",e.querySelectorAll("[msallowcapture^='']").length&&v.push("[*^$]="+M+"*(?:''|\"\")"),e.querySelectorAll("[selected]").length||v.push("\\["+M+"*(?:value|"+R+")"),e.querySelectorAll("[id~="+S+"-]").length||v.push("~="),(t=C.createElement("input")).setAttribute("name",""),e.appendChild(t),e.querySelectorAll("[name='']").length||v.push("\\["+M+"*name"+M+"*="+M+"*(?:''|\"\")"),e.querySelectorAll(":checked").length||v.push(":checked"),e.querySelectorAll("a#"+S+"+*").length||v.push(".#.+[+~]"),e.querySelectorAll("\\\f"),v.push("[\\r\\n\\f]")}),ce(function(e){e.innerHTML="<a href='' disabled='disabled'></a><select disabled='disabled'><option/></select>";var t=C.createElement("input");t.setAttribute("type","hidden"),e.appendChild(t).setAttribute("name","D"),e.querySelectorAll("[name=d]").length&&v.push("name"+M+"*[*^$|!~]?="),2!==e.querySelectorAll(":enabled").length&&v.push(":enabled",":disabled"),a.appendChild(e).disabled=!0,2!==e.querySelectorAll(":disabled").length&&v.push(":enabled",":disabled"),e.querySelectorAll("*,:x"),v.push(",.*:")})),(d.matchesSelector=K.test(c=a.matches||a.webkitMatchesSelector||a.mozMatchesSelector||a.oMatchesSelector||a.msMatchesSelector))&&ce(function(e){d.disconnectedMatch=c.call(e,"*"),c.call(e,"[s!='']:x"),s.push("!=",F)}),v=v.length&&new RegExp(v.join("|")),s=s.length&&new RegExp(s.join("|")),t=K.test(a.compareDocumentPosition),y=t||K.test(a.contains)?function(e,t){var n=9===e.nodeType?e.documentElement:e,r=t&&t.parentNode;return e===r||!(!r||1!==r.nodeType||!(n.contains?n.contains(r):e.compareDocumentPosition&&16&e.compareDocumentPosition(r)))}:function(e,t){if(t)while(t=t.parentNode)if(t===e)return!0;return!1},j=t?function(e,t){if(e===t)return l=!0,0;var n=!e.compareDocumentPosition-!t.compareDocumentPosition;return n||(1&(n=(e.ownerDocument||e)==(t.ownerDocument||t)?e.compareDocumentPosition(t):1)||!d.sortDetached&&t.compareDocumentPosition(e)===n?e==C||e.ownerDocument==p&&y(p,e)?-1:t==C||t.ownerDocument==p&&y(p,t)?1:u?P(u,e)-P(u,t):0:4&n?-1:1)}:function(e,t){if(e===t)return l=!0,0;var n,r=0,i=e.parentNode,o=t.parentNode,a=[e],s=[t];if(!i||!o)return e==C?-1:t==C?1:i?-1:o?1:u?P(u,e)-P(u,t):0;if(i===o)return pe(e,t);n=e;while(n=n.parentNode)a.unshift(n);n=t;while(n=n.parentNode)s.unshift(n);while(a[r]===s[r])r++;return r?pe(a[r],s[r]):a[r]==p?-1:s[r]==p?1:0}),C},se.matches=function(e,t){return se(e,null,null,t)},se.matchesSelector=function(e,t){if(T(e),d.matchesSelector&&E&&!N[t+" "]&&(!s||!s.test(t))&&(!v||!v.test(t)))try{var n=c.call(e,t);if(n||d.disconnectedMatch||e.document&&11!==e.document.nodeType)return n}catch(e){N(t,!0)}return 0<se(t,C,null,[e]).length},se.contains=function(e,t){return(e.ownerDocument||e)!=C&&T(e),y(e,t)},se.attr=function(e,t){(e.ownerDocument||e)!=C&&T(e);var n=b.attrHandle[t.toLowerCase()],r=n&&D.call(b.attrHandle,t.toLowerCase())?n(e,t,!E):void 0;return void 0!==r?r:d.attributes||!E?e.getAttribute(t):(r=e.getAttributeNode(t))&&r.specified?r.value:null},se.escape=function(e){return(e+"").replace(re,ie)},se.error=function(e){throw new Error("Syntax error, unrecognized expression: "+e)},se.uniqueSort=function(e){var t,n=[],r=0,i=0;if(l=!d.detectDuplicates,u=!d.sortStable&&e.slice(0),e.sort(j),l){while(t=e[i++])t===e[i]&&(r=n.push(i));while(r--)e.splice(n[r],1)}return u=null,e},o=se.getText=function(e){var t,n="",r=0,i=e.nodeType;if(i){if(1===i||9===i||11===i){if("string"==typeof e.textContent)return e.textContent;for(e=e.firstChild;e;e=e.nextSibling)n+=o(e)}else if(3===i||4===i)return e.nodeValue}else while(t=e[r++])n+=o(t);return n},(b=se.selectors={cacheLength:50,createPseudo:le,match:G,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace(te,ne),e[3]=(e[3]||e[4]||e[5]||"").replace(te,ne),"~="===e[2]&&(e[3]=" "+e[3]+" "),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),"nth"===e[1].slice(0,3)?(e[3]||se.error(e[0]),e[4]=+(e[4]?e[5]+(e[6]||1):2*("even"===e[3]||"odd"===e[3])),e[5]=+(e[7]+e[8]||"odd"===e[3])):e[3]&&se.error(e[0]),e},PSEUDO:function(e){var t,n=!e[6]&&e[2];return G.CHILD.test(e[0])?null:(e[3]?e[2]=e[4]||e[5]||"":n&&X.test(n)&&(t=h(n,!0))&&(t=n.indexOf(")",n.length-t)-n.length)&&(e[0]=e[0].slice(0,t),e[2]=n.slice(0,t)),e.slice(0,3))}},filter:{TAG:function(e){var t=e.replace(te,ne).toLowerCase();return"*"===e?function(){return!0}:function(e){return e.nodeName&&e.nodeName.toLowerCase()===t}},CLASS:function(e){var t=m[e+" "];return t||(t=new RegExp("(^|"+M+")"+e+"("+M+"|$)"))&&m(e,function(e){return t.test("string"==typeof e.className&&e.className||"undefined"!=typeof e.getAttribute&&e.getAttribute("class")||"")})},ATTR:function(n,r,i){return function(e){var t=se.attr(e,n);return null==t?"!="===r:!r||(t+="","="===r?t===i:"!="===r?t!==i:"^="===r?i&&0===t.indexOf(i):"*="===r?i&&-1<t.indexOf(i):"$="===r?i&&t.slice(-i.length)===i:"~="===r?-1<(" "+t.replace(B," ")+" ").indexOf(i):"|="===r&&(t===i||t.slice(0,i.length+1)===i+"-"))}},CHILD:function(h,e,t,g,v){var y="nth"!==h.slice(0,3),m="last"!==h.slice(-4),x="of-type"===e;return 1===g&&0===v?function(e){return!!e.parentNode}:function(e,t,n){var r,i,o,a,s,u,l=y!==m?"nextSibling":"previousSibling",c=e.parentNode,f=x&&e.nodeName.toLowerCase(),p=!n&&!x,d=!1;if(c){if(y){while(l){a=e;while(a=a[l])if(x?a.nodeName.toLowerCase()===f:1===a.nodeType)return!1;u=l="only"===h&&!u&&"nextSibling"}return!0}if(u=[m?c.firstChild:c.lastChild],m&&p){d=(s=(r=(i=(o=(a=c)[S]||(a[S]={}))[a.uniqueID]||(o[a.uniqueID]={}))[h]||[])[0]===k&&r[1])&&r[2],a=s&&c.childNodes[s];while(a=++s&&a&&a[l]||(d=s=0)||u.pop())if(1===a.nodeType&&++d&&a===e){i[h]=[k,s,d];break}}else if(p&&(d=s=(r=(i=(o=(a=e)[S]||(a[S]={}))[a.uniqueID]||(o[a.uniqueID]={}))[h]||[])[0]===k&&r[1]),!1===d)while(a=++s&&a&&a[l]||(d=s=0)||u.pop())if((x?a.nodeName.toLowerCase()===f:1===a.nodeType)&&++d&&(p&&((i=(o=a[S]||(a[S]={}))[a.uniqueID]||(o[a.uniqueID]={}))[h]=[k,d]),a===e))break;return(d-=v)===g||d%g==0&&0<=d/g}}},PSEUDO:function(e,o){var t,a=b.pseudos[e]||b.setFilters[e.toLowerCase()]||se.error("unsupported pseudo: "+e);return a[S]?a(o):1<a.length?(t=[e,e,"",o],b.setFilters.hasOwnProperty(e.toLowerCase())?le(function(e,t){var n,r=a(e,o),i=r.length;while(i--)e[n=P(e,r[i])]=!(t[n]=r[i])}):function(e){return a(e,0,t)}):a}},pseudos:{not:le(function(e){var r=[],i=[],s=f(e.replace($,"$1"));return s[S]?le(function(e,t,n,r){var i,o=s(e,null,r,[]),a=e.length;while(a--)(i=o[a])&&(e[a]=!(t[a]=i))}):function(e,t,n){return r[0]=e,s(r,null,n,i),r[0]=null,!i.pop()}}),has:le(function(t){return function(e){return 0<se(t,e).length}}),contains:le(function(t){return t=t.replace(te,ne),function(e){return-1<(e.textContent||o(e)).indexOf(t)}}),lang:le(function(n){return V.test(n||"")||se.error("unsupported lang: "+n),n=n.replace(te,ne).toLowerCase(),function(e){var t;do{if(t=E?e.lang:e.getAttribute("xml:lang")||e.getAttribute("lang"))return(t=t.toLowerCase())===n||0===t.indexOf(n+"-")}while((e=e.parentNode)&&1===e.nodeType);return!1}}),target:function(e){var t=n.location&&n.location.hash;return t&&t.slice(1)===e.id},root:function(e){return e===a},focus:function(e){return e===C.activeElement&&(!C.hasFocus||C.hasFocus())&&!!(e.type||e.href||~e.tabIndex)},enabled:ge(!1),disabled:ge(!0),checked:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&!!e.checked||"option"===t&&!!e.selected},selected:function(e){return e.parentNode&&e.parentNode.selectedIndex,!0===e.selected},empty:function(e){for(e=e.firstChild;e;e=e.nextSibling)if(e.nodeType<6)return!1;return!0},parent:function(e){return!b.pseudos.empty(e)},header:function(e){return J.test(e.nodeName)},input:function(e){return Q.test(e.nodeName)},button:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&"button"===e.type||"button"===t},text:function(e){var t;return"input"===e.nodeName.toLowerCase()&&"text"===e.type&&(null==(t=e.getAttribute("type"))||"text"===t.toLowerCase())},first:ve(function(){return[0]}),last:ve(function(e,t){return[t-1]}),eq:ve(function(e,t,n){return[n<0?n+t:n]}),even:ve(function(e,t){for(var n=0;n<t;n+=2)e.push(n);return e}),odd:ve(function(e,t){for(var n=1;n<t;n+=2)e.push(n);return e}),lt:ve(function(e,t,n){for(var r=n<0?n+t:t<n?t:n;0<=--r;)e.push(r);return e}),gt:ve(function(e,t,n){for(var r=n<0?n+t:n;++r<t;)e.push(r);return e})}}).pseudos.nth=b.pseudos.eq,{radio:!0,checkbox:!0,file:!0,password:!0,image:!0})b.pseudos[e]=de(e);for(e in{submit:!0,reset:!0})b.pseudos[e]=he(e);function me(){}function xe(e){for(var t=0,n=e.length,r="";t<n;t++)r+=e[t].value;return r}function be(s,e,t){var u=e.dir,l=e.next,c=l||u,f=t&&"parentNode"===c,p=r++;return e.first?function(e,t,n){while(e=e[u])if(1===e.nodeType||f)return s(e,t,n);return!1}:function(e,t,n){var r,i,o,a=[k,p];if(n){while(e=e[u])if((1===e.nodeType||f)&&s(e,t,n))return!0}else while(e=e[u])if(1===e.nodeType||f)if(i=(o=e[S]||(e[S]={}))[e.uniqueID]||(o[e.uniqueID]={}),l&&l===e.nodeName.toLowerCase())e=e[u]||e;else{if((r=i[c])&&r[0]===k&&r[1]===p)return a[2]=r[2];if((i[c]=a)[2]=s(e,t,n))return!0}return!1}}function we(i){return 1<i.length?function(e,t,n){var r=i.length;while(r--)if(!i[r](e,t,n))return!1;return!0}:i[0]}function Te(e,t,n,r,i){for(var o,a=[],s=0,u=e.length,l=null!=t;s<u;s++)(o=e[s])&&(n&&!n(o,r,i)||(a.push(o),l&&t.push(s)));return a}function Ce(d,h,g,v,y,e){return v&&!v[S]&&(v=Ce(v)),y&&!y[S]&&(y=Ce(y,e)),le(function(e,t,n,r){var i,o,a,s=[],u=[],l=t.length,c=e||function(e,t,n){for(var r=0,i=t.length;r<i;r++)se(e,t[r],n);return n}(h||"*",n.nodeType?[n]:n,[]),f=!d||!e&&h?c:Te(c,s,d,n,r),p=g?y||(e?d:l||v)?[]:t:f;if(g&&g(f,p,n,r),v){i=Te(p,u),v(i,[],n,r),o=i.length;while(o--)(a=i[o])&&(p[u[o]]=!(f[u[o]]=a))}if(e){if(y||d){if(y){i=[],o=p.length;while(o--)(a=p[o])&&i.push(f[o]=a);y(null,p=[],i,r)}o=p.length;while(o--)(a=p[o])&&-1<(i=y?P(e,a):s[o])&&(e[i]=!(t[i]=a))}}else p=Te(p===t?p.splice(l,p.length):p),y?y(null,t,p,r):H.apply(t,p)})}function Ee(e){for(var i,t,n,r=e.length,o=b.relative[e[0].type],a=o||b.relative[" "],s=o?1:0,u=be(function(e){return e===i},a,!0),l=be(function(e){return-1<P(i,e)},a,!0),c=[function(e,t,n){var r=!o&&(n||t!==w)||((i=t).nodeType?u(e,t,n):l(e,t,n));return i=null,r}];s<r;s++)if(t=b.relative[e[s].type])c=[be(we(c),t)];else{if((t=b.filter[e[s].type].apply(null,e[s].matches))[S]){for(n=++s;n<r;n++)if(b.relative[e[n].type])break;return Ce(1<s&&we(c),1<s&&xe(e.slice(0,s-1).concat({value:" "===e[s-2].type?"*":""})).replace($,"$1"),t,s<n&&Ee(e.slice(s,n)),n<r&&Ee(e=e.slice(n)),n<r&&xe(e))}c.push(t)}return we(c)}return me.prototype=b.filters=b.pseudos,b.setFilters=new me,h=se.tokenize=function(e,t){var n,r,i,o,a,s,u,l=x[e+" "];if(l)return t?0:l.slice(0);a=e,s=[],u=b.preFilter;while(a){for(o in n&&!(r=_.exec(a))||(r&&(a=a.slice(r[0].length)||a),s.push(i=[])),n=!1,(r=z.exec(a))&&(n=r.shift(),i.push({value:n,type:r[0].replace($," ")}),a=a.slice(n.length)),b.filter)!(r=G[o].exec(a))||u[o]&&!(r=u[o](r))||(n=r.shift(),i.push({value:n,type:o,matches:r}),a=a.slice(n.length));if(!n)break}return t?a.length:a?se.error(e):x(e,s).slice(0)},f=se.compile=function(e,t){var n,v,y,m,x,r,i=[],o=[],a=A[e+" "];if(!a){t||(t=h(e)),n=t.length;while(n--)(a=Ee(t[n]))[S]?i.push(a):o.push(a);(a=A(e,(v=o,m=0<(y=i).length,x=0<v.length,r=function(e,t,n,r,i){var o,a,s,u=0,l="0",c=e&&[],f=[],p=w,d=e||x&&b.find.TAG("*",i),h=k+=null==p?1:Math.random()||.1,g=d.length;for(i&&(w=t==C||t||i);l!==g&&null!=(o=d[l]);l++){if(x&&o){a=0,t||o.ownerDocument==C||(T(o),n=!E);while(s=v[a++])if(s(o,t||C,n)){r.push(o);break}i&&(k=h)}m&&((o=!s&&o)&&u--,e&&c.push(o))}if(u+=l,m&&l!==u){a=0;while(s=y[a++])s(c,f,t,n);if(e){if(0<u)while(l--)c[l]||f[l]||(f[l]=q.call(r));f=Te(f)}H.apply(r,f),i&&!e&&0<f.length&&1<u+y.length&&se.uniqueSort(r)}return i&&(k=h,w=p),c},m?le(r):r))).selector=e}return a},g=se.select=function(e,t,n,r){var i,o,a,s,u,l="function"==typeof e&&e,c=!r&&h(e=l.selector||e);if(n=n||[],1===c.length){if(2<(o=c[0]=c[0].slice(0)).length&&"ID"===(a=o[0]).type&&9===t.nodeType&&E&&b.relative[o[1].type]){if(!(t=(b.find.ID(a.matches[0].replace(te,ne),t)||[])[0]))return n;l&&(t=t.parentNode),e=e.slice(o.shift().value.length)}i=G.needsContext.test(e)?0:o.length;while(i--){if(a=o[i],b.relative[s=a.type])break;if((u=b.find[s])&&(r=u(a.matches[0].replace(te,ne),ee.test(o[0].type)&&ye(t.parentNode)||t))){if(o.splice(i,1),!(e=r.length&&xe(o)))return H.apply(n,r),n;break}}}return(l||f(e,c))(r,t,!E,n,!t||ee.test(e)&&ye(t.parentNode)||t),n},d.sortStable=S.split("").sort(j).join("")===S,d.detectDuplicates=!!l,T(),d.sortDetached=ce(function(e){return 1&e.compareDocumentPosition(C.createElement("fieldset"))}),ce(function(e){return e.innerHTML="<a href='#'></a>","#"===e.firstChild.getAttribute("href")})||fe("type|href|height|width",function(e,t,n){if(!n)return e.getAttribute(t,"type"===t.toLowerCase()?1:2)}),d.attributes&&ce(function(e){return e.innerHTML="<input/>",e.firstChild.setAttribute("value",""),""===e.firstChild.getAttribute("value")})||fe("value",function(e,t,n){if(!n&&"input"===e.nodeName.toLowerCase())return e.defaultValue}),ce(function(e){return null==e.getAttribute("disabled")})||fe(R,function(e,t,n){var r;if(!n)return!0===e[t]?t.toLowerCase():(r=e.getAttributeNode(t))&&r.specified?r.value:null}),se}(C);S.find=d,S.expr=d.selectors,S.expr[":"]=S.expr.pseudos,S.uniqueSort=S.unique=d.uniqueSort,S.text=d.getText,S.isXMLDoc=d.isXML,S.contains=d.contains,S.escapeSelector=d.escape;var h=function(e,t,n){var r=[],i=void 0!==n;while((e=e[t])&&9!==e.nodeType)if(1===e.nodeType){if(i&&S(e).is(n))break;r.push(e)}return r},T=function(e,t){for(var n=[];e;e=e.nextSibling)1===e.nodeType&&e!==t&&n.push(e);return n},k=S.expr.match.needsContext;function A(e,t){return e.nodeName&&e.nodeName.toLowerCase()===t.toLowerCase()}var N=/^<([a-z][^\/\0>:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i;function j(e,n,r){return m(n)?S.grep(e,function(e,t){return!!n.call(e,t,e)!==r}):n.nodeType?S.grep(e,function(e){return e===n!==r}):"string"!=typeof n?S.grep(e,function(e){return-1<i.call(n,e)!==r}):S.filter(n,e,r)}S.filter=function(e,t,n){var r=t[0];return n&&(e=":not("+e+")"),1===t.length&&1===r.nodeType?S.find.matchesSelector(r,e)?[r]:[]:S.find.matches(e,S.grep(t,function(e){return 1===e.nodeType}))},S.fn.extend({find:function(e){var t,n,r=this.length,i=this;if("string"!=typeof e)return this.pushStack(S(e).filter(function(){for(t=0;t<r;t++)if(S.contains(i[t],this))return!0}));for(n=this.pushStack([]),t=0;t<r;t++)S.find(e,i[t],n);return 1<r?S.uniqueSort(n):n},filter:function(e){return this.pushStack(j(this,e||[],!1))},not:function(e){return this.pushStack(j(this,e||[],!0))},is:function(e){return!!j(this,"string"==typeof e&&k.test(e)?S(e):e||[],!1).length}});var D,q=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]+))$/;(S.fn.init=function(e,t,n){var r,i;if(!e)return this;if(n=n||D,"string"==typeof e){if(!(r="<"===e[0]&&">"===e[e.length-1]&&3<=e.length?[null,e,null]:q.exec(e))||!r[1]&&t)return!t||t.jquery?(t||n).find(e):this.constructor(t).find(e);if(r[1]){if(t=t instanceof S?t[0]:t,S.merge(this,S.parseHTML(r[1],t&&t.nodeType?t.ownerDocument||t:E,!0)),N.test(r[1])&&S.isPlainObject(t))for(r in t)m(this[r])?this[r](t[r]):this.attr(r,t[r]);return this}return(i=E.getElementById(r[2]))&&(this[0]=i,this.length=1),this}return e.nodeType?(this[0]=e,this.length=1,this):m(e)?void 0!==n.ready?n.ready(e):e(S):S.makeArray(e,this)}).prototype=S.fn,D=S(E);var L=/^(?:parents|prev(?:Until|All))/,H={children:!0,contents:!0,next:!0,prev:!0};function O(e,t){while((e=e[t])&&1!==e.nodeType);return e}S.fn.extend({has:function(e){var t=S(e,this),n=t.length;return this.filter(function(){for(var e=0;e<n;e++)if(S.contains(this,t[e]))return!0})},closest:function(e,t){var n,r=0,i=this.length,o=[],a="string"!=typeof e&&S(e);if(!k.test(e))for(;r<i;r++)for(n=this[r];n&&n!==t;n=n.parentNode)if(n.nodeType<11&&(a?-1<a.index(n):1===n.nodeType&&S.find.matchesSelector(n,e))){o.push(n);break}return this.pushStack(1<o.length?S.uniqueSort(o):o)},index:function(e){return e?"string"==typeof e?i.call(S(e),this[0]):i.call(this,e.jquery?e[0]:e):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(e,t){return this.pushStack(S.uniqueSort(S.merge(this.get(),S(e,t))))},addBack:function(e){return this.add(null==e?this.prevObject:this.prevObject.filter(e))}}),S.each({parent:function(e){var t=e.parentNode;return t&&11!==t.nodeType?t:null},parents:function(e){return h(e,"parentNode")},parentsUntil:function(e,t,n){return h(e,"parentNode",n)},next:function(e){return O(e,"nextSibling")},prev:function(e){return O(e,"previousSibling")},nextAll:function(e){return h(e,"nextSibling")},prevAll:function(e){return h(e,"previousSibling")},nextUntil:function(e,t,n){return h(e,"nextSibling",n)},prevUntil:function(e,t,n){return h(e,"previousSibling",n)},siblings:function(e){return T((e.parentNode||{}).firstChild,e)},children:function(e){return T(e.firstChild)},contents:function(e){return null!=e.contentDocument&&r(e.contentDocument)?e.contentDocument:(A(e,"template")&&(e=e.content||e),S.merge([],e.childNodes))}},function(r,i){S.fn[r]=function(e,t){var n=S.map(this,i,e);return"Until"!==r.slice(-5)&&(t=e),t&&"string"==typeof t&&(n=S.filter(t,n)),1<this.length&&(H[r]||S.uniqueSort(n),L.test(r)&&n.reverse()),this.pushStack(n)}});var P=/[^\x20\t\r\n\f]+/g;function R(e){return e}function M(e){throw e}function I(e,t,n,r){var i;try{e&&m(i=e.promise)?i.call(e).done(t).fail(n):e&&m(i=e.then)?i.call(e,t,n):t.apply(void 0,[e].slice(r))}catch(e){n.apply(void 0,[e])}}S.Callbacks=function(r){var e,n;r="string"==typeof r?(e=r,n={},S.each(e.match(P)||[],function(e,t){n[t]=!0}),n):S.extend({},r);var i,t,o,a,s=[],u=[],l=-1,c=function(){for(a=a||r.once,o=i=!0;u.length;l=-1){t=u.shift();while(++l<s.length)!1===s[l].apply(t[0],t[1])&&r.stopOnFalse&&(l=s.length,t=!1)}r.memory||(t=!1),i=!1,a&&(s=t?[]:"")},f={add:function(){return s&&(t&&!i&&(l=s.length-1,u.push(t)),function n(e){S.each(e,function(e,t){m(t)?r.unique&&f.has(t)||s.push(t):t&&t.length&&"string"!==w(t)&&n(t)})}(arguments),t&&!i&&c()),this},remove:function(){return S.each(arguments,function(e,t){var n;while(-1<(n=S.inArray(t,s,n)))s.splice(n,1),n<=l&&l--}),this},has:function(e){return e?-1<S.inArray(e,s):0<s.length},empty:function(){return s&&(s=[]),this},disable:function(){return a=u=[],s=t="",this},disabled:function(){return!s},lock:function(){return a=u=[],t||i||(s=t=""),this},locked:function(){return!!a},fireWith:function(e,t){return a||(t=[e,(t=t||[]).slice?t.slice():t],u.push(t),i||c()),this},fire:function(){return f.fireWith(this,arguments),this},fired:function(){return!!o}};return f},S.extend({Deferred:function(e){var o=[["notify","progress",S.Callbacks("memory"),S.Callbacks("memory"),2],["resolve","done",S.Callbacks("once memory"),S.Callbacks("once memory"),0,"resolved"],["reject","fail",S.Callbacks("once memory"),S.Callbacks("once memory"),1,"rejected"]],i="pending",a={state:function(){return i},always:function(){return s.done(arguments).fail(arguments),this},"catch":function(e){return a.then(null,e)},pipe:function(){var i=arguments;return S.Deferred(function(r){S.each(o,function(e,t){var n=m(i[t[4]])&&i[t[4]];s[t[1]](function(){var e=n&&n.apply(this,arguments);e&&m(e.promise)?e.promise().progress(r.notify).done(r.resolve).fail(r.reject):r[t[0]+"With"](this,n?[e]:arguments)})}),i=null}).promise()},then:function(t,n,r){var u=0;function l(i,o,a,s){return function(){var n=this,r=arguments,e=function(){var e,t;if(!(i<u)){if((e=a.apply(n,r))===o.promise())throw new TypeError("Thenable self-resolution");t=e&&("object"==typeof e||"function"==typeof e)&&e.then,m(t)?s?t.call(e,l(u,o,R,s),l(u,o,M,s)):(u++,t.call(e,l(u,o,R,s),l(u,o,M,s),l(u,o,R,o.notifyWith))):(a!==R&&(n=void 0,r=[e]),(s||o.resolveWith)(n,r))}},t=s?e:function(){try{e()}catch(e){S.Deferred.exceptionHook&&S.Deferred.exceptionHook(e,t.stackTrace),u<=i+1&&(a!==M&&(n=void 0,r=[e]),o.rejectWith(n,r))}};i?t():(S.Deferred.getStackHook&&(t.stackTrace=S.Deferred.getStackHook()),C.setTimeout(t))}}return S.Deferred(function(e){o[0][3].add(l(0,e,m(r)?r:R,e.notifyWith)),o[1][3].add(l(0,e,m(t)?t:R)),o[2][3].add(l(0,e,m(n)?n:M))}).promise()},promise:function(e){return null!=e?S.extend(e,a):a}},s={};return S.each(o,function(e,t){var n=t[2],r=t[5];a[t[1]]=n.add,r&&n.add(function(){i=r},o[3-e][2].disable,o[3-e][3].disable,o[0][2].lock,o[0][3].lock),n.add(t[3].fire),s[t[0]]=function(){return s[t[0]+"With"](this===s?void 0:this,arguments),this},s[t[0]+"With"]=n.fireWith}),a.promise(s),e&&e.call(s,s),s},when:function(e){var n=arguments.length,t=n,r=Array(t),i=s.call(arguments),o=S.Deferred(),a=function(t){return function(e){r[t]=this,i[t]=1<arguments.length?s.call(arguments):e,--n||o.resolveWith(r,i)}};if(n<=1&&(I(e,o.done(a(t)).resolve,o.reject,!n),"pending"===o.state()||m(i[t]&&i[t].then)))return o.then();while(t--)I(i[t],a(t),o.reject);return o.promise()}});var W=/^(Eval|Internal|Range|Reference|Syntax|Type|URI)Error$/;S.Deferred.exceptionHook=function(e,t){C.console&&C.console.warn&&e&&W.test(e.name)&&C.console.warn("jQuery.Deferred exception: "+e.message,e.stack,t)},S.readyException=function(e){C.setTimeout(function(){throw e})};var F=S.Deferred();function B(){E.removeEventListener("DOMContentLoaded",B),C.removeEventListener("load",B),S.ready()}S.fn.ready=function(e){return F.then(e)["catch"](function(e){S.readyException(e)}),this},S.extend({isReady:!1,readyWait:1,ready:function(e){(!0===e?--S.readyWait:S.isReady)||(S.isReady=!0)!==e&&0<--S.readyWait||F.resolveWith(E,[S])}}),S.ready.then=F.then,"complete"===E.readyState||"loading"!==E.readyState&&!E.documentElement.doScroll?C.setTimeout(S.ready):(E.addEventListener("DOMContentLoaded",B),C.addEventListener("load",B));var $=function(e,t,n,r,i,o,a){var s=0,u=e.length,l=null==n;if("object"===w(n))for(s in i=!0,n)$(e,t,s,n[s],!0,o,a);else if(void 0!==r&&(i=!0,m(r)||(a=!0),l&&(a?(t.call(e,r),t=null):(l=t,t=function(e,t,n){return l.call(S(e),n)})),t))for(;s<u;s++)t(e[s],n,a?r:r.call(e[s],s,t(e[s],n)));return i?e:l?t.call(e):u?t(e[0],n):o},_=/^-ms-/,z=/-([a-z])/g;function U(e,t){return t.toUpperCase()}function X(e){return e.replace(_,"ms-").replace(z,U)}var V=function(e){return 1===e.nodeType||9===e.nodeType||!+e.nodeType};function G(){this.expando=S.expando+G.uid++}G.uid=1,G.prototype={cache:function(e){var t=e[this.expando];return t||(t={},V(e)&&(e.nodeType?e[this.expando]=t:Object.defineProperty(e,this.expando,{value:t,configurable:!0}))),t},set:function(e,t,n){var r,i=this.cache(e);if("string"==typeof t)i[X(t)]=n;else for(r in t)i[X(r)]=t[r];return i},get:function(e,t){return void 0===t?this.cache(e):e[this.expando]&&e[this.expando][X(t)]},access:function(e,t,n){return void 0===t||t&&"string"==typeof t&&void 0===n?this.get(e,t):(this.set(e,t,n),void 0!==n?n:t)},remove:function(e,t){var n,r=e[this.expando];if(void 0!==r){if(void 0!==t){n=(t=Array.isArray(t)?t.map(X):(t=X(t))in r?[t]:t.match(P)||[]).length;while(n--)delete r[t[n]]}(void 0===t||S.isEmptyObject(r))&&(e.nodeType?e[this.expando]=void 0:delete e[this.expando])}},hasData:function(e){var t=e[this.expando];return void 0!==t&&!S.isEmptyObject(t)}};var Y=new G,Q=new G,J=/^(?:\{[\w\W]*\}|\[[\w\W]*\])$/,K=/[A-Z]/g;function Z(e,t,n){var r,i;if(void 0===n&&1===e.nodeType)if(r="data-"+t.replace(K,"-$&").toLowerCase(),"string"==typeof(n=e.getAttribute(r))){try{n="true"===(i=n)||"false"!==i&&("null"===i?null:i===+i+""?+i:J.test(i)?JSON.parse(i):i)}catch(e){}Q.set(e,t,n)}else n=void 0;return n}S.extend({hasData:function(e){return Q.hasData(e)||Y.hasData(e)},data:function(e,t,n){return Q.access(e,t,n)},removeData:function(e,t){Q.remove(e,t)},_data:function(e,t,n){return Y.access(e,t,n)},_removeData:function(e,t){Y.remove(e,t)}}),S.fn.extend({data:function(n,e){var t,r,i,o=this[0],a=o&&o.attributes;if(void 0===n){if(this.length&&(i=Q.get(o),1===o.nodeType&&!Y.get(o,"hasDataAttrs"))){t=a.length;while(t--)a[t]&&0===(r=a[t].name).indexOf("data-")&&(r=X(r.slice(5)),Z(o,r,i[r]));Y.set(o,"hasDataAttrs",!0)}return i}return"object"==typeof n?this.each(function(){Q.set(this,n)}):$(this,function(e){var t;if(o&&void 0===e)return void 0!==(t=Q.get(o,n))?t:void 0!==(t=Z(o,n))?t:void 0;this.each(function(){Q.set(this,n,e)})},null,e,1<arguments.length,null,!0)},removeData:function(e){return this.each(function(){Q.remove(this,e)})}}),S.extend({queue:function(e,t,n){var r;if(e)return t=(t||"fx")+"queue",r=Y.get(e,t),n&&(!r||Array.isArray(n)?r=Y.access(e,t,S.makeArray(n)):r.push(n)),r||[]},dequeue:function(e,t){t=t||"fx";var n=S.queue(e,t),r=n.length,i=n.shift(),o=S._queueHooks(e,t);"inprogress"===i&&(i=n.shift(),r--),i&&("fx"===t&&n.unshift("inprogress"),delete o.stop,i.call(e,function(){S.dequeue(e,t)},o)),!r&&o&&o.empty.fire()},_queueHooks:function(e,t){var n=t+"queueHooks";return Y.get(e,n)||Y.access(e,n,{empty:S.Callbacks("once memory").add(function(){Y.remove(e,[t+"queue",n])})})}}),S.fn.extend({queue:function(t,n){var e=2;return"string"!=typeof t&&(n=t,t="fx",e--),arguments.length<e?S.queue(this[0],t):void 0===n?this:this.each(function(){var e=S.queue(this,t,n);S._queueHooks(this,t),"fx"===t&&"inprogress"!==e[0]&&S.dequeue(this,t)})},dequeue:function(e){return this.each(function(){S.dequeue(this,e)})},clearQueue:function(e){return this.queue(e||"fx",[])},promise:function(e,t){var n,r=1,i=S.Deferred(),o=this,a=this.length,s=function(){--r||i.resolveWith(o,[o])};"string"!=typeof e&&(t=e,e=void 0),e=e||"fx";while(a--)(n=Y.get(o[a],e+"queueHooks"))&&n.empty&&(r++,n.empty.add(s));return s(),i.promise(t)}});var ee=/[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source,te=new RegExp("^(?:([+-])=|)("+ee+")([a-z%]*)$","i"),ne=["Top","Right","Bottom","Left"],re=E.documentElement,ie=function(e){return S.contains(e.ownerDocument,e)},oe={composed:!0};re.getRootNode&&(ie=function(e){return S.contains(e.ownerDocument,e)||e.getRootNode(oe)===e.ownerDocument});var ae=function(e,t){return"none"===(e=t||e).style.display||""===e.style.display&&ie(e)&&"none"===S.css(e,"display")};function se(e,t,n,r){var i,o,a=20,s=r?function(){return r.cur()}:function(){return S.css(e,t,"")},u=s(),l=n&&n[3]||(S.cssNumber[t]?"":"px"),c=e.nodeType&&(S.cssNumber[t]||"px"!==l&&+u)&&te.exec(S.css(e,t));if(c&&c[3]!==l){u/=2,l=l||c[3],c=+u||1;while(a--)S.style(e,t,c+l),(1-o)*(1-(o=s()/u||.5))<=0&&(a=0),c/=o;c*=2,S.style(e,t,c+l),n=n||[]}return n&&(c=+c||+u||0,i=n[1]?c+(n[1]+1)*n[2]:+n[2],r&&(r.unit=l,r.start=c,r.end=i)),i}var ue={};function le(e,t){for(var n,r,i,o,a,s,u,l=[],c=0,f=e.length;c<f;c++)(r=e[c]).style&&(n=r.style.display,t?("none"===n&&(l[c]=Y.get(r,"display")||null,l[c]||(r.style.display="")),""===r.style.display&&ae(r)&&(l[c]=(u=a=o=void 0,a=(i=r).ownerDocument,s=i.nodeName,(u=ue[s])||(o=a.body.appendChild(a.createElement(s)),u=S.css(o,"display"),o.parentNode.removeChild(o),"none"===u&&(u="block"),ue[s]=u)))):"none"!==n&&(l[c]="none",Y.set(r,"display",n)));for(c=0;c<f;c++)null!=l[c]&&(e[c].style.display=l[c]);return e}S.fn.extend({show:function(){return le(this,!0)},hide:function(){return le(this)},toggle:function(e){return"boolean"==typeof e?e?this.show():this.hide():this.each(function(){ae(this)?S(this).show():S(this).hide()})}});var ce,fe,pe=/^(?:checkbox|radio)$/i,de=/<([a-z][^\/\0>\x20\t\r\n\f]*)/i,he=/^$|^module$|\/(?:java|ecma)script/i;ce=E.createDocumentFragment().appendChild(E.createElement("div")),(fe=E.createElement("input")).setAttribute("type","radio"),fe.setAttribute("checked","checked"),fe.setAttribute("name","t"),ce.appendChild(fe),y.checkClone=ce.cloneNode(!0).cloneNode(!0).lastChild.checked,ce.innerHTML="<textarea>x</textarea>",y.noCloneChecked=!!ce.cloneNode(!0).lastChild.defaultValue,ce.innerHTML="<option></option>",y.option=!!ce.lastChild;var ge={thead:[1,"<table>","</table>"],col:[2,"<table><colgroup>","</colgroup></table>"],tr:[2,"<table><tbody>","</tbody></table>"],td:[3,"<table><tbody><tr>","</tr></tbody></table>"],_default:[0,"",""]};function ve(e,t){var n;return n="undefined"!=typeof e.getElementsByTagName?e.getElementsByTagName(t||"*"):"undefined"!=typeof e.querySelectorAll?e.querySelectorAll(t||"*"):[],void 0===t||t&&A(e,t)?S.merge([e],n):n}function ye(e,t){for(var n=0,r=e.length;n<r;n++)Y.set(e[n],"globalEval",!t||Y.get(t[n],"globalEval"))}ge.tbody=ge.tfoot=ge.colgroup=ge.caption=ge.thead,ge.th=ge.td,y.option||(ge.optgroup=ge.option=[1,"<select multiple='multiple'>","</select>"]);var me=/<|&#?\w+;/;function xe(e,t,n,r,i){for(var o,a,s,u,l,c,f=t.createDocumentFragment(),p=[],d=0,h=e.length;d<h;d++)if((o=e[d])||0===o)if("object"===w(o))S.merge(p,o.nodeType?[o]:o);else if(me.test(o)){a=a||f.appendChild(t.createElement("div")),s=(de.exec(o)||["",""])[1].toLowerCase(),u=ge[s]||ge._default,a.innerHTML=u[1]+S.htmlPrefilter(o)+u[2],c=u[0];while(c--)a=a.lastChild;S.merge(p,a.childNodes),(a=f.firstChild).textContent=""}else p.push(t.createTextNode(o));f.textContent="",d=0;while(o=p[d++])if(r&&-1<S.inArray(o,r))i&&i.push(o);else if(l=ie(o),a=ve(f.appendChild(o),"script"),l&&ye(a),n){c=0;while(o=a[c++])he.test(o.type||"")&&n.push(o)}return f}var be=/^([^.]*)(?:\.(.+)|)/;function we(){return!0}function Te(){return!1}function Ce(e,t){return e===function(){try{return E.activeElement}catch(e){}}()==("focus"===t)}function Ee(e,t,n,r,i,o){var a,s;if("object"==typeof t){for(s in"string"!=typeof n&&(r=r||n,n=void 0),t)Ee(e,s,n,r,t[s],o);return e}if(null==r&&null==i?(i=n,r=n=void 0):null==i&&("string"==typeof n?(i=r,r=void 0):(i=r,r=n,n=void 0)),!1===i)i=Te;else if(!i)return e;return 1===o&&(a=i,(i=function(e){return S().off(e),a.apply(this,arguments)}).guid=a.guid||(a.guid=S.guid++)),e.each(function(){S.event.add(this,t,i,r,n)})}function Se(e,i,o){o?(Y.set(e,i,!1),S.event.add(e,i,{namespace:!1,handler:function(e){var t,n,r=Y.get(this,i);if(1&e.isTrigger&&this[i]){if(r.length)(S.event.special[i]||{}).delegateType&&e.stopPropagation();else if(r=s.call(arguments),Y.set(this,i,r),t=o(this,i),this[i](),r!==(n=Y.get(this,i))||t?Y.set(this,i,!1):n={},r!==n)return e.stopImmediatePropagation(),e.preventDefault(),n&&n.value}else r.length&&(Y.set(this,i,{value:S.event.trigger(S.extend(r[0],S.Event.prototype),r.slice(1),this)}),e.stopImmediatePropagation())}})):void 0===Y.get(e,i)&&S.event.add(e,i,we)}S.event={global:{},add:function(t,e,n,r,i){var o,a,s,u,l,c,f,p,d,h,g,v=Y.get(t);if(V(t)){n.handler&&(n=(o=n).handler,i=o.selector),i&&S.find.matchesSelector(re,i),n.guid||(n.guid=S.guid++),(u=v.events)||(u=v.events=Object.create(null)),(a=v.handle)||(a=v.handle=function(e){return"undefined"!=typeof S&&S.event.triggered!==e.type?S.event.dispatch.apply(t,arguments):void 0}),l=(e=(e||"").match(P)||[""]).length;while(l--)d=g=(s=be.exec(e[l])||[])[1],h=(s[2]||"").split(".").sort(),d&&(f=S.event.special[d]||{},d=(i?f.delegateType:f.bindType)||d,f=S.event.special[d]||{},c=S.extend({type:d,origType:g,data:r,handler:n,guid:n.guid,selector:i,needsContext:i&&S.expr.match.needsContext.test(i),namespace:h.join(".")},o),(p=u[d])||((p=u[d]=[]).delegateCount=0,f.setup&&!1!==f.setup.call(t,r,h,a)||t.addEventListener&&t.addEventListener(d,a)),f.add&&(f.add.call(t,c),c.handler.guid||(c.handler.guid=n.guid)),i?p.splice(p.delegateCount++,0,c):p.push(c),S.event.global[d]=!0)}},remove:function(e,t,n,r,i){var o,a,s,u,l,c,f,p,d,h,g,v=Y.hasData(e)&&Y.get(e);if(v&&(u=v.events)){l=(t=(t||"").match(P)||[""]).length;while(l--)if(d=g=(s=be.exec(t[l])||[])[1],h=(s[2]||"").split(".").sort(),d){f=S.event.special[d]||{},p=u[d=(r?f.delegateType:f.bindType)||d]||[],s=s[2]&&new RegExp("(^|\\.)"+h.join("\\.(?:.*\\.|)")+"(\\.|$)"),a=o=p.length;while(o--)c=p[o],!i&&g!==c.origType||n&&n.guid!==c.guid||s&&!s.test(c.namespace)||r&&r!==c.selector&&("**"!==r||!c.selector)||(p.splice(o,1),c.selector&&p.delegateCount--,f.remove&&f.remove.call(e,c));a&&!p.length&&(f.teardown&&!1!==f.teardown.call(e,h,v.handle)||S.removeEvent(e,d,v.handle),delete u[d])}else for(d in u)S.event.remove(e,d+t[l],n,r,!0);S.isEmptyObject(u)&&Y.remove(e,"handle events")}},dispatch:function(e){var t,n,r,i,o,a,s=new Array(arguments.length),u=S.event.fix(e),l=(Y.get(this,"events")||Object.create(null))[u.type]||[],c=S.event.special[u.type]||{};for(s[0]=u,t=1;t<arguments.length;t++)s[t]=arguments[t];if(u.delegateTarget=this,!c.preDispatch||!1!==c.preDispatch.call(this,u)){a=S.event.handlers.call(this,u,l),t=0;while((i=a[t++])&&!u.isPropagationStopped()){u.currentTarget=i.elem,n=0;while((o=i.handlers[n++])&&!u.isImmediatePropagationStopped())u.rnamespace&&!1!==o.namespace&&!u.rnamespace.test(o.namespace)||(u.handleObj=o,u.data=o.data,void 0!==(r=((S.event.special[o.origType]||{}).handle||o.handler).apply(i.elem,s))&&!1===(u.result=r)&&(u.preventDefault(),u.stopPropagation()))}return c.postDispatch&&c.postDispatch.call(this,u),u.result}},handlers:function(e,t){var n,r,i,o,a,s=[],u=t.delegateCount,l=e.target;if(u&&l.nodeType&&!("click"===e.type&&1<=e.button))for(;l!==this;l=l.parentNode||this)if(1===l.nodeType&&("click"!==e.type||!0!==l.disabled)){for(o=[],a={},n=0;n<u;n++)void 0===a[i=(r=t[n]).selector+" "]&&(a[i]=r.needsContext?-1<S(i,this).index(l):S.find(i,this,null,[l]).length),a[i]&&o.push(r);o.length&&s.push({elem:l,handlers:o})}return l=this,u<t.length&&s.push({elem:l,handlers:t.slice(u)}),s},addProp:function(t,e){Object.defineProperty(S.Event.prototype,t,{enumerable:!0,configurable:!0,get:m(e)?function(){if(this.originalEvent)return e(this.originalEvent)}:function(){if(this.originalEvent)return this.originalEvent[t]},set:function(e){Object.defineProperty(this,t,{enumerable:!0,configurable:!0,writable:!0,value:e})}})},fix:function(e){return e[S.expando]?e:new S.Event(e)},special:{load:{noBubble:!0},click:{setup:function(e){var t=this||e;return pe.test(t.type)&&t.click&&A(t,"input")&&Se(t,"click",we),!1},trigger:function(e){var t=this||e;return pe.test(t.type)&&t.click&&A(t,"input")&&Se(t,"click"),!0},_default:function(e){var t=e.target;return pe.test(t.type)&&t.click&&A(t,"input")&&Y.get(t,"click")||A(t,"a")}},beforeunload:{postDispatch:function(e){void 0!==e.result&&e.originalEvent&&(e.originalEvent.returnValue=e.result)}}}},S.removeEvent=function(e,t,n){e.removeEventListener&&e.removeEventListener(t,n)},S.Event=function(e,t){if(!(this instanceof S.Event))return new S.Event(e,t);e&&e.type?(this.originalEvent=e,this.type=e.type,this.isDefaultPrevented=e.defaultPrevented||void 0===e.defaultPrevented&&!1===e.returnValue?we:Te,this.target=e.target&&3===e.target.nodeType?e.target.parentNode:e.target,this.currentTarget=e.currentTarget,this.relatedTarget=e.relatedTarget):this.type=e,t&&S.extend(this,t),this.timeStamp=e&&e.timeStamp||Date.now(),this[S.expando]=!0},S.Event.prototype={constructor:S.Event,isDefaultPrevented:Te,isPropagationStopped:Te,isImmediatePropagationStopped:Te,isSimulated:!1,preventDefault:function(){var e=this.originalEvent;this.isDefaultPrevented=we,e&&!this.isSimulated&&e.preventDefault()},stopPropagation:function(){var e=this.originalEvent;this.isPropagationStopped=we,e&&!this.isSimulated&&e.stopPropagation()},stopImmediatePropagation:function(){var e=this.originalEvent;this.isImmediatePropagationStopped=we,e&&!this.isSimulated&&e.stopImmediatePropagation(),this.stopPropagation()}},S.each({altKey:!0,bubbles:!0,cancelable:!0,changedTouches:!0,ctrlKey:!0,detail:!0,eventPhase:!0,metaKey:!0,pageX:!0,pageY:!0,shiftKey:!0,view:!0,"char":!0,code:!0,charCode:!0,key:!0,keyCode:!0,button:!0,buttons:!0,clientX:!0,clientY:!0,offsetX:!0,offsetY:!0,pointerId:!0,pointerType:!0,screenX:!0,screenY:!0,targetTouches:!0,toElement:!0,touches:!0,which:!0},S.event.addProp),S.each({focus:"focusin",blur:"focusout"},function(e,t){S.event.special[e]={setup:function(){return Se(this,e,Ce),!1},trigger:function(){return Se(this,e),!0},_default:function(){return!0},delegateType:t}}),S.each({mouseenter:"mouseover",mouseleave:"mouseout",pointerenter:"pointerover",pointerleave:"pointerout"},function(e,i){S.event.special[e]={delegateType:i,bindType:i,handle:function(e){var t,n=e.relatedTarget,r=e.handleObj;return n&&(n===this||S.contains(this,n))||(e.type=r.origType,t=r.handler.apply(this,arguments),e.type=i),t}}}),S.fn.extend({on:function(e,t,n,r){return Ee(this,e,t,n,r)},one:function(e,t,n,r){return Ee(this,e,t,n,r,1)},off:function(e,t,n){var r,i;if(e&&e.preventDefault&&e.handleObj)return r=e.handleObj,S(e.delegateTarget).off(r.namespace?r.origType+"."+r.namespace:r.origType,r.selector,r.handler),this;if("object"==typeof e){for(i in e)this.off(i,t,e[i]);return this}return!1!==t&&"function"!=typeof t||(n=t,t=void 0),!1===n&&(n=Te),this.each(function(){S.event.remove(this,e,n,t)})}});var ke=/<script|<style|<link/i,Ae=/checked\s*(?:[^=]|=\s*.checked.)/i,Ne=/^\s*<!(?:\[CDATA\[|--)|(?:\]\]|--)>\s*$/g;function je(e,t){return A(e,"table")&&A(11!==t.nodeType?t:t.firstChild,"tr")&&S(e).children("tbody")[0]||e}function De(e){return e.type=(null!==e.getAttribute("type"))+"/"+e.type,e}function qe(e){return"true/"===(e.type||"").slice(0,5)?e.type=e.type.slice(5):e.removeAttribute("type"),e}function Le(e,t){var n,r,i,o,a,s;if(1===t.nodeType){if(Y.hasData(e)&&(s=Y.get(e).events))for(i in Y.remove(t,"handle events"),s)for(n=0,r=s[i].length;n<r;n++)S.event.add(t,i,s[i][n]);Q.hasData(e)&&(o=Q.access(e),a=S.extend({},o),Q.set(t,a))}}function He(n,r,i,o){r=g(r);var e,t,a,s,u,l,c=0,f=n.length,p=f-1,d=r[0],h=m(d);if(h||1<f&&"string"==typeof d&&!y.checkClone&&Ae.test(d))return n.each(function(e){var t=n.eq(e);h&&(r[0]=d.call(this,e,t.html())),He(t,r,i,o)});if(f&&(t=(e=xe(r,n[0].ownerDocument,!1,n,o)).firstChild,1===e.childNodes.length&&(e=t),t||o)){for(s=(a=S.map(ve(e,"script"),De)).length;c<f;c++)u=e,c!==p&&(u=S.clone(u,!0,!0),s&&S.merge(a,ve(u,"script"))),i.call(n[c],u,c);if(s)for(l=a[a.length-1].ownerDocument,S.map(a,qe),c=0;c<s;c++)u=a[c],he.test(u.type||"")&&!Y.access(u,"globalEval")&&S.contains(l,u)&&(u.src&&"module"!==(u.type||"").toLowerCase()?S._evalUrl&&!u.noModule&&S._evalUrl(u.src,{nonce:u.nonce||u.getAttribute("nonce")},l):b(u.textContent.replace(Ne,""),u,l))}return n}function Oe(e,t,n){for(var r,i=t?S.filter(t,e):e,o=0;null!=(r=i[o]);o++)n||1!==r.nodeType||S.cleanData(ve(r)),r.parentNode&&(n&&ie(r)&&ye(ve(r,"script")),r.parentNode.removeChild(r));return e}S.extend({htmlPrefilter:function(e){return e},clone:function(e,t,n){var r,i,o,a,s,u,l,c=e.cloneNode(!0),f=ie(e);if(!(y.noCloneChecked||1!==e.nodeType&&11!==e.nodeType||S.isXMLDoc(e)))for(a=ve(c),r=0,i=(o=ve(e)).length;r<i;r++)s=o[r],u=a[r],void 0,"input"===(l=u.nodeName.toLowerCase())&&pe.test(s.type)?u.checked=s.checked:"input"!==l&&"textarea"!==l||(u.defaultValue=s.defaultValue);if(t)if(n)for(o=o||ve(e),a=a||ve(c),r=0,i=o.length;r<i;r++)Le(o[r],a[r]);else Le(e,c);return 0<(a=ve(c,"script")).length&&ye(a,!f&&ve(e,"script")),c},cleanData:function(e){for(var t,n,r,i=S.event.special,o=0;void 0!==(n=e[o]);o++)if(V(n)){if(t=n[Y.expando]){if(t.events)for(r in t.events)i[r]?S.event.remove(n,r):S.removeEvent(n,r,t.handle);n[Y.expando]=void 0}n[Q.expando]&&(n[Q.expando]=void 0)}}}),S.fn.extend({detach:function(e){return Oe(this,e,!0)},remove:function(e){return Oe(this,e)},text:function(e){return $(this,function(e){return void 0===e?S.text(this):this.empty().each(function(){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||(this.textContent=e)})},null,e,arguments.length)},append:function(){return He(this,arguments,function(e){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||je(this,e).appendChild(e)})},prepend:function(){return He(this,arguments,function(e){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var t=je(this,e);t.insertBefore(e,t.firstChild)}})},before:function(){return He(this,arguments,function(e){this.parentNode&&this.parentNode.insertBefore(e,this)})},after:function(){return He(this,arguments,function(e){this.parentNode&&this.parentNode.insertBefore(e,this.nextSibling)})},empty:function(){for(var e,t=0;null!=(e=this[t]);t++)1===e.nodeType&&(S.cleanData(ve(e,!1)),e.textContent="");return this},clone:function(e,t){return e=null!=e&&e,t=null==t?e:t,this.map(function(){return S.clone(this,e,t)})},html:function(e){return $(this,function(e){var t=this[0]||{},n=0,r=this.length;if(void 0===e&&1===t.nodeType)return t.innerHTML;if("string"==typeof e&&!ke.test(e)&&!ge[(de.exec(e)||["",""])[1].toLowerCase()]){e=S.htmlPrefilter(e);try{for(;n<r;n++)1===(t=this[n]||{}).nodeType&&(S.cleanData(ve(t,!1)),t.innerHTML=e);t=0}catch(e){}}t&&this.empty().append(e)},null,e,arguments.length)},replaceWith:function(){var n=[];return He(this,arguments,function(e){var t=this.parentNode;S.inArray(this,n)<0&&(S.cleanData(ve(this)),t&&t.replaceChild(e,this))},n)}}),S.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(e,a){S.fn[e]=function(e){for(var t,n=[],r=S(e),i=r.length-1,o=0;o<=i;o++)t=o===i?this:this.clone(!0),S(r[o])[a](t),u.apply(n,t.get());return this.pushStack(n)}});var Pe=new RegExp("^("+ee+")(?!px)[a-z%]+$","i"),Re=function(e){var t=e.ownerDocument.defaultView;return t&&t.opener||(t=C),t.getComputedStyle(e)},Me=function(e,t,n){var r,i,o={};for(i in t)o[i]=e.style[i],e.style[i]=t[i];for(i in r=n.call(e),t)e.style[i]=o[i];return r},Ie=new RegExp(ne.join("|"),"i");function We(e,t,n){var r,i,o,a,s=e.style;return(n=n||Re(e))&&(""!==(a=n.getPropertyValue(t)||n[t])||ie(e)||(a=S.style(e,t)),!y.pixelBoxStyles()&&Pe.test(a)&&Ie.test(t)&&(r=s.width,i=s.minWidth,o=s.maxWidth,s.minWidth=s.maxWidth=s.width=a,a=n.width,s.width=r,s.minWidth=i,s.maxWidth=o)),void 0!==a?a+"":a}function Fe(e,t){return{get:function(){if(!e())return(this.get=t).apply(this,arguments);delete this.get}}}!function(){function e(){if(l){u.style.cssText="position:absolute;left:-11111px;width:60px;margin-top:1px;padding:0;border:0",l.style.cssText="position:relative;display:block;box-sizing:border-box;overflow:scroll;margin:auto;border:1px;padding:1px;width:60%;top:1%",re.appendChild(u).appendChild(l);var e=C.getComputedStyle(l);n="1%"!==e.top,s=12===t(e.marginLeft),l.style.right="60%",o=36===t(e.right),r=36===t(e.width),l.style.position="absolute",i=12===t(l.offsetWidth/3),re.removeChild(u),l=null}}function t(e){return Math.round(parseFloat(e))}var n,r,i,o,a,s,u=E.createElement("div"),l=E.createElement("div");l.style&&(l.style.backgroundClip="content-box",l.cloneNode(!0).style.backgroundClip="",y.clearCloneStyle="content-box"===l.style.backgroundClip,S.extend(y,{boxSizingReliable:function(){return e(),r},pixelBoxStyles:function(){return e(),o},pixelPosition:function(){return e(),n},reliableMarginLeft:function(){return e(),s},scrollboxSize:function(){return e(),i},reliableTrDimensions:function(){var e,t,n,r;return null==a&&(e=E.createElement("table"),t=E.createElement("tr"),n=E.createElement("div"),e.style.cssText="position:absolute;left:-11111px;border-collapse:separate",t.style.cssText="border:1px solid",t.style.height="1px",n.style.height="9px",n.style.display="block",re.appendChild(e).appendChild(t).appendChild(n),r=C.getComputedStyle(t),a=parseInt(r.height,10)+parseInt(r.borderTopWidth,10)+parseInt(r.borderBottomWidth,10)===t.offsetHeight,re.removeChild(e)),a}}))}();var Be=["Webkit","Moz","ms"],$e=E.createElement("div").style,_e={};function ze(e){var t=S.cssProps[e]||_e[e];return t||(e in $e?e:_e[e]=function(e){var t=e[0].toUpperCase()+e.slice(1),n=Be.length;while(n--)if((e=Be[n]+t)in $e)return e}(e)||e)}var Ue=/^(none|table(?!-c[ea]).+)/,Xe=/^--/,Ve={position:"absolute",visibility:"hidden",display:"block"},Ge={letterSpacing:"0",fontWeight:"400"};function Ye(e,t,n){var r=te.exec(t);return r?Math.max(0,r[2]-(n||0))+(r[3]||"px"):t}function Qe(e,t,n,r,i,o){var a="width"===t?1:0,s=0,u=0;if(n===(r?"border":"content"))return 0;for(;a<4;a+=2)"margin"===n&&(u+=S.css(e,n+ne[a],!0,i)),r?("content"===n&&(u-=S.css(e,"padding"+ne[a],!0,i)),"margin"!==n&&(u-=S.css(e,"border"+ne[a]+"Width",!0,i))):(u+=S.css(e,"padding"+ne[a],!0,i),"padding"!==n?u+=S.css(e,"border"+ne[a]+"Width",!0,i):s+=S.css(e,"border"+ne[a]+"Width",!0,i));return!r&&0<=o&&(u+=Math.max(0,Math.ceil(e["offset"+t[0].toUpperCase()+t.slice(1)]-o-u-s-.5))||0),u}function Je(e,t,n){var r=Re(e),i=(!y.boxSizingReliable()||n)&&"border-box"===S.css(e,"boxSizing",!1,r),o=i,a=We(e,t,r),s="offset"+t[0].toUpperCase()+t.slice(1);if(Pe.test(a)){if(!n)return a;a="auto"}return(!y.boxSizingReliable()&&i||!y.reliableTrDimensions()&&A(e,"tr")||"auto"===a||!parseFloat(a)&&"inline"===S.css(e,"display",!1,r))&&e.getClientRects().length&&(i="border-box"===S.css(e,"boxSizing",!1,r),(o=s in e)&&(a=e[s])),(a=parseFloat(a)||0)+Qe(e,t,n||(i?"border":"content"),o,r,a)+"px"}function Ke(e,t,n,r,i){return new Ke.prototype.init(e,t,n,r,i)}S.extend({cssHooks:{opacity:{get:function(e,t){if(t){var n=We(e,"opacity");return""===n?"1":n}}}},cssNumber:{animationIterationCount:!0,columnCount:!0,fillOpacity:!0,flexGrow:!0,flexShrink:!0,fontWeight:!0,gridArea:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnStart:!0,gridRow:!0,gridRowEnd:!0,gridRowStart:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{},style:function(e,t,n,r){if(e&&3!==e.nodeType&&8!==e.nodeType&&e.style){var i,o,a,s=X(t),u=Xe.test(t),l=e.style;if(u||(t=ze(s)),a=S.cssHooks[t]||S.cssHooks[s],void 0===n)return a&&"get"in a&&void 0!==(i=a.get(e,!1,r))?i:l[t];"string"===(o=typeof n)&&(i=te.exec(n))&&i[1]&&(n=se(e,t,i),o="number"),null!=n&&n==n&&("number"!==o||u||(n+=i&&i[3]||(S.cssNumber[s]?"":"px")),y.clearCloneStyle||""!==n||0!==t.indexOf("background")||(l[t]="inherit"),a&&"set"in a&&void 0===(n=a.set(e,n,r))||(u?l.setProperty(t,n):l[t]=n))}},css:function(e,t,n,r){var i,o,a,s=X(t);return Xe.test(t)||(t=ze(s)),(a=S.cssHooks[t]||S.cssHooks[s])&&"get"in a&&(i=a.get(e,!0,n)),void 0===i&&(i=We(e,t,r)),"normal"===i&&t in Ge&&(i=Ge[t]),""===n||n?(o=parseFloat(i),!0===n||isFinite(o)?o||0:i):i}}),S.each(["height","width"],function(e,u){S.cssHooks[u]={get:function(e,t,n){if(t)return!Ue.test(S.css(e,"display"))||e.getClientRects().length&&e.getBoundingClientRect().width?Je(e,u,n):Me(e,Ve,function(){return Je(e,u,n)})},set:function(e,t,n){var r,i=Re(e),o=!y.scrollboxSize()&&"absolute"===i.position,a=(o||n)&&"border-box"===S.css(e,"boxSizing",!1,i),s=n?Qe(e,u,n,a,i):0;return a&&o&&(s-=Math.ceil(e["offset"+u[0].toUpperCase()+u.slice(1)]-parseFloat(i[u])-Qe(e,u,"border",!1,i)-.5)),s&&(r=te.exec(t))&&"px"!==(r[3]||"px")&&(e.style[u]=t,t=S.css(e,u)),Ye(0,t,s)}}}),S.cssHooks.marginLeft=Fe(y.reliableMarginLeft,function(e,t){if(t)return(parseFloat(We(e,"marginLeft"))||e.getBoundingClientRect().left-Me(e,{marginLeft:0},function(){return e.getBoundingClientRect().left}))+"px"}),S.each({margin:"",padding:"",border:"Width"},function(i,o){S.cssHooks[i+o]={expand:function(e){for(var t=0,n={},r="string"==typeof e?e.split(" "):[e];t<4;t++)n[i+ne[t]+o]=r[t]||r[t-2]||r[0];return n}},"margin"!==i&&(S.cssHooks[i+o].set=Ye)}),S.fn.extend({css:function(e,t){return $(this,function(e,t,n){var r,i,o={},a=0;if(Array.isArray(t)){for(r=Re(e),i=t.length;a<i;a++)o[t[a]]=S.css(e,t[a],!1,r);return o}return void 0!==n?S.style(e,t,n):S.css(e,t)},e,t,1<arguments.length)}}),((S.Tween=Ke).prototype={constructor:Ke,init:function(e,t,n,r,i,o){this.elem=e,this.prop=n,this.easing=i||S.easing._default,this.options=t,this.start=this.now=this.cur(),this.end=r,this.unit=o||(S.cssNumber[n]?"":"px")},cur:function(){var e=Ke.propHooks[this.prop];return e&&e.get?e.get(this):Ke.propHooks._default.get(this)},run:function(e){var t,n=Ke.propHooks[this.prop];return this.options.duration?this.pos=t=S.easing[this.easing](e,this.options.duration*e,0,1,this.options.duration):this.pos=t=e,this.now=(this.end-this.start)*t+this.start,this.options.step&&this.options.step.call(this.elem,this.now,this),n&&n.set?n.set(this):Ke.propHooks._default.set(this),this}}).init.prototype=Ke.prototype,(Ke.propHooks={_default:{get:function(e){var t;return 1!==e.elem.nodeType||null!=e.elem[e.prop]&&null==e.elem.style[e.prop]?e.elem[e.prop]:(t=S.css(e.elem,e.prop,""))&&"auto"!==t?t:0},set:function(e){S.fx.step[e.prop]?S.fx.step[e.prop](e):1!==e.elem.nodeType||!S.cssHooks[e.prop]&&null==e.elem.style[ze(e.prop)]?e.elem[e.prop]=e.now:S.style(e.elem,e.prop,e.now+e.unit)}}}).scrollTop=Ke.propHooks.scrollLeft={set:function(e){e.elem.nodeType&&e.elem.parentNode&&(e.elem[e.prop]=e.now)}},S.easing={linear:function(e){return e},swing:function(e){return.5-Math.cos(e*Math.PI)/2},_default:"swing"},S.fx=Ke.prototype.init,S.fx.step={};var Ze,et,tt,nt,rt=/^(?:toggle|show|hide)$/,it=/queueHooks$/;function ot(){et&&(!1===E.hidden&&C.requestAnimationFrame?C.requestAnimationFrame(ot):C.setTimeout(ot,S.fx.interval),S.fx.tick())}function at(){return C.setTimeout(function(){Ze=void 0}),Ze=Date.now()}function st(e,t){var n,r=0,i={height:e};for(t=t?1:0;r<4;r+=2-t)i["margin"+(n=ne[r])]=i["padding"+n]=e;return t&&(i.opacity=i.width=e),i}function ut(e,t,n){for(var r,i=(lt.tweeners[t]||[]).concat(lt.tweeners["*"]),o=0,a=i.length;o<a;o++)if(r=i[o].call(n,t,e))return r}function lt(o,e,t){var n,a,r=0,i=lt.prefilters.length,s=S.Deferred().always(function(){delete u.elem}),u=function(){if(a)return!1;for(var e=Ze||at(),t=Math.max(0,l.startTime+l.duration-e),n=1-(t/l.duration||0),r=0,i=l.tweens.length;r<i;r++)l.tweens[r].run(n);return s.notifyWith(o,[l,n,t]),n<1&&i?t:(i||s.notifyWith(o,[l,1,0]),s.resolveWith(o,[l]),!1)},l=s.promise({elem:o,props:S.extend({},e),opts:S.extend(!0,{specialEasing:{},easing:S.easing._default},t),originalProperties:e,originalOptions:t,startTime:Ze||at(),duration:t.duration,tweens:[],createTween:function(e,t){var n=S.Tween(o,l.opts,e,t,l.opts.specialEasing[e]||l.opts.easing);return l.tweens.push(n),n},stop:function(e){var t=0,n=e?l.tweens.length:0;if(a)return this;for(a=!0;t<n;t++)l.tweens[t].run(1);return e?(s.notifyWith(o,[l,1,0]),s.resolveWith(o,[l,e])):s.rejectWith(o,[l,e]),this}}),c=l.props;for(!function(e,t){var n,r,i,o,a;for(n in e)if(i=t[r=X(n)],o=e[n],Array.isArray(o)&&(i=o[1],o=e[n]=o[0]),n!==r&&(e[r]=o,delete e[n]),(a=S.cssHooks[r])&&"expand"in a)for(n in o=a.expand(o),delete e[r],o)n in e||(e[n]=o[n],t[n]=i);else t[r]=i}(c,l.opts.specialEasing);r<i;r++)if(n=lt.prefilters[r].call(l,o,c,l.opts))return m(n.stop)&&(S._queueHooks(l.elem,l.opts.queue).stop=n.stop.bind(n)),n;return S.map(c,ut,l),m(l.opts.start)&&l.opts.start.call(o,l),l.progress(l.opts.progress).done(l.opts.done,l.opts.complete).fail(l.opts.fail).always(l.opts.always),S.fx.timer(S.extend(u,{elem:o,anim:l,queue:l.opts.queue})),l}S.Animation=S.extend(lt,{tweeners:{"*":[function(e,t){var n=this.createTween(e,t);return se(n.elem,e,te.exec(t),n),n}]},tweener:function(e,t){m(e)?(t=e,e=["*"]):e=e.match(P);for(var n,r=0,i=e.length;r<i;r++)n=e[r],lt.tweeners[n]=lt.tweeners[n]||[],lt.tweeners[n].unshift(t)},prefilters:[function(e,t,n){var r,i,o,a,s,u,l,c,f="width"in t||"height"in t,p=this,d={},h=e.style,g=e.nodeType&&ae(e),v=Y.get(e,"fxshow");for(r in n.queue||(null==(a=S._queueHooks(e,"fx")).unqueued&&(a.unqueued=0,s=a.empty.fire,a.empty.fire=function(){a.unqueued||s()}),a.unqueued++,p.always(function(){p.always(function(){a.unqueued--,S.queue(e,"fx").length||a.empty.fire()})})),t)if(i=t[r],rt.test(i)){if(delete t[r],o=o||"toggle"===i,i===(g?"hide":"show")){if("show"!==i||!v||void 0===v[r])continue;g=!0}d[r]=v&&v[r]||S.style(e,r)}if((u=!S.isEmptyObject(t))||!S.isEmptyObject(d))for(r in f&&1===e.nodeType&&(n.overflow=[h.overflow,h.overflowX,h.overflowY],null==(l=v&&v.display)&&(l=Y.get(e,"display")),"none"===(c=S.css(e,"display"))&&(l?c=l:(le([e],!0),l=e.style.display||l,c=S.css(e,"display"),le([e]))),("inline"===c||"inline-block"===c&&null!=l)&&"none"===S.css(e,"float")&&(u||(p.done(function(){h.display=l}),null==l&&(c=h.display,l="none"===c?"":c)),h.display="inline-block")),n.overflow&&(h.overflow="hidden",p.always(function(){h.overflow=n.overflow[0],h.overflowX=n.overflow[1],h.overflowY=n.overflow[2]})),u=!1,d)u||(v?"hidden"in v&&(g=v.hidden):v=Y.access(e,"fxshow",{display:l}),o&&(v.hidden=!g),g&&le([e],!0),p.done(function(){for(r in g||le([e]),Y.remove(e,"fxshow"),d)S.style(e,r,d[r])})),u=ut(g?v[r]:0,r,p),r in v||(v[r]=u.start,g&&(u.end=u.start,u.start=0))}],prefilter:function(e,t){t?lt.prefilters.unshift(e):lt.prefilters.push(e)}}),S.speed=function(e,t,n){var r=e&&"object"==typeof e?S.extend({},e):{complete:n||!n&&t||m(e)&&e,duration:e,easing:n&&t||t&&!m(t)&&t};return S.fx.off?r.duration=0:"number"!=typeof r.duration&&(r.duration in S.fx.speeds?r.duration=S.fx.speeds[r.duration]:r.duration=S.fx.speeds._default),null!=r.queue&&!0!==r.queue||(r.queue="fx"),r.old=r.complete,r.complete=function(){m(r.old)&&r.old.call(this),r.queue&&S.dequeue(this,r.queue)},r},S.fn.extend({fadeTo:function(e,t,n,r){return this.filter(ae).css("opacity",0).show().end().animate({opacity:t},e,n,r)},animate:function(t,e,n,r){var i=S.isEmptyObject(t),o=S.speed(e,n,r),a=function(){var e=lt(this,S.extend({},t),o);(i||Y.get(this,"finish"))&&e.stop(!0)};return a.finish=a,i||!1===o.queue?this.each(a):this.queue(o.queue,a)},stop:function(i,e,o){var a=function(e){var t=e.stop;delete e.stop,t(o)};return"string"!=typeof i&&(o=e,e=i,i=void 0),e&&this.queue(i||"fx",[]),this.each(function(){var e=!0,t=null!=i&&i+"queueHooks",n=S.timers,r=Y.get(this);if(t)r[t]&&r[t].stop&&a(r[t]);else for(t in r)r[t]&&r[t].stop&&it.test(t)&&a(r[t]);for(t=n.length;t--;)n[t].elem!==this||null!=i&&n[t].queue!==i||(n[t].anim.stop(o),e=!1,n.splice(t,1));!e&&o||S.dequeue(this,i)})},finish:function(a){return!1!==a&&(a=a||"fx"),this.each(function(){var e,t=Y.get(this),n=t[a+"queue"],r=t[a+"queueHooks"],i=S.timers,o=n?n.length:0;for(t.finish=!0,S.queue(this,a,[]),r&&r.stop&&r.stop.call(this,!0),e=i.length;e--;)i[e].elem===this&&i[e].queue===a&&(i[e].anim.stop(!0),i.splice(e,1));for(e=0;e<o;e++)n[e]&&n[e].finish&&n[e].finish.call(this);delete t.finish})}}),S.each(["toggle","show","hide"],function(e,r){var i=S.fn[r];S.fn[r]=function(e,t,n){return null==e||"boolean"==typeof e?i.apply(this,arguments):this.animate(st(r,!0),e,t,n)}}),S.each({slideDown:st("show"),slideUp:st("hide"),slideToggle:st("toggle"),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"},fadeToggle:{opacity:"toggle"}},function(e,r){S.fn[e]=function(e,t,n){return this.animate(r,e,t,n)}}),S.timers=[],S.fx.tick=function(){var e,t=0,n=S.timers;for(Ze=Date.now();t<n.length;t++)(e=n[t])()||n[t]!==e||n.splice(t--,1);n.length||S.fx.stop(),Ze=void 0},S.fx.timer=function(e){S.timers.push(e),S.fx.start()},S.fx.interval=13,S.fx.start=function(){et||(et=!0,ot())},S.fx.stop=function(){et=null},S.fx.speeds={slow:600,fast:200,_default:400},S.fn.delay=function(r,e){return r=S.fx&&S.fx.speeds[r]||r,e=e||"fx",this.queue(e,function(e,t){var n=C.setTimeout(e,r);t.stop=function(){C.clearTimeout(n)}})},tt=E.createElement("input"),nt=E.createElement("select").appendChild(E.createElement("option")),tt.type="checkbox",y.checkOn=""!==tt.value,y.optSelected=nt.selected,(tt=E.createElement("input")).value="t",tt.type="radio",y.radioValue="t"===tt.value;var ct,ft=S.expr.attrHandle;S.fn.extend({attr:function(e,t){return $(this,S.attr,e,t,1<arguments.length)},removeAttr:function(e){return this.each(function(){S.removeAttr(this,e)})}}),S.extend({attr:function(e,t,n){var r,i,o=e.nodeType;if(3!==o&&8!==o&&2!==o)return"undefined"==typeof e.getAttribute?S.prop(e,t,n):(1===o&&S.isXMLDoc(e)||(i=S.attrHooks[t.toLowerCase()]||(S.expr.match.bool.test(t)?ct:void 0)),void 0!==n?null===n?void S.removeAttr(e,t):i&&"set"in i&&void 0!==(r=i.set(e,n,t))?r:(e.setAttribute(t,n+""),n):i&&"get"in i&&null!==(r=i.get(e,t))?r:null==(r=S.find.attr(e,t))?void 0:r)},attrHooks:{type:{set:function(e,t){if(!y.radioValue&&"radio"===t&&A(e,"input")){var n=e.value;return e.setAttribute("type",t),n&&(e.value=n),t}}}},removeAttr:function(e,t){var n,r=0,i=t&&t.match(P);if(i&&1===e.nodeType)while(n=i[r++])e.removeAttribute(n)}}),ct={set:function(e,t,n){return!1===t?S.removeAttr(e,n):e.setAttribute(n,n),n}},S.each(S.expr.match.bool.source.match(/\w+/g),function(e,t){var a=ft[t]||S.find.attr;ft[t]=function(e,t,n){var r,i,o=t.toLowerCase();return n||(i=ft[o],ft[o]=r,r=null!=a(e,t,n)?o:null,ft[o]=i),r}});var pt=/^(?:input|select|textarea|button)$/i,dt=/^(?:a|area)$/i;function ht(e){return(e.match(P)||[]).join(" ")}function gt(e){return e.getAttribute&&e.getAttribute("class")||""}function vt(e){return Array.isArray(e)?e:"string"==typeof e&&e.match(P)||[]}S.fn.extend({prop:function(e,t){return $(this,S.prop,e,t,1<arguments.length)},removeProp:function(e){return this.each(function(){delete this[S.propFix[e]||e]})}}),S.extend({prop:function(e,t,n){var r,i,o=e.nodeType;if(3!==o&&8!==o&&2!==o)return 1===o&&S.isXMLDoc(e)||(t=S.propFix[t]||t,i=S.propHooks[t]),void 0!==n?i&&"set"in i&&void 0!==(r=i.set(e,n,t))?r:e[t]=n:i&&"get"in i&&null!==(r=i.get(e,t))?r:e[t]},propHooks:{tabIndex:{get:function(e){var t=S.find.attr(e,"tabindex");return t?parseInt(t,10):pt.test(e.nodeName)||dt.test(e.nodeName)&&e.href?0:-1}}},propFix:{"for":"htmlFor","class":"className"}}),y.optSelected||(S.propHooks.selected={get:function(e){var t=e.parentNode;return t&&t.parentNode&&t.parentNode.selectedIndex,null},set:function(e){var t=e.parentNode;t&&(t.selectedIndex,t.parentNode&&t.parentNode.selectedIndex)}}),S.each(["tabIndex","readOnly","maxLength","cellSpacing","cellPadding","rowSpan","colSpan","useMap","frameBorder","contentEditable"],function(){S.propFix[this.toLowerCase()]=this}),S.fn.extend({addClass:function(t){var e,n,r,i,o,a,s,u=0;if(m(t))return this.each(function(e){S(this).addClass(t.call(this,e,gt(this)))});if((e=vt(t)).length)while(n=this[u++])if(i=gt(n),r=1===n.nodeType&&" "+ht(i)+" "){a=0;while(o=e[a++])r.indexOf(" "+o+" ")<0&&(r+=o+" ");i!==(s=ht(r))&&n.setAttribute("class",s)}return this},removeClass:function(t){var e,n,r,i,o,a,s,u=0;if(m(t))return this.each(function(e){S(this).removeClass(t.call(this,e,gt(this)))});if(!arguments.length)return this.attr("class","");if((e=vt(t)).length)while(n=this[u++])if(i=gt(n),r=1===n.nodeType&&" "+ht(i)+" "){a=0;while(o=e[a++])while(-1<r.indexOf(" "+o+" "))r=r.replace(" "+o+" "," ");i!==(s=ht(r))&&n.setAttribute("class",s)}return this},toggleClass:function(i,t){var o=typeof i,a="string"===o||Array.isArray(i);return"boolean"==typeof t&&a?t?this.addClass(i):this.removeClass(i):m(i)?this.each(function(e){S(this).toggleClass(i.call(this,e,gt(this),t),t)}):this.each(function(){var e,t,n,r;if(a){t=0,n=S(this),r=vt(i);while(e=r[t++])n.hasClass(e)?n.removeClass(e):n.addClass(e)}else void 0!==i&&"boolean"!==o||((e=gt(this))&&Y.set(this,"__className__",e),this.setAttribute&&this.setAttribute("class",e||!1===i?"":Y.get(this,"__className__")||""))})},hasClass:function(e){var t,n,r=0;t=" "+e+" ";while(n=this[r++])if(1===n.nodeType&&-1<(" "+ht(gt(n))+" ").indexOf(t))return!0;return!1}});var yt=/\r/g;S.fn.extend({val:function(n){var r,e,i,t=this[0];return arguments.length?(i=m(n),this.each(function(e){var t;1===this.nodeType&&(null==(t=i?n.call(this,e,S(this).val()):n)?t="":"number"==typeof t?t+="":Array.isArray(t)&&(t=S.map(t,function(e){return null==e?"":e+""})),(r=S.valHooks[this.type]||S.valHooks[this.nodeName.toLowerCase()])&&"set"in r&&void 0!==r.set(this,t,"value")||(this.value=t))})):t?(r=S.valHooks[t.type]||S.valHooks[t.nodeName.toLowerCase()])&&"get"in r&&void 0!==(e=r.get(t,"value"))?e:"string"==typeof(e=t.value)?e.replace(yt,""):null==e?"":e:void 0}}),S.extend({valHooks:{option:{get:function(e){var t=S.find.attr(e,"value");return null!=t?t:ht(S.text(e))}},select:{get:function(e){var t,n,r,i=e.options,o=e.selectedIndex,a="select-one"===e.type,s=a?null:[],u=a?o+1:i.length;for(r=o<0?u:a?o:0;r<u;r++)if(((n=i[r]).selected||r===o)&&!n.disabled&&(!n.parentNode.disabled||!A(n.parentNode,"optgroup"))){if(t=S(n).val(),a)return t;s.push(t)}return s},set:function(e,t){var n,r,i=e.options,o=S.makeArray(t),a=i.length;while(a--)((r=i[a]).selected=-1<S.inArray(S.valHooks.option.get(r),o))&&(n=!0);return n||(e.selectedIndex=-1),o}}}}),S.each(["radio","checkbox"],function(){S.valHooks[this]={set:function(e,t){if(Array.isArray(t))return e.checked=-1<S.inArray(S(e).val(),t)}},y.checkOn||(S.valHooks[this].get=function(e){return null===e.getAttribute("value")?"on":e.value})}),y.focusin="onfocusin"in C;var mt=/^(?:focusinfocus|focusoutblur)$/,xt=function(e){e.stopPropagation()};S.extend(S.event,{trigger:function(e,t,n,r){var i,o,a,s,u,l,c,f,p=[n||E],d=v.call(e,"type")?e.type:e,h=v.call(e,"namespace")?e.namespace.split("."):[];if(o=f=a=n=n||E,3!==n.nodeType&&8!==n.nodeType&&!mt.test(d+S.event.triggered)&&(-1<d.indexOf(".")&&(d=(h=d.split(".")).shift(),h.sort()),u=d.indexOf(":")<0&&"on"+d,(e=e[S.expando]?e:new S.Event(d,"object"==typeof e&&e)).isTrigger=r?2:3,e.namespace=h.join("."),e.rnamespace=e.namespace?new RegExp("(^|\\.)"+h.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,e.result=void 0,e.target||(e.target=n),t=null==t?[e]:S.makeArray(t,[e]),c=S.event.special[d]||{},r||!c.trigger||!1!==c.trigger.apply(n,t))){if(!r&&!c.noBubble&&!x(n)){for(s=c.delegateType||d,mt.test(s+d)||(o=o.parentNode);o;o=o.parentNode)p.push(o),a=o;a===(n.ownerDocument||E)&&p.push(a.defaultView||a.parentWindow||C)}i=0;while((o=p[i++])&&!e.isPropagationStopped())f=o,e.type=1<i?s:c.bindType||d,(l=(Y.get(o,"events")||Object.create(null))[e.type]&&Y.get(o,"handle"))&&l.apply(o,t),(l=u&&o[u])&&l.apply&&V(o)&&(e.result=l.apply(o,t),!1===e.result&&e.preventDefault());return e.type=d,r||e.isDefaultPrevented()||c._default&&!1!==c._default.apply(p.pop(),t)||!V(n)||u&&m(n[d])&&!x(n)&&((a=n[u])&&(n[u]=null),S.event.triggered=d,e.isPropagationStopped()&&f.addEventListener(d,xt),n[d](),e.isPropagationStopped()&&f.removeEventListener(d,xt),S.event.triggered=void 0,a&&(n[u]=a)),e.result}},simulate:function(e,t,n){var r=S.extend(new S.Event,n,{type:e,isSimulated:!0});S.event.trigger(r,null,t)}}),S.fn.extend({trigger:function(e,t){return this.each(function(){S.event.trigger(e,t,this)})},triggerHandler:function(e,t){var n=this[0];if(n)return S.event.trigger(e,t,n,!0)}}),y.focusin||S.each({focus:"focusin",blur:"focusout"},function(n,r){var i=function(e){S.event.simulate(r,e.target,S.event.fix(e))};S.event.special[r]={setup:function(){var e=this.ownerDocument||this.document||this,t=Y.access(e,r);t||e.addEventListener(n,i,!0),Y.access(e,r,(t||0)+1)},teardown:function(){var e=this.ownerDocument||this.document||this,t=Y.access(e,r)-1;t?Y.access(e,r,t):(e.removeEventListener(n,i,!0),Y.remove(e,r))}}});var bt=C.location,wt={guid:Date.now()},Tt=/\?/;S.parseXML=function(e){var t,n;if(!e||"string"!=typeof e)return null;try{t=(new C.DOMParser).parseFromString(e,"text/xml")}catch(e){}return n=t&&t.getElementsByTagName("parsererror")[0],t&&!n||S.error("Invalid XML: "+(n?S.map(n.childNodes,function(e){return e.textContent}).join("\n"):e)),t};var Ct=/\[\]$/,Et=/\r?\n/g,St=/^(?:submit|button|image|reset|file)$/i,kt=/^(?:input|select|textarea|keygen)/i;function At(n,e,r,i){var t;if(Array.isArray(e))S.each(e,function(e,t){r||Ct.test(n)?i(n,t):At(n+"["+("object"==typeof t&&null!=t?e:"")+"]",t,r,i)});else if(r||"object"!==w(e))i(n,e);else for(t in e)At(n+"["+t+"]",e[t],r,i)}S.param=function(e,t){var n,r=[],i=function(e,t){var n=m(t)?t():t;r[r.length]=encodeURIComponent(e)+"="+encodeURIComponent(null==n?"":n)};if(null==e)return"";if(Array.isArray(e)||e.jquery&&!S.isPlainObject(e))S.each(e,function(){i(this.name,this.value)});else for(n in e)At(n,e[n],t,i);return r.join("&")},S.fn.extend({serialize:function(){return S.param(this.serializeArray())},serializeArray:function(){return this.map(function(){var e=S.prop(this,"elements");return e?S.makeArray(e):this}).filter(function(){var e=this.type;return this.name&&!S(this).is(":disabled")&&kt.test(this.nodeName)&&!St.test(e)&&(this.checked||!pe.test(e))}).map(function(e,t){var n=S(this).val();return null==n?null:Array.isArray(n)?S.map(n,function(e){return{name:t.name,value:e.replace(Et,"\r\n")}}):{name:t.name,value:n.replace(Et,"\r\n")}}).get()}});var Nt=/%20/g,jt=/#.*$/,Dt=/([?&])_=[^&]*/,qt=/^(.*?):[ \t]*([^\r\n]*)$/gm,Lt=/^(?:GET|HEAD)$/,Ht=/^\/\//,Ot={},Pt={},Rt="*/".concat("*"),Mt=E.createElement("a");function It(o){return function(e,t){"string"!=typeof e&&(t=e,e="*");var n,r=0,i=e.toLowerCase().match(P)||[];if(m(t))while(n=i[r++])"+"===n[0]?(n=n.slice(1)||"*",(o[n]=o[n]||[]).unshift(t)):(o[n]=o[n]||[]).push(t)}}function Wt(t,i,o,a){var s={},u=t===Pt;function l(e){var r;return s[e]=!0,S.each(t[e]||[],function(e,t){var n=t(i,o,a);return"string"!=typeof n||u||s[n]?u?!(r=n):void 0:(i.dataTypes.unshift(n),l(n),!1)}),r}return l(i.dataTypes[0])||!s["*"]&&l("*")}function Ft(e,t){var n,r,i=S.ajaxSettings.flatOptions||{};for(n in t)void 0!==t[n]&&((i[n]?e:r||(r={}))[n]=t[n]);return r&&S.extend(!0,e,r),e}Mt.href=bt.href,S.extend({active:0,lastModified:{},etag:{},ajaxSettings:{url:bt.href,type:"GET",isLocal:/^(?:about|app|app-storage|.+-extension|file|res|widget):$/.test(bt.protocol),global:!0,processData:!0,async:!0,contentType:"application/x-www-form-urlencoded; charset=UTF-8",accepts:{"*":Rt,text:"text/plain",html:"text/html",xml:"application/xml, text/xml",json:"application/json, text/javascript"},contents:{xml:/\bxml\b/,html:/\bhtml/,json:/\bjson\b/},responseFields:{xml:"responseXML",text:"responseText",json:"responseJSON"},converters:{"* text":String,"text html":!0,"text json":JSON.parse,"text xml":S.parseXML},flatOptions:{url:!0,context:!0}},ajaxSetup:function(e,t){return t?Ft(Ft(e,S.ajaxSettings),t):Ft(S.ajaxSettings,e)},ajaxPrefilter:It(Ot),ajaxTransport:It(Pt),ajax:function(e,t){"object"==typeof e&&(t=e,e=void 0),t=t||{};var c,f,p,n,d,r,h,g,i,o,v=S.ajaxSetup({},t),y=v.context||v,m=v.context&&(y.nodeType||y.jquery)?S(y):S.event,x=S.Deferred(),b=S.Callbacks("once memory"),w=v.statusCode||{},a={},s={},u="canceled",T={readyState:0,getResponseHeader:function(e){var t;if(h){if(!n){n={};while(t=qt.exec(p))n[t[1].toLowerCase()+" "]=(n[t[1].toLowerCase()+" "]||[]).concat(t[2])}t=n[e.toLowerCase()+" "]}return null==t?null:t.join(", ")},getAllResponseHeaders:function(){return h?p:null},setRequestHeader:function(e,t){return null==h&&(e=s[e.toLowerCase()]=s[e.toLowerCase()]||e,a[e]=t),this},overrideMimeType:function(e){return null==h&&(v.mimeType=e),this},statusCode:function(e){var t;if(e)if(h)T.always(e[T.status]);else for(t in e)w[t]=[w[t],e[t]];return this},abort:function(e){var t=e||u;return c&&c.abort(t),l(0,t),this}};if(x.promise(T),v.url=((e||v.url||bt.href)+"").replace(Ht,bt.protocol+"//"),v.type=t.method||t.type||v.method||v.type,v.dataTypes=(v.dataType||"*").toLowerCase().match(P)||[""],null==v.crossDomain){r=E.createElement("a");try{r.href=v.url,r.href=r.href,v.crossDomain=Mt.protocol+"//"+Mt.host!=r.protocol+"//"+r.host}catch(e){v.crossDomain=!0}}if(v.data&&v.processData&&"string"!=typeof v.data&&(v.data=S.param(v.data,v.traditional)),Wt(Ot,v,t,T),h)return T;for(i in(g=S.event&&v.global)&&0==S.active++&&S.event.trigger("ajaxStart"),v.type=v.type.toUpperCase(),v.hasContent=!Lt.test(v.type),f=v.url.replace(jt,""),v.hasContent?v.data&&v.processData&&0===(v.contentType||"").indexOf("application/x-www-form-urlencoded")&&(v.data=v.data.replace(Nt,"+")):(o=v.url.slice(f.length),v.data&&(v.processData||"string"==typeof v.data)&&(f+=(Tt.test(f)?"&":"?")+v.data,delete v.data),!1===v.cache&&(f=f.replace(Dt,"$1"),o=(Tt.test(f)?"&":"?")+"_="+wt.guid+++o),v.url=f+o),v.ifModified&&(S.lastModified[f]&&T.setRequestHeader("If-Modified-Since",S.lastModified[f]),S.etag[f]&&T.setRequestHeader("If-None-Match",S.etag[f])),(v.data&&v.hasContent&&!1!==v.contentType||t.contentType)&&T.setRequestHeader("Content-Type",v.contentType),T.setRequestHeader("Accept",v.dataTypes[0]&&v.accepts[v.dataTypes[0]]?v.accepts[v.dataTypes[0]]+("*"!==v.dataTypes[0]?", "+Rt+"; q=0.01":""):v.accepts["*"]),v.headers)T.setRequestHeader(i,v.headers[i]);if(v.beforeSend&&(!1===v.beforeSend.call(y,T,v)||h))return T.abort();if(u="abort",b.add(v.complete),T.done(v.success),T.fail(v.error),c=Wt(Pt,v,t,T)){if(T.readyState=1,g&&m.trigger("ajaxSend",[T,v]),h)return T;v.async&&0<v.timeout&&(d=C.setTimeout(function(){T.abort("timeout")},v.timeout));try{h=!1,c.send(a,l)}catch(e){if(h)throw e;l(-1,e)}}else l(-1,"No Transport");function l(e,t,n,r){var i,o,a,s,u,l=t;h||(h=!0,d&&C.clearTimeout(d),c=void 0,p=r||"",T.readyState=0<e?4:0,i=200<=e&&e<300||304===e,n&&(s=function(e,t,n){var r,i,o,a,s=e.contents,u=e.dataTypes;while("*"===u[0])u.shift(),void 0===r&&(r=e.mimeType||t.getResponseHeader("Content-Type"));if(r)for(i in s)if(s[i]&&s[i].test(r)){u.unshift(i);break}if(u[0]in n)o=u[0];else{for(i in n){if(!u[0]||e.converters[i+" "+u[0]]){o=i;break}a||(a=i)}o=o||a}if(o)return o!==u[0]&&u.unshift(o),n[o]}(v,T,n)),!i&&-1<S.inArray("script",v.dataTypes)&&S.inArray("json",v.dataTypes)<0&&(v.converters["text script"]=function(){}),s=function(e,t,n,r){var i,o,a,s,u,l={},c=e.dataTypes.slice();if(c[1])for(a in e.converters)l[a.toLowerCase()]=e.converters[a];o=c.shift();while(o)if(e.responseFields[o]&&(n[e.responseFields[o]]=t),!u&&r&&e.dataFilter&&(t=e.dataFilter(t,e.dataType)),u=o,o=c.shift())if("*"===o)o=u;else if("*"!==u&&u!==o){if(!(a=l[u+" "+o]||l["* "+o]))for(i in l)if((s=i.split(" "))[1]===o&&(a=l[u+" "+s[0]]||l["* "+s[0]])){!0===a?a=l[i]:!0!==l[i]&&(o=s[0],c.unshift(s[1]));break}if(!0!==a)if(a&&e["throws"])t=a(t);else try{t=a(t)}catch(e){return{state:"parsererror",error:a?e:"No conversion from "+u+" to "+o}}}return{state:"success",data:t}}(v,s,T,i),i?(v.ifModified&&((u=T.getResponseHeader("Last-Modified"))&&(S.lastModified[f]=u),(u=T.getResponseHeader("etag"))&&(S.etag[f]=u)),204===e||"HEAD"===v.type?l="nocontent":304===e?l="notmodified":(l=s.state,o=s.data,i=!(a=s.error))):(a=l,!e&&l||(l="error",e<0&&(e=0))),T.status=e,T.statusText=(t||l)+"",i?x.resolveWith(y,[o,l,T]):x.rejectWith(y,[T,l,a]),T.statusCode(w),w=void 0,g&&m.trigger(i?"ajaxSuccess":"ajaxError",[T,v,i?o:a]),b.fireWith(y,[T,l]),g&&(m.trigger("ajaxComplete",[T,v]),--S.active||S.event.trigger("ajaxStop")))}return T},getJSON:function(e,t,n){return S.get(e,t,n,"json")},getScript:function(e,t){return S.get(e,void 0,t,"script")}}),S.each(["get","post"],function(e,i){S[i]=function(e,t,n,r){return m(t)&&(r=r||n,n=t,t=void 0),S.ajax(S.extend({url:e,type:i,dataType:r,data:t,success:n},S.isPlainObject(e)&&e))}}),S.ajaxPrefilter(function(e){var t;for(t in e.headers)"content-type"===t.toLowerCase()&&(e.contentType=e.headers[t]||"")}),S._evalUrl=function(e,t,n){return S.ajax({url:e,type:"GET",dataType:"script",cache:!0,async:!1,global:!1,converters:{"text script":function(){}},dataFilter:function(e){S.globalEval(e,t,n)}})},S.fn.extend({wrapAll:function(e){var t;return this[0]&&(m(e)&&(e=e.call(this[0])),t=S(e,this[0].ownerDocument).eq(0).clone(!0),this[0].parentNode&&t.insertBefore(this[0]),t.map(function(){var e=this;while(e.firstElementChild)e=e.firstElementChild;return e}).append(this)),this},wrapInner:function(n){return m(n)?this.each(function(e){S(this).wrapInner(n.call(this,e))}):this.each(function(){var e=S(this),t=e.contents();t.length?t.wrapAll(n):e.append(n)})},wrap:function(t){var n=m(t);return this.each(function(e){S(this).wrapAll(n?t.call(this,e):t)})},unwrap:function(e){return this.parent(e).not("body").each(function(){S(this).replaceWith(this.childNodes)}),this}}),S.expr.pseudos.hidden=function(e){return!S.expr.pseudos.visible(e)},S.expr.pseudos.visible=function(e){return!!(e.offsetWidth||e.offsetHeight||e.getClientRects().length)},S.ajaxSettings.xhr=function(){try{return new C.XMLHttpRequest}catch(e){}};var Bt={0:200,1223:204},$t=S.ajaxSettings.xhr();y.cors=!!$t&&"withCredentials"in $t,y.ajax=$t=!!$t,S.ajaxTransport(function(i){var o,a;if(y.cors||$t&&!i.crossDomain)return{send:function(e,t){var n,r=i.xhr();if(r.open(i.type,i.url,i.async,i.username,i.password),i.xhrFields)for(n in i.xhrFields)r[n]=i.xhrFields[n];for(n in i.mimeType&&r.overrideMimeType&&r.overrideMimeType(i.mimeType),i.crossDomain||e["X-Requested-With"]||(e["X-Requested-With"]="XMLHttpRequest"),e)r.setRequestHeader(n,e[n]);o=function(e){return function(){o&&(o=a=r.onload=r.onerror=r.onabort=r.ontimeout=r.onreadystatechange=null,"abort"===e?r.abort():"error"===e?"number"!=typeof r.status?t(0,"error"):t(r.status,r.statusText):t(Bt[r.status]||r.status,r.statusText,"text"!==(r.responseType||"text")||"string"!=typeof r.responseText?{binary:r.response}:{text:r.responseText},r.getAllResponseHeaders()))}},r.onload=o(),a=r.onerror=r.ontimeout=o("error"),void 0!==r.onabort?r.onabort=a:r.onreadystatechange=function(){4===r.readyState&&C.setTimeout(function(){o&&a()})},o=o("abort");try{r.send(i.hasContent&&i.data||null)}catch(e){if(o)throw e}},abort:function(){o&&o()}}}),S.ajaxPrefilter(function(e){e.crossDomain&&(e.contents.script=!1)}),S.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/\b(?:java|ecma)script\b/},converters:{"text script":function(e){return S.globalEval(e),e}}}),S.ajaxPrefilter("script",function(e){void 0===e.cache&&(e.cache=!1),e.crossDomain&&(e.type="GET")}),S.ajaxTransport("script",function(n){var r,i;if(n.crossDomain||n.scriptAttrs)return{send:function(e,t){r=S("<script>").attr(n.scriptAttrs||{}).prop({charset:n.scriptCharset,src:n.url}).on("load error",i=function(e){r.remove(),i=null,e&&t("error"===e.type?404:200,e.type)}),E.head.appendChild(r[0])},abort:function(){i&&i()}}});var _t,zt=[],Ut=/(=)\?(?=&|$)|\?\?/;S.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var e=zt.pop()||S.expando+"_"+wt.guid++;return this[e]=!0,e}}),S.ajaxPrefilter("json jsonp",function(e,t,n){var r,i,o,a=!1!==e.jsonp&&(Ut.test(e.url)?"url":"string"==typeof e.data&&0===(e.contentType||"").indexOf("application/x-www-form-urlencoded")&&Ut.test(e.data)&&"data");if(a||"jsonp"===e.dataTypes[0])return r=e.jsonpCallback=m(e.jsonpCallback)?e.jsonpCallback():e.jsonpCallback,a?e[a]=e[a].replace(Ut,"$1"+r):!1!==e.jsonp&&(e.url+=(Tt.test(e.url)?"&":"?")+e.jsonp+"="+r),e.converters["script json"]=function(){return o||S.error(r+" was not called"),o[0]},e.dataTypes[0]="json",i=C[r],C[r]=function(){o=arguments},n.always(function(){void 0===i?S(C).removeProp(r):C[r]=i,e[r]&&(e.jsonpCallback=t.jsonpCallback,zt.push(r)),o&&m(i)&&i(o[0]),o=i=void 0}),"script"}),y.createHTMLDocument=((_t=E.implementation.createHTMLDocument("").body).innerHTML="<form></form><form></form>",2===_t.childNodes.length),S.parseHTML=function(e,t,n){return"string"!=typeof e?[]:("boolean"==typeof t&&(n=t,t=!1),t||(y.createHTMLDocument?((r=(t=E.implementation.createHTMLDocument("")).createElement("base")).href=E.location.href,t.head.appendChild(r)):t=E),o=!n&&[],(i=N.exec(e))?[t.createElement(i[1])]:(i=xe([e],t,o),o&&o.length&&S(o).remove(),S.merge([],i.childNodes)));var r,i,o},S.fn.load=function(e,t,n){var r,i,o,a=this,s=e.indexOf(" ");return-1<s&&(r=ht(e.slice(s)),e=e.slice(0,s)),m(t)?(n=t,t=void 0):t&&"object"==typeof t&&(i="POST"),0<a.length&&S.ajax({url:e,type:i||"GET",dataType:"html",data:t}).done(function(e){o=arguments,a.html(r?S("<div>").append(S.parseHTML(e)).find(r):e)}).always(n&&function(e,t){a.each(function(){n.apply(this,o||[e.responseText,t,e])})}),this},S.expr.pseudos.animated=function(t){return S.grep(S.timers,function(e){return t===e.elem}).length},S.offset={setOffset:function(e,t,n){var r,i,o,a,s,u,l=S.css(e,"position"),c=S(e),f={};"static"===l&&(e.style.position="relative"),s=c.offset(),o=S.css(e,"top"),u=S.css(e,"left"),("absolute"===l||"fixed"===l)&&-1<(o+u).indexOf("auto")?(a=(r=c.position()).top,i=r.left):(a=parseFloat(o)||0,i=parseFloat(u)||0),m(t)&&(t=t.call(e,n,S.extend({},s))),null!=t.top&&(f.top=t.top-s.top+a),null!=t.left&&(f.left=t.left-s.left+i),"using"in t?t.using.call(e,f):c.css(f)}},S.fn.extend({offset:function(t){if(arguments.length)return void 0===t?this:this.each(function(e){S.offset.setOffset(this,t,e)});var e,n,r=this[0];return r?r.getClientRects().length?(e=r.getBoundingClientRect(),n=r.ownerDocument.defaultView,{top:e.top+n.pageYOffset,left:e.left+n.pageXOffset}):{top:0,left:0}:void 0},position:function(){if(this[0]){var e,t,n,r=this[0],i={top:0,left:0};if("fixed"===S.css(r,"position"))t=r.getBoundingClientRect();else{t=this.offset(),n=r.ownerDocument,e=r.offsetParent||n.documentElement;while(e&&(e===n.body||e===n.documentElement)&&"static"===S.css(e,"position"))e=e.parentNode;e&&e!==r&&1===e.nodeType&&((i=S(e).offset()).top+=S.css(e,"borderTopWidth",!0),i.left+=S.css(e,"borderLeftWidth",!0))}return{top:t.top-i.top-S.css(r,"marginTop",!0),left:t.left-i.left-S.css(r,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){var e=this.offsetParent;while(e&&"static"===S.css(e,"position"))e=e.offsetParent;return e||re})}}),S.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(t,i){var o="pageYOffset"===i;S.fn[t]=function(e){return $(this,function(e,t,n){var r;if(x(e)?r=e:9===e.nodeType&&(r=e.defaultView),void 0===n)return r?r[i]:e[t];r?r.scrollTo(o?r.pageXOffset:n,o?n:r.pageYOffset):e[t]=n},t,e,arguments.length)}}),S.each(["top","left"],function(e,n){S.cssHooks[n]=Fe(y.pixelPosition,function(e,t){if(t)return t=We(e,n),Pe.test(t)?S(e).position()[n]+"px":t})}),S.each({Height:"height",Width:"width"},function(a,s){S.each({padding:"inner"+a,content:s,"":"outer"+a},function(r,o){S.fn[o]=function(e,t){var n=arguments.length&&(r||"boolean"!=typeof e),i=r||(!0===e||!0===t?"margin":"border");return $(this,function(e,t,n){var r;return x(e)?0===o.indexOf("outer")?e["inner"+a]:e.document.documentElement["client"+a]:9===e.nodeType?(r=e.documentElement,Math.max(e.body["scroll"+a],r["scroll"+a],e.body["offset"+a],r["offset"+a],r["client"+a])):void 0===n?S.css(e,t,i):S.style(e,t,n,i)},s,n?e:void 0,n)}})}),S.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(e,t){S.fn[t]=function(e){return this.on(t,e)}}),S.fn.extend({bind:function(e,t,n){return this.on(e,null,t,n)},unbind:function(e,t){return this.off(e,null,t)},delegate:function(e,t,n,r){return this.on(t,e,n,r)},undelegate:function(e,t,n){return 1===arguments.length?this.off(e,"**"):this.off(t,e||"**",n)},hover:function(e,t){return this.mouseenter(e).mouseleave(t||e)}}),S.each("blur focus focusin focusout resize scroll click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup contextmenu".split(" "),function(e,n){S.fn[n]=function(e,t){return 0<arguments.length?this.on(n,null,e,t):this.trigger(n)}});var Xt=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g;S.proxy=function(e,t){var n,r,i;if("string"==typeof t&&(n=e[t],t=e,e=n),m(e))return r=s.call(arguments,2),(i=function(){return e.apply(t||this,r.concat(s.call(arguments)))}).guid=e.guid=e.guid||S.guid++,i},S.holdReady=function(e){e?S.readyWait++:S.ready(!0)},S.isArray=Array.isArray,S.parseJSON=JSON.parse,S.nodeName=A,S.isFunction=m,S.isWindow=x,S.camelCase=X,S.type=w,S.now=Date.now,S.isNumeric=function(e){var t=S.type(e);return("number"===t||"string"===t)&&!isNaN(e-parseFloat(e))},S.trim=function(e){return null==e?"":(e+"").replace(Xt,"")},"function"==typeof define&&define.amd&&define("jquery",[],function(){return S});var Vt=C.jQuery,Gt=C.$;return S.noConflict=function(e){return C.$===S&&(C.$=Gt),e&&C.jQuery===S&&(C.jQuery=Vt),S},"undefined"==typeof e&&(C.jQuery=C.$=S),S}); diff --git a/docs/site_libs/jquery-3.6.0/jquery-3.6.0.min.map b/docs/site_libs/jquery-3.6.0/jquery-3.6.0.min.map new file mode 100644 index 0000000..7d86eb1 --- /dev/null +++ b/docs/site_libs/jquery-3.6.0/jquery-3.6.0.min.map @@ -0,0 +1 @@ +{"version":3,"sources":["jquery-3.6.0.js"],"names":["global","factory","module","exports","document","w","Error","window","this","noGlobal","arr","getProto","Object","getPrototypeOf","slice","flat","array","call","concat","apply","push","indexOf","class2type","toString","hasOwn","hasOwnProperty","fnToString","ObjectFunctionString","support","isFunction","obj","nodeType","item","isWindow","preservedScriptAttributes","type","src","nonce","noModule","DOMEval","code","node","doc","i","val","script","createElement","text","getAttribute","setAttribute","head","appendChild","parentNode","removeChild","toType","version","jQuery","selector","context","fn","init","isArrayLike","length","prototype","jquery","constructor","toArray","get","num","pushStack","elems","ret","merge","prevObject","each","callback","map","elem","arguments","first","eq","last","even","grep","_elem","odd","len","j","end","sort","splice","extend","options","name","copy","copyIsArray","clone","target","deep","isPlainObject","Array","isArray","undefined","expando","Math","random","replace","isReady","error","msg","noop","proto","Ctor","isEmptyObject","globalEval","makeArray","results","inArray","second","invert","matches","callbackExpect","arg","value","guid","Symbol","iterator","split","_i","toLowerCase","Sizzle","Expr","getText","isXML","tokenize","compile","select","outermostContext","sortInput","hasDuplicate","setDocument","docElem","documentIsHTML","rbuggyQSA","rbuggyMatches","contains","Date","preferredDoc","dirruns","done","classCache","createCache","tokenCache","compilerCache","nonnativeSelectorCache","sortOrder","a","b","pop","pushNative","list","booleans","whitespace","identifier","attributes","pseudos","rwhitespace","RegExp","rtrim","rcomma","rcombinators","rdescend","rpseudo","ridentifier","matchExpr","ID","CLASS","TAG","ATTR","PSEUDO","CHILD","bool","needsContext","rhtml","rinputs","rheader","rnative","rquickExpr","rsibling","runescape","funescape","escape","nonHex","high","String","fromCharCode","rcssescape","fcssescape","ch","asCodePoint","charCodeAt","unloadHandler","inDisabledFieldset","addCombinator","disabled","nodeName","dir","next","childNodes","e","els","seed","m","nid","match","groups","newSelector","newContext","ownerDocument","exec","getElementById","id","getElementsByTagName","getElementsByClassName","qsa","test","testContext","scope","toSelector","join","querySelectorAll","qsaError","removeAttribute","keys","cache","key","cacheLength","shift","markFunction","assert","el","addHandle","attrs","handler","attrHandle","siblingCheck","cur","diff","sourceIndex","nextSibling","createInputPseudo","createButtonPseudo","createDisabledPseudo","isDisabled","createPositionalPseudo","argument","matchIndexes","namespace","namespaceURI","documentElement","hasCompare","subWindow","defaultView","top","addEventListener","attachEvent","className","createComment","getById","getElementsByName","filter","attrId","find","getAttributeNode","tag","tmp","input","innerHTML","matchesSelector","webkitMatchesSelector","mozMatchesSelector","oMatchesSelector","msMatchesSelector","disconnectedMatch","compareDocumentPosition","adown","bup","compare","sortDetached","aup","ap","bp","unshift","expr","elements","attr","specified","sel","uniqueSort","duplicates","detectDuplicates","sortStable","textContent","firstChild","nodeValue","selectors","createPseudo","relative",">"," ","+","~","preFilter","excess","unquoted","nodeNameSelector","pattern","operator","check","result","what","_argument","simple","forward","ofType","_context","xml","uniqueCache","outerCache","nodeIndex","start","parent","useCache","lastChild","uniqueID","pseudo","args","setFilters","idx","matched","not","matcher","unmatched","has","lang","elemLang","hash","location","root","focus","activeElement","hasFocus","href","tabIndex","enabled","checked","selected","selectedIndex","empty","header","button","_matchIndexes","lt","gt","radio","checkbox","file","password","image","submit","reset","tokens","combinator","base","skip","checkNonElements","doneName","oldCache","newCache","elementMatcher","matchers","condense","newUnmatched","mapped","setMatcher","postFilter","postFinder","postSelector","temp","preMap","postMap","preexisting","contexts","multipleContexts","matcherIn","matcherOut","matcherFromTokens","checkContext","leadingRelative","implicitRelative","matchContext","matchAnyContext","filters","parseOnly","soFar","preFilters","cached","elementMatchers","setMatchers","bySet","byElement","superMatcher","outermost","matchedCount","setMatched","contextBackup","dirrunsUnique","token","compiled","_name","defaultValue","unique","isXMLDoc","escapeSelector","until","truncate","is","siblings","n","rneedsContext","rsingleTag","winnow","qualifier","self","rootjQuery","parseHTML","ready","rparentsprev","guaranteedUnique","children","contents","prev","sibling","targets","l","closest","index","prevAll","add","addBack","parents","parentsUntil","nextAll","nextUntil","prevUntil","contentDocument","content","reverse","rnothtmlwhite","Identity","v","Thrower","ex","adoptValue","resolve","reject","noValue","method","promise","fail","then","Callbacks","object","_","flag","firing","memory","fired","locked","queue","firingIndex","fire","once","stopOnFalse","remove","disable","lock","fireWith","Deferred","func","tuples","state","always","deferred","catch","pipe","fns","newDefer","tuple","returned","progress","notify","onFulfilled","onRejected","onProgress","maxDepth","depth","special","that","mightThrow","TypeError","notifyWith","resolveWith","process","exceptionHook","stackTrace","rejectWith","getStackHook","setTimeout","stateString","when","singleValue","remaining","resolveContexts","resolveValues","primary","updateFunc","rerrorNames","stack","console","warn","message","readyException","readyList","completed","removeEventListener","readyWait","wait","readyState","doScroll","access","chainable","emptyGet","raw","bulk","_key","rmsPrefix","rdashAlpha","fcamelCase","_all","letter","toUpperCase","camelCase","string","acceptData","owner","Data","uid","defineProperty","configurable","set","data","prop","hasData","dataPriv","dataUser","rbrace","rmultiDash","dataAttr","JSON","parse","removeData","_data","_removeData","dequeue","startLength","hooks","_queueHooks","stop","setter","clearQueue","count","defer","pnum","source","rcssNum","cssExpand","isAttached","composed","getRootNode","isHiddenWithinTree","style","display","css","adjustCSS","valueParts","tween","adjusted","scale","maxIterations","currentValue","initial","unit","cssNumber","initialInUnit","defaultDisplayMap","showHide","show","values","body","hide","toggle","div","rcheckableType","rtagName","rscriptType","createDocumentFragment","checkClone","cloneNode","noCloneChecked","option","wrapMap","thead","col","tr","td","_default","getAll","setGlobalEval","refElements","tbody","tfoot","colgroup","caption","th","optgroup","buildFragment","scripts","selection","ignored","wrap","attached","fragment","nodes","htmlPrefilter","createTextNode","rtypenamespace","returnTrue","returnFalse","expectSync","err","safeActiveElement","on","types","one","origFn","event","off","leverageNative","notAsync","saved","isTrigger","delegateType","stopPropagation","stopImmediatePropagation","preventDefault","trigger","Event","handleObjIn","eventHandle","events","t","handleObj","handlers","namespaces","origType","elemData","create","handle","triggered","dispatch","bindType","delegateCount","setup","mappedTypes","origCount","teardown","removeEvent","nativeEvent","handlerQueue","fix","delegateTarget","preDispatch","isPropagationStopped","currentTarget","isImmediatePropagationStopped","rnamespace","postDispatch","matchedHandlers","matchedSelectors","addProp","hook","enumerable","originalEvent","writable","load","noBubble","click","beforeunload","returnValue","props","isDefaultPrevented","defaultPrevented","relatedTarget","timeStamp","now","isSimulated","altKey","bubbles","cancelable","changedTouches","ctrlKey","detail","eventPhase","metaKey","pageX","pageY","shiftKey","view","char","charCode","keyCode","buttons","clientX","clientY","offsetX","offsetY","pointerId","pointerType","screenX","screenY","targetTouches","toElement","touches","which","blur","mouseenter","mouseleave","pointerenter","pointerleave","orig","related","rnoInnerhtml","rchecked","rcleanScript","manipulationTarget","disableScript","restoreScript","cloneCopyEvent","dest","udataOld","udataCur","domManip","collection","hasScripts","iNoClone","valueIsFunction","html","_evalUrl","keepData","cleanData","dataAndEvents","deepDataAndEvents","srcElements","destElements","inPage","detach","append","prepend","insertBefore","before","after","replaceWith","replaceChild","appendTo","prependTo","insertAfter","replaceAll","original","insert","rnumnonpx","getStyles","opener","getComputedStyle","swap","old","rboxStyle","curCSS","computed","width","minWidth","maxWidth","getPropertyValue","pixelBoxStyles","addGetHookIf","conditionFn","hookFn","computeStyleTests","container","cssText","divStyle","pixelPositionVal","reliableMarginLeftVal","roundPixelMeasures","marginLeft","right","pixelBoxStylesVal","boxSizingReliableVal","position","scrollboxSizeVal","offsetWidth","measure","round","parseFloat","reliableTrDimensionsVal","backgroundClip","clearCloneStyle","boxSizingReliable","pixelPosition","reliableMarginLeft","scrollboxSize","reliableTrDimensions","table","trChild","trStyle","height","parseInt","borderTopWidth","borderBottomWidth","offsetHeight","cssPrefixes","emptyStyle","vendorProps","finalPropName","final","cssProps","capName","vendorPropName","rdisplayswap","rcustomProp","cssShow","visibility","cssNormalTransform","letterSpacing","fontWeight","setPositiveNumber","subtract","max","boxModelAdjustment","dimension","box","isBorderBox","styles","computedVal","extra","delta","ceil","getWidthOrHeight","valueIsBorderBox","offsetProp","getClientRects","Tween","easing","cssHooks","opacity","animationIterationCount","columnCount","fillOpacity","flexGrow","flexShrink","gridArea","gridColumn","gridColumnEnd","gridColumnStart","gridRow","gridRowEnd","gridRowStart","lineHeight","order","orphans","widows","zIndex","zoom","origName","isCustomProp","setProperty","isFinite","getBoundingClientRect","scrollboxSizeBuggy","left","margin","padding","border","prefix","suffix","expand","expanded","parts","propHooks","run","percent","eased","duration","pos","step","fx","scrollTop","scrollLeft","linear","p","swing","cos","PI","fxNow","inProgress","opt","rfxtypes","rrun","schedule","hidden","requestAnimationFrame","interval","tick","createFxNow","genFx","includeWidth","createTween","animation","Animation","tweeners","properties","stopped","prefilters","currentTime","startTime","tweens","opts","specialEasing","originalProperties","originalOptions","gotoEnd","propFilter","bind","complete","timer","anim","*","tweener","oldfire","propTween","restoreDisplay","isBox","dataShow","unqueued","overflow","overflowX","overflowY","prefilter","speed","speeds","fadeTo","to","animate","optall","doAnimation","finish","stopQueue","timers","cssFn","slideDown","slideUp","slideToggle","fadeIn","fadeOut","fadeToggle","slow","fast","delay","time","timeout","clearTimeout","checkOn","optSelected","radioValue","boolHook","removeAttr","nType","attrHooks","attrNames","getter","lowercaseName","rfocusable","rclickable","stripAndCollapse","getClass","classesToArray","removeProp","propFix","tabindex","for","class","addClass","classes","curValue","clazz","finalValue","removeClass","toggleClass","stateVal","isValidValue","classNames","hasClass","rreturn","valHooks","optionSet","focusin","rfocusMorph","stopPropagationCallback","onlyHandlers","bubbleType","ontype","lastElement","eventPath","parentWindow","simulate","triggerHandler","attaches","rquery","parseXML","parserErrorElem","DOMParser","parseFromString","rbracket","rCRLF","rsubmitterTypes","rsubmittable","buildParams","traditional","param","s","valueOrFunction","encodeURIComponent","serialize","serializeArray","r20","rhash","rantiCache","rheaders","rnoContent","rprotocol","transports","allTypes","originAnchor","addToPrefiltersOrTransports","structure","dataTypeExpression","dataType","dataTypes","inspectPrefiltersOrTransports","jqXHR","inspected","seekingTransport","inspect","prefilterOrFactory","dataTypeOrTransport","ajaxExtend","flatOptions","ajaxSettings","active","lastModified","etag","url","isLocal","protocol","processData","async","contentType","accepts","json","responseFields","converters","* text","text html","text json","text xml","ajaxSetup","settings","ajaxPrefilter","ajaxTransport","ajax","transport","cacheURL","responseHeadersString","responseHeaders","timeoutTimer","urlAnchor","fireGlobals","uncached","callbackContext","globalEventContext","completeDeferred","statusCode","requestHeaders","requestHeadersNames","strAbort","getResponseHeader","getAllResponseHeaders","setRequestHeader","overrideMimeType","mimeType","status","abort","statusText","finalText","crossDomain","host","hasContent","ifModified","headers","beforeSend","success","send","nativeStatusText","responses","isSuccess","response","modified","ct","finalDataType","firstDataType","ajaxHandleResponses","conv2","current","conv","dataFilter","throws","ajaxConvert","getJSON","getScript","text script","wrapAll","firstElementChild","wrapInner","htmlIsFunction","unwrap","visible","xhr","XMLHttpRequest","xhrSuccessStatus","0","1223","xhrSupported","cors","errorCallback","open","username","xhrFields","onload","onerror","onabort","ontimeout","onreadystatechange","responseType","responseText","binary","scriptAttrs","charset","scriptCharset","evt","oldCallbacks","rjsonp","jsonp","jsonpCallback","originalSettings","callbackName","overwritten","responseContainer","jsonProp","createHTMLDocument","implementation","keepScripts","parsed","params","animated","offset","setOffset","curPosition","curLeft","curCSSTop","curTop","curOffset","curCSSLeft","curElem","using","rect","win","pageYOffset","pageXOffset","offsetParent","parentOffset","scrollTo","Height","Width","","defaultExtra","funcName","unbind","delegate","undelegate","hover","fnOver","fnOut","proxy","holdReady","hold","parseJSON","isNumeric","isNaN","trim","define","amd","_jQuery","_$","$","noConflict"],"mappings":";CAaA,SAAYA,EAAQC,GAEnB,aAEuB,iBAAXC,QAAiD,iBAAnBA,OAAOC,QAShDD,OAAOC,QAAUH,EAAOI,SACvBH,EAASD,GAAQ,GACjB,SAAUK,GACT,IAAMA,EAAED,SACP,MAAM,IAAIE,MAAO,4CAElB,OAAOL,EAASI,IAGlBJ,EAASD,GAtBX,CA0BuB,oBAAXO,OAAyBA,OAASC,KAAM,SAAUD,EAAQE,GAMtE,aAEA,IAAIC,EAAM,GAENC,EAAWC,OAAOC,eAElBC,EAAQJ,EAAII,MAEZC,EAAOL,EAAIK,KAAO,SAAUC,GAC/B,OAAON,EAAIK,KAAKE,KAAMD,IACnB,SAAUA,GACb,OAAON,EAAIQ,OAAOC,MAAO,GAAIH,IAI1BI,EAAOV,EAAIU,KAEXC,EAAUX,EAAIW,QAEdC,EAAa,GAEbC,EAAWD,EAAWC,SAEtBC,EAASF,EAAWG,eAEpBC,EAAaF,EAAOD,SAEpBI,EAAuBD,EAAWT,KAAML,QAExCgB,EAAU,GAEVC,EAAa,SAAqBC,GASpC,MAAsB,mBAARA,GAA8C,iBAAjBA,EAAIC,UAC1B,mBAAbD,EAAIE,MAIVC,EAAW,SAAmBH,GAChC,OAAc,MAAPA,GAAeA,IAAQA,EAAIvB,QAIhCH,EAAWG,EAAOH,SAIjB8B,EAA4B,CAC/BC,MAAM,EACNC,KAAK,EACLC,OAAO,EACPC,UAAU,GAGX,SAASC,EAASC,EAAMC,EAAMC,GAG7B,IAAIC,EAAGC,EACNC,GAHDH,EAAMA,GAAOtC,GAGC0C,cAAe,UAG7B,GADAD,EAAOE,KAAOP,EACTC,EACJ,IAAME,KAAKT,GAYVU,EAAMH,EAAME,IAAOF,EAAKO,cAAgBP,EAAKO,aAAcL,KAE1DE,EAAOI,aAAcN,EAAGC,GAI3BF,EAAIQ,KAAKC,YAAaN,GAASO,WAAWC,YAAaR,GAIzD,SAASS,EAAQxB,GAChB,OAAY,MAAPA,EACGA,EAAM,GAIQ,iBAARA,GAAmC,mBAARA,EACxCR,EAAYC,EAASN,KAAMa,KAAW,gBAC/BA,EAQT,IACCyB,EAAU,QAGVC,EAAS,SAAUC,EAAUC,GAI5B,OAAO,IAAIF,EAAOG,GAAGC,KAAMH,EAAUC,IA0VvC,SAASG,EAAa/B,GAMrB,IAAIgC,IAAWhC,GAAO,WAAYA,GAAOA,EAAIgC,OAC5C3B,EAAOmB,EAAQxB,GAEhB,OAAKD,EAAYC,KAASG,EAAUH,KAIpB,UAATK,GAA+B,IAAX2B,GACR,iBAAXA,GAAgC,EAATA,GAAgBA,EAAS,KAAOhC,GArWhE0B,EAAOG,GAAKH,EAAOO,UAAY,CAG9BC,OAAQT,EAERU,YAAaT,EAGbM,OAAQ,EAERI,QAAS,WACR,OAAOpD,EAAMG,KAAMT,OAKpB2D,IAAK,SAAUC,GAGd,OAAY,MAAPA,EACGtD,EAAMG,KAAMT,MAIb4D,EAAM,EAAI5D,KAAM4D,EAAM5D,KAAKsD,QAAWtD,KAAM4D,IAKpDC,UAAW,SAAUC,GAGpB,IAAIC,EAAMf,EAAOgB,MAAOhE,KAAKyD,cAAeK,GAM5C,OAHAC,EAAIE,WAAajE,KAGV+D,GAIRG,KAAM,SAAUC,GACf,OAAOnB,EAAOkB,KAAMlE,KAAMmE,IAG3BC,IAAK,SAAUD,GACd,OAAOnE,KAAK6D,UAAWb,EAAOoB,IAAKpE,KAAM,SAAUqE,EAAMlC,GACxD,OAAOgC,EAAS1D,KAAM4D,EAAMlC,EAAGkC,OAIjC/D,MAAO,WACN,OAAON,KAAK6D,UAAWvD,EAAMK,MAAOX,KAAMsE,aAG3CC,MAAO,WACN,OAAOvE,KAAKwE,GAAI,IAGjBC,KAAM,WACL,OAAOzE,KAAKwE,IAAK,IAGlBE,KAAM,WACL,OAAO1E,KAAK6D,UAAWb,EAAO2B,KAAM3E,KAAM,SAAU4E,EAAOzC,GAC1D,OAASA,EAAI,GAAM,MAIrB0C,IAAK,WACJ,OAAO7E,KAAK6D,UAAWb,EAAO2B,KAAM3E,KAAM,SAAU4E,EAAOzC,GAC1D,OAAOA,EAAI,MAIbqC,GAAI,SAAUrC,GACb,IAAI2C,EAAM9E,KAAKsD,OACdyB,GAAK5C,GAAMA,EAAI,EAAI2C,EAAM,GAC1B,OAAO9E,KAAK6D,UAAgB,GAALkB,GAAUA,EAAID,EAAM,CAAE9E,KAAM+E,IAAQ,KAG5DC,IAAK,WACJ,OAAOhF,KAAKiE,YAAcjE,KAAKyD,eAKhC7C,KAAMA,EACNqE,KAAM/E,EAAI+E,KACVC,OAAQhF,EAAIgF,QAGblC,EAAOmC,OAASnC,EAAOG,GAAGgC,OAAS,WAClC,IAAIC,EAASC,EAAMzD,EAAK0D,EAAMC,EAAaC,EAC1CC,EAASnB,UAAW,IAAO,GAC3BnC,EAAI,EACJmB,EAASgB,UAAUhB,OACnBoC,GAAO,EAsBR,IAnBuB,kBAAXD,IACXC,EAAOD,EAGPA,EAASnB,UAAWnC,IAAO,GAC3BA,KAIsB,iBAAXsD,GAAwBpE,EAAYoE,KAC/CA,EAAS,IAILtD,IAAMmB,IACVmC,EAASzF,KACTmC,KAGOA,EAAImB,EAAQnB,IAGnB,GAAqC,OAA9BiD,EAAUd,UAAWnC,IAG3B,IAAMkD,KAAQD,EACbE,EAAOF,EAASC,GAIF,cAATA,GAAwBI,IAAWH,IAKnCI,GAAQJ,IAAUtC,EAAO2C,cAAeL,KAC1CC,EAAcK,MAAMC,QAASP,MAC/B1D,EAAM6D,EAAQJ,GAIbG,EADID,IAAgBK,MAAMC,QAASjE,GAC3B,GACI2D,GAAgBvC,EAAO2C,cAAe/D,GAG1CA,EAFA,GAIT2D,GAAc,EAGdE,EAAQJ,GAASrC,EAAOmC,OAAQO,EAAMF,EAAOF,SAGzBQ,IAATR,IACXG,EAAQJ,GAASC,IAOrB,OAAOG,GAGRzC,EAAOmC,OAAQ,CAGdY,QAAS,UAAahD,EAAUiD,KAAKC,UAAWC,QAAS,MAAO,IAGhEC,SAAS,EAETC,MAAO,SAAUC,GAChB,MAAM,IAAIvG,MAAOuG,IAGlBC,KAAM,aAENX,cAAe,SAAUrE,GACxB,IAAIiF,EAAOC,EAIX,SAAMlF,GAAgC,oBAAzBP,EAASN,KAAMa,QAI5BiF,EAAQpG,EAAUmB,KASK,mBADvBkF,EAAOxF,EAAOP,KAAM8F,EAAO,gBAAmBA,EAAM9C,cACfvC,EAAWT,KAAM+F,KAAWrF,IAGlEsF,cAAe,SAAUnF,GACxB,IAAI+D,EAEJ,IAAMA,KAAQ/D,EACb,OAAO,EAER,OAAO,GAKRoF,WAAY,SAAU1E,EAAMoD,EAASlD,GACpCH,EAASC,EAAM,CAAEH,MAAOuD,GAAWA,EAAQvD,OAASK,IAGrDgC,KAAM,SAAU5C,EAAK6C,GACpB,IAAIb,EAAQnB,EAAI,EAEhB,GAAKkB,EAAa/B,IAEjB,IADAgC,EAAShC,EAAIgC,OACLnB,EAAImB,EAAQnB,IACnB,IAAgD,IAA3CgC,EAAS1D,KAAMa,EAAKa,GAAKA,EAAGb,EAAKa,IACrC,WAIF,IAAMA,KAAKb,EACV,IAAgD,IAA3C6C,EAAS1D,KAAMa,EAAKa,GAAKA,EAAGb,EAAKa,IACrC,MAKH,OAAOb,GAIRqF,UAAW,SAAUzG,EAAK0G,GACzB,IAAI7C,EAAM6C,GAAW,GAarB,OAXY,MAAP1G,IACCmD,EAAajD,OAAQF,IACzB8C,EAAOgB,MAAOD,EACE,iBAAR7D,EACN,CAAEA,GAAQA,GAGZU,EAAKH,KAAMsD,EAAK7D,IAIX6D,GAGR8C,QAAS,SAAUxC,EAAMnE,EAAKiC,GAC7B,OAAc,MAAPjC,GAAe,EAAIW,EAAQJ,KAAMP,EAAKmE,EAAMlC,IAKpD6B,MAAO,SAAUO,EAAOuC,GAKvB,IAJA,IAAIhC,GAAOgC,EAAOxD,OACjByB,EAAI,EACJ5C,EAAIoC,EAAMjB,OAEHyB,EAAID,EAAKC,IAChBR,EAAOpC,KAAQ2E,EAAQ/B,GAKxB,OAFAR,EAAMjB,OAASnB,EAERoC,GAGRI,KAAM,SAAUb,EAAOK,EAAU4C,GAShC,IARA,IACCC,EAAU,GACV7E,EAAI,EACJmB,EAASQ,EAAMR,OACf2D,GAAkBF,EAIX5E,EAAImB,EAAQnB,KACAgC,EAAUL,EAAO3B,GAAKA,KAChB8E,GACxBD,EAAQpG,KAAMkD,EAAO3B,IAIvB,OAAO6E,GAIR5C,IAAK,SAAUN,EAAOK,EAAU+C,GAC/B,IAAI5D,EAAQ6D,EACXhF,EAAI,EACJ4B,EAAM,GAGP,GAAKV,EAAaS,GAEjB,IADAR,EAASQ,EAAMR,OACPnB,EAAImB,EAAQnB,IAGL,OAFdgF,EAAQhD,EAAUL,EAAO3B,GAAKA,EAAG+E,KAGhCnD,EAAInD,KAAMuG,QAMZ,IAAMhF,KAAK2B,EAGI,OAFdqD,EAAQhD,EAAUL,EAAO3B,GAAKA,EAAG+E,KAGhCnD,EAAInD,KAAMuG,GAMb,OAAO5G,EAAMwD,IAIdqD,KAAM,EAINhG,QAASA,IAGa,mBAAXiG,SACXrE,EAAOG,GAAIkE,OAAOC,UAAapH,EAAKmH,OAAOC,WAI5CtE,EAAOkB,KAAM,uEAAuEqD,MAAO,KAC1F,SAAUC,EAAInC,GACbvE,EAAY,WAAauE,EAAO,KAAQA,EAAKoC,gBAmB/C,IAAIC,EAWJ,SAAY3H,GACZ,IAAIoC,EACHf,EACAuG,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EAGAC,EACAxI,EACAyI,EACAC,EACAC,EACAC,EACAxB,EACAyB,EAGA1C,EAAU,SAAW,EAAI,IAAI2C,KAC7BC,EAAe5I,EAAOH,SACtBgJ,EAAU,EACVC,EAAO,EACPC,EAAaC,KACbC,EAAaD,KACbE,EAAgBF,KAChBG,EAAyBH,KACzBI,EAAY,SAAUC,EAAGC,GAIxB,OAHKD,IAAMC,IACVlB,GAAe,GAET,GAIRnH,EAAS,GAAOC,eAChBf,EAAM,GACNoJ,EAAMpJ,EAAIoJ,IACVC,EAAarJ,EAAIU,KACjBA,EAAOV,EAAIU,KACXN,EAAQJ,EAAII,MAIZO,EAAU,SAAU2I,EAAMnF,GAGzB,IAFA,IAAIlC,EAAI,EACP2C,EAAM0E,EAAKlG,OACJnB,EAAI2C,EAAK3C,IAChB,GAAKqH,EAAMrH,KAAQkC,EAClB,OAAOlC,EAGT,OAAQ,GAGTsH,EAAW,6HAMXC,EAAa,sBAGbC,EAAa,0BAA4BD,EACxC,0CAGDE,EAAa,MAAQF,EAAa,KAAOC,EAAa,OAASD,EAG9D,gBAAkBA,EAIlB,2DAA6DC,EAAa,OAC1ED,EAAa,OAEdG,EAAU,KAAOF,EAAa,wFAOAC,EAAa,eAO3CE,EAAc,IAAIC,OAAQL,EAAa,IAAK,KAC5CM,EAAQ,IAAID,OAAQ,IAAML,EAAa,8BACtCA,EAAa,KAAM,KAEpBO,EAAS,IAAIF,OAAQ,IAAML,EAAa,KAAOA,EAAa,KAC5DQ,EAAe,IAAIH,OAAQ,IAAML,EAAa,WAAaA,EAAa,IAAMA,EAC7E,KACDS,EAAW,IAAIJ,OAAQL,EAAa,MAEpCU,EAAU,IAAIL,OAAQF,GACtBQ,EAAc,IAAIN,OAAQ,IAAMJ,EAAa,KAE7CW,EAAY,CACXC,GAAM,IAAIR,OAAQ,MAAQJ,EAAa,KACvCa,MAAS,IAAIT,OAAQ,QAAUJ,EAAa,KAC5Cc,IAAO,IAAIV,OAAQ,KAAOJ,EAAa,SACvCe,KAAQ,IAAIX,OAAQ,IAAMH,GAC1Be,OAAU,IAAIZ,OAAQ,IAAMF,GAC5Be,MAAS,IAAIb,OAAQ,yDACpBL,EAAa,+BAAiCA,EAAa,cAC3DA,EAAa,aAAeA,EAAa,SAAU,KACpDmB,KAAQ,IAAId,OAAQ,OAASN,EAAW,KAAM,KAI9CqB,aAAgB,IAAIf,OAAQ,IAAML,EACjC,mDAAqDA,EACrD,mBAAqBA,EAAa,mBAAoB,MAGxDqB,EAAQ,SACRC,EAAU,sCACVC,EAAU,SAEVC,EAAU,yBAGVC,EAAa,mCAEbC,GAAW,OAIXC,GAAY,IAAItB,OAAQ,uBAAyBL,EAAa,uBAAwB,KACtF4B,GAAY,SAAUC,EAAQC,GAC7B,IAAIC,EAAO,KAAOF,EAAOjL,MAAO,GAAM,MAEtC,OAAOkL,IASNC,EAAO,EACNC,OAAOC,aAAcF,EAAO,OAC5BC,OAAOC,aAAcF,GAAQ,GAAK,MAAe,KAAPA,EAAe,SAK5DG,GAAa,sDACbC,GAAa,SAAUC,EAAIC,GAC1B,OAAKA,EAGQ,OAAPD,EACG,SAIDA,EAAGxL,MAAO,GAAI,GAAM,KAC1BwL,EAAGE,WAAYF,EAAGxI,OAAS,GAAIvC,SAAU,IAAO,IAI3C,KAAO+K,GAOfG,GAAgB,WACf7D,KAGD8D,GAAqBC,GACpB,SAAU9H,GACT,OAAyB,IAAlBA,EAAK+H,UAAqD,aAAhC/H,EAAKgI,SAAS5E,eAEhD,CAAE6E,IAAK,aAAcC,KAAM,WAI7B,IACC3L,EAAKD,MACFT,EAAMI,EAAMG,KAAMkI,EAAa6D,YACjC7D,EAAa6D,YAMdtM,EAAKyI,EAAa6D,WAAWlJ,QAAS/B,SACrC,MAAQkL,GACT7L,EAAO,CAAED,MAAOT,EAAIoD,OAGnB,SAAUmC,EAAQiH,GACjBnD,EAAW5I,MAAO8E,EAAQnF,EAAMG,KAAMiM,KAKvC,SAAUjH,EAAQiH,GACjB,IAAI3H,EAAIU,EAAOnC,OACdnB,EAAI,EAGL,MAAUsD,EAAQV,KAAQ2H,EAAKvK,MAC/BsD,EAAOnC,OAASyB,EAAI,IAKvB,SAAS2C,GAAQzE,EAAUC,EAAS0D,EAAS+F,GAC5C,IAAIC,EAAGzK,EAAGkC,EAAMwI,EAAKC,EAAOC,EAAQC,EACnCC,EAAa/J,GAAWA,EAAQgK,cAGhC3L,EAAW2B,EAAUA,EAAQ3B,SAAW,EAKzC,GAHAqF,EAAUA,GAAW,GAGI,iBAAb3D,IAA0BA,GACxB,IAAb1B,GAA+B,IAAbA,GAA+B,KAAbA,EAEpC,OAAOqF,EAIR,IAAM+F,IACLvE,EAAalF,GACbA,EAAUA,GAAWtD,EAEhB0I,GAAiB,CAIrB,GAAkB,KAAb/G,IAAqBuL,EAAQ3B,EAAWgC,KAAMlK,IAGlD,GAAO2J,EAAIE,EAAO,IAGjB,GAAkB,IAAbvL,EAAiB,CACrB,KAAO8C,EAAOnB,EAAQkK,eAAgBR,IAUrC,OAAOhG,EALP,GAAKvC,EAAKgJ,KAAOT,EAEhB,OADAhG,EAAQhG,KAAMyD,GACPuC,OAYT,GAAKqG,IAAgB5I,EAAO4I,EAAWG,eAAgBR,KACtDnE,EAAUvF,EAASmB,IACnBA,EAAKgJ,KAAOT,EAGZ,OADAhG,EAAQhG,KAAMyD,GACPuC,MAKH,CAAA,GAAKkG,EAAO,GAElB,OADAlM,EAAKD,MAAOiG,EAAS1D,EAAQoK,qBAAsBrK,IAC5C2D,EAGD,IAAOgG,EAAIE,EAAO,KAAS1L,EAAQmM,wBACzCrK,EAAQqK,uBAGR,OADA3M,EAAKD,MAAOiG,EAAS1D,EAAQqK,uBAAwBX,IAC9ChG,EAKT,GAAKxF,EAAQoM,MACXtE,EAAwBjG,EAAW,QACjCsF,IAAcA,EAAUkF,KAAMxK,MAIlB,IAAb1B,GAAqD,WAAnC2B,EAAQmJ,SAAS5E,eAA+B,CAYpE,GAVAuF,EAAc/J,EACdgK,EAAa/J,EASK,IAAb3B,IACF4I,EAASsD,KAAMxK,IAAciH,EAAauD,KAAMxK,IAAe,EAGjEgK,EAAa7B,GAASqC,KAAMxK,IAAcyK,GAAaxK,EAAQN,aAC9DM,KAImBA,GAAY9B,EAAQuM,SAGhCd,EAAM3J,EAAQV,aAAc,OAClCqK,EAAMA,EAAI3G,QAAS0F,GAAYC,IAE/B3I,EAAQT,aAAc,KAAQoK,EAAM9G,IAMtC5D,GADA4K,EAASjF,EAAU7E,IACRK,OACX,MAAQnB,IACP4K,EAAQ5K,IAAQ0K,EAAM,IAAMA,EAAM,UAAa,IAC9Ce,GAAYb,EAAQ5K,IAEtB6K,EAAcD,EAAOc,KAAM,KAG5B,IAIC,OAHAjN,EAAKD,MAAOiG,EACXqG,EAAWa,iBAAkBd,IAEvBpG,EACN,MAAQmH,GACT7E,EAAwBjG,GAAU,GACjC,QACI4J,IAAQ9G,GACZ7C,EAAQ8K,gBAAiB,QAQ9B,OAAOhG,EAAQ/E,EAASiD,QAAS8D,EAAO,MAAQ9G,EAAS0D,EAAS+F,GASnE,SAAS5D,KACR,IAAIkF,EAAO,GAYX,OAVA,SAASC,EAAOC,EAAKhH,GAQpB,OALK8G,EAAKrN,KAAMuN,EAAM,KAAQxG,EAAKyG,oBAG3BF,EAAOD,EAAKI,SAEXH,EAAOC,EAAM,KAAQhH,GAShC,SAASmH,GAAcnL,GAEtB,OADAA,EAAI4C,IAAY,EACT5C,EAOR,SAASoL,GAAQpL,GAChB,IAAIqL,EAAK5O,EAAS0C,cAAe,YAEjC,IACC,QAASa,EAAIqL,GACZ,MAAQ/B,GACT,OAAO,EACN,QAGI+B,EAAG5L,YACP4L,EAAG5L,WAAWC,YAAa2L,GAI5BA,EAAK,MASP,SAASC,GAAWC,EAAOC,GAC1B,IAAIzO,EAAMwO,EAAMnH,MAAO,KACtBpF,EAAIjC,EAAIoD,OAET,MAAQnB,IACPwF,EAAKiH,WAAY1O,EAAKiC,IAAQwM,EAUhC,SAASE,GAAczF,EAAGC,GACzB,IAAIyF,EAAMzF,GAAKD,EACd2F,EAAOD,GAAsB,IAAf1F,EAAE7H,UAAiC,IAAf8H,EAAE9H,UACnC6H,EAAE4F,YAAc3F,EAAE2F,YAGpB,GAAKD,EACJ,OAAOA,EAIR,GAAKD,EACJ,MAAUA,EAAMA,EAAIG,YACnB,GAAKH,IAAQzF,EACZ,OAAQ,EAKX,OAAOD,EAAI,GAAK,EAOjB,SAAS8F,GAAmBvN,GAC3B,OAAO,SAAU0C,GAEhB,MAAgB,UADLA,EAAKgI,SAAS5E,eACEpD,EAAK1C,OAASA,GAQ3C,SAASwN,GAAoBxN,GAC5B,OAAO,SAAU0C,GAChB,IAAIgB,EAAOhB,EAAKgI,SAAS5E,cACzB,OAAkB,UAATpC,GAA6B,WAATA,IAAuBhB,EAAK1C,OAASA,GAQpE,SAASyN,GAAsBhD,GAG9B,OAAO,SAAU/H,GAKhB,MAAK,SAAUA,EASTA,EAAKzB,aAAgC,IAAlByB,EAAK+H,SAGvB,UAAW/H,EACV,UAAWA,EAAKzB,WACbyB,EAAKzB,WAAWwJ,WAAaA,EAE7B/H,EAAK+H,WAAaA,EAMpB/H,EAAKgL,aAAejD,GAI1B/H,EAAKgL,cAAgBjD,GACrBF,GAAoB7H,KAAW+H,EAG1B/H,EAAK+H,WAAaA,EAKd,UAAW/H,GACfA,EAAK+H,WAAaA,GAY5B,SAASkD,GAAwBnM,GAChC,OAAOmL,GAAc,SAAUiB,GAE9B,OADAA,GAAYA,EACLjB,GAAc,SAAU3B,EAAM3F,GACpC,IAAIjC,EACHyK,EAAerM,EAAI,GAAIwJ,EAAKrJ,OAAQiM,GACpCpN,EAAIqN,EAAalM,OAGlB,MAAQnB,IACFwK,EAAQ5H,EAAIyK,EAAcrN,MAC9BwK,EAAM5H,KAASiC,EAASjC,GAAM4H,EAAM5H,SAYzC,SAAS2I,GAAaxK,GACrB,OAAOA,GAAmD,oBAAjCA,EAAQoK,sBAAwCpK,EAkrC1E,IAAMf,KA9qCNf,EAAUsG,GAAOtG,QAAU,GAO3ByG,EAAQH,GAAOG,MAAQ,SAAUxD,GAChC,IAAIoL,EAAYpL,GAAQA,EAAKqL,aAC5BrH,EAAUhE,IAAUA,EAAK6I,eAAiB7I,GAAOsL,gBAKlD,OAAQ5E,EAAM0C,KAAMgC,GAAapH,GAAWA,EAAQgE,UAAY,SAQjEjE,EAAcV,GAAOU,YAAc,SAAUnG,GAC5C,IAAI2N,EAAYC,EACf3N,EAAMD,EAAOA,EAAKiL,eAAiBjL,EAAO0G,EAO3C,OAAKzG,GAAOtC,GAA6B,IAAjBsC,EAAIX,UAAmBW,EAAIyN,kBAMnDtH,GADAzI,EAAWsC,GACQyN,gBACnBrH,GAAkBT,EAAOjI,GAQpB+I,GAAgB/I,IAClBiQ,EAAYjQ,EAASkQ,cAAiBD,EAAUE,MAAQF,IAGrDA,EAAUG,iBACdH,EAAUG,iBAAkB,SAAU/D,IAAe,GAG1C4D,EAAUI,aACrBJ,EAAUI,YAAa,WAAYhE,KASrC7K,EAAQuM,MAAQY,GAAQ,SAAUC,GAEjC,OADAnG,EAAQ1F,YAAa6L,GAAK7L,YAAa/C,EAAS0C,cAAe,QACzB,oBAAxBkM,EAAGV,mBACfU,EAAGV,iBAAkB,uBAAwBxK,SAShDlC,EAAQwI,WAAa2E,GAAQ,SAAUC,GAEtC,OADAA,EAAG0B,UAAY,KACP1B,EAAGhM,aAAc,eAO1BpB,EAAQkM,qBAAuBiB,GAAQ,SAAUC,GAEhD,OADAA,EAAG7L,YAAa/C,EAASuQ,cAAe,MAChC3B,EAAGlB,qBAAsB,KAAMhK,SAIxClC,EAAQmM,uBAAyBrC,EAAQuC,KAAM7N,EAAS2N,wBAMxDnM,EAAQgP,QAAU7B,GAAQ,SAAUC,GAEnC,OADAnG,EAAQ1F,YAAa6L,GAAKnB,GAAKtH,GACvBnG,EAASyQ,oBAAsBzQ,EAASyQ,kBAAmBtK,GAAUzC,SAIzElC,EAAQgP,SACZzI,EAAK2I,OAAa,GAAI,SAAUjD,GAC/B,IAAIkD,EAASlD,EAAGnH,QAASmF,GAAWC,IACpC,OAAO,SAAUjH,GAChB,OAAOA,EAAK7B,aAAc,QAAW+N,IAGvC5I,EAAK6I,KAAW,GAAI,SAAUnD,EAAInK,GACjC,GAAuC,oBAA3BA,EAAQkK,gBAAkC9E,EAAiB,CACtE,IAAIjE,EAAOnB,EAAQkK,eAAgBC,GACnC,OAAOhJ,EAAO,CAAEA,GAAS,OAI3BsD,EAAK2I,OAAa,GAAK,SAAUjD,GAChC,IAAIkD,EAASlD,EAAGnH,QAASmF,GAAWC,IACpC,OAAO,SAAUjH,GAChB,IAAIpC,EAAwC,oBAA1BoC,EAAKoM,kBACtBpM,EAAKoM,iBAAkB,MACxB,OAAOxO,GAAQA,EAAKkF,QAAUoJ,IAMhC5I,EAAK6I,KAAW,GAAI,SAAUnD,EAAInK,GACjC,GAAuC,oBAA3BA,EAAQkK,gBAAkC9E,EAAiB,CACtE,IAAIrG,EAAME,EAAG2B,EACZO,EAAOnB,EAAQkK,eAAgBC,GAEhC,GAAKhJ,EAAO,CAIX,IADApC,EAAOoC,EAAKoM,iBAAkB,QACjBxO,EAAKkF,QAAUkG,EAC3B,MAAO,CAAEhJ,GAIVP,EAAQZ,EAAQmN,kBAAmBhD,GACnClL,EAAI,EACJ,MAAUkC,EAAOP,EAAO3B,KAEvB,IADAF,EAAOoC,EAAKoM,iBAAkB,QACjBxO,EAAKkF,QAAUkG,EAC3B,MAAO,CAAEhJ,GAKZ,MAAO,MAMVsD,EAAK6I,KAAY,IAAIpP,EAAQkM,qBAC5B,SAAUoD,EAAKxN,GACd,MAA6C,oBAAjCA,EAAQoK,qBACZpK,EAAQoK,qBAAsBoD,GAG1BtP,EAAQoM,IACZtK,EAAQ4K,iBAAkB4C,QAD3B,GAKR,SAAUA,EAAKxN,GACd,IAAImB,EACHsM,EAAM,GACNxO,EAAI,EAGJyE,EAAU1D,EAAQoK,qBAAsBoD,GAGzC,GAAa,MAARA,EAAc,CAClB,MAAUrM,EAAOuC,EAASzE,KACF,IAAlBkC,EAAK9C,UACToP,EAAI/P,KAAMyD,GAIZ,OAAOsM,EAER,OAAO/J,GAITe,EAAK6I,KAAc,MAAIpP,EAAQmM,wBAA0B,SAAU2C,EAAWhN,GAC7E,GAA+C,oBAAnCA,EAAQqK,wBAA0CjF,EAC7D,OAAOpF,EAAQqK,uBAAwB2C,IAUzC1H,EAAgB,GAOhBD,EAAY,IAELnH,EAAQoM,IAAMtC,EAAQuC,KAAM7N,EAASkO,qBAI3CS,GAAQ,SAAUC,GAEjB,IAAIoC,EAOJvI,EAAQ1F,YAAa6L,GAAKqC,UAAY,UAAY9K,EAAU,qBAC1CA,EAAU,kEAOvByI,EAAGV,iBAAkB,wBAAyBxK,QAClDiF,EAAU3H,KAAM,SAAW8I,EAAa,gBAKnC8E,EAAGV,iBAAkB,cAAexK,QACzCiF,EAAU3H,KAAM,MAAQ8I,EAAa,aAAeD,EAAW,KAI1D+E,EAAGV,iBAAkB,QAAU/H,EAAU,MAAOzC,QACrDiF,EAAU3H,KAAM,OAQjBgQ,EAAQhR,EAAS0C,cAAe,UAC1BG,aAAc,OAAQ,IAC5B+L,EAAG7L,YAAaiO,GACVpC,EAAGV,iBAAkB,aAAcxK,QACxCiF,EAAU3H,KAAM,MAAQ8I,EAAa,QAAUA,EAAa,KAC3DA,EAAa,gBAMT8E,EAAGV,iBAAkB,YAAaxK,QACvCiF,EAAU3H,KAAM,YAMX4N,EAAGV,iBAAkB,KAAO/H,EAAU,MAAOzC,QAClDiF,EAAU3H,KAAM,YAKjB4N,EAAGV,iBAAkB,QACrBvF,EAAU3H,KAAM,iBAGjB2N,GAAQ,SAAUC,GACjBA,EAAGqC,UAAY,oFAKf,IAAID,EAAQhR,EAAS0C,cAAe,SACpCsO,EAAMnO,aAAc,OAAQ,UAC5B+L,EAAG7L,YAAaiO,GAAQnO,aAAc,OAAQ,KAIzC+L,EAAGV,iBAAkB,YAAaxK,QACtCiF,EAAU3H,KAAM,OAAS8I,EAAa,eAKW,IAA7C8E,EAAGV,iBAAkB,YAAaxK,QACtCiF,EAAU3H,KAAM,WAAY,aAK7ByH,EAAQ1F,YAAa6L,GAAKpC,UAAW,EACc,IAA9CoC,EAAGV,iBAAkB,aAAcxK,QACvCiF,EAAU3H,KAAM,WAAY,aAK7B4N,EAAGV,iBAAkB,QACrBvF,EAAU3H,KAAM,YAIXQ,EAAQ0P,gBAAkB5F,EAAQuC,KAAQzG,EAAUqB,EAAQrB,SAClEqB,EAAQ0I,uBACR1I,EAAQ2I,oBACR3I,EAAQ4I,kBACR5I,EAAQ6I,qBAER3C,GAAQ,SAAUC,GAIjBpN,EAAQ+P,kBAAoBnK,EAAQvG,KAAM+N,EAAI,KAI9CxH,EAAQvG,KAAM+N,EAAI,aAClBhG,EAAc5H,KAAM,KAAMiJ,KAI5BtB,EAAYA,EAAUjF,QAAU,IAAIyG,OAAQxB,EAAUsF,KAAM,MAC5DrF,EAAgBA,EAAclF,QAAU,IAAIyG,OAAQvB,EAAcqF,KAAM,MAIxE+B,EAAa1E,EAAQuC,KAAMpF,EAAQ+I,yBAKnC3I,EAAWmH,GAAc1E,EAAQuC,KAAMpF,EAAQI,UAC9C,SAAUW,EAAGC,GACZ,IAAIgI,EAAuB,IAAfjI,EAAE7H,SAAiB6H,EAAEuG,gBAAkBvG,EAClDkI,EAAMjI,GAAKA,EAAEzG,WACd,OAAOwG,IAAMkI,MAAWA,GAAwB,IAAjBA,EAAI/P,YAClC8P,EAAM5I,SACL4I,EAAM5I,SAAU6I,GAChBlI,EAAEgI,yBAA8D,GAAnChI,EAAEgI,wBAAyBE,MAG3D,SAAUlI,EAAGC,GACZ,GAAKA,EACJ,MAAUA,EAAIA,EAAEzG,WACf,GAAKyG,IAAMD,EACV,OAAO,EAIV,OAAO,GAOTD,EAAYyG,EACZ,SAAUxG,EAAGC,GAGZ,GAAKD,IAAMC,EAEV,OADAlB,GAAe,EACR,EAIR,IAAIoJ,GAAWnI,EAAEgI,yBAA2B/H,EAAE+H,wBAC9C,OAAKG,IAgBU,GAPfA,GAAYnI,EAAE8D,eAAiB9D,KAASC,EAAE6D,eAAiB7D,GAC1DD,EAAEgI,wBAAyB/H,GAG3B,KAIGjI,EAAQoQ,cAAgBnI,EAAE+H,wBAAyBhI,KAAQmI,EAOzDnI,GAAKxJ,GAAYwJ,EAAE8D,eAAiBvE,GACxCF,EAAUE,EAAcS,IAChB,EAOJC,GAAKzJ,GAAYyJ,EAAE6D,eAAiBvE,GACxCF,EAAUE,EAAcU,GACjB,EAIDnB,EACJrH,EAASqH,EAAWkB,GAAMvI,EAASqH,EAAWmB,GAChD,EAGe,EAAVkI,GAAe,EAAI,IAE3B,SAAUnI,EAAGC,GAGZ,GAAKD,IAAMC,EAEV,OADAlB,GAAe,EACR,EAGR,IAAI2G,EACH3M,EAAI,EACJsP,EAAMrI,EAAExG,WACR0O,EAAMjI,EAAEzG,WACR8O,EAAK,CAAEtI,GACPuI,EAAK,CAAEtI,GAGR,IAAMoI,IAAQH,EAMb,OAAOlI,GAAKxJ,GAAY,EACvByJ,GAAKzJ,EAAW,EAEhB6R,GAAO,EACPH,EAAM,EACNpJ,EACErH,EAASqH,EAAWkB,GAAMvI,EAASqH,EAAWmB,GAChD,EAGK,GAAKoI,IAAQH,EACnB,OAAOzC,GAAczF,EAAGC,GAIzByF,EAAM1F,EACN,MAAU0F,EAAMA,EAAIlM,WACnB8O,EAAGE,QAAS9C,GAEbA,EAAMzF,EACN,MAAUyF,EAAMA,EAAIlM,WACnB+O,EAAGC,QAAS9C,GAIb,MAAQ4C,EAAIvP,KAAQwP,EAAIxP,GACvBA,IAGD,OAAOA,EAGN0M,GAAc6C,EAAIvP,GAAKwP,EAAIxP,IAO3BuP,EAAIvP,IAAOwG,GAAgB,EAC3BgJ,EAAIxP,IAAOwG,EAAe,EAE1B,IAGK/I,GAGR8H,GAAOV,QAAU,SAAU6K,EAAMC,GAChC,OAAOpK,GAAQmK,EAAM,KAAM,KAAMC,IAGlCpK,GAAOoJ,gBAAkB,SAAUzM,EAAMwN,GAGxC,GAFAzJ,EAAa/D,GAERjD,EAAQ0P,iBAAmBxI,IAC9BY,EAAwB2I,EAAO,QAC7BrJ,IAAkBA,EAAciF,KAAMoE,OACtCtJ,IAAkBA,EAAUkF,KAAMoE,IAErC,IACC,IAAI9N,EAAMiD,EAAQvG,KAAM4D,EAAMwN,GAG9B,GAAK9N,GAAO3C,EAAQ+P,mBAInB9M,EAAKzE,UAAuC,KAA3ByE,EAAKzE,SAAS2B,SAC/B,OAAOwC,EAEP,MAAQ0I,GACTvD,EAAwB2I,GAAM,GAIhC,OAAyD,EAAlDnK,GAAQmK,EAAMjS,EAAU,KAAM,CAAEyE,IAASf,QAGjDoE,GAAOe,SAAW,SAAUvF,EAASmB,GAUpC,OAHOnB,EAAQgK,eAAiBhK,IAAatD,GAC5CwI,EAAalF,GAEPuF,EAAUvF,EAASmB,IAG3BqD,GAAOqK,KAAO,SAAU1N,EAAMgB,IAOtBhB,EAAK6I,eAAiB7I,IAAUzE,GACtCwI,EAAa/D,GAGd,IAAIlB,EAAKwE,EAAKiH,WAAYvJ,EAAKoC,eAG9BrF,EAAMe,GAAMnC,EAAOP,KAAMkH,EAAKiH,WAAYvJ,EAAKoC,eAC9CtE,EAAIkB,EAAMgB,GAAOiD,QACjBxC,EAEF,YAAeA,IAAR1D,EACNA,EACAhB,EAAQwI,aAAetB,EACtBjE,EAAK7B,aAAc6C,IACjBjD,EAAMiC,EAAKoM,iBAAkBpL,KAAYjD,EAAI4P,UAC9C5P,EAAI+E,MACJ,MAGJO,GAAO6D,OAAS,SAAU0G,GACzB,OAASA,EAAM,IAAK/L,QAAS0F,GAAYC,KAG1CnE,GAAOtB,MAAQ,SAAUC,GACxB,MAAM,IAAIvG,MAAO,0CAA4CuG,IAO9DqB,GAAOwK,WAAa,SAAUtL,GAC7B,IAAIvC,EACH8N,EAAa,GACbpN,EAAI,EACJ5C,EAAI,EAOL,GAJAgG,GAAgB/G,EAAQgR,iBACxBlK,GAAa9G,EAAQiR,YAAczL,EAAQtG,MAAO,GAClDsG,EAAQ3B,KAAMkE,GAEThB,EAAe,CACnB,MAAU9D,EAAOuC,EAASzE,KACpBkC,IAASuC,EAASzE,KACtB4C,EAAIoN,EAAWvR,KAAMuB,IAGvB,MAAQ4C,IACP6B,EAAQ1B,OAAQiN,EAAYpN,GAAK,GAQnC,OAFAmD,EAAY,KAELtB,GAORgB,EAAUF,GAAOE,QAAU,SAAUvD,GACpC,IAAIpC,EACH8B,EAAM,GACN5B,EAAI,EACJZ,EAAW8C,EAAK9C,SAEjB,GAAMA,GAQC,GAAkB,IAAbA,GAA+B,IAAbA,GAA+B,KAAbA,EAAkB,CAIjE,GAAiC,iBAArB8C,EAAKiO,YAChB,OAAOjO,EAAKiO,YAIZ,IAAMjO,EAAOA,EAAKkO,WAAYlO,EAAMA,EAAOA,EAAK4K,YAC/ClL,GAAO6D,EAASvD,QAGZ,GAAkB,IAAb9C,GAA+B,IAAbA,EAC7B,OAAO8C,EAAKmO,eAnBZ,MAAUvQ,EAAOoC,EAAMlC,KAGtB4B,GAAO6D,EAAS3F,GAqBlB,OAAO8B,IAGR4D,EAAOD,GAAO+K,UAAY,CAGzBrE,YAAa,GAEbsE,aAAcpE,GAEdxB,MAAOxC,EAEPsE,WAAY,GAEZ4B,KAAM,GAENmC,SAAU,CACTC,IAAK,CAAEtG,IAAK,aAAc/H,OAAO,GACjCsO,IAAK,CAAEvG,IAAK,cACZwG,IAAK,CAAExG,IAAK,kBAAmB/H,OAAO,GACtCwO,IAAK,CAAEzG,IAAK,oBAGb0G,UAAW,CACVtI,KAAQ,SAAUoC,GAWjB,OAVAA,EAAO,GAAMA,EAAO,GAAI5G,QAASmF,GAAWC,IAG5CwB,EAAO,IAAQA,EAAO,IAAOA,EAAO,IACnCA,EAAO,IAAO,IAAK5G,QAASmF,GAAWC,IAEpB,OAAfwB,EAAO,KACXA,EAAO,GAAM,IAAMA,EAAO,GAAM,KAG1BA,EAAMxM,MAAO,EAAG,IAGxBsK,MAAS,SAAUkC,GAiClB,OArBAA,EAAO,GAAMA,EAAO,GAAIrF,cAEU,QAA7BqF,EAAO,GAAIxM,MAAO,EAAG,IAGnBwM,EAAO,IACZpF,GAAOtB,MAAO0G,EAAO,IAKtBA,EAAO,KAASA,EAAO,GACtBA,EAAO,IAAQA,EAAO,IAAO,GAC7B,GAAqB,SAAfA,EAAO,IAAiC,QAAfA,EAAO,KACvCA,EAAO,KAAWA,EAAO,GAAMA,EAAO,IAAwB,QAAfA,EAAO,KAG3CA,EAAO,IAClBpF,GAAOtB,MAAO0G,EAAO,IAGfA,GAGRnC,OAAU,SAAUmC,GACnB,IAAImG,EACHC,GAAYpG,EAAO,IAAOA,EAAO,GAElC,OAAKxC,EAAmB,MAAEmD,KAAMX,EAAO,IAC/B,MAIHA,EAAO,GACXA,EAAO,GAAMA,EAAO,IAAOA,EAAO,IAAO,GAG9BoG,GAAY9I,EAAQqD,KAAMyF,KAGnCD,EAASnL,EAAUoL,GAAU,MAG7BD,EAASC,EAASrS,QAAS,IAAKqS,EAAS5P,OAAS2P,GAAWC,EAAS5P,UAGxEwJ,EAAO,GAAMA,EAAO,GAAIxM,MAAO,EAAG2S,GAClCnG,EAAO,GAAMoG,EAAS5S,MAAO,EAAG2S,IAI1BnG,EAAMxM,MAAO,EAAG,MAIzBgQ,OAAQ,CAEP7F,IAAO,SAAU0I,GAChB,IAAI9G,EAAW8G,EAAiBjN,QAASmF,GAAWC,IAAY7D,cAChE,MAA4B,MAArB0L,EACN,WACC,OAAO,GAER,SAAU9O,GACT,OAAOA,EAAKgI,UAAYhI,EAAKgI,SAAS5E,gBAAkB4E,IAI3D7B,MAAS,SAAU0F,GAClB,IAAIkD,EAAUtK,EAAYoH,EAAY,KAEtC,OAAOkD,IACJA,EAAU,IAAIrJ,OAAQ,MAAQL,EAC/B,IAAMwG,EAAY,IAAMxG,EAAa,SAAaZ,EACjDoH,EAAW,SAAU7L,GACpB,OAAO+O,EAAQ3F,KACY,iBAAnBpJ,EAAK6L,WAA0B7L,EAAK6L,WACd,oBAAtB7L,EAAK7B,cACX6B,EAAK7B,aAAc,UACpB,OAKNkI,KAAQ,SAAUrF,EAAMgO,EAAUC,GACjC,OAAO,SAAUjP,GAChB,IAAIkP,EAAS7L,GAAOqK,KAAM1N,EAAMgB,GAEhC,OAAe,MAAVkO,EACgB,OAAbF,GAEFA,IAINE,GAAU,GAIU,MAAbF,EAAmBE,IAAWD,EACvB,OAAbD,EAAoBE,IAAWD,EAClB,OAAbD,EAAoBC,GAAqC,IAA5BC,EAAO1S,QAASyS,GAChC,OAAbD,EAAoBC,IAAoC,EAA3BC,EAAO1S,QAASyS,GAChC,OAAbD,EAAoBC,GAASC,EAAOjT,OAAQgT,EAAMhQ,UAAagQ,EAClD,OAAbD,GAA2F,GAArE,IAAME,EAAOrN,QAAS4D,EAAa,KAAQ,KAAMjJ,QAASyS,GACnE,OAAbD,IAAoBE,IAAWD,GAASC,EAAOjT,MAAO,EAAGgT,EAAMhQ,OAAS,KAAQgQ,EAAQ,QAO3F1I,MAAS,SAAUjJ,EAAM6R,EAAMC,EAAWlP,EAAOE,GAChD,IAAIiP,EAAgC,QAAvB/R,EAAKrB,MAAO,EAAG,GAC3BqT,EAA+B,SAArBhS,EAAKrB,OAAQ,GACvBsT,EAAkB,YAATJ,EAEV,OAAiB,IAAVjP,GAAwB,IAATE,EAGrB,SAAUJ,GACT,QAASA,EAAKzB,YAGf,SAAUyB,EAAMwP,EAAUC,GACzB,IAAI5F,EAAO6F,EAAaC,EAAY/R,EAAMgS,EAAWC,EACpD5H,EAAMoH,IAAWC,EAAU,cAAgB,kBAC3CQ,EAAS9P,EAAKzB,WACdyC,EAAOuO,GAAUvP,EAAKgI,SAAS5E,cAC/B2M,GAAYN,IAAQF,EACpB7E,GAAO,EAER,GAAKoF,EAAS,CAGb,GAAKT,EAAS,CACb,MAAQpH,EAAM,CACbrK,EAAOoC,EACP,MAAUpC,EAAOA,EAAMqK,GACtB,GAAKsH,EACJ3R,EAAKoK,SAAS5E,gBAAkBpC,EACd,IAAlBpD,EAAKV,SAEL,OAAO,EAKT2S,EAAQ5H,EAAe,SAAT3K,IAAoBuS,GAAS,cAE5C,OAAO,EAMR,GAHAA,EAAQ,CAAEP,EAAUQ,EAAO5B,WAAa4B,EAAOE,WAG1CV,GAAWS,EAAW,CAe1BrF,GADAkF,GADA/F,GAHA6F,GAJAC,GADA/R,EAAOkS,GACYpO,KAAe9D,EAAM8D,GAAY,KAI1B9D,EAAKqS,YAC5BN,EAAY/R,EAAKqS,UAAa,KAEZ3S,IAAU,IACZ,KAAQiH,GAAWsF,EAAO,KACzBA,EAAO,GAC3BjM,EAAOgS,GAAaE,EAAO3H,WAAYyH,GAEvC,MAAUhS,IAASgS,GAAahS,GAAQA,EAAMqK,KAG3CyC,EAAOkF,EAAY,IAAOC,EAAM5K,MAGlC,GAAuB,IAAlBrH,EAAKV,YAAoBwN,GAAQ9M,IAASoC,EAAO,CACrD0P,EAAapS,GAAS,CAAEiH,EAASqL,EAAWlF,GAC5C,YAyBF,GAlBKqF,IAaJrF,EADAkF,GADA/F,GAHA6F,GAJAC,GADA/R,EAAOoC,GACY0B,KAAe9D,EAAM8D,GAAY,KAI1B9D,EAAKqS,YAC5BN,EAAY/R,EAAKqS,UAAa,KAEZ3S,IAAU,IACZ,KAAQiH,GAAWsF,EAAO,KAMhC,IAATa,EAGJ,MAAU9M,IAASgS,GAAahS,GAAQA,EAAMqK,KAC3CyC,EAAOkF,EAAY,IAAOC,EAAM5K,MAElC,IAAOsK,EACN3R,EAAKoK,SAAS5E,gBAAkBpC,EACd,IAAlBpD,EAAKV,aACHwN,IAGGqF,KAMJL,GALAC,EAAa/R,EAAM8D,KAChB9D,EAAM8D,GAAY,KAIK9D,EAAKqS,YAC5BN,EAAY/R,EAAKqS,UAAa,KAEpB3S,GAAS,CAAEiH,EAASmG,IAG7B9M,IAASoC,GACb,MASL,OADA0K,GAAQtK,KACQF,GAAWwK,EAAOxK,GAAU,GAAqB,GAAhBwK,EAAOxK,KAK5DoG,OAAU,SAAU4J,EAAQhF,GAM3B,IAAIiF,EACHrR,EAAKwE,EAAKkC,QAAS0K,IAAY5M,EAAK8M,WAAYF,EAAO9M,gBACtDC,GAAOtB,MAAO,uBAAyBmO,GAKzC,OAAKpR,EAAI4C,GACD5C,EAAIoM,GAIK,EAAZpM,EAAGG,QACPkR,EAAO,CAAED,EAAQA,EAAQ,GAAIhF,GACtB5H,EAAK8M,WAAWxT,eAAgBsT,EAAO9M,eAC7C6G,GAAc,SAAU3B,EAAM3F,GAC7B,IAAI0N,EACHC,EAAUxR,EAAIwJ,EAAM4C,GACpBpN,EAAIwS,EAAQrR,OACb,MAAQnB,IAEPwK,EADA+H,EAAM7T,EAAS8L,EAAMgI,EAASxS,OACb6E,EAAS0N,GAAQC,EAASxS,MAG7C,SAAUkC,GACT,OAAOlB,EAAIkB,EAAM,EAAGmQ,KAIhBrR,IAIT0G,QAAS,CAGR+K,IAAOtG,GAAc,SAAUrL,GAK9B,IAAI2N,EAAQ,GACXhK,EAAU,GACViO,EAAU9M,EAAS9E,EAASiD,QAAS8D,EAAO,OAE7C,OAAO6K,EAAS9O,GACfuI,GAAc,SAAU3B,EAAM3F,EAAS6M,EAAUC,GAChD,IAAIzP,EACHyQ,EAAYD,EAASlI,EAAM,KAAMmH,EAAK,IACtC3R,EAAIwK,EAAKrJ,OAGV,MAAQnB,KACAkC,EAAOyQ,EAAW3S,MACxBwK,EAAMxK,KAAS6E,EAAS7E,GAAMkC,MAIjC,SAAUA,EAAMwP,EAAUC,GAMzB,OALAlD,EAAO,GAAMvM,EACbwQ,EAASjE,EAAO,KAAMkD,EAAKlN,GAG3BgK,EAAO,GAAM,MACLhK,EAAQ0C,SAInByL,IAAOzG,GAAc,SAAUrL,GAC9B,OAAO,SAAUoB,GAChB,OAAyC,EAAlCqD,GAAQzE,EAAUoB,GAAOf,UAIlCmF,SAAY6F,GAAc,SAAU/L,GAEnC,OADAA,EAAOA,EAAK2D,QAASmF,GAAWC,IACzB,SAAUjH,GAChB,OAAkE,GAAzDA,EAAKiO,aAAe1K,EAASvD,IAASxD,QAAS0B,MAW1DyS,KAAQ1G,GAAc,SAAU0G,GAO/B,OAJM3K,EAAYoD,KAAMuH,GAAQ,KAC/BtN,GAAOtB,MAAO,qBAAuB4O,GAEtCA,EAAOA,EAAK9O,QAASmF,GAAWC,IAAY7D,cACrC,SAAUpD,GAChB,IAAI4Q,EACJ,GACC,GAAOA,EAAW3M,EACjBjE,EAAK2Q,KACL3Q,EAAK7B,aAAc,aAAgB6B,EAAK7B,aAAc,QAGtD,OADAyS,EAAWA,EAASxN,iBACAuN,GAA2C,IAAnCC,EAASpU,QAASmU,EAAO,YAE3C3Q,EAAOA,EAAKzB,aAAkC,IAAlByB,EAAK9C,UAC7C,OAAO,KAKTkE,OAAU,SAAUpB,GACnB,IAAI6Q,EAAOnV,EAAOoV,UAAYpV,EAAOoV,SAASD,KAC9C,OAAOA,GAAQA,EAAK5U,MAAO,KAAQ+D,EAAKgJ,IAGzC+H,KAAQ,SAAU/Q,GACjB,OAAOA,IAASgE,GAGjBgN,MAAS,SAAUhR,GAClB,OAAOA,IAASzE,EAAS0V,iBACrB1V,EAAS2V,UAAY3V,EAAS2V,gBAC7BlR,EAAK1C,MAAQ0C,EAAKmR,OAASnR,EAAKoR,WAItCC,QAAWtG,IAAsB,GACjChD,SAAYgD,IAAsB,GAElCuG,QAAW,SAAUtR,GAIpB,IAAIgI,EAAWhI,EAAKgI,SAAS5E,cAC7B,MAAsB,UAAb4E,KAA0BhI,EAAKsR,SACxB,WAAbtJ,KAA2BhI,EAAKuR,UAGpCA,SAAY,SAAUvR,GASrB,OALKA,EAAKzB,YAETyB,EAAKzB,WAAWiT,eAGQ,IAAlBxR,EAAKuR,UAIbE,MAAS,SAAUzR,GAMlB,IAAMA,EAAOA,EAAKkO,WAAYlO,EAAMA,EAAOA,EAAK4K,YAC/C,GAAK5K,EAAK9C,SAAW,EACpB,OAAO,EAGT,OAAO,GAGR4S,OAAU,SAAU9P,GACnB,OAAQsD,EAAKkC,QAAiB,MAAGxF,IAIlC0R,OAAU,SAAU1R,GACnB,OAAO4G,EAAQwC,KAAMpJ,EAAKgI,WAG3BuE,MAAS,SAAUvM,GAClB,OAAO2G,EAAQyC,KAAMpJ,EAAKgI,WAG3B2J,OAAU,SAAU3R,GACnB,IAAIgB,EAAOhB,EAAKgI,SAAS5E,cACzB,MAAgB,UAATpC,GAAkC,WAAdhB,EAAK1C,MAA8B,WAAT0D,GAGtD9C,KAAQ,SAAU8B,GACjB,IAAI0N,EACJ,MAAuC,UAAhC1N,EAAKgI,SAAS5E,eACN,SAAdpD,EAAK1C,OAIuC,OAAxCoQ,EAAO1N,EAAK7B,aAAc,UACN,SAAvBuP,EAAKtK,gBAIRlD,MAAS+K,GAAwB,WAChC,MAAO,CAAE,KAGV7K,KAAQ6K,GAAwB,SAAU2G,EAAe3S,GACxD,MAAO,CAAEA,EAAS,KAGnBkB,GAAM8K,GAAwB,SAAU2G,EAAe3S,EAAQiM,GAC9D,MAAO,CAAEA,EAAW,EAAIA,EAAWjM,EAASiM,KAG7C7K,KAAQ4K,GAAwB,SAAUE,EAAclM,GAEvD,IADA,IAAInB,EAAI,EACAA,EAAImB,EAAQnB,GAAK,EACxBqN,EAAa5O,KAAMuB,GAEpB,OAAOqN,IAGR3K,IAAOyK,GAAwB,SAAUE,EAAclM,GAEtD,IADA,IAAInB,EAAI,EACAA,EAAImB,EAAQnB,GAAK,EACxBqN,EAAa5O,KAAMuB,GAEpB,OAAOqN,IAGR0G,GAAM5G,GAAwB,SAAUE,EAAclM,EAAQiM,GAM7D,IALA,IAAIpN,EAAIoN,EAAW,EAClBA,EAAWjM,EACAA,EAAXiM,EACCjM,EACAiM,EACa,KAALpN,GACTqN,EAAa5O,KAAMuB,GAEpB,OAAOqN,IAGR2G,GAAM7G,GAAwB,SAAUE,EAAclM,EAAQiM,GAE7D,IADA,IAAIpN,EAAIoN,EAAW,EAAIA,EAAWjM,EAASiM,IACjCpN,EAAImB,GACbkM,EAAa5O,KAAMuB,GAEpB,OAAOqN,OAKL3F,QAAe,IAAIlC,EAAKkC,QAAc,GAGhC,CAAEuM,OAAO,EAAMC,UAAU,EAAMC,MAAM,EAAMC,UAAU,EAAMC,OAAO,GAC5E7O,EAAKkC,QAAS1H,GAAM+M,GAAmB/M,GAExC,IAAMA,IAAK,CAAEsU,QAAQ,EAAMC,OAAO,GACjC/O,EAAKkC,QAAS1H,GAAMgN,GAAoBhN,GAIzC,SAASsS,MA0ET,SAAS7G,GAAY+I,GAIpB,IAHA,IAAIxU,EAAI,EACP2C,EAAM6R,EAAOrT,OACbL,EAAW,GACJd,EAAI2C,EAAK3C,IAChBc,GAAY0T,EAAQxU,GAAIgF,MAEzB,OAAOlE,EAGR,SAASkJ,GAAe0I,EAAS+B,EAAYC,GAC5C,IAAIvK,EAAMsK,EAAWtK,IACpBwK,EAAOF,EAAWrK,KAClB4B,EAAM2I,GAAQxK,EACdyK,EAAmBF,GAAgB,eAAR1I,EAC3B6I,EAAWnO,IAEZ,OAAO+N,EAAWrS,MAGjB,SAAUF,EAAMnB,EAAS4Q,GACxB,MAAUzP,EAAOA,EAAMiI,GACtB,GAAuB,IAAlBjI,EAAK9C,UAAkBwV,EAC3B,OAAOlC,EAASxQ,EAAMnB,EAAS4Q,GAGjC,OAAO,GAIR,SAAUzP,EAAMnB,EAAS4Q,GACxB,IAAImD,EAAUlD,EAAaC,EAC1BkD,EAAW,CAAEtO,EAASoO,GAGvB,GAAKlD,GACJ,MAAUzP,EAAOA,EAAMiI,GACtB,IAAuB,IAAlBjI,EAAK9C,UAAkBwV,IACtBlC,EAASxQ,EAAMnB,EAAS4Q,GAC5B,OAAO,OAKV,MAAUzP,EAAOA,EAAMiI,GACtB,GAAuB,IAAlBjI,EAAK9C,UAAkBwV,EAQ3B,GAHAhD,GAJAC,EAAa3P,EAAM0B,KAAe1B,EAAM0B,GAAY,KAI1B1B,EAAKiQ,YAC5BN,EAAY3P,EAAKiQ,UAAa,IAE5BwC,GAAQA,IAASzS,EAAKgI,SAAS5E,cACnCpD,EAAOA,EAAMiI,IAASjI,MAChB,CAAA,IAAO4S,EAAWlD,EAAa5F,KACrC8I,EAAU,KAAQrO,GAAWqO,EAAU,KAAQD,EAG/C,OAASE,EAAU,GAAMD,EAAU,GAOnC,IAHAlD,EAAa5F,GAAQ+I,GAGJ,GAAMrC,EAASxQ,EAAMnB,EAAS4Q,GAC9C,OAAO,EAMZ,OAAO,GAIV,SAASqD,GAAgBC,GACxB,OAAyB,EAAlBA,EAAS9T,OACf,SAAUe,EAAMnB,EAAS4Q,GACxB,IAAI3R,EAAIiV,EAAS9T,OACjB,MAAQnB,IACP,IAAMiV,EAAUjV,GAAKkC,EAAMnB,EAAS4Q,GACnC,OAAO,EAGT,OAAO,GAERsD,EAAU,GAYZ,SAASC,GAAUvC,EAAW1Q,EAAKkM,EAAQpN,EAAS4Q,GAOnD,IANA,IAAIzP,EACHiT,EAAe,GACfnV,EAAI,EACJ2C,EAAMgQ,EAAUxR,OAChBiU,EAAgB,MAAPnT,EAEFjC,EAAI2C,EAAK3C,KACTkC,EAAOyQ,EAAW3S,MAClBmO,IAAUA,EAAQjM,EAAMnB,EAAS4Q,KACtCwD,EAAa1W,KAAMyD,GACdkT,GACJnT,EAAIxD,KAAMuB,KAMd,OAAOmV,EAGR,SAASE,GAAYxE,EAAW/P,EAAU4R,EAAS4C,EAAYC,EAAYC,GAO1E,OANKF,IAAeA,EAAY1R,KAC/B0R,EAAaD,GAAYC,IAErBC,IAAeA,EAAY3R,KAC/B2R,EAAaF,GAAYE,EAAYC,IAE/BrJ,GAAc,SAAU3B,EAAM/F,EAAS1D,EAAS4Q,GACtD,IAAI8D,EAAMzV,EAAGkC,EACZwT,EAAS,GACTC,EAAU,GACVC,EAAcnR,EAAQtD,OAGtBQ,EAAQ6I,GA5CX,SAA2B1J,EAAU+U,EAAUpR,GAG9C,IAFA,IAAIzE,EAAI,EACP2C,EAAMkT,EAAS1U,OACRnB,EAAI2C,EAAK3C,IAChBuF,GAAQzE,EAAU+U,EAAU7V,GAAKyE,GAElC,OAAOA,EAsCWqR,CACfhV,GAAY,IACZC,EAAQ3B,SAAW,CAAE2B,GAAYA,EACjC,IAIDgV,GAAYlF,IAAerG,GAAS1J,EAEnCa,EADAuT,GAAUvT,EAAO+T,EAAQ7E,EAAW9P,EAAS4Q,GAG9CqE,EAAatD,EAGZ6C,IAAgB/K,EAAOqG,EAAY+E,GAAeN,GAGjD,GAGA7Q,EACDsR,EAQF,GALKrD,GACJA,EAASqD,EAAWC,EAAYjV,EAAS4Q,GAIrC2D,EAAa,CACjBG,EAAOP,GAAUc,EAAYL,GAC7BL,EAAYG,EAAM,GAAI1U,EAAS4Q,GAG/B3R,EAAIyV,EAAKtU,OACT,MAAQnB,KACAkC,EAAOuT,EAAMzV,MACnBgW,EAAYL,EAAS3V,MAAW+V,EAAWJ,EAAS3V,IAAQkC,IAK/D,GAAKsI,GACJ,GAAK+K,GAAc1E,EAAY,CAC9B,GAAK0E,EAAa,CAGjBE,EAAO,GACPzV,EAAIgW,EAAW7U,OACf,MAAQnB,KACAkC,EAAO8T,EAAYhW,KAGzByV,EAAKhX,KAAQsX,EAAW/V,GAAMkC,GAGhCqT,EAAY,KAAQS,EAAa,GAAMP,EAAM9D,GAI9C3R,EAAIgW,EAAW7U,OACf,MAAQnB,KACAkC,EAAO8T,EAAYhW,MACsC,GAA7DyV,EAAOF,EAAa7W,EAAS8L,EAAMtI,GAASwT,EAAQ1V,MAEtDwK,EAAMiL,KAAYhR,EAASgR,GAASvT,UAOvC8T,EAAad,GACZc,IAAevR,EACduR,EAAWjT,OAAQ6S,EAAaI,EAAW7U,QAC3C6U,GAEGT,EACJA,EAAY,KAAM9Q,EAASuR,EAAYrE,GAEvClT,EAAKD,MAAOiG,EAASuR,KAMzB,SAASC,GAAmBzB,GAyB3B,IAxBA,IAAI0B,EAAcxD,EAAS9P,EAC1BD,EAAM6R,EAAOrT,OACbgV,EAAkB3Q,EAAKgL,SAAUgE,EAAQ,GAAIhV,MAC7C4W,EAAmBD,GAAmB3Q,EAAKgL,SAAU,KACrDxQ,EAAImW,EAAkB,EAAI,EAG1BE,EAAerM,GAAe,SAAU9H,GACvC,OAAOA,IAASgU,GACdE,GAAkB,GACrBE,EAAkBtM,GAAe,SAAU9H,GAC1C,OAAwC,EAAjCxD,EAASwX,EAAchU,IAC5BkU,GAAkB,GACrBnB,EAAW,CAAE,SAAU/S,EAAMnB,EAAS4Q,GACrC,IAAI/P,GAASuU,IAAqBxE,GAAO5Q,IAAY+E,MAClDoQ,EAAenV,GAAU3B,SAC1BiX,EAAcnU,EAAMnB,EAAS4Q,GAC7B2E,EAAiBpU,EAAMnB,EAAS4Q,IAIlC,OADAuE,EAAe,KACRtU,IAGD5B,EAAI2C,EAAK3C,IAChB,GAAO0S,EAAUlN,EAAKgL,SAAUgE,EAAQxU,GAAIR,MAC3CyV,EAAW,CAAEjL,GAAegL,GAAgBC,GAAYvC,QAClD,CAIN,IAHAA,EAAUlN,EAAK2I,OAAQqG,EAAQxU,GAAIR,MAAOhB,MAAO,KAAMgW,EAAQxU,GAAI6E,UAGrDjB,GAAY,CAIzB,IADAhB,IAAM5C,EACE4C,EAAID,EAAKC,IAChB,GAAK4C,EAAKgL,SAAUgE,EAAQ5R,GAAIpD,MAC/B,MAGF,OAAO6V,GACF,EAAJrV,GAASgV,GAAgBC,GACrB,EAAJjV,GAASyL,GAGT+I,EACErW,MAAO,EAAG6B,EAAI,GACdzB,OAAQ,CAAEyG,MAAgC,MAAzBwP,EAAQxU,EAAI,GAAIR,KAAe,IAAM,MACtDuE,QAAS8D,EAAO,MAClB6K,EACA1S,EAAI4C,GAAKqT,GAAmBzB,EAAOrW,MAAO6B,EAAG4C,IAC7CA,EAAID,GAAOsT,GAAqBzB,EAASA,EAAOrW,MAAOyE,IACvDA,EAAID,GAAO8I,GAAY+I,IAGzBS,EAASxW,KAAMiU,GAIjB,OAAOsC,GAAgBC,GAoTxB,OAtpBA3C,GAAWlR,UAAYoE,EAAK+Q,QAAU/Q,EAAKkC,QAC3ClC,EAAK8M,WAAa,IAAIA,GAEtB3M,EAAWJ,GAAOI,SAAW,SAAU7E,EAAU0V,GAChD,IAAIhE,EAAS7H,EAAO6J,EAAQhV,EAC3BiX,EAAO7L,EAAQ8L,EACfC,EAAS9P,EAAY/F,EAAW,KAEjC,GAAK6V,EACJ,OAAOH,EAAY,EAAIG,EAAOxY,MAAO,GAGtCsY,EAAQ3V,EACR8J,EAAS,GACT8L,EAAalR,EAAKqL,UAElB,MAAQ4F,EAAQ,CA2Bf,IAAMjX,KAxBAgT,KAAa7H,EAAQ7C,EAAOkD,KAAMyL,MAClC9L,IAGJ8L,EAAQA,EAAMtY,MAAOwM,EAAO,GAAIxJ,SAAYsV,GAE7C7L,EAAOnM,KAAQ+V,EAAS,KAGzBhC,GAAU,GAGH7H,EAAQ5C,EAAaiD,KAAMyL,MACjCjE,EAAU7H,EAAMuB,QAChBsI,EAAO/V,KAAM,CACZuG,MAAOwN,EAGPhT,KAAMmL,EAAO,GAAI5G,QAAS8D,EAAO,OAElC4O,EAAQA,EAAMtY,MAAOqU,EAAQrR,SAIhBqE,EAAK2I,SACXxD,EAAQxC,EAAW3I,GAAOwL,KAAMyL,KAAgBC,EAAYlX,MAChEmL,EAAQ+L,EAAYlX,GAAQmL,MAC9B6H,EAAU7H,EAAMuB,QAChBsI,EAAO/V,KAAM,CACZuG,MAAOwN,EACPhT,KAAMA,EACNqF,QAAS8F,IAEV8L,EAAQA,EAAMtY,MAAOqU,EAAQrR,SAI/B,IAAMqR,EACL,MAOF,OAAOgE,EACNC,EAAMtV,OACNsV,EACClR,GAAOtB,MAAOnD,GAGd+F,EAAY/F,EAAU8J,GAASzM,MAAO,IA4ZzCyH,EAAUL,GAAOK,QAAU,SAAU9E,EAAU6J,GAC9C,IAAI3K,EA9H8B4W,EAAiBC,EAC/CC,EACHC,EACAC,EA4HAH,EAAc,GACdD,EAAkB,GAClBD,EAAS7P,EAAehG,EAAW,KAEpC,IAAM6V,EAAS,CAGRhM,IACLA,EAAQhF,EAAU7E,IAEnBd,EAAI2K,EAAMxJ,OACV,MAAQnB,KACP2W,EAASV,GAAmBtL,EAAO3K,KACtB4D,GACZiT,EAAYpY,KAAMkY,GAElBC,EAAgBnY,KAAMkY,IAKxBA,EAAS7P,EACRhG,GArJgC8V,EAsJNA,EArJxBE,EAA6B,GADkBD,EAsJNA,GArJrB1V,OACvB4V,EAAqC,EAAzBH,EAAgBzV,OAC5B6V,EAAe,SAAUxM,EAAMzJ,EAAS4Q,EAAKlN,EAASwS,GACrD,IAAI/U,EAAMU,EAAG8P,EACZwE,EAAe,EACflX,EAAI,IACJ2S,EAAYnI,GAAQ,GACpB2M,EAAa,GACbC,EAAgBtR,EAGhBnE,EAAQ6I,GAAQuM,GAAavR,EAAK6I,KAAY,IAAG,IAAK4I,GAGtDI,EAAkB5Q,GAA4B,MAAjB2Q,EAAwB,EAAIvT,KAAKC,UAAY,GAC1EnB,EAAMhB,EAAMR,OAcb,IAZK8V,IAMJnR,EAAmB/E,GAAWtD,GAAYsD,GAAWkW,GAM9CjX,IAAM2C,GAAgC,OAAvBT,EAAOP,EAAO3B,IAAeA,IAAM,CACzD,GAAK+W,GAAa7U,EAAO,CACxBU,EAAI,EAME7B,GAAWmB,EAAK6I,eAAiBtN,IACtCwI,EAAa/D,GACbyP,GAAOxL,GAER,MAAUuM,EAAUkE,EAAiBhU,KACpC,GAAK8P,EAASxQ,EAAMnB,GAAWtD,EAAUkU,GAAQ,CAChDlN,EAAQhG,KAAMyD,GACd,MAGG+U,IACJxQ,EAAU4Q,GAKPP,KAGG5U,GAAQwQ,GAAWxQ,IACzBgV,IAII1M,GACJmI,EAAUlU,KAAMyD,IAgBnB,GATAgV,GAAgBlX,EASX8W,GAAS9W,IAAMkX,EAAe,CAClCtU,EAAI,EACJ,MAAU8P,EAAUmE,EAAajU,KAChC8P,EAASC,EAAWwE,EAAYpW,EAAS4Q,GAG1C,GAAKnH,EAAO,CAGX,GAAoB,EAAf0M,EACJ,MAAQlX,IACC2S,EAAW3S,IAAOmX,EAAYnX,KACrCmX,EAAYnX,GAAMmH,EAAI7I,KAAMmG,IAM/B0S,EAAajC,GAAUiC,GAIxB1Y,EAAKD,MAAOiG,EAAS0S,GAGhBF,IAAczM,GAA4B,EAApB2M,EAAWhW,QACG,EAAtC+V,EAAeL,EAAY1V,QAE7BoE,GAAOwK,WAAYtL,GAUrB,OALKwS,IACJxQ,EAAU4Q,EACVvR,EAAmBsR,GAGbzE,GAGFmE,EACN3K,GAAc6K,GACdA,KAgCOlW,SAAWA,EAEnB,OAAO6V,GAYR9Q,EAASN,GAAOM,OAAS,SAAU/E,EAAUC,EAAS0D,EAAS+F,GAC9D,IAAIxK,EAAGwU,EAAQ8C,EAAO9X,EAAM6O,EAC3BkJ,EAA+B,mBAAbzW,GAA2BA,EAC7C6J,GAASH,GAAQ7E,EAAY7E,EAAWyW,EAASzW,UAAYA,GAM9D,GAJA2D,EAAUA,GAAW,GAIC,IAAjBkG,EAAMxJ,OAAe,CAIzB,GAAqB,GADrBqT,EAAS7J,EAAO,GAAMA,EAAO,GAAIxM,MAAO,IAC5BgD,QAA+C,QAA/BmW,EAAQ9C,EAAQ,IAAMhV,MAC5B,IAArBuB,EAAQ3B,UAAkB+G,GAAkBX,EAAKgL,SAAUgE,EAAQ,GAAIhV,MAAS,CAIhF,KAFAuB,GAAYyE,EAAK6I,KAAW,GAAGiJ,EAAMzS,QAAS,GAC5Cd,QAASmF,GAAWC,IAAapI,IAAa,IAAM,IAErD,OAAO0D,EAGI8S,IACXxW,EAAUA,EAAQN,YAGnBK,EAAWA,EAAS3C,MAAOqW,EAAOtI,QAAQlH,MAAM7D,QAIjDnB,EAAImI,EAA0B,aAAEmD,KAAMxK,GAAa,EAAI0T,EAAOrT,OAC9D,MAAQnB,IAAM,CAIb,GAHAsX,EAAQ9C,EAAQxU,GAGXwF,EAAKgL,SAAYhR,EAAO8X,EAAM9X,MAClC,MAED,IAAO6O,EAAO7I,EAAK6I,KAAM7O,MAGjBgL,EAAO6D,EACbiJ,EAAMzS,QAAS,GAAId,QAASmF,GAAWC,IACvCF,GAASqC,KAAMkJ,EAAQ,GAAIhV,OAAU+L,GAAaxK,EAAQN,aACzDM,IACI,CAKL,GAFAyT,EAAOzR,OAAQ/C,EAAG,KAClBc,EAAW0J,EAAKrJ,QAAUsK,GAAY+I,IAGrC,OADA/V,EAAKD,MAAOiG,EAAS+F,GACd/F,EAGR,QAeJ,OAPE8S,GAAY3R,EAAS9E,EAAU6J,IAChCH,EACAzJ,GACCoF,EACD1B,GACC1D,GAAWkI,GAASqC,KAAMxK,IAAcyK,GAAaxK,EAAQN,aAAgBM,GAExE0D,GAMRxF,EAAQiR,WAAatM,EAAQwB,MAAO,IAAKtC,KAAMkE,GAAY0E,KAAM,MAAS9H,EAI1E3E,EAAQgR,mBAAqBjK,EAG7BC,IAIAhH,EAAQoQ,aAAejD,GAAQ,SAAUC,GAGxC,OAA4E,EAArEA,EAAG4C,wBAAyBxR,EAAS0C,cAAe,eAMtDiM,GAAQ,SAAUC,GAEvB,OADAA,EAAGqC,UAAY,mBACiC,MAAzCrC,EAAG+D,WAAW/P,aAAc,WAEnCiM,GAAW,yBAA0B,SAAUpK,EAAMgB,EAAMwC,GAC1D,IAAMA,EACL,OAAOxD,EAAK7B,aAAc6C,EAA6B,SAAvBA,EAAKoC,cAA2B,EAAI,KAOjErG,EAAQwI,YAAe2E,GAAQ,SAAUC,GAG9C,OAFAA,EAAGqC,UAAY,WACfrC,EAAG+D,WAAW9P,aAAc,QAAS,IACY,KAA1C+L,EAAG+D,WAAW/P,aAAc,YAEnCiM,GAAW,QAAS,SAAUpK,EAAMsV,EAAO9R,GAC1C,IAAMA,GAAyC,UAAhCxD,EAAKgI,SAAS5E,cAC5B,OAAOpD,EAAKuV,eAOTrL,GAAQ,SAAUC,GACvB,OAAwC,MAAjCA,EAAGhM,aAAc,eAExBiM,GAAWhF,EAAU,SAAUpF,EAAMgB,EAAMwC,GAC1C,IAAIzF,EACJ,IAAMyF,EACL,OAAwB,IAAjBxD,EAAMgB,GAAkBA,EAAKoC,eACjCrF,EAAMiC,EAAKoM,iBAAkBpL,KAAYjD,EAAI4P,UAC9C5P,EAAI+E,MACJ,OAKEO,GA14EP,CA44EK3H,GAILiD,EAAOwN,KAAO9I,EACd1E,EAAO6O,KAAOnK,EAAO+K,UAGrBzP,EAAO6O,KAAM,KAAQ7O,EAAO6O,KAAKhI,QACjC7G,EAAOkP,WAAalP,EAAO6W,OAASnS,EAAOwK,WAC3ClP,EAAOT,KAAOmF,EAAOE,QACrB5E,EAAO8W,SAAWpS,EAAOG,MACzB7E,EAAOyF,SAAWf,EAAOe,SACzBzF,EAAO+W,eAAiBrS,EAAO6D,OAK/B,IAAIe,EAAM,SAAUjI,EAAMiI,EAAK0N,GAC9B,IAAIrF,EAAU,GACbsF,OAAqBnU,IAAVkU,EAEZ,OAAU3V,EAAOA,EAAMiI,KAA6B,IAAlBjI,EAAK9C,SACtC,GAAuB,IAAlB8C,EAAK9C,SAAiB,CAC1B,GAAK0Y,GAAYjX,EAAQqB,GAAO6V,GAAIF,GACnC,MAEDrF,EAAQ/T,KAAMyD,GAGhB,OAAOsQ,GAIJwF,EAAW,SAAUC,EAAG/V,GAG3B,IAFA,IAAIsQ,EAAU,GAENyF,EAAGA,EAAIA,EAAEnL,YACI,IAAfmL,EAAE7Y,UAAkB6Y,IAAM/V,GAC9BsQ,EAAQ/T,KAAMwZ,GAIhB,OAAOzF,GAIJ0F,EAAgBrX,EAAO6O,KAAK/E,MAAMhC,aAItC,SAASuB,EAAUhI,EAAMgB,GAExB,OAAOhB,EAAKgI,UAAYhI,EAAKgI,SAAS5E,gBAAkBpC,EAAKoC,cAG9D,IAAI6S,EAAa,kEAKjB,SAASC,EAAQzI,EAAU0I,EAAW5F,GACrC,OAAKvT,EAAYmZ,GACTxX,EAAO2B,KAAMmN,EAAU,SAAUzN,EAAMlC,GAC7C,QAASqY,EAAU/Z,KAAM4D,EAAMlC,EAAGkC,KAAWuQ,IAK1C4F,EAAUjZ,SACPyB,EAAO2B,KAAMmN,EAAU,SAAUzN,GACvC,OAASA,IAASmW,IAAgB5F,IAKV,iBAAd4F,EACJxX,EAAO2B,KAAMmN,EAAU,SAAUzN,GACvC,OAA4C,EAAnCxD,EAAQJ,KAAM+Z,EAAWnW,KAAkBuQ,IAK/C5R,EAAOsN,OAAQkK,EAAW1I,EAAU8C,GAG5C5R,EAAOsN,OAAS,SAAUuB,EAAM/N,EAAO8Q,GACtC,IAAIvQ,EAAOP,EAAO,GAMlB,OAJK8Q,IACJ/C,EAAO,QAAUA,EAAO,KAGH,IAAjB/N,EAAMR,QAAkC,IAAlBe,EAAK9C,SACxByB,EAAOwN,KAAKM,gBAAiBzM,EAAMwN,GAAS,CAAExN,GAAS,GAGxDrB,EAAOwN,KAAKxJ,QAAS6K,EAAM7O,EAAO2B,KAAMb,EAAO,SAAUO,GAC/D,OAAyB,IAAlBA,EAAK9C,aAIdyB,EAAOG,GAAGgC,OAAQ,CACjBqL,KAAM,SAAUvN,GACf,IAAId,EAAG4B,EACNe,EAAM9E,KAAKsD,OACXmX,EAAOza,KAER,GAAyB,iBAAbiD,EACX,OAAOjD,KAAK6D,UAAWb,EAAQC,GAAWqN,OAAQ,WACjD,IAAMnO,EAAI,EAAGA,EAAI2C,EAAK3C,IACrB,GAAKa,EAAOyF,SAAUgS,EAAMtY,GAAKnC,MAChC,OAAO,KAQX,IAFA+D,EAAM/D,KAAK6D,UAAW,IAEhB1B,EAAI,EAAGA,EAAI2C,EAAK3C,IACrBa,EAAOwN,KAAMvN,EAAUwX,EAAMtY,GAAK4B,GAGnC,OAAa,EAANe,EAAU9B,EAAOkP,WAAYnO,GAAQA,GAE7CuM,OAAQ,SAAUrN,GACjB,OAAOjD,KAAK6D,UAAW0W,EAAQva,KAAMiD,GAAY,IAAI,KAEtD2R,IAAK,SAAU3R,GACd,OAAOjD,KAAK6D,UAAW0W,EAAQva,KAAMiD,GAAY,IAAI,KAEtDiX,GAAI,SAAUjX,GACb,QAASsX,EACRva,KAIoB,iBAAbiD,GAAyBoX,EAAc5M,KAAMxK,GACnDD,EAAQC,GACRA,GAAY,IACb,GACCK,UASJ,IAAIoX,EAMHvP,EAAa,uCAENnI,EAAOG,GAAGC,KAAO,SAAUH,EAAUC,EAASkS,GACpD,IAAItI,EAAOzI,EAGX,IAAMpB,EACL,OAAOjD,KAQR,GAHAoV,EAAOA,GAAQsF,EAGU,iBAAbzX,EAAwB,CAanC,KAPC6J,EALsB,MAAlB7J,EAAU,IACsB,MAApCA,EAAUA,EAASK,OAAS,IACT,GAAnBL,EAASK,OAGD,CAAE,KAAML,EAAU,MAGlBkI,EAAWgC,KAAMlK,MAIV6J,EAAO,IAAQ5J,EA6CxB,OAAMA,GAAWA,EAAQM,QACtBN,GAAWkS,GAAO5E,KAAMvN,GAK1BjD,KAAKyD,YAAaP,GAAUsN,KAAMvN,GAhDzC,GAAK6J,EAAO,GAAM,CAYjB,GAXA5J,EAAUA,aAAmBF,EAASE,EAAS,GAAMA,EAIrDF,EAAOgB,MAAOhE,KAAMgD,EAAO2X,UAC1B7N,EAAO,GACP5J,GAAWA,EAAQ3B,SAAW2B,EAAQgK,eAAiBhK,EAAUtD,GACjE,IAII0a,EAAW7M,KAAMX,EAAO,KAAS9J,EAAO2C,cAAezC,GAC3D,IAAM4J,KAAS5J,EAGT7B,EAAYrB,KAAM8M,IACtB9M,KAAM8M,GAAS5J,EAAS4J,IAIxB9M,KAAK+R,KAAMjF,EAAO5J,EAAS4J,IAK9B,OAAO9M,KAYP,OARAqE,EAAOzE,EAASwN,eAAgBN,EAAO,OAKtC9M,KAAM,GAAMqE,EACZrE,KAAKsD,OAAS,GAERtD,KAcH,OAAKiD,EAAS1B,UACpBvB,KAAM,GAAMiD,EACZjD,KAAKsD,OAAS,EACPtD,MAIIqB,EAAY4B,QACD6C,IAAfsP,EAAKwF,MACXxF,EAAKwF,MAAO3X,GAGZA,EAAUD,GAGLA,EAAO2D,UAAW1D,EAAUjD,QAIhCuD,UAAYP,EAAOG,GAGxBuX,EAAa1X,EAAQpD,GAGrB,IAAIib,EAAe,iCAGlBC,EAAmB,CAClBC,UAAU,EACVC,UAAU,EACVzO,MAAM,EACN0O,MAAM,GAoFR,SAASC,EAASpM,EAAKxC,GACtB,OAAUwC,EAAMA,EAAKxC,KAA4B,IAAjBwC,EAAIvN,UACpC,OAAOuN,EAnFR9L,EAAOG,GAAGgC,OAAQ,CACjB4P,IAAK,SAAUtP,GACd,IAAI0V,EAAUnY,EAAQyC,EAAQzF,MAC7Bob,EAAID,EAAQ7X,OAEb,OAAOtD,KAAKsQ,OAAQ,WAEnB,IADA,IAAInO,EAAI,EACAA,EAAIiZ,EAAGjZ,IACd,GAAKa,EAAOyF,SAAUzI,KAAMmb,EAAShZ,IACpC,OAAO,KAMXkZ,QAAS,SAAU5I,EAAWvP,GAC7B,IAAI4L,EACH3M,EAAI,EACJiZ,EAAIpb,KAAKsD,OACTqR,EAAU,GACVwG,EAA+B,iBAAd1I,GAA0BzP,EAAQyP,GAGpD,IAAM4H,EAAc5M,KAAMgF,GACzB,KAAQtQ,EAAIiZ,EAAGjZ,IACd,IAAM2M,EAAM9O,KAAMmC,GAAK2M,GAAOA,IAAQ5L,EAAS4L,EAAMA,EAAIlM,WAGxD,GAAKkM,EAAIvN,SAAW,KAAQ4Z,GACH,EAAxBA,EAAQG,MAAOxM,GAGE,IAAjBA,EAAIvN,UACHyB,EAAOwN,KAAKM,gBAAiBhC,EAAK2D,IAAgB,CAEnDkC,EAAQ/T,KAAMkO,GACd,MAMJ,OAAO9O,KAAK6D,UAA4B,EAAjB8Q,EAAQrR,OAAaN,EAAOkP,WAAYyC,GAAYA,IAI5E2G,MAAO,SAAUjX,GAGhB,OAAMA,EAKe,iBAATA,EACJxD,EAAQJ,KAAMuC,EAAQqB,GAAQrE,KAAM,IAIrCa,EAAQJ,KAAMT,KAGpBqE,EAAKb,OAASa,EAAM,GAAMA,GAZjBrE,KAAM,IAAOA,KAAM,GAAI4C,WAAe5C,KAAKuE,QAAQgX,UAAUjY,QAAU,GAgBlFkY,IAAK,SAAUvY,EAAUC,GACxB,OAAOlD,KAAK6D,UACXb,EAAOkP,WACNlP,EAAOgB,MAAOhE,KAAK2D,MAAOX,EAAQC,EAAUC,OAK/CuY,QAAS,SAAUxY,GAClB,OAAOjD,KAAKwb,IAAiB,MAAZvY,EAChBjD,KAAKiE,WAAajE,KAAKiE,WAAWqM,OAAQrN,OAU7CD,EAAOkB,KAAM,CACZiQ,OAAQ,SAAU9P,GACjB,IAAI8P,EAAS9P,EAAKzB,WAClB,OAAOuR,GAA8B,KAApBA,EAAO5S,SAAkB4S,EAAS,MAEpDuH,QAAS,SAAUrX,GAClB,OAAOiI,EAAKjI,EAAM,eAEnBsX,aAAc,SAAUtX,EAAMmD,EAAIwS,GACjC,OAAO1N,EAAKjI,EAAM,aAAc2V,IAEjCzN,KAAM,SAAUlI,GACf,OAAO6W,EAAS7W,EAAM,gBAEvB4W,KAAM,SAAU5W,GACf,OAAO6W,EAAS7W,EAAM,oBAEvBuX,QAAS,SAAUvX,GAClB,OAAOiI,EAAKjI,EAAM,gBAEnBkX,QAAS,SAAUlX,GAClB,OAAOiI,EAAKjI,EAAM,oBAEnBwX,UAAW,SAAUxX,EAAMmD,EAAIwS,GAC9B,OAAO1N,EAAKjI,EAAM,cAAe2V,IAElC8B,UAAW,SAAUzX,EAAMmD,EAAIwS,GAC9B,OAAO1N,EAAKjI,EAAM,kBAAmB2V,IAEtCG,SAAU,SAAU9V,GACnB,OAAO8V,GAAY9V,EAAKzB,YAAc,IAAK2P,WAAYlO,IAExD0W,SAAU,SAAU1W,GACnB,OAAO8V,EAAU9V,EAAKkO,aAEvByI,SAAU,SAAU3W,GACnB,OAA6B,MAAxBA,EAAK0X,iBAKT5b,EAAUkE,EAAK0X,iBAER1X,EAAK0X,iBAMR1P,EAAUhI,EAAM,cACpBA,EAAOA,EAAK2X,SAAW3X,GAGjBrB,EAAOgB,MAAO,GAAIK,EAAKmI,eAE7B,SAAUnH,EAAMlC,GAClBH,EAAOG,GAAIkC,GAAS,SAAU2U,EAAO/W,GACpC,IAAI0R,EAAU3R,EAAOoB,IAAKpE,KAAMmD,EAAI6W,GAuBpC,MArB0B,UAArB3U,EAAK/E,OAAQ,KACjB2C,EAAW+W,GAGP/W,GAAgC,iBAAbA,IACvB0R,EAAU3R,EAAOsN,OAAQrN,EAAU0R,IAGjB,EAAd3U,KAAKsD,SAGHwX,EAAkBzV,IACvBrC,EAAOkP,WAAYyC,GAIfkG,EAAapN,KAAMpI,IACvBsP,EAAQsH,WAIHjc,KAAK6D,UAAW8Q,MAGzB,IAAIuH,EAAgB,oBAsOpB,SAASC,EAAUC,GAClB,OAAOA,EAER,SAASC,EAASC,GACjB,MAAMA,EAGP,SAASC,EAAYpV,EAAOqV,EAASC,EAAQC,GAC5C,IAAIC,EAEJ,IAGMxV,GAAS9F,EAAcsb,EAASxV,EAAMyV,SAC1CD,EAAOlc,KAAM0G,GAAQ0B,KAAM2T,GAAUK,KAAMJ,GAGhCtV,GAAS9F,EAAcsb,EAASxV,EAAM2V,MACjDH,EAAOlc,KAAM0G,EAAOqV,EAASC,GAQ7BD,EAAQ7b,WAAOmF,EAAW,CAAEqB,GAAQ7G,MAAOoc,IAM3C,MAAQvV,GAITsV,EAAO9b,WAAOmF,EAAW,CAAEqB,KAvO7BnE,EAAO+Z,UAAY,SAAU3X,GA9B7B,IAAwBA,EACnB4X,EAiCJ5X,EAA6B,iBAAZA,GAlCMA,EAmCPA,EAlCZ4X,EAAS,GACbha,EAAOkB,KAAMkB,EAAQ0H,MAAOoP,IAAmB,GAAI,SAAUe,EAAGC,GAC/DF,EAAQE,IAAS,IAEXF,GA+BNha,EAAOmC,OAAQ,GAAIC,GAEpB,IACC+X,EAGAC,EAGAC,EAGAC,EAGA9T,EAAO,GAGP+T,EAAQ,GAGRC,GAAe,EAGfC,EAAO,WAQN,IALAH,EAASA,GAAUlY,EAAQsY,KAI3BL,EAAQF,GAAS,EACTI,EAAMja,OAAQka,GAAe,EAAI,CACxCJ,EAASG,EAAMlP,QACf,QAAUmP,EAAchU,EAAKlG,QAGmC,IAA1DkG,EAAMgU,GAAc7c,MAAOyc,EAAQ,GAAKA,EAAQ,KACpDhY,EAAQuY,cAGRH,EAAchU,EAAKlG,OACnB8Z,GAAS,GAMNhY,EAAQgY,SACbA,GAAS,GAGVD,GAAS,EAGJG,IAIH9T,EADI4T,EACG,GAIA,KAMV3C,EAAO,CAGNe,IAAK,WA2BJ,OA1BKhS,IAGC4T,IAAWD,IACfK,EAAchU,EAAKlG,OAAS,EAC5Bia,EAAM3c,KAAMwc,IAGb,SAAW5B,EAAKhH,GACfxR,EAAOkB,KAAMsQ,EAAM,SAAUyI,EAAG/V,GAC1B7F,EAAY6F,GACV9B,EAAQyU,QAAWY,EAAK1F,IAAK7N,IAClCsC,EAAK5I,KAAMsG,GAEDA,GAAOA,EAAI5D,QAA4B,WAAlBR,EAAQoE,IAGxCsU,EAAKtU,KATR,CAYK5C,WAEA8Y,IAAWD,GACfM,KAGKzd,MAIR4d,OAAQ,WAYP,OAXA5a,EAAOkB,KAAMI,UAAW,SAAU2Y,EAAG/V,GACpC,IAAIoU,EACJ,OAA0D,GAAhDA,EAAQtY,EAAO6D,QAASK,EAAKsC,EAAM8R,IAC5C9R,EAAKtE,OAAQoW,EAAO,GAGfA,GAASkC,GACbA,MAIIxd,MAKR+U,IAAK,SAAU5R,GACd,OAAOA,GACwB,EAA9BH,EAAO6D,QAAS1D,EAAIqG,GACN,EAAdA,EAAKlG,QAIPwS,MAAO,WAIN,OAHKtM,IACJA,EAAO,IAEDxJ,MAMR6d,QAAS,WAGR,OAFAP,EAASC,EAAQ,GACjB/T,EAAO4T,EAAS,GACTpd,MAERoM,SAAU,WACT,OAAQ5C,GAMTsU,KAAM,WAKL,OAJAR,EAASC,EAAQ,GACXH,GAAWD,IAChB3T,EAAO4T,EAAS,IAEVpd,MAERsd,OAAQ,WACP,QAASA,GAIVS,SAAU,SAAU7a,EAASsR,GAS5B,OARM8I,IAEL9I,EAAO,CAAEtR,GADTsR,EAAOA,GAAQ,IACQlU,MAAQkU,EAAKlU,QAAUkU,GAC9C+I,EAAM3c,KAAM4T,GACN2I,GACLM,KAGKzd,MAIRyd,KAAM,WAEL,OADAhD,EAAKsD,SAAU/d,KAAMsE,WACdtE,MAIRqd,MAAO,WACN,QAASA,IAIZ,OAAO5C,GA4CRzX,EAAOmC,OAAQ,CAEd6Y,SAAU,SAAUC,GACnB,IAAIC,EAAS,CAIX,CAAE,SAAU,WAAYlb,EAAO+Z,UAAW,UACzC/Z,EAAO+Z,UAAW,UAAY,GAC/B,CAAE,UAAW,OAAQ/Z,EAAO+Z,UAAW,eACtC/Z,EAAO+Z,UAAW,eAAiB,EAAG,YACvC,CAAE,SAAU,OAAQ/Z,EAAO+Z,UAAW,eACrC/Z,EAAO+Z,UAAW,eAAiB,EAAG,aAExCoB,EAAQ,UACRvB,EAAU,CACTuB,MAAO,WACN,OAAOA,GAERC,OAAQ,WAEP,OADAC,EAASxV,KAAMvE,WAAYuY,KAAMvY,WAC1BtE,MAERse,QAAS,SAAUnb,GAClB,OAAOyZ,EAAQE,KAAM,KAAM3Z,IAI5Bob,KAAM,WACL,IAAIC,EAAMla,UAEV,OAAOtB,EAAOgb,SAAU,SAAUS,GACjCzb,EAAOkB,KAAMga,EAAQ,SAAU1W,EAAIkX,GAGlC,IAAIvb,EAAK9B,EAAYmd,EAAKE,EAAO,MAAWF,EAAKE,EAAO,IAKxDL,EAAUK,EAAO,IAAO,WACvB,IAAIC,EAAWxb,GAAMA,EAAGxC,MAAOX,KAAMsE,WAChCqa,GAAYtd,EAAYsd,EAAS/B,SACrC+B,EAAS/B,UACPgC,SAAUH,EAASI,QACnBhW,KAAM4V,EAASjC,SACfK,KAAM4B,EAAShC,QAEjBgC,EAAUC,EAAO,GAAM,QACtB1e,KACAmD,EAAK,CAAEwb,GAAara,eAKxBka,EAAM,OACH5B,WAELE,KAAM,SAAUgC,EAAaC,EAAYC,GACxC,IAAIC,EAAW,EACf,SAASzC,EAAS0C,EAAOb,EAAU1P,EAASwQ,GAC3C,OAAO,WACN,IAAIC,EAAOpf,KACVwU,EAAOlQ,UACP+a,EAAa,WACZ,IAAIV,EAAU7B,EAKd,KAAKoC,EAAQD,GAAb,CAQA,IAJAN,EAAWhQ,EAAQhO,MAAOye,EAAM5K,MAId6J,EAASzB,UAC1B,MAAM,IAAI0C,UAAW,4BAOtBxC,EAAO6B,IAKgB,iBAAbA,GACY,mBAAbA,IACRA,EAAS7B,KAGLzb,EAAYyb,GAGXqC,EACJrC,EAAKrc,KACJke,EACAnC,EAASyC,EAAUZ,EAAUlC,EAAUgD,GACvC3C,EAASyC,EAAUZ,EAAUhC,EAAS8C,KAOvCF,IAEAnC,EAAKrc,KACJke,EACAnC,EAASyC,EAAUZ,EAAUlC,EAAUgD,GACvC3C,EAASyC,EAAUZ,EAAUhC,EAAS8C,GACtC3C,EAASyC,EAAUZ,EAAUlC,EAC5BkC,EAASkB,eASP5Q,IAAYwN,IAChBiD,OAAOtZ,EACP0O,EAAO,CAAEmK,KAKRQ,GAAWd,EAASmB,aAAeJ,EAAM5K,MAK7CiL,EAAUN,EACTE,EACA,WACC,IACCA,IACC,MAAQ5S,GAEJzJ,EAAOgb,SAAS0B,eACpB1c,EAAOgb,SAAS0B,cAAejT,EAC9BgT,EAAQE,YAMQV,GAAbC,EAAQ,IAIPvQ,IAAY0N,IAChB+C,OAAOtZ,EACP0O,EAAO,CAAE/H,IAGV4R,EAASuB,WAAYR,EAAM5K,MAS3B0K,EACJO,KAKKzc,EAAOgb,SAAS6B,eACpBJ,EAAQE,WAAa3c,EAAOgb,SAAS6B,gBAEtC9f,EAAO+f,WAAYL,KAKtB,OAAOzc,EAAOgb,SAAU,SAAUS,GAGjCP,EAAQ,GAAK,GAAI1C,IAChBgB,EACC,EACAiC,EACApd,EAAY2d,GACXA,EACA7C,EACDsC,EAASc,aAKXrB,EAAQ,GAAK,GAAI1C,IAChBgB,EACC,EACAiC,EACApd,EAAYyd,GACXA,EACA3C,IAKH+B,EAAQ,GAAK,GAAI1C,IAChBgB,EACC,EACAiC,EACApd,EAAY0d,GACXA,EACA1C,MAGAO,WAKLA,QAAS,SAAUtb,GAClB,OAAc,MAAPA,EAAc0B,EAAOmC,OAAQ7D,EAAKsb,GAAYA,IAGvDyB,EAAW,GAkEZ,OA/DArb,EAAOkB,KAAMga,EAAQ,SAAU/b,EAAGuc,GACjC,IAAIlV,EAAOkV,EAAO,GACjBqB,EAAcrB,EAAO,GAKtB9B,EAAS8B,EAAO,IAAQlV,EAAKgS,IAGxBuE,GACJvW,EAAKgS,IACJ,WAIC2C,EAAQ4B,GAKT7B,EAAQ,EAAI/b,GAAK,GAAI0b,QAIrBK,EAAQ,EAAI/b,GAAK,GAAI0b,QAGrBK,EAAQ,GAAK,GAAIJ,KAGjBI,EAAQ,GAAK,GAAIJ,MAOnBtU,EAAKgS,IAAKkD,EAAO,GAAIjB,MAKrBY,EAAUK,EAAO,IAAQ,WAExB,OADAL,EAAUK,EAAO,GAAM,QAAU1e,OAASqe,OAAWvY,EAAY9F,KAAMsE,WAChEtE,MAMRqe,EAAUK,EAAO,GAAM,QAAWlV,EAAKuU,WAIxCnB,EAAQA,QAASyB,GAGZJ,GACJA,EAAKxd,KAAM4d,EAAUA,GAIfA,GAIR2B,KAAM,SAAUC,GACf,IAGCC,EAAY5b,UAAUhB,OAGtBnB,EAAI+d,EAGJC,EAAkBva,MAAOzD,GACzBie,EAAgB9f,EAAMG,KAAM6D,WAG5B+b,EAAUrd,EAAOgb,WAGjBsC,EAAa,SAAUne,GACtB,OAAO,SAAUgF,GAChBgZ,EAAiBhe,GAAMnC,KACvBogB,EAAeje,GAAyB,EAAnBmC,UAAUhB,OAAahD,EAAMG,KAAM6D,WAAc6C,IAC5D+Y,GACTG,EAAQb,YAAaW,EAAiBC,KAM1C,GAAKF,GAAa,IACjB3D,EAAY0D,EAAaI,EAAQxX,KAAMyX,EAAYne,IAAMqa,QAAS6D,EAAQ5D,QACxEyD,GAGuB,YAApBG,EAAQlC,SACZ9c,EAAY+e,EAAeje,IAAOie,EAAeje,GAAI2a,OAErD,OAAOuD,EAAQvD,OAKjB,MAAQ3a,IACPoa,EAAY6D,EAAeje,GAAKme,EAAYne,GAAKke,EAAQ5D,QAG1D,OAAO4D,EAAQzD,aAOjB,IAAI2D,EAAc,yDAElBvd,EAAOgb,SAAS0B,cAAgB,SAAUtZ,EAAOoa,GAI3CzgB,EAAO0gB,SAAW1gB,EAAO0gB,QAAQC,MAAQta,GAASma,EAAY9S,KAAMrH,EAAMf,OAC9EtF,EAAO0gB,QAAQC,KAAM,8BAAgCta,EAAMua,QAASva,EAAMoa,MAAOA,IAOnFxd,EAAO4d,eAAiB,SAAUxa,GACjCrG,EAAO+f,WAAY,WAClB,MAAM1Z,KAQR,IAAIya,EAAY7d,EAAOgb,WAkDvB,SAAS8C,IACRlhB,EAASmhB,oBAAqB,mBAAoBD,GAClD/gB,EAAOghB,oBAAqB,OAAQD,GACpC9d,EAAO4X,QAnDR5X,EAAOG,GAAGyX,MAAQ,SAAUzX,GAY3B,OAVA0d,EACE/D,KAAM3Z,GAKNmb,SAAO,SAAUlY,GACjBpD,EAAO4d,eAAgBxa,KAGlBpG,MAGRgD,EAAOmC,OAAQ,CAGdgB,SAAS,EAIT6a,UAAW,EAGXpG,MAAO,SAAUqG,KAGF,IAATA,IAAkBje,EAAOge,UAAYhe,EAAOmD,WAKjDnD,EAAOmD,SAAU,KAGZ8a,GAAsC,IAAnBje,EAAOge,WAK/BH,EAAUrB,YAAa5f,EAAU,CAAEoD,OAIrCA,EAAO4X,MAAMkC,KAAO+D,EAAU/D,KAaD,aAAxBld,EAASshB,YACa,YAAxBthB,EAASshB,aAA6BthB,EAAS+P,gBAAgBwR,SAGjEphB,EAAO+f,WAAY9c,EAAO4X,QAK1Bhb,EAASoQ,iBAAkB,mBAAoB8Q,GAG/C/gB,EAAOiQ,iBAAkB,OAAQ8Q,IAQlC,IAAIM,EAAS,SAAUtd,EAAOX,EAAIgL,EAAKhH,EAAOka,EAAWC,EAAUC,GAClE,IAAIpf,EAAI,EACP2C,EAAMhB,EAAMR,OACZke,EAAc,MAAPrT,EAGR,GAAuB,WAAlBrL,EAAQqL,GAEZ,IAAMhM,KADNkf,GAAY,EACDlT,EACViT,EAAQtd,EAAOX,EAAIhB,EAAGgM,EAAKhM,IAAK,EAAMmf,EAAUC,QAI3C,QAAezb,IAAVqB,IACXka,GAAY,EAENhgB,EAAY8F,KACjBoa,GAAM,GAGFC,IAGCD,GACJpe,EAAG1C,KAAMqD,EAAOqD,GAChBhE,EAAK,OAILqe,EAAOre,EACPA,EAAK,SAAUkB,EAAMod,EAAMta,GAC1B,OAAOqa,EAAK/gB,KAAMuC,EAAQqB,GAAQ8C,MAKhChE,GACJ,KAAQhB,EAAI2C,EAAK3C,IAChBgB,EACCW,EAAO3B,GAAKgM,EAAKoT,EAChBpa,EACAA,EAAM1G,KAAMqD,EAAO3B,GAAKA,EAAGgB,EAAIW,EAAO3B,GAAKgM,KAMhD,OAAKkT,EACGvd,EAIH0d,EACGre,EAAG1C,KAAMqD,GAGVgB,EAAM3B,EAAIW,EAAO,GAAKqK,GAAQmT,GAKlCI,EAAY,QACfC,EAAa,YAGd,SAASC,EAAYC,EAAMC,GAC1B,OAAOA,EAAOC,cAMf,SAASC,EAAWC,GACnB,OAAOA,EAAO/b,QAASwb,EAAW,OAAQxb,QAASyb,EAAYC,GAEhE,IAAIM,EAAa,SAAUC,GAQ1B,OAA0B,IAAnBA,EAAM5gB,UAAqC,IAAnB4gB,EAAM5gB,YAAsB4gB,EAAM5gB,UAMlE,SAAS6gB,IACRpiB,KAAK+F,QAAU/C,EAAO+C,QAAUqc,EAAKC,MAGtCD,EAAKC,IAAM,EAEXD,EAAK7e,UAAY,CAEhB2K,MAAO,SAAUiU,GAGhB,IAAIhb,EAAQgb,EAAOniB,KAAK+F,SA4BxB,OAzBMoB,IACLA,EAAQ,GAKH+a,EAAYC,KAIXA,EAAM5gB,SACV4gB,EAAOniB,KAAK+F,SAAYoB,EAMxB/G,OAAOkiB,eAAgBH,EAAOniB,KAAK+F,QAAS,CAC3CoB,MAAOA,EACPob,cAAc,MAMXpb,GAERqb,IAAK,SAAUL,EAAOM,EAAMtb,GAC3B,IAAIub,EACHxU,EAAQlO,KAAKkO,MAAOiU,GAIrB,GAAqB,iBAATM,EACXvU,EAAO8T,EAAWS,IAAWtb,OAM7B,IAAMub,KAAQD,EACbvU,EAAO8T,EAAWU,IAAWD,EAAMC,GAGrC,OAAOxU,GAERvK,IAAK,SAAUwe,EAAOhU,GACrB,YAAerI,IAARqI,EACNnO,KAAKkO,MAAOiU,GAGZA,EAAOniB,KAAK+F,UAAaoc,EAAOniB,KAAK+F,SAAWic,EAAW7T,KAE7DiT,OAAQ,SAAUe,EAAOhU,EAAKhH,GAa7B,YAAarB,IAARqI,GACCA,GAAsB,iBAARA,QAAgCrI,IAAVqB,EAElCnH,KAAK2D,IAAKwe,EAAOhU,IASzBnO,KAAKwiB,IAAKL,EAAOhU,EAAKhH,QAILrB,IAAVqB,EAAsBA,EAAQgH,IAEtCyP,OAAQ,SAAUuE,EAAOhU,GACxB,IAAIhM,EACH+L,EAAQiU,EAAOniB,KAAK+F,SAErB,QAAeD,IAAVoI,EAAL,CAIA,QAAapI,IAARqI,EAAoB,CAkBxBhM,GAXCgM,EAJIvI,MAAMC,QAASsI,GAIbA,EAAI/J,IAAK4d,IAEf7T,EAAM6T,EAAW7T,MAIJD,EACZ,CAAEC,GACAA,EAAIrB,MAAOoP,IAAmB,IAG1B5Y,OAER,MAAQnB,WACA+L,EAAOC,EAAKhM,UAKR2D,IAARqI,GAAqBnL,EAAOyD,cAAeyH,MAM1CiU,EAAM5gB,SACV4gB,EAAOniB,KAAK+F,cAAYD,SAEjBqc,EAAOniB,KAAK+F,YAItB4c,QAAS,SAAUR,GAClB,IAAIjU,EAAQiU,EAAOniB,KAAK+F,SACxB,YAAiBD,IAAVoI,IAAwBlL,EAAOyD,cAAeyH,KAGvD,IAAI0U,EAAW,IAAIR,EAEfS,EAAW,IAAIT,EAcfU,EAAS,gCACZC,EAAa,SA2Bd,SAASC,EAAU3e,EAAM8J,EAAKsU,GAC7B,IAAIpd,EA1Baod,EA8BjB,QAAc3c,IAAT2c,GAAwC,IAAlBpe,EAAK9C,SAI/B,GAHA8D,EAAO,QAAU8I,EAAIjI,QAAS6c,EAAY,OAAQtb,cAG7B,iBAFrBgb,EAAOpe,EAAK7B,aAAc6C,IAEM,CAC/B,IACCod,EAnCW,UADGA,EAoCEA,IA/BL,UAATA,IAIS,SAATA,EACG,KAIHA,KAAUA,EAAO,IACbA,EAGJK,EAAOrV,KAAMgV,GACVQ,KAAKC,MAAOT,GAGbA,GAeH,MAAQhW,IAGVoW,EAASL,IAAKne,EAAM8J,EAAKsU,QAEzBA,OAAO3c,EAGT,OAAO2c,EAGRzf,EAAOmC,OAAQ,CACdwd,QAAS,SAAUte,GAClB,OAAOwe,EAASF,QAASte,IAAUue,EAASD,QAASte,IAGtDoe,KAAM,SAAUpe,EAAMgB,EAAMod,GAC3B,OAAOI,EAASzB,OAAQ/c,EAAMgB,EAAMod,IAGrCU,WAAY,SAAU9e,EAAMgB,GAC3Bwd,EAASjF,OAAQvZ,EAAMgB,IAKxB+d,MAAO,SAAU/e,EAAMgB,EAAMod,GAC5B,OAAOG,EAASxB,OAAQ/c,EAAMgB,EAAMod,IAGrCY,YAAa,SAAUhf,EAAMgB,GAC5Bud,EAAShF,OAAQvZ,EAAMgB,MAIzBrC,EAAOG,GAAGgC,OAAQ,CACjBsd,KAAM,SAAUtU,EAAKhH,GACpB,IAAIhF,EAAGkD,EAAMod,EACZpe,EAAOrE,KAAM,GACb0O,EAAQrK,GAAQA,EAAKuF,WAGtB,QAAa9D,IAARqI,EAAoB,CACxB,GAAKnO,KAAKsD,SACTmf,EAAOI,EAASlf,IAAKU,GAEE,IAAlBA,EAAK9C,WAAmBqhB,EAASjf,IAAKU,EAAM,iBAAmB,CACnElC,EAAIuM,EAAMpL,OACV,MAAQnB,IAIFuM,EAAOvM,IAEsB,KADjCkD,EAAOqJ,EAAOvM,GAAIkD,MACRxE,QAAS,WAClBwE,EAAO2c,EAAW3c,EAAK/E,MAAO,IAC9B0iB,EAAU3e,EAAMgB,EAAMod,EAAMpd,KAI/Bud,EAASJ,IAAKne,EAAM,gBAAgB,GAItC,OAAOoe,EAIR,MAAoB,iBAARtU,EACJnO,KAAKkE,KAAM,WACjB2e,EAASL,IAAKxiB,KAAMmO,KAIfiT,EAAQphB,KAAM,SAAUmH,GAC9B,IAAIsb,EAOJ,GAAKpe,QAAkByB,IAAVqB,EAKZ,YAAcrB,KADd2c,EAAOI,EAASlf,IAAKU,EAAM8J,IAEnBsU,OAMM3c,KADd2c,EAAOO,EAAU3e,EAAM8J,IAEfsU,OAIR,EAIDziB,KAAKkE,KAAM,WAGV2e,EAASL,IAAKxiB,KAAMmO,EAAKhH,MAExB,KAAMA,EAA0B,EAAnB7C,UAAUhB,OAAY,MAAM,IAG7C6f,WAAY,SAAUhV,GACrB,OAAOnO,KAAKkE,KAAM,WACjB2e,EAASjF,OAAQ5d,KAAMmO,QAM1BnL,EAAOmC,OAAQ,CACdoY,MAAO,SAAUlZ,EAAM1C,EAAM8gB,GAC5B,IAAIlF,EAEJ,GAAKlZ,EAYJ,OAXA1C,GAASA,GAAQ,MAAS,QAC1B4b,EAAQqF,EAASjf,IAAKU,EAAM1C,GAGvB8gB,KACElF,GAAS3X,MAAMC,QAAS4c,GAC7BlF,EAAQqF,EAASxB,OAAQ/c,EAAM1C,EAAMqB,EAAO2D,UAAW8b,IAEvDlF,EAAM3c,KAAM6hB,IAGPlF,GAAS,IAIlB+F,QAAS,SAAUjf,EAAM1C,GACxBA,EAAOA,GAAQ,KAEf,IAAI4b,EAAQva,EAAOua,MAAOlZ,EAAM1C,GAC/B4hB,EAAchG,EAAMja,OACpBH,EAAKoa,EAAMlP,QACXmV,EAAQxgB,EAAOygB,YAAapf,EAAM1C,GAMvB,eAAPwB,IACJA,EAAKoa,EAAMlP,QACXkV,KAGIpgB,IAIU,OAATxB,GACJ4b,EAAM3L,QAAS,qBAIT4R,EAAME,KACbvgB,EAAG1C,KAAM4D,EApBF,WACNrB,EAAOsgB,QAASjf,EAAM1C,IAmBF6hB,KAGhBD,GAAeC,GACpBA,EAAM1N,MAAM2H,QAKdgG,YAAa,SAAUpf,EAAM1C,GAC5B,IAAIwM,EAAMxM,EAAO,aACjB,OAAOihB,EAASjf,IAAKU,EAAM8J,IAASyU,EAASxB,OAAQ/c,EAAM8J,EAAK,CAC/D2H,MAAO9S,EAAO+Z,UAAW,eAAgBvB,IAAK,WAC7CoH,EAAShF,OAAQvZ,EAAM,CAAE1C,EAAO,QAASwM,WAM7CnL,EAAOG,GAAGgC,OAAQ,CACjBoY,MAAO,SAAU5b,EAAM8gB,GACtB,IAAIkB,EAAS,EAQb,MANqB,iBAAThiB,IACX8gB,EAAO9gB,EACPA,EAAO,KACPgiB,KAGIrf,UAAUhB,OAASqgB,EAChB3gB,EAAOua,MAAOvd,KAAM,GAAK2B,QAGjBmE,IAAT2c,EACNziB,KACAA,KAAKkE,KAAM,WACV,IAAIqZ,EAAQva,EAAOua,MAAOvd,KAAM2B,EAAM8gB,GAGtCzf,EAAOygB,YAAazjB,KAAM2B,GAEZ,OAATA,GAAgC,eAAf4b,EAAO,IAC5Bva,EAAOsgB,QAAStjB,KAAM2B,MAI1B2hB,QAAS,SAAU3hB,GAClB,OAAO3B,KAAKkE,KAAM,WACjBlB,EAAOsgB,QAAStjB,KAAM2B,MAGxBiiB,WAAY,SAAUjiB,GACrB,OAAO3B,KAAKud,MAAO5b,GAAQ,KAAM,KAKlCib,QAAS,SAAUjb,EAAML,GACxB,IAAIqP,EACHkT,EAAQ,EACRC,EAAQ9gB,EAAOgb,WACflM,EAAW9R,KACXmC,EAAInC,KAAKsD,OACTkZ,EAAU,aACCqH,GACTC,EAAMtE,YAAa1N,EAAU,CAAEA,KAIb,iBAATnQ,IACXL,EAAMK,EACNA,OAAOmE,GAERnE,EAAOA,GAAQ,KAEf,MAAQQ,KACPwO,EAAMiS,EAASjf,IAAKmO,EAAU3P,GAAKR,EAAO,gBAC9BgP,EAAImF,QACf+N,IACAlT,EAAImF,MAAM0F,IAAKgB,IAIjB,OADAA,IACOsH,EAAMlH,QAAStb,MAGxB,IAAIyiB,GAAO,sCAA0CC,OAEjDC,GAAU,IAAIla,OAAQ,iBAAmBga,GAAO,cAAe,KAG/DG,GAAY,CAAE,MAAO,QAAS,SAAU,QAExCvU,GAAkB/P,EAAS+P,gBAI1BwU,GAAa,SAAU9f,GACzB,OAAOrB,EAAOyF,SAAUpE,EAAK6I,cAAe7I,IAE7C+f,GAAW,CAAEA,UAAU,GAOnBzU,GAAgB0U,cACpBF,GAAa,SAAU9f,GACtB,OAAOrB,EAAOyF,SAAUpE,EAAK6I,cAAe7I,IAC3CA,EAAKggB,YAAaD,MAAe/f,EAAK6I,gBAG1C,IAAIoX,GAAqB,SAAUjgB,EAAMmK,GAOvC,MAA8B,UAH9BnK,EAAOmK,GAAMnK,GAGDkgB,MAAMC,SACM,KAAvBngB,EAAKkgB,MAAMC,SAMXL,GAAY9f,IAEsB,SAAlCrB,EAAOyhB,IAAKpgB,EAAM,YAKrB,SAASqgB,GAAWrgB,EAAMqe,EAAMiC,EAAYC,GAC3C,IAAIC,EAAUC,EACbC,EAAgB,GAChBC,EAAeJ,EACd,WACC,OAAOA,EAAM9V,OAEd,WACC,OAAO9L,EAAOyhB,IAAKpgB,EAAMqe,EAAM,KAEjCuC,EAAUD,IACVE,EAAOP,GAAcA,EAAY,KAAS3hB,EAAOmiB,UAAWzC,GAAS,GAAK,MAG1E0C,EAAgB/gB,EAAK9C,WAClByB,EAAOmiB,UAAWzC,IAAmB,OAATwC,IAAkBD,IAChDhB,GAAQ9W,KAAMnK,EAAOyhB,IAAKpgB,EAAMqe,IAElC,GAAK0C,GAAiBA,EAAe,KAAQF,EAAO,CAInDD,GAAoB,EAGpBC,EAAOA,GAAQE,EAAe,GAG9BA,GAAiBH,GAAW,EAE5B,MAAQF,IAIP/hB,EAAOuhB,MAAOlgB,EAAMqe,EAAM0C,EAAgBF,IACnC,EAAIJ,IAAY,GAAMA,EAAQE,IAAiBC,GAAW,MAAW,IAC3EF,EAAgB,GAEjBK,GAAgCN,EAIjCM,GAAgC,EAChCpiB,EAAOuhB,MAAOlgB,EAAMqe,EAAM0C,EAAgBF,GAG1CP,EAAaA,GAAc,GAgB5B,OAbKA,IACJS,GAAiBA,IAAkBH,GAAW,EAG9CJ,EAAWF,EAAY,GACtBS,GAAkBT,EAAY,GAAM,GAAMA,EAAY,IACrDA,EAAY,GACTC,IACJA,EAAMM,KAAOA,EACbN,EAAM1Q,MAAQkR,EACdR,EAAM5f,IAAM6f,IAGPA,EAIR,IAAIQ,GAAoB,GAyBxB,SAASC,GAAUxT,EAAUyT,GAO5B,IANA,IAAIf,EAASngB,EAxBcA,EACvBuT,EACH1V,EACAmK,EACAmY,EAqBAgB,EAAS,GACTlK,EAAQ,EACRhY,EAASwO,EAASxO,OAGXgY,EAAQhY,EAAQgY,KACvBjX,EAAOyN,EAAUwJ,IACNiJ,QAIXC,EAAUngB,EAAKkgB,MAAMC,QAChBe,GAKa,SAAZf,IACJgB,EAAQlK,GAAUsH,EAASjf,IAAKU,EAAM,YAAe,KAC/CmhB,EAAQlK,KACbjX,EAAKkgB,MAAMC,QAAU,KAGK,KAAvBngB,EAAKkgB,MAAMC,SAAkBF,GAAoBjgB,KACrDmhB,EAAQlK,IA7CVkJ,EAFAtiB,EADG0V,OAAAA,EACH1V,GAF0BmC,EAiDaA,GA/C5B6I,cACXb,EAAWhI,EAAKgI,UAChBmY,EAAUa,GAAmBhZ,MAM9BuL,EAAO1V,EAAIujB,KAAK9iB,YAAaT,EAAII,cAAe+J,IAChDmY,EAAUxhB,EAAOyhB,IAAK7M,EAAM,WAE5BA,EAAKhV,WAAWC,YAAa+U,GAEZ,SAAZ4M,IACJA,EAAU,SAEXa,GAAmBhZ,GAAamY,MAkCb,SAAZA,IACJgB,EAAQlK,GAAU,OAGlBsH,EAASJ,IAAKne,EAAM,UAAWmgB,KAMlC,IAAMlJ,EAAQ,EAAGA,EAAQhY,EAAQgY,IACR,MAAnBkK,EAAQlK,KACZxJ,EAAUwJ,GAAQiJ,MAAMC,QAAUgB,EAAQlK,IAI5C,OAAOxJ,EAGR9O,EAAOG,GAAGgC,OAAQ,CACjBogB,KAAM,WACL,OAAOD,GAAUtlB,MAAM,IAExB0lB,KAAM,WACL,OAAOJ,GAAUtlB,OAElB2lB,OAAQ,SAAUxH,GACjB,MAAsB,kBAAVA,EACJA,EAAQne,KAAKulB,OAASvlB,KAAK0lB,OAG5B1lB,KAAKkE,KAAM,WACZogB,GAAoBtkB,MACxBgD,EAAQhD,MAAOulB,OAEfviB,EAAQhD,MAAO0lB,YAKnB,IAUEE,GACAhV,GAXEiV,GAAiB,wBAEjBC,GAAW,iCAEXC,GAAc,qCAMhBH,GADchmB,EAASomB,yBACRrjB,YAAa/C,EAAS0C,cAAe,SACpDsO,GAAQhR,EAAS0C,cAAe,UAM3BG,aAAc,OAAQ,SAC5BmO,GAAMnO,aAAc,UAAW,WAC/BmO,GAAMnO,aAAc,OAAQ,KAE5BmjB,GAAIjjB,YAAaiO,IAIjBxP,EAAQ6kB,WAAaL,GAAIM,WAAW,GAAOA,WAAW,GAAO7R,UAAUsB,QAIvEiQ,GAAI/U,UAAY,yBAChBzP,EAAQ+kB,iBAAmBP,GAAIM,WAAW,GAAO7R,UAAUuF,aAK3DgM,GAAI/U,UAAY,oBAChBzP,EAAQglB,SAAWR,GAAIvR,UAKxB,IAAIgS,GAAU,CAKbC,MAAO,CAAE,EAAG,UAAW,YACvBC,IAAK,CAAE,EAAG,oBAAqB,uBAC/BC,GAAI,CAAE,EAAG,iBAAkB,oBAC3BC,GAAI,CAAE,EAAG,qBAAsB,yBAE/BC,SAAU,CAAE,EAAG,GAAI,KAYpB,SAASC,GAAQzjB,EAASwN,GAIzB,IAAI3M,EAYJ,OATCA,EAD4C,oBAAjCb,EAAQoK,qBACbpK,EAAQoK,qBAAsBoD,GAAO,KAEI,oBAA7BxN,EAAQ4K,iBACpB5K,EAAQ4K,iBAAkB4C,GAAO,KAGjC,QAGM5K,IAAR4K,GAAqBA,GAAOrE,EAAUnJ,EAASwN,GAC5C1N,EAAOgB,MAAO,CAAEd,GAAWa,GAG5BA,EAKR,SAAS6iB,GAAe9iB,EAAO+iB,GAI9B,IAHA,IAAI1kB,EAAI,EACPiZ,EAAItX,EAAMR,OAEHnB,EAAIiZ,EAAGjZ,IACdygB,EAASJ,IACR1e,EAAO3B,GACP,cACC0kB,GAAejE,EAASjf,IAAKkjB,EAAa1kB,GAAK,eA1CnDkkB,GAAQS,MAAQT,GAAQU,MAAQV,GAAQW,SAAWX,GAAQY,QAAUZ,GAAQC,MAC7ED,GAAQa,GAAKb,GAAQI,GAGfrlB,EAAQglB,SACbC,GAAQc,SAAWd,GAAQD,OAAS,CAAE,EAAG,+BAAgC,cA2C1E,IAAIrb,GAAQ,YAEZ,SAASqc,GAAetjB,EAAOZ,EAASmkB,EAASC,EAAWC,GAO3D,IANA,IAAIljB,EAAMsM,EAAKD,EAAK8W,EAAMC,EAAU1iB,EACnC2iB,EAAWxkB,EAAQ8iB,yBACnB2B,EAAQ,GACRxlB,EAAI,EACJiZ,EAAItX,EAAMR,OAEHnB,EAAIiZ,EAAGjZ,IAGd,IAFAkC,EAAOP,EAAO3B,KAEQ,IAATkC,EAGZ,GAAwB,WAAnBvB,EAAQuB,GAIZrB,EAAOgB,MAAO2jB,EAAOtjB,EAAK9C,SAAW,CAAE8C,GAASA,QAG1C,GAAM0G,GAAM0C,KAAMpJ,GAIlB,CACNsM,EAAMA,GAAO+W,EAAS/kB,YAAaO,EAAQZ,cAAe,QAG1DoO,GAAQoV,GAAS3Y,KAAM9I,IAAU,CAAE,GAAI,KAAQ,GAAIoD,cACnD+f,EAAOnB,GAAS3V,IAAS2V,GAAQK,SACjC/V,EAAIE,UAAY2W,EAAM,GAAMxkB,EAAO4kB,cAAevjB,GAASmjB,EAAM,GAGjEziB,EAAIyiB,EAAM,GACV,MAAQziB,IACP4L,EAAMA,EAAI0D,UAKXrR,EAAOgB,MAAO2jB,EAAOhX,EAAInE,aAGzBmE,EAAM+W,EAASnV,YAGXD,YAAc,QAzBlBqV,EAAM/mB,KAAMsC,EAAQ2kB,eAAgBxjB,IA+BvCqjB,EAASpV,YAAc,GAEvBnQ,EAAI,EACJ,MAAUkC,EAAOsjB,EAAOxlB,KAGvB,GAAKmlB,IAAkD,EAArCtkB,EAAO6D,QAASxC,EAAMijB,GAClCC,GACJA,EAAQ3mB,KAAMyD,QAgBhB,GAXAojB,EAAWtD,GAAY9f,GAGvBsM,EAAMgW,GAAQe,EAAS/kB,YAAa0B,GAAQ,UAGvCojB,GACJb,GAAejW,GAIX0W,EAAU,CACdtiB,EAAI,EACJ,MAAUV,EAAOsM,EAAK5L,KAChBghB,GAAYtY,KAAMpJ,EAAK1C,MAAQ,KACnC0lB,EAAQzmB,KAAMyD,GAMlB,OAAOqjB,EAIR,IAAII,GAAiB,sBAErB,SAASC,KACR,OAAO,EAGR,SAASC,KACR,OAAO,EASR,SAASC,GAAY5jB,EAAM1C,GAC1B,OAAS0C,IAMV,WACC,IACC,OAAOzE,EAAS0V,cACf,MAAQ4S,KATQC,KAAqC,UAATxmB,GAY/C,SAASymB,GAAI/jB,EAAMgkB,EAAOplB,EAAUwf,EAAMtf,EAAImlB,GAC7C,IAAIC,EAAQ5mB,EAGZ,GAAsB,iBAAV0mB,EAAqB,CAShC,IAAM1mB,IANmB,iBAAbsB,IAGXwf,EAAOA,GAAQxf,EACfA,OAAW6C,GAEEuiB,EACbD,GAAI/jB,EAAM1C,EAAMsB,EAAUwf,EAAM4F,EAAO1mB,GAAQ2mB,GAEhD,OAAOjkB,EAsBR,GAnBa,MAARoe,GAAsB,MAANtf,GAGpBA,EAAKF,EACLwf,EAAOxf,OAAW6C,GACD,MAAN3C,IACc,iBAAbF,GAGXE,EAAKsf,EACLA,OAAO3c,IAIP3C,EAAKsf,EACLA,EAAOxf,EACPA,OAAW6C,KAGD,IAAP3C,EACJA,EAAK6kB,QACC,IAAM7kB,EACZ,OAAOkB,EAeR,OAZa,IAARikB,IACJC,EAASplB,GACTA,EAAK,SAAUqlB,GAId,OADAxlB,IAASylB,IAAKD,GACPD,EAAO5nB,MAAOX,KAAMsE,aAIzB8C,KAAOmhB,EAAOnhB,OAAUmhB,EAAOnhB,KAAOpE,EAAOoE,SAE1C/C,EAAKH,KAAM,WACjBlB,EAAOwlB,MAAMhN,IAAKxb,KAAMqoB,EAAOllB,EAAIsf,EAAMxf,KA+a3C,SAASylB,GAAgBla,EAAI7M,EAAMsmB,GAG5BA,GAQNrF,EAASJ,IAAKhU,EAAI7M,GAAM,GACxBqB,EAAOwlB,MAAMhN,IAAKhN,EAAI7M,EAAM,CAC3B8N,WAAW,EACXd,QAAS,SAAU6Z,GAClB,IAAIG,EAAUpV,EACbqV,EAAQhG,EAASjf,IAAK3D,KAAM2B,GAE7B,GAAyB,EAAlB6mB,EAAMK,WAAmB7oB,KAAM2B,IAKrC,GAAMinB,EAAMtlB,QAuCEN,EAAOwlB,MAAMrJ,QAASxd,IAAU,IAAKmnB,cAClDN,EAAMO,uBArBN,GAdAH,EAAQtoB,EAAMG,KAAM6D,WACpBse,EAASJ,IAAKxiB,KAAM2B,EAAMinB,GAK1BD,EAAWV,EAAYjoB,KAAM2B,GAC7B3B,KAAM2B,KAEDinB,KADLrV,EAASqP,EAASjf,IAAK3D,KAAM2B,KACJgnB,EACxB/F,EAASJ,IAAKxiB,KAAM2B,GAAM,GAE1B4R,EAAS,GAELqV,IAAUrV,EAWd,OARAiV,EAAMQ,2BACNR,EAAMS,iBAOC1V,GAAUA,EAAOpM,WAefyhB,EAAMtlB,SAGjBsf,EAASJ,IAAKxiB,KAAM2B,EAAM,CACzBwF,MAAOnE,EAAOwlB,MAAMU,QAInBlmB,EAAOmC,OAAQyjB,EAAO,GAAK5lB,EAAOmmB,MAAM5lB,WACxCqlB,EAAMtoB,MAAO,GACbN,QAKFwoB,EAAMQ,qCA/E0BljB,IAA7B8c,EAASjf,IAAK6K,EAAI7M,IACtBqB,EAAOwlB,MAAMhN,IAAKhN,EAAI7M,EAAMomB,IA5a/B/kB,EAAOwlB,MAAQ,CAEdhpB,OAAQ,GAERgc,IAAK,SAAUnX,EAAMgkB,EAAO1Z,EAAS8T,EAAMxf,GAE1C,IAAImmB,EAAaC,EAAa1Y,EAC7B2Y,EAAQC,EAAGC,EACXrK,EAASsK,EAAU9nB,EAAM+nB,EAAYC,EACrCC,EAAWhH,EAASjf,IAAKU,GAG1B,GAAM6d,EAAY7d,GAAlB,CAKKsK,EAAQA,UAEZA,GADAya,EAAcza,GACQA,QACtB1L,EAAWmmB,EAAYnmB,UAKnBA,GACJD,EAAOwN,KAAKM,gBAAiBnB,GAAiB1M,GAIzC0L,EAAQvH,OACbuH,EAAQvH,KAAOpE,EAAOoE,SAIfkiB,EAASM,EAASN,UACzBA,EAASM,EAASN,OAASlpB,OAAOypB,OAAQ,QAEnCR,EAAcO,EAASE,UAC9BT,EAAcO,EAASE,OAAS,SAAUrd,GAIzC,MAAyB,oBAAXzJ,GAA0BA,EAAOwlB,MAAMuB,YAActd,EAAE9K,KACpEqB,EAAOwlB,MAAMwB,SAASrpB,MAAO0D,EAAMC,gBAAcwB,IAMpDyjB,GADAlB,GAAUA,GAAS,IAAKvb,MAAOoP,IAAmB,CAAE,KAC1C5Y,OACV,MAAQimB,IAEP5nB,EAAOgoB,GADPhZ,EAAMmX,GAAe3a,KAAMkb,EAAOkB,KAAS,IACpB,GACvBG,GAAe/Y,EAAK,IAAO,IAAKpJ,MAAO,KAAMtC,OAGvCtD,IAKNwd,EAAUnc,EAAOwlB,MAAMrJ,QAASxd,IAAU,GAG1CA,GAASsB,EAAWkc,EAAQ2J,aAAe3J,EAAQ8K,WAActoB,EAGjEwd,EAAUnc,EAAOwlB,MAAMrJ,QAASxd,IAAU,GAG1C6nB,EAAYxmB,EAAOmC,OAAQ,CAC1BxD,KAAMA,EACNgoB,SAAUA,EACVlH,KAAMA,EACN9T,QAASA,EACTvH,KAAMuH,EAAQvH,KACdnE,SAAUA,EACV6H,aAAc7H,GAAYD,EAAO6O,KAAK/E,MAAMhC,aAAa2C,KAAMxK,GAC/DwM,UAAWia,EAAW7b,KAAM,MAC1Bub,IAGKK,EAAWH,EAAQ3nB,OAC1B8nB,EAAWH,EAAQ3nB,GAAS,IACnBuoB,cAAgB,EAGnB/K,EAAQgL,QACiD,IAA9DhL,EAAQgL,MAAM1pB,KAAM4D,EAAMoe,EAAMiH,EAAYL,IAEvChlB,EAAK2L,kBACT3L,EAAK2L,iBAAkBrO,EAAM0nB,IAK3BlK,EAAQ3D,MACZ2D,EAAQ3D,IAAI/a,KAAM4D,EAAMmlB,GAElBA,EAAU7a,QAAQvH,OACvBoiB,EAAU7a,QAAQvH,KAAOuH,EAAQvH,OAK9BnE,EACJwmB,EAASvkB,OAAQukB,EAASS,gBAAiB,EAAGV,GAE9CC,EAAS7oB,KAAM4oB,GAIhBxmB,EAAOwlB,MAAMhpB,OAAQmC,IAAS,KAMhCic,OAAQ,SAAUvZ,EAAMgkB,EAAO1Z,EAAS1L,EAAUmnB,GAEjD,IAAIrlB,EAAGslB,EAAW1Z,EACjB2Y,EAAQC,EAAGC,EACXrK,EAASsK,EAAU9nB,EAAM+nB,EAAYC,EACrCC,EAAWhH,EAASD,QAASte,IAAUue,EAASjf,IAAKU,GAEtD,GAAMulB,IAAeN,EAASM,EAASN,QAAvC,CAMAC,GADAlB,GAAUA,GAAS,IAAKvb,MAAOoP,IAAmB,CAAE,KAC1C5Y,OACV,MAAQimB,IAMP,GAJA5nB,EAAOgoB,GADPhZ,EAAMmX,GAAe3a,KAAMkb,EAAOkB,KAAS,IACpB,GACvBG,GAAe/Y,EAAK,IAAO,IAAKpJ,MAAO,KAAMtC,OAGvCtD,EAAN,CAOAwd,EAAUnc,EAAOwlB,MAAMrJ,QAASxd,IAAU,GAE1C8nB,EAAWH,EADX3nB,GAASsB,EAAWkc,EAAQ2J,aAAe3J,EAAQ8K,WAActoB,IACpC,GAC7BgP,EAAMA,EAAK,IACV,IAAI5G,OAAQ,UAAY2f,EAAW7b,KAAM,iBAAoB,WAG9Dwc,EAAYtlB,EAAI0kB,EAASnmB,OACzB,MAAQyB,IACPykB,EAAYC,EAAU1kB,IAEfqlB,GAAeT,IAAaH,EAAUG,UACzChb,GAAWA,EAAQvH,OAASoiB,EAAUpiB,MACtCuJ,IAAOA,EAAIlD,KAAM+b,EAAU/Z,YAC3BxM,GAAYA,IAAaumB,EAAUvmB,WACxB,OAAbA,IAAqBumB,EAAUvmB,YAChCwmB,EAASvkB,OAAQH,EAAG,GAEfykB,EAAUvmB,UACdwmB,EAASS,gBAEL/K,EAAQvB,QACZuB,EAAQvB,OAAOnd,KAAM4D,EAAMmlB,IAOzBa,IAAcZ,EAASnmB,SACrB6b,EAAQmL,WACkD,IAA/DnL,EAAQmL,SAAS7pB,KAAM4D,EAAMqlB,EAAYE,EAASE,SAElD9mB,EAAOunB,YAAalmB,EAAM1C,EAAMioB,EAASE,eAGnCR,EAAQ3nB,SA1Cf,IAAMA,KAAQ2nB,EACbtmB,EAAOwlB,MAAM5K,OAAQvZ,EAAM1C,EAAO0mB,EAAOkB,GAAK5a,EAAS1L,GAAU,GA8C/DD,EAAOyD,cAAe6iB,IAC1B1G,EAAShF,OAAQvZ,EAAM,mBAIzB2lB,SAAU,SAAUQ,GAEnB,IAAIroB,EAAG4C,EAAGhB,EAAK4Q,EAAS6U,EAAWiB,EAClCjW,EAAO,IAAI5O,MAAOtB,UAAUhB,QAG5BklB,EAAQxlB,EAAOwlB,MAAMkC,IAAKF,GAE1Bf,GACC7G,EAASjf,IAAK3D,KAAM,WAAcI,OAAOypB,OAAQ,OAC/CrB,EAAM7mB,OAAU,GACnBwd,EAAUnc,EAAOwlB,MAAMrJ,QAASqJ,EAAM7mB,OAAU,GAKjD,IAFA6S,EAAM,GAAMgU,EAENrmB,EAAI,EAAGA,EAAImC,UAAUhB,OAAQnB,IAClCqS,EAAMrS,GAAMmC,UAAWnC,GAMxB,GAHAqmB,EAAMmC,eAAiB3qB,MAGlBmf,EAAQyL,cAA2D,IAA5CzL,EAAQyL,YAAYnqB,KAAMT,KAAMwoB,GAA5D,CAKAiC,EAAeznB,EAAOwlB,MAAMiB,SAAShpB,KAAMT,KAAMwoB,EAAOiB,GAGxDtnB,EAAI,EACJ,OAAUwS,EAAU8V,EAActoB,QAAYqmB,EAAMqC,uBAAyB,CAC5ErC,EAAMsC,cAAgBnW,EAAQtQ,KAE9BU,EAAI,EACJ,OAAUykB,EAAY7U,EAAQ8U,SAAU1kB,QACtCyjB,EAAMuC,gCAIDvC,EAAMwC,aAAsC,IAAxBxB,EAAU/Z,YACnC+Y,EAAMwC,WAAWvd,KAAM+b,EAAU/Z,aAEjC+Y,EAAMgB,UAAYA,EAClBhB,EAAM/F,KAAO+G,EAAU/G,UAKV3c,KAHb/B,IAAUf,EAAOwlB,MAAMrJ,QAASqK,EAAUG,WAAc,IAAKG,QAC5DN,EAAU7a,SAAUhO,MAAOgU,EAAQtQ,KAAMmQ,MAGT,KAAzBgU,EAAMjV,OAASxP,KACrBykB,EAAMS,iBACNT,EAAMO,oBAYX,OAJK5J,EAAQ8L,cACZ9L,EAAQ8L,aAAaxqB,KAAMT,KAAMwoB,GAG3BA,EAAMjV,SAGdkW,SAAU,SAAUjB,EAAOiB,GAC1B,IAAItnB,EAAGqnB,EAAWvX,EAAKiZ,EAAiBC,EACvCV,EAAe,GACfP,EAAgBT,EAASS,cACzBpb,EAAM0Z,EAAM/iB,OAGb,GAAKykB,GAIJpb,EAAIvN,YAOc,UAAfinB,EAAM7mB,MAAoC,GAAhB6mB,EAAMxS,QAEnC,KAAQlH,IAAQ9O,KAAM8O,EAAMA,EAAIlM,YAAc5C,KAI7C,GAAsB,IAAjB8O,EAAIvN,WAAoC,UAAfinB,EAAM7mB,OAAqC,IAAjBmN,EAAI1C,UAAsB,CAGjF,IAFA8e,EAAkB,GAClBC,EAAmB,GACbhpB,EAAI,EAAGA,EAAI+nB,EAAe/nB,SAME2D,IAA5BqlB,EAFLlZ,GAHAuX,EAAYC,EAAUtnB,IAGNc,SAAW,OAG1BkoB,EAAkBlZ,GAAQuX,EAAU1e,cACC,EAApC9H,EAAQiP,EAAKjS,MAAOsb,MAAOxM,GAC3B9L,EAAOwN,KAAMyB,EAAKjS,KAAM,KAAM,CAAE8O,IAAQxL,QAErC6nB,EAAkBlZ,IACtBiZ,EAAgBtqB,KAAM4oB,GAGnB0B,EAAgB5nB,QACpBmnB,EAAa7pB,KAAM,CAAEyD,KAAMyK,EAAK2a,SAAUyB,IAY9C,OALApc,EAAM9O,KACDkqB,EAAgBT,EAASnmB,QAC7BmnB,EAAa7pB,KAAM,CAAEyD,KAAMyK,EAAK2a,SAAUA,EAASnpB,MAAO4pB,KAGpDO,GAGRW,QAAS,SAAU/lB,EAAMgmB,GACxBjrB,OAAOkiB,eAAgBtf,EAAOmmB,MAAM5lB,UAAW8B,EAAM,CACpDimB,YAAY,EACZ/I,cAAc,EAEd5e,IAAKtC,EAAYgqB,GAChB,WACC,GAAKrrB,KAAKurB,cACT,OAAOF,EAAMrrB,KAAKurB,gBAGpB,WACC,GAAKvrB,KAAKurB,cACT,OAAOvrB,KAAKurB,cAAelmB,IAI9Bmd,IAAK,SAAUrb,GACd/G,OAAOkiB,eAAgBtiB,KAAMqF,EAAM,CAClCimB,YAAY,EACZ/I,cAAc,EACdiJ,UAAU,EACVrkB,MAAOA,QAMXujB,IAAK,SAAUa,GACd,OAAOA,EAAevoB,EAAO+C,SAC5BwlB,EACA,IAAIvoB,EAAOmmB,MAAOoC,IAGpBpM,QAAS,CACRsM,KAAM,CAGLC,UAAU,GAEXC,MAAO,CAGNxB,MAAO,SAAU1H,GAIhB,IAAIjU,EAAKxO,MAAQyiB,EAWjB,OARKoD,GAAepY,KAAMe,EAAG7M,OAC5B6M,EAAGmd,OAAStf,EAAUmC,EAAI,UAG1Bka,GAAgBla,EAAI,QAASuZ,KAIvB,GAERmB,QAAS,SAAUzG,GAIlB,IAAIjU,EAAKxO,MAAQyiB,EAUjB,OAPKoD,GAAepY,KAAMe,EAAG7M,OAC5B6M,EAAGmd,OAAStf,EAAUmC,EAAI,UAE1Bka,GAAgBla,EAAI,UAId,GAKRkY,SAAU,SAAU8B,GACnB,IAAI/iB,EAAS+iB,EAAM/iB,OACnB,OAAOogB,GAAepY,KAAMhI,EAAO9D,OAClC8D,EAAOkmB,OAAStf,EAAU5G,EAAQ,UAClCmd,EAASjf,IAAK8B,EAAQ,UACtB4G,EAAU5G,EAAQ,OAIrBmmB,aAAc,CACbX,aAAc,SAAUzC,QAID1iB,IAAjB0iB,EAAMjV,QAAwBiV,EAAM+C,gBACxC/C,EAAM+C,cAAcM,YAAcrD,EAAMjV,YAoG7CvQ,EAAOunB,YAAc,SAAUlmB,EAAM1C,EAAMmoB,GAGrCzlB,EAAK0c,qBACT1c,EAAK0c,oBAAqBpf,EAAMmoB,IAIlC9mB,EAAOmmB,MAAQ,SAAUvnB,EAAKkqB,GAG7B,KAAQ9rB,gBAAgBgD,EAAOmmB,OAC9B,OAAO,IAAInmB,EAAOmmB,MAAOvnB,EAAKkqB,GAI1BlqB,GAAOA,EAAID,MACf3B,KAAKurB,cAAgB3pB,EACrB5B,KAAK2B,KAAOC,EAAID,KAIhB3B,KAAK+rB,mBAAqBnqB,EAAIoqB,uBACHlmB,IAAzBlE,EAAIoqB,mBAGgB,IAApBpqB,EAAIiqB,YACL9D,GACAC,GAKDhoB,KAAKyF,OAAW7D,EAAI6D,QAAkC,IAAxB7D,EAAI6D,OAAOlE,SACxCK,EAAI6D,OAAO7C,WACXhB,EAAI6D,OAELzF,KAAK8qB,cAAgBlpB,EAAIkpB,cACzB9qB,KAAKisB,cAAgBrqB,EAAIqqB,eAIzBjsB,KAAK2B,KAAOC,EAIRkqB,GACJ9oB,EAAOmC,OAAQnF,KAAM8rB,GAItB9rB,KAAKksB,UAAYtqB,GAAOA,EAAIsqB,WAAaxjB,KAAKyjB,MAG9CnsB,KAAMgD,EAAO+C,UAAY,GAK1B/C,EAAOmmB,MAAM5lB,UAAY,CACxBE,YAAaT,EAAOmmB,MACpB4C,mBAAoB/D,GACpB6C,qBAAsB7C,GACtB+C,8BAA+B/C,GAC/BoE,aAAa,EAEbnD,eAAgB,WACf,IAAIxc,EAAIzM,KAAKurB,cAEbvrB,KAAK+rB,mBAAqBhE,GAErBtb,IAAMzM,KAAKosB,aACf3f,EAAEwc,kBAGJF,gBAAiB,WAChB,IAAItc,EAAIzM,KAAKurB,cAEbvrB,KAAK6qB,qBAAuB9C,GAEvBtb,IAAMzM,KAAKosB,aACf3f,EAAEsc,mBAGJC,yBAA0B,WACzB,IAAIvc,EAAIzM,KAAKurB,cAEbvrB,KAAK+qB,8BAAgChD,GAEhCtb,IAAMzM,KAAKosB,aACf3f,EAAEuc,2BAGHhpB,KAAK+oB,oBAKP/lB,EAAOkB,KAAM,CACZmoB,QAAQ,EACRC,SAAS,EACTC,YAAY,EACZC,gBAAgB,EAChBC,SAAS,EACTC,QAAQ,EACRC,YAAY,EACZC,SAAS,EACTC,OAAO,EACPC,OAAO,EACPC,UAAU,EACVC,MAAM,EACNC,QAAQ,EACRjrB,MAAM,EACNkrB,UAAU,EACV/e,KAAK,EACLgf,SAAS,EACTnX,QAAQ,EACRoX,SAAS,EACTC,SAAS,EACTC,SAAS,EACTC,SAAS,EACTC,SAAS,EACTC,WAAW,EACXC,aAAa,EACbC,SAAS,EACTC,SAAS,EACTC,eAAe,EACfC,WAAW,EACXC,SAAS,EACTC,OAAO,GACLhrB,EAAOwlB,MAAM4C,SAEhBpoB,EAAOkB,KAAM,CAAEmR,MAAO,UAAW4Y,KAAM,YAAc,SAAUtsB,EAAMmnB,GACpE9lB,EAAOwlB,MAAMrJ,QAASxd,GAAS,CAG9BwoB,MAAO,WAQN,OAHAzB,GAAgB1oB,KAAM2B,EAAMsmB,KAGrB,GAERiB,QAAS,WAMR,OAHAR,GAAgB1oB,KAAM2B,IAGf,GAKR+kB,SAAU,WACT,OAAO,GAGRoC,aAAcA,KAYhB9lB,EAAOkB,KAAM,CACZgqB,WAAY,YACZC,WAAY,WACZC,aAAc,cACdC,aAAc,cACZ,SAAUC,EAAM5D,GAClB1nB,EAAOwlB,MAAMrJ,QAASmP,GAAS,CAC9BxF,aAAc4B,EACdT,SAAUS,EAEVZ,OAAQ,SAAUtB,GACjB,IAAIzkB,EAEHwqB,EAAU/F,EAAMyD,cAChBzC,EAAYhB,EAAMgB,UASnB,OALM+E,IAAaA,IANTvuB,MAMgCgD,EAAOyF,SANvCzI,KAMyDuuB,MAClE/F,EAAM7mB,KAAO6nB,EAAUG,SACvB5lB,EAAMylB,EAAU7a,QAAQhO,MAAOX,KAAMsE,WACrCkkB,EAAM7mB,KAAO+oB,GAEP3mB,MAKVf,EAAOG,GAAGgC,OAAQ,CAEjBijB,GAAI,SAAUC,EAAOplB,EAAUwf,EAAMtf,GACpC,OAAOilB,GAAIpoB,KAAMqoB,EAAOplB,EAAUwf,EAAMtf,IAEzCmlB,IAAK,SAAUD,EAAOplB,EAAUwf,EAAMtf,GACrC,OAAOilB,GAAIpoB,KAAMqoB,EAAOplB,EAAUwf,EAAMtf,EAAI,IAE7CslB,IAAK,SAAUJ,EAAOplB,EAAUE,GAC/B,IAAIqmB,EAAW7nB,EACf,GAAK0mB,GAASA,EAAMY,gBAAkBZ,EAAMmB,UAW3C,OARAA,EAAYnB,EAAMmB,UAClBxmB,EAAQqlB,EAAMsC,gBAAiBlC,IAC9Be,EAAU/Z,UACT+Z,EAAUG,SAAW,IAAMH,EAAU/Z,UACrC+Z,EAAUG,SACXH,EAAUvmB,SACVumB,EAAU7a,SAEJ3O,KAER,GAAsB,iBAAVqoB,EAAqB,CAGhC,IAAM1mB,KAAQ0mB,EACbroB,KAAKyoB,IAAK9mB,EAAMsB,EAAUolB,EAAO1mB,IAElC,OAAO3B,KAWR,OATkB,IAAbiD,GAA0C,mBAAbA,IAGjCE,EAAKF,EACLA,OAAW6C,IAEA,IAAP3C,IACJA,EAAK6kB,IAEChoB,KAAKkE,KAAM,WACjBlB,EAAOwlB,MAAM5K,OAAQ5d,KAAMqoB,EAAOllB,EAAIF,QAMzC,IAKCurB,GAAe,wBAGfC,GAAW,oCACXC,GAAe,2CAGhB,SAASC,GAAoBtqB,EAAM2X,GAClC,OAAK3P,EAAUhI,EAAM,UACpBgI,EAA+B,KAArB2P,EAAQza,SAAkBya,EAAUA,EAAQzJ,WAAY,OAE3DvP,EAAQqB,GAAO0W,SAAU,SAAW,IAGrC1W,EAIR,SAASuqB,GAAevqB,GAEvB,OADAA,EAAK1C,MAAyC,OAAhC0C,EAAK7B,aAAc,SAAsB,IAAM6B,EAAK1C,KAC3D0C,EAER,SAASwqB,GAAexqB,GAOvB,MAN2C,WAApCA,EAAK1C,MAAQ,IAAKrB,MAAO,EAAG,GAClC+D,EAAK1C,KAAO0C,EAAK1C,KAAKrB,MAAO,GAE7B+D,EAAK2J,gBAAiB,QAGhB3J,EAGR,SAASyqB,GAAgBltB,EAAKmtB,GAC7B,IAAI5sB,EAAGiZ,EAAGzZ,EAAgBqtB,EAAUC,EAAU3F,EAE9C,GAAuB,IAAlByF,EAAKxtB,SAAV,CAKA,GAAKqhB,EAASD,QAAS/gB,KAEtB0nB,EADW1G,EAASjf,IAAK/B,GACP0nB,QAKjB,IAAM3nB,KAFNihB,EAAShF,OAAQmR,EAAM,iBAETzF,EACb,IAAMnnB,EAAI,EAAGiZ,EAAIkO,EAAQ3nB,GAAO2B,OAAQnB,EAAIiZ,EAAGjZ,IAC9Ca,EAAOwlB,MAAMhN,IAAKuT,EAAMptB,EAAM2nB,EAAQ3nB,GAAQQ,IAO7C0gB,EAASF,QAAS/gB,KACtBotB,EAAWnM,EAASzB,OAAQxf,GAC5BqtB,EAAWjsB,EAAOmC,OAAQ,GAAI6pB,GAE9BnM,EAASL,IAAKuM,EAAME,KAkBtB,SAASC,GAAUC,EAAY3a,EAAMrQ,EAAUojB,GAG9C/S,EAAOjU,EAAMiU,GAEb,IAAIkT,EAAUnjB,EAAO8iB,EAAS+H,EAAYntB,EAAMC,EAC/CC,EAAI,EACJiZ,EAAI+T,EAAW7rB,OACf+rB,EAAWjU,EAAI,EACfjU,EAAQqN,EAAM,GACd8a,EAAkBjuB,EAAY8F,GAG/B,GAAKmoB,GACG,EAAJlU,GAA0B,iBAAVjU,IAChB/F,EAAQ6kB,YAAcwI,GAAShhB,KAAMtG,GACxC,OAAOgoB,EAAWjrB,KAAM,SAAUoX,GACjC,IAAIb,EAAO0U,EAAW3qB,GAAI8W,GACrBgU,IACJ9a,EAAM,GAAMrN,EAAM1G,KAAMT,KAAMsb,EAAOb,EAAK8U,SAE3CL,GAAUzU,EAAMjG,EAAMrQ,EAAUojB,KAIlC,GAAKnM,IAEJ7W,GADAmjB,EAAWN,GAAe5S,EAAM2a,EAAY,GAAIjiB,eAAe,EAAOiiB,EAAY5H,IACjEhV,WAEmB,IAA/BmV,EAASlb,WAAWlJ,SACxBokB,EAAWnjB,GAIPA,GAASgjB,GAAU,CAOvB,IALA6H,GADA/H,EAAUrkB,EAAOoB,IAAKuiB,GAAQe,EAAU,UAAYkH,KAC/BtrB,OAKbnB,EAAIiZ,EAAGjZ,IACdF,EAAOylB,EAEFvlB,IAAMktB,IACVptB,EAAOe,EAAOwC,MAAOvD,GAAM,GAAM,GAG5BmtB,GAIJpsB,EAAOgB,MAAOqjB,EAASV,GAAQ1kB,EAAM,YAIvCkC,EAAS1D,KAAM0uB,EAAYhtB,GAAKF,EAAME,GAGvC,GAAKitB,EAOJ,IANAltB,EAAMmlB,EAASA,EAAQ/jB,OAAS,GAAI4J,cAGpClK,EAAOoB,IAAKijB,EAASwH,IAGf1sB,EAAI,EAAGA,EAAIitB,EAAYjtB,IAC5BF,EAAOolB,EAASllB,GACX4jB,GAAYtY,KAAMxL,EAAKN,MAAQ,MAClCihB,EAASxB,OAAQnf,EAAM,eACxBe,EAAOyF,SAAUvG,EAAKD,KAEjBA,EAAKL,KAA8C,YAArCK,EAAKN,MAAQ,IAAK8F,cAG/BzE,EAAOwsB,WAAavtB,EAAKH,UAC7BkB,EAAOwsB,SAAUvtB,EAAKL,IAAK,CAC1BC,MAAOI,EAAKJ,OAASI,EAAKO,aAAc,UACtCN,GAGJH,EAASE,EAAKqQ,YAAYpM,QAASwoB,GAAc,IAAMzsB,EAAMC,IAQnE,OAAOitB,EAGR,SAASvR,GAAQvZ,EAAMpB,EAAUwsB,GAKhC,IAJA,IAAIxtB,EACH0lB,EAAQ1kB,EAAWD,EAAOsN,OAAQrN,EAAUoB,GAASA,EACrDlC,EAAI,EAE4B,OAAvBF,EAAO0lB,EAAOxlB,IAAeA,IAChCstB,GAA8B,IAAlBxtB,EAAKV,UACtByB,EAAO0sB,UAAW/I,GAAQ1kB,IAGtBA,EAAKW,aACJ6sB,GAAYtL,GAAYliB,IAC5B2kB,GAAeD,GAAQ1kB,EAAM,WAE9BA,EAAKW,WAAWC,YAAaZ,IAI/B,OAAOoC,EAGRrB,EAAOmC,OAAQ,CACdyiB,cAAe,SAAU2H,GACxB,OAAOA,GAGR/pB,MAAO,SAAUnB,EAAMsrB,EAAeC,GACrC,IAAIztB,EAAGiZ,EAAGyU,EAAaC,EApINluB,EAAKmtB,EACnB1iB,EAoIF7G,EAAQnB,EAAK6hB,WAAW,GACxB6J,EAAS5L,GAAY9f,GAGtB,KAAMjD,EAAQ+kB,gBAAsC,IAAlB9hB,EAAK9C,UAAoC,KAAlB8C,EAAK9C,UAC3DyB,EAAO8W,SAAUzV,IAMnB,IAHAyrB,EAAenJ,GAAQnhB,GAGjBrD,EAAI,EAAGiZ,GAFbyU,EAAclJ,GAAQtiB,IAEOf,OAAQnB,EAAIiZ,EAAGjZ,IAhJ5BP,EAiJLiuB,EAAa1tB,GAjJH4sB,EAiJQe,EAAc3tB,QAhJzCkK,EAGc,WAHdA,EAAW0iB,EAAK1iB,SAAS5E,gBAGAoe,GAAepY,KAAM7L,EAAID,MACrDotB,EAAKpZ,QAAU/T,EAAI+T,QAGK,UAAbtJ,GAAqC,aAAbA,IACnC0iB,EAAKnV,aAAehY,EAAIgY,cA6IxB,GAAK+V,EACJ,GAAKC,EAIJ,IAHAC,EAAcA,GAAelJ,GAAQtiB,GACrCyrB,EAAeA,GAAgBnJ,GAAQnhB,GAEjCrD,EAAI,EAAGiZ,EAAIyU,EAAYvsB,OAAQnB,EAAIiZ,EAAGjZ,IAC3C2sB,GAAgBe,EAAa1tB,GAAK2tB,EAAc3tB,SAGjD2sB,GAAgBzqB,EAAMmB,GAWxB,OAL2B,GAD3BsqB,EAAenJ,GAAQnhB,EAAO,WACZlC,QACjBsjB,GAAekJ,GAAeC,GAAUpJ,GAAQtiB,EAAM,WAIhDmB,GAGRkqB,UAAW,SAAU5rB,GAKpB,IAJA,IAAI2e,EAAMpe,EAAM1C,EACfwd,EAAUnc,EAAOwlB,MAAMrJ,QACvBhd,EAAI,OAE6B2D,KAAxBzB,EAAOP,EAAO3B,IAAqBA,IAC5C,GAAK+f,EAAY7d,GAAS,CACzB,GAAOoe,EAAOpe,EAAMue,EAAS7c,SAAc,CAC1C,GAAK0c,EAAK6G,OACT,IAAM3nB,KAAQ8gB,EAAK6G,OACbnK,EAASxd,GACbqB,EAAOwlB,MAAM5K,OAAQvZ,EAAM1C,GAI3BqB,EAAOunB,YAAalmB,EAAM1C,EAAM8gB,EAAKqH,QAOxCzlB,EAAMue,EAAS7c,cAAYD,EAEvBzB,EAAMwe,EAAS9c,WAInB1B,EAAMwe,EAAS9c,cAAYD,OAOhC9C,EAAOG,GAAGgC,OAAQ,CACjB6qB,OAAQ,SAAU/sB,GACjB,OAAO2a,GAAQ5d,KAAMiD,GAAU,IAGhC2a,OAAQ,SAAU3a,GACjB,OAAO2a,GAAQ5d,KAAMiD,IAGtBV,KAAM,SAAU4E,GACf,OAAOia,EAAQphB,KAAM,SAAUmH,GAC9B,YAAiBrB,IAAVqB,EACNnE,EAAOT,KAAMvC,MACbA,KAAK8V,QAAQ5R,KAAM,WACK,IAAlBlE,KAAKuB,UAAoC,KAAlBvB,KAAKuB,UAAqC,IAAlBvB,KAAKuB,WACxDvB,KAAKsS,YAAcnL,MAGpB,KAAMA,EAAO7C,UAAUhB,SAG3B2sB,OAAQ,WACP,OAAOf,GAAUlvB,KAAMsE,UAAW,SAAUD,GACpB,IAAlBrE,KAAKuB,UAAoC,KAAlBvB,KAAKuB,UAAqC,IAAlBvB,KAAKuB,UAC3CotB,GAAoB3uB,KAAMqE,GAChC1B,YAAa0B,MAKvB6rB,QAAS,WACR,OAAOhB,GAAUlvB,KAAMsE,UAAW,SAAUD,GAC3C,GAAuB,IAAlBrE,KAAKuB,UAAoC,KAAlBvB,KAAKuB,UAAqC,IAAlBvB,KAAKuB,SAAiB,CACzE,IAAIkE,EAASkpB,GAAoB3uB,KAAMqE,GACvCoB,EAAO0qB,aAAc9rB,EAAMoB,EAAO8M,gBAKrC6d,OAAQ,WACP,OAAOlB,GAAUlvB,KAAMsE,UAAW,SAAUD,GACtCrE,KAAK4C,YACT5C,KAAK4C,WAAWutB,aAAc9rB,EAAMrE,SAKvCqwB,MAAO,WACN,OAAOnB,GAAUlvB,KAAMsE,UAAW,SAAUD,GACtCrE,KAAK4C,YACT5C,KAAK4C,WAAWutB,aAAc9rB,EAAMrE,KAAKiP,gBAK5C6G,MAAO,WAIN,IAHA,IAAIzR,EACHlC,EAAI,EAE2B,OAAtBkC,EAAOrE,KAAMmC,IAAeA,IACd,IAAlBkC,EAAK9C,WAGTyB,EAAO0sB,UAAW/I,GAAQtiB,GAAM,IAGhCA,EAAKiO,YAAc,IAIrB,OAAOtS,MAGRwF,MAAO,SAAUmqB,EAAeC,GAI/B,OAHAD,EAAiC,MAAjBA,GAAgCA,EAChDC,EAAyC,MAArBA,EAA4BD,EAAgBC,EAEzD5vB,KAAKoE,IAAK,WAChB,OAAOpB,EAAOwC,MAAOxF,KAAM2vB,EAAeC,MAI5CL,KAAM,SAAUpoB,GACf,OAAOia,EAAQphB,KAAM,SAAUmH,GAC9B,IAAI9C,EAAOrE,KAAM,IAAO,GACvBmC,EAAI,EACJiZ,EAAIpb,KAAKsD,OAEV,QAAewC,IAAVqB,GAAyC,IAAlB9C,EAAK9C,SAChC,OAAO8C,EAAKwM,UAIb,GAAsB,iBAAV1J,IAAuBqnB,GAAa/gB,KAAMtG,KACpDkf,IAAWP,GAAS3Y,KAAMhG,IAAW,CAAE,GAAI,KAAQ,GAAIM,eAAkB,CAE1EN,EAAQnE,EAAO4kB,cAAezgB,GAE9B,IACC,KAAQhF,EAAIiZ,EAAGjZ,IAIS,KAHvBkC,EAAOrE,KAAMmC,IAAO,IAGVZ,WACTyB,EAAO0sB,UAAW/I,GAAQtiB,GAAM,IAChCA,EAAKwM,UAAY1J,GAInB9C,EAAO,EAGN,MAAQoI,KAGNpI,GACJrE,KAAK8V,QAAQma,OAAQ9oB,IAEpB,KAAMA,EAAO7C,UAAUhB,SAG3BgtB,YAAa,WACZ,IAAI/I,EAAU,GAGd,OAAO2H,GAAUlvB,KAAMsE,UAAW,SAAUD,GAC3C,IAAI8P,EAASnU,KAAK4C,WAEbI,EAAO6D,QAAS7G,KAAMunB,GAAY,IACtCvkB,EAAO0sB,UAAW/I,GAAQ3mB,OACrBmU,GACJA,EAAOoc,aAAclsB,EAAMrE,QAK3BunB,MAILvkB,EAAOkB,KAAM,CACZssB,SAAU,SACVC,UAAW,UACXN,aAAc,SACdO,YAAa,QACbC,WAAY,eACV,SAAUtrB,EAAMurB,GAClB5tB,EAAOG,GAAIkC,GAAS,SAAUpC,GAO7B,IANA,IAAIa,EACHC,EAAM,GACN8sB,EAAS7tB,EAAQC,GACjBwB,EAAOosB,EAAOvtB,OAAS,EACvBnB,EAAI,EAEGA,GAAKsC,EAAMtC,IAClB2B,EAAQ3B,IAAMsC,EAAOzE,KAAOA,KAAKwF,OAAO,GACxCxC,EAAQ6tB,EAAQ1uB,IAAOyuB,GAAY9sB,GAInClD,EAAKD,MAAOoD,EAAKD,EAAMH,OAGxB,OAAO3D,KAAK6D,UAAWE,MAGzB,IAAI+sB,GAAY,IAAI/mB,OAAQ,KAAOga,GAAO,kBAAmB,KAEzDgN,GAAY,SAAU1sB,GAKxB,IAAI2oB,EAAO3oB,EAAK6I,cAAc4C,YAM9B,OAJMkd,GAASA,EAAKgE,SACnBhE,EAAOjtB,GAGDitB,EAAKiE,iBAAkB5sB,IAG5B6sB,GAAO,SAAU7sB,EAAMe,EAASjB,GACnC,IAAIJ,EAAKsB,EACR8rB,EAAM,GAGP,IAAM9rB,KAAQD,EACb+rB,EAAK9rB,GAAShB,EAAKkgB,MAAOlf,GAC1BhB,EAAKkgB,MAAOlf,GAASD,EAASC,GAM/B,IAAMA,KAHNtB,EAAMI,EAAS1D,KAAM4D,GAGPe,EACbf,EAAKkgB,MAAOlf,GAAS8rB,EAAK9rB,GAG3B,OAAOtB,GAIJqtB,GAAY,IAAIrnB,OAAQma,GAAUrW,KAAM,KAAO,KAiJnD,SAASwjB,GAAQhtB,EAAMgB,EAAMisB,GAC5B,IAAIC,EAAOC,EAAUC,EAAU1tB,EAM9BwgB,EAAQlgB,EAAKkgB,MAqCd,OAnCA+M,EAAWA,GAAYP,GAAW1sB,MAQpB,MAFbN,EAAMutB,EAASI,iBAAkBrsB,IAAUisB,EAAUjsB,KAEjC8e,GAAY9f,KAC/BN,EAAMf,EAAOuhB,MAAOlgB,EAAMgB,KAQrBjE,EAAQuwB,kBAAoBb,GAAUrjB,KAAM1J,IAASqtB,GAAU3jB,KAAMpI,KAG1EksB,EAAQhN,EAAMgN,MACdC,EAAWjN,EAAMiN,SACjBC,EAAWlN,EAAMkN,SAGjBlN,EAAMiN,SAAWjN,EAAMkN,SAAWlN,EAAMgN,MAAQxtB,EAChDA,EAAMutB,EAASC,MAGfhN,EAAMgN,MAAQA,EACdhN,EAAMiN,SAAWA,EACjBjN,EAAMkN,SAAWA,SAIJ3rB,IAAR/B,EAINA,EAAM,GACNA,EAIF,SAAS6tB,GAAcC,EAAaC,GAGnC,MAAO,CACNnuB,IAAK,WACJ,IAAKkuB,IASL,OAAS7xB,KAAK2D,IAAMmuB,GAASnxB,MAAOX,KAAMsE,kBALlCtE,KAAK2D,OA3MhB,WAIC,SAASouB,IAGR,GAAMnM,EAAN,CAIAoM,EAAUzN,MAAM0N,QAAU,+EAE1BrM,EAAIrB,MAAM0N,QACT,4HAGDtiB,GAAgBhN,YAAaqvB,GAAYrvB,YAAaijB,GAEtD,IAAIsM,EAAWnyB,EAAOkxB,iBAAkBrL,GACxCuM,EAAoC,OAAjBD,EAASniB,IAG5BqiB,EAAsE,KAA9CC,EAAoBH,EAASI,YAIrD1M,EAAIrB,MAAMgO,MAAQ,MAClBC,EAA6D,KAAzCH,EAAoBH,EAASK,OAIjDE,EAAgE,KAAzCJ,EAAoBH,EAASX,OAMpD3L,EAAIrB,MAAMmO,SAAW,WACrBC,EAAiE,KAA9CN,EAAoBzM,EAAIgN,YAAc,GAEzDjjB,GAAgB9M,YAAamvB,GAI7BpM,EAAM,MAGP,SAASyM,EAAoBQ,GAC5B,OAAO7sB,KAAK8sB,MAAOC,WAAYF,IAGhC,IAAIV,EAAkBM,EAAsBE,EAAkBH,EAC7DQ,EAAyBZ,EACzBJ,EAAYpyB,EAAS0C,cAAe,OACpCsjB,EAAMhmB,EAAS0C,cAAe,OAGzBsjB,EAAIrB,QAMVqB,EAAIrB,MAAM0O,eAAiB,cAC3BrN,EAAIM,WAAW,GAAO3B,MAAM0O,eAAiB,GAC7C7xB,EAAQ8xB,gBAA+C,gBAA7BtN,EAAIrB,MAAM0O,eAEpCjwB,EAAOmC,OAAQ/D,EAAS,CACvB+xB,kBAAmB,WAElB,OADApB,IACOU,GAERd,eAAgB,WAEf,OADAI,IACOS,GAERY,cAAe,WAEd,OADArB,IACOI,GAERkB,mBAAoB,WAEnB,OADAtB,IACOK,GAERkB,cAAe,WAEd,OADAvB,IACOY,GAYRY,qBAAsB,WACrB,IAAIC,EAAOhN,EAAIiN,EAASC,EAmCxB,OAlCgC,MAA3BV,IACJQ,EAAQ5zB,EAAS0C,cAAe,SAChCkkB,EAAK5mB,EAAS0C,cAAe,MAC7BmxB,EAAU7zB,EAAS0C,cAAe,OAElCkxB,EAAMjP,MAAM0N,QAAU,2DACtBzL,EAAGjC,MAAM0N,QAAU,mBAKnBzL,EAAGjC,MAAMoP,OAAS,MAClBF,EAAQlP,MAAMoP,OAAS,MAQvBF,EAAQlP,MAAMC,QAAU,QAExB7U,GACEhN,YAAa6wB,GACb7wB,YAAa6jB,GACb7jB,YAAa8wB,GAEfC,EAAU3zB,EAAOkxB,iBAAkBzK,GACnCwM,EAA4BY,SAAUF,EAAQC,OAAQ,IACrDC,SAAUF,EAAQG,eAAgB,IAClCD,SAAUF,EAAQI,kBAAmB,MAAWtN,EAAGuN,aAEpDpkB,GAAgB9M,YAAa2wB,IAEvBR,MAvIV,GAsNA,IAAIgB,GAAc,CAAE,SAAU,MAAO,MACpCC,GAAar0B,EAAS0C,cAAe,OAAQiiB,MAC7C2P,GAAc,GAkBf,SAASC,GAAe9uB,GACvB,IAAI+uB,EAAQpxB,EAAOqxB,SAAUhvB,IAAU6uB,GAAa7uB,GAEpD,OAAK+uB,IAGA/uB,KAAQ4uB,GACL5uB,EAED6uB,GAAa7uB,GAxBrB,SAAyBA,GAGxB,IAAIivB,EAAUjvB,EAAM,GAAI0c,cAAgB1c,EAAK/E,MAAO,GACnD6B,EAAI6xB,GAAY1wB,OAEjB,MAAQnB,IAEP,IADAkD,EAAO2uB,GAAa7xB,GAAMmyB,KACbL,GACZ,OAAO5uB,EAeoBkvB,CAAgBlvB,IAAUA,GAIxD,IAKCmvB,GAAe,4BACfC,GAAc,MACdC,GAAU,CAAEhC,SAAU,WAAYiC,WAAY,SAAUnQ,QAAS,SACjEoQ,GAAqB,CACpBC,cAAe,IACfC,WAAY,OAGd,SAASC,GAAmBnwB,EAAOuC,EAAO6tB,GAIzC,IAAIhuB,EAAUid,GAAQ9W,KAAMhG,GAC5B,OAAOH,EAGNhB,KAAKivB,IAAK,EAAGjuB,EAAS,IAAQguB,GAAY,KAAUhuB,EAAS,IAAO,MACpEG,EAGF,SAAS+tB,GAAoB7wB,EAAM8wB,EAAWC,EAAKC,EAAaC,EAAQC,GACvE,IAAIpzB,EAAkB,UAAdgzB,EAAwB,EAAI,EACnCK,EAAQ,EACRC,EAAQ,EAGT,GAAKL,KAAUC,EAAc,SAAW,WACvC,OAAO,EAGR,KAAQlzB,EAAI,EAAGA,GAAK,EAGN,WAARizB,IACJK,GAASzyB,EAAOyhB,IAAKpgB,EAAM+wB,EAAMlR,GAAW/hB,IAAK,EAAMmzB,IAIlDD,GAmBQ,YAARD,IACJK,GAASzyB,EAAOyhB,IAAKpgB,EAAM,UAAY6f,GAAW/hB,IAAK,EAAMmzB,IAIjD,WAARF,IACJK,GAASzyB,EAAOyhB,IAAKpgB,EAAM,SAAW6f,GAAW/hB,GAAM,SAAS,EAAMmzB,MAtBvEG,GAASzyB,EAAOyhB,IAAKpgB,EAAM,UAAY6f,GAAW/hB,IAAK,EAAMmzB,GAGhD,YAARF,EACJK,GAASzyB,EAAOyhB,IAAKpgB,EAAM,SAAW6f,GAAW/hB,GAAM,SAAS,EAAMmzB,GAItEE,GAASxyB,EAAOyhB,IAAKpgB,EAAM,SAAW6f,GAAW/hB,GAAM,SAAS,EAAMmzB,IAoCzE,OAhBMD,GAA8B,GAAfE,IAIpBE,GAASzvB,KAAKivB,IAAK,EAAGjvB,KAAK0vB,KAC1BrxB,EAAM,SAAW8wB,EAAW,GAAIpT,cAAgBoT,EAAU70B,MAAO,IACjEi1B,EACAE,EACAD,EACA,MAIM,GAGDC,EAGR,SAASE,GAAkBtxB,EAAM8wB,EAAWK,GAG3C,IAAIF,EAASvE,GAAW1sB,GAKvBgxB,IADmBj0B,EAAQ+xB,qBAAuBqC,IAEE,eAAnDxyB,EAAOyhB,IAAKpgB,EAAM,aAAa,EAAOixB,GACvCM,EAAmBP,EAEnBjzB,EAAMivB,GAAQhtB,EAAM8wB,EAAWG,GAC/BO,EAAa,SAAWV,EAAW,GAAIpT,cAAgBoT,EAAU70B,MAAO,GAIzE,GAAKwwB,GAAUrjB,KAAMrL,GAAQ,CAC5B,IAAMozB,EACL,OAAOpzB,EAERA,EAAM,OAyCP,QAlCQhB,EAAQ+xB,qBAAuBkC,IAMrCj0B,EAAQmyB,wBAA0BlnB,EAAUhI,EAAM,OAI3C,SAARjC,IAIC2wB,WAAY3wB,IAA0D,WAAjDY,EAAOyhB,IAAKpgB,EAAM,WAAW,EAAOixB,KAG1DjxB,EAAKyxB,iBAAiBxyB,SAEtB+xB,EAAiE,eAAnDryB,EAAOyhB,IAAKpgB,EAAM,aAAa,EAAOixB,IAKpDM,EAAmBC,KAAcxxB,KAEhCjC,EAAMiC,EAAMwxB,MAKdzzB,EAAM2wB,WAAY3wB,IAAS,GAI1B8yB,GACC7wB,EACA8wB,EACAK,IAAWH,EAAc,SAAW,WACpCO,EACAN,EAGAlzB,GAEE,KA+SL,SAAS2zB,GAAO1xB,EAAMe,EAASsd,EAAM1d,EAAKgxB,GACzC,OAAO,IAAID,GAAMxyB,UAAUH,KAAMiB,EAAMe,EAASsd,EAAM1d,EAAKgxB,GA7S5DhzB,EAAOmC,OAAQ,CAId8wB,SAAU,CACTC,QAAS,CACRvyB,IAAK,SAAUU,EAAMitB,GACpB,GAAKA,EAAW,CAGf,IAAIvtB,EAAMstB,GAAQhtB,EAAM,WACxB,MAAe,KAARN,EAAa,IAAMA,MAO9BohB,UAAW,CACVgR,yBAA2B,EAC3BC,aAAe,EACfC,aAAe,EACfC,UAAY,EACZC,YAAc,EACdzB,YAAc,EACd0B,UAAY,EACZC,YAAc,EACdC,eAAiB,EACjBC,iBAAmB,EACnBC,SAAW,EACXC,YAAc,EACdC,cAAgB,EAChBC,YAAc,EACdb,SAAW,EACXc,OAAS,EACTC,SAAW,EACXC,QAAU,EACVC,QAAU,EACVC,MAAQ,GAKT/C,SAAU,GAGV9P,MAAO,SAAUlgB,EAAMgB,EAAM8B,EAAOquB,GAGnC,GAAMnxB,GAA0B,IAAlBA,EAAK9C,UAAoC,IAAlB8C,EAAK9C,UAAmB8C,EAAKkgB,MAAlE,CAKA,IAAIxgB,EAAKpC,EAAM6hB,EACd6T,EAAWrV,EAAW3c,GACtBiyB,EAAe7C,GAAYhnB,KAAMpI,GACjCkf,EAAQlgB,EAAKkgB,MAad,GARM+S,IACLjyB,EAAO8uB,GAAekD,IAIvB7T,EAAQxgB,EAAOizB,SAAU5wB,IAAUrC,EAAOizB,SAAUoB,QAGrCvxB,IAAVqB,EA0CJ,OAAKqc,GAAS,QAASA,QACwB1d,KAA5C/B,EAAMyf,EAAM7f,IAAKU,GAAM,EAAOmxB,IAEzBzxB,EAIDwgB,EAAOlf,GA7CA,YAHd1D,SAAcwF,KAGcpD,EAAMkgB,GAAQ9W,KAAMhG,KAAapD,EAAK,KACjEoD,EAAQud,GAAWrgB,EAAMgB,EAAMtB,GAG/BpC,EAAO,UAIM,MAATwF,GAAiBA,GAAUA,IAOlB,WAATxF,GAAsB21B,IAC1BnwB,GAASpD,GAAOA,EAAK,KAASf,EAAOmiB,UAAWkS,GAAa,GAAK,OAI7Dj2B,EAAQ8xB,iBAA6B,KAAV/rB,GAAiD,IAAjC9B,EAAKxE,QAAS,gBAC9D0jB,EAAOlf,GAAS,WAIXme,GAAY,QAASA,QACsB1d,KAA9CqB,EAAQqc,EAAMhB,IAAKne,EAAM8C,EAAOquB,MAE7B8B,EACJ/S,EAAMgT,YAAalyB,EAAM8B,GAEzBod,EAAOlf,GAAS8B,MAkBpBsd,IAAK,SAAUpgB,EAAMgB,EAAMmwB,EAAOF,GACjC,IAAIlzB,EAAKwB,EAAK4f,EACb6T,EAAWrV,EAAW3c,GA6BvB,OA5BgBovB,GAAYhnB,KAAMpI,KAMjCA,EAAO8uB,GAAekD,KAIvB7T,EAAQxgB,EAAOizB,SAAU5wB,IAAUrC,EAAOizB,SAAUoB,KAGtC,QAAS7T,IACtBphB,EAAMohB,EAAM7f,IAAKU,GAAM,EAAMmxB,SAIjB1vB,IAAR1D,IACJA,EAAMivB,GAAQhtB,EAAMgB,EAAMiwB,IAId,WAARlzB,GAAoBiD,KAAQuvB,KAChCxyB,EAAMwyB,GAAoBvvB,IAIZ,KAAVmwB,GAAgBA,GACpB5xB,EAAMmvB,WAAY3wB,IACD,IAAVozB,GAAkBgC,SAAU5zB,GAAQA,GAAO,EAAIxB,GAGhDA,KAITY,EAAOkB,KAAM,CAAE,SAAU,SAAW,SAAUsD,EAAI2tB,GACjDnyB,EAAOizB,SAAUd,GAAc,CAC9BxxB,IAAK,SAAUU,EAAMitB,EAAUkE,GAC9B,GAAKlE,EAIJ,OAAOkD,GAAa/mB,KAAMzK,EAAOyhB,IAAKpgB,EAAM,aAQxCA,EAAKyxB,iBAAiBxyB,QAAWe,EAAKozB,wBAAwBlG,MAIjEoE,GAAkBtxB,EAAM8wB,EAAWK,GAHnCtE,GAAM7sB,EAAMqwB,GAAS,WACpB,OAAOiB,GAAkBtxB,EAAM8wB,EAAWK,MAM9ChT,IAAK,SAAUne,EAAM8C,EAAOquB,GAC3B,IAAIxuB,EACHsuB,EAASvE,GAAW1sB,GAIpBqzB,GAAsBt2B,EAAQkyB,iBACT,aAApBgC,EAAO5C,SAIR2C,GADkBqC,GAAsBlC,IAEY,eAAnDxyB,EAAOyhB,IAAKpgB,EAAM,aAAa,EAAOixB,GACvCN,EAAWQ,EACVN,GACC7wB,EACA8wB,EACAK,EACAH,EACAC,GAED,EAqBF,OAjBKD,GAAeqC,IACnB1C,GAAYhvB,KAAK0vB,KAChBrxB,EAAM,SAAW8wB,EAAW,GAAIpT,cAAgBoT,EAAU70B,MAAO,IACjEyyB,WAAYuC,EAAQH,IACpBD,GAAoB7wB,EAAM8wB,EAAW,UAAU,EAAOG,GACtD,KAKGN,IAAchuB,EAAUid,GAAQ9W,KAAMhG,KACb,QAA3BH,EAAS,IAAO,QAElB3C,EAAKkgB,MAAO4Q,GAAchuB,EAC1BA,EAAQnE,EAAOyhB,IAAKpgB,EAAM8wB,IAGpBJ,GAAmB1wB,EAAM8C,EAAO6tB,OAK1ChyB,EAAOizB,SAAS3D,WAAaV,GAAcxwB,EAAQiyB,mBAClD,SAAUhvB,EAAMitB,GACf,GAAKA,EACJ,OAASyB,WAAY1B,GAAQhtB,EAAM,gBAClCA,EAAKozB,wBAAwBE,KAC5BzG,GAAM7sB,EAAM,CAAEiuB,WAAY,GAAK,WAC9B,OAAOjuB,EAAKozB,wBAAwBE,QAEnC,OAMP30B,EAAOkB,KAAM,CACZ0zB,OAAQ,GACRC,QAAS,GACTC,OAAQ,SACN,SAAUC,EAAQC,GACpBh1B,EAAOizB,SAAU8B,EAASC,GAAW,CACpCC,OAAQ,SAAU9wB,GAOjB,IANA,IAAIhF,EAAI,EACP+1B,EAAW,GAGXC,EAAyB,iBAAVhxB,EAAqBA,EAAMI,MAAO,KAAQ,CAAEJ,GAEpDhF,EAAI,EAAGA,IACd+1B,EAAUH,EAAS7T,GAAW/hB,GAAM61B,GACnCG,EAAOh2B,IAAOg2B,EAAOh2B,EAAI,IAAOg2B,EAAO,GAGzC,OAAOD,IAIO,WAAXH,IACJ/0B,EAAOizB,SAAU8B,EAASC,GAASxV,IAAMuS,MAI3C/xB,EAAOG,GAAGgC,OAAQ,CACjBsf,IAAK,SAAUpf,EAAM8B,GACpB,OAAOia,EAAQphB,KAAM,SAAUqE,EAAMgB,EAAM8B,GAC1C,IAAImuB,EAAQxwB,EACXV,EAAM,GACNjC,EAAI,EAEL,GAAKyD,MAAMC,QAASR,GAAS,CAI5B,IAHAiwB,EAASvE,GAAW1sB,GACpBS,EAAMO,EAAK/B,OAEHnB,EAAI2C,EAAK3C,IAChBiC,EAAKiB,EAAMlD,IAAQa,EAAOyhB,IAAKpgB,EAAMgB,EAAMlD,IAAK,EAAOmzB,GAGxD,OAAOlxB,EAGR,YAAiB0B,IAAVqB,EACNnE,EAAOuhB,MAAOlgB,EAAMgB,EAAM8B,GAC1BnE,EAAOyhB,IAAKpgB,EAAMgB,IACjBA,EAAM8B,EAA0B,EAAnB7C,UAAUhB,aAQ5BN,EAAO+yB,MAAQA,IAETxyB,UAAY,CACjBE,YAAasyB,GACb3yB,KAAM,SAAUiB,EAAMe,EAASsd,EAAM1d,EAAKgxB,EAAQ9Q,GACjDllB,KAAKqE,KAAOA,EACZrE,KAAK0iB,KAAOA,EACZ1iB,KAAKg2B,OAASA,GAAUhzB,EAAOgzB,OAAOtP,SACtC1mB,KAAKoF,QAAUA,EACfpF,KAAKkU,MAAQlU,KAAKmsB,IAAMnsB,KAAK8O,MAC7B9O,KAAKgF,IAAMA,EACXhF,KAAKklB,KAAOA,IAAUliB,EAAOmiB,UAAWzC,GAAS,GAAK,OAEvD5T,IAAK,WACJ,IAAI0U,EAAQuS,GAAMqC,UAAWp4B,KAAK0iB,MAElC,OAAOc,GAASA,EAAM7f,IACrB6f,EAAM7f,IAAK3D,MACX+1B,GAAMqC,UAAU1R,SAAS/iB,IAAK3D,OAEhCq4B,IAAK,SAAUC,GACd,IAAIC,EACH/U,EAAQuS,GAAMqC,UAAWp4B,KAAK0iB,MAoB/B,OAlBK1iB,KAAKoF,QAAQozB,SACjBx4B,KAAKy4B,IAAMF,EAAQv1B,EAAOgzB,OAAQh2B,KAAKg2B,QACtCsC,EAASt4B,KAAKoF,QAAQozB,SAAWF,EAAS,EAAG,EAAGt4B,KAAKoF,QAAQozB,UAG9Dx4B,KAAKy4B,IAAMF,EAAQD,EAEpBt4B,KAAKmsB,KAAQnsB,KAAKgF,IAAMhF,KAAKkU,OAAUqkB,EAAQv4B,KAAKkU,MAE/ClU,KAAKoF,QAAQszB,MACjB14B,KAAKoF,QAAQszB,KAAKj4B,KAAMT,KAAKqE,KAAMrE,KAAKmsB,IAAKnsB,MAGzCwjB,GAASA,EAAMhB,IACnBgB,EAAMhB,IAAKxiB,MAEX+1B,GAAMqC,UAAU1R,SAASlE,IAAKxiB,MAExBA,QAIOoD,KAAKG,UAAYwyB,GAAMxyB,WAEvCwyB,GAAMqC,UAAY,CACjB1R,SAAU,CACT/iB,IAAK,SAAUihB,GACd,IAAIrR,EAIJ,OAA6B,IAAxBqR,EAAMvgB,KAAK9C,UACa,MAA5BqjB,EAAMvgB,KAAMugB,EAAMlC,OAAoD,MAAlCkC,EAAMvgB,KAAKkgB,MAAOK,EAAMlC,MACrDkC,EAAMvgB,KAAMugB,EAAMlC,OAO1BnP,EAASvQ,EAAOyhB,IAAKG,EAAMvgB,KAAMugB,EAAMlC,KAAM,MAGhB,SAAXnP,EAAwBA,EAAJ,GAEvCiP,IAAK,SAAUoC,GAKT5hB,EAAO21B,GAAGD,KAAM9T,EAAMlC,MAC1B1f,EAAO21B,GAAGD,KAAM9T,EAAMlC,MAAQkC,GACK,IAAxBA,EAAMvgB,KAAK9C,WACtByB,EAAOizB,SAAUrR,EAAMlC,OAC6B,MAAnDkC,EAAMvgB,KAAKkgB,MAAO4P,GAAevP,EAAMlC,OAGxCkC,EAAMvgB,KAAMugB,EAAMlC,MAASkC,EAAMuH,IAFjCnpB,EAAOuhB,MAAOK,EAAMvgB,KAAMugB,EAAMlC,KAAMkC,EAAMuH,IAAMvH,EAAMM,UAU5C0T,UAAY7C,GAAMqC,UAAUS,WAAa,CACxDrW,IAAK,SAAUoC,GACTA,EAAMvgB,KAAK9C,UAAYqjB,EAAMvgB,KAAKzB,aACtCgiB,EAAMvgB,KAAMugB,EAAMlC,MAASkC,EAAMuH,OAKpCnpB,EAAOgzB,OAAS,CACf8C,OAAQ,SAAUC,GACjB,OAAOA,GAERC,MAAO,SAAUD,GAChB,MAAO,GAAM/yB,KAAKizB,IAAKF,EAAI/yB,KAAKkzB,IAAO,GAExCxS,SAAU,SAGX1jB,EAAO21B,GAAK5C,GAAMxyB,UAAUH,KAG5BJ,EAAO21B,GAAGD,KAAO,GAKjB,IACCS,GAAOC,GAmrBHxoB,GAEHyoB,GAprBDC,GAAW,yBACXC,GAAO,cAER,SAASC,KACHJ,MACqB,IAApBx5B,EAAS65B,QAAoB15B,EAAO25B,sBACxC35B,EAAO25B,sBAAuBF,IAE9Bz5B,EAAO+f,WAAY0Z,GAAUx2B,EAAO21B,GAAGgB,UAGxC32B,EAAO21B,GAAGiB,QAKZ,SAASC,KAIR,OAHA95B,EAAO+f,WAAY,WAClBqZ,QAAQrzB,IAEAqzB,GAAQzwB,KAAKyjB,MAIvB,SAAS2N,GAAOn4B,EAAMo4B,GACrB,IAAI/L,EACH7rB,EAAI,EACJuM,EAAQ,CAAEilB,OAAQhyB,GAKnB,IADAo4B,EAAeA,EAAe,EAAI,EAC1B53B,EAAI,EAAGA,GAAK,EAAI43B,EAEvBrrB,EAAO,UADPsf,EAAQ9J,GAAW/hB,KACSuM,EAAO,UAAYsf,GAAUrsB,EAO1D,OAJKo4B,IACJrrB,EAAMwnB,QAAUxnB,EAAM6iB,MAAQ5vB,GAGxB+M,EAGR,SAASsrB,GAAa7yB,EAAOub,EAAMuX,GAKlC,IAJA,IAAIrV,EACHuK,GAAe+K,GAAUC,SAAUzX,IAAU,IAAKhiB,OAAQw5B,GAAUC,SAAU,MAC9E7e,EAAQ,EACRhY,EAAS6rB,EAAW7rB,OACbgY,EAAQhY,EAAQgY,IACvB,GAAOsJ,EAAQuK,EAAY7T,GAAQ7a,KAAMw5B,EAAWvX,EAAMvb,GAGzD,OAAOyd,EAsNV,SAASsV,GAAW71B,EAAM+1B,EAAYh1B,GACrC,IAAImO,EACH8mB,EACA/e,EAAQ,EACRhY,EAAS42B,GAAUI,WAAWh3B,OAC9B+a,EAAWrb,EAAOgb,WAAWI,OAAQ,kBAG7Bwb,EAAKv1B,OAEbu1B,EAAO,WACN,GAAKS,EACJ,OAAO,EAYR,IAVA,IAAIE,EAAcpB,IAASU,KAC1B3Z,EAAYla,KAAKivB,IAAK,EAAGgF,EAAUO,UAAYP,EAAUzB,SAAW+B,GAKpEjC,EAAU,GADHpY,EAAY+Z,EAAUzB,UAAY,GAEzCld,EAAQ,EACRhY,EAAS22B,EAAUQ,OAAOn3B,OAEnBgY,EAAQhY,EAAQgY,IACvB2e,EAAUQ,OAAQnf,GAAQ+c,IAAKC,GAMhC,OAHAja,EAASkB,WAAYlb,EAAM,CAAE41B,EAAW3B,EAASpY,IAG5CoY,EAAU,GAAKh1B,EACZ4c,GAIF5c,GACL+a,EAASkB,WAAYlb,EAAM,CAAE41B,EAAW,EAAG,IAI5C5b,EAASmB,YAAanb,EAAM,CAAE41B,KACvB,IAERA,EAAY5b,EAASzB,QAAS,CAC7BvY,KAAMA,EACNynB,MAAO9oB,EAAOmC,OAAQ,GAAIi1B,GAC1BM,KAAM13B,EAAOmC,QAAQ,EAAM,CAC1Bw1B,cAAe,GACf3E,OAAQhzB,EAAOgzB,OAAOtP,UACpBthB,GACHw1B,mBAAoBR,EACpBS,gBAAiBz1B,EACjBo1B,UAAWrB,IAASU,KACpBrB,SAAUpzB,EAAQozB,SAClBiC,OAAQ,GACRT,YAAa,SAAUtX,EAAM1d,GAC5B,IAAI4f,EAAQ5hB,EAAO+yB,MAAO1xB,EAAM41B,EAAUS,KAAMhY,EAAM1d,EACrDi1B,EAAUS,KAAKC,cAAejY,IAAUuX,EAAUS,KAAK1E,QAExD,OADAiE,EAAUQ,OAAO75B,KAAMgkB,GAChBA,GAERlB,KAAM,SAAUoX,GACf,IAAIxf,EAAQ,EAIXhY,EAASw3B,EAAUb,EAAUQ,OAAOn3B,OAAS,EAC9C,GAAK+2B,EACJ,OAAOr6B,KAGR,IADAq6B,GAAU,EACF/e,EAAQhY,EAAQgY,IACvB2e,EAAUQ,OAAQnf,GAAQ+c,IAAK,GAUhC,OANKyC,GACJzc,EAASkB,WAAYlb,EAAM,CAAE41B,EAAW,EAAG,IAC3C5b,EAASmB,YAAanb,EAAM,CAAE41B,EAAWa,KAEzCzc,EAASuB,WAAYvb,EAAM,CAAE41B,EAAWa,IAElC96B,QAGT8rB,EAAQmO,EAAUnO,MAInB,KA/HD,SAAqBA,EAAO6O,GAC3B,IAAIrf,EAAOjW,EAAM2wB,EAAQ7uB,EAAOqc,EAGhC,IAAMlI,KAASwQ,EAed,GAbAkK,EAAS2E,EADTt1B,EAAO2c,EAAW1G,IAElBnU,EAAQ2kB,EAAOxQ,GACV1V,MAAMC,QAASsB,KACnB6uB,EAAS7uB,EAAO,GAChBA,EAAQ2kB,EAAOxQ,GAAUnU,EAAO,IAG5BmU,IAAUjW,IACdymB,EAAOzmB,GAAS8B,SACT2kB,EAAOxQ,KAGfkI,EAAQxgB,EAAOizB,SAAU5wB,KACX,WAAYme,EAMzB,IAAMlI,KALNnU,EAAQqc,EAAMyU,OAAQ9wB,UACf2kB,EAAOzmB,GAIC8B,EACNmU,KAASwQ,IAChBA,EAAOxQ,GAAUnU,EAAOmU,GACxBqf,EAAerf,GAAU0a,QAI3B2E,EAAet1B,GAAS2wB,EA6F1B+E,CAAYjP,EAAOmO,EAAUS,KAAKC,eAE1Brf,EAAQhY,EAAQgY,IAEvB,GADA/H,EAAS2mB,GAAUI,WAAYhf,GAAQ7a,KAAMw5B,EAAW51B,EAAMynB,EAAOmO,EAAUS,MAM9E,OAJKr5B,EAAYkS,EAAOmQ,QACvB1gB,EAAOygB,YAAawW,EAAU51B,KAAM41B,EAAUS,KAAKnd,OAAQmG,KAC1DnQ,EAAOmQ,KAAKsX,KAAMznB,IAEbA,EAyBT,OArBAvQ,EAAOoB,IAAK0nB,EAAOkO,GAAaC,GAE3B54B,EAAY44B,EAAUS,KAAKxmB,QAC/B+lB,EAAUS,KAAKxmB,MAAMzT,KAAM4D,EAAM41B,GAIlCA,EACErb,SAAUqb,EAAUS,KAAK9b,UACzB/V,KAAMoxB,EAAUS,KAAK7xB,KAAMoxB,EAAUS,KAAKO,UAC1Cpe,KAAMod,EAAUS,KAAK7d,MACrBuB,OAAQ6b,EAAUS,KAAKtc,QAEzBpb,EAAO21B,GAAGuC,MACTl4B,EAAOmC,OAAQy0B,EAAM,CACpBv1B,KAAMA,EACN82B,KAAMlB,EACN1c,MAAO0c,EAAUS,KAAKnd,SAIjB0c,EAGRj3B,EAAOk3B,UAAYl3B,EAAOmC,OAAQ+0B,GAAW,CAE5CC,SAAU,CACTiB,IAAK,CAAE,SAAU1Y,EAAMvb,GACtB,IAAIyd,EAAQ5kB,KAAKg6B,YAAatX,EAAMvb,GAEpC,OADAud,GAAWE,EAAMvgB,KAAMqe,EAAMuB,GAAQ9W,KAAMhG,GAASyd,GAC7CA,KAITyW,QAAS,SAAUvP,EAAO3nB,GACpB9C,EAAYyqB,IAChB3nB,EAAW2nB,EACXA,EAAQ,CAAE,MAEVA,EAAQA,EAAMhf,MAAOoP,GAOtB,IAJA,IAAIwG,EACHpH,EAAQ,EACRhY,EAASwoB,EAAMxoB,OAERgY,EAAQhY,EAAQgY,IACvBoH,EAAOoJ,EAAOxQ,GACd4e,GAAUC,SAAUzX,GAASwX,GAAUC,SAAUzX,IAAU,GAC3DwX,GAAUC,SAAUzX,GAAO9Q,QAASzN,IAItCm2B,WAAY,CA3Wb,SAA2Bj2B,EAAMynB,EAAO4O,GACvC,IAAIhY,EAAMvb,EAAOwe,EAAQnC,EAAO8X,EAASC,EAAWC,EAAgBhX,EACnEiX,EAAQ,UAAW3P,GAAS,WAAYA,EACxCqP,EAAOn7B,KACPsuB,EAAO,GACP/J,EAAQlgB,EAAKkgB,MACbkV,EAASp1B,EAAK9C,UAAY+iB,GAAoBjgB,GAC9Cq3B,EAAW9Y,EAASjf,IAAKU,EAAM,UA6BhC,IAAMqe,KA1BAgY,EAAKnd,QAEa,OADvBiG,EAAQxgB,EAAOygB,YAAapf,EAAM,OACvBs3B,WACVnY,EAAMmY,SAAW,EACjBL,EAAU9X,EAAM1N,MAAM2H,KACtB+F,EAAM1N,MAAM2H,KAAO,WACZ+F,EAAMmY,UACXL,MAIH9X,EAAMmY,WAENR,EAAK/c,OAAQ,WAGZ+c,EAAK/c,OAAQ,WACZoF,EAAMmY,WACA34B,EAAOua,MAAOlZ,EAAM,MAAOf,QAChCkgB,EAAM1N,MAAM2H,YAOFqO,EAEb,GADA3kB,EAAQ2kB,EAAOpJ,GACV4W,GAAS7rB,KAAMtG,GAAU,CAG7B,UAFO2kB,EAAOpJ,GACdiD,EAASA,GAAoB,WAAVxe,EACdA,KAAYsyB,EAAS,OAAS,QAAW,CAI7C,GAAe,SAAVtyB,IAAoBu0B,QAAiC51B,IAArB41B,EAAUhZ,GAK9C,SAJA+W,GAAS,EAOXnL,EAAM5L,GAASgZ,GAAYA,EAAUhZ,IAAU1f,EAAOuhB,MAAOlgB,EAAMqe,GAMrE,IADA6Y,GAAav4B,EAAOyD,cAAeqlB,MAChB9oB,EAAOyD,cAAe6nB,GA8DzC,IAAM5L,KAzDD+Y,GAA2B,IAAlBp3B,EAAK9C,WAMlBm5B,EAAKkB,SAAW,CAAErX,EAAMqX,SAAUrX,EAAMsX,UAAWtX,EAAMuX,WAIlC,OADvBN,EAAiBE,GAAYA,EAASlX,WAErCgX,EAAiB5Y,EAASjf,IAAKU,EAAM,YAGrB,UADjBmgB,EAAUxhB,EAAOyhB,IAAKpgB,EAAM,cAEtBm3B,EACJhX,EAAUgX,GAIVlW,GAAU,CAAEjhB,IAAQ,GACpBm3B,EAAiBn3B,EAAKkgB,MAAMC,SAAWgX,EACvChX,EAAUxhB,EAAOyhB,IAAKpgB,EAAM,WAC5BihB,GAAU,CAAEjhB,OAKG,WAAZmgB,GAAoC,iBAAZA,GAAgD,MAAlBgX,IACrB,SAAhCx4B,EAAOyhB,IAAKpgB,EAAM,WAGhBk3B,IACLJ,EAAKtyB,KAAM,WACV0b,EAAMC,QAAUgX,IAEM,MAAlBA,IACJhX,EAAUD,EAAMC,QAChBgX,EAA6B,SAAZhX,EAAqB,GAAKA,IAG7CD,EAAMC,QAAU,iBAKdkW,EAAKkB,WACTrX,EAAMqX,SAAW,SACjBT,EAAK/c,OAAQ,WACZmG,EAAMqX,SAAWlB,EAAKkB,SAAU,GAChCrX,EAAMsX,UAAYnB,EAAKkB,SAAU,GACjCrX,EAAMuX,UAAYpB,EAAKkB,SAAU,MAKnCL,GAAY,EACEjN,EAGPiN,IACAG,EACC,WAAYA,IAChBjC,EAASiC,EAASjC,QAGnBiC,EAAW9Y,EAASxB,OAAQ/c,EAAM,SAAU,CAAEmgB,QAASgX,IAInD7V,IACJ+V,EAASjC,QAAUA,GAIfA,GACJnU,GAAU,CAAEjhB,IAAQ,GAKrB82B,EAAKtyB,KAAM,WASV,IAAM6Z,KAJA+W,GACLnU,GAAU,CAAEjhB,IAEbue,EAAShF,OAAQvZ,EAAM,UACTiqB,EACbtrB,EAAOuhB,MAAOlgB,EAAMqe,EAAM4L,EAAM5L,OAMnC6Y,EAAYvB,GAAaP,EAASiC,EAAUhZ,GAAS,EAAGA,EAAMyY,GACtDzY,KAAQgZ,IACfA,EAAUhZ,GAAS6Y,EAAUrnB,MACxBulB,IACJ8B,EAAUv2B,IAAMu2B,EAAUrnB,MAC1BqnB,EAAUrnB,MAAQ,MAuMrB6nB,UAAW,SAAU53B,EAAU+rB,GACzBA,EACJgK,GAAUI,WAAW1oB,QAASzN,GAE9B+1B,GAAUI,WAAW15B,KAAMuD,MAK9BnB,EAAOg5B,MAAQ,SAAUA,EAAOhG,EAAQ7yB,GACvC,IAAIk2B,EAAM2C,GAA0B,iBAAVA,EAAqBh5B,EAAOmC,OAAQ,GAAI62B,GAAU,CAC3Ef,SAAU93B,IAAOA,GAAM6yB,GACtB30B,EAAY26B,IAAWA,EACxBxD,SAAUwD,EACVhG,OAAQ7yB,GAAM6yB,GAAUA,IAAW30B,EAAY20B,IAAYA,GAoC5D,OAhCKhzB,EAAO21B,GAAGlQ,IACd4Q,EAAIb,SAAW,EAGc,iBAAjBa,EAAIb,WACVa,EAAIb,YAAYx1B,EAAO21B,GAAGsD,OAC9B5C,EAAIb,SAAWx1B,EAAO21B,GAAGsD,OAAQ5C,EAAIb,UAGrCa,EAAIb,SAAWx1B,EAAO21B,GAAGsD,OAAOvV,UAMjB,MAAb2S,EAAI9b,QAA+B,IAAd8b,EAAI9b,QAC7B8b,EAAI9b,MAAQ,MAIb8b,EAAIlI,IAAMkI,EAAI4B,SAEd5B,EAAI4B,SAAW,WACT55B,EAAYg4B,EAAIlI,MACpBkI,EAAIlI,IAAI1wB,KAAMT,MAGVq5B,EAAI9b,OACRva,EAAOsgB,QAAStjB,KAAMq5B,EAAI9b,QAIrB8b,GAGRr2B,EAAOG,GAAGgC,OAAQ,CACjB+2B,OAAQ,SAAUF,EAAOG,EAAInG,EAAQ7xB,GAGpC,OAAOnE,KAAKsQ,OAAQgU,IAAqBG,IAAK,UAAW,GAAIc,OAG3DvgB,MAAMo3B,QAAS,CAAElG,QAASiG,GAAMH,EAAOhG,EAAQ7xB,IAElDi4B,QAAS,SAAU1Z,EAAMsZ,EAAOhG,EAAQ7xB,GACvC,IAAI2R,EAAQ9S,EAAOyD,cAAeic,GACjC2Z,EAASr5B,EAAOg5B,MAAOA,EAAOhG,EAAQ7xB,GACtCm4B,EAAc,WAGb,IAAInB,EAAOjB,GAAWl6B,KAAMgD,EAAOmC,OAAQ,GAAIud,GAAQ2Z,IAGlDvmB,GAAS8M,EAASjf,IAAK3D,KAAM,YACjCm7B,EAAKzX,MAAM,IAMd,OAFA4Y,EAAYC,OAASD,EAEdxmB,IAA0B,IAAjBumB,EAAO9e,MACtBvd,KAAKkE,KAAMo4B,GACXt8B,KAAKud,MAAO8e,EAAO9e,MAAO+e,IAE5B5Y,KAAM,SAAU/hB,EAAMiiB,EAAYkX,GACjC,IAAI0B,EAAY,SAAUhZ,GACzB,IAAIE,EAAOF,EAAME,YACVF,EAAME,KACbA,EAAMoX,IAYP,MATqB,iBAATn5B,IACXm5B,EAAUlX,EACVA,EAAajiB,EACbA,OAAOmE,GAEH8d,GACJ5jB,KAAKud,MAAO5b,GAAQ,KAAM,IAGpB3B,KAAKkE,KAAM,WACjB,IAAIof,GAAU,EACbhI,EAAgB,MAAR3Z,GAAgBA,EAAO,aAC/B86B,EAASz5B,EAAOy5B,OAChBha,EAAOG,EAASjf,IAAK3D,MAEtB,GAAKsb,EACCmH,EAAMnH,IAAWmH,EAAMnH,GAAQoI,MACnC8Y,EAAW/Z,EAAMnH,SAGlB,IAAMA,KAASmH,EACTA,EAAMnH,IAAWmH,EAAMnH,GAAQoI,MAAQ6V,GAAK9rB,KAAM6N,IACtDkhB,EAAW/Z,EAAMnH,IAKpB,IAAMA,EAAQmhB,EAAOn5B,OAAQgY,KACvBmhB,EAAQnhB,GAAQjX,OAASrE,MACnB,MAAR2B,GAAgB86B,EAAQnhB,GAAQiC,QAAU5b,IAE5C86B,EAAQnhB,GAAQ6f,KAAKzX,KAAMoX,GAC3BxX,GAAU,EACVmZ,EAAOv3B,OAAQoW,EAAO,KAOnBgI,GAAYwX,GAChB93B,EAAOsgB,QAAStjB,KAAM2B,MAIzB46B,OAAQ,SAAU56B,GAIjB,OAHc,IAATA,IACJA,EAAOA,GAAQ,MAET3B,KAAKkE,KAAM,WACjB,IAAIoX,EACHmH,EAAOG,EAASjf,IAAK3D,MACrBud,EAAQkF,EAAM9gB,EAAO,SACrB6hB,EAAQf,EAAM9gB,EAAO,cACrB86B,EAASz5B,EAAOy5B,OAChBn5B,EAASia,EAAQA,EAAMja,OAAS,EAajC,IAVAmf,EAAK8Z,QAAS,EAGdv5B,EAAOua,MAAOvd,KAAM2B,EAAM,IAErB6hB,GAASA,EAAME,MACnBF,EAAME,KAAKjjB,KAAMT,MAAM,GAIlBsb,EAAQmhB,EAAOn5B,OAAQgY,KACvBmhB,EAAQnhB,GAAQjX,OAASrE,MAAQy8B,EAAQnhB,GAAQiC,QAAU5b,IAC/D86B,EAAQnhB,GAAQ6f,KAAKzX,MAAM,GAC3B+Y,EAAOv3B,OAAQoW,EAAO,IAKxB,IAAMA,EAAQ,EAAGA,EAAQhY,EAAQgY,IAC3BiC,EAAOjC,IAAWiC,EAAOjC,GAAQihB,QACrChf,EAAOjC,GAAQihB,OAAO97B,KAAMT,aAKvByiB,EAAK8Z,YAKfv5B,EAAOkB,KAAM,CAAE,SAAU,OAAQ,QAAU,SAAUsD,EAAInC,GACxD,IAAIq3B,EAAQ15B,EAAOG,GAAIkC,GACvBrC,EAAOG,GAAIkC,GAAS,SAAU22B,EAAOhG,EAAQ7xB,GAC5C,OAAgB,MAAT63B,GAAkC,kBAAVA,EAC9BU,EAAM/7B,MAAOX,KAAMsE,WACnBtE,KAAKo8B,QAAStC,GAAOz0B,GAAM,GAAQ22B,EAAOhG,EAAQ7xB,MAKrDnB,EAAOkB,KAAM,CACZy4B,UAAW7C,GAAO,QAClB8C,QAAS9C,GAAO,QAChB+C,YAAa/C,GAAO,UACpBgD,OAAQ,CAAE5G,QAAS,QACnB6G,QAAS,CAAE7G,QAAS,QACpB8G,WAAY,CAAE9G,QAAS,WACrB,SAAU7wB,EAAMymB,GAClB9oB,EAAOG,GAAIkC,GAAS,SAAU22B,EAAOhG,EAAQ7xB,GAC5C,OAAOnE,KAAKo8B,QAAStQ,EAAOkQ,EAAOhG,EAAQ7xB,MAI7CnB,EAAOy5B,OAAS,GAChBz5B,EAAO21B,GAAGiB,KAAO,WAChB,IAAIsB,EACH/4B,EAAI,EACJs6B,EAASz5B,EAAOy5B,OAIjB,IAFAtD,GAAQzwB,KAAKyjB,MAELhqB,EAAIs6B,EAAOn5B,OAAQnB,KAC1B+4B,EAAQuB,EAAQt6B,OAGCs6B,EAAQt6B,KAAQ+4B,GAChCuB,EAAOv3B,OAAQ/C,IAAK,GAIhBs6B,EAAOn5B,QACZN,EAAO21B,GAAGjV,OAEXyV,QAAQrzB,GAGT9C,EAAO21B,GAAGuC,MAAQ,SAAUA,GAC3Bl4B,EAAOy5B,OAAO77B,KAAMs6B,GACpBl4B,EAAO21B,GAAGzkB,SAGXlR,EAAO21B,GAAGgB,SAAW,GACrB32B,EAAO21B,GAAGzkB,MAAQ,WACZklB,KAILA,IAAa,EACbI,OAGDx2B,EAAO21B,GAAGjV,KAAO,WAChB0V,GAAa,MAGdp2B,EAAO21B,GAAGsD,OAAS,CAClBgB,KAAM,IACNC,KAAM,IAGNxW,SAAU,KAMX1jB,EAAOG,GAAGg6B,MAAQ,SAAUC,EAAMz7B,GAIjC,OAHAy7B,EAAOp6B,EAAO21B,IAAK31B,EAAO21B,GAAGsD,OAAQmB,IAAiBA,EACtDz7B,EAAOA,GAAQ,KAER3B,KAAKud,MAAO5b,EAAM,SAAU4K,EAAMiX,GACxC,IAAI6Z,EAAUt9B,EAAO+f,WAAYvT,EAAM6wB,GACvC5Z,EAAME,KAAO,WACZ3jB,EAAOu9B,aAAcD,OAOnBzsB,GAAQhR,EAAS0C,cAAe,SAEnC+2B,GADSz5B,EAAS0C,cAAe,UACpBK,YAAa/C,EAAS0C,cAAe,WAEnDsO,GAAMjP,KAAO,WAIbP,EAAQm8B,QAA0B,KAAhB3sB,GAAMzJ,MAIxB/F,EAAQo8B,YAAcnE,GAAIzjB,UAI1BhF,GAAQhR,EAAS0C,cAAe,UAC1B6E,MAAQ,IACdyJ,GAAMjP,KAAO,QACbP,EAAQq8B,WAA6B,MAAhB7sB,GAAMzJ,MAI5B,IAAIu2B,GACH9uB,GAAa5L,EAAO6O,KAAKjD,WAE1B5L,EAAOG,GAAGgC,OAAQ,CACjB4M,KAAM,SAAU1M,EAAM8B,GACrB,OAAOia,EAAQphB,KAAMgD,EAAO+O,KAAM1M,EAAM8B,EAA0B,EAAnB7C,UAAUhB,SAG1Dq6B,WAAY,SAAUt4B,GACrB,OAAOrF,KAAKkE,KAAM,WACjBlB,EAAO26B,WAAY39B,KAAMqF,QAK5BrC,EAAOmC,OAAQ,CACd4M,KAAM,SAAU1N,EAAMgB,EAAM8B,GAC3B,IAAIpD,EAAKyf,EACRoa,EAAQv5B,EAAK9C,SAGd,GAAe,IAAVq8B,GAAyB,IAAVA,GAAyB,IAAVA,EAKnC,MAAkC,oBAAtBv5B,EAAK7B,aACTQ,EAAO0f,KAAMre,EAAMgB,EAAM8B,IAKlB,IAAVy2B,GAAgB56B,EAAO8W,SAAUzV,KACrCmf,EAAQxgB,EAAO66B,UAAWx4B,EAAKoC,iBAC5BzE,EAAO6O,KAAK/E,MAAMjC,KAAK4C,KAAMpI,GAASq4B,QAAW53B,SAGtCA,IAAVqB,EACW,OAAVA,OACJnE,EAAO26B,WAAYt5B,EAAMgB,GAIrBme,GAAS,QAASA,QACuB1d,KAA3C/B,EAAMyf,EAAMhB,IAAKne,EAAM8C,EAAO9B,IACzBtB,GAGRM,EAAK5B,aAAc4C,EAAM8B,EAAQ,IAC1BA,GAGHqc,GAAS,QAASA,GAA+C,QAApCzf,EAAMyf,EAAM7f,IAAKU,EAAMgB,IACjDtB,EAMM,OAHdA,EAAMf,EAAOwN,KAAKuB,KAAM1N,EAAMgB,SAGTS,EAAY/B,IAGlC85B,UAAW,CACVl8B,KAAM,CACL6gB,IAAK,SAAUne,EAAM8C,GACpB,IAAM/F,EAAQq8B,YAAwB,UAAVt2B,GAC3BkF,EAAUhI,EAAM,SAAY,CAC5B,IAAIjC,EAAMiC,EAAK8C,MAKf,OAJA9C,EAAK5B,aAAc,OAAQ0E,GACtB/E,IACJiC,EAAK8C,MAAQ/E,GAEP+E,MAMXw2B,WAAY,SAAUt5B,EAAM8C,GAC3B,IAAI9B,EACHlD,EAAI,EAIJ27B,EAAY32B,GAASA,EAAM2F,MAAOoP,GAEnC,GAAK4hB,GAA+B,IAAlBz5B,EAAK9C,SACtB,MAAU8D,EAAOy4B,EAAW37B,KAC3BkC,EAAK2J,gBAAiB3I,MAO1Bq4B,GAAW,CACVlb,IAAK,SAAUne,EAAM8C,EAAO9B,GAQ3B,OAPe,IAAV8B,EAGJnE,EAAO26B,WAAYt5B,EAAMgB,GAEzBhB,EAAK5B,aAAc4C,EAAMA,GAEnBA,IAITrC,EAAOkB,KAAMlB,EAAO6O,KAAK/E,MAAMjC,KAAKmZ,OAAOlX,MAAO,QAAU,SAAUtF,EAAInC,GACzE,IAAI04B,EAASnvB,GAAYvJ,IAAUrC,EAAOwN,KAAKuB,KAE/CnD,GAAYvJ,GAAS,SAAUhB,EAAMgB,EAAMwC,GAC1C,IAAI9D,EAAK+lB,EACRkU,EAAgB34B,EAAKoC,cAYtB,OAVMI,IAGLiiB,EAASlb,GAAYovB,GACrBpvB,GAAYovB,GAAkBj6B,EAC9BA,EAAqC,MAA/Bg6B,EAAQ15B,EAAMgB,EAAMwC,GACzBm2B,EACA,KACDpvB,GAAYovB,GAAkBlU,GAExB/lB,KAOT,IAAIk6B,GAAa,sCAChBC,GAAa,gBAyIb,SAASC,GAAkBh3B,GAE1B,OADaA,EAAM2F,MAAOoP,IAAmB,IAC/BrO,KAAM,KAItB,SAASuwB,GAAU/5B,GAClB,OAAOA,EAAK7B,cAAgB6B,EAAK7B,aAAc,UAAa,GAG7D,SAAS67B,GAAgBl3B,GACxB,OAAKvB,MAAMC,QAASsB,GACZA,EAEc,iBAAVA,GACJA,EAAM2F,MAAOoP,IAEd,GAxJRlZ,EAAOG,GAAGgC,OAAQ,CACjBud,KAAM,SAAUrd,EAAM8B,GACrB,OAAOia,EAAQphB,KAAMgD,EAAO0f,KAAMrd,EAAM8B,EAA0B,EAAnB7C,UAAUhB,SAG1Dg7B,WAAY,SAAUj5B,GACrB,OAAOrF,KAAKkE,KAAM,kBACVlE,KAAMgD,EAAOu7B,QAASl5B,IAAUA,QAK1CrC,EAAOmC,OAAQ,CACdud,KAAM,SAAUre,EAAMgB,EAAM8B,GAC3B,IAAIpD,EAAKyf,EACRoa,EAAQv5B,EAAK9C,SAGd,GAAe,IAAVq8B,GAAyB,IAAVA,GAAyB,IAAVA,EAWnC,OAPe,IAAVA,GAAgB56B,EAAO8W,SAAUzV,KAGrCgB,EAAOrC,EAAOu7B,QAASl5B,IAAUA,EACjCme,EAAQxgB,EAAOo1B,UAAW/yB,SAGZS,IAAVqB,EACCqc,GAAS,QAASA,QACuB1d,KAA3C/B,EAAMyf,EAAMhB,IAAKne,EAAM8C,EAAO9B,IACzBtB,EAGCM,EAAMgB,GAAS8B,EAGpBqc,GAAS,QAASA,GAA+C,QAApCzf,EAAMyf,EAAM7f,IAAKU,EAAMgB,IACjDtB,EAGDM,EAAMgB,IAGd+yB,UAAW,CACV3iB,SAAU,CACT9R,IAAK,SAAUU,GAOd,IAAIm6B,EAAWx7B,EAAOwN,KAAKuB,KAAM1N,EAAM,YAEvC,OAAKm6B,EACG5K,SAAU4K,EAAU,IAI3BP,GAAWxwB,KAAMpJ,EAAKgI,WACtB6xB,GAAWzwB,KAAMpJ,EAAKgI,WACtBhI,EAAKmR,KAEE,GAGA,KAKX+oB,QAAS,CACRE,MAAO,UACPC,QAAS,eAYLt9B,EAAQo8B,cACbx6B,EAAOo1B,UAAUxiB,SAAW,CAC3BjS,IAAK,SAAUU,GAId,IAAI8P,EAAS9P,EAAKzB,WAIlB,OAHKuR,GAAUA,EAAOvR,YACrBuR,EAAOvR,WAAWiT,cAEZ,MAER2M,IAAK,SAAUne,GAId,IAAI8P,EAAS9P,EAAKzB,WACbuR,IACJA,EAAO0B,cAEF1B,EAAOvR,YACXuR,EAAOvR,WAAWiT,kBAOvB7S,EAAOkB,KAAM,CACZ,WACA,WACA,YACA,cACA,cACA,UACA,UACA,SACA,cACA,mBACE,WACFlB,EAAOu7B,QAASv+B,KAAKyH,eAAkBzH,OA4BxCgD,EAAOG,GAAGgC,OAAQ,CACjBw5B,SAAU,SAAUx3B,GACnB,IAAIy3B,EAASv6B,EAAMyK,EAAK+vB,EAAUC,EAAO/5B,EAAGg6B,EAC3C58B,EAAI,EAEL,GAAKd,EAAY8F,GAChB,OAAOnH,KAAKkE,KAAM,SAAUa,GAC3B/B,EAAQhD,MAAO2+B,SAAUx3B,EAAM1G,KAAMT,KAAM+E,EAAGq5B,GAAUp+B,UAM1D,IAFA4+B,EAAUP,GAAgBl3B,IAEb7D,OACZ,MAAUe,EAAOrE,KAAMmC,KAItB,GAHA08B,EAAWT,GAAU/5B,GACrByK,EAAwB,IAAlBzK,EAAK9C,UAAoB,IAAM48B,GAAkBU,GAAa,IAEzD,CACV95B,EAAI,EACJ,MAAU+5B,EAAQF,EAAS75B,KACrB+J,EAAIjO,QAAS,IAAMi+B,EAAQ,KAAQ,IACvChwB,GAAOgwB,EAAQ,KAMZD,KADLE,EAAaZ,GAAkBrvB,KAE9BzK,EAAK5B,aAAc,QAASs8B,GAMhC,OAAO/+B,MAGRg/B,YAAa,SAAU73B,GACtB,IAAIy3B,EAASv6B,EAAMyK,EAAK+vB,EAAUC,EAAO/5B,EAAGg6B,EAC3C58B,EAAI,EAEL,GAAKd,EAAY8F,GAChB,OAAOnH,KAAKkE,KAAM,SAAUa,GAC3B/B,EAAQhD,MAAOg/B,YAAa73B,EAAM1G,KAAMT,KAAM+E,EAAGq5B,GAAUp+B,UAI7D,IAAMsE,UAAUhB,OACf,OAAOtD,KAAK+R,KAAM,QAAS,IAK5B,IAFA6sB,EAAUP,GAAgBl3B,IAEb7D,OACZ,MAAUe,EAAOrE,KAAMmC,KAMtB,GALA08B,EAAWT,GAAU/5B,GAGrByK,EAAwB,IAAlBzK,EAAK9C,UAAoB,IAAM48B,GAAkBU,GAAa,IAEzD,CACV95B,EAAI,EACJ,MAAU+5B,EAAQF,EAAS75B,KAG1B,OAA4C,EAApC+J,EAAIjO,QAAS,IAAMi+B,EAAQ,KAClChwB,EAAMA,EAAI5I,QAAS,IAAM44B,EAAQ,IAAK,KAMnCD,KADLE,EAAaZ,GAAkBrvB,KAE9BzK,EAAK5B,aAAc,QAASs8B,GAMhC,OAAO/+B,MAGRi/B,YAAa,SAAU93B,EAAO+3B,GAC7B,IAAIv9B,SAAcwF,EACjBg4B,EAAwB,WAATx9B,GAAqBiE,MAAMC,QAASsB,GAEpD,MAAyB,kBAAb+3B,GAA0BC,EAC9BD,EAAWl/B,KAAK2+B,SAAUx3B,GAAUnH,KAAKg/B,YAAa73B,GAGzD9F,EAAY8F,GACTnH,KAAKkE,KAAM,SAAU/B,GAC3Ba,EAAQhD,MAAOi/B,YACd93B,EAAM1G,KAAMT,KAAMmC,EAAGi8B,GAAUp+B,MAAQk/B,GACvCA,KAKIl/B,KAAKkE,KAAM,WACjB,IAAIgM,EAAW/N,EAAGsY,EAAM2kB,EAExB,GAAKD,EAAe,CAGnBh9B,EAAI,EACJsY,EAAOzX,EAAQhD,MACfo/B,EAAaf,GAAgBl3B,GAE7B,MAAU+I,EAAYkvB,EAAYj9B,KAG5BsY,EAAK4kB,SAAUnvB,GACnBuK,EAAKukB,YAAa9uB,GAElBuK,EAAKkkB,SAAUzuB,aAKIpK,IAAVqB,GAAgC,YAATxF,KAClCuO,EAAYkuB,GAAUp+B,QAIrB4iB,EAASJ,IAAKxiB,KAAM,gBAAiBkQ,GAOjClQ,KAAKyC,cACTzC,KAAKyC,aAAc,QAClByN,IAAuB,IAAV/I,EACZ,GACAyb,EAASjf,IAAK3D,KAAM,kBAAqB,QAO/Cq/B,SAAU,SAAUp8B,GACnB,IAAIiN,EAAW7L,EACdlC,EAAI,EAEL+N,EAAY,IAAMjN,EAAW,IAC7B,MAAUoB,EAAOrE,KAAMmC,KACtB,GAAuB,IAAlBkC,EAAK9C,WACoE,GAA3E,IAAM48B,GAAkBC,GAAU/5B,IAAW,KAAMxD,QAASqP,GAC9D,OAAO,EAIT,OAAO,KAOT,IAAIovB,GAAU,MAEdt8B,EAAOG,GAAGgC,OAAQ,CACjB/C,IAAK,SAAU+E,GACd,IAAIqc,EAAOzf,EAAKurB,EACfjrB,EAAOrE,KAAM,GAEd,OAAMsE,UAAUhB,QA0BhBgsB,EAAkBjuB,EAAY8F,GAEvBnH,KAAKkE,KAAM,SAAU/B,GAC3B,IAAIC,EAEmB,IAAlBpC,KAAKuB,WAWE,OANXa,EADIktB,EACEnoB,EAAM1G,KAAMT,KAAMmC,EAAGa,EAAQhD,MAAOoC,OAEpC+E,GAKN/E,EAAM,GAEoB,iBAARA,EAClBA,GAAO,GAEIwD,MAAMC,QAASzD,KAC1BA,EAAMY,EAAOoB,IAAKhC,EAAK,SAAU+E,GAChC,OAAgB,MAATA,EAAgB,GAAKA,EAAQ,OAItCqc,EAAQxgB,EAAOu8B,SAAUv/B,KAAK2B,OAAUqB,EAAOu8B,SAAUv/B,KAAKqM,SAAS5E,iBAGrD,QAAS+b,QAA+C1d,IAApC0d,EAAMhB,IAAKxiB,KAAMoC,EAAK,WAC3DpC,KAAKmH,MAAQ/E,OAzDTiC,GACJmf,EAAQxgB,EAAOu8B,SAAUl7B,EAAK1C,OAC7BqB,EAAOu8B,SAAUl7B,EAAKgI,SAAS5E,iBAG/B,QAAS+b,QACgC1d,KAAvC/B,EAAMyf,EAAM7f,IAAKU,EAAM,UAElBN,EAMY,iBAHpBA,EAAMM,EAAK8C,OAIHpD,EAAImC,QAASo5B,GAAS,IAIhB,MAAPv7B,EAAc,GAAKA,OAG3B,KAyCHf,EAAOmC,OAAQ,CACdo6B,SAAU,CACTnZ,OAAQ,CACPziB,IAAK,SAAUU,GAEd,IAAIjC,EAAMY,EAAOwN,KAAKuB,KAAM1N,EAAM,SAClC,OAAc,MAAPjC,EACNA,EAMA+7B,GAAkBn7B,EAAOT,KAAM8B,MAGlC2D,OAAQ,CACPrE,IAAK,SAAUU,GACd,IAAI8C,EAAOif,EAAQjkB,EAClBiD,EAAUf,EAAKe,QACfkW,EAAQjX,EAAKwR,cACbyS,EAAoB,eAAdjkB,EAAK1C,KACX6jB,EAAS8C,EAAM,KAAO,GACtB2M,EAAM3M,EAAMhN,EAAQ,EAAIlW,EAAQ9B,OAUjC,IAPCnB,EADImZ,EAAQ,EACR2Z,EAGA3M,EAAMhN,EAAQ,EAIXnZ,EAAI8yB,EAAK9yB,IAKhB,KAJAikB,EAAShhB,EAASjD,IAIJyT,UAAYzT,IAAMmZ,KAG7B8K,EAAOha,YACLga,EAAOxjB,WAAWwJ,WACnBC,EAAU+Z,EAAOxjB,WAAY,aAAiB,CAMjD,GAHAuE,EAAQnE,EAAQojB,GAAShkB,MAGpBkmB,EACJ,OAAOnhB,EAIRqe,EAAO5kB,KAAMuG,GAIf,OAAOqe,GAGRhD,IAAK,SAAUne,EAAM8C,GACpB,IAAIq4B,EAAWpZ,EACdhhB,EAAUf,EAAKe,QACfogB,EAASxiB,EAAO2D,UAAWQ,GAC3BhF,EAAIiD,EAAQ9B,OAEb,MAAQnB,MACPikB,EAAShhB,EAASjD,IAINyT,UACuD,EAAlE5S,EAAO6D,QAAS7D,EAAOu8B,SAASnZ,OAAOziB,IAAKyiB,GAAUZ,MAEtDga,GAAY,GAUd,OAHMA,IACLn7B,EAAKwR,eAAiB,GAEhB2P,OAOXxiB,EAAOkB,KAAM,CAAE,QAAS,YAAc,WACrClB,EAAOu8B,SAAUv/B,MAAS,CACzBwiB,IAAK,SAAUne,EAAM8C,GACpB,GAAKvB,MAAMC,QAASsB,GACnB,OAAS9C,EAAKsR,SAA2D,EAAjD3S,EAAO6D,QAAS7D,EAAQqB,GAAOjC,MAAO+E,KAI3D/F,EAAQm8B,UACbv6B,EAAOu8B,SAAUv/B,MAAO2D,IAAM,SAAUU,GACvC,OAAwC,OAAjCA,EAAK7B,aAAc,SAAqB,KAAO6B,EAAK8C,UAW9D/F,EAAQq+B,QAAU,cAAe1/B,EAGjC,IAAI2/B,GAAc,kCACjBC,GAA0B,SAAUlzB,GACnCA,EAAEsc,mBAGJ/lB,EAAOmC,OAAQnC,EAAOwlB,MAAO,CAE5BU,QAAS,SAAUV,EAAO/F,EAAMpe,EAAMu7B,GAErC,IAAIz9B,EAAG2M,EAAK6B,EAAKkvB,EAAYC,EAAQhW,EAAQ3K,EAAS4gB,EACrDC,EAAY,CAAE37B,GAAQzE,GACtB+B,EAAOX,EAAOP,KAAM+nB,EAAO,QAAWA,EAAM7mB,KAAO6mB,EACnDkB,EAAa1oB,EAAOP,KAAM+nB,EAAO,aAAgBA,EAAM/Y,UAAUlI,MAAO,KAAQ,GAKjF,GAHAuH,EAAMixB,EAAcpvB,EAAMtM,EAAOA,GAAQzE,EAGlB,IAAlByE,EAAK9C,UAAoC,IAAlB8C,EAAK9C,WAK5Bm+B,GAAYjyB,KAAM9L,EAAOqB,EAAOwlB,MAAMuB,cAIf,EAAvBpoB,EAAKd,QAAS,OAIlBc,GADA+nB,EAAa/nB,EAAK4F,MAAO,MACP8G,QAClBqb,EAAWzkB,QAEZ66B,EAASn+B,EAAKd,QAAS,KAAQ,GAAK,KAAOc,GAG3C6mB,EAAQA,EAAOxlB,EAAO+C,SACrByiB,EACA,IAAIxlB,EAAOmmB,MAAOxnB,EAAuB,iBAAV6mB,GAAsBA,IAGhDK,UAAY+W,EAAe,EAAI,EACrCpX,EAAM/Y,UAAYia,EAAW7b,KAAM,KACnC2a,EAAMwC,WAAaxC,EAAM/Y,UACxB,IAAI1F,OAAQ,UAAY2f,EAAW7b,KAAM,iBAAoB,WAC7D,KAGD2a,EAAMjV,YAASzN,EACT0iB,EAAM/iB,SACX+iB,EAAM/iB,OAASpB,GAIhBoe,EAAe,MAARA,EACN,CAAE+F,GACFxlB,EAAO2D,UAAW8b,EAAM,CAAE+F,IAG3BrJ,EAAUnc,EAAOwlB,MAAMrJ,QAASxd,IAAU,GACpCi+B,IAAgBzgB,EAAQ+J,UAAmD,IAAxC/J,EAAQ+J,QAAQvoB,MAAO0D,EAAMoe,IAAtE,CAMA,IAAMmd,IAAiBzgB,EAAQuM,WAAajqB,EAAU4C,GAAS,CAM9D,IAJAw7B,EAAa1gB,EAAQ2J,cAAgBnnB,EAC/B+9B,GAAYjyB,KAAMoyB,EAAal+B,KACpCmN,EAAMA,EAAIlM,YAEHkM,EAAKA,EAAMA,EAAIlM,WACtBo9B,EAAUp/B,KAAMkO,GAChB6B,EAAM7B,EAIF6B,KAAUtM,EAAK6I,eAAiBtN,IACpCogC,EAAUp/B,KAAM+P,EAAIb,aAAea,EAAIsvB,cAAgBlgC,GAKzDoC,EAAI,EACJ,OAAU2M,EAAMkxB,EAAW79B,QAAYqmB,EAAMqC,uBAC5CkV,EAAcjxB,EACd0Z,EAAM7mB,KAAW,EAAJQ,EACZ09B,EACA1gB,EAAQ8K,UAAYtoB,GAGrBmoB,GAAWlH,EAASjf,IAAKmL,EAAK,WAAc1O,OAAOypB,OAAQ,OAAUrB,EAAM7mB,OAC1EihB,EAASjf,IAAKmL,EAAK,YAEnBgb,EAAOnpB,MAAOmO,EAAK2T,IAIpBqH,EAASgW,GAAUhxB,EAAKgxB,KACThW,EAAOnpB,OAASuhB,EAAYpT,KAC1C0Z,EAAMjV,OAASuW,EAAOnpB,MAAOmO,EAAK2T,IACZ,IAAjB+F,EAAMjV,QACViV,EAAMS,kBA8CT,OA1CAT,EAAM7mB,KAAOA,EAGPi+B,GAAiBpX,EAAMuD,sBAEpB5M,EAAQuH,WACqC,IAApDvH,EAAQuH,SAAS/lB,MAAOq/B,EAAU12B,MAAOmZ,KACzCP,EAAY7d,IAIPy7B,GAAUz+B,EAAYgD,EAAM1C,MAAaF,EAAU4C,MAGvDsM,EAAMtM,EAAMy7B,MAGXz7B,EAAMy7B,GAAW,MAIlB98B,EAAOwlB,MAAMuB,UAAYpoB,EAEpB6mB,EAAMqC,wBACVkV,EAAY/vB,iBAAkBrO,EAAMg+B,IAGrCt7B,EAAM1C,KAED6mB,EAAMqC,wBACVkV,EAAYhf,oBAAqBpf,EAAMg+B,IAGxC38B,EAAOwlB,MAAMuB,eAAYjkB,EAEpB6K,IACJtM,EAAMy7B,GAAWnvB,IAMd6X,EAAMjV,SAKd2sB,SAAU,SAAUv+B,EAAM0C,EAAMmkB,GAC/B,IAAI/b,EAAIzJ,EAAOmC,OACd,IAAInC,EAAOmmB,MACXX,EACA,CACC7mB,KAAMA,EACNyqB,aAAa,IAIfppB,EAAOwlB,MAAMU,QAASzc,EAAG,KAAMpI,MAKjCrB,EAAOG,GAAGgC,OAAQ,CAEjB+jB,QAAS,SAAUvnB,EAAM8gB,GACxB,OAAOziB,KAAKkE,KAAM,WACjBlB,EAAOwlB,MAAMU,QAASvnB,EAAM8gB,EAAMziB,SAGpCmgC,eAAgB,SAAUx+B,EAAM8gB,GAC/B,IAAIpe,EAAOrE,KAAM,GACjB,GAAKqE,EACJ,OAAOrB,EAAOwlB,MAAMU,QAASvnB,EAAM8gB,EAAMpe,GAAM,MAc5CjD,EAAQq+B,SACbz8B,EAAOkB,KAAM,CAAEmR,MAAO,UAAW4Y,KAAM,YAAc,SAAUK,EAAM5D,GAGpE,IAAI/b,EAAU,SAAU6Z,GACvBxlB,EAAOwlB,MAAM0X,SAAUxV,EAAKlC,EAAM/iB,OAAQzC,EAAOwlB,MAAMkC,IAAKlC,KAG7DxlB,EAAOwlB,MAAMrJ,QAASuL,GAAQ,CAC7BP,MAAO,WAIN,IAAIjoB,EAAMlC,KAAKkN,eAAiBlN,KAAKJ,UAAYI,KAChDogC,EAAWxd,EAASxB,OAAQlf,EAAKwoB,GAE5B0V,GACLl+B,EAAI8N,iBAAkBse,EAAM3f,GAAS,GAEtCiU,EAASxB,OAAQlf,EAAKwoB,GAAO0V,GAAY,GAAM,IAEhD9V,SAAU,WACT,IAAIpoB,EAAMlC,KAAKkN,eAAiBlN,KAAKJ,UAAYI,KAChDogC,EAAWxd,EAASxB,OAAQlf,EAAKwoB,GAAQ,EAEpC0V,EAKLxd,EAASxB,OAAQlf,EAAKwoB,EAAK0V,IAJ3Bl+B,EAAI6e,oBAAqBuN,EAAM3f,GAAS,GACxCiU,EAAShF,OAAQ1b,EAAKwoB,QAS3B,IAAIvV,GAAWpV,EAAOoV,SAElBtT,GAAQ,CAAEuF,KAAMsB,KAAKyjB,OAErBkU,GAAS,KAKbr9B,EAAOs9B,SAAW,SAAU7d,GAC3B,IAAI3O,EAAKysB,EACT,IAAM9d,GAAwB,iBAATA,EACpB,OAAO,KAKR,IACC3O,GAAM,IAAM/T,EAAOygC,WAAcC,gBAAiBhe,EAAM,YACvD,MAAQhW,IAYV,OAVA8zB,EAAkBzsB,GAAOA,EAAIxG,qBAAsB,eAAiB,GAC9DwG,IAAOysB,GACZv9B,EAAOoD,MAAO,iBACbm6B,EACCv9B,EAAOoB,IAAKm8B,EAAgB/zB,WAAY,SAAUgC,GACjD,OAAOA,EAAG8D,cACPzE,KAAM,MACV4U,IAGI3O,GAIR,IACC4sB,GAAW,QACXC,GAAQ,SACRC,GAAkB,wCAClBC,GAAe,qCAEhB,SAASC,GAAa/I,EAAQz2B,EAAKy/B,EAAavlB,GAC/C,IAAInW,EAEJ,GAAKO,MAAMC,QAASvE,GAGnB0B,EAAOkB,KAAM5C,EAAK,SAAUa,EAAGia,GACzB2kB,GAAeL,GAASjzB,KAAMsqB,GAGlCvc,EAAKuc,EAAQ3b,GAKb0kB,GACC/I,EAAS,KAAqB,iBAAN3b,GAAuB,MAALA,EAAYja,EAAI,IAAO,IACjEia,EACA2kB,EACAvlB,UAKG,GAAMulB,GAAiC,WAAlBj+B,EAAQxB,GAUnCka,EAAKuc,EAAQz2B,QAPb,IAAM+D,KAAQ/D,EACbw/B,GAAa/I,EAAS,IAAM1yB,EAAO,IAAK/D,EAAK+D,GAAQ07B,EAAavlB,GAYrExY,EAAOg+B,MAAQ,SAAU53B,EAAG23B,GAC3B,IAAIhJ,EACHkJ,EAAI,GACJzlB,EAAM,SAAUrN,EAAK+yB,GAGpB,IAAI/5B,EAAQ9F,EAAY6/B,GACvBA,IACAA,EAEDD,EAAGA,EAAE39B,QAAW69B,mBAAoBhzB,GAAQ,IAC3CgzB,mBAA6B,MAATh6B,EAAgB,GAAKA,IAG5C,GAAU,MAALiC,EACJ,MAAO,GAIR,GAAKxD,MAAMC,QAASuD,IAASA,EAAE5F,SAAWR,EAAO2C,cAAeyD,GAG/DpG,EAAOkB,KAAMkF,EAAG,WACfoS,EAAKxb,KAAKqF,KAAMrF,KAAKmH,cAOtB,IAAM4wB,KAAU3uB,EACf03B,GAAa/I,EAAQ3uB,EAAG2uB,GAAUgJ,EAAavlB,GAKjD,OAAOylB,EAAEpzB,KAAM,MAGhB7K,EAAOG,GAAGgC,OAAQ,CACjBi8B,UAAW,WACV,OAAOp+B,EAAOg+B,MAAOhhC,KAAKqhC,mBAE3BA,eAAgB,WACf,OAAOrhC,KAAKoE,IAAK,WAGhB,IAAI0N,EAAW9O,EAAO0f,KAAM1iB,KAAM,YAClC,OAAO8R,EAAW9O,EAAO2D,UAAWmL,GAAa9R,OAC9CsQ,OAAQ,WACX,IAAI3O,EAAO3B,KAAK2B,KAGhB,OAAO3B,KAAKqF,OAASrC,EAAQhD,MAAOka,GAAI,cACvC2mB,GAAapzB,KAAMzN,KAAKqM,YAAeu0B,GAAgBnzB,KAAM9L,KAC3D3B,KAAK2V,UAAYkQ,GAAepY,KAAM9L,MACtCyC,IAAK,SAAUoD,EAAInD,GACtB,IAAIjC,EAAMY,EAAQhD,MAAOoC,MAEzB,OAAY,MAAPA,EACG,KAGHwD,MAAMC,QAASzD,GACZY,EAAOoB,IAAKhC,EAAK,SAAUA,GACjC,MAAO,CAAEiD,KAAMhB,EAAKgB,KAAM8B,MAAO/E,EAAI8D,QAASy6B,GAAO,WAIhD,CAAEt7B,KAAMhB,EAAKgB,KAAM8B,MAAO/E,EAAI8D,QAASy6B,GAAO,WAClDh9B,SAKN,IACC29B,GAAM,OACNC,GAAQ,OACRC,GAAa,gBACbC,GAAW,6BAIXC,GAAa,iBACbC,GAAY,QAWZrH,GAAa,GAObsH,GAAa,GAGbC,GAAW,KAAKnhC,OAAQ,KAGxBohC,GAAeliC,EAAS0C,cAAe,KAKxC,SAASy/B,GAA6BC,GAGrC,OAAO,SAAUC,EAAoBhkB,GAED,iBAAvBgkB,IACXhkB,EAAOgkB,EACPA,EAAqB,KAGtB,IAAIC,EACH//B,EAAI,EACJggC,EAAYF,EAAmBx6B,cAAcqF,MAAOoP,IAAmB,GAExE,GAAK7a,EAAY4c,GAGhB,MAAUikB,EAAWC,EAAWhgC,KAGR,MAAlB+/B,EAAU,IACdA,EAAWA,EAAS5hC,MAAO,IAAO,KAChC0hC,EAAWE,GAAaF,EAAWE,IAAc,IAAKtwB,QAASqM,KAI/D+jB,EAAWE,GAAaF,EAAWE,IAAc,IAAKthC,KAAMqd,IAQnE,SAASmkB,GAA+BJ,EAAW58B,EAASy1B,EAAiBwH,GAE5E,IAAIC,EAAY,GACfC,EAAqBP,IAAcJ,GAEpC,SAASY,EAASN,GACjB,IAAItsB,EAcJ,OAbA0sB,EAAWJ,IAAa,EACxBl/B,EAAOkB,KAAM89B,EAAWE,IAAc,GAAI,SAAUjlB,EAAGwlB,GACtD,IAAIC,EAAsBD,EAAoBr9B,EAASy1B,EAAiBwH,GACxE,MAAoC,iBAAxBK,GACVH,GAAqBD,EAAWI,GAKtBH,IACD3sB,EAAW8sB,QADf,GAHNt9B,EAAQ+8B,UAAUvwB,QAAS8wB,GAC3BF,EAASE,IACF,KAKF9sB,EAGR,OAAO4sB,EAASp9B,EAAQ+8B,UAAW,MAAUG,EAAW,MAASE,EAAS,KAM3E,SAASG,GAAYl9B,EAAQ7D,GAC5B,IAAIuM,EAAKzI,EACRk9B,EAAc5/B,EAAO6/B,aAAaD,aAAe,GAElD,IAAMz0B,KAAOvM,OACQkE,IAAflE,EAAKuM,MACPy0B,EAAaz0B,GAAQ1I,EAAWC,IAAUA,EAAO,KAAUyI,GAAQvM,EAAKuM,IAO5E,OAJKzI,GACJ1C,EAAOmC,QAAQ,EAAMM,EAAQC,GAGvBD,EA/ERq8B,GAAatsB,KAAOL,GAASK,KAgP7BxS,EAAOmC,OAAQ,CAGd29B,OAAQ,EAGRC,aAAc,GACdC,KAAM,GAENH,aAAc,CACbI,IAAK9tB,GAASK,KACd7T,KAAM,MACNuhC,QAxRgB,4DAwRQz1B,KAAM0H,GAASguB,UACvC3jC,QAAQ,EACR4jC,aAAa,EACbC,OAAO,EACPC,YAAa,mDAcbC,QAAS,CACRnI,IAAKyG,GACLt/B,KAAM,aACNgtB,KAAM,YACNzb,IAAK,4BACL0vB,KAAM,qCAGPxoB,SAAU,CACTlH,IAAK,UACLyb,KAAM,SACNiU,KAAM,YAGPC,eAAgB,CACf3vB,IAAK,cACLvR,KAAM,eACNihC,KAAM,gBAKPE,WAAY,CAGXC,SAAUj4B,OAGVk4B,aAAa,EAGbC,YAAa5gB,KAAKC,MAGlB4gB,WAAY9gC,EAAOs9B,UAOpBsC,YAAa,CACZK,KAAK,EACL//B,SAAS,IAOX6gC,UAAW,SAAUt+B,EAAQu+B,GAC5B,OAAOA,EAGNrB,GAAYA,GAAYl9B,EAAQzC,EAAO6/B,cAAgBmB,GAGvDrB,GAAY3/B,EAAO6/B,aAAcp9B,IAGnCw+B,cAAelC,GAA6BzH,IAC5C4J,cAAenC,GAA6BH,IAG5CuC,KAAM,SAAUlB,EAAK79B,GAGA,iBAAR69B,IACX79B,EAAU69B,EACVA,OAAMn9B,GAIPV,EAAUA,GAAW,GAErB,IAAIg/B,EAGHC,EAGAC,EACAC,EAGAC,EAGAC,EAGA3jB,EAGA4jB,EAGAviC,EAGAwiC,EAGA1D,EAAIj+B,EAAO+gC,UAAW,GAAI3+B,GAG1Bw/B,EAAkB3D,EAAE/9B,SAAW+9B,EAG/B4D,EAAqB5D,EAAE/9B,UACpB0hC,EAAgBrjC,UAAYqjC,EAAgBphC,QAC9CR,EAAQ4hC,GACR5hC,EAAOwlB,MAGRnK,EAAWrb,EAAOgb,WAClB8mB,EAAmB9hC,EAAO+Z,UAAW,eAGrCgoB,EAAa9D,EAAE8D,YAAc,GAG7BC,EAAiB,GACjBC,EAAsB,GAGtBC,EAAW,WAGX7C,EAAQ,CACPnhB,WAAY,EAGZikB,kBAAmB,SAAUh3B,GAC5B,IAAIrB,EACJ,GAAKgU,EAAY,CAChB,IAAMyjB,EAAkB,CACvBA,EAAkB,GAClB,MAAUz3B,EAAQ20B,GAASt0B,KAAMm3B,GAChCC,EAAiBz3B,EAAO,GAAIrF,cAAgB,MACzC88B,EAAiBz3B,EAAO,GAAIrF,cAAgB,MAAS,IACrD/G,OAAQoM,EAAO,IAGpBA,EAAQy3B,EAAiBp2B,EAAI1G,cAAgB,KAE9C,OAAgB,MAATqF,EAAgB,KAAOA,EAAMe,KAAM,OAI3Cu3B,sBAAuB,WACtB,OAAOtkB,EAAYwjB,EAAwB,MAI5Ce,iBAAkB,SAAUhgC,EAAM8B,GAMjC,OALkB,MAAb2Z,IACJzb,EAAO4/B,EAAqB5/B,EAAKoC,eAChCw9B,EAAqB5/B,EAAKoC,gBAAmBpC,EAC9C2/B,EAAgB3/B,GAAS8B,GAEnBnH,MAIRslC,iBAAkB,SAAU3jC,GAI3B,OAHkB,MAAbmf,IACJmgB,EAAEsE,SAAW5jC,GAEP3B,MAIR+kC,WAAY,SAAU3gC,GACrB,IAAIpC,EACJ,GAAKoC,EACJ,GAAK0c,EAGJuhB,EAAMjkB,OAAQha,EAAKi+B,EAAMmD,cAIzB,IAAMxjC,KAAQoC,EACb2gC,EAAY/iC,GAAS,CAAE+iC,EAAY/iC,GAAQoC,EAAKpC,IAInD,OAAOhC,MAIRylC,MAAO,SAAUC,GAChB,IAAIC,EAAYD,GAAcR,EAK9B,OAJKd,GACJA,EAAUqB,MAAOE,GAElB98B,EAAM,EAAG88B,GACF3lC,OAoBV,GAfAqe,EAASzB,QAASylB,GAKlBpB,EAAEgC,MAAUA,GAAOhC,EAAEgC,KAAO9tB,GAASK,MAAS,IAC5CtP,QAASy7B,GAAWxsB,GAASguB,SAAW,MAG1ClC,EAAEt/B,KAAOyD,EAAQuX,QAAUvX,EAAQzD,MAAQs/B,EAAEtkB,QAAUskB,EAAEt/B,KAGzDs/B,EAAEkB,WAAclB,EAAEiB,UAAY,KAAMz6B,cAAcqF,MAAOoP,IAAmB,CAAE,IAGxD,MAAjB+kB,EAAE2E,YAAsB,CAC5BnB,EAAY7kC,EAAS0C,cAAe,KAKpC,IACCmiC,EAAUjvB,KAAOyrB,EAAEgC,IAInBwB,EAAUjvB,KAAOivB,EAAUjvB,KAC3ByrB,EAAE2E,YAAc9D,GAAaqB,SAAW,KAAOrB,GAAa+D,MAC3DpB,EAAUtB,SAAW,KAAOsB,EAAUoB,KACtC,MAAQp5B,GAITw0B,EAAE2E,aAAc,GAalB,GARK3E,EAAExe,MAAQwe,EAAEmC,aAAiC,iBAAXnC,EAAExe,OACxCwe,EAAExe,KAAOzf,EAAOg+B,MAAOC,EAAExe,KAAMwe,EAAEF,cAIlCqB,GAA+B9H,GAAY2G,EAAG77B,EAASi9B,GAGlDvhB,EACJ,OAAOuhB,EA8ER,IAAMlgC,KAzENuiC,EAAc1hC,EAAOwlB,OAASyY,EAAEzhC,SAGQ,GAApBwD,EAAO8/B,UAC1B9/B,EAAOwlB,MAAMU,QAAS,aAIvB+X,EAAEt/B,KAAOs/B,EAAEt/B,KAAKogB,cAGhBkf,EAAE6E,YAAcpE,GAAWj0B,KAAMwzB,EAAEt/B,MAKnC0iC,EAAWpD,EAAEgC,IAAI/8B,QAASq7B,GAAO,IAG3BN,EAAE6E,WAwBI7E,EAAExe,MAAQwe,EAAEmC,aACoD,KAAzEnC,EAAEqC,aAAe,IAAKziC,QAAS,uCACjCogC,EAAExe,KAAOwe,EAAExe,KAAKvc,QAASo7B,GAAK,OAvB9BqD,EAAW1D,EAAEgC,IAAI3iC,MAAO+jC,EAAS/gC,QAG5B29B,EAAExe,OAAUwe,EAAEmC,aAAiC,iBAAXnC,EAAExe,QAC1C4hB,IAAchE,GAAO5yB,KAAM42B,GAAa,IAAM,KAAQpD,EAAExe,YAGjDwe,EAAExe,OAIO,IAAZwe,EAAE/yB,QACNm2B,EAAWA,EAASn+B,QAASs7B,GAAY,MACzCmD,GAAatE,GAAO5yB,KAAM42B,GAAa,IAAM,KAAQ,KAASxiC,GAAMuF,OACnEu9B,GAIF1D,EAAEgC,IAAMoB,EAAWM,GASf1D,EAAE8E,aACD/iC,EAAO+/B,aAAcsB,IACzBhC,EAAMgD,iBAAkB,oBAAqBriC,EAAO+/B,aAAcsB,IAE9DrhC,EAAOggC,KAAMqB,IACjBhC,EAAMgD,iBAAkB,gBAAiBriC,EAAOggC,KAAMqB,MAKnDpD,EAAExe,MAAQwe,EAAE6E,aAAgC,IAAlB7E,EAAEqC,aAAyBl+B,EAAQk+B,cACjEjB,EAAMgD,iBAAkB,eAAgBpE,EAAEqC,aAI3CjB,EAAMgD,iBACL,SACApE,EAAEkB,UAAW,IAAOlB,EAAEsC,QAAStC,EAAEkB,UAAW,IAC3ClB,EAAEsC,QAAStC,EAAEkB,UAAW,KACA,MAArBlB,EAAEkB,UAAW,GAAc,KAAON,GAAW,WAAa,IAC7DZ,EAAEsC,QAAS,MAIFtC,EAAE+E,QACZ3D,EAAMgD,iBAAkBljC,EAAG8+B,EAAE+E,QAAS7jC,IAIvC,GAAK8+B,EAAEgF,cAC+C,IAAnDhF,EAAEgF,WAAWxlC,KAAMmkC,EAAiBvC,EAAOpB,IAAiBngB,GAG9D,OAAOuhB,EAAMoD,QAed,GAXAP,EAAW,QAGXJ,EAAiBtpB,IAAKylB,EAAEhG,UACxBoH,EAAMx5B,KAAMo4B,EAAEiF,SACd7D,EAAMxlB,KAAMokB,EAAE76B,OAGdg+B,EAAYhC,GAA+BR,GAAYX,EAAG77B,EAASi9B,GAK5D,CASN,GARAA,EAAMnhB,WAAa,EAGdwjB,GACJG,EAAmB3b,QAAS,WAAY,CAAEmZ,EAAOpB,IAI7CngB,EACJ,OAAOuhB,EAIHpB,EAAEoC,OAAqB,EAAZpC,EAAE5D,UACjBmH,EAAezkC,EAAO+f,WAAY,WACjCuiB,EAAMoD,MAAO,YACXxE,EAAE5D,UAGN,IACCvc,GAAY,EACZsjB,EAAU+B,KAAMnB,EAAgBn8B,GAC/B,MAAQ4D,GAGT,GAAKqU,EACJ,MAAMrU,EAIP5D,GAAO,EAAG4D,SAhCX5D,GAAO,EAAG,gBAqCX,SAASA,EAAM28B,EAAQY,EAAkBC,EAAWL,GACnD,IAAIM,EAAWJ,EAAS9/B,EAAOmgC,EAAUC,EACxCd,EAAaU,EAGTtlB,IAILA,GAAY,EAGP0jB,GACJzkC,EAAOu9B,aAAckH,GAKtBJ,OAAYt+B,EAGZw+B,EAAwB0B,GAAW,GAGnC3D,EAAMnhB,WAAsB,EAATskB,EAAa,EAAI,EAGpCc,EAAsB,KAAVd,GAAiBA,EAAS,KAAkB,MAAXA,EAGxCa,IACJE,EA7lBJ,SAA8BtF,EAAGoB,EAAOgE,GAEvC,IAAII,EAAI9kC,EAAM+kC,EAAeC,EAC5B3rB,EAAWimB,EAAEjmB,SACbmnB,EAAYlB,EAAEkB,UAGf,MAA2B,MAAnBA,EAAW,GAClBA,EAAU9zB,aACEvI,IAAP2gC,IACJA,EAAKxF,EAAEsE,UAAYlD,EAAM8C,kBAAmB,iBAK9C,GAAKsB,EACJ,IAAM9kC,KAAQqZ,EACb,GAAKA,EAAUrZ,IAAUqZ,EAAUrZ,GAAO8L,KAAMg5B,GAAO,CACtDtE,EAAUvwB,QAASjQ,GACnB,MAMH,GAAKwgC,EAAW,KAAOkE,EACtBK,EAAgBvE,EAAW,OACrB,CAGN,IAAMxgC,KAAQ0kC,EAAY,CACzB,IAAMlE,EAAW,IAAOlB,EAAEyC,WAAY/hC,EAAO,IAAMwgC,EAAW,IAAQ,CACrEuE,EAAgB/kC,EAChB,MAEKglC,IACLA,EAAgBhlC,GAKlB+kC,EAAgBA,GAAiBC,EAMlC,GAAKD,EAIJ,OAHKA,IAAkBvE,EAAW,IACjCA,EAAUvwB,QAAS80B,GAEbL,EAAWK,GA0iBLE,CAAqB3F,EAAGoB,EAAOgE,KAIrCC,IACsC,EAA3CtjC,EAAO6D,QAAS,SAAUo6B,EAAEkB,YAC5Bn/B,EAAO6D,QAAS,OAAQo6B,EAAEkB,WAAc,IACxClB,EAAEyC,WAAY,eAAkB,cAIjC6C,EA9iBH,SAAsBtF,EAAGsF,EAAUlE,EAAOiE,GACzC,IAAIO,EAAOC,EAASC,EAAMp2B,EAAKsK,EAC9ByoB,EAAa,GAGbvB,EAAYlB,EAAEkB,UAAU7hC,QAGzB,GAAK6hC,EAAW,GACf,IAAM4E,KAAQ9F,EAAEyC,WACfA,EAAYqD,EAAKt/B,eAAkBw5B,EAAEyC,WAAYqD,GAInDD,EAAU3E,EAAU9zB,QAGpB,MAAQy4B,EAcP,GAZK7F,EAAEwC,eAAgBqD,KACtBzE,EAAOpB,EAAEwC,eAAgBqD,IAAcP,IAIlCtrB,GAAQqrB,GAAarF,EAAE+F,aAC5BT,EAAWtF,EAAE+F,WAAYT,EAAUtF,EAAEiB,WAGtCjnB,EAAO6rB,EACPA,EAAU3E,EAAU9zB,QAKnB,GAAiB,MAAZy4B,EAEJA,EAAU7rB,OAGJ,GAAc,MAATA,GAAgBA,IAAS6rB,EAAU,CAM9C,KAHAC,EAAOrD,EAAYzoB,EAAO,IAAM6rB,IAAapD,EAAY,KAAOoD,IAI/D,IAAMD,KAASnD,EAId,IADA/yB,EAAMk2B,EAAMt/B,MAAO,MACT,KAAQu/B,IAGjBC,EAAOrD,EAAYzoB,EAAO,IAAMtK,EAAK,KACpC+yB,EAAY,KAAO/yB,EAAK,KACb,EAGG,IAATo2B,EACJA,EAAOrD,EAAYmD,IAGgB,IAAxBnD,EAAYmD,KACvBC,EAAUn2B,EAAK,GACfwxB,EAAUvwB,QAASjB,EAAK,KAEzB,MAOJ,IAAc,IAATo2B,EAGJ,GAAKA,GAAQ9F,EAAEgG,UACdV,EAAWQ,EAAMR,QAEjB,IACCA,EAAWQ,EAAMR,GAChB,MAAQ95B,GACT,MAAO,CACN0R,MAAO,cACP/X,MAAO2gC,EAAOt6B,EAAI,sBAAwBwO,EAAO,OAAS6rB,IASjE,MAAO,CAAE3oB,MAAO,UAAWsE,KAAM8jB,GAidpBW,CAAajG,EAAGsF,EAAUlE,EAAOiE,GAGvCA,GAGCrF,EAAE8E,cACNS,EAAWnE,EAAM8C,kBAAmB,oBAEnCniC,EAAO+/B,aAAcsB,GAAamC,IAEnCA,EAAWnE,EAAM8C,kBAAmB,WAEnCniC,EAAOggC,KAAMqB,GAAamC,IAKZ,MAAXhB,GAA6B,SAAXvE,EAAEt/B,KACxB+jC,EAAa,YAGS,MAAXF,EACXE,EAAa,eAIbA,EAAaa,EAASpoB,MACtB+nB,EAAUK,EAAS9jB,KAEnB6jB,IADAlgC,EAAQmgC,EAASngC,UAMlBA,EAAQs/B,GACHF,GAAWE,IACfA,EAAa,QACRF,EAAS,IACbA,EAAS,KAMZnD,EAAMmD,OAASA,EACfnD,EAAMqD,YAAeU,GAAoBV,GAAe,GAGnDY,EACJjoB,EAASmB,YAAaolB,EAAiB,CAAEsB,EAASR,EAAYrD,IAE9DhkB,EAASuB,WAAYglB,EAAiB,CAAEvC,EAAOqD,EAAYt/B,IAI5Di8B,EAAM0C,WAAYA,GAClBA,OAAaj/B,EAER4+B,GACJG,EAAmB3b,QAASod,EAAY,cAAgB,YACvD,CAAEjE,EAAOpB,EAAGqF,EAAYJ,EAAU9/B,IAIpC0+B,EAAiB/mB,SAAU6mB,EAAiB,CAAEvC,EAAOqD,IAEhDhB,IACJG,EAAmB3b,QAAS,eAAgB,CAAEmZ,EAAOpB,MAG3Cj+B,EAAO8/B,QAChB9/B,EAAOwlB,MAAMU,QAAS,cAKzB,OAAOmZ,GAGR8E,QAAS,SAAUlE,EAAKxgB,EAAMte,GAC7B,OAAOnB,EAAOW,IAAKs/B,EAAKxgB,EAAMte,EAAU,SAGzCijC,UAAW,SAAUnE,EAAK9+B,GACzB,OAAOnB,EAAOW,IAAKs/B,OAAKn9B,EAAW3B,EAAU,aAI/CnB,EAAOkB,KAAM,CAAE,MAAO,QAAU,SAAUsD,EAAImV,GAC7C3Z,EAAQ2Z,GAAW,SAAUsmB,EAAKxgB,EAAMte,EAAUxC,GAUjD,OAPKN,EAAYohB,KAChB9gB,EAAOA,GAAQwC,EACfA,EAAWse,EACXA,OAAO3c,GAID9C,EAAOmhC,KAAMnhC,EAAOmC,OAAQ,CAClC89B,IAAKA,EACLthC,KAAMgb,EACNulB,SAAUvgC,EACV8gB,KAAMA,EACNyjB,QAAS/hC,GACPnB,EAAO2C,cAAes9B,IAASA,OAIpCjgC,EAAOihC,cAAe,SAAUhD,GAC/B,IAAI9+B,EACJ,IAAMA,KAAK8+B,EAAE+E,QACa,iBAApB7jC,EAAEsF,gBACNw5B,EAAEqC,YAAcrC,EAAE+E,QAAS7jC,IAAO,MAMrCa,EAAOwsB,SAAW,SAAUyT,EAAK79B,EAASlD,GACzC,OAAOc,EAAOmhC,KAAM,CACnBlB,IAAKA,EAGLthC,KAAM,MACNugC,SAAU,SACVh0B,OAAO,EACPm1B,OAAO,EACP7jC,QAAQ,EAKRkkC,WAAY,CACX2D,cAAe,cAEhBL,WAAY,SAAUT,GACrBvjC,EAAO0D,WAAY6/B,EAAUnhC,EAASlD,OAMzCc,EAAOG,GAAGgC,OAAQ,CACjBmiC,QAAS,SAAU/X,GAClB,IAAI/H,EAyBJ,OAvBKxnB,KAAM,KACLqB,EAAYkuB,KAChBA,EAAOA,EAAK9uB,KAAMT,KAAM,KAIzBwnB,EAAOxkB,EAAQusB,EAAMvvB,KAAM,GAAIkN,eAAgB1I,GAAI,GAAIgB,OAAO,GAEzDxF,KAAM,GAAI4C,YACd4kB,EAAK2I,aAAcnwB,KAAM,IAG1BwnB,EAAKpjB,IAAK,WACT,IAAIC,EAAOrE,KAEX,MAAQqE,EAAKkjC,kBACZljC,EAAOA,EAAKkjC,kBAGb,OAAOljC,IACJ4rB,OAAQjwB,OAGNA,MAGRwnC,UAAW,SAAUjY,GACpB,OAAKluB,EAAYkuB,GACTvvB,KAAKkE,KAAM,SAAU/B,GAC3Ba,EAAQhD,MAAOwnC,UAAWjY,EAAK9uB,KAAMT,KAAMmC,MAItCnC,KAAKkE,KAAM,WACjB,IAAIuW,EAAOzX,EAAQhD,MAClBgb,EAAWP,EAAKO,WAEZA,EAAS1X,OACb0X,EAASssB,QAAS/X,GAGlB9U,EAAKwV,OAAQV,MAKhB/H,KAAM,SAAU+H,GACf,IAAIkY,EAAiBpmC,EAAYkuB,GAEjC,OAAOvvB,KAAKkE,KAAM,SAAU/B,GAC3Ba,EAAQhD,MAAOsnC,QAASG,EAAiBlY,EAAK9uB,KAAMT,KAAMmC,GAAMotB,MAIlEmY,OAAQ,SAAUzkC,GAIjB,OAHAjD,KAAKmU,OAAQlR,GAAW2R,IAAK,QAAS1Q,KAAM,WAC3ClB,EAAQhD,MAAOswB,YAAatwB,KAAKwM,cAE3BxM,QAKTgD,EAAO6O,KAAKhI,QAAQ4vB,OAAS,SAAUp1B,GACtC,OAAQrB,EAAO6O,KAAKhI,QAAQ89B,QAAStjC,IAEtCrB,EAAO6O,KAAKhI,QAAQ89B,QAAU,SAAUtjC,GACvC,SAAWA,EAAKuuB,aAAevuB,EAAK0vB,cAAgB1vB,EAAKyxB,iBAAiBxyB,SAM3EN,EAAO6/B,aAAa+E,IAAM,WACzB,IACC,OAAO,IAAI7nC,EAAO8nC,eACjB,MAAQp7B,MAGX,IAAIq7B,GAAmB,CAGrBC,EAAG,IAIHC,KAAM,KAEPC,GAAejlC,EAAO6/B,aAAa+E,MAEpCxmC,EAAQ8mC,OAASD,IAAkB,oBAAqBA,GACxD7mC,EAAQ+iC,KAAO8D,KAAiBA,GAEhCjlC,EAAOkhC,cAAe,SAAU9+B,GAC/B,IAAIjB,EAAUgkC,EAGd,GAAK/mC,EAAQ8mC,MAAQD,KAAiB7iC,EAAQwgC,YAC7C,MAAO,CACNO,KAAM,SAAUH,EAAS/K,GACxB,IAAI94B,EACHylC,EAAMxiC,EAAQwiC,MAWf,GATAA,EAAIQ,KACHhjC,EAAQzD,KACRyD,EAAQ69B,IACR79B,EAAQi+B,MACRj+B,EAAQijC,SACRjjC,EAAQmR,UAIJnR,EAAQkjC,UACZ,IAAMnmC,KAAKiD,EAAQkjC,UAClBV,EAAKzlC,GAAMiD,EAAQkjC,UAAWnmC,GAmBhC,IAAMA,KAdDiD,EAAQmgC,UAAYqC,EAAItC,kBAC5BsC,EAAItC,iBAAkBlgC,EAAQmgC,UAQzBngC,EAAQwgC,aAAgBI,EAAS,sBACtCA,EAAS,oBAAuB,kBAItBA,EACV4B,EAAIvC,iBAAkBljC,EAAG6jC,EAAS7jC,IAInCgC,EAAW,SAAUxC,GACpB,OAAO,WACDwC,IACJA,EAAWgkC,EAAgBP,EAAIW,OAC9BX,EAAIY,QAAUZ,EAAIa,QAAUb,EAAIc,UAC/Bd,EAAIe,mBAAqB,KAEb,UAAThnC,EACJimC,EAAInC,QACgB,UAAT9jC,EAKgB,iBAAfimC,EAAIpC,OACfvK,EAAU,EAAG,SAEbA,EAGC2M,EAAIpC,OACJoC,EAAIlC,YAINzK,EACC6M,GAAkBF,EAAIpC,SAAYoC,EAAIpC,OACtCoC,EAAIlC,WAK+B,UAAjCkC,EAAIgB,cAAgB,SACM,iBAArBhB,EAAIiB,aACV,CAAEC,OAAQlB,EAAIrB,UACd,CAAEhkC,KAAMqlC,EAAIiB,cACbjB,EAAIxC,4BAQTwC,EAAIW,OAASpkC,IACbgkC,EAAgBP,EAAIY,QAAUZ,EAAIc,UAAYvkC,EAAU,cAKnC2B,IAAhB8hC,EAAIa,QACRb,EAAIa,QAAUN,EAEdP,EAAIe,mBAAqB,WAGA,IAAnBf,EAAI1mB,YAMRnhB,EAAO+f,WAAY,WACb3b,GACJgkC,OAQLhkC,EAAWA,EAAU,SAErB,IAGCyjC,EAAIzB,KAAM/gC,EAAQ0gC,YAAc1gC,EAAQqd,MAAQ,MAC/C,MAAQhW,GAGT,GAAKtI,EACJ,MAAMsI,IAKTg5B,MAAO,WACDthC,GACJA,QAWLnB,EAAOihC,cAAe,SAAUhD,GAC1BA,EAAE2E,cACN3E,EAAEjmB,SAAS3Y,QAAS,KAKtBW,EAAO+gC,UAAW,CACjBR,QAAS,CACRlhC,OAAQ,6FAGT2Y,SAAU,CACT3Y,OAAQ,2BAETqhC,WAAY,CACX2D,cAAe,SAAU9kC,GAExB,OADAS,EAAO0D,WAAYnE,GACZA,MAMVS,EAAOihC,cAAe,SAAU,SAAUhD,QACxBn7B,IAAZm7B,EAAE/yB,QACN+yB,EAAE/yB,OAAQ,GAEN+yB,EAAE2E,cACN3E,EAAEt/B,KAAO,SAKXqB,EAAOkhC,cAAe,SAAU,SAAUjD,GAIxC,IAAI5+B,EAAQ8B,EADb,GAAK88B,EAAE2E,aAAe3E,EAAE8H,YAEvB,MAAO,CACN5C,KAAM,SAAUlpB,EAAGge,GAClB54B,EAASW,EAAQ,YACf+O,KAAMkvB,EAAE8H,aAAe,IACvBrmB,KAAM,CAAEsmB,QAAS/H,EAAEgI,cAAernC,IAAKq/B,EAAEgC,MACzC7a,GAAI,aAAcjkB,EAAW,SAAU+kC,GACvC7mC,EAAOub,SACPzZ,EAAW,KACN+kC,GACJjO,EAAuB,UAAbiO,EAAIvnC,KAAmB,IAAM,IAAKunC,EAAIvnC,QAKnD/B,EAAS8C,KAAKC,YAAaN,EAAQ,KAEpCojC,MAAO,WACDthC,GACJA,QAUL,IAqGKshB,GArGD0jB,GAAe,GAClBC,GAAS,oBAGVpmC,EAAO+gC,UAAW,CACjBsF,MAAO,WACPC,cAAe,WACd,IAAInlC,EAAWglC,GAAa7/B,OAAWtG,EAAO+C,QAAU,IAAQlE,GAAMuF,OAEtE,OADApH,KAAMmE,IAAa,EACZA,KAKTnB,EAAOihC,cAAe,aAAc,SAAUhD,EAAGsI,EAAkBlH,GAElE,IAAImH,EAAcC,EAAaC,EAC9BC,GAAuB,IAAZ1I,EAAEoI,QAAqBD,GAAO37B,KAAMwzB,EAAEgC,KAChD,MACkB,iBAAXhC,EAAExe,MAE6C,KADnDwe,EAAEqC,aAAe,IACjBziC,QAAS,sCACXuoC,GAAO37B,KAAMwzB,EAAExe,OAAU,QAI5B,GAAKknB,GAAiC,UAArB1I,EAAEkB,UAAW,GA8D7B,OA3DAqH,EAAevI,EAAEqI,cAAgBjoC,EAAY4/B,EAAEqI,eAC9CrI,EAAEqI,gBACFrI,EAAEqI,cAGEK,EACJ1I,EAAG0I,GAAa1I,EAAG0I,GAAWzjC,QAASkjC,GAAQ,KAAOI,IAC/B,IAAZvI,EAAEoI,QACbpI,EAAEgC,MAAS5C,GAAO5yB,KAAMwzB,EAAEgC,KAAQ,IAAM,KAAQhC,EAAEoI,MAAQ,IAAMG,GAIjEvI,EAAEyC,WAAY,eAAkB,WAI/B,OAHMgG,GACL1mC,EAAOoD,MAAOojC,EAAe,mBAEvBE,EAAmB,IAI3BzI,EAAEkB,UAAW,GAAM,OAGnBsH,EAAc1pC,EAAQypC,GACtBzpC,EAAQypC,GAAiB,WACxBE,EAAoBplC,WAIrB+9B,EAAMjkB,OAAQ,gBAGQtY,IAAhB2jC,EACJzmC,EAAQjD,GAASu+B,WAAYkL,GAI7BzpC,EAAQypC,GAAiBC,EAIrBxI,EAAGuI,KAGPvI,EAAEqI,cAAgBC,EAAiBD,cAGnCH,GAAavoC,KAAM4oC,IAIfE,GAAqBroC,EAAYooC,IACrCA,EAAaC,EAAmB,IAGjCA,EAAoBD,OAAc3jC,IAI5B,WAYT1E,EAAQwoC,qBACHnkB,GAAO7lB,EAASiqC,eAAeD,mBAAoB,IAAKnkB,MACvD5U,UAAY,6BACiB,IAA3B4U,GAAKjZ,WAAWlJ,QAQxBN,EAAO2X,UAAY,SAAU8H,EAAMvf,EAAS4mC,GAC3C,MAAqB,iBAATrnB,EACJ,IAEgB,kBAAZvf,IACX4mC,EAAc5mC,EACdA,GAAU,GAKLA,IAIA9B,EAAQwoC,qBAMZ/yB,GALA3T,EAAUtD,EAASiqC,eAAeD,mBAAoB,KAKvCtnC,cAAe,SACzBkT,KAAO5V,EAASuV,SAASK,KAC9BtS,EAAQR,KAAKC,YAAakU,IAE1B3T,EAAUtD,GAKZynB,GAAWyiB,GAAe,IAD1BC,EAASzvB,EAAWnN,KAAMsV,IAKlB,CAAEvf,EAAQZ,cAAeynC,EAAQ,MAGzCA,EAAS3iB,GAAe,CAAE3E,GAAQvf,EAASmkB,GAEtCA,GAAWA,EAAQ/jB,QACvBN,EAAQqkB,GAAUzJ,SAGZ5a,EAAOgB,MAAO,GAAI+lC,EAAOv9B,cAlChC,IAAIqK,EAAMkzB,EAAQ1iB,GAyCnBrkB,EAAOG,GAAGsoB,KAAO,SAAUwX,EAAK+G,EAAQ7lC,GACvC,IAAIlB,EAAUtB,EAAM4kC,EACnB9rB,EAAOza,KACPyoB,EAAMwa,EAAIpiC,QAAS,KAsDpB,OApDY,EAAP4nB,IACJxlB,EAAWk7B,GAAkB8E,EAAI3iC,MAAOmoB,IACxCwa,EAAMA,EAAI3iC,MAAO,EAAGmoB,IAIhBpnB,EAAY2oC,IAGhB7lC,EAAW6lC,EACXA,OAASlkC,GAGEkkC,GAA4B,iBAAXA,IAC5BroC,EAAO,QAIW,EAAd8Y,EAAKnX,QACTN,EAAOmhC,KAAM,CACZlB,IAAKA,EAKLthC,KAAMA,GAAQ,MACdugC,SAAU,OACVzf,KAAMunB,IACHnhC,KAAM,SAAUggC,GAGnBtC,EAAWjiC,UAEXmW,EAAK8U,KAAMtsB,EAIVD,EAAQ,SAAUitB,OAAQjtB,EAAO2X,UAAWkuB,IAAiBr4B,KAAMvN,GAGnE4lC,KAKEzqB,OAAQja,GAAY,SAAUk+B,EAAOmD,GACxC/qB,EAAKvW,KAAM,WACVC,EAASxD,MAAOX,KAAMumC,GAAY,CAAElE,EAAMwG,aAAcrD,EAAQnD,QAK5DriC,MAMRgD,EAAO6O,KAAKhI,QAAQogC,SAAW,SAAU5lC,GACxC,OAAOrB,EAAO2B,KAAM3B,EAAOy5B,OAAQ,SAAUt5B,GAC5C,OAAOkB,IAASlB,EAAGkB,OAChBf,QAMLN,EAAOknC,OAAS,CACfC,UAAW,SAAU9lC,EAAMe,EAASjD,GACnC,IAAIioC,EAAaC,EAASC,EAAWC,EAAQC,EAAWC,EACvD/X,EAAW1vB,EAAOyhB,IAAKpgB,EAAM,YAC7BqmC,EAAU1nC,EAAQqB,GAClBynB,EAAQ,GAGS,WAAb4G,IACJruB,EAAKkgB,MAAMmO,SAAW,YAGvB8X,EAAYE,EAAQR,SACpBI,EAAYtnC,EAAOyhB,IAAKpgB,EAAM,OAC9BomC,EAAaznC,EAAOyhB,IAAKpgB,EAAM,SACI,aAAbquB,GAAwC,UAAbA,KACA,GAA9C4X,EAAYG,GAAa5pC,QAAS,SAMpC0pC,GADAH,EAAcM,EAAQhY,YACD3iB,IACrBs6B,EAAUD,EAAYzS,OAGtB4S,EAASxX,WAAYuX,IAAe,EACpCD,EAAUtX,WAAY0X,IAAgB,GAGlCppC,EAAY+D,KAGhBA,EAAUA,EAAQ3E,KAAM4D,EAAMlC,EAAGa,EAAOmC,OAAQ,GAAIqlC,KAGjC,MAAfplC,EAAQ2K,MACZ+b,EAAM/b,IAAQ3K,EAAQ2K,IAAMy6B,EAAUz6B,IAAQw6B,GAE1B,MAAhBnlC,EAAQuyB,OACZ7L,EAAM6L,KAASvyB,EAAQuyB,KAAO6S,EAAU7S,KAAS0S,GAG7C,UAAWjlC,EACfA,EAAQulC,MAAMlqC,KAAM4D,EAAMynB,GAG1B4e,EAAQjmB,IAAKqH,KAKhB9oB,EAAOG,GAAGgC,OAAQ,CAGjB+kC,OAAQ,SAAU9kC,GAGjB,GAAKd,UAAUhB,OACd,YAAmBwC,IAAZV,EACNpF,KACAA,KAAKkE,KAAM,SAAU/B,GACpBa,EAAOknC,OAAOC,UAAWnqC,KAAMoF,EAASjD,KAI3C,IAAIyoC,EAAMC,EACTxmC,EAAOrE,KAAM,GAEd,OAAMqE,EAQAA,EAAKyxB,iBAAiBxyB,QAK5BsnC,EAAOvmC,EAAKozB,wBACZoT,EAAMxmC,EAAK6I,cAAc4C,YAClB,CACNC,IAAK66B,EAAK76B,IAAM86B,EAAIC,YACpBnT,KAAMiT,EAAKjT,KAAOkT,EAAIE,cARf,CAAEh7B,IAAK,EAAG4nB,KAAM,QATxB,GAuBDjF,SAAU,WACT,GAAM1yB,KAAM,GAAZ,CAIA,IAAIgrC,EAAcd,EAAQhoC,EACzBmC,EAAOrE,KAAM,GACbirC,EAAe,CAAEl7B,IAAK,EAAG4nB,KAAM,GAGhC,GAAwC,UAAnC30B,EAAOyhB,IAAKpgB,EAAM,YAGtB6lC,EAAS7lC,EAAKozB,4BAER,CACNyS,EAASlqC,KAAKkqC,SAIdhoC,EAAMmC,EAAK6I,cACX89B,EAAe3mC,EAAK2mC,cAAgB9oC,EAAIyN,gBACxC,MAAQq7B,IACLA,IAAiB9oC,EAAIujB,MAAQulB,IAAiB9oC,EAAIyN,kBACT,WAA3C3M,EAAOyhB,IAAKumB,EAAc,YAE1BA,EAAeA,EAAapoC,WAExBooC,GAAgBA,IAAiB3mC,GAAkC,IAA1B2mC,EAAazpC,YAG1D0pC,EAAejoC,EAAQgoC,GAAed,UACzBn6B,KAAO/M,EAAOyhB,IAAKumB,EAAc,kBAAkB,GAChEC,EAAatT,MAAQ30B,EAAOyhB,IAAKumB,EAAc,mBAAmB,IAKpE,MAAO,CACNj7B,IAAKm6B,EAAOn6B,IAAMk7B,EAAal7B,IAAM/M,EAAOyhB,IAAKpgB,EAAM,aAAa,GACpEszB,KAAMuS,EAAOvS,KAAOsT,EAAatT,KAAO30B,EAAOyhB,IAAKpgB,EAAM,cAAc,MAc1E2mC,aAAc,WACb,OAAOhrC,KAAKoE,IAAK,WAChB,IAAI4mC,EAAehrC,KAAKgrC,aAExB,MAAQA,GAA2D,WAA3ChoC,EAAOyhB,IAAKumB,EAAc,YACjDA,EAAeA,EAAaA,aAG7B,OAAOA,GAAgBr7B,QAM1B3M,EAAOkB,KAAM,CAAE20B,WAAY,cAAeD,UAAW,eAAiB,SAAUjc,EAAQ+F,GACvF,IAAI3S,EAAM,gBAAkB2S,EAE5B1f,EAAOG,GAAIwZ,GAAW,SAAUva,GAC/B,OAAOgf,EAAQphB,KAAM,SAAUqE,EAAMsY,EAAQva,GAG5C,IAAIyoC,EAOJ,GANKppC,EAAU4C,GACdwmC,EAAMxmC,EACuB,IAAlBA,EAAK9C,WAChBspC,EAAMxmC,EAAKyL,kBAGChK,IAAR1D,EACJ,OAAOyoC,EAAMA,EAAKnoB,GAASre,EAAMsY,GAG7BkuB,EACJA,EAAIK,SACFn7B,EAAY86B,EAAIE,YAAV3oC,EACP2N,EAAM3N,EAAMyoC,EAAIC,aAIjBzmC,EAAMsY,GAAWva,GAEhBua,EAAQva,EAAKkC,UAAUhB,WAU5BN,EAAOkB,KAAM,CAAE,MAAO,QAAU,SAAUsD,EAAIkb,GAC7C1f,EAAOizB,SAAUvT,GAASkP,GAAcxwB,EAAQgyB,cAC/C,SAAU/uB,EAAMitB,GACf,GAAKA,EAIJ,OAHAA,EAAWD,GAAQhtB,EAAMqe,GAGlBoO,GAAUrjB,KAAM6jB,GACtBtuB,EAAQqB,GAAOquB,WAAYhQ,GAAS,KACpC4O,MAQLtuB,EAAOkB,KAAM,CAAEinC,OAAQ,SAAUC,MAAO,SAAW,SAAU/lC,EAAM1D,GAClEqB,EAAOkB,KAAM,CACZ2zB,QAAS,QAAUxyB,EACnB2W,QAASra,EACT0pC,GAAI,QAAUhmC,GACZ,SAAUimC,EAAcC,GAG1BvoC,EAAOG,GAAIooC,GAAa,SAAU3T,EAAQzwB,GACzC,IAAIka,EAAY/c,UAAUhB,SAAYgoC,GAAkC,kBAAX1T,GAC5DpC,EAAQ8V,KAA6B,IAAX1T,IAA6B,IAAVzwB,EAAiB,SAAW,UAE1E,OAAOia,EAAQphB,KAAM,SAAUqE,EAAM1C,EAAMwF,GAC1C,IAAIjF,EAEJ,OAAKT,EAAU4C,GAGyB,IAAhCknC,EAAS1qC,QAAS,SACxBwD,EAAM,QAAUgB,GAChBhB,EAAKzE,SAAS+P,gBAAiB,SAAWtK,GAIrB,IAAlBhB,EAAK9C,UACTW,EAAMmC,EAAKsL,gBAIJ3J,KAAKivB,IACX5wB,EAAKohB,KAAM,SAAWpgB,GAAQnD,EAAK,SAAWmD,GAC9ChB,EAAKohB,KAAM,SAAWpgB,GAAQnD,EAAK,SAAWmD,GAC9CnD,EAAK,SAAWmD,UAIDS,IAAVqB,EAGNnE,EAAOyhB,IAAKpgB,EAAM1C,EAAM6zB,GAGxBxyB,EAAOuhB,MAAOlgB,EAAM1C,EAAMwF,EAAOquB,IAChC7zB,EAAM0f,EAAYuW,OAAS9xB,EAAWub,QAM5Cre,EAAOkB,KAAM,CACZ,YACA,WACA,eACA,YACA,cACA,YACE,SAAUsD,EAAI7F,GAChBqB,EAAOG,GAAIxB,GAAS,SAAUwB,GAC7B,OAAOnD,KAAKooB,GAAIzmB,EAAMwB,MAOxBH,EAAOG,GAAGgC,OAAQ,CAEjB61B,KAAM,SAAU3S,EAAO5F,EAAMtf,GAC5B,OAAOnD,KAAKooB,GAAIC,EAAO,KAAM5F,EAAMtf,IAEpCqoC,OAAQ,SAAUnjB,EAAOllB,GACxB,OAAOnD,KAAKyoB,IAAKJ,EAAO,KAAMllB,IAG/BsoC,SAAU,SAAUxoC,EAAUolB,EAAO5F,EAAMtf,GAC1C,OAAOnD,KAAKooB,GAAIC,EAAOplB,EAAUwf,EAAMtf,IAExCuoC,WAAY,SAAUzoC,EAAUolB,EAAOllB,GAGtC,OAA4B,IAArBmB,UAAUhB,OAChBtD,KAAKyoB,IAAKxlB,EAAU,MACpBjD,KAAKyoB,IAAKJ,EAAOplB,GAAY,KAAME,IAGrCwoC,MAAO,SAAUC,EAAQC,GACxB,OAAO7rC,KAAKkuB,WAAY0d,GAASzd,WAAY0d,GAASD,MAIxD5oC,EAAOkB,KACN,wLAE4DqD,MAAO,KACnE,SAAUC,EAAInC,GAGbrC,EAAOG,GAAIkC,GAAS,SAAUod,EAAMtf,GACnC,OAA0B,EAAnBmB,UAAUhB,OAChBtD,KAAKooB,GAAI/iB,EAAM,KAAMod,EAAMtf,GAC3BnD,KAAKkpB,QAAS7jB,MAUlB,IAAI2E,GAAQ,qCAMZhH,EAAO8oC,MAAQ,SAAU3oC,EAAID,GAC5B,IAAIyN,EAAK6D,EAAMs3B,EAUf,GARwB,iBAAZ5oC,IACXyN,EAAMxN,EAAID,GACVA,EAAUC,EACVA,EAAKwN,GAKAtP,EAAY8B,GAalB,OARAqR,EAAOlU,EAAMG,KAAM6D,UAAW,IAC9BwnC,EAAQ,WACP,OAAO3oC,EAAGxC,MAAOuC,GAAWlD,KAAMwU,EAAK9T,OAAQJ,EAAMG,KAAM6D,eAItD8C,KAAOjE,EAAGiE,KAAOjE,EAAGiE,MAAQpE,EAAOoE,OAElC0kC,GAGR9oC,EAAO+oC,UAAY,SAAUC,GACvBA,EACJhpC,EAAOge,YAEPhe,EAAO4X,OAAO,IAGhB5X,EAAO6C,QAAUD,MAAMC,QACvB7C,EAAOipC,UAAYhpB,KAAKC,MACxBlgB,EAAOqJ,SAAWA,EAClBrJ,EAAO3B,WAAaA,EACpB2B,EAAOvB,SAAWA,EAClBuB,EAAOgf,UAAYA,EACnBhf,EAAOrB,KAAOmB,EAEdE,EAAOmpB,IAAMzjB,KAAKyjB,IAElBnpB,EAAOkpC,UAAY,SAAU5qC,GAK5B,IAAIK,EAAOqB,EAAOrB,KAAML,GACxB,OAAkB,WAATK,GAA8B,WAATA,KAK5BwqC,MAAO7qC,EAAMyxB,WAAYzxB,KAG5B0B,EAAOopC,KAAO,SAAU7pC,GACvB,OAAe,MAARA,EACN,IACEA,EAAO,IAAK2D,QAAS8D,GAAO,KAkBT,mBAAXqiC,QAAyBA,OAAOC,KAC3CD,OAAQ,SAAU,GAAI,WACrB,OAAOrpC,IAOT,IAGCupC,GAAUxsC,EAAOiD,OAGjBwpC,GAAKzsC,EAAO0sC,EAwBb,OAtBAzpC,EAAO0pC,WAAa,SAAUhnC,GAS7B,OARK3F,EAAO0sC,IAAMzpC,IACjBjD,EAAO0sC,EAAID,IAGP9mC,GAAQ3F,EAAOiD,SAAWA,IAC9BjD,EAAOiD,OAASupC,IAGVvpC,GAMiB,oBAAb/C,IACXF,EAAOiD,OAASjD,EAAO0sC,EAAIzpC,GAMrBA","file":"jquery-3.6.0.min.js"} \ No newline at end of file diff --git a/docs/sitemap.xml b/docs/sitemap.xml index 9b4a8f7..f69a766 100644 --- a/docs/sitemap.xml +++ b/docs/sitemap.xml @@ -2,19 +2,19 @@ <urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.sitemaps.org/schemas/sitemap/0.9 http://www.sitemaps.org/schemas/sitemap/0.9/sitemap.xsd" version="1.0"> <url> <loc>https://bios2.github.io/about.html</loc> - <lastmod>2021-05-19T11:56:37-04:00</lastmod> + <lastmod>2021-06-22T16:15:18+02:00</lastmod> </url> <url> <loc>https://bios2.github.io/</loc> - <lastmod>2021-05-19T11:56:41-04:00</lastmod> + <lastmod>2021-06-22T16:15:19+02:00</lastmod> </url> <url> <loc>https://bios2.github.io/Marchand.html</loc> - <lastmod>2021-05-19T11:56:34-04:00</lastmod> + <lastmod>2021-06-22T16:15:16+02:00</lastmod> </url> <url> <loc>https://bios2.github.io/posts/2021-06-13-unreproducibility-detox/</loc> - <lastmod>2021-06-30T18:01:05-04:00</lastmod> + <lastmod>2022-10-24T14:40:50+02:00</lastmod> </url> <url> <loc>https://bios2.github.io/posts/2021-03-25-point-count-data-analysis/</loc> From 0fd2b8967879522d3d72bc86de0337ebfcecfe4f Mon Sep 17 00:00:00 2001 From: Tanya Strydom <tanya.strydom@icloud.com> Date: Mon, 24 Oct 2022 14:43:07 +0200 Subject: [PATCH 21/29] =?UTF-8?q?=F0=9F=90=9B=20change=20chink=20options?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../unreproducibility-detox.Rmd | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/_posts/2021-06-13-unreproducibility-detox/unreproducibility-detox.Rmd b/_posts/2021-06-13-unreproducibility-detox/unreproducibility-detox.Rmd index 861c653..31e8eaf 100644 --- a/_posts/2021-06-13-unreproducibility-detox/unreproducibility-detox.Rmd +++ b/_posts/2021-06-13-unreproducibility-detox/unreproducibility-detox.Rmd @@ -588,7 +588,7 @@ The three main approaches and packages I will discuss are `{groundhog}`, `{renv} **How it works:** Essentially `{groundhog}` will install the version of a package that was available on CRAN for a specified date. This is done by 'replacing' the `library("package")` with `groundhog.library("package", date)`. This means its easy to go back and set a more suitable date for your script e.g. maybe the date it was created or last time it was saved. -```{r groundhog, include=TRUE} +```{r groundhog, include=TRUE, eval=FALSE} # a mini example install.packages("groundhog") library("groundhog") From c15d5a1d48e5f0cfab5f590fc86b11961dd94ccb Mon Sep 17 00:00:00 2001 From: Tanya Strydom <tanya.strydom@icloud.com> Date: Thu, 27 Oct 2022 08:33:31 +0200 Subject: [PATCH 22/29] spellings --- .../unreproducibility-detox.Rmd | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/_posts/2021-06-13-unreproducibility-detox/unreproducibility-detox.Rmd b/_posts/2021-06-13-unreproducibility-detox/unreproducibility-detox.Rmd index 31e8eaf..038e401 100644 --- a/_posts/2021-06-13-unreproducibility-detox/unreproducibility-detox.Rmd +++ b/_posts/2021-06-13-unreproducibility-detox/unreproducibility-detox.Rmd @@ -531,7 +531,7 @@ The citation style, on the other hand, is usually defined by a `*.csl` file (htt ## Reproducibility task of the day -Can you "transform" one of your manuscripts into a reproducible file? What are the steps you neet to take to get there? +Can you "transform" one of your manuscripts into a reproducible file? What are the steps you need to take to get there? Do you already have all your manuscripts in a reproducible format? Congratulations! Your task will be to help a friend that is learning how to make one! From c2d72d5848f0fc8bccad45819c6b4b791ba6911e Mon Sep 17 00:00:00 2001 From: Tanya Strydom <tanya.strydom@icloud.com> Date: Thu, 27 Oct 2022 08:41:00 +0200 Subject: [PATCH 23/29] formatTing --- .../unreproducibility-detox.Rmd | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/_posts/2021-06-13-unreproducibility-detox/unreproducibility-detox.Rmd b/_posts/2021-06-13-unreproducibility-detox/unreproducibility-detox.Rmd index 038e401..e166878 100644 --- a/_posts/2021-06-13-unreproducibility-detox/unreproducibility-detox.Rmd +++ b/_posts/2021-06-13-unreproducibility-detox/unreproducibility-detox.Rmd @@ -553,6 +553,7 @@ Do you already have all your manuscripts in a reproducible format? Congratulatio # Thursday - preserve your tools + >### **Self-care task of the day** > It's time to update all those packages (and maybe even language version) - you deserve to be able to play with the newest toys on the block. While all this is happening in the background put your feet up and hit play on the TV or podcast series you've been meaning to catch up on. @@ -633,12 +634,13 @@ Docker, a term that can strike trepidation in even some of the most hardened of If you want to keep your project pipeline working in the long-term it is important to account for the fact that languages are evolving - which means the scaffold on which your code rests also needs to be documented in some way. That being said asking yourself as to how _paramount_ the longevity of your project is a good way to identify and allocate resources to documenting and accommodating for this. For smaller projects you could probably get away with a simple documentation process e.g. `Julia`'s `Project.toml` system or `{renv}` for `R`. But if the longevity of the project is of high importance it's probably recommended to give something like Docker a try. -Now lets get out there and give package management a go! +## Reproducibility task of the day + +Pick and choose the task(s) that you want to take on (or remix one of them) -> Pick and choose the task(s) that you want to take on (or remix one of them) -> 1. Open one of the older projects on you computer. Does the code run? If no see if you can retrofit it using {groundhog} -> 2. Open the (or one of many) project you are currently working on and run `renv::init()` and see what happens -> 3. Install Docker and work through [Colin Fay's tutorial](https://colinfay.me/docker-r-reproducibility/) +1 Open one of the older projects on you computer. Does the code run? If no see if you can retrofit it using {groundhog} +2 Open the (or one of many) project you are currently working on and run `renv::init()` and see what happens +3 Install Docker and work through [Colin Fay's tutorial](https://colinfay.me/docker-r-reproducibility/) <center> From 04204d5da6111141243a9b25b38161f553f70c4b Mon Sep 17 00:00:00 2001 From: Tanya Strydom <tanya.strydom@icloud.com> Date: Thu, 27 Oct 2022 08:46:04 +0200 Subject: [PATCH 24/29] :racehorse: upgrade reproducibility task --- .../unreproducibility-detox.Rmd | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/_posts/2021-06-13-unreproducibility-detox/unreproducibility-detox.Rmd b/_posts/2021-06-13-unreproducibility-detox/unreproducibility-detox.Rmd index e166878..38187d5 100644 --- a/_posts/2021-06-13-unreproducibility-detox/unreproducibility-detox.Rmd +++ b/_posts/2021-06-13-unreproducibility-detox/unreproducibility-detox.Rmd @@ -636,6 +636,8 @@ If you want to keep your project pipeline working in the long-term it is importa ## Reproducibility task of the day +First sit down and think about your project and how important longevity is. Do future generations depend on your code being able to run and execute tasks flawlessly? Or it it more important that the workflow is well documented and understood _i.e._ it could be easily be 'translated' to the shiny new programming language people are using? + Pick and choose the task(s) that you want to take on (or remix one of them) 1 Open one of the older projects on you computer. Does the code run? If no see if you can retrofit it using {groundhog} @@ -648,6 +650,8 @@ Pick and choose the task(s) that you want to take on (or remix one of them) </center> +## Suggested reading + # Friday - automate your workflows >### **Self-care task of the day** > From 25554256e1e43d3a0eb5b0f1e980ebc3cf9fd4e8 Mon Sep 17 00:00:00 2001 From: Tanya Strydom <tanya.strydom@icloud.com> Date: Thu, 27 Oct 2022 08:48:53 +0200 Subject: [PATCH 25/29] :sparkles: some suggested reading --- .../unreproducibility-detox.Rmd | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/_posts/2021-06-13-unreproducibility-detox/unreproducibility-detox.Rmd b/_posts/2021-06-13-unreproducibility-detox/unreproducibility-detox.Rmd index 38187d5..7a50461 100644 --- a/_posts/2021-06-13-unreproducibility-detox/unreproducibility-detox.Rmd +++ b/_posts/2021-06-13-unreproducibility-detox/unreproducibility-detox.Rmd @@ -652,6 +652,12 @@ Pick and choose the task(s) that you want to take on (or remix one of them) ## Suggested reading +* Documentation for [`{groundhog}`](http://groundhogr.com/using/) + +* Documentation for [`{renv}`](https://rstudio.github.io/renv/articles/renv.html) + +* [Docker R Reproducibility](https://colinfay.me/docker-r-reproducibility/) + # Friday - automate your workflows >### **Self-care task of the day** > From b3d44534aa5eded793e18a0fa61c89f787f3a6e5 Mon Sep 17 00:00:00 2001 From: Tanya Strydom <tanya.strydom@icloud.com> Date: Thu, 27 Oct 2022 12:23:36 +0200 Subject: [PATCH 26/29] :put_litter_in_its_place: activity book stuff --- .gitignore | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.gitignore b/.gitignore index d748ff7..5d5376b 100644 --- a/.gitignore +++ b/.gitignore @@ -4,3 +4,5 @@ .Ruserdata .DS_Store +activity_book.pdf +activity_book.indd From bbbb3e76d84a3e67fe26404b642dce61d39c9f8e Mon Sep 17 00:00:00 2001 From: Tanya Strydom <tanya.strydom@icloud.com> Date: Thu, 27 Oct 2022 12:26:29 +0200 Subject: [PATCH 27/29] =?UTF-8?q?=F0=9F=98=93=20.md=20formatting=20is=20ha?= =?UTF-8?q?rd?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../unreproducibility-detox.Rmd | 8 +++--- .../unreproducibility-detox.html | 27 ++++++++++++------- .../index.html | 27 ++++++++++++------- docs/posts/posts.json | 4 +-- docs/sitemap.xml | 2 +- 5 files changed, 44 insertions(+), 24 deletions(-) diff --git a/_posts/2021-06-13-unreproducibility-detox/unreproducibility-detox.Rmd b/_posts/2021-06-13-unreproducibility-detox/unreproducibility-detox.Rmd index 7a50461..717d5f3 100644 --- a/_posts/2021-06-13-unreproducibility-detox/unreproducibility-detox.Rmd +++ b/_posts/2021-06-13-unreproducibility-detox/unreproducibility-detox.Rmd @@ -640,9 +640,11 @@ First sit down and think about your project and how important longevity is. Do f Pick and choose the task(s) that you want to take on (or remix one of them) -1 Open one of the older projects on you computer. Does the code run? If no see if you can retrofit it using {groundhog} -2 Open the (or one of many) project you are currently working on and run `renv::init()` and see what happens -3 Install Docker and work through [Colin Fay's tutorial](https://colinfay.me/docker-r-reproducibility/) +1. Open one of the older projects on you computer. Does the code run? If no see if you can retrofit it using {groundhog} + +2. Open the (or one of many) project you are currently working on and run `renv::init()` and see what happens + +3. Install Docker and work through [Colin Fay's tutorial](https://colinfay.me/docker-r-reproducibility/) <center> diff --git a/_posts/2021-06-13-unreproducibility-detox/unreproducibility-detox.html b/_posts/2021-06-13-unreproducibility-detox/unreproducibility-detox.html index c826c25..6f97dca 100644 --- a/_posts/2021-06-13-unreproducibility-detox/unreproducibility-detox.html +++ b/_posts/2021-06-13-unreproducibility-detox/unreproducibility-detox.html @@ -118,7 +118,7 @@ <!--/radix_placeholder_rmarkdown_metadata--> <script type="text/json" id="radix-resource-manifest"> - {"type":"character","attributes":{},"value":["git_clone.png","rmarkdown-cheatsheet.pdf","unreproducibility-detox_files/anchor-4.2.2/anchor.min.js","unreproducibility-detox_files/bowser-1.9.3/bowser.min.js","unreproducibility-detox_files/distill-2.2.21/template.v2.js","unreproducibility-detox_files/header-attrs-2.7/header-attrs.js","unreproducibility-detox_files/jquery-1.11.3/jquery.min.js","unreproducibility-detox_files/popper-2.6.0/popper.min.js","unreproducibility-detox_files/tippy-6.2.7/tippy-bundle.umd.min.js","unreproducibility-detox_files/tippy-6.2.7/tippy-light-border.css","unreproducibility-detox_files/tippy-6.2.7/tippy.css","unreproducibility-detox_files/tippy-6.2.7/tippy.umd.min.js","unreproducibility-detox_files/webcomponents-2.0.0/webcomponents.js"]} + {"type":"character","attributes":{},"value":["git_clone.png","rmarkdown-cheatsheet.pdf","unreproducibility-detox_files/anchor-4.2.2/anchor.min.js","unreproducibility-detox_files/bowser-1.9.3/bowser.min.js","unreproducibility-detox_files/distill-2.2.21/template.v2.js","unreproducibility-detox_files/header-attrs-2.11/header-attrs.js","unreproducibility-detox_files/header-attrs-2.7/header-attrs.js","unreproducibility-detox_files/jquery-1.11.3/jquery.min.js","unreproducibility-detox_files/jquery-3.6.0/jquery-3.6.0.js","unreproducibility-detox_files/jquery-3.6.0/jquery-3.6.0.min.js","unreproducibility-detox_files/jquery-3.6.0/jquery-3.6.0.min.map","unreproducibility-detox_files/popper-2.6.0/popper.min.js","unreproducibility-detox_files/tippy-6.2.7/tippy-bundle.umd.min.js","unreproducibility-detox_files/tippy-6.2.7/tippy-light-border.css","unreproducibility-detox_files/tippy-6.2.7/tippy.css","unreproducibility-detox_files/tippy-6.2.7/tippy.umd.min.js","unreproducibility-detox_files/webcomponents-2.0.0/webcomponents.js"]} </script> <!--radix_placeholder_navigation_in_header--> <!--/radix_placeholder_navigation_in_header--> @@ -1586,6 +1586,8 @@ <h3>Contents</h3> <li><a href="#docker" id="toc-docker">Docker</a></li> </ul></li> <li><a href="#closing-thoughts" id="toc-closing-thoughts">Closing thoughts</a></li> +<li><a href="#reproducibility-task-of-the-day-3" id="toc-reproducibility-task-of-the-day-3">Reproducibility task of the day</a></li> +<li><a href="#suggested-reading-3" id="toc-suggested-reading-3">Suggested reading</a></li> </ul></li> <li><a href="#friday---automate-your-workflows" id="toc-friday---automate-your-workflows">Friday - automate your workflows</a></li> <li><a href="#saturday---reproducible-challange" id="toc-saturday---reproducible-challange">Saturday - reproducible challange</a></li> @@ -1951,7 +1953,7 @@ <h3 id="citationreference-management">Citation/reference management</h3> <p>A good idea is to keep an up-to-date text file containing all your bibliography that can be referenced in your manuscript. For example, you can ask your reference manager software to generate a <code>*.bib</code> file, which usually contains a specific tag for each citation. This tag will then be used in your file as something like <code>[@TagPaper]</code>.</p> <p>The citation style, on the other hand, is usually defined by a <code>*.csl</code> file (<a href="https://citationstyles.org/" class="uri">https://citationstyles.org/</a>). These files can be found, for example, on the <a href="https://www.zotero.org/styles">Zotero Style Repository</a>, and all you need to do is download the file and keep in in the same directory as your manuscript.</p> <h2 id="reproducibility-task-of-the-day-2">Reproducibility task of the day</h2> -<p>Can you “transform” one of your manuscripts into a reproducible file? What are the steps you neet to take to get there?</p> +<p>Can you “transform” one of your manuscripts into a reproducible file? What are the steps you need to take to get there?</p> <p>Do you already have all your manuscripts in a reproducible format? Congratulations! Your task will be to help a friend that is learning how to make one!</p> <h2 id="suggested-reading-2">Suggested reading</h2> <ul> @@ -2016,16 +2018,23 @@ <h3 id="docker">Docker</h3> <p><strong>Pros:</strong> Docker is very flexible! You can build your mini computer to your specifications and keep your ‘normal computer’ intact. For example if I am running MacOS, <code>R</code> 3.5 on my normal computer but can build an image that runs Linux and <code>R</code> 3.1. Also because the recipe is contained in the <code>Dockerfile</code> anyone can build the image for that project on their machine and have it all ‘just’ work (avoiding the whole ‘but it works on my machine’ scenario).</p> <h2 id="closing-thoughts">Closing thoughts</h2> <p>If you want to keep your project pipeline working in the long-term it is important to account for the fact that languages are evolving - which means the scaffold on which your code rests also needs to be documented in some way. That being said asking yourself as to how <em>paramount</em> the longevity of your project is a good way to identify and allocate resources to documenting and accommodating for this. For smaller projects you could probably get away with a simple documentation process e.g. <code>Julia</code>’s <code>Project.toml</code> system or <code>{renv}</code> for <code>R</code>. But if the longevity of the project is of high importance it’s probably recommended to give something like Docker a try.</p> -<p>Now lets get out there and give package management a go!</p> -<blockquote> -<p>Pick and choose the task(s) that you want to take on (or remix one of them) -1. Open one of the older projects on you computer. Does the code run? If no see if you can retrofit it using {groundhog} -2. Open the (or one of many) project you are currently working on and run <code>renv::init()</code> and see what happens -3. Install Docker and work through <a href="https://colinfay.me/docker-r-reproducibility/">Colin Fay’s tutorial</a></p> -</blockquote> +<h2 id="reproducibility-task-of-the-day-3">Reproducibility task of the day</h2> +<p>First sit down and think about your project and how important longevity is. Do future generations depend on your code being able to run and execute tasks flawlessly? Or it it more important that the workflow is well documented and understood <em>i.e.</em> it could be easily be ‘translated’ to the shiny new programming language people are using?</p> +<p>Pick and choose the task(s) that you want to take on (or remix one of them)</p> +<ol type="1"> +<li><p>Open one of the older projects on you computer. Does the code run? If no see if you can retrofit it using {groundhog}</p></li> +<li><p>Open the (or one of many) project you are currently working on and run <code>renv::init()</code> and see what happens</p></li> +<li><p>Install Docker and work through <a href="https://colinfay.me/docker-r-reproducibility/">Colin Fay’s tutorial</a></p></li> +</ol> <center> <p><img src="https://media.giphy.com/media/aBv5IC7zFOFjVVVs7I/giphy.gif" /></p> </center> +<h2 id="suggested-reading-3">Suggested reading</h2> +<ul> +<li><p>Documentation for <a href="http://groundhogr.com/using/"><code>{groundhog}</code></a></p></li> +<li><p>Documentation for <a href="https://rstudio.github.io/renv/articles/renv.html"><code>{renv}</code></a></p></li> +<li><p><a href="https://colinfay.me/docker-r-reproducibility/">Docker R Reproducibility</a></p></li> +</ul> <h1 id="friday---automate-your-workflows">Friday - automate your workflows</h1> <blockquote> <h3 id="self-care-task-of-the-day-5"><strong>Self-care task of the day</strong></h3> diff --git a/docs/posts/2021-06-13-unreproducibility-detox/index.html b/docs/posts/2021-06-13-unreproducibility-detox/index.html index 8bb9ece..b27439d 100644 --- a/docs/posts/2021-06-13-unreproducibility-detox/index.html +++ b/docs/posts/2021-06-13-unreproducibility-detox/index.html @@ -130,7 +130,7 @@ <!--/radix_placeholder_rmarkdown_metadata--> <script type="text/json" id="radix-resource-manifest"> - {"type":"character","attributes":{},"value":["git_clone.png","rmarkdown-cheatsheet.pdf","unreproducibility-detox_files/anchor-4.2.2/anchor.min.js","unreproducibility-detox_files/bowser-1.9.3/bowser.min.js","unreproducibility-detox_files/distill-2.2.21/template.v2.js","unreproducibility-detox_files/header-attrs-2.7/header-attrs.js","unreproducibility-detox_files/jquery-1.11.3/jquery.min.js","unreproducibility-detox_files/popper-2.6.0/popper.min.js","unreproducibility-detox_files/tippy-6.2.7/tippy-bundle.umd.min.js","unreproducibility-detox_files/tippy-6.2.7/tippy-light-border.css","unreproducibility-detox_files/tippy-6.2.7/tippy.css","unreproducibility-detox_files/tippy-6.2.7/tippy.umd.min.js","unreproducibility-detox_files/webcomponents-2.0.0/webcomponents.js"]} + {"type":"character","attributes":{},"value":["git_clone.png","rmarkdown-cheatsheet.pdf","unreproducibility-detox_files/anchor-4.2.2/anchor.min.js","unreproducibility-detox_files/bowser-1.9.3/bowser.min.js","unreproducibility-detox_files/distill-2.2.21/template.v2.js","unreproducibility-detox_files/header-attrs-2.11/header-attrs.js","unreproducibility-detox_files/header-attrs-2.7/header-attrs.js","unreproducibility-detox_files/jquery-1.11.3/jquery.min.js","unreproducibility-detox_files/jquery-3.6.0/jquery-3.6.0.js","unreproducibility-detox_files/jquery-3.6.0/jquery-3.6.0.min.js","unreproducibility-detox_files/jquery-3.6.0/jquery-3.6.0.min.map","unreproducibility-detox_files/popper-2.6.0/popper.min.js","unreproducibility-detox_files/tippy-6.2.7/tippy-bundle.umd.min.js","unreproducibility-detox_files/tippy-6.2.7/tippy-light-border.css","unreproducibility-detox_files/tippy-6.2.7/tippy.css","unreproducibility-detox_files/tippy-6.2.7/tippy.umd.min.js","unreproducibility-detox_files/webcomponents-2.0.0/webcomponents.js"]} </script> <!--radix_placeholder_navigation_in_header--> <meta name="distill:offset" content="../.."/> @@ -2233,6 +2233,8 @@ <h3>Contents</h3> <li><a href="#docker" id="toc-docker">Docker</a></li> </ul></li> <li><a href="#closing-thoughts" id="toc-closing-thoughts">Closing thoughts</a></li> +<li><a href="#reproducibility-task-of-the-day-3" id="toc-reproducibility-task-of-the-day-3">Reproducibility task of the day</a></li> +<li><a href="#suggested-reading-3" id="toc-suggested-reading-3">Suggested reading</a></li> </ul></li> <li><a href="#friday---automate-your-workflows" id="toc-friday---automate-your-workflows">Friday - automate your workflows</a></li> <li><a href="#saturday---reproducible-challange" id="toc-saturday---reproducible-challange">Saturday - reproducible challange</a></li> @@ -2598,7 +2600,7 @@ <h3 id="citationreference-management">Citation/reference management</h3> <p>A good idea is to keep an up-to-date text file containing all your bibliography that can be referenced in your manuscript. For example, you can ask your reference manager software to generate a <code>*.bib</code> file, which usually contains a specific tag for each citation. This tag will then be used in your file as something like <code>[@TagPaper]</code>.</p> <p>The citation style, on the other hand, is usually defined by a <code>*.csl</code> file (<a href="https://citationstyles.org/" class="uri">https://citationstyles.org/</a>). These files can be found, for example, on the <a href="https://www.zotero.org/styles">Zotero Style Repository</a>, and all you need to do is download the file and keep in in the same directory as your manuscript.</p> <h2 id="reproducibility-task-of-the-day-2">Reproducibility task of the day</h2> -<p>Can you “transform” one of your manuscripts into a reproducible file? What are the steps you neet to take to get there?</p> +<p>Can you “transform” one of your manuscripts into a reproducible file? What are the steps you need to take to get there?</p> <p>Do you already have all your manuscripts in a reproducible format? Congratulations! Your task will be to help a friend that is learning how to make one!</p> <h2 id="suggested-reading-2">Suggested reading</h2> <ul> @@ -2663,16 +2665,23 @@ <h3 id="docker">Docker</h3> <p><strong>Pros:</strong> Docker is very flexible! You can build your mini computer to your specifications and keep your ‘normal computer’ intact. For example if I am running MacOS, <code>R</code> 3.5 on my normal computer but can build an image that runs Linux and <code>R</code> 3.1. Also because the recipe is contained in the <code>Dockerfile</code> anyone can build the image for that project on their machine and have it all ‘just’ work (avoiding the whole ‘but it works on my machine’ scenario).</p> <h2 id="closing-thoughts">Closing thoughts</h2> <p>If you want to keep your project pipeline working in the long-term it is important to account for the fact that languages are evolving - which means the scaffold on which your code rests also needs to be documented in some way. That being said asking yourself as to how <em>paramount</em> the longevity of your project is a good way to identify and allocate resources to documenting and accommodating for this. For smaller projects you could probably get away with a simple documentation process e.g. <code>Julia</code>’s <code>Project.toml</code> system or <code>{renv}</code> for <code>R</code>. But if the longevity of the project is of high importance it’s probably recommended to give something like Docker a try.</p> -<p>Now lets get out there and give package management a go!</p> -<blockquote> -<p>Pick and choose the task(s) that you want to take on (or remix one of them) -1. Open one of the older projects on you computer. Does the code run? If no see if you can retrofit it using {groundhog} -2. Open the (or one of many) project you are currently working on and run <code>renv::init()</code> and see what happens -3. Install Docker and work through <a href="https://colinfay.me/docker-r-reproducibility/">Colin Fay’s tutorial</a></p> -</blockquote> +<h2 id="reproducibility-task-of-the-day-3">Reproducibility task of the day</h2> +<p>First sit down and think about your project and how important longevity is. Do future generations depend on your code being able to run and execute tasks flawlessly? Or it it more important that the workflow is well documented and understood <em>i.e.</em> it could be easily be ‘translated’ to the shiny new programming language people are using?</p> +<p>Pick and choose the task(s) that you want to take on (or remix one of them)</p> +<ol type="1"> +<li><p>Open one of the older projects on you computer. Does the code run? If no see if you can retrofit it using {groundhog}</p></li> +<li><p>Open the (or one of many) project you are currently working on and run <code>renv::init()</code> and see what happens</p></li> +<li><p>Install Docker and work through <a href="https://colinfay.me/docker-r-reproducibility/">Colin Fay’s tutorial</a></p></li> +</ol> <center> <p><img src="https://media.giphy.com/media/aBv5IC7zFOFjVVVs7I/giphy.gif" /></p> </center> +<h2 id="suggested-reading-3">Suggested reading</h2> +<ul> +<li><p>Documentation for <a href="http://groundhogr.com/using/"><code>{groundhog}</code></a></p></li> +<li><p>Documentation for <a href="https://rstudio.github.io/renv/articles/renv.html"><code>{renv}</code></a></p></li> +<li><p><a href="https://colinfay.me/docker-r-reproducibility/">Docker R Reproducibility</a></p></li> +</ul> <h1 id="friday---automate-your-workflows">Friday - automate your workflows</h1> <blockquote> <h3 id="self-care-task-of-the-day-5"><strong>Self-care task of the day</strong></h3> diff --git a/docs/posts/posts.json b/docs/posts/posts.json index 5903d10..2fb446e 100644 --- a/docs/posts/posts.json +++ b/docs/posts/posts.json @@ -14,9 +14,9 @@ "Technical", "EN" ], - "contents": "\n\nContents\nSunday - reflect about open science\nSuggested reading\n\nMonday - design a project\nGive cool names\nLicenses\nReproducibility task of the day\nSuggested readings\n\nTuesday - control your versions\nWhat is version control? Why is it cool to use?\nA little bit of Git vocabulary and architecture\nThe repository main timeline\nBranches from the master: branch\nCopying repositories from the ‘cloud’ to the computer (or, working offline):\nCopying online repositories\nGeneral workflow vocabulary\n\nWorking remotely\nWorking locally\nBasic Commands\nHow to track changes in my files?\nWorking with branches\n\nOh, my Git! D=\nReproducibility task of the day\nSuggested reading\n\nWednesday - make your code and manuscript reproducible\nReproducible code\nComment\nFunctions and packages\n\nReproducible manuscripts\nBasic Markdown syntax\nCitation/reference management\n\nReproducibility task of the day\nSuggested reading\n\nThursday - preserve your tools\nWhy do we need to preserve our tools?\nHow do we keep our work reproducible?\n{groundhog}\n{renv}\nDocker\n\nClosing thoughts\n\nFriday - automate your workflows\nSaturday - reproducible challange\n\nHave you ever felt lost in your own projects? Do you feel like your workflow is quite effective, but it’s not transparent enough? This detox routine can help you regain control over your (very messy - I know!) project structure and discover a marvelous world of collaboration and contribution in open science!\nReproducibility is a principle that resonates to the most used concept of science, assuring that a hypothesis is testable. It means that the process to test an idea - from data to results - can be repeated. It is different from replicability, which means the process can be repeated, but using different data.\nIn this detox week we will reflect and experiment with open science, using our skills for project design, version control, virtual environments and automation. We will reevaluate our current workflow and fine-tune where needed, to reach the most reproducible workflow possible for us.\nSunday - reflect about open science\n\nSelf-care task of the day\nGo to a calm place. No need of silence, just a place where you can just be still. Set a timer for 5min. Take a deep breath in, and a deep breath out. Give your body a scan-through: concentrate in each centimeter of it and try to be aware of how does your body feel there. Everytime you find a contracted muscle, try to relax it. Pay attention to the sounds around you. When the timer is off, take another deep breath.\n\n\nOn the first day of this detox journey, let’s reflect on our way to work and how it could be better. Take a moment of your day and think about:\nWhat is your current workflow when you develop a project? Take a pen and paper (physical or digital) and sketch your usual process, step-by-step. Add as much details as you can (and take this chance to get creative!). Make sure to save this sketch in a place that is easy to access, you’re gonna need it in the following days.\nHow do we build trust and facilitate collaboration in our projects?\nHow can be inclusive by design - what can we do in our projects to invite collaboration?\nIs reproducibility openness? If a project is reproducible, does that mean it is accessible?\nSuggested reading\nOur path to better science in less time using open data science tools\nMonday - design a project\n\nSelf-care task of the day\nGo to somewhere where you feel in peace or happy. Take paper and something to write - even better if it’s colorful! Set a timer for 30 minutes and doodle something that reflects how you are feeling, something that represents a happy thought you had today, or something that represents the place you are right now.\n\nIn this step we will squeeze our creativity out of our brains to come up with a project that is reproducible by design. Is there a hierarchy between your folders? Which folders do you need? Should you mix raw and clean data? Did this last question offend you?\nThere are a couple of tools you can use to automatically create a project structure for you, such as RProject and its combination with the R package minimaltemplate, or the PkgTemplate.jl for development of packages in Julia.\nThe main things you need to reflect on when designing your open project are:\nWill I use data? If yes, will I need to treat/clean/subset them?\nWill I use code?\nWill it be shared? If yes, how? Do I want people to cite me, for exemple?\nWill I need to generate manuscripts/reports/figures?\nWill it be useful for people to know how to navigate my project? Will I welcome collaborators and contributors?\nWhat is the naming system I will use - for both folders and files?\nSee an example of a structured project below (adapted from here):\n## /home/awesome-manuscript\n## ├── .github\n## ├── .gitignore\n## ├── .travis.yml\n## ├── DESCRIPTION\n## ├── LICENSE.md\n## ├── R\n## │ ├── analysis.Rmd\n## │ ├── local_functions.R\n## │ └── package_list.R\n## ├── README.md\n## ├── awesome-manuscript.Rproj\n## ├── data\n## │ ├── clean\n## │ ├── raw\n## │ └── temp\n## ├── main-script.Rmd\n## ├── manuscript\n## │ └── sources\n## │ ├── ecology-letters.csl\n## │ ├── library.bib\n## │ ├── packages.bib\n## │ └── template.docx\n## ├── output\n## │ ├── figures\n## │ ├── results\n## │ └── supp\n## └── todo.txt\nVery nice, but the TL;DR version is:\nConsider having a dedicated folder for your data and split them into clean and raw data (alternatively, you can store your cleaned data inside an “output” folder, where other sorts of outputs will also be). If needed, create another folder for “sandbox data” - we need to have room for creativity in science! Also make sure to store the metadata in these folders, alongside their respective data, where they belong.\nIf you will produce reports/manuscripts, maybe it’s a good idea to have a dedicated folder for them too. Store there everything you’ll need to render your files, such as bibliography and templates.\nFigures should go in their own folder too.\nCode usually go in their own folder too, but if the code is about making the project work and putting everything together, it should go in the root.\nGive cool names\nYour project is so awesome that it needs the coolest names in its folders and files! Good names are informative and consistent. It is a hard exercise, but we do get better with time. The main things to think about when naming your things are:\nDoes it describe what’s inside without being verbose?\nDoes it allow for correct ordering?\nIs it easily searchable (a.k.a., machine readable)? Will my computer crash if I need to change to this directory?\nLicenses\nAn important part of making your work reproducible by anyone is to share it, and to do that safely, it is important to connect your project to a license. This is a statement about what and how people can use any part of your project.\nChosing a license can be a difficult task at first, but if your projects have a common structure, they should be ok with the same license. When chosing a license, it is important to ask yourself (and your collaborators) the following questions:\nDo we want people to give us credit for our work when this projects is distributed, derived, performed or displayed?\nDo we want the derivatives of this project be shared with the same license that we chose?\nAre we ok with this project being used for commercial purposes?\nA combination of your answers will guide you to find the best license for your project which is adequate for your community. There are a couple of online tools that can help you with that! For example, if you are sharing creative work, you can consult the Creative Commons - Choose a License tool. For other open source software licenses, you can take a look at the Choose A License website. The cool thing is: you can also create your own license! In any case, once you chose the appropriate license for your project, save it in your project root folder with the name “LICENSE” (as a text file). This way, your version control host system will automatically recognize it and display something like “hey, this project has a license!” when someone finds your project.\nReproducibility task of the day\nTake a moment to evaluate your current project design. How would you make it better? If there is something missing (a license, cool names, a good structure), try to implement what you’ve learned: one simple thing is enough! Pick one project + one improvement and do it /\nYou can start even with pen and paper! Scketch what’s the flow of information inside your project right now. Is there any redundancies? Could a path between righly connected directories be shorter? Could the names of the folders be shorter if they were arranged some other way?\nNeed help? Ask a friend to do it with you!\nSuggested readings\nMozilla Open Leaders lesson on sharing your work in the open\nHow to License Research Data\nTuesday - control your versions\n\nSelf-care task of the day\nYouTube is full of people making their own version of their favorite songs. The self-care task of the day is to pick one song and look for versions of it on YouTube. Maybe start looking for you favorite song. What are the differences between the versions? Which one did you like the most? Have you discovered a cool artist because of this search? If you couldn’t find a cool version of your favorite song, take a moment to imagine how your own version would sound like.\n\nWhat is version control? Why is it cool to use?\n\nA version control system allows changes made to a file to be recorded in a timeline, and it is possible to retrieve previous versions at any time.\nThis is possible because with version control you don’t save copies of your work, but its history, avoiding things like this in your working directory:\n- project/\n |- scripts/\n |- script-v0.1.R\n |- script-after-review-from-Princess-Lea.R \n |- script-merged.R \n |- script-not-working-anymore.R \n |- script-wtf.R \nGit is a distributed version control system, which means the snapshots of your work are stored in your local drive, but also can be distributed from the cloud to other developers.\nA little bit of Git vocabulary and architecture\nThe basic architecture we have to deal with is composed of a branches (including one we’ll call “main”, but is sometimes called “master”), clones and forks.\nThe repository main timeline\nThe main is the primary timeline of your repository (a project with the files required to develop it). There the files will ideally only be changed when strictly necessary, i.e. when a change is critical to the progress of the project.\nBranches from the master: branch\nA branch is a ramification from any other timeline. It is like a copy repository within the main repository, which is created to test changes that may or may not be implemented in the main timeline. Ideally, each developer creates a branch to test the changes they deem necessary and submit these changes to their colleagues’ judgment before implementing them in the main.\nCopying repositories from the ‘cloud’ to the computer (or, working offline):\nRepositories can be created online and many things can be done there. However, in order to work locally on a repository, i.e. to work offline, we need to create a clone of the repository we have online. A clone is a synchronised copy of your online repository. Everything you do in your local working directory (corresponding to the clone) will be synchronized with the online repository.\nCopying online repositories\nIn turn, forks are complete, independent copies of a repository. We use a fork (not a clone) when we want to change the direction of the project, or when we want to contribute to someone else’s project independently and only then suggest changes to the original project. If you need to update your fork with the newest version of the project, you can do that by requesting a fetch to Git.\nGeneral workflow vocabulary\nWhen we change some file and save the new version, we do a commit . Commits should be accompanied by short but sufficiently descriptive comments, so that you can understand what the difference in that version is and locate it more easily. With commits you can track what change was made, where, by whom and when.\ncommitAfter changing a file and saving the new version, this version needs to be given a tag (an identification code), and then uploaded to the online repository. We call this a push. To update your local directory with the newest versions of files, you must tell Git to pull them.\nWhen working on a branch, you can request that the changes you have made be implemented in the main branch of your workflow (or any other branch). To do this you request a merge via a pull request . In a pull request, you ask a repository owner or contributor to accept the changes you made to a fork or branch into another branch. If they accept, you are listed as a contributor to the project.\nWorking remotely\nThe online portal of your Git server allows you to do most of the tasks described above in a very intuitive way. You can edit some files, upload others, request a merge, create and delete a branch, etc. Once you know the Git logic and architecture, it is easy to work online.\nFor a detailed walkthrough, take a look at this page.\nWorking locally\nHowever, the changes we need to make cannot always be done directly in the portal, or would be done more efficiently if we worked on our computer, with our preferred software. To work on your repository from your computer, you only need to install Git itself (https://git-scm.com/downloads). Some softwares allow you to visualize the timeline and operations being made, such as GitKraken (https://www.gitkraken.com/) and some extentions for VSCode and RStudio.\nOnce you’ve installed Git, the there are two possible ways to start:\nYou can create your online repository directly on your Git host server (such as GitHub, GitLab or Bitbucket);\nOr you can “transform” a local directory into a Git controlled project.\nIn the first case, to have a copy of your online repository on your computer, just clone your directory, either by downloading all the files in a .zip or by copying the ssh key or html address to use in a Git command.\n\nYou can also clone from GitKraken, by clicking on the little folder on the top left corner or on “File” on the menu.\nIn the second case, you must right-click on your workbook and open the Git Bash; alternatively, in GitKraken, you can click on “Init” in the same window shown above and indicate the directory of your workbook in “New repository path”.\nBasic Commands\nThe following commands will give us an idea of a workflow in Git.\nTo use Git, you need to configure it so that your account on your Git server is recognised by it. In Git Bash:\ngit config --global user.name \"username\"\ngit config --global user.email \"iamawesome@email.com\"\ngit config --list #Confirm your settings\nThere, now Git knows who you are.\nTo start a repository from your computer, you can tell Git to start or “watch” a folder.\nFirst, check what the working directory is and change it if necessary.\npwd # prints the working directory\ncd # takes you to the root\ncd .. # takes you to one level up directory\ncd \"your/directory\" # changes your working directory\nTo clone your repository, copy the url as shown in the picture above and ask Git to clone the repository into the directory you indicated.\ngit clone https://github.com/graciellehigino/bios2.github.io.git\nThe above command will create a folder with the same name as the repository in your working directory. If you want the folder created to have another name, include that after the repository address. This process works if you have an online repository and want it to exist on your computer. You can also do it the other way round. If you have not yet created a folder for your project, you can ask Git to create one for you:\nmkdir \"web-repo-github\"\nBut if you already have a folder and want Git to “watch over” it, start a local repository in the directory indicated:\ngit init\nYou can (maybe you need to) tell Git where your remote repository is:\ngit remote add origin https://github.com/graciellehigino/bios2.github.io.git\nOk, now your repository is ready to use.\nCheck if there are new files in your folder or modified files that haven’t been pushed yet:\ngit status\nHey, couldn’t you find an important file? Add it to the Git vision field now!\ngit add file # adds a file\n\ngit add -u # updates the file tracking\n\ngit add -A # all the above\nTo make additions interactively via the terminal, use:\ngit add -i\nFollow the instructions provided by the terminal and include as many files as you want before committing.\nNow that Git is keeping an eye on all your files, any changes you make (and want them to be recorded in this file’s timeline) will be detected. To make sure your changes are recorded, “commit” the changed file with a comment so you can remember what the difference is in that version.\ngit commit -m \"it's awesome now\"\nA commit only updates the local repository if you are working locally, or the remote repository if you are working remotely. To synchronize the two repositories, you must either push updates to the remote repository or pull updates to the local repository.\ngit push origin master\n#\"Git, please take the updated files to the remote repository 'origin', on the 'main' branch.\"\n\ngit pull\n#\"Git, please bring the updated files from the remote repository to my local repository\"\nHow to track changes in my files?\nCheck the changes in the content of the files (e.g. new lines added):\ngit diff\nCheck the files and their changes that are in the stage area:\ngit diff --staged\nIf you are lost between the different versions of your files, check the commit history! :)\ngit log # history of project commits since the beginning\ngit log -p # detailed historic of commits (i.e. git log + git diff)\nDepending on the size of the changes, the log may be very large and you will need to press “return” to each page to see all the changes. At the end you will see (END), then press the letter ‘q’ to finish reading.\nIf you only want to check the latest commits, limit the list with git log -p -1 (replace the 1 with the number of commits you wish to see). You can also check out the entire change history of the working directories with the Git viewer with gitk. Isn’t that cool!\nWorking with branches\nBranches are ramifications of other timelines. They are very useful when you need to test or work on large changes without changing what is on the main branch. It is very important to maintain branches in your collaborative work, because it reduces the chance of the main branch suffering accidental major changes and simplifies the management of file versions.\ngit show-branch -a # lists all branches\n\ngit branch name_of_branch # creates a new branch\n\ngit checkout name_of_branch # transfers the workspace to the new branch\n\ngit checkout -b name_of_branch # creates a branch and transfers the workspace\nWhen all the changes you have made to your branch are done and you think it is time to merge them into the main (or any other branch), move to the target branch and request a merge:\ngit merge new_branch # merges the changes from 'new_branch' to 'main'\nIf you no longer need the branch and want to delete it, use the git branch -d new_branch command.\nIt can often happen that your working branch is not up to date with the main. This can be a problem if the main has important updates for the development of your project on the branch. To bring the main updates to your branch, follow these steps:\n1. Check if your workspace is on the main branch. If not, transfer it:\ngit checkout master\nOn the main, update your local directory:\ngit pull\nAfter updating your local directory, move to your branch, merge the main updates into your branch and upload to the remote repository:\ngit checkout your-branch\ngit merge main your-branch\ngit push\nThat’s it! Now your branch contains everything that was new in the main. :)\nOh, my Git! D=\nDid you mess up commits? Want to revert a change? Don’t despair!\nIf you made a commit and regret it, but don’t even remember which commit it was (“Find out commits associated for a specific file”):\ngit log -p filename`\nIf you want to include new edits to the last commit, replacing it:\ngit commit --amend -m \"message\"\nIf you want to remove any file from the stage area after a git add .:\ngit reset HEAD new_file.R\nBut if you want to remove it from your working tree and the set of added files:\ngit rm new_file.R\nIf all that goes wrong, try the following (tips taken from here):\ngit revert --no-commit <commit hash> # Revert, but don't commit yet\ngit reset # Take everything from the stage area\ngit add yourFilesToRevert # Add files to revert\ngit commit -m \"commit message\"\ngit reset --hard # Undo changes not commited\nIf you want to remove all local changes and commits, retrieve the most recent history from the server and point to your local branch main like this:\ngit fetch origin\ngit reset --hard origin/master\nThat’s it! There’s a lot more in the git world, but I hope this guide can help you on your version control journey.\nRemember: keep the main as untouched as possible, work with branches to test your ideas, and always push your modifications before going to bed.\nReproducibility task of the day\nSet up the tracking system in your project! Create a remote repository and connect it with your local directory. If you already use a version control system, review your workflow both when working alone and in collaboration: what are the actions most likely to cause a problem? Can you make it simpler?\n\nhint: make a colorful and friendly sketch of your current workflow!\n\nSuggested reading\nThis lesson was translated from a git guide in Portuguese I wrote with Karlo Guidoni in a study group we promoted at Universidade Federal de Goiás, back in 2017, and we used time and again in our reproducibility trainings. You can take a look in our repository here.\nWednesday - make your code and manuscript reproducible\n\nSelf-care task of the day\nWhat is your favorite food? Do you have a story of a special meal prepared by a loved one? The self-care task of the day is to call someone you love and ask them to explain how to prepare a special meal: one that you really like or one of their favorites. If you’re feeling adventurous, try to reproduce it before the next task tomorrow!\n\nReproducible code\nToday is the day to make your future-self thank you! We will go through some tips and tricks to make your code more friendly, surviving the test of time and of your own memory.\nA reproducible code is an essential part of a reproducible project. Having a code to reproduce your analysis is already a great start, congrats for that! :crown:\nToday we’ll try to go a step forward and write a love letter for your future-self by adding comments on your code, rethinking about object names, investigate how we can compile chuncks of code inside functions and, finally, think about reproducible manuscripts.\n### Style\nThere are no right or wrong when it comes to style: there are best-practices and what works better for you or your project.\nFor example, Google has a series of style guides they use to standardize code writing in the company. There is a Google’s R Style Guide and a tydiverse style guide which can be a good inspiration to find your own. Here’s an idea: create a document whre you usually store code. List all conventions you use and have never thought about why you use them and reflect if they still make sense for you. If they do, keep them. If they don’t, try to improve them. Is there any other thing you never thought it was important, but it could be? Do you have a convention for function names, for example?\nObject names\nObject names are the major source of wasted time for me, especially when the code is already super long with numerous objects. What helps is to know they should be descriptive, yet concise. A good tip is to name objects as nouns and functions as verbs.\n\nWhat do you think is important when naming objects in the languages that you use? Take 5 mins to write a list!\n\nComment\nAnother good practice is to always comment your code. It will help you understand the decisions you’ve made throughout this process, that’s why a good tip is to write simple comments that state why you wrote that line of code. What do you think of buying a friend a coffee and ask them to review your code annotation? Maybe you can make some lines clearer while hanging out in a park!\nIn a larger scale, it is important to have other kinds of notes: session info (e.g., in R you can use the command sessionInfo()), package versions (e.g., using the checkpoint package), dependencies and connections between code scripts and data files. A good example of documentation is this README file written by our colleague Gabriel Dansereau: it contains clear instructions of how to use the code, how the respsitory is organized and even notes on possible warnings and what they mean.\nIt can be complicated to keep track of everything everyday, so here’s a tip: schedule a day in your month (or week) to update the documentation of your project! People call it “documentation day” out there, and you’ll find lots of blogposts about it online.\nFunctions and packages\nFunctions can help you keep your code cleaner and avoid errors when you repeat actions. They should replace redundancies in your code. In the same way, when you notice you have to repeat a certain routine in many of your projects, it might be worth writing a package - which is basically a set of functions. When you do that, don’t forget to include in your functions some commands that check for errors, like when you try to use a type of variable that is not compatible with the analysis that run inside the function.\n\nTake a few minutes to have a look at your code now. Can you see something that could be a function?\n\nReproducible manuscripts\nFrom reproducible code to reproducible manuscripts is one small leap! It means your manuscript is readable across platforms and systems, and can be compiled locally, and even be automatically updated if your data or analyses change!\nIt doesn’t mean that the interpretation of the results will be automatically updated aswell - which seems to be a concern for some people, that argue that reproducible manuscripts turn the science activity into a mechanic thing. On the contrary: it allows you to not worry about making figures over and over again, and concentrate in the philosophical part of your science!\nThere are three basic things we need to understand to produce a reproducible academic manuscript: the YAML, the markup language (such as Markdown) and the citation/references management.\nYAML (YAML Ain’t a Markup Language - metalingustics!) is a language that defines the metadata of your document and helps in the compiling process. It tells your computer if the output you need is a *.pdf or a *.doc file, for example. A YAML block will be the first thing you’ll add on your document, and the only tricky thing is to get the indentation right.\nFor example, the YAML of this very webpage looks like this:\n---\ntitle: \"(un)Reproducibility Detox\"\ndescription: |\n A seven-day detox routine to improve the reproducibility of your projects!\nauthor: Gracielle Higino\npreview: thumb.png\ncategories: \n - Technical\n - EN\ndate: 06-13-2021\noutput:\n distill::distill_article:\n self_contained: false\n toc: true\n---\nYou should add to your manuscript a bibliography argument with the path to your *.bib file and change the output according to your needs. If you use RStudio, these things are easier to change as it has built-in templates with pre-filled YAML header.\nAnother cool thing to add in your YAML header is a reference to a template. This will make your computer compile your manuscript in the same format as your template - which helps a lot when you submit the manuscript to a journal.\nA couple of packages can help you put together all these pieces. The rticles package imports LaTeX templates from scientific journals and implements a dialog box in RStudio. The rmdTemplates package has also slides, Word and PDF templates. It helps a lot starting with a template and fill in the blanks![=\nBasic Markdown syntax\nA very complete introduction to R Markdown is provided by RStudio here (also make sure to consult the R Markdown Cheat Sheet). This basic syntax is the same used in Markdown and other similar markup languages. For example:\n**this is bold** -> this is bold*this is italic* -> this is italic\n|this|is|a|table|\n|:---|:---:|---:||\n|a|table|this|is|\n\nthis\n\n\nis\n\n\na\n\n\ntable\n\n\na\n\n\ntable\n\n\nthis\n\n\nis\n\nCitation/reference management\nA good idea is to keep an up-to-date text file containing all your bibliography that can be referenced in your manuscript. For example, you can ask your reference manager software to generate a *.bib file, which usually contains a specific tag for each citation. This tag will then be used in your file as something like [@TagPaper].\nThe citation style, on the other hand, is usually defined by a *.csl file (https://citationstyles.org/). These files can be found, for example, on the Zotero Style Repository, and all you need to do is download the file and keep in in the same directory as your manuscript.\nReproducibility task of the day\nCan you “transform” one of your manuscripts into a reproducible file? What are the steps you neet to take to get there?\nDo you already have all your manuscripts in a reproducible format? Congratulations! Your task will be to help a friend that is learning how to make one!\nSuggested reading\nMethods in Ecology and Evolution blog post with tips and tricks for reproducible code\nBES guide to reproducible code\nrOpenSci reproducibility guide\nYAML front matter, in the “papaja: Reproducible APA manuscripts with R Markdown”\nAn R Markdown Template for Academic Manuscripts\nAnsible YAML guide\nMarkdown syntax in “R Markdown: The Definitive Guide”\nThursday - preserve your tools\n\nSelf-care task of the day\nIt’s time to update all those packages (and maybe even language version) - you deserve to be able to play with the newest toys on the block. While all this is happening in the background put your feet up and hit play on the TV or podcast series you’ve been meaning to catch up on.\n\nWhy do we need to preserve our tools?\nSo you’ve commented, documented, and shared your code meaning that it’s ready to be used by the rest of the world, right? Well maybe for now but you know what they say about time - all hours wound; the last one kills. Okay so it might not be that dramatic but there is of course the problem that as time progresses our code becomes out-dated and (worst case scenario) non-functional. Programming languages (and packages) are continually evolving as developers work at squashing bugs and making performance upgrades. Sometimes these upgrades might result in a fundamental change in how the a language or package functions e.g. a function name might change or some functionality will be removed in favour of another. This means that in a few years that beautifully documented chunk of code that we’ve written today might not even run.\nOh dear…\n\n\n\nWhat this boils down to is that we need to not only think about documenting the code itself but also all the ‘backend’ features that make it tick i.e. not only what packages we’re using but also what version. This can also extend to language and operating system (OS) type or version used.\nAlthough this may seem daunting it’s important to remember that the journey to\nreproducibility is much like how one approaches eating an elephant - we take\nit one bite at a time. So don’t be afraid to take a little nibble before biting off more than you can chew.\nHow do we keep our work reproducible?\nThe good news is that there is a lot of functionality out there to help us on our reproducibility journey. Different languages have different ways we can document and ‘keep’ the package version that we are using. The main focus will be using R as it is the current lingua franca of most ecologists and it also straddles the middle ground between being very ‘picky’ like python and literally having a built in system like Julia.\nThe big (language agnostic) take home message here though is that it’s important to (at minimum) keep record of the versions of things you used if you want your work to work a few months/years down the line. By keeping a record of the package, software and OS versions used we give other users (and our future selves) a chance to recreate the environment that allowed our project/code to run should things change or be updated.\nThe three main approaches and packages I will discuss are {groundhog}, {renv} and, docker. There are of course other ways to document package versions but these are (somewhat user friendly) and will give you different ‘levels’ of reproducibility. It is of course also possible to mix and match these different platforms.\n{groundhog}\n{groundhog} is a relatively new kid on the block -and apparently refers to a film of the same name (no comment on my side as this is a facet of pop culture the eludes me). This is a super easy package to implement (think one function easy) and is a really nice way to ‘retrofit’ some of your older code.\nHow it works: Essentially {groundhog} will install the version of a package that was available on CRAN for a specified date. This is done by ‘replacing’ the library(\"package\") with groundhog.library(\"package\", date). This means its easy to go back and set a more suitable date for your script e.g. maybe the date it was created or last time it was saved.\n\n\n# a mini example\ninstall.packages(\"groundhog\")\nlibrary(\"groundhog\")\ngroundhog.library(\"tidyverse\", \"2018-07-07\")\n\n# you can also call multiple packages\npkgs <- c(\"tidyverse\",\"ggforce\")\ngroundhog.library(pkgs, \"2018-07-07\")\n\n# working with an 'active' script\nlibrary(groundhog)\ngroundhog.day = \"2021-07-07\"\ngroundhog.library(pkgs, groundhog.day)\n\n\nLimitations: Although {groundhog} will call the correct/desired packages version there is of course the potential problem that that package version is no longer compatible with the version of R that you’re running on your machine — this means you might have to have multiple version of R on you machine and have to switch between them depending on what project you’re using. Another issue could arise when retrofitting your workflow. Although you might have a starting date/groundhog day you might not have been using the most up-to-date version available at that date - so you would be retrieving the wrong version.\nPros: To end on a positive note though - {groundhog} is at least a solid starting point for documenting package version and its very easy to implement, especially if you are retrofitting your code.\n{renv}\nAs highlighted above one of the potential issues with {groundhog} is that you might run into language version incompatibility - and by extension still have non-working code (bleak). Enter {renv}, a handy-dandy, easy to use, dependency management package for your projects. {renv} records both R and package versions through a series of user called functions. This is very similar to Julia where all packages are ‘stored’ in Project.toml. {renv} works by crawling through your project directory and recording package version and dependencies in use. This is then saved in the renv.lock file and is used to ‘load’ the project state further down the line.\nHow it works: The bare bones overview is that you 1) initialise the project-local environment using renv::init(), 2) continue tinkering as you go, 3) call renv::snapshot() to update renv.lock with any new additions, and 4) if things broke along the way you can call renv::restore() to revert back to the previous project state you had saved in your lock file (which hopefully did run).\nLimitations: One limitation is that {renv} relies on you saving a currently working/functioning state (if you want recall it and have it to work in the future). This makes it a bit tricky to try and quickly ‘fix’ old code - something that {groundhog} is probably more suited for, whereas {renv} is a solid choice when starting a new project form scratch.\nPros: {renv} saves both package and R versions - which is great as it ‘doubles down’ on having things work in harmony. It is also very easy to use - once again you can get away by using a few lines of code.\nDocker\nDocker, a term that can strike trepidation in even some of the most hardened of researchers (although they have the cutest whale as a logo and that 100% drops the scary factor if you as me). Briefly Docker is a program that allows you to host different mini computers on your computer. This of course means its not just an R-specific tool but one that could probably cover a lot of reproducibility bases for most languages. But there is a reason this is last on the list and that is because it takes a bit more work to implement. So think of this as a long-term project/goal to set yourself up for.\nHow it works: As I said earlier with Docker you can run multiple mini computers (containers) built from an ‘image’ of your machine (the host). The catch though - you need to build the image from scratch from OS all the way through to you specific script/code chunk. These build instructions are contained in a Dockerfile - which you save in your working directory. Inside this file is the ‘recipe’ for building your image (and spoiler alert it looks a lot like a series of command line calls). Colin Fay wrote this really nice blog about using docker and R for beginners. If your interested I suggest starting there! Alternatively {renv} also plays well with Docker - have a look at this vignette\nLimitations: In the context of what has been discussed in this post Docker is hard yo! In order to write a Docker file you will benefit a lot from being comfortable using and thinking of things in terms of command line. Since you are ‘creating’ you mini computer you need to install a lot of moving parts and components. This means you might be moving from your comfort zone when it comes to programming and could put you off trying the whole reproducibility thing all together. So set realistic expectations here and don’t be too hard on yourself!\nPros: Docker is very flexible! You can build your mini computer to your specifications and keep your ‘normal computer’ intact. For example if I am running MacOS, R 3.5 on my normal computer but can build an image that runs Linux and R 3.1. Also because the recipe is contained in the Dockerfile anyone can build the image for that project on their machine and have it all ‘just’ work (avoiding the whole ‘but it works on my machine’ scenario).\nClosing thoughts\nIf you want to keep your project pipeline working in the long-term it is important to account for the fact that languages are evolving - which means the scaffold on which your code rests also needs to be documented in some way. That being said asking yourself as to how paramount the longevity of your project is a good way to identify and allocate resources to documenting and accommodating for this. For smaller projects you could probably get away with a simple documentation process e.g. Julia’s Project.toml system or {renv} for R. But if the longevity of the project is of high importance it’s probably recommended to give something like Docker a try.\nNow lets get out there and give package management a go!\n\nPick and choose the task(s) that you want to take on (or remix one of them)\n1. Open one of the older projects on you computer. Does the code run? If no see if you can retrofit it using {groundhog}\n2. Open the (or one of many) project you are currently working on and run renv::init() and see what happens\n3. Install Docker and work through Colin Fay’s tutorial\n\n\n\n\nFriday - automate your workflows\n\nSelf-care task of the day\n\nSaturday - reproducible challange\n\nSelf-care task of the day\n\n\n\n\n", + "contents": "\n\nContents\nSunday - reflect about open science\nSuggested reading\n\nMonday - design a project\nGive cool names\nLicenses\nReproducibility task of the day\nSuggested readings\n\nTuesday - control your versions\nWhat is version control? Why is it cool to use?\nA little bit of Git vocabulary and architecture\nThe repository main timeline\nBranches from the master: branch\nCopying repositories from the ‘cloud’ to the computer (or, working offline):\nCopying online repositories\nGeneral workflow vocabulary\n\nWorking remotely\nWorking locally\nBasic Commands\nHow to track changes in my files?\nWorking with branches\n\nOh, my Git! D=\nReproducibility task of the day\nSuggested reading\n\nWednesday - make your code and manuscript reproducible\nReproducible code\nComment\nFunctions and packages\n\nReproducible manuscripts\nBasic Markdown syntax\nCitation/reference management\n\nReproducibility task of the day\nSuggested reading\n\nThursday - preserve your tools\nWhy do we need to preserve our tools?\nHow do we keep our work reproducible?\n{groundhog}\n{renv}\nDocker\n\nClosing thoughts\nReproducibility task of the day\nSuggested reading\n\nFriday - automate your workflows\nSaturday - reproducible challange\n\nHave you ever felt lost in your own projects? Do you feel like your workflow is quite effective, but it’s not transparent enough? This detox routine can help you regain control over your (very messy - I know!) project structure and discover a marvelous world of collaboration and contribution in open science!\nReproducibility is a principle that resonates to the most used concept of science, assuring that a hypothesis is testable. It means that the process to test an idea - from data to results - can be repeated. It is different from replicability, which means the process can be repeated, but using different data.\nIn this detox week we will reflect and experiment with open science, using our skills for project design, version control, virtual environments and automation. We will reevaluate our current workflow and fine-tune where needed, to reach the most reproducible workflow possible for us.\nSunday - reflect about open science\n\nSelf-care task of the day\nGo to a calm place. No need of silence, just a place where you can just be still. Set a timer for 5min. Take a deep breath in, and a deep breath out. Give your body a scan-through: concentrate in each centimeter of it and try to be aware of how does your body feel there. Everytime you find a contracted muscle, try to relax it. Pay attention to the sounds around you. When the timer is off, take another deep breath.\n\n\nOn the first day of this detox journey, let’s reflect on our way to work and how it could be better. Take a moment of your day and think about:\nWhat is your current workflow when you develop a project? Take a pen and paper (physical or digital) and sketch your usual process, step-by-step. Add as much details as you can (and take this chance to get creative!). Make sure to save this sketch in a place that is easy to access, you’re gonna need it in the following days.\nHow do we build trust and facilitate collaboration in our projects?\nHow can be inclusive by design - what can we do in our projects to invite collaboration?\nIs reproducibility openness? If a project is reproducible, does that mean it is accessible?\nSuggested reading\nOur path to better science in less time using open data science tools\nMonday - design a project\n\nSelf-care task of the day\nGo to somewhere where you feel in peace or happy. Take paper and something to write - even better if it’s colorful! Set a timer for 30 minutes and doodle something that reflects how you are feeling, something that represents a happy thought you had today, or something that represents the place you are right now.\n\nIn this step we will squeeze our creativity out of our brains to come up with a project that is reproducible by design. Is there a hierarchy between your folders? Which folders do you need? Should you mix raw and clean data? Did this last question offend you?\nThere are a couple of tools you can use to automatically create a project structure for you, such as RProject and its combination with the R package minimaltemplate, or the PkgTemplate.jl for development of packages in Julia.\nThe main things you need to reflect on when designing your open project are:\nWill I use data? If yes, will I need to treat/clean/subset them?\nWill I use code?\nWill it be shared? If yes, how? Do I want people to cite me, for exemple?\nWill I need to generate manuscripts/reports/figures?\nWill it be useful for people to know how to navigate my project? Will I welcome collaborators and contributors?\nWhat is the naming system I will use - for both folders and files?\nSee an example of a structured project below (adapted from here):\n## /home/awesome-manuscript\n## ├── .github\n## ├── .gitignore\n## ├── .travis.yml\n## ├── DESCRIPTION\n## ├── LICENSE.md\n## ├── R\n## │ ├── analysis.Rmd\n## │ ├── local_functions.R\n## │ └── package_list.R\n## ├── README.md\n## ├── awesome-manuscript.Rproj\n## ├── data\n## │ ├── clean\n## │ ├── raw\n## │ └── temp\n## ├── main-script.Rmd\n## ├── manuscript\n## │ └── sources\n## │ ├── ecology-letters.csl\n## │ ├── library.bib\n## │ ├── packages.bib\n## │ └── template.docx\n## ├── output\n## │ ├── figures\n## │ ├── results\n## │ └── supp\n## └── todo.txt\nVery nice, but the TL;DR version is:\nConsider having a dedicated folder for your data and split them into clean and raw data (alternatively, you can store your cleaned data inside an “output” folder, where other sorts of outputs will also be). If needed, create another folder for “sandbox data” - we need to have room for creativity in science! Also make sure to store the metadata in these folders, alongside their respective data, where they belong.\nIf you will produce reports/manuscripts, maybe it’s a good idea to have a dedicated folder for them too. Store there everything you’ll need to render your files, such as bibliography and templates.\nFigures should go in their own folder too.\nCode usually go in their own folder too, but if the code is about making the project work and putting everything together, it should go in the root.\nGive cool names\nYour project is so awesome that it needs the coolest names in its folders and files! Good names are informative and consistent. It is a hard exercise, but we do get better with time. The main things to think about when naming your things are:\nDoes it describe what’s inside without being verbose?\nDoes it allow for correct ordering?\nIs it easily searchable (a.k.a., machine readable)? Will my computer crash if I need to change to this directory?\nLicenses\nAn important part of making your work reproducible by anyone is to share it, and to do that safely, it is important to connect your project to a license. This is a statement about what and how people can use any part of your project.\nChosing a license can be a difficult task at first, but if your projects have a common structure, they should be ok with the same license. When chosing a license, it is important to ask yourself (and your collaborators) the following questions:\nDo we want people to give us credit for our work when this projects is distributed, derived, performed or displayed?\nDo we want the derivatives of this project be shared with the same license that we chose?\nAre we ok with this project being used for commercial purposes?\nA combination of your answers will guide you to find the best license for your project which is adequate for your community. There are a couple of online tools that can help you with that! For example, if you are sharing creative work, you can consult the Creative Commons - Choose a License tool. For other open source software licenses, you can take a look at the Choose A License website. The cool thing is: you can also create your own license! In any case, once you chose the appropriate license for your project, save it in your project root folder with the name “LICENSE” (as a text file). This way, your version control host system will automatically recognize it and display something like “hey, this project has a license!” when someone finds your project.\nReproducibility task of the day\nTake a moment to evaluate your current project design. How would you make it better? If there is something missing (a license, cool names, a good structure), try to implement what you’ve learned: one simple thing is enough! Pick one project + one improvement and do it /\nYou can start even with pen and paper! Scketch what’s the flow of information inside your project right now. Is there any redundancies? Could a path between righly connected directories be shorter? Could the names of the folders be shorter if they were arranged some other way?\nNeed help? Ask a friend to do it with you!\nSuggested readings\nMozilla Open Leaders lesson on sharing your work in the open\nHow to License Research Data\nTuesday - control your versions\n\nSelf-care task of the day\nYouTube is full of people making their own version of their favorite songs. The self-care task of the day is to pick one song and look for versions of it on YouTube. Maybe start looking for you favorite song. What are the differences between the versions? Which one did you like the most? Have you discovered a cool artist because of this search? If you couldn’t find a cool version of your favorite song, take a moment to imagine how your own version would sound like.\n\nWhat is version control? Why is it cool to use?\n\nA version control system allows changes made to a file to be recorded in a timeline, and it is possible to retrieve previous versions at any time.\nThis is possible because with version control you don’t save copies of your work, but its history, avoiding things like this in your working directory:\n- project/\n |- scripts/\n |- script-v0.1.R\n |- script-after-review-from-Princess-Lea.R \n |- script-merged.R \n |- script-not-working-anymore.R \n |- script-wtf.R \nGit is a distributed version control system, which means the snapshots of your work are stored in your local drive, but also can be distributed from the cloud to other developers.\nA little bit of Git vocabulary and architecture\nThe basic architecture we have to deal with is composed of a branches (including one we’ll call “main”, but is sometimes called “master”), clones and forks.\nThe repository main timeline\nThe main is the primary timeline of your repository (a project with the files required to develop it). There the files will ideally only be changed when strictly necessary, i.e. when a change is critical to the progress of the project.\nBranches from the master: branch\nA branch is a ramification from any other timeline. It is like a copy repository within the main repository, which is created to test changes that may or may not be implemented in the main timeline. Ideally, each developer creates a branch to test the changes they deem necessary and submit these changes to their colleagues’ judgment before implementing them in the main.\nCopying repositories from the ‘cloud’ to the computer (or, working offline):\nRepositories can be created online and many things can be done there. However, in order to work locally on a repository, i.e. to work offline, we need to create a clone of the repository we have online. A clone is a synchronised copy of your online repository. Everything you do in your local working directory (corresponding to the clone) will be synchronized with the online repository.\nCopying online repositories\nIn turn, forks are complete, independent copies of a repository. We use a fork (not a clone) when we want to change the direction of the project, or when we want to contribute to someone else’s project independently and only then suggest changes to the original project. If you need to update your fork with the newest version of the project, you can do that by requesting a fetch to Git.\nGeneral workflow vocabulary\nWhen we change some file and save the new version, we do a commit . Commits should be accompanied by short but sufficiently descriptive comments, so that you can understand what the difference in that version is and locate it more easily. With commits you can track what change was made, where, by whom and when.\ncommitAfter changing a file and saving the new version, this version needs to be given a tag (an identification code), and then uploaded to the online repository. We call this a push. To update your local directory with the newest versions of files, you must tell Git to pull them.\nWhen working on a branch, you can request that the changes you have made be implemented in the main branch of your workflow (or any other branch). To do this you request a merge via a pull request . In a pull request, you ask a repository owner or contributor to accept the changes you made to a fork or branch into another branch. If they accept, you are listed as a contributor to the project.\nWorking remotely\nThe online portal of your Git server allows you to do most of the tasks described above in a very intuitive way. You can edit some files, upload others, request a merge, create and delete a branch, etc. Once you know the Git logic and architecture, it is easy to work online.\nFor a detailed walkthrough, take a look at this page.\nWorking locally\nHowever, the changes we need to make cannot always be done directly in the portal, or would be done more efficiently if we worked on our computer, with our preferred software. To work on your repository from your computer, you only need to install Git itself (https://git-scm.com/downloads). Some softwares allow you to visualize the timeline and operations being made, such as GitKraken (https://www.gitkraken.com/) and some extentions for VSCode and RStudio.\nOnce you’ve installed Git, the there are two possible ways to start:\nYou can create your online repository directly on your Git host server (such as GitHub, GitLab or Bitbucket);\nOr you can “transform” a local directory into a Git controlled project.\nIn the first case, to have a copy of your online repository on your computer, just clone your directory, either by downloading all the files in a .zip or by copying the ssh key or html address to use in a Git command.\n\nYou can also clone from GitKraken, by clicking on the little folder on the top left corner or on “File” on the menu.\nIn the second case, you must right-click on your workbook and open the Git Bash; alternatively, in GitKraken, you can click on “Init” in the same window shown above and indicate the directory of your workbook in “New repository path”.\nBasic Commands\nThe following commands will give us an idea of a workflow in Git.\nTo use Git, you need to configure it so that your account on your Git server is recognised by it. In Git Bash:\ngit config --global user.name \"username\"\ngit config --global user.email \"iamawesome@email.com\"\ngit config --list #Confirm your settings\nThere, now Git knows who you are.\nTo start a repository from your computer, you can tell Git to start or “watch” a folder.\nFirst, check what the working directory is and change it if necessary.\npwd # prints the working directory\ncd # takes you to the root\ncd .. # takes you to one level up directory\ncd \"your/directory\" # changes your working directory\nTo clone your repository, copy the url as shown in the picture above and ask Git to clone the repository into the directory you indicated.\ngit clone https://github.com/graciellehigino/bios2.github.io.git\nThe above command will create a folder with the same name as the repository in your working directory. If you want the folder created to have another name, include that after the repository address. This process works if you have an online repository and want it to exist on your computer. You can also do it the other way round. If you have not yet created a folder for your project, you can ask Git to create one for you:\nmkdir \"web-repo-github\"\nBut if you already have a folder and want Git to “watch over” it, start a local repository in the directory indicated:\ngit init\nYou can (maybe you need to) tell Git where your remote repository is:\ngit remote add origin https://github.com/graciellehigino/bios2.github.io.git\nOk, now your repository is ready to use.\nCheck if there are new files in your folder or modified files that haven’t been pushed yet:\ngit status\nHey, couldn’t you find an important file? Add it to the Git vision field now!\ngit add file # adds a file\n\ngit add -u # updates the file tracking\n\ngit add -A # all the above\nTo make additions interactively via the terminal, use:\ngit add -i\nFollow the instructions provided by the terminal and include as many files as you want before committing.\nNow that Git is keeping an eye on all your files, any changes you make (and want them to be recorded in this file’s timeline) will be detected. To make sure your changes are recorded, “commit” the changed file with a comment so you can remember what the difference is in that version.\ngit commit -m \"it's awesome now\"\nA commit only updates the local repository if you are working locally, or the remote repository if you are working remotely. To synchronize the two repositories, you must either push updates to the remote repository or pull updates to the local repository.\ngit push origin master\n#\"Git, please take the updated files to the remote repository 'origin', on the 'main' branch.\"\n\ngit pull\n#\"Git, please bring the updated files from the remote repository to my local repository\"\nHow to track changes in my files?\nCheck the changes in the content of the files (e.g. new lines added):\ngit diff\nCheck the files and their changes that are in the stage area:\ngit diff --staged\nIf you are lost between the different versions of your files, check the commit history! :)\ngit log # history of project commits since the beginning\ngit log -p # detailed historic of commits (i.e. git log + git diff)\nDepending on the size of the changes, the log may be very large and you will need to press “return” to each page to see all the changes. At the end you will see (END), then press the letter ‘q’ to finish reading.\nIf you only want to check the latest commits, limit the list with git log -p -1 (replace the 1 with the number of commits you wish to see). You can also check out the entire change history of the working directories with the Git viewer with gitk. Isn’t that cool!\nWorking with branches\nBranches are ramifications of other timelines. They are very useful when you need to test or work on large changes without changing what is on the main branch. It is very important to maintain branches in your collaborative work, because it reduces the chance of the main branch suffering accidental major changes and simplifies the management of file versions.\ngit show-branch -a # lists all branches\n\ngit branch name_of_branch # creates a new branch\n\ngit checkout name_of_branch # transfers the workspace to the new branch\n\ngit checkout -b name_of_branch # creates a branch and transfers the workspace\nWhen all the changes you have made to your branch are done and you think it is time to merge them into the main (or any other branch), move to the target branch and request a merge:\ngit merge new_branch # merges the changes from 'new_branch' to 'main'\nIf you no longer need the branch and want to delete it, use the git branch -d new_branch command.\nIt can often happen that your working branch is not up to date with the main. This can be a problem if the main has important updates for the development of your project on the branch. To bring the main updates to your branch, follow these steps:\n1. Check if your workspace is on the main branch. If not, transfer it:\ngit checkout master\nOn the main, update your local directory:\ngit pull\nAfter updating your local directory, move to your branch, merge the main updates into your branch and upload to the remote repository:\ngit checkout your-branch\ngit merge main your-branch\ngit push\nThat’s it! Now your branch contains everything that was new in the main. :)\nOh, my Git! D=\nDid you mess up commits? Want to revert a change? Don’t despair!\nIf you made a commit and regret it, but don’t even remember which commit it was (“Find out commits associated for a specific file”):\ngit log -p filename`\nIf you want to include new edits to the last commit, replacing it:\ngit commit --amend -m \"message\"\nIf you want to remove any file from the stage area after a git add .:\ngit reset HEAD new_file.R\nBut if you want to remove it from your working tree and the set of added files:\ngit rm new_file.R\nIf all that goes wrong, try the following (tips taken from here):\ngit revert --no-commit <commit hash> # Revert, but don't commit yet\ngit reset # Take everything from the stage area\ngit add yourFilesToRevert # Add files to revert\ngit commit -m \"commit message\"\ngit reset --hard # Undo changes not commited\nIf you want to remove all local changes and commits, retrieve the most recent history from the server and point to your local branch main like this:\ngit fetch origin\ngit reset --hard origin/master\nThat’s it! There’s a lot more in the git world, but I hope this guide can help you on your version control journey.\nRemember: keep the main as untouched as possible, work with branches to test your ideas, and always push your modifications before going to bed.\nReproducibility task of the day\nSet up the tracking system in your project! Create a remote repository and connect it with your local directory. If you already use a version control system, review your workflow both when working alone and in collaboration: what are the actions most likely to cause a problem? Can you make it simpler?\n\nhint: make a colorful and friendly sketch of your current workflow!\n\nSuggested reading\nThis lesson was translated from a git guide in Portuguese I wrote with Karlo Guidoni in a study group we promoted at Universidade Federal de Goiás, back in 2017, and we used time and again in our reproducibility trainings. You can take a look in our repository here.\nWednesday - make your code and manuscript reproducible\n\nSelf-care task of the day\nWhat is your favorite food? Do you have a story of a special meal prepared by a loved one? The self-care task of the day is to call someone you love and ask them to explain how to prepare a special meal: one that you really like or one of their favorites. If you’re feeling adventurous, try to reproduce it before the next task tomorrow!\n\nReproducible code\nToday is the day to make your future-self thank you! We will go through some tips and tricks to make your code more friendly, surviving the test of time and of your own memory.\nA reproducible code is an essential part of a reproducible project. Having a code to reproduce your analysis is already a great start, congrats for that! :crown:\nToday we’ll try to go a step forward and write a love letter for your future-self by adding comments on your code, rethinking about object names, investigate how we can compile chuncks of code inside functions and, finally, think about reproducible manuscripts.\n### Style\nThere are no right or wrong when it comes to style: there are best-practices and what works better for you or your project.\nFor example, Google has a series of style guides they use to standardize code writing in the company. There is a Google’s R Style Guide and a tydiverse style guide which can be a good inspiration to find your own. Here’s an idea: create a document whre you usually store code. List all conventions you use and have never thought about why you use them and reflect if they still make sense for you. If they do, keep them. If they don’t, try to improve them. Is there any other thing you never thought it was important, but it could be? Do you have a convention for function names, for example?\nObject names\nObject names are the major source of wasted time for me, especially when the code is already super long with numerous objects. What helps is to know they should be descriptive, yet concise. A good tip is to name objects as nouns and functions as verbs.\n\nWhat do you think is important when naming objects in the languages that you use? Take 5 mins to write a list!\n\nComment\nAnother good practice is to always comment your code. It will help you understand the decisions you’ve made throughout this process, that’s why a good tip is to write simple comments that state why you wrote that line of code. What do you think of buying a friend a coffee and ask them to review your code annotation? Maybe you can make some lines clearer while hanging out in a park!\nIn a larger scale, it is important to have other kinds of notes: session info (e.g., in R you can use the command sessionInfo()), package versions (e.g., using the checkpoint package), dependencies and connections between code scripts and data files. A good example of documentation is this README file written by our colleague Gabriel Dansereau: it contains clear instructions of how to use the code, how the respsitory is organized and even notes on possible warnings and what they mean.\nIt can be complicated to keep track of everything everyday, so here’s a tip: schedule a day in your month (or week) to update the documentation of your project! People call it “documentation day” out there, and you’ll find lots of blogposts about it online.\nFunctions and packages\nFunctions can help you keep your code cleaner and avoid errors when you repeat actions. They should replace redundancies in your code. In the same way, when you notice you have to repeat a certain routine in many of your projects, it might be worth writing a package - which is basically a set of functions. When you do that, don’t forget to include in your functions some commands that check for errors, like when you try to use a type of variable that is not compatible with the analysis that run inside the function.\n\nTake a few minutes to have a look at your code now. Can you see something that could be a function?\n\nReproducible manuscripts\nFrom reproducible code to reproducible manuscripts is one small leap! It means your manuscript is readable across platforms and systems, and can be compiled locally, and even be automatically updated if your data or analyses change!\nIt doesn’t mean that the interpretation of the results will be automatically updated aswell - which seems to be a concern for some people, that argue that reproducible manuscripts turn the science activity into a mechanic thing. On the contrary: it allows you to not worry about making figures over and over again, and concentrate in the philosophical part of your science!\nThere are three basic things we need to understand to produce a reproducible academic manuscript: the YAML, the markup language (such as Markdown) and the citation/references management.\nYAML (YAML Ain’t a Markup Language - metalingustics!) is a language that defines the metadata of your document and helps in the compiling process. It tells your computer if the output you need is a *.pdf or a *.doc file, for example. A YAML block will be the first thing you’ll add on your document, and the only tricky thing is to get the indentation right.\nFor example, the YAML of this very webpage looks like this:\n---\ntitle: \"(un)Reproducibility Detox\"\ndescription: |\n A seven-day detox routine to improve the reproducibility of your projects!\nauthor: Gracielle Higino\npreview: thumb.png\ncategories: \n - Technical\n - EN\ndate: 06-13-2021\noutput:\n distill::distill_article:\n self_contained: false\n toc: true\n---\nYou should add to your manuscript a bibliography argument with the path to your *.bib file and change the output according to your needs. If you use RStudio, these things are easier to change as it has built-in templates with pre-filled YAML header.\nAnother cool thing to add in your YAML header is a reference to a template. This will make your computer compile your manuscript in the same format as your template - which helps a lot when you submit the manuscript to a journal.\nA couple of packages can help you put together all these pieces. The rticles package imports LaTeX templates from scientific journals and implements a dialog box in RStudio. The rmdTemplates package has also slides, Word and PDF templates. It helps a lot starting with a template and fill in the blanks![=\nBasic Markdown syntax\nA very complete introduction to R Markdown is provided by RStudio here (also make sure to consult the R Markdown Cheat Sheet). This basic syntax is the same used in Markdown and other similar markup languages. For example:\n**this is bold** -> this is bold*this is italic* -> this is italic\n|this|is|a|table|\n|:---|:---:|---:||\n|a|table|this|is|\n\nthis\n\n\nis\n\n\na\n\n\ntable\n\n\na\n\n\ntable\n\n\nthis\n\n\nis\n\nCitation/reference management\nA good idea is to keep an up-to-date text file containing all your bibliography that can be referenced in your manuscript. For example, you can ask your reference manager software to generate a *.bib file, which usually contains a specific tag for each citation. This tag will then be used in your file as something like [@TagPaper].\nThe citation style, on the other hand, is usually defined by a *.csl file (https://citationstyles.org/). These files can be found, for example, on the Zotero Style Repository, and all you need to do is download the file and keep in in the same directory as your manuscript.\nReproducibility task of the day\nCan you “transform” one of your manuscripts into a reproducible file? What are the steps you need to take to get there?\nDo you already have all your manuscripts in a reproducible format? Congratulations! Your task will be to help a friend that is learning how to make one!\nSuggested reading\nMethods in Ecology and Evolution blog post with tips and tricks for reproducible code\nBES guide to reproducible code\nrOpenSci reproducibility guide\nYAML front matter, in the “papaja: Reproducible APA manuscripts with R Markdown”\nAn R Markdown Template for Academic Manuscripts\nAnsible YAML guide\nMarkdown syntax in “R Markdown: The Definitive Guide”\nThursday - preserve your tools\n\nSelf-care task of the day\nIt’s time to update all those packages (and maybe even language version) - you deserve to be able to play with the newest toys on the block. While all this is happening in the background put your feet up and hit play on the TV or podcast series you’ve been meaning to catch up on.\n\nWhy do we need to preserve our tools?\nSo you’ve commented, documented, and shared your code meaning that it’s ready to be used by the rest of the world, right? Well maybe for now but you know what they say about time - all hours wound; the last one kills. Okay so it might not be that dramatic but there is of course the problem that as time progresses our code becomes out-dated and (worst case scenario) non-functional. Programming languages (and packages) are continually evolving as developers work at squashing bugs and making performance upgrades. Sometimes these upgrades might result in a fundamental change in how the a language or package functions e.g. a function name might change or some functionality will be removed in favour of another. This means that in a few years that beautifully documented chunk of code that we’ve written today might not even run.\nOh dear…\n\n\n\nWhat this boils down to is that we need to not only think about documenting the code itself but also all the ‘backend’ features that make it tick i.e. not only what packages we’re using but also what version. This can also extend to language and operating system (OS) type or version used.\nAlthough this may seem daunting it’s important to remember that the journey to\nreproducibility is much like how one approaches eating an elephant - we take\nit one bite at a time. So don’t be afraid to take a little nibble before biting off more than you can chew.\nHow do we keep our work reproducible?\nThe good news is that there is a lot of functionality out there to help us on our reproducibility journey. Different languages have different ways we can document and ‘keep’ the package version that we are using. The main focus will be using R as it is the current lingua franca of most ecologists and it also straddles the middle ground between being very ‘picky’ like python and literally having a built in system like Julia.\nThe big (language agnostic) take home message here though is that it’s important to (at minimum) keep record of the versions of things you used if you want your work to work a few months/years down the line. By keeping a record of the package, software and OS versions used we give other users (and our future selves) a chance to recreate the environment that allowed our project/code to run should things change or be updated.\nThe three main approaches and packages I will discuss are {groundhog}, {renv} and, docker. There are of course other ways to document package versions but these are (somewhat user friendly) and will give you different ‘levels’ of reproducibility. It is of course also possible to mix and match these different platforms.\n{groundhog}\n{groundhog} is a relatively new kid on the block -and apparently refers to a film of the same name (no comment on my side as this is a facet of pop culture the eludes me). This is a super easy package to implement (think one function easy) and is a really nice way to ‘retrofit’ some of your older code.\nHow it works: Essentially {groundhog} will install the version of a package that was available on CRAN for a specified date. This is done by ‘replacing’ the library(\"package\") with groundhog.library(\"package\", date). This means its easy to go back and set a more suitable date for your script e.g. maybe the date it was created or last time it was saved.\n\n\n# a mini example\ninstall.packages(\"groundhog\")\nlibrary(\"groundhog\")\ngroundhog.library(\"tidyverse\", \"2018-07-07\")\n\n# you can also call multiple packages\npkgs <- c(\"tidyverse\",\"ggforce\")\ngroundhog.library(pkgs, \"2018-07-07\")\n\n# working with an 'active' script\nlibrary(groundhog)\ngroundhog.day = \"2021-07-07\"\ngroundhog.library(pkgs, groundhog.day)\n\n\nLimitations: Although {groundhog} will call the correct/desired packages version there is of course the potential problem that that package version is no longer compatible with the version of R that you’re running on your machine — this means you might have to have multiple version of R on you machine and have to switch between them depending on what project you’re using. Another issue could arise when retrofitting your workflow. Although you might have a starting date/groundhog day you might not have been using the most up-to-date version available at that date - so you would be retrieving the wrong version.\nPros: To end on a positive note though - {groundhog} is at least a solid starting point for documenting package version and its very easy to implement, especially if you are retrofitting your code.\n{renv}\nAs highlighted above one of the potential issues with {groundhog} is that you might run into language version incompatibility - and by extension still have non-working code (bleak). Enter {renv}, a handy-dandy, easy to use, dependency management package for your projects. {renv} records both R and package versions through a series of user called functions. This is very similar to Julia where all packages are ‘stored’ in Project.toml. {renv} works by crawling through your project directory and recording package version and dependencies in use. This is then saved in the renv.lock file and is used to ‘load’ the project state further down the line.\nHow it works: The bare bones overview is that you 1) initialise the project-local environment using renv::init(), 2) continue tinkering as you go, 3) call renv::snapshot() to update renv.lock with any new additions, and 4) if things broke along the way you can call renv::restore() to revert back to the previous project state you had saved in your lock file (which hopefully did run).\nLimitations: One limitation is that {renv} relies on you saving a currently working/functioning state (if you want recall it and have it to work in the future). This makes it a bit tricky to try and quickly ‘fix’ old code - something that {groundhog} is probably more suited for, whereas {renv} is a solid choice when starting a new project form scratch.\nPros: {renv} saves both package and R versions - which is great as it ‘doubles down’ on having things work in harmony. It is also very easy to use - once again you can get away by using a few lines of code.\nDocker\nDocker, a term that can strike trepidation in even some of the most hardened of researchers (although they have the cutest whale as a logo and that 100% drops the scary factor if you as me). Briefly Docker is a program that allows you to host different mini computers on your computer. This of course means its not just an R-specific tool but one that could probably cover a lot of reproducibility bases for most languages. But there is a reason this is last on the list and that is because it takes a bit more work to implement. So think of this as a long-term project/goal to set yourself up for.\nHow it works: As I said earlier with Docker you can run multiple mini computers (containers) built from an ‘image’ of your machine (the host). The catch though - you need to build the image from scratch from OS all the way through to you specific script/code chunk. These build instructions are contained in a Dockerfile - which you save in your working directory. Inside this file is the ‘recipe’ for building your image (and spoiler alert it looks a lot like a series of command line calls). Colin Fay wrote this really nice blog about using docker and R for beginners. If your interested I suggest starting there! Alternatively {renv} also plays well with Docker - have a look at this vignette\nLimitations: In the context of what has been discussed in this post Docker is hard yo! In order to write a Docker file you will benefit a lot from being comfortable using and thinking of things in terms of command line. Since you are ‘creating’ you mini computer you need to install a lot of moving parts and components. This means you might be moving from your comfort zone when it comes to programming and could put you off trying the whole reproducibility thing all together. So set realistic expectations here and don’t be too hard on yourself!\nPros: Docker is very flexible! You can build your mini computer to your specifications and keep your ‘normal computer’ intact. For example if I am running MacOS, R 3.5 on my normal computer but can build an image that runs Linux and R 3.1. Also because the recipe is contained in the Dockerfile anyone can build the image for that project on their machine and have it all ‘just’ work (avoiding the whole ‘but it works on my machine’ scenario).\nClosing thoughts\nIf you want to keep your project pipeline working in the long-term it is important to account for the fact that languages are evolving - which means the scaffold on which your code rests also needs to be documented in some way. That being said asking yourself as to how paramount the longevity of your project is a good way to identify and allocate resources to documenting and accommodating for this. For smaller projects you could probably get away with a simple documentation process e.g. Julia’s Project.toml system or {renv} for R. But if the longevity of the project is of high importance it’s probably recommended to give something like Docker a try.\nReproducibility task of the day\nFirst sit down and think about your project and how important longevity is. Do future generations depend on your code being able to run and execute tasks flawlessly? Or it it more important that the workflow is well documented and understood i.e. it could be easily be ‘translated’ to the shiny new programming language people are using?\nPick and choose the task(s) that you want to take on (or remix one of them)\nOpen one of the older projects on you computer. Does the code run? If no see if you can retrofit it using {groundhog}\nOpen the (or one of many) project you are currently working on and run renv::init() and see what happens\nInstall Docker and work through Colin Fay’s tutorial\n\n\n\nSuggested reading\nDocumentation for {groundhog}\nDocumentation for {renv}\nDocker R Reproducibility\nFriday - automate your workflows\n\nSelf-care task of the day\n\nSaturday - reproducible challange\n\nSelf-care task of the day\n\n\n\n\n", "preview": {}, - "last_modified": "2022-10-24T14:40:50+02:00", + "last_modified": "2022-10-27T12:25:32+02:00", "input_file": "unreproducibility-detox.knit.md" }, { diff --git a/docs/sitemap.xml b/docs/sitemap.xml index f69a766..6743994 100644 --- a/docs/sitemap.xml +++ b/docs/sitemap.xml @@ -14,7 +14,7 @@ </url> <url> <loc>https://bios2.github.io/posts/2021-06-13-unreproducibility-detox/</loc> - <lastmod>2022-10-24T14:40:50+02:00</lastmod> + <lastmod>2022-10-27T12:25:32+02:00</lastmod> </url> <url> <loc>https://bios2.github.io/posts/2021-03-25-point-count-data-analysis/</loc> From 238bb05e5d80dde3d60d105b3035eb1eff47e8d2 Mon Sep 17 00:00:00 2001 From: Gracielle Higino <graciellehigino@hotmail.com> Date: Tue, 30 Jan 2024 19:35:01 -0800 Subject: [PATCH 28/29] Add note for Project Set-Up course --- .../unreproducibility-detox.Rmd | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/_posts/2021-06-13-unreproducibility-detox/unreproducibility-detox.Rmd b/_posts/2021-06-13-unreproducibility-detox/unreproducibility-detox.Rmd index 717d5f3..a07fa80 100644 --- a/_posts/2021-06-13-unreproducibility-detox/unreproducibility-detox.Rmd +++ b/_posts/2021-06-13-unreproducibility-detox/unreproducibility-detox.Rmd @@ -2,7 +2,7 @@ title: "(un)Reproducibility Detox" description: | A seven-day detox routine to improve the reproducibility of your projects! -author: Gracielle Higino +author: "Gracielle Higino, Tanya Strydom" preview: thumb.png categories: - Technical @@ -14,6 +14,15 @@ output: toc: true --- +### 🚧 **This is a work in progress!** 🚧 + +For participants of the Project Set-Up training, we will use the first 4 days of this guide (Sunday through Wednesday). Please ignore the other ones (although Thursday is really cool!). + +Have fun! + + +--- + Have you ever felt lost in your own projects? Do you feel like your workflow is quite effective, but it's not transparent enough? This detox routine can help you regain control over your (very messy - I know!) project structure and discover a marvelous world of collaboration and contribution in open science! Reproducibility is a principle that resonates to the most used concept of science, assuring that a hypothesis is *testable*. It means that the process to test an idea - from data to results - can be repeated. It is different from *replicability*, which means the process can be repeated, but using different data. From 427c8fc615771e0cf3a7880308698fc233093522 Mon Sep 17 00:00:00 2001 From: Tanya Strydom <61696728+TanyaS08@users.noreply.github.com> Date: Mon, 5 Feb 2024 09:50:43 +0000 Subject: [PATCH 29/29] =?UTF-8?q?=F0=9F=93=9D=20grammars=20are=20the=20wor?= =?UTF-8?q?st=E2=84=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../unreproducibility-detox.Rmd | 30 +++++++++---------- 1 file changed, 15 insertions(+), 15 deletions(-) diff --git a/_posts/2021-06-13-unreproducibility-detox/unreproducibility-detox.Rmd b/_posts/2021-06-13-unreproducibility-detox/unreproducibility-detox.Rmd index a07fa80..feab121 100644 --- a/_posts/2021-06-13-unreproducibility-detox/unreproducibility-detox.Rmd +++ b/_posts/2021-06-13-unreproducibility-detox/unreproducibility-detox.Rmd @@ -568,7 +568,7 @@ Do you already have all your manuscripts in a reproducible format? Congratulatio ## Why do we need to preserve our tools? -So you've commented, documented, and shared your code meaning that it's ready to be used by the rest of the world, right? Well maybe for now but you know what they say about time - *all hours wound; the last one kills*. Okay so it might not be that dramatic but there is of course the problem that as time progresses our code becomes out-dated and (worst case scenario) non-functional. Programming languages (and packages) are continually evolving as developers work at squashing bugs and making performance upgrades. Sometimes these upgrades might result in a fundamental change in how the a language or package functions _e.g._ a function name might change or some functionality will be removed in favour of another. This means that in a few years that beautifully documented chunk of code that we've written today might not even run. +So you've commented, documented, and shared your code meaning that it's ready to be used by the rest of the world, right? Well maybe for now but you know what they say about time - *all hours wound; the last one kills*. Okay that was maybe a bit dramatic but there is of course the problem that as time progresses and langages/packages are updated our code becomes out-dated and (worst case scenario) non-functional. Programming languages (and packages) are continually evolving as developers work at squashing bugs and making performance upgrades and sometimes these upgrades might result in a fundamental change in how the a language or package functions _e.g._ a function name might change or some functionality will be removed in favour of another. This means that in a few years that beautifully documented chunk of code that we've written today might not even run. Oh dear... @@ -578,7 +578,7 @@ Oh dear... </center> -What this boils down to is that we need to not only think about documenting the code itself but also all the 'backend' features that make it tick _i.e._ not only what packages we're using but also what version. This can also extend to language and operating system (OS) type or version used. +What this boils down to is that we need to not only think about documenting the code itself but also all the 'backend' features that make it tick _i.e._ not only what packages we're using but also what versions. In the bigger scheme of things this should also extend to the version of the langauge you are using and even the OS (operating system) Although this may seem daunting it's important to remember that the journey to reproducibility is much like how one approaches eating an elephant - we take @@ -586,15 +586,15 @@ it one bit~~e~~ at a time. So don't be afraid to take a little nibble before bit ## How do we _keep_ our work reproducible? -The good news is that there is a lot of functionality out there to help us on our reproducibility journey. Different languages have different ways we can document and 'keep' the package version that we are using. The main focus will be using `R` as it is the current *lingua franca* of most ecologists and it also straddles the middle ground between being very 'picky' like `python` and literally having a built in system like `Julia`. +The good news is that there is a lot of functionality out there to help us on our reproducibility journey. Different languages have different ways we can document and 'keep' the package version that we are using. The main focus will be using `R` as it is the current *lingua franca* of most ecologists and it also straddles the middle ground between being very 'picky' like `python` and literally having a built in (although not always perfect) system like `Julia`. The big (language agnostic) take home message here though is that it's important to (at minimum) keep record of the versions of things you used if you want your work to work a few months/years down the line. By keeping a record of the package, software and OS versions used we give other users (and our future selves) a chance to recreate the environment that allowed our project/code to run should things change or be updated. -The three main approaches and packages I will discuss are `{groundhog}`, `{renv}` and, `docker`. There are of course other ways to document package versions but these are (somewhat user friendly) and will give you different 'levels' of reproducibility. It is of course also possible to mix and match these different platforms. +The three main approaches and packages we will discuss are `{groundhog}`, `{renv}` and, `docker`. There are of course other ways to document package versions but these are (somewhat) user friendly and will give you different 'levels' of reproducibility. It is of course also possible to mix and match these different platforms. SO lets dtart from the bottom and work our way up: ### `{groundhog}` -[`{groundhog}`](http://groundhogr.com/using/) is a relatively new kid on the block -and apparently refers to a film of the same name (no comment on my side as this is a facet of pop culture the eludes me). This is a super easy package to implement (think one function easy) and is a really nice way to 'retrofit' some of your older code. +[`{groundhog}`](http://groundhogr.com/using/) is a relatively new kid on the block - and apparently refers to a film of the same name (no comment on my side as this is a facet of pop culture the eludes me). This is a super easy package to implement (think one function easy) and is a really nice way to 'retrofit' some of your older code. **How it works:** Essentially `{groundhog}` will install the version of a package that was available on CRAN for a specified date. This is done by 'replacing' the `library("package")` with `groundhog.library("package", date)`. This means its easy to go back and set a more suitable date for your script e.g. maybe the date it was created or last time it was saved. @@ -615,29 +615,29 @@ groundhog.library(pkgs, groundhog.day) ``` -**Limitations:** Although `{groundhog}` will call the correct/desired packages version there is of course the potential problem that that package version is no longer compatible with the version of `R` that you're running on your machine --- this means you might have to have multiple version of `R` on you machine and have to switch between them depending on what project you're using. Another issue could arise when retrofitting your workflow. Although you might have a starting date/groundhog day you might not have been using the most up-to-date version available at that date - so you would be retrieving the wrong version. +**Limitations:** Although `{groundhog}` will call the correct/desired packages version there is of course the potential problem that that package version is no longer compatible with the version of `R` that you're running on your machine --- this means you might have to have multiple version of `R` on you machine and have to switch between them depending on what project you're using. Another issue could arise when retrofitting your workflow. Although you might have a starting date/groundhog day you might not have been using the most up-to-date version available at that date - so you would still be retrieving the wrong version. **Pros:** To end on a positive note though - {groundhog} is at least a solid starting point for documenting package version _and_ its very easy to implement, especially if you are retrofitting your code. ### `{renv}` -As highlighted above one of the potential issues with {groundhog} is that you might run into language version incompatibility - and by extension still have non-working code (bleak). Enter [`{renv}`](https://rstudio.github.io/renv/articles/renv.html), a handy-dandy, easy to use, dependency management package for your projects. `{renv}` records both `R` and package versions through a series of user called functions. This is very similar to `Julia` where all packages are 'stored' in `Project.toml`. `{renv}` works by crawling through your project directory and recording package version and dependencies in use. This is then saved in the `renv.lock` file and is used to 'load' the project state further down the line. +As highlighted above one of the potential issues with {groundhog} is that you might run into language version incompatibility - and by extension still have non-working code (bleak). Enter [`{renv}`](https://rstudio.github.io/renv/articles/renv.html), a handy-dandy, easy to use, dependency management package for your projects. `{renv}` records both the `R` and package versions through a series of user called functions. This is very similar to `Julia` where all packages are 'stored' in `Project.toml`. `{renv}` works by crawling through your project directory and recording package version and dependencies in use. This is then saved in the `renv.lock` file and is used to 'load' the project state further down the line. **How it works:** The bare bones overview is that you 1) initialise the project-local environment using `renv::init()`, 2) continue tinkering as you go, 3) call `renv::snapshot()` to update `renv.lock` with any new additions, and 4) if things broke along the way you can call `renv::restore()` to revert back to the previous project state you had saved in your lock file (which hopefully did run). -**Limitations:** One limitation is that `{renv}` relies on you saving a _currently_ working/functioning state (if you want recall it and have it to work in the future). This makes it a bit tricky to try and quickly 'fix' old code - something that `{groundhog}` is probably more suited for, whereas `{renv}` is a solid choice when starting a new project form scratch. +**Limitations:** One limitation is that `{renv}` relies on you saving a _currently_ working/functioning state (if you want to recall it and have it work in the future). This makes it a bit tricky to try and quickly 'fix' old code - something that `{groundhog}` is probably more suited for, whereas `{renv}` is a solid choice when starting a new project form scratch. -**Pros:** `{renv}` saves both package and `R` versions - which is great as it 'doubles down' on having things work in harmony. It is also very easy to use - once again you can get away by using a few lines of code. +**Pros:** `{renv}` saves both package and `R` versions - which is great as it 'doubles down' on having things work in harmony. It is also very easy to use - once again you can get away by using a few lines of code. This makes it a really useful tool to try and make an unconsious part of your day to day coding workflow. ### Docker -Docker, a term that can strike trepidation in even some of the most hardened of researchers (although they have the cutest whale as a logo and that 100% drops the scary factor if you as me). Briefly Docker is a program that allows you to host different mini computers on your computer. This of course means its not just an R-specific tool but one that could probably cover a lot of reproducibility bases for most languages. But there is a reason this is last on the list and that is because it takes a bit more work to implement. So think of this as a long-term project/goal to set yourself up for. +Docker, a term that can strike trepidation in even some of the most hardened of researchers (although they have the cutest whale as a logo and that 100% drops the scary factor if you as me). Briefly Docker is a program that allows you to host what are essentially different mini computers on your computer. This of course means its not just an R-specific tool but one that can cover a lot of reproducibility bases for most languages. But there is a reason this is last on the list and that is because it takes a bit more work to implement. So think of this as a long-term project/goal to set yourself up for. -**How it works:** As I said earlier with Docker you can run multiple mini computers (containers) built from an 'image' of your machine (the host). The catch though - you need to build the image from scratch from OS all the way through to you specific script/code chunk. These build instructions are contained in a `Dockerfile` - which you save in your working directory. Inside this file is the 'recipe' for building your image (and spoiler alert it looks a lot like a series of command line calls). Colin Fay wrote [this](https://colinfay.me/docker-r-reproducibility/) really nice blog about using docker and `R` for beginners. If your interested I suggest starting there! Alternatively `{renv}` also plays well with Docker - have a look at [this vignette](https://rstudio.github.io/renv/articles/docker.html) +**How it works:** As mentioned earlier with Docker you can run multiple mini computers (containers) built from an 'image' of your machine (the host). The catch though - you need to build the image from scratch from OS all the way through to your specific script/code chunk. These build instructions are contained in a `Dockerfile` - which you save in your working directory. Inside this file is the 'recipe' for building your image (and spoiler alert it looks a lot like a series of command line calls). Colin Fay wrote [this](https://colinfay.me/docker-r-reproducibility/) really nice blog about using docker and `R` for beginners. If you're interested I suggest starting there! Alternatively `{renv}` also plays well with Docker - have a look at [this vignette](https://rstudio.github.io/renv/articles/docker.html) -**Limitations:** In the context of what has been discussed in this post Docker is _hard_ yo! In order to write a Docker file you will benefit a lot from being comfortable using and thinking of things in terms of command line. Since you are 'creating' you mini computer you need to install a lot of moving parts and components. This means you might be moving from your comfort zone when it comes to programming and could put you off trying the whole reproducibility thing all together. So set realistic expectations here and don't be too hard on yourself! +**Limitations:** In the context of what has been discussed in this post Docker is _hard_ yo! In order to write a Docker file you will benefit a lot from being comfortable using and thinking of things in terms of command line. Since you are 'creating' you mini computer you need to install a lot of moving parts and components. This means you might be moving from your comfort zone when it comes to programming, which could put you off trying the whole reproducibility thing all together. So set realistic expectations here and don't be too hard on yourself! -**Pros:** Docker is very flexible! You can build your mini computer to your specifications and keep your 'normal computer' intact. For example if I am running MacOS, `R` 3.5 on my normal computer but can build an image that runs Linux and `R` 3.1. Also because the recipe is contained in the `Dockerfile` anyone can build the image for that project on their machine and have it all 'just' work (avoiding the whole 'but it works on my machine' scenario). +**Pros:** Docker is very flexible! You can build your mini computer to your specifications and keep your 'normal computer' intact. For example if I am running MacOS, `R` 3.5 on my normal computer I can also build an image that runs Linux and `R` 3.1. Also because the recipe is contained in the `Dockerfile` anyone can build the image for that project on their machine and have it all 'just' work (avoiding the whole 'but it works on my machine' scenario). ## Closing thoughts @@ -645,9 +645,9 @@ If you want to keep your project pipeline working in the long-term it is importa ## Reproducibility task of the day -First sit down and think about your project and how important longevity is. Do future generations depend on your code being able to run and execute tasks flawlessly? Or it it more important that the workflow is well documented and understood _i.e._ it could be easily be 'translated' to the shiny new programming language people are using? +First sit down and think about your project and how important its longevity is. Do future generations depend on your code being able to run and execute tasks flawlessly? Or it it more important that the workflow is well documented and understood _i.e._ it could be easily be 'translated' to the shiny new programming language people are using? -Pick and choose the task(s) that you want to take on (or remix one of them) +Pick and choose the task(s) that you want to take on (or remix) one of them. 1. Open one of the older projects on you computer. Does the code run? If no see if you can retrofit it using {groundhog}