From d4b22dadfdc53b397e776b3cf93aa8023e3e8187 Mon Sep 17 00:00:00 2001 From: Akshay Singhal Date: Wed, 25 Feb 2026 14:24:12 -0800 Subject: [PATCH 1/2] Initial commit - Step Functions integration pattern with Lambda durable functions --- .../.gitignore | 10 + .../README.md | 200 ++++++++++++++++++ .../app.py | 28 +++ .../async_durable_function_invocation.py | 74 +++++++ .../cdk.json | 97 +++++++++ .../__init__.py | 0 ...pfunction_durable_lambda_function_stack.py | 116 ++++++++++ .../requirements-dev.txt | 1 + .../requirements.txt | 2 + .../resources/Lambda-durable-execution.png | Bin 0 -> 47824 bytes .../resources/stepfunctions_graph.png | Bin 0 -> 29291 bytes .../source.bat | 13 ++ ...unction-durablelambdafunction-pattern.json | 68 ++++++ ...synchronous_durable_function_invocation.py | 47 ++++ 14 files changed, 656 insertions(+) create mode 100644 cdk-stepfunction-durable-lambda-function/.gitignore create mode 100644 cdk-stepfunction-durable-lambda-function/README.md create mode 100644 cdk-stepfunction-durable-lambda-function/app.py create mode 100644 cdk-stepfunction-durable-lambda-function/async-durable-lambda/async_durable_function_invocation.py create mode 100644 cdk-stepfunction-durable-lambda-function/cdk.json create mode 100644 cdk-stepfunction-durable-lambda-function/cdk_stepfunction_durable_lambda_function/__init__.py create mode 100644 cdk-stepfunction-durable-lambda-function/cdk_stepfunction_durable_lambda_function/cdk_stepfunction_durable_lambda_function_stack.py create mode 100644 cdk-stepfunction-durable-lambda-function/requirements-dev.txt create mode 100644 cdk-stepfunction-durable-lambda-function/requirements.txt create mode 100644 cdk-stepfunction-durable-lambda-function/resources/Lambda-durable-execution.png create mode 100644 cdk-stepfunction-durable-lambda-function/resources/stepfunctions_graph.png create mode 100644 cdk-stepfunction-durable-lambda-function/source.bat create mode 100644 cdk-stepfunction-durable-lambda-function/stepfunction-durablelambdafunction-pattern.json create mode 100644 cdk-stepfunction-durable-lambda-function/sync-durable-lambda/synchronous_durable_function_invocation.py diff --git a/cdk-stepfunction-durable-lambda-function/.gitignore b/cdk-stepfunction-durable-lambda-function/.gitignore new file mode 100644 index 0000000000..37833f8beb --- /dev/null +++ b/cdk-stepfunction-durable-lambda-function/.gitignore @@ -0,0 +1,10 @@ +*.swp +package-lock.json +__pycache__ +.pytest_cache +.venv +*.egg-info + +# CDK asset staging directory +.cdk.staging +cdk.out diff --git a/cdk-stepfunction-durable-lambda-function/README.md b/cdk-stepfunction-durable-lambda-function/README.md new file mode 100644 index 0000000000..95950a6210 --- /dev/null +++ b/cdk-stepfunction-durable-lambda-function/README.md @@ -0,0 +1,200 @@ +# AWS Step Functions to AWS Lambda durable functions + +This pattern demonstrates how to integrate AWS Lambda durable functions into an AWS Step Functions workflow. This pattern covers both the synchronous invocation (using default Request Response pattern) and asynchronous invocation (using the Step Function Wait for Callback with Task Token integration pattern) of the durable Lambda function. It addresses the challenge of running long-running Lambda functions (beyond 15 minutes) within a Step Functions orchestration, using asynchronous invocation and durable checkpointing. + +Announced at re:Invent 2025, [Lambda durable functions](https://docs.aws.amazon.com/lambda/latest/dg/durable-functions.html) introduce a checkpoint/replay mechanism that allows Lambda executions to run for up to one year, automatically recovering from interruptions. This pattern shows how to combine durable functions with Step Functions in a hybrid architecture: durable functions handle application-level logic within Lambda, while Step Functions coordinates the high-level workflow across multiple AWS services. + +Learn more about this pattern at Serverless Land Patterns: << Add the live URL here >> + +Important: this application uses various AWS services and there are costs associated with these services after the Free Tier usage - please see the [AWS Pricing page](https://aws.amazon.com/pricing/) for details. You are responsible for any AWS costs incurred. No warranty is implied in this example. + +## When to Use This Pattern +Use this pattern when: +- Your Lambda function execution time exceeds 15 minutes and must be orchestrated by Step Functions +- You want to keep complex business logic within a Lambda function rather than splitting into a fanout architecture +- Your team prefers standard programming languages and IDE-based development over visual/JSON workflow designers +- You need fine-grained control over execution state in code + +Use Step Functions alone when: +- You are orchestrating multiple AWS services with native integrations +- Non-technical stakeholders need to understand and validate workflow logic +- You require zero-maintenance, fully managed infrastructure + +Many applications benefit from using both services. A common pattern is using durable functions for application-level logic within Lambda, while Step Functions coordinates high-level workflows across multiple AWS services beyond Lambda functions. + + +## Requirements + +* [Create an AWS account](https://portal.aws.amazon.com/gp/aws/developer/registration/index.html) if you do not already have one and log in. The IAM user that you use must have sufficient permissions to make necessary AWS service calls and manage AWS resources. +* [AWS CLI](https://docs.aws.amazon.com/cli/latest/userguide/install-cliv2.html) installed and configured +* [Git Installed](https://git-scm.com/book/en/v2/Getting-Started-Installing-Git) +* [AWS Cloud Development Kit](https://docs.aws.amazon.com/cdk/v2/guide/getting_started.html) (AWS CDK >= 2.240.0) Installed + +## Deployment Instructions + +1. Create a new directory, navigate to that directory in a terminal and clone the GitHub repository: + ``` + git clone https://github.com/aws-samples/serverless-patterns + ``` +1. Change directory to the pattern directory: + ``` + cd cdk-stepfunction-durable-lambda-function + ``` +1. Create a virtual environment for python: + ```bash + python3 -m venv .venv + ``` +1. Activate the virtual environment: + ```bash + source .venv/bin/activate + ``` + + If you are in Windows platform, you would activate the virtualenv like this: + + ``` + % .venv\Scripts\activate.bat + ``` + +1. Install python modules: + ```bash + python3 -m pip install -r requirements.txt + ``` +1. From the command line, use CDK to synthesize the CloudFormation template and check for errors: + + ```bash + cdk synth + ``` + NOTE: You may need to perform a one time cdk bootstrapping using the following command. See [CDK Bootstrapping](https://docs.aws.amazon.com/cdk/v2/guide/bootstrapping.html) for more details. + ```bash + cdk bootstrap aws:/// + ``` + +1. From the command line, use CDK to deploy the stack: + + ```bash + cdk deploy + ``` + + Expected result: + + ```bash + ✅ CdkStepfunctionDurableLambdaFunctionStack + + Outputs: + CdkStepfunctionDurableLambdaFunctionStack.AsyncDurableFunctionName = sfn-dfn-async-durable-fn + CdkStepfunctionDurableLambdaFunctionStack.StepFunctionDFArn = arn:aws:states:us-east-1:XXXXXXXXXXXX:stateMachine:sfn-dfn-integration-pattern-cdk + CdkStepfunctionDurableLambdaFunctionStack.SyncDurableFunctionName = sfn-dfn-sync-durable-fn + Stack ARN: + arn:aws:cloudformation:us-east-1:XXXXXXXXXXXX:stack/CdkStepfunctionDurableLambdaFunctionStack/e4d30000-0000-0000-0000-000000007503 + + ``` + +1. Note the outputs from the CDK deployment process. These contain the resource names and/or ARNs which are used for testing. + + +## Step Functions State Machine + +![image](./resources/stepfunctions_graph.png) + + +## How it works + +Once the CDK stack is deployed successfully, a Step Function workflow is created along with two durable Lambda functions in the account & region provided during the bootstrap step. Go to AWS Step Function Console to understand the basic state machine created. + +- The `sfn-dfn-async-durable-fn` durable Lambda function simulates a long running task that takes more than 15 mins (using a Wait condition). To avoid hitting Lambda function's 15 mins timeout, the function is configured with a durable execution timeout of 1 hr. As a result, this Lambda function can only be invoked asynchronously by setting the [InvocationType](https://docs.aws.amazon.com/lambda/latest/api/API_Invoke.html#lambda-Invoke-request-InvocationType) parameter to `Event`. +- The `sfn-dfn-sync-durable-fn` durable Lambda function simulates a short running task that completes within the 15 mins timeout. It is configured with a durable execution timeout of 15 mins which matches the standard Lambda function timeout. This Lambda function can be invoked synchronously without specifying any InvocationType parameter (or using `RequestResponse` value, which is also the default). + +See AWS documentation for more details on [Invoking durable Lambda functions](https://docs.aws.amazon.com/lambda/latest/dg/durable-invoking.html). + +The state machine invokes these 2 durable Lambda functions in the following pattern: +1. When the state machine starts, it first executes the 'Async Durable Lambda Fn Invoke' task, which invokes the `sfn-dfn-async-durable-fn` Lambda function. Since Step Functions' default `LambdaInvoke` uses synchronous invocation, we need to change to the '[Wait for Callback with Task Token](https://docs.aws.amazon.com/step-functions/latest/dg/connect-to-resource.html#connect-wait-token)' integtation pattern with asynchronous invocation, otherwise Step Function task will throw an error - +``` +Lambda.InvalidParameterValueException: You cannot synchronously invoke a durable function with an executionTimeout greater than 15 minutes. +``` +The below state machine ASL snippet shows this configuration: +```bash + "Async Durable Lambda Fn Invoke": { + "Type": "Task", + "Resource": "arn:aws:states:::lambda:invoke.waitForTaskToken", # wait for callback integration pattern + "InvocationType": "Event", # set InvocationType = 'Event' for async Lambda invocation + "Arguments": { + "FunctionName": "arn:aws:lambda:us-east-1:XXXXXXXXXXXX:function:sfn-dfn-async-durable-fn:1", # durable Lambda functions must be invoked with a qualified ARN (version or alias) + "Payload": { + "TaskToken": "{% $states.context.Task.Token %}", # pass the task-token to Lambda for a callback later. + "minutes_to_wait": "{% $states.input.minutes_to_wait %}" + }, + "HeartbeatSeconds": 3600, # set a heartbeat timeout of 1 hr before task is considered failed + }, + "Output": "{% $states.result %}" + } +``` +> Note: Durable functions require qualified identifiers for invocation. You must invoke durable functions using a version number, alias, or $LATEST. You can use either a full qualified ARN or a function name with version/alias suffix. You cannot use an unqualified identifier (without a version or alias suffix). See AWS Documentation for more details on [Qualified ARNs requirement](https://docs.aws.amazon.com/lambda/latest/dg/durable-invoking.html#durable-invoking-qualified-arns). + +Since this durable Lambda function has an artificial wait time of X mins (specified as a Step Function input), both the Step Functions execution and durable Lambda function execution will pause, without consuming any CPU. Once the wait timer expires, durable Lambda function will resume execution from this point, having checkpointed the previous steps. Since this Lambda was invoked asynchronously, we need to call Step Functions' `send_task_success` or `send_task_failure` API and pass the task-token that was sent as an event parameter to the Lambda from Step Function. This will enable the Step Functions to resume its state machine. + +IMPORTANT: When using Step Function WAIT_FOR_TASK_TOKEN pattern, wrap SendTaskSuccess in context.step() in your Lambda code to make it durable. If placed outside context.step(), it will execute on every replay causing duplicate callbacks, or may never execute if Lambda is interrupted, leaving Step Functions waiting indefinitely. Also, send callback as the FINAL durable step. + +2. The state machine then executes the 'synchronous Durable Lambda Fn Invoke' task which invokes the `sfn-dfn-sync-durable-fn` Lambda function. Since this function can be invoked synchronously, we use the default Step Function task configuration, as shown below - +```bash +"Synchronous Durable Lambda Fn Invoke": { + "Type": "Task", + "Resource": "arn:aws:states:::lambda:invoke", # default request-response pattern to invoke Lambda synchronously + "Arguments": { + "FunctionName": "arn:aws:lambda:us-east-1:XXXXXXXXXXXX:function:sfn-dfn-sync-durable-fn:1", # durable Lambda functions must be invoked with a qualified ARN (version or alias) + "Payload": "{% $states.input %}" + }, + "Output": "{% $states.result.Payload %}", + "End": true + } + }, +``` +Once the Lambda function completes its execution and returns a response, Step Functions completes the task execution and end the state machine flow. + +## Testing + +Go to the AWS Step Functions Console and select the Step Function created by CDK (look for a name starting with `sfn-dfn-integration-pattern-cdk`). Execute the step function workflow and provide the input parameters as described above - this makes the Lambda durable function wait for 20 mins, which is more than the standard Lambda execution timeout but due to the durable execution configuration set at 1 hr, Lambda will pause and resume after 20 mins. +```bash +{ + "minutes_to_wait": 20 +} +``` + +Wait for the Step Function workflow to complete. You can check the progress of the execution steps under the Executions section. + +> NOTE: Since we have artificially added a wait condition in the `sfn-dfn-async-durable-fn` durable Lambda function which will wait for the duration specified in the state machine execution input parameters, the function will pause until the timer expires. For testing purposes, change the timeout to a smaller value + +You can check the Durable executions section on the AWS Lambda service console for the `sfn-dfn-async-durable-fn` durable Lambda function to see how the various steps are checkpointed. + +#### Durable execution in the Lambda console +![durable](./resources/Lambda-durable-execution.png) + +## Best practices for Lambda durable functions and Step Functions integration +Durable functions use a replay-based execution model that requires different patterns than traditional Lambda functions. Follow these best practices to build reliable, cost-effective workflows. Please see AWS documentation for more details on [Best practices for Lambda durable functions](https://docs.aws.amazon.com/lambda/latest/dg/durable-best-practices.html). + +- Synchronous invocation is not supported for durable functions with execution_timeout > 15 minutes. Always use WAIT_FOR_TASK_TOKEN + invocation_type=EVENT. +- `SendTaskSuccess` must be a durable step. Placing it outside context.step() risks duplicate callbacks on replay or missed callbacks on interruption. +- Durable and standard Lambdas can coexist in the same workflow. + + +## Cleanup +1. Delete the stack + ```bash + cdk destroy + ``` + +## Tutorial + +See [this useful workshop](https://cdkworkshop.com/30-python.html) on working with the AWS CDK for Python projects. + +## Useful commands + + * `cdk ls` list all stacks in the app + * `cdk synth` emits the synthesized CloudFormation template + * `cdk deploy` deploy this stack to your default AWS account/region + * `cdk diff` compare deployed stack with current state + * `cdk docs` open CDK documentation + +---- +Copyright 2025 Amazon.com, Inc. or its affiliates. All Rights Reserved. + +SPDX-License-Identifier: MIT-0 diff --git a/cdk-stepfunction-durable-lambda-function/app.py b/cdk-stepfunction-durable-lambda-function/app.py new file mode 100644 index 0000000000..19b0d79ced --- /dev/null +++ b/cdk-stepfunction-durable-lambda-function/app.py @@ -0,0 +1,28 @@ +#!/usr/bin/env python3 +import os + +import aws_cdk as cdk + +from cdk_stepfunction_durable_lambda_function.cdk_stepfunction_durable_lambda_function_stack import CdkStepfunctionDurableLambdaFunctionStack + + +app = cdk.App() +CdkStepfunctionDurableLambdaFunctionStack(app, "CdkStepfunctionDurableLambdaFunctionStack", + # If you don't specify 'env', this stack will be environment-agnostic. + # Account/Region-dependent features and context lookups will not work, + # but a single synthesized template can be deployed anywhere. + + # Uncomment the next line to specialize this stack for the AWS Account + # and Region that are implied by the current CLI configuration. + + #env=cdk.Environment(account=os.getenv('CDK_DEFAULT_ACCOUNT'), region=os.getenv('CDK_DEFAULT_REGION')), + + # Uncomment the next line if you know exactly what Account and Region you + # want to deploy the stack to. */ + + #env=cdk.Environment(account='123456789012', region='us-east-1'), + + # For more information, see https://docs.aws.amazon.com/cdk/latest/guide/environments.html + ) + +app.synth() diff --git a/cdk-stepfunction-durable-lambda-function/async-durable-lambda/async_durable_function_invocation.py b/cdk-stepfunction-durable-lambda-function/async-durable-lambda/async_durable_function_invocation.py new file mode 100644 index 0000000000..c746dc5088 --- /dev/null +++ b/cdk-stepfunction-durable-lambda-function/async-durable-lambda/async_durable_function_invocation.py @@ -0,0 +1,74 @@ +from aws_durable_execution_sdk_python.config import Duration +from aws_durable_execution_sdk_python.context import DurableContext, StepContext, durable_step +from aws_durable_execution_sdk_python.execution import durable_execution +import random +import datetime +import boto3 +import json + +@durable_step +def create_order(context: StepContext): + order_id = f"order-{random.randint(1, 100)}" + context.logger.info(f"Creating order... : {order_id}") + return { + "order_id": order_id, + "total": 50.00, + "status": "Created" + } + +@durable_step +def send_notification(context: StepContext, order_id: str): + context.logger.info(f"Sending notification...") + return { + "sent": True, + "order_id": order_id, + "recipient": "customer@example.com", + "timestamp": datetime.datetime.now().isoformat() + } + +@durable_step +def send_sfn_task_success(context: StepContext, task_token: str, response: dict): + sfn_client = boto3.client("stepfunctions") + sfn_client.send_task_success( + taskToken=task_token, + output=json.dumps(response, default=str), + ) + +@durable_execution +def lambda_handler(event: dict, context: DurableContext) -> dict: + context.logger.info(f"Async Durable Lambda Event: {event}") + + # Extract Step Function Task Token outside durable step + # Only deterministic operations like event.pop("TaskToken") are safe outside steps. + task_token = event.pop("TaskToken", None) + minutes_to_wait = event.pop("minutes_to_wait", 1) + + # Step 1: Create the order + order_details = context.step(create_order()) + context.logger.info(f"Order created: {order_details['order_id']}") + + # Step 2: Wait X minutes - simulate a long running task + context.logger.info(f"Waiting {minutes_to_wait} minutes before sending notification...") + context.wait(Duration.from_minutes(minutes_to_wait)) + + # Step 3: Send notification + context.logger.info(f"Waited for {minutes_to_wait} minutes without consuming CPU.") + notification_details = context.step(send_notification(order_details['order_id'])) + context.logger.info("Notification sent successfully...") + + response = { + "success": True, + "notification": notification_details + } + + # IMPORTANT: When using Step Function WAIT_FOR_TASK_TOKEN pattern, + # wrap SendTaskSuccess in context.step() to make it durable. + # If placed outside context.step(), it will execute on every + # replay causing duplicate callbacks, or may never execute if + # Lambda is interrupted, leaving Step Functions waiting indefinitely. + # Send callback as the FINAL durable step + if task_token: + context.logger.info("Resuming Step Function by calling send_task_success with task_token") + context.step(send_sfn_task_success(task_token, response)) + + return response diff --git a/cdk-stepfunction-durable-lambda-function/cdk.json b/cdk-stepfunction-durable-lambda-function/cdk.json new file mode 100644 index 0000000000..747d6d1bda --- /dev/null +++ b/cdk-stepfunction-durable-lambda-function/cdk.json @@ -0,0 +1,97 @@ +{ + "app": "python3 app.py", + "watch": { + "include": [ + "**" + ], + "exclude": [ + "README.md", + "cdk*.json", + "requirements*.txt", + "source.bat", + "**/__init__.py", + "**/__pycache__", + "tests" + ] + }, + "context": { + "@aws-cdk/aws-lambda:recognizeLayerVersion": true, + "@aws-cdk/core:checkSecretUsage": true, + "@aws-cdk/core:target-partitions": [ + "aws", + "aws-cn" + ], + "@aws-cdk-containers/ecs-service-extensions:enableDefaultLogDriver": true, + "@aws-cdk/aws-ec2:uniqueImdsv2TemplateName": true, + "@aws-cdk/aws-ecs:arnFormatIncludesClusterName": true, + "@aws-cdk/aws-iam:minimizePolicies": true, + "@aws-cdk/core:validateSnapshotRemovalPolicy": true, + "@aws-cdk/aws-codepipeline:crossAccountKeyAliasStackSafeResourceName": true, + "@aws-cdk/aws-s3:createDefaultLoggingPolicy": true, + "@aws-cdk/aws-sns-subscriptions:restrictSqsDescryption": true, + "@aws-cdk/aws-apigateway:disableCloudWatchRole": true, + "@aws-cdk/core:enablePartitionLiterals": true, + "@aws-cdk/aws-events:eventsTargetQueueSameAccount": true, + "@aws-cdk/aws-ecs:disableExplicitDeploymentControllerForCircuitBreaker": true, + "@aws-cdk/aws-iam:importedRoleStackSafeDefaultPolicyName": true, + "@aws-cdk/aws-s3:serverAccessLogsUseBucketPolicy": true, + "@aws-cdk/aws-route53-patters:useCertificate": true, + "@aws-cdk/customresources:installLatestAwsSdkDefault": false, + "@aws-cdk/aws-rds:databaseProxyUniqueResourceName": true, + "@aws-cdk/aws-codedeploy:removeAlarmsFromDeploymentGroup": true, + "@aws-cdk/aws-apigateway:authorizerChangeDeploymentLogicalId": true, + "@aws-cdk/aws-ec2:launchTemplateDefaultUserData": true, + "@aws-cdk/aws-secretsmanager:useAttachedSecretResourcePolicyForSecretTargetAttachments": true, + "@aws-cdk/aws-redshift:columnId": true, + "@aws-cdk/aws-stepfunctions-tasks:enableEmrServicePolicyV2": true, + "@aws-cdk/aws-ec2:restrictDefaultSecurityGroup": true, + "@aws-cdk/aws-apigateway:requestValidatorUniqueId": true, + "@aws-cdk/aws-kms:aliasNameRef": true, + "@aws-cdk/aws-kms:applyImportedAliasPermissionsToPrincipal": true, + "@aws-cdk/aws-autoscaling:generateLaunchTemplateInsteadOfLaunchConfig": true, + "@aws-cdk/core:includePrefixInUniqueNameGeneration": true, + "@aws-cdk/aws-efs:denyAnonymousAccess": true, + "@aws-cdk/aws-opensearchservice:enableOpensearchMultiAzWithStandby": true, + "@aws-cdk/aws-lambda-nodejs:useLatestRuntimeVersion": true, + "@aws-cdk/aws-efs:mountTargetOrderInsensitiveLogicalId": true, + "@aws-cdk/aws-rds:auroraClusterChangeScopeOfInstanceParameterGroupWithEachParameters": true, + "@aws-cdk/aws-appsync:useArnForSourceApiAssociationIdentifier": true, + "@aws-cdk/aws-rds:preventRenderingDeprecatedCredentials": true, + "@aws-cdk/aws-codepipeline-actions:useNewDefaultBranchForCodeCommitSource": true, + "@aws-cdk/aws-cloudwatch-actions:changeLambdaPermissionLogicalIdForLambdaAction": true, + "@aws-cdk/aws-codepipeline:crossAccountKeysDefaultValueToFalse": true, + "@aws-cdk/aws-codepipeline:defaultPipelineTypeToV2": true, + "@aws-cdk/aws-kms:reduceCrossAccountRegionPolicyScope": true, + "@aws-cdk/aws-eks:nodegroupNameAttribute": true, + "@aws-cdk/aws-ec2:ebsDefaultGp3Volume": true, + "@aws-cdk/aws-ecs:removeDefaultDeploymentAlarm": true, + "@aws-cdk/custom-resources:logApiResponseDataPropertyTrueDefault": false, + "@aws-cdk/aws-s3:keepNotificationInImportedBucket": false, + "@aws-cdk/core:explicitStackTags": true, + "@aws-cdk/aws-ecs:enableImdsBlockingDeprecatedFeature": false, + "@aws-cdk/aws-ecs:disableEcsImdsBlocking": true, + "@aws-cdk/aws-ecs:reduceEc2FargateCloudWatchPermissions": true, + "@aws-cdk/aws-dynamodb:resourcePolicyPerReplica": true, + "@aws-cdk/aws-ec2:ec2SumTImeoutEnabled": true, + "@aws-cdk/aws-appsync:appSyncGraphQLAPIScopeLambdaPermission": true, + "@aws-cdk/aws-rds:setCorrectValueForDatabaseInstanceReadReplicaInstanceResourceId": true, + "@aws-cdk/core:cfnIncludeRejectComplexResourceUpdateCreatePolicyIntrinsics": true, + "@aws-cdk/aws-lambda-nodejs:sdkV3ExcludeSmithyPackages": true, + "@aws-cdk/aws-stepfunctions-tasks:fixRunEcsTaskPolicy": true, + "@aws-cdk/aws-ec2:bastionHostUseAmazonLinux2023ByDefault": true, + "@aws-cdk/aws-route53-targets:userPoolDomainNameMethodWithoutCustomResource": true, + "@aws-cdk/aws-elasticloadbalancingV2:albDualstackWithoutPublicIpv4SecurityGroupRulesDefault": true, + "@aws-cdk/aws-iam:oidcRejectUnauthorizedConnections": true, + "@aws-cdk/core:enableAdditionalMetadataCollection": true, + "@aws-cdk/aws-lambda:createNewPoliciesWithAddToRolePolicy": false, + "@aws-cdk/aws-s3:setUniqueReplicationRoleName": true, + "@aws-cdk/aws-events:requireEventBusPolicySid": true, + "@aws-cdk/core:aspectPrioritiesMutating": true, + "@aws-cdk/aws-dynamodb:retainTableReplica": true, + "@aws-cdk/aws-stepfunctions:useDistributedMapResultWriterV2": true, + "@aws-cdk/s3-notifications:addS3TrustKeyPolicyForSnsSubscriptions": true, + "@aws-cdk/aws-ec2:requirePrivateSubnetsForEgressOnlyInternetGateway": true, + "@aws-cdk/aws-s3:publicAccessBlockedByDefault": true, + "@aws-cdk/aws-lambda:useCdkManagedLogGroup": true + } +} diff --git a/cdk-stepfunction-durable-lambda-function/cdk_stepfunction_durable_lambda_function/__init__.py b/cdk-stepfunction-durable-lambda-function/cdk_stepfunction_durable_lambda_function/__init__.py new file mode 100644 index 0000000000..e69de29bb2 diff --git a/cdk-stepfunction-durable-lambda-function/cdk_stepfunction_durable_lambda_function/cdk_stepfunction_durable_lambda_function_stack.py b/cdk-stepfunction-durable-lambda-function/cdk_stepfunction_durable_lambda_function/cdk_stepfunction_durable_lambda_function_stack.py new file mode 100644 index 0000000000..c7912848c8 --- /dev/null +++ b/cdk-stepfunction-durable-lambda-function/cdk_stepfunction_durable_lambda_function/cdk_stepfunction_durable_lambda_function_stack.py @@ -0,0 +1,116 @@ +from aws_cdk import ( + Duration, + Stack, + CfnOutput, + aws_lambda as _lambda, + aws_stepfunctions as sfn, + aws_stepfunctions_tasks as tasks, + aws_iam as iam +) +from constructs import Construct + +class CdkStepfunctionDurableLambdaFunctionStack(Stack): + + def __init__(self, scope: Construct, construct_id: str, **kwargs) -> None: + super().__init__(scope, construct_id, **kwargs) + + resource_prefix = "sfn-dfn" + + # Create a durable Lambda function with execution timeout > 15 mins + async_durable_lambda_fn = _lambda.Function(self, "asyncDurableFunctionInvocation", + description="Durable Lambda function with execution timeout > 15 mins, invoked asynchronously from Step Function", + function_name=f"{resource_prefix}-async-durable-fn", + runtime=_lambda.Runtime.PYTHON_3_14, + handler="async_durable_function_invocation.lambda_handler", + architecture=_lambda.Architecture.ARM_64, + code=_lambda.Code.from_asset("./async-durable-lambda/"), + timeout=Duration.minutes(15), + # DurableConfig is what makes a Lambda function "durable" + durable_config=_lambda.DurableConfig( + execution_timeout=Duration.hours(1), # Durable Function duration set to 1 hour, greater than lambda function's 15 mins timeout + retention_period=Duration.days(3), + ), + ) + + # Create version for async durable function (required for durable functions) + async_durable_lambda_version = async_durable_lambda_fn.current_version + + # Create a durable Lambda function with execution timeout < 15 mins + synchronous_durable_lambda_fn = _lambda.Function(self, "synchronousDurableFunctionInvocation", + description="Durable Lambda function with execution timeout < 15 mins, invoked synchronously from Step Function", + function_name=f"{resource_prefix}-sync-durable-fn", + runtime=_lambda.Runtime.PYTHON_3_14, + handler="synchronous_durable_function_invocation.lambda_handler", + architecture=_lambda.Architecture.ARM_64, + code=_lambda.Code.from_asset("./sync-durable-lambda/"), + timeout=Duration.minutes(15), + # DurableConfig is what makes a Lambda function "durable" + durable_config=_lambda.DurableConfig( + execution_timeout=Duration.minutes(15), # Durable Function duration set to 15 mins, equal to lambda function's 15 mins timeout + retention_period=Duration.days(3), + ), + ) + + # Create version for async durable function (required for durable functions) + sync_durable_lambda_version = synchronous_durable_lambda_fn.current_version + + invoke_async_durable_function_task = tasks.LambdaInvoke( + self, "Async Durable Lambda Fn Invoke", + lambda_function=async_durable_lambda_version, + integration_pattern=sfn.IntegrationPattern.WAIT_FOR_TASK_TOKEN, # use this pattern to pass a task token to durable fn invoked asynchronously + invocation_type=tasks.LambdaInvocationType.EVENT, # set Lambda invocaton type = Event for async invoke + payload=sfn.TaskInput.from_object({ + "TaskToken": "{% $states.context.Task.Token %}", + "minutes_to_wait": "{% $states.input.minutes_to_wait %}" + }), + outputs="{% $states.result %}", + heartbeat_timeout=sfn.Timeout.duration(Duration.hours(1)), # setting Step Function task heartbeat timeout to 1 hour to match durable function's execution timeout + ) + + invoke_sync_durable_function_task = tasks.LambdaInvoke( + self, "Synchronous Durable Lambda Fn Invoke", + lambda_function=sync_durable_lambda_version, + payload=sfn.TaskInput.from_text("{% $states.input %}"), + outputs="{% $states.result.Payload %}" + ) + + chain = invoke_async_durable_function_task\ + .next(invoke_sync_durable_function_task + ) + + state_machine = sfn.StateMachine(self, "SFnDurableFunctionIntegration", + definition_body = sfn.DefinitionBody.from_chainable(chain), + query_language=sfn.QueryLanguage.JSONATA, + state_machine_name=resource_prefix + "-integration-pattern-cdk", + timeout=Duration.hours(2) + ) + + # Grant permission to allow durable Lambda function to send the token to + # the Step Function using send_task_success or send_task_failure API for + # WaitForTaskToken pattern + async_durable_lambda_fn.add_to_role_policy( + iam.PolicyStatement( + actions=[ + "states:SendTaskSuccess", + "states:SendTaskFailure", + "states:SendTaskHeartbeat" + ], + resources=[f"arn:aws:states:{self.region}:{self.account}:stateMachine:*"] + ) + ) + + CfnOutput(self, "StepFunctionDFArn", + value = state_machine.state_machine_arn, + export_name = 'StepFunctionDFArn', + description = 'Step Function arn') + + CfnOutput(self, "AsyncDurableFunctionName", + value = async_durable_lambda_fn.function_name, + export_name = 'AsyncDurableFunctionName', + description = 'Async durable Lambda function name') + + CfnOutput(self, "SyncDurableFunctionName", + value = synchronous_durable_lambda_fn.function_name, + export_name = 'SyncDurableFunctionName', + description = 'Synchronous durable Lambda function name') + diff --git a/cdk-stepfunction-durable-lambda-function/requirements-dev.txt b/cdk-stepfunction-durable-lambda-function/requirements-dev.txt new file mode 100644 index 0000000000..927094516e --- /dev/null +++ b/cdk-stepfunction-durable-lambda-function/requirements-dev.txt @@ -0,0 +1 @@ +pytest==6.2.5 diff --git a/cdk-stepfunction-durable-lambda-function/requirements.txt b/cdk-stepfunction-durable-lambda-function/requirements.txt new file mode 100644 index 0000000000..cb083ffb57 --- /dev/null +++ b/cdk-stepfunction-durable-lambda-function/requirements.txt @@ -0,0 +1,2 @@ +aws-cdk-lib==2.240.0 +constructs>=10.0.0,<11.0.0 diff --git a/cdk-stepfunction-durable-lambda-function/resources/Lambda-durable-execution.png b/cdk-stepfunction-durable-lambda-function/resources/Lambda-durable-execution.png new file mode 100644 index 0000000000000000000000000000000000000000..91557faaa2229398e277575c855d3538fd1b9b4e GIT binary patch literal 47824 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

