From 889e48f21568fef8930a9bce9192221ab9387e58 Mon Sep 17 00:00:00 2001 From: Brendan Hansen Date: Thu, 23 Jul 2020 13:34:45 -0500 Subject: [PATCH] Added basic dead code elimination at the function level; bug fixes --- .vimspector.json | 2 +- docs/plan | 5 ++++- include/onyxastnodes.h | 32 ++++++++++++++++---------------- include/onyxlex.h | 29 ++++++++++++++--------------- include/onyxsempass.h | 7 +++++-- onyx | Bin 308888 -> 309144 bytes src/onyxchecker.c | 15 ++++++++++----- src/onyxlex.c | 13 ++++++++++++- src/onyxparser.c | 2 -- src/onyxsempass.c | 2 ++ src/onyxsymres.c | 6 +++--- src/onyxwasm.c | 25 +++++++++++++++++++++---- 12 files changed, 88 insertions(+), 50 deletions(-) diff --git a/.vimspector.json b/.vimspector.json index f64d90eb..8a5ecd89 100644 --- a/.vimspector.json +++ b/.vimspector.json @@ -6,7 +6,7 @@ "type": "cppdbg", "request": "launch", "program": "${workspaceFolder}/onyx", - "args": ["progs/structs.onyx"], + "args": ["progs/ufc.onyx"], "stopAtEntry": true, "cwd": "${workspaceFolder}", "environment": [], diff --git a/docs/plan b/docs/plan index b9e23256..b9e28abf 100644 --- a/docs/plan +++ b/docs/plan @@ -110,7 +110,10 @@ HOW: [X] Bitwise operators - [ ] Dead code elimination + [X] Dead code elimination + - Start with uncalled functions being removed + - Foreign functions will rename in the code because it is turning out + to be a nightmare to remove them. Lot's of refactoring... ugh [ ] Enum types diff --git a/include/onyxastnodes.h b/include/onyxastnodes.h index 164fb0d8..270cd530 100644 --- a/include/onyxastnodes.h +++ b/include/onyxastnodes.h @@ -117,6 +117,7 @@ typedef enum AstFlags { // Function flags Ast_Flag_Inline = BH_BIT(8), Ast_Flag_Intrinsic = BH_BIT(9), + Ast_Flag_Function_Used = BH_BIT(10), // Expression flags Ast_Flag_Expr_Ignored = BH_BIT(8), @@ -155,22 +156,21 @@ typedef enum BinaryOp { Binary_Op_Bool_And = 17, Binary_Op_Bool_Or = 18, - Binary_Op_Bool_Xor = 19, - - Binary_Op_Assign_Start = 20, - Binary_Op_Assign = 21, - Binary_Op_Assign_Add = 22, - Binary_Op_Assign_Minus = 23, - Binary_Op_Assign_Multiply = 24, - Binary_Op_Assign_Divide = 25, - Binary_Op_Assign_Modulus = 26, - Binary_Op_Assign_And = 27, - Binary_Op_Assign_Or = 28, - Binary_Op_Assign_Xor = 29, - Binary_Op_Assign_Shl = 30, - Binary_Op_Assign_Shr = 31, - Binary_Op_Assign_Sar = 32, - Binary_Op_Assign_End = 33, + + Binary_Op_Assign_Start = 19, + Binary_Op_Assign = 20, + Binary_Op_Assign_Add = 21, + Binary_Op_Assign_Minus = 22, + Binary_Op_Assign_Multiply = 23, + Binary_Op_Assign_Divide = 24, + Binary_Op_Assign_Modulus = 25, + Binary_Op_Assign_And = 26, + Binary_Op_Assign_Or = 27, + Binary_Op_Assign_Xor = 28, + Binary_Op_Assign_Shl = 29, + Binary_Op_Assign_Shr = 30, + Binary_Op_Assign_Sar = 31, + Binary_Op_Assign_End = 32, } BinaryOp; typedef enum OnyxIntrinsic { diff --git a/include/onyxlex.h b/include/onyxlex.h index 913c48a0..e82c3fb1 100644 --- a/include/onyxlex.h +++ b/include/onyxlex.h @@ -44,21 +44,20 @@ typedef enum TokenType { Token_Type_Xor_Equal = 288, Token_Type_And_And = 289, Token_Type_Or_Or = 290, - Token_Type_Xor_Xor = 291, - Token_Type_Shift_Left = 292, - Token_Type_Shift_Right = 293, - Token_Type_Shift_Arith_Right = 294, - Token_Type_Shl_Equal = 295, - Token_Type_Shr_Equal = 296, - Token_Type_Sar_Equal = 297, - - Token_Type_Symbol = 298, - Token_Type_Literal_String = 299, - Token_Type_Literal_Numeric = 300, - Token_Type_Literal_True = 301, - Token_Type_Literal_False = 302, - - Token_Type_Count = 303, + Token_Type_Shift_Left = 291, + Token_Type_Shift_Right = 292, + Token_Type_Shift_Arith_Right = 293, + Token_Type_Shl_Equal = 294, + Token_Type_Shr_Equal = 295, + Token_Type_Sar_Equal = 296, + + Token_Type_Symbol = 297, + Token_Type_Literal_String = 298, + Token_Type_Literal_Numeric = 299, + Token_Type_Literal_True = 300, + Token_Type_Literal_False = 301, + + Token_Type_Count = 302, } TokenType; typedef struct OnyxFilePos { diff --git a/include/onyxsempass.h b/include/onyxsempass.h index 5b3356fb..3dce4427 100644 --- a/include/onyxsempass.h +++ b/include/onyxsempass.h @@ -12,6 +12,9 @@ typedef struct SemState { // to make any more node in the tree bh_allocator allocator, node_allocator; + // NOTE: Used wherever + ProgramInfo* program; + // NOTE: Used in symbol resolution phase Scope* global_scope; Scope* curr_scope; @@ -24,10 +27,10 @@ typedef struct SemState { extern SemState semstate; // NOTE: Resolving all symbols in the tree -void onyx_resolve_symbols(ProgramInfo* program); +void onyx_resolve_symbols(); // NOTE: Inferring and checking types in the tree -void onyx_type_check(ProgramInfo* program); +void onyx_type_check(); // NOTE: Full semantic pass void onyx_sempass_init(bh_allocator alloc, bh_allocator node_alloc); diff --git a/onyx b/onyx index d2b55da7adf36d2013726b73a2a8bc3c9355aed2..3d51e398539fae28ab568d20e94f047d11454acd 100755 GIT binary patch delta 121436 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 z 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

