/src/math/

lh],HU-ՕӴzQA N{L|q<9n,r b=Z@0aS/:\U`ExU șsbX9׬biEJVy.8BN^Bс_(mZt6<%k<Pɾpw8:0QN,HX\ML)SKsh,9c`:Ÿ=l$_Be1xŸ5Q ^L `K-rӛʇz=Mr֔>PXp:ll9qҼ!^H6ڰbҁ5ztLO*Thsc\t ؞~ 릲=}@-?)O$~٨;3Qz ˅fw^W`&J{b;lgQUѪM{bk4k%Eܧ^]ЕY@Z({f|lkZN/$t.qB5^qb 6:sy{z-tEyހ[ʹ .Ewu1 ]ȹ6Efyh ښk%wxWF۴9PӮԪ(G>?M8Nã'lteYoi7qlt^KÀ]M.9w*.;kE;kE置U?(gC~0Ü;3mV{iZщ\usGϣ/1_,<eFEA";W3| `DhEia$!d֯K7Ϋ7>Y<>C?xQOA?Ȇ[WOn_7-y1}ԆwknVyŨbN\'hS?֟f0Bcc_<$ /?z =`wE_@A稘IQ3|8,3$$J'hUH~I<0tAM$dn ckOaY!55Yo{^aQ(>`>;B*dWu꯼2Yc?XBٷ??R +PC4ZD:Vj HZl| Ø/?-s;7To$pQKoY=N~GUh~`tNw1L>X$`_OV@2N3Uᷕ𑏇 ̇?K)JDI ~ꗀg W0=}EۯmLxeAl?2UQ~ ޛ Cڬ*ڝ:׫XsMcK7hV:GH`A!h~Z9ޖUa%.H>:NURy5 Cvo#CN D[W[N+M f75k,'^`]^9(++Un]T9XSN{=aa]`osX8N/:ta(o}RZ=zzo{{)^ ¨C{y^3(עnj&Zj\~Q|1`RI>zDш}t' G9=[E J&pT4%➺v u~%j2?\Sȿ ϣ=BX|2cG4/g񄕮j<k-AZ^Ƌ Hepyc(b zb>kihxIu1=1gHU^x6٠]&G̔7U ObZt08v~_N>j *R?$fڑ3(o(&G׻[A6 !řxGT`LYTI*3 S$N)~)N1'CB?o]L@''B◁~xeQT{oyKEd./g۷Չ1Iz؍xڰ|q#nlاxom|6J6l0'FBCV#&[F<pO?Í覝"idp=4QL1iUZyqz;mK2nZFiǢbv:d=C n6(8~ԨξQ8t4.8MXNZt(1\/6gQt:p SXx*=2Hޢ?r1/2ڴ!s&uv.twOhtm<7Bw&땳d [;;-ݝH?ђ mjݝjXW1MY8\dxG; jOAhg?>^qހ%#/:O&8 N2ơiGɚ(9}&JpN0 O&F:B>nNyN"IoI. rW58'G݁Pw֥aFzaCwVYru<$_wGW)ޝ:?}S䎺.Cq99ɡ 4}XiӍQVuW8[.)x7}+My2cZH1]ƸTA{;  53ǡ);ZF WJK*.PI+_0V 9+a06bJv YhdC S:fJ$@M+,paqEax:)8yOP+ @U>OV HAΆxr7wGN7WF ]qf S4`WP g, `g'%kV" ظCʰD!]&J;J!:+R+pYX1˲PRK+4AH$y#@kYӜ>aTeO]ht=Mm7LaC(|w:`}W~=F +Ց։ո;Cglk4=-^W%`|3AyqGXcLRT@9]rw"q8M.YVdZ 3B1W"W g]yЈ";HjZ@I<-` f's=G󮸈e/G]Pl \qz w c)؈XWTX(ڋI29DU I|2[6.iiܹ@XecaʠAd[6w>N`]BrZ+1J~D¸cS2HZF+9Zw3r1\q1/C=Ѥ w$S<,9-yW2d] P$"Gl9<+: ę\n 1.ܡ芍@*yWnDfpFU/0o;šwFTxtA ^Aϻ0'ŬFޕ67 }(%׫!JyWL7s+g^IΆ &`'[M\A(]1 e'@+a| D)%+Zw%i S.j[`D Ub+?JsEG-:koPg 9*8OQ\q˗ad~א ;rjRn!*SNB;DBF# xS8Bd fĜPYi_WeNK\eN *+*=<&|)wBPʀq (dA)z\AK(B'r~le z XDZgWqR 1fsW fUpN4I,wB܂+q~ģa 9i:͈ɡF)K TWM1+k8Oq'+iW&OU{a6K W%y.%&Q"2%DIRt;;ۛ*!ۙ$MXw%/I&# n~$DHߍǞ)}'Z ՜Bzu$T?BS>="3G:w$flϑ8]F6r5h:PbgD]-ey0f8І.Bs,b$޻W{;"fvE(}&P#'I8>"R^v\DxX§ bɟH*9!;pC,8XK bCt<;n!rGvB8 B &btDoؾ; ³={/w2=ALGʓBl7b2@N T}> T}. b<*dLkS Y8C!|?*C{~(Lb "A9H#x>jwP^>RdGrYi gbqz,W zzlG1z~f <#m従sϹx <;xP ,P{\;H=;hl|{~4n:^pP>ӧC2]:ҖzoZsv94B9t]9t\O]]?u8i;q(á LׁCA u7ޠɓ@\놢K) QemA6$2iC٠A\6tcCUנ25{kR㬡 _ =W Y< {g0>A[mlfкr͠홡:f 6-Wu()?>Ԑ , Y`CgcȖ-7+|1hy./=1(A ? Z/uà0넑 }.e9` #~JYz9fw}/Ԫw\/pd8^.pYxp⿕_Ű{]#1f#Gc}Mh0d_j6FTF?\6Z=z"H[|mS7Jު@%oRF^㌲7Jޚpn)}}׫K$o-FvȗHv/JN'4y_[*Z[tjT^٪o`y,"֝;I9$zQZeJG xfk.FN\2}QWkPQ ^jp|D'o`r1^i}`xIrBpz'UכK >ow{>=E'gRͽrnM7;G yZլ5?tl5s> Tvt!,х685BNA{c(:\F3FApVe>g3{yUSp!agrr…Ԃ_o{pjDGZ=v8CNE:WI%Hgq @$s (*)w>.XE%BPяP"D?E(Z9D?!q판8, āAYaBaX![Slo9w"rl%r=ʇ!2cEwjF֠ykB#o(ZA D? VяCнz\^Lu[d}ݲ%|hV \{ کWj>:X6۵DŽ\WLٮV:{jYn[>hT+-؎]QigQ}!{fn5='86 j.q D[)Y]ųd<%礉Qm!،j睞G`M۠N] [yUk<>ﴫz0qU(,@K ϽjS-@ f v9 E܅1ؙZ -{JWx),3*=}D+i4ZkAh" }r Kݔy'e|UXsM8IB6"OpħTE4pA2!%EٜKOF:1 +ɦ[LCz L 1iJr%r/ٟ_0KC? EdE[/w5_'?u dM h=#uB1}ߘoʥrX ݰ |_l?/+buǏ_Z{j=h}2›hOnâDzλ'2CvykKà->Q Ԧmoo uٍ*wϣJn-h|djU7#9aP._d>\|{;_.<?gz2]]e3jv?CG?QSwߍQ *u/NN?œ$/>靜GQj;ʢz$ Rfێ*N&4XF[1}ׁgۖΛ=786*ix$ p%@oõeta2^" l %ՂHO $ukUX un eM ;Z>Y@_ܦ?W-,~%V+PEcoQm:ulGJ5Ds{NY53ڱ6仧T>ݖaڰc}OY_zgO{8e5I"U#~I&ݱLh_6vKE&k5}>K\= )F6_6->jO+Q?̽?YJbJa?bA-cP:x_)_x2C njyzڶvXdy_^Qrr~7V IH V-̰PCW|OIMjٌueuskk=ygZ}1&}oc_3i31ml pU& V >N(x&v0C=!|{$[f^`W/${[NwڅT5_޽~ պ\/k(-yF?zۓۢ3%_a%YPvyb(|JrxPa`϶$T-axk7Zqn^i{$ E]> :US蜓(/))俀HǒIT h+覾a(Ĕ v{k9_p3KZWm U/;\'kVG_ڂHlpXr*/XY/Q6D2iu40zIPҚ1 f[߀Zw"™`Pԋ L7>nR7Ȓ'TG_ߏ2}^$2`;r*ozL_lLN/U?@:hZM&OEF#JI3.nW7hR‘hFAzblmU e[?kx|F#N@nUZMJ9r'.c F`2G =+ܷ@3?:iI?W 8ͮcc~Dq6Wk<*)B73s@NrCm鷇'0 +=2}b<ےE[|^}ae?lד=j-?k?u ?_oy'6HƳx@~2} (-~щ(qںwAa^r=ƳOAgD8"=tz/23%x1Y'҉( ^ʈfjStcXd8HI&p+NҌ7ZmNLɼ#A|} 4*W"eLC+&!aBt%n~z'\:]?~qeq-W_O¼Uþ~QiVaYe-?QEF׬|w#?q>z`y S|z,P\m[=xV|0uY}OIFc h>V ׫)* \?Nd4rѬyӊL(guA)^V]8\4 EXJ(w>E j_t?ДFW(V+sʺ,x0Qk#&#+6b`A(AIY(A3eS',=Ļ1{n䭹=SC<S7e35:1x@~l(A @ S%ސw*SM<"R_&FA hvݢdͪlMckngzG|׾h֎mU!ktȈdꍚq{22;-KPou?̀7eē2"7[v]"JO𷢵ZFK(-!Af$xUQ]eO.bRi ~Y*N| -pm3{YOr/(Y$J/"۩*)JWU$xXPhF"b<ū2N x\U AY2ΙFYn.39c2N'M"S?],i5rdIJ2v'ȉ2HQFq ;`:PǕÜVӽV<7Pr?G[7TQ6޼@(A {zGCj 냰rZƈ70X%?G@}_,snxsr8?oCċul^O8Be @.IE'i[⠬T4Z]ݿCTV$kg& 䌸Vd7 Z8r)B+tժC5l,r|!dPDA s az PBC2 ׬tNd qTXaR( W7+ƜDsKiP ;Ұǩhгa(O9td@B 7m`{i[*whLZSVZtk\NtѨuь{ȧ<dz/ C?wS|BGdmhH!zhwҶpar8 `P !ܰ  *o`a@ݭWPx4 ;|r3+ m0Qordޫ | F-KL NCj9DK'3,z,rP>pOEEVA gW ^zJ> Y5:N Oo ^ )O'0Zʌ"X`7}yGw?g)>f4{Q ,_yg2dC3;9љ2#|iW.£R!<<\Ja΢-0W0P,`B͡^xxtAKیnnAa1ˇa+ \57*Z="Oلn-inX.^S$&,`0 vgثZ8pG8ۃp-|Ե(c|>hW;;vlmBn;|u!vjX<ԅ }iA@uŦc1h4a'g+SSE&znmeٰ%zwO|^SD\R1gn+ \kp.P;+o \f`"3j[^]ɛ6J{ts聛 ;6ts}x8s t>]tyB{ZoU+&76PmVMno,t!.24:tyU7hkKm^ TG;mӮ,BNRV@RH4z|8ѡfı;{b,Kv6.ީX  ~V=as̴NZy:jG'vv* {v~g_| e|y?G)0"^N0c|G%jXz s5JE߯;1`t>g:z'S?Vh'W֥V)oK}')ytw;x^OOp1U릅~>23 nM*?# P̉pM2NuFynFYhi69#tP='ItRi`-hߋыiuOAl'o#-EqiRt 2]'#~x7o7+78$N)? p':R )Ad3,hx WiS[b}@q`~ZB9[&֍ؔVo}PCCf|csѣ8$sX]yuLfsKݞ1Ts6kjax:"aLT\VNd Rt?\[JlvgRԕea2#gfTttœ\.:jnHQ6g$IC%iQ%WtꪟB~6[ÜlpgxK3: E+ņN+qJBe]jXa6]10d+X>n^HI/jNR4 YS.t15x|q_r5?ł'P{o Аs^xպ2W e+ջvqa92i\jrծ)յ tF]T~yϣ6]| |)>^+%øC|4돰 ǭWKc67g 0x"Q_%O5|?o'$ 0}v)T01V _ydƀǭS (|'xsib#wѩx|#gaMp-LM>d穥JNi)dc[:e'O9p7M#SM1Mx"%T@Mz'}['t n6!%N6).-B]Y|CZ j_E *J1<1։þH,i'HUjvh $~㗄n_݋c<şvv13 |K%+|۠(+1}9Z6; ƷYfح`D_G51~a}p)~.o!3^ղ\?Y1dT Ѥ-@Fx+ H p= #ڒwn?P惏JG9|pEYL.8ȩoW*w73WeQ8aZz +T9ίLșT?oH47eM8}Xķ3h܁j^3Gjbz9]?Pxטҍ0ai 8i9,j&R?oy=yr)>JTi6N[ݺT,[mþvEۛ>b'_lKr?(7Q۲x6vBDs5N,Pn#`j!2:<G14$DV)~ajM}?C Y_?>G>F2uvn*lzIۃlK`"<UI*3 S~N)~)N11ewRzd891՘ d?i3j~?wɠ?y]_̕?='Zhqe Qv‡FB_3l`2O(y)?^-T*fp!g z7Xuwp=/t4v:<8c;â[̔N''$Et:F u:< QG$)X.y:_ϰA8}N՚K*xU(D)t{ZpݟS~~/k4ywU݅ۦ^_)gq lL(8=Z'w~O&v.Cw~t,8]N^t:;\/u1^`Ō9]-:]],#)ӭv4^]\(INg%^Uџ1Vyㅓ9q:-;}'`p-B1NS Li;Y2^qBohyo^ 1B^0(}'S_x8w̡<IjFQLkGN`!WϮY '+AzJR\6q1̧j|9*D0x`╳NWZ<.hؿKE믟|~S2ŹnvÂ7'j:DA*6/NOͨCe^8rL!s(D9IC<^6#,9O0vG<%E:T@V=Ft2ol94i18 @; GDz!̯ᯥ1%|\Bs'9ThAFU橀::=qE› Е ㊄72TW pd x6#x1@m/BW(Ư"7H3+H xF =PѕaGwdw%o8r09"b"2|@A芊$Xzt()!LjOȑ%+C$ %GJ]Qr8kĸ.J29MBWxcXknet Di+`BwlthFʚ#BW֜ oP4LB&%+nȥ_␀FJS^WބBcŒ$]SeRHQ!qA9H.]}Mu)V"wPqLlUMސiҹb[Fl#tXN\Rl/o@/]v͓֟I#kv2;t%[ϐmSCKdv:^J9+F .oxeʶjĹ O ˕BWeCWelʆ]QW  BWn@uL;^J@K+.3qwuFyVBWB>!])v_aH]Ɋ.cғfCt|X&(Abm0 n*Z!+͢GkP,Γe6tY8kJ1!F)ơ[ B.Q < 7^4c[19}š`\k!]]02SF 0t+ \5̛ȻBo'*!>aFf1"6v]!6|#50N 3PZwd1&>/$Yz w~yxxu_TA9+$Ι7apmBBztob]wbcݵcc_4;ZPuɻ¯wU#k(Z]L/$rNZ9-6'f9CKΉݐwe,u}IG71G .(8c/د`Il}'r&wHDb S`0鏧b“x'Vs׋h8-c͔b&+U3@b-W1Pq0O4MeGYXer|nge?C xg)dam:+}I?@s(efL/e"g?LY,l1J#sGJW_s+ڛAyWA]+O/hλfk`#\QJɖ*gu%邫' X/0AQ~*$pŝń p7ϮbHgS6BԤhkD8D~A;}U h ͘ОGCDGGz{/s8+&'ERtzC-*Npegd"ڔGT&3!" ׋rt;\Br ("[p56\aVZͮЎ 6Zͣls F Ȑ;+(Ա32Z ;ߔ8 ωequ6Lte/HHRpvٞ<&)Y'^>`C7 `F[ѧ @dw$CGŹnd"CD 2*#˅d?}Ǩp{ B3|Ǹ u9 1"V㻍!8k;a2|2<(0,1gfxQA5ָbvS(pO&Fz^bx>b<<1J{!s#*yaz:ai8ๆQ 0w /LZ+ 0K%S¨)`j*gq=o0f3%} p\<4sS] f* 0N` 0\T2=.LkpR$z.&K}T˲]Rҫ3Q /5m3;}} /.5x_"=/f{bżRpK,O/+4uxܼ,//fisڛ᥺[lwTw~]je8w9]tg%rBe&֥({uQSwR +˥KɾG{XXv4ӛ7,g.g| EĹǓ6{Դ׏ n\fsBHRcpǃ{ -ܷ齥zEY"[4Ǝ- -$m*ڢf9mQ|-}-Y<-gR|o-{4ZVjݗJ}Q4l?-g|/-- e8iilhEE-A+m矕6s}Y@sJY)25K3?(:s^PLƎL(x@&zP??Q3̦De>@f>"<$>I6{qܞ\izB22ex<<3d;!NnYNzʺNZ]q=qtrd99Dr~h\OyTU g9Z=GGHƗ51~{m>h& 4OXpVŷEc(+/"ZFq ߪ紤;zҭoU\IW·uz~zxmqFY[3eOoz~^yP⑀]BpS?bBTx[ktNM }:,DV}~X SeuH!y z2yi<3刎5Z#^bdfK!Q ^jp|.o`r1^i}`xIrBpz`.UכK >ow{>=E'gRͽrnM7;G yZլ5?tl5s> Tvt!,х685BNA{c(:\F3FApVe>g3{yUSp!agrr…Ԃ_o{pjT?zM;!+Εr!AI"9(D(E()C; Dʝ "ee+8Te1B#<UBh8*KGxĵ3B(b@Je ma clo!WLa(ʱŏF B(SzݩZ.rAяh(X9D?VAqh[ FJGTL-p^ (l ű૝z3xءce]yLyji׭uY)3F҂evEpݧiV#N}kBT]`U wY?G9<~ =GOǓQ$[:yB?Ն Y˘:iZ!Np;ʟKe[n,ė;A<O2o%0vnG=/W?؟X'ITRoDNXְWhcSo~4;FfscYynzމ }2ԛs>fx/&Q8d6|FL{rv%RвZ2_h+/tORu_q~<)~ccۢ_wCzVJ1H@PP䡨rDDFRu6{)5}∓h|/!OG~~?1__?A|EdE[/oW_gj2O~@}߸/op4(APA0ݰp-u~R(mzc?v/?O`a]jwkf5kvTT/pݨ>n]'ۖΛ=7=;voLɍC5bX0|?'w?tf3qz6ςfK13yu{ɏv~eƴ1NI Tvdl:'PiĦXF*Ke_cF_`/^-F0f ^ _lAinm _%Rxž|)K-7@@@ 0Cr_JGC)E”:erR~i/RJnU} C8ߢ>9,pYsm^$[J6 GBKvZ9q$AV~Qq#7eVVs ||J8 z5~L3͸ߖirm)m1,23hxOe 2SR?t