From e9c14d0c0f41fb77f111ea89db1a0a94ffe81247 Mon Sep 17 00:00:00 2001 From: Daniel Hougaard Date: Fri, 5 Sep 2025 14:15:27 +0200 Subject: [PATCH 01/24] docs: docs for ID and slug support across all operator CRDS --- .../infisical-dynamic-secret-crd.mdx | 16 ++++++++++- .../kubernetes/infisical-push-secret-crd.mdx | 15 ++++++++++- .../kubernetes/infisical-secret-crd.mdx | 27 ++++++++++++++----- 3 files changed, 50 insertions(+), 8 deletions(-) diff --git a/docs/integrations/platforms/kubernetes/infisical-dynamic-secret-crd.mdx b/docs/integrations/platforms/kubernetes/infisical-dynamic-secret-crd.mdx index 76dd24cf7..86db8febe 100644 --- a/docs/integrations/platforms/kubernetes/infisical-dynamic-secret-crd.mdx +++ b/docs/integrations/platforms/kubernetes/infisical-dynamic-secret-crd.mdx @@ -223,7 +223,8 @@ spec: spec: dynamicSecret: secretName: - projectId: + projectId: # Either projectId or projectSlug is required + projectSlug: environmentSlug: secretsPath: ``` @@ -238,8 +239,21 @@ spec: The project ID of where the dynamic secret is stored in Infisical. + + + Please note that you can only use either `projectId` or `projectSlug` in the `dynamicSecret` field. + + + The project slug of where the dynamic secret is stored in Infisical. + + + Please note that you can only use either `projectId` or `projectSlug` in the `dynamicSecret` field. + + + + {" "} diff --git a/docs/integrations/platforms/kubernetes/infisical-push-secret-crd.mdx b/docs/integrations/platforms/kubernetes/infisical-push-secret-crd.mdx index d5a9c1ef4..0affe7841 100644 --- a/docs/integrations/platforms/kubernetes/infisical-push-secret-crd.mdx +++ b/docs/integrations/platforms/kubernetes/infisical-push-secret-crd.mdx @@ -44,7 +44,8 @@ Before applying the InfisicalPushSecret CRD, you need to create a Kubernetes sec deletionPolicy: Delete # If set to delete, the secret(s) inside Infisical managed by the operator, will be deleted if the InfisicalPushSecret CRD is deleted. destination: - projectId: + projectId: # Either projectId or projectSlug is required + projectSlug: environmentSlug: secretsPath: @@ -203,6 +204,18 @@ After applying the InfisicalPushSecret CRD, you should notice that the secrets y The project ID where you want to create the secrets in Infisical. + + + Please note that you can only use either `projectId` or `projectSlug` in the `destination` field. + + + + + The project slug where you want to create the secrets in Infisical. + + + Please note that you can only use either `projectId` or `projectSlug` in the `destination` field. + diff --git a/docs/integrations/platforms/kubernetes/infisical-secret-crd.mdx b/docs/integrations/platforms/kubernetes/infisical-secret-crd.mdx index d0e403b79..d72d58957 100644 --- a/docs/integrations/platforms/kubernetes/infisical-secret-crd.mdx +++ b/docs/integrations/platforms/kubernetes/infisical-secret-crd.mdx @@ -142,7 +142,10 @@ spec: authentication: universalAuth: secretsScope: + # either projectSlug or projectId is required projectSlug: # <-- project slug + projectId: # <-- project id + envSlug: # "dev", "staging", "prod", etc.. secretsPath: "" # Root is "/" credentialsRef: @@ -496,9 +499,11 @@ spec: Make sure to also populate the `secretsScope` field with the project slug - _`projectSlug`_, environment slug _`envSlug`_, and secrets path + _`projectSlug`_, or project ID _`projectId`_, environment slug _`envSlug`_, and secrets path _`secretsPath`_ that you want to fetch secrets from. Please see the example below. + + Please note that you can only use either `projectSlug` or `projectId` in the `secretsScope` field. ## Example @@ -545,9 +550,11 @@ spec: Make sure to also populate the `secretsScope` field with the project slug - _`projectSlug`_, environment slug _`envSlug`_, and secrets path + _`projectSlug`_, or project ID _`projectId`_, environment slug _`envSlug`_, and secrets path _`secretsPath`_ that you want to fetch secrets from. Please see the example below. + + Please note that you can only use either `projectSlug` or `projectId` in the `secretsScope` field. ## Example @@ -588,9 +595,11 @@ spec: Make sure to also populate the `secretsScope` field with the project slug - _`projectSlug`_, environment slug _`envSlug`_, and secrets path + _`projectSlug`_, or project ID _`projectId`_, environment slug _`envSlug`_, and secrets path _`secretsPath`_ that you want to fetch secrets from. Please see the example below. + + Please note that you can only use either `projectSlug` or `projectId` in the `secretsScope` field. ## Example @@ -631,9 +640,11 @@ spec: Make sure to also populate the `secretsScope` field with the project slug - _`projectSlug`_, environment slug _`envSlug`_, and secrets path + _`projectSlug`_, or project ID _`projectId`_, environment slug _`envSlug`_, and secrets path _`secretsPath`_ that you want to fetch secrets from. Please see the example below. + + Please note that you can only use either `projectSlug` or `projectId` in the `secretsScope` field. ## Example @@ -675,9 +686,11 @@ spec: Make sure to also populate the `secretsScope` field with the project slug - _`projectSlug`_, environment slug _`envSlug`_, and secrets path + _`projectSlug`_, or project ID _`projectId`_, environment slug _`envSlug`_, and secrets path _`secretsPath`_ that you want to fetch secrets from. Please see the example below. + + Please note that you can only use either `projectSlug` or `projectId` in the `secretsScope` field. ## Example @@ -730,9 +743,11 @@ spec: Make sure to also populate the `secretsScope` field with the project slug - _`projectSlug`_, environment slug _`envSlug`_, and secrets path + _`projectSlug`_, or project ID _`projectId`_, environment slug _`envSlug`_, and secrets path _`secretsPath`_ that you want to fetch secrets from. Please see the example below. + + Please note that you can only use either `projectSlug` or `projectId` in the `secretsScope` field. ## Example From a2550b1d047583999be831919a9975eae988f698 Mon Sep 17 00:00:00 2001 From: x032205 Date: Mon, 8 Sep 2025 23:26:17 -0400 Subject: [PATCH 02/24] feat(audit-log-stream): azure support --- .../audit-log-stream-router.ts | 10 +- .../v1/audit-log-stream-routers/index.ts | 14 ++ .../audit-log-stream-enums.ts | 1 + .../audit-log-stream-factory.ts | 2 + .../audit-log-stream/audit-log-stream-fns.ts | 10 +- .../audit-log-stream-types.ts | 6 +- .../azure/azure-provider-factory.ts | 98 +++++++++++ .../azure/azure-provider-fns.ts | 8 + .../azure/azure-provider-schemas.ts | 52 ++++++ .../azure/azure-provider-types.ts | 7 + backend/src/keystore/keystore.ts | 3 +- .../audit-log-streams/audit-log-streams.mdx | 110 ++++++++++++ .../audit-log-streams/azure-configure-dce.png | Bin 0 -> 308539 bytes .../audit-log-streams/azure-configure-law.png | Bin 0 -> 396532 bytes .../azure-configure-table.png | Bin 0 -> 400871 bytes .../audit-log-streams/azure-create-als.png | Bin 0 -> 143696 bytes .../audit-log-streams/azure-create-dce.png | Bin 0 -> 373436 bytes .../audit-log-streams/azure-create-law.png | Bin 0 -> 400962 bytes .../audit-log-streams/azure-dce-url.png | Bin 0 -> 527163 bytes .../platform/audit-log-streams/azure-dcr.png | Bin 0 -> 550626 bytes .../azure-go-to-resource.png | Bin 0 -> 473654 bytes .../audit-log-streams/azure-new-table.png | Bin 0 -> 493789 bytes frontend/src/helpers/auditLogStreams.ts | 4 +- .../src/hooks/api/auditLogStreams/enums.ts | 1 + .../hooks/api/auditLogStreams/types/index.ts | 5 +- .../types/providers/azure-provider.ts | 14 ++ .../AuditLogStreamForm/AuditLogStreamForm.tsx | 7 + .../AzureProviderAuditLogStreamForm.tsx | 158 ++++++++++++++++++ 28 files changed, 500 insertions(+), 10 deletions(-) create mode 100644 backend/src/ee/services/audit-log-stream/azure/azure-provider-factory.ts create mode 100644 backend/src/ee/services/audit-log-stream/azure/azure-provider-fns.ts create mode 100644 backend/src/ee/services/audit-log-stream/azure/azure-provider-schemas.ts create mode 100644 backend/src/ee/services/audit-log-stream/azure/azure-provider-types.ts create mode 100644 docs/images/platform/audit-log-streams/azure-configure-dce.png create mode 100644 docs/images/platform/audit-log-streams/azure-configure-law.png create mode 100644 docs/images/platform/audit-log-streams/azure-configure-table.png create mode 100644 docs/images/platform/audit-log-streams/azure-create-als.png create mode 100644 docs/images/platform/audit-log-streams/azure-create-dce.png create mode 100644 docs/images/platform/audit-log-streams/azure-create-law.png create mode 100644 docs/images/platform/audit-log-streams/azure-dce-url.png create mode 100644 docs/images/platform/audit-log-streams/azure-dcr.png create mode 100644 docs/images/platform/audit-log-streams/azure-go-to-resource.png create mode 100644 docs/images/platform/audit-log-streams/azure-new-table.png create mode 100644 frontend/src/hooks/api/auditLogStreams/types/providers/azure-provider.ts create mode 100644 frontend/src/pages/organization/SettingsPage/components/AuditLogStreamTab/AuditLogStreamForm/AzureProviderAuditLogStreamForm.tsx diff --git a/backend/src/ee/routes/v1/audit-log-stream-routers/audit-log-stream-router.ts b/backend/src/ee/routes/v1/audit-log-stream-routers/audit-log-stream-router.ts index bf10e48bf..de68352f6 100644 --- a/backend/src/ee/routes/v1/audit-log-stream-routers/audit-log-stream-router.ts +++ b/backend/src/ee/routes/v1/audit-log-stream-routers/audit-log-stream-router.ts @@ -1,5 +1,9 @@ import { z } from "zod"; +import { + AzureProviderListItemSchema, + SanitizedAzureProviderSchema +} from "@app/ee/services/audit-log-stream/azure/azure-provider-schemas"; import { CustomProviderListItemSchema, SanitizedCustomProviderSchema @@ -19,13 +23,15 @@ import { AuthMode } from "@app/services/auth/auth-type"; const SanitizedAuditLogStreamSchema = z.union([ SanitizedCustomProviderSchema, SanitizedDatadogProviderSchema, - SanitizedSplunkProviderSchema + SanitizedSplunkProviderSchema, + SanitizedAzureProviderSchema ]); const ProviderOptionsSchema = z.discriminatedUnion("provider", [ CustomProviderListItemSchema, DatadogProviderListItemSchema, - SplunkProviderListItemSchema + SplunkProviderListItemSchema, + AzureProviderListItemSchema ]); export const registerAuditLogStreamRouter = async (server: FastifyZodProvider) => { diff --git a/backend/src/ee/routes/v1/audit-log-stream-routers/index.ts b/backend/src/ee/routes/v1/audit-log-stream-routers/index.ts index ea3d48b30..1884ce3ea 100644 --- a/backend/src/ee/routes/v1/audit-log-stream-routers/index.ts +++ b/backend/src/ee/routes/v1/audit-log-stream-routers/index.ts @@ -1,4 +1,9 @@ import { LogProvider } from "@app/ee/services/audit-log-stream/audit-log-stream-enums"; +import { + CreateAzureProviderLogStreamSchema, + SanitizedAzureProviderSchema, + UpdateAzureProviderLogStreamSchema +} from "@app/ee/services/audit-log-stream/azure/azure-provider-schemas"; import { CreateCustomProviderLogStreamSchema, SanitizedCustomProviderSchema, @@ -21,6 +26,15 @@ export * from "./audit-log-stream-router"; export const AUDIT_LOG_STREAM_REGISTER_ROUTER_MAP: Record Promise> = { + [LogProvider.Azure]: async (server: FastifyZodProvider) => { + registerAuditLogStreamEndpoints({ + server, + provider: LogProvider.Azure, + sanitizedResponseSchema: SanitizedAzureProviderSchema, + createSchema: CreateAzureProviderLogStreamSchema, + updateSchema: UpdateAzureProviderLogStreamSchema + }); + }, [LogProvider.Custom]: async (server: FastifyZodProvider) => { registerAuditLogStreamEndpoints({ server, diff --git a/backend/src/ee/services/audit-log-stream/audit-log-stream-enums.ts b/backend/src/ee/services/audit-log-stream/audit-log-stream-enums.ts index 9c03dc2bd..b23a528a7 100644 --- a/backend/src/ee/services/audit-log-stream/audit-log-stream-enums.ts +++ b/backend/src/ee/services/audit-log-stream/audit-log-stream-enums.ts @@ -1,4 +1,5 @@ export enum LogProvider { + Azure = "azure", Datadog = "datadog", Splunk = "splunk", Custom = "custom" diff --git a/backend/src/ee/services/audit-log-stream/audit-log-stream-factory.ts b/backend/src/ee/services/audit-log-stream/audit-log-stream-factory.ts index f70dc02a0..4dea122d8 100644 --- a/backend/src/ee/services/audit-log-stream/audit-log-stream-factory.ts +++ b/backend/src/ee/services/audit-log-stream/audit-log-stream-factory.ts @@ -1,5 +1,6 @@ import { LogProvider } from "./audit-log-stream-enums"; import { TAuditLogStreamCredentials, TLogStreamFactory } from "./audit-log-stream-types"; +import { AzureProviderFactory } from "./azure/azure-provider-factory"; import { CustomProviderFactory } from "./custom/custom-provider-factory"; import { DatadogProviderFactory } from "./datadog/datadog-provider-factory"; import { SplunkProviderFactory } from "./splunk/splunk-provider-factory"; @@ -7,6 +8,7 @@ import { SplunkProviderFactory } from "./splunk/splunk-provider-factory"; type TLogStreamFactoryImplementation = TLogStreamFactory; export const LOG_STREAM_FACTORY_MAP: Record = { + [LogProvider.Azure]: AzureProviderFactory as TLogStreamFactoryImplementation, [LogProvider.Datadog]: DatadogProviderFactory as TLogStreamFactoryImplementation, [LogProvider.Splunk]: SplunkProviderFactory as TLogStreamFactoryImplementation, [LogProvider.Custom]: CustomProviderFactory as TLogStreamFactoryImplementation diff --git a/backend/src/ee/services/audit-log-stream/audit-log-stream-fns.ts b/backend/src/ee/services/audit-log-stream/audit-log-stream-fns.ts index 87a7736a3..4261bb146 100644 --- a/backend/src/ee/services/audit-log-stream/audit-log-stream-fns.ts +++ b/backend/src/ee/services/audit-log-stream/audit-log-stream-fns.ts @@ -3,14 +3,18 @@ import { TKmsServiceFactory } from "@app/services/kms/kms-service"; import { KmsDataKey } from "@app/services/kms/kms-types"; import { TAuditLogStream, TAuditLogStreamCredentials } from "./audit-log-stream-types"; +import { getAzureProviderListItem } from "./azure/azure-provider-fns"; import { getCustomProviderListItem } from "./custom/custom-provider-fns"; import { getDatadogProviderListItem } from "./datadog/datadog-provider-fns"; import { getSplunkProviderListItem } from "./splunk/splunk-provider-fns"; export const listProviderOptions = () => { - return [getDatadogProviderListItem(), getSplunkProviderListItem(), getCustomProviderListItem()].sort((a, b) => - a.name.localeCompare(b.name) - ); + return [ + getDatadogProviderListItem(), + getSplunkProviderListItem(), + getCustomProviderListItem(), + getAzureProviderListItem() + ].sort((a, b) => a.name.localeCompare(b.name)); }; export const encryptLogStreamCredentials = async ({ diff --git a/backend/src/ee/services/audit-log-stream/audit-log-stream-types.ts b/backend/src/ee/services/audit-log-stream/audit-log-stream-types.ts index d0f78f632..d3f2e0a9e 100644 --- a/backend/src/ee/services/audit-log-stream/audit-log-stream-types.ts +++ b/backend/src/ee/services/audit-log-stream/audit-log-stream-types.ts @@ -1,16 +1,18 @@ import { TAuditLogs } from "@app/db/schemas"; import { LogProvider } from "./audit-log-stream-enums"; +import { TAzureProvider, TAzureProviderCredentials } from "./azure/azure-provider-types"; import { TCustomProvider, TCustomProviderCredentials } from "./custom/custom-provider-types"; import { TDatadogProvider, TDatadogProviderCredentials } from "./datadog/datadog-provider-types"; import { TSplunkProvider, TSplunkProviderCredentials } from "./splunk/splunk-provider-types"; -export type TAuditLogStream = TDatadogProvider | TSplunkProvider | TCustomProvider; +export type TAuditLogStream = TDatadogProvider | TSplunkProvider | TCustomProvider | TAzureProvider; export type TAuditLogStreamCredentials = | TDatadogProviderCredentials | TSplunkProviderCredentials - | TCustomProviderCredentials; + | TCustomProviderCredentials + | TAzureProviderCredentials; export type TCreateAuditLogStreamDTO = { provider: LogProvider; diff --git a/backend/src/ee/services/audit-log-stream/azure/azure-provider-factory.ts b/backend/src/ee/services/audit-log-stream/azure/azure-provider-factory.ts new file mode 100644 index 000000000..9a6157666 --- /dev/null +++ b/backend/src/ee/services/audit-log-stream/azure/azure-provider-factory.ts @@ -0,0 +1,98 @@ +import { RawAxiosRequestHeaders } from "axios"; + +import { request } from "@app/lib/config/request"; +import { BadRequestError } from "@app/lib/errors"; +import { blockLocalAndPrivateIpAddresses } from "@app/lib/validator"; + +import { AUDIT_LOG_STREAM_TIMEOUT } from "../../audit-log/audit-log-queue"; +import { TLogStreamFactoryStreamLog, TLogStreamFactoryValidateCredentials } from "../audit-log-stream-types"; +import { TAzureProviderCredentials } from "./azure-provider-types"; + +function createPayload(event: { createdAt?: Date | string } & Record) { + return [ + { + ...event, + TimeGenerated: (event.createdAt ? new Date(event.createdAt) : new Date()).toISOString() + } + ]; +} + +async function getAzureToken(tenantId: string, clientId: string, clientSecret: string) { + const { data } = await request.post<{ access_token: string }>( + `https://login.microsoftonline.com/${tenantId}/oauth2/v2.0/token`, + new URLSearchParams({ + grant_type: "client_credentials", + client_id: clientId, + client_secret: clientSecret, + scope: "https://monitor.azure.com/.default" + }), + { + headers: { + "Content-Type": "application/x-www-form-urlencoded" + } + } + ); + + return data.access_token; +} + +export const AzureProviderFactory = () => { + const validateCredentials: TLogStreamFactoryValidateCredentials = async ({ + credentials + }) => { + const { tenantId, clientId, clientSecret, dceUrl, dcrId, cltName } = credentials; + + await blockLocalAndPrivateIpAddresses(dceUrl); + + const token = await getAzureToken(tenantId, clientId, clientSecret); + + const streamHeaders: RawAxiosRequestHeaders = { + "Content-Type": "application/json", + Authorization: `Bearer ${token}` + }; + + await request + .post( + `${dceUrl}/dataCollectionRules/${dcrId}/streams/Custom-${cltName}_CL?api-version=2023-01-01`, + createPayload({ ping: "ok" }), + { + headers: streamHeaders, + timeout: AUDIT_LOG_STREAM_TIMEOUT, + signal: AbortSignal.timeout(AUDIT_LOG_STREAM_TIMEOUT) + } + ) + .catch((err) => { + throw new BadRequestError({ message: `Failed to connect with Azure: ${(err as Error)?.message}` }); + }); + + return credentials; + }; + + const streamLog: TLogStreamFactoryStreamLog = async ({ credentials, auditLog }) => { + const { tenantId, clientId, clientSecret, dceUrl, dcrId, cltName } = credentials; + + await blockLocalAndPrivateIpAddresses(dceUrl); + + const token = await getAzureToken(tenantId, clientId, clientSecret); + + const streamHeaders: RawAxiosRequestHeaders = { + "Content-Type": "application/json", + Authorization: `Bearer ${token}` + }; + + await request.post( + `${dceUrl}/dataCollectionRules/${dcrId}/streams/Custom-${cltName}_CL?api-version=2023-01-01`, + createPayload(auditLog), + { + headers: streamHeaders, + timeout: AUDIT_LOG_STREAM_TIMEOUT, + signal: AbortSignal.timeout(AUDIT_LOG_STREAM_TIMEOUT) + } + ); + }; + + return { + validateCredentials, + streamLog + }; +}; diff --git a/backend/src/ee/services/audit-log-stream/azure/azure-provider-fns.ts b/backend/src/ee/services/audit-log-stream/azure/azure-provider-fns.ts new file mode 100644 index 000000000..e558b69e2 --- /dev/null +++ b/backend/src/ee/services/audit-log-stream/azure/azure-provider-fns.ts @@ -0,0 +1,8 @@ +import { LogProvider } from "../audit-log-stream-enums"; + +export const getAzureProviderListItem = () => { + return { + name: "Azure" as const, + provider: LogProvider.Azure as const + }; +}; diff --git a/backend/src/ee/services/audit-log-stream/azure/azure-provider-schemas.ts b/backend/src/ee/services/audit-log-stream/azure/azure-provider-schemas.ts new file mode 100644 index 000000000..50def1d79 --- /dev/null +++ b/backend/src/ee/services/audit-log-stream/azure/azure-provider-schemas.ts @@ -0,0 +1,52 @@ +import RE2 from "re2"; +import { z } from "zod"; + +import { LogProvider } from "../audit-log-stream-enums"; +import { BaseProviderSchema } from "../audit-log-stream-schemas"; + +export const AzureProviderCredentialsSchema = z.object({ + tenantId: z.string().trim().uuid(), + clientId: z.string().trim().uuid(), + clientSecret: z.string().trim().length(40), + + // Data Collection Endpoint URL + dceUrl: z.string().trim().url().min(1).max(255), + + // Data Collection Rule Immutable ID + dcrId: z + .string() + .trim() + .refine((val) => new RE2(/^dcr-[0-9a-f]{32}$/).test(val), "DCR ID must be in dcr-*** format"), + + // Custom Log Table Name + cltName: z.string().trim().min(1).max(255) +}); + +const BaseAzureProviderSchema = BaseProviderSchema.extend({ provider: z.literal(LogProvider.Azure) }); + +export const AzureProviderSchema = BaseAzureProviderSchema.extend({ + credentials: AzureProviderCredentialsSchema +}); + +export const SanitizedAzureProviderSchema = BaseAzureProviderSchema.extend({ + credentials: AzureProviderCredentialsSchema.pick({ + tenantId: true, + clientId: true, + dceUrl: true, + dcrId: true, + cltName: true + }) +}); + +export const AzureProviderListItemSchema = z.object({ + name: z.literal("Azure"), + provider: z.literal(LogProvider.Azure) +}); + +export const CreateAzureProviderLogStreamSchema = z.object({ + credentials: AzureProviderCredentialsSchema +}); + +export const UpdateAzureProviderLogStreamSchema = z.object({ + credentials: AzureProviderCredentialsSchema +}); diff --git a/backend/src/ee/services/audit-log-stream/azure/azure-provider-types.ts b/backend/src/ee/services/audit-log-stream/azure/azure-provider-types.ts new file mode 100644 index 000000000..0ba5f120d --- /dev/null +++ b/backend/src/ee/services/audit-log-stream/azure/azure-provider-types.ts @@ -0,0 +1,7 @@ +import { z } from "zod"; + +import { AzureProviderCredentialsSchema, AzureProviderSchema } from "./azure-provider-schemas"; + +export type TAzureProvider = z.infer; + +export type TAzureProviderCredentials = z.infer; diff --git a/backend/src/keystore/keystore.ts b/backend/src/keystore/keystore.ts index 45589e529..a6135e0ca 100644 --- a/backend/src/keystore/keystore.ts +++ b/backend/src/keystore/keystore.ts @@ -1,9 +1,10 @@ +import { Cluster, Redis } from "ioredis"; + import { buildRedisFromConfig, TRedisConfigKeys } from "@app/lib/config/redis"; import { pgAdvisoryLockHashText } from "@app/lib/crypto/hashtext"; import { applyJitter } from "@app/lib/dates"; import { delay as delayMs } from "@app/lib/delay"; import { ExecutionResult, Redlock, Settings } from "@app/lib/red-lock"; -import { Redis, Cluster } from "ioredis"; export const PgSqlLock = { BootUpMigration: 2023, diff --git a/docs/documentation/platform/audit-log-streams/audit-log-streams.mdx b/docs/documentation/platform/audit-log-streams/audit-log-streams.mdx index fab5f16b7..0a3a41458 100644 --- a/docs/documentation/platform/audit-log-streams/audit-log-streams.mdx +++ b/docs/documentation/platform/audit-log-streams/audit-log-streams.mdx @@ -45,6 +45,116 @@ Infisical Audit Log Streaming enables you to transmit your organization's audit ## Example Providers + + Infisical offers a dedicated **Azure** provider to stream your audit logs, enabling seamless integration with services like Microsoft Sentinel. + + + After setting up all Azure resources, it may take 10-20 minutes for logs to begin streaming. + + + + + Navigate to [Data Collection Endpoints](https://portal.azure.com/#view/HubsExtension/BrowseResource.ReactView/resourceType/microsoft.insights%2Fdatacollectionendpoints) and click **Create**. + + ![azure create dce](/images/platform/audit-log-streams/azure-create-dce.png) + + Configure your Data Collection Endpoint by providing an **Endpoint Name**, **Subscription**, and a **Resource group**. Then click **Review + Create**. + + ![azure configure dce](/images/platform/audit-log-streams/azure-configure-dce.png) + + After creation, it may take a few minutes for the Data Collection Endpoint to appear. Once visible, click on it and copy the **Logs Ingestion** URL. You will need this URL in later steps. + + ![azure dce url](/images/platform/audit-log-streams/azure-dce-url.png) + + + + If you already have a Log Analytics Workspace, you may skip this step. + + + Navigate to [Log Analytics Workspaces](https://portal.azure.com/#browse/Microsoft.OperationalInsights%2Fworkspaces) and click **Create**. + + ![azure create law](/images/platform/audit-log-streams/azure-create-law.png) + + Configure your Log Analytics Workspace by providing a **Subscription**, **Resource group**, and a **Name**. Then click **Review + Create**. + + ![azure configure law](/images/platform/audit-log-streams/azure-configure-law.png) + + Once the workspace is deployed, click **Go to resource** to access it. + + ![azure go to resource](/images/platform/audit-log-streams/azure-go-to-resource.png) + + + Within your Log Analytics Workspace, navigate to **Tables** and click **Create**. Select **New custom log (DCR-based)** from the dropdown. + + ![azure new table](/images/platform/audit-log-streams/azure-new-table.png) + + Configure the Custom Log Table: Provide a **Table name** (e.g., `InfisicalLogs`), select the **Data collection endpoint** created in Step 1, and create a new **Data collection rule** as illustrated in the image below. Then, click **Next**. + + ![azure configure table](/images/platform/audit-log-streams/azure-configure-table.png) + + On the **Schema and transformation** page, you'll be prompted to upload a **Log Sample**. Create a `.json` file with the following content and upload it: + + ```json + { + "id": "00000000-0000-0000-0000-000000000000", + "actor": "user", + "actorMetadata": { + "email": "user@example.com", + "userId": "00000000-0000-0000-0000-000000000000", + "username": "user@example.com" + }, + "ipAddress": "0.0.0.0", + "userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/139.0.0.0 Safari/537.36", + "userAgentType": "web", + "eventType": "get-secrets", + "eventMetadata": {}, + "projectName": "MyProject", + "orgId": "00000000-0000-0000-0000-000000000000", + "projectId": "00000000-0000-0000-0000-000000000000", + "TimeGenerated": "2025-01-01T00:00:00.000Z" + } + ``` + + Optionally, you can add **Transformations** to further destructure the data. For example, to extract actor email and userId: + + ``` + source + | extend + ActorEmail = tostring(actorMetadata.email), + ActorUserId = tostring(actorMetadata.userId) + ``` + + On the final step, click **Create**. + + + It may take a few minutes for your Custom Log Table to be created and appear under Tables. + + + + After creating your Data Collection Rule, you'll need its **Immutable ID**. + + Navigate to [Data collection rules](https://portal.azure.com/#view/HubsExtension/BrowseResource.ReactView/resourceType/microsoft.insights%2Fdatacollectionrules). Click on your newly created DCR and copy its **Immutable ID** for the next step. + + ![azure dcr](/images/platform/audit-log-streams/azure-dcr.png) + + + In Infisical, create a new audit log stream and select the **Azure** provider. Input the following details: + + - **Tenant ID**: Your Tenant ID + - **Client ID**: The Client ID of an App Registration + - **Client Secret**: The Client Secret of an App Registration + - **Data Collection Endpoint URL**: Obtained from Step 1 + - **Data Collection Rule Immutable ID**: Obtained from Step 4 + - **Custom Log Table Name**: Defined in Step 3 + + ![azure create als](/images/platform/audit-log-streams/azure-create-als.png) + + + The App Registration used for authentication must have the **Monitoring Metrics Publisher** role assigned on the **Data Collection Rule** created in Step 3. [See Microsoft Guide](https://learn.microsoft.com/en-us/azure/azure-monitor/logs/tutorial-logs-ingestion-portal#assign-permissions-to-the-dcr). + + + + You can stream to Better Stack using a **Custom** log stream. diff --git a/docs/images/platform/audit-log-streams/azure-configure-dce.png b/docs/images/platform/audit-log-streams/azure-configure-dce.png new file mode 100644 index 0000000000000000000000000000000000000000..b0b32f0b21bcdb488787b10616960cb05b91dd9d GIT binary patch literal 308539 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%0AuXeBg6_)%vSH{u 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%0D}zXrYBmMZqbvAUu528>?t9y{Lk;Gp~T zQ(`I*b8H+&IS%3_ZlKc+m=L@ALa)0?zVTqrP}|M;cv1qH=nVKPuzpqg;!VcCVxNFq zDxKznBp159nuE5}+iOr?T9%+4(+TMlLyM@(9Vsf5@lfn(ve@~C2R`We1wb8dE9)wI zhYyO|i6Rx+E;~N&ijK?2;WPexq!%+U)Il^ZvSn^SvQSWi+p>Bep12L0kjYAix4LTF zm^P=p4{u0Eo}dCCr(?+ z48b2iF6KP=fOj(KL7SUX{_cxeZbrLTC)xAsX{Or=>ABOV!b{@6b)qG+dwLl1=2uZG z0xxGwnLbNDgCbTt%6HS8paZ_1c36kGm*s(&jd4_Iu-0|7nyx>S@%}zlgX?j!F=mus zGGZD2TW%xy{5H>T_m;EVDy$A_oo))%v&&Ed@lo`kT48jqBK zpquQ8AdyM~BU8zz#uaMhg#6X7FCY!!iWz+M9TEQ06<$6w$m|>ZEVlSKGFrhQOds&X zA~8!cUw|Too?ryiClSAZLJGq_wQL7^Z| zty@ek?}MvBG!F-ZYeZ{zkrz{T@WCAv0pE2>)G1<0#z6|P>=&27mSbLj5cm=f)%JKd z*G>QC2kVO6q9@wJ%jLG2@a(Ag5|qQPF~Hy@DeMAhQL8@gxgVnlUdE&-yNPYJU-D&D zPuRWsjjtp&m3qG^JQ(jljmp2Yi{=M;3Y;&`oAdR91$I_P*?R%@w4V8B7_w-p1^)Uq z=-pFdIj?VG%0(XVqM@ZI%3V)jQ()TKi8=B1m6- zewp_s8^ghdquppavRDm+L84KNG<*CzbIl~>{I0~}1_8s6=!hDkk0(~I3z(ALeFmNr z^wh0sC?8|jS7_(+acgXy6P@dm$qT%!$lKN}S<`ubc@jqb`#wk#DNk5SsB}Dq27rlE zshw5LzS7qns4nse>rbx0J}&7*)ty1kQei{#K6A4u3Wcv(7MrW&q>TH+1|CQ`({E0S zUY*|DpUN7xX?0Qd(Wrl;L`8h9pH|v~U7Oj)FPiCN`>xJj*33%~-$fZ}&=K%OM`GG2 z^`5%y-WS!^blx{Eq23`w%4%gOEVsn1+6_>3vbL8!fn7&ReALsxN<;iGg(U5it^J&7 zrpHIg6?GKIx>h|Wtfs-NyH+a9_oXGO+o0sV<@A865y8bZu0DKyNAfVXMp?24e$Z;M zm0q>Hn?ZSIe_=+20mn>(&|m^LTY{l4szXgv4hTjeo>GZP%F2rk~aVkUYW@dAc>PVq}Wr->=`_xNlNb2N$ecH~F=d(f#+CvEYd|W2C*R0-qRyVfp{g@trcJ znHdW8Gf%_m=b%%Z<=Fl1PbGK;&Z=?d!8gTJ*H$+ zB~oOW>fK2be2%Ly^Gr`H|5QSPCO;H<8GL`pq3yli(~tRGYrzC8vINeG$H%*t*_{Bpt>V@yfk9 zi@W`gHEpM#Z#6ZDKHKaz`{yYXm2Jlhf9yC?g+_2K`gTYTxgo?lJ_bAvHpk2&B3`}5 zlkTLjsBe74^Y7h7SzP@)EWE&U++r3CM1S^F6A@-L^0g!pDQ^8fe1c$CDk^(X1%rBR zN{Wv*F7fyFn~=__(Qp^M#?Z->%}jIe{8sxJM%e`!Qun?_H0q74)}tEUO;1SX`-|Hi zUwTe;^!9+(1M&iFT|Jw`=_PZd4Nh+^>aA8ftUWh_+CFvU1ohyuU+ZHJUO@3F_m4iD zZ}35_;1F(dPOs1s%mu>Z>HOz{=HS4I?ad|+HXxesVMPq1YULTN-#( zlLjunCkZ&#NzK33qkX7 z_=i^aG=L)}&;UK*4%5J$+>ErKoHp$za3^C7PBs(uw%<=N&#ag-Q}D>sCn+u&n6^af zXkk51IwU>M-@*5_y|_z`BTk9r3Q}ED3F56Uxy^s;+aaqlT@8+T@2%vVQsMfs)U%}M znzCduosvcMq!6(le!RD3O7<9_aKQ*<&C{0E;@Wv_mLbjhZS9g{{#mx2vg%`m&Ca2k zFVOxLRNc~f_V83RnF%)z_P@yvz6aEtvFrri@jV|kY(gXuXQ$;>SkC*;!)k$Tk>Aop z))_!X!H4+}!lyG1iPQ?zk72x5@d*LNYC@cP0j_6xEv8cp!NQoTZv)0i=VV9>Y&vjM zQJ@2&GM)o6uG-XUkK@q%nQW%}v1nAQRJD#)`hYuB<=)?cUrLz%k~yB9x=E*`WR*K! z)BzmZ`y}u+bM%-mY=Z3ETXbTYUEB}4k3p;A^%X=X8 zVg-{}&r4pBBv&~3R&r?dU_;Qeu(oSOVQ@de)-f;BY}a&|!0j7L@k^}{rnu5_hD^`hXzzJa zx}8^vCF+`3T)OLl^NmNG93DLccs{Wp-Q`m^vbzbJMrB!)dD=ewmlu7l^pI4xQF}S< zQTyy1(ze?|+flSUYmaD`3PST!xc%r7xESx&q288v;2>lce9S60lA&mD}V{IfF;?&CY}b~MOXX|ygmwruiR z=BKyu0($X#xGKRt*@L{CnFCI9&x(83)DcgS6Kg66Sd<3;i$~r-O8KF}n|mRpffPoS zbNw;>>hA8Gjim>bU5K%>?5)KCW{E1ML>mN1^ICywA#He+bn(_cDc}RAJ~EYDxwpr@ zE9^ON_89MVv1uMW_(7lEVzyy++QP2t`DvePGcMn^(fX-(o??a0zI?~HgiC+BG{vu` ze9hhTr#0fG`?$S9GXtlzTqMmTsAng#uk1M2UURlrmt$T9}`Vha6{X6jmP*lSpLXXf1wM=3Z(#9=6Wx2)oTsXdYOTOV*WPxZV`l%#XZ{7j0s6?{N_nu zODe{RqVh8h9v)W8ktP$d6LNQ$J;YSE|H*7smCjY4jYnzPJc0!XqLljK#LrCgA9D)98)hibW3xEYWH0|Akz?&~?_#$>JV=^_*x1|j{B|shi?72JST{WE zc`70^6xK2tFT8NImxny@achR9z9KclJ_Um|=17uUL;*-k_T@lLB53@dcf$*x=@5j% zeYS=8CgAwiT#EwLExG$Je;@bnv0*+Pfd528v)+jesFIsK4^aD>^L>U>pvdAYvi8xoAR@Ijq$4#oo|Fq7|M5p}X=qlG$v_(3LTklx-rg&71Fm#WiyjADv$@p=p zK^q1A5F`O%*nQ}lCH@1US7dslAO<)#fE3)sOwAl^uMzWkd8DKW!gDMsyTWXker`9m%!`be}Pq*WDOJ5IN-eeB#6@a^!%Anadings$DbK=6^#*Yg0R+8xxrGC%*`=j6&eDyizEep!3PzMM=% z)oZv~iyCl}yzZ$HCaTk+mFsbwnk5>jAxfW5cJ8rXIRKaSgp_xvxV+M)SA9%Cbn`pIcd%${#6Ti!U@ejO@5?ay;dGM@;Xa z5VRirop5Ovc(`biI45Yo#~%U=4gnxYYztL~&-a6_sZ+)tYu`8NxUo0tHC>1o4gq?!F^YiJj~w2R+_9dSg0vAg=gz!YJNxWMzpp3NqPz_s(3Wqu0G zV(_88a=s}=8O3TW56-JoLv`qY+l6In>bG<@8hAJxkXsg|6qt)Y{oqAvn)oQXaaRSl z)my&efioC(AW~7+__hKW9moxLUjlb?h{{PdMUF!c5>(dg3E8M$gYvpDeWe@dn zp@bq0^08pB=b^S9;w0NvZhLY+^(&|xP<~i*f4#EY0v1=K&~BV4P<4pFO8+9mz#UBf zZs(s2gS*o07nK=C(u`$RraCEI+MBL$gwA6b3&^CWErYuVY&}gaa4Q6_SVT z--`h%Bl6cZhAayGurgbtN`2!h4WhdTir6@Zz9-iWf7QY|5K9TZff`xKLi*uCd@$L z20!nr!e;+0-@5*eo#nWa_w{*ZPxW<31RX`}d~e90%m-^2L+l{;hw${)L8#N_u~JH; zmp9c%m5KbRi4*!Mbz?&ZN=T4xmB?MKAyy!|&B>4FJ?h>x+qNF6H0WBnm5O=5B-f*+ zL4mIG(zdBdauHY1-q;id(RSeX<;Uocyg;`*rYnfAT%Iu|NF>h)3g&Wfa_g=Wa&b}< z@O0;HW)4<07z41L^O7AiLK14O`vK9f%`U>0>%@`dxy-;%%g*q|#+B|LTFb!mY z3+>E+49m?S`XR-AWQC9_iHiGcPf&3Bk3+C zA|NeBB%J!J5cSB5kK>`dcChme&0`;Ar1dW~gV>;X&H0A1R1@Z!Z<&PAT3+bx%;Vp_ zb{}Y+8yoO@O_hFnQGjm$S_!HF3NQZXcVBTQ2uAp;-L+Vr-{5|p`k>7kF0#4r4x32m z`1>>>`*1z!cZdS+v#NA+1sy~DSNX{bAsczIydJo5P2PdOF{vjN zTfoe334o)S;}9Ws+8>9hL4k8gUBAn=MJD{OM7KvYYkJ-iyq%KRQ_jy|F^nCYZyQbK zWe;(p_d7jK9(7tdoi%wune~=vByS?W(U||=$3K1?eTWSaZpk4MlM+!fp8F47JM@ru zF+~Ane1T`G>6V}FYh$>RXqO4NRfWd6BUH3fZGM>Y<+zte{vrPvddjif_~EOybgkO& zG}q21>RWd7qnmp-UwGdZYRh`Y*V3!B2{ZVb*TI1lzxxWB_vpNfNB(UF705nSig35; zc65~|wI4x#2hgZ|IQM_vm-{E9r|#hY)sw1YFTiDRr|h26x9%mufWT$K@SO5kj9_T1 z3Eo8dTIrV2)0WhW(hhlCAPi80-hX~GeO>{g^v;Lenz$?^K0O>NBBHjqeYY%JMs~RB zhL)V)hulcb>i=>*s#yagy{(@Xn-*wyHI|s8;Q7=BHyMuQhc7^3xpk9|7E5=vYsGkw zW(Ooog|gp^F@~YvknrZJ1gOTb!7UdMffi3s{CsH;mlOBiYG7E32q$VnFJf{Hn`rPU_y%Qn9%k&% z_flj4E2cB09X;N1^7HA-*IhOc9!bBCrR{qkKMYLl&TAPCax>d;QYJf2TPW*1vTmTezjz2bM`%peap^C91*LMd;4( z3|RXFf&6LZ?OMvYynf+&>H6*yv zTG5LTJHPHpfv46~MJ=>g2{a$Sv5cUGOf)6s6>zlRZ1Tm;m>Q(5KM=Y`SZANIL?scdKY|@z$6&UOXN}$2zWA7rh*L~z z7MJR4Q+u`!s+}A#Gh5s_9bs7qyBmkx7$I0aM+H6&)^%;XLi>^H=tE_aG29X1dGq{W zVV{YN2Bf-sGWH&XCP%QOL?Ya_BfmCOYQ3g+{O_~D?UedeJ%NHcwOWC;bl#5!RUOOq zf!NHdY6~W4?ciw z`y@#E0xCC-wyD1-lZ}djtd-N(T?I{2`J+6s_Nd!Zm7|v(X@9ICS?UiuMjIvTWDVdz zKl-z4nDf$fhSFG|bE?fz^SZ>(J1o)(8%(i45}UMjy+$>0TTzaB`N+)0i}W_%XIDPE z3ZcjFULj9Rr!BmcYAlwNK%3L99r3RAIMhf%9VYfa+(ktQj-L$mYocN%L@NFKUs%$= zxE84JQKQGvgp!*o>sB*xuk$0us8+WnIYm>}sJ7+)!0Ebb%Kj|5Zy_|a*8PR&1w}GO z8VB0mZV`+)y0W_y=LzZPxC|W2t_+-I@v=Xf=bES5_d&hY(p8S|j}eK;c1(^Re(z;{W_I1(CtAv;QLSZR2?K<#K+cSQ7X=I!}-xg%V{ zRf1zsP2zqS@pJgGc{_o!g1ya4r9)>+zq$Y&^S{6X=UYR<5DFtRuSW;oUIHQ&rkD1m z#$;^Bdzk?Y%>ue^T&rr9%GZp2eH4AFGSh#uoWu&2_VMliC+^V>|u>9;GnK&dOzJ(j3j~c z0lV9zIjF_oO19JAev)6n*(JH`$y}bs-<13HpCLf^^`246y@u@HXq-%A_$m8PIP&$kx^s9uv%C3iZ3!*e`#vf5{Z3zePO&B z@ZmOv^cU|&A*J==631duQ-LLZKq<{hY))ux)xZ{bAbyZZEtA$U5Br)ikNA#JWoR=C z)Quw21O7l!`4Nk(Hf3NpH!APX9|3A{zTF0QgC2rNsv>?4uVEqBX_HvjY(iyHqScyN1?N9n+pZ>1zI-<@-0X%~g%(~eL5gzu+* z%OkExwc4{fZB6rS%vsaRsqHG}t<19`1&*i$oDCETp5%ftll6h{OCO8(1NmFguH>~N zKr|duaxH%nROb^tVhVYkYgCa4plL`Xu&i9#x8#6yrO^xfOcL{+DTc2Tc)YU9@4712 zy0s>YIv){K(&uV@CmtVI?|egzqM$#-{i0$4_2g?TA%AQhSx&6-H4G!K)DKE+?Os5R zGgioa2HcJ8yD@>C`Q40cuhvdHb`H-+Stq{;@CL1sjxqsG0TxvrtF+8t8!{k>18}ugtg6FNS zg4l(Ja|La3K#$cWnY^J+RKWoovWRZ){4p)b>(bV~z7&1R7VndER0GN8ue&IS6cH+H zgU^;ACE^?Ga z22+g`^GT1%U_v_H^vv<9*w?y>PgY<`7AE{19G5zr4P~ zr?*V3pk%O_n^IuFnhvO%;vKQ%iD~14*S?BDu`qx8_&uqy>bAI_#sCwoipInV{MC7C zY;Atu^6fvL8aSdQeMmmH!ATc=d|JCkX34^CzTO!d9rN62 zTuO$tvYI4W*T?UEp;E=xA7UB$8^;RBqHq{KZ}PR(8Qo)7K~tv=#-v)35J2HJqu{e| z%;xf>JR)W{NOQF7X-;^>eZ2oBAW>e4ZN~N9e_Grw8ugq~X)uE4pl>G$4@&RWcD46C z04rle7@7N>l8WW`38H>I^l<6lhr3Tt*T~gD-uInw^>+;<`IgScJe8^PlHYy(f(~xe zuVNb%bV93=itEvc;M?23lM7CT2$1vDn&j~LJAUOmJRXk(ef2l+Vzm=-mH8oR5UuPN z-+jjQBVpI-i*cE33BRU46}&_^-Q&HQWb{@yimcUkn85MmJYH6vdYTX)>~#hmfi)bT zF1GSpT4ZzEbuRTZO17r_6W!;2`ZdDJq@CPi;q;7mM9W;_jT(NaUw`~;o;7u6lFba| zdB6yqa`y@nPQS)*;NCFlLqW!xvHkFM#ylybK^4PAP~1{aOY>S$o@-LQQgMd4y0m(L zZ9!8ep#e*ilfku8{JXgCbGP0VDQc*bQxJzQ5>9cd`A6sA73pt1D4IpNau1voRg#Wg*0zN=RU`c^ea@D@Z+qV2C z=WwaQ3~A~d{zkbh;H^h9R;T@OreC)Cwj##2VoT%^T=T_^`kYyE{G(6P5=rJi?^9I& zZ6!{NxS|FkD}_vqqqTXMvWPPP?}8)Su`Iq`3-aD=^ASCvxJicGi=#zIou4!x73aFBTM&}%TcoF3ko5% z(=4|g5>Suc2Lt(h?b#v)uvq75TDsiVgR-*k6Aa*$Zj{&k47;lv1hA(yDfhT4UtUVU0z0p2U(k&R<7+85(AaIaDZaVF_IvW^3~+_ zezgZW@g`)R@c5_Z=Om7$M7cNi2SmXH2akpS+;Fu|s8*dJkD0zu2t|_08Efn1+pYjF zZwcyierwThhuuA$3om-EX+^dYf2g|Y&5r>ZX<_YJQ?wj5W<5RBzRaI4g664K4axL>Fmk+VC$o)ea?l($PK+nHz)eH9z_eV z6BrG2IS$tVFV7(@+clb7Y#8lfV8^A$d%O4EqM0i0l*L04fyjdkvPtv)N>d#DapYlEC!4MtiB{kMK1eppRY~7My1+u%k@d*)oaL9{!Oe6Tu|Q zLK29v$kOm9oLPp&Rr)jkwdU?*n;s541w|U4iyOH_AC^R^aiHu|Bv&Ge!}>kP9+Gs! z=vWSEb9En3UdO$M2XngIY#$wP>NN`y(lDS=ue_Axxszaw@>&{y(ulR{-VaTIL^as; zm)Xa=o7BqgttptFWk0Ej#VJF^ON^fxs4NH@UN7R$pDgySQDvAIzmkhJ=g`~q!q5nUURo$2!HG?G^!ix0IWd5 z+qeGIH0`$#)RDwtUA3Z#@WtjIP8TW*4Gv({AQ@Ax#O1w|W?J1Ca;yt8E>H{zI`jQt znN4(;(7sbhz-12USs%8k;ZI)a=a(cg>SrKq*h)sI?H2fa@9o>&xg~kqXpVIwKIMGf z)q}nB^^8*xT33wZH*rwDk2V=xi|{|U&r_KZqaGZ9Bk%d2EPx@>9DONP%UDhMz==Jv z#<3zyQgb7Y5J~UvhGa4 z(5rZgVqYnvSPrs1rCQ81OOwc6P#dX~LT|a76A}IiOO4v}AC-H$kl#<@5A-z~fJ-mY zN8-z_$)SwF(tYA_oZjlpw6L5{;cRZSg)zy_Zv?wT>gL$(r4k?V-xhzIhxov4m8qps z4~@&>dB7plxX5Yz)Ab3};WK^xH4s3LLR6FMT!L4OMKC|j^SWjVLn8f=J=#|wv;Nqs zA?4P9&8ie0gr3^z9Oydwa!Nnq5M|+%NMSzg*dT^nGI4jbU zs1L!Y=(7EmkG*lToD8J7B)F(50@uyybPfVdkdbc8+gUq&JeM3m30J3Ni&=u(8Bx45 zmCw5mEBFxT9*nt|AyP|a_ECARmrw*dVK82^U7H1^BHxr(SOkvQf;R1 zqH*^ZCm&2%MZ2ceT@jnP8|GEH?)bHO6o~8X#aA8W4GkZi8=|H($eMLf8aBT*`Jn|c5skGq>t*ZE zSy+}nO;KS??HwmDypFr#q44^Pm>c%ohhej?ngVi$T}Sb$-~yMAk8(~qA1fyKOjB_I z6AVPP7&Pl=iI;~$`O>;sq~KbcuEeSbgEPUB9&M7w>Xe1w`>WPn+qyb$N3|R(!4y=P zjOD?}WvGnIQRdU)k6J2DynUY1HGr+DM~>KW^u@A-7+*1D!U;giOtMZ}Uf1f$4RX1a zPDHYKzwE*KHsN@+CX@QbRGi_RGao!(5%2D$ug5E39xpF2>9od|m0q9ZqgLvQsx6k4 zw53?i(oCDjGGL4|nh&?}@P(Zg>U@=aG07JTRPnSU?}n?0Aqu2r(IE=AEMd2pi2yp1 z->KtD-tVs9UByyL(2Ap6#G>dYR+6x~&8jw*%L>lqbOp#e;)P%s@+|gJY=En&TVrpa zl%sXcx{{LaL80iPGvfD@RGNE~_^PIi*I&w0!*~B4nlOa^nq!2ED-JmnqR$l9^CTp% zp3zvod=b@@_1TZ57oNX&S60}|q}Hv4&RzA-KJ>z$+G5v%I2@{E)C z)rRl$LJuLq-FHT9h>v_6%>QT>>EX14VMZS~T;npaX_3Q=uTb^wm~s29J6kt`o)`#1 zwjfocVEP!5utQ5H!A%`dC0ksKkU1}M|AHbSbfFx|xu^;;QWpJV-MyeCXJio5XxI}7 zl3{|V^;d_5Nippa3u8tG$5Q{5kw7LVkT-zaM9dYntxd~l+X%IXl_VbKVew7IR-Arh zq4b*zw`jIkCDNXPP^=6Gk0Eq-Kn#EpUkD$r))X9r<-Wxno>gQR^z@ZUTr@=f6mU*$ zt^d`>Vx_}i&wi#~VyF;0%bb0=;pbcs=W)LnXGgZP?0 zw-ebc&e=eR_Lk~9o@S+CTynNWrJ=G5E?3kOi=1`o?(~b?chfNVSK4yh0Fk} z%Wsc*s`Aj~F6EZj9zi{JMi3yco1lFvO3q{}S(>*6+D1H~!ltgqtc?_c!D)ZH4nNwx zD&Eo$K>RXh3j1NLja0K#mX(he`H^(v-ot4&H&mCVUOn5tR~a418*wGhz{qLdkPOX0 z$j|82MvF)nnIseyte9cBbswX5ShvMsiYtU_$;0lL5jD*i4#Ox`q39@*k*m)Ytx}3e z*5I16&PN8Dr;uYubJ0y-_@}$oj-=ZSBie74cX1LN@0$>~4Y&74-saE7)@JKPXqYGg zcU*iEagX-{kId(a75y5~^bkW5p_;Xz6%4>SJ7P9sqq)Zo0sE558X+#7y=Qz~eCKUt znTgIGg<3bSok(K15~qBQF3$!_YWA28nOv22`>G6nA~NY>6NgKg!|&Uz3Rl@T&_bKU zUPyauq$-Mmr9aoh2%|S5@s!0d1)Lvs__}Vap7#`>^h|@%d+*$Q#6D<3(gSMwxEM3; zd$aX=uf`I8X7o15VM4=>F0wsO=M3w9C;XUxQg{D{*RX@gH(hu79o%4W!Ri#tYNgXe zwLJ-EqSIZTyYcoM(?k;*Hf8C|@{1n>RIfU{mvS#!%G{XMNFTTLAdNePyWwMfy(J$g;k20{t0yEHQ&e+HwbM%>g zogL=psb4C&S&j%X#HB`}icA*5#(a-dL5BAViK6Xhy6#zvx0qF*F$hMC>be@zNE0(m z7O&zqnwvu?VapxKTH{MYZiB_kvM4i+$wb@+JVg&u7u5-h`ZcRb^0yrCrN#-=2Y|Dr ziF`&Q9WV1?ch$gJAZW6A>hth^v$Pz<q;cwq!Tz2D^NBo7kx(;LFb9hLUGz*SB~5{EzMQyHIBmNB3wgo~ z-R5N_*(FVo!J|n2Lpjo$zSs}lv;{)Brcrz=_?0!fY8e@M5Y_kP2v7CU!B@E=9Cu;<2T5J~u>;x=iyivRE@U9(QuxJJ3j`VHy8!j#&>X&ap$ zZEg3s9L+RKwzGV5DlTRx?@v_DJm=biIL_MIG}b-aUAPiiV6XQDvcaifYv^qMXl)sw zqLqgH{NVzzQLbMO%KVVwPHWU9eMb&u<#j&7@D2;-iz?8o9FUWw#Hdf}9!2mM`sRPh z6Q@n|XB#cV^+;N2SnN{7_~ChVZ#23srKiN-c4Vl?>*!D~WoZ$ELg->`+|8pu?v0wL z*?Dq;Dx>JMX?UrnqWkSLjKEjtNeCA@7n=9{V=tMMBQkXiX@L9Z!@7!|%N+lUP#E8o z41ErJ_Y=$8t`VpmuB138hRf;N_3^BPhL7T;*Fpp?MyauAzg0A-z2)zlQgeM?{&HXA zXyWD`_R{}41+~5=k;oiO-d&K(ROO4Dy1gGfC&(QQ3O=XX(e9ie9k0_E^YslM%*SwL z9;geyf2x>Q0-@3;LuA(HgiDX>9}>*3!`pb?Uo+$4B~2EWC}aq*w1K|%oIL52A6~@S z;tNY-@n{Jm;(mp#!|B<(t-GUA^k^u=KiG9!o-^oLBvy;0cKY%8#rY3W(2<`_CnSgG z+1HQ5<&k)KBHP`6qt($`^vcK>7YTTLZsoR8n}{mGxan$5%UFJ;5)8Dn?4EN50-&Bm z=FQ*7;nM;F2yuN6Uhp9Z!12}L+#Fsju*74-^%fq#QCzGQe&WZizXi9UK`r~PaRNd|j-?ACTKrD%$ z$9eMAJ3RD44-&~E&yUqfBEGYMpcQ6geZ8rDNRDbH_nZTa3F+;6cUYZTX|2tIM|$7C zWeri-)Q`D;09KLOexkA1$5VHo(6ZnA({yH4)f^*YA;Cy3rB1uEs}ecc@|B_yNkRI{ zT_lrC$_-=IzfOxDf3aMz%QD*y3#9hEBneCY?Xo-0p-=Pp;JwZ9Sj|>@dz(5@yAZIE&8I^<%eV z>YM5$pO!L{o1l1Lr&?yZERd}bT>)kri&Zhj8r?f2hnumL@9L?(rd8yQ zhq&hT`u#|8*MTfd35h5Eqw^#irliOy$}%0MWFWmF&f|0|R98H@AnSzrs5ne3am*V_ z?+hTC_paK_^K}63k;OG6$!Cw-k=Q$j;rV(9Hxh9D=28QXI zI1k19EzM4_FJr>D-O;rvLeH=mJ*P%H|Kuqlp}uDhx|r|EmcBPXxEbN+KUV1r>gQ5g6L0~vih6bFt0523UA ze(ZYvafKX$OCg;vexUJb0Sm|x|Ky}Z1=o8X`Tzyx!}hW_Lmnz@Bs;wG+(Je83Ps0< z@uySJ*A@vbT(u*90gYIjxU#I{T=5v6wrB^1KS)<%5Ev0l=a(SvkR}DM0(~i_q!vK4 zh}J0UMbV!5c~T1Jb;rsOUMb)~4{p5<=_>CLu@e&TbD_M>Q!JF%1OWxFoAJK9stAVe z!KpwD(WO8X-XRnLa2^7GD)&h4+5X9S&-sKA+Uong*x0QQu{mFTS&m&wb0#&!SYkLQ zQC#?pT-o?^5K*G3WUV)7=pNgx>rQ)Ww_Is?Z*O(71Fwi7HW(u6o1OgJruz(lvj;*E z3B?f?1FXx_bjS9UUKRaR)msvRIGaa(80drfX|Hi2M4;ee7XO}9I-07$o(+|ITc6FX zxJei+jX0!hFyZlu!S#)7A5h~u$vqy;sZx5ir*oBosl`@blq3x8{f^;5F^}}ud3Dkk zw?$LiXea|6t{pjPMO`gwHZ;_5CmOa3SHIhNsA|0UN?!LVWVg5UKpj@A8LS%KsCxI_ zOa4jHY$dDaZNC)SE~}{)EWq;g+j8ePoFM$g`k>FfPl3`6K|3z?Z4$%$YAW&JeL#poakCy3=_5EOeF3X29@?K;Ic%$trq-gTqKn`{noy7l6Sp(zwK zuP@L1O>-8}h{(>RIM#LP4Y!>T_n^MK>K%nZ2Kw!)NG|INY1o7?`oj%GQRtyNiek5X zi!MOqn~=#Hu7gflQI*f^2N;<65csP_7d`K?#@Bg21iJYut1 zKJiag1`LWgQQ{%gMdwQ6Ge_0S_Ab!(Si}{Ic!vioXE!F3eU6w}k$|TNHa#BbbBEzJe}8oSzC1&3s;0!+kn;+3 zczAxN2RN%``UP;sFi{Z0!HZjbMxh-z0q;G=H@E%nm^?LAkeWn3h)E)MxO1d6QeV(4 zzC83?GkQ`trSwx4V8H^lULSNdl3YGnkruRqz5FH*m&QFJ(N7(Q$6jh8fy^ZtzFlVI z=Vm{0XqLsDez}-*8-0Iq|I|2iPdmhDyT{{8%Y#BtNM;=T0+a(fE$cY6L3qHx!C|4E z987gfTVbNy-=QIvbVE2jz42KA6(76Zcn_-!ACZ|9b}k1hge%|X`p;%>iBM5-;s*x`Tj)~@9^_<_iPdMcXwW~_s}E81`g_YJzD_V`8s2b_I#SW z@5$YuCvA}9`5w<#k5cA9Hv(^2|MTl3Ui6IpM!d~W(#CT3F zHwmZ0o^CP+5tqNvJ)v;5-Iwp0F1MuYUGj{rQUFlip_Aa?74c!eIzKVaNBnC{@~;c# zu7@Gb1YP9|P7|7|vn^j_-dO~P;3_iM%pIr4mEKqCd z=4I{orws~tx&3%YbNffkM?=rK7+o+uIWo{`^+?!kx@r2jOXIXTed#@r<#xyjg!8-A zeQ5nh)uHxr#zf|ZzE7iCq)79+=7Z_ z=O;jlC^6F$CLTtMr5tpfYTA$&?^aAHIetdE?{ z9wdKB?3h7vLMIZJVeh7Zbyq+j&aeRuCU|bL)4dWAjhv(Sz7T#POz}?DZjOkb^J0u~ zSafSdh3~UNPDQG)i-uElFG1f>in50LS?}a7V!6SrN{-&#sna3KI8v5pBbRRIKekJ3 z_@SO{GmJgRxrNX@t0QUb+bx0Y+~p5@y$XgJ4O}k> zo|->>!DhJGd2Www0;4<=?@1$OHD<`gtwoojzX>ez(p}kAvDBmF6kY7ISu2&k4&*&k zlP<2UbII$DAxX)@imqWa)bmNL?R1m$F2Z=h%@waYLS1;(`O3mEew`ox>fd*5EZ?%j zWgXOn9`&tpDbA4#lRqqgU@npWyGgTsxKQ5Y;B@${=xpY%SnrxdVrR-;`C$_pL`ru_ zWDBdmH}|f~&4nnw6=%w%t2v&Jl||c=UW^j3t3{t9*7{_tD&9BstQV4UWntkw*JpJa ziGM>3Nx;V0c^X_K7J?yvr_Z}ZgK1=(m~^)MnZ<@Y-h!1B4ouR{atvO6?+H}LJbKT%vyQ~mW2ok`+4m8mV}Z9g%zeQ$`It<%$` z#5u6RuLZ^@_b7g%=|(jbUZB!Z?&t-Tn98ebLbI*k=PcWpQCzpfug$WM%T+o+A%`$) zBc9ZY9r<+EalHgl&ZNH2ELQH#*jIyO`!}7}#=`9AHQ@qR=Zf6$@n+|c!FdX;)bi!7 z&um&K(&ZE=j?AfS%ktksg+Lhp!1$j~&U<)aBYzcWBVnxNGMTn?ydN0NL%>M}qSbN^ ze0`>wX(7r4!!dd(OB^;7jHqa)t#yBP`Od4ltzQN& z;&w>TYIQ}6X9)UoH4LNY?4C?bH0vMcU#Ujvmv_$PuA&%ca#9U*lk)=a_jf7X_94GA zA4*5Fn2=F217mS9D)5(#&!x)G^e7Zt*_@v)-aSaCN-;P&wdIxTgt2;7I@1xv-h zPNICsC2?<;Fx{S|J$F8-S%>ehBT_OX@;gu4_KP^cB`#xu?N1>KXGa}bSBSAo*mbCcDJ!hFN>fLzk6p?nAj?K!0so;cKUv$=E27+6bW`chKXFVdxLGlFhEoD zi-CIy&GYt7183`uDBJMe4jI~P=AN?V?s#eNt)Jot#qNQXzc;+2vUJ?oZU1)H)1_l} z^ccUn5GEV4KMfU;xdq4l%C|LIjlfTfq5vh@aMOg+y%eIkMzi}JAblhd@kHRkNx1V-lK39hWiZb;_KBoR16^Yi}e5DPayQ|<--9#^l5%&A) z*w;|5aHayJg3$Yk0+=ryEPQVncWNKk(94Zh@0Wd?5czE@Cgcl)z<8tzpYGDs0& z<6<@4VG=sEm1Q=_1HAWnQk${9*J_Ah;HzdI2g5+hF~mq~<%$!+e)x|+Bm@u-Mx>6| z`y(@WSo)5mpzhrvMN`_iXj$X$PjDpWb_q79*Nd~Mu*TBTsGYb(S61R z&E0cO>WZc%_foqy`3@uuaHuINGA1ad#A!h?VF0l*OE5P^VlhKVihHKePG-zsT~O7ZgxJItVeB_$gXkOLU#tGy z6vv4Lae1XnjmcDfNvSlmP%OaEA)oko{10&?l9aW)SVrL=U2AgAyIA`MKS)Y!)9|d3 zET(>3r0Ar0H3PWoO zD_>S!OsRNmtF{e2+q2wU0#}k{ohyQiPj71ld-FuIC}%^ay{Z{(zc8XOi9F;$C9ys4GtOa#y&OP`akYa!JE&qidJs z4yx+%N1}K!_E!X8=k;UBzL6-6HO-|hPCv}td>JaT=WUoV-}VA!m@T!+bvv<_&`ttR zQV2jBR#FM{%^E&Rpqd#hQ{?bnxW{A)MElsOwe#Z13YxEQ0pp`+UiDr48vcKGmRZ}~ za+nxQo;Q)A-7epz&Z>QpHowQf*5Uj7&FqaIXl=_vu-#nhr0vh7Pg|omj+ewygjvo7 zY<|~U$?XTU0FxBp(i1ct30EC5)&R_uGD#KWQ^Qj<+VT$Tdsg^N>B-c5-sZ`m?c;H7 zYX`KyPJF2)ngt)9t|JGbWAyD7?-O&|E+CU+N$*yYd%(5DtC;Q2yeBR0dyu~v8~tK%+DTVZ)QE3$ zJ=y2==!X&(_lReP9OM;~#y;8dJ2(OIj%6xW{w)(uMyDNm{!}bF#L8v#3)5``MZ(!O zbnZ127@};((E#vp>KgV9^4mJv5}vO5`#{}qe+M&Hzpm=mIfYJ+DpAb5#tJhh6;MR) z!z&Q&8pGAm>bM^&!{jSBWeUQb3`gT;dP(a?O4E!0A#ap)d%e4#Mk^?d7VB-n=+q;| zAvNKh-;&K*j`U=ifTj)==vW)-o!LyM(!_l|IfTD^h2!068{~LgNlct2Fy;9lwxne9 zDoy)00VkOdz2CL$v-h|OFfITOIKt4#vvpAE|9CnwnzX z@4WIHC6VH9ZGUpt1GNzZ{gtm_-$Wu{zx1{L8s?AR7L%o558R=)Eo^ z3u}50@?hz}EmYgpXu9E;%;K}X1WsfLDQf8<&Nf%d&qYaI`Q5xs< zZzr;0p`+R}VpeCFDVVmLH&Ws;uMfZSXM%sTd@JUhnn-OF0PtZFS70(Ved4ZXnKCq& zYk_Bj*TUqy_buTfH8mdB*N+G_lCZw`-kvX7))DYN>}J$dpJzRZ@``NUV20{{o8K59 z5eXqJ=|Oet@9Q<3%^ALDTT*--N~%=GDSbBaop#q4`Y z6fzD&Wnn*6yq2KopnFxB`#u0F z%-i-FOhTPrsxV}A6mQD!q+7-(BNQ4?%_nGIY8kbq9bGL(G2G~;GwCXaTmPd zaE|#l#W!V|LVQF;TvT=jaWC-H!yM~gbjD4?#R*e`u_v`pNEW3c8Bp#TYgC8fjg)*Q zDgAqlYkF)48vxMOiz?Jatex|$3>>I3Sa>CI+VC6PG+ZPOXv#C-x*YD-j^j6c(lm0% zdx$nZ2Rwe3gUON*hFW!hHUcxI6R`OJVD;2%vId5l-Ma%=jVc@`_I{!NVU$c#Culap z%EEJ^ADc*A+#-*}F)Y{ZFMRnaA9t2}MNGW!8LJDzr$25<#qUni_C|s5m$!OShemkp zB%nqg!Nyw))5VRmxFH^Z;Qb1pkI+J6zw1zH3lEJ7QA`=H4mr6pwlN15G3u_%KnBrt z9YT^S`^P_h+3IfP$H>gcN|E#0wX4Sb*EeI`^F5X=;)gxg?_s~M%}-cypk5uU#mA2@ z0sPys+zXf_(KSp@jL8yvaWXT{tbcCuPy_=?6^=>kuwDdE1u-4~1z|K5od_F&;GRr# zPDqI+%r5)cu0g&~a09Xi(*ommO)Ubg15|MZZK&~OYSV<(dO5n%+0n8phI5Fx2yWh;yH1u}7qe8_| z$Fd0;EKsVm`Z$tlwwI~Xhl`{r_PcFKn!IoB7{y6dekzL$X^+jKha*r9dGR30-gw)E zW=pJ7jLth(yW}p;@tQ7!*nDa01m4(98O%%W4l~Y9nFf41IOB`?cRfy{=@21PZ%gi+ zh#*|b!#@N$9-Eu#z6Sk>Ya#qN{R}^U@ByZPRR3|xI*hOfgU>A@@$&XY$Bc-thdJNJ z)N~DbT7UXwiHTUUKZYEtrAmyaw%>0ZA3;aU!{m8B%Y1|I;BS2i-~EB zEIbT8y8!Kc+xXijf_}LDfHB%``H&LBit9?T+qmd@E-^tY6fn-|Yju1n+yd?$Avpzt zoQqql9Gm$x+yi;>)?fZTv66|eCXu2mCjNj|1g8H?-sCY(S^49Uu`VFj0=1LpHVv$1 zqZ@-JE}p9kwY9HWS3hd9*_L3NYHRlut}eZpZ7c+(w0ROXhjh`z;Ik4LUs9bc2%8X0 zT3v)xoo_a~A$j5|%E>-%4cJ$mHo0i=Om~v}t1D0P*XFMwT&p~I#<^6z9$Btjz>lcERwbK~jzy|SHzjWI zRak%#`r6}gRQe@WuRdKH+%6H^txYXs#<{mAd)#=r@;*60E#qk8c`dmX04yza-0A?&QpN{o?a?@Vz{oP)hQ#9FBp0dF{v{B(K|+d7cp_mh@+6jP(_R z)`$pGlFsduTL($R{8lw1zD38hL3l6uupFgwtb`tOb{Xc8YaPzbWOySwH0_eS7tLJSy3=apT@+wfW)w_iVL<;Ntyc{xa|KM=+9qx~N7O-`gM{ z$o;cF(aCo4w@eb)sc*BR%T3SMsE@9SDOUjb9O_psht*E68m{}gX_#3vKHnnHh|9Ou zQ$N3Z{t-&30vx2R1W-@*k!i=yJ80N%jLcdl+dU2RI;qy47$fu1MF3p{-G$||m%_D4 zDp%we$#)+#3KZLZ$yjMnSxYw6v`ikw|0{6UsV4!Q4#AS##1IP6Xt&xzwD#+-Qu!YQ zlVdOq3aKZBIh9s;J<&|$Ab|le(?KSz!GRLmrLZqN;&g*yN<}e7Uh`C#ZF&a`qia}P z(71B3$q(bJ6`Q@f!=TNLGln`B{|!~(3jTQ-!SOTF`PM8#aq5p0GjMc-azI`XGMUs1 zaX(xIM3IbJrVt;ooXN$N2RsvcIE7Exg6f*#08>q1?9(ogmGc!)g`Buf>o4z#DiLh4 zE=*0ArKP%+$qOuD4ksyVnZ6-m!rp%&Rt+XQck7Y(-hogD87tVjV#LlvfetV?)HtW% ze1IJ;x?(SmHQ=m%Oor9sNZO$8M0pnt$TAGm93}V@-?gAWT?h)_(z?n;Yh>t zoxD99ae@_MGr}I5eU8r2o82Mi_-o`vElK7RCz`dVmH2^mOiodSd%6Rg`7I`xco7BX zQBMJISf}!i+s<9cY)>q(^%~~#I>+<}g>FW=G?!u>N9Q50S zqsssuK*NHR4iHJ?FmQdh3-p2E_Iy~QqtAT;f7zrOR4m1;bbeiUIoWP z{tbgkV1kZ2;A4=-!zqIyxM6rnIn!Y^;!^Y4?Bt9skAxS-c%6yAQJbb_}|#Q1)-cay}NNplU;dl+TX_3u|Z45t5s@NaNMb$z}F z-AO8<5&c?U7N|mu4$T4voTw2N7^5=s_OHI|xC`BGv(l6Y58WXn8bnNg7n2mFj%HW- z=OWX8qn4oN*xor;Fp^f_!9mv5h8ERJq~gM@CQF*A2hjT@JK52yj~Wz96ArpGW=IZE zVb)V!b{f`dDs5%Q0PL+M&os6i1XBtuYkEB#BuDx0aMT7t6!e(DE@D!2T^Tx}7!ogC zUFc4B^7p33@BZ+6y7oh}z-%$o7Bh>y1CJ7b&b9BCcFP*I>#m=TRjcoD7H}G^)Kv6} zO;nT4?m()OiIC){jOc&S1wHGL{3Wwut+M?w_MpQl!<&U_ooL(PDbZ#pw*owOZ@%SP z8ajEw5UMG5k(`-ic9F<0Y5XF5>P!x>jwEvT?9aOpbwcW2UG}`Tdg*EN1yc%(XqK)6 zsEj2q-Z8gjZOa^K< z47eN2FAv>53pTG4tj)%)#zzEVtKHW#Uui=4y#&8l$&OWVeY%hKdGO3Oz5LGUC)>i)u_n+&g6NJ$;e-ySCvzIAn3@Sn1X;gzE62w%nDM!b=wh^W}J+ zhFDr43Aw0lzkG&*BD^4oY5*mD&E9>4AtWZ4xRqWo#Vei7z~~?SXznykn3@FD15Q&C zJujLWT!@l|d1%Oa#c6%lTI_^Ml2-o@^i%O|yUsbaC>rZlxeVcIx&)6ueT@D*E{1?X z=Gu6pky@XPf#R^5*l}Lp#0hXCLG=#Gb3?Hq7VpTZ63t=(ak#{`5Sv`ArSFymLlA}n_eV;qJ!AN1%3H0i}`p}al3yc+0A$syF* zShRIx{LeKFcYKHNMWNDh(!KlXN&%VI+8cg0k2JU^FE;E??zKC=pSK1Ho*f~BXb5AS zBvV2>j#)rJYmlUUG4Jd1!CnRZ#NNuWOJQQvlZqm8qz@(S?jJ^*5mD1zXo-u-Rhbyb z2el&H7H^$P&vu*YoU;SglBoCz$nM7blg)V-n_UPc#vEMDqv*@)B0_Uqq}Qu}v8A}b zcFn$1h97X>C2OZOud&VX9H=A1KE)J5_+ZA7n(ZcX5d(MB@p3;C=llbXNcl3QaDJ1w z)h212@~3i+y*kfV-EMq%yL*G}l&q}8PH*jYc@OUzo)W>7QPfOmbouth4CLvX|{ z@QZMMyrp6Q&q+ZyXgCpR%HO+Ix1A%R{q7q!3jeW0@cCG~M6g4(<4xg8L-KMTa08|d zYj5^PfOmd;OvK*uqxBjh`{h}8ca7IVTCNHQR#HvvmkO>G-L3AzKc-}!Iuh7?5^?@3 z(L?`h12{MwWgx_u8Sj%Un?EM0I^(BPPzcNaKFI>%JH*Cu7K7(V9^8OH+mY)l;vB>y zs|+X#jiU9WhR(TS$;Pq!?Y15`4`?Ypg-WktapCqLOuv$!;`DG7NpFgCxT=QHGtP;e z=19pVN~7g8%Cq@jH#IC|Tb5hZ`pYSe?NRlc^zSv@?rodx)@=d@XrAv-m6V<@4HbF8 zs_GUIm5Rdog2hz2Rl&TvL^1?!;b*>mA~4=LwPBXWe|=vq$Mi>j^WKLs$~e$n;rz@+ zGTF9W>of(cUlBNq55B~h-2kb@5zK^4XPWFwWts5GB^reTViL-{DUV|C z9p6I+7HWTSB|5Md$IvkS`FhOP-9TU&AM#8bgPB$TQ17Dj_1h}8hfj0{nY;mSuDE{S zn?QyM?H$uO&AkYub6N7WP*?&K;|kH5|IMdsr)b zJwczaQ3bq%yrR#5fx$}d&La+sRVPY?Fbtl`^Out@H)4Wed981~lJtraW3pnBtM--p zQ_&H3Ta+eeoi0-+rGuUcD}s$z_n}lIT^=~l^G1JRmW=Xm!+ycr%RsQeF1i1bAk7kA3(c4s4@KtN8e1`skQJ>!?Ek*; zf*9JW8~x1z7NjbKgmEq%M8&;QK#G#1SumlyK1jEwojr%1SbWutFTyvxTdzun6F(k1 zhwEi+^qEr8116RWW>Juza3YF(M0`S?682EB>|(8O4CFw&Ea>jZ&gsY>6+3hk$5 z!6~0L0bQ289}(R4R)sbw=y4C*T&BAJ+O9OQWxbX6Jik)?DIT#5vG>ww(77+}<3t)Si^6`5UwO_#Ws{V^wV) zG@Y*;y)2RYCGhKO*7>SE_eQD@lpNkVoo$5rF)aIh7@=v`08gBg{%AG0mVmAvkJ@rf znS_YF)XRTfYl8+8tu_nln_4dYyuov5%F+~IF8#TVJ3}9H{ucppouw0$b+1bgUm}CkxWs-X&Q`{e-Rv2LRwm(FJiYWQl;KFkv(LHbHVEG zS0=qo6tE*I-5xZuA`5BIL9Kf+5m6M`6t(73ilZEWkZ8jNM3pub-c zFVL2;xRY2oR>V<~6%09wgZsnScpAXAc`MwXOGqOBkmv88$@(SN6qYQx82Yjh<Y-*+axYIl9O$*Bwi_vXU?@X~56Kckj&Yed!a@Dh`fM@~K+_?+?oj2RjLA^Q zFOd-^1Y-ozqFxe1EyQ0}M2Cf6!kfI2a4Z)OR0Q7 zC|3?kyx>9vk<#aZ zz3$xZQ=$F}+rNj$ZGLmu`?j;0Ka2wIH{lJ3im$eK+@bsl-K@w~>i0XM+`8EFNid*R zhmVeV*3EtM(sCzfo=Z27Mdd0RR6K+OP_@Lc7FD{DZhmdIf zl$()7Wb+QphZU{x{+Vi5tfcbmRYO_g zR1PIEz!O(A9IMeb9owlJ0^7x69vEX&A5UjT3Yp_UoEleD;?slR^^H#@TkB`GDJ1_5 zr->mwTfUzfTZ0{zT6c;6Vf*@|mX2Iu=IIFEWV)EEZt_FC=CwNs9|2=N3|gda9=s9# z?0YJSjtXvj)#?uRj(Rli%3`PZel^z7vWjz*mL=a6*uhA@<;ez6M7S2W*>I1LJd7?^ z+Kwnz<8#XXS6a$vv|875o&z0Vfdu#eP3Ios;2ykNwH7j(WvAlSTRFZqopZ0vhpc}L zSi3$P7cKod-Moz#hTYZ_|NpykeMtU;K`?VY{DVL+JJp6OhxGh>*#Mo;zY}49oTp5; z?!^!SUY5)`!IQaX+fQcKQ_QqHF9GF+;f7{G310l-V6_3?XoMsFDB^%ihD21=Vq-Xx zr3_rU=%oE_RQNa-R80nqu}mqDKVpCpf941rdK8DAJ`?0P6^)pBq+uiu9{G6tV%4*G z5QF!7F15tp^_BZnE+YkjS)$(sBAk>?3RB(e;6BWFW$^#Gam7ym#-f|^6v_W4UqQEQ zKziH%Wh>~yaGi*9UjM^7E=tal(YHJiyLdo2Tl{{MmR!D9Y7|hLHKrbm5WyC95x}qp z`UBUM_x6j}FrFdaN-74bqVuZ?k%EF4-F=HVKF3fkAf_|r5V_cSYIGzmRy4*Enk>4} zu$1MGpcZJO7@3{W-i+f;BmGo<9!|vQJF2*e;q|M!Al^biy0c(T`>0n?0l(;wCE9pH zRb%!&XYo>HYM_uz<1YDdFz*j+8dZBfrm(#T3uA%FQml?TUI7IG(q60~$BmW)q%Ud> z;jvi_iAGUDaI^)SwxkcfYhe@3;n$Ej&b5R{B~tslXdsez-y5=K{nQl-r)3WkcI(<} zx(jgx0<0zy?c}G$V^_tPs3Wxl;ws+3Gh*9xym@x9ub-)EKHU{GI5ZNM3Ud=l|2an+et>gPuFopjSs$obMRg=I3Gr~! zNN}i6rj7gwYHbp>nBxA;$@~5*kTO`!i~b)?rdxLl$Yx!}JNI|JHB9$blf+8TzYp7g zKdBJg?+?Ty);uVCKArMn~^$>)HU~wKW zM{d&mkrKQ_f`d@(q>+l&PNk@xhT4*i{y4gArEFGO5wuY2LIm56PsY~`zGp>3#mv|i_87Q2=YsNvCcikZe6X_IBF6l4SWViB(Mt=}E zH5c?ibjqMVg1$4d=y=XB#+9>k$F)L${cq@5UUO!(f9Oj`8NIDrf(%M~IqiO^%s8@b z_N#|8vRM?6WWmrjR1FK6)W!}4NUu3o4q$2#k4s1y9=;?Z595$U4KrOYIOrF#=3l?G z6xc994F>UWb3i#@^XW-(*Uj-RdRLaFKu9LrF%uHLvWNT*;Ybi-CzlruZf_7EI4|Hm zGXUTkhIWSe45&r@M6_($)r3aibg$4=9(`I9lVR1&FMd=(u#ByU_}=j#ShWWuu<-Y( zOn{__73@34(EK{M7h%qed$&HkpZb1Wd~P7@A0gwKpzm2o!$R144Y5XmwS8)@Z{Hfr zNKj%!H6x;++GF;^&lSC=p7~os1VXGm(;!F$Y6`;8w@^D2_UI<7A)t1 z-4rJ`+9u)cr?hVoG;vJ+TtvZoQl*Atb+IjqH^wHFZKVD`?7dY~TyUH`%ZbLtYrs#XrWY;+cAK^qaxG9qOF%0)5QBd_ z@s<})|AoL0ba#}RoL51rw=tbxoqFai08ckMr`KibQe zS3~<%qvf11AgoT<8#tGOvXgqRzaD2}$E`E)t&3+5G#bka{RqGMs@?ysJ*IG){0oyu zC&}X*^zt8;PWXdG1mE$lRF*tW4$3@SC?q!&mU)T?gKi-SVT zbWm+_x}oJ;#may)LHT=66bn0x{2>@d>D88;mQv|I5`_KTY5fPq=--$||BoL6^4M?0 zEsJ_k0b>8o1pxb9NBCvo)&3eoZTa6iy46EIz4m#@OU+csv2AsREMEI5mw@Jk@pa%O z+!|VaQ2LtsN_+XcsCDLRi{O3a*8ycaY6MqW6x0J6=%+8(ICAMjP|B_!fAl>_V>SIi zl#XUJmQ~%@u|bL@Te`utucZv~D9)3{Gz8j8TROJNkEo~<=h5meA{GZQjA*~8qrn-} z>aI%niX{^alebXb_iy2s?5%ENJ^Mo25u-7y8cOu>2cJDMclnk_DF?;ZZ;{pkYB*$u z6VL15UP75#knl&=YYOhj)PXi}L;BSDSL>X^V<`C2$E zFq0d0Q!kBK{W-d%jdF`(Z=;&p@ip&e(%y5zR`lP-FJv$k`huhG7R(tSXE8`@6{JXG z(^-n&<;5Mk-#}tDFrAOrlRjdPkp>FD6at))=7egg!UwftTrFPXRX~0xT=PIje~N5g zi-V+9A6FCPcGBsIutFoFq8;-FTCJ5W8HSd%^;Fsdom9)+a#!+FFe{ufaS9Qas#6$M zYK%H^3-ZhpcyuP`S>n^k{bn`AX;hhB>;41)6u?mN_%sYv(@q906bO{(-ef(T}Zb0AdsrcB~@n&u?eb(pXH!Qn41 z=~NF(`KX@T^B7O}S?{AFQEE~^#@Z>wQNmE_lA8bpZ8NYsnZwH zBhhQbysDliug?$HPpDV0i`UQ9JUSQqoo4YWNx&iu*S7uzR~LojH2rV3>BRVrLcTW~ zQQaU4Lwo7cD@UJ8sZT$Gp2gdDNFWqVhb&EZ`KuEZHz^_Mz0276{6)cu)!t{q5|5Dh z*ekgf-EkdKfO%mZoPuxMH>O|+GA$STD2?YhMa-2R0){zK>MCSJmH_(GFZ$Ft*z(A? zJL#MvQUtF;8U15L0&q1VkCN+>0`H)? z$~)#nZwsU~jH8=vfD?~{4$_;f{8_jaQ>0Zk{v{WS^({C0lnE>^N`|Tqt$K=WHMqV1 zp&#%+q2vFfIry)>q!)MnZs5Lw@<{|cgn##=$yQNdZT1)9-$*xGTh`nf%=^J_@*-TR z6Fs=tXC8`Sd8)8z+RkL=I)1`u<+hZ@pZ5d2GpAn|Jsi{1uvlcJ;HifNeFB z-}C_#m-tqvpK;O8gE*KsJ)ktNg^8tH-e`T3=d%=L8YVLyhfzD^3e_?4l=#wLd?KTh5aLyGT7o z(pH?aFiB)aeww+bkPtV&vCn=m=>DzK02c~1zFP2r8V_M|!cA;bkL2e^t!QIwYc?*w zX?-L%s6m}{vW|FHBvI{%>ko7{C1f^S^Grm8zKZ(Y)asghP0_wWUYNH<))7+9W16BB7nMdxTVr8GdNv5VGbhB& znwPtLOG9Fz{Vsu#twc8tk0ds3P~#V+(}l(tj6i~mvsdxA5#vRc?@>UYZZ0eWxCR=_8zrJ@l?GY6p2k%Amq1 zgBypcHq$B)yX5-kH(^PqEQvtAH&PdrmewRgdDf)zJOp+SIp&T?;PlnXM^Y-Bk>agO z$IQz&a+}r|6*MN|L`k9L0zJN~$W#v^T#r;iH_u_(Na;myxif)Gnt{(( z*8XJ4H?4>;g_r})v@{*t5Je&VfRGforNl7gSyne^!Se>4pp*!anwT|V5u!Jea?I3f z{zG4KkeO_}18`CCpm=4|vV(A#*pnKPH=XcPGU+=&+K?D5{z4EpUYuUJvHSAVj+&T7 z_uQ+P;!ljIvGVgy+0RF&0?TMVN?N#9P=O|UR^vdTE1$#dmc64_XL`_PnlAU7*FdXG zMY@}w=jG?~_wfA3N;$t;+5Ak17QPfP=>J27B~3wl>o`;>Fi{6~I-h3_jB~{V?|02?}*8$e#^YPMQM5n@!)c^59sg4X{}uW+sO&JBr0yRG+QT11F6r)0)Af zQPugJu<-Y6(w|vh(l|8x)%Nkr0~;mKtHIA;;q-S1Cn*1^!}g;!HA01?iga3BFN~7z zCh-0}dMpB3aoXI|*H_7gH{vgf=&on* z;<3OxvO`2RcMuV!MR=5j8Hs|0VoPJ_?(HQ?K51SyM=KU>B)z5jEZ{qz{QkoaCn@t1 z?bCNAu4uT6q}+n4wmZE7#9V~0X}K<~6zFyB6DOQM?oK)3d{yo-kR*LsdY^~ik)^HP zCXRFnqSB;}sQpP7r0gY0_za)`AJ+8c4X3|u8I!Tkdy7}6$}W}jbf(`Q#S+NTl_O<} znpE12gNPNSKa09o|7@RE;;8>jI{{qUAC~pqlzNVHT_=~Wo%u_oGJ?krcR8GCIxFky z6^2znS;SuChwsd562cL<-<%@mH8wthr{xK2A1<(DY82@}wX|=XsF@UACW`x-e9s&J z4A2H1YQDi+D16KJ%j1Y4y|tnE3Y5lTw(0sYkUg2_TC_?%Oln?H%Dq~agw~;$%h{E% z!OjHrIwRMuag0rQBy2~ZWL%6NEVZMrtpO`Q53XK$vFW8_Q7P-jFBe<2`0sNY{@7SE z26SGaxE`nXUvcE{R#Sc4rTlaq@SiFK0z5bpZbho5I6urFfJ&^_!KOI2E^Qev$d?I( zlfJXlhgCHtqCle3_ovA}OB9&XIn~DHnA62gvTaLr((?3>Pd{fDDdM40Opay0fY4x5 zXQ3#il4Xgl*1d#8pg_!S|4U zW%rHDj$%ma6%HpB-Zo+XJCfeu1l8KeEezfeHd?%S^WQkgv-1?BfC+ForRlWjz-YIAg=0O0%$ySBDK z7S9C13((+8M*t#L3Tj0^YF2Agdkt()scl&YK3l}2G6?ByfHUshiEA|bp|R^>Dm(Uu zc3qTgS_uK?KQaCMeYgETKlg{f6#X95kn-8GoloQc;gtQ6pDi!hC~b}H%#t{ku#sV> z4lf0DigNR{gUpxyQ^xQ274;|HJ6?@2Tzb?SrhEm`cVp`)kG|RB7mSBmvd@*k>{qLt zEWvMN%#}D!XMB0Yd8TIV-MQvDoD#x4{SB=NM~?ymTY^=iH*yMdOX?y@g?+<#-98qMocDUxX?)O|~G zMl4}(T?~0CeyLNJGrs3yJj)BY>fk_ZtDKvR_gc29P?M0fE;MtA zzLNWEmAf_+L%&~|?bJIrq)O&PAt;SrCe}@PcY}_h(~Be3YTBm)%%fk6D;9~XCCoOy z2Z!^uD~&MtsZ++7zYyO0`H(O`87O_GLS=|2(qkr$IT`y(AWG0G>ZNa-&dYA}*q6L$ zTEFo}1ZwbzOlfU~F@D`kDkrmM2EIYE9f=`XwE8e#BnQpS325C$z$twDJ>`h^c$TPb zB|mtsMN9TLLDKM}a0D7)K&Z~%?m#`o!0HicL@MQjrq~xn zDYm@8A1eIvOm{ts{aR8nRPPRdV3)t9o&J=2qy9ZT<`ph;YvsIr|2d05QVe?$(VePc+26jx%HAet`BF(Js|~{62?x}`>ak6KJLS#EA`Th){RJ1*$1IwqdvOK zD??c)l}8p0^TqEN;)gHNbQX+Mb9h6&iCcK`(EtJVki8va+c4W47;T;SySy*tT=ls@ zuk*~j_4^?ag(nS&g48x5d>7RSI7r4hDdEU$qU$<^lFVM{J~yW)M{Ifpq) zzGOE9a*|>1pK+@C$i(%WN;B4Xa~?|27ClI(1Y~BQS0!wc$ZM1l#^L&O#%jmm-3f4H z_3}!L;ndR6hn{AJ?KXvylbHGTDwWM#`O~WIDL)ET2B&sZ*9e1`#|Xy7T)A+d5d!)0 zhM@n{O!|-hS^^ix!)uIy-%_5R|AYSJUR$a_Ueo_wDBx`!2#DyqCoYW*Q?ovcy2T!#Q@>^ z&~){gV(C}xJ6hAK&BoWLlCFFqg!BmxUYpeL83a`-(-CHl7HV#kH3N)F2{>`c?{JRZ zEz`2!TI|44n?PPP3uoPCaJaeSjr=Fyg5l5mK`zxPOU9k^GIt(h3c?U&o`hW*vVx!K z)BGe9xGx@)Om>x|TtDms{F#|cYR1U5FqD`{Sw^rl?KPB0L}Mutxjt31!Q_?avwIf0 zwCPj6vw7b|*3+eoppqvgn)Vs45u(^5RaBWf1DTbQxg`YCaSm#>R99YxVvk0kE?red z&Br>gp@EYZB!Q^#30t1SVkcS9c`VIYt%?7dzKO8?Bt@7Toa)}ry+i8zG%oT~2=tlq zsWTo;HHcnp+}AkBi?6q4UJeJfF`~Dd~n& z9oh!<^IUBe1T)R*xG?wqTB#A2QF0{HNIaQ&#V@^HC?X=G zVN*(cLU{JKgU$hhc~;od$EUnta5{OzwXV&^wz=$8ufFKNpYiXfu1m64x%4jLB^OXz z+g>jIgeeX`wkRueh`K0x9g-X7gX-;lyLKdf!{4t;DVt8j@$OyouO_m$I(-N$vwQi! zulD-~fyb|l(J4u8zRHe9llCDKtfUtiWnBBipCac8x+o*>eBPJ0FLF>A+p+fPY!8#9 z?u3<``P}-FZg1LQ0=K;ENuDZW?JFJCSJ*5;4r2%VD|W({o7Uym;Aw&`++LThwR+dO zQ()#kA0l6vQY8{kN=?b^Vvtr10FZfI8Nsq2E|Kn3aR;f?(LQlbYjv$?t#Ioe5-fQz z6IT?h5U{-;-2s#8UJ)l~EVyW2vlEBaQ_s_#81B7CZnD@M=Bxv)(v?O$l|FC;Z9kl) zFJ`uy)aBHhw9OVVS8`O2KjJy`&de5VM>*jq}t4iS&sq0AJoWZvJT zjn`aV>iaY_Z_wc*Kip`&uccF5bf`Nv>)tSTZlceB3~x-V9zD?&bDRc-=AFS3Pvk(; zK-4YAc98e`k*Oxp%#tJqq2B3U=-F*)|3u7nQQc0uxlV7@#@nYQg9!nL8~n^`Z@n@l z!h7K6Q^yoJFGxq|FCtEUg8^`F(e`f6P!rwZ#pc6vlzx|O0k zcWx>Q>)M6{@&6XjYp zQGifbXY689t4Vz(sPwWr=x+W#Yu4DV2s1pl^&4b((|AeN`rT~JUe@>rF&!cct@H*l z*0o|31#Ka1B-#`hUuN#E-id~=2{7k!9&|Nep|s;vvD_kHU5g*@Ip@Q_R=Se9YnWVU zJ;Y!g0Y3gpQMZ?fRU)deHE(7yq4{J;Vwjw>iYKhImXj^WnD1t|-_YQ~-XFhYR`FeY z|1OGU@yvH(QGiu-=@<+->QyC5`bGitBVO8|6d&7W63y{5?+}o@C?3}$`LWFKgghhM zFb3e6-e&AijNjrb<>-&ssUAHrAU1eax^n(t1}bm6+t4|YI-s4YcM{K}5@xh2fm367 ze$)oV6@f9ch7Qc^K_4##N{IV=?=LsK43{4lZ<53-Ip|BrlCPOd!d))| zL3Ok+w*}#hX{>SdZ!c}%QASfmuE#7Qdm7d9&1$eSZXatcYV%&&gzD(eW&5p`M+7l) zP^K1%wbpAzfR*Ed-%A^omlQu0QB&r=R}+J*R_-oOHymn2zYi0g6RLunLfmBW&8XLM=bkN8|p=bLRuPQm%wZ2JL}Bz6uM z;`;czBAXzUm6gs=b2_r5Hc(PSuQtDoP0`WMHk;K`hqL{>gqZC%ehy*yVWaA&Zd=fq zn6y!yU!9mGM?c=uz3LVNsDfiQHkwVOg6gOoR7`| zJ4l-34bD4@YRxW-T%JlaY$nb)_bPz7Q*gysXca!qO`yB+C8By03U25b72eB{Ky=$^@~BLLBOxr~84zGEaSj z!xE8;Wir2INPDsj)>S>P#T(?`YPP$y0nVxh=-7yAI;^sD%ZZa5BV4>LP<@r^cq{EM-%V#b)C*EY%Xf}=k148eOBtV z@{7H?rP_{iL3d^6EpaOSbD_kmqWjOkC{n;bSbvyQ8>o+N<^(KnuNb;{Yt^q*_X6qXr^DYQqfF#m$e1XEE@kd_z>mM08OIc>&)D%q3gThdM@>X zqRPneSHwps4htMnLrui6NJmej2Q~AIB4#CXAI}76{z*NCeNn?SBIyvyl})8<1bo1W z$kDh4vf{MWsQX#7o4>AOTwl&`QkdCC;IsIZ?NDJ--tsax^~zzlec0_ypJ+t)kdwhx zxW?AJ@xxiu*{%8HwzFI*FikX}Gf$2|i(3>d4*kucQ-j5~q z1GX_TO(yNfCYU4Ehx~}}yKVKmDkQg#JF#M5Z0L3HB`qw!8je1HVFtEVB$A$TsP`g; zkL)1v$F9==#K^W)q%oEjS*0-@*e>0*f(~FK)03sJ51u9^ZHh3s*r&mC4|CNPj2%c^ zQKZvzyBl--%Jt6aQ#N$xPQZt{O6A^lCF8!0vvaymK&0>$Qn3xdnWjD=YQDE;!;si$ z7so#;sAL@6w0&34SI}w&AN4+8CZ)R|Vlu6BGjw(L zzAk;JAgzOo8O%1Ww`Z_co>60*d^DY)TfScdFGsXGf3CB!cRfCr^%x`jD0(<3z-6XShwi;PDpQtJGIvc4Zgj+yzdi4W*wtiz`HkU;INP^Dk%?C6{U> z8QD)Q0Gb4EO7@YXb1>A;IQ4<4{_=Nh!7VW)JZj7F!1G)%2WlLaV*BK!6`d}-E>&(m z{44TzV4txdFtfTY$gNB7=x)|(#62w6%g8ehdzcwEJ12axP;BxJQn;&0YUvmLG}FIz zDPz6_!$GngRWUDJ?e#U^@OnCAo$+;?Y%QP6o-fy)7OI<;24%jk01{-hR&y1-9cP9< zZTX%utc|;E_+7R~nx^_F8=D|cPWR8!gWV}$tR*TkhM)CS^Rt&ht9*$0Lt6<)j+~JX zNu{?vkxk)2vsb(64Yg5r83nV&MP;MYi!|a6DFu63plexRIkKiy8acdCkg9C3beyRi+vJy-0uf4n_e z^lyd2`QCg5rj;bvV#~JC1rVO8_NoHb3c;)I4*)&p__?-7Lyj5?XpbQet%eV32aavo zN2M+d{L)~da{{3J!VF;|jrHFKU*cM>O z)8NG$#p18Q_CO37I$h}LecHFO-~XCfv^woUZhHwzn6Wa7oM^iabLO`!7s3b0U@NcY z&X!}Og)R&~%3$l@&}l8_mpMD?n@F!VIF`IIqA)qpUa&DTAT^bYo z9g@kAa?ZP*mW9AX^Es4vZZX%zEByvKZdkVC(yMeZEtk=H8HiS=_SSn(NSavXa6ML! zD%(2qEIysM-b8j

