From e1824551c22aa12061ee905196df3a328cb77bcc Mon Sep 17 00:00:00 2001 From: gogo24 Date: Wed, 16 Oct 2024 03:21:39 +0200 Subject: [PATCH] put pdf --- .github/workflows/gh-pages.yml | 6 +- .../episode-2-proof-demonstration.md | 22 ++- .../latex-reverse-type7.pdf | Bin 0 -> 100847 bytes .../latex-reverse-type7.tex | 154 ++++++++++++++++++ .../{latex.tex => latex-type7.tex} | 0 5 files changed, 177 insertions(+), 5 deletions(-) create mode 100644 static/from-0-to-crypto-by-projects/episode-2-proof-demonstration/latex-reverse-type7.pdf create mode 100644 static/from-0-to-crypto-by-projects/episode-2-proof-demonstration/latex-reverse-type7.tex rename static/from-0-to-crypto-by-projects/episode-2-proof-demonstration/{latex.tex => latex-type7.tex} (100%) diff --git a/.github/workflows/gh-pages.yml b/.github/workflows/gh-pages.yml index beb5151..aa53d92 100644 --- a/.github/workflows/gh-pages.yml +++ b/.github/workflows/gh-pages.yml @@ -10,15 +10,15 @@ jobs: deploy: runs-on: ubuntu-20.04 steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v4 with: submodules: true # Fetch Hugo themes (true OR recursive) fetch-depth: 0 # Fetch all history for .GitInfo and .Lastmod - name: Setup Hugo - uses: peaceiris/actions-hugo@v2 + uses: peaceiris/actions-hugo@v3 with: - hugo-version: 'latest' + hugo-version: '0.135.0' extended: true - name: Clean diff --git a/content/from-0-to-crypto-by-projects/episode-2-proof-demonstration.md b/content/from-0-to-crypto-by-projects/episode-2-proof-demonstration.md index 460026d..dfd09a6 100644 --- a/content/from-0-to-crypto-by-projects/episode-2-proof-demonstration.md +++ b/content/from-0-to-crypto-by-projects/episode-2-proof-demonstration.md @@ -9,7 +9,7 @@ draft: false According to the documentation and as it is mentionned that type 7 is an hashing algorithm. -A secure hash algorithm is an hash algorithm so that for any function hash that transform the original (plaintext) value $ hased = h(plain) $ there does not exist a function $ rev() $ so that $ rev(hashed) = plain $. +A secure hash algorithm is an hash algorithm so that for any function hash that transform the original (plaintext) value $ hased = H(plain) $ there does not exist a function $ rev(hashed) $ so that $ rev(hashed) = plain $. ## 1 - Analysis under mathematical thinking @@ -20,4 +20,22 @@ We could then guess that the researchers thanks then that: ![image](/gogo-s-blog-cpe/from-0-to-crypto-by-projects/episode-2-proof-demonstration/theory-behind-type7-hash.png) -We now have the mathematical proof (demonstration) that the algorithm is vulnerable. \ No newline at end of file +The question is to proove that there exists a function $ rev(hashed) $ so that $ \forall plain [rev(H(plain)) = plain] $ then $ \forall x [x = H(plain)]$ + + +We intuitevely see points to split the issue into easier pieces: + +- the algorithm threat data block by blocks with blocks of two opcodes (numbers between 0 and 256) knowns bigram. + +The algorith treat bigrams as following: + +- the two opcodes are both xored to the hardcoded password. + + + + + + +We now have the mathematical proof (demonstration) that the algorithm is vulnerable: + +[Download the pdf]( /from-0-to-crypto-by-projects/episode-2-proof-demonstration/latex-reverse-type7.pdf ) \ No newline at end of file diff --git a/static/from-0-to-crypto-by-projects/episode-2-proof-demonstration/latex-reverse-type7.pdf b/static/from-0-to-crypto-by-projects/episode-2-proof-demonstration/latex-reverse-type7.pdf new file mode 100644 index 0000000000000000000000000000000000000000..133589cf1c0bdfcd8305b40f1e09ec2bd495e0a5 GIT binary patch literal 100847 zcma&NL$ENwlD2tl+qP}nw(%X?wr$(CZQHhOYwkZYJuwm8i>_5xMC~dg-^7!o3L;{( zjC8C}r1Q%o>rl)D3gY#p2-gp`!9 zkAyfWUe>hGwg2IqS!*`&=*?5W1M}Ey?hrp`ESx^F^lX$uQ^+HkcB<=X>Oq~0pEUh@ zQ+LdxH)%u6iy9j-fGjoDH&3QLrk?j*?+tm?MDOj|U>zL)MdbtYP0UL<}IFtprQ zBx)Vgml;th{6NRQ) zE4OwTI`&_-o@oc+B3EE{X16Rgv$zMQOq{;bs)T_7IuK>%2S>(dm1_eBYVblFMr(%YP=NePFX6($F&TIxX9IH?4Xr-&3Gue7L!))JTB7x zEYflg={&cz!4Q(v7F~@^S*xGT7PX%QwJ0@UJexa(jkl#-c`C$^6ZDA>W;p`vj{O`@ zA&Ee0)`QUrBA_q?6UC4yJX#!#i~`(fu}yY;z9fl2T&l{70UMygLN#kb3?oEJ5!jMs zLn6gpF=KSKNgZH>kjVKKMVMWF_GX#m$)$@DtxYlkjSH%nVM>#sup0y-ErC%R2(#Bhiz`@?iLL5QwFHp0|GCZu3+gknKNd`vTKF!g?8^Bpx-!1e-O=H;o^shVR1 zO9?mBbph|gI<^v$QaIEwYE4>GENM*&J$2j)ClsTNsLbIGr9HxyfhWGvp8d(vD%8%i za>rsDxC%V4C!l`0&NeBZwGhfws~lXe^I9$8iwzbC6s~WB(qu3K5)Vs^T`tIP;Lh&F zCUG)x0WR=OBkGMb&Ac>1nTDgOQsvM>{S%}x=dp!jU+(VnerZ`3(ptfT@QETMlKP4D%nY;_7Ryl*6}cg(K|FI{+L)L7E@a0u zd+ZspqoRjMZC!v4J3!!<0NrYed;IVB>b~eLba(8!OZ@tZt8jUC-Ye1zp7@|*T*K;x zGr}(e6lKR<40bUuufcQC(78Aq#!va-E-osd9FZG%3E>$$6|x5@0^uehCyZq>@kX45 z#uat})-LFZP;9wTShS@x#>zP2ify#zW4L8lsAX;dh7rb{2k~p)7!Osy!-xrKyJBML zB#^O_e#b@FDPh$pC`X3NPU0_v3b3|Ej0TB_D&P|-XQI%HB!IVC%_cg zs%6tuTxj;m1JzYI6uV`uN%ePUHO6TBw|oA1GU{PDP1RW(7K!>@ug-e^QC|Aj{Wvp`QNZnfWg8i9_}I?t^_CdIJu zDs>E7!1X_K&6}l7#-0lon>UiIOC*2p&z6|)QEm1E!olRvt6#Ha>S#JD>H{Hn?Ml0q`$V^T_#L_fqC4IDgKbcB z!XfhkvhaH*OG9t%7YAOO&-cQe<3_^j_m{Wo_ibGxkH(~8EX!XzFD!R;k?>-Rk4Ysr zIq+&QkMY)dudxB%;Q`Z~Kp)uK<9O~gQ#~V(4T{qb9(dfdp-jBAQEUak9-%#O9eFb){g>GDNoNuuANjcII3w< zP9<$*eN2(lC*S@V1)M@JB-sSByoSJ>?>El7Nyc1DVlXu8A!&#P1XzFt57XRdF8Ifs zaIL1P@0Z9TT|H}yMsif=+Hz87D5bcUGs}=(&9Lo-+sM)?E$BIt~eocZ3gN9Q(8vKGYNs(==)zGT>FB&27o zm(bAc5t@K|-S2rdUP$gtMbf78v{IO;9mnR+d>sg{v~k;9$14s+veSHo_pKK;-Rt6wmDB!9x=mBopD95QesTN_y6V-RsVNbZ z`q&@+3HtmM$hZ8W0_!>1H8inuO@Nca*!ukaLBf^Cr#W#6uhft!ui4Pq5Sda*YpgW# zJoRx}m8Ftqi*_YDy@}sb>CzGlsk>_2roMKU&a?7j3PAp^PVS!`%59f(Ts~LY_j(e@ zN+*RD+cI!x{0X1&(!YEl0_06i!nZZj06u-EqFT<&7bV&`M2 zg^kYui$>`Hb1W!|sL+=ek3(Dx%PR<$s-M!L$t?_;W@$>F{Liv%&(X48$pIG6&9R5& zUuktq&=r>ab|qt*r2OmGiA*NVz0=OW0DLU_(u}?=^rX2%Re-- zbykIrU(~B$*N~^`rJ1JsJxqaTXF*7OBO6^2{27XY^)Qom_&)mQFGuXlc@QWPl`QxX_5@@wk|k1| zC(dNuvLk{-bTCiF+p_`VosUgdDbN^TUlSriL31P@2y{ zkg8KHZVZA!A3a3-q3D=}!rfH(blynnL7Ob+dV(m$iOM0(^J>jS9WGO)JE_(ZGc%LOWMFRU%1m{yP?sn@LymgS6A*gk-V45R*PEg@5TJ~Jg z-QbOp6vf_hOhI>{(_DOpAM*QKBJYIR|5sf(_OK^_3-TAzyQ2MG0Ww?0cwQ-(SKo%3y%_{eUrvT!xEyr zhsH-b%Npd4E7ZQ9>fpQYeV+#f?|Bc=aYyMNm)}jW2i04MafcspLx%wps~cW1K!(T5 zjw`I#!@WO&0rH>#Dh_80BLPSgjvOq;--8B&<={jhwn)PqVjM}}qb%KFDnD=(M_?)^ zf(o&)k1DSH%SYjYEw8-)9mUg5#{&&?n# zLu}O5uynex+iA4gT{%KTCRg*4x$cT;0k|qs=~JQzm^hA@xGm zw2hTei@rUbuu0pNiFhh@G|OG#(z@22KDl&CsI8GI_R{eZ#Ld(`y%}~wwXHp%Y!kDK z9Goz9&Icw}eUNc;^7TqB=sG4@Ly1SCNrtapyfo->@nuon+pZt?V?xE2B=b^fa0E#) z?AFHUO#6p}p;4#Jm?kG1+sxxub|y7(Xk{==>yW90*Kf|gNw=5Wg>?J|0KXqhCe(+p z{IU`&dHgz2FMGiqp&S@A-+hr@rPVeA5rsb}{tNE1@|c;itg-PnqrngJ7!zEzaLlP5 zH2G+SY^q*|lRJqw3+(_&Gi`-`9WI688nDop1uxrX45#jd0Ht1Yh@Mc~Ja;o}Kz6SLe;S>enDd$+%?#e* zcA`agS7>V)#LGT4lF3BkarNlbof+y5{ilW+n_iL;(Tl}5J!Yce(;@RX9r6U*-BQF2 z*Mgrmt8=?od}V5}BJvXdwOI2BQ%xUN#InZQ1(7p2^owm1MLiPnfzjD`CTD*CWMHf<)HtpSKJB(`ZmwN5g zgwg2?^8vaNKo?qRhz@QO#MK!@f12N$4vc#V^~tfEI~>Z1lBtV1GduIu4SJcoBKhMdNAM*0O2hY! zm!W59yr=}|rC8?5vQkJ@Df&b?U6UB;xkV#2BQE=CfE5kXv8dx?+x@oBA%pI;^e7g^ zXPBrep6nS#=~E}w$^TMoU;Ecf`B*wJGXE-2gE3p=+*du-(@0me;)1tDeoGM+Sf5qH z>BcYTpP4Vyk8Kuy05%H#5gpLLXySd1G*VduR`dgp z4jx@ThsT?T3mEKm&$iqCNd9~XNYuE5)rnFhVA^=cAEiM=%T5=-fD{~i8ZhF-3=0fG z)~x)>Ra#iW+-g?V`vfB->cyZ13;9{Ee?u(*kdeOuk4K7A2Nv)Ze3WW`*%Ul9Z~GOH zKFtv{J*n-o+N3|1`vV;|VXF8)sO|sI;$mZG{C~uj;D6EL(vY>=Vu0y+Q-41N+%HsIuIZ7t zf-4+etI;iHokHlr|ERx?^V-TIKGPNm#0w$_mk$O@(&KFi3eqMxLuQWyy#&U%VzKJy zC|)-XMJAxIMRPW`w&;6ZGVM~e;J5M@b{Hbh90hq6gVLc;h-a9lT=yMI2Sq~Y1bI;q zBAO>x1~FyeC|;Z=Bc=VP?2nb*CxTGfpH<_FiU6cAjIuAAIxV0Mf5;iqL%kmlUe>ZG zzD*xxRN)6-1;!&}$!v%p$^VekRF7?>d`K#OQ5K}i&8g)XV$M=YisOeAn2p|><{MR)Kk#F{n$G>ZX=;HT%}y2VD8*$ZPS>vqQF*H=5 zC3&`(^;_f#H&T1%%l`@qgyF#n0;cAKOQ5q{;fO zt$Vwc5)HWAWgVpGAIH|8k%e83Pj=o9SiqM0z<+ml=Kt>Qj0B7<3=IF(-(@0TXJ=>p zuiJlK|CdR?!Oq0|zs*5oT0vEktMcXM@Avtg%V!<>4sqg@BRG)_Nali2+YR!svM3OfInXq+WLSz?X`=^Apiky zapV-RA*OHWMsUGG3H-Zm{c|h9?w3JKLz}9y{#sI)vT*At!zGFI^4!*a{zy*Qi-90=)LPP+-p2KArtyX{Xx?AkCBr=K{7?L{PS=Vbp5YyJU! z`yCRPl_$OJg>#>F65pxhL-s8JUHcV?#rG9cgS!F!*~y?nb}j|dOwV5Ek3qO72YL$j zZz>eW{OCJ>OxfLQo69L+h+yA>{rp%0w!gc3{E@qs(P58ut%YsjlK%x0xE+4nrA9Jf zbG)}rzTeqm1Pl0gJKWNJ%z6U7KkiH*!aRHq8Tp4{gNg5!0Ju$k0JqwM%-&(2bQz<< zAGh7nC&?r13x0=D0^PfRGyYXo#c%^Tl=bj;w_{)6f5pucBG8A!&Q7Cji+zU(zeJ@z zNoi8a*S;7|K%Tl3sj$)QVGfJGNe6ySSfkqI`Uz)GlD)Yg&D2pf=8jJzfYUjjqfwtRwayw#deCj;-hh3vkCB zZ#PMARF!u9v%NoA?wl11iRZd?ncz@w7EIQ(KR`d#xtf-A1d|~_hei7e5~d%dCoe;W zZxr`ks2FkDf4>uj?tWs`JdEo|f7YZ}I&-rsGbm&rEEDASVBi=%q;7lBim~2oD<`t<%VGd;3lt|xf;#{*t+(!q1HljYiUJjSQ`eCHk-fMY;;{>)uy6Ax|QH*UO}Q z)TDjEzB?8+W48omDN@Xlu7AMeebH!R85ou|y?R5s;LP~}_X^x2>`b6qXg@_p+_s<# zNG%dxUbG8b6M1bK-rq8U1xvpDfQle1owY#Y$rE%ze!>n=4y4p@ksAxlLngzoA!a23 z(m0P^6rSQ?6)1FtZ*Jhyxk+;gTnux>3daMNX;Jz_P?iHP(PbZlUHF-!j9y zWcF~zCp5j)u)qrAs%1n9g{*8;E=cA^FU(K+_S=d{otx8Z6A$??8IPor5}D?xrF<_-5~Mu&fu~n_iY<}l zm0qAw2eYZylwqrZq8yEE(nhC#*zTu7C<#m+i{q>Bvavphivzm~673rgNPQ%Z$PJs# z9EAxy%+T9XePY$$LfU2DlIor7ilP0^K`Z7q5}eNTtr0vGnC1|;yY3j@n_h>(7NBAN z5dFnk^1IhP@>MGQD7UL{C|IeJ9Vw{Z(95$~3iKOz+FiwzIwo5G zhGMF=a>|uJFErc=p@xRV9g@`XvVljzmosTiF{zNFn z{C0sy{VT!RHu%ygHX;Stu>twjINcG~e>4b`y6~?c5IyXh@+lqBW*P&hdSdJ%R#0u_ z7;4YfqmsXfl)I7dTsl0$MTXR|f#rtR!4eU;v382@#ZoYGmvclPO{PTAdDP_b#6nO8e+@*)zpoIswgxG)u_;t zBa1cG8kZyS@ac-G9cthLxN4NT(bx$H z&IbDwdk1eDSE5dgX3^+62t<4&)=bU=74&zX!Imx@>(*5EF2Y;q@uwe1veW2gMcf7I z9j+cq73?l-)KJC!3F^i7jE1)3AWsgbq%}W-Hiy|ugaTf&o2tmQ278CQqykDWR+ZEn zjAIE7278CeXEUj8&BW#&IO`$Bg8cr`lf*hZ(hE-P(!%HYSQV@PTor3UROpRKAD*ad z>tcHTbVfYJiI023NAT|NJl)_o+U63^=oCcw_(3pfxsB8?vAI; zkwcdH<%p4WW70<%)%@;pUKWVym|fYP2)6z1fLd&logVt1@w@znut8lHlsby!;nX>O z;7Ofq4_H|Dq+!luZL~}D=RBEhq49ag0?QoyIhR*>bLWb+zM3ui!Zhp({htl@!$Ir2 z(=5Y+U~jW@ZGF>AHua*Bav=!Ia^v03d)_@;0^DG` z2GC9>^e#0YC_NiTT8S(i_CGc{7ktYp!IIcjF}FS3>lu$=Y%1BziA`>`0p+VH#?`@5$P^B`~KLCRpBQo=@g~0A_WzMnX->H>VXU9GXo(2vO%$;_>QNU&2Bfct6%zv zAVOfZu9u`b^r-3&HTe%^B5b?Ii8JqNPzHB(2XMLe@fTQXA8o4oIa*b?Ln7Ki8Erxm zImaGq>UT;;mbE}dEqZAG z$XxUUpN<~(pUR>G|J^gk0|wP?C!eo5f}i1}FzEZ8-u)(Y#_AJyF#~qs6{iW{r>O`Q zBH2F3=x6u(&5n&GB;7zIlRJVzFhK_D1@@YC)l2wZn7C}ZX(9lpvAGkXP!5Z;a`3Q5 z@We#ovvA~o`x&D9WS^alt6)?|HL)M%#p<%Y#NR`{ZuJ<2 z4aB36##4Q@m=fCW_bD#Ms^{bNt>o}dDGD=?1*3f4Gd~Bp6St&&y-UfnPCT*%6&wGe zGcLJII0EUK{u=XSW@4e}n|w5_jpYP0vm4v-CEDjQACeN=gT7wyW|GW}b$O_BJEr19 zd*4KBCPh;vAdQLDJ55vYDC*65@SmHqyH9SZrzGzIZfGuQ%EFnC@AZd{Yk)HBHbT1T1M8~Ywxs}tA8t4e%q5Gw#6UB=9QEbe&3;~Bvt0( zg)AUi-b8%8?5|rRJ(*;dA&u%>F4ivk^ zH9arB!P)6I{G6%DUIuk7Mz#jYv&7xm!i_V7U1g%~S;9+SBlhvR%CVjwd}obO&!~E& zDpM1!2|piHkL&pYDe0)OyYVIl$EDf9_~nH3oF5h_RsxWS+0ptGu_V(0MIR;T8G<#-WSxBPmxmh^-=^sSIT& zqS%iH|JnK!)pJdr6^XnUljeR0Mu{vH+!)|p`Gf!{w?;;Nxdw)G0BN&BPts8E&}k9o zOb1V}FdyD&$46klms1**D<0EnbGviH({ugsvMxzRcqn)`?8PL5_MDuw(#dJM?8D&8Z;fRh%!xM$N)NWn3XE_6h7Ilf?1?qXZ6}bu*hh#3S<)JgMIPEzuvh>cVh`xn2iYb;nQN9v z>XG(j1#;EYj?zglD>(Q}DxtW@d6D6ByCz5`qZPm9=%PqqpiQdHi+<;OBgT%;N0r{5 zLWaB1fe{`?0y)7vO*7_70=3-lYQB9o5A!vf6H`@1!|FYLf}CKsu!$H*c2e^wDRi~+ zJmaluClf9*%}avfe0MjElzvdOHaxDaQa(z5dG9S879rY^O-|{9ev}$OKs+Yr|Sd$~aHTVh3KC zG2H{`E~_~=7AAv97U9L`sqv6-OYI^PsAp2gs-z2OWv@e4Y!mLPO9YSc<1UBe?KEwt zV#k9qI~gzteQf z4Gh2C3sJ{Pmvp1%cd+gd4|$3mMX#xjDI+arFV@ne&5!5RF%RAGq+RJJlRYJAr3Icz zxea|Dp$-^H|7u85P*f#pcL|w}u-n}fQ=a|9XR>Dvd{-gIM_be{p`#HsM-w)!WL_-` z^b;}D9bDr*l5r7=>`;c3-^XDAbZ0?;Ojm1-kv7`woT+{pTx=@Iw0q}k;HhQIlf<4h zG-<#1D?cr@_AVXRiH5B;Q?KrG zM_LR<#m&NsGYt0YD$O$=IUHK=cto)P0b=;D8`zu3buWz=d+-@+P?ESZTXa!w2y9gA zhSTMk^8MNEc`Q5nOKV#sX64gZ?I60u%(}|7EQu-cAN4JngqoDjRJwwVHeo_IBf)ih zbvoT&1nlYRQ?f@B6EKtauH9fe30@%TFqQMkIVEGHSh1sE-#JDjVY%G^s;ycso`6UA zL%I0)`-SG`*){z4yjK#UaKef06>>J7)9v+8CQT;F+;~M0=18vz@3bm)bOMi2y0KN; z5|T6`%O6U0-5WRViEy2frXf?V&j37-=fcWibCPVj>|%JAclDHfb3JcNY`2CY${}G; z;)kQnd9%p!bVq0v8`a@24(AK4AuPs?K$O~a`Ga3XR4m_W`73x(E z`#o*u9#{5!@s-@V^bYk<-#FIU!$S8g$*%Dx>pOSpZ>5^LDt=RvSZk1e?;`S`d5XMQ z@zcqmcAe4QN9(27^kG0pW$hwh?Fq5xyJeSl)Vz(%ac!LCqW`*kT%KKbz9Qfg#iD&| zo3h)?K)Org^aWQgiuSrX#AC_)iLFdY5RV^KM;FEAXbC5RLIcDM{xdZtw+wb*HP()O z>gw(?K5O@soq6?yzKpS2u*R2Q3^WfarI)7ACtc(8sn>JmF0Sl;5#2#meyM3O0({o7 zCGXo;Ejle3P2<;YrWQ#)RD*ncUKZgots!NjXb(HhkbbwOJ@UKL_ zkPP3;?pK0zS{$9lZ<|}N$Vb=b$(1X@-1AJePkj#CBja?dTtqg_5OQhVd>8Se5L=>- zBQxT6)`3RcyrI@2_ozenO~UZGF07c)_@5*}^gLTAk~&Zn)m6pNT^ORX%aPoVABp2b;X)f9F+8OLcp ziKs)CvEliQ#)#dv7RGxok$WK=eSB5d1w_*|vr2T*Yp+jCwo5yrWGmYBxU0`7D__IW zstUP}avF3kNSR)hlEEUl9&(^fVZH?sn~I3bh8|J?mv3r%+_g#zIqT=3G-azptsfT6 zJ1Ap@nP}2Kzk@HC++^uc^{D4a3cYmG%`lUyVPx6IO+H7DxT&X!-;7SX?L>Wg^*CMN z;pOA-V(@;_#QaH49kYH0wM-%P;R(N86lKNEpu6O+IH6)iAu8{SidIR#Bu5TdigUhhK|-f zcq1N0Lc;WZnn@i@xqGNV_$4Lbj&FHu2ra8Ok7l^Ba;m?h%Eq4GJxT1fa=_N>h%`}$ zi9{PP$rzx@HBiMw4eQ~I4UOBP_ANI*7DuFhcSfQz_1vmU4q^irr|zDp!o$+|7&iy5 za~@hY-`_!}&5tI?#?k0d$&*v>#bn?VbdO7k=M(_j(Wh&s)~+_fT&29e_Hm&H6`9VV zBXXoRyOn7urZ%iwb)G$-hI11P-!|W=btQ%22T5o)wWH(g108Z*C@=T-vn2|uLC-C# zCV~m$RBH?FN~rfUR%0JyU}9=~q;N?WInH^5uFb$qC9~rd{>Xw|>VY3ZIxFq&f(@pL z*R%T#EJgAD(w2(sFkbM`64Z4I1!`5=9}A^Rm`O7xZV_`w&G>mLtA%y<@$!UrOSyz= z-3oMjQZxF|R5%x~4f(FrY9>!7;VQSBpJq=YL>! zj}5Y%Evi=)cN_uvnC_bf-9}-O-eoh3=K}+_v~=@>ehW&$M)kM!?iGH;2*KnZwNxsq zuL-4mjkpHgAxB_s^d!}_jWNzO%l$gJnf7IDG$D>o0PZFP6ZuPPL?uGG_so zF=~l9E)N>(SWNX=#3Xg!w{U(Yt!4L%^$pL>7@;F;ZAKXVoDPLP2fY%TZz^!1lsRzKfrV1-ZPb4q@}@_MH&qYJ z6mcse4kjcmnz1!h&eafF&rjh9ro$DApoSgdx%W4Pd~z@!X<8>7j}|Ibb{l$IF0@uK z8mkA!K=)#r4!lo;)>G3uf$=XkY`&PcrKkq1Ad zi?=)Lqr^uGHGPo91H{fZjt+-BUi_0mD^cXYLELR^B`wiUKmQ?Q_>e}C) zGF*z)k-yjTN^!te8w}+$KC?EeSzhg=+xnC|U^Uo+&VxX_F67~KSfu3@54+yS2T{{Z zqiZ>Hxzwlob`XVNDI!X|EQ=nE0=t4hJAc*yf*3Agz}mo+vvW3`O2GPhthR`+ z02V)rus?EG*9Jl5VU*wj=K!V05K( zu|Xbs^}x8LqQ?5>R$*1;-c_IsKR8b;Br{PGDn2rxZCQEY-BcHs5O-6MdVRTYvXbjx zjAH&o{E`3BGHLWRqn7SSH68%&s5Tuy;33PX%aW=(KjTPgVmK%=nH8174g*o-k84h)v2qztDyw4t>i`+7I z=9{Ql9*||gv!XqdPGXi)o%L4zV$(st$4x!R6b|k2r9DNURA^u!`iPd8h%(3OyD2b) zJSy2IX`Occ><0peTGP-AyXrt1%&ouTFqMmreKE8Htc513Rvu_#($F?4KM!V9V3qb; z1i)(_!!8KRfishCAVxokmPa4$vg+a z<$Xd{>-rF2BN(f9!Gz(f+t^(XFEli1l5d=>LxPUGgp5_p6f@=puPD-;hn>UzGa~7s9X2E8T?!G+krQHMUbZ=t|}(XtkfcPk{UBVd(>) z@+I!^Q)zE~Xw*=}tzz}PY6&HkTR;M?YOTDWic4NZT;3GaM7kf#{}x@T+B1*H3TQ597o`joPlCmy47-3>-2 zWlzfSn3*O^R&w*Z+{oK92K0o%UrOKe=Tzc^i6oteR0R{48A`r+4;G?e)p4IP6?SyMerXmw0nsS*) z1(!CPtugd`gCrl|ppQYkv$zRE21zNlT?efMN$dkf@c44e*%Jv;^1b20*FC&Po6WMxvxJfpFPi2 z&s;P8H*Scoc+0u=4XtO@I&pAt53lA)!GL92_!*V(w$R z?C>F&!28fa!^OW51wjD;36@eQp~8qxdyM_wIBoz6Ab?0|VAA4{V1Pj(AtgWL0|*O$ zs&Vv7h5^PXhSyyj75J4gfMbg}XkOQG4=Y{Qux6`G9T|7(h>AUGM!kgb)B+-2EET;Q4ou z0Y9RvA5s0_?@gQl`2hEM_I}-dpn-$F+(G>Y?P25)XaFIcz}fk?2>!jDu>gzs6W{;? zIDUwNx4ZVu{Nv~#F5sO1At$840hd!?012GK{63$+i1TwL>;Ub`zv}Qn{Xzuony{u7 zL2nNL0|=tk^fM$V zEb=#yO(@}?9-mwv+|B`T20ZhyY<90+bjK4#A8f`ka4ZfnoTfj`i~!QNho@1wqSKz<<8( zEbl+{8>klzdEkE)g?7JHcFNanq0>GMIvMn(Q8HiY) z|KFVF-_7G6`IEllZ=KZNUgWaR_Kx3H$1l;h-!%bzxmQ0vm{upB#52bE;KC5VmwqMZ zaoxsB2#1gl&+l4g2uQ)0Amr)w@0^%W&q~2Bf;cb*()DAS(eI$F-%KVq3K*lmm$2Us z9e{6s{QTegJTRE6@E*agx#lmM;QZ6mU9u$u!}h~kK4eq`umA)Ig+GMP^mz&f0H}z3 zG4b$UTRdPO5CaF&4Uj+^I*ffFaky_zMLUDQJRl&D@H|WN0XrGl2e?xh2O)0!-@f_J zH~5=?zWpCZ_+J{}#RvAEdWr!)2oP^=UrMm;!QIPU7hn!15SdnbNRUaPPM)ZXkDW^A z(O4fR-CM5l5>HwdevAM4>xW=u-pEcoenTLK`XtsZxxSA25ts6J|08nC+HN5JR)XQW z2d1;h+q}7BQ4EL~O?uB8XJn5zi6pF4MekS7 z;=LVS_3t~Isq2z`m7vbos_F}hU!z5$tosRzc!cl(3@0BugO9e zcIp?rM?~OTk|>peTGb#WI&*+@3)$crKcbL-dY_B|fSY@RKU6!e= z!(;b?LOmZlq(*kva z>MlVyd_lV^pYM&=#+>K}C7kpjUnp8dXD>l*7HS*RDstO>bbqEe4-zUGU$1YRegcUq z-LSV?FMF1Tm8XluOqG^dtqNm%C)3WfcYiY@i?PB!z4EAG6h*!QjsD1RpCn}=#X|pF zr9Le8I*h}ogFcI;yyGv>NmfOzm)0lm^HPn4+R zAeGh}!_=5RMR#1YFR8GTRV3#6es)>57E2O%2EQkzG;nShJFFx9)|YvTB87?UA@|T5 z=lz_)Mpnf&j{5U97Z~izV6y`~4%N-;g^iPesrM3puOg$EYnPV%k~v?NEnC#8teZ=G zHO3Nr4!mHlCZ!$U>1QvjZk7Gy*&UQ!3md^Q#n~o>%4iRS(H=oh^l1n zvKX%2tFsFAeU|C-(x`tIXNenP`!KB=8VE?%x9%8;=;Qdq93NioggDsb-tHw?(q}1q z#@*E4L6zMG)muu0WCj(ya#^aJy_q>%naX;VM9jA7OGJCZCC>Cna`)M4JnWa=+*Z(H9^y9p{}Kf*p+8 zee}T9f`;XRmwXmZMpF+@zdH5xl~ys`+-55{+sYiFR@%42=nRKU2=uTbO?}LN#sLbb z2B{on0DJ!w3qGfQdA0R_G(wI_M5rg-9*8}!wZdMq)7g}we23D27rMaB5)>6nS;PrUl9(7wcdprF4nmYf$k*^`f^y&VqZ>=D)^y$K!a8==>ClN=IG{ z7fUC}_ZQ(R-5<~bbxhRSd)FR8z9miSy&>9+>Qg)5t_Cfh z$ag~SD5__V=Ql()JPrbs#gqA5Iy`P_%pdU(Z%EJPW)$*@Za!ebzjL0TdtT3*JF4%J zTjVu*JyZeDVnD^rq&<|of_I0*CTo4Fnr*zUv^Dsz0_I>b|IqCvVlxnxOr$-X6 za~D`EV^ukxkBrvX&T{dDvMt&vR|q@SYqseUe}|SPTmo}Otu~1|)8y^qYHl2QRicdn zdP_BtEkqOWE-dLwLN;>rH)*>U0cbOxsSLRdVo9PQHB~8#*e0bVaLm}d9)j=k%+~D2 z^?^vDcaewVtk$GRY7UNPOG*)CW|v+v;-|VTws-4}{x8DLDOMOBTCm5qZQHhO+qP}n zwr$(CjqljD=1(R!nPeuJCT-G(KD6mWch=skt!T2!e20SuGnb_INU({C6n1K$5r*Q~ z)CQRTS3T_HNvf=!J~p+@o(_u6e$N5OsV=4iwy$lZB_f&h@DwJd(KrwS|pG|8BuUy8}6AX7emzB`6LcT?GZF?`Cp|1Z0 z9L^V4xs_gWc?ppZyXl211MU-umb-qQ_HrO`tKh$|YJQDkb@IGh;+~AFfJAh$`lQvq zndEL)`HwY>R2Q&?wUWJW6m~>)!P0{;JTeN)Q&FiK~js*-^>7udE%4 zzHCPS!bnQzIQ=sEo)%{5=kEoDA$TUMktr;F*StjcO32Y!uhHMZF>lw#M~9ut?#C}` zmiqq%6Z1v`vLZL6M3=@5I*gLZs_?_N==I>eD+!p%0%gC%g`w1KK33a7nfTAnf)n3u znpVT?(dy7IG^ys!`|2vsYGz@*IDAicR*BUx?okhSD;wrzxL27Mc|DAp+VlC_!wm8p zDeqpm=23zu)h`W|JA!zU%3ltzAEVPkcM&((X&*nW^=EI`)^O)X-A3MBB)b(=Hx?}1 zXz!5IMjjN^zzF^eeJAhT;saHGP}{Z+!nb=@YCd_AGibKstS>iU?o3{ucIdE;Z%=Lz zC*ghFH7Abo7<^ECv*eFc>Uy_{!J}gNgcTQ0vt{bNJYn|Er1h-rtvju4TF;)dt@$9O z8e6#e2-N9V9!X%<4dU*NXVEF)AjqD4wy1Quod8n_k=`Z`?w-$V#JW={?nrx^aQ{`d z9co>j2V2+nnwqyErmlzw0n!tgpAiM4gB(?Gl(fHXGE|t{+01P2X{wcMq&Eu%idR&h z&#EcHGBgn+$7oeF8}sRd{TCga4-zJT=N`PqS%H2`Ue1T>kR4L>>^GO^W=!o(F(lLr z=U+BqY{E63&P0vZPUs!3+oGQ`z&EM?^0G)R)6ud;^GM7r#V(bj%f&`s_S;yye|9p| z%!68bIYc9;zKzs5Ep5BVv7=lj%vuWA`B>(7p{V;~xo}0P#~f{V^+FEkBQ1kh0Gjs- z^7+i@Scy{|BDS6QI9Jy(Q2^$Bn&=L-(h@1LZ~Stj)c@fa!tizlNtWhusyPVz>uTe> zPsVsH7{xaluuvX}s06SL_Zo>k(>ckGPM+~g$Vd@GUlUSn8aUjfhGBk>0$4Jf(4;(m zLpi7mXF-bvd ze7+iQjvs+^F9qdY3Lw(Hp{b;Imvz@Hkv>=Q{ag-h2 zj;zNdVQ#6QU6=nGbNODi7=!5%fEdrzKEwc~W#3~(++t8&6v6btAhi4`yw&(7icDRi z+si_5_*M zWXhIFFW15Cf|!o3$c4!$ffggdltD_lka4~>k+Jn+dwCoJcf0S@8cHw1&79gNbb#BJ z{f`pV1PVnM0=xVrm-ophe2{+^954Fvjs1V=r%)&}GD}VO8>4S?yrrZDIRB zI2F15snEyMvPg`^2>JJ>W9tqg`HGkMvQI0 zyo|G$X(?O31~xu+&t7Vlxyz8_bwuaAcLuBR2j-{Sx{9wGA_IKka)b+S7l5TcMxT`i!%r`2e$^G@KEX+MjjM zP?V&~OuTa#KO9C#&ZiE7#c9!f^aoE?8o}4_iPl|)6X04r3tK{4;L~daRRHe467N4f zXE{P!hw!FQhG~{)f{-oevsx_>;?37FWUN4~_65S)m`~M)istKUIr7~x@sr&+=xW|< zJsMN2(<}?d^avmkZ5Yg8Elo$1*dyR7!T!r%kQz{nD`$9tN|@hF21efOp#!?a+Fo7c z8)a$$-o6q*=Cawj_ey;`K6eh|5|nTiM$lc!JmZu`k8_q_(Iz1W8KgU}!np?1)gO0w zAe2CK;_VWe0A4!ul#AwVb>swd7(7;RpUa>)>`ocTWf_|+q;}L#-N>ieAmX{^(8#u( z$Y<>x+>RAm(s33FzZw?Y2sS8~B!L)7NQS&kwMjN!>2fy(kzQOnb)!KPhB#tOwFx| zG7)LGpgU+>y?4!K%38_Lfdgygzwl5nDQ;utc4|Ua?S1H0=nV&-1k17Zcw5?{bygUg z%-JTK(bv|mk#(puj&edRu@cwS=)=2E9{KAu%r&&h${k>}tfEd^F!wzaN6Qqq z-0}yJa-n$FHED%(8%cb|7l=4V^t*qLhI$5P?;z-3F0MhMz;?cP0w>$g3If#w9ntKz z5>Yv0t~)KF8JJvejF z6OUkW%S<%KIY<+Ndq1k{Z!nS=qj;KlplY$TYs@PxfxZAm+ra23UA&r+S(62-+Vu>9 z_1h5AROZ6xv0Rn4V#4?!$&!?AUlDV+G-2lB?Ok5434J(H)p&dfRCg6iX9Eb87nJ(=y zoXFx>E@J*GNm>IpP{zbQC0H- zUD!&HXe>Kgpe0yx^+Co0-Rl@Tc|Wk%W=5wER@PsCgUWu7sPjg4SxB=+K~NTXT)Yf^ zmU#^L8cxZ30zX7==oD~LT2mApNwr);uE``1FWL#F`Ja7JWV7XO>f{14)38+b z=kvU`G=$HVE^oR)Q;;zkTxDmwUm-P&ay0vI+n#2=Luzxlk(yN1%&61OJTtS$rwy;| zpT5V z?E7PCwNvZZ{1yU&gG!Q{3{XiGDi$9AZBIkh1 zqe#mH*1e{3at3=e+voEVFR1LrjpDYK8Uup6&%6>X&5LwzC|HaBBNo(7$g;hGs5qfN#CnlqtquyYqcDGZS7iX}J zzK6BHmi^_D5-WsaNRJ%;Nt|j!i=hXwYIioVwVUDw(=#qBetiyJfvDVpbwku<%XmEMH8`!RPCGgSM_CE zQ{B9=sylfUXV_eGf2q#ms<}Ixf^)ftv!#4TXodR{1u|7NuY<_Z;3CL`CHc3dT2^`x zaEwgr4SM7{{jZAt?fSiY@t#7jG%H!AHVI#8YLDC}Dt7Xc1sW{jgffLv2`V#bWwCKl_vf{?DeV};6M=qt zzaSm7Kf6o38i-Og;|b(&=jOR~^dfUGvNv|~)8z+ILZjP9VYty97|+kObrn|ut%AI- zqml`wMNu54GNf&_Xd;$y53C*_eZPt~(ng9nO6bnBzs_l4pzmS-3We}924j<4W(B?# z)hkMPr)RkpBM8C753|wHNwHs_kaLBD&7gqB!oJ4EZD|@+FjTcOV=oWJo8}n1-^}?| zGZ%^b%H`xXyL`SH+JbZ**bqLz+Uvh1$@JQ2lA`~=P4!c@OKkBo4XHZRnuqe3VIfR9Rjb2 zIgxJ5-QW=57QSSRa+2wwCG>Ig&BlFWVn{kW!8P}v&0g&ksQr5>fxNOupU$@o*yq`k z%ZFyu1g>#}UzB{PH4E4LrA<&@5|2Jag1019saLK~O&?;fuHIB(Z&EYCOcQ6ke%IpX z?R_&nptxa688W^AOpMsa^Y3dXl#_IBQRy9FW;_%NoE>6TI9w2zJE-oDkSWgPOxdlmI`^K2_Ml6BHzXj1@^x|aG-__>pqcPXW@5}p*;`npQcDVwn-?QwwUFx1tz zG@3LjxmOncJ$lfvZ@`o{3C95q&#Lo*BRiII-Pu~WWlEbvF=XhGFD}wRCgJ0k)zuxcEL6XKc7y!qMfwOLU zQB+1X-Jp1C^f>sEc(3(y_VKi{@E7eHP~Fo~Cfdc|lGiyX%y@gqA|Za@(YQ^2TaP6z zI`bmcg)xE;^85>cy;tTAlc!!?3Bl*%=fT=fs=eq zOXg)Yc$Vc&G3}qXb^*t6km-=;EA%#|Ac&O(KvI9gO8N9l!_thC%X4p=Ju41D6zdoQG1fGg&z zxf5!MIKn4XJuJHy(TY(6eRFM#<~Z0r6q4m!``N`5w(GmXbUjTzPCAoknrq7Kh5R}6 z@rAE}&?HX?#eZ99GI6*lBPd% z&QMfUOWjY$z*1Jtgfooxl%$erVXFv@m%&ommwU6X4wlbmOF5AD_1#m|Yd!q|;0qp> z{Xc-@|E+cV4@hz{viuK%WFlZ>W@cskpXvWeB>&@BfJWZo z?SR4B+1;h(7&HwS-2JaX-qsBUfkWU0b$55`wBbCY zTmi7SdZ$NVa`#|QY;6IU=F|Yp)Bu>l;hD+dk&y#JBO|}~!`k3@02qbQ6Cefh011q( zfn7q%5n5ZF-2pN)xqIuM^2GsC8Ce4|v$KwwfgHVY%D+( z8d<>rb9es8K~VEMlaq1biHobNse=n!iGyo{GXYp}2T+eq;1s~PfN*sJ$O8DKz$h@Z zfdA-X0rP+gtl*r!r3;O$FORLx0YG}7YXrswu*coe&9RXSfDe3K1EN}R1Qy{ep3)n4 z^ub&L`q{w;W(L0Z9sIrj5Ft#S%9{%t8*5v03uCz_#$XJfnt*^%NRKgcc5==E!q~|C zF|f2axB9-YyD)-kU}E=Re`R(N2nfG14c_$*_g^@%xC5?pa4>NM)%;f`-o-QCY|+{o z5nEf^z_vIzhyD`tF(v>lzWeTOWBl>!N@HuQW6%62P)v-CKE*M~=G9L|Gi=L@ZQ+m0F>RC0`v-& z4ZPud$cqc36AVlaVxHf8*pL1p@h~$FfS6o^FaTu*+8q2v{?dVE{f^$9-2pfOTQK*w z<1+_b#LxTZyX7y zbO7Ys!SDTHi%%jvyW{;mrnWJ*f_@`j$NTKFU-ENyfA4~*_{&4E9{2}SZuGU&Aqc$4 zmtQe7GGq4pGyeJCzVYk+{U22mj&s7P3xE{n$spt+~2+ z;RAbazZo`s^p{}`^qZ;USpYe;{q}2Fk`KQ*BD67j+go~>v4N4b{g*K>4w-M94k5CPuc#8iSPx+>QWERqZl=Ds z9rPD^Kb`dly|3Q-mEMPb_FMlw5B&VUA>yR}zE`c<-|gC0vzkBduK)9`(5U4Dy^q}J zi{3|m&}KI*2Q$=pwV?C`%eGyTQ=`RU93_q+kq{rA55I)8#`Zz?;#p?8%X zf6)8N5AVo-<^3_axHx;*_w&(*y&u2B{(3J01=tH1eui^v8SE29d=*E1Y8d;ee&#vw zmozte$)SEd3h--|0zO*)#Db*U){1R9MuqvBLi0u1f+N3t<}YulXKuib#oXJpyp1D$ zn2m}%JKHzmnLDH)|m zIZT7NP`bRWrJ7C}AUl`i*;8`1V#8J3*XtblPVBYD!0kmYL&~U35~d$rcn8Qj)(Y$4 zVqxivpOF3HpVJ*6*Ez}I9EFijaL5sjgDVyE{-S=I0|MtrXx1R~AaVYJk^6mv#Dl#g;WYXGq@|a<&k4kQO7`1)oQ|KHe1+1luKPN&j#K< zUaPC5LY)@+$d<^lcqff}4cDoP8GjyQGw;QV9KCc>E5oZ^M{Ct%w!-Rm6I*Q)-BZQG zSwAK}>{>D@wD18O<<|||L=;%zg}gZ}R+iQL*I^Y%JaZs5Dung_9=7nW&I)Y7F{pc_ zEB#lF633?zJ-`G2_v#jbt8^}i>pxxEF~=9y0YMxBLA%jh`sh20QRG1g?|pL_QgJ|db1Vyu_#oQ1%Pi4Q<3s( z0F5jT@rvUxrRGr}6(cpBO>!e*TW5-wqnV^8INmU9gIPr|V9l1%1NXQ_0)+JauyFiM z_=X~tha@oIS1>0x!9StqeOn}Hup<1OE%-zLvE}Ctq`YxxZ!u#ilNCe8*ON2 zA93hw$4A65W-G8<;7Ozb+z!t&S=Rvpg}(%e<8V(cF2>s&HC3hz1P_kuyFGpzgqPdQ z`kbLR&oVHbrq!yqRiS>Yt(|mNTyAMUe+PPSZKQ=e74>^g!dX@!NzLXZ{b6`yvU~0` z^f{5D^Teuhjd9Bs2(!sORr3y=mc>&Hd3o=Nvo?3MiAS&E-OFXIfr5T9qPJtKJfDW! z%BSiunX!593q>*q+L%4Yq&x0keT9PVI5ckM$!jO}1U(Dox}&r7fwv_&f9P&tz$Z2;pD_$+VQcu7q}FgBsi- z2-Ng~y!;ab*$jmamXQ}1USNqvP%Kkx9tP|9c)nW)p5o0_w<&*xuz+IL@QdSbL;avl z+%Oi7FRYG0!bbgG{5G%iHTxPK4@}w*;GZldsNV^rzN}YM@QE#IbL&*JA2BgH7 zSMU#qZf6zrMs#Czv!$mDHx?tpU{<&$?&E?FD2yM{U`@DI)$2#G{?I_1S;jPm7LS;* z=3Fc(lMvY6tz4-NvKp#9C)z1XQFXZ?E>45?A`frcX$9r;B(p3-B!yOw4JltWHzy+7 z4Iw@TiW*w^w~-9B0pHSUt-!Kw2!Fh44L@duGRT$(Y`C7CJ#~3;R3Gr}D*SKENm&08 zC~_D7lP}_&Cq`dc_08i)sY}=P&h7wBglq9uNg={)%k+1dzXGp`}e6rO+J~V&b2GUo>A?CCf3v_go zem2hG{++MWN7d(S+{hoExc5x*U-ng99#2w6im}JS8dO85-BV5M{{iLt3T>fCh>2n2 za71ql?rDW=!HPO#=r`gR(-VhS%2B{H%#p(%Pny)#gxOH|)S-}^7yD2Bz; z*;^`qjbW7sF0Hlchi^50t)_B4)XHM9>KBN+C~k=5T$+IFRa9(&~v` z+2$^*NiWZLS$&(*d@ovdt^pLShzwlN>PIy%ng+VJ%9)7|ms{&qcb1-iBUVqxaqre9 z2S^p+RJC=A`5x1?p~WKiO?f%)irQ+khsj@81UwZGbm*D#p@WfK)1^M+yID#jHelK| z9GPzjt7wIM?homYl^T8oRb0)#5S0?M8NY937hwvf0k;5L*9lpQ?d z!xAPM0lG($X_p1tbkP_pQiBnR?iM07P6)zhv;?IhVY=-y)_fa zbfJ1mwlDZN7L*}Nb=|CS+bi+49Ysl_6Mv9U$(*f?Ki7La0Gk-faVmI+tlgW1!N9h4 z(Rlv*ePY8vAIs=xPj5Af(gKh3-u1LTOVo`W3H|6p49-2JXyS%|rs~@Z3|{9eC&*H; zw7TF@DD!bMC+$pApj>Nl;Jov{XQy}De~KD)k6b-+%0=Of=0xx!7cq~4VIx9c(L?d6Z=YF;yVei|QzBv9HhMg4BaU>1*oTP5>vM zRfdpK#GM|VK_MzFtQap?uU3TADy7R=k8l*rQ8|%Avq{IIEV<+HUk392IltNMrSUr{ z3wx5L^h*^a{{4EPAK!$nrm|+(5OLEMWWRb7itt~1vX8NZd?08i5aJJXBuCQ6m7=q0 zAZ3?M<0MG9orjtPd5=mr#l@CN#)5}Eajp4{q|LUtH+A$j=Nq?JCHw9V!wSXC5?qT` zU)6k53Fxvh#1}y`gPSZ8;c~g9r+WeT_Sy1N0@}doA+c`Y$Tr-AN0FPCSv1S~MMwCB zS5v23ECqHqLT2?eh5cZ0@X%+7#Y(j2Q}#!{V#0yKqdmHD%TM)LpQRZ(=B-SO7jyCs zx>aX`ba*H6SAxG-3|2l(Q!G}MNQUU!ls<5FdjAe05Oy%l07##hA6A)~ifv_-c6`#D z^zV%g7zzN4d$INjIK8DKxRXd`)x;&}78O`k)i)szF-D8KPm%Fv-?&-#5WF5JdvXs% zw(YCLvZ;5kw^?a-=W}T!b%9XFo9td|d_}MLpL3-ks+r*bk@c3b_$h}lqQ*SjMU6wR zwvaRCG@jRTv!Fa2Dmm>E+z+LJB3S^>Dt3v*~U05Cx7#lbQC_!9yj>vD`E@r*J*KSi&7TOEs#5 zyRAWQxwNZc9~0U4168K#>LvpmLZiW5;$|G5VgAPmH;VlbNrp3&FGIR% z7I$U{GWv@XvcX07FR4TTx*hxO-H~O3$bXPI`P<@YN!qUFpL@u>oKjxG@>~i|VSfMu zo@U_?xVrmpD`#$vsW_VV)w22^PS^+0=IOY$-h4LpDq9=CNYXVZudyIPjK3Yvp}E zQcSM?&h|>m5A8bPzrB5lEU}>nYQInSa1c*d3#!@EN_RK~T#p(#TrKY|m$7F`j>Y3R zT@#Grpvcno*h5l+^CvFNxw<8DGyEn*rIZvFVaXJ}oYEtrz51M$Bi{f7wVBc?ILB{8 zEpfrtZxeR9HWJY(A;?rQd-Om8?^9)LyB613si8X>zn2dJO4PJViJ18I!J;<*k`qT; zL9esGQN-kX>!+<`hhohLlYjD{sf7?nf@zy)ulsQ4Foe|F|EWujpG8C;*@)h(89&r< z{*}Qf(J?mHTvu0UxTtq6qXxWhHhoFTz=n(mkuJN_vQ- zs_%h};=7qXFf&tPThtFh|b=Ox=bc zRw1o+fQ5tE99dlBAVT6Lj6~bj(n!aI*zhgu#XeAti*Fv2gfw@^hpZTY(z19X`);T6 zW~8gC!;(}V3~fhDNwy)MT{z)R&SefEv5SdI%-mF8AEozkLeM8-GI9JRmPpoKyR~IG zAb>C4fsONxHdyFMfo;=~g?eXn53s=4?HoV#!b+DxI8v9q%=AZ$;~`l)Z0zW|l|HBj zrORK@x--3Rmd{@`6`8`?p}`($r7jkJm1cCD%5?0XHyBqGJXmg5B@Im-Wl;_P!}SPKI8=C$lf*dEO(PO5tovH<6^9?!?6kq(Yj<)Owutn6OJpV_N%!^P=~U!U z!MUXnz8oK>v2XK-wi#qcEfc|>{0w<1H!x0$T?XpOTds?-W{X@vM94W6>L|O)R1zEN zAv1^TMv1Igzb126AWh0SP)2ngfPUM(h~5AzBt}a-jed3mf7?e^(6>~wE=TQf6AtYe zb9`_?VBdOCxP04vD(+LS6!eY0)|@y~425Y$(AYUbf zhc&KItdUDIM6vitKRA_&C9`RWS6%{RVtHZ0ak(uqPncA1B{so9Lo42PLA&M|*v^44 z2nmA+zm;q-?TvBC9ujsClIZU)#2GF+u;ok2p6~mgc8?jlIjTHcL#zBOG?;uu^R9|4 zKQM|?mC-GXC=JIskMHSvX4ywr48sQgW${gu!aQm^0WEi{Ro|=(bNIe?nFZxxf%qBL z^0kYpQl=+1l^UXHz8y+k_Qw}@j=%K?B79H>OHrPIaMSGuE$m-Sag=-@eNy89BA6VJH>kt<}{0{Cbj5$i8+fF zU9J&z!GCBQT2hREt8!9z`1lAPO)QnIgLl^^d3Q$evmvj;yR>CZ^R%M)&lA5(nIis} zwFn1~-kqR?%A51#PK59cn5;UfZND!k%J=S~);L9Ya$V5nXM}O60kPjRrS`ShR~`b+ zt`Dd2I&@fc77dml0jch=KUjt|!804+c{P;W@2S_t3MN!KhW@Uv6-5P75NQCE^D3|w zBUFdXS3nHT%~kf9x^}HestPX>gcyA0#0oCP?$8d}!ru^`>NTUX*E_AmNUI?!|D{w0 zj`+{LZWU_~-}~60j4*@LE(&@>W>Rf0EdKD6LtS*KpIYEoX>FR~4IDOjcu=NGOcocS zF77Ad!EZ28)7vC5BSt{MgQka0iXeFz{ggUa6%7oh>Ib|`!aNpuz^chQq@QBn~Y1^El@-1z(NhA=vOzw5{HJSO~4#2X=0l}(A9?9>s`gGQ!FXZ?2$i5w%dRh z2aFtBXlFj!MbZxomwY-^#s`7)lAW`} z^AtMEnA3FS*r|-)*tkKgO6lOTfWRcsU59YS6^r?>Gs1Q`5Dp6J1P<=KZ5_%h$+m2mAm*jq+0SPbw6*GMWB|_XNA@b_H}*nMCE&D#drLTA<9D8X^V7uxSXaqQI7BG-} zVe@AdZ63-iVhhv3XGx_&9#D%PGR55504S#Iraq9P;#vl%^X}eZeqF?~IVDK+y(O-q zD1B7n>AdS8?#>rFZ(zO36310mhUgDsiuK=Z-}<+FMaC{vn-gC?_+XbHlfvhcupkOd zi_ZwO)^K~?U`3oFJsUH|MSaimZ0edwdKVHDJ}ZAJuS1h+)R)ei1Dq)Z(u=k-#Req5 zF2WG`369@p8AihS#Nfq|&)R+3zqu*^_?c#>2TyjmFx-;Ysfwf{FgehTCpPL!;Z!dh z=kx(25O)`bHb}^vsaJpMjua+O$_cmc=Zo?w)PuT?l|D5ZTmUrxcaXCkmo&Oy(J-A| z)_%=eXNk{9`@Ux)M}v8!RVDL!W8Agr`Au3{WR?sQMIu{d zdt)#2Mb2lqr&{(7SZ$9-Je-#Pl1q4DGIU_9d796d$3p!`db|EZN`Q#)J%ep+G1OH5 zG;T#}a1Ap6J3tEt6Xq2d&d{xlWbjwj2>D3f$eXmC1sRX_8w11C)_{NkFpb{|as^O6 zT0~1deZ703Q6$B$*J8mPtj;&|G>XE70s6&up^t85`^*Qk^pTvr^Z^+0+6(Id?_fyB z-D+`>E#^|Cd?><=@YB|G_kC*QmV;C&*ru+X!F64u>?$n!eM4a7$b8YdY37&gvROab zMZ-ciS18sQxNp!LaQd#k51oK@cM}-TeI4rXX+#{CbA;jh{rx1$uKFK;Z2w6^ZK}sV zRoHurX+UL5LEe=3&R!p8#LmC?aN}11-W@@hAreP#!5H}w zI64re;y-(P%L;#wF^0I^CB7nU{PZ2UX=@;ux<`5r{+r@0HX7ok(xx#TANE z$k4L=%%?Tp z?QpEs4J~CNEDObARL_vho>o!Hx#9Q+zqR0|6T;jjOlxhimMjzuSrmNg6_Ko6G?0ZR zKvTt;UbzZD*NY7%AEccmYc8@e$HG4&l!2AvI2 zk{sdF_8f0WozYeD>_Dp1p`3`5CEV`UWu~9BZoc1QD%CSYYR^VzWF71*jb2DgW|GlI zrnFFo*Ha6jSJ-1|^v9o?jWt4|tPQ&J*byhTAHZX{!H8TY7|?quVE*QK27~aA|}j7My_X{l~twh2}sEQy_8+g z_M9K)X5$!?kjY}pn&Cb%RreKMqm7@NCEQIFUf0r!XRoQFQxrjcu@T1G`$yg{A`GKMd*!>Dk#k5P0oUdNgi5s-kIk7#bX+q1PU@qJu{5`x;Pv+ZfmwRnX{s3sbBt3o8(etNI? zSk=a}Rjvo8J^c6jop)4O&krX?>e^oN>MkE*N6BPWTPL|ZVN(_nLDcy6+hFU?;dZoG z@r$mh`LAA|9LU3nN3%CpvC@L;^kkz?>WKoqd+yL7E@>K$5Lgjob;sm!Iyi2N=-YeP2IL0I2zs?RQIsHw#OWMuNx#Houoz zhr|7%b5deZwf`FobWE-gv~f$#ZDfnj>s`R21?C5l3y>opx1k4BpJ3pcCygPlJB4tJ zYj~UCv$LkETdRS|;d54d6W58KZI-U6#{rE;ECMZ@9A4n3ln=Y~HQ=pvQJS%v8S#Mj z>|n)4{ZaQO>9_kn7)vfRYmiZI+d{i`xd`%|AMj2hPKDAM=*6z>X~EnRm#6kfCTy~W*oZXWtG+%6 z@d`f~Ux+mp&!H-Z-j1@`P61N5HF8#QY5G$tlFD=7zQoI#e@0zbHu zM(|oJfZ2W21dHyEF<l7p?m~Fv|@CoGykJ9fB+b7UrSzHr2Hc>sB_Ty>*6b? z2{s^sU%h!>Yg`1IGTV$GCa29;gVvJzw>|{EecT7gS}qO-3#XU%E%z2B!Mn-qKT$(7 z^-T5Hv@|Eay#bWR7zri!`+uV(>cex(EZh&UiFOza%o^ux7c0e*9oOq94~OpR%G!KK z_8KY?eBTmU15h{EZM{Jrb=yO_f3{bnC@nLUih}6$dknclXvjFvPhi%H2KP7EmFC)A z?ZfGr^4?n%7dUkHVUa_^$SO4{I(DlsV-PI?4I04Ehl-nXJ`&uj&t^{DowE8cq}StOUr?r=-(|Vc@-fI`= z)duKk_e*3ttu%W%co8jWBk{{7DV>09U$+WL3glMVC@fxn)yOVTMd7vR-l-jlLGII) zAqpd}FF*G~z}qn^v=$oJj$mlVp&iqbO*e~o`K^1}u>n6%ScB7-al(3IxRyPV=Z?>dw_7966D{YanEDk%5 zu0oQ>Czy5|x@$ohqh_i67F$&^)j@f1`*0`BAViA+UEH)jv@t~%zG1EU`7(xBc`%H9 zX|2`H7S`bazn~mMyBYw|gi(QxByRLgf&b~-*2A)LJc|^-|6!Ix6um!lG(Nf?f5=ae zN~rp+!C@NNhr$!%m#KX!+!u{K`;S~l)|GXR)D?m19^UcE4Gv|Lq(W%g8%+IGd<{gv z5%UeQ!3i#OXClXJlCY{TGF~*v`mqA2{{;`%0f)uwP2_jbZhqd z!hl;2ikI`LPgLn|{AZ*W5Bw@Q5H!VxUh%0nQkwZTzj@h9ldgh(Ck5d+-!rYnDA%NB z=qM&r&3!_OG8o~?tI%O&7MzDE3sELl1$5h*0JWvKL|>gwJ39I2qI=z)6HwL_6rlFPk}BXa5ydu^UQ>NOn!nTa6u zuO%fiqk3GgsB7C)0&#;U;r;fK;0OImm{%8hXbqWuCQ6?>;qzc^N`EAWPege|h5^~U z<4jT^o=oP>=0M6^D655%CFk}YA{FFFUYNWX$yi*WDJ`onc8;KBxyFU$%moK*G!Na2 z7UGswyQ1!3Lo1y(i!xv3t!zg^ZwC?c-4>>7JX$EX?Fpn^63Xt~j}Kn{C__ZRsD~md zt*9N|F=B%kap2(@J@Yp*JKqS!L!mh>I+N$X%ruVLmD$m`%UL4x{Z`7GTgFbI-MUEH z{n^zR$X$HlQCbMnrvLlJ7RCQ+8v!ifH3mSo+qs)9IkX^E>QYv&7Zr_DWJs?Q-SNL4 z@M-MH(=V%^@|*Sc21Wn=$4obq8~%lotMoMlBaSF87j|1>ZUsvfBXZJCGI)Uap40IP zO`(Rn8_*SzawDpYLfUjg{DY8B9y4DH8Z+sjJ^+1BnV5B484f=0YGxcA|H zGF3m#2QAWF4(M&5LaK%=lcsamN(f}Lw=%jj`gp+1BFr+~_RjP@bNWrD0lrG0vtLNo zE2p|>nfQVhg6=*E1$q87$u>i+1&nl)`ZnqE9ar z&z(l^x(>KQYCiz0I!m2GP`x$2#5W;yzLA$aHQ7{RIWz1pZ}%&S$Rz!N4!&$NsmdnQ#L5%`eGq2hYNQk&(us z8uTw9Z6CDmCbogH#$QTlr*iDN(~Mqqtfg}2&SWWWJYL>3N)|Cv6XQds(xY<~BDx8g)|?&Hl@8b@d+(CJOLty^T@e*3m68 z2k*lKOfQ5SXJGBP8dUNY3YhDN_ui!IPwZQMY*$WK@iIBf_s*vs+u}vEm{)e4e<6!D zD)r3rA&7r}P`+C|QvY+x+PBNUPS7B2R0}CPUx}FgnZ&ls(`6N>>`?rG(9AfzKpT!E zIU|_WPCUtYghb&SKG3#aiwj*pyGzLDe}@|w-#CQQEN2IGwgkf!HV~AR&ypN5lMm*78q zF%uk)5wE_U9wWg6A(JC}Q^HZ`u~F`1Q$s@UfFMsYOB{ zm1!!fb#B*v8`k#arR>f%{8*`Omp7@kKg0Scve9!m6Lgv!GItLm7^@2R8P8;S-V5+7 z-aYZq_reC5--?NlF@e|GG_OV?PSsA7e`QYnS2nb~9vSe|C*-gvpSRIRIX=g;ng5ECh`pU20g%U$XPqgoV#Ta zu-DSh?M)n4-;;b}i;nO16=2zONN;gLz`vIrC8SDmJoRzUJaI>y{xew7lRXwSaO2ZM zXiks#efpRqa^{ZvvRuVcvu!gzZK`on-@iJ3;c7y+qP}nw)L;++3aj4*-3Wqmy`4P<|gN! z_xC=JtO{sXq1<91S0Xb9c|tJnS=k>ck_5hSu(+2euM5b3E}1z4NdlwNHJZ8duq|}8 zP{w~;|Lg)m9ae#tGP0!JljuI&T&NKHu(4u*&Q- zxT+E&a5`>345hb_^59uqq5j$0wA+2mw$_OJ*J=+sCqDUd-%fNQgiNPbrNd^)FEE5E z``wW2TxIodvkRs|@n2G64zD9PU?&YZpA$r`?aE;XFtelj%XoqTu%^|9m&Kp@{n!At zvLzI0>Q?VHyI*yd>7~HUrczuYbaJ35td%&eN8U_8-yG_16?ymFeiabMU4^OS!luNp zry?Hr?~_ebRK)vE=NF>!HxM)8 zj(}GF2pz*a7leY$h6m1r!HrW28Pk&8-As^049Y)gcRPxfsfJ7l5evpfU8yDTJaZq> zM*a5)qlVsz5Qt6di=Y&f8b@+TroJiO^{bw`6~YYjFdxYXMx$fNpgeOVB4`13W-`gR zI86i2o&H-;BzC@FlZ4uI2p6WXdq0s>1_4m?NljlxmlW6mE4fNS^y{F<25b0@PySrJ znPf1;#Y8V?3;0X?$pvS#jUNhS^*JLFSTP&yhwNle8y$Z1{)PMS&1}=#zX5%GH&M02 z=4Rss;Fm$`@TtJ#kEs(@61PIF9Mov`*iJU;`a7JVq}LPOUpaH?@|0G1@x~=?tY|n* zvl8?~LFgJTh-h3tH6!dp6yO|`EdF1%)Sy9VJD!}sB-v5YN<%MjnEdvzFT;>AL77{8 z;9@_~)cGia3J(V1E_>>`LLN1LpKDbyhc|1i^4?AYSjcIOEL_I{X1T<{DJm^rcOppM zJI^pd925{Uwjk6Yg;p;$M|=Sxicj)eX=<2lmFlN@==>3~A0tb!?XbAgepJ|-&Sl0T z0>f>AyAp*k&+~#DRDOR|qbGj##!t#Ff7c-vb0Eym?z4X;E4W?+yenL3mKp}MNlF@i zO?;9DoVlx(a}er0u6mYM1CLG@b4wU$R(zMWj*~Yb^5&+X!c%ZMw3c{{7Ej2%YgYb| z(Tpv+5^`4Nz+T>Uy?fV^Fca0O8jRHe<8MeA*i=o}fqCJAl+Exfu|ekMi=4o$(=#Tr zKXG;(-tFqS-&o&N`tGL=?IUIQrly#0P&nGkN^N0h8y_ps#z{wxa-oAaWI?O@-4>QO z9AB;Gf=oO(sE}4G$cIi%Q295>b_M}5rrY#cV@C4(vi*feSo-OY>bHc;;{0Op4Y^PM zf#Sv0drgNh1+{=?d82Z)8Q{2~Zr>X8kCg{ZGV?X^8!P)jxaKS6f^-ycaNI7=% zAkdU#eIfTvxQwKBhQ$SS1bUYus84V2N`VGP#W2c$;G*ro}Tx-QLPttO0RRx$MWE8+>l3AvDQrE6;^qBvoqRtC>Kf71x&LGRZkZA zq`kTCijz{v9$`Qv-U=S-Ug-n-yH3Vx+^Wn3Z-xm66^3)`<`SDo{Ta6+A_2K$N-=@Y zZi-J$+K3~Zi;r)0cNs^{cjIUL*LcrNzXoq2f}ToiNS8LBlJ(eKq8!X*n-`pku%!DP zS^|Yt_2`7u3R10n()AT^bJSH81{&dY0as_phj247OsrI=Q*7=Gd?5wC8BWqZ`*1<} zqoJ9m8}GgKB7)S%q-_Sibdg_XW}a$UMNaYVStuHZ<1cQtq6yPETn2*+pk~b#x=Y00 zxYp77RUSiyzY&v?#w`cB@m(!hc)b?Ilc&gph3btG{ZQh-a$k{q7~6d)Dv|LLMgMRw z56oNJ&7<~ND3?%Qa!ynDe3rAw_K1KnJ=SFL0Nnk)gd#(CsiGMZ<4^S3!hfpqaJ{^s zk;U$EEOzOJ_pV_YPs&VviLLk5xL`%TTTj$(D7&naZxyU5`8V&|C4D-BQ)ZjG4m+;O zwXng{!{$bpQbDk#Cj2zHbVQyTKgoZ=Rw7BamaC5uPE4ZN+-|jYwvo9Gp zImlMr{uELCyn&^6=ft6JFp0ehtK8LC0`YL(O4$ZHf(}@2oQ;mW%&Fk&3=_naMf~W5 z?6QZ)Foyjpx|Q3B(BED=LoZ^#eUjbJu|WCp=yB&xGr2FBfnII|(LJpWD|vhjt~^P#Mk z$)*FG4$cZgl}7wJ5{+b2H}Z*d7el5dA0S_kd8#6Gf2bTeNbz-UO{U~4NHJhlbp24g zf9R&ZX>d+VhV6w}j6OpoMCw{MjrODMZVY#z%IrHbMsJFfm!&6LXw{YB|USMdJHMRUSJm`q()ea}IkT9E9 z(~&D6W!!GaKITzXWym}y7s*x52I&?7=Z*Euyoyn=1zYId*r3PSbT{wfK5|IHXy z-e5A!^yndzxzyAr#OgusFZ@eZ)nF%jI-cxS%*|cW2!;$DAH7if00^%0=7J?(E&mXqdoMW(J|It!UN{J41~8RIXb}zg1z2% zbu3Du6Ql>}1YGHov>ufy2Rt~}v6p+6?WRMF^}ju_#3d8wwE1^4NEQC{t6#mO#J&cr z+mck`-;D^sK=ek`acq=?P3Ur+wiT=NDNGM*t?lYgmQ`;y81rSg+(ecwX0zj3nYF@< zMz1j0Q@JadjJxObWT?}meNw}um^(cP`Oyre>rg)bn_{K)GZjG3=<(7d(-H5NRKZ;N zJs0L{At5G+eCOqXj(m#vFUIsw|CP@*S1RTiz)hN3D9WrBn~FcAwTXfp;kd|sZPFLl z^NT?(MO)O+nHer$jcu3~$=r1CksiYubMA~Na(WtK;3T6zXRdboXL*Xe$exL^FE7Eb+C7Lu%_D8 z_azw_P_#4btZj_ke8iVJyOJ4R2JnA|>dpNRHA>F^k?YFB`d_`te_U5iMvnj5{r46n zJ14{c7H|K5v?!hbab34J*nSZaE|3bt=?J^Ixj}(|!Z9#RAqoc(EZ{8=ED%H!{8Cf| ziDaQ5#7iKW4*SS?%z6F#(cEn{tu}jcS?#&$uJr;vcX?_zwn17!Bn87A2R}GL10A!n ztbhS^_jqsj@OZZm5co&Xgm|C)3(FGN)-H@>U;hIY=N9B2@5Tns@IWVv0t{K^(Fa7} z3nVTMM?y0)3A=ZAjP|WYFdze$2lNuW0m9M_Yzf6Ngoi;9Yk%($w82eq+w#7O+-Erm z0TdAl;{=d}9ODw+%45^#5J36s?9Z`#Z4Md={Dj0N54CWL|4%ZE8~48?!}Rp@wsno% z>;u!fk~i6>duoF~v~|o!a%Nj?0{#J@OW(0N_y%E5Af19hZV;GD z5Fl>7lXw1`LR&y?nV?T9tUw!dh;O<2(fq(!{=G90KnD=tom+bAy)c6Ny@~y7Y*1zx z3|o*et&nSi28jMG2@vcHIOEVjgEs%juLd{ao!)iim@uGPyWn4@@DLQ^7a)CZzW~cQ zozXZ;;O8^f@FCxp@uzC(ol2^~n-j!Y*@X5*+&A>TF!Jo-)7$l*cVF!qVUJo- zo+iCl1^shj2f+2+R>4SsEFs%J2cMlFy@Y_o*%8G3cm22k5%z)v|18N6&~>3}!uxH0 zYQ43lzuH>FwR_>m;$2Wu9T#(0%El-{-$s zvmGFQIz;~{xi}0U5a=MF0kub{Ebu?+u%nZ%pl)U-!r2ea^DgBNf5=b8LvO@aFEph`pMLLlRqyvtEY20& zzj0(VdvZ;LqirB_qMH#Qz;6CX9KUcSbbW{?$4{#o8gvg1m`2-oc3Qgt$W|AK-<7-@ zX&L*FDr97n!y9orzw4l0AwfRFuc4FDb*XWxB?Y|o zj0;pJ+_n$sIMKs(xAt2H1O@{AKJybm0z$a5gE|1cYx{!idh`T@{_Gha?w`1deY7Us zK>fh}_+kLj28N5({#FLok}X zsJYI&mqfTpL$y28dPZ@61j7<3IZtEtwtqBhWae6cBkZyi^#E|C7EL^Wujrb>+xb;j5XTkY z?SE}Q7XzPnLr3E~M)b{LUqPMaGyZk%)yaDF$q)Tg8$;@EEtJ4;q2RJM_AaHXVBY4Z zw{Dsm!H^xJn~ynps(YZL7%_Y^Ml!x63qpD+9C!>9pq)ii?aRL`g^J@JkF`GM#_Plb z?6{alwH#s|qlxVIB?3e(PN%6Bi={A+ifpcRzrl0pF<6i*l-NlR)J%Z?Qz--B?ZVe| zz1Dmev#AQ{2OlipxI9y{UK#0uyHSgc6{&;_MoII#Fzh8QHWcmDz<(^_>^!KKJ`sNG zEZWb7rP{;+EMQ`Z4oxo@B?luyz=$){VG^v&U}4l64ufWj&8gyx!qbHdcLpjFgK!6OsraeU6y@bUZY ztc?6>9ZSv{ctS`iDg-4F`EmRlBVIc@_X0P#4mHDP3dHqd`%eeZc4I1q4sAT z5Hxdu9F@W2r1Y{kwC&>^EX-ybnpS@r_R$X>x*5qO#5VfW<*?mSy;j)(T^l;Z<0oOqk3ibER%}JWAGD(2--_Qp1ij@L*~J0=iBgoy%~fMIKbpVAE7npj_+W zuf40cKvSSCiPU8=WB8lTXLBXNhAqK6qDH|nRM(D+=`E%wQ9h_MNWcNhFrEI#v2XfB zJ=q{eVGbO9;ryGyWX>@}uSbSmD# zyXD{^d&&-$UGpOjUoIu_--OhFISVAc%2X2MZvz{Hp%1B}Z%E&&7^AHV&k{y{u3B*{ z-hrM{7B@dHg)E3woa`)5r1?r9^amE2+CV|0B6Nv}A=8cs01t@Vh2R8ob3AWk-bl{IP`2xHv7JR=%_$_Oh3j zBQ2N_O-Xy&>onT-$cRp`FHao`cAB&00Kr$4I*wHrPiv6s0toi=4sSs2AT#{D%m*wk zaYT`o_0b7+ieB-L`MOvs2jbjAWTCkhx+sjjNAH~K>uJe_s*(g~j4_l0Hvmp0z_6=_ zZ!9rz-OsEi{kej2Cl)IE4gn>Jy~K1fRsxpJ)71f$k%=~GAIn}yk*1FvgHXhOMU4xv zzt#-m{`Qpl$E5f*+bpp$c zIGk>h*|c@oKb5eNoH}*2oB|bBSWv3zOyio{mL2u6IKlpFV*>6?%(j4OI)zO+E6K8i zgZ2Aw0~l@C*Kwug*K14Tce=SnDJa=PRy>dN(7m%Wq%7*SyHSB;U}3j_<$AN5RKMOJ zH)x2ICPXS3wv`Ulit$6r>4yTF z&0gg?&djhDjS#WNmAeqfw#1SIr2vYRD#-$7uFLTxc`bi?1)@xNMO`v48F>Cv*|O=2 zYomOF{`d{4i1W5Jx?0DM6AZemH}4%YVY)+VJb}j2sZgWWCNin8b(!SaLQO4KbhfZ| zHIs{d*00ZnszW%1R2D}wbfY#(>TDSoHy_x!Dn-3T7~f4)(V;{xY7ut~{8AhqjoL2_ zG4A+V5_P=xgJUob)8|3jQ_Z74Wede8<{2;gIateGep{qlgvKH1Oap~P-6@qe@ZOZN z=fU9hVrZUCtiAEGW9{-8k!43(SlIFD1t5=obMo(B-9sY^okN47g5XQ$z`oWi9L9bA z$p@r{{Wb+`B+YZ*-F%m>kqaiveXYUatfR!5&bB$4C#|JZ!LfEVUDisq7g?)n98;;l zOo%2@9?l^iYydeTV?o-_1==M3vwxQ^*m^n&VBNgremq2HlW#}69-Q(grB|^@;*ZXf z=i$&eS;9};jnmH@$Bt-sYOyylS+Q!@+FQr@qIe!HP>9G)(%qBb+Lk68Y_n0(zPgvb+;He&1wEl$_Aed00;a9g^pcq2 zbvDsODTS)J9a7!cGB;ebK9<5L-5rCU?rx#=%Ur}C1H~)R3pxBl_wlM5#3^PZ$k_+w z5S&ib-Q!EMdX7F!l%l$jvXt|q!LE5z`;xmjGwg?jUif|e#ZI|552GtJBVA<+ABC@H z)UKj>2fpa8P+j;u$Utdeu4GGf-S6&W0XDNCj670|JX({#&%1E@GK|IJ{FfO`H!{u5 z8TlweChu#+uj3PJn1(Uy4rP=%ufu*Zjt9tiiAQASN+A&dioM-i;*{P9(R_xxoddfi$_57Eo7MWHyh7rEv zCO^mb?w0n@bD!z3y34IQR#z4?GYIb=N~{~nX7`+17^0F|2A-dL?ZmrTl=maFzMP{` za&xHacgLp`9_Hr`crYq^-0d$v}8G4H`*`7FV9=&P;kD1wOk6F z{e~ESSJmW-PwM4YZ>ebrXTwc;1u$#;f_U79E~N2Wnmuz$dL{gT@ss5gw79NYty_RK z{W8jk`vj45nhXC&^q7VtOV5O1nDyOXd)59#>@#ODB>o{(vl*|q!3#~WScKy3M9?jp za%N?-$JY*BfYO}u;GFkkz$m$!IJMxn~m&3wW5SmJt)BwQT z&8M7NNg)Xzjd?(o6aQrMmhZ_&hv3iv5oS!wR(Icg zUBp>%y+3%h;*lXnlr5MNX8tO*6R!Y!H|-mxmxQ>e)ON-|KRCR$}NVaM6%lpmM~eJJ4y5@dIU zHvg6gEtpLv9v3QA5PvzWfZV>^@hAO@h{tH63MV~!>O^&A39Ju6-Q5m7xdlPeudf%y zGyyH+$~Y5~dr|5SCvJuH=@k+x_p$%vNoUiCDm-h?hLkjgpl4S*riv z*bA0c(2l84_mE0ZP-Ar-_vyp~z7R_A)$UvZSd$kfcx#req-7OTrDKJZ ztJAP)i6@HByjrq${!14Y9h(Z&H2%+leVSKRRKWAt-q#LM@iOC!DEJ|;m z$(-?8{=>pT&xHFw4{}8m!#38dkl}9tw%VCu%-L2*r0vvnpYbbaTRdwq_+(m%sfqOn z8xv3>H!*+T5eU1pk35oEa6$#*B>+@0|ZmgNXR0 zm7|+tDzHk{4vr}{@bW3P%Os`9Nxp@{T=vO18`187_$c96)Y-)InC}grE&_-o1{{AR zEJXTj8zknQ&v8}(GaZi~HlHnEoV*_DJC9mcvF5Q->-hHu$d*^ugyp(`1TCI$q-!P{ zG--3S3LtwEG$N|nefo;WlMzs>k}Ia_#AaJ~4wM{JSlOcImT9qiL&Q?&vs0Vjs-G@G zLP(Pcrw%#WMrt<7O^kTi!cIGHIaR)2BtoaZ)#A!u4zMfNRL{H0@`*=R=vcWWY7X%1 z$WIEPEerz3w248Zx?>eb2Y(AFMxWIJFk-b0bVb??S`UoHersp-#mBa%88cWy=zwi9 z&wMPpJ)xnA?83@7oZces>r@(#{9?zyj6{R$DI)FPJj(vqDZ4{!YAB#v37aPL81`gB zsmC*Xcm($K@S*)_#iDa6BLJ;xE5YE=K?OCrU%r}2*cs$>yI?+bS@k}XgME$6!OM|P zO5w9YypNhS{6XG8F$vU5RgzA4G0cWRooX*z@li(4_sLh&bHLqHUsCPYl73RS3J>)^ z5dWKZh}KtO4?Bsp9R8!Vqos5zEQ&C4Lh-9IMAT*pd3{xp9Fb9b14*M)tC|q_p}W;Y zlh_y%l~$H*qsEL8PNAP@iFC@k!f8{2Ndm3bFw#C-gH&o73``pbR0p5`0aNpEx&BBZ zi*`Le$LLPnb_dpHQY_w#waUHtha%AVPI#$Eb97TF1;PrsOV-oPJ zEi0UW`QkxQ38>CRc^upOftuLe%z~Rm|5=ZMN*#YtoPfFowbsYiHC{{#7JiN_*kY#| zT{I=J1gK{p+J$7tChmD+s&_$?xn~_CquN^In7kbK0ffSz(AzuR-e8DnAtRz{wrv5sp_6i)6 z>7i0%r0#?PI@cHnmoIcCg9${z$sT>ctYcPS!IbsZ^qqIzy^i*}Mav7~9PNSDPy;>F z?v8Itr+vi>8B(O{Oeg8D^Y%WYzaqr#hk(hAQr_bom&35)2yEXr0!fH5`bAaj5pZ^^ z9O+L~QF=IWi|)GiPQ!zbyXaMdWePtfz1<~Ge&Gnulpbh0I4m?P9T@uoGFQ0>w_*gJ zFZl(1cWagPK*D7YwJ|LcplyosxE?n!OR&rTpwqd;RSdvX{o=g6_r$`N4NyQ8b$wyO zQ|j@mRdZyjfCvsnE97m8ngR2Ds=yo3$S96ekO z|LpYjQ@QV*g-BLoPiG_~ViX9a59s`qkQkicSlf6d_y*Z;BRj;E)W-U38LIx?>*wgmpypQUa1&i8H!jWeI zII*5{oR2}+see)Ni$h}EI8&&5cIPy=L;sF27w9+PI5F7!X6R9BhSXo@&}j)l}w?*C^}!WeYn!uWBYMG)}HP=hu4m8Af21gAMIYM+NZrA)4mbI&f==R z7#?Q{KZI!=IJpy!MgIEq-sm7K)SuWw5ySa*)*4y(a0*^eM^ zW@)d^d)eZZgXpm%OM1BVIs$5_x+shY4Rgd+-l7*3$LZc&uW?aS$y6g^z0^|aHID_# zhS`8FsIzEYp$u!E?*e`0H`g)PFR1hfetSXhddaOT4k>$r;m1(Uk%lL?1l^&Yo>e4= zQY0Gv1@p%dvnnpGhhJ%v0g3#OJ1G8`tN+#Eq>GKL*@;MIY4)sC2_qM6^?YvA+)|Lo z$m4_FOKCC6`z>(T(V!&l29R#=CGX>kB8-CDadGR_`a&rZN&Ky zoVg>}c-Ya5WH#$$B}UpkE@SNo#VtE4shdl*gxhcOYB?q)BW4HmxrpYJd%ehlcYJRg z-$>Sdv=;e^ZtX%`z9abL_+8)qunBU^E_)ShV%Y%QUio2mmhvsrGAhNfcOr^)E*sUA zpL+Ecq#VHb4X7XEV4q=L)Z)0iT=`Cyv2&9nD!RWzL$NqTqLT3}9hdM;J9V{-WKL7%K+X7I z5+0u9>m^?o`c-eOmJ8~<=QE?I*{5aE)##$wt&IJX)?i`Arm@YAuPiQS`S5rOf&*z% z`WF#pF*TnT4g--QV&D8-9?i(|5~yKDiIN+55{f<2GbaC&YwX5*nyA+{hIR|5W1c{k7qZO5GC8^4&`Q-y^EvGO& z2gbwWACFiBmyPle@rtABgJ7}tS7H2^5*YNB8yK(-n6~1WQ&?=G=J+HTc|++)^}so) zn-?dE3hj!$;#vlSU`+AfOUdYuOXHNBMHgNRu`&IJ(LAHlhp3WHK0#muScbkYG^lMW zZKip%FrCiXeePEQ^ikC$7e?Ts+3)I~6{dDoxD9{@-QBnj%gNUPm6SjM^~?&7ingLY z;-R>&O;`HwgJZ9YL8HF)w-0!hYISmtUMT)2wTXiu`0`x#c2Q$CF?FBsURI<5{*Axh zE9;~GaIaYlpDb>bvejz+f8RWZGyJo~t)q%QKhpC}BWj49a8}We50@JLegBfW(z5N5 zG+w}Or=-)1Ld6&lqh&Fsrr%>vG0u{k!?f<8oKfv&Vwd)f-$A+{3(+hpu^R)je$o3~ zbc!>z%Q5WjNpgKQFdw3?6Nre|V8*Q4%kBg%kr?c5&pJu7`oK+7`3bM9h z>&d(X*4j1Hg;x1|uD`oLl$7kw>Ao@6YW2BZn&){P4VZW(FWOOA_1Qon+=xwUW z57n(wx{f9@cE7hC*NOK8t%>_5O|LT@^3p5*fXWg*dqkzZ{JDL2xR!1=CZX-NnKD%( zEL@Er946lE&Qhz)FA)=ofMqj;_o&uO7W>V1xLEEwk@|+P4WHp2`Lj8Ry$X(iYU_@y5G7GRs2?-GPxk#+#BxY zsn*IF%#KgFXx&OW!o*Gs0{=GVP*19D12{RyYmO%YUHnCcg>#Z+q3@L;2Ha9bmd|if zaW)F+sJ4)xZzf$ynXkrc~mj9zp{qLbVBPS~-JHdZG|L;)!Z!@?& z?pX(IWG4v+n8ntA5{a`%{;kkAH#cB`!ceyTI-p>$d&ox#={{tQvtBB%=qfU`ax15P zi73?N3$U5%nLwmhf^<()aMCtWI!k=)SxIRuppf68Oc$!cl?H6j=%B}82~4j{O(5dT zfX3E>{AZw!3SQuIWL42q=WR z*qb2A*D}@qbU8mFg2QI#2M2wFV`n!vGy2x2Q~I~YgaR^<_N|WfU}Zqr0kXCN%zd|k zz%V1OeZAC10tAp{8k(Fxv}(=lZVv3OARs$nEvh8~agUi{)MIdGVD7N+^2sTn6kI@p zemIlgHUf}ua&|yda8o~X-=m-G@n~oCW=2X%UfhsIaiwTuAo{i@uwWFDV~lO?ZF9hX z1xhi2Fmq_F1L)%K*{8Kq zhXqXwUR+%T;-Z)bZoh`AviwWzY+jAOyc+%ih~45|{rua}#-_g9kW6df|6UMKi>dvC z68lN-{DJZ_Mi;>N2PH;9A!nxsI)ei8Ow(inl&C#A0|APS0kpoAeXE=OJHYw?Rj|3$ z3Ea0Ag#OL-wO>&74vyd-ovHcyI-J zc(F4B`q(YW=??c)WOvf4#RBU2)jR|w3K7>mnF+gB&7CR2Nl zaNsL-8cWKK;Xi+b;0bGZU~Fv(>h0Astpga-_=*4N_WYsv2PQ80A$VbDQu5ktZTX1} zj=pXky3s5D&Vejk@7>c9-@^}WRSx(;3pi}unSZtk`)R8K!kqr;+a0?=0KK$3d!e7$ z_4HCJ^?UD4SO0?TIW~W%e`7 zHN5&^Ih|ey^e)+zbA2iF#&dRk$M^%RP_3ta;sLJ&YdhGdcdqX*ewvdnswF|ym5=-& zE3NJ^H7|BKfzsagpUV{)o$Q^A^M_TduNTBG1i)o08q^a|1`!SYTINHjI(xA5jvq2$ zPqvr4pI@q{GF?{Yw)^U7_!$YDEu@2v+kEg`mBXayb$g?QV>x;bX1?*&L5tYh-7CRy zls=by5G?t88$P(0vZ{alz-WIK6zuNp$x_IRZ#ISxJAf_DW>3##>=93=T|NnB{&xG5 zl$Q@dxh5ur_KNCu*GOfcAc6-8jN0?Nzf@)yUyygmiGZpU}Tc5GS+b4xLjxxnK8*j$Q*t`@#H> zns7q6L`tjBZ`8goLB*^X8Qk)`(hW!J#&Bm`4meoe7xT}qL`AK6KZ7%o!cf&E!(Sn{ zaubwhol9g<3xhVJMg-2kA1Gm zH)(wW->lf2Pfx~?u`GcU!bx+)q6-t$z zgQ<7s+vXEndaF&eE|!)bwSOuv7w7_8K%lz=H^HN2P%ahM!!S?7b7x1V{UMC6&&n2o z{h_ftoMbTS3oJECXx~r-YF=9)(`TnPH0{WxkYddgl_%Mt8&`%u&(lp~G)+H*&H`fY8i z)K_^#;k0mb;GQ(Xj#z(y&EvF^AsqWqv2Ix&b$uiTV%Xf{Qg5ku?>iIeU!ow*QK0Uv zT>>g*V6sC+Xwmu8X=s#Lg;)XXGR9^0Wgnhi0@feGbE?RCLsSvN`GM>|fxMhE-$JZ` zQ>8bobGqqvhJHl9kQ_F~YSZb%;?m0pAn6X1YY*pcy6TS&C_g{Lk7sY+32|7%fbC^u za`{Z4WA?D2bsb868xdm191CBTIO{lgP~6uu&Z21FcS`R_1ytt|JvtgUHGgo8cQD~M z049_%z=K*QhAfjD%PrD!p1Yri2({hsnMp}jH|=>4=B(^?jg*X?h*zeWx)N>aznlT> zH_%S@vn(*N7D0Izin=F)d~%uPo-{MlnMR=G9)h<$2tfNuryL0q1Cf({km*^4Y=yLw zb!1UaEJEADVYHl7mo~VB6~sj8pWp#;eNM?Rq>3p_Rk0%R7OKS6DZ-i&f2Uqn_l;br zeUM*DY}se-aqYcHE_|U7;MH8M;{!vsh}Mf{sJ~=Q;n;&_mUrZOGK%p>FFUOaMSb6J zA!SSTIjx#CGB3ew*4Lt98{wHtV?P;(BmA87Mp|E-XwfvkXFmxjg0+Cr7 zfdy_$xeQlhxR!WGSLSuh?Joe*&I2X}KUCv+E~_Bu$MacEr?zm}ll2J|=9k9g5N3JR zuJkdkxL@zk?gv!bQWt50}4swy-*nko%!2neZ_fPW&ab5lPt_J&_YktuqTICh27* z;Lmt!FNHQ#dRx3?M5W#a`wG`p`IO_ICZLu;@>5v;9I%Mo`Mk209p zRPx1GyiwZW8p)SNrpJ{yno&Sh)5+$zjtvnK{9X0xc7)@r6HQ0E6c7$_E6;P{F+>N) zs#c8`WOQ4MtVxWjvi@?KG;>kNtZ|J7F;Yzk z0oPh)-j{I}q({33qsI5@GdEc_Jf1Wpx!)GXP)Fe*A#2Nc!BLeSRboI29lu4O1vh7J zpXts4IZ`IoyWy^LRPt~*vVLHIqtMns0k8H@lAu9SCueW=S2Z~~m6P;WMsuBI$xx1k$?Hp?}B0u;pM z)j{*26{JL(`I|?ml}&kqjGGoe0%#djNW8VyT_(jgWPbN3yV>aN@w!g=!N zhd~KyC;QGT!5Km*sj)U4Yzi}bskSCNU zX_1o~CA(gtF>XUyn?l)$LH_YcYP_$b^l=e%1hQ8#{WpKfF63vT%7`Cfx~a)^m(qdm z5#M}-!wEcODa%F;;U7K+&3W%V1#vn~EZ3ZFEJ<5JH`guTYtjshC>@aljO8-KR=*HBN_ zReA$rR1qCo3-D^5U7~4mKx!EDJnfzl08VP0E#6ovG@11|5}=ww8kPX6?yhqo-KNKk zjO}VI+39t;`R61%PT&c_ic#LBk}NIO8ynTj&b%eZhuqCEeK4#*MFNu}m^#G$GQ|)? z?3c%0855!<7D`0-Nl6x)DgaB}IMe$MEZ4&z7i&T#^+K2yE1fDmkR8sQZ=`_JrvqJU z{YsD8Sc>y>mh4IFjWPL`=Sf!JJh!_G^uoG-(fHY3Z5xhD&$~r#hyl@2_FlU`lo$<_ zB4Y_VR0SUF-H46(r{5gZnN#wz_qkT8Hb`%Pxf=j zl<~O1O+EMSs)RiTRX9k-zO_gF=mcmPvFA=;mG4Vqom3KS{`ayt*}*DD89wh97Pr1q zlCj1uk{BmBoGwI%OG!HWIh_lF{vrP~&`0kT1kgM(q zMUMhj1PJjkSgm}J5F$f`*=DrODk!!^n`8Mdx7DT|N!q=U;lKfr;q}+6MzOP@?@=3^ zJio3UOkCt~yv!;wPvh&(>hW01WbnTx{TMYd!ffGbFc3d|*(Le7(F^B>5HM@DG~`z- ziG$)dC^p6LoZ{(f&Vyg^bIjCNMtTu7K@3zmi+h;6_<*ayUj_)>DEVwUp{NBGCkcZT z3m3rhfAtz+VTRUd>XWd&9~=G}xgWtq^3C9)O+|zL0VIO1?QS)SDyPmx62y7yf2yn# z62jG1%=x8sa944j=9eEOFot5NqNO5_=Us=Ije<*->}Z}r4HjNF)p4LD9#P!>;XbKo zApT=LEZ-1~ZL&GL<<`~ieIJ7_AjMr1K-c0}FeRb+4fNvB#R4`OJnTD~o*>YlT}DZ7 zs-UuA`$a^0!pASP2Ng^;$w6e5EM4(6VJ;p?yF6@-f`x0qZU4t3b$&)LKqm!7`w+<7t~ik*e8Lsnn(=W|~!W`}I=b$9LC-6E2iXKjTfS!gXRCX$|xqw~b{h>&5on z`gaY@dw@lRyUr!_el3k}{4t}&Hv(`4!;~A)Lgo6)YYK%?$Ap1nO7g~2r=V|zEPc+% z6_5w1&3NQHrLK@|8K$>SS)_%v4MSC#JmHJ~&~vl}6;JTz6&UbPR?l7v5+mj1-GJNX zOqy((;BTvPC@;8f5Nah@7Z>nEHj8HJmhUdqa+f0SPwMnsx`6wolSOW1T@6uMVcNiu z&4m(up$bLRa_`!?>inDN`7O;R?(jyij&ds_~+w&k>8;V#r)pv$} zU*B8bAG6KaqskoAB5BbvrTNA=K@LcSxtA;=K z@om576HFw#2BK?{G}m)BQtX1MSBkO8FS%j`u?*8)oFISx`G5mFh*bXCvu<6EejKIV zW&Rc|3nzoLxKQkOsqaP0(l60)p5ta4|HgM2l95Cn0l{lAD`skb+3J=168%!VQ0W6+ z^luugF}#4~mx81@P4B#SgQf?qieMKuTA9t{eZ2cvnXr3_3Gb4ET*X zU%O*Xyt&SvMYng8k1t~gna%TU!hp4D+W%ne9D;Mo(08Abx zdrT3gZg;tw*Ecv-e{yX%MRyS2ey*6&#D1; zy+#r{k*@g?L-7$-UZ9dphqp$Bj!p}Qq9-6)#&s4f^~c2pV*E)*AeFpWl^5${%{j+G zouj{SAG-_|V5ayAQrmB}bf>n&3yD9m<^Qk_6g$&YKB~VB>W948?X+NJvm0fg+UDlS zhZYMxj90OwtyDd5M^9&o!62XSnsb*q5@O_(XV!ayeb8H#0y0|GQrNXk)A4HiaUbqf z`MYziJN74dcS$nmznjJKc%jY(9Q9FYb7i*vmbmkU?2dWL{NgU(U`Z205(6;G+jw6e zkMh2R?dN}{lUQ(Bm%gHkl*pEkG=$OKU>Bl8_tATAcdU{P2-l9y%!c4sO>hzVjJR@p zUZNE&?M@jUrd9|>y%;#GfumOPV-WN8j%T8rC~DWrf*~Z0oofF2H~$>^=wSVi5!b=G z?o#ZrIOfWFoUkEvuHR}QQ?_+jaZ+Uuo)ym?*;Da3d49aM+NId7!3uSC;DAu5P`7~u zRcV?ImT;VCLE~E7&;BwmPVw1aQ+tstdlze?LWu8BP7GoZT1;EfWf z;bIU72(gWMM@TWs$Z0$rhbNF_U#Iovljln*O*slDcla)EjrsPmX32(-{RFmhGH%?x8{CQ!Ga)ryiEF(^tFuC#)=>nufjfovXj)vyD@cOPek z^%H`HoW*!to^0_jl4HL}dT%fo#%rl=c#qSA<-C(T&Jl^H%Ye|Uyh%k^hLM=KF9PqQ z!Z;D&R#E?L9Zc{JzvP@?xip>AQd;K#&pL>*>I~IL*1fbrkliOwg)EGrlEUhcTRJM~ zO@n9B@ZgO3$MyX93Ki!_cbSoMuQG-}dl1#gfZK6RdzE(DhoJpV6+OAEkdV_@__bMk zN@X!su5EYIl5P;^OO|da6+JJg0#c1I%aK8Ub$TgOd+<|%F*&PsXQ`F3!<5CL*R4rR zVE-;Nz9^L%XAb~qMqVszN)yHTuPpgk^=fs$FA82)3zM_Bo8q`SR7m4i8(rDt8o2}c z`d@mhYMT69_iXOR&iRkWdS{=hkxCIa5M;B=ijXKolt*M$pWvU-xHyGP1onSQL>|@W zOD{ABw9qC0JY)dq9H|)JM#EUhXR$(#@Ia?`i=P(0(L67B+4NHplB@(&vWeXt_1eW< zHE8Sxw0hLi*xQLK{V!49-ZmC;UwP)%GBVN4klhJ)YQB=LVSU0TVDfqb#>#@OT1S9H zJ{C5nZ&(Z$f#bGb!T{f-3<%w@tw>YK!mro}Db0wU85#WT3Q?$kwFGquQC9~Y`6;6- zy}|~2e%xx$4R7gi?TU>cf*e)AJn1WVX|iZ)Zc`+;XxFiY?C9Jy*wYa0Hg{oBub4{+ zVeof0jj!g&wrgU#UK9GOqZlH*SVgaD*1GJzN$$D}ut4KuQXHr%B&8J1a!_IcDTq;r zJ&oyML)c0%)~qP`SvzaI7B8=e8K5Sz1^dPHDz%e;2)m(7fqC6bsWQ5>iqXdJWo-t81qgY2}S*L zHE@^WOcVCQpUA0WeE&pUiP?!nB$O{?t3}+m0WN7}*o^vOrNT+8`JOfnTZ2#-bWPNp zSc*|m7~xAqk={p?Ahos%0g&irI74;I&VTF+5zupmW zUg@OR!7<>N&*QLG!ROJT8uAVeU2!cdm7J9`Y+&XXgg#DmNunYb_69k&ZNTp_N#(OZ zi%eZo#mKV=#nTGr4eoc+9qQ$EVD4EmclO@Ef#pe6zTmTZ%lvj}>cm+|wWXUIPF!8k zwdKsRqok&m{Dk!~m(X_QhR+@pbg|B6_cPrD%GP`RJ7;41L@;+pl}WnN{K#gGiHI%` zJHnW;YyNQfk0jOJP5;pTbss9hgNX*nkxJ0&e9sS=m@iM_zg&3S*Jznj|3B7#C#PlR zW@(r<2Fzz~H9)ARj$XiUzzqsT_g#U=84@cm4`RUh9}AUhQMn?Ii+kn7gdY!wI^L11=v8Oc4%@8NvejBRi2h$$Ck zQQ^}L=EmaY9GKQj`t;TA#6)h=B4v)~xCBmOW_*hED@>}#PXz#~SQ_3KmprW7u+om} zQ&Cj2m-1o_)41RFVvOiYOOD?nWUP~sqHPxFkp1Z3>0yf{)h^K9iCzmTn!vfivNo;- zJpoE<9dPs*Rd+6=d>i@EwS*_MyxBH8wTE>DJ6XsWZsO%VzP>+jHX(*bMOv|y6`TQ)C|=0j#Pa1Clq2dg+3Ebq8dZl909ADv|rE*rOaZpy(9XPkcht&QN7{f`MAhavSCwa z6`tcMd|%bHlW8om82k1_1XwVyww73=@us46Qz*2`NHhkn1W>f@hA5S7Sv~5j#zU(QA*X<=LDs=x-Du1p4;|4nryBh3Vo^_8%s_k5bCpo8oj9ta0 z=FTR%`E=6aHO+sJL$H1}9q};&(EExVC71se2U3x@GI)kfD}4>?BO0ZJvC4t&(_P;j z*YaX5dK@9^#-Vu>Y+b{+D7absn}HpdSR1tXLLjFRJy_HYp#~!Kq&kPj?4g+3yd;L# zP41nK2gE7or~fFT75s(a4g2vC>{j>8R~Y zthrkMmHQ&8fYTXj4CSASlLNtLstCo$P7_>)hYicY1@uF#>+kFm#;F;kS*U0#cGp?k{9sOMR1k3#!KJaT#evUe2NUzkax}?;>%hfZsYF;IB#$dV}Tdh ze1-Nds*04a>qHHfPuHU~DhiINP{f!H?9Cf;!w_D>4_47T?AhHZV&ZH8%-3g(ec{37&fOywT-UZMruW zf2J!)*XH02T&JkQG&Y*gY{0<28nBP7XgQ1R!aqy9dc zo~U)~%0n(Du>N@L8alu94Kt6HLSt?n-)9vdToRI08eu(0 z-vXQT_VjUdU#*?EDQi7+m1rqgl$q=#vZ>CAT$TIVP|%3gyY?~)37+A%TqFXUjx|ZN z(~GR$e;#EO!%7L9SfiY1L&lq0S?@%SJ1<*%VnL#76$bc3Ul_n(&JtFc@_x@J5c8R9WIuyROi1XMC-6y`&i+vH zN5dS)oajT!#>-%-WN@oWuG+he-eqL={r6n!Q}7n4|VdNPFv)-{#5NGKdBojp(2O5^2R_QrbUVm#C z#I$|vOinPDA)US~i$zHA5Y2-}{JhM2&v-133YiNjbjac_`D>HO>39zIotH|Kh&@`ZLGBAKc%iA@ijz; zn8o{@^$1{l>J*;LYN!9#+#XOl-lzJfDH z$N$O2Qd3DNvr>UzNf4ua(=CR){V-(~k;@}HC}G$u>r;HYML24iUy0KO#G1V&3zJpp zhrG`T5;oXN(V*McM38h~a8S8pDJd(b?03)n-@v;i7(Wo$b)hE1n5=#OBmmRZH{aUy zjwp8DL={CvH6vsq=M>Of%O(Wfr1y09Hjtcmt1yau>@P7JtHtCElbX8cjohOct}5ed zR|Je=L$Bd>=)c2m0Ki@X6Idv!vDe752x{`eURg_5-+R89Ry&r7o0i*37RVEhmyJ zH+SwV13n@ATc~<-Fg>eyc1DEW$-5*b8Tr1?ReVQ)_r~e&>-G%oPDc8-**ymH?@)~g z%r_@>@q($-BK4K9*Y9@7{ z?vhWPT^27iW~T8qh!7B?Zo<$qRaGRe4T?e2ph2@NB*E~^Sh(ewpe4xy~w%rDcFG>a?SQ#CmDKroch21qamRc&Yvl7sA3w=DF%TaE5z9ST;R1qFSaO$Com|xb)s?< zbdY+79U$vrl^7ZvKdElKWDbPG@Rpi7M@c)XLsPLWpY%bJ!_|KUp$#fvvmwqn2(K53aUE_8sd?csg;w zP?d?kgtY>{xKg>+eX40ZHCv0eBnH-~Oo;|=E|H<_{04YE2+#^Th9q-Kak5;`TAJrX zR^xh@F-q?+P(Qj(K<9T2&*iV822S`VJE+3S1;r@}DS!SN+)o#Y- zf2DB%d{KTodN=q5xOq~f(Z)xSaLAHoGCdc(5mj9P)OY=ZDm7}M+~lYst8IOUPf?^9 zR8>ZU6A_oCUG)IM%VppZ{FJzSsEyH8R}hMo2zfpPQ|b()Z#LZCLn=Fr#>I5tg!kZw zRA(i3L{nS!{~87%>GDOxY6 zR=R4Q20V*Nf@KM9{x6P+HFbWLTvAo!x5qYAXa>=@)iQ8NA9}G4%{_9rXeMN2EVx&y z6p{DU!>ydbx9=!Q^#?pMIj53P_&AGI%(N!ksaTFLL&gm?{f{paS3*n2nlK(!;DoA6 zit@Dd$q5?dG}K2J*<&xFmoQzfk60`&{=?mcWGB~$^6_$Nz?vp0gTiW7>1Lx}zz{w0 zw4}AmNEb}kug2kLHxkhSu(y;`z4z!!^i9^6BLA%v5)o*ISfBVKp%qUljsI2?uC#!H zzRg5XNrVWxdL$r@Z&D_NU;6*H))eUOB8X|gj_UtXT}u9}M858*B%>arq!D}yYheEl zHLkMkmxx!Z>AAR)<%B=Ee^9ih2Txo1{wCFmcKFi4cS)Qi-Aa|WMN?9^4^D~Qy-vnH zouWcF43#bepiq?Vb%T)8w;UE->8Lc=re4eDD8kd!AH@rg zl;5|lD=?a96hv*MtfaudyagoC(zQ4j;f}5_1WUkku>u8#&IwLL)6Q+L$A{i$W z`j~l5-{MqFeNCHp6(S}T13h(;Ga3J;%MU9%hO~h$Y#M(!KL*>GSC312kc};g@>Y^r z6+URy>Xi@Em#X|s&&Al5bwGlQn7lHCTA7KFh6 z;RHNfC(xM@Ver0rjNT=fO$~ngX0DGwM}J{SX`B_9$J6yPV@R%xk^r8?*8RGPf_k7l zBqK~1e;mn!m&%n%_ok7-{Im#RK$!=V5lgLLVQoDBYOr$}fkzHMrGf?GdfyYmKN-{k zsH|%Pea-dWL6UBMspXuBYExVno(Ulwy*hWFhP@=GiP6bFXSXdMA(gI+{3Cg{o6Uqh z9Dh=84uI7wS`?FcY{~(!mkBU)W_74Rq>5)-YfPNhbQ9u&>7itbL+vXq%r^#5$~6vvh8{M~o3Rzf5%N zjQCCv<`(~#M~)d#ORC9HHvXH>zfVmb1rmAiytYC#YD>dX;Ly%eI>=&Wsc|7NGgk+^b+_x63dC52^h??uo(y`i`laBt{@_jxj@fjfwQD#6q+@yBCYfGF3N?J?F+q59#NMH`6D>CsC!n`Hu0UNtIGf;hy`>W^ zc{{rVGW;j4fr6hxpnuc5zBN_)=#pJoYWU4hA8Exri;Q=H^x zrP&d`pj@vnkI$7~ET4&Wfir8qkCXDFOCOX`KoqqAy*)S`Ye00oEktka!U)+*lrY8i zJrL2uQK*$<(hj7kocsJdLD;Nx2!*4-sTcV0;V}u(cG}@=q03=ORff)#KeuPnOT07U zH~W?cz8%nGEWFXPLT_;m{hI)1D~TF0gskbIk2plO=$%4+2?x2m#=j_%qE5H+etFQL z3Cl2=$T7{1{t_f99E7zIiO|8tW59}(X^p5uVDRaLPW~L7_8jX(QrRr9sNB)Nzig%2 zDs59!AeCQV@a%dT?#9Kj{1WDYBUKK(7Y6nP&UY$)|3)C==HJKdZg3QA3)iIYCR2rS zq$-xy9JM5vy)**F(7=C_Gj6Mh>N2dX&NIopaL$b@xohP%Tke^BC1PhYm=&C7-zJjp zH+QClEb3sNC2ww7*^zBE3}M|tO*qXe)5D0SWN5(`p>`857IRO?gOAo_C( zG+{K0($s()zEgG;2JjTUpx-2R$7fWt8yVsPV#Tsvvb6*OaY5NNkMX^OTIocrBZRmy zQp0#f8JS&&b4htp=2&1XHh!ft?L0$>c^&w?U1vITV5xSXR)~PvRaS$bBj^6UHDuVi z4$%k$g{q4U{VjflMc~zdfJN3QJFL<_0u_8EGHqF)uR=sxIYF1x7%OsUd0z}JvxKyt zPqsqVh~ouIYp8+s>pqVYpTKg~naKHeg>)1JYde~!HtWSAp=T;gHJ7a59|w1)^UyD( zxMf$C8fmQ|DEx)bt2)e+#wbK1OiTwci9^tGFhwd|g?(WWt$o8O@x7HtprweXM4Sb2 zA;Uc^J=*#M74cz?U>E^|Gq;JIBg1a#z4M<tY)2(POZ&CZsGkn_F+qKS?Gx4SJmEBIp@kLHwP}1y5T}d+y7_5x%l#cw$ zks1ZDK2ye@`a_yrp9n)10v6Insy=|fofXERWhwbRR)$mtGq5!y+TUIH=vBz2F!SOs z*q9gjUkul{kP>JK6T>K&5>O%*kl*~JYzMihYb1=!%;q93nlO9#3Kl7i6XgauGdCxYh;tf31X=PG=B%4Rjg(rt? zLT{CU(6(nHAJeW9+7v^M&f1b1*>{QHPqmpYzfZUU z5V>$(yFKa0mqE|?a9M`_dw)%=T`(oBvs6T+9>z z@{PO1rk^!eti_l;lMtEJi(+v^kyj5tYtMpZ4aL{)HYR6*??H*tGH8Hxd4)#E(`qQnpKg!8L<{ z+fU>ikRO*{v#Fr}pFl%dnwUC`y-F+Zh5!q8S7N6cUrrH=N6@q1CgU>ZLu4zb6=gFH z7%5U`N953_8M~HlYey|;ni}$)x|#@ysM1)Ho+1<(EOqM3P+T8G0Q(++>22>H9LNYJ!&38)bW}(f&%8XB4R=j zW2(AK*SASWybkJs{=Ejf9P0`<_K^1LH`97EQ6fCpS zo2>jd&8Y1@o>UJF+#sz%LIcCXLPOp?bT3fX!^v(cr;2TZM@=w}`kw1YVva7a?o&x0 zB_LmoSH=2uL}tv_pNO#}n&fos%j@>?9W3o#FH{2f`=Zp)Jm>0~Iy48vz*Z@xTBw;n z{S^hmz6wctr@c)4su~6lOGa0KR9rmDc$!#mQ;THoXt;p}clzhLrRjBd1=DUHl=~)D zi{Da4fLel&=W-|vq-K2~c`tOO=`BRHVwNfIPFql2evH!}>kEZ$tu`&l70TQ|guF|9 z2)+^%SbhgSg;%z0-(&D%s_ zW*r|p=oZ(u!D*io&)<3NDz=`8oR>M;m@i&xO31U%jrt!cgC80R1w}Z1g#6wfbF`xG zfa)lYa*+~fy{Ro8c{SMZ6|a<0MXV{rL*cO&MqsU`zh^Jix3~L6zc?PhgcvvD;QeT) z$OU3bS~-9boRFOs41wUO?1nbbL(8vi7?I0~jVPEl4_(^+*z*0qr@r1Fa=QY?zg+=_ z@6-0+`KQrA8zQ`>Q$fqTo9SVfJ_knWOpaSuN_jHp!>9qy>O@U)|Y`%LkT#uAbGlr;EF-InXw zR?PEKNA6d|*4C2>&EBVlIn|_a2vAsVYE%`z*7GaY=>bXkgKsg9JpbHWm3NLFP z<7em=N;jP%Y{LMbgw8tHNgM4F8|PqPQVtUp=TOg+n1H9O0663Tk!&}MVMq$fr$q}9 zFttOn@}#bRG!YP%`UQ8c-Noo5Cs;%zd&xTE%V%K{cy?ZIKWxGtLu`f(ttIwdN5tBqCFY}+_nTcbi4PAY9# zF=N%k)Ja(>PS8$4zT3I+E)9UyMIfAX+csDkuS7@kDaWM8% zYxKV;sXM;kg(2k6#cA>nfDLy*+C&-~rjhVD6zcrMIqh&4c-paB2gLh)kXi7A6}`zF zCk9Xq;a1#(T}p1@&@l?D*Pp7#4Sccx^z5P@4;ks6anixxfY-KryzRn&o9&iTL+tgb zzxb_>KH1ml;~x$g+T&U$GWZ~Nd4JTS*hdnWHAe90O-zJ>Q#0Y7>Jut^7JKfSE%qX> z?`6a_y1Wjhg`tfz6rmNBh#2BV1?f4FldEiTtr{ikMw4OSgk^)oP7?Ui{JfYg5F zD5X36`ILjz{loK_@LlHwVaApgvQ*zM}MVgS!s2U5SCAcw_7C4|Ik9RK-Cu>VcZFObzwCOq}uUYb0P** zzTkAFJC9RyXsh!99M|ak#A4^3#=V$*56hM6%X~qni~*b18ZXJhvFQw%$5Wg^80aFJ zW`b}$I;w&ypB6H=pG(A~QYOj4$!lUYnv@TDi_GEDaNaB8^4P8wgx_3m9SkE2oRIl$ zB9Oy$4_IR=wa#F!Ve$0M6dYxHmNVfO^+bIIN9#K+VR&Cq6Hr@}7Bp~Am#*XdHr(7t znp1J*0^=!L%+vQw`5Q^d zU4rQ*52ge1UVfgcrf#@4P~V|HP{F`6Q5lGWRm`GZgYYmE=?(Se%p^Taiq0C%TN&^L zhJ$BS?_0-p#~n-SFPnRk!Q*T^dVTlk-e}k`SNJy~IDY&AcBMw83kqW~s`g*W(*eAf z@?LZ7r|buKB=`bT%aBa_`$kO6P;MONiS>WA@j9N*dVJum_qj2vvatHTgK2-f=*|o{ zYh)nwby!_o10;Z9A$Q!bno6c_eb1BEQ^gbEtE900aVF-|(&1+i$$ElHv~q73BEbzK zoke#W>cyN$)ng0}VTe3Edwo2N}BxY)c1 zfj`hbZ&K!aYY29fKZW*JGO|}zA+pO_%OX8eBc9$X^YpF9 zxYM5RWjk$uh>$ELiX_v=+__k3&^%%7^P=wt`#X@(Awk(QyVV-%iwC9uTuL2N!aqog zPfYS!3r{EF&QwH_iRDr=2GF=D*8X#}^op_o&9|W~sp2X4RKBYofR^3bRlzOfsN-Wj zTKtE7@^CX21e2!K4Gb1#;H@6;ZT-eDew{_IR&W#@iUTehk!en-n zb=d_oOb>_oZQ#1I8BHX;j1+5^JFlF^nSf?>XanZa-)3 zd&+@KsKu5(AK6J8CqS!y_t()54>my@4 zVN2I^`I5q3Bd0AdcvXPj?3f+@fVyghD>ky8#5I-K5lu)Ki>vz>veIWmECW{jOnYni zj`;(!qLZwwVULsM{iWArY`AfpOXx$~X~uRHGftwr3r~Qdru4&>pvOTuJ)$P4+l*RL zwix!EnqgsCP=7{h_@9d#E)GP8-cOR>s&Kd_bJ!X_D(OysIGdqgM1OHYb#@_zdGTI( z-;!QV5$SKJ{`^}IAYr=@v43jt-fAbew>7XI*?Mo1+QR<(Qo;XZn%wFwmeqqDn%{|N zVd9;_Bf#%C4C@=!gv;4wN0K+H0znjg1dPz=HiN{tj|2H+_Ei$NU+#qLvSo&GlSF{V z3%xkeM0Yh<7-h3cWEByjP_y1RZ-vXlJ)#x?iCdBr|5)Mp-pibHF-Yy=3D^*;d)?3d z$SbnR!v3i}!@-7H%6M?N5h)jZ`v|g+kCeRfT21%65ayg6nQml2Y5m;6#n}Xf z^=-f5l`bJ?lVy$U1-PiO!bOnlLHlYMg+0D(hXWWgD}d6plCq68PdGj(AYfJC&$}CS z{j}Gl;Of$B{Ck-jS=9DAKXe598DBt5p@y{yoC=kdsDxS||07YeP_n+AtS<6a#7XLRzx8?k`}wD<&LC_5sgszu`Tx^gKZL*c8p{Cfjz9aeTM5ydY0nRwXTRBS^KW(9 zBfB8eAYWpiRLN=-;?(F8ZuNM=m8wT7n5a{z-965*g@g+UML;FyJq(!{ zEh@0grGf4gQu~0!E?zgAem+5^wuz`2{CX(KrBXm32+N8)=)2)(3uY`(d7lGM&H=o{ zqtA=Pd^1cQO(uk(>K3?@U7L4-C!IImG4`hVmBR)Mn0pAxKt8mSXgcl`>de>j5}@BX zv(W;3|D>in6sII$;~!{^p?z61)=p^IrWd!^qW7X|*mZ-u@Q7@?5Ozp8Q5LuZ;SZ#n zXHE{4aXU}@y1J1XzvnRE|Eq^9j>1cKX6cOr;U}uF&Bl`;YKA4%FB&4uRMS%ohH>Hg z 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 literal 0 HcmV?d00001 diff --git a/static/from-0-to-crypto-by-projects/episode-2-proof-demonstration/latex-reverse-type7.tex b/static/from-0-to-crypto-by-projects/episode-2-proof-demonstration/latex-reverse-type7.tex new file mode 100644 index 0000000..e7d49c3 --- /dev/null +++ b/static/from-0-to-crypto-by-projects/episode-2-proof-demonstration/latex-reverse-type7.tex @@ -0,0 +1,154 @@ +\documentclass{article} +\usepackage{amsmath} +\usepackage{mathtools, nccmath} +\usepackage{amssymb, amsthm, mathrsfs} +\begin{document} + +According to the decompilation of the Ciso Vigenere hash algorithm, when the password length is less than 16 the idea behind Ciso Vigenere hash algorithm is: \\ +Let p be the password that the user types. \\ +Let hp be the hardcoded password in the code of Packet Tracer. \\ +Let lp be the length of the user input password. \\ +Let h be the hash value obtained from the custom algorithm. \\ +So that: +$$ +\begin{flushleft} +\begin{multline} +\[ + +\forall h \forall lp \forall hp [(hp = (d, s, f, d, ;, k, f, o, A, ,, ., i, y, e, w, r, k, l, d, J, K, D, H, S, U, B, s, g, v, c, a, 6, 9, 8, 3, 4, n, c, x , v), \\ +0 \textless lp \textless 16, \\ +h_{0} = 0, \\ +h_{1} = 8, \\ +h = \Sigma_{i=2}^{lp} +\begin{cases} + ((p_i \oplus hp_{8 + i}) \ggg 4) + 0x30, & \text{if } (p_{i} \oplus hp_{i+8} \land 0xfffffff0 < 0xa0) \text{ and if } i \equiv 0 \pmod 2 \\ + ((p_i \oplus hp_{8 + i}) \ggg 4) + 0x37, & \text{if } (p_{i} \oplus hp_{i+8} \land 0xfffffff0 \geq 0xa0) \text{ and if } i \equiv 0 \pmod 2 \\ + ((p_i \oplus hp_{8 + i}) \land 0xf) + 0x30, & \text{if } (p_{i} \oplus hp_{i+8} \land 0xf < 0x0a) \text{ and if } i \equiv 1 \pmod 2 \\ + ((p_i \oplus hp_{8 + i}) \land 0xf) + 0x37, & \text{if } (p_{i} \oplus hp_{i+8} \land 0xf \geq 0x0a) \text{ and if } i \equiv 1 \pmod 2 +\end{cases} \\ +) \implies \nexists p[p = \mathbf{rev}(h)] \\ + +\] +\end{flushleft} +\end{multline} +$$ + +So let's split each sub steps of the algorithm. In this wayt, we could start prooving that if $ P \implies Q $ and if $ Q \implies R $ then $ P \implies R $ + +So for any P so that: + +$$ +\begin{flushleft} +\begin{multline} +\[ + +h = \Sigma_{i=2}^{lp} +\begin{cases} + (p_{i} \oplus hp_{i+8} \land 0xfffffff0 < 0xa0) \text{ if } i \equiv 0 \pmod 2 \\ + (p_{i} \oplus hp_{i+8} \land 0xfffffff0 \geq 0xa0) \text{ if } i \equiv 0 \pmod 2 \\ + (p_{i} \oplus hp_{i+8} \land 0xf < 0x0a) \text{ if } i \equiv 1 \pmod 2 \\ + (p_{i} \oplus hp_{i+8} \land 0xf \geq 0x0a) \text{ if } i \equiv 1 \pmod 2 +\end{cases} \\ +) \implies \nexists p[p = \mathbf{rev}(h)] \\ + +\] +\end{flushleft} +\end{multline} +$$ + + +So for any Q so that: + +$$ +\begin{flushleft} +\begin{multline} +\[ + +h = \Sigma_{i=2}^{lp} +\begin{cases} + (p_{i} \oplus hp_{i+8} \land 0xfffffff0 < 0xa0), \text{ if } i \equiv 0 \pmod 2 \\ + (p_{i} \oplus hp_{i+8} \land 0xfffffff0 \geq 0xa0) \text{ if } i \equiv 0 \pmod 2 \\ + (p_{i} \oplus hp_{i+8} \land 0xf < 0x0a), \text{ if } i \equiv 1 \pmod 2 \\ + (p_{i} \oplus hp_{i+8} \land 0xf \geq 0x0a), \text{ if } i \equiv 1 \pmod 2 +\end{cases} \\ +) \implies \forall p[p = \mathbf{rev}(h)] \\ +\] +\end{flushleft} +\end{multline}\\ +$$ + + +Let's start by prooving + +$$ +\begin{flushleft} +\begin{multline} +\[ + +\forall h \forall lp \forall hp [(hp = (d, s, f, d, ;, k, f, o, A, ,, ., i, y, e, w, r, k, l, d, J, K, D, H, S, U, B, s, g, v, c, a, 6, 9, 8, 3, 4, n, c, x , v), \\ +0 \textless lp \textless 16, \\ +h_{0} = 0, \\ +h_{1} = 8, \\ +h = \Sigma_{i=2}^{lp} +\begin{cases} + ((p_i \oplus hp_{8 + i}) \ggg 4) + 0x30, & \text{if } (p_{i} \oplus hp_{i+8} \land 0xfffffff0 < 0xa0) \text{ and if } i \equiv 0 \pmod 2 \\ + ((p_i \oplus hp_{8 + i}) \ggg 4) + 0x37, & \text{if } (p_{i} \oplus hp_{i+8} \land 0xfffffff0 \geq 0xa0) \text{ and if } i \equiv 0 \pmod 2 \\ + ((p_i \oplus hp_{8 + i}) \land 0xf) + 0x30, & \text{if } (p_{i} \oplus hp_{i+8} \land 0xf < 0x0a) \text{ and if } i \equiv 1 \pmod 2 \\ + ((p_i \oplus hp_{8 + i}) \land 0xf) + 0x37, & \text{if } (p_{i} \oplus hp_{i+8} \land 0xf \geq 0x0a) \text{ and if } i \equiv 1 \pmod 2 +\end{cases} \\ +) \implies \nexists p[p = \mathbf{rev}(h)] \\ + +\] +\end{flushleft} +\end{multline} +$$ + +## I/ exclusive or + +According to the [Karnaught table](https://fr.wikipedia.org/wiki/Table_de_v%C3%A9rit%C3%A9#Disjonction_exclusive), $ \forall x [(x \xor x) \implies (x = 0)] $. + +Then as $ xlat \xor xlat = 0 $, and as $ p \xor 0 = p $, we know that the original password $p = xlat \xor h $. + +## II/ substraction to reverse the addition + +$\forall x [(x = y + z) \implies (y = e \minus z)]$ + +## III/ truncating 4 first and 4 last bits + + +Then we have proven that: + +$hp = (d, s, f, d, ;, k, f, o, A, ,, ., i, y, e, w, r, k, l, d, J, K, D, H, S, U, B, s, g, v, c, a, 6, 9, 8, 3, 4, n, c, x , v) \implies (\forall x \in hp[0 \geq x 0 \geq 256 \implies x \in hp]) $ + +then: + +$$ +\begin{flushleft} +\begin{multline} + +Let p be the password that the user types. \\ +Let hp be the hardcoded password in the code of Packet Tracer. \\ +Let lp be the length of the user input password. \\ +Let h be the hash value obtained from the custom algorithm. \\ +So that: + +\[ + +\forall h \forall lp \forall hp [(hp \in N \land 0 \geq hp, \\ +0 \textless lp \textless 16, \\ +h_{0} = 0, \\ +h_{1} = 8, \\ +h = \Sigma_{i=2}^{lp} +\begin{cases} + (((p_{i} \oplus hp_{i+8}) \lll 4) - 0x30), & \text{if } p_i < 0xa0 \text{ and if } i \equiv 0 \pmod 2 \\ + (((p_{i} \oplus hp_{i+8}) \lll 4) - 0x37), & \text{if } p_i \geq 0x0a0 \text{ and if } i \equiv 0 \pmod 2 \\ + (((p_{i} \oplus hp_{i+8}) \land 0xffffffff0) - 0x30), & \text{if } p_i < 0x0a \text{ and if } i \equiv 1 \pmod 2 \\ + (((p_{i} \oplus hp_{i+8}) \land 0xffffffff0) - 0x37), & \text{if } p_i \geq 0x0a \text{ and if } i \equiv 1 \pmod 2 +\end{cases} \\ +) \implies \forall p[p = \mathbf{rev}(h)] \\ + +\] +\end{flushleft} +\end{multline}\\ +$$ +\end{document} \ No newline at end of file diff --git a/static/from-0-to-crypto-by-projects/episode-2-proof-demonstration/latex.tex b/static/from-0-to-crypto-by-projects/episode-2-proof-demonstration/latex-type7.tex similarity index 100% rename from static/from-0-to-crypto-by-projects/episode-2-proof-demonstration/latex.tex rename to static/from-0-to-crypto-by-projects/episode-2-proof-demonstration/latex-type7.tex