From 207b428ad9f043dfafaa3c894958a1f408a24d27 Mon Sep 17 00:00:00 2001 From: Arity-T Date: Tue, 27 May 2025 13:32:11 +0300 Subject: [PATCH] =?UTF-8?q?=D0=9B=D0=B0=D0=B1=204=20-=20=D0=9C=D0=B0=D1=82?= =?UTF-8?q?=D0=BE=D0=BF=D0=B8=D1=81=D0=B0=D0=BD=D0=B8=D0=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- lab4/report/.gitignore | 5 + lab4/report/img/compiler.png | Bin 0 -> 39943 bytes lab4/report/img/scheme.png | Bin 0 -> 89660 bytes lab4/report/img/syntax_diagram_addop.png | Bin 0 -> 10007 bytes lab4/report/img/syntax_diagram_cmpi.png | Bin 0 -> 18531 bytes lab4/report/img/syntax_diagram_digit.png | Bin 0 -> 28945 bytes lab4/report/img/syntax_diagram_expression.png | Bin 0 -> 9531 bytes lab4/report/img/syntax_diagram_factor.png | Bin 0 -> 41217 bytes lab4/report/img/syntax_diagram_ident.png | Bin 0 -> 12608 bytes lab4/report/img/syntax_diagram_letter.png | Bin 0 -> 28661 bytes lab4/report/img/syntax_diagram_mulop.png | Bin 0 -> 10258 bytes lab4/report/img/syntax_diagram_program.png | Bin 0 -> 8831 bytes lab4/report/img/syntax_diagram_relation.png | Bin 0 -> 7704 bytes lab4/report/img/syntax_diagram_statement.png | Bin 0 -> 50136 bytes .../img/syntax_diagram_statementList.png | Bin 0 -> 10475 bytes lab4/report/report.tex | 433 ++++++++++++++++++ 16 files changed, 438 insertions(+) create mode 100644 lab4/report/.gitignore create mode 100644 lab4/report/img/compiler.png create mode 100644 lab4/report/img/scheme.png create mode 100644 lab4/report/img/syntax_diagram_addop.png create mode 100644 lab4/report/img/syntax_diagram_cmpi.png create mode 100644 lab4/report/img/syntax_diagram_digit.png create mode 100644 lab4/report/img/syntax_diagram_expression.png create mode 100644 lab4/report/img/syntax_diagram_factor.png create mode 100644 lab4/report/img/syntax_diagram_ident.png create mode 100644 lab4/report/img/syntax_diagram_letter.png create mode 100644 lab4/report/img/syntax_diagram_mulop.png create mode 100644 lab4/report/img/syntax_diagram_program.png create mode 100644 lab4/report/img/syntax_diagram_relation.png create mode 100644 lab4/report/img/syntax_diagram_statement.png create mode 100644 lab4/report/img/syntax_diagram_statementList.png create mode 100644 lab4/report/report.tex diff --git a/lab4/report/.gitignore b/lab4/report/.gitignore new file mode 100644 index 0000000..38a3719 --- /dev/null +++ b/lab4/report/.gitignore @@ -0,0 +1,5 @@ +**/* +!.gitignore +!report.tex +!img +!img/** \ No newline at end of file diff --git a/lab4/report/img/compiler.png b/lab4/report/img/compiler.png new file mode 100644 index 0000000000000000000000000000000000000000..3439d90836f28f5c7e90531f375027ef24bb627e GIT binary patch literal 39943 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
~4* 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 MGkH*b-zo0D05)aJiU0rr literal 0 HcmV?d00001 diff --git a/lab4/report/img/scheme.png b/lab4/report/img/scheme.png new file mode 100644 index 0000000000000000000000000000000000000000..e44da2a9024609a1102d9cd4f6d46156553600b5 GIT binary patch literal 89660 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 z
S2{z!RE9J=66|7sniq%J~IMvGHbcc>&v*EDYkM(BPM|GsWwUNNC)Iwr%3@Qx7$rT5}d0*h$jCL!?^Ia?q;vLupzPDLZztzY?`x)8P}} ziiS;_(>_`oTl8FxTW$Srs&aO-bIn42oUxIVau+sz0O1Wf&~@mI-1^`@c>1M(^2#f( z^6D!u^UCv2^2EL4JOQniu|fFgs;DYF#JZm*vuNW14xI2~(7zezAb-a4v|Y-8uTWlUdngc65ZZ=dZ0&&rK0Z$Ae&&g1LpTS+Ob zqS_pyexIG_HGDjGKKdNbz4QvNy!uaGe(71BefW09bc-cE$Xs)_@(RYM$zZOzeT`RMeuY>UKQ;1drWw6C-;yrBS#y2JMIF zvLx0mSVv-7-ibdtc!d$&q%%E+sQG%^{XF>O^F058nx1`{ryhUI6Ucqy>F0Uw8TB~7 z^IERy*?@5M{AEVkyew*2(}G0jnc}KODcj2K#B5SC?P?KMFYLS$XxpJ4QBnRiJx}yrYNM|? zt(wOWAMK-7P}=QyV=r zYmIhK@zMTI{oC!NDm$5sb&FVb#73drM0ni<8Z~d~ndSb^btp3v7F~xH9aR z{p?X2qesu~EEr3ETH2vA0A$fqMtiv`c4VLxVg&M4X6*q&I0yK{e+o|H?TUxR-4xfrUtD@NT^5C06e#G9$GYm zO^Hb)l{=3uQ}dP7=7Gzu);;;;<`q+15lC=YGkSH6Ai&3n}P*#)Bqs=WCxc>7zGz`{tH3j_~I>M%q!rdj)*3>88q|(PzUl|Lthn=+vvBD)Hto*8gnyjYzH99Vw|sUj zoX_&5>)ESi?pdj2p(2OM-9Iu}J>Ty+T#4cvPn~un`Nx~jG46^sv^cpQ)q4|EzX#oi z-_DD7cTwwEU-jFwlAC&f4f9u!YI9I^Vxc>CN;Nrqcd&KAVm6fGx!c4P)kXcRJ9zf_ zJGr)NJ?aK|VKJET4vHnNO@I2gi=|G8Hld^rqk7!?Hy_Bro^5HH5Jr&J3Bss;|50k0 zxbZ=5yYU)EwGOQ9t?eXt$42&S-O8@xdxPskh;BKA(f|CCNt52;-%sDk_^W%-rAZ8- z-bW`XQ?E_Df(VXpOPApf^T=ISb5*x`o*x}>+9}_&our(6GL9=uhS)w_b=Nbz_U0=* zGkysD+o<^*sP4%r)K6~j_ZtdUjEIk3v zOdr;Wm@6LVzaLNJi%DPb!E?8BN8h;GSA{qaw1BIlW-KqKr-7$c2WBi@+8D0dh&7R!0WDOL<0*x1{>)szGwdIxlC7Es=w=qaaU21 zpG@NF`F#J{+sxjbNt!K)@aP0Ob*_h(>BJd^e~TeFj^NHC8PO?%y1_asQ`WHY$A9y{ zD?hPtcQ$#Io?m*7ah7M2x_J&iz4syykH3r8W+$;H_qSVSI=^Og>_3DXZ@HYt+HW@Y zRMyX&&M#A!u%oQ@c4@B`v})ImzCGjcQtT-C%bEV=B)k+2dsLVe|;*xK8 z@6o$>{3#+Fn>AWzR{Rs^*VEhZt$HzFeAq8rJeA;bq zW-rU1=qR9aq?41rg;@(yDXCD8U9U#8=%m(X*L5UZ-H$U~59|C0iDUdMRL+1wkK)*FOBNHwxo5thO}rF^gFgeU9y(5hTow?9q2?{6n@~i0- z8$`4=#CKU96-nFKoUN|Y)6@J9u&McfXdi3071W$pbYZmUJ%Gyw^rD&HpKN&RgQ?$M z-M1kN~)*uD)Gb&>~Jf zQwwpPC~70iT~SVz)|l~JPicebd#e?P{x6s`%Yofi%)Sj<$;d0AQoRZ_`v()*t{Y84 zeANr$qo1e!t0$nTdf`_umUu7qq2f?4g7>m-e+EhE)?Wi7LY#&npfTOid7gdgpS=3dmw4fs$9dw3XL#<_clhwznao?am!!N(tmn{G zOB>fVs9q;J3>?XX;f;w4a8q%3J?oduimdl-HRSWuVz?tfBbc2WbInY zyszKp^=F^rsTW@5pW1dj`?RN=Jpa~bd_8+Do0IY>P%A8>UlgHjMl$C5zI1IGidT6$ zX7VMpy!<@RJfYoI`4X?Z{W)LFSkCHQ>10>fYwKAdPQ&E_ zn~iEk@dQ7$U)e~^l>oHrrY9@fFS>ktd7Nn7XU>EC- zR8grOyQVrVXwbYB-RlKl*2XbA(~7mRCIf;9t zkC00=;R&6&u5S!s0jAUEsjGmJ{DZ7pn?{jZ&$>)8)T!T`uHEYsV$owfbD{I}7`8-r zqG?jxuZ|sT@eNQ+bY)DxS=lb$}zODeTq0PxV{T1vI01>&CQc7K*RhApDJX z`Pu2zau(Hy_?8{$6r;ym3uL-VDa^~{;GsO6>M`v(&FHi{B+YpHT0HxI_9{esQHL=g zlz>2gf-Kr|>RQ}ZsQJ%YI5;eUaUcMnjMW}5I zi9QG+{swe9EoP#&)zpgpY(ZD4^3ErN8Iw;Sp%D>;Ybiu+)cMq0ApG{J=|nnpUD|CW zq2b{~sOt&~3Gm#?D8%`qXpOA0GOUiHv$z}38@%!LRWDG_cTsayU@K2$zu> z$&7DM6wSJ}CEC{u?~@J?V`Ovc)vHU>NKaQ2^}k#W?Mos#IhU$mul>#rL`-*yQ^p7S83 zzd>y{dj}=Z_UfA$dCg!3c8nw3oynn<)0i^pGd}lhhx+eVKk~z(-5ha-Qm0*i23<3P z(N}k+vD&!wIoBUP3;~4HZA-V|qZ!$^DGfrQEM+Sj=gm;py_d8S+era~(^D$bN!zo5 zrHePPFBSWBR>;AGL94@{XiQzflYyHG*ONJJ2Fhk0WI*E7k8~ z@|P3UJouD}YWnn(PnbCAJEqRxz_yHP3^6Te6dOR0&$(Tu82qA%Zgv^h+%$^*t<=Ab z`DE-~#k{G%uwYj{`4uj_)O9xReGNB_9mW-%8xm(KBzxx)=6wGJ6FuLDmcHQ2Z>KY3 z#U7GvAq0m86B=kycf}7=SQ~ne7|pdK2XlGn`ox%vII?jrvwxVxm!BPdzqT)*@#S~F zFn8?%4qLs6Y1M+*AhmA&D|;%6OPh9H(|!c4d8AU0HT6PXuLWpopZQBvSL0Bx1ssaj zSkQaMBQt0p`iHo&=46qRlthZPW=vDBuu%MbEf@+j$;`|oBO~LCDZ8MUd_y3g0gVLSRH3Eida#LVyJy zb(PfxX=EjCVO@rU%HyZq*Ji_amy)_;H;0naDRgVM`Ug_4YY&>%RqLMLa}H4y?CFQd z$}1vA>rrX&LLbqZmJK6_3$vW1k*0ly9`Be0Vj4E4NuaJ~xCC1!x!F0SWY|2pbZK2K zxv&+db7aFzW-Q&qfgA_E@vUjyXE0Z_3L;o-1D!5s6>A=)xk>C$3tg36@pOLi_wysn zP)Lqi<}y!H){dp@0yXaqSk$(f*;DAWae)iT%2v;rCl0!Q5HQoHmu8rhLzLQoDDTY>A37x%Jb7m-m!)C z%Qv#W%!$>d!yHzR==#lQ6Lqx5s}Mr`Z;*hi5dW*xMwYv@L~Tf@7h>8Knl@>R*%yCp ze5Z5x_4@a4+X}E|Z(+l}G77Z&x(z`DhS#G@=eqd&oaPola{~41CD5$Vuj5qZ9N0@r zatgVZ?%-tN7(HHr;Y8L|8;Xq^(WHJ9p?;Qg8-B&;i%)PJ>T6@}HEB$}sG$F2?>+#l zDDppme_yZZy(gp)lF)na&4z*~*uiq1?QCZ~|6Z}2<<#@^&Mw$c=}MK}I|+~wQb_MT zdA;s`X7f;lfB^y|`1|~C{*ryW`(|g`?C;Iahyz}nOy-k-q~X)?$7deJ-0R0+WS{Pc z3-g1onmwjl?Qko+;1d#!gkD21;+k9W;ImKRws9#)4L;igE_=|?1tB=H8~fe_By@{F zkVXc@Sr(8g^^k{;#`X6;fP3fOgd0ZnL65iyg!w8VXAkWzK@Np?2qNQ>(R28z$sw6#oAo-=0nM|pLJ~STP5|faW5QT_9FYw0SCzEP|;T=B_x6i#ElSU0duQ*?L zqZa$u?MGP?dk}5UX`}FlZ%{N6Q__&ydnhK{^hext$90%KlAWh)JKK)8%AxZQLwFq9 zmx=L6iu8r%q^Bu~l%3yxy)b(AAMl5V|A2d@jmF@#1SCd>uzjw8%w=Z}$u0SKmAbGloSVCXgQ$a>!M_2FM(91gm3CJ+<5l`_|pToVER~A&Pj2I3Gs!Ol0BI6 z0eqb7`l$~z*=Ctr)%_uhyRvHl3*565yfls@5z<@+)z7Lh?d(6=W-#L7{w z3r19YA`;p07aJY`)P3bs9BuR^?(V@Ig1fsWxVw9BcXyXy2?S3F1RY!kcXt@veQ@`k z_g7o{VXO8J*e^Xb)ji!)&(qz{z2}~LPKZ~oaHOX!&^pox|GOgl ztY`|N?PIrQB}TVP1<<-ep|3jZaJ_dSDeKu^D@)t=nI}`iyhhgRUD8pn5v3xS`K>-_?u!>KG+S`2nQYSnFx)1hJ@4n z9g761Db6JV^&r|^3vZv2A?Aj*!u;lLNb1tav?aeckEcq zw6Jw9kZwa^c@eaBCWFDdH(7Yer^csa(DlRv$Y3oT!4K{`LUQ-sH_Oz1luT{q)jj9( z7(g8!Jh%||w9Xwdk@snMqXng6RcJCebJ5~%>$$7D#{)F1of0bFpkSAw})B)$>z@_xy+Vc3GGZ!>k> zB?)#|+6c{=l_Iqrx&~N^kjXBZ>nv@ykS26JB2WZ1kuL+ID(IoqgAgsdW2ufV#;Un( zpE;MEqFP&tty=|$_Ya3gKJ#PxJ;5`wuu1!Q!4fAmEfRDvG-YE+2{G%W(d^Z&)S5?J zLh3)rOGX|^YP!0IKUW%C*PVNun^Eg+CU9)Ve^6OjS;fu?;p$qZnd!ULxGLMn7Vh)% zX(wW>T_BqWn|G*fUygec4DyCx=eP2yn|Xb?2bK{0#%@M2WnVvix?QT2U5%2yFsAW* z&_q@c>ryo>+MIAfJxy}%>CXSHGE_?ODE0WPDh)@$Cti^Qc)i0J6u&ezcZ2XWFu&E% z$R{IBi9Y;F{r;U=OH0eQ)I`O($D9|nG)u0i2%v7~$c18)D{Xh9CJ?o1O$a84m|g=> z^6>GXOwd=DdHw1vTs^}v!l*Fg>Ht@qi{}t9TyTpz4BJ>>uHV6 z*p*XLE}SLm7zKO5piR+;8MdQJXHfp~WVq-rWIk?o!+TN3WdeX>o~=oiZD`Qnbql=2 zi9pl33tl~V#1{y)XmlBn!85F0M3eeX3cw^`d+4NI>WDw@t@O{8Ff3KV9tzKg)O5X2tv>t=h zu&OqXyzAb+@uEz4;Y;})*qE;uPerC|1{wRFSvRrPyes-1_PIpT<#I*#MJ-50gzaaZ z>2@YBDw_`pnl5S%A~faQdxJ^yZ984iE76FT>n7xa*WT~l_rT6wZ{FKYtIoKmRN3kE ze8!AM{skN&ddx?UZz?+sGWT7wzVUGmxPTg#8AP07U@z2 z8Jl7K%J)+_;3LJuU=2|sstDbpGxy8*izMw5ApO`Gx4t{TvJzR6V2Wcxbh_X_b@1T) zQ$y|FGT*W1*%wE#Dg`x2GCZc(7dbuO9=YU>CI#64ZMp7bY1*j!xRds^_ekRN3px6j zVvg$}5VrUJAD_GPS3(T75UC%nn8{zUdaWFTa_oAVFEo2!$C-+HgGU9AS@0G+ zcy(I@P3Wsr7=FsJ9|gX`hlFIkzQT!jD5#Cl?$~NvF!nqQKK17GY4?^_*r%^D?m4~c z`C2zfP1nD{e2MBde?amH@mF%abiiLt-xq&Xeq8keRC)1c-CBMy0Xs!r4$lOCRtKIGsM_GdRz5mIgLi7N#?dA9T3r5tf zQfsm8yxf6m#VR(x`3j7TjKf5paeG!#;;bmvmW~b;>@O&*=UvnX-*H{n;ZU;QrzG(AL8za>IQlsMG z(mBeSRV5O+ve~}>`%V*BE2LP~RDb>QBw{{g%$g~+5mJp`TKbf*&yEVFf*XG~`ND2@ zIX>t0DM`-!;e1`HKrBcv@7TJ>#^ELQB>vGG(rd32s3I8nSZm8fl~<5v>~X_n5SbLi z6m@ruZ?Tf9PGv;^IKA~Rpy-5S2auzzw1=mjOH8yJNq z(kNSup_?$%8fU_}XCfG|n?620_b$mJCVg){zYYu}z$u48X(Zq148FX(iE7qaunDnv zz0)fhs`T zlK#zK)>&`%W!>S7>3C-a6Z+Br-f21pK6P4cR_ID@$RRr6#3_-!%ADR!!s(0>TZ65EPm|GV6G=unUy%)Q`N&T<7*xA?J#_i5At zyWItOBwU~Rn7axJ(vxc!Wd4&RJ=UJ9c%&r`J6EtXMEHN!wjZ-m%& zk9OcekK>)U09Uwq)N@2YfFx!gUh;?BtDTRsWF^!dPz;fZB!sqv4fSK zak{1b{dBs$l+;FCwhjn#^uDTfIxCG>$6XG(eVr_C zx(svLpSJf68OyKRu2MFxx^v)MYO>EDH;SuyzxWEgoNU%>5G85FPvWR`YSdf4I>?gV z$BnFQA^&p9kJmS(GN`?j+&7&MKyn}pJ8QnW-e%P>%$Xie-k0-c;pgQ|2x2BlwE5u# zM$$s0b{u9I?{pHXCd*GG>M*LDDrjW^b=Lo!>77a{z!gSxa8T3KPoCW!N^Nza34Xp0 zdOf6=+IhDX8yc0)EUU{u?WB%ORg8hDj(lZn)sLEwUKu6+afShaSn4&R&m=`y z5q4~1vYe+UEwvOZ_SQh@*knjyPIaVssKOrckzXyB2+9m6z#?PEK) z<^?SY%?V!LZa>}#PiQ=PQ$(fluf@od`|YjG_4(}PuhJKH6-d2q-@*0lM>bL-?t3Mb z0dDH%B(U?so!<@MjHYV_G=?*T;2tQVGC*oF*YrM3HhPNQ78f(b84JtX-nnLccoq+f zj`weJpx>RBsLI{bSKp8pDpsy68__n>MvgXoi2if*-R_Gn4w0gSxqA)rAQ#zP!p~ai z_!Ky}D4F(H_lxo}X!S~de4r-IbCbD(K_z(T!` z&>;JQ>6F1!P$pe)&KEOj<4I@m`;}oJz>(XV^s~&j2z=)txZ)R;Zr^Q<<0+)k~kfSol zV%SJ3(TChTFEGH$Q<5r4vTLfgm7R*Wml)^K^X7e=i3JpWG3KDu9wMGv%;(>p(hU^t z?1sc@n(k=w4^F+R31UNpicOZPDvbg}>{OASa(J$Edp;xZF@526b@qCoKGK@k;dz52 z>E5lH)HfUW2O|LzRCQxdyq5&WEn`~u@NxvNrl01`o)-({wt~RtdBg7~lGz)3%={RUi!pcE}(y!qTpa{C~_l<)2G&fCOEOLC7kvL5x((=K6?HKMzeF6+ePg) zy{S;}zz}D_ljzlN(q1}zqo=vk=X6S}Zyk--IW!HtqFW!R8nEW+US7ITC*;}lc`($F*#{)eteO@F9Zg%VT zj_a9mj_Hv8)=nbvh_i>iFOiKjj|>Q9Plk|gi+dHB>tPbNO-=BRfVQOFlgi_7B2Sk= zElzfny@8W8Xai!Y1F?de1u(x<4h6we_gMWwY)!>?V2}63D5XCHFPK@NiqvKwZobNu z*fTmCJtGaf@bpwJu>G3rYRBVlNr=rM_3Gphd5`qNM2~UvMj~WI#8^@yPZW!z0)N_S z9y6lVhI*E{B^N~2ood16pZpQ_iMw<+nxu5Qt%BZSEj9lL8%@uh-)upbVt4K-0T3vU z!K8AQ{$y1L6-kTH^IP~}XHw9EQ&)*4#b+aI)n(VE*C+}ZHXZa-95rtqT5g3HY|w^c zcz;-uXwZryCG;7k1?M_|R=}*exv&NDtm%B)&4zg=HguH{n6Io0*0B7JO51JZOKQEm zEMOn~*p@C+8XDfEQoYbb19*BoodYWjRD_;KbIl)Gn;Ax-A_!NE$8SnP6c9blx!4(b zuD*P|4y)01C>(OOliBad8+PI;DlaiT#`5JDjvI`o*Q)}eLeW{Fus=RA7YVF>3ALq* zQ5Z0F(e;B#fdR99-m@1C@9o9%p8O0)CD}P0XWSgiY*pde`^}|yrcbb}+{N4rJKRaE zjLaQ41-pmKE~H)<`n?sWr+k;geb?r(9>4nADZ?&Tb8!hXZT>YCK7Em_$aF16T2ti&pfn9&_aS4hp+$O3%VLnp))mR z4DMk*wj<9}WBTetguf`bzX_v0}bZ;8&bBSDyubwIUu4A2M5^DCpbV2uAz}eh`103iyC9{-*i} zO@oqCHvNfJl`bOesz^~hurWRw;1arw5*zn1^d>z;H6Lkczai0IhB6C_A8Z8ipLafp zt$lPCTpkse_K$r$VY!F|AUczLLZz7MF&An>kKy)ktzDTbj)1^BKX0nEv8CF$_$&5^ zQPVPQBSyxV#ZZnq-mq{f(7j^rd97vCgT?CVQOs~YvLp&buyI|2@Iw5qWPy){$59NI z^CfefELw;ZCW4*|C9Q0ThRxa~1H*mIkhj(s-M^s<`!Sucn%KlgeeV{PNv?P`LxZpj zjQ@_0UdS$PW@1lr=!ukHI|6z4P)yFC`oHbQCVPM)BZzB&@#--JQfmSjYBM=i}>+ZsmA*#8%0YWZyduDF%osUfrpw@Q*08kS?s! zpn;awO;&YaIGRug|10e4B)53>cjV|5(#pUOMet~q1ilp3x+SB{$2Jq~(@CMj;bg{9 zMH9qbk0X2WthxVsT~TtY6&7*6uEPhsvoS!8*r+PSJ>6B%lwbT1AhQJ|laf z_Z&+Y7W=`^)vnBU-4*|!CAEW*EN?HZ+$a~Tlw`S4U zR%syiWNyBpqPo5(k^^66pOu^cfrvbg_ar)50+nU7rCsRnJE7fb8EtEH1;xr8h?ULk zvRZd$>L!(s2QM0Yj9cLfGHgx8*SGCm!Z7mnJGEiq+M3TEY{?Yt7MM&3Q|xCOu@pSW zyEO$-KX*>$yV9J2$a6Ja*qSeJ)Z@A0Vjy!HKk)`9_J0OSJCw-(P4Uv=%97{N^vsty z6iK)ce!bdWYnJ|G{8P6}J>*H@gOi3H>u+-DBk(VAS=Qn3&hk|8qltEWZBRc66pT5F zd-v1|e7My=17TsYiSeP?gWGL29j*Ns*_mX#$JlFtrbxDmWI5bETTo*@WED_f0%^7i zrU`d(v@UggWW+&%=s1kh0aTpaUpReU4k`* zAw(DQuQ9vm9}p|1&ahv1iQS1;9pPh3;_>Arw&vl6v85!#$<_&$$#Dmba8e&rS`#~Y zuTH2o@4^#3@D&!Dgb)E<7>O)Nnd7pj`%zv)@OQ9!EYiJnZ1(l{yA(DIynp6H7Iyr% zDkzc7S$Xo|#-uFOlwD{TLw;~ZPssFXlE?TcAB9+vFL?r+XSF{jIEbr&q7YvKPoe*U zlZR;0e%?%cYTJk4J)-s6TH^S5VVtluJ z$eX(s!2OoH)*WBRGGb+1uZJPwKO3z6wX&E7n%ZtUtuR9Y4*ifxCN16 z9ev%1PT4IaYJslI-p(u0>vTE-YdA-{&s2h+vA?|CHPxi#j~_hf-kLC@lu;bPD*J zc&4Z=q7j`q7>NvWOA5o7qLx}6Z;M>oQp>^hW&? z7Vj;S!XhP4%Ambiggnq}fGLnEJjLpjL+F@eX-#V+F)K+1!wmLTV*t+)^0MOx9L`)8XEx zLA-%RVL_K2RuK=q%f%>}q^d>fKx;dq?f?C|_-_hcd;ub`1q(>LC-atuhKHA3^2-O8 zSyLLD533xxC-z%a+&f2KWTK&ZyI!k z$^(V!5u7ciEaClGrOpBs-sWTfGWCEKgvl9vg##P@;^Mesm*2MrbEprizk~GRjcZ`9sO|}bl26f12s7wx4X?sjpj!sjULn~} zcnjb|$0~rsdinyWQukYF5MLs-5>kKo-jdGa7NNZVYa>Y#{5dQhNYqMz{Gu2$91J@x zT28`7+caVtpLLR+mVp;Tz7AY|5P;Ifo^3ww54#Q2A|iEyI|hkay?{21!ofi=0G|s^ zt-7CUA|S#gROBm1~w}3VS_s?R+Yx_yfKPuD^{Wb)0rRPJyUT6-hucO^1(Xfqbw?*Nzol94Hga6V&mf#wNS$%F0DJXmlp+_z9bxn$t zy-GS_ge`x_b_36QQfR!kL93`12v2W#s*1?<6U`odOkWtL`|lN)!NVAvX$*8%l%Gjg zz;+j%Qp5iGwz_l(Nw19TJ)Nlc6c_}ytnis=0;b*T5wmu43ASQn6)(>uRZo%QFx&1< zqJpLUsbUwxgbs?kLttDa4|H}&4&Q`XHI zvc~w>@gS`GiuxnGbZ4J2hmn0)A17SS&QX{RyyIlN={%q{89*9+qFpwF@m0m2$aS&| z)qI*fz$~=STKx>PmahLcxCf$V^BiiuCWtH9E$^;S%Nkageaudu8y{^3)QLcw&P``M zK?sz8R4IO!_m?2Yml46iBT&Xtz`_Wt=XhJb+$)g|JD%#fcRMpmZshn}t)O0P?b5ZU zt?KBO-6OQbcl8B?ydiG9Zn{^F{Udn!EqYUm31E^WhKD9m=pRZ~;+&C#e>mmoPe^9nKfFFR1D1~(FX%%8E@$H>Cc53n4X zo}Z6At?4o$&3jkqHuckQ^DKYdoGFo~p{0fUe)FXL0Mm*N@h5pFGYNXt4t!q7t}JfC z7f#kG+}OcmW`54+cIz8=;Ph~Wk>Z(MbpCEYD9Su^r3`9gM-}$aw>G7Y>1T$Yt04~0 zAHfEXlzrkjAMC}Z)W*uCJW9BE8o1l=^70OkkK;|%3!k@0lY$@tT=2!CXwK?#bYR zd}Zd^*Y>B!t&Wtd^%G-IwqcwBZUxxkHI+*UTRFFLVAQW*>*hk&{B4F9Fpy`M7u%4g z2{FS$J|d~aGW~G6$+EY7xbE%KyLofgYFRFrrIh(|H!xihUDS?ZAzliEq0(e7!bA^! z0#RwrH`caA!>Sl^6DLzh`1{k>xhJUW7{@$E3(YTP6f-_BCYN3ePA0KjYz8J`ia(>E z>R$A}D}2JriT{}%nA+}-tP}V`Mo_b!1p5a8q>r%>3_U%<%0aF=l<#B+a5~j-6xCeu zhI+xwF3i{V_jT2v2K3CUMg1z7n2vmrKKv8)tV=TSqO09&4S$PunJ#M}(fKpAu?Qtu{J_i-4 z=0&yom?n+D7GvFdgfzjRwXV8enjthDT&kZg@J22s)X6d#UaKWtog7 zlQeDiYlF6UGPaJY$v^|6PkT=T)=g(a+m`!f__hc8HZetQ#B@U>MM{a0Cgo;^PI8*E zK`OwJZr%CgwA~;Lye6ajVCsEE~l_nE)%-Wx)H8K+Z1$vwC zUWa>k>uJZ%zLHwuXB4;9;SJSe(pX;DR2sgsc0TP{1_G@}?)S9;LBYlFZ5bcMVS8@4 z(=|TSI16$}cQ3U^?MWa&M4ki7)q5g0=pHX4tEBiJ0`CI&SxrCjwK53wHiyIVeBcmx zKj9B%cOn>y$I_aKJrySB-wa|!i2OWItq6z8?Bf0Y-f|0Nzx*In7#W`ztKkEyFo#LK zODXK~aBeZQj^Jq2NMu?M41R+ZmP^qtiObA{Lbv$47V&8*xhG>@qAZV|hvFH#0<+es z5+G5G9xfEja!#~~UKAXt*H%5&lZ& z5dY6zmxnF2pU?z9DS$Kx=Fe~3oV1H1VTT-yh#|M>!+NsiOl0t2JwY`)D@=4}0kBx? zX=eB%IVY0vg``+81tefaYMpI0V!QHM$9-77Uvm-G?Ou@XWjYped4z-D&4wrrnxZ-A zHabPk-S%bjUVfjL#^Tj}_~7ZsU|4+QuY(#r5WUaMzCDnGmkYuY#{=<}n!3%bt&6WC zT&$?&AZGT*IohCBKYk26?M4Jcy3W{7-ejdlA*`jC7tv5U$XG97j*0;=)!<;(Oy;6n z6q!Pm(2hUQ%6Ca+yn1Hb^Tkd7aPaBi1@hCQXg)zgy$3e%S|_Zq_j&KRXaK+`L~HEYGSFby4y*LUy13@@~y>ru7! z@oP%9nqEz+WY(+e6zDDH$x+rDU#al5Lnq`DBwi=NpaCwE%QFs$yo1>ON^&o*oTz;;Om z3<9K|9d-z$Y7UGpU^Md)g+Wl|-Sc+NASEA9%-J}vRvjleqcb@odj+-B+;urWfMtB9 zwtk*^Ai61*k?U%%x~WMlutZWU49Y1K7Q}xC(3k^@#Pl}7Pb)Y z?RP$y>UgNfA@qS;#EZTL=(O1Teb!>thgE3Zri$N{7^5c*@9ze~q^umgizRiFP`MMK zgDXs0+8Mmb&Ab|C5UQ=Nid64>XkGG3 zt+IJF0Pu6pwHvS(Dq;X8q4g7b<{w6OR*A{&2!YxdvX>pfc8cR62XzMn&G#ICPV7*4y|c} zoS7X*<}H7yv8?mKv^DCC+M5>OZ@53QPs0;7eoEq@Z!dcK*Sne`1wNKjlHNeP#h&i_ zM#=|St&b6+kTb+2{3iE-sMQnJb^L?Q)ae zvfmL&l5?M}+5OoZr*Mu#gZ5eDgPj}1l>7MY3U_Lqx%lzVuWl83g`NY*AA%f4~+FwIC2 z62NhPMe&j}nZLZVkTN@k>mQ(ZmC@dQQI!42;5ecs;K?K`t^^|RGTi;y zvMZNU{>oODLOw8451~2ZWi0j$XMGbTcI4pKE@8=L&DD)UxG%gNGf<_EP`F4c>+HZP zU25q3O0yt+xQX63crRsD$S(wLHqjZnN;pn}h8SDt@hcCsyd%e=Ye|kGiV8O&3NKc5 zrzmEd9oJ>*b$r9TKU^ppDGKGIg&v7u*gpB$Y%!VG^9A+cZKCa$**{6IZ^60yS$XLx zmQi;cAR`OctQ3|DGe5=&(daes+~J|Mq0us9(~jeQXn7}$^^@PQs7aJu%nO<|a||0T z^4GrV9_3veto<777iZBBFetMeYuba0Ub!I3&{k#OcTeRc(fED#eB!~i5$Sq6Jc$nL zP#s-Dt<^H-quYeP<60*sVx6Lzb%xY7N!$n|Pl3g;O0ZSecCjmJlZuF%T1!<{5 z0)tl6#ZrX~+l!&<36fg3T^q-BKd6}HPG=ois&B)1-e|^A09YLCx6{&%s^1DCF96MQC^54M+86;eeqgjUQ6XZuN?U^Szl^?thp+f9}cQb-3*Mc*C@Bd~OKf@i`G~ z(QIn{#(vm9I@_nxeSEve;E3tgog?fzf zmOe>!`yud#u@<~U)?#~L_S=3mt>Zy}2|bjW2RROwe)k}TyvHg1*+L>i1x@c)BmGvH z?ZXxfc>Nb*`Xq^cfnEQ@aSYWiB4xghga2$Vj+j&{6I7b0f04X9OWUy#$0vg=GYI47 zvtF>@yWz)bj*rgY+2f)IWEndtQ#6R&{hSLBy1wQ-$@$rz^mUtobhJVyDzi$rG)z?u zDljN;>vZA-=1dvfd3g3Gbbdd4wdcDMYMd?;{U!&VXfe!|hrvK3=Ib0xz%Etg6BQXe zubiGIC(_sacySRC@^WbVqhRJy8X~p)pJA`B8d`04EELdRh=O?$etSu$6q>S+H!JSq zCTA4EVikEw+Vd6-Sj9*)xv(-cO=W_8omrW6Tu{HtOwG)>?VkDUr1;dnJ~9`IRt3O9 zmwrdvJ0PU0AOM5xN{oc4{Qyok8qzzpef#cxtas6iUBZLwLgZh?h=tgK(CE|e)Dz3eQLaV0UcAwsX`}G!q(X`ZCyQZY z{7@z!VqqHwxtn~Io@P)Bm7AROYhde}a;e(Dq(YA1+&fwJJ&Ft9;9aKZaUzY>P{w+d zrk-IQK|MH8;4w7bY4w44@o8LnJyBC~efr#2JpdLLje4oJx%1GZQ*dXVE;M_YXFw4h zN|r5{7wCVfy^*6xmS|${@TJYklg9W9^-0(#lc`Be^=Ce#E_(a@3GfvgD?fB^ducc8 z!UiF(>jZ%k+?)D%M=YDnHb1eF+kx#+^oQ;FH=2(TQ@_}p^d zb_!AU{iqF6y7t$}7E2kR_{CqGM=f916&M(0=|bydtz^LwJA!Nt_-lvPbh-XU zCI+L?vG2z@14qaLG}r|>Qp^)A|M5g$DH&a6uQjoQrnW8KiTmJfGv?9xirnfe3>A7o zTyv){8b6w{%R_a3!h$t4AwDdNGul4$U47<@k zXtVF;FpA5J8trg8+S`YY^jy<^q0;?UbaicW$L|dWBsLpoz`zj-n@l8?@q^4E&CjF0 zL9?h~Vkg}54Dc;a4o`fjN{;Qh71wSe>=b@a1B_MQEWC6`NW*`TwToRM$IEC*am}_3 zQL=>Y%MK+A@-kaSfm!_Q**EASpt2{1o7z#Vhf=7x-#F?NPp7R2C}*OmMLxrK1Pn+5 zAmRJG9zFL9{R1=$$(O>V4;k8 zQE23zjp=~Kpge3NM^liJT_t}Q=Fx(Ge^b~6D)Ps+5<)9OS%t;R*MWBRN52<+zxL(E z+4)#{+yDf(+N4w_O6>reSTbgXr>B@HVc7H$+Qt2gu8-jHUxK)*Vo$$`wmNaZ%k_vU z;_m{3iJv0$>uri`r}Fbvk&f4tbQqXOSQ)E$dsy$0=lm%!t`;b{)KDpmPX!gAb={Y} z{)C=pn+C@sH(z}H+j z0D4}>i9#V}7r!UnMHgpZs4>WEirKO_tX@ydB6ydMhu86DTg?MMTA4C5nGudInNQ13z4ct;wCeiPvm5K%=M za-GdsbcZgfhqfAg>wPq<*2OnHhOsUnO910$op(h6}+`Yo$lBol$icvFFQhl z{FVRWi}gPe_V)j}<-O?k+_$Tg9=kPO8^xleX1+yy2M*W=81`SD5kZ9V1*R8MsiYyW z8ymC9SK%2lIYU?=HiY&w)PAw;6?eZCVSnX};H$V)BptJpA8=k2>R`Kv+|n5`mHudP zCrOG0Tb+KjGpfsR285{=hj@{HL``+A#iNnCqPJtaOupb&i_>i}37`T_Pd|3jbvFhN zTY(#YWmELoEzUc9cCXx^EfOT!67u_TU4u>+hprX|Sx66{mmVE1oAE!o7w}v~QBhjH z-xq~4Q{}0)!&W!1xhJUU=+M7Q4)0HcK(TFYLYG;KKuj(2N^qirqN2K<-qF+PxbM5P zw6xpJ1pn^ef?%ANl#)>9)?X?RhDE3gklN#q)+_{{h}_w+xDtCal+=a5jmhC6LC>BL zbWFO^XANR4faiLa=$oo#CvkrtGz=+zc1WZDVZ#Zczn9KvCNMdi<;>|$M%5Lpd$6K@ z@Z}{gf@uH{@i5`fNN!9QXo=PzhNQTNz2eopJur}R*CV&}{CIkuYq33V{6REJ3{$eQ z_7$$ZrGTp$+;bH#$0O9J79d}85!o3#UtU;(0iFznss0@VnUgPvbLXL_rOLT*!8o|? zt)xPpNDv1KDK9Tx@&GWWZ$LnR*s)PvU0tpBnSonsP1B`%+EWBch;bTb@j^#{&+FSo z2;pDN?o1;U;P?BxCDVj;6yWWw;^o7`!~cY92pguS(dZ<#?)wT;8K%2c2LHup1%8lm z?1SW@OpAhLieZ!Sh*NnSyr25R{77Laz+d3=3drr31@GHGV^CVfln=lq3`{PLzQC*X zjme`nYOvi~e@3u|=XNK2gQW<1CKJ=sMN6lQ==_j=yy5n-nDh$5mhIAQ+U^gw4;wg$ zOwatORUMvx#*nF{u+IJq8{X*a%YSUA$-nE+x?x>I%EQ+Eus;;D*<{t#(*z1-ZO=@( zAZ_%AOLeNL02J|y4^}ZT6L5VdqG1ds1)JFLmFDTB@CBZ!$M64U+?OsXWuwD!nai!4 zNX(rdQiJ~L+ns58=(~B$aLK0iC@RFprt*rN;d9m3j$S6SBpzmhpR(7ZO}c1zRbr0B3lM2yEhd538oi)(Uudb z@ZR#%3+$HfC2uprgOHQRKtMPtp@Mq^qhmTusYzJOhHD*8003YSde?(U(LcuC#j=6) zBtiO`DT`8#0|}zDH{v85JUttTtU4|_U-}m-F-0yzAN$JWO0W;9_H^O+;T-Ul;;|se zYJV(t38(v>j8ZNLbG-zX5u_mWLx%Lqlq4-YBUl=A#Rt=e_|R70y3W^Yk3h}~*4J+qr2cTTG`PpUT#fwHrSG3qJD;fz zLZ0ZvLOu$7ZB>YOBD`)>RUqjBR9hDAtjg=1^t%GJ%fu)m#ZHY!A~CN57$&SaYr99s ze&N4$%*bEl$4ZqU|60IB$K&S5dko|mCf*%Nk#}|FSTFh7ez_}6tu0kG*EcqVC}wdT ztwI-Lq%eeWYzOvD|3amCTzGTsEV=>g*s4;G9U>ufgKz=v)FJnj_YS5L#G)Pd#X3*O z>mLZw$jq$p(STaCAN#*iPbnxU5FjFOned#hY^DuI(Xha+|*!6t~RPSuAQw>Pi( z_`iB;76aU`1B2z9SZU~|4sG3Mfldd8N(?nMXZZQAPw;e8&nt_AuZO9@i-WdRUtf>L zgLyBGk8NK!{|4SGUXRbwzndG5HI$lu+r3%bdwNY=F(~EzZ|=yx_Byk9`cP#fcH#djG-4N_LVYB4v&42QjAQ8XwFWZwp`+Pbj)orA$bQ7+=rFr6l8U7)W zw09D}Rbaj;e)`8e<^~+3jt1;?a>m9ZNqW|zxaOz_IErJC4tH<=vdCC$DjYy5dy~Q@ z-z4dHx$Bz_`--Gdw?8>8(&xnAJF68JzGg(q&La2K5C5M7iP|QF_jMAA3uyx}umiqr zQ;*@ z@br_56145fQ^Lbc!Hd8=&IT`h@QRg_k%*LscY=%BroX+cr@yCNSlRN@Nt`lk7&EFeUI%}k*wNSh={GP>#g;fweEaCF#pkgp>5HVV(kdeh(`!-R^41=9X z6gN$2dNk!<*kV@6EUo;NGd|ZC>>>!H*}*0zh(}_#PmmF!_`kC;+6)D6w@#S z09Ee(AxeAH>oVaiNgY!p>YJMeV+!j~X=4S4O8}j(-q$>D+-izd*pl8;fXgnuqp&O9 zP;z!raTB&OJ&B`=MD!Thh?h128 zfs9%xV=LjrAGi`9S_vjiqJ##_5zk@@pf2C>+UspI9e`b+CC_BK$#etShe&dX^ip0G zYQaP%l6peDaJeFrZb+m^SO_qKX|gmcxa62{_Sd@AnoWp*Tfc#!A8@2V_#l1|LwIss z54D!_RrGiA6PqdGp0q=(qn+TD$?u$!9}t(a5_pW9;54Q>K2(qVxQ_CB+KWaD6cVBh z)V%yA7{@o?qsn_5ZOb~wdDtSp(289W1o1vQAi59O|Mtx*#!pCKVDP@AwCXPx4;n`F z9&ctjilwo0ihv}apMinNM-aK>@qB70u##mKPmAz!Y13PLd>F>VA`D!eOW{T1@saPq1D;(2|| ziggDgDnEVG`F3(gF3FRBx%9vSOnM7R!t1?P?Of(Xb_>OV@Rrdkh>=$x_gJp1^k@C^ zgXZ*=g!|8)_P40~m8r3FG5XCXv0ExdCX(KDh(4>+9ME$iFt%ziKi7UNP`mwla)xZ5 z?kNLZZtsKrRL`JUQ9bfmqHKVpV}Q#BYhn{EG2S&2+vLeQs{&9TN%Qa2qMssCC-;1u zAkv?ya3xn_zW<~{#c<4*#)teiG85$kx{^r~rKe-2T7kX03eE2YM)uO@{FA%kB_F0^ z$M+Kju_EPgi6Cr~##J+IbNbrwc&BCshgHe7MlKTcqx30BDbNJG2F#!?;r=`R{=l*J zT9C^KJ@ybvV$w(Z>ft$&t>5{9mK0vlf-TQe{DI%z_+TbzKxf5zZQ;MOgfX1PSbLU` zKn&AR5y0>vXTOwKD@-%Vs@MW{!xeRV@_Eh4W-f_H?zd81eCmRYBiv_SO*cXImHPvy9u6FliXA9h@`8Y6~j6yd)LIUo2` z%5qy>582V_BrpXiG~5!eWz-_087O-`da9G^kC6(X34ot9CGp4;L&nXpfak{;FLoy- zU2lQTq#O>sQ@Q;=ncw5OpJXIW%dP`(u>*89`&Hp0 zmAog4FF*yC%O^ILI)b`4?)zEswfs^6RSq^N zbbQc$0vcvmR_2!c-_N-8+kFJOewM2DnOD@_es3a^B8x4~8o%#gW`Wj6XAM0}2<Y30C0V!_qo=Lg&s(h>>v@Qqa6)>anCMHDEF0TliFro_`@ zR2+l;kquh5Q|+t}c|F>W?Da850SJV!B{W>jpuP${=)1kFI9@&5GBG&`6uOk53fCF% z0AtJC=I4ekT9W*++m2pA`1bbp{JhLpKF~YZrUzwN@nkhOzf?%uew06jqpsXTXFPxN zTht&Va^P>eX%Ov1!y$<}iBmGOd-c#|gUVODivjkwuW3_u#4B!nLidPD$h_;g2XiCP z%hW>2i848t>4Xd~L}!A3--f=#+EOoYmzOxO&zS5oTC$dWc74R-xU>0sDdb*G?s_@k z{wOsxYe{sC26hz7mjUFJKhiejA(yP0>Vsm_XipIwB%NiuVg1p=iM0rD{J*D!2|3U< zOaz1Tb?%u3Ztr**G;TOro>r;&_&xAoyKhChaqTqMisnPH0fc5}x{_LV^}~0uEI+1f zE?Bu{Vi&bIZLm zoP+e9zOD8&6-AqdJ>EM(uLvK{^r#Y0+|8qsHQ7U>d`}6@N{0ucir#cjDY(I$c;@*8 z`S;^J%)@O|7~T@4*n!8@2m22sR$E?$HA-a8i`q$-V~DP&-MI4apF>*tyh%xtF~ZTx ztD13!W=sovV{M-z#rLoEObhXCmgjtjP{*Ol+L5pMBXOT@ZJVxFP)~ph)oLfIpwVut z>qd|yOMW@X+hWwB0lG%FC_2aJviHWs1tw}X!!jSKb=a6A(_~{?t^N_-IZ^2s5T5sS zO9DaupXFeJDzxS5LTLikj--Xx=jXjkay*wpI>3R>z=TjWf2~CQq4O8-!uMy+p%#52 z*i+x)?8u7D%s`)Y+K7~M+=u(-*^|Y9D*MS?biBnz8YQLs%#BePizahyp6Vt zhKf8kFE>ufK#2llLj-NJH27=p$m^1Mrtx;>)adWe`)-;a`5L+dDWxd=vLl7VumCQC z>%<2@K@8~wp&&GrQUf_P!z=G)_npt46(x3Exk&8=Z!lTxt!%sK$WfM!$_2joFA@RP#0lA^#E}hYvpv*N+Ry zvAvdpKF>!@gsM67{Kkc+V7tG%Gp`P&{~41~iAwmkNZ$d%MjfpInJDBvo9TLRrB^Ht zVT2Gf_P4h+$V&C#r2u&aECY{=?lxA{wfW>K_1j3%6o;+^Z$6t*uF(UQL;Xa1nK=4Up~r4XIw>R()g@k|NP6QK&o(h)R8Of&tN) z`5?8*TDUK5R{qGh<|sR6o{ltP(q|nU(5U0aR{-0FR0+0*{)D zU?rOX%T8FrqVv_4{uu?Az!8<4`5Zoqv$4Cy&={g{hsy%#N5pX?UMUu6HwG zz#~VCMKJTjVge?+Zb$B)oB*~QMVxR?-1adWz)V8NTZRhoD9FS~nVAQ$VF42z24EN= zGkSpmYLE>sAfj^MOlYM-&w#@=WP$hEWL=OQn3&<+T&r60`)>+#Zf+g|0;Ekrbf_lhK3_16 zVx+OHnwu_*xU(!Vufs5hB~|nWe-o>Db-{D=iWHCNr0G=zBq53%wXR* zNJ1f@z=*)gceG`Rvas(+(~1GBn}+}I>XMhfw%BQYK*z;}jBnyFFk=I>*2-{XA#G{q zVcTIvok*e%wZihwS9%+tJpoy>ZOM}{ewWpn!LUJiJGxCXAF+-D(y-LbV^J+Ah9;T>)C0Oo}ojSg;ad zxB_o5Ce7Nf+d;{vK|6i{5^u87Vw}fnDK11p9KOk*yd!n)F=l=^@h}ZVufKg+7N9(Q zfhq_lfX9z61_1Z00Uclx3c$HCF}>8k{up+R_qhti)$qs&5B1TC?Iz~P4Gr?3x&~`2 zjW=hUjBQO^x?SO;t-h^I4>-$@b^ zg6}0bTJ3BF_q2`l$yYFyYUz2Z@n&>AfYubBkDqpkO((oZf|5YC75zk>4 zu;>ho_wam=Bj%m%)8!zwye1MgVO+(YgAz3v>8RV(3ryprovUAmOGeJ)_3oOnZmi7d zgEi|MyS__d{o&*C`u5E(c@p5@#3io@{?0>a2s9`Na#_c{kMFn)QI1B7lYR(t)dXP# zhaHQwBb~IR<6%^wJwIc(GjWBn`z)hIf7`FKZ-`M?y&2u47Lx8*2wJi$TT_XM0?I2> zus0u7a!dF?vlZ`L;1Me$oyzNKSmWVWEn4J*tkdYvR=tl}j4bM4PPN+=zSTWsT|vgr z8ui=pkLTU3!w@OMJzwKW6XCQt6pEP{RzZa*pmH&!6mICkCI7X2yS53nh=b|#(?i_z z(=9HZ#fNZ|Zbpkh?lfAV}t>BSo4jSpOE|fG}(|NdAA~@jH2{Eze>bfKZ zRDuX2!~{8h;o?EyrkZeDq8cphA%ne7xanT|og53mPX34#TB#Gd(dqMkaWwN`fX2z+ zR2`~-NGld7j|d|ymjmz3)i_-nqx0&Xe>D?sGGS|{X?d$(ZR=9#;k#-xhoTojN--^$ z&&PAPk0B9l1@>_)TYKh7&Ktu?93CKvt1rUf`j$b)H9whUmp4AL&kXO$Lmn7%o;r;~ zCU^ZmTImmx_~lv@bYk)xrQ{R z#p;FB-{GA(GjyvGhAYl6g!r5(AQ5rFOuD-Zm-7q?SfREfgj9k)H3F0@*<^05y+BSr z81s)N8+Q=op=Tep^nBBRi7_Yr&tdZJF$|SkCfyB7N>c_EYDLZ5WZ}bTCK_H|udFu? zNhEc1EnuH~ISBBZ74+YJdgQ<<(+VI>WbAM`7wmXmc0(?IJapr`-$D97jOQ@|p;{<_ z*FKK06Z_TwTUFi>Ybe6yJ4c_AeE!Q5vY$5@h}$-P{Z;|p9jZN`_eFrs0EzGSZp;4g zXE1nc!hb_c;-d#kO#>&?O)ayCgJ;>)tuRSx?@b+F?(-B5k=` zWP7!&{Zy2<(rQ`Sh%mLnOo_$p!c5CWmK3@oyK(i1cyZXQgfHTF`4Q(H(Q=F|T3Bmd zYEi)Sb$0W#!R?=HG30;jB#8}}*!dUU2fO+u13sl}CDE*F{|qtT5@SIW67Gm4{OXFZ zQt|0fB1h&U_XoG8i%rHlZ`Zf$qMob8vqCwFqNTqdlZ!Hy=(=zUlmzac-YL*%2M`|l zpdWjkKnQTl+#Oq@uC?!ap;KGZoApw7pt)8JZ%tk}|yWWg(C zITOImb&vuwhNYVU+Gz_l>C#sELo@lv#{unZPl2W@?zp-w?+7t5pjK%vp(BiWps6oJ zq>sIKR$58j^Iubp$b*dYJqH}K1iYZGtknWY9T_V`LIU5jvAA#QAt5PM9AaNj!Ps@G zea4ei^@=P<<;a>S5d-@w;yF)GC*hR^s{A&ulm+ap79^0;_-4IV6hD1}3mJqF z*lQ8lhB@{Xa+QJ3WJiP%H|{HU5sE2zB&SgSf?x zfa#N82`2Rc2c^Q&q(VHh*lp5&Ac+rD;NVSQVtEDBI|5UI;^n`dryl6!6d7|X4rd5B z5JSfs0zMKHB1h5oNj>{shEmA~`Xz`91uc%$+bFyMw3qeZlQD+$u zRIbkWj(|Q6HR^j2homb=Qt3GqEGx62g`md;PQ&RZ0=3nEg7%NB?whZWBCj!K<=0dI zpOT32p92x`sQBC2bp`FY-$cJ}tu=VQbz-Y&5lHnB`%}XWMFm5%+M54M`bbjUWe4rV2f~BluEAXbi>$N#mD>EA_i7v*H33^PiwhsVwj3PIHUgrl>(~0lutb&tff8-N{?^mfsDlFS?0g@E>(62n?`Ks z#%7LCcLEYdr%t7x$SJcAfmD{!*)#o}VQ--?i2T!=-Ls-~_YDImC?FwP1Wq>W-zH)o z-Fbnlj=7_-Yh3+fXwZo&s=sBM?elrwl)I_@e1jw}cxYl2?i< zT=Uk*Mk8!%<H1o3~dd-$fPVDd=yGqV37*wO})>q2X z&UhL;!V3!pE8f;CpPKXV>dN*GLf5MmW8axXOv0H2&|OeaiwRjAdIVQ_BeXml2(;Yl^Ez*G zwvj6e{Z8@s%L&n!YIO}fdxCzA(MRb{E50P*%jwOjv9Tl=(3#X)19T8$0dRW51I zn&>Wfg()FtyD zA8$AW9xvz_w3?B5C!*KYydmflJvWU>d;Ey^E8S0LZ}ujmPsW>IZcLnDqe$ig9yNX1 zu62h^2fYH~Ly8pi?L>YP`(+0D;Vp=w>P8-P+#wko@3X5?cr1yOXboTWS6U<)Eh|VM zbp{fawFkB@p&yr{wQl%}eksHGrEF}_yMA1GaesXJm^{&8toG0;M+CsuRP|yp#jD_#w=jBNl?2?hCQju-UcwmUj3VUDvS` zAli7R`x*5mga@`HXq$HKi!7pG8-Pp*auNI<&5X;?kxeB7)cZs{pNF?^Hk(yX?>xdQ z4CEn-(xm$UE6ruZQ~pS!ZXC3mNL8XlC4LLZ!*KBehVfjFxb& zf$}vP z^e$G+yoCbrBni&rJ$Aw~>go6c41fd$2qg`8;Vt)|b3spB+voF7O;=a>NwvSxz92cX zZ`pM8z#RYl=}B1b-Gnb$G|V#Cgod_)*en^{bApE7#AG(*#YOa+XKKs3^CvTo!AA*l zX+}^1R0Fwr2hk#5HL82>oyczTz5ly?1rJYpoX2yjrrR?a*WEm}+{BfReOu;^ny)zQ zU$jNl^h<_&%G{p2JZyb}`0vlUrmJN^LAq~YBM8GQDLp79x}7EAxCG+e!~xn5ycWMT z*4JNeE1v&EH^~1Q^ZIoJyI;!L2PYCGNzY8ncfF3TSN*-GU2&ruL8{Lo@_=^OxCP~q zjZij9u?tgVlA6vvbr7^ErK=S+$5bo3B7m?ntx*fhoFz$C_|7^j_|Zs zaJVZbkOjIgH>O`%;Z}@XzpJ$FdAIlUL_3akOxNA7{H9T#4jlYw+0u~`ey(V4*G6?J z@!`2L$#a`H3Fl3KZU~2Uv)E>f0(5k{Y;A?t-qmxS@ zNkYCYN5PWrgXy4dwOEJ#7rgVovF+NpFW7aOqq+?gZX%SXlMck4>0(t}yeVI;u(xb% zm3r-v44O4a`?KYeYHCT_Kzp~3>(^%9t?6v0C_sT9kS%wE_a|i8USGWu?Hec*3&@1d zUEA@ww0kWHN4^umNaQxX99fjH+%ucu>1&EZf(utQfsz`YLUY|&9ma&Uxk=vo3&bHS zk#qpLsKoKhT{p0cnj*^s07QNeFQ2l3pOG2?D~%bO3(0h|5`h8oU`SQ0rdCi9EGB~- zgi<_-cUEO+m^^@t1Sxr3OI&A~D4Q6q_GLkSo6EJ*d>HeZqRpiOjxAAP`nINTp`G9h zK#R9E**XY%pr9RZiUz@Jz63NZbtF3S7c*;QI{VbjHkG*d z&lSHpLN8n=w)NF?Gmf_ja>9gp-5W~%Qqda3zXE-z&ZAv!1~p0(vw*3_f~d)V%-TiB z%!u|}<*7~7z$RHn8+6W77O>3g@n_@?8#)f{!6`=91^VB?x zqHWyE%rzj_bGx%(!lA@xD#nOpM~TdjK}a2vgegqp&y3c~77XwQ9z5RL7esMwtB|u> zLo3bM&$9*Ik&&fE_ZwmCpIxu`2%3zfhS6krVn`dS-cRRQdt4o~Z$t}5u^RU1&6KDE zs{WJb2;^xg{d;1@IWT$E)OAaxT#6)n2>%D%`UOQ49{!RcaA+7IvE%n?vhcBJ`vm#8 z17zd_YF7*Q4OWYo+fO^*Do+!R890i@m}j1&2#I-O0AyaYOzZ9YJp9DYIavEA-WF_dW_@o(U+i18!ik0J` z@TUP8-*r$Pk~e5;yl>H$ebxlk)Y_x6;($)YM2Y?jH7lHXF*!iW=hz?mZ9K`{3DyOP z076`O3b{br3i~607Qa62T^GzRLGZwPSD8=zkd2qZ&p^_-fzY<+V2*3!2Vq&qjo*7I z_;Jy8Q_Hl*$**+PW3W!51DTb0yiNo*Np5T=m4`_j=R6;XmvGHlA+W4oE_{9Ovc5z8 z&DZ}8k3XaRYxDrC0Q^e|?gh#D_p_L*xI2p1_Gl6-o-_cjg=x|09xL}M^vn|=j|TqN z@5}|&$+F#L+b&TBB7v9CU`P4f=wYwqPyXlk9H_oZfuH4GkFtyK1Y&4p=mqw=NM0W? zP)W3}$RFQEyu=Xy-byz?l(Tp3%nYyyVPR4qJ_v~zy@G7QN|*nW*Y4|n0qp(hZ5b`b z4yL3**8$Dx1bz7`c7jfm3r0_VkkIdBKz0xKiWc90n*7p!j}jw7{53GQ{UeK457LmH z`FsKUMd-zkzXR^068g8N1JAFur88iT> zSZWQQ-+cMUbB@zHdC@>nT8M>L1s6GOX& z8ta0Bg0`7bO>}hhwOe30y;}iAmj5C;z2pGWLi&wFOiZYc{x|gl02}3PPnKB&&AC3D z_OhA`;SGJ~knz-^&ZTEjPb;wcmHBH1y0(!ccR-XMfEtOxTCC+*@=Lw}(Atgk9IJZ{ z^(SD%X#K$iMtD?I03LaQjc&KKV9bK2SFMpXZILy*Padyicso+^;|J{Y^z_NuSqESZ zqhn&wMri=R`@Q&|9hXK7gnPT5KrOl<;-yvR#!~=9Lc!0!#1@|ss4ci^!A?-=^XyF| z=uOn$-;c+l_ez;Ae*5DD{^>?6T({fUbIbivKy7X9cAQKI+|K^qUQApZ<&$h_Gs3RM zjZ+|v_fbz*7a0#v!=T^^U_t>iVER&OFDWC0Ys|)c(!=m5Z*TAU8**!UX69ab!NDOU*h{!D`i7F9g3p<@K+W%q=W1_IaDC zF_PG%_{aSaMnEZu5gGPfCymP7M=Nvkq#hibwZnNx+d!d;(VTzvliw z`M9d>sR1N0;6jseVO%79#CaUr_V3LeQBIP zVBn&~>mCq4pmH{ByN@0o7--1VCir8=V`N@B`q!ktelUL9xD-{YS!-~-+?-z61}G-P z#K!ss2Ll+4KW#bW{UWv~!fAgocO=;nOZ8{Ui zazp&Jc3MgbJ*=*Lk0!9z<*)&3Us0A{bo2hZNacX8#(;x`i)%RfLv}sWFn=A&oEQN9 z-(Mf&LRI~3cHlq0gb8w4klwa^pb?9OATqtM)vjLaMb`>d@Ik2bZ=JU6KYk`R;I#cG zfbBm8m;gC>dEIQ6pN)-;)#@FnfYVnP|Hm))Vf+6(6Q3)Jis*9l^TQv1X_TsrPEDSw zlwDq4s?}H}<9Yr~?`o6&+3Uc>?dmm+&V2of5f~IiPEHOH78V8%0-bq+#3UrXOuDY0 zpV+{;;zIMiddZ&wN00O0uwbJ7mjRM7+Ox#p9JMwFK0Aa z_1a$D+}yY({LQ#&|EEH^tH{t|fo>4j-UNxGdWDj!tHHU8%nu z`JLrvUZc0krpSNhF1Pp(JoC?5|M~O(7NR(W)u*YbAt4tOGl;(zCUK~WUOibe>|-nv zu1fJ@ay5DVr#S#yzV#<5B!#;k+&STYm(4)L`#o%E2vK&fk5467BL}-C9D5UssG?>n zyJ!dRC(2QKSt((q{vln-oj!g7lX_s#icdJqif3dwZb^rHqocy^y5>LdEArgpukaDu zD}h=#gj_aV6L~U<%F2Om=fBCx$lA^kb|e1FYOd>%jq;r%MHYSV{`meqf=Y=RISNXZ z=dD8o3IF_gf4xIy)(IL4gD2_Wd8%2BJ9P$gAqqx@cikzfs=l4WYY`s15&~g6C?+_o z-vn61%aLB1T!tG_0oyw0E30a^TzJQ=>Q?=U^>6Y31COVFTeah za~%)eI21e5mqa`{LXoCABzsAI<5{c$X~|qf`}PT~u#P2q0Md;seE#yc!xHJ{yAX9=r zK^DN8`^VrnpdoC6kS~PM;lo3PjEpwT-%xbn3RplS{5D~)GK$~HyhOEhT<#0C6AQfU zlz9`fc#cfmZp|P*9ZP!pB)HPcMPFm6>I}1YVBy+**&Fko%V37zr(vV8=3HN*uBXG1v{Oc>rjw*Q5|4!Ey4rTT)EaiW{y7J-# zfeB2_LB9<0sPKMjbiFT^Uq2NbX(z7wv2j;SqyGS|#N)CDm8E+V{^on2(78L2w0dJE z9MHX`p0tr;^G-1%F{C5a^P33b`x85)UBa+HDdb!mn#Ba_sYKkIUnLmR$P!6ur84R9 z3rHdFa2Hx1Uy-&x66kmw)=mT)$7p?c4TcGZya*XZ9i)UR|6WHJ`Ptt zGY!O_?h_1dw~tpNeY`@WTNWYX=4S3#7g=U;DQ%~HPS;vjx(J_dal*Ms#iM#<7> z%(Ydw+T+#upBbB;W_(V|M{CK8dtOzUPO;Q3Az7ZHlsrHAxNaZIZ-l|A)sLn}5tgNg zhHdm#I%Iq)wyDFeU4ABddRmjV8Y&SA$Z=BtXMgQR08SY&yeu{z*hLPt`nRU%m8%Qg zYCk=xR7!6V_BpLOelu!T7*9%A-I!ymFx;ac{`T^%UAbY#u^AKwfPn@F3TR+yh5`mA zar5_73?Srh_FicD1>%qGTQ^soK5Ox~&!|3+_kt(at&i9~j|+k)6Z^*-0mod1K8lzG zrRngSh0ye=2^2;p>R+}HTY6@7pPlba@CWzX-;RQ~xrVC6`&Me;SG>-VThxDIdqjQ8 zE{rV4B9f@vcQ#zgwmrRUVm_I!9jx?}D0^CM%yuY8)VK zujG%Jv4szg#*4}dxFcg6A=Me7!#dIoA^q(W3d~$rO-{U-d1M{r5v;PxOlI~xyzqLk z$XvvOb#aCN@O}IJ@p_t1YsjpC3R&uFki}c*;PlG6wY;3soTd-g(2>7U7 zzo{ot79+5N%2D$en*cn72=*7$vd)3y){exL(sp@CLVc%Ha;cZ1@QZy({0BT1OXN_E z`p~%%%V)+%J(?QeLF$F$b9+zkdRVP`I-#4;;@O}{9C*u`V1n2gjClhau zi_6z?f;20t!0>RI*tQJ!h+Ovz5ODWxTPmH*4K#PUUc5G~8*+Hm}nP?${e13u+ zjNdgsm~ny(24x+cI1aq~rBXa`k36n2T<<$aS)T{pZZ=n*+s?0bBHx<}D*&~QNPO@w zqc=EAbHRMPJ_yf7Or*3s_>|r~lKe{M zJ*)#4Lz^V;cZH=16S#6>xuUC(>rBD*!rB*nP*VU`Mq@_&{p$~SoM=#RNFAB6aV(cV z8c$F5ZP!sT1wf`|l^#}hLB#a>9uW2IvHY;ZuHvp~{0<&cM?I_4w0HOz{4%YP;dXr%?nF60}Ia#EkoN zu38O!q zTqOhbp)VT^H%bF9sVt(P1$G@pAw^E)>h^TRkKxNpZ1Q* znx17%C=Jsjzs+Y}Aac@5Qaleqb6)Lgs%v|$qs5W%{wU3=`CfX6Tgh0wa2y6x^BJF4 z2;=_QC9|X>@X@VRXS+q3a6m4C#hrYSiJem;W_aMY>OOOA)>KE$<7_$bSOgE+-^g9A zC{QFXD7sb&NkbZJ*xG3!3YIoWHF{hI)m&kxE&>HGwR%U;KahI)l(!K ztV!-Vw(hvTS5H^FOW4}p=fAuOmesT$3cMhI`>uAGS8A#Cu@vDxn&Z*JEBxmNu*IwM*LfGloL{P!RMgLj!eYe?Vk?~bTEdBo+;Z}2 zf?_K5`D+gNf|Z=Oa59Ik!`QeeXwoudd;bF5*3V zgF0qX1(i2VeeiB3BF|(0WH&*hsWp#;^w_4$1)uSTb<#KEXC!#6$LaUfuj)4c$4i^j z(%hQ$WTs-M_-PX>bHllhlM?dtF~cp-W{4`pCbz(9G1pA5Jq|nFn3+Q1R5l%MmP*T7 z@oJ^pZpJedV$rE|78kM^&c5H*N-^#lQ6i)RJ5?TX*0ttUdmEeAkX4O^a#(rM%rxgL z`Z*wGDxDx{J$xr2Z&d{n34rIqBk9_J(oP<@He7m8J(-2G>9l6E?HP6??J*pECT4!z z=YP1~xV>>$vnW|i2)7`#?RN(~@wDCuj?!y*rt!H62*iu6!KjZ3<#xGIf+ZpI3t@(_ zw+b8@^v)SxbElyVnSixyxU&Ma%KSB!gllaRxN0Xsld-my4wK$jCu>2gxr%kq(S|W- zdy!GV`{tttQn$qC|&cB>D4P8viD-b%3kn3?pL<1yTi|` zUMfer3~GVc9*Bx+w!DUJFLBN00L2WZt5>(aq`e|0j&(uTxh3I=b`-X{tPLKIo8W6_ zL|c7}wu!@OS3v3)2X|iK;k@{vDVs{P){OD1=qGsoLU&W!UzwQ$UzUa;T|KW-_XRv3 z89v1)+c%8_pT()5;S~vc77#3L9-w}y#c&w^i<{8bLRRn7x+hO>J(hR9-5@=k%u-VR zo~Pg%L`GLn3LBLg+COR2F$Gr+j&}3y$sK*U)Pj{tT~Jl^tbwC6 z)arJrf3PH%wp`sXbrQIHSMdbmCx%I^5VWXK!ElwvwgK$B>3y_T)N;6V^z;#w*Fmx7z|k<}_1@ddv%>IsOxQYwsTlVJ?XP=WPXV(yQg zPHDnUPiBHH_N9%V&@I)}YEAIUmjE?mC{()5m*myMfHjBIDvKd3qcvk}uRoaP@*sZ| zQO3jaJp0P@ZMN!Az$Pfn`rut}yj$C}zOY0+aWCOw>$k)Y-Fr%OuS5FC&OcBDY7t!w zy|~gkLPb|Q#2H47K+@|?vf2(5{Hkz(pO5%N^58Q_z&Q zYXfxs((xc3?2PMg%z~x|et9)`w}M^)TaAc{**ktDqP?qkr|;p7_El52S2ec*7_P+R zDe}$lbK@KHdvu~=XHgshc+72q@Ybdaj3*#lw|bk;zx5PSUuSNFff2xbC8QJhkp3Qx zpsY8LoZQty$wLV({rhToWtIbU#)C5X$86p2q(|S!X5QxK3q~WiDiZrcgzkqnq3fpCo|JwJ_`d47F=M00y-D0poLZ9d;|r$ccrO5@Um*$1{#B+<4Mr zv&8Z#*)De^OsUxPrx>Jc49*)rP}jb9p$moxQxsy;=F4u<&R9?mO}%Ia|J;I?W&jl! zNE#eC0qUN>rM;!`xXYSr3D9Fo4}5PZso#~UvlEAg#2ke5GtQzALnSP}0CMdxFQ`@m zGO;r%xJWw5`icz|lCq+xW&x>q8UZfjJ>XgMLvR~;YioGWR%;gYOUpxIulI{4L`ugy zilM&0hEK3i-acsG6BpF?$s=0k?=|S!(Z?exH;oTKMBRSkgox^St884-iK=<7F!jo{ z7qx9{|F~o6`q3}`{;=-w_io7|jp0O{BHp{tXztyx6he|~cp^+BZyx44Z+w*nhe)QP z*kke_+%L`(+mAQ*zkcw`wb4m>yZY^R^xNINo{0;G$duAaWc=zt9;yQ#W?tTjm zGg)yPxRcK%yaz;>ZVYi6IhPk#aM|u$^_2rL6fH(Ucu%74`tit;#Rn`6bDUq$Ro{3% zPD_POW#*G8c)Z;;xa_>sVB=Kf9@pay5h#O!aBjrxMI7c{UKh(T6;A#ToP@`S@vsS> z9nMIO`%*0-4}3VP->*{CQjRdhW|E56fhXm{Wy{x%+=uNYSEk1fC~S>fQrgOb2b~CK zW?(Tj;zz=`6>xr63u-tFEhYn#bJHnI>iLaR2>qBA#wGe9lsq-*uHxHiBJ5?%5rIOZ z#baxBsiRli%Hofi@a417p+;mm=co2u+0M{6hAbv#F3^KruxN?Cgb586-}3S)SJr*i zF#>b-Ke8T{X|j3=y%uo-(H10#^ik2oOLwbW7hO>&LpwN+b6V^!^C3G9isGq&5Vb(V8B6<1`8of-3d~iC+ih2KMYU zNRlE?IyQyxj6oX$Z-^2E>_!2B1pC^tms?d zbS(Q?OC9z5fEK@>BTL9(Vo^8n$X`X{4OAg$;8j#w*%}oFiv(K(74lBbl?+_J;GkRd zk8VJ7TQMnbaZ%>zKJ67ZG!Q%S%3CCr0l?9@CKr?Cha36j70 zt+(}H3Srn<@ZJ>I07JK%r=<&QJB;Y38HQi#H6>? z+_$ijMV{0PoYWA^gkb5-r#d1ydP224UaU36_jo+)7z9@=iGJ@6gguSZ} zgW0aO9dK;8N^szc_87RejM@?oOiBc%LX8i2ns$UJajKrn`mB0>Y?u%g)#S`jx48w^ z;xzy^F6<5#@hu_}IB7Z%+v+}{(m^YB&R-VB#Aup#%*-*P-jc{cG4!#G(5jDKzjt+f z=JDsI9%TZFLGK1D)RhWYLEqW$@OxCZrovChwzi|{hej?^>mJmHB)yeJ>fTVOPtH@| z+k)G~RbRVCy_$ClYQ1|hG?93DDg!Zi`Jxdzu(tBg*J)qXn7;{S#kI@O2aLYK-%5=9 zxF73K4cQXAj0Zepwi6agf80A`)w66s2qMtD_u}W}`mRaDtzssEu%JrQV0$@1AM-U+ z@|OgNag>mJGy4y_F=mBdT?p^t;SsHiuGS_5zuRMmlK-9?L}*oFKwt6f*g2#8W#fL< zV0gVdsrEH7l?fc!@#;OGu=%NA<37`4RA7g2=trG}omD5Q+V!Nf)o5u*kYMkL@uJGF zZ>H-f38bvYjm>?f)j}9^g#C}OhE~}q(qYIw^9Gwo3xS9GTzVg4k*O0&4b}~T$IB+> zm)c;a;$bu?HIPuan=x7S=4F$>^hD?a1Lwt9b=DOG1d5tE!Dm0;eoITBQ&_MHPUimv z4@p1#Y7I1`3Z#+%&xf^&N!5&ic%=Rm( zuB|-2u*-SZXmU2E-1p)jSo@pT3sLFD6&JIH-b6<{KD5EMqJf9DxC<+3lEkjzhsQEj zy1H|nS6-x=)GPA#q;oCDCX+5dy^P#$?}WK(rr;F!!^wv@KWEBD26dR3Ic!+h@H1b{ z)ga0*sj2s0^*TNwg;iOvZOu*`Np`>C;v{m`>t42bh>w@GeS9bH9f7X*MplUFO9*8riE+2|&eUu4g(G-6M zUJ_gyW270k6Be9+JL>+jde|)IR7dGxZygY&mDVzL4{v-{@F=dl?nG8=b-^FZigcLNE>`3X-1_8R@w`5mXu2=#b5fP zl9Jp`(sg{Gw-?!?|?45H#= zofIh)x8fFpJE6E2cPYi)-QC@xxD|H_!HWiYa^BY%@27VRenH6I*=x-?k6Hd_c0cxW zIH^fp%%&ZML#$rawmYokrz$55;XTi0OC_hTK9# zy9?OE_p(eD>RxO>BKI$WGx0=J*qP1aa?jsKQnY1B~c`o+`DR1DE4y7ulb| z6=)f&ZfA#3cdjz=fWuVyVHa}xG^B}m!G3D3Zsq0}C2@%G&3;nxvzasZBY&bMtz-siDVxE^ZB_$eTL{@0o3+go73}KtCvY)07sI`XjD> zqt>ElT}0A^x2)L8H}c*-H!b8MXKRz&nvf(VQ+J}0KY@b%<3;Tvk?gPkQWnLkBI&fA z%O#j`uv#hpEXN)oZ+MhMI;y<$CI!_Vl;@?O9fKZQUs};F$ej12+|a)@(w#{27`HTT z+B9z#uu=0~GmOe>$>+=4XL` z@bS=hZhX?)zlxdANutN*_tI(D?Chw!z6`(aTVh7314oQgvzFg`480%)vSP9F^Kok| zj?RDTp7DQ)zzW@fkm>FXbtF-9)lQd`E9w1;<=#7YCZE&I#z+aU)zH9&navoCw0|Wf zQPa{&rAv)o5=7K*%>(fq{H1-k0`>qAGHym(rTqk>Nmp5zZA-yRgSGNk(7;)j*Dlq^QXC%tLYx&Ft%G0BGhZ3HdF7p06;DwvS04T z2}Og~+V8 zIpMkBaDXr_c5B{VSe~D-Dz0AD1k6HtquXC8Skt(W5+6&oQsjr(k%lLSew{iDbm3xf z+Oqqlf#2lFRv$iQ`yXaJED7{PIQr3u1s$ba439u$5O5gsV{EUkzXL`tw$^_b{xB$< z>Lj1AFf;k36!LZ62=WT;+0nn>ih!PXqq%Q-5}x}*tbHzev`sXE2tvP+LbTWnJF%UU zqK06B`zj;5_2m#_hwpj) z)V*xzbKHql6C3!0eM=}LFW}6Lh7W+n8&W0;Je)UnWu@>hh>g77SHJHtpG`V&D@Y0; zQ1Bp<=Rv#W*5J#}pMY_Zv^H$8TLWQO&op-@1aE?}7$e*fO<~rFXmJsfb!#a$$I;Ei z-uFEQT(j8Rh+uaP=;!Oy2b1QwDnC1+?cR$ecc5#=jAP@25v%`z9j!qhk*IIWnItZ> zJLh1w7dmj0bWlT;TQLxI23@;K)U5LG%fNLczu7ZwHYv$eYlNCQVS+_|8)-)`W>ICh z$w4{4UI*_27uy5^My|Bl#ak$4nLDm1ZU0>LQv>eY8>a6b<8>~6GpFbTr$iB+-n(pX zExDN}8KT@)ica6Q`}2}W1)SMk@Yjhtdq1yu7n1s~uEZLjnfhCvTIdRLHbb1K0!>Fc zuKF<)E$PI;X;;bZ;ABDs%87wUm-R0`YOOx-WWM|>KsD-(Vi|&t=aV<= zuSjVIm{Q3&xO0m{^Y?8QoB_CO65kq8K(>b}csy?c8OJ9m`N_W3kx3>h`1ODIK*se2 zn(;{HbiqC($JrsUq0Iykc6WVRcl=s%2@y-=N;gckSsCiYz8ko3?uQXa%71^pdWK$I z3S{^Bi*}(DDA}MdHS0UD%bY_vc1NcDDX}(GL+h*|i6)fKSs0~d;xVE80_!+pte*2+ z_d7YeB>=DY?i^$>lbh}%9tvne-$>BZ{?E}^(H-g4@bk*yOGAnF~H!qCj?1&v`(ctlu5-^Nm8QeH6%>7f57;?fDat2U@Iwk&*13b<;6? zqKvFlf2mC$OO{y@tTm~p%cV)6b$|a#UfY3cWuKs{yLD(76vokl!Y7$J4JD-hqS&A9 z!;>0#EkB_Ocdmd3BLL^uyF@HRn;wlEM#yIt_|7`3W~2u|&06DaKK8-wi|g$vazh>6 z16fU#lB}bl(=XWiZmxT0s2pxWp2+eqS88v3tQanTch3F+Pr(A4m8cQ7*0sXmD>J(n z?kkVeH7o7#q3!GY3k%>144z$HOjZ7e)=43eN;{8NAu2*B$XK>sQdT#czj3F>S_lZ27bds92K`O&!Oxh)SI zB4$-tiFD$3oCbl=(x?r;qD)y;KM^^;cwv<968r+ZqKQ5Y7I=Un(XW8W%H-9(I|yM; z`_gPSf7VeXFtXT?g+l0vCYoK*C*D}MBr?nGC0#qvku=yHx;&Bofdr8EozX%htsEQ( zI^OGcdT?cX9ugN870G=cQ|-Fn^!7M!JE}Du!Ss392}>1l%;vQW{#alu-q~1>aPbWh z+{tiK#J~NTp#io`gWH?F3WfH9O2rNa|5Q~y7>dozvoT|}UT&-C0Hc=6;uFjJR$MS5 zH8g7*ZixK95||wAW6Gk)p7;pPvE^pit4u$R#e@2@ZXm6`l@z#7Vr`KFTL%LX2xlG^ z?kEmLABp+-P&F2ahF&N6S%9;nL%Fzs7gVn1?C^IbBEjiPRCmirPQo({S&((J*?b=v zq;A7%iLx(0UOPB)PpkwsH&%ZD1mqLBLLp# zpvIu&U0zY~jp&i#EMMjQ$Bz=0h61k-b;$Y|v{smM4MYW+QFC_W#by<1W}1>U@e+OA zxaP!XS7=t}m=QHKH|&V%zINHlQ5_eP!}X&0@=Y%S{C{@(i-RzqA7}w&kS%a?VJ0iv z@PSRdcdQq-GqTz;#o+JQ>@8d&nYf0XW>32u4*;6)AR-)B4kb&o`%c#QJIvOVX8D_c zGJMx_I$d8iXy>WIjJ#aijcb3C_U1jkbK{lXNh&r^F5Lb;Z|7l?DZhRnTJB(1ffX@9 zp(u(sZ2j8allVd}KmTxg7~)2Us$}U73$#fFG3`aCYUfLJN1r)<3eJMI*PVnDX6XO! z6t7-jPDmUcr!$VKW9p1$I01?>Q(;Hvck=~AhQ3p-^*WE|{#>k{Upf*Yoa_ogvz4!wbuYE0A8-2((DT}b z0tVQqztzP+#)$c#7!(?yzP;r_U@{IT!;Rr>Yrv8Phxp1$Fo6GE*4*Qlk!CPt((ZXr zns2zlw9+4gSSQ$UI!p9V1c#&f@>kZLhr82CVLX-b-tRn3qo%h-{+!&Hj$H`0EIPi` zD7Q;ow$+GHC55{q^Srx9$ZPtW*JArvJIB@>OB7&JZ&M=3byNa%#Y|{NvA)yy2!h9) zR;0a;ZKTeRwMpbE9FWUx;ItIIn;)}@`Ev-}-v^&|^kVVHscDP^Wd@_w!`^FCi3NGm zDy4>Pw1!F#;7^JIBp<%h@zo|#O$NP49~@o}O*IVevatBfkgOFz-m$cW}21 zb{_1VkVIqyHJ}`NIaNk-i1><*pznZa9R=FZN{3mJmC2 zeFM8meFO{S<>ld@ZHT`IF_%VLk8=E$O4nuB>@`ef46IgmX=%!@+d!o3Fi}0J{5m!X zOGYq5{^YGQ8zA<}g6-Cfuevh)L+t|*O(_)K8}x9qfhGFa7!cdnW@gu;pD+a^!4ytY zG8S6G&T~_{EKWg#H)AC*YWkQ2+;Sd~;P&{Kro35+H7C1%*tH$ou%(r1W`1B&7S*?} z?>}^qQLF_MZ4Sq3kn#eOJD{)2jNp|Z-XvmXESiZYmRDSN}#|+Yq3H-)~ zdS|> z$u>Xs&L*Rrh@!G~(xJ5+VPZSke+LanAp14azQcmL8x#*WMi8v?&j)X6yu4diVuuJG z_Ft6e&!Iqq5Dj#R!}5=XH+~rV?)N2Iz&TjIH9_dzW$JLg%luVMu9hs$P9mL9q=W7p zlRCw?3D?>5p!u&-N|*3f`S&JmeC?35x{_- zkd+6DOD?3Q}`>`SM<0h^{eN(JV!Ic=8d}zc)t1nkx2T4{Z)0(zisd zCSf`K#cx${(%6~2y32z4P?ecZg`yx zgL}pE8*NGioOF{`$fV+3+Fz#D@0pm1_P#QYv1o!DWYXpeMAfN8ImbmarSa*ueH%CP zSNnl@qP&ZNbcn)u8Tg!;x&!}uiNBSjXA)q`4vALg5sl`U)mdYfUTPDTC* zo~KKkfByJ-+<$vtrCys9mtM_d!`UQ?c(2^Bz4VbBH6~)IRSY@~P1t`-gV{6k$5>Sk zi*_T@2n<|An+^>S)e{ca~Z|y1*+xAidDb*K<{(S{_chaON$FTVF5vsA8JfeiMt}Kn84K8>(*#m> zT|h@9#W|*FG(8@DFP7dnp)`)LS>j~bh1`)bP-<~YinG4slJq7&88S}2}x?e#+`=6QaN0@1`BsS3l?Kg28stgfP(-MMf~ z(YE!W{6PSFcm-N%$B*F1+*)(QBEjYG# zXU%a&vT2)i%QF1sBFCRqjCak0W^1u&zmMKsY{tjOWIy_N%k|d z?9^94+2>@k)i(NdK?aPs-tqF8nInlA&*LhaeL@n>pe$oW^}azVHIF}{E9)du`qSMF zr)Q-TQC)2C>0VFcK;#_msqiw^y%n1OY8d`c!TyAZRsG~64%z4+?0LPdxq=l2?P~Wt z;on_sVfAcr_(u9zjAm@ccqbolcMbFTL%nI+xWr|8RT`4NW+-v{DW2;4KbxXQ?6ra`DQ$gyr{PmrZ^drww zDK-Gt>41%A_2?%*v+!D&hbVpQwSVyy=N3Dix@S&RC;HE(>Ip>{^}q4G(vCJ5kvidQ9by5rcB@AY=2Kc!mZ$r^P4(@) z6TgnOay>^a7#HM;G;UMV=)<}g)G4FtUOw#LU8wLoRo@yiHjCLoe+iR2q?!#5q8F`j z*kd`iU{ONOdv7jUb_GPpbqxOwReL3uR7reu4_2LLSQMtQ!mK^})$PsnP!?o)3XBjC zHh;Uvk+N+-zHqc10CaDKBsFz<2dA$5d0t<6ZD_aWYIvcnk}Owd<)V*u5)2e$crN|^ z1qaB2j+9?oc9%cS(92Y1Fz`EVPa&F-lNm_Dgp5S3P24^YJAFTSpOKdSCsOD)+x6Mj zbkQRjdcIA{#!(az)a00>qD>Mf)*f#{!OOnxJHu%OT7U^E-DeqwG2#aSyG(dbXl1hUych;JdTIxea@*)D5 zxx#oBg=F4?-hN}~cVs(lR@^3=Epmf=t65H@Fw(a`%av$S4OBvM6eE6FeCw@F85m{u-9j1{rTVk7 zI}j^RxVgCz<6izO2*DfNyUtvrO_8e5F0iY_DR_M6H`k5UNx6l@5$jg(gC(8?;zrMiCSopI0E!Fp4i5WD&#ai#(MMORvJ_T?!K3Q=W4e z;d}QpXD6k$c3j;L*d?-UDn^5l8CSsV2HKO<@p)%`KWGX0-&1NxIfe zPbM;`(0u$$%oLG1JwoXp4Qq7002wc52sjQuKmI3?ER^tBB^$(m3)mj6>v>s$0Mbxu zM66vWe!<$Jd{V$VrSf}fBK_tMH^oJJC5elwSRc)H5pb`%B{%%w&U4>6eu{kub&sb5 zKwB7yf;d=f@xpSj78XwiUSk>4;h)#+(zxjyx`mMMqi0QIw&*<(Fw*HXOy%3~vDlkT zFefT*T=CiO7LT2GYSs*N{CLCZ|0+A=N;Eu#A6#5~-|lfknxRqBC?TpVU5}+?b`vMX1DjCdz1x2=>W~8tp zB&5W5#V=~o&@lkU*IUXVl0Ps=`GK%Tm$^(F8y#eWRrfW+70*)Atyji(6b0K++=axP z_Ua_Bwy~J$;&9qm$>A@QvBTIX(la|KJ62NfMjlwkHgI@53XcDcgwAlV=pTl>H^}Qx zot0VVUJHgHO6ZixqgP_*k4D;2vG}u43k=gY0o&vEcqj|79pww=^EI%wg+oQZ8$&>` zZV#%#3sQ9o*A;pXcKPNG!Z6;dD{zzWVMuFg zKn34&;E;y;)t+_w_obxP-k@reOq)y41Q%BGa@|dVNGwn#K&M(7Tu1EADnBHq>rAwN z4W}1#zm3ltTi#XKUAy<%RjhM?@JS;ZL!iO5ko9nY!wu1U`g=1gt%Z`pNRQ%D@8HQC zXG{w$Wge{~h0%(+Y#N8nt!Uk(rxo{H!^!s{PSoYW;^ z-J27`>wTAnkM|cAzqWyhq$EFx?T3Os+@Sk<^g#T+zj}nPo%zID#+%U>oxbP)HV)Vx z&Y_r<)o29@di_A3&Ll&|O;XlfbP}P-C+g^UKOB$E&?h&hUakHPJi+kE9_^?3xz=hwv$hynC(n8TYYTD7yhNzd_cq*BK zKb#((TO#+-H`^DjctQQaA2>6n<`!^lQd^wx4JaUh^IoiFui3%ZDTFxY3^-hd!fh1= zbak|4!TdfHvMljR@$J6qVr*sMg5!N(YE0*pLanjfWk#UtM4rY(F8Y_5-IzYQE)qWz zHiJadT!QMUk+nJ>*xo{r_{<(oN01%AW$J66cH~F3jD18?oi_5b!47E0Rfh%_7;T@) zVqI(^vPO}I#&ibdBBasjKvVg1bXFX{-34qR<_9@Wekw_tNU+hM1!%_5bdaPWZN?Rg z&TdsaOa-Sd$GtSc*;PgL(kek0^jlF)GDXk&ZEb~XhcO-=Fc}vaM+NrMyyv;H$a%zk zT`>_aDg^$lM_g2WH}$S~C;qidktwW*m;6n5I+#v~nNe4qp(4aql;lfe6)8afqTeey zZdU{oa^Kr~vW<0^4u<(2Yd4Kg>e^iPv?Rb-yWX}T7ytJPht>6AD0!g)3qjHUBSN0mD zk$_Yk4@dg4SDuu)ux>5dN&Tu9e4cyMHWdJkNo(aC5v%oH2Vfxy8mOUZbE~VRz?%*J zM>n7)#meu7p}8K;9R1fwg9&ASFIuVU=|$GpbJy|l=G@OIaG1c951mG4D-k#12i6Fdv*u72?Cp|NFGQcl>{QK&i&BHsLE_Ye( z)G6k|j9*^`7=iOlz`4=9qX=YuPc%KDjw>6pHGNV7W8%XtVs^OY;es;{TiCx{+?9S? zkDD5!W%_I19wH(3Ea^|8a!fbiVz)!5YK~41%|Ia3QtzsX2}uXpa3ciK02fLitDl8S zNpTOvsBo8UN308>%AvJ1FP~>l$hR~v`~_q4LNROc<4}+9WMGycutySYP{ot7wd_kOm?)BgsP%-PVZ-z*hQh;q?Aq4I~MaEy^A_OV<|Z}cm5P2 z8z7>PZ#)bMGb}BBnHjo&(?Dyje*vCic_ZjF6rfdY3fG z=9JEd%`>!LO_9U37HRe5==CP;V12MTHGG(gRQ4fz_tEfd+@$#gynIw&%c>9&cyqT# zDka;6ONuFY34lsD)ibFto=Sy2b1}90mgC38sztHIhqcFO!w|(|U%wcl!i3Prg)8l7 z&!{RG#-q-$ADPkzd+YJH`+w}1h??2!WJ8$4b+kkRlFWy6*|P2pk1P6640&OaM;H92 zdDM3;<(K(Su21WZx=JfzT~W*;mTPaR%uQ5K0N>c~XRKwi#dgMW;ocZx*~6Tj$axy5 zk8hRP%!Z>mN1E70xVah~LtdAJ=hrWoq^Q63xQVm#Be@}nt@G@!xwYd!GI8|q_QgDF z>U~xDAyb)qrcd1d=qR75NgBR;?7XQ>C~BLGkfJ<)3V!o6p@gq2N)np{nKkCF>U^3@ zD_dZ(c;6CBnepnS@c4DDqaiu>E8<_MZ;$sQ34i@dI!jmbdRka&=XU?q6lq*oKW@ECp>irr) zO%jv4I`msa3}@r}&w=dxFV?Y`rmjQ}587p_Kg;?a(CHc>IVo*|u<_}CxDUAj=tGv! zclz%8u8RnSimQ?(*rS`EAgRi>&j}ykbcWaI?u+m5U z&i`Uf+JV>+v_#PnzOM2c{F1Pu-O5B73P~c24V+8}1b17Vk*jznTEtQxtQ1Lh*Z`lL z5~NoZu#qoQtrXKqT}alfX3+$x)XoJ&xO?XwWu@NXpfo(ApmzOeD~v$9gazet*t1+o zgc{2y*2?4Kh8^YjfYxbniRwwUcMgoBilblaFe-oRo%wU? z?#Qw^F7C_>WMsI@!3TmUIw!%lTne0S-tLpri*90OR|x>fu|Mj>j}3hv`p1Q|U-$iU z&mlTDvAis?s+ne=GjY@pY;G4921Quj>*po#6o!3?!I`{)PH$R{Ejd_TG z;QvlP2d1&==Mn}k8(*4Gx*+9(&yf)u@O3#1;w!2t+Mg9ZXEOaH9Q~a^)eLX zbQ{r2y!zxhbAP?zL?77ZJgB-%Bpt(pD(i@=A|#WNTI&&rC=kc9^M@;|CPt zc^#3kj*&M_oj9Ap0i;zuT;gtj51%je+>MgCTuf&RTSj0_4QzaXT3B-8H1&zcqL|Ud zas+Zv;g}MTRD+GX{ox*P{@_~wLsMo*RUqBhs7iy1O(RM&3w=2IqV6wh7JjYzMK9p`7}mRmq4Keh@&^yL zl(wVsFK(TGsHyDjj%(DwHA+;OnYrWPCsT1U2;O$|6;USHAulaKET73aBU_}sjhSxI z;P_Ji_?`1TpOCpKzH1y6=b$LXKr1~D?;Yu0z5)K| z@%?45+1q=^SN1r)L>NK8bYwB23=&xt#$(?9qvNaa1Rj7!#nA3z?2cM$F!WT8Pny4BZHy*OPW$w)42$0+HaCYN9~9 z0uJ8{+(&Yt=f+?B-g*&eZM?qeF?eK=;#!D5= z<_dnnOvaZRJVDbpo*^8}Yi4W@nllR_lkXy+(-N|ii}i>cA!IpPLL%hXdaP^Ub1SYf zPx?rQh{Q@{JIG5b;@}OnB(hi$4}JhIk6lk8K6t}dvu-VTVMJDP6a5x|H^Ktzsx=BA zss4@YWBYR01kvGO=Q3%OfYU+`jyDO!l!aY?{~ct_q2+T~O?{LwFPTLXUN^pajRi){ zn`SV22k!2V#qO91njOJsR>V-Ui0FY4aY|z6#6gt=^_XuBBztpDjn2_uW|zo&i^s7u zP5w4P6bNK}^@)_u8K39yN*6|X#}e`rUww%m+Mfm04+f3P^N)W9#>jUed3tL3nAZ~^ z$~^YcwqYTlX2BoYiOIXxZ@%&uP{SGWQINU7q`(i^*|LL#GL})4YaMXfDyN_(c;V!$ z0~umFIlsS*5Uhf(zNoBN!S=$@5=pi&F4?#`FRjh7a~^(Xs{Om2vo0fubxbdv(jmmt zf|bO+mydXk%3}bg&lwg_W?(^`er7Rv?Jmf_e*PpCC)bII&c}>PIP(|PL^g?%yfQZY z3zbH{&78>xkvd(zxwaT=Zr1;WQvcH`G`HCFPyKsrP-t zC6$b1`#kmMm97813Q9~YXYAu|TyTuc&hbB!wR6l)9pe5E?&wmnvwnJJsD-+VsXDp% z9r(u)U5KJ4nUyZvXX%_LK6TWHh9Ro&*`|y-Te{Fr*F0_K1~;#l!f;9m*G>ln4}M+; zw0u;arP|8<{ABLs4%odj-D1MpEJM$aISU~2P%l@_wC!a}jA2}y$OTveTC|fD^8%I% zM=}lYxzXnaiCEBjut+hz>uUI%ivfQm1|_M#2|U#vhGQws@*r5G#V|*+EzqW5=?$}Z z{Y3eJZL{*UDSj-A%knn(WM=1UGf7e)8>*GP-YsPcPZmqn4Ea0U+zeZ3C@*jb{UV@s zVB`U5#p>D7O=^pDj;FWy5Ml#wU5@%3I(2vYy|mQ4qrTD0wkrh*nYw({uG=$bJotoS zWj?Z9EswS77!ws#2)1cJU0wB>Y#IfcjjUacBTI^}{eOp^xO*4gARC*x+(+;av4l2b z=<({T(rdXrRrDbN$C9>S?VXD%df*-J)BNgfYG%QgG%>D7AuRdPMcC+&G|Ce}i8CYx zTUh+t3EG2QhXmUMP~oJ*tK|$@H5Zqsx{|q&ByVz$n_9vSVMLevvlQS;yo95=>9=g0 z?;2*cUvadlX?j<828M%_D}{EXzR13>RWm;P2!M> z8xzMEWYSfx*8KjE`|==QNy}iH61}WUxt34q&*^Lb6}O7dqn3F8gHph*vH@*_&)V+q z^zVdgpTdzTwV<^n;sFCwaAc0=5ig#tePJ7m4wV4Npslyq$~^TaJ(O`XRhw^&Z2TrN z%_KvcxcI}VKYO*}(1A~3x$jokmEc#pW zcWL)3NNSWOw_(2e#qqRahGAnvNR#!WL%lmid)^;qdGTZn3kWGS>DxIj6%Hzw%HlKZ zd(RTlS*P(h={nGYZcw1KRyKE_GaSOr(+tdx+R!3*tol7`fWP2ujJBK0&UDB6$_%!I zlqxf=77bD&5^iLSjw-0v4436zTtc0~2}9UNXF9e*;J)?%;tmqh-_(badED+fbb2l@ zh;RS3o~q=lYfmf~fEe&KLbmYMsm(m{On<^&4zNp{yYg!G_|$g8!&ZUi)zuugyQQA^ z?a7Zc`z@fzmF?lGoc?*fF&jF$A*7hEu>e5cSmpDU5J2H$Y4j432&%Jv;tBAi7Li& z2Xh)cQUOwf<)1o1?I3vj9MWDLbfsI0N}%V{wB6e)*pvn_IxOo9K68#`GW>nrO+0Rmo$GE)fgjlw92`@RrZ7IY^Av1`2&v3Ic2FP0i9@@D z2Cj5>km{2RlqTpcT=yC~MBpzIoO1GLQlD=*VYN7OYq{?ui4jEefaK~({#L@@*}2c) z_UD-zK3ur#bm_0sEZrV0HSH4Grt9kR?W|&v>8Ro2oC2|ujH0ZIWLU{9KeJy*g2K~g zHg-ntP@AjylpdBclpc=w?8GW5M0>>Rx+!bD-Ucv~!M;jj3F0!Qb0%JOI4v=Yk-qWt zw42P$K#Q^Y^P$*8qslTdT!Vcq6?GmR;*>QfjdC(3xw9UiRp2>xY>w0R8^3$xUw_X( z{jc3kXgzPGXdDpdNH)FYEcETqVebe!?=l)@S1@9Wn>4WtE10 z!F9aB*;q!BmBe1}ZM;gdQ{1xSvazZ4h7m;M;Fkq=9Xl`CBMRx32duTM ze|~MnrIg|}8!lz|QskZ6cYhGFTlf9_pu5ov>E^oE$ELF`Q{H=A48fi9)v={3@8^qY z|8UEkM`WM9vXaXMn2+E6?Lg@HNWu29?^W0(cn}&R4hsJgWCdu&B-MJwuX%kjto-Bh zeri_djWpMY>p@RB*LgzUBguZb!qGuOQz?Tt4qH-&2GPy}<1l*JB>D^c-82&lIG6_f zFaV2sNx^3u?OL*&X;rIjEP0#?Kk%m}W&^L&w9_Y3=+r$A-&8<|sEWlJ z_}&UbKDvIBpht9tAYvE?_(%-ANRom6i_Cy0W@8!UYMnlaEc@J3Z5R$1Bg3)Dd0 zs&NFAns&0S=_gG*N0Be&#z_x%32Luz--GjiN43Nug8z&($GwS8;D42y-D&?zF!@!3 zhONvu+>gWqsm@28DIvk3H&D(^6vo;qDp(kupYRH@5_8Q;Q3yy=fAMn78KiZN!OEXe1h9X1m~~k+W4|_ERj?guozA zG$LPut_q@cgcoB+2#R*zrW$sZXxQZKQByUK1jQe?Jz(dYE>iYLZr*K z6XN0OJmrP{A>lhK%BMbZH#s*OblVX_JK!yveMt2kiEPm1Fgor0m|o56tF?O%U@4pq;*2;zPHRSC29*Rj$3YxsnUiVEXISheK;#h zqwO0=zU*>0GMYj~=`=#rj*b_8A{$Q0&~aDU)cI?YLcK{8n2?hF?Ep&ZMv>5oYubVQ z;Zhei`u%!ec3#k?)#gPZh3ORcC?YYs3?FK}E93OMsYTs~sFlt#T^sPiE!tlxK7trp z=0vHnJB9=XJ;ljoQ}~HQHFciP)MOzn*ivD+pN&EZ_8yMvZ&QCapQeM6qL(HH#TBL* zevdN~rASn16cnm#DouVXh}YEW4$iX^GFGM@Gy-Zz zx~8Q>WTl{SU>UJjD(e+`Wiv0{)K#)8b8v&GE25T@PSpCxH(g@=-ak}4HI*0$t`L7o zT)~HfRvH97YAB^KznYjuXj!J^xgKCccq>mzSkHz;WN%*suSM~v*DJl1g$aD z`kWm{(v)h_@~|b;h$@X*o{~+Rc!Wk8LPrOC4@0&QVy=+6C6Z7Jif$I(Yq?K2yQF63 z2lxdb({~z$u14Z{x#o9cP%8l^SS+nU6#DEU?8UL%Kz~MtG4Vw&Z`z|&dbMVveE9k>-t4kmzbNI zyHF??-7&!mee-`QN8s4i%}=$8K;4?aWB}jJ{E7tI6#f4A%KuNA2V1h5;6HM8mlt0) z3<_NdgC9i^u>CwVDD((^ne&Y%?0&(0eoRtYsbK%|>f19kv6Tud;oFg;v?l zkDTT0iNvqv8ikC6RM7%A+AC%yP=a0>`%-wv#S8n}5zY4#@`qu-8-loi5W=GcUq^f_ z_3p*sNY4Yj-}Sxk%7R|_PncInpvE7W=P_oM;rxWgYUNV4^7#xFiF9oFVUPEE@#wf6 zflMfW^P$ZtPZecqYHAlDaVUy#52oHp=;@{Nro@{?=H30mwQXtMb-#uDn^Y-s<{OS_ z-kz9HultN6yFx5&s7+MTo^N%JwtIZwQ%jG4)&6IJD6#BIwgl$h(EA`792a5Q-SEA| z4IDvQu$xwrM3H*Gg;pM;ejJyU+c`P7ifOvv5msdGA|z>b9GSaB{3VP7wFf(__fES^ zz1K{YX02L6t{gQDaz7kDxlKYWz59onEIfCESjN?xNGY4qATQN}^)gq;@o%cdVlJcM zR5h+nmncgqpjHsX1(&hBxOXs4<<{}Qs}+RrCFlS;a1E>XLCPjpYuKkireA#mfwTtd%-n$InRf3E_|=16GF zX|2hk!b6UKJ7tT?beNcGROp7|cAIgH$;5epr4=cRqMkzzi5<3C&g&cuT(hJ%TJ*I6 zlVlsD28LPcfE6MriY&xI?f)LpioW${=MO}K`PX>_FjQFOM>OonRVJHYVd6wV#>AK& zWe#5->BKP;!kf8h{o+-a!HCz#9xUAb`}(Hh2I2vXL|nd39;ZkAN0^bbpI_R@Y-UNs z*)tj1VOg>Z*22m$GrwsP5Bs)!uw5n6|I{+=5Qe@rKw-uOahklJUOOof`sttB;=Ra?@qVW#Gl zHmzY}hGYrq6p5mEsVYb!o{wHWG=RsE&VcGpOh~^ukfY+FK54H0@wC_Hac)GGH5;HV zPIs-oWNBP9Sj@C4TGyla>Uqty{g^rGXoQuNQyLcG+_vxK$8W70RFzm$Q^F3LQ;A9b z59-r~I)oGTuv29a7DEaczDqO;MlT!Xz9L2XOADLr7e|>{q?(mtX8slk)_NjiwtD(| zcD7lg<5;2zWBG==BCpMuGk(@`V2_Np+zJ?^e%NrL)QO5?E(iCUNS++8w%&H@*8-hC zL~>Vho-U{|YpU8P)tbl2JO+BE@|B zEj_9k6?D-Rq69sesr=nndM!ufm>|Uh&^|>c#*=58qi2)w1XFMax|Xi>5Ld(r&fP{z>M}?|1Jx z_uO;t`M%G4SH8n+P4C`!S@oTw&H8($^@n2Hg||z-WFg0A#-~##&BfN=XB>X(O*_IH z;B(-Hnc0DEakTEIINFetcU9dk>GfJRBdfP(RB79+72<6wAR`*-KqX|@BiA&d6y;U1 z;`PxUC)|@+F0CET9$k7QRij$aatY_5F^3;^mo~I4kS2NPh+m5z59N!`mN=A(LyEU| zEMZa_hLoh>s$-2!(GNWQ=#dvJkyXR@=C7ekonclVt@EF#Td+d(dc&dexOKcQ*d1z%(x)JpgUDLiy8q+e*5Y8Wbx^?YGZ&DBkE z=3TTDUxrG$9x=A$Z#pHJNb4G)6}Xc=$eVlcn47bkeT3n2M*qjvVEa-5GDj zH7h%C_j!&I)nN42j*|vIH15n@b1o>K7#yYZxJ!8h(8cB|moaS^V6n*%FR5joZ*h9) zd{rylfx`3Az8A;Y_Wli8tBrFt$%5Iq7Z#hP%jSh;<`-vpVlHJ93i+((Y=?secyT{zV^5zjmro* zPlS5@&^d{*|AHR)PEv3k^7a{ug={bO$kwyi63O7GWnt8X$Z z+w{|#K$4Y((sN^-s;k#j!fQENcPThfJ6%PMZ)(+$+;GosaXo(=d-#zitER0EFWVIS zD!c7a!nOVfC-tKW9@DfNK-c@kwGIlB_E`|+AJC?8 zYQ{40qE*=4YHngTEM+uNvRl&{|cxvjS=F(<>b9^Q&-bj*2=ke>Kl9vI!&-L7Fg; zbu59@aDifX9rHMl%n6mfZw9Wgiw#X*vgg^KmL1JzS`ek|?xuwCM>Q3~ueU#%C|181 zZdJ`adjmk?kKOOB7hNZV2n&wjyF@?_`#7W+NEAJoZ%$d*+xj^phEG>f?WpW++P4~q zSn=mI(wIn=eB6Q5+r!`X_FdCIWOGJ^M^KS#_ROKA9Wv8i_(`8eu}M3Ud9FG>Lx=67 z-io~LV%|~e=N#t(wC8f)VCtiS2Mqx9Bx~*hU{%VUuipaLsaJ;$?T&WCAwrlbXpl?P z2lTh64#s9BMU)feAZI(Ui$sVI@qUq!u-+S)uzR^1Bv}F~Qa(mk{kOZ9enKadIJSvu zO85r;@JdC#$IGQ$^p4s4h{$sL^)@1P?0BkfgJAfCu>H_%cul}Vwp-Pb*d}4vN8^$% zBUB;;Ue8k5&F=lq$}Y&6+mO_E>r8TGGVdYk+dT~c)*>6mtysMi@3>KxX>JwZ+CHX#lV#3m2ev?^d3=Uq z@A7izG&B6iE7e(w$+hsnuQzK@gKI0}0h;3x=j4xB9>!6nGbCL?h5Wx3{uq)rs9XsCG?|x?Pt<{AFx6IWLKej%2q%*wi(|!*|^za zDz8#?VVRk%`_pg82a(CzYE@TWkZ846QcquvAR^-WXa3m!ir!V?7cg>t)&LO`@mfJ$ zQv*|3DOGK~y)tM<$L8ncBsFJ2H)a$lLxj4$Yu?(?;9DWJa6sj}f>V&4m~iLgNP8)_ z`tf(J=}Q%hF$ttEFO*w4Ee?etK_H^D{+t<37{k=fw?LM4gV9nirI(5RO4sY>l!>b? z2BdOL8Lc$IRHh5s#xjn{;TR|42Q5HDu(8=p7_X;E%`b`CoU(J~|-% zMFiG@!@4?R-9AGtr|qipplW+WY6olERFvTeJLV-XY+~}GsMu0TvPgW>%D!i+w|lE? zZcW71*iGHE(W)0bGR6Mc+7;^g-M~BochDmBH$E=PaYCsnTZNM2DV~ZDP{UNT)b1m6 z3cf&5aR>AOZxy+0VrCYtj^@8nU07aDn0{YEoqhJ!{(Z6adJCia zrhcO!Xhl%J6qAU5z`6s`}IlP5T$&)RGc7*p3i7DOB>rSY3;KD<@_fSo1 zz8J&(Cvue8z%l3E$ta7mVB7TQjJ~4OTCxI>_CsZ?tgazg$NfUIycz+cKFk7Hy^@dI z(oT%E-5{oB-1)B$AoovQMTRlSZK#lKx+2)AOn+UtZkU_tU(^OocW%&4Zl1e9r1*6` zz7hWJhiwT%Z47!}?%zE^6s-GL&>nL1-=ySzpz=n|T)4CS3#H2#4vzo}bZ{rf-QdGA z!3p{_jsydcXK(R6{CSEUsN=2wGD$OrJ>)2AcRUlulm$W{ zkb!5;e3$%4Y$iDflp@qojz*s}NO&7C?^R&~>thIf-QxlZ4WJhmbgPSkcO*}X>2ye z+@&#@y$dK=-x#Dea?6_~m6e%nteu$XuRBl1|Nj>Y_20J@6JcittDfsn6{pH8`oZTw zLoRD=*16*R(>}?q<5ZZf8?TgZ$(=I zfpk9s9_Q95As}Y-(Z4ff?qd%v{YNu>ZAB|`rjh_u<;{`WIxN^kG?e#`rP@Ad!w|Lbx+^E~G{_qp$L&hPy0b3d2h14cT0%fyzk zv9a;#>1r9Xu`N*n_mci;t5e&N;wDZdR!G@PA@ICGq>0Rh<6R*+MK%OQbytAVbm z;XW8b6WkLCjyUk6gR^raLqjwjC}a|lXv@kW;lMOwP7{nhhC*0m0$QURjzT4nofh0c zC<0aGg~e0tFhtyfSav~TOQv9Plm!v+0RfXk!(=po4d_o!lj%QraKeDO8F7JW$-p#Z zVOp{#zL-lB9be$7%Md1&H@P_S8XWX=N+_s@_077fa`8u~Nl0MsG0Q)!+oP~)&5tjtF; zh2}uUlbtX`^mi$WLUwh+;-Kt6rTJZFADQe7gt9<*97m&hGBJX2rICTifkq-S--4A> zJP$L+Gaf9U2e<-IV?1g>sDz9!JVA(ro)*>$Ef5I612Yy>vMa@oDPm%lhN0jA+c2~g zSOEAQF~-0@PTTk7>EHlmfCYmvQE)^Ijo|j<^cW^^@!#}*WPqO`u~-7p<^eJR@F7Bm zRg3aUAQX(eFl$j(R*{)x)?^C~G6zB#{QF>9m{ktYqBbA_)?)uS3QTPVe*d24PcUcZ z!VN=oWkw8!KoUV#Q1)bozu!@Zba90WiSc3=mBB3#fyyd4gP4H4v)+R{JfsJHF(d#s z6vG?_iv`GIiI@riFdB?MfRu$6$+5+qV4k3m|fn9+{ z0Gy-2d_f{$u~6Zl+#LusoQX4rfkSt|ut4@>oj_AFD*|MK1!l+~j+OU+A5d8q!DazD z`3*)$CXC#_Go&(;1|1fWBLo#_91CrWq5Y3Q?N7mmx#sWSK>P)iwBYX_QpR2QK^%G%y6EB+fHzWdfdeHIwElOC- zEmY@)Hprgf0d1xX?qd>!EVL6YK=MCK5K2EoMB!(SkY|b(a|BDq!qH#K5une9;{KNa zV%Ps`I3Q%8zKjv=MVkgI`TuJG!R+#X0K{)A(+R5qoim{QoQR=P33i~!78T@=+cl%} zJPdT9y_)gxr+U=I4Ji}6&X_;nkSEX)V*&f$U!e%apXQbQH+G^d9REiv^mlyt@2ybA0qt*mykdPJ`2Lx2F^e$XvOZ}p zykHK1J_9d&&)QkIRe_C7;GUkAhN;J~*H&IZhgwCCDM!s7U%8_;DiNi_cOj>|G#_RZ zEy2yM7xK%vlIh;(^Aqmv&mwZ)6uFMI?K&^Ty@}g5R@L3u&TgZGnn$Ej zoSGi~X$hq_HB5#}jD}#@V`^l3%}$ojP2fq)dI;5V+n)SI)ln z`l?+=W{;1*tc#XE`Q_8aIu&N32;QSQI6(p^ht*P0L|&q*0zSs5?J95OG=| z&YtwL_G%8P3)z`NFnM7scKo5RgQY***JxN}P!3<;@V2iaB`xi2ulG!k?wLZ5cebf1 zDGB5UpD(|E|6Yn?IIXzi@1$% zX-kR;PbjDLiFfFo16L8akR#)>4;R}0Vb;8!`$I;p}^H2Rz-eSqDUe1A?mmOk4TxZbj5+1EyVyti3w+-g}{ zt=TX=UJJ<$s4F7--baRW+a%>Wwr5QCdc7gEmY_pdHKv%{!g88z%nWKE3@#rHQRQ$} zI{D=Cu9j^4es_`PxZUm(;!|Vo5pc_by&hBJUHO^PUOEx$lFG|b^Hc5C-p|g}lmY9a z;+Ji=*>E@;iQx6+L}L6rUS7p>OAY07?4pf4UAjVT@5kxa7n+53$1dgHfI3!4Nm7~W z&#i>hGK=4by!v>>+UKgvaxQ-H>;3(vorEjj$t(N_%-%z`NiCE+_8K1=)M*Z9BD{c zYE?uF?#v_I@fjTV3%q3ZiJPv@<4ZFT5fQ1I{xWpM+UY%42cbi0o9}KrPP33b9NJ-G z=%e{ghqOz1r2U2sM$)XI!V*>)NYavM#29fU$ehybByO9RI@P`^sO$O3ujwiTQMDlP zdrQ3P4hZEnNM;9%gpGvWU8Am9jlWq@&4=YPbMGFmcNY)Zl5qN6Vxp9Y zQRf!2#_n-^5oJg}wQtfI&D~{g?VYrHy}U!D@kn=fcZ)Q>h)+P`X_vLtYh=?$Hg-jM z`K`Z3E0T?J?L?7x_)bLC4a!Xjmkv@iG<@}6M165jb~(ysbM{%t_B{O;+~+QS6>w-x z6|pLzPa$=W#q)P!w%)&><~?6Mtm_ zrk#6&`n$_4#~-QJUpI+q?RnMc0P%($8?dv6WZOwfwXaUl$& zW+%GGQp*o^;-jNe5w}HSlsdcL;eJ~otz%n9d4)&44Ma^^9@}edH0gR4-h6X-pOA`U zIJ~*|>~rO!y8+=9;u5Rqk(Dbs&t15JW_$3QZ)|G)!4vap>1(?zcw%vP3xn$E)$3pu zUp2J?cMKxZ<2r{&5OwX((97DJO5RnkO$lnax8huRFD$LwUMMa3r4THUs(HyFzAAOc zealDO=Lt!MW>yt5TzPLkO*ZdOO}G{BbEHmL+v+mhN?++|v2E2dYt)$jNScQIwHw)$ zgOj7pDeZfIE%o0`K@eVk4)|#G!<6)avc=Et3wN`)&wg#C+<|Fov6am+ zo*DC~Bjb%R3TFxui#Eti!f4a{9m7p;;iQPSG^?}R?0cJu&O$26V`BUt#~ZtQ+@Gh5 z%>f2)onB{hqo~xM-{z+Dv&^IUMx>FPOpng^$2ldH@W{JsDyM}W>_|20GAK_ts${0j z6N{DR3Ea3seKJyIMwQqhldH|$2w7Qh;)waG?nGMx81pQEbHYaTIt^R zjh;AE^OTHY$PIT7@7xcZp@IN~>Ls72yUG;B?x6*XBA2w)sVOF0SYFYGILm9THBvql z?ABH&(9WOMy+&|dUBTOc*oJ^%%DT%yHo;fOxl_%F(ih5Yi}zPt7$IQip{yRJwn4&&>0g>6C@kKGd*jj=4xWZJs^n zx_VglNllGu)03^s&Yx^+X}QgD-P6TKP0PswtIG# z4sS3YRyTWDE-I)J!6B0?CfaWw`Zde$q3N|-pwCGCxOVfts23{bnjHCnd{F$wprJ6v z;gVF&o%1gbkd~t9+1w$WwG0|-BL(tHBp$kBCWsh)amejaq~!J+Ml%yVhxDDWOSQ|? zSL*h7f0}jad~kBl>&{#QoTSG4cD)Om55DOw=|PevKR{u?%k%ZP$ML%KM0|Q67BnHY zcJ1hkveUHpgLg2;v6Ebc1yH7w*dIW8{>$GUOHpUKz$!GMHNfIl(gk7wz9% zOUmNA0%61U#sM`xs-%0vB{^{ZRbmiQCK zxUG7WK4^%47BE;+z=uDqNbI;ydGxxsB$__;3OzSB_v+D=&uKft{bQ9}{KCbRQKz|9 zm=(URKD*{dedXqKDAiWwQDAJYHG->^z)RC53izk*$kU zSFKI9&8~wInRRe$+!>H6VS3PDc^}y(?(k*%N7;OO4Kkv{b^hwuWRlOJ+#yNXxL@-wh~OtTQI&0$Bz> zGe4Gjr^G$R%nm|VeQ;Ur?qQVWuSbu0y;eBhQ>4(>s!;D|-hT4ST%cLnVL`kiJ1H89 z7JE{_m+At6c9dAOuM4Fw|G5t@kvG^}+IH;m#t5}Uqhrp`Olu)Gj#-c#)Zvx6FCI#< zWo(E6DO|PAqQF_Q?>KsAi1St`EDwFd;MJu81*;MD8Mb|WZ%VdX zumxskL2AROO-gDt0R?ZX&ch5wMjCIJnwZ?UD*~hUl^_gx>^UPxkyW=IGqD0@2?#!`W<{~J#>qw4nthvPQ6SEStm|T&}Al{{Re9y*{ZuJht$!^+X#>0|Xd}8{g0oAfEzLp`oNx?WMf}>c>~!dT0iw4} zZW&>{1xvz*x(lf-nbvz$yys~(mDe>+Uo6dYY_Gp#aZL`-uYg1f5wBYA%&<}03?g`; zWH{@MPgR*+cE%lz5wpx=hV7Zw`&&s}dFh?;)1N*(b(E%gO^?g=b5%W-O%4^W-hvt) z#LcN8ImRs8x;C__w<$B~GS;s&8LBzB015NT-uA~=Bg%fzijb&HE z*w1^&>F3mu4E*aYpX)sh)-_Jy<-4b`*B`$2;^3Ne!N?~rIc^cFVucf$%lVpk_HaLP z4fJU+(6$mR!p>g(ymg4(aT-3YuvbvU`mG)=R-m*bqrm%4LV_+DUUvnrVk1FrlxKOt@{nWwaD9_TrsPIlb>bd1D{>&m<|R9 zu>EXFMLygc?nUo8d0)R`U0aoM0UI7Lh`e3(^5DVA8>JHJLJ4xEdQIpVZkzgy;^G*6 z1A{|iZa1+j5?}PT)zs*B7PxFYWNvPP!C(aJtF#|Mhppvzqas!;Nvk$9HEl>XjCKG= zY5m#aW$QTj%kuyWimB7(0U#qNRO-Omn4Ixt;2>x2{J3JX)G5QNfyC@%{S#N~-&a$z<;{2 N>7k9ZGEg>t{{sPB0%ZUI literal 0 HcmV?d00001 diff --git a/lab4/report/img/syntax_diagram_cmpi.png b/lab4/report/img/syntax_diagram_cmpi.png new file mode 100644 index 0000000000000000000000000000000000000000..d870d0c15bd647ee79b7257f354a888ff72a04d5 GIT binary patch literal 18531 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 DNRR68 literal 0 HcmV?d00001 diff --git a/lab4/report/img/syntax_diagram_expression.png b/lab4/report/img/syntax_diagram_expression.png new file mode 100644 index 0000000000000000000000000000000000000000..0ffe56046d040740b471301f5f0131ac21ab2fed GIT binary patch literal 9531 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 literal 0 HcmV?d00001 diff --git a/lab4/report/img/syntax_diagram_factor.png b/lab4/report/img/syntax_diagram_factor.png new file mode 100644 index 0000000000000000000000000000000000000000..ee3e4e6a87acae13219d4bb3ad16952d634b918f GIT binary patch literal 41217 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 br=^0pZ4Tku3P!=dL?FzJtTx{?bPoF)>fZdD literal 0 HcmV?d00001 diff --git a/lab4/report/img/syntax_diagram_letter.png b/lab4/report/img/syntax_diagram_letter.png new file mode 100644 index 0000000000000000000000000000000000000000..dba24005192b6d0f5debb42e7bdd03479c909b8f GIT binary patch literal 28661 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 literal 0 HcmV?d00001 diff --git a/lab4/report/img/syntax_diagram_mulop.png b/lab4/report/img/syntax_diagram_mulop.png new file mode 100644 index 0000000000000000000000000000000000000000..824402eeb5c843d88d2a8252d5267ed6eb9ed440 GIT binary patch literal 10258 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

+O=8>dc9~1CTeoThCdr(EleTV-C Dn9w!0 literal 0 HcmV?d00001 diff --git a/lab4/report/img/syntax_diagram_program.png b/lab4/report/img/syntax_diagram_program.png new file mode 100644 index 0000000000000000000000000000000000000000..5088374abccdb31c0dee09c886d6ffc4c541aedb GIT binary patch literal 8831 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 literal 0 HcmV?d00001 diff --git a/lab4/report/img/syntax_diagram_relation.png b/lab4/report/img/syntax_diagram_relation.png new file mode 100644 index 0000000000000000000000000000000000000000..728cd4561ce3d3adb9c496e7a154cbd8a34e5cb7 GIT binary patch literal 7704 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 literal 0 HcmV?d00001 diff --git a/lab4/report/img/syntax_diagram_statement.png b/lab4/report/img/syntax_diagram_statement.png new file mode 100644 index 0000000000000000000000000000000000000000..7f038a83ec2850b19119d5b595a452e599854d88 GIT binary patch literal 50136 zcmeFZ1zeQd+CB`!AYhORiV7o03DPYcB8{LR-QC?WB2p?KN~cOGA(A4cf}*s5bT>#N z9p4(5aihD=`@ZMweca#Q-~4c9%`@v+ap!ek>j_kllQ?#m^e`G4+A+y1Vv1;J7;rQ+ z^h4N(Kufnzs2}(b-Cj{b1TDMa%p@Ax4JQZj8xEE(My3{qXjE*X`|qe&nN6(i9jMsE zs90HbZEP3~Om&UzbS>=}tqdJN6Zl@&*w6}jfvmNgsfC3u73*aVMrQC8t%|9Yfwi+e zcq?}e{9$1R&1@pz9r%KiegCZsCp#Tz5w@|hFjO(rlQsqYUgluqVr1h4&9u^2uF1+! zv5JEC7N+Kg;6DjNeRFHXPee`ZtSv#yWfnG0M$q-%J(YBgbnQ$Jbb%P7lcAlxskPPq zG+4R7r9AtCx7XLTFx+ou*>BOawlgra+iwDMV5MRcr(zZceIQ&bBC`KiZ0|kyUOOkU9rPs5O2y4g#lsFdLf+WaV81t6GkGyl zS0fge8zy?<1{};z<`PCfjsrCsOBV?{T^kcwYXd_I(361+aw@Fc$oUz#?zeDqvh7dL z*ba3chqsez$AvbX(TI#^p7eGWo4+3+OdzWRsD#1#))C1{)wX-(7)dQ2NzoAX-&S4IE7NujOXt+8+y|{feQfu?gzVES$&* zTk4`NM$W|EL>GwQ{_lUapZn{GT1`7^YtY|;?LPQ5>LN=QQ9}#FVx!g(c^@Eg|MTB| zTMfH!I`n_(4v0EJ+U*@&Q9^BK0G1W`(b~?z#M;=}O4maCmsSxwYey>sL&WYNRP&c> zWUQ@iKqCuiG&6K?a7D_9uA_rBXfkoIv_O6fMsDYN1Nr;C52}a{j2z&yy^mrDsYGQTW!6F0&KOvmy{kA-0`SXkupYuWT;31}PhVJQjp${Xv9~^K{a+a72!Vij~s> z%vi+88rar@JIZP6h!E1fFD}~e=`F%Iv2fUcRR(K{`X0P9MqCH}*R=#2DYDm{y@RfU zp(WUdZ_UVyz=jC#y}(ZF-x*A2|K_NEevm8⋘E<2LwUa!qgaHV)a4)2n#9#tgeG8 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 literal 0 HcmV?d00001 diff --git a/lab4/report/img/syntax_diagram_statementList.png b/lab4/report/img/syntax_diagram_statementList.png new file mode 100644 index 0000000000000000000000000000000000000000..cea778dda06f7915c925557dea1f161c1cc69b4f GIT binary patch literal 10475 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\\ + + \hfill \break + \hfill \break + \hfill \break + \hfill \break + \large{Лабораторная работа №4}\\ + \large{<<Доработка компилятора языка MiLan>>}\\ + \large{по дисциплине}\\ + \large{<<Математическая логика и теория автоматов>>}\\ + \large{Вариант 8}\\ + + % \hfill \break + \hfill \break + \end{center} + + \small{ + \begin{tabular}{lrrl} + \!\!\!Студент, & \hspace{2cm} & & \\ + \!\!\!группы 5130201/20102 & \hspace{2cm} & \underline{\hspace{3cm}} &Тищенко А. А. \\\\ + \!\!\!Преподаватель & \hspace{2cm} & \underline{\hspace{3cm}} & Востров А. В. \\\\ + &&\hspace{4cm} + \end{tabular} + \begin{flushright} + <<\underline{\hspace{1cm}}>>\underline{\hspace{2.5cm}} 2025г. + \end{flushright} + } + + \hfill \break + % \hfill \break + \begin{center} \small{Санкт-Петербург, 2025} \end{center} + \thispagestyle{empty} % выключаем отображение номера для этой страницы + + % КОНЕЦ ТИТУЛЬНОГО ЛИСТА + \newpage + + \tableofcontents + + + \newpage + + \section*{Введение} + \addcontentsline{toc}{section}{Введение} + Лабораторная №4 заключается в доработке компилятора языка MiLan согласно варианту работы. + + \textit{Вариант 8}: В компилятор необходимо добавить поддержку операций инкремента и декремента, как постфиксных, так и префиксных: \texttt{++i}, \texttt{--i}, \texttt{i++}, \texttt{i--}. С точки зрения действия на операнд i между префиксными и постфиксными операциями разницы нет. Если эти выражения являются частью более сложного выражения, то при префиксной форме сначала изменяется операнд i, и уже измененный результат используется в выражении. При постфиксной форме операторов инкремента или декремента сначала операнд i используется в выражении, а потом уже изменяется. + + + \newpage + \section {Математическое описание} + \subsection{Обзор языка MiLan} + Язык Милан — учебный язык программирования, описанный в учебнике~\cite{karpov}. + + Программа на Милане представляет собой последовательность операторов, заключенных между ключевыми словами \texttt{begin} и \texttt{end}. Операторы отделяются друг от друга точкой с запятой. После последнего оператора в блоке точка с запятой не ставится. Компилятор \texttt{CMilan} не учитывает регистр символов в именах переменных и ключевых словах. + + В базовую версию языка Милан входят следующие конструкции: константы, идентификаторы, арифметические операции над целыми числами, операторы чтения чисел со стандартного ввода и печати чисел на стандартный вывод, оператор присваивания, условный оператор, оператор цикла с предусловием. + + Программа может содержать комментарии, которые могут быть многострочными. Комментарий начинается символами \texttt{/*} и заканчивается символами \texttt{*/}. Вложенные комментарии не допускаются. + + В данной лабораторной рассматривается добавление поддержки операций инкремента и декремента, как постфиксных, так и префиксных: \texttt{++i}, \texttt{--i}, \texttt{i++}, \texttt{i--}. С точки зрения действия на операнд i между префиксными и постфиксными операциями разницы нет. Если эти выражения являются частью более сложного выражения, то при префиксной форме сначала изменяется операнд i, и уже измененный результат используется в выражении. При постфиксной форме операторов инкремента или декремента сначала операнд i используется в выражении, а потом уже изменяется. + + \subsection{Лексический анализ} + В реальных трансляторах языков программирования (ЯП) первой фазой является так называемый лексический анализ входной программы — предварительная + обработка входного текста с выделением в нем структурно значимых единиц — лексем. На Рис.~\ref{fig:scheme} представлена схема транслятора. + + \begin{figure}[h!] + \centering + \includegraphics[width=0.7\linewidth]{img/scheme.png} + \caption{Схема транслятора.} + \label{fig:scheme} + \end{figure} + + Лексемы — минимальные единицы языка, которые имеют смысл. + + Значение лексемы, определяющее подстроку символов входной цепочки, соответствующих распознанному классу лексемы. В зависимости от класса, значение + лексемы может быть преобразовано во внутреннее представление уже на этапе лексического анализа. + + Класс лексемы, определяющий общее название для категории элементов, обладающих общими свойствами (идентификатор, целое число, строка символов...). + + Лексический анализатор обрабатывает входную цепочку, а на его вход подаются + символы, сгруппированные по категориям. Поэтому перед лексическим анализом + осуществляется дополнительная обработка, сопоставляющая с каждым символом его + класс, что позволяет сканеру манипулировать единым понятием для целой группы + символов. + + Лексический анализатор (лексер) — это конечный автомат, который преобразует входную строку символов в последовательность токенов. Формально его можно описать следующим образом: + + Пусть заданы: + \begin{itemize} + \item $\Sigma$ — входной алфавит (множество допустимых символов) + \item $T$ — множество типов токенов + \item $D$ — множество допустимых значений токенов + \end{itemize} + + Тогда лексический анализатор реализует отображение: + \[ + F_{\text{lexer}} : \Sigma^* \rightarrow (T \times D)^* + \] + + где: + \begin{itemize} + \item $\Sigma^*$ — множество всех возможных строк над алфавитом $\Sigma$ + \item $(T \times D)^*$ — множество последовательностей пар (тип токена, значение) + \end{itemize} + + Процесс лексического анализа можно представить как \textbf{детерминированный конечный автомат (ДКА)}: + \[ + M = (Q, \Sigma, \delta, q_0, F), + \] + где: + \begin{itemize} + \item $Q$ — множество состояний автомата + \item $\delta : Q \times \Sigma \rightarrow Q$ — функция переходов + \item $q_0 \in Q$ — начальное состояние + \item $F \subseteq Q$ — множество конечных состояний + \end{itemize} + + Для каждого распознанного токена $t_i$ выполняется: + \[ + t_i = (\text{type}, \text{value}), \quad \text{где } \text{type} \in T, \text{value} \in D + \] + + \subsection{Синтаксический анализ} + Синтаксический анализ — процесс сопоставления линейной последовательности лексем естественного или формального языка с его формальной грамматикой. + Результатом обычно является дерево разбора. Обычно применяется совместно с лексическим анализом. + + Синтаксический анализатор выражений (парсер) — часть программы, + выполняющая чтение и анализ выражения. + + Существует два типа алгоритмов синтаксического анализа: нисходящий и восходящий: + \begin{itemize} + \item Нисходящий парсер — продукции грамматики раскрываются, начиная со стартового символа, до получения требуемой последовательности токенов. + \item Восходящий парсер — продукции восстанавливаются из правых частей, начиная с токенов и кончая стартовым символом. + \end{itemize} + + Грамматика языка MiLan использует нисходящий парсер. При восстановлении + синтаксического дерева при нисходящем разборе слева направо последовательно анализирует все поддеревья, принадлежащие самому левому нетерминалу. Когда самым + левым становится другой нетерминал, анализируется уже он. + + Компилятор CMilan включает три компонента (Рис.~\ref{fig:compiler}): + \begin{enumerate} + \item лексический анализатор; + \item синтаксический анализатор; + \item генератор команд виртуальной машины Милана. + \end{enumerate} + + \begin{figure}[h!] + \centering + \includegraphics[width=0.7\linewidth]{img/compiler.png} + \caption{Компоненты компилятора CMilan.} + \label{fig:compiler} + \end{figure} + + \subsection{Грамматика языка MiLan} + Грамматика языка Милан является контекстно-свободной, так как удовлетворяет определению КС-грамматики, т.е. продукции грамматики имеют вид $A \rightarrow \beta$, где $A$ – одиночный нетерминал, а $\beta$ – произвольная цепочка из терминалов и нетерминалов. Более того, грамматика языка Милан является LL(1) грамматикой, так как необходимо просмотреть поток всего на один символ вперед при принятии решения о том, какое правило грамматики необходимо применить. В данной работе в грамматику были добавлены операции инкремента и декремента, однако это не повлияло на LL(1) свойство грамматики. + + Грамматика языка Милан, расширенная операцией инкремента и декремента, в форме Бэкуса-Наура приведена ниже: + + \begin{verbatim} + ::= ‘begin’ ‘end’ + ::= ‘;’ + | epsilon + ::= ‘:=’ + | ‘if’ ‘then’ + [‘else’ ] ‘fi’ + | ‘while’ ‘do’ ‘od’ + | ‘write’ ‘(’ ‘)’ + ::= { } + ::= { } + ::= + | ‘++’ + | ‘--’ + | ‘++’ + | ‘--’ + | + | ‘(’ ‘)’ + ::= + ::= ‘+’|‘-’ + ::= ‘*’|‘/’ + ::= ‘=’|‘!=’|‘<’|‘<=’|‘>’|‘>=’ + ::= { | } + ::= ‘a’|‘b’|‘c’ | ...| ‘z’|‘A’|‘B’|‘C’ | ...| ‘Z’ + ::= ‘0’|‘1’|‘2’|‘3’|‘4’|‘5’|‘6’|‘7’|‘8’|‘9’ + \end{verbatim} + + Изменения коснулись только правила \texttt{}, в котором были добавлены 4 новые продукции, описывающие операции постфиксного и префиксного инкремента и декремента. + + Синтаксические диаграммы для всех нетерминалов грамматики приведены на Рис.~\ref{fig:syntax_diagram_program} — Рис.~\ref{fig:syntax_diagram_digit}. Обновлённая синтаксическая диаграмма для нетерминала \texttt{} приведена на Рис.~\ref{fig:syntax_diagram_factor}. + + \begin{figure}[h!] + \centering + \includegraphics[width=0.9\linewidth]{img/syntax_diagram_program.png} + \caption{Синтаксическая диаграмма для нетерминала \texttt{}.} + \label{fig:syntax_diagram_program} + \end{figure} + + \begin{figure}[h!] + \centering + \includegraphics[width=0.7\linewidth]{img/syntax_diagram_statementList.png} + \caption{Синтаксическая диаграмма для нетерминала \texttt{}.} + \label{fig:syntax_diagram_statementList} + \end{figure} + + \begin{figure}[h!] + \centering + \includegraphics[width=1\linewidth]{img/syntax_diagram_statement.png} + \caption{Синтаксическая диаграмма для нетерминала \texttt{}.} + \label{fig:syntax_diagram_statement} + \end{figure} + + \begin{figure}[h!] + \centering + \includegraphics[width=0.7\linewidth]{img/syntax_diagram_expression.png} + \caption{Синтаксическая диаграмма для нетерминала \texttt{}.} + \label{fig:syntax_diagram_expression} + \end{figure} + + \begin{figure}[h!] + \centering + \includegraphics[width=1\linewidth]{img/syntax_diagram_relation.png} + \caption{Синтаксическая диаграмма для нетерминала \texttt{}.} + \label{fig:syntax_diagram_relation} + \end{figure} + + \begin{figure}[h!] + \centering + \includegraphics[width=0.5\linewidth]{img/syntax_diagram_addop.png} + \caption{Синтаксическая диаграмма для нетерминала \texttt{}.} + \label{fig:syntax_diagram_addop} + \end{figure} + + \begin{figure}[h!] + \centering + \includegraphics[width=0.5\linewidth]{img/syntax_diagram_mulop.png} + \caption{Синтаксическая диаграмма для нетерминала \texttt{}.} + \label{fig:syntax_diagram_mulop} + \end{figure} + + \begin{figure}[h!] + \centering + \includegraphics[width=0.65\linewidth]{img/syntax_diagram_factor.png} + \caption{Синтаксическая диаграмма для нетерминала \texttt{}, дополненная операциями инкремента и декремента (отмечены зеленым цветом).} + \label{fig:syntax_diagram_factor} + \end{figure} + + \begin{figure}[h!] + \centering + \includegraphics[width=0.6\linewidth]{img/syntax_diagram_ident.png} + \caption{Синтаксическая диаграмма для нетерминала \texttt{}.} + \label{fig:syntax_diagram_ident} + \end{figure} + + \begin{figure}[h!] + \centering + \includegraphics[width=1\linewidth]{img/syntax_diagram_letter.png} + \caption{Синтаксическая диаграмма для нетерминала \texttt{}.} + \label{fig:syntax_diagram_letter} + \end{figure} + + \begin{figure}[h!] + \centering + \includegraphics[width=1\linewidth]{img/syntax_diagram_digit.png} + \caption{Синтаксическая диаграмма для нетерминала \texttt{}.} + \label{fig:syntax_diagram_digit} + \end{figure} + + + \newpage + \phantom{text} + + \section{Особенности реализации} + \subsection{Token} + + + + \newpage + \section{Результаты работы программы} + Результаты работы программы представлены на Рис.~\ref{fig:result1}. + + % \begin{figure}[h!] + % \centering + % \includegraphics[width=1\linewidth]{img/result1.png} + % \caption{Результаты работы программы.} + % \label{fig:result1} + % \end{figure} + + % % \newpage + + % \begin{figure}[h!] + % \centering + % \includegraphics[width=0.5\linewidth]{img/wrong.png} + % \caption{Реакция программы на некорректный пользовательский ввод.} + % \label{fig:wrong} + % \end{figure} + + На Рис.~\ref{fig:wrong} представлена реакция программы на некорректный пользовательский ввод. + + + \newpage + \section*{Заключение} + \addcontentsline{toc}{section}{Заключение} + В ходе выполнения лабораторной работы была построена контекстно-свободная грамматика для подмножества немецкого языка, описывающая простое прошедшее время Претерит. На основе разработанной грамматики была реализована программа, которая проверяет принадлежность входной строки заданному языку и генерирует случайные корректные предложения. Для анализа предложений использовался алгоритм LL(1)-разбора, основанный на построении множеств FIRST и FOLLOW для всех нетерминалов грамматики и создании таблицы синтаксического анализа. + + Из достоинств выполнения лабораторной работы можно выделить возможность задания грамматики в отдельном текстовом файле, что позволяет легко изменять и расширять её без модификации программного кода. Также программа автоматически проверяет, что введенная грамматика является LL(1)-грамматикой. В противном случае, программа выводит сообщение об ошибке, в указывается на конкретные правила грамматики, между выбором которых возникает неоднозначность. + + К недостаткам текущей реализации можно отнести ограниченность словарного запаса, что сужает разнообразие генерируемых предложений. Также алгоритм генерации не контролирует длину предложений, что может приводить к избыточно длинным или коротким конструкциям. В текущей версии система не учитывает некоторые грамматические особенности немецкого языка, например, склонение прилагательных и согласование артиклей с родом существительных. + + Функционал программы несложно масштабировать. Грамматику легко расширять, добавляя новые слова и правила в текстовый файл без необходимости изменения программного кода. Класс Grammar может служить хорошей основой для создания полноценного LL(k) анализатора. + + На выполнение лабораторной работы ушло около 12 часов. Работа была выполнена в среде разработки Visual Studio Code. Программа написана на Python версии 3.13. + +\newpage +\section*{Список литературы} +\addcontentsline{toc}{section}{Список литературы} + +\vspace{-1.5cm} +\begin{thebibliography}{0} + \bibitem{vostrov} + Востров, А.В. Курс лекций по дисциплине <<Математическая логика>>. URL \url{https://tema.spbstu.ru/compiler/} (дата обращения 01.05.2025 г.) + \bibitem{aho} + А. Ахо, М. Лам, Р. Сети, Дж. Ульман, Компиляторы: принципы, технологии и инструментарий, 2-е изд. М.: Вильямс, 2011. + \bibitem{karpov} + Ю.Г. Карпов, Теория и технология программирования. Основы построения трансляторов. СПб.: БХВ-Петербург, 2005. +\end{thebibliography} + +\end{document} \ No newline at end of file