From 34a1e20b5af40ef8e3eeac4e448b552c2835adb4 Mon Sep 17 00:00:00 2001 From: smallchi <564952747@qq.com> Date: Tue, 15 Oct 2019 18:37:00 +0800 Subject: [PATCH] =?UTF-8?q?=E5=8D=87=E7=BA=A7=E4=B8=BAcore3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../JT1078.DotNetty.Core.csproj | 8 ++++---- .../JT1078.DotNetty.Http.csproj | 6 ------ .../JT1078.DotNetty.Tcp.csproj | 9 --------- .../Configs/nlog.unix.config | 4 ++++ .../JT1078.DotNetty.TestHosting.csproj | 14 +++++++------- .../JT1078WSFlv/JT1078WSFlvHostedService.cs | 3 ++- .../dll/JT1078.Flv.dll | Bin 35840 -> 36352 bytes 7 files changed, 17 insertions(+), 27 deletions(-) diff --git a/src/JT1078.DotNetty.Core/JT1078.DotNetty.Core.csproj b/src/JT1078.DotNetty.Core/JT1078.DotNetty.Core.csproj index a7324e8..e6b4ad6 100644 --- a/src/JT1078.DotNetty.Core/JT1078.DotNetty.Core.csproj +++ b/src/JT1078.DotNetty.Core/JT1078.DotNetty.Core.csproj @@ -25,11 +25,11 @@ - - - + + + - + diff --git a/src/JT1078.DotNetty.Http/JT1078.DotNetty.Http.csproj b/src/JT1078.DotNetty.Http/JT1078.DotNetty.Http.csproj index 7179cc9..f700770 100644 --- a/src/JT1078.DotNetty.Http/JT1078.DotNetty.Http.csproj +++ b/src/JT1078.DotNetty.Http/JT1078.DotNetty.Http.csproj @@ -20,12 +20,6 @@ true - - - - - - diff --git a/src/JT1078.DotNetty.Tcp/JT1078.DotNetty.Tcp.csproj b/src/JT1078.DotNetty.Tcp/JT1078.DotNetty.Tcp.csproj index 07e0bdb..16487bf 100644 --- a/src/JT1078.DotNetty.Tcp/JT1078.DotNetty.Tcp.csproj +++ b/src/JT1078.DotNetty.Tcp/JT1078.DotNetty.Tcp.csproj @@ -27,13 +27,4 @@ - - - - - - - - - diff --git a/src/JT1078.DotNetty.TestHosting/Configs/nlog.unix.config b/src/JT1078.DotNetty.TestHosting/Configs/nlog.unix.config index 0a5efae..d4e638b 100644 --- a/src/JT1078.DotNetty.TestHosting/Configs/nlog.unix.config +++ b/src/JT1078.DotNetty.TestHosting/Configs/nlog.unix.config @@ -29,6 +29,9 @@ + @@ -48,5 +51,6 @@ + \ No newline at end of file diff --git a/src/JT1078.DotNetty.TestHosting/JT1078.DotNetty.TestHosting.csproj b/src/JT1078.DotNetty.TestHosting/JT1078.DotNetty.TestHosting.csproj index fd63c9d..4df9799 100644 --- a/src/JT1078.DotNetty.TestHosting/JT1078.DotNetty.TestHosting.csproj +++ b/src/JT1078.DotNetty.TestHosting/JT1078.DotNetty.TestHosting.csproj @@ -2,7 +2,7 @@ Exe - netcoreapp2.2 + netcoreapp3.0 @@ -10,12 +10,12 @@ - - - - - - + + + + + + diff --git a/src/JT1078.DotNetty.TestHosting/JT1078WSFlv/JT1078WSFlvHostedService.cs b/src/JT1078.DotNetty.TestHosting/JT1078WSFlv/JT1078WSFlvHostedService.cs index c90dcc4..6c5bab6 100644 --- a/src/JT1078.DotNetty.TestHosting/JT1078WSFlv/JT1078WSFlvHostedService.cs +++ b/src/JT1078.DotNetty.TestHosting/JT1078WSFlv/JT1078WSFlvHostedService.cs @@ -33,7 +33,7 @@ namespace JT1078.DotNetty.TestHosting private ConcurrentDictionary exists = new ConcurrentDictionary(); private readonly JT1078WSFlvDataService jT1078WSFlvDataService; - private readonly FlvEncoder FlvEncoder = new FlvEncoder(); + private readonly FlvEncoder FlvEncoder; private readonly ILogger logger; private readonly ILogger flvEncodingLogger; public JT1078WSFlvHostedService( @@ -45,6 +45,7 @@ namespace JT1078.DotNetty.TestHosting flvEncodingLogger = loggerFactory.CreateLogger("FlvEncoding"); this.jT1078WSFlvDataService = jT1078WSFlvDataServic; this.jT1078HttpSessionManager = jT1078HttpSessionManager; + FlvEncoder = new FlvEncoder(loggerFactory); } public Task StartAsync(CancellationToken cancellationToken) diff --git a/src/JT1078.DotNetty.TestHosting/dll/JT1078.Flv.dll b/src/JT1078.DotNetty.TestHosting/dll/JT1078.Flv.dll index 438350ed0fc472713b06dec3a31a657dbf97e23d..999de83dc43a740d7ea9630f5d0b9455a3c78736 100644 GIT binary patch literal 36352 zcmeIb3w)eawKu$;=b3rtl1ZAGNoI0wCcQBX18l$g7(~GNV^P!9tjhmK z?^{l6)dWT@9&pst1zTb`%U3^cq}wpC(jSLn_{%gd*EY$8m95*W=3jG!ZS!6NNR{ zulTTSCOPS2>xf#n5W$Q8OP?ubG)Uy7nd6yNWLo=?uEPvP;ToG}t}(9=IqHHKEkV4Q z8x#~W6;{gFWOE-%<3N(ueqoT33b#6RN^>Y0g6arr&@nUEXp$e+BW*t&V8~2{5$dfY zd*)J&SjjR##EHYDDsf=|IJ1CeqUE9*Y_tfjVb}U8K;cj{3cCXoJrlQrfDx@=6VPBC z(MoXXDi%>vEmpJW$%&I$^g>Mk4@4h<3mh|dnkp-JDh2C@k~L7;U%)}gx3bYeeSlFS zKSj7DL=j|rDPY*q2sES5LrgCM@wsaP$vQCP4kgdh_u2YBSMKTe;g(z|d~yM9=~^U_ zTsjIQ&tGtdyJreR4}&rMhnd)x8s|UYe&`)ud8QPON${t2&j+ zMH8!_o7>Z^>(5}@uAEq92dg-gN_;Fl6Nz5s>_0oF+TH4TQxA|n(*3N?hu2r{7s$nePsZ zd#9ZgcT-*Y*r4jsAh(r7_px<1l&TeXrh$5sM-Y@BHF+3-Bl({kV;XlbXMKrN#Co5) z-xxY+)fu6n?YHYEkBh2wRMhcRF|liyDM714t(cfIW?QC7SC?!`AE6FR^nqu&+qB++fXL9gGt z_#}5LzsD`bjY6poRTV7o7c4%(A?7|<<_IUxWc@;aVf|7Kr7*e=rBG2reoqt@)TN-J z0G$?t(K^J7qC9ocS>RxSM_J%YHgJkX{-XMQbif5r$HKtrP5wKVU{aviKPk#`^ijxx z;^<=x`vb-Sc*mhaUIIjB!0@|Ne2;4WFH71 ztGw)kD*KXuB>R%k1Q{pMuaG6z-=YdQ8Z{+-r7Tb;eI*$7hl3%1DBQUc)x^D)ewuf& z{2Z?D;d&a^B1}9vca|!5mix;We+Dr5OOg89D0?!(4iND_Si}q{ZRF3m`%9CxxOEN$ zEBvL?rNj6uI=C6@7_7uI4v#-j7KgsbqR9#R9X$Wr!Ab;H=G6wmDsN0AF^KDAxc?{N zYgB})eQ1;>=ZH7z0)E?9SLnA3>)d{f8+9gH3|jMCgq}U)ukXG0^GN~c$q-sjCHG=4 zy{spVVAa@eRW*~Ep@2q5T&*X-xX|tKnx2aITXK@p+mu#cPj0l0;oQ6&#XlJ4n1v}ai@7v56LEQc-Ge*Y zt)FTOp71v(pr)xL@^3;>Kt3J?YWdXxf$S!zz+&#HMzV3nX0gh31pi3$(~0G1dE5C%Xb z3kW0i*^9bB+d*9f^XekH91b+ujdpSc`_e|=e>S?3z3bvCf$O}w`BIHnRYnw=_9inx zH3cf%jfIo04Cz}t&D6P=Tlcela0y$LR~`)E%35Jy?UXDa3;+yYN<$a`)3Sgtf4@BI z{%hsg@b}BJk;}vOp*(C=UU{&jP}T|qYcZTFKo|fR78M{2fM^yF=9Kc3jIW<9|5$kn zbp3Q>%i}w3{lvIDY#++QR^^rF%&c+3z}lHvKo|g+@l<()0Z^X>gpu;}EZGo=j0Zg7A6W11_0I~3J?YWCQ1be zb4q#2#+N7akCkVVF3;|4d5TY4p1Zg_Y#++QR^^pve%3f)VC{k|APfM^tjc_00AOxb zfG|=XG!i|&6^}2^fq$qx)w(z%x;T?hTbf6>G;AG8!#3rW2J04OnlP~S>?|M*0IXn? zhA;rISW$p505EteKo|f^vw$!FuzFA$!T@N>0>S{m1gSKHQS&hx5@EUECo}pHl(9ad z?l;zl&FF0m_%xt4kJvxTY1mFPyq`;BMou7s{cJ;CfmdfU5(YV+mj#3Y(2@m&0k9?u zXhyF)5VAHKA`AeGLcUO8C@TkOk{MQcBJilnTirBlM!(HbuXNDIobPkYR#)ZAYl*oGsJSPTe z(G4JKD4!k*-#I-TzB3qEbXgu);{#e#z%WP1>ehI3@S1$MI0w(ohocPFaw1jva9K{< znGcub;NQZ~T$Yg>{F8jRHJA3$d^nKPzCRzHl!Gytji%j{O{DHXHowSWC@|auyX$sj z;R-T*+v)K;ItDN7 zOau!9(@&O`qf-T@`<>AraQ^`3iaw<|JNk^~e9<3it}yx>bN=bU8L(%D8oMld6h=%^ z^T3x8E{C5y;+fHhAa?3|MQ1^ULZTSjy}l^Mb8n$5gwDptoXu1r6D@|fXf_qFoI(@> zJ+{d>Qmp{v&!TG}V1FwI4TV%!g5HyhSRrvRzIdV-`n`J0bx*!9Dx)qQ<#598PBkc_ zAVECmNTVF+Nj#rDj8N;OiQWHne(v*C7Hev@b?bz*LZ?cN>fT3|f;x*0tGoxtALTt@ z&FJHZ_zxt&=MN706jx?m{^BQik8`hy*qtz-x4^22oHVg<_E8G6!%!O2mG^R($QIk$ zASL0z0-NbjHhX*2eyS@|4uDF~;dj(~P-HQcEYuect4*nsAh{%#Y0Eg*g#!hfT-jp< zv6)Ai0NaeYeKk^HTX#kPj&RK0!EK?PCoLR-%$UH8Q>?~8$~3aW9bQy0m*%9S&@=0E z+Av_>0M;QJ!c`dAwX9~Pnd1?d!0YTXzAK+{e6NWNq%h%5+32&*4Cs_79UhLoVS5|q z5E$*Du-y^v@zr^#)DHJtD4DBtdBiQ`IAJ{roHS%{!{-!52rHHJCQDY&NeIU?mS?l4ZBEY;IyJ;}?NP1(hYFaX-JfG_~svw$!FHfI500Bp$u!kmo-Puc-H z_Fup_>^r_abzRsRZ;<>XVP@s(YtecPNk=gcC1Y*b~x$*OfwH< zQ)4Yl9WN-2vWYdCd8kkt6%%V<`Ipt0Jh2AWsacI|8u!p7Lzjy!iEbEG$u9bo!K&`( zql~B?JlD{XT!_?e$*_k;uN))^!Hsp=UQ1geelidlC&77s;v{r4k@gM~PVdJu9C@h| zvJg0ZK<3?apaV6-r)1~^`gBGaQ&X7BoS&tA5@}aS-WH#y+R=Xn!E+dFEA0AWbx&e> z%txiX*thGGXcH1Fa1^sM>R%(RP%Nkm<2W1ZWv`D+ck;8G=u4sm7%kH~>p0H8jgukY z==nER(2{TNj^jH4s1EfL(wT7kQ|F#*Xqp7~)myvLkI>cC#E!`Dd(#I1LP+&_d&=j>YHNI>btHWS_ghHMwCv4jOAb z4IaJ)8vJ!`RVK4 zswwV$E?587WD!&ou%6TXt2|fT(w5NTX>wj$v}HRh*+$~AgU|iix8u)f)L?s-J};0zefB24i3|8k9n-U5v__V zKkNQ~VwKk<`l2I^PYAPbTA-#XFZRmYn=?Cm1Q5@pjU^<3aQ7pV~mh}plYxCY4+zw z+bbI{AE+NSRvmTGEEEYDPHYx-k@Z95D(@(8p~#rr zeSTm4!ih60?{KO7;2pI*J|(OCl9lHb%!Ra-<7v^&a3QQwYvlu|hI}XSv+e||@D z4V^?ycrk{=;N;|+TrCi~S-?55H~B}6^s?{=EyP)PM+@6o_>&fPu<$MmP8@h(-B(Pu zw3*}^4C0LdXT?ba!$A>nc9X_!N7}%nisWx4ox(cusCE3m!>?1=PQ3{5ru&dXLD*N< z0>~XrKw3Sk8Z6eLN+^ax7^1;B(ezUCCWg z;1dX(iC|-ZY%2f+J#{^{3hOLXPt2raVfA>%hFtt4wS25tt@=!2#+IbmpZ*1A~%JZpTXD}89~b1s(YdqKe;lknyzh? zJyD!oh)}aF>S9*r=w;B94~_*x%DJb+&f)o~jDoq;P)4+GRYqX|pp7d)7yxMJ3J?Yv zb3cmWjs^lhB=1MzqeEQsOPO$E_uBj#WF2;ORx|@p*ezMHvy2yAi9{40#=?N`zG=_du52ri04x=23yG6p{G_ zfkJe&%MfUHmR*FsOxcBYhXOi%IQcVWpbz57aZRH;y%&1P%OzzB71m8gC3rd>{;p zH>3L@@s?}>y6DB|h1hh@z}Z6CMR;kgEP4Q;e0Fg%RLl#3_e0FugI>)0GL@d*oIQr~ zUGynDwO8vVj3aag+cAl(H4Yi-y(V)w!ozD8;5yn}xqYcq-WNvw`Xl^?;0;T#2p+-k z=Acw9oE;rO?wEV)qI7^!SGe1DRrJhDy9AKo*d-gvlXy};>nXHfC!u@M znNr6*-f$gzN$NG|tXpF_I=qf>w`5yj;SjrSs>)~*=}|A-?edgG55f#pcu!eJp&L7W zuJBpUyV4(EZ#m%rCmis1AJKs}RZ*EzEurA1NdJwj( zpC>B$n5dl#?!M|o&2v1W%L0t?G%%QUdxxDDTVw-+6sjkGP zw~Lq_5xzv|mjwA2q1Om}>45;!FJelC4+OllhM50;;p-ur79cO1jEV;W zMYMnpmDzL`eY(P?^^)&R&u>VzeW+>kyH>aJW5$w4DfzCF-gc`-t~K=5); z6-y56q&V^WN?F3Wt%N;T!jccC10JN3M%a3UL?!I8Foy-P%ivUgN>7LiThHu8Zjaq#!u_r}gxH)}-pt0M-N@ zo{V!g-4WOW{u28D==<%1PD~!5tAT&4^jc7N#SNgP6}LI((pBEOowam!=z*NR*Tu1Z zDRIB!dJz0m!aweO2>iFgkAQy4`8enbt;71eJ&gav!Tfy3G0?E%Nzligj5m82Pr1Jj z`dRx~&{fVCKvn20`zQYw;fP?e8Pw21RoX)K_hq_Sj27M$%HqLI%t5M@AV)|WB=y;eq-447p{*?6s_!CkV zRj0p{8u7ZgUQ~^@J6OL)(!5r3FGeo2=__8hZQFk^9zhvjB=~GzKQ4J3q4x^C#eCd3 z*SOH|*{u;Ye~j}Fg}7^Uj*+^@NV{^9A0F7RBzN3fVViW5mKFqAx=%|lR=i`F^f{3Z zy8lOo6Qk)@R2Z%HIx%K`SEQTE9t};g9rS`ox6y4CGa&t5ONUD8Z6_JEgwG-Op5nQ- zi#%Gou6QA&fR-LAUShkcLQ9VqH$$4LBq^VV>P1rddFaMm*lOEDpHmWjyvW(M2I(){#8pq@cA9n=oKyf#CNAXjee;l@!52GGbi0^ zPp5hHs(jB>-fy2l_bSPKzwbdvpViWrd|!j~kd{`X#-jANmfBI;C_SmA6D4!)GwEq9 z{jOvoq#tXkt}=|Hsh?|UN#zq*asNt7cUp6?2LGLw?za{~dPhr1^IJAptO8LF?t|v{ zAbGU3-h9TMMSd+^Vm=S4LP=8E23n-Ue&7o`8mLK2Kk+?bH&Ba~o~)Q_pGD_u>0c@q zLb^~(-wnNJH&VBjUJU&L(k>-Q4zp>WNWb)az+dT@O;>8^HvbzKb*|S^roiQxL$_u% z3yNtD-K8bAY%YCLOKjO(`n;BEi+^v=qpxbIuJ~<8N0nr}S9-rapBk|$hF`>%`LtFf zWy^eO(-PYN>428lmPK?(OKi&`x=Bf53zqC> zjoPx9Dn(MZET*YiVp|qdy_VRPvuR#d6Ska9=W2;0e)Y|Hy- zvXH|Tbk)nt;x1D(>JxmwlvcZwZyh8qvx}luw@y&tR=Q( zIlZbSwq-f}MoVnV3VK^hY|9Fw*-|30WhD)Xq-t=}s-NEvx9h ztR`$(MGt6+ZCOoU(GuITnx4=S+j1U#M@wwWdGsSCi7hSEG-tHEw9rK&srJ%BJz8R0 zTBu)3Y|9$TWHn*S8rrWVwq-3{ttGZ)E#0Ukwq+gNrX{vz9UWGZ*s`9A=8oF3p3YQ~ zdu=f6SWmOH)Ej)lUQcIhX+Od?&@wIEhOiB^R!cjo!j6s9rlpapC+v;1RZCw$yjJSf z(svNAl?Jr5&-adTJ`HQ>BR(f~SqHRqU)ejxCOV|0Z^o9PiPeI4;O)3>$sE#om`3%#c#8DF+g#XRwn zJ5WfjEi^?-(+X`!by{lk&9yI}xmw!cTL@{1mfi{$x;kiumL`=1Ag$L@safXgq|I8I zYSu!!L`jl6&i>@{okH$8qY}4}QHfg!@6P!HO|+0viCf546@)NuA)^wv5S)(6=R1Ym zLUNLmN7_qhhqmlhU!Cg`;^&4uAN|2M8`5Q3+G#CvZKDw_?Y5Rex>ifG&6Tb$x>-x_ zGuJ@6LrGG;7=1>E{R;WT=u2AqruQ8qMvsbg(EYDiXT|7SSxwJ7MmPOXhrQ|H)1nu2 z*sl?6gy{5vDU#qK^iswri=rN$1`uI=jB`WMX?6-DMo0jensZUE+8guO(biI~tk$6Y7^hn?_r1G+s zT*YC>4thsR#g&ziO3qa|+<>X%{`IrDm*!`{`*dt;1Tl zpMI<)c-LPpiewe)gHk1Ioq-luXnx8xmTH+5)fGIjyG=^-sWPtV)C>9QuJ z>8RT2+CyK|(zmg`zKq(NRoJ`8Z!g`ar7KE?T$j_ETDm9vJ^Ko3T&6T{_pWj6C;lD^ zuaix0z;%HBRV1}8e?Psc!(KLayWUUpRDkqiiu8x8 z=p`k&_rZf#(J!?0;mUXItLSwttt!34bv3=ErOl;xL;8!BK5MufhsbfBr0M=LP9F|Y zp_a-@!;TM9sg}+veZu}AP1X{xp|7DCTH-bIHFTDi3ImmnYiXgDrUl-xucam}orACs z(Ro@rA7LM&^R>k5`Rk}tOT3=Hj=HtuIN!K4ZRXUr!k&QK-u0xPk6dlKABY zdO#%Q-5coXT-X!#4fIYjd4TJIP)(KanjwVZSl z^=WBA;XB67G^C|fg-*Jet`O-qnp*Hl*GK4!TAJejqU%o8b@Cd)Z(b20P(S;6!( zex@fYi;GSAaV7IARME~VMlOYpNv##d#TI?Okdb3J`7-INpcehGgpnseP5Pz5$PXmV zVTl_^{E_4}8aJ!+Af5)GRePCE z7kWjGnsfuKwdh`H=gRWY6vnpv{~i3d(mPZNmq_l{!77txpvPJC2ZTCkPLM5Zke>2Y zlr$TvaQ2T$m%>hq9@afHA1R~`ysO!PM{6B8m&W%Na0PG$ae0W(to)#OQ$+Y$P%pMG z58*-HVxi4KTZEo3v{PtIXhP_vLiY+i2#Rw_&{BF3w340$t)*)P_ffNV7S8XRy$kVF z=bM-sN^n-S1@utK#q@~iRM9h)!&GZ*Dcpyru@8l=rFx*z_$1AC1dNiYx}jvPwM24U zA|B`!5A=%VD+FI5c)#HNg5PgEQF*7ePP~^9%RR=r@K3FblnV&TwHMxd1v>2Kb+G)m z$gA1=N6TaIeD5)SM+J^Y44%V12G8;ygXd+B!85nV;Cc88NxuqlmxAYXt`K{!kkqcA zr?KX})+qP899%E!9p5+3Drk2+3vYBf_8N7;ZJ?RLeuq!W*l9F}SaY%W8qja}Zv8s~t1+h_v)p0N`2DWvA47mPKaKQ-2YzHDp&J#MsuzG`d&eZy!6ebd+i`bVR~ z*?@0{*MkOWhr0pK!G=Jm(uYCo=wqOB=>gDl=vC0=^k>kuYY8p_XvMb_=BQzrSMk@enj{qg5QhhZS~H3=}MgR zAIB(D?>sJ{WJvnPEtK&b6#k&Wc^wx1h^CAj75gG{)ncG92NeUri^^c;`%)<$O%mu|2M(OAr@-NctrSGO&MttzFAX7 zx`dBu%E*ZD2Q_8nu<%DTW#nGrj|x4eDdQ)EKY_LNE|1|9dz{SI3STRHlkm-&a%h+E zF-;j65&od2j2ssJh^CAj75%t zi0}tBW#q8%M>J*RsPM-$W#qW%tap9?e^Nk2?651s+rYUP46#ifV^GAd~ zBK%R|k7+7t3V%XVM#v}S(v*>i@U@yU(jLPvxi7J5|ZaiJ6teW6W4yM&GiJuLL7(Bndzf~?;qbVTT3 zp+|)t7fL0PrqGd6<_`-!D)hKe3W<);t`N_9UBZtDKO+2Lp+^NdD*SPw6lQ%2OA3nO z+ZL#iaz>hjb_voY{D{!Qf*cn9sLs5!UGvIwHu3@P~yS738S!$AwZY&wUZ0 zT|y14G59^P^Kl~j1-u7y9N+ByhVh2+7o)+PZ+4p>G_NxsHvep%G~L!DtHi3XCRGeMwRl&pm8$Vp4pGAU zs*C9CAk*JgyaD>*;x|E`D*j`R-yC2hD)gzW%l~5S`9sUUDp@M0-&~u9UH$4Au!~244`5i*9s$%{J z!r$g&kA1g{=_{r6z#ZirdQAB58neMi3+IFG@^PtyCFg)Y!)yXQT^ax6YeDF()<)3f z=4Q~>OD_a{(aX8~)x-3p@Lr4aS|;?Za!&tJKZmwTJ>F8u_H>qZgMQ6m56>-SeN}7G z0DFG3P*tbjHd%j2;+|n~I%^8waPhCeTG*@O4SY}+{u$&3#cy4r6&h%HSlXiP6@V`W zHK|hGfvW<=i5Nm~DhF!fJ3@Z&5m1wA(K-#Z)gbt(XrTu7%%$L`qm>$HzhUq*(NYbn z12wUCtpq;{)I_VU27eZ)NsUO=!0rd%-bYKX1wR+m#CMvef}am+;;Hp?@C!jroDQ4; z{%lZ_&cXX~ybnJU{JF@-z;j%Dg$q4p7WigR6Himm0>2#8MDLjmekG`hC!2G@uLd>o zWN|+DwV)>UnG3+XnvqpeBvLE(7QFG4LONT?TekJ>U<)E`vS@YSJ}$5@X<0We4~V!A1i+ zumt$)VWUAefSPn8Y&3B0JOKVC*vRKHN$?-Rp4OmSKux+8_8Rn2P!s3I!{BcRHR)rp z*Tnmadx3lc)TBFUANadKP5LKTZP4AICLM;=1|0!4@rL6;@b`i8Hz}_K|0z(DK22AH z|7TE>?neo5?golCn@|FS9so7z^C*FVQT{scUqlHEoFCl){>vzViF1gXfqVrNr^&G0 zps#_N_+9Off`0_m#9NcMgZ}}jNk62IgMSLt#4jm+0{k31lHL2rVZ^m~-Upg(|`^cKot&>ulfdYe8A{!gGL=BEe1 zzXNL0pHUiv-UT)3KT#UIRR@YwO5@AmEl`sj##g{QK`}BIUjy#~Jp=tE2`}CXuYU)* zpJg-|FBsdcTdilUMUEdjqW9rvA;~eqCxiK)Zkz++&@lILI)CP2!GX)rx=!a3oQo*}Fp+8BI}~qATpmAnb|YPoN@U{A1KS&^W#!=TKs*)e?vHoPCQ)upCi}r} zipP344)*VD8;T7=Y*~5faI8O(*}FVBFceG0Q^3|G(islQ#0O>*vP)%VtE4x#3})ue zQM_We#QKNh?ZZRJW)3Y+4)zSEQt`peibPK)ksOSr_5$W~=1^NtDjpx)lIV@&JFSxF z96E2#g1I@P=TdB7`&?SnKD%+@qII$Ec>i455zlPXtdxxnm@`l7G_301-GC(KjT)EF z&t5=Vh8ED0^~v7h{`gW_(wa)_j%DI41F&`gM#7EB!4>gLEYY7{N{y>lEn3vLpmE;Z zm9ytBoZCEqe&d`)3+Aj^HgDeSWh)mfTrq$C>^burmx}{8uUt)SyAnfuXNPJLH@3LB zZFx(JaBVH?DGh}0tk>4sCU{G_wY9BzP-HH_hURsfsWp~L$AueYk<(vyA?;=lZ`;OY zxge40YwjQFi_xmYW$|9F=oPU{Oj2Aw+@DE^#QBX%Y>zlS7d9$!7{l$c9qC-~7$6sW zjEba?Lr}4ap^U_5^-ZxoxwNwU&`>(drbk&-(^8A;Q476Xlok|fZcZA=!kjREr+<5* zKi<;YBQDJoIdns;e^Y#WHgHtpu>Sb&cz-r1C$#NNqhU5IPxkl6rM0FTR>ue9sRYu; zZ`gCh<@ojgo|az8FU#i}s63ku;TZTzM?5y5qvQl&z0{uC+uYkrE$Nkm+%0=)30lR{ zUE8)Ti}mcn_dr%9;{5<~RX08;S99Zo@@s8;=$Hx{AFS(Ue88xW$A{%yJU%Gv;_)Hc zRpSG)t{NY5K{C}l9$mIK6HhnqM%QIuP7t2R{Hzg7I}$z1`|!s|;{6+j2fE{_@j5(7oQE-GqA*M>%Z9gapC|~k&uN2F zJ*NxGAMnx>*fKn@aeG_*(&6}EPaIPi8Zv6NEuJ}@ZY$OX!>PZgs)rs~m1M@}+80mk z=$imvl}vRfdVAx87sgY`Wr+zimM4b?CxCf*k%KwXhZkep15qh zwYqt!!X&yAyxtn8H3*kwVuQW0RIf}vJn+fPBh0#FtXCMd#@n)dqK38!jSrD}@|(TJ zHpPefV?A+d>ra3-_wJ6Nx(H2wB~~H2_9&ekP66eKY!y~(dY#3?Pi#k=hV&iFu2qRt zIwPHLd90@|uGet8dt{=K;fi+iN>8!p#V_j}9vEupp;{6jJ9L%)RqjyK`WBOoLPHPGn-K9=yNh8od+i)jMrnZOnnJ+9cmw##61-hcktxQ z6NcE48`)?%ruIxcJHIxHOGw0)!R^V77zYLhke$MnvRW@;Ak7D}DQwL2#ZxL^v`8`r z=4*2ea7UwV>FGIfbv&bLCL1mb8W`BSHoo_i1ab%$@03YT3VABVdgJFlQJny0ZJy91 zTo|?7%g%w)4srsoS#ttM6=QSpMP-yB z`dfAkCR6d{v2>hN1#m;zjj02jC2wgux~AR)_l^w`YX#oUl_VS%f18JTSyeRxS`qIa z-mxQ|T9!)gk#>tg1feT2;A8meZO-7k!QI2GkM#(ay{TMPjs~@)m+i%(cU@vvd=yj( zb5A%G%gbyus5zaE4|MnMZBL;6kHQsae?6&aJg^c~b|dP^dmfK%F&qY-7_ zx>9Whxo@XOgOu0BpiS}q*k!`yg=b5Jk-c}gCo>u`8?Zb%v^T|b)M!vknui?TdyitH z>ezh`<^|{hi|s((YRVXm#tHF=sRk_J+LLnQrYxOA8oA=o_*Ta=ir>xK$z12-MV=_G z&`ZKoS~BWPR5;aB)`k-8RBUMM`jOI{K1W7xl?Z&7K^9{c^BG)ghT=PDtv|_O0xCm;Hli=L=uQ49JPQ?ZigNcFR0j<$5n+A36k>-6o5>Mox zW2}#-)0kv=!ldkcEJrhvVRjWPCglXNYTQa$bjB~BB^`#P3+K{c)5oK5k}P%!zTBKi z^ygdJ+n*EB`ZLKM{1yyqGk3`WjKL~#|BjcP-jWY5<9Q}NdV*~ z4XftP8HJ>wOoVaV1@lf(WN`L^QLs79M_dHYi$$Cm1}C(yL0XdpVegF@QFLn(|4kUc zF(%q9NQ?;sbc|Cr4q5$E;V~1;3cYO+JCXQA>%DA36NY8`N_@LM-=Nj;%yM-;*Q$58 z_>*mFt4kYq$5Y$;lY3TP))OD%%`e(2|2l;XK&eC;K(;#O%-a;l3Vsk%)6m}bWd6w> z^~EsIV&O;FYw)1XEkidr2;1`ooCJvmqBIZpCJ+S&UQ*iJYFo-TDy`tIy#g!A>^QJ4 zF?cCquauH#<9ALHe*&1RWpocET6to&`>7okmq2qXFB@8&>`xAKb6bt42-C`NpJMqC zPuBuRkkJepoKbE=Ci#p?9G2UWN!X|)Vc9JiA4jRp83s4ah?8@cX>glb4pIw>jHQKM zYG|QfVeQGyLqiD5uU&{pDsKdmnoe!j=XbFcKAn!$1ZQE4TlKW)Qk(xuAFk= zYH5TGvy+!$(gBO5UJv$ND+h-AWv1tO4JX9t2C^^V0x3pj7sYn-5fsYJr`$MN z9>9^&ZUEwz>~cP>wn3Qb((Gb=XK8erWhuYnw*E{H1zb6Z6Nt)>lhvM!y%=~$1swG9JvU_T_<}6BSB+;9*NO1n8p~x z9^%p_E!5#bnOH$0u9cbo~;uv5(yuTri5It44Ge7!Nf^aTQ+tGkp z27BX|NqVQ8^hlE9Fn(Y*dK#n#1X&#sKd(!`!pq}I#%6>c<53TmMX4;r^O@pT^$(}} z@RSInj{;(%Eh7vM!^z&g)XfA6*v``~Ts$Xd%cJ{egBqi3E(?eF` zy2Kd7&s)aqK%~GE25^j(14Eg;ct%;e3eWO)<9&cZJYP@Z*?%0*@TqV)p1k+q>3hSV)WT z4n{McO)tkg94qne2GMJuS$+HWioVtKh0nj|bv;<|F#F4JL=4021o4+LTjY$GMv*DN zW~S9e&QkyRhSL)<_#Py;H)3ke?JNz%47?pre8+F!xr}P39Wkn*?={L<&h&92fw+$^egdXZ0QVC17nLP3FPJ_#!I515{6#4!Sw7I|HcYNx+1 zP+#pVAZ-kivP%Q|jX($68YG{~sdNIZ)y_#Sw-QW$#x!9WYgRiKx~c^p3gBOS+drTL^W z8E%oA(_riuhyWmzt_46V$5Qc-H`Bt*(+H4x>mYq9JMJAw|fQ8xQBeb+cP?TyD2pQWSzBIq`Gd z_@E(5?$Sir47c0M4jp+A{}F7cSPmBw_aGHyg7i@`x9K*4x;;*p1s*0jaj|J0x69_F zp{Gk;?R2@cPqNM_K=05k5>ebfmjx$r!|Dih=vLCX%g3rq+l|U~7P*5imug0+ATELhTTr9I@)!jKF6O%vJ<4TOLytXSc~Q|2+-4EJzvX1F zx}`PnhynbmeZlvhp7qN4?gt*(yXeeUKHr7kGQk@+coUEuH6VBw$1qHX!LrGOU%YYf zTRM0#6~qQHij9cTh!=la4Y%Pj__a^|EN*h}UwLL-{64z$1k=XvVacdz+8)ae)LS+> zq#fvY1C_y0GXeZ=ME)2Eol8x-z+t0?Oxwx#n}BV_)##FuEzn`wF4HbD?J5qv3L&j3 zq*~OkXY?AN?Q9F&WZC`_Tp5^PaoES)x)nQJJjS7MqNs*crrSn)MBSrJczBusp#a|h zH4IJnx*`_p!(Hg*JOA_d3LBWlqiaC~wWXVJQN%Wi{e2ksS;^z(puou0JY!&7fUQWi z03(Zml5%6fpvLC#_`&V-CKYrOt3j6nTg8m6%r*+!=!QObhz{wN!m&2D=qhHar0P|2 zSE=N#;^?gsy;Vm?Cxk91#4`|bzFw(bFTyoSxQ64kOT2dFKG+G&-;0bqZX5Qyi)DTd zAXf}TbVSv5k-6k*oCVIR~16g zPNV3F9PcVtY}JbJ4rA8~y@o^DC0BL?0y6mXnW{fb=GWTV&Cms@*wBXLVD40?9UH1W zY4jYtPsd%Q#GpxQ-j|53P2#D>nfOUpESl7Lt>l$ER*%eSoV^%7+7vOU^0m7k zef7~Bl^MUf<0>qTfBor0|9;QSuU&sNehLky&c=_i;vZIycpq4VS#nYx-!of&Ce=Gy z1pKzF6bxmnG32GcNv9lg+iF>jH_8p##E+oTkv%xjjo>kgJi3YCA#fZo!Qn(A5=+G+ zgUL)JJv=moJxaVck{FC+`V#2~b}#&#B$C`7*^8&Hkske+ry-j=(Mx}P=5u7MZ{?9} zC$1&;;zEhCAJ)W|nE5w;=~D>%R9+bC;0xMgKAYNBwC#L+>8|Hqd}`gnXKTZcFMn(y zr?KMft-ILUTi5T6v?f!$zuc-EvK1#!n&s-%x4aFbv!6-#fs16Nv3G;RavvPprdIU#uaDsj zcOZ=i-tl+?pGoV_d()9jadMDfBIBnTS^U56|KIZfztJy$+h}BL+0;9^=a9d@w=0}&QKR4%&Whg$9D%V z?yvcu6%Y)h$~(Rv# zJ`;)Kn+cc=@mVB(Z-%eaKnKu@`r(DhxEdHuhwI`0rO#pY`|8uUyZ-m*|92kvp9Cb3 A4*&oF literal 35840 zcmeIbd3;;dnK%C2d!?(zl4D7>yv4B+k|1Ko*x5)}?ZjCevXMB!38b-XD~Z7NHIkhL zNN_^fN?@SSmb5S=(3a9thSKRWlmVyPq*K~y=|antVuo(e7TQ8v=n~%V^PHo_vD5Z_ zf1l6%=8sWwpZh%D^PF>@^PK(MD|z*nJIEp;7p`~SA^IHd{Am{Y*U2z~i))`KrhoQ* zed_0oRbQXlzB84H4WykN=|o?wJJH|o492>WvGh=XEY%-tUArOH=kz2Sfn21GvX0G5#CgGGr;z%k3j^SKNdCLz^eQ| zf7c>I_?(4w*D^Cgbd()&>SvTF0Ic;GQTwT3e@%`Nc?-h5kXIDQ4TH%&gOKk&2!b#v ztF{}Gd}2hM4e3m}8$hOibE>7#+xC%baM2ibVVYfb@ z5Vp-EH~sU)M0ac?f*1dvKGV#2gvd{`#xu*vwDuugml=)2H8#y!Xfu zC@5+wtc7&3*Q`jRNg-H|v_rI?A=4>GsK1Wv zSr=-=aw-53Ck~gY#DxLi&H|c=SBh$+(V|UA7dC__Oy$vdHS7*kd@^oDVIy9}CZNH( zIKZC)>>ox+wOGTVFDFi6(GM~60-_JY1+G~{)r~IN3BzG^h+beywr%fyg`)077sbTd11KFEwSvK4+9 zi5SkgtmI6EzK*L@`zKKComjP}Ky`AnO0{cZ)pe}uRw`>IR@uWU*5Mg!+pdXKwy=sz zsdVI3!iG2gZ5B~Q|Au?;M@3{u z>cjW9>f^)6(}{D&Ugu2QYD=7>c`5T=4*pOca2^C7b#5Pr+`&lZFlf*>$%;P-#<`X; zmPWul>+H{pPjTR|NafDWa(6lJmb>NL$aiInWae|;!^o*Fi@3)4EW}Nf42-KLy!OUB z%3bWM!|)Y)4SdD3$zN-`d0(NqNgLK}_EaBD?3Hrm6_+!L*b!IQ6@ME{bwiQM`6-y_ zNu$mv5BloEr+Av`O0q~y`JOBXHOw(0?vT5_y3ie#<3W%k?xwoRu|e*9kk@jGSW?|k zs#e^Y0pNG;mICHc=Pm#)=QU6Vz0ObW`ck)u^#OIiJ$llrGoleYWYSgjQRK*@V8|QxJE&uSq$pHWj}BFL1?}fy&nrcb zqd)kaA95Oja4-}QIsOUA;b8nxhTUOfKkRg=kgo$GGi-#sD!xxr3Ay7K>g{ZfAvgCn z|4iaiEUbdXuv1!0C>)X&6DbLmL?(qMm2X}OBf0I;_X{qTpT%_o7jmS97)WS8kK!m! zF^{SKNH`Q;^fAB`Dn{x*NA`{vjX{a8vS^FwaefIQRP6X5ZtjajLd7$r*@Pk;P9PV9 zl^j2dC|t2)fr~!_j7&~HS9iE$G-sMar+W( zdRki4%nJ*<$nq2v+Vb3<(vjT7u3|T@A?$$VEl{z&x2N`DEOdz%T$xG8YleLdBg$F! zNjn5AGaKb}Pz3)>+mdNw-*p@dK5)5|zI_cNnX{pTNMVlD$dNFe`e(usygq;{xV%_* zaLcxw=V6fFt}nJ7OvV1_NmC6>MV@+BX`rsiv|YS#u>*DFomGwa|A6>tU5L*aTVZnM zA|BL-$i4=N`)^OVZclXtywX*Jpz(7+2m@p`zAUtq zUf31&a&z*dZ@J?OnX!LVLcZMOSQ@eGC}hvlWBr-5@mf`dSl+2c5$xr1&&M4Whp5V5 zUSvl1p`Kl?fVX~}3*i~RF6uSv*rLg7Ts)SQnLadgu*81XD%=pob&cm&!jy$~T3&1K_QVIhgm<5CZ zP@DyX0f0uWq6h;36QBZw0f1$v0)zn&&H}>hf@e4}+&Br`IAYe7P)8G2@r40^2CV>L z0HC%MAk2m4lzpsPkOZ2OQV<3)FdiyE7yuZ?6(9@%)T9E0k^1aGUBEG@i%3CT#LtHV z%{VICb}nFF+US7aieJdy^>CHIO22MeRO?rj!41$}Z-%M1NQM6ivaSqi_g9!aD-G;p z``{9`s-QeoS>uF(wOCs#YlQ(YISU8_04r^!A|^^-9=58W zJX5m92?J}Ye9p3?F4)Ask3r%2b&#o6)%PFp{iuF(wHUBfd4vIg^@0L~0f5vLAdHlU`@U*#q4DL}@OPDGiZ0H^Y;k<2Ee^($ zfqiTqio-?~6bB0wWt%WC7RwR^2m>IV1%v^BMS#)}MvaI0{!>1_JX`;+^3)dV0&U9{ zXwqp5w44jX2BJW0RzZO$6u3E?kub=)B?|}xU~v`@2EdXmpc%dLKuBvgL>K@|vw$!F zmSq89E;MWQaY%tZ=s7N44y?#33Im`m3kU;XWflw38`VD75tZ%3R-Ox}Dx~U-qx~riG3d2y4y>JA}|3yb2 zp*la!`C!vii9Ij&KlOex%T=BTl+3a>4V&@La+FXgRNp~}H`i4gs57QS!qG^iZV@6$ zaA~Nteg=gilTW%LWudbAAepr#@z1mIR96I{SqpGPq`U(gphzeT-DoH}8(P^sm3iKf zm$&5Qq4Ih}6$~4f)gf;=(27t+{oD z>XguwMKevQ36X0mLEw1_NDFTRQA7ERX!*S}%FFMK#1`%; z0BZw4Yl|4>2wB})e-2(*2$$sGxrK0?;i;U+Wqpjd?8my|CY_ENH9D@9oU3t;7sISxqpE3 z#Glrj9Y3zQK>UlE3&y|9TxdpQChXxYt<05A;66#s10O-S9JcX@XT~3bxLMz;HWyVX zB;Jg`K)eMs=!v4U@v&M9Rmnt);Vqs`1uUl!$3X9wRI9**vM5G-KlYxomk&~1DSA&X zVwJ?f_~MIW==bX}*E?lPTt;0y9^iz%o7JFYF|5jN970rfgEiy-gouAf0<$E4SdYx}`HP?6JIO|;4sJR>E9N; z;-rP+iJ23aaf;PA{?c{(yZ|aOyF|| zY!-QB!$a19d(sv&*};NaiYC z9&u&uQ?4h0lZGsA_?!asIF(6yQzWZrC4}Rda_)tVH|)X8$CJmmRA4q@V|j z=Hl#PMHm39vVbrER%ZcW0IbOZ!T?yC1%x>l3!V&CG4{T7jKkhYqd}Fp<3f3_WjJoL zgYifV3r%&>B6=pxz#Y9ir{`9B>S)JWuVR zCe~P%*O)S~#yNS7Y#I;HBtw^rEr~DBt7I2_%3xLZ^HD}r56;nbBo89BTQcmS(JKc@ zLeQ$y_FCE+@sokbICCxV6DOgYiL`gr&FTGEfg>+`|OF8z-aaQrVMcte_>|+#Sbv0#F_5II1(@ z_NSgdT};y*b==H-tPZ&JTNsABJ~_9XN#HTR!e%T9m8hNxVuj9Q#65_I(;_K5?z-$| zC7SX#*kHt&%J6rza7JFoa%SX0EQccpyhWZV4fAo(SnF%>@h#jCsyh>DoXMKs1Cb&6 zo6G<`i_vchii3CzoBsjc-dwr4X0sjtF5`HnZBYwsJbfRkE$MkSSO3-&5mXbfp4I)U zGFRPFW*plQ4xw^=lKU7p5#iE@e~%+cvMj@Ao4e%Q*)6Z0EDt zM#N$b22ouB4?>J%HHSQL?rqW!5WiOY|27WOZI5}Zy%B9PSAN$0ce2X&CHg|7j5f!L zYE<9HF8v2q5N%5ynQ{BQ3z&o9Pq$x8vKZJjyc%$@ZhF{?qlaNJf`=_QXIG64Y{3Hs zf)3*OXMY<_*E$)UlyAD|)#Z4Mp&l2GF+%o%s=e-`rbqMbm5rAV)c3N@s_k3OHHE^y zLgBi+AnW;DlJgb5E1Qm$!7+}TCmYc}F8Pfnr{Psmfhm8v3MJiMrsW#E2fq-zLP z)J5>vvEEIU5ii-M6?S>bMJwcu|0l}iT#BUd6wW;Z`$4zU0SV8JdEx22j$p)JbZV%| zUKykK%^mU0h!OFJ{e@8%&PI`t;lyU~Q_lhNRCW}3P-IN*fl#3SoQX55?C_}k;2pI* zJ|(Ndl2sNI%!9O*<7pu}30tGq%KK3bg-!~Fg7tmmse(1^c#Dq*PG?P3&YG&fZB5k} zYpSx=@XE5hqXEf6ka z;c_NF)5um9exikUvG5BmY-8aSEp)Q*D;C^1@W8sSgluUu&Wj9EUDRE5(!g*~44mDh zaod%76AI2tl1{LWd}=K(^doBfh$BTZL^7 zswZaBv9NkP4~IpbsFQ>iV);XU6glMP1`l*Q=SCrycanjfq1bn?4wZEz*ALq2?9Yc> z$O79>ewPbtJoT~^dZaoi6b7qAbWH^a17K4Y5C#BxoYD{m06LulgaLrgqyS+6pyCxE z3;!XRVrM{(TIK;Q@GUKkcnamlY> zVxh77?YIj!?CPv|A3$Yy8RATrI8hVxo{5LsPCr8PYfm>l4V@XR<0?g~;(etj{Q`Vk zV!G1kNdqD{4q}y16%k}W_N-HKj_P4`Tk zEmT~Fm!vA`*Wr6Yz+arJs#~#^Gp2U;-+0UT;x(UMpoh5b5;|b-UaOdFHG!5lKU3GRV-Y`!aN8{8G4I1tXypHP7@zY z6|`$!Lu13-#<@+47;#fC-x@F$BAs5`8z+O`FqlsD??4yA(dJ6TL-aE?ZlI4|tloz{ zWBJCmR)l>H^7nlRTiok#-SEdmE4%dm2hQ@LQt6MzT#5n!i`K_&mtY}YRU+9xdcea~ zyoaS>V62C7@%al~hU;-$=qQ477+NvE>neA=u*}KeW7BiRX1PsACo!E`!gNdVH=_}n zR?eX*!5=R^BZT>~WMQdIvnMhAfzVY#UoB?DBm9WaTLhUUDbFu?I*jy-nbrrN4*TgK zF>fFjoBD-*yz=RAG4)epg-ze3OR8+TLGnETO+Q^N`uEXcYd75vkA&&N{v+Wq{Vech zSo@VQr`8ZXqo5g=bHei_zo6wSx0SZBZFxJUF$%bsRe(^cYBX))M>R1`m2z7+lk2a?UVXw`Jf4Gb#oG_CQ@dhES z#+y9VqItBO!vfe{bG&k+$l8h%yLypcjj$A@xgs4YVX2BP5b29SmZs2hk)Eq$X&POk z!Yr0%qD66<9~I46loaX85QjC8BhrO_mgZo*XU%Vm)J(V0F<4!TRPbg$y-&gpm$POo z-7jU>U-n99HS+$5NS`TX>0)|P{Bl8*rFD3Jjnh0*w$#{4>*;xs!lsgbB=NQ&Y&C7A zH|PNTVpjaJd@FU*pF|32>Ccde4u(}285sDfJ@}vHH&B8sk-lrOl+@BR3G36+0+BM1 zkUd?EYb))BWWuti(CN0)9!M5)pMnx^rTtW5M4*NLw3>z~g6yV5m*XkSKls+To9L17 zCE(v{cYuDzzRbMo4fX)`WN$77X82J{cL2>(G(0jy7-|;*OzQXl5 zXwZHF^mneOLFc-@jo>G|GogIX^3e1+KjhWk12H6E^!7NLLf{1E)DF4o^9X^yx!<>knw ziGJyS(QVsJ=FKQkvg~2d@@l3x`X3gYOIj9s8q_wJ9xG+qC;TFl`QH-LZ~LFlrL!yW z1dyph%Y|Mh^jk$w4HYrL*auN;*Jm z(W=+Q&IC}WBO)E} z-d*L!2>WRjhF3e?7)Sq2q&q9_kG}18(RW08A2nC~1=4S{bXTcmyUCbJ_}u6{QR25f z*Y zRnwJpvZ%?%=@ypB$ero~7vQ@tdw6p}2dFR5W|z_`EEQGQrFJD9*3!zrHoKY@V!4y` zZVk2Oq#bq*-K-?qQ{89R(jS!M{cd0g(mPuEQQ#U#US2$)?AM{}F~VViNQY7O7*%TN zwNk%5m8NRx&!xqXW@+iWRj*sqXpWYCT6NH#M(1hi1sn&TK})pss#OeWm6jegZ?dOT zyOu`G!;rRW>9F}8dj=)7bf5WtNc~C@U(ck&I_&p>*R7d!x0bBnL3<|MrzNM#Z=XpY z*3#apVn~l_>5=GtcAP$=rKh4Ff%LSJB!{!;KScVe@4nC*)>-tNmOdGJ%sz`owRE)T zMQaxQTuYA@m0$(>8!fSAb@aBD*fJbE*Rywj>f2oMX}g~MTIw$O7f7W_GAP<-&!$5n zsh%^N?$?@Z%WQf`OKi(*dQ3}fO9OpQOKeL69oG`uayETcOKi*8^sJWHmPUGBOKeLc z{a8t2OB1!vmNp@NX(C4?<(DSfttGaliH5brw#=cMwZyi}p*yw2w#=m?T4Gz~(gRvz zTjtTnw8XZ|qkmSC*fO7{W3`=a^YiHd+F~vVam=Vq4Ck zl$O|*b11DPwq+q*ttGZ)AsteZ*s_S;5J}b1A}T(cEmO8EqNtYGmPJ&nCAQ^UI#Ww* z%emC3CAQ@}TBs$q^)XjEljTP`A>me`hyD6A#6rJ1U<#I`ikbR~%`Ep)d?%9a-TC#}i0 zw9sd@#J051h?dxv#dJbTY|CQ$mX_F-CG-O=u`NsJzqG`*w9>0uVq042O(lsfOR1}g zOQdXBO8b=L?TEZ?Eu|Z@bXDY_y_9a((z_A1jNYfE2NAZ6?$^?r)vsI2=^-rzCm*zz z(_>nC67g2h=d|=~#9Kkfwe(QngwaM{)zVV|H?`5TT3SfkR&mf?MeaFLTJK|sx0-@ldJ6GYQ-zjHv&&dR z8yN|0MfUg8##m$-%Cv`{`@333a`OWZ=*b79;< z@)EZY9GmKR+(L4an@8GB^m%2Aw z!1Q@K=qFm*Zx%y(O-WL|&2&VOsraTP|+9~H5H`0lUX`Xk{{nC#v3nv{OsxV4mJahqUx%tmL-Qca`K_XuWQA(hFKz zZXL8c>8DysBP>C$Y3VwICFl=Yx~bA{chNgqI#O8-$$P$7=G`AUVRTc8mTnHY@x7Qz zE&ZbMgwaD&we)*rZ^wT3+T7~s= zKY1@y@xsRY?S6VjOOIC1^*H3ZNQJpW74`sqR7;DDV*4t3OG~$uF7l+QwOMK2RDReV zq(fTzhQHV|MAx>cutomw*}Leh#Vn~6?rv%o=|-wHFY@fBn_D^T0R1tz(zAyem$Gyt zonL;b=Ng)^OeE1r)m!CucWU9Y8h_zmj--KwRF z!jIVp=x!}-LfApNS4+JJJ4hea(rcxEu&$?1Xz9!3w=pT>7W}YXx|j+eYCbH<9Ro^R0e)7a{CEs?ieH%0JQ! zEpe^1zM^`y!+`QEpZDuO3SsxE#xSzQJjOByqod3=NKK* z(k6P+^B^oXum@(kw}k13tC)T{#Pp-pB_$>eSLZ{O&S8X_^vBAQ5{sS>aws3&n)Evy z9$NH$oHpTP0Tge03Gx$3?ITf6O{KgZIhyouNEs3F-z9O~I_{_Zc}>AV1^`3XsL zRMJ{Po-m+tukbA42VO$|h=gtJEyNA8yd+rPYO`<>cdL zb>4^5e}i7~Gre5sr*hP!+hMImt0e_xc|L_~JOBTV%$7E<(s{4sJ^-ss`er5P-XyKM zHNqCIms0#e^i`0Ah5xQAuLTF0pRYLa)JpgLZouFm(NziKg z7U)!r+l&WjkAJq%bMPGKkHHn7%~hK~?<(C&{~|h*aTYX0A>&~18a#(S61@da2$;?j ziWeiQK27I~=K1uFbpq$~oN}x1tLWC~OrxEaRxL25Q(wt>#$@QXg8#F%&Zrlpo_-zd zfX*MPx{M~{9{k|L z$)5n-aePNTkM^Odlvc(>h;lIA2OPD5V<|`&$KX75rMk zuN8c+v9o#*yDs+3At}+@)Kt#1JllLomx98dh7S916)gV>^4jBn#(JB0-SRdy7%yA5 z7(COwO}tupn|OWkHt`DNZQ_~hu%tg3aigxolFnhV=dh%9n08}TdWmsC=tb*@FIz61j~FwftU2KCbR99C4{Zl!Umbxr`oVv^Y7q4D z(A7w1eaWz-@B!D|;=O+%mCLQwPq^5V{|?O~(dS$y+O^vqq}jB{?Zs1$#h@vnzog&0 zy!31O6X=_GRO+R-g#H;6D-gpCdf4!Q-eLFMcpLDX zYzycav=_9F4ua05_k*5C-vC`gFN0o8uYqnL%h!M%)pXEqY688ImV#zLTkzbq$lXG> z(njAB;g{f9U6H$6_-^432#=K{bgmcvdcltge@yTP@dU2O{UBYB-;Ef>h*9Jol~6Jy zed8{Am+ye^2MkWNB78#lgzyK1 zKOp=u;g1P_T=?U{za;!i!oO^CSzb1|EQTdHT9TLWQ-wdnVx2RvPTucp5xhn4gzyRB z4+wui_@lxf)09(t(Bj%05#+e0jDJz^Q9)kPlyP#2C7Lo46Mm|uj5G`1qA4St!Y4Fk zWLWqEnlf^|@JEFn)0FWM;g4&|$QOkl75b82|ra+Mw*3h z(Ug%+;S-uNGA#T7O&K{V{4q@#84>=tri{EK{7XLOV}7=zS!k!wVW9^!l{AGvrm3VU z{Bcbg85RB|O&OsgDWj&0Ocj1=5%Vp=w+P=Ud_q$W9Txt8ri>gF{+OnWj0k^RQ$|LG ze@RnDD8M$vgfq?G5c5kW?U z9~GX;B!w~#jS1f@v{R5y;fED1XPx14);}tAM352TM}<-a>rjQHDYRLTX5l-94hu3Y z{86DJ)vP}%lqO4Dq0K@&g$@fnDs)8Xs8FgAeWA@lJB1DlJt}lW=%_-bu!TpbaI6ub zqk@bIPqmU-t$0KDW}%(6Jg*H49TD0YW6fcqM}>|E9TiGbB^{y7LOX>H3q2}yM5uvP z2fsUZ3Epb?7=45OlYUFvjVFy~48IvNFEqQ&9p>HUcg^R`ADh20e{KHW{G)l&H1WPp znbl;?w^mr|t!>tR>wDIpte9)9YlG`X*Tb$)xt?~t;CdOWF$2FV%QU&`Ur| zu^XzuZfG*381_HYv9^iJn@FX2=2nJhT~Rz^DyJ4`Ev0Ha=a`K3)(rWs^-=#fJouf` z2-AD2z6Uy5@;qoT^dr!H!Iwer5QNGYf3@lr(AO;HzhwRj^qBcuP*0HY`>PoLLi7)y zpAPZQMLk}G1*s0rlz74aPs4{IZ23b%Lz9_*PWUeb*c(?>F#SYpgAA(mu2UImK1R=^ZZQb3xBc2d0j8` zzDiF2aEL?ySjqH)YPM%f*<#S&8|>kEWvuTBE(gB^zYK_XW`$DOYVelD`c+cDJ1tIO zSCFZy>wz$*zeK3g-zz+)#=o3uVNZ{57=U{4&p_fH@c4x;@Wr4e+FlX(5>OLw!||JQ zQ$S68?`abF7%0C78UjBJ)WnV;0)9Fue}A$J{7g_2{iYmz9Mr_Sx|QH(ftuJc^BZ@w zK}|ee=lAW-1~sV>IT+aA^cMd0#Fn0a?Sw15Y)sOz?tCjBpCb! z$N_H?ftvW`fjaQbpeB0BZ19UgP3%z42Hy&5;*Gf`@GC$~JVoU9`c{IP*uTsNzY5gE zj_e%pYd}qm0E@t{2Q|^#&I8{LYSKpJj5m%zO}Z30<9#YnlP*KfymxN_zZE$f^e#{n z&t#T@?*ujR-W9u)@Hzj*G#kV1+?ffSTAttp(o;YT~Uye#3A8 z)TFCmkwIxt6FaPp;0HlX8iGXz?E*FNUg2i&SA&{#4XiWhT2Pbr!8!vc|69Rd2kQ(P z1~u^nA_4v&sEHj`H~2%KCh_}y2A)VH!QTW+4Z0cB#0g3Y{JTL-?9Q$Py^Z>S+zx8u z*Ww)TcYvBWeYpz!dq7RP3-%gxH>inI@*(i=2Q~36$KBwMfSU9Hc_;FNpeEf5+YP!8 z)WrLb`@kOsHR%{^H|POSlOBZa22K(Vfd2?=H|Zf*jniUKlOBfE2FCK6z<(T88}taM zi8m&11^=(0COrk)4Sb8>Ht-{`-Js*3Cf8PYTC6_nVXMUT zpzF{BggSB!^C@ECCm`p9dE{3vygH1J3zwmFf93iqv=oM8c=`Ow)mXs{rn+@V0Fm1`~s+?v`{qvA3;1HQ2s)Ah{uRb@GCyMmqn( z?rqyzQ<;I@#NH*niA<)cX&cZb>11LsxvY2B#mT+P@KfN)3%j-fzcig1Ot$oGKb=Ms zNha$Yr?<0-)+ZA^Yx{fmZWu`PLu^}m)li~0HMn<)(>IVvC)2=Ir80vYG??sbBAA&T zY*LwQZ0jGKJ4f+~-IVAZO12LT^d>v!&=RM=dnlbw_7AqEx(8EEeubecR{K%J!zla~7^jbR~P|(vIZdHqA<5 z*^W8$v`zyY(twoa8H1vj?!!RS8Nidt~`Ta$x{ zRBz@&YFxH#;ljoRjq~O%ZJK}1+?M(C8|N%sFlX7~dGneUFI{j>>-_mmbLKZL5kGER zx|}v#nHu0b`&Em$vBfPLmbA4Ax1nt{Wq|OV^){^AAb4A5-MS4e{UUP-*0ikJNb3^m zOj5Xh7CHS@TWA+MdfPTG%cZHooh`isI}@}lwI|ubHQ$;TOh}5Whk6H7B5{6siR}^J z=fd(5hcVoq*pbNvj{$PA$EZjOIRy2a8W@!LtiC?6JC|0L9~j7F*-V~QH7&Kc8nw{F zMQKB!=H{fnEZik!#1G+bPxU6-db-7_1tMp>Cegb-xjh@0mpH69xhvV54ax}{_GZvR z8U zr}wt>^w9Ze4HsUyZQJ5R_m%hx$+A?k7htZ+#s}qUY7McE;=O~(Ov^5G*+dsQ^*ApsP7VIGVDa@D9ze&% z(a?xDQ75yPCc;#0>;PMo$49fIUdeAS$S-{0tWG9 z8spmdkX4DyV4FDQuj~8`70gH5Q#*#zGQw|4rZcG2@tL)3TCz@$DE&RDZc(04Yn6;1 ze_f|F*^QwhJtpVziE+!y3?}*p#s{r(cBHzO?8M*rNcOH7>g!6T$LsLqumU5=L}8dv z77uOTK2Z>6ozn)TyH6KXILu`xuw|%k?e-1HtA>*O-APPc=v1iH4avdN>8``lU?}~! zRQ1p!i;}_dx$aD+cI=!0U*@E{QawG%{w>M0gF#??%q7lH{{%2ED+ZJOrwPr~*U~)` z#FfPi4{hi^+f#eS=c${QDom;?#mlX6TK#a@V4}Y#k?xTxhX+2HZ-iOpBzlBVi@i-t zCTeKw(fAOlyRg}7Y<&`I$?ha==uLsP^z2HYx(H2wDOMl4_9){FrGfJFwG4|jy}sh% zC$S?*1Nx5T*0NMOGbo*JNuqmaQm@^1b<0E}!xin~g`Q$pB=__T^$oQ1P%Vj%9lfQH zr$B7Nm@!-_6^`oE#tUR8BdLm4TAd-zq21BUdek&Jnv6p$;8}$6;tS@eFKw
    ?Kw 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