From eafc15bba673800f2107a504d0288a7a9bbede91 Mon Sep 17 00:00:00 2001 From: Kirigaya <1193466151@qq.com> Date: Sun, 11 May 2025 21:28:04 +0800 Subject: [PATCH] =?UTF-8?q?=E5=8F=91=E5=B8=83=20openmcp-sdk=200.0.3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../main-panel/chat/chat-box/chat.ts | 35 +++++-- resources/openmcp-sdk-release/README.md | 95 ++++++++++++++++++ .../openmcp-sdk-release/icons/openmcp.png | Bin 0 -> 55402 bytes resources/openmcp-sdk-release/package.json | 16 ++- service/src/hook/adapter.ts | 9 +- 5 files changed, 138 insertions(+), 17 deletions(-) create mode 100644 resources/openmcp-sdk-release/README.md create mode 100644 resources/openmcp-sdk-release/icons/openmcp.png diff --git a/renderer/src/components/main-panel/chat/chat-box/chat.ts b/renderer/src/components/main-panel/chat/chat-box/chat.ts index 03e5cc3..0394f3e 100644 --- a/renderer/src/components/main-panel/chat/chat-box/chat.ts +++ b/renderer/src/components/main-panel/chat/chat-box/chat.ts @@ -51,6 +51,7 @@ interface EnableToolItem { name: string; description: string; enabled: boolean; + inputSchema?: any; } export interface ChatSetting { @@ -117,17 +118,31 @@ export type IRenderMessage = ICommonRenderMessage | IToolRenderMessage; export function getToolSchema(enableTools: EnableToolItem[]) { const toolsSchema = []; for (let i = 0; i < enableTools.length; i++) { - if (enableTools[i].enabled) { - const tool = allTools.value[i]; + const enableTool = enableTools[i]; + + if (enableTool.enabled) { + + if (enableTool.inputSchema) { + toolsSchema.push({ + type: 'function', + function: { + name: enableTool.name, + description: enableTool.description || "", + parameters: enableTool.inputSchema + } + }); + } else { + const tool = allTools.value[i]; - toolsSchema.push({ - type: 'function', - function: { - name: tool.name, - description: tool.description || "", - parameters: tool.inputSchema - } - }); + toolsSchema.push({ + type: 'function', + function: { + name: tool.name, + description: tool.description || "", + parameters: tool.inputSchema + } + }); + } } } return toolsSchema; diff --git a/resources/openmcp-sdk-release/README.md b/resources/openmcp-sdk-release/README.md new file mode 100644 index 0000000..c200611 --- /dev/null +++ b/resources/openmcp-sdk-release/README.md @@ -0,0 +1,95 @@ +
+ + +## 安装 + +```bash +npm install openmcp-sdk +``` + +## 使用 + +文件名:main.ts + +```typescript +import { TaskLoop } from 'openmcp-sdk/task-loop'; +import { TaskLoopAdapter } from 'openmcp-sdk/service'; + +async function main() { + // 创建适配器,负责通信和 mcp 连接 + const adapter = new TaskLoopAdapter(); + + // 连接 mcp 服务器 + await adapter.connectMcpServer({ + connectionType: 'STDIO', + command: 'node', + args: [ + '~/projects/mcp/servers/src/puppeteer/dist/index.js' + ] + }); + + // 获取工具列表 + const tools = await adapter.listTools(); + + // 创建事件循环驱动器 + const taskLoop = new TaskLoop({ adapter }); + + // 配置改次事件循环使用的大模型 + taskLoop.setLlmConfig({ + id: 'deepseek', + baseUrl: 'https://api.deepseek.com/v1', + userToken: process.env['DEEPSEEK_API_TOKEN'], + userModel: 'deepseek-chat' + }); + + // 创建当前事件循环对应的上下文,并且配置当前上下文的设置 + const storage = { + messages: [], + settings: { + temperature: 0.7, + enableTools: tools, + systemPrompt: 'you are a clever bot', + contextLength: 20 + } + }; + + // 本次发出的问题 + const message = 'hello world'; + + // 事件循环结束的句柄 + taskLoop.registerOnDone(() => { + console.log('taskLoop done'); + }); + + // 事件循环每一次 epoch 开始的句柄 + taskLoop.registerOnError((error) => { + console.log('taskLoop error', error); + }); + + // 事件循环出现 error 时的句柄(出现 error 不一定会停止事件循环) + taskLoop.registerOnEpoch(() => { + console.log('taskLoop epoch'); + }); + + // 开启事件循环 + await taskLoop.start(storage, message); + + // 打印上下文,最终的回答在 messages.at(-1) 中 + console.log(storage.messages); +} + +main(); +``` + +star 我们的项目:https://github.com/LSTM-Kirigaya/openmcp-client \ No newline at end of file diff --git a/resources/openmcp-sdk-release/icons/openmcp.png b/resources/openmcp-sdk-release/icons/openmcp.png new file mode 100644 index 0000000000000000000000000000000000000000..43d8b1b5f251bc480978a7ecd2788907c44951e8 GIT binary patch literal 55402 zcmeEs^;eW%^zI-6f&vOC(g;IK=g=xObR!MY-Q5^S3^7O#ASvA;Eh1eqbR#u%!_eH9 z&-Z?Rzkk4;wP4nobyI{Z0ybl@Nhwtq%!zB3Lf_rktf_&U z-0e=RG3T&c$3W0o|0*W-93=Vs{MWI%%0u^=; k5auSj523$g!UX@oO5hL7)EMfGlxw2|xp{>7m8O6+R7u??v+Fwlj38 zCtlV1I2zeRAHxX nU z!NOBw)(+v(W2N#EwqZa2lk;56cfwLin`J@hOlD~}9b^3qqbmy{YEUvGfMtbO6xh&L zZ{-^@*vNp)Q)R<&=LPnSrq#hz>a3!WZ>FxsqIDpoQfsk!wSTR=CMfa~4(RMDAni_u z=jZ&x-+h$n%R05l#QE>WE;q_Z#Le8?r ZE42#wW`P9&Dq>J7?luKJDAa-aPU4XQ<`#agY zowuV6bXux!^Z`imU=ML5)jAc1jRbB_`eJ?T9J2g;7u5w7KV$3Gt_f7T*uySd0^+Zx zw#v1G<^og9aU}o6E`gYd=%Go78KFvnorSTsKca 7(Cx-xt!j>{5K93 z0YwA@LK&rub5aEPdXz!xoeDE1n#N8Ush-BxjQ9;~ocWy?uMqwutcb#wG>TgS^$=HI zO6zMUuIq4a>+dMPoa)BEUn?`a$ER-quD=mKZgJS|;%r^kciVd!P7sWsZO4f9kby5; z&0MaDMY{L>edDN$#K6$4-V7R?H?te4B@Ha|H@#wjQ-M;XLosP1qrfd!Yi69=# ?vj!d4sEmc4)&vs&U0l{iyPuTz5HwCwLy^pLiqqfJw$HpkN2szG6k>y-9BIU z3Fx1b1YY4&b7ARLZmhLfCo 5{ua0%y7m3g zbX&8Zzu&yaFxdho0`w&T@<6P>dSAUjt69Jxh42*B$|OQbm=+{r2TQRY%^WNrx=_6k zQeuPv;H!rK;FG_E`VMcx9$zLlv{4wWC4#A*1{+obqVJzI4KgiWbRMnkCds*jz!AV= zIDpPw>FNH31uu`Qxw|Hy=9HV4vD1(*ij zK?;CGF0^51>@skz;quSlkUg?I z3?C@YLla*`d##_FjK>{an7*T(liH5Yf#td~p_nFhFQJXA3^_sL^*wDp<*A=L!ekJ} zn5$Fkcl=%st K#QrO~s9&3G@Tp2k>T
7(jrq8pc^t `r8o8rF8Tw!N2i%VAu|RP!zrUZjnYlh$Xqs$Y?O4>S)CNO9)R+L=vS#4T z2tmQJG_Ut3zrX7UYzBi!M*kFK;|oqXW!@bg_5SBfqOXB0M%XQfyfT{o>3VL`QYau% z#6a~FB!`?57O6WNzWnp~PF1}8KatY`he~D@?_aMu)FIe$DqD(G2HDj9XA$ &0j z56d|M;YM(GE>J~N-JI>-VrBcy$+e26@x;A9Fmn-6e*d|=X8mJwm|V|-V^g099|#Z7 z4r~`aQ<~=Jnbdmxzb3=``Vfbi@pve{o{Fov>KfJ%CLP8|^#r6CR`IIdtaP5QQprwW zVMJ(CZ1VI@8Vva_w{`-)d1IyMZ?h0LViPzxaz-Y($5&UdmJnr#)_2>z$mD3Ny5R{Y zP<;v(l5|N{P@#~p*c^3-8Lx;^EL94j4~|WF5C6_~CuAGm-tm8lS(vU`d*QbDhoE%6 za^mKO!MH3i?|y%*TU3?gEg5vZh?nWs?RMlJFPs2d4yg={j9-mXB)KbM4jgp9oBl%s zcRU)Fj|g(oaX+G6nej69vvfe1Gfeu-ca=j#)`mTAHQ-q`m79!ivTkDwK0~td!xO72 zB$CS9t`9EmU0b6ov+k(;H0P5UhUK6#RPkld!1P}^rQ?e6B+VlPf|TiP6-P$gmGTi| zn*cm>zWx?{sWnxBPWSpR 2)!Lxbbc6%bJG#wjExRDIz~+BvBAH%mUWAm-p#-raQJ*AR-S=#+ z8e%58** =|iIW zvmfHn;oQ@pil8aa?Wx1!J0Is_Z!e67UypFiGvjgzn;Q<(Ay-XpMFb75Kz#cBhA=^T z>+I`U<5R?V$(FC>%4W)rUc#xM o2$pv z`_U?ZAYSfC>7VoU^SIf?6D{MnHNCID28hBZ?nZ9Uc6AbBo~2I&E3)k|W1FYN<+3dr z+*zt}_sc|orOtGh{8hFA=C8A`&?DQj)qcwHb@joIo)|w 3jW`?gU!v53JETKvan)4k39*tE$+G_;mmI1G|ewqz(G&)+aAx z+$8iMZ#3P42UsSovF=|!&Pf%Zytuq%cua$eRuKOF!L0SzI-f)0xGSL5kPH>-&7x02 zQeNe@-Bx=$yj6Z`#JSKZX-Q)B=|R98XeP)@^U6%GkEUua?M@O%932FvZb60iU#W z*f9c;ko{fA&oeuJF5oU_*ytdokL*4d1b^#C7d%}32)Q|@NsRIS?b22gvQ1@_mjIL@ zcSSM#QM>oLXJaH^9?yhDkw4F_s@}A8L$SBr+=kFxEf}kO1>?xoUPntwo&kw+=lM!` zN>K8JoI{8&oZ!($vi%Da^R!(zTh;gJ5z4EmrlQfQqV*Z$X Zg_rj=*s+5b0iofm**cX zDp{9OpK%b`dP5L2#~DUAQk44 mF4x*8UJ(ZsT^A`CqT+^48O)0?e zQs2t6 9D`gV0W>;=ah-+X+&XDcfQ41 zZ3*3QuNj0qKc!lILl)01al`&R=VDNo=C#BdAQvtlaTkH6&B2??N%q2y|4eJ0(43=k zNQ|sxYQ&UkWxIWkS$6fVqr>~4l|PTQgKF >O3Hf6FQ$7vm`1-7lN%ws@CZ-nK%#rtt^PZ!%%wcLJ(nT5xhxUeTcsYsk6Zz*EbX zO5JaU`Fpd!O*UIzprxF_UJprA bQ@kvcOLGihK0oPZXEPauF<^)E7@Lagzivxsrrt@;?hZ zj&Dt9tH!O+VXYxjg^6IYgqCLydI;{LUkSGTLcG0&dDBGo$$Wr7oZ3^pX=~SHFBy0F zclpv2g`3h5_5#G|+J+-vBvOOK(Zp-
GIB}hoUbOsfE zxoTX$>t_D^6T<4_2WJ^u-?+DFEp yTIEY#pOVitmv+C>Bih7&U86mzpQ^jm4jlUdU8~(QOg~t>Dl^v zl*%MYTE;dx(cmgY@&!>kyO-_!6!y*XT#Swp7*1&tlY6I(gY1^$(Mi{B3;Y-7YYB+j zCagsvQN=24zx&{9>=XWYRa}+&;I!|Li5Q28%%KapH3(o|PyNe%S6ag;@bSOu?KWzN zrYt~~j*8>wzR{_)nnB4c>h&0rQeP5F99s0Zy9KwpswMP%>HxFO!*4|> M;tp8xE|B-4J!ox#&m%Y9SGzYCkf_3Ukv0oWdED zMa@X{=w8i3gjQ!I7(bcCgP4_XTDPih4}Cc@E1~XFw@e8G<9I*WY%2~~1#rzFow(y^ zZaY)De_6dk>aiwW1BT_?C*1M>wjI8hKMPva(ajU;jRUHW?6+GHa=FAf^S0~HzHFP4 zvBv4E`OE%3ujMf
YrZ9bt>$S?R_cR(9=(oR1;w!5c=5(k()St#xU8JD z2h3I7d#mDJy-N{uY B#so-96b&P(hHD6EOULZy1mBW(`Zmxa=9lfsA>gsX;WY^%;E_5hyc2LZzwWL`+ z9)<(p%7P5Q!K@yZLnb)c`&U|JWV~_xnDSR_u}fELm5GWVxUNyp)*|-;1iY)~+#HM1 zgH14SoISHTM$VCIw{h^{YT*ZKMo{jX;&d9#wc;{WrO&P$^9cyZ)z3WR+qW$qGsSEg zC|58f_>ZIZ_tLaEg8;Rgi3{0{&2X8I23uf33!kE|tJrdnjb&O(^ddClepHD<%bHX; z2FqFt0*e_XI*@5`7}Z}XFp}YO*EcDrcZi@*(JDOm*3d{je12e$D_5F`Flc(J?lrwx z;W=Z++A73^6ALtH+~d3R!)CaMT@O$xNpR<$Nh|)uc^3w+I zT2F7*I;7y3u}k0o=4(6Nn%zG0wFEYJHTLTp @gJ<7_p8ONoTNeRWC=y&w E}s(oY9qE zz}-%a_HB%utE%c|i%3X{8F(6?lYxf&U!%8;Edd)i2=~I`#>@hyNmN3CW>ybm_p4s| zilj#R>f9X#de=?D2m(dKeS9FlpN>251aPv8FI`qIXo@GnK-}fcV$ZzCn&>n8isj1m zZS+jLI(;rzq_<(8^zzy#lcmiF3}JpbbMaj+3hdTt*S#R?`f*dB)>Q+D0oVR`wKkfX z{R8*RgzEG6E$b1J(S~JbC}ZRysQR;@NW^b|O9XUoq_9O3-imLU#B#>>!Zc!NdK3 H=a0pDcv`I^lv3baKx5PaQFh2WnGk zvu_5+(xm6H3`uW2esIB(F$YQ}V@K7rq}+-@Rw(#ACx^SEn|5YD3IfCr(oIddni6MD zAbxHhG!iE^89!$ttfb`V3v~?seFRf;da6i9j7$;K4AatgHy=L5q4BTcJX@tjdAre< z3xBL{xD4%5a?`do?kICoq(>nTkz>Sv+&;tCcCkpNrATaKs~OCet-5VWSM6K1>RZ>2 zjzUsPmUDUOG0z@6r(9J-X>|H;lys?Jqelb5g2~E2=2*XC)m3oClw`2eIu3x4Lgk$p ztehow(OK2x5+mP+`@kz0mJgh4SJnJuQDmp(Lt;ImZDYl>|0%tizvWltdr}Ols6ONx z^Je?TEl{gP32nU7*`q)O79H_G;|i8(t&n~w48Jb9s-!l{otFNLofi6gQ>91SFxbr~ zjDnW3Jo)r(KdEiSBbx4JTkb-KbvS^W>iUJjwucyCxxQNyqlwhp=}GQfJxR*0D`atV zAa6~vkn&&Tc{j9w^SV=yImA4+ZL&8(u3rRsj{v8zlDI3wB=kKBH6G!{AGO(flYzNL zr1AwMnlFc(=#ttZd{F8%HkEnjx64g)J#>^NHHxwNFy>VpPCAo{=VAxxwXBC6{}(I8 z`_~!d-pWHK c%X8CoVrlRl0Jdr;oF~E86ut554>ARrA)xh%s)J zcE$T?c*(YB$i=}dg#^X>vd;T7l;T?^Z48NB+)I>k1)3!169wgz%`~wIOSI*Z=AT z0~v*jUopu!$Kssz@phGyLEd+RfjVLa$X@$Pqu1=`!-^~U3@w$|+p`gRob6<`;g@YP z1Nd>6<{Ldc^u4Y7T4q+9K}G0WAhEZ)&%8+zExvVaPMr*YL;NdadZ9 NrkQ@(bdd=R{O(xHI$M;E~H~i>gWZKJYjqm+RDVB+^J$0t)DstZa zJH(dJ@nUn`su@jj9P}!cfHsHu9bIIj5>_H54=U|{e2FpQ?WvX!{fl2Go18ci*{U{< zG*l;zNcg*Te~m-RxU-QSFcGD>k{9Nx?2zqsO;F(rFgd zYw%>hyJ0_R1T}P}c>1K028V2gfeKVX5e4?!EX?`A9#j>i3or;{AeUL?L9`O{F_Iw` zi?-QhtP#r-42-42Y3VP-Tn;a`1HC)0Zoj!R|JpMNC$9p$=?Bf-ZmV=yqIlxH2c{Do zgBvio9$yx{Y4ULQMX#K2azB1SrFS{C*&WoRveW(MOY9QuV`0o9v8`m{Ks_p#oB! gx?7DfLMj(M1WB7?Au_2Iem zD~v`_0-*)YZX@qW9^#pHU&pWYAuk|EVKVlesnfBk3gC;?<0F$y1?Y!QjIp85R 1|@|8y4 sSX{Cs_@MOd5$4Ip~1WDtKW|KZfPi9B04A6k;ir_;{M zUvuD9+=tBosbD%@_`p_@z0W$vaG6o&y@< z4YKXz+BWY#9DU5$;&^@)!6vjh*rO^(IS#AYJejUP*3oMH^EG^PouvL#*+cCFo?iUm z6Xv9nK89jnzd}7d7^QVIEBYi*4T)E&iO=$FNEVYB2)U*s4-xT(RovTc;K+7?)JK$e(U405_tkF~6t{+?TX+_RCOTs5^xf^eHii?BT6N_FkApPp^>;F~8XkDwv z+9(^1JV1qG+~Vj+3$^P~N8jmNn+UrTrDlldK AR52-cho}C-lIeI{@@1Vu%g sx|dBVX)@M0q%09Q z)+H6furB>Dr`;t$Sn4)gw<#Sl$9#NuZ*Y~~j!wxBT93#Bswp2Qbt%lG;uk{x)$C=s zGhsIM$!+c9)_Bygm? sByc)a^r9IFb8Cm1k>Hko=_pd8(CW(aT g3n@my%QU%vHX+l*{5_c6>S8!uel3|6)}o{g>%kWZ;zy?5`Ty2b^79i@u4$DNIQJ z5Mm(`cdSl7S^4RC1}D(`>Cdk6z6cq4rE+j`|65h&ZeV~eve&FHM5}hE*MioV8Qs*^ zJ>+n$cgXr`sQV3__vkBJ8F;`xo6KU}5lg!k&?UIu)O7k?kazJ;3k%~N)q$LF{OyH8 z)Rz}8@rU~NF+*l=U)s*MOzSnikUspES(-RH16w&N$-HEZ2G8HdcQx!^|F|U#FSC^c zDPeQX3ahv^`xMKQx_xKL*Z)x|xk`7c8IU077#ubZwZFv9&BO5~e;K`>kg^q;hMt8_usLtbm28ZKVhGH0E2MC=V^txL~-ZUdi{rE>%As+WJ|q_{MD;e_?SHe zc=Agq+UaG#;&ZEA{E?v6o2@O}WsvGXmHQ%D4+Y>fmq;ZhLiT-Kv6>j|`}RSeeoOe< z@gnVynC{A$`CFO}wgJcpOtI4;sL=OMFvqyPW|pz3v-8E#3@(64IVi!RKUWDXEW^)| zoo-BTzA3Z{IHwmZo4lx$!mrM2;&U*+%P7W9w01#ayvjsG5+iPne04w?9@L a$F4PoBcq(9!pKoT@)_r#Z e-=NPyeNYT9|PhX8e~a=J>RAecfg-Lye! z%Eg!go+~lmB510i@M3J$C5oH2(5*} 9}3AWF%-tQMuD2VBVJ7KGv6s>TJWZWtEvmalq1x>xsNaB z2vXXsXVFR5rlw>zll=w$U|y-VA6zbSJEv|Y8p!U@`>vJ_1{1+Q!6Ki3)_IucZ<7w* zt+u`3zZ4XMzSin^Z9*QLVhQ%y54e~R ^%N!5=iIPL72bWaCn+cmuuW2qx zXWRDDt-b))mKVGp`-2gAwYeP_MB~tNHvS(01o*3mFWt&Nv2Sv=ITi6gE3Z@5e^BYb zhs Nv^Sib=c&WzqJZf)Iml8Bb zhj-|ovr-)x15dS!%oyD%9#dA_y)mY1Xjk0I@Eh&U%3v;2b~UrlZHN?|KC9v@YiTQC zqViXSc6GTO4&CPSZ4{Cv$Y;=z=CPK^uIQ}N-0xNw#n~Mo4Yuh_!{cq2J6gD@8vOBE zyau&3Q*rqp47K+)xYS@G9&l_rpts=as+PNkgS|zyloP l$(GRVooGFt9$I10pnqCZH+?aE>3w}NvS;FDq3 zod6Rx9a68pKGK1eO{}W(o6N*6nFxDKAbshtk`}%Jkt~QpWS_NXNIvsO%ugsrhOPxJ z$KPce94B3{YOR>lDP0*|`iAZqA^18^t!LamdmB ?K4nD!^rA Qn{SX*?+{kTq$fR#ng_Q zlX&S{`Xy{5 DSoYs(v&hIk~_U|JA+#~u6L|KXs|I=;%?Ho z{CbQqTAz)az$De2zD0J%WA<&i@Oc3ze9k0angbq5mmsgWqbi!-;h>=Pqy573C`E9x z#OUL3sXTw4ZQ;yO9>262b5a)Ns{-ct9tUd1Bn~;;FmGa0;g`?_5hL%($}kD5e=7H! zl)sk0rZOv$vy_2~h^siCLrLGo1o|dC<`4{Xgw?E rJ~Jj2VfaM}j7;gz*Zqyud3~-b@I}o$#Z8$5kKc-R2^Sx)yBDgKdkfJH zlvLQrJw4GsCDemCM(3Vg2tg?}*ldp1^Uaq9CVFLS>|U^E-kCzXS&Z_5^RWqMg%rLY zaGg`EVidGIcQZJ0UyxI0$c0_w`YbYrzrQzVg6XW%;dAEN>FJea1R4*0R+n!~Iz9Dh zEbN@sMLr!ZdkOg^9(dZjt#YqCe)22e;uO6wV94zZT!qoz3HQ5UUn&%hpI^Uo5kjph zBIX9j4lPP}cwGjYY|HtqjJ~rIeyZACGl6nEJ`U(bJJcJxYbO>!)%`dQ4Lipv=!=A= z-hqXtC}iLbC*NS@lm<2gsj#-#xU!#!TsdV^k|G03A9B1N2s8^DmGJV3M!sehPim}- z!1Mm!FE~rK%KW;)!^*Sj>C@+_*e}vBIm9eh*f=lx4oIa#KekAQeiR!QLtA?54r5jG zCo|n-g_sMW%va3~5bI;M?kewGfb8;94)a~eYVv8GQt4tr8@2UpK6BafPxE4-Jaq)c zOO$z(f@p@}TEgm};e=aAuAS6#9KR6V2WL`VHZx5s^XK`}VOq*ifX3@LPl%N*oSdGM zZ=j~1M085WWiyX8Ggw%dWa!D|MQ9b10m;;hLqRypT3O0gQ79$K!?^58ay$Kc^KJ;u zyz^Q)JQ{1d^EHNFpWKm5B03|%ot7DU(vj=$r2bGJimzg_(a(vbQ2ltu&j}ulN7((o z_ZUVeT{smvI!R%Db>;%uws7pRA7&S4@KB+C;Q1Jrz*7gs9Sh((=#)|Y=e5eckXAma z24MOh8AfRhgmxxQKbhg#av$lR=lingY@gOTm>I(3phA@!o2SdRnUUsEg9AMLP*$|f zDpEtB?E+r@Bv3Ja-*@3=$^tMNvCFBY^zJ||<{R!mR*O X-s9&?$ZB!&r-vxyndydjk|b>s~!JviOZ;ej%p6 zXS+(ewQT>$$R%-reftoH cx}~ZZnZItcnzA6=evA(Nmc5dT|W>Mb4za#aRGHRT>?q zrn(TEhV14MHd~q$>c-g%F-N2){RodN7D{qcCn+?jj(E%4FrUgco>Z%zXPd_?e=C;j zouX%eJ75&JL`T|k1?-gRd(S2Wj>aSK42v^Iacqn9n>!(-Ueu~Ad#dHOF32NCK-EQ~ z sxZ7|HP?e_P}lLy>QlR7TB9htYn-odK*oI5Q{mDqk HUCemr(u5l{zBQPQP(a-`s%@8(lVT}y=E+jmj zX4~0^u09TVvcpfxBxq!!S@gb0FvV;YOJ+zKZYM|~_jR8_i%pxDSZ%$r5Q_Xo)YRPC zvR?~teFdN>z0=-qw#l*9a_|`~R%-R<3BZOUa*iK1{iy$TF6_xsHr*_YtK5JzTKE>) z!eG$kmC$D-((V%8mg##X@5%x1w{~2@A{W2I@{%yz>1^l72E+quhL6IRh5Ly4;_Z_f zZ!kygyU^^4e1%b+KPxsU&8j7@>BLiHaH>g@_BALKS4X)>%Q&vM-%XiEd5A?L0nu=E z5!U3qN(7a70r<=VRw3`#GH{>S>YB9*l)};2N&;-%Ky;pW73xWdp>N%6!mAdp!A! zY-Y`|vSsjeX9>xBvQe9c%t7w) #;R%^|+Z3#Uou8-P`kUMuHdK*(~W zx~mp4;4<|w3SH2;cpCFae7@Y?03o2?OAWB(1G&cWG&ZA_-FHAqSl)P@xuNN7EB1Qi zjmw|?tMem;z-5ZHhO@mR%yPdTOC-g$o!Ejh47=*5ro$@e?kBp ^lesmBC;U4Gatk4H>^!_o #B{+r6SnTZfyXE~gCrNxHo%Az>Vzt*A zXd5ZDrqFnE$tgQRW$^Ng!QR16)RW7`t356w0hC2kNPlzZ@o>Tkrdnrv2W@-%M>6Py z9xqqTZ$H*|*p>+zUOcMB*fn7?rhn2}MWD)l7f)B5*2&Cf6xx^Bs7K-ROU9+=wgR&- z?6EQu%fEl+?^q&|3O}b_)BUug4QH^O()}@Dw r^0;2zWEkdX);xbITTarLvV;0JIZZnw4pt$mBt*@v zMJi$#zA8!N=Uf4_O9(hAh3En2Q!Eo>UT&q{>a+-hBR?^nF&aox(4yi*jY h_U?otHh3T z&3UM|8Z5|MHWcu*j?PCsVc_-l_3QaDxH7pAR1G25FKp3pz-`swbrLQcXur|a=C_Tl z#3;maX-SVeK=&8OODoad =oVlilHkqn95DnlONdvbW&YY z3roU_g?yGSs$z^!tCAuDgpxz?2y$7TBjjU(RFUo9z4HZL0 lL2O*7c GwnMaXy_NPQ~+kP(1rT=YIG}+C>CYWwvt1jPF?}_=)qAflZT#MqW z3-BPKBuWpZYY&MtUv!)4Iu1=O25v(mSm6d>)Y}9$?Fr!&1OL?rO-x2Z=H@W9DO+x_ z{+|`ob1Xlgy)P)C>J1;pZNI>eXKs3`4IzZKMa`%h*uFO^DQuCgNa(X{C??=xL;Da2 z)jN&|# !q$4 z|430}*x%_Fb*XrLZ&-=L jjzj4J$Z+S+)Sew!Me9n{tW bSN)%y{8w{ zz5q=8YJGS3rX&86)H|}Y+Yh66(_J;vAXh!5o-U%e`mXCGn^_4tjN2psyTNoLIjr&= zRWLNnXL!7;KF#W?Rv)itbi!VtFa-J6#bm?N3!N0Ct`5ahcF~1;jvxaTl7ZsixW|Y9 z YgSJqPCyr~GRbG#&+I;l6!Z$eo!_dB z!B2~JZ4oy0ACw7)1$h|DzIU^a8E^;}0;e0tjuauRF1^?fKxafG!>iv-G}Ejqj#6-~ zH!H2`?n`9xR~>)sp)oO`jFMVg0rIzXd=wr&6Y*B|&4jX+KQdkP%3P AQQ@L%^LR~Cd7PKcJ>?_OyRFPmS@SdWd^Hy1logg#4!YP=Q^ zd%crs94P<$5Ck7{&>;V2zb9@UGXK1ur0z&mW#X96Xt9hdm1!8sA^iAvMV_x&lkK>X zPX;LyL<7B)E5}knKD>F|Cf0oj1}e USQB8fTo26~r(uJdd)QEIT|LIXn72l(67Zs(IMhKWZ?Pia+*c@BoWx;r8_i zPh)Js5=l&)dDuD(k>O4&sbdvRZngA%DT+J7e3h)Y$M>j|lv882Qmb}L68X=RG%Cg+ zZvO&LG|2T17LL}+gP~^k&eLRf8-`AS5TqnREPEdu)i5zp5>^nS5Vm6CH1C*2bI!;7 z>`F^ey~hEtn3$sH0&6~RkpKRvNttR8mo@_W>JHoOci3cx#Q&}wMBDGN3To7%gbBq7 znc9rG8j<>for+xW9SGCh`JV+-Ud}^dand9WuREBV@;kSbW(;+MUhauLwEsm0=kPIq zotXmC^dEOrv?Jm=MYnv`oVHYSc!v+0>Bfg^UT41|#cK#xP#mBMY?Q1*z>xWL+-C(9 z72&5QOuGz3{+A%CL!Me^c{r~&jh54XMby7(b8-l&jeEDH7F(@jq|@*p{A`UWV@de( z%^QeOHY0QwGCZ6xM1x`ZD97AIkwYa-KTr>tXXO@L%RIWmc)SzssQ>RwS11G3kH&1U zew!mAz(_?+-M$g6bXfIU*$u ryvA?vz^eY~6{{aoC5tSrH#1i}mAW `pPT~u)J+aLgD6vhBLoy#}WGSc>oBdD`-QO|Rb)5txIF^K%4f3<>GrsqQ?&fZnj zBqP;BkjdnGVw$sQsB4K;ZF-APA+LBHG{b7m&xLNwr?munR~J*GotUrhx7UHFmjrz0 zqnf|jY)Hd63aAdWHa~{M4kfB_a5lKQdRWSqr6yPp{A;fz*(LtgvD=MlP^tQVc?Eyb zpgLPus!^z^y@WH5jafHOE<6a8qD=Mc@kXpCqow@z+`^X|RDa-OxJEr>x*Par+|qin z5HdF*_xbFqVzi-K`oe%3V~2`<_?QG@9Qc&k8q2nhvBsyL9G`##Dl8;7(`W&U;>Qbx zU#mki_UmWg&1!P0#OHF^$Fw-Qz8=cCe_BN5qna7cN=0@Q^W^i7aps&php9 5!~eU~cfyf!szmwy5anblB)#{zQtR)113g z8KI4$2nr$K(D RjJ@B)Ev;t8nGbod2T>VNoXPx*k9* 52JZ_B+5zb=ae6@y4(**p%i$zQGoA9 zZzX!%MsPbum~n Q#m%nWy~UpXv&!p tC zpV^4UFPaoAHYh95WG&X@V0-kyr ZG8(&6h9C}{B%=6%#m1x zKdca3#%l*|N!0%;JIh;Oy@A?I%$J0R%PgZhR(B(^8z)MdAPaYZ+y+GjB;T4!vtX4e zN{&3_XVir!-k7_PXS>;M(G0d1 M3_rT047UZY z%U=viXigw?9h_>i^Cu*n)65w)IkYr6bTnCXH1Xt*0*o`PnsAl1$x=MYm}a3fWwyiN z`59sF;PLMUz(<3KyXM*3uJV`EE3Xo$4H~lg*( en~;*FWu2xgp6iWE#nM(cp{c8p3xz^*6Bh`H6O# z&PQx}83KGq1{n&p2?%q mqPcW@ghfIeEVG zitxHV%jEpE7tvJYb0pf<^sPv}%ri*?nzd)_m!tPDI`^GYi?5jhy4*p>aRwhNKaf*w zI0?08ZZkvT1D)_pI8|(;PF dLZqZqpKBdjq>zx}Ozrx#_63^QU{3ASWA6h-13a^F{*;Ow`QOQRz z=ssrI 7^zs8KiGVBZ@vERr z)P+Qw_gTu%kF;OW^gj!++emOJL*G9?m1g<)jY$1{#cPq*#eJ5p6{SyvtX`5sV$^+v zC%n^A-r5kE5nHuGJ~~*$4z3Pdp&}_*O0ZqxU%ZJ;+&AOrlDv*L7COfLD=bv28m=d7 z3i4J#*WIz~Nj_TEe)K8&h;KLV*&kNZD6ExS+FVdF)t&;cqwS;+ssN&;sA&AgZ}x$2 zqgNisW0xl8JTCrG;I-s$<)=Kw+{|XD UvLit9jXT=SY7Y~m?M%eQn>bSTF z_Yu{MiB^uQf5|JazH0qi@}Zu$d9*BG5_OR-NT~=4)@pmjh20JjGArQzqHaT!(D$Iu zeva@}b!8WoV6?{Xb90(+MZfFp-y>xh<3Cg3Ar#-OGdkoM5SwY$Y+WuG)2q=a%fAYV z7k?WPZ_I=qDU|197d|Q&Z0U5-wEy>13R%e649ShnKZvjFLA*F_?h>+f#21uNHoa*y z+^}DK(xuOqmXq-Nt?3h9H_Uu5=uDUG>=5lr(rKRI97xioz5ZE@kX{|$g@-E*IqF}{ zU$4wSz3qqzVP}x&WamUT)uT85PeVQuVt!P35JtQAwW54bkUI7^-WAk!x>>i`s;Yv$ z+8dbh2x*VwWlpk8n#KA73_@9Q3%O!fy9xeAGsO?Sitl}u)*E*0m|H=cr(EBUrxE z;U{)IQ3FTaExJtz9cDdFqTQGEM7fa`ho6r7Wu!ipIF4C?ra|NQ(?3*1C#zhKxQ6I( zaEK`plZ4%+?Z=c+%0`kLP1IuZO{TLcKifVxh5leo{y#KbWmr^Qw5FS(BxmTB8hR*6 z=?0OK?i{+LI|T{pP9+7Tq`O;E7(hUjMnL)=zkBZw{_s5K?6X(A>s_(;WPVL@x5m&` z*8lQ7v#lZV)M%88D{&hG$@q1abV14qPtE3UWhnQ#9j8tSr@As7AW{mXjWzEAY9BhZ z2E&h}AO7G=S0ndgpjei(M&HHjPf?)pZ_C4x53m+;sbD*mi+fOUZ{ob8oY}=T(hSw; z8MpQ4d*t% ZwP;GGF(f2 zeTb~B0#CcB50l s s zlYz~}K$b%H{q#B2ErQ%2Z}N<0R=Tjid?&kZaaVz &0peS81CGG?0#pg&1Ck{Yoh=j(u;H&e0m6uK7^dRVFLS3 zQhMQ^ANCt*E>4UlOpzQP Z4A(>AGlVAE_bT zzP uw&7{2U{5q*-- z7a}efT>i2Zs(}oP)Vmwf0Rh4ybWYl7yILn{LY8I _&~%?WD#|pv?YkoS*GkMPV}rxzPCvw^d`_h(2}wAtxHSBUMX< z_<{o|@Nt#8 {#?3}2%mM_I4h8=_ bSN! deYqNs3^=DQsb7mk2*5VhH_ (I-NkUxPgz)1wUJCu)rkQU$wkS@Xe~xI|)8arcBTdtunVD&i zb8icC_Y=+aAr;TAJCIzWl+0ND+$yuxOHul4?|HAEejFKAP9bEHSWiELEG{pm-aI!v zr5>A|^n27?6T)!a;diw0hxNFjL;MsJz!7mD>mHBSX{}ag)mL6IPzoeb*y6E~eMA!7 z#*e2nj2WVTH>8x{h&~02NYl*6oc;{{EIhjbDGOVoiUc)X4XQsN{n{S7-?-?mHAq53 zVG<8J >{9{*hA-WE z(L*tAuSV|5K)E378U70?bTE?YsE9}oF9J6hzdLOLi<%29LR)h+Om8f$;zovb POs>?Q>OYs^oN9CqVObIh4Hz8zb~Y@TyChbgeNWL5lWJ8N=C#d) zGl-BqsAF`7nnlwe;R1O@1XDr#HEU0nnTV)ZY-#Tnk5!MRapeFtNV-Wtg p7d>*iOG*K8Le?%yDOm%meRFS?kzaC=nlsZ1 zeS3Rs1Z>>8W@|^#6VFx^Dj&OsQ;p!Wd)uc=0)j3=AIQL}GzzN(6bYib&t9j@gfUbo zSQt))Jyg_dkDExB9a1JCY9^lyp91soDSuO$(`5=MDN5`yc;6Ol<4M(}$K*&NNP-pM znh}$a@FEucRAH>WXE?6 *h>()1;t-SMzQoV2YSo@O*;;~NiN7LWcqL#ZyR^(inz&DHA zCyJi|+T&E*T>MpH^Q=CdRJT~3>HY0jTu>S5Q3;V;99{36aceCOJ_cL3rQNiTI357+ z_`1azZ~O4nzeqGLP4Pb0VkCYk8(!}!&_gL}z7fy+Jd7^JQ# $v-GJdee{d% zRoLEEDF%RWA;<`CJr{Da#%)j(ot}n7014!xQGH#S2u->)>Ba!_IU$S_UQ>GcH7|Wl zngz8gRC(dOh8 iQ=gEIID);pkhIxL1)6H~fS5yO{4^Xec6qI zf7iZdBY &xY>$CsDH&E;Pv{y<$C*axGoYgl*94U&KS)cgi1rglu$C%@`z&N>LF@UX+k*%cplYf z?;LjZi@KI3@5 eRE)*0F9CqWD9^Q2Uf>}$x)<~ROAyq}x^gt=Tv|<8U+_yCKma+2S^F0| zjLpMX!$Wh-cJ;|8Rx{<)`v8M9?t9G9p#HlrF@`S4L3lv7Z2ki!S0&*c*>+M4pz|}; z1n#h#JrpZwJ)d5b^$RaV!F32m5DN{kAj>RC67}-q3MRjEHRBgMEQ`t0Yf?tN@)97^ z=DsSfNj>IAlO}8#|2ZR$Hhsf_Y6XS!gPfiY!+A{aJ5xqf@D{4lU;vbYF+ys_T{po0 zcx#5-IKWOdxm)c{n*MjQ4ZbvH*yc6}=yOCH >tX*>s*5gIa!Z<37mPl?tQwNLd6p!SQu0-!%|JOQw2GyuFqsr z2s|lr;LtpY5sWWTkY{GI6&rpV`C)YO060`D$w%hIgHb-dtS^dwR3)$O)RMofWARZa ziZj9AtF(5Qt>oGus)-C86>)#A_MBdrrXe^IOxwVuHd*5J&b0ks0{8qyc`JGOYqboK zxC=DldEbb|5*lXICjV^16W;08JDPGI&j8LxJor};J@=x$)m%6KD(J5x(Ctxy0c#Mn zIL(s!5Gt{ZEI6$V!#AZv-w=F;KN=Vx@pZ0I`nTlJ0oywjN8I{FZgCt;A3}!;n@zq& z^YgVT0!bH^MS21rcSJdt^b>ya@!d!sqOPh^L1GKwIxL*$BUVu@I< v)hwt7pjX=X0|-FW& aaz5vms~wa<7X?ao_{QS3@H6Mg^J4X~5%W{qt-q9z5OeQ2X&;`Imn4AZadyIA zNs@3stXN#)fg1Su#?Jwa7?4F_^%KCmS?_qfsjknYHWI*=am42+Ih&bBIeLR9Mr-x> z`&u-q`Njt%ZjZLQ>+@_QP^Y)5oFk_n;H`zKYVg>uYn!tL{ nU3@LMT8;iTQt*2*^Qv7B@epQ?CUx*Y43H>xrC~jL@ z)YXe*hcShDo`M+^u)kQsGZo4Qi;V |$0ZgVJ4s_dq(9R+gG&G&Zv>-foM zCn>x&5b*z8)pA>%bzT8R`2joe^MsyI*7@`XKgm-3x92BVfELb wUQ$T$iEGW#Ob&%toh0=k4|j9lk)FR z9+e+rMzYJC)=$xt-&`|b7unG(4OTWD6et~b$4|tBs@sN}0{KB1|DpdR8>v9;rCM*s zkVIlQ7_-@I{uBC1{3m*#Dh!0l*eEo0KI|IYvSfiD^Q tC|1Xo9UbA&` zAc_lc&8J4zi*p@zE3IR^e*4#vLpuUH3V^ssWV3bRJU2{YVM9lF(dmLM^Os{wE`#@1 zK|jP2M~KM!SC%B$cz~k&PI)=Fx)}X~zA RI4FOyd}e7B?0b4z2!9=7Pg( zbJdvYe)J9;?EKPIFANA7s(r}1GWAKV;j!^_;G&|_o2T#Rrt$p6dp0MQc)7R}N$kdw zA4 @mQ@0t&X3jo)DX;Yzszoh(J!${(BH7+WUh2kGXVzXb==u=Xq zm13*xwDBks3$=^{67V}MPx12pED|8MQpmnvtwD|L@6F_;LZ~9nZ+MAefS0SZz72we zDJj~7@|xG?(OHHr(v?nxN2nDS(d7Q nRSoWp9g&6k+`j_p;-De|WB+>my_IQ1}!T6;KNrcEf$t z@t-Hg0q729$LK`{pr#HGasY^*(Iq<|a3ihBi~sHIiPHUHcSj{z3Rbk>kUs2`AC7VR z*iyUYVY*E1V+VY&TJQRV#ZTC18yc%e=vo**#Vb3ku?4&46gt2SQtMfo(x<*it;36E z8l;N@sms<+BCfpfXrBaQUq3E{p8M*=L%J=o5D?X@oEAbdoBg=T3_(6CAt^$+cpY|o zPHsIJxBg6|R)dQ98h0-{eB@u LckkGoLQ8LhmF~Fe2|C4xS8) za`7$5Nvv1p%8g~DZ$+PCt~D`C_>VX(xB0svqrQ&YYUXv|o~h1xJ&9wRyHOtj_?H1E zmxg033G`RS)yy!O(202iZnyyTZy`SM``AL(3cr^iq>zSNCrobo)}8=c`JJRVfJk_A ze-*>%{oOAiLXL!;vnIn!omScGX(aW&h`70Qe!y|IS =Q) zh5}ZhD(jHiHK=+Q h{Jlf-}Zm zA~6Apf}L8|qwBP^J8qZ}VIPl%CB&@ypmtZOCwSV>rY2p!QjV*w^f6){DyVD7A%0#> z8o>UV141C_DD4Pb<;jx%9zPJ)7luHoc=vAmJWG4M2=LK$51S!sseWUENYaeTl=`+n zirAcgF=D0kYT%P_Cx`eS-q>0bx+`QpF1Y6<3PGSMRmyw>6aY|?tXRfYbatnNqzQ{t zcaJze07W|nZ{|~r&f*X@gzoSfrWB6=yBeeNX^|SuSgP43yPEnS@O@WKYl%HIAV!Mr zV{@BQ5tT)x2pd$EcuU#mn6G)%% eULCB?ccWPTHz?HPq`);h9>y;%@hg~moX?-8()WX8s^{s!q<4@`o+Ol=| zwE|Y(-b-4k=XgqKwWK@78$&SV?HLBt;&-*KJX9im02nl$=M~>!kR0Ncl2quU5IG*+ zdUw{H0c5)OW}eaaM=X9OHRhKi$1j=KK*EruthKW~O0=xEG0|l%k3hRCP@NY%1t}fL zyK_kKNoGMy{|wAO@}$hdPTh!nRFqX{f48{BsGgG8bEmg)#`mjv)cg?Q&dqoJZ1?YV z`M4Ffy$^?8vVMlQ85n2{4gfJ1r_g>5FD|pcD|mk}q0StWc+GnlV2s!{G8rgti+$lf zF}*Dp;1&_ie}cCq+`XQ72BymK5!Ct$c(J2gbG6&AzxeumCml++05`^01FqIXFl8-Z zLy%?+d#4-^VTwa2lTrb~(Rn^wX (#>&b$D-h@>bli*?JT4_%sO6AbdP$kl}mmeyb+~%479GWfrX%?Sk;`Zin z#P{F73zp>pwa{mU&kskPA}qhdKkm5_1F2o4gTc;^S!sO+%u#1Wmr&V|&~SfOtUf7# zm(=HoYY2(5X QG0Jl&~{dw1>I3pagDM2kh?ZS^i_235knGq$(kx!Kp3@{HdzzJsP4; z4``{` x!}iaqMZ7vkt^7|K8YFefgoI}b*KLs{-~ zy76lvxndFtsPC@K9^{i8&_}FxlG5q0wy!b^^k9J&gp{A~`&y!GRFM*7?^eL=fwk;a zp4HBz00{W~94X0f*Al0)h5D#wc4{quo(}t#ox~!M|6oC*9H7SWi89l)oTcx(8og7l zI3GsH0KPQg=-$Gtn_^06>EUE&*nnCX&>rB6je+DXCq!RazE%$Ph*S$0p=!@c5$b7k zYbQZW{;tG8?qy b~N;?}VE;m`AB!?xE8$$pTU3-H}v6ttf3n|qiOhwD1SsK}9t ztSh{)5KrBmS6ix4P9>~|#(!9P?Y;|}>eoT*O@n<4>HWg?17bbGpRD2-%G8>; 4Lb#sJ4A)Ie zbex5bsZ!?JcM?34i{bX4VN`fX`>P8daS8I_S~YDjFDohy36*|H>@Y=)igy#m+S()f zB7j~H<#Jqb4aO9Y*Rv`h25G>WU{oIs*63eQloh4*-A=y$ER1dOK!zK?!` #D<6xkB&jZe9$F9pR7Q-Z?zNLz)ITa}=m zA2hi4N_7;C6Ad-<%ZrNAqo>puuJ-&yT^^R}bz~gT%U=EUaAKjztWtT0_b5 tUyP`E@yE zT?cyvuup*E_RY?itn;pO8#-F8B4wecS28E4g2RopCi75iyiyoj1v(1HLMx2FK3dRv z9|t~b0~s (SwMNQ!5yOG4-rtdaR-0+@>r3GjO6 zlGyv@a7JR%$`wXIiMvix9v!D3{ePU_4(ZhVZq)q$X92|P(n@t^{%mF*ChFnba7%wk zMtgs G4a!>(R~~w4r&iV%lMJhSW>wCQoPSF%42t3FsDm zrbdyDH84wh7Xo4!_ORF2$X3f%>Ly7 (TiVh+{ z7;D-a;sL3l)jA@E6tEg&0i-uIT&k?Uo-LF=$vfh+seO1C@fl{X%20TJnCPI++FS-b zT9fC;9&}bbmT@C!cE@&ow4#`P8oO$hWx^^R{JRn_%f{nhUn9;mEd>XM-IUq4-_(7w zFEupEyeeQRA +pxE2aYW8 zFn=ok;sv@pl`?9|k{~4L-kQ7zN0TK!8F}4(q2xcVY=>;}C@l$Vc{?mH@5AUjK$abo z=yTis0*zQW_FvM-wESvD7FXe;iQ4PP!S}qQ{jUWLvuHr={!A3R*E;NZl{Lf|duv4Q za2EP3(~sriY`f-8zC;Qpxqb7~t}$Y|VRYJK4Ie6a-7S&7Ohke?-y0xQvqSUE7J^Ag z@=HF2U%0*^GH@J(5W9f^fe2BBcsqP#;!ME{C9$Zb1hN$4_h}6V%1yfXePMGr8Bi1j zdx8^4Taud5TEn%b(6J@}*py4$x^DNjOJ<`^5&;v=I{ETt_6<7=y4XxE#2R5&Z(^Av zSPP6U$aX+`db5=smG(8ffo}v& S+jGuWIS`Jm zMOwTao$jw(|A~Ok5LsG#Fa3nT@@*-_=(8Lr-q@VIVm+@g`hwBTQAcy&jbKy60t=A# zUYVV)Gx@kTaW`wXE4TD%3%W?-rgma~hV5%4TJ#SIiQoQdZ|!HoVvv>_oa|88hadl_ z >-xI5*TKFkG2r}A=FdaAA#3vM zA<@_J3_)Xy#FITr$W5PBxwqy%>*j+|yoac#xy-o{du9nGhMo`dUJOcU nPlTBvhQYlbV z1$BH5WWl09(K1>-(7Fow=RseOAR>iA)=*-iyO4a}A;cwK3}TV~%!UJLVw#srhP5ea z52^6?1FWmZZ5=1*l$`vurQ4HGs7-+c?d*lqDmLsDB0AU&du+Gfiq7S8^7^0e083X| z7a+G$Yvv4>m0>mi=kMki`-eTafdvCRgVfWQ#3t1DFB@#|aQUt6zEfN34jk3PjL x_C`b_NVT4q~t1%F}3Du0V67t)#anofIpGqK1i%33R394$OC03phOgTfj z0ko#jm~7_f(pA~$TL~q EB%UDq=9l-!v;U%Uz%mxZFXZ z4AEPK^xhCm{L*?>dT1)dzPpKmxg})x0hYo3iUh}yovjFdG>2#M5JWcpIQOl!pBbxo zl;Q~U%OSGKT`$`$&lH7hC<2kyUWIh|U4U7e?{49=rI_16%HbGZgZ|G 1W~62*M2C)w#4OX&GPBbQd|_|SJUM<7EdTt`tZsQ7YM*@ z0>1i-V;j0%s5ur%2j9#mIFoyMB~4xqXS`h}B5E1wvl6_VY``x^HI|X;594t!ENULg z;dvu(bVo1#2X+bkS`f0+cYI@*K_8gsO(-+pRyA0~1_)K^7cSZPhATNT4&pLKU?7mP zz;1MF45?AwF?T>eGqAXiCty{R3EUQIC4g1+9sVq~Pr%Q%H1Ky_;It4$swpZ9`xZK* z_4mwYn*PHRp|_;f;6F6yb-%>xsi6wG|9)W;vd^c3%ppKZmrdT7!I#bpv>EMws;Y3~ zi{b4m`$6}7^&;K0_~U=9G;E(g5Q}D?pE~p$>d&rM_UZ&Sg1q&^=?inmV djO<6U>~DyR_3 FbGX4R0e2iw~G7q!G`*8%1j};F+5p82*!p0wXskP|w^|JW~@h zR3B|~)5C3q@!_)bYsPJ@nFf>ZGF+As%W<4-oKbaMBznwbgUw0WxY5c{7JO16EE9%t zpM}|h&KcjVO8%!M?x)9<)-VIXgvjWI?R5Q2!wBsYBkGq56T|m~Lw}nMQoV2?3;OK= za1@jjlD8(m8CWrm_RK~(KaxheK6ErzX8g=oB&_L)Y@xot{6wz#$ kL)7K| v4A7vJh;59JkLe#}^$S+WJydC907fi% zni?(}!XH}|DzbnBHgB25FIuT26?90af~5vMC2k6g&pGqK`6*znS+8(=1v!fz8nsYS z;OjUhe}DPi|9Wyy<`Y3nVIZ@4_U|7Ple!6&TcJjV7-4IKs$rq1?80VB;Mz|Pi`v!{ zX`TP(%-(CTxyPkz2NQ@&QhJEDL|_zBqTc77A~Fwo%zhVLwe~Y+K;5i~QXgJgReM8O zkf0YAj!FrQR1}yyEco1nxiPCtB2 9q>JVW^15KmYV{SVn2N$=)ZFQ$4-qJ;)j4C&N z%LxA1Z3`kQCU|xt_#`o$e~rAjn0b7@IO1w{i%v8ATcS$#PF-SgjU_P^rrT-NghbMN zx|rtTrpnVv$rsdd0N|J#w86jOU*n_CiGw*OTVJ(6#U$Ti18(}?u6-Fm>IJY%ESh++ zd?N;ZI`^TXo<#oidSJ82&To#E@6C+X>4}NbO3YWfcG(j;g_B(Zei9VFV2lp+kc?&w zBr0hx7)OqafA#fzr*Y<%&V7aRirVG-bpqY{k-qBax~CkS%2&E i``Y2}^waIp?ludj zTBE9|1?~iz3V;4@(x>x@ldB@$@bD4F6ev)fbIM4sVm{JMpu)$pA&XhmCc@QWwi5oa z1FGB2YB!dz`N3e>EDg11aSzwIaEfTR$GD$vKxfIUBb+Sg;EvvTb!KZS654$^*l+ec z+zDLo#nbr?ZMNE2;`I>jCd^)lE9|pCRyZ>dyrX`2`>HYNgj((RxnPGxx4V%@ZL`b* zW>1Z#<`yeT3HI(buq3lZd?#YVOdPckJ-%@}`lI=mAKT}-J^VXg-!$J22Oi2~|L0#~ zU7I(1_G!=2oxYDl-I=v2IHjBL_LF!JYn$Te?1%o-z{D-*!S(l |D%>4~%I>_T20IkcpGwuIcA_<+F8x#5`ukyb$-?R@z?loJKrA8-~1 zhT*iPWj M`~vy*ubJy(0f=J83@yyS(3Hs3?n J9&vr< z7QN!GyZ5ZNfLaEaaKplt$pnj5fN$@J-{z~WFq=i~F1!@K*c8Kv5;pxB*C#_-aGPUf znV3ZvBP#iDOs7sm$+yiyf#CR@k`LyeqcaSZDh=7CgfRST^uEBSgfP_;U_x !;Nv2Z=C-|h)t(WP2uQZN1dWsU!B9;i$QezZ=cy BMg+rPB0!}%PePTC}x|MuSR7Xli#cpFLZU>dBUn2{)4Z8UrsLI0TmD9`|vDz~l> zr!V+zmjY~OCcNKY51f{r-5!@s+*(BMiLXE3vd!jwLTr`XcsxlOTKazu`E)XAzLZZ> zy*bfKQ79g)M<-3_lb6Ly5PW7jW$tU%`)4hthka7`S&X5y&K`@`!gGhmf=BynSL8~R z%HB+TV6YbEiL3TvoDWte;|JSFc6s-6Mx(c8rmXzLS91MxQa5`UdeX1lzFo`L{nV=L zPNvHXzb9jj7&+xH0^DIAl7mc>jJ2=$1hx8>o+h!4yET!K;K;tCRRYX01MWvM=%#li zExZz1A3u~CbhVxZ?7=<}z<}`b;$Com?hy<`769)2vCxuUKTqQxrk-#xsFF6q0{0aV z2A*9$F7Nl2KEOGoHfJ3Pjc-wgTcoYu`@0^8AR0S$e?-Kynad@eQ#{^lsBaB`8 HVb2d=VEZ1B|fTx@x0cB1*%h*4dC8g51t0 z$o>Sq*vr&QZ2Jg>a`%`^+YxBDou g43x8teo(aB-t zu9+E!xgkT Ze%*1D)QVd=CQ1c}2cZPe1(v!HGrC8h{Zy-?K>R z+!rq>TuPOQC~&M2vO-Slf+uL54htIPZZl0YMN!8#N |8Psa3b5*zw6hQK<$!aqh7%6Lj=9rzS4j6|-E!Uv;?&rvc zyqv_8`|&_(6a9DM%sc^~2jS7}hxA)Gb&Niy*}`U_|N3z)fCBtn>MyEzcvlYMmV8;t zV^cq}Ht?X_^?s3&F8=3&w5_u!0vbg`iR6cL^mInMIHgZHOXI5F68&w+tVag~slyrO zD%nfZ^iqL$KBw_}q;r=jom`4*b9`ki>fc~eY`*(2$L>+WY8l%6vVQ^1p{B42Q$qya zNo5Q?S<`d&9C*yQ4nu0|!qgWJ6O>xX8Y5PAVob#I_DBE;S!MY$Kc}8{s+>}oD@x}Q zr~BgMXc*}k(lc{a4CCY(CGjQ)C317J3f;<$7_rPXmY;*z6BvEeLXC(Q*Ynp1J K5ETcGljZ22J+$8qHcn=R01r^9h`!oO1m`F)>)MQD7M(NgR-I-#MK z;y9f+XhEk5HZF?mO`u1^(SG-Rfq$0jKszUGM#^P220D6oboZTAY^j+x zM!0&7v3^-_x}UtLx$VmLpOSc;);qELior8S+i3z*-Tp+UnWG!}B2V(JvT;L0h8E6M zMkS5@7kt8cbK-o20)IQgmnz^#+YDche#v)*UzGtzF4)t=zg{hUn305HuseG?k1;Ie zhl|nbODi}RGRNkS?Gyxhje7{zX-AE&!=N$>gJ9AIGR-^<(U@bH9g=cD`!h>%M;Xs( zBiZOOM`aF}2|Bq+M*?QS3c(7QPw8ks7fL_50zyxm(czvCzoAJkyw$OO# DfBy3kldtH6*M&yw!7g-uf$ z8!skHMCcikuWu{jR2(z-l6)WD>57~Glzx|7;slcBEYZ{P-Jd|Zt$QbpgH6x5?2Yjy zFA}(X$%s<_h|)9A*y8+6A?(=Jc|^64R127AQU2+qj)~`063Y3uBvkTId$-28V-f6V z<)bLzvBQp8YxHuG3%rBeg17WZ#!BRhX5-xzwch%cki?=00r_StQe83KOP1Vk&Yxk4 z @hC##Rib2(q^fHHn>)eu@@9(NF#em4Cy_gW5i`2 w8Dj4|buJ-p!NTg0{pmcKVNA3U}{Z%HmWMrp*hk=|p|3E#raOU% EvUTbX2(teNKf6;=P z1$mf=`8Mb!sGd(fFxW+pMGsb<3!6x^UP+$AAV&$qmEx;>-aix$(K9jM&czv*kNu-# z$Z3L1iC0Pn%!4wpX C53JvnE-x5-hgts-<=61hbM^owq znth+3o_5w~xvy2#nmiYkmccID$X{RM#O74mbUzu^e%U!e#mmSURr3xvA@@}AM-$cs zE`NolFe%UsOq1qzIAAdR$kI|1@ZM`x%==5TZOb5JiJGWg$^P%LcCTZvmaV@XWR+;d zrzu=(kP6A{#~%ue%}xw kVRIX>s+kMS23 z^7YV~hNCX-WrL_Fod}Sqwy!RAB8e@A+x-t~w#a%2SL!Hm4$N###0n@Xr;$Y@BN$-O zs!;-T^P|ZJW+T_oXY!;?C_fD|UDS==9uQ0=zP%F-d9G@2m^@0ajg;4U5ZW69#^yh5 z#Fx4|c{)09y>c?RPSIyHV(g YODQ~@5iVwmq*JF122}})a0a8 zPI4Fr?Bm4oN8VPGZgNewmd~z7+f #-PaBpCdzHvZs;N-)z^ z@1M;yGdcC-N&1vj6rhFqCW71HbbP^h`b~mxX)`0|<}8ve14PGYbN^~T))#Lui(%to z6#FpnUb=d1-XFKK?GdFmzt!wEqZOZ>f2+xbU+z7NH*07av*XO;^w`O`c~Bcro~tEB z&_wUI1G9NPR3~|>3Hw3z!a~QTauO-VX)>~Y=N8gi16jXYc?I^aSC@-a4C!1ryCGa` zO1S )b0n7mlt`gjjx_7Ul~!Dx)w=oe+bqlgT_m7liJzZ|1`d47TP8Xr8nhAR z+zE4$Q6`Td*rPtNau+++gT-h&2=r`k$^ECkMuTl@ErTq`fH98sC{hZXzwg5Cwxe(_ zOj26y9r_CJcaQ|oN+q8y@EGm%{n7Lz<|Z*S!O!1r^|wcP&7HWjGc6JF?(rUjkDiV= z_H;1uHwt;J>dud>akB*JTNmJf5d8y?lQ$E|WLuIN AG nd^tx;&wRXhHD)6{Hv_fQZoQZC4xi!%L-Tjvt{^y_2x&3Gl*I7J5^ zUXgRtW%+zaPu@~yJ6~j% RM*6kPG@SNqxzjkA*^jwx6YyJ$;1?5led?6QSvPGWf9gZ^+(krd?HqS z;{nbQ!QAUft=NP@GtFv+&^>7p=sxWm9-ZF7F2>-u4nMoEid^v39)#J$rxrXLENG{K z?-h1w_p1@e2yl9x&C4+@aO7xB9A|g!}rZE@$x%y zmfYxD1+u{Ae8O{*eL-N8mN1N;HhH>KwtH-BM>6b7fA%U3VZy9GC$+{R=V-jwTac%N zY =`caXH(B{!ZriGo^1~IX<=P`NL|lh0XZ$efZ&7!BPwEkq+Fzf~Jbgs1Q>Hu- zK(x2ti#?gV2=jkZLr)u3q6QiXFETE-p6!plZWsDNn dC@-sj9n X3@sk|{JT>~MzNcR>$6{@JaC*(4rBR23HP;Wt#n5& zP!LyltA*qR%U;c}10$F1F`%lC)BRaF;#t3!yVj;+biLOU?%Y*_Wvm*8e 6V0-ywpXg9wa;CEc`$Tl;k2?wl-)jbZyQN>cDV2sf}}=A3Kwawvs>& zqd@dGX`XD?7lc^U)>-cb>oBG!_Md)&Ke+u#9RK^bf~F^R+C}P4^!6>`byAj}Ss=M) zjlFS~Xn5+$6|&TKCOY6O*0G(8A>sOo#LlIkrjN=xTGJ(;Q-F-wU+U>xpBYazHM*r? zjn1%Lkb~S Lkm)ALn?B*G z=XT+RNMjMjf!R5ClE_+1M->b3$q~7mm(`P#nFp^af?sR#SjybYb?*v1m7@bQ9-^@} zaB-ykZ`EY3iq}yH`T68YbBJ;ddiOAw?^vj&khn>B#T!P?`#I_|3AX8e-zUPMTUR8* zl1?A$cA+b}?ppkn#H &jcPkoI7Y71w|0+e=9f!o^( zxATP2Wi$*FZNua~D?1c(lCHfEB`?*`LOKeX4Pq|?VC(OP{-n2$(7*5fGtlR@z%Q(u zpJ4&iINp)o!EKT&A#eVF7QjaSUG3)bnblkK?*UCGB$GXps+uOW$s_3oKm5i*hx3L$ z3kEBQEhF=&bD6n0aIaIgxC^Z=dC_k!#;O{DykDTYc);UBu`#}cNvC@wA33lo$Syw1 z)y7Y^z%ILa`D||wk>-dW7U6Lq8RuU`l jYFX~qDJ;0+1x0M_T1|`%^g)Em zZ1u^>%~A$& NsYVN{&%Y#`cT8!!M@7Z-N(dg(}#!4L<{&Bz=;|PQO5aL z%6>e3Ai4(~_dGq!)JZ(?1QEOHpVfbLQj?aIX6I>Iy1eJhFU)0SbDj@6Fr@PhBc?-t z^(0)fB>yJ3E9jc#$ L+kG$mexg2%c){#H{IPF$F7lzY^bu 2)w;|eY?I{JhRf+O-}1)Lrw$BH4gCF-ryBA>0QA^1uk&f zTaIb>3rQvnz4RD37J+5pfaxBqCzW;g1a3_|dZidDR@k}p HC+P_^22Ro8DCOChHM6qmpi={WdB{+V6gxRhOaF>U?|miRcvW-XyDkrq z `=-qmBC#JvKDWlJHNVr{)jSaPNyJ*riw+SXNNq!MiU)52(NNXMb-D3{unRs Q#K;& zqiyZ0R`1fQYBb;5nA8eS3jNtc+peG=*WqzRRa_=??61kFjofuKFEF$`$o__-@%AmI zkjwGVw>;|Qh5|Cbn!a?$c-Z;X%Y|HrW!w=FSNKa@=ll;=PI|u@kl!;pWz0Q&3?DOo z$W|91sNH$>xE1`F<|QCfpsoe7hR qvDIX-&Ju$P$~_cM_#SACK&qdrU0 z?wNR^+M3o*dwMrYh$aGU`or~)Q|mhP=?_CngpR#&l+;kT*7Q#-XKD5&{ZE*kBKagZ zg@tb~ei$)o`eV&d5zuZVMoX^8;~Vk)v|lM+_AC~J3TX{4{!VT6+-<-43J0-QN4?0g zrp$SUn-jwIPU%ngFFJ=MbpgzHk3kRpHt|G7cHkVX%EF^&ufUw24nL!-w<}$!2S3$- zdjCnY-;kVaU80RB13YBtxAo2>m;XgqR*B)C>n%r5Y?fm_j?0Rd0iMs8&>9iE o zjcK6;B5dj*%8S`Ck~bSC_lcImU3^G7#bjv}=#B80XEL@X?XjybZIOQ 0iKm8UgDfK>&nJ>_v0&@uBJYLVdajM1i~Tvt1%+%s z?)Bq4SFd{psyo*a8qwVu8pB)cUsZjp^9Na@EsBV0e9s+*xrsR%YAIPLsOHsjMM)bv zQG?FAxI9wKeFyaE3;6Bd|DowBfTHfcHX$HLs7NmHN~d(k8iaJSbO=bp(j_dRAV^4e zNJ@7%NDD|T-6`F<%kKB{Kl9DN3^NPddrv&)Ip>~xuSbUX3Q2j;GQzhS{fA}AD~ERR z+Tbi;io5@??OXMkEFqz)nT=(SsKk9LwbH`6*;u0DAL<&xx4} -M ztM OS z)Fc~74TWRZHw^^D*K_pB%$x$A?eZ)KZZ`cG$vgG4!y4JS;e2N}17Va&InrN%%yIOv z42M3@Trkpc2vA4*x_sC^>@xKy383fSKY00Ej6H0u>9ThEl{iVxLrjOBuh?wtGMzne zdW !w_iY-5Y446}et-^6z#2 6 Q=`ye zxyKXVi}CwZv #`Ligl2b3n!}iV1c@Gr8Xplwjp~4s& z@A_BSo+v4)7+}=sUUW0ku0yJpd1ml&@O$Qo=MASf9dqGH)wbK+IzpE;7%ewldg^#s z0~c%Tm2b9W=rP-skusg+n>13(nR6}8pysluPtqX`ZBb*yAV;5PQxdh}q4M7-sf@e+ z{*sg&@4h_5s?!|dXYKyaydNo@@)a>ZnU(f41;17#mQclPuT6UzqkI|SCZW9(*ylpB zX)Wcd(>jnq0H1)JM=jOzZrjSL`xq#_p~{$HuoGSzRaT=LZFEGZ^9{&6l_4nR+0e6G zGiR#BCW`U-bNb!ZV$SmqL0<%LcaVVdKz32y?*on4O`lkO318;wJU)Teuc`C07YolP zn3?5Y+2_^f5ji^QZ(UGr)lgXqkn>aFFUD1I5wnZso2_NMfp*n6IR@>EQfFZ$OhToI zW_6%6U(z;n4Lmf8#n~WsY>6Cf +u<|Go( zOPQW>k-gq8q@r`Xd-7TB;pTPqR*qiUlUi_BImuNN3QTgi_^4b1O-<0`X<;`6nqYgX z`|4ujY3?iH IwptL z2rP?S_M-zkSKj1F30gTDV2Jk`;NiYDvrS!~7y*wqS~v7jQ@wf0Ew7&Yu~MrEJ(Vg4 zX;=#k)kTB-yy#dV`n!HeM2415dqHdM$xEh}pN(~KC|(;qrRdj?&wP_n%6}uCF8;0Q zw~=*!=?2!TpI-^`0@-qS2?iPLA1h(u&%b=>XMLnvbW@+?c1&NS3NJ37%5=ZkJHBu8 z&xBkhjZLLglsG>GjGvrw^6zn|__i2u=)u{aeMTCJR3?s+fSZHl&$DkV4VKTHLQLZy z#1z4h;n0vJg7+xL(~ItLtG8cQopd<{X|`t?4iE2ylXRZiw2?ivlhgDIDJ?8_>03l{ zP=)ZxX{tfcC|FDT{t<_R+LPnn?niPsMQx9YikX?2)6+?${Ce`g(BpgQV+@CbZdc2+ zKCHw$Qt@z6GFo8iyx D4hcGo`kK` zVEtg#yTU*09;&<--Lq3I -gBNimDc z&K7k{BI=9bMrg<~iAqVO0nPp}Mgk6+SA9TXe~XhtTVLch><7}bDpULzejgVa8-7j3TL1V*wA|J{Gi?T8C(fH}SELcw^K3 z+#nPfQ1S4%KDwJVoo$n^D@qjN5Zx}yiI{S?T#b+4Pks)?h-3rH40`Bj6utZcDn3;J z+M!1gpUeveT8CP7%-Pt5t;*- 0rf1K;9b^RC^=f5?{`n&W_gSOil`yONRK-ab5#LYrMe_MCG4%4AO zoBsUX0&DJqjlULU(MI9mbggcUvnoxyBb*;wY%dG{W_PEETrmv^Jv%aux8xan{CDqo z9x=V+j8c4*Q6t~Q&eLsNlNxw2* Rv$ln%EtnBp+r{T29jjw*xR=nhn@^&HjLrQupPF5DJ1y|< z6wP-~N~3q8Br*O7tc1NYB7UyHars77>Z*+=td$FcG_ljP&qXuMN0F<}gNB>;QML`S zAeQ*UD6a2K%4}fxcm%arMc(D$*Q#WJm+l^yhfcQ3=(rkqdj8Lq1a4fQF(ddL7*>T0 zmWU76hBS>}@jkN>IhE*L$P%7(l@le|#8EbWk$8~LucJcKIb0I42i6Pdu1s`P$&)IN zd A_GoLN$wcxH ZDqnBje~VW#!qhHZ07l5N7k`_%XOWy7F@rrYp8Qx zsPSrsU8_LRQKb7lPpPlh5?IkIf=|ZrxL*`vKQw+0P?<3o|P4Ni0qE_;pIS)Q1 zX(3l#-L9B?#rCi$AxM<&42A0TYDdQIYR_e{Xtc8{J<2%O<#jMS>fbh%MEq9jpgOL> zP=2u|rr~NNFEr&dh#AbW@7O0n6aEeyqa-=8S~huP%l5ABXJX}=NyhK0Ah6@ZuvYXY z(>r6T!0_HtV#*XBf+O44e~M3ve>W6Qlz1wqr5l(uxxsZrepX3Ep>wPv1GQEN3X6}# zYjWEQniI{jF{0BuT^14 QZMZmw`?-elsV=P!Fhah>aU9EP^h*W-X38O?jf09!A0^gjA8Ql4whJ3LV zw4v(x5pIhmH&Rr`aTv;v_htlVJyNo86L@{zd={>^nD+krXS4IuS-aX#?(fN%lljvN4DofGNoAK##=ZvV;z{7 zcySSR#mm=|h%9AhE&ugbPrAH!)YM9|6t8e82lG=k#46r3Q3Y#H?kN>K?`{`CT?&r1 zV)#MTFO@U$^DW)9rq1= d1N_o9ZO)i=%qwvzr*<+)r)K1RnVREVnBVnX z*bs{dNpCV~(E=bJ516o&s!<42YM0dz!pnSCUQN8lvipvn(8CI&KXdJ}E+KvzdBOSC z +Y-tp6*-3IW7nQ}3P#mQwZ%$(R$^9@lCl9(kA9YD4iN>{xCKtLT82feCyVGgt zb=rjr`v(?hgU)K{f+2F4X1pw;U;h*eKe};5f)BQIoJA41IFCiY6OcSyp71^&vTT$3 z{RNY JFotDpar!g z`12*r2)@V(#x|`s$HrF(kFMBp{83KO)wI>JVzN3sB>4s#H_x?3!yzvAprx*uXl?C> zF-+a5>4$F!)+3rnWQV=63Ae{u)~Kf9>a${X2(H-@bX!GTKsgvIG~cd9C4E7|2>ojh zOb!Rp;9%nQZJqQf^v6FO_F+QZQQkIU;y3#W|Fi=sDVlTLwlt86wO{QBT^;r_c@9~J zVxmG`hV0n9hzIkFPl8SsI;v1ABPAszJ6~D_F)R`x%`VKdAQCB`0Obk0645R*{iK4z z*?TLHA?h6;P_I5VzUmvNvoW1wC{}BJ83qlZ0jyX#pw!@lM=v*mbV%lZFhwU?!8q%o zEtJUmu}fWBMab1yKKg*>;oFF^mc>*&j}Y=Qu%?@3E=#WK4Kar( =e(4o$&}QV$`7Ao1;^&>qUY!Lg={&&-TU{7IsxQx}JYrv5$$ z>)_)=Nc$cI97GsMK& UGLj{Vvg3c#?1uJ3*Pfp|&D?hC9nJ#D!BBw}tZ zZ1dpYcol};=``jczW(*!+2hY2mbx6ry0aIFJ5Iy)OT04lAf|qbHl^4=JGELrQ*#B) zfQAk&-Y2Yq+>$X}#7cr?Ti6GP)BH)VkL>|{CyU%Wi^sqtfB!|Fvy?2?U%wj{k0vDn zu%Mp-HW&yDU$%KA01Q7P+ooWr?aZWbR8D(vVu1Kz{maIN5O7lLvoIpdg=r>clf|2! zqa#P!^tS+d@eMg^l>Xda#}OqbtJh^&g02-^E}$r!{;l>|%xgC0xxyq;S0}%{Wf(s{ z;ZKb3BUjnZO(mIHE8Id|)g_r0lh*6J3gvn22Z^Q~-hGU@z9BDj!!WSVvdi-m8Y!$1 zsN`eOMpTXS=Vnn1i*E-luC$PTN?b7J!0>xl=2;g31auf4?a#CP5|9!f@a#< edwfr)qn?}x?B?ww%I;+ z4?1goQ&MzTZrz8Rp&nV}1@Z6ViW?ZuCaQE{Mt`$Py)@6>Mo0!McEAtYyZQ2DiR3p| z!*8di`Tbl1&Nd{DJDmasbS5JHCj8OG`_H`@bWPLu!C?YBTHY$Ne8m&6vf%{tR%>g& z+0w>}mdJggXeyps^QvH-j3y+ 7wMOgvFKop?qoDHidEC5D%w zPu3`br+v&`ly3ZD?hClvXr(g{ue`Fjy1KId+#rte lzUB{fDR-?g zP71+cvi o90VZC^cBfsOX`jN<*?FQ`omZXnV>cI!o}`X%Y?}?#W=+~N zX&G(>!?O1F2Wb)}9q0Hs2J3xLOd4z~;?NQsGVA3rFiLP*2lH{JVd17j&^mc(_13*b z?#ST1G08Gli3laGprQqv;!$7tO6%Ds=eXp$F=wG#HY(|#AZbwXyt7Zl9*!zF_D8J8 zF?g3U@;i%E_D0|`^hGmEOKlropbC=$hpW(uKcXMCp-`^#Qc(cftQ$~UVLvJeUfURn zEarY>AVq{z@=hu jBNYvpitvgFS+b;eW;ej zYpeM%^s@3v7u%WPq*1eCvjTJGXYvdI1@Z^XE uzFz(=^-5arcwS^sYZw)>72FyQ^Ij{Z6foG?BBV6?du}dzYVE_%YU9jHyh-v7^6L zZ|gvp!qH38iSE7u?fYpbY+h9u0C-ZESoBsurZdXY6ke0@YLxP{Tn(b_G;A{48+d0( z8#u9j@(kM6iu)}Pn}%Y9IE$O?+D>k!16v}XvGu5$ks~8RH^5?x*Wu^dn% v4R^%&Nx9%Cq~TB!9JnQW4S%yn(NbYir(HVHv+^ zrz_eIoJfFRE|;C&p#;@5uY5$gnlb&0Sh&O3Ph_d0>q$Ptl3B`AC{!{y47Q`~5^&xF zIytmC@fP~she;{bJshP3_>PholGvlptL;9X;#Hg07dQy_$y!r29^OEy9vLeKdyDxE zqe%N*8Hs>6b;@6U(%g0_Y*qe49L!C_9WR^U &~SWmnLm8;JFWM-CEF14fb#=q_p$vv)h z;-yhuS(IDp l=S6%u#TalOa zm!3DrLwn3S8yjhQ$xNHnRI@)TGbzl2Hj_~P1P@+*-aNalBWj%*dlYXH4VzuUjyh?F z=`itn`#KS>34XWMo%z2?{j!?He$``AzF~O)quW;+_$e`QB6FlT5iHu<{Wo^K5$TB% zdR^e@_ KGT?8AI^BlB6h-J{`wH*BgRwi-{}ZH@rDdds8mGl{;N}E8;dCYCKZH{p z!1LWM*2y}J-1>Tlb)7_~Nf|=}L)LZ6B1n@Hyv>&DXTJcK6EO~1W&s30aC2%lb5iE9 za7Xl512;(-0_nkF(*APEY>rQsh;azEHxy?{duTB0r}$thQ#3s;%JVO*vdGCPX2UjH zqG?!*Ete+ncV|Dh3z{u0v=$nw_UQbI7~*e; %@^DH1EdZ+ zboBPYv0HDqv1Gf=;G&((dTDxozFufL5tGuB#kifXpDi&z7@H=>QZn{JLMY3_)6?+* z6(QiPxo(CDUc%^&u2tZDjs!AuLpVbm1J4Qa;f5z*c_85V%mxM_&n#tg#j5p(ttLV$ zjA(iO)Hp|m`IT}PYFC3r1Cy1e-EPAzDU#D(71Wj>0BD}tP+m<%Vwxtesex?pbkhwA za67YGs?GL=!{KfAC(tsZAs5Zm)uOYqqQ>_16&3UW4o-CR({ oNK-&^%78wpXGt&!RK$9;Yo7mrw^G&HCW?;x>~y%olM_9Do>N zHq~;nr$#vOasbw)a93`Z8pz0AQ*YiEGcJ8cYx>0A1tT;Y#-eH}uNY5+iAPz|5v{#4 zuemuj6G{fwJ(gZFy8^WOtS^s5E`%P6)U6LtI5RElKz7e0?NI!Sr{?C97P(PpPJRoU z^I{Q3Mn)kWZL67wCzIZU;&{YI0c#YcJh1mGn^GY-y!(J# HVxFGnclWU=3EKOB2o{1~uk3LhXnI+GcHiF3We;rEl( z&-s6=AwrqZ c$v5sXXm}v}s4Pq>54t_tFtyRZQ;&wrp{67z zfmaq?Gt1-Xze#ZCcKK#Fi1_N)Plh!!!8;uqrTOoq?N(Qd#}D0_VS(6@ek>QmZV;sy zBS?+SXI$J-1qEYn|B|oDiV)|vWc+?5W^35yF~V8@Va6}9eChTdhM8$UgYp^x<`S$! zgQ)GSesz0|cTXR#BUALH{x!zHa6X 15+KNR7$G0j4Z$Im!^8xg^7Ex?tBs-+lXeF z%N3rXwY4>JL9}qvlUuKtMdo;6 Uf8N+{5(yL7e@_NvFZVx9~9bQ&NpSj?UEgX@2 z(rRY>fiLoy78B3>^yE`EW)m4{G&_3OTW!fX z;XK_`ucq{IvJjU>WphSazh?WWvpOMbiLdb8SadrNdP@W(ec2SzSoqB8DK!>xPaM4~ zG6=gNf3Pvz;5@3bz475vL8yMD$Kb!fmx|df#}Fu&MX8H*k!ni{5Q +NdQQuw$O2>aBcE(KrnRrhNP^-xMxeLFH7UB|jWA5_z qdhfh;DZeV{!kL~;~<~#&lU6GMniWLXL9< cwO8i;uE>0=-|o^vyM_AS zZQZx9TYqVOj}c tAUK!wAO!%a>mMs~dOJbnC% zMcg-$mg8yJ(x0?YzL3C>YKA6yR`yD0cJT(%>B3Y>!1+9MR!4@j2%@VqPGld85j~b~ zXdfBwT`sJvjWF4p{9WK-&O=1$cHO?fJR)P2`W4b0+vvsZ7e&-c>~P=bEMi=5H199c zE#UlEgi;GYW2NA7JGm9wA|Ry gG#D>(^M? zkN1Dfya~V}{_Z^9zw`S}WTgWX<5Ex^M-g2|8-VJ!9!JI!7)~Lvr81u; }XYzat5eWi1U2A=Y0)Sd@YGT+J0s^ZYCf77Y7Gd!SN7g1|rSG_KQ& z@#?bqZ~JAohT}MuEQ) d-~<5v46b~iZt$)P(){~>?<|2 z#2;Dt70q&)Jde^*eq!s05#8fww= Aia*qO(*P~v&QNpH&68Zc_B zWH%-zR)&McHahrCxIaIPNUy qdtBx6I`-mpe>R$-_ez8e0*1E0ayxa+-vGd7#{Sl#nvGnQ1aZ=4D6@2BA zwOVSrE|0PAp0BQ=!29eptMp(8PEqI5WK? )vj zJM;vI3l`7GfaP>gOt4!4s#c8l`E)UhKJgoWSm2KRY7CmB#(besrZVd4AmkvOn>C|f zk~(}~&t|&JT|q5OuffG{`@6n~`T5Wo*bxOozpC_O&}&xs3Jq}y25f&UyM%@8cz|zQ z@RR*w4|}o^Y)k=ygy=naq^{VYGO8=+KO?U#0rA=|8=<0#0`3uga+JCnRy~u|;B&LN z>eH|;v8eNjNf4kNubx7AO&;BBQd)6}&CnjKJ`AwKLF7CcemkaNK&)wQvwm%YBj2w| zZ%L`)>>LyMaxLdmJ8~{S_Ne4=J*yu?MC)m1BieM9+*k>_p-%)k-ET`>yRH!R6JZhe zV?#`SvJ1O+#aS-j_UMD}Hw p+@l#jsF?%<=4adc6@i(HL-tIlous zoc@&yZKg(Q(zJJI=eM1%#(kSxv(C~f6y+~M2?2PJB>wRLyNyn~<#HoRU^d_~IQzki zi#+`qptmikmC;a>TvD52v?GI^)SvQ>6%#5gvTLj$jj5Fs&4VD5zC&vL8Y|18!NDd? zz4;$tIxw=;BO4VQ(FSF^UN*}BSdHZQJ5|k hErK%&j+r@xOs&;B~ErH3$z&uP=o>1b+TqgA45qrYfziWZ$MOd!iDFMa=7q9G5Q+ ziEf P9gpeP!{o{Ml=Ro#J%9 znn>own)U}gCmDOX<;q#pj`u9T9`L$s^d1JK=XHOzDl_rwy{0}wet%ymP9o@h*E??7 zaofnzanfJ;5A|Kb14GU@C|%>u=@^mUEtpb4+2DtM9-}s(q1BePO(0(g>%E)RkOy<# z*T`Ix^k{{jE?zMk;Q>@yRM*dgp4B>9RZ`zvdiyyme~AnqW@8vi;#BIVU4AxE?ueJ& zd3Gn@tnIYjU%66sg1bqlHO-rK_YM#FofP7Ph9V8exsaVlw4?Sth71_l_^Mj9xiwLZ zB<9;8L~*gc3km+k!Qbq$j5+CTzB}gb!EWZS>on+}9JLfTMDM^?eRn=rvNgKK(>o!7 zn6H$FOvfRVK(AIYS29q=YqJ+~_{nm1`rgG#l$6@55!gmyFg3eww?rF>6y#4;%9KFP zv|~1goQ%)cN!@$)>eD274t214?R&GuuP&up$!hIie4A#ogRp jRm+$v=%)4TNfHsiA|0O(UIuCdsP9b{luhjWQ4b@58?*>MpJRlR)mt%1r zaTPulY@5lQ?eq%GO_b~Z`py2W(L-iM0Blot-swxOZX$zjfdePYqKwrfEj*75dcWx( z2J2j}%@&($zW>@b97XRC9OlEXjX{cqiMQP)KG$5>s_EAFD$S=G(PKiWKBIiyU;4Mn zb(<|!nQh+Lc48j>1I)g?L0xgs?3d `&IV}w}s4VOSOGS<{Si~%8A1bARr@;(I=t 8o#N_3djfCbE*NlHt@vu3N-Vm!A4L`$%M6QHcz^KMZoV$h z #lB@L>Q|hQ)-mT&0(tP!^}0+6>A53q%7ul*HY2A z198`cI8J$PJU@^AzWCl1(y=~|rP+7j`Me6@fhQt>*!Fs*qRx6oZM2=mTNg~`XKU7f zEY5Z!0sxoNcH&)s3RPE)WU9Sh<7v#&_9~F@nasH8HF>I@rMy#|Fq^vrv_FUx%=8)q z<@Je-0 -m>v|F&%S;^uvjBcKMK-&)1&YDbFtWc!hD%Po3hQ#^rkXa?eUNpN%{bm(TC =MyVoStAWP9 zFGbH5AxEGbffsXl+v}Aru?ITui2|$V%)QC_3{tj{v@^@SIQd2E<8_E{WjZmuv imEhEGN*k`Q=iML*$_|h}SdaavS3MfkSiX?mF?f @(f!|`!8(%0TV{wB8G)X(*Pb*OZD%Zu&u8#DyiW`5Jm zPVP#;DR$xp32k_rqugA<2#MBIeXCHk3Zl*2*X4(oCfr}`on+)ueWOH$S8twHBsigv z2J Ym&EFdR ~7cs}sX)=Ai+ z<%>i|2%DXs_3|80gWjh7%WffeI9pKK>haFGZ8L|UsNk8C`ZXnKlN6lxw zL~u|7Ef(>xarJktD%RcXR|{v`VpHUuJpc61B%q_hE~cufP&5t_U-J&ZdtNNvj-D#| z+ver=m`!fheq1p#)A+u3)bK_1zrkMAm%OMiZHHROS`N`o?2p!yq #;zX)`PH$Vri;@mqPHm;KK2j7u1@PoWrUzzWEkIGFlS zcRfd@X+r)(iT@K=b6y_lo}#K+VOqR9U~mUxQ~1_3nJ*YC%`G&+50eJ6T(F$iI^s*( zz9Ber-b|Mibb=Hmx34i5CIclO(R6L1U+E1;f3Hw?VlH~CdAJ~Qg4n6M_euU-qnH!< z;&>q3dJ(QEr6}$nq1$|)oSmJQHYAy0zE$RvV@k4o7V%sviNVvVg_|3^6#2U&J?T0` z4R$c!Y^v?KUu4>RHV)KtF?_sbFlqqmS?yU*pin(-T=xL%V+p917nc~44=V=oub&K@ zjSna^pB?@I!~}Rfi%R`vbGk`Ui8$RPFLFlm`yY#&wvq~R*47giS| x^Wvi0hE zuW5hp5K=b@znrfxDG~TV|7b`ERoM_yVd8t4(@?fQn3^I?y