From 115af8a73411901d1113605e68d97667d56387c0 Mon Sep 17 00:00:00 2001 From: roshansada Date: Fri, 7 Aug 2026 15:07:43 -0700 Subject: [PATCH] Add Ashby third-party MCP plugin Ashby ships an official remote MCP server over Streamable HTTP with per-user OAuth and dynamic client registration, so the plugin is a URL-only mcp.json with no variables block. Co-authored-by: Cursor --- .cursor-plugin/marketplace.json | 5 ++ README.md | 1 + third_party/ashby/.cursor-plugin/plugin.json | 34 +++++++++++++ third_party/ashby/CHANGELOG.md | 8 +++ third_party/ashby/LICENSE | 21 ++++++++ third_party/ashby/README.md | 51 +++++++++++++++++++ third_party/ashby/assets/logo.png | Bin 0 -> 11115 bytes third_party/ashby/mcp.json | 8 +++ 8 files changed, 128 insertions(+) create mode 100644 third_party/ashby/.cursor-plugin/plugin.json create mode 100644 third_party/ashby/CHANGELOG.md create mode 100644 third_party/ashby/LICENSE create mode 100644 third_party/ashby/README.md create mode 100644 third_party/ashby/assets/logo.png create mode 100644 third_party/ashby/mcp.json diff --git a/.cursor-plugin/marketplace.json b/.cursor-plugin/marketplace.json index 92ee3140..74f88729 100644 --- a/.cursor-plugin/marketplace.json +++ b/.cursor-plugin/marketplace.json @@ -113,6 +113,11 @@ "source": "third_party/apollo-io", "description": "Connect Cursor to Apollo.io — prospect search, contact and company enrichment, lists, sequences, and one-off emails — via Apollo's official remote MCP server." }, + { + "name": "ashby", + "source": "third_party/ashby", + "description": "Connect Cursor to Ashby — search candidates and jobs, prep for interviews, manage pipeline tasks, and take recruiting actions — via Ashby's official remote MCP server." + }, { "name": "zoom", "source": "third_party/zoom", diff --git a/README.md b/README.md index 411c8145..49b10377 100644 --- a/README.md +++ b/README.md @@ -23,6 +23,7 @@ Official Cursor plugins for popular developer tools, frameworks, and SaaS produc | `gong` | [Gong](third_party/gong/) | Cursor | Integrations | Gong MCP integration for revenue intelligence — account summaries, deal insights, and call briefs. | | `salesforce` | [Salesforce](third_party/salesforce/) | Cursor | Integrations | Connect Cursor to Salesforce via Salesforce Hosted MCP — query, search, create, update, and traverse records in your org. | | `apollo-io` | [Apollo.io](third_party/apollo-io/) | Cursor | Integrations | Connect Cursor to Apollo.io — prospect search, contact and company enrichment, lists, sequences, and one-off emails — via Apollo's official remote MCP server. | +| `ashby` | [Ashby](third_party/ashby/) | Cursor | Integrations | Connect Cursor to Ashby — search candidates and jobs, prep for interviews, manage pipeline tasks, and take recruiting actions — via Ashby's official remote MCP server. | | `x` | [X](third_party/x/) | Cursor | Integrations | Read-only access to the X API — search posts and users, read timelines and mentions, and pull trends and news — via X's official hosted MCP server. | Author values match each plugin’s `plugin.json` `author.name` (Cursor lists `plugins@cursor.com` in the manifest). diff --git a/third_party/ashby/.cursor-plugin/plugin.json b/third_party/ashby/.cursor-plugin/plugin.json new file mode 100644 index 00000000..9e1ed300 --- /dev/null +++ b/third_party/ashby/.cursor-plugin/plugin.json @@ -0,0 +1,34 @@ +{ + "name": "ashby", + "displayName": "Ashby", + "version": "1.0.0", + "minClientVersions": { + "cursor": "3.13.0" + }, + "description": "Connect Cursor to Ashby — search candidates and jobs, prep for interviews, manage pipeline tasks, and take recruiting actions — via Ashby's official remote MCP server.", + "author": { + "name": "Cursor", + "email": "plugins@cursor.com" + }, + "homepage": "https://docs.ashbyhq.com/ashby-mcp-server-beta", + "repository": "https://github.com/cursor/plugins", + "license": "MIT", + "logo": "assets/logo.png", + "keywords": [ + "ashby", + "ats", + "recruiting", + "hiring", + "candidates", + "interviews", + "mcp" + ], + "category": "integrations", + "tags": [ + "ashby", + "recruiting", + "ats", + "mcp" + ], + "mcpServers": "./mcp.json" +} diff --git a/third_party/ashby/CHANGELOG.md b/third_party/ashby/CHANGELOG.md new file mode 100644 index 00000000..d9c87acb --- /dev/null +++ b/third_party/ashby/CHANGELOG.md @@ -0,0 +1,8 @@ +# Changelog + +All notable changes to this plugin will be documented here. + +## 1.0.0 — initial release + +- Logo: Ashby's official app icon (white serif A on the brand blue tile). +- Added the `ashby` MCP server pointing at `https://mcp.ashbyhq.com/mcp/v1`. diff --git a/third_party/ashby/LICENSE b/third_party/ashby/LICENSE new file mode 100644 index 00000000..ca2bba77 --- /dev/null +++ b/third_party/ashby/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2026 Cursor + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/third_party/ashby/README.md b/third_party/ashby/README.md new file mode 100644 index 00000000..3df51e59 --- /dev/null +++ b/third_party/ashby/README.md @@ -0,0 +1,51 @@ +# Ashby + +Cursor plugin that connects agents to [Ashby](https://www.ashbyhq.com) through Ashby's official remote [Model Context Protocol](https://modelcontextprotocol.io/) server. + +Search candidates and jobs, prepare for interviews, review pipeline status and pending tasks, and take recruiting actions in the signed-in Ashby workspace. + +## Install + +1. Open **Cursor Settings → Plugins**. +2. Search for **Ashby**. +3. Click **Install**, then complete the Ashby sign-in prompt. + +Or run `/add-plugin ashby` in chat. + +## MCP + +```json +{ + "mcpServers": { + "ashby": { + "type": "http", + "url": "https://mcp.ashbyhq.com/mcp/v1" + } + } +} +``` + +Auth is OAuth 2.0 against Ashby. Cursor prompts for Ashby sign-in when the plugin connects — there is no API key to configure. Ashby supports dynamic client registration. + +## Before you connect + +An Org Admin must enable the MCP Server toggle under **Admin → Organization Setup → Opt-In Features** before anyone in the organization can connect. + +Once enabled, Elevated Access users can connect their own Ashby account. The MCP server is available on all Ashby plans, but not to Analytics-only organizations. + +## Notes + +- Tool calls run as the Ashby user who authorizes the connection and cannot exceed that user's permissions. +- Ashby MCP rate-limits requests and tool-budget units per minute; see Ashby's docs if you hit limits. +- MCP tool inputs and outputs may change without notice. For a stable contract, use Ashby's [public API](https://developers.ashbyhq.com/reference/introduction). + +## Docs + +- Ashby MCP server (beta): https://docs.ashbyhq.com/ashby-mcp-server-beta +- Server URL: https://mcp.ashbyhq.com/mcp/v1 + +Logo is Ashby's official app icon (white serif A on the brand blue tile) from https://www.ashbyhq.com/favicon.png. + +## License + +MIT diff --git a/third_party/ashby/assets/logo.png b/third_party/ashby/assets/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..ae41551919147c72c4989424e5accd367617b992 GIT binary patch literal 11115 zcmch-byyrhvo|`sEbb887fo=Dda95Oi6{)H$kBLT#1^@u&YXuo~IPLtGP>|qP^(9+mIDuG5 zDoFxBRXqBmF(Uk)+EhVZ2>`qq03aX)0Pf*g0eb-8#sL5aMgSm`0susg8O>@U@CPAg z+ON%(lz>-o9tA)I;Q+Y<2Erg5`%SkFJd}+EhDMn2|D&gP9h)pZ072A zbGx6K30fCb@Dz4Lz*)fy15hX51(d0)e1Tk^lgNvl7#A%;u-XSWv)OZqZy)+`_ebcyhp{llmDKetyPf zi~35hD0Y3c(#8|fQL^)mb&5y#McjnKw~>4`0X&+h#;vx4_mb3Z)N4_V`mQ6}QRKw4 zFaDg}445Mt@JWFu_)0r|~J62>yU;Irw)NG9#Cr)Is89HXBga`92o9Yf6*5OoUh zXfJKd^2uAw7*XP%4;8{#qn^oono5;7n$dCNbKNITd**a_w%b`4J#^c8_T`XyAX!aGj8<0xSVdfHn<8ZqL(!aleSpadq2Y&*$A0~a`&7%Xje z{OhO6%n?ad1!x&<@O*t}3ILM&)7>}Agf6Ke zP+bAMk7TMJljU?jVn`}#nU5i_=Z)pPgy`!EkOK`=xmEN$wB1Nl-%MauLi5FX6w&~T z_{OYfGIcl7bKI$#1p#D=5Zn#JpMZv}ADjnS^~Ma3u<}BcH(u9S2$|Z{|KuW;DrenN5a1uG}(5d6`@_L+|%(zFAEZ z^Vik?6foyp+n+WxLp;F0U7(Z`!li!fsxj7Wu9hGVmm>FzN4(?MP3vZy>SDZpeDb*y z6p80DHK$=sUC(b$ zduZaZ^^9voj#&Bz26x8C_7aaT>Egqi zTwgfhYly~@?dBGCe3Ry93mrN>CNrilR@zsMhs(x56FSO;-bNRCSsh$TspXC}JQxU? zSEi0#>@cgV0uh>u+&6=;NH+Q!G%J`! zyf&GF>#}m03a$i|JY}?|_HFZE$p>^o0yHvF0e9$`;Q?N7_{Zt6irshH?KoykW{vT* zh2rHX+3`jp#~qo!63M=rMTAy}Y0d3#s*@Ph=cKT4R5euvB{B(?Og9ufBgz84|C(6p7!8ykX@wsts20CFMV0RAHtLNq1kSjhR197jARNLqB|U%o^eY8}qnYEsL_O zZzCP64HxW6)E|&!fi`0CHS$l+?IsPo7VY1ZXytaIbm_uRWRso5xt!ENWp}y^Gb_<3 zL`RLxs@N$1x)~xg0N)fzz>oedGv&oQt*>8Q&*b^um19V6>E6iDPza6LfKwgY52MXAP(y8BD;>Mm9q9O}w=W0Y!fzfQwdfu`~eX!u( zI@onS@$pN02^&l{jxbPp?vy8Jk(Q!q2tx4ziRp>vpiqyk17Er-o@>%^b*q=yOF4$B zpFC!G?#8xDqW459q>Ydi3J{A+>hsQdWdWx+$^;Cu86u^#iLIh`fh^^vW4u3%%IA~( zd}fo!CCzNvOSBuoRnP!|HN+Ea##;2FnEI1HBBVS5dLpc{Uj&NZbe1^=MV zcj5wbc28d6D!gUTUQ&xYe8MfqR^+x?f_!-7e0LXXSDfJ`7dw=zBtDpHlT71F7}2Ko zbov6`kV1$`59l$^t;{2`$Z^%T7rayiM2G7nc`Pe1dl%S#O~BaIdl9W(Jucd<_2Vzj z<{X6tMNfpXfGD|m1Ys9-xbW7)ZqmUbWf`7-jM7(boO%S{eu<%M zvPjFq%I-(|(7tPdO{H{Tmx7p$K~%}rdS)f=`}nc~b*oq>yHMgiWI|fO7>P-KqC`_{ zcw|mgoR@ihq)a<4TWK~sNv zx0w2}Kj&WT{h`{P3Z)f6|G8`;N~#0b6~I3_^e7LtdZOBy=rO(M#dlwaS;lCDwUq+w zdi#akM}?4$+9Ajc0*anTG&I282s;|Bl@+_@@Zt*rB6*1+zSy0+Z27*3w4HuAbB~E} zX*x{ssTwZG0aS}axyFgN3cl#vZ@lM^*LEi1#!FiF!#0~*P(sw`8m?SmoqbY;_h_)3 zDqGd@8M?c#=O-67Oo~~tokE^qKewjOV@Y#SXIS4JJR^s7u;&(c3 zM0Keyug4^~&F`)5SlDNrCk$|fw!0!nGLZf}vckI-33Zo};LBy!b}@hB^uu5oj=T9G zd|p>?!vypANz1thO=tqb5B{B zwOJ$gJTrI?;F56k)XWqn%*ijgC`!Ozew|0uAphr~u0*N!>3uBE$DH&8jDieqDar*y zdi%)lFNHjnrj&;~Xmyw8499-h>#{yqZ2`gKn(AzY@82% z)nRcTFxBldqe%~FYaP?V-CN)N8j$>fA-|uO%TISj-b+0SPE92((?2Za!dit!LW|gy zyN2N}HWq24xSoHpeW+y*cPdYPa7xzv3+ywC(-YD(KGpH%=*PA`1fKgs)?cpIG3^XS z`NVWBnqV`}`tS<^Mm~$cQt=soI7$q4BOm$DbtcASv0G?T;vpe(>6hR)clRaCv6n03 zWR`o7hWV&HbA=$LewWg*_>~T3>pFFkuMD~$Q}l0=;>S+qd8`hTE{Hi6cPgL(DL(?9 z-=epOiM+K>>pAITqKM=gh|_u}$k>l_f|L-a{Sgf*LT=RUB27Z{!&C9g`=j8T#73j; zZ*;SLBT<)mq^&;-bL47~TcH4gNWfmi{a=Eq@9h~+5);h&$QE|?SkouiB}J~}y;PzM z*u_m$oXsK%S(H`5T&2wI-s+fR99}y4T3i?n0vZsb0F++xPn8Ysch()MP?~{(DDiLX zyc6aAwgu3y&!#u4K`3wJtS-B*Us+pY$R-=xn1gD`j>m`A^GL~_T=!ghvAA5dDbBBH zG*6@@`X5<*dzGfmYdw5BmAJMB&rD}Da68eMM}BikT5-~1kd{pzireI%6CKDdrwEq5 zI$s_%=rH>7?Z76Nxkrn4(EL;rVnmE1^Qm2{i&H#nIG;w^ZCs_Px_BJIW^JPP%-CXW zb&nzwvJ-BaAlyr~yB__nkLdciiP8ESTG6^@0mbk&Hc6V2N^61&0kXEk`gKvxzuEi+ ze!wUxW9!4CatNWzsEVTx(`WU^&l#5+L|2zP#|1-v4Stjtq;GE*i~K#zW~X|BS%bi*Pn-Si}F}G`^+IP zK?V1#a(SUIDSNYU9?;x0z_ysf%oCOaFrZ75v=7S$96@`3>yoPRONOnlDQ@93&m{^7 z$Y2?u-L^zr9G(;XuJVMumzMM5LuZ>L^;K*4!}>L;w`(#j12P*(gkbuS;Yb z<9ZIYs^Tk@Bt}C>5i4q4UZtoKBz`xiqM*GZRaA>L#>d3k{?176pVu%sU?UW=FJt&mf)=z)g4c8Cr&3{d$@~T+2*gU&`<-;S9tqfbu`a&vyi=> zvO1n3$Wn*J68`W`-b+%uhYxk0lvmn<=z|{Yh96kWg_(|S1)2m}ADZ_N{O`iGvC>2v z>^4Vy^VUef`5PBP3)jl%+Yf=g_f045G)M&4uG1Zl?V)2CvlLs+J`AaI^lI_DgR`rC ze9`uD@54-$nuctHmk+ccofyw!GaQS9HI_W#B>aRCLL9L<(vCS^M*u;q8f7fa*qv_&z^a+7=&y2BM zP5*}0n>#&Z*y6c~fFzWu2I~X%>DA`Kv3k>ohlLiZ+mau#Y3Qv!DMTh5M6hbOvnrTn z9i;Ej`Rp`4n|Pb+*)SI0iBob+_d0x4PKIQitlIR^A{E^A;eo6 zHVLMv0ZtN)VpMIN4}R|n(FXXIH*#~!WhR6h^eh+C-FOn89%|zzFSAf9WoeU8M#2YEE)3jptG>?=04oA98$IL16($vz(eu0w#l?}JTy6dHwxxbH z+Ab~vC-%WxZ%rUv2ZH5XsIrgc+*Za+GcGI4?X1D(`!wL?nwc7yg2<9L6mrQt_6DvR z3W2sSKLFU(Ua3aVQ}WlkSC@=S1tYK~DdGR^N4)_fx5h zBlK{xRb?&fxjB=~AgQIV)S~HKA;DDQ5i(-IS}jIm932oLpc#|wvQyV2rU3cod{7WZ1d^}*{yig%LW`r3ov=tY2q&Y zm0?gy`Dx+9zfngQa-LXM`}{V-`P^$0oz@UW}!%q?oR78hyU;o0Kq}4=)Veb{Ax(GXd5-f`2h3eqy`dGHp`n^fn{*o{Zv^ zb&Yx7UnLIxER%)ONMC|AfCC`$1iR=jHNMDkupKK1r;2PABd!u2-d9P|oIWFy95#&gySbYJ<+>LxK5xRL+e(35<0 zUs)Wm>0cjz7pWE^FtI>d5bv%vJ&G%IgRB(biFenP23%89J#qEoZn+{0GXIMIg4_wc z-kL+-V`7{c>>YMYqRHb4^O*K@4|bMw;+78v3*~nz)tDd7Qejk*f6@-iMyKA~4E+9! z$NEcpWFQkGNk+mdI;ZJA3;!`JJ8ZU;iYcc-l8UojE?tnT`q?{dsO9MThwy0M;iH9l zI{q1(JPv?Ef#PvultB4xK#589nb~L#>rYNeE3((~$z*iK(OA!2T{(vuT`+Ka%vLYA zjp;bK3M>6;;8~TnlSGIf$BfE_8%(A`ao&dQB5=DaSk%vW$~&n#=8ZtX^gWsuMFQ)D zMA_s_{3~I^pyiiMV@FA91)kW-Fij8X%iQ;9DYSxsO#K}>>&pN6gghos41i#poD zk8O>K-e>lmbj*sIm49U~J)U>bFe$#l#w6pYfq59&VNY#sZx5NF>)AjA@)wCUqUR@Z z(xIb2p1eZ?MwOE{L+*5UvCCTG!N#>8PcR8ddZbt&RRuOqA$UjTbDK66-LS zvv&*0_4j~?+ps$Dv>3b`pY|Q|tTgc-S#?Y-9QU}*hyow=*jh%Q)HSFkt2}Zd$IS1? zrAhH=(jpfaC64G~G10{Ykzi@+@8|I$ms|g5a{InEzE|s(!CzU}3!;}SkJ2mk$na6i z;Seujr60EPht$T$l|NG@m^sPl$KM?f3DOKpWN?1kayci5t%`^1IaS0){g&>Jy_p=Ezb;)PNjrlWW97OG^!J~k zFz)k1{YF|XmhmA&5t{hziZk*!)95oX{pcqLkwQZRNnJti!JF}n<3ibY_UaU;B>hm6 zR$NXK8smXyD@A~~_bp}Z;@td|@jF8J(w6w*U7FN*M)?nHj}`M>f&Kd>+%L|dH=pM` z$xkc$#Y&#TOF!uKD0?&CPi_^32B8m(X`HneHQbEcV38&%sn}glWN*ekM6G&C&bJpVO3nX){On141$Ks=G7oxfUp zYnlMt?7*DNdXzP8(HXYg>N=uL?RgB9{XN{mxJDCwVZ^epF-mDOZG^l{^xzrJJ(o$Q zP;hgQflnZ6LNs?mMx6T#`jlQLf{d0C5?D`b6qe0J)(4dnf)>HRI5 zn`=DD?wU*D0Nd1ngHzN@k7f`s>gix{+IfTm9^IB%S0IM5KY#kJRj$y{3f{LuG>MDK zuD2N9=M=B`b1^-r)V0moc`Mpjk=Fm0#WUVO^#c3Yvm%XDu&>zG)Iz~} z_O9t7%5sAP3q3xM)V%F?-c24Oh~qDH4b}*J#6CU_D%uAOqQ&8*Qxn9Nxr} z!JU(>FcRj+qO2x3u=~dsI#Kx3!CNWvj_?h`#k`;X_a#;&{y3&Kh8=pRStzRGU9pMK zICIZL*_0Kbf+9HJ7pdOE*Ru1~n@5QA5ZDCeZ09uCWR;ySsK!m&p!Sx3lzUDgj=I54 zkz%>g-WMV`B#>b2eBttk{A~(Rzo!#?Yvb(}PCf;w^YV{2(T}^$WgfF)%B!x3NA*XL zvz^a})f@Cbi=HY_5V^yLd7iBC^qp1l7un~Dv+@ZD`aq3{a&eV80^`iBemuoTBF{eb z)%l0%D4;XBIz>476niRh_1tam?xo-y{FBBtujwYb?X$c}h-IHCV)sYJN7#0RlSLjh z{B3M9i=M^VQzV*qI*WGXjIHvo=3{<0*X^iGlbK;1iC2m}o=#_f{J&AY=A8-xvU}0= zc&SFC%zZ4vygCAGf(X|PYj$&W(=Hr&wkMy2kGuj9n{6{e*G@?X_yca7gA&sP{G_L0 z#33{LW+hQSp$7%VX6g56AxVq?H9ucFb@7=C`}Tz8n13`>P%Msqu62;1ZxvRZiWIj6 znMB3%j=rI5&UQ$sQVcumo}Yd7*@WP!S{>tyZ!hdXiK_^yB{R?ZwHFvzTyD!{Wah*3@^GWOZ^n2PfOC-!Q!4-4ibz`>D{o9r zq3i{gFdVN=;c$=)Oo{rD_xdw3!bX(xxIC67zPgDFwDpd@&)inKL;wGOz`72Pm%+>3cLsL#8dJ@*#jgz4!$7RAqkK#^D4b#G_#eJ+s& zv6NR)CO=CnoTGg}mZ8RCz56m;nQ5$kQ;qoUP5zf^NI=M#o5*oDp{UcBlZWZdhr<-7 zU3YZfTLTIuqZ^Y5+?Ncnh93GV1`dN52}4-w>YMCRzXuUL_Pm&$j^knEUm2{3dU$Cm8ZXe zxUs*_1`dln><>15?8I2+%NWX+Rn}!$$}3#N)TNfH>?^5XAiy+rqcMVqCk&i=QY*@s zv@y=uQew$tDtfeEWH4dD)EnGHyGImtRCsH;J{Obfr`s^Eh*_slY-}vO@yQL1SM!ua zKvix8tPWN!jy zRIOrTCH4E5#N?gOi$BkT*cbLy9;cD5{X#_bqkRc%#6``|CRAHWyG3JU}d~@yG}0XOFXnsjQJjQC-{c8 zsDD$1a1xhpX2K&+cQT`KB~={)aQ644_l=Z?>{ng&nQRIG>`fh2yYB_oud2R-hKDSa zlNdJQtNi~CpjK53w2L+eXUyPkZ4px!^*76sX!wRFTIT_{c~~G0eEIsDS4c z_Z_wYmtrio>5fC`H!W!!9 za6~?ov890Ma&;;jQ+8sU4?(rIamIWOnPR1YEn76#ZangS^0#x#$uHr(p<|8y2~X1% z23GmqK}^VR*a;*qDQv*nm;>kiL-;}A#|w7XT(cc6aj-a-9^$BHM7dVZ#BYsGGk z4%y|7$!iF()-^}|4(2xIek1>E{ZqBxq^V;?lVX~a02!f`8iDGHhfOuC5OeGIo9$Rz zl4$}8#m`Ek;Co_`yWiAl0?X2@~NgLlMaM!a6S00{mbPG(7e}DuZbh zF2dh8Z7`f5E`5GLAkJiDXL;~My1V37=iB!@8o7$elGc_+)|HZ7jRAr*i;wZot~keQ zq8N9f*B>GqSV4eO;4O!b{h!%4&zIQ2mQVeXlQbv9xq&a{5rCXjG46Qfb;$NI-zjHu5{VEgkmsUpTAC zLuF3-LtI-!@jbOy-`6jH{pyiP1j&fZSw(`q_M>2z8~o0D4X5>v-@UtSS;ji^=SS2q zBJ+Yt0;rozEejofT zEb{tL!9p_ks-XViYYu$dPul-Fv5Lp|-0c30*`p{xm@no-^My9c@D^w1eP}P@9{OHI zYG2*KWObQ=3T(ls5^LXDNsUZ==k}@0IfP^+%<*Gj6*n&_*OZberO zWU>to4f5(vKcd+qq$=NJ>o?C!WK|ie_WhB&&&dfbH^hvX*|H&mUM5>2XRjdL(Q}Ii zNxY>6`_=t*G=r=Tkhe`v5WWt5B2h*-=Oq>ClMN2{v0S1vKu_Jwox1BwVtoA3Y=H$P zX7DG8Jb&xO>Ql9nUrmeYS}r0%Kt6bT?|bV~S@y@Cvn4WgWNXT)cl*3?Uc-60mIOc` zH^J+9bE4;f{R4(@^>Xo-Q$2U9{q_EMcDEF}*{)}ZCv;#4MZ&9`v15u3nUuIIBt+#S zt;uP)fRuiMbur20Eq~{1jw%yN1V%yMeKXF}_4|f>jNQH~rvgH4-7li}660N^!Lg?u zuw|U{3m8&FK+5r75dW1o@9?PWJITQJrGZ;p-jH1gi#K|1W@lB!%^o+`eYcY`<3n#@ z6^+czN!?$tL4d9G6G7GqA)YD z>I(onYlRS?=+icIk4ujn^%eir>?i+l>gzKfefiy7Ye~O*YU+WowxXfNe|{kn(AGg9 z=3_>x47b^>kqkl=akDZzbu z1m)wk&mrP_Do4Z;OCSVG>y6YD)PBZ@p{qcTpq4K1NDs1I;}|8{MwK98X#tktOa38qnicVq?dO=pKz zEooMd#!XvSUd`WoXvGq)a(+Y&R)ZQ!jpu1Ie68}(u5^DxMWu!mok{|Q6yp|a7gBxv z9YbwouOf@TGGW4csK0`QJ1r$P@RxZ;DOk_i;Z!Ng*b#@wOf0lY$` z+8_@_6rd^pNIws1ElYNcmHx527p+lG3ea-pNk#ZJ*i2xHhx+T}uzC>fw{OpH3N)~} zgamE?iK^CVB`bWtaNgZgqh~ZA019wtm#!G=!6O?gk0*YHrGh}RfVqTDTTeZFo6~6V zhZ-g~0(>)mG@#l$+zuW_)LAc`OKOe;he!dLU12Rs!BOqP<#Whi ztXS(5l7A3LNi)K>=y23}3ep)4Zg@;YCk9iA$2=h%)mE6N*!cgT*cWt=uc1(mlVjBl z!_^j8YUboE3bh<|c<%aGxPZhDZsTn4V@Kq%bTxk(0c zvKaBshv^l#$f{Gva&2j)8EV|{HFC`&oEJ;!MwwdMM{l}y5X;m=LvFX*@M=jNrE+4^ zIkY!QGw&~$^Cvts4hsihYdB}zx*{}dKsx!3!W(WVGf?~9 zFct+mUsbVnH#@s19w?UZSuN#96ZdUv8Y)1isZIt?8!2&u4r0U$&-DyG*Av=)cwDd2 z;Z^+lX%qyHg+np$ouL