From 5cbd39e980461598ae9dc837b38befffeb73a77e Mon Sep 17 00:00:00 2001 From: Andre Wanlin Date: Wed, 18 Mar 2026 08:59:09 -0500 Subject: [PATCH 1/6] Clean up of the contrib folder Signed-off-by: Andre Wanlin --- .../tutorials/authenticate-api-requests.md | 459 ------------------ .../tutorials/prometheus-metrics-output.png | Bin 258197 -> 0 bytes contrib/docs/tutorials/prometheus-metrics.md | 115 ----- .../quickstart-app-plugin/ExampleComponent.md | 53 -- .../ExampleFetchComponent.md | 103 ---- .../README.md | 3 + contrib/search/confluence/README.md | 3 + docs/service_specification.schema.json | 122 ----- docs/tutorials/quickstart-app-plugin.md | 286 ----------- 9 files changed, 6 insertions(+), 1138 deletions(-) delete mode 100644 contrib/docs/tutorials/authenticate-api-requests.md delete mode 100644 contrib/docs/tutorials/prometheus-metrics-output.png delete mode 100644 contrib/docs/tutorials/prometheus-metrics.md delete mode 100644 contrib/docs/tutorials/quickstart-app-plugin/ExampleComponent.md delete mode 100644 contrib/docs/tutorials/quickstart-app-plugin/ExampleFetchComponent.md delete mode 100644 docs/service_specification.schema.json delete mode 100644 docs/tutorials/quickstart-app-plugin.md diff --git a/contrib/docs/tutorials/authenticate-api-requests.md b/contrib/docs/tutorials/authenticate-api-requests.md deleted file mode 100644 index 8c858bea0f..0000000000 --- a/contrib/docs/tutorials/authenticate-api-requests.md +++ /dev/null @@ -1,459 +0,0 @@ -# Authenticate API requests - -> [!CAUTION] -> This entire guide MUST NOT BE USED by users of Backstage 1.26 and -> newer. If you have applied the changes in this guide, you need to remove them -> again as you upgrade to recent versions of Backstage. When [the new auth changes](https://github.com/backstage/backstage/tree/master/beps/0003-auth-architecture-evolution) -> landed backends became natively secured through the framework, and the -> instructions outlined in here can interfere with the backend functioning -> correctly. - -The Backstage backend APIs are by default available without authentication. To avoid evil-doers from accessing or modifying data, one might use a network protection mechanism such as a firewall or an authenticating reverse proxy. For Backstage instances that are available on the Internet one can instead use the experimental IdentityClient as outlined below. - -API requests from frontend plugins include an authorization header with a Backstage identity token acquired when the user logs in. By adding a middleware that verifies said token to be valid and signed by Backstage, non-authenticated requests can be blocked with a 401 Unauthorized response. - -**NOTE**: Enabling this means that Backstage will stop working for guests, as no token is issued for them. If you have not done so already, you will also need to implement [service-to-service auth](https://backstage.io/docs/auth/service-to-service-auth). - -As techdocs HTML pages load assets without an Authorization header the code below also sets a token cookie when the user logs in (and when the token is about to expire). - -## Old Backend System Setup - -Create `packages/backend/src/authMiddleware.ts`: - -```typescript -import type { Config } from '@backstage/config'; -import { getBearerTokenFromAuthorizationHeader } from '@backstage/plugin-auth-node'; -import { NextFunction, Request, Response, RequestHandler } from 'express'; -import { decodeJwt } from 'jose'; -import { URL } from 'url'; -import { PluginEnvironment } from './types'; - -function setTokenCookie( - res: Response, - options: { token: string; secure: boolean; cookieDomain: string }, -) { - try { - const payload = decodeJwt(options.token); - res.cookie('token', options.token, { - expires: new Date(payload.exp ? payload.exp * 1000 : 0), - secure: options.secure, - sameSite: 'lax', - domain: options.cookieDomain, - path: '/', - httpOnly: true, - }); - } catch (_err) { - // Ignore - } -} - -export const createAuthMiddleware = async ( - config: Config, - appEnv: PluginEnvironment, -) => { - const baseUrl = config.getString('backend.baseUrl'); - const secure = baseUrl.startsWith('https://'); - const cookieDomain = new URL(baseUrl).hostname; - const authMiddleware: RequestHandler = async ( - req: Request, - res: Response, - next: NextFunction, - ) => { - try { - const token = - getBearerTokenFromAuthorizationHeader(req.headers.authorization) || - (req.cookies?.token as string | undefined); - if (!token) { - res.status(401).send('Unauthorized'); - return; - } - try { - req.user = await appEnv.identity.getIdentity({ request: req }); - } catch { - await appEnv.tokenManager.authenticate(token); - } - if (!req.headers.authorization) { - // Authorization header may be forwarded by plugin requests - req.headers.authorization = `Bearer ${token}`; - } - if (token && token !== req.cookies?.token) { - setTokenCookie(res, { - token, - secure, - cookieDomain, - }); - } - next(); - } catch (error) { - res.status(401).send('Unauthorized'); - } - }; - return authMiddleware; -}; -``` - -Install cookie-parser: - -```bash -# From your Backstage root directory -yarn --cwd packages/backend add cookie-parser -``` - -Update routes in `packages/backend/src/index.ts`: - -```typescript -// packages/backend/src/index.ts from a create-app deployment - -import { createAuthMiddleware } from './authMiddleware'; -import cookieParser from 'cookie-parser'; - -// ... - -async function main() { - // ... - - const authMiddleware = await createAuthMiddleware(config, appEnv); - - const apiRouter = Router(); - apiRouter.use(cookieParser()); - // The auth route must be publicly available as it is used during login - apiRouter.use('/auth', await auth(authEnv)); - // Add a simple endpoint to be used when setting a token cookie - apiRouter.use('/cookie', authMiddleware, (_req, res) => { - res.status(200).send(`Coming right up`); - }); - // Only authenticated requests are allowed to the routes below - apiRouter.use('/catalog', authMiddleware, await catalog(catalogEnv)); - apiRouter.use('/techdocs', authMiddleware, await techdocs(techdocsEnv)); - apiRouter.use('/proxy', authMiddleware, await proxy(proxyEnv)); - apiRouter.use(authMiddleware, notFoundHandler()); - - // ... -} -``` - -## New Backend System Setup - -Create `packages/backend/src/authMiddlewareFactory.ts`: - -```typescript -import { HostDiscovery } from '@backstage/backend-app-api'; -import { ServerTokenManager } from '@backstage/backend-common'; -import { - LoggerService, - RootConfigService, -} from '@backstage/backend-plugin-api'; -import { - DefaultIdentityClient, - getBearerTokenFromAuthorizationHeader, -} from '@backstage/plugin-auth-node'; -import { NextFunction, Request, RequestHandler, Response } from 'express'; -import { decodeJwt } from 'jose'; -import lzstring from 'lz-string'; -import { URL } from 'url'; - -type AuthMiddlewareFactoryOptions = { - config: RootConfigService; - logger: LoggerService; -}; - -export const authMiddlewareFactory = ({ - config, - logger, -}: AuthMiddlewareFactoryOptions): RequestHandler => { - const baseUrl = config.getString('backend.baseUrl'); - const discovery = HostDiscovery.fromConfig(config); - const identity = DefaultIdentityClient.create({ discovery }); - const tokenManager = ServerTokenManager.fromConfig(config, { logger }); - - return async (req: Request, res: Response, next: NextFunction) => { - const fullPath = `${req.baseUrl}${req.path}`; - - // Only apply auth to /api routes & skip auth for the following endpoints - // Add any additional plugin routes you want to whitelist eg. events - const nonAuthWhitelist = ['app', 'auth']; - const nonAuthRegex = new RegExp( - `^\/api\/(${nonAuthWhitelist.join('|')})(?=\/|$)\S*`, - ); - if (!fullPath.startsWith('/api/') || nonAuthRegex.test(fullPath)) { - next(); - return; - } - - try { - // Token cookies are compressed to reduce size - const cookieToken = lzstring.decompressFromEncodedURIComponent( - req.cookies.token, - ); - const token = - getBearerTokenFromAuthorizationHeader(req.headers.authorization) ?? - cookieToken; - - try { - // Attempt to authenticate as a frontend request token - await identity.authenticate(token); - } catch (err) { - // Attempt to authenticate as a backend request token - await tokenManager.authenticate(token); - } - - if (!req.headers.authorization) { - // Authorization header may be forwarded by plugin requests - req.headers.authorization = `Bearer ${token}`; - } - - if (token !== cookieToken) { - try { - const payload = decodeJwt(token); - res.cookie('token', token, { - // Compress token to reduce cookie size - encode: lzstring.compressToEncodedURIComponent, - expires: new Date((payload?.exp ?? 0) * 1000), - secure: baseUrl.startsWith('https://'), - sameSite: 'lax', - domain: new URL(baseUrl).hostname, - path: '/', - httpOnly: true, - }); - } catch { - // Ignore - } - } - next(); - } catch { - res.status(401).send(`Unauthorized`); - } - }; -}; -``` - -Install cookie-parser: - -```bash -# From your Backstage root directory -yarn --cwd packages/backend add cookie-parser @types/cookie-parser -``` - -Create a custom configured `rootHttpRouterService` in `packages/backend/src/customRootHttpRouterService.ts`: - -```typescript -import { rootHttpRouterServiceFactory } from '@backstage/backend-app-api'; -import cookieParser from 'cookie-parser'; -import { authMiddlewareFactory } from './authMiddlewareFactory'; - -export default rootHttpRouterServiceFactory({ - configure: ({ app, config, logger, middleware, routes }) => { - app.use(middleware.helmet()); - app.use(middleware.cors()); - app.use(middleware.compression()); - app.use(cookieParser()); - app.use(middleware.logging()); - - app.use(authMiddlewareFactory({ config, logger })); - - // Simple handler to set auth cookie for user - app.use('/api/cookie', (_, res) => { - res.status(200).send(); - }); - - app.use(routes); - - app.use(middleware.notFound()); - app.use(middleware.error()); - }, -}); -``` - -Update `packages/backend/src/index.ts` to add the custom `rootHttpRouterService` and override the default: - -```typescript -// ... -const backend = createBackend(); - -backend.add(import('./customRootHttpRouterService')); - -// ... -``` - -## Frontend Setup - -Create `packages/app/src/cookieAuth.ts`: - -```typescript -import type { IdentityApi } from '@backstage/core-plugin-api'; - -// Parses supplied JWT token and returns the payload -function parseJwt(token: string): { exp: number } { - const base64Url = token.split('.')[1]; - const base64 = base64Url.replace(/-/g, '+').replace(/_/g, '/'); - const jsonPayload = decodeURIComponent( - atob(base64) - .split('') - .map( - c => - // eslint-disable-next-line prefer-template - '%' + ('00' + c.charCodeAt(0).toString(16)).slice(-2), - ) - .join(''), - ); - - return JSON.parse(jsonPayload); -} - -// Returns milliseconds until the supplied JWT token expires -function msUntilExpiry(token: string): number { - const payload = parseJwt(token); - const remaining = - new Date(payload.exp * 1000).getTime() - new Date().getTime(); - return remaining; -} - -// Calls the specified url regularly using an auth token to set a token cookie -// to authorize regular HTTP requests when loading techdocs -export async function setTokenCookie(url: string, identityApi: IdentityApi) { - const { token } = await identityApi.getCredentials(); - if (!token) { - return; - } - - await fetch(url, { - mode: 'cors', - credentials: 'include', - headers: { - Authorization: `Bearer ${token}`, - }, - }); - - // Call this function again a few minutes before the token expires - const ms = msUntilExpiry(token) - 4 * 60 * 1000; - setTimeout( - () => { - setTokenCookie(url, identityApi); - }, - ms > 0 ? ms : 10000, - ); -} -``` - -```typescript -// required types and packages for example below - -import type { IdentityApi } from '@backstage/core-plugin-api'; -import { discoveryApiRef, useApi } from '@backstage/core-plugin-api'; - -// additional packages/app/src/App.tsx from a create-app deployment - -import { setTokenCookie } from './cookieAuth'; - -// ... - -const app = createApp({ - // ... - - components: { - SignInPage: props => { - const discoveryApi = useApi(discoveryApiRef); - return ( - { - setTokenCookie( - await discoveryApi.getBaseUrl('cookie'), - identityApi, - ); - - props.onSignInSuccess(identityApi); - }} - /> - ); - }, - }, - - // ... -}); - -// ... -``` - -**NOTE**: Most Backstage frontend plugins come with the support for the `IdentityApi`. -In case you already have a dozen of internal ones, you may need to update those too. -Assuming you follow the common plugin structure, the changes to your front-end may look like: - -```diff -// plugins/internal-plugin/src/api.ts -- import { createApiRef } from '@backstage/core-plugin-api'; -+ import { createApiRef, IdentityApi } from '@backstage/core-plugin-api'; -import { Config } from '@backstage/config'; -// ... - -type MyApiOptions = { - configApi: Config; -+ identityApi: IdentityApi; - // ... -} - -interface MyInterface { - getData(): Promise; -} - -export class MyApi implements MyInterface { - private configApi: Config; -+ private identityApi: IdentityApi; - // ... - - constructor(options: MyApiOptions) { - this.configApi = options.configApi; -+ this.identityApi = options.identityApi; - } - - async getMyData() { - const backendUrl = this.configApi.getString('backend.baseUrl'); - -+ const { token } = await this.identityApi.getCredentials(); - const requestUrl = `${backendUrl}/api/data/`; -- const response = await fetch(requestUrl); -+ const response = await fetch( - requestUrl, - { headers: { Authorization: `Bearer ${token}` } }, - ); - // ... - } -``` - -and - -```diff -// plugins/internal-plugin/src/plugin.ts - -import { - configApiRef, - createApiFactory, - createPlugin, -+ identityApiRef, -} from '@backstage/core-plugin-api'; -import { myPluginPageRouteRef } from './routeRefs'; -import { MyApi, myApiRef } from './api'; - -export const plugin = createPlugin({ - id: 'my-plugin', - routes: { - mainPage: myPluginPageRouteRef, - }, - apis: [ - createApiFactory({ - api: myApiRef, - deps: { - configApi: configApiRef, -+ identityApi: identityApiRef, - }, -- factory: ({ configApi }) => -- new MyApi({ configApi }), -+ factory: ({ configApi, identityApi }) => -+ new MyApi({ configApi, identityApi }), - }), - ], -}); -``` diff --git a/contrib/docs/tutorials/prometheus-metrics-output.png b/contrib/docs/tutorials/prometheus-metrics-output.png deleted file mode 100644 index f7fac739acebf67e6ae8c5cd11758a567d542fe5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 258197 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�F6=ma%)^Iq&&2AYc3JPmEA zz&E-;lMU>9=?I#NFc}!QQ7RHvvMau#HCj7-Dsk4$$U zXVvdjkoz;$-yv=#6}UlE=+fAse2;_ zG@kE1*=-_|6s%9@W_Qda1noQMPM`Xm-+zlDQO=taU9}zdMV#EB>Ml_dbJcwo?}FLz zKr>`-m?2bJoL~l%aKD2^eycMp3?UD%N*9xtGeTQ9gGAF_0(iMnZ zcb!!fd!alWA-3Ryd4Ik&ch{Thk7;T}=4U`aR#Pq6Bv#t7Lygw9wdgm)8+a?!xV(ex zdC`Dv3+@WD4BAVm4vmgUpI;4C0%<6BMbC1`e2A~2L6wJ$qombB2u6>zKKP@G3uV$}>znB17T2ROKQ{uP;4B2sNd2%1 zWHAHFxnu8$%Ju$D>bd?B*JpO0rWXU%q$C)gWP0A`JGx* z0bIXrh}et%z!T*n@g3-u)I2`;j!3` zvdrb2Z6d3pK&e98fDSf=J5YUBPrO=CePJR=t%e623?vJa%j29c@&K7nnB~&#H?coK13A+a< znLK*uy+wc*t07w9rra7{US=Zo%?6E5@Fl&edbW>gT}Ehm@xJu9avO`puJpX-YrJp6 z)vT|}Xd{an(fqA_YCnL@uVK)jBI?(iR&vkc>}W9*6F_O47w^4uiW^zcJW4}5)#rP! z@iquJ2IZtKGr#PD-N#{Qo$FO-?bhL@E%B;s?n_K5J5m-1Z#rv*;D}7~+OC#yZqbMy ztw5P5Y*AwqpC3vyp+q{@=Em7q^L<~fmIyc=RJ>F8ki#)n&0;sW!2sB%wzP=Qj(}aT zF^0c4)zO%?CHW$PhYv6H@Gik~QO<{QZEcKE4EAIkbUzbTyKW^>>z@bva~cWR+LNUZNN&PO0VsH_3?IwUS7kv9u6 z>RK-HQ=vUlm$81;FYaOJkzb)bh-gUt0eRe3%@mjHTd>p>DVKWX(f{u=ErlQBUJ{Pm zy=>M_dKx2VOTWP~Gl}?BOOpW~vx8Vm)JVG>U@c^@T~+hBe6UL5$PZH@s&pFkHtUS} z?v$VSq}!8N#LQLle4wCnMIZ=|lgf&)EA>^`p`r+9^OR81!gmJ84nOZ+Z(1Yd=U2wT zfgWJ@K{EZY?2tK*r(+l06$g29q`y#Qn=OhRLq9t?&n{^c>k5cj%5G(~v?wV`e~B+* zcdvRxN15)1XYaCcx0h#^?3gv+Q?!NB>8k8uG=KUZ=`oMyECNob-m6su`}{QXV1{U9 z!{axB!qc6D#Y$=AEJU2K_{r}U1IyMMx+)|a#1p%{0sVt#Tm3oaL`sJlCYAq&aHPjH zJ!5Rjy|(DYxBW5k6;) zz5Qc24gzeJZD zo+E-tP>aLg3hehEemgO~7<)5~(P@(Z^`mH{n{J=oz0>&L4Z1I)h-^)6KLuW3{|>_b zPX69SAfDHFc-8S=e&PR5U&Ke`GqAZuR1d$-^`|L+$iF`-K$U6w5!UoZtKAbE)>`|) z)+k57rVqJIYyhbT2g(Kb;tVbBQ+Ba=u$2c5Al1t*Kr}4L1Uv!R(I&Xk;T!480g*HW z@Fb7FRjToh41&})H5`ekmpDMM;oSRZ3=^m%9UTC#vPtYha(RmEDdDx*uol$ByA5;& z=2P$epavY#s|B1otU6gLk7rPe6zdi|S&BhBcbniiz&*GRI9I49;8wu~0X28?5z*^) zl?8CdA9loGDHkIF4K(w#GHl1ybhls(wpyBLF#I)4cQN;wLva{;`uf!w_=U9CuKL_; z)_s|K1`QFx_8_hWx5mr#N-pCj-*NyLaV7r#;=JhYyaOodL#zg}_SSM^f~ARc^OE)& zfbA6mem&LJAv{V@pIZPlH*^5|w;2aVxEA>CsGIZt*EJ?qAn&Dide|>2dYtMyY26A` z97#diLF2m{fQH8coIsC_eg#p$ak(`PxDAFIv&p=09i-#bPS~pV{Qami&+gaL3~YZu z1*jYV+Y+c4ew9;l-G-CToXDi#o9jy}Fb zhTzR_FCS4?2m+-f?MC8y0?@#)Q51C}i1en6Xnu1(xcuT%USxTRa;mlxAM&hsqCW7>`z2j2= z#%KkP$Ws5;V9kT(%l^X{pCh{Wj)8U=q`2>DCT%VxUkW-cwn0DuvlJ5jdamKsBP@d1 zE@Z!SNTg6$M0qVp{)K>=Wwjp&Eod=_OWy#a$G{zc@D-}$;_3H#hTt*LK7q}55I{*a z|N7;MKSmUKHr9AEYHzewJqLQ3EeC|lkAuOgcn3`{jU*4l+3$HgPdq2xH6P1)k=SnC@gcNPpmupVfC0Og;2P(81YCUt zNxBxvjsR5p<95HxCiW{i(jD-oHYPgMtq|o%ch-9*19*o!XuRtye&)MK)HWgo3X6-< zcLv;StmwNQR|zk*s5M}Qs^+6WJUk`IE9%==d=m00=S7@bTqZ~43wt=mwX>U_XT-=#^>K?{4f}K=BT-f`*pP04< zw%><_Fd2Z?G{Wey(ry`i5y{nuCVJkb5yFS2W!TqZGh?g+ls+!BM`P$0}#KM(V{~pyHZw;ZVB}jK1tAB^aLuZmh0&1-4>n z8d#2w-Ux0WrruqUE7M4ONbQm4eb80>)VpdeCxQV)bKSSzG?6b5>sj4fRzeZ#0vGrg zZt#&b*E^ven2dzLh!$a30o^^}mKaJwp18M=bMOIt5DNb;mAj-&;@-Jilp8JoY=vIw z3)3#}R;@1PC4D%;R5L?6G&ZBE7m#l5k=EV^IMw)-I*;o~>^3}i2r zVz@!^a_#}Rm@5kIbJ3$8Gp5TO^gO-ce6O(=<#Y{>E7gYVpQc}Qfg&2gL2#!<*j1H_ zJQ=5ST5Qcn^lqSNo<2X&+Ey#bO@N=E+p!|elf;(3H*bRlg31+mRR~eUKNI&Ekldma z(tS~PMeUl3-YK&xPH3SlT(J3JxJbOFo2=uO$8*TRQkWA*)Oc&GG9ym?`l{mMP?1#b zHCUD{_pCtbdUL)20prH%DQDEXh9k)w4&|GRu|^w_>W`JDwN;m~h)Ei&l{Zm7w<+G^ zWKmapz9pql3OMa)z&OLA77^lT1QcLv@9s0e=Ux|HC*3)!6YBBRp5nS*0)h6F16TM; zk)uz66%EHAFe`suYTxa?ls*A2;*U64?+4kWVpVRyUc4vwOK-rlJL5oFhyzFQ^2{un zU*=kResC8BIxzdpv2gB@0>x|6dFw`{2GgXH_5E#sE6F#h)C-mLRYPQBvxEl~yM~1J z=JliJY@x0Omox_}vckjcr1#hdWC!innB8~R+*0mwe0@AO$7iIQj=uvJ&+dD-8LFu_ zCeWtOs22L&j9~pR=Hiwphs;-8j4zYA-H`}3)Zau*p0<+D8Ia-@cD)(328Z&3$WHler_QeWhhh{#MO_%1j~{Sh@{rody@W;oXG-!fmYpk zM`gm>v77R|tSid57zUbj#6Qe&;1iaE_#eTgFP?otE#aCZ5NDIi)nwfS?Gw~dd64-L zSMrfF3ui1CNJgyYq7_3aXjiHV&K$Ybtck=ss;P0?r-G7X6KO!g_{lwL>R!|+XG+sA z;e(mpYa_}=MzQ69Sr!P!Lx#Dz(&i`rjK&re&=nH_jH(1C{}1qrqD@9+GYYvC|FSd= zZC(he1ysCO#&Hg`H4um8tR4(Te)G+7o!#qI#2U_~ZR0Mdm#7foYQF#=T4e4Spqul* zaNytUxHXoZ8Yj0CCM0prO7T63BGbttH1`C-;q>I}KIncd&ifRj$E*0|T(`%-HnAoxcD!$i z606r35iGExeP$zcS-KcigI2)#?TOIk>F$RWN1{gf-7=VXF#+bQM!xCm|h&57~{$Z&I+Stq#>Y2qIAjneY=Tkp}a@>^3G_p5)#oBM{BJw47sCC z@L5XdUv~_&u>P|0W*bn&g1+;T@xZ9o>(*P{d8xq)pzWvDJutq|`O;(Q)RmdM-F$2- z_WCiaC)RFI`!3X{x)WwG!v1KSUqny@eMqZONn=r940rO2yyiMn8G7?#V|hTFyOk*1z8VmbOWQ2{U^tUO;Siy z&0)GPHqr&&B2-k$c?>==wGsQN;yzm!omC>REO^_fx;TW&Q*Kl8jorm{#Z_{9A$2SF zW0WE$hjHFCh`T_~&*c{;Y zMg)=ci?D@LlEeBVLHgKkg*FjE6X#G@^e90(7H*xP><5UBJo2fQ!%Y!cZ}t-UWMyrf z#7yKr=7dnZ2)*d^nNIj*-R?mo$ban=Be<`mA0Q)bbhn-?IdU)AqirNs1$zoP!RW?FAHJa8t-w#mGGs zfv#wJm`hou?DCbr(^tg`9wpW8zNMl%Q$HBpLXdj|9q`TyidEJe&S6cq=xbSEr}P&t z7-O1cp*feAwU1d(e6bhNBV)wrK7z-!Z;IvbZIC#|?U%yq;Ucde8>1+B$7=i=wVk4t z*E3fsky~NT-DFAbPUJKTV5p}!m=UoqyOp)u+l>p*J_9vEIEovc#?Onn*4YsMYn9)*f!^ya8+GO$1AE!p^_d zeb|^QdP-{iz?3ssZ-1rA*BfI+d-C)=#SIh3X2V7SBs>I zv%(FJdetdsH`S^9WDS@JhDg_H?OTN11rN*4g>)Wc^D0v1Zt2&`26PsgMZ?hpP1>Wy z4ng6T5GV}Fbp#fQQO~ZQ`ZJK1 zXcQ8C*h=XnU+6htQ|P~{ye|Iy@)1`3N6YG=`8%U_4rF|*AF4L1`%drH9B}VxxkM-4 zvV%47pRkSdvKH2|3SPUJ7iCcsDc4W~Z8f(LwCyzSL6l6nQ@rUaU(AUKPwk1yBe|6=Q_qpI50x1~4I zBHbV$-Q6ijDh<+IQqmpLrPQX8ZV)yh(w&l`gfs|9HwgI6eeON?-1{5fe~iUo?ahig z-}iZ+z;Tw1=^gwr$ZK%%>N2|Rb!u;+%(JMe$s(iC_}Ww48M`GL>B*MK)QOOSA3v91 z`Ke5P7T_fmY=x*D7cB8SvYMr3&&2HPe#lapS73?wp@A<0m^SV=Zn9+LI%H3=ub`_u z0}t5bC2Rd?e#UQ50twaw?2-Y6;GHCH82wXXzT1r0L2+;J%0+4s*P;8DcOKB<_JmJOJ19N+|ZtbK;03=%A8sR*w08saj4lQA0UROwKth zwuoLKbOr1(1&Y!sb2_H&D}$YhU>bdtxF7g#N=h8};@hQ$aH4ZTsSN}CBJs|iMjWdW zld{L?Up+9NrEPp8tdcMxRnnDAD@fC8u4*QTo925J@l@h6mA{$p`_u~!k78qDg$Z;i zOw6mNoaagrFpyAL;rm14r0#ZqX|2u+X(`<`45u-q&^&n#8|x*b(^R2yV#=7X5-QT3 z&65nj>?w=qBuP#hAN1dl#{Q?Rmy}jnbu#MFLl90tkjPpKS7EgLK`_%^uAJZNp%)t)ngG}zWC$f zOFK@xcvSBhS=W1c1zvo2Yh6-Gk1CCljihIp4s}tp5-}S)8#caBCKJjBTF2qFy}uds zeF<2-ov7ExyqZ{`e4&{P+9zp_ZZ7j+^&0Zfrh3_3=aX{o6rN&AoEF93`5-1icuUEz zl(Pu8s*>4fn}cRjbJzC^FL$xMdKR|rLcOWYc$j5vOgeF>pE9wfzYOjekx`Lmgut&{ zFB}`US)CMyTM4x*2Ju$cP3tiA__ZK@Wn;O!k=Wb|M%as89}ocWH2}hc&mWrSlrS{) zwn>nqdxC=tx05v@fJy^%$-6yW9=@i@-#UC+yXoA3NPC$cb39}owH?g#N+#MQlja_# zAC4f=$_i&tKeBcVf>kb>Jka{eWUxL($%Ry8IL+{a)C?8f)D@y?U-?nqB*@lZcGLjx zb#KX7kIpMbQ5mgPyzna*BbS95jgrC_V2F)Z!g`p`Ywr0t0(UuZ$#T>kOJXX#PG?xB zq|J6Cqys#{<%eYrQoC_JCGAz%V1L!%LA8Y*4J*gAlX*Xk4asjB*E7oF?|odxnXf^w zyug(`kI7|7zi30s-`34DtvL0ejB0!?7sA*=&Gzf{IJm8wmgBFu3T(qU1wQr>^+xCv zKPk%RB`NkzM;ySxr5)0-PlI-p#cSN?!e-v zPXg2QSei#VS|zghA7C_2Q;d|LinN?4(3m=s$t269E5q_rN>A`?_VWZ--jVq;S$<&WMA^uZbEw-aS~6$oNftZg2)MPO zgYnRDHh4&j(6I%aa5-#~r4Psd7RGDmMX#mHDN0D!`oXl#y`-=_6mmxG_84B@Sfk)rv-_^oR!sLqz8kYuBOthhbP4{ zBycZS-HNL4d)t9n>v3>_8!Medwbwf{gbr3e3W<})WBM)AiZ8OPPKyhkIPU$d<1cif zgz+KQw({$wH3_y|<@kJXc(bR6DC2Nb&N<#+@mtw|)}JiVVm+ndnHRHtMWI%>0e{V& z8-df@(Z#DKRW`q+uP0wBoVqgu@m@E7BkA1Qj5A*gvMUoCk#C=UU-gvz z0QM}MVgw7ZST5ibo-4Vn!G6^@?j_f{U3JD?d@}oaM-tO%b{-c?DbiboZ%c1=ot+?0 za4eg@Zn9-EjGraINN%=7X^qJ$H?Es@wY5t8G@_k@YiK3bD=-BxG~QILRXsKOA)}v zaI2&bZbH61{nC`~X`MVU{TKe8SAlCH@Mtvt`=_^Mext~9aU*cj69W#i><+HQhff)y zQH@3_6I_{_CiP#aiB?3AzN#wYXFBhN%Z(Iyq<*)Q`hK0lW=F5OL|bH~%QpNuo!953 zE}?Ozm?h=%_u6{*EDbuucmq1h`wd9Yg9W>~A|?#exy2wXa`@QCza{cn1U^LiVIe%3S#eLKUCO?q~394;y!*L*H<<$vwuzhzmeA7&Qg@53VRz3H)d zqV6K_H^QH{j_ZujzFvEl{P!5(ZwO!YS>71`dvBrq7omF@MEyVh&+oy2;S>)b!a~x- zzG8X^R9gUrT||l%&K(w(m6GShpK6) zAGY(_3fi289*&Ci(K>D{pwbu32kbQp4Tkr4>7MnNjqcG9Z}db}W^sQfc=DU}S1^5J z5G-BPl0`~v8=f7Aad&f$0p^9iJd>aOb?1cD)X0;oGBUQbE>yKvuNQj58j#lq624Ic zY(Nh5Ew37X!LVQN`Ap^rm!U}FU}>T?QR?$rFZ^q`VZ!|^? z7n+qkxbw~tlrdaO8pe8D>*p_FNrx#LGPxm7+J zwGYIyH0QoeNMs#3pel%UB?u-JK#{t}jje)U~vhvS3O#S-ojuUJ*#ig4wb7cM6%# zM>sCsbd0~>)$DyJhYr76^>L0wP3!=ei+T0VJBE@9*I{Pc$)!>?yf{hV;0;l;0SuqqYx*CM)wtz%(4o-d1=L1%Q%0ci=g$+Sy?Ht}Aw2W3iE zg$LAJ%P#|Sn2?%B@Q!>E3Be7ddqpxS;6loBh;gO7GWRw_G{;J*hl<3K&n>isrmOKM$oIgz$Aeb(UhHz>cfmmydnHv@DwG)t7oD%)MV4^i#5P{^hk z9%F7=URFFsbtyl}um@}!5$Ycb*%_P;@i5jM9iNAjy@miLT6hM5X-r%h-ewYAGas=f zIj2d`7eSNaFqL}D_cMD>R2dH`+rLK;pC)7Rf0rDgMQWgy_JNv)lgv0EUjn~Lw!tCy zax4&eGEHDURgomHr9L{-3OI~d?s9&3(Vviq=?5%+Aux; z1{08{gfKBY^TA<8pWH$gWsxG z@%f5L3_F;FtrOT@HL|6u4YykRc%qzCzF?LR0?C=zmJ8CjD0ilt0QMrVCBUAUH#vNl zQWY&QPrI+AYOD#z-KZ>%Oed9o@nUH@%iKA@CgpF|^DySo(2QF_Lqb{*E6^yr`J)6U z$Rd$q1A0h}^w>Ygv2hNz{3uuez;4jFck82H!GMdjb_HilU?0PcuR~&kygZ0`P|J%y?ioD*)(j7SRo1Hlv7-8>ubu7Hzp1)l zd7~B)m-2lQ;!exJRDLeQ!$igM)x^-b3q^$@jof~v{`x33TxUgV-)@%5^V+10@ZtVC zfMU~7rI2vcY?dY#(@}-6)Lmt+;AzD)y?BzVbI$y+u`w*)Q8cNZ1hUa7>_2AE_#)&jnO6^f_az4 zUr>2b_p;?62B*A+Qp_( zL`?`&J#07vx3LpBK3Ul^&O0fCZslma z{Wx(Hvs9eXbx$OTc~;F!!->xOf3L`#bF_({BMHX1=UJ~GlrvB`&VgYZVawu7h^`zjyS$*yu ztG@*eYsNg>lBb~;4&Il)RYe-Yis7pdvr;YIb^ma{*0lIYR&s*EukhR=bW0qF92Z(p zsV_G2sIN;arh(Od38}*=hluyr?hV6JRSSY7?5~s|74IO;EvUgiwNK?w2Vb+n=wT}} zBA3Mk4Wg@bN?NUbtF}0LYn%+TioKRe2)eqaZwWMGo_oO>BAO;F_T&5`;nv{ncbNQp z{B0ThNvhyEtqW zO7s_6G4IKT->v-MZ?wWT2w@8y!trmk!s(SUG;dHCmEe09F3%HG3Fzy|fI*_9Cxr6T z*qk3jY|PyUIq4nv14l)AQw_%QR`A^L(xqNb6NYtwj^uy~3OlA01?#Q;-+0BkA+7Q7 zqvds-zRa)LrnX++8&tF3t5I@!mE7w+NjOqkSOB^@Lc&V-9Qi;nxP^=dLQb5vMwgfL>F{~`N&`(jA3RAqCrk#boC!MS)^>`y>Za4>A zU7WO-$E;3-D#H=FZF=9W4xp;FoC(&WSPop(*9%%!4|v&|>ubL)exd}%R6Ckt!Lk!C zk{%Ks4=V?USD8zPDoSOsUqTUjd)Jl(G2NedwAv=twQ?avuFr$`ydx#UHC4lR0x`tq z?-A5U!)pPp;#muEW2^w-1N{Jx6g~pmsg>vVTLUS==3Ojd*O;Q|5)2rNnL95t)W4`` zWj{hmLRZRU*}=ytw@cvOesPMqHo0ZPvS|L?R5Q%r!VvJglH@I0=S1wRG`ZC$T6ggC zgx&3~Hw-OTGS{U2r!Vx7?SN6PDJRQE?iV_XZYc=?-rE(|iTE}oT?rovlC|88)B+*;z7tAptlZjT=Owntap9;_m_iPZE4Dk3e z1xTOs-k9`^qF9d54I@^MnpiBnGF&>D>WgcYJDL*C1rD)fA;+Y(Ht82ZR;>l-W1Ja! z!*9{$Q-|m2Hu>A@kM}lLCF~RsVt80$c@Qa-p+vS9?hVbpU8^^E+ z$KJ*Yg9!dk<9j(vDL3ZN*aY5}`j<;VWEsAVNS0hIXkUg7R6p^s>^mZlI)A*|1U^9} z7_0jepD&7k9{;-uWZ(dtvs~rfB(XBL$`4ahTw2Cf*vY78nU4{|U|ud}yLdlpl@kAH zVgH@Y^@bPD7vs&($@!Z*`d9WdFlmp1z~N{hvWzOudsM~UOBrX%9PCNH|5++C$1|yMyIA!6k4}(0I9@7m z8rf^kQ`DK()HibfUKcXJR0vVExH*wgzHPW>3=>RlgDxm#tq6m3sqSs>X541>YIiStr%&JA46u`! zelUs~)W(-j)4pQup#3A-m7V0`kFd|~Vh{oewaGfun_eN`GvCANm-o6Eyx2@{Z@e2p>h)+n{U zKBlIc%m|*pf@@{^5)36Eg~t6ke$FttAMiG{1{r7hL70;`e(8Y zSyjH6pl?90IvDcUXimc)sC%dPk-!vpwRV`fVjF?SRllO<s>qak;EGgBg>UQ}Qyf z5&1YRi3AA>k9skMD-+HpETrL<+TuxQXdS&_@;U1}$4Eq8{WJZg4*~omc!VmdKvw_c z#1xHyw-8SMvI-V4eM+>Mgs(cShX^|`k@03ScxJCzv73BhvF`}DHM2KqNi0|y6VH8- zJ$u3ne${LCF96r=a_BuE_OUm0*}_^Pdeuv3_%`Z5Uu3xb@@C~06c8*@UWk*}S3)V0Rn%Y+2BCSeSHAlV!2S}QInNP%o{zo*c`+vZ^4}%- z36VUaNfb6wcbR$dtjt*um=L&IcS_xb&H>&OrK1hVvbO5(?y)K-VrKo&#qoCxX#Af~V)O(ntI zrCQC#m;AuIgsw5WboAe^yb}TfUdzHnoWK$k!V(2>En5a;qj!-ET>hyVlK6OwNpA`D zpS~+|#p39O&-?A`K*Dz6_;DO-h_dXJ8vl})c^pS~b1`1Ts!>?4#nDO^))(3{d!zg= zBNNMISepKc_nG0-N{138zJjQXU7o%j))P`2v? z+#GgMDf3sq`A*uD9EW3(6|cUG`17L@@JNS%3EGbpWl`s4VBC&Rf=lnZW=AV+AOod+ z1*%-xjm~sgEBrmKwu6p8_xe^WL^>oE^h)fX3d0d(@Ybe}xS<+GmSEY{{#h*M-U1Q~ z8CD3U0Yzp)y`&2EOi2e7Whk1Z+9tuL%FYS-eV3st5VjN@cRpABGGm?oNx>p9t+M@Q zH!5qf44BDMybmrjBaa{&^K}IzReF$urt&gEU_J@jRX8_Uy)MkMo~J{fFthOU-Gy1PwNnpJ2|X=hp{~;#cx8YrHKji~vCFEaOk^3xoBv@K4bsYH!C z1;V~keP_bskfx%zEm0iMw5_p%E(Jxz>gk#*SA}$&Mh%q8!zZ6GDk?u(hrNp*2i!p9sifeyi} z=JhgM>cpXKYt>8QUW%E|WY`Y;XL~rRqE57z4*kJL)og+jMC)#!#vGfh;ttEvRUy*-LITua z5k3@YVwuitctZ$c0!d|MYGOn`O7%acXBal!j6OsM)~er-C$}rou`Y(7PfbIP!Gcw! z_;^*nj|@H0=~Z=e`%|0{&f=%ZG5e26I!#Lwa2e~F^oyTS`D^Z%aTNrw@y>i$sYwz3 zVUeUVW3jbcQ8U|x;b*pM;c->f_-sDAfvX}g=R^60JnAYPdLR->+&>J>{t(Z z)w{45P+W2rN0enq^^v*x>T5ZV)UL-C6_7hNfap(+GaK*oZ;Pv=)hNs`UU51)C~4P>VrH^;5eBvEd+km4%ZPW*(Z106pI%zDKsNNF11qQ^PSi@jvRQ z-PzV3sebMS<%;P&ZRiv))~+mSkL?Wi5+rQs(LN-{#(HC1Eo`SS+H)-pT)zuYT~^dJMXp?Z(V+zd5I zIGo4AnSAAc#W7*s65uhg`rn+rP&s+dQlfs7qhS08tmj?WZuBY z%kv*+x8N@_c`t(wTPsC4EIqapQ9|t~sY#zV{II%we*sb5UwxE>rtJH@EZk6{HV`hR zn@>s}_`k9TQrtnq-g(@7H1Rwd!X%1@cLM?Xqk)=U)|s7^Dn7472_2(t74~MTefQ$i zNle(f=Iv{$GR{2cXJlyI397}A3HoPYz@_2Tvs)=R;ahZtzL=91CUoro zyud4a5h0CC{!QBExfprVORvT0e-_z?xZ7HYeh8=sd;cf}|2o|nF|upZyFIQ&k%E6t z|5uqU$sq$|97fu!Mz8*ysfgkt@(e?Bt{0*9ljoS zLYM!0ybTk6T<@)~%l{VfKK!8UzudcVJNQ4xN#Mup9$v2fCtT=X|AGVPE)M6;e=hz< zwf?W;-0IMbw!rM=mx0UxNX&qs|4?c6;!W9Jo4tzrljM++vcGUuJ zG@ADt7kG1lTALb^LKvoT0{2tv0dNc4gAI`LvG=_TQSruy7*;v=mPk5j{`sw32(~524yqQf)K+ac2|MM!FHVwz~ABE z+kB4m%|SX`06&qz#m%CJF9ndt;ckX+Cpg-#%<3Mk>@08BfJn~pmzeXvuHm}p<26HF z5JKMrB5FR%1_56CA4<4U#S!45qb^-rp{Oc-th0xc$(w3vJcuItiZ&@$hr z?YlhfVL2N|`?c(}ru~N54_u2+?nY<=f7ss?JoMBC&rk{jFK{VzzuHj?Bn9>e{k7oM z&6@dvb_W~oz5MY0O}Nd0_x)r-K%q2$H~%;$1caOO-Em3h3c8p<0j#J+Jka5^+@2AR zerOTjsR{)}o5uPilLJ6;SAoS*Ri6QQ>EGi<433Ul*DTG<-%k_~J6QL@0CKgm{>ww~ zbm+`hjO3nPg`&gu^)di@@>dqEs_;%>rB3EgZD(MV4|cUC#d?wmptFz%-RhJR{p;+r zn5*h(0K0U62eHSq{glFA%_|q=Ip@@la*u=oVmBj)SM>t0qUZ+psM)`WM7B&rJ^8wEdMNWjJgHav~eMImtW<{Plg(!iTF?_>q*de5Q_u6@n}Xv?JbCMWq;+pnX>WN!<{@!CSbQx8f<2@0H|Y{U8ide!jFW6dswmL-f7C#93NyC(@HSb1c=p${OO#l^uj z8f(FrgJ}zv1_UWj@@>`b_T|G0x-UDyNWzjq^;fj;It9Tg4;BNJ+a|iet%bJQGRf{8 zSWhQ8xiyjpSwYk)aXOol1$BM^jAQr>SXdZf22-o)7dToCCEymb%mE5KpHq+J+4f{c zDuep5PCwZT9H9-|O>|{js#{>wI~%R}=NDUs4;#kj_1$4$?gVP(ZE}jwpG}Uy^b4mm zzB%#mf6%O2n_44Qq|zIKcS!FN-6PN~N1SD% zyoPzs_rSZk#AlO8{>ZjDplF}h_QFX3H!>^$pSh=MPpru4t<$cIa`@EVep^WZb^7sy zCpzWTq|;FVNy_-aV2@( z?*yLlSkI|EoR0w^jo5$OH;_k`YvLt6<*9X$63Q_2Tj1pyIRJS~2NP+e#AnL+tTR5c z!)JlP%ODy(i3~*}9Snvz6iO)Jm_y<8FqY2d;A2Y7qHIt`wubn<`FekX6L=MB7YwGv zc?=R)=7inK!G4@Qpm(O?6yS`b4|ti5tTD#W`2KdnmGq?8BqFQL**n{3|1e9g3`+@0lG-`$q;Rgu^0F?-5SL6@`LW4W;cVdEYJLOQ{ z*qKSrFfYkcPYBZo;6sBb<5{<*hv4Y$s|D2{r3%Z1+` ztED{C0AbwK>=OyDbTlyd1LPl>3=z2yYN;@*Y%wHbJl>aow4I>ANL1GoXe2N@Q!&RGR};w5#$v$6w|8?c9{b;gRH^3-SMhfR9)vC>;w zUK~Qr<6rQ|@|JujH0KZL@4yDkQFrGL2|p=1d0(O?Vdv$CTuoYAA{7119l7zBA#s`3DabQx3zxv%}e7CDJPZ((&ZZPLNtjxlL1*-|g7JgdG zzOmo5jP3UuYKr&4peA2^f`ohiC)J;;XJ55P9?0np_?1^WvHy}OAI8S9^ah*dZi^~{ zo9H~&RZKpc;lj(3FV{I-q2s@aGgVSnt^CsbiORixk_~?zZ9){kzWB566j(vesCysa zj@-hBI5+v0_e^%L-hCsQ5Gn4nA4GG3rrV1aQRQF4h>-!BRYs0?b_8odh|zW-6a1^W z^e6mPf&pe}WfBK2jP15)Bzj6{p*r+<+IuHt-5)0D{1qJ3@ON;v+~jm&f;Kp2(jv4J z{(H$wJefh^;IzjpJhS@xlDBohvg0ur2Iiwovdj|%;JOE=_9+Pas2GRIxRtl&bIJK; z)9W?m&7)WFR3{_km@!XvHbrM{O8tlwN*3EC5S5F3?JN@$&ELl>1)FTfnh0>PLS~~l zr;Z87C*fr1xa#B36q!pj=?eAp;(fh%V96%g{rSPyRWS9?ojtnk5^zWR@Gkmpa_W>^ zL(ey+C*?;d+I%H+_b6aej%epI)j+*3Eav2e+6G+>sq-*FlN!c1BP`K+Bw7di`3v@; zm1ju=G&;Y?s@S}SI@xJjA#~*_eJZp2#2CT`NP(lwlB4>4`zW!K*kmaUjNN(HbZu5c z^JXMYg+rBQjmx$S9K#9n!b+{vw`-SKu17|_nuWnYLb1CR5^jLH=aM@AE%`jqCUhs^ zT3%}Odw+exnW;%XW;y12Sinx&Zldjqc}}mg#sVSff^aiITS=>@Nh~4NJ^DZ;>=ReL ztp5u%Z4Q37kkpoPr|Rj5$ENBj0>|;39dP{uhPTS>kXs;RIHTnHp!I%7OW2@l2!su$QS_-0ZaLx;*o1cmh1G+JjJz(XUl<8sxam>e&?FjNZDR#j zHlQAoSZBT9dn=g#Lb}4lLjRR-wQnD`u#!!&+#m+Gjba;=!t_p>!VaaW{A{w*$_2py z#$=YQk_uYT7KPZ7x1xAGRLyC%se2McFwTiyZ`OOy-wJi=Kv`=`E(SC|E5J_wpi( zt)bnSDcC(^jMF_zrL~P{l%M!xycH<$UQY~85fOhJNU3PZ90sOb}sh+1N zvJWQW@{sHB$Y4ZzJdOsg(JN&kXnrvrOqG_5BS5}1Wcz5{em0vZ5j!S90twZlGRPq# zj)h9^cUj5paco{s;~V9-0y4@(bk4D40;&=hz=JF-qli->823majf(2A`0L~zFGkFe z2UbXLgrN4DXgb%1bKDB(iqvIG^K44?Vz+R=ON4YW?;Rw@4Hl|zCEwOFQG-hdj7k(`F39sAi z9!f~GZ`YX&@tm|lnaux%HbE$eKj17s7_-iEh3{A&ZasihoJ9iRGBlKP@EjN*)1Vt3 zgs~w3wDyN)!R%^W0-qHrBnp!}52}+>g{6)?SiJ~G-O2}Rsma}~u1{V?c!m)xn{zgG z7RI8aK+~k4h^DV2%CIpEZ8KeNT*T%-lmE7-MG1tMLhJ!GKl~wQD^X$}8pr2>A4lC3 zZYYzzsN%DG?A_9y#p7je%Fn5noaXVZ$j?wPXXY<7MdF$br^C_)wna|wZe+~h?0e)SQB(q`qa;Dt!GzthF6!d){-pU4`S=7 zxZH}}EN+VqvVNW&qSbJ!YuwyM>Gnl~C9PJvQl7k?%Gg8tVu>@Rm0hsX5JCoHX2NwN z84C7fg*~zZ>fV|6q&AGLGOc_&*GUsMQq9l(|fh6B77|C z(K6ZWe$Odqvb!+ViOIzOjA=dYjO!V-+S)YbQx=Kqr$rc*qnbnAT>JK#vrDYXlYIT* zK;UiEC*n9Y&w0${-`R@vUP@7)-MNSYKb$EL!t*$1ol0<)=6Xe7V?@N>z4N!7ZFF9Z z?n$-j`*0B}Zr1=gnfn!HMBfa)>HEf~q{?0$QA%z7(9H%$rQRFVwHE<|lCxk;bmH8T zT!C$RVDkNY3QCjw45NRNP)yTWOoB*`wk3$zuq>}g1&Zb<=MMTE7#_D>1 z2CUEs(UMqs_NRPt{zGI@czzXlltTGoYlC#q)~QgxDW?+OqcFrSa@%7 z%4s*>dbmeuT>-%dhq0F|&03ppQBm0h>&c+XGxWpA#U|+0tY7%+Gh1wN<6FDlh8EXp z_K~^E`qBmXmX)?O2#Ce#^oguO-#)0XjKcYzpUvTuz?yJjq)4U_B|7@6Fv=sng(IU3 zXhn#~yrx);Ued6F&J`zlhR;<1mQzhIg?Qf?7c``A%Yd--Yx~^P&}Z$AU{z1j z#(O>IS2u3in#90^yz;PkfB#vX_f0+B1O+bOT6{(_{~{xf2*?)K5JUnidZ@r=6~|!0 ze)az%m|_%g1XC9)|AmP*a#fk~?~<5+j|B1sIne3YH4PvQBX!pOGn!5+rfGrZ{SpF$x-k()q&HSW(DzfLo3&a^nYR2A@X4U z1%<7YG!(By!_)5O%)kHQ-{gqD9Fabu3H8kl^S=rXjTe+oM{*F%|C~-CxdyuxN1jvV z7K>GEgiU3?_CaLd3!-K`+dUB8dyh*M@b%s82){>*#sgnYk$+HqxCIeR4#40)ACL;= zhz?FJx1eZKtlj}62+I}bow*CP zstSf(g5bS|ohlY!$YRQs-9T@u*Y?I5n18ri-)H|vkpSEWb&;7>Y;d7M=$hD%&=+2R zcC1<)h$Sgtq;Zv|E8!WYAt`U@0L{ethL$Q_FGVo9nR+MB=ki)l;gaQJWkJ||R@U%N z@!n;0;&}Ur$1thw`fN_s;|k@F=-XW110k{C224z^%{2P>-&?$2z_gI%*VoN)@7pe9 zAWi+K!yC#b^y8)^4FOVKL8${Jfkc%lgpWKLUxo2ME`- zjWnvdWWajI=MnAYBSSUQjot=kT2@Blc}1HrDiIHd?je8qEU$s6bljbhrLCmowiTvaQH5jFj{x>Sf(Kv&m`PD$-#_2gm?N6YpIRLIenK|0g=~Hl58)BWJxWJ0$;7{Z+RaS~7MAHCceM6{# z>S&iC=l=>oo6&5m05rrA+jf6`X`H?@?y0>b(epc+WI7Z_6W- z47gI(H0R-#24hVYl0>qCUrV)G;qzntXQQMp59!=HnPMBQCCO z@>l^@YLQVyUO_2q^DQZZ%m4FMhJ80McBt6@13+Rd+8Hzw<+tGSDlNM#g|an%r;R%l z_x)X^E&5tgs6Qe`V#HH5Rr6p;pmNr0Gxq@uokUW!LJl~Ob@Wj!>h4SmM zoAr2YoGNO+NRxN};;f@gYG?k7v+kuwJ%=kj%KskNWEuY0Al{b^E0=XR;B$n1vY|AW zPV)K}XZ?<6T(n@`h&QLVfZT?uKFnAfDZ%Qj7hlZ*5*?mOC2N=`$M-%sp_rrlgOHZd zWMqEZmnkp`sv$Melg;>^z}=~#EJu2!?NTpVN=B0Py}&4)Ez;V_Sym~5{}ncDiW3$A z{Is4QUKfmgABD`n-jyQ6vKPs}i!{jyXZwsd%@s%1~Di{hISZ@flAfA*F~7 zEaWc&dXydiWXR8VkP4}=I%??xyU=w`T4!V~a|mrv7=ZnSfSnloN6%HUzsTpk@yvy2 zA8`q>IC!vV9}v!)2LhWlmq$Jc{rFhxaDBbLG1oOZ?Sm5i8Gbx&Y}O4+EJ@|RRQ_=; z;I-cgf#Me}0S6ZfyQPin!DuV}Fp)k4)~gS3DZ$UHG!43{n2}&TdaouT3tkYe^2UjS z8Bg)$)rkFv@m>P_vf8QVEIYC2`Zn{gL<^GSM;8Y>Wfz`iSklc}a%v!a-HdxfJrD7- zj^ampG2os2ZRw=D@AYU)9{SH2qsT@Mq;OtH%zI1cQr%jGY)^FV#b(C%7vw|&Qwa;y z-Xwb70Np)?sT{Z0KV2HOGrjvaAsN1_kI_uX2R)Ot7A9Xs)kuU}r>F?^8i~QPQ5q!L zAy^l9&mfT~Y`U@voCwT>kB)dQ=~H!SYjOESY$PGH{%bVUCILa$iWJ>XP!K5GFs8iL zq8Mjb-%34v(%5A>XPNeu3XuSPKtU0RBV%=JnudNozg_P+tr?k3MR-ob;iyAvddoq!ep|iGV_W#m;&m! zLH=qsvq=xPzCC)+tt)l5*5aa95GdPE|~i z&-CpG>R{R!67{H+((@@v)Ru5Ch?!f7#c(_;tikufW`FHr$P9^>i!6+TJ)B zsgC7RZXc_IyF2V{@F>VsB9l*`q$pkYI^uL$lcj)Fee5R{Rw&$;>d&;J%_lbkQ!c(>YTPX{lRnxdcn(g_EY}B9Q&%`!T)DT`Yy!>}w@2U|1Zu2> z73)=tChBu16ahRV0(&K%_F-zp>9ht6tZQ>^#2oclp)F0Wa9ZaIMQD*?o2fjl$Pb%E z;XuHNVfSI67){iDV-II}_o5n~K4ISv_UKbXW!dpHDSmz=FSsO9P~XIB~c+Q>3Jd2&<@B;Fyt`UFAcIkDD{Uao)^1SvNCf-xR42uJxFn&$MP zTaVlqC)!_nz}l0m^x#lf>%?t7inRyQXpAokW3VWu7r!$9&D> z@bK&l`P++^FMKO9DUZ3Lc-&}XBJ>Djv`>fSh^;cV8KOshSt$r%b(~p!gYvyd0;4Bp z_>8BQ|CN=_3+I0>`*BkiRNzWVcKab~Kt`VnKCTe+UGXI7$Qf^nc@XL{`<}BiQSUKd zR1b2Qg054lfrq}d34Ch)l{M~^j8o&k^GmiTHHDBN1} zfT=W`%Wc(j-uQEfLV)*=!>6cyakPSu6b?M~L|Xg7GR07I>Cf>$J~w@2?p<8|o5)}T z?`#YPY7GiI5r@d_OOpkZpA3%%PX)E@^}GD~A5H}W5};Y+Vlq$0{HFo=7d^rk*QP$s z;*hB&ZRYRO{>6g;6}vZpOY!$#_X|85Tll~YTqlDld8fy8SuLKante4Chrq+Uf2g%{ zI*W*X@5u6>pBu@^cFht-MOYXJ1Vhs=Dv5U^z{?QjheS@xW-Ri5S&;)01!=JAbmvI> zx=*>S@55gHSTJhzX$IrosZgi+q%Tc)5snWn)x5+WM2A8%iiDd#R#6!|s?#c(4#YF5 z=&ovYF#mfg(bqR8Un+4wI;cYJ44FyM42ls)KvDv~zJ*@J0X5XW!#eOXV{^Iwea zf;Ko`SmPevB+Z|~{U=vJ@iDUu$Oc(AbU`kdzrpV-jun6R5g983m$`{>Y*73`Cj=@+KIR3% zZjozOL9F7(dliOh`dx9NAT)t!GvS0$ZP_}6{$ZFb!*L$< zxD=_8F-#%tXD+a5)o%n?0LLrvfx83C@USxuzl;8+3lG3cOFI}&lD}WZGH@kytQlO| zf@K3`INwT&N>A>8Gmo|(BDSvalYSjtt)8TgqQt_5JuDz|4s-gTD_=?Btj02z0kky15 z4OJ*ssDh2+%W6iE5H8^f;$(hds~|yLc|q>q7-S#c}e-OzNUGk6v7%&V0% zA5^W#-)g7|(Jz7^bbTT{e9~bB3YX?DEH$l&o{?0>=b;A*Ot<;At`U`ip3#(Po!ESrv1DxIc|JZx$ud4R_jaNcg zNOy;zG}0j5pt1m!?rtfiySq!eLqL%R>28r!x?5U6K*0N%o_)^V-+jmZ5AIJo)^Z4I z&bj7%$Md`%_j?S-L$3KZ9NRf;V|*lgmF5E0_i0ezH8QVm4;$97K70e^KQjCS%|$J~ z^@kP(KpWfrhU+u@AWn>%3O#f)6QT4Ul;+2XOJs<&j`jC(aqtZpaV130Jb>l~Z)~*a zOI1G)ZU>7d5FNw=g1kysM0?VeK9I)@5NW@Hu$D$|GD1_I(w_H{=?6L}&|!7m0CQn{ z=#FGSHS8wsEo{4_$)bJAX0f&? zWS)HUT>b^}r6!j^!uAxVu+c2QxyC~x28wT&BQRu>8S3nG%+8-%J%ivOESY~U1Do5cU zEmeWe-pmnKi&5)}?-syeP`{&D;Cdn5st>tFIjd7>fxlVF7g*rs;@bZ*fX+Tk)H z3bry>B^g1{-@=+(7RK_)7=`!2ReTD)Z9-e@o%98Ap4`BfDUB zhaYg4loHOt6Ge}%z#{IwLjl7-L}LJ0n83Fy`F=h-NB$cuT>mi~Y59`}!UB_$qjXA4 z6Q{wU1_l5tVnx}!9kn+E(YbOKy^AE_pV`3Pi=H>vz~TP+4qyjmrVZmnQ%d1@UbaBi zQ^wc^de8eRw8O_zI9pbmv?=H9=@#{8uCBx8(&XjzyaoIgqcns^xS}#m@6G4}KguUl zUz1=H5#!$*eu>kqN!=d(AO$gukFWM)%vu+>CCQ@?t0>e3eRt4T2f1AhUw5`k*6jVE z9qL+fSabVB1dlX^7ic*jb6?={83nYJP63Dz0?pF*&EjDQd4RsTnmJSw>0IFYLCPDuVnB$QEaInDiRgW(um5zmpjw1wlZ z)1CaZnItu>5=M=QgMy(wB&}VuOFP1PW;0GrzxwxR&sBv71L@NR`*a?D94Q;8(LaBO z`c}Af6_d&=)ik;JUG4m6){sG7Ax}6LBJr#?%Qa!){y*$r%dkmkuKF?kxy!wfI}GTY zQ+tv%XYNKt7O&?X#yS_j7GVE-O!23>g81~t-#r=B3*oANjm}4FAq8-)tB38sf4DsK2A(I? zKaSL&|8!dm(im$si~M6A{U5RKL-2+jnrO_w1=o&jkg1VvG3(!R`%ygbMm=)2obx~K ze$emRNaUx5cif`g4AN z6vII4l-~xx9}SdDo=q>nRQ1CjPJBUbZXu-RwNuxLnH0j!Icxwi^n^MI*02a~$7-T$*!T=^|2n>&COTQL>mgWWiPXc@% zN*4`-;xsNm3{q!lSveUnp)^&1swEg4h-{m20A2T*yaAdfrJEw4L$U_~%3!AAYxc6X zn|-@3fZoWuVy|dNgbF4@FcURw+$oY@5c;tRq@S1oTVSLC@}<&7HbGmA{;~PwSp%3d zNw#_4bb?9gq9a)*p`Tzr7NptjWF=|$f+V(Qatp!$f3X5c9*-ikw~hg!UE%lwlm`&^ zF_yT1sUEZk{22hsVh98nXb@Rn*EtCtvMBof~-Q{j$nI-&_sq}Vr{&swV<9ZnQ0LG{GhrJUGRoHGY(?t+^}1DO0yL(E)2 zePsx`a5Y1U-_R_UjJ`QR08z+r^a&oZ;cHN$V}n_*1>54PxGGr$?QbwXdenSQnYpr3c8vwYph92D!a}i(foYVj=eTHh-@7slQl}dijguiY_Kz#stTVwRRLlMGd&k!+L6a@N%8nKmB$`u zPuNLZAE3u)T=norJZiK!0hM5%B3d)9ULf{{0`lBC7?WB5OYZ9g6s1(-f;SM${h}iq z#z%Gr^zqNm7d`Age;ed=Kix(ajs!VpxtA|)+kW31ZodBph3+7*TvT50gTOnoP2hHT zBk2hug=93wwyjA>eIJ6xRgsa~&;r|G5rogFimk5t0JG>ruCjz8rF31pmNTAVXtiUh z3sw##J~L6UaILN0bPSAI1-uZ)6=jsL0Z@q)yA7do*Eg3T-ud&}v|v$c;{<(A9-dqKvwBM7JW8m9VbQUFah;~TkaGxXC3od;0ZXaD!6CG0?-aiyMgQw?UC#G6r z0#1yn8J7)1GdXA2DzgBv`10t^V%$Jc(J9T~60ziXp<$V|uF!H~ldLIw_8Z*CcpfdW zUGKE5dKbM{e7gL*+J(x%gHUE^$w1;X0tXoZ_W^P!!H#r5Zv7oRNmN{p=H^p+wr7W- ziP8_^@WjQnR0^bJVwnT+Xz%+IATZryWad+;$N)mvH;XM_-i*w=5o1$I{Z#%-)O2po zXDBr@bAj*&^M_ySVa|xyrd|pokxO6-B%Upvqw+@zTn0^~DFB$laBsR&B9Ly%jM8cH z#kd>~-QLNCE^rGJB5)*Kb`rPZNVlW)QM%|9%iY4~B$@URy+=U8M6Ja2_}f+jDA1x* z))6FmTb%^_0w^j(GQ%3RalhSDA&r#u#I(gPAS`-CI18-~eI#6{bVGA?1f z5XhlxSgIeG?n@f#*blkM(ZL0pfFc(#w0DK9#@v+2A0hJ%+gK+tHz)iH_e1>$T^*f$^ysuI$o9RC+aNRITg~##hx*0A{5U_2 zSZqz4T&2%NCI-c})27~=+}UW*1S8f@TwK`+JW5bW_ue(Zt?P|46fyg?et}O>aL@fLoap%taI>a zbT%l%;;$gcRUc}y=!1*Ogu-YIP|PZ%pG-8;QyVG-2s(oMip4K~rCm|8#|pD(xCOKK zypWvy+!Zy$@8ke5Ds8}U1(1*5#kH+b;A8_6m!UFJT!*f=uzJYlg7zLgcfKT>i=$hU zcdg{=9hLR%JL{uLh}0jG$Y!Pr<{Qyz?wk?zz+7YLh407kyw{*N5>_2Oi9Y*iKU*}s z4nrYJSo4Scf+T`v7xY3LK-cYAo^!UW_!L@<;DrYhjZcLQ~?KfsmETgh-JE3 z#@1H0kDkx`kF2AjV;Q>p)cP6mf%=t0cE=18X>Rj&Z8y&J)XT2`Uq)2{b(X*85oc~@ z3Sg#OGq;)ZAt*#yDy(pSl}?viWwlx!1B;X}G)ywF&?<2uqd>K&3z^so^;&h!^c*({ zWxCF{MzY>fqnml0@9A*w@G8`Z%0N7**9zu)^pdf`66Dr_d_O={^SO50VtK9k#nPyv z)Dfn>T6Tj!yQ>6kK?#u-^*Z)v&a>h$6e>0@l9!7_VjF!zJei|U88QpBw7g=)H2dN> zg$yT=`LFZBl42U}4t-Q@*q~ZR*&8+Ld*J`^gehP-!{r3w(Bf|DL-7gL0Gu8ow%0l+ z4mzekoow#faPRcbrU)~dJ`>RV#K}!iFF&iGLx0LrDP&6Y#f-Oy*PNyicSZIRKUbcU z!M5^+8a0=%3MMbMg^(pS&e>BGf?4me`M$ufiOn;^=x)S@f~UQ?UC*T$_ZQ>b5i>1vXl35+l3x;%F8U_ z;&T@d3riLGg~-8L-?tVHs(ekbY>95WzaEecO{Gq4ke?A(=AB8=1${*!cjmdn)$$sDKgI)bEiuvagmm5%{`0Dv7G#y&N@m=8PePyV#WZ^lu1p&CK|-I!G;|Q%JC(m z901EfbO;{7cDIp4{xVgdOfl5}O5FhX##Y+me8POnrl5C-8UFqjc&HJMPPfwuU9`L4 zyMx4>E>I*-ubu@^U*}kHx`jDoV&=wKUhfGw_1sd~pj%^(KFYr)J( zC-T|%5VydmyeU^yoGZsFjM|1=gS6*Zx!fW3oWM5Oc}f*Uf4934Ih_rGj>onu7*m;l zw+hx%s%nNJheGGK;5Ir^^sf9v&VI;hU0^T8{92vi#j5(SP(uw4Iy|ZoU;PT5C(i8G zqX6ouf(XmxhsElHBSdZ7Qj(vzte?LMIZ}H?9xQf7UQeq@s&OszlcYFLd+LqyVrl2M zminrbx>4MRyGYfxp6Hi)oap^p^vZ!dDc%kaHp3FBfCWFfc&jt<9$0U4RZ7tv=u_Q%|aG$#J(x)Fyv zDLBH(T2@Sy9HAeYgSmfTlsk%_E6ZK3r7EH(pcU=R-G{$S!86~@3bN)lA5p0$5Ht%N zNp-!v|2(2d_lIHgS_oG3-5|%WFd4Xj5m9Gf5*FnfEPKh&zV7xDC5?j*$`60fYtJu7 zTfz{D-L~jD#Qk?XL;Vo^A8xes>;k_3yTkO`58y^FxIfe$?rBKm1ZL)&9SZH6Qb83# zVOZBB9c5^2y&kOnCvk@1sXZYnETNcHX|!JOI_e(QyZ8i0Gj-w9>t0SFd#w~}yo%yLMqyqjdA5{3FO z`2o}Xdn)`#tqiO{dT3jKc@Rh^{PUV-_yG-^SEHhTIZlEYKS5CHR~4T&F}v*|Q7NvGIAb-n7V5MO3OCcP;HD9D8(+xLS#^GO*3&t` zXPOzGOuTew*uX*vECAFKNUz|739aEW`!)RiyLQLVyyTO1K&;ls8;TpG%awG~CE>EZ z-fVp^h{%b#PZL#xREhJ9M^TWs@3aY4MtMEiVz8@QRpK!1NcDx42tW79g6pH(lmoLB z&Epmk<5~Ytej;yrB8w=EN@JPcL?G#Lvc-<5<{Oe_lsL|J+^Hr!;GE&;jM>2DA12ax zhaQ&sii%%(p$>=S4Jr}7X5%r0_+o7s5-;h&HlrWsEEDn>cQdDjeb1vS5(72d?XXDl zyn(EE)`bImXXYb=@D?rau(!hDEguDm9r$lGBQ21BC+p9rp4VFH4P$oe34I~oq^T4C z2A6xD6502=l|O5|8@Los~Snbu!QzJ*vqC?@~jw|OZ*0!)o! z;3f^{jPGb`47j@~dQljY4{v{hOwD^({kXyCrT8yiJPC%rg-+b$MhmAfL73+3X`!r> zSLkI)qmjEt5BYSDtuwp7nW`h(VGCPLdz_eonw7>l`^%!Lboc>)mZgsSDD$&=dJ;Z- zPKD|;chL$GAVi__q;gATGY_#-t%W$XZg{$DnR6t=VrM1K;~#@_zsyiw+kbBKvAgR zs7YNRtMDfB}Y%{dvdiud#{uAV{4QoV7No$LNFKzBBKe|@=9IV-59j}&}UB0SCWS-z+ z!O;=r{M`BW?tZjr;MKGyVtSS6148}qdX+Eyle-3N%(OY0dy<@L8(jxz^y}eJOfpW zE;;R(we?5!-XHu$GyXGA1OK=UqKWx1mHa*lBMQ>Qt>NS{O=G|6Nv^bg!D9G$+N=V1 z&Za6kCw#g$@dFAfd8MAXvq8x)-`PN&(udP^tiQ)?97q~2id}Xa_@*@X~aJX+gexoJhbGt*u#hGs;a4N6UF5H7)=IFRvjjEofYAV_UvDeSbt`oXqxYoj_gj#XjaL4ff1; z0e$gV#kAM+wNzXWe%%Y<{i-2VU;2u{Q|Zcds2N~PRj^x1o`oP#Xm2IWBn`E0yKhJB zE$9+9pNa_W`l6yTd}ukJE%css8}NHTtYhzIo7&G*D59WX9}ohjRkafhl{fT{G3l+s zt@XPLs%>)FH+$Uv8Z>Wvz#i}(!G<%C1p&;X0u)62g9x)qik1|dMuAxrgO;&-`H@6% zcLOq3`@{0~3ei`3|7dUhb73@`hux7sHT1;C;!Oxg&0v(piaxt21Msxp8o2qnb^0C=% z+2H)V^0)F}r5^oW4`m%8d>3Z8(1B?)Ka=wKlPUh|#GWr6e~AtJIwHhN?tF1rqrl+- zZfKffreLt9<%hSOMKl~c4c?chl-CWIO|jM3v^85 zOAscz<5FV~&GpkS2o!2V!Ab7-Mc~aQGS-XL3rp{6v(JMG$@pAnp&nSX8tyxVPQmwG z;PdU|+;|wC?P2-bKo4=1{JdMtuoHPhQ_&I=Qt-}e39Aa*XNZ{I>!oN!LIFd^w^v!5 z#=%(rj6y@-0Pk{%R`_{QL7#7l#j~EAec;E&e0^d|l{G_77s%O(O)02?eLweoSVY&0 zNGiaw`pk`r4fXeImI3^(_8Pbj8II#m*=Aqu?g7$3p*NPmdTbrsb2=@7i$QO-*n7Y- zcaZ3~lL7G*Fd7O&Xe-YO&}tOy)A?-DdL@J*M4GAkN2d9d9h#*;HgfTyotQMcT`ngq zF^lpji~322`4aW@ILe5$=cOO)kI-$B8l}B@CT-96X2@zYR^JIPfz_H;^pQ9fqg*Io z{|^aN%7PV3mf=nk-j1p3WL@R6sMe6WJ4*&9ZZpqL!32HcT|3UA#UVyx!&V>0y~I@! z)gq^}C}-0ROtnegStOgJ8KM6vPVOK-y9?;p(@12P0-b!+f&zM)wW}~SCP@}OVax<< z94$9G0W2M{X-^DXNu0*gP;4rKbQ>DRET^xU&=5lT4TWfpLa5`+Z?bAiEE!3<@H@7W z*wl_Zoe&(}dsLuh{Jg98bB!TP9_Deqs(hTHAdWQLm)uhKw0JnM8a6A$E&{PRnp}s(#6GCK z4II=RrqGnd!!OYczI7&%9KFd&YHy7fckPkn12qTJ&lox5zF_jtb9kQSQ)9kY$f11k4Xmyi z&SWW#3~1#FzxxI>e!24@?CV?DOPiopzeaJ9Vper6%ZI#v{=~>e$R5La7W^2SDKEJ1 zle9keOO$x{U6Rpdm!X(M3Lt@F2z|gwyv`TD!_Sf5>PPN`Q9qEtu;qkbEis7Ix}On5 za9E+D4xQ-RfYZl!$-LX6>)gSDc2_)~w(0h-cx8i%`!tA_=mR0#`1e`x6B6OkiC?<2 z1n~WY@pEbLZS?5-p44A_^oWgdr*~CzkBfFsH@0pJ{<6K;d8`nNWL`HAyGJQ- z`C513GYA0A6&`4(!Czs)&*h;@N;J%ect$@VBb}pa%N(bml#r=&OASy$ud1g zWQ5nDepz5ca=4DPC}TgeUhxr*LYImmNuZtj8Aw$h?;d=g4aa!SOPNYIl%E4lSf z3#?E)(i)g$@2kSC4kC8K?Qut|a?iAZU}aJm>9a++hVW3L8{Dj_ONgiwiXU46k8%vK zWXekmN-5&UGEVz`K{+c_lMS$m>IMu1m)m8Ues`!n%9?$^6kw|P;d%S1fEFAUC7`8B zHvyY{vl~8uTTPd8Cs$WCA(WmnfdUo@1^_oam`4A10PtDt_q9ZzqQ|7Quyt35axl3W zAMO0z!FkvO;#WCwi&|n$6Wlj1-{9^_RP7oFsG-z|ju`W4tT)NFyBDLB5v7+s=Po3@9zIiIQK z=NnEW9(s4)Z$6Ufy)HllgzTpn%0Ig~-)zEp5UF7=35Y zZk7Ob$?>Q^C%uE;`&BOgw6Z?QG8ax~3))mI;jkf&Bqq7 znFy@R(p14mNB5~Kg#|RF=T>bk4R*%^IruvQyF0^rUly0LVHOQ=ey*tD)Lx-Vz@)pz z8Ch+AwE`$Y%I1}BUzQ?rV#7G{zoZC-8l*RAYLs&!aSO$2STUw z%7ivyDbkvc2dVKH`+>|jAv1h(xbr$S3}t6ps64Qb01F6BFyc=12*XJ#L@4qa7PTrr-9hB9VVE#|> zQb-Ob83qTRpezZLCnnXB?`q*MejltUZ+%f5$gDsASkHzoXfdTF z!c)lF`91QfjC_IDo?pr9b8h0?{KRU=sX`pzgU%U2HO4v^qDx%WYip4-mXa6r9it;1 z7SjkDB}xWa=|=oSjk$%U|F^^a8Y4LBSXW4bx`{GL4EGKX?8WDwC?{I@o;BwC^3kxb zuSeVy;zeWSjJ)hd^CJY0U1{A<>OEr#4XT9$9%&rhaw)AnW|R$a3>CeU{P4H4g}{N4 zh%Uye#YR`=Vrr|f=ydm+ikETnUF9^c1OUJAl1|meZ#`E2M%1XalyO65n<$ey2=JjahBY|Kg|6g;e{?b6X|pz*(B*@m#I+OM%*y-wwf`unEs+IZ(ar3n2&aOPSXhWxlL<8In0 zU@_pAV!1z)=2ps_QBR{3Tc7-9yS4@d|ZvpyyI7uVj6Uv4oqQCa+p$tFSFXxWV+b{Ow_OHSA z=Iw>*ngZwZI-goB8qz9-|I^LHXx>2PL7mMvt9r~G{J&etM#mUXg=_-BQ#~6b8 zPFvzeurUALq3b~LW@}_BU=qMjquOJ-(jT7={;%h^N8V&Ze2O6YwKb_yYa@CS3)3!q zuoDu^x+5~CZMr=*ZSKJK$7HDZItFCT6d;(P221a8p$gX0&Qa?{9_v12^82Y)<>hnG ztKey664B*Doib(M^Lyku^8xdsI}-n3p>1zb^iSs2bR!itGled`WAz^Dro9R=Z}TTu zO!rt$OmIlmQveBtMNC2 z6yZ)#F}xQ_k0j$|?ng`8Bq)NX=FPq-+7Rf>q@LBIL&oJ9fcM~wN&02XT8s>^_%8z? z^Vt!tt1)>yu!yi>GZg1R-KScNj2JLAc0x^7a~`1*?yPnl5rx3(f)iOP&LQ7L*EP(A z0I!h@0Y9lkRy(Ls%=g->?BiiwVF%9DYY~2KvtiiY%m~#1(K(RTd~u19Xpok-Y4Bwc z8`d=vJn5&K3N#x|;amZ#fWgdZBRrjsKq)W#x615qTNx#h`k2USwvR@&C!E>AX(SRPJP&s zX@1o6D*Ux^GD4mgkke>tWv>_Ld{BOU&sw`vSW?i;%Cx2%PaatSjn5@M!3T=vNEG`O z_4l`Gm>lZk6cJ2)92A?H!Suq3+6MVbqhEG96=+h#8D)KCx1)Fi&GMrv`q&pcWB)L@ zK?t`>M>;;Ov0pLPy})@u*;Cwif^q_AW5Rw_(f-)Yw> zBa0%JsvHbje4j^`+}nJV(F^OS--x@`Tx9)tabMqJy5ms2?TYZ@Ye^|bSM)A$ zWYvFe_6C!GU`#W)Xy2o!M-~gT8>fwtg_0gpL_C}ufCPY0U7%O=RYeDi;86~|4$OetX>)r;in}ZWm*FI5D)*Hw;^n!Cwd|2FS=|@^>xgp9Ibz zqo}?@9}uT6A~?h-qCvhS)^ol89?+JVb^07s782A^a;`~OafzKyz?W!}W?1@#J`?#a z)7dqMtXCECsymmyBZm_L08!~2ZYS$UKrFTUgEoRS@9Z2DSI>oyLyB&InCqp>ZbEHY zDcC1Bt;AfnI>g4cL5Q!$=#37qlZca%H~g+lHSThWKW2=&dmV1p(GlPe2S|TD(pBdYZ$|Xt114)@2K!IsjuNlDK$?gWR&G0RnmfW@|rv&-K$i)D} zG$*YvM^olU)HxOABR5%VTNM{r^d(bMUX+>IoqfyqpZeIFwe(nD%?SE}edUwPv1Kw` zqWBJ#SU=yEuQSLzhbiXv9N0~vB)Hh7-vXCO-$XyQCGAEg66@u8HO=AmUJ&^mgMGvV zdy~@f$SXhCvEZBbJw!8w#5T*uq176f8p2&T+*$C^VM;D@qq5HjtmQtC09wV@HH>?P z5K@~8?x}oxdDf7 z8AeD^AHD3`j%3(s6gcXCiHeB(U;X)Vv_bQ%RoTuVP$Oc&`~zj)1>un3SY1FI?o1h+ z=>KrI<=Zm?*p5Qq06(`1LbixD0NyS!*Fr@6i*bFylCH4yRi6MRTB$iuSO0 zi=D*9ywk)$!aRxG=c4D!LsP#WUnQAh(k|o8LC7_~=J%Ff<%A*a2E>FQ{(|&Zo&%BM z?U86zk0beA{r3jFlvZTtC$Y=ek40>m7CC<#MFm?dO|k9)^|2~9NoSG8^~Le-PoR%0 zy0^6aMG$E?muA>#8jn!O^`dJSMIz;@=S~6w@dmAy2d`LFok;^}xpU#8p0h9>i-?p) z&J@UYI{CiTLN>6C*`Iwd%9_)*vjQc+Gl|XdL-@qf-(X*HY+4$B38pad9Oa+!HEEKs z0CbkLh#7~T1O6#}4%l0=e-Rq$-WaUn{pzUc7}k*99x@RU#Qbt91~!mEsYrot!9A4v zGNI31Dmh0cx}b-}K$hz&n$wyR3Z@l`A891)o7GEW%dISCTTlcE+rYIr+Ts>Wv^=}S zYen_DrAG$Wfix{+^MViE-M>_t&v<-m_gyeazOeDva@h{ z7>XH-f#He+gD7_p-rV>3D9;x~7kBdsUSt{dWri?NT=M;(m4Ev>D3n?Zc!u<-oWNn8 z(au_9Im3Q-tk{Yn&%G5dGb6B6LVi^37-kMO$0H`OX{h*yqAq>ZMbeWm@*7%*hLf*0 zn5z}s9+Rq=m?cY7aOKo3TUnW1zex%jwi-|Lc=t&F=xl%Ruwttf5n*sM&Bp()O#p=? zCUS6luxA4c#O$7!KJ66F*EN6EHvIWI=cZSsV7S2lt{Ws5Y{mJ~$79S6UX#fx%bSoeEw)o_ zPxRT!9M&2da8%bnwkjbMMT!>@`g6jQJP&qwph)G)0z|Iy2s z(qWgh-nIWW2jCu;VoQ$cUk0CC=s7koUiZ#lOq* zKUKP4Ya~$Ldwp`u_eZd=d#jnTyyD|Ik;%o?7oV}IrbNlxJxd-0Rztc_q|Nn?T z&&=&17!TeuP`vtBQ|-;Z7TTqurQ7L`Fw~&GE;8=hIP`UaW(u_|zP>DiXd_&-Q#mfAE&yZm+ z`4|9h1yycM zNPCm=A|#Cufd=f?7ky%XmX8_+es^C=bb{G1uJ_G%{jw$CEfmdoJ;<~I%r)Iy?U6-FaVPe zX51TzcIfl_*N>kfZg0+K%tJs~&hQH0sBIX2l2?LsC8gER%wxbJzIU`mY>y_@5ox0f=7q4Z)f4$jIXT%G?>V_$Spmq+^02#yk8 zuQQ0D0eUHXZsynQw^kx5_wD*%?ShDOMS%ci?bJvBG@|h z!Dp!esz+Mi=`~=mr&Kk!`W;gEi@f)xPws;(v1(3{ip2rdTue!DOm`w3hHbh+x<{?&l z_Y0?nFIB8ZEO`E%pf#8}ii`0q*q+?V8oIFSG$FJlN}kDJeio$g>06IN8pcWM^#*&$ z@1MVK^$F3F4xb7IJx%=uoroiFwYG8TQCv*70P9BKS>97GW3?3slLDs;lE3$DF!cBL z=gEgEDbDjltL8M2^|20L;o$8IRwC{xHwZ3$?h5?pZ}^)GE6fR&=9&%~k~bn;eZUzC z1XH9Ip?JoqH4qCr?(FLy-1sS%(GrsC?dMF5*{ObVIi0zppHloj>&E<9WnN*BVq?Bo z^sGd!=mu)w-BA!MCn=xsXwN{P=P+j!G?l|o&$@=C=cYP*j(fn~sAOgD2DAy^PKG^J z@f94;=az2y(m~(j4C)3m&_`C&q*~x}kHv0$ImSG6;BQ=u7UB`b-P~8*Q02);h1t&l zL&FP9pqY=%E_|4&QU}_ltplL=SCI9l8GCJ}e>tdL1$|12(-VUfFe8tRyp5RLoURAUw&cv!c`py>eD3J zi(dBQ1cueyrQbJ8a5H3{ZD?tGaN!1k=ha{ur{)%`8H@pc*<5H(cwfzdutRe#Ng_SD z=@?u~F4kUMnN@e2fGK<;gF7{8OgMn$VwwHXAt|?+MV5WvKCo&Jn|zh)8j@p62a;0R zw8S%DYRLD_0*$BeZDTr=959otZCm1r|Jz*b*9<(61yfQNk()GS!&4uOVB8#`*4nxM zeu#xe89VS@WEojy-ER5Z%B|(-h4D@5@t4}=`Hc)I)C{_5G?jGS6=Tw2%c}Ygxl=F} zKfp^u4DMH>?Pj{0c)`5ET;}5*NN7^!=jdj)c~&&{Ls-KLzTytP1Xd#SSY2n@OIK>7 z=}CtcTY-gap_=Je2?%~ClDfI?KgFY7Fev0h|LY92DfE67e*#vAz9QacCj3g)CS-#bYQXajdf?eHk=>vrM~mD zA!=0iEd>=Lx;0Ble+!$V^foXpjB`Qc##)i*+1q0K>5}Q2lxM!@p<=uEXR~vG{QBM$W z=-diMUe=oi_vQWJJDlPm7J{f`-4r7z3Z%2LkBS_M(<<;Qt=k1yta#A^(%g*|7f{(J zqO_}QqU&Gy&l*61j}oE}3U6PsrzQvO)?gEbI67LfTo%cZqeLUv^xhwpJ+5 zTjWPM-qQ_?vj_J%OHbOG?a4+A4o7FCKNqcOvNVd71PV$99Bw(gqOoR!^J0)jbW* zq+dzLsq3&{*f1`umIk?5ZsDVa9V_yp;s24L+u^LR#1aqV0kb*jgEDsT?;qQ|Q#cI$ zZ`(O!7KsLN^OP0=QL83{sR?qZW03Q~dBOz}ag>KK1rQ{oBu? z!Hio^;6#{mmJ$p0*{%B{jz&c6@k5wZyQC>I!%|=*bE$c55w;%iHrGi$&T_esZs1~| zPlH#~;qgG46(+r6#=C<`@}Dx8;87`-eH<|Q3WrL8YZjRY3!2?F7TzAQIA5|Yc3;!P zXcGyT(Mp%0+-MRrJR*~vgbf(UX#aV zF?mwJO2euD+-3{dYl<)BJP3ZkHF)HS_|=a>%tITyF#>VP9**1Q`4Q*p+zg6y$1IsK zj8aL}#5CN-=?Sw)xgV*^S=g>TMV`i5+}%xgD^eWF8KF8$>wFkwEpHNpTH}61{uYUB zTUkj&we}O&9krj(?ceQ5O#S^S@vCY**6^Mwyc~?C=L3Hhgwm(ff1K9}m36<*q#SDfi=-2HCf#6o`cp8e_dV zoRS{Fm_lTCIMJVfMwksKdXSmsPS_#TjjqfltaZ2M+G14Z&dWJxo-k9ut~Pl7;qJls z{gNUCj|=C$0Zn+sSGpqb4CD8a){dZG14C^Ug`gDi^|X0N2=DwD2;p%*zfZY`T+@8i zFZuMsRuV$uSq&Jsu~reRNa*J#$wnBN%s%t5eJz7-7g&eGg<0A17CUBP^BaMkQ$wC+ z(CAfIPIh0|O(hKPY8V6I=lcM0mKYQ@QIt~3ZX{D$$x17+)Ue0E9p#8(2=XZ;kmYpS zN&7wzW6jC}_$g1e>^`fG={GVMxzj{O0@kd0%`4gANs<=_4yhAnqZj$QydNqrZQR+) z>`E$}8Z@Q_bv`T2Oqn$qv1&HZO9r|VPdxtcJD8OH!$QZ~xD|O%(`s5K9h;)ARcm*` zTutJ*3B~(nfunhEXAZ{?;8HecOtx}?#ls&W-HJp=l8zZAqtA;kDxEEE_sP~w4qvM8 zx>MR^e()){ zE9!yAz*es)<)psA@j%~sR`T6L*>q$!uEEX}#V9w3Xg5~QX9YBl3o-4UJ&Zf9(@ZEU zXv#Qb3`G>c;8uT6xpMR+hV>U1bFA0;zLuxbRy(S9Nn!FhLcsK(_2cp2hLig>*{z9U zS(op)7Fs~_J@Z{wy@)9Fq<7sf$nsTTF99PZS+{{dP{`Me<94#AlJaB zW79h-kExZ47*k&&GXx?PJ!ktJxUndDu%7J^K|a5ugR3$igg!&^ghLmblS6#lbT-{` z4B|>I)&J;o6!nB+NhE5VW_OHf{S99B5FZ!2mUSf|5CtGs%z$KB-bZ63C3kEC5wY@V>K?3ARL$uTn@UC)Pol!vGNkw{ z@$J4A-dlOX;C#6lH3rctBcb<5JScSqHm)yXSRZwbWud*2d~_WutEG@VOo8OGT8Uja z73O;9x#|+k`Yh}Uk-FQ|^4p5!G(q`A32j|sp>RrLadd(x`XcTF91UC!999lvBP~j0 z{6LS2d>e_B*Oj4oa1JEjNS6cU2HHu3+u-N^pVBP`r%t0PoTPO-n(zFceCRzX0QU=x zIDaxL+v728WU~20VXmFL8bwn*w}>D13PYvjTi!#=NpcqJh`zzENMf#Qu1Ne<$=yFBy>y}8fzxIOW)eWY*@KlqFPL7KqDOzlM~BVb9pJzK)31AE7=wr zY$E#B@Ytf2Fa~exwQ=Nc8Da71`k|NTW|~A|4inx{93K(Nrf+}+fMW}e5-(6*_dM~s z-yjFKeDbOG19`F((iBaJtS2k7$T=C*oul-h*JGgg8$p-8$vZ!IfAmca&q#|8-5gVK zGpurTX88Ri>Mf@o-8z(s9lzVW8B=GA%%@hT!zmT`lU}8dd{ZbnOSdFOVPH;D;AJAE zQ{3H*_d+Z}zKQE>7SD~^P5f6k zQR28;((CR{E+Wbq|0*sei|zvB;o@(fv9<7c;(IKW-Y9{L?w*w4M+C(NYZa`KMj$Pr zi@r#KRfEt&PFI7tZ(_tNyq=)kAeh=drgB51n#h86;Ee+rkqghva4d&v)F;`v(W~dS zfrUEZ((|m0Wn7w!S25X^^aW8&GQz4s9xV*}P zXYUl7Z{qnW;4-Dw8KthqG|CIHzG3NAK8q~MK21&ft{|DOn3*G7qAnvjq0q9!s&8Pt zpSN(!-=iJ(%{dF|FCy4<#@zGW4(|a44vVrG*$_B{lxDHp+Qt*Sv#8wh4ay7=)nC>6 zO0V=z5}4nN=lFE3fBn<=qWZl=XmyD{R}l=jBecb#s}wT8Bf6nd8O;m31tz>@{)%3H%m12f)?v6f(7)oA^_?e8UmnCQ`mz zJC;Ogc`{)zgI5lO_}->VE(#Pj_hv7=zdk8n{c^zI6{P3B^Ke0` zrP|3~iT=O>5k*KPOFCH8{3j~hLZt+3FVGWHMBmgzH7_Lw3VYF0rb-X zL2Sj3+rt8=O%5GJc*3L%9*1rL*x3-VrcwRp5he?-O6VF3txS&pC6>-s@iLw*-qE?Id;U7+(PE=A88D^ptGEj%oRA z!bc{{+03KW)_-7#zd4Z|it$R;mpDcRauqce=9(52eFnW{PWue(0Op>MN*{hQnuYc6|H`S*>U)6dy@>GxUVvmTr^x%}FS z%;-H|`Bgj*5votsWETEdTcJ6h^Ic@2#HogRXkF{+1G|AXPKR&L)f~`bEw6fX51;>4 zmPEbz2F+MVR5lY=H_3k|O-3`F#OkA-=9K3Uak3hftkj)ZUI;V*si=2EY6o~vb~Sz* ze|3Lw$lH!Fo(DIUtrR~&7W|i|9x*E5^(}Qo{3@LKe4QY>$9U!SjgI+A0i+}Si7m7E zia(&3kTb_qIOot6_DlD0d8ehtKa1>EUHKUzn*pXH&s@8?3J0ZM8F?~=pKU0*T+$!* z^*g7l_D8<%>EC>J{WIAcn-!`eu0K2{yqOqJL8tnTn4=?uAAQ8UI!jV`%V_?h1wKk= zUSYx!ej?!>?I?sjqAFc?b`a(-x|TR@vKr5EsBoQr|K3PCt&-Tm`+rG2N%o9+8X>M@#4 zsL}O&8 zreKi^o-4-CbJL__duHwxKQKMoimVT*xqJnTwsq;{gPV;#T^M19wrMI`l!ep;Ntslu zs_!}ET1sH3ajZs$^lV~IQJk&8j2ED)J$#7iliJq1j|oxG6yI@8XJ-`I>-P$(n{|K0 zoPqv?2@4o``KxsA!0s&t)sQ+(zUA0PU=*Jg3rMeeTLzfusa&%>_9{5EnrB4&zwHkg z4I3T^q~j^Igr+9g8v82MX{z+x{dq<$kgK#;gN|LYEgj*gj|Ee+&3am z+9yv!bXq;=Dc5|vGN-n>ugn-tOAOBp%$0d`D>}c0L^j1k(4|AhDghIwNO&0F zl;c|_=ihSH!;*KMSl&aZ%>W_5D~EnrXiN(w;}7ZtPEu8yN5OQ7r^r4_59upP|Ldj~ z+NtbD0+0Z88xhNOISR#PT*7F@c&4H-Jv6BoFXV0kGnnZ_kp_-RZxaWcHjAE z_$Sll+9fw33v$Qjt`G~V;(WFT5=oPZ^0AQiIaqan9pQbvd{1&}4{N&MN1ld4XY{N1 zz}zWP@;tWNo@guRLQze^!`;kgg&%<$t>a-`f$ z@59-2i9wwzC(Aw&xBA8UXh@E;g5d)sB{$G4Woa{?s!Z3!vpDcG7s%b)@?;0f<{Cb- zNd(_Zr%5k@H$DlrXwGaPb>Erc{F$6%Ea&Sg`co2{lbBIj!VZY?Y4Pd33=rKJy2<(@ zHC%{hjD?Z@ks9dpUW(Y9SXSlVc1F~WzLo)mzmS!fq-SWcGvK^@d`j~6ds&HqmU0RI zosFzT21Yc=DhfD>TT5l-?J3qx!%i(t%O%qoxh>`^*R zGkjsP-kw|zi9y89g4mjYz2`lENK#7{us6`>=h)X169wt`B=^7R`1(`O!V3BSeEk2) z0_>QsV@Ct%CZtcEoJ6*1FThb0#f)*{m0vVa1v zcrwXf6-bB9%9KTrVM;vWZ9&`+o)gH>zE~UUDWjPj|T^2rk=8v!6mj{yp zloDRoQ&OkT&Mq1(+svIb*CfCxuT)heumRMhT!rPwg8?}qG!_!`Xz zVb>4j$hC(B4~NACTUmiXko6w|f#iyOCs4oq-%7vnQncM9-tw$5YR!+2AN^`0n;dkcb1s)BT(k&dh)x32=Ac=H7Fl(zXay$I5?+4vzR|uL} z@JCa;3~p5E1G8zeDqUT(0f{H9EZ=v#B_2WCAzVCkOUa5@Ab{+RVnYHW33Zn^?NJkw zcn!gH74_+Hws;Rq5Msjpw_(1@;tNm}3nW8y#%i|{{D&lw;f$|8+xMzIZ9*i8>zsZ} z_C{3Z5RV~x!i!}kCFv< z%iBQn#>}zR3Zx*!AIOd3T2VXH31`FP!x!kZ0<)v(M(&%=kUli#l8W}`Js3TOQ7=_I zhyHPvem4{*zK;AeEil!l$@Og{`pW&iKO-`@{HY}r?}}~UPNrp6a0Jv@JyNKJDst~y z4%d@gK=m$jEV2OO$zYsOZcMX)m;beqcRFG#P)n%6Kh!g<62ZqsDBhx6E|Yj_QmUdi z>k8aEp=^G|5geARe@ajVZ_K(xF$eIAd7ery^$uaz;3+@F+v|FBifT5{%c*M$gE@Th z_$3j_CL^%!$WHKiPQ~iy1bibOGDFtdkCj#LexAEv54s5`ly{bchp>t^DJ&WI(50$pu>zr_V@Sh|U}#qIhx^f)DKNjUp|7w_Q3h=Ft@y&Muv zwxv3oT((3SkM-A4pSSYYQ6K+xkq_Gu?4v0fdK*cG|Jvz4hPIt%urXmA1=i>B61Pn^z@}xU(2M+EV-O76V9bZZZU6fTX}o_Y*FvN?q7#%eucCsB)yF}uO~!cXJ>+0-`kY)Z?L6Ykkm zr_gnkBDuuUXSe0gL6n+^A{+Ie+ZD*lpEX;jV%S?w zdH>#DB1Wl81~C=qF=%PGT~-uPdqdTxPc+#zub;ZxhFd!HdK71j6~y}`7Cq4xTF@-W zGuFu*OLe^HGt!6ezT z-`+wK)!U3Te{X%V!-o!38`()Zgaxtia zJ@`D)cX1M9mu6PBkl$fQ%6Ek@lkBy6m5S|5WFHzzbVx5zKg}Ob&p(^Twupe2OWyc9 z8Ol#~0u9|HSPMdD9@|xGyoQ#JfNf}hjqE)uQ|%rc&O;nN?c3|NfA1+@OTv+hk_9yX zU#|2Ix^mRwPaeEa<0#^Pd@VrI7=-**M9c{GhkLOl-3*+!d{Mr$W$>C-9JI^rnYz`9qL3H=tP7e&gTutr(X}WglGPAFmceO`HHBz7$hH_SYK=S6L@%Qg0GrrX8 z>m8-kF3keJxW5Y%A2y+-GxPXfz7}^*F0=l@Xtn!B^43HAP!Fg36{>OzLbLy$Yeqq@ z&f1x4yu#w<#z_vUoX7+njNl{JBO9*f4f>CMy}n=qxC}<~{qq|=V;Pd5Z+jUOmybdf z3Mdc9M3w@OVH!#t`G6NgYGh z3Y+0Ah*>zRWxvUdy$#g*N++jA}fu_>2%9>}EM5E=lh+eV`O zw64PTHx-o&*dwxX+VnYrB=|Om?Icx=FVvPG!z1~gpv;dj5(;dx#-%tPvi{AuC{(kt z<|-~R3WHo=NYI?eZg3kS+4A^>!03@LL3jODVAid66Yu0FsC@s{whOZCWn8bm*+z3q z+RyTT#r1rU>IvckvS%=BN1qZ$ECh>X8<2+|J2>dVVdKg61(7Q9#yE05rY}Y5O&>t< zyuu(xV0d@krv?x}*WJr#E@E>D;TGo59;8^t*eM&b9!@V3vsgjYpBYqay;SxL?1RhK zu8Cd|P(q5dr5yZzD0(>E=;!ArX}m39EYJ-Cb9Fna!fQk)Q^a$hybn~VE!01YOO_Dw zKmohT7fTfL>3&zyd2Ts*e^E~$SfaI*m3f%c1SYaqGyza)=6`7Et~Ulzl+E9qAK2_hePk$l;oGu&4NneJT{ z{1^CC=7IeMmKR?RWNr9m)b(8_wS%c#D}n?mXbH`~s!b9HT7wp+@lAac4GBCOZTx2E z)jyV}15gPg_bJ%l&ZtDyxUP2e^G8tn@*swxl3Qi?b_*UGIR7lzp1puq2~y}kKr2d5 zK+Sa!+0GICI@1}f8L)&{`jPI)1>W4*Qu7)K%1dvpNP zVw~zZ$_PXZM&Id4!Il+OGtBXoHtvFNg;SYM;_GE+=v(g&vQIvOV{+k%0i>naJ9UR2jB&?lqeLN&K_*`Q@edkq3K6l6Y67vSDE zQ}w~652sfk)cw*VTwP64#gkjl5&`R>ZC?VPB|5d|&v#xNw_VJ9RJ(ZJdASRXyD5E% z;cZd1gt1ru@J(z2I{ou9f)r35)lNc?A$52`O3sH%z?xK;suaSE@+gFtU(jc0r`vOg zr;o@S7m-rgP7Pm3SU=$xFNb<~z!B0{GFv(n-p+tgdb-yUIt5<7KKg1+~+606(CoxbV`NBLC1H~?CVpGf(}eWvNZcBq5MM{I~Id|Dbk^~ z%2nb(vam$foEGp^p}9!r%QEMdZgQd>f3L(@1Ve|lkHI}k2Cg9-D{JIkg!B?H0_fVk zr}bDecv@U7JG>{3t?xR_Jzr);br9_@MX9hOLs8N}YDNiFHU}Bq4^BCi(tPITL~w#E zT~V6BO)FFK#k9B-B)ct}I*~A)e#qF!;nR>O@JI#W$&sDYeTjuiKJ%YoM#1N{Fh!M6 zVbNa4;^lFv3?xc5L~#zG{Z`OEGlcJnpkSz{OxZn;Ms^@ehH?&0p)PtftC5X@0@SzG zDwH=OvIaTXK5JOre??$Id(J$b_@Ka!ZtD?Y@wP<-@&dU!X+N4*@7bYC@z4+#@-^Ha z?NvFu91bn#!(d_3xG^*~%;Ml(4Zo2L#@u2I9yaR^+oVmDW?7Rq8Ki~ejAV7lT#Qb- z*?H#r5khz0`H66PA8WeFBTD<`l&8XaE+=^J{g|9px zJ(kD3Epzl$5_Ly0QYJLV7K4rz7ip3-(0kDTHdBgHcL>VO*L9V53J?q-Whi);4R>5U z$m_y2ke8V9Q7$>JJg}VB`@XtL{&Md?&Cde(Kv@?$CwEj2ac2~Z=NR}2xS-E-i!=+1 z!`@oM=+o)+%rApZvA+tgA#&L?;D2#e2#&LQ;~gUXEvyn*aOW|)3e|;d$ybHxh-+TF z7f)ChBExZ;F>D}umU857VG*P>WLPOy^@?H>xHh50IyPO@bi@2#lPR4ft%s?ocW9sI z_GWUM$?!&MrPL%>>M?VN0+1p~jKZG%qfqbM#yK0xUN^mP%##q*)rru?VZ%8iuq4~W zK}tUa*QWFty#-LDniDx$T z5$M_2L24e$6vv^4QG&I($wOIYtH|L?u_;J=5WHCdEBxed3bL^r0!*mMEm8pdtRgiY zF5C|oAY}!lLqgvLoDPNzkZVVi1$l_oyzov3@q)32ct_8JW`c1gK3yO%EAx;g;4?E( zCu{du7UOGO=X(fde=F}Xj7bv-?I%H+0ItX!CUvIPfTqdt^M&uy8=+)Nv`*aKrYG;u zLLQpEV;eaLdRq%B(ronu5Sbp>JRN(LhSvs407@>f>;swyhR~RF;9t8u^vs_he0W$a zOa~Fj%>`gXJ$gR^jYS&C-_)j%Da)_2wA*_YeYf~L*FK*`+bSf^`OP3w1Je!VEj!gktq-4#Raoq) z9Od&e1Xoyu$P@kS$%4Jgc69mZ6cyJxYC{q5@=Ghn?R?&6r7*%`kt8EaZlw`qAl>WRnUwSyj z3B8AuNrEkN7>CA(#kJ?Y1j)x54iWHrtTG2VGa)A`hxBW-%PoDiP&!1DOk!RENP;%L zi=~$y+=Q_ndv7E!-ddZlXYGA3@$=kcqG(h`Sx_EQJ*ve}N)O51`O@I?*u{M&U%p%K z^88(#9TV&^6U^d~aB7-O`Y~_ys}Y6=O+~B5XxN^uyq~_v2@Pk;vkY4h5+pt$3FV4dn@}s{@fMEc1f2_meI=ggGgox$g~L@EyXS`8 zLYuQ!S}B_7?DplR^g+d+72D#C-6uZ&E}QR9eHU|7>%{9c_`HD8pCrB^z3_q2E8JJI zKjH%|ub&*-9{$iq^JoHGvqzr6%+B##-O0_5DeL)HOOnIaHm6T`nhI4HCK6|WU;W+j zqaTTguD9%b_w|kMrt&zxNU_F0#G|PAK5fmLJR+C!{#S?>rG?Bq@mfT)JGj*JIV@j5 z`8*A!Nzuz%@qzcZ|B4Q0S%cYi?GewX`?ZQTp?X9*_iMM4WfGcFOllVedhPaiqNthc zD?d(-X3_OhQDD2XAT=_S|&x+l-#8CjyUMC z+erXl>Q3S*Y7edhJ^Qcy-GY+cWYi;@1$(pB-n3?3%Eu|3z|P;)Wb`2BUtfpXI4O+) zN67(CC=w!wIpI#(It<}f;#*CBXbwa(V(_VELuTU4QPdFCEU5fQ6&UyiVVz=!x0~c$ z^04q%Llix%C{Nm!fl5(aCY{5DWAR>UWS^mJy-}6LNX0k*#FC^IWlg2-9oPhXe}_Wp z>9*Wym4fQELxKMzo+LW>BgbfUs`vxU-by~|odg(m+3qjP@QkiUrKFYOvx7&&6z>Xt z*4=3f`-UG6Ayo$?&%9fqxe-rsccZdU$f+i8&QP9S{U@bu z^9G*!DXEUr$G}7_fgBV5$j%=aG4b|w zfV|yK|FFc$p|o_{pnTuN_l9)wFA6baV`DsrVbr`rZzES1N^sskk>knwC_EY|zAOyQ z;=&7m4{vCg#dT7D>i&VeWv@~ota-To*Z0&j{wnp1aSdVHMA^wpUS}Em3s7G1l25~o$FyY%uDrac!#wZ|TUEJ~Tw?Lu8GdTKM+7)CQ)gMM~KOIGi~(&2s| zQ(8KB?w>@)ncmDg0*A^hh|pj+;KOjws+mX}0@M+Q%$zi4fga^0nw@LUQn?*9vY|!w zi7~ZV#c)!nB5L#}%f%ZUJJTBd(H}3fGXzV9A1rHU6Pa#0SZCm0Yd(wy{*g8llv0>VDDi z5!U+#Yqau|m^PZB$w=6hNaMT_-ful7BE>O)iBHjHw^C(% z1-;;YPe^~V;R<{8n8153H~S&X2(c8aAwggc=3KV=u}pY5G42XpnP!`7uaJiGR1F^8 z=v?M|^`dx+^o?0usHeo-&+trY%8I}>N8ls~tfp<96hsTCa;h1TxU$hZXW63)K25xY zSS?9d4UvfpcCLIF_pD3DYahLR>bT#$&FP~0Yo%Qi7|W^7I-D7tVPEou z&AY}cx3$v(bVy7zKN0VV!-!RJ;#uD{<@R2G0R)NFfSR#fg_ko`x?$Okb>d!aeL|h?!tyKi z&-MQqF7PAbHp(x~?QvS{wg{}kOa%mVbG2sAOSbQ}W?9WrVv~iObEcSQx7|CgjGr~A z6FaP9DAR^)xM8fR%+tMkWnP&op4h9jI7DZM#}{53-tJJKm4xg6r`|`35Dr9;Sf_Ms zt;#s)OAtwY`iF<`IGx}2{k`7T=@6W%&gX?T^mvES_T>0l8xd>gj>N5F0V#NC<`jQK z3C-PmNUY(pS=#a&pJSm0q!KHTK#1!>oRs57Z*2-6A)y{LGpfMQBJb0q1>ggK3AP_% zV}}KN{mlUtwtGF}n9+p=%^-60NxrZ-UNvP6Q8@=$Akv2pL!o#=<&7)%>XyYoefjIr z=P>&EW-#9`n?-SX#SHb6XnfRzPWPn)R0S4Gud1^}h##g*Jz@*}_~3gWWq7@m&w&7_ zrXZ%pCp(B^Dr22Ie1k21P6!PG#4#kyZ7Nz6)e`6gWeJ~7_yI%Tzymj# zqEL?6w)cgbxbg=MBr@&hKBdh@t3uzEu^sSeBWAXCK3M~T7AXx2! z&{}Xk!+Gx9>7u_s$1%KnylNIaOO7s`=bZaCn^3I&ks%iy zi7V}kSXg9Yv^_kOVFF3@&keqoF9~=aJy(gpRQ!?sm9Djc;rCzp;q8osChkh+1>NF5 z@`IZmkkCBy6INooXbLlVD|2zPGPB>9UZQ^lGFud-hgr$j82oL|l`h_0LO%Ri80e0r z0x200>_Mp8g-s3*-AXCqN_Lq{QLW~UiLq$@ot3EywIqlUyH*-o!Sq7Ycv<|hUem4W zL%l9=^P{1#>A@`TS3s&CZGk*4oDY;6?GK4oM!A?%kq}CO6kpW%Oz`2)@d@v+#LE|K znMiatwb*FzZEhU@I)7wG&WC@?had8=6_QAyuoLc$uLod-KT6l?K)+uSWaGjcKkQ^a zUD$=_?d+D<4stBisG;@=^WSa%80>Gw<4 zMAy-Ur`G=)psUNw!g5N36@`c5kjTE1s58uupC&WFa%f?gJ zCyS~_tKeKDzAJydEm-!q44O--2|mGbLjoUJK8uLx+V0w2VcSFBf+vreBfgy zB$r3j4l+f&Cbs#ByyPBra*W6mG0^)kQzn?%o@&ecF6CRFZ;H%yje}hlDOkKNXGEN} z=H zcYTXU^L5kgpA{(BqF=y=t11AN!r;G z#o`Z({#G;)-Qf=B@MbMC95`%lh~Pzs=8fanh{k?Lh1m&?(PX14h=xp&+H(|O1ciC( zx*&`{UgNs+?q1QU9Rl`%{1=ftJe?sq7-nw}9jn5K$I&5W{IhK5(j^f(Iw3nod{g)R zj%CFj0aX3q!=BSO*Etu_ti6o^i7tJH*3RNTp+d+MzA`h0koPJZDlqEnI*I zoBWSPF$P(ABaCNte=c{E$v%SBvir^J(VX{^wX=r~d^QhA4Q%MJ$A5D5iaK*6!*(#W z>T)5L-^uBpc}Q*BrOq%Ns!P)1Cm1+c7j*M~{ci5U1uIYW$wHNn1~k=>=LAK(3RecD zgvvL4>(4$jM9#!KNp~`GsEq|a^X^bDSdjCUjM1;vbDmZ18i==}m@Bbh$p@P^%Qe(F zLxY!O18BQkzEbaI6&ZRB#VqhwaRjEA^)Gu*#HzlEn-w+S31uxW0A=yDJJsBGYGzK& zYwi4xTX$dl!6vwrk!ZTm?Ggd|dQlQK#`UzpD~{DC1l3BI7f=OeU{Lv? z`2vUWw_4sBi6D1vU#xvwXl=<#T>WH-Mr*H-CW)y3}vMOjD0#l!ZJ@`C}Llw@=Q zT~QP?XVKWfG>@fVH>BQ^r+{vP8;Tl*@ptBc#*g&PEa^Q&vKcgf zKP}S4fn9Oyb0!wW1Zc932kO6iVK&F^oMtaJ6aP=t8dQ(f@R>*~Ena*k(F3_l`h)eV ze2-x0AgMF3Yc8Z<+3<@c_lGmXaTe58ObnQ7uLKJU*DTUNshh3mYzU(&>>YZ+qC90{ z3!keRnG#fz{=W6mQ>}RNfw8&df`)|+ zaubD7L+64Ht+Ldy9zp>0jzsCG=5AcqFLRG6*@r@~hCKS>yeqrrvRLy6(nU;dT~G<} zjrhH`s0$voGW)*NOpZ{`AW=ngNP%!(@G&Vp(r!!^)t$}2VqeuwRf}FMuVPiub(wF-d;u{4k#LIxpfjhTE$B z0}uxWFXO3jSF%(`C8d1~JxK31RxMyucxUI{cr90d=ikVvfppL1L|UK77!JQ?iH1dm zxKV3H@CqJBpHjx7k=znThQ=r}_F)c2`E6y4>6qbY2!4%5`_NltV zd9nQ}V%Tw%a#S|;TW&$;aU(}}4;BV}-F>1z$MVWvk^L&m9XS#_c$0#${Dbius)}x^tZr=BKWmZl0 z?$I3aT>`l;mv6~m(curSVG+s~hu{uxLw(IQ-uV4>^|sQyRIty{Q&E6EbN%snNWBvC z^dr`#1-4Vh4|#-mRyR?z=*P;x(l5D?KJMN%GxY74%4YV{J!$iV7`Y$pIse7@W#W;& zMG`Y0t9S2tl!1#OFvz|KqambRePC{4U0Z797=;iQdt_Qjd z`|smug5Wsr-qG3IzmY+I{tJBYo=$7j^_~9|ZU8*R0UU?Ut?f7cS+e{CHv~}%Yj|{F zz$Epgt38zxVppJ%wT^XBpTL(chk;Tch@V1R{FI|xs?ngNL8 zZqaj*9&cbp58?7z#xw)ag8ij+E;J@2IG`k1*u_c@bbwyTp~1t(a4JR^;Fzghea(0t z<+BLbY|G4&7m=qU``(LJ@B87Fc%QSD#mW6OIBSE%#OE-HoAr!jB>2GW*;E7IoGA=a zdj10bHB10tenQ6k{P6+rc6-$Mo|e`kfT?tYL0cX!L;4OGV;(8ogo zy_w$KTD__ZjWPt#_(Q-2xw*K?XcY$j)@~pw5CU}WYJL30WQ8Ab2I%~B0yBSj-2wwU zz&YCYEh84=djRCQ(zcFk#GdQL8kavgC*X;6_N@a4qsQ5!XZSyWPmT(Bi!=;BfU`_o zdKNhi=d&Q+P$74y2+ZUSiunQ-2o}7YG~8pO@DyB}>l^6pLHGe+lQ8Cl&tKV5iqQ zKwO044^Dc~fjg+C+eYvP%FRoR_pcle#URjiZC~Uq3__+5xG5C9#IgON;IwSQm#b#4 zBtnre)zR-b%?x-BFhNGiu#i3#v=E&^i6A&kpQt@4yXHJ@! zP;ImL6HqI~;<7n+nJhCDv>Kb>08lt^hMGn5)@M2muT>?LpVbaD*5)s0?&SwIA5`OH z7Tai^6tSJ~^p3O^J3@AT`@$P@VGpN`a_tw;%G->swAXm?7CziNQ1<)-TLAhTHh_PO z{Gm|T1i*16Kn*hIT~wZyO`bP>Vyf8#A|n~8i$GqIXaWlLP7V^T3~rE!6=U+I`ga== z{9y~3jX$Vq+5qnBx(Z(vHi&LPr>2~RG-VZ_!G^lGZ5zXp2A38T)H%{`+neGj1yy-E zcR`yl1l|jX185A^>CR!d+~GW4OM&PxV8(HM@(NViPXT9$hOS3$yahs!7U66dT%%__%l{czq-=$wl!$A>8nUcp-+X?z8k>@R6X9|tMIy_5Vl zPShf=KTRQ`IV!6J!~Qy09`ko6W`VN}rbkY5 zcEG8-^@oDuo9ELx7BNH1Upe8v#ThK^l;x9#w`&PF4;spf!CvNa^URzJbaE~uBTm-! zk=7oqz*%(M++9i>^7(yZ7mA&YXhEGXAiH$yTYt(d8jPC$$g9x-E za+Envcy3Jq+(xV>f#8YO@rMVRvv?&9q51f;@xx!bai&%dM38oMQ1M{)HQAN#0@ zpCn8vz=GJWH5KSCwPDcLqtXT@n|Gso6kn5h7}OWL`Ywloy+}(9o=$`*>MLdl3%T=#6xwm&;V1o8bD??~X_llL_ApbkAfSs*-D-`tY#^>mB5_ zA5q`lfzFvycipGl2a;S*BJhc-p2`ss;spxSn#w8GJwyr0qtAYrfEoC}KrWex7HS&bjVa9~Zw|FS?%2cvtuiZ;t;G z8<~kuuQ~It*w^O+oZHm8Bndi;FDSl!ux6B(TTC~ZcNdw~3j^)ooq_YaUn7$%kwdwq z0=yv-PGSPj@xNxtaz1oA0uCvj8rJ3=kCW3VBVq@74FAi7p{*J%b({-+cxB{4j8?RRy4`=HuFW_ z5gzFX?y?A({4Vgh=iUF1hU~Ic(6-FWdw7|+Jt{oLFza&6z4>cOu=+5LG`lnQGNmAj zG!7kq7#V*!^fDVd;7G@f(+l;7z%0FJWb}TSurOS-#4?MKxkX4jcw7vcNXRK*4RAnE z{UGwCel#AJoUOFUoW~y&aAlUs+fQG1xIx%v4jTNg8e}2S%9Ik7S9$wBzeK~;ZNg1I z_XJ)B;)Tg#X>`YD{LWhr_dgFmp5F%}XZK8j>y|LEpm2fcrqG3$uitRp9dTV9cwu19 z<2`wPGgRniqg(2R)s+?O)v0-oV08{4UcJ}U1Lt_{Q?h!eM`z#}w}yP7d=nw<0%^#M zfyQLG#$Zfl(eOxN({We(C!$LZ=yZ@l_*$OLdwF29StmhD*dwROLaNhq3J=6-%uOlH zM=62=Yo75eSl*$R4?c6enR5K7dAZ5&2BAwN>M(gYsS$ zIv87*oNc>d4?B58#@&1{ygUXUW8NiQ65+B@LO;LXLWnz%(Fp(oEOYm=wrHLHwbRJp z0gZT)vebu5sxoi%>?P*RP&!j73m)e$t=;!BmtSshFbrRJe|WCnIAGbHQzYAu-_akU z?hwy>%?Tt334mh>ADVS)~W+#+=wQI8TxFFp--9E*0u+m6vn{jgE;vzg4S zLRG5>WF*hw$kwx7I1k5?Qrmzmo*Yc&3c5~{B8=$V`c;sVP9WapAo9=4D9?rIwjU+x zpXuc*&J}sb;y$mDAVhD|$;>*WDJ@F7+#vL1)0{C&7%27jU0^f0OeV{>yK2h3YLdQs zQg1uWbq(Xfk~}1od^hu{q^jt=@@tw8+pT@av^Q7lO5I4#2d7XK^6N0cR=PuV3mV}= zfOr$=2;CmRLrX#&?l*U3UYwwYcBc7^c2vIS;clC|fO}U79beMOj9<1$-l}124QuGd3tOOLLY5_yeU*OS@CBB@ zoAig=;}QrVMS-D5DmJwDkTvX{Q?n4fe5-ZO$1aQPI&|$}N)|^%=XvbnIk*Kc$rpgA zDL~I9MRY5LFUgqtEtp5*AP`q;qPMV-hfNHRIVt7Tldyn@0*j6_yDWwTLUwPDNPP)A zh)i2#_j-QuW?uGbXktLQ6tan4!IrfI27k-;0Vla;l+&ZFYs2ES%Ua%Ey^&<3so$Q38(5D>s|Gw-9#Ci5yO-YIyQqv6%ip19 zY>hSCKgZb3DMMPTtoe3V z&?ld~`yxlMnwXPJ`j=_3nzzS8iFd|Wv_}eDSdQ%<<j{DvgO1fKIU?o{4+raHi$q#~OgRXRFfNbiM z;9n`zNFMT5?JN)P)20IKB`)JH8pKfuX%LT-;1UxbnuE<2br9Qp6wLhLoA({vNWvGs zn+(k_Hl>aDOZ>9gcjAYa?V)DtmPKllf(fO_zwx5Xnn(L_+CRI#w3LmbS);pquPeXZ z?$RcMEI>iJQB%LTkLy*^8h532mZP0^(ceL{;APomOD6R#G-j^OAC{4>&iO4-@lrwJ z=-rjwg!ElJzI?ZUwd7Aa+FD!^Na6s|o|eXGIc* zKYk^i3XPCdWS>(rM-%4T;;u{eJ@>#gvj5Dy?>s)P(2Ks}Vu@&jy%5sCyz7M9e)yU4 z%sJ_&Nt{~KStvoK&roa#8-+NBP8;vt!@J>!ZDmE>LaMkGX0NKcg>WC@ryOTa79J@BI{|G`RPZbcTgI0sq4-xCKLaJkjh%?o07d1vYp*>CcKM> z$F^8(IuB;iWGEe$A_*LErRz)#_8BW{7roc8_sQPn+(SpxCB(R`>Ff#kHi({q%en~5 zg#ilSR4FO6sj{;Gi8$$k=)22_#-j=cC69+)ysQC~ez`~YUcP*=^ia47q&{6_s}-T? z;Q%KOOH_GUI2Ufo{eyaHLTh+b8PTVxL%Q6T^jYxJWqm4jwf2jIzDl{>XUD12JLWU| z-P70OH1Q*Pmi_(2l46Beb-sH&^b)5;3Ihb6oLtrSbE3C`AN=^)x2bY{+pW!Z)$vV- z3R$`|^=DR~+j&=-UH}Q{ZVNYT6yN?DBaxCMZ*CQTs#%N3%Ok#zfc=EEH5*+beIrn< zqU+5o49L$)^+L4=mhwgtFtaN7Yg}i38^bzOP~kjVRP4D-j9T&Ul!i*QLUDP$ZnwB1EPE>rO1Eft#+tLTn2^DSlMvaNXEf=}+-;KM4Y-MeRh=+Oe7N!Iy$#KD^qCW%wJq(oJB`Q1?-(yMNMv3}nxL`phfrRr8r^nd5H! z%V@^%^(#LZWpW=ihaSnX5YU z)%|c<;o4NaV`MuA73_N#^YLmghKEH2kKLzu&0{lqhG%&DcaE$$Po{TC%? z^=iGih(1|%Yx*)Al`$r+@wf{SUEIMRHh73ieMJUqZ7Pns)B>V4eKiFg)cx3M6dY5e zf0-`dyYq`gX`Z<)hvudt7Lkjw6Xyt3RN z)S4AEF0PU~AnTz_HojJz=xfwrpigpdNFwfi(UE#M_k*48q-RObBie|xncL^C%eMt* zFjZw7zqwEri#0v;;yQb@?6QhD=6dNwP%MEQX>fVoML$k?e!I12Nt z(fm@uzW+eWBvYmv3` z`TO?R$bnPRDCak9K4&HEyM)H1PJx;q?)4o%caSF2#tDh%dB_w|BNrzw@$i;Zr3l$; z)PKom+;EqTz18DYB>TpRK5m84V68Y4Yg2gj{D_WadSYS99$iGr>ViqEWUln8IdV`< zLSRw-;k*p3lGLZ9mBr7wL-oiyl=bVz^N@S@76`~baVwN8arG8__BNaqv&goa%f~dJCFHPdPLaUh=G!G9)wOR^R-gIOKGa3+^ z+!9T%9=upi{O0d3Q=yiaZ!cgCTO`t&U!R@K?JE-7rd*JZ*1SHJ`er!!i)DmnVg2Ym zPC2HdMXSb=1@Q|`Prq=kBm6dMQgc^x$){p3XfCaugq8Le!k-q)?=rgNZVEn!K0Glb zRJi@w-e#&0x;nLcyK$V~Ou=>X6&Zu*e2UwBuDXAnamK-Md@lK+0yt~E-7DXPBkf)_JYetEN_s{7R>7J=kzGy_w7@ya&!jI1$ z49=Kwh}N77sbI$`c5~`De`^bUNj|N^>9{NLW?XA={28eO^&Df9p0jMEcHqrecwyTf zuH21)mp5&t&k-+^U{!|L4~}q`P{b$h?34Ml%%j-V0sqI`TL#71w)vY#Ab1Gw5`wz~ zcajjC;BJis2oAyBf(Lg`LvV-28+W(h4grGGxa`fm^UOQ{soC9+yWgm4x~r>iyRPH> ziJ@KdYbU)nh{L_E53dD!#327*>f<4qHX25@5?|5TNbOCN7eV0D)`uvDw3WPf!1BIY zdrb*cL6)yrYA%OZ9*@-9d=T?_I91jp4g?0FTB)w6WJGX&&2NaP(rn8O5 z4G!>E@NZZ4uqxRN@yA3YMdro$`p;`2{!nNx=xt%8$`Ju9BfQ3Y@n7%xKmT!U36xU; z?fdNGPW<`r=&C>TA?hff zfg&zjuS=LNZ_QZ7X=}&7KNW(_F}~crUkyhn!_V>L5aYR2-dgvy+@G!6p{j%E>kmij z@A0Y|DP=9t0pokyWM|7b(lNd9v!=OL+xCID)q3E?Qdmpf%nm;xS=9POjL*d=Yw@cW z5V)R?lMCV=30#{*-7SCUN8Ok8fg;6bIkv_vhJgkMIR@mKA$o4VThO(Gt)~ig7MYt* zLlhg^LaGp<>Al=8Df_Dz6w$gL$)u8!^B^q!BLk%W?WdZG_Af`u>ikQm+@LQIVvkuV z-qbjH7#qFmgh$*XHcB;?u1WcH-M4!sEwcYPHIw6XX>MR+Uzua?-_6yrmnT@THen4a9VR^DEDZSZxZP#SMZ*bGtdfB8FfNu;I z3?M!Zq?=@94GK;-QSHsGzb#+W`!@=X)-4C|jv^SaREH+_bid};EHn^YcY>AI%3V~_ zd2e%H{hc9ig`_&8dAMZDPWcGgdbpI=I%s&No3%BpE?n`NfbH59TCYyH6V31HpHG$N z1GGzwNZsZZ+^+Wn%333v5s%q)Ea0Zl3B2)>9==S$~yR_?J{m* zKUt#ts^WH>wa~>=PrfCDKfuAzreSu*Cf@cTP{>;s8@Ki$s`!K^`{}mgsd%kLLV5Y2 zQN0eScBgrf13V>mqO~@O-;m9;YNja$u#oIi*f9x|oy{je)eJ&B8WjQ^DH!}HWE)p1 z*z^Of|w_6VW!2Do~Bz2 z_KT~}?KS-o4pG+abm7q+zQPQcMx;fZ*lEllI}X*p;BkRqE}9Yo*9QibM}^#|ZIwz4hEy2O9b*4!UH zH)LzH=-RcuJH?{BmGZrtT0K*q15g~_)CT#gaD>Iuf==7P+(M+k|Q*XJZy?Rf|$bFuOr%1=15fEc;$b;fI{EIX!sZ6sjQ)G zL>`g_F-#%vs*o@(!KtHp^^{qI8BdT2G~GzIIv;kRYkKbTB8-&@NSbzi;7?NecS00f z4BNJ(KUp+efs9en_&^%k-_2r(*6`qjNd<{~4$IKnsE!8Dr+jZH?Gnjke+hE=f*M3QISd^lU`H%cZ6QgGsb!uY6j&0vcK^d}|K6rf&nB z*rXvah!hZTpD8g&9Mtb|AM;#^=ed5oYWF>{J)_E2Nnl=?o^shd!)mBv;nRbjxiX$C z(BEf2?q#3RX}biiw%;|k5B$pNDc?Ey}R&=yz%wy)~Xx-8uB^{eH z+q~J8g{Gk7{p08Lt0GxGw~cEi|DSbM8rFN=eN|j@SZ}CpWw5jxr#~E>R_8POn?Fvs zYZK`5ykOAta+bNwaXE&LcyILrhT8NHq`?{p7+R6rF#KgFyJ>KhHEb)5_wyjUXg-GO zFnnqNWy#mM?KN@fIw@^slRBQ!HuMNG|b+^~gq1+Dqwx&tc1}}H9^G)MgovsO< zPJXhXB?*49{hwzDe+3c$PbluidbUXA22qe6vl6uhIPVjSKB1VcObJk|cW>^%t(BNJ z+k2Wh6Fyl;0ap7i<*!~y0_i-4C^TK$a(Dn84Zc*Pz`XRR<1IX7BV7_?gg0mOvC68$ zNUkFj0Zq6>N4vZ>(8U!)75JMN-3p!M`=ei*5hKg>UHj8rw;^Ud%=<`tb{mavKv^u% z+kcg%5cFrp2DKsq@1}E){b7=Qo09BCBOW&#F(ZW~mB$AdUiY^tznW`R)nPDRP@=Xv zSei{l@+^g>%QHnFys&zcAhwa+!Z?AHV0Tjrk1HIm0gr^)nuKudsawB_$L_5uE^%(N zFZ;Dt!E)*wKS2f9e=tU};f1Q(1YjRaxmYhxGK0FmvXk3J1&)~Ug385On8i3Tie`!Jor;>o^^F?PbDu#(oQ>dqJ5*}clr;7Mcz^FX3o{rNC8Lt5k5;Y`45s(Zu@VYhM(*!ACx`w=0>CPOw>8c;mHDVQkRQ z7#p%d{7>2X>)O~k3O@opJUoq-`-^vm=kJ;;gAN0eZ4H*CNm^@fnwL-^pKFm^D5RdZ z`1r_@sh@-onhS-u8SfrmcmBmhLASKspXq(R%vQXC`Ut!PY}vV^9(JEoptRa4^g!H| zQW9KN=mUT9J3xepmF)?*Z{=eecs*VDK3%oUw!E2lj-u$p#_hTf`dGjgdRuRISHH~X zJ;fIlzg=*oydOs=cGWmGa%)8xMK)-(F2&#z`Ug|2*pQ*^F2TudQ98w4dmo5e3LDL$ z7=JH6>B`ADy0lgTR;QFQ9%BY%0x-F|R~3&;(;IgFHJ+np6}?Zdl6feM%>%)j@(6A=ap zgUVVpTrt3nQfyJ*eLGP=CYEREl}h7JBNZG5yg};&yUM3{v72~dm3S^EmZ1#o#yCIbbuk zR%Ckw9>5-i1i#gCI=QkRI5pW*ubz1{={E(mwVnAfpKm+(v$IRzF)Y@Au9wwdr8~AI zRGeMonNidqm6a*G=G&DC7R_C0X@lBYI7sx+}Jv z3I-LKuQi_W&ajr*ynugik!;nObIuqDpHWF5mwy3@F%Hil$ky~rv>$rCdqGslF^^4A zt~39XSihmH2AX+$gLxQaJwMuwPz(988XQcj#pFhL_qz|rb-lP6-P%DBM}Gg`oG0`d z6DxYS9XVw;=l@jk@*nUnt^V7IZ%)VzPdxX6t#pofCBLuOQ)IpLmU=AVD} zCt|>YUo{;1<;DLmDx!ESb)zdi<%sIq@>dLNmktiNX|+Wf?oHDmr+Pc^5@~4Nm748( zcc&5#?IeMj%goH#h}DtjkcVbE6Gv=%nztVi9DbGvLqblJkneR5nrUs*hwtm(j>Ob< zE?AVpnd-PTR5f63Qj!LK3%Mgiv~E)SJx!p|8M)Ym@Rvrh#Xh&{-r#WR<#wo{57cJ< z-$-O}*S>^ukTzm5%e-IJVd{n=kThBY>o^@U)*!FJy;iW`Wg zpeN#>*&yHj3kbhD8EgxAyMfE|LIalW=_pa!0!zKOo+{?~lOzR zL?f9i;M!T}p{uC%tLnbbesb#9@}(LHz6^8;@8Lt98z>e^8f#q8d$Z%0$c?=Afb*>f z#A$j+)(ofSc3fne`@2A{Ck}Q1D2T3)fXWn^k|no9lVXhIo1l&4q`9J#cdO433V*a4 zNP%u>)2*va%NqeDBd;%6l>QI~`u~L29xDr0q{DFIyY;`?uLQF{?3*qrYH>GG$-@sZ zdXP3)GaX%%S~E7}2|N>r;I8~LrV^Hx&Zjg_ie6ayojxq}Ky|Mcv!VmtfJAC03hYy? zFXBPAJNMX|zfX6}`IHf~QY+Is&MEp$??`RA(Z=CWd*igeP1;?W{mgbbXtqGpHTkmj zs`XgmrkZz|!0ulg7gA&jehhi0lUI7Dx-!x|a6NJ9h{3VG)>^+cGX2N4`ve}BIDv@F zN$0MrKI6cr9ymfGG|!Bd>P>?l^)TIWWK!f&G~`anY+0cO@p8GN$I3#B!2eq6coXqM zJWnrX>`Eq35EG8<-+dC(YAfcwgcq$i{5br%`ocQOY4yD310lg8=A#&L)=3ckPqDKr z@71eqh2r~!P1C$(bc2(CCrZnUUPqEbtf;oEsB96Be7MeaWI`-tSs)~XeF^Q=^@1UP z*>9_+e{IHU{QXA|d}A-1u3sGUkt@C%aP&B+=EAqQ`-Y83C!k8-TU!NzWqkPk=aA*{ zc6R5#zAP)zZ@lZNNnBl#f1VKkxwm`X`+0qpthu zk5>lE3toy-ca2Bf7CQ&bg{1R#cn$02R&Cr@HfeLoUk-T?A48?toE_d$D;4XV1d|a7*WRZH zXKcBsEy>RSM`_(?Ekk>4lj*!==7Rs1Jw`re5U^-%Z*RZe;lKH6S->g2h7-Pvj^ZoH zI-2SWEv^iqScWc~yZb_!yav&@jEI!KX7F~1q7iv9hC5u|K5~Kce~M{3Y?i`!uvxY% z%J8Z=?}1sEHP$`bQ}`WPZwLM3VH~~i{-4i*PUs1Cgufd(XS(xjb!|3TT2;B8A5%vL zKu_83l$i?B;LpfLeEy?`Ut=$`WmF%CsiZ0B!y>X=cZ^AcS_| z)&q_JM$oIRPR^B}{LQ0C?@QndjrJ^~x}P_=dJ7>Ze`<0YmoaDM5EYD`q4jqQGAxgZq>&*oa?*1&t^;mGxP!z7irS?ah|7>ky_ z^W|(R*j_0R~k~g^Hq?F913GeP3SSEkTORhiD@?e|EG#g;8QMIUJ z2dh$KkgRRQ7095^sbtOu!4^a{#rVjD0)0@)iincg$ivUVHCx_9p^KDksAQ85*50iB zb&IEPrBG(k$q^S|9YFo0@nPx01JB;+0_YvPl&4G<1H&37b+sL)s!)%~SY~Y4MwYG` z+q63u_0k%-_B|`cw76m%ucWqhl?XI^Z*7i7Ll|{jnBQ$z8Wnk~?lEWXsx0uXOgFc9 z?wtmB8tX8WaG>)n5b35F0>yPlE2q(}Tl??RZAY3(yA-gNoE4*UT#(!9#y9Z?Q$+0) z|H%TV@#&MJL+R~BXwcCGzo99m8n^JW_E%qe4@7QMhz1GqaWzlqQ#_v+)#TZa7ln&k zLWeaZ(FQt8cQ%P>RYTdN^VvXY)ZtXPwaL1+Z*=I&+E-&E4S#9-pm1$i7sX}e+pJ5y zzYtXWE1+3VpiBEJgc8q4W7bLDLVJSpBa^s&d4=yVh$4RPH65Kkx_P1bc2dOjhzcz- zv(e|yl$6j!LQpaD&^eBg=_w1~3XWSVez`vSI;QDzQ?Ecu~N*@bRL%rBX zW)J4${&INT4pi5f>u8Lw-jA%xw^Ul8JOM>l3C53AA5%t{RonafO56Ob(a__-qHeF1 zgwRmXSMQ0tb?vvCkHyZp#o}lAhTKafSyN!EK=_npZhXbHeI2qEj<&!Wo_?K%luPU! zpgtbJ`}k+zxRWt=uR-kE`|&(GduU_{Z5)RmRiu+yC-y1fZdfI|ykil^$HRLN=<>dx zPlEssX;+7?1JNOhY@fd%O1X?p{QH7cD;QYQ_2RnRwUv2jn%=?spiPfm#G|BNgSP-r z-$e@jO8_nD5e&XWyS2vTb6&~Q&~5u$DJ|5~kQQ>p!FT?3t&?$b&x%^7x^2L?taNix zz}LFx$E6fj#`Uzp{+O3mz2Df~hYa$DIyu}I8X!4<99QQ2dI!D}FuZW!w)Sz1EZufZ z{$2(zOEO1__R=r^SzWYxKpE_~Cs_e*Qm0TIqo8D8SMZU$n2o1ag;};gbWq+)ObS}N zMQKNVqBV@P+>eaHw&Mj_t*33Aif#h)1ME%y)t(`sS7HkC3nSlc}c?Eu2L0krmQN zM|_(4F6ty$)2VWVuF215@%@K#gpc8~NJv=P(7K3qgd@mEUCuHcPwzgbRun@r3BO0b z6osQv&nuhO+nI_{PyL`eqc`2;MO3!>V$Sr4S-U&4-|`^GHO zL{AxEUc9d&4xApG12?Lja#6OuMZgetyXaW>ts~RFsgyi{VUT7WgFV5fEfBe$A_qMn zTRrAouU~!{(x1LK5gkcVWYVDku)PSZNJ-%!>dZ<2mklO|x)eW7bIaprJ@=bDZ>|tP zkfgg=t)ep@XQ^cg4E)g%NqXx03N^@2!i7&zfbDqQ?LLNJ(im-~d$IL_$#i~$ zRgFhvSwG$Veu0SF)C&rmRp%*%J@nhzhPHQm=nosL@d6jhuH-BO*aYJ4D?q!G!2D05 zn!I^UM20HbnEs-;&$Kn&oD9t8xjHDvW&V z!TbT(3}-5LRvJI4>OgoCRBm}dZxhZP8U^}#|M|($hLi5IXdfK?KIB`T_MUd3?hsdS z+TFH}Ru{8dU-!W8FB@t`ogl|j%C%s&=_H#apIxEVMmtY%3H^-~0yQPu`z1^H6SPPt zJg@jaw93&AjZxCk~Ks_=azevP;BNW=ri3r1r)Lvig!z|e87Pnu{b z&RE5wJ1B5l{Tcg@FCrEZGjAVQ+PzA#Ymdm|;^PVXx=qIF^_5CC$q&X@y2u0zI6FKJ z#CJmrIN2NU&QgrX$d>mK{(ao7qJ{6%$7ci%^O5zG z^VVX5^gR0~SiIgnYE>Zw=DTi8wsJR8Inn8GZh5YCx3alO+mgFU>v1sf!+@MvUEWIG zzOa`?So8zBHLp_zxzfO#}dBuF#CZH z63AJt03tgPFJAiIN-V=(ZBsmPNZQzc<2Y$IKl|+YnlOY{jy*?w8R!$fiH{rf2uU4L z9wN^}`TSO1b9QksKg;|qC5Y>bcHM4_{+=-7yZu=mX$T>lhGjrfr;PxCQBI?WX;7-~ z86)&Znai;2@G{eJ8*CrBqUY}hB4T_L4;1<}DSG`N=A?{N4P2M;1kf;%q5A5aR}7AR z+revz8qKWml!>_t%4lniw+Sb<$>KveIu6NMfGBAcO}@G}XA~*1z-O*To$6pwX0Pfj z)#LKEc5-;VtaCR@&RggDdi3~yR750&BL$^89CkhJ$5FuN9X@I``O84nW$t*g!FyJ* z`scyKBESKCkK3+$*y-A%>BnyyA`#Cz$5hecco7iOJqSx^tNXcnyK=>a!1kf-A2WD45d;_PLmOI`iNG_#m?a{ixN35I$7R~JT612m1VPoS zC5X@E&qO+Z5BJKh>Gw)TKV6qE?)e+q55!l=t6Ng9JiK)FbbZ7tXg%lp`P>sW_;+YP z+RPPEF-Sdzc#kAb5Qb{3p;uVjbBbyOrmow3SKX^$BJtZ?#!@2;SBag7ZqOk9j;~1& zX(sqr>ss=>HG&oVO4({3?6^V=t^b0CnE)Gtb5%$>wzj_cSLQXJ{!hjjPyN!OagM;9 zU0vp)>x7}z)dT8w&P~EmRXm`%U8XejEBBF(7(^q}vz$f9i5wt~C4n8!xQ;z!A~pOb zG({b&>MdW;WR^o034iw*|BEh+4t^4Hhj2WNJXKnr5h#t5LP__!DidF!PB<$(TjybEy%Bn$n1o+~-9@^3-HV}G z|LuY*;d^NxFl7-6>f{I#>c=KX?Y3qxPZidq2+?9Cl2pd3QcE=ph8wQTd%3-5XTzZL zdj01G1G{_33Atp>PV;KcT;T@Gy23Ti#VrqBCj3e#0JYgm`K7eHL-<*Z|C};D`q!iw zS)~6=G-LrEm(;3V5%Gki2xC-{@C3cd+S>{hm55m>#&$$(ug8ubD%I7xCAGKvEX*r(yTHi2_+;7+9U3v8=y})aN`mN;3Z*+$FVty49euCXU`Bx(}f(h9> zl(e+CTfS8H^-X5KFj2{}`Ak6(GXs^HkDWU~dI=gYP}acVyX9Zv#d<%X==dX&U6da? z_dMT}VZkc5uTP`}_6JBj`qihBjoJsY|G1OesQf*|J{8aT&7aev;Q><^I|o~kwfy7X z0X{CR)`)L%8icJR&5_1~C?$5iWo@Y2Jieq;wE}b;h$|g2XPCa{7}81`AqZ*hQk=`@ z8Z+*D#3dD}(QFQQ-)GKSDL%UtotB*yog!d${!z|8Z|r6^)hRWyNK2WZkqq)(8!atl%WHl5r94H7N%3U%+{HBWlZ-{Jl9!$|wOxAuRvX zC#A}67QR(R7b>szD|b!eEEIg~Qk!LrPbf`rszHVxT#4|bRJvxG8I6S<(kpbd`#WP$ z$uHQVHs1T>frJjGRp;>~vSM5%aIzctehsw!e*Li;oOK77DHvTMc*2M?= zh`uthRMxQ4R1snK*jXl3k4g{jJ3$voXy>vztDY{jKGA?>05{EPs=&6A#`4d()-;Od%IQqKt)FqOVRaV4ISLcoKMA- zz5Y;(r&mh_loJ^C_q3dRc3vC4(}t9-(q4l0R3d7YA+Fi{mdXkvN|)8T#}55 z@pJ?3)^QknFzuO|-ZwV%psuLW0L2Ty34`0+`OaP8b;)W~=Q6pSoG1~HvKdElOz@-q zPx@aDbB?e032}O6aZ_|I;K+JdET6u(9%x?Y`-5%RSluaemS8RDb>J)!5#D%>N1tq$ z{~E1<#KHBi1%-LG%^-PsBH71vZ`>9}l;lxwimCw@%3!i^{4C6H#1u$`$jl3 z2+N@GCle&VIV+0QP&5N_NPoKYF$MuU;0p8CN1McU!N$>zmElqhV~p-Zze-==KQSnA z&#gqZy>NwOl@6vM7~+Phqnf{Aol!_f4dmq3)Hvx`m>9hb{;ana->EP_QAkLKMLml( zn0Wkf!^4j&Xtu5w-vBX_$%-%>+}69Eyo#UPR9Wdvx~)zA#?~@dn22S-Fzs|--Cg*> zE@5gD4t?r3!rSb+i{5Zs7w}8GKn;IF$|&~JYZ{K^t1$k1XUFqRBdmYX> zl9UDvU>$c=(l#3Hf-;#6wS>sX6hG5)zw4`EM<%yfc8u>4_QuQ=v6oSO3F2R|_@E!Wr*OwdpuG|adPg5)AQS=lz0g8|cscO9)Ve+7forpsrmaUj zm0n~%!>sGt;r{E~+?NPg&@DzDLP3PDCn(98OT$)Didv*9?hUz9y<-CQ9??^uP)N_yBJ6Fs z=PuM&L1A1T;Z?cTo6YFWQ(Y>aU#6adm-EouFGrPQ@ROI|_MMA|09z%zb;9}7L3hH- z(($q!OhgMfL_#oHI|G@MAhKhs3{Rf=Z*r$8H!dCtn6#WC2e{zsx29DCV~D%i}QEX1DwEXE#_#-|%{=6vbv z-7s%!kB#WSC2gRw@$FM`+XZhBrF`oUDcWXGVauT-*|#*`^HrCdSkg#cdt)6k;$*Ht zT308+4|SH&XFfns_ZHaMVS4-Mc>>bN)Edm6YHV!#lpSh~3<_qN z9Oh$;@eyHLE9S{aTkc z`)Ovvr!G)Naa^eI_v22!+vB?mg|X))ow2m5oCJ{RGThl_7Ms)X;L^$+Z%YzoW)i0!_(VMyPQaQGGu)~OG?sxm4jh&Dp zfo>WS1~w#U;|8H~RUF%*QOrnPODe{e;q4bb{z!Pl5cr-QGu*%VejRhH@#RG^G^{ak z7a6@#=ZRC|m1^JXRr-6e`xdsLc8IRaR)Wz^ajUkz-T4k|&Wb(@Eexx4pDQ9tmK0br zHk|NsOo24VnB`W$`#x4U5`}atn-$}Gzj;1p6XSAV-J@Ns+anMKh?II9e47aYi(+4S z)1o3H=!=(E{*Fq4sp8VhSU};>GKEdhC%?m5wy(RU#>gXi!?N&;LkahaU(%8A3b8g@ zvvsreS%1*XFC}6}8iih<0WSF@V&HIB6ko9cl+4m5>%|ostLqG2)nq^XZGj1n`j1^P z-oVyh`SQOSwErT39vNe+VSyKZr}r%qUX}D>6QLsWzWoBsei)z5v)1+OzJEFaWt_La zGVCh6>t7uD5aC~r5c56Rh;7Np7YL4FqaCR%xW5=5jKnkS(Qiv<0lEy0)Ajm8`|AQd!&G{V8eRFW= z&t*xP48tf?35psGV*)_=g{ z$>~F|!+Yxg4JRY@{u?K=c>y?iz|3V`|JXyb4bVZnTJ;9ysyM=*4S_8BBJ zMj=f?r=7*r_fnL%%J`W{;x+EuUFlxK`{UV2FxnyO8XZ zz-ZFB4s!&=`~gVulVVFA)D-<+VY11;VX_O)uWfT%B-#r_$(T~%FCQLNkGSQ$n~?3~ zu0LO@WLN)L$A1W;D{na)Y?;bA`+K_g9KYHvVBqk+*r#MB*xi}FN| z?5RjoV(CR@I5!DBjn3L_r^!pQZL1p*wgt=l;WpJt$ci#Q9NDv#{>I>GYkM?wmdnr> z7&TdMMy&$tzaTz$)(KsukjMkBM{>d`+OnFExs;yoYG*wuyhrTq6ZZaX9G^dwY<)o& z5yjVRkCW<+*R^dlGpw(qy$R_}v@DIE-HI+{qXI>?|LJ%0pX;7e#BLzjC9;&K);!Ic z`HtWWh4>eqymtQ`z+;NY$F&*g2I8P2HjF`AvMX=eFXkcpRg)jt*jyS+QL$FhlpGM7 z=Q8FmMPPqu0`U{Fbz=R}fErchfuTV&2u6<1u$Rul&neSvznyV!7`(m^!lgd?gye93 z!)B{qo_z!S{{H=oF%dY3@o2(N(w!(1z4+tq-#h?}jQ$Ts4odj%7`YUS#Sza=qd>)k zd2}h>EMx|S23Oc?j05e1N{Se_Dk4}SRovV%e|${)LorKIJY+=#UpkOXqEAV<{A6X> zp^uz6D!@h{l53Fghc4W@)l7~iA3}#|Pj&?O86rEOLC}fuIGBz5G?#xCnIGO8YY(B+ zLCiQ4UBVqCP)!lZ+hvn%2?7xKEsQ4{lHzr9-tOBCWiBAOBJWp!Q_f>>4B~E4uD`(| z`R(DyhT>z(Qp$;(G5ZefA%!Q0w$`|^%2W$YQ_nSXmUMehcMx4~KN$x?pDTS~2{%_> zCG@@ma3~(E7t9qd^b5Wp=w!Ax7U#ykxSlRXG>Cmk(E<8Xry&MxGGttGQ)O}so9fv< z0w-yG2@uXrAb&lh;CWJjD!kAJh*%xZh%|rGd*>Rqm~n+tKp6dKi8~P(#sEQz5IqGR zNQ39j3XZmZ>$QM7SFvdlKeCybpw8^ueTHXrT7B8rW4s!VnhsRlbJuEnUppl2(|KWe{Kt99_I#cW z&lI)g|3ATG4VhE#jyNxFtOHG4O~(n-W*1F~t6pZFG6R;bKWS%Q9KBuScOnbvMtjw& z^AbL|&^tvTZo%_KSDi|e57h;i=6FTJD^5EczOR|AQEXrq$Fn+0wl>DBSR==!2jz#U z`lH4SRQdQ3HYw}YJKSXgPW!gQ#PY1I64W3s2)08ZX9qLK=;srKykv2K-fi9$5>fp@ zC-i21juUm&ksJ<{0&LH>(o+UNkE^uNR7!3yt%G4UTb=4VI=iO<5<)w<6& zNC`MY)!>YLc2Xq&N4_<`DibF?j|9R4o{Z>RX}cFsI4iw3QNDn=7(Nxpvh$NW^2tYd zZsnR%)>B3balQl-qaVGLcy7W|2TroJs5Xb{9PZW+9G(~ECz=GS$`7ju^Cl{NtS|e~ zWAYRpRwfg9RW~Fi-YbQyfeyitPn&VSbYP6_Dz>HoI3A*7ucMAhXw+ac+ip9v3yYZ$ zi&#l{ddrGbJz{-t%T@Y>{%Z4N#V#a@p!Y^u@?er&mJ}@EDQ~NUCL(IkNh)ZN*N}y= zHP)-kf5fEjmRDCcxJ=zjX{c zb{keatVxDf&XOAbMulxnPs-tc`y8=UDH|Qp5btRl;b^cVsKS_zfF|O_G7Qe-mIsJ*THlgkf-} z=gva4f*5cLm=A2WKPz#&&x#M`n9XE~eFLBWoc^V2O}=gbrv*mUL2KC7^7G%>k9}?a zI8X>DRX@wQ%IR9tayMH-+Coqh@d`tpcM=Y;KT!5KlfFw|mP%Z6Ne@w%_)DEB{gBJVq2UD`#p$%x+o@_A7^)5#F z53lGj=mJVj0B09f2guQ=_U$f8-r$(lt>NEuBiGW8l zZL*;@M>8hcNV8ZKby>tl&3M`e33pq}Y_A)g2(^H(4gsFT!hj5FQu>ovj zRk()z@w1OTHMiWr^Ku}R;^Mk?vfnu>}rVcleabEvsMC6o@1Qcwy?6k8n=h{p5u?@jCM=z)s`iW=Mm9^qawz@GcRSCMy zQ~L1w9LXI~4H~dT&@Wx5d#{m9yod&&;vHkChr`3e}1um9!j#7-N!|*pmeqhZtp0 z>#=hAV9?#Q1Q>BEYORN0`$#d62Rc)I7d=P2ilNq%2{8(%4(h`W5bFx`55Z=U8Ws*! zwm%nn;S>@qW{`wmPN!W#bxmzvD5bR+qD;i~%3X#~qn8>lGm>&BKDF(NJ*k+>hhaoY z>n8L>0?70r?tCR0-wP+)Jt$ExL0)2j;OT;HZM#FBt{Re3Mt{`VYW!W>cZYoTxLXRP z6dudu2f0aJO`mQl0)}x1sfmoxW=XaW&MT-C%OYlO!qzeN$N85xG>=8if}!e;D8})} zZTS5{K`M`Gq8TAzKHpI2KsAsj;I>J+nqoXS8%+^}6AOb}E?9>u6NT8nB<_3@?}pjK z5+6F$g#73a|9-isV?Y420PNT{pm{#RD|Os0{+R1)t+20+7IMv5l{3=d(~%e z-qLq=Cf(!Aj&50BygYeFq8yrnx9d4ke6m4%jf!p^La1C}f z!S^V6Up}=#cSdd)=1ba6%K^u)w<}rD_-_{)Mv0 zD17Cc3Y*z&x!nJgBQH^UE$lS38m16&3}wHNm+z(d_bO-k9`5dvcc9bbtaGj&b*A)w6G+akYxq3_4o$u5#Q2xsx5tQuGz zPOZ_{#pAe~TNqLEpk&vJ!lF9>n=lYfMt{st!Az{>!B6v^X^DG@-ti5!@RHW0aS&=j z%nZ5&>g1rRpw0M^26aUxukSIP==y%;n6Bq^$;NA2xJO2lLF((EiqC6c+V2aZ`R`>7 z<2x%E3aZ!BJ@S!`zZ}i#+AYuZ@cFLKQZEL@PlB$4DFzLR-vOHUsdsKA9*QEK-c~;( zR%dLzzpu(icHm^AvG+7gb_qSgwKk=@Jx|u2+P=o~-TXq_HVRv*_N%z(*5;wM_2)8s z6A-d3EikoPhF};T!8L$$dN0%bR;rV!sp7oE09KsgrFI8G+-oB_OE#<<*qSqvOH#YP z)W(Iowgy66AmwH&BBCprYborvStbV841zW_=&lK+G(8{;I>$tU3eHKq?!jIP%8ekQ zUMq?U;r|^Wd&~BQkZL1k{%Pzkr2GCsYO4-a^&uMn=*Ug?tRn^OB;mrX!SDXVs%a=^ zpm9k~!WL6}25%9wS#4QN%O1i8$0I&%qS{_)j-SSikOm3X3-(hq zeI!ctX2wOcj2~gBQUhWwb^&}y>ywRRG`x*R`9GwpB-?i19WrES{7mywCzsFD$?;4f zi(G$Pn{vonJVt+oScB&EF4&%O%#9htX*gJ&OwwI(piA70_Sdzvds^eA`2{Vc3udZ5 zi+7#&sZ^E&*RsfVL7pfwwXr&YeKz`AJ$vK^LN=bQ>?MCIhXYF0H|27#^0aR?#x&6Up4H&170pR*(D)ikDg`y#!P@ zrC>e{=MrX-9HLsZmg_HGVSP$WQd@R8ifF;FQY5=WhX85X)F3sw~wbL;j zBS@~Mty9j;7_IbEtXSWnD)KwrsLcQeP?1vq1f!0IL5ya9L(wS?dD?J(bG)C!Cd8d+ zsL-_HHX}hvX|jOza1RO%RHMPGia-lEo#bOB5`5shITeI~VVmhz_6+=u`Ab!?UaOr5 z@#&I<8(BSe#+m&z6_PnyZK0JrTNBn6uL*V2=Ri{v8yAiXq-WN+_c#Nk&?I7 zZhiMAT%Jo!n)TmRKxzhr$*_(fAfvpMJofVM=n#MXZ?5dzIf@+0X_Q~oG5ViidFH=^ zWf!?Oh#fdzm_K~OK(=j=U4ZI0q(yILY&9%Wo_@(d&y3IJWta7rnLgNHa>YfLJrC6nq~rYg&65?t-QERNsnt=RoA{wJD+b)8zVVntR4jed9YO_Su5=c+v9e5T0`mi~e#S(5Gay!7d|R@*>Ep*kConS{ zL4@AHtM)qWbL0Ga5{#ssTb?(_GWalVr@$d z_gx`Vk2lNRF$~AG=k2Syz0Hk2w9)i&T~XYaIFXQ|rZA8fPh;DDamg9BA8%&5;r4RU z$aQVUe5bgkfA$*)!3U>xIJCsHyBXObJ2Rs zU%<|G{v|@_Vr6JkIe^B?4XCY#M92k2|JbmfZoC~?H^UTp7N)H9*tmtF3w0(pdXx>A zlpiI23#0R}WR3v?bl0Z-q0aEGPG2v@ks$)?{HCiYK4*g~88K-^ikSRds^ZWImcR8M zSefMHKd|x|!!uUi{})yk+y5LhC^JSwdDH(4+9#300o#J^1Qv+yOTXQzyhdIneRMmO zer?%N)%+;mw6T%J`=|fd339v+o-0(vcL%POOo%=0174+ypzJ9Gj{f8`fsQvf(k5?T z>a~yyGg0WAtCF$YI)0&oQ^FO+%7lmBQ*xv+z;H{N!HO}= zbm9;zjYdAio8*mc?P*);tHfMlzZ2Uh@ymoCzJAeD>1~ZRQO3U8p_dS)cSdGh!`WR~3$$ z8|O+h_wGS73L|7N+E?wXP9h8HdWTIoM$7t)kGnsq9rC4;UWKk6Zhh~W>W=!`fqsap z(u;NUZsBc)o|<7f7SgT4Vie)CL$&Sex@n0_YOQI-fTKi=67xgG*P{XKP1;SQtPc9E zWul}%pY=e)JR#twu%RE8I3h@< z)%n%_Tt|@2XnnmTK75zEZ?8c{D*g?4GT%Yr5Cp+w8b-9TI0c!vOAI|Isp720D26Xy zQ~i3Vd(=%pjqG?MeQG|yK+B8Ede04Vl|cCzbufLNM>pj8qJYEKyaQP_kZXf3gYly0 ztJ6G)fZIF}<4HvpNz7p=km!YSC2Qg5k2h$J=sChB^#;o*mht$$$V!L<^rEL>7iRH% zuGE3Z5+>qnCAO0ndrH1KC(&Z1==>CZEk=%rIOADLsZlsk)8l}6tVbk5+EwJgv zyYPA6-+j-y=iGb!%Q3)#jIm+uHP`&kkM~Q;)If^yJXr66e>CJv+sQ)}u(1V?_!@pa zhk=rnhv%1R*s?zO=rzs@ts+X`PUBbO7zUsqGkY@ux3fJe(G~dff%?nU$Tl&o=J(GP z1Vp;ha?qVbn=3jfJ46{f!5BrhKv)w|UYG&Ga&$EfGqW5cwe_h#KSpz-T!JZ9`7Nv< z8p~+~*8nJ?%<5jYZ8Nt-q0M| zoJ@ayp>oBi_MYf`gh0rhG_s}EYnYUruE3az){G~J5W?7+8miJzYrp0NRN#c*yFp`b z)K=gYba!qxoG%fXW_9i+V0OID>-AO!s$LOINy(y4^5wECSguU^lNay|S`4Z6OJOM9 zhXFk1Ps1>b|8|b?*aGo`#;GjS2EVAljRDT_%qul*0^9po?B0k`_n9jDc)vAv16933 zQpBF(1|*hF$gk{#aMtyP$7yAQ277awZJdA~a(jeu&y|;doMSa^iNDUVwb?cvf|?iF zi=JvkHR^z`&&=3})_<}dPN?McA;SwEL4@{maZ-)jOw%I<5-UM|B}x7u(9BL%s{Tuj z;UySJ_Xa<_&HPi=dUxPS`Byql{+DzN$*v8ov-93umGv6pw;_8@5Pt|*4uPJ^L=6$ zj_C4ei+{UwAnUeI$qZ*SzcOgX)ZCi~T)Cx`O-bp;2&hi_v>a=@(a-2S#)ZV`@8%%A zJniP433Cb)l24m ziX`c1i!XmV15*>vnW|*_ArI)pYx1Hei00Fpt1(sCS=224&QQH&5TC{Rj^Uq^_Nj;JDg|wc6s#cLgQ8rpdMNlJ5aTChtV8SR!{z*g1wHw zj(6Xti+l5sia1;LRUFk~KV1GOZ1PTQJ*rY8{$46&!~0XIJWe28{BV`)MW3aD-^2%l zG1U`)9WEY$vrc_saG~*K(;90lK2xcT z?ok$H38cG;8~wTAw}?nHuoT?ID5@GP%BXc^%t5u;j>G{hF{cZq%=~&)5th#&s%cgQ~9sEFl9;J7zejOn}%Q zE5}BiB-hws+HjwdTyw~vihxLdp~W5;XjmN?9ya<$PkF}4ah3Fqz!rBq459d8UlJlx zeY~t8w3385ih*WHPp+yaB9Fc1B6l8!w$KQKZ9tU>e|}_I+ahsdcYC1t zkA;Z$U=IdLYRCp_NKkkKheq8{azr+RzY$AdV|6G>a?D_t5)g|a#d-k-WIsPOQHaJJ zg~UG5FL*=NzUI$YB7w}nd6E_Cz*}q?m*Czt?(TMx?qXM90R0;K9WepCRD#nYxXz@- zpEx8*0E@GU{4+ij%BSu~19OIbOMjtNK#2 zxJuS58+%?(f;M1Xzi!V^BMm%|%Vzy28dgvE$1RTdPq+9I=ovYph)w+;w^&NUJlNKQ zyE@d=UnakEP^z7z#abSfZa>O)wby>h_p# z@3Mej))luEp+z+Et)Xw7;_J#kpXa?$EVr@Ymw|Ix5AbH39V5Kb%x$(<^Xe7_$DEm% zoE(_{t6Kc@|E(53_4KnF9?7+S@PX0)3G4J#+OCzb1dUzKKSQHp2%6nbK`HBl^Htid z_Pv{{uo^s;iIiR!Az8J!b6_+ylXZc_ngMw)D^ln>YIpmHov!}gTtqZd1S^>i11nT) z6PW}v9K18W8B}hYM@9|bCtM$`n(9Sq87qn|c1f*m)4yyt6&{(3ljF&)KoGi~;psk{S=Ar_4d;5w=oLv8+6bB{KzgL+Bu z%q4ubuxkQ0eH%Vc3ihZ(6!oWK6f-1*;EOOedjuMI47=#iL*(az@@B?Y^Ce2HpH<&X zjK0RN7fZ?=L*Dk&JHlC5$`MJ0O~+A3eA^tAHXHarx$x`BH4}I?zhC{nF{zxA=$t8< z!x*FDm9ALbE^*gi(U=5{Y~wWKBOn@68JAEc{aXi0`5iz*O#h%_amYtHF2FQS zd!;&7q>XB3u}v=fg;D2M2)BRB*(JtxXzE9l=$r{JqU``h3&fD>vp5CP>L%4b=HlVi zrce;zoS)B7To$@kWM|!Ui@lcHY6GlRLU6|Dwf<>W&-0T_c{^g{~9uzs#m*~>bw9)GM@Hhg|NTX0YGDMY^Ebe>e zS(ene6EA-XQIhH!IynpUD5AF2gXH5*CsTTd6#$E=N>qy`ioI}1;tpu@J9u?K3E4+o z3{al$b3Ve5LFMJ@Lu|9rg{q{wrk0km*W&8+SPcl zWG-Ih=+v&xJfmWdZI(+5_9GqFG7vL)vts`4jY%jde1##e*KdwPNKP|vW`dNtaXOwt zkxUCw&+|=d_a=Qj^;sS?+O0r+mS^3;vzZRe{z9+vPMTn-Bh~5y7R#KG<&KW%=1ETe z&)!X#AM~qZAaqMNzqf|c!PRaGEwM%P-?>%XX85WF)wr08uivqouJi)HLw~Ms6OQ&{FV}lGTAOXX89cXAKYP1mnl;naD(jG)MC` zC@)DVL{ZtvYMNP}_B#P!O#cjwC9rpL(+x_OG`jyf#~FZgd>byP+a6_4n${`dU~YE% zsj=!TvMg(}{^t9_wLw6X5z=#CDG>JF*h;ZlAAY&oyJO;(0ImHvO6a&x-itSaau&;_ zfI@rjF#uNT#n}-!TBF&=e#KsZ4QV9L%DFwL3)c$gh5GkRUPIZs=i)?%hJ*p$-Kx6hqa5;a>xVVx_;8&k zfx%_n+pZ$h&`Bt@6$fC&H*s1i4Wn>@PON+)jj>t032IH`d1@(KVBW3}-V3m;AZPo| zCP*Ln3kL^%3gy>@c|4Mtdtn{Jp+&5Bx7x%&4}%GbO$LyRxs4j!{x`{(*9^3eeauj` zNv2JA1T-}MLnEH=d3KCPt@&(NSO2?4T(7}VUgD?6BGOP}^xqBSH93Q|4m*}La9&By z!~PNm5MlCSD~pIWLIi2!v+v#28+7AOJsZZ*5I|y`Jh=smKw^}tNi35=WDl3U>YqU$ zM2#pnx1yGxvv18JXHBg@L6EewcW?bCDZTJ^dYs*y#nWSe*iC@jX2oC6c;UIEmlI*% zzr6Hb3H;+{v%bSHPlFA8RO8aJ)2wdO^RZy$n65l@pPMX7vo;vwLsMhYheh;zyp3Qh z6MI;P(50YCAKGJqKFo0lCNjZP$pSLAi$5jXx}8HAP-W(vl(OX2Zd&Tww!AygZr#>a zPz-R$m^vym7gC7rmn19frge8rPC_Sc6JetkK5j)Jo839jRiT*Hm*bV4cz8)!l@U-TMJq3 z{N-oJu|N$f3$bR!9|kvv|J+Qjld(D2D^1let3s}tT{%ltNr?X40W&Yk)j~Z9Eq3D(5Cx45*^g2egF=vr{Lj0s{PAjo6FjZC59kWl5!^rI=gD4c;?@f>kTuL`ePbNIZC*Fdl_;{VJ;E5q+OV$>m50~G8m z)2zo~(gEE7EUq};#Y?ZhvD0r>sab*){(fd9P0v=~JqJ780G*>_fPAAsZfl#s-)a@*XAdOCz9 za?4!&@uRm7&Z$)ni3=sH)JX&>)p1Y!m&An5K3kk4RgXtjI)o}@ggXa(A&E5?u1j~H z8XMeIZzdc7I&AuHI{c&YkUNo~W=!@P2mvs%hgeK5Wt_Csj!uKLfh5(_&O24R{kf_4 zGVy?9teRSo7w)M;wX;D(xLC7h&qmnnr-9!;Si1ntaoL6RVkbH|Q#7C79@0(8>~<#4 z0*h$Gy@;OlegaF^(22vz9KnX>!(pI4ki|eBFTnOQ0Lv*ra<>-L@hN3F{cwYe17GhJ zMH}rTr_6IFU8Gr7O0Bkz=f3t`bmyTOR3P;$H{t<&BHM4t6t-D=r8zCzfXczVRI!uJ zLc6w1n+Le180O}Y@RL)CGV7D@L5yWgxUs;&A6oN7%(z;HoUr}FD<9FwOnd;(ae{8wzJB2k-THEt3fJ*Ro?djtGmDqpT*;b8kOk(n5(!8 z`**IwVZItLj4gDQ)A)OtZ{*u5e*6F1FE*6^0yuW~vjdR0L*K?MM9&=t<@#A0Rn<7!`r;d}(c; zD;32a!0wwx}^U(|#<1d*H5kIo)Zr6ZkHhU+tr^SF>UL#l+oQ zAhtrv>qxlA+#^W%KgO|b<>h_r$vqeAJZWs9%*^(rj2L~22UoZ2zLk$~04VIk75>*m zT6etBB-r8=G5{CrXphmTvt5`wIkVa(0HieK!bA^T@=r%n0%N>+Bj+1#^E{okXWpI(pM?+fKZcAUL zV2$3|4H~8K0v_*oxpxlNfI1)>Z=XJQcoJGZ@kuNg_fW3#1boz(cdiK>*6quD$$fv3 zw+R4aV`6M*$hNGsIWZB#As$d>hYiDjYdAlWqlRev^t=T%U#A13^=ut`4*=G2Ag>FZ zcxZOt%QL9N{Emb{bjEf-eQ-U5WkvM-~z2nAd@cg;p8H(JK zWUnVXWw^dHNMm1U{HdSi5(C{h!NP#Nsl56q$z6ZL$RsXXEl$NMxj_lqUg zxt>Sb5_W}{NWOKUA`XMQ0bhT49A<&I3mI5WjDwB#`fYTc-E4Prb-w{=SC{9B?);ei zIVgJyZh$bSB2%R6gOJC9h?M(0RCOya*!dNQQ*CHL_;A@9 zDS!Yy&J)&Tdnd(a#0C7x8#brgR}l`|>l6{;?ho(=WaRoEL76z~1(2#8Ckt=z{`{Zf76Entj$7P}td>0tl>M5%089|eqJ)!w3KzV|hR2=cL`a<>2Az{`1gHoEZeQ8nI8Pk|2%s)W5l3@8ZQ+sA%n} z9VW*Q4z#3pg-B^gQ9&zP(UCH-YnXi$q~s3fU$ohglvDf!Pd+vWt}PPNq~EE*!m=~F1=?hz!R!^sPom=f1;9{-t zYdcXutipXhpRxTzd7ACe044!fT-rp0n?t1&6*j=bvgd6+iU%4BF9JC8C&H^{~ zb*m`<0i9JT<-*=#UN~IlU#N_#*)CGApb?+e)Typ`9ZqBF4JuQMW*XoVC2fZrqFePb zQL~q9dk&Bu5~CAXW;`hpsxi$ttS2~X)-@+?SDfj%le|WMj$34MD&oh{R(rFHG+@F6 zSa(eAW8M{JPE4J+*PqFcS|;yw-7ieJNf2d|pQU6ly_^Hur-pk)*XbsMNDNMaQdo!M zxFqESrq%mRpb15%%Tly8Nwjbk*>zBN^$kmnrMTPnB@A5*>)tA~DJ?ZnaYEyln zjits7=*ZD&B#xUhGcyn4WiWv_wDem6t;E{W~W!l&5HwT_MOW=`>?P)>;A0=G3v^3oeac&YydMfb@U zyb7d!bsk1+ZLNoDIxx)4nQwAOfk(A@{k{TbmyiW94=*^xCw?`rcsMqYPO#Vfold6qLrz#F;%hl@) z`i6v}6o)VsZ3zccy0igfe@FtQzmqe7zC~vt zZ?|}ITUVX%Jr%Ik=A^!h4JTP&xz%KYc=p0DPVDln#?BS#MJMK~L3azQA=Ge*;0{ZS z?0C;BV%+><07Kiyg6ab>)<9aKLn)0V)yL*x_PXy>(~h2Y_<1JN-Qwr z4qL6?(`K8LLV1_t%WL_5cAZz(mtx1^&RyJhXv|grQrW%q%FI>c(N`Y8iclSC%LZFn0QY-&d zyqSZk`mJPf>B(ip7uiUkR}h(ATVQT?$Mq$oj0L?_J83hB$Ek?xGf&wt*Q%u3=vf4_ z<4@Zf`7{XwIgF}|an2t+BfSW;e4A+M^lkl|7w?~lxnB0l=n*Ek}@A`J5Q#ccysgL+Ou&lEa1=;$8`EmVVwzyH#L#bQSY4pBijzj@JY=$M=A zwAP8cPuUy|qcbT8`xVAZmv~*fopd}`x0Ja26ftiLqJNt`+B}@S2E_cPeL+A&MZxP!iMqQMb#dGZ< z2dG`xV_X;%fM(ag`s1OAdKt>8<1RJYlpB1wM&;dkowBDT7f?N!FJ;GcD~6bhiQqFj zN~cT~*71}|bU6a~ui6}Iy%Tm5|N2A?DPiJ(hsA{!5CSz zD^UtDFVLJjr#grtBTQD4-P0}mXbwGo{=(G{<3+ed?(7vw0D~BnTF#3tRv)gsAQH>K z?^){ulSq{JX*lGiUiW7;gIfqmFls6No8`5~K7aNzo-801Zr@J}7U;mF&SdjTvD9F% zv7ib)uSiwP4r93=752?^UiFhl{}AYXVvLKr)?Zt71~`jRs_)V9Lnic^v%%n$87OeC zO^3Izd_XxsM=4wTY1M;77DkIr_+EjMNwg2;bd;!Q-(bTS~ySO=LNX`PN5C1K+w4N2J)I4U#>O8>nvm&tlCPv#27`c1^^3PZ=nGSTp0yj zvw%gqL7WVN7A1vf_zFW_)(@N2miv+T%XZcx9GNx$VJw5zDgT?Xj2I0V%Z&3Z(=NJESDw(T*(@;1hDyMqI%0(O0jX;g8GFabf%|w>X|E?M4 zodwNcz6LFmYEi;mOoa@&pNb#(U?E9PDRyCa_B$^_LxF)V^z6b1*hiYuRnOd^+as@I zhmrLA*0#}A?g^)~Jg?NW=ReEiJ2^?I=+Q21__1BIitGyy(=PaI)|2EdMJn8Oum+YYCt2`*NcM#*ePAHj3mu3ek~LcfVL zy2Q#6j(ObefYS5Qk z`R$7yLO=KVcXctjGsbVCdJdxcSBN)Bn!CB*k_6~gP>1!btL^17BQsLex+g|30_Vz}f@rv*^k(Ma*z@O01!CPyj6%SF1(|tcMa;@1k3icY9Z~4Cv`ct2hQ2oSsJV&BS1wMS(4pFHb`^MV(`_Q`DKwXYw$8DGQiS}ov| z=nk|Cu?RyfxPMBry;$XUk|ex}u>0Nf*2qs3hrTAY(b^R&B+xu2?>d2iIl9KOtZeSu zRCsINrLjY=@p+9nJ?fWdhM;4_WE)b-#dL$y)^q~B!cG61H3c8bVY)wDcfUW<-FKNp`km+c)p4iQbx-ap=gMeujnkC--O`6BeUr?~Ui~vI1oejV$)82n;y8RL%6`cQ-<) zMDH-DnlVYr+3-=sUKUVkFh@6%FyvwP&g5K6lGb+-4_=%nXJ8K8F}NHfd?Rqx=Lx;r zAZ$y*MbEoQMX1-~TkCDOE+C^WCp2e{#itLuIi=7fjbI+qnr9lyaXqThBr6dRhPK1! zvAL5`CWC_@;NMGVt_rDs8Jo*9{DjP8hO@a2+pJU<*)Ju`$3J*E@YqE=oQBvEOt-E$ zmYqDGyq8S9OkW8|!*RjcyTp%W!?o2LbQ1<*$ZbM&Cma#ar>I->dK(_xR?pb;Op_G@ z%OX?Dg|Fs}jFuXyA5w;r=9+;MYElqF8J1WZdYfC`AmHsbbK7a_fOchUBbwaT4V?$- zkzvqD(T!iI1njmyD&kXjmE}!-KIr~ZrqkEx^(+PBz-_6Ihb%bB&essr%dlQ-oPOMkxIPEoWw6JCbU*uws8sMvqGh>o zM%M6ZN8nNNpRHd6ZPG*?X|1J(2k>DRz1p`bdTez*S-K%=s~n<^*t&h#MpbRbuAQKs z&?2!k(GKUk1{Z*5ptX2rY>y2tvS4Sm^zNb)6_7}L{dT?Wiv)8Xgc3(9x)H6%gbj5) zOFQPF3DpJdjm?}AKC{!YxbwboNa|#FnfGPUeuX>ZNzS$KYX{RU&s+Pxo!=KFHH4d@AP-w6 zZ+ucHFRmFx*ba*|FRuR`lV#-gelJzAN){XnQQ)hyW3Yr$_vs7enjrnE$sy{sowFaom z4N$~0V828(t_XcZ+{GqWoBLXCzL*Jb#k_IqXA};`2mV0I6IeZS9?w5O7FJa=kM3J& zh;U7~V_cc91sdkx7PEo~n)gi?<&Mxv7maSqh$V*T?eI(QH!o*(9EM-AhKpA_V2NBP zvL(u>3)Mw%{takbG@Po>)SpA z?iff()vq1}&Xa3+m;LK_9{M~=JBk!0*C!pPCquo)#Z(flsiA}u-2DyXJadEtV~!Y*f?jbmk>{s6zz zV3Tq=b@DjyadZ3lR_-zm4z?e3q4j6B8ZAAlo` zfz6tQ84$UBk5k`??~F!#Hdz};SU<(q6E`9ey*CL{s;A=cRWIcVI@2XzCO>@&VAi*S zA35vWgJ2^K77z2}^e*r%G!|xh$1LkjM?YTq)jn@nds&%~|Ab>Y~e(>)C2 zir&$!_}5bUJe;Nq2Z!JPV!tS|Ngm2VHbpat3@Hc30nOnYHr{g3rG_LhZ<5G`Q?9G@ z{0uWg#Up_XO|J3r81}zYdz!hc5ay3_&^fwLH;Hj9*4z2jdv*t|TXufUC;ZbYLcY4= zQ@$WhmYc7QClsh?en7LJo4E5lwchU17k%6Z7 z8cMfqYjpMr3jE}5CCRwG&0OJ9Q(J00n5A=qfMXjO&1Hqf@5r|0-!_rT_TxJoabdQJ z>6;RvK)f*Oxud_3WuHf_N>B+0W(tZTZ;ByI3I|sG44{=>H}WNKD@$exM1o?=(I@)# zL~AHysJ23w#qX7wRxEp56U&JiWyj&Qjchfw)y!^lp$Eq}&B?(!%Y}voLX}uxiK)m=&1^1Q$@3cyPvD@`N5N8;Jrt3A6~AVQo3h>qJ-2H>wlwq1xe+&?!ZI&LyzPORZxwVN z#e0P`YIJhglPUnw5>o?#egDY&sMg7N92bg0{Xwutdjf&S4Qo{=&^~NlE()@C6+aW7 zM|=k6yRXw>cb*ER144g)!EREtfY+%fk}bJU#$5(uo0-3=&H?q0$Jz+y7H=l3hx+ZZ zA&`-3R;3v5Dg@75#dGl#^l{n=PLx5Xxla95>>@dPjG&|^5?S^rCdwPXw$ELwR;8(` zPZ*ikr0BC$!6cohN%*ZVnQ1o97lspBUy0lp?qpL20s%v5uJBIe^)7a+{%Fr@=n(hl z>!`xjPcWtdd!e2hSQPz{T1OeW)E~ z8Lb=p$@il5bNj%Pmh2F|{(UVy&EBZF71|v}InKnFKXp*-A3GBA;wdX$&8}C>mWNRwUJeSTtq`=^|VZ{!fRcbWaHjt zGC*4R(s0-!$)3A^b%(an{VU#C=*n-4Q9El%Mo(p5%WVp%KUWdgA(D9HepUNjv^wRo zZCq(QEl$~0we5uC>p`b1_mmVWZxQR9p<^1$1b)Da>mP`()jgLGi>wpVrz1k4v%~P` z+_vIO=y_3b;aNUUld$!I`n8D$w?vh43P<)PS?AQNu3iJKToYaf3|7%$PZV;2SiE*Q zWi7*}?^P;Vqg3T~l2+LJ)I_q@*qlZ#lo0}xFFcxum=gjkbt)GBU^|-&c+|cP{~)8a zG2bo`fG1xet@0{hqJ5HV!a4-geMHZ~04CDg@oTZ9HruMZ3A*WbldNsts^BIL8~(9h z@LJd=b^8b}hSDt#*GT7#B^{JWP2xbyUv{vtDllA8vR-#hu9*kGnW&pC1ap}5dz_&C zBG1LVW$+;h)rcA1t&_lIVqfsmLR%HC`;jbT=8pN6deH9A<8|KE73j|e$RUS1uwN3z zlsGlPmp3ps*jZu0&?jv*jG}pRx2Kvoo&;Sab z$%KVQ^Ey|j@uCX!viM$HknnfIBCrJiuvvB42&Z3vg|bgvsVdmwC%&O%`KVb@`*dC5 zkfnN2*#xz0DnhY$JeiUS5O1C+IF-0l!_?9^WIjM<5cs@y`1oNrS?|Z^cR+J z9Tgl1ymeiT+eZMh$=@0wmJ`VsV}Mq)0i=cZ&D>oOEoeE{|7EsVKJ>j9O`WAzq_ zNmT#C6Lv-!04J=~03T^H6hg*qSiw@mSx}WpP~7(yII% z-Izopy=I~5_=zYim(eA3Q8iO6&rhdvpkl#&zqruLobiJQn?q~wa+6}k{h}5k=?+%g zF0Md%0iBx*SIQW1)IH2IfxH4eECd#qGg*~4ZGumcjhM!2Hx8Q+7l^$!$srhFCH^=u z%plJnwpzFowZap0=qQ#fi)eB$*Ux`tVjO9_%i=*qgSjYNs+h3dawsb!>YbAIyqQ!$ zq{Ha>a{*MF;T}M#otnCl_=uf&qZcjYRe>FZ%zC<(#q?6su6v}^ZFuw>kez*++e6Yj z&|7B7f(+4yuJ{nY_pq&nGVo$)r!#zMM*G@9Z$HVx!@Oc;eH$d!KaD1C^FcqtdZnlq07Dpa7CkN#?DW?8`KhGb*D*9N1EH19FjL=ZW+(k z*4>Bg$i!a@lG?QNdMFltcZcv~p??tXGAfl~LNYoK{X9ok#>qlH)XgQGcD^zjJXf@jHZ zON-4GOQVMAO5m%@^H&I-G8kV|yV1`hP_0x9Pvl7rUS(+eWo7s!Z?3@3;BJxi*h|o#I^QbGvs4_ME-`K!cnM=r^BM6g0x+p#;b=0qdi5{^>#7ikVgoxqk2H5<6MkFXlUI6D74j#|U( zpufM?yrH2)@)kMyEAL}gXH5!GO{$YnDcYTF+@5HJ& zz`+cV3L7@ma#d2Gxb(yFG|;feb9z02N^uN4_ji;bl+u0id^QtW0q8>?t!}o2cb>zC zd+oa)eMjIaNTtwof3oEUsH_DtDjXB701%s^%IqW_{9`8P%(HbdqKgdNK{7gw~@0u%3pbH)|t)Bqj64slME{ z3O!23WU`t{XJ6Q{d)4hyO*W$XP0;s-*2%62TmC$rhy_2B=qsWch0cXHSNDUY@VoNx zl%+$+D>xu{g#b=hXw22~;J_Q{-*##ozU!aE2+=tRhFC^=S`6OLNkj|dopslD*?{;01=E8L3OVTBy@*HoLo9jY{?XeYTT#5h zK*CS#6k$;1@P#@R(&vOaG)~)$gL`!L=5H&5YBasQH5UR}$>&^ivgZ;$V#D+GmX~Tz z20BI48sR=a&g8g-2rc9$tuh33*HJdB%RjZ!He2QNPA24Su*Mg)mgy!A=-JJfXA{;< zXf#%}-mW63>txZ*X`vO> z8=%(lb2UdB&Wseu3)Kgb7?Va$J@f9E??HlE65-q5j$S{Z&fLk!)mAQ@!8Cuadr|7{ zMXjJFYje7haL#A8PY7-52*tswcW~WS@4h{^h0t8$N$kII&)kiRx!#B4U!x}7V?GO2 z89i{w)%N@W&v3NK@Gqe+x_ z@66=E{=k7s+sB~=bhse+qi7n^9Ck4GO^Jb;rP@=JOEb+N0Xbvh9#iXPWhW~T0+8p+ zNw|KlXe7k%xM6nAO9WTpeUx~SMPA^R=qvg zQq+F5c#}}v@Pxj{rJfe1&Wm$eaJr0(u6(&mE^3Nv4%Kto#^WM+LlawHUDFMq4sgtFGg@KW~;H57t1T>CgBa!>RFt9c6aMD19BF zRL`cd^b#4g)19s;bcYo%*; z_s70aZi=LUs(OundFOX}(Sb}kB$`8sk2&pP2Ss{g4S#!+J`~L+t^9nb&S8cladH*b{ zUCptKe-Rg|b1x$H+b2;3$rRDG)->s5w(H~N?D=m;jC}k`r#_(J!G;>AD2u{qip(s? zBkt>+Bnc~l2J(`uS08zC4m?%!!2A6C94HT6eQo|bXZo1(b|v}S3BIMu@dizNeaRQf@IK7LaiO>C`0SW@)1B)vlLi}9 zZuB~1!mB=Mb(*pnE4rTc5XR0|sPb9dW&An!F$cZS&+RTz$uE4>@5Nws%^^s-S z?u#nS?mDl~;*7mLdf>YwaDz(A+KBjYDk^q1ihU9{@Stmcm-spD%;9ayGBU@vR-LP~ zhYbIw<9Qyic7oP6NOm8OYby_o%5Gbr8^)Lx^jzi8Y02He7I8mZF9}J}ODWuZzIv}e z-zis>{ol}e?B^R6a0)~AERb+Q*DThXmsjqxG@3{*syqN80%n)(fFWuxUqSft4fshdxy`5T&@ zfx(>TZ*Jt}H9YkLYP?yn?vcsVg&tLte}OfZe)Zz~!<>cwUzxK6MX$E`3!k1p$xSuD zgB0GSi`KuKujKE86bsGVQS)r8h;WJpnxMo5xjFwY%$vlqq5gVeCANF`tJAHi$rb_r zJWr-%5K?)a)92kl9mHjo^h}Fw_uK76m3*T!Lwm2?G?yLMFB`?fr)Xe|IPy`R7i-8s z;Ny{VJKEM{LBg-Q*ci<=J3^cO2Yv>)G1SVhe>;xiaB<10q-+frxchTdaE$=nP(Kh} z+(|@=bf(00MfR(7klHkVH!Ad&`~O9n^?*0I4I4N_s4CTpHMf3Ho|?(K9lo~YchRRW zi7;cn23}<$(Zm12bNs9&j*;vF8s$Mx4^9)EG#DJrlv_hE{ey%Yi_yu<9+j%PXAmgT zt;XY{=f%EXZ{b|kL(Z?ZxF-_(7^5uulYI=2IEhK9W9cEJ4pa8}NF<)Y0IZJ12 z#qCF)1jreEgdh%^e7@ZO#n@ZMMb)K1P{Pn54Kw6`q;z+~v(W3_&%XD*pZE8E`h6%B0@S0TB2Cd)ebLd99B;Z;Ld}}E&!3?2`cosqO?8693Qb4z^^T83 zO>^O_NZjBA&J4)C?U9#PxOB+a>yy~n7OAs01qAR$Ong<`R1`7?Ze1|C)o^S_ zT+Q*Uel#ENZD0{0+uWTd23EAZS_N=uJ_NQ0a^b;s&+svgGgm96Skb{%M?6XOHphX? zh&vaH?b!)Oj+l#3i5Y@8@m*juYE{O=bdhA7s;Nb&xj64 zi(Yg%UUU>|FpRqAwdHm5{YuIN8#0Iu?M(oVaD|G4!p-Rn6$iUg`s3xvUh9yE zMkqyoDUNnrU?BUIP6UvHc4hr3v-guN=SX{MInz(}T#sRy}{wvC(FMX9x;F+oe>IkvWw_FUh&F_?& zM;n^-GM&eX+zoUn@0m(h?>*gZDgC9=qSF+lD#Eo7QGkt{ML0fb|J__;SNu)9bo(vt zC0QdU0~Jfj_W9vnN7J=doW`1b&1kmmYP%KIa4Wf78Y^KT-0GpIy&7p$Ui&Qq*2E)m zwg-Nedjz+J^mHD4bih@NF0Vx2TEg|$q0eD=GSI=oJIix<>mMSwN;PhceAih&R%xMWdn4$v%o)_TZEdh6k;>m;`=0i`{g5?c+PH*PXm+UPR7$|;Y^bvRPW_TK4W|lA< z60$cLsQcFj;0Wmja+#GwRK&~?{(*kIJF#Ef2WKMH^H1N47jH_?YbL$?g9$8@Pl~dT zK}xGY3R-H~XqDgS&@u4-zwolw(u+N6iq8i8?udf>DfyG@yb#Ll#K72l&AA*$LX63V z$7fj42*Pmc^FpWMG#tBbEFY2q=-6|Nt&-QNX~LALNDg-9+9+gPwNI6?uZhYew$R(5lEox_t4Mqj4(G5A1nZ5foXD)OHb#_$U zm~N&>>`t)cPLREDm$~eY62O(6!|v>`;)N+ujMrp82s@yNVwVUD_D?--P7-zK{U{0( z^jQVzm5y)v5j=t`S$`rEw{D;PWD`zX(LV)jZ4<8h&Ow=W(eC1s&!V``3cm;~Qy7Rg zG{etiHOG*B9QyMimw7@@r}0Ff-dptd^9xf-qNxy%R#wZ=WH;-^iVgAfCI#z`z_Fr>!>D zp8Hb0cST^YLnMPcSR1x2z3>p?)Rv@<4KM|mn$n4# z1>9EB*R`3emQ|?FtH6HwSLqxLE-~7jROof%iR{AvTGpQH>u0va!nM6{yXnu&#%%W9 zIT-&9Jc}c3fco=+6cD*<0>9bmyL!Wx>KlFK?;DL5&&tv6@h|jDYU?YQvTJAft3 zJ@DhF221ATN~{SG_~;GrH84~B`j7_4-o{VzTZ0qdU`ynDwsld6vE0^NiL#@u^kb<} zbg#P)Nk71yX^WnQ3MC(`st&Ff-0qA^Xl$yX$QM2xUvNZg)<(KT>fS64d^4Zn(e};i zLrGP5xV~(Tk82E}YD~ge&imGB>Bhh4dHJ;r!?{j^$0mId>`pA7^KF6v_jtB%d_eN~ z;Z5?Hi)qc(c1cqhYE#Nne)OT4(nhX~s4E>)9@7I0D{ z@HlhL;LNeu_rA}l@`X73OfNIZDKCwpi1tv*<`07Q{`#9Bz|Nr)HRyeVpv^BXm%4BE z2=c8^;Yg;pknd7dVSW*%8?Bx>E198hg*x34J!Uf#B4NS}PB$XDJ-;q5+|vht&rH$t z#2lRvYHNLO?@*m*4V{j7qk}@sZw~J@o>Kl#7@be{{{^GXtf{od zKjypS;2v9Vtrlc5_h?!WRm2ESRv^vCLzqD(vOwL#7R3)?Abto&*=j{G`sgAmv#%`Q zkc^%cZnK~0ctcsid6q804AtlTH!2vz45MRcd7T;?j3IWTNp1(1Ctip&q}}a5;j5afLp1WzjEF zts9Hf(HI!W34$FO!Wi}`GEKe*aIbQKH<_02b_l7IG1Tz3YQX84j48|x`C!uL;S zd=&Bw*7q�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

