From 3768f43f00c64a34d9bb74161d9288bf3d943137 Mon Sep 17 00:00:00 2001 From: enisn Date: Fri, 5 Jun 2026 12:35:42 +0300 Subject: [PATCH] docs: clarify AI Agent MCP tool usage --- .../studio/ai-agent-built-in-capabilities.md | 17 +++++++++++-- docs/en/studio/ai-agent-configuration.md | 23 ++++++++++++++++-- docs/en/studio/ai-agent.md | 4 +-- docs/en/studio/coding-with-ai-agent.md | 14 ++++++++--- .../images/ai-agent/mcp-servers-settings.png | Bin 0 -> 39150 bytes docs/en/studio/overview.md | 2 +- 6 files changed, 50 insertions(+), 10 deletions(-) create mode 100644 docs/en/studio/images/ai-agent/mcp-servers-settings.png diff --git a/docs/en/studio/ai-agent-built-in-capabilities.md b/docs/en/studio/ai-agent-built-in-capabilities.md index afb76f9b18..9753b2feee 100644 --- a/docs/en/studio/ai-agent-built-in-capabilities.md +++ b/docs/en/studio/ai-agent-built-in-capabilities.md @@ -1,7 +1,7 @@ ```json //[doc-seo] { - "Description": "Capability matrix for ABP Studio AI Agent modes, built-in tools, Studio automation tools, subagents, and hidden tool boundaries." + "Description": "Capability matrix for ABP Studio AI Agent modes, built-in tools, Studio automation tools, connected MCP tools, subagents, and hidden tool boundaries." } ``` @@ -17,7 +17,7 @@ } ```` -ABP Studio exposes tools to the AI Agent based on the selected mode, run context, tool settings, and permissions. The tool list is locked per running Agent-mode session to keep prompt caching and execution stable while other sessions run in parallel. +ABP Studio exposes tools to the AI Agent based on the selected mode, run context, tool settings, permissions, and connected MCP server tools. The tool list is locked per running Agent-mode session to keep prompt caching and execution stable while other sessions run in parallel. ## Mode Capability Matrix @@ -41,6 +41,7 @@ ABP Studio exposes tools to the AI Agent based on the selected mode, run context | Update active plan steps | Yes | No | No | | Search/read ABP docs directly | No | No | Yes | | Studio automation tools | Yes | No | No | +| Connected MCP tools | Yes | No | No | | Spawn subagents | Yes | Yes | Yes | ABP documentation tools are available to Ask mode and ABP documentation subagents. The main Agent-mode tool list does not include direct ABP docs search/read tools; Agent mode can use the ABP documentation subagent when documentation research is needed. @@ -137,6 +138,18 @@ The `spawn_subagent` tool delegates bounded research work to read-only specialis Subagents are read-only. They are intended for parallel research and return summarized findings to the main agent. +## MCP Tools + +Configured MCP server tools can be added to Agent mode when: + +- The MCP server is configured and enabled. +- The server connection is successful. +- The individual MCP tool is not disabled in settings. + +MCP resources are visible in settings and can be opened for inspection, but the Agent-mode callable surface is composed from MCP tools. Plan and Ask modes do not receive MCP tools. + +This capability lets the AI Agent consume tools from external MCP servers. It does not make ABP Studio AI Agent an MCP server for external clients. + ## Tool Execution Gates ABP Studio serializes selected operations to reduce parallel-session conflicts. diff --git a/docs/en/studio/ai-agent-configuration.md b/docs/en/studio/ai-agent-configuration.md index c25855598d..fcc4af83a9 100644 --- a/docs/en/studio/ai-agent-configuration.md +++ b/docs/en/studio/ai-agent-configuration.md @@ -1,7 +1,7 @@ ```json //[doc-seo] { - "Description": "Configuration reference for ABP Studio AI Agent models, reasoning, context limits, parallel sessions, permissions, AI rules, and learned lessons." + "Description": "Configuration reference for ABP Studio AI Agent models, reasoning, context limits, parallel sessions, permissions, MCP tool connections, AI rules, and learned lessons." } ``` @@ -17,7 +17,7 @@ } ```` -AI Agent configuration controls model selection, execution limits, enabled tools, tool permissions, AI rules, and learned lessons. +AI Agent configuration controls model selection, execution limits, enabled tools, tool permissions, MCP tool connections, AI rules, and learned lessons. ## Model Provider @@ -100,6 +100,25 @@ Some tools require explicit permission before execution. Permission choices include allow once, allow always, and skip. "Allow always" persists in the AI Agent settings and is reused by future sessions. +## MCP Tool Connections + +ABP Studio can connect to user-configured Model Context Protocol (MCP) servers and expose their tools to Agent mode. This is an MCP client integration for the AI Agent. ABP Studio AI Agent does not expose itself as an MCP server for external AI clients. + +MCP server connections can be configured with: + +| Transport | Configuration | +| --- | --- | +| Stdio | Command, arguments, and environment variables. | +| HTTP | URL and headers. | + +Studio imports MCP server configuration from Cursor, Claude, VS Code, Windsurf, and bare MCP server JSON formats. Studio exports MCP server configuration in the standard `mcpServers` JSON shape. + +Connected MCP servers show their connection status, tool count, tools, and resources. Individual MCP tools can be disabled. Disabled MCP tools are omitted from Agent mode. MCP resources can be opened from settings for inspection. + +MCP tools are added only for connected and enabled servers. Plan and Ask modes do not receive MCP tools. + +![mcp-servers-settings](./images/ai-agent/mcp-servers-settings.png) + ## `.abpignore` The `.abpignore` file is placed in the solution root and uses `.gitignore` syntax. Files matched by `.abpignore` are inaccessible to the agent even when they are under the active AI scope. diff --git a/docs/en/studio/ai-agent.md b/docs/en/studio/ai-agent.md index c0c9c22b31..365803ef7f 100644 --- a/docs/en/studio/ai-agent.md +++ b/docs/en/studio/ai-agent.md @@ -29,7 +29,7 @@ The selected mode determines the agent's effective permission boundary. | Mode | Purpose | Tool boundary | | --- | --- | --- | -| Agent | Coding and execution | Can read and write files, run shell commands, add migrations, run enabled Studio tools, and update active plan steps. | +| Agent | Coding and execution | Can read and write files, run shell commands, add migrations, run enabled Studio tools, call connected MCP tools, and update active plan steps. | | Plan | Read-only planning | Can inspect code and documentation, create or update plan files, and use read-only subagents. It cannot modify solution files or run shell/write tools. | | Ask | Read-only question answering | Can inspect code, search/read ABP documentation, fetch relevant AI skills, and use read-only subagents. It cannot create plans or modify files. | @@ -94,4 +94,4 @@ When a run profile is active, the system prompt includes information about runna ## Privacy Boundary -The agent uses the files, prompts, Studio tool outputs, attachments, and URLs supplied to a session. Sensitive files can be excluded with `.abpignore`; tool permissions restrict shell commands, domain fetches, and downloads. +The agent uses the files, prompts, Studio tool outputs, connected MCP tool outputs, attachments, and URLs supplied to a session. Sensitive files can be excluded with `.abpignore`; tool permissions restrict shell commands, domain fetches, and downloads. diff --git a/docs/en/studio/coding-with-ai-agent.md b/docs/en/studio/coding-with-ai-agent.md index ff1f0cfd4e..72127f81d8 100644 --- a/docs/en/studio/coding-with-ai-agent.md +++ b/docs/en/studio/coding-with-ai-agent.md @@ -1,7 +1,7 @@ ```json //[doc-seo] { - "Description": "Technical guidance for coding with ABP Studio AI Agent, including mode selection, scopes, prompting, verification, Git review handoff, Studio tools, and parallel sessions." + "Description": "Technical guidance for coding with ABP Studio AI Agent, including mode selection, scopes, prompting, verification, Git review handoff, Studio tools, MCP tools, and parallel sessions." } ``` @@ -25,7 +25,7 @@ Use the mode that matches the expected side effect. | Work type | Mode | | --- | --- | -| Code changes, migrations, builds, proxy generation, app/container control, or Studio tool execution | Agent | +| Code changes, migrations, builds, proxy generation, app/container control, Studio tool execution, or MCP tool execution | Agent | | Technical implementation design before coding | Plan | | Explanation, source navigation, ABP documentation lookup, and codebase questions | Ask | @@ -106,6 +106,14 @@ Workflow actions can configure: - C# target package. - Whether C# contract classes are generated. +## MCP Tools + +Use configured MCP tools when the agent must work with an external system that is not covered by built-in ABP Studio tools. MCP tools are available only in Agent mode, only when the MCP server is connected, and only when the individual tool is enabled. + +Because MCP tools can have side effects defined by the connected server, keep MCP connections limited to trusted servers and disable tools that should not be callable by the AI Agent. + +MCP tool configuration is for adding external tools to the AI Agent. It does not expose ABP Studio AI Agent as an MCP server for other AI clients. + ## AI Rules And Lessons Use always-apply AI rules for standards that should affect every run, such as architecture rules, naming conventions, security requirements, or team-specific ABP patterns. @@ -128,6 +136,6 @@ Common boundaries: - Files matched by `.abpignore` are inaccessible. - Image attachments require a model with image support. - Shell, URL fetch, and download operations can wait for permission. -- Disabled Studio tools are omitted from the tool list. +- Disabled Studio tools and disabled MCP tools are omitted from the tool list. - Plan and Ask modes cannot modify files. - Hidden internal Studio tools are not exposed to the agent. diff --git a/docs/en/studio/images/ai-agent/mcp-servers-settings.png b/docs/en/studio/images/ai-agent/mcp-servers-settings.png new file mode 100644 index 0000000000000000000000000000000000000000..a39058d02a3f499bdcc2e04acb6adf7c93776889 GIT binary patch literal 39150 zcmV)KK)Sz)P)G94i)AS5dzC@UNwB^4YZ7#$`fD>f-D zHYY1GB`Gf`BrgvU6(cf5BrZK7B{w>Q^er(tAvaDQ7$F!aJ2Eyt7#}SpJXaeV7(Rgg z8YM81mYgF&V40ktCP!(CkCr+;M4X|igNToId3=3=g(W8_dRHmq`s;{*IdDlXL>JKPNM1I=l>FwIzFo6SzR1xEE?OrV7?YHXXnKnJ{QTJa|G^(}#>2sjnXXG>c^_`8yW9DAj;8PD+RN(x zqs#d^3@M2xTZg2{UyVGd03ZNKL_t(|+U$J^ciL9FwT%!+Xh5Tlq8d>beY%>bFf2FrOIUI2*Em^rZW`yV zq;2y5|HQW+0X81eCbgRm;dlgu&~Wy7=KX9m|M7#n9CtrvszHydf0}$Xu3l-b$9miv z8~=V_%;$fTTmI8r17khD1z_9+$nD1jgcj3kEdj9{cot(l3D)CV21aWMjH@lyz*vue zF)*%dhB*+J#bp09Fs`1xDMQv{J^ro0Xx;#ZX|4jJxdz61{6S#otgh+2{ukXp1@yzGgSsI{pb$s~1ncp6 zz|fn5AU4^*`=M)qh1L|CnkKTC`7BS6U{z5xL`~2I(J*BE&&sB$Ypl{!TPiQGnz_O9 znx+FAifHSasIMi)dVC%*1YH+(Tl?FK3_-z!hkUECdJ_{}Re6;cc~)~|jT7yL0~w;T zjH+vfAZw1@SNkH%Nv7>Eio#=SpaTm4udOG+dVCfzSdC|ORuTU8z_9I_fF(arASncq zOupXZU3=K*< z&o=G9y^S#*(F7ldlE6Ws;x)C$vQ~#T?G4>-*oH2un$~FvlALN9)3RGCTbK2T1Zjbw z1`l8uk}Mfl-rMz9kKgo4DV5Cl+aJ1qJOv)u<3mY;fekoYR>x{MJ#%*=3$|`F?RJkW zi^;^0Wszr8!Em&llL_CkdMz8Kx@d1{lD)YG#(I37@hxbY!rRKvzh7qk~C0F@)k^|JZIj{_)ZN{#jNRlLP#7beK51EPyd|4_+J{j7o81BCUb3 z9-j*gT`Z!(@^P!haV_42%E6mWX4UaeT1Yjm7}|!X#}qKYbJb(|`SW}}oPK;Phy}&)H7O-zb7yN2%%}$9Ifrh1J{cd0kT%7 zB^v#{nM#}{ii~OrylC@^BerdsGdMwKc|)^$dYu>3iO#C3tr%M05{zDlYqadPro(lr z8-l^(iw3?$3E#R5XMx&hm{#YlN@owsTcbZM|{MBiGV)XMtVT)y)m9Rmw zEGP!r_I4f*CTW^-R)39*Zw(mp5E-Uh5V@hBFM-kTOY-nEH)X>yZJ}prjv_cbX1ERG z6(%keuU@C4Nvt_Zd8^;=+j^tdk;IOrOKK03ShQ`|MckK=xxR=ff*%wVvO-~G<^(Lvl0wcXU# zfQ}dY2fqrxTpYf6b9R1lb|Mb0yNmd>tN!yp8NxNn!vDm=^n9+I@XA zeRKBR@f$C7y4zjmMEm6ekmyB6Z+=y+o;^J}IB*?j<8irvFddxjlSDZ>9L)$m>goRB z_vbIp;@SRDynDERc)0hC|Ub&0VMH^qit(gc>ACSt8D6*g+Y z8TUP8hSz0ibs9i%Rzc&;h7zc%OJMj1Zziu^9?srO0gPGN?{puFlO3p1v+4NYXgpEA zbIjm)pLDHaJK8@?)8OFE@YThBF)@C`J1qQscX1G>lk=l-dQ6&`efVN*%Ee@|%dI8G zHwO$}7i|0_uIqVjwy7clu@Gxo)N#i8~6Di81iJ zsK{I|jD}|HLF`11>BM2^4LCW+(@EJ7w0k>&v^JwrzQ@^NrAi&1ohd3SbQTh0f4?|< z6HhO~_{~}O_|0fn?RWaxge1lb7~jXiiSxL(El6cD#UqVG$I-$5o17#HFmrx%);WBW ze}8fG=FOXnm(!E!{_G@`&o7RS_Q#XSiP5pv!1%_1f%GU=ur)WtSIpV%B`}ao5k>mI zn@l?AvphI;i;h1lhNs@Jcj^wE*c}f2LMyy{l6ZMg`U5A3;>p0zoPkTvVUwsV{6sGN z$QC&HzK6`C>JDK!+ntigI6FIY5!}<^Pg($@OkN!C?+=sxvo36mKzmzFm5;`RcrwbkE~d8M@iFpPW1%&a&@*N`__bW};&Z z0fb4E=vrUZ$_(P=)GbdsVHP9662c#2BKvHHyjS#QQme$@e&wX z=K7E#N&5YHcH&qBj4bVL&$8`vcjmgYxQwAgh4F6UOYPtk|6|)z9})&&aR*3xZA0L= z*okN8`u!yag4j9>T`H<1#&ImceXR9(gc;OIl`_Ml7jftG=uE1Q5yLna;t;IP<0I+e*WoxYGGAP(a@>sk5XJ~qft29OwH zr`rz>j;4;uHph5+f2y-krP5T&4)%{;OcBXIn)(_T-E^If;xotWMJN!snolO1iV=L`o!X*ZQRoyo4?wEDV8 zS+){0Jk5f%(cP}6Wl`uSX{V3l?LFS^b~w9dYjsV`iZtbWj+kyuq%9S@anc<~KXW~4 zzBS`p9L9baj$F)MC@R{e#K`eI_;{Cl+^CDFMLo+BV#E>Mb0*1CBS>2AjJJArQ zpLF}FiSi{~?Q@8YPq=|n0X{Ia-reT=udeVGjz!02h6k=8vI&h(1YEqnHBNc?TEUCVIo(F{> z7^<5&Wp6T3x9oDLlXg@L8{A~eu^UQndpKa*`nlbwSk)mPI9oD5#yjgzQ>XLG=bJ zNV>?HX=<7i2|hWcgLtIITc`m9o+MeY5Z~VtR7OLxi*AaD)~qMZx0Vu8vu)ni98NHF zR7zhO--5Ow+m@vnV#m#Pb=%ZhVb%!L9i3@$vct)`-ByrKg`AO8wAH?XxSvfCJyF1P zl2Ja|#=dMF&jBBX{xHDcdA;H2D9;lmZUKymtaY{Zc!CAnz%tP1ZM(r3IQqVVaz>PT*!{jJ zu7UAQ+88sS&2BpIWVNjCU12Ni4z1}V|v^q zwJgEuTMEvr1t**4sDfznfNZ~`8>VJ;8A*ZoV34cApa2}6W)tE=+eFQHr>iQW1Rs{k zsx1f)wWHu4Ae%GAH8Q?6RZ2$*H0G3sjEif)K(1i7W139A=QJckAchS=V+|I$wX!XN zXM^cmR$T`$CRz`r)kyN|v~;;+A)~6-Ls5iSw_(g1Shj__Xg?G%zz|}yiUXr%4h%V! zG$?$jYoP1+?=m)i8T~hBHyzTGwq}7F$RNHuUWd18Kr3{f;K|R9j4K zU1l^>?00QQ69_*7M&Dxls%3W}F(k0@tby^Z8Q%`F&XHZKKbWCoEu`E`Tm2Ouw zuncHwi#31%-9W7?1KHQ__gJh1j45a>wPjf?Mics79`=kVQY3}yGOF5)JL@x~>J_R` zfyeCL-d*f!^%I+aB8}t96DzE~tMtAL^53f?y6sC@l6?IJ57^b~#Q3$S-|ao*#NTnLtC`recq%SpC~t~@LHDsWr(0__=Wtry z6*^2JEv#lh|H|7dM+OyP zQ5_cT;jZmh7A2e_&j0d=q?@GJJdUwNw_te)D=ga;_!cKAT^=Dr^Gh`sT|?aQXW6w@a0AFQpYQ(q+u# z3K-UHV9>U}gk-hS^iKnZY5sMd|Tiz6p%#P|dlqg9o1m#$saL znCPqL%2e;a4UG9a=iA)`2Cm2D`F~1cv=&nPF4FAlz@QB(Ng=f=U^LCUG#36+mAb7e zT?fWmV*KVz=T^QxSHgViO3r~%sZv~}N;N+d7|eqJgZ8%qjOCFofYE#)U{uK9J`))H zZv$hFi%VeecL>Z1ic6V>bE&Qrfuq$lzx*;atEND6Zeo*bu7Pp)iE}r`7X#zE!qdD0 z2Js=#P32dBL0RzE_eLgn^^R&~<-Zshx4L*#M=<}yISQ`><8#jM=Krhbd=nV-`0DjJ z&{p4H*-jjtJN?}L{3}ZNyVb@ea4uiRxm2LADqwJ*x+<&m-M5YTOAT|)cK)@2!LI^? zn@>}i`ZuN~8T*x7Ay+`P%|ifV2}N2R{~$29hXcl3icfl)0G)>8GlyZ77O zz*xOcbKsL7fq+5YDdx@#!YzQvH$MdozJfm4fBYI4e-bdb>oQ|`vzNcC|1K3}=~9_6 zFM(0{Mlf|q`TFwDzY7>EhUd-wajPqR<&?P&44P~VB-WYDM4#X|Ritoo((Eme3q#wONnli$aGV)>SU|+*V261J9vx*~f2wu=A zhXm|XO`^s^nGz+Ei6X*_EbE~8#-;|6XkHU}Bv|2Kkn+p0h&AdPwv5{a4q$w!t$=YF zc?Aw)r}!Ks7>kD1uu=yRPSho0QN2k0a#U_cOhF1DKiGxEELqj7`D_v>WkgNlSoV! zkrhTKM%khw@g}h%-_+zbl8yTaXL4=OO(64)=^+t9LLrTc=?AuW5%gefok32r$b&iq z=Zv$~n>>rSFGx?pFHbyQI*2k1k&Y6%$VjeH9YJJOeA#?WV{DPZQK`ro!i}LsB)m~n zEAy#(EOR!UVRgfB)sd*CigM7C49mi&<3sS7Vs*g`N0yPmWA`l95jbQgA$JG)pJ6+bu~r0d~6{%e7OQ>IhLZPQr_%i}&HR~GE$jHoawU&YxmE0F1-BNav8 z6sa!&nrX>cWO<{4@W_U zu}1q0wg9y@hqsHMWWjA~U^39TbO2ltxtqw&X@Y@BujyKyGIb;tZ440a2Q-iYEOMLp zP|&q&0`>V&YrN8=gO_T=52oQ{u@j`HaT+E%%~lY$$c&>Xs5NmK02wAI5~G2C;2r#V z8odh%WmsJRA7B)75400@3tWwL!DcZVgF1)EKUO7xUp8_5a3XezTPA4A zBFEzJD1Bek_!<$>qt6fZ_z@HaCm_)51|&s7c^?UNNYNBjhppA@dBPr2Bs2~?mo)|1 z(2n@n(sr$mAb}7NS)MkfBWZSH6UP8vVn726mM(3Ge6Iu2GhD?cE)B?_&?$%&oSFh1 zOhAS=o#nq47_?g9Tv-7SQ8b*eqt_JNIlIQv3;|A%%PXS~fMH{@V-*o)PT_E$LBxQ& zNb94f)o7K+n{=#{GG;tlFCmqS00QPK4Jly_B-?A$ph~=ZNVW{3ypRLJ*dyn+6pik8uGvxq$JBS#DI)dSHz^p$Kb^E8e|Ns=v>3@b+XP0sh+| zceH9wLV7h7kS}c#H>HE6LNp}$){wrVt1W=Br(;d161%ZIohRxQkZ))8WpUe@q^y-r z>;?`)6z~Eh1XwN=tdo2XB=>r{J4rbtjq>6aGU6Z_fDbH9SSM??106xbp+a)=|6)~& zC1e!gcpPhh1J(vCRV>L4tP&!olx8&Q&~t1eLB!S7a+-8lT67z~G#v=SL>-p+t!Pfo z#JX#ODRC2NQ;`3To=OgA9UwO1(7{gmBFyAk7LLY=#ulIs@e-%kw>hf>Wt;C#Y{qWJ zVSrtmb*xCbBk=BEH^nLjaG}T-tEPetrqdjVM0+!+QphlaK+}u@S(U^$YGCC9KopV6 zT|n9%;KN3dV}pnk=Vgm1+ZBsIc6dx978PEcr2R*)(tfiw@P(0Cq84VL>J8i?cocEBku z2QO^l5M^|ua(GZBrLyV_Tb4E|HB*vmC2Q0$H5F1@igAYQ(!{l~as#wjc6d@m9b8Fa zUf=^^hjm@DhYSc_fhJ5;JZg6muiVbXi5jA!2S9=V!QzL72Kt!BW&XCM%iETlJE6Bb z92$;0!dij#OEVM>B6|zXwJerPCs8abR>vuz1VEPQitZ>)2P>ZwYKl#>2CAPf{(B_` zGR~WgB#a91SW!_1E+HgljaGL97q*6_hI49F?FT7c66Oswr3R+pMgx;jz=Eoi9o7j!~)ZxYLZN7>mqv`Fxt^nHzO1W5bF<+3?3X z7IHD1mL?L{k$f*O3M={v>ckZrhvv^xnsuOx7!JY++J^!TRNQYY%_1m=N{6sa{Bd<% zYS?1ta>x+wspBZmy$DK0v!-F?MtUZyCR2sQ#Al&_%TSF-mg!r%Be}8Y$Iw^MiBOiP z-I`6>ndWFU2l|HI==70zFBs`W((48TaezrGLCy_a$k_(!WWYHIBn(ln^_SIxaZ zhR8+5jiNSmdjk-~A|iwX18aNkm6kJdObzQd+rWxbBgVU?7*8W;FOi3)3()mY+XDpF zAUHM*V?%OK_ND0?oUtjj2O%vV#2t>=U6=a3AU5(anAoFoC%}|%z^VZ<>Y~0WY4RZK zS<pMNcYvHKp1a-8Seu?XsLvQNkx()3d zKpKc(ZD^Ek7EMD}&``5jijWU}p2c`eeZ$Vf*&y9=BMED4G;(2*WBJaE@KlrJJS=hl zBxx|VI-=eQ<5YA~@u)Nd&yNF*ccL%?SwuPn&s>d7W+@5-hvUN0*g)pb_^HPi6h(g#&I$(l969vZIZI_U@*?4$kQRZu&X3^O}T6L%cf*~lBk#i;Db6It)&qoG{SMvemu0o%#`Y&29g-yH|RD2hj+ z&4Xts9w#UHc#wd45x{^v%R}hG&^JWfoxyY+Vp1WOy zbS<4=G|IeDpvNKRdIpV+)$>v54Vq#U?xr%zq^DUl9@-(@k66N@ zGZ+nIoI~v8MTAr086g{K*o_{9MIH`M$I-9^I3l!W;2K&q#;N3XGD_lb)EkbXK{(Cp zVVuuq13mGEMWNM1SmQP>%fq3s6mm>*Wsv zgS#`5+5Efo#D*@6^=<@n7Uq>6kDOY7#b5+EG0N<4Xgi}EOS{O0gFJ*L8V~c41G`g# z@?>aP$OU0CEkqS!0P~4+ym&GyOxgE2A@USEFd(h*4GIJ)abs72Z1Qp}_6&f*sl_fW*ksx|_@*VK~aCK@tW6KgzJqi`XajU@O^}kGx%x;UgdB1?q4y?J!YCHXdt< zClzByk3B;yy-bWzZZBhU2~DeSIbo9HKH9!7^061Nx|dnt?Q+Ihst-mJh!GoPilfqy z!&t)_jMIjps|-eEV<_R|S$;flFfAo}Txd|qunao`FZB|kHGs$~K^D)bdC1s)B1pv) z{x7k>1$BHZ=c5RgRXz^n7=jFQDj3Q_tWA(^!|Vv7C?b)D)m9O+E6N{vd1*eb~K&-5D7PBABelMTUhCSJ+`- zz3Nbk#^X^O2yjbbn&_Kul8?1ygf%H~H*D37^AK(#nB3lYG&&n@s_xPN03ZNKL_t(J zktYc)Z7^a$!eFxw4o@t`+mS1EGjCFiH8UEI!zrv*-J{ns*JjWPO`DEK<0xPw*I=U= zj@^qbus~YVV3!5*AWt~0orUO=297%q>m-zOr_&BRI0mGAiak!_$rxr2jQ^oGv~ixJ zv6s#=Nes?${I=X;)C}_(rvUH-FmneuuPH=k-5uw34U>tOvG&CkKi!Y<@)ciYQFFFu*YqK3-?VI^l{ z-FIdC)ff%3ywNDZYjAOa9BpVPKCFK?$wHKx0=Hr5`0!@vl1Y8vzZ4kM(iC285grW8 zBJMK&E5Kz4w*>0GQKu&hm%zZr6iEO9Kf!{rzZNhMbQ7@J#PHY*N6>@ehV!Ce1Ykhj z#PZfTKh4}gucuIE9h9rXTjId%Qp&Kvy5=a*XU0xF2nXpPB=!==92GlQz?oJNc3@*q zfC^HjL_Kl?A7pd(Xn?s0H*VqCgRqn+ZiQf44eOr)0Uko83!`#2bJ(5_Wetu_H`d3Q zhH^kXN<>@f7v7M%RE+|xTV@`9AI+rht5J#ra}r;4Bu!|PW2hS9VANpXx7S9wrb?+A z`2vGz>DMOo;m`p#rBDknlO z3r|NWgomI>(7_X_z1&(7 zLjWVu>JXwMFfkQg;Jci1dfq+v3(|h^2CfEBI}P%SXl{&k21{q?jD|Hn$Z=wzei6SI z7%~M0K^2HDMKts!FyQc@xRDNb33v|Z`9)cy0bdYwOGd8>u=OuX>%B*Suky^sqm0Gf zav&qMd<31hv;q$|YG^tn!3!*J5Y)Ligfb8gS$H-{riw|736+PjZjA>z6nmot^CEdz zBER3tLoLk2i8lv^q=7y$n~sNim~pT>p=pHB=AC+-T<4IU@yL*8nUhSz05c~a7eY2I zg7bkm4ee8u(rTL&FzFu4%dnZnO?ym{2qz&Wd^&4g;wF;ZVX&bu<+c zBSU|xl!eX&!+yxq2}ViUId@YnoJ}C1G|w+b0~<%5Mu~)p1%tIU@EvILSOBmHWD~3r z8qBdZ zG|5QClp^2Gya34wicyY6!4SrD2MgT)y!&;s{SM0-z-Ky6c-kw$C_MAv`v|*(QPIi0 z-1GsA*@ou&g6CuT@$}f&oLBF*;S|8Wcj1OGbhQ{2Sc7s64#eSTfC-S>V+W2fKJkPs zgAeXYfngB4h9OX(9E;^<`Rf+_CG>$2IAqb&R;O->s(95l4>?!dy z4BZJ96kA9_wVi~@0DBt`AT%bsI-7)Tb?nPfr3^cQ&M*p~ke3b?2jIdMN=Oek+9*fS zZZIxWC`IE$W=^Nztc&&1#luWY+y+#s27Dq@>NzqTO{b$_FLFfyV@DlLGdmuW1_OIu zbbUP-L#(kDv^1MfB^4Th!sA><@otcfXJrYkD}=g%bB6D2fJlxH9c*C79+9~83ee?^ z3iWh+JoZg26(ZYG+%QOY;PaV|3UYNa2>*o8*0r7*;P?WlAYN9Zm}dsn$9Ia+P;@;> z_op$F;9Y(TbA1P=$0a!bQJy+*nvKS~`nT?x^Tgx=u1drEVGfG-j`4O}K#j5owGhY2utZD$Ns3im#j zy^*ASF)(!EaYmjBrk#y+qf3d=L-Qn1(m-@{ItaU7`hgMIrPLT=BtW8!{?+;)!+K)L zL#^dbjY6Dd39}Id23BXou0b(UI+kj4L4X{h4F?Tv>>Bl<1$rH}9NHA4bwo$(Ifm$L z8F_#f$Btdc0>-Fl{KVJ=OvkOs?khA|6Q4FcFg#St4T)lSpcy zEuWSmJ7H_GRSum^NpI;n-nt1lZ;6!{84&{VR1l^vD6k-lMTw?V{gm78i)QCBc5K^2 z9Gy-Jh>0E9<)&XMihPQj05q~OQ`!JWKgn!}s{+fNTXcXdf>J03Vx z!4=o*4-02YQPr{pXNyE>L@lR};Eu(XIj2LLF&MNYEbL8D=pnq((!rRQYea6L2|P0_ z5s!0pr-2Djv*DoChE7iv%$?GbQ%=X}83^$RRtp|E#h6%DDzhE52jUT^r)(<j>qvQ_BmWCK)=nwKG&Wms+^vI8a;^hHYcLi6uF8t`exJPn#M^<-qz zA;$;#d}2-bYQSJ|B=9XL3SzqyCIY?e7HnZ11X4C{$^eMkQ@8+8VB0X-l=$I@l&#Q2 zpiQfR;)*5JP*b3x+sJ?blmrCl&<30lf|ddn6cES3Ck5IQwFg=ei4u^I#(-#;Xw+oN zMME|e9IHdGY>X1NzZyRAf1qmTAeXvUqSjk=0 z-syBGrLc+Y2AP8H#M20TC~U_;q)uoc{e#k;aD$tM-qR$5*V@QR3J`9q@vS~mh*Vh& z;1bB)z+?dwMzygPU`lIzgCkb~#H6B%TB8rK4S<2)8rRnpz#Z>P#g;Uf||3 zNb?XHFfu5U5{Xzg5)OOtt8`SmX4z=H0OvuiK~$!8A5*ns%N8hrHKh#@@sydRA*++( z)pEKiI|x$phP;av-;exhA>-14nTXdY_6OAjkqVZF?-YSqa%oVbM%9|gtsZ$CHzsv{ z8#GL68w*hlcdW-F=4aUw$o}-S4nadfQOrrKCk;+h`mMe|`EYtgM}rhFPHx-ECP%?T z2b6h;@$x(ZEtK?z6RUl(SBi3I$~Z!Z7Wyl~>C2qoP7f!P>9Y@q(4H)#Dj)nY3!Pr2$AEkzw zirQ;2ZBgF=*A`|DfGtvLqT4Py6(-Jv%Krog?%pf#W zq&1Zin-F+$U>!A7U_`9iMI+}D86i5{kH{-QXt`l4i~_{K4*|`giZ;W4jtea!y$O3o z$C5hYMN#2w!UrYEb?~9$e#vmz01*mueu-Qd;dXNHz>w8cWb=T#3-<@HoK6b~l2{)C z#l|{_OiWO%iU^4t9P#E;&WO>bLq*a`+ksvWUnR1N8Ji9qzEj*O+zj-LqzqGJoKiLp zZa;E_z8DzzbT0S6XP*0hVH?V2GQ0zm1rtadW_i#j!nAq)nxf?y4u`7}$nxx~ksTu; z1Ua(EkRmuXh_;!5V}#OL>3-^NMjK*F=M590 zlc)SVWM?C{4Y@h^!&By`Nc$D3k+V=q4!h5=MqjNvU~^<)p2XBPbcT zuL8BWLaH`T+7*;RopRUlg2uwz+Ec6Ka-<|m^gPylsz`#9#0+Yb48=$?%~=h8Lq#Lz zEhJdje8cI1ZV}U}XSY<|2E;^}r-eqN6e>yzp$QLAq1`7kj~U<>m|%1niG>X1KWQR} zw)!f|S7H~aq+D^*{8)191F;6q1$nfzN{|iojv;2gNDd-_ra!fpK;9en)Mr$L zDh$F6ZG<%p-XWHjFlaVZXP_ZB?aSjBSdKDui1Feg$}d^T3B2&C)hvqsM{vFw$lB+6 z(55XXig3?hk{~lWagk`uX|&S)1$9cO65^|>U#4j;ieVPC7u?;fRJWvpKJaI4k6Z6`K!!n>a$EgF|)G-8Iuh6~kQ?b5boJ zab{ISZVSGFISCH-O z?OLr{g=mXUv8vI!U8#1XoQnH$iP1**B1gYgPm<$IZwr^e*hYej+EJazb+;iY(63eR zbfj|FLD0vtVctM1L4O!s3x-6G{Pls+;yIJRK-^vCf*R_#fN>YI-zqTXg?FC;jOLu) zjfmB%{c?*+*xv;P9qs(*E?~^*7Un-Iz^FJ$n%ouV$DCg3vR1CO1n6yGR9qd4(ocHF z6)?;@N@cGDqoR#l0D~?_b)6YHy4GF5SYDqBh+I{jUKQmw=~~X;xggA1)_`9EgDMQ^ zUCR$%(B&j1 zMJe{qffu--sqaPEND>XPHaG$|jlTvM6}b#yh$Qgl{# z?DG7U2fkd$F1d0(1&r36!1$x3t(P_iQqBg{-vtSa13xL2^Q7xUu{*G|WR@U!?B7p9L^hYQpI}<`k+6densy)w-g#TB^Ty0fSrc#POfN#r=W7!SL1sSQ&0Cp%Za* zWqkV?VyeSg5&PQ%H*gTj526S*Mv@?iIn0NH$cg<8^le2hm;4t@vAFqrG4GdH=zq~`pyX=NoT@OuPbH$Q)ME3;y#y#6}3P|~>Tj3e9< ztP6qxdh<%6C*QjK?~;(LnrK|}7D3x}U@Uo`F0Th#@>KjB+=7#rR*g@SGc=bhqnG@e zb6{9kQgX>exJXQ8TFe|4m3U}f!e)t}OD@9s(r|O)Us22Pw_jYD3#$ZlU#3c-&zO%y zf0P)w9+G;mRH<23dU>2ok_er>1A7YvHhzK%+*x8H-Ni>Qu>hTl%ft=+%;5fNV3_v@ z2KN^NgTL{5wID7Pt4o)`$}L}*-HSIbZ~O{GnwO-<6{YMAV6<*hetsGlkQ|)~7}D~H zn*6O5nXlMxF3C!;@oiu%C_(3wA0`DeSEPtls?}P)Jm1qCKFjkbn0$KTb9at=14Hnj zMxk&9eTPHj5xG~!_bk(+$dA!{a{F`^v^6xNMCJ_ulk`rJ5`=`@dgRMn$Y*ww`}gtw zehDygSkQd^GASjsl$8%7^_qD)4*7e+S~v}^AZ@94g^({m<=mnSS!Hbme+r7 z&sg(M1B3ldO=-!LJBQkD0pm-OTvt^o$O|{;P{87a1y_1k?%LTvMp@?&?TUMan*`{- z+8NBy+uo0~00qz`GRcxiLr+%ZiU#sm1_rkxFjsT+r3Y@JrFL0t_JI+E;Ua&P!a}e*Gpj+h@>vVTY@&#!P^sDjgGGq|z*As71`%DzHBxBqli>h_wj;OdjE zh{fj6xLdSV_iCvM-08lXE5O_p)#Qz@Yla;+|7@C6*k|i=ti9iB1atNJqV30(j(yYT zvzWiXle)RIL767=2MFLU+ur~XR`b%nxC0cIHpWUohT|6gv@0v&W}_OWd8tZOzJtX8 zW+mjYNDJ4)oUhQVdZDa*t*H&n*!?G5jzaP z$APFfLifXxn3x==M79vV*#hP`rPmow8Gy{i`1-)O-+1W#H`n7{i46!r&PNrNAhBY8 z&9B?Q5QyEc%05L^HQ0i#c$|=>0Coi;tsw>yr0;>)4QUYAs7W~qMCTyatDHhAaasdo zJ(~CFB-f=#Jw~TXgZd79%`a}QUakP6N+PF(>MA*fy^KeIcM&i_A}i&2A%~I@@^}R- zL)ZqXL@e?eDaD8KS!_yQSp#D|?&C~p_4`$sG@#M#T9sAvRe?cPsw7>L7^vVTL{M62 z^NN>>C8j;3vmxOgId@F~dEdw!#gjzTXH&wRNYs)dv1-Y}=Mq}2fw3NU1Eb%URtLwo zzUo*w23Bnh0tK=gk<|@)!=|<>ODJ(yZxS;e5}{%0pfCx!#zYWGEUA>oh@5GB;or3? zwI25Z24*EeBc=KgDojF3;n)1)rJKNjK;X&7;EAC|5U-4Ha6R(ChD|6y+A&Kylt?VY zBth^$)F+wB;SEX$7S|GEJ?>YzY*p@SPO6Y$rhmY(be}Po80IRk6if$!s(?^Wz^^R) z#O;paGl&efD)^vMZ#;z;npAu#R(#o9l><+#i)*jcdfaDJ?kE~nI79mS*K-~O+<5qj z`gMR|+I3(QjORkV{0~f-5_lub48W{J4 z|NbL^LFUE1HJ-U-SaD0=Ux`}kXcPfm&+tF$6oSC`@Z{+aPighWH2vzpz(+s%@SlGs zFhIqEwfWw_SlR^5WvPwefukLXQ3Gye}7|1=j znwemFtOF=Dp{{QkB69q;ImB|+LoxGB_pf!7`YC%LWO1JU2|@HBoE~EWKP5Z>7f+u&*?a!<>H8=6AFDmq`?={3dGLgsTQuGG z2r+wj6_BWQum>zWfBs|-n$zObp3>9wO~`oiS-`k1F+LXgMAVGz)!?lf`a zP4efm9c%y0b4T&xPJMS*@Au3d#eqd(O*Y!h$%&+GncJ_=D>5aVU;P~ilCiMmLE?@{~{C=>% zzkfKMo;7Nsz9lw<-uDMHIo*}f{5K7zKfOAeji=de|8a75oSdAXrQh_`@r$!8g)uI- z*EYt30ON;8bA2Bg(A$>?`0f2rP1r|IetvQA;@vaA<@M{gFWdy~V1>GA$_e0Ua| zUL2nt9uCrQe|&u4>Er#wX+Az2J2YHe#B6Qs+t+ZC99ts%bJB2{Fpo#nX zEj&tib`L_}r=yGa&t6_U`|$e3ySGR0KDU9Ikk|DQ zfbs6_#mo2f^2dv#ql=I4e}4Jy6j1qi^p<1^_VfDV%b!nwf?qzth5vVJlz)@Ep z*sIc(~IHB z$=NhJNa|vI5KIqu1m@LY@qfZ6B?ea~iGdbJ4U!rlKH(pKe=y3k3=OuTH)l-u^v$p* zo}InANOm75Z+@K~r{?2VZ+_j~MTbbCv6dJQ2aLT{U_7G01g1Z%ha&*s?Xzc4l3pME z^x?zNYbaVz-X6i&08oxze;|oL66e{`3s~PDDHjoTjKziu001BWNkl3sAEswzkK`i(Yv=VkB(rM0~jCn<`In>z(B?|`Z)5e!s<;l>s{7-qw9^$qlXu@ zC(@~1DO)iipxBkKNJTU%{i9Zvc%H}Sl(tdOZVC)Fp)5BkPQ*)<* zMpJ8G{3)u`bBa~$Vfx|=b06P$;r-jApMD`=00gg(o{{6}Cz2R1-+g!jXVtT#gAX5` zk+bOsxVD~s`1uI7_|Na&y?YN}z?Dnd*9S6}R_5L5cQfJd2Au+nINMejn;{92AcmMHm!SUH- zdW<;6tHW8ai#@j2#`i-T-%sYocNNbdXY3Q2(7#~rzk|8)^U>?~Ka-8|2v0uy`10sy zg3QO47eBvy4WV-M`j=;wkBf}&cOUQus8K(?BO3z}10n}1)O&#G-Njo{&H#$1KimQa zHJB`eG64zF4Pk>{IuYyW)G`kJj|BxC z9YMneVjUYqB4|a2ChH3IT+<#37@G}Yv#yD4QN|q3rZkh`QL3pwLSjIbg2CK*b(p~T z-akA`)8XO%(b-TuK07hno#Qv7K)Bmo3zJ2lU6GwpGa80mmlUW{WOYoPgYj0je|ma= z4?9bH1>zmY!;`b)9rJPb;Be$@fs?Mjj$=H$yY?BmXDOf!n;TIHJc9|2)&AxC4Gq7u(L` zeYYe=N4MQ(PqYU9nl|m0=7!GynFG&5Z(Ha)&7Fi;gOHiJOpbZbvu#>phnygBi z7q6o+s$}SBe`>(4U*j2NdZ3c7?Ea$XWmn7-}`w?;{8X8N5D4N zds3xV_$FyCSlwS}i$UClNkS65-x5iI662g%H9@r54d#fBJkr-Klb; z`c2a1X$2^3TBX*~bCr*mutM3kPb=N*`5ZfxfLrBcRS8#XuHwOWY|VjBlxSdcn3d!5t{J5eyxohj-AlRWzVpmC(P?CjgzI6+3o^HQV={ z0u93jJ!m_!>?dmC3u?a{F3Ex}S>pd7FxngpXlOb$1DUlVej7Etj)^R`WlA}(QvCW| zVRHu=uW|!ckD_mK9AbcdwviGpK9zQkor?{SjvAYA)WK}wdWr^Mh`mk?P!tuWW~O>u zkkrJXB+DX(pe`=_1nEewqLVviK5r<5zWh%r2^GRJ>dF7A)2pj`E2 zr8LpB-s0{N7dhTISMsel{8Sok5Z&Kb4a>c2Wv!JQOhQRrI|sZT;H;!|ML0$`AkHhd&02`wo&g z&sJ-`iMKp<(P+$v)X1Q~FD1q{J>~kPF@VJAg>gE|SU(vKi&-}GqhjLhY;bDNffhE@ zipfNw+zf^fQCqUc#+T%UgbN=VYYrxR;*z=NM245@2r7E@UCYpnO zta1_sR^i9eEOXoe8WtLpe#>z(Zy?D+-%a`f1WRCxeLId}f#+UXx^dzcatB~aATg3j zry~`~%xQ4OqQ&zc2F8Oi5gJ!n#1F$nxF%e?-w^F>Vj}#o7|*`)_&`jA-D^yQaJuGD zfMPPfy)e2|rFvnaa9Nm116U5pXs|QOw8R^B25ynNMLqX3PIojQK+i^zAn}@mP+?KH zE*altG%GDH+f97OPtqtU(_|Ld92{JWj-kw7#&%v2bQ;D=Q$-RQ?ESfL*U-3+H$I)H z-HNq#NnZQ4$B!U&R#*FDAd($qd4ZS(Vi`$!<&|<1TSlj1J4ie~^0RU_5S;|>s93TS zf9xeeUC?`_@1duq7aJN|8%Btp`-KR1tzLLB0(_GsQj%GklP@^mL~n3MxF0Yciq!cA zFxI5bfAv6D3{l(O?mq5X73cYn-LE`)-HxM)tH5aTT1~TyJj?UE7}l@6QhiMoB%~E0 zz^C08vyrp2Qp-3QQ!DoRi#Ni zJgP?KRZnxPYB|F%`eZZIQ?pVZ=Iu7PdFS($Y9@My+BY?;UhX_~iI*-n`fF9Gb>o=k z-?MW})oZ)z=?$T=Y;OED2inAc1~BH+{HlVFfI$u9=?B2zejga-6)^B?m2+ebjPpq0c0$CzDl1l#ql%&11kXjrC-f8FxKNY zd*Cq~ch$|9YpK@P{URuS7BDU$u|PDAoLL++H-EfH!=s*Qq)=TWQos|Yi7uQb2`Kut z%E7Y+#(LZ;ZIz^DCu8~t`uf)$^LF1~4vfm0V5G{3Zjw0pU10DFVDJPCehrNEX#QTK z?+O*w>PzTgzUJ2)8vMrRO}yrn3BCjd^ZUT45YQqxd>R*sue{Enq@P&Bj{jbNpfkDu)$Wv?m1x~3-VoBV_A9AQw&161zZ6wSv z)%0&whWGswPx)(KE#_Wdx5q>8Z#}+v@bf=bi~s7Q`ALcK_jhz(AM0tf9uGL?fw_Mo zFmC&U*JC{%ZmfZ^9_#UM2F7}<$HVuLUjt)3)?*Ef^;nNJFxF!|z9nE7R9*B?1$^tV z9=D4+QT6Zf|ZjHrHc49&of3bOJN}nZQ83 zHu|H^$9jodj|Ux_?K+UL@o=dbzng^eP{5!hFOV&7(4Z4pkM(%KQEzVo8UH+B%&WUZ znJ}@jzK!eg&_jlPt_c57V4xL7V~LBk@L!Jy9i*Vk8+Xa_j2nU+Hj}7{{AL z2SDz{NX9h{QE9iy#Hd8Z2L5j=N)2OUW4AIq+8aANo0~g38^F#6L?dlYuh!;U;n~d% z1#eNR|FKEC*4}K_YV&wjTfTL6f7ctN=rkIifocL9Ur_x@|1kOc+LG z1QtDxO=@bdb1HAL{l4i0eO*)f8epQKB`b^8jq?%{-uewxEG5T%fC0+HYrr7US6cvM zcXzV_#^xLtG?CjCFg7PRO-9C0LLygp=wkUd}CEvTFm!LV35^C&uuoYjm`Ocs;Ae$_!fbow+r-Z z#R$69~cPHajdwM7`CXL`sI$=m<&rtQ#w7pEWe+~)TUB(ionqY76{PPPmG(uAo+4H zWLyWvVp0PR%3La30Yg~;15d&@-`JePW)2@xuC8B@I<{2gMMIgD!CnnyXDRLV)cMAM zVYprtqJKq5ja$*6@={_jCVT3Z6D5G?@M1LBi^B8sO#betY*L_KUy?i6hpKk0&fUPc zF?3$PpU}7kjNL0>RP%Nf7z6|Op73gAWsuVfY8N2TCOe%BlB+9Ht1ANAG;WMbL_<~N z(Qm1?o;%+bFhmcMB14;EFBw2$xJzKDV1qh!gNZtDb36A3=%kc?cZ#2%29r~ClksyK z%`a3-{iMja{-x{plo@vb0~Wu7xM9q&n=dsrP&WlN6oSx@_R(JZg z-S1#5kkDCt&;Q;O9``miZUAF*b4#vdM6J=_g{{qv#%6s>0x-4|ajPLWWVz8u>y4hg zr8Ls5bW3h*iSkyjoo;Q&yIVqSXLnb|ll9H|W{uU^CadW}6Ww1FUet6&*HuA9m_}ol zhr9;Hw`OAuhDA|#{(pPt!j(4K^?eQ@0trb-AmEA+U=fiJLO29{mJ4+8ESA>l-0D=@ zPVaW!=lg$&_rI?s9Mn#ytv$>%8>Na^TfBbR=e@n5H|DTYX}HoDMVL}uyIghpWuxeK zE0)*ZtGN9N%&E~0HXRR(X>efz1jfP!7uAPa<6D5i3pnzrK}*?f>0m)j7B~Q)r+86F z(H7N&E@*mkccKrJ6sMPKI`*pSa-*RScwQO^iau!RC4CJB**u2px}Guh9e=F)SlqhO7}X4X47*%(x~H=3bg_~zUmtf}INv3+p?FSTg~BkI z%3x?zx8#w^cxEu<2CwsNS#K%Rj-x2NuJg5muA4QP=W9t>(DfR}w-S?ym{fMJ@5{A; zj@WCmG3^X_snycU8pvo322uoufdE|wa0rTE&?Z}<1Op48MB71PFn&4b`>4}(J3Z_q zhNIEztrC1i1*X-woc4M{!|!?3%igeg*%?-EhDO&h4GZt>w!Ql#7WK!*)N_LYBdO46 z>n+|pJJNS`DKP*f07ag(YH1}UwFaEtYE2qCFISgKvpmpq&?s%^{$)$lYv%6t(u6I= z!wnC>&}btucrdh#CMsf1gXSoyr5KD~Hjm-L_glelFmA{JKJ_i_+iL6(=k>2p;i=75P9onaQyV$yzOinNK z37ijI(ps%{qhMY(_(83vkB4bpYFyrT3f{D)>@JtKt`FdGFfh`20fk^l>fu$7U|A z8fLLt`3M&e(a1kD81>uP^7VXv)ELgL_383zc6K;e%!e2C*Vp~CbH$(C8{Bev`TBf5 zpU!9HT4#1PTh1<>`^D^Pe%P2@-CsFSDXj>Mw4u@-dsRbhRuz=dc2{fvqZr>)UcMZFc>Uqw#7PCbr zpUXe5DRp~xUZ1$L#c;N0G+HBXdH=F9U!E@J?#20U-u3;=>fF1xXVCX>tAwLBS~E#PC+?`E^v z*?qsYI2$gPr`+9dz5Ao(`T70n<=OScoWtqX7c;ki|5C@(?6-4(F=!z}$nlA6 z31Ae5J>PL`#~F`$e*efD^+d<=EC(+JH4nx|@CRSf(Yz@l7ZrVuk{{H`$y}|*%hZ7* z(}%ShtCyzqFV7*7l~82XnTN(U`GKI-4MG2~S&fd=BQT+}201%LY*cGc0@{QBbd_4P%i zzPvXVS8mH#{MIKh28*-l+xgsvgO0x}1f#Kw8spNS}kDe!S0!C3_~G4 znm<->ka_eq>kq-WsL68cLf1nuqzDWt!Q*>mp2|b1Zth``s7?_{RzVSx5rOentHvIJ zvF4(%%^n*`|4kT@!2NTLyd8Jb${f{&-$a;`SI(S=g*-N8fWwS;RS#E>S}3v zXJ?(k?Qe^VNgWW3?(Y|itJzDKQWvfB*`IH(uMS7G8bzfD3^9-Yn%`OUlddauJV~^m zF}R+cQjf+ZkruSYNAt%D6b7Q}n1+#9Hw@5;uK|qO1!;sN`Zt5tZ8ES>>40}0X)V-< zVn84NKt$@3=2^{LFh1uCz<6Xw1z4C{RP5naiBK^&Y^q0OJP#Pq7}v0$dZ(k=(d2G+ zKU*%{0e>`Gp6bcTyZLo%I-d_)@G&kL_3N3D>d$A(#mpm(!JnT^FJ8`OFR45v1S8#U z4?W)N7;azlyQX>6A0L{XVQJK{vj|L-VlaL@8XWb;tiVX2RT~g6Flu}<03ykUVASZ) z^E#I`43mldKn$ZKN=#RTa>EQz?NLE zmpvt|Ur0*t3NC~?sZ(-WRxSpO3DoSQ+~T#Nr}K+hU%$8*NW6j?5vr9+=upiBMmAk- zj1CWbec3;BrYJVr`AByCph{t^4g>2Y(Bkc@%#iCib5N8BC^uDXgBnlfLzAn`fPqm z=BOe!q*hIDNv(vWB?B;aid97&8%jwO483HVYED45&$Lw=9lR>0Ma1FS9}EVVkaV5f z0wcw=MeXg|3!uP-Tm)d?!1EGD7Jvwy1T4@yAANvFq^wquf^kfVuL0wMzr7de3OiI6 zO?Jl~BR2LPDvbz@XVMsQeR|!|^fnH@&et2Y3yL!!BsIjm1peJ_g+jZ{Pm;2jtH`-{jH((O40T%@T98e?9lnX^U~A(vNewId0_k z`?^%J=kvqOs1)wGGGXx_LgSCqa*E@loCYuQhDe9sUtC=+d>CQyD8W~#Fe1x}H#uI^ zVW|BrFbEAcc`!#U6;F`C+=>+&dm#_al}WYcB2*b03L_t!zmH)N@$yM9(3gk72Q(D~ zwq@c;FsOfzV|koJs?mUQxwxn)4Pdl6_JhE{e>d}SiK}aWsHWhh?tDI9n%RYA&#lco z27yuglPL_+85cEPsD)slo}p||SgLb&b#`@iW+g~zNOaetx0O`|dfqZGW!n+E^BMuTPAEOod;-W@6Ntae&P+^q#2~%cUV{E1@ zR_fwuDk7D!xArnNHO51qW>W<5Z<$gFnGGNez+j}LC=(h?4q@Zh!m&DGq#9r($&jL9 zIJJwGye_aoz*}MyN}m#%Zi3D}%n6B)=#LRHhvr?K6V8|O`FWOqtTFx*${%mboD^z| z6v{{J6ilS^E2c26uCAHCfk&V%S{r_N!ersDH5m9^e{AlvvX%x(o1`8{wO+y7cK%}1 zlG-AoUcvJr`FcAL_SZ%8nm#5NaabsnJ~>w^0wd9AkiSJ((3q)UR1UijKVl=-@B;w` zEGhUV7Z(@uB&wO=WHgJTmgeF399n8d@3a}6GC}bX{V}5Bh|ip4>3n&1wJ0Puz+m@W z?d=*27KFSAeGJ|vg>bbJcp2bA58Uonzy&?SCMSkpfsqv`@3A?0Z*%QZIL}p%&}eL+ z0jbo(RQKK{9cwb^OUHyoAnp2!3V~t4h5lBEmxi`>FziW?_^ zMWr^uz%OgyEHsYQs(t7%LwmD@jsVJGD8*HQM6!F^v&wiw%YG z(41Pa5g1VsOAj@M6ljbmUWsHt#^-?1BG5TB9*FgWIK zBp!nS8;iLZN@K!;Qvn#kA^^fBd>I~Y1PES^7>pm9@#d0qhgY7GW`F-aA;JYRwpwgO{vF17?rgL&bSbO#n*$u(@qy%7Xzn&>SzcIe5mLI$fv--kD(WWHipC0VypcUDM1vX zwE{63KTA{!j^6Zoeuf^+`P|~Sj9S*5^fpR;vudf;36c1urjp9gxu;7)=n?FFp@Lm_ znNMhpB$bSmK#!!soY2=`NF4bXILO3BJJ1+}1-Tay79kV+0T}y%-dKUb!nW(+6oi2x zM6SkHX$<_Q$?{`Y2efMmVoS$QnAMP=^B)> zDCNL)57%rYu1i~7P{CAGLkKPe8mdHvQd9y55wqlRC#a@QdZaO^iZGcqP;AH=Tpxh} z6(NZDR!K-npz5q1<7i9aDx^oWN8mDpV(+^-Ow1++$mDyhAtJza}U9wc0dAy zVUb?vFZR}CthB`e6ZTPHQLzA3pfips@4Z0=si5aDrOn9HC;q~Ekyco;Gyw-6|lYeEX4#tCb7 zB{HZ^N|FkOTH-l&#ve*TG)xpqC78zG9)pp9x)GKggm{NDO%S8R7XH#kgA@jN-ps?O zRvsvfkc)$r>>q@BW1Z1p`R^)OQ&IL?c#!=5QZV2&51qp!YpNz`9)#4OU>v8WQqq)~ zE&fJm2|tKZnJSOj=P8M6(F@26vBvnx@)!u0a#@;!z)UIradLqI>N<~$9Jo-JB}Jx` zMA2EE7YtRiZPOkbtx3ZBvRxqxK(g zu~HkMK^0`ekEw)^)rEvPKB4g}J_gTuM@NUadE^)I%EY8uqpq15zZ^W$81hrIhiI3E ztc<6HWCN}SWkGmp>c$%5XREHIkse7Y3rm1YijTlZ!ibjXO_AH^$qCx`Xh{UST%zM9 zN%jEGKOV;;v8Gq1EuI2{BDE5Mp}R9z;*${=jorosBlU&$1Yp!FL2i$H>A*~C?!O3? z1es3<`zIk52L}LV?_e)f8OM8}mr+6WV53@;!^)6#n(s@&5XVQ0#o-ZT3P(yx?KUif zFZCUPgA?AuI)EgP>F0P+bP>zVX=MgA)3csoC{N^53yLlQj8Rvj4p{_y@t8DrWI5It z{{$h=I}w#yua{FNLWPn1!hvgRFyMBVq(g_33jU#|uM&LV;>J>ia-)5Fb60Op_U?`r zcg=e9^4-nN%`Hy-!NH6D5AWW;J2?OoCnx)K7n)Ompd*xKyP+smgg^QEUX( zlp=gB7?QI%JUm)pT!DkWUWsp19jzo7-KqWZbc{LFLo8{wI>YkV!ANRh+;zInG~qg3 z%N2RIYjsV1j3L&ZjrE&`ZCRG5C)~qszstagvG@moL5W-DXRqq}=up?fhrSw&0;j9f z>1a9~k4Mw7kXV6HozHy{=lJf`t9t!*Ie&Hj>V0!^4te$JZh!y9{{FjH@87?9|KY{{ z$v$a}lYaGLFmgt1%hd!m5{yHnkF^uAxPU2|j!eBZ5ELlK`09bN8@1hacObdyp) z))@Z~p;~I9AXE^^phzV6^l8)iGr{0=ZN9|JB~&lYX3OkKW7M0=`4KMg)${rJar1oX z*DH6g-tE6Tzuh}{{|XA>-bwOwAc5_`W~x zs@$kAx_(0M41L%0UB`A$Y2nP+t(uPK^}E<>F7YEL))@adFlwvfspymE0D~7e%ne6k z5pc{qdNu;%cyD>V9Mv2C{QUgI?cBvhfA8jI@7=5Yz2?oU+vfhk$(wheVE^RB$-7r? z-rt>^ynFxV-G?`z?89z?9rf-5e2jOmZV%qQ|8N4c>J|^4;FFX0^w|03!K-s`|8{OQ zFVC^FuU*VHA~1xn1cM(PE*9{=7l%{KDAff5gExIAW4=7?+w#zotYOXQYOcqr&TtC# zG41NzX({23h7Kt4TAfkCcC@i2E8QWl^#`8QO2j_KKM4%hv?){BCyGLop~vxs)6XAA zrLfBsO@lKAM@d+jQpe5Z%fn^!cG(9Q@0NCTuRcL3Ir$auU%exRv48RbXuQ9@d;R+T zyURBpU|PYsAZ-Cv0^RZ9!{YAb&0Tu`!*X$3sftCYi$?XiGzKqtJ@^+#hcJMWVlvgJ zT3x5p6@{rY@UWM8%1yC7&99BS9p-!+`pDJ0o}TRt^**-bOj~xh(;M<>tCt?*bGOy% zA6jm#G5%SRsZf-tIe@w05h7owF|f|GPlgmGF)YMY9)nD&&glHEcYO*lE|-3>UTN0r z&3ESjMjP zqrSI%*?@0=1zzXJ2lFE&F~;ZTd+*K<_V$k{zkTrG-Twm{?_bZync*Rx`Ret%eME8J zzkC0l9CLhFtwUoJ_g~bD2X{-ymdN`K`jv!L@;hn_`fMNLp)Z!&X!lN}9-MCZNS7XIdPyVM@`3)O27;^`<(j%L~Am)R!;Yck{WIJUXveZeAVvmq+u+KF8gw%Y!#})fXRLUG81ZTus7A z@nQ(ZD#f=x(O(5dEU`Q{7-U|E)48MT1x#;UX^hIU(`YUiN$vc+GTFO9O!pj_zIX3$ zspMm?3FrIn{TsO7i{+3_&DBl+Xo)A?kiyu9_x!S-ax&kLiv<->OoBcgAvP5sxdebS_5OI(Ct&A z*#hB=kSey6$uOnTjds1##!v%Vet|k(Gdhxy-SfPrA&%Ay2VBV!)w_*1DtF&17R=d!eI60CxJD!X-nC? zD z1?FT?ot&TBk@LNv*wsNZY*=arb2~R@67GfyoFhAZ`APh^L?BBj# zFffMm^UGTpP(fEl2u3p;FI8D94B;<*j3oN6;rKk_0{dICQfx}a^6lm>5ExP_@d+@L zdOZZAy`FHsK}M)DsQ=>p9Bt~lag(PMZnOvzLAY(wYje}ca)k*ubj}Z>8eW)@{SdQ=Ayw7)*cg=8A$Z8rw zIFB%z>>Ox}#+H*2Y@}FY!Kc7QsU$uH#*VflMK#8$SYmlbAuzI~1Z{`hzLmnY_q31^ z`@M6tjxtzDS=}TeU?K`ht>n$?^VdhWs|PlQuWimGtb{wi*_O(UCE7dLoli>e#N3W3 zQe|%Zi;U%YC0L1?czo~zEFfBd#lzj+TVU)*p;~4+;r;F%I{5ZiTm%!QHXZOsU~F!e z-`V+_U=XtOox$$ySYmlD$$S!wwZ_;cV|!xlT4fxZtnPx*Yath5U~0<&5B7Zrn~gsg zj4eR4;9nU_EYBsMr7f7Aa7DXF0wY7RLrNo-Se{Ql zPh%9TL`J0=ZM|RbidiSVPa+_KI`mZ@<6z5>+S^bV)vp0VV^9CQ?};UrPswL$3?$Nk^fRKc4Dm`%Quix>2GR`e11b?tRqv~8^)qC!l*MNa=Q;$|7&xl zFe(pSjQp2_!8~wHi+`1|d{Z!TswRpWb}41Gte~lpiIUHy^ThxUhK9MZ-@D1yCPmA| z9toSRLp|XewNm6?P(p;|Mz$=ezsmyt-NbG-mRP=t;B1NF1{hd#YM2>8)o|u=+Kv!- z-h@VENd=esNN21!-cy6?!NLAhU^Juk7<(J)0)I<;H;mPODHvJ&;{}QK19Gv%@{B@d zNLw01F-(CMRTX6zr5!<7mH|!`TW{^aG zSa}DOVMyvTz(CoGD20j$F*a@AaH%CZjTq0Wl0UmoBR0es6|s z*Kjn~*}hejiXyZJtHQxhWrRLTwOutUk>|bhxnN|o0T@BwVJxvcv!FSY8kIIQhB4~) zI#zEu>UTO_PmB&MpH++LbUtks+hNI6pfl-+VBJ+h6;!Hqwt5*R++T>^s92nqtz&~It&J>89fOS9UnR`+g4d(~#e z98L`r_E@7>9gpl{!%!7*G&Xib%^usDAe6LpI{oQVkgZ9Cq$WZzS}k_`35*nh(b@*1 zMqnt9z*z4$d|D*7@-PPD*9BwT=~#Fhs)*S7opA(4(a5O`47=}Goy+F&fdhd2YV*b~ zFpc3?DhGGyX1#lNb9cLUd3SerNq3N&o6G&Z8^3vrkM5?G5j0PCT68VLxU{g1UR7O~ zZkBJTzGWS{V=1el1m*L=2vi0G0~#a2z#!d#EmLgo)RxBB!h#+14NENXada?$VlhG%(ucik}#_K?6JjdAB!_HOSkn>UvjMR>P= zd2>0M(%s$7?d>H@tec_jxXtO^<=E+(f*)!V)WM(Pn5!Bnlkl4K0VFAav&XDVYTs=~O}*H#(>!K1!4F6X<> zSg%^n-i@Q?$6Yr7WAFB+dkG)o7Hr&(0Kz3y!yety`|Ztb^Tw-O!rZD3p?r>^3W5bq2BO_qY!54s$SbY+Ku@X51BSGE;S9`dqjfOsKi}FCY zXn}ML#xH70iBsld3^h@3d*jktV;E2twyI(ou$gz==AExqi;lye=i;KbdRlyLmhEG0*r)i^JUlk%Ss_k6n zvNsluZr4yv*J|GN&EmKV+sQ8>oxyyJCTWf-)*LsRmtDJRGmUXGhQ>IU-uRQMSshtj z*)-LW<))z~x{lFMyH3${GTPMg(xt3DJn~eotg5*$0)qvoq7xs05iDX&2CKS*P*r#@ z%gIeJBvb%srN5Lc(1^kKMZtiIur24%^0K3jWoT=S(J(aMvdeA1;}tKvejWaW9rzd; zfnoVoH>>z{*Xm#u2gmK;{vH#kXKPPC`lwqNa)&ZATN- z484n}D+Zvbqr}HXCL;nGtt4h+Fn(E$fdeq@_j(<7s%0ZCvgx*}rK+}2PB)D4*fy~z zLmf|Tq^|dhZMN+KSwE^nuZ*YDX|>)o^J9FvYgdrJ!22G`1shd-rP@%(_zQ%fanBqT z&7z>@1U27CrxkN*8fBbNv~Yhe7z$Pg0u8KV&ZKtqL5r=})RVf9iJRC!%VI23`(D5!5WeDB1Ar1q(P7D~(|oVmmDu`E7FQ>NTD>@F3KP4&_lR^KR$puyfQot+i;uS}G-KI~lN{3QEQhs8tq2 z4pmh^fXt+>#w=Ntc#pyORijdHLA8P?8YNjUvdRjKypU57Ln^n6Dk{%&MzLxHvu~=V ziFK7#(+GQ)SQk^XTEXX37}dmANOe?Em0N750Z=h*sCkpBr0}6?;4Q1+I2vh16M0Qj zOE`?5?R?8RFXG6zcp=5B__IZrO!9d5=bg5!OEn1^1WE-N@KgP0W{aJ(*$i(cluM0L z6gwJOQetig{{)y&f{_!n9YxEjN=DG2H?o?BmnQZxepN7}l3Ef`pob%hmhYACna;N} zDwKqpuV#c|UMRMqFHqA#Md)Zyt)lXlwJ%XUc`=w5Rb|ac^{Uy1#t6n90H$E{K|T$| zQ7kqTLr7C3R1lFSN#pF53hW4eb{<1+RP>}bY$XJ~Z1~ewt5DJh>QC%ES6DsZsdy99P-kcu$_;_h7=Ko%^PZHO0h-@HtJxv zN)?0Es*yJHReLueqiE!dYP)DO+J-@?5hw>iGEjb^Hpqs;kA_{P3F*&uzU7JT&u3?I zr)Dmo2No^<=<4wG+5PnL_0|1(U0t4C&3e3ZcBFT%I@f3SS6xX=a!0e57XTvxFrXX6 zTsmzJ(`nJ1s@`xq8jh!QKUAlq(P*5N$o-B@sb3WgBa0%w0wP0_M6*Ix-ghIX@$96R8o0dVF`cpenBMR+O?1yT&W4>%lH z<_$Lj-UKwrZjrDc$3o5LVMw*pMOZ3KFCkJ2!v#N&B@8sgs6Ja`T+R;lmfIQ6=eBsd zT&Az@y~*v>V)EhsWqWTv_dKYJ!RQS5T(qw5$B5U8ovW9v3jzc2TqWHG80zp4omgH^ zF^Y~~!oSdS)Z*@;rCxflDGjyW0ES{v>O0_SH6BHxIMnoEt(J%?91weHNnDbn zLeUf!K8C-0#oaP@N1oG%A@tHewGYz{2}jbS78w>ax&_2^}l$+Tyf|BU;&e8bvRw4C^7uEw z#~Af&G3|9l#c(_ZhNbQ99=`1N$A#GW{vlv+h$ixni$r}AkIZ_PQ>+o~LXu=w zHX4+RQu_g7EIiN7|HTE8-v9s?K1oDDRPmGY;`kU}Ln9CSmIU|J8Y92WfEpoE4er#4 zmkou%=y-OGq4#H3vwLrM_xfr!zaB`}SGMlmUr#FY*|KUb&+v!Tn{^6sHOl?@*&?}^ zbqfi7^}6O!K-@L}hM;;~quB0v7wvl6>*lId%*7zDUIl>hl3V&lbRg2Zr*V+ZSNH3r^te}f7dXc%zBZqE&d zoYn`))}SS1^lS=H6eM2YWloY&8-lzzN0o#HloCQOCknc#<2B`YV`ZbtO1emB7&%eL z2(6OXFb4w|q{#SH@nO~|qx2SFi1AVV&ZZQ8MbH}J6OUss>jN-SOk336zP$hnT*yTT zMy)Xku!u+?7}mlbV`NZWDY+TXpfU1)UtxSJjge4vE`i!XJ(Vh_b~p(oAqpx$6kb>L zR7uB-UKH6vXXv`7=%o~&&Ei8Ozr__8G(jsZqI3|cZ&XPY#g>Txb6U()+k=6SLEV_J zgCt9QRKKr4uk!``?jAjkF@Z3$5^Gb6;)}8@)W8LkTG*LGEeHUEpB$h39_WUEgl#C; zBOv2=l0XPwnLLZe$Op=x_?L*}iXj!>L}Mg)G06ut1ih)xkhgseFrS3D+G_ zv3w87b`Hn<6Ei9Vdn}R_u<2vaz3}$!pMOC9{PS&DfyF?-D{A#`@!MQ%DU07jO#(7r z94lW2#(G!F)@G*sr{v)(r>|a;_5cj@rXoQ@&X}SE4SUyJ0s(`4KQ#;{bDfK5cG{({;zM}7z}_wV9<+$LmzM z|LhSMwc4M5{D;XOf56KiubaR?k!bzoe>Yr<4bAcUe}6l>BKhsV6q`CZMuIT;j9}zT zdCYwN*!_0^gB|any*nAGjWrk?BZDO%WOjQ5Mp7awf}sZ*q>OQhTAA*1^anl0h9Sf! z`k72A=nRoJd{Kj^XAaFrV7Qzlp3i3Ub5()|xpFcjJz3(K7PNNv=LP$J~J3eHqs!$O2Jr} z82JsUz~e|Msi&&Vwq_!ry%m8cu|T79$ZCR;Xp3cNjJB99m$68PN~KVo6DRnd7YtX& zCChaldDk;Xm#*jY`L%}dp}?&)HPlN&x3fq?@yY3UR9J(-?z!6AH5fIDQC$S4lzhy< z_}_3<}v21k448c3_~?7%cMRg3H>fMk)d$nb;b(R-?Us zxZWtN=q4JtmWaW4W>c!~tJ!`(``DD~iyr*zbJ3I%DthcY!&bOj`0*tFoFuume`1!zSCCF@wzzF8oQh`8F{IW5bFes?4ZG#a6nu0Mr#DGEzZAl~W?3Y(Dd0 zQ%UY@1q`bhq&&t7j6dI^PBsJsm$of1$j1ocvmoIWGo{WpOsTJPzRP6F%(;sY9Rg%TTQ_NR^Mv@;) zJ&fgx!nIQ0EjVTbkUVzOWJ1N0H3gr822W8Dr(P52b)s@j>=Mz-HGx&{2ugx`XpqJ7Trzi% zzSD6)XMO6(*yzL1v;Fz`yfYm3W=E#JU5ZX=?5y-PXSYV7~MVq!yeP>Iz4 z{YGf~_J6ESxL}5Kw3X(^HOT*VQ3WnbpMYWukRqa$1 z;iRI8uboe0W&kG5V3ffR00S==$5xL?G(8G6QZl_v2=j%-GTa&rZgZ@^l;Tsgjwt{m zC1W5P{T&jSz%Ya*o)c&_1|M8^WV#0F3W^gISpY=*3XGVH=auuN+jkwee>fjWtiU{S zO)vz;JCrQ6o-HkNyM{`B0LI%IuY^@0$(DY6vQ5M)&-eT9|9yo7-+zNj!WR?aNid)* zL~ZOlu0OW3k}0m{N>TP2!5PFYbJVb{q{?MLAeFOiOq$B2G58~$2~ePrf9ZRJLDzY- zaYH8~m4Of0NdKB7JORemz6&G)86P1SDT>=Bm`A}=j#W=m4;hOV24KjNP*YG%l2Rl- zDFmHmF&NJ;<7)(Cm*^GfaMT=;T!(9QjV@Q*Xo?(&u%$6roaAkk`exNqs}myWlat?{ zs0Rs9VI?8Vt~xlLNbpv9`5_o;RR4|215q+SBc3PGw zo|z#qFnI=J5sDeq+GPL+T#4@uhLm9SvgFfYs2Vb=lEke8d8<7cj~2l|BVZI2pNPP~ zkV1U3s3cK}n?w>xB0e~QVp~b_HFRo)K@dHKpN&cdF#;oY#-CSoglW+P!&BKOUGUb? zEEJId6EK0xlO%0%K?PG$4I#J?(1F2RL`qXlf+E7F!3f-qpokDxL8UQy1V&aIyS+m! z;iE--{j9tOgC8w^?2gxW>Oh0>5GtV4r-`P9Al;^Sq6 zfssXA;I#0Kr@&C%!{N|z`i?ttFoHP(!)P~b&+U8Tgl70o(I^crPDj3xDd)z+ad}Y4 zs_k^n_C`X6hP;-(I~Wp8YsN8#hX79l&M|e$OLRq%!w4;viUiNzjJ3l4(rJusFesf1 zTKe>qIxO%7QKw0t?5ZV1V2HRT>9UR=jcb+`{K8@|o?i-7I?I)aEB0FKtt`xH6W$J1@SoLE()vScl+6fg&q?E~HFx08lu{ASm zsMxL4b4u$;gyTM~t?Z9g1B1%PFNcEx)&gY8nPJyE9Y`Wfsm!SB!v|s0kH0q<(5zGE zuxE`+6id=kUaoUx4ON-RpdO!&Jq|yMyQY-2&59AXq!<#k>ysX~|HCy2X+3lbz}ZW#!%`w;KydLxs~P>8g>5WC zK>!7&F1S#Fm^(U7Ae1H7(S zQ{HpD2n;w>3=AXylgb7dx-qpyJy{4BlqK9z3k^(aSLMep*5|;M<+G!)l8V4UpNBAZ zZHnwlQh&&W%>c3Q{oHvD*r_FY^>xaTOB)G3ks~t5kmV9t{UI1hMA>C}Q{*<3deFXy zL%`Dnu?r4pym;|=5&}I`pU5y6fR94Cl1F(AwPU#|2S34(vv$v!u6zu;*B45KvhSK= z*BN!KPJhtvnHcRl>EJ_HYOhf48@&qEf1qo%*hPp`E1qepy2~ zKR@b@c`7@{uz!gnPY5RIlHSl^XOVeCmXhQSacP3r&U0nH*6I^j^2jOZZeO=8712S_ z8S)qko#bm}ooS4zW6*GQiMKn_W~ELnKTcLkoBEuSE8P)r!O9xg*r=K^sYjD@wgn?| zh#mBDDy(|qAsCX?^CcTo^^w95x;=YkN@3TLSt=JqO%k1M0~+J>)OQ@;_px*Jv@wa4x9qmKVu6OoBD7hc^1~ywEC{q@do2=*RrNK z*um{KTr9M8N>f=t=a;7a_l!q?gvNgVBX=nk*)BKd@bh=}GjQf6K+$-iB ztLFi#X$;2C0!E4pgDmVi88sIKh7=Xp2J_TXY?u^^ODF7i#%2!^42%nW{i9$QSh`)} zO|7IVrIFPeuQbN(%_v*ycRS9w)VJEB&hTR3;~;eq*d>jjrTs1z>7gWS)bVI=z;_0N zKRoR87b64q6h&<%W$K`#TP*0dV<(30soUQ*I#boMg;BqK=}QG?I_jFd@0rdB0cuyVQ58V+$U4zhj#<6RPCY@=78+4&WkbrLLcVDfXSgkgxprFk&C$Cjz6kDxQiyVPLS6Pv@Sr zLonht;Nl_xgGHjE443=}j1rD~zc)l#6jtROI;)b9YQ^oEk~HXdP1WsIv1Ik)6h>1j zgPnRq)AFQr-!kxM$(VM$LW%p{U~tyq!kQjpz@|$(#gdBc7)T5GL$A-Z$}dk{uOYk~ zPMvmk+MnF@eXl?DeTqk^-6`)ozUTR4r!3X_LpUBXXp;14cg(>L5enTYY^$1HU|{er zz$oTSuj^mefQmnFA58F$?=Oeq^%>PEd`+39({)ddsXkqLlQtFEsJc6VyK;})4xBR%I%$5xdez1+PVN(tW{bxV5R*SkXYYBfAhhgml0j9M`kKMfcuHolhn zGbt(`rFGdENkv1ZHmi5GLcGBw+aS7|dIAhV(j3bjVeFn|SwkU8@a3@piNc>4{4JV& zr(W$_j@`G=0*V-|cRK8L9mlmtj@#>Yd^CxEe;-2}F0L0xM~5DpP$wv|;n4pe!TZ+B zmvFxOjop_cT=MmiI~l|IcGQB8^|5Bs>-ao;CwFL!@l5#Oc){wIp5E@D=@HyGHXuDr*I=M#NWt#%KJhG%?zl@51WJC(I4Hni_%}~)NsV5DS=h6xmU?TFy4g2wF{3*eZ zLokvnFj)9087{$K(c2IVna2JraLk!Q9+nTK9ycnX25?8kkV?%kFs^cEwb=;8wGln+ zlQi=@*w&2g{T9#Fi1bCn5Vl^VNA6jW;7e{L_&)XuKUUT2K0g)+q#`ztGT$vOK9WBj z9iNL*5TIRs;}b)jb2)SxVdUP9reZf^Cb#pm$|u11)`IeOkuUM_)R4r#eAQSaSeQzc z;{vTs#YdSKjE{|{rzJglJZI`x0Rtxv>+oouFrYxwQ4Ge@LM3jJB*ddSe;F{qgT~rZ z*`GTx7$14zILs90AMb654DsaO*K@){E~ z`2PdJ2sMThgAvO&nmV2QM}k2yf~@odo$pxw?Zy=UPX;3ygAvQOn&0!!1w&9`Fk<;u z3L~iqiGQSvfqF$DHlr{Y_Dd$yYlLn>R^+K=&cKSi3!#*&yFY^B3G$6Rg~>#!evd-i()B4TWV!m(K? z@h!eR+bxr&s*leFqr3se?vDin<&K$HV)+L0_rQ3xZSN-mgZ*2m8aS3%o>9IYj2~=D z1#IVHwGqp+>x<6>BcfyHrvO7^u757K6H6@5E}sv^&L$YS9|}gGHDcu-%X3O#j{F@k zuvILI(UKd!1qRHj9|guvtn_2~2Ex$zLNKyF1sF_yQ42{dv3yG~#FC&+MA(e!JA#sgHE-MzW5nRos6cB;cd|1ARiG*y-XV!>c)L8yq z&bQUGdJb({>GV2Sv$C>QR1BQLx#tb7po#_4Fp6YAX;3UiE?bbatdPa6S1O#{BIj$>;=-#Rr6tmKpMbT!j}#Z?j{ zQ34o-AS+^)*0#nkYApXMFp`=nVgH^W7=0J(W1<6|mW%!FC|w$L9kFaVCiZW6_Q)18 zV$mFrHBK|K8kYN-)2Us8-jGW1iyF(n%lV#;hQpyZ#Of`->y1Vc7}%lY8)*eAC`VY< zcsRtG$8N9d?I<3c5qDhjv5mr;Vgqn@gtbgUtTAHwcY#srSRMG^v~p5Ja4K@XX$Rj> zQH9df8VwxhR4rorDb}cH)Qq`<#YPju#t^5MlAmVF#bP?$z9^kvqljB O0000