^A^1ZD8E9g0JvpYk+?Bq`4)O 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 delta 121678 zcmdSCcU)A*`aiyNmc?D9tO(K(P!v!R3yK|#D0b}FdpGvp)-H$`bu^>K7ERQsi8Z3e z7GuOD#&(UdB^qNA5MxO!#3<+Ye&(EoW$(S8-}ioh_w&ckm&5x#&-2VPea@UYyL;9= z_FnV5_ws1=@rsyjZc%{-`7bJP#m!i^Usf;~`(*|9X0dLkx@*c)-FYh(YZ+Twi^lP} zEIsV8W;)dg8=5tvhCEu?<5rtu_b`#EXn=-Od?oY{~2TdbA^x@0PUACeSE(sfBXzYNJ#NS5l7HJn-e_zp;x z>yjP31|-)ZS*1%3^ZpjUfKyKSuF>ev}RrI?+-2mZZjC{gDp%~Y<5aeQJ0@{l1J(CCrEAT@;BH=f10BL@-V#x#yZLE^I@u!JVm!(?j*O*kTp*7v9PE74SSsw_DOTtNxnwU z;F6QvK8>zB$xrF_Pn_iTiB(Wrk@**OL9U*_8eg*M>~qcENp97fKF&#QpNR=h@&w&J zwMeezZ?I3)v?2wyi^0%OPcYU=ZlA_eo#g4d{clAqG${hZ|2uW0jrn3MdLE+6Y8|4Wxo z)#SFKzW4fv=4g&nf^c1)?j%pp<;$JqJ$3mSC;1p%zPW@P{l7?8>?oly7K94GlE zU7l`pQhcZ@mOIIJ>+&^D^5eREvy=R^F5lrKzo^Ui>T;XC?|;x0hn*7S>he=g@@KmI zoRi%6z1E_aoaAM6`Sp@=n;~3R+%2gv#Od-}CwU!R{=`Y%M3)yh$(!kNLqf?x-CD{q z{>)B_u6hEilYD?K_ji(y(dA)I@|n6k%1ORJm&cKu#=pG_7VC-xrv#b0Jkd$MLYJpF z$%QUYb&_w^1}p#2_= zZ&jS9Jg>!bDz0Qd@E(!36jqwotrW%j^L~}0S$)2wQnXUmjeiQ!L;fQ~UvhKhXtt5p z#NR2r7yhR5MU|tKXbaz0IZ9D1{8r^Cc8j}2MYDrE7JsvN8vYL9yQ2ac4q8J+%E`U= zm#Qv2<+ZR0dMG7p(y5fp%!kT^SwCzUDE} z(N(sVa!emi>8Ywne^6*SS@rZY`RwQbTb3^UwLr_iONsOq9MTWbEsyDzu_Y{{9W0yZ zmMeA3QY9>-94rIt>!!nW)4LcX#nrFuVEXJ`t@w>~%Om`CbU=d(y3|LPt}Ky0(jom0 z-SWXpt)e4&YD_?bxw`a}E^SsKeW*kF9=hebx@8Ez5EC%CmM$HoOJA5A%OB>D-d(qB zs#{(xVOh?>vcYPtrvAF+4&J6pKm$)*`sjsL{<$U6`#Ge4uu4mRMz`$2H&+Q5{Dm%E zr%P*rLWF}ul#fEbwJ_^fSmH0%@ z?_*JpjO1LD<@$-Ld|G^C=F1Pqhp}*eBR=}Awkmae@?EH(oRG5~>C+#m>JYElr&2Pz zf zcrCt(fst`4CCg`_w#1mWWiUggi;}Vi%gs8zsBQ$x{ZZXftQs$uFq)m<3lr9|ioATi z;p`~Sz~5B33+ngA`g^Z_HP(+? z8&vXfkEV85I8}Du!W6)XD!f&LwZ@_48NV|#SXt7HyEGiduJCaUeah^7Nfk-;Ps!9w ztMPXmcCFO4vh>kU^C2P2H`d8CmU}m9R?6pB>W|a>RAL~%*~wiwKb+wzaiQmld$OBP zRz>UO?&C)jtGf@G0yp!|grUV-^XG{tYlnF)_L4*EwL>#sz)sTM%%{Oq*d_JuVVD{6 ze#0OBW6~(5@YYQ~valD>W}1{2yhe8)| zJfKTaXFmR|NLwGK@E9@_yaj4hP*#CPP??cUp0=*4S6>;j>W}h$h)9L z=Ug@g*_kjeExD=j|JkMkC->ORM&_Rrf8Qj15X{DDBzui1snNg3c z&1+!n*Ju%5HT<_$gaW6Rnh zv|5vF5mq>?9|c%H%*d$#>&LPOyn3thH9JZT)=OCR#SQ^hPxMtL_XJHlQdDy=s?X=N zitzX$R~AerE6w+`O2k6+q*aXodxlf;WT7zGlV#zX^ZKnHV#y@YfnziEH+Qx(@;L3)Y7NpFdRbZItffZoQ1I&+l z$pw=vh-5zCTiUi~Rrw!nD@9cDT5QJHEin&gOevmOW2W%>?K0Ujezx5T){>{S4`FV6 za{GZShu;KG=LPM%cv=2I8GdoH0ooz=^%dSLwMyi{p+%+Kae@@oK&O6|RoX%Pd#qV} zZVMlD&*!P#g3>irfgJnP%O_^&iAM8U9n#q^{8)#@tT%7gaisF}C%&&^c;Ii3$y*mR zZqqQNIDDeFp5jyfuwx8b+OJcr#op4Lc)L!6nTa3lR5QHGprW!JwzuGki?V2ksc6%9 zsm_&fafT))QAMDZrP2k$KX>i()vIrOqiD8*ozoI9VBd1iNU_Pj8 zQstYsHG>oONwOf;jJS|0TQHtv%&{CjEIk^+~jc(O( zHMXQx^!VtObdUDT$=$%~r?oLJyen(Dh{tvJt??c9(6}hkrSe2+eZu6)Bwf&yDOvI3-sV@+I$M6eBVF9TLk;Cy%fW}ee_QY#-Rl;$RVlu%dmm$CrnOK1N<5%P zCsv!k-J@c_qwBJKck|*)WVCH0-`S&j5bd(O7Gi5`FT)AB??PQZ=FfUWC{0Il|DJJ; z{6?ZY5LUy&vhdWzRC|r=#tAnl6Ir7aXI(H~*t44Q=?H$Xr#-)=)aZJn*j;Spg*_t! zW>IM~l26&S_C6cT8}^D;A7tB8#ID_@&;e%SUWd8P`K<2~K2hBAr zSIL#Hk(U{q%p!QV!I8@AKt6kLMdex`|6uT7){(mnX{Y?-GVd{DmeTi`^foVm7YxZz zKK+wo*6aS{g05_16A5{lS>^e~p_YJe`Y^-M_vCFxd=@zF2LvED^T5-gRTQ>~hm43* z`c>fVN4%vx2<59rL@J^@|7=97*m}4ZrW^ER%p~me^P_NRvA-9*wWq$yivPB!^mYx9 z+v-!EG&+cR9B4oC7E@Ln;GrX`D;>k6*V{qTYeq1<*5I$+4yaZIw~5Z4&vb|9Wt!)c zY0~pKKyE{xI67ES_whcXYkDq*#J&%lk;XTUUg!CigQ#vAZ$4(RazBq>9P=Ft^WoTr zOu6(M|9RZhvU|@`1DW;_$R5hA%tw#+3tptj7X#3ZM`)v^>u-4Q_s7p=@A3*0Dkvw) z@{|cfmBqiww%_T_FHLCcR|`9@lnf)iOU$djE z&nQ6do?RGTSsn?bcGJ{lHT5J?FXs;@E@O51j7eW86Mp82lY1)W4t&Gpz7-zh*&r(L zgg_3qjj69dds8xI;ZoIQb4o_r9Vt1cdB;&>YT+D{t(eX%rqhb)07`i`CBq7{yL3IZcr83iZIo$>)vOb#hx`!_<;!M<)H0AX zD=iU%=by>)6dC+tkK-Ok%h8Z;%ANir4O*WKMlv>iByDJwFm3#dd(EoG*7HWQD*83m z(xRGO3X1CYiG@#{6;>v38=4^}`HAeiOw;S5{G(an%9Yam{H*fILU;cAtd3=Z(RPk) zkik=DhhPmJJv$_+?T4}%pM3R2mz0cOFeotae2qt`JQ#zr>HyPIoct~Ct=VLnenyO@ zRfg%tkpt&v2PpxsQ!r@`P}^k1Z)pK-R-@g3-1RHxF6wN`meq3w9HBdyqcj%vsk~d> zcv3IWSpjt=^%G(Ig+nsgMZl3jN)}g~Y!bgY_atk=*UhURyg0t7de<=o66~}6;bv78 z(>1wxfqK>Kz!&qMu)rt#DF=_s5=>VJGA`moHrL9(U3k)SSJUDoo0=Y2 zx2P`*+__gK$&_GPN}whAnwL!<64j+vAP*wn=X_Ydw9)^D~;mN&M2yf?Gtil znggJ5Wp{O?CQ;KkO*?`BGa&65El;NRc%vod10MW=$o%A78k%T31IFQ`@4&C~sY@zF z1w55!SPSTU3|3F5RgoVV1IT!y+!*qUOUj$xlgVBziL~u%>`-5Dc|#0sfxSgz->7PS zOGil!+`i@4b(9p4O{A2}KP6Y)Al&Wb<1nn)Pv<`&Varjp0=-Ps;a*fYZPD|C^>wkK zBMWsY@R}FTuVxPMEIV2H$V`lyUl2ZpTc`W*UQ5fD_1P`k(3e2#iD`V<(uAI6aU)90 z=V4mc^8P`so9X*-7a3EFCHfvVwTGytn$IWP+UB)jT{a zu54%(YTGkm(tmzybmJgCD667%aYJS}2|xO3b)B!ts==)M>#T6>+#hCDu*Q`%=)lV_ ztE{{V;VH{1;gD#|vTCdm->@uHS(VR!&x)}2Yf!@9T>f}jpi(!4&spZjtAA)>`+3wm zA#4?I{!R=V&c}hb=I^`{W=Y+uRpMKI_?-&Yr8uo{DAhuq50htGG?Q`MXL$u{zmg`= zyv6crZkf7?`4*qOJi=POq|GV5cX^;PIf##47Q}yBzEUZDlh0T&-}*G6L~aAP=gJvg zztXXky}|O9@ii->yaI5@P~1t~_{EhG?&Wa8h0$CO&Ax+Q-s)4{wWPQ9CH%a!@HieA z(&a-`CDYUua3ma!e>8!*Qrk_u=0o|wkncW_7S{m(w3^I3@EfndSP(D0I?cH?Yf4wHywG#0wJalb{ zYiXi;c+%RC=%+P7mo6?UHXUWAxw~)Ac*Q zv8IoqVZVk9b`=}oOx%zkTI^sB=`;D@_bRf1e93!#qSoWE1e1I!Om=7saZc`$o4BTB z&~kguF51Se>zjK8pd*S`j?ekv^*uwY$CX%OHU~MF*<1pi+N7&1CGZitQJq*I63$j zPDhI^*Ju+B=a0B<`SN=k>zdcDl}ph&9=^#(N&J%6-PDPd~8S<71M2Zv>F+<~6N|OU4PA{;u*W*b$%Xw$TPsLLyhYQd+?*0BC=FX?!?{CA)hC zfwn`ba)np=pmnJcI6^_w@v++itaGDF6!IQ_|AP<~%ujw0X6;x~wTeIfV4-;^8j7xx zeB3sF>j?}OhZ^4DAAH!+x~imb7I)n?ze;#X;RCG9#cfeuFL)S@=s)gJF^UEXGU2yVYeY_G(AqK~C=1{PvFFF<;`zxkKKu z7@I{!&YP~S_Seb0fRFho+Vd66?FSK$BKfwD2H}Zh>7CtKC?CADp>;*Y65g)xeLFW> zm6E~;-hWriK!4Qv=sfbD6@Lf^E?DM12jm(i@iV(>va$T-u2xEtJHPd56d$?U&vPl1 z_KfFL;LCScs8VnT``l@=RZ%__2f_Ix?XfdIA=cX-OX5H7et;A8uRb2>-wuzFifWi2 zkdj54i=5p0yv-+JE_KGsw)3^1jj4T2ZTYfK##mQ}m#Efc?y;x7HNB*;D(|*ugSAfv zHFtbpK*r~}H@@R8d+S?2!Lg4+8^`l@Sn}uaIeW|F8R_P|4gI&_ahBe(PaFU__UTatfcTGe)H2r&u2l!LnSweM;)qHr4>$O^;;`s-2n?)egpg9 zD2JsqznVR^nJ+z5jgLrox1sx!3+&s40y>~Ddo4EL%2DEB%r1w_Hi4J8tCP>kT(M5m z0+*YaXw6Dx#4=LpLPV>WoWsjr(Q4zh;3HfY@?PQ(DXZJH5!#1C7Q92+o4VGnY$cTw zr{#Ul$7TC;)AR8u%E!kspL)2*MPU;27TUe&_mHvjj&@>9{uoE|?=|0k`Q7=g><~Y? zuhUNusN8Twm$2NT`^YuC{^6L=1#_t1eHRksn3e$O9}KaGn5OV~ho=NQrU%(L&;uN$ zE3rO&A8qE|M=JA>~e}~o5omN-++yI*M42qRk)-0Pghj=NCpC1C4(kfRU9~U5m(!D>!gJ2VUBNtGEwD?WO&n z8ka5fo5sJP3~p)s67h=~|Bm<<8oxn28{7s*KTu?srnpCZlg57|&Ncp!_+pJeB|byr ze-Iy|@jrYoqbc0UXsZJk4m{I=+Z^}=2R_t+ z_jKUx9r#-sFHL#X)g4(VQbkk98kcwAWgU1a2mUwRQDm8<{bL9IvjhL$fq&z`Piov` zql^z|5!vk9HO@$`J(DuYu6ak3zoBlLukpW$Pto{a#7AoUCGox*mwn$!<8pko(6}5! z4P5Y%7S!M|C8(|`9ucpg@!yI2XE{cL zKM7#?NKLkbVwc9H(@h$ePPxYOsX&Vz*!0#t7u$yL3xeKE-0&UnYfh3WextO>vEP! zX8c&=xm1~-H7?VBuW_078;#4fC(-|uSVj&w7;Se*{GP_;z`?x<*-JiO+JC zQ{!?4{7vJ&G>va*Jc#&3jfWHe0-V1dJIM;X+;)^w&42}~d zY=4MM0_j3z6i6Q;13`uo=>am9NC%K9L{dN&CK77`#);Gcd7nr%kUc~yf*d9i1ag{) zH^?_c=o3ia1s-U4_A*l@bIyJaXRCRQa~+k)G~TzMA^-ebCuPh^-u|Z$Wo0)1{8nY& z>#K%J{t8$|uxy@`SCc>fYPM321mP^6ulRbHvZo6#|Je6{^&5Yt^n8aD%JhRU4dQ{{(wjlv+~zI}$3ErNN!hc3MC#in>bF#TdL^T(ME7U%aC zSp;92q_o=3`K86|a~^bgq0(R*-*UNPz<3P%qqL31PHc#`EMD2NDBc5p=W= zqi@bq*3982e+XByKjhY1%axyPG$ioB=To;Hup9iu4-u?@|MWvG&VD$ioSh|2f7t@l zn*7b9QatF#0A*rRIiSY>*g&~9Qx1yf@9X2olc)Wfpw!c(X`1x6Up@JrJDrrdGoUxAjp9_oEfZu3zg#0r7@gZt z37sGlHCm(l_TeXUdn-f7lawvuiFxCd%j2ZUlXtb;?s{^+2m6%I#!BhU)lynMf1rX} z8k%!qB%xxGD>wdYeu6T1jMOYxMYdvZD0AV{9yU-ej+Wv_Tu%_n{eK^zSTt!ANo#Vn z8k@k&Jc>|Ou9O05v>!&vgs)df2^x)M9tg#{UiI=b+<&r*{ zq#5#>6Mqk@EarXwb9_K?2p{-lEnCdrJc&@Yy~D$wrYd!->n-oX4?Go0z2P#Kv}H1v z_y6djqz{vl?O9UN@z2i64@0$*EY(W#XAh;SCTXonK6y4;89Ib)s4<_9;_@qm2O%Oqv%K$-A#IudHFTfd+J9uxK{*y_3X zcUf)uG5Hz4bFaUeDm4d4^A3w;K0E$urU(oJbkCthyv(b~%IkhI7PLs}e|*(U=`STX zF#755T725y&6Kl!rO7V~q>0b#W=a)J(n^!;fn<3fX|rd(v}yIGnex21l=x_pUm)qB zNv6${HggJ_DJOeLn;+*&Ns!u1si;Zb(j=Fkm63t7KR`1V}R%u3ve(Ode<|W3Ow-pD26sD4kvdI^UXdtS z6AjWtt4l$&vy-&?YO1t~GehL1iDEU;Hzb8 z)LRp+he+9)DifZbB(3U}hRCdmDr=%EBzn8Ov|2h*TD|QK(Uo>m^mKw0nLQw?D@ClU z80&!=uWu_2J{vC$8hgTkX`(Pqbb~}g+K?4nD3ZL8=9|_s&4aNrjh7V$ahj;TCfZ4& z)vct}!7F|HnTt-K%=y z$dx?~Rvvm_mk=TDdb34JNQ!jX@NJ}z5FeLiJ(QU(r0Bg-(q$hXc8|R!l6=w114c>_ ztzP0iUsi+N&i>YyxifZA+$_h2dRDkpJPG|SiS~XhjExp!{aBK6vBj$#%28va;sIFOLAMuB0!EbV|Ig#40JVr$xoetgm9IE%yNByCYegxL%os zDSHdVsc_~iyrS3=-OpBPp}IaysK#jrTbOHb_EGA`!s5z}K>SLHyQ{4nFS zF5+nnYwlSC+9J;$BDo4{z+)e~ir=fS;BXw_MjCLDq7SefrW@tVE_0A;y8hXgv^Uu? zRoNiMeiZLiW0RC&FNA9>TV*M|24~(`9{rDtt+6cIwHKm!>-bOie0bQMnCy+!u^=eb zo{0N#tR73x4z0lwnd13}=vR|X^jq_^5NYvPB1?Wy>oz`2iQ~o}vh!=QOG;oHd@1GV z9eK+hfBh5Ln|~ZYZ}!R;-^H_&#u*O^dDvqgZvDnZ?5V>7EH4$AzCaO|>#)V1^Y<6e zhAI2Ahty@gjh5H=$_(;&Qz*{YXLHTtwde%Vr2z{!x71>-#OwyFoVkh?t18x$PSIk< z>@OQIAEwl~FK#u&WPP+-)NRCiR9UyXIJ0Ho_S5mZbbjsFw4<4*(U=8hUu(pI7(1K& zM`N~%DH(S~+!E#|HYKtt>@VS$#J*H&-4T1nVX!w&Vir-lDLbt+{V^N6dvB)1{vh_G zu$tMv&Ddnd7Gy6?rnx%hrhvL?_Sxp_H>M1@o(-EwMQLzNTx-Q%D7C&57h1DCW7^e1 z-eF{lB_F`3{E}SV;=>x6wM2NnjB0q0s z`4Zy?&o1)uF;Eib&@OpqrU8oiBj#0?23I@HKw#X zEjsl@Mx#$<*XoCIDCaY>y9{923Y#xH2D3;OB5Dn0ZP+C-XD|z8pNma{QRR41WeAHN z5pE>876%)ziW9T5$|szABCx(@n=H zmSx&6P9Q(q@?xE9x@mrK%#?1LTpV*rHw`b2!Aq~=7;-mhD*_g&Wu67_#{5N>P=N{lnrIigu?shGJhSj+II`eMzw_Q?~egD0?d=g>K`h zC#&ZqKf^63sp{KhL6Bi#B3ZQsB6b+t?>T>d@o=0nUpyMdI2Q{z_#77B4rlMN z#bWpf7OF&Li;NMtytO_g&W>O)O7%me_7j$oY%~_$sUukrmqwo!sv=}0ixhv4Wby2d zs4@L3nCxncSU*LnxkkK`&L*%o!kEF{uswn;!36tB zRA0h&vR}o`CG48wwK{u$CU%F4ag{i+6w~pu>@HbsX({*Er8HB|^y`__tGDv1WifI!u43&nMOHGanEl&o=AkG-8QCucT}AqI5eaKqM@!i*TI2j6_*z!g za=)_{-677cWv$(~9__qXgsj8wu=Ug9!HcuItYe;x?G}UHV?E7=jYyVhVj|}~R@r=c zgN$7fFWzH26qn%a&Fk4miZZgjXuXNmDbtsu)L9Gr(HCveEt6M?m77?U;?Z6l+k^qp z^Goq`6Z7%?_N;73dPMDFe?*Nw-^@mrtBds%*(CsqzFX3`UG~P!theHs+q$@SZnw_1 zY-O!Vv6-UtPPRsA-Ap{%$>No&&9Wo$c^~Z$m?%q z-iK36x%yUO)rCUsBkQ@x#GH?@W4V%)z2jpxgDL)=B61IFr}!s|NqbnL(qo*+-ox4q z8&?u1h`;#oKrd2d`t}wh_u^8jq>G%rY_f05(s)eW2H#c+qa^ajCv{HBc- ztJ*|}JGF^^lQRFIId{zHY_I+7sRvICn)B`{c1+wq#fIA|RWi(+Y3S3((718qM)=dn z(6Aw4V+2q`rACICjSPJnp*{CbEmSMa{O<;vv%~0Vh3Y1R1qiV-3e}wm?sE&(vIv0) z;RsO(-_9viuOi$-xP|ZpArIjtLLq_)Hq{-%VaQG*oJAn{Tfnw+3TTFL&Vzp8e>>Rz+YbLjf42X6jsCL&*#7%X`X3d*_P@}l|49MQMWqzURflv;iJVF#g4TKBOeUES#VJE^NgwqK1p?eFV4Z>;Ua{=Kv z5Q5LO|)hp-D_%XTsEOV+MZ&5sM!4o)Ew@e8miyQ5Gwe1v6rr+D!tdu3bp zS)p3#m==2KJX(*BLA(w^X$Kp-?Y~0u<>;@4L%L7Ezd$HNxQ_5ULcwvYr~xMm)gi|V zB@+L?4L`xh1>Migf8%c@*(_fgpRL5M?`b5lc#ue^nBpg4k`E+?D+DY!sSY45@Q7SfM$NEeHEQ-rPvBM@dIT)vH_ zGX7BbPvH)n{44qYsch}PNxvQPFAzROScve>?d**g*lcDCxnHPOL0E}UPe)z=HMH3N zLLE$KzcL8X2=NF>2$aG(gh1XFp*zB0gmDP75Hb*)ZJpz*Ve|e!+u78QAv}WcCBkKd z9}pZ9=OO+af&GYu8zBH85}^h{BZQU+T@d;syp1poVIjf_gbfHEA$*GPIl{LHHxPb7 zc#81mN3TNFa;H%BMF>ZzCWhZ(L4k8Yvk=xIe2B0Q;W)xqcd~EZVe43(b!f+}2)hwJ zML2TQH6VXEpKuBrhQRrOQjWuF{*kRp?4Kg{}(jk zfLbU-Jym^FT~+tSY5W0X=X5#g{--d$20jN|Q%g^F3y^M`p4Pp#sxGUGf+NHwK!<>h zyW>Bes+h!+5XB|?{x2+@*{-+6+2#LBSmvZZq{p}Dm;-!!@Y`d?Pcs-^;ko`a1i~qu z(8fCdNyl?QL;neH(|O0+{fFB|Q{h$*RaFWVh7|deX&aR`lo&RTO`{#_Eos+{J z$l!k^1US_A3-DJ6)sSJop+d=Hf7rg5i5^7|2*fw*NZcMi0^hI4KLfVMx9oZ%3`LlL zU_;16sFkIvO%PfmbVC@3Fb1K*3RU%a2et@zz#T#r$B6o)lR?VzV&fyrvo}7#32Nu) zgQ|M%Q&sgmS~Bc8R5I?Yx5wj;l(g%07`2c49fz&AAF|Ch`gwTz{ec~Eh3Z&v|C)tr z8n8^QLUj$WLT%je0~Z3X11|#$fPXbDRD&%TYt0JPL|}PfKVTc+9N<>qX5e4IQ^4qC z?5Kfn0}c36K>@I$8$NrN-U1gY2>Ny`REGfPBg8(UzjVOWHLrH2=)KJEs? zhocMC1b3Uk@WkVDpbz^?@lgMbAkClGrq7Ci96{yV93lu zH5FLJhKzxmfXjhr78a@pf!{4c#=v%q(PF@!>A0MEqF}%T;N}dpv<;*`w$f99S->^G zZNS68T;O$Ja3&l8rvm-)jgtr*cO?J^1Ji&nv#>1(R$GQ`8L;s?h3YZj0N`!lbl_{? z{uPC47(P4AR-(m$>u~^O8w7F-WC5`HDs23KYgePmfnNe20z=~qt9l7JU>S1n(EJs~4AAu(j2Ymj^M&etVCQdfpNX%6jsQjhGk_^THyopl0w&l% z(m{p*cK}aZD^$+`FMf|f2Xw!Irt>ox=3$2$2W*f1PiNph>{%uP7vIB}0k+OX!GU)l zV44AsKSIX-7@W_MF>srTE(5+|xGV#CDOFtswEb$vMcV0=AMZKJA*z>M}-e1QeP zIl%W*vFHM8bin>15cB^f$Xy6>J0jyCOb=Y-!hqYlzya_;S2zHkOM?U8;~sDTywVE} zfN_109#|U(sRn#GGjagZ1DoNq|B1j$gODB=gR8(C;QV1o58Mwt6^!}+0OT$N9>d`P zKNQy-7zP{xOa!h2_5(fx&H>II0SCYnz*9iakw_0r0~$gNhL3?^K;tO1954_#2>3N{ z0nq1dRowwx3_NE8c^@Pf*ki1!x|he2Iu2VcUW@aA|lJ+RvZRoxBT0Xz>p z4SWcUorLsZC@`=pFnKc41Fr)|0dGw~df@1(NDo{Ow4Dd}0^}iZ!8AAsHyHK+s{*~I z!vXLPa1^li3^)L;1nvg@4m=NRjf><%;5MLp1Tq3v1qRMSdSG|pDBynJQsB3m2d#;!I2)g2Uq}{whHMhq2{ZR9@zg~RqX`~7pgiFcp11J z*m9k!9s`Eh-ovy5F|AkC*T69wFnuax&EAN?2Q0k_gAX`#GX@{<>ieqt0WfHbs-6M1 z*{Z7dfyNJ2)f{Co^ae%&Zv#_+UOO;tfp>sQff>8d^uQg!OTgr9pP=bLEPK%O(P*l@ zXnJ6GU}xauqo_G>>@k!ac=aSkJuvrk3|e5?X>5(fk>{*(;NfT-1sm|MSt(pJa6v_= zjSv?lUOi`(Y~x~Zp1>eT^0Y2e-turYdN6l5l|pp@ut=};CbiVBhxkM2 z+mz6^koqvljv-uzJ_^^#qVz468t1zhgFRsdn^K0m(0x}=YB4nkI zp`nd}A(w)iOczA#mDUP%!v%$+ijRd&c3V-W06tyYi>`!|+Kb7A8L8r3!cRJiLxj~j ziE9NYLr_=oisCQ2iom~s&AN;Fe?e~SDf&>nT`w`4@NqA(k>rC1h|`4228mw@*AEtM zuYm1`iP%@L6T?J1#3P;z$Dt3(R8-dHvVCPoo<|*S4Hqk4;hE3xBgIil_vL7DlkmVe z@rtn2coFzF{FG!T_6&+keMQl=U(fYK+&=AA|mb z68cR=`e0XsA#ny(uAGhR8zTPG3~Wjq?T2cGCVemHe}^8|rQ%9;F4oV4{#WRmI_hT? z>(@hXo{2q&qkfFk+vKo327_Q2^l~&%x=9Nvz-{Q$px;?S|6!5-HT3tOf6GxnTPr{q zWWlAdG|a-$k>d!HBS^e>%{-L}vxVy$v~K{mR)P z*rj2iEwVFqGEWnx__~)16M;8<*K1UQ% z{I{<~gbBF#l4wp?a7BzD+;>eZBmDce*iYE;H*t+{UY>YG`0|kmbp=*>BAOERcN0Sh z+j@v4uJB*WQ|zSp-~QqPVVUyc4`3xzn5yD)bH#Pg*4a)9DiQ|qMBIlYMu;Azlu*|- z;8B&uZ19+4;D@SWJMqtHci7Y3g-!G7;w+_g!R<(PP4S?V66jhHJUm{wnZcWZkBt{G z#0P=@6)##5UjRP5ju=7w18}dpVhQmx;CJhaoy6~hUri8S6L-PwN*`R4h*tz}-9Wfm zz?*?5HWD$!2Z6U}B3cn&0PdC~MiBo1Jf*2vLi`MP)n;NR@%!L!lEv4=U2r$^y195j zydwCp6yfFu-VA(8D-lC{5csXuq80H4;161h*=3Y+Vvd{Q;`#vuN*l3+lxM(AZNyIE z_rXKkh_As*x!~3(qKztAzhnWf6%nb~M!1!RQ8VySZA1+5LEzWgh*rcGfWK%XMiBo1 zyi!}Sg!mco)V5+L@%!Kl+lsGCqZiD$HNsW%5y_*#KWQsG-N9498@Cg&?nhF@9`_!_`lR_rx;}(Kv>W<;&>#8dk?}E&4DxXaHqATWz!1DR zkM}7L?E>)x2IparQNmzBQ6a3jSBuA;&%Y`JWkC0Q)uFFjVx6cd*9p?6Lf^cTs?I9m ze=7Xjw7EVO23uj!p@c!3q5>?3{wnnUt^j+XzX1KH5(OAqRDes+2jW(3R0;pM2Gd(@ zsDw{oFa!p>N*HV_Du5L?oll|XCG^XR^l{J+>Z+N91{#FPVfZ!8PNB0 z)GIxUif6^%<1^?lmC%1vq>qDsWOsZ`y@WoM^x6nYg~4VR^eJJ`y~x2>=zoO1X9<1R zBK>mc1A6@X^n0Q22K_&$ucme2B^a!PLA+xIW2JwsgQ4HvLluwTFyGSD<5rBNv${Y$ z^is?bzaV*c$K;B(2@8WP71p6WMI9@q^+a&rUZMx_HQ-yYk+ou49|k{(%`EZj;8S{w z6T}O^5BApN{x|~|)kl*jfPd6SgqDF#8u+ljqA|E>D)?rx!Kwtgt^rN!N9!8ggX2@- z8_Ou6&2NLZ>W|yZ62*O|s5xIle**fSOXzP#)s?-PppeGc^W29~QO99}Fc^k(SmO~n0o3H{GS`cu%eNvb-+vCziB zRN~TxFeJJQgVvM9Ss&Wa;N+<06!E|Z6QLsb)+xfx7rYtxov9+m7dFGdqo#{?Bu@u# zKV6I_z5~4946%%C=p^dTncBdo)2M1V?6H+7;Pj#bx}y+Fp_eaGv~Sgov9bZEd{yyh z6OLv|EShL_<*ale>yQeY);K5H>DY+crcbmkr&wGk!r<~e(W4v+x(fW#JTbi-3VIlP z=R&cOeg+=41`l7Jj&>=F_k2Yg#gkygYO}w3G_f|- z1W!oLF^T>3xc$|kbM(0V&7hn0xc$war}Vh}&7ODl_#EAzAzt&pK#zxM@t#F5-b~aD z>@U{rr^oFt&YYvi?eE3htjF!|y*#DIKelI3N31|q#qS|X73KOq5g4lcsQCMfSE1O) z&#{WY@=71Ji`NKRd?-vQVA1xMTqT>EQq?XSIMJW26qIbt2|5)@O8I8Er5 zBOVZXYuPw0~)1`zt^h$V!lvcDNt9(BnM)Bf1I&;BM@XT7~U>CLb7&slHpUi*t)o%A+C zQGfp%2loCidXcMEuA;y8@nC;(t5XIB`}nZGsI{aXQ`-KbR{M)tOB!Hi>-}$k5v#M_ zKA!f<>Hp6yU>{%h_pFvkkCn?{A8-bJgwu~yxuM4%m9@PFiQ2X0I?Qi?U+dVPzd~No(dD`FJX@6O#{pFnYmvIifrWL^c zvQ3*Fx4%o%{_afsyE5(X#QVXS6kW)_IFv@-(6{cRi*val=fFq+Fw0s zf7PV@&64&vN!s5WX@66s{mqcAzt;+GfAORJMUP{oyde&Vbp!jG8|^P@%+%%f7ctsj zyl8*X;^v3qXp|DCG$@0HEEiZ6y`dQBH=Xbw|IXBsV7O7+L47a5uHG_-)))G-l$SE{7S&fM70V8RC(CYRSjwdVOkG_)%ZazEDGj|=k&Jm4z?+$QpAt*sm7t1`aXjt8 zyy^F@JehY7fEV-5fr*uQFM_8s%zKvjCLTwv@4&JG^X`VmtjN6GaEcqryobZ267#MM zVP)ps1SV0;yCZ554IRA1Fz-kRt1xeGSXO1;n^B}{%)2%+ie=t788zUiS&UR%*T%-( zu<>XOnZIkIbsT(pQiHfAQF~yK_M~5Qacx?9D=f^OgRnfhzGW#xW%c|NnYcE$m=N*t zq;_*{UWOv&3`X+j+QJwCcODavPn2s*EB#E9=U=$fa&6^R4&0!nX>Gwzff`&qCy}={ zT0UjRj+tO^ZCl1h<*^!!QsRX@2B64x{L#3+ivA{9L;m=?ABL z9^+3bS6>=8zBF70z_MIZkO~IBAHkW)rz5~(G}M3z{`rr=AAHrwRp{#j?uF$)wmut% z0ShUS8;hifvLY>T;z$E4&1Bt_6~hcRS95)6{Amg^SLQlZ_fo#d%kM>ATv@c{WtbtT z0di;0y(sOtnwo7X)R6wM_4JEn!8D55^O{r> z$vQ{SpjTFmGE_K31x*sEFtBM2mSi6RA=F+;4YUkXLq-jsh-fm6Vr4~2@C73!Y}Xd$ zS5`C&rpd&T`fGj@wc0hc;8)b4#Rcb^I9iSaQ5tQ)-@jdt z=hRXTvAv?#awP>T@toR9t#0;}*dNaAD>3nZT8WQQQ|l}76L2pdRKef$lvxMDTw95; zn1)hXt6WT@yh<*lH$_tX|1TC&dIDRtkjA60|BDMLy(6+{A*G+JvoEAKq4+;pNU1!< z3uzK!MGI*Gx%*#PNXauTr1KpY(sv-VY{qp&yHu7c?YSMJ&#eY+4cxxQcw}yIIP6y3 z&f~AqEfJS17q{h@Mkcq<%VH^Z%g2ZJO1b63gW1g$sVr`zN+YS;ZTv0mHWzykcQ-d^ zJ>1g$Q8Tyk_{f^g%WXJBR=2u%^i;;}6%^iXZ^2Pnw*s6i`?w82Hok6Am>}g0mdK*g znO$9JRdH*HWCl0-5FB%(k3}hNdp)Rh{gA-LZKf<;x-8uldwBLnO?B73G}k^0Q9ZN4qb)H(qn8mDFpD2MS1IaM%#ei9a(KI0oulZJLb3*~GuKF1ibnEk&;#DloM z1m4FQr_HIhJV2H?O0V@5_|7M;IWM z{90uZi}L&^h9W87AQI=I<|4BR}53pO7Eo zah5;K7s*W*q|~ePM{TM+G96CkEgN!+jETot{xrWPn7;&&<(?_(YGRn>S<+ax)N{>POZmK+*0EzK zm*?%MZV5Jn@eW1Hm7hs|h$mQHn0Jz&=f#=6(EZT*WqHw9HjBa733asi1s-G*&qz!f%gb6cDx>6Fw7kTx3ZYiG#iEn}flo?f{CiL&%<{@y1}losVwqId z^i?e?FBYS7RKmc35a>OKhgtqMHzwmRr7_KH%iq<=HH;gQ>!9FPWK2BF^4dI-jEz_W zwPnEa+HNdtWE~PPg{%d5)c?cWm%ztS9P3Z-O1radYqgSA(n=#)YuP$1`Ihm)Dccy# zZ3uTDn8V!RJ_C3#cYr`l0)ikC&Txcqgge~iA_*Y}5J<=Y1cJf3EL%3%4*q{%SMO{) zkGz-U@!tFE_w#ycrmDW~o}QlW>Z+R5CjSm{&o$f&+HrZ)bl&+~dZ2;Cb|J3d!TKAU ze@xATU@qtJ)KnT1MT(BX)97V#>_Hh-Zt9SEn_aO|rKu^O*%ReXRgpsd(Mt|tmujlr zNL@T$m{Q7Lf?k(>k;TXui%Xyqn zH7S2QsO;{hNja^@sVVjyRmVFpzG*7id7Mw>mH#=iFE{KQO;K2>sgQ{B_@1ZUpx2Kww|0Y$n zg2Bre=;nf|GkEix)jZw?^qh~`bZukar*KH3JvC1G3_QplW2E`cOSP(|dqL$g*RtH5 z%FGNPy)*A(dwx84%6U9BHA(q9Qh0+AHjn5eWqLSDn&z|95qys9Jf51Gs{Av^ejK{9 z7iO+yH<+rrcwfOk8?TL2XYB>#=W#wYUHNyA|9bKpqYzGQ!8?ejZ5Dg-#QF!x&g0ps zF6F;O_A%Jl^RlPl7g{G0WKzQ$WaIJvskzGU#6g(-4f&*pZ!bN(J!2lb1*&`zjL}o2 z?RSv=K09;Fbg0@<<@Uw3?rbZ57vgoxMw#3?3mVILJTR+Ro68asSPwK@XqzS$#5& ztM&QdsnK)6Q>%ZDBIa}*G}P%|U_`3dze6Vs^cPW$2K_`e>fflFP_Z%kDU`ZN--}z6 z*MC8=#_G2q+^jFb?>K!e3O8QAit{acE{a= zIG}Y0FqQre0AjicWh~K2@c5MnFg(apl@CJ9i&Z{|a)81(MCxyl^puxc08FcHS(+0J z{WKYLqfvS^WMW>NOsR|GL`z))1S@c9niCs+1X{$?2jM|gdN**!H0LpKy$8Q`U!vFJ zLa8pnsf3<@LMC+&n0!47VkvzO8dB>H@Ql*DU8D6WIA5l}4Xm{OHGa$Wv#3r+zk~A? z`e$gtO1%w!t8^Dim(_i^TCE45xkk^1o?1N%QaQa-660T;z7?midI3|Qr{FF(XbrJO zO+T$M`ltA9(jNmjudBg1){C=(sr%wHprkry=Y2A^kmk^qJsdxFGP*KwCZj6@nT#gP z6c}iI0cVXw!}#Cl!u7dueJ)&I5w0(o1M%#yi*S7|T%UylP=CNlrc|rn#p$;=JDbMo zcY*qgK>Yz{rCFlcdiA?N{T3+ar}{fy={bDI*tC$-RKXi?@dn&_4Y+UvMYw@rD@bQw zDZ&l7a0A794F;Uy3eKR56ArpSgD%iu5oj>r+#yReTdzSEXfV28oOz=ehXPKK1#ZZN z8*L7Hw{pupnnt(HS0b1h% zt#N_YxIk-)Kx=|MIJ^_h09iMWFQoR}%uX-UV9k08zJoCD0GYmna;EQ~WcqGQ6rkia02MJ+8glU?IzTx(Ksh=#EyniHLHLt1knh>(Flqf!xC9z zfpk=YifT4qm2zDnIzTu&KsluX<){E9DiZ$pAf7Pm6%=Wbs^_{x)J;-hy`vA;9DSff zpXoQC>^*O%j&>|AvUC&mGRByNQ|2+vm^B|LnLz+>stUMr5kL?Q9;na(1nB^RiU4uU z)l8PC77(W#Ku{6jbQQcA0fKM2P%a|I1jC%D9Rm$~{6dHu11C*l!lv8F< zQJHbP3shuT7F%YVa>@)U%}-tBy@pI`E0yBXD{}y5lBum#j!L~umMhO~gz~+{Olqbo zy&7y|9_9jMw#t&Ni7~_L(ro zf`q>oiV|k^o{wX}kh(}!(}t2igX7V~miQaq`>9JU(T2*TF1N%bSOKK2w8S5{DhRK# zR4H%u)k2h=4Ze1*GdDEhHNhQjJz91a(^p_oqSH0JkVzkp7oaY$A3~vWY1T?t)^Z`7 zM;X5bj)XBB#HmeJ#rMORvO55?NW)^E7tNukYpiN+cyoD(E1C4ITY{)JcAuQ_N6>*G z^65To66nUtJD{x{2>dv9oLcpm_=7k%maYY(64l%Y9s2_A=ctr9Zr%nwDwW})JQY95 zZaI$&=c2r7c}bf34nGpN34dEcmVc`E?mSkpafpDWg+y$5cgu@dRXvO2RD8vc71%K7 zo?|6{EwtCR9ok8Kt)!A&0UO?Iiv&b!9soCG+qu=Dy<~VlhzWmU*{&){>~GZo!2GG+ zHMlGVxT<8F6yRuY+!(Cx)R`rtsq)Pug!eoPt$KGE3z;V|HiBg$+abREt)=6QKf#$L z^E}AJmk%v%Gt~;uD#=g_eHXlOFHr9ZCCOW$@>Hw$Xi<;GxIfZ+LP;z2#+EM{&z%^E zOr!5fZ27L^Y0U$@9iJBLw71b*q)sd`jz8Q?@Ax+6aB5L8jAMUqZYrexlrMW zC9_!J`0~5L&OaS0e23V=q`=ko3#@?El#*(8HMVi<=MIz0bjILc+i_SKsjW)PXhyFI zDb3sxWA2PEe>`jppF>-#&zIEk$wGZP@3J~NM1^+>k-jh!Oxu@?`Hf*(=(Yaw@3`8g zP6NlzB@KTv9NiG^*g){wl1e_;$1WCi_%OHmQ@wrAiyMpjgJ+K1*@dlFS-vNQ&1>WC zgQ_d35oGkEj@5YX)j-^+ZTy1p?G}^&RqvO_6`F4#ZkrFaTrC5r9EbI^ z`P&y_ZC&hzpTrwDn3?vRX4w`Clh?KvOdhI4+LJf;2GXSkdJ#(ZK5ze}@oJX$LKK&O z-@t>-Kh-9Tkwh3KZz_F*0;ei}CxYkJMJ(bTG5ikm?u zzWk%5ZM3$kSK`Lsh<&$>vjFwGcnu-gWhNfusXxWd&S`x4nx&m>2beN=kJ~$N%y`uJ zu@u|?s`&Uf%xzoLdYk1!N`3R!_6*zP+PJY-nCG~2{O9G;1o_Xqnu<)*eY?dT)(x z+*$Ey(pmSPbi^^IP-MZIV8f#`@zk@w=&5t#W}L>O-gekns9YLPiI>e0UdMdiv_0aL zEZ~0o8s(vPoNa2=TZ6`uv2Ks}4Esd1oyUj#KrXLU`+J=S ze@-srF*SelaiJ}ICkez{yhdJBi@eq!ST>9Z=C92(MpL{&8e<_}Wqj8s%uY+f=Y~i} z8OORm$0|9`8nvegZm4Wj*_l9kK z9BVERt$Zbfok#5GL-?Bwey*w*Twj?(5?!2@} zH`d$g$XJFK(IRc!^;E~i%$6bFtqHT6+OddL?24I3xq25-xghF_-^aiun!94t?hc`v z^_g_a5;(|p#pbj1&8yP9J7>l0)4Wgy*g4WyQJuDpxYhUsjTxi)j5O{lNc5pWe2@i_dInvQ=8u}=7yuka6FLGz`4t{$l(KaJ`VtH1| zpN(}ETBeuJO?9k{7pePP=ux>s;n*_VY3-0k0>X7S)N^6j8mf z?VB1h$wE6UYU3`aN);O2c2gZImj`HZ+oS9`qd}XZ5Skma9iuqy`I9Q&6Zh;dI|}59 z_|&aAQoTGa(0@`B2yJF32J3CvtL6LlZ68YBQ5I`a+nKEPyJ|G0c~52#ew2eH)vbAx)8A<=`omtE~!%gmvI_kernYqU&^Mu>v zQo*6>9XGL1hYOWyKJx^=LtPiCdS2y=xs6UENX%$@Z9L>8jGiOv%Y|w#;<)JHa|6P` zY1_?g(<_zPoQW^LJ#4#&H{~m`FN}&$ZX?L=lzPFoZ0kK3O!!B~ZT_`=$lLa`s+Zn~ zc1id=45tiK;=%$|#R=@|b1iq&+YV-(%$#g3)K{Z6N@<9#^GG=n!wL|#XU_@{am znsJ($T%Tq7C+_6ZW;5)ZZEN)0(#|KXSh$0Tc|QVBvw1|8+Sw@_Z#&g&xxCzRZ6Md* zh<=IX`fAwx7GIH<)e+Y?`F37orM_XM#!iCN8>7K>t>tK9Z|4T<3%9Y|CY* zP~J}`0l#@8Z~wD)x-+!2+040~v-SIEsn2Fc?oiT(>$75ewBL{ z!%`fRO0RP%)~)P(T|Sn7qH>n&TMS!znry2$8kVa@ zxr=&epo^w`s7{tNKo(X;B;3$f`*-O*55wacLX<_Elbu;qHlF7? zC5+Qi!no=rj4M_GzCyrH7%!lNafHGv3bIp~Gf?eX#a23L3l8|KR~kPAwE*+ljUS(-v}s*mhfb@xr0InY(mqJNxe1-|JdM zdREyjR@e5Cu5kNE*{t!R>}XLoYo;hW!kfWeEj87=PfxZQAZ7kk?-^8J;HP$q#PQx1 zz2%UYP!?G3eIxGMBe)4>m_Lf|?U~;s`?#`#JNbSQyR`GTHd``e1FXXaw0CYPtcDU9 z^v8N}MK15Xh4joNBfQWzE{RPD4@Hsl zr8~zm12|iG+M$PerMtwmS+ZuHN9jRjNcovl!CAU%EVV0CW-^xuRYfYBS%Q(TbhlWF zusN@SN=tW-#czOM`D4(MD_s=J%)spzSNJ_+l~RbZ5L5Khy<(|uqm;=CN>}v19;1l~DbAltj8k2r1CA|dZR1g!=&X33w@RFs6BFYsg>ha^OsU=*+QfM| zae&V-G*NwEI)Uyd&dZ5|M054z1bc%xFDIsD9wRqBixSg&#vUEZh8z(RU88uOon|5a zH{QyL8F6ZMyp8vXyOw{l{S_)npzHlNt5bSBDYyp?gxCh^iC9jrhRA6`iGRt8lG zzS;~9PNe{C43~%yp^qtcq@bWGZfHU`Dx%Je5y0v%D8eBF<4%P?8(g(t>UJL3v!#C%KDyh zRt|A(74_y5Uno5d(#Bgk0Z(Lr7;j}9v)PQdGLBh6NSN1NeB=ATfLm62sRZF?}~A~A+9IhRifUR5UKEje!#@2kY{ zCFh$5Kw|ikJEYoik0pjLxkCjB8^f2}F|MFaLQj%AW$0>bJg<{Gm$RiL^dz~98T%xL zFS)DW)G&rGi5NbX2T$s$C}VQ>_(7ns`o^zu9{2s+Q#cmqasM^{6ANF;T;ydoI@MnVvt2>PzTH5>-6~};(U2zb6 zCi3FC?U&VWPf_E#?f3gjKvX|uB>9^6`xpHY1YE%AfbEypolIuqjO`El*N}NPOeVZE zYvvEmI1>bz;cFXueq-G?$!#2O{Z0N$}blmhZCa?mYr-t8no`PdO2P^SB1$DsX;6%gifq~C&ZG4rwc--#8^RyHP)i)HO z;dv^m=y?i;c_*UH&~$V*_1nf&fW7=<&dJ(+c%IIqG(&j2jES~@=P5%r#PigL=c(-t z^fvX|^Se{pc%J(3JUyAhCxG3{nBW$8p0eC1Dg8YCNe$xYk`g9lr~$6DI;|K7vZ)!|6}2;<5N} z`dxLOfZ)rCmtA=`M0x%VAI=bK+|R~|^WXE~ z#Q66qPMrR+@fx&LZO#q}GUlwPaK@Y!70#HmqQV(-R#eECgKbYdo!HDnYeQ3i!0|#f z^#=t_`=HhO14mVV;Hc^kL{)7&m^i{zpN=2#;lUYawCWF}f98C@zoWe8sFUG^$00}X z1|vMc4Z3iHF5F-dZZKe{t1icng&TC?1}z-yK&T^Xw<%x;7PL)*7D|xWCKqm#3%AL_ zC42_tjmcqb2{?4f5C+0Dk_=&>oFNQUaR{T>{e1MO0-h)wO{fAxD=0??C`ShC zkVFLu_5^7hP>u>vMnz}_cps$bNcb&~PneMoMS?pCM=a3?!qErH(FaP3L|Zn+q)(1% z=kbkDQB5Cq@dV&08FW9cNBv1kzXTwh9606)AP5H#lmiIL0R$BR;&>FsnQEe1K%6Q7 z0uPkM%lIKYDL6_RPYNHN6jUniA3i)O420K|@!?6q;WkhA4%mVJsr&8v)D&&N+7oyGcAU@g~$H}EiB)F-PiWd_5 zjBm%x1E$2%lkmd$`j^0ozk}pIm<9d{<`!dlxJcz$H7>2kZ-H68I$vZKTN%45hfF<; ze~>}@gC`dWeL|owiO?7;#FFt(_3kc0hQ-`719T@Q!uW2pDO{9H~mV{@_jkI9k(`-%l`4J4?WBk1!vJ zF!xg}Qn~$G#)`-^K2b0NwY(zqj$F{tmQ72B`n;;3Fzc1@xz1?aCM4ei>E*ASDHyjz zQ1kMc;?EL7XM6xl(UxieI?y+GAF7U<)>)*E0De|BQ^9#Aku6++utTGHUM8=*F~@x0pTej9SEJ)@*{CJ?{!-EE#OUexlT>n(e5N zyB;_2L{8>kXot?@EOe_Nd-K63Tfmhn%ZC&9#cSWx^V74Coi$;rIM*@@V_xNiaetgn zm^tgj+X!>3X_wj)g}VjMEB{pQG?-;4nabVTE_Hir=_Io`f9q_i$s0>2(}QL%7*p{@ zHZ@h}_ODn~{i4ZRP=o9$FB0lIV^~3Mh)gj}aBl@?jIg*)F%`bgtjN(I?FaSTb9O8r zK6jF+7-w7j3TpZqMk)1lume!px>MFs^Rq^j%|FF#@cqEdROn#fwg2U0(GsH_1%Fe_ zKIj__Cz$(leK@6?8(?o*4L65VIGt7RRm=zh8(+S0>6Cp4@mH(zqHrqXx7GWWK0j># z_!QCn2V2f5=8;)Z#&;K!hqUWch2gRSgL#Jf$MDJIt;1i{Q}|(1nvt{0OHQjjfH&$z z%=f1~!hU(Jd0*Uif~b<`9jAMj@+SXt7?%Ol=oLKV~ zym?1rE}Du@wKuOl^+n-5s8G<)Q_s>08E(EFwqMk9);X{{-qF)@PAtEl8DYXQ8DP+I zzaaNAQ!P8-NWF++>Xr49`{HyXta)!1?{iR?if0PN z+i;BVY+k(Wip4wQSYh~s{O3(&wvg^J8Z6Px+IxB~Iv4%Q6ubNHiaqZ?7Mtj%*bQEC zK8|7aq|tT>UY6Eqdka=F%pVe^tFpLHzzxwc+H#~UNq!j@V}A0Yo+)n`(`_-i(^q>s zm&VdjhNr!jnhZ~8E{%09ESPWC;Eoi`w>*x_w{*(jV&{7NU&t%+5{?}s4w5gO)HA#^ z${A8FhMV%|dbSB8!%evuZpy`QQ!a*^axvVLpVxD47#VKL_d~ZGugb-6Q!a*^axvVL zi{YkR3^(OsxG5LIO}Q9u%5O&LC#iBV+>~R2;U-_A%a<5#kbLRq=(3+-&X9AVF3K5F zhe{a34U#XN#7E;FCtu1Gk}t75)^LO5ORs}MWE1o_Cgvn2J2><2nVA2fg;}y%gvqwd z%PcncF_Z1tP8^FlC|O8rK`*|fo7Ez@SyqeW#5hZ548zGO)qlmY7>1Jv_*wK)(R^U~ zdK_ELHmgO&a|y04tYtVkEwdBZIaDTXT8j*a#iX0nBH1;HTAz~-CT(A>UM-~Fva2_;!#!!r_uTmMokE1dgmT-I3ul=opm>=*Lpidr!gTcX6|@BksLZ4AYrE`(5ZKKX^x z1niPE%xaNboMP+LFslWQ*=jY+YJp=`u!dPJaC|0@X(z@pkqd^&FjonN$TGP%2wDBU zmdRqUjx3YLr8;dblPv&@ER!GOX)jtP7gL+bY5~jSRUj(zMvXO0egQ;em}J$$yrhZn z)Ah_EC21o30sl#g-ep9Y{J`HVO$02HKOu9$GP#1x8LU|%%jA|I#4<_4MObpGYpgH|C^?>3Xx@UDK4Q<)-pL6+_feq9u`LbbWk}ysWdm5_Q`Fxy-=osa;AZB z&9qRC9f+LlL1-dtv0Fx!CR7{-yU_n0%X1OSlPg&4egZ0&W2`tWc5EgT$Xe{4p>$-i zdz->FTtepx7CUx#RGsnRen-$xb`vY^BUU_vidI}=*y;O=Q(+e?4}J!G`xEPFbgwnR z-#&uBXOVv``73tDl(c9FoKLpM5O^Kg7(egj3U)xYVtdY5eqje}N9UZH`!Ej(*a3NS zX6G3D?e7?>++tAHm;0qW&|%=H(dt?IZa6c2I@jZ`cj{ z!BMaq@;I^^t_H!uiYgL5>k4OYbO&oUjEB6ix!sWW^?%E5n8OP0|I%)V{{QKA!%-MQ zDrq<56DuRaiV9~$aO07|<%|d`Dr7`R_84f(uC*F4W|X+s2T`F zRb@NQ{|4d}$KuBt@&*EDFc}EsDFM)6z>z?J28%#67&?R4pv4J|HE6I1G#IdZRuC<+ z7&<_M7ARpxD8OwB*wqDYlMCmD>w(Lu)+URV@Hf%Nxh_ZJmU-sQ&;r64T0l8N3n*u3 z0VP9A!v6&dfoLwYIMl&h#W6ufDiDr3P>wprc!|D(QA`@V&KSk!Lr29cQ0(Q*@C{kh z5;?9+2qJ9`K!jLvR1rWB4j?E85R`)lDvSU@(6U@XR11hx4j`xq5b;qQmIM%l0|?3i z1mysNituneE{*i zqreszBOGF|c%cC>=C;79$3apG4T6OZJ$ZwGbV?1%DK)65)Hr?}Ix2`_TM4I}LW7D5 z4a*^iRVg$qhfbkkIW!0%OAXT@M`$TEOozM@6ikOC8iYkF5@_JJkUt)k*kApt&07VU;QQAp9?=^csli zSFm97^ojUY`j@yI)3b3L*ZjOjiM|}arMd;b34I}j_1|#pdt<1{KRQ(Ld!VG=_rIu0 zS><5gu{eK%GN#jj;X3|_D!-Ul7)Rotr1D3S80Z9XvdXhm!8_D-ipn3)D`%28Rpn0s zf!5+XG~x3VnK18PWFRrE$hk!AOZ;p~#y?hNXbYAH>o}ERy|B5CQz+<5Ebr+meiq2u z=RoBAvsGr0{0#E)zoY^ZUhZ!TK%Jw44V25>#$ueOOq4|?w;QRYLS<2s5%47Zw;AJ- z@QFQ!nte3KT_DQVfap%?%&{=2m>{!MS*1zopI!w;sj@~Ane_W$OJ%ZV%9Q5k9a0sB zXiq;+w#qD9bZYuA64hoRGuw+(cd90yhU%uhS^re7f;jmz@S{p~Dt@z#02})duBwW} zH_k!z@Hb!ngFS)4P|Y7et*XfLSd5ekN8=8rOfpeezTXqcG#krTvV}#b&93=T$S+XI zIdTF47v4|XXbd<2?>=h`sKlb5#(-jWYEkzH>`RU@;O}xf|L^7!op5;MV|6!H+L4bH zqrkjO87fH^D^3eDnSzTI8FOAGQ%OIL!>W0#R^(#EB%hnx8m9C-xjeS@oUfxPk_gg- zn6I)}K6)vYogK&Hr?UG&!zh*Afd59TtYm-AiUA^fV9(TRVp(-w&w^_rlS5Wa4p}id zWX0r=6_Z0&Ob%HwIb_A;kQI|dR!k1rn*lUQWoMuelT{XvmuqtP5o!>b94^NQ_8FQS zwt~9IEhq^MUF8aBns@In;yXe;ulR0hm)TshaZxkTLCyG%cq+h$d&Ob z$?yvPRc&r^_!>?b@D98c{za1mMIw{KR1h>dq@gh3^HRa&@Ml7>yr&Z4zcx8YYZpuo z^Qf05hacgzkHbQbwf( zA1Tf*B1=REUXL=Xel0T%Z;?;8M7)c>8(AW1@YXC^B4$ECWQjNeM9rOeJz!4HO)M-~ z-UAhxB3R|TB-r#v)ty99lVH3@f!6R?_=#F+ldt{WjK`8EBO3qOY|l3&wbxd#cn z;pTzCA00eKH9Vf}_xbNpO%K(CCc&oPH~j%rOA>7QeLEUGk(bsgiWa=IDlxd#Y%(RF znHyeO6JUbCVw^cOVK^Cs>yhDPJ2KyZ>ylsdKNwDS;gTb=oE%SXCcca;C!HXmnn^YN zOzteIHVHQUA^#yVpJjpBL{F?rdlV8&xI*|7QEkV_OWy7;n!{e#`upcse zXw4su9#fy;8LT`&nN-uSYV0GoNwDd!_L)4iW&zBAk}}g@U0`NTO+VXIhwGAG(_iB= zd1%ddi_B{Z%nXF{tDANpvq=-!?T`4&$XyMCf^Di1;Wi02{gLhE&N9KKZxd`veoeoo z=_}M@@@x8Q{U@pBJfp@;3fEdS#vrprM{3#N}Om_+S{cO?5yzOEfOk_6NDlz#wGm$ULFjVHbosHCk-7EEx=Gc|}T zeoH9*TP`kX@w*q4xO%{jXU3t(7tyS6B40!^5{auy(c;&I9VWOUK2DW9&eIh!e3KYC1NGLr=p{yzepDflAtHlXKN%jP#JT(E5V zzohW#Mz~Hk$g=qm*=_`b?XmE1WRER+ zIM!jcQS@+R|1EkrHsM-#%^;)~Mutr!7YuD$OIkMHq5h-6CuuEd*}N8%W7*W`+6Bud zk0Z-w1_b9sRDn;tf=c**;M;B1No&cM*=L#6GW-|QTK;<; zk^jgcvYifXPFhR)MM933kI(E-2Hl>vvUnw2OA(v%x>=E}f~ zi)QtP>oOQ&=8UNq;Q9hi)&#E4g>$o7g3E#HE5h{!&lBzd{8+TU2o3iiasmgS{(w_E z0qS>w3TZ9Po>IRH)L#VZ4>%XBA({p1kAQ&FZ*h!2?dQSSc#PLmb8D0s3Ddj-G*|>03^=0J5X}M&x3E}Wa&5?t>Vb6bLnI>}JL32n_Z{8+dl7j7tm<4hQE!vSZp0ypf! zxw$RDL1xh+9B_h@YqXl-yOfrw^-*1AAz zi$LoF&f^7Wode{%xh+9h9OkwJ6?MIJ0Vne{M6*Cph{4LPP}dcK)(4!)3($HO$jxo( zuP*=*XMF*O+f|&uNN!6I&M^9S`&CYRY_j4BzX3xsT%bK9RD>3p7lSZbWL^x)nHPgH zdQ1{Mib;K;B8;h0t|~+a2uBAfM+YcJ2dGE~@GkUP>xDaQK_(_$T_;G0O6qv0fXKyd=GN}=1ydV>_n>gjnL6#HX@m|Ghf(< zG(=$|a!+2tMkI{rC#n2?qzXHcW-VUWi9DEB3OkX9gFtI>&71JKq)nLha>A!&5dk4w zcypK0Y(!oOX6fhHh-9_AnqmC1SeG?&TT*t8btY>pk7nmsR~SNej&)_0yX@udVld9WsP z=UCUoS?4g=n?$aHIOCZj7Rg#u@oxK(>+$^bhf3hg;=-9ao=M^izU_#%gB0`ADj#QV zE}ZG&nH0`ES2$w=2{g{URXDR7c}9ge<=KyBk3W#7M&nGraONnUDZ`oW!kN=}CXF+T z3ul(`OgYY+UpR9W&t!1s=E9j9d8Ptqp0j6K8c=yvRT-KM!}wbT#=FRv9fcyyl-ik2 zG;b`-AoEbyG`x6m+!mvBO*PM>{F8*W-8A22Dlz7A(=gu8mHe-Ie+R}1W}p2s)lLGT z93A{xOQ^0=**}{T`*)K2Q5<)egq>ekr5pti^x{qQuMkatlK;Gp0hY5zm2za@rad0| zVH_rWcKk`>cpuMKWjB0T_%F6%s&`g13i4RWT;2|YUr$ z>LK8{s_YcY+7_uiiYiTR&~sHQM^Xw*GA(qZD!b@1VH}9~pCG@91Ugc6gzTRz!fTdq zQK1N5%LDLumF2rhiqOU)9H`1Zxm0*AiBx_-l_uHVfoeS8e5MGy^Cs=0$}Y3~XGHwF zj068iY@~1(HHj}T6k&o%v$zXV>KJ;_#CxpV6e~B`e7kj#su2M+`jkspq&do@&AGsq zC!vI2^@fBoDgNfD)`HL^j>l?(D*F-dN{D|?Tm8sBOMz|WdY%O9kuZA)lg{Jm@v7`P zdov5AQoZj{idm^~c{~Y`;x@sg0iLc^W!qS(10t+oJfvoXtU#?ALrTQB$uWt&NL8w` z3M)1-65A7uQ%xehO4Uk2q__h!?IB8iSa#=y!hLMi5Ep}QI^VDA!wyal7(g~{M{zKRnC6s=`0RsXPtHV;0mC?vN76J}p*+6Zg;SXqa~-6JaMorEelGkdDTONG_?@W5GTw;Ng^V#1l0wQ@?uAg`H>1-cs-QgQ!hQmI)XdlmjJlK;GE zxZJV|vtqTp{yrQ7YT~^;Lk}a~r}BK^xx=!aNmdgD_RSopI|#v=xP#?6&hkju<83Lf zaF`R!oA`p|m|x&9k!atkeb|64#H;uLTwy8AC_2hZvMLDl4$X9hTP?F+W!29s`@O9; zmWAd|_0IVcubfr(sJ(*wYOlmF2u-hK>z|e98<4kqixb#4_BU3~JI)hM&RqGYdiR1v zm-$Zf{+*n`hG>czrz|-YQJVH84|K&lG8lg!3oR zkLnMcD@i7-uCd}r^}!WVikRK>n*` z5S08^3FN7wB?avXH~) z)}F6?5QTqLi%V8D!oR*Bg@09x_f@roe^pEPSG9zHRU`cC`;jkJwfJIHi!WC7F#u~- z)#8g)ExuUQ;)_)+zF5`bi&ZVYSk*V9^(Lum@x`jfAQJgvA#V@;!^(ESIp*#88+y!V zn78LXsEhLU&?l*ox93(|_-FF=usqfm3we7|(2(${$MMC&=aHYmna|i4OTLaAmT(@A z&m$+%VgFkh#_)OMouEVPg6-LZQDW;d<0crx*OB+I2hN$w;-$Fjl*j&qpizJhJhNGVTx4O$H{fhE84hI&ONlo9_1W z$W7qO@pHrHQ^0JUi-(tZb>Tv{X}J&cD5!8Dkc>*MhJcfB3>WvHE`tA+x=a|5lW>gU zYzf4Xg&CuaRP=dd%0!<>?xQBO(a(UB@Oi25dE^^;h2@=s#y8<+R=}hj~n|E_@!D$X*q1-<3ED zyapy5LrPuhG)`Uk66WnV7N;)tn*Uc2riZH6jKed0q3CxAN_qyjxrNu2Rg3#H&lKT=*yG5w9+_at{(%ebSRljSfzw9^=)e`utm{rx~qb)$~oT2bVZ? zslFYJ8u8Oo>H6M zxwq8dj0QX}V5V=D%H)!e5kD<8% zD)+M%FjkCZnyfM&cdJ!Cb6nNFT-3A5)w9a#d6R;x4r!G(;%=X+Y`B(cjK7x}_8+C1 znXu2u_mtJ}3^ohO4i_(^Sg&e)f!xO5ORe_*Lhf%GZZq*-UErp_m&!H`l9|U-)fzuD z3d{-2pu`JGttl|m-%C|DHQ>5@Pg#xl`;qws!)zLS1kAYq_GXQ2FZZ1OUTS1_HWHeJ zK3=M(>2T^X{$6UWznpr0TLfJzpvH?;t=-l%uV=oetZM6TqNMqrvRdc=oRZsehG@R0 ztk!jf?6BhRrPg&@QGP>N)z!aFQS&`zwcckktlFcEsA-nqyO)ByR|7v; zD*j#y{$8eARMOuIRIRxk#@`E6BPsFsQtl1q;b&%KLClT(FR527QVhg~6rBGLxg_y1VuT{4Nw1EH$}x0u;)Jh1EWx@^_{F zt*}-S7c2!AtfN5{T(H!%%xT~-E?8=M6_3RQOLf(K2?QrFRFUvmS>$ZM@N8VL)QmXK zJ1$siPMVQ6Zft4z&wW`K@08Ef1uOEv3g@CJ|LZRce}*nt>e%=-Y?cFXlanRJjIB;c zGaTt3xnNa`3s&`m;PGPB;(~=wgBt2Tx?rhgX}*L1kqef(I8HF@fhG8trup*!Uv$BW zJg`DE#Xs?7;eXc!OWhZ5MO&oKAIHY#QbRqE=BrxoG#-RLD&*T+ugargbq`L(_4k|T zZ?+EvN_A5+dbGZi!nzGSzFq|WlwJZJtvBK7D18BrN9%9kw@lZ7Gp%m`Pq{t?{2Be; zSZwI%7jRsu-^2MTJsl`nJqO3t`r76YyG!~soT}AHsLSaKaG_2QLS4Nci{n854oVyJ zCj2()UBEL&{|diNdNfq$^#_n0tM9{av%V2$#_9KQb-ca`{4M%19JlI+aK25yjNf+s zc@$-Wei~Ohy!iR!fUkZQufW~U52+xdb*;5Pd&ZV_}YPv zl>ugzc8mexo~|2IHL6x(fWdLSBTfXTZHR#;rc8bfChrgBcK5nXut&;aDfJjKm)@?$W5okDA4Dni`*?JATK*L3# z)dA<~0<_u%TI~X@b}O{Hh_gBjUL+9FEYNBfXmt^2O~84+0IhL>*0?}xT%a{Ypf$l% zNY@g~;;b<^ps?M6&fkxtPQY+fG;Xz z{?%F+Xsrvh)&*Ky1X>$l2Iu1;fz}p*)&*R02+leeXI)_Op_Ry(w9W-uR|HxY zaM@8yGz+xO1zJ}GS|4!DAwcV0p!IHr*1I_2`T|f+Z3;NA6Y)*1xSM(vTuztWWTg}S zB^ZVqbC})-TyV$?9)uZyWd;w*nZbjio>0E;N;w&Wp(BP=ijfWwjt)?c4p62n#+!s< zkqWq&al$Xf0O6I1 z!chT=D(okQ$?50-bwBPl%v*f-aQz_WEvST}7grFX5`?1?lv65Djz&w!OPD6pR4b_fiNqrKlh}s_L5!W4_k|mQ_aDkH73jpD}#U+a1 zA^nZpCb;GRf^q;sMSwV_XH6|pEg()gfS@8k_-=8HBY+^B3W5q9K#&d~s0a|p?-P)y z77(W#Ku{JiqmZeB%PHe(rQjb%o#G#+;2&lXyfGOyQcvDpm)loa%s*dyw!shZ|e;4^zlg@i=5Z#Xl_kXHr!d2QhWDigSx_jIWTX zVhpzDn&=>=PEdJ6&_PU{sPf}^#dtNGr1BjkjJ@b&m1n7%=pUv|QTeI7a%RB!@2M(3 z6BL?@OY($Sa3{=aK4I*e_(T!y6UISIAydU6U^Wh73Jzkdmsk5E{8|Swg-jJ&gG2no z6f#wCcis4hA!~0yLj1!NGF3dwZG3SMQ%F_88<8;%VhX7$NHJB#6W~c0V?@Fyws8ikAtrhTs7(A z(TTMF1Aa&8Wteb}*39r-rZ3}rN}qyP&ZqiDLC=5c8ubPWW?iE~*$FgRHQ*b?ZNbPl z%9!a2zEQ^HVX|t#H;Okr@{MArgQe2?MzPWj)-{Sa4fZq3)I6@V1?#*^U?vM6D2ldii?gw?T!fx{P`D?T$p5PM^sx}4w@nNztT3Gh zTHm2iCT_9`$Cp1Gwr&JltTLXVp@&&$Tfat*s<^QOVUxe*-tURVTMBg;M~Uh2T8<5| zaQVX4C)p~~<5SHEd@S)L^rTo<+}MuT3Y`y$hC%tyYh|X_*o=4?_h#TY(b8=ht|%}( zM~z#=&054X6PoB3Sfa-IVy21izF#;iV^RCR$?DR7fjoR1;my%{0gKuntKvnLG*CmA9lV@BvrRv%4*IL^xG}^4ur;^ z>YWSzPPiwLgU2i|W^&Npc55DFMg(8@w&C~Qu~@42mtY>hw`Cz=p5lFYq9RuP+IZX- zmfJj04Y5k@axx!z+LmB1(dWri-4?5oXSBQZXg1b_SQ+0D@#RlJO~QW->Jw&{r!7f< zeq|oEnma_vy-}gkcsx4~J(L`wA|ch`W>VW>tljG(Iqi0le9x9b^)3YS_yue#u#gZ* z?pd{Mk7kVhSR_xnO+=oLBx%>`JoLmP4GRg847oYhHj^567tuvGi460E@=x^+5VWmJ zSV*A7#-HJc;7+$>z9sCp+gi3>$%>q;>P29GHVwB+C*DiJn@r10xQ6xz{I#Lx{8PPN z8yq?4QwA0u^HbH6=~Nc`W~B_mH;0qWn0r?_t>3(zlZRRJyDMo5VM6=XEAyb+#1wD3 z=~-mxkeu)Fx!7SoD8YbZl))rg~qD+T@%qq)qTiUb>>j&e@BDC(AnR5NfzaeRsJ?xBShjSu3TOIjF1@74mtiEO0vYGmMCJo(p6AeYq=99>1~dU1`d>*NPmlS?u$o2$6F zxVzk>Pxzb-Onf7ctNWUJ+;Fw%|8-QIL_2OVeKo<62ti0scJ@XY2cqNiMgK{%C%*|0e7CG)wPTWZQbFA42-hHJ= zR7WMfkAmN0J2WdE<1K|6auaoWJpmiDM_8E!5!gGFF>T%0$=gY=t`l%`)VEa?rzbP5 z$YdjeK7enVPp}UdcxK4+ay~IMJ?TsVLuAz?-*}{ zqV&y>k*yOfDXMV`%T2UJSpKst?nU|38r;S5m+%`e@5Y!=QvOvuho$9aNl|W=6y;_~ zQErwLzG{P5jaexJ9j zZ*PiiT!nTt9kSYMXa}!KW#c%NiZ7nYyN3n%-aLC)>HT1S=_zvxjVynvcT57sPy?V4a?s(FZ66g1%{~D`NANREUH8v%jP5sl$_#h!O;8IaJtNe-t z>8~zDfBy-p-}(w=+Y*Hb+8GVlVO3iT`zu~WHk{e>!TYfw`mR9Z3iDloc`IUFVd1+1D^QKXcLjLt z6+R0)7X%;PD_Ku+mwrF~9FEKOMREMn*E7{9fBM@XO5e~t<{O1VaWa(tF3wDeWsl;x zz4YS@y+qST^1}Mc0Wx{%1A5l2h_!{}DBT!u14G6<*!=$MeV{7XPNjIT$?sKcmYcAm zkeiT<$W2Jxr*SCZt!9AW=U-39DaR2O-$9sxR<4$hSypFp?DgFAL2RP^pymI!j1{l7EIt3cH~$N>cbo>gITWB!z6P|0GFac_B$5%Y(PXspuv6F2aqV z5r1}oZ-WQk819p=Wv+yTY-)ipv6p6l0mKIo5w|`NCqpD-Km3PJ z4=kaEZ{X#boLY63E7?_d94K~LV&H>S=68?86;(Uvqi{np8;GH}+exYfoGx1yVe9vzEvD)woJeBwoX@Fi= zL#vRVs^()@`%N^L8jWzUIkbOz5ESj4zdP2&lao9|!GGFqTzUWYq zd8`To_Bu6xBKf&msT*hjz5Qs?oN+e&iu$%LV-;n%hUJvH@TYnMvwgSq6!y8;^5YS= zxig3QPjFxCQ2&!I8R{22U<ni&am`ie%J5lhvJ@*WnZ-@VKF!nfRc$W>u7Gj3? z>!DcJ?&c+dFp0x)PYPiYJeHRP!X&tYRmhGT;;@2wvEOli$tx2p>83rGSE(B{>T|JwCjbM!l!%naUUk`resd%F@ zSVM65v2q4$2+op;pb)IV+T^@)eyp6q8ixQuURDg&;HS0)4=*dhD+FsCY|74;6@xX% zh+vHlYD-~Ml8rJG^}(=>=W)6Gty$o`CRS!759;YhdH1D#Dsf}1zJ_CBC6gW`dSj{c zsoN_*h()|979WR;nZswYJ--#pFr-1sbaSCh)7e89_vGtC2pV|_I?SuvZ_mDkIz&MuY)$zpJ%UEqF^fSXxCgAi4H{u73PB_9 z;y4N#sl=>TR3DhW4#!sYK`EoU_8Atl7&NjYxoyx08KR&ODF|~J(3tRf zsSq^6RI#SK-@`#6XvDO3`b`Wv0GHM_i6-|dWkG$f5Hzw3G7>aWg4s|ZXoSsE2pVCt z6@o@s!9vi;={&YUBSem(Lo%FJji5*75FN4?2yy?w$A|cKCO6$cPX`hcH|siVnFFMD2HQ!Md%isQ3Ux6dl64<)i43>nUkc{vtZ$6-rLRvlIn~ zEXC3-3JwYP!=)%Xgar2AY;?$wW8<{qefExshWkxUW(Fp+*MZxHlAKEBLMX}C z$y{pOhHNOw6cAvxp(HnxnaAA-C3%y~ry6D(N^%pOmZDe^;uK;@4&=Q+OW077_o=54 zO42+UdfqPTSv3oK3TjsEAZlzV3G<;rjSVH449O^zWDly@i67gJVoBJDC_KYQ5K8iS zau-5L&L#JQhS}_aubyFOa`J*63c8uNgg3HkGoYk;t!E~nc+4q zJ|e13>R>gpy}7e#8%n~;p*}X0WFz$yLP8ZYg_6t!vk4^$ zXCs#62#W5BK{1LYVegJYNvx<1B{_+rg;0{^lsv~snr2zw#p33?_>1VAs=n?fGV?gE zHu%qw`3b|!0YYtJSBHQgkjz?6|hk%&E^|f z8IzP4(I%mPI;1Pj$^)?{W~i(*ade=}SXpVtN>H>h`IW{o4AhfoFASD8RAd>HWK6bR zhKhWT1)7JYk5|cTy$lt(7*wv3$$A+oV#mv!S%1}@e}>W^a6=F(@;0SkHPVGp5#D*U zxeXQRC%gF$8CB7&1|)$SkrmCl3s1FbZJPq7W)F zpL|iM$aUm98XR7wEaK!=wpW_|g;0^d;@Z^85A&!ILPdCEXIB_&|0GldXoXObt#CKhrD@CrfPVyEwwftNl->05CIvwiRcdJ0}Q4O-)dH0s-NbH?bO;~kabrl|+SonVuD#E%-q)7OG5-Nh~|15qv z`g$&8s0iP-GFioU@z8K~vbv(enXIm;Fyn8U%X^6Msb{DN$9@C@tPD8C6dfxAN5{&* z(XldcbgT@h15O(zRD^Gv+Ch}VPH)m^diA?N{Vq_y3)Ei(>JK>6ttFbRR=MoQw-LQZ`J4__86-irYjZ@|UFhXu{OKr;>mKOx>B__25cF5W<~UV{N= z&4Pmu3l?#Z%h<4EVmOC7J~qbb$t=`^DKjnsF%Lyj$RgT(}_@Z3t+^ z_0UieZYbakyLJowShyhC@w+*X8J z<-)BhHsf%x6F3EE*aaGPfree6;bOIhgHwq^Fk3AIu{hm+xCpd5;M`w;R=Yr}U7*!2 z(CQ-4>flWR5zPXvb}O{Hh_faPxNZ=jH7?K^7if(Ow5ABOCg69-Yl&uo*0?}xia;X) zR~&*f;^2g8#0460fkuizBf)nFWWIVXPw2>Q(MIk`dFZK zF3`Fn(E5OD7y(-E0fjOZ!Ai03b-5*X?$R`IP7dHNHd8D;$oae!WTx(u!Ap*;{OH{7sDlvtQoLu zGiqeb0LrwrtQkNVJ;o%hK#3x#h^bO8xI_hrqKc5$937w>9iSo|h;QK%Lv(;B>QJB@ z6`&jypduBBB;mS5RDggA&d1I22c)9|l;|+aA5c%CoACX61?2IqRJ?^zEd+;f-6Hxx zI7I^Gr~~B`36w2Ty9r`ZSe?`^ha#`iyc}`ebool!EeRrTV*nyJgexBb1mOUJasWX& zfS@8k9G^@)f&!2IpK2XIP!S-4L%4PlKoAZfC4vG%pwD9(5rEMWhrO0Vuo> zjwwW-kZK|(`WI~>2n)sw5!FF(2ow29bwD`P0p(N&l);kc4^&he9CNW*%Z#wLHaNxF z;2Z9ymw}Y(zzY`Br~Kv-D0HOzln9i6CIF?Jnizm`G;}nY0F+!FjbH;%!n~mh5h!DL zsStrOo`f+oos4wFDAkxk1WE_5FrtY8C{sb8wYbp7w^Ge7Z3Ot%EG9z`6jUojt2~R6`4XhU2$Y#%$(Rhqj6nG=1(>0j5hx_QN@gf#1j-Yj{7PmhW&jFr zM5b~#QV2jH#Q>Ctz=Ln4V!Xh|NN{XITNr?HB#5!uF~C>I`%7!@<`F1oj75_hcQI|e z#kBDj)5cp&8*edfyv6>T0Vu%FXyY!Xjk}mO?qb@wi)rI7rmeTweH|!}9=!!BmSo|| zf;lu7RAin4k-iHvL7g=lU$U2>tJCBvNw-eHm6|lUO1&zc`#JvE?Ta9U5?vd=6sJ;u zo(BTr-qU$Epni1>bnPa!0 z*Tr$bEz<|#IIT5)%k__Dn#zK|LLUr0^?LPe)IZQ~P3MBPdm_Chz6Y^py#eaR>Bk^8 zUQe9>GmV~u;|cnGKz8WwLQ$uFz8zku+Jn?2otp%Y1U&)2Q}lh1ovKelWv1y-0GqD& z!^zMM)QeOapt@N2Vv$g&eO1h11 zM;mObcLV2k`Uw=bTd#nkxq1Pv&eM0Ii1YPt@VmW!6|xKTHYnl_`r@gcx1-(~=NIbF z;ddv!5Cz&7PN-p1K{sd+F7v_viE? zw87r`d=z3IeIUXwYh=%%-ZpQC9`WXP9t8as%^YlubS*k18XnHKpoUhkI z=`x+f@dY}CT3)Dg;JHZmptUa6d*RF_`r9bzrTQWKUZ#JEqI_BR;`egB9!0rAF9-p7 zrG5hS_=@g=>Z|nk@O!nMj5A-=lhA0(^*E@zM*kE=`I>$h0AJTjp!!<<6s}&UH$h#G z9)mO2>uqtfZqWCkK;O{4DBO*D3AFX<)%d+hzXkqp>OX_$Tl!Vh{$_paO!WU-^!Xre z)e}&n+w@%!yIr3L$UF2YDBQR8gSdL9z81iD=}kC)w=MzaJ^DOAen)2kf3H3f?e|^% z6~Nr5&%y8gdP{IVpm)XZgZfASe^0-P3OuA6a9bbNlkxkA-gXN5|D*Z=2tTHm;rDSp z53Eny2HU2sVmL$iLoUcD9-2(?T$4v9|hh-d~aom%rj%N~=;C$1ho`&l9r0_B5 z(nE2wmOYEgW%O|7`yk9lzg}HOW#aIn*VIwa_u}N!Bk^k}b0LmP^tz1S2DU$;RZPZih#n391;*PfFSbYJ`_Y4l*I!tqUfL-S7bfFMZs&M3%cN{ z%dQu$?s_ZU#|q-HimuB4TU9+T$@|ae19@FtT~%FOUEMR&RimQ6sxyh)N%Sy!QoJlb ze2yZm88Nc6c0nCc(<~%BdRR;%XHes4z_j83Di0VcYMY7A)i!$}rvpyW%TRAbZ$~3DItF?VL>B|eGBOA^ znqgXZ5&!AvKGq9Ug)x4-n~7$b9f^RENjV;)*>t!EJ+yI(g;W(ct#_#5QrL5Dw3Df( zCmZIVq4!lMD_`&5Xqz6*Gdt1#2Zvy&MKobr9nnDTp#P!;CjZEyR}9fYS)k=m5lZsl zEsGABM?0H*yayWsY8WjttqY03I7qZN+Qn3VhJ<{SCfXIpiCjLL^c>ktcQZyQMOD^Z z(q6fgdS=a}x*9W^+KtZ&kVb0dfKx-(O?fEQnfV7$*O>JaCRDVSng2XW^Rt$~)}y`6 zeDdl`vtEJyNBfxhucNd&>lZTazGnWr74zYTMDBk0C zthJ<=K~mb5wUIiAm~Wa3%~?@mI9N*Cv&KE0whU5NbeL)FL7}UTBc-!Y*>uc14=U+40^^>||64}L0;J?P`i~H` zu2hX9g&)(T(JjuD7BJ2*Hwhb|zSLwOdKY-n>Pq#S|N_;slCuP8jYY%;_$g!QVFy`-w=BYtLZMc zfb~khEnx$f_I>_I6$WbMs z1lCo`;l)mHTtqWO`6UK1<9$CCc(e5 zJ0@mezZ2VimUQInq!wv?Ddi^nojPhl;gM_-`<+usESQ%J_!ACW1fnElyq|P;dZhEe;#r&T&HACNGD}HJiIYB5B$>bKNug`?d&hwcxl*}Pj+~$|3ixAuW z@+1-B&Nf2C;qC&Lh!AH`STe4erq~}wpg$H!v6oAno?`u1Y3sj4x@t9T(AK|J*jP=? zZVB00V4V-x=2l&zX>Vi>hVedn#{t9Zo!}!fAuG0NoXOZ{T~cVJxu`n{e4f1=D+~a+ zL7FbONeF4BU8ZT4JVTw??8Im)6HZAFQpaYefB-Zm?~xj>bz(B-b^?K%%?&<)ZSue5 zXQq=zz~h25L?s`}A84cuRv{Xh?$n7!K3gw?KixS^Z1Tu@@dq<}1wcjY4;mfzKHMR8 z2y=XlpV!OSoG)WTA)O`eYSQ8bKFV+1iu5x@jwf`FS%dRiHP}nnZ}RIopEF6B%5iWF59kfssy-R%-EZWfm4GU?Fzn#4tJV%KRoMJg zVGDd&e0N>cURXEK)yMGtb+$aZ5`NMcN!()HToFrGb){k?`8lm zn@=_wl>T(4GqAWs0noqMT!q1r4h8)VA;khao1otzEN<)w9ADf=w7o^zcPP-oN7$>K zVyv}4Mp+fDgkJ{PA+0=BJAwN|B1rODQj#x&DJ$WZ!IYKoXi%?&z8xG7`s=Rvq;Gu$ z-wwVDwyuPoPh+O8v6;1jm5>*KAA)Vyju|BFt0HaV2$3?L6m}V$tElbORAFCD74~1g zEPJ)uUKe5U{f7FIZ(vY?w|opJmgnsUKEPjHK5P}=C_6@0dq6~6LLpMPzSdpA7gb0! zdKL(jO4{co9s7acDQz9Q8#pLzWcgTZ1fKEB4JEs2oqtxi@^W%L3A#s^?xGDBu4j`> zFN9aCUUVU7>#Usz<;w}B3l&I;09n(vV5Khwg(J8C^bm zL*EuWS6n_%C}{WAq?qE*Z%c|rd$rsB+UeMR(k|HvUx4jGcls}|D(IM6*d;71&;J*} zPYiigu$tBz3YPAEC5b&a=v=HL;5X}igV}s3Y)|k9i{Vr6IA_e@;AvDzM*S=Otq<}I zBIs3ot;uxIWJ)-Pj5{hAe7u-ijITKWi5k$VWDD8d*kDIGIYyB;6$gfhf>!~9u99iA zZ<^v`Gy>#=|5A*{cI(L2(}Rk(-5(5)RySkqrwbAMB=|l&)dfmlx`VOYrVZ;$cwe6p zj8h{D`!p(FAmKl@V?Fu_iAR!szaFc3^`a%`Q+1!@UY(w018`bpF;T!ubv3PbU)T{s zhc?PrET03v=a)y9pFej6(oWbBmk`(jTk3&n1o{4rGTO+_JP_nNSE#4rN-ax`h=i>T zQX1IlWIR?A`v};^F}tGxXrF;2->9rCr&;^39lNxrw0tN?+8}+LPmfGxBpCD*~U{gKYc*=YAGgbCCocwZTpWfsrswt_Br#y zvs6^eTH9jB>2?$Cj0*R?I>Em}qsh=dXX_0X^zbqEhk+ODc30A1)g^QwH?YmtTh8rn)%}{1e-F2dM7Rn43~aG; zYjbE+u`R3krH1yOxL)D^v0GjVo4VE3H+#4ljP?*+KBy5&e#T3uz-@Mn4oT|UK_i>e z6Ol;%tvBhr?0XWvkIgH6CdKaIIxjhmJ_I@q2|nM}#~+iOE{{nce@L+9;1mgc?MyMJ@{iop7|%qZctbex?dYiR?XHyi|a;>ewLG1usoTjjU3b1b*b zAIpRQ-njE+HcvanH$qg4lO0`pz$O0x0M)|8s_DaIRBl9>-2y!d3{=?sC=i_kAKKVC zeC)f@qowdI%lu0hVKd0_xvd@Sb3=8~O&uU^01!8FQ>AyfngZeT4FU6e+tU2%OAe52 z9kKY-FO*%r63Ktw_lx68n#dxLTdg~>4kYh!E64XjRljx<**a)V^aQ68y73JB*NSbU z6b$6;jH;#G+v811;zjJ(Hb%o8S;ap}1uZ0hjFMU8N)mPND_Yd`zbGqwm=k@iatQ|BE?HpcTO0O%40==%ZnhvcmVdWqngzT+PtY^RX zJg7yi4ZhzyBS+XhCESe8L(pHI$zv^!aI~7fTW?f#5X*24A8#b#{fP!>qK|hRcrR)T z(l-LebwDd$NNKR9S-CHRHCxGe@>J(qo#>66)%4Z+621$VZWYp#V{)`r^YcZl%k^Ry zMAPzFOI#!(y41>ljR|dcYZ@W-JH&$0B5ks|zrz*Sw9=#2z!g@WtjYC8Pug;oOfCj= zi`D%@M#If6qcydn8C75CBxSz=K3&y7mDEXhS%sgw+z`&FY5+f!!8<8IGiIZPrTC*& zC{n;9Gx^x3)xGJWxmi+bnVC=SloTX ze2YW1Oh;_**x&$g#o~~yj3o!e*JtU)w9x^82=G$OCfLKDpQEK~J*|k|E0ugoGSpcV zo`8XGteC5k*VMb-7arB^g$KZw zy_zfrWf?2nKeFfmv==>|B6o)BTrOUPfd`K_c3sBSL<0KN>R zoUsZ3LZ_{a%-9zK+MSIq`5Wo;B?$<|+Q1X|>kMFHbyz<^fO6}`ZdFS#i6>r&;Ya-8UR9X6}s@rR;hXS z@N81*iorj4du#Co|3Dyz4tHu1DWI#ep2q)%fVuo@k>=LqE{Jlo$Sw%g?WF-ADb0=K zngNg%!B^pyq%b|9LA@TjTLZa7Rr99+z{(=>|I?87?mkP^pddjWU#j8pjTxcm@w@T}nM_8&{KH4mleNip#J%WLU!|yT-z5N& zU22ANAPR)u+9l<8X>`c}Vv*%bd|E}$7s3jThcC%2*ewvDLqJ;FhYlr01Zy;Zj3^12WUensC8gmQaXelZ~n>wi4CkdM=$ zsOml-^$*i*cvD)ulk^}DC1pW%dszTT%5pL32>?QGmE}2Kminq6-)bj|Yuo@#QO>Jo zOq4U)s0hE)4ozbm@iAE9?j-Rx+&2VvnC4$!lLj{jxw>-06e7T1?*E?9fX=c$t~Fh~?L==`A=mjR)VaUV{l_@dtawp6_wS@N z{&$q$IaIgr8~}djN^ROd0w9j)DlPeMe90k~d#D5`<2e=(gZ-G>W zFz)VBO2=S%z5y~3O6eHE51eIsX@00?10znkE-1w;iCIrCF18`QEljzCNEb9D=m z{*?%P!PIo${*!h;9s9(=FG4iGv=&n%&TR*$^bs{;d4AIJO!XcaVo7Q{^Ji-Z>N`C% zJgI|@W;$i^QP)ENLv6&YFx9R2KY&O!V3~QQMfpBEHKJatE#FL^Oie~my}BF%2GlTg z+E%>)39F@Oo?+xr3$v@qxqv#2tZ!9&iJ5*CwSOJh$gdB-YN~Tl4VEME$1FFk*{IK< zgiR(AHmwC(ZlQPEP^-c%B%(;zM0tZceSxN0raCkIBtR+*-Z*bXicz;gCeS1-v#)8r zf%;rd_Gu#7=R|BB5}f>SfGLVfQ2I@CpqWVvf=aZYUnVku(g5Wq*s4x3y%EE#j-x(> zhquj(Otp@PT!$N1^I|hXSt21dRhp|!s}Xg%oKng}N~xEV?2uB5?Ih9S{eGC0--#(7 zHY0>VsZVIS=ahRd4YLv%EFbbl`3+7Cg9>J0W)z!e1e6Q2&s#Zbwqc$b5KB$am%mYB z8xAKZnUslSQhx(Um7upbC}mSAo}gq>CXz|9Wg0m|)I>6=O3=*Z%!ekDNj-y-C<)1= zM2J{=J}{Bfl=7*n#OvMz^;Y35YGER46lE03IfA{OiL6nCk-HJv&o#FOR9OhL=F`C3 z9EiM*DkIT62&G%36iysI6(vtf%E+OH=C*)!j3k=wRS&l$_mqj;Q||*7PH=E4a!(O4 zG@#s5CUQ^p0i#^bJ!K;I)WgJ<^@!Y4(uH2QX*ZF3imFrsxu^1bo``CfU!gv{1>2#w8nZyY zS6&c7sn#?s5;r{5qWjtGGXbNFvQ4Or>x{CnXe>B!olNdkzwlJ+Kj7_z$pK_^@8FMf#Bp8#vKo_4 zY~Id*F{mT-s6y?m+ zsv@-=DeZao)J_AL$8q3E20ks(2wA3u< z%2wsjPf#78@5MTXMXe)eSFxAEV!t ztO~!0vm~pEhI1#z(En`CRu%nMn6l!tDMtULehZdjFer#j-=lXZ(9{XX$;YBViHUTw zs%RwdP7uiEPnkzQ3%`Uy;T9%C@q^LNGG9a?mkkL88iZnGe{vyKG(GVaHRbG2(PR8| zp2A#AENF$89_vBFh}{rne2Qk|(IT@3oK&Grb(ZamG zgv=Rwq9?<12zf6fQwEjj$zCpXAvaFhRiY<{9YYnQqP#TGuDMHqoy$3Da2h-OCzKL2 zQ&AB8BxtHqi4~M!1);KeIw(MJa^i}vB$&(;UiXul% ze{jf6P>z}?a@1%wQCga4dGSeV%_(YdcAK*<6kY*zBSG^Ppc<{GbWn^|=Jx=}T>9NJ ziWD_xqg41kqf?3+fO@0vNd04217Ii7s+<{wPrr+C;G4hxTi6Z5WAF|LpuW^I%sxtE z6Rl2MOX!@^1}DP9_Y(PCgkJay{s&dcViTE3OPjNdq*o3ty43A5vLTX(O%gz=+U1Mr^LL`-g$EXBv3^6lb(i`$On|k>bR>iWBpyBWT=J zabjL|Gx|}YI5Dr{#JuW$^tDXo$pDioq6@6G_|rL8PjGP{pJldjAfM?agy+X+nQa`% zXPFmLs5gZ$)68_(1%cGDe4712>R5goQpfV!_@ZO^ZAcx<7hlx59IZ#7b>W+>zUNqe z8{dNuzq0QEAAD!kO)~nbEu*j6GWx15qpw;SeU(qvSxDTBI6Jwo+A{h|Gm_7Zf!)b` zvUKUzNzKh=A9AuSyOV9%oz(1{@DgaMOKucl-{d016QRJ`5l@6t8&8B%8&5=aWTsH^ z5Hxql_YgVyULpAqp@%{ndMLG_hmz1^-;a_gyh}M8PvT*aC_EMa83|SdK&l68%3NWx+YF&CB%k?7Qx`;Xhmog+6ax3 z7MkWCVYZPPrKHsOy%{tLiHnvRpf;K&1fEV^R1^{C6`pwwmzP-0$uBS_7Xy}@r< z3<^JO?Trgqo9>__-EqR?_BxHgo>F^zeDm;LG*+)*t6-=l_}^47p*o;A;#{QxVyn&g zKd8Fne@AVk#_AXR4kHsC3Q}K;v%Y{i1X+Qv$#77&=#%3_?ii{>F^Tn@J`I(?Mp64 zoJaA=!`}dztQQ5piAxlw6KDk0RoH2Q{FG^C%+DsbC~1;yj9o z^9N80Cn(}Px=tQ6m6IG}<@lVT05c}Nt3{3vCtQ=aji$ObrIs|*6_ZCr0%eD>@<-0Lu z#;0{u3zC#OY08^$qnDO9B2G0bz5_d`v;^(mM*&Li6%Tz~67`j7= z#rf7)?p57BX6$huQKyUO!ad5ig;B>{o>57BX6$huQ{xHN$#lh+7 z+X0Y7acsJ(ug1hw4?)_l%H`m6#lh){gVPlUrz;LlR~($K4r0%ZogkXkC=O0n9GtE= zI9+jYy5it;#lh){gVPlUrz;LlR|rlw`YVo2SD(}%HeGRSy1Jasf1RQ@I9+jYy5it; z#lh){gVPlUrz;LlR~($KI5=H#aJu5)bhW7`g3}cTrz;LlR~($KI5=HVaQaxqvFVCq z)71&!pQR$T*hh_59GtGoA<6{B!RcyzUmOHd8_?s)ii6YDQ+*Jet~fYd^@8fADh^Ip z|3=TwRUDkII5=JX8$&Zwad5ig;B>{o>1r-m&Q=_ot~fSb-AEzJa}@`tD-KRqS3o)Q z6$huQ0cfy5ad5ig;B>{o>FQ&Q>te;h>57BX6$hs)4o+7boUS-HU2$-_;^1_}vFVCq z)73ZV-Wo-*>Fyt2j7aad5ig;B>{o>57BX6$hs)4o+7b zoUS-HU2$-_;^1_}!Rd;F(-jA&D-KRq9GtE=I9=`NhuCz*vFVCq(-p_2E0=@Q)pAI8 zkK*8T#lh){gVPlUrz;Ll$FnK~rz;LlR~($KI5=H#aJu5)bj88xii6V?2d66zPFDy{ zH~yqJHeGRSx*7p1d0b7Jh(CW;9GtE=I9+jYy5it;#lh){gVPlUr>lR#A3UWvI9;^~ zPLF+Jg>i?`IUM^uxYqm46swE#5Zp@1RBzQ39flq|Zmk66Se;JfsyF6+bmN4|#f2}8}4Tqt}eo*xBv^a&K$4>BrZ6i)$g0UaDV8$s7J@yk90&xmM zkNuAeei(Y}XX_gx$6@HPU)9A#j!r$tPKrO}8^##I(20?qp!cLPgrO52-QbbPIn+3Y zF!Xu=b19fy#Sn)6SCn{Rj3Er2T(6O!F!UJ0(D|GWawcH{#}I}t#B!)*3}NV-(Xdl% z7grWB-0!Mnv5JMO`5is)TIa~~3 z=zlZ4qN!HUCEOUo&?7+2O?ywJR~PF zF~p`1Cz>3a9z$&Ui$s&2EyN1-dknn(aJeY=bo~A!*4gCO1=u@K%NT;wZzeJvoE}4P z`X|L8L#uiW!Rhj>onq5th)w?smUoq)*z_1;)2Y-mL9yvE#HLfT@d=7ek0Cal-h(tG z5S#8AF$AZ7iOR+V1*gZbQ9psw`~(H3#}J(UD@scf6r7IFY3AG5Q>{)=aC!{E=~0w6 zh}eitS14VTpxE>nV$*34xg|ld=`qBnQ)z30V$)-YO{dbf1jVMiF>KDM*qor?^caHE zskA*Yj!Fnlr_x=Cbh4VEQrZcdqd{=O-#|3n55lgTFpZcKrU7@tWOhz?9sf^S&mrZ- z5UTzb3T1;Z1cCH8y?}~XZiD_i^?VG%_qg3KUrb zQJo#Zj;%b6)LvQ>qOLTUok+`8)0b-+4F!ufnCgf6rB z0CAo|n#ncGsX*s5YCbp>fT3pWc^iKb6BF4j?UqQhkw(o;#HYYa2p{=aEeX+c(r{Fq z$Rqf%UDArautt~Jd`1ZlJTSKtgAaH|W>~rAQ18bXR;^20>_E)qJvN`<>2ri2_s3qo zLs}PN2!sfIqgIIA-%}*s=GJlh`+q}q6b;a8?qVF7_;Uxk(ZKPMz8`5S)3hk>LXff- z(oy+9kZvqo;#vD&jpZM9E<2Tmb&vkm>S!cL8hWP?@DF|1;8*q}VYLM5o`g%i~LAp^PbvEky9~@nOpdXFnetu*|0Z;%tVY=PucY=&!7Z2XUTDs2C z28BNVtJ zn{RBI4zDk>!YJRZmVzQ_)9CXMvA90gS(BfW6an8YM5?Gchyc5u2ZPR=^r<70TN*3= zok;O(K+w(RwWa>hE!Ehg>*m%I@+6wdq#OE3FI~Qd%jiXAU~`Z>4F%8{eQqPun-DWK z^&-+1U1swxBG2?D^cH&ajh@#I2YPirO_?cl3x?~yq(IeWXt6J!FixQvPvQA>JQ1r; zUkgn7vTq&F!|DkKxqM=M89SevT$zM>U90x%ZQd`9R?%<=qlirQ&Xu0I#1sy^jqW)dU`U6Jt~|}J*5Mi11Yc`_;n-` zSyc50-jlPf;vsz2;H+?b5er{$40;Sc*6bb5rQY1sBvk8?#Ft}(C&Kp**RA*R=UC_g8%Ah6CrpPv22C7+ ziZ4RhRQTpPscTAh`C;n9z67K6rUDdJy~5jgzExUxA*Q%_B;V_x0n`JbQaXeJtFGxmY@QDBMixTX+~Qq3*D7-VO{4XXP=rn-SWQp5 zr~Gd?0B?rOS-KZSRT`n}2nC7K&71KbuFsMhS%F&%>D!J_XWh4IJ{_|oRH27ZtanFf z;2tz14`0L5-yMp$^tKJ-A>!Zbi{H?D;ar&EeXZSNIqw%a15M``Rbxo1Yh=g|UM*6+ znv^Pxt)EDBO^Q_4w3Eu)HP1@VWNEJVnL!xu&^)W?bmn0hSnMG1X_$SW`x`YFbF{&ziznkLm;NK3^p zPTKvnxY5?2>RB4$;|}}Le_k$qpPUq9HN+6M$DKSGiw0rxtQFSHR-CIHk$uHxzQn$tD$&6WT%Z`|nPs*wJ(tLLPa| zt&X!$vpqZ6kq?P&74DBwT}lNIsICz7I@%`T^Q06B{8|uX#*$99IL;_drhAf11@4W7 z%oeAsPv!+0$t_MFY8z-m`$vWYu*q@uxg!6y$@XiK?Kicy=W~ynoc``n?pR}WOFg$A z?ssg!3L?0|af&s;-z5pYktDdnDHeemr2Pt~TG~$%MIrx^l+UlZp6q75qZc1+0!EQ( zEpi>_o%JFy6u_6+9Ko{z>G2|;0U9hI&CPS1Wg35B5`StEe_j$_Cc`|3Z!*cxyg~xZ zbLzD~M%5u2%0!+MqBEwKUm`+$W%)uxz4?o*!D;k_o_4G?!Fq4cA}hb!F&e1Jj(M6E zqxN3i^nTs6=D*(2MX;=eYlY-AEhjx@?>)yb>zu4d0kWF*xJKXSG}1hcL`hL(dwN{Sw_bjeKXg!C-w%gdauBj zjT}Dl2k&XruJ!)0*y>lbgjDopkTtY;wKR(-SF`85q9s@^MA1& z|A|Yjt|k3X2bE`p`czHbA3n4BQ`}orf9&15)EZjUgZ5JU1@od+BEW|t2IQFOeZSOd zC@CTne>fQ0gNhF*oCMca{-1>XtUt)@^Oi5ON^{7{Xv@Xk;*nq`)kUmgZ_hHTrtU`+ zhGO|MPG%TYxilpA3C)jI2+d!UG-nN9nz7~9X+>w%1M@Dy+^sQD&6nA{&s)0O${!|- z8-?-RNycaBL9UuV97KL6L|$Dk>|Re2$@2cO+!|2%9`$ppDC1I%g!NK$+Kh)d17QGL zgPk{f)hn#dy0@c+>CH)|-mDc?QRPM&;cJB0?aPGYdr4y7Yhu>~^EZ3b(a{(n5wz47R1+-?mia`PW@)f*lIGns z0}6u~6dBT4(}aJ(m4%At<|NU=VCiP>{EKmeei1dv5rzHr|3qQuauaHCB-tXz7o(x3 z({NPf`ub@!s*VwjOrbGX)0mm0(FY?hUCB(+sD7K&ks0jn%1VWgjS|tUHbfsFrKbr| zoPl6+t%9vi5={$s^#_t^bZA54HL`}F(Acf-eOm>i)C;ai7KDcpYpABzDQHvPPB5pH zXpabq{)^p#mYOM==;UN?he7Ot$oK;ceG4&NNd98?&?KwJk-mPhML#v`6hCk#@9@K5AD8>3XrdqxKNmobhIrZRDtZCfNwh znd%uN{!x1dk)t`&d-+@};m7Q>kGu!gSRpq~LVRWG+0cMpCN-^ELu&a%WGmCMH6~@7 zRqxC8iQQh4pV+=8MYd1ueqz3(t68*9?9;@2>#Mucj2QEYeU6Csm=^6*hz1GBEe#q; zMsdVu1OIuxXb2B7_%fRxNlJ0VF4^p@yTmH%GY=MQJ|ito(Jc-pTjUP+<$lJl^ete% z_xdGxdeH@S=HG0+4_#9FL zCl{F98uzw*naz8XH1^qUnJ*9f)qVCrAu_&Z4O#UQb`}M51)3HbgK9`|+lA;vP4uQD zQTk|t*v)pk#;5rd^<}$#8UFkH#gTV|>ABsYIhwQlfsS4T=W4!D)F|ZS=oKb4naJZcshYcsvP|yL)l(Bv@4JIZF!Ne! zK>mV#8GmvK0O}2||Bqw(nU0-F{7B3%y$9A?o!s3Rar0Lzoi-B1S~w8r%WMvhgmB#Q zSF2W9HW~vy1l0WAa$cfYhU;wpAF$>DN&N4vu9}lE;AQfMM=fW9#$T7j-$q|269z~9 z1`XBoNYta&0C{*-U;P>l{!wd`^mcsBRGQSstmIv8RUVD)ev37nKTCw_pVaVd>|I5} z8igKRv4;0su2%7BqGBKr6V@Q>I0?XNKuRVqqGLP(W*q|{I!2OOQv8n&g*NKZQ<3TdPb7k~6l@%B~ z4s)c-Y`%B2KYAL4AHMVO0YDRk(yq(!0U*P-&6O#V1mHyt4<7(Bd{@cvxx`q;Z-d)= z(R{<4ZgnD-wAtn1o8gOE-*@Ir(ZCLo&6ohZnme&GG8bAgdg8$oP1OUi$cm9~B}1xR zsGH5v&FEp*5-Vb2gaZTd9KfgzYSliWF>3xygSgHoibse{biGd$Pg1kJi!Qgy=JcjD zXOdXR$>}0qtA!i^@qyH-N!CE=6lU)o!_j1{6SA>H#$R0io0;X(do%XMpXfMh%y<{8_yN7_9mNrhbA&1HA>Ruq1?{pq0DyU zV#e}(^Z|I=!{do^dzS}5(&h2^mHXp2-x&5Z&Cg=d)>#B2- zRqom7@Ic(q=2`h-*yE)Gc~)0)>-0FMs_0ZS?`ZM+nZwhh)2*A`hc$(cR*6t(6bc=! zDxuI&?O=j}Kz}_|q{kh}@41@AOXNr)SRzW)!nO3)UEHbTH%>qxF z$*IMJVn0oBe6rtDG(|UNb@NH`S`@RYg+zl$8M6i?Np`0h5fPH#>#sG`CrRF_Nk&>V z$rK}2iBK4A3|atmb4Y+A9v2dYbTr?bB$4Os++_7JulC;AWL5WCL_L_;fi@Ufn%lG_ z>V;$RTAb3znG-wH10q;j-FMz8S6H1pUr(cb7T=nD&>*9QXX1Pz)sT1b6;==T8}fZ; zGR~74rzDBUmmDV=X zn|8GopHhJHNa=&pPDvY>HYPiei?i|o;7e|;fX;nV07cPclT0Y8IL*v7vqEMzPE5;B z9GdouZ?tl}`s*y@(QJADYHL;W+_F4EtIxe}Q*XvRUGaV7YWBuPM3nmIX#P^*2i zH9brpr5&}FJzK5!0^Z@i$h|ur6Vaxo0olshGF7 zJo#s9XvjR_{c_OyTi@fCh^6EP({b7@Xa;_3<^?N;27~*8k$u7N?}Ndy`bWvApji?K z7^Ye6{rZ&ks`*aKD}S{fwu5zJgN6IOs}EU4=HI$I%cX*WWXX`ckMR|dlkk5<@|k%FqlHSHsTSX(I@TISjICE);O%m*Fp zCyFvBE&0E>i_e?1X6fAX8kQ`_zn0sp?c-+4T|MmkLs=s(Ts&*}n)A+Ddftd7OBNDF z%lLlwnaVqRtetI7IBU{`mfKFZ&oWzZ15_T1Oc`_Dn0|fE`_0If^2zq|AvI^oqNNuu zoO|B9Rg34Wyl}~4@7wA2%$5sh*f$1(1Y6-{d~W8obZfMS#uAT{3&d50EhSwMm>XSD zb<^-bC$DLdy(O^`%LH9&1OG81m&xDgWjEF3_w`mTw%-oq=6VyB*fRsKKj=NQ#IDWz zN<5z+%Kw&;X*~9W_tO&lNwcx#@uhZu(`@v{E3}w3LIV-_G#HJRP z_u2|OGw(-uRJyXTSEK71jWoeCS3<`3v5}#xkEZcQUEL9D99<(d&!;tfnkILLR2y$; zc$&V0`k#h>s^Kdq3E)GN>H1E?r-({DZzW`WYKl}Ils`r{Fr|)c^bSJCyuz6RAE#wG zM^`WKzD9MTd6rbarmL^PUlXZqK6}>dy2|d+OC1v4g_`lsrnmT zt?kcPpsVlomQi*1A0l%HP5e?_UFqFP)oU&j`0oVEpj7lk{3`Eds*Z1zYApSH?bFp0 zJ@aBaXUwlx3it|L{hF@M+$4Z%4gXlfhiLdz4X1aX#O-o#7Rcq@qN{6lbqwZ9)z5fM zRQ=nl1b$3cm+R`~-a%BGw|Z|}jEVU9HBzn3%eX*e_4B%{29fixm1=Ct`J&83#ABCt zHdTMIQ^4P76SzlLKj~dY)o1UP>UZRi@fTg)FT52`&3S*EUDsH@-hUZ!e3v4JXopl{IC3qA7^R6qEDG&`YNKc=g9d3991Pru^n zfez92mahKXn{|m@3y0YREOWiL3#CMHf6?s#-4B1Z9D2?B<`TOH5`T4B3!0oZ4Yd5M zX{R~TpMKuiRGpeIZkewBn|B$i-PEjhO}aWYN#8EOX^Q*l@_hIG7mc5qCjCVXPfa2E zhKB1jr(Vvb@J6W#St)A}4aqCs@Jlg!QWHPsg`_$)+huPJPfdJ$wuZmp-Fc~d={z;6VXXteM-Vf{S%(~RC zDy-5({f`i6(=;|}qL+GSueWnutu?)qFmBYfso&MurK$N}=<})V({TR_eLnnR zm49ov|6Le&3-=gr>vcuyS8I-I_>$qGl&>|u5fR;_e)T6?!|B^ablsSEp&${k}JR1B~-CRGUVg;XkC-dqv}G4fh|j`|zJM+<)-zkEn$` z7SZuvMPOX`>Hs(yY3eJzu7d9x#rh2b!m;?O(u9irBM%zh$A|kJ(C{G)&o%t;AfNFl zz?tzjJ<_`0bl#ufa+Kah9uVP+Zx>5Nv0m)`6Z{)AJT(qrtA?kBAKatisi6yxXn4Ee zj_zQ7NLQqWj=ZhmpZ(GM=`y=C`Z>xbHr)I3yvob%Qu7Dz?91VO!dNa%qoZ-0@_Dtn zGQG>Fx`bC#WvouwzW4VYMD^THvEl^`;1suMil5^E%7U5>KPc+MlEv2y4NrYkw^GAD zpyv;`e63zjaNKufkK2x4naHEFp^wN}%y>xDsaxi*5x_wWe_F#+j|TkHr&#!@#z=kA z__L2;W_mAggbsS3lf__tq-T2-)p+J_F$acV_eXtAeaSaL!#6x8BK<0=Fy?4@>cPgP z8lHM2c7uke9!=dMaM!r!e4)HhcYQl5GHFukU2Cz1->nIy9&P-yhNm6~dWPxb8uckE z|CdjPAA)sjePDJ}SL7@aj@_{&(`9<^Z-SyI5eF$M^|%XtJ%Qk-?@&{ z@YG0(sT%&gHlj|#-B>2@EMxF0fzY!hx;C?1V}7sOtz0eOyX24Yn1-ju7d)rojrzHW zzP&U$c*CziH(%G)sh^SkLBmrIVmsIuQ1^qHT%Kkh2VBAI8vUCO4bRv3sV}*z1nwHC z51fbS2Idn&;WAC=3=K~`Oy8j4sV{b>(8LI&8?Wn0t;rbk7~e15bVeXL?h;KRHN@c> z4gUpJL)TdOV>D}c>an`}2u}0geO6;^)moaaTfPN2`Gw+sGC6x{_%RJ{OflYHHJ#Mw z#UX4`XcSV9)^!xPYowmUE!7QDpN>+BIhuWjes5c@1v;JK5VV&FN^i*NnxN_AXse|s zu5`_1xctUbf+w%Cqjjq_?(ekvX6x#W8lHO2XN&jXRd!C@A9Z!=IrGOfJT=hg8E!V~ z4PBjjB;qp-Z-1D{FuvFD`AcPfy{@IRvDT7mQxD~4drh0+UdwcK!#u%QPNDB~)yN;C16CL6M{1x=Lc>#E@Kgg1x8RjsgMIlxjgFU%& zUGHgl>U-UzKK`GC&XrohzW|60#PhNqqst<&%^B_biG zT*S|M4ez{J;LmBvC(Hh2fv!#sGx`rxmG55JpgelKbKS1uNj?$nY|LOAHKqmg=q^G8&8mo2fg z`x)8Tgp;0AUuu^EPO=#(vh^i=?$uekWok(GObz$nO5UfXS*qcwQEclp{4G6yb-0YN zMZ;5rcee}NHB#e1cIyVI=N_NX@YDmiFKBpbq|KWep8DSYKN>D4ld!{kT)Va?9`TV5 zQ)4l5y{~V=s@6wWrykQ7s^K^PpJ*uElD`u*{I<1HK2)W5C4 z3(H;)*`v%_?~;e?TBRR+_zyq^dyfN}`PdKQH2uHfmLDIo|6-aOyvH9wwLgU#%SBlS zydNLI+s#I=?ooS~x!hZZKamNQQu(F#_@j3J$j~cgfF^lAQt`$=Nbxpr;Ga;eF11flags |= Ast_Flag_Function_Used; + return 0; } @@ -426,7 +428,7 @@ CHECK(binaryop, AstBinaryOp* binop, b32 assignment_is_ok) { } if (binop->operation >= Binary_Op_Bool_And - && binop->operation <= Binary_Op_Bool_Xor) { + && binop->operation <= Binary_Op_Bool_Or) { if (!type_is_bool(binop->left->type) || !type_is_bool(binop->right->type)) { onyx_message_add(Msg_Type_Literal, @@ -900,11 +902,13 @@ CHECK(node, AstNode* node) { } } -void onyx_type_check(ProgramInfo* program) { - bh_arr_each(Entity, entity, program->entities) { +void onyx_type_check() { + bh_arr_each(Entity, entity, semstate.program->entities) { switch (entity->type) { case Entity_Type_Function_Header: - if (entity->function->flags & Ast_Kind_Foreign) program->foreign_func_count++; + if (entity->function->flags & Ast_Kind_Foreign) + semstate.program->foreign_func_count++; + if (check_function_header(entity->function)) return; break; @@ -917,7 +921,8 @@ void onyx_type_check(ProgramInfo* program) { break; case Entity_Type_Global: - if (entity->global->flags & Ast_Kind_Foreign) program->foreign_global_count++; + if (entity->global->flags & Ast_Kind_Foreign) + semstate.program->foreign_global_count++; if (check_global(entity->global)) return; break; diff --git a/src/onyxlex.c b/src/onyxlex.c index 3baef1cc..75eafd58 100644 --- a/src/onyxlex.c +++ b/src/onyxlex.c @@ -37,6 +37,18 @@ static const char* token_type_names[] = { "*=", "/=", "%=", + "&=", + "|=", + "^=", + "&&", + "||", + "^^", + "<<", + ">>", + ">>>", + "<<=", + ">>=", + ">>>=" "TOKEN_TYPE_SYMBOL", "TOKEN_TYPE_LITERAL_STRING", @@ -151,7 +163,6 @@ OnyxToken* onyx_get_token(OnyxTokenizer* tokenizer) { LITERAL_TOKEN("---", 0, Token_Type_Empty_Block); LITERAL_TOKEN("&&", 0, Token_Type_And_And); LITERAL_TOKEN("||", 0, Token_Type_Or_Or); - LITERAL_TOKEN("^^", 0, Token_Type_Xor_Xor); LITERAL_TOKEN(">>>=", 0, Token_Type_Sar_Equal); LITERAL_TOKEN(">>=", 0, Token_Type_Shr_Equal); LITERAL_TOKEN("<<=", 0, Token_Type_Shl_Equal); diff --git a/src/onyxparser.c b/src/onyxparser.c index 9dd5874a..9e46d397 100644 --- a/src/onyxparser.c +++ b/src/onyxparser.c @@ -339,7 +339,6 @@ static inline i32 get_precedence(BinaryOp kind) { case Binary_Op_Bool_And: return 2; case Binary_Op_Bool_Or: return 2; - case Binary_Op_Bool_Xor: return 2; case Binary_Op_Equal: return 3; case Binary_Op_Not_Equal: return 3; @@ -421,7 +420,6 @@ static AstTyped* parse_expression(OnyxParser* parser) { case Token_Type_And_And: bin_op_kind = Binary_Op_Bool_And; break; case Token_Type_Or_Or: bin_op_kind = Binary_Op_Bool_Or; break; - case Token_Type_Xor_Xor: bin_op_kind = Binary_Op_Bool_Xor; break; case '=': bin_op_kind = Binary_Op_Assign; break; case Token_Type_Plus_Equal: bin_op_kind = Binary_Op_Assign_Add; break; diff --git a/src/onyxsempass.c b/src/onyxsempass.c index 33d55d69..34f4ef5e 100644 --- a/src/onyxsempass.c +++ b/src/onyxsempass.c @@ -15,6 +15,8 @@ void onyx_sempass_init(bh_allocator alloc, bh_allocator node_alloc) { } void onyx_sempass(ProgramInfo* program) { + semstate.program = program; + onyx_resolve_symbols(program); if (onyx_message_has_errors()) return; diff --git a/src/onyxsymres.c b/src/onyxsymres.c index c269c6ab..7964578b 100644 --- a/src/onyxsymres.c +++ b/src/onyxsymres.c @@ -389,7 +389,7 @@ static void symres_overloaded_function(AstOverloadedFunction* ofunc) { } } -void onyx_resolve_symbols(ProgramInfo* program) { +void onyx_resolve_symbols() { semstate.global_scope = scope_create(semstate.node_allocator, NULL); scope_enter(semstate.global_scope); @@ -401,10 +401,10 @@ void onyx_resolve_symbols(ProgramInfo* program) { bsym++; } - bh_arr_each(AstBinding *, binding, program->bindings) + bh_arr_each(AstBinding *, binding, semstate.program->bindings) if (!symbol_introduce((*binding)->token, (*binding)->node)) return; - bh_arr_each(Entity, entity, program->entities) { + bh_arr_each(Entity, entity, semstate.program->entities) { switch (entity->type) { case Entity_Type_Function: symres_function(entity->function); break; case Entity_Type_Overloaded_Function: symres_overloaded_function(entity->overloaded_function); break; diff --git a/src/onyxwasm.c b/src/onyxwasm.c index 517cd8e9..1dff1fda 100644 --- a/src/onyxwasm.c +++ b/src/onyxwasm.c @@ -596,7 +596,6 @@ static const WasmInstructionType binop_map[][4] = { /* BAND */ { WI_I32_AND, WI_I64_AND, WI_NOP, WI_NOP }, /* BOR */ { WI_I32_OR, WI_I64_OR, WI_NOP, WI_NOP }, - /* BXOR */ { WI_I32_XOR, WI_I64_XOR, WI_NOP, WI_NOP }, }; COMPILE_FUNC(binop, AstBinaryOp* binop) { @@ -1115,9 +1114,27 @@ static i32 generate_type_idx(OnyxWasmModule* mod, AstFunction* fd) { return type_idx; } +static inline b32 should_compile_function(AstFunction* fd) { + // NOTE: Don't output intrinsic functions + if (fd->flags & Ast_Flag_Intrinsic) return 0; + + if (fd->flags & Ast_Flag_Foreign) return 1; + + // NOTE: Don't output functions that are not used, only if + // they are also not exported. + if ((fd->flags & Ast_Flag_Function_Used) == 0) { + if (fd->flags & Ast_Flag_Exported) { + return 1; + } else { + return 0; + } + } + + return 1; +} + static void compile_function(OnyxWasmModule* mod, AstFunction* fd) { - // NOTE: Don't compile intrinsics - if (fd->flags & Ast_Flag_Intrinsic) return; + if (!should_compile_function(fd)) return; i32 type_idx = generate_type_idx(mod, fd); @@ -1351,7 +1368,7 @@ void onyx_wasm_module_compile(OnyxWasmModule* module, ProgramInfo* program) { bh_arr_each(Entity, entity, program->entities) { switch (entity->type) { case Entity_Type_Function_Header: { - if (entity->function->flags & Ast_Flag_Intrinsic) break; + if (!should_compile_function(entity->function)) break; u64 func_idx; if ((entity->function->flags & Ast_Flag_Foreign) != 0) -- 2.25.1