From e5a43e98cd1a8971378db4898e8a312a6246abaf Mon Sep 17 00:00:00 2001
From: Romain Lebbadi-Breteau <romain@lebbadi.fr>
Date: Sat, 2 Jul 2022 15:01:23 -0400
Subject: [PATCH] Fix threading

---
 .vscode/settings.json |  17 ++++++++++++-
 Makefile              |   2 +-
 crack                 | Bin 72944 -> 109104 bytes
 crack.cpp             |  55 ++++++++++++++++++++++++------------------
 4 files changed, 48 insertions(+), 26 deletions(-)

diff --git a/.vscode/settings.json b/.vscode/settings.json
index b1e4d84..ed279b2 100644
--- a/.vscode/settings.json
+++ b/.vscode/settings.json
@@ -43,6 +43,21 @@
         "ranges": "cpp",
         "fstream": "cpp",
         "algorithm": "cpp",
-        "numeric": "cpp"
+        "numeric": "cpp",
+        "atomic": "cpp",
+        "bit": "cpp",
+        "chrono": "cpp",
+        "condition_variable": "cpp",
+        "cstdarg": "cpp",
+        "cstddef": "cpp",
+        "ctime": "cpp",
+        "iterator": "cpp",
+        "memory": "cpp",
+        "memory_resource": "cpp",
+        "random": "cpp",
+        "ratio": "cpp",
+        "future": "cpp",
+        "mutex": "cpp",
+        "thread": "cpp"
     }
 }
diff --git a/Makefile b/Makefile
index 9de4fc2..e6069f3 100644
--- a/Makefile
+++ b/Makefile
@@ -4,7 +4,7 @@ text_ioc: text_ioc.cpp fitness/quadgrams.cpp
 	g++ -g -std=c++17 text_ioc.cpp fitness/quadgrams.cpp -o text_ioc
 
 crack: crack.cpp fitness/quadgrams.cpp
-	g++ -O3 -std=c++17 crack.cpp fitness/quadgrams.cpp -o crack
+	g++ -O3 -std=c++17 crack.cpp fitness/quadgrams.cpp -o crack -lpthread
 
 clean:
 	rm -rf crack text_ioc
