From 53bca6d7ab3d218159f6099eb05b74b2ecf8f5f7 Mon Sep 17 00:00:00 2001 From: BigGunag <48265638+BigGuang97@users.noreply.github.com> Date: Thu, 23 Nov 2023 17:08:47 +0800 Subject: [PATCH] Niutrans support dev (#239) * niutrans-support check dev * niutrans-support check dev * niutrans-support check dev * niutrans-support check dev * perf: remove unused code * style: update file author info --------- Co-authored-by: tisfeng --- Easydict.xcodeproj/project.pbxproj | 20 ++ .../NiuTrans.imageset/Contents.json | 21 ++ ...7\347\211\233\347\277\273\350\257\221.png" | Bin 0 -> 140926 bytes Easydict/App/Localizable.xcstrings | 16 ++ Easydict/Feature/Service/Model/EZConstKey.h | 1 + Easydict/Feature/Service/Model/EZEnumTypes.h | 2 +- Easydict/Feature/Service/Model/EZEnumTypes.m | 2 +- .../Feature/Service/Model/EZServiceTypes.m | 2 + .../Service/Niutrans/EZNiuTransTranslate.h | 17 ++ .../Service/Niutrans/EZNiuTransTranslate.m | 190 ++++++++++++++++++ .../Niutrans/EZNiuTransTranslateResponse.h | 53 +++++ .../Niutrans/EZNiuTransTranslateResponse.m | 22 ++ .../Utility/EZLinkParser/EZSchemeParser.m | 1 + 13 files changed, 345 insertions(+), 2 deletions(-) create mode 100644 Easydict/App/Assets.xcassets/service-icon/NiuTrans.imageset/Contents.json create mode 100644 "Easydict/App/Assets.xcassets/service-icon/NiuTrans.imageset/\345\260\217\347\211\233\347\277\273\350\257\221.png" create mode 100644 Easydict/Feature/Service/Niutrans/EZNiuTransTranslate.h create mode 100644 Easydict/Feature/Service/Niutrans/EZNiuTransTranslate.m create mode 100644 Easydict/Feature/Service/Niutrans/EZNiuTransTranslateResponse.h create mode 100644 Easydict/Feature/Service/Niutrans/EZNiuTransTranslateResponse.m diff --git a/Easydict.xcodeproj/project.pbxproj b/Easydict.xcodeproj/project.pbxproj index b165df3c0..0ef126f70 100644 --- a/Easydict.xcodeproj/project.pbxproj +++ b/Easydict.xcodeproj/project.pbxproj @@ -207,6 +207,8 @@ 03F14A3B2956016B00CB7379 /* EZVolcanoTranslate.m in Sources */ = {isa = PBXBuildFile; fileRef = 03F14A3A2956016B00CB7379 /* EZVolcanoTranslate.m */; }; 03F25CB329327BC200E66A12 /* EZShortcut.m in Sources */ = {isa = PBXBuildFile; fileRef = 03F25CB229327BC200E66A12 /* EZShortcut.m */; }; 03F639952AA6CFBB009B9914 /* EZBingConfig.m in Sources */ = {isa = PBXBuildFile; fileRef = 03F639942AA6CFBB009B9914 /* EZBingConfig.m */; }; + 17BCAEF72B0DFF9000A7D372 /* EZNiuTransTranslateResponse.m in Sources */ = {isa = PBXBuildFile; fileRef = 17BCAEF52B0DFF9000A7D372 /* EZNiuTransTranslateResponse.m */; }; + 17BCAEF82B0DFF9000A7D372 /* EZNiuTransTranslate.m in Sources */ = {isa = PBXBuildFile; fileRef = 17BCAEF62B0DFF9000A7D372 /* EZNiuTransTranslate.m */; }; 27B7919E2AEC36A1006E07C6 /* Easydict.xcconfig in Resources */ = {isa = PBXBuildFile; fileRef = 27B7919C2AEC36A1006E07C6 /* Easydict.xcconfig */; }; 27B7919F2AEC36A1006E07C6 /* Easydict-debug.xcconfig in Resources */ = {isa = PBXBuildFile; fileRef = 27B7919D2AEC36A1006E07C6 /* Easydict-debug.xcconfig */; }; 6220AD5B2A82812300BBFB52 /* EZBingService.m in Sources */ = {isa = PBXBuildFile; fileRef = 6220AD5A2A82812300BBFB52 /* EZBingService.m */; }; @@ -629,6 +631,10 @@ 03F639932AA6CFBB009B9914 /* EZBingConfig.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = EZBingConfig.h; sourceTree = ""; }; 03F639942AA6CFBB009B9914 /* EZBingConfig.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = EZBingConfig.m; sourceTree = ""; }; 06E15747A7BD34D510ADC6A8 /* Pods-Easydict.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Easydict.debug.xcconfig"; path = "Target Support Files/Pods-Easydict/Pods-Easydict.debug.xcconfig"; sourceTree = ""; }; + 17BCAEF32B0DFF9000A7D372 /* EZNiuTransTranslateResponse.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = EZNiuTransTranslateResponse.h; sourceTree = ""; }; + 17BCAEF42B0DFF9000A7D372 /* EZNiuTransTranslate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = EZNiuTransTranslate.h; sourceTree = ""; }; + 17BCAEF52B0DFF9000A7D372 /* EZNiuTransTranslateResponse.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = EZNiuTransTranslateResponse.m; sourceTree = ""; }; + 17BCAEF62B0DFF9000A7D372 /* EZNiuTransTranslate.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = EZNiuTransTranslate.m; sourceTree = ""; }; 27B7919C2AEC36A1006E07C6 /* Easydict.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = Easydict.xcconfig; sourceTree = ""; }; 27B7919D2AEC36A1006E07C6 /* Easydict-debug.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = "Easydict-debug.xcconfig"; sourceTree = ""; }; 27B791A02AEC3A5C006E07C6 /* Easydict-debug.entitlements */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.entitlements; path = "Easydict-debug.entitlements"; sourceTree = ""; }; @@ -1144,6 +1150,7 @@ 03B0222B29231FA6001C7E63 /* Service */ = { isa = PBXGroup; children = ( + 17BCAEF22B0DFF9000A7D372 /* Niutrans */, 6220AD582A8280E800BBFB52 /* Bing */, 0399C6A929A8608000B4AFCC /* OpenAI */, 03F14A382956011400CB7379 /* Volcano */, @@ -1810,6 +1817,17 @@ path = Volcano; sourceTree = ""; }; + 17BCAEF22B0DFF9000A7D372 /* Niutrans */ = { + isa = PBXGroup; + children = ( + 17BCAEF42B0DFF9000A7D372 /* EZNiuTransTranslate.h */, + 17BCAEF62B0DFF9000A7D372 /* EZNiuTransTranslate.m */, + 17BCAEF32B0DFF9000A7D372 /* EZNiuTransTranslateResponse.h */, + 17BCAEF52B0DFF9000A7D372 /* EZNiuTransTranslateResponse.m */, + ); + path = Niutrans; + sourceTree = ""; + }; 6220AD582A8280E800BBFB52 /* Bing */ = { isa = PBXGroup; children = ( @@ -2209,6 +2227,7 @@ 03BDA7BC2A26DA280079D04F /* XPMArgumentSignature.m in Sources */, 03B0230229231FA6001C7E63 /* EZWordResultView.m in Sources */, 0399C6A529A747E600B4AFCC /* EZDeepLTranslateResponse.m in Sources */, + 17BCAEF82B0DFF9000A7D372 /* EZNiuTransTranslate.m in Sources */, 039F5506294B6E29004AB940 /* EZSettingViewController.m in Sources */, 03BD281E29481C0400F5891A /* EZAudioPlayer.m in Sources */, 03E02A2629250D1D00A10260 /* EZEventMonitor.m in Sources */, @@ -2291,6 +2310,7 @@ 03542A4F2937B64B00C34C33 /* EZYoudaoOCRResponse.m in Sources */, 03B0233929231FA6001C7E63 /* MMTool.m in Sources */, 03542A552937B7DE00C34C33 /* EZTranslateError.m in Sources */, + 17BCAEF72B0DFF9000A7D372 /* EZNiuTransTranslateResponse.m in Sources */, 03BDA7B82A26DA280079D04F /* XPMValuedArgument.m in Sources */, 036196762A000F5900806370 /* NSData+Base64.m in Sources */, 03BDA7BA2A26DA280079D04F /* XPMMutableAttributedArray.m in Sources */, diff --git a/Easydict/App/Assets.xcassets/service-icon/NiuTrans.imageset/Contents.json b/Easydict/App/Assets.xcassets/service-icon/NiuTrans.imageset/Contents.json new file mode 100644 index 000000000..305c5be87 --- /dev/null +++ b/Easydict/App/Assets.xcassets/service-icon/NiuTrans.imageset/Contents.json @@ -0,0 +1,21 @@ +{ + "images" : [ + { + "idiom" : "universal", + "scale" : "1x" + }, + { + "filename" : "小牛翻译.png", + "idiom" : "universal", + "scale" : "2x" + }, + { + "idiom" : "universal", + "scale" : "3x" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git "a/Easydict/App/Assets.xcassets/service-icon/NiuTrans.imageset/\345\260\217\347\211\233\347\277\273\350\257\221.png" "b/Easydict/App/Assets.xcassets/service-icon/NiuTrans.imageset/\345\260\217\347\211\233\347\277\273\350\257\221.png" new file mode 100644 index 0000000000000000000000000000000000000000..6d63592bdbd3acf04cac2af61abfafe3d796d6bd GIT binary patch literal 140926 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⪼-7J8|0#8k&7pa4MCIH1f_Iu2tH*GBd5k&jt9X_iP7WlQ1;8|iAt zufvEX34lJZ9NxeJBNWj_Y3j`isrCRU_Wep)Jgjm2AweQ+2*N>rEBpF(7?l6-c4VF^ zeoEdWJXF(JB5EHBJYIpJ_N&f*IR{4?%RbLG@7x=;UH+Of1wTaD+O*j$CB)f(!{Yrq zDsRC{O8@r%;ZuapzjtXlt%bntHg-T1)3#H;=O^XIj&|Ff^;e;`FkMw%Y9b2{xtlziWawMSzxi@#e%WLi^maXbNvI=S0`|G(H*qyh*_ zhkKPW;Fq&jA|TcDt1y&DRRGfW;uh+^1(Uaid?})U5G^Mi`Q;~Xr;~FzTnKzldVrG7pYz{C zE{CaM+p)bubKO`~aKU1BQ~a=5Ux2{L!%GWq?hpMyb!G;H zc!^WVZv3Vng8x)T<1zY5-+=!`3Uy$cnnGmGkVEa-WKK;f1p&wLBOHIwb`rPNZ+&4* zA{(J^skPX+y(uSk&I!=0K!JXw@dsxHH*1t>e6zR33E{Y)dj-!LJy6$XNb(ei470U& zymt-_PEb;y8A5i}P#?CU>( z{I+4$to^;+Jux%H@Z#t`^S4k*)J369o6hQ+M7f~-82blViyYL>%-VMBD3`Gup1~B8jC;01XzS0AIYm6yO<{M<2UBnCG z0B~gskQX$Lau!@4rOUi^H8q_Jbs*UJ=?FRIB^OF4IlOh| zgO+%`V7N}E{}-;gTO-M9p9mSWRxUdJo!asw(fSlV+W)NYv3PaSMbS6kE=k|B5;Vax zQ*xACaH02#|EKX=)1jt--upA86C~8VD$|-qEzXJsxDUzpv*np;-0$iAo%39tpQ|=2 ze2)N~$?_C8Pv{_Z3R6%$>7?dDGY99Z*`C*hWY|@zYme!zO3W9_CQ>h$qwnD7+Bp|7 zbXNdQ@Z;aKUF@CH7T_f!-h_>$bs$j3EOyp``ChktVvl^{ozT-TZ%#7r2I3;EruFc# z6URoYRo74SM+=~rK8w6BL)=M&ZnVDpeWKX^x^TqT%7G!VF0=_;$^T4s*nlzG@SCo* zgUp-x|1JXUsMI5%8s`1)7?A;|POc#*VZbERhnU@yp;AN85=qB==$%V;>!0LSFk-JF zW-0mP1g%_gs|oMyb((9OW;vxE(qeVi#!cp8^!{8ge*x6z65P(yTyp$fa9o1c!>qYa z^5^}lR6bMs8`=61AEv%2qkzihe=dXQH)7(LEj2IKK_Hij7I=ECEmr!Cn7d5UrYcxE z3%b?~pac{s9?~Tsj;%PL6wIHyB)f0Uvu5|D5Mc<`{;PDZ{#7~|n67e)XIRR@f|=a= z=<5zJiKz1rZhY@U4b!$kujXIL2Br{e2ODeax}(&0)b|ICl|@@D1K?_8FG}LO`^3m~ z=;w<#IRDJ{0nB?a#4E`4u&Dnqe<{umeWBgSd;W+MrEetFP3K9!c0v|hwNPXKw7#u_rsqzYbV|V&!#Zc@Qc_V zEuVL_2qq(&7$Z2Dujvinh|U>J037X_2eyGpUiuQjiKatfV82*}uen5;YTwMH@=9}B zmqYThvDWz+)IJM3j(4gKsozLUjESV-;1ill-}$lKdct9g^U{tk@(E4=A<2`BYd7*Q z7~NJ1f(@C@KI;OH(oQ{-7X|fz76rqpgp@#1X>O}v6)nIa@Jn5S%77=2RVOywuZF-U!GM!xfxxR z9p!Pa!QskOSGojQfxgbumxk^tJ1u~*F@32rhswNyQT+dm?L;{U{;z?BN3z@_04h)P z0Q{)?KnME=RV6>O`4D(GB~}_;_d(q6d;1ef1ocjf;65}*!C;&Pfki^q>0;Qq3E1tN*mMaPsO;zZAo;; zi%wuzNcVl9&`}z%lArtq*Ep30uXc3)1ec+j+##E8+0=|~Bd}RQB9-UHSl0k&UelON z`B47SAosz4p}N7T3og1Ox_uKT*>eMDwpDPhaJcWY`fcPlHuri6ITUDds3!kAP|1^R z=(lS#8(s4!dBp|1f4>R3RaeXRmXukmMPjimm}%&dtc1qL_I z`uj#{%elP&6MUlF2GJ{ws&ln)c<@FLjl{3#d%*c;;Hn9pwo2icf)yDYmgCpzIdQ1r zcm+P(T5-qUloi_R{(T>lt5+ zFRx}JuF*|w02DJSd$?hXZnUE8zdVi>55{Q6{;|K5K1Ww`e-*rKgWgCkUbUR`Erjs& z-_mMZPt^^u=WS;-imgDcaSO{ftb;3+7@BR1(s*HL)&k+a+W5PZbyH5n=EqqYRh+^r zUr{VK;7*LAp|W!>&u<1Q^x(v&CoGMJI-UkEt;pkVN^CGY4zlg%6-zHReEB#YWqP4C zhpw)95YY*Nl=7hyPaRh$$m{17&17MLf3?J7)^>tS?wIegD)o<<9)j?40Wp z?m&xFZ2y(c99yQ?>D_HF*D9Hwq>uubGAy|rRnzlb+ePAVzFIj9r3(ERS%?Nkx(h|? zU5Oer-OKNiopXOY6*nR7L4=;*ivr8{s-y>`Q@Q|900d+LuWR&*Xsmi%N6c?87iQLR zv{F);d4HtLhj<4d;9IL)90|rN7uij({|SJ_x**hmGAgWoMY#AL&Ac4u&1Q3SRw;hp z8;WX@Yb;ezb{-S|X{WiHv%)#^{3xntOCzE4!KNuCVNNtsl%qunG5W|1Kzh23?9WZ( zy(YzY8c&fC?_UD_^iv`v>rUb}HbF$Xvr1UHa?<~-w#1)yRN?yqiyK4=8kdHV_nvo@0iv&FBzXpe7g`RsS`^#2h^~sqExG1J# z`JChsy}TcM7tKl8++8GRp)xNSN1>ZIce0Cr7qpEc5I!kX`=BrSs5?h-}5f|ni;7Rc^s1bi(AjmAYZGWccBxB?*^lC%iZ3PY%7ny5( z7SPEWRbkXETBtN1%&#UzY`kl}p6AXg&U_{J(-Mfak}pGa`98$#JAD{k*h}9Kb8YeY z%;Vq8V-}70MXS^hh&p~r*X8ft2Ta| z%isc6YYe0`z3OG90~)r3ken(xtoqUCJ@um{_}*?_<+QD{Qd|S2g9T*|#pK(g#KLqn z@`mCHI=OP0=*FHWEUUzm&E^ziCWH;Z%<`K?zyjAy1-rPYdlJiY3Kl=PqpUjJHSg+o z;iwR=>iFcOv-#~siz~8tZxsX9=RMEu<~Qe{ zT-Z*I+FHBPl4K>^P)DomkE6ke1)Ft_p zXwxhoL$^;e+}pic*R9>SrWjy-R^~_{j{&4UrRQ!YrELA#390jb7;s)AKnr5M3jZ)D zdP}_VL7>z7_+h3y4RNC>F)Q}!Ec?zyxvO8Kp0uxr1O5X^G#w4PsKfviE_M3So-JGT zr^FxfV-pg!@9*CVHoaR}b*Rnq=oB z(V=V^Y10D=fTxRmJRVcuAc`Tc4yEi6C~X_Yf^HRvBJ;gIQEzhYQJ>gm6p%4{ZnLd3 zc6@sDU=NN`m1_@=CE28x!8;^4!{BMx2Rb1T1>8I+_cm8l{ABe>4V zWV3Y;;m)d&!(pp{S=hj?rga1BSTrfXMH%MHU8^ljhlbfT*~d z21okHDiQn0jDcA9s6)Hs`i$2&g<}7}d*JH>+gLtAt&I-yBtEE@jiEz^=&EAFKE;23 zR4n_#^&V>#$G1ZN=sLoK&=G}usVXK&3BL1w@uFru+h zWxL*6Q+Yq~&k4bWYLzu}r4o>5Cgsjl6-ndhKO*jGH4r4hxD!6awkzsIA+_+pe(14&k}Mc`I%jp%x5XGA8YP)=@klvPL7*pk~Nn zdZ9g+{jpQo8D(5MFIEVvgHzq8eD#jw9=lGn_&5vgKC~pVz?rzlK}eYNjFlGDd5p2$ z+DG)P=5;dUJL?ysNJD=)q<(_5CG7nXs-;I%SESjRFrM~pdY zD5-+`&LX&NFKeW6rKUVLEiEaG?248f-K#E-?KBF7s;e6DkR=NN;;@9B6)UGC1QRoU!-h$3_egY~(e;XU}!BWY8gjb?Geld?xe4#2L*wD?G$H z{hJHlg!&}zolKbr9?69r=^Xo3cA~t!Uj(eXF72JKdk|`KQxwziy@yus!ZzY*kIxGm zUVmEt&`3B5M?Ed$>np;!h5?3&O+BjJ2(Y)C#Jtd}VvWz*jW>%OecE!52 zUnbVQNAr1k^?MKedMay5f3HtI<+`6N;^EyJMDhKdbnEbvzUMc5^8K?Foku`ti6a3+ zLhYB`DIybM*suX}WCfirF_xE#?}_E7Y9ryP+s_(%>&c^y33mz6xm8g-I^Z|g?eSNj zh6LKkv-8I*WS@L>JWrn|MG;3M~K*f?P_4=?%-gA6Ax&Uxa<{Fk{`W! zqB3iW6?5J%D-<4YNiF~G1IM9;5e0W6^PTtaVtt2He4_uHfgkpDe)1jmU44<$eVqBQ zJ~y8*)3NzGF9p_3ZT=$3JIAad=*FwzqCbY6#dPhcRn_B#C8aj<$K-Pos>D;+J5u_@ z&H9LtkL4T46PvBq3uPnIBJwg;oOF&+VVkdd;}Q71!Ey%H+f*Pm5}Vs&O;qKIDj>60HiL7d=pajOE7r{woF`swh; zC*stOay}?Wi(4^b8Neln1*v5>)8J)OdV>EIx_oOXi;j;%%P-#pPn?m2W{4m-?2@*e z3n1bukOW?yaXp2ZjEr~J{;bGS#)Ia^2M}|6_zozs0>jp9nUE7IAC!u`gG5?ckMu@? zBtOz&bK~F~!QEVjwO7r??*9^g^7Zxc_@pHx>P5HAQ_oGF28V<#CQq_Sm~H^^Ka1eCGtJ-;V^aW2`plvizK{psSN zJ8ztNNp$be;@sKfsLNt?jAd>9>z&JyNZy(1AfQm1=P-^LiK#%AwLM*feA-3bsK_}O zWHdheuTkSJd*P{g<&xKo3LfU-EydMi5kBZlaG4B$NSVb#RPiAE=N$|892wXEla-WWdEItd)75jsPZAqZ<^jtFz;`soLwkRRHOOBC5sf&LLQ zWVzF6H%vIK(gok0kk!$cukX^G6!G#5TE*8Z$Q2IOlj|Ft0Nr?s!8~|c4cTgG#{^Po z{rK`OsIo|odZQ)_N+a0O2jv9D&uYeli%cjWDF@Dbo@O|BCUVH@RNM}*o`iVUyZ<=K z6$pAN3|4pc0oymJ1-`z(;n?DId_DsbN4ekH!NGO4oM(H^i|HLKyC0l`b^jO&oqIKK zXHR9o$SF4l9oWI*%T`A57y+iH47yx4RcyS~>CK;}-QKS$I#5r88k?#@o((7w zHiuPEgr~G#rtD%^X)OY16^(_wU$8o%BUAxJp@gr#ZHl--e+#Yd4hISd#&qKlsJv~dYV4pMn8)4=TXUk0y$nE<|bPqw*6H$zR>|z){4)+ z*T1{nc5Zl?HFvo0baT9=I-wDsXutaPgDm#;6#bz#f0ExMn43$MJG%Pi*1+ZTB%9h^ z(|F>p2n+bXbtl>6e3J1HxzauWkyLyOkOijnJHj_Ie-=(_#yaG|7oTRI-;ir|ooIpLkyHWX{ zwHLpyChvLvZiH4YnSZ43HuBjr!`3)^7y=`HgP_~$LdDg3+ms$O!##msbruznme}ZA zhs3rsZ^85Gnq9@#q3%oK-qbeOdChd}pA9hY(C2IlIfZcs`;iAgun!lX9CEU39s`)k z@h825U6K_MXZT4$Eaf?-3^imbkUz7LRqmaKit6Vekqo9I4cD1Lr^#ZmEtf|-l(8AoFF=LN zMNou>1yXUTPpp4{Y;djYeG;}J#Itr+X>5G@JBPc4BRUDdocp2y!zpo-%|GCoXkFFx zs0Hf%>2_VdX1nEx?AI!XIfIgTpMDkmIni&te_2}bp6gcObD&rGtfJi8Z6Ij1?}Z*j zoyQ0OUXa!ALW>G%R@V&Pq3`Y9%|nAp0^^#Lp9Ph%dHm#pYBs!Sv;G6LOb=geSl_Ri zy3iDi^YOpZ#{i%Gk!t~A+pUyaw$&0AsOxzk;sMV~ za@KVfj%dTaZDWnzq5!O+;~ck@v7j^b{#jm zayC-mXGU=CksW|Xf@96e)PjoDY|7L8xA~E|Dtg=Wd8p&>ft@qQZj9ProH~~v@}iZO zYV!TlH|gE(i#RthhKfACydy#+TZ2V^jkigVvX40JmiN@X62TpLNf50yDM6qp)B?0>u-|0r3nN!bf|n?tL@(Wf^>GGL^}mO z?p`2C>Nv(m#%ddiSo)QuGfXv~@}D6Ac2@|~w_J8m$yh)piKq_vURb@P=`j9qrgtuzjPS+~{ zGsrKaIJsbM+Ko7?AJ3~1y8rAa@gV}4-6L2em=F72Xms&yQ|_?nd=`*yQ4-6yadFRy zTi_=G#2@e^KUyz-rE zWPFs|v0+}7FjM_xGR(cq**!_>ENgk+XF-`}JKU#gsorsFxFG;3CZAgHkyvCH1=i8% z?ZWJQL7mb*>`rHrBKK5#3{&&5+P#|=NiHbHzf{q#8I5)yPwJeoJR-eXmIm%$?oKqBW3L6&7}<5w(j2xo^Sfa zntCRT>mH6RdxRMA@v||$tluluz6dXL+DY!4tws?yRA}oK%~PL$=_wNpb8)sfyJ_1b zrSO9?IsqY0#js<==@wiqB66rc0RS&@S`O~&3gDQUZN{<*Nz~q2EYb~rQLr*pyum4I^{juGg9ZDUw$gD`0XijGOT593AV^H$-h8Q=Pu-zS>HFq83v#@t)ore3$rq-l= z>ueSq@uq&}2S@Z<@GD2gg5t{OSs4^cX8h}*7@UqUP8MsogM$QgXq$B?ob7^XQDQaJ z`p2b#N=PEdJ7)|t@sy`V{WL^N*zbsR4fio+huk;web9sp2SBWh0MKdlDX5{#g94m`Y=({%Yxa8hLu%#{asWbrvZek;Nzefgv&4UgqynQk%9%a;;_<3 zz@#st6iVlbgCY__vV!>9ZYp0_;J0$15^H$hYk!o0>G%? zEjJFepOdA(I)+xk0{pahtU6JanU0y~e-4}?_#_gTHj@?SP6y=r!O#2}TY*kNH|I4y zncvyT-_dg~WXC$f8*^ej3d?t($M?Kr7Ux9d8}j>UB0vS=mWep*XrfwzY39_Qv7tma ziiT|}2O&Qw{QX#)jv~&!{))Y9FulVO&~V9?#Q30@ik;Iz#TK1$Grsu-xQcvg{S@Sy zx&9Je7QJZsxB>X&>VKci@o%~@L4*-${G0(X@)TtFUnpEFJteD!bSlrH6F3lV^pS75 zUR9>(hrzIhRx}E>m$SElzVa8MTe=TxXzCM~cIZd#&MMP7NC88%iM+4QbXVDkiTeG#(<3ryn6S5ww*tkEh{WcS zqWcE$9lYH2XQro~91e%|nWJR=!iV0St};)UYhB!rUX%sCztErGmaC_3UVzhqabw3M z#nH-dPolwqDexk}403x|$fEKEWa~)b**xZ>6>~_jB`DSCaqo&D*0uwUxIEYm<-LR= z7iIIs$N71FGfdC(Yd)Dx|5!Bt=jn%G(dNnGfp8uJZu(`hux0b5Aq`jNtop~yf^o7p^o$|oHdWFluWQTC& z$yCC=&{&)!)NU&n_`V+!@SNB!j@C~^N5bslly@a@i5%M zZlv+0nr0wbE?~+%I9a->&v2(0%n`@z0hK)6>06T>ea1ncts9gBGq{r83>L{qMLJ7e zD*JmMZJ)j;n+pG6R-gElQB1lH!iQ#KWSp>`lbe?6@xMcpr))(N^1)=b+LdwXCUt*% zI0GA{ma!X+=f|cq@ui5_TFyU?)X2UR0Ys$jxJb*%mgdalul{(-@v;|Ij30$~g;(Bv zki;p^(%~xq>sNq>r~}J`V8aQP$4r5$xhMSvbSXY<3XhpaH)Fi#kued`w_NEZ24`py zC{}_o`{$l)@L|O}4TXpJj*K-(rUM0Z@CRQsA{?Yr5+VzWo{k7O7Gsuf))FlTESa$W zvbLDzn?c$5l0o<&1^;weRVTY!+zeFlqVrMo2gH{*2~(o^r2vn3Sq`mG*sQnFRgJX8 zcQd7+i-guV=?dv$ZLfaXS2ZO?DD6p1ggn%cr?lalNAZ-wlMT${pV zoO9Vn<11s9PMBMfwP)47&~p0YLgQw}Xsi>#Pg(VFb}h3pE7?1+ZB@Y<$C;&yMS#BF zZ~_qeJ&O5rcA1xXavG^cgH?adR~p|tyHB2-vlF;aJwZE)Gh;@EuNn@gGOb#-1>at= z4>C7C@Xj4O!wJ8cj%fXC(A+)z=3Ta6OC2EwXjE&_tomV+qNZ`o)iaU2c|2pYUbMVK zl^7mT%29vDgni-_mE=;VXD`g)r$YzVmKz9(8xj&UZuXjv5HH6_> zYKkqU0Ct7aBc1w2|FRitf7Wo9V(h5n z^P6bbqtyq-)KR8mr+5wVGgaS?USREc2vJX;J;NM?vSwcdO5UvE*#G*qXC?9Ig{`cA zT{U9~AF7S~%-v;6W`^#vyJR+B=sShHi-~D1^5E;97G;Fh>@-yfEWH z^9lt_>D4BsJY-e8OpvO)DnHHivKOIyn7te35UCw)IEk1)j4F;lKW{>!iyS*3{D$vW)LQ2_cTNT3!nnX>3`AL9cNmJUOU@(zX+Cd&# z%OWt+chdlANB$=L@F;85wXz_!HPmH`A$lCa#QQ5{=%IzZWkvb|dq}^n#D6>?kz_UnCv zB^#E%!NYb)nd6e}4)Jtgje(t5f}y6s2m{t}^0yiIv-4%S$p)&R3_m>6X(UuHuJkJLTeyp}8T7Jd zTKh(jo?lbhv71J=3vc3P=YZ@?ZQ{?uF*to%I8X__Bu~Rt&npJlxa%0w5&9VhY-W#6 zTOLjc)*DSViZ&1z2LRMW~CcDn8bP_)flRBIQH5EM*Tn0*i*Gyix0-u8! ze#0`Byvu+W)`=&QmFn@jrQKM)*qqK)?;!|K-Ab7VpCz1lfzo8mRJ4$iv-0-8K&AR` z^(6|Fo9JHCtk50qMsAq=ovrML)Cno6AnjP*q^H0H2A7nWWS1GTk0 z1iy~PwwnKI(-#FQlPO1nn48K93cTiu9Sw+i6{BgFhXT|x_MM2M%9{KiJ4PaWBMUth z#KqVN-#uSmYQgmIBqZ@BChzgyUuGfF3+bdN(Uz?zqI_FZ(b}AuzojaYq&N!R1&iK83 zzW@CG@vrASU(eU``FK7a&*%Gfb>nSAaq#YUYh!1AUst^nlHi{Yf>!ao3r~8c1Yspy z-}ejjuE{ya^B$a%6UBXYY!@y#Te&+tl@mM;V|q%s{HI!uc*=3yX|h*Z_~JIoxD$9l z=h>3~*dtP_2e+yr!D#c{;a{xbxK}jL6*PXZKu3oWQLVr}C|;UgBbi=Z{sjHwPj})b zbsoBV82DVZgUrS%S>p~eGcEZgjy}O3< zn5VApeNSpi$IiU??L7FXx(MrV&T}pY5!PtbC$Rs#JLk|iR3R6nxmDghugjDe|p`WR>x#!C^Ni_lM|GTA7N09d8J9V&BXmE_}cMuMsPxZ zd(ZIZFUi>Xr^1TXqWa_8MLsvWHYb)^2UOPAYnfLXop2Y(%D?_%v@F~#S2CM}atT=upk~TV1xWZ_ZwWDnKx#M-XNVxUC z>{-#y5MfbKbL3yy2y^C#9;<8Fo3;t|M@_Q}n3JxP$Mrt>k35E`i^je2?pb>D_HQo_ zSzrBwr}_}hS^^!;<@yMFG?r0ielvjgg8>wzvULk%%@VXM*JadcvMg@&R9@aKSDejz z=SaL5F+8&)vJB_llh`IdTMTtLW~A+4>wm4iCM#pVNA6zLX@J$K?4KSy(2!m=gB>ct zRwrG&%Yn|6r|HRE<7gckK_} zFE~{VsNnfcazD|Cm@gP#L3?dp6^7t#Uweb`AF}mc zTc^GTU*m(!8jh7#*MnPMoNi7`y2R2b=jVBZ*+jT>DdBOdVD~$18Oz_>N+x4G#mXeZ zIaJrF5x9O&uFJ?wq{fKIwKA%jL#m-G93T7)k*McPx~~tMll@>mC6^PermGk@Zw@{B zXb)9;O+*-_8#AYAy*I8f4!atU316v|gs0Wc9y?Xom9rPy?aB|DDQH>P9X)&CN$2fN ziX2KP$)5_|7!!>>?wgcrE>nEIxH{W+8eMZ=>{Q_tPOv6g)R6C~zUQ&HgZ8e-$1n~b z=XDoj_M|M)niaWMZ`S(xP4s|lP9^uEG8ZPlh>e%fjrC9$<@P^II-h@HM+kXrXN|=m zSxix_=2x~klI-zO7kVu6l?v}lWy@)EOmNi&EK4pswP!62wQ(zMPxzpN`uBwKuQ7?~ z3=0gIdt=r+S2rBf1;!nN0f%-)><$#B8_z<%Jw-w6gDLxorPf1YDfL?L+AF08Jr`){ zzLw*7-@ngG=PVDGmUWVpuC2RcqK1KUa_FpCqlJB^13&lAZ4*li>@y;Cv)Q#)bteZ> zCUq?k?Msx2&lNK+_Vc*ky}_?Cv2(Z|(O(j_6|H;dHS_&JV<)}5lke7tm5#=u_iGZp zX+*_B>5-Gy>HWoB@D6Y5`cAl(n5@9_l@`GjJw^>DN}VCgaq#%tcl3E;(!GX@TNHEGwqA&*R@}aR37S4* zEBW=eS3=e94lj`TuU55Td)7V!b2~)gc@N+>+#Yg@ zZ@~F`NZ6LM`fTLYu;Hivh>ZPKh+45#S1aQ`2G499q_a^B#?g(2O#`k>8TAV_qHd=} z*>)N5DX?+Z;rG*}bvuQ<3UQki`0nIJY#D5}|FEaz`TD6DnBSm@148mH_d4cTC2W^H zh8sAuKT2@8gOrrFnD{7W%Mv!YzQWbKpR{QDZ0>bK6`=$Js<=Cz_6C~I>6~)^`rwS~ zHA_-un~M=7x+3Lnaa-}*yU|H2HZKp$J;yP##mXOmm^RtNQsmcWcS*mzw*Q9j>tJ3- zEfSV;YCf!oog}nQx2BtPK|F>mj>xUB$^91Km@u;FazQPFuprMRt%=IoooVGJ*@@Ia>jtUfsv7G0n%U;OJvNPyf&tvYvOVY^CkzC%8um z2E{{A(b7&YxlMSAQwU`6*JXC3b(5^c)3#@OeaB+IM?2pCkT-yxF3a0Hoo;NXZ~laz ziYR;8*DGA5?FMySBXBuqxp8sGUp@|!1Dn-WdPqAepsi;OKgq>V>#*oeybHPE%|hS( z_2fnQ#UX#6&4t0?W52z7;=nx)04qV&PLtBzb z&VgaodYJ7>bl%n4tl+Pf=q$hcREw4O6oSg9uILs@&o@RI%RA*@AbJXDt%T7l@|sXv zW_AN-+RMm=T{pilL%rRf#~aPZTjIv<-8jfh$L#yeYvU4@w2?!PVP>0gznEjs&E*Em z?L;@HKW+KSFE98Nvl3$5Q0N}n%&~&)noI*OER!AMs|EWs@YO%|8$D0UXTX1D zh$PIexR{^v;iT=cVHFz}Z%om+8jmt;C60b|3~!hC^HH7-?Wtnk-4rOO?-CnZsiPxL zpIMM+1GUqsWxZ6gqKEyzhWXVU_g%Iwr8y_=TdL{p9}%3;_x6s54&wjrPIEU1vR?X2 zHQvl2RR>bykP3`rSr7njqR4PVr#-DEwPX;*^9EftTYD2dn*%=QL9^h8qw_F{`R@)l zCRHaw9uO{vj9YA%?b0_odd{bw*g=+Z$Ejv6%RXJ)-e5x8?O1XJxn4`m;;)vjAisYZ zCui+@`~;FX8e@iFTM+JG=i1tC7TEUN`Yb6=y;c+GNIym$U5uivNpRfSx%h%xK|8%G z4aMm`{KZO<4>!)4cwz3%nguOkj8RUft_pqSN5ZTFk9b13L8E0 zHpP1IT$Kjiv0WGw*?9b{3VpV+jUfE8C#THr3)y~}lD;v-dN`)!ePezMG0G=_W3**$ zSkFt|xr((Im+1`2^)?EQV=n2^eMzf{92!j>S7!M^y$0lq5oSfvBFGTa9G<|SK1YHC zpkEcK%%y1pbIJ!f6q5+)8k~5v=Gh_3e8tQ(T2l_o7cC+fi!nLC4*YR}*VUH^0`^sz z)B7HvNma~M-Z=9RvxZ2pJ8TsDjwe zija%!Hp_zGkVTy2vRCVLm$ z38&19Q{En`8!+dDzPa6uiz-N$;q$i_SM|P}-^QU%y8SvZm!cml-Hb!M)olMND6bWH z)N1+u&Dx{y-uTo4M8M*D?mzV71@=w0kh)hv8o|R8s-fHXqX_irvnrz5>S;-UnY`8? z3?~(AoKSgI|9KR(?#JT9nflmS$eQ%`cKqWPXAU16mK~-5Kt&7?QmfSy2DDc>Si+je zzXyA?a1Iq--TZm{H|$&HoJ(bH{1Xh4R!_#?^aS$?DydW}ClH$xb@$C}nUHLkeq0WD z$Z*h;DBNqJGRg(+zhTwJZ5QAk^ew3WSNuelO>F-71U@2n`~CsdBSD)~>XitZ8YC8Q zW6SFQD@q)yD9GtbSWUo*)Fkt6 zn4D~>wTde!Hj*rWp<_S9;a2rh11EVjiklzYp$`2$ytZog4NysoX<`xj2?PR_n3EYd z;i&R;K9>4ab;0Y#!o4B;3@504g7n%{hfif1P$k2CZW!!E3{3@oJ__Fr9ojr8ZJjXj z7bn%ms)9*w|p(^hc)+}@`~9ZmU>oIz%@?yJ1uc~i1w<= zz8-=!oq;PX&LLjRUU4A_i(8-Vum}zo3J7}S49M`y$BDQa|bIdH1PW{I!j;k%=;^zb_2Ix#tV$R$mW2~Wta4)Q&TJo)}S%g zF%8wzFAxi#3Au6jW3v!r>~>XbZR)_MGH7LNyKqT3i@z&6=_%<#wSPK&cAc;1MmMbM zjrr_4T4q{wPD?xkY;!o^53~hGHN~F=204QJA-KQD$Sx#ocH%$Sn0ZrWqb7a1VNIMirq&+5 zK(b30d;VwAW-V-9%TA%ggb{aMDCeovct6bc2Gn~1iGoT#s;%Qs=Sw*3rr5_;SK!3U zSmVtfV`j$wbNQimoq%>4rO&R(PNmwtBQ(7rJ-=y!x_JIEPHO{}z9iDTo7L##*+@Uf z`xPBVb8ynyI-h++Y^C81SeOY|SB2<0<9Yt^YuoUCB1R5jt33l=L_E(%M6;(0YQc(( z*B=pIR&_Tc%ql=T{(ql{iV!%;(Qn)Z-2>g$Uu}zA15({r|H)9N`bHiO%ht#o+93{I zaJqn>b3NLt`ksfwIsxm6T_%vMtI#gTRn9vXyjT}dAJlGS=VQfl{|1I^G6SDQ`82e5 z-0O3rZ{VcV$Lw*M)3b4Fd_J3-O)2V#@V4f|S$`hkZUsQuU=tncXYp3G0jMI@y9UGA z%trrtJOYZXMp9*MiV*Jv5k{KWG7I|H<@n#1gS^DdpNf3^S?@>R`$f4lL(xO|;D{~E zw|*{{&l;gl>H4-rtp^4}5t_{>K#WvWXCOIx4{d|3b-?L&qj3hYn&LuEo^&+F6#>g4 ztva84nA<6R1&HC73j#NkOB+vzpK%Q;*v z+B1#S>jbMj-NCH(wc3={kOeJv(?Eq5@G5 z0XdV;Jp0`+R%QZp`SIT3L1H0dcn+)Ru4}Q$l{#T8)+0F*8dBRda(cuqLf#|Dz+3I@ z#}1>L-C_R&FTnun-lEB**CZu3^p!hwl<5RMr z@W?Z}bgqiYN|~AMkc+X@Q3D(iNEg3u3MR_`fX|CAFWbvEppPuFXQKwH_6Wtw z+KCRPkW(7kYe5VTjS>P4&w4Jpn8ZanxUK}Csc?rHdE6E-%`g1J^#NO+mEmLy{P$%% zF6K^c1*e}~t)T7iZ_VfxSKcO3Tf0amevSMSy2U6+k1p69Dw(d*Umv}qa_Q4t_b`-24AazjW!x|4W z5o{Y` zG47ypaLDT^XT-3#yC~hehU0EjwqEK3;QnEICtyokK_w+;?1R3uk+t^#ZVdf(_-=q+ z%Wm4|>Q^u&tbMGeq!0=cN^`71TO7*jF!5{G)NwJQ0pd9mF;pN&HA+ud$J;UXVx|p5 z-H!R!%T78r96XPH*8yd4|3>V%!EqDz$I#lA1trGm41#N`=B}bs_1DX`r4#{wGi7!dNMw5fVSH`M^wvU7P;0|5(I=uR2WH!LB~Ot_`PgiJw)CasWhKmhhYvdKzY<<+`k>*adB2AX}Bik*5GOIs_Kt#KLW-36OF&AUa$#BDIE^GkztdYVw{ z`x4>(w1gUuCz4L-*JRjiXne^vY*; z(RY5pUIRIVnj3|F>33*RLIZGr0LtwBNxRv*!1(ny$~ib zeEqTYMHOG_g)~QQEWB1qaxnFn`3VmRI4oRx$jV^}y@IRN?!UY^I%U{v_AUJDAA*M= zH}baSY}GA7xNiwgGpP@m`!}gI7x^z;D>Y2f7AdyFx@g_+?`RJ=H`DKt>w0#xgQF4` zZ1vPG_;hAwi-HOC1Rkvv0BwBRi=E-AkCMq!IaYB&yzxu;BJC%P4ib4sJZMmnr*5kz z-d?cabZD9e+7k38)-3p}rTbdOsx>m&!4{i3vC%;p6!`O=YEMr_@%XXiMp}eBd4LO7 z+u2Xs`%jmU$d3uG@MLp?;xe2wQ!NOMBug`5$akRk)K;I8T9r5CM6RDTB)r>Q9??2PCuY6i&}zgz{EXspHij3Ck3X3-9rVL7=bF&KcTzCB2pX zy^&5KJc_V{d-+@uK@l~xcvKPeGAbA`iS?HN*#ZcJW2T0HdX zJpl-k6~NiDQhv7M@le{i_}%Tfnl?NjR&U05r-eFANy8E&Aium>~#^JZ>OU% zk(Z#_qF8Mca{IJ%W$D>+m~q_(#McR9vDz}=c9ItM4Ht&evp?`%idb(1uG*y$%H_J$ z#!appGvj^qS)M`O)cJPaefwN6lR&XVG5(MVB(_5B=0fONB}1uw!$~Q`^CBj5EZ=uL z98BgOlafFSMmuj?digqtZZf}d3yK|%>MBL2L_*d%VgO2}!zB0a@FS6}vfa3%=DFm2 zmh2_()dR<|f!4kPYQ)o3z=<{QvvVXT5j)e)J9~s0%v4oZhx|A2OoF z`J@;=*rY)61^>>_D>zOta65`68HeQBlUuU$Q4P%mYPY;)!IbsvrxxO>sGuRiBvfZ~ zekNw!U+fGUSdY?c$t&z-0np%Zw{>7Uvl%ZobrRVHB-Pu>I|{kjx69by!&xUybXxIi zAbSv(_dF#1n#oP7eD{-s9tqXsTseL+6yIsIv^wX+N@?b|Evs7ta#Zd9q0a%I)J?)w z7dX`5S?aqCTUr#Z8^TaWGh0M4VS_=nfo5e5^PAQcrykefqZVY`AUcp@E*G@y1m!AE}OGKXxYCowme16sF@=I zhr>;;{x2Htf8x5SOG^9`uteM;u0jLJuiE&7METJS_vJ)}pBNk&DbJZ&V^N!%hMh)> z{>Kk?{^)0vWt(E=oZSO!?RxFEpUwd+zUvodE|||5yUBaFeXx$#+-=-D@n~z9)b5>& z&Jvfkhk-ARNF{Lmt9zF0%AO!M+?!2W_?&XS&C&5wQ?2$PLg`e+T4tru!=T>OdptbY ziLwY=GLDLY>BS1%ed9LqZVcXpdsTG4M*5{)9+}~Ops0lQVuvA_$~wuuu(03g;8XwH z-<&k&_qrfXXLL~cate-XGFBkk`)3m?b5TK?GsvSLB|Fy5~d86M?{Gi&w{ zg1oNMb`J3}4AIZ;NAb{TsiYqQ?7Tj`dFtxuGEXf4{mti-|JJy}#|dGwgx0XV$k-Md z0PzKN?-|9i^r5NhuqZeFG*H{}@J$VjnQ*-Tv4rec5g+?x~fQ5Y7`) zs#wHGY>!hT)ttDagu{MVM3d;oWG44nj+g?eZj7a|>gY<1b3m{I_;rFVk6W*GY*96a zRfqO7yTHyxROm+wY!1%Exim!E+3Tgp@wx6+<7}t=cHDpD@yW|yws9k3 z34+e8F>-&{6P3UiaY#3CdiW*|sFc(96RhtskSIY^vrxlQ7T&X?8)3q18J3Eo}LHo6G^8YRbt&dZ0n_Cz_+RX2K4%` z9Lhnk9l6~t6-~vO$jL|f8C3W&=&11QVIWrraEAcG`H%~jF(xt?ZY{pngiI}))47);Op6tN0@Z>F@58F8_`FWeeiZ_VpCabF-_wV878fDKi$x;Rrj z6fx|$P;F6w=*c<0vn7c-jlzC^Rbaq388#Dbtag5mC+)TP&R9u7=k_~``;I6Hyq5Ee5&VTO=VD!nfNVi5a z2i-$*s_U``Xu);(UCAUT>LMmOJPljVp%3I6jM?%uKB9!SM z5w$9q#H)0W+e));6v7mE9^aJGf{6X&jX}4y=Jw2&zo*3~jDH=C%-1BJ_{^~vz&d5y z3QsayV)Cn>jCg7iS6o2!BFi%B%ih;_{k&{g5BsIG3qtv}9?R9gx~=NaxzjEK0?Y8V zvE`mWH;L-3x3*2GKJ$&hEjB49xb~p{tmt%qMi7wnj46m;Md!Gym(J2&oea91tp^|4 zv;cGqwo~8Y$8_xM@A34TO;SKoS9>i+qjIo2Mbpm~)JEH;-)G83TvwA1%L?RqdF$Gj zM>fjq$N-|T8VsHwu>(ocUUC1!(uVIt$n(~0G>4_^7By`h#kI)KT~!|6tsQz!9uJKeG~I& z{u}Ym3c&tZ~7MC#b|htjnW9aVK%_D$;e5-cY&{yFwQJeMmKavgYC+{#@D?VXU* zSFxbpjzy8Hhnmm-&!%{%>;_cbEtMR0;b;BnwMZ051kRlZ-~{G6wmhH5Qxt|0`a#?> z;Z^u2FP<|96aP z2?$Lw&15}ELpNU@m}`8!h@^GLfcNtI__rM$O1$w#sA_4E7>P)F2^&L|{yj$-b%?-R z&8MN4=%SqCLNtNi^nG>PyGC2&m8P#QOijH>*5@`9@wk#58JE=l!<7C-p%CnBve3NH zlE@aX;$Ec>novG#5ix)dMN*!FkJ0wFU*Mt>(3s#UjtuwLVmk`O7lYiULy`g#IMTQ} z6;?v9C0eo7nslp{Z4ieqV@IjaAQ5Y&xdS*>xy$;{IJvS+Nw17w-oU`soG(f*RRf58 zcg)gnwt}u?Ly5;KJ|tj*sX1rUi`)x;e6t7$e8IM3B3QT%Ns-{Rn}tZ4hM&w9ZTd-nEz>0ssnAb2cl<>U{bWKAOyla7V=zwg<+78~Ws?V9e1G~~w{k|ooY$ta^lCUW1U zKFcU)2g}F<)HO-5z4h~~kiI(eu(*t*Z*s-QeqJ-J^m<^rbA;D(H2RQqhfnePRUm&+ zCjDmgP2RDLYSyPPxBxNuQu)o!aA$sufRyz$-l34)0qkuRc+^p}!RfPlYglzJFdk!` zx+`CeCqtWUqG9Lv6a^(-!XAq`H)f#xZF&QwZNSAfexg}HU#cO&*q?8;H>WM>w>exw z7`Vt$4^uM2zmcqhGm;MPtxfIkaH8x|TG_e2*Vi!(i+EyIERm4SXpCf#5zlt>f)h<;G*G4-ZA_HCs{^_-~|5#z3?0cH9 zn(w64RJ*_4+#fpf>Zp}MH&8JLo<+_LZxCl@zE*Rnz1VwQ4Fl-Mhw7XW&=c-JK`Ike zkUpOg(dV>cP$TI_psYu)N3BHxl{XPLx8cDl?_odDaDYhDQWUycwLdq?@i?8j(=6HV zx-Eh>Rno~M8X@O|zR6#FVSB>8{oJ2lfmMe{-n>kzp7irs76~7tYLvCqkC~sRG(Uun zH#?-$jRH_}HFj2UO1`?`7DeiJDwMbW^5y*lG(A(FL{X7UBCCO-F8FWXyIXfnW9Zw1 zzTltC&T7a<5p?Sk2 zzUg=WF;@m+7{3oaW_YueMyxTomsr!RF1WkD<#2|6B1mPPhnUHKT)4-rbvm(n-}w zquOg-Sl=J-QAZcOj&Y{V>j`fYT_V2SrlTEB{qa>{EW;P}yLRthYt`j*3$ETdCrQpy zDS>+4m(OZDpjUOs{dkw$UP1M@^7 z+9cUG(>ilvjHk*sak%a0TF3dVvSZC#A^I0Qhgmz=XXi>3cM02n`?+cjR#ztfDL`^n zU%zm^0FH3p&hfnJJ#nu;q2VRzicBvC$-dS!lE4`!Gq16obHX8&*4bDQ=sqyFwY$(i zmwhvi6LTb9e*By=sJ5<~$h3H(cEle-wMI|gzGz5wG={jeIsAJ#`vlbD;+01guQf`X zpb5YJ;f1w2im~1Fu9+OpkVP&%I>}eaD@M1Fj+PF21nzuV3li{&sJc8rRGDQOZ}eEZ zr{=I}&5}{wihKRxSkn`E{>xT%V3kBkGb^&_cROg$R+|Hxy?u|ID)dL%p>gN$Fttdp za0uI;sQsR8Y&vFHelVXLq3D`_CHQj_PzW?*3(h;ER>2+UO$Vr#^DK03HwWqTPWmz# z&Ypq40d37kA^qb#JfE2D)#LObN5N+;c<3^c+2`wWzn|DTDS2zv-yh_v^{-Btz$pwq zj;y}?n0cH-H@%N(G#4CEn(#ILmQS`}2=o?_gAnqB>wgB)SkbE{Ar|uo{u;fbzqxSn z>z2P~Uo=d9CRC$}5!kz+`^i?X1wHWc*rakX51bfGDAsfn&EimmU0>n2{=xqP7rfk) z2~CQB6-Ov~$P0|M0QBZM|7+q;_+fWpI%h7f%JRkM{>Ro4F575g4mi3l>ubv05PHK9 z{Nrxls)G-*I&rMXiow1nF;M|-J;e#@Yn#sR;W}N3(qDp`+&(a9gEo^uIlEKNpbzA75{?IYs zM2m^!*q?B^F{!JA!@e=RVJ!ej!q#vX7IDMquP(olH>|D{41xG7>Iq{{$^|rO@(??; zU`ahCWMZ^xh+laZCcmpWi>F*kzNU%KHeM%qWTK7~YtnT%z*VihAHS4D^*k(UJm326 z6is~HXK`w_^`7)!x8BX(rK#PB;f7`uWR6+FB?uPYDg*fvymAZENM+MOg+(X^j5yEJHvOeEmWm zatG8$uk}>RB)Lsc>o!K#&S35Rclan`a5%vA=sD*a_(+9e3 zCG_0vtLHnoITGlJ>zMh={N0a(g)BvXBb3$#D2}vTf%)DgxTmv{cat2*{X_0N!cfT; zXWHGPe#ghh;}NT*W@~VcoJZKSNEp$vhhOy57173cAc0gpL)M+me_X03@4_^xW&Dw5 z;XV}NPg{2|6^HwKmB%|Nm|Rj>N9ocY&g7kV0zN$~FYfr-UdV|4=_7_cu{`eF+lD0M z90SNFDWHu_8&$5n64(&?(EmnNU3kpMiHc+7~OVM{qQ>3&XN@cq#ME_s;r`R9SLe#2-)~|K`Gy+dyj4h=O&sDrAN0U z2bXX-nU?Gk%aDbY6B}D8zNUc*LPqk%Mj~rJ#{t%qwv{jaxCbV?Y8ffC&KR9_E>%ap4PP&eG~S#NyNot^_h}C z91S#dT}A*LO#?jxlER;JAnALx3IyrPejx)eu3vICdliD!(u7LLDBr*`z9J$bGqK)X z&;q5C*wk9uFzERC5%rpwDe!N{Epzr?7j}x2Tnou^= zwfLEl8=JY?GUuZd_T8}0!34p-CyXJjitLp#R8@kT{-aD8m-9$FzVzWkCVcoxK%4qf4>gWmY2hs} zktmpld86sc!{R$9m5@a-txxNyycfO77P_*!6)L>)gZawI?LA-9`0L3h*B(?Ts-{M4 zYWyBYdj-tOee#W38CB{Wn}$iw_QXn~yhITzT}+(>%eyA)Qp)#fFH!oXgmcih-*=A= z$Mieow08ZAqjOuUH@`HvnwAO-YU;?SnwjS5V zI40ALwl}aD>(B!)qn^x!s_z)lK9-;R)>9R&P^{tX;ZgrY%t=9BMs4`5Gvwwi|CH~F zzR*$GH{P{tAY@iCOqjj>!QT&G?wDl>-v1^?!hjUp$-HS%*C&{mRb<@N*D!X_8@W9t zXx|9V{FlIP5qz5o8U3t-rp*-03!~*wMw(xZ)c551#F3Z47kcBL5@*=0Ec#KM{wBVC zr@j2tE30X~x3Fbjw=d0DSvZ|+EQI_<$eCtx*<>wNe_iT}^%DID2b6{gy$a;VlMaj8 zrz|(z94=gYvqVhjp2WvvFXyC74I0YQCdOZwpTGZxBkc-q?3pf_JcP^L9D=wAEtU|~ zjC9P^7@NynGwT#>Tfbe6UTr;T9R|SJi3*|Lo6#^DoO*7nQWl=HA&geN^uQU^-ksmQ zDw-5Ap8sE-$q7a#nv2)NgoT!2JP8lP$n_8?;wYvH%6m5kyw+kuA6H0jb2X;82E}U0&5|IYPpdAOL-u6zGzk` zca-emG{aVxV086o=VqpBnKO+-Qt$HG;?ndUx$-I(kxwQ>k<`;TTQe=xW> z;P}io^B}iQB?Rq}1_-I20ZxoVW-U7ls8OaED*OU1UKZukRFQ!Qo+K;+> ziesqvbavG{^rf}pOl^2+5{W>+1gP{irmXrn&mxK)jd3E5ZQy=x|GnP$?^)#ud|9&f zJ78em@gHV>!pG6Ugl@Ef_mBoy);j*ssP!p$f#XectuiCrlnNV_RV-_NdjhF*i-YT3 zMUCC9tW3^3%36^D&a`Of_6iu{7X#?>f(J4M2&(uNW^nqVXMFhX@ao?n^kG{IWw&%S zzhTIi3O0ee1$4YDz`Sfd+81`s!&eXBE-l#pVK=a^;y{zL)*sTUFz;Snjr|428(F%JJFHfV=uR&%%+vuugbS@@B zS*p;(75Gj6`Fen6QspcLUDLj`M3_AHMNsM>&!lUJ`&AsG2UFmL&`Gdt!*%@M5=rUgR<6dn#bSk z=hf=P(YnQbL<%#`di+UW(_<;9w#IM(t~iM4H*)UYaP53fS^R2%+I!A9paq>~kc!!B zh`K^c_c+y8V|nY4Z<7lo1q>(bR1N=39+hM*>hbM!A?J}MGT@m@!syJb8ERY|*fnj4imZk$m%r#4V8_=4mc(a1B-FTSCFmg5 z6&f4p$3%Dj^n=)ATzb?j+7am9orO|&Nrj~Cxqi<{_bUa7bB~XVR++9T4rko+d6)ND zl|NP{^tWraC~uC;{5Lqcp?VS{JJIxkBS;s<`-GgcdZFK&;{)@c0N?Ty`=CXP6G4qQ zPG#KunIlb+Lk^ZTHO4>~%c^_;+koRW5CBlljq@FrxttKxg6Cr*zFr~3>i?!2gF71{ ze;MlH6?V=x8`9NwCOjc^Yxh1?Yr@3-@NN$0^_%o%ey=EJCExS4Y}|zYe8pWIX0Y-c z{El(Y^^YCRVAfG|f#)iE>uSBLq;Uk^|8GE)urd|e7x%a4XM#jMOk1}JQ)yW4xNSIH z^U=B8EV!ItF(GLx@8O>-n1ItYw81y-kolyX%+oo7`5yPd*K=~vd?zKn%S7IEFfNr=%HXDyH?H-?|>&*J&{jf|5esDVHHtN=wt)g+wDYSsl4a zzjt9r;r~sKf+sh{rDwkBO`@Cj{;lgJ23hXDVc=f_OKE+g(^40Gqq!-UL!U!CtXLp! zC@!V^PMq2p5uLkSZYbZtGXOJru}s$E?n^@vLI-f*gAKQ@`6T=4yWzOYud__+Uq!uW zVAZg%fl3ZVfq&rgt_;#P&@%`bK&|`PP32UzFGPz4W z4XyOXvlV|P7amls+EeTY^Uu8nFsQ9hU*4m4CxbNs&3@-YZrkP=bLWZU#rD7VFoHbJ z`Bs{~i^hLXtiJ2WGtiS?x`TLA?dF&cy>H#LC{5?Ma*IqR$fn+YXE*w;#ls4b2ogR>R-1~7p2aC*1r%NKLBvNqzsljUSH46EhPALF$SnoLO8x|VxQqkKo8*+| zLyrT>gc}A*i3n3reDN4>v%$9K{y}L>%y3(6(6sNW0AE|j!G-!4!l(+N?$`TXx6lvY zmOJvo^mI8*69&I>^MCpqE?x7z2W|KN+?E!dFrl)h+V*YRJjq*W1tD|nX!urD-!2e3{G*g_U*E8?nNV(t)cTBjFF z*n6XtbY`2!nQaeB>7ULX@we5{VffqCprt*D&b!X4)PMPzG8;7GIodkqX9;R6$BQnp z>Xc=_)ko|rylJ?$I72BF=8>AS4!Lp)V&%w5Q^ETET-mAyOXn!Z1rCRve3eo})`E~? zp?=awP1CF!|B25)+c$&{<5oQNfGmbrG)#%F&EA67+MZK#r8+EIh!T4j_E!Ai=N;6w zUMq%Y3sjJ zX~ykb7hLT#=OKT9aY=T41*l3x*0;>|ZeE*rr~Sp`)RBL_L_={wTQRSs7~5f7R*Y>f z8at$%4$pLxnr|ywyZeRhqFUj{seonkgkX`9P{wCA8{Q9dxGw-^tzWIB%dvA#V6acP z4V~{NS`Zn>xzgMe>e|bKOX|MLz4z<+D!m)(gO-RUJhmZUHaY2+s=5NTx#XNj0s0DH z9FNs40gU+hEci+|#QDsg_X8Ie%NCT3nfp792m5!luo5cz&4+tM2=c2_$IuZgK?z?HtL5+Fc zibB@gHrL?6&F*&Kuik%LY2!_!?n#x~0F~GO<(}n0&%)1i>+Eg*6AFJP{BM|d##+HB z0gND;Q9=e@aAgVR08DP)5^$nY<+>c^kRQz^&*_OAcV$)WNuVa0vIsc_kFF0_;Jk-( zF=xX|dUUVhm(DQ@cOFtXG6&jUa(~xF`sLH5K6<~Ac}nvJBO1o_?%z}0#SS5wMzUe! zKZT*%JvyWF87*IIS8ffP)f#>F>2n^D6xVeeE%y0+_`M%RtN8~&*P(gKBc$1`b=a2V zH4f#L5Kmzd4*I(C$P8m^VvG*kzNp`=(*RQro~}`%E`7w0#CDj1? zDPnaVg$=eWk<_^{P+M5uNX=3^1>;{>4S!SNWa_Py2h)PemI!wfO5{ z-}SV&*AoIdeW9!Hm{&oI66S`Mq`1&uP`Tu*+`1x@A1$Uc^h9vG+Ds3Wx0W5ge@A^t zTwFGBVqY8h!)CxzHktR|7)EoSem+ojGYli`GX`7I-cE&4xHZD^8}&Xd&STzU=JP(9 zM!>qi7!wj_2RCJW^(*K18(!F*rTc5HQ3E9LLVZ#Di;u{lw~$D-zbyQwuX4}oOg5T*pEESb zVUE<6NqkHsWT9!)popYbt^_FS1x#F>0~6YH5P2+jM?Jmn$U>l@CKgThH&ehh33$$Q}O27()s6Dp{Ua>SY^O@k1JLGw__#7Csv~$uk{A!+2K9UO*AE8`3ITT*NG)!pZhEXIf;KI*$-UP1HV2ow9UpXbmKW?7 zevg7IGj|(X8=!v|Q=DCKyIziR^;bI~v<;2_N$?Zu5{#T}+#|-d7@*@`*X}aQKP(6+ z$<3g#x9PLHbYOSGCZ}^Qtj@!A$8SNWN{9+E%B62%SN^^U+qVw8xt`>vY9?hrYuWdCEtVf+n4ZyPo1^{eN0CFgDXIqF(M zu+I?;`|=2ZN|ET#XR2zlcQ zQ1?i!bzgO#^5#;DBo^0m^|i=!b`;$xegVPMtf*qzPmde1(G4L*2o#Izi^fG}Jw?ic zq||H3eu`Y*`tjkjX}>kjd^?N4u#A4N^XH4??sm9r*vyclqwvSOGKcaVAG9WqfCyMZ zU@Z?P-`Cg5Ov?i18o!XrFmQMmK=*2lO-ywe)M-{lvXhSqfoi$Aq8^Prv$#OoxdYK;&vLpi9t~;(iR$G-V z;)Y|5Kdg)XV&!H}TApj7b~cbPXP7S6(WQlRgX%6`AQD~&V`tG-eD;el6o3^pny`88 z;yzpfb*XBTQ?)k{oBb|OiZv`hf}Zo^+0&gEqEaPo8`b%Tfo^7Aq5vqc`V|0<`*#b(MheJ*ur1# zs}TNOO#ZY85}bDgr)Vtk(eoe_B4C#)ep9JRF-^&9 zC^ulks8w!Isu|RPbe?-qh8ky5?xT#l{_+|q(%{Xv$fOb(0*-p^`}x`s#qZxQ+nU4o zAum#M*|h==WP%}fVda-~EgcqEAjy!8mkaq%9m7Tb*LjwUK+8AB<)}C0M?xb!mZB~j zy|FR{LgaligZu{}K)HQRO$kh&0REuoS2=GFMzvS*(!C`gwjGnAWupgcO`By?Ea2%X?49FgjcD z#H^909D*au6-Dy};vC$S;5^F>dhN^>qYB_@!Kf!u=$pYTgPQN~%a75A{UM&EzM zw-gkHI^XwJ;(QrJU0f+|Grp7%eM}QPVW7O2<46h}zB47a(jwZ>EK6qKG&PQ~V>;MpHrC;Twtp#cuq532q zVQXwODNd@j>^)|g&UAg<84rJ0d)Vi*-icwlS>fZK^A7D~P4H7^#_m8SGSrdnY;{5i zhhwSFO;aDP%}!ATlxDtMaGnt!uHMy>SE;00%?S)`UH08CYrB%njAg1{Thq-|3-UG% z?5~@XxOY=`qUuM{h1xgOY7}|5Rp*S4AiZp=hEA7NZQtS^7!~nxTY{s)LFI!Ta~z3` z2b@ddx?gc}_{|R&{z>2{lWe^*Jzn;-e7g|t;XCR2w;Dbt)&G)d)4B2${YBZIqf%eQ zV?X2OhF)@U|7GIX(iSn9+xc3jqAK136F1$6t`ChD=ETr{s#Pc1 zZdheC+<(n{_l+Z*(lGfIbEgvis$WJG0Q0Ot!)rXm95cV&<5VfAy5oJM;q&PJPv*>J z)+?*V*ZxV=Bt0qR=LFlbCcQm=G9SNGJc*0}{TH(w9mmmj@jHz`L1`QN!6WuW)MMyTj?4E-|d?Uxle;};62-XB|* z=b?)_50jNs1dD2)ItGfCqb)37`pwLTCt9`Q2Vb|so^3Vkzr2B~8pP&)cv74px&DFE zGnJ#*N#{ir0A86BtVn@z-cBd>ywC)Ca^!)Qd{8Od`s4O5U^UW{6p!jPoh@e?q7GY( zQN|F>j={rMDdh^{S*}a)i67GA+7lH~+=Zrl7A1wKYawXcKe*ws2|C5oJ!G57{TaL}+ZjvYpbXCTG zGpdYH9HYkFb-9xZz6$g|a~{`^15`n(3Uc#gS>oO5wMNNeo~K_2K4yhKmBQ!5~I6{vG@?k}GJfWbFp5QePWCZ~H0m)}>M zR`yRGIYbHUyC_Cg(Uj;~SkqpIu39NZ#cOH}6l+Qvd;+jVJJb7)e3Y=nT4$l<3p3`M zJV`JN<{zPCmUeYFC-2+Ub{w>HGl&we&naBD*N5G6#BXZ&L$!5A2k%B_1AVnQOv^pT zDcH2PM=~t=N>^oS&5qjc{pRg}CT&t@nzu|pE@t-2N&$~#E@CE{mMp3ruBi72#;rRp z8P>vlsgHKgAbUvq72Kx97NDE;>(ued6VYQueb0@tX780p#UBB#3C4%)y01RhGz6}Z zXb}hIy0S#gp?wrmO)gmST-W>E^W48UxsJnU>tZ^ikEH9s{inTwAjM?h`t(ip6idXo z>26`EbvFq^c{|6krIUi(s_MqTt-LYrKEZr#08FZTCK=N*4B#4epB&}=jfXzq%I@i5_S3FLM`@74W$C7hzY zBJNmom>Pt9Yb{S+JG>R|-iT!xlN6_3@sYL|16Fveo8Iru>EsSxFT7DU@r55!HY2XXMbqbkCglu;t)4rl*w$Qa5j;ne&rtQOYL_d zm?+^++jF6{sqd~`4a7ay{KoX~zEa48tvMX=MC0<@q#tZN|3Be*s1(%s-+!An|E3L z7MDkduZ&~K$FDEqEzxd91?X~Ko*wh!|1(zz`AulmjbKS0k(M}?8DbN5xjp!?N_79`7o<92QVk4AZOw?JJ z?Nw}oRb;;Ug+jq$fqtv0H*)bH=bIwGW3*-+21K`HD#+aW=TIgdtXwbP0tg&9g2VrD zMwidVG55J5Bf5ev;Ep+y_htj~FSViWuo-}_V&7SI8@{Pr9oPMVw1NrwgxjxJ5BT~8 z&s&eR51!APEJzrXwTBx%v{kbvFia`xW#n&h7rxv}Eh`KVxp_Bc=?Bfcks>oHeTMBJ zmu95B`)WG5mNt!Oiip1Gz|DmBv(E#uVb-}`ssoTHxzx=MGR#*H`tMk{26D!K;?WWH z)!jqP%}X;)-}_&F1b7OqsV7^J+8M~(84vBcwUd8>1;%i{?7NhY_>&ta=YKd~&npen z$bvn7ghEw)WD(ThEEmZJ&TKgsn96?EkTsR6o5s&1xd6&k!%XVEiYc5g>9OLz>n3}F z4|-#5fv|u}-xi1xJoP1cQ4{AGNdER)BWgH*gsm4->Fw^F_px53#^*HfZ(+`NB*_%m z2WO)eGC|RC{xN+P7j(R_vE#n9b>{{S!FZ>V@Z4a;J1_^wySJF_mr111aWrHV0&M^d zy+}rE7|`$;BJX~=`Q)JBB`TUQuZ~FV!D<7ott1WF-dfv#T3clIV2D}@cQ_-HJS4T9 z6Wu2Ub=x6E{f-Zh{uX7IPUOLTIGF~4*3^A=E17xV<~kT2Q)KY|B~E+a|1!XrHp=4U zdw#ob#u_*1Ycz%qE_QPFSL<0ZJ9u3!lzGIqmQ#r(vWtUKWgs(9O4TS&M@C(aWvi=! zrq-pp8pSZ;FEB@#(u|O?8_!u_G49E7_`w7EZ1GPQ!JXpF%ZEGGBy#1{&IA&f%G2Az ziDn3BG>WIp)k`TOTBWzl;egsI4KE9ZLaJE)0^MbqJ9db*Csa6`;D?VP9B<|bO%zWX zxp<0Q3jYI!-=;G~ZmSKaCv&C>A4Rrxe*vahzY!+uUoyRWTK!W}T)PrwFU;P*VoFq0 z-CmF4QF71NC9bnKLRyzwM%?R0eu#G~XRi_a(J2%MZne3f>uo`KT+3Y^$a9Cl`CHDm7=z^KSW&h%z$ z$s4{HCbA18Q1St=%o&SxaztqIOx=@^@?)mAFzVR}6wi-Y$cZu>Re%-46|2Vgd;s|f z9-i6OOUXZPD^%a(L=|QcZkK|?emI7%|J^*z=4T~5TeVF(d0Qgs#>>{_?$BoULCoMi z!&U2Ofgec1kSj@!xyY|id`UlaO?VD!H&9NlqVvL>Ds)GhE%2=J27#6{!7c>X5ykM&inxZ^T^qxL#B13Wm%IQYHuJZp!>lAJVU-S zT^=oZ8YMO;>_(b_5%rsSw;1M#g$?_Ab$BsiZ)0u8WagKg9#IAmKuDaK=SH5+QQ0}xw;{LdRc_gpICzf5QY}FDoXJgcQ zEJ3~z_6^n3=MO4BOh`Ejeq&bqX&j{m^4SDLq=w+*~(zi80n7jRx+;JgA?pF_WK zK4dGr#G9^AG**s<^V%=>Rl3$O?7Dfm59JE_oanFI8C-i{8k2e9DHAP#rJ%FE!kN=4 zi^;)*G>$tT59cf6;i4R{i zz1aQM!uqpllMZ{vo3I{n)4}fDVXK^0Kff>y+0rivEB(wTC;1*U$TZbSd{DYP+YNpp z7qXNpoSypq%1obqwLSY)^|7oXEiTDcd~LP1qi?G%FyGL3U2TB7lz%#${c;6ERBaP@ zv%r}kg8NS-rBQ0*{8m{M6~tdJpmuq-$Rm1hAieK>my~-PLD!P&5WABOvFRz>FZV!x ztDH33e)f~%k4O$pzik92R;m1wrClw>&h@4$TJA*O8lV#wdV&{w=+CK5=KQtK#rxlS z0PB1!5VF)2X?EX5apU|XDNOAvd&d}<@Abew5S5JDZSGdetc)tT_(pb-{RWCoAuu&P zX%!#gtYTBdpH!VRI?Epdzug+!b>~hWy${!zQ(yqn=~n-r{(1q*d@jWO=ETX9#v^GJ z`#o$+IaoWqh}l`h*&Gr*6oT#np~Mj@XB=f}bR8fg*RDE57*LixgKZjC>$`421~hVE z)(plJ+71(HA#Pb{5f^L05skO&tnb%x#$I?9ZgMyE6jWV!&b#y!)9>q#jKrVr1uVBR z9mnh_e3lbmAMv#)D}opLyfcHj|3T}DQ{)SmN4gu8sYN3^TvP{J^x6~61)PgM&J67% zXTJ{(&VSqhT5!k*AAfo;=Jj1QB?TI{4s2N!yeZ}@r-s#ru46&RCB5*&-vnN>GBWC6 zMRcIg;^p8npr?%lh@eh%v4pfPD&jk>mJkbRwRI2FQq>?tjc#M4ZiY~Ri@Dakaos%8 zIXT?1duX#()=QjJDOAM*OKX5~p!?+PXfp^8FXT*D>^e9dyx=D|bn_h__^u&aae~;k zRtdP}n)y$npQ(M0*1ra?D$JMY4$DmzjFJN!Q7+C@e-ZO7-OP(ZH@(`9=SH##5Dpy( z(GhoTW6(MR+?;+pod_wKnWvn^JSUzt4``D(GqoD^8`;>*gO5|J%;^epcqTeH(C+DC zlhVzb*#SC%gM6<-P^z}HsWkEN zMuc^MOyo+yER#d4jo3SZ6cgKigdmPK)!q0s%-!w`R>)o+KGdp0=j$d$?&2dMG+4^;b?%n2BZtj z${ue$#f0;FxqHk5(Hh;=GQ2IBJC1+vEHbWqsjX6rHY(1VUFeISoUTPc%K?ZVq;dA? z`ZJHw=7}TuO{0nkfCTJ&Y^!L`^sN$`qgH`_5AIh-RlRe^DHw#^VlnWOrx&DdyY8EVjjd*M2fj?--9pJ6ffV)(1$L=gS;s zydtB?f!!KE;8`601AS=+;XymOSa+Ft+@i2GXg19f7^kNQOD6{K6Lz~2{#Vjg?{jGw ziBl#9>~V=ki=07ynm@r)ZzI3Hy_RSS(<*w|<@d*iX!Liv-qCXs^5#S(du6{w!-CNz z!FPPslqp5-)bu@GyRw@8kM0*N6&i4?cQ<8l#GoBj2Vq%G$p;0a>|N3a-X*m_>tbVm z`yYBdn{(xk^T6CLaLt5X&mcjNzG4)NPl@ftSBGo2ieDJq%zUa-!-J&{rr>3=8Cvw^g1RJ7R!^7~?xv^Tc(Q#b*SHntsK;DDPOWk8x0Dhwns75jHMhfnKRb; zO5K_m-zFtwUjJ9mkgmsLVVz>6w{aFHT}z3Coh7lwgAc_{S1BS5xU>`PfyY@tWvWO5 zpN1N!4i~B}eb5eIPwBRDasN~Cgx{Xsg2TG-HZ=`^L2;ykYBv`X37|X%1P6vbyc1O1 zk71@*P)y)7*V$u+b%WfD!NP|LVwkDGyMsgv+|=HsV(huJ`J%-5$Zeytp1_nGkM)qj zpuvPQ`Jg`;q)@>diNnLJ#THuay;-*#fBS-2{{UDbi*iIX2(o4_h_9yb@<`sKN=u%} z`riK;@u}FwKo9#1XT07}Eo*_y>*Gpp!CrE5;5QZEZJi$yYf1iv;VuZc0qs_*PwD(8 z5oH82WOU^Tuo1)OwfqQIb?7cbi9K{n*m}~Eof`bbUq)=Uy~V{C&q$w5;ugLghSuUf z)02?_pfgr}$u}QE`X6k$a&KywvqR?l^|Nj|f7R^XXu6)!HYR6yK=U5WiFS+v+Au`( zb1Qp|I@#*>fM!#g^m)UOs9^RDbI4}Pnzaz3bqMtfPaa2k$UhCCGq z+A!d(86e7`e{ZfW4Dek_z0~&mA-u&8(CgTKW=hn>qZuSyN)LHU9<&%JlYuHWR!?iu zUK%AjsBZnx%qQ)h*E%;uHf?feussuLKKhhYT|Q@F_12(=&f<`x2>Ko%8FNe_RTC>x z9CpR2TLpkk_hlC|XUK?KXS7&+z_>RjL;4zUXHY`F40`+P0JZW&Rc*i;eCZ>}^51!; z;z3*Polk9-GkSNll6mOl=z?TaZ|kZLGGD#RT}KAxQ}3>Zy;4267jEr|uZDl!#G~R* z~*;$gO3 z?fkJBw#sfrD+Y!Ze2c+zlMS^!gB~jod$`m+_fqX<@9`PiWE?jGv*hPwNQ8mt!m?6h zkEIyVYd}ec>|UO14mv*YqVf_QXS|aOdwL|xi4;i@8R>dN>(m?jfIe?|P%I2eA}`iw z=Mi#h=%k5ETJG~(*aH`CCr6g;y#!GATDrm+=8rhCxxO_qW=GA&=RT1dz)IYPvwia< z-xWP3n_m8%qy-n%@_+Pm=`e$e*;3h{Hm9))Xu!yg`$(7X{&0*Yy*-S!k*hj>=f1=^ z4Hz_-SDTi3c(2!lZH4ins{QT~44BlIxcCMN#c8Y(3A7z>K`_hMK_6(|Sqii0# zc}_S(u z6C^jIU2M>+{FZxiYJHfExy9Jyl7#iio4^IuNt3PI(_4ryhTT+AWrPbCb5bN`0RnGt zO*^rf5j_m)b8$b&q0>U%<#wo$({eYN@2mI6sRI9^K!uvKlmJ!uBh!H!uUv@gFqL6D9xVl} z{D(5zkWFX}0w>#ASgRJrsXZJdaXK10U`i@9(Ww1{VojavoMVIQ?SNUue5T+m({kT% zG)cFIEg&Q97f43#w^@y7JhvnAPDs-$Vu-ye2Uj9OsDbCsL`SrFJtLGmR_Oe_HwMYBCKo9m~6_@j;yf zxUTXkY#|C{*mjk7fq_+)mbgzHuXprnZZO)uF)4xBe|oh4x{_10J4_dvW@h;=Lm?vN z?rEuY`}HIWhu)m%4u)@}4Dkc-Sl(FA1|zr7t;=seBsVQDf8g37GRW{3T{)=raNC(q z4g+u9Vs-cnN$2d8uo$cRv0rW5&kx97DxlmC@?LubkqpddemSgbcjrOV+e?*x@Z>yF zsbP4*!)(82ahwdWLNM*6cD+U;;XDt+gVn#AEw8}?rRS!K8RzK|G*#eRyVtQXFIj=6 z!_{1DxJL|Z%0ByPF+i=%=b=sc{ASBQ-N=w>eQN~`L-{Pxl@M)watD^DOaXI$r zzaA~}KxCZ*nB-I!Qle?&BcA~jhaJgJn{T2svDKW9zc}2g{ClxOMMLtMnNul|%F9|6 zh7z#ya=}F#?#{^~h2b^?zXPCBY>GC2=}`F77&~zk!ewwC55xxD9O*Jx++JGW&_zC? zEfKsGCLLq3Ftc5cPoc8s=3v%Rn{Xx) z;B3<2tG{pJB}?9T?X?aNJm-J-HSN%Edj4T20uq)lT}eDZ95A z+YSheThct~P{%C&&tSK3_XxC>>XP{ChJunCZynhHZLcsc7$vbXZ8sxA{Dzc$G zN-yuM->3&Hc7y3b3(PFZ2Ta>8LxkroyM$)Yvnr^2GR;Nl?9*nMtBiU_b{5f;j!KYt znq1OqiX1$kKccbu=%;U;{h(~TO_UrvWUlC=E#;r;@7s9ELz8;O4_0)4n-6U*03H0A zE7u1RpNrn93-l#Y#l}y??K;}9SE3e8`SZWMXWX&(nqk1mg)2@Lcn-=S{rkFNt>a%e78ngz(m^LU7n zrf)^n`OS9`yodZLsC+oFw&w}JyztrVZUT8rvuH0`VDDucRaBubKR?yHt0L#JzB;yH zy0mpeLd?93F?%3GbOguk5^*dU(%AiMf;>=5i%BIu*Qk{(CV0N|NKp6Zg)5tG?T5TR zP8j}Hkkmw#W&!|?EVI?sfQ)P6ug`64Tqt(IHO(azxOrq`SaLx z*{LIjO#79-N*<8rm{7QyssgPo4G*lN0WS;l=;gV(&RLIs?93Srs**?iedcR_>pYC8 zK0y9lTsa!$&(FfcSs4@U=?^wf$WVc9V}>Fy%MA}d(a;*bZF$P!^a#YpQbbmIH}iL` zEP%VwQfTHHH2TMEQkCt_CT#cq_ktv?b-I)Ea)m0CZsFBPw$q>1yN2-{?#Z zzELJXTb=AYtl`s7XX!){?Qn{WWBQDR zsEWXO2#m~+=M^%mKgORZ&)@6Lu4L#&F){3RcbO~AyAv0QUnf*a|I4y@`iTDb7zV$o zTHO++B6Gs61l^AlRRQ{tPhzyUwy|?jZ+=Bj0AepPzvVc!R}1P5Lh?RNFnd^xjVsFX z*KeB!5j4E**TuEticG>Wi~Ylqm}`^zC`ob0N-zuw0>?dAd|+q%W43US?jh_e@N^)` zyHo}`&I{R=pNb@tF@SOHNOflpdV+N-r;%P^?7;=B>>v4@!F`$Tm zh&kI!eDG_zCFp=x8g_SL=900wEi$A9fOCHKR+V!63RNWD2YF-W#{+?)f9BFgk25)- zK95s8rVi8aW5jWDb{l3p54RnZB_vI#ns)Z zCoV8ED#3%(P>2Zk)8Mc$zrjoqOXai1Qu>q}jU~3X=kx)~#G{N%_<9TKfu2s&dZa8+ zIoiJ2b67ul98TdhUBP+WA<#efFgLu&JA4q|4*)*6D+m9L@GNF-rMGxJ_)xk+-tuCa z+;5O&z!}r$`WrLtpq+glRO22+?~90tz-R9dWD#B2Mw*x=yfphvr+)P)-LkoQcDfMG z2+TU`R0&4Ir&FMAE~-mZtMl@G{P}9p014i61q_?doh`61YVS2ol;RAEc(V>${~}$! z37Olow}0kNw}Ic&oe`WoeCx&wXhe_RKOT8)^6ut080QhxqE;bAVIq7IO+|YD|a1ZN=qyl zi0}8yEu|-*sCz$9*fxMF&r-Grnwer*8ge|45hYp|h`%~Qx*sJax8PHMB!WzwyE#QFa^lBBzn*iJ&50Y|9>k1YnUT)Q|dD1>m*VS8w_f3^*P+z7Lh z=$pi}Vot9>Bom=7l)egc^jCs>kw^~biDxhtpw*y>5cNcFN!i+7pj3+m#BBAIK zj3YrBLX9A~qI=X&r#eLUAbY%P7gI3$GwsZ1N$--}a_I;0bCvkW&K(*=Z(QW_|DT1t z`JA*Z6|df7n5DXXd^v^uGLhd>yTxv2 ztiEV#k5&M1&TRnm3fIp<0*gLuZj@kNpI7sv!-E~xk zFE2M2kRL$FuL&1X zrWm=i^kew4jU5Ia`L0u05?l!~Y6sNm_)H`qvp**DT0yYzkO6MuK+)5?dZ$Xn61HBn zsRxVC&;K6xXIZhs%I-Py2z)cP7UpHDee~hab>n2|VmsgHTy~ZFbTnvggHc8fVuJCp?crg&XhO6MJrC#p!C%x5usrNWgE8FY1@HzHVMSP>~(koq-1$k}X@eioP1mw_fz4{2)?p`;I-N;wi0& zMczoI%rp;6x2&~MU9~)hMIOAhU+3ocICU(beP*fu0iX%q6xDlfSnbCE(jCsxsBgi( zd)t{-rX89bnL=|pG0ow<>YyFL#AkrtbaWPx*Y)i4pY3?A`59E>faL9-FZcEZH3{gXxzm-z`iX9w0yYqMgAtD)4 zYkBx4GApt^f%AzKOws(BagjQzB9`hD!?|M6ar;@jZC__|xVell!NL0XKQ7NGxd*Op zjOUusX+3Zp0PW@FH4-1>4>SLF=5?A#fNw~zO@45Oy*m%|pB>hSEyieBCa~Dewq)|nJsCpEX0}Rdp0*$7&T>xyf=7%?XvD0vFAE}pd{i}uk_BTFkx*V1J zp3Yv);AhuHQBS@pz5|-hR24VPO&?^oOai@AP}2rCCe2?XH=rQ|_aNTqz7!zhfTPZ@ zuhzacKX#HY`Ej6UN4eh4Gei0|deD|fI`Pj-OdRl^eqrhcXTP|fT%VVxaQsHbY&HB7NXM$E8DN! zVkglB-!tD;YW)-*W^m-QkKQCGRSdh;{TjtP!%ZkD?Knk>>7Qf>(st&q_J8m!iwg`C znFZYs0EKfUzt2#LLQ9&grSS;|Hve>?Uv~M!j=3QD7kGcSeVS*MQAk;r39lLV6J~z{ zWu*5aUUgBM)u|9l*o0>1Xdb~?VDz2M8FM!j8r;Bgl#zaxL2h4w!S9}+oeqBidXm&z zc(f9*G6%SKsf2sS@U=Hq&{X9`ssk^v1UYh8-$0uL?~KspAadoX@+_zQR;O7vzYs_g zE3zQ?+jsfpbiq(Z-?k$sKz79;V&%rYXm!3qIHHsOuAEH*c+Sx6WtX{)cRJs+r1Aj> z*BgbC#@DwY58iZZ5tcsBvJ94Af) zqL&|b@q3!Jp(%IgyY?RHez<1a_F0(cUJTDoOLj;+El+d9@r}%zN?ET|+%;FJrw@pu z!ezOm!u{9-MI@Xx%q=FK#4IRDu$n1SQF^8v1oe}c{;YQV0y2M%9~qZDd2z8)b>f^* zxc(|D9@nPx&~1co>qFdaZpJ}EP?>bytu!jn2yn-O?`Wibp|H zmSYw@$Nw2ew$PEl?E&3ldA{{q%=mQ!i&t7YnCD0jr}WtMgct{82ucczw%62^XoLVF zC4FyCP{mUMy0g1CWAN=>C7MS0>%#05i@*Q9U+Xc?EXQv4IB~r7vjSzvx?Jrw_giX0 zOqT+XA>Kt8T2kELs#EXBi$<{PTU;=W*iLid8IKhK*J*g<*zv|?9e#A&{{)Uk$EbNz z$xL;abad*y|MX*)_idfSW&Q8`7Y-!F>jYL!!AbBJe&rBtL->+d|B)bXo18Tz9+NU^p- z_m~eLiS3|FlarJu_vlS-e8dq$i(IsR@VrZnH8mi{7xdvX{n@rS{;DUYJ~D#1d^rQh zn*MymRjz&<@1}W*+H!q?Z%g<%@G15mKdR2tYYM2`10pvFbC zxgzTed(tB11eq(&h|tY?EbPG9S};0(o?-Q3eQ~AtdnY~MGpUp8m?ev+-`nws#5#+& zHz^Xo!^8_{Dss#Vl%wR7eVi^A1oA|u24+}l(8vthd2slT+O9n`TJAMYdtAg@;UBsi zx(7?sx3~;@9BFg&rs+Fn9eig`2|u0s3t%KZE~xDNaWCh#W}0#e={NcGXaorFK@PL> zV4%612D-_KTW&lgq=C0KYRAJOhwFSI8|?D;lcXw`Jmk?p*@r~V>|faFG#$~axbdiZ z5E8NoB_p(rf6W0)Y${z~{V0UXVH+=H|LaaKGHTbI*>MEuF2&oY_Zxtsv|iA>`-7Sj z4b}4UQFaGn7-8@}YtJk#@XyP^Pe;u%==rI(!z>`B@hT>pdw@&Mxdnf>0(Ap)8-drt zQMB-uI(99#&Y=6Z9$)IKki9CxBl-TTpuGbkdS4xk*K-@_$^Jq2h%cRVpDNMm{8~4K zlz=@nsOW*7!B4WpYFsC5wNtM@zHKMMTunYtC&e1ZNgK)Zhj#sQdQBFJ@6l}m3SEkm?GJn^AtBqy z_{gsmw-qXj{(Be2e!JKRpVdET5XHfcGqa=9%aygMF?GwmR2{gqJT0K94g1-X2D=BBwvNj z$>|Ph<|ZJ6RmDr-+rS9c$Gv9XtQr(9Jk?pD1v4~O92UKSt-+>T--yctj;!j;O5iBl|Pnrw(J13X{6rxmNZ?|;s2G0TiJhQ9A z;}Q?g*u&Quz2pV4zZiAH4y!V#vWUCQ--=R9QguUI%)22sQkz)U$0^L@-h5HjwJ$~a zwl*~^uxqzq}mWrg$84f-R7isGGn!Nqls`V#n{jV{BipQZIZ};7q)yEwyX(MfN5*%28 zBy8HubZb^=+ZeBsXMS~HTp~l3Xv2qh)eau6s7tYPLbUjPaO;89>kQOhbR%0#dY7f+ z2|HBVnUhwsR|xj&Y>o__d{!%BPvIXD-t(fHrgNzxg-7 zWH6zh>SqA#JmMJusV37!L6ml2hcBVIC<<8q*gYRae?iBLX6#q2d)=vW$UrQY5 zn(avVxLiJauX&d0n$k84{+>LSo1udgD)q>(7(3Fe6oSjJ1R)f5_ju$8a3u6c3WP48j1X^=Z(B~nsYkF&kQ_v zWmo+|F-vs3SrHJDq=%EfIHZvwT6Ghbygz0=_Z_&F4b;kzZs;BR+}7|}sJ`PG?`zgS zJ{0){-r>#e(py*8cJuWVN9PsOQN;5OlIh|L{^RgT?z>l>89{K~8V!#6M zDr|lOzr7>JWJ~BD*@mbBl&0as>->v@=>naASY?VG`xOM~raB5Nv@5wJ*ck08np2P= zt#N+u8g^heQdxQQZ(^28ox^SY?_i@JsgxHs9{y(|@)bbHCMh@Xy(%28CTvNj#*CmS zc1D`9gSQ}?(MJBne|8H1LaVr%qeBF86+pgZG*GM^pEsB31gxEq_I?ZVwo5ms$`ob0 z)!oFuGI|lzE8e>-wW)+N(qJ+KrvJx8icNJt23f@D8>bedV1_UqI3Q>E$VOhZgZwXbl#hXaGzuCL*|tUkPxJe&YOiIU^P|}{u=iB_&VHeGg|@Xr1O}#BvSU< zV@T18`v+xFDnx5+(~e)eUKK~Gd!BiEzJjq+(VAuI6UAsCsY3zh{o| zA12g=v$_j;E>?R0Aj$KOeD(5T=Xln!n#i>Q!rXqD0+C4-T43i<%|t1nBMCAS`!^@Q zQK{dilJ}8YDbnAnoP1y&-JF?TRe1I>UP1?`3vKfCjg1Dzoo@qM?L@=Cwl_rtZ+i-f z?YvwV#kDG*0o}&Ol<r*AJ|aIZXrhY$$+g*{Y5L z>Q)l^cchLTo03%Na68+NQN_};E?dFA_qVI@wg$o8lGy~Ja>PxEioqW49>}UEFt2GG z-t`0iz(8Uv3-`hDPs*(AnMX}N35>3#4| zlCGl?f+yr4x6H{!o(x}v{OYGs&~_4!B?<`aChi35bxp$3F+ezQzDKzDv61+u5Oc;4 z+BM4*_kS-yki+f9!%}yV-MQyCGPeOMIj?j@0ZAOO>|H&X*4$8HsPkQ}0vh`tUhq(_ zH??v9>-?uJCULMq{Geg6ia(sZ*Lo%50R#vr*Ou9UXeZW|#qvK#s;IdsnoJ?>-njybK}C+thVYvLe6QaloCk^|B*oNm|15+i7Nh6|`qlC^TWEi*4R%U85|P5r&2=gZgBIk%dPk{VxuC)1o&RyYsA(b8Be{`w2DmNvOU&VC8L-7qg zvBwXMItv<})UQ;|A`z+1+w>9Yldm~Yl1iH$A-70?=C~s5&D7qjzE)0{=&<(Mi;3;a z>wtTQ&wg7T3{mygh`<@UhuT-5fHZ6c$i=%Ft>)6yIRb5@`2hpx#tW?YXZ|oee$MeViLr3m4$3WWjo>@R~CH3R2T@!a-w<|9?^FHd}fxMYZQ=}zMeKBNT z?}fS2#s4YR+%y`oYdH80%ih&$9|98k><5_-4%z-{CvpI2_at*khubgjb2_0APv-f6 zd{Jes?0(|8V|8KhVS~2cS<lF5zGb-8Wj&C)PP@#mv_=sy{b}gT zKiP$&GKP6nF;?UW=Gz-#>i%g5jmnb?#9!M;tjl40@Zy93K;wD-Q<6O41oE4k2#5F3 zLTn4f8>#)|WPJ5iRTDVt)EeL~Bm>@h2*;Wcs2v|*qPxn=B%@PRiMUI@c0%yaSY-uR zoU0X&ykH5rPePgqv7OJQIvQH`qbh|$FZ<>W`%|D?OZ}@Pue0XwI#fS#(~M#*ar_iE z0Zb1u!TT5TE<%-1dQ)(v7`G&onK1H_{v0QF6t*QjnG5+WmxWBpvi6;PxAyVdt)>M| zZ6neWRH6uVJXU;o!qk>B#wkbCG+NI9-#JeAuZ>GGpl+@~r+jd5#|)$LNn;9+yGemU zvk}Qg==?9!VyVQp;zlSLOers7Med38-2w);b&fIJ-Svvg!$HY)F~_ft6r2$8*c8n4 z4!{=>9EqR8e=XH!EgHw((S7OsNo}H~;nM^oEJB%RcWC*x-CB)>&<*SzW~IF;5~6A31Ks2|VljKU95rJk)K}J`pLqvNg7ZdMc82?4cBi zQrQW`Fl672B|^%UBKwvtd-iRR?AzEz#=edv`#xj%-J|Du-}m>=eCE&dIp6y}_gSv% zI-O+~5SdtOHE-G?LkC+0$8!M$>RE*{UME0(OnAwWC!XENINb@*;f-Y~gQ#@-%h$BY zX7z1p|A8p8sl$5hudM{EUB2~&c10rDeHtjZiWz|6+!EGfvQ^#xj~+=Wj3@$wwKf-< zLKna<<&;}I%z~TE~w5`qNDI;Y=&^I+V&?q|Yjq_S|1ANdMdI)B8RxXD37%aU%UDuC(CnU5#f6G-u}feiIk&Em)IO%06JG zuynSumMJ4j!qEFdQ0zCHC6>T2g5U^7a7y+O$Im153;R9(LF;|H2=9vjB4%a2{Ty{M z()6bL9pOx@lW2IVU|36?OV~BUZ6UR0y%c8^ub2kMHqwPx)1u^t<>onoKseaQn0um5 zAn>DwFIw{gQ!mz@^DDG;wtWs+bn?Uaam;gjuF7@fw!}%HQ;t7>nynw|iX$L}uoR!R z%0o#ivf31R>X4zK6`Vv&4QUr?J~XAq68Ml-WoeQ+L+nO=mP4Jcs(YyOYqdMTLfx5c zSr!4%bh-WOYZA6kCa}5^nR)#VrN1Os*(gI`PwWQ^oZ_DE zdPO4d(D`#I-yL@mL+$HJs;_XrJOeO}2}*IgMHY=Eew0%#D=tUwejh0RAC$4wO84(zZTf z1~+%V;LiTwV-t&)OO^L5)WKi9x%sZ_0J_3zqg0AJc^Qwd7teNM zDj)|)PLi&i*Oj1Mzx%1X7k1@Y-?K0#HtC@9y|Bq<|Ixyesr8TmNaf^_HWx0*2}&#K zoE8MRg zdfZ)}*}z>1(y_?@BPAsUHJ0lgq+1z1q&ud)I@h2sv-QiL$s_sYTV~&q$W-+u;#N|Q z;=WXN$#|(JyB^NKra%LfoX8^lchzCpl9f5V>I!zXce<}<=ZW?UOm=*??p>{`Qri42 zJC2myQJti}MAc!mIf$DmkF=JR#2^EiG>#{e|18Y1_Ok>BB{9(((^}+@O%LuQpznE3 z-9v>r`ZnR}BxDcAmwrf@fWaUk{v_N9ih%ue6t`cb&^sG1^USP=ID+AIs@=TyQqaxk zEzauG8rV}}zq?6czcDA2k!$iBBXzAXy`nxqqC%nkYS0^Ti?iwsA2`dfIPypGB`BFH zh{B_RfQ1N*NU-A_g*B#U1 zu=(NVdWRM%m;$}F=|%^ zC}kz+=fcqu|M^f>$t533k-bEI7do9x1IZR2rnOQcVgL8c(HoLKmN2Cz3cFLdaHPgL zQJTZ*?TVby@_EKmwXcgRqL_d?hfgvz5C=^orVkD-bsFNNqCS5!C=_x<9lm243`|}fpF!of!=ZL<5CHBr(tyLv5r`|rJWqi0YZOvHDBK-wm>|HI3z3xe0%tLtKY+OUr7*IB;bI^(99)% z|L&WoRzmvjXxbQnY%o?yAt45{%6MsaI+=;_k@0UC2jzpuJd-FfyW2>BpRhx=@kEDe zoak)=8sZ;={00*Q@$E}R(&q8)G}M(i@AM92aK;rOZSIVD<(1gn5nJF@6;f<^D=Z|t z)Ko9Sww0}EWt&(92OU1dQlGh9t*fwMsIsNu#g*uL=|WF}yWd5d<|9TtJ1{Xyr)}N< z6s4?oDeIPUv#5F`l>C=_&bXlPiwU_ZH)ZLxH&>GbQW^{7pT-CDSJ*2#K_fgO4V0D@ zHwEajGO-nc7&4)^E(v5D=w9P0AmHV2Taj+8ViKoz!efX_X`i+>H@`H!cSo1}N!$}D z=8x`6L8?F_#eI+)qgJnV`M}RIh{YRfNYnO0?{hx}HvISsiv}X&n0jPQ)xBi@OPR)7 zQ^5O^dQ|^W&+1%=WgKYb2X8;EF-&tX8jxFLN~J;5kiwqj>Mo7SC_6Fu9z?iLZE%`G zjpyt-TC#j!2 z(Tk5&OH@cPF&oaS6r_D?2T2}>>(w5@S~0VPBOLci>yr>6OADM@|3WR>^bFzkYE*Wl z+M<7wgx*at^8e$#Cs3iIZGW<%0-$(@%GMKURYv4?D~0+OlSos1^QPtJtPYa=E#>Dv zgW}wau~G8o&{13TiIceqa{^MZ@qA7*7ooj<)}6Gv}I+wS_sDfJ*KNNs;&4=F_haT|io z`ZeL+5lrgA(K~7&e5&!8^-+&;hyAQ(RyVGP0|9`_x&b}WK3t#2i;rR`x-c|1brm-~ z0j<3;S-qk*F!V?^tiN71!g=mmGaM)Ks^-Rg_XHe`g!CQW5#HE7$6!FlI3Rk~a-JT` z_gyw5#Ulkl5_a8M5Za)pLmq17NaVYL@S;#LA>&3@41!_9^rvu*6Lu5q`JDGn(i)JT zzlAs^0(>TPNT$KQU_z`4r`+c5OLmy4WG*RagU5Ei9VN>j^6gXtOT&8oi)lR=ZNa{v zcP%{Jxbu_hM-8H;Cw-~L({c|^TsGFCp4O%(SO1u<>UnCMDeu{wGww*?E^r-i}E_9{-(7Eyf$xk9)x+Xgqn^7s0)ViaWGg(z6>> zl)tLy4|7blKL?|2*dH8^-}kdj_s`2v7DRqCUhIAMy_C-Z8Ut=`FD9lb?cr*b9O;4k zyS8RlD+Ta{x$_}2waN<=@b5WvtNsavD3-MFaz_&OOj%UcQyc%`2H{tAnn&$T8J;Jk zCuY9g^RjvHSqAm6*GG<&g=2&t$&kI32EFfqz+tmaAefutn9pXZ6Jgdpr#nt9lp5#x zKcr=rUsAcX6EOa_zkJt``?%dzOa8VE5w0_&2{9s2>S~1bv&Za+5cn*^UBqp#KVI(L zoiDOlaCnWI!m|AQbYqwnJkOuxNn!Kn5@S;0e(v;eS>zfv}+-rcUix6_~HFd_AEH7YduHX<&)A$ z_rV6VWNT3Mss4@IKzNkr!?$uIrHcBF@;LiPVFBfMrFhCs3oq9-OfB7`%kRtwGT=8d z4h-aXU*kSxKub&9L+wGYOl<2luB%rBa$35~Tj1jOZ)ftbG`-Z@&nDiW)H?c%(9(4F zb8qjrCD>hS?U#9mGoSV%HFP6L{$>x9W-T%EUEV(qC;iiqt9aQ~GSAkQ>$t`VD)}6| zFtganJp5DpxL?S7P4h4tD?71*60oVW1)aurC5Y0(X2(B8?5lVdA2VsU-+_f!#o7e0 zR2py$m#ieq%lmJPF{{G!mwF>s_h2lhCHv`R0Kwsh8h+{ROZvBngc)6-O0hM)TY+7#`BLOOp1z^U?1lqq`?e0@ zY`HCB^}hE@3@fC<_PWaT{Ic}=B3Z90M|W^!@%@;X^!svv43?nuz&;w+@HO+g6rI22 zcshpfAMCq5rT^~JFX-K61<|kNnGct4TmeeBCiwL5efst=Qpw*xHkXWPJ{Ecw{1#vT zy5TNY?^(F^Zb}tsKGz=>%I(O;2u}Ll)Z%pke%>pJf!D_6<0yQh3Ky8roIs3Ds)dytt=ar=>LK6_5;F%d`yXY0@+R zXtUFgPKemf&jEJ|M9u$>sXd|6rOma{zxWVZ*i4Y8NZ5q*Kuwl@*{}qxv)qM>akw

QV*J*H6>)wPq9^Ua-FqWaIN&}aEQRW&fEF0wBL>ICQVKEHG zidI+>vES8{dFk#tB3!M{5UB^#w40D4&jy$-HzqIbw0`V0E8JSg3!SH z21;2?T--oCTb-l8e6S@jH>d15cec65&sBEn=2CI;Xsa+gc zulGN$du{A;07Cmkf#zu3)jNm+EHAAZ$4d}46IB!vl0m|gEgx(tZ+A{=!^=S#_8`UC zQF&0Jlqe1z*mX8&|B`V-3`bK$nL{O9^~A+w)H-Ol)phb9=ihW!C3V>kUm)$hSu-$S znsV>6HJ~XZe?^FU<-|#9?`>6~&&n&2%^{u)2^JzfXmWPsW(S0*fH@@+ zr_?H6FFz&j&nw>qcWSYDUx*>oa~AqrYM}modUMXE5y|6c|0NYfB(p|FP%i1Mr|o~k zdU*$V*t;a18uPa^dY8|u$%(dnQhJFksL0IiHal3K>ZwhvEzRsXe(HvFd{|J=omA%o zKCcXv?+)nXWG_mc-jHx#N%^u-$7ek>tM9L^X1kCpNPm0tEFCoI24Pdga3d&Li`4YW zP?DjXy)X_cQuPVp5xSNAiJiGcArfs_JErc@j=BpHVlWx@Qz}nFK2zgty1+m|Y)WOp zzy0GIQ0HD-4ej{m&533wu{&{M&U-8sk9z#TwCGH;=LkkS?S9Xr2s+F59yfCA7bmB z=3r70@;+}XAn={5val{cfj`A|g;rwWlMVYA?dV!XqC;TFe&&m-@EZ4Hn_DK3=3MIh6rZGVT7* zqO%RtUFPJvWplXRBTM(KrF&+vN~M4391M*fF+T6Qq(w|7d_a^&K=b0NJnq;pV2hsK zf}mN67B)Ya!;$}jhFA%ps{a`#U;U6E^qnh`r7z;E>iEA$&?;Ao1(G0iab5OzCh-Ye z^F03^`%=sgYV!53jc?B2N*&_<0IjV&vM+n$vUm5osheGFV0l%y?4xB!x_P8IO5d-R zxZVQfyV)Vi%PoD)({y9q+Hb$0D@rNP6EZf^{407{xTn{6DXmEca zu>$^*Do<9)^|a^XQV@~b_jdbSXn)0!94Rf|7xNH(^Efmx6;b8VH%#=THfc?!W`UoP zVKk~mDGsD;k49%>vNl~DOe4rD@B7s(dDSeuodG>!^ii~=8uibo z6|%7Xkt+NRfM&Em7$d%QVU7|(=5!ZvYSV&<<<1?Jb^NFDOSuKby+=p<&G&|{l}dEK ze56#Mp^%WC?Q$kR*Fk+P+4EMm_cLk5fIVM!-S+c`?4bXdtblB|QJ_$lP~b_ekZ&!x zujA)NE6DjZDyKFvfpxB7+*{B6chsv3OZMU-BIIKeycYu2Vv#`Uq9F8L83ka3QoPO? zM~KDG4tDxj0NgZKGh|)O9+rP^-L_I+6`xY1eSZ8krMgexA4gv;{a@+uKO(ZjKqK7YMUdWw%#OOd z?1q;wXmCtahU`p=C(RDl5s4<@{@ck9w3Yfjsbvzcdx1Nb zXh;7@rWhc#gS7dLP+mtJm-)BBcP=7xU9*`l&B48(>F*ioGH+b+Bnyy^_O)X5_Qoelw> z-6x&};i;AsX6z1#Gc%BT3o0uic@If2mnjg@+4lDad0`EBzowkN%Aq`evdu5PTbq<- z%#T^x<|kJEes9W;Se+J)C9s9^CFL6r{X>fkjT;szGz~y|LZ!$2#f3LCH80rS&_%sd zkV0I(tZ@si1Baa3vT{k*a;+CLwBe-G@DeqodFUZsWo}G#T7Y?5bw&q5?99kZMz09nzurtToHwKB+5?E zG0K6RLW-8*y7es9%Kd(qm%EUq`dSQL@h*4qNk(@BI}~`HoeU#b1^wH2;jiG~ax%IY0JWOq_9S;#7@l^w|db73d7JZPdnf+v6q* z)wSbWS&ga6CFLHmP>0AqGuZp&Um{<#o=u!Z#YqgSyux+uf8|RqzMoT=BP$i-E2$BA z*jKITbEb=CHJlg(hr&p#g1SPr0A^J5swB-rmi8c6FtUM^zVEeN;dSj?lFuKSV(ZP1 zdeEEoFhTxbDW{)x7Rz;@x$VpU9khnk`9`j$R*N_CpQ}*O%cZc~w^4P2Z~xMty?N77 z8Q598y;Z0R>}-qzkn}(^I1i-q0zSKPD1=tcf$;8N#!{Ms(IXyF#93)Fjaq1{iD z15$fyA6Ll*{z+08rBb6l1@B?F0zG~%T(SWvR|@8?O>y1n(|m4&X7mQ4mQsOgzwr(s z*KhO7KAjc|5W`g@R2__`ONV>o@p8xV89`AdC^CuS5(H@L%s+&kf##mGsZQw5V;N(2 z1)JY{M+Sqldx_Lh-GyLpF}zfCT-KV$im5#gJqR$`>$33$fwPq-=POL*FU8c)X?8s6 zDC~>5HsA9kBp+qrjm+1)fKgE&!DJx$HbbWR2GW$@`{1^mY3vYE z_UBlDn!9I3e|ovA6M|mvpOBNxK;JIQ*SoF{vA77dOaV0H$!-u5+p)I#8~#9aI)R2{ zoP;kvmSPOEV?$Kq(&GF6I6P1QtuUk{-pAGno<*a&-be3y-N-G6xR!BpaDsq z5*BetkEo+;*eN^%>n$-uak&tx`s>+iHz9coA7+h>+J*jvwM~JvyF>#yFT2!FsV-$f zrWDUoOjHq_x3;?`V4)@O-Ka230R8ihh9|0kLL^Bm{%C)+S3bIcV!E%SpO&{uW@-h78kIW3Dp!*aY?%Aeg@8TmxwOqeBWO;w2uc{kpi*_7ty?}B^Haj`HskZKo_1#Mu4Ch;C}PH;XgpvY z+}U#O>t6GJ<~kh1XhkJdo)KWHkd*TBy_W8rKKc}fAJI%3&V@JZbat_-CswT2j~7;1 zjvrSiK!8u*U+6{7BxiP7-n|f45YOCck+fGD&7YI@(GKMz%K`dPA z+Dbo#9^1Eryprh0=DMZsAj;O9AndgQ=y9Tk_md zALPmExfJog*QYmAaXEry`GT%mUktS2ML%dV9Xf!t!wt%R(Z}ROtk-Kq!+W`DX?l(o z==*(=_TC1qwA`~cYg~Ylu8N7G(d2_1^7M!P#;m1 zRTuKRym>@K&s8ozSPBLbOyPPE_4RuJeeW8tts&EgdMCSqt6&l2>r%4)++*W#nWM|t ziQ^kf(;kYKf0@Rgk#GsMIWN}2nZc53@;cTLrBv?n@#9HP9kF6)pLXP}{fY3h+f9C@ ztNNHdQqgBqVS2SU@KyDbz43chJ!mG~QJX zMh2-TVh;b^6IjDaJCD_EN}a1*DVNLF@wbs%38b_0Uv-XVwI??It5*fuvnkgqyjt<~ z+go3HTpb2p?c11}CuUc*@&X#+M+51Xbnb2Fg(nBLxJg?snaw^Yv77o!m)=D7v$LSf ze%F7iG_E5+RY7e0SiIml7^(HA)ABq*J?f&84xaqSHs9_%rtd2x`Uny`hVpJdJda58 zUUi|;6nN#0+T#q3*GeZHdWlg&Ywf(I^$gcfT&m~GyZSB;5!J*QpC@xEk4|0OLPSI>aJ1yr6J@xHm9Fl>D(8<}Gd7{A`X!%w#LgJ+l9f(aMt8cdw1qt3 z=~u$NSey)jueJ&d0#VZ`AH*zjPSXn-dzvaazdzGF!>y5>$tzL89m(x9t1+Mr8Ix!X z`X^MHlm*FTL&2!~!P!b@*gx1E%!)?Doi%i^Ap@z<{z%BLbu37MC z9v}%X@QieI(c5_zmOZdqR9OM$Azj)y(`Y-tHnOr)j%1z?_WGI`Xve_D?6|TUhu1_y z@WZ3Y>Cch{Tr&&DSNK0d)4|R7z+Z-)0rlz+G`C4MO^;a{>8WLuy|&M4$g`PV$Wx~D z0Uk3W5P@)fd!P!`ZbtD4R%7>`uVm7n;U1eBt94sJ{qx`02n~kw(p8q5lJT*{4Xb=V z*athblm8c^^yjbEX;-MNWa-W-`nZnkszOx> ze5%DsW3h6>b?`2>@nKPYQAc66U(gQ)jZe7%%#jNt5{V-!6V#(PU&s&B9*C<4my@UQ z9K?ZvRvHCx8-~;n2JtOe>}+gSD{@vBIYuW696zm25KRXNOn_>dNfwV9)w@*GRW4Q~Gt2zW9K5${HO8RjD8ONe-3oU>uDR~ds!-&I ztkbKD_M&5P3i<<&%aF9{-DRW4-ppcQiz4ebYol9@#o+h=ha_cJrOfd*QeBI0l|q5n z`mtnfkoFlO@!}rHGR-nF+I77 z0gg;ogJv8XaG5N^TezEb9beO9yFT5hmJwa_& zOf5+J8*PJx^~t`8*L>Ztk8B;!d5qo;T$&N$8b8<{n4crsc`U#GXP|y_akO(?{@cAN zBDm?(-zW{ZjvCAlZ4ftdqQ5|2F}Ii%? zxIyh@7StMo*{sJjc~EFatotdo$tnQh#q!1Q@l%3tJy~mkd*w6*4YP^~?w=0+&XIFA zKYp8X#TR{X(44B>bxV^~B+Qc2MK`6ozuwUIV7y5>e64Q&$Tce{%7T${E!P@hQQeSw z_LDW(k|0`s-Og9<_Vu^7zlo9b1K@0;3Qd{NRl>jee(Nbg3Cp$*wBtJ) z4>iDK9lH7DWt_9nPVSx`7_X}&gU%G&&3y%b0b4uc0R!G-1(%+ih{oMUck07w1XC

@V&5J1S0%Uidz?hzEKEHw7kLy43;Dco1CW*XCkkCRgy7*(l=&xxlP+gPtBS2BO zdI{Ve&3?_fwwWQJ`JSDcwRca|GrXyk{xj|y0Nd_9oWorONRFcomSTm*m;*5X}@agM^A$rqR9jD8vWvq&GKm?#p!x4fl#51soQHgcgAAWl-X#er6 z(@)>?Y}s}!fn8U@243s+5RU-IJrrBM_cz0>FXvFS@hr4UQxt=(_^oObLbKa-uIUGPJg6K}5=Wooi%O&0 zIV!mhR=7O(2Uu=+xv}5<@TKJWyUU%d<=^ehmN5T(vP$kEjfY_eo(2g=w~XmIM?)VY zrltG+yXU78*3?z|ij1l5uNdig4jrR*V!Tw{tgg)qfrA?U)abpUdNeWDuS4 zv;3ilcc&3Aa7X1?&ASKra+g|10mbGV>=yO&;Y(0!HJ}rwqijqtiS3qn*L25W3j1=V z#;nf7{!qVvURAh?Ov3*7C(H4w6ZB?j3SYeLtxB;!qf$i>l@q&La))&Hr0erjSFyktBQpRP7}LCWs}L3^5&IW|=~$X9$QZIKv=-@taJ;tl>iRrt2ipcLWeVwR_P|jW ztC#Q;@C*w?B-SiSIS4cMxq~l$qP(Cm3S?bhz8NrD^0&IZs?PMi$BZT3x}2( zTy{>y_vkBS2yZwhh5J~o?_wvm29l45cI+~~&iUal7#$a{S9{Ix%@>=zMN#x&h;YJa zYYyG8mFgyEsh1jO*2gZ-S{~)ooY9(%9riM-##sMt1ICqdcVTv}uU&c<*pU^$uM%e9 zlM0^pnS8ahL4h3!v(3e~7x%*gGI}+Q-8fU}CX^zfD3_m%O{B{KVRtX2_leRZl-z{{ zVc#hYlF)`}${j1Tg`I5|;1FdqcArQv6NI=FD)rC5bjQ}>}q(^89HOhsdqV`{65cQ4t}AKjQ4L5 z-nMDvVx#vAe-GTL>reWF7kj6wEv$xKFT(r3%zQfr>SCsHRB9YhSt>XUqas&r&=tp& zs`uA!X;N}3J@X6)1(-d}FXIiGSe8DCsi|vaA`1J8Vv|&m=tweoN~X!g(YkbL+Q~gF zE_~09-8^t_eC2ctR(nepXM*C_w}^+fI~egJD*3D7u>5WYjqN@Rcd7F~TZz^Cxd7Eb z6eL`-dKnfip++&3)R$Lc%Ju4fTjYw+V$E9O+wv?yHRAzDp6(TC*J$J-JLPv$qD!gu z>_EgP3r~GoGlz~?eWd_5Id^)Ys4Tzv;4jh!3^$gMRWqXMu=%7N8C+z>+R)>iI&H%G zk^^5XQ2Gd+JibtmTa2PhQlqmlM^k$I(8bIFFMi*R)3vig)s~90zRb^BCm=dc#^N|_ z1cR_X*9~bxy{2BQ#($!#G*#lKM@7##&vJu zHms5OjLHNSV;Igj1g>%^Q})p#5-C-w9>(-V><_jDy{77630@E1M{8*uh5t1$zS3zv z`Xtqp+miXb?w{CL;fMILnxM<+ooiAdogFQ^O1-g}^95%JL~;xJ%Wyrwl*JYMYkN z(%$|n!DIKx`Q@+UbkN7tactsy=9yjLeUm+zaRSogJzV##{nm8oYuHuC>MFS_;M$L? zRe4nzpyjB5;6BBKn$jFM*c1XD)Alu%un^+C_b0Jxa%|$UB8SNMNu|_<4BkBWarjNR z1i3URcZs(1N*k+3!pH<3zvS>bb_d{YPPzz_Uj$1~=GJ*Wi>Z@Mu*gUnQIP?@RjxO- zW%xI*ADC5{b0$a)uZ_I&zgwlJL~jbNl4s;;bDhl5YxmNdA-R7J&#h3W_GOQ)S7*so z-S{QmjZPShSz&4GnM4sah(Iew5`bQeIu7+69w5Lr=9DnWKn6@a|1*^{n=D>U3xQ-% zH`QS0gu%eppQMmysrbUDG^+f?8==p7~Lty4I@u6j02zNAP0$n#6M>k5^}9BN%()=Bvy^{~6+52CWYP_*9GM z{NlnFALsb5M*#hP<K3(ZIHkZ?puWqQbW5u=^Q-%{q zpDe^Uq`8l>z8(XoLK}K?lr=Ea0O88KK-#T$X5|*xfjVcmSF=|96p?{E4;}-RVFef3 zbo@uLxE)}q_rHdoy{iUMSv@U=XW2=mOgzu^QT0vHeM7l@KRh4wIxGjB^3i8)3OWA# z_@5#{;8Ujku^oM|`y=ek_{-ss(nZdBBRZftlPc0W#%^FS7iFFQV79)emV7Bx4r@br z;BD5m7hA)ewRVEYF)4xmh^yoej$*S{`4Y|IlK7r*(Sn0S0+ zc%*}(iMgO|(IT7a6ya5yZQOeH9wa4NGOQTGn{9XjONXVFbUWj$wDJ)gT*ZCvIsK)g zE*u!7+RfHg`s|;?3Th{Pk+iE{9_4aBkl@5G8$YBIpt1Q1Z{Z+egNwhKM01#Tjg1xE zN4AT<6_p>3jZx@c^Y~cK|G7ep+@cGlSnER{Vw)SIcoBR$IQ;4gD(`yr8iX&j$B4lm zIJW93BF>x2%o;S};3-H0Fx8R)10yfyI!GS?N^c|q2lq-)Vv@)P8C!)FJqH4o?NZnk zrDY@_Y4;ma=}=*8AC6OQV9i7$F#m8w*KIe1y6!Lbr0a*t@7pX*ca$)K&g@Rl{0YBd z0Y_=yV^&vG-mC7=J9dxXbX}(FCbeK7w|Zlp3PivDv$S_10+)ty^wk?dG(9P< zvs84ZS6D5onpU6yj=ELPxSC|DREA-A{I z+UqmYyko~t?_nC?)7JAlwQAvJ$jen1pN~LA$Q6DqTIXKZ=~11isg$fffG_nGK?Ypy z;OG~#={#4$OC}Lq3q%@DaufaNH|yg8nYrS<*KIwsATXTTi6kCb_h+88nre{NbHoV7 z>j#!+4PgU$mHp+Z75DG?3dPewi`2xZ-E^3p*$y@ZnJW@JtOn%;!pvWTq;-Bg{)F~N zu!u;yqUVsvW^}CnKzjGW-)t2s2Vlxy9ArPhoNCL6 zr}Wib`B9b6rZgCJ$Ft*%BkquDjh}$44$x(8#`8z-rpzxKH>8 z)~=lFR0SNe)+Ov9ur}Pi6er(S(PJ{A?=Lzb;4-<9^Kb31SM-!}jq)TY2)VuVp>V>6 z`D+Pyzoz!C=+gW%mnu+O5K23QVh<5R(>w0b0MNCV<0-81cAUnw{j`zGd|dhWDfa7@ z+5s}u`~4&90fW00$}WOIYf<0^!F~6mdBQDw`dlu&q_v0e5+xqO$iFkC5-*YH8RsT= zH_uQPtnH9BGy(%EXsaQTg7KVH|N1!2e3~21Q~W*hh!fY0&M4Fsz-?(cUy-Z_po2j- zNj#peV-_`O43&yo^kx~e)(CMO17n zH&Zze#g);kDN=eRFTwn6_cwC4?89o!&wgYRH_I@fE5KG<&T!O_pp&Tl*^UjR?-FfR=))rZc#od!BmbU zuAD?N*-8pn$t)Fk{Z|{YWUbv#h*3#(^ASxI_8p;l$>)>caL5(3&d`_QJl3|N1(Y1;*NWgdlqej~P_9-c#F)?G?eSymc-Z@@+QmDdT`Vud}|&x{rL zp2(|s8I&i%hdY$xU%deMpv{kijq+KcH|K->Du2Ao-;8wd$BVo%zj(JLLzZKQlBu>d zmA-|cQ}$4_HLQ|d??OOQ3SJzVor%8bHX~bnzQ?Ow0_a^9%iRvG1R#2b&rYKFoVj#h zWoL$)hCGq85hn4Q(9G}=t2 zE9WI%{5l0^okvA!P4ZI>4T)Vya?`lkfR3$MsEBf9T_GFzNjn-R`}do#KBZwGKm(5N zqtg>tZk!r;_1gWA3k6N3^=aD=5HO-}Rnc68LfM(qWaNqh<%9+dWP9wH-F`4$F*Tqf z+?Opzn-VydKVvYy@-ml1+ZBE(RUjRy&ip+e z&Rol$r1SYR_79wB)rgN%0$ByXd+Ukf@2^BDrA{Mzd9Au4SF+?%>n+7w#OH8#UL{M* zLi33+G20NZCw1=UHh%i|I|uQoxX{@XH3>91sGbR^CM$KZ+1sg~>@k#%>@tgi;UBs2 zVp4$DyQ})oZ}8hRkk%an5^yysF|B`u=RX~Xg~3{E#{e|72<%KBim?K&ZwDa zSTZxT*`iOs)i(-);PkpixcR9XAHIAI+INBY zs=JX*L&p8RI}+V3zXL(ZIg>y;{vW2S|`6-8O8N&Cog+Y&9_FQC-6{Vp>wAv{w)2sPQ}QL0wV_QO%H zKfmu^s)TYT-2|M^C$(Pk1af+FZo}T2v8598imRF&sddLk7BL-4 zW{dGb=km|dTtFwNog{irCUJJr2WfY$V#!FB45XRjny$KQg9>i}IJg zp>Pj}(p57?6naB~3(UjTr3eQ;$%4aiLq6}~7i&9g-ig0!ImO37^>4sr5ZjEzAz))% z1(WMu*<|T&DM$E#jN_M6W@Xb4=LC1q3k~J<>PNOQY#q(y^QIZ6EPelGctyIf44}&x z%d8lD_w}7PK_It(we<=wNv$_hY?rbMwZaw+4mNoe?lQEJbC#zjOqs;P>9X~ESnN>q zqRNv11ODpRk6qO9==WMYr^i%XxJ&|Pff(F=3XSaGAhqHCcZw>0hTUTLN^t+j{^FP2 zH-060cOSWI2?nvqMHSqiihzQYOzQL_YXI4z<44DtHwGp(mpgYYuJx>f2ZkcAxfJ_R zEZF^~M+>_Swcdsf%H>S3W!z1uB-nn7gS451pKG(k)FV*U(0@3b?xlc?f*m3@=CGWz zr7crPwX%6$f??wySJ72Eh1~obV>%3@IfHEZEyG^9G9=Ynj?BY&0&ZeF%;i+;NI?>-k!03QbLzc)IUGj_niW<@;8;#S4@( zARZ^rO&tNg8UsvDH1xO*r>R_pWRT+Nwat*p@J@T`6IFevu^pi@V0%@%qRgsecRsj> zC|qROt81lmW#I=%yIu;z8qI{~6#f>lLkyUvg$LGjl7H0i>2G|&Y8LX8J1QW5LhRWa zBunw;QAXqZXzZmorf&-!db?hw3UK$F(pt7&<~OoR)F&QY#fQrQ5YGJ9iN^)H^7$I= z8mVBTrQcM(Kh9Au>^Kv8>KN3RId*tJU>A#1{p{c{xAl7G5nhnRto?PL2)e-(^|sZt z&F|j?khe6bJMuRzWbdki&7$|+74ryS6o6EKGD=JVxo2;U0l`9#qjGrj`C6=)Uy`-t zhi`%2rAe1GI7sccN81arZtF9DCE3XwogxIuMd2KCO7)s|>wnpQ-ujGtA3{*q7EA(D zi2FYrSK0yRCNei`P#_Y>v)3#dFw2_J+@!eWb~6z2fLI?rNRd+X{0(`(`tvT$&@_Fi zx@RSwo&;qY587IO(a3**o){$}+|4oKt3x)Xbw<xB8)xmg^aU~ zS!|^UuuQ{l@3k0nev?J=R*1}+9tS}^hF?x4M_$RrTh?8+nvuw1 zn5t7b?)&cuWfnh3(R=itO*NLb_Q9)Dsh2EOX#JFZ%fB@)D7W@J(eful4Xq`rdpXDJ z)R4Ju|FaL;VsLS)AEXxMqNVtdlE34`kgVunoj{So#L34K*o`BBfuVCd_5S)L3+!BJ zQ@~dZ^%0;<%Ql{kYU-PGa^J}*yeOmz7G8u5kT1+^IF$zo&UH9@hz zx(W0W{<^E?5IOLcley1@!fl+?rd>ih9Ptmjv78sqy___tu;9)Fr1#M4m)^`&ZvP{3 z%caNMyxPw58(eI9D-y_xjfPYtbrkDctjA40?zxSgw3R3=w1W>Du4rxed%yprIrn52 z>jeSc;zjZdYo|!IqH6(M!RWo-?rqdqgJ;oPayy^tQpvJCYw52|o#peycRf+~F8p2# zeFn$ocN^dG+Tkn9W}>KKI|U@t-Wo`+{?g+F?Rou%Nr!>JYa?AA4f!^cfxew;#Bm|r zM4Zg#%ReK--m^z84uOB8rNb)m`e$uw9ekygf=uYC5(3iem$nwQjIYZnZANG>#}w_& zXFt)nKTvw2DjaP9XbGUU1%(6%<}%UM#B{BFQc*#jTt>qVzd>obhy=&{XdXHUZ*aEb zW>2#PVB9;s@x*j3snCvTT)V0cW!{hJDzbxfkD%=`qiB1X#%Ljud%q3DDjwzzvv_OEoB&U{B^7@eg9Qk%gv-lE)Q<;P^te6IO(FbG^gWb)yW9eaS@zqH0j*=m6-);&OHKC0+ZFTLJ0G^(c_*kb|o#KQx5U!0fS z#@GVpfgx?r$y4CVS+WJDj6uT9p{E0{vDR6WM*uu~^;I{l8uu>EZL#dFXBjoob8JqrV$ z`KQ#6S!So+^|~$N`a`m0gcQ+ETmvDxepiH!urO=uvpIl(@q#L>WNJ@g60DKAdP?$k zh7`x4L<-}<{SbZ+wE0Tmg&XO{kYC1e^cSn15g6FdsB7ONFg8~S?z)@i54OdE$kxnW z^$oemN~OeUFGGkB@6~N+6oa0cDVU(&*Ou#N4wlb@*_}r3Z zk6s`H?7|P(I@Y)h(!=Jv%8_cTQR&|zmu#ycn=~260850Pi{ALP(6;2^V2+z2EM_Zp zeHkd71F(A5tyitQel66IN>{S^-NI8JP&TLF_z*CIl=8)1VP_iJmvSk1Yc?NmAF#n% z2M=&hNJ3;#q30Lr^BA4r?t`fXQ46!ip?=JFdfkdsf!3nHiH%J8!~*kbh|C@+7S4d; zIl7+uN~jA>mWc!g~8eG0XyXFS_x(0 z?_}d~WCw<;lFH)?erqkUP5eX950#Pc4MT6rt~U-1W4<%U2A;d6;w5pBcAY%QeO5w3 zU1ZqN?pSNdioCke&hZ*cqW8m&J7cOEkQKL-pO;K7`1}re) z8LVo^gv<;f7G9G!CaEOu{LJ>WWa^QGes1 z=x`@{l60l(zRmi{Z`aJ|PzzqrK2v*h*lb(#!xjI;-F2Y=#^JHeuxd16*Db=2CQ&M;*({lc0A$9MPW9w|?WMFGQ76mNQ;(`y`Prz?XO z*uF=$O12n!?Qux=E<=ml0P^NMBd&XeXIFRkDz(SV*PCT$EydKCZ-re;KaV_1?hC3VKiBw~A`sU8R6pXyz^lF)1p*ZhMbeE*4jJqF zOOAsDiM*yqW`jV0yvXwbWD-4-Qzs-PQD2Ra1@`fK<0la(6*AjLxvm3EQYea2Oy0p&wv_qk+vLgK?fNXE704^HaZ5jZPUAR=GLs=>_nR^G4@zqCdvawOv|0C= zjQX$bG65!dv%AoI;U)c_T2bV?R6r6iwh!L6b7@#vak*sq;oR0a#LQQR!#-BcT+1J@ zRA1;+6`=gm#*=5$jVs+PYn^)pkfD0KuL=sStT{MNMixvL*e`>wUlQ_QYYExxC%(&% zp{A42e#M}?LSb2TwYo7|A*5>hmd_Gckj?ZFw?9hh*({b}d_KjP+Tj}^g0Ejd-)z>|euw~E(I`-Xv2F#M{TO8aHYBQB3V@iPfp()3VM_eK zyvs%1ODVe#%j^d8{7K_ho{`m66Q(HT4%ZeMyTruT8VFO9h(+mSFPvKPLokSJ2}-Jz z{BTuI`a$olSt@f=jk-OeXoy@C9=}REBXss!9iib)X}H3F{sJ*kXnue2MSst9pV(gP z9_)HcoW^p=FZwDuDkYl#J#|!I-PZqO>npsX{DXHT1ZkF*T1rA%x|;dpVBK(cHCZkM88?XFlyU?mp*rfmcWDPK!?(eax2~hCsQU)7Ge^y}}vkI?b2Xkyh z!;-qc8^U!J7%0l?X(0tBX_;l4c4$+t>(zql+RQ?q3yOoJNB8z?$8(3eoYlLOop*&U z9u*8^r?wVt6?9iX)c8O9phN~7!Jx9~icv*}p;acaMgc+PQAP6U3|07YkLMI%zuWY-gefE9WF;8~p+JtsVm{qn7l$mN{bW}+X& ze_I4iyxqYVjhln`#&_%v(LqGO>FEos>}7F4x$M*^EoI@5&oVeIoaNj7FHu}UujYt3 zO7BrM`JV2gGMigKiUU9ol&+?F`Y%LG*`^1`!EJb^FJ_WczH+cKvx4)j+T~x;;Y+-JDzVF`K*f7X@1;bKE}MNYQ1@X>6DyY7cuB*hB&X}B(4=co|L0Nw1*s~3BB z>(x170{ArEi>#(DGi=tvXxdt z<#W?x?ASM#ND*&nFMCe-HL%y^J|ng`?QC}q7X0y>a9oc&dL`S#|t<&g4TkA?fI z@f4+H$_?hh5L+P^X=)gHd*Rvfmrc%hYx~w;fFb_862nNu>c`6hsR_2Yt&e=05z9Z; z|3wXy{fg|N5hCa$7w>PhUdh_5p-lLMuy)YnvCZoV zS0+P^b@;9>g&LJ}9Y^UOP3|-$`Mjk!VisV4P&II;Fhg1Tw<4Yox>|N zgB|mV$>PR+Cf`)seU^r`fD>eVx1+Z6ao^vHb^xQ?q)8|6L&g+wb@!HhIn?Y5!|k6j z?Q&ok@IdV8G)XS7QSOhAv-Kg)O~Sx&k26dfC)m`D9<}H4#5ut8pXq+;M%%-v@l_|9 ziI;&)((;LG0Y_<6f*Y~6TZnvIZY8jQl z=KJ+_+ebA4u!hjxk9_N2JA{BOKz|JZIFcrYXA2j%&hx)|aOu4KYcp(j1-M1V)PZ4B zW~p!8YlacZ53V7tUPx+WjTZh2RE7zv-=h8@Z>oG%)CGx9UKjnd5vFFF-(-EeyF+Vv zdn3$Ed`36RmDG@Nz?fBmE3N)Tk1b3&``#6v{ujg*6lno8B6;IBY|~|4J>~z9!lZDf zN_G5fnVKOFh@gPi_)7aH<^F0S*?vtB;S6x7@zG-&*#S!_*oAE~-ztWCP$TQMKKLSa zA({Sjrh4RbG=T$;nlP)e)NAs^;n>;;3fQ2t^&ruwaYHu;@3}w6wzpBo)}fYrOTZ*b zE429H%6`Xh@G{{V-6v`HUaCb?(5;knkao=UjhNsxNzCN7&k8#*%By^)<;|nd!vVg2EW*8DJB|rqw#?0%f4>$+jxO448$K$^i=>DdgxU-eeH<5c@K|gDUTU&LAL&vuVT9Cs&awfEfo46@?o1Fb**DsFM4ly!5V^-^A4u;Ioo^|cV*2; zPutcO&L@UjHxxuV$n3|KIz}shJ8^XXDqy6~q|A_$Q8eUqUWF~B0JQ&?$%SS60*|2z zZ-wPB>rd>~LMEVETu(u=Jvd5o|0eO1))Gh)EO0N{QbrwifFxvv5BYdkCgz{`LX_0j zdv@=WX>o4G0x^ntz10%qL=2fC2W{4JmQ=8jth&lG`zpguU?uHz=CQvgbDX-C_7t2k zKHcjzXfl#QfcYhfD}fq^Nhp>2SfSk3u)lFPHEPGmERG&HkD7i3EIcO(OT`c=DS7KF z0aR@)kwjueWb$$&#aZPaawht$nry5Q-^U5vZKz%%JXCofS9K5)%L(>oEFlO;3% z>u+|BUozBfD}kkdcqQuhz88-dX$ic{aR878tfTfSRK30}t9W7w{KOD+>t|Fxp6c3{ zb$|z?OeVvOPo*c?whMN@BCgc_uJHtxH@QkpAj?)!?fC+>m_9?ZSW}cEDYM4$U6tx$ ztiq<!;buA}5?~pe{=|oCU@&`D%S6aBvis`)TT~53Huo?A&~P<3?$2ubFY6Q1L`? zj+(m!{_#(PPEod-KMt%hgn9hBUMDisuO&ZGpbkC_btdT$Z$rF1E|5|wMR^vKl1Kak zX4YEWFvN)f^>(iVYas4X>&G};j{wFy^_6HA{TR(=tzTx}YNYk6(1$eJr@{}6Eq(yM zePC}45&c3fEEs>1;yH3{{_YVf92{I#lW)yr9N-Px)Cn1CN#EB!8=Sm(l#09jg2lT7An7Inh^3rcsXmccYTJ zlI#jlUhA%9O<+xipc{Nwv~J`0gG>T_KNTRs`wlW!$cen3tqkA)@y(BoGJ zr%k)g1^!n#g2uC2p^ZDajrM za(Af5(H9r1OOpXLF<>#XXV^a%^XvZ=WN54Ta{!*)`!blonq36w zM)ZSJ$;QvA!_7jKm9xoLvSnQdJZ(8pFKm*u>m)z4v1{i97m^S4Ou2x$pc>pCHw0h< ziFiZVd3g`RIV^@qF6GzM?FMMO97o+3@#%R~>H|d~`Z2kG;U2K_s z)fs)3ffSSsJs0Jwuo`vYwG>aA zK-U{-mDQd9K64)o|1ZcqU-NEW&?n0g!kKtN2yobA-_y$G<)!JQ|AxPi|C$@uQ6Nn~ zWAar5p5wLchB@7O-Xx0=dCl}sU}+fmCGj!loRCP)kPxSw__6uB{N1a~V{6vV`Bs_u z@5)&>xAr?p*cT>Sgo8GN=j_ktK7uMefG}tCcZ@zceS*E?tA0+7Nj7hooPb0rRzoO5 zgRMG+6e@|)pQWMAyVeTpJ$3}kf#)gz1`=2j_Vci8H*VUD4xKBr_q&`j`v-eKbs`9e z#|%Wb!N6b_BA*`h`Yy&eey#h1aq%$z{_t)5=s%2F;!+ORJN{xOeMnK%gq-Ld;@BGV zbMk?Qzvtq3af2J2?E1Sas&zHbZ`roEe z*BW(t$S8J)p!zX5Dh-v^2=t|L_>Z>mpqx16f6UBYWmE}cE}(EDlqK-uyqMA%C^HL_ zT(*>UqN%wFWoxQBA3yx+oXPgETt0Gfe%P>o zfZDkb1pLX~oXDgd4NR!*KD)>!{0dZcy8_`|V}>8gJPV3j(SX$2{p*3GConZ-b=$uq z-iz&kaXdE*_u1{c%c*6&z1wN8n1_S*|D{ zMG@DZi`PAKnAP%s4s0|ws5R{#zZ>(rp?@*vdummZUia;EexYGY-?hm0+s|)8t^3*5 zJhfVnlunM7nHFD5NM_v=Z)FZK5SQ08cD5DfZ|LWKNY=;3c`JIce^!khM=yZhG^>=w zc7T@Sho9AC6d^SV$!cLN3}niX-a7(kCzHlk+tGZ;e|x+WRq&(MoNIBNjzaz^ntt7au&TN{fFX;WsBGAX;>Lv-8WnCbtvT z%9Hu5<2t=}BN-|!gu-^6sh&0A)xi)h47VQh4+waa|JV97Mi=ki^x)&hBNiW9tP+tFyrXT6(q(7XH2gOoX zAx1^_L~F2V95xP^_j^p3HY0p6!*BB*)#gZ(kr2dC2|Xuv8#1;~Ieb#9B}(%)-|pTU z0P69y@_@0SQR8oYB8;emE>hoJJ_{jN`r09T-O|#6sqsxREjjK>&(3NqN9dN6zD(Jb zd9^i5GxhGh@7JkwM0-j>k6Y2rD}Ro*GLr;H4yy_G^g_2 zYR470wy%Vr#GJsLp|p1Ec7~9C>d8kiax%~%CtGB1SPQKo>T^~c<{%wCze?sqbghBW zsV`PNyjP6Xubl+buM@oWKz(`JiH|2IT9G{HO|%i|x@rOId#3TcpRv|j8N1~`)@RaT zPY+3?Uz@TDN5F!L!paac;h>q&;sO1u)nCuYV}mE_R|hy*^>o(gqkz-xGX#rOBOH1G*g^gUo_G=OB)jUW2(K2e&7_8t*kBEWZlM+>-K=&bxJdE zqu_F_`A~+Tc!^^BY*uOU3+W78&c|=jhvh`YS01MiC8-5@V_63`v(QN&OAbk)kM@=z zdj1QWr|{vnjAK6Hf|M^d$UyeHafWr1knWy#>Rpxk z)$iDj5+3iPcE7JEa|e)8i9AI+B!f*R#I=5T;9631U2>}P3b*K1tW2Y4Zx>k`bu1dO z!zTNFJ{I|L^SR2QlM{8sj@+6Bk47xbhX{fnT5h-lDcf!quY^%nifiY~0hYoAOSP>E z`J3{`Q7g!P#h6n*@tPA}^knW+ntP8sI3Q&b1qj9%5KLDV{4>obbT-xvcDk;Yg4)mZ z=*=ufg>w*_m3twTp|M5&gmy!Fj%TOLa=T3XJ%53i#v!9NNadqx1KswH1lw|Z>9Xju zqR^bv>P%-;SB{1-aP4khNZ0Z)D1U>rc?^KDs7Vo-I;*nPS`DVP1cebo`Gu~L`^D|j zPfexAogg`9LoT8m=BmxHP;~*7AR6*(+gh_u-#g!RnD( zLP|pIRF(H_vX!6y?x&P57XKj5xs%_lt9t`|bpiGqg8atrau+LKxN18kWf0d_J!&6} zTg{4H&3sUSoqG4E76<%9gtTY+FIT2^+St24qul)d5VJ-7>L4ep1+=g?&>>sX0iOkH zAhoLHWIEKGX)G)4jtR?W=N}$)01p&)Vqa~5yN~^Hg^Kf)ca0X7lBfCT*Tl-luB-!% zl16R^gw?NAP~^pJYMRS!+RD9>0mO4q%d2OCaB)`I%bTrcDWDfn=BnmQuwV{0f^ZMVU9H=3K^3+dhJE>u9X8 zme1!noT^mpI8saaLx8Y<@mr$jtIgL3v%fD2k~KhxRq(fV=Q7v!`Q%;yW4CJSglM7J zh?-p@aJ}zBi~gQ#l=9=nw(N&5v~=;JwV2=D@K+dbBkOv~$&LK}9E&R`Zfy+ISdl;R zzYKkMqmXeI!dR6~e8}`4xM4}Mlu(8+YlkReYpC>V2Mw7QT=#Q(kgu!BTiL)?oD62L z_In8gt^di43jS6jSw^oMn;rV<*27`NCpuCCZS%s)=3T`^b^e#WSs$7W|iq}6QWfnqXh^q zka`F&gFZfm1kCW65E3mJ=r%NKq4MVeSXd-~j|T6rHrZ-R%H}6Rm&|+guWT&N*FpTI zop_b>l^n@pvZ+m?*tIaKxGD@8WoDu3>?|EcS?;T3UhlPWe;)_9k>Fz>{)HGH^sk-L zCe?0Q&1TV_Grz>OOkgkacZwG0sN(ocpDloJu@t`9G<&ZWny~sY{r$jWbU(spUd9Yp zxA-}J@?EUCVS@Rika*q%Do;@YIl@vrZ`q8#i||uUtn3~8<^9n|)swAga8hbyFJ~e0Y6hkH5sv za7v0!DVY_OW>DFF7)Sh#0=I)FZGnl!Ip~`G)$%qKBZ3UAZoA4N;q_MOuRrW4xA|*T z2yQCGjuPBL_E1y;#t{T+yJp$uy6@=(C&BVr%0_+@hd8=KDSt3%H9@Btm+>3vjnEgI z&C!Z_sboc@I{(C% zMFpzmL>+A+*+gY*XYCgut*pXz|I5cRZ%13zDj)Le;C3x9GHI_6f>ek>X`d2OO9UDq z-t=P#gJ}h@hKrL#c!KqomII|{3VGm|K(pP}tVq*gpcTAMDOCK$!&YRutTg` z&n=$n&8vQ&4sDhd$+l5g?ikFZ_GIlxce&}N9+h^I_hTU1e7M+^QIIf$K2x~~k>x<% z2QZpO5E1u;DQFX|F^@42_wgz}yx@@dBE$0emjIimWUH5^2`^1NFObx92DW=5E!IG- zoE_Pvj(se9d?%#$dCzKKJW0703RU= zjOW7m;Vpk8UGDc;f?h}eV8pEOtboxIb6~G(u6C#x>j=`_Uzfxjbpdj(x1AX9#%^wE zA;3CFJo~^>9y6I=xdj~f3HGt|SNVpu1Q+-$;^k%X=rhZGMu=YPtog!?p5#=dT~>JO z(OsNX3w4Hd=-)G54Cgt`@w9xWdgKgfTXAr|E@PLmPxHJCkYu*{^gRG)?3da3q{+jv z#w4mnuW;^5$#{NxSc)*w=U^s1LK_Lb3PXfV(bN3!0K-M^nU6b#B7lBb0rEZ3;e?xs zOc*b?MTI(FD!vr7`1ly|O#Q?7=EQBN_giag>6bg5-GTin`=2R-mSr)FRict)- z!M2z-(VtSXTHChGwQJd)%A6Z}mDg`#jA+|$5|C00^=^D%IQBEuZfdprqKp>I z_X`i(#!p5K-EM7vyy2Z&`i#$!x@z}d;+Hz!+}RzqFG?@En5F#QoVkzlV8pteL0KvV zF00^*CKfH5eq?@DsR+ifW1J>StCO2CiYL%p`Q|Ic?{oZ0$|6b{4yZ5=qr$U{)@0Bg z_6g%?FKA8A238Z}1t#N1;>n=7joiTJcPU`hK>mE+?y5Cx*XQjWfy7)EKVh>foVt+x z_kCsxge&t#iC5p3e}_Dyz%MS<~yZDR`$VK)?DC61|e;o1XAT^+Utc0VG{e3>{;%`WhzkHYtbA-S`xZKq7SkPf)iBezWrfy3(xA= zWw0pKS~f`B+`RdHpk9-QFAVTyr`UZ2BNEr4svRDJE`Um*p$@ifvDV#L|8PAxFD#3AbL8k0rTnQ`HHzkqRsxN(oi;MO0Ebs4*fLf~W~pzX z{qk25V2-dG@d`%;4slc5xYd{qwy{6qpVT%L7}6Z^Rf{vQNPZJmJ^#szR)-XxX!~4x zI+oM?=atkOh5aP80plTRv3oE%m-lkjFB<3v0^1jBnftoK*VoSii_;qVO3o%V1IB1< zYdBx`>}~sS~gGj&|9 zegR7FYqF)UoQBNU8T=|SJVweK{3-hy zW+rLB=6pMu!p|WF7fjaHcW(z|NjM7vS=tDN`*+o3O_0LSs#t?)bR(HhrL4+kHTMRL zO^-InN9>a7le2e< zj){4SKD2?FFZ}ppfs|i?_^>*exg>Dk-1gNUB{$rD4bXGSpM6wlVwF|5kImHa%}~)Z z-IV_lOURA>z0ug#$xP51PbOl_ro9Mfh!HNvai99MVP^<%7S#6^)*LGI=C&zX17&_c z=@8YaXlTvGk39Spu8QvK;rx)6-{2(4teZ7&qV|zO>#w-Z^1r^HTKwqfJr&0Yq3B3yW=yH^G8}WNE3M9S3KO;(YvB7^e3y`#SKubZCGd=NTn5RQC0p*wz3DC zWcfYxGj;~G;rU_yn1iUU!SuqFfFsQ)|0Ai|Hzv9p zKfneTX6U5=-vHY8-DNYY*@$u&S_~kKb<1@FZ)4H519lVyrd zO3}cOm^v+8OUE1*XK9ZiD%v-edk$e*QSgtgknS*le;PU0l)&`1>c=uTBqb!iL3bUG z4xZ6%^EbCa5LYA_+|v&D{S;c&yldZ7m$FscSds^r%0h8uEoXtpwCCW?$?sBIm4n%~ z`d8MK6*FH903^u&MS|s%{!?JebGfkgWapa5-ng?stAYTKg_4-LBBm)zC}eE%=Ztyp z-VNJXu{>s9)usoAOoZbLKN1$hN0*p)4R|id2b&Cq(;A=*bqA42QHjt}9t%|J2UHUR zkv&Ux54KY*p4UF78Pe7EqWZt!fYy{=>bwxYykRI^t6ly4bK83+J3?qy2(xjZ0T`mZ zNiq`D#$Xe2NKn=Cqlycp{II0OnUS`eIDh#u{|f;xHT>oiprzD~6mK`yBFh0fQmz*l zs)I;m_#)|wqnRQ0Qs;O}8(TFL)4F^{eTilZNaR~(47gCyMACj98adSkyv-g3bSx6k z{|{*-{?xPE7CrqdpKV9e%B#F9aKjuoHFGF{>&*;U>OFAerL^QW3<@C^eW?l|CmS20 z!C7x$Ac~nr6C#M=`DS_nokG^BY4B3nOtYQ7ISO;D&D~t@O})6WKX4X(|14H_g^lrT zzlwCrTHue(f@$Cwt*)fG?Jx-?1CKT!QmXb%ZvIu(2T5TQ8Fzz&wxOI1a3zl?xjpLI}gP|ebm`zAF zHbxV%ZqiHuH$-J#>4?>wo znWG$sGLrs7r6xDcyJ0{y$pX?nV7AmIEXL%(u(|-_)=4KiS9Zva2u`wYqKFTVySGV8 z`xHRMXLICysPiiwV}zFNKUBjh+Tae}^LoavIOc-j;txHoQ-OmXkpZ(=_MP|s(`2hm zV;z}vk|OtfCn;rEradNFDRn|09k368LSaq6pP+8uGKQaIBBUP@V(;CESZSo$U2x4e z5>y6)3najH{-movpJ=-VCCxfe`7)s&XW_|5iZupO5${Ayi zlG;{>9#{y&B~53x;;^GKk2u$`Ou*2Xk#Q6xFT$$tlRuXOAqz+f7^sta7qnF8F6D70 zfbB53K|yd&wiksG>PT-$>OTx@E<83Mz}b{ zwE<^!M;5nb3sQr62CRWvoih5IPbGvls+85-a*e#T6APw2syrw~k!imh5bjwL`X{)oLtb-{ivhhq0?b*M;Ce} z5&Zdsh8OxXKW8%ECzYSnOL(^2DyuGi8%iJ+aO6toX<4H&r|*Zn-;FZQ_Ysu{W067s zc>`2SC@_Y0N>?p>_s3Z5$@yq$%llY|j^P)2?po5vz^sLuTBRSB3l(&2IQ`Dt5sgfZYEw z;m;c1HqvSs89$UN>&W-kQ*(zdLgVr%I^ZS1|60fgRXR==4<%}ENbI8rC(#eb80*Ly zlR{vrM)a+awL}Q_b=}l%6G8mFTh1y_aShgVvY>U?2b({_p2= zYo{Iyihb;u8fo$TZq333a4O98@3j|AQ$J@w*1LtbY}XQfdgCwGcYQW)ztD3^$-o@B zEY@H-FOVLiTn9cfs>P#J)O!O9>RejsHc4? z+ z>LA({x0ry-$s15cDwD9;4yY5|*`PRI{k@3xT5^~{&YG!3mMh_#wnMatgzfkykcBj7}P`=gca)yqRZ*N(I0 zHXA9M!n2W?{nMw>4u1SPP?LB;RH#Fq04AVk)Q~T*541x80bd>5*6j3$y*zq z@vuhGpnO=W8PH4;RFQ@yJMv(@Pi9_gu~-+=@7H{2$ba@QD|eplcT!sNjLXDns@eBj z|85u(a6(vrGuu6xstX8Es?uK!iGu0o^pdMi%+JL@mJv-rODlV1_jPLMl^7pkAA-~) zg`8=uxS5FOxC`$Uhc=ArBp~&0XK_N6Nf^1L3g$<#9JOTibXF2!81-O zAmner#!ggRK4rFm3N%F?IlNNYrb(jt&4ST;5Lgd&Z_5PJeQgACj$n0DUC8 z3|~#!yW#eBmmn$0m)=Qxp$5<{>{KeMLqAftoJpo?DV7+)S`b#EYQd`z928}>y)F4% zI3Vg|OxXfuXJ$UGI5ZMXiK*r0&(&!juF;1b^nP%t)+e~M&ssB?Q1t2x)a$Wo;;0R;T!D)Fp5mX)*2;El17LVf2f)=yX(2A z*x)-t-;@+lto{J8xAk#0dPry};VEpNKoH#Z!9k=D1#gnoYu;5oXM)zc(&x+w6#m&OoxQq*zo}7b z3Lz2Cs|2`ig?^)plO1fUs@|IRT%45cob1PuHXAUqoZjV3ygdgR=YpQjZVBkz+n+mx z_u3H|hhq$5C0#^3yIoPHIKPa=ekG}}TmT*2l+@sFfr#>}&(I zBTBaz{(5^*vT!pqrKjBm^6)=U1GEK|7P}%AO=MXmI0x7_I(Re=6#yu86e!`F7DRTc zp4*hMW!s)HAshFC7Ix$&HSNE852)gcNm(DjdKD9Cjd?MldWfl1BBPljXRL`9`=UJ82)X1yn< zV;#0495tk$DHxMqYs+U1pqa0F_w}j`Meo@hChc5r7 zcg-(YZHY_DN9r}TfU=0A+r0(sFbMrhpk98gZW384bY*d zl8~T$R^Jt~^l%0UC!D|ZzW_uRLHPs7^eWMQ6-To8y^=W?Q$Ze4gq-dES7tjYVjVn% zZ@F{4Alqq)>XS4Yx7|8`O=`rpHJypv?mK?x&D$?zmMNMrQixeBIdlZUt=U|WF0J9} zMYIY@J!S_OQ$N(US5puLeVyG#M=!0?&Y$-!Iunz^0Dw+%ox%@ELM~YRvXU^xEx@=D zSddo)S+yA%+dzSxEL_Trt_TLoQk(4Z%yaRYIaYrc1BY1~PVMlZo(zU8ge5IjF+R4O zS@_&Leh~(w*Vhv;B59XoBf-z?fP)YNBF%nSnzXeHC3^d;U>jKqP272?awzs7% zP^Al^om(5Y0f?~<$X2ZI9g`uCl$nWE={l4ZGWWS zJ@GPVZNLmj$MfE7hMm>6AE0SCP5&DQc^v7|68=HkeMLydcFzIw*5RxZ<=}e>1OW#x z5Bm=fvYux(6tvm{I*;5WSr6al_Yq|gd!PuF16g3xSn*~wO*89-l=4gxOL)&dLU;ymd+2YfaH|#Y?74^{a6A#*HZjp>vpn zD1SS(YfeG`yo&l}3g}pW;acOYH@xM4%O~REc)$b++nFSfqIE@XW8BSThkPWTSxmFO z?iX3ewgThO;-VlxG4L}VGKu>Z1Nvb$mLcmT!b8qsOZG?BENH!}U!$ZtBKNzM+A@UB zd$oF}e-CC=ffT-dI0rkLj3#cT)Q$Sx_NsZk?{Ng%@?O>r_bneW`mh zvw}{%m%ddkq^W=Z$zo>JmU#e60*po%MIWdtBB#S@%I zd|}qo?Ap^Udaw3MPs7Pu+MPW?L95d*$IW}CZ`_V17*JoEsMV!WG7-JepQa%x{1m}Q+0P;mTUF%RB%@x}-647H=J;z} zEUPY8&GvYx_}~34t#GGO#_c&?4NHWxN9zbnuEF+ef3n716Ti)@x4FMbY zg1JXcWgDjj^f2?czJ5uueL68SZXa3D5kB0;U=N}ZZ)T$e1y2M_z&6{9OYln)uasYs z3eKDw%_xJ$op|{dMd~J=N%?Q|MwMFEyjaFgc_8$kD6IB>TSoSMHp0zWoRm{t;ym60@9`6__C~x&X2~B7lh0}aWyUOC#7=TZ zRvwKpPSfggSt)F9AAA8`Q;O(uM{zUsVwB{;6N~(sC}KrTDxWlJjbmPh8ByLO3H^g6 zm$Bhcr8g%zVXS!_s@dL*)8{@Kk#*_C{0QfeJAUi-W0S`TR?FyRPx)Bs6|X~gxYAK~ z6Lg^H5m4S_4_YqJ#5Kz_yQ_f*@>!u+mMqIwq{$xW8om}1^y9D4WTK;Tx5oDyRz-h?^O_{dope5jq8O{AYkY9HJ#=OLV>q<(B!?cg=t|vfc{y{ zj_<)To~&)8dZ%EI8I#DL+fn^c$A?_PO79 zL`o-1DlMmx+5~{-$bj`LMGW0c%N`xLg(W_0Og1cu*#c!k=y*&6xhWC(z&jnMx-?Iv zBN)mIn9#s9NcqFK8DKOrcu-*rXz6b$9~X_wH?Orz5oQ z*dN(GZLncgZ$4b$ zg%NR7*G~)KYlB*nrj~xY4t1>ooB!vC`8z6B_(|Vql`BgWS7hN;t=$)gCE3 za?@Mw4m2i4?y-G0$o@_?CN9cUuF`m=>B#k@O)<0K6y}did&vJz>gFLJwJ!KaycoFj zujNAcsD9?m-OmV=eGKaBrYoxb!Ds`v;K#CgnEo!K93)z{;E=%1hqWNd`@}-4`?5DM zNRSHEVAMnz+@AR?5ONegvBST|Z+kSzbfyU!6=tG+=aBR=j&5d?f*`n^+97+u_3ox+ zCS9t`*UC@(DZg@RmOV8+jwrMGS^B)e>+rs^MyAfByA}8HZr3k0kC<7ZX14)AM78os zG4@V5KYw~nUU$=!O~ror)K}>Qr?O2t-X~MBtF>P}gtl<|!sa|Ia;<_xzT#`W9CR13 zj>`bdi@_auDxO8Gs27;niz>0tYTj~uH8Xc!hJNNj->L4}Xl|*`;#9W7C-X8ucwB#` z&m=3Br-JA5ygAU=UUaMUX1$;D_p(G}N?7P5V1%-L{3iVN+xNRSfZNOQwJ;O*xBg;O z^!fJZ%=EI-a(Y+wT{Ss|l4)USjdUT=8f6beK16bRHe^-h^B}WEQ8%P zfAt!U{PlD>>^9?#%Lw_7x zfN6&KWS+T=e=b?P-dw80t}?w^W0Q~3J-xMgOmCMWeLr7aZgR?UScLc8mau~E$Iy1K znSGya{xG@eaC?P}t--B0XkcJRO(#>u|4`1+($dd&Cds~)(zXUB|Jbo^DP&FJaaIAD z2WTB85Y55y8=ILT{PYK2X?Z%DTG#9@yw+-rsZrvh8PW3OJs0AEFXatEhiswS#x)QFR6PeC8R0JcvpUkP`8SYbXM6qh{d zy5t+AIx`5V5+>sIahP4^`>W8x4+J8H<@VSryMMsE*EpHF3nl6}HqyPRi# zucEG{LB+4No_^Bm{?kg?jv_`ftd&ZI;BA2_YQ;B1^x zG=s}#Kb9!&SJ(Af=>AA-|Eq&OIi*ixJbMW+1ia~6Cdq1o66RCmi}g59;)Za;^Vu2* zaH_g=s_`;#j_Bu$(98~Mhv3(Jhikl29`!Tt;T%qW+_ZE4p^!|=mt-rUpyU8rz@NSQ zdi5K7uG~g$Pvg6!sqQUGfwo*^wSWStKX_Sy`!$o`3Q1A2f)L-suW}$oj_ji`ih%~j0#1NICFsn) zxa9FGU%Lh-S-g=E8?V>&tTcwl+XCxxINb{oYwaH~H3N5=7BO97Tm9+FA*C z%8Gh(`-E2y%R&U3E+UHm#-&{Ua=||SoP)g!+?y-^tN#m)Kq zSn)V%7h?_pq`5hC19=h|jHhhEQRM2BlNXetv&B20XI~9aTNOI608o3lNum~WhreLo zzo*Gqp;SgfER^$JEIaPG#g4~T{rPdVoq8_n+7|w%GM)6PHTR? zAfQslry5X^{9<)=vgX{@=c3&GpEIr2aHS72#&(FlKnf*4z!Pa?ru~L16ty!BfzHd0 zSo#!N-eFE2jiDVd)l34V_lwR4U0Y)rX!F97U@>gOksLk=WMYZmtntJ=!}E6`K`NMt zn+waupxi#Enc6`?Y5sjFRXI&zON9OtU_=IsO30#}b3V4D=8&TLbxy{~Xg<)3l%sLj zIVe01i()vm(2aV65=Z`X-lBBfC}wS*A>$9LOWOhY4ZL(k19I(WQ7C_Sjcq+r<$!@4 z$w2XCQmlEu8`3uDO6+A|jJ({Jq`w-@7Jlz1Sy4vSb?|F;Rib!G7#QcS&dfVi7fE?0 zl>Ibva{~riECydd&w5pq{*{q(_m`2=mM@lwC}kQz1WLEGnN5H+Om%?{H|9Ha%&c1U zpKW1Gg4pH*`q*tzvFnz62tXXKD&EnIq?jWjT;h)wErX4Jvl5|vpl4qgoSwhhBifq_ zedwQh0%-^B7RsO#sX+Kp1mat3R1ScKSV1|Jy~q*xTk@OZ^^2cch8BQ+)`)go)W(MW z-Hp7jAKxtf3ah_&A{QqES?B%!qJVM?7ztq1mUjDYfsC_x&T!iJzCaqAe1R7|u$y}t zn<@oX;Vozt;Hc3B5p-IYj7@SNTdMU%-aZ$GiM`pluq%bwBmI6ocVI)70fd18gb}&P zn^}{X8>M;_xe2DVl;1Y+J~;0!M*rCEsfBGq zL)L>~Wl^VSSlQ|`i56tkhW5UXx>vo{+b7ioBND(vp=BI$ll@`Ug6O9&o!$#=G0yi#mFW$q}R&0PAVxue7 z)q%gNFn<0Pa$Y1 zg}`95>u6|VQ=TY;8C9JCdG-S{N&h@7z|sdsM6W6t`A;Qgl*s{QC}P;xE#**pQ++t* z`4I}?8uz=~n}!WP&CqLVkh*qu5ltiO)ZMl$ga06eHPyWRkk_SIl;7RMI7D(DzWOYK zH2X6#3`kD*fDT822ak*;Q(+O&jTi>9`eFX8G}l704Lz`bS-JJw-4=DbzRcW306%)&@=c!sJXR^EI$8dEm> zm&&98sSHMEU;;~L4up={-?>k_FAco*Z7eDf=+`kP2?WMWhB3)zgC9ryt(U9%VIDL# zKZtyjB)L$ZCf4n#5(|&awmldu4yJ#&4Ac>)%s{r~Z)XZffTU#|sebmGzdp{e`lgoM^#bE9~!Sj#3m<0S~QZ}I*S6O@Ls;@4T*3+FG} zM<1SuDp%JHQPWCzB;kCLBT=C*;`6q)fxNP9tOjGKW>y2K&5#SBhdVTJ$C|)t@7wUhzN5yQ8%zULObJv}(hiPB$l>HR1PH3gp_;2d9 z%KcD~P)*OU{TQ<5CX?9kv95XC&GMS-3!!$XT6x6 zJbcde3`m<^BHZGux`1-#N2aKLxiJe0hjiR)MqC2hg&ynfw}V!O)ZA}1-L55(`u{G% zhBMZ5JBv^Q7m1ozRk7XBW=1mZMKSUKN*sL{cT4hWh&tO9Gtpa1^}KB{w=6B*eknn^ z{&KhPIv#+fqH#|CZYf#Qz4t+ZLSQz~WE`KvNBF~>0%iTQr5diel)Dp}v)L&N8?t`}a&B+7LR)Gf#_!CFD!w=+g(=kW)RYE|7=?0AsfuPU+ z;j&|{T8c9+?)Z%md{`USp^2m9{B~8*qYpQ4?~%#Iba7~Lz4pSRu}k%qq>HJ{xh5x- z@CRo+?yp~8^kDeZ0x+{E#`c;eG?F6FuQm&D~*ynm5qe=hsY8yQvhD3-y%5CU#s7bF^5V`j+3g#DATK4g{*O3BK4?8`JE=q744L$ z4R449Y;6$`f#}}!?wM^)SFPY3&iH8Qnk!d$!kmi_t}-pK;4DfJ6>dz5bpnQ*XN47e zx|WjPcokov{%*V-IgyeKgAuvIZFFwMebN}bJ;PJTRJ}XrI}p+JsGYDS30-dZSH!XC zI}48(DSYJ=xYv`>%~^LOgdC7@LKPo1-^-+QGNPq!d|n!0Fs(GZ;Zj*eX=c~z7e`b| zh#=xLrd`jox;m=U2G2aSrTfQj|$IyJLF+D?BE3@ePM#Zibzg zv{Ni-)Y!Bv z14q_}eqlFL8P-~z7{k1Piq5|nl`mRuD;#EWL#c>?b|NXwa(aRe*D@5kjcnJ+cJ#WO z$S)$pmrh@)s@Uz6x3JnXHQ#=1!6p9g^VG!6hOIO=c=oVjKfxtOasf^V&=a*U;f-)0YtL;KnwmzBs4At)4g=24~Wr%ac@m&bWVJ z?IkmEb@?%eLyh2vU7T*;g0-ET?zdkp)3PqMRU!)R6!_uU5C3!HBt z_JC=JfLa$iu$GO->+C1|YQMGBYQv)If>W=gr^1}cfyAS}D1tIWZ*1voHR;U=9JK7` zSBg^129_V>A@sG@^7p@Q$&LQD99LTupTDE;)JTC7vEtzO!k2#1_5$&Aj^n?+JcW#1 zuYvGzw6~+JKDL5&u+4U3VO;QTu>cVMB4w>9>Nn#_Y2#cvAl=WD8d?#vrGHb45pl|>mSocpHplH67a zyBE1;Y{ibWc(_-v_Vz~q#hs|x$G?qgE(5T;%D$Gr8eBai>gA<$6D6LEFhFR+c*~92 zXg*8+Nv-GfPzXpJTMzyE_6c|PZ1wV+&0%Lp_Q@a$%Tk?|;d5QX>hu96Xxavd%ip@6 z-sdg)CM%rR-Jkx`p-WE`Y_$U6Ba_CVG5^&JL)3Ce>-~FLJv;Xk?av;xuixtV5tVmo zjv{jY(&$t7F8lz2_tqmfx!x(gRS-e-;@D(FKu$vEwn#fug@;1DdPRIZ?_--3NoK#f zr!9UAjUV67rf#v1V0}PfsSh8wX=BT%HsX}W$ly4B!bL9pPs#5Z7(D~cwl-?j>md3)ugG)SKYtt!Z`xK#VjfDQ-ciCgV1GV&tqY6(z#YK2KF*ni#-$GI&X7Fei1AfGy_Gl8cc&Ah&!0c?{JGQa{ zrAH-cdD+V__|=%HFbAgl{%-?snG2j*i&mEjD3Pv15@Wo_c{V?efBzn{ zZj0per?9R#DqsIp$!mqY)^MgdKMKsRnDstl$PnRb40(Ul9YAze+J70#0CXld^?~7b z|MKB4t#!HgZTG-VM~cqWr`px%=tjlAHu^f6tTdk4AG);~96mBRv?$3s6}E6q;jr(B zSpxHrd5RTRuBSEq?K&Qa8*gg?gH3Ytbd+Ai-10RZ+96Fis&3V3KB#AuZc%K}X`S?} zp0it~G={hRxof86$MtDb5~B;>8n%5+kgPL>tpx#}n42Stld+m7es$ty>*;fKA^-4NHc3Z&(bN<^H=;e z5z@K7{1AFP#!^Df>uhm0^{pR5sjTOJsXJ0|^g=sbSUn~6Lxi3Br$qT0g^g%SN(H zGdr${G(`6tHSPdh+iNA--vW1e@;3o#CkA|xkhu2{UkKXAT>sTj(agCZ;%Xc$t zgE1`AbJ-$Hh1~gB3Cfmy2(|qfJROP!$Ey7GWRzQ_dlJ9MC5^$}{@hfx+wZDQ+gkd- z(DC`lN8B~ObhR?6#HdjS#r;rcs}0@V*vLLdK}=LSo7UBRe&0<{K~FOw-bUKjz*#$| zP7jJUHc8q&cyd&cI8Pyk$wz@zDv5xruMA0QI~$2RF74mBd!BD6D|3%_NthcnwCku$ zUB=PV*e%RV)m#ZK?Rb<_b}2_VwH@(meVQ}k`bN0b_>64?TXIteEYAA&>By$1Z4e>O z-Q7X?oiFYfpB&Stgo_Oj7-HWDbRI^h?9RpgTL6$bu&#kNQiut>@Styl{^KU?!ysjw6^iTlr2Y-Vf*!QTqKZwpe<#D62E|ZV=Hh9ys@{lryC&%ftp$)@}zB|8l0VU?uFyDw?a`;(Rw>G{wa|KmA)_jf`dNSo{ zwV3I)m6y?4v0c`XQHeFXZB_!&p=ZJ8d{p9ij>y-73pBNnmn0p709{xgox6tEV`dhL zihl)Uh6|6el5h(lt39Hoq>-w6>xOxel~yjut4vyhJkE@)D$}R5A0)@R=g{e}gjP+A z#C2UU;>IeUN0_q%sNiZU41n_m(fZ`m?GEoUL2v&mxIo;wiz=4&6EPgp{7#TMcn9X# zY5ui;Z+4(=>x$ksgqE`NJuO?o@-M!w! zNJjU_muA@32R--Sj%<;zox17@{Uz)$6+Ypx)~l`WkRgGWiP4)}-Hl-@FahmFX*pN4 zuKX_lDvAxwP+BLTMdX%`Q0T8adLo)H|1-^{rmceFcWLd-xMg;^2v z(c>JjEUPE%kJK*+u$hI4__ip;_DSWN^OTKV73b0@eHt5Yd+e&HFY#WhDuL~!d#`pG zy#1QhA!-a88HvwZX zR>ES8Tq}9|k$+h42}(IsSvLRCoM+mJ+~&G#%hB`Gg`WP(G7Zg3>cUa8hBS$w*u3?J z6&~8b?olm&EZ-EJ@r%sg4rsT3^*&g72eajAzC+Lg718q`n{l(XWDK={v9`j!{YY9^ zLKgEE=SjUvKb++10%Pm#LRTLD@>wh&t@P_rRGjsEFl}pvShGEpw5_^?ahbRU>wA@I zX^!Ng&FPoY=wapt!*^G>@QPC&(sIp&sPJ=i1K#m>8F5#dyO?Yy-9QG}LpxTOCP`eA zwM`?bIB7VUUs3Wxd-Ha+x$V#0zpf;l@@1QwLj!I71%1ibH&a>JT&JUEZ1D=i3ta%9*) zN~M1;h%^|!?BEYX zD`AHp028g31UCt+8CZmO`VrZQIcrjqhxatW?-iyo2C??BIzmreW1hV?e)Uh<6|m_e z{tcw=l;UrH&FkOWMpkF|`HV>lmZG>TGP>96sB6+b6_se&?Zdhuwti$SdqrAHN(fy= z8idALMmBl0L7Xv1F=^%I(Ego+y?%H;@fPR&*W$C`^TR9W%)h^DJgA0s6ut%pcDcQl zPU1s__s3hV2Nay6OCj`Z{$b^XGGNVj+5IGN8*ba8$hYyUOyo|8VrfR*sdIpNkOu)? znf!3zsJ?Tm5eupL_6Vh(I);N{m4CY9guIC!$A5!E(Qt~czS;S1dnv$YdR~=PF>s1N z+&vfZ!azlzqfxAx5V&bxHvEYRS>C_A-7O~qC5qF!-L3#=TGzzS3nC_NJns8I_0X({ zi_tV`<&TzH&%^5-tQ{IvBC6{yUP1ORPTZrv7`!_?6I*Ge{LF$y>ij-xuBg*lH%M5$ zBXzE!#jg)LNT;+b*<0&@mK+IJQ9Y2ng8elSqXci`f)Q49o8~WfhWSxl`mzY(3i{(! zCe(|*;FS2K?}SR-+PwK-@0tk?*zzQfPq?*0`(wY+P7GTm=R?vh$umtD0WX~kQ93+a z_@mf~HekIz{nbQMHnRfloS(^KNT@Ql{@aaH^nCZvnlWhmje!_7gl!ubkw(fW4f<-rdGD@oPL% zEOHNVUPy^Y&=Gi=>2lrbkp@hz@dbn?!asLZ^y(mDJTYT9de_}t+6(s#b)Tl;gg&>} z!WaT2IU<<@Q#w76;@p|$lw~!@ryc{1Xk`_C01wS8C|RA>EQ(4<kIAuMz4DvlOX`zuk17ym!S2x$PnVm%`2!5H`? zyuxF6w}!*p+-oV+**j*_a{Q~C-$L2&u+pw8;04u=z~_Il6vO2UncpwRWqN3x)?h2#=0fb=BV%kl=)IDj-X%=8W9nNzl(zvHwN)4^<-5sv`xENel3lR zeRi-&ell4RUz_LGLvZI`xLrm3b)wbEiAhn+q)O(^(SWVE?fhiqTix+TCOPyjiUvui zKNnm{=Q(kL*Ycj4ioxm<6SrufUJm`MDI3c_;bPC9`FjpKQ4-zre)fKnBOz>L;i+&Y z8uyw1V)Jm~$Fsw;S7i~q)FKMAcpU8U)k4<0*V&JIjVg=QQS~=-F7&MeGXN~*ZlgG? zD5krDb;9RTHZEtyNOCv`Yd&upY)!h2@9q1>RCII|tI^;r(?nPOnf^MX3Fzy*m*xc9 zk21yxW5m=}%Ti+9;~@ebXS6+zm9_TWW>wAlzg55tp-JBQj1~M3DMuO-jEZ6`>~h8d&Rh)2fof z3dZ!?kxa(aq@H?>^FO+rlybBOE`KzWBA!a!7_IwugARvn-P@YjjR_!!@Bhsug)`B) zW5v!}y^kQ(90p<#ld7oNuT$qSA9Owu-e>Fwk}H;-1`}kDE)KO$Bn`J_v%sQ)>P2Is zpz*)V`(Dw1T-BXm*ROQeNla7yc&S69A>L|=#qN{@O!z;$! zgO7UQP0XnpscF{lgyejQ|8{-6gs7idt^vovH+3R`V6>ZoJXtVWd2)Pc9{FZxN`H^_uk+dn@Rww(GFWPBr&n4Au!NkYA=hy29cUF{nk8S?9v zH1|2U>QF<^4K@I=htrNI?yNKpKV2A|wfRIO8zycDBR*fJ!k`)#r^`LH)HB|LV$8p; zA6haCuC({5i`E6{0Y7d@g8UCcRiIL_pC5)fkjwl`tTXB7&Sv5sWw?^jHfpO;o66TPn0k8}2M_)KyCp;MAsW)h3Wc?VU+?_?KFw2kC7rNSZ1(=SA zJ_Kgj!spAM?os;w3oZ2hT~6D=XJgd)JI(#fYG(FHf8NE`<9!ybmY(>}HKFOhnLFoV z`I3K`A4=un%L%Aijh!uAtT|Uv)~ok2r-2>jXro;$Wx#)?x&dGV_Q2U;zspdw+Y}`H zq&jKNo=xxiq7>xZQYx>Ro!4QhWT}3=K3i1R0_m*BIhf?d_X1pEk<>Ae!3 zJ-wiW+TB}P7$tr6L9t^{PFy$3MZmHN=sJF(QfKnB=_3XcT~5XI{SmPb!b_rW#HPN! zWD+8%y(xgEL{C*IAgI4oC`ijTNxWxB9N-SuhjEAF6?IAZeOpZUKZuXd;k?onqPM;OZm zJ~5oNPAeCB9;aHhkgsKnb*v(rIkgqiZgIfcG{2W9uDsnh^qLVt%&d6rawwxk3Kz)R zH4eJ#X<3D4mGn|t>#&-MJD;Q^eA=5&=haS}tdfy9QZO%TI)z06hxu|g7?8s!&4AS9 zcB8UjrY=f9JN4EzL!pZg=od#_B|m#vbH4ZSYND~F9YpHC6+Vd$6gw+1VMbQ3Ik*or zMUG#jc$5W1?8yd9YPB^b(0P9o>=LLKhcCz5lr?6#Yi&NC=;>IJo_KdkkJaTOr|U;v zhXmPOjV&@dw^${_08CNzF>_E?%rj3jKRx-iFr|9ka|KrlZ>K8@j%2W}qPnH1mWBj& z)!+kr$#9K#HGNLNklbjvK69ftI!iXPX{6C@!L)3clWJyL=^+}#!CdZ5joMVKu*U2b z?hC@#;Ht6zX*@jsj`3#=cIHBspDN01*DbuMNRz9Wo~5bLbL#$@p5hJq`U_r5wO30U z)3S<#qinVvf}nQP(oSdpD=!cplJ^|;j}^JvP~~?sV#N7?kf}ZdOXdY4b`e)<85QL;?y%l2on0-`>BmIn`<|(9>tSy0i?jTl)Ft zikSpndy8pCE#Funb8q%C%AuNd5x428)D(lhYxF$$S{PC7z3`k()a%HyPr0RieUoVq zOk_vcKT7ar>HoRta50;=p`@|AVmEF9vr?T5Iv63F;nJOuaDAE#omnz5V$ahRdj(A9 z4*%3B@0LZj!L${OcebJ&C%)f9@w}=p$_TTv&tf-Axo9M$|PBl{A zT$li`E=as9ZGr?q{h_j_!$kLL*B7smvg_l*%uEfbj>_z_Ng6CkA2KmoKV*3{ zCAs&C;?6}mOK`R1X~#ZgvS-3s*m8^_L|5;nkr|z!0}7WDi)RuJg?j#0Ze*JF1{}C{ zSa)@iY~lJcTZwLMh3^`Pt0M(jY@V}y$)x4X{)hu_R1rvk{q|F(dJ5SJkA5bsonGD~ zfi=qdKp}U|Dkwt4F7hb~^Z4Nr_1aOniP5h+6)frOEoKu+LaW6kMOPO|fgb`~$QRS0 z>b5vgWd9X5hfrhO`~OQk(vp+P9FMMSUs7BONqF7?9S&-4TKf>L!F(`?u@XN zW#7f3cjMM+e_wl#-RYXzUpAj0CRmRI%y)`nY4QpV`BE4AS(^QBu`(%>Fq)6W~Fp2xNh`bGnoArr@?cXBxL`CU12tV zCn4sCQ>=SY@o(P;+~8_?sa5rKDKVr-Ln1z%!GXb+pTjZ3Anw*ec`@wHAR52qmb<%_ zvemklRkdu#j`e9tpFZDK_!`#Rh}l2EC4P)Ugz3w!?{js;1^&K_GT;Jn*kT+D?2OGK z11Y31zHDz6pr*(j-zz z?n6hAVeX5Qli^}OczD`G=ao^b0lwQ*uwpNFOe;T97K5gjX!4ZqG&u+RBj+PE6r}5D zX7%dGUkZuQJ!F2^cWt9meWYcV4v5Olv~LQQuO!~Y<>I!a?ZxXcxGhYbkldih1)^nB zkrQO{oVy{AQXLQW<&k=Z6)|^ok;$3=PxX<9t)a)Gv8I;78`20X|KC+&QEs>0@KYdF z9bzD*QubDY5Y!&;kbWXD4xSsSrz-%S@=MR_9>JFS`krS$ugC7LN4)A)yGBI5f-@JF zRBT=lQ35Bb4q$V}Cz*YWd^Cv&OMLSvew3Wq9}~u1uolxWrbjIXtPYaa&GyNobg9#1E2ceNwqui%wxeGN8vMyh|L7#tFof|kZxqapL z)9^3T$R{(i_A~dp=C2-XZ>_qv8JkdStJuc}4<5)9IY=Y^d*$fK6hs~qvab9n3~nfL z`NE3S{RL`P|Hka=5;~#K{MqjI4Ku((2@IQrr>#BX-W_+w>fy^Xmv&XG+9b7uG&}!2 zmegLa0%l{1?TE^7Ar>^nU+c}}Db@$C@ob_0F%#(ttUPufJ) zgM-m2ZJ(FDX@A*uS&MTuDpJ}oBsZ@e3w(CwSW>JZrd}_MQNBPj&Z>PS<}c-RAuE-~ z)`MjyI?Yk}w_rcZ{uyCa%l?~d6AMg|gsY|MI}HYay#kx6Rn+qXOZ$`StWv2N{itXA zGW&D27Pnu5%xxQlnwOW?x_%N>uWR1Vu{|Y7@62YtA48BFQQjXKO~FB*j&Fuv{@ z4&*9pqREn#_6s;^{{CEz%-nVSo1GJuO|VDYcB#^3wu%Uak21)|=T7HbFL{&@dP9xN zvdCwEvk*yD{|YKopy~@J^^WZg^BGah9F03x^1Ri>KOV9x`tG*PWb(@Qzr>e`-j4K9?X08A?IcH>);wGyu{IPnnuhu4X=7TV^z>ioK>}|K+nN=d^ z88)&S=3_WxWQKXVkx>9g?Z3m6z{{2lJBoCut0eHAwDVtMJXWPIZPO*pcMukFlHQD&g z_j3mg{u(2q=P$HeA&JJi{s#6tuy<{}{BWo5^x(5`!z*$17_>r@H`G+x?}re5vzg1o z9V~C$0(y69wM;w2&~#E{qpS)~!xQjYote?DP9sj!^R8WuRo{)C=MLJ#r6)ZH7L!_LSMh_~q1Od9%dj@x;1=93 zKX1NSVLAbX70WjvK+?4`ZSbIL5=X z)g5(YLMa}4zKyjdWf(kbrf=|=L^7}Vv)LqDH*@e3*8h5H=Uaeino?D#P=7>NTfvuI z|4LW~_0q{pIj?FlCAz|-yR1W#X*pec!Gyk1=;g(( z$#9ETE$PJbZN|5L`cGPMJw5t0c-Z&Qv0-*w={3i3yAZ7CnFN;-VsB}Rtu{tCmihPI zC&fC%Lej_n!5u+Fk_6$N#OY*4u?3dh70Lc$JPjmcT%G+n*ds!d%$*l-$LR|`JZs0^ zIL8U1E*(-?WdYHO!lI6vjw=pcl8$HcJT%sa;eqlF}zIPIo+2P8V)*TXIb< zwH&>XnYZ%D(lfvty?Jr<(eu$T{xIj#8?eL@T}%Qw>BHZz#OSg1sbm0lhzUZdg%(aFs1EtXz_Co*5ik4FW554MUNnh~DSq$r4>C!N!xF zto!%Ih*RYkz>Phz)vKR2(Ieg6)=oPDqD#MDw@Mja8T1wr$YLuCxO4o2-AOy(9`zYb z39A9VLM{33bn{$49$80RHu6@2tj7IAW%9(XlNUQVbikH9T>oT<(HS6ry|Jc~W+UDx z(~Q#HAr(~aD>VOCJ?th?>&I*uGy-d0RAyiGXs1{rERevAd%t;Rff?s1!IjS&tnQLS z{~4?h;`WfUFLkCo{4uw53_G}}^;NcI%07yJxfRQa<_^bz<1;9pAT$IVE#$V{@yE1) z#wqUAQ86!j&yJS=S>d#9@ZLWAQ;8&8Na-JSm7@W@ju!P1b^VN|S2%~rcEQK&N z`aqCsW+1+I+#_e&6fE^*mPU+Xd%Vl^PHIoP0C+VNyf_>)` za_$_qsKdQ14xL9=cFnvqpIL!8iT>vmyy$t=u0n}13f6XaCQ5sar5l^gJRb5}vDWR+ z&=(nnLUk6dEBvcYIaprIuX_4GHRan8nFpig9)PD zv}s05PM+_MqbN7;JKZu&1V7O|Dy6v9GA-gy)YbkZ6PRN9_?-RW(pF4a>84sUALmWh zPU_okM%b-YWbf}J4fg*@XDfx3=cX)Nr~D}RcA(@Z@U$uJ!h0Xu2Cj1J#*)wA^ec{n zv2WpgU%I-@_v-@dxi==#-78JuDq7>IPqE}l z_JXf`@lf?Y&PcE1_W`YY*e@WmO*05uzY=!!O$L4pZr|Be-Fe|?zwCHtloL$Xp3gC) zd-nKzn`mpwesX++|M2O-qnSP|Zh=_*t7siPva1_RzI<@;{nT%t$bd)<$E*ZnA;MF| zY5~hWZRm$6Fx+j&29J~^a!0i58k<+CvqwH=&0)#I(|{-wu-_n;6eJgi65gGAlC&TA zjm-)8#Bt-X&X8~>2HOU{LGwMWPLVNJKsL7O0Pp>};ZpypH>PZN+$oZ2*5kPE7)7O|wSeL_1&r5AzdX&y7pw0Pd)mAet zbeQ8CeH(=7luZDTxt;XAwSDJQ+1W4Kx6$K!C7rb`1kFaYP#uKRQa@4yL3xy7-TlZ4 z^^xnFZ+FfB95nJ5z;hG&ZuTS|(o!V}VxeD$GJCF`*pFl$X z%n^qX^C3pdn!5_ivQ6klm+=?SrsY?ruPf*3-=ZV)=%V_6r)jYlY#2!m2l4V!9wC1> zpn}VM@-+;=j88pN|GU@+1}=7`zJ|H%>PK6Lj==Y0Zz&0~fT+tf(+|AMKu?!dG|ieV zc%xXyiR3ooCp3AWXQSNcChND0*{ddqH9ISLw?cOE8?f(kqSHJ2z)}f={l)I2{Gazp zp_(l~rYs6O)cPXgkzCFh>zOg#vODmt3g8N1sal>801lp726m$dmSJ2OoikZ7OYgc~ z;5~17uMLzruV?|d53}oqOF7a~%7Dykm&S2o%U!r#9 z7OjB!ie(Qm;sV6C|K2p)xb>Puzgz1IWSk~7o})_^c^c)BdUvqk^*PJf1h9j~?cK#3 zSks^jk3YG2E2=N2zXN{TNXIx<Iv(PgW5yR~L7m3k|9ILv{%WhN!>}#&$ufSNS1DP9 zTi5nNYXIWtH8y75CeVI!s>Qt8yAqhJ`*h}Sf#}Vj9wj0yH?_v<7DE;SEaw-EO5I9W z^#QYWtG*1NOSiPJ3ssTOaGo@Pxe7tW?jUz$|fUn=-c0iLVR!iT)ktpzSPw| zWj1o`Iv6oZarbV9t@L*Q?qV)BE|~3mqq1CHJ-m={gr#G5P$Pbd@a@~%@0NZK7Yq)B4!HAu2~*_*<;mAE za|Syz!eXD^07C|*G{bNXI?=KQsb5Sq>hLt6KS~1@qF*Z?eRU;q)vIPPGsci>C+H9c zY$Z13`!j98Q}y?%%L>ai9ge?+hz{*i=*Mp>=7>%mVXpTP>&cMW{uk7Q+BZk7*y{NE zBMNRjg{T@N^jc5JV^HRVww#z{5s2`AF$(m4+{)WdkgeH}*|TA7XlU&5)q>)E;oh#j zf2ybdYdZd?0E$m^oc3h8`OR07@Uq?ZAP;x_!!OTxP^F4C$$^6CTh}B@*^}o!2p3s1G6Ap< zo9@ZNObI1rEY>V}+Wd-7Pu^OpnYzKzCN&`bsfME2^(8*Z+;ZCHSD7y<^u8xSP<}!$ z%Gh&idjcVkDj0mB```svRn{7?N^}}W(ZKB%o4IW=#kRv`Ta3uIp_UtaO6pj zoT;H-lzd9gmQh1&e(7Cs9_lr)6a710Oirq$h?mpRi8h*TsX*t&dVDwc1x$L!NIM1} zBNRn-EO*F~1Cz8LAe^^PZra$>oTSzB#`2xBZUDEyju(F~d)g zk^cVAydc2ILA)q$2f{#ecJvStpa|ccda(~j8&xmJolBB>!NOvs`=F+vg>wUZmZ!BT zGTPFC2rve*=uOQT@QP%Q-BQ^ zrZe{kdg8p0#`3c!jH}xw1KEEuL{JvD_)S>eVbI#9HSy{5N3Ysx+lBw|vg<9NHO|~J ze?qKwuA&Og^pUfaXbSpXko#0ElN;A*ts`98=#5)rJzkvG9ntl<0=%%OmB-znTol>D z8hFsJM6}aA{Q0CeqFe#K*Kxq%g8wRYR}-P^SOj2!T<_p^qJi7G@vOfcbVPblF$*Q? zR@XgyKLQq3RxD;#3t|qXOqDi)ZvkvdTOnk(1cVmhOmE8%(r|-KLnhnj9FjTU>sZP7 zGVc=KTpW$Ma)Wmg{Z9KkrW{*i_rAR){g59<&rl62Kv3FKTV+rCRXbJ%Lw40R5q#aN zyIO4DW~C6;|C#Q*^5>#ZAM@S33_vFKh5R}T_!4N~dPo-enSRr5=_Seo^5EO(h>cb* z?rQ5Z9rWIvS&(aXa;+IXbdFrqq~Op`QE)?mnK{7+kHP6} z{K($rfbu%e=@;vy%%&|tR&>8xuJ-8=$>9r5ac_>I3EzOLqc*}UZc~b2a^tXjc7gOY zpn2>o035{ZjS(j}O8t_&-$Fl1Laz7N0{3M&4f;u4F+jMkS%c30GZo1v3(SAibkOw4 zjOLtrTi)Q+ulQiX0Tkj+x^ZL$KC$vTTGXg?TpNoqy!~@G@%f12dX`%sq25J{o3Q3xOQ4N+r=YYebPCf6RU^ zg}C?=D6gmb&yW-s-&3_W$TZ0;2&#J@1ao%k4frL=q4kWSCbP=LKJyV>FMyF)B~Bw= z%4;&NI5sEiR((Q0$0ZB9@G9jZJ46*-$LijQ*bwA94yQLoI{pgxN#-WH-8d9xoyiqW z3rJ~Y_p#xQ7`VGS)6NASD~tXz!Q>3T!(qWKGwH^~@m%ps+)hu!1;lkmfOyCY9G1Yo z1Yg`dEBUPguh_G*)QH>KNap3ctXN^O*E3swFjc85n*@+mp|)CU^7mMd+H-qP-N`s& z*95NQUB*y@MILFp**zE61@4zK_JTU6&(>kav{2?35;|TrPFzSjXG2cu&Oh?Lg&Zwb~1M9s~>qa>e%jCm)VBo&FUH)`zC%C^e&a4LJ*ZrGxl1q&+cYYG2r75}}o56FcoC=ZudFoL%PfA_RweB()U>cUQ870LrTe-Q=b>Pr+?`l4Ly;%C zwn=*|_}}m#xm$2vHk!+je zzh^bEu=UfXlQSjL_GmM@h&%p?yAyb9d;8=M%7LPn*WaRG7!3YdoiC>H_Y5%2P9@2L zWAx@B+EBe+^l&q?T~!*{eMB6W+^o^sB!T}k+GJT=J%agr%p1yD0sxNxI1dMnNdJ*i z#u^f|Vd3hC-M*q2Xe&Jd0W3i8gOetK${AL%>`r0UH<3`$aqoueA~DqG8AgeL;TK!T zKc&07?#W#KF1>tN3iD6Ftu{rYvU>rSb|*nvns!CE;dYniq*Mn72liUShMIuI<-mTOf3^ti)ioBUyz92W zKdQaEP4erUPUgrmUMH>~vK2hX5b!4`6(wABX|ZeVKX1aqFKV)g)L&d@+7t z=j1KmSZ<+aYo?Z!w-3gpigcA0o=JPiq9=q&D~KlpvOb%nr2uIuilBtM(omXYz#p{7 z2l+9ES&n9Ib*78G_T>$=DMILWp-k%*1+ORX-y07)nKX3@h4(5Rii(Mejr993Zafro z$k&yh%G`P)heu5GXYKt`LD^DHRhRg(cue~vnCrf=^%dR|;NQKwI%=QpJP-MQk!{1E literal 0 HcmV?d00001 diff --git a/Easydict/App/Localizable.xcstrings b/Easydict/App/Localizable.xcstrings index 2263aea51..893731daf 100644 --- a/Easydict/App/Localizable.xcstrings +++ b/Easydict/App/Localizable.xcstrings @@ -2193,6 +2193,22 @@ } } }, + "niuTrans_translate" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "NiuTrans" + } + }, + "zh-Hans" : { + "stringUnit" : { + "state" : "translated", + "value" : "小牛翻译" + } + } + } + }, "Youdao" : { "extractionState" : "manual", "localizations" : { diff --git a/Easydict/Feature/Service/Model/EZConstKey.h b/Easydict/Feature/Service/Model/EZConstKey.h index f222a128f..be5472b7b 100644 --- a/Easydict/Feature/Service/Model/EZConstKey.h +++ b/Easydict/Feature/Service/Model/EZConstKey.h @@ -30,6 +30,7 @@ static NSString *const EZOpenAIModelKey = @"EZOpenAIModelKey"; static NSString *const EZDeepLAuthKey = @"EZDeepLAuthKey"; static NSString *const EZBingCookieKey = @"EZBingCookieKey"; +static NSString *const EZNiuTransAPIKey = @"EZNiuTransAPIKey"; @interface EZConstKey : NSObject diff --git a/Easydict/Feature/Service/Model/EZEnumTypes.h b/Easydict/Feature/Service/Model/EZEnumTypes.h index 4579b3cd0..8c6dd62b0 100644 --- a/Easydict/Feature/Service/Model/EZEnumTypes.h +++ b/Easydict/Feature/Service/Model/EZEnumTypes.h @@ -38,7 +38,7 @@ FOUNDATION_EXPORT EZServiceType const EZServiceTypeVolcano; FOUNDATION_EXPORT EZServiceType const EZServiceTypeOpenAI; FOUNDATION_EXPORT EZServiceType const EZServiceTypeAppleDictionary; FOUNDATION_EXPORT EZServiceType const EZServiceTypeBing; - +FOUNDATION_EXPORT EZServiceType const EZServiceTypeNiuTrans; FOUNDATION_EXPORT NSString *const EZQueryTextTypeKey; FOUNDATION_EXPORT NSString *const EZIntelligentQueryTextTypeKey; diff --git a/Easydict/Feature/Service/Model/EZEnumTypes.m b/Easydict/Feature/Service/Model/EZEnumTypes.m index bb64ee6ca..2a4ec85e1 100644 --- a/Easydict/Feature/Service/Model/EZEnumTypes.m +++ b/Easydict/Feature/Service/Model/EZEnumTypes.m @@ -18,7 +18,7 @@ NSString *const EZServiceTypeVolcano = @"Volcano"; NSString *const EZServiceTypeOpenAI = @"OpenAI"; NSString *const EZServiceTypeBing = @"Bing"; - +NSString *const EZServiceTypeNiuTrans = @"NiuTrans"; NSString *const EZServiceTypeAppleDictionary = @"AppleDictionary"; diff --git a/Easydict/Feature/Service/Model/EZServiceTypes.m b/Easydict/Feature/Service/Model/EZServiceTypes.m index 37d4fdc3e..e0f6d1515 100644 --- a/Easydict/Feature/Service/Model/EZServiceTypes.m +++ b/Easydict/Feature/Service/Model/EZServiceTypes.m @@ -17,6 +17,7 @@ #import "EZBingService.h" #import "EZConfiguration.h" #import "EZAppleDictionary.h" +#import "EZNiuTransTranslate.h" @interface EZServiceTypes () @@ -57,6 +58,7 @@ + (instancetype)allocWithZone:(struct _NSZone *)zone { EZServiceTypeBaidu, [EZBaiduTranslate class], EZServiceTypeBing, [EZBingService class], EZServiceTypeVolcano, [EZVolcanoTranslate class], + EZServiceTypeNiuTrans, [EZNiuTransTranslate class], nil]; return allServiceDict; } diff --git a/Easydict/Feature/Service/Niutrans/EZNiuTransTranslate.h b/Easydict/Feature/Service/Niutrans/EZNiuTransTranslate.h new file mode 100644 index 000000000..901a27ed7 --- /dev/null +++ b/Easydict/Feature/Service/Niutrans/EZNiuTransTranslate.h @@ -0,0 +1,17 @@ +// +// EZNiuTransTranslate.h +// Easydict +// +// Created by BigGuang97 on 2023/11/23. +// Copyright © 2022 izual. All rights reserved. +// + +#import "EZQueryService.h" + +NS_ASSUME_NONNULL_BEGIN + +@interface EZNiuTransTranslate : EZQueryService + +@end + +NS_ASSUME_NONNULL_END diff --git a/Easydict/Feature/Service/Niutrans/EZNiuTransTranslate.m b/Easydict/Feature/Service/Niutrans/EZNiuTransTranslate.m new file mode 100644 index 000000000..32fa9d6c8 --- /dev/null +++ b/Easydict/Feature/Service/Niutrans/EZNiuTransTranslate.m @@ -0,0 +1,190 @@ +// +// EZNiuTransTranslate.m +// Easydict +// +// Created by BigGuang97 on 2023/11/23. +// Copyright © 2023 izual. All rights reserved. +// + +#import "EZNiuTransTranslate.h" +#import "NSArray+EZChineseText.h" +#import "EZNiuTransTranslateResponse.h" +#import "FWEncryptorAES.h" + +static NSString *kNiuTransTranslateURL = @"https://api.niutrans.com/NiuTransServer/translation"; + + +@interface EZNiuTransTranslate () + +@property (nonatomic, copy) NSString *apiKey; + +@end + +@implementation EZNiuTransTranslate + +- (instancetype)init { + if (self = [super init]) { + } + return self; +} + +- (NSString *)apiKey { + // This is a test APIKey, please do not abuse it. It is recommended to go to the official website to apply for a personal APIKey. + NSString *defaultEncryptedAPIKey = @"O5C+RKrWBR5GLMtqiOHlyS6Ib9D8JPY7aN8/S49gwmRYZNcxpbQ6eeNso6KoJVeR"; + NSString *defaultAPIKey = [FWEncryptorAES decryptText:defaultEncryptedAPIKey key:[[NSBundle mainBundle] objectForInfoDictionaryKey:@"CFBundleName"]]; + NSString *apiKey = [[NSUserDefaults standardUserDefaults] stringForKey:EZNiuTransAPIKey]; + if (apiKey.length == 0) { + apiKey = defaultAPIKey; + } + return apiKey; +} + + +#pragma mark - 重写父类方法 + +- (EZServiceType)serviceType { + return EZServiceTypeNiuTrans; +} + +- (NSString *)name { + return NSLocalizedString(@"niuTrans_translate", nil); +} + +- (NSString *)link { + return kNiuTransTranslateURL; +} + +// Supported languages: https://niutrans.com/documents/contents/trans_text#languageList +- (MMOrderedDictionary *)supportLanguagesDictionary { + MMOrderedDictionary *orderedDict = [[MMOrderedDictionary alloc] initWithKeysAndObjects: + EZLanguageAuto, @"auto", + EZLanguageSimplifiedChinese, @"zh", + EZLanguageTraditionalChinese, @"cht", + EZLanguageEnglish, @"en", + EZLanguageJapanese, @"ja", + EZLanguageKorean, @"ko", + EZLanguageFrench, @"fr", + EZLanguageSpanish, @"es", + EZLanguagePortuguese, @"pt", + EZLanguageItalian, @"it", + EZLanguageGerman, @"de", + EZLanguageRussian, @"ru", + EZLanguageArabic, @"ar", + EZLanguageSwedish, @"sv", + EZLanguageRomanian, @"ro", + EZLanguageThai, @"th", + EZLanguageSlovak, @"sk", + EZLanguageDutch, @"nl", + EZLanguageHungarian, @"hu", + EZLanguageGreek, @"el", + EZLanguageDanish, @"da", + EZLanguageFinnish, @"fi", + EZLanguagePolish, @"pl", + EZLanguageCzech, @"cs", + EZLanguageTurkish, @"tr", + EZLanguageLithuanian, @"lt", + EZLanguageLatvian, @"lv", + EZLanguageUkrainian, @"uk", + EZLanguageBulgarian, @"bg", + EZLanguageIndonesian, @"id", + EZLanguageMalay, @"ms", + EZLanguageSlovenian, @"sl", + EZLanguageEstonian, @"et", + EZLanguageVietnamese, @"vi", + EZLanguagePersian, @"fa", + EZLanguageHindi, @"hi", + EZLanguageTelugu, @"te", + EZLanguageTamil, @"ta", + EZLanguageUrdu, @"ur", + EZLanguageFilipino, @"fil", + EZLanguageKhmer, @"km", + EZLanguageLao, @"lo", + EZLanguageBengali, @"bn", + EZLanguageBurmese, @"my", + EZLanguageNorwegian, @"no", + EZLanguageSerbian, @"sr", + EZLanguageCroatian, @"hr", + EZLanguageMongolian, @"mn", + EZLanguageHebrew, @"he", + nil]; + return orderedDict; +} + +- (void)translate:(NSString *)text from:(EZLanguage)from to:(EZLanguage)to completion:(void (^)(EZQueryResult *, NSError *_Nullable))completion { + if ([self prehandleQueryTextLanguage:text autoConvertChineseText:YES from:from to:to completion:completion]) { + return; + } + + [self niuTransTranslate:text from:from to:to completion:completion]; +} + +- (void)ocr:(EZQueryModel *)queryModel completion:(void (^)(EZOCRResult *_Nullable, NSError *_Nullable))completion { + NSLog(@"NiuTrans not support ocr"); +} + +#pragma mark - NiuTrans API + +- (void)niuTransTranslate:(NSString *)text from:(EZLanguage)from to:(EZLanguage)to completion:(void (^)(EZQueryResult *_Nullable, NSError *_Nullable))completion { + NSString *souceLangCode = [self languageCodeForLanguage:from]; + NSString *targetLangCode = [self languageCodeForLanguage:to]; + + // NiuTrans API free and NiuTrans pro API use different URL host + NSString *host = @"https://api.niutrans.com"; + NSString *url = [NSString stringWithFormat:@"%@/NiuTransServer/translation", host]; + + NSDictionary *params = @{ + @"apikey" : self.apiKey, + @"src_text" : text, + @"from" : souceLangCode, + @"to" : targetLangCode, + @"source" : @"Easydict" + }; + + AFHTTPSessionManager *manager = [AFHTTPSessionManager manager]; + manager.responseSerializer=[AFJSONResponseSerializer serializer]; + manager.responseSerializer.acceptableContentTypes = [NSSet setWithObjects:@"application/json", @"text/html", @"text/plain", nil]; + manager.session.configuration.timeoutIntervalForRequest = EZNetWorkTimeoutInterval; + NSURLSessionTask *task = [manager POST:url parameters:params progress:nil success:^(NSURLSessionDataTask *_Nonnull task, id _Nullable responseObject) { + EZNiuTransTranslateResponse *niuTransTranslateResult = [EZNiuTransTranslateResponse mj_objectWithKeyValues:responseObject]; + NSString *translatedText = niuTransTranslateResult.tgtText; + // When translated text has multiple paragraphs, it will have an extra line break at the end, which we need to remove. + translatedText = [translatedText stringByTrimmingCharactersInSet:[NSCharacterSet newlineCharacterSet]]; + + if (translatedText) { + self.result.translatedResults = [translatedText toParagraphs]; + self.result.raw = responseObject; + completion(self.result, nil); + } else { + NSString *errorCode = niuTransTranslateResult.errorCode; + NSString *errorMsg = niuTransTranslateResult.errorMsg; + if (errorCode.length) { + NSString *message = errorCode; + if (errorMsg) { + message = [NSString stringWithFormat:@"%@, %@", errorCode, errorMsg]; + } + NSError *error = [EZTranslateError errorWithType:EZErrorTypeAPI + message:message + request:task.currentRequest]; + completion(self.result, error); + } + } + } failure:^(NSURLSessionDataTask *_Nullable task, NSError *_Nonnull error) { + if ([self.queryModel isServiceStopped:self.serviceType]) { + return; + } + + if (error.code == NSURLErrorCancelled) { + return; + } + + NSLog(@"NiuTransTranslate error: %@", error); + + completion(self.result, error); + }]; + + [self.queryModel setStopBlock:^{ + [task cancel]; + } serviceType:self.serviceType]; +} + +@end diff --git a/Easydict/Feature/Service/Niutrans/EZNiuTransTranslateResponse.h b/Easydict/Feature/Service/Niutrans/EZNiuTransTranslateResponse.h new file mode 100644 index 000000000..c07f57e1d --- /dev/null +++ b/Easydict/Feature/Service/Niutrans/EZNiuTransTranslateResponse.h @@ -0,0 +1,53 @@ +// +// EZNiuTransTranslateResponse.h +// Easydict +// +// Created by BigGuang97 on 2023/11/23. +// Copyright © 2023 izual. All rights reserved. +// + +#import + +NS_ASSUME_NONNULL_BEGIN + + +@class EZNiuTransTranslateResponse; + +#pragma mark - Object interfaces + +/** + https://niutrans.com/documents/contents/trans_text#languageList + + sccuess: + { + from: "zh", + to: "en", + tgt_text: "Hello" + } + + failure + { + "apikey" : "", + "error_code" : "13002", + "error_msg" : "apikey is empty", + "from" : "en", + "src_text" : "good", + "to" : "zh" + } + */ + +@interface EZNiuTransTranslateResponse : NSObject + +@property (nonatomic, copy) NSString *from; +@property (nonatomic, copy) NSString *to; + +@property (nonatomic, copy, nullable) NSString *tgtText; + +@property (nonatomic, copy, nullable) NSString *srcText; +@property (nonatomic, copy, nullable) NSString *errorMsg; +@property (nonatomic, copy, nullable) NSString *errorCode; +@property (nonatomic, copy, nullable) NSString *apikey; + +@end + +NS_ASSUME_NONNULL_END diff --git a/Easydict/Feature/Service/Niutrans/EZNiuTransTranslateResponse.m b/Easydict/Feature/Service/Niutrans/EZNiuTransTranslateResponse.m new file mode 100644 index 000000000..d568b21a5 --- /dev/null +++ b/Easydict/Feature/Service/Niutrans/EZNiuTransTranslateResponse.m @@ -0,0 +1,22 @@ +// +// EZNiuTransTranslateResponse.m +// Easydict +// +// Created by BigGuang97 on 2023/11/23. +// Copyright © 2023 izual. All rights reserved. +// + +#import "EZNiuTransTranslateResponse.h" + +@implementation EZNiuTransTranslateResponse + ++ (NSDictionary *)mj_replacedKeyFromPropertyName { + return @{ + @"srcText" : @"src_text", + @"tgtText" : @"tgt_text", + @"errorMsg" : @"error_msg", + @"errorCode" : @"error_code", + }; +} + +@end diff --git a/Easydict/Feature/Utility/EZLinkParser/EZSchemeParser.m b/Easydict/Feature/Utility/EZLinkParser/EZSchemeParser.m index 35fe9e0eb..3983ef0e5 100644 --- a/Easydict/Feature/Utility/EZLinkParser/EZSchemeParser.m +++ b/Easydict/Feature/Utility/EZLinkParser/EZSchemeParser.m @@ -203,6 +203,7 @@ - (NSArray *)allowedReadWriteKeys { EZDeepLAuthKey, EZDeepLTranslationAPIKey, + EZNiuTransAPIKey, EZIntelligentQueryModeKey,