sMSzWg2=R&96yITJ%&~R2~ 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 destroy." + ] + }, + "authors": [ + { + "name": "Akshay Singhal", + "image": "https://avatars.githubusercontent.com/u/13421773?v=4", + "bio": "Akshay Singhal is a Principal Technical Account Manager (TAM) for AWS Enterprise Support focusing on the Security ISV (Independent Software Vendors) segment and loves everything serverless..", + "linkedin": "https://www.linkedin.com/in/singhalakshay", + "twitter": "@_sin_ak" + } + ] +} diff --git a/cdk-stepfunction-durable-lambda-function/sync-durable-lambda/synchronous_durable_function_invocation.py b/cdk-stepfunction-durable-lambda-function/sync-durable-lambda/synchronous_durable_function_invocation.py new file mode 100644 index 0000000000..e4f715e14a --- /dev/null +++ b/cdk-stepfunction-durable-lambda-function/sync-durable-lambda/synchronous_durable_function_invocation.py @@ -0,0 +1,47 @@ +from aws_durable_execution_sdk_python.config import Duration +from aws_durable_execution_sdk_python.context import DurableContext, StepContext, durable_step +from aws_durable_execution_sdk_python.execution import durable_execution +import random +import datetime + +@durable_step +def create_order(context: StepContext): + order_id = f"order-{random.randint(1, 100)}" + context.logger.info(f"Creating order... : {order_id}") + return { + "order_id": order_id, + "total": 50.00, + "status": "Created" + } + +@durable_step +def send_notification(context: StepContext, order_id: str): + context.logger.info(f"Sending notification...") + return { + "sent": True, + "order_id": order_id, + "recipient": "customer@example.com", + "timestamp": datetime.datetime.now().isoformat() + } + +@durable_execution +def lambda_handler(event: dict, context: DurableContext) -> dict: + + context.logger.info(f"Lambda Event: {event}") + # Step 1: Create the order + order_details = context.step(create_order()) + context.logger.info(f"Order created: {order_details['order_id']}") + + # Step 2: Wait 10 seconds - simulate a short running process + context.logger.info("Waiting 10 seconds before sending notification...") + context.wait(Duration.from_seconds(10)) + + # Step 3: Send notification + context.logger.info("Waited for 10 seconds without consuming CPU.") + notification_details = context.step(send_notification(order_details['order_id'])) + context.logger.info("Notification sent successfully...") + + return { + "success": True, + "notification": notification_details + } From 8eb5d485c9d429db418d38c394cf0ce8a2c26ab8 Mon Sep 17 00:00:00 2001 From: Akshay Singhal Date: Wed, 25 Feb 2026 17:29:46 -0800 Subject: [PATCH 2/2] Updated Readme --- .../README.md | 9 ++++----- .../resources/Lambda-durable-execution.png | Bin 47824 -> 76948 bytes 2 files changed, 4 insertions(+), 5 deletions(-) diff --git a/cdk-stepfunction-durable-lambda-function/README.md b/cdk-stepfunction-durable-lambda-function/README.md index 95950a6210..dcb300b229 100644 --- a/cdk-stepfunction-durable-lambda-function/README.md +++ b/cdk-stepfunction-durable-lambda-function/README.md @@ -92,10 +92,6 @@ Many applications benefit from using both services. A common pattern is using du 1. Note the outputs from the CDK deployment process. These contain the resource names and/or ARNs which are used for testing. -## Step Functions State Machine - -![image](./resources/stepfunctions_graph.png) - ## How it works @@ -106,6 +102,9 @@ Once the CDK stack is deployed successfully, a Step Function workflow is created See AWS documentation for more details on [Invoking durable Lambda functions](https://docs.aws.amazon.com/lambda/latest/dg/durable-invoking.html). +#### Step Functions State Machine +![image](./resources/stepfunctions_graph.png) + The state machine invokes these 2 durable Lambda functions in the following pattern: 1. When the state machine starts, it first executes the 'Async Durable Lambda Fn Invoke' task, which invokes the `sfn-dfn-async-durable-fn` Lambda function. Since Step Functions' default `LambdaInvoke` uses synchronous invocation, we need to change to the '[Wait for Callback with Task Token](https://docs.aws.amazon.com/step-functions/latest/dg/connect-to-resource.html#connect-wait-token)' integtation pattern with asynchronous invocation, otherwise Step Function task will throw an error - ``` @@ -152,7 +151,7 @@ Once the Lambda function completes its execution and returns a response, Step Fu ## Testing -Go to the AWS Step Functions Console and select the Step Function created by CDK (look for a name starting with `sfn-dfn-integration-pattern-cdk`). Execute the step function workflow and provide the input parameters as described above - this makes the Lambda durable function wait for 20 mins, which is more than the standard Lambda execution timeout but due to the durable execution configuration set at 1 hr, Lambda will pause and resume after 20 mins. +Go to the AWS Step Functions Console and select the Step Function created by CDK (look for a name starting with `sfn-dfn-integration-pattern-cdk`). Execute the step function workflow and provide the input parameters as described below - this makes the Lambda durable function wait for 20 mins, which is more than the standard Lambda execution timeout. Since the durable execution configuration is set at 1 hr, Lambda will pause and resume execution after 20 mins, instead of timing out. ```bash { "minutes_to_wait": 20 diff --git a/cdk-stepfunction-durable-lambda-function/resources/Lambda-durable-execution.png b/cdk-stepfunction-durable-lambda-function/resources/Lambda-durable-execution.png index 91557faaa2229398e277575c855d3538fd1b9b4e..3919ea49136e4a47557e83f6d3c109d758943af2 100644 GIT binary patch literal 76948 zcmafb1yo$i(ls`LAOV5}CrEI2hu{$0-GVc?4h{*B-~@Mf5AKlQKDZOy-SwZm`@VPY zeJ{B`Yt5Q7r%zW`?^E4fUAvl33UU%ChcGu;q+{^#LK<)g#tfk#}wv)&iOD3LlyNR z>t!@l=7(1ZR4(uB0n`4$Y|dipVwgHeBvxJiSY3f$0d$D{jT#kxRj6Da79ZwrY=+-^ zZ*2}gEhVx#4x>O}^2n3+`Km(oVs1%(gZ0{}v_EmWmw|#NAc4|d=~y$9(a^D>5&}9r zHhI+tiD$dao4(uA_jxMMqd_x0gZ8bbqI_O;lSoA@)`Or=Is^^H{oz*j)PdaC6W+v` zT8pIL%Q%IlgUmREZTMB}NkXq3M}Hm^S}$K38vv?`a5sPJR9S)WRD*%HQixpKouXea zF;NpHW+cPfuUk@qXx!}0gBaz8ZITqCED@tv2ZjeOr++$?c65jKy$?~(Q|%z~?E4qb zczO%L8Fo%nZ%6j)&P&h$Azw^`WUC~Zhy;fVt1=3tHqE}SQF8N=`Lp)Hr0EC0r8IWg zCZ`O6!DP-NkXt85`uafjMl%VktT&m?`%1gT*xu@SY2 zI3jcwtZ!=9xm9*udLLGWmJ6GqKRfmgJ`OC25p>O^O!Sg;aUbXH;(XRrPMWR!JO}qy z@To9?O01c@M?Fd=xB2SegLI_1Z{4)HjvYRAuu?DgB=NlRR9Y#fO_W(s1UYt zgeGc-FXejm!A}wmeiK$e5|Ai_c-pR1fr#n%vI5;2TGar425{*Yu)<{ijIv$R4qXSp z*`a%k&@0U726)y1&x9n_JsxgWJyaU5U%rXZQD9@pG18+0yMsZ&G^;PhcpeBD~HFz`VFR~)(Mw9}>_~Gow zTQ`0k=;==Ql{eRPo>;9&13%P{(O}RhL@}7(TBE(`6z`05Bgc&*9f&f@At)5Xi&V=Y zYzXU(f?j8R7L;kY{R%%6{tW`g#~;SnMsdbdhDA(wOtJ}Q3G)dygCv{yasHFvw2T)k z39RWj0Lel0opHuj1`&pg21iC7mBe;jDR0949J>HNR_!e6De9f;f%W1GxH^<&@SGod z)@n|s+~hr9r3H<2;QXLHfj`basXK1DmWQM8f8F7SCKOB={2cJXq0_sQx|6;Wsgp_Z zqq(>fWgt4>d)IfA?~C8nR#A)??GtjOjUxG^qH@^4G)jO%KPSKQgmXD5sXmQ9S&Q&! zNsC;ikKot2GSZ9E>3x>(X<3p}gyN#6zg$I+L=s0XD^g)PenzE8ix$z8FU(HK=F9a| z%A=mAaf|`<)5a9XCdb%Px8=PoG*!WN7GO`;lH-5dB21|8x+tNzLe-6CK($CUyx6G_ zxe%;!p!!XPRdu@XP`#yOELhB7x17u z(4sESYXUrZI`+~M%ZlA{aq>1xcKUK!Zh9$avE)G%KHE5#Rf1C9tZ5jK3a#s`i>ljd zQ+a5(7zC&VRpty~_-8zRyW<&8r1|#<)%i*5mgOOX1#R5$N z^HKD{?AvspXD$BTX#(asW|;5ES?4S!4B4y)nZj8Zm~7a*joz{tCXpw{BvvOPC*dUx zv*=oC+1`$Zns>9wu+Ljg*<6mL7!nz`b~n#9M`U)bFrDIFg!W)#BH4y~#IC`1rL&KF zH{dh?jN>ddpfxL2DYh)epQ@+{sp$nJJ8wDdJJs#1?$nGoS@&|#CF>-El5HU9Da^yn zo6b+OzBBtiGQ*bb)y>Ik)`Z-&=n}C%xgT(Vw6A@z%%j15OjtyC$fZO8OQ6nG%hhUM z%Agy zY-0PvcH?#gvo~`t^XUw3<$zIn_s;iEt6HlkCu1ibt3jK$Ba19`oE_YmR6myZx|_w$ z7)GWO)0v;vVRm7b{K-Ded{6lP@QJLMNsr!^>eCmMFKoSLXLYCg&pqKx{Jk^tD^#vY zXIUHA8W_7+O&q0tid-$-cYTBDi(a-!AxY0iT{832dD-5Yi@y^$e)F1@`K(?;HibbT z-6XPxs#w{Go;tc0r;%}?%1!}~bny#{$;g0BpP~eQt`!T?tZUVwPWi&_g1q~fy99P2 z!%N1-+8N7}xh}?2*i#=Zf6Y#PaP5ToPEqdSfX09eLr@$gy{)!kRhFIDQGa{vom!My zZh51gfx3d$vA6T!?$q0d&e)Iq%K&e6{Tv-~`dzKHO4FXJgd?$K*AizP?S@P3%8YC2 zPr6d>eZ4%7jkJO@PYNgBwr|%j2=R3|te1o5sg~Sqzg*>cUlcwX2IuH66FFak(4=>Xb1Sb#1W|gb9_ViBlZd#AMw)S-Pb}#o1 zmK9K^2X^mJ$qDM+M~@6-0%X4piw|{2i>yTMj}D|`__Vrmt=r9`Z$<@Xn@U)PkA-7# z3d@EhKTB3l-k`UqPwfeasH*{06Ww)P#aI5vKhA2cjEjGQ9N zJwINXaWK{}=|wrmsgXOCgP}ZM2y(-uiZJN5b6! zoT!e(F9fx2UftDSf9n5onh%n<@~OG6Q9L9SoIRNKI?(+7Rf7LMO})+Ji36;CopRcI z|M5piqd-tA#sl;Nr~a_l?49(frCY|f>*TVPo_4dqZO{nu^fP04k7dc_&{o|mxx2-s zE4icjzreyNJ{drN1UwqNi}2@NJMNMOh`Bw zm>8Hy1rSL{NcbGyoAM}$ivPPh&^`M|T@1LpORGN3uVJ{GS|A6GvkQ3p*zZTN{#}at)1aot^keNq;uzZCseO5npE<2*k^TUcCNEd7`z77~kXo>`A+ z?)NsNn(HHJZnYSqXV>Q@89P^`XtV`-KikJI`}WUW`*axq$XJ?lWbs3I^ zTQP>Fr;kc26ntSYGoS!eLePl+d#NKt(uh1H{k1)Yl6o1k6pB zdlVX6686PVr`9)7#+#32HE=yomj4xc{{~=~25mQk17xP(x=($w))Pyo$s&Eejcm%h zCv4jEACUe>dr>Sug$;Q3^X*SM^>&(oudLfnWQu@*JK=w7ir&Cg0iVAbeRMdHHH2I) zrMKZKyfpiNWd8?eKPn2e#ibVEe)RKEQ=xf1ZiavAi6K@6Z9$mu>nIUkvCr=f7a6AW ze=iyuafaT&Q32mV!qf9`Tln?C5~BKV4ecikTte-e8MP53z@ONPMi31_C!1jX-Zmjs z?f}+^mUlNdg?e+YU5oq;585ku|5yS3`3&ZS_wh>9a5f=5o`(f*Z|dZKu=rnGg{a^l z4G4PQiz?-0iX+?J&rYSu6* z&tK1x*HC~t=Y1N%FruST{uZj0|L%*y?ci+Hh;iG}-3=0UUpur{s@Cev$rp#CN7zq9 z{EaH5N*$KkW+RD=cc=tYXJ+s4^NEX97#N>Qwemfz(z)EVPPYb(oxO&CJ#d2?VV0Hz zqWLtHf(}=%KPfwVVRS#fuUP`lyY9H{U+ar&=)TzwC2D~$;)1Noi&Yk*nm;ailmh0` zrpx+DwFUfK4nON)oezs8Ue41cGTBs5lxdQUvUsA`z^RpLQUZBB3tcU*E@h)xC0xc| zs1<8zKGwZYtZ(Rw`Ha<{oX5NOC3iq=FE5r+U2FCGCtzhFJSrhOpn3==7>BVehE`e0 zWq*!VCa%m#VV)ppg!-3DTy?wuN16AtpC=uTmb@Ms-`=o*^S7q`XTWD$jO%r{KE1=b zck4sRoY9=N3^$DfTP!!ziH#EMYUcAltorhlHoXN4BJ_ycDwcwyj5p2`9YOqb0W(wQ zg=i`)B;G7f8b@ixk-bCYzn zD7F(2P0Z|x-b@wh>W(ydujT2~yUp%8r2Kk4IyOYqX?0L_*cvSJkcg+(eLLC&+N({) zTPtsP>g}K0a}F)E&j!7u*J8s8z8p7hGxV#sUzJSbTs%c`=;fULpOd*tfE=5W2do;P6xJf81Z3J+ow zpm*}+)Au%xk)V$#2GpbymAWXb;@(w>)p(`%2=f!~-E%plAQtpQag-+a;m1C{U*CQX zA_8Au5?=?T@OY__*5udP$hMb<6V6HRsyqg)y*85>5rBPvc<`3DxrfgHoQF%_pPtBVy4~iw%$b;K6(yh0Q{J(Uz57%hC-J&PGu` zv2u$R*2C?|7s@J+D?O~pX6icIW%Lysx=4LpXsWU;?c0wjz1p=l@fi7Xd%_R>vGim+ z-O3nKjli~f~R7Aa{^9h*Zf#57M^s&7| zyhxtxlL-9L zNnnf9P0{S!qr7sC0jy~rxc85lgJ<$1jw-iyGmo^XAf zE>#v`&_6*&K=7fdH0olZ=ghEm#ggHp!)3|A;zQM1?GDS%Pv`Yf?7<8(8U1ty&ZPyn z0%epzQD4nQ1|S2-WU%*jGzZXX?o7ZC@!9>7nCsmU4)~EYE|_Rj4r792nHMfw z;{Ld$%kHkg6LLnnk)c@5y`CoCQeWQ0;wn>0h3%@s z%A(#Hoy7scH6FGNxM=(An`FQq+cvqFEHT7ADc7S#R!w$m1%0^!C?0|^e-8OnKH)Hq z+e&6BYhW^&P91QWIxM;7r49*G|5oZf{Ev5Obcs5A9y*Ji$MK=bOqwHUOfJ>cR^wWN zJ@_uWwyY-C^4S-C)+G@VImL-wHlaC69VRhD+I3Pra{7B)f+)l^GVxFOBhdW954+<& z8KH!%O1g`dg_NoMu6lSrb4u_NVJ64Hw4z&bL{XxjUM9(N@b`2*kC`ZZsIy8!KZdI_ zAc+hs)=RH>R0%|R;@&2`buLnQ6b9IBX(3{70^RhxT&)%}ziyNY-+;#STdi2@>mj>}r z6KU!`basWDS`2XH`MO9?7IP}TeIlWqn<%i5Q5GOPla6E1&MY(6sTtiYa~LWax~!$A zE0g4YseeJ#lkr(xIGk`_zSGx>B@f;!ek9OQC;vZbH5(Y8A^jyc+WcZ zBIHRolaee#abKe{fWZh9mNrMVv{d(QoZtp79o@%+FLqAZE9YR@58l#w-9-cEm!6~V z8ldqCkID-kd8{Ql>e>3vS2G&Z3pLvUt;x?U*1b?tdH#!##rBIDkf%6dEkJ>Dbt5Dm zw75N%y(8Dz>#NYLVK^yOTQ zQw&_>4C{L{WP6|MUuHMfI6WTox*ir4(|Ih<=PCA#5__|3q#c3_vv+NtN}D||lt6_X zbefGiSJgzUF3p8{#{5=5@uV%%6XVc7YS+$G3xHyh;a6l?Cos+le2!N#)8517 zhTXKbdb3#cBR^ER3>ERHkEZfoh0Y%FXXSJB^I!M{fTHfGa$c?_7b{We(s54+%1Vax zhleocgdv*Zs0`%Gza;y<(eRrw?1(_pg5V&{X*H+Nx<4b%x%>4}S7mTl_Z|V3an)?= z(2M2$4ApF{aUC@R@I1KI*%q85RfzlJ>~r(%WejG~ z)+PI-Ha@K4v#@U_14)`&sDkeOpByZ;=Nh)hmH`WBuaK>F=9_~0*OVv~*yBzOaAFYVSI!o*8RW>f& zpWPz9@462^m@m@#VSg^4tVZvofIoh9I3E!tL{ZN{jAZU;KEFvdErjx76JWzBWb2N( zZfHAkjPXF=ch~4_xs$>1X8&U5Nl$?{S?d`z5R<%WB$+avK-HEhW{ZXrReDE>LZ#}C zuu;ObX@pm5x}2wwRzb`;%d^Gzqy7~v%v^%W0*4`8Am3XA1+tmN6^uRg%FvC)#pMl@ zp7v;|XmSoy?sfYMsi)?%v$-OIb&CZ8B}&>~Po{Pyz7d~&fHT$f3c0frTtF&LRlEi5 zI-8IlKapJH6U1jE`jQwcQtpzqGy6 z@z7}yCE3?xe!>!aL6W8iZ+y_A#$QydR+wRw{oMK3eXFcRiKMMRG{Y#5UBw$nCkWX= zIpm9B#P;yE@VVcrz|RHDV{fV!D=C^jKE{U<1jO_?JM$evoN}d19SinHL&e3r`*?fh zl%{-+XEtooQ*?=8`7gY_tA6M!%0Km?oi6Z$l`rzcUQ3XJ(dLX1SZpHNn6`yW_x{co zCLLeKPiF(8yGM_8j@afg-4?`nYHOw(Ac&Wn(5Ph;BNPAjaFVEC2zp1N6U<>e-s8yXjRX(uI7Bf_u$} z-42@(_4NiZIM8(_D;K!2Ts|SvDG}g{;_xF~LoloVeJ4VtICJ@Q0ycOpm$y~Pr!j(! z5nJCz@Z^h61mBnaLuM0UURTXrm^mN!Yo84Eq@C=%roLSUYLmqs92SEcFYc`~Ef(^y z*8!FkQ6ti~`BTp=JW_rg^I36&&iP81>)*5q@sl!@+Vp_z*gv%Rg~O>$>) zPpyqt#Mc+asa2~ICW;hQ1tsM7qOvJ_>jHv`g&cVjS*<>&**wyMB156=je6pUeO^&5 zqY_eJypf*{$%1$OCNBUM27YJO=CGwZd%95vUES%yXEk{}d^CuZe9yo%MO_NA&c1S! z%(edpau7z5Yj7WU@er^P#eoNXKrs7NI>IJ(eR|oH*H!_aOp{2!VWK+y2iC;lQgQh` zyQ|-lTwW-y%E%($>IQHb%Bx)Oj*?D-q7e2OB^x_mFGdQ2cn4Hi9Oy?Jjb^6?`KU1+ z=Tk9F!u4vGV`|`c1Yi6HOD4wJep(DAW?M&^$$4A~Iv`RbzeN4B(s4K7(r}ObJ#2M% zbH4n&z;`wG zj>m=PMM;ur&7QPhuLPoeUhv0)6OCntV{9DuPGl_fdHh~j>bGoBqNw`vW+R%)+a$d+ z-3OI80=Fb_l^Kb_mt5(;44Sl8!dR&@RB0JjW_`>t4jNf+z*|Fw);~La$PnPkIB-8` z%uy{AG3o;0$kQn|exTE5Q6J4@(QB^XEKW=tNfH=4UvTp$TGSZn*$O90MuWCL`{`q| zo37;3gdO6KUqT#d8I!?++$#D7RsNo}y9kTT;@z#}DSCEUN5>HA0Qk$eCH}Ul zma*|1Ijn-x3xP6v;$jfJ>vIlO40ri%*%TvbX2l92@4i^tEsrqam**9jaH3mJYw4^F z??0_pd0#l_5<0NrP-_lv7Rjgb7;AC(v^M8$bz_{RuxNg5-P6@o$>qM;++*lAdM%JO z%>d5TX|q>O_oS3d<5+yNV!x7M@vv{oUoVRhz*jl3Sy4UId|OdZYU?c7)f{x2DIx*0 zk$TA_b7T|}Py>7&^?)h@KagR2*T1gs^97x(r#B>?(WGIw0Z3gC28z^M@0Mls+6z)F zPuH9yu*&W+(Viy|c%(@BMqZ{7z+l<=IS2p=f)Ia2&8XouDcbF$Wjaj!wM zEtRSnMsHqdu+L!y4U`$cAFoJbev!gFbdTO)E<<6Sq$e|=krc>9l(|$}>DN)diTmxN4WWW155Jz2_PN{m6WbeJ|r{Oq{>cNgjy3uyxd!H?B2$*NEO>H z{O6X>_s@u6Nl(88c~frm$1xAd2qs^Sv7C+F^)*-vd$mH9{ zhdUaoR$)u82_g6fR3aXN{iIhp6}mmcNA${1YY{mXYk?ph|IAogwa7`U>4EY5k(_2} zU1r05bBpP`8qdWWq*!^=qCX~T#vc0a*)D(P-ofuv272dueM;Mc0REIClPq2a zSSRRl*_$r5a&}$-*{`gi^S`AXme67EZbAO;YEeQPhJz zPV+v5o_PYQp{=;6uj2H(FB-O zmQ!sLh7v7OZP$be71j8Y+}FzPsgPbuAJIeNfUvU_rVZ4tVK*={>DWU_Ngz0UU>b`> z%8iksWwK&aOBo?=H5ObZI-IyL6Sr%bj<_>6@jx*Wq1B@{o_WPPx?rFWXGI&{gnek& z#oMG{zqeLX1$nST+g(1BXGy~%>t)f0kgdF)uENRDq)lNO;)cu~$)#f~>f?6hmpE*9 zTdmQIs~==NfIVXnH-7Y1o4O&@n{}y!H{(f^@ydGTxl~H#2W0xsHsM~=S9;ifok)kxmL~OpF6eampN6$Y?%lkvQ-a74& z=k^a+Te)9vN2Tz4$mO&4C6Wbwk09oX2#16@qj}q&>_v#Sb>}&DbrvLp{3q}bh_q=9 zf%v;M(^zRsb)Im~SE91Iru-lHe12r*IJu&pXv}C)hU13QgX)b*hIF{UCcm76SMOQ4 z2{E|~=Lf;f9;qmKcnqMDd7m70=oh9CaZfE>e5<;*iXC1!Yc0=_ArM)uztJ~9knz%q z|K&RC3-jakN|o@zaeJ_(vlgPIM2(kI?L&jllixWc=4dn34$be}>Z(2OcJnzulz?BD zQNVN^E!B8w%DI8ymncI41TdlVWdu(%+Z_e7^MoMV8#oKe)$UJZcUQz!R+Rh`ryAu( zAFGhf=P7zV{yO+AKn{I55#A}0%wLmz+_6!n_-m$T1s1C!P2~m_@JYJqAdU1Rf#80o zYu`{<5DyKZ_94>m)Kh^L=gB^fia;j|d@q^KfOz!UHS9OoU|x^HB`DvC@UAZC|7vyn zBXrL|*Pc;}M9jyL`a3Zh?LlwaGcJQ%zBjb}I*R!7u8szT{lXD&v*!7Y>Qq90sItDo z2dD?Zjy}JJ?k7uDUjY>`$KZK94ZVHY&z~R9{;`0p5`#jsU|_TOXqQ4C`W?xx18M}oAs}3AqRiq zckF$9EHq#r4o(TQgL)U zL8~JVf0ALuG3_lLR~xHcv{j&sXAo*PV4^_rCScCzknV5bqq+E*LxKgiB1PTb)`DZG zmDzH--m*XWJZZm%FoCOrY?HlcZ?hF{M{PE+P1jOpSrWc>rru@w!g6;eyhYG`d z-oF|RKQ&^wMO#ME{68-B-`LKOqFD$79tL@ z=Xy>4Ql3=-)rzs&^!mStlQtYFeZj*@hX@4QLVDmj%YQ)dg;CUiT7G`A82RyUz0dHa zhl#?TsLi$43H*D(-$N+|3~1x`A8GlQn~r=51RQi2bX$v(Q`u$SP%G7E#4xB1#<~Om ze{XF<(7bRuW%-xc5)mf*9|~DKhCK->#fuLOuQN*w&f*CDiU0f6{eg&I!Rr+V{u;B#$GQ}LS7Ah~LCP9Swb*J4 zr9CqH@d53rl0~W>`II=#uUpdPM7nRCKQy;^y+3FCvZP&S2QlAFPh4Df(<}%lDxBmq zrvTqCmnuM;&H>Dbzq+`HMZ#f}xwO_KH+|PLO8UxmbKl(pyCUogZ!_aL>f}dX-nye! zPPeVD5Owm89u86|RGE|XH@CM^N8ZaJOl5Bo8kyaFj@VhzQ}9T6)M-B(_#_Y5nzjC}c1v zg&pCBPn7eVo=e5CeS&!H;xwvM#e1y|UCJybg9dZMX)W;Y7d}|LIA{n1zK1N?)nUh= zs+Dw~jghve=PC~e^R7<5%j0LDj2&V9@1eLNMFmhUU&Jpi=yE;?D=aVai;ao_L4-u% z9Ke}AoX!ScHs0Epo{03`f%tNAiOZ5&IvZ!)>@@4$hmFr0o3ggW;ezWR}Q<31kGcB+JCol%;38UiT@RU7V76<55DmqA!fRwPWRV){E5F zCyK(W&F&7nD<0M6W9#wuZADAVxf|UmjNES52}w(eO8L?jb8q~kXT-;{4q5C^kqJjf zA_Yp%cP3R2)~Gcbtz$hWa|3duQl-nkx-JWA)|j?HHXC2bW#T4OP}4Gcc8l2Yop{lz z<#RxK>SY>or<+3*199cp=UfpGI^L7>ea?#oLAPUtOJcsPy#!95%I}}CWLohjwAD&< zXtxtn6%UpJ!{&297t+z>ilp3`px$f&OgR0qVE|HmuO8NR1lE8o=;~feDPNBIIQ5~2 z@1|MAsxPJQ$-n&`@YD|*`*!o}lHQroLneG?GwX@|%eVfWk5%PmAYvb-@^ERunbzaA zqu-?v3BOsmHFzha7NqZFJm~%7Rf*cO2-PIa^W&pycPnN2r^s+IyLrD!9g`2d2&>=2 z=}WaZu+H}-Ix16}3@UY6K)OcXgUcBGt8FG#h_`&=AFt9(G@Vb@Ar95)NGBwwgu1X` z)UTe(TaaOGI(~C`N9?%KJBG0eaV}V_D0aZPWAiLe&XB~9hnHKk$LZalsHx$`y!|V)^qcAjQ?6l{yjhE zWBnYJk{|t|8A^Tn(H}^A%T=fsFJg+*9)(*-zKVFdLtI^9LSfiBjg!$Rj!#G0 zaQbh!8hW^ojCzf9&oSOaY75jkM=omoXj9#D zVm!%!1`g_1S?5An%F-$svM_w_lC$t^!d4op(6kb&?St@IG7@50Ks`F9Xa-l??nC%W zU2<|V0hgN!JRZ8FI1`)6=k-Q2zPV^}DN^0|D|+I^VaPVK(AQI#Fmw@X)bSCLLD0DP zN#!oA>S@IgtH9fEa!kI)c47p>WUI_eN%I0h;>cLX05VVI(mlFZn#T(?nZD|-<` z%0*o5wlA0y5zxd_8%q;63B4v362I4F&5b=(>!`k=LCj)Zy`aGFkMDgN<)U5Xlv{>_ zL+(w$u4l7!JXOdW*$E51w>6@_eG^BA-YahVbcaf`y>yf-jU6xg9OJV+L&zj1#y_SQ%p5a)Kek1=qUX=x7w zv6#Focbu|aY?aZaqsfH4Jlp;2!rg^1vUH9c(K@rQJnD-R+>Wv>f};cY031cT7i&gn z!?-E5;!AgvG$v?zYyPPHaloc?t8--3!vsT38E=H>5yh=H3=9)b^>MAQ0!+rde?8Ct zT;G)VYZg@^^x;Uxtkkt z42b>b5SV^a<&c!9V%RA5V)dy35`{XO2W*QR|K1u^L=5AK#(Mj;-3(&vw;7G1ClmVhhBY2@p-%5>C6;`!mF_wG`Y~=(EDO?jl*#h8LV}|C+>#?0(VCc z%RejDtM7va1(a(v$jOV0%;Q5J2>VvsrrW#}xgq3ndRK?*oPopnF07pw)J(ShiH%{3 zpsv`31khji;ISQo@Wm&!a8HPF9SMh_*ztATM4_rIJQI4w3oSIAuJ){%Y44V%-PvtG z1Sb2da|{=%4nicW`3|AXF;&$4j^*1cKD}0>FgfJ_$L9y4xEwich}V=;I9zB5ft3_8 za4GhlV@=oj=m8hp`Lqgcq0q!(o`(so#?yKY&U>|$k{J>?zQV#sKI@a+RX!uS)hrjX7 z^~vf^2&r2*lvmk@*^AnfM)8_{9)qy0ZF*vQEhjIXvB3OY_CdSh%sT$zVv_0xw;h`1>`VW2qa_~K)sjWBg#F<$q=mJqBx7%$#;br=Q2!&=43&{ zcd>)3|@obE1+Z8L{v zDCMs22RKfW+G#?2AzxZIm4D`T7rRojuV6PPMf zom6SFPXo?X%Ps>VX=0m*-eK;oz5O-?R(!!T=F0r%C z*kGIyvXXGf5K@^*!l3=O*e)+ExJ}=d6%ZBoGu)~1tJ&Fuog9@~eq_dV} zEJvluG(xAvk7s*PLxn2h>mpvDk!GkvC?MrV0G%ynj*76|I06ekko^+S;=+uO$4tD3 z+Y%pU!h|BM6%%S2V4MWfGCM`x{MOY>c?rq3an5+@=ZSe~q#Fe-%u8y%+&WV)Kq>>4l0l$N20%hj&ie zE#{kJ*#_jsj;l3>8&iLl;<)`>;JnG3$2`IbpXx?s4m+FV+BQW!j*d~MxdcZHFChc4 z^#kvayhCuH4iEZXK`0R%@&t{7a%g9iYW1K))#2$cpW3>*w2<& z{UZ@r$a)~j2%9^2%`pBsCo1w9*?cMkBpM5gSC~QZ*qLCC zv7a+NuxHyo{G3J7!)U2#4&fFLhn^{z{IaV)pglS_qMts@|D0_TumuBC-36nxY>=kd zHui1N^Tze;{zy&eahKn+T@G%bl32VcYT2WS2S?zsAn)+TRu4W6ABSLck0{{daKc4? z==}+=aJdIr#&Z7jwEz9|CXQ$Y1H-kBdZBp*N={ZEo}D5rZ1^g{QXx3=XO>S(U)20V zUR@oDnYZ%fSHdlk;2ye_;b5VyENQYeqET34;7qL-ClTEy;xy|ueHb9$S+dGF-#tt9_P+ma(Sn1p{>bO@IfJu+A3#kM`4$?M z^clT+8EAKDN)rB51MplCk_nazJK|=8?CE;B516f)hy9{L!Wqw}WPyz)`P~!wG{^}H zL19^~P%acIUyrMo5g8^pS~9m-XvJ-6zoGHUNqtgg_SN^77FcNHO9f!w49d#f<_>d4 z|6l|HQgbeQuoHi9cGK=qs7ofvc9=`n^x>y3kAdAJK51#3PIB*aJ_^a(=Zpw>i8K2@ zAe0%kjl%L+fWPy!ae^j{)1&5K_+!S@FyRK#*9o~nS#s(AX_MmG{yeL02Fb1}3OIhs zIq@Cs$&giO9ES;wKz!cQ^Bx}WT_(r@o}MBEXYxzjQ=Rx$v^XNhI#@gjO*yG7?OWj?0dWn*||fHt7pbhQJGRT+tXU-w?KKGH{SuV$ANz))czSXbnS z5$4!&@5u~0z{lZof`#$My;+K)yn|!~u;^_hito&1)_8wlXE0xBwpT7xpwmU}@E7Mt z2=vJv=1rk&8%fLG>n$DzVm9|23$%N$W`!u)b!_W%UerKwIXVlt~p zC&CrMa}CQb3@LDvP=f4wkexM8W%3*|n~3X;$q6+$Bh?_bi3p;ImSdXemUOaBehGYe6JrgFSjXgg@u)Cfdd z!?BC2S-nvyuSxVd9LV!kZ}QQb#Yu48!)c2Q7E%OpdS{+1tG1fDLU{UuVL{LP@6@;) z_h!13FoQrXPGxA#r-emv8)F%KQ7zPc9DheDgtrjWOk8J|F*D2&6!ry6TD`1hfMcRn zr^$y+s7FwM#0*m7I{CyT8mcHRTHht`=^pd>wDL8Yoj0N+Pa1fgIibFX8$}Ntjv}** zu#unSos!Hxy}xmc%_40bb`L{B-fjr>Ly3wf06_0r&$8@6QTb=Qs((qL+vwWTLC@`d zuSie0a=>d)phwiQR4ISQ_hQ=*iWwa!H1`>jE3s=b==1skE*xIT-#|h1{8F3;`COxW zB?+Mx-j%Kd2w$5kgB4#2$w4Q!#^CQqU#HJHtt!{5(Su}#)VY{vow~1S;PDsJYi^Fj zYoj&?uT+fDK7Cb_UC#A-&h=D5c;4N8gGni8-Hfb~C3e-OaWYE?t$vQHJ&S*eT6#E*;bZhi%E9z91Qul z7GmX|^<=IbpQCJBG{*z;kfb{ZSxb!j%HQ6Ac?7wJ9ryLS5KS)3M4R3GJX(#te!T&J zp2iB!Q^LRAdXHdA{0Fo0*rFStIasD?-1A7&;^70F=BZ@}C1^EPF~Ij@g$ua5*va#_ zn`>+>9e6!b;a+ZX{$7l6F~d(B&KsiuiX2pc#~%%xeYV?Ju9P6E-l1$g?>#Gzrta8#4J+& z5Kq(cZuCmVZhnRDU)y!N7kH<}wp97khgzKa8enG7L)Av{MMkQuY9p35BZo$D#P2u; z11XaJXEl{y5v=julj#qdi{_~up^mgBfFO=bkb&l{2#XVt!=r$MgU(0pk zez{DN>_Q^)?=iV;j|x-T=q{0%GJtKk)5kanM~;-udt3JZ;u!o2sC|z<5TL%cB+@?o z+sUX-5fZTf94>2Kd0pV{#l z%HTI3{~3uC!o>cEI^%h=^ocAckq|y)4lKtY@+VDz1^^uEqWwNhFTQ3uQ9uVd-(h4h zA4k^pCnX?+i6JC}zYI7@{h#=LDNGdJgg99;TVeS;kJZ$2mCuvm3nGiXs5OWGI2`Q& z0238?>)DSc;?F0#qX5^BvUz`t|C36QB$byh&qvlC{ID18kDx?@W1X^LUP1UD zZT@D2Kkud}lYqw~xG0gd#s0+Ve@^HOQ$ZL%RwAt0Pro#gKcvzjG8F)$K4Scy^ipWY z{drEUJG+zP*N*qU<^W$Y2*pNUWk>qwOaB{SKgk-dYzUnuB-ct^CWK^g}?09Iktt(14DpK++6gSn{SHdaNgdFKE~ zpSZ9W`=t=*9wf*CT{q<^NoYh-e_!-bhPc;pp6a|1o}W-+wY!S(8~9A!_WeU54vXi3 z2;q!)D*SEkrw=VZ-uxQ!lIJrxCzWbQ`9Dt%28%-H5C|Vx!d1JTOH!m`hMKtw;SWim z5$t8XnE1$}$ob!d*B>hSp8Y&D%-7>j4;iCxseM&mQ*CDgZI7&Fl0^v%kh%)y!44_n zzcd}R69^3|(ac>3=?<3$RKVLTl8xZ(&x-Mib=kWn{Qvtdezs_c0m0GQTPGPp$HG7( z9|x}n>&-o~w-gT)%qI*>{1P|6UMxr@hld8|Ul#wNT!jdPZ04<~r}_u05-o#RmGJ%5 zJ~#QbA*8=qY3(zWZHV3)0@l!J@QQcWXV>BfYxtTTJ!dpk>kYby3hjE(-g>jN-5btzNSf5Hj~fYya28_P2or{}Wj#QMKPC$o%XKI$3*$%XcnE+CR|p zLjy4AHIm|U0KY(pu%LQ696JHOWX=|ovnj&U-N`*Wiv#fR-SjX)0jl!4#Zet{GS6~J}g`FvDh@9$Foyt8^>b_NUg z|JZxWs5*i*Z8RYe5(tt63GTrm5L|=1ySuwP1a}DT?(Xg$+}#~EvayZJZO%6{>&!Q2 zW`5sw?;qCcP4DimuD7b*dLP*Uz(XMxUl#j~PFJ{NZIzhE=hihMA)!G$>AD4l>W@@1 zqs1>;Aly@-Pr04R*d33fI3KQu0Ti0pZZ9mFT?x@-x;bfWD}~u=XESHu3$vs-fFMUm zlzkXwV^SFL@0P&Ny~NK&uv)E`+k3gJs5PEbt~MIJSlfCjQ>S#}L~LhXO_T=bsLD3W z+ia8I;gJ2X8L~e=Z_=ylw`%qz*Xx&z-X@h4d*NCa1|$NdG+0X*2^H#bGJ4;I*EpJT z`OgWPllxw15}Gd2#mbTuAnPv^bE6PKsg3Is_G;Z-3Y8j5-&fko#m*pgUkFP4vxnQE z;N9KbM;hZ-G5Xd(B>G;!TAQ1cZf_WY$QM#XJB=VY8Qp*P0w@Ir)omp-0EE1*8m?9a zC5q+vv&D+;R?XC3(VncDj^)-Z0L(~8HqXAn0QDbh5kCLh%kdHb5D-hADY|;uSD;9E zm9G0YdMcwk-ybKP9z-(?wt&?(pE`Jzmybn{um%!%ER@(xyJ}HikWW^fe$k!_h3rh7 z9MN7~l1gP99@=a#q4C2TeoYksrl5n_8+KOLWB$rz3eD2WuxAtD%3=PUkyo%!N#h|X z(iJb;LLdYswgA-jik!;*JTve(`;(FDFr5F&7M;G@NcS^L+W^_+xyV2`tas>sS)BsH z2ho5}hr}973=ySlD@V3{+h!5A2WNB;5=h(*kh*K|OKK<2*4n&7{WC%$0EhlV0v=2X zpan62s9FTrnDn^Gm2zW4<8nCTE11qi9Wh&q&QiqX%J#us983}cfL@S^8Sr5=TG_H# zhUTilS;Ld~G~eY;Rx!I}6jT8$@4?6(STWuj z@Y$x#j%!I{{~dgSeowL&WS_nMGsX+0U#(TSr+eBBt)cKms+G(eEg!|gbaw|+rG|xJ zq_z)6qt9v)*sL@+v)r;xcDu14P_gSO8>77krBX!#1gl;cz+C~R(y9;c#<@ZT*h>D- z<5u2qwc*Kkm**{i_uP1^`F#H(gaeX@leKmaCELBf6rAmcgh}-I%%l5X;T9;)#5E>A z6>)eybL0vT+H<)|ZNYPucR%0uWZpbuEH+ytJaSq^SxzrOQg$m{Ul`5LqV5ATf6w0J z)Hy_d7a@F=*>E)3i6%&%IHdImhE2BJwx7)N$(B$~3`Atedetg{PI9FZ6iwwTs4`|s zzGi*bSyh(jK+^WntY>bs6anLEiR6o8^yU|us_&<#g_(jMc}EN~aroYOiKbw#pr2 zbq<|YYX~SR=-;G2QQ$wzipG;sEN}~5K{4r^1xrAYN~KM{wMeCf-+v;vw6ye|Q)@Q& zch!=bnBJpRCT4d$jhDn(7W2Q@)n5pT0zqgXH~aN~hLZm&XGVC*bI)tC)+pmG2(Jj9 z-e}Gq zVffbF@82y9g!QP`7AKe2We^R%Ju?F3nVcK^!6?p>_Qp^!5woSMNYWHZ?y{0r;&VU# z>{8=LxxVFPA&>YtMf3x3l2Xq;Fc4xsHg4TG+VO5*!lii&MkJ95yD)feG2D4dYw=it ztY8t8);n~E7U+5)rk7}sQtO;kwS%Ou`irC=hs@`#j(qKSD?)}N_hRYAGhRIbpC(>n zz$!!!uZCN^x5|aUgQVQey&En~SiK$0u6O$PO~?iZ@U-2Sq*^ zi$A{)<~xW%kkYZH-EMA|)=YaGT%Z&61|srkP&i}9*&XJ2dgd$EcV`45Evz7Gygbip zv|zPnQYUM$klE2jTgc6x!nj$!2b%`Cg7Boyhe zEbsSe)#nDlDxLlqsXtlLZ?p9^0g#XAMj>M7U^2Vp&d8wmugzXf8P|Y?L!lKQpK--V z4Lq9hj|JB7BKR~FiH!3c&-6koyoh{PYUnaD71?F*33Akjg)d($yCaX%38)hRDa_xr_VofgMp=sOsQNmPAC#@IBz&%H$&iM z+6gX}Oi>)r(-ODcBTlSOR-O*Z70m8;;ucBg<&UUUN_$+Z%OANGho%kK&)&LuH(T?> z1Kg(|4)327yA$JY(aR^`I0hJuXdB5QI*~oCH?d*XdCqS>tP=$w;t|~<0wBBHQ^)>k z8?I{-da<2+#`F473x-}X{?uCt4k}K8GLVh$qXto|FUu8%y{}Vf{j}T3^TNLM=>BxI zkM@j5KNOCo>AKX`aswf@$L~tpNo&5EdQsA7Ieqb3?(Q45|Mbbpa!p})OsVVa2^MKM z6rC1A#PwCCbq0pRom=SReMh%f$=o5Lu&`D#u?^wsrg3K`o_#9f@bX0)?y!GeBM`XK z>{LSQALk|FDDq~MIO)&*p}LMTNdP)VwdoyH(%mw&17J2-RN?xxIa)v8!|f1UgriH>vtQ} zLEF7bi4?@;ZoBZ@M?L$t%PzGfG0-5jXya+JP0c8c^5Gtm(hO@cFvfZHfP8ZNXuxhF zz1~q^53Du%=RS)UHmk{?^7lutG3!^mey|w|FY|YR!~LM);wYEyUes3jh;{j~&>43@ z@39Dk@x$z%Kk4P>lLu_4K%D80w?B3~&rxq0GZ`%6otF%|!+ok`jEpLzpFxTbRsHGn zdD3af0CQm-X9dx=m8piqz+CoS$1oVg(GA0+9wbO(;Lc^PboXLIhnRu1?R6)!ueg@y znq0}>`s;Y1YWAiosu_0MKNLMrY#vv(Toz%L&$z>KBuHm{7#(Nna9@MXgTP1%ThVE# zPI0{tZYZ2`Uw^(nyju5=aJFRs=Tn32Q-FlGW47w-5QyVeEMF=uxBYT9PNhR)@-h^a zy7VZS&BZ-)_aCz?%iCO>yKFn9r!@gmXnUbnkEOdxfNc9PjokJ`C|`e z&Cgz6y*EFD?kYnU0)6@V#p#BM!mls z{MynQT5@jgDQhD3zEIMcObqRX-0tO3qCntex}+q%-mM{!SSntAujo)vg~clVk@Z1o z8_+xee4vB*clVCy?v`6#46$BN`A6uWggP*!|FM#z83?ocs7h=PQjG?O(EMt}ypKE; zrCskHpiN19tPbcxDCPdX3rqh^CMad0x2asEdsxt@>gU6M-%nj75`8OmDfhPjm0qFA z^)1o%*!hK-!qtypo(z{x8W$+?pc>C+2ZMC#rEXR_Pq@hr`l6`K(7HH`sD$6j;A`O~ zUEV+~)_XMIH?FqL|GImKEQ(Rp*ho5vA~z!)j+XKmSDnk z4m5xtbI^qGIpeV0+5H{C(s{Rxm)yxhF0rET8^XkJz2I8H+muLnUtu0!pLy=ETNQ4v z%j<9uqZ1GJenk+v@#3Rg-22?zM}~X!*&ds`=9;bSndinV?CXWR_c&wvRXiU8avH|t z%a(V%o44PQ3rnA_-hdVKOJ@psJkm;*okxL9W2X!BAJd)N;27{}Il>2Xz2uq#f>)=3 zT;V8jJ;RYd&zv**A~7J7BH25nN8>Byt53IBv05HR{TdNuBLig^0D=Tm>=fD?I%G0x z$bzi;!oLcwOXyO%1I(3oT7Gg07HidfdGS|s=)^Ker};H?8)K+BuukN0&B!p3-#E~# z7%p{B+}iHwbzDw|fRz5E65EATgIOlqZ>m*==uSg}@#PZi1y%Q@Ap|0$G#iD^UNe*v zqN%1s-sph}(+2m0j0En27lh~F1`7|vOZ1zz!T0?Y%9SJ2m=3hjkI|%#+kC*4=lwO9 z{DjMl;0YEX=5v;HSnnNuxvwbSLtZ zO)ws9x+d{KA25X|RH&-J)*%(IEwNlHcf<}QnU^Kb<3$0z=jvX@%BJfo{0w+2AzT_- zixIKKyK~6~C{3qM`5c108e-9ac*u*evYs#W%@WuP^~)B8)lnq8#b9V;`=B zaL>Q$ov4HmW^TnZK#CHvsa=7cQ1EL9jz123B7EuXgW|4(5sS{*)^T`OCV3Li<)M1+ zVezuc*ni{M%NoXRx;+qCv5Y>cf~0;2?99ugk_vB1qTsTr<#JkZ**)ne#>zBncwXMk zbc{30%0Z|!9>KPE7X7Keh8HfO-feGEJeWbg<33u@^88Bkhl)V{Vd+cfvox0I*t_IO z*q9~)QRR_dzV-FvMj>;q_(qa@lauEV<`9)Lp(;{(TKSEmvZ1zRlJ^Jb0?nbs=*H3% zx$*Z#VI3sZ##Npj>C^T`L`GHEc~B@GS<=ttc*g?UJX?B$C91AYl7jKn1XBfysyzsc=g)*Wa~{kq%Klm{N_){!4UUTay#ya<|d!U5j^Z@kh#`xbQURFZLE~k%u zm~G~Z(cWk0Nui;Z{i|`_hN{k+S^e}~$|SGMUx55G=mL3B-7g1M6Z6Y$6Jo%;ykI%y zf15r_HWAxq&te%Gj!v9k^AL`m&;Wb-?wUy>OEM^OZHtRLvNkadtH(H6t zCr`#EY2p}9R_DD;FUc*^)>x#1woGtPvEMRbo8Znp2k^k3Kp>meMw@T}^;0^EG*}kT zTd1p>R)4mAw)Y1$@=O+M`Qu;1lEXO;g~?+8>m;$zc4maGq3B|x>-4q<2!|NCm`}++ zdUW@;9TrFOtIy>)5H7r3)WP4v@(swi(9akD@PwB}(2nv2ghywa{xLC6bEbL(5KUukjX`SkC?4+SCEl)Kz9g$-Mce z+Qt;j59n2I%`XdNwuvp88K#Q1AJ!ZGblcx~nd#q3>E(rh5^HT|T{Vz=cB5p}&tGE$ z<25#FA~1^<9*Pj@AdjCc`j6l1 zvJU7l?;Q{hfuO*F9+VkR_kguGMdP4VC+omXMP2q@WQ7daJq1wTqs?6%P7R@FG)$U^ z{8&d7lV?NXDpun|EQ!S*nB}%k2i0KsLY_ITCfx$_gg1RIGVW!4?Z5t2SnL2Z=PysK zsV#Iv?=Mg>6$E&CS*vka8RK5dL=TNihta5^Y1>f!1WXr(( zz2qiN%Qfh+w#jb)hesrWJh>JSDUziB7AY;-ucUA;JBp*1@bffGm?CaW##?2NgnOYp zk7Y6ydDt)ZGwKG{UTt~4zh5fO?1aNzX37TM6e-qamk+xyN~JLTSqF@~)*GTudu63t z_*xWAIbva}_4aX-UdB6`Bff`&#L`q}M@m8}_ksK)2M`0aA&C6_hqgtJ6VFKasAcMr z(+%-(PZ07XFy4VevCrsg&tA;oaV<{L+(F%Fx_dh2z7%0=z)1klf8?k@d*x`GuZ@n& zeyzmW;RLSm)fh`OF>6!CJ$wUDS^omt4dN;gc_^;aZ4PoR;EO2=i4Og2tSJl@5vZIwc2lN17vW!kAlBoWj^ z{eE9?9PiQvomNve4UzL)+Vvn1ZolnZ}0UIg1v1 zNtP?*N=508y5CH5n?}uyO+iVxsU3OafE^3menQ*6vT=QngAaP={(D#2Ez(BaPlWpI z;`Qb#qgqRk*ytJ<6ZJ`<@PK9s5v_9{_uUerpn=0{r5xtW1toc$Sj}gn{!uET%Z~N8 z}{*KMoW5TUSN;y8T>R*Jz4Q`cq>}zbcZ~rNP~QR!Y5s zNE@Y4$3-WlLIEfL#!Fcs|Lt!1?c0>9YK)--763!Mf>glZ`6uM0oT@W*soec)!4XdS z7yLrZ!xC=wS@C>2leNnKb>_bT2%S*k++P-aEB@=H{^P2h!LK0QmTyn~zc=Q;+!lBZ z+5kxR&g~4qdN+Kas-Og6ou5JBJ*rkS1~Vs>Au6B$CCu_G5&GK<;#a&^EHjlS6F}CQ zF^YF@P@;&)_jEial42wWO!P+?*5hY^+r+)N7@Mgx&;yFLA9BVTfHA) zxc{3r{@eG|U|6Jc%VgCf{yEbAuWJ%&0J=^k zMV~Tv9L9@1t3@6NGlYxmVR&UIm4NdI<+NW$V_YxiE3_g<46T>DK5P*705sw&BpS9{ zAdODUWBt$6N^66Es7DDLe_oui5E=}jI3z!{+8-8|sy9i(p^wq3RO`>Q*-kV97Mp)} zhn030s$yg-G^qzuS#zdqS*x+4NsK(3+)w%SnSGZFe#N3W?*d*J%NHe&)ellGdU>!$ zVaAhrT1}4hwYKQNs6Eu8Zr1x`$Z^ow2$ZEx`_9`rPlK}9DYNS$GNYdCFVt@qq71|;Z2-&$O)$6yHEs|BayBMyw-TC_wz!@(I@Rol) z06uO{zbfv!9pBPgS>3rDLpRyqg`7~@3?fN(-h@}k-{!Q1Eiwwh)~caD3db{Gk!rRv zgYY=46f(n`CN<)t40>&C538)?vd1rgx%SY3?8?nq@aky(DcxSi!{>87d?@iSHGjn)o8X}Vp5 zHP^4dx`$w0Y!_zi4#ky3Eq=0G9)$5+VB+JjO#LH&9y6HF^m7Lsz%AOdqCn!{gK`f$ zzRz?oGUvr4LF;QEWS(K-P$9YAL=02F7?sG460<-gDxCkZ&fxD{kz#^VJx0gzvzTJW z`sZRpjaDy>@5gDRMyKkCv-eR=Qw9#_B|I^E(HstfHc}}n#WRJJfGY+);~}6Zv)wtM zn>OPD0=!%54Y{y-mitO(Fbbu{W?RM|s62M3lgV`{^Hm{eZ!ZjHnF};3nxdcj(-~4; z;}4`0AkK$R&J{RczdvCbW0=t*;&AESKMqF|Wn|J^f+cT_TmTkvG^Z3#+mq}r#qit- z_*rsciYqbf*(G%?ur{e$?8}Wky`Td}W!*~iE)kLZMqT3tE~8=T?5yQVEBP*kLW1Wy zVtw;SUueRsQCu{=2HIdEV}t$Cq}u*cLv42e;Q4q2Cq}k;;P909)vX*OC9;_rr5Dru;nu9dY=b~FowoK zk3$K}k!ynMZ+#(m+DqDPW(3!*>jeA#;8QGZi}-RZo^PjSfR$K!U;oSb!eH%k55(1Ps8!<9a^x%xo$7mS~V z$j;6#E^5VVdHLs;Loe3nmlU_-+@6}i0S4E?@e}*rCksQYV?aQgx&#p9=Q(RFR!5iW zN(M)gyhP^9wHBJ;5<>O8?e=Mf!`UDP`*R4<+<105LKmAGdlo1x2M(g1E1NIlvmM1k zj!mDQP2fh9gd&et=OaYJOAYijx1(gADkSOMA3m8R78Ik1#tpm6xLjQX!x=Nj-CEih zB#O#KbIDM!y4{5I24k>K*t&13L)~u417@Bc`xA*#L|5OC0M0iYO)aLu;RPxPZ$D$_ zKF+S6mJ9IBm2G@MVZ2IIZ2$=NJgohxE6`4SK6 zG#*P`%##n^a+NEP%!oo6j2Q+L4arPtzAaNzWg#Apn=+I5u8WTLUje6>*!4xNImz81;5%Rls)bp0Bf<697!!SUHX zs50;Ic_4#cKM@YD3A@OW= zrnl$^%hnlcu)1nT0(K$m@{#Az^{3>r0DS(u4^T{$GD9)@ZEsH3r=LBo9&FV zUNIOohGsdMt1X8DUtc94N=28s3Mq)PO|md1tFjsllIh~7h48&EMqsLq+{QMRXKQ1d zgr2&_7CxK6Eyuq(>E zX=!OUdjh9b?w3wioqhw82Ok79m;dbHdPb$C{3r0kXCF+)vwR~Et9-Gl?^M2s#O3~2 zW{VS8W*)cg@N8YkWHf}N{lX4%+T5(!;{+Zjj5V#`es2;E%^pkK$D3`B4~)ARziw-Tm2B3=dX<{t_9 z!=DryuEs~z@&hDP6Q>M@EQhoj8%+R*@l>srh>jF_q8SF83kJDO-8^x#xpF1&H0*RC z-L^REB^rHSaK?;$o-0mF_3_5-&_$nofhN&3tqJ{k6R&_+5>T-k+DD_&G^LQuF8ydA zu%w$eloWx>-nGwUzB01^2d})MG=^nmmV4Hi(cxevd^p^U$#iKdS1^J#sd{6}3?EFh z>Y5Bpn5MF6v@zAW40V?Cld&uUm^4Bu*J(}SY7Hlq>SHo4@ zFS~kj)pQ2pmy)G*sTnTjdE|Wy)%m0q8FmXDR$9r@<;p#9N!gFI6-86o*Vxa4SAz`p zI+B;biuA-GT4S@2A7tnS zCDn~FhkY$d?wStb64bL#0(i+8vt&NDzG@La8 zq&Goj)x_J)yehm))K(eKzKt}zIDz+NfW7&5#*=XqKr0yw6AEw(J3|yq6Jx7aP8o^M zI*5KdeaVO+l^PoG{r2c&)!Q(Pae@F2kT@|sD3!=FjIv3~p;DAkvD@2rgkPef)k;1x zY{9^Ul1k(1IV2TN*8Mn|NZnARl<^$DU9rgHh6KSm-2_&V))&CtI-V-7I_{{~w62v} zrypneB8|l*fJ_$b4ZTg1YKrpsA1tHeXQ*bQ=*XjI)6ia14{ zIfmbN1$~fY#<$o06vX$5CD<*TehdCYZ6iq7@q;Z<%@L$}VpZxJ7aGeZO|XL*DRHzlF0Nf9=Wn z%6gldl`NbGO-}~=s0DqmT>MdSD=W(&VEK8+?yv*S@pN_4&_GI>lX-$tU!N8LQ5IFG z&w9yfiFoWHLQ=iF23E30WCLi4Ht0@;Ht?`QdGD1fm5Cp%VI57TS{cb<=!)KFtx7do z>zoAa|CRewkj=L3d#C_-h|8gI4llSi|9WnP9{v^tvOcqK9@B7>uFULmo*bjwCaoe7 zj~~G(k{hTW0&QAh{SO70t5X1-|m($;>4SGFdnr;;Z;w`_?c4r_Xe7Xl`;5uRh^8w&X!c;tPo}FOxPw0-va(}!}GVr=SpJlk-fYSU%FGqD*y8_pNvUO?wQ(}lzUyiuu1@OlW@zBrUugbtX?i(6_l2XSWW_-}XC80ORym4Q!uWm? z6@^gQx;VO-tnE&_Uf*{(CL%>BT9#ODS6+ae_n;EAqPFA;d844VL^xPc?CstOYRKUp`p)#d2ps*$yEI~PD zQLu7O|Hmnyy7mObQ*xDV`-jkl{&}qD%jfBBok3j`<%_ZasAL>c^p7PE z;&xj6{O5kCg1Bt^?#5|^tq$Ae%iBmBZrg`z9MKG}@Qy`Z@(^+ZZ;k8YRUy*Id#%rY zo-bep*`=h_;GP8M$R zu`C7N;2A&Wk~28}(z3*+O=OPgIj6PV5f){gPDa-$&BTl*;PcN$NMVv2-jkpT2fKzR z+Yq@dV4SbUW5JBI4bSGykVh`^Py@sa>0&H{2#eDz!>~A?9_+ht z!6n&Cwd(3`aNBH$qSKAh8Y+h)AJZP$U0w)JT3mcQT=l#~b3Q$qQ3yy6?F*$j$yVZb zQ57VY;RtulcFtr8UXt@qY{XJaVp6a*kf$|!1+SIBP)Dw}{Ca|CDzJ1JIZZ_*&)9&M zv>*mw?HVtvsi4sEiZ?IVGVafldi{i(+OOHt?JO@syhOy|AWo?B46tRW6StDoBGX}_ zU}%ZTGf%Irv0dbq{mENub*!o4Nf=z@+fsz>8et+!AehSTntK_ZRB)$XI4>IR=1 z=82!KRHcm#onD8S@aNld(wQzJmcK0d1p!KgofPc!rLMbzoN%rDJ_NPd5#9>4t_6Dq!JSl z%Wi~-$xBprvD9FO1%qH(58LbpPM0+ns$#2H)#*&2f)0WEkE~Hcz4KR0gRQP$3}@*=n_`RIZSH2~iRX&*-1{D# z$ncXRbxtJY8dPW2ibZRwj&mhZZ>{w%`18-^j7wj3%oVI9h+y!+_82r+HVPrTr5rBo4y9b?~`Fi#(JcXWLiK?TQIr}iBT==vc z=}PR0hF9cKhP*y)Pyo*?Je9R(F+3oEpp+Ru5|4W`Uc zvx?=)VBA7M5_e?Y)H^;u0b%FakD$pGyn$JG?kx4O*rkMuL~8At2Qr^OEMkT=Slqt;?g&B*jG+W#>jTCDuG89$p<2bvL%cZ6%I3Y56;PX zrELvb?ELe~<`Xj5mRUgovEuOq6o^#qI#n9qT|6oMnFx8B5Mk_AQ8`%U&3ZeKjlPZ>>y?IMgX$5qxEzvpW6)^wviBqLmNN=&?6YxRt) zeq0hK5)9Aco}r5CxIWH1Nts`4LsfFfmqcMOMs5>Jimj0U+x`yraGn>2db64c+VA)N zm(DF$2ebLgm0zXGbQ<+V_WH`aW`j{gDdXZ%M(vMOM=V1ppViKIbvSJs>tN1j;R_l^ zAs4fhK3&i#o&XDuXYf?Xd$+_^uE5=?LB9`wN+%y~XH@OdoRF*YJY~N9{XTXaI8ACv z#}`&Qix=jgKio^WsVir!<3`#ubyz0$ZHir^xI!gZe@m6 z0p})1pdaRVTnsh8JC3Z#wLf+_oD7z)x*1m`iCsN;xb*&k5k>SMLAixLr3~{bGR4|OWO&z1zPpbunZc@K>9S0oM3o)Ho5;61807^ z9vBOry0ThHD&LN{{e(RrcQ})7vRWoz-qt|CVCBwO(ejJ358pbZaC2s^FG3_}wb~WK zQD1a^VG2!OJSI#>VyU%YR;2})ME*@_FckPU=KsOcawktXKJ3i94ptE}kn*ee;z%;d z*EIQ4F=gk8?pCu0EvMi1o&??g+DAfE^gH7A?-q;=zVO7o^?4t}ISGI32X7Q%L>p0a zk?BivvHe*X?Rv*}>9&Me& z=)NNUD#Dq357OkHR&RCiN7sDx%0c384LD;1Y!8z?1J{ybiO9%MxWf2Nwt*9s?Tfnd z=vr#ux0M^b!z?Ip#v2i^u8p|-+?bd9-q}D25=ukkaa}N%X*9*^_Jx^@dQBDmjdyjK{x;oAQ`E^W$XJ8O^FlpTTmpc~b9swweF+)z7kvCY!QA_5| zEPL)9?v!8b;_y~VGu`3$MsqouY%dB9D*R`30~u#O4N#ZP%)1;?#}=|?>+kY?%P*`m zh!tzoK+CJIF~X5k(dPq5`a@15r@idKZ_(Afz2Tu1lbvah$xyUspqR;2&qJ*(1~F7e z$LvX#jQi6Wxu?2W_GV1%+~CFunsphZ2NT0rdt@bKdihQ(+H- z-1Bwt!;RB%2W^!4rrMVuo*5j1Md5-&jJxwxp6)dQm0I5FEsnmr{b76a2e??^?E$G; zmtiKjvi!yeA>6_-etqhtZSf-l|7OqdU2{1wF!{bi1KI$;%PL|Z*Q4==i2i)W-k zao}0nY&uM*FZOTBE6`wdy_N*ch&|ROnaU#}jjB8T1yO`+>q4V&3?5@l7P5FHVSIrR z%2NydHj211rpr_JbP;v3ZWmE`r85zzOqi7Qm*eKYOg{^#%DObt4j<6LKI^jpD@!u& zil2T&T6EkJbH;kkUoO!Tqao3ybm9o}=P}FX)&xb%&ko^&F2?fVu@?#vioD) z&4SZI*VhVj?6kPnwb>%Jvis_5Y{3Tb4J6AIxYgLpr!2z{vk&vwIEn`((W+|k%X`}< z1BDfU^;}0Pl-+462&8;Glir{q+GF5lTyz8=FPDJoJPdm&f35 zWz?~r%h*U!ETxfSLgs|Y?-ZiTFp>Sq&CnM0yyD{=xBJ+S$Mli~L3y#cGC6`ec@!%( zJenPzJ(gRhvxWINtkfClX|M*iK$(s;yj)7h;hE9Lfp|j_oPN>JsyX`I&lsJQ<#eV! zT;W>z>)WG>R4%)@EgCRwT|6AILb2A2E4>hF#}n5$A1POXAzpuoi!y@t%q&l9naz6WbzY_-Po6csB z1*;J&tq#LqQiYp_x-S>K&X6fLZJ@xDA#r94IH6iAMkHd%u^JoVsq|^U@2+ePld`?n zIIBV(nOez>eUk3g%fx{4=lYaJSmKT4K}*1!j9_ierG|D%H9BoHuJY7=zq{(-z`0X_ zw$$5C-x7xeHOXC6QFNTT_>JBEduc$!n_q z3ynDoCZ}$pMdd6V8lF#_2vS|5sMszZ8rS9w#dR!qh7}A7W<(+soL892%oaDGaMGuY zyhNvwIZ2+C=UXe4Z?T0?s9B7pGR}ikm)5Z#oqLio!*}TOM5pRc*j?xnisQWGJc)e2 zV4nHI?UAnjt{&>$e}eUL2z2Kte_ZwpjC!W$81%%U|x2x-34KUG%+npop&V*302Vmo~r&JsnW_- z>%>lMM?#T5evb_%S!vsJ0*SJ+mF#?ZLpA!Ws8Yyjn=?P_c76`XBt&kXI;ZIR;&g^X z40ZP%I}1*uL-cCM&Y9@I9m49*80toN;t}2gu$H2w!kSFoOy8ozhYR!Sd~V7~BOEOQ za(Kto-L&rkpvqzax~e~hGZ}JHiKteT_0vw!Axx+QrcJvp zo-<`pl}5+s)*X;<`a;mrs%;gGKyHCZC-2uB4(f{00n}pv5^H0_j3ZV5IskE@%9rHt zB~$9m#Q^i~OuoQK*Rxep{g%Iqpb@X&t2f$iCpR68?OyO z@0R82a74Ci<&aKrr8t`2TjTf8Q8Yc;Q6hmkx9zT71U^>L)1fcjo+wzyw+!t8;h9ec z)EDqa?CZVBK@aN{IE(nCINrinP(IUYqF4V{tJ3(Rnp@9qpcX&vmq>{98ITgs{5C>= zw7dLXK{;7#!`HId8He=9)o?PA1ah0-^%s~-I9M)WSBp38<8beoFHsA{2>-?zzn-T) zY3~2j4n#a49+b2%&k-K$ zQ$w>I0lx>x>TF{2L{YNH?S1g&)IOLVYAGPWlLwEQg+l za;-TTvnMZ&v&?_JE=A@A>5h7u=?*<7N-Q|W{OBPYFOC(*9upjxpzM=Xh%4WS+6D80 z>%?{@o50Obw!VmQ5uGV^wqy*vbDI@c?XEZaQQlKW4b))<=e1FttGFb~kYkQlTv>@T z%2FTAeP+^Dcdc(4)AqeZ%A4ET9bfuKPnu||b(V=j9d}`?t@o7u$r~=%Jhn$azM{6u zDdZvU8ZHU8YCrD9t=v6&8-56|`8nfhZyS@RU~0g)ygcuYWos)i*ZBx5_Ja(k zHuG}5-T{7iOE)i8E!sacL1y*6gfgr3<6qALhx{?vG=W@i?G205(jre=n9S*6#Sf1` z(6wqGq#AEBnSRdMC#BUDX*+~EB0Rq9;l+H_5rgJi0wpc${Aa15LyfofVhfNgt3so8 zDV5}2c=)IaCcc}^bf!dZ3LXMT+0|S>Et6!oL?2L~W!1b?JaI00;fY!(7LY54*BLBX z4q!oop?iOWUp^G*xca5e*b<@&aqhCtIsefVYmX3F#d`v zDZkxbOzp7t9`723|HM#R#~M4y2YXYX}=nn z7H$742ydlJn~5|`w%PHp6F#B4+pQT>`?qbQ!t!{zv3Aiqpwdm7*+sK-`4KeP0{&&X zv{lphXoc#51#>VWjaF$=fdaCA`@X2+eL&R*vRu<$(N-3YFzbyM93Rh_8IkQbqaAS?r{48Wc565>=IurJN)GHok1j%@<)isH6?q{siIg!`I_Pjv*xZj>l z9`B5bEcwDl%0yuAy)TF{erpRCUJEcMWvg`ksSw1L;rUcP`a7PkEP9lQTVmY^u?EOu z;lx*<-um`rhwD6U>_ICMA;r>iDu3rC&_fZI3CE=_t}yXqL!|Q5jc zQMvLP>fN)!Ds$aH0-x}W+ zq6L)l!CIwlrBp=aLqElXlzifTQYGtHv|Wv$B|F*TWCU(GNj<5wt9yJKBv=)xlhz9< z{20f0Db+96`f>~TsaZ-FY|9KK(7@?Zh!*JA3AaQ>8@G&<8;Ql0Pp3?Me;Y!>eHZve z;3C_apsc_yWhOd`Iem4r?|Y1ph;|$ztTMwFI2WPky0qQ!s~b(OY~idPxxd;3)(60k z`t*wpDH-|Po-d9@w_$a~nlB$-T!X}wr+8HS$KDxc08-zIzK)_ccaq}{BIH~t*Rem0rrgj(Y3{OTB*k^krde* z9S!%BsicZ##EXs+!}?yOnnUyDKu>D+r6^go1ciZlJVAHsD{vp0u~1v+xKer$D6SGyRd7$suqY=pfI0Qj~F7- z>$oCMfXaYN{GV$p3l5`|c^Vk>u?&f`n=%-hUuUhF#p|3LcFXHrIODWxkB;5E+yTiV zMHwwM_Ki$bxsy(}BGgc(QquLppNVYOyPa`4hzhwPWz^eRBFdQs5Cl7y9{+l;N}@M0 zYYxZUycV!rUx6AxX%2BB%#3`zXGfdZjXv_gg2FAB>9^>Sx=v=qB6k4A#^UpEWC(@? zqeu6$He!1#I6dClbRgvY`ZL@hYufS^jv?_2vBYkr@H|biWJ2{{w9im)1>V3DUaxSa z2b`u24r#c}Bjm@9F~WKo91*H^_IFxV%VkFoeu7ubV;8GoMyWkXIOyT)nQ&fx zzbj})rP&KmWH;F*lrdJ`!lL>2LQxaWK||%pV#U#*EJr}&sN~dzf~IQFHq7xchC3s0k0)x8*#j<4=JZ~HsdK;yfE&hnwNqQJ>FpFyih!Y8l(?+p>Y z=m~h>S*#qJL=?rq1p7!VS`-r&`iC#I@|kvfsS*x9(wVk0iI7Za1{QVEyH;fGTNoYA z$m=GX{9U97KPx=66>Y+&=-+NwK$gxjm+neZRB_DB3jDE)lD;9)_G)i_h@UUkFOqxV zg@ND8!esQ!QLQTmic&5DSr!5Zmpu3O-crE<0XoEWK21514A|VRvBMRT ztl*rzQ^bmWiWTNV-+xx^_}T8|`CUW`lOB_vye2XBIXpV01!}v)GGfGfl^rvs|MeqG zC`+qFAdTXAl_mTI2K~s=3nN-4|Lw@)W$Bh4=R3cO^~OPpR{kV7Y(%X!!NFKgq`;ot z-!fa@#m6?m>nZ3Sy{yMXR;fU7o)Fsw17@C=rQ8A~7Gcx%1jYmL#>aXkMdm#cPS>Wk z4oW4jd*x5j@FfTfc4@eek@u}~Cyo#Kwe;H7A_4aJ6q)nf2WGgnkA9mtbZ~0~e%opE zaBHl7+c*qxYcjwQBixz^aKsGP{_ewoQ#aY|7(VtoLCywyfVKO6m=Bn^yH3i*194r) zZ<`%~nf;!*=bF7@+pT-9{#aJ)bH}#x*y{-Pzxf5Clqwv|4f78FEu>}&TOUYp^I8D~ z3P(W7{^2bF{=YaF`{-PoSAVG%Q}f@S^MC$>yzn7Nmc5cwrU~y~Ug=x7`D@(6=l|gmfeSX`G40#LceG-Up+s;xHm}~|Aw-Z;wfF4^t_7=AJU%HmJlkTmIDZ3$&(f@klC=gf6{~vwKU)Ic& zksTp+7dsfuPT;qz%?>HkE-roffPallG6VTjTqHl*KMf7758|Aae)-rMk^{KvnNAsN z4DCCZlC~{vYn%GAgccTh|O0T!U+XKyY^m?(Xgc2=4Blpg{@zdQy=F<2Qj%KJ(5H_e`bDepw3sA8KWo`k7Sb@pcj47f$MZyO-VnY_ z9;Yj~f6Iev( z6jQEVLTR3+rSPEJAx7)O1{^EVJ5nL0H?1!JbKPS6LiEf~B}!g~Mqy~d=nqb>5qv|7k$Pe!K%gjZlxa2Mc8cGU*9n2>nkH51Tj;-K|Tv7x)0DXm4O%_ z$kQ$uFf?@|d$pGQ%jdNg(lZoCb~Ib8giR5;+jRr@E77U6flNUI~iR~bJ%sO?l7UH*Yezt!!J*y zz1T&+z=?`XfedlPS?N_1GBt9=-&L{%l-0RSL=n0bYuz-7!U+hdxxi=rHlh9EbTx1k z6LXRRV<~%i@lo+5#SYz-bhF#zxqa{WzG`Au!54DesMqoRi&$>`W93f`e`?Mz&)Xp< z*Zs|OaRHYEIV)}J-q#mO2`>UwF^@?^zB7C*bz@)=cDAe zmwmH7KS~1u(ThIwJLm;06(!$~B!9iy?T#bOcLtTICZ%4`n9QipHHqQ1xu3OBVRj++ zOFfIo_{+$#?ot=owqDN08U*M}1e{F(f-V|~<7nUY>T$Ule(Eh1*)vWXE|uv#IFikn zaRP0ZYJ>J^Y7R%TF3-CJz;WXzH=@L^aE0`vqghK=Ko(J^*UgGb$`^dT=Y9W|7SL@S zmz!kp`oyxCPwt*vJ>GREclba^grDA`Xxf{K&H|t_0yw>WI0-85OOmH&)Dgdk*%V8vvOhBzXolrRH75Znn{=nBBaEH<- zRnMWFwI~XU5>m1fay?64W`_}a+?jC>~HOb#7|r^pG}{VDe7)symuWTZ80 z<_a}z7IZE*J1xmj@df6bZQFNK*j9=V$APpwtB=L?Q{e z=mKhln)`%T)NP=LMAn|$1%;IKxGc#Ga~s~#shoHHpizHezz$GnJ#IAXu;Xa{MB3!R zRoQ-P9uqvOWIt2#balAaUvBRcaE-K3r{FUJs;&XmZJ)29VN|I=_{v3jYsLc}7iVOucO(Xz`yD_NqT z3!4A_Z6#;ZH%3fU{uZ(%0x%yo?k=@FR|XYyy9MKFT^@{l?{$@_t5yALq3^15y}`hLQOH-kk$!o|`PM{rO7`p|?%I@BCN$nEO0nF3-v=O~~@C`EbU!5siv6e=#N?w8dK2Kh%oH!V}Fn5m)X0yD~`Xw1)~(L`a; zRzSEs5IJ?kZdvL*Kf+G$W+nH>=Sf&W`0NJm3Io@m_s4vkXn_p4_B`}q;tp}X< z9IL*pbx7R&*~k~{Y}4t>7mu}FewoPxLX4Daj75$DLhdh~VhOn8%QUOSisQ(N5HS1R zVZQ+PwLF#n2<1|&fm^m$r54v2zsgln3{Aj>K*Lq_`dTRh9v1_M#t@i?MoNqma@Sy6 zU9a68du5tN`H&o*`iq96n1e{INQM0SWRK$n7sP9_UiT)bWNgZA!m4!i_jl^6?c|j@ zwV}=jBe~4GjwdN>eDcJ<6p341!rwlcYbrBq;4ZiB6y3N*)U<3oOgi0js-UH5Ibq;r zt*73frOEFF&`KYferS$-c|1cdoO+J&N5c%ir{ShD+%}uKlUk&4Jy+Je_}$Zq@IfXa zmH$K;3vdxjMs8Mjqo9^glLg#}^D}tsobZpwo~*Z!APwx(sJRt7?0R`12DKpXn^RfT zIdD1 z&%E@KiBxi;%XO(I1PwZQlHWu@^q^*a!ZW(=uYUvGw#Yk*hXaL`HGP4}P~@ zEwxK&$tE+7R zHXY^es;W`F`VJrcH@$i^n}xIz(ABkoN$`h(pM7U8&E`?mx?VZkd)wPC@-BFL`0Bu- z|E-^*!&8FMiF@YZ+T9h0r?Jt!Oyx&dF`R}6B@+J6^KYfHYOeVMwkd94*vuc-sK4P& z${8iR?j$GQTg`k}OAY|?cJ}lIn3;{ve)&D1&m@@B(}+ty%r;NIjl<=n(&t`F5OydR1?W%qC%pR zaunutPAlnqALWk2>IS{>vLWNU$K_c!wozO|cz4=Pg`h_-tHFv^S4GqoTs14c1{;Nd z=uBaL_veB8G(br;Qyqq^I+Y``e912vjW6E%trPcjH6ZXI@OE6xFO6SI@wn90>Khi- zZ-OtBl5x57BU9%gbY>H$I#%a_{(r9~g>**V^LHV7MyozNKSh*5*>;;8Jv0eM7}vfA zqCK<7p0zdFs6OI9};&9yvka z{-ahPt#}_5=Zb$v%4Q2|x6zilL1W`WbT_1}X+0Em zVorNd!D|u5r9YfRuQuY$XnAurt7O7(Q;u}Y!Gtp+U+g@K-71T{6g9{t^P^xO>K1@tpRVP?(4r?188_LqZ$I=?%^~q4X3Id6p~npI1CSoJ21}g<__M>C0Z61-tCm#v zY%+o%f1w<%R`>1zWA89X1;*kpiAJP-C6M}fhzZh!IgeeDP5$Zb-qmz#&0l;1}O{UH#5;sWEpBl4NW+#=#;*L$Flss0r(?1W%lZ+AdbjO#zbS>mEmht1vJW;iT zl=9DO9fIwaYtlAd9_jVkK8$NVjfOpUX_WJiRVmsUqs`pN*cZlN#q#tSNauosAYREL13qRIjMN8m8j`*;5kx~BPe zm`zxL!6yVlGNGs6FPKO)n=JRw`M*>lVQH*x6x>TW7(x0ip2IWJ{jB~=nhZKQYeAtV z=2U$dh)H9>u*+<~)!Mu=B%W3s38RH8$XFdI(nk9o5!`bJxf5tWswkR(MrKF+ue6Sq z@n@8URfBd{bxlU4QaO)$XFMk&PCJqOq|3J?5s`bNbjTUa2o_XM@|+{{z}(DwxdYM2 zW#@B!AO68~DIkV}mNVD)II05)h%%#{y;LuKD~fq}|)#3_TdW<;DM zXBu6^j1b2{-MkT6CVweN1Q1vu5XX`5o9q?6w@H?Fz0QFAb=M98rW5f*mms>NUEjY# zS~vN-Cdd-}lISM1vArnLyz@D|Z=@3UE0?KI*K&oYF4&M5CgsXpY1Imh3t#Zb_F7_h zE28-njW@IW9K#%HcbLN%o9}NM@7jX`mxr`wwF{>P`@a7${b3oSep`q!6qb&uH;lm! z7luj@E_s?RR=I#qO;a0lX?VBPb$-Yva#yjJZRr7OkG1)GA9DAg`dRT^n!mb^IvnzZ z>^?WyhLd`Wz)_3W2l@v3Vmet&(TGBBy77f__>z?wriy}a3X;fUfL}N|EuE^6Y`E`J z46b%82!ZyAzZW)k5|mswx>YtQb-O-pI2dG=<2!8`X@3lEYS>wGA0c6e@v@{DjdUqT z5%~RP)5}%A5it1Q=$)x9wl3Ie4@ZZke5|pMyOTpofshl50-lX~LB+oW+2ydPWP98Y zFEM~C$a}|k`0V~z=*d879na@xTh1W!LcO|aqSZYci_ptPm;hM7ZS0U)G?-wJF->nN zLP3^Nz6S8cSx#is`yj4flH9F6u0rFMSWaiP1AXoFhHGe`NQ!?uBCnmHl*J=SVB?z= z^wp(hf5Y#gwtU6rp!HKF&I&@v4uSK;Z$s}Y9)9yqwW<4rY8r)FqHn8sBgq@Xkd)TaRpi&(o0Sj$L*}w2j})~ zSI&U;!=2%1^0V#Sc8UNiB^3CZ%1p7G6tnuvUKiU&55xS=G9~C6V*pAp-5V_9v}xT8 z;?SD&fir*6*z>^|as2veAj1C@13H?9?}Kc+Q`JPyX=R_Nc>s=#o6VHglF-NB*LYpD zGZXGdkRrO#ft?I@-5Z6#WpPh1f0M)b;(YzR9V)v?58|%4rStKU2&YRE5h{s5V7{Ab z@-qHX!~hox!t~3-&F17EPrIu&&uiEi^)qNswjPIgcQr&mY*)7!qPbn2)_f@xh&hjS zdJ6HoJ9|(IElx|V@&rRyj%$%ao98GV_WPcMoM}StsubX2#1zXs1W-&~f2Hx>&Vq{+ z3FX3~K)IWAfQp6k$6Ax-0Ah5Ja^*)48tWod5U?$^C;A^v~@tBff-Iy`p z6)kTO^vUWY|0!>46VkTKXTVS&Y>KQ)ltQm@COsHUsvg7ro9UNTSk6W<9tS8D#GHR} z>fzsPum{-fqTtb89W?*`?gicKcBv)ccZ8ZkZ&nLe-YZs zH(xDktPm$ED(X4j49Ivme-25L6qHbq;(V!kKei0!m{?5&kZRS*ji+T(#7Gs!!}H!9 zK)_;=R`E(qgMNOk)8h1(PN_z3q;GE25?9lr%_vrk_y%3;XZK()^Cb zCwQ~BU!Cl*Q97y&TIXhB8x(d=J%hau-rt_peblNp*xm93Jk0r@22B2M`k@ERys`Ur zB&Ae^;=YAFh=MY?n-^B6YX5!4Nd&B|9>m0vcWZC>pc(q?90Y)t8Lb3dZ3JBK>1*JwtGV%DvDOix+Jyqa=p&cYVj6N3kv1r-fM0ox!EaaFMXTI}K?4dZ9{>J-T1-SCC@`eOIv#>zuP<9-9M ziY2qZvlYtKP;oE(48*jAlxcVx@R4XWUB7NDR!8ZZ(h{z9HF~ZceyY&S{M7VE3V;oQ z43b%M3{@wHE4Ynkb93uuC8_&okPJ%{Vn_TQ`!TMC?K^F)UOr;Pbqm{fT&tYWSB9^~ zLX6nek{W&|%*oK$$W0jLtnfrr3s5U=h_BWy#Eii-$ zoxZxZjt|rX(heYO*eBY)hu_n}8(mWB@;;Y?F_L8`2w?o4Y^-%zlIFf(1ChN(@T=>% zzfw{_dd6Ysd@$p!FpU5OVV$EbJ(_O zXmz$&?9CvniV1u7hi0@w#Jcx8;Nm`8H*i(CHq*1BFNe1G4qp)JVk}4BLqjr?sm8$s z71itMnK29rH(@_pUr8%#EiYr%dbS)`aFulx_VJB$^nsknPZ=R^5z9gs`)HY`Fk1bpC?#l>W)N6p*_aW`w0m=XoLL83(QIr{p-2yyxE$mphkIwySTJMD z07crMCa!P=2v`0jqtRrC@g^~I+yW?sh4!1e!sKJy7u}May(;4Qh-8FUd_y?rS4k-&^oTI@ zI~^leDVafXQJ;KnFtPnf_&g|SmY?X1R=r%+yF38#gvkgSFdK(<6&r7{S-kK#e)K`N z_wYaCqqUo(_+c`KGWn<5qsgaSvfOrzw9%m9=1lJ@nr1B2_Zi%+UTvawZ56}C70qQk zAaqA=XU19oXTAOAmC$H39OuhYLGTE^I*`Aahl-%O1RQs7Z{U$`!=jQeUB75UZVoM8 zo^3~q6aTD;()JPu`5v1wGN!8Zrf z_$8{HTpqBN3fZ6Mdw+WA^&S%Y!sK0f?to#|E~J03!S%v-;A(sKt0Ht^Y`?=$Q){q! z_tVKuh%ft$-`#1quvK?n3mJP|8$w8ugfudMj9Vel5PtV=@CI zZ@=RG0|SoCs1Mo&yl;q^_giLt2&rO-<8W3zj0EyJF4$*EOi3!GAN>v($Shw86StXz zH@LHIGoW1h%0<=E&t6C2&aBY%wpy3q)f8f?!N~>9&*$~1-!AIC)PJD+K6k1`dLUGN zL$7ExA&K>wMY5;ag4|JjbE(ODK1vVZC3*DZ$FlSi^150x_m;YAGxKEHqbGxICJ#8< z7=3nd%1}e4>Fwsig%3I$(9WEXAXa%sgd#r|!w3vG35RqtW^1#Wl?Az7ZBe`lMIa3p zqD=}gdUUrbH`e26>Yi;nxOhO9V8NBs0=9BDg(4!gdk3g0>)HiWQWVqd+M|SG| zwdhWo31aqkt#4$)UcqMwHLWa-!-RT^)h)@w?=Ubjk1eI}K*Hwxfj)3DgMa9x`|pv^ zuarKvCPLSi!nKB+4qeha8v1Pu`%tz^VScP|?DNWHr90bFUcE$9* z&p#~PpPsvVr9zlvdEIt+f_veU5NfviS8%xJ<(2bWfE(kU_b;VQ?vec?3JB;9(OcH9 zaI@JffT^H%q!4F~8b4;TpbMybwS{*45E&piYo(xabx;givCSznH44) z#-?}ON)elKIrig9JtxqmTu1B9bHt0IjCeRGBx0T-s-Ll#bsYh9fW|t^ho(PM=FxM% zG*p@5WI&yGAmDkeVrxbd^?K)sHagpvz3**5;R{zE9fHvpPfPfx6=G z(8z3h7jgu4v#`l#H2&QBD{_f(3{(si`1H0M!KVB#V{iYeFy6KlTsj&hPn)4V4mX44 zODpes6r}f;XsyP>3|z17K1C7_3KU-ds7q-2_>D5XyFQ%>Y;N8X`;NQgZhg(uD;urO z7U*|f#Z_JG#7Q=P`098t028alA)|PlF)E<2n4o;tV>f(VzVFeGUv-nY_jKI3e2?@B zsq9b72)IY-;Ay|X>f)^(6pm=ByftJiFSXZ}w*Gbr6%`wrwXk0y=nA_n^<2ekO0g~a zo&{@4O*@z6XP$^Zre*i6w9w}z=`3XgiPWFZQ-2D02(g;Mrk_5Ni*ub7h1NP@hc%z2hChsi6+_7MXGFO_n{hrX7a%*rA zu}if-!d<2ij)fM;LZUAH{FAQwcS0n4D+aY$(aU?I+6Ijc^_O(~@!y1fkrO_(ocNq2 z8WUDvyJ*nsm2d3LseQCby31?%z;c|*V@22AGyRACbYRh5ss9KSFWR)o>ceJAAycb^%fg1wUbDv zvE5CNJJdu)u2cKiYENkG6{3>M-|3%z?SB7~uineYfg~ftCXkd?*Xezd0d|baEMww< ztML{Jgu3@_Z9O9M!qmq=%e$aU^a%kG1%k66UasBBcOt+7W4ZWe{T@^dumTue`KTxJ z<|G8TYZLLG(h2|m_~m51SYiK-=sSPv5w4)VXV!B0;vm9a1k_d_Lw>vd=$@39!F34L#KEq54KS9VKOY!LFU~imqVc zWWs8*$o~*bB-*IS3JminDEy8}Dv)}~{r77%41FZ0&7$5+>q=0zc!fpWBLH{P+t;!& z{(&+{4M*rz*Q80k`SVG*cwQaH&I>rz)>3nF1H+)0^xJ-t{l=kk#x{zYdrusETf;Y; zM#avIKieq9j5gE<{e9hfgc%oCblDiS+Zm#(*%3$hEF=g%_UB2skBCL93M)+=M8aez z%Q?&{uza8B*5U*69Y_|;N)~^@7Ko<(BsdCbgEC|z>p2Ezxn$E7L zRkXbdl$gcck0sYkiZF)C8kx5)mmpekEdB=b>C|XfzWX9CR{PZPsc;>4;Q9`i{%m7- zQ${1<=E&!G@}V7PcpDUZMbu_Vt>=g*of@XN*r z8ud;;;{7DG&3!$VAJ7L+t}`Ce*|0J#K`YnAeur!&`9zE56&9x`b~9Ed3$}un2w)T^ zX-~yb_BJV%Cz!pm>w!aLIBno5M|UIc3>zhzt0v-h*lUAgikd>i{735utH+iGxV3Ha z$rVMz-bgwcI6n7Lje5UtaRGYHP3krNZ&9ElOZbp*e**bq*Wa+j6-F7y7FNHo7s#cD zuOi^v4*gYZAQz?EBYS%hz-Xwe)6i5$NFznPnfKa;#>Ws}Ep%BVEi)hr!ZQixM{ThW zF(rtU)y`E?v!9Q)!CG>z@jxke^^Fd86KC1;*ypH+k^n?Ctud%K4%#UN3J()=bqer= zdA{D8ogUeK2K|ldkDeE)Kiort1h)M@$c}k-bVVD!>-{GUb9kD;-gu{*)Fb~@F=#dG)?vgx@R7Vf5NcU}?);VL27RrPT?3p*01S#R>gdn#S) zKZf!-3_nF(Bb@!!1<#26Eds=1;yaIV`$MxzUuqx{r%rW-fQ*_!C}(OSlfS)MLO=Qf zdextl^NeIfiH0O5I831-ER>a4){#RKZ!FUa<+?FWLbXQv^NBkNBC4ZwC8356IZELz znb}9}F3&?-c@<>kW2@RWQw|HHDB_msUzsmjXjPhf+*ei_q%?*v>U&mm4RCHJ%MtzW z=$na@={#&VHQnCxsjNgVx2PrZnn|`*Re`0WL4(Cg)YlGCIJ=F;CIv63r$Z5k4aW1j zG)LR*ga^ir73*<4W;MXjWx^~~b%PL&Bz*vRA3ucQAyqXRr;pj_&zK25%~Goy<-qw5 zUF6Lmm!vpX6zVS`AK?VY$gBQH75^w;(0gBF&x({ax+8Spcu=Bg;35TwN)o-XSgjS2 zA550@5&QWIg2)zIt`V5D16&sU)fMP`Hkpc&>X!N`(+MMa@F+n&6LHlzO zv|*iEe+zhV-cD72b6)Bs`B%aR^fdS@d(OiozwR;1)AJh@e&n%8m>#Bn;MOdY6eD4s zCAE3FZla%wm`>+$$DIL6WzrszjbhFv@~Y~Kf!ggmDtXv4P!skz&1wW4gRK;MY~^os zUtNdFPd`>ZSIanNLkDc#3g;My?|J<%#0Tg$&;5T!eC&{Meoab9t{3`!F_nB9%S!*D z`?9opK*z6S_mGh<8ki{*0A*d-gdf52OljvlbO&FS?F$hg0HiD2D86}7*iSeK5PdT_ zruNe?0>K>o-~3fLz`KlF3#0@6s)n;p@J4+~2umX_S-yauW0XNOgI35ikZDny5vln=`V!RW^3cQx$sJ`}yEMkg_t*?7K&AYC*c{mv1MO;&dWOh# z1`;LtgG>(TJaOd5d(fcQGNmLy!OvYs?`0@2O&q*v4_!`4z4ikHVO;@Qk?2~BA?c#{ z-oino_~OU(Ek9fgUoRJKkD*>g@W&y?jbo5je{}9@qci28;$35UU?&~E>sMM$T#tCj zo{AIF6vK{4!1f`AfK#8btMY9z$i&RIFi|96G~V@SX`&1q<{o;+nWNMz6?M^J=lxTp zT@o23`z`umKOYmm)-hLvAhX`XKcJwCdUl=%r^Ek}Y{FZ@2;%$KEmkZ`mxA0_d@=f! z>e8kLk!5y>^<#U=_<>n5lu--VbKtcf8AiwX+x-2mmf|nh0Df--f5Z-Rvcv8x^ zc=fD9gcT&o0mDvTiJH&uAFlCvB2VauW01Aic-l4qwAhoJf+lnv-0Buv^=F8$>4{SN zW>Z7{-G{FZLcvG_f7P@Jma9I*!B&lY4HtOiv!2d0F{6qRINht9_3XROKg!p|uR|m0 zaEpx6qf|h=XPmEwrMJ}P=wIr>v*|Mf5iZ+Ekd+c==>1$*QsA`axQT5Y*gtvS3JIhMqm2mXpLH9 za>LU-0xw;jlq!goe`6>wUilaQW%U_@!)HhE9_8!kISgf=HuS%+I9HRK%LEf)~=<=fW!~YW` z>il3t5`K-fk~P?dXJ<^4G(B+v7FGNwMI=k`Pl||DUSq+(!7bHGW!myov0vNX?^(~j zkzeH2dMKKT@k{xRSEst2Ee%T7pa#my(My>-RkZM5m&L`}=J~VFQfFTZM3$$R12tMy zdftVLNIF6O@U?AVbK*nUTv5WiUnO~%Wd%7I9n+r_A2UHfZl#YNA0VI?Px7WYt!GPW z+R&a9j8}xFYg(;%V&>@q{V4VlF(#bxvA{${`nK*t1&#!b0h%@78ijtKo-wX+)%{#F zs63hRa{g<54E+$Ga=(pvgDZa8>L-A@&YuWszgC4)(_Hv3O6ckPh@Ox92YCcf=%7;g zWaWO;r%$;hs*+^TYLRZmZSZhECq>>--X_Y|K>;e2U1r2*#AOznq{)bf*~WQ`&|%iZHMad^rxi-E>3_E0+JGJdc)WNAVE$58~3p7Ones7|dfSKCn5>V4pg8^w7$UV)$g?v~7P$0jd`Y&m;RiL37)3rHl zT0y1syOEpQx}OOnOi(Sz$VCg>wT*_2M0fnKrq_CaflMVsX}1`w|DjypF9cc4?unI0 z731DuBKfY*$wzU0hkBdEb6T5eU$#b-j_DsJ)qx-SALjfJwfU7?Hl1aMA4T3gSK&>h zOK8)63fSH`^+A8WLBgX~FldA11>arOk_q2>;sEvO*6O>!(Ri6c?_|M|s< zM#9>rIp7=|<)}?b1c%H^@z`v=(B;kQg1*hD+srLl?DUS>#S`$ut?cvpdpxx5m}s0N zsi5b~vtS$KgIYPo1oR&wz(S6{@H3r%)Bf7lsy3`gQc4owjOh0ZQBfYmH~bbYVvV~G z6C1^;9vwVTjY)QOEiBj(JpumE zT^&NWNy2T(Uj87K4ocu5)UiVic!+T905;|Pk&Yepz(b5<$F5|r$D8e2MSQqT0)X%N zjO{yw5ev>xInNa5>B6HxnxQ1Rdrmh#Q@k4xUkdz4M6nYoJ#vUj2p^7&!Gjr|NXmv|NsAd z#+dxQtQ|7at03op3nu;J8IO;^3q1lvRR#YiH1Hnw->H(C{})GD*wijWPMiJzd~E;y zr?p?XlweW!fB#qij#KrlBLXj6&;FjI^q=q<23YY@I}vjJ|M0fSxBkEe2UJ6M0XETq z^SInnz<69({}KBEXr2}_r+Rpbf&chT3;{=emKu}s zA797~V2*a&KJQikGoK_coU{_V{EOf}eYXI}lsD)8|F6Rg<`<;;pJ-GxY?h#(EMWdt z1Y`ju4u59LN_YaxznA|09-CSoKa!Z2O(GgUUM|s17IlNvmIutAqR0feY5otquc!IL z*0k(d;>XFUP9O9`z#4Y!=O{fF;NcVlWB}bU637_-W9bE8{@bl8flZeJA|t;+Fro@f zz~Cxo?Dmk82N-oHu1;#F@c0!6}si}3|~2pV8bpC{I=^bq+G>fhJ0r(n=~ zGC^NgD+|~2E!L5E%KX)}vwx$E^!9Qbs|`DI%eAU!fo!W%*Q2~wyttY6>V`?W?{n$V zahTd>JHE3YIYtR$$HQ%ww=J1e|Mf(k5*h#1MuFUF;0x`rbLK=1aOAF4d~JzC8Dn9qI6OE`9_AI-kHyA5)n0WB`@#eK~#&-e{L{*z9_;xRa5DlG^Go zMo+Q~=SE#-PsCZ_oJ}q;*N~jbyw<^dJ3&G#fF%RizpO)j?gy9 z>26916z3$y&x^`P!;hnpc^m!k*9{E70UwPmyOi}tq0Q0Drn3@hlKSS1pi=Bb}|?{m3v>x62E=H6i*>>V;mT3d?*XYiRKRpve@2fPHt|TNKh`j@XM2 zNj*S(_`bX1Sj)Fo|1|c=mG5stZkx;rAVWN6Txd5hg5G1QFI4hrk*n;BRR+yJBb*&> ze+khHGg~1pPA1a}^*Rbi8I8bGzYy^SgUQ_=KVY-!5)X2{&4SiqWnxxBP#30q9-!PXHfv zsm^Fqs0Yqu_3H*etCQ^d=X`q92MZ?jxlEpWNFMf$(WyTq>9lTi^<>vGg|fwEog!$+pJfo?T>0p-_*aY|zy|VLoyGVg=d$bySa|DKCOgL#v&(^X zY2B|09PZ9)Rlu|oEHreqD9-!Ea6m-e)7|X2*@g}DQuw|wDt?Xb`Kp;YN%VpHo>v_I zIDak4Gb~QzfXpC&s#i>BAQ9$EU<9g){d1Y}dptuAsGP;FaF**qg|nUNA+2yI3pCrz22)5yibo|g6eruQsMURz zq0z&2S%nF?Rmm669RZE#F=dVv$9zU~tbs9ix^J*5agVXK2Bfc=ght&?A<2wsleCht zq;gM57s6mtgL%%xnKlT~vZL`(G9*dRK=)GaE(c$~95UQ{6`e7S3l+X za?K)n0-yT*7h?@BOfXF5+3Fijc*qbv# z3NFp%X6r5g6)eG|2t7E{g=Ec@7{py3jEZrVmy7Ju#2@7nzDFYy%$S&2bO(3AsQ))x z5@LDR7c2lQpt+JD?oVoyxvKMoNn8rnX+j?1Z7)7^jZzMLk2fm1^`_sd9|6mcs;Wih zMhGiDyX#LHLRQzB>c>yCfJ;DW^?8@xDo)g-hGR}0T7Q3Y z#Aw}If%d`tmcaXu>G#bP>v>9vQy3mhVjbtNU2yi_uLTuhn~kPrb@)%1yma|liME=e z(tnP;?CvO%jaqTJ{W$w^cIp$mg3L3GITAlhJMCt)cTu^L{Y9&gQq{rvmLGfCP7II} zk-U)n2#B&w>AG_&Y5Q_snmtIj6tRtngw&yqI`zFZgd;DDDWO%9Vx^h2zHeZPz|lfe zypNP-4*nVpS1OAm;vG+iM5o{lCb=BvZ+*wrYIWm$C*9|h^>KN;A@gb6!u|U62YaDg z*W1lb0PuKdi`7CeYMMBHoQb8W-d$xNE;xy+#B?yv?(kmF^l|6b3+^3o^>ZRVe>4Fj zC4Qo58cC3UsRmIMtlpy$Kj!}VI90qA5ckrqDp2BcZm_PD$J`gtDYA>pWiF93%JSm! zcr%So-enj<%~i6r=QHfYa14czafnA4v^o!5U(J|%8;!qp{F%?tkn2`qM{yw#$g_43O(W4@ zZ*;Y4d!ZlLUqx4g)Tt&{{4N5MmAjE{62w zk>2(~G6^5ti45y(;XdKa6J>u(EI#H?AmsjjZKo>(+$Z<`d}?>->(xD!pT)Gm$cPbz>SLjiqDERxwvp&v#DNSU9*v#_(~7kFW|~!QHi*1kjWrD?`r~=YRytgdK)M$Pnt*?U--0N)GN;OXe65EO4N+D z)M%^fSY+Y_S{0G$&kmw+FpLl$KjxBpU68N0V-Es%)G`VTizGx|b=2L$aL^H6^aDWIbT(+C!jJZc{9F< zCsF7aP8vxhP)S$p*bk3{q!&!1`!%@TJ}@_F`1gY4>RZ9QBh@_lF$`i{m$(7u_y6KT_UTp<`U4J|}f7ghntnH7RMLOEV!mputrBvO-Yo|#<+Wx;s z)1}xfe&sM?n#6~N!Bs*d3!32scES3+yAJ^Xe(RH7Q)X;XvyYorvT65dYVEF@=9Lh5 z`Gmv{q+LH)UT3;TXSG-x)%fL4;v2+J8YqXS5Z*mjvyZ>ZtJOi4S9|XuqU+NEsh&!D z>_nBfFOj?n8LGJDQgI}UX4EZej%P!}h<>NW453|R)_W<98q8~6!jZUM#+=d5;IMtv0|5g9yO}#0tK0Cw(lc3R$0aOZUbB619dBiQh0|)L35Y0a5%zRdq*iAj* zwsl2f7hqGBN~Q39BQ}#orpf-vKr$xUHuFT+aKA?WK5I)oa4$j#!aZ#A4JD|Z z9-^x5uh+a`l?ktXAZ9#n_p@Ofs9QgHD7J^)ZwS3`Osh)kY>OHDf$8u^#hgD+hATu5 z8$CQP=-bSfkQTCCL4z-+ZdPBdh5)4KS|?OI;JigQ3-a z-<`k2@T31jZQayHvBfVH(FozG7Bb$dx7uOItMFmg}$wI zd;_gl2aT#Ef*c@715Fgx(M)Y83gML2kXa;oQDtAYu>t3onCc1h;kvz|M63@}DniVD-}mA7lrW#+iWP}JLXKD9`>2JA90*mw-3`^9 z<|D;BEv(tn+C}ms9=9o~fW0U@f8v5|4A}p=d?fn)d-=p6IsU)(2h94)%$KnxM^j*aMVsG4*~eX5 zvvCn8HSHdM%B;>3&6hA9+(LT576FA1YNrQd@dor07mm@i+t^s|gSI}tc^SLKzcXJp zt$cG`9I({sm)K7N`zXPrHS&AIdTdJpjhKf9jE-LcngD!%oj-(`UO%*6{e=(mywyA3 zZB`ulB4x_V?5-}L9$68ADZ{bRXG6EwtWd0-yV2RZ#dk;jcQ|MFmwvQjVF(Oz3Q%{7wP#t+lmt-{Mk=yoLH0P# zlKU|+Yj;Zp7G0~PiU@AV_9PX?|6zW*Lh{J*Gs%b>Wvb=^0(CWJt62_d*A!JPyM z?kz=QtYF0r()wJ$8#~9E1 zd!I+{xrH6--raTcU`1|OTfnf?5zt6EjtjsMA1`%}s^|@7N}v3E-eTvT5FGYoFPlB( zO|y*Xl;ckcl_asUm8}ly$K|3IcBZcxW1XymYDqt1^?$>(=Ge&(+U;XuBfTpkzQ z08PyW(aNg7Q2-k~TAfl}vX))pZQ(q6Kviw(|Ond)}F z-&1*w33)|TxCGEJoHjxq*97&k=L132G8Rg9^_+cOVKco1Il8>=3Q414FG5~YS1IU; zn0MGwyLI7;u*P#sjYo-)WlQ~Du5bv2sLBJBhj9fg^1(n)ubT^`_-lpG@sUCTD@~EW z6dImdxpB4j;SBHDX1>qqnN9`sliSrmf}lE9ow}ORO7`<$Cl&msvUf*JRPEBpQz(UqP z^mp>XdEeh=)0LuDVr>9PKuu!rg*G=c=jusoqakz7|4?2%2XI+BU_-Q^T zAzLK$0yvV?vSP-$a!lyzZSGVYO2CK*4EU+PRI8uXd6$hk`|Zj94$+#?)xE|kR+13t%ffk1rniO6<%@N~QLKzwiQi7^?rg!i8Es$*kx z>K#VN6%(zn!Bg7Bc3II!j0v_jrgmhC5^GqXA=N4vTZLb5B#dTB$hP;zIgmur<4)yv zu^s(^Ye!`I#G{AIX0w7$U5#9pO7J|3S;un%mJu)*>uN9eoCi;tmYD*y1T;6`B=9J% zc=|MtL|3K@2WC0xUUhjkoS{9=no1tQ&YFR0m;A88Y1+Qh%(QLVeF$YZ|Aq#Zdv>)> zgeNw7ca0_L`%D`SUp^@7&pT}e#2~!6iP)OQ1mhDpOkJ-R1vA8w+y8(> zKZ#!J5a_=5j0L8zCA-GL%jXR0Vl{N!>NU8>Oxo~p-WXWtyAB_uCsYZi!xaZ_hz&Odu1%KqC#>02ih?oH(5&&`wu$R_x+KSDqz+&O=FJ1 ziD6gML^Awa+Jw9y@(2BuVTMRuRm|Yn}{n9L^q`N@=7@}8W2HTu=Rp+!-yQ{I` zDnNy-*uk4WeGz_E@arpWMY4lhVLsJvlWy@23zIA)l2F$a_H0YVfJyGA2HrW9t0PuH z-$gI(wyX^_2*mtXgMe$W84W5%OE@&WI#+uN)Z#7O&!7_b-f_v_n+?{b)ZCj?|8P8r zzscS5x%kY6SFiG8&Rg3FRUpfZ#Vci7*s!$0P}#)YG37>#@pAV6vUeELZ1YdK!pHk6 z`uY^2I2P&zpF}1-=_f$aFYrUZYseBX>jYi788%^$3S_-Q9!|fJ%y~h}_c1%hvtGA} zhrP2@kzSQ~72_yF`1&jahu^vaJCCbV)A_5gZNQg}t&vP|#1t+2Ax`kq^f#8t>lT$- z!*+phYlb|5(Bd2U6|?gg<#WMavgWT)*^N^YAx;DR)RZ+4=aFq$jctLk6C zN|GDn=RlS15h-i~jgZU1my~Ay->^62hwp>d9x*iF=$;@Y&5ItFe110w)tf23?u>3% za@ze(D3>KxB^}s)7tF8(NWvD4F81Ffl$>KD($xrv`r51O{VMGGu(a`OLAHhYb%>Xi z6h@7&^C0eO8jf>Iea|)9N_iUkA@n5%MD^i6$&v-lp5oJn^|h~^EF2MtFpd&iXJMEG zNZY6JDp+Qqh&c@ZCcP~0J|V(Il{V&^WS%S-t4 z>IBIfaJ=a@s;fRBDFl7)Ai0X4>f4%gOLLdxMj_V+E_3Y%wXYX*2hyhkTtW9Im_(a@ zLW>&wcb*JP>7%`zzUrBNBV?3dn3wBm4SQ=OD^rVB&rtHjp%PQ@$d?UvPYoO5(amX( zZ!XnnGeM&C0!|ZmSJvrjlNqMHk2`BV(Oc6Ki>hLi>BupTPLkjp#xRE5)ITUIi&%A zf9yykh}&s2C4X&61Hikdd|WRJaB4-@gIZ#17a7W(q#=lL7s3cj>A&%- zI0)uFa3EVgrf?262y~v*`+7ubiuCn338Q*4Se9Bn>(z#f4=#|6(=bw%!(QjE6dN1Y zyp=?98R-5BPAC~-ZLl8B6issg>AITBWLL(>^q$6(w6)Q>?r{8GAbn|xw?|6|>O1;1 zZcaelC8+7UmJIOA->UKy_8<*0+asXdrOJkxUj59uvG2n5+I=djw&yjUW?sdsxU~T2 zzZSQKYl@E=3I^sVN{}rBmrnVRKtd*!eW7 z#h&5|(!=xAR25wT{o#Pq86!`TUF`1EutF1v55gesZFh zgi>0&|4v=qZ)et?5rW(4Q1xc}{_=g4f+D-+7A-!9MRxD0cOBihBqqTV)RCH@7Q?T? zGnETD98Z6n`#DkOi9DEf`z+x9`ss4011c)!aJnxFu@qukX=J|GpSFE6lT6{ezA1P0 zs7?-{I-}4RkD(EymXtT7v){YUJxxj=u3ZFz#%SBz>`u$3^4lL)Tpz<69Bp48V?7G2 z8=IYt6f&#q&O+)PsM?(zyj`(B+CDL0P-SO|fV@8|PpLClv9x}rCmyK2VJBo)Zai*3dhIY&ALAl##aT+4n*IPYtbO|NSq2vF z!D&}5I?2q?ROL$Y3Mln?FDj)Dr5$9Xd@~ilabW->fr`$x$N4q>J8l zkB6scIxph)heX5w)0X`68tKk9II<84N0TPVudjdNNXM@U!k{hK^&K&LFNqPJz<~1X zH0=?@8F5Jf^n&U{y3bB?j-5(TBR((bb((eB-QGhVT%@n6M9PhIdW=(aZ5FlV3>@F7 zMV?U;|Msek*~@U+c?x1dt_t67+3-RPzHyq(DDyA{hg2UF^_Jyehr&XE298wbD=Drd zW4uR^J{z~XZ*o6|uiGpNNfvaHVXc=0R8YyZ`m`^oG~Rt+)G0Sqi!@XIjjJxwBBh4I zb_p=3(%zj?x_KMs&u^JjQeKBBW(lcbnWMOrLeKAZV=)G;nNP<_lhkk*uxzV(CI;2G z-#Bo`kw-!b5Bblq_`Sl_zWskS_r zXm+!K)+dX8MnRrG598RXZ#IY3&A+6L)b5gh!YTgntsqM|m(;L7RiNQ|zSg>oV+<+m zqd8`1w{opi-}_Hmg(tYAz6RH^h?JyPNFwB)pdEc_Ta#)@D)i$&xQIk3rX6DE`*Ku`|5d^# z-@))4>?_(9Itaw3d}ww-+%lh^^eqjkf`=@cI_RIimAB6>F>bA5*Q=7UnT~jnS*D(6 zP|)5NIbN6Iz{fT76OlWAn{v6%ow?o`f~>NM_WN1t6UD1I+4tC8_L1!x`6T0D+L6#+ zpx~ec(|D~bRy$;#8EX=~KPD@;z)$K-qv6yw2#X%{Y-k-cW2CRkH}c4rtZELTjM>tOZ+ebe|=W zJ!K0=aRzeCsU6;NpZeCTaFGkyeWA#mg@`%cOc4mpY?xqNizlcbYUB~8k)Ls+u0&BM zNI&f%MYGjg1lOQfG3aR5ak)dpe%7h(EaYmj6{)eL6~2qc^jgm;A(LDd#*uvKI#q2DOL;tIlW1j*Zb#r@%9&LdKSac9-yZWRH@ysI%~dFh0~K#%>(fy$X8hFgZ4)YVp*-R%p| zv{{5Eyf}C}OoaEMt&lYT?OiaC8zoVJPI-1#5W{Nzd#crzssAuye~@D!{bXAnNSJj4 zH@Ys!+?kk&m;DM=vER_4lxHeYr}W1>m&ks9XVXVq263VKDjb{sC_foyUUvVBtqbi| z>5)AN`?H02My*!_WMQUuXh}}06;gu`PL|VXmtUi-vTT`mKRi1*AIMrhha>r?t{)mCVj~|E3+)gwsJnl6z5mJw&EK_w;HRSC~m0mX>RyM$K1r+1d7s z!=wFFu6JX2)H@%$7VXQn^fpG^DVbtCxxUTZgVZC1f7o9itw1B2{O+o>Z_|2t32!qg zJf-9wR~EshfAoqEeU`lT73w=7>i5qli7PGKIIC4iz#8(Vr(UQZM>LE$9*`WHaGMi` zzC5}1R%osWv{-z56@)Ul#<@h>@FOrUVC*=fY_9dVn}fjE3}8bv=RJK)cnCHKRDzoP zMEnXp(mwV5E}M!p)t!Dv(S}H+x;rTh$cb_mLLXDpV2qibo#5d;cr<(AT>DwH@3gJl z2-F`uB;7K6JuCgQT=fyS@~;@lsdB9o`o(_;F__Z7fe6tvAJK1Pc|1jd`!p(rWE3`P zEiTwf4K>I9*&mdHaEW_hSX(+T?VqxsCei z^P()IMc}`}GvM9J&tEJ2i)%M3A^&FRzx(Se*XBYQiOq15P;-@~^2g{2*p8#&L?rLF z`mu~iYn))oztS^UXCVs&n`7xya|L7%4oKfM@quqI72|t6Ge_+;6l7=`-K4nqQuwv_ zY@K~*BW0xMP6ov5>Z{Z`ifngYNeAUV6IX8eV1cFasFWP3#`(3%VuUq${z&=qtyA9n z3S4%bQD!z-UDtQvk9jz=5;-#qtlSN?BO+xR8=Q}zsW2d4dnMiqUdFdrCv!wn?g|h;;9@mReW5eg~ zB21Lp@qCI4eP(-suWY)Sq|_pGT@1#yqYVgg!)SowAZ@u`gsjN_2)4*uLn2b%SY6r8 zs=6aL#lwFqlDo;cH(r@BGBUw7ohB{I9OFZ*RN3VFX4lC&!_oRL(w9d?SV4P?0 ztK*zH$k_Yf_<@Y18ogBBzKJqiuTG8QF~OefG{jT>^eHwT-gn}kLkGB6&FaEW3%iSN zzUsdxn5hqB=F%?x0e6?R%1DwB$ucR`2pNR3mh9)AZ+Kq2zY98}GHV*;u3%9wg%ES- zzcN7z^Z1Vjs?xwpBtC_7l%v5)ejRlqSYH!`qKgG)YuZqj`d&Y<6sTk+5HTs+*gj@Q z1WMCg?11}Tt?>m(RIt>VcKT`QQ8#`Ua9(GP-2HtiyL0SEPU45oN43N<>B$}^K1LPS zx{ns&u-Dx z^W^i`qu+ce4GeL&C<0vh_=3}bgKWI7GWNfXH_t~O9#%+rZ4srX-mh4eS*mU#N|5)f zdo%!_*QTNaoyc?MG{>Vn&_(PJikioOT2FHbU95i$W4kdVqi8^H5w^u!^f^d<&U_lB zS*WU=`nHH`B$YQV;`xwT&QZdhU1BQic!w%!E(yEA~?>gYOv3xw!7DTvQWUEr( zRB9e{D)}x{Fy!U{8TceD4ZWnsdPOg64Ah{@mHKIsr(*T^TpZ(?ORgf-;8a|~~pPks#9TIeGW~SFpx9k&k6d==U$&3yO zK+wj%6PW{9r`VuOx>g+N8uJjV07;j#T}ieBHoq-bvOqdsm$QR5IiDHi2^L<-=jRi_ z8Ct1t!SBL?Yqfrpe2A?J>|nr#)PEBG@{^-1s7|Iq%Sq`4{_IyRr^j?uvk)z(5#UF* zmQ(ags@YQDfAmzd4O*wP5&{S!?M^V}np3^`^9O*YN2Y6?X1#AXV{u$RrIistOgdGY zACs3Oy}yf*)s?$jff){=Qz1hLfTkZpu#z=#&+xp*L9fm8_*#df5{VA1^8fADffkru zH+Ai#jL(Sj?8U#|u+>mCZNffvpV$1`T>(dVL5!nXL>*B!==$>C@9IV1Qw9m(-1yl4 z^SMcVdz3Jr^QTyZ>HpLdbEcj31`>I6%0cZ6fBuRs|7q)>MU7P|qUJI-luJCUq+X`w zQ+$UCXq5kU1KL@3173Ade3_>E4>ucFH7b6Vw;!`3`~Tfr;nb4~OjGy&bdsOZMToN1 z7v50z0ri0Yu%VNou-2lLO6pSor_b&M${2d#)b(&E&%eFMf36=z=Cl0KBipCiVgLCK zz5xy@T5XE|pUx~!;xl2ky72$bZF^C^!~8$4Qy0gu#Y=58OPq_}Vex6&h-LIT!kqCb zn>M>#GIvg{Vv2e^lS;YmMf-r#rN>2DHI3_$m)HNi0fEV{o=(Xh0bWakMH*I{e=0Xp z<#csr{uUXC*>CL>Uz_Ruy%$dzP$^@MA$!6kzp|{J{4%}@6iH(YyZ>i|$@R()Qe%w` zm-~#48r%_1#Iy-O?tyCLGcTW^w0vv`fHxsl^WKHxlYbmK6Mva!{=a-s5~oC8-2o?t zEK8X*{*$KtO_cf(&}}q@Py;EE_q`>=;Dn@CpnY0op-aF0=a5iYfmf@ zSFZQz=7$%Mzj!;43XK;K^c5ktP}Y3K@N%^k zw8nN;eK3KIA>~b&-2PP2C6hv;;`w@HUanFaNtJm&jiCSi;rFRT;yTft|3v&SwqV#$-ILGDYcqxpPEC2OMqpPfp-$Rkzp9aDFh>wCO?^loE z&Fa^YPULM4P1>LM{g1U$7EB=NyNy!dij~||HkUCEkeH#cQh_uL2>4wko1K7fuhtJT zymDh(Q|!MvfwR}<_N9AJR6j&yTM;-8(Zdc)&bvpPvdo>*FQyjkM&{jp3<)!|J9YQe z!o}fP&<$9G>=G2zepaYVC%?7a=ATyn_2t*ccTNp0H;4}AGvBFje1baSLVOm|aD7MZ+O^+Je!M_r~G?_oJaGzuuJiX$grGpKWjoZ6GET^05`9*i@k|2VnLp*AvjDJfy{dta{V z?hlRJjhnpQoL~HK>6`canKz{cZ0RUNWZuK&jpKOnOgm}JU;(Ao0LY3!h7Gwf4D?~p6~Xo2 z$t8$I<_;t)8T;HlCkFx=e#-BRW+YJydkO})GI?QlWMD8fV52LfX+hzsBA_33xnpqH zO)Dy>*&&!l$4lvB_?Ks1n}y@&hpt>7?uP~4k#AiStLY?f>hIqd_XD~{Eo9yM=H^J4 z3JwCy^)W1{h1~vpLm?QV1)ryE`fLmOKL8;OLr`0qMW%-$+GM}CW)QKkC_UG|;>*W| z*JP(U${9i&!3pbE7`?uKPGdzag*_e`AOV%}EpTN}y|ojk>$DfqP8^?x#{j4>86W;B z_qz6kv-|vc`=|1i0P$I)8hX1iTHjhV%<{0jA#H)Kk(l-?aI5phhoi5rZD;(Ki1QZu zubQgsu1X!Z-?RR7u6B|Qn9Tqzz6P<~{kOo^a62fIgOGMe+=?HmW$ zK0o3&`TbO|sGPua{a{|2Mx{R(ie%S&jpvmv;5=b;Ci%P%F}Q4a2z}pjrPFqdH50i^ zoA`lNqyL>AFde;#&6xq^ltni*6P&;=xax1R0q^u(JH(=b(%qt%7^>u!hVS?fi+QO9 zkRh=Ag$#UehbU((U-IKkhCD*SXT8`S;Fv5>{Q9kW4tXPf?oyjtbv?VK{z4pH+mAi< zlz3sdH+7xy7Pxne;9*CAN~XoeaqD0)et48*SN0} z_#;QQUOE1?H16Fsj5g1;J`)%hI9ZGjG5ncDR`Zk-ftFEfG11O8m*SU`uiDj?-Hksl-aA?k#DaaOxe4qsE=2vN)@2afKBY`Xm zTSh>FjR$MN%Z*#NHGwasY<}P4{UO1mIR?>{0G)USrG4f}9RsB2WpcWZw>;)GcdPc>z#}O{Iz9I zp^C-SSJQ8U1o@Aybq=9Ut@ry-za@gw*%onsup$jXKky=L1mou+1`Vw;kGla-b^2x@ z;N)5xFN*2S07F1eb(;8%x-8?dh#2Z=(a}M50G#j2@YKsKf1U4ewk}uV-oyjMG zM7gx74#ly%_kGHmsI{H7->2)jZdd1;k09YPKbWcwQ+izE4w&y5*8tuo3);JP&+4pj z#T*Z&cSO^C7K%4~E`9p*F$3#V`lD(SN>t|(-+(03s=O*$hFD~c0@CX{v}=9rsb`Co zu>A2Y=61i{)NGV14=zQO8|0TZ+6#an22e>Nf008lvRh=qpmk+(=ktYXu$4-$aMzCC zO>o&cTdkXS-k{c$g~LkaP(Hht9mn#gpJU|xCAxV{_H*Y6F@B)oD%J9STI^zB8}&Y)+Kb`l{XIkVTg-i* zzY1RG&>Evbz*fh<;67om)27b5P_qZxcXG7fFQUopqE5g*%i!O>sUP?(RX2l&=_N9$ zEbjj)GH*ih&wYk65ugHR6dZLCyxh8j_hbo`_fLHLw*J)Ve%{+4lZV&7+JnQRM`eX) zCGq4!zYdR|^PqyQzI;vVE6L;J@(IebT;Bti(YxHh%UfOdL1E|f3Vf$H}=r)Kmr zK=XuK?tW<@!EW$M-u1G>?>b}iHe<(@3fv9J2in1Yd*gjd`{_}%{dl{@pW~7VSbcTBN{%F2cHi-wk z7VMkF+X{tG7L5IISZd1qe*xmmI?g_RVU=v7o!EUvgVA5^_G)??v%wysr0Kq8K9B8y z?vyEa9ZqJdJHw%O?XfPyt>_!tCAS7(TbgR9CDr~0_|1YCrlde$*YZ4txexcLEVsvd z*t(b%y1AhUZ3Av5UYs@yQTh)jl^(At*1?dt?fFs*Tic2;I7RKjf|E+E{47nY-KU#{ z`jbBpsg+UlQ8XGG%fMnsxeSYq{E>U{+M}DJ0HePpSt)}Wo03?^G7awIYCxO~IhfG_ zZ~538oM4qZm$w_i0($y4foYQW32mpa<~>__WIgP(1tapZ^^p%bxM!(#D%G)X7;4{8 z&*s^rZx!r}60p%0bB1=wgV>EOwQyPC56pHJM@9b8C4OBT)cbNROn55KsK5LN;>8cl zFaJBxIM?dGgT{&JZfi0HtWz}u8sl43YYG+9MU=RWNKkEa5(izjPS=pR8etwbonz=# zj>r|E(b=Q|AqHS3{H)Mr)e3(1Lpt}v^zsB&{!w#A zXBOffqc!y|p)jqP{oXpfDtW(jsHU&^_{IxHEm~H2BJ8MerBi~#{{02e0I4l9E6f0@ zbV;BR_~f}z0oZsIY5$C|(+p@S(Jas1hsc(*4AClHumZK@s)^K+vM~@VXjCm9h@8gcf0dWPH#LuBtpiVSGFP-O$FV~8t4zeNy@CA)M1-_O9n!v=ffVa?O`I} zq)g>+nN_77mRrlZ*Uoci&sE;D#BW_aXuZ-4>R~-jEEQ>xqk#XGH3(}*ni*`7KD50} zgLMd%tVi)xIU#KVp-!7=7yasY+Ws#p1ZaPba_wn^=h=q$RUQ9&LhaDzmrw@z^ZEp; zrOv28h{L6>5FkjF9=i0>kj(r!W|kMvIfB9 z5UmTe5{{m=zchJ|!z;Bx6?+TAd`-E6hDsvFftj-Qp~7$9%3O_xhNu$dR*2GZD;`b@ z5Q&@0%~@=-l;P9x0*@n#7$=auKL8$z&R|$wtwKwWk*=HWOP#tj@$|lYc4mr*`J4J} z{Suig=7ex7d_yK}7Q@20s(|+58AGA6{%%3n?YK5L*1(uT(%yk<=Z{`>s4_>!*5{`3 zQ$-im#<8=V`73u3;#37{g8s0D1l8vNR(C(i)Y@KUyitCGW}DvZKifuY?ROPBm(EcKo-k7EAY! zt9*T@o=fhJBoMP*{b-r~St9%1sU1aHX<^2((E5^Kk=EpXj;lm_=vQp$2V35(UJQ?EZrcvkGYB87&1q3FICDLrH0PrW zqE}-19#Td4V4vjCUAg_@PJ2K1QH4Z~q*3Yx!A9B?QQIbZ10Vtt5?@rJ&PY3p{ra@>u`Xfq_3u zKW7$+MP+GszYbW%_*XLMgmffM#ZmMwT4s44VtkE?X=o-&5-xv%he<_`(zQ zEmrJ7B35nWWY;05gTQggICdpForW_@;CZd-2-kc?H;XF#a}H{sJ9puye}kP9z$hb- z0Mj_=JBUpmXhC&SQdaqyjJTN_m*;$ri9R7MU1qz$-1qc1U27JDtEH^2;$esX<5x!a zH36hywN6eB+jCtX6=~K+(PzyVc^MHNGx$dewQ7@28R%S|%X{`<K@THQ*7CgtY;WxcY)+FxSxTZFLQc!V;`a4&6Iq_ueRqlD~XWBf{QM zy}FO>d?fwk(o8`0kk8?dgn`z(Ks>$XfS(T~G%+u3H`dKxqW}T=ZuPR9fTP??|fR3+_RXawP5`!#f%g3u$MGw3oaHzyI~z>3`5oo+6Vml zAMV}usQN?2<*@w%d^HM%Ul(RDM%?X=^$&bQBEEBG%q!HgCX|iS+~nAWGDK+QME8J8 zNT0{4=S3Wp-JMV8XYQ}DEJ7&v4RqhVb69L-Q0Wcl0-YfAo)`)+=H>Gx9e6qna#-js z?SUWHqW-DiMn?XrTm)TUOl~KFo7mMY;IB@g6ijbCI3ZeLb-&ge6ch<*>H*t*OEPDd!#I(iKM$iT{xV zPtCn!M9SC8?5K#;>0n5zIebc4iKj=aC|&?d0NI*#A-~!qyHnINWJ?mS`pdD8p(Z+! zEvBn-fu?KxGBDvR#C$U$4(9zaTfdMG7t)sqAS`ujE8;oT+9Dv8V;iID8bU2D7-NWj zW%sclt_do>@TpgQbUtb(#YELc#xc?uFtaT%XN{}sg3l|fG0r;Sz7XhouFKKAdtfIz zaloK^n#8~{wBuZ>@$KZBac(w@pcK})GB}MhCz1sOHo+!5= zt`ktWfm^EVTdWss)YQ%}4Ju;g-mVzb+e#uv{mZU<#e81;%B||m;rmyS>?;%%Nerkw zMfmz(s*pA4_CEAoJVF>i`K{@m8~dpFcpUs7X?W12Ov~oLYC~pf%WSG)az6#laz41d zQ@pzm+p70QaNCV$`kqSl-iaTWDk z?e6#ibb8vsz?j)syIIs(^!V|W>K-r|zKPM--G0|o90s-R^ZgmN{$+iTQF8KX7-<;_%~Vs)mJA!2#-IczoZZ7Fl&;|Np;CSFe}O| zNT*Wclraf8QhW|x668zV;Ewb*G63Bml$qBcKxsE<(f(@)wjW{(}tUMzSXzLl1-jg;;)9Z8oP zQKUkgG0pog{}&EVw8bP8-!(z?afaV@({)SA=Ck@2ecI2mMOfzS#P}iH`Q%{k9>n=0 z2a%~JCPoC(;`zQM)W#8Fue3Q>`^X$Xdd#SjLu94KI=)AR8q&$;AJ%#1DMLijFefGIp zbf;*(z5Y^avibddQwdQ%o)~NA$jn!LO}P_?rQ5V)>^0I#kJiv1G7~~nGpXPEV#g76 zY+7aIMrD3)-6~?bFUK;PJtFnlCDe<Jpxzgs>(Nu=&<*<`w7Yljet`VhW4d6+_8g$hWcctn_k#fU| zSYbexCdn-X#Mv|sehBTcMvpi;pEQWnf3MaChHrcT{PX$ze_DHK*iafe5uHo*Sy_xD zcwH{fS>#fcnHIq_-XA+{h6J4;*l+^*yeqYzleE#4r>UAfN=c*OYmsE00;O}B##FM zpadaH2`}nskgbwv_o*gO1I4`HRcZPVpcd|i^B!mytQlA)?Vec3z^A~?z(-X+H&95Ywi?NoJ2af_SN~1JRF}~gN=OxE=9j^XdPd5*fU*A zvDDYm3xu~syg@w7^Hv+%9O`v$EYwj4pOzn_=c)0^*+B73o(`fvO@j2lW0|kso*h*; zD~kPt&&xC4gbhta;vU?R&C=j!a9{IrNv`+S8|cx4&&;@X%@DU2Tm`Ta@xLl;j>*RN zMdtmhPO05UxE4;qjNb%|&G80}NtIB%WaV+Yzb}$~rpbbz2n-}lT&*AL*H0mw z#9gwn6y+S!$BXWDq1-!|w(C2%B;4ZE3$Mbz|Jqffr)pn1GNDib+I#?#Fo|=aj5X&A z=cS>feadHPNp9}mtdowwU>De^y?xF`IlC>{gU!35CGEQ(PaMZJ`5c#vN#73tq(Suy zFA%yLB+c;p*@Be3YwD?CUc~0<2r-eA(XCL-I!pNZN#H>?ELo-XsJT4v>Uh3J z9RntXRetr^AbV~l;G`~Krs>Ohz{1YKfi!jHpS3Y$sXKGsjeF|JbxIG*4xm<^Fq?SM1jMzl2MdD3RI0 z6B;jSpzSYIf&Jx*l%%Sw#`~c^vPi7PB@Z{KXaIJN+}Nxq*7#u%R{wPP^cLutg^Sm6 z9+R*~>8b#weI(ARMXfmeUD)W-)nNsP&B!x$iD=S?<5H8#TY5jZPC(<2x)*&ubROY( zef9}8SA4{^WGkKGZ%KT5E|nWxzd|8kr^;)WT8hCRwUNoS8pCrYOL0C>{+S4q21ng$ zkFs!e^8`a5j?ernpNe7$hSuU4B1)VO&@=MAC;NO303`p*|AXY`!_~~b4Fd@d2fQlT zgN!<{T=tt8{Iv1TEUFm^P)eQU(@3nWOY7B}k$qD*iNTnG~Ir zm8sGA1(->00MLLf!zp^LlgOY{a>+-vzQ<3iA5mUAN8@YEE*RJ(TJ>Ms*Gh}^MV>}K zNuotyFxQr{^NjrM!%6^ zVThz;R4kKRCgXSZOk{AuC+HgBDnP%&ydu>{k#D^bI?sx#-TWqB2?CTsTpGGR=PBw~ zlm%HAw4raAq^|1Lz7!@FQGFohd`LGpm36!moyPIbZm5lz4*SNtxZ*E@y_)kZ*w=6M z4WYL5X^KI93tWVfx6qMGSudMP!0W^PPXigqOo#VCM^XFlUD;BdMY~OSz;Oj1hysa}%qr)b>$=9@UZ zn!Q9tFT4qo7T;6$*JT^tTjz-yWNR{Mne3w8qu z2}cUld9muaVPn1^%NgpIKs9#nx+dp=7f&`Io5XlHby&<|HubixDJGG1=mf{0-4p$t z8r(FGa~=bG@$)6~oMI?6jkCAl?Q~m3PN{K)W36(Q1j|qoA2pZzwp$Va5*(@qj@fx z9~;@4VOdVhwL2|*hI)DR@!< ztR-9GrLh5K4U@?Jj0L_yEHs$4G@qXhW&6CU z5U=BXhYuk^7jF2F-vm`O=qejP_?;APvQ`8#*8}AA* z5p6rza*RBi-LIakX0UJ5;J!G3D9dGtLCtOQO5~;`y_6 zMN1Kv$uAu-FZ0<&HnT+BAq!@y|$a* z@72gy+`1sfJaAD#l<`Ra*413);I_okCH>f?$#h%lk?|zloLV@*FjE=wfny4?IGIDe zc51L?y++3F2Qk(Q-Qb|ZoSmz-a$Wqbgdz}DV?(E`GU;e~ zBbk=kq5>Z;Tz-qt`|Hf3Oi1dy6d&!vPnBA^PMzEUL=uMfXvL?{+A9KIonP#=r}XF% zEAC~M?_I8P=;_eDbH$FH}z@-UZHFM)^5yS z40r+F&fP2Pv>ER|I6nzNzLLdtKkEOd0YLjsmNVmbq|&xh!Uzj(fXVm==1tMN*=udS z^Q%Ku;oS;n8T23E_FJ@q4s+1#jbo(;YaItk=DLtk7wk9Wf zFKXPWECV0F9Gu(b%PKB^0@1K857U@ZBr7t6{qDEZ^>lO=X27x)S}R3u$M;yas8MO$ z+SQzG_R+C}Vup#P_-LezUbpy6u`oLKI`n{7W;g1%ao77FNZQOR{ZLGYKD=kFSg>3LQY?m z*Pk24zUQ=lwK{5CmeJYxHKa4%l4;G$FhwD7U4y5w8t%H=V0)9br{kR>+!PxX2{9+oAj@#y{l8Qy(-19P048(14cfrIgsE*2XyyR=bJ)!05*(m{5a)z zd-HXyiar>l70cK~N;YWjw!A5R7i59hiHcbMg;dWrT>p?($orhi7{_6d z_*F7OiR)FkKm%2vmM74kUF4*q?CK*n8K!09%Xv56V?tro&B(Dt@+9)uy+o%WI#StW zkCY9EB*~en+G^ythRafK@5etdG|V9@^ZsUzXO2mxTkmoFP<5Z4!L>F%_T2C3Hy)Jt zIYScMp%WY*P41pZLR;KD1MnmDP_^^;mZE#u7YY+Y!!Cc?3<@)NVSfn;k&77Lat{eM zDx$`o!osI`DLeJjr=sogd+$oK=SR?Hi;Mg~-BzX_%FkKbi%W~Y55}&{%|7;isXX5= zCuORhtINWoU-O{@;pvwyr7Bb1jyq@x1DCx8`U4u~fX;}nxDKYL5PADx_pwazt;@Y? zm-QYw`?A1Z@e1aTh=;M{SBo-FvH9}&wB>=_$1KVLs(nWOmj(r*1nw4=HfU+uqMX^5 zD;3+UxJ}^m+cE?GB^pcwrD=vT&~Ng;kewa;*VWc8@?PKc2j!bhPSf#i?{#rHX7#-e zuFtQAtsUUWVl#uHfmq@>hL6)V#Ku?xRbFTnYtE~f{m0mHtMEd)?Tc>ipWymzrQDdgfmV)D3l2Nu4h}_!x+Vsjp(3!Am(l8Fok*WmxX0s`ok;BcP-2@TEX@f8`E@!fP0JH3iNH;!gWjPVc0>_MuQk- zAk|V36AYx<3u2mqR98XFW+2sD5c3$gn*ex3zkdYlf611^cl&^Q44f_g6$3?u9{%W$ zV*Q`k^4Ol&-1^zPhri};f5!Qx_WCaH`iX4dluA^@#J`~n%H!9>a|m-}dA}9N6Q3uA zcZGF>G?QcQ%D2yIBwTQ>UI#65J_KC-&G+!w)0Gp^)+i%$9aezWYhQ_)@*M91c17SS zcc9y1@Vl)=3b;hvd97=u9m;}Zv{m+_4nxH6fP|RBy8X|~o}H20S^j?B{*yEN@Gkpr zU`d+O5byPNN8w`+V5jUz+UBDbtPu(bFJRrL@WcCn{?c#3{aEO6ODcaX-o%2} zk&HqeY>fM--s%)m4d{A%rRaH|ZxHZA;$CM%ZURwYBLmWB;S&+T_B8x=pNh|qEh>I< zemv|ubB9p4x-ta@Wi5UK9CbLcvv|5nEQ0YWxDP;ZO?o;JVv=ge!GH^06%fBN8{ve(AB5k{$A`exBv zx(c->+Y<=e1JaEd+FN}Wy7$kU09?i*>N2CCU`!B zKbe z?i{r2*w~;5+^BZIgjL%KuU8**11;UhVK@(;%RCekfIg5l@IBatnKF?@ekeIC-KOu< jqmJepRPIO$wmDl$10R!vp<-N0^ps)9%$*c3cFrZ5k9Vdw+|RXoZU^aQZ{P;59V zcQYsG`QVRiZsMBan0koBHa~)~euVpl&>;X?w5o$@QMp1_pO^0K$ISe9cg9}V(pg=` zkijr{6iJ2x)xicaccpqE{q}2|&Rw5m!NBo}!SvU=e_G0F>Df~W**U+o`ZYyJ6u2*2 z$Q>F6yjFdsL9@674{V~Mgs;6%ry>#`fHNc+1qb5}eUQI!CNuSgHFu-dAqM!FX0ddW znr5+$VJDxb4LWiFzJj3*^5w8WgVhoo6z^WBDiK_0G4R$1kx6)w0}RsBwIPzm^K66q zrIZM#Eh(PGDYqRmq!Hu^8O6IXd~i5}bE$L_x^n`+D&1leTKcV$G)|C=tQek~AvuHnIWD zc-e$*^*%&a2&|W*6}TTu_*c#f727mpOwsQ~vdz|EpMCK;Hy~tTTOpq3qIje4_`=*{y#DHz>^L z2@TT?%Y-D1M)*aDO$v`CbcEPu5Zpw>AWjeyAxzXsi6jXk@;%OXOdaH8p&})$?-->a z{^2pAmifaa6nrWh6mCVMu26A>2U46@9m^zZ3N8Mql^Ec(_u4i6Ji zANtv3*_W;7>~AKsj0sIU`r8)UV)K8jGhN_ZM-9BiM0EHZ_O|}52c1)j+_3AgT?%J~ z5v^sJTA6hj-duJ4=lVhKOt)RvBiF|L&Hei6R@*@ix=g)H?@W7;^put%mMxa&S>-JI z#uwNM{Q5b0EnAUVSKVWeW{*OS5s!3_fjnB=X9T4LCtND{kocNh4O|^gweILVb{;LK zaxOXBZT-!o_hp~UKF<_&7XfEy*eC1z>pz!_ZL!QVGd3Hq`mSm;Wjj6|oowd(^j~;J zMa7GCjeREcW5r<&WAzw6I%m7t@;bRn@|kQ$Z}-1S@WJ!CY_n<4y-&M?^S!xiGt#b| z(t_2h@;mk|>KO19tX*9kUa)*Z>lErV=|l-&f2De*c`XL-2d4(V1`i1u3zCHxhcXTk z3Fd%ybGqX8RUoirT449oKD$SAmJ*XvAFNXRz6xsIL?ttpRoB$=yAGRM-mc%QvVL@EJi*04K6L<%LngRXJy7f10^Kv(jkM!ZH*Rf~a+oMK<8(T#lUUasW{N1+)Yon`9`-U?@lICU)pPEkmsd^ zR&e1}>AZLEVe6UzPmjYE_;HzP&C?R%$!2)@XR!x%h%W zS6bIxcN;4oi$3{lG9ImDsY=<2#-j%3+}>EsCO1uR_IPqpwRZQ=;N0N80v-;LMTEh!paw7G89K5qZiOw-J$YSFW6+3`JIaN9i`;L+pBuy0!X z(7f+nSMOr6TcW$xIJS1v>UWN^J2u-|cj~_Oxy7TCHec4?(6RGWxIcsw)rAN}Q0E@| zvFR=nka$t-t!NWa|5UGhLL#_$Jnwg`-B%~c|CFQIY5vMFrF)lk(e@O!@wr7Hq66a@ z{F&2m%y02g=EB-DZ_i^EXk(z;Ch!n3PBaf=3hM)u0!DS{-zq$=uH7n}E{8XXDhitU zW4~xUNk2|^jE{^T8=7>qVUOW;$Ex|(KP^4bZ!Q0v9GO&xR|McWK%=>K4Gn>{ts;Vv zqkt{RgGsqiJ{&rQP`qG7VcaS5O@_qcEj1qltU7@H0N2jh9p)_d~n?yQN-d0}*Wb%8N0Ranox%w=*xdgveD$mrqW!QjEl;NWb@$jr^n&B(;U$ihMoDnak!W$$Y2NpJ5$ z`oBtk)gxx^V(M(==xXI)PyAQC#wHGKuKXkL>)=YRb)_q6)2C3}~Dh6NfR<6k+9 z%nVG7|JDs+<@<}uqh#f2ZmTV3Wd{-us0{&DR%X7x%l|()|F!rVr`CU*oE&VwbN-g| ze{-t4m^+I)*nygK75Gmx|1kfa`41x><6k5HO%neT^WRjEoCOg082{Co00O;s`x+RS z5SX->u$m|MQ8u)%>ioL_R2BSBt)LHz2X^g-?I1Qre`q&RI1)@q_kvMZbvHJiXhf^5 zlgFo25vPc^FSj1k@1{7crV|>ZA9$Y&y-xLC*HX7ue8%}1Q#u2>Z1Us4;D3Lb$b%N_ z7il;?K}iMv_6T9*^^D^M{YD9dT1f-L^5;C!>pXr`YlWDNW{h?H_$1mVp;5=?SN zp}=N9Dvpd+*Vx5juyizviyx;qi}}l>FPf|0Re)*@90;z1I}& z=Vugu=rL%IeBCjONO9taX#KinuE>7_`->H=9SXnl4A^=rw0wM-uQRz^Lzn$quL7Zj zx;7AAdn01W>~!pBwvWaCU?2NC_ve5jx$+mWu?dd3KP}LN4?KeQX*^f(9crwUUyf$f zDI3IZb_W`x4?LIN#_cU?b)#+nAH4=g|7Zq*qIpN!+%b~#M~9?{@u9w*ML@nSNcdf! zfn{&%y>#!}&U;6g!X>yo_o`>?7UVMOt!dve>N~?D2r6dLsD2$yVYM7vE_V| zQzHD9`hFlbcWU4N#XQ3)^7KCy8zl!0kDSey0LAR@@1d>4K5Y$=2XwS02nHDJ&us8Z zpX}q1@wF%zJai_BM#LU$8g^Wv*5PhM6Ip~av-Kodv6{us8>~Kf1w4~NcAT8fkj3Eh zGkBb=B`(yM%8ufy+s?W5mwVNE0EGzz+%CAD4GO%??;U>N@(%|b-APmHeG44DLi$&6 z9~YtYEW%$el4+gKH;afFNA_N>Zy|7=R^g}(OTxEEs#Due^R$0a|^e9aN9X* zCZ?}cuWRXx#?wTnkRw(vQ$s=DiK6_RT0S#ds#nrRCWQvH#=0fqvemeuCnb|fQle3( zDr2PAY3pJ6IPjk!&_e$bgzntK=W)S!GU{hF_%`+wHqMP2HQVD&L*)6k{!3;II{u0}!&t(cemuDzK zC$u5qzcak;{dxkzYv#dcjhk@P=Ulo+hcG_RJ0_Di%dN4ZBr=DfW5Gh}ZJAoz zbHSZLe(ziLkf6ker`}^a0c$Hc) zC%^rhY+ehE(M8g37S5M2{h^CwCnJ{X&jY4%21}w}Nmm$SEqP**q-9D<7nbF&zf`M|BH*Vq>q) zZ+pWBH;Z2PeS{2^UOVor1EUD|RgQ72su+#kO14{%uZ?;?hTKBIqYtM4j3CplElf!r z9l&l9o+{={wn2g8(`xju)3`{akS8Hn3()MqlM4QY4$oCdnPpz3hu04_S_+R<1((@k@j+gJDN$^7BlI>OM%AGFbH{5!FT3 zUB-5(;2PjYHU?i^sq50=FJAL3iJHI2CG;ft8~U4S+%W%q@_%gDEYYAnS!<_l7kE+g za_}-@{p_+kKHPfDo00td-I{|-TO|?V6HonzRRg910=>74+7xTnonl&UC=RP@;j|;3 z=w<4#wvOy%PMcya{L+xiW_qYE0uC>N7ssz1thA5Z&SspuAp(aN!sF}GSNDO!qF4M% z-;BUrfcb>1maoP!z{j8CBLIOD*m5w;!CXayb_As=%^lBfRA2j*nbZl&ZfL+`aM+0@2q^`h??T2-dQn>d_o|ZHD?_B-_3NGF zh*w9|%5(9g15u)vK4V$jeUC>@+Ktxf_=2^HI`tpE_8P%l3>N}N&dUk9rpJ54W!;p< zQCo+;y3uZ@!kcb4N@HBH3wAEoy3E_#NMF~#7wzO+ZoNI2)JHj8rk6xHiGMqqdEhuQ z5li@}`tj;!hWm@#XDZD!HT@1p89=h1DNnuCDvjUqL`U}fB_q8q>ybEPAYL(x=>Zvc zwPov(DlM1N$a`Lo<9IAu&CH+JuvC|K8|}5G!`|HPgR)f=?~&|oui2@O`f1+4NH!6@ zq;bo;+bvTGq>kGFA0!M?PPLqxJWe}0%&3kenmPjlpPq)*{B%yUGay`YCZJfK&^#Z7 zJ8q=1I#LU_P${O1t2Z5ZU*&jc#DTlQfu4QvE#6ofI^l`GjtyL};HjMZ%uM|;1Or@Z zGADR-sFyz+39n9XOW5qS1f^(f+;59yGUQCq-XOR-N`I5%HJV569`OYVv~K~$Wv}kz z3*N)R@erQ@*Zdwwihq21%e-8rJNCh_$#D{&@~*p*-(W{}wbgZM&1Sv(>rbC!vq_U_ zA(Pvj_8qSNAbz))53Be;X202JoxW>hJZOLWF~X0i-v~A&1Lpehzz-R2xnjkO!&V73 z!eXds(+rTNoJ*<6V1)Q~kTL=i)=d#oJ_L|TOPbkeJ539o-Fh7-(C#C(uR>0)ki~gh zz}?#w(i#L1P?#>1#v=3V?kUpo8W76Uo`wKq zLMnfl`Ph{OIfOyD2!`x*p@E-3JuX(JOa;80-j@2pfS zKTGExr{Fdo`AjJ@u4_%dDJg~T1s=LK!YgI&ZK~kT zOVQ_{6!y;<=k$5}o!Hw;moJ;!h%Vn&#|5+G<7`NI>&I)^2K`rj=q@*s^{sHU!}Y3ulXe)$~G)*z)wjBF0KB$D2zGg zyVIo(Wq*8L;hh(D!_&yXNTuWhH?!U)EP$@!AgqZoG_+sPGZ<%b1c4}0t6$bD*U7t| zwRgIH*;3?q6)QOW$DJcZjB_CLEn`Mf#Pi2-_2U)~C)jN4EoN{$;2 zN3F)1y#x)Y2>AF8WzLEE5(%U-Y$tvQd!5P#v#LybEti?hUEnE_TRm4=zS)(=(;R3l zkdk=+>%9HZ1j0W5EH?A(^P(*z1IuMe@hME|fZ`gJM|bZLcSJ3h!wUof76aFOC0lx* zCv9Rpx;gD)VpxpJW*@bSUhj4BeK1e;_ujGe%h7UQX>*>L+X90WWl{cqTSmFK^-}b@ zE>B#Wa}#k_T*hs$LA0iIB-!%Wd%FV*?X_jc`l|)g^y2NBZ9snzWCWXGZ(>4f*iaHb zKHX(KU%$j&z9+~$0$E&T!27}bCAD4l#;H5!tpX<6zM~t*v3GY%el|n=eHZ^HDN=gJO5kS#8&`hem#SOHx zwDP<8FSp=?g{796=e{s|Gc)H|BYE! zgeRI{Coju~K`B4J`&4FOz0QXl|V;nygg zFV$fYymC#><;&ISgkVR4j!ZL!j>C)1KI3Rk>m6?t!^4D>%MI#3mFu-@5YoD20s#1Z zXQZ$37np4Rn`9O1npOIS1JM|i4TSi_$5Y|~%W8L>&ku-2GYr!WPiF&$`7-ik%(5qX z&4u$3tE0Prt^Z^3q^)i8t5LN*!}TKf&b7ApGTFWtNkC{u)YvBHL+?RY)%WNto-u^% zdbpf670Fhl(aHjAK%039e!9ca9h>3miJ0^ChDxHFIc1|SiPWYrb!F;F%Y`+^@{OP? zhYIQy51D4A9%~g3aWs3)3Ye`|)Z^Wf`t(|IIZfxcIGW~7#H?#MP1a{_RjE+K>4)0Q+p z28!nAZmi-nOq9$^(*cD&?QPKg)v9PR=ZcB9ySH4aBmYTP*5h=I|JrrV?ES&V2rhjM zgl%#23&?Gv9G7zb??XB{O)ypb#frI;6e3=iTW|Qj161tq9%Np6zWRr(a{G?=-Vjkp zFloY9j5+9X&XBh0bzg>Ggyp{X<5{H`ZU}Xca^HmSv6?P~uVWM$9$-Q83-9;=fa5UP z9nM^S65<&4?2g?X(Xu!98NNStO%v1{y2rSpNk=K#A&1FuS{Bi60;T z?c`sHb#D+t)oPGi)BgwAh!dRV$-Tft?BB`tSHh7W1eWSojcb|yK?c=~<=?8zO!8|z z`}@?|L`494fd>}&S>No88KaeuLSWp%7hpcmHe~^#cW(E}CWR^v=%3I zTN(1tBC4c+@4;U~GeUFZ7JQQU(R zzixw=7$mzYEboZ;JgH0v6ccdjcC5mPI&{y2F9c2JaxbPsfly8)vS-yFQyHJ#ZYUMA z;{)E(#Rmok4$>$n^#kMe!bxdf@6Iv2uJ&ri0OO}Im38CDhLUEZd=T)Vw+0KfZpENI za=YT5nv;UM<(PEMm$1SUUUqU*m}%1Vs>hW$ z^|JZlNmI)0TO60|OGO{?Z;B2pP1J%$Gp(AAGh*ZI+36FT%es=oB zT!lEmphUH7NtgZ2{nl{iW5uOcnT#0I`Qd!kc5XoG!6~AzJ@r2Zx6S~y;vOC_FvhR5 z$f#2o=Q~rDsZowWE<@!hJoIu`fLbWE0ih$j);vrr^6d4}Bi?Q6w#Y($9S9ME&_<+k>Y(ICZEyDn{bvEC;agz7Bjv%XM~YL4OWu#gYJ#&=Jy)n;=Oo=(ia%Fx zt<>2ty2NgK7L&6r=y>)`tz2o&f=?HGO{OIHyZxdXb%j%~m~M@8wlj{KJd2rBaZ<@{ zu=ct0w#=bvISsy`lgJu>O(iBtZ^r^KEk@lH;3{Z9*1hT%b-~wwACNyDu5*QHkyfBLkUC7^|irI#7c6? z+wl$h4>+L%s-6*cvze)69RAh3dlul@D z{>`WHc9d4k_*(qKcHpeu4>(#y_|1XT+oi_0<#56ijV`Y`d4yEX>YII$6|f&qJLh$7 zFMEExh8bxqBh!s%@iSh&8qjIgUz~lUZTE3kN3e0feCF`m(c^Z#ODmMl)?xNhWHATi z4c9(-DD!tg1wYy@+?xIX`8I$y$4lSiCQSq4M{roB9^L8P@K^8(`k%^SVJmdl=H{aU zBm|nBE#CD#+Psk1Sa5#4Dq8rxms9+7SYiArt_B~tRBQgOwBuy4TUcZ~HA$f`+y;pQE_&Gnm+j#T7IzKB%foiQpg zu_X~QAS;#05%Bqn)w<~Nl2U)jDH{xRPA-12C1sLAt0`|Tq#RAan_{MEE^I6i(5(w{ zB$9M+I_!ggj9>4>vbj14X7?!moI;ms{#v1N#3D7k6MZEBJJV}OJ(30o@7+UfA zFD;~wKemsW5nI-V)Si(STVL~3HggxZu=5T$tw*31J4|EMG-=_}>igFZK>$dt(FTip zv8XrLM7cC%g_y}Yx?bB2;ly*C#I;?0DONqp^LTI(PX@oAaaq=~wc^0~sehb}HAS=6 zba=+{mmkA!9oXg3*w=}Ao$jKUynLhO69;SBB5_{BE22wbVuNr1pq^s`k$iwDMFYemMvgRRzIz*Pz1bVt!)uA}<+RVIphJy{)r5WOVa&}2Gg zHA7C!_f$_x9e6WUq{|Jbb23Z3^<{@#N+xsVt7P;^!TO5n&^UOo7!-2fut>y$(O>T= z`Rh$8FtndoHSlmt+cG&y7?l`0@7>cha1ZB7@=XmoPYQtfM%_@we!A1;72+J;4OrJ* zEv)M-$4O4haBSe3j9@rG z=roJc=-O8m0hjl~DOHp6Or}2c)dEU{j{)a3eacTL_*`EOqngs5VO33)f|JpyLYbm# ze>jzu!j63ExIa+k@5;D4WXp!Ns2b0{)VLMlD=}vGZff);PkpJ4IpKhoImoBqaH2W0QNshvy5gc$)a{3%lWSa0cGvzfImO9( zT0kSlv1B-(k9A*a_UfojqPb_qvi5XS&W z>Yjr!M54*l6J2afB8$X0Ot+;P3=eKMptc)?t*h!bpFKcsL8gZsWjC5fVz%IqZn1=0 z0gGlrDnF}TDKPR}wW=JUM=~dJVt&jbuPbrLn-Db`gDM(Do52Zo$D@$q>hzvvGlDmG zCmX}G-_=E9pT)(p--xqhcG&J-@%@Wop_H&)SxmZxF6vQNDFo)s9KE~`l9GMP_pi^; zv4s4!WsK#?Ay{ah5k0oN0PIRR%PyoHYR%bov=B_B>bxUSqdCZJ91ET~Et9|qb@1=V zw^>E&23_p7Z#khLi)O6Deqex+n&I?@Gd#{ zPr3Plcy8=V!HWjAQXD<;V`kk*cW;b8}^ved&2EJt%BK9L-IANAg*Kpfx@I_gRdP) z-@7>w3lz{~RhdQvOaqfd>X&mmsx@MmyR-;B$Bm(l2lE)O17RrW;zR(L05qhis7C;< ztfyzN5H|`#6Q{AYIUJV=T@{Y85sLXr?P*jp7S(E%L8e?&9#XE-qe54HgGz14=Xlhf zd?`x#i+-fxz2aO7xw&V3jSBSk<=iHZeg!zlET(o*4(gXa+GKK7rBre3I! z-n$aZrZV_MNY9NR?LNlDuQsePQGgslA!^?aPWvIi?BP`)*bN}uO2!j`8MAjpgF_e> z0THuq>M|c@R6$S)B1I@=lQ3#tq*n@So_8eP~?r@bqE5x zR=_ju^L=qbz^Gm*ld_*m+3~L2Y);-WyC7U*ncfh(0UP{M$EFvEkIFRUf_+?qYGJ?) zMWc|jQhY1FMW>;el6NgX)_RfBRrX5Y1@j{*iR1?sA+J~lMOQP;cZ0o`Uzc-pjFEx_ zKjg4>$K#`ie$wG^C?{%xNiD&?Gh(eO%EKQl)1+W!TzC$q4bAVV_uMtzD0-i{p zhORvZz(c5E&g%^~`2Iu7tG55*Ypr=i*VeF#BcqTPJ=O<>a3<0KQ}aHSmrSNx4uvs|MuKlS(3?m(O8`WHSo9N;Nx= zzA>x*_#GR`P<=%gI z#pwszzsc22K~=8gp?La(^)0PI5p)Ioy500Ztt}`wIg;9{x2r}pcsD!@PX1gn-=fS# zjT`U8E{xp>A%Yj-%#nLQWtb6Rp+S*=V#>co2HJgx$JPKOK*zpom!VBJNw`w0(IQ?DBPcT9-E z#{zN=NBfAn+gqwPhjF}(rw1M*6Q&p(7i=&xpk8~_GI0lELz3FieSXKfI8mhm$%P~^ zIW}sIQRc*`wZ_>*0n?um{A-+x+J45wB|LCelCA5irGi?W^ci8KorloZUyG_dT-#*-N}+Jd zXduK>`qCD{yCl#JP=(Nj!5SLVeTZBZbDDL?)IaN6yT8!>X%&Z6PhS^dkV&?np?#UM zabh<4ga8r8qT?al4?-D^qtY@Oap*PSGfX4Tduq*w!Um7<$C1rg5!0aq4S-M9l1$cNV3jj!{fX!=ztdGbDOH~aGG zP2oIUn0*k~4^L_&tRtQT`yZyAyd9fHF)ZOeCDl^FPYkU2^|0RZ_A~O?q8Kmtgt)H;(8kw%U{bFv^D^!#N zB-gnK{yi3RLewO|3*G6@go<M#|inl-Z9^ z0T;iQ-KK}B>x+52z^*&yZVH20*V>)TMD;^D$vHe--jrfFr-itx6+lPTph6cNoh!lP zxfJB!pC;F3k1uc{iebwWULtkYf@8IA&t}keSIX}cCA;JbFVmJEmk!y()rEjKwdj5J zmT$OFE`6nZ1$ul8SF*Z45D7q%q$paA4t|N=yk#yxk|CCed=D2$_nC|BS4@w38 z_jfy*3vjm0fZ!k~j{Y8d0ltg9n$6+^c$d7h6~+|v^_M_R%BCx%wOyr88;69bsfSC= z?dG+PL_b+!rnA_rRQ4CW%>rLQr_i)hB)ki^v}bgk{EcJQ@*6%)3f*o&#{A@NrvG8F zyToYeE%`3rCu-^)4{`i`l!Tij9>qt_df9h2dL^%IbNQ`$F({jYBNvryOcp-rA|f8+ zCh^+FI|#fW7$NOhWkF2?XjN_!BSB&ul>}0w z-t@RC8+fc~(80Q4n;9v>-@F!)#b9uUk18B+c)reGRM$B=?rgldE5tIAmTaWq*hX$OjJy$ zV!6LItL()}^b6e%%7fDDkwvw&J*C1kmAQjg%101n{mS&_k~4*^0~e|C#`#!a-iWga`=nEo3<210b3u)z0%C*Y$aG+NYulGHGR$`(Ak9jMJK z9u!UyMS4Ki{T9YcNe)JUrf3(TAO%kZo~nE|S*}r$u{Zbp@`%6KdP~fC5nfe=lldRs zuJ;LyV^3r^|dILJ*f;AqD1&*uMk4P@&{ARh*=d1JN8pJZ&1w}PNIzWH}3 zJT6cb9Ta?4VFV(f~?z-IH>jZWVpeu)oebe-FbfsYbb}mY->DK zlBWYGk$Q13OWXXqo=+x+W{6HEWu!UuM%q-fKMK+wo;Z1^_eoi%;**jOM780OVZ3!K-07Wjbc&tH`JSxanD2lN;eEsYTGC|VZn(1W6 z!<5{kwK~Ol8;b+Ai*re$y`Pe?xqFB37)!-yT>8CQ@6kPFA#!ht$Rc9#5!q9xiarga z0#Q-e71Uq^eD9>ZZ|_CyOUKy{G`@%_dzA|e7c1nlYnsNYOu?YM7_2z}by{4l9Xbe? zgvF*pQ*vp;nh*Wf2L-xl0&{_Oe}UVepsenAZAou~%7xApB@}$VFBa#9Qu)F6m;0;a)}Vqoq@M{sgN>+qCll5CT`I{+XiIZCRlkAZ${v zGogu0JZ5;7qF%;1IBhvznEwgbY|6_@Q_hgLqT6UMyT-@8J>AhxraL#X<471MJd0n6@qz*W(#4JSbO+RJ{eJRg%$ zqi<(-StA2;C~-JSJ3uDr$*V{+mVsydG(7e#-F3j_b}(4QY2cgYr zu7n#=ocAx(vtek#%jWIlSS`n8QR;Ecx2iC{1;jt&ZG3uul+GoDA+!Q+h@Q85$$I-Q zXpcAGfrEn3<1i={W$$Z?$mBC-(6Krv{|d)rQ7x9C7Dsr;mbzFXir0M$cfyP$!{h#e zR-IOJLf!A?saYUEu5>e*gX*OM7>H8x4;Wo zfgtM!|IxIEI$NzetxiW*kFzO)!y1-({JQaRGrtP`nWH{Ki%K<%3HUky9GD@cuH$GewBG?z0`30q4l> zH1G)K=XjIVc+yE36r!=hx;H+oSqZ)W#ctVSNZ&k>fLFs7%U>rv7XKaD%A7O|`?{$A zvd7V!vLjKYa>$6wF5@@pqO2WYl(H$s;4|pO%9IDhoB*{ai6)cRB@=ruf?U}%SY0U) z;qiWT(%hiaiBu}x(El=USp_Qx>G_3a`L{;R*zbLUa#Y_PD1JNwy6wNqKS zPTd;*SjZq~4-|B6Y7wj4pDIeGu--v7L{mBn0nLVHvmaBPW=jq~&5!o-r^H52)?xh` zQ-|;eKLTsLOz&+@*l_p{c>RWYdqq>|GiawNUJEVXIGyj+VDKEB2E6?oA*q+WJJD?@ zn=G?^4FHq4$3*{V50Q3#bhg&|AV9=?KnV{AH^GSib4?O^lPhuk@@8m&zuxWz^s>VB zh|O(I?g41YiPY}0ke6dU0{K}|paVwZB#_sX%WN71fellkv-TrMrW2@-r^cck@t|m5 zdSJuO@(f0`BE=3~&zy;JlveHErI~63e6=EZw=>c)E8QQDNQrhJxno z`D{9tl&rb9_-LV-GPuH&#Rncr|FNDE>t{1^(Cu=4$}HdtrrN$aE1w zPqJ1s6ej{PDZdT^FlUgq3GGsDb`4(-4!XqXL0->bCQHmTbxdkCA&b#_*#_HHYNaQ^ zd*8s3bZ%*ox6z>nRt!Q;n8)K)3lxPyeYfEu9!Y&0RNoPaF;IxR z-pb>!wi5h|51YK|8GVpkAoILpApNdsB^Y;oEjY}a3AQCB<4ujWy_s*Cf?q&})t;Z+1{YC=f zB?DQX;s@r)ofT5(O1|4oi)2EM(ij6$(bmcJ+~6=bz}K_H3L38K>ojMg&{_CMjP#?@5XGwn8O>G; zH-hhmqZdRxzG`tDS+$c5K6N<+HKK6g(BGOVAqn z84VwXyBq}GA#qTVtw%vckq4Nf9YuZRYiJT)98V#y>!NHlrm;j)J6mKWD<5yHXOmc> zRJ3)_yHTU{gM__G9GhQ~7Tmu6FuijO*pjjvL{!6%=F{6)T|I#e@%r#=*~h%b%oJ)i zZl6o7du^SZleah-9}dSawW?L@Qj zc{!^1Kh%BYLsV_Muau;8NH+*bDj+S=-Q7~s-7z!@(j^Vj-3>!Yr*sdEM5 zXTQ(>3(on%hnqDsEAF+{ef{bZySubr8MF% zA-~*WkjIQSji&?j{`+-%i8oR8!*~;wR2w*a-6_uiV7YVX5H35*OmH>IWxl^l~6>cLbmeX!BZ4S`&ZcjfrN8|bO=wyFPe%*A2 zp14xxJhK_LmXk3(RNQzP*X46B=1}B^+#_Ob_JA>dSnZ4@EbGo-&*uzw9}ZWp`ndhz zewQwlJ;oC#G+M^f`;jtBYRUxez{wf z+16hF6JGk3QziKYKCUA({Ev++{zYLZ-ESQy+pzYEc9U+TZ0Zu#!dMDQ*SQGZ$|Q9# z>E;Jh^{i zVZiIKirYN-i#e9H`=#7y`{&s=?LnxSqGFQF?2cFUAUE2_%T$*!rSoF|`dCr37gb}X zpGs>!a1b}UuHsgVb7Ot~bgS4kytj--7TCr8cEx4t7q4qtbaT~*UP^w`FyImvxYT!L z5n;LhH6XVO!PzD&q_9Q#hbE^tQ0`X?L*}OPHPVm8@O;4rzb!=Sd0IaG5W0a|p;^8# z)5mz(Q+CuVFww7|cZHC$PQ1ISIcED=?5Q!)k8aZ;M8Q=B7n=lR13|?p!9S@wT{FdD z3b&F+w8etTeEpxw`H0R@OlZa~)cN|wyE;JVF;j+;EK@@hLSUfBB9`pr1?be)wc#^1 zJl-np{#!=P8UK;>YMs?~s==IjrqIo$I})fov9A!n^ip1p>iknmCr%8Pb}3G5O(_14 z(pg0*01Y(r&hpzo%3f@9pc<&O_?^ptC(mrZ;!I}Z(8%eOZJcO*LaSop^)i! zCI6$x`WNhiLJ1sgNDPtb|8>9oE#L#>{+ec0SNn$lS*qUtHO*48_x}g*0envi4S*^X zv_>ZV(=>Yud{ z0S-bPaA%U6YkX-s1GScST4P4lav4PD47^9=;d5g=Ko#g79dTj!QiIt zrG~>+JTA-eH&)YyaWoQW{02qUpZ-n^Y!&#nN{VEi@Z_N(J)-Rp@9M=)rGIAuh@uq^ zl^C|<%Y7?UWmAj$YBA;teCD@w*T8_3Jp@e7%KgE8{?Y)KHMC7S_jLeZa2N07pc;v# z4py5L1YG|CV&Pv64a4(4g~lsR526#X4V~}Uk@r_^I1fA9pvpMKjS|Qw%ghh_U(_P;w?RhUy3Gc#jR69aY-fujLXL zt}2-C`|a>V`~|J%$^(y(n9TXbDRQrbNCeOsth|AXeFcK096s6 zLZ&v(4I_u^hBo-NBv|itt*q{eJ+Z&f7jY zt;u)tKrR29@ABR`Kt5eqtx!Ha7yqii_VbQ)_tZs*5ra&DbpyT2b^FwH$GEe^SiD$e z*(=$$#45y?6PKJl%c#q@B+PatX416P+~J``PojtlB9I+$JBz3 zKWq1c7bN=iv+eBOdTuYjQoG0gnp#@DC$G4!Ayr^Ciu}@jOyeTdu(m~gSarqvQb{W& z&iY;3aN^^$Yz5g)zT8uq}K<<44r8S5dqJC0%0lwO< z+`ca;8CBaA4I341mq&Y8l0OmhDP|Y)J`-8f*F4 zREEDcNIiR2fo<&_pXv{gZNqx&K((s3gvo5nvE;S${l1XZ+09r+0M!d+_A>wV$tE+Vf*79hr*eyvJr%=XW!CIo!dA!O>>LMS5 zJ4va{Wm6K_??DXrm}IfvIu+;6Y91br7G3riayu|?TRT@Y(v!iO!#s3=rY4?d@|a+l zNuxGoDLhX3+VePx2kHid1>g;>i$dNA%)QvZ_X1@yl!I1%eDjg%`XULE0O1O%|27G) zLj?%isKcAJ&E03ey+%BXUxWGE9*)wT|8?l--Ih{`PDdJ07RvJ2t>NbXm^^TKenQA( zd`S;LBJtl98}me@#XL9b5!a)Tr)odixsXEzI~;_cwoXCkk@LQG;YQ42aDL?1kJvv> z5L0mXFXZAqQO#E>`E=vLf*hFGXLr}%HL<4>xP=&~l))7}unns{@9`f9xOfkL50?8y ztEg|K)?6ug0m`lF{a*asn!VjmE8^9pY;YzYD;_GO<%4!D-4<#j_c`(6wN9VP5uL(IRwza@c5bx>)S{3u>ZdFzi0%lGwJbb`f#?H|xtpt~0$3G_ug zOzF?KOOd}N8#=oQ{^nEM3H&vq4`P}2qw;v^%F^txaX4-My2Aytp9vxJ2Icx8lR{J; z??AMnXoRs0QKZ9w=`DXx%8#{f7qB-3pkt%>4J4z#@6sgzU^5j%uO6s3CfXKYpq{IB zEwd4DKZ(yn?tRYN1%%<|%$f;+8sZm2OlV|E1c1(_3Y*6-H7~svZ};`O7z~2B(Ay-B z@|T;YU|q`3+}7k>wLHs#Qs0}WeJ9~mkHBZ6yLiqhsM<0D+zB&SV~ozCizSU;*3>sk zG*V}6=7$C-uV#YLf9>CyILQ3;pLt5X3I7{rv7@4Wz-`U2$L=XtnZbwMSK1}`<+%0L z6kt*0avl6gUi2ld$2*|b?p~2eudp6GSLh}OGuh?<0y|19ZmWi!8)VO{ATefxRMXaC zuv+u_)Hs#FM2O{5c?=Hn2-JYzO_}s)<$UYQ`vhp5_={oQ{7;0_FITD48Amc`N6amo zM7EcL)6X|RVs5wFk`USb@1d7YLm05DHdX<*e7pBh(+X*^)D!jcnujIF0L?+S9_1(U z4lm7Wnb-F(37PO{1wo?|iF%gmI2-uui_gun*oijyKNy!)uiEWP>e&p`Y~Z3i9na~=+w z{F1hhs}^ghoBh*n$Ay}l{#u1{*yRB;cUxk9N7m2DY&L5dH?ljXNw|z(*1CsYzT~HN|PbQv@^XDm$RMRzt z+FTH3Qkx#}wdwc#Qe9xe&7z(bRvkYM&YMX%*?la9appc^)tb+IWxoLp^cT%*6U<=x zFO=MaL8%ys5qvK(e(1=?(X^cN`ATV48nQImud2S&EYy*+ook>63{`PvfFeAHy3pLu zbQpGj>0PYGwmD z3V#*=TXiR|1!hI)8zn>Gggt9Xu+n0qE+3CG zHyGhF3vcFJzVwoyb0yT-uJNK%A;GLsmwv(3sY?IOwV~mUXr-u3`1?^k`a!pHeB;8- zZ|51NB}cTlFDaD40_?>3(>ZIgv|!65oJkhH_LB$u3m2q^tQEZWYRLNU$f70MxM;H- zqc2{0@?Uqr$iY!bEQI z3pJ1j3&6$w$!M)%K<;3s)Jl9q0Jv8Z@T#Bepxa59W!|2}b6W!p_v6)@x?!{m{oje- zvY&m(K*YEppD@cZDfGQwxy+0HO5r4Q$pTty_tsh#i%Rk&rT6EdJ#A;9|mzAi~Fa_HBZC8?3k^jAlXr}x)U_vId&@AU$ zOam9k^je8FUd!nanpI*`>DsTz#rx{*jf(+(+16hrLE@nXB8Y}TLFif3FGN#4O$c6; zp?yiueK2+W9MYLk7DVyuwa?3V#_C663|45{gnahK

sMSzWg2=R&96yITJ%&~R2~ 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