From 1c7c2a99c96144e89a45f6ecc5b56d1c2588a22e Mon Sep 17 00:00:00 2001 From: majsylw <58003896+majsylw@users.noreply.github.com> Date: Mon, 16 Aug 2021 11:08:04 +0200 Subject: [PATCH] add plot to documentation --- user_libs/DebyeFit/Readme.rst | 36 ++++++++++++++++++++++++---- user_libs/DebyeFit/docs/epsilon.png | Bin 0 -> 50299 bytes 2 files changed, 31 insertions(+), 5 deletions(-) create mode 100644 user_libs/DebyeFit/docs/epsilon.png diff --git a/user_libs/DebyeFit/Readme.rst b/user_libs/DebyeFit/Readme.rst index 1c5daab8..8523afe7 100644 --- a/user_libs/DebyeFit/Readme.rst +++ b/user_libs/DebyeFit/Readme.rst @@ -1,17 +1,43 @@ Fitting multi-pole Debye model to dielectric data ================================================= -In the ``user_libs`` sub-package is a module called ``DebyeFit`` which can be used to to fit a multi-Debye expansion to dielectric data, defined as +All electromagnetic phenomena are governed by the Maxwell's equations, which describing how electric and magnetic fields are distributed due to charges and currents, +and how they are changing in time. gprMax is open source software that simulates electromagnetic wave propagation by using +Yee's algorithm to solve (3+1)D Maxwell’s equations with Finite-Difference Time-Domain (FDTD) method. +The behavior of the electromagnetic wave is closely dependent on the material in which it propagates. +Some dispersive media have quite complex electromagnetic properties depending on the wavelength. +This, for example, means that for different frequencies the wave can propagate with a different speed in different materials. +This significantly affects the solver’s output. The main goal of the GSoC 2021 project was to enhance series of scripts, +which modelled electromagnetic properties of the variety range of materials. + +Multi-pole Debye model +====================== + +Electric permittivity is a complex function with both real and imaginary parts. +In general, as a hard and fast rule, the real part dictates the velocity of the medium while the imaginary part is related to the electromagnetic losses. +The generic form of dispersive media takes a form of + +.. math:: + + \epsilon(\omega) = \epsilon^{'}(\omega) - j\epsilon^{''}(\omega), + +where :math:`\omega` is the angular frequency, :math:`\epsilon^{'}` and :math:`\epsilon^{''}` are the real and imaginary parts of the permittivity respectively. + +In the ``user_libs`` sub-package is a module called ``DebyeFit`` which can be used to fit a multi-Debye expansion to dielectric data, defined as .. math:: \epsilon(\omega) = \epsilon_{\infty} + \sum_{i=1}^{N}\frac{\Delta\epsilon_{i}}{1+j\omega t_{0,i}}, -where :math:`\epsilon(\omega)` is frequency dependent dielectric properties, :math:`\Delta\epsilon` - difference between the real permittivity at zero and infinity frequency. +where :math:`\epsilon(\omega)` is frequency dependent dielectric permittivity, :math:`\Delta\epsilon` - difference between the real permittivity at zero and infinity frequency. :math:`\tau_{0}` is relaxation time (s), :math:`\epsilon_{\infty}` - real part of relative permittivity at infinity frequency, and :math:`N` is number of the Debye poles. The user can choose between Havriliak-Negami, Jonscher, Complex Refractive Index Mixing models, and arbitrary dielectric data derived experimentally -or calculated using some other function. +or calculated using some other function to fit the data to a multi-Debye expansion. + +
*U zyzX24I=Qy&IFR;{nWEptJ2g62c3!j| zk~La|c+l2`b+n8wpn`(msvohn13Nm|q;K<~8*51g3P;pCvaZJCrmNRow`}Od!J>ZW z6`2JE-&- BSjs|s~k5I{W ?jQF+Uxi2;BaXUwf7cSm?qzGy2IdlUsw;~qCr#~{GrwiR$-pVLU zp<^AQXI-4tr2f3A$Rcgwi=O*>B!v}h7vt 22QT+&{t689(yKP{MqNF`uzd zPf6yln(dsN?QpqDLIp^sFpw#eSkRx~?u*r6g)i_3HrqHJQXu_pO6wXui%L6{L%~O% zv>6tDpCO)mP3Z=z_?S|Ty?)D!fr}YR39#6xi>bAISec3z&jt=Yu%CA{`M_tq&z{D9 z4O{4_{OiIMC)He*q|&<)C1+C5$3o|!6wz?^=~OmyLcy018)1qt1W@@#2X|?em&}bE z3gr~JETnd?+v(xtDfr5Ph7duV-k^cLj$FkNq=sY@B)G~elSpPELCr&zkhg}fxRbAR z1!Z`kXqqpF@8J^H&QtNXawJPZXMA=w`Tf_81L4o50WzF*Zifp?0X%V!L4k8m=CTmx zEs`-TuqmrW(s1=I|0=s82-J%eY&wQ*Vgq=!)3>7V(0A>-i&kDN$=SS@7MlNt8p=0= zTUDd^&6q|Lb0jyHuwC3E!W^}(ms*k%118yL8OzzUHZ&`5^*K~>_1=YsWf!rkInyUG zcRcF TZEBxDu;h1IHB4Us{mK#Q|%TEs}iL&ox!4C?%~l)QgVEmnEn!+&V@ zr}<_n`|T9y;)OL2&HOY!+L*&HptHWLf@76Kf6N$~`mP5LHP}^D){+^sm?Wgw`tkzd zo(Sr_z_u?+KuhmlRnN#$3{%py9M5ru@V!HSEgP2Ulf|a+_lj 2>$IX5JZ+2g&*suEn}LSXF#cstjauvR&TXM!dq5!kErCBB^5H8&buTiTMxZ1 zc}+n`k_o)tG(4P^YoLGHcV&eSN(p=9kJ-*cdSDKUk=p_)j)Y)nzOWb?sP`Qg&!4Oe z8?D?$!gdw^fi{ne>o0tjis2*Xuv~z|Nj`*ICx;#h 9?U*u&*Pw}wk2c?&zOEDFQeB>? z>~!=`&)Qgfk=EvOlkMcFfQ>4dMAL$Kf_vNSsc{e@ejw{~>3mqNVsx#6PAo!YMsMpE zP}N{iR<%n`v@-KSwp@}jhU6Wa%0C*K2rFMz5RO`2STcWpda4JwNirs1U{gB(5MJyX zOipmUC}mIKHtCbsSU&yd9(X)trs4g)b~T`45WW(QshEb$tU#D1EsIG}?5d2M*y$ri z`)rG=XPe%fLAi;mphVZ*SSFPk985MC1K?c;XIdPBN|>ahgHIl*@95u<$;Ga1=$h2P zn5A@l{f8(@xF2=D12!w-k=KwSlnx&^GDs8ECYh!}suO@3dEjzH2NR8orHJJz_dwAx zQxC;}oF>E6C*hXmQGva$zv<0ga@$4JZV<|w3EWW@3d{Qw`CT!r5rg4^kW6RVb;xg) zw0V!6bqLIcnBYFPDb}SIE~0Ht;XfC`xPicAyUMa)_6z#E_oOfKz Mr1aO^EYv92WRu{oLxUTmn!tEKe +Y4De2M*9_pq({MjAf*av)xc% 8z&H zH3R%I3fB-^LqM`5U!{0yQ57`^sS|hW=RI%8EIS0F*Cg0u jGlr tm~5D1qkR2=ax4=G?BA1QCMZ_!>=zNgkef2YKF45J(hIk(TbZVn zOcsy5-shIcf=(zTyC^m)onbh{Na_-~E*Awy=k!okfl2;JMV=aiaOa`DJxgNvJ z4l>*+8k ~h) zWk<0TGH$qNZny_@sCR5{tuqSCaT99CkKb;nSIjaf@(^*Cgxy&2JXLN7J*FlkS4Cmi z#T}s3%&^Kwt5g}e0~u<*oCP`x5I%1&)hdQ
K&sckGKv2p&A^0FYUW zPl^6;G1g4cgaaG4u)vv>)9pX+&vCE+=2$K0fjKI71kXf}00vqdfUf0AF>L21xmNf8 zWuF{%&1f2$Wmp<`Sc1<$kl=Z^c d-foM!!y zoiq |ut?-^LuqaS~_A(H|t*^YR{3GwjU05wYKFJQN)8`WJK9IFqJ2_kSL zCuc04Dd?6ECvRigPq$yYxmL8hP#+F)-glz>E~*N`F(W7?@gQwDwinyV&f*i{QFCZ^ z;kTYQjiaIS2?aW6%}O{&{4wtZ>s|dwxJ?tb #5Q_jzUwAlep^to00^cttsRTy$SgF@o#O<_ zGzlG~U#+>dLv>i`50_W^T^%>KeXxu-!E`|~yM&; @VY4U2BXB5llQ}-*aNXwqOLTlCymv84b=fwxWP(`V_9 zGO0%o&1$+LX373}GBMv5*`?v_xHs0GAU|ZrP;0K;u04D1Vx*ZpxC@a#t@+FquOxdg z(i%EDO9JexPRn8E|FP$DkCI{{lMD9uAo#X;pGk-jm@=rS#2V@dCgEs?w{$Is3&r6e z^5X*#`NEzz*}OIu6Kfw}u=_QFu*b!XI9uRNF=~)^&*lvJ8j?OC(&oo}k17lWECq@x z-5-6ijs6&CBPqi1H|)%I0=RMXnV>*lg{2nWaz*zbG98#uk4Zc$D3B%ZIz6v@%`s`< zgql=jiJxl(dP*8)STx)_cKG7V3kUm rzd?`4SjYT z+WxiTaT>_a*#74+8=MeTNuUM;AOyg69y@?w Pnzuo^pCZzf{d%B$WsP`s?Fgx`DzMHn8fu2tS`Gw zVh(A}Be5ZsaeDEh8%Yk(;`~N`Eb-HiR#u3F?`(kWIZ!%-*KNU1e-VxzmSZ)1{|{rc zdoNDJVI&g;7}yRnz?4J%9+FiVNPui~7v! ZUDGwp w4b z+_XM6T{*I)XJ-PqOsQ9{HO7f(dy_G|W*^-~;Tv?q*DkceM>k6J?a-6bM`-85v@{IV z|7 kCN`$#JZaW{huz0PFx!7{+kO&&!1_lHkC2+kRv#uT=QbG+1AM&1i9p|7 zao19`Vm5{FXxxBn@x=Muopd2&1p b4kBG(-p96XTAC@8&?iS~{#=bMW= zmwkQxIg#e{BQ?RWNnWm9yD$>OZWQ#B+xPGPz|PcM1M@D`i2c VaE| z`Aumt-PND9(aE)c#{zfq&P`c6ei#q{1|kg{$g!kO2Pva2*Uspr?Kg5CoSZBNNrYIv zOuIzlN~VP~F*DCrC@j8d%fD#ZUXb6K;IAA7Ju`>*+DC^Ec*quvUJ;+Ge|*gL$i{8F zyu8HVpDb{o3Zh{7e|>qO8k1EU=Wv3bBgd4cRXN+#%iTxNOYMs|W19eW4KZn^6Uy@e ztT;|+&aBBC9rcH2Ik`nwZbL>oM}J?!x39Wuej>)##pK<(y=^6=o$>v?wG<{jV|LIk z6lY{ot^A-)U!d~nKd*iAqk$q ;s7U}SCQ<@Luu7fYC2*e|cxW6Sck*yh33 zHSf)k2wx69ZQoH$Ly~e_abvCT7Q1Vnb8W!_vYJ|2_x4@l 4`l<+TZID`{zI z+nc+fhH^gqO-7>$@XKqDS;ySB>-}9?VkuV>6IVyB%pSsPPJcbz4Q>%tJkD(L5nrY4 zUb)+d>tqv-;u2~GDXn9BEhy}YXfdnU*|aMgAj~$*2*Z?&75f1llVNTHjVa;SD=Yq= zy(0d@9RT9fO+*O`weJUL79`5Iij 9~AbhWsuOlI616BN@%-T2kQv<(SV_Jg2u# qFRBwvjTb3sS$H9N6f(^2&7qEV(kPpLs!=#%aHb^odDECX}})B+;qjSjqr z8ACZSZaD I4 z!|O+Oadz+8yEhW|?T=L_<~nYQEk$Nu&Y&F2M+WqbUPF=dON;s2w)~ne!oX~zrR|6F zM?Z+K=fCU+;fSk%VL=o*IY5vk!{NdsBFaGke%cxWtc&m6!LGht@ku$qPg$ppSlOg~ zq})d3xDXt)O7En-2RJ>LeEb+YgcQYOx(oq x(- zf0QcV@>{q6_ag>{z@XL;kjKb)7o_d$@QHT`3x|;HbFoGm<>IcNztIBl=R08p7-bvO z^MdC(9JY%aPrPwtII751g7F`OQ@{MRkhQ?G?*k^{L4tFKOlu=AJmJm;ml3%r1rE3} zTxf+9r?WfYY>Qa#Bf1bok1-rES)^3FJp2Lm40+>ZFb=wsjxw^0p;5VJ)f+Lke3MYo z%sK2(6=mi4e?~ c#DC(4&xU)G6F zYwdNvm~RPo=H!jA&tX={y!I?c`4+eS(2AFg9~!UM|BfwXCsWvGe;O@S;V4qEwH3l} zE>jE?Clh3^d)d~H# qWu(63!ZW;@+Pi D?^ zaAKV{d1T90|A +~r8*pr%b zdF4efP*8rM{awv18LGpi)|Hf1SzT=c6m7mw*n5YZ9J>!;Ori=6i-`DcYv29UqB0UY zi}E;nf{{Bzv%VC4+eB904h0S-rp^%WYw(}tIo1{|B*oqL0s20dZvS0`Xw^9%=ZWeh zAD>s^e8kCp^^QTI1BCnS_WKv@eiZvrIBwWwHX1&9Us-t;4HgOihyXhEA}%hjlNMdv zKPp^kO#`Kwb@uPCr^&01@l#9`Lv;)W{zXuqL`~nX|J2Zc2u+}sejGfS^-2%RNri&H zerGn#!{*VHJ>_ri@3H@O>2}PzjAD90Jt>+fpWwn1n3Z%GM8i;S)rirX3iG~ry0N-L z3=Zgjieu#V`1p7m{RzaJV{!7|rsqHI?GVTspi NYw-4}!R4p|iikXsnCw=`q-<~s z3bo(oBJ#5Tk;6{yb1>!z9Hjn0z1c;wk8&DhJ4eCYjQ*A+Lqx*&2v9!}YZ7r2x}TvC zCOV=tXXM}*arWcnq p2+ErX2eEhC8z4g=GyzVSN=F+*7F`vE)Yg zB@q#lOp_&ITyiD?*!>Zy$r!qQYWQ30v ygByE*n) z1u-bF%VWLkSN0Td-5&HvlGbC_D}e(KrsXbl)#w=HCfCEZ!}jKGPR%D91v@c>Y2tj| zk{3ki-)pX0r~8W6V(k3cC9m8^0)>EANo7asQfQA3T3K27# {dd-uteO7EOj}-EMjHd6UO `s;7hW0Zr_(kg& o&cHs*_-`W?BeIA+y2-*1Umpnqd12C;#{ZR@8~E- zq=X@|<9_G8LgSTGi#(8_Q?$AC1PLACWZ_ldIA7y*OEmlZLQ$caD%-vdu$I5Ej$iVz z{r3+z>j}h7rVyi?ql`{DaRl_}yV`~+XAW`yP^#W@n9~RcL9P6p018JQ8JPzt=SbRu znotcXfoOT%<6~P$$2a$oU=9K%&ig$vPP>7eI%o)J7(_)zR-h1?=~!AYDo|jsYJBnr z<3C+`Lyst{s5nR;^q0(x7G^plX?yK*yD$8Tayz0gI5@z_LF?Kk5sI+zYK7qO_xDg= z6O2p*Pi#a HTBi0lMf@(MVW*MM*+c*LUyWAD{!lH7}T<_x1Msz7maah zWHqe1igf&q|GNN>)2BBQM_!!IHsc?1?}vqzVqS0wZi&oysAfF+;#PzQ5rlQBedfP= z#x}iS&TQTV^8!YLQ=;yySeS!yWq+|(pY}E0+GuGcl7uiS3|S~@A&O|XA1SinPq%qa zf5QwvnO_;anz0Z2Ht!4_BBdRmRf<41(JO#lKKJ=m-Q03L@(BkZ53a3Z;^HLFCT*UX z(Jq^>FZ{75#(;HaUHW-C7ODgmgG5b2$p`n(S!S(2#i^%KG!Y^4R}5Z9x84@Yqks$v zHCw6b(KY(sa $y8Gl9Ox2OjebYAxn4t;=r#Le zKjrK9#msJv%p$&2HKKF>Iu8|xvbs7CK$~J52)+IN)X!Zf&J*|pnK9@(G}r;fRg-%4 z`%y!sG(tsFfp=&DZ73;Ak;-$Tlt wh0&M zJYRjWC#XiW&`o+y(l#*I*Yz1hrU SpJG9tH}*YVwAWP4^?sF+&$)v!Avi zAB`QuexC)isBR%7oXA^ TgzDOwkrYP4}@*5g6YnEX`_k_~cUn*#8c_0EwLq%0o=ff2(8)V-OnC z%XieDZIw(O6}xa>oKDlQePpgiwqZ~d3KD$}(Z;7Ndabs7AJEJtH3(q+sf9}~v4F|Z zPPXLcf|Hz@FZ4~gvc7@HQgq<=nH;Nkc-C75Q!}_{wFi=Eb%t3$l6!E#ccP{D5GOGO zSZM49~?^plmtRF%n2SG20KTsG3*W9 yikc`Rq{;o@E`JXcud(MA3N6ix5oX#VKikWkUi8PR!woni z%7z_S2N(_P2qh6IOHj?uVp=zmw}Bn9FC~VoLagd>eA(HTef|9nz}>y($Bsa2UWyoJ zWNZYef{=eekKygu>%T^r@z8a^D2i{D+VzMHGpQNL>IQy66OT-Q NH&1T}X& z++l -EMjB%~iZ@H^)9CE&Nq-VF|WI%p^M1}GMr$9YDObX9hV h#Uz~w4lgO!wNW5` za;o*$*e}l3Jv}9fp| zj%OIkkzw70Rs2nzE8YKv2ctuSFSWXG6b6}@jh!2HQl1nocl_N_mvEJ!BIi&5ucwXK za2ePf$WpEVGCi_6-o1NA^swYtfbbmwF~J~MlaJZJgexpDIk^Gk0U|>>9LV;DWKob! z5HX{0(F`XFO>Tg;;s71R015N}Yu_m<8j76ew6e#4?wgl&7J*V6#caFhv;lIB&enFA zGLX^6>92n9t-G;1J>ZT9FB$(z2~KPhkaDxI2Xxj=Qc6*M)o0(W(aA0kd*D94zdvZp zp`T4PpPqgm39;Q^iWD;nx^pt&o2XO)87?0o A<$Kbd(7Aa z+Msv>&tigWkRCs37=(sTd*S$ZIB4c~s~tQ@bg!2^E>*pTfl^#jwuZe7?E66N@&15L zAKJgMBdew@lVi#e>+_JP0p@bOUcs$-$6{79Rn(A66ZSYCzvkT7WBoMi+;y!$-JCVD zF`G0Tf2620eviHwz3FZN_#YT@Fk3<9h(p>{(rQ<1&>2F38A)UsDq-hccdlfmy=jqO zuH1(my0K{Sk2NujAtp6AggobfP*>t4Qbh+Rf4qu6h2=-%WwZEyZ<)n2v=+4ho`a<4 z5a!L =C?{CVq6@_1FGy;heJr&69Hk1)f_3v-3*C#r>OFt@r` z!OhEDFhcZr#x@CyQFqbu*Nqt?8|*+O*jA|On00ZRl(-w=ldIjA@JDlE<|~G(ZPeCx zpdpPNf_MNDH*+i2lqR_%7n7-(S!h($lhT0J bk+})3d=EYHHsZya#H1D4P)m6g0KMRn%|f<%twq`b(qUWb|M0?^f1o z3YZ7An9y>>&wuEIpu7{6O_3+41CuOg0N_457ob>(tso0Lx8xp+TG_GC2ys`}=XP;g zeq$R=3Tnm0jF%QWBB@tJSC~{>v2 IxeZ?9Lh<56m>Ca3a8Do6Qd zGoN_U($;9EeH~Hlbjz_So^A{sSZ|5eVC6{{f6|Uwku1SFi;Ihxl&>X)9$NLD)32#v zcT%NogTpN7mLQYXWReb-MCNVrUF!3O*T#&*#JfhjIwCQ1rJ~Tip`~b{!_-u*ugqV` zOK?*>ok&S`qU+1MaWFCw`miEhJEdD-Y^+#;!R(AmMOlSRq1Qp(K-z_9<5rsf`qwMc zS6x)gYbrdq!$^_u7LHaR;-Q@@E{4|D)SQO|peR-l0OG_@0M0@N?-^ f#w=WEeUNCRTnb zaJ@V}@$BNSDDiBq6Cv&Wy1F${k}WMXadR1w5^R}@8 zie+1_- M+>RNNMqdh5c$~d>LPuiikKk`E6%U>6I`(?&l6gZZ+?awHs1}N)p zVliw3Q%Bjpz~~kz+*Jjx6C}VRGwsHG@!IQSYYw#L3NOq}_dg5}`V?uAa_3=Rq%sK_ zczGvZ%+Gs(l25p;gmge?`HLO>T3T8}oeX>;>GDW>wDVU>p~L)rmBs7B@7@i{ft^tf z)m)Y4d)jIF!U*>aZW=Q)vxcms$KlQ~2w?AITt>G;Tf>gtb{C%242L64(d1{~03bQp z19|#{2vZ}~vzGM{i~rjCan(c;QXg`gx4}<9o`i1bGC$%qqo3&RyMVm$G18&Qf%>cH zsWrqOppN9cJD&KTUM^oj9zIm)6$qo=gK!rGz7cvlX5cuZh?x70p>KDA8kA_;5X}!9 zOoR>#FuDG_^>I~B|C|Vzy3O1Y0n4yQr=;;HUs)MXUx4!H-z}qTc0LVVVL^-pxs7l{ zxP3S%wBnCIsDEkzl{%||6C>K5{eZ3r-BakWAk*xB|GqA8LDfj1f0Rk2-wKD5F{%op z-k}pNsLPE8=4-ZX=V89saV0L7zmX$Rtg@<#P{L`}2tsHfWUq$TNS=Un&d`8{=sl>n z*VLd_>EL?7*(}@?g;2rhK>%e{LVAuo_f5^sv%%k>x*k=sjSyD9U!fBkWjTjZMGZxt z!7ZIDNqB?k8Ic|6f6CR>)ut^k6wf&u0h;KBsE16%(rsB M<5wfbfTbLW`8&nc4j6eZUG~y>TVEzl*i(J}y88 z!UJR^>JYM6k-^Xe6LcDO7)}Fqz66*=w+J$$v~z(0|8=$c??^@niUdq76LczIF?hNB zQZA#NDivVyMgjbqU9|d)e;I5;t*6bOl?=IDP^)b2!5Q|VS1nZrvx~6|OdtRuNGJNY zM9dr>jIqm;EG7^rY3S)~#zQ0kC>K&RnB8rpc%}bvSJF|X!rOj#Vsav&?D%twzr6xS zWLRY6 %-I&5T2w7m;*Aa9R3PN zq)gUA+s9*RX-N}-cw|Xo#F%mtN1y-xCOy(X#v9ZDWa?WH7#J8H91;-FgY}hw_XGY% zJum`tr*ChpGw?&3Q}LWG(xXANZ9qVpydZ<>6}}Y4C?V!&dO}FU6PbE80v~*oK7ie2 z*O6ISSsCp VkROMz?lh^U-g%>4ZP!CEN8 y?O&P{GA@5;FQtg z-)&N%i9l7d#%ou?g!-WvG=&_wI76|l%^+)_cwyJk{#i;9VTj9v1Tge<)cM|nOen16 z6-fnj V)TNbZ5aQPJ4g7{xZAz053HBmC;KGG7kP3lOra(WPs_?hXyXG06KeX7e7a zx>Q~9j_U=$YKu5kU$AN`COV?1p(n70vo!P|q(<`0WuvM3_|Xif9nBgslx=5m*rQ$w zzjtr&r?ghowQDN~@ne&D^Z~3;&wwR2D=XN|3^emF^2$xQ@LqE(P%I{QFw#+rvtV{8 zx5FdEm*y^ZR# FI@d~TpEHOEv`2O)hztvXG`Y>^( z7V@rvYIt5}v$HcB>4DF}QJbBJT&O>%60fM?>e53m8kCP6;|3swC7CbDA5Mbvk1=4U zpytqTl_~*=Y0ZX{Q~~^m&p5H<-Z{%mVKo<0v3@G4z=zZXD0Ng $@ayse#yVMOXl*hDPUlwqSN~NThaM1 zI`| B@iH7sJO)BY%Bb| zG*CCCU^C^lzw$d7AH}<@tI4ItJjjwA#)2X=F4cNx#uvDl!T`qtTC7C$B3W+#^|U#= z>i6$g=lgY^!u5z#7=Pl-689VLGay?xe%8btDOROo%Mp|u)hw&KzPfsFhPiWRw^97q zMoaRZ0YPAkU#!c7r(c71Akunz9B7XL?hund +`iOysPBtiNglDGWVXJeI7yIxj8- z1gw-K6zx#ulOPNIpUSR09?JIXGh=In$TEZwSyE#nk+mA4JSr+{$P`Mp6l13-%P1aU zWK77CCu7T4vW+l`$&w=bAf_x?#+vQDMm@jnT|S@p`WSz>XXd_K_kCaId(Qcu^R;iE z{1X!p5)k0yeEqs0#_r1)2>k^Oe+U7|1hXa!%ab`^VVF}Z2cGc@vOldBtZ;>TQmj#F zbi}aZ8S|oVf3hlbSVM*~+S{SJ$0&DScTZS&21>WKw}T}07;`?rzzSJH%7yMxLA)P! zI9*)xPSz!zKVU$LDG`$BvrTVuGv^0!+dDNNzu^8zN=ASIvd2Lo4#33UxIhO$#~ZYV zwU?d%MZvXt(N5Q|$EBpa2g$zkllOjH1%!BJp>!{ZAf$|e8`QtJ=^2Ptn}d2m@Yn>k zbKAiB3o{=#X1*kReh2p!E@F*j-0tJRdk_bmu~D45tQ@OpM?YDw+ZoUJeCwzOftRP? zIy1i&tQ|}n@xlLMKkQKYQv_fq_N7P_)EUN+=Z1Er1f%3cH)Y$|x;9`lF~n zdQ!&ng(1%plQkyuFCneS$nb=6GN1@q=lB3Z<9V?+Qbiix0GP=H(33v}=mB#yJ$)P8 z%nc06X=VpcCh5fHtTo>R&Y>FwjRh73sPjrv1_YOFo{h}VCGy%}5=3~;r}Z1C7 QPQ{t+H84v2(e%PUvnvB+$t(Z=THy&@tOwBjtcY)yIb zevl ^BMmwp`QJmeC*>;0`egMt>C6>5I(QsX6YJK;|9V@ z?^;?GbU*-RUS~xwr|8V~=GF{Iwi8O*s|d--XWZQjJm&4eVa1}tBJ@TwSdDyAZBN|0 zJu?x>eXLUvi3gu71dK$4(se1g5wd3}z+ZXIp!g09Be`o>P__^T42#s8m|(yHFaX-c z5#k;rlyzJ}!s*~(U4VSQj*qVqINcfcE5jZ{p2-0+ KQ#CiQ#f=5ciCmpV^(5pvziqXA8jF` zpPJ}Z8QiCf+LoWPSM961cby~O0`V0`b_=8LOcDHg8sjoMU&8M~D<9gk+F1qeAJcl9 zn36DirGw17_M58LD60H4Q!6A&v2$qbMlji*9=c@8IyIcE_98x#t=-z@ThJ?+J0&1v z4*vPhmlqE(sZ!7IAP&JKHC4tR>a@f7@x5EIsq2C#Kpe1n5N%1%jea2^&<5E^?I%c4 ztbx}c?~d%F6YAbblXcZDOs_|mDA^xPbq1T-ow}f5=%gN#h>8U!D-FB`XH=Nmx1(X{ zlX=J-JPtN6YE{U&$fw~X=b24X-w)=?9Pu!L&pLLXzg=Z_-$~G&-<)<_iu218RSs&6 zzO(C$`%0$Z?>Dw62>VyFI1o2?uTp0;P)d8z*na6q6c6ylT%M}#cphx+v4K%PC7HzJ zoe{6( C>M!cgCwdtE1_${*YCaUOsY*V z;2b}9y;LN&2ba{{_e{Flrx$aE+`X_4QTEp25E)`vmZLon5IpNlt@;mrSj!;nZJDnZ zw-IH?iEnpz!q5Nn``0#Y&Y-nhl8YoPzTe3?I&rSTUS8boyOz~m<(A}kE(ozgq)-|Y zWmY>?Na% mp_2mwPXvw2R{q*_wziV+UroQL<5`?S^Y+!E{CYmLnf^Q(ZPp zg&&tKrYWC5_0a`l*90Cf-;Grab3djOj&w>PmA&W(VIwHhy$1*? 8flpc8 zs*p%Ek_G%gHHyj69n#>UvK|~QsY1Ert)&}p1b7oSv1=dUuRp-O2jJds;jiDr870V^ z+Wz?{loFbHlQ0#t641+VZ CjK3~s~@h~1%ExvsF}7vQw7n~ zJh?QRY#9jl8Xe+WArWpQSSeDW=3o;*lS@CYQgnZeKkB+fXe*?Q#InV H3*)6J9`EA$3g}r5{}cyp z1MvhE7H8I0C0*tCcR+AMqUgI8np#diMp(kbc#UN<{oJjBgo?=aVcT?f6rhP7_|cS? zW=T5%v_RUI(d7PmwLPjjK(_2dEOKQZ`XC&w&W5dYj79$Oz~x09a$=Z*lc3;~(NsG$ zRU1v^LYsVsVfM)gQDX7C6y9LuR&|E2JS>+rb04S$>W%_fqzF_;JGB L(_=}ta$OPZq-c}ZGkQw9B^7lY z`F$(XR0%%TV~b+1c=Mrsx2Uivlsn*nADlb2$>T{PEnh&+L{(5?13{U2gQB5iy<%-C zbi&`K&VhKj{d$z;k#Xt;+Mvv1d)B+8ZYPnhoXA7AEy-w&@*t6eoZsAuS1*~Q7I%%w zk$2HBT+L5%Xpf$=2J+rs?)Q wd-13{Kl(*+ZZ3T;JOXKcs z^OeVV8GdMnn}3Fz55vv(=f=ca=(I13MK%&jzM3HL{V}GjWl#|tSBpf8bQ%71<+TOS z2+|B}5rq1C{m|2!j|T;QI2hPonGEF5%WC;kRTW6dh@zkQ7a-FVzKq?thB+ kwEkjj{8X%MFzx0{FG675^me&Bw+ow*%y` zUeT!NlCRW|F{&S*Cr6RAgWy8O2%kmc MA~$ydMq q#un!;hKquOuqj z=aU%uBuWUY|4)gP`_5I{l`_TY%00M; NBl;(&1Gdi@mlho zu-D!jYRkI8lWUpsK=t}tRQhX@kBu?HE;|dVB)zv$o!fz!X3;n=lW44<+4W-J1%K4- zjIXT;8V17gElS@4cV*4Gm>EahiA`apDy&4JWGsxBcb*r%H|8w9{-w&~yjhVJzlM1~ z2W&tX^B81sMSsoRiTq~4Aj>6%bqW}w(Hk83hn!K-Nuot|8EXKGs4k_~J={7(!A%NI zQ=Y|k)fi=!nEhP<_BT}WJ_aHKVQZ{YY0z#h_WY2-^~vl%&Hu-Dc^Mv9exAE!iZ+3T zB6DDK81lS_#U%$B{ kMg zc0~bR6ZCGrL;T<)85clo>>nQ)peEzK|HE<%-28XT{ZESy!YIFoqWu38a{X`ca0d$t zWMGlsDR7&&cM|)(&i0C;C08~A?1YPgs)y^AG6ni7y0*6srPt|x%RGlOBxYT8&7ZA| z_O#taQ?CISaO36~fGYbgdug$N*(r7^)5>L*H?8Btj8^?%d(T4{M3QQZ<{|`5)$H!$ zF__*jwoGf8Fm@1{^L4 (NtXx9?Vu8AY7UrOnZ{G|KfSiH!9R!QAWj4av%~8hU4bHfi#-akc zn%lqI${;k)U)zlkA7b6@S=S%NJSDRP5!Aua^a>s!Cw$P<6$ wKU*7MY4gBE-;UFwNkXxx{&3X@R{ZtR&yS_5wBLLAZH2&eB>GO%X$@2Mi6fqN%sg zR0aiikbr)O0fb+hFf7tdrx_p~w*FVEPxNI}>aA_Q(%G-GZgb*!7k6O>H5|B1uT6AG z*&mms;Bro4k6({P>Of4>c1?4*&u@n)0RJcD*Odj`C$}M#(T&V4(IW9V;p^^@E2A4F zA)j7{9P{J{rgI_$cC+wUo7<5GI&Q(R+fV{jSNYMZE9)>zA=E8Qh)mZgKcmN{d??>? z%nMe;Lf<5^IYB>%RfQE|k(assYNQG1*~afF^P+Qy+kCUOA^!fnn|eT5tq0zf8QD|U z!_epk#)!JkUa+9uwrli@ug;UOvFt^5F-U^fR%}ZHKdnY4>B;8fR)*et>r_r^! Gp z)175#Me;WGJ6m |fa{DdOtiX(F?+P(^$DTX^U}Eph&$Vnd2!J0 z)GY61Gw{-kzNXqVx=D<2Yx>-E=xiD@P8XZQg)rMbR|#Xjy!L NelMq zY?{T>TNVo-82_FDuG{PnSA~SDb>t047dyVYV{h6R?L8CPUt=KB?xz)Iq5Y}`@;F3* z{^UYC5G~-X{@iR`H3WV %KEUGp$C*erG zZ+#u~IEKPfxtpH!BGX?yaLR9bvYc2&pI3FAsXx`0!nN@_a{27oow^<^$%-!PRG?46 z7dH{bXbwG{WaG-cj<4=QJpVCB`<^#avvk8&rQXWbR}8%s+vPoR5VovR+00nIrQ+tN zHmB_r?%9T-ZI3MK`bkuXI%9FZF`Dun5C?DM`Zf#R%Ip9I*Bn+A`aJAVw4&t9igwP! zJukp=Qvu@#>`)64N7EL&PnCU!-tr^N0)Z*t+HK-#XN+Ws; y;8p%L;nkeS-wnU`~ub7f-|Y2vx=K9tmfng#9Pe^XLC^Wa@nH^MvV(lE(=)@zJ9} zA*9ohpq@|G>G$Ibn^J^ea`(3#D7EisHNRG_6) n4dyk-lN9WCc9ZF~`PrCH#wF9)R+!dp$W8YCc+5<%OG9 z&(7)>p8?NSqXM&h5al?mOVfyB8=&iPoZaPvkxUgX>w i&@G2U~VGu!=o;ynY;0OTh 45%E0VWz_4b76iE5xpfx@FxNzuq0-M0LTOQFp~(tdWoTdwV6 z(RX$+H4xtd-UN6mH8=Q75l@q2k;hX)!+<~L1sp^Qu608_gfqYK`{#v{+}!Au)hpx> z5r)5gfaEr?F%!Oa`|y$n W;eiZiJ5kCI1oraSNWS0zwT{E z&yMm&v-ChkMt6U;>4K})MrP}0w3tgxg?Zcb;1jGt9y5<^2d(7E=99KLOPf+s= nFha5fA_LMVTFnxnG zU#@TCnohcH( UswB_ zVInQzqTRNtbs7>NZ2+GoH(&O2M^+Id$3KNKjx?mG2b7T1U!Rfz(~MG~tf85$o{YW$ z45Ys|9q4Wj4!S5kM&?ME7CukY-`lQnBHL|>hjt`AnN-$s>U`-@%ErE2+-I<__Kkaj zr^q(rSEMgveSiCyUaQ&Nc?^g1m8{&>FQzCYrL;-$O?7T2xO|tKeqlDYdbl@eMDK>C z3eaFu5}54#8Ee-N=oZXYT&2RRbp4R0Am;6iJ`>es?Vy^hPfA@xLkiB>(?46BA}Y0d z(sjnr;sLXnW#litKQRADBh5~t;on&C-@