8^VqTP5uJ}=~Hc6*!zS|?Ks3j2I`lEj*%vzH0qn@7Ptng0_0 z|D$gC2bXnHI2ff=G?{z)K0u7;PP8{PYmx|RVlxiLmpc7>D@``A?? zOYQfjo%9dp+Uq$LfM5h8mfSPO5?;^eWd#PPWXQ;>uAeki{_wt^AqIAy%^Xag&Dc5q z+Y|ZY(5Wlf3gpa!s{hou|3}(nmyz;g2~FhlKZeeKyMk;9d=p~5cFI!!1)KGMdSL%3 zM8ra&N$dZ(qdz<_&3lQKMqKPZ*8Imh`nTKJWqfOEq$^Z!`-lJh_owMZ!;5jWMPB7m zqW>qv^REKhtQPn(9*Y_Lcc0;nKYSHs*HvmP{<|C5j1C8N$GP$U-EG8y3)25A!T&75 z|470AD8m2P0{{O%EP=V)dJ0=Ig8v7`D$~>bT8rLA9(wftW!Ir?6_)pPmPXAF$MK#k zS6}-I%IR`|)LcEcCoXJSp+io8n2 zYw9Pr>=2X!??B`!>~?RsBPr8l7}ccR&`Z`0E6BO&eqUx!D{)k*robU%^*qjK%ECXO z`_>Kcr^#U~Gye}10{9$R9p~Q{ZrKEm2eqb1GDO=<8a5*;SL1x|uDz$`S-A%jRTo%} z1VQ1xkyAD|FSRoRXLb4@t3J!SwR0D2@Cp@uzT8ngaM69|1w3^Ly^wq9FZps=#7{=( zBuw}m(0)~lvImG>rax*p?~xp{z4@$Ry3+jZ@tmZgAl{B#-uVQO%>H;}w5OxCa@yrl zToL-Gez@D%bRJc;+@OZN975@hE6OsgEBXWc1EyCt+TT0Bh4g0b1Xl!E*cUdbbXMxy zg(K$>S6V5CUXC6DBlUk7ds;N&g$FUd`a(9@@i?q%Q^T2S5R7qq>gt@BAFPrY1AW5| zM1JYg;)mPMkGih1>@$Ma`c7%}4Pq{I+)sppB@wSf&(LArYO5V+HwhV@D|d8bEv5S zuiZVil}?E&=_Za|f-F$)2G@>NC`5gA7rhH#T;63b-}ZqC3e-&aIM@aQF5Az*-r%Zp zjIET>8SLHhht%fF#*0UDHzmFI&S0;N_ODa$NiO{KRdQJ}>zfQCiiE~ZZ~qckmmc#5 zI~%f;?p{FWbn(vWw?{E6n+)Jd+T5`q4=&aOYxh=zSqOVS&mUs&2=!_22hA6kQ&$QtC;G^S zyqKiFx=z52;#eufzj%Vc)c%jF9af@Fsd!I#h;7JMOP*#z=lQtat|Z#92S7qGS_*L# zP~brqLyp3Z`p;C_bQ7NOTlAR43ggDyA>5FQR8d0sczWns7NOBu z@3>BNp7bm{yv%CEVh@0ea5unI;7J$5irZrU)9>4)NRX;K|jXB=24^iUT&hy&>4~&7~2^CYhM;cLc>4A=;UdLSho>c zIHb<2_~%m`m4;~!867!~-ygr6nol|i+h=6lhJYrAGpeMB!ja9dKuFS(6&JOs~Q z%=?6gstwlLQUK86ABVZ#;T}YsKVHt}?`6>S3YxWftE^E!95}lvq8z93$y>8fXr{J9f%9SGa z{q^T28IesF*Y5cwC+{^V2UFH}~WlYr|{nYC`xdyfR03^WHO(=C} z7jL`RoJ$Da8|Zh)j1qHEd=NmKXg^JDnUv`;PTJ;R7sH)+Gycn0SWQ_@+*eWPEzEcx z8<=;mYae3A&+vy;+En9pDl!3lNiHz#Z1i$HZ2u^PaFj+$;~v&gdaOVp=&PI3uCn$i z0nIW5A({~<PSOTdoS4L+)b)g)m($IXbfH$>U5HN|)O-rp6Rm@oDjzg^{=>O^WM&W0`$ z{;6=*X=#OJO0UMWh^3;5A1fj`7DclzVIb=~^eHtJg^t}CG=vm2G=9!aQSC~e#{C0! z-OoDD#!AgtXcT%bXS$l`$Jt@z{3wd+|6UvhYui%^9v?vBG8A4-5zX9cJ{}o!_HyIM z^{eY4{=S>^)Wiq5xLH|xj;ITBU!;h*R26$5M{%YT{o6{Qj<&>Pci&T)~AMzVmN|-Gdv7W()C7AB_`?c_!n806#KCa=<3tw#oXT+9sjb^#&0qw-@ z%p=#MPLr3;DQb)|_H0$JZf~~11lv2&7^-mHX4|s^FSm@}8lNX0oUeC7sg8TQyj2y2 zLBe9AgIvlo2%5pA_?87(1;#S;;VQzVKd^Tq@8%KV&rr_!NGl%ZR6FbAI9xf;|$;6TLh+^Z5+e z+41#}6Jmh9j|a}N)-1rM)EUOUU_#WO`B;LH#SC*<>f3pXn7bhusqClbeKTv5c*H*r zeZj6KelwiorEX^t9&T@Rx=@sWdD^0$-r?#8IV4Yq$br&Pey+B-sEB@I&WLTRIr#?d zsnJWotr?dg;=w1nFpdKzro=7uT&r4Gh1=_pse0rSNEey6|${ zB(p|K=#fe5V5T1k<9OVy^X!yvoqjqJhm%TC2!FV~$b-<&!DOz!CRzd{bENrV2cl}$ z#v&8%Ht$d4;QpJtp!KYZ%sG_{EnDlij-W4NL-#}A&A?49kYGgHGV8^fZKt$FzSoei zVIenkM0-iaRs>0|kjZmh3As?ZX?G6&z+X$)iYQvl{jB@!t|86OIpYP>tAC5%R)u*3 z2+m&BiRaef%KRSoj?P$M$eq>zAdJR7K~z?`x%#CM`pb$_^@6XLpH5iUD=<>R4jy_~ zuH~bX7CeH?0{F%Kb}m-Lmsfc7M7V)JroWtWI$Vn|mM!jmV+|i?GHI+PFLK=G2dkL) zJQ&Zge_j;dk#nE@EKKdO4af4y^_9!vn;ErIUJDEr!!T*eO^!;Vv<&^*dmoPBmxP(g z&@|tkvAy2tR88{jrGc}H?vCZJaALzmw*f@C=Uz`K^mc+FCt z9kD1v4|M~4gk4(Wp3{6xBTMmUIpJBA`c{`Mdx62qgREgEVK>GhS@l+yl1WHRpD!yi z>>zVQ{^GHL<*Xcj8?WHQ3diJU-c${wT`xL26rr}pLs~%Hv;mrH=@5cpd+@|l-FR9C z>VwR7EhEM4*wJ3AR!Zhi%*&RT%&O7M%W7eo;RJj-M2F}ih?R7fy^p1VlEqq>X*VMd z&*e&k72w<;qv1v@!gMlHBM1iW?R)$2)gPi$zKYJ>NblyZbT&kK>VaJGr=bz9qcM-$ znea*R9k$_AYOQ`k<2lkK^(fDaQh={RB1vC252;rqeGUnmn(P=lvuTLKzUt4TeiI`PfuO1K#EI z4F8_9A~NLD4JF)&7C0+%frpBUYwZ_tk*s7m@Rnxmy3jB| zdMax;pttnEE@TA!l#0Ts`?+8PS*r#^8V5rs0Ue5A1O%i23GYl3B#T&|9={viA;YVq z$iGB(G?um{wSa5ci|w!jnU6*z*C~h2^Ta&(m#JVrA;>zgWozNvhCoIkTHm3rSO$td z{K7dW-38#-4Da>&%MVX!{8i((rfmld6^CWxLgHV6ec_$ijIm@VwL841Dl!idht4?8 zSb05GdyxLaSv(&6O`7vLx#&!tOlHI*YIH*Y-}K2lLBGPIyLs1?(z-{A2Eq$?%mGJY?u$roJW%*Byna^Lwj8|Jk@A16-PMbl@+#n?hxU;97;n>M{ zX`1ITD2^B>6hDwOSs_A?-dU0`kTY39S_@0K+!rR`MZLa1TkK0Qc`Dnx^qomZ!|=R& z7P+1(Xf$g;#;*aj(dczY*-331>u{cS!a%JyCVUR@66i^!1?S%7N0|bIOGT$&I-vkzCpUqvp%x@Ebo+Be$wOsN9(COSo8GU1n&~;^b2a zLKaEba_3*pbeIq6s@?Kj0tKIgWm+yv{xksp^)iA?K`ENDU{0hQ@?<`Et`9fi;svcj7S^Wl~j4MgN>?Y5yFuX3M@I>BYDGY;n;0t2=rBoJw8nuN=m=)Ewhw>HR=87V0{5#viVsMUj&7<^H9+uzE zRmK#1YvrkDk#9z3CW@OYy6S=8sh3NLw|>HaW`j(^OsQe07_jNGqHi8rvFvu25qeep zm1GUyePykRvEOa!)ohFF@g=~DHifxkihACDjoe=YX0g^Zrwe7MtH}0RX7ScU{_t>5 zalI{7vKBkDW6kJCSYl_lVnWd}E7(kS0#7T79DMMJmRUdHd~ybbMFjVY*#!Hd>ba$w z{AoTDIjE&GY#1>ma5U2I>7`&WPQDNb^@ABP0qktHJ7d~P{ zSY@g3u|Sx_U-)5A6Q3x3NE7o7^TDi@p^+4Fd2fd?-SG}o2P^LdAV!nd+J1KW5h8w( z;zxPJuY<_xo<8||kEg%hkgpx-cqn6(wHUBuT1m$8EV0~Kr$Y`tkWgaCw9Rn5PVAt} zch;@ULdG_|MI<8$Xm_9%I_}Fq#rOHWdT(|o!Nbk{StfNPIFK9tW}BdALMz2y6^q-Q&2ajjds zIwn+`_S9Y6DEZD-0faU3u$1ubvB-&&r24L7_Wi)9O(KT2ThQQ4ET8Ie2}#-q0c8 z7@&zP$rfTILLF^mUIbnueq1 zpxHj6r6@JOOs)6bNA8u1(P;~d=H29a+^#EbdNiN)3TtEw%DAkV#l`_~d65Rs4@B|8 z%YApoIvQ|V=iuWzk55(@`YI0PKFur-aldbKr#W)Z{;Jb*H{f)Yk$9N0db6B9+2HH0 zC-k&)J{5;AgK#?j=nED)ho^6oInoy#c4KBSchL(9UA$z4LKr`E}ZCV^GIRb6%Ql zF37#oC-d7g(-l?U?pFBl!y&{uJ~yJWYxOdB+bd7Fm#?lUfyfRw&mLXk*UZ-MJ0j<; ztk4YXyYusK{WyvPdb146!;Bc`L}Nhr2|e!X(W|Z!UZ}?a2FMBSPFx*UaLO%6_kF}?U$iXxizYAl}Q-gxo06B zUxmLVRi;|E3Y*EQ46ot+GAA))JVoNK#o4~Zdy&$x@^HXgkW$B(5pN9W7IVIBz550` zSrqNoYum&=#+dbHOnB{>6-!snN_cPkp=rqq1|vC9b3U>0(S^BK7vGFgoH!KQkUs7u z&|MxnoDAlMbc%7OMiRxVikt1=b>#t*(;;)9BCa$)7QSiT)Wp9l z|G$!U^#4iqBZQiW{9u8xRNyL9IPcUvTq#;2INE2Y{z4*kw-~McHX7Y(ZqDV5yD;C; zd`Wt4+S|S{eNF^o06BB^b&uH%ZO*q*n4WWP!-iL719&g?r3X| zb=>I$7#2X7{l9>3&qi%dp}aFxx4srQ_{r=YH@jOS6 ztfpkeW#{aIf^fvaV6DsBA-*KJX4PeN)MjF`eGdC`MMfJBo8b)U^6bGQZ+h8i*E}oQ z)=a#zCB@BbnoBoXWSQm+)!JkC%3d`8N~WF+_R6VRvH@t75%&3#yhMil;YPMEcieK# z=4ga~)j0jHye5*+)>{wpAPIQjt+xfc&ksJ1p$ARe*hkf_1%g=Cgd5o3FI@2- zrm*Ik6@D6-&1|)aXEjAaJelwmc!W>+f?EDzY)UST80mtGl@q@2%47%x@U7n86EPu@ z=J;&Rp-<`Xvnk-b$0hPeu=2-0{eHW!FnkZZN-h4{pO2=xpuJ^6UI)6nk3Nxa00QEu zL$(^9+SuD}9JMBKuQJly79HNFxR00MNeag{(II{`jz@74dH4k48*mEl4*xBFyOeX7 z5{{5JFw5gD2^&$5)!80}r&!AkIIqeqm|xbIKkh7EdL%HiNHY<6I#R zg2P|9lb}Zl=2NK|{4@{&bi|0)$%)ij9L|m=4J)afG9;eiinDU zNRy7zr1u&EVne!0Q>xNJM|uem0RfdxfY2jE2oNCB5=aPnSN41MbDn+P>wJ&yU*8Y^ zadCx^tTor1V~#QAy3sr9O@S9C$T4q?RorY2Mq+A1bZ5MNG%)WdrR@~WaGkMlmXx(6 zuFs&S68@a&Z006@!HNk35muD!J9ga)17Mc|b*YUKTh%agQx9oPcoXm2MRym-T#Dv| zB=v;|C$1BHJ(oSPQtw~yEk;hLnXBBxzc=X>O>a<>mw*s33cj<+44xHn8FETWcEpP>r!s1&#tw}&RyEj$@}ZeZ1IA*skhBo= z_Z8f8d1VD<&E8CIe*Za@)m{(q; zil2RQ%5TawNRP$%SeL+&=dEsS0*P*Ce+f0bd9C!W zbWvy7Ml%>6`QK-++^n(`J6rfi1Jr|^Q&O0zh)hao<6*TSHbs(^k;T33T}#`$-#Yy| zFUhq@Ut?+SXhJRB5kFIY3VIf&03G+R9eU}U(SZN1=q_3QOdT{I27EvI(O-l<) zzny~g7lWw_Vzx?-3b7QWm||-TQ-;p)EeuLb#g{6PI{Y-ZDFgD#bc^Y6`_)_vE`r#& zN330XOT}CJX~NPWdP)joqe;D*_BFS6=g+@fygy1=?zI%vZRvYe?D_h-MdsQ(VG6aV56-k$pi*&EFp)1;e#3S5#<&tF{ z&aq^Sl#W6dmG$+PeM~HeB#M0>hvAdbA$`8QPih6>-4Kh5 zm(oUFYvtG$Y|2jzO0*aOrwY@E=ep#=H2ikgzL_b~P8!lkXHtP;#2(*&?qLBBb#ZC8 zY1bG@_P_4lPb&pYTcofYmoqYSrR~)RZbaUe=2y8-R20Zct(k}^nCzhWTuAe)aM%}P z^zhNqyry`iFi7v4J8q7LT?=HrN5gX(r8~0;qjCI+_HvFW=~V6Dxk_cN-p}Q6P%1C8 zPMD%|p|XoED^6}{+7yOwgd#S!8pnwFN1Ukf;^WPMNqWq7X{!z9Yr~Ya+c#!| zW@XZcYSC2kqEfPQ#-uX0b-6tb_(2x8cu(}UpLUy+Rr0hW+uNw^hlaPxV3eJ+N?cTkeDt~9W+AFX zQ`X*CZf>eVr1#p<6WU|@>kf5~{-L5dQB_AQx=l^3QEU@SZCc)v66&Noeno)00Fa`( z7Ve*3aW5WEah|d*jk#eDXf<7$K-RC_ZlQSzNG$+`dEt zPxM$>5Z7ymb&EEG`)x>GRFe*Gg(lqY(5Uozoz=;s&2KMNtk)tRW}DRx0zTU zMs=GfvWr`!5qjx@P4-RHr(wQb+D)}Dj<7;mHV|0@Q2sG)wbsUj#wJ1LLt~BI*s}4| zewn+$;1L@qwp@EJo^6i}FvAWfSoPM%__JeemhW?W_^v|AoCv(qW$adL(C6ifZ@_L1 zd@=i(6Z~(larOsR9`31;6EusH)xLw3OsQj!V3(wSF(=S7MzMq*j$5>QYSv(T^w-+1 ze@UW0z8z<|y!ox6v?Su!F!5g>_M@7K>bF5P5&`c2i)iaFgBP6xI|A$|Uh0~ZWOJmrxIPvda_-7X7zh2V_mS$6C z;K@IHgHYBpz@hzg@Th5g-N z2b(Z{gZUqZC;jy|;2W^|wx0jRuJK>N8af50Edse0uKa6Je(i^kjK^3mOSibbnf<4y zyw6nio4%Wn(m#&F`?PtHk;4^c|8x-pY4aj3*$n?$lwbTo=r+hQjPU!3n!mPo|B8E6 zH;`o-qc{Fxo>aAZ3QUb$_hq|0|LM@pycn3Bs(HotPvbc10?h%s^xRnd7uW7z|L}J* zVEmm71b!!jNB@6F1{bRRIQ}akhfWK8@LeABZaplUt$=U1v|NjcafnqS+_3H-o#Q`3 zZ0BOEJXT9yfg?9jmKnpvrb&beuU;wJukpT{9ai~B!E}C0bJS3egl_zk4 zo~{NR4Cye=)k;Zhk2--IZ1SA_TIoLBl3Twf@HkNLqsEDbk6N;m@l#vvvbnetc!~0; zD||VzM;=#HNt}Y9a7!#BFX>qKNcpWyRKs3Shm#cpJjbiUOl&Vh7xgl3Wo&&CP8O$p zkJHhHrTLn0DVYqQ&TumPE0g`_A3_hGx*!56^P2o48Iq-~03j@GM7sqEL2;(&ulsTW z(-bYfhfFhBzDcJn*+ZrqI1&k3fC_0<= zwKRl+Q$C@$y8%Tzq%=SuzCLirYitUz0Sjm@t8*;;LsnJWeBYbTK^K>1$-bgMd53>4yX8h!538Rl) z-G0$~v*x0GPpWG-?~{W1BLg=cef;BC?eueQ`5s>Cq#RGD6$17gBW--_7Ye1-wd(~F z!Q|xypHhf9*CK}w*a`{ki6Zg(`OHd8j6$IN^LqjoJ0T=w#+1i!VQG`R)|(6Ot>Mq7 zMco&2l5&wcDvir@%$L7C@?LG@sBzJ|`R%=+`~3Sb->w(_D|OghVa4eK=H~(_XEq)2 z@^#ng=%1Te&2_z9NOmf5P{4!JF(tUU8VNWR+Pmv9oN3C)`0gN71w;&hbd#LVlxAF`R)!Dkaq2M!3QzDzuCJTNfx z^3UjT4hk)<9ut9rgG@mV)-KX}W@w(}+jleSYp8}f>4leSM{ZuS>$;(rd;4ag zVeu`H1$B%p0&MFy1~m0-N)`=E;4AeT+r3cn#??w>y$|yGpLkOyLe(a%9-MWgfsuK_ zTu&Offhr}Dk20?T`w}PY7Qe1=0CamCoR{owlRh#izl>2LjCe0sp>ln2!#Rz_DFvmS zX=Xh2RN${2Z4;|c^xEbgZEOpfk>ZO1&2GW#DeFo4H4~nlxlN|dW$MXtUUs|qH`Xy< zE_ny-VEEk@k%2$*&%--3f$X_bYwZ+g{U>7o(7#`Beeix5Z*_k!?kPQEQO3t6@=D4~ z2FL>cwru}ljXyZhUw2DJ9$6|9H7dF77D66}93g!dR(Y$fy#0NUOKM2oePh0VVY4&@ zDvxhiziR_qG^C|`*Y01P=K3r8oLNE(OGwu83)#nHKTk+5*!Ri_Q)`;FKZFbOv7Ueh zQ*f3rIKBxkI%Kax9^Gp{?GF|qL%iWfi}%)am|vg~l+T^q1y=8YDwIVEIGEK^Zc`23;3#Fc zMRLHFYtYJC8OlmpDKcWqb=Y(V@Tab_L5+*UCFUt5O{7I{$|edsN1X7|F)6pX$rn{U z={ugYRRhW%EKFr*dedpiHoqC0WY zuNNgttK8M^eo!d*kc_$BjEtG4cEs6P=-~`-(l5JIbjv8AK0IiP@TO9TC~}+EX#OXt z12G^RTZ=#`#5>_DdzuG3uyY_OeaWcXN^Q4Sx;b#OJG}$H8AaZENv5}PbyXlT;Xvv>Hrx&E? zur{GuMwBwfbkdT&imX)JuwD4Oe6Jok1r_;)s#4y8y0A_gAwl;=GMXA}RLartZU4R_ z$s)p00`KgV*WWIzbxKGSlAMJuPk-FU>|7B0t`OW1sIq-?3{>s`tO|8|<5g@>woZ+| zBxS@pc3IET@KanHeoa&!1J3O4R{a^=~vAdy+3sr~%w)NBl{6=d7~MS1!0Ua7)JxsztwdQs ze3oTjwht8=!Q6r{+zX~?k|Ce|a7I}yfJ#VBOVWViyAOH-?Y+T-iVZg^!Hx1(ocYB= za3EB(TqS(m@~VhV{gkES5_OiIUrwJ(NBS=`8HM9hvSQ>#8n@acT*(7LrK_v2sr(iE z4YjZ&i$I6cl>joU2G1*twbx16wWXB9`Z&}l?sv%Ct(C}c@o375UjWN8bMTKR!R7`N ztrwzuondSBs77(hS`uPua6&%>tg$q2M{_eyG!OcWno9iOz?lC*HI*vjZC{?c?xVt8Ge}UG(T7s@Uo{ zdRK;@J)_NE9OL)FG+dzIGZz=yWk|Kc)!JlS@Fh+Gy{%1JG(sf1*3Bjk&nb7TE_Gl9 zN`&a%ko0DD)z1w2&SuAHf7LP_uZOl{5Mn|XM1uWhn$kjcw~JfJJQ)FVZx`mXVpp~% zRR+;|Q1*AU!O{Ovxc*`bIgf@iCPqZ*sqrcr98M-V6D;sgst%o3YCCi1MHgEm9sSI+ zspfbT;YCCw#{h%LOxq9ND|(G{;Y<3fGfT9^A&Nc}nTt$X$IPNYSqX6HNtJ8V?jPj4 zqP6;98L`ue_}(l{IqVscREK$nfho?O+m6Jqws<*(Lr~~#lMVv*vc*meM_k5_r^4Af zK{LmcEH6l4qxR%-H2ruM@J$Ei%wmgfcE!xjVHL4*O2GK7xSHCgwDTiOWkOQui|X*P z-T^PLk&4zPHZzNE;U81|Sydjd3a*djo)x;kygCpVWQYmg6n-eeBUISKp!_3r=k1Gk z&qCw!86e9S}( zQ@@><$SAqi;!nhnaTz<`ci^RnUdx~`jq4qZ7lQE+bPB`fAwvBOQBauy1Q~Vg(nFCR zHm7KGvOD^YZS79_wdyRRrnQ6scjMA``5#{3-*2T;L68o(B{Q}}e$4V;A+PgXvsweS zC6OVVKt8o^iSuoaAZM9TpZ;xbbPYZb1z(d^&n*f~^p6qrngGeADR{qD+YYN48%0Re zn*I;hf}@C&tPMlJgnthM!m4Kjgq3{n8I)^x>nfyRQhw+cdgF5t7}0Ct-TAlIPbf;? ziyMBI|Kv#Eh82vb8WRTnHke>!G0G-kaUosa#}TF6$n_`Cr=j~LUjXxbot;oD#)kw= z2URs~ZbxvuMahnwEtglMZujc2KI+RTxB2pV=h@h9)1z^qpTB06z_v$XxeKoi$AgY@ zd9&*@&TEP>{>AM>pyr!rOq+Ko{`k0WdrX z%Pp31B7$5cskxKh;kTu#(#mSa|5gT5qj~bL!}}K|{NI&?>(w9c?AK9>f1EoL!wfD1 zuoz_#WNNz;@Bd1H&Tx#PfQh>Fhj+y1V5vUO9y#oWDDrA)fY7{%h3X0$4{NBBaQd4Z zN7GnmljUKS6X%q-zvxsuajn(ggV>C4MJx%eW(Lq7J8#k8e*<;m?S~mODN!PLHIh~; zElZ~nq@mKasEau1TH8B{I>M>$E${Z7HpyM~zdV7mP=@ULvNgE+pyD~>OZfNKn)N<6 zjVz%)e8(mGl4i%XxV)}?_@-KptW2>#i=%B&k<#N_!95S5PxK2>{8!vrUmV?guC*#? zLDTYU1?Q1A(u}P21@v2hC7Bu6c8-togsqY5cWyI>q2rjL^J+Gc#vx9m% zyzW+pK0UIC?e24QRnN;oqQ`T(U$_&nyLE^kASR`dEWr;7B}$KZ!!l_d|2BT9{SasD zW~o~^K7Whv&d)0bp|2z^jC{)vGwIWxSOs@v42i~dWL4-}tLgdzob5ewKdg!(3n;7i zm(@Gu1pTo>{M$D=2%8T6ou*R*((sRfewe&sTk24gThSw5i0$lLZa-YPg0rLsMjSe* zW+3?H6dm??L05{b1azyFpKrsPHA<$h+^#!$10)8&cdhjV=8R_gP@lAhfy+mS`A+x+ z+BO%O-9`8cMQXxsOLiuTY0{`9#N3G+Fj+9cs&-UL>ZMmT4t@@FLZFA(XqRm&oAexp zikXAN)$|0@3D!4C}*P zfLSUhZRdPgqZCHaJ@>3__Va-BB(bkMcqnk?9%$(&YI~n3>EHrd<>w~v*?#Elph4p3 zHS|O7&enjRUgnQ###YcLFusT@daJ2XyerI_H6Qa~%A5HP6SW?#l%s2#%MI&24y28R z1<)>NDJ*?ZgLW4hm1?^I<_p)c?CU%3QnOKD)F{I1`T3*+XgeJGGu0OWqzi~By0%IO zfge3_Qjimuh7YpOnEU*)PxKD%+Y@H(4j!-D5ngW9qjn213M)5^%skY=wdSrMe^49) zt;PDRXFi3WqpSUT6t~;L(R7E8FnV3)*=3`ur>0e(d>V1)_yWVt(U1uYUy}Xg80h#1 zwpKCgRUx2^-~v||PeFz&(i5n-OVfKq1%+;fe7(ZJ8_&1>StHlIosY1a zm1RpR2^Djqd`7V}XjYV5MB|jSe7K#KwS;*;HXoLqcnM;NxXI%&sH>4941jAL{_%dM zwJ6<2Wm$klVS4m@)!>;aNKv?E&~@LsAr^tCH2#;127N2$>j)Lk;R z_ZzLjqOK50(OZKs<%9B1{3 zU2iYhTU=6rK+^-(9bDZI6kp$ESqZnzfH*Cgo0=OFm=5BE&P9WOw z!d!qYmB`$}B~`v1yas#x02)4yDC`z1ffL1gR9UG3J8ZyISnh}(y`m# zG(M~1k(#xtGbl7&eC4rWc0$haMppz|j*;<*kci!Av8#L3OIVMLdUWt|%ih#HUv|yJ zZ_?+_fbPymeSOX>yGdWq^+XSXZ}fw@EY+O7%r^bO-@hp@&3DW}y%0%5-j$&9B`h9m zPP0ukK11W~X`;brB?6~Hiyp-Rbe_%;d(?F!8Hz$c#>}0w`b6tX1XYiP);3jVI^JNN z-?G)=d@$elzVUf1&Z|?b=5`o=uzy5Y@A?=B&lHeA8l8R2m{&`OXQtQk>;?+jh?T4I z4~K*kwMy!+%ZSM}UjtXrIyasFFu1b^O0W56a!Du+I!%Q0v6%^SvJ#_ABJrAV$1|%G zG&uEltr^97beAMr+=bJ;@4D26TV!P#rzYi9%d)r#tUy_hp096jJ=vr8l%8A5I$*+R zhP?iSe@8&M+L=ZYMihwm3x4V!5e(uS@-e9rs~!<7ZX}Eq8*VxoPejhti#Xb+`3zsX zk^;i}GSs10sp5{C?*1&sCv6i9%zS2*krO`HR4;AzCdVZfM64w2n2utZ$Lck_kPX}3 zl-9=jTR0XFgo;rL1McpgMr@nby?iSv%E@lgn^Wc*|X zP#Y@9PCG7lk6T5rj&~P7q)wJZeta-tpZw$rYkCAiE^;?FO2EvzumxJ+p*(f$KZBmX zO2^~@Z?5#@L^ZvWV>PfexB>@sMJae^tAzoYvQGdy)qiT_0^g_TZ+8_RO>rhim`f|a z3~6IC`o5whBHX6-Df)eWd(Ud0vwqSG=xmk$z4|)!J!eYQ6Y}T!^sUkUca-R40+z#t z(?6RI;b(Ovv+_u-s6Y{O>9AZbzxt5}k!;Uj&)mm!@Ii_^;!4mpkPnJ{T`>$FQ`Gdz zvhvQbS4SJv*Qb5t^_zGFzo|HpMofDfOj@X5Si>}LHn1C%ov|%ko5&iwNe^8!sWtcR zS3joYZ;9i_Dzymcu8NjQ^M~kO7HkLP`o3~28w@2|#`k<=gd%H^h~qLrx6&m9b@)@G z1f8S0SXYa5uN2*J^^+eNPqg6;4NTxK@6k7#7zjsfYgA=0va4@aHn8uV01QTNKp|67 z#|Y~l2iN=j%~gyP_9{m0O_;$Z@ze_IYK@xLLy;J1k=?YQwJ&0=SEAV^5IdfjjwQ+) zN$WEv!?jj`O6%NBe|SVoJ>!k$PVgu6rMQANC8@`mtbMMBwAyy*s3&?Tlo|EbXmri{>)pp`ohjfwAz|f0C`eb ze2{Be_ZRL>e^XB{s3`3@n}ADzCC9p&Fl#;2$a$g%Y9AuG*SNH|J0U)>nCBz&>NhXN z7vnr{9McCxOB?Rqv&8}~~{YYo>03WxTsMw8$83>zaI3yX(q^H5|^LYq+7auxl6mF24pG{Pqt^!iLU zpC9HRSQxKUn=hmgu3pqpdk9mj;I+Ek%NZp%UP2n6k`<@VpCp=-tmS* zFvg`yCk8%$E7uo-DA6=v;?xX;havzv%NrC+=>Mk3vaD zn<8I2!54#9P4$mUExEZD6d;6Y1dErN;xuoud2O}achW8y4=V%|j0$(n7TP@qAuFhw zf)f15i?CG3o^l)4PSiMEV|c%;-6e|-JPl9O(YhmMxr&sV;<~t5x2-l2m(^mVo8mVW zfCT-n;o#}2ah>UQ-jYM)yaDzQ;%pTos*NaGs$uC=Uuu$pzc>yT&oTh+;;%TYP zjP*Cvc<22+UhuEHPZ*3Y5!u*|jVZn0Zct|)yY8MlsrIQ#@A#Em|93KcV{WeCv)CIR zc)xmO-2YzFi;}o2nIc9OWB?!63=_&5 zzIwSC)D`>ot(v1jb#&rqvJ^W1+AozxsN%+VG5pjUtB)WSk&cS2jt;0yosDiL=Qd@& zfbXv=w`L-1xC;h1)zNV`eeg`k%sYCQXAOu>id&3H&fpxLqZ2P4!<8bY99L~DhsBpr z3s7;9m200xB)r)>*Gm=}o~&eh>gqR`I2Bjjoq|%o2xoM0H)YKRVA|XF0iqaz5z>fp zR-h(8b|d$wi#^thMo4$R@0xRAmY;uD)N*fqZLU|BZIyPbxd zi#m1#DhR6aKnhgv`12SDG11g@v_DwrgHOu=;qQi5qHznCGPZAPSZ`J#!S_xw;B~5j z>U%1zemdp_SI?>Sy|OqFT@0lDsdGvRhyJ-Kj?bIh`oi+t0c={xhf_F=~&dFm%eiVdASCjY*gq$s$VMW;Om_9e#T}v z?{A^IEnLdBUv#ZHU(C%4E6TN*N zcv0lWqkTs{i@>E#HGYT`Aobs~O)9V(+q{Z-Qs;4=_0wl2?V*B0*W2o~O?6c(Jfbok z9a#03bqZ(jUqlLv2CBc>EWb%I^Zc^Wr^Y;_ObB$T4qvoZcgc#D5iyx`GJmSlc|^Oa zP;lsS=yYosj8*7*Hb^D!JUl4Sbz(yi#BTzFu?PVT#xQYcD;L4m$JOx_f&i)@ws^6s z!TfB&Hfg@9jM-)Xb!tuhf|AnSf-RLd#U@X49Vri>7M}}N5i^pWv#*dF)RQi=4^RB; zj(SVo#U14(_ve5Tt<;9N zI0jPtfUdiUNKO>5f()6sv)*feCHo$G=)1h<$bw9R6YDtdC`SM9RiHE}xfvLBVv-}k zfaM?exftAvI0tJR2+AT0-pHA~n+*jrlTpVyjt%*)fL3{fh@dKwmDSHm?6%bvFA~qj zl!1#4IMvA(#UbD=9zoUWueG=emh21uufTYP2GmPYqx*59?j5vF)it`=ZP z0>6%j)N}%6Wi&>{fymE0|Bxlk>mmdd{283ht5!v-*^cZpH=MpLP#Tof77>!d^EU? z&B${jNKG~)zQ2z6Qq|iI zvFyjITi)i5g+<^aqZAI{rTO&e-$a^>_y!^t&tzYsY{bp!!~@{#?PWo$hTwU2#i9kz zYv(f~35(-j!bWnDeTKpqAFm0?DLN%$MZ+*>d<4X=AANX|{*HBsI*~M@V`h~0oNj&2 zva;bJwR^n#V(0mNe72lDmJTl^)TYv%(WO22A;!T`$@xUPFSXUKnFqw}pTrE|!i5%-l&SL&B{T2%4}fTDb~p@} za&y@`NZoG1UJ(bhw9XM&#Xma%@m_nXU}Bcl6<4kP**%Qc_l=;Mo6_)?ds>*EOO(r0t@LIh2wGY?vA6N8slk2x*?X3VLsM1=_pTGov%Of2?D z8Gshp5+{q*&qA>_ktQye#+@rR7k7b7aglfr;^RzWNjUlZ2ye0hUjQKclZUm(V$0B( z)t?0;y$z}a8)p17GmX8tFWTH#&x}##Fj#r<(o)fTQtRV8^Qx%1o8Xw6I)J=$v#iwB zRR2@NHmW4cwFd7-73pm>_en=thBP9=RQd_)U6*>VbviOd6m$%dq!8@pnzn|q4pVMZ z*w9)c+cS6agJeHv17l_9kq;B-q)goVp&g+jBX7%aa!34N?o)K!MWx7?8VOXe?q;#X_;Ln7(mUmCA{glgoeukXd&Q*dxZSOq$OUOPrIa2W0xe*2879!0VK1XbIgs zex-u(^(Ug;^AmP?%z^DE><`^IT@F@zvWf#+74^f8a%!XD+`(?5N-f6F4G)}x#}F|m6(8Q)P`aI$r^>;)f)6I(c*a7!E2ovppgkr9Aba!v83}W7wX*B z4)uMXKW3J@`9mL&POQ&I0sDXiw8lLJ`$mf_lV+XZwK#7Okpz>e?l2mu@NCk^+-Im| z6KZaJ{N9UO`f-AneE`$T_S~rnC=|_ zl>rZUqH7eP?0fL%5i5svR4CpN-!!}O;|L(4vq#R99=_I=pNUD)CpKle>(u1xuAVUy zzWt^zQu^wPI0gMNC%VJ@T>DNPj;yG$ZjW-X(BIky{wonP6&BQ;>8JAdj5pD7M~=M5 zh^w=~Ec~aRZ2+@@506;{t|{-XT}PbbygwkVyc?(^OUxl#YOTYKXc>N|{zkG+2uY7- zd>Ds3daTp0Qrbo_{l(?iR@1AJ)9RegZ@CL10%aO9Npv>5~Oeo#$M(oB~z%fT-vIO^cNfZ}lh z)v3!AV+*Fn@6jGZ21c{R$q%zL~v^+HtwBG&9d~CVU z9iv>r^8#WC#{g3lb!4?4jG;R?fT&2D=V`BNT<=j(;IqH$d;Ve!L{k>=R{cr>qiv5A z@^;+XoikrX)X@tfJL&NOee1m{A=Bmx(Z(*#Qn0GfcQX=KeYUph z+hZmISMI!`pBFv`5@hj6#dk!jt;pio#;;gM`xru9!LplQ^LPCIRTNf6oQS&~%V%J! zID{~4n$b@U1$M2Pq0{C6i2Yw4>C|8eW7U&3 z7vquAIJ~<4dOcyxiK%0u^J}u#RJB1m#HA-=yUTun=K34!uqd7OoqopQ>pf`(-5hGH zcG>CU^frF@{#p4~^?>O_Jsl-!rj<&jqHFuh^t9!2JY*ZEI(%5k$rChY)g#rTp^9v? zE*XZD8Fxm?&~E_AD;KOyWxzTKd%yMh5ZaGqcUM2q$*Al?$@@Retj95adGk#yd&|$2 z8BmDXw~<>4g2CKbSM3XZXTpVZX+AhM1KY@D!L0z$=~i-OT6WGT1Z>YH*%K>$_wfQg z^qKjv1!UO*Cp+nlyt^_9M43{r!XxcRFtQIE-Qs4HrK?iplz$f3&`L8RIlV7xl!eiVsj6D(~Mqe%1J zwEz@=X9opneXnLtQhdeeYVJ*Bas;jDoF7s1Y&cW4^}kJ97USG{TTQZ9MO(!A2U-d>sd` zk;^2PQ;{y`*T@T3blXZfg$uG%0SQ@kQaI53{xh~fG0}tBpEiRhJUZCwp9cg9XS!L8 z11@dNP-|co^vIF>#ymU4ykbRDXW&NO#qI6W=^U!z?zb##3o~&IXZw;Bre#Dk=`8vw zXIDa&3mDow_<-a686^4cJ|Vpp{LPa=9HLI|r!uvUC~tk!KOPkTay^n}0LX*a@xjK+MR zO4s#hu_lEy`OWo;b=l92^sO&UDEaGr3d`9WEp`gD^sFuAQ#>}IdTgD zykcA&ejC9ta&u>wIHtoI!e%g}F_6&oo*p2NWtJQ3Mq;|1_9+n?0;I*MpEZS!IrjDN4-4Q0 z;|&EUY+n1tJ1(AR^33J&x4Xa^^Hn+;-y0jUgSm>#v=%8?Vq@!ETQQ}`snDFn({q;O zF;uyuLpL#VqSk%R;BB0qM%Vl2srIqruGOh=PW;V8KU}XA(j0ZT-)!IIVKC zCR`9UD4bNo;G?#RU7cw(Il<3V*Z&-;1MQ5|LBn4Srq9r^z=Ut-38^mC~i(0@IsH56lSa!_Y8xTW&Uon{oR-=e9j z`ID^($xXoA2rL6#e^mF{=|^qsrsrvB{G13^n_78VwHmWhC9(v%!oggvap%m{yTvAo zc|1d|H2rF6geEXbxlYt>fVC1*--Kl@GD%t}vP_J$WajY#h1U3VF5}s50B;xCI4ryP zQW2n%>h0ikA{invSICTvRgSD{FFu&k>(5+fILsBF2#7EXb5OUbgJ$Z5Wol1v3T9UT zr6ilp$V{>uq~p;S@Z-f1Y3%$0(FF|G}LN@S6mU%{$km1FYHT0bmGBD!OH=YmnK1 zd1#hyWD6S>7D@OdSz7*8U zPa=IoYfR8LSLN&QP>)0RdESo#->ES1rDHCudlcFBO*`?@7P zKA(Tbi8!!o%DT4+*rtoC>wox^HWD1`ly~`}$Tm|-W!qD{A&^f9&?43?H(_du2t>Qi zG@biQ44_^;V}1Mc!aq2&P1JbCeBaK1llU?iQ|7u?W}%`elEY|j4}%kWhPxI2%Z zjM6q$WHHs36mm<=+fxoY%kRbFF553ps@>JsJzHRROd;})E__k4JB|blqN#7C#Vvh? z447Iq`-wD@_AUTp!(>Lm@B3j7_yJuTKq#$7Fp6I5gAEJ5JGQspzgE6fy>|NPG40Q$ z;Euxr;51s&K2UL3qKoqxpVt#1ps=ss(cXW!&tSUUiPNwxokY)MDrd5jq z`{algaUxqRS8DJ*=vR@)N{&UMX%vfK1) zP4UqosFYjk?)i)fV$+yet2gjmJlp&F0%f!}*l;{M3&rSkgkM>)#?AW92LssFicD|_ zGq9@^&FB?2rHKP>c%dAfl=n$*a3yTH|vl-XjU8%g%9A+BsePPJ#4jHyn*a@iF+ zetsJJOxVX!rTwR_$C%X(nh&+;ocs9?2=-1(<5^kJwebL(D(N)&2daMXZlD zES!^idDeFUSFRWPV{p*KMI^=}f=RnA+sN29!JF178FIW(hB`z_H2Fsy)Sv-vOBp;$ z24r}M;fZX^Cp&%^pehRU0#jSvP~6OYbRPRa5f)e(h0;<3=s6o z7u9LPCRs7I{V>hDmkY)p-+O?|iaR{6?=NhsW~^xoSjtsrIaBa`Lt5Ye<6egByq!Um zFG$qH05qu6t}$|tZ4M1_Z(nBosD2Nx=l+L|=9>9UnrN;80ryK8hF*1X3_+yQo5;nPv^1JAi# z--y?Je+`aJRGBZ*0^i|yLK5kiJ_(F~q|T-JOvkdT=UnnaTieyW9Cm+ zI?w$+iE(|ShBt8j{Q|Jz+y*VUSxDI8IzhL44tQbk>#aMhdpz`C%fVnfV<3+m#Imxz zB8>Z?Ta>#+g#=iJYDp#uXWO|I{oP5;%)xzlFBt%nU_vpM1r?^6{&<#Ia8J>F5`ECD zTf3^4Hj$Ij;_e|v@X=kAYlGrHH)ez;wP$yV!;373 za5L~gkP&l@?bE7coTqUhZ#3rsZf6W{419Lq@QFk60~`)6_Du7>Lw$Hhh!qGYrz=d-Kg;-nU`L8-zJYD z@NYCC3Ut#9bt8X#JqJsDO`Fj?o}g6k0JLCJ`R(s<6+b$slyca|&2=PwH^Rfd30*ig z-p-j;*?{+(ss?&vx9QO8+7}HNG3NRQ$(5Q_cz?H_^hz|V zbCgr=xVyD}kE*Hr}iQy>rv@84u>V)pqU*M{5@aVp%JVTZ3|7 zYU<|kg`CQdVKl;mT?((cSqO%{RVIO#ZM3l#iQvw%oPb-y56g_a%gQ=W>h1y@J1-<; zw|ePe3w3!ggRC!0?*EmWN-osV|DiSS5a(ncXRSg*?}5Nai3DcFm+64LT(Vpuf)sNT z&>%Vl2|hCmySKJ?`}cLlS(l_OSp(1M0vKP`mT1~~;Cs8Qn}I**rC`u;19spA@_*Na zST3%ay2Y%taVKy#!Ds+D-!hhk+GE4!gg0C3J<|Dtel+VV_^k?fKb@Iro?(>n;UX|T z8Ixl!_2-viJsN3k4EX#CN8?F)UJ`DsmIA6}S~}>2mqW<%kGL!C3YOnTV z=4gx$X%`GJ^b)oQG$m}wQIz(8=mM9xftgljmD@C8mjotL5~n~*=zPSZvAr(Zs{z;z z?d}(6VmR~aIJ(cdnQyfR6hn=&$~A+)l-n_Cru?n9=p4}OO2E?}gskF$iPT7@D({cu zO&*9yTtO6BZAwz->uelu3gv$Y-$Zt`uKwZrJ05YI_kqx;uEhMplbFxySQRj7 zCumro`iry)-DTW3eR(K@GWu&*6scx?{MOF=EB3a(cZ61sEG((XTs@iAKW~ux`#Zc# zdh|_S;t2mwcbxxY%IFOjJv}Vi=A;zyrYXHuK|O9PPXFp`h|f`{e-!LBTKW*G8`Czp`*jy@w@8zLfm$6_H|U z*d^h*Bg=bfKnFPD-kOwD{NFk7|9y<(zyF-}8r2hYkM(TNa{c2gtZp4RR5Iv%`}zOa z!2h`zfB&!l{^HY&jM@p09y0#ZjVb^eZBV>^U*_)-_|q_qFp0LrMUGsnc_O!RY^BBCrffvtze$D>=f!>*bJsgtfxBGeQ`SBW+dUNoGr@06@VgxR#st5P30~J; z7yaulfWIWD|JKxgD~i7rMf%@C@H+^82Z8EeK_F(oPQsPKfJuGa0XU^@Y48O52ZBd2 zm=b{DBs5>=8!(6IkeA^)V-S4*!gLsaI_XFs>o0gN|1155-aK`Ia*C_wZYy}8Mwr9q zkYRTkvZ$gvksVB^N(F^ZgK=ls+rWt)%%xZ>|F)bdc(ZT=$0X4;7XoJEa^&XT2thF) zT0LVsB6{|(G+<&X!A!nS(-pPeT36QwkK0^Q5AU?zbt^pOK5$bwcfD7kbT)pDM_!6{ z8HB?tb@rR%E^u=a7<{f?lI>&amBTJc*>$~f=DO6Y=q11UDejNJTLhh-_m=!+3CU#) zbr8JFWKG;sq?D$PHb>|qKRYvgv%Lh1el$wMy>FX z$ZCzs-UQ2J;#Rz=(D#xKC=hJ2x&He?(#F<^FodC-|}s4kx!p zf}TLZ5trKj>&K$kz*MANX!1SD&hr)7LtvmhQ@KpFDnIdjg4tHMPVmLUU|=D|lzuKf zcrkwiTw6Yf4eXXSvd5AXz*rpAm~ASGOIoB`e!NKOWMjN9n9vis{e?$F99-thoQ>!8 zx(z1h5V>wpvO-BpM1}{;HBAACrvjCSHc!RKlQQ_3x z`VAFe{G%+vRJ1gBq2AC@)kb6Ay4is=zsZDMJatz>ta0OoR0j_=WPfsKGIFpSO}pU+ zsjUFbYz<#WfZO4z>_if*w?@&$zrekVo>SL(ReL7agsJ{6B`{a!OXLJ77oeXs_w@N;w z4Yg@Mfi!WV2p`vj@9~`qNb>%C(o)CB(#OC>x4uxgNIwCLOjW?7hyM?I?;X|D+U*N( z%f^b>0O=?So38W@7J3x~q@(oS2|XezDpjg6d^!>00~4Al6(*6 zzV99Pj(g5~&))AC-ye7Ee;5u2S>#!3uKCP4pI>=g%Qtq1?zq9rHlVec*b3dKUIUaq zZ6KtS$Ofc4P{yT;0_fa11+vKwxCh06keI)8T>%J);GK2r3j-#IJljWX z+Y)nn^k-qW!(TgVIn+akoW{7&uE32UR-y=&*DV8pqJ`W5MPbiL5roSgVH0%-s5Tma zU~dU`PYey6(?tPZcW>)LjsG=51>hp@ZY&&0I8Aq$2p34M0>|6;>0Xwdu&@5BUBuU57H8jpbA;1wkPF zwsy{Hs>Lg@d}dG?LGgp_!(1@r{QIm_0QSvNs9kgLCLmpMoeuAxT%~N27K$~6T5ggz zJ)nKZHN_J=4@a|uivZQGxuIm)Tb+1R7@VGTC8y%@t zs2%MSL450a=kR$NS1o1OGF+WHf@)p4G;Z(&gqCo z?g)1ZY!|2ofz0BvR~CowcKemRHUD-@ zRh(udhyUY-X=O&Mgq2L6LHEej66hQh;J)*&K505iKCT(RDqrmE_Ep9E6A#g2fZUKR z=pjcJyjAZo)Z*LZ+qG8gfH-kU=RD?)jr)52!Y@j;&*1bl;XoKl@d-VoH!{By>JA?& z)b)TlRZ(I%Zrt3VX>WN0g9;WNgzNa^S`kvDIj!sR)TVkdF#R z0*;8!2gY=||1ux_GaLNxyN}kTA`psrJ?HZ}@&Ho5rVE8tC=3=$ zOczjEcLvCWdE}J>={)vyM{{Eq(t7r7Z5z*Zz$;Qe#o?=GgCvq7f#=Fq>W{nR=3Ju| zoEU|h@6fe*N2TS9e#}j;`H&VKJ#SKuyKZ*~HaMni9h(!p)s%hvt1;$S?9AKKR)@fX zs|LEDxPMCid-R>@k6ugMm0zzs$+qyPgt(0nU823vY!F+j#7uxqdnv3RiuwwvoMf;H z*_oNOtOCN;fE73Pc@qfH9L3S>|sCjQZ*+aF&Bvad^1 zPP<7of*Rx%@o*`~g+BAGOQnDGr3)FCO*8vWi)96Un(*@BMXt!dFgDH}Jx{UDHa>=9R5 z7$}7MOZ$o&XX=%6MNCf?Q+{=4)DU8*S8&dmvzo%2D1IsWiNe^8wEJalOT^dECtg25 zMFw=E5MGYh|2DPlAK{}H81AGXMNgNZT9^{>ngY0+l{ueEhVcj4&Rhe6d>_6>U}6NH zD-ZPjz!4A-En+8?WOq~wPRjGWt~;x(toCC*dr=#AEr#Sspa5dB%?!FPxDhky68eb2 zi9Y@9H{KY!8Ny6YWXf?Yf@&!*Mvok1E~^^3qVvl(eTPf*NNtZ-`L|o9C)XRM{b$Q% z9xf?8eCb*y*jQq9!b>~UKT5FXt<}Tt0?*G~3X$1;-N7P>*;Dw4ie|4j4xKgy+%}2L zQb*B_cqaW9-tMi-D?xfisNRh7A2YgP-YOPPW5g%R5gsA9EDxxxEVSMZq-+=eu&x$L z5RCYdzgEvKGeVf~=q1dnU)u?&i1$6`_F}*B#}&cWV!#=Mtv`N|uSa@JD*(S;vl;b>#g= zUCtm{I3HIi{}R3@5kp`9)WX%w1yeo-yKLzeYG{d=x#IX1`>3L#X~onj+0dx>i}R2i zNy|uDC|0tHyhU7?urM|Y-P;Hz{j!OhfGYwiPA5PZtAxgCm_KxLAIx^PrBnE&Btvb+ z)%ZQ!TwgjDCI|YAlAwhE+>Fc8dQQInTu-t}QD^Go=Hk&g_*!1}H@!>aQ4DBc2qoF` z#low_b$3C}?M1UQF3#EUoN%39X!Ea@()tp;&ln+DhbIe<88H4cUd45b_s$hvTVe!~ z?EbC~$y+7)vFis}hq`-pGy9f*I_&(y*UA*y)$brqOP06nn@$h!v^I5~*otHgT76)s z#7qJz%0Jd}v(MhUB=H{TFpa)Ab7k~Bi-#5<>sYnS0wQ>FUP7O~reLxl9MIe`?e8Cd z`k}#J2psVgj;diZj`ojbLC3E>Y%k1UNVWk4>(_52r0aOJs%MWn339tK;dtS2CR{!|Zn}1<)Ub_720d&^4tf9BdN{Xz`pfM&r2#-2T+eEl zcZd6KR4?eFvx40lHUOnK`wuBUP-{(A#gyp#5}6d$qXcTyLZj#XN%tDabYY&Zp(ePD zBR?>Ou1O$sQai+fU#}qm+VmD6D%Z6gKZiF}s0jO|`!ZXx$cCc0zjYGzY8SfrOLBVj zhMjg&xu9e5O_I^2-pi%}$r2;4Y8Vr4JmA0eKz;v@qzZZZnq(Ko%e;c?gl_7=g`qj1 zwVoL~*pxcBjBB=(8QK_Xc36=XZ9K@vCWe|nhwZI5g)48V89bDv4I0a9zr|(6!jw>7 zY}c2v8-T3T*)F6}ie`pWv@Wi6Ny5Vof@oFFW~Sq}KI~y6n1i0X`%39g!wC?c zfG!>AeiJ(LH#XV1@<1OZm*>93z0hw=;yqd%K2nb889u|G(+;O(mKX)i|8SdasEv}& znQ@o`zy6(nta##1djLvg;p7{q5o?6^a)RR0c&4<^z2`;Qf%dsq3RXA1ey7fbLV|e~ z?*R5LYQ)_lVgxT2fE&2u4eqt{l6X|Ipsr$8(5BNXgerUJqZ)g8yx(k(dB&c$UIERB zbKpT?YJqxUQGzVQ9sW7<{jDg+-&}w|N1h+mB99hYn>>1{=5ip_v@{(VUl^1&e^$u?_V7H zmUMj+c@2tXgzH>}lNbj03ezmNK(!ISES8Zh2;3v;4bip0&Ch)}DOPH;Zmd8#Dn-O| zvGzKyQ2h4cOU8Tq%2uCq$nBBd-E0+ExfP-V3dzD&mf5S5+O4<4=^7lncs)iMjxIgV zLHh~N096aMXB$w{C8thjdVk~Hoj_```gjZ{Wz}nEJn8^mt1}~m=xq65+xKT4f3jQs z#0VakZ!>$GnFn0E67iiz)@%y>&9H3F3s^A}nh}ifa<8wR|B;1#Tn@pawB6l95^+_n zUIM`*FTJUu1laV1n3?WEYkRnp?*7_l!m3ud#tTn&DaL|Ej@qc;#Iaur8HoNFs=R&^q0$ql8<$28JvcT5p|9uUwWepmr?}| zOefg}qaWoxIKv~Q+U*iwOk*9?cO&sbzZC<=V5VI+&;%VyNT``)Dz`g)I*?$OsyLGa z_;9KCt@*zB4W9^_m%nSTeHGyLEDhRQ&kJ=Z5V7sKDCwwyt`2|5{Gy0jmn00WzVgDQ zSek19`YoAX*lm{W?4z;8Vrd_J(cm>XV~f!G{&aC!0Y{DE<(_w31-dBb<8zmJfi`Ot zi&XJlj}t&T?xv##GELY@!N(HfXIynR=jvYwql-$MqGxP-wPNI%-6pI*vd_acBWP$d z1w<)s41%VQK*ZBuFQ&ue>p#WfJU z*{B@x;E&SdW)dF$HF(D&c9xBN1M%RwMRa6OZu?N5I?u~fT3e`=SrZ+!pdqa8(VevP z=Wl7!9+f;ENh@f-Epd?-*rtwtdcp;H7l>Pd`I)6j+q|mKNGysJxzxm!_eg>A%Ld|% zk#L)XHRjz_s&}67R}CZ;1aWr&`;?IIBpk3M)FnZ!1axrQ1mHMBX-jyf?nJD;!@U$UBqm6CEMYfx*9 z$%6dpA9zbbh-<}LtFl-a|2F)dLy2kqN7;oH?TmStk=SqALm6tFERP!lHCJoirR>C6 z!SJ$>B>NP;)iuSrGe!EPqaQY+Wd=F$YgutJ$4_%U`|Z#Eh>t#Ql34vv6{gL+DB?J5 z?I22`9H{zl9ZsJ~NLO%6hp(~CHfq8f+MlLMIj^8L=VXkeL{gLx><`-@ffLMfxp$cx95246 z_5QSUBh;u|Z)6}k57$gw=NEA!iaDXmo5VivsPI1eqoG{#-6T{l7O50pxDd)yW>l3z zyV5-M$t$AV0zNt5eATwb&c(Uwy-OACg>Th;^l_IT`PK8Z-Ho{6jI6X1;hXoUd1QgL zzg&xvW>?&UDFXRA+tf2JMlrJ~o3o9*CM)L1-|};R&@zlz*InXzb!uQGdiK+k2w6AG zWQG3BNmHj03~-gH)(M>%cghRrYjFGoOkS{35$QXX!0y>!e_U4{*?i1;sT)D>73T3Q zkq}a*U-;3ntsrGct1XW9?ASA%&78XNaub97E%JRaHO+`veSQ78#a3Mfla2m-YSTB{ z^{7V2g+Q$QX1>t=M(v3c#R%d|Pke56TUrR0Wck8kY$^19C{JRB?2XuO$;LDezGH^v z@|oe97^^fbOJM3}|9s4=VPmSb!^m!IMcaMeY-ADcfjCf^Jp800;Xbu$duwbjkQ9Q2 zL_?QV!7#qv1w+EWkc2W0|YlJ%I<9r6?yDPfQ&dBI)$NNaic4Sh z{R|L{5-QY4PPm~QC3Q^GLI&c0!nRq|d0)g#2MBSR(H_cqE-Ebs$nL%(?kyjl8%zaS zo_!l8wHuC1vi8w9;cTBii(l8uGl6W1i0$g_rfyqVqV3L8^k-izYTni&SkTquD4oT7 zrPK4JB=949uh)t@%{<87T3BErw4bV7j+Hf)^&8l=*X(!|<0?KdgwWpSKYHvE1>a#~uP3u5=t0Xk++^unU@hRx)jHU9;66Ta*)= zaCrn#SR(80{OGh>t66>$-%n@mzH#w<)_C~IK1Nn5l!%YdE!EU&NRe=xc}>GOrKQxDDwyaPZUCzx z(lV>f2kqHz%}MW~g0a%!EL$pCg%GTz_s*?UwYAa0mi!YK3742GAkV8}7PDp$Q7q#d zpy!StUr3Yjd#e@Vke5i`EmY2=BI6&T2ZBdC$TPa5+Q5ITevBxrLoNc{{3yF8Qr3T%N zhbn*tahg&p^W7+R<0UbhhYPLbpG3^Mv;woz9)%>j3}&@-UVoVXa)mq=?Q+_-xuJ}7 zIZ<4smGEUz3f2EwAQEJl6sD1j7*xe1o<`6T7@0Fy!wY; z8(XDeSqj`SCSBa_r%P4ujYK<*+6zv(#e(U{eDA!0a-^ExZJmaV(z_33RqI&0B<2R<$d7(N% zQIboO+n0nj#IGo+-u-JYyLh-j_soSt2vov-?qbbbIfu;e7oa-_Xm<<#4y~?qW^rfm zmt}+|+iuaGEHTE)@N^8=UfEuxn=<`m9bPFk0NSO<8uMu;gh|bVF!G+U>@{4m{YMy( zy|YU{bAe_5%em`)n^Udxv?ouewLRm?ZRc*73q)It7O0PX%H^ds-?h)H#$g;r^3b0n zFq2h2n7he)804v#3#`Ry5n_M1qf|LGmtCs-(1Ad0bdI=V*_)$?kh2#FpB}AMr8^)K z7B+KnCZ9c@Kz>DvD}LS!;0HCH--$^vP9F=6w`a05(UnE&V@2-rDR1qck7_+I^$ktG zB>WCkP~uxpqqMiD5^h<+I}AS>d0~(ND`v!bNKL@V4Tto7i}c@lMU!w^ulUV?J+)IA z6VU|EI<(g;MBHPo`~EVD0hUj~Z*c(yVn4OvB%Qgd4$sQr_jH#xYNI~icR^BCCrkfA zSq666?u6gM4YKo_=1-ocWf$uaRVmOf)Y#gdtS|$mVNGVh)1K|{6Q^tsU+i38YCZu> zp70l7eggt~kI_O~pNzm8c};}XX%RoBn<^^D6eXtQFzhp=oNlp?UBK#`bB?nYAF=)< z;Wi7yIf1r(;CjdTg0qe*%w`%%e>^F>o^y_&pN?t&!quIVSA=Y9BH3d6*4)6nuRnEUTB@ZwtD#3xr;SR&S?}r`aS%V?QDbF)*NYnGjV5WA%V|O zUz83sBKl$hZPceNgR(v=S`d?pq(2^t*uD>c6fRec_Bz#iAaVHXsLLF!vQmVwLzN?N zuG<;*1ZD}>632_#2(4?1mI`;6!f((I=rizgO;7`muSlhQc+QjlTMxT@FpO&<`}W;d z^1d157cd`A07^3*Y+I;&IM|fC+4haZ%#vxWoG;qzm6|uzWZcpqvC)1V9c?}kOb~aO z%vH{dbr~y)k+nF%4gGapiYtXis};=3Y8;<9OK?H%8jM)03o=U;kzb_D_^r$2>?=xp z|BO!;cae_BS4BKg&3INdUjAsS=VpcZ)8`1+`1cakW{o^wM53pQs?3}8>x82l#oR+` z;XS8n9s2N2V{=cS%fJ$a9_l%f7C7YVaPF-4czTfmoFf8cl$)#Hy-m^QJ$K#*w;HM8P)9~bD+IRy@^>+;+LQ|KW^D#If9onZfSlw z-oR(+XIN+WQVaeeEHq6b)KpDxV6MsM0rkjnD*^QB)1RK)?-7y7oi+jr{67xILZ!NG zIj3DkG!G&WzHI6AQI`cgDc@a{WeiU+Q>F=V}-SFH_|l77b}EKa}ftu8QivjEC^y-Wk;lA z7lf^Z>YXR!!JMqW_fayKh)p|I3e(mFZq^%T1v*cbJJpEO`=;zsRFTM|NuIcOK|sV) z5T&bGf-7M5Ar7Y6!hV$|v_Z}RHYb`0C{pGk=R75rP1bfZPB9(#G_# zzft<;N2`V50g#i$eP1wr)USU#RyB2IMlwm*3U$GL%Avt^TGZ77Men52!Y&{5Z4Wu& zqvFCj?N@}Vwox7HPQEnIS{S-KUTTop8n!~JEqGl06lGXoVhoX|;ZivdS=pRBxMT9! z@q<{&g3{m}WC0Db!YuVhZ9fc5h&(DMK6(SWR5+$(^-I*x{J=;NjlGSLjx*a6OPLcV ze>r&;SX9B4lnOn+*UncHvl4}^!b+dU?r2=OUEUr%gLG-LMh|8cZhl{srR_Iw@GU*s z3iHw`$DQY4e!CN?Rx;$bm7g?`m0Ll7aq~#KyZD(l^R2(97-4_!eo15O)YkFq z%#vN-%D~nS=5p)Wu2r?rYPpntR>g7?E~0RW+}Ui7pA;C)XP!?Gas60E#B8lliFb$f!*r97WWMF`7HShv!fJ`oFZ18z8kNj+A}$K|?`=b=jSFY&&rUnaoD#d}{J!`0 zROdIWf05gFg9+uv@CfpY=Jq;W%Z$kQLANTT=L0I5*;9K%vM>cO;GKaK--2(Y#o64mu)&extD5pqMVtafYSgxi z>n~L->inKx?iwUC_^Ho*+T>>GDbmjPnG;GXFhAG@hZI}y&ES3*BY>K+vL$TI=P_CD zW~AcI(eovJNHY{O=!N-Vexh?A?-wIPA4IsGWfT&iaMqAXgg$`u$!gdDa+pU0dwbOJ zyknQ8eTvv_U&ZNg@Q6C+4sb7lDo=;UL8q`Jng2}v*8`p69&7=ArDpnUezX|rQoqgOv6W9%JA zIayl5_LxakRZN?M^&T1~aHBfQ;kvTiUUt9r(&C~f-EPeJAc4Jf6GT``(_oGIu`w#W z1XG)L!6jDuI3zej$c(lI=CE)dxwGjmB123LFZQ}Ae(Tk9t|F{kB$7wdc3#xa^R-%X z%WdH&cE@xT)BIdT&}~jSIal2f`)SzPq@=4p7l1d8%vdJ!_ghx2hpION1hdK3mVa%6 z{_xoG;>*c4(kCe=!W&V{Ji77+1+~jyhtj~AxgXG(wsT+l)8{+?%oyQ68G8~AwF_RJ z=FB|~J=}>r5Bi2qDeCicpho{oU-y6XlHq#bOW%{fc5hMf(tEkU8UfSKdZ3Nq_)MOM z`>Ur4Wi5lp=v!o5W~BWsRhUCcnCq{v;n>LsHP1odQ(M|VN7fgd$lW`w{8lZ3Nc$5E zO_I%das;610tUPoecQRIYH%RcuwOlBK_RJ(9slbq*OS+mSV)wRL@<4vN z#l`rsjYhJNp!i2*JU9r@^j_&_lE}LBSLXTu%o!h!pVWC7bo)gcRA?IvMZRTQL6a8< zTgd<^Yp}aAzz??hgP~dF6aS2zKfkQ-{+mjRkL+bk>*)XdhyT}4JiW{rqphXY|Kcwd z=l`?0PE&u@R@(1d=g9wO&p`fp&;G~#{(7{mzrW6Z@i6|rJO9Ov`HwjKfA#Kgy4X9r zHoMIe5GOA!_9DRcJi)Z}mQ{CoL;RS~38HpT9AdF8(}TK&f=7e8O>2@=4r zSy5TzD`VcW_rU`m5wzufmN_T4O7d#&{5vasaZ*RhQRALw&BcFjshsfz#|!8*Mo-+Y z{p4VE8;M;};{>|%{gRSA~=Htu%>$dafSD5e!T;`_y zZLxFz-gPcBa(eQ4$)-H`cjD={@SF7DGU{~a2k!lQ*ZF!>{LIDP`ge*p@W|DVF7tQj z{O6(Zcj)|!*X{4n`ByLS-=Xt&==_U2@c($|bT9YB|5FR#KPdvj|K7a*le_ZIJxJ~E zy63-sJ^l`ze}>6_HgNnqbpEru@{j-fJ9PdIoqu%){(lLb8g3_e>>GQ4X4dVBWn0?N ze96y$1WJf~Lw;+=g9?S@0RV^UTSnpQ6CVwu?B3bSK>cY!3_69+nyu>x|Z6)Ff}F#r3{JK_;Oa=YVsr_5peUTHsqcst=$Cabz}o zI?!N-YjMU;F5J8!kF2mlSgs6YU^bp4a%nh|7MId z3QYyRQFfyR5Vlu*h95P06K=&pF7I>vU!Pe|-SKXV#c==`;*Vkwyc&AR5!{Piq!m;> zdkohDK*B>a=675YF_p$On#{g{PXBIX$hF$|c@khflnZ5jjoQP9&>6~>dyX4(v z?}yVhyZf_P)+@)HRLA1o*ht5LzQi2)!f0x90e_|cck~LPVaB4ojcDa z^ME2oX!XNPaCxq)*<|dw{B|IRd)mqn`lb=U8g%4mp!frHHwV;rD~->%QUH**q9tU< zE-EcvyZCxv@{Qw=A5p-An)0yqu+tk@lHH7X)lgvp_ph-5){)wpsbM^1;@(hv8!r|Y z+?P^u8Su2kgH!r5@7&i>IIullJeU7q+40N+cte~KOKkGyAuPCYmT?^?7H-h}?VX+C z|E+jk47l1ecZt=DwHh3~^srPRgz_ypZowg&Z$I01sKjJ4y5AUVJ9#qJC%iL?q3L*z zfaPJ%NgeWTpRmqwlEj0EVmvYlhaSQoH^6Cu zP{*+Lr3&YWxlZ*=*U`w@cjcA>u3Il~Y<91K)HBj<6#U~HM9KS{?Rbl?H}+P={i6}+ zqN5zru5KBCca&>2okq?_*4huGfKa$+$s(;^<1myxl3^1X`TH+QpLy{;`{oAG)Y}#R zjX7se^zm-xu2Pd)RI1lfmrS?ni6WZw0V7Fuo(8_KMpWEaob|kwDS%p{P8ur=#Xc2TiG7bsqF`M|ZdqNKSU`&tDE^X9F8? zRogfl>2Bg4R#-lGFM(CsoAsRp>soRwv$%d&jQqH;6UT#p0A9m?GW3)Lul+=6nnnWf zWK`QoKxLm}AMFZOqTx}Mkwxq{u4JAjC-UUcQXT%>QX_9firDlmIpThFM$I=_u}Eux zb5869mt|lr8-J830n<&;R_?@U&Wi%^0>UMBlewkVhF$+V2lmZ?KTOz4P=lcJCesvTG z-4ROr8`E)-^R^uS-Kn04(&FbHDZg*M#XT1y_KuDWJrHDW@XUhl`DRGCB@j>H zv851S@H=zJ{NC=jKHgm_hy!v&oMa?;($DE);@>_Me-vBt!_REW% z!2*CClFB&(m9+#Dyw{02D+3jtRFP(Ie>QOB>oeDBbxlGGpIXtEB*Zn4E(z%l=Ep>n-rw<% z$#;iu`turI6(Cr9fDbWml%k0M2xIS>TnnE8@zLD&7#*6r_}?$kZOp@s zxpl*Ik3gg&HrtU*t-lg9GkvzxUHJL{B!j)~eF+)h0Br}>Cu)4BMS4>NGt8f+jB$Q( zp7;nSeZ*;J{)(-Q1q>|d&7i$xTWkw&{pOa2|05Z7NpoDp%B3 zlnu020cux61}68xn*{xpLlOPzABLBz%&1{UP#{!}wCKqTOp9?79AipI?+2oK5&{L2^j{vHX-BMS~pkh|BZEu1%a9wJY=%m1dwo!PrDL5=fko^2jdfNX{gP^ z_I?5e374f0EPJ_&2%vQF%PTV@n~b8s^pe4l@!?M8oRgjj|M`SU4Z+@q>T zoQLzwVm&6>^D=&1`^C;M$B}yut?u)%$iwGh%|ft*xJ+zemF>jGD`g8W0YW`x^XshfuT&()9D8OD4lQd^9LL=qdI^|?YU@Z3 z&f;`(G{MqzwqPN7tVrh_;10+Vs%GL=gZcnMcU{tP(L+W5JWtTzy1ZLnsQqwkcd!Ld zPz*aAIV&4kEq7{aDZZr8LSd%Zav_nsg?}O4L8fI3xc3R86}I2ukFr5 z7T!>%db#4{m}~f`@*nn>mIi7|QOGq2rL3xzK?Isd{sJ-qw(g;^KVg1T8>)BPw#DCi zyysm_V4pp&X+cSy`&d`3KLxee(m1I=08Z=gbO%D4Tc8sPguEKNEC)1zH_uv3TD>Xs z*cHBl{X|IXrkbZt!X^s~dfr#t%uUbK!wmp1YvY2;EiP<$PN4m>Ly&w12@Uf-K11^S z#hKo3MN6QBVV_>Jx)@RWK~KtsnlE$R7+kGFWD1|5#<~S0t0_kSlOS5?~p*wbQ%mgvhaB!Cy|Io2e_a9+^PJA@(!AMsuK6m)~Iukrz<;@&QQ- zE3rhT)b_Ef2g73?Y{~mg2b}k#;1%d90YOvR7>|;-vv}*nzAjpba+vc&&WDqusli8B zl$7aOhcq-^_$R<2CVVNv4*M*-<5*e8;~u~o9NwdMZY>Cm%xl!H*2YoI74#P_!3X45 z-~b1t?;}4=;%?#KH~CmF7e-*^^-PtrRcsjL;5xv%hupELwQmuo z0}3`@Rm1=hF$llPw7ZL-3{hPwOMeRBlp-&956Kf=3Fhr8Y-X zX}83LBj%xq`Y7GJW6bIrK|&62iLu@O7U8VZ-N=Row;ip6E>X{_0^^MkAJ@>O~bjV(3@cYUdp-Ia{| ztnbQEitpf9*jS)6GOOL7)T}C7?%=1v;JJwGk-fz9PUtDo03liAn<+S1BN+jF%;uj8! zlr-_Vtsbvs^NaJ6$3i5w`Q*`4EctZ5R|GcZ3qRUlo$iqKN9~|st*i58#=;}GVY6n^ zk+M=x2KOI2R=4T+;uJ@;kErHiysnuv@67|1J)dP{9i*65bRl($gVpZn-{f7h~o8&qVGX&&9Rtb0|bpI5Gj4-y|b>zm=oFzqqpEA*V zB4*|H9Y=D~{#|Ud=pBKQiP^Z-zW0zc7oL(MX#C2x7(dIDT^%IjKB!ZecVHudd#u+) zd>ySlhs-=;5{t7#M&aM$VfzPw9OvJ)w=ps6T4vJY%ciEw!OOO;K;&%M>Le_%+&3-l0NO54C+wfkQFoVL**QJLDcpY7!{i2dI zV0mPbM^g*HUU^-%!2|LNaa(vdC&<~;dW)ZXarK}*^0lkD)6+|? zy|Dm=`EK&vZBJ+N(hA8q%Y=tv_8vFtY{st{6l+7CU-Glf>y|)aRp*U@h=0)9m-_@L z!u+s8f~IxjhOg*D?*swzn)DLlU>_bIT=ChwAJSx5%MteL$&|##>*^(x_w$ks&%6}o za&|1pLiWQBdE~Ul9Axmr%|xzw#?{b4Yo9pQt8#_m7wF_Xpl~ z=R@bZgP@F9pJ(iEACTauBk$PaK_&IG{gmv3W+6P2H{MQ7@K>6x z81hK2YMG4nR#;lgxW^EEd(k72;Bgt{kPZ55ic^qWhFH@yS!bApk7N&%D)^l#lrE%m zIaRr(80#9FLG##gq;+i%soJ~P(LO!c^Nczdyg**@V1-2f{zo7w*KS4C=MXA8Q*9F| zhu7mdm^|6}J3WgQ>srX99bQ$NeRcbp>vXfUBfXAi7A3TkBbotIAFsy2I36F+O7%U! z&z!1nR}_*bWWy>S)B2%6y58R;B}KEy8X419|H8`qsbHn0T=q|`oVxA~$?^XUn){O8-yZMj!j}kkSg7=SsRO&NU_75)v6)nNcc!ca-{_aBrKp?76p%6 zJIEN2T~R$2l!jnY<|9TwrE*_fOH&-JiB|ouXY&7ScGQHz%X=p>xyG0WWS*QT7JL6= zC4;3eF*I8YL9`Sqq9t0%j4(!s*~C!Rk9_L07_Z@%PlT2(E8upu%WuhJCaiK>J5N5C z_I}fwq*th6DBW#KJ?L%jDG=s!GGZ1qEHm=6e814_R4ZVzTQ6Ff(CZFpBMQaYg#PA1 zhdSy{VLc@=DXl(M+?Q&KObtzjIVNzVY}lkUO=ts#XI$OONdW?seZ3cPW4dNpR$EBF z)hKh}7JS|n{FBs?As~=wY+CR7-PUOI$-LsgY69k`Ik(RMda#cjwgL8P9-o!LbLTz} z+dY5Vn&bjz1Glb_Uv7iJR+^S=aDShsi|yR!RpI)R6{6W*#2Xd%-$tH^(EgC+8e-C+ zxlW$&7Od5_&lDY!G5~GofJKFAozvJ%=tHeqOGBWiaA(xYB*(hu=1F?m=esmnYgI;= zDw+(*yn(1N{=C*U(cSuYgMH74H$K@HkGjfE*Vvt#(faCT0rT~*q_t4x^4VIgYR5>I zY)-Vjx_V_Bi8{HYopWcbmpx%snqmAmYE%&Ma-+SD3@=)}rv1Is?bK{VV$Hxl+icdN zJT__y&ayJZ z8BrjdJ@5RyW?Vz_7_N-qZ1VLG)?%rc-lokGPZyLud9e-bDV5TUu>V zl|Da9z|x-+zbwAK)UmwNopai?p^;;R@iRVsf>W5*ePpjBpT=D|fTsJMdA)kPoU`8frM>2ewQA^-0S0oto4f?GZ*F+Px_d;?h8$%GkKdvA z9Yo41?w7C}eh5vYnOmzuV<~=(z0tq2edb(;lb|MSgCzV+(1 ztwv9}tbgO@|6GgTn&_k5A9rHDT56K1KUvfhB^>LyGKR|oDkh4z}oVPhmwtLBmj>OMSV zXPI%gePjB1hWfb32zE0*2DA=iIn#!;qIdI5@xdl1=b812Ovr~!Q~0@I z&f8}A;5_eTms^d!*I5M> zr7kofko{3avbClhVRU|gPGTz9bD+5xon`MZSK}82m@=ny7-Zon+XF3prnYVl6Q)%a zUU{WOC2o(R9Oz8J@1OIRXWEf=pOYfU76WCX!Iln>6}VcC0Ul*yftR+~YL5F^UOVV5 z$)vmRQ^@x!KOmTv)rk)k5d{jBNrO7A9Pgzs6WWN)1@=VOJVLlB9?KCp*t0Y~#P6St zE2XX>tEvDC6UFB4w1vhW+|9AT6C1}=-kdKri__<#v>UflfN!QccCs z;X?=2$%!IVgf_EDeE7>7$0ZQN77cZ2#t9VcDd_Is8G&u(w&3&s!|v(!3+-PQs( zX=~&X7A_reZ_^8g>e4U4eA7g{Uo};xhO|7WQyd>fKov_3;VC}Y_2_M~DoI~(hceK` zajiIf70hl@$*1=FZs4Lzku|jGyKV`0|2sp~Kddb|6@BZEW)M>PXV4DqX-r7mHoGYCME<)0;08_#~^92`4#Zq&+nM34+RbM z-8kjZTpbSILRtpz<;LO|aNg8*a6E#~4V!stIq92fvb%@$_nphxTc7lrv=TkPI;KG(lmDJe1MEARf{uIcHUNHSBSZuva2cF)E5d^@K12* zjEQva(>1qjo8>8V{sEk}%@AwK;lWlA7+hV!7DSLqdp^Z$to2){>@X4X6 z-mPMY0!}|w){-CP1dBbjg`np4HeVEp3!L7vj$&y1JS!qR`BDoR9xzxv>j4+H4aC+L zy1ke5umt7lRFjW`8cUIO7PCkkR1uKvu6p<5Ve8ZRa5x*AhTt6Ama91&~s!u{vM zPMOuat~GoI3U%kEo43rsq11)+)YyAnm}gsYgl59NvCRBJ+^->3jc1EC_ZV9I z@#eT}v_Fgh8x7rMkdJhQ7H; z7)l!B)LfvimD_Z~CJ!WJR>Ey#HC|Uac_sMp!5E7UaTc7fxs1xEFD{Sb1n{EhA) zY~Z!ck9i}#c`T)irRvmx|LyGa78Af-M=G;T_80qyCW15#j%(BVQKQQo!cO|DCg1-xMkFR2=L z!6h#+e122ZPkx<6R~_FfAs_m(K^JRN-!h|mDio2skmR$V zop0$WotK&S-8Hf5PkB*3Go+UI9_fs11<{Izt{{tG0#CLJ{xKHYjCLv?I`+o2$WOqJ z2;P?sOU5|4UC$|U`aT@xVAjG-?nFsWVK8M?Uvidw(?G&BDAMwuW%i{y&e|Ps%sNPy zbg@^J&HP~aqk-GMjhBZMuJu0 z)Vt`~pjq5~^f{TF7If(u)BQ?R6IR^Bc-~FG{1Ye8nL^&X5o+F}a-61_tT9Z;5lXnU ze=Oqy)ADB7f^PW-;c@Y32ev9?41uD7Eo|-#zOWu>8&=mTdys1x zg$f(9%=a&HL^fn~lS+pODBL8KAX^nIx6p`kd+-qhd7&`0R=*^S@(JvJf9HB)3#mlq zDA7Tq$**A5>eyC{WfUytOsfMWp61T~Ii&wT=sofH<0c|DpNwy~wF0qPyMzOJBl1fZ zGcg;r`#ApXd2N4=E8DiJks(LYi6oaVx^&k#!2>>*1_arQdpqLfe#Dx6_WWQLX9P0b zLYCCXL7|-m!v3z)Y=gyA)mXN5m`>Bv&a(b0zKk40N*tgU$MpqvMn%@;y#`8lO!}_V z?jjebYam#x$adPX!CZT_pw$nN9s9aaubJL#+m#@X-C+L_F-39F7{T=VZYyu};HK>b zT-;E}lL5J0CZA@eK;L;{UkA!+JsV8k;k_~3q_={^z70xVTCUhwwBSl%YP^=z{m2XF zWIg;W2d)*((((~q5W4ac#^5B1T}-;jYfy%`pKPEbeakkChonVd-}>CR5H?%k@Br*P zrA~Y66CFkwAYH zX2N!Sn_=L%7}EA-*~9!INSy(aJfhH_0u-%gou?ciwH8onnMpt1_=DS>V-EmrH3jkO zDU+j|Px|Bql!#wu@aiH% zfhzjTJt_>EZlMKjvWT*e7Zo0q@f*m^pFUOhp3~@#u#K!A7HY4h>lP)+HPPlk1FPMG z20dFPz#EeUO!UQUUVxQ-nl|@nC?LF_+WSf@1)9TQs#6pkLI7-_R&b_E;DnnSoHv+(O-2fgFP2BTWg=tZ{2tsO)UR#w*ST?f_BcHS z(EhGfERr_DtB{CZ{V^dTWwW&nklIY{^}`pyR=JbO73>l#dFNIXb@0C^*K zs-Rn>!sY;+W=b*L^HU&KuG-WnV914yjtE(6r417do?N zUfgt74{oe3?MGM$K?JhrR znf6~VB^2qrFv~(S89Jep;WtE@w0ijUCbia=z!Jg@Z~y%4F!KG(BdAL9+TXAK=2RSes6EIPh5Gx)%KQEk~gz#vO2sj9q?w>)CE!g_|g8qO-`b3HfM!G zy@)S(gwfgjdt|dwPraLYgFh&9mc=qNvibFBsP>n|Rg!r)l8ya~s`f`p^zv*4ExI3? zGz>Er;9W;nN58H3yrZ5TF4OC09)8OaU*D>Jes4J0nn)!QbTSY=6=>DH_={hBFFC^d z4G=@Dm--@H*%^QQRu@VfEz{{Qxz@ium(E@051Jbk(RxZ6ni%ZC(Q)(Rc6vWyV_?v&QZeVL&Fzk{Jfzy-cD*x_~W|A*> zTdOo1{DBYM7+Z*vG_Ieayz!iOWo3?|3|vFVz2z1XRWBPBS?V{xUpQlnNshw}!|9(q z;2@7Z->+_wXJxA&q_1|z9+DK&UZI#KYQ?Vo$Q5)Ri}6Pa*$@6O>0?(c6M1g}!GbrW{-$eD(gdm_^hlLrNO+4sntw1(y;$I#0} zD(wx@*G{(Iec1KBMz9^UtK?~q3%`WX*O&KxY<_xXp?X=W1>~-m7WR#Q-Cbr_qrFTDmRO{c$c@i4&J0?@M*pflZe7{=Nt94y_W;&0R1dRd z7H5%}7t>ZYe<_k|n9=;tCtaF`x{^`)LYgv#%TPmtP4BeQ3}ozN>)%lR=Fu|64QNK= zw7DbfbjyHVFe^A1+dvbQw=&bLv=Pr=&$%tuiaMYb9rn#!&@DH_XWo2LDwAZ9{4Fv_UcBSIzccdq4I!hjY2J_*GIy z>_x#pewvdvi8o76=W!8`Z=#*6mu7)k%WCm=Wl)=$c0Xdj?9Tl|a}V@Ue^~wWSR8gF zFQ)2b=6TJ>9z+dn(=e|Hrn0#nR-8Agb)9r6vB(TR=xqlvx=|~aAS?P3VLJT{|Cr*x z>T3VJ&fu2k`F9GrR(*#b>qquw7H+_tUTpV7pn*0kZi$A@!!!_`yz7d>>oSu@cVn2G zbj!rA4S(hTH8qwcH|w*rp#epE5Ej*f3A+mUwn#@^cK-?mvwU>2LtMSxjZo8f10qY^ z$^Fjz*bKAr9qPxD5}V8?96pIm#7TpMbr|gRal5JTj88U;e%m8@X_j#24u?Qf6CuSy zn4i1a8T%+N9@B%SkEsJpF{_C_X+45#iSn=l?Z z;!IK9{B*}7Qy*zJRqq*8CfMGqa0tJ8H~V4X3^tGu>3N^Huk4zYH2uYf5v`s5yz?W! z?S!97GVg;b+g=aqZM_V9#3!GIKzWIBp*PCW7*`a)bG%7b(}2!>7@n3zQDW78&#!dOq3!Wd4YT;fo8 zL-FoC$MkejDQJ_4!axBjuffB*o2vIu6rovYB}#~)T+aVw+Y7lG9eBI$h|u~(=_)6v z;w=HnmJ@)m)4$0gISsZDWufk9#eqLq@8BJZT6IeYIzNkz$5!F!!Du_GMp9=`S$dzf5}#Bb${4 zxl615`DNeVgWYIfwhhk)YRkLYfqM%~D|P~%_FB<1NbpzJAXDLy6 zv0@V$a9xL(Pt8B{8-1Mp4*tT|%eg_%lN%=NSWCdQ?uQgpzZiRMW?IoEml?D+eM3mx z%GiID47_Ceq4q`3{|+a&KNE?0ex^Xd@2?PKXD#@_$m}g6VqTp7RH&(R1#UBNHKNtB zBPw1!U0gh>VG0QT)(?i(I7}LR7@!q@6cd~LbV7fI)W$9mB>{9nDw>!F|IHz<7|k~Q zA{1HObbJIPanuQ3xY6m}YhQ;%-Uu)-@OacleQJDTmK6p0-F9KV+xK3)O74P&#I}%c z99!7uvuT5l-OW}y#I)@7eU4XKO!sEhCz_p&%x7O#`@Be9ggc$fOErfGdZmV74!ZQ-H)wo zXmuc`ZQo6~67P2Vm{BRx4E}uD2uj3qI6@SG4g1vg zg$%!XkAJqW7Q%(3p^%G+R?F4!ym3|20CA-GHi9iv5%tHFiLmo{#>@cI@{aL=QD;ec z(^^wnU8k{%2qA-78&HZD9OA8e88;%P#UCbZu#!Vw%ipA*jMA4u26xO@5B{HR>np=C z!cku;bNeS7pR_rroi^^Pdk zJomZOw#wVoW!z=%Gq*~o8+9`EvL7tb5_hP>enR^43;I8gHfPz#!f{07oDPqm{UVQbj0Gb24t zUh~b}&nK?MA3hxL_S!%TzP`L1+XPPS!x{Dpu@bk5exis<)(jmEYLaWq+K5+6)eaiV zmJJT^@tU>GCHNgS4Bsy@#k3@TiJhp;x{5!!oL?{uIx(h0)^g`;NO3UR{2*l2>R||= zS1#Z(rO$eiZ)Z=+Da7@8F8dast#5gLb7cq)-JjzEf?4 zlo3tu7hZcb4##7CL-HrxXO4!!n~)niIwYC-B5e!)idK~_Zn*yg9DA_kvs=4m8WxZ>cV_#D}Pq?#>7;w7w zGvxfo^1=K1mrv)NEi4=}y>Tx@+teSKLoz+`^H3FOOh!&3rzN81L^J#A<2$Vc_VS$= z307-bn#72hr|3`c;qk!+8x- zD6Q|bH{xZnF%P=8^A>X{Iy>%C+~dfXMTW0z`eBZdfrJ{?M|m7#_Je3QqU-)=*dO8I z?=ZocoZrip`>|?^r4g6bWM(ULkMEE|?Eop2nCX{M0B+rj#1=}s zCsb_A^z*RcXDMtE`F7|W-ABb@9mLiG5m7`ejzu)7a`dC+Ug@0wXlcK7OT30Wl8)xm z%@|N=#`s+>mG4a%Rdg=PwFv#7oo%H=ZdIgBIqYGv_>oS$9T)_%i17(ps+sl(%|g%>1EknWd7>y^cf^^u9)J((eG* zRBvjs>iYJ5eaP>GF!8w9jPi9)fno2u{!F)Z#~kl6yP53wtj|Ghl#c1Pd_P-D#&CJcz(2dNatrU|EuNa_l!|T z{Z8$?HFK<5Y5+g0V(D$xuOqoFkaD-EaYZ=H=J0DEwM03Gl)?~xyU+VE?Y6IMZc;d2 z1^Q$<_eY?LeL51dlTs`vQ)ROq`1ixZ%VoF_gL+d;NS=jfmcza|%o5H;_Eq-?AHEp3(qrE?mM9kbn8YmR+Q_hIwtjl)3U&YLne6S$$n z^u&4So0vH<4O49QGoomKHjhzE%i@ndDrdnoM`La1S?fUMNk{f_Pa$AFBVL9U{cz zhNe+pF-2=VApUL#D+M#7#HZH|esm@r&|Ddy^llkb_314MiXX?QiC zy@wz4>~OBQH_nhQUPv@vi#!a?!mnnolb95mZvjwN>huwSVBO6O5a=~XmVTZ`*Vx|v zQ`|ZjHl~jaEes}14Y|9!Uv;{6gB8}1JD7KHra;vXKT%^nT&TCu$xSoH!K?}(oRHC& z*3cIUJ%i{oU5Wgz#V7c%dEi#(ov$O9!|~*9(rD>krj${%?KC@DaYCKSkyC_rRKL;1 zISz2_D}NSQ%ICVD@AJ$z9`{hEBht|1)}JE@EPi_c*1b#%(b2>GIf$~kzBh;z|C71El+iKVGgspdchuL=rYCMYSL;j{Gc zrK~~n@!z?QFybG|a%T*#YfeM*wm8KIccyBMLi&I|3jj~TA_0HUvEo}-m%iLD@vHA< zNOrR+

  • sA3zT`ejQ^TT=ey3Rjjcfaz8Px(k?A$<*$Eo8um2$+r?VC>5fm$LSMD> zX8C`dU6_#?^RJd%kV?B&QE@pB@@rr&(pc<8oSnAB5SR~ry~ch|g;=sMEH(I8(xp+GtZ zh|Rnbt>nQ0!Qh;{=S00@GNh&`#jH7?zKQrc;48{e8jl