diff --git a/crack b/crack
index 2938fa6482c3260fa70bfe08c0692cd3bafb0624..9e65b58c6facf5c2bb380ec1860d92c1140f2897 100755
GIT binary patch
literal 109104
zcmeEvdwf*Ywf_VXh#EYJLXFhNC}W%WOpstwpiWE%&d9{31~64=0(nSENFq!mAV_E?
z%DKZ-T50uOv85GTTIrS6N2wx)XV7X3R4c8I2A^k)O2mrs0r`Eud+&2{<}_pN{rv9l
z^ZUb5a`sw#@3q%nYwfk4XP*^;(9~fmDZ@SLH{A1ePYS|)b0xyB@O?ieR{s2+LeD6V
z-*b+~>lp!5D*pLp)IU8B4wDhqGhL-)fy|e!N_IcbQ0c6vRXU%{m+V(LUdC8YPo{*K
zFO5Mz|KR5rf9>aUk4xBkI`hf$oE$K%g!i5+^I1=4KFY@b6`9UIG4W}hAoF=nR!_wz
z#l?JE&X?)8d@b>r#{~FUPfMQUk^c&nJl#((;`sB5zaEb}U!}_DewM2A){|xMSMhqd
z_J2}dxyo00f~=SOxmDHAdRpau6Zt5Y&-+v2^jxjVOQwe|r3dRNx$<}}X>6D~al$2y
zwHGxuG_|%})K)n0qKOkOUetWCG%)hTGH6rNuA1oq+g-#dF$!IbRxslO3l6V*<a>o@
zPk*8Hnd5)Fer4(Ik-xQQuuP`mkNK4dY`9M0MiTS0a@~{Oc|}?ya%E<uFm4|H&Bwoe
zb$?v2`JLJsi+(h6*ut$NzP9Ra&+M}9r}t(2efa%9KBHyJ!p_i_PyXoW{?T`3l=zFk
zweHR_SqG49$Y1D0kLQ#jVx|E%6uugA%o-wn7?m6<eH{#ND12p-avw=T=eZ>5zXc%<
zMgK_%aVS1_CgJCblZK`<3W^$v{(X?cQ24LIP=><441R{f?}J|$3jbOX{9lsr|85fe
zvLtkV0<#*b+yzPSmnFeJo&^8HB>JjMVpqRPBDXV=;4_lc_kkq%z9jPRPQvH@B;_tm
zVpkKA*zL?D@_%vE(DEOj1phwd_N5`(-Hs&mKZV^6W&gcN(m$UBKQf7(4^PtW=<bKI
ztA-@$&q|`N)Fkb3auU2ZNjv>P#?btDli<%wB8Txw=>IZF`r}FD7EWSs!$D^#{r*=H
zd$==++}0<t&xJ|kmX)Mk>`anAMH^b4PbQHAhebo#!?Gmx`ePEk3`>$eJxTg$7(@(J
z?&(SJ=OvNnc}dDOleG6SN#w8$ZTH+E+VAuvc5*|K^wA{g7bmgL`;xS~oFwV#GrU9a
zxh6@yUWELI@-tT@(Tg{U-0n-FmrY69OL-EzO;2K<cO|LUMM>~8lh|!a5<Y(cIz!pp
z5y)*Qz5f|{JjavmF$+-;e(mC~$5VxVC(Cn&r@C0;v*p8c585Ns_pl?z&ny0VJZr!Y
z@$HIEw!%+`eu>{$l$id}Bzjzqa+%)a;wJ_8b1?$;Z<d51cJVs|yJGsgRQhs-Ux@ZX
z{{4PgZl-*A7ALXWd8*uY#b=J9<H5MRB|L9o-JDtu#`8Q?!5L*$wRH>YZfIB(u3I>x
ztfaBIscy!cxs7!)Zs?e*x`hjynyVU{YvzO-nwva|W>pO+hmo_&Ld>sQVj(S5b5l(n
z`B)ULt-0U=vM~`EZdlOVRJABPXJNRi%2RdiRTbg<{Kn=R8fsWn^TLwxfvcwjd0ACe
zO<P-je*XBma~2_TQFviP(+$BICa;+{XJJ)%;hcu>qF_y+Vh;WU0-%Msf~qPOTU9fs
zu~F6yWad;gG&O{)S{61en6q$6Rb5+6U5luVD1IU<*H~AYAGk@-7@t>F1<5rpu4=4n
zx*<GI@>M>)MsYj7zBSysuuh^?F4h7?+ms=eg>^TInpEXqnt%>ej92x(v})G){E0Wz
zHPtOd1tH+N8=4m`5nTKa1W;5}RyAkQqJ|rqP;A8nRmMbV17NO930)!rU^uU}so}=f
zI`SI4s-kLQRYe#)FlIt+UHzQa#xM+~u`XN}tjMnl1j?u0bd!{F5e#TSLlY8HV&HXr
zVO7<faPtCG1H!3mt7>f`BXzY^P+na=S(Est=5Ry(k}4=CQ2rg6w@B)@p&7bF(Jti%
z3Thhb<}4&r<Ew(ri};URBJYe@<W%LZhkew|Sui9CSxzBJ5bTtW7b320EWc@ih-z+J
z6lg#Q<SwgeUAVBWDLkl2)^Ns*f2*X=Ese#nV2CQ*KxuquE(AHT28P$vTv*$>P_(yT
zV@0??1cRZ*`~d&qcNI(sF_%_Z$UN)ESTY>EDj!yi1~g}G!%g`#&HCnrHPA<E)8dAv
zTBH%p;)d2a3u~+9)ZEzGu#h5knq8r@-6fZ<Y<(qm<0-1TdM?^#T^-uoqB=D4IZd@y
z3+v|2X`F+0Iky~=EVPp}HP_Y&omAviU0q?hgG*(}^$m@6b6e|&R4J^Yc~PBeD$TSn
zSz53*5V*Rcd4?c09kQzlFKMZRe<-YNu3FqsTh|m|Gls=Zuo`(o(@k?48z6;+H?%H*
z>SaSm3J6WQfw^;PVZKc@bQ!|2NI!9DO+yo9O*2gJ2^O-zmLM!MSxuzW^Dl*lq+3Cz
zI@tQvb&J>l36)5LO^{qe6FjhBHvw%6RFbuAenJoq(BZ2-hlmGL|GTajrdI})w=~YF
zsS7Mv0D-cd%?J)5C;0gr>cUt$f{qaFYW&i+u11977hRWV<uj^g<W&VKE~~oQX|aht
z1zcc7LDdX;F69kj5C3jeCe*XF2>wyhKe>39YgZzhF)Ok4vCu}i<|^7E47I*lw9&*=
z>~$7344F^}ZqX8S+Y4l;qgwA=^yM_jaLqi(7Zz)GT+YPsY|gemw|QY0sp<V_BTktN
z+ADh6B=#y*aw+s+H9j~`HtNC5pKa_&I?>s%YUV5ogA)gf3(@Dm>d9S2*tTHR2!K*u
zn(D5kHy7E_t8kcto;k6Dx2)&09Lj{|7Wf93DveEaG~WPX0sIqqyP>VEs-<q>qUI)e
zitv)En=qWBk9G4xwGJXDe5bjgNl9slF^=u-+~Wq9QNgvMKhL8_6RzfSG+iW>Vs4i0
z#d3~AG%<KfyLGA5LDjk@R+UdjAJZr*)qH77YuNIgww*agLhM0lPPWU19LuE7MfnY3
zAqf;#pfXwG9btyRkFTP$;|KzNA0FHGKg|X8jjfC3*^>M`UB1d(5pG<>*5mRkLshzF
z1{_KOs?7eOX|Ws`{L2<UVbS6_Eg&b<1J(a44*_M0c1KPAi-C_2`@c#wK}a@9`-AI~
zMC?W+x&hT!liSZ>OM|KZUEj%GSxyrIS1+JEQQ&0@>tvs5H_^`_G}J=0Z<QC6MBDq!
zK9e<f_VUfG;i~5Ps)ci!Zm6rOU%*~|DaeYsLd(MDwk1+hb{+q%(T{Cy6KYV7EZJ@&
z&XT2dp~`kSiG9`(4OBYZLdddiA-p2`Q_1OP)?N*9Y59)%kP>4Z24sVshGR5VTlX)=
z6rfmSd2h$0jrGDrZ-JcSAtFDI@C`MXw-J}`shTMUo?=+DK+FnjtO+5;^ELCUYUa(a
zs-M%)=xJEAs09ND4_sHcxmG?J`M_*U)c`)ets(4LP`99FL5p~_K!3tU&|kwxFBRDt
zSycr-ID6!LbHN;p*rt_~R9%V*@w8Cziju1F7mvTVzz$EaL-{ILS&76GE*`JaE3n8@
zQdwDiMX)OW;!7`10P^#lQR5{&i^#+TFkh8x#X563iCmhPD?br*@tIH})&hoMrz{PB
zhhevre}{QS;$OP>H^OrQ_TN$we}d;k&q)G%k|zT>G7x_P{$pB(M&WM;QjA3ElRX;#
z4nwX?U?j~fk(YE&@tlfOBSp*!Dh11sbVlRJJfw6g=nfbEPEvF{o-v}769k-&T>O#m
zlN1G63sOtLKh_1yH{zE9%y+Ri!@Wi?{*`}a308c@c*bHqi$BIMbi}ugZNQ4kiJo)q
z_~D+PsCYlpk8WrXE0-4|o;25f|3@fF^Asvr=1+CxX9<Jl%lP4r_>(<`ipRs#(tjsb
zfJS>t6g^`_F5pu=S1WkQ{s+K+mZw_5@11rGD|wlo1qxm$;!pP6tl*mjy-}W33a%4y
zhUZQN-zeadJU>_PpC6cym7^0p4=Z?)pqK9HQt%v+ex&Ca1=k9Agy%&CFBEW^r&qz@
z+#g^Cc$nv7!2DVJ_&|!^z8d+|)&9PPUq4sk%U$@*3Sa5MuTga7x$u2z{j0@=?^5e-
zZ7zJ?gR<Oq7rtDjU**DAEBsw9yhoioSntAjDf$~-`0C%wayPs1Ex(ocEiSxO?p_x@
zTa~-dg<t=Oq;t@PZ&&>ExbW2~eV+@Tr|9>)@S7F?9<`2Y>9Ja!3rTn3t$Jm;@K(LN
zF1)VF&2iy9zmxUKbK%<`llVdxexFM3cj3!_Bh#0=@YSl^N*CU*(pS6i)k>c8-1x1M
zev1p=rRcP|@cR^gl?&gd_*vt^=c)8}x$rHDpY<;M=0_zz8{K$CXR{0MRd(3r!mn5S
z>~-OL9+vd?x$qv#4qf=JCscaXUM>6a50eYsJuduug*RRJy$bGk;d@m2bj7bl-#c8=
z&vfA}zu|S^t5y0!7k<6M`(1dCg3Dcaf2u6E(uKFmo#(>$sPru^{6SUEb{D=YP10ZG
z!dvO@a^csHkm)zN@a-cdKHaaLQcWHUw&cy&arnnRkw2>*Zu}ZW-;KBUBK~sxv*=jz
zbK|oebe!q)lHm0u`06D1wj}uVN$@!i{I@6o_1o;gW9!KN-E}!@B+shNx3M12dI!GF
zf#2xBf7yZGtnl0;%W>ehIPjAl_$~*XG6#OI1Anyxzt4ehao`U+@Ygu-Jq~=818+L;
z)ed~013$-s?|0x;*Dhi+l^s%g=R4A8JMb6~**~uX|4kd~vG@Bh*b(Qy>?pPGMtq}<
z^w|4=#5Xwb);=BaO%A-Z|44kj18?oe5r3ltZ|x@%{~ZV3+V3O2*@3tAF^T7%w*8wT
z?TY(}G9+Wt9e4~V?O&z?FUQp~D%*i)8P?D1z*}Q%#^pHh)?Oy@c@DhgbBQl>;4$E~
ze|`rZ16}*4JMh>7w}0ghJO<|WuhN0X@ZJ7ZJMd~qD&poj@V4(kOp61bWmEBZ+8lVc
zJ?q!*z@KU%@m%G=^IW6#TjRiwv5<J)<-j}7udH|APjjT-=)hZh)r{Wkz@P3&zr}$c
z>%ez8@YdO3M(=gt&vc~U=fI!kz#nwr&vxK@9C)t-Z#wYjIPiTA{J9Q%zXR`c;5}a-
zwEy!Q_;d&UD-L|71OHVAKHGuMb>O`Y`~?ntjst(81E1%>U*y0SI`9`e@O}sW5(i#)
z;PV{#atA)&fv<Gn$2;)V4*aDK{5%JKf&<^;z!y01Z4UfI2fp2bzs!MO<-iv@@M|3S
zA_x912mWgg{CWp|k^{fdfuG{QZ+76n?!a$x;QbDKmjhqy!0&b7uW;b^Iq)S8{6Po4
z)Pe7D-~$f4>A+8Q;QJi-X%2k91Ft*q9@THs2L~PabO-)Q2R_q*pYFhCJMbX~-s`|$
z<-q4S@ZWIY^Bnkc2fomOuW;b~4*U!UUU%T-NpBfh?!eD-q_1?~D;@Z12mV?Iex3t=
zode(Ez+dmcw>j{$9r$(!{@V`xDhFOIVTjl@4t%X6{TIP6B=Cg<zL3Bd68J&_Ur68!
z349@eFC_4V1ip~K7ZUjYO9Jm}XML=9yq&H`)BZZ(@#vjh;b8;&^p0KWI|ZWy1y6nI
z@f;aA?+<urXM31_9%GKg4-E_qtPwDmtd7L@+b|bskHojzFgFg4#D8PMT&O(~|EUdg
zf%ZuJ`!>vl*(33lHq6C<Bk>z;m<zE-;&W`63$RDx-?U*apdX1B+b|bmkHqtBm<zB+
z;^){f7haFVvuv0Pu1Df2Hq3?ABk}i+TlM7vE9!5<Tv$c@ZI}zHsJ{(!Ar<wvVJ@Je
z{x-~oQ`FyvxnPR=+b|bOQGXle0x9Zm!(13e{cV^FqNu+ObHfGow_z@fqW(6_1yR)B
zhPe=m`r9xUKvDl=R{gyKK4imO@I?J>m<ye#zYUKQ@NaCG3!bRI4RfIr^|xUzaH9S;
z%!N(V--dGpJjaH)z=`_X@c9BRwqY)GqW(6_1y0o8hPkkb`r9xUG*N#W=0Yaw|EX1f
zE?`3cHq3=f)Zd1=V2S$MFc&JJe;eikCF*a(T$n`tZI}y^sJ{(!ArkesVJ<*I|2E8p
zN7Ubjx!?%>+b|azQGXkrEZ}o&m<x`mzYTMt5%ss>%LV-2CszIa0zPEJTxdl7ZI}y;
zsJ{(!VG;GWVJ;}5{x-~oMAYAgxqyiJ+b|anQGXlef+6Z}!(1pt{cV^Fgs8s_b72tm
zw_z>_LjN{gCg3a^=E5NAZ^K*=g#JIa>d%Eh=--CFDd7D!e6@hLTQI!mMIY09qTckE
zfX{Qm0T*2NVPg8(E_kL3E_1;F7d*uU7r5YyT=01=_)Hf(#s!aZ!D%k|*wMuLeBgrL
zalx;<;FnzRb1wK97rfgAKkkAbcEP`P!S}h~dtC4jU2x0=ce>!^F1XbNFL1$iE_k*J
zp6P<iTyVezPjSHoF8CrBe4YzF(*=)l!J}MonhQSmflL1`_#GGgx(j~E1wZG4pK-yv
zUGU>B_+c0PYZrW<3%<t%|Ih`;TyUogUhaZhUGM@IT<3ykyWp8FxXc9yT<{bZT;PH)
za>3`h;4@wD7#BRs1*f^-WB+jJ-vz(pf?s#RFS+37ELe|j_30Sj=|z7Jr<vbIm#rJU
zMCM@-7%DmpWROT;{1_(clP3Fsnkdq}q{r6z3V{v9w)*-o2-R2iW@9X?M<?mAl1#m*
z8%a+>(ooSSt*?><4uXQ{hd}=Wog*>(FqYLPE%Rjp*Q0QoG2SIE2e_vdZVhr0mkrz&
zfh+ap>Cv`qy=bei3;hM~>s8to@-S(u?=FcpfDXkr_<8__j5p1qc0?P8&6OCRCDiK`
z^V>+;`$8h8S1PL281<3^FG`xIaD$TbDa@eQPEi<3Y+57(17h<N^osFe2<g#fzVvOB
zmwB2<3etM#0H_~C62|(aQl3;`wG#gC34{ObLN7Lv11gy!az`SOh>J*A5m}Z<B$i0z
zszf4}yNFz(h+LLPL{B7gLL!lm(XF#~R(0MYjOrYL5c0bo<6I>aJI{v(py%$?x4)Ve
zN_jO@^lIx2CVB>mgv@l~?`Dspq-y+A1^V?^sjpmGU(7BHxE6_9q6%C|sdw~x9p-wc
zc|9U~*KC1SJn<H2X$$Pm6R&3oR_Tdf&k$_Z6Tg}v&b;C}L!5KPzs?YA5TAfh2n;{H
zTpHVG7B;By^Aul-^*26}u}b65E6@^AH(?O_laiz|n;w<Ss(&JpAGnBoR}uLS5ZSg0
zJcf)9&3h8_eA|`hDwSuJGfzWep7ULK#;QE$I`b4H<~iCg>uXi;4Z^74yAaDZ&JIGx
zfSJNP@GzBhPb+(QFpFA$>n1#ldRyOSTYg;0QAy;FimsB#?Fv+4ZFiO0qDpOJsceWW
zHJV5wlt^NVi^N5WL;*;UpXGv|<>~d>;VvyJ;E@e_8jK(m-5?y29^K?ygBk{l-qt#2
z(W}7=5+Rem_#rF3%-3QLTPExKH(S1N4kPsF$boXKHZ0eJMW4b~Y-0N8a=*yU$V@$2
z>hp%8wZ0rwM>hbNr`3?uVRMB@42*8<X0e+oY2l9R7-Jj`cD$XUb^a%PQpX4Mnrx=V
zZu2hyx=Vf4&;%N1U1rGmn3U(C<m_lGiUd=6kuEJ#&#ZfekV<{oA>$!Yh91ocMXS?w
z!wjYLgip{r-_at|QT32f>#GiSe5z@;wIL%yDE(oCv_}G-RT1IWLq=c7*x=iOlAmb7
zpDXsHdOguppRvxj51<k8J&OnGoQmK<1oc?j;?b;cM0kAjS4Ua3-A`09PBd&3fapLv
zQa<xKE3`ZlAT!PasCNglk-*a(@ba-I;6sozX6DH>uM_0DgT^j16H-B@Ctve;iub_f
zc!EZ%Pmcw3BrMdU5h-7zE-zHnr$sPBAq5f9CBr%sv1Y*g8D@<Tu0)VkF#^@Z_DJl!
z_=A`z>BcAV&C1`-i_Y*>hm1Fb{0kxf&UW-^=0UOu&4860>GEzRryaZf@mrBoELj;l
z&2ymhcpXW_q$%Vd2pPxCrNR^>^SaSZbE>8=yTC=rcttnfHJ|?nYy%c1xT6upzlCz4
zsj|-3v`Co<f7p9K6(kk{>b2&F1PLvxRgb5_JBnCxY3zg$eXoj|XTpwKFQl#h8D%(Z
zREs<Y4{AORtXK$8w0mC^HsAY<9-Fdc6KwC(_w5SC+3}OaUUFVEphen9Vkt>9F$$&p
zdI^}Hqk#1Qh`fu)kjRXIi5_Ev5o4LlS#S7=-=PpDyqtoLP3b#~g2yS`1;Eu`teqV}
zp}0n-cxEWpoLM|$W(8IWvupKe>Up#!wx0C-u8?tw-g#7uFfkOX8z1V%2WIvWl27%)
z#`KPUZSmLfH>EXSGztu>VElUYRNW{^-;+8F?gNx+^-Cq))*zN1v#*<7e0}lkom`CE
z-}`0Vcq9J+J?DB_fiXPD#t#}s3EDCB$$lyo?DuX!WiGuRm3aglnEQcRQ+y3@BT>QP
zS;aF&HCDbo4{pFwlZf!p`CWRf5!M*1_4&=4gz~05{}!qh8`C2m1>4^R<xQ+xtY9>B
zMG3wHTLCx;h0=Zgk){KuQy7YceP=()h6=Y+n2Bcy)V(3&J(wu@-PH<zK%Z?s1&V?E
zCj*pbTvmu?3j@zwfI`scdUfN>$tYZU*rntESic^-p2Gx=d+Qahn#yjW?4`o5lHAsT
zJ#u@A<aXn)B)48+=;TOn3bx2>Dws9Tv)Q{K3473*+1yA55mH>HeeWHM%V*!SxD*WT
zR-n~kK1?`P@CR^0#(pGPal!eDvD*MjQ8^hKL&jEzExG*wB!-e38T-q87h~_dZ80_}
zk+BP1jGZAFd+e8zv14pSv4RHxQorv4{Ab26gYcN|FR~c>s4qEVQ{0S&Y{q_uY*Md6
zVs|Lel2`}fSivKTv0BMkzG7_Vkc^#9#;&y)tNskeHhjk=vHN>1iJg$h*vE$@pB7_p
z5snq?*eE6T2afT;CqPPUD?lYNbeKRL*0*FJK-TC)3e86sT7v5WrDPgSb@Mme=C469
zq(({Cy7;?N^5<9lT_E`@Q2d?oFZmm5^XL5x{%RXs^1JRWOMXwjD+Q+bdsKmz{C-6^
zR`A3xr2L{BfyD|Q21xlW69Y5RMw7^I>5Z2B+CeFq{C3TA@%Lcd;x9Lmzp*a<PL%vz
zuK4Q}quPS;ioX{D{&S0fay{mu7K^br-x-RrpwVq!B-nzB3mH>Rw>i2K=^agBl>#k^
zwF$T&m+4_o#u3%t3p8Rd7`O|5mFOo#Yb)q8C3+tuNc2XD-mlQ<@OVUjU!s4j(0<H~
zh+ZnucPMllCQ3xtNOV}CH;<I)kVMZ^Xfs`+3nY4?LVHh?=(B)+B9Fq__4dF(8Hb8-
zbZC#BAX*0oY2D`Zr8I;o|9BIR*h8YL3a)&&5H%F@A2f?#(Yvj0!(_(YN1}(#AcwE9
zg8Ko|g1!duiB&A48fDlWOwib4UamSAf5<3^q5#>MoQ`Caz9sGx2*(O;Qsm#__$pS=
zpvb=fP?Aq^lkXAT19~cu_u1qh?M)>AE5fmY35tAFlK-kAzsx58Go(x4ex-x_<8N5p
zU*{q}9WZAzPt2oC(ZNyN9xa#iif@Rx=Cm8`$4f3+^Oz^_%s+t8-g@o$4lOGqQ}5V;
ze;-%3zNJ6LQ8nFG2t8ho9u2c!uB_(#`((Xik5}9F%@l3h2_5m`j<<^SnvaapTlAU(
zM#h?8QD5r|bbLnI$zao5(ga3g1^e&iW6CG50rev>5G#0GqS9XnszaiFDN$pHYLTe3
zCF)$FW=qt1iMoWSD<x{YL`^2@GKrcZQ9+`75*3sv&Kt}uff{q<kYKL{e1W~m6^Qv=
zoGO#!q`{%uDf-G?97@U2TJg7wt9F{R-?E0UyW=mQnaW}A?)b}&@F7R|HAnbNI2tQG
zeUcTXTeHF)j_`O#*oj}~z;AMdon_G@Su~yL7dX=Y&Jljt5q{7S{*5F2fFt~CNBDk6
z_?M3G-yGq8pzT=vj6^qMg$+lVaSr??j_@KC#&A2n!hyfuk+;ebKE+Y@F^=#G2M^zM
zgl~7`UE>J<-4X6_gx5R5_d3F(9lV|92#<Ay&vb+Xj<Bx6tm8%p&Hr}r{~Jg6AxHR-
zBmFA~*AGr_>c#nm;%hiL2pS)#`N3W|S7Vtkl_U8)%$E}83Y>xGcbTPcut^k*5sd{d
z&Rp~w+!IFqm~VxBI(_pTQ#v}#cp81#dUQ<A%V<(5$2bH10G&1`jzzn}6ZKemieB_w
z_#*9Wzen5lHQkuuOD{G)HM?FV0RWv{ts_fUjng}JrobUFaqIIOcVpWBvYxv~AC9#O
zl3Ju2Z=qy8_itwEn*#$Ks6)yv^McXk>G?+=MVI3-%YbGIIRD>bSC?+yIYB%Nwc-Tv
zN3U}&Q;)9pvASsT8DiGgT8<`9={TCaZiIc=dxm>@zYm}G#y!Gmy!jG}dIdDx^tS;=
z`V;Z&*gMdBk9i?Vw2ZwBV{a=w6Jg4OaQrgNLA0~mQ2_yq^D40^;~{(VX`zQH7okKR
zTET2>JcF2_AvS&-N*UC)MKAxIpt1kky77wM@mgQ`j8H7?k^f?zQJ0Iy6cf{rfiXK?
z^mzWU1}-o~5KQ|RuwK+39-~Loe#|gtrzZ^bD86>8C(`d{WUSyRK5~!iMxVa@-OKgu
z{loQ?J^KFR;n5(_stBYH^wf)eVJkoD+dkzbSc<3hf|+{9l#gFPP&Zx=XXw!>vyjdF
z{UJ<lYr*24w1<%{Wj6A9ocZI65$TXu@r<DHDJJm7`+9U1=4unoJ&=o-T7l1ob)=68
z=Wg=>pra4+YF3UTvLIS3(bU02{~;1(s6=l=lUAZ}GLbnCDMCgMjbtb56Ps2H_99fD
z&>tt_SRzjW^D}khm|$#(#Ra`)gucB8%jZ3MluL$rrsiP#{Cfo3SPU@x*-mOoQrX8Q
zW_TGf7Iz;>?wFxlW=KZ{PRmESa&2U;;S_tU;G1_#VXOsCd!!^IWV{R62$~&T#j8qv
zBh4j_Le^S^>@w%d99W}x6PXfnOmpOzJD4L+<`|9S$dr&{409-!cF;<ppA_JZXqhF2
z1X3XyJsJ{ADXOua<XB2EcfB&$o{(v3VZC<Av_kF9uAL5dsLpp4U&8?te4=qQ|0tAY
zJO{^UJX7%)U5LK&?Ny`50DPk!TP=3gxPR7zxDY0ESj(~3h$6l=B!wd};7Ei#SNqB_
zw$-~MzCOVG=|+Z6%ax0Sy~VnL72=3YWK4zUjQDhBFs8x)B0dbCp_CS{j)hqf?&wX?
zB6kvtSd!GE8NNr0i<w38R&QjnI8xyRYEQ&>wHRF&?FpZ+$54bUQS5RR?bSM$qU~S=
zC>hnVuF4dxNsq1-HGuOfgJ+(2154WK+){kChYE18)!85^rJe9oCSEHfq;IiCkzA6j
zMk8X~`KB|<Ogp?@!fb&~*z1DxT(I8-mjl*|j)X7NqbH)nz|geV8k(A7Xd2ndBK5nB
z)e#XW`b+Dxdi2cO;A`|)#MjP9@YjN8C^{(=t-;!NL@fV@jDE2OUe<~A$kpSh^9^FH
zS1yC+0K;YQ)-lD}BO_NSQqav^kbQ3!*H=5|A`R6=6mz$s6s&&bAILu{7RTS$ns4@M
zx!6@e1b~t}%4od=ru((r)xOOVs3_NR*ZR67a9y>Qi#2r#)U;^18+<(g^k_#r3euz3
z(_W|N>?z4X9dE|6?P^~aBaG?jn@2tS69l_Uyuc7uh~D5yFxXwf#R|q`${1J~i5hZM
z)|?Hk2W$4A+qv|w9#5%pDP2jaF+WvL*=NibQd^IV!J6HS!0f{>$fWF}JU1e&%NQgl
zW-~BIG?|IG7RM)giw{9N6rG2jdR}@NHy<88hj<8u@kVbb+L9iM7WST0zosm@AR9@-
zSC>WWuz_-<tmq#>ZR)dn=Yeo01_EBLkgs}iU;smkv&(Y-u>}O$gGIZRe@Wj0b6tUd
z0|0N?Qfl;ccD4N`Wb}e!CMdT4w_fy;7MUbUo}YtBCk7iJ{TD%6k1hh~0rMhBdR#E~
zT}67&^0S<z_h{ei_fk@Qon6|hcM#O0^Zhis^=O{3G;BU_Gy`FXEpz9VOCicmG`FkH
zw02#dJ_Aih?z)f=M@QJc!Il*O+p4NzP50)du#sWM05LQ*SPFLFCGc1~<UyEA1&DlX
zje>g=yk5b53Z}xC9yflW%#JRAWIYogv+ree)>dD(f)6T~x9l^XK8*2&3hr01F5x@U
z1+N=??SQqcwZ2M;zdM`wtaZM5fKhA?Ko;93K|esaymf&16S72D`(1~Qn0h3<3m_!q
zM{vE!leYGGmx+DtY?4++I%r~<YFzPo?9BVO|Dm1rVz=Zh7N6A4cK=n7{!BY-0|{kk
z3nVpRXI-eUWoJ2*jX191w6hnHI?>M7j<xJ;F+$evo{${Y0+@CS0L#wi!xL@t?E?ln
zUIhDk$k!tQ+rIiFe228JwLaVf$HaH9hrZ~>G9`Skw66_5FJOm#<;m##rG0G@i}uL=
zAngm!`-P2XJ>=76I@``FC47gpv$ei?624p7*(Tq5z_hD2iN9Cc*#_S#zz#dROM=SI
zwgTc$$P!_PooxXKJDUtCcZob{7e42*vzO6uX=kjd!<GFzcDCjD|Dm11pH+$CliJyA
zN%}MG><o}lc9tcn2|MdSg)KY7C<B|Llz`LD+L1cZ&K^3=va>r8Qg%i{VzwvJk}B2#
zGvR<Nds_s1d&t*^80cR5Gu&cG;Er}km3?HUgzuL2w$A63@V)Cr{03j1gzuO3w#g?J
zKL`C;xr}~L+8b6OCH$DOw+E%YZT0c14J=mrwY9!B3EwU4ZJlqGgzuI1h7DD~S{A&t
z#NRLNZIf>!V28c&m<mAJTPV6o4NK&}0e<d9#PTO(jIgplZr*z!CHlLAK*J6T5$r)Q
zq_iOV(h*;FYhe#|n&e*o{Rm+o6X0e(C9XE}(=FkP!w>*yz#JEdLlP`gYnH<o-H0Q+
zR*YT{SSLm<p_D@iZx90)GTlxJF$@DoP+41jUP%EigzlOf&tf2hlsu$Hb><-j-GpB}
zH~7lMbCa)HJRkD4;Hl0jTndMkXk;sKx<FR11|jW{nVwZ}Kq#BZ`cZ<gD^`i!7|NG@
zB?1_0fiMCXXUPD@SO~BZEsFU}Jeik$5mIjQ^~sb_1~6paixe;tyH{N6V|U2v<jEKu
z$`gnUKEFh4@UcUrQ!ST>O`<2H)mKZzL!v8WSIYHy!E-yZkg<b6u<u+Yp6h&fiRT92
zM)BO_+ajJ1`S$V&>G$Bt3anv%SlebisaJY<((7Zo-^o4{>ZLM)?N_<j=`z))grU>y
zkrGbFQ)%Sa*=~)T_9aUr128zH5$2>uGV!!ELdP!@u@B`4MX+Z<V1utu1~!Slge<H=
zMpirrPgaOt8!6#CWMH-ERp{;ukwR#sQ2LOyqT^u0)MX3~G0B(>qRY^-pa2=ON%R#O
z`kHwX@sQ{&w5-*>HXu;mYSF6*$pJwLuMtl)3h_jn5KpuR@r2onC#;@N5bDR171#_O
zsF8hmQX>ZmqoV2QNC%B<5wN9^OkkOd-4j!dCJc?_@d?<Ar_#t*;cOGz$a!`fNgZq>
z%*kXqc-k7FYeX$^fE48*fTkod=)@6VN$ZgwG3do*%qHP(DG5Jf$Riybn?|`z`H=9x
z(8y}b(@NLMHd2iwh(QArc{cc3BmxEw1Y%&}B4(4XUB<xFfdB)WgufLM!xWgUXAM$N
z!W+eNt8a^VMtpn4bFJ^7c&_uA;tB7-XYM9nCg<efdmjjwVjj%Zpi*e&3_OKwNgo<H
z$bun(9F?A~n(-F`Ms^R916m8`4Tv`c0%8{hh+PC`0z68TDTCDrj+Vje5oBM1<f~<J
zuY^`f$S0wQgmPr28OU^@4AvsZJ_`kuA~-<?y$BW}NE`FOYthE&>QPF&q%>K?LJ2a%
zGGy?}U>ky^G8jfsm%$K%AsM8&%4KjKf-_{W9KlK%Y(emP8EnK73eLBHIOXOXG8nMN
zL`yv-%kmvZGa+=@SBXUy&|p%oeAE|fO>fp~P4eiTZM*H#HLn)^2@C`rN(?Mh1|AZf
z5n1U18BV=hNKR`C`6`96S0kO43$01CR3>89i9V=aoBK5Fyj{jF^IZ?jZsE6y0aqV{
zVi;{;VX0ng+|DMjUM5{F6pMn^`lv-M3q~npaGVQ7{>ZklSz@mDEd!>T6a;58nEIfV
zx)yQR&ufB11R(%BRKnH1c178=(v~7!t<Q@@e?X|wr{izf7uJn+z8t~h++Dyd^EKk{
z3}1Q3KvPz{0~7LvXgZ>k1_%8X)ixSZKbwL!_Zg@Yk3CpKvH5Kwzv+TbQ>kwrqW^?{
zf=$L`BStx@AD!Y>{{tsm>R*eHQa|O%F%Gm}h@f={)z*6pIw$C8wJ%c!&=_O@BMKS7
zkOBc6dfyBJ)O$IeB9B+5z+i(ZV6>uxg$cAE1^mxLq6<a<`|wD?ywx%WlSv>Dvs!k>
z&|tfa!Qz^XS*N<;4Zbz9JPa^c3>eAARwI4SdPK0l*&?2+eS5`otM8zAVvSHd*ZTU!
zbDb|;<b(6YlkE199@LbMUWJNb|4Idmv+yV<kLlsN*rU^T6{>uqM+eL=O(wL-QD}jQ
zZBo-LrTk-1DdHHgagZs?LBdwXDwGeIY!dynke}*~SBu`4Ro{#BLZGVCjfl>cy)gG*
zMWsN5LTQsJG4cjNG(&c_2yBqOEqwhdBmn{g8<7WEk_e2(WzyBM1BT^olrb0+AqEUU
zC<u_FJS>ZGY_SC?*b?`NCzK_gXanMjF(1>x0y4!DLtBv#LdBDOr=vrmGQ4<F899VO
zUuQZfArml_P_EL8P8{$I!syIf_%uqn6_4dq0XWX+u7DmAHFFBqqvhE510+_>MG%RC
z2-D6Jlrg17>$Tnsv30ec?68mb%fLFT$KD|NWiru&{6f6!ml1eKbi?#)?WD{)gED2d
zMy6aXdSRj7jmRRzEc)SG=nP4KSSvf^T<A<9)`^}OF&kvpjIO*(#%vOOv?w<d<p^1#
z&eXv^q~HkI6i?_<JlFct8IMt5ws=AZ;t2_ed=L4`@g(0~MX#E8=q3j+bu&-Jvr}hz
zjf7Xe!~Pkkc%h~MU!~C^8_=N4txsZasOVVh%UnJeovb*&eIL*|RDdlR7!CRqEN6yr
z<T_!wc`FDfs<R(vCe_JxS}r;3=uVh_6>NuO<mqen;`vW1HKG)~qb(i0?$J8e!7azL
z!I@guiuqIYntjE_4!z;PH{RZLRq^(Z&(^npJgzkN!2APabN8Wsl_<*C5u1jD{UYJO
zV8Q_;e187G*xY_3^n*JC-4gUi-4}OkPbsVE0&MGEYB*T4JzzWqywtDW&}9)6dZcC%
zz@j7qG$eK~(EV!B`h|J0+0&#vs0a|4Xaj*Q$8lT*r;`_^!iHX&yN^zkP8>MQw1J!7
zHI`j6`vBnJSp_wW0e~pZ-Ck;-*N5n*M%P8y2bUUqFOXUeVS~7bHA~qUpl3rb!7LqJ
zW6Nsx28<nL4NqD%32y&rTp)LUVE&V11G#%4hN;m=MD&!fO!>sfSrpjCnviJ{Vg<;o
zBuLiDrh_m!C!>i41dQz*d+kL{LeK=+x?rvF8i80SYizNxPe|16)YwA-BRjER&3>s5
z=nZ&>B_IiOC(}ZA2nZpvD-x1pUo>bf#ku=Isx-QKt*oGY$qWfqXN8)x#z3qVy;dL>
zBOutV#G!$L8jNP_1zSa@L)B9hNRLK~nn^w>Ey~2fCWS_sB(PFyJVkwN22o2>rLoZ0
z#!4!V+zGi7Dxk(TkU04+&i#mEJF-hI>0-#9#g!aXIOvl9f8q+M$yK&cl(e7H=(@Gl
z^eq%NI~D|F&w_yLT8dLXL0EP#2!IJ#VX5&qguw*DkP$`#2z2ZiE96CI7pi%x*f`*@
z9f!@7=01hfTG6#iRqL!qhVcVTp8{o-L285Wler&@X^=#r>qZ*md72_6fK(3&@7d7}
zsce<nsd>KGfV{9Ni4?X}K2px*DLR+ujgRRS^S~-Mm}s=cv1OTKb&)qo9=&EDx^=5G
zu)zf)GFzJ4ZM7u9h-^rLSijYfY@+>VTMbF7e}{u19ksI<via$EWOZgCKWha)xjP_y
zy=I5;yz*$<2T<Goak>3)IJr9z0~bJt!p%|oY;LHhV#9JfPPkl^uHCv4!*e}40wSR&
zMLQC1s8rjQny%MKKU~~l7PoIr<!}Nl?$A0X<Gd{VDRAtzJX(ZrG{vs?oK8Ld4Wvf*
zq;*chxz>0k&$?oBeOfIUDfQ)H)7)RE-F6rbII;hFeFyumt#SyWUb5V;a5|WmCo7*&
zm^`*Y@ows`6~<37$aho!OQE>RVZB*;tHN<D%6hYOp~9_!<iwk$T4V)kY+eg|M=2(<
zV7RcOf2`K|C=Ln$Gntsl0<&IX{KWVL=2l>MrV)FjQ*s^!nTnSoNW8!iMNR!?FuEzV
zk22=&BUgIbmlr~~;@dIXT1(=;g}sS$EQuxiLA5s`-m3Wt&t)3jy_4j57i(yxV=bGj
z$b5Haz}&WziKH2ecXu$mV5vaSqUG^VGkZIfgu$YSf|sZ9$1ewcvAz5=K<M`46*!7$
zjRpowp*ky7DYQ9PDRRv43Qk~{zwJsag{kAmaS~FLQYuWK)R!5r=P@r;3m!hE-trHa
z?^8YCTd0w*Aq`eV><r-a5eg}D6~ff<(V!>_iPHq2qU?A+1SwF~W<XB-R-UhNluO${
zxi_nFg{dT#+l3TLgwH*ZSUIMSPjFGBWr1R@q9_b4k>Yx!P!u~{6q!1{^cBVSrKkyJ
zr11vvdWBRug~gVDBKAO|6c$03M*O0`62kJjieT#aX`m=1bC7K#n(B-5{3P4r7Fv#N
zUglg?hG=Su)hI{nQ`OkIEm1H`9p~v!mJvDbFyaWv4;H}6a1w*cd<31cG6Y?f$pcCi
zRN*R!spCIZMjRPV<3(#3Z&iTwIb#L=|5Wq|y69&ErRcx^cw$AEI=;y=--n<bT9!AS
z&iB3?W>gJVib5u+LI}DFX#q+V@;z4}OdaRTS3)D-Vj;%C_z5nh(;=dW{ZJ?6B>ZEd
zLMo9$6>)*92&RtzPP_~wNBS1?d`IlCxl9rLthRmJ{L9uv;fS{VXGlWu{Y%VT;6W_s
z5q}gBI9lbWQSF7!k7!wb9J+ef&@+IZZ0MPI6dL+y^T&^&*La1!Mr_L2t?;79z&*mJ
zGW?zlk7W3D5gu#@EhrKq*#@JaNC>*5-Y%GeXF6_XySQiS_-}FY0wqldgZl5l2ARDJ
z%=SJd{4%0WXVf}I#iop6c#RCFFdUKL5Ad>(*(Sqrh8t!0C5EeIct684WOz5jx(xrG
z;mI=mYlib=_@@l}WcY^+XCsV5sPQ|{+3L|{@S%KfnxX9Ye}5uFIq|Cz!U4VbfWS=l
z#jpKTMtS4697D+Xd;G6>@-(ZO^Tp3PZl8OkE%c!rJsN-$7&CL6$FmLY0!Hu8(~I_L
zoj(G=*CV1h_X1Iy6^}CURw??y%NH^P4Xl8RyqkPId=~YF$2q39;koAP%-ylu%NM&}
z=YobvhjTbM0(98y7PPTsk0Ht6`T5JlkOC)aR{@=HqW18>K5biHeD(kidQJxeIG1M;
zU)B3lvmfNFbF%AUNLKh-M>y;V&v1kzc6ev}P1uo@_dQ4W7mhT)ao``Z@w?-9Il^s&
zX+r9rig*R$dEQo@t+ozUQ+NgrG$))9q@U&)!9G2=U!USZPoaHpD!bR%G@Q@COQl!~
z?>wMIZlr^Us%h1Tn-?^Wa_I+q>o{JG_KIVT)7$ipMr<AExd)FFYnik9bz{4}-NfnJ
zk4ESz+x2Kkw!Z%(efyyiq1c5dF-d?2A-8L{Hlht7v`@S3d=A&5rvlhdUR$CS>3Fp1
z(TWVh%c2#dbz_rn6}T|e;`FT(F*wnSQhiz^6-!QR!Hh<6;(&=@I9lT6(X+BxlPM2v
zc9(dOMkMBz2fHpf7A(36WJz`~Iu$}0UL2je7q7|!dKz!MW&nKFC>ag#V5rE{B8{Rv
zk-7)*UPPF9;!KKJW;7iPc2DgAJ<lE%Q0i-8m8bS|z)c2&(OV9p%#y;OF|`ZPZN<ja
zy-c?Zh^H}PVIK$FvwG26TI3u~18~AoR!45sU=*u$3fbveQ&&Cy91j|^4q|D$yI9Mb
z+9MjZB`%!xjfWv;+6Bd{-BzDYl9V-$zkN<wUrRF(vK9+d{|{yD$6_vIOU?Xm%lctq
zgi^+q%qi>0GVnk#3t1lxMz1oJy!S|X^H}C>aD$w$2^%z4ONHT}1kH@UJtHA>84Xj!
z?jLY4jI68rb*ghaT421J%@BGDO7}{gqwCRQGkll8^WwIEOR(^EIGb-gREA=;xbNYL
znc!?qFggtjL3jhAEY^IG%`>k!I;{uKLd3jA#AG1e#<LWNzEDxW7UA*<WAtEjB%hUt
z>8GVm%Pa=3WyXp=qRaK@@L>0}epVr9Ogk7YNr&-b!=%`l216^!0P?kH$!LIYi<T~o
zWE_Yiq7N7^p0NFroS-pMkHV`!m)4n2)j;xO+f?nFrM93s6jD0VG6BI2pa#S*L!cDK
z$0kCgE-p#92gAj|=8vinpzwmZFELd)=!4_@qaouh$T4Ib62ig+dIVDnM}UK$<*Xxw
zT*<M9bP48xG8Uw?DkhID53$Qy#-cyeA}69~b2d=Wi$B<L%&*<vOhZ63-U4cNzoT_N
zz=n($Ie>L^J91toTh>>EMn21nEzkM9UJU&&y;vY!c(DMSD7{!<wD4kqY+(ViJhrTW
z7xD070eDV&vHmh+d3LZn;03b@UW^w}SYB*-w(?>Dp7Mbg!`&DNz>5VkY%dlVExg#>
za5-EWq*5pwid<Z-@Le=H*|LIKQ-3hp3Nx9RtvngnV#~Uge%@|b$`vMUSyFMd9Wcw5
zbpr=#{4@AYij?<{!PKDHB=#CY&g?oYQ$<fyZ5s>B*ftSJEF0$ShrFXD03d{t5S|&)
zk{OUTph|rbI!rBcRFo%D&(n<xFJ(=Mp)W<6?viQ<Wl-99#{hOOg^dJ$%2<!yTq%TZ
zl;}d%h@e>69E_3~LewpspkUR;DQdBzp+#PYvD$9zBb**48`x29>_&G~Eo9wEKmYH_
z8oApbYFvp>@f*Ay0UvTzzYt(3+UUcp7=1*|%q)v7M;~>`4(+zTKpUZ0b(h}J)eg+w
zo1pQtOX)IpA)j8TcbI<S7r$Fp^rqHPfN=?o6P`_u0ECBtHPgejAwqb#Wk9^GTmx`@
z!J^$-<ki$c6$6Q?DaQ~E^cU|5U`;!Q8^g+s1@Lv!Dud81EWe++fF&O+hTQ4#)(VFW
zBku_U1Fsi&jZyG>fwzf~O==R#LsTCzaC`w+bg2&}9e^K4qrzA_2uI^3ap&MbIBG-+
ztIZ4=sXk;wi{hpULTFMbQt6pkSe0@U9F5!poxQK!B2|unqj^n26nDIXc%cn!fK9Xu
zFd%e&QG%}5N{jg%?F!sVZPz`Z-i4ulL%x2zeiZD$eKDiNi~#z?C}U7(Lyt7nXim1s
zMktz!SOxi@;lLYNE~CWzztJLn!n6Eux5$?%=OJ5UCvTLoTO?jW7p-x(XpNkh4GQmA
z{3ax|-sk#v<@%}6^w4sZ<KzFkJxhkr<NuSMr5MW{L-s6{;KA-$&>-!eg=03^vvmHP
ziw15%{}f2IFDY6K+mC8B?xcSdI`KohYvm{cFMOPhH`noc)P9;U)*27p&mv@Wkokic
za(nlro`y_vSP@@EBar?N%@l3(K=?}}5^lrb50i289?)P5hDVtRw^cfZ?vM+V4`7xq
z-mfgynrDmcWP1JhSpqHEAEtdF1LK|n)5LlZoDe2y)^zWh55XE<S53#7@(*##PnmH%
zem<6w>epaT7jCO~RRHCn*mwkUVwR&lBHQCCjN}|uisz{K!9mb>Kren2@3xD2VQ;3<
zSIMIjg1<Tok4{xocdV3IC%OeaIspf$2FzdnigK$!m9IgSg}6$x<2yl?@5`aSU)8c|
zeU<U4z^t*jq3F(%v<zYL@0xQ29gEpp4r1WmlOX*{aqG~a{#^ObNyv{;kuft-dkZN=
zhyGRmTvh&|Upk`EeWQ(6CzStV+!O)%)Z~aG*;L<esRK)Hi-4Cyo_H-vvhnkQSK@pT
zBCzo{125O0;>WRGXX71oM%ea-avkY^^s$v5?_5IrP;!MgelwhTFgnwzr&VGdb29XF
z+)P3JM0Aux`wGY=lYMn|{BfbG2r2}nLN8}Xy{r&<`Nnp1vd`SPQE0hZP7Gvjj+o-_
zz(fYeYr*KO9@0>Da=u;uyXHzz5YY+cPdyl4jM`iN(v|<O!p_M5yJm5+{P&{0Sot0N
z|3T!n_#d8(|0m!?oct%q?+&~C<L35XB$40q(1u+;9f#dd98H{j8rGobSbVkMnf}O`
z{*dZdc8Pw)k$l`>JG9e_VR*t2+>zl{v=#aR2YsaPQ$u#;SRLtSsq{nnjav@JTZH?B
zpZe!`j&$SulE>q%x@?i3FAC(W!t4?z8ee>DU;v1zra;W<iGKygn}B!@DPZ06kRZ+r
zudMJSnQ)L)BM@dPlq38r-lyiBW@C1)=XgrIrfc16#v`*jM|PNhrzR}1aSVwiwwgU$
zWhvyVhzz9Tt;6nApJ)~sY_&6hA77VUFG3{8`9dzH!91D3xsvLSIG!$yX87`7C<^&f
zwa#nN5aJKO(^&CFt#vix=@{$FLpp!Qv_qY_>H;YY$9bG*3xZFy<BvF>gT`ZE+aDlC
zT+iZx?!|F6;`M6pt_LyZ?f0S0Cc7GO=~|BL?W++_0{9tMBX$S!KoK`37V?2R3^UDq
zL0#OG_{O~`D3<n<JFpx!cvB)qzMGLaWYqa_sbnRdauEP$i%0?UA{?8Q)GDoM_!F5T
zhq_l1l4kAsLk28xV80MyyrkTvaPxpV$Y>1KD~U4#Elk!!oDpa<qZ`QDs87LK$Y{d_
z2w_~@6CLxkcyArxGOj_C`l`)Sm=LY8n%Br#_i%PB&+}-V+-~9M9$eyG4@nu9KJuR9
z4CD$$3+@5AGT!tT!dRxSBaoi51;*wnzIEDYUfXya>jffu3ZnTU=|G>hJ&=xT|Fp<t
zphCE8u`M)dgRdQ#v`8~h^=Pi$bR^FNJ9cH-BO6!*lH#HZ4Bx#SpQK~Xje=klMLWZB
zY_p^m{WW~3<D*pV$2&Uu@wY3oBb?UpN$M?6KZ@BV)`bhwXY(<o1{|9&Q*Wpk-khCs
zH6@}h64(R$qp(<}@3|fiY(Me-1C=}-i}qI1yB$d%9!wem8Vw!mvaQH{*bFl(FD678
zeiOUXX?-9sHVu1W|HbXN6wnj?R<X7%?8DsruzBiwX6QCw_^D(OOKCX7hde`GI;utP
zhX>;Bd*{y>h)tP(E$a72WS0FZw=z6}Cv<+XF?CRgbH5|J8VTgC!U||-us`TX^`$_%
zI`-|;y&e7OTIac-&(@78ext92YkSqfqIa~&Hz2S2H6hejXnHJLb#w%_Uk1uEi=(qL
zgRyUCuEc)tzzPf)TTkkpD8>zwQ(7<TTM7H}w9Bi>@}FG!6d_(+f;$~ogXid}gZchs
z7w`gFQIZ0B3s7m<pMMtZJO^#?kw(7$6pVfw<Ip$Qo~pqIT*S?Q2h5#6;h^-*V%&_<
zhJ1ktj6J}H9K|)0F`U>!S{*Kl%>&yA2(jfN_6%aT3M{&DxkHHIN)E8Qm?DM?8j5z{
z{!}px!%<F=t)fuJd{YpOR)|$cod~vmu^7``l82yYPe~!ln9XUwy!~MCV%`_R<Ipfu
z?@}%A%c+AcuSB-Iu|Qdi$NHp)gj3fdM+8<@1eYJcm#`x0f(6zCmo0FHPv(uOqj5(9
zCcjg&>2%1tSg$)O>LQV%4h9k-fndL5j~_E+$u4sCfOl*;7;3ewV|OOasq;Z}dE6)i
z|8Nf*MBl<Yg(E3&4tNpt(aQxZya^+e`zp4Padc>eu04*Gn!d|<dgy?ja=^TYM;2Co
z;z6CX+ee5wG;^3~1+2P!-GS6uilBZkYme8NV;5Zkf6;p`8str)J$9@ECA7!sKgP3T
zr$1Qqq86DbQooGmHu_F9x68R1=xF2*sYVV{xeR3&x8G9eY5g^tgxLyfg7Ml-5PLP@
z|72U?#$NC3j`jyv8s97iSnc4^gLTqa`G7G~Xs~k^BE$}+aTu*kw7Wad3~djaK@Z#c
zV`r-DL|@yvR?zn7kD_JrhoLljbMA|wSMXw;M9<yJpda#0<<4kiB^7|T^CNs=Pmg6_
zw`H$(TL(qa`J~qQF#~8ld6{6B0iAp^ki&rO*Pjcavw>BRG(3qHE`A3luc;%29^j0n
zA9(@p9n(G9b+1;x2K$_u!Hzw!k+;J&tU7kE(n&YSdpZK?*qBP^#nd5OYJ@u|!hh;3
z?r2U=Y3&Y1N1_=+N<?I&kY4L=fh0jhkmf)+7WWQ!fpqJAmj57sIiU+`ecr2LlfA*%
zG%SIlZbW-|!w<TGZgb>4oEY7Ll*H@WmzV<WyB&Oq!BKp=n5maakKZ`~BEsM%eio)l
zYCMGb&2@!5WzFUiPlu0{ep~j}@GqNz#|eO~G(V6g$X*HMRTJ(4tWHFn4ojtytJ&h1
zF8+uZJ+~u>At6pEb|Ii;)m6rCwdZNrETLUhNV|Fi({epJ91hqrtE~>RDv@Tj-H|9e
z{-Bu2^K9cLQ3oxnDaTQdXdpw_ZAQES4SUeODe&Ge55iKv-PAA6t6^j-bv#Y!7}iN0
zPg6Q>g^rJg|A0+Ta$juBBKxh6Il6_Z87u*jh(LTs>yNESq3hn;mHhSCS}9YAdJV*5
zJ~$2n#&BmZ0I~i*7Zo(myqm}VL{%e*kajIC9oC#D;(5&u)K6=`mU2fIEGFcG_l8l#
zk3+Gd-_xV(gwwH{5YG&p&wc#Cd#$y|?XZ3GSN{bebnN!?=)fU6xpj14HDhsiiR_I@
z<vX|(YSa(FnidhfN9!P@*IL!OHRa1xmxm-i{4Ux9x5Qgt4@UVy*qgG6G~%7T)&oSz
z1_E?8IoNB-i=98l8}b0d2*CwTB%@fzM$$C!kBubGI~*HHqW*)0ac!EmQH&V}4XZW7
zj?0$qo&4Tz^DCCQReGWB7khu}u%9iMO!K!w3cL;`#CZ|6|B%P1$cX!4e?eTk&prXw
z#W=(K@M7@E+e_k{3rqbNf2Wr>H(em2S`WvcVI2JrHKBD@2-}oBNPGbRm9Ge=0`}?J
zRGcg5NtHYtLWxg61|IX4AHjzH^FIN?b$ZNZg8zj-?8LA_@h2HHKfKFIQN|SWkii^>
zKj<Lh{FVmoBsS%{SA)dlJFPPsJLA`3$jI{=LF3tYj|#&_5FCzypghX4GyWuoFIG6u
zPPQ}tv;+T)9j2dyW^&?{cGBIXxXuQ5#yxh}PW?5Ytof+Xx6>YvvEZG9>Js<s<##2<
z>(R7=+i6G~EbCZ)!T<RPVT|EV*P}~umrV+9E*f5VbbAU65KcTAN{4iI3>*>_!*%^$
z+ppsLg|W2zI-y1b=~kq3dXptTX~?e$bl^*dkf-y0w2qI5g|)>av5IrLZd?ZLxQ?ea
zkI3)RvPP0s_;Jv@(GWDr{osA*L)Fh6FQ!I{4%5p^&SF35flZJxr$03BhXr7a*uzGU
zt>a2S`{OhC<c!3(nykfj;+{9si!VkVNB!eBB*Mir!2SGL9uIC-`$R|rmtCEsM{mJ&
zu;Au$FoCIERv`bi_RG%?k1}&%Vz>?n*B#afaq;Rl+}tMR!14sWFDIdQ!9UUaE4cYg
zdSFS%l=U}gBaT%H?B!sIA~wyd$GG&|(T!mzCM7VIoETWf_#zwfg8-*!fT3+Mt-~L&
z8l}gOmZ81K@ce3agnXYA_FAhOu&=Z~0Eb|D_&i+OxCemwp5${Z``AL;tF^**cIi9C
z5DQ)Zg=^6^Z~I|_ydm9!4taN-!{*Y&P5zkLZS#V?+3{h>B=48p)(%Ac2q-DIh43pj
zJQD;<L9l&AIjV*GAxDN!fhFhYG431lBSg0%Ehx{9zjFtO*w!fQR(-!SmbU-9l+Fq-
z8$#=upt**K!A7ANWP>o%e!v>R&V_!()%d(45V!a9p8x6)I@|=+R6;e;5nN5cTu=8F
zN6USBG`l$3l2eQ?XHbHeVsmK;m+}M17CX_UKFp0u&H(H)N-!(sO?7gg8J~677rx$t
zh%O`z&Vw+%+EaoHF^v*HS=?L>z)NK6-H;hafum6{Rw@Sdbq@4ZO`8=T4JiILTC=EE
zGtOjcS<?%9?=!n0HCB`ZDmd>BGo|%JbME({*#%T@B|^Lh5Ce}lxXG~!$yqGiF>W1X
zap^QaF+{;lzZepx`pj3?2!Cx(hnktG1W)sOAQ!(9y^}0$x4B#@&U_9}Ti!!|OF{3r
zCDRke4R|>5_MDD>dKUcQ&9MJeAGU`fkjYrp#-2Xho6;m18<ax^<bW?H>@=5vGxJ%Y
zV875WOyQ-K!W827Anu>-Czkd&;_0SfE+Rk8I1}=o9iIe3gE@phM{8<@Z-jw>yDU8#
z#A6u!wm!UQqj1=#L1@DUaJQvMPy4QI|1A6dIW)jUk(1?fTcs$v3lIf4lRZFe%x@r9
zvKaMagtM=83aFlJQ~jqVQ=v#ch8nXrlH>wlg&t<}=1yh*<nIhnvfZU<GiZLCxwH9=
zB(3OtObFfyUndMQHmZi)z%GlPYQ0&o6dRLC6gayM^ul--qkTEsbHKyayxh^6w@8*u
zFP?%gR{hUJQs1$(gSSvw!yTGNn-%Wg4?GTs_Ws50ZwVjh-DAU|J;VQxIu*kixck-p
z0|T_TUF`|&xy^F5jlOa$XpWTolkmP^a|TDZI4vQ)X)Nup7!Gq;8E;KaS$i8aL)Xg4
zeRR4b?U^4vGQQc8b~=Vb^t|OvBd3|1`!TVX_-f+e>0!ML9b||LfIAtPXGe-%h9213
z2`CfMyBO_P-u&3D!kg!X>)_4%0f?TiJKH=1szT>ef%UeLo>q)1P#))TqvY+G;`UB_
z-x%n&!KQN|d|o^K$Idl+?B-0-f8RE;vujD0`RVuY2FvfQ-ry`i=91f`S&Fw~h9u7w
z2>J)*pJ`tcmV-yjIp+fL{xUMn24@Xg20M^EVgB1$*!8QO&2O+hO$I&NUKL%f^S_Z1
zMugi7;W&lqhCl?Sn@7{FQl`5RLriJ9c>h)8K#Piv;rC-{zRSSf!{9EN`F<3mJsdXY
z;AxxhXqFR8D`TxXZuZiCTd!31oGz-G#GYd-yyl1h0k>I-)`Ri4u<wU$dzSWnpE)B+
zaY}zic{YNkU4H|!_UH;nt!I%%Rcouk{+4De8|+fmV5^8ijjsj4oi``1@kmwUW+=n1
z@wuW5TqGGw`zrFnH}m5^mT#6V)~e6*uKM7mVCQ|f9IxFC8o~qfW89VlvipA&j0ut#
z6TNVan6$-4z4EbDAFUG&0D2c%6yJ|Poti-N@KU+*EWhj&#;IYf$OO^clwZ4qWMQj!
zLb#${1g-=U{)&$18^})wmRK*SWLq@~M0<&!iNwN>A}9P(_ZmJA^gfYLKk92WNZI=8
zSdj<1(=xTrUkk=>)?u)f(qQifFHoJ|X|NyCmkHHrom@ClRb5Xss(Lf%r-FVmgVjkA
z2D=$%W~;A;$XMFCB_P*vGx;gWY{h6pD0CLFLn##gVMU%fZ58Y_;IP+6?D|T3{kgdT
zNi2I6<L4+y+WNH{>~2w;<uF}r7l{UYH<*N~^Qh_@l&U|36SwOBn4|tg^IZn4O>)BG
zK@r?&NTzN-NkhXMu})^I`#K<zcWoQxu-q&3-CC^-;3{H=Gyo1^X#i&+JL?I#c+E?0
zgIq46T<jsLw2L3x@{#uOJu`x&wtR5Ka9{C^GGiA6^qjI1jPUGxgfS-M_;Z-}hLUjv
z!!4X=87TJ_Z#flg@Zwl>c(G#6_Ya#-v6dLk!KIaB<?lj_7t{5k{aDwel#C3(m~&#u
z20lYi-{a2&@(rwn5rvkAk)~ga^vv%IOT^y1I8QhnLgV%srYGp7q^=G_$&j56+Y1?(
zJfY7v=3~?beg`|3)6w}>%E9SQ`tN4H*ig;vZ8t9gO*K;N9isv~j37(=KB>D(TuvM+
z*(t<sjo+~!JZju~<YmmdK5R3~PhFvRso-tRtah|2aXgRyUkH=iJ8}Sk7MRD=+<Dx9
z!#r@xFZnj9>Ww*azg~`lbAT1-y{P#%ycy*h4H$9|F!}@N7ajHxgMf5<5O9!-#k>Dy
z{|`n6`~Q%E5qa7%43Rh#&?1=Qpn3)W;Ft;5`kG&cOfdjhBnJSQPhefsW4;j~pK@OB
z=-=ClUE>363<-mEjSnv3OFE!qO)>DL3(J3-FWia&!WL_QaI6!3b|q|^+QjEubmPy-
zion&?SeMp1KOuw9fkE!`s7_0ZJk4sUO(63cP~Daa44A`P&Sp1y>L<L+_Y(8P#=P+^
z9|aHG#2FF_?KUTXEm4~R^K@yYKU>WFJjI1I;zn%h86&YA-<)ZFgrsB=mfec2un#$)
zBXP6~Si1Rf2Pu7M&IK8^uWQBgO$qa6Xluj-+fNsxrZjU87^VX|!CLCeG>1bdK?4U=
z<sxLJITr}-06waur5ihY-;#}BXYX?=z?IFXd;dJ>PlzwRCTKiQBM%tQ6we3<xABa0
z8{M$nw{t?#n-a}E8}7rvJ=WN+><Xpyg-<Bs{zecB5Ila54Tt0SgyUafDhOdig+_z3
z8lF}B!rY>CoJ+V2TanW+_d>1{nJjvm9t(9qVmEs+1HdN9Fu!)k9=+&K+8x{d>3@X&
zkV=o~SlRvPWbM{%fY9<!!CLhTkbc@5Xt~^i={VF^uhsI}0$l%5jXS62{kdK{wio|!
z`_o~5i3V|X`|!k#k#&Eq*BX#!&a0T#=E*$Gh?}z?`0ZL&jaSR6@MF$gzERU6H7Qsj
z-ZtUHj(3ZVaMT;S5wE}>)$t+6TZ1BI^7xL!#m2G+5i`t+xx^ha+=?0Fj!Cs*XujGu
z2emXS=8!vPgcZZNd_ta)Rt(1j2{CxnUviD}4T&))$e5d!C!{}7VQ)ylo}{qfOu%L+
z?4$(jD1|*wV7H&F*F32tg?+G_G~7OLA}$>;N~2hU^y5^G@+&nnI=n{Y4&iM(x>9t!
zRp0s+d#%=V?ojC69UjP#zj~uXoYcVzgO=6N2Mp8_9&6Eo1$U+HiJZy^T!gTv_3cvQ
z-VEd|HSW*EgH1Kt?q0M`tfZpn-j$Q!oaElx<(P@};<F;c+WyY1rcAzPkBOH#1CE0q
zGD44sPOF<l(SOn2(Y@|5A7065akgwyydUl+|4GT8!=&Uz4SQSPj(^Ct^4OFuMes<I
zkkg#?UCZCHy^5w8U4hn8qB_n;kcbPN9Xm0B{(Jbu>*5=Lp**j1ET-Dy12pxJ{0imZ
z_#iVBtxs&^@_Uq_=tQ0?;&)oberYzEUdZtIZ~_T!{2mBUo<*9E5Zd?%(Z)?QWORHr
zZ0cU@E!IISH+y*$A%WIQ$TLXGuxVXp(;|@^5cw*bd%%l7WqJ5B(~m#1%kihK8V%I1
zM?2f0HoyyT`P+0xJWR{M^YOdzL_@CDjgIva)wxkVV_W3&hkNnVvaV|Z8B?O}IVe!~
zwoC9n8jqHB{~A0%hvuebJxDTI)?=gs!;?g!GNZb&_wIfXcdxXwPFgIodzt-roumTW
z%^@<{NsC0>g#v;dIV|!wEVW}-re%>_Uxy>tI)8}>-U9GFv1!u|NZ=#gfP1gC?Udj9
zG#{jiDBDc+Nz=sJ&qvL%D`=WN4C98!1IVb_4aRVA#>lu-WGwLts}?z-6p^#%7Axn?
z-niJ`iA{lL_n5aK!u%QN!ie9W2*gcHX&mldExV!Ju+?DEF{}g~Lj=cPX~JBs@fQ!^
z*_J7~And~bvvrCt=we>XC#~}xE%FnHZ_uJH2PCcYJcMAK0oetylP&QIv(lq8(XU)N
zRxjFq6Gpfls~|%jFZpf(a=?7-E~ew_95wyl?_0EOS7g%vl~f~?B|^0bogzZ>5IR+a
z8W9>TLM;f55uq?bUlO4<giaHoWe8<6)IoCqaJm2@tQOsq!>l+Sg;`l&hn0G#T}A$O
z9QFfuto)p?pG8#XKiki{=HHfCRxm04Q)I-h5B!d{En^ry-Da>;x7>Gcd<o_<u!+A<
zfKALrK6CkU7@R%1QR_R!GwI>^O&i}2!Q<dri?e59UAh7XD~9Q6Bc^*=CR1Ra2@|))
zQ?cI8#i_4hTxae8ec0?(u?xRSLow##yvJ+dlhmfak6iPM5*=I$6raZx_01m;-wr;H
zR-1XVJ)NL)<zj>x5>yYHGhn#3KULoY!lXctUc!y190-#lr_k*i+rs0_lbIU_@sNi5
z$CyiD8R?Ac&;mI3>qB`~Y<F*u;D@|9TsY=C7_Z3#s$AF@ERx&UQx~Dcpm9u#aN&w>
zm*c%Jkx%YQle5be_J6vM9gHr(^2Iyh#S|R)ma>Z%fOWyIH6G;|HrGBimP^!zdG?^n
zExvwX^EJeN^{<@i6ZJ)Ta2bHxED*<;rTDt2-uXiKG%<s~smW>F^X6L@V##+6MxET(
zzDDeXza<v%#91Kb8E54Qh<){^RV-FVvSs#xo;CKljNTVTeT75AnTlrlQ7EzD6K&0=
z0Un~U^Hc1xKsn|j5I@(xPg*Ll=)41>^FGV`2(5xX@I5}k1~yS&>V4EYH-LzPGNScO
zX$+!V^a1VAF<cbK?`npMfx-LwHWbU>a7YAm=Vt8wUdH=1bMf7*{xptQBmMAgy75=+
zP=#{e6NB)F=_#M+kvUiBvB_|P{o1X!0F6nNJlu?_zPW&`;Fz-bj2b@u6in$3#r!zu
zQ#uN!j@wnZ6aepfC2EUNdy^;#6U>D`w`Af8n>kVMz9OBx1C_q#icB0Ac|SZ?e60CM
z?^o@57wOR}kgFKEu0S*00Y9=Golvo<7yUV$qsI_oU|aiZdJM^mx?7)tx4tq{%L-=p
zKI5<#+@qJ<R~9QxW1|ZPb>nX#W4j|hb|VVFH{$a37?{LHE>^%nkmVUgs>nW|Oj-0>
zt<UJWF9lOf9;CtO?!%CQ&8vxR^ns~9G5_YDgM1?}lZ)^?qJ=XdmYWrybrgQC`Rat4
zX<6UwlSMqIb=E@>y?2Usi|?No6>srET!DOijrN`R8u-{j{)@%DHGU0{${w5NLI~BF
z@!NqyeQ>nmL%ehz-2P@-JfA3h7(E}(?b4f=L)ef0d#U$<6o)0jctX;6*ue_p8G!-2
z7OCb;4AXGqNRXECK`8f#Fd^~k#<niE34J0=0AI+P!LjiKpLzabn$QHxgm&>OZZW@K
zkDe4tc}1)j8Yf1lryEzIIZwyi%~xhbr;j$S#KFlca{ys|czO;ehLI-)<)z%!L&VY?
zJmsr|;uA#OC6pOBT`KO0z~1K-g`uJkaDf@H;yv*ry%*K5fyhDN3J@p;fh$Ph3cRGc
z!w=Q_f#hk+;(mTka0)l&VkpK)fk7I@VDAdBSDX>OVzf~V_CP=q%SPL2{W;AMZ|nqf
zdVc{q%NB@slIjl?y%V0t*{bmt%8!066l3v4*zYrzfap>XU6K)9I@(wQqDv691RO5K
zTd3XPB?`!~I3&CMK$=LQST&aP1o1(`p9gc_2}v^@%S8yx%hPq*>VLFS{)Cjl?h?C3
zL1VFHuQ=o9GFLx`LRaUY5VS%m8&NWh)<o&D<Pa{k=)91Y8yU1u^qQ?xw)i3Q{G&J_
z5g#KA)$iFxRQy#;sN}c<^!c9D+?;rUG}32r#>o8MBHHkubmNaSV}1J@BjTHx#U3%J
z{!o5vQta~{snBz=F^x^%ePW=%ZlSa5mf09g+}1l`jkfLPl!524?$G%kU;xlC3E^!9
zLc=BWBS4r;rG|=L4WFrPn?!7Q7Z1%24i_Zfymuh?Z+HP}n0P&Hco<)a!~1<_qtWyp
zP&r%ofEGR&Cdjn@-T{OU_WnxJAz=(kQ`A^waQq<g!xVmvN;lksUH)IR+QsmU++IX$
z6H_)$UP93(bOc}N%~t*ucWz{ELjyu**%iJPA1^M8-hwx6n!II2$3n&@_z=}g?2Ar;
zzr@-wyR)C&C>8=)v)?0MdkDA76zyGpsyGR|g3TU7uv>nCuUy>=;@Mb3#<Jnh@hxkA
z<Y;S{#KsEei?v}aH={54CJ3@GL9*<!+`~ak0dNd$MJ58IzYNzw^n==&v_?!D^AE^6
z3lHj)k64U)$`MJw8Hz22ftTVP$w@8Q;UX@$y|+-77mBvQlILMM+5nN90}fgJqQm$$
z7pndD_&32u0)5Qk^Sd1M2hC6JAL9L?h69BVrrizWKu)c5xxG+q52ts_W0_nBgm$K7
z;~&NWsbA97Fc!}oR2|Nu6g$7{sRLM2!^)U152HGC?p$^Y`Euw_ptkGqO)}JC5nh^T
z<X4l9z`voLJjZw1vbZ<p)uWf1Z#4_Oog2#ifHT#0eAsmPIfI`N1E_uPEAZ)tiB_@d
z41`3#W4z48$$QY+aC!|Cwa6j*+s-b(_QUQ_QLQgsTifMN?_Y&?*0soPWP73#3C!ux
zD!y^28@tIFJbNB%<HfFr7w@R5#X?;Dz{Aj7EX<ROg)btnTrA{w8ZlKHxeDVWC=j_?
z(c3RC$8;?ZX3S-TMLD{$+@C=1J}}@Q_l!;MI-6WMDCu(e4_cSerIq;cM=TdqR3mg<
z3;u{XKaNCK>rrdLK+OBKtTIN6SwEg?+W*6L$P}QM{^Kd;|GLrHCDCFX0EFa<!983*
z(6a7ZFC)e30P=|C0WIs-n?>xyav|YyxsV_hB($uUTuAt#qLYnEfleMCC`+y&$Yq5`
zmhlP!vGdaDXR6<c1%`T~QwJ0k>kCF_NQ9Z)=q$%y^Mgj{xg(I1qOaUZOV%e{@5|OA
zd%zK1`OJyOU<YD+kv|Y0kWO39Z-j%n7cRSZxris+$+@%8UHo$4?m3S{k3%(bMIna`
zANHWu$zUJ>EGb}}?6?_gqV@3FOx#=&PZ7D>!GxXPkNjqf$nSULhi*mwvcdez{qd8W
z`JIQ-v`%s4tz(z&Xx4&%Y#5}Mkyo@O&~!AXFq_jP^KM8A9?RLBv{(v6lF+1XIoU9`
zn`guFN5^0L6rYwwASM1cgfRZ<IS&%ASs=pCGJFlf=0dP8wx{BKU|Y;9jNQGb$-vIu
zb7i2r_d>G`EgJ7hVf2an`LJWe$-^$-FxkK$7tJ2ij144@-GHa(%lNe{;!h~TBK&*V
z?+`4Wr5pX6RANHFbAsYLRk<F$=Aa&3+y_UNA-+~j*Q4h@$$c)gztO(vH9a9-6(&Y@
z(Q97g5HBNo&D(h3Y8c$0(}FgM*S?S#pEUkI?R^ViTt(IY-E3|fnv$gNNUJOmBvpt>
znzTs~*d)8jZnB$flQd0B@n)NBo0TLRlTB&ME1Ck0X`p@|Y85{zic%FcSn#W#ASqN@
zXn`Us6&0#H+)#wbt03b3e`g;1xO=y4C|cp~g>>$oJ9B2{%sFSyoSAzrI}{6}!CC?k
zhJGCkx#kc6j<>KwXklZFk`@XM@}M<Wf!&1>yR3VR^g&ePVve-J+Q$d&h$#l~+7ALz
zuox{klQGy}g}uR7zmCDn$H`x@r-DQWv-x2wVjrQt3d9VWHb9a{KVb8G3iV`OJ4Bg=
zE(haPpxc*@<MbxpC`VZJ2G~~>*+UhF5Jv|O(anmSp^BFVE6&A&BJ&#17pu0&3(RfA
z`ZyxJo9Iqu3FY9@68>WNmE&WSpY%7qEx?*w0)$}Yi_zL=#@y^FlNYQSz=sIogBMU~
zxn&W-L((F_LlCNjf`@>$SmY2_>C2fL>4PpLdibE^KQcFd7o8&O?tc2`fD?Kl*GYqc
zg$cboLVB6#wUzn~lL3Q-9FhGhPA@v$Ky9E1Cb;K&sdm;qTg<*}<~6@3ECaheQlzj%
zwW2LpEDolTMjCWrMt0@Eyk&77XClBOYbn|tWM`OID-X#A?&b|-EXH^a>^{~a>67^r
z^Cq11;RGK0IwVH&bD$Yh;meuRR^klyX0ED;o){vm;$fPdP49-E{aG3wA}Vz)CU66O
zjlDx^gTf?G4KmN+r$Pr%h{;QIy*=<!d)!3dj2W5;zl>OaIADcDQN%A=ci3o#!j?e^
z(=*^bJB7hQa1}7XD{zBYiSskBt)Of}OGk(B1=(SDh~~6h+mL&&YsgLxiGwZ(NtO-c
z1e*v4Lh(3<Ez8bg!nPDkHEe0R4>|_lrg;~#N2f@KmL6gu`}WumVURG^IFt6EJ;a5~
zK|FB%y96J;Wcy)_>%k;)2A`R+oDEfs$H^KOuZXNU2FCF2>h)9!1k42i<HD9)x?Ch(
zSgSDU5+MfixO5SlriHxiG={jt425VsOJO6~A!jMd7<3_ItRIz;oQWn!<ZR5t9`pH&
zaUhK{1RqBj1UpR4!H;ZsFKLzJ%9-cH9mOWiA<#?~naqr)I5C_sC20sr-;rNGB5jX5
zX%-;~)l1uS)(Lu-3xiie(w0vxmD1)QY0HgB8@)9A<Qgb^3V8J(%`=eh=y6@VD@?r{
z*xfG0j%}tZp|fzD>F~o_n4FA}LpLHHmxPEPh)*Ky@HR06;|gLElARK!e;I4s@H}dD
z56;YC#IX}m+@yH04+=#ekt_IS-wZth&jq7qqFm*UO#|H{^!cMCO+?OV(!~oKhpDZR
z1s=&^375lsBb@glcW4pl6Xy?e4nF1_JV53+TN%<(Y~~x=_3R{viH`8&uwu+<n07MH
z%Q0W#C6uv?=q;pSoU2A)OZc#c7qj7d<M1*r7c}=w2FNw&hFZ2`5SLo$^;D#}Oqu?T
z#$%8^hzuNiDlGUZ#<qfpYA<mT*4J6CaTgrc!<U#`!$or)yPlow99|oCnVyAj#j)#8
zli&}5nkX-UVyGxtI|)t~3ek!AZrAgZTtoQG@^Eji%k(^IRuEJZvwt?;b3|L9VV6!t
zSk1wuP_T%zQu^1-YivT0ig~P#3us+|kz`6Fi#Z2E(|j~`2-`xhR1yEver6VT6+}X#
zT%J944h^I9Z!<D55}>z(M2=qc{KyziD`QBksN_NS;LFkREPHd*)OVV5Ae4fm0~AWs
zX&QAt{+62-J61G`UOU8rAcu3f4%|R<5B|aV_^LFdSfEy+bGDpw0ho!j2mmaU;Fa19
z_2(Q~hWc5VMhbqo%t8vbs>C^1m+c&`4I|hg8;!CDvCJYC+4agr#Pn9D=`qIc&CbWe
z?$Vd9UOToJO%dY_ZGMCe76p@n>xsg<iEw&sykBGwL9#(N&H^qAL#kLUa6oX8wj)3U
zLZ+Gypbi}Tq0YXWIXnO!!stSlAvbto6X#4^gYP=w;-KNJ8J<@}LyO~c7=1hJ6WXsw
zy_iC<9HO8t2uf#9V?pV73_u<N5Lw_U8qd6@LJT;3j})|sKFP+y1!3tKItPcX84jQq
zo7NPdWezGp?2SdS;|nfE&!Sz%8VWpfWNf+|U#LzisU%D?E?VZLBgq}C0Ux?@&V?tA
z)Mn9O4U{I%dOXcK0W*^6OIo)?^ua?2S_k4*kha_fLUGGvF0zni0yaPlOwyHBpor+o
zX3~`;RTZ#H$h&^WDy|?gD=$c8R%_-phY82P?sYK=GRlvntkC`|(J4f~J<NJCR=_&f
zPc^X^BrpR=$ie$hkZC~sViZS*86bdzX1{}F&-n%V@N7<U@?v1`pSU<JbeESaM%0x+
zb97<s3_(wdf3ysoKbkoWJUq4ts+Zx7(CN2=Mh_5;n1nESaSiSn`vV$RHym6DuQ=*}
zW+6R6Ok~H*?miaRK#YP{Vq9>nnZ}%rMs(c4>Om|Mh|R%&5f*<`vN-4M!NX(c(;A0J
z^%6B5+S|dkH|zM=WOP%{QV<+qeeCe}XfClZ8|{<i@uP_*bOkIvNqu6eG-AdGtHM2q
zI_zvD_y`?-CNv+Uj_4<DuQ}%bBjTI+{7c(0Ffsa{2fo4-Fz^p+=JkDy<M0_h%*}L~
zZykAFcD;*tb?hXgq%*MT0YyO(w{{%@eC1>;Y;iJ=R8QL26T~!R-_M}m;Am!lvD1-c
z>s&m}Rvi&j37zzyTOa^T5c~i~!`^t%46b+Oti(NDF>T9f$B#CqqIg7<pP&*#-_9iu
zck2Xk5Q-0WGF;2-Xd0O(5&Hr%N(LW~6&HHqEh6j{Iqj~}KSOYW8vmI~FM)p+(Y{PP
zUdc*=W9`JOHpn14gh_!`L*$}j%OO~yv>vj-5G5n9^dM{!a3UNV*lZoooCfn~>~B(T
z00lvaxz~+3F?zg~H$OwQ^MQy+Zr^kq6Qr?<5!{dq?TJdS^uI+0mu(9tnB<v1QCF@|
z6hv0pcq`@!7hc|Ww5o#u;T=fF{QJRkSOrnMIXX}VH?;$6Tq|gWGn&G#a1AYR&p$-(
zapb#AFE~p_;VK-(1{gcf5)x-){)><!OD@92;&99eSP6GH0Czp^*x?v@c^}&;$WsCz
zR4$q_>#5~*Y6JeYw~>i_A0_mnKhBPxw-ZnB4nLEB_fUN{as^krhgLv6yy`A}4J~+r
zL<V-*2517DL|jSpIhF^ZH!mhP3hrEZ)j1pP3V3Y~3a>3jh`hG6=W{jw;I-X*)h+O|
z{*Qa`*Qf=%<iG6uI?kdlM(v2S8EkY9EzNb8{>C-<OVs!qs_`^<A5bGifGQi5m7$)q
zKo3#R0h*VG@mhfrUso#L1Mx!$upjhlX7j9fnrR*cKcvCJ4W<EWD72DV&&KF^JarE2
z#>q}TPWOW?|CD(xt!v$-hcXA~b!F`5kymfH_{xuBmjRaC1vlU(^y($xlr5+TN&|L4
zvzrDK_k3TCK2?3qYfOwnV-yiet{3o1UOt`d%7vrpYGO+;HdZ|BL>FUzD_s6$>i&s!
z8-q<Um_L@wa1aAMhkDxZE)Jg$;;i+)tJ#!Krw(-XIvew`=Yd3&8@}Ls%g~FdXab#*
zbU>S;Xa7Sm`W7J$seY}2lHxA{geN=Dm(XX>Cfo-o*N<1=@c1-dtZN1Ue+3{k6|}{A
zlTGr%6*T5#<}+UpF&MTswWRym7PfOO_OmUa^QlTWpcYUHC;wd9z1|<uzw{`ZKk9p)
z1X;WX8@GSm2<v<(fY&|#5_Hkl4K~opcLg^ev;uru*eb{I0PN2037#H$7~LSO_amhf
z9oXG^{_uWjkJ6Lv{7K&nyuRpK0`_Ra`W*()KWD$Br}=%}FF6AU9Yg=R{gPeFd42zk
z{gUCTG_JF;xgd{kz>t41b0eK2bPatLJ2Pt`Zm+q9YAvpz6nE(x?!hDO%*uB$KV@$G
zCYaqd_$Z7X*Wlk=m>i)uu(cU(BE^A2CS)kk9v}G|#P;<CV5Y0Do`wjSw70YY3U4h<
zb>JRYXu$Cp!*H*_097{6J^y9r=OK_NmW>-Km${j~Gi)0ir>zn?_lqq-d?#f<w_OVR
zFt*mKzIb?t<j?gt&@Li2)k-hP4n7DjXVo@gXo<{hBMSR(e}krF+c-0+JC31s7CJ;~
zLF0JC<Yrms4Y#6Ma>Fd0ZJ1>al5f*Fa8<Ul6E}(@)Bb=n)AlsA5*5cxrfhvSaCNQ{
z^x_~9$lL>}U&?2fH)IR&KI-N0l40ZimZhxvZ1?;(oS%nY0bS<f237Q5G1*4jN9*a`
z45}n<yNv5WJfJX9^28AB;*ABE)!ffoS$c^jh%IqWkB_rqNKTJ#&|^<1E7G8MWrMcr
z8ng-TA_+P;Gwn~~4>W&jtU97+WA%Y^a6h>T-nq{~WW%|4wl0pb6m2=!YYh3(IBajR
z(@evCn5eHrYcL-U<?=6V#vDiNA!ercKX3{W2ElE>%g-ZTgFAj6k+weI2Jm4T!Ja&Z
z9yEYyV8Po8b}Mozp@%>vI%*@f;l2(S&OoHG2pQOq%iKsdk~r3OUIW@TP=S4%!4QQx
zp@Yry#5#yhmScQ!V>n>-7CP^D%?k{{_!xQHBJ*I7A8y9`nailZk?k6I3#iRF0s3<2
z=|<vP^bczc%h*B`Cw&dqGc3w8F*>A;PeTf67{dkxy^mP>aOTE3+`5K3L9ZTI7PQYI
zx$R@DJSbt|=0EEXm*&AeeIEns6@<lDXWozoG;+M>*alzO^~&jEuVZ8}170~5gj3Ku
zMy0W*0S!%K4LLGqMKM10?Frpc&l}l?tf3KP;17Ngn#l(Fl~4!Lr1qwGBWN$oz8Ee+
z05AZ^5UG+oz7&g&tU<Qvi&!eO)5kV{bsN8Xsy>Y;7)+ekfZW5N18cz|4Bfqix}{!U
z!A#Uqyr5HIClm-+1hlAY=+wmk(C1_6Lt%~~^(_1(V}C1tQo5bMl%J{|vW6%s<tD)B
zatv-xW$@Vei9?kk?BScBtoDQ|K^|297^;up7#M|o@cJFY8*@e(o;}Q5!a6C`3r=K4
z>5)(xO8;LPJs&RK4NHV<yxm0jArV7pXhX<hdWP}x=1Fu?B=l=mAzlW?##syMWGg9J
zV_`J|laQ8J++LwogX|IllcjD0If$n>HUJTi5}3L1N9ZR4lQrg4u=lfQ*#o-15W0_Q
z!F!NH^`SRySr#?(nrq<qp(Fi&{<#H}gf65`fWMo`JoC6($Em0Nc;YUFD#JnuGZMSO
zq6>T5?2J67r>Ur$#NNTho`!&n{byK1u(!>zkmZ;~8P{=%2ctKWcksHKR1gafJ+9$f
zbGD&AitD)rDS~R{J4}0Ny@7g0kd038VFGkGv0@&08%m}Jb>I%Gjx<pl?VdPLB}a6K
z0wQh&F4RdI>UZ(@P0!ZSc;TeS5!+D79y|t?!3RPw!C4M_7AsrV`S8GGZp=ZQL*{|E
z&dl6+DsC|!nQepTQ{*RVA74zKL);1r@zu<8QP5=nGz`Pcjkl!YIq2B!!fZk-DVSd9
zI=o&qwGX~<cq&^rUz|;5WW8&smCr=4LpRU?gdoNVZwEo^WJ7<T-qUdyIDSp@b4d2p
z_`{lJ{HnV##oy_~dx%39!?OHc-w)k`uQNXzLQzuPrA0ZxN<=TjPTB7<Cq!y-4y^@q
zghM|DL8unz{NK|&+V3pgePwxclNUd)!mM`)v);M1{O=|=OcguDh_@$aRZJuLVIgkI
zafH75Hn9<Uj`<x60IVv>z5f}j3tzU(%G_9j$&_jwN595Ci65W?ow(@-?P->Q*gXHg
z5TPkFChU7#aF!M#9}9<voD>D`z?cOPuFvlT7c<@(yP08wJ;FlGZ3Y}fWBf4o1|A{)
zB=H8tA?YTze>t?7h7OJH7E2xn$#_31W*Yw=p_hnFFl-LO-#tce#IX5Y;Ne`rQI#=N
zP)O8lzJOxbwlQpMyZ)OD8+rC1#*}YNV+gHK6`<xGdkJ_3Oyh%5fyviZnv;W&sSxqV
z`U2~%hseu|h4rhMpKyQr)y&WA3Y~*(R0OmG{}JOdQJG0HhzZf+rn53E9s_5?KO8=l
z>>&5h)mUGLgZ0iK4Se?^cAv2K&(_!26vDeUpv^WH=LlGEg70t^mDbXUd<RAYMy#d7
zeLrMwMZ7=DIL<-mtk@Z=h>ZvQYk~inkd@=diKH>cajyB;f!KBBg;A!%&#NX4?gh`y
zC%-Mc+U$S~JeRM~DIpBxtcNp*+QfBd93i`b7!HeTa0&5TlQr}(YH{L2r1UkPYiRp~
zkuWn${Srz>Y4~gn$uP7Yh-lB3A4zqCvX}@SgcVH>u`m|uH*PjiU#91HG>Xv+JycC)
z?#Ur{Z)hcW90;DrJV&s%kRg&W3*3O2%YPw9UV=%@NB6Q0nziIiHLQMtP|zcwrOAv)
zMpx*2R3G?>X5ol4Df61|;u(FV2hbP`h?rn(1XPIldGPz(s9idAnPuS7)Q}xb8@m)@
z97-qN!v4%~amJ}YIDEmGNMIEXFv?s&z|b;&pF;QPM91L^UV`X_0{s3E-M8W%gTiI;
zFQ|~{nKkxh+=bR)h{zCu)pvM0w@4m1{BdEk9Bv*sUolX+KV}Hw!G<ieufo6v`zBQg
zfQOA=-+6Rz2|3_+!x|fg+$*7}<G2U!ZA6npH{(I*G~A83K#@=jN*~@Y>z^TSFfJ6j
z?|w8AqxCZyhN0qn<Y*9;*+AW8U{a7He^}kS7<t6Vh2C+Xx-RH!iT)OGGe$cY{Cwv!
z*YE|;mS7HVat{7R?CF(Jc%|X<o&&hSHUC{Y{vW!!98KEwt~q#m!SCdF(z&3QZ3sjg
zp7{)&yhPl(z87Hzr^PVA>ZpZBl|O(!utw0?QRJlG|GEA{f#acoi9UUbYn8Xx->UTn
zd;DE%7BAM^T5F&SzxrB(mae{z4og=cXj$v+@V5!1%L9Fu&c5EDrMoAv*5Br{toHZd
zS7#s?=&|^_+I;Jj-eB9}#jE>*eLX(S*V7Z|S!_`*Rz9U%qFBzeC>H$c^mZ>^><udR
z8h53u%C@9wMQvl<vgMBEr461kXL)@^wNh4Xt7&l7FKsS&IhHlLE0$EPsP!zbY^t*>
z<+e&kwX4EY-`I?T%k9o(Rb@5qr438!6larSZ>VeXtf($qzGSJh-qGx;t!%8Su~oR2
zl`Bmv%Im9~jmwvM8f>)=S994iclDCGN_$0((&SXCJylJ0OWl>rmz3LU9V_Z>HDwLW
zE@wsKGCXxEwJWL}RrM9k?&S^3%IlU^mN}bT9(&CaTO&PoDwQ=$9F4B#x{C7Z29Iq;
zeVN<7tk$`7c~z5AtCW>j*zA>64rg_Z%UxUNSyJE7xU^|m^YRtS^7^HYB@Hf{r@6MO
zuEy=OmshT+Sk_cs)~Hk{l}(;%XIb5HyRCjj^RlXn#+s!|8p><k4wurbtXST>tZ8Xu
zL;Vs@U9H<yQ|)wARoZP8<z-4^&w7lfMLE|ZhD~YpcF|C__V~O(pM?$4T3;&-T8Fo1
zjjzWNZ1;9qI=$<(UjGJP?tFzmWh{X*9UXyI&EM7Q>j`p<4Z(r}&D|IDt<%6lKBud;
zRMXaU^=Yl^))f?Lu0ZRhT6dts-@4vjXtzW61q({GhHkCXd#O+BZTI&0+O(i|jci^*
ziu?;He`}zxD~P<uRY?q%S|C`UX@U)@G=4S&(RqfdsSs^C+Lc(ous|#8UEf8*LReY@
zot=TMq<9j`FVgCLy?q@)=b{E*Fo@wHvLw9{%NHz)tKZ+*-Qh&8g~4`=Pg{xR>{=VR
z)Ys!|2o?wXx;uQ%YEPxC%J28r*C6vEjg3!1L1C=iJ6mZqTQMkFu*d5U_Bvbb4PN|%
z3nd%MG`edjLK11OLHmj|n{PD)9;3xbbP`)f{8otZj`B};um}9x-QjKZQM>fKanfj8
z&S_hW1SD^8YW8DE5+8yI_U|N(&3o+~90-YHRH!w2doR^`Aw7)E3-bHA{GaRdX&76K
zsb(NxfI=B@xnpu)0v_$~p}gIW8jdPE4GXjr6PqeNv<r|##3phRtsQ!l>m?!4nvp24
zFrbGa&lYIThC=QAll|xjRutLm8XTH^X~$YS>zPrvBK^BB9RD9ZzygR_9avT<v|d*6
z2M?4o8Gqz<!<Qu#@*U7uBj6WRuq;uq)>H7QV<iiJa8)SN@dwwOG82FJ2$?b)e{=9h
z_+tN*y|rsPcm3c2Ol_UsF70!D-nKP8-p<~<;JTpB=;`fS1&aq}O8`dB*}aP`8fLCu
zOYUXu{?>Mjzt?j1hQ9fh3o%3bd(XR&Pmj8%igNkPA6ETw!^VqDbIs>dO!X$TXD=Mh
z<G4@zbU2)iPM09fN7`N%4ws;Vf5I}L1s&W`84hnm2d}|`(1K3V!Z3tR?nPPz0&T+j
z=Jz1Rb~w1dfqV{Zc$FYuGg2bNR-^|}&nE0Arh$lQ*vCAGl=d@ULb`QjIGhW@?nHVQ
zh?|BeJtH7$^H!7xzR-8E96`I@Lb?)Z+HK)*H_~jR8<936-HNmw>3*bJk%o{SMEZB6
zA*5L#{#!_Mkfv=%`;ayxZ9&?OG>CK^(oIPBA{{}R{XMi3=|QBgBTf5$I6M<fk&QGL
zX)aRwicC9F`j*~yr0eMU?cwk!(oIOm363-sbUKLCf;8<8v>&MhDfwx)BfTBzx*vj$
z^n3*40j6t4T0-fa;cz?B+#jQ#NYi$N!+R;cD;$1{;CG`vV9@rTARp4^pN7NtAWgd$
z;{*CSkTxO>-G}j^bQjtUdT+fy9KHf++5@0F((K)!H|W0=X$jKoUjQG{<~{g+0r(;N
zVU(wIUpPD!<Gpo1=!LZTar7H}vgudoH`3gLpf|>^<Y~|sY4)LTxDEW${w(l-FAgH@
zN9uSE{YJX?d9)vb(;Py1q?=wudE|fVHP8Y4)BZZ}kU-%QiDKGNub9?lndVNNoVEpm
zOYnL4+lhUKPf<qOWD-dw2Y*HQJFp-ewqh)ljI7Fx?CQ+)%hLLli%whoi3K@l0?Nv-
zL>elA3=lwEgf~d{rGQg;aS`&(_}ltze7YhAwhi|;0w%LkzPs?ZMVD_cVDya{D^j{B
z-|z9a6EF-ByQn{OnKpP_thbYII%R>P%$0r4#xv?4)i)n$>P^6MaYmLiBaPvs7%1EE
z4Bs4K7u8_}>{o!rwvYB=59na+fKgy}um!uQo+|*`3z(ZA_Kd7+Q*0U81Lm3x%i4_W
zvW%=UQSYtDH;#O=A5`y7z+Q@h5x)I^g#fE2e3cnln^PQwuPVdRm62`B$SMau%J(|*
zW!-x8d_)U+=dJ|#$f>9}GCV0aPsvCtOJ{sR&d%TCSsosxUIwOgQTs1J4V?DPDEktg
zgMHaWZSDXp6a%9=`T=_mFpPtsfuG@^u_6yz+IPa?^KqX#2X#0yvO0Ma6dPa%@H`jK
zX=^_99n^$AU!PK*kv(iK&#-JxwPoa9tJ*U12PWAvwwO}xoRX0bP+5irS;`qXD$~ye
zo@}(i16|lb^*jkYY%I!%b|{^)bc!4e^qu-q1Rb~q`5{v5qJEG*{RUuX6NJ&CF+z(r
zJR89?q7_{w_*)0qW?MLX9|6#q;S`9`W-}UhZE9IY?f}|tO<6OAH5V=6%|-oG*IlB1
zE0tw!T^pg<0X(}4bzK~Jmf{4-s?)(t)Ynuze;v>F(ESl88&+QONy?WaeYK~vc2Zw&
zgq|NJ8t+4X##eP2+1FBA2SDR(CbPvfCBuSNf@i^F<xp{qM`%t7LHE;GrQRy*>O*tv
zjP6_ToaThT({oaM@ol*~wk_25QNoA(tnDik@_#jwzam|s{Nu>K33JGkgg;-l9eur)
zWFqC8$nRt=uIBkIsTi9di1wr=;NKa+j~)_!5AvsB4w^@_IXE>ca~%JD5&X_{<<rRD
zkNj^T|M`^vcAkGY#ZKdHqj3jw4yaWb{ic*hbOT?J?m_ucDv!DC1@LR?b-eryDV~h%
z>xtioQ_C}QH>+hC`PYKqO9m!aWsI84RT!EQz`#?;6JdO`2t12FGRSVky!d_4ipKT^
zYLCEYCw!0qfv+Z`#r#H!Av#-nE{eNo&c)_RKkhl7K%WUdN%@>)56&Cwkas`k-9pNX
zaUV!o1-@_+n=;wH9SZd&Jim$hx(}_5%628mHu@uEyDGzK{uX*kU5u4&TRO?vA=G2T
zJpLMJPB?~1KL|Nv^sYhii&31)Mg*-Yo#cET*#hVf=`^|sUp`<tfRXNw!RLq>KdX7E
z9$y*5*MYL_*k2}_mM-Fn8_~X7v59s&?o(5EKZP!6h~TV&7OK=Wu`->_!=u1Cb7wg0
zBZN#gqcq<D2IOkrp1veXem3r8=eSTVJ-#2Y`X@i-YSanNjF6=|J*6$4P^=9$5GV^a
z(&f|!Cc|tVLrE=0WG;`~Lp+)MT!C_ATdk*ZH8fwbwxirYYRbj3!Br1DxS#Xt?a03!
z`7Z!ZP+xDLu}t9oGUELu86NYHG3(oyEKLQjzk9INkqf%tgqfA$gATr)bi;5e<9#Me
z6@<@~F*?`mImeLsp_O@ms2ef1#T}oB*cK=~F!|a^o7Lge>&-V%^T`e>!e4H2IJ|-M
z!IOM;cK~)H-To{bzMC?7j@nNf`uVPLKkexqD1HdIg0NTV&_Cx_rf=9dSCPJ10^X|A
z@m5uOiVGln+|b)}kn(iMPiz)t9W@sQPU_EL{|ml4${3;TDZd6qD-*O+bvi0DfZNe7
zBRJKIKk925Z1Vquo=p933@{s0XEGkKLDQOVGaHU6q>JM$LVs?(0CPRmZE65GF%#dA
zk`!lE#<n@;no|sMCgYQ9z=FaCMd>7bvY{v(ejGYFwV(5e4eh%JjXa1oN50VA*OTrR
zwvU7KBlwqWA9S-6dRwm`F~dU#;4c+@8^zk>Ymqr1sa&z?ep9kZK;UZxzO08}$3wUA
zF~FRgFsCp%t<4xQnO`#=gBsbsTY>Muqv7zcB0LqHqoQ*j!&jAY$Yj3VSRfevslTrS
zpQjJ9PX-(t&!qjuY@A}gUNs!gD#;_wgl`kpo-iF#4@0pszH>+VoY2P66!W^NhBz7D
zor`AC6{AbMACL0LXi5?uIS2lSUlNZzi#FgQnV`O=R$-k<I_4eOwrGE&dQQ-<Kh^xP
zqtMTwZNGrcEBUuSHA&kp!Fn$T?MWTtZ6p161?ZLLh^}h@V)Md{fM@+O9QG4HKQGk8
z&kK+pWjFGBkbf2B2kkefV8)VmN0ZDC+XRotk@rUA{a5R!8&P)$mM~kN2#3EInZMY4
z6Sdu<wifBedy;TS%2)6JS#>5Ilw$)PBx=)2rcJ973b>?vWuskNevR=#yHa0+;l=nj
z$|H<_S=$(oxH4K&eq-1+OzgyS?ZDUlWH=mvs!H9H1YfM3+CRyB$7Dl{OlAq^J-~T8
z{3Eo^N`2;NI0YYXGnv106g_3Y$M2pQ<>PIpBz*i+$Qbc%Dt+4+7v0<7bMe@PEsHhk
zGGW86B;U+4QQJ(+8<;bNeZgqz;I_K8%g9b=>&;t%M}g0W*GRQ0N;qta{@rwjDXT1X
z%w+zDNqsU!c_igy<ajk*$+Idm(J|yt`vhpW3P?oRX<?K4=M?3!lo|MUlR5f8W{6E^
z(wnDC)X%3VUpJ{>;Gd-M)`V|5&ve$7l+(7F&Hd&X`1f_Q`k1PGSyd0J%63(KP*rxR
z$O`py<>oV3-E-ffy6#L>!>P)1sknWE-F}6#p=nc`Rd7JvX2LJt&!3sTlcN5;PWj;^
z^<bTH<Av%rkFv>1_wQQOyXur@%hdgK%HDEyv`!hVP`B49|7D}6Z`jo5>XhHw)$uyz
z{z@NmUguD6_b4wq)J-1cKBs!4N4d9}usvE$rJkxL3@=nO%+;=)9_5)Dx<6b)Pmk2l
z(*YONb%X1pz_!ChnD28@E&E)A^GO%sf7V5q_qiW7p)fk6{!R7;w8Al1^<bK^W0Lw}
zn(4Jk51am&X4;)bKdw6kJ-+=E_0Ch6<DB<>i@7*YQ99L|W-4DbsYhlgx0ux1W-323
zsfTAMn`sPgN>QJfLBnywOl34h9hj;7K1Kb}4COmS<h#u3S7#`Xnbn~g%5TjoRvvGd
z)z_vgKPR$3lB#}th7w9ue>7Wp75B51>s9sUS;~_%5HG0eo*ByLC#gT1p$tt@zdBpF
zZIU`PTN$5(hv7-;f6r2GnXHCqDL<I3zBWtQGg<xLS<03)JiIwgy={)ND^0y=j<PRJ
zy<v{>=QMR-jxs|1yYCeB2eXtvo}#`oM>%|o`s^I#x+&_DbCd&9@bH-_>V0#RzfDnh
z%uzO`tJh^K-%MBEnWH?PelOVPwo}!8bCl6j)j!WtUZo?RpU+T#H%l4HP@kEtd?Q1B
zVz%;l2Ed0h)FZQ%7c<nuvz2!;)W>EiBbiilrux7v<)KV<&urzXO!a3dlcioaOZm<;
z^_`i@&S~l^GnIYQ)MsZZPft^yoT>bEn!0bMvT?e4A4or4-7!=7{&e-38EinUUt*J3
z_@?!yE)2rc^UN=%sQvTITT<1x=b3++s_vU-zGKpM(_iK(!)fZ~dFGqaeo8-HKjqW6
z%~K9$_;LTt40^D4wtCY%<sY-v9rKj`nXBG6Px;o|Og!B^SABi1^5|R@`Jb4p0`kgS
z$^${VQgK1NN$$>ULchLZR{t_ddETu4Xp*u?Rky3kgR1(aNy^5_>L9fe`R7souqkU1
zvODI$>++=OIujiIfTf-eSQz?ab|G%QmGX1b5i`CMu5L+HZYCZ9-T4*1$#2r$FsbiM
zQ?{q5uTE2Tq?9~0UD<C|pPjDUm8QO$r5sLMkNfXWq5JQjO7I_NsPAN%-po{yvp<U<
zTeIltty$B?vXpxmWG{m}IW49#YU|fh9XRZys`pG%zRy?=ZKYxS&-EV){D%VndI}t9
z<#ldb#nTayZV_<VqVZC$GDb%@B!34_J>qwZNM(M7!kFM175Q4&W&`ZUAM+gg{MjP^
zHhR?@SHCPLesd`NbRyq~z}Ipwf07KZL*!Tfm*?yM8BY(0-<~@qW}dc){8j;Pk?pvL
zKOYtF1G;kSM7ewc?-u1o{*RX%5pav>zpQneD0k>?0TKNjWg7@G*MHLgUnpQriA>F`
z%iF~7y+ZyZ9S-U8StvdfE-9xnUyFdt-!k1M;Zi=t18b@=o<jnDP}h!8mFL&Pw@r%g
zM?b|din-)3eL5)eNO%v{^>oSKU(o%&S^S1OgkM&kV3&tod*9{hN5pUILXK&!_?<1%
z(?r@Vo|8#N7d(UPdgCAA0NrfEa)~Z!vW$rO$tA`v_$cXudy!p}vUo~sa=K)Fbmk@Y
z5@_+kaNfQY@sQ3h&_(M}y2MX*R)&6W`2_tNh3B8af6I2aaJQl&l1Tk99oZ%Gy@O>v
z0Z=;w;XFR?@98`rJk9L4?Dx3%{S$%cZSng;p8b9Qcc+d|Wd-?GerFY_N2Dzx?G|aj
zNVkY|n@C4QIx5lwB0VJ1agi!z3cIpIY7uF^NUb9Eh_pqd-6HK5=@yZ06X}RZM@4!-
zq=!U0E>fjj)GtztNb^N%6{$z0Eh6m}X}?Ifh;*AsM?^X*(gPwrB+_w_;t(_Mzep`2
z%@?Uvq#lvBh_qXz{UY5W(rqFg5$UK%4~X=TNXJFWHV@H)EOL<JvWPTaq*jr7MA{<K
zZjttjbc;y0iF8Dyqar;Z(nBI07pY?B^=66GBGP=3T1Dy+DbM|{`!~&MI%;KA6%~su
zxl32!6n3AbG_NQx|Ga`e_N(Bk!u-7aqP&9n9DY<Z?4cQ2g3iI|FEgA|C5CXb(rgG%
zRjx3Es}VgLTZdVJmQ9U?@Ov|~qSV8&Pt8zeQa{DRPf@lBy%rCjqDcK24^NNi*?2f+
z9cwIv-<xsb(P9YCP+AQ5!;F)WTMXe@%4oF_{%MMw*J7WV*{RAzJ}~2?W%DUU@R>^X
zR3rE-<-kXc;IkDuf5z84N0IYpJUm-z5%Xz0{3D8yJ~u0;MdrWw{Fto`_}h%rC{{!G
zM`Me#d+JT9@>jN98vBsu<rH{hEsY#1&F)JCT+)AoAjj<jen{k}{X@D!_%oqB;}txk
zq}~z03IAdj<x&*d>!XW;UK70Kdj6a3S>bk6z}aRte*aSBpO(V&|Dl2B&*6zOSHR`^
zP0sU+0XOQeL*zG!_Dj3sYXUCUe}w|S?AKp){dzqK{;<GfX%z@WVnRQtzaAZYrhx0$
zo8;3bdaf&vr)MdHC-Pg1z$4eQvi1&^Kap>fwSS1^pQ-FO;C~}}vb|LU`TFEV)Zaw?
za67}F$p3c(PN$&ta)iii46c{E-!eRj^70DcXM)ah{VB{-IE5AE4Cn`GuhZEny5Lu2
zT7&<J{<{ls!ZZE|hq1F9xNU(7Cb(Qr?-51b0epJ2c;xOQFjy(STu%cnyYiOMIdC{l
z1z$-!^ljuf!b1n)&VcnQ*EhnfR*D5&>Y03je<k44#C>cs0JstUUkW^j=v#oeEbL#{
z`4A|h{I(?U?j-OZ0Z#On>#MH_{7x(svXr?>u9ep-!0fz*QN5dypXe$5FL|N>ol7>#
z|2W`Aba)eRqGz_~ucX@+C`2PXpAzGBNH<<1$WQIr@@L)<wwI6F`C$F&fVZ@9ILOPc
z#eh?O%Pagh+cU-OcIXYt-#y0Rv>!;<5r&7~$Nsx$5sgveyikmVAK~x+BhSswD&Y2~
zfKz{WivH#bWCIWoqyByy@M-J`9~WtM{5VPemy^Ix&*bgt9^n;QMZJ#zPVLzu=0{2Y
zzsvl;;u+a~Hg3O`#ra421BwKm#{s_ua-`UJJFNo#y2vm60-qG{v%m~Q=aE}DfX+71
z6#)DeJgF0Q0>_5$HL(0VPwc<90Zw!td5S~XSry#Q2Qdjg`VxoxMWF`-T>AGe7Vx(O
zJpV5ouu8yBnL&6Gud@L+8n4nMa5vy2chdjxpg=hX6Q2>Dix?cl^YV;zzJe|r;M6ba
zH>7j3bd4v$GYboRMxO&bA3O7f+baM!s`rK@@Ovd5;qUxAN2jcqE$|EfqSV9XbBytS
z0dS&&^yB<i;L+faFlx^ilfVxF&c^pnjsR+nT@S;-GA(7UqF;wR2{`e&L&#l;$bT0c
zE=KkKE(!by;8bsmsMjs<ltBeBxbT}=1-t`rs#p4@&}??y3b<jtEdO+@JNUqE75Tr4
zbpp*(+jV;HGKicJo+~fl`S<Gbe;4_wJ<`uD+jBs`rQcb??|=zwgnu94gohcBXk))<
zrwTueQU0?5KLg`p5%Y`G!(~bGcP4>vB0Q+KpA1)Ak#;7@|03W}5ee5k(9@`$9ZBF{
z5%llZ(erCb@*e=4_+fk>ui7VC@NNz2O-Wogeayo9CHDzrzjgvncn-bB5zv_zx*oC^
zxBnw&@ORi)rkH;&0-Uwy*BnS^80p#vxDg$mVQ|cYV%}uuk&*we0#ElNthjPHPn3mF
zl16lH2iyq%<$yCikYZvO&JuXO1vs@+?(fVO@P`FFU&vRUfX_xjns?sPjm!Cf6CUdb
z&j@plT}=Wm_idyedkt`-cAlCe@Q87|UEnDL+$jHliTvy(BIKoaN9g+Q*~a;&e%u&d
z0yy!x+-H*f@T(;GE$0Zi(CN2#04F+h-_6_6!4stuhKEu6KMy#|{{+t%7WoS?5Ck9B
z@z43Ne`p>bU&S+iO631J@>Bb_3OV%%_z{6e?yD^j@H0PQ+@3W_;2Qv^_VoXpBcOL4
z=(<_J<$jqkE0n8Yco_Bf%SqtR08aR=4{^Ngd_QjIpKFY#4RFfeA}01iUQ8JQoaitr
z>?@F$T~8&!Gv_?YKV9h-av{fk0fWO%6aHsd2JD&yL7;l&exF>|JO{W@f73BQlwa=a
z(YqdW{SI)NUpDFF=nsG!;dz_#L!ax{3u?Y`{#8lf{|z{`NA8C{$(y6(6&UL=58y`a
z`4-?rXSqKm>GNyA3BTO$tQPnm#Q+iCX07G`I;T%pHW-rfkKE6Hv-ehT`#AyE^X)eT
zT+b&j$ox9~OfNESe?H(uf9Xfc68v1n;Jhud|6Tz&^;hoqN<LXuY>fX)fD`^v-T2;^
zB>%I36CcWbKnyp#W-m0xpTC6T59#o?BR|p8b0;r9Md0}e^aj}j**bfm7;svL>iulx
zfD<15Jh;nD`9U|a?hxpe29aMs|K1|t^1OhQm!|+H`fSs+|FFof=LcJfF&&x#r*<9?
z{gwRIP->ii4d9etuQzri$^W>>FZbzZhz@^aF~_6#hb%gu!}a=M)~7jq+g~^WxxTwY
z!i65A_oL`K751c&+?6DO*8@)c(_-d~jA@HqR{&0QKA@xX)qu0{{R7X({aJX225=f*
zy`D+C(6~M415R=g67x<!N2kzNdP&|7wQ_)j_aZ;lJGz6zK`wTEI|=^1N#JK(#PNIH
z<>jTlR{%KS?|ziS*}Fx!-OciISnR)Hk-ud>hqCvlaC@$m(`~DcZh3$kjmuSl6CLEa
z4yhj;Wybk^fHOWEL1nn4z4YxQ`S*$ZdOrM0Ima_D@IZ~Q>;4K(pK(DL+2&sXPW9^j
za(CH`+e!OkX9}FL$%}yB0!ld2Objgb|17&Po`rxL;b~5i{|iarb1DVD>HH@<0H=P9
z2s)f18v8QfvhT6&UsT2Ox7@>_e-{tWa2V&eCxNd7oYgDzkF3|`BtKQ+)dD!_;VhjV
z9s->3D8k-8TNG`ALNjWA7vPj%Z?}I1@M($FD*FK^{UFb0JSOtoTw{#?H3kQMAz!M<
zZ+3C|_lxr&Vj5R+0XJ&r4$K#%f41o42obPY`>p#p;@buOD+FAg>-wpH-wQb5X({9U
zmdz983BZl&t#cd0FG~XdQ4;v0fK$CYb?yHp;1<!g*yN9ZvvJYsw`sK;PrumLP(=IB
z0i5yAUpW?fXM?W1Iu6(SJ=OtEdPWg;snj#K0d8R><Nw(OxDkEE1fK0;9A()vJ)&Mg
zc!)W>>Lq+X|1I_8)dH^f<86`o@8$XDiT<9qgwtU}N6$jQjoP^^30!II@wQ%?*V^5!
zXcSy$qLHyG3Y`cLWVd^2TI*|Ym&fAfAt+vVUOq4u6b5_NYY3aBUFuuk`<~+n0c%Ga
z&=nPEET$Gh_4&K}K|ccWZSV&DfiBJ4)uy%ic*H*Xo$vSSn$i$-m1vqjKm|_(m23+F
zGc5$Zu3%4~H_#K*Is$=iXKeI0kg_X)s5>2+AAy#<h%x8%$UtO>xx@p@QIsMIcvZ+k
z33b#q<ZH#67U=FRDAt@Prgivwdl>?|eQl$L7-Wt4T4RBh=kM+DauP3Gjd+7v4@Dl-
z0zGZMp7$2wjOYa-cY6I@qKj3oy7Dp?DBib9b86a(j^6r)Kz&VdJyoSdLkV%_DOl9%
z?P%@mprCN8{lPA@`@J<JN$u|&ez1J7H`s?DqOA(3<y+(LB|--~wbqURnyqMBTR>aW
z5m<$xYeQFiHE-WK1%d7mO%5^m@=Ed-78qwj$GiNRx2MOuUh{!7)+?(KY{{p!^>ucx
zN0FFcjDh2_YFZ^lOVsSOHcdn3s@kQR-64PuTfL&$me-cKofUXSOdKf;$%q9Y=p3RG
zYGU;2Dk~f8jap+_xyuf$B;yl`2=@Vrm}bkjuSM?~8$O)fV*?jh(A^ibw_2@LE@yc~
zbF;P}uZWLmiB`V~F$;Yxrr$(WxV<4*)a~{6IBOb;H7?u$736CT2ocvBEa(k78%j0G
zMY_m|Oe{nnK=u*@N`-3c_1QfvPMv54^j@2f72?g)M;SaxJQa=KXe%IYp{T4~0VwWP
zHirnhYK3`)dBwcp6Ot6eICMvkttY30_dGGOxRlY@bjKGv(N>7w`+Ix45d>1-=|-cd
zkot(Bkh3O(Kzs(-Vq#w+j41^Swa2k<UST094Vf*K91KlH(N)=m-s6J`_I9=URuOwe
zn4GZ}3uB1cvc5r!!w7VZO%1_P9@x_#KoC!q)kXD;Zv-3bKu0fQ;^Ig|P@lJRRp094
zDvl21YZ@Yu1}>AKR$0Vfe_Ye@3WT^8EZ~)__ILP_RZ)z|2y(SH4g+<r!GQ87U7+lW
z=4<l?y^NH>f+9iv)iB6FMnf8s4C*^)(6xA`5^5gfiz&O)-vx$BK+=fNuLXs@>oKc$
z^1#b+)#Mdm@-}ARe+M$s1YH8QW&B+MNsVhfT29=o@%X{*KJN*eoX25t*2CmP#RUa0
zcC}zYqX@ZvKGG4HBtbu+iKi`L&M8Tpa{#hKRk*b^zMxbT?bIq60X5JIG|<{|B4VqN
zsQujl1oaJzgdGGETl1}J^>woq1fr)FEQtGA)O(q?8~O90VKCj6l{>Y9yajm+_#hyv
zvbXKC2m!9WAH&dr6~M8E0>jWyPR4&@A@zXiU=h0YgB(1S*`yJcr^!jj^3FOe`r7<m
zT3@e^R)M4?jxlr<1$Hb)4F|3eMY*P4<!ytu?rLSjkHt$ze8pT{L*7d1nHIo2<a8fX
zL)k0WVzMfcc%7AKY<z&;d|fPFMBpt#u-iyL-nCdwud-Kr8W0c{vBJq}SzC`*Py@8p
z9o{u{jhd~y4%}d`r69EVT9H<{w3gey2J>>#fZd$%QdUk_f+uD=78b>eaf}2D2_;*8
z;=#|g6)S2>mWVL7B`_v}WI)*0+9UTQItG*IQOH#Ael4-N<|ys<`&xaM`FkmPy7<Zf
ztkKqWUTqatqg@*8(bo1@ox{oz<Mwr}>GNWZ-==l=yL<>#&aI^r^*h99o+7OY%iege
z1K0mFF}-iha@^|v=t~UfbD<F8gWM;^z{YyU%{@ec^-NTvTq0HjM1QQ`$)}_<i($od
z__~Bv66=FbUuSD)cRWlm)`vwWi+%{hJwY*(?M~hz!vTPTKFLw=@tpuSeVu?gZ8R@^
zvVbl6Xqee|9LP}>neTPd240sAI=Mz8FCA2_o#BoD6oj*yJ+ZGnmirIcn5U1_x2ALi
z))eIHIS4f`(3%Ph7OwGi`Fh~!gfj503G{$z<EF*DLNa3wrlXU#42@Y{(*lz<ZbA#_
zlf*I;T|RS7;_pRpbj&Ma5cKwl?{hFfDC~Z`NomLM$FdqTCMWE)I%z{ZQBr|8u}fnp
z(KW$#z9z$lK^#AGI!<&6L2ChTZ?At%7ukD7@veY~h)jqJKQP4A&uCg(Z$QJ>YuY+|
zASO9MKAin#OjS@UK4~M>qfR>(6f52Qi!d7h){lXnEoP4T_hk3FI!o+!=0`Kq!HL#~
zbWf9OV#43^F{&c|a~=tPf;{x!*v$R+_<Ro23q^7v=I>&k*20Fyn!Zl#n;7T@Bfn%K
znaLO=_s@rw@!1-ItpGIdDr`E&P9;L-3*L(ZGX`%Doc?g=$6>ZD%j@y2&clbT)~(aJ
zeLcMavXX=AwY9Xz8>``Cy>5EvC%0Du#j88|dfRo@j2O3q!r1Sn#mx_VH4gEKtU<8$
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
BF;@Tp

delta 24803
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
I&GOy<4-z2QX#fBK

diff --git a/crack.cpp b/crack.cpp
index b4eb54f..a5d59fd 100644
--- a/crack.cpp
+++ b/crack.cpp
@@ -1,6 +1,7 @@
 #include <sstream>
 #include <algorithm>
 #include <vector>
+#include <future>
 
 #include "enigma/enigma.h"
 
@@ -14,7 +15,22 @@ struct Setting
     double score;
 };
 
-Setting try_all_keys(const std::string &firstRotor, const std::string &secondRotor, const std::string &thirdRotor, const std::string &cipher)
+char int_to_char(int c)
+{
+    return static_cast<char>(c + 'A');
+}
+
+std::array<std::string, 8> rotorNames = {"I", "II", "III", "IV", "V", "VI", "VII", "VIII"};
+
+std::ostream &operator<<(std::ostream &s, const Setting &set)
+{
+    s << rotorNames[set.rotorIndexes[0]] << " " << rotorNames[set.rotorIndexes[1]] << " " << rotorNames[set.rotorIndexes[2]];
+    s << " - " << int_to_char(set.rotorPositions[0]) << " " << int_to_char(set.rotorPositions[1]) << " " << int_to_char(set.rotorPositions[2]);
+    // s << " - " << set.text;
+    return s << " : " << set.score;
+}
+
+Setting try_all_keys(int firstRotor, int secondRotor, int thirdRotor, const std::string &cipher)
 {
     std::vector<std::string> pairs;
     for (size_t i = 0; i < 10; i++)
@@ -29,6 +45,7 @@ Setting try_all_keys(const std::string &firstRotor, const std::string &secondRot
     best.score = -999999999999999999;
     best.rotorPositions = {0, 0, 0};
     best.text = "";
+    best.rotorIndexes = {firstRotor, secondRotor, thirdRotor};
 
     for (int i = 0; i < 26; i++)
     {
@@ -36,9 +53,9 @@ Setting try_all_keys(const std::string &firstRotor, const std::string &secondRot
         {
             for (int k = 0; k < 26; k++)
             {
-                Rotor left_rotor = rotors.at(firstRotor).Duplicate(0, i);
-                Rotor center_rotor = rotors.at(secondRotor).Duplicate(0, j);
-                Rotor right_rotor = rotors.at(thirdRotor).Duplicate(0, k);
+                Rotor left_rotor = rotors.at(rotorNames[firstRotor]).Duplicate(0, i);
+                Rotor center_rotor = rotors.at(rotorNames[secondRotor]).Duplicate(0, j);
+                Rotor right_rotor = rotors.at(rotorNames[thirdRotor]).Duplicate(0, k);
 
                 Enigma enigma({left_rotor, center_rotor, right_rotor}, reflector, plugboard);
 
@@ -54,6 +71,8 @@ Setting try_all_keys(const std::string &firstRotor, const std::string &secondRot
         }
     }
 
+    std::cout << best << std::endl;
+
     return best;
 }
 
@@ -62,23 +81,9 @@ bool operator<(const Setting &left, const Setting &right)
     return left.score < right.score;
 }
 
-std::array<std::string, 8> rotorNames = {"I", "II", "III", "IV", "V", "VI", "VII", "VIII"};
-
-char int_to_char(int c)
-{
-    return static_cast<char>(c + 'A');
-}
-
-std::ostream &operator<<(std::ostream &s, const Setting &set)
-{
-    s << rotorNames[set.rotorIndexes[0]] << " " << rotorNames[set.rotorIndexes[1]] << " " << rotorNames[set.rotorIndexes[2]];
-    s << " - " << int_to_char(set.rotorPositions[0]) << " " << int_to_char(set.rotorPositions[1]) << " " << int_to_char(set.rotorPositions[2]);
-    // s << " - " << set.text;
-    return s << " : " << set.score;
-}
-
 void find_rotor_order(const std::string &cipher, int first_disk)
 {
+    std::vector<std::future<Setting>> asyncResults;
     std::vector<Setting> results;
     // for (int i = 4; i < 8; i++)
     // {
@@ -95,14 +100,16 @@ void find_rotor_order(const std::string &cipher, int first_disk)
                 continue;
             std::cout << "Trying " << rotorNames[i] << ", " << rotorNames[j] << ", " << rotorNames[k] << std::endl;
 
-            auto result = try_all_keys(rotorNames[i], rotorNames[j], rotorNames[k], cipher);
-            result.rotorIndexes = {i, j, k};
-            results.push_back(result);
-
-            std::cout << result << std::endl;
+            asyncResults.push_back(std::async(try_all_keys, i, j, k, cipher));
         }
     }
 
+    for (auto&& result: asyncResults)
+    {
+        result.wait();
+        results.push_back(result.get());
+    }
+
     std::sort(results.begin(), results.end());
 
     for (const auto& result: results)
-- 
GitLab