?SZ 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 [!NOTE] -> The Prometheus metrics have been marked as deprecated and will be removed at a later point. The recommendation is to use the OpenTelemetry metrics by following the [Setup OpenTelemetry](https://backstage.io/docs/tutorials/setup-opentelemetry) documentation - -## Overview - -This is a small tutorial that goes over how to setup your Backstage instance to output metrics in a format that can be pulled in by Prometheus. - -## How to Setup Prometheus Metrics - -1. First we need to add the needed dependencies to the `package.json` in the `\packages\backend`: - - ```diff - // packages/backend/package.json - "dependencies": { - + "express-prom-bundle": "^7.0.0", - + "prom-client": "^15.0.0", - ``` - -2. Now we want to run `yarn install` from the root of the project to get those dependencies in place -3. Then we need to add a handler for the metrics by creating a file called `metrics.ts` in the `\packages\backend\src` folder -4. Next we add the following content to the `metrics.ts` file: - - ```ts - // packages/backend/src/metrics.ts - import { useHotCleanup } from '@backstage/backend-common'; - import { RequestHandler } from 'express'; - import promBundle from 'express-prom-bundle'; - import prom from 'prom-client'; - import * as url from 'url'; - - const rootRegEx = new RegExp('^/([^/]*)/.*'); - const apiRegEx = new RegExp('^/api/([^/]*)/.*'); - - export function normalizePath(req: any): string { - const path = url.parse(req.originalUrl || req.url).pathname || '/'; - - // Capture /api/ and the plugin name - if (apiRegEx.test(path)) { - return path.replace(apiRegEx, '/api/$1'); - } - - // Only the first path segment at root level - return path.replace(rootRegEx, '/$1'); - } - - /** - * Adds a /metrics endpoint, register default runtime metrics and instrument the router. - */ - export function metricsHandler(): RequestHandler { - // We can only initialize the metrics once and have to clean them up between hot reloads - useHotCleanup(module, () => prom.register.clear()); - - return promBundle({ - includeMethod: true, - includePath: true, - // Using includePath alone is problematic, as it will include path labels with high - // cardinality (e.g. path params). Instead we would have to template them. However, this - // is difficult, as every backend plugin might use different routes. Instead we only take - // the first directory of the path, to have at least an idea how each plugin performs: - normalizePath, - promClient: { collectDefaultMetrics: {} }, - }); - } - ``` - -5. Now we will extend the router configuration with the `metricsHandler`: - - ```diff - +import { metricsHandler } from './metrics'; - - ... - - const service = createServiceBuilder(module) - .loadConfig(config) - .addRouter('', await healthcheck(healthcheckEnv)) - + .addRouter('', metricsHandler()) - .addRouter('/api', apiRouter); - ``` - -6. You now have everything setup, from the `\packages\backend` folder run `yarn start` this will start up the backend -7. Now in a browser load up `http://localhost:7007/metrics`, if everything went smoothly you should see metrics in your browser something like this: - - ![Prometheus Metrics Example Output](prometheus-metrics-output.png) - -## Metrics - -The following sections goes over the included and experimental metrics available once you have completed this tutorial - -## Included - -This tutorials uses the [`express-prom-bundle`](https://github.com/jochen-schweizer/express-prom-bundle) and the [`prom-client`](https://github.com/siimon/prom-client) to make this all work. They both come with some built in metrics: - -- `express-prom-bundle` comes with 2 metrics: - - `up`: this normally will be just 1 - - `http_request_duration_seconds`: http latency histogram/summary labeled with `status_code`, `method` and `path` -- `prom-client` comes with a collection of metrics around memory, CPU, processes, etc. You can see the supported metrics in the `prom-client's` [`lib/metrics`](https://github.com/siimon/prom-client/tree/master/lib/metrics) folder. - -### Experimental - -There are some custom metrics that have been added to Backstage will be output for you, these are currently deemed experimental and may be changed or removed in a future release. Here is a rough list, again subject to changes: - -- `catalog_entities_count`: Total amount of entities in the catalog -- `catalog_registered_locations_count`: Total amount of registered locations in the catalog -- `catalog_relations_count`: Total amount of relations between entities -- `catalog_stitched_entities_count`: Amount of entities stitched -- `catalog_processed_entities_count`: Amount of entities processed -- `catalog_processing_duration_seconds`: Time spent executing the full processing flow -- `catalog_processors_duration_seconds`: Time spent executing catalog processors -- `catalog_processing_queue_delay_seconds`: The amount of delay between being scheduled for processing, and the start of actually being processed -- `scaffolder_task_count`: Tracks successful task runs. -- `scaffolder_task_duration`: a histogram which tracks the duration of a task run -- `scaffolder_step_count`: a count that tracks each step run -- `scaffolder_step_duration`: a histogram which tracks the duration of each step run diff --git a/contrib/docs/tutorials/quickstart-app-plugin/ExampleComponent.md b/contrib/docs/tutorials/quickstart-app-plugin/ExampleComponent.md deleted file mode 100644 index 78b76cd1a2..0000000000 --- a/contrib/docs/tutorials/quickstart-app-plugin/ExampleComponent.md +++ /dev/null @@ -1,53 +0,0 @@ -### Source repo: https://github.com/johnson-jesse/simple-backstage-app-plugin - -ExampleComponent.tsx reference - -```tsx -import { Typography, Grid } from '@material-ui/core'; -import { identityApiRef, useApi } from '@backstage/core-plugin-api'; -import { - InfoCard, - Header, - Page, - Content, - ContentHeader, - HeaderLabel, - SupportButton, -} from '@backstage/core-components'; -import { ExampleFetchComponent } from '../ExampleFetchComponent'; - -export const ExampleComponent = () => { - const identityApi = useApi(identityApiRef); - const userId = identityApi.getUserId(); - const profile = identityApi.getProfile(); - - return ( - -

- - -
- - - A description of your plugin goes here. - - - - - - {`${profile.displayName} | ${profile.email}`} - - - - - - - - - - ); -}; -``` diff --git a/contrib/docs/tutorials/quickstart-app-plugin/ExampleFetchComponent.md b/contrib/docs/tutorials/quickstart-app-plugin/ExampleFetchComponent.md deleted file mode 100644 index d2c0553e34..0000000000 --- a/contrib/docs/tutorials/quickstart-app-plugin/ExampleFetchComponent.md +++ /dev/null @@ -1,103 +0,0 @@ -### Source repo: https://github.com/johnson-jesse/simple-backstage-app-plugin - -ExampleFetchComponent.tsx reference - -```tsx -import useAsync from 'react-use/lib/useAsync'; -import Alert from '@material-ui/lab/Alert'; -import { githubAuthApiRef, useApi } from '@backstage/core-plugin-api'; -import { Table, TableColumn, Progress } from '@backstage/core-components'; -import { graphql } from '@octokit/graphql'; - -const query = `{ - viewer { - repositories(first: 100) { - totalCount - nodes { - name - createdAt - description - diskUsage - isFork - } - pageInfo { - endCursor - hasNextPage - } - } - } -}`; - -type Node = { - name: string; - createdAt: string; - description: string; - diskUsage: number; - isFork: boolean; -}; - -type Viewer = { - repositories: { - totalCount: number; - nodes: Node[]; - pageInfo: { - endCursor: string; - hasNextPage: boolean; - }; - }; -}; - -type DenseTableProps = { - viewer: Viewer; -}; - -export const DenseTable = ({ viewer }: DenseTableProps) => { - const columns: TableColumn[] = [ - { title: 'Name', field: 'name' }, - { title: 'Created', field: 'createdAt' }, - { title: 'Description', field: 'description' }, - { title: 'Disk Usage', field: 'diskUsage' }, - { title: 'Fork', field: 'isFork' }, - ]; - - return ( - - ); -}; - -export const ExampleFetchComponent = () => { - const auth = useApi(githubAuthApiRef); - - const { value, loading, error } = useAsync(async (): Promise => { - const token = await auth.getAccessToken(); - - const gqlEndpoint = graphql.defaults({ - // Uncomment baseUrl if using enterprise - // baseUrl: 'https://github.MY-BIZ.com/api', - headers: { - authorization: `token ${token}`, - }, - }); - const { viewer } = await gqlEndpoint(query); - return viewer; - }, []); - - if (loading) return ; - if (error) return {error.message}; - if (value && value.repositories) return ; - - return ( -
- ); -}; -``` diff --git a/contrib/kubernetes/basic_kubernetes_example_with_helm/README.md b/contrib/kubernetes/basic_kubernetes_example_with_helm/README.md index c18329f59e..6928fbb568 100644 --- a/contrib/kubernetes/basic_kubernetes_example_with_helm/README.md +++ b/contrib/kubernetes/basic_kubernetes_example_with_helm/README.md @@ -1,3 +1,6 @@ # Basic Kubernetes example with Helm +> [!NOTE] +> This documentation is deprecated and will be removed at a future date, please use the well maintained [Backstage Helm Charts](https://github.com/backstage/charts) for this. + Note that these examples aim to show a minimal setup and do not include best practices for secure Kubernetes deployments. See the [Kubernetes documentation](https://kubernetes.io/docs/concepts/security/) for more information, or resources provided by your own organization. diff --git a/contrib/search/confluence/README.md b/contrib/search/confluence/README.md index 80beb9c169..a468aa8e86 100644 --- a/contrib/search/confluence/README.md +++ b/contrib/search/confluence/README.md @@ -1,5 +1,8 @@ # Confluence +> [!NOTE] +> This documentation is deprecated and will be removed at a future date, please use the well maintained [`@backstage-community/plugin-search-backend-module-confluence-collator` Community Plugin](https://github.com/backstage/community-plugins/tree/main/workspaces/confluence/plugins/search-backend-module-confluence-collator) for this. + These files help you add Confluence as a source to the Backstage Search plugin. To do so, add both files in this directory under the packages/backend/src/plugins/search/ pathway in your Backstage app. Then, add the following code to your packages/app/src/components/search/SearchPage.tsx: diff --git a/docs/service_specification.schema.json b/docs/service_specification.schema.json deleted file mode 100644 index a17f67d30a..0000000000 --- a/docs/service_specification.schema.json +++ /dev/null @@ -1,122 +0,0 @@ -{ - "$schema": "http://json-schema.org/draft-07/schema", - "$id": "backstage.io/v1alpha1", - "type": "object", - "title": "A JSON Schema for Backstage catalog entities.", - "description": "Each descriptor file has a number of entities. This schema matches each of those.", - "examples": [ - { - "apiVersion": "backstage.io/v1alpha1", - "kind": "Component", - "metadata": { - "name": "LoremService", - "description": "Creates Lorems like a pro.", - "labels": { - "product_name": "Random value Generator" - }, - "annnotations": { - "docs": "https://github.com/..../tree/develop/doc" - }, - "teams": [ - { - "name": "Team super great", - "email": "greatTeam@geemel.com" - } - ] - }, - "spec": { - "type": "service", - "lifecycle": "production", - "owner": "tools@example.com" - } - } - ], - "required": ["apiVersion", "kind", "metadata"], - "additionalProperties": false, - "properties": { - "apiVersion": { - "type": "string", - "description": "Version of the specification format for a particular file is written against.", - "enum": ["backstage.io/v1alpha1", "backstage.io/v1beta1"] - }, - "kind": { - "type": "string", - "description": "High level entity type being described, from the Backstage system model.", - "enum": ["Component"] - }, - "metadata": { - "$ref": "#/definitions/metadata" - }, - "spec": { - "$ref": "#/definitions/spec" - } - }, - "definitions": { - "metadata": { - "type": "object", - "description": "Metadata about the entity, i.e. things that aren't directly part of the entity specification itself.", - "required": ["name"], - "additionalProperties": true, - "properties": { - "name": { - "type": "string", - "pattern": "^[a-z0-9A-Z_.-]{1,63}$", - "description": "The name of the entity. This name is both meant for human eyes to recognize the entity, and for machines and other components to reference the entity" - }, - "description": { - "type": "string", - "description": "A human readable description of the entity, to be shown in Backstage. Should be kept short and informative." - }, - "namespace": { - "type": "string", - "description": "The name of a namespace that the entity belongs to." - }, - "labels": { - "type": "object", - "description": "Labels are optional key/value pairs of that are attached to the entity, and their use is identical to kubernetes object labels.", - "additionalProperties": true, - "patternProperties": { - "^([a-zA-Z0-9][a-zA-Z0-9-]{1,61}[a-zA-Z0-9]\\.[a-zA-Z]{2,}/)?[a-z0-9A-Z_\\-\\.]{1,63}$": { - "type": "string", - "pattern": "^[a-z0-9A-Z_.-]{1,63}$" - } - } - }, - "annnotations": { - "type": "object", - "description": "Arbitrary non-identifying metadata attached to the entity, identical in use to kubernetes object annotations.", - "additionalProperties": true, - "patternProperties": { - "^([a-zA-Z0-9][a-zA-Z0-9-]{1,61}[a-zA-Z0-9]\\.[a-zA-Z]{2,}/)?[a-z0-9A-Z_\\-\\.]{1,63}$": { - "type": "string", - "pattern": "^[a-z0-9A-Z_.-]{1,63}$" - } - } - } - } - }, - "spec": { - "type": "object", - "description": "Actual specification data that describes the entity. TODO: shape depend on `kind`", - "required": ["type", "lifecycle", "owner"], - "additionalProperties": true, - "properties": { - "type": { - "type": "string", - "description": "The type of component.", - "examples": ["service"] - }, - "lifecycle": { - "type": "string", - "description": "The lifecycle step that this component is in.", - "examples": ["production"] - }, - "owner": { - "type": "string", - "description": "The owner of the component.", - "examples": ["tools@example.com"] - } - } - } - } -} diff --git a/docs/tutorials/quickstart-app-plugin.md b/docs/tutorials/quickstart-app-plugin.md deleted file mode 100644 index 20e2cea453..0000000000 --- a/docs/tutorials/quickstart-app-plugin.md +++ /dev/null @@ -1,286 +0,0 @@ ---- -id: quickstart-app-plugin -title: Adding Custom Plugin to Existing Monorepo App -description: Tutorial for adding a custom plugin to an existing Backstage monorepo application ---- - -::::info -This documentation is written for the new frontend system, which is the default -in new Backstage apps. If your Backstage app still uses the old frontend system, -read the [old frontend system version of this guide](./quickstart-app-plugin--old.md) -instead. -:::: - -> This document takes you through setting up a new plugin for your existing -> monorepo with a _GitHub provider already setup_. -> -> This document does not cover authoring a plugin for sharing with the Backstage -> community. That will have to be a later discussion. -> -> We start with a skeleton plugin install. And after verifying its -> functionality, we add custom code to display GitHub repository information. - -## The Skeleton Plugin - -1. Start by using the built-in creator. From the terminal and root of your - project run: `yarn new` and select `frontend-plugin`. -1. Enter a plugin ID. We'll use `github-playground` for this tutorial. -1. When the process finishes, let's start the backend: - `yarn --cwd packages/backend start` -1. If you see errors starting, refer to - [Auth Configuration](https://backstage.io/docs/auth/) for more information on - environment variables. -1. And now the frontend, from a new terminal window and the root of your - project: `yarn start` -1. As usual, a browser window should popup loading the App. -1. Now manually navigate to the plugin page from your browser: - `http://localhost:3000/github-playground` -1. You should see successful verbiage for this endpoint, - `Welcome to github-playground!` - -With the new frontend system, plugins are auto-discovered when installed as -dependencies of your `packages/app` package. The plugin was already added there -by `yarn new`, so the route and a sidebar item are available without any manual -wiring in `App.tsx` or `Root.tsx`. - -## The Identity - -Our first modification will be to extract information from the Identity API. - -1. Start by opening - `root: plugins > github-playground > src > components > ExampleComponent > ExampleComponent.tsx` -1. Add two new imports - -```tsx -import { identityApiRef, useApi } from '@backstage/core-plugin-api'; -``` - -3. Adjust the ExampleComponent from inline to block - -_from inline:_ - -```tsx -const ExampleComponent = () => ( ... ) -``` - -_to block:_ - -```tsx -const ExampleComponent = () => { - - return ( - ... - ) -} -``` - -4. Now add our hook and const data before the return statement - -```tsx -const identityApi = useApi(identityApiRef); - -const userId = identityApi.getUserId(); -const profile = identityApi.getProfile(); -``` - -5. Finally, update the InfoCard's jsx to use our new data - -```tsx - - - {`${profile.displayName} | ${profile.email}`} - - -``` - -If everything is saved, you should see your name, id, and email on the -github-playground page. Our data accessed is synchronous. So we just grab and -go. - -https://github.com/backstage/backstage/tree/master/contrib - -6. Here is the entire file for reference - [ExampleComponent.tsx](https://github.com/backstage/backstage/tree/master/contrib/docs/tutorials/quickstart-app-plugin/ExampleComponent.md) - -## The Wipe - -The last file we will touch is ExampleFetchComponent. Because of the number of -changes, let's start by wiping this component clean. - -1. Start by opening - `root: plugins > github-playground > src > components > ExampleFetchComponent > ExampleFetchComponent.tsx` -1. Replace everything in the file with the following: - -```tsx -import useAsync from 'react-use/lib/useAsync'; -import Alert from '@material-ui/lab/Alert'; -import { Table, TableColumn, Progress } from '@backstage/core-components'; -import { githubAuthApiRef, useApi } from '@backstage/core-plugin-api'; -import { graphql } from '@octokit/graphql'; - -export const ExampleFetchComponent = () => { - return
Nothing to see yet
; -}; -``` - -3. Save that and ensure you see no errors. Comment out the unused imports if - your linter gets in the way. - -###### We will add a lot to this file for the sake of ease. Please don't do this in productional code! - -## The Graph Model - -GitHub has a GraphQL API available for interacting. Let's start by adding our -basic repository query - -1. Add the query const statement outside ExampleFetchComponent - -```tsx -const query = `{ - viewer { - repositories(first: 100) { - totalCount - nodes { - name - createdAt - description - diskUsage - isFork - } - pageInfo { - endCursor - hasNextPage - } - } - } -}`; -``` - -2. Using this structure as a guide, we will break our query into type parts -3. Add the following outside of ExampleFetchComponent - -```tsx -type Node = { - name: string; - createdAt: string; - description: string; - diskUsage: number; - isFork: boolean; -}; - -type Viewer = { - repositories: { - totalCount: number; - nodes: Node[]; - pageInfo: { - endCursor: string; - hasNextPage: boolean; - }; - }; -}; -``` - -## The Table Model - -Using Backstage's own component library, let's define a custom table. This -component will get used if we have data to display. - -1. Add the following outside of ExampleFetchComponent - -```tsx -type DenseTableProps = { - viewer: Viewer; -}; - -export const DenseTable = ({ viewer }: DenseTableProps) => { - const columns: TableColumn[] = [ - { title: 'Name', field: 'name' }, - { title: 'Created', field: 'createdAt' }, - { title: 'Description', field: 'description' }, - { title: 'Disk Usage', field: 'diskUsage' }, - { title: 'Fork', field: 'isFork' }, - ]; - - return ( -
- ); -}; -``` - -## The Fetch - -We're ready to flush out our fetch component - -1. Add our api hook inside ExampleFetchComponent - -```tsx -const auth = useApi(githubAuthApiRef); -``` - -2. The access token we need to make our GitHub request and the request itself is - obtained in an asynchronous manner. -3. Add the `useAsync` block inside the ExampleFetchComponent - -```tsx -const { value, loading, error } = useAsync(async (): Promise => { - const token = await auth.getAccessToken(); - - const gqlEndpoint = graphql.defaults({ - // Uncomment baseUrl if using enterprise - // baseUrl: 'https://github.MY-BIZ.com/api', - headers: { - authorization: `token ${token}`, - }, - }); - const { viewer } = await gqlEndpoint(query); - return viewer; -}, []); -``` - -4. The resolved data is conveniently destructured with `value` containing our - Viewer type. `loading` as a boolean, self explanatory. And `error` which is - present only if necessary. So let's use those as the first 3 of 4 multi - return statements. -5. Add the _if return_ blocks below our async block - -```tsx -if (loading) return ; -if (error) return {error.message}; -if (value && value.repositories) return ; -``` - -6. The third line here utilizes our custom table accepting our Viewer type. -7. Finally, we add our _else return_ block to catch any other scenarios. - -```tsx -return ( -
-); -``` - -8. After saving that, and given we don't have any errors, you should see a table - with basic information on your repositories. -9. Here is the entire file for reference - [ExampleFetchComponent.tsx](https://github.com/backstage/backstage/tree/master/contrib/docs/tutorials/quickstart-app-plugin/ExampleFetchComponent.md) -10. We finished! You should see your own GitHub repository's information - displayed in a basic table. If you run into issues, you can compare the repo - that backs this document, - [simple-backstage-app-plugin](https://github.com/johnson-jesse/simple-backstage-app-plugin) - -## Where to go from here - -> Break apart ExampleFetchComponent into smaller logical parts contained in -> their own files. Rename your components to something other than ExampleXxx. -> -> You might be really proud of a plugin you develop. Consider sharing it with -> the Backstage community by contributing to the [community-plugins repository](https://github.com/backstage/community-plugins). From d42d56d62b3cd31f1d88e4644a5731ff9e93c996 Mon Sep 17 00:00:00 2001 From: Andre Wanlin Date: Sat, 21 Mar 2026 17:14:52 +0100 Subject: [PATCH 2/6] Fixed broken link Signed-off-by: Andre Wanlin --- beps/0003-auth-architecture-evolution/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/beps/0003-auth-architecture-evolution/README.md b/beps/0003-auth-architecture-evolution/README.md index 33bf80a099..eedd63e850 100644 --- a/beps/0003-auth-architecture-evolution/README.md +++ b/beps/0003-auth-architecture-evolution/README.md @@ -36,7 +36,7 @@ The changes to the service-to-service auth are aimed to be the minimum needed to ## Motivation -This proposal aims to address several of the points in the [Auth Meta issue](https://github.com/backstage/backstage/issues/15999), with the overarching goal being to replace the existing [API request authentication](https://github.com/backstage/backstage/blob/master/contrib/docs/tutorials/authenticate-api-requests.md) tutorial in `contrib/` with a more robust and secure built-in solution. The tutorial exists for two purposes: to add authentication of API requests as part of using the permission system in Backstage, and to protect a Backstage instance from external access. It does a fairly good job of the former, although we want to avoid placing user tokens in cookies, but it does a quite poor job of the latter, which we want to fix. +This proposal aims to address several of the points in the [Auth Meta issue](https://github.com/backstage/backstage/issues/15999), with the overarching goal being to replace the existing [API request authentication](https://github.com/backstage/backstage/blob/a93b7fdafb6789277661ba77b8cc3390de82db27/contrib/docs/tutorials/authenticate-api-requests.md) tutorial in `contrib/` with a more robust and secure built-in solution. The tutorial exists for two purposes: to add authentication of API requests as part of using the permission system in Backstage, and to protect a Backstage instance from external access. It does a fairly good job of the former, although we want to avoid placing user tokens in cookies, but it does a quite poor job of the latter, which we want to fix. A secondary goal is to do this work before stabilizing the APIs in the new Backend system, as it will have some impact on how plugin backends are built. This will inevitably also lead to the need to improve the way that service-to-service auth is handled in Backstage, although that is not the primary goal of this work. From 13c3c0ab1511c5a6a3995797d71d77f6ee5abd8b Mon Sep 17 00:00:00 2001 From: Andre Wanlin <67169551+awanlin@users.noreply.github.com> Date: Sat, 21 Mar 2026 17:17:54 +0100 Subject: [PATCH 3/6] Potential fix for pull request finding Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com> Signed-off-by: Andre Wanlin <67169551+awanlin@users.noreply.github.com> --- contrib/search/confluence/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/contrib/search/confluence/README.md b/contrib/search/confluence/README.md index a468aa8e86..95d74f6b2b 100644 --- a/contrib/search/confluence/README.md +++ b/contrib/search/confluence/README.md @@ -1,7 +1,7 @@ # Confluence > [!NOTE] -> This documentation is deprecated and will be removed at a future date, please use the well maintained [`@backstage-community/plugin-search-backend-module-confluence-collator` Community Plugin](https://github.com/backstage/community-plugins/tree/main/workspaces/confluence/plugins/search-backend-module-confluence-collator) for this. +> This documentation is deprecated and will be removed at a future date. Please use the well-maintained [`@backstage-community/plugin-search-backend-module-confluence-collator` Community Plugin](https://github.com/backstage/community-plugins/tree/main/workspaces/confluence/plugins/search-backend-module-confluence-collator) instead. These files help you add Confluence as a source to the Backstage Search plugin. To do so, add both files in this directory under the packages/backend/src/plugins/search/ pathway in your Backstage app. From 6e6eff9b9065f6064a31ebea7b1b5a2bbc15f901 Mon Sep 17 00:00:00 2001 From: Andre Wanlin Date: Sat, 21 Mar 2026 17:43:46 +0100 Subject: [PATCH 4/6] Fixes Signed-off-by: Andre Wanlin --- .../kubernetes/basic_kubernetes_example_with_helm/README.md | 2 +- docs/releases/v1.8.0-changelog.md | 2 +- mkdocs.yml | 1 - plugins/scaffolder-backend/CHANGELOG.md | 4 ++-- 4 files changed, 4 insertions(+), 5 deletions(-) diff --git a/contrib/kubernetes/basic_kubernetes_example_with_helm/README.md b/contrib/kubernetes/basic_kubernetes_example_with_helm/README.md index 6928fbb568..e4e4117b9c 100644 --- a/contrib/kubernetes/basic_kubernetes_example_with_helm/README.md +++ b/contrib/kubernetes/basic_kubernetes_example_with_helm/README.md @@ -1,6 +1,6 @@ # Basic Kubernetes example with Helm > [!NOTE] -> This documentation is deprecated and will be removed at a future date, please use the well maintained [Backstage Helm Charts](https://github.com/backstage/charts) for this. +> This documentation is deprecated and will be removed at a future date, please use the well-maintained [Backstage Helm Charts](https://github.com/backstage/charts) for this. Note that these examples aim to show a minimal setup and do not include best practices for secure Kubernetes deployments. See the [Kubernetes documentation](https://kubernetes.io/docs/concepts/security/) for more information, or resources provided by your own organization. diff --git a/docs/releases/v1.8.0-changelog.md b/docs/releases/v1.8.0-changelog.md index 54447a3960..cc5c26bf8d 100644 --- a/docs/releases/v1.8.0-changelog.md +++ b/docs/releases/v1.8.0-changelog.md @@ -646,7 +646,7 @@ - `step`: The name of the step that was run - `result`: A string describing whether the task ran successfully, failed, or was skipped - You can find a guide for running Prometheus metrics here: + You can find a guide for running Prometheus metrics here: - 5921b5ce49: - The GitLab Project ID for the `publish:gitlab:merge-request` action is now passed through the query parameter `project` in the `repoUrl`. It still allows people to not use the `projectid` and use the `repoUrl` with the `owner` and `repo` query parameters instead. This makes it easier to publish to repositories instead of writing the full path to the project. diff --git a/mkdocs.yml b/mkdocs.yml index e01ab2a431..4b32556c96 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -221,7 +221,6 @@ nav: - React Router 6.0 Migration: 'tutorials/react-router-stable-migration.md' - Package Role Migration: 'tutorials/package-role-migration.md' - Migrating away from @backstage/core: 'tutorials/migrating-away-from-core.md' - - Adding Custom Plugin to Existing Monorepo App: 'tutorials/quickstart-app-plugin.md' - Manual Rollback using Knex: 'tutorials/manual-knex-rollback.md' - Switching Backstage from SQLite to PostgreSQL: 'tutorials/switching-sqlite-postgres.md' - Using the Backstage Proxy from Within a Plugin: 'tutorials/using-backstage-proxy-within-plugin.md' diff --git a/plugins/scaffolder-backend/CHANGELOG.md b/plugins/scaffolder-backend/CHANGELOG.md index 25d3f0f8f2..dc2a306271 100644 --- a/plugins/scaffolder-backend/CHANGELOG.md +++ b/plugins/scaffolder-backend/CHANGELOG.md @@ -5651,7 +5651,7 @@ - `step`: The name of the step that was run - `result`: A string describing whether the task ran successfully, failed, or was skipped - You can find a guide for running Prometheus metrics here: https://github.com/backstage/backstage/blob/master/contrib/docs/tutorials/prometheus-metrics.md + You can find a guide for running Prometheus metrics here: https://github.com/backstage/backstage/blob/384b7bac2e/contrib/docs/tutorials/prometheus-metrics.md - 5921b5ce49: - The GitLab Project ID for the `publish:gitlab:merge-request` action is now passed through the query parameter `project` in the `repoUrl`. It still allows people to not use the `projectid` and use the `repoUrl` with the `owner` and `repo` query parameters instead. This makes it easier to publish to repositories instead of writing the full path to the project. - 5025d2e8b6: Adds the ability to pass (an optional) array of strings that will be applied to the newly scaffolded repository as topic labels. @@ -5744,7 +5744,7 @@ - `step`: The name of the step that was run - `result`: A string describing whether the task ran successfully, failed, or was skipped - You can find a guide for running Prometheus metrics here: https://github.com/backstage/backstage/blob/master/contrib/docs/tutorials/prometheus-metrics.md + You can find a guide for running Prometheus metrics here: https://github.com/backstage/backstage/blob/384b7bac2e/contrib/docs/tutorials/prometheus-metrics.md ### Patch Changes From e66fa1898cb46e5e51d3e482fe87f2ce012544ec Mon Sep 17 00:00:00 2001 From: Andre Wanlin Date: Fri, 3 Apr 2026 12:30:40 -0500 Subject: [PATCH 5/6] Sidebar fix Signed-off-by: Andre Wanlin --- microsite/sidebars.ts | 1 - 1 file changed, 1 deletion(-) diff --git a/microsite/sidebars.ts b/microsite/sidebars.ts index 09d25dfccf..f93731a427 100644 --- a/microsite/sidebars.ts +++ b/microsite/sidebars.ts @@ -655,7 +655,6 @@ export default { description: 'Technical tutorials and guides.', }, [ - 'tutorials/quickstart-app-plugin', 'tutorials/configuring-plugin-databases', 'tutorials/manual-knex-rollback', 'tutorials/switching-sqlite-postgres', From 8bf97618ee3e8dab4716924bccb3ea046d7996b9 Mon Sep 17 00:00:00 2001 From: Andre Wanlin Date: Fri, 3 Apr 2026 12:39:28 -0500 Subject: [PATCH 6/6] Fixed links Signed-off-by: Andre Wanlin --- docs/tutorials/quickstart-app-plugin--old.md | 315 ------------------- 1 file changed, 315 deletions(-) delete mode 100644 docs/tutorials/quickstart-app-plugin--old.md diff --git a/docs/tutorials/quickstart-app-plugin--old.md b/docs/tutorials/quickstart-app-plugin--old.md deleted file mode 100644 index 59fa6143b8..0000000000 --- a/docs/tutorials/quickstart-app-plugin--old.md +++ /dev/null @@ -1,315 +0,0 @@ ---- -id: quickstart-app-plugin--old -title: Adding Custom Plugin to Existing Monorepo App (Old Frontend System) -description: Tutorial for adding a custom plugin to an existing Backstage monorepo application ---- - -::::info -This documentation is for Backstage apps that still use the old frontend -system. If your app uses the new frontend system, read the -[current guide](./quickstart-app-plugin.md) instead. -:::: - -###### September 15th 2020 - v0.1.1-alpha.21 - -
- -> This document takes you through setting up a new plugin for your existing -> monorepo with a _GitHub provider already setup_. If you don't have either of -> those, you can clone -> [simple-backstage-app](https://github.com/johnson-jesse/simple-backstage-app) -> which this document builds on. -> -> This document does not cover authoring a plugin for sharing with the Backstage -> community. That will have to be a later discussion. -> -> We start with a skeleton plugin install. And after verifying its -> functionality, extend the Sidebar to make our life easy. Finally, we add -> custom code to display GitHub repository information. -> -> This document assumes you have Node.js 16 active along with Yarn and Python. -> Please note, that at the time of this writing, the current version is -> 0.1.1-alpha.21. This guide can still be used with future versions, just, -> verify as you go. If you run into issues, you can compare your setup with mine -> here > -> [simple-backstage-app-plugin](https://github.com/johnson-jesse/simple-backstage-app-plugin). - -## The Skeleton Plugin - -1. Start by using the built-in creator. From the terminal and root of your - project run: `yarn new` and select `frontend-plugin`. -1. Enter a plugin ID. I used `github-playground` -1. When the process finishes, let's start the backend: - `yarn --cwd packages/backend start` -1. If you see errors starting, refer to - [Auth Configuration](https://backstage.io/docs/auth/) for more information on - environment variables. -1. And now the frontend, from a new terminal window and the root of your - project: `yarn start` -1. As usual, a browser window should popup loading the App. -1. Now manually navigate to our plugin page from your browser: - `http://localhost:3000/github-playground` -1. You should see successful verbiage for this endpoint, - `Welcome to github-playground!` - -## The Shortcut - -Let's add a shortcut. - -1. Open and modify `root: packages > app > src > components > Root.tsx` with the - following: - -```tsx -import GitHubIcon from '@material-ui/icons/GitHub'; -... - -``` - -Simple! The App will reload with your changes automatically. You should now see -a GitHub icon displayed in the sidebar. Clicking that will link to our new -plugin. And now, the API fun begins. - -## The Identity - -Our first modification will be to extract information from the Identity API. - -1. Start by opening - `root: plugins > github-playground > src > components > ExampleComponent > ExampleComponent.tsx` -1. Add two new imports - -```tsx -// Add identityApiRef to the list of imported from core -import { identityApiRef, useApi } from '@backstage/core-plugin-api'; -``` - -3. Adjust the ExampleComponent from inline to block - -_from inline:_ - -```tsx -const ExampleComponent = () => ( ... ) -``` - -_to block:_ - -```tsx -const ExampleComponent = () => { - - return ( - ... - ) -} -``` - -4. Now add our hook and const data before the return statement - -```tsx -// our API hook -const identityApi = useApi(identityApiRef); - -// data to use -const userId = identityApi.getUserId(); -const profile = identityApi.getProfile(); -``` - -5. Finally, update the InfoCard's jsx to use our new data - -```tsx - - - {`${profile.displayName} | ${profile.email}`} - - -``` - -If everything is saved, you should see your name, id, and email on the -github-playground page. Our data accessed is synchronous. So we just grab and -go. - -https://github.com/backstage/backstage/tree/master/contrib - -6. Here is the entire file for reference - [ExampleComponent.tsx](https://github.com/backstage/backstage/tree/master/contrib/docs/tutorials/quickstart-app-plugin/ExampleComponent.md) - -## The Wipe - -The last file we will touch is ExampleFetchComponent. Because of the number of -changes, let's start by wiping this component clean. - -1. Start by opening - `root: plugins > github-playground > src > components > ExampleFetchComponent > ExampleFetchComponent.tsx` -1. Replace everything in the file with the following: - -```tsx -import useAsync from 'react-use/lib/useAsync'; -import Alert from '@material-ui/lab/Alert'; -import { Table, TableColumn, Progress } from '@backstage/core-components'; -import { githubAuthApiRef, useApi } from '@backstage/core-plugin-api'; -import { graphql } from '@octokit/graphql'; - -export const ExampleFetchComponent = () => { - return
Nothing to see yet
; -}; -``` - -3. Save that and ensure you see no errors. Comment out the unused imports if - your linter gets in the way. - -###### We will add a lot to this file for the sake of ease. Please don't do this in production code! - -## The Graph Model - -GitHub has a GraphQL API available for interacting. Let's start by adding our -basic repository query - -1. Add the query const statement outside ExampleFetchComponent - -```tsx -const query = `{ - viewer { - repositories(first: 100) { - totalCount - nodes { - name - createdAt - description - diskUsage - isFork - } - pageInfo { - endCursor - hasNextPage - } - } - } -}`; -``` - -2. Using this structure as a guide, we will break our query into type parts -3. Add the following outside of ExampleFetchComponent - -```tsx -type Node = { - name: string; - createdAt: string; - description: string; - diskUsage: number; - isFork: boolean; -}; - -type Viewer = { - repositories: { - totalCount: number; - nodes: Node[]; - pageInfo: { - endCursor: string; - hasNextPage: boolean; - }; - }; -}; -``` - -## The Table Model - -Using Backstage's own component library, let's define a custom table. This -component will get used if we have data to display. - -1. Add the following outside of ExampleFetchComponent - -```tsx -type DenseTableProps = { - viewer: Viewer; -}; - -export const DenseTable = ({ viewer }: DenseTableProps) => { - const columns: TableColumn[] = [ - { title: 'Name', field: 'name' }, - { title: 'Created', field: 'createdAt' }, - { title: 'Description', field: 'description' }, - { title: 'Disk Usage', field: 'diskUsage' }, - { title: 'Fork', field: 'isFork' }, - ]; - - return ( -
- ); -}; -``` - -## The Fetch - -We're ready to flush out our fetch component - -1. Add our api hook inside ExampleFetchComponent - -```tsx -const auth = useApi(githubAuthApiRef); -``` - -2. The access token we need to make our GitHub request and the request itself is - obtained in an asynchronous manner. -3. Add the `useAsync` block inside the ExampleFetchComponent - -```tsx -const { value, loading, error } = useAsync(async (): Promise => { - const token = await auth.getAccessToken(); - - const gqlEndpoint = graphql.defaults({ - // Uncomment baseUrl if using enterprise - // baseUrl: 'https://github.MY-BIZ.com/api', - headers: { - authorization: `token ${token}`, - }, - }); - const { viewer } = await gqlEndpoint(query); - return viewer; -}, []); -``` - -4. The resolved data is conveniently destructured with `value` containing our - Viewer type. `loading` as a boolean, self explanatory. And `error` which is - present only if necessary. So let's use those as the first 3 of 4 multi - return statements. -5. Add the _if return_ blocks below our async block - -```tsx -if (loading) return ; -if (error) return {error.message}; -if (value && value.repositories) return ; -``` - -6. The third line here utilizes our custom table accepting our Viewer type. -7. Finally, we add our _else return_ block to catch any other scenarios. - -```tsx -return ( -
-); -``` - -8. After saving that, and given we don't have any errors, you should see a table - with basic information on your repositories. -9. Here is the entire file for reference - [ExampleFetchComponent.tsx](https://github.com/backstage/backstage/tree/master/contrib/docs/tutorials/quickstart-app-plugin/ExampleFetchComponent.md) -10. We finished! You should see your own GitHub repository's information - displayed in a basic table. If you run into issues, you can compare the repo - that backs this document, - [simple-backstage-app-plugin](https://github.com/johnson-jesse/simple-backstage-app-plugin) - -## Where to go from here - -> Break apart ExampleFetchComponent into smaller logical parts contained in -> their own files. Rename your components to something other than ExampleXxx. -> -> You might be really proud of a plugin you develop. Consider sharing it with -> the Backstage community by contributing to the [community-plugins repository](https://github.com/backstage/community-plugins).