From fc139b706813adef60a886dc23f4a37c9db90013 Mon Sep 17 00:00:00 2001 From: Seven Du Date: Tue, 16 Jul 2019 17:50:31 +0400 Subject: [PATCH] FS-11934 add some conference test cases --- .../applications/mod_conference/.gitignore | 5 + .../applications/mod_conference/Makefile.am | 19 +++ .../mod_conference/test/conf/font/AEH.ttf | Bin 0 -> 40936 bytes .../mod_conference/test/conf/freeswitch.xml | 52 ++++++++ .../mod_conference/test/images/signalwire.png | Bin 0 -> 58688 bytes .../mod_conference/test/test_image.c | 113 ++++++++++++++++++ .../mod_conference/test/test_member.c | 94 +++++++++++++++ 7 files changed, 283 insertions(+) create mode 100644 src/mod/applications/mod_conference/.gitignore create mode 100644 src/mod/applications/mod_conference/test/conf/font/AEH.ttf create mode 100644 src/mod/applications/mod_conference/test/conf/freeswitch.xml create mode 100644 src/mod/applications/mod_conference/test/images/signalwire.png create mode 100644 src/mod/applications/mod_conference/test/test_image.c create mode 100644 src/mod/applications/mod_conference/test/test_member.c diff --git a/src/mod/applications/mod_conference/.gitignore b/src/mod/applications/mod_conference/.gitignore new file mode 100644 index 0000000000..dcc5b25a2b --- /dev/null +++ b/src/mod/applications/mod_conference/.gitignore @@ -0,0 +1,5 @@ +conf/freeswitch.xml.fsxml +test/images/logo-*.png +test/images/signalwire-scaled-*.png +test/test_image +test/test_member diff --git a/src/mod/applications/mod_conference/Makefile.am b/src/mod/applications/mod_conference/Makefile.am index 79bb550408..581228e743 100644 --- a/src/mod/applications/mod_conference/Makefile.am +++ b/src/mod/applications/mod_conference/Makefile.am @@ -15,3 +15,22 @@ mod_conference_la_LDFLAGS += -lopenal -lm mod_conference_la_CFLAGS += -DOPENAL_POSITIONING endif + +noinst_LTLIBRARIES = libmodconference.la + +libmodconference_la_SOURCES = $(mod_conference_la_SOURCES) +libmodconference_la_CFLAGS = $(AM_CFLAGS) -I. + +noinst_PROGRAMS = test/test_image test/test_member + +test_test_image_SOURCES = test/test_image.c +test_test_image_CFLAGS = $(AM_CFLAGS) -I. +test_test_image_LDFLAGS = $(AM_LDFLAGS) -avoid-version -no-undefined $(freeswitch_LDFLAGS) $(switch_builddir)/libfreeswitch.la $(CORE_LIBS) $(APR_LIBS) +test_test_image_LDADD = libmodconference.la + +test_test_member_SOURCES = test/test_member.c +test_test_member_CFLAGS = $(AM_CFLAGS) -I. +test_test_member_LDFLAGS = $(AM_LDFLAGS) -avoid-version -no-undefined $(freeswitch_LDFLAGS) $(switch_builddir)/libfreeswitch.la $(CORE_LIBS) $(APR_LIBS) +test_test_member_LDADD = libmodconference.la + +TESTS = $(noinst_PROGRAMS) diff --git a/src/mod/applications/mod_conference/test/conf/font/AEH.ttf b/src/mod/applications/mod_conference/test/conf/font/AEH.ttf new file mode 100644 index 0000000000000000000000000000000000000000..5a4f54472c019a6382ee41cd3c3bc8849ddb484b GIT binary patch literal 40936 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 SKjYo?sZDLqE6TR^T=759%>DWR literal 0 HcmV?d00001 diff --git a/src/mod/applications/mod_conference/test/conf/freeswitch.xml b/src/mod/applications/mod_conference/test/conf/freeswitch.xml new file mode 100644 index 0000000000..ce76dc66f5 --- /dev/null +++ b/src/mod/applications/mod_conference/test/conf/freeswitch.xml @@ -0,0 +1,52 @@ + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + +
+
diff --git a/src/mod/applications/mod_conference/test/images/signalwire.png b/src/mod/applications/mod_conference/test/images/signalwire.png new file mode 100644 index 0000000000000000000000000000000000000000..8e40bf12035be2f72ea27d9460ed7fb507bb945f GIT binary patch literal 58688 zcmZsCWmp?)&~|VuQYcW|-QB&o6?d0VoZ@c99a=nSi#x@=I214L?gV#|kMq9YpZD}! z*Cv}EyEFI9+#~z!lcvgoLUr~m)}U0&{kIskwa^!j@S8S(YolnmqT>j}kKPR|tp zK*Rax0|Us+eh&bks(zA^`uNet$<4{t#>tsnUP_AG`LmPtCwnUZz-tMl0o2qu#1pw& zyOvap4En0*q>hVBt}Yo9^e%~(kpcxvA(A405m&9}t+X^e(NJC_Tzq^`EUp^!n`qPp zq#cTa_|U@0=#i&Q-$J{&_Pf0?NW;A7e#I52egdf*`Aw=Eml{vdn^H;Aw;Q2@eFK|2 ztm46_)Xo4bRBLt|J(2kY{=&}ReSu6Gl02WvP?D9I+a)6p9K=(KnS{(rS4S-!OGK>KL z?+Y*;qN4Hwe8~X3leyFpzF?}t+Gl+AR7Ra}3$=iBumLiQ3zCiwD=GcBJU-JqUNcy; zOmWs<-Wdd(!Q7Y|SHA&(yd>OLYp-6s#xbhK$9dx$F-%yFx)7n1=H}aw-HCE%aR6Y` zEno`5%vMhrB!n2`04bn3gSRn8%X7brv97}uZvf;SF6mr3|Kl6!{KS^U#oe8q1%*CI z1G5nwe+clGNw?06{X>B8^WDux=N5G^r%|vh{QbtS-`7e%h$oU!zL>AJHzz!yV6hk3JQ_fdwS2M*0AT!qnpJb8UThE<0Qis> z%vd8qblvlwxf_wV2VtcL?b(#~izId5FG(y(RLdaZ&!!9&A(HgrV>KjVZ2ly zDIXxL(XN1Ni@LFxsP%-$4wmjl;f42a@s#6^@ zmu7Lx5mKcLFIn2vAqjkCCTAK7+X3zL?r`l8?ND4Apn}ZBUB2IIY|*Qa*eVe0V(oJ8 zB3h+$N@x{ks;`#hYrf@4(3h;tZ&a^Vizvb2cFz=aRw5+IXtqe`;N^4Xzq10Hzze+}nOJlnfzyQ@tSwX{v)wJ+l%Il!(;J{>>FLg z`Zv^w%WuZt3-|N5I0=)m4K81(Ng4HuOZ_nWW|p@3C8=dfxNue`P6jjf(}3YN^|r%+ z!$2V|A}s~2qVkdQS*E&jOA$knkdlzn;Mni6g0Z;_o-7fLdCvW;{jB+{^(Iq&FMa05 zlE!8$`MMqbBE7T5cE>P%0lgo(TKY!yGL@i8nz^>hw&J(NEh;H0nd8}K zV*dTtsfTPp-3hFT1+MKzoKc3pPaut~8Cf7cu*Eg>Dl#TYF=UiAO_Vi@Xkc}yV@JX5 z#>HsUXZi+|RiE|iv}C#ZjQ8x*S;R{2Z|+=%96c`A$=)HU4Yl1VF|^!o>~`xF0jg4} z!N7)nDmDwYB%R9nnx-F~Wp`#^e9>Fc&$-*8+roTnoNIa}zxleGhMGoId!2Gj!q%k% zsi2lnALtaIIEV%Y2p1JB5o`eabnoLw(G@QyxNLP>w|FWMo7W|?;e+$56Oo>@$9z#F=-h%lXSv3Tc5UBW4jG#<~X6)D&C504*G zKdfZ|IaCFzSrm8}Max)ig_rnRxm(2sSgrMb&+3A71;zr&ffXszplfI@k&{-nFUkDl_FL6zn)8AF_z%P(p=(r(!`^B|04MXq-2}o zor+wLGGruGxs+p6_DMcTYUlB$?&tc!yxa1Ht~9Y-30-M5OE3p7(}UcBQ$(B?C7`m?mWuf=l0dfNJMZ;d6#03)?5Z7&VO5q)v# zC;Gbf&(oV*>1DRGG5Y1U&_=12!Y<+FcB|sy@i8GW&F`Amnva^iXVa??PxW_VRZ(S!_o+_~MwKcKE~kTV({L|HR2Yr( zEq`W7rbRT>6XuwXWibZHIw2siCkr|+x>j8Fz!sJB2k)K3JCyZ1Qgp#3k67P|O{5tz z4-y~=o2_K#Wu{D)M&^@&xk0PyZ_%l_qcxvr*<~`!Y;IvaZ-pz(;ZIA4Au}n!%ZXUf zH;{h->%)raazUf-zQy>uEv6H=70YdNS{fR&FVrqHZg|=3c3HQ)i=)%5lUXfj;&9}4 zBn(NJQ5|f{Zp*A{F|=zr^XX{twZ1zf%HbPdz3%Y7z=O`s<_L(ac3k;5-SywytmCZ) ze5QLDA8lLoq&ur@S8X@B7C)6(lv<6L6*GXWEPz)6ZM!}5uBKLG?-0X6Cm=~T37Ap{ z2^k5a;ppMVIsBpm0$XCAUk;y(r6w#VXmju(1(4Ayd_1;*``P39@u~Ew{Ituolr9Iq zA1_DU#{|{O1HT4HJBPivIE=5gpH6!`S3F6;h3lBAJAUMW^iZ3J+8d3@;-?gXloTjD zT>90s1sBWm>%2*BA*Zek0Qk@V070PuzytL4dd>(MN+B)@3lCq2^$y`ns!UDbYVHdPN+kS4O@R0u=ua9Fr4jL?%^*h>tw#w4QGdXzPUaV zr5alMt0^_yk4m|LT3xaIOOXUt8p5fuU#TxI%nIR^ z?!R&TbG0GsiSaFhX+e7Pe2hx|}dQn*T& zV3dDf-dtZ(54YI0B2trfdzz4t<~5zNh7fqn1r;W3hN7~;xu|a4biHUlhvK&*%km{m zRN?5tx2Xnl?)2Chn*LiD`5FB|)>`;(Ae3YS`!2|M3I2TebJU$z)8K{$$H;gCcsYpQ8My(3NLQD2fv_IS`eel?CT~i<2y< zap&1&Yi(e2YFI!HJ=joSV+;G=zH-?&8-AOb#t*}6lWnGeRouZF#JCUr>oSRzd|hXh zf5+^9Oglqohf(^!MEKuuxg-Rk{B8ZKj7VR2B>>L9k^FPh3e`e~j){FO*4ddupHt@r z=D8yDH157({zWtZ$^!1bn8I%J74kYM1P?y7-))~usQU5=ABvC-hEe{FEz-45BnuEQ zD1&vH(&1 zD-tfn<~=mzDxt@G@#nM9gCAZ~OaTP{2m$W9$=U#GyW#H0HpE_jAD`cKZb~=1Y)8f@ z{3S#J3kXje6jkZ6y~okHXJ8zz^L$Xf(OHg^5NZ4r{Dg6iBX%YDTp#$7VyOEU;gLi5 zsa`o^ANG$;JpVxGPk@ZrdVmSo?M*uB5}@Z>Cf#h$mqg9ofBPEV1<@2XeIb(K;px)- zQfJ(z{c=2hV{a1$avJDGqbZ5b?xwPuB*08PB^K5v%U-EpfN%VIZ-G9(l7MV5(C4%GO zsjzxrw%j-IY8(QKg&ZHR(tQ6P?zuqjfoJE~IzNCnxk@k&PlFDXyWEVN%0pm-Bx}2x zdeNH=@`wR{C#Xwt2#P6ex8TDQ3tRuI38%-;B$I^a&4X(b%FT-1*MHaCK2VGiD~yYm zTS)awYTA~S*rlyuM{B}z`V#^GIq1$CJm^aGw>ijLZ$nTv6yx)+Je448dteh*B2upn z0NFDPcwp>5=pQMItS)Y1PD}#Yu9O)R)yS{U#*StM30OkwY_ zw+;^Ap&JNngNgz7TghEz-Emoi_lmjaJzkGwzL<_9tMIe4(7*JOM+#wN!}tw5^V0@G zkHcsJVKyG)sGc#&E;{dz18*iiYn(~4zx+pL0z*i;(~u)%>F!&dI_`JCz4Hm@`;gxn z=k08dUWNju=&=8RG#fYFzm59+EAt-nq0!|!x2)l}1l>38mv>B^2ivc)C*=$O55JCM zDFIAiV~5vuo^=d6d|bE!tJnE|$yN&mRvWMG53E#vq(S2TOI;rcDs2$hg_snyK^Aa4 zda*^;y08O|dsWtAa(~f0u=6)f;3cxr_~GtJU)v5!=UG^FcZ`Wk?f=&na9?(H*J<}k zgjuW#&PRKg{|F-0YY;`E3kz}lUeHW}@jIT=*eb5@b;q7xN-zUabD+{E&mF+-=f4&A zk;J_A^iCaDUD@ODbuzC9w(Xo}(J?>#1MVN+if*ZPVCLLO2g2N~5AJ|FJYC#GkkbD`5Yjx;P0)RZ9G~zi zz{wXOV8g2GOSukf;_bu0KQcrJCZJmh!2iG=Lhi`L>WOqNGTraxSJyZ1zsz+0!uIsz z=J$Hc@c-I>VWv8u<99*F{@^Q1;>HT|cc`sk81lfMiF3LAR?&2Z*X?x9f_A|891p$( ztntpcf3yBf?!_G6vd z{uaQB&*}uLON(lQ;LKMm!Dc!8@Pz)_@%*5p0WKm}cdrQ;xc83~$Z1#P6Ie*xV&Gz2 zV5?4W-e>O9#%#pjLkgBBIV%ss^=f*bKC*M2Ax&Tx_y>OO^UFC@81cwOi&(pB|8 zaNxe)^|LH~waZhgz#hoq4p~DPUKhKHrQ2rewEXsL#A{q6gi$mK`j3baH?MF7%_}wb zLeDhmgH{ooxhF-tuJK>fP?VMaF6Q_(ql?9^hrJ+a&(gwPP?-2-+cjnvU=FB0oW1xz zC^Yz55(M1<>lu112sKSq{G!HNM9>S&O(a&q2j6XEvRevpT=jjjYPZyD*Y*+^Q=>iO zjueOCdfhM<#_}R}QeYuY*uX0|= zwbAoby>VbOyzE+>>wxeRG}D6T@$PSAD^dS=Eo&`Qy}l7gJ{+8jrnXA~Z1*nmhmQ!LO|Ig!K}6x>G3# zT3goJxZiL&He`;(FKkWud8TCx`|lyrkkN1p zz9yC=8GjX~0^s3^&#&E&)^&*Mb?6BZK3iXh^MG$n&*6h$08ZBUd(Pr;vW06Rwvlef zsZso11}>s+AJD`wFh!kl`7l+rQTFTgsbHLU0i(H3TEqdfT@p_jCc&(DukC)wUnd$t z{XocR;~uxVZ#bb7wJq?Xw+8wnH?|)q7trA{nPKrErp(|(02^6x?g@Y$j&c|OT=bebR2?DpGyw=tq z`Gt>q%FD-1vd!p9kzdi#tv})L`#`#aI(JFB8zG^6@Z+jrH_dvG$g!?tHAI(`; zE0SJzXR($iyif!kzgPLzImc7^mm>y~!^b!a;qAlMIZFKLO*TthjiE^Qa7+MUMBqLY zfRPYXw(W_57A)+H{+PM`Yi#1dn%M6c-}K`84u;ekn;(Rt^|NUIcCj2P1Q|P0AAX!@ z6%DemHW?(-d&v^f+k!F^LKdH&&Ix+KZ*pmlBa+;Pdv%7cxo#ID!0*MxI?vBVH|u>i7P#sgg`%{kZsQZH9Z zm=3q*D(s87()>u+a}$24B6O(q+(TXGE!+C|$E@eMhjYKr^n}a%Ge}LSva4G>=eH_s z?;%IeMS*VyKmJ_MN0}(xbL`2b(0n>upRJr|hUxcg_KbQe?iZ<>z`JW`9wZECYu?jfK(+s<$<2~17zJBf48`evRXU+65z!Y6)h8)FWCHT zQwx^BuuG+2#6FYaztgrJME8X1oxa2pD}APhWbI6_ds@5uQLnUkiJ~^(-Lah24%Fl9 zDkb{vcCcS^mgYKp%I1IBs>iz3zPgh3w-6f??V=21+q#NM>(z$X7;2y#&kBI`ha@;S zKh+p$x9JT{*tqryEzg|xKEx{;9AuYp6|j&W3#IQUHOFW-#k{M|Z=kQd&hrnq#mp8) z+owJvYbqWRG-5JaZri``tyez0{jA$&0djydI1= zyD}Aj>U#1AIkn=jtIoC2ZHG+13c7EWOCx?p!?ZfA&ZiYeRzt!RIL6=fPgAl72 zfXDZ3eC=ami-;*m@~!6xXqi9Qpbt7Q=K#o&g;tqT#bHL+Rev)slEw zP>Hw!RMG9d+Yi9NdJ={FX=q0o;U!hwBL1Ut+>{F=OeV0da>8}AC-*`a zjhv;zgv(?0C++ZJ&A^}gjNY@x8&`~Vr@aEtxQ@Lm1ATZ>qU?I)HmI_nGplG5CEaIr zn7&8<{_H|VmngCEu>jdX5FI=hmtiz=eN4vL6tL`OS}8R|UGN{s_Al@}DhEOae>Mmf7E=!Zcd26*QRhmDk$@k)+HO zl%4Z4a=ylNABfis^_d)ReINlA5jmz@QcYQH>x`cQ*k&{#>q{P9{6xWlrU_v zAY&ua^*ZHGMRwjoLn0DHI|v0SPCKasUmT8wTxo+uTF;hZ7jTO`wJ%5f&dy0}q4w7m z?^_r{v+W9>6?6RA_;Kw}+$!7Vsc8M)*Y55l+YXLRt6|3L7wziql~^wAT*vv?v(SC- zfA&UeMJ-e!g!M%=`M^#4V0PV~?xx>W>?$)$r|C9bn{qmt{Y(h1t!1EHpIb4i*ilCP zMMS{Y$!*!XJTad&}{N#5VARGIR4?a^uDGbusmewr?uu=E?$TrM-FJ11%0@N5CobMaN=lCJRnA4WKdadhw2FX) z->xk^;~2$d7LhHaRDJm14d&3qqG9fw2Ux%LIGT(i_kG!PUbFgxQyAbdhNPpfd78QA z@3((Zp)0UH5Cl?4`ibh&GP|zQ76Vp_Xo%myH&BJN)o7rpl?5rvLcPJhpmUyp{Ke&jD5H&u0c$@Qxy_yBbQl- z#W0S?jNM~?6WVetAEhOzAGhkb(>TV!Yo}w@zP}CnB;y!8g<`%FJ&Q@9S5|nIIyLbA zG`YvsF6Hd4FOu>!!f{*0T=;wYTYQuJm(lc5cVUsJ_+hi)zhZK&er1V$>pCuVnaFM5zpEAJ86-jTFT3TZ( zPZ?o?w{$ug<`DH#GyHwR`=<}>UFJCYW%=4aGh9p8_}qpS3ZFn#oDjGAsFh)|Omhag zVfwfztp?Aw3?{LIAQg^_L``ilQcGXDvi`zOwMbfu^bQ)G1%&{i8;b?J44ZDoVRG_- znC)C6$NtJd05{~!GA5Gi_D^5h??r}89qrECZ-dB}#=q4uT%;}R`X%ujM)Zwhr7hI8 ziW;pb z{rlWcX0->UjDAMB`QOAu7fj06?Rpn=B)B}4+YciS8N%=EOV4S~@>!f?3q&C56+N;*X1Sd*m!-De5~9Jr$hDtG!_bi41hP!uZ)9UoL*p=A@?a6 z@EAaY3Hjd*b90UJoPCo;-wWdS87x0b%1U)+bYE}8_LYQG;U=iol*B}FYtq=-!fEGc znivf(KQ6{f&gkmd+b8zxihMcrE*C${`zeJ~l8LFfUYIYXS2*JUDjI$u!%@t)lbhB4 zeYCWeI^4`HZ)(y43?1V{L@<)h=NZb3I$!FG)w*Wz#4SHR*)Mm3tsmB0*l02mwNv70 z*0sH_H&;0NaR#Ezr>LpCV(8TOQffw^qC;SE*i%!3Z~pzry}m2_u$XN8Ax8N70-%&p zf9j1b<>6k{d)Z|-H6E7MQj1@>(}(tNFr-fA#CP+kWQhm6H}x?}AxYqvpUN0I4XdQyWJ-!PCMd-%Ma@d9H&JWV;iC!54wpz?RC z*_ACP9;n|kyj8{9y~nGepSg0zy<)~!8D@+T5XX@&$lq2DC`;d2`7TA{KA|gM7a|~! z^l7!lAzJiEWqDYh%pOGDR1Qd=)ln%j@TXylQA!!&y+cnyFO?(7wnb~ISm7PMKRihP zh0D=%LLT~uT3i;5dM+C#KWJ1ZwiInE3PljJpw?UH*U|cvF)9FXHK+E$m;INZ8!E7>|#;jWQ%QPvUw(IDBZGrlF;R!rM$+;VO*O$`k*Mm zkNy|R?V}U|ys0QWOaYdlysYar-Ll%-U`u*i^<3QPTilD$%_`Bi85_hbUKrS z$;9)aMADR)mMh)X z(GS0EiKf)Fy37Kx>xiE;6fm=;{6Q~X$3gH8VOtC4V=Rps^OD;zOcEBUt+9s|2%OYI z=Xm$g=Hol=1l42Iz83*?Umcnps5U!ySV-cg5`*7H}2Fw0m3 z6LnXpir)UsU|IE;;~sNq?J3-LTAAtx<>62Ga~xgEp9jDH)NC%RWhXI@-}|}7bn`Ce zdp{`9*MspF$exTZZRNMUs($@*1z44faA4l+10LedolC3*?rr#@!K}?PY9{X>ps1=O z-&9?pZaT-CDB`Wt3?}&CXyXra#9}eU;hFt=wzgS#4Y%kJrOzMyToz0dF!ojQSw+7u z6@AE$>c#M!;H{7BYqqD@mYPX2m_J}ku$#q3k3xLHJZo`K0}^fb*y0S}id6Wt2=h>W z5Mf+fDjTYwyNI#Q^59;gHL1 zn|P1*lkvzEW_vwmM&h`bQ_EC?Sp$bEx6GZId&!1Dj$NBB+Q(xayr0Q`RPeZG6^XM6l&Dct)AhJc9$|z@M(fqu#tGb~GP`ra)(w^p_sAx%UOa!qn*%(U%rf><&qn)3pCXc{ z(#HE`H@*D#RhGSis~X63SqROycru6Jmy)cCdngCsc5d)_}T@@2#)ch zl-_bse8Wv{7GwKFd6k4dmesGvDtzzoT8riW{xJb!aFYsfonLz?yc_epdh9+vsijryu-(_)a!*xO^wO?&Ti^CuJnPi+8pUO z79YNcVHj1_9Fxtld4!kVSGm=GJFas4b)(fl-$+?V9|n~I0Hg6@6WM(cv1 zl7|1Y>SYG$e0vX{{d*%m)>4KKHN0`hYwVl^`H0rSg%t7MrQtHt&?wT91wS{KPEHTQ z;;>aqOOhAE2+S3CN(e3lVzDePnpqY2cym;Jni-C_kshCP`zEKrUl!$U8?V|-O9YDF zr(d2$poj0I`oMD_a`UKzo*~yC$z~>1?Dg_4yRL4$OKTyEn?@qeQJby2;H~L++suBE zt9#-YhZpOB_RScZeocoKmENCWa%8OA=KBXT8}f$3%`Ejjg(^~V@*Ss##NF!xPLNensM}Z5Ps&2x$Piar zpWS;lxZNscoV?t(j6;TKvl^f>L?g3x4-KRa$ad?QPg&^(%iq~#m%mT9$fO!%(Ph zo&SsXJYL&k5@Fb2mDf{(`3Z+~k1pEPDvO_^{m;fH8-G7FzQx|NLrWcBv4y8kf=hzf zDVOK#I*(+?w+_;pebB51R;}UD;q*Q9x$KRN%&$tXAu^csw zpyoQXuYLPTU%8#6#aaD6(7(UY3c+0-l=DydWxzSzMCYOBHsI2nl!`MOe~k5|=td^} zYGwsF>rlWvCBrDqR(SDy5IW8K@PhlOxk=tytt0;aYKxvM!s+>`pp??>p2XoVkdAAA z!to$g$;WsuAbUaHD${^!+lEZmn~mA_w;baRUfNQ=guvuaJs*~dR#7aid%bcD0rYqQ zzxbvrVa<-Lci(iazx(9jY)?7;+2wO>N2-J-|A4#%V=`+D@!+^MksFdBjk|YK!83bs z2`3g7Jw4JAnc|uz?NMmrwC+0-H`+d#R{r94be;@2T%4m?9*uL&B6k++kFvBg_nq6` z?oTwLo9c)aETg4L@fKZJqH&Ee79rC^_ZvrjfjAkh^$vW7$0urnt~JDn5E5VXIMJMr zsujMv^01BD1%`5-JLyuBdNp46u}sr6qP346EMAC5Yx{JK%jcc7z*c$du(AQacuqEW z^a4jGTK)>%*myrQiLK8&UOd<;$8V<#y_Y#%2i)+jlnfBXHZ*oAyU zUo3Ajd_-O|i*Dkys6AC!Zf2W+zgG-`P7!&b!+SOS8$ClIm-?oU@SRusp0X!0spmCS z`pQM`En7A3Tw1O4W6u@pHDYR0H2@z!?i!6m^-)}?^WGtt6e?V5&s>HFI*rx0wOUG# zUN&lh*9jJFLw^v;zA2xYWj)3^uBR=#D7&CrJCdIn_W7d3f)qaC?gGy1jhGVjs8FE| zy8Pw+$GlE=H7%slnB~~?t3X&MjVAwAip%;2Z zXgNbv#K&$DxUY2}ZzerWM&VEF%#R6MAVt;}zacuBHm*7(*(dAAj&INktqQnK4)uuf zM(z3x44+k6K}I4u3$D+bfwpv_ALGK}?20!5c7u&dow9%SZ-E9EzLlzx>Ccpw$*d02 zex_CVYg;%pvXjPaLhJIqWiTlh;WCiOoPO`?^H3 zYWO(e_nO46<(uQb7YQpPQGf>he!%F$a@8Op>PhZQQrqi->C$@71%5l0FWbFvko*P@ zdhf%@rF9 zsW44f4q@d8+2i-4LORtJkoMbf)4SiOT>9k)Ie5N?Cwh%KGApZ!U3{w{Drwp+%@yb&)?%^NwTXfoImUtI1#`m8E{` zxX-FTTghhhK2%RqjM-Gg;91Jh_PM`h>e0OHBR9G)^LyRV%sN!C3dWb(+-r?_#oR&J zmQL?+wG-otFMCI!PKoC!6cABJGX|b6r<`O=RO47I^uBCGznjgaN<(E%meHr z<7xjogV&|bg)#5q&~s;^ew$5mb)Cnv`sK^Ez>EHmnD5ALZ!YBo^<*kf(#3nyLa{UN z$ONV=?#kW4+^vNbBylv~mC_p)rbNzMYO=Z4^R*Z0^pCZFpGc&lL6o#nnwkMe#Z~jT z-@?!%DHFE`LaBXw#=}mKIvGFX_T_z3Fq@g<^*9quxin6D6g>P4s(t$lG}YOmizkN1 z>tZh+eaSou=z^@#PQ6Q?GyXUcz9LxX>!ZrzCW~xomo5AroRz+%O{McQEDL#_!q{Ki z-P4En;|g8IRD(;Gucym(YQ zUCQM4h3K3XViP9sl@X#ZL~pln7!LOay!N=Vcj6e~V=ULBm!^2Rc&l5a7&`N5I&=wF zX}B)3>3y>UFpjs!t>x55mgYQ-esai6UKv$XmMyIg2qXSTZLku4*Xhi7OeX&(kU`3L zq;NQ4f>)75mBqp#nz&GEoi92EuIAimjMYp?c<>J*$vkt81bTqkMBtRliSG2%;}*7j zou|+K*S`62U;N9(+KiU1>CK6USgniiKXnK*6v}iX_7LwRbAI=iyxbkz8-9$w2maLQ zz>KBj+yU2V*0IL#EK(vCinO7&7NmCt)mD2FzV5uKnMH1TU_W7o?}D`QZSTcVt$4bF zpN(BsQT)#5q=-fK09gGu5eet{s)3Z9Cuk61(sn4|b>r9mOWox9v;P6O9bsWnpbOmM z0q{R{+P+6Kj$Czm5FVOY!)XqPO6e}!_o&jsEpy<3?--pH@I6j&Y8LF>9`SSMzP(^v5`Jz2iImVu1Y@7g>RNIp$#Ab#zb?bje-1Q2@An z7V0r4GvZoYEGV?R>TR%GZZKTztye2AYoGd~G=U$f)_UIAmn1^tU{OF%Z`5e@GT^wv zZ{^Ijv1`A$UZCu$0_2~HUWaXPz;ZbBrxPQ0dEQ`Z*&pQB+E(4YG4|4>jfU*-CbP^avvv0Z@2`gy4^B~;-s>} zzWK-8*>5KoLK4k&ij2jpQ>dd*OXD!c9pp<<7Z`f>={av~f^9c$-5A)9I8S1~- zgwRy~kQ&x$OO)gEbO(MK7s(*!>RjUWNK7c~b1mb7xS7a!lRa>EraHE_-JVP=n+cY~ z`R2A|FY<}Z)Ehrwv<8Gjx;9gHPY%aT*)Yls26k&MRve!U8(#7a2C&=|+Z2Ho+O9r! zuF40zkYf0j&JIvLXgu1^g^7b|*v=!qC8-T1EeF=81h%q6%jzRecg4|d1C-$CodZDYIl8=A>M z?)VPsE~l<^tn+kwsLyKT0j81E@nLMbyZ)j^b&8TYnuD^M8Rs&gpgv2b@{NpBC6#rG zq}uN0$8Lkm_Fp3FVSBsfC-mk}6k15mdoc#$*-Sb~_~rhnOO)lOXVS}#Vo&Wn4|v;e z(wtNb$#HzOu7nrWKXi90Mn|`DPeMXz8Ea_E2|g~F*FN-$g-ZY~a>4=GqePqn@^k_Q z%0xJv$>Ogq9UV3>yYQZX;jC>063FX%`f?X7F-xa^co#Q=ztzy~iqBFGv674fGh#db z1Rq$A{N`G|JI;tqQq?S{&^d}*3#Mh$_A_wIlfz83%*OK+M4!(VG+i~SbrW(qNZ_z} zp+R5u+lqMG^E)nT#U5GH8&?&Clj7l2k#l*d!Fu<7h+o-w;`JelI*Rv> zDEg%$n)hy%nRDx(@n5N1u{QHA9zYc;n&i3cODgyJ9fHF{);E`k86j=iwNWZD>dm2_ zHqv72N6ihQf3V32le z+tkGJ3L?)hjkZN(Ipio0Tt5g&wE6Vs5Tq$2#S8P)x#rPa1C?w=tml_YQ^aQ&rUj@7 zEuDVEoMa?ApB3|D?gisYAsZnC5|5;IF?m=?z;4!f*i#g%A{tSJhl^#8Ngy^`aLrp+ zjE863GNRiuHy`$krPR}WTnH2_%<|S0w|f z#YB#E{E6lELN1!84Xb9g#9%?ee)>t3+1YCcy1Qbk?-Z{C4PdY@T5iJ!N)|9n<%cHu zIV&azI+Rlfu6D>0lY@6^a+^RA{5rR~7oNuxS*heltL7LAHLgXqlwl+`XDdTRrVhJ$ zxg;gPSojP&!f_30kvwk}5;2xv&!q3g#8=yz&rYTvt~>==6mi1{_CBj+;u4^mAcjG~ zIW2@AQLEQi1W<_ar=#eopIROHNKU62*SKY8wfZ#;vn4{0-tnofzOi@boW6mNugx`g zYQ3e2CO~`WEW$V_i5T=QmT*iZt_x845O3?96>ur?LtE9u_;|8~O&>jo700t6(_O6@ zC&h7U!%o^);_++P6d9{M(Ljnb0RT&3$oI<8vWq~W2Re+DNO2%!RF6vwlZ3^vh?Q3 zKPs{POXB_0%-+d!6vXBZ>y@{ZRjni{#;oP?ViVPWxf#)ahn+SA7FS_m&IC7EK zzq5O%K&C%`Dbd*|BO3bB;DrcEuGKo%X2Qt%gmv^ds869Z{bd~Mr_HgqG)q_c@&_Dl zmqz)LjO=i!n-tTt8+U7eC6I0=MH&vaQBJSfM@^;*8KL%?f>xISGbY$!Gq%}WUip35 zB8uSMZqSGX^6Y2x2|wICwrC=5pT(oYho7kGyXyo<&KNLvq?oq291IiBZ&aTQo9Y!( z+4a4vdTeI31FM$#P9e)DT!VKhWs`YY5$(M~Ha4uG_21R3wWQ=ItMhH|YEMZ%>O{7$ zUGdCzqS>p$@w_a(bA2KXwEf;3eL0K1{j)dv@*|71ntW-#-3W$lwYj!FHBH2eoyfy? zIYaNt-#TBOJ|U88trTCO(!b4pCnLb?QB`_KM~R|p9=AU2|w{&*+HF_8fr%OEI)$dZTKy?Hg#BNBbjPyb6dW$5ms5>G8s~eV$^&1$UOf9+a}uT zjN^Mm%DmvB`dK_swhk%xtO{T`;mo~>ElV3X3?zF&;Q)3!~pN1 zwE~|5Rw2)NJ{t@@7H&?cwiRvCJcxk}&jIM1^M{|JAhGg>HiISy4@X8khUi|*)o z#FRC-vVPL0b-`3g;Q8)TpO!-N_xjn4dUfAvy}37Hv#8tHdI|E^F3IB#1AN5x9R;px zXe?OnO-U&h6v5qboFkz=XdWb|G%MjcjxO{bsiQwYW+{pt{2`7RrU#3oJ*CPBZ>)98 z8r8GtOn5UQ^dIflRB&u&;+;YbzZQXF(rj~uwo~7|n8zrunUx+%^_0d$kWV5Wm$~!7l^h(1^3U9?y<1RO32Dl<5%a69 z$Ruz7@=E~(y9X;~A#?JEY|N->XgrARG6qz41QdEu?@=QYSh5{;s9ZjX?(ZGd^A3 z<~qKH&yjWFJvIcXId=#RU%vTqdPdP+f=JvQcAeYPK}zSx8{_uhG6kEUaGr}(T`J+? zyT;CpDv;5k(n(Wpd<&6#>|W1&4B*9?KVx6v;2?~#M=?I*G%r@I99JvLTKNKz6~Yy? ztEKhw^TGyJg3)OSM{Zy&7$u&BK!{FLl({p^KGK2n`f!^*o%8a>eqk+EeKyYm8l!?jI)o070_}OW!Yv2^#wSc;B! zvo~+4S^cOX4IDaW6+W3*4?mD#MNRToq^N|qza>>*EX!*ZnL0Q`{c=k|#DOsTH-!9U z)DJ<5OQ&-~t4U!Y(IBC?D%d3M?lfyxHQ(&CW^{1&m-t|vIvLPhBcW*Sm>h55c&Ekf z$Le>Rxns5iz1W00*ndgZrMb<)E)q?7 z1sV6NCHt?MNvJV6tXfJHG3P*K@(_!Au(TG2qh77Ahqy{P%d z`GleRSPeQw8L_iF)PnkET}guMwZMF$7}O5!|O&GESuQ^>wWL9FE^ z#^^$a-?R5lf-L|me|m$|CD}>N2aSv#>t>&3&M;!=N4;$j*KUfz8lS)Ak#XW2#^&!O zvdq`@9h4&em}4D)qtTD|5CUnMXz2%AS+yb+pY(A>45&dqOEL6UExELk_MI@+FDo;ehiwWPI117b zP#8b0`JjTSq*v3tJyJaRthr}SZe|@De4F0|PPCh9sbpKIUbW|?t@2}H zsoz6bqnYnfOS#oTWwc|}vg>Vv0HYjRcj>#XVjZ1ZMH@e-!B7HMY`=r!vX&c@aXr{kR*NYjL5R_;?q2FbTHlA^<3&v3#2uft3~sIwQ6Vc`;(`L25}ui{b*ct; zGCVe|S{*h9w`>ASOt4W61^Ey}F-f3sCo~jzz|bH!7umGQp=Of%CYd7Qs0Mw3oUxlU z&h|8v{IXi#X63XkFd32}CMYUHQGhMN8{WU=&iYZ~Y78y4kdXFrtqnC{V(h9m74Nh} zMW~}4)~dv)Eg%~Ue?~C26UoD&D`;7lImkHb)9t6mJ{oqTFzLn&1WLTBxNLwI2il~U2meqf+7G- zG~4Y~4r>UYx}r{-G%zx@BrgzS4>eyJX%jPR>Tn;QtY#+nac zqphng6i|r^>e}G$be3&G%qD@?30zTc8<}@cg%di-pi$?q<)XC-2U}JRGuEWrrv#ST zxPb9pTp~rq`<`vGl|*2=12Gki3`K0NNGbS@#{PEWqig}3D;Q8y%%iDD)+Xgg_gH<$ z;^bfX;!o=ssPR9rK1VK*X%dpE%`gj#EAF%UTrkC0ob~Bk{kFbO@JVJhcACOa1xHF_ z)2%GNd_mL){H^Yj7}7ThJ%ul*R!gBi$l+%1u}!d={R|0F*K95R&RZQe73X1OUlKEV z368oMF3G2Dx-=RmAdN;*n^>hJBv2*9DAvZi^SRU)Sy~x9u4RK8+c2uF=96b*5y5b0 zQo?btZHy1qjIChS$}`c*Sb)Dus#$+or|#SJ&rQDF^xsfpl^Gjm(BnG#Z`OvDQHME8 z#Ii$}gdSYsu{zssl%`|XVlFHgeNad}x=!rKFV8TiCQdl+hlwxwch@PtY1VTpkkhd- zAjkGhaU1MiZqQbY0|4Wl2C?xH;}cFr5>qpUu9N7^%E`f#9-1$-`So%X z@;b#tZ3D41C*Rc-qQ`jG%13Ip40|27n9hiruhl8$Yt1~{%o7U3ZOlzghqSb+ct2WD z&Dk9i$C@+~4H#rdDw=7~6iI7{PNcgR58f z(3)a#4w>L7`TK|X$~V6jDhnKoK<>K&eZ|kCecAsB`P$C_?mOos@W~1AZjS@rkeF(;vqq?h}q3%oetBz#Y z*?>~v2l{~146|vZVrlR+s)?RWecDfo;Gc`R$FPq2H*-P0f<`a+>&CF}Y-yq(t$!;2 zb#$VQBUB`5N~&`$&OtQB?S3Q{F-`Q{1k z#^bpRvOsmi?uFkeWJ00Z(WBf#dSCw^lM`gp0f~+@6xu`?HpljxeooW5vESR3UDbN2 zR#&-@AeF3AmrNU-`t;5@uoh2mWH7Ah54(Eue+PWtL3*BH0WZK3Jdi= zX`&>|#L%_>q=8OY!@W{iIa^R92YseJ>QJri-kxlZEc4#J&|-}S8x*Mst=x|tP)-S^J5 zMxD@kx5AH5t!z7QU;09=>|;iIu6M$0piv8(puBQcRybd=6zH9e2pv3{=j}$jL3=*5 zR>KWy`OvH{pgohVrtS8hr%s>6sY!|2xbU^6GHeZcN0a=^KhxLE(f-!LzZFy?4E+1J zt|vwP^OY^Bow!0_@8st(Nrl*j7Ds{1ie5ExPRj91VQ5dVlY0h=KO=dVPo~ap$^R^V zs~An;^o+G{Ofx~*IcDMzQr-`ppVCvrEV4N7*t9O6ss%l-_nG1u^Y6WRyjOR;LA0^w zre-M0yBT8}(*2t3Gi#K+!G}>~pGM>F)mO9Y&-UYIMX^K~H=MOZrb4_FYb@?hL4zN? zr&31;nttiZ<<7k2BTKzrucF9W>~FpH z+Ox}NM;G+fdXh6y#%WJV=XY*eQ+k*Bwv0ELIBc}t3fI@gqP1F|d{3o}KW5)WD~r$Q zu_~^qk)J0)6=_fdwF6^%<*9;KSqdnbF%C@TmJBAM#Y_uf74;zs<+) z>H+ZD-$DDre**cY&w;$(y8{p3ruoPBD73Xz^0&31_bfeRpf?T_fsUd{DxWx4+j$na zP)&zSX#-13jZ_#{O-U^XK{K^WOYh|0Kho~nZdgaFl>DROoy~i@`eaib>w>GMV^g4M zo#L}jYCg|q^VDXWVoee{G_*Sn*3yH+RB@rC((ymzM!2YM^q7wB+9f%5h#V|P!-qB|B5s0*0QQkzN?n5&EdZbj3)qZ}&Y~ z5t&}TO3XE<;-#Q&i+d|xCMIe~qsP(=>waO5&gvh_z%qCKtFx_@|%%dZAj5fu8=6(*PiSkj4$X1z6b z+xG32Xb)-O6l!VLif3n1e?EblA~BCH>6$@(dm2ciGbWnH%BRBYI*c9i#^zO{50br= zQVzk6NaGv&w32ZT{FGymJ z>TUE~2t4SRnj$(=qGO(CxpU$?YgPZ}CT1QjPqqdI?by=vh+#q?7i{^RZ0N@n@t zLsfjmFGfQiKVv3;Ikx(7Hg=~}uF?S-LK@Xw?)h`>>|lyB#W6#hV<45Ss9oCu*1ip$ z_EsOpz>bz9nDY6_cG4VCxHF&u^y7@$i#ry+Vu~LGs(g+2&D`(Y*I2WSRcl&3e@v=X zG}NU{8Yr;4vccIdkqN>7ooXuC^;GY{H$vyTQH;qepVazYGvh&0(mUvD3Ekk{D69N> zA768$dQcU3396{0x-nKAJKfm!*&eR-p&$9;Z9B(cVc7=Y#|5B@vx{dJ_gMnZj3r^j zknSlTbU?D!aTP6t`5lb=^72Ll~WmMRef47RFsM7U|mzoO$p5qx0gEkLlH+Jw%ahqGuO`a|pVf@-pBCI;3nLG(0d*shngWhBeWk!slLFDdSB*fW?jCMi`7 zH}epvJAInfOHs$Fx}pp1=${zUYn}AxSS*DQz$-$+mHetQ{?Y#Qy58y$^LM%8s#xc` z)6^Rb=8wjv3>Pb}S$c2OUE0zI#-YJ&#z3GSFgcm4EO|2Gg1K35k~c zvnn~Nh22s6YXil(NX@9xQd!faPsIqXkq+AWUCBo_#jE3V1NAm#v^|5B;%rjM-PkTE zr}n?2z2pD8#k6~eX~yaylp+3^ztjBL&O{9rHv?T}tCD1@N!KP@HWi!~_LiY0^&`?X zv1PTON8SBXYg^dFqqj3q#5E+|H?0%puA^OIN2C;G87M!%-Vc#Zpu|{Ms-F70m1!bP z@gVKl2L+2v%ucCfJ5S?XbhcNajx~h0(1f$Yr@74T3{zVOH((q zdMZ%y5?)Q z^@F8gz#B$JSve!xIuuAu0AHpQ@P#FS0pR3hiI4st-w!|jvRC8HZ+;kidyhN`ya4bA zi(P#1;oI@QzxltT^^(6P35=J$a&=k0`mX`k4$dbDe0T(W=u?4@_(0&LuUvia?Z(x8 z;J^P4^b7wf@J;_4@YH)d39PzG(w+xeYd~89t@W9NtqQSoOtnvYSqD+_Pi-Q>u`_{@ zX8Oe7gr+VoXKE#mo63~cWWcLzdN0X|!dSW))~w4Qrky{hYAmT&HF~K{MkBBLJ;mQ+ zZkIMveh;0mMHr@h-_ZG_#f%&jvxY)-Sw6qgGqsC)Nu;(oQw=RW8nbNB zcGus{smqRemm(#F!1`6bvC6Z)<5MI=J2k`I=cu}$i>|}!w@b3?qT;dt43b@a?RCu; z>om+l(R@bZ`dJDaon4b2&Az%IfM%E9zn2#8P#E1hdgXo|i=F-KLaHee5xX6dlE`OB z(Jd`^BZ5r}o2JekqjRd(Z>{>aianJ4v;8|W$xJQ8g!W`_itY`tfdTAH)B?7on4F0>d2=1 zHWwC5x=*A?$Q80m`)8$=5yjeDn)p+xL+!riu3wTRJ)#o zoYn6Joo>p`ZGV@>IfircMmmYpQs#OYrX8K#Gg?&&!%cc4JvJK68yQMm1X1(z1Emp( zN}O+YNTie+Nq)BChT2)TMJJDq4C^+}Ge1GXuqJ3>KcXXV`u$M4#eQpbzh>@tR8ZQn zVG)ANbw{3dd@ZR3Puxi@^ipB}VKz)(w+w2`gs1&q+a@Y8T{g+v5bRT(v$27?%QTmG zX<-YNvRY8Ez-!0O=*tW3p4I*_DJi0Tlz%EfnDeEb%_*DxA5Ws)8IdC0lNT9^Q;`XJ zgPS^RD7|EvR6gb@{gg`2&tJDryrQ;0vy73Ff*2Zf_waLVigRd(jUdGkqnXDQxKtdCEFp3Y(`m=dP$tjc$&e4;qBlCY9()dhqG2Tn&!B{H2*sr%BnrvB9B}ueTCGi zQ|S&d8BNc4s0{Hmo1n>H; z58{9QD<6V?@=gB{+7$8#I%9|A?*|>d1AqU`zlH^X!@1<|fOQfWQ0P~kQxbToz}_zK z+5Z#d=l?tKhwlXT_iq2DU)={@`$pi4{weScp9OvDyWO)%VAZY6qFejy)>bqMGgJyQ z;fgcEnS7p})A#E6zw>E6yZ5u*&(QN-_iZSY1+DDn-4M=nf7d$SJOBN%MOg0~_V*kv z?5#Xs?~L8b+3UpbZuvcK>werpa_m;`{jHq8erjd==X*rQSJn=XS`LGtoJE`e*NyS)HAo@<`YGoX(r*?XZ!~Z=KHK`Oi## zobfxJ=J)j$pZS)Kmfl_&b9)`q^M95{YFpk;886!=F3x#BJVVkWvqx}-_cC|R-Z}E; zcAwjeh;wZ6wa?S`lnsx4+Pz!--{m8Jc0I*C&^yn+Ij`?X_f~Iluk@Us{WR;Y{dYQ- zed-h#+-bVg`wqJ+-fR>NV6e*e7jRC=PyzJ*8vVi{m zPh0)>Sto&S9sy5#BJ@k23Hgd|2Tqp2?#}IB^s5KJul+Xg#s3ue#?Jzt@^1G$9rT&| zj_T{+DL87&(V%Tl^Ojao!_6MGK|ltr+io4@V!8t(A@SNZeP(q{Iq%^0Q?P2}7;&~j=|{XV#bbF^uXWaj+NImfbvy|m4lY{foR=VtEx zdgrV9Jl$aU#vqkELYYv`*3$X4*mQQckv+Y4t7K(QZUOa-!@2kC&G|WvjonUhX3o;r z&{KTxHup?t?n~Pch`N1>X6%5u{cJNfh2Fv*Zjwo-)r-A%!xndQ zP7lc`&IPvE+gsJir?FGF)#cmxFx%MIa*8vHE#*eFf7|FF*+K?KA7k!kWXt=zjjy|{ zPQ)qf%Q@TWv~r_*u69bB^;YiiHqUu0cHSl#jt$?TGq#pKf_2$euWxhjbc;K(jW6QN zEwL2U+u7;c$d2v^ncn-IBBQg7UyM`k*PQ))TAL4BuFq+F25f2X&BbN5mED`rHuy@n zx(97$edH0YdG~B~c5Ev(lz zv9E1x=Ub5*r-^gU*{kgqKjXBzYvY+!T>9iMaLE(Ef;B&QyO<7OVD-Jr27K~o{%I@^ zPw*dp@YT3>bq{-6)`kuj_RTx{c>3Yn@c&(R{+=rNJK(-6z)OB^<(mAxXRnjM$7lP( z*AIdJ=^4PyL&(?sTi|#J>|H<-_}VH7EMN40pnbz%2cGio!1bH=)cHQ&8Ndy?Y>uwY zit?(eI8#LhE8DYS1ZqUMfneJZmc<^E3VTZ@W80sb+tXovwRqC4*84Q)XsiGB)N8Jf% z@3^7I&9bMzRw=0*<`+))ZZoAfHmq1&SJ`;yWJ~v_qYKtAq+Qb3&LR{jblLz1 zYOVgcb&@hY{i0iFe)G_CqAnWt0Nrh`ijO#}IAJ4dM)Sq+I<|xU# zs(q^I>hx5!roGcp*?swbN=IIsL4pMx-Zp2VvLm;Ue}QUtlkO8sv!>hIJ=@wo+l)Ur z&7GT4jnsxOaEIp$$#f>Y=6GAoD9C**?MGg zgL$fQJ;nE^2qcdA*`UXy@+UkqbRP8+<3bxKTxHg;#6~&1-FfPj*jBcRmL72S0b<0g zw^wzqXB8)tU|(fbvOTNBMsd0YwQzYBJ*)Jo<9M57r4&@clWdA|N6H(TWk+vR&Ya(h zytj6^J#*s?{3n$^Y1Kvm~Rzh=*rZ2rWM@~TTyR*k5h>hn`1rh zOItg)@tAiLE^Pu>7J?f$kMXv*-@tZq=uJPDkw=<^%SWKicMZ()>RC6l(*vR;q5!FThs6T9bG zwcCd(Sl| zr{>P)j9jmR?wvi*xqDk?lFp8NZ7ZFln?e$&dxq0JrEHe-y6G%D(w@oiS$ev&r`^3g zU5NCN*`kl+bLOJQI$xxA>OI{ip?fy(=WKw}$~c{~d$*C@TfBqz^|x*lxZU!*diu8t zi*92(ZST)^depQRRBs#3Qoi%59iQw}cevlndn-xP+Lmow$cX-2;_YmM!9ESPqMntk zIK`XmW*g#>6FT?Euyup4yy+dzicEPspKC5buzCL^42;~QmpZmFe6Q2qwQX%pZ0D1n=7<#)Ce}{VsJFIRS8W$Ne&Y_orA+`YMDX@^ z-oWqv{yXsK2e0BpFZM8;9G~Ffy!4X;yF4X^*oSIc!uEQcW^ zMdyLI%K!Cun649Bp;kXr-x!`c1PXO6^G?|6yVg~uV{xEOVeXt9|PA zEvxG&Uw7gl7O!>AVOWxKWyB=hZ1rpmCX5f$!nwqF9>)OJa2SS8HZe}TImg5Px_2Lo z^JS`C3>AqoCT+~l$`o9S{SnhL_zFigebarzad@D3W{q*aKD^yjNtX}0&mK^oAc=j3 z>-Qi1S}zo2EpN2?a)GOqjz1!(D#mue+8bpgR(Gv-76%zDldG*>Z%ItXR}HG6wJgfi)VgS7eb%Q|zBKH%DTJ_cEW?4i#Ni*?*)bgIDt_9!uU6CM69aX_Th~KSRbf`ut z-8pAlO`wF)_Y!it_RLR#N--Vz`D-MkP{ipL-=W&vI!2BZUm9lbmbJ-bvbV=zw{~p> zVD-Cj=c*MpMHMd(GIrF_M&XaTN4-5b+J8mgu6i9Ju+N4x@Xg95uV#XrlJ$AlelSl8 zTPAfSq0?_8y&#|$#vK)yYhkQSkmTr$pD9u17}g8XNqfn=9_tRRT z>vN>l%iA*ntaXZcJIU`LGo3-P9z_E4M_znP&+hihcIX&8rDXBSdR2;o0SPQPV!q$^ z_+zwx9XEwoTV=A(%<=_&YT^c>5RFMAj5>TKXkZTM`mIE|%xi;BJe;o{qXs(6G}2>$ za_4`NGb{Tn+Kz)ZQH2z8E5?58Z))LxNvzR@Sr^gG0Vwrxwo&dB zzPY-X4^k2?$06!ewFLiQRt7^h3@VPk$@Kg~e9qZkPH0BIV0h(DvQ3P1*ZDP_4<$;l zB<7RD;#g3^wL|C(7Hb1&wz=({S7$yZd0H`(bmNK9DH-*EVG1ftkf?q%MrZ9u+CP_( zyqT=PDC;Hgb6LMK`a%9q`{CJsW8M08?T%g!S4NqY+?XniYwMrm`nM$(ZByX|6TtU0 zLj%dh;a&}#>fqvKnePh7uj1Fj!p`H3F^ zJy~Ms>%Z%Qlfb`?oxlChvHbeagg*IQA=hu7-Me0B7Wkabsw!Gjh!di{K&^KFq+>k9 zM^T)q+EWzPS?Kb-(Gu0)UrxUFR^EOo$Yk2RtPt~c@6nC74sca-Y3&4c^j+JgP(V^iXb?*Gy^&gV* z-;*2gG<{|wZPJ-FvRBz;)O7Z~*#j8XGX}||e`n@;(T2U~%~#Z7?RA45>zyTgFLZ;B zPp2T9T}AgF^BQP*AQ7v>~E&1c;Xit7R`%heV*7}5*sHupdi-$$lvA7osg z`d+MG)_eJQ_KiHzqSIbC?w=J~oBg|}!jqqC1L!mRsr4<*a;nllky=;7{)ff4azkS< zLFa#`>StHY=Q-;pt&?yaUv}1qDr^!-b`3h`f08pT`uS>X`Q(FYM~2k4lmm|NE$EaK zH1JZbrM#0Fvp_dIyLQbTC)+j0bYlLr6P^lkJjhe6e{PNkFX}RdR^^_B+}7Fmii^`? z?4q~rrM%C&Lwi>@`jzeiDzq)w0gOwY0G_C9^}=QVCmfyNXnzNX&;K-Bl^uN4cmFs( z`q}}S2pR+nb0Lppfroc?wjOGKDhPo44j?anB^C-S|L&(k&$<)1HQ>e}+Os|iP{qzS zeD{TS0`L6oe~y!X_?gi6`J;DzC-C{s09LftLISutM4KsXdKJiedqlt^T;nr-mQXm> zZt)%Z_S9+TfC7)0Lhph_tKODp*_Iactls4eXbsQfarM^zS+_dxa`A`hJhoQP_sEqU zYo{43xoP9>#x=i`b0ZAK}lQYG@BJcYaT^^B1|yTh-`2f@juqyzBZ% zAMh4m;*QWWkM!5|wm<4AKlt=i^E7k0tMzx?xEnt! z=*!#amg#NVb2-&5*q(y@jC9qxobm0(ciigt>utE0dbbIbb27?LHQV@9NA;8i^QV4K zU&NtjwS1c>@AdSzWGj2u3|*a_DfDX#v8V9oPN|gj z7Qa_d{Vb;$A+p_b%c+*3s!k8~cx&t2$hl^5}(uX!D0tTqaijG~>>s;+EO9Lb#NkPuJrHd5iJp<#(e zY^s^pkuFCKb!051b(5aS-tg>$T$w6U%{?7-lUli{jtLO3 z6h~4lt^~@bOgXLFL}W65UpN=V*)h7nQ#UrF^`^accgda4!mUzEZ*EwL-AOd$dZv?C z%wBr+<9l?Z`ge6g8SaP2yJ7be?u!dH;&gVrjv4fSsJ0e_=ZyDJ{rfpuHaPh@(J6bC zt7@ng16`UbJY}QgHG_J6KheY%Dp@^~d!gow?juW;Z||+8!xn$HtbJzhvRSj?PL$NW zcJok;3GlXzlRl=MBafEI#?90zJ?z8IF1lYc--EE z$7g7iDdToaVf$sU zlNuUqK&$gaBEyGdf2-0hqhF*>R#+Ke=S-#&;qjP7#~|B})@JfoQjPu+@3u&^vn>TV zG9`smhF;zd_tu>voz_@_oSt+@IOk4yt1+W<&yG`-DwSiN4Z~n-PG2?2!HL->d}riN zm4a4YgYR4T8c7#MAI_Z#ozzSE*lhexV$@Uji?P!+t$~+Y-UJCwyBPl=Ts0@F&6puS zs=)Z9$Tms5j57LN>h7%szr#O596uD*T0F2eawUbkH`i>N) zFfk}&1EI9rjjg0oj|dBQX8I0HF%+${$75U(UayL=aaEAxR9cNlP#2Fau6%s-+!A8_ ztAhI^Qi-{^qx09x z$(KKK)gAlqe{wbnd~Oh|lE5$hIqWKM{C7VUxOzTG;FD*56jXuTJ0c1Ef8zKbekSzE ze+0OGbl0A35jhtbr%hM1dujq5)?mr`z!(BrtBB@;2ezWl*beIuw>ru#4POugnmLT6 zqjA!-Pi+y#%@>rP8UlaDOj32TTC6dYf*r$qWuC&-XEycMJ?@A0W1Oy zi@KS3D1wzfd59vpu2T?u_&=K628}d%E>vQlv){4o3IW0wq_YstnFQ({pR-X@O)4R2 zQ54vi;IaSjkk`>@yy=>X%Ny^jHPkVGBhndrF&a6|yw7UBWJ7d*)s7J|pVrC@v&4LU zaUc5hqQ)s4ccG2r?gocwG6F*%>e}hiRCE#INzMCZ4TWIQeBZ6JJl$BG9nBICijOV$ z`D#F>*xQlH)FsP?wQHj@8@JxZ7S^I7t+#!r7S4sJb?e(S*+n(U zGBX)1$O$bgT}nqZoj3nyH|>2I6+OvWQ8wj_Ge{WkP>qAIF}J4E$YNksJmub9Lqc0aPDDdBzs7qJkEy1gO`dvq7mepG zoKH(7DQe`M#sZIZQmMIV@2l@>wg4sHxg^kH)zFr1x4;fTJn*I3?3%X$lRHDQy$A zW(&cWr2ah>VzS+aS){6Iu9>|P5~yx{+FnaL5hXo;O|Lkfp{7A^X-U8B-aRIl5Y?)g zz1^|VyuFZn2wUYtXdne_IT34RxYb`aDCNz0_4iZFeK+!WyyI4$s~=}7fmUADZ_dUfLB?x-Z$+lCE$#k_Hd}o`!pi>3^U1BvKAjV|*>i1}i73eU3)gPRhu_$3iW-1yj#?~60Yw0c{<$9NTUwfqA zSx`$go+0=;`8|zarqcCW?4C5ScF4MrrK#5`$nr4x!rFPRHWXtI_L6k`PAw@~Rj25K zAdP>VWJ2@BUM@+lR<7kc*UX~IV3BDoZ_!b}4Qt&x`)Kt-OC9Q!PcXPS!s zQs^kJ{|0#{h#cP1!i?RPow-;x;fe%{60_*9S2EMpKg7wncD(yIPqixFRcJB0E6qJt zYhU*IC)F8LX>Zo{p~k|=4K2!fQfw;{*}-lziKmn!T0ch>PZF8V`8reuG|hDL=Gk3o z(ah-3F(xI|NF|e$RJ(oJo!YgsnPg04C4W~7duaX7mOg$8=ZK4+j50-29T29%z~-C^ z(LpyN>FmzDGhcsD_yca5a*Uy*!oqkCb8*jDMA4DKBR@9^Kh4dVH4z8RMd%X!2p8)J zu`I1)o)SltG^EBL4e`VB?i5t+UB5(Sn*UeShWE-@HP~x0%r`b;*?6EDy*DJr+fXP{ zj5d*M(?$KD!FMX-{jQ$Q+n3@@YIU(?U+OjOKvR@)lGSWrDdn4w%PO>~u@Tq-e3?_g z9nE+rB!Q2Cy8dnI;7aPpO(0$kY#j?a<~T7er!SU&3` z0afgN^rATIGg>0QbO$pBEFy+p$ z7CP9RF*Dki=97vhKxc5L=4$_B(dd&96rQ?_QaG}ZnBIwM?iq%JC;E+xsmrXMU!$&= z!Ec0`f=l0b9*o%9CUE;>6I)XkVNGVD=v!!IEQ<*DL>mL-VwS>JjJA-3k3nn!O5%XxuhSE1G38sfH2W&K zrafsFY}Np?gK@1RriO%oObJ|c>;>Dv;mSZ%TmahM4OOIW zu2_iBssyfjIapl)SMW3HC5g9he1_hb+1Q1idJxxNWbapVfnZ60_Os2Tt1EOyHm70& zL1`Pr_@V@%?d^eyIYE&NcB*F!Biz$>Hq7f-Z-?sG4KU*Z7!4|A<9~b(=_m%vTB36u z?uERqx+~`HS*?>0GwAiyv|b(yApsYg+NH18T~c`{rU~a;*LH#w_C`aNNAWpj#tzcT z?nfYNklavH8DKrR7VT^m-=&CTlhvV8?e4pFtQPO9>5ObiHlFn4xo;Ft$!hDL4tlEU zRvr?TK?X>5Z+gr^A))TpAQ)(xTu<9GpVzT(!*%j$;Sj0qaCP1D-oI~_tjEYbseHz0 zUlg*hNt6!0^;m6TpeFM+i3B*mH0xS*_L&CX$g}V?#B<e?J9S$$Y5?2)dFum{C5GX(OMCUbVMUyvNb%gH%0S-Bjo17unFx0M_#{H3lB zwSi4ugKg3Z-wxJqLeJo@eYa_S@;f8lF(30#=|^31oFIIg{Fop~)Od6kIPVR(zpuK&m zY(JgsA1@}cmqLBe&gZ-Hcw)!z^ zSKzg5>;Ps0_%6WliVphZInM+X*!kXzOafoQ&P#p{B8ubZe+qE*;B1q?+JKu!Sbp+H z0Z{CI;G#AgL zA?nxxBV)B^v(z7vyTg<>YLmd(IhI($_jp&99>Up>sbEgjC10&GtCeRTZ$qS4k&yYa z;nZQRMBKBv>PFGAYSy=-t}Ek)qpvb{5KT`bCKw1)#TbJcmbR&l#`;7VtbJAt!-M81 z!d()k8Hyqu>o?V|$8a=dB|R)Psx6~PMxOd?>PXWb+e~f6uK9P@D<)EVY^8&4_Mkjz ztNYW!8oA;Z&sy#mHMYWAiYb^*OOdI11fkUtQ&H_0{2CH<;XPG7F{j~Qgril`=`1&m z=@lynW7yoholZ{EaPECTx8@oU2~<5grIn^C_rM#a%@Thb+8^&|TXm)GWl_+~S#P(Q z>fP{zTAWiYPK)M9M5c!l-yPe^i|AKu{UI$;n|oR$UALNvh^g+KXfQRV0JT6$zhEUh zo5LNpw0;^R1?foJ*2t-K$0l#bWL(XAg>r_yi!PW7e86`;*4*;z?>B`gPAoLj?KuP@ z&DpZ_SSFz}YVu~sIZXQzdcgd9sTMSNV)h~Eh1fN3Oc}Kl9pnw& z`*Q5YQxmi{(cgiNJdFWy;$heaL&YBSyr$MHov0>Ne1Cw8K>CgojoBF2uR% zdttLDF2JT0J#3!a<+>{;#cIZ}czZxn2Ny!ua9DCfYda-DrXn_mG%}Nz(Fcj?M$J07a}>^HpuqKAy;D}r ze$FHS&HFT1BPH8Jmcw3Ga#+hMP$NT zy--DYHoWOHtbO3|*NSyQ^D$FzSLJCFbMvV+X9%s;EbGp7H~y%l6n>V2l3MgMWyn_P zmsSzOnDZf`Xw4KPwV*c#pJM37Y%(4{+l_7Q!)DHz4Du=2rDkM`_B;S{ADT{l1VLwO z3u$$Mv%@AGt6r9ir1jRAbroZCYGDJ8=S))KVDe8ijpLbgd~+sLlgaN96(=V=?{22n zo?8{L0Ots)7>1O zS*Cb~Up3DI75X7f3?Xm_XOl18M`_KP>YfVO`PN0{L{Ty8x^2ZjtF9~Trom#qLc@)# zQz?A?f}t!*IL&K~Kou*6AL0tsWa`wOsD0N3{NrpkUm_${e~rgmrm;jT@7Z#08L49Y z05SSK^B9}*8%;;Nk{@bh&uGS*7>umfzs2*RYV0EG&&9Q#3V}!Y5@)(aPT_(XXQcl| zq~;xTP4u5l>?`W1QRdpJ1WAPt?hG52v3^&)J)14ZP*h!avYK-M6CY130Oov+vZ<(o zP-u=Bs+L)CZA0uj$hIH@)Xf~6f(YuqXMK;0n7d!2z{$9dJvC#SxzQaua9SA4bx z1dG?#F;)@d#BSeXEAwa_w>xX>D-*!CJ3BU2_1tkYfFq7hfW2KD+a&OP7f1*F;#Xo9 zz{&GJ1$r)Y&_^R3^xj2x0>9>s*!$9dfun!$8LLjZzkvG{uuJ zmKGe05c}|ycg@fS4h~)$*}g`a&B4J@brnR5Q3p>mdq(qnn7yY{0@((uVhP+hyP-|` zQHJLk6p#)<6%9d|DOfmGVmS&Kn~l{#$A!tsLhdjcp3BWv7>!vC{*|e&8iGH=Gc?ol zI#kqZn^Ie9W~hudsM!7u6FBy?VlsTrxId<%e7*K#a^K8rm8P!xQHG$84ehA}%0@NG zd7I>r*gG_(b!dmeaq>0C&zB=l+`JXJkfQlq4F}cK88Bl-cJ~(P94o~Gk&Fv z&m05yV_ta-psSDH=z8X#&urP z91f+_iy>aElW{x+(wjG~*WW4weYov}P<55HW1yj#nPX}a=&GKgYpkGe&gq|i!}JJg zm~ZB0vbD+4AH5fIzK5WttBAK%-px0n=yY#}HE~qLfr3g@9UY&Qz19_Jn3BT26tktd2wO&6B&*!>Fw3+#VxsKaX5xTJjV(3hVyN_aCrc41d5u^Y_su0&n zZcRY~o$jzr@~HP^$08zyVZyLD0%$wo=R?7IpJ* zt?lhtG0e=j7~~w~#2Cx4-(tF5%{iIuJsI^4Lefap(!4iU<2coZ`4J*w4G2r`Xp&H| z9?MbUs?k%%b`z&(R{#HE-Dz%2-Z7~qYKyj98fKzOc4Jr76(orZL{5dALnrkx2FB?X zHNO{9RT}9<)pRkp=4W`@a;G-Tebq6@E$|6rHM%F-hY}~IT4o?sH}`g2Ym=1LIK9Tw zIZJa)OQQ~LKJnvdlU-N-V9$hg8~m`5hM|pjO6&xkW`Eb)38FIkm_tX8HY0B&tS7?g z4`+7||K6rj0o7uRhr*iQV$(dvPjd1^B-!>d`l2$9?y=)Qe65|1353aJSj)MQ=HGU} zs+$`r8XZKV2kpFI_Z^eoah=<+bKTYXoRbS8KJaYkHV=Nd^U=f=uS`CB^Rso={=;-v ztf&*W4r=(&Wh^i;(q_2FrkJhtgKa_0P9n47K{E!$Xw#`#zgTQ8 zEz~L4!Z~}^tLy~KhyrU18^g*`)~ksjL{pK5 zqn3AZqCm$jrl-%1HPcRkkd0;8ot-{Q0W6wf6BBb6O}bv}_#>Tc)oI45EeaH4qkF$* zU}Df>oP=206+km_jWGu5sMXb(gT`oZEt=Mbc6%QRZeu~6r{`8rF>YgDZSn=hF>m?z zw~65K?pd=GlT86_W3k~NFh(Cg7Fsk@pyCQU>_C=K@M=f-NwC#agP*3x{+JTWwnNp+ zny@E!7P_j7rA0;zb;agY^U;({UD>MY3Jt`_di6E3#!eG=9!66>6u*u>rb)=JbZj%D zRV?jN3x%#4I&~Xt^M%+^XJTT2VT_Y4B%a1~g<3yHdo)FKReUL)YSdlo*arng(Mq_} zbKIp&0AB{^%22%H6TrYo2YvkIp9qLz=X-zZLT3W+yyTUu$9n#!00(<#+X=i}0yh;W z&-_TBHSB%!f4J}@@cx(n3mks!XF%Wk3BZk`yX1K1u7xxE?51dKHS-WIO=1G@s(B`e z`jMD+#vOF(J8CBCFRrOoT_>BZP;K^Jn=eaqbKR^SjXDBp#-|o@LM_2yvb!`Dma1t< zs^(?oxpsLTGLS3pC*v;9+w>IG=AB&-PmQgu;r)Gd#Lj7Li32qUnC#~}S`#-TOj2i} z9rxz#@#YoN29&PBngK>{t&a5_zUZFg!K4sZ2pl zx0kky(syQv*gF=dFq@yZah%i@68op7TGbZkkZDzssEIlYs)-)Uo?+L$ihS?v%&$l@ zI0XkfUGmm>3BzzA6`FI*Qb5)gmuMj;YY37Rf}VzZUj%9G*|(Ltab9tv+6#XV69kMiZ(-znj1l|UhIuBk!W8Ee9ln`{ zILwDPi_>~~!Iga#Gc}_qj1GFaht)dz_lPsHQ*@466`1&jBna zThviQtHutwY)`1ORmDBCmDOVA)}yfZG|ci=g!#`Xnpo7^Xywm9Lx994<9w&M3kZdG zv=>`qA!ltxd3#QM;X~FwNZlB)ds)c+r5To&=OE@pGm4TA)q=3W?ujDM634b`RaWMe)|Xn-FUY{;E5! z^?6h`M^X`+om#A(wk18r{`E5zH6)hcy0%SY``9%e*HoRJ@m<2!r?2K|4zX!<^c+4O zprP2v`7=dPr*s(n@bPG%PZ7{EqOkt=H!mX zQC4DX0AFOFwM*>YA)m7#yN%pxMGQcT&PxQJ7^Oeai7`YuD?xLr`txS)w7vJs;>!eP ze!WpEEpCXQ?A^2PEuml+Nsk9olEP1b`F`*B<>6}$*$%YxYn{Iue6qL{t>c%(m?CV< zB*+#YlZj&i{JBUCwa$;rF){1TOyn?{?Yx+%L!9%i$^TSKJssqDWZr=mzuUDnVd#rB z#2v!?aH(WRjGL0SJnA>rNQ8c0dPg02o)zJ)pIB`%n2*QLw#qaOtksLZGWw_4B2UPD%1Pue3GX> zT@s0+vV5BQ)1)I`wX<41BclinZQAsWXDFTrbU$Cadr+;Mbf%M4Zzdam!Ux9ezXabX zCG+wOIMWpbEq1&DNw1MIbbd&~+uAIoz$t!t{M4g(S zvp?ayKF=r}E}gmOv(irI)=G;Rgz9GZAiaa8**^Ic^z=y;RGS=U*+RbiJFxlR{FzGR zP8-i>Z;v!ob#EWoUdLnfOhU$|G#xs|M&FUtX`S108&A~%>76< zkk+!eAr^6TjCMF#GrYb72ciH%pgoKOKb(t^$HN5h>kItlw9Q&&+yQ zOI_NDJKm}#9g0`Hz3b&)KX6z*H#SHzElf-4?p4pW4+Wr#SveSO?R36%PCjcH2=QR{OJ==T=E)yrpVUwIgS=h-J*nipuuTnGqvZaWgu97vltZ zUlbd~Ss81{L2a$=6P@$ZG}xiqwMVq0Dyy_k^o6{WQ0^0!xsOYQkmnt#7_^rdd` zRWFGu?k4@!|5LRl(s}+~vbdNk z-_@Nu_jJ0!uPFWbIlrb}6Dh6yIeUA~3d}ZFxnDZ(Lsl|Yx^l7~XYV~{H7rjy=|^-5 zQ7b7Qi9tevD`sLV+KH3s7I&a(;OhDLz>2YF+o;XG49)<)+iCa(b6o=1!)~XZu=;Z7Y(oKPz$2fl0M*+ZvCxI8Qc_a3}>|f&W zYgS2Mxp8>=lkayBRGS?#+A%`~n^ayu%&<*Jy&ra({|(HBb}?%X&ABqY_maXT5cDW0 zwD|ljcctS>^~{Lg^8tN&jJe<0Hi#s%;hJ9PVgC0{vqqQ+lWFI>s=x2=ug-?1P=a=^xs;%$J~9a!h?FM zb2zsyJsE^vSaQR2>xT2)OMOLmOt!rBoA0e|@q5}i2QwkHuAG_+J?SaVan?a|G9O#4 zSrr!Qy~F%7)n`Sv+HDrcJ$wIdp)chW%1luz^s1M?mG2KyJU-1 z+xGY7?qPS>=FA;IC%jXIeI~w$d5yQtb5}a9wo&Fwl4L7+eL6d5lfJ6oMa%QL>9gxK z>nB{c(J8%s*F3lTlxv}#Go~Bw(cGHqmNI!$C~~tcvRQ6#3V-)}AKlW&nS0kNlr}Fl zbZc9FTYEas$*k|+w)?qhZ~J#kw|dTP@98#vRSXSpD?d(Wlj+8?#NK*t)=l$iKiOja zwzX|^#`o=eE7MPG(s$K8)GhDTw(=yN>uvPLylvHw8*Ep4KDU0`%7kt8@LchY%)WvZeS=-b(+w;gc`o3x)=-aaO~O&n=^eW|BDU9vIGsi%rb zY_?bRRPk5b@_Onm#}TXYAUVak_M?q9*%x{X&%b?4DevRO&eOP>I~t2%%O z9G?KYJ2?EZPXtu4_X9rzy{IJc)dTFjc-0Af_?%|~2fM)W@+>z9xOs%5XMQBm6#L)u zeHWJmzPgW{*SrA-&-s_Q`Bl$`zSo`I32e``ocU)rG;I)V(>xAT={wEi4`y|>oxkVn z1?|r}N(m89-y)eR%vER#{LDzlp%)$_@ad*XC_|x@Tva?u!C zHqCuTm@@*`LhCEZEKT(^0M$~*t^TFC`7V~CSAw%-XJ|&(#Lc~m=Qjq1?7S(MDtXCa zSB%bj^D{#1I#edqNXuiX#>{L$iRt7iEZ~>b-;=4DcbJ1^=7u}dE+nJe(9TF8V;(r{ zahic6mgZ}k17imZy7LXxGsB}B<>n5Wd71IM6lr)PyW=?-&VZ%ewsQjEz9Z5V zRrkKAQXZdszF$fr&6?zdZtm2O92PYD=4J*-3?IdR%N~!cXP27c@L5kF&cU_1P!rvj z1lq|kCaJUTQkKa~v$)`B>65}qAvH;BSUSUjdTXGm7K!a}GL0(gbz9DagAwTNW7m4E zODr9rBzvK>hsDnscKSEWa~fvkPIs^Fub<`(`!imLF16T!Rs=vnu{7~Q-;$#h(Q#UsosjW=AfFpEYS`&yQ;`P((+)QjIil*G22|Vdh-;H*aRZq}q9_Rrn$AyHz~aet;jx?mGb2vUc!sCwm=c z2E4HiY+ORTZyHRPQszs!DhOjPG&zq_sA+_Af#Dt8Fj(VzRr0!6;F0M_YV%K}nUP0D z3}8HKZIn|gVeEleO8sEZj~mgv4G{fDc)LLD5ba=ZI(a+p|N5+i*_|5wcJ1F&XD225 ze45uh3}}_%g@=X>K^V_u=0i(AQRC(^J6)W8C5`^Bdi%=Wjr@JntZA**Nb~uuyQ+gz zY4$^aLccbrPn;VriEO{1bdIwKj689^#9Sgx>v*S=5g~y&$cU()>^=?eCE0$LVx&}z zu?}}MF19ndC6nZc1XjFa?-1e`WkNN4HG(N`{ff~x5bfKt0}F`s9^B8Q9Y@-zpYc5T zO;e0A%Tq04YBpwF$wIFU?K!gkR227G#9B&!71f}$I&3RYACZf;M$#EASe5w>3;Y;B zkvPf%Zp?xkC1=N8L5g_r6t<6NFy=;>04DA}oGgL;9UMOAlK^0y1ilD5XaTNW!R||5 z2?$n6;Jw||^PLr%LT(=8=#xJRP^^-`%LeQ$Zhuns>H&6s^$oc4+;7LtuYUHr6Zq)z zoj+aMlFb+n8j>9_^L?a>1&E&^5oRvR0*?Bqnh7`xbNJZ{%_?-QN4H3kG^u7exH&FC zp>@W!nxCK29Bvky=Z>DJ$a>CCG=P%xJQ)Zm63KQJY@AUM$Lv{WxvF2(ArZFLs%a*i z)@hO$ESKPfsum7i!!+AWk!E3)$syDRxwL6sDRc_5tYc5kDX=lZRwTKq8EXn%e}|nt zYUfiJ6HHw=)P4RO9hp?dkeV4Uf`XzprpUCo3tHLQ)1B_kI?`giNjaZ&dcIb?ST%oi zygyPnmTgK@R>^A@kFeBJS|=s#oMbzjPE3t}mg{ErI1fu5?^$&xTM>iK!78&3*0C`k z*0fFtxV_Lg@5;-KNOv_R#3Ijj3<97iWN2pIZj807*9WbtaaQE>6B1>jeQGZ!OAE>+ z9p1ka?9h(GqUzTxRSE}L-gCOt$m%qYO|kv_v&?@;GlD}j z&pA&s`VeURMBE%*Ygefqd}xCK)n*4ryiGY67sGAE`+M1KXV0sjr)ZJ`8tgxy;FK_e zO`5D`y$6k=LH1S@pAvOzF>_1`LsG3Sg`e#>Cb?C{gv*$oE=NbJE3RuUcx%G(;m)@Z zlx;~LdK+NFpboc2)u@0>n{DWEMXS(vmai#(R*fH!WS9B%)$ygAt=vM8Fy5J9C&rIexv-aFflVsgNSpQhGtGWlaT8&rx-= zLrsFLg+TlC`)z$zq%)JS9?76-wyLI44Wh-2H}U#$sOxJsNQ-hT^32)QRQKrQ@Q~DM zn&!c#Io(>w%g%@qF`H}hO;A$=nLoc8d18wDjQu*zUzL(-v^>W$*(5Ezpp_ZTO;ton zU=+E5F|gZE+gYL=nPP(S!NYPgq$N2v?OoX$tybR|8`l<{xVe$N#AmkEM?0^@In~+z z7~Z?ZJJ6pIGTldWk6J8rYCid9eWr@~TBJXMMl_idCW*Py&(2VkkXQ+}ZS9|Fk{Q{D zxA6*7uwVJBPR9p!x_BQNylp6Id`s^?l*!QXwWrIhVMud1<2?w((QIp8k7_W$>RIfm zHYqeF=v0blW{QtzBPP#K&w$qI`?V-q0*W|}k5O1V%hs>vUr|)KxiosHnVID-VQGrV z+#amrG);O&lqUV}=9mYcPFnt13ASL2^|XTSyBE4w_4ePiX1x&*k{xJUoYSVl$9k}_`pN96tCqQoAnMq((bqe^* zK6l|;Wz`Asq88VA|En$m2{ldv>r9EMP8DQws{D63>`{2=DNrZnuXK~UF3Tpa2TH@U zsc~{Dqo@odm4Oofj?tNohGv^_R9&#Q6Cjex@kBvBru_*jsp~riZ6#FrX%1iZ5<=1N z9G|UnprWy(9S7bTuj?;woi0y_rdotU zz>uqO49`?`h*gQCbiR@?r^$)XPC%e?P9+5S>SRT|#-r1X*g0hHVuyA!22YA6s_Go} zXmO+}BGK9@E`y!DcP(fc5?Qfo5|gp}wupTvk=csmunkD+Omfmz==O9~vlZ{C1N2p4 zj*C-CcVT@mmKa$a*HyJ79YhE)R>6?r?OG>DFO{=gBylzop`&nSJ8xdfi8;NXT9fQ* z@%e$n!#kXs3t+_Tb8i-)*x+yISgdp(itmXDuu2!8NM>j!a4j-lxTBhhPFi6`w-iKI z(+e>vmDWi}xlU$#J~W#`J{X>pWka1qD@>%SXh}k_2Zi1(&-8lJgrIIoq(*E+$= zC_ht`c|XsWf`c*eE>1p82|sAou{L;E>eIGP#&m);y+Cd(3WH*w-7WjSGFdiA*%)NphiQCnTv=pkD(&iHc8_RPw#&V->-YXv6n> zQS0-xBF>Z;bvm&iG4iH$&O@_Fk3g)qjqa}QtIWk%iudVpbvauqmZzJ=tnQ8!cI5PP z>TO@iwoPvsT=cgpyK*agWM+*j#;>`dMcsHv`RtQCmdK7{niqO|+p~Y``Oh6U1pT{X z?cylh<_IEVgUQ@*0B1LZBKA3dILewRGh!@o{2a;qubEI`($Sb$=PV0FZ@pWJA@uZG zVR&_lEavt$`4Tp^sz_{0^D(Qs2sP=vGD+Q^2Q2+posD;>vIBU)rA+_}fRmGk!=sbC zdyMPx$*L3h%RXsE2mOOTdof910JwTEbpn6+IV6FbLXM7c^vQn?5V>GF=phOG?YQ|h zpALPG#{+j*61X+RV;{PP`>*Ze=y-{pvpN&1SUh~wcYYw(I_cU1$szsNS{kYF&nj52cGE~Kzu=UFjvYx-RG^AmK4(O^kDZxs z7^s?5!+ZznR7Z_DZz+>M(c;tE+sWO+z4<66DWy^4BUePaYRvF=(eTqiPa0blwQK!O z6jj#FlB&ae=tdF6HgjeZy%CDHNHZ?5l=|LnV6F?vW{0%%Dwj; zquz$f^2gXr+L;aANiu0DE{RMs?mQ-Y!Uj~m49UqBF`aHwmnlRF!C;@J?$sGxCx!n2 zbP^E-3r}$SYJFti-6&9<&AMm`@TaavsS`XMQ@P9J<+|uZ3tLXJe_q-rQI}5@6zN^l z9z}X8Z!1htzhuu0JdmJKM7=g^w3)?;>1K+LV<)>aMP( z2`~JzQI{K?*w?Mv^;vw!uN32$;P*XHu8YLc3t6VA^8vz~+fYHRRpj5vPD^c`sb0r8 zOy!WxPE7K>d%Zh1G69*FSKE@Tfl|CE#qd78x9zm2C})O5CmUaS=iS(7+K)jcn?Qq( zHHM8!Hr_NiA*#|RJnB%!c9UP7thUbR@nn!0d$4+bACvJTN!&bDmE@P9Yo7=Cl%|?U z7{ew$MjMjjPS*zd?(z<+gmV(-u=-{n82y}deo&lwOkVH{Lp-Z0v`TVS`wFk3kheB! zbJfLtF+5P96T~4bQAin19|=ajWd8Rbpm)Hf_L6L##`QY9gD>R!1C^WnWH7J zx3fyRDzNvWpM_q#fSJI+suTFduLK~g&gA`d68Nm1rL8-GpY>6znZV!r{lIbw>|D%D z;Ki@Lag_xA>Sv?9$KzLY(052dL2HVG{T=M>E^u^wf-`wA0pxgz{nx*FTyqVP!fDoo zH4fHvg(}@-U#4+^kF1GN%$DO}!w`c=6KE5PbJg=3z2&6U3QEvT&t+E3Qbor|zRYU5 zUevz$PW7}d{z`x%dKz!hOsOYTSH9M3=VpZm>U0VBDAEE+=~*Fn z-l-O>s9GjkEq!yQiB^Aa(ug@NZf!v~7=o91JYtmqu;M6BznrdMZjFgfm7t7nZoWp& znHu(CvhpLfny1zELH0zwT6A~%4n8ee9?Jc$VtMO7v_Jvhin}qqkMA1QvT8m1=MuQN zBq!+Y=&n*`hQPOKSsC8jB&|o&r7C6j9@-C}CyFGkN=fp4PjiDhXWortKoLACI*@H8 zeH9}?kQHf+an}WhD}JhEWpYzB(@#|m-!u8awEODxVyL{-Z-totf8AgYKwkkISxa?R1f8 zJ!@Rkxz@ftq?+Fko@Ntv=ucODA z+CbBj_^)`k0#5@>1)QCfz$R z7c@X^FBeFlbtjN38 z^Km;?U1&)2`P7&g8Rwu@DTn+eQvse72`S(8Ihc71{q|ZEtDXxViW*jN5q)C; z7HXbaG9^y+#?lR8On;08)v9fFW5n_&4(V`J*Ob%LuF6ChXH66d53XAz*2;NN#qac~ zQH|Rk3m42@#$Ne~hDT?T73G|cIj3gkGkerOig|-dXTE3rd=XQBI_>9hZ)Jl_5|I#O z5YuyS(m};%RRy2!go-yT#mJ>aS6pCMR7>Nf@fE$FnDX#7D8eQQ=4t5E%-We6w)R zjjYBM)L}9SpCiGMhUwW*kyX%MbK*@mtZiJ!HWz^2pxyGg19XE@o8(vT{A`+4H1~UR z>(W~fprEF+J5ie}-Ls3})K~Oc6%BuU4$R1OGtIjg(O}h&6jk}52u@MxsSc}3to9Ba zF49@wp4F5JlOzYM=Ykn&g-z#7JQZ3L?DQ;>xkUap_pMBP$ck~s${{L)I=x$|=z0lesL+}pvS-IR^`>h{(rgm* zu4201#q6Uis8pxhB+Q<54ydA|(X5V^uHK3Mojr%G*q??Cqfxfh9dmL%+HcY;wRhG(L%n#18;Q2|uccsv znDrTo|0=1!rHHqQAhH~Y1oAZNyQ?}IU|ahLGx|-pxR;y!8bzOy7^jwZn{AR!G9?va z7Cv!3c%u4!K~9!ecXHm(j@Dn>QoiaIYt(xt?c9l;+`<+*N^VKNcpJ7_v$?&{fdjf6 zB6hj33*z3v@iDL;lfV}<6IibvVDCjg3n*64v%kAe0-w>dv?&P;RUEwV2Z3b+b}k|b ze1OHPe+yTiyG{bX$K%#BfiF(Js4BFno*bVvRoyw4XOY?{-uzYd+}F}bt?1^^*EG3l zSGpFf>%o;2eGJZo`YzlMSQM!`59(^()K?NH838}5b(1>G0dYxGXQe_EOO26dOW38B z4aPwgl&HI_H@it{%J#)k)n(3?YTk(rV*0;|UDBF@I z+JF0A%dzVc+QN{tRJ}17X}E$S70*`lL0pxlSusZoz6z|R@N(htXfFtcRkF(`YKQOf z>Ex-P#6Cx+qFZe8T(IyV(e;wqdp*t5(T<3VTyjMUBqX+dz09WhW*WNZWc;piZl0qS z3PlK^Y|?jA_no;ov&oCd+y_|Cij(Bjmh_oj+AgW0y*`LL1RYEQ*xe`hzI8D|-)Yjo zNGhcx7=s)LokDJ93rhX0WejEQxG=FMcRL4JM=ImMs&46>I-fV~L940>X2KT;v`spj ze2OPWH+An8V<6fVL5qRnHi$4oXDvCXAEG(Zd2ZX`ImlYSQ&X_0b@wT#QzL|3xBPH^ zLV$df&(fLA5Hk+r*^+!eI^!fzSw!O3)B4!b(FI~IVQ-j7)K^`yY3bvP@gAP^l zXI?&7olzD)ie%d;jrh<`V9cH{?`IvDK>Wb_HnajrNf!qP=^r0%e|6WiH_EgR8!0G|KPzp4thcX$VcLW46dM zT=Vm3y(3bMq|xA8h3Dv1Z}duZB;UQh4eL1{M9kQRPQli^tx!0vg>5z_C}pq-tB_|= zT&s29Tnl=lO@Y~%c#P#YnPOLG3o_kL>0H_<+X`0qiPM!*EVZQRPGbR{#O;w{O$$5F z%&>HfQ{^^F>EjNaMTwF;9irh3c$(XBCr16B_hU>LsxPvfIBzr)BJbTg-Y5f3Z6@V&K5Rh!X|GQAtnK}^wazEg=372qDCZ-NJ5UHbZv<3iVU*s9+=_$JM{`)%=j^h zcCn9__V+|wPuLjI5}n3$jqw)=F{?0^VuOvPtpSh|G=-`zjFERK!340mhW7;4Gl6eD z=Mw=ac3<>L;M)GhC4pc3a{z#wU;c?_-wE6la(INJzw+lGB5OM6+nWR)PtCO<3H&eD zN#Mt?lfV~)Rjx#3*_Jz-D*kR^YuA*Nu|h5KuSne~I>V3bD{!m9u|A16&VgxVydSo` zVx`nFo!L0|D5`FoSZbOQUU0Olgyb8YIOAnt zKOQ;_5$pNS&Qgm`n`OJMWZVYUT01(SN;B&!H~ve_d*x=ZMvK`dYI|)SF)Si3 zD5x$O(%JipVqSnekJJW@Q%Vl~I7=AJQ*y0pqHfnMLf~4`9fTyBh^LGMN?Lg>6SY+u zZkx(c?YIW%M2a8k+0kMAl31CtzU#hpMAFn;Ajsyb4MbxI(-uD1 zx03v*(uuy=AyZOYBhoWUqD|1^$JZkpVmPSY^rDK)QNGOw(a{MSR|y$WEdo11h8r7n zm5^Hf`=a=4DNVBGyI@+8dK@8SD>R`68p1k-X1#tdH6vyh-nivsbNm{Eq zQLE$gikq(<&qeFY6swnAFcqeLRX4eRt|(8XS9%iz@>5|5X6O(_jgMk{LlNn+14!jI zjY-nlVUV&GP=j3Rh01HEMO1@StbFBqRAc`L}oce z=hf9@(V7XK^yvHS|m=i>qJb{npLHfH$EMmic|@PUScIXc@RxO71u%J zs=MbYF3@?e+30zX-%`C{vN0@{)_v%%FiApG^t^KvdSKL4Y;oHiWmw}ab4!qc@bme!#VPKUX+gM z0RXaqG{nk+uqK@#P8#aBNM^U4-Ii#e)t-@F7^B#!m^14nL(A~6gpOE=vdPamEpJM! zB6opkHJw4#{B=zo0Z~j(^N{{Co6+;H%nb#ZxR6*Y(k8xDZ!5;C+FSYXybv_w8Z$(HR z>{YY~Xy+5-N{w3BBx+MVl7s|Q=h>@(@IpFvk@iAuE6*X$dX3@Dsp}lE!X_kR8NORrb&GSRIj$(yrXJQJ&<@+e70ncw z)xE6Fg!)>9Ok^c_W}$X_eY_O%hLp|+vJvLK4@v2me5%GP%~BQ={;28nadN)+TnRQ| z_uiW%*3d=lb4-%vBAzNj-P28xc|apKK!;Dub@(FtMRq20r`T8&p`f>JWz}RC$4>9C zzN%?xNLj?RA)XSSvq;?)zo?}SDeZa3RHCJgA+;0jVju|qbc+Qmh_hc~GEBmTAp5H* z?9Wt)G)LoZJ8z}Kbd}#iSB{1&i9lNQtaXhUG+|8;n*p zbArTEv}`IqOU;~tMtJI&mD%U3NM`%hH$JZSKV#8i&i2T8#npgR{8TZK2f zHG;i5&?<~xM>i@zqnAa}?JUR9OmUW9s{K4w{X_0nsyf-HE*Gi7K*PMwj`8IhM4jUw z0z8@%spUB~!HjXdg-mm47H&37L0&6W;waOC2_#VlYnddejpXXTW3j^~;h@m183!>F z;-2B3?)$`g$}=k)G9kMC*-y0wg;}nN6bwZXjb=LAwHGvY14wOxPkSH2R#GICt1}f6 zXan z63p6W&e|Nm)~2L{bX-0SQACxx!>7m+i&-<<43QG*1%=&Z}1AsZ95_D`ytJBkNpk%iPdt1&^b&G!r)1Ce5{HzVE}dTGIZ zWkn?)ec{WD9I0$U*(6nMKuu4tC(#RDi8Y4%5kg}RuFg)%9JnCWaPGSF)#{TMu8Y-O zNkdx~EE?BkERz0CXHx31d#f*D^2Hwu0*eg0$O5V@(8m`7dNz=l(n1|(6~$(2PrF8C ztZ5P1P_@{re6nlP884t=mQOD|(%`%G5Rkz6F(`+FVQwFD6}NXbwTX& zma6E=O#My1*5=67EyWW1v7;$j*Cx(he^RYDk*RnTrMyu;pVo~_QdbZ;G9783CMT9u zZ&N!y9HV~Wn2%wMI@|c7s+hGqBF(bG7j6vf2ZN1hZ?`xOmnlf&YCOkv(mG~0XUeP# zcN>uIvhS`>21CU%t0y-Xn!Pd6-T2Fn;m3Dw$OQpZ3eX>dtQ{`rQ4T5dXd+xdB& zSzi(9+U^$(Kf8HGo{V#&L;0Qwpt!MJB7W?P#MoV!r&ai>sa9CRsJ+Q+Oa;!B#Ue%F zs|VMZBg7?6054T>|FwNQ z{?XU4T(*1jC67!JSb^OazY@6b;6fyzUOT|v5B@A5z|AlFBw%l6)v0_|Xbm_#!qH#( z=v621x1HTgUJAGxUtv)RM&O=f+YmIP(1oE$9Tr?{vQ6P zzx(g-u3!0=@$h^85wx4f7o&X6qw9Mi*!jcj(Cas`*x$oX{^oUj-?#q+_IDRsM*C)x zDOzNvw9sA~=;CxH7LGDZf-@`$60p9AAP9mW2!bF8g1!<#5ClOG1aZ48O~J!A-;Tfk zw?0bV?=cT>L2$`CfEOaz-MPnSKo6b3&-o-=QN`{{UJ2ZHtdhV#@UsBcN#NZb z;N&cmzzQ55lQ8UW5L3H(qy!7uOMhZj8hJ@K0T`*2N{IA{%5mi0`ao3g-*pYZPZ zp*P>e|MCxi7=P)@|3@s|{c$+Cpd|2FLw6Qf{Qld}-f;u^zQV z!nrs2NN0YbZ0*(AIl_0q3Q@BV1VIo4K@bE%&{rY|f*=TjAZ`;x7C1S18;(zIsHn)D z+A)4Rap@_bFU1)+J^}XkaPzs(TG2tj^p(KXi=l(oYX{i~J^if%*% zR784FM39b@00{(iE3y%ybVNY51>N)-dcZ;iq^XohNgzNFLP7`-LfT#8x#yfK`!Bfp zVLf?PX1O8&^ig7q+_NJg)Eh!Iyxsi zTS9`)1lRcYr_KC%FVMCycZgY z_oPXI={Lw`A@0ukzLA{MGN_h=>kY##+j(aA6$5H6F)? zUzp|1Q&>=18gS?M$j9`mJ~b3&zn<9{yVQ!El2fEB8TV(7*tWcUd09j;#w(t;JdY-f zVu%>iCliNUtHfM2X}!ez(*O3~zu&k>-0!IM^79dUU1y0=A%j}|0l!JEh0qQ9-qWzI z9=jqB^ydk!VK_1l>#pf)xY3TUV`L0CUxyn>?Pv?ZOh4s-dwNyYnsh zp}tWMWycx%hOpPY~JHA8l0QIS||Tf1VQG4*;{TO%fE9L!Tb8q1T4&-=h^_Va5SI4%iY z^$cEjEC4wIL20gmqD`?BlY$~Y!HE#p>x`Wd+~3KI)G0l8)*f~jlI2RKXas(7D23>f#Ae=`xJ}|GQwdG~_9=bbu=@f?8mrot5i=G^(GFRGx|yn0h)gf-O&T7*|H8-i zQ{IfzVa23!;2!9;*7Sgk)KohDWyJ}%Zj0yNt}W>}s%`L?J?0#SNy(`Bl_UOg>SvdOwp0pq^sP7h>|uoma>@Dv`=S6opp7ULs@75AV9VEaQ~dAVuIpy2G7$Q94BYdFfy zoi9xN+U{IW|BttRD*OW@P-Cy_$yv<^EtY|Ys%Jb=x~5pTp4;p_^@JY|4ND2@w<;8d zJ3zj>_O=|jDmXGa+HM)Uf+6x4CKwS9oitg?51j(=II*>f*swASLY@Emb1F@342g%N zpfXAD);^|-P58-Xlda_3Kjf*NgLa4?!=4c}Fyt!(vLKfC4h)4F&UxL1OddE|ut9l5 zq+34tQ)G=1u~Y?)(ct#Lcn7ZlVVXXd@p5Xq-Bli1BkVZe0KwW$@MsQWDvf?7*pg`5 z&uYKwkYI?nsZ4*zik7LEPaUXlaxU_zD8f#L1!X7ovm|?0)Tih6nuEC~YhY2kr)Oym z%^iQPMa5@v=KN^o7?xceztP#Oa*4b)eX!x&3~d)GCW}Sm1Fw|n8@T23a*VK{r5Al{ zpT%b-YymhaLHD)pNw0}Jq8>NnNI+V08Gn~dG7&#`rv>cx`(Oy`Fv6|lMUJA|4CPp4IOU$pD=e7s~DE=Cd`zeC2 z%d#!)!aoSbbhZl~t5o>W>?V~a=R6@Ik?XUivKL>UR)oACaA)t3H=!TepWto70kq9N z4}+->2gb?)evD2N1~V@Zp69AYl8IETJEuhI-CZd~4;*EC`}1#CT{d>V_y;PTxoYKC zs`HxvcIWV2QIG5J5~KJaV_uFvccjRy3@?~j^a2ENZ_yIMPo<}0C+C*d!g+r) zd40rps{4dg;NUbWpj;y*S@@4azsM#5t%OdlXNnb<+kPh87KVcRh*n@6y*I7M=4 zYQtqEC%bsByYh-=;25YRl;|0<{s!E#!PI_brkI9-a-G=4)L5CC!x0gIExo5Q|0J>) z{SkujAfx*y@BQh2RAHx3ilogF0o))}uzC+1&xpaR5@wT$@VWhS>%459^8Zdu|CfB@1%7e{dGKe~%gAfRk1NQ>4q=JYea72acuv{~2RCdwv0?qO^LCzm#$!)c80;A; z288X4Jd(m)PVi)MZCsR7`wlZ%%V4>iTu9Y4b-lr=vbixSqT=p2Owp6nar?!+tGObI zYC>m%ZRHdZpUu`w`k2AZc$TrE9_7t6wULUxbbr^c{sThu_$R)=9WE64ZPIP;ORwR8 zEz0znajH|(9K3*0IZ`^pjgvbP)e~ekv7-BtCK?tbweg2=C8De88k5iF{c<8o81ymu zxpr%R+jTNKMuEEu!-y?DOvMPiD6MM3N>PZ@u^*;hUkmxVzk8d6#E=pHxHDnfZd5c| z2eIaj*qa|ArGmtU+Y9Y`_POoK)?kv2KY%O#HpC-7AupQ-|M^|RjBm_%+nEZ)6ftCZ z8d~Kv{5);Y1^mCKG0$YliFvYP5`#(dcw}jJu-^c8_mYQ!gOj()MFVY6akX<4$V!m zxoY9&@kF56|ItDMX}u-xXdJL~i`}2i4j`qmlkv{y9zB1qtjOt?L2!$p0ygl!zq2!v z#&YRn5t-Io#ZlFCAZ$=*EW5FOTGXQsRPaTi$t3A8FoRy4N{D5LuiK;5nWOCkfbd1n zi9vYU5D6Q27cqp`k(gm1tGv*w!66YR(YhV|*9J>~`$@p$rMgsbQJ|epTGZO6%boGjfj2S&{ni zC4b`&BTXipd%Gqi+i*()mwj0HTVMv)Yo6aBSoA^D?8digDy((>bQ;DSYiYbfkU>ni z!#fmkfPst84(B4bcEdx0j+FU!m6_C?(wz&+jOXSi5Xwe0`6MMHmJTgUQ>$u|thkV1 zp#sMDzBXawRa$)reY(n30c7edZaZ;ci!y8O6Fd9m{B$zRrx&L|X?Txuxb7OuB3;BQ|pu#+!Jf>eGrGG!fqM8D}aAfSmxd+yjR zGt808dQ0W4blD2vhnsM&B3O$?5D;D;vq5fy5Z+wimQAY(zmfhmAVR!7_G{T)ARg6H zkBHjW7Q1A$!;C~lai@a_Mw_U>(50al&!Nst*WD=z!Tco&TK=ZJ1U6RYqtzz+%ZBz89xUHgtN-60(FUG zOzHQ-UWd2v`aSO2ht*=Ay-q`#dI5)x;u6KNkJy~b0w-l;mTWfLM7I+!g#gB-l7^|C zN>6m(N<&5T86Kh!m#htV5hHZ4LVKb-srUkK?Kh<`S%7Rc6U zlLhT0ba6Ff*+t0EK_>ijMHBo~CmvATACW}Df$vBm@bIHdcrPhh*))9j-~V8Z-*HCc zk4|?G8Ke@(;H24+sK^Z*{ykdihY*f1jZ~2Md)i2wr0^;Ga4R9Jt)ks@U~leJc9}yw z0BGIR59MS1tvBV)9d&OTpe?`kDL^fL!o&5M#nIL-3_r1ZcEHK*Tiq%v>Ppf`-`)RX zR*)NzgtYBYGcKsMCub@Ti2jcswH&P9VZyS+3 zOf)KgF_azVCbxw(l>NuTe^6id8t}NoTh$4ATkOVx*WV6)+=-80V~S>Z&X!NSEcgd} z#9mwTn#lDl3T%DY+AgXbgP^aM02aRneya%KE~+ah#qNdFE}prRo21G!MB( znK7?gC=*y`Tv=UN`Sf19t}@wEyj#EX{Ya&Nr#U%NB=Nz~gY9BMs*XEOrOL3S*nIxD zD$gW6kxEm4(=Pr4Hw5=Qj6(XU}^Bq$9~*cYO{h1NXMe|<#{Ki$Do_yvt~WgsPT`r zE$YAZRuC0>W*eeHweXzTEF~m*w?d;#h-D+Ig?6VXxlY-eb`$pbs{AfAy|@Q%V-u zb-XjHb^Xf3dJ)>T8dtQdFNM?);;Dz{ZWJ@$lE8i3_6vnPVELql31rh$+jUh@LMm{M zv&5iD8vrCO73ZIC?-qNc&p1ZC8ixqQn&gu8Y5}q*tnmoFl>#o7JD9 z_c0I?=KR^E*-|=sL2fSa*IB}64v%&KXdnvd}-Me zgSxcCb`!d|(346qZQ0a46wpmSU#k?7Su97rkJOD>!O1K1XctJ0V-1X-kiOOCvDbzv z(-~TjnO;2ob@v!U(Oc_^@Mb@H2QA9}QhT7(nR4&}DL!c6Sb2`MDzm4&HQPLBab^`0 zsZDJ`rjM(CxuBBNG=qRl`{+)8R|R+ZVQ9DAq9;|WdGRo=W@5Ov?4s{bW0KsaQ4d#T znC-y{KK21%HX8^5pE#`S&dlhWS@VuPh+NC!J=NpV7MmIEm(HhlhNa#{qlcWd!M-Xl zrynPj&yc9bdG4Hhq~*Co!=b_Znec0Oj{Jly3h*=|4K(W_Q9Dam((f~&pNnPG+SBjy zB2{@yv!hI|RBSq!6A4X7pr>2h=6uUAUYlDTi=|YuKamu>(@^-2h}QKrJvEafIW{qi!|#^hIpOKq|qL|d){!m3Dh-y z@kloRW`|@?n?!M|$L|GL>!5?BAE+jtI^|jsXbWMZ z?f(|otVQZxKtd1lk(2vni*z4d62j3R z1~ULb3Ws=RV4Nv(RYL~9FRnkVhLl?k+Af4dBPm2ECNZL-y?RIe;eFIw!>FlduCJ8H(2kpfPm`~ z`sH=##Ll(4sV|P1-De*Nw*VKQ;3Y(~&cgRWMA@_v#hp%b$`let84ScKuP1rXgBFfUQ?R|kf z#E0M(BkT8CExsnz*N%x-RW~nv!7|y^DBq#1Ggc?S*6!08wp?q+<q{w@WPd3>L+3Z(+5H(raO~sG^ahW|cRW~TZCuUbEmL(^^z8uMgPf|{!=K_v?$<)1^`4DYF zM|qK|y0ZJL^4}ycRM^d?Yb=xw(M}|XCIE*q=$yh`w$})K8}`*N;9)~CMW!a*%n#x0 z&G}M|z9h$xj~;R@4IRs;HuZ-$3}_q#blR z>dIc8H+QU2dIjG#SWLmz^?ra4pX=_JE*v7eMZGp=_xENnR67xdonEl-(rthS_lBju z>1g|Sp-5ThrKDNFZ^+n@=&@^;m-|st%WoMIU2yc;@^x!P-q?v-^Hw0u+^@Bou}-?i znE}?TfzMWt&N-|8R_su>W8SJ_RkF85oHLP(9kOZ+R|zwjaWF*Ut1EF;ow&4zj^1W| zj-QRxSK9rbxv%%&j-CNgH@M@t>oqFj~Zg; zlCw+#0v%73tp1gn8A??!aw2Xt%Avn!%dM<+hLc7#@Y;?hmHmcNZmOBD4#cLX)Zs!4 zy9{L!UsJLNzU4b>mHFntUxsKMRG@S7D_gvJ`a>(<9wGj|AYWKg(L0w@5L6Yk=HfqA z9UJ(Yw!P!*Wz&KHQT;cFB`}5U7^m5)6qn~ zg~rAiwsWiVKGwHe95hLiHqkO>H#FEnN84%s;qn!86_@LK3#PHS-!HT02%Y<-m3Zu{ zgjt@1(HCRdP}7^V?wHYUFRejYsbsJ`DGw%9h13^+c($~2f>OgJAu;w){cK<>{gd*BWBt#PZPO83cB&=<8}W_W$9JO zNS88-ZaBS6@}gyDXUqph_Ro}$xW3)f_>Cn}cu9&!;z-oKI(Osv37yUtFIH)@aEl1+ zzPU~NAVosu@%*nZfpS0!xk9|JZt?1Sv-IB04++xbjlDL$f4RkXT8YMW)_ET_5vOWyBg)}m991A&DH8V5Im z@c3~JWawfChC9WgawoYrmf`1xHp}m=WTYX29;)gBw!l8<{#Qx{YRXh=l^i8Z!89se zY_m{sFC=feQz^W&Z@bibj)fw7`b+8!XeZwLg + * + * Version: MPL 1.1 + * + * The contents of this file are subject to the Mozilla Public License Version + * 1.1 (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * http://www.mozilla.org/MPL/ + * + * Software distributed under the License is distributed on an "AS IS" basis, + * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License + * for the specific language governing rights and limitations under the + * License. + * + * The Original Code is FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application + * + * The Initial Developer of the Original Code is + * Anthony Minessale II + * Portions created by the Initial Developer are Copyright (C) + * the Initial Developer. All Rights Reserved. + * + * Contributor(s): + * Chris Rienzo + * Seven Du + * + * + * test_image.c -- test images + * + */ +#include +#include + +#include + +FST_CORE_BEGIN("./conf") +{ + FST_SUITE_BEGIN(switch_ivr_originate) + { + FST_SETUP_BEGIN() + { + } + FST_SETUP_END() + + FST_TEARDOWN_BEGIN() + { + } + FST_TEARDOWN_END() + + FST_TEST_BEGIN(scale_test) + { + switch_image_t *img = switch_img_read_png("images/signalwire.png", SWITCH_IMG_FMT_I420); + int i; + + for(i = 2; i <= 10; i += 2) { + switch_image_t *scaled_img = NULL; + char name[1024]; + + switch_snprintf(name, sizeof(name), "images/signalwire-scaled-I420-%d.png", i); + switch_img_scale(img, &scaled_img, img->d_w / i, img->d_h / i); + fst_requires(scaled_img); + switch_img_write_png(scaled_img, name); + switch_img_free(&scaled_img); + } + + switch_img_free(&img); + + img = switch_img_read_png("images/signalwire.png", SWITCH_IMG_FMT_ARGB); + + for(i = 2; i <= 10; i += 2) { + switch_image_t *scaled_img = NULL; + char name[1024]; + + switch_snprintf(name, sizeof(name), "images/signalwire-scaled-ARGB-%d.png", i); + switch_img_scale(img, &scaled_img, img->d_w / i, img->d_h / i); + fst_requires(scaled_img); + switch_img_write_png(scaled_img, name); + switch_img_free(&scaled_img); + } + + switch_img_free(&img); + + } + FST_TEST_END() + + FST_TEST_BEGIN(scale_test) + { + switch_image_t *img = switch_img_read_png("images/signalwire-scaled-ARGB-8.png", SWITCH_IMG_FMT_ARGB); + char *font_face = "font/AEH.ttf"; + char *fg = "#000000"; + char *altfg = "#FFFFFF"; + char *bg = NULL; + int font_size = 6; + switch_img_txt_handle_t *txthandle = NULL; + const char *txt = "FEESWITCH ROCKS"; + const char *alttxt = "freeswitch"; + + switch_img_txt_handle_create(&txthandle, font_face, fg, bg, font_size, 0, NULL); + switch_img_txt_handle_render(txthandle, img, 50, 3, txt, NULL, fg, bg, font_size, 0); + switch_img_txt_handle_render(txthandle, img, 60, 15, alttxt, NULL, altfg, "#000000", font_size, 0); + switch_img_write_png(img, "images/signalwire-scaled-ARGB-8-txt.png"); + + switch_img_free(&img); + } + FST_TEST_END() + + + + } + FST_SUITE_END() +} +FST_CORE_END() diff --git a/src/mod/applications/mod_conference/test/test_member.c b/src/mod/applications/mod_conference/test/test_member.c new file mode 100644 index 0000000000..45e37ea85d --- /dev/null +++ b/src/mod/applications/mod_conference/test/test_member.c @@ -0,0 +1,94 @@ +/* + * FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application + * Copyright (C) 2005-2019, Anthony Minessale II + * + * Version: MPL 1.1 + * + * The contents of this file are subject to the Mozilla Public License Version + * 1.1 (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * http://www.mozilla.org/MPL/ + * + * Software distributed under the License is distributed on an "AS IS" basis, + * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License + * for the specific language governing rights and limitations under the + * License. + * + * The Original Code is FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application + * + * The Initial Developer of the Original Code is + * Anthony Minessale II + * Portions created by the Initial Developer are Copyright (C) + * the Initial Developer. All Rights Reserved. + * + * Contributor(s): + * Chris Rienzo + * Seven Du + * + * + * test_member.c -- tests member functions + * + */ +#include +#include +#include +#include + +#include + +FST_CORE_BEGIN("./conf") +{ + FST_SUITE_BEGIN(switch_ivr_originate) + { + FST_SETUP_BEGIN() + { + } + FST_SETUP_END() + + FST_TEARDOWN_BEGIN() + { + } + FST_TEARDOWN_END() + + FST_TEST_BEGIN(member_test) + { + const char *logo = "{position=left-bot,text_x=center," + "center_offset=190,text=#000000:transparent:font/AEH.ttf:50:" + "'FREESWITCH ROCKS',alt_text_x=center,alt_center_offset=190," + "alt_text_y=88,alt_text=#ffffff:transparent:font/AEH.ttf:40:" + "'freeswitch'}images/signalwire.png"; + conference_member_t smember = { 0 }; + conference_member_t *member = &smember; + switch_image_t *img; + int i; + + switch_mutex_init(&member->write_mutex, SWITCH_MUTEX_NESTED, fst_pool); + switch_mutex_init(&member->flag_mutex, SWITCH_MUTEX_NESTED, fst_pool); + switch_mutex_init(&member->fnode_mutex, SWITCH_MUTEX_NESTED, fst_pool); + switch_mutex_init(&member->audio_in_mutex, SWITCH_MUTEX_NESTED, fst_pool); + switch_mutex_init(&member->audio_out_mutex, SWITCH_MUTEX_NESTED, fst_pool); + switch_mutex_init(&member->read_mutex, SWITCH_MUTEX_NESTED, fst_pool); + switch_thread_rwlock_create(&member->rwlock, fst_pool); + + conference_member_set_logo(member, logo); + img = member->video_logo; + + for(i = 2; i <= 10; i += 2) { + switch_image_t *scaled_img = NULL; + char name[1024]; + + switch_snprintf(name, sizeof(name), "images/logo-signalwire-scaled-%d.png", i); + switch_img_scale(img, &scaled_img, img->d_w / i, img->d_h / i); + fst_requires(scaled_img); + switch_img_write_png(scaled_img, name); + switch_img_free(&scaled_img); + } + + switch_img_free(&img); + } + FST_TEST_END() + + } + FST_SUITE_END() +} +FST_CORE_END()