From 05b6aefabe78fd3a031514720a7101f3037851f5 Mon Sep 17 00:00:00 2001 From: Felix Dilke Date: Fri, 30 Jan 2026 16:07:23 +0000 Subject: [PATCH] simplified language features and tests --- haskell-experiments/haskell-experiments.cabal | 46 +++++----- .../notes/InMemoryDB_classes.png | Bin 0 -> 103263 bytes haskell-experiments/src/ArithmeticParser.hs | 2 - haskell-experiments/src/Datalog/DatalogDB.hs | 1 - .../src/Datalog/DatalogParser.hs | 2 - haskell-experiments/src/Datalog/InMemoryDB.hs | 2 - haskell-experiments/src/Datalog/Rules.hs | 1 - .../test/Test/ArithmeticParserSpec.hs | 1 - .../test/Test/Datalog/DatalogParserSpec.hs | 1 - .../test/Test/Datalog/InMemoryDBSpec.hs | 83 ++++-------------- 10 files changed, 41 insertions(+), 98 deletions(-) create mode 100644 haskell-experiments/notes/InMemoryDB_classes.png diff --git a/haskell-experiments/haskell-experiments.cabal b/haskell-experiments/haskell-experiments.cabal index 9d70208..854c070 100644 --- a/haskell-experiments/haskell-experiments.cabal +++ b/haskell-experiments/haskell-experiments.cabal @@ -55,34 +55,36 @@ common warnings ghc-options: -Wall test-suite haskell-exps-test - -- Import common warning flags. - import: warnings + -- Import common warning flags. + import: warnings - -- Base language which the package is written in. - default-language: Haskell2010 + -- Base language which the package is written in. + default-language: Haskell2010 - -- Modules included in this executable, other than Main. - -- other-modules: + -- Modules included in this executable, other than Main. + -- other-modules: - -- LANGUAGE extensions used by modules in this package. - -- other-extensions: + -- LANGUAGE extensions used by modules in this package. + -- other-extensions: - -- The interface type and version of the test suite. - type: exitcode-stdio-1.0 + -- The interface type and version of the test suite. + type: exitcode-stdio-1.0 - -- Directories containing source files. - hs-source-dirs: test + -- Directories containing source files. + hs-source-dirs: test - -- The entrypoint to the test suite. - main-is: Main.hs + -- The entrypoint to the test suite. + main-is: Main.hs - -- Test dependencies. - build-depends: base, containers, megaparsec, hspec, langfeatures - other-modules: Test.OlogsSpec, - Test.SimpleParserSpec, - Test.ArithmeticParserSpec, - Test.Datalog.DatalogParserSpec, - Test.Datalog.InMemoryDBSpec + -- Test dependencies. + build-depends: base, containers, megaparsec, hspec, langfeatures, text + other-modules: Test.OlogsSpec, + Test.SimpleParserSpec, + Test.ArithmeticParserSpec, + Test.Datalog.DatalogParserSpec, + Test.Datalog.InMemoryDBSpec + default-extensions: + OverloadedStrings library langfeatures default-language: Haskell2010 @@ -104,4 +106,6 @@ executable haskell-experiments build-depends: base, containers main-is: Main.hs hs-source-dirs: src + default-extensions: + OverloadedStrings diff --git a/haskell-experiments/notes/InMemoryDB_classes.png b/haskell-experiments/notes/InMemoryDB_classes.png new file mode 100644 index 0000000000000000000000000000000000000000..23582b0525bd00c7c10574c59c8d8288eb33eb5a GIT binary patch literal 103263 zcmeAS@N?(olHy`uVBq!ia0y~yV4lFhz`TTmiGhJ3{;1Ch1_lPUByV>YhW{YAVDIwD z3=9eko-U3d6?5L)t+WYw{h#4OdfJ<6jbu%yZBE@fOS3aCJBjFexhhQw+P;WaH)_h3 zz#W;Po|9e`opznB_j1}g0YRs4w${d1qB7onKQ@v zs=dk@h8`PUUf!QSf397-_R*t9LPA2x$9fcn607(b7#Obo{`EDxw6xUKm9^Jx^3q9PC>v!s}D~OWnf@%<6>%Duw==RvuEc{pML!8S=$%C*L+yO#_*=kYiU|qno^6J z|2&?XS_}*gg6?5qVP0OZ4!854J$ttKHKR}%!;QPo&(DvJj=p;JYI{Mg00RTV1NWei z5D^iPKOY_*exSD4=@1t~bar;Owyy46i$W!NdHL1JjG(04>7cM;#fmN4x7Yvtlqzsm zF_E=lZSAiwoztg>2L(;K+Q@KV-@clko6^tAm6nz=GBVcH)upDUii=O*vu97fSx!cV z!k_S*oHzU&q7CyU&CS36`1shq{@Ny%yP#dGs)e(&Wb#cYT#YGf}HtbVTQ(G6c_0*X&Z(d$rUi|Egpoqwm=g+TSy~@ka zzkU1m^1{NMwZF~cDqmh&%EGj8_wL!PjLaVmRX0*RO|1MBKP~_3P{F>vcH!87{2en0$QO_U+rZ zY~fh}iuesH*R5N(ZJU{(pkNp~6T|GT-rlq4&zl<=Nm-ZWoL|hu#MCXWzi##F-Sz+f z_4o5KTo8A3bQJ2ma^;H2f-q3{EQ^Yc7Igaa=g%5G76!AgkB)M;Ojx!oEnak)-`p+% zFE6iO&*#^3upGL)++WaX&YU?ng2PUpJo#nn?p?cVY;2Y+S;E4?l6G#6q`0_y{g&Ok ze}8#-SxQQ3&z?O^O-;Xk{odZ_xH)$&vQ`{rMU;WzKu1ba(xL?mCQO(R5FC8D zm~qFmXU~@V&-e21SQD|4Nn7#@n@oz4q~eqb6B05qe#m}gVqoK6#=^kBATiOx(z3a^ zd1c6}Z*OmJw7mbN?ESsFSFVUiNSru+ynSkdzLmALpi^I8-?eMk{>o(h{Pgt2{%)ZM zaeJ#=RfLL*iuQfhVPN>n$f?c1&@l1Ti4!mG?XA9e@uK&1Jzp=cth~Iu+}zr)udbe& zs_hI0x;i=^PF-H^@6K`b`0?q}r`uP5J9FT`g87Tr#O^M;xhZwI-`rhAPrXu8Q@y=U zZ%#iSwl?bNqeqJtEi%$kXJh#BpTpLEDigyE$I{Z$va+)O|Ccd+xcuwW)9(HI>wSED z5)&1B-K6d7{`~p*x%}N7O?`d;__aHCR-T@wYiMZ5!jyQlOH^Dx?#YuUPaZye`QpU^ ztuym%tt~BYUbrBzf99$4=kMRS(<87bKx4XIEEg~D*^?(9K6*6EB=gds0xCL1z%{4aQb(0F2CAUQWMJ4}>Jb4d9T^y+n?aGp zFeHQ?CzOJnpRlF)`MF7xgu>hz4=D7?+uu8XKA*$7#Twi|xZT;?d-mM9v{DfU9=Ecx zvYebZ7rt?pgS}gplA8MT>C>aHG#Dfd^!3+&`0!!jTj6&bAnlHAY@n0^sspnpkRr5U z@r@f1l9G~P?gzyb5?L7-7#!YnusAt8Gf(DPxpE~7lVe!eG_R$PTD8O0CKU4NXjr6oDlU4EWF2 z|65yJRK&%@V`6IR%E8Lc9vvCEbouhj=KdZYH@4@;r=_XQ^eHPYE-ouO_Uq2h;^kAP zUcI}!{Pn9>IXO9Z?%bI(XHML{8clWe@~^K#ZEbDW{JgunykFKjEFxmXf&~wrK21$b zY;50>c(^V5`ntlRqHWu@{rdfTeZ)ql>`i%ht>on9O_(5H!^YI8prw_Sm9=WoqD2cA z7XJNJ%FfRIOTpFE_3fKC>*DrC#mC#Hotd#u?`R`4`=Z5*c{lCf=7Z#p5bB0q`?Z@xm=jU2a|GD$_jTq@80(O z`Lkw8U9(YCY@9vY+Q?|r%9StA&9$C0XU@u%D=Uh{#i#GuWhK@7?Co3I{ChTQJbit6 z&CSijc)KV3bJOf~n{AwaZdK@NiN0%Buim_U+kd7J>*~wd&QiVC?%vH!NlD4hzJ2ME zQRSy6&h31OPuIuqfA;7R7aw0?p3Uf zx2c@upwQ9LF=N)OOZT0hK7Jg%J@4*R?eLP4l9ZH`W&ZR1?tgf6v^)Fyy4amXs!kr> z-r2vuz1^O7_s~1Ou8s~F>#`mP1)uqLwa?DXw6d})es;!@4!?etzE5Cr?~BEG;Z#tjl!l?c)Oj4NXi!JUuyA zUtaz3@$vA`(1-aSf3JM>=+VT96Tg_g%-_0e$Bvji6%$>QT3cIvXPf1Idvi0z=;r0i z!q!p(0tu<9srmW+v8%hq^^NSy{rt{xi|cW4aCCHbR#sN-+`04Tj~@m*|M{$Ao-BWM zg&_;4Ht)r}#kZ?3-ZQ&W#vyyF#jMw{_MQiO!j;Qzx2B!=Bw;nJbyLm6_flKb1X$-e zKR21cw%VDQq2ZvgxcKpXtK2v~e)@Fn+O(;hh>B+^Knwk@*O*?k~+V$(*9UWV?ZL_QRknr$O>-zZp^K2@O{wlUT zOEIc^dTQ$P^Yi=r`_+a1f3^q+44gP|V&MPtwRd(DGBGjT$Yy12?dsyQ>R|NdUf-rO&fN1eo0A9jg5_cx&L16=V!kEtL5zLY8)LI|C!m_*Z=wP@kX|d z_hAcb>-gPeZ@=HK*VojH+@2R3FZ=B2)1^z7UR1A_u(Pw1mX=mjTzKO~#52Xc6(5yM zOsW|x4Sy@wzX1XXne3|d>v+nTu2fKx? zMTP7Z(5>l^b6fmE`o%E|le`s&m=dnc=v$_~P^J9IKE~V|ecOTszuwMeU`Sy3_4&Mg zc2-uE-Mhzc-pEKvRegVVciFOKpFVwBut34ye*eGn-Gz^jS(m@Fsrs^F=gyz+?(V*L z@#3~^+xA{FF)@)b&zm!M?%btIQ`h_Znwpr{RDL>g=1k75Et#*cuTQtQb?us%m{?e7 z=+c!dPpZs2b?TI9_O&_I<$4wt5pHhBPM+k{E-xzDRsX-v!^0yvIXNs$tgL(b$(`k8 zWxICmx_0$y?T-%!Z{Myy+{VkH=;?WK)v8r-(>J~PUn((`ZT^Nj*ZAIvg@#&wt}DGS zOj7LOYzS;?;D|f%+WgDy)RLRbl^d*N7#Mym+_GiMqQ#4unVC~lQ`67Q0eNBGNhRT9 z$Bro~D*pcVcJhP?A3lEES^T_j-MYN^sdMMdS+#1Fgxr63j$TRQHW#InCr`>+m*reu z=G)oX850xp#hsI-X~v8h{r%^sYKK2NJNtM6hqAi5`_iE6>tc5&9At`)j#ipj@%q}@ z9Xod1ulvobXj1&_%!?NpI^A2hZ8I}BPp^9?tnN2u;>3$ruFNq`?_0P~(M-JT)|Sld zYinj2rE)boB<#3oz2LRMFM$k`TMDxR1+OwiE?KxGWQtaIO1q5?gWJ;T7jkAxuL@e$ zZ7u@09=A0%9^~iXVK|U?<;sY_v?P^s;jqOZLDz)3AwU<|G!!D z=bwM&(AGMAdU!=eMOj%{yyyn!tgNiR?~5n!$G&y`J#X=IP7TIQp$xzBMWd#68pTdr z&35U6a}~J9?>2STtXT~W4R?2!Z?+OJ_`+tas=%E(*D?Lv!eXlx=UJ5*81`EA@JTB< zi$8I4JTs4tm4U%PLEUf8geg<5T)A>*Po?qdWJc$F1J2ieTY`l%^PFb4*+?*IMQhi-y|c6U!|BdIm#*lG*PLGjNM|LN>VSqV zJPa1pZp<*b6?E%T<(5k3+@o#h=Gk@&SXF=1iE~;Sv@!j=S^hnn1?yhDel6&feSMwm zrwLM0Qfj`lS_HVbxqqKK7pbkI!=spzn|t<^!wpxnVF<7HFJccFtL@ z0}4FHudQL;?R~3d)<1{(92eObB|E(O{p15XQtSy;;wGq_lRX%V)=$gwE563C485a#)4;M|EG>K#3 zuV25`tRYe0`G(vJbw8hqCnqPj1jNL|6cri$de2pPruy`m zGc_L{xh5wsUb5uLpP!#oQ&QLjg9-}`oj9_krKM-jn$@-U?v~8pnwpxbs;c7R&pQeq zf7m;_xTr`-Sorm;SI7EfvvYFRELd>hf@0Xhg$o_s+|qu1dC9YSfnop76)QCC?DlQi zRP^S?#?Q~sPoFyV?fJl88{WQsTRrW_(W857e}{#HY)PLVqV@IW=Jfyne(Rf?f1hJn zoOWhL;g1iAT2s3OqW0D7Y->BFpr<)|MrYc#Mb~VmEbj`5l;s9R_BFP$_N^jQ{al3G zHATt_US3jdxiC#P`opA6n~d`F-~aegv1iHV&6jWAwzjdE<7xl)?b~bDu1QHr6&4nj zmX?OEj|&Y5`0(|sY=%v5Z*PRhm)q+>BTNbk2hN<)(a>12Y?+#ok&%J|gW{Eo7dO`Z ztui&;dcXev-gWEV{rmgd%gZZzd*0H3f17KB!V*6{Il2G;zv|lBS|6V?J(9+0XJ>`R z#oe1fqqe4I%9JTdNlCM2&3g3sacD@$G`-kc=NCuZP*hapQ9XF@;Opz__ZL2POHF-x zaoxHg!xdFbwg_$r%gM=cc4l^3v2&-T zrRB~&d+r=Rp8o#c-W!2B|GD}8-T&nL`PtdaSFhUE{jvC*7aJS<{?1Ne35ky9`}p|y zs=vLNX;b;>(b4YTl0mMnM;{;W*VfkFyJyd}HIdB%Mus5p@%wjwe}DUu7XsVf&hG9$ z{rGtQM#ubndn%uv60PyJl9!+V_xE>hZf<$&GM@DULPDD|FV{~~ss8zC>Arn+si{ks zEK&J9Lt0vzU(V*mt5;pNl5GN2A09L=U8?$R*3UqjoIf%jC)NM^ng0LZ-?X$ej)ix3 zm;28!cz9x>@{fCdeSLkJnwsW$cQ$O?c+e{*CPqV~Ytf=d8aMvB3UDg5NL^%@wuFJ< zkBx<;rLL~-+BIt;WH}g^%l`lS`~CfW{=((VRW7Hy(o$VFO9cpTYh4<~Ew1wdr8{^(IsTh^gNhb~>Z#M63X!KF)=M7UV> zbF#CA1q2>EeVUt_`*tf+uiNL(pSAV%|EHaaX#M&5xw*M{vb(jl_1-;uUbw%1ts%Fq zuaD1}bEeNS{lK80L;h>`?3v@BaN@*?3+*juFGTDpNW33jsN!f+(qFcI{o)N?3=HQG+wd+cs}ry<)|V%FoNDOu6#&^K(&AQC(f# z+qZ9TJawl3TdRwb;rasw%WmAgmOl?PYR=#`dH!EMZCgIRK4tg5h^VMtyLUhC|M%hZ zXXTa`-}h;0Y9`+6Z);=gbb0jbS=x;BpHEH-zghiRu}@kNG`^|U>2m7q*`+}%f7qV* z_U+rEMM`mTajB_KuU!ih>iqKYvHLGB6REdHI)y(!KmR}NjHsxnprBy%_B>NCuq}Nx zWjh!wT=?+X+US|`vUenX=h@73P^kIyW1`#Qhnd-liJC?qme|UOY{Fg1qyE{7{zkF$#cV|cbv6#TX zjm6LXa>BHoIvf-dq6-qu<7djt%5ZXWYHP2)bm`J;^ZZNmFD|eKjouyL_&WJs;@3}~ z4lPSd>VKjiyDP-oo7=kN%Zor^;mLEY%a<)(ns|EsuHC!k?P_kEIFa$}%uGp1$m>0tjw%9W#Yt#PoHkB`&(66Sy^BI|Jt={Pft$=B_LPVrMq@n zX=!EM-BtP{YbDRAQ>U7mnqD|xx^yWiLX1ms%A7ee;^Nou-HVHgdiC_Fs=E62!pClZ zUi|$0JUTjhd(O>IPfiM_ratZI>DjTvB0c^2;dcJZ;WzeFeqQX}9}*h+`Sa(;j~?aS z+tc~h_kc|rCue8oQdL!*IB_By8(Udf*?pU?wY$37bJNnU-MZyf zuk`x*dUc`B>+52*b#-&|^S^)k6tyAY;F`$Idhz@IJUuNQ9ew-7iwsN4o#E@_bmR6^ z%*YF5294O}{$0YU?c@;-0^8Gn9%|)2KhL&XSEu#kw{LM6`1I6URdwmPbLZOH z+W!9j&i^a(`af?^&zrkSvjYPKznNKE-#&377P<*Qaj#l@{#us}dSV8OCw#{^(b{*lg8TKbh+T<^~bi7i{Vw%bI@s!iCy z^lj;qB}a}PUAl5*W>%J$iqPaqlZuLp*2V5#wrbU>R~Hx<8os`I{hF7Dr=+y>^r=(F zdL)~tCiq{g`}^zb+1chCijIzsqN1WXN2OZ=e0|R@_n%)I{i;=`&YnHH zL?%BpB*difk&B_BVM{=E_Uqr@-`~D{TUc0F&`C;4Dq^d;|2**A!^-h=|@a>I}(~GaKuO}rXefsq2M?qy}rIC@*j~+WU!;I`~ zaWS!NTeq%UwMwY-NL=!XvuCefzWn-i`rotv&Fkhc<{BH!D%-`R%+%`S>EXe_!(&tS z=Em9C=Brn)j+DI^&@^`)14Hf0^M2uWc6LHSLh<|S-d1X;s~Aj85zmS+WP5Jk=j!cuGG`hbeWi#E-&|g{`~peaVz+&FUdXlGZ~s@1Dk zuUd6(rt$JstGHH|{rHfmsHmu`ySDK0vB=2C(vp%387ArJ&t1F44CmyWuc(sUmA-YK zTjh@riZgw#UA{cqs#I&HPgr>P{_5}R=FFKhZJLC57OAI1 zG&MDSea~LHbZMU9kt0VQNc(*IwK?t6e>UO68^JTj8+cUKFf{D@qMjJLDW!Ag&Y$MH zL1Pq0j~t1Lipns#b-0~h(5YX}cG1O*yLazyPCNVQ+qbkJIUymVygL>-lRx;+x8vmI zZf|Y9n6c$}zx?S_rye;QJc;Au{QW&y^Sqe)S>N}}*c%6OfchWtZC@;U-HJ;~ zuU@?P^T)@>GYpfJl$AFg+Fky>tD_^~wnLD{l-JkS*BiHaPuIJcu>~~R(=EO}YU`?W zo-dr)@%FFx`L%aG^oU554Fk|Nbh?xq5V8 zl7Oh_)@|F4#bsw@si~-_sH>Nkl)QNPGLiq0O~r?VYilA~TU$FjJ2NvgjnmKdbay** zoSkQDt*z}H82Its-QD~DeCl4cDl01LR)gRCxcJ2iEh?(2;`(tt0*{_Q4-XIDzGcgi zdCM+by}EYQs;s=cw0nEjci*|(DXhNdANT%k`}XZKk;?t`<)yS)&V~&e4sa+6~12hX41-;~Pj)G>K-@$YYMH*VZmd$b|()8=>oU-HP$I1F0x(c@86 zRJ8Y5BFDn||9`LFxg(>fqN#cE=+Ud!u7yQLcFG=lK1r#?!ouRi-(%If`574p(xa7H zj`c`>et5Wj-y_SyM=avv)2B=ciHNxI>FMd2M;gxVI9gF%eSU_avX0J~t5-wA!psyD z9D;&`W}AEN_h7PHUi|1tCp({v14n6j`R&`c*T?P_yT5Ij{c`{QlNvQOH5H1TE{F8_ zwuxDk70xhu|61w$m0~_^r;hIK>_0y~W@cu7+3fxL)vGGIu=6Txii(Og$=-s36Q4ax zd$#+h!OzI=|4Z8V!4q)@I<}O(y;b@7nX0Pl*_p=d`Z-xyLPA2HzJ4_|H00#rapBmy zWlKkQ_hq)N>$i4womw5f{=;@nP0br!9&_f*vE3}+c4zf`!i)le|6aX%b-$#snvKnzeNs*<7A|CzZ)$E%J~zkm;lqa}QoZn`{@3Kfv%PU!;$n9c zJpB6l`t^0O#U&+IE?qh_Z%0sg`0?+(?i^dUZTs}`qhaU5O`A3?S;DeAdDgUP%T}!L zP?|X7$c5|YXZb>w<@9)fmJxjT5V4~`(d_BQ)vL92b#+ZmO)V`Wy}Y!{%)UK5+#aI! z_0iGp=6f2q&z|)S4!(T$Z0@@|JN@U`oIG)2NAYt$r;JNWJf}{bx;^jiq=^$3?$>o+ zKi@DSI(qfWl`mhvHa9h0x^$_eq@-fYw|93}uUxq^_4Kr(-QwG~Y_X~P6A>GG_weDv z$B(O9Ti-r&#wRSy%-;V0i;Igv?m-jDUzff}3S5q&0{c{epzgJzHGA`~s8#ZmawK?5CHTCJiX7;~-{>=FQ;McFn&79!b)P{+tjvr6IxX3jzF>$(n zyqKuy)r%J^zrB%kI&u1RcYC|KhK7fSN5=bmd#|sHJv^;INL>8-#ft}LpFVw>n~Tdx zGdv)`!{7h=_wW2XJRt!A72n^@?djnOQ&dq=QBqp8apT7)Cnq~OIkB;^@l=a_F>d?t z;e+>dz1EhNg5qL%%OaN9f3y@8Cr+JO`tQ%r3l{?F>gtM%KTp*TS8DN_Yt@>%XyU|) zj~+cb-Y*}&yDay7#V@H@3ukTHR+R0OAj31ryljuwFECis zm!xqJT!=C-9JmIVdqrqM5t7>ln&iE~H`VLxsZ)#Y7YR2^RMOV&_FBr9J0CLJo3niN zYHcMDXu8_SU?B17(Z+INzOHDocO5?zVhL)*oTU%Q8)c&4!H4s$01h=)dy?giW$L%Rornq*C@vd9_=1tDw z|M?E9KP_FdWKG=OS)Tc~x8+L5BsBLq1_l;BKR5TVt;P?-gyq`X#Ds*B^7HL$f0cmN z{xCGig61zwO|PChm36E~l4IemTep@hS#q%S>Xj>B9v$sI-Y?J1!I7Y9WMuR=KQ20Y z_N-Z_mY63dK0L^3_CmtN)%EL_FKyKUACeso{d#<7SE;tWy}aU)UEE?i2mUuoOjxi$AvgE!%HZXEdTsA>_!t-x1h(be+?0KN z-H{_l=C#|^{(AEMeLQ%|cti1XzsShQmVlz7qJ)G6ix($nWMqIRtY0qko&7=W*RNkn zN=i3g-?zVZnk0)23Z}cX#*CA3ruYU%h(u-@kt|XU-H>^SQCVzCJyDd3(FN zt844Rg^EruuB;5Utv)=*u6Eas9Y6m3{LHcN*s)_g|ZqTxC{29v;>C@N7Y$2aUD1!< zr_hp>l_h6WQSju%#MIN%X3mxgRSFb*-=iUE5i{V<6^&0yr>(=RQGyJlC|35Fa$-+WH)AVAy1U`NKY;0~mefo5F z4pURppFe-@+`aqrhYtoO`kI=Z-QC$aIdg2Qznz(Byz$W5=pPhvU-I)790~gg97|lao_ZQ`da>^z`)Rw6j?m89$!SuUAo3UAtzDg@uKZlG3SD zrxq<*)Ya9Ml9IBaUZ<)rA}mZyM&`|%H$7{+=1-e8ZN`ip+1J;#^UHtB;bV|!@t&?1 z8Xmscip#(w`FLMxVd2k-%AlEItC9>*&s|)9nf~|BpD$m(ZeRXR#_7bBD<<07r|;jt zfBm|+qKkrnlCm-@E32T>%9Se%3k#n;dls>JsrU4vf&zsW5m8ZRC#Ma&r*bT0Jk$d2MuXnSs5I>%x7omYq7Eu=g#%@_xs1j&TVgJUw{6Bw9|=0hmwAOdz*Z$hm)Uw zzIAzCTH3SQ+w(79zPxdK;2zCJGhgHI9X+r|ZY>C~yo5D?2qsbGm+fUr*1G{f0lEbp!=*%%lJoNkfdtM%%4{ASb8s~kuC*XAH(xn^Rxw&u8&NiQKTm9|k z=JX#ejd8!voH%jf?AfEj7rMH*_UvnEVVSm8simZ(EYSg*(D`k7P)r&`1t&~xnb|#+Rx9Cc}&X^3!{ zU7zPzT>SamTx(}1r?9nAtpc-5v#)K-y&bkD;^5h{y#li=i=S=HzAoToW@aWOC8evY zJ8jxDb-y_V=H~Zz6e>>^Jl-cOEg`XD?b^3*-~Rpd^fW8CSi<~f$yv+{``Wv^xxeM| zNJQ@0v**y^!}Wi5%$YMs-GAPlJ(ZjH@3)WBP*S>d;X=dywd>a(-)zg&cp*Ie%Vt0S zITnIaQoHi++j)9=>gnlmb9ZmsX4W!c#fpsFTwUkGalhYKwu>r;#KhD*KE~_od$wC# z|J;0gdF?k_{Sy-(Ms7~Cw6J)fTJh`ll`AewgF0Q5K&@3r2Zsh1B}2>g2V;2;*eN8Y zHcp#1ZPu(=d#k?}6%~Eke6pQie%0#LmoHzwzrVhJ>I9D^XU_QO{C@Lw`rE_p{JOfj zVq#)9Za+Oe{r2tK&!0Z^ooU3X*ixTxG)*crBt%0)<4d}Wva)hr-M`=8-}}!t^L2Do zw6dydNat@mb8T&Oa#B)+>{0)Aucchv+{cd`@$mB6WF^M%@A#oZhwk71f232mqO-H} zpyRQe{(~_n;R0Doiwbhr2K#A=;+J=gOJeBl_9U* z-rk;@lhe}LDlIMjQDu{UY;5f6u(g}EZL=$Sa^lO&%YXm;*)Vl^)mzYrV)eH-psq`q zv8g%;xO;nZD_*&DNk~TK&5IW|?%u6^c&N3NTU@DS#*q(y!1Vd1>kC zX}Ys*tG7*>Bm^3qeQ=q1*REYvW=jGzSeP3BnHOAN7dvUvBq1Ro6`_}BXPZw}^G(WV zD(^`2$olB%8e!?2s-~Q@{_^F^J9q5J$_CBp&8(4RX$uVv6%`l1zA5!|gzSm)s_N>` zFD`a>b93Y5H=MNq{ zc<7Llp`qaKIc@&Ik$bC3)6$krn>KCIq@dJP)olk>O`9e*(9IhXQBk!;zcQUcP$u?bh>Ep{qZA{=8AMSXWo~&Ye4o zii%(M#_lRvxo(}GkI$QvlhtdF8iYW?X3fToi%QPU&i?-At;^pjw5X`4fW|dyjW4~v zq%v9EU(PtKXWKTjZxh6vUc9}%eX^Rb(nJq4GqZL+StApZBVi1V|7%}(g@#V;@7K4o zx^?N2km8pI2b&F(k9|3l{qp0-kEJCg2J(W6QzlOat+tSqto;5iHaq+EjvW>`eA>0e zACf^6boT=o?HwvAek^wH_fVO%aABg86Vu->g$#9jT3T5CXfo;QuDx<4+&?6h{tO+p3cD^K2_CD~pPXBF@{`*horBMn*>V_V#vlb;-zpM(V#T{Pf{N zz{-%~;$nV&{+!U`lE!I&{(iq-@ds2lyuH8w{@Js-`uhFz=f^ubGVcF*==^zkdHMK& zfD6~IEnBs!tMrfnvlB0KCl-X-uS$aLs3z2;k@(Lxw*Mtzj%?bzO=OTB|j%8r=gAG!ILLF z_luOT_kVraKC)FHC_FsRGdH%{I?}c4lVruP-mT#q|=rSuW%kZ_T-BBr7}j z`T6U92^oNqFD0f#l@GGmnZL*{$l#b{{NrNiHF-_ zcb6%)R8&^V+f)?1zqfbVG_kt6y0&KwJxM}BLK8MKF&yA$=6v11Iq$Aj+oZM8+aIm( z1%r*(e_TGu^Ih{~%BJ34-}Q6-=iBYQE*qonKhLJ}Q%c(*-RNx()>~Rwe0XSKX}M9A zbwIzI<@7xz?0DL8N(3X~CSibEoS>Zb~^R6vocvW>8#Q9HI3!9o!8( zppa;(&CcFFabjR(q~z+ul9KoK)kep~oqMIhz@Q8oKx8neu&+F~tN6L!uU31*-{0T2 zr!z7#ICBeyF&r?+%FkC9;J9%nO>63`88bR`ZS0CTxw*SLJ6B#bG%|Yi>Xnw3)}i^n zKPy+PTq$c`H>b{U->qA>jMLBg%r@(74P<0+0}VPISP>c?K7HcEi<@iC%rM+*SM>Yu zr%#_woj(2YyZw^uckjM^`n2@-x7?ccV-qtT9%^lDY>bSICxw+MU_a8cS>eSu4vejC9 zcI~=#>eQ=~lhtn+FXorG>*?ys%E`HM{rdfVwblQ(M=~<>cum;AWRUgr`SZvASN7KY z3^*wE$DRb-aYfYI~D~G8fMJ6adUHe{QkPy_xJY7SH>|glreK^Gc2CA zZJXIVg|6=I_xJbL-`!Q3e{avh?=u`YOwG*pReygsJ-%*XfX2y_C#$NedV719E?v56 z)v7&v_EcnHhm0Au8(X z)4_e3^z7{J7uT-Ou`bUG4hF4WKHsu6{Oi}R$NOZxeSMFH*%=xbNSNovBqlyQ(ka~j zUgt(Yc=+|dzrR=CJI&tkH#I%|`>x#Q-y2#)8|HgQL_`DzUTkLP-?07pxw+N<{!|79 z1r-->o;dO1tE;R3|NEU^SNCt#s#Wa#atYow?(XjS_x40OIW1bdws-z~do3+5KfiV9 z=fl^<6qc55-L@?(G&DCSM?_34ZN-I~H#1XGrc9sS{?_5~4LVU%q)$ z^XZ9aOF(4g%{x1bZ{NCgnpDt>-?+AnW!W^NuH67r>9I{J+;$F}`8Z4L@go;~}Q!>P^CaPNcK z8WAp4Lqoy;K|&4ly^@lYTAdP0MSAAUnWN@EFD5QdPgB!#VStm9Q=gozSNy^a8zy+D z{QB`@P5gd4ef{-|7A4)?Rr>JZLp3!uj)kC=b+@;Hmh$r4y>|V&ef76DmzH`vIXRu4 zrn|fHv)W&y!+X0rI}gT9nL5>XzFqClPfx9^tR6mmn0&nN@9XvZHx%XYz1fx-%aiUk)FG z(~6}_S*sOwbbJ&9?%ch*@o%s}@G>9Cf1eZd=ggTC78dq_U8Kh)E-voj!-vkdpKnlK z6B!v98X9`oii_dR%3Zs5J&$#p790{{Vq(I>$!S^f;lbtQ{#F2+@%!zPkM(TNzpvB+TB7vy z)YN>nH5>~kO`3G+(xtvWzR=LCQ>KW>%F33Omd3~5Z|9enl9u-N^h{j+@%WJ=U!D}GjH4ZHH%OC#e zuvD2dckcGw+uQQ*?>jwRe|_}!zPfd*IyyMMHMO_5PoKVh;lhQ>mMvSiuJ7OWi0J6u zTenV~KY#wd^9vR%*qD6$(bcT1te~Kv8D}DMa&k<}&FlaF1I*xFV@tM6XeRpT) z#fulezrX+e`}g;6-hBD|`SRt+9?Jxws}xnxv(n zv0>vz#fcvFU#2iH*M!_1qC^Aq^6~9 z+qzX#Q`6Mc^yBBx_SN5dy1ThofByP9ye-F6Q?t`+>As4OO!}79-`-5s4xh24|NHy< z>({Q;)z?2hZ^|s=biQ75sId`sHY1zNG@G;vrCs$WhUESOYC02$Wj|m_rD^B#_ zc;N6a{qq)#YL`se0(-GHu~}V z{`~lu91ri_b=u3QO8PEKZKX3n|BIML%synfuC8|TmKYiV`4EuJ}JhR+;} zKp!6-#gY#X4(=|0Z&&kU!`ijE|Ni`3w{D$J(u=J|3=9ny*@eOw>bOAjg!R9lot1WU zJa~0=xN%5uKmZ2^M}o$aCr?VsK;YfhbUi)2Kb7@WKTbvdh}ys-%??_=e0iC#t@OIM zy}QyAYL8yXPGvaIFDNaYou3~c6?N*B!+{sqe=|K`Xt=m)<;s^gH>ZQjoT8#b-wv=a zG+fj*GYfNbYr7iQ@ZN|^_}Z2&TjuRn>$6z=ScgGcOIO#n@X?VumcLuJy*l6A|cXLBS!^YbOl<#WzM1ba!Vi(ThG&{rRems)FY{{}^V)F9!4-c{ay1GWd ziHV7+v$OL{^b#fpx0Zf+`+NKA>sM5*UcY{MfQF~1=gpfpoh|hD?Atf*Tl~qBC!MeA z{;2FZ)Uwq+C@AQ~^Szo{T9@*fEuL)JyqOmadV71r*T>0DnglqAlMIs_1H8nMAeseUGl#-H@FW^RL7@mk$CB0D?#<#i?zQBm1zUyse6H7jmU z#mCp{_k%`0-`&~y`#Y$W^8b7J@8FMd!;p;D%FS(deSy{<1Zzpr%{*?0f z_dq%H?Af)87CkyQ*ZO$B{PE(0ah288-QC^0ckI}*ZCg}S6lkpY-=Cix3qcDNKR!CT zZQHh^M~{}jyK~Sg@ls`CVq#%oVO3R?lao_S%$)7pw|8}&dVIV;H8pjk^sXCWS@-KB z8M1qqgfdN12bm`XW?|F81`yM??;^*)0>f&;Cc5b<_GI+Uw)4qNCeuQhyx2yg1{ky)7 zPDnt&jh)5I*R0X8+l4fOp1GdiLO)_d!uNM~Z^SyESqWPUkT1(zTU#qAD5$Kw_|cCefns(xTi``M8u6PnU~Yf&+}EA z{PAx!GZWLAHEZ6yeY?>@KW@*7J;i=l_snz_7fff}aL2c2WYHl$xcW&JR?RmSQ z=<0fO%NCQGLm7^a2d}IQe*5N)jI8W@yIQN#S69xQ@yX20%=xlvm6o{p^jo*0%*{c? zKyh(#o5KHJuh)NlecjlSTWjjC_xt}pnmupx^GF7Uhz=Je-+4BYzje6WrX4wQ-lx;g&(n?Gwr0Meh?v;1Ru z$Bzo7kM{9D#Y9CVB_+S^|6KU^*u(QPH8nIsLP7#GMAQoT-fd!-Chf_o?bPA4(8bNI ztGipdrR@E^wQJY*`ldu~O7Sc${W{Y)eO>&1zxeoo0D=GR^#_|+7cE+J^ypDxHJ^a+ z@aGR7zWn;W5!BGw_itzMa{;Gi%a%n(M*jQvZ{NOs9Ewbh0+N!N8X6q}UcSD)-QBNe zzOt?U<`WsY^ZJA7da+(g6S=s#Po@+_L`a0ac>VfxTRI~{f}&7oN=C+s4L!^ff_wJt zi73tfb7rQom6g?({$u^}_WKqrV5pxxf4+U)pCA89jvhRin3S}s{QbSRx3}v@fu`cS zr%xB3ozt~))v8xJ#TwVFS+jbz_P6ro^W*kZ2uew1rKdlC^yt&Cuh}{0(=9D`-nnz< zUwK???A=S3nzrg{XedlRsUpPbUtcZtC6#fF=^>%8%*;%kXjhKZl$0mWo;`XQz6NeVkq3+uGRv=>FX<;S=?h-K@P7w50s$)4smG8@uF`-+^{~Y*@b7z5m|sa{mAB_io&< zP*F*_zpvKS)s>5jtNh)ai&w9{tTV36?FJ5H$`}?b_tJl@l85?gt+|K{l{pIrwr%s&`6A=Mz6F=C*x^3Gwj)l?N z^L*!8ecgV)?)H|<%V%a9FJ8QuU)Ji$vuA4h`tP4VKfdR4r?C2|6DKmVvbJsAx;APn z*KBU<+*?~rv#jrc{5fr!SYF<{2@?d`toZo&#KgopJ3B+PLL(w1;zeS;y}NzXKuN~S z>yiKKsyLRo`>C@Q{54FCj z6a!DCze!e6UGwYLukHEwm+9Z!U%!9$?C7{SIeYv4O-)SSY&*7XGuyZ2GUgEL(j`k; z1Rgznc=E)F6Q@pP<>Z8fgt%}#^zCp-Dk#{{-|rt7IC0OOJu_xRtY2(xVe#N|z{{_{ zE=-*@D+)B=TmJWWzx??VCtkdI_2|iyl*6DV76U_qys~DZsJQs?`8y7M{P;05E9=s9 zgEjN@b#!{xu5S}qG=KRa(D36U&BLEgBp>ffy|H*wVo7D?&$#9{Ul(dCDk`?6|8#YA zed&GUtqudjVxOFxHGB8k+N5y0NrDF0UOZDj_^9RUkxt=_8#nT_1~2zJy1n`E-M!V* zeboN1*ulWiu=elQ>+wAD{npmj|Ns4d|MK#3Zca|#w-LU+zWMj}UA=yNdHtKIj=8zH zadC0$`PbK^7c($8==ew61%pUwW(I~Hi(|)*>BsGvVOwn$_vyhwW_9)Dn>KAyl-CBY zd|h$9^?sqIre^f^JY6j}>t`eP3>ETeghtcE#V%&(FWVxA(Bx z!R_0&?W_O4Z|`1N>0RsAty{lg|7J^u2g^+-f!B;2u&}a>eZ{-+S<}mQWh2#lO|8LwzfWe=#Z3@)P{xrbFG%H zU3)kC#{HWz3?D8hUAA6x^5jYIhO)fBfBvv-$-eXb#cPpEmoBYYv!>36r}=~J!;L>z zG8)X9F=IxLv^ih=7i9~Ji16_6*x1;}NXgy)Kfk@bed5Fk-RNywwr%^i`Fux5$AJR} zdU|@Uua6fO6Pq?|THKC;h3Q*AeJT&F z%V*!`@G<*LEyN{;XauDo*R&YdMo zRFo!qEDW%#`*Y*GoxDwjLH4yZhYlS&a^%RCEn8+9ryo0d^y?Zowg2+f>2m&0zuErF zofetKC7#OFs^P35`$}r^q_)|LPLuN%+r>IhW?K}v)I&3*!%frK<@9?ZNoRa%U0EE_fFd}b*d;sLu+d)sO_@ljq*eG+5hdn zeEs_K_itlGfyn~(_5TC;XZ^I^#Udgil5>08+jDcRfA|#2+tm~l7w;~7+}6@^WP`1S zhK9k3ew#iM6B83t)4A5=ex9D33;{twk6ymyWJpL$6B8AU-BGY`@?>FY>D&B$O{Lun zmo0NER!=)~;^awAUf$l$&c^MRE?ugttJ_`ncGddz^6o1II_7tEcY8ZHIK;)p`TF|S z*Z=Pl)n;ILe{XMdU|oXR^LzL19XsZB?C*q=DHRtlT?&efMvk6S-MSTYG)%?ro{3 z#nyZ{)XE*dzfQJu8`p}aC4L$o4CAe>tc;9|CQY8abLUQNEv=fG8Z9j?jiRJl_K58f zS}b*S|K#6%X8-x=sdrwUUfJpM=ks%NY)W5UDHP#s{BhI6%PT4(B4$^~%3Zsv-rm|8 zyv&D@LB_uB&Ye4;LrxeP-o499Oic8VKPn&~a6mpsOILTUb-5mcgRie|K!Aas9$)p9 zn>Q_;5^vnN(bm?suUgOk#-HgeGiOGIhKl~iCJDa#?&z@ViZdsSVd-CW})7SfZ ztHq_Hyi|n5_2YQFXUv=#8yl-1yQ@WW&ELO&0|Nt(_sK54?jII*?dRv`v9Yo1V|TkL zO|-GK?U%RbyX<8sA;mCZ)+{Me(W|#_zkcu_AwAvQ)_vCHmv7(l^77Vxe8eg*e}7l$ zYYrBsQfH<{(CVX{ARYq)0|5a614F}=t5p8ylquWZZ~KH`Kc+Iv(0j) zIxBwUN%nYe){XIWcR#*k$Bt{)u9;?EivX=2XH88{KYi-dub)3VJ3D!A-?@8N_W!XJ zt5@INU7qjk%zWj_#ZKNM@0(}Oo;`Q&-RtY)A5PR{Xjro3$zu0@At50Tl}j^?(=)Of ztE#F@O-<|S>a47+PM$oOe}7*q*Xwt8cbl4+nC0EsQS$QAyLa!NJV`M%-MY8>d!NfB zN#isVGqbq;b+xy)WWIX!>i)0tkLL~%mnS^3BO~1ddc6c+;!5#I80LY-gU-L>}g^sG2-v5q(SqZ`xSZMwR;+w<@9@$$xQ%bD5P*|~V};*A>( zXZqaRk{KKudv}&;c3W=U^K-IY=4~4`Y*@T_aYF+`jbg&IC>FQ!^6k5K|DK{5EFvNT z>h7_!?%lJes=C^J>F0Ip^wiXrz2}?%v-zxIWo6~D|LoGzvo~!r+Vk)C`~CGxZhJP) zoGIDpP*7Af%QRa|=i}$kn>TLUS@AI`Cg#q&ySu0BMzc+|-xKQ*6!huil&5j)rK0Z21N{{~i{cUDu77+dP@nd5nqo&0Ft*xya*HkkwSXx@9rlwX1 z%E^HakEyS(@6w+vpVQ}{Ai%)j@K5Z`$#36Meowp}9v1fP>({@_6cso*Ip@roBP%QW z;o8-!S5Ker_ECF(W8>jVmxNYt%f7y@^!2sCEpOkxookfpm7A+O)92f#Pn$MxZhopF z$GX=!cO zQ;dFISsC2b)g_Yq()akWW6usWGDlRFmz#f$kd&0<<>eJ=6%-WQwQJW6-7BlUe*G%0 z6Jb#M>&wpK=XF0mFxu@Zc{yp{KD)5XM~|kyzP46bg#Y!m7ymgpIVBULf1D~SD?3yq zD=RB5E?yBE5OCnsDJug5gPh`5=59qrn|gY9j%Ll6ITJMZSM~B3PkelQYHBK*D1+pY zNy#s5bF;F%{Qc7}+_`t}-o3gX=O53n|7V$fZOx=fLKW5q1_kf#>^yeNt%AEbFDXAH zLQz-u?d$97b#-;u$L-C^&p$55%gZY&F229^_qP4}<)lska!zb+gJJd+27ya@0*y|JpBGRSmFNxbM>Sui!R(|FszjP)(qOE9TW4% zx7IIaI)kUDXIxxdg|3PUOK^g?h{%+wQxolG@$&Ls(DGH9sHChs-=^}?l`AGDCN4@7 zSFK*Xbm>xWZ*RkDD`8<_lWNBVk;4-vOjx#T*_JIP83Bv0^D{Vjd3i-d%!u-1^9Akg zU}bO!55Io<_UuD8?)g@Ab#?33t&^0LWMg9s3kxfLc4nd6bR}(N=5KFq9zJ<;=B!y& zA0Hjfx7zCNZ?h))Ona!8SJsnURaMoEZB0#0U0q!_zCL)65FS3gp@HG?vn%;LEVe~O zMepwK|NrW$_Ktp5hJ@7AuOB`%Tz~lR;qC4D)2C1W|KsE0wl=q%oHtii2Jhar%g4v( z+Pc`;bLXBtd^k8ZcJ7QBI|?2i0&Osh+OlH%_HYl64iA-kI|`lM-Jf4s8O+cyVS<34 zpP#$CySe%H!|nXvzkU1m^{c3;Xk}HEoNbi|gTs3NSI;UQ78e)qulws|tI5mD`=`^h zN<~#Q_r?ZCAD=bbw@;rv+uG1DFf2^WYg5(NS8LYjL`L4!4qrE8#*B#QXmN4z&6_rv znVGeunkik5DP znW?Gi-#V$>0qUHQU3e7dmSaWEUif0|FU&i`1~|QCWZ-f=jtjb zELgkN_wR}|YtCH0Y;0+H^URqwyLaEda;4<`y}jakF%AB%uCChJ+Kddl%ir5oe0XrE zmHY9dM=mZdM#jdB4D;=3oBX6MUc9(x&mKcV!%dquZFqRNo&Vv{<^JC;)J*`N;Ks#Q_(@%sAu`_s?M`CNBb5a2jcVOUrjk(rd9 zK7H<7U3GQ#+ABwn9(~Amd$xK0nX_j>6U$7E7cO3G)Li-O*|UomFZ%lWGBhk&v}no{ zku};CU$k^|bc~FIf_q+kJFiavevq{Y|7#AKdbt=GT(pFhRL#r?3iT(@rBhopOZDtGPLwQAKWhK84ymwS79 zI`T?4Iw%M{K7HhF;?k3+rfO?zX({UM*Znl zUb{+Phk1B-)YsP+6d05im@7@pNKOuph|tj2w@*Da<V`u>%JrK$?56(@^&=`_RanD>C=W2_8pw3 zSwbUtd3ZKVX=Y$BH#a}?v*`Z5+I#oz$=lUDc=l}C^y%&Mm%4U~UA=yN`m|}EK7Q2H z)ZAP1v*_8GnG6hJVb^Ax=U=;WrKGG(OHf8+mX;&k;`$aA772fx*!~8bSiE>~ z^WM#pCZ0Y%S1w)z4RF4F8yXhY_K)GmwlB*bzj?DK?d+^akCOQKKnIGv2yp-{sebm? zlV4PH>Xt1gdu0EgmS#y1J%LovJL(U)C+pq2;Wc>Ai8% z@jltZCj5eef_t_oXZGziw6L_~=Hlw=?(TF^>Jn-=e&|rs?AgDMbPE6fegFT4L;LpG zsi~={sxG~7A)q2ifMLSq$;_X9FD%}?IoR8q`(55VyV_fa4?li;d%FQY>$5qvudl7u zkKb4G?~mj(X(_2mE1Mb~EzIyc*uR5i#mbe1#l_2)EZMMmbMmL+;^O`zIZX~eNZnON? zd+^w?w$@Hv9i2OSDvKQ*8&|H>+&X8!Xz+5s-mb2wty!Q!*h#A16_u6VUS3Md%9k%) zTC;ZT-#>reym@oy?%mU;Pd7I==ik|JaKY*c6DC}`6r`=aS~Garot?$({|p~Icranw zG(LWQbpZ}gXK~V`ty{NVUl%JZEWEq=`@7fI*MI%`Rq~7H#W{~A`)$nq?;8;j(bCeQ z6S?Wg*|WWqCmUN^@7}XV#%h(4z$m?WAS86iOG{h3 zw6rukJNx#nTT`Y^wY0EcU|73$t(uw|x0p`Frzf1^;^H%X?CSpPm^$_9=jZ23OG`ng z@Lssk@Yi7K)TtXcY)Fu1iH(g-O-+6D=+OePqz``z|sbQmVjsf}P}X6{|NVCV8C3C?HFo_TtD z*45SZY(G_3nUHnu$B!RVwZr?i>pbq?y0tVhap9INU(U`pUmvsc($%X|XU)=5R6Ka> z*tbVVxpQ;he)#ZV(xgehzrT-;j%H?vh>Yy*>Dll;=}rBKe}8}L>goy$3F*b}+f(uJ zQAY;I3GuV23= zzT-?wdv?5E{`SqAs%mO+d#gfYVn73FS0)AA@$&XQ{CT=SY;5eTjgA5xoJT)CKHe{5 z$>g8?KyjjnoSaDj*BT<83$Q=7JKH8nQgylvaIjT-|)LtE{4i|fTm z$jIy|c_~yfDKRPO*4FIl8#jJzWM*ez`2PO>{XLb&br+1&&mDNp%+BZG>6v?HM__O; zXub2_zkhFNEL*lrOiV2O{JgsxlaEi;4&U(1&(E*?-JL{(m9u8es{H)y>eZ`^43j2J z`oLN8=g*%bM~}{(Gv~_HtNk*Tha%XdrDwNti$_IA3v;me`kw8Vx8Js9%bgvCi}&u8 zZF{$F#flTBPah6?Q1^O~;<28>dx>{9r=Oo^TYW6NEuOOw1U`P8mh`7_W#sYbF3y%c zdu)9DGwkg4H8e1EImyY%?fA%WQ2MkC7-+mYKi^({zwyIIkD8t?mG+!3a<+cL?(+9Z z*K=}m=79l^%EBF`B_&6~kNuwCqncv0bLY;=E5g!B#~38mRrj#R?y1<=*x0y!y}r-M zZb3moL3#Q3pdh2#U!dtfUteEY*}0*s!x$Ot>i@}ziKV5cnwpqwNjTWlEw2CX^Lcyy zxIGsxUp~CMkePvlh3RZQf6wjh`Sb1T_bpi9;O4e$`SRmeu6+6O^0Gnh@#p8~`_Hjp zv=5uE9}k*H4XHeR`n0i;(T88zVPRr+evf)2jo-X^V`OX`z9ypZ?X9g}Utf>kS;YG9 zcW-ZR>(7!YQ>S{WT>AR@y5#8#7cOk5|6k|tf4;GiQCfQT{{R21)zqGyn5aD4EccMz z?|wPkU+-Lh@0-r^QPwA5Is*$+(zq_-u`1!GDfg|4?9^N!Eld-Rh@%HB4 z&&019`~KAj`eH+`P2G($UdzR=T|5yE{7< zFJBHC2#t;9Wtd@Io|l!S6(Y9WZ*JFLPS9qHjmgJ9KR?gQ%X|3HAs=7gkIAfTY)N)& zwr$%My*;mWvXP0&l`B_DN=vtH-P-E^`0?ZG>teb2xr~jC4otsmLX#l`hw^HGBW-m=+~Cp#A^&17dl)aH}|)1SSEULL=ozv<-2$5)~@CKnr3RcwWo(?ji0|izqq(K zv!s-?^y}BJANFO&#m#GKV&dlJmX?;b-TF0JoYyeTC!lrf(xt6wTmA?J#l`vQ8(wuu z({Vm%TlGc5z(9b3;W6i*iuV2IXB`$`VPN3r=Py~o-RR&W;Nt2EnzeoZzQ48T^S5u; zE?oEkJ~8Fu-sI#CaD4y;NLW?CySi!h{L$-o3l{O49An?`vUPTwJ%e z=l_?q4ZeKg!i6hWT8;`g9NeIA?b^D^XC11wbr?}Oc)wAY%mb(5@b+NS8spX z$H~XHulTv2udlC%$BBKlzfDX{Cr_UIFs)_Dk|&Rk_k#`@S5hh|0hQVbKH7$c8y`JN zGBn)S(a`}qOytH52j7WFA{~<_Uw-gFVOlgF!-3<+(^FDP9v$J_|6f@}rNu=FG+wNs z!SPK%Lc*f>na_?!Ek(t^kPsD3O-VVqxVSjJ%bu4eGctfiikjK^)l^h$YJY*YqWbyy z6`Xqb@Zt9S``^BQU%z6-f#bSAK>^4+Io~^H%Z=^%@dX7Rrs+oCxqJ8b@89uzt5Va_ zrcIq{sx=pMsJprO_vq-r3v)C(fC3=J4Umw{A&ENc{Nm@$s8C zZvrJb9$$|rmS}2F3ca-c$o2K{%Y9~kdU&{f;_?KAi5@d&&fK+YR|H>QprV@Evj+#8 zU0q!l-%w}z*xkrqY?yj#%J1**AJ0EG!|?H&o0~;^d3bm}w3+HyS{^xbh9@n@&%+~P zW0I?%AKy3C%!~{VbOzHs3}7p20FkB)9g$;dcy?AWpE*TbWurKioY zsob=9@!{*&zrVb^yq#a(&)fU3$+oH5;bkQy1`~+6f#26GTjpkH_0>p-qh+pjdD7`a49v{TFTUxisHEiN_^1f|{Q2|Ztl%#;FF)-| zOG}&Np`xY+D()&PD{G!@exH_+@#5#_=bxXQZ9ZAb#tz!Ozi9E|jTLwAYc1^RI<>;x zCO0=%S3_fgp16p}62GgC{9QAZ1orc9+qTWR?9Gmnmy_15(>vSJecvTEHWoC@R`H`> zg~jpDIiHx;t^4-fJAOR<`@6fmyu5mPdUx;MeSK~1>Q$>|*;a4cym|BP-M|0-{+@n* zUTjE+imGa8VBo^_>)$_pnhM@&HG9H@2Tz_HIdn)#RkifjmzS%<*E2Ev`u!W+3R81) zcYpozWnjyzCyyU9GhC2fv~=myb91eIeSPEN;^Oz!eEjxJOh{({T`+uM9+oB0L>3E91R@xr41-=4X1 z?;dXFX9TsmEiEkrBxW5Jk`#Pj9nG#v^Q+{WA7Ih7UtsO;^1)L(o%2t z)#nozzMR%DW6gy9tks+L+TN^t@^$LeskODW`!hK_oSc}9jf-=0b@zbIOk1=_2|P+| zWNvx<3|YUnczc^-D`z+js@T3597g-tRMmgM+K8teT&F z1A)W!a+VerLPA0hzJ7ds{N~M@zkmJOu>9}ezpk#Xsi~>X&dwW_Y~L=<@ZsTM_KMjv zXU?29ZQ9(qcduM&+1eDjGVk7=nbW3)MMhehm`s^A?b_wb&7m(|y*hRN{BgTODMpnE z2?}U~+RHT+XZrm6^whhqt}Z?O`Ptd#p`oGeb02sJKnAayBM;}8N3?$W^y$x^npZQ8 zB$Uj|zD4g3eEIS2{W&}b_Fq-!;N;}|^y!oGdi!0$KR!Hk4hXoA@wLtH&GNb@e|okv zG8vlj{C3pP1A%|b?9|`!t)4Ms#+EH6d#+u*`t{p4IVmYEUESCX35;Rs|Ni_maEQvx z)J)?|Pf9veCVBPhRZ~+_Wo6~Pd-onbbZE|;ISW2ph>M3;S6iPge96nmFk#A+Cr_WY zUUzbG`v3R4Ji~$W=g(igYO1V!_`rb!r%rL5-t5yjWr|4JN0o^l6DLmepJ$Vql_e!5 zr8Lpw>eZ_^QVcWr+z)!V9rtfHtp4`q;lqb7U%u?@@BjYcL&e8OtrI2)M179$v@Cx1 z<@@*T+qNC*$?){_ls3x|5Eg#@_U+SW&-{FRmfUl(;MVRtC$- z$rUJ9mb`rX*4N8x)!Mal?P_=J-1*bvTBXiH&A7_SpUv$2+j4K4-MgeH&=HvMNNbI( ztgMO<=dZI{wr~IZ;lqXv8#p*P9!#CLZJXJP;*;mk_v`29=eKW5V`yk^Ki(Acy@SK$;%)?LC`S=y3yMf zn98qT(Y4qkFmPf+gM+vC>4%5g&z?QIa9dP(`1Z83vv%yTC@wB$H~{iY{=GSK=J;F` z`{l>LU|0KV$;y>Gb8Z^N#@>DLA|o#D-i#R%D;_+$dVJF+BY*$%PoAV08*hI1E-yIv z^4{w2Nsfn52fh_r4@HHAZL9tLE&cpFNePK9+qb`d`SRkIIozC_3uhj+h7M~7U6{Rf z&YU|_wZlOZptEQ1PCGkmYxZ@g{gqua{bc;+SS(z#rbpF*ox#P;&CS*IZ%@p`ty{NN zRaF@o8L_dkwYIkY{{G&+`kRi;bYsB<>T#8ol^z}(wymWqf=-}5O5&rot*_p_YkR20 z#?J0P-;Q^`%-OSN^Y88X`SGzkgF|TO)wR*vr|Cp8onE|n@$6Z%7#P5}HfcuKfBW_= zH#gVM&yQPN53~uX_1(L7Yu2pM)6<(V@5;4nY=<{rlx~tkAMoapKYjkZzlxBjiqKiL z{Cj&0&CUP6UcaA%#mU{BeQ&M%tN?If$iZ@Gvbw*U9Sg&PRjax@R1P(N$T%zc-A1#c zv-9KEuXnfQMi&HCe`{doP z?mutEs#S;hbea0a7Z{S6Sy@>h zK3@G8bQI7>_YIRLP1+FiD#hsM$H&JV9UU)TycioByWzu~oyC`z`JO&^&aUjujjh?& zKYjkZ+;_H_iAl+W1B`n_ADx`6ZgAT>GxO!j;N^C;zeEHD1w}+y{x3>NO_jB+GBGoo z_Gs~y3l|EWo|?Kj{rt5nR}xzP{{372?v7>QBNr#9LmPg!WOQA>bgAg^vEFar%63SJ zii!rTI(F>XiWMu0pPvg22|4gy-si!yXU|rLuWxHnmTYwBQ57z44~>bjQB!;N=H}+LYu7qCIemY3mzlxB+8Q)E?djRDdV1^DtkF?abo_hz`Lkzf+1az_&GS>5_~YkK zR~HwzeL5nxmu2QQO_blYX~Twu)YP|c-|A{(&#^%|xXMg|x z^`54anVG35z>%4m`Tx&n|Gd0)9UUBJI9=2xFWlNVf4=-N{*$Lqzkd1h;II3eQn}Bp z42+8Ub>9Ae%#MOa2ZfNZFwiY0aeIFqZs#w4b_TRYAT3Qz%y`AprAKevsQCEkC@(Ls zot<63y!|}${J8Y=<&dG7i4!kw&A#3zV>xN!#DfY+QobLfqM|fbO`SIF*RNl3yGl+T zIg;}1%*=qq*4b-51g4}sX=3FD-F{a7{+_sg+?koi%h#^;4G$0Z@$qqYe|~AH_uad9 zy{G9&o;G&oU|~vb(ptmD#@5-{X=P;<8XCHH@7`0VPJM8nGIQq7OG~}m`Q_KGTsd(v z=*X6)uaS|Fpv{lL!Iy8|T)AXPNNjAc`C~0jO-^p^+qZ5#Y6tZ&e|^bJPEHODy?SM3 z@YAPH7qZU0C&0$W_9J9tUS3{pZ7l;sdirzI>}w+8;>8688k(Ap+-mCT>5h($g@uL_ zJwgHkCQP1uczf)YjKJF3+RRK%d3pIWOze|izI^c_Vc~-pyzUn__x168eIc@B$r24M zEu**s$h<|x*`r5QwLz0xT=}3RcBVpA-AG4AC;j}qxt7Jx9v|;Nd*;lQD_3^x+!-7c zWbky&=FO95&z4@#eQ#Ik>(kTq=iAq}?VHrr)>dFFbnnuc+!affh)79s`EO%n0G&Hj z)HQLziWL?A{`~y+uTCQ7-jmi;3khx}^{4S)Xp*<1bn*pVX@RaJUXTR3*H7|eM2 z!>IaO4rCD6xt))ZK`(AkMs6@3s9#zsd+N6>MGA09L|H62>y+P!7VmT7viTz~i5+S*=UA1^N;aNyXnY4hgAMMrn< zR4FYjb#&(jO>-vY=IYw)OG`~nO-n0#c1H3?siTU}`@6f@zh5bTb7N!i^K;M7&u3?6 zpM3JkojWmMVb}KUvkMKq3Tk@X**SUM4U?n7Vq#?_B{d%(v2K%cb#--7GBh?0_Vwju zXvo!awz9IyySs~3*U8q_);#ad4C8b^508$H4v(}nHDTf4@Nn@oeJN=Vm7u~xL%X{g zOoovfdU|rDo1Z{tQ63gb&WaaMQc^N0KVhJ5Tw|2VaG;f2JSH|aGjC=`XXizm1rD|> zYCu(m8v!w7PnFSy@?S zWo1&5(!PC5mZX3V;Lg5&h=5ZF-k)JsoqUFqvBf9~8l>+*MZ_Ew8e z3l9rhwrts<&#gH*Ir4Tj5(^K_nmP02(W9jw9ynHbs|Y1pZGU-rxwx3vvnNmX)cgc3 zE4p{@Ui!H?g@uKN=H}0zKJD%AkKb988WC}$OH}*8Ic)~esirrgPM$iIbl+*yrcHbI z?v<65-LP!J1Oc(0yT^`!s*n^TOMU(Gr%rKcot2T1ssHy={jty8FGm)y(^OPs+!{J- zZi2lz7Z=xjyILlOJyl<`US3)nu>IM?hlYlRk|&M&#F&|xw}TEg`28({ugjrFZ1KNb z%X4;X8XFsrgf@xa{3JP9;qwwF=)#0itDhdDktjph>nQ5$U zZZ2*e=J9sp*&|0<%ERO&BpSq>ot=Ly?uv?vS{=5w>AH@N4jUU={r|t^PEJkh*X!ST zpOTbRR9?={&7GZ<<>ldVpgrKg_rphywA^)i$}cUOKkXow;p2ZN7HZ0w^8De_U}-xP zu%qPimk<9c3knJrYzXV{>{`EG|68toRL^I=*Yj+vzrDHn`SY*xl9H4+ygzR%>FM#U zZC`v&fB!QB)7KT=A9){~Kg`ImWa(1F@BC(FX8vGM!`h|8pr@y2V!ry>`T70))~)%6 zjvp5n5O4^b-`>t1&;Gurae6>R#E&N@C*N2*b*kv%oxKt{-vuwsGz|$g{Py;Cdu;HT zl1B&5p50sZ^;NgH{xxuU>!_-4W>$82neT;-yH~Axb)b>?3h&V)N3ycA+S=M8A|ihM z{#{&Dv><*N_#l--|Nj17$Q>3RA0HVh$)KRGpMPylq=BUjLxYc6@;&!+=g#fhw-0ns zMnJ%Y%a?y&)7-LU%btplOlCfQe%CHtN=iz)bn&96kI$E{Ut9GUzrVkqF5}xXuOcQU z=ECadyJuRLziVdauc@h7;O$UVWo4(s%+x61t+v9OfvM3!q3!71yS3lm+|0?z@$>WB zaOB2~iu?O&@7}$uBBW_*I@PL6h5>Ye(V8`DSeP8Wy|ry^Wj|l|`t6&aukY0h7Ze0I z?%usSbLPx_`}Vzh^@^31RXcp$9Q*oxJv~0IuC75rmp(o|o+zxSs90V7`@{*4Klghk z9zK8m{i8>lDn33scI;R?zr54_OQ4N!`)aHI{rTzU=C*R>%0GYp%r?tSy1;4s@ygY! z*4Easv9Zg2XKzb8JL|nb{_SnK=6QD_HY7BzTbJkM#l_EmzCT^VRYBlBdr*WR2TRhX zMGF@S%E+8Kf4=``YjstXmZs+3s;^!B{h$nMXlVFhiGtl54RP`7pnEJ{Ut7Cy;ldRw zR($$Y^dj%vxpV)XoSeL6%a*1lro6m&wZFd|JRG_XbbaVHO-;?MTeqgArMdUZ9j#ve z_viEZ8#ivuzP|3L*OVz!w&mPxy1OoNGu!I($B#dM{rdFDlbowrSy*n|zHMLeVZrw8 z<^~1=ZZ;1dKL+(Tyu4PeT>10){CXW--G>*=t0o4&>{Qp$`Sa`RYxjOR!A_T~l^^y7 z+8CLdzJ2k6fx&04m8reGy`tj6&6_{}`uh6czkf3(>oGM-B&)R_l9G`*bLh~f(%0A4 ztXcE<`T58FMalvkN8ahEvE<@w>d2$%Lh z!GAWX#l;|ZFf!=s>Ykrxd$??qAjc62V@r{1pkNfdf9cYpA3HQa3G7(gnl)=?%#e_< zOWKqAGjhl7-QFG^9NgUMDk?8tzh11chT}-ZN9mo94`}#Byc1(9{rBs&e$B&+i`{#B zdy|us>o+whGkIm?&u>9DuWAOQa#~Qj!jX$UnW-aZXN-f!xC#%&IhSuPMsPW5D-vSwr$OtHS_1omuW4+94n6~4iCSceSO`*Elc<9105{0;pEB5>eg0P zHMO-5*ETjXo{0jDEEt19aPVdO|9>VwS~+3DgpC^wCwjQBvkGvqJi5Mk$r2Xs3&+l% zU%zze*2>S%5`{&K8(frhqqq5Zc)a-Z^z@fk5AN0%7Zo`5>{5oBGZt`VySldS+qZA}^yzEYf{x5{a$AL=jY}wTc)P3zg|CnUqy8_Hz%l~JFq-2FE1-AOWkjd zfPjES{l6Lq2L`*(6~V!ickTMMDfP5j-kl%+{#Gk1FMfW0{_54Mw{O{UXJ75^ojY%y zKD~O=rb`zu21ZBUK6EJQ@-pA&=jKLlPCGkU-JgLWG&FQ``gzcH{qpkt_5c69xw*N! zt82-UB?~;he*JoTTkdSL+*?z%!~N#l)qZ^y%HU96|9_&gyI#x=hhjYgGvAsTn`Il4 zM8w3nI5|Il_|Q}HRB$r)43FYHOC1;(K*Jmr-3>q9N|dg?_4s&ycX#*0^N-d_4V~VDiSusSWQdID?EJr z+O@eaFD;K)nb4Nx*gvHbwbdddziXV+Vy}hBq!MFF<+cP*s zMMVV%7Z(&vm^#(e!s5n(0}Q`-BBP?j#KqfNS`Msebarz=X)wYJ2^SA zu(Iag-*@)Vp`^@A&wM@Ov@<{6@BhCcnwy(DEbQ90ZQIVzw?BUL=s}4G9r2T{TnWjM zmTPqQGw;HdRa2)<-MM==GebpX<<_lR%irDUd>WRJa9~fx$4B4Z-p0Z zM29)UBo7sTfB%f=^{ZhU56&zVl8~r)abe-a8*GMtb1VYG!`a!DggRG;ufMk~SGwoY zg*$g-goJ`ZLR55h_vYWXoAI)(vGVfClbrcgODDX&u`!u}VUIThbFjMYYwe_(nG3kG zGcz?C9U89t`1t(z(vy^w6cEkI@Z#00s_N>)HM&2ZMcm6`^YHR=$`u8VoQD5kU@#E$ ztE=0$d$)D#^jb$p$H+*@X|Go-T*&yF#mmbpsa~FymDO-*WI#YcLBWRAtGyi@7Hruf zqJQtt&(HVw*Ykt-&x*`?_3G8ES+gcioOtivy~M;sKR-X7J3XMm1WoquZ*CqweE9O^ z%fj;V?;k$=_~>Z2V49G-j~){TD`}S?yKnJecR*C%E6d=J69UWaMt+ce1sqw*+CtvQ@|KGW5*S+24{TnMk zA8zNbxcvIl)6*X}X=-RZdHU3GMqu?XegHA77zP#OEv_o^HNbMyVCkF=xd(ho> zKKGXfc-q?7@X1&>Cie{r~Ux``PCC4=yJk?>jro^!2Z=uRmP7c~jEBB>$4h-k=k0?TsrZ zH+~g0+~*U}diBnoKMxKzL+;kr)zb3v^eikbZSCK+8+2;UlXvgzEG#O1eaSR7Hh%T& zu-q;wPSDDN7cT@vMVD%9-@N(u*6i?v1cg62Q>KAH-yNOoyu5w&|Nrg(|1a9hYt^b% zudc0){_xnnckkZ6-`?JyJ7BGU zxN+Gsw%~}5Yz}M&+jyNUH}XAf?dv<&#w+bN&t~SNNlm%;Ma0CUBqbAh7aB7&e^&Fo ztj%mGIm1daI$rQGs1%$#XU;s^YO~^JKCG;)N)tQEIR!A+?5>#2U;QFW<;)Dj=Cq%f zYlIVQ8U-J{dGqJfQ*TvORae)emo5dRr>DESyU#McdGqGnxpSGBnOE{B9QwcV?c29c zpFZUl*Q@#WXJ)mVD=H}htg(4lSHwux+JVA!x>!-r3w&dsqD z{=E3OJu5>&Vd2SBr-I%KD1#ag(^>LEt3N;M-MQ29j*_pJ*P$=QRcvRt#r1UJ_sQft zY~Qe9N5w~_#}9)4{Q2XeBp57q@I+3t1T!-;Xn%M~iA}+ShGomr3JMH*Y*MqcUq1wa zg=^OMC{0|nc=7dhv8NC0@x1)SOIP~X3E#OLorhUMBNR7n+Vmmm*_oLioFXD5qEsd7 zc{1d7J$n53uw7S#y}%i9fp~U)AEk!&?rv{qXXbdPi_3TIvMM`!@Sx+xwH+NCb^cR! zSw1<`%DrygI?x<(x+Cx7T zM>>Vyym?btSa|H%v8t-7&(F?+MiRBOE?v7e&$2izIr;Ikv$GkU!C9d-r^3@M@0E*> z%(2KsULKw!ceWcQB_$;=bl;yTZJsA%S+r#DURhQvHw6I>7GH^ot75uQA@T9?QBkLk zA78#?$(K)0y?1Z%uF2D2Wn~pnpyB6tuBoZ% z(W4}#i5-^jjW+Nm6%-Xs@=%eMp1rsF`ypRRUEQ_f`f&+j=bG91-`(2!`fxk{rcIk> zXii#IDa>%-?AgC>ZW?o4*4~;kXG%3o+W6N5!0nhmm+Mg7&b%1i#Q!XA<5L} z;FB@oP#2UlIcP$zof7y;-woYxXTr0=wo1 zU){Pxubw^ymFU6k4h9Uz=4{@+T|VFO!0~>0{rG)4+S<|K;oEa=8ij_29{aj^^XB_| zDj&ai!4bU8Ck|@sk^aw@MX$}jW#43|s;bJsU~j+wqZkVVgO9K8^>wk<+1J+m`0?Xt zxA^1Fj=`5NTu8{xm6esP{rxRhSa`Cbuu!9ef*J>CP%H1QmY$wmzN0`#{<0-YQW6pp zN`B9|qZWQdCF$v@sUJUneERfhR#uj@d0xt#cm6RkHpR{C6S=vjrsmeITYWN?O;4{aZkRk7)PFQiJM-bomzw|o{+^ty zuD;t_8x+DaW@cv9)xSBDl$;gzaoXGO547LkV#07_Mp9DJrw0d{Z{4~TxjBuMm9?^} zYLbUa)zq0YX8if{M@d;(KW4{^b)ur9+t=o2 zWK{h9RT>uds`T6<2zP^EPj6s{D6a;u2xU`e*1cZc~ zId$sQn>R5V5)Oj;fYCA#Xxqkip`SbN(UtN8DeZBjo4eQqB zeSLNH?c2BZ(N3V^M^(~zsW9V(tp5feefEnMEqeL#WmHs@o10tpw>OOo*SF1b!?!ydC{&z=oh-e>P_!T{?h`|7Rrl@kti%@8OkE(V=^dv#Ul%$YN1&6*V!7Is(-bQ{b0 z)2AOle0cHd)w3r~NJv|PMra-_Si4qMPOeXXXT`@wQ>RYdvExTYr^&?3>}=)#@{y5| zk9GMT-3Eo?q64Q+fwth){{CiL|L@L`BS#J&PCh@+HpOVBqcA6D=b1BSj&_R+bF{2j zvBFRo6z6J8d3kvgCr*sG^zGWUYu4rOcI@80zwWQpJLONGKFyjjW6G2%2e>*rJ3oE; z#K_19IkmGw*>tZO1A|cKlh?07*S~0K?W+9zY~Mb+EYC}qEZEtsXc2-tYOuSLlEUr_ce%cejm&=6SFc{}%Dru7;b>{OGjZwB zANT+NTfS}`-{wnGrcL|w`LliHClU$Q|-O~7F5)s?}^ z=h;@LWo1dp$h>*-q@`B;a?9k&pO5uQSATy8I*oE$-rZ9Q`C?3s4u6u?L~UKQe7U-% zrR2T1y;Y$>K}8=Q9ldqyR)IWd#k`xFTUl8dXd#YYXlQ6~aBy9nU7RW_gF!}6Y;0_J z`1faLXK&fE<;sCwmU-^InmzJ2=i>gCJGeKkL~ z<=z(4kKQ&yoJ)FxAC(OD6x}Z~4UH$Zl69+;~&CTUcDlssu zTD9ud?c4YFR8F2hfBxLLwNFopvVHm=2U}_NZ}u#OV}jMy)z!Z}e^wnme!RG-=-hn! z`LkzNUtJZdoLThqQ)*t`yYlz<{^s0t6LetP_#~nVbX?}8%a@M_$+0jQ76ycYHXF-s z18q&*xzqC6lMfFMUnyl_Wxc<@-d}C9u#nJ>9Xo#g{+;;qa6A9fB}+2Oy7LbmJ9h2n zP0rKFNl7XyDjK(T?bwlXV*_J$^`9RfQ%_Huc=E}dIWiyqOFuf9^6A#r?Ek-B>%X~n z?%cVvXL}thot&EH%(=5Jc6UffNLE(XgUjC2^%W#H{y}f;>OViWnZ8?Rd zrKm*GCMMa-JeAsyX)2C0oyu3G_X)oEe>(`~F-Zv_j&9yGScICeLj?3$cuh6TBIc4khK}%mJ?>`vO|6{2^s&N5_ft z)3`tto`{r`)U8{$K*w^+Z@;y_zCJlQIWI3SKVQGoMMywELPn*|T@= z-utv?|WEA=O`ri1u;Zo3qi4z3{1s}e7^XBQ(R?{g{r|N2JFJ5snVU`K| z(JS{S>N7PldL+8~#Ds)~&bP0(Gcid?NC=3EvI18TM_i8Fy=!Y@^XJ>!+wb1J+puKy z>h8&tC-?WS-@Li_`MJ5uoH|Drc-GhdpQalf6&-zlfBpOS@BMSXe){sIr=z2zv-9PP z7oePZv|GHnx%nmUmb$;cW}D~V+grVT^=fT3HPCp#JFd&x?Jr)xUcO`r=vZ}whMu-I zx5UK6s;Vk~fB%@6JBQo(-Su?m9Xoa`bahy3TU*?&lFVCMGUeptHrzRU`0=&1(GMR! zbWz&4V@Jj3XJ>nsdlm<9a&|6TrZ!7juSdOm0cTKzps`!@>)g4qQBhSl{3J|%KJK?)<~tiS zfs&Dtk(2Z0^=t2oVbRgnnwl^F{QPWWWK{h8TscD8J=$Kw^aXlV> z{_h_@3JMEb*ZlZ!cDDKRv$NS57KHaLT)A@Qv}t7@9vpmpy#M?x)7KXkf)3<0GBW!9 z{{Hr@TV*@9RCuPOrh2MedUbU*Cri`h$->6QpTEAo9vmF3AHR=>VTN^iUQm$Gl_XhN z+1#8Q3IEB@78E}_6S*}D)ci@9!tf`iZLUs}l$z1u4UQsf7_=D}3KiZhKiMqd8@48b zk)fk|_Ludblf~M2rStCW5R{SGlX_b0#e{P=PBl-QGiMLz)bX%u^L3w;A7Gi04rM?^rthqt%48yXriF){T> zU%P&Nebm-d2M#EhnN6ENzdmP)s{*LeYPd^bI>V7C4V|5t-{0LWEG)cu@#4#uFOMEQ z3hKXDZS$LNXKQV}d&v@)`1t+1c2(uL!1c9?8qVCXdGqOW=l=cqX{@dNdWvT7m#<$p zvZ#EyaN)v+4?IxX$ljT4;?3IZJ)j~_dh_Qv<~W1|=OpoZ6Eo)ryUU0v6% zU(e3WoH={;e5=x~LSawOlRZ5=%*@P8jSa4@ju2-?f|?PZ6crUG&YTIFa9Or=>CBlk zb8l}ud-^mtx1@(~Uf#POKYsYmHd`CL{oS!%>0~u6(7c5}hdjINE+-!^3k!=yix#Dw zo%Qtb+mZ%9f`-n@D9 z?OV63tgPHFojQ21vA_R)`sp@M~>)i$SHyLMGnRMc$)wayKTZrr#rO+P*_ zKi~ddlY+qgGi#%_b8&OKZ}(raL8(sA!otGI+4=doxv$^7`}gkd?#b%@>*DrWnV6J( zd~~!&nvai9N!;a`5 zon@N6Y4hgSuU_fs>MmWfWSUOoqvy}vl_pAeHs&-VA#)#01d&Yn7Ts;HpAqUcG-)~%({(bCOoWo2cVnVIkJ?KL(qSh04k ztZ^VT{8>PLaBOL5d3S&R{_N}PW}D|rNlWjq{?3=Rk!RM67cchI{hc*;Zftb4wYGNl z8CaUs0ogcf!-fq%e*az$-paRWF7<@@&|K!J zQ&rE-%={>p^6BEOTTx+QX7&I6d=yK$;$Xd|BVJxiY+6G@gL}W6ZS}XDb8{?r?%erU zR}j>hV&diHy?OKIk4gUX?Vdh)(lgzL=f|g~r&rW`H#0ST3f_Lr&&T(#B45H@L(cVc zUtiys|MSiB@Ab6JxUb;s>grlh@Zr2%iH;+e_M`H|kB^SFwzg_%X|=VrReyUUDIp<| z-zmVs@~FMy%ZrIyx0>!#(bUXLdM0(^?R;s#(w{#y zdk%xn(OI=>)rPtgDMg{7p@oHpt|{5C>Nb2b&%bA4ZqCe5RaM2s&Aq?wFV}YI=;&z4 z?Q2)B*4EKElCQmG>sCogNlq@Vx?f*j-rZgP{{DV_P0g3@-yiq?2HI%2uSW9Zm+Gpj ze}BK<@9N@uGtFtwxpRIMbLY>$fA{X$9sX6DcbC7H+jh9>*OyE-ZJ)hKJkzE>JMF0J zoSm(GH14;#?nRfDKe{(2zkPf1+x;snhJ80~-@bi&@%3)DqeqW!PCx(b@#EVY5<%Ol z=Fh)>-~hv8wTTlaf_ACK8loKfB7av-V`Svb>({3j&h6*`T?A5d^5^I0OP4Hp zQ0nB=)Y8Jz=y2h}g$WZUPMkjd|DT`6H6j862aX?KzILsymR44N{{8FM-PI=N-`{6j z`s&K9TTwC-AX=S{fP>Qc_iwl@m`sIo!_Q z-Pu`MRu-gx=)#2y$9knJD=JJ(O?U3xxjpyxv5H?SSFQ|R?g#3HfKQjn$;w(JwtmYN zk+}0SjoatX|9@?5G|#Ukd3>fvw{0`y3VgZN;A@v*MBFTW_N_di@e-~>s)5gML#q#CP-@o@)o1A}lm#U&-U~sUr z+T`84cRxQrzy8q?&KoJGr|It6wd?8Ar%nI+_x|q5R?3!duNM;9^<|NQg6|Z)1x<@M zx;h$~fT+v!W#11?EET;THzCP6+%;fh!g>=%=1aRp7+q(5x%aHn@V~WxoxrRq z3uEq!*Qpt&pNlc}JacrW@$(O#+1c2Pu04MEurV>BxcKvDko>>qD4wPhlPZMZrr%>q2=n4BS-Gs zne)TOn*|Vqo-JO@uzD(DP{dGOQ{^4&o7ncW_!R;R;_EvxQ z3kcY-Zr!@sR@QI&)YmvVI?Df3H#XipTl>tHuF}%ZT~*drM-I%`@a?P6*ZT=7Yc8lV z^aQ?n^9B@5-`+$fCMxpt`&U-(+_mf1$H&Ka&pKZE|KHz#|NhOJH*eXpWmm6Wb(Ya( zVEEJY@$qr}$W1JYM-ClYw0Lpz{f4>^4-T%0+zgtEZ*I;sx%K7c<@@_;yQkY1K4NJD z4cld3U$=F`h6UFTA3gf@_xt_IEh|D^ZOgqKx3A`=uWe&vWA?Q*Gp$OsoH~5eZr{9F z%C}~9ZTy~!ja6T>0s{kECahZZ>QF29$4_6seyypg@j3tTXt((4u(gvWOmN^hdE!Jw zWTb8Vzdf@rhX)7${_xPbqM{-=cyeD~-=alIm$Po)zHMw|bm-8b6DdW}(a~vXY38Ly zPv5=sdw|QC>;@zTI2$@{;dtGfpn9WlNXZ*8C`VeQm7| zcXoF6@gqlcA~(6XyFdT<`1s}J{_>A97#SM!UR_z)+uM8cTNT>QtIsL z+B$!}y@Eo+zGcgnvBmEwc<5A8vSt1H_07%A)22=9>EYS8Z^w=u3l=csFIs#tqo}Az zM@J|2>f%L&jG&V9iow#|hgX zVq#+Pvoj0d2gSyoJ$%?W^_0k;lZr7ZDND9(D>Gjn9~`_n<)qM_$iknWo*wU)x3B(| z)BeG4js@uYE`NXjmVnsUxuDZv6YpNRnfN`=VDBNH^%3Uz!k4!%o-OgK3LGYk4jc=Q zc8ecBe%#v1ij9qJ+0vy~uUzSoHt)+k*(t2f#?F5G#*Li2yG)IYCb=l_7Or4mXb27p z+O%cMmTlYa?Ji%xV8MfSe))Mel|piI_x{FJe|r-c9Q^z5_xs}daWUcHpk0BB7H!JE zzi-Bj8GnC&-(UN??AaO6>2cStT@w@(T(f2khay*NQflhf>hJF!J$l5<&i8=1rY!V4 zWH92|n#knL%%5*>Z=bFo&&JAn^7LtOaq;`RO0ypw>0GsHRqWf{xwp4vUS9V0_V)a5 zZ*DR&GFDbrR-F0#{QUjx`ST}E6uig2W$DsZx5cimuC49uyLaqZv2x|k9Xrm5pDSI9ue{5-{0Rq zY8Nf{pAT9@e&x!POiwwvdCUFh|NHY(cvC0?!^U^__Ex{WwKaTwTxeL>sgoyFRa7)I zG#<=uX=zD2H^)<7Q(3wBzpS2?)~rdBivIoi`TF|$;=;n2vu8&~M{nQ0J$_fo%PT8` zf9Sn?_b&VTI$jQrh`m*&P99E9k4{WfHqX10k&*G?KAKEG$evKkw_8FH@#Y?d|VB{=1~K z^cN!|qnw;v__~v{-{0PT{`m3ZSFT(+ecC%Fre*@4i<3(Ilm7a(R@%C{zP`R! zFJG2kvY45n&Dhn|H9I@|m|l-d<(C&1&&{=dxp*2=Qg6rh!&k4GDkvzJnr>aq^kbRa zZ!6=bKqiJ49u5u%Zr}d>^Ye30PtQ}QPTASnNwl@Lw0wEF-WqgDGLMKy1Y^Rv8#gR0 zEpOhtckkrM%xh~RL6?b`n54{E!ot9CtclOOk8$I%H@6u%wHaa`J$q(X{LIJ2#l_i~ zd8Ut_pI?~lwrMf2wE&@^e}BKt$=!{CReE_Bqwsnwl?PzpjtlYxTtubalgG36(Vr zUwWJt=G@+C%Z48EK~go?v=UC4>~1X^VY3fFCN=}5ds->?Z?N*d-v{jc5*s$^k`&6L{LzW)fZlci5~0L ztt)?jZ*R@dO*3ao)=qdH-^^csBlJ5n=z?X?ow|qWA6M}Ug)#hc3lBF}Q+xL1<>i|< zZ+`mp$(;G*`6NNk(7Sc()~naA zC7%nt%C1 ziSy_GbGs`}KDlSlo~KWrDk&*3i(4}!9P#kN}K)p`Fy^anOR(1oVx$Kkl^6#tgJ^59!!`x@#l|^j~Bc5*Xc$d z<>cgi`s~?1r+9gW0~!VY|NZ^_{k^a(E5rVzS65cX=4$EbJ$w4JRgaN@N3*i>XG257 zg$oyM-HOuH)s2mfwY1zh+dO~U_U)fPetbCj-(RD^z(AhET-@C38W9W!IwsDV)x~I# zRBC!Q)Y;iNGV*2%r|_>|y`cNH7#FNwEiEcq`up2kdHXsMQPG>XZ?9gl;=$*b@9eEk z6DLeKar$(2UY^_p3(#HJOsVPV#YIK`oWjjLA{ZqkRD?2*c8SLCtJzuicUMb`OI6jb zi4!l*u`EtXPW~OdcF7WzR;QC^&&sX<>voy~Zrlg^`SrOdeJza#8Q~$qb@bf1cc-W8 zi|fS*2nls{bX>S}>D2|p1q&B0{4P4_WQwKb&P9tBJ$m$ru}>5fjat3Ey)R$BR8mr^ zsj1n&!CGYv1CLEuSeUx{^7r@m$L}iX?C*d7?d|Ofv2KB`uC7T_r}FahzOBu5a&nq9 zX_BO*yY4YToH*To;&-;^Y>TrnbKtf__YH2|MXtU_b;N?zE zPE)2#dGqFthDaCWxc&9(^WU$YG;NxgkdT+B=gL*9q_$KrGB7kWUcYo{(v&GzE?ru* zX3d||&G$ftJpdioUsiVR?Ah864;-_yUVV9a`SYhw)AZx_<=wT~!khRuLjUzlqf{Lp|jFNA79_YhYlS&eE8{;CjxDg?x}HdaK!AZ**V?R!`oY1Q!_Lqqf&~pON}QaWoE#hl#l@R9 zZaml$!N9=4aq-^0dzUT+g@=bnMn;B(UAu5WK|@1BTl@6EgN6!Uoex>fay(>pW}?7J z`Jd5SB0w7q#K9|mmItkrHqX1WEq8WPlT-ih?c27AiHlF4IyE#j^y|xR9tH*m9w9zH zK1IcaA0LBeSojjQPT0_wHemx_amAso`n3X1jg5`}|9n2*FAut)V&Te_nc3N(Rdb4p z7n5z@zJ2@k>({eq&t7l_72Ap@QjA)i9zJ@sC_tk*@c)7kE`}ehr>E&gZ_A0SuC8`* zIRZN8SI%}9_&yWK;NW0m{DxA2raepoLpNQ8b~keI0{D+=-M;>(;&7 zS^S)fiz{wlO=ecsuRlMFot>Ta^z?XndCkqYx3si;`&PE-Fbe|%LmM9`#arj*=7LUp z*U>RCGO{XvcW1hO{JZ=6*DqNzWy+K%uU@TMx9;4zbL$o@di3UvjEqc7aIka99*~_6 zK<$mh<(oDcDJeNcNB@3&y#L3nr>CbMKYslB_3QiV|KGcLGt$pbPg(i#p;qo+zkb=+ z*d!$-rKP2BfzM^3yEM%)WhkdO9yJk3+GrurM$%(9_dXR#sM5cdcgdvX0J9 z!Ad&@1_p=!psZ7HdT8jqo4op@FylF28MIJ-UBq(im|fKuj(Gp2K|g=~JbLtKX$k0vrKL-krlzDUS+eApv9}y3f2AlS zvL?(>0@pZ`CQa(=>$`dLrg{FoH-$ey_ijjo!TUQqH*eTrpsTB^s0h0GK~hrk{{H&o z(J6ob{L#|V`T*J+sjsG{rl)uB(j_Gg4Gnz|SifL_f}*0Lii(TU#I`3cpmISDi$+`W@dVOd&kGeySpF1_g+H{1VF=N=VohZX%!U}?W_Cy>+S9BO-)Vm_H{OOe|D@} zx6av6YpRyEwsqknm%zZl#Kc5LN5{ChI6FJLxVU?pHW}5`{o@o?>*((Op0)&(gBI9> zJh$WW_3Qop{qrpfA321cIDdXU=zjKg(yvGs}&t ztgQ6(^aSq!u1rl$4GjeyY}(G{sUpzdiXG?pFe(l_{aI?%^M~rChuuF51&4L`sB%*3zmw8h8veIW#yl`Z_?z+!7eUKoUd~* zFfb%Ds;pt?VQ{|Cb@Jp%O?42so_rE=B(BY3T}=@9`SY{7UHz6ldun21V?#qjS5^o8^7&>o#uOxNzaZ*-U$N4j(^$ z{ENeyHEUvGVtyD+^*Z`|_JQ>_+}zy!{QOQG-QC?&r%v@z`~2zCqv*o-rcx%tu1}s)~#E8eSN=v{mKhE7^!#b zR!}qR>eZ_ilcFLcBje)w5+kast0N;NYk$4?^rgtM$27!-?b*ope&d$nOwR-i(Lp>js zi1~x2Bta{Ol$4ZobZqMWR0IYF78VwIdU_@%CN7)Ez~C_7;Sd*tgp!Vq&JW!>K|#Sq z$&xYe-o5*hTJ`MuojW=@I%iB8#l*$euV24@)v80n!lefT5#fBUXoyEbhSivR!kIB3}L(xpp>4mtg*5tEUT z2?`1l0)t7DCjIzyq*Hk5k|i_dNii@OuySfMD2L|cteG=MrcPR%Ct8H7b)&jo@apjO z?}FzV8X7+RAMWbvT3Km%nJt{>u!@SxhxRAO`sMXcCcL_`a<4o$)Bozl$BPe|nwg1- zfWVXI&!0bi`tkt1K)ncfYc{aPQu|^X<29+`RcQ@RC)&mbUic;+uQ+*w`%Y z?d;Ul)dg)OU$<_V_~M|IPEJmT4jrnP&b;TbPOaqo$nNqv2da|_3JM-@R~*g_-&?`R zpe&-YW+U+*)pXT5mC|loo$A#K5F}`zGj`Aq#6|! z#V>C+$2k3*!_}I922V(9Lqv#H>FaB2Wy8WkLq$bJ4SiqM{rRD&t7|*+ z;1tc^DO08#>y@(NnMZeC_h5 ze}8{JckW#Dwj9X`w+?(ba{Bb`tD95r+_@7M7dI0O{O8;K{q)p3Iazt8PuzxtgR8^W zvzcm{nVEqOMJ)UnH|@Cmt<~$-AFuvvW@>u%>eYw+M?%BG7X827C{e$J=RT`q%k(4d zF&bK0S(%wDSFFg$%{}`2@uS_B3kwQ7yuAG8SO~ta1=S6no+mYfmw9-4@_tZdU?^b} zx@M@Tsi|pVGG+So>$h&r`d3g=QDM>RCM+&)Zf<^j_rAF{l|@faO%)UrWMyRq?eg4w ztf8Ud)vGLd`T5KJ=Y#eq9P5#^v$Jb$ZGH3RO;%Rcv17+%`;KlAY6f&-bar*S>vuATR=$}||@aWO6A09fJo10r(?|$;+N%HZ& z(t2r;`f?>@<^6SkLHA6z1Ox>I6%-hln{VH_)6(Al|Jvy7ixw|ly=v8|Q>W(4nd9Q( zVkPpzS9Qhfe#TdiF5lSMmS<;>5YQ`ae(v7AdH*);-D|6_uWx5J@8y9Mj)k{w-TL;e z%;{IqV_U|mn`^iE-@1KU(wbddT>SCfg8j9>#e{_?&!6A_{NSEFd%V27w6wHNojT>^ zLfuL{s$_>-v9t=FN*MD*80rJU?trMC1CB($cLPH)?8VfKEPN6S?`r z$8x`UHlWMbL0g8tl;q~VU9x0J-m0}LRumK#7M7JAi=Ss(y=}vW4XeHC{{30GXpxYZ z*tE%$lQT0V#l??DTzzwM^ZUEI#YIHE{P_5|p`qdC=5+pJr4nmDNXFRO+WOD6div}*T-dMWK5YlwN&H$7KePTm#;P-`2q@@ zclHJe8WT^ZWM*b^bAyH`m$Cl&`BTeDI}3{+huitjojW&OKi>5y=EbC=zQn(At6ZEfwkXnDmYt5)4gtXKnzyGe5P-gmED_{+}56Mg5-9d0ol z(2m>HtFe-~nBG`uV}Z=HK7n$M3J3JAL}~GiS~mJC=5Fk!#Q7UrY>D zES#@3jvqfRE(`+A=Gmz!DH<9YD^{#{^8ESorAvM1T5Vms_U+Hl&!x?BUMvH3B7dn& z=H%p55qkOa^K*`cmo8lrR`>g&#LIEAhS_VxCHwtR7m>uuS% zapn5;>({QW{qUf1#*7>5Vt0eia?j1}E!TKsmw5HkrCa;!|L>{%?BnCJ%x`W~VBp5A zt6GMJ8>j2Xe=CwZG2gy^)-2GTt)il$d%H?cpFW-4aE|}W0?_TTN4DsKhNyphe7tMd zE-^8&6eCLuiyK$3hI)Fg{LWex*|xFZxxeydsU=I6JYY7~x_b4h?<|v-H#R2!{`PjZ zef_?>6nM;ascI7Z(|0^2{i;9X$OIsTk7gtndWZ=q>n(T-OiP{M5KhOT1oUH!#&6^LE z_ne)bSFc{}>+35BO3a|!Vs&(4wq#uFku?7F>64sY&54sIcP1Qcy1qVMKW0aOn_HV* zp+or8DO09E`djA?9AL=%_1L51N&laZ>#r)@+?ed1mbPsEeEFUlzPA2l%a$$opMP&p z<>#Z_;xaNaudl7Wy(zVO&K#MGg}f`<+Su&v_j^y*tNr&UGB&pM_O{&B;p>-`FJWXT zVc>k7;pQLF$;V<~&cgY6x&Qn#XV12_wl+64B}^zbxHDziv|qn|RaI2nxN$?qzHZKo zf)2;U7j0~8{`~o)qN>U-W08=Z&7G;uF!!Lv8it-U&@Q&l&V>OQw{G1sk?MU>!0^Mq zrM0#E?X9VE=hi+rz_=(`@l21Tao(LB6Q@p1O-g$7;DJHqrxba4`CrK$3=A@$K3LJC zM~@aRTzGl8|Mkn4cNahByZDgdf*?0Hx4F6b#Xtd{prB88b{0!YO18DNfhxm*0MPWn z?*+^Z0wC?IckbNbm$y4&eRAinUEfwJ3oy8>T)Xz~$H(j!19?EbxcvP0SFT*SxjEh1 z($aUfnXZM!j28*c+aOr{t0wN+`o}Hcj`ObrqfHZU)*{Z@#|14!Rln(-Y2%4+WAhE%9t@Y}Ak6=i}oO5*WC%_P5zZK}LfmAn&a?eddf! z!Gi-4)$3S$EZErCUcP*(9llP*NB?3S&67 zYs;1`pq4}Qwj7>&IjqXv3l=C`R21lMZa#eXuC0oSik)3tWaQ6_i``w^Sq=n%#(+2G zy}Yzk-ma#jt812Nc354V-NlCt3{}fkua=gU&d$pNT`-oL8ygttSmMIKqvsL9$lwtj zZEa+!+?FlN zcy=c4?bUnt{M7pI9urSae*EJ{g}eK4R&KF3cXob$adEK-*Pl(zfgE<%7E-9P zJ%6#X`-DkCw|0x)ytODVZ5L>1cYOWduixHA&#SBd<*t{Q`0)4l_rHJr%DcJg>Eq-5 zOJw6FzJ#w+M78x&Q{PUQ+?*pS z@bYtd$w#G4+ui5Qd-11o$;y*^W^{F(>X)})vv%!#+v;P74jFARbOxrDD@v_c~#)pWznSO1mO)y+RlWx60f zYu1Zjr6R)38X_jiY(?eiaXE)tIQivlICy#QZq2@afz3k3ccxLR+v1zIZp{KOFkHKH z=gb!!3=#&Q(dDEcKNXpoO_JHX{N1y!mzB>KX}IVZE6d8h*f{+{eEq`G*8-PWa*p*# zf;Q_^f79t%+Aollo^D_MZqEAk@2{>7FD)%CE-vou<7j9E%~dHMetP=EH8D%eh3)*m z?}v*v2sXPooja$Y!NJO=#La!>+OZ{Pxcxi)1`MFQz*6y@FZW&#pPb8bKgC7AUb?!u2^A+W2pE~U<=USYTcpgiARc7Mj?<@{!op5m5|XuYiQowg4BVW4 z{@(6#{WA}^I*e+qb`>&LRw(G}t3_*yoVvTaT-|5JhtJQ?EAr>gNO~h@Q2j0Eg&c#M z324&d-L@RZpr9AGOqHzHW@Tsp{`qsRb@{ndr&jITH*bT*fg5R=o!{QO?=D+-$Vn~w z=#e8%PEIK)DQ!0E63?DH*XOnvR6WkO`}_0rbC-7J1Nu!Zq78{}KPG?qWolK+SMeVPWxVU?g z#%U{7um1e`b8$g|gp|}gi^8NA?|O&tJ1nPF4q9Oy03r zYW9sA7d}3I@hw+G*0)4MnM+-L`TF(imoI<*@NoNdoyefrSYME1c)^Z2KX2iioF~uR zN@RFaQc{$Zlte^DpP!xm{pIE5j#j6hot?dQ?b`5lF_BSGUW+e2di?nGsZ%wzwV5Wj z-re2(_|YS_mpkr)&c6INznPt1sU>V}lxzIveaI+Pj)V`VE6(WY2=BotMiDL=iMF%x?Ovoef_`d@%1ZLt>Sb0tL{H< zPsz(m7Z$&)8fpYGOFP*YpBY?)cg$A(_% zi_PpSR(8Iya8rnlz3V^UE>L5Nq;cAw>hFCo3K(AKf>Osa1D?HAt!K`3^fgOrP2H7# zUXG8ik8%CZJ$vq)J?rb>knsE4+qv6k&77$lyKBn)`Sl0-Z|~KO-j;KF+uGTn0aVM< zS63z+Wj=EzAXb)(`}M+z;9%jN?29v}ObKyuY3c0joH!A5)G4U4))raB%)nqUeR8vw z)`UL3i-kOE)&1vPxpploI(oCw?BZ!IO14#BRvbRn)zzgRzi)zv3M(t?y#HrcUbuBj z3bemz^{Q1|92_a>>EdEy+qQ1i1fL!Ec=jpq3LQ<6Q&(07TUuKF7On*Eo6y|{IJrwcT4Lj+E5Y)Ku2@*FS)}eC1oeo|WcNT(c%eLs@Cw z;>F5NFAg*^@74VC_jh@5ak19aRV!A2_Jc1C3SS!qx^gEm!q>NV-n@Bh*628$IDFXI z-QC^Smv{f#`uF#2c@A@NaryZ8tO!}v)zvj;j*PVQ?PQz-06%Un3bLYm^*4pk}^)5L(D{IsC?dj?1;lZGtjt?F^+O%z(pO4QQ-zSSZ8yUa- zes4SF=Kgwnet!SJz>5=HOq729`W3V?#M}FHTN~S=WX1*7u*s{t>TCGr5;zidb)6*x z>klnk5C~ffu=R^|jJCFR%Y~DZ)vI+PBO^7nwY4=gB!q>V*K_jmJ$v#bBsh5S|1a|_ zi`f)al$9sXoY}el=iBY~o0^-owX~KjU0PXLnVg*b@$2_@cbz%bMs8ka?r7v2VaT() z^tG7NiL+;W3zx24tNU1LPj=&~Ratd)cKe>)*;&k?C@n4hC$)d$-_PgmIToIuZ~s_- z^XAR!J~IklTv&L|#cozaM1pqMmw;va_QiR5WgTwgbr!nl0jh1|;_gLmPMZp9%y2Wr zHbpZq@C1VfK3pU%@0Mw4YhS&3HUHk8oAbRs)NMR__N?u+FCRXfICl=T-)7k|wS8{> z{`rrO^>T7@?%TJoM^#o<_GQ0MWp(xImoH;?m1vrqUq5;@_12cmA64Gor(L_n?(Qnp zHa7k|y?Oh#ZSyP&7qz#$CnqcKTee`qgOiihD>fT0-dp|M%fsWr>2v4Kty;C}-@kvE znVB35<&saIJEu1Jd*&Z*6iknrKtr>Ll?b+Nn4Zg0!o|7Que zo$tkddHX6INg0_Qfmw#hY>&PEJZ$uwzl^6yt`TX z`TtKR_UCDbue);bB50>d2VY7=aA4riFE54LK$~a`bU7sEx%s{3Wk{${2G5gCR`V?? zC;%-{Iy>9E{-L3ova)h``1N(S4$qo3OG#Pz=+UE3pFVy4>Xm@g<72(aIt}(Et@(=< z2d$KSb&&hV&!4QUtcL5ZU%s52ocucbOplC=44=GR&95&neP^46hKI-RtrGQjwti6{ z@<-=`Wqx&!Z*VYZfW7y!d+Xav*gi{&dAMa zdn-O3x^ZL1i-NZGoWg2*s=wzwJk(nJ>`dkFZ)@)qNc-{kR9*m0CU|`N_U--s{rtSV zb8V}?ZO^~|YuD~=+rI6o{G4GD<>lq|e64xjoeS5mpFelbjpHGI$kXS~jm1u!KJCo$ z^+$BKxJAtmgJkVzzrVk~d*{wHoybeqXGnhh_;GFYc0FZfWetrJw{J(gySoPlZYK-5C zO-y`P`uf_{D_0EGoj-NTs^CFGW8=X^uH6DoudlCn=ZM{1)*H8A@7}-1dZkm0b{_xz zSlTSdfdh0c^SV8?zrQtXIgopQ-&`Lx(0uowpPysTHniHiw`%L^)_#38wWFh>vC%O< z>G$jP`)zD&KBS6?O?!HJy0*6V_vNqOMijievy*SSh{4hG=Rx;KN=izC2PSnE9cFy+ zpFNg|fq~gSEbQCkeW>xl`I(4eAuP-Yr>+9FA7cX9%H*enM z<^Ie24_oEm+mn2}@9q8l_YWOPy1FWK?b@~1*Tr`C_kaKLB_urDoujp_?a}@not>R; z-n@DB>J@09a9{EBbGC(#j?A;Io;7RMnX_ki?%Zi#_ow3B9n1Xud_~2Dc}dwhIXzun zUcSDr98aG=XJ=<$yKYv_t@!2DRc)zWw&KHO{O_fCtD2`z|Niv!bZ#*n0}~S- ze*WX^Nz4reDm;g);%`YsDz`8N99VFanQaniQG|v9!@c#1T`eB}PRRd{DisrG$jJ$a z-?!i}Ut6Mz(97xHL8sh(etv#`-QTXn8C$k&S-EoM#*KyTT*=AF`SNg*|$aZd?ZMXWSl8+xhn&;i|@b^zoO`SS@`uz=whe5Y@_ODv8BI9V6 zXis*Zto5?XnPu%8Hf-2g{5)=V8E8YKtXb~;eSh!lERNq-)7jNk_34RcXz0}^Cnw9w z%36Psd11Hh!i5X!{_|4O)3)dSD!w7SXf5J zXTLQgL*N2_Z3YIOhPJl0A3rK;eqLD_?C0nASEhi0A*r*ob8qG6WlNSEIdy84sJyro z!z0klAOrJ*-{0R?RaJd|f4{uE{QrlC%yx@K7tfkC>%oJBnkOy(^X-lvJt`=u#!#!E zt^NDW&CMMh91RrAy6@+`SNA#zM7eZHOvfcYcnq|`}_TVy|`Y?j+&oF7dJK-^15*{F!0Fo9FE&p z^YYD`ny;^}hOQ11ls)GlBrbkjedVjJrY5KFtOqU>l$Or5ELQVTx=?+3n(poG`S+il zoxR*=rcwGinMH>glSNe4Ebf{=|Nhg{(_d~*der>>%xrW1dQY{<=DD}F6g~A?bcngZ zMd|MT`uk_k=6-#3wX?I+ynjm5$J2hX}mlO}m>f4~3vS^VM*7Y8Hf>x|^|boZq}*6WuCt<1i@PWD#?!;7wU z>+&ipDk39iZr*HMyL9p5WEU5gw6tZ*m#a5!Yz*v~KfnIoo=SdsI~A)56Vt!FxoKVg zuA~sO(wQ3+QS3t3E*`sfZCd8#knHU2cF8IRg*i=4P9Y&8dzYW;6jomsyZhR$Tet4r z`}cf)J!mjRT25lEm~PaUZ*OmJ+h(?iS+erqzu)Lw-zS-LShHY{4C zWM($)g@c=1SlG4y|9)m|*ag$G`SX)~!dc?TEy|Azl zv_d=^)J%xmDI)dWG%9K`8qy1&1_|Nrx|I>@^$Le~OM96Pq` z^C`ZY3=D@si@nA4<9fccB*dIQbZArM=d`NX+6>ICE=sPhu5a({o&CbWO)ES+JS^;* zvU{I^EQf@%LZWPIOKa=%v$H{0M($UceDc??Uj{{T67!^_qi+$?x$`~fE@4hn2G@FBm ztzlh)L|S&Xw7B^7OP4N%&Xlz-yK?0UPihE5gB<7@;K<0z`}=BL*qM%Tc|^FYb8~Z7 zJ!a(QK7DDacV{msJWyvkglet_UhFub-y_ZRssfU4u`C=Zr-}JZ7T@e zymd=RmYcy=Ve(0CF`XUt|LZ(GJKNja7cElywV!ugUtix5S9XSkcm4MNc2s}QD=Ra* z*w}E9U+7xk=_5y4y1ToZo0C62I_h$q$szya=gCO;J0tzVq#)ajCQVF z`}S}))TAo?g3VjfI6pM;~j0-E7O^ zW&QpBo}MSazP_G*c9yHs#F&_vS+iz!^l|rSef|2?rQKlD#tj>C?(h41Yist@sZ(8! zGr3uMM7VDbT^;6F&tR~qu&C(P&6}<5?e#xDr9M41_20jLF77OD{Pp$qadG$f7XNSB zcPM@7&hqzi7aJP_`+fwz5D^uP%9=a{rmB8{zZ#HYvyLSc8guTa>d2P1(bp3DkRE!bar+g z1cQeUAMV__v$=f1wr$&HE)r7M5_x4tO%?b~{zPI{&R%Yhena0akt;#ykU-a!wq@du$R&MdUo10u6 z9S`2PQNb`dnVr2IG@(?w-g~;<%o#Iy+|DwTJb3qR-MV%6k|m91<|HII#0N)4o;-Wj zS7~BWQWBfxfw;o*^5@T<%`?xxH^;L0$^&HGkv-D+xTYO1TdcI(!uh0~86 zJ9gv7jY*S)e$9IG<_%x-rS`VAu&^+t7QZTe;s4Y@OS#usZ%FTym;-}v`Ldd*9GkG3=THd z)YP=Km92mI`n7fXxjE-dr%agwy7@g`@0e9|boAuOlV6sKiHl#(FsX9#oIZWJxVZRn zi%&MS-?wbpa^l1ZzO}xboSgCd>yA!;`s7JdbMxUthxXO{{Pgnj^78lhX3m~{+51tn zvy)R%aj~hX>GyYcZy(QQW?(ciF?mp5Vc_v#;p&4%d3P)#BO|NYudG<1AuTO!X149y zx3U({Rng0QXSWG(adSs+%bB@hLqTlp+;!{p;w(%}OD`|;Wo2cpxc>FRg@EMb$MW`d zCZ?vcmPJnvG&1*`oyje(_vW8~w0Yi?$&aWtuBv_o;`JHsE0?# zo;@{jarf;1|Jhvk_t)?5@5RN$?5e(KXlZ!`27bJ>)ElII;>6CrzIi5@lV;BbT_Uce ztbF^{EhA&&(2x*0`??(r@JKYsqaeED+y_MZpW@)FTb;+kQIC!=+z4s95_V9#iOI6 zmoH!LKf~bR>+9>~@CO&^$ zR?1P6U07I{m8I3|#?8ZHQ}H3e+uJ)R=n`lLQE~C&MT_>;{XKQ;Set-V#fJq=O^5F7 ztp**=VVN2i7nhZl6%jF`vGL%>)@saB?@r9os&bY?o@PFyDWp=f{ zOsuS|bai?E7hE#``|tPr?Rj@stzTdN{hjPgpKI5zr{5{OzpqwQRFsvK)kI2HPw(B0 zjmcl`F-1m3f@Y@r`uOAGmoH@4D-yWoXdvkO0v}x03&z?PR-n{wq_a`6cYY~{~b4>h0 zDmy#-pYnBU*60`*6kJ~B`=Y)$?(@fwrFMDY?FZu5#qFInd9tvgN&2}t%a$#Be}BKX zhsTD^oA2)^e0+O*eojtKMbg<@0E71kBp0x6BZVhlw7%Hjf|w^$&%^k+Fu_Q zWm%vvrWey;9?{j&p`oGi+5iF z@#$Y*UpKZ@K4xuw4t#X|r%#{m+_`h~=+Pg6RFU+1M~@z@Sk&|Hdb?=+ zzRJ(bHf}6@F1KaD{5Nmj?AW>U{hgi8B?^nX7A;CjOH;cT*bvAebnT#%(nJ#zlXv&` z_Y2IjsVu6l{{8$sXvJQiKvz%Ck^qgOqM}|f(A3oQ^77(Plf4&DyzhXF~(S zRIl9Z?BreEVPVtS+mCP0zpv&qqd~x`;K6~}=J{3ij=NS$HaI3FC4rU{UR@pj`O~LM z@_H^D6FpQ?Q=j%qn_F30KFl`YNv0 zx3!g3Rb}PMl`Ch?ocZv+?6Ny|@9x~Oqo=3GD*w`zD{EG+e3_cF;JcBLQP{c|&k~Wv zy<4`FgoTMgLx!>Kd*V?89ew@x_v`D^_USv$C%I^rW3%-pkXI zlY`>{|MUwVKYrY}absm=<=I)L+Gb|g4j*o=yT92S9AZvtljZH}&XipK`1p8kPL7tA zmWhc87Z+DeZLR+t3(&QAao7GlpI>ifVX1BgJ9f;+`_`>n@9yoj zHZ=TrayL4(-oAb7>gwv~=-4lBzpw7^t_>Ru9*4CAR961nS^WIT)2G#v5-*ls zyLRo)ofuYD)3vsSOxp6MedCU$Rg`uR3q=?}j1 z=FOX~AJ50bqcYKhonLOr{rd0UzS-6O`cnV@uX*7km-_nuvAfGIs&Bn~_3G4V)8-i_ zvptq|v$Wi~WXY1%;p_L+{M@u~p`)MQyDu*<8>gLl@k}5pDhjmr&uFI4wab?uKX`EA z@@3Ffd{ec7t^dFMjho9u{k8YIgEZJlN6N z>gw;`e=qmgg$o8cI%jU*{{84^_oPXao}Zh0_`P4risE;7c7BO4F6h z=31BE+gqKUknrKSeEkD+TdOyH0*@X&+O%m?)z?>|$*)%~S@Psar*Ld+?8*?Wf9iMk z|NrOxp5NiVm(s+F%F5?wXS?TfvN5Y#Tkl@Fbg6%RY4g1a)28WZXf$v}9c)lel(_c$ z(zO#(iXsh6Yz9oO;O(X1;nx}06qjgdYYU5u*MEM-TX$QKM|<76b&QORD_5@kyRrp! z2r)eV!jvf@si{w&JW1JO&na=v#Kh#x*|Yp|HXbDk%0A!s^If~fp(yfUwY~fHyt}tH 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 [["alice", "bob"], ["bob", "carol"]] + Sym <<$>> [["alice", "bob"], ["bob", "carol"]] , _rules = [] } ancestorRule = RelationRule { headVariables = ["X", "Y", "Z"] , bodyElements = - [ RuleBodyElement - { _subRelationId = "parent" - , _ruleElements = - [ RuleElementVariable 0 - , RuleElementVariable 2 - ] - } - , RuleBodyElement - { _subRelationId = "ancestor" - , _ruleElements = - [ RuleElementVariable 2 - , RuleElementVariable 1 - ] - } + [ ruleBody "parent" [0, 2] + , ruleBody "ancestor" [2, 1] ] } ancestorRule2 = RelationRule { headVariables = ["X", "Y"] , bodyElements = - [ RuleBodyElement - { _subRelationId = "parent" - , _ruleElements = [RuleElementVariable 0, RuleElementVariable 1] - } - ] + [ ruleBody "parent" [0, 1] ] } ancestorRelation = Relation @@ -149,30 +133,6 @@ spec = do constants db `shouldBe` Set.empty - it "can ingest facts and rules with duplicate head entries" do - let db = - InMemoryDB.withFactsAndRules - [] - ["equivalent(Q,Q) :- ."] - rule1 = - RelationRule - { headVariables = ["Q"] - , bodyElements = [] - } - - equivalentRelation = - Relation - { _arity = 2 - , _name = "equivalent" - , _tuples = Set.empty - , _rules = [rule1] - } - relations db - `shouldBe` Map.singleton "equivalent" equivalentRelation - - constants db - `shouldBe` Set.empty - it "can ingest a theory of equivalence relations" do let db = InMemoryDB.withFactsAndRules @@ -190,33 +150,14 @@ spec = do RelationRule { headVariables = ["R", "Q"] , bodyElements = - [ RuleBodyElement - { _subRelationId = "equivalent" - , _ruleElements = - [ RuleElementVariable 1 - , RuleElementVariable 0 - ] - } - ] + [ ruleBody "equivalent" [1, 0] ] } rule3 = RelationRule { headVariables = ["Q", "S", "R"] , bodyElements = - [ RuleBodyElement - { _subRelationId = "equivalent" - , _ruleElements = - [ RuleElementVariable 0 - , RuleElementVariable 2 - ] - } - , RuleBodyElement - { _subRelationId = "equivalent" - , _ruleElements = - [ RuleElementVariable 2 - , RuleElementVariable 1 - ] - } + [ ruleBody "equivalent" [0, 2] + , ruleBody "equivalent" [2, 1] ] } equivalentRelation = @@ -249,3 +190,11 @@ spec = do -- (<<<$>>>) :: (Functor f1, Functor f2, Functor f3) => f1 (a -> b) -> f1 (f2 (f3 a) -> f2 (f3 b)) (<<<$>>>) :: (Functor f1, Functor f2, Functor f3) => (a -> b) -> f1 (f2 (f3 a)) -> f1 (f2 (f3 b)) (<<<$>>>) = fmap fmap fmap fmap fmap fmap fmap fmap + +ruleBody :: Text -> [Int] -> RuleBodyElement +ruleBody subRelationId indices = + RuleBodyElement + { _subRelationId = subRelationId + , _ruleElements = + RuleElementVariable <$> indices + } \ No newline at end of file