From b41b95b5023efa51a49dd7ae16da0ffdabb6934c Mon Sep 17 00:00:00 2001 From: Julian Date: Tue, 31 Aug 2021 13:46:56 +1000 Subject: [PATCH 1/6] Add github action workflow for build and deploy (#2) * Adding github actions build pipeline * Updating build pipeline for staging and prod * Update to pass InputSource to pipeline. Added filter for prod * Moving drift-service-catalog to cloudformation folder --- .github/workflows/build-deploy-pipeline.yml | 255 ++++++++++++++++++ .github/workflows/publish-template.yml | 12 +- ACTIONS.md | 52 ++++ README.md | 2 +- build_pipeline/app.py | 20 +- .../infra/sagemaker_pipeline_stack.py | 23 +- build_pipeline/pipelines/pipeline.py | 14 +- .../drift-service-catalog.yml | 8 +- cloudformation/github-actions-setup.yml | 81 ++++++ deployment_pipeline/app.py | 2 +- docs/github-actions-workflow.png | Bin 0 -> 91047 bytes infra/build_pipeline_construct.py | 4 - infra/upload_assets.py | 2 +- 13 files changed, 415 insertions(+), 60 deletions(-) create mode 100644 .github/workflows/build-deploy-pipeline.yml create mode 100644 ACTIONS.md rename drift-service-catalog.yml => cloudformation/drift-service-catalog.yml (93%) create mode 100644 cloudformation/github-actions-setup.yml create mode 100644 docs/github-actions-workflow.png diff --git a/.github/workflows/build-deploy-pipeline.yml b/.github/workflows/build-deploy-pipeline.yml new file mode 100644 index 0000000..faa77b4 --- /dev/null +++ b/.github/workflows/build-deploy-pipeline.yml @@ -0,0 +1,255 @@ +# Create a unified Build and Deploy pipeline that uses approval gates +# Build Model –> Deploy to staging with approval –> Deploy to prod with approval. +# https://timheuer.com/blog/add-approval-workflow-to-github-actions/ + +name: Build and Deploy + +on: [push, pull_request] # Optionally filter on branch + +jobs: + build: + name: Build Model + runs-on: ubuntu-latest + environment: + name: development + defaults: + run: + shell: bash + working-directory: ./build_pipeline + steps: + - name: Checkout + uses: actions/checkout@v2 + + - name: Config Environment + id: env-name + env: + PROJECT_NAME: ${{ github.event.repository.name }} + run: | + echo "Project name: $PROJECT_NAME" + echo "::set-output name=project_name::$PROJECT_NAME" + + - name: Setup Python + uses: actions/setup-python@v2 + with: + python-version: "3.8" + architecture: "x64" + + - name: Setup Node + uses: actions/setup-node@v2 + with: + node-version: "12" + architecture: "x64" + cache: npm + + - name: Install Requirements + run: | + npm install -g aws-cdk # Install cdk + pip install --requirement requirements.txt + + - name: Configure AWS Credentials + id: creds + uses: aws-actions/configure-aws-credentials@v1 + with: + aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }} + aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }} + aws-region: ${{ secrets.AWS_REGION }} + role-to-assume: ${{ secrets.AWS_SAGEMAKER_ROLE }} + role-duration-seconds: 1200 + + - name: Build Pipeline + id: build-pipeline + env: + SAGEMAKER_PROJECT_NAME: ${{ steps.env-name.outputs.project_name }} + SAGEMAKER_PIPELINE_NAME: ${{ steps.env-name.outputs.project_name }}-pipeline + SAGEMAKER_PIPELINE_DESCRIPTION: "SageMaker pipeline created from GitHub actions" + SAGEMAKER_PIPELINE_ROLE_ARN: ${{ secrets.AWS_SAGEMAKER_ROLE }} + AWS_REGION: ${{ secrets.AWS_REGION }} + run: | + export SAGEMAKER_PROJECT_ID=`aws sagemaker describe-project --project-name $SAGEMAKER_PROJECT_NAME --query ProjectId --output text` + echo "Project id: $SAGEMAKER_PROJECT_ID" + export ARTIFACT_BUCKET=sagemaker-project-$SAGEMAKER_PROJECT_ID-$AWS_REGION + echo "Artifact Bucket: $ARTIFACT_BUCKET" + npx cdk synth --path-metadata false --asset-metadata=false > drift-pipeline.yml + echo "::set-output name=pipeline_name::$SAGEMAKER_PIPELINE_NAME" + + - name: Print template + run: cat drift-pipeline.yml + + - name: Create CFN Pipeline + id: deploy-pipeline + uses: aws-actions/aws-cloudformation-github-deploy@v1 + with: + name: sagemaker-${{ steps.build-pipeline.outputs.pipeline_name }} + template: ./build_pipeline/drift-pipeline.yml # Need to specify working-directory + no-fail-on-empty-changeset: "1" + + - name: Start Pipeline + id: start-pipeline # TODO: Run python code that waits for pipeline to complete + run: aws sagemaker start-pipeline-execution --pipeline-name ${{ steps.build-pipeline.outputs.pipeline_name }} --pipeline-parameters Name=InputSource,Value=GitHubAction#${{ github.run_number }} + + - name: Upload template + uses: actions/upload-artifact@v2 + with: + name: drift-pipeline + path: ./build_pipeline/drift-pipeline.yml + + deploy_staging: + needs: build + name: Deploy to staging + runs-on: ubuntu-latest + environment: + name: staging # Use different environment that optionally requires approval + defaults: + run: + shell: bash + working-directory: ./deployment_pipeline + steps: + - name: Checkout + uses: actions/checkout@v2 + + - name: Config Environment + id: env-name + env: + PROJECT_NAME: ${{ github.event.repository.name }} + run: | + echo "Project name: $PROJECT_NAME" + echo "::set-output name=project_name::$PROJECT_NAME" + + - name: Setup Python + uses: actions/setup-python@v2 + with: + python-version: "3.8" + architecture: "x64" + + - name: Setup Node + uses: actions/setup-node@v2 + with: + node-version: "12" + architecture: "x64" + cache: npm + + - name: Install Requirements + run: | + npm install -g aws-cdk # Install cdk + pip install --requirement requirements.txt + + - name: Configure AWS Credentials + id: creds + uses: aws-actions/configure-aws-credentials@v1 + with: + aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }} + aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }} + aws-region: ${{ secrets.AWS_REGION }} + role-to-assume: ${{ secrets.AWS_SAGEMAKER_ROLE }} + role-duration-seconds: 1200 + + - name: Build Templates + id: build-templates + env: + SAGEMAKER_PROJECT_NAME: ${{ steps.env-name.outputs.project_name }} + SAGEMAKER_EXECUTION_ROLE_ARN: ${{ secrets.AWS_SAGEMAKER_ROLE }} + AWS_REGION: ${{ secrets.AWS_REGION }} + run: | + export SAGEMAKER_PROJECT_ID=`aws sagemaker describe-project --project-name $SAGEMAKER_PROJECT_NAME --query ProjectId --output text` + echo "Project id: $SAGEMAKER_PROJECT_ID" + export ARTIFACT_BUCKET=sagemaker-project-$SAGEMAKER_PROJECT_ID-$AWS_REGION + echo "Artifact Bucket: $ARTIFACT_BUCKET" + npx cdk synth drift-deploy-staging --path-metadata false --asset-metadata=false > drift-deploy-staging.yml + + - name: Print template + run: cat drift-deploy-staging.yml + + - name: Deploy Staging + id: deploy-pipeline + uses: aws-actions/aws-cloudformation-github-deploy@v1 + with: + name: sagemaker-${{ steps.env-name.outputs.project_name }}-deploy-staging + template: ./deployment_pipeline/drift-deploy-staging.yml # Need to specify working-directory + no-fail-on-empty-changeset: "1" + + - name: Upload template + uses: actions/upload-artifact@v2 + with: + name: drift-deploy-staging + path: ./deployment_pipeline/drift-deploy-staging.yml + + deploy_prod: + needs: deploy_staging + name: Deploy to prod + if: ${{ github.ref == 'refs/heads/main' }} # Filter to only run on main branch + runs-on: ubuntu-latest + environment: + name: prod # Use different environment that requires approval + defaults: + run: + shell: bash + working-directory: ./deployment_pipeline + steps: + - name: Checkout + uses: actions/checkout@v2 + + - name: Config Environment + id: env-name + env: + PROJECT_NAME: ${{ github.event.repository.name }} + run: | + echo "Project name: $PROJECT_NAME" + echo "::set-output name=project_name::$PROJECT_NAME" + + - name: Setup Python + uses: actions/setup-python@v2 + with: + python-version: "3.8" + architecture: "x64" + + - name: Setup Node + uses: actions/setup-node@v2 + with: + node-version: "12" + architecture: "x64" + cache: npm + + - name: Install Requirements + run: | + npm install -g aws-cdk # Install cdk + pip install --requirement requirements.txt + + - name: Configure AWS Credentials + id: creds + uses: aws-actions/configure-aws-credentials@v1 + with: + aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }} + aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }} + aws-region: ${{ secrets.AWS_REGION }} + role-to-assume: ${{ secrets.AWS_SAGEMAKER_ROLE }} + role-duration-seconds: 1200 + + - name: Build Templates + id: build-templates + env: + SAGEMAKER_PROJECT_NAME: ${{ steps.env-name.outputs.project_name }} + SAGEMAKER_EXECUTION_ROLE_ARN: ${{ secrets.AWS_SAGEMAKER_ROLE }} + AWS_REGION: ${{ secrets.AWS_REGION }} + run: | + export SAGEMAKER_PROJECT_ID=`aws sagemaker describe-project --project-name $SAGEMAKER_PROJECT_NAME --query ProjectId --output text` + echo "Project id: $SAGEMAKER_PROJECT_ID" + export ARTIFACT_BUCKET=sagemaker-project-$SAGEMAKER_PROJECT_ID-$AWS_REGION + echo "Artifact Bucket: $ARTIFACT_BUCKET" + npx cdk synth drift-deploy-prod --path-metadata false --asset-metadata=false > drift-deploy-prod.yml + + - name: Print Template + run: cat drift-deploy-prod.yml + + - name: Deploy Prod + id: deploy-pipeline + uses: aws-actions/aws-cloudformation-github-deploy@v1 + with: + name: sagemaker-${{ steps.env-name.outputs.project_name }}-deploy-prod + template: ./deployment_pipeline/drift-deploy-prod.yml # Need to specify working-directory + no-fail-on-empty-changeset: "1" + + - name: Upload template + uses: actions/upload-artifact@v2 + with: + name: drift-deploy-prod + path: ./deployment_pipeline/drift-deploy-prod.yml \ No newline at end of file diff --git a/.github/workflows/publish-template.yml b/.github/workflows/publish-template.yml index e418616..e659e95 100644 --- a/.github/workflows/publish-template.yml +++ b/.github/workflows/publish-template.yml @@ -3,12 +3,12 @@ name: Publish Template to S3 on: push: branches: [ main ] - pull_request: - branches: [ main ] jobs: synth-and-publish: runs-on: ubuntu-latest + environment: + name: aws # Target only the AWS environment to publish CFN templates defaults: run: shell: bash @@ -19,8 +19,8 @@ jobs: - name: Setup Python environment uses: actions/setup-python@v2 with: - python-version: "3.8" # Version range or exact version of a Python version to use, using SemVer's version range syntax - architecture: "x64" # optional x64 or x86. Defaults to x64 if not specified + python-version: "3.8" + architecture: "x64" - name: Setup Node uses: actions/setup-node@v2 @@ -47,7 +47,7 @@ jobs: env: BUCKET_NAME: ${{ secrets.BUCKET_NAME }} BUCKET_PREFIX: ${{ secrets.BUCKET_PREFIX }} - run: cdk synth drift-service-catalog --path-metadata false -c drift:ArtifactBucket=$BUCKET_NAME -c drift:ArtifactBucketPrefix=$BUCKET_PREFIX > drift-service-catalog.yml + run: cdk synth drift-service-catalog --path-metadata false -c drift:ArtifactBucket=$BUCKET_NAME -c drift:ArtifactBucketPrefix=$BUCKET_PREFIX > cloudformation/drift-service-catalog.yml - name: Publish Assets to S3 env: @@ -62,6 +62,6 @@ jobs: path: cdk.out/*.template.json - name: Print Template - run: cat drift-service-catalog.yml + run: cat cloudformation/drift-service-catalog.yml diff --git a/ACTIONS.md b/ACTIONS.md new file mode 100644 index 0000000..1c34ad6 --- /dev/null +++ b/ACTIONS.md @@ -0,0 +1,52 @@ +# AWS SageMaker Workflow for GitHub Actions + +This template repository contains a sample application and sample GitHub Actions workflow files for continuously deploying both application code and infrastructure as code with GitHub Actions. + +This MLOps workflow demonstrates training and evaluating a machine learning model to predict taxi fare from the public [New York City Taxi dataset](https://registry.opendata.aws/nyc-tlc-trip-records-pds/) deployed with Amazon SageMaker. + +This repository contains a number of start workflow files for GitHub Actions: +1. [build-pipeline.yml](./build-pipeline.yml) runs when a pull request is opened or updated. This workflow creates or updates the Sagemaker Pipeline, and starts an execution. +1. [deploy-staging.yml](./deploy-staging.yml) runs when a new commit is pushed to the master branch for the `staging` environment. This workflow deploys the SageMaker endpoint for staging. (WIP) +1. [deploy-prod.yml](./deploy-prod.yml) runs when a new commit is pushed to the master branch for the `production` environment. This workflow deploys the Sagemaker endpoint for production. (WIP) +1. [publish-template.yml](./publish-template.yml) runs when a new commit is pushed to the master branch for the `public` environment. Synths and uploads the CFN templates and build & deploy assets for launching the stack. + +## Create a GitHub repository from this template + +Click the "Use this template" button above to create a new repository from this template. + +Clone your new repository, and deploy the IAM resources needed to enable GitHub Actions to deploy CloudFormation templates: + +``` +aws cloudformation deploy \ + --stack-name amazon-sagemaker-workflow-for-github-actions \ + --template-file cloudformation/github-actions-setup.yml \ + --capabilities CAPABILITY_NAMED_IAM \ + --region us-east-1 +``` +You can review the permissions that your repository's GitHub Actions deployment workflow will have in the [setup.yml](cloudformation-templates/setup.yml) CloudFormation template. + +Retrieve the IAM access key credentials that GitHub Actions will use for deployments: +``` +aws secretsmanager get-secret-value \ + --secret-id github-actions-sagemaker \ + --region us-east-1 \ + --query SecretString \ + --output text +``` + +The GitHub Actions workflow has three stages: Model build, Deploy to staging, and Deploy to production. Each has their on [environment](https://docs.github.com/en/actions/reference/environments) which secrets and optional protection rules. +1. `development` This is the environment in which runs your Model Build and starts the SageMaker pipeline execution, and on completion it will publish a model to the Registry. It is recommend you run this on `pull_request` and `push`. +1. `staging` This second stage deploys your Staging endpoint. It is recommend you run this on commit to the `development` branch and configure a *protection rule* to continue after you have approved the model in the SageMaker Model Registry. +1. `prod` This final stage deploys you Production Endpoint. It is recommend you this on commit the `main` branch with a *protection rule* to require approval after Staging endpoint has been tested. + +For each of the environments you will require setting up the following secrets. +1. Create a secret named `AWS_REGION` defaulted to region `us-east-1` +1. Create a secret named `AWS_ACCESS_KEY_ID` containing the `AccessKeyId` value returned above. +1. Create a secret named `AWS_SECRET_ACCESS_KEY` containing in the `SecretAccessKey` value returned above. +1. Create a secret named `AWS_SAGEMAKER_ROLE` containing the `SageMakerRoleArn` output in the setup stack. + +If you configure *protection rules* for you environments, you will need to click **Review deployments** to approve the next stage as show below: + +![Execution Role](docs/github-actions-workflow.png) + +When the workflow successfully completes, you will have both Endpoints deployed in staging and production, with drift detection enable which will trigger re-training on drift. diff --git a/README.md b/README.md index 8a719ef..7497575 100644 --- a/README.md +++ b/README.md @@ -15,7 +15,7 @@ Once complete, you can Train and Deploy machine learning models, and send traffi Use this following AWS CloudFormation quick start to create a custom [SageMaker MLOps project](https://docs.aws.amazon.com/sagemaker/latest/dg/sagemaker-projects-templates-custom.html) template in the [AWS Service Catalog](https://aws.amazon.com/servicecatalog/) and configure the portfolio and products so you can launch the project from within your Studio domain. -[![Launch Stack](https://s3.amazonaws.com/cloudformation-examples/cloudformation-launch-stack.png)](https://console.aws.amazon.com/cloudformation/home?region=us-east-1#/stacks/quickcreate?templateUrl=https%3A%2F%2Famazon-sagemaker-safe-deployment-pipeline.s3.amazonaws.com%2Fdrift-pipeline%2Fdrift-service-catalog.yml&stackName=drift-pipeline¶m_ExecutionRoleArn=¶m_PortfolioName=SageMaker%20Organization%20Templates¶m_PortfolioOwner=administrator¶m_ProductVersion=1.0) +[![Launch Stack](https://s3.amazonaws.com/cloudformation-examples/cloudformation-launch-stack.png)](https://console.aws.amazon.com/cloudformation/home?region=us-east-1#/stacks/quickcreate?templateUrl=https%3A%2F%2Famazon-sagemaker-safe-deployment-pipeline.s3.amazonaws.com%2Fdrift-pipeline%2Fcloudformation%2Fdrift-service-catalog.yml&stackName=drift-pipeline¶m_ExecutionRoleArn=¶m_PortfolioName=SageMaker%20Organization%20Templates¶m_PortfolioOwner=administrator¶m_ProductVersion=1.0) Follow are the list of the parameters. diff --git a/build_pipeline/app.py b/build_pipeline/app.py index 30a4edd..a71ce1f 100644 --- a/build_pipeline/app.py +++ b/build_pipeline/app.py @@ -23,7 +23,6 @@ def main( sagemaker_pipeline_description, sagemaker_pipeline_role, artifact_bucket, - output_dir, ): # Use project_name for pipeline and model package group name model_package_group_name = project_name @@ -36,29 +35,20 @@ def main( base_job_prefix=project_id, ) - # Create output directory - if not os.path.exists(output_dir): - os.mkdir(output_dir) - # Create the pipeline definition logger.info("Creating/updating a SageMaker Pipeline") pipeline_definition_body = pipeline.definition() parsed = json.loads(pipeline_definition_body) logger.debug(json.dumps(parsed, indent=2, sort_keys=True)) - # Upload the pipeline to S3 bucket/key and return JSON with key/value for for Cfn Stack parameters. + # Upload the pipeline to S3 bucket and return the target key # see: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-pipeline.html - pipeline_location = upload_pipeline( + pipeline_definition_key = upload_pipeline( pipeline, default_bucket=artifact_bucket, base_job_prefix=project_id, ) - # Store parameters as template-config.json used in the next CodePipeline step to create the SageMakerPipelineStack. - with open(os.path.join(output_dir, "template-config.json"), "w") as f: - template_configuration = {"Parameters": pipeline_location} - json.dump(template_configuration, f) - # Create App and stacks app = core.App() @@ -73,7 +63,8 @@ def main( model_package_group_name=model_package_group_name, pipeline_name=sagemaker_pipeline_name, pipeline_description=sagemaker_pipeline_description, - # pipeline_definition_body=pipeline_definition_body, + pipeline_definition_bucket=artifact_bucket, + pipeline_definition_key=pipeline_definition_key, role_arn=sagemaker_pipeline_role, tags=tags, ) @@ -105,7 +96,6 @@ def main( "--artifact-bucket", default=os.environ.get("ARTIFACT_BUCKET"), ) - parser.add_argument("--output-dir", default="dist") args = vars(parser.parse_args()) - print("args: {}".format(args)) + logger.info("args: {}".format(args)) main(**args) diff --git a/build_pipeline/infra/sagemaker_pipeline_stack.py b/build_pipeline/infra/sagemaker_pipeline_stack.py index 830c56b..d626b11 100644 --- a/build_pipeline/infra/sagemaker_pipeline_stack.py +++ b/build_pipeline/infra/sagemaker_pipeline_stack.py @@ -19,28 +19,14 @@ def __init__( model_package_group_name: str, pipeline_name: str, pipeline_description: str, - # pipeline_definition_body: str, + pipeline_definition_bucket: str, + pipeline_definition_key: str, role_arn: str, tags: list, **kwargs, ) -> None: super().__init__(scope, construct_id, **kwargs) - definition_bucket = core.CfnParameter( - self, - "PipelineDefinitionBucket", - type="String", - description="The s3 bucket for pipeline definition", - min_length=1, - ) - definition_key = core.CfnParameter( - self, - "PipelineDefinitionKey", - type="String", - description="The s3 key for pipeline definition", - min_length=1, - ) - sagemaker.CfnModelPackageGroup( self, "ModelPackageGroup", @@ -56,11 +42,10 @@ def __init__( pipeline_description=pipeline_description, pipeline_definition={ "PipelineDefinitionS3Location": { - "Bucket": definition_bucket.value_as_string, - "Key": definition_key.value_as_string, + "Bucket": pipeline_definition_bucket, + "Key": pipeline_definition_key, } }, - # pipeline_definition={"PipelineDefinitionBody": pipeline_definition_body}, role_arn=role_arn, tags=tags, ) diff --git a/build_pipeline/pipelines/pipeline.py b/build_pipeline/pipelines/pipeline.py index 50e9b77..90b9e3b 100644 --- a/build_pipeline/pipelines/pipeline.py +++ b/build_pipeline/pipelines/pipeline.py @@ -81,7 +81,7 @@ def get_pipeline( model_package_group_name, default_bucket, base_job_prefix, -): +) -> Pipeline: """Gets a SageMaker ML Pipeline instance working with on nyc taxi data. Args: region: AWS region to create and run the pipeline. @@ -381,16 +381,12 @@ def get_pipeline( return pipeline -def upload_pipeline(pipeline: Pipeline, default_bucket, base_job_prefix): +def upload_pipeline(pipeline: Pipeline, default_bucket, base_job_prefix) -> str: # Get the pipeline definition pipeline_definition_body = pipeline.definition() # Upload the pipeline to a unique location in s3 based on git commit and timestamp - pipeline_name = name_from_base(f"{base_job_prefix}/pipeline") + pipeline_key = name_from_base(f"{base_job_prefix}/pipeline.json") S3Uploader.upload_string_as_file_body( - pipeline_definition_body, f"s3://{default_bucket}/{pipeline_name}.json" + pipeline_definition_body, f"s3://{default_bucket}/{pipeline_key}" ) - # Return JSON with parameters used in Cfn Stack creation as template-configuration.json - return { - "PipelineDefinitionBucket": default_bucket, - "PipelineDefinitionKey": f"{pipeline_name}.json", - } + return pipeline_key diff --git a/drift-service-catalog.yml b/cloudformation/drift-service-catalog.yml similarity index 93% rename from drift-service-catalog.yml rename to cloudformation/drift-service-catalog.yml index 08ab564..e103f2b 100644 --- a/drift-service-catalog.yml +++ b/cloudformation/drift-service-catalog.yml @@ -46,7 +46,7 @@ Resources: - DisableTemplateValidation: false Info: LoadTemplateFromURL: - Fn::Sub: https://s3.${AWS::Region}.${AWS::URLSuffix}/amazon-sagemaker-safe-deployment-pipeline/drift/995c5412ab943fce18ceaf3ebe66d305f8ab054a4a3f643768722c3fead226a0.json + Fn::Sub: https://s3.${AWS::Region}.${AWS::URLSuffix}/amazon-sagemaker-safe-deployment-pipeline/drift-pipeline/bb5d48cd7945c426367bc6e4c68bddbe49e843cd1675417a43612ecf57c74db9.json Name: Ref: ProductVersion Description: Amazon SageMaker Project for a build and deployment pipeline that triggers on drift or schedule @@ -243,18 +243,18 @@ Resources: Type: AWS::SSM::Parameter Properties: Type: String - Value: drift/be4dfed42e0626f2201f8ce29518fb4e31fb640eca88a156fedc5b8d568c6c1c.zip + Value: drift-pipeline/d297faa65fa51491492d4cacebf1defed72b187c02365def3b69229387498bb7.zip Name: /drift-pipeline/CodeCommitBuildKey CodeCommitDeployKey5E5A6E47: Type: AWS::SSM::Parameter Properties: Type: String - Value: drift/381262eab49cfaf013c17daf9216232c25761d7f0ec33583681b6b699adf4ecf.zip + Value: drift-pipeline/3a795f940d89cbb6df0f6b41f06788a8c809f09b6254b151eeec3cdcbe7426c8.zip Name: /drift-pipeline/CodeCommitDeployKey CDKMetadata: Type: AWS::CDK::Metadata Properties: - Analytics: v2:deflate64:H4sIAAAAAAAAE3WQwU7EMAxEv2XvaXar5cARthKnPVTlCyzX7Zq2MUoc0Krqv5O0SBQJTvEkk3kal7YsH+zp8ASfocB2OM4onuz8qoCDqTpXg4eJlLx5DoE03ffselOJC+ojqmkoSPRI2byfk6NlZXGLydlzIP/BSAgKo/R2rsVrJyPLSvlT1F7ahEhgQYacZapRYvsiflrlt2HF/fewS2OH/A7jr7zOXSE6vDUy0lYK2OliwrmAXDjYtXfS9hJxIL1AIMMw5QYj431j5Cl9ClNeXQL1P3vbL3FZFlPf9SbueLaPtjwd3gJz4aNTnsg22/kFLKE7OZUBAAA= + Analytics: v2:deflate64:H4sIAAAAAAAAE3WQwWrEMAxEv2XvjnfDQumx3UBPewjpFwhFyapJrGLLLUvIv9dOCk2hPVljj+cxKm1ZPtjT4Qk+Q4HtcJxRPNn5VQEHU3WuBg8TKXnzHAJpuu/Z9aYSF9RHVNNQkOiRsnk/J0fLyuIWk7PnQP6DkRAURuntXIvXTkaWlfKnqL20CZHAggw5y1SjxPZF/LTKb8OK++9hl8YO+R3GX3mdu0J0eGtkpK0UsNPFhHMBuXCwa++k7SXiQHqBQIZhyg1GxvvGyFP6FKa8ugTqf/a2X+KyLKa+603c8WwfbXk6vAXmwkenPJFttvMLHtBBNZUBAAA= Condition: CDKMetadataAvailable Conditions: CDKMetadataAvailable: diff --git a/cloudformation/github-actions-setup.yml b/cloudformation/github-actions-setup.yml new file mode 100644 index 0000000..dc871f7 --- /dev/null +++ b/cloudformation/github-actions-setup.yml @@ -0,0 +1,81 @@ +AWSTemplateFormatVersion: "2010-09-09" +Description: Setup IAM user for GitHub Actions and IAM role for SageMaker + +Parameters: + GitHubActionsUserName: + Type: String + Default: github-actions-sagemaker-user + SageMakerRoleName: + Type: String + Default: github-actions-sagemaker-role + +Resources: + GitHubActionsUser: + Type: AWS::IAM::User + Properties: + UserName: !Ref GitHubActionsUserName + + GitHubActionsUserAccessKey: + Type: AWS::IAM::AccessKey + Properties: + UserName: !Ref GitHubActionsUser + Serial: 1 + + GitHubActionsCredentials: + Type: AWS::SecretsManager::Secret + Properties: + Name: !Ref GitHubActionsUserName + SecretString: !Sub | + { + "AccessKeyId":"${GitHubActionsUserAccessKey}", + "SecretAccessKey":"${GitHubActionsUserAccessKey.SecretAccessKey}" + } + + # Permissions to perform cloudformation and assume pass SageMakerRole for autoscaling + GitHubActionsDeployPolicy: + Type: AWS::IAM::Policy + Properties: + Roles: + - !Ref SageMakerRole + PolicyName: allow-github-actions-cloudformation-deploy + PolicyDocument: + Version: "2012-10-17" + Statement: + - Action: + - "cloudformation:*" + Effect: Allow + Resource: "*" + - Action: "cloudformation:DeleteStack" + Effect: Deny + Resource: "*" + - Action: "iam:PassRole" + Effect: Allow + Resource: !GetAtt SageMakerRole.Arn + + SageMakerRole: + Type: AWS::IAM::Role + Properties: + RoleName: !Ref SageMakerRoleName + MaxSessionDuration: 43200 # 12 hours maximum duration + AssumeRolePolicyDocument: + Version: "2012-10-17" + Statement: + - Effect: "Allow" + Principal: + Service: + - sagemaker.amazonaws.com + Action: + - "sts:AssumeRole" + - Effect: "Allow" + Principal: + AWS: !GetAtt GitHubActionsUser.Arn + Action: + - "sts:AssumeRole" + - "sts:TagSession" + ManagedPolicyArns: + - arn:aws:iam::aws:policy/AmazonS3FullAccess + - arn:aws:iam::aws:policy/AmazonSageMakerFullAccess + +Outputs: + SageMakerRoleArn: + Value: !GetAtt SageMakerRole.Arn \ No newline at end of file diff --git a/deployment_pipeline/app.py b/deployment_pipeline/app.py index 0922a78..f13e59f 100644 --- a/deployment_pipeline/app.py +++ b/deployment_pipeline/app.py @@ -144,5 +144,5 @@ def main( default=os.environ.get("ARTIFACT_BUCKET"), ) args = vars(parser.parse_args()) - print("args: {}".format(args)) + logger.info("args: {}".format(args)) main(**args) diff --git a/docs/github-actions-workflow.png b/docs/github-actions-workflow.png new file mode 100644 index 0000000000000000000000000000000000000000..cdaf991f0cab115fc58f183c0014db70b6de35ef GIT binary patch literal 91047 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 H?9KlG@@$9< literal 0 HcmV?d00001 diff --git a/infra/build_pipeline_construct.py b/infra/build_pipeline_construct.py index f188065..c39850d 100644 --- a/infra/build_pipeline_construct.py +++ b/infra/build_pipeline_construct.py @@ -114,7 +114,6 @@ def __init__( "base-directory": "dist", "files": [ "pipeline.json", - "template-config.json", "*.template.json", ], }, @@ -224,9 +223,6 @@ def __init__( template_path=pipeline_build_output.at_path( "drift-sagemaker-pipeline.template.json" ), - template_configuration=pipeline_build_output.at_path( - "template-config.json" - ), stack_name="sagemaker-{}-pipeline".format(project_name), admin_permissions=False, deployment_role=cloudformation_role, diff --git a/infra/upload_assets.py b/infra/upload_assets.py index eae3ffa..00f3774 100644 --- a/infra/upload_assets.py +++ b/infra/upload_assets.py @@ -121,7 +121,7 @@ def upload_assets(cdk_dir: str = "cdk.out") -> None: logger.addHandler(ch) logger.info(f"Uploading assets for git ref: {GITHUB_REF} sha: {GITHUB_SHA}") # Upload YAML template - template_name = "drift-service-catalog.yml" + template_name = "cloudformation/drift-service-catalog.yml" object_key = f"{BUCKET_PREFIX}{template_name}" upload_file(template_name, BUCKET_NAME, object_key, "application/x-yaml") # Upload assets From 32aa6d2e30c986fb810f41b076080992f457e2df Mon Sep 17 00:00:00 2001 From: Julian Bright Date: Tue, 31 Aug 2021 14:18:31 +1000 Subject: [PATCH 2/6] Updating ACTIONS.md --- ACTIONS.md | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/ACTIONS.md b/ACTIONS.md index 1c34ad6..5873283 100644 --- a/ACTIONS.md +++ b/ACTIONS.md @@ -5,10 +5,12 @@ This template repository contains a sample application and sample GitHub Actions This MLOps workflow demonstrates training and evaluating a machine learning model to predict taxi fare from the public [New York City Taxi dataset](https://registry.opendata.aws/nyc-tlc-trip-records-pds/) deployed with Amazon SageMaker. This repository contains a number of start workflow files for GitHub Actions: -1. [build-pipeline.yml](./build-pipeline.yml) runs when a pull request is opened or updated. This workflow creates or updates the Sagemaker Pipeline, and starts an execution. -1. [deploy-staging.yml](./deploy-staging.yml) runs when a new commit is pushed to the master branch for the `staging` environment. This workflow deploys the SageMaker endpoint for staging. (WIP) -1. [deploy-prod.yml](./deploy-prod.yml) runs when a new commit is pushed to the master branch for the `production` environment. This workflow deploys the Sagemaker endpoint for production. (WIP) -1. [publish-template.yml](./publish-template.yml) runs when a new commit is pushed to the master branch for the `public` environment. Synths and uploads the CFN templates and build & deploy assets for launching the stack. +1. [build-deploy-pipeline.yml](.github/workflows/build-deploy-pipeline.yml) This workflow runs when a pull request is opened or commit with the following stages: + * `build`: This workflow creates or updates the Sagemaker Pipeline, and starts an execution in the `development` environment. + * `deploy_staging`: This workflow deploys the SageMaker endpoint in the `staging` environment. + * `deploy_prod`: This workflow deploys the SageMaker endpoint with Model Monitor in the `prod` environment. +1. [publish-template.yml](.github/workflows/publish-template.yml) runs when a new commit is pushed to the main branch in the `aws` environment: + * Synths and uploads the CFN templates and build & deploy assets for launching the stack. ## Create a GitHub repository from this template From 7ce34e72cba0cdda3afb5583a6ba27c84bbd0bf1 Mon Sep 17 00:00:00 2001 From: Julian Bright Date: Tue, 31 Aug 2021 14:29:56 +1000 Subject: [PATCH 3/6] Format yml as text --- ACTIONS.md | 2 +- .../{github-actions-setup.yml => github-actions-setup.yml} | 0 2 files changed, 1 insertion(+), 1 deletion(-) rename cloudformation/{github-actions-setup.yml => github-actions-setup.yml} (100%) diff --git a/ACTIONS.md b/ACTIONS.md index 5873283..1aaf5dc 100644 --- a/ACTIONS.md +++ b/ACTIONS.md @@ -25,7 +25,7 @@ aws cloudformation deploy \ --capabilities CAPABILITY_NAMED_IAM \ --region us-east-1 ``` -You can review the permissions that your repository's GitHub Actions deployment workflow will have in the [setup.yml](cloudformation-templates/setup.yml) CloudFormation template. +You can review the permissions that your repository's GitHub Actions deployment workflow will have in the [github-actions-setup.yml](cloudformation/github-actions-setup.yml) CloudFormation template. Retrieve the IAM access key credentials that GitHub Actions will use for deployments: ``` diff --git a/cloudformation/github-actions-setup.yml b/cloudformation/github-actions-setup.yml similarity index 100% rename from cloudformation/github-actions-setup.yml rename to cloudformation/github-actions-setup.yml From f7c9538f9af634a38f4e5ae057c1032574e5da79 Mon Sep 17 00:00:00 2001 From: Julian Date: Thu, 30 Sep 2021 20:08:25 +1000 Subject: [PATCH 4/6] Add batch pipeline to GitHub actions workflow (#3) * Create lambda on fly in batch pipline, and change actions to pass role for SM product use role * Update github actions to allow read-only sagemaker permissions. Added batch stages * Default env at workflow instead of secret, set role based on creds * Update to pass function arn that is created in CFN * Adding lambda permissions, and enable batch prod, change build pipeline name * Update SC stack to add create lambda permissions for SM functions * Move lambda inline to SM pipeline * Update to run batch prod in main branch only * Update to only do on push or pull request for main * Renaming pipeline name to get around hung SM pipeline --- .github/workflows/build-deploy-pipeline.yml | 226 +++++++++++++----- ACTIONS.md | 31 ++- batch_pipeline/app.py | 17 +- .../infra/sagemaker_pipeline_stack.py | 4 +- .../lambda}/lambda_evaluate_drift.py | 0 batch_pipeline/pipelines/pipeline.py | 13 +- batch_pipeline/setup.py | 1 + cloudformation/github-actions-setup.yml | 69 +++--- docs/github-actions-workflow.png | Bin 91047 -> 296290 bytes infra/batch_pipeline_construct.py | 27 +-- infra/build_pipeline_construct.py | 4 +- infra/pipeline_stack.py | 4 +- infra/service_catalog_stack.py | 12 + lambda/{build => }/lambda_pipeline_change.py | 0 lambda/{build => }/lambda_start_pipeline.py | 0 15 files changed, 266 insertions(+), 142 deletions(-) rename {lambda/batch => batch_pipeline/lambda}/lambda_evaluate_drift.py (100%) rename lambda/{build => }/lambda_pipeline_change.py (100%) rename lambda/{build => }/lambda_start_pipeline.py (100%) diff --git a/.github/workflows/build-deploy-pipeline.yml b/.github/workflows/build-deploy-pipeline.yml index faa77b4..0ff1539 100644 --- a/.github/workflows/build-deploy-pipeline.yml +++ b/.github/workflows/build-deploy-pipeline.yml @@ -4,7 +4,22 @@ name: Build and Deploy -on: [push, pull_request] # Optionally filter on branch +on: + # Trigger the workflow on push or pull request, + # but only for the main branch + push: + branches: + - main + pull_request: + branches: + - main + release: + types: + - created + +env: + AWS_REGION: us-east-1 + PROJECT_NAME: ${{ github.event.repository.name }} jobs: build: @@ -20,25 +35,15 @@ jobs: - name: Checkout uses: actions/checkout@v2 - - name: Config Environment - id: env-name - env: - PROJECT_NAME: ${{ github.event.repository.name }} - run: | - echo "Project name: $PROJECT_NAME" - echo "::set-output name=project_name::$PROJECT_NAME" - - name: Setup Python uses: actions/setup-python@v2 with: python-version: "3.8" - architecture: "x64" - name: Setup Node uses: actions/setup-node@v2 with: node-version: "12" - architecture: "x64" cache: npm - name: Install Requirements @@ -52,18 +57,16 @@ jobs: with: aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }} aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }} - aws-region: ${{ secrets.AWS_REGION }} - role-to-assume: ${{ secrets.AWS_SAGEMAKER_ROLE }} + aws-region: ${{ env.AWS_REGION }} role-duration-seconds: 1200 - name: Build Pipeline id: build-pipeline env: - SAGEMAKER_PROJECT_NAME: ${{ steps.env-name.outputs.project_name }} - SAGEMAKER_PIPELINE_NAME: ${{ steps.env-name.outputs.project_name }}-pipeline - SAGEMAKER_PIPELINE_DESCRIPTION: "SageMaker pipeline created from GitHub actions" - SAGEMAKER_PIPELINE_ROLE_ARN: ${{ secrets.AWS_SAGEMAKER_ROLE }} - AWS_REGION: ${{ secrets.AWS_REGION }} + SAGEMAKER_PROJECT_NAME: ${{ env.PROJECT_NAME }} + SAGEMAKER_PIPELINE_NAME: ${{ env.PROJECT_NAME }}-pipeline + SAGEMAKER_PIPELINE_DESCRIPTION: "Drift detection model build pipeline created from GitHub actions" + SAGEMAKER_PIPELINE_ROLE_ARN: arn:aws:iam::${{ steps.creds.outputs.aws-account-id }}:role/service-role/AmazonSageMakerServiceCatalogProductsUseRole run: | export SAGEMAKER_PROJECT_ID=`aws sagemaker describe-project --project-name $SAGEMAKER_PROJECT_NAME --query ProjectId --output text` echo "Project id: $SAGEMAKER_PROJECT_ID" @@ -76,15 +79,14 @@ jobs: run: cat drift-pipeline.yml - name: Create CFN Pipeline - id: deploy-pipeline uses: aws-actions/aws-cloudformation-github-deploy@v1 with: - name: sagemaker-${{ steps.build-pipeline.outputs.pipeline_name }} + name: sagemaker-${{ env.PROJECT_NAME }}-pipeline template: ./build_pipeline/drift-pipeline.yml # Need to specify working-directory + role-arn: arn:aws:iam::${{ steps.creds.outputs.aws-account-id }}:role/service-role/AmazonSageMakerServiceCatalogProductsUseRole no-fail-on-empty-changeset: "1" - name: Start Pipeline - id: start-pipeline # TODO: Run python code that waits for pipeline to complete run: aws sagemaker start-pipeline-execution --pipeline-name ${{ steps.build-pipeline.outputs.pipeline_name }} --pipeline-parameters Name=InputSource,Value=GitHubAction#${{ github.run_number }} - name: Upload template @@ -93,6 +95,145 @@ jobs: name: drift-pipeline path: ./build_pipeline/drift-pipeline.yml + batch_staging: + needs: build + name: Batch to staging + runs-on: ubuntu-latest + environment: + name: batch-staging + defaults: + run: + shell: bash + working-directory: ./batch_pipeline + steps: + - name: Checkout + uses: actions/checkout@v2 + + - name: Setup Python + uses: actions/setup-python@v2 + with: + python-version: "3.8" + + - name: Setup Node + uses: actions/setup-node@v2 + with: + node-version: "12" + cache: npm + + - name: Install Requirements + run: | + npm install -g aws-cdk # Install cdk + pip install --requirement requirements.txt + + - name: Configure AWS Credentials + uses: aws-actions/configure-aws-credentials@v1 + id: creds + with: + aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }} + aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }} + aws-region: ${{ env.AWS_REGION }} + role-duration-seconds: 1200 + + - name: Build Templates + id: build-templates + env: + SAGEMAKER_PROJECT_NAME: ${{ env.PROJECT_NAME }} + SAGEMAKER_PIPELINE_ROLE_ARN: arn:aws:iam::${{ steps.creds.outputs.aws-account-id }}:role/service-role/AmazonSageMakerServiceCatalogProductsUseRole + LAMBDA_ROLE_ARN: arn:aws:iam::${{ steps.creds.outputs.aws-account-id }}:role/service-role/AmazonSageMakerServiceCatalogProductsUseRole + run: | + export SAGEMAKER_PROJECT_ID=`aws sagemaker describe-project --project-name $SAGEMAKER_PROJECT_NAME --query ProjectId --output text` + echo "Project id: $SAGEMAKER_PROJECT_ID" + export ARTIFACT_BUCKET=sagemaker-project-$SAGEMAKER_PROJECT_ID-$AWS_REGION + echo "Artifact Bucket: $ARTIFACT_BUCKET" + npx cdk synth drift-batch-staging --path-metadata false --asset-metadata=false > drift-batch-staging.yml + + - name: Print template + run: cat drift-batch-staging.yml + + - name: Deploy Staging + uses: aws-actions/aws-cloudformation-github-deploy@v1 + with: + name: sagemaker-${{ env.PROJECT_NAME }}-batch-staging + template: ./batch_pipeline/drift-batch-staging.yml # Need to specify working-directory + role-arn: arn:aws:iam::${{ steps.creds.outputs.aws-account-id }}:role/service-role/AmazonSageMakerServiceCatalogProductsUseRole + no-fail-on-empty-changeset: "1" + + - name: Upload template + uses: actions/upload-artifact@v2 + with: + name: drift-batch-staging + path: ./batch_pipeline/drift-batch-staging.yml + + batch_prod: + needs: batch_staging + name: Batch to prod + if: ${{ github.ref == 'refs/heads/main' }} # Filter to only run on main branch + runs-on: ubuntu-latest + environment: + name: batch-prod + defaults: + run: + shell: bash + working-directory: ./batch_pipeline + steps: + - name: Checkout + uses: actions/checkout@v2 + + - name: Setup Python + uses: actions/setup-python@v2 + with: + python-version: "3.8" + + - name: Setup Node + uses: actions/setup-node@v2 + with: + node-version: "12" + cache: npm + + - name: Install Requirements + run: | + npm install -g aws-cdk # Install cdk + pip install --requirement requirements.txt + + - name: Configure AWS Credentials + id: creds + uses: aws-actions/configure-aws-credentials@v1 + with: + aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }} + aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }} + aws-region: ${{ env.AWS_REGION }} + role-duration-seconds: 1200 + + - name: Build Templates + id: build-templates + env: + SAGEMAKER_PROJECT_NAME: ${{ env.PROJECT_NAME }} + SAGEMAKER_PIPELINE_ROLE_ARN: arn:aws:iam::${{ steps.creds.outputs.aws-account-id }}:role/service-role/AmazonSageMakerServiceCatalogProductsUseRole + LAMBDA_ROLE_ARN: arn:aws:iam::${{ steps.creds.outputs.aws-account-id }}:role/service-role/AmazonSageMakerServiceCatalogProductsUseRole + run: | + export SAGEMAKER_PROJECT_ID=`aws sagemaker describe-project --project-name $SAGEMAKER_PROJECT_NAME --query ProjectId --output text` + echo "Project id: $SAGEMAKER_PROJECT_ID" + export ARTIFACT_BUCKET=sagemaker-project-$SAGEMAKER_PROJECT_ID-$AWS_REGION + echo "Artifact Bucket: $ARTIFACT_BUCKET" + npx cdk synth drift-batch-prod --path-metadata false --asset-metadata=false > drift-batch-prod.yml + + - name: Print Template + run: cat drift-batch-prod.yml + + - name: Deploy Prod + uses: aws-actions/aws-cloudformation-github-deploy@v1 + with: + name: sagemaker-${{ env.PROJECT_NAME }}-batch-prod + template: ./batch_pipeline/drift-batch-prod.yml # Need to specify working-directory + role-arn: arn:aws:iam::${{ steps.creds.outputs.aws-account-id }}:role/service-role/AmazonSageMakerServiceCatalogProductsUseRole + no-fail-on-empty-changeset: "1" + + - name: Upload template + uses: actions/upload-artifact@v2 + with: + name: drift-batch-prod + path: ./batch_pipeline/drift-batch-prod.yml + deploy_staging: needs: build name: Deploy to staging @@ -107,25 +248,15 @@ jobs: - name: Checkout uses: actions/checkout@v2 - - name: Config Environment - id: env-name - env: - PROJECT_NAME: ${{ github.event.repository.name }} - run: | - echo "Project name: $PROJECT_NAME" - echo "::set-output name=project_name::$PROJECT_NAME" - - name: Setup Python uses: actions/setup-python@v2 with: python-version: "3.8" - architecture: "x64" - name: Setup Node uses: actions/setup-node@v2 with: node-version: "12" - architecture: "x64" cache: npm - name: Install Requirements @@ -139,16 +270,14 @@ jobs: with: aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }} aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }} - aws-region: ${{ secrets.AWS_REGION }} - role-to-assume: ${{ secrets.AWS_SAGEMAKER_ROLE }} + aws-region: ${{ env.AWS_REGION }} role-duration-seconds: 1200 - name: Build Templates id: build-templates env: - SAGEMAKER_PROJECT_NAME: ${{ steps.env-name.outputs.project_name }} - SAGEMAKER_EXECUTION_ROLE_ARN: ${{ secrets.AWS_SAGEMAKER_ROLE }} - AWS_REGION: ${{ secrets.AWS_REGION }} + SAGEMAKER_PROJECT_NAME: ${{ env.PROJECT_NAME }} + SAGEMAKER_EXECUTION_ROLE_ARN: arn:aws:iam::${{ steps.creds.outputs.aws-account-id }}:role/service-role/AmazonSageMakerServiceCatalogProductsUseRole run: | export SAGEMAKER_PROJECT_ID=`aws sagemaker describe-project --project-name $SAGEMAKER_PROJECT_NAME --query ProjectId --output text` echo "Project id: $SAGEMAKER_PROJECT_ID" @@ -160,11 +289,11 @@ jobs: run: cat drift-deploy-staging.yml - name: Deploy Staging - id: deploy-pipeline uses: aws-actions/aws-cloudformation-github-deploy@v1 with: - name: sagemaker-${{ steps.env-name.outputs.project_name }}-deploy-staging + name: sagemaker-${{ env.PROJECT_NAME }}-deploy-staging template: ./deployment_pipeline/drift-deploy-staging.yml # Need to specify working-directory + role-arn: arn:aws:iam::${{ steps.creds.outputs.aws-account-id }}:role/service-role/AmazonSageMakerServiceCatalogProductsUseRole no-fail-on-empty-changeset: "1" - name: Upload template @@ -188,25 +317,15 @@ jobs: - name: Checkout uses: actions/checkout@v2 - - name: Config Environment - id: env-name - env: - PROJECT_NAME: ${{ github.event.repository.name }} - run: | - echo "Project name: $PROJECT_NAME" - echo "::set-output name=project_name::$PROJECT_NAME" - - name: Setup Python uses: actions/setup-python@v2 with: python-version: "3.8" - architecture: "x64" - name: Setup Node uses: actions/setup-node@v2 with: node-version: "12" - architecture: "x64" cache: npm - name: Install Requirements @@ -220,16 +339,14 @@ jobs: with: aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }} aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }} - aws-region: ${{ secrets.AWS_REGION }} - role-to-assume: ${{ secrets.AWS_SAGEMAKER_ROLE }} + aws-region: ${{ env.AWS_REGION }} role-duration-seconds: 1200 - name: Build Templates id: build-templates env: - SAGEMAKER_PROJECT_NAME: ${{ steps.env-name.outputs.project_name }} - SAGEMAKER_EXECUTION_ROLE_ARN: ${{ secrets.AWS_SAGEMAKER_ROLE }} - AWS_REGION: ${{ secrets.AWS_REGION }} + SAGEMAKER_PROJECT_NAME: ${{ env.PROJECT_NAME }} + SAGEMAKER_EXECUTION_ROLE_ARN: arn:aws:iam::${{ steps.creds.outputs.aws-account-id }}:role/service-role/AmazonSageMakerServiceCatalogProductsUseRole run: | export SAGEMAKER_PROJECT_ID=`aws sagemaker describe-project --project-name $SAGEMAKER_PROJECT_NAME --query ProjectId --output text` echo "Project id: $SAGEMAKER_PROJECT_ID" @@ -244,8 +361,9 @@ jobs: id: deploy-pipeline uses: aws-actions/aws-cloudformation-github-deploy@v1 with: - name: sagemaker-${{ steps.env-name.outputs.project_name }}-deploy-prod + name: sagemaker-${{ env.PROJECT_NAME }}-deploy-prod template: ./deployment_pipeline/drift-deploy-prod.yml # Need to specify working-directory + role-arn: arn:aws:iam::${{ steps.creds.outputs.aws-account-id }}:role/service-role/AmazonSageMakerServiceCatalogProductsUseRole no-fail-on-empty-changeset: "1" - name: Upload template diff --git a/ACTIONS.md b/ACTIONS.md index 1aaf5dc..6746309 100644 --- a/ACTIONS.md +++ b/ACTIONS.md @@ -36,19 +36,28 @@ aws secretsmanager get-secret-value \ --output text ``` -The GitHub Actions workflow has three stages: Model build, Deploy to staging, and Deploy to production. Each has their on [environment](https://docs.github.com/en/actions/reference/environments) which secrets and optional protection rules. -1. `development` This is the environment in which runs your Model Build and starts the SageMaker pipeline execution, and on completion it will publish a model to the Registry. It is recommend you run this on `pull_request` and `push`. -1. `staging` This second stage deploys your Staging endpoint. It is recommend you run this on commit to the `development` branch and configure a *protection rule* to continue after you have approved the model in the SageMaker Model Registry. -1. `prod` This final stage deploys you Production Endpoint. It is recommend you this on commit the `main` branch with a *protection rule* to require approval after Staging endpoint has been tested. +### Jobs -For each of the environments you will require setting up the following secrets. -1. Create a secret named `AWS_REGION` defaulted to region `us-east-1` -1. Create a secret named `AWS_ACCESS_KEY_ID` containing the `AccessKeyId` value returned above. -1. Create a secret named `AWS_SECRET_ACCESS_KEY` containing in the `SecretAccessKey` value returned above. -1. Create a secret named `AWS_SAGEMAKER_ROLE` containing the `SageMakerRoleArn` output in the setup stack. +This sample includes a `Build and Deploy` [GitHub Actions](https://docs.github.com/en/actions/learn-github-actions/understanding-github-actions) workflow with contains the following jobs +1. The `Build Model` job will create or update a SageMaker Model Build Pipeline using AWS CloudFormation. +2. The `Batch` jobs will create or update a SageMaker Pipeline to run Batch Scoring for Staging and Production environments. +3. The `Deploy` jobs will deploy SageMaker Endpoints to Staging and Production environments. -If you configure *protection rules* for you environments, you will need to click **Review deployments** to approve the next stage as show below: +These jobs are configured to run against a specific [environment](https://docs.github.com/en/actions/reference/environments) which contains both secrets and optional *protection rules*. ![Execution Role](docs/github-actions-workflow.png) -When the workflow successfully completes, you will have both Endpoints deployed in staging and production, with drift detection enable which will trigger re-training on drift. +### Environments + +1. `development` environment in which runs your `Build Model` job and starts the SageMaker pipeline execution. On completion this pipeline will publish a model to the Registry. It is recommend you run this on `pull_request` and `push` events. +2. `staging` and `batch-staging` environments will enable you to run the `Batch` and `Deploy` jobs respectively in staging. + * You should configure a *protection rule* for data science team so this job is delayed until the latest model has been approved in the SageMaker model registry. + 3. `prod` and `batch-prod` environments will enable you to run the `Batch` and `Deploy` jobs respectively in production. + * You should configure a *protection rule* for your operations team which will approve this only once they are happy that the staging environment has been tested. + +For each of the environments you will require setting up the following secrets. +1. Create a secret named `AWS_ACCESS_KEY_ID` containing the `AccessKeyId` value returned above. +1. Create a secret named `AWS_SECRET_ACCESS_KEY` containing in the `SecretAccessKey` value returned above. +1. Create a secret named `AWS_SAGEMAKER_ROLE` containing the ARN for the `AmazonSageMakerServiceCatalogProductsUseRole` in your account. + +When the workflow successfully completes, drift detection is configured to trigger re-training on drift detection in the production batch pipeline or real-time endpoint. diff --git a/batch_pipeline/app.py b/batch_pipeline/app.py index 51cf5b1..2665ee1 100644 --- a/batch_pipeline/app.py +++ b/batch_pipeline/app.py @@ -27,8 +27,8 @@ def create_pipeline( project_id: str, region: str, sagemaker_pipeline_role_arn: str, + lambda_role_arn: str, artifact_bucket: str, - evaluate_drift_function_arn: str, stage_name: str, ): # Get the stage specific deployment config for sagemaker @@ -85,7 +85,7 @@ def create_pipeline( pipeline_name=sagemaker_pipeline_name, default_bucket=artifact_bucket, base_job_prefix=project_id, - evaluate_drift_function_arn=evaluate_drift_function_arn, + lambda_role_arn=lambda_role_arn, data_uri=data_uri, model_uri=model_uri, transform_uri=transform_uri, @@ -98,8 +98,7 @@ def create_pipeline( parsed = json.loads(pipeline_definition_body) logger.info(json.dumps(parsed, indent=2, sort_keys=True)) - # Upload the pipeline to S3 bucket/key and return JSON with key/value for for Cfn Stack parameters. - # see: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sagemaker-pipeline.html + # Upload the pipeline to S3 bucket/key logger.info(f"Uploading {stage_name} pipeline to {artifact_bucket}") pipeline_definition_key = upload_pipeline( pipeline, @@ -131,8 +130,8 @@ def main( project_id: str, region: str, sagemaker_pipeline_role_arn: str, + lambda_role_arn: str, artifact_bucket: str, - evaluate_drift_function_arn: str, ): # Create App and stacks app = core.App() @@ -143,8 +142,8 @@ def main( project_id=project_id, region=region, sagemaker_pipeline_role_arn=sagemaker_pipeline_role_arn, + lambda_role_arn=lambda_role_arn, artifact_bucket=artifact_bucket, - evaluate_drift_function_arn=evaluate_drift_function_arn, stage_name="staging", ) @@ -154,8 +153,8 @@ def main( project_id=project_id, region=region, sagemaker_pipeline_role_arn=sagemaker_pipeline_role_arn, + lambda_role_arn=lambda_role_arn, artifact_bucket=artifact_bucket, - evaluate_drift_function_arn=evaluate_drift_function_arn, stage_name="prod", ) @@ -175,8 +174,8 @@ def main( default=os.environ.get("SAGEMAKER_PIPELINE_ROLE_ARN"), ) parser.add_argument( - "--evaluate-drift-function-arn", - default=os.environ.get("EVALUATE_DRIFT_FUNCTION_ARN"), + "--lambda-role-arn", + default=os.environ.get("LAMBDA_ROLE_ARN"), ) parser.add_argument( "--artifact-bucket", diff --git a/batch_pipeline/infra/sagemaker_pipeline_stack.py b/batch_pipeline/infra/sagemaker_pipeline_stack.py index dfcd146..51cc019 100644 --- a/batch_pipeline/infra/sagemaker_pipeline_stack.py +++ b/batch_pipeline/infra/sagemaker_pipeline_stack.py @@ -1,14 +1,12 @@ from aws_cdk import ( core, aws_cloudwatch as cloudwatch, - aws_events as events, aws_iam as iam, + aws_lambda as lambda_, aws_sagemaker as sagemaker, ) import logging -import os -from urllib.parse import urlparse from batch_config import DriftConfig logger = logging.getLogger(__name__) diff --git a/lambda/batch/lambda_evaluate_drift.py b/batch_pipeline/lambda/lambda_evaluate_drift.py similarity index 100% rename from lambda/batch/lambda_evaluate_drift.py rename to batch_pipeline/lambda/lambda_evaluate_drift.py diff --git a/batch_pipeline/pipelines/pipeline.py b/batch_pipeline/pipelines/pipeline.py index ada00d2..c5236d6 100644 --- a/batch_pipeline/pipelines/pipeline.py +++ b/batch_pipeline/pipelines/pipeline.py @@ -73,7 +73,7 @@ def get_pipeline( pipeline_name: str, default_bucket: str, base_job_prefix: str, - evaluate_drift_function_arn: str, + lambda_role_arn: str, data_uri: str, model_uri: str, transform_uri: str, @@ -241,10 +241,15 @@ def get_pipeline( cache_config=cache_config, ) - # Create a lambda step that inspects the output of the model monitoring + # Create an inline lambda step that inspects the output of the model monitoring step_lambda = LambdaStep( name="EvaluateDrift", - lambda_func=Lambda(function_arn=evaluate_drift_function_arn), + lambda_func=Lambda( + function_name=f"sagemaker-{pipeline_name}", # Must be <64 characters + execution_role_arn=lambda_role_arn, + script=os.path.join(BASE_DIR, "../lambda/lambda_evaluate_drift.py"), + handler="lambda_evaluate_drift.lambda_handler", + ), inputs={ "ProcessingJobName": step_monitor.properties.ProcessingJobName, "PipelineName": pipeline_name, @@ -256,8 +261,6 @@ def get_pipeline( ], ) - # TODO: Fail workflow when statusCode==400 - steps += [step_monitor, step_lambda] # pipeline instance diff --git a/batch_pipeline/setup.py b/batch_pipeline/setup.py index 21a8342..81d740e 100644 --- a/batch_pipeline/setup.py +++ b/batch_pipeline/setup.py @@ -20,6 +20,7 @@ "aws-cdk.aws-cloudwatch==1.116.0", "aws-cdk.aws-events==1.116.0", "aws-cdk.aws-iam==1.116.0", + "aws-cdk.aws-lambda==1.116.0", "aws-cdk.aws-sagemaker==1.116.0", "sagemaker==2.54.0", ], diff --git a/cloudformation/github-actions-setup.yml b/cloudformation/github-actions-setup.yml index dc871f7..c9d4707 100644 --- a/cloudformation/github-actions-setup.yml +++ b/cloudformation/github-actions-setup.yml @@ -4,10 +4,7 @@ Description: Setup IAM user for GitHub Actions and IAM role for SageMaker Parameters: GitHubActionsUserName: Type: String - Default: github-actions-sagemaker-user - SageMakerRoleName: - Type: String - Default: github-actions-sagemaker-role + Default: github-actions-sagemaker Resources: GitHubActionsUser: @@ -31,13 +28,13 @@ Resources: "SecretAccessKey":"${GitHubActionsUserAccessKey.SecretAccessKey}" } - # Permissions to perform cloudformation and assume pass SageMakerRole for autoscaling + # Permissions to put sagemaker resources to s3 bucket and run CloudFormation passing SageMaker role GitHubActionsDeployPolicy: Type: AWS::IAM::Policy Properties: - Roles: - - !Ref SageMakerRole - PolicyName: allow-github-actions-cloudformation-deploy + Users: + - !Ref GitHubActionsUser + PolicyName: allow-github-actions PolicyDocument: Version: "2012-10-17" Statement: @@ -48,34 +45,40 @@ Resources: - Action: "cloudformation:DeleteStack" Effect: Deny Resource: "*" + - Action: + - "s3:CreateBucket" + - "s3:GetBucket*" + - "s3:ListAllMyBuckets" + - "s3:ListBucket" + - "s3:GetObject*" + - "s3:PutObject*" + Effect: Allow + Resource: "arn:aws:s3:::sagemaker-*" + - Action: + - "sagemaker:Describe*" + - "sagemaker:List*" + - "sagemaker:Search" + - "sagemaker:StartPipelineExecution" + Effect: Allow + Resource: "*" - Action: "iam:PassRole" Effect: Allow - Resource: !GetAtt SageMakerRole.Arn + Resource: !Sub arn:aws:iam::${AWS::AccountId}:role/service-role/AmazonSageMakerServiceCatalogProductsUseRole + - Action: + - "lambda:*" + Effect: Allow + Resource: !Sub "arn:aws:lambda:${AWS::Region}:${AWS::AccountId}:function:sagemaker-*" - SageMakerRole: - Type: AWS::IAM::Role + LambdaPolicy: + Type: AWS::IAM::Policy Properties: - RoleName: !Ref SageMakerRoleName - MaxSessionDuration: 43200 # 12 hours maximum duration - AssumeRolePolicyDocument: + Roles: + - AmazonSageMakerServiceCatalogProductsUseRole + PolicyName: allow-cloudwatch-alarms + PolicyDocument: Version: "2012-10-17" Statement: - - Effect: "Allow" - Principal: - Service: - - sagemaker.amazonaws.com - Action: - - "sts:AssumeRole" - - Effect: "Allow" - Principal: - AWS: !GetAtt GitHubActionsUser.Arn - Action: - - "sts:AssumeRole" - - "sts:TagSession" - ManagedPolicyArns: - - arn:aws:iam::aws:policy/AmazonS3FullAccess - - arn:aws:iam::aws:policy/AmazonSageMakerFullAccess - -Outputs: - SageMakerRoleArn: - Value: !GetAtt SageMakerRole.Arn \ No newline at end of file + - Action: + - "cloudwatch:*" + Effect: Allow + Resource: !Sub "arn:aws:cloudwatch:${AWS::Region}:${AWS::AccountId}:alarm:sagemaker-*" diff --git a/docs/github-actions-workflow.png b/docs/github-actions-workflow.png index cdaf991f0cab115fc58f183c0014db70b6de35ef..36d9206112717c53f18c511de1f71ca89d4b5040 100644 GIT binary patch literal 296290 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

Yj4=rv8n^SHc*#onj8> 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 z zME2k9bre!gkKB(h1$h`q2jWfi)QhVo2cASya4*_3Ev3&L-?s8*${UufLc=>v7ifVE z=^wBnZgo|xB{CPq^lD-ByJfb~lp>|5G$Jv_*`6>=mSqtkTiP|=tY-eT3RIaPGY?QmffEue$o_w8W$-QpSk z6S9PZ``t>_uv#eCodt(g94sOuDxBEQpNHWzgKqhv)j-mK(l>4>=Wku?&_mF&48|1L zC9i1vsagxI-7XI%h>l#`8%gBc)17lQY4GBHERPEX6^YcRp6AaK_VWr!VTkJNl!=+1 zB!r71cF+TMUiWQ8x;x;5kLIBicF{@PvWX)`#Z z7#A!BWc1=w82pR&@x=D&L~b=Fai~dW!J@rr0e6dBY9HUWy0ZrIA+b(1H5zZEoqxep}ljJ&)Fo#<>;^To=l;yNyCjqiB* z*yP95jxIA%x^Ctm0|N!aT|Jqq;4;^=7Z#~m)nZWJJ2PwrhM6jod3MZ5g(xNIQ)|m| z3M+SyH^x5#IIVXU*>^Lhv02jFraM#PD{!G|as*>+`JFNT>Fy4|8_oE3wQJrqdo=!j z6BnhV(IMRAJD89jBEZJ)zoYz-vL|HF57w&Q>(E9ypadeSoVJ_pA`Yr6-wM&nP8hBYdS;lc)}bd!@lqQzOcN(kp5dv;Azjtg zS)4lC=BtlFq)+Z?=GXW%Zd&ID7ZhJExIc(XrCofsY*1A0I^ktuPzQEHb|ikebJA~E zusTua=Hx;k$vXX=S}z`b7b6pOdTD@>52E8|S_p0D`G?y-S*6Jsr|4yu^2*yZ?3?uT z`NWyYJPzv@IN%qL%vIeU&~H{$9CE48MIsv@@4c-Wj@8=2a9jV znAlVc2Wy;{&PJzpIP9U?-Fz@H)~a?<128ZT5Gc0R$nwq--VE9@J=?u?Vl%#u%eVY1 zaX+o+X!|z=LM-r5@vH=6I@TCJ-{78e(eXfwA|bHpwRyftY&qFhC8YT+S2^64R>V#IvOc(hBR-=>fGlpBD#DkJwbwL`2_v#yliIh#gUE#5{(4MqlGBOeeL=Pl zEdMp269bGFB~i{y8*Jv~cLhg_Dn~XI=Q&|o)8l!73NvAOk-Plp&_`BN0J=&L2ZKj zpYXdAmhSHWRT4dTon0TNzLm*X6Wylg&+8$KZSZoD!#46J!gvJTr8gKF) zvW;3C&Kv#)nQ!SS!StS`Sbp3{dxtI)YZ2_(s4Tbu~Td^^h|~ndKC(vm@lI zuD@w3r(9Ny)CJV-+?aF-+z!sy4;#rNQ-sU;`b~PPvqRNy9a{{th#(Mj;HQoAO|xW% zpkY1KGXvJd`H5S>^$RC1<8ncVfTS71E7$~@qVxNlX^ZwYIj=cNC zaj&tAQRNs)!L1c$Dr#&R+@geU?$qxPlhfmUJTJ~pD*nn~ROpnd=o)rb7KB+iL%!xO z@?0m?U0aiF0x&@VVuYnsv@tmH1rVmn~o!7J9z^9Wc073>xRM`Z%je(J|&el4_(yVQOduL8X zm$Youv}q@}H7C_&{=gDV_t20kS+ zdd7BihCnZoi+c(V?&BdzXzT%T0JAPMRb;CsNhqE`I6x5}X3pGdO0&SsR#RmDs?zoF zh&|bQkvuxGDVQRxoJ_vEX=@{aOBDwUMO?P;pmNQuR1MQka@sSp)HGmdX}VLcOIQfy zoIAn{s~raq+OKaTjOoeuu``V}k7&s~FOdQXG*`3MBUWH{v3REik5$NUV2GnTyITk-Sc&-f>|%D>miKWzgt>p0GA8BYAcr7no#wm=JL>sHx_zQxM2nWezU z$4wF_G`23=+1$(*b`iIDOTJ2YckAe#O*`7H6rzF+ebIx@i~xs!$*Z>Wp?I%NnSZM) zso5AZ^rEK9$yb4U$F$Stt3Lg>eMjHP9Q?6uxHlxrt@y5ro?ZuSZf68D@`4MZxT5yS z2T^*-R91*d1QQ1JZt-~G+x-`Eo??ZQnE2**Hv=ra6#fEYa;P<1Y7{9$oaCkeSzD^M zaeuuT*Hf+kRHiCfqR1;UJ9|H|G^Mek&l$bUUg*HZQg7>&*%MuSv0dVz=8mxKz8(r&Ti|JuE#8@+M$c85%6P&2w!%a z>gZY72PJ%fnLyGt<`?&=&wTz6IdC9bLFcTt1`x>LF8|@S`a#ZhPt@h}hqPH`un|QI z`g-*;L?9?Wz4lEmU-1zIUjw}A09?5VD2LE`>^mK_Ui3Hk3Rf z2Se%ck}H9Fz%DD#W2J9AWcK(cxiIwk4|KU}?5b66Cy0-!E_RTwk}mh`F}aH0J?Yk+ zN?079g&K(mmr8d>sIIsOQsj{P0nZ`_^Au>psg>)fg0x=OsKOvd#JEF}o7^OAIwNd% z4QT29>N7#;I`h#$V(lo(J4)vJp_| z&TWhjPn93zI*NtA-~kxVz57O;Y?nVNw%Y$7|8CvF3){xYETo|5?aCC8?~ML=UJSKW z`0Yl3{opx3CNzlYJz--@JqKCF-tt)y&Va1B{mVN}JGhDXiWi}+qH066D1`cZ-08J< zmS)>}I|jYhSNOSwSRR^iG%!4bXTw_^B z#K(hM*Sj}yd6QZ6xf*7jAxrlq%i>g;jp5eyjU4{>oYGTJgpugt)~wANxr{v6>q&Dc zi5TLGHQwDy-m^bLl_LpN)TdTocs0UKqGOJt=yVfqd6<>DiNAT$R zILB?s;M<_&_$Z)5TR&$4>k_+0FGNqYa)>m9^z=N$gjnV)ahW}nbf9N;~wg~fmQ_*j0gzDWs3 zay>xDE_9$}&v_A$hAM!LDvQFN`n~%6_3lK+rG?J?kgR=b!B?r7I(3|8Ngq#wecOEf zR@r@N-qn|l!@&Y6g-m}8SIOA#3z+Lzp&nG*#flf@@%uu7+zxCds%uHrrTLVu^1?$& zWKuD?whIxtih=aDe*NkWPM7GA+mTm>u!Am-x(CANFU!BFnW*a$IKeVFuFKkL+RL>I z?QvKn6V~rJ(t&Wf>Wluf?K`!m4I3SSw6$kqT#fq>aLOs#_7i6Kp(rEPv)}1n2C!lR zJWcq@A&ks}(Zs1&ursfs#bU$R1gv0l`#2fYEpt)h1MXwSlsz9(Q&1M`)&KJTz=bwO zozH>8YoijxeVevye8Rmi+p$Ms;D{i} z5C<^z7E_JGXpOoIFV^sy#zH*HOWV&bkvmTNTn& zQJql3uCtd4o~{o<7Y;&}w2xL=CKzw}@5=n2?)HQIp-%Zkq}_>qaLFk$$f2~MH9?I( zyr{oX7IBF<+gEW#>=Me4*CP|&WTX;{`AT)C$*LUK9nK{9H0ibNr(Tg?TpSYa1aH!J zH72U-kAbF7;rvB6dy5F{B#4;1tL6*QE{%`W6x!dGd^XnTKV3lyrc8%loA~3*`hZo5 z>3q8(h5Yb7CAdgCKXB^RqTB7qM-mI{GicT#a^9)4FB4=uY`t0in@&*Q)TiM(q&nS0 z-V*SUhbI1s$@b%Zm-;@IQyZu z0ba96*n*IXpfC^UlGT}!^drb;me$M{Lg$3*E<^xhEWcQMFRHn30a4BMj8Nme#@<6K zO&$10YA?RD2lYA*jT>?qy%3;$L>=WIeMTF*cKUYcEqKNA@?Xcto678=k!Sbn_m}xU z%C3sGr$4PtmQo46Mm(QdtKD_N(dzL*`7Db8&0IIEsDj-oAlJ=k#USgHwuov~jntVTL~?%ja>NwDx43U=}AVJTSlB^-|X}^nv=*w(pT;o;E<~ z@K7S3^%db$=GP?j&5}Wu_xEbIK9gScPY)ya&n=Ice&u_zqVh9>AJKwoM-rV7bO-*k zZP1800|!LE_~p~H)yb#l_=Pl(m7u3Xt__WUtXZ0)=VvvcGzQ-|4~Z!66Q}js%J(h} zhO?XY>SJr;JA14hWfY1lor{rnr)Q>JPCV33otI7OW}99fWK`G-cOfg6QI@Ent0DKb z3fNeer%DYw1|*Z1ay?9*ObesP{G}SUXwHO&!UwsHS`! ziILs~3ufA-j_C_muFm4v0`aNvAwo#gJrN~~5)Ayd=lr(@RAUf?nmnt#aEX?;h3oO^ z7LZrPZCV26JI2NVzO3)& zDsv`Si3aKIaN<9XSfWq)ksL!3KUAp=@c&Tn2fsB^Uf0a?4b_iz%np62Vb#gUX--yd z>9~x<%2pCbI%sGhT#M6Yb-hB``7IdtLg+s4`=`<+lAI8>(QZYQ$c)3YrwY$T@}C?M z>Lrl0rl@9qKw6jhG`FL?8neG4MofXf`bY1z*MDwl4Zaj-iwWk?amZOBbV6EDA#w^C zgxxz$37g6og&0aXd3-D?ESVUBsbBn6rK?N-xW9; zHU_)|4JK0M>B7jAx90f(#MPxp^(-O$w>w{`30`RK`h;9|@PC_ofEJc}d=Guju|roF zQL8qRk-RKe{e+`5Z4^=btwkAk)x-MPibOK;IO=Vc9zC3pRoejq?<27n9Tf{@u{)jy zKf0adnAbVB=*cpu%luO2(d~S$^y0c`<5Rr6p`DXPfBo^utiZM>wR*hioW?n3D3``P zBs!Km2DAtfC0D1~b7`Nut_`(182{SwGK&iu;f~aQc%17Pe6)7K#Dke=5{I9Cxi$+q za>pvFy-091POgMk1eWH}=Tbq6bvz_(BCC8E$6e|r z+JhEK_*LHWSl4O@kRUGBlwZwnSB36+pG+=I-TiF+w{R`=)q?cFZNyB&W9a&pem zm_M>E2bWR9v-mT5${{{eZ>3^3elI3#UOeLqi?h9=a_&a^p5&Bot?9?VEaI;;Ab`Fi zs7K}5{)HN^{PMyK*YgdnTkx(8FHh_kal;;Z`g!Be4|nLQ!)xi2PfS^zE`)tSgPP(L zi|?^kzkewO2ApkfWlf@An6(r)K- zhsj=NG%h^d8Omb|AMv?t^PoC8!|kX+0;Fi5`0jT&)}} z{`@Rb8QpxW$8T(Gj+FIil}*%lLU?#hv|ncaSufw@n#M2kT%Gm$jhdP<&|G-r?&9g* z#meU6=5>$cvk)g_kh61@OclI!hV#^IttQc4N6NUI1X}OX_Ylv9jq1lil{3D@`TEbl zyj(XQ-L=v&DCsSgh1Ao8+UAxm4ZxbFMcPrIXBT}1)o-sGVC3iw4{vvWGuX`a7DYUw(791=SKI7@;-s3>s9x3v0*Kc2ld@Y4-=>iP*JQt_9*$ z&n-{X|k!J^R#67^*iJVfeEdO*=l63rh%!M=!@6^cl?}%{L4UYW4CpYyYPHxzU zI|E|a$>0sOc^+3^$I6brnjrh-SviorKJuA%6;B4l@p_{ce~AVGx?73Y7+1&R z(cgnO$-3b4aisoZKmQV8ba$&vC@{)i^N;qy4&)kvHZZ^KRf7SN zgn3@$2PTE|LR!07>+%gWXiO`y!mGm)N8^z~?cypHZ`(qeLU6waDH(ZpMWL)sa6&&E zHxywa3sk4@xYy@Rl?bi}x_Blv!6n~9B;u4Et(5tLOM|}A?pbTfHQyg*Y4Bw+E*XR) z-`TYP_AB-EHq`S^Z=U!bH2BvO%XWaxKrU$?{6Sls1Hcxi@O9H4;@>;q|Mh6Q7$C1< z*tq%ppq-K^DDCuoaZcX$Z*TOkPy5%`{<{Jka~>>@pduXpd)>|d5`4XS2n1f9?y6UR z&`yaA9Ep0g$o=1I3H>)M`nB_5s?^K&<^7-|5d*XXdrC8AmA<=+|7j6Wa1cz@0lV$y zKj>r?1p1!KW2ax9{+;N4x+3W&hs?>YvNr>*hvw?E-weUeE;%M)WF6*3ruLxI)d3ED-m8 zuvnGC`K?hq#6y`Ji1WAOZnu1Tx$h%gm~cm2spJn#>)k{put7?DJ7%Y@fwid_c$2XA ze{bAj*oJx~{cS&cUIQy)i$v4Q|Nf%?TpBp=Z()0#5qs|19s!gA`mk=y_oDsZzQnaO z@QUSC%C0@1*HOlb*qz@0ZPqv$y8b3nj|n%7K*y-(W3+4gKflF){o!t&2(W>p73Lx8 zmO(ExRYaw^@v&^@w*l85#ppyd2e`CsBZV##Jp0*eaUBK*v z2sqcX7Bdh%ZM4REj4U=DJykz>QPp z4NBprjp#8bsQ)kj5q6Pc0|esE2?^F$$prhi4)m~@ADF_QJ&nM8SCCyE;=*Rw!eV-q`X)Vj9W8W8m$Fge}=|dcoJor6iU%snF3X?rd~S6L2#rM|aC2 z8Aw2#wt3wa4T5)ZhY)C`D_epJ1Mo@EFz+>vAm&Pt_hhE_#Vn+2F(GQCp^;I5a3Vma zZHe}8*I41ZT^en34)IOOVIvQSk}*<&XLgO-sGVJEGJ$_=| zcZquhWG30pHCKLQ{|u}Hr;PICk*o0PiHb^2g|=%SmU?pnw5Ob3<-Dylvf>YuD=1$3 zLC-c4G*}W_pjgn{(NR~jWap?*q0d>=A6x5mDXmaK*4Z9ElW5sGZVdj%O~8jw#qk`k z3g=t)>%HYZB#c_uuxwOott+kWIWuWRc%r}7$&subO|k1l?lN36$Zx-xRfGZhyVtEaQq zIfEmH+w_KR$QPfwk+20b1LZ{92T{5+%B^fyRzK~GV7h#`A2Rwtf<*QPjtn-xx9`)a z95qAI;~eRo4<-~c#=_i06{M?diqld$c=edTkRpF~g$%=9b!*gvy$*lqU5XQp(CVK+ zQ>|oNdNc4SS)qG_zv`;up-K)YG&Ijen|x}%AXHrikSk4l0{OLXW9ouhrJ zwr=UywPs3L5{#|*nTlLC?MT10_v`V{R*(p4H`mR3(k7Q#=R}$wb#JxaUNoU~;$MO4 zpW*pGemIo|0xGT(5;=_07aWe$a=oGa@~d~7`W4dNy!wLbUIJHlpS44fBMr21g$Sp~ zK^zCi@?oni{?e168f*eXTTl+UVkqpPF^}uom2{ciC2g15wL3m%V~h2HGA;IOcaA`( zg{j6XlBJ&D3O)Syj4ypsz8N6jp#r7vL;)V{rm}ltoc`$ILD73=20!Bk$x`&?YyM>} zD+7!2`cI_sl z*3(0%S}sM$-}oYD+f&*S7os!U<2DX*w&7v})PJxuS0N?x@{2FN!K|`H@NMyTDbY~%5u+A%GaGS(iU@O!j+DfrxvSVgMoK0eR79v084SP3oz@P9Z&B3Y?O?8}NZ4INrsCd-k9i zA|w!6W6#q4{Gf(arBYnC)aA=OZgUU6U(*h37^4sSWJH3{V;RiLOZ4SGbB6E z!Ub{5WyLNpApi8-a?a41!qj`VA>?v}wBWSyoR-k?rgDX{CAno(- z@)Ji0@SX!@biW%!f$i!;$;Bt2b>au%M1c|rn*(;JEx466+$X<}J2#c`*2C6Wd8v#9 zG>z)pjq#%}LvFXNG8fP`NCL~YD#{nuR*Y_{j}-ejpg@y~T>At%@MT}7b~zGFbXS(I z&|Ezn`NLM&Oh%JlI7_2JHBM);ad|rDvMsSQ=i)_>NtXJ9*Mj*}9${53WO_aOTHsS^ zWOYC)tsfobt3cCLpc$Y`7{d))FRYwyVPoDoNQEy#&K5V<<;VVS@NnkF5{T(-Q41*t z<}mo9jgO;ETk3EE9-}!boS6w;NoQ`nTb1`g-?fbb$KCdt!)4u?05id3+LE*&4G*)V zU7%s*7Tpf@n2ZprM%4UR>`ZInJhOi)HqI?GQW>Vhe|ffKI{WFZi9`47Rfs2*O(dhN zG%l_jl@0*_%%#WD`myq-l1Ik<55U{NI-ty5z?X?XFQ*U%EH}P{PSJ#{(uxoBEzN$L z;tKjqeWmO;I?ACo(l`DG(1+%B`z4$66QGPwB+eRE5eQu;Us(D`0Fq5LMNZJ}UuhD;3(f z>M>x)3|u*s6(n|oo?8L9X?i{WX2zP+kJ3aLB>fp_S}%R?dL85Ik(sS{o=m0B@iohm zh28}D%m}+$&eHwsmwnNy$G_KR{dXvKcM?c$JO%3Rfm@K_Gi<+lw(@7*ERikK=|T%y zf1~3dbw3*;lc3JM5;s7}Z#N59Qm<4$rJ3pXc>I?S`yIK1+#3#lJwdkkA*n%?_049b ze4;X8$G0^Rl_n^wQadwT(BxHn1+tD1cIcP+z?~+d?%Ch|HS52E!G9v)yPE5VKyz=< zEUHx)yvry!~oLuLfUfy(bZA&{sIt8F6Y++0%p_B% zs(m-HN_Td6lMAQEil29=YB%+>-?1NvR+FdKlS^pV8qrB^rWuxNkW%&x$-{slM=1fOAqZwWL1n@_$G&HGDvcGZpkiLZSM?^&a@44g$wv>)3J{m3-V_a6 zaHCX?@A?18mH#7+PL^9wNZyym>8!4WvQ{K;DXbbUs}o16wyhEvSL3?hpUuBj|0--U zMgC$&B%(Fr=j6}UMxf-kAnQARbB-@=eT;Y|xs*S#oLA4OTN6H>|RrgYTCOs&UHJAw%Iv9UjuOQ7r1q5e*^z=yTStC2#Cj*{D;> zb&G}6UP?JkB41SV;9k3eksY@GI3J6V|A0s6aACBV^Lsyew;%;YqL&n8_)(DqcT%=v zO`%OFn17 zNSM-R-&F(rZL_~m2MeudBbfsft0x}Z8;oEuy+FI+yEC&DEjv0RGvNI@?~FAQ_pav^ z&ydX6A}HeO@H=ypXG_e5k+cwdFn^5?qEK1X@a6nw%I?AAA;+1+Zb85>@v_5m%v0bP zMRE=D_(?@{w1@CBe#W!%e`m(Ow1xqUuXM|pA&ayL8K9dzf|_JyiX2R!a0gv_mv3Ta zCY+aSEqod8U zRY#CK)HvUw6pvPrfUhht{aUgF*Ogtf-nt=rA}1pj+9W_PeLHXVAKOop5Vlw%@7!vT zG%?e4j#rzT=y2$$G4He><9_{&6Mb!~RFF;4yEXqHv~)sp_qG4P<^Opa{_Vxwjk{^U zfiTP|`kQIFbsy+j$stw4ti3=y2wDou83T?+EzJ(0Bkbl!H=}X$t%CqMiS7^dO4sL! zRb^mK=&Ffc;ONi3x)ieJIa@tGj~=_bRo0`(=w+6A#CVl05dhmV)eQFSB&fOSg`~(8 zM%s?2L5~D6Yg&nyg2m9tem`{GBfxq8ufTGnechV;CPQ;YUkEJkB7bMqP1SADw$H`B zc=(JAMS`AeoUy`|d!MmsEWu*hhD|L^eQsDuD#~Q)rfC`tKGiyzfD&$|$F*f&uo<#fod;(#ByM5PQ4f-;#PP!}$Nf_2ZDNb>LhdwGD1akqiD z6u)NC69*1wX3>L`|6K9^`8Tav;90hA^vjz8Z7hCg=7(JP+t&4Mvqm>I#;#w3keBl# zxcXHtxJ0k~YXa=Z0ssB|Cp05UxM{Pf%q0F|@V*fv?ty#?jc= z{{RR7?*r>@I+)D3^WQCU{@dbc0!Uxn$Lr@GeA972=KD+iKwAITBaZza_TD-u?q&TO zB!mP4!7T~y4ha&1yIXJ>BtUR?w*bK*cyMuzm88qWG;|7R`w+kYXZBCd;FdH?rx{bkMnmLUHTAfs+Py#Fbs z8~_{t?@QW$ogx@|Z`Q&L!v9EH5YWB@dcF1z>wl;K@0$P_9rcL*Pbrnwec{QUo* z`rqzo|2Qyz%a%v5|2QyzpN;>=f%(UQ`NvoPo6Yy1u=MXe*nh&(zxQDO2}}RRhyds9 zpA5|Zg$Mgj2Ig;FHJ^VnFn_|Fzxr(dBpd(AjXxm#PqOjvJy(Rmg^yC7DNV~XB3REmUDj0&zw7;(aPRZ=nNH@-?>Ykt1`qT)I za6Z_md*OI-Zkq^R+fTUf9~=t5--!A##Cy^b$s5Gah(I-@9cS8i+6sd^@tKw%2JXN9 zYrBJE)P5Gj8A%6v8t+Jn;Rj+|3+n%`hk=1>3WV_kX|pE0Kt%9{`7i(YyNF>RDqUZx zPBH#pP!NK^U$-U_9hC83&kKVf{2Ug|QY6$xkV)XbXWl;~|5t+k|G1R*@%sZJh-fw^ z@mx>N8J@Jdi4pO-W6fW!4l!m}pus%)&)*?GY$UbqDm505hEniLGR~{3?(BT|Eawk= zqd9@HFgquKyuO=!zYK)`60Pl;+x=Y@cJc5L!S6v}9)S=(cvvD)tRC?K3hJ_${COvE zp$R!RZ&-UQB%UeOF-t5&bo3Bb0pf%3Yb+Rq{AW$Luop{97lO+}f=-z;o}Q~jd?;7l z!39H~-yyschS{+TD9b?m^#gBI%(iQA02Lqp=kPO^cl@H5#4xb`{?ir#zWXgv_IZye zF#k^k#GgN&aXVker1E+(&L2kLMqqSB$N)_nncpKx6O2UvYV+Qo+ltcJ^%%~AQ@K3^ zi1<9x>&o>Nm%Hw<*bwQhP52=lhOnrFyy%MsxC)-d!xlZCLw`?8OpM-kjjscz3SHQw zusqT4r7{5@fa4AE^!=@o79TY}E2HabydWH%Tl%n!E7%uJ`2~D8qlJ$6R|pspgV3{qF5O2sg2F0(Z0`UqP;xHuoI$HBz`agE`t0W&9<5>Jzg!eS2 z^VK%nlZ6H`qApH4gWzoIl+81i{lrIw(;JWUJccaU(f^9I$yC4`C(k{~pB4{$*i5}K z{H0euhs54zF3#^o@%Bk!AaRY~#o8SCJgt>$x;x|~t0$8ttPU0)Qv~bsZdb=hinZ(J_9f1du?VdshVO}csuLd>Q$GpJ#Gm`UDpMZ$8(LFa*8k0;v zETYl_ZhZyrV%%@q&FG7fH-2aJ0W!}U9{)$jiI-yG%6KpOO&qq;%Xpn=WR;%&`UD0x z14^qBciqcJ&-m-GA5jewXtg+O@HTtggjX0KrhktlYs^A2#{9(_7&!OfHh((yE#RDa z3?p%lTo|5jbr?Wbjg27VFCjicv&IGp(h?ct+G)QAb8TQ}!TyE~O<1)ww|#KB(K(b< zPeWeSWs5^D#3mOpHFt4-K*LY#kM!IASjrL#Y(!d9dXm$DVsN$uwQRE5{wD0~>3irf zn_cOk-`~`Rs`9r~?YyS}XZ4Dg?_c~`Gd?MxZbCEfzY76Gu4Q1ZNX)z5u5$3W9>*|0 zFd=t`qR&S+d~W%xK4V;7ZegbII)yFw9A$k(8+O~{=3;(bJWP=BnfdpW#7p=9ohd6D zgE{5A7wbQ}XMQU=cPzk^R8E%7crw6@Z2b}=V(S^e8!W-kXm)(4O1OGBi7#tz5t7z>3UktsaNXV?bk-5s9=|H3C$D7!@i5xM;U!z5%zPX#02N0CdSMJP}NSPw*RJo9+`ThVx7 zBMABOKo^AX8(3**G*}U8o2)();Gs`#gxd(w{F%=>4&dJq#_7;8FzrT@p3?96Qsn@R z8criS9eE4g9D4fl>>%yqd3i*>@V{oUCVRx~+<@K!&mMMG4=;z(@Y}SOCZR^Rz2)F+ z4e&4&<;h?8K?7y0KdL_u)R!b=eVICo&F$>E{UcrH_uLDzFsP{uyq)1;s5^GObs1QH z1pZD6SeDT;w3C7-#Y?22!#O^Lrr`xw}(i` z&EsG=!t{G?D=KezIjc0?-X6gG^ug~D|CnDg1+c72xaLaksf`7WZ!fTa(c--U-TzKD z5O}J>08Z4{9B*klAD(V)^)CJ97FZl$gr(m>yNtfaetWbpa5=z#e(uZ$tg6}7m4Fa` zY6B%pNZ|Kc(5!<2naV`iH-{Wl0V& zg1zHnDHkx}r9Oe_-$vY&2&_t*rx^tm*o^{4Gl+k!1qR_A)DOu!%qW9L2T;+MvQx3~ z6TF;U%F9!vUwmwvd$!a*K4&yjegs(K3-*}bm;>EL}mh z@Rmam)q)J*1n>+pCoUnkhwJql=il67#{d|C2XV6=2jqXanr`-+lwXh<01wEtbMrmg zueHFyB|{+2dVc+9?maj_`}SCNXD)$lClpWex8%IND}iM> z#icvN_5SbsgF93U@9{GNYM`8WE6baLgqq6BbN7P#7q`6epo|DRlMz`_0EgM_54n&R;s3 zy94&wgPikQa{O)TP?MD!;Tiz6Fy$mz{x>boyig?c3Lg=g12|!TN0m0@4=iL}T z7q{BNpo|c`Bm}cgZ4h#EY`*$U%D)`IqP%HHJ0R27oLF$bfCc7J9@Ig>;>9{AhI+;$ zADvBAfl&%rd_Din%>|&3>&Lsp0^dP;w{s&74i&l!HMDm>l12F z1^!gU3hysqfI;x%@)^f19ScAuqQMZ!l{=L;<%>hJ>c-Y9bw1Kl%odOAXqGd6eT#57 z(7wT>JvyK&fOWf{GGV>?9e9We?civ_s1FUzGo`$e0>|u0s+xooqj{#-w9`+e*6Pp?o{vGudbf73Lf*E^BvYfW z4J3seul0%itTZV9-+l@JHeHi=R!SKqkmXXtJpXjfqgB`asRVgrYBbJnXRA7p>lJhG z_#NN6862HvIIJ+oFW~lhO$NLH4Ug!GDGkIhxkgOd3f714*OyyaXa~Y150^GHx}ThN zr{2;!qWU-;ERIK0F?G4OrW?y=DKx$F#A3HJ2SVNk`@K}{pHs9*HH-%jVWs%VVh0Pn zwUIgUASpk88%9%O zofr5k#{htGs`%2?0I}=kWkFfTsYXQ?HiHJ1WYoJyK+0k(XkH|3mmKhVklwTo`+0$hf)GHUKZ&LiK`F2^AgY4VE8oarTb6K^hu-s+b4#b^N`H-;jolTMSSCk~z9uux zK_%kJM8aiMXotO`DJ;A7{!Q|dHmqD)YxbNI5u$2v8aaD#5GHv#+_U9|T1De|UDz~U z^!dgIag5a*@x(6}RKW+H)L%<;%)OqNjuPa4G_wZHf(;0hGSB` z)5%m}mqcSUo-IHtyk(AjxX^Cj^|8+D3R46;(4XV%yq3l5I zM{h!w!?Y|n>-y=IJJOdF&=F%!uWM6emf&NZa+z>k!KXTwP9l_31o!NA>%zZPo}d4f z0ZOT6y`(;sv_fesqjIq6RB^5*7sl4S6AX{ry(aA|E*1J$Y_?y?CNGr|ns3g>GZ*8j z^-HxXpT^QE3)VXtkkhY&WAB8tpd0%V9o&pT@8H~p|I9`S`NDAouAJK9@kK1eZSWnR z=Pk9cGwNovGgl0yfdT~Mji}#Cyhc&(h8n8*`g9MPu1_WO6tnXDrHPJV{vw)G?8w-p zrCzLSncd?2B0Ef{@1Rk<-9nMK9wYt*h1Rv4Ra zA4HmHZ-z_1tZ{f_%jqf&N=wtB-yUx!)1=aP9C-8F577nOt`+OzWTyaAVv-Zd+T@*o)F$icM75pR+I3sI&_vzVa6j8ct4>;Ke>GVotiKcj z%YuO9DDXZ9oehZ0?Sdd(CaKoAqSoTBvP?9JKiY7hJEK!@7!J{166v^oI zp%8-sm63EEY1rD-`342wr+l9!;yd()IXULaR&R1oBbbCs=f}Lp9iVMx8kDo3;LgPW_v}a4016J42JE+|&Uwcz`Yu~T z*1M%Wm91ya*}B$vwic zjJ@X}?+QbpMX4 z|I1rtKTM04^GQe^N*dqRWJC&$IZA0xb1o2lTo# zsSbE<^ZU-pT9KbyS8G+AbrQSDhuT;MDe|9*(_bJf)Q9T~6jIB=LB^L$3$j5SG5u)e zAuu5G^{Y$bsV)2{gy~odFH3V(g73RpaH0`ul=Ky?QBScI)sFWktDBvW(Xt*v-FO0E zm$2uzeyI!1tm)=4-g55K{Cm3y1+K`jS}KfVro8#&8b^>XX=5=V55c)u9st)HA9vZr zyw148$=-e0-Qn*w5;#h7dv|+lymf%I>GdG>O$j~H5A^6!fyv$MBo>VVdCtQW>2xW) zLJsZZV1+>4ng*Sjp?BoJk@y4dBOFD|Cfn$R)(7gKT37`NTpZ4lpNY9#X{y56{O0nxle`i)@-V3nHzEv)0{k16w~EX^TwTW`fD=>NDN-hWT0({ZqjH(fxri1Kl83`Yse;wQoSg zs2>fBj4yh5#$&g7aBN1TGaV>SdZN~dN@lLKsm|?yx14%!b*pl@Od*gu=Y6}op^R_@ zVc6J{?2OYb*le5L!2S8*&L&=~nc|cV64~S#;C;YR=-guIx|KCu@JDN9&I_y@!E(^; z;7}48Gp$u!uciaRUY|*=)krESc)O(mna9(_cG75(I(c}$Oq`B30YbMy$DH3TUZqacUSy}OIaJ$H#R%~dKLpH* z_NJdPOge;vF9aK3@Yx^^rm_svBl&^QEE7Cvz5t#e>EZeyUW4o2=Ly%{8BeS)J$B$a z4Z-8(H7QQFebN*TC!c+Av)IeAyey^)0~|{qf36Q)Z&h6$UyQ94*<$I|f+@_F%y)eWycGBbfZzo})$IV#IWZNS~NZM`G*F(Mor@RLp*`u0^s+@TXL5 z)xwJ2v8m3sJ1jo+w@D?2<<4evy9d;pKiL9i6%l{Fc%zXvr@-1ozig|sAGGMYzNR&h#as(9U6t>bbbbQDBaG&0}jhUiO{ zk0aUs8zRD(mdXX1k-)KYJ?#yU1x&?oZQ$BQK{g`wsf@>}IJ#Q% z!USuI6Y}jE%p7T(<`K4d>Up7 z%*^yUo6e!N$`%XFIoYLqUn;?5T>5p^Y8ij+pm;JM`J4@MA{+s#Ofm`IJEDv$vV&+m z60roEqTkyw(K9joc3hK}JmAF>FE&MU=(yZ^L^9)PTwiedP$ClzWqsx<6mZHCY7eO)Z^GnI`C9 zxKD~CbMnmjW`1|E)RNL)T`LTJlcw8VDsv-SWif|Ruze~hU1vC%*73wVrpy@80UD|C z*Fm>N&DUrl5bP>{3Z-kLmrQ@2>JvXZDWs4|wp~@QQidmX>o&>yn=5j}A5p#4% zIP~eKVvO1Ulh!!YTJI=Zqn&BaCu)btIR%teG~{@_!Ai6ad3h+2ix^vI>L17^}uoyF5u54ijuw7WxfBo0)Iyv*|XKG3kji$k!`QhOB+e~0@Z#oH13c#uA@q8hQqf{vZX1tiMz^Y>!nn!Mz&7kOV(GOKPpgspNg+;-oGPGS>su4 zBT3_WaUP_^Z7S_WJ8c*s16!P)$8NGxwJceAuC}!-xZx2kc93zWD55^>p~3FkINXm+cB1=H~^ z`1_7sjpt+rNT)pF6>0i0rdu&)?=1#nz}FcMNMY*~9VVuVN^Phg=mB#dZPEv|mfQ8# z&$(5dNFhgBHtX~GG*#p2s}6?vWnlvp48Rc+u%-q|18D#81yBg4fnZq*9xi?z4$J_a zwQ-?inBkgl(r1+HOW@>VqnnL`P1DRMnClrya*BJRM}wK0(~d3Hm~WuSc8v>M^9s_e zP>kQN(#_g}8&3D}$X5w_C7Hw2jkM&7jHhUA{oU7eX!obdgm`qiSl=ZFvmqF6w#lF< zirb=}d>M1hb_w^H+5NRtOZF&PfMWPAr4;pfpmUwoz`dq`7yV7NMxpi{ zm+4e?Nhg;__*9XyJp{@q1unBiKbM`WyL zzE(7?all5d_y^oKl^gfD$sgiR%8GuR?`bHuG`V~ygy4YkA)bReRbPh?Po}oN z5c}{ce^UW|s~Dn?!-~T-!?Lm6fDRN|tdV^J1iQE#JM0m$EX~i_qy0fF>-6aqmOJdcyl33vr=Guu+XFsZ(kWDw?ygGH+Sqz#Xx z>PkcthGy9v{IXL)CA-lF#)`JAal|}9dWS)3{++{q6x#B9mHpgn9veX~+Nd-U%*f{l zT+uI_^_~!DO^Xzex+Oe{DgU4kMa@pL8{>-uK5F#}tOIFvsT$SN5)n1l8eLO~?roLZ zkM#xi<7`vGKRp&x&*~fLmm7pOA4B5ibtsaM>hyUn_VJma=;s{)O=kB}-kw;K9bdc8 z4K**TyJj%koO$L;U=Mg@X$BYwV}vPYU$B}z*UY;6xiCUf6My_1-fknP=b zc|*=VRj$ZBTjvtuE-?^CkHOSZNi!YMy_JcPBZE^nV=%Dne-d+ZEgm4NWioCUZEd!8 zOc6t2M@a#C@DVcZ?w{;G`{Ytdqtn9OUtL0)nk4vPq|QYu?1NOns-2&R5O`XndZ!+| zjDytiF+PA^8q{d$-=i1X!ZiK(ae?02wq!*EH?f;>=_YJXPuMF2Bs>%Iin_BUh>+=Ijc>vSsYON|Idn^|R*ZeFv-T;D z>G)1IKn5ppj5^Jtz!sB%O2jJ}+l}=pIhSuTr=a!oZR&**WGac>D&M4NNFnWK%zc?a z^B}!$xkxGRp(Sl`=r ztj2AlMn#Khdj}z6=YwwK$GKFY)7d5AGKRf)`Y32?irLpQNS2ZP4d5N6dNnx zXX}cHKgWdiVLy0pUd||yLTZzLrqkl+E1Oa|I2PBE8Pga2-iN7jCpx8Np|uHnzWFdh z2^BO~IC1rL(1DWLr(>Ca;s#%DpqFYo+t@K9U4wq*^_CPg^7hf@gFR0%*m>D9};^ze0LPIHN8w$F^ z`iK<|V1%c_))t~rD|8%qzJGo5SgRr1Lt+b2HHg8>veYJ} zZi$_QA2Y6y-v3#2?nv=Z%63r5x{UEUeRM1?83c!~>8;hzxbuDFa%%koO9#$j$TqeV zO{@>yH-Dsubo8v={7O)0B{oy_89kY55WQi(N^_0O2{AjX#W5VMa-kpK{tMRSwEG~T zA*jO6IqpZ&E81kKvlwNE?`gazKUy5#6O>H?%=O7a9fbvVPw-1AbKcKQ?~UkGd*xCy z@;jEX8()flvtv6vo}^nIFJ!k`jD71@@v)!S;xz~J(g`lp_>wLO-giy8hXu+Ip6%`rFe;sg`8S>)p|TCJf9Po*ZxF z*scvIBz$XKUUu{cQf0vXD2+MH*X6(yT^v|UDxue>+l)G3>DB$e|BgwctvO78!>h7BA~IY=;@usqk{~O*)-q_I680PfRpp`*@rhG}&D2`XMV4we7EUyI z?wJmLy}H_NMW!_Ca`&dlaPDLCYS)`>eSjh0B0L^Tpj&#QRHBgJi8K5mqZw|c38Z z3T7O12JMC@#=yG>;EH(@IGw&|3LuX$E??chHi(j@g=v-#$)b|5IQ0C)d3a4B8oDW| z06guQbN7@2Vz=5~&9CurK*?#n83+~D4QoR8y+k!F_76BtO>mTTNblWZZi)T%4;O<6 zKh(SOoC*vPBzc>o)@I${GI!78Q}u$cp2gcjk2xxhvT7KTUZ{ATUP>(Uq_G&u>=9;@GThdY=5%W`lGo!_*zDn_IF(#V_k_6s|ft$kz3$SQX z?Vi$c-^)vWeeI(Y4GFa`!!bu*wiVrSIA!^AU0*Z%}eK18mjgpaGe89>2 zZDDyu8xB$n<4p-?5*8Dwc3TXieCTo@=B=CK0Xo=`R$syBEr#XUJ{Nyovu56qsCh|< z&NjL97jF~-4pQy)k}>z*OaJj}ha&$#l2Qef4u&UBNQu$*;XXp*T*o8X2aBK8t`6eW z6prPI!Ef_@#5!8f=KL;LR%f$3vR(Z!($D5)_SXHK)mXN~X8b)5y`^cvj$-d{YOA*~4ACAcAAD2<_uVTY%XGj&hA znz*9V6M7Q`q!V$!FoR{wXj6o`zO)U*f7?oZcb3eiuMtehP^e2N%k6TGp;cdsy`lEQ z93tvYvPz>x-|F9ZPPOB&>Ovcl%w+YgNVtBXwbui~y>OO>;L}#C6xkrdFoV{X=V-mX4yxJg&p^!3^Np(5F z9s632$!a2st7*BtdK5!iuX1Wc4o-Y+8EWWZp|toN()xZ)a@|ZLtI1ZQGHq_g9xd|+ zyUu9W(X0?kX^kh{Mc>#)Fm_SF1M!LxqC*0P-W{*~A^(;=Umh1r+AW50zVrI!P1?hR z%!{6@1f%ci_c+~hw<+e+BweJrx=%>UKeWS6G@DWBV%L{Obq9Lmf%+fb05DVurQi;)c2A72At0 z+N2osV*h8#_GAf}QTxAIRMDW05e3vS8aEmqFO$cN?K5NaBg^skCU5e+_EuI4?8Qe1 zZa?D(qdxnk>zj{P~Q?~PO5^R01{ zeR@!R+*DvQu9?q;;myS^{keYC@V#h9$$rY5ad8#ii{*}g(?$1{%aADYo*d5&a%{1ldZ91F zB=XAR08{AaH+UV`k?NP9>d;bW0D{Xz7$cyz@O^&4%QE5x;yxZ*xg#lGXs z5YH>(^TSh%ev1<-q&v@-Bhjv?FA9IIe6p63d1eEEycIbRrrLceB4K)ra8u&twcSg(gJ>9T3`jqK&U9JL!465vbf8R>49O1Zw z&9$iG303V>y`r1x>?PHe!qq7&1P2Kb5qq*>ZUxzSA%D8D?ZxX&T#XjJSY{lKWkkpn zV9LgQV{26(AbRy0vz2B=8A#D#NpBTqZ{61IX%*^-#d2QT94l4Eqji2piIPnnaJf9`k1bNl(O__h z!kR{^Wz=esR`#!EaCpJx3Rg}oLqHfDZLo->8f&^^+}z-laeXGkWJ(NHz!buV>xgd) zORC*k>5b^1jp=rRmtzOyj(Y}J&e043??~$P&Vc%X!mE&4(YvwfWvLG#Pb}(= zrWYSZ6>Kn~ga)@`3woS1%w9z24(8s$M~GjTP2YwWs+1CUPd+rEGn#SP?-eB*8?=ZgomE?~JWZD=!lRSX2&sKa1fB z2*_{$Y`#HxUx`yfudM%-*K2`Z&xa4*$d5NVZ)ijd#%&I+WqBRF z?Cwk=TUH^WjQx5jjZ$&`9uqnNwq^O3-q6a2Nc7!YMev)-`lZTk?KBEWsrLe5N{QeR$Wfc-P)-y;F zFlcU)c0qN0ww;acwdD`umL0kf-F>WvM9?iz4SN;J;EWgRpj6kra{@%QbL7`ibFoiU zMFnX&B68%atwT=AD43*fbhbHXY$t_vQ$o_LCIpzkdXe#w-jWPpy@B(r9vOL6eKzf4 zV*%6orbu<(nySebGoqyRn2VcKUXR>@#~lpFDA1y`GYJs)G+8Tn*o&iCUTt>Gv6wp{ z*8V%;@VQR1B5yeEn3HaH*;QZUBCD_3t8&6mXzScOZUFf(B&H9uS3Z@=Za^YY4yfL5 ziM+p!+8E9W83eZ;5?}hcH>V|jRbQ};wGNT1&+nFMc6H3TcJP`wTnWit&Y9&svJHFO zxOI7Oz;@aj#V3SqxwlXmuYtfGWV>Wj3ab1R^)h)15-|04k8|{#fNO16smRdb6>Iu8 zTP^jvt|r&L23w0Q|0hNxEbFYz)@HMz39JsY-`u4T!|>R%OH(+%$0y1;o+xbeK9$rc z1#@gh_@Bg@A=F}F1$ujnp*bHNQ&gMdlD@58rIl}WQ7#r2puLcxSso9CkHF8P82BMl z$yTV6`RVE;FswDdgZ1_eNxnu&Xsyxod17>KKQa|5J-z94L2bpexA|7=eKD;K{WqwD z3e(z;W07Yh7vmzO2YPW;5cm)T<|d1#O*$sjgV~ZkJvmkgm>Qf=9sxqB0_7Vt?Iw~L zCAC#r4Qjq;Ub6O(4g-zTUR$7JUy8Of_Zn~NPFryS8}}w6IlJ+Kh(k*mNcbw{W|t@V z(oG+X45Skmgu!=oj7yb60+u{sgSvZc1WCaCaS}UE<>o8nziE%JrwoBUu5j8J3 zhG(_TJiRU!<$(hpBO#G$SZ6D!)&6SdNPTP&;8i-4%re4kN0&V9ha=9b%b@74J;ob5 z{~lZPMwO2wVfeO)7w%0sYi*^^y^8aAcH85u=#ZqODS~maaj^8q(T~Qg#wJV>A0w>w zdkU@ehDQ})wL0;=FXes`YsS$rOgUNTA@=0>Gs2IWgIN)&Zrx`NuQ9Ij4|Y~mOEq(V zauj05F%?Vs9QbE$yxIM-5slQkw4{xyMyoPyHQF1_WQ9smHq-HKBa=HX#an`(Of5vN zW|~Or&z$zIj>U(0!hhsNE`>~={YabF=k>UbiTkE$;rPOEpvQ}KnBrFOo8*~B;sG9N zb=f;{g-qu+M{Z;c1RRdZZ><(GT__`MUJMpAFJ&z1BL> zT6KRY2FX0?h%Lvzd_U+kIrzYPk`c4q9W2SG=ytJ}HwdbsHG{3E_X1+|T%UJ9nGV{k z?bHent+%*Oa%!ASyBZvWDaO9?n(^+Drq$q*Es_Fkk>| zWvmuTs&%D|mQ&cxFM_747ZG>F68v`>zP`~%WM7Fl=}Rk$8f=F#)h;63gXwd7U^|FFa%;5v%y{>#N{{pycIXyaWcr?-Bf!d8InH@9* z6qCiMa=vQUQ7nEq!a2BFy(A5Z>4N3Ef=N#9{mvZcKD^0t*u&s@dRfk@(mYdQCN>U< zaXwl$?J_W%x|14Exy>nv>Q-uk?*#5!Txen7=Et8_t6u(5&_z-m*?Kx&H$SDM2N7(& zpfFmgA7q-z#oeb;w{|++lo)KXkIPz(!<>4$5C3F!h(<>;?LT>Kld(FBp?D!RuN4&S&}M?q*76Q@KvjWG(?;w^59ufCB9)fUN+ciyz3E`Z+OQ1v zgC9DQ4T4n^!%Mr@Buqi8W=4ExOrLiPBIKwqaH%3r)&{d^)`3182$|S;X17!f?=ezX z`{Ns$>Fe*G!;%Vs(n8`#)n~P1PvOKF4OhpPx5jgF9K8JN_M`BgKW`FPR4Jv@QHUQR z$d}0aTy=SolYv;<6Pm<-;t9%+QEW9<#85_W9tqJ&x0t{E7PA68M55HB^itU}QwHz; zt(|(-P&%$Fu%S3?za{r1p@y%10?#3HzZw?)Nkr0A`ztv)AXV{3b0vks%<%a80!l1>$^=&yeX}lX}I}9PHb0G`d!dmCC8nn z)3o&ILJn~BN**Y@qx!Ll+@})PrSU^6s4dof$qb4bAt^40hctWWdJ?LBpT;-&egj+TBj8gk?4hds#A^QXS}avCngzo4n;jN%UN;!nh^jrgq22 zN2%P_Atxl+YK6}Xz#eA(b^JtnVQpIk8Naa#88=9wTWzv3hJA@vb8-}wTyD0_>S;oy z(oMj1Vif_1oz{aD!?OIHInYHy-u|T_U7Np~Nz&0`v3N*NF?l+h!xl+*Z=-FG09>os zGU47ZdtH)i>x+b=HCeJKUf;Pt8qcI&tT_rgk z=4?2Tb$zzVg^ttyGLUi}aL!shT*o3Ds$h#j%TKiH5tUi@WL~fb_s3m{O5mLiSZmZs z)1gg(Ua$Xf^6Tz9*qLC#wDLb^$zuHk91iuCgBC^dazQLJfH!o31+<`E2r+?|pZ)l< zaLU~sP^XO$flB{D^#IAbg*LW-9JRV?_%?Ycpo7!lU|61}Of7hRn?f8-M>dMrYN0`h z=Nd(R?A>Cq$$Cdsx0DK6NbTyOM;NVANq_Be&U)oyI=a1x^YoX;2RflIdA~$aO3+hD zq&024asFCULbLLj4$5yEt=8w8B9Ba}0-R1^X>pwH-r8m6@_-nfJ+xaT@F?hNYd@T0 zt!WTI96mRvUUAe`)O$ukHH- zPL72#BD2m$8mB1C52W*PK-%1eL1QA{@J_wnusPw$4T?pgQ~>E@0yGVs;-~zs+JV)O z#j%T+0uMB2I;wI5Zd0kAVRrxV;!TV@{!1qM0|E?K9uJ@*DF-(VB%BwZhg+qzn^%DPN0d7CXvBV67(2te!Q51pJCSJ# zF8v*ximuhKy8w`FrO9$3@wlynDH1_+>Ke$@O*V^JUEidk2|Pyao*jV6!o>hWz*59dQX&o)|JnDCzBUFb7 zTY7bDW*B}-T}bc)H1WSdm7;&~r?-2X_S<6^rjD9uO`I{R#(uIo@Nf5*9<3Bg#b z*h#M{-*wlI%s2H{_&llE;wY6&j12ANP7d{0#>n`pDr)PZwN=XN+Cm(V$nfNx zi+E3m%MR$mRDaoP8rG0H&HJkm+_7g4;k|)`Ldnb1mNj;q0YrGW!c<)}<{V{ZX;1FA zKNO7w_~(oG(^)wn3|c@A<@Jq6Gx=h6A77tk%q~uUDFwz8wXEe}Y0aj&lW`fGwVR83 zpq9|v8=%f1K|*))16>QDH+eetT$lJW()3*)Jo{F1^}$cx`EETd3SX;cf$FerW`Q>??mBw+s1`G#RGJ?TG@ByPH#mierJ7ysydNYv|csI@Gq*g=M4p(sQ zw~GR|wDv>~iaQd~W@|eCcel*0YF?Fh%=Ho12a*Zjq!d=3@_nymOEdDTuE`(+8iaZx z@TDcXb(v7O{BlZk{JR-AUbh1Mc8ZA;G;8E*(ThY5J3KSeflncEpAgW2EC>??kOhgC zEk;E_>R=#Bws#BI-RfW<96mHvq?Sm|?jM<0W>5{Osfz@P|LV5gq^Muyo;&SLg?tQ= zPaZ-go~t!~uMOjzXuXryGss3&6(%bEGgJ_hcGL+>xl1dNmSb6QXo(0XVW;c{?(w=QDWpqyD2W_>V zLR%t_I$R3J)<+X6H^#ao6l3vBA#v!66j@=B22waQumZqQN59YJ#Avc`yXcncoCN(; zN_cNA=+0)M8bxqms`f_|`}OVhMn@t0^In0u2uK>XubEMq7FPzTc~e|>&b2rsu0JZ? zeDl>#N@%bm?E)>vOf?99aDw+$%2QGI>xrwcFzEYu*`YE1C4})DpPRAx1CLF^TV4b8 z`y$fMXUUCN;#R(k@~h&JTajg}FHWzkb$Q(|`GO7*ACRNj>ns?CNwN7LuSg5q3zR|} z4hdb!L!8J~k#Tkb#r3x}yi4mIT!0?on3{*zV&<)>=~k)LMAszwdhG^|KfNDR?A*V+ z%FEeZJk5wv?|-=vk16->`fMaqpLTqhqyQ3nGjXrr+s=30UUKCFG!yI^nDILJ=`OZ zD2dGEtib7VNTM_ayf(Uaz8cGwYqlORmJ`<+#d?G5)}8!4!y7HcK`E&Fw4-FZ!ztl+tbI*6pLyA-ozptmKDaB)WiG93E51#(e)VCS*)? zxfZ-Js3Wf5lPJ5D?+?07xnfSUP@!MFK26&`c;N?f<*a-9=mMimtgd@XmNFCty{OQw z1jo|g$CuQnXKZ(jF((CbpBp6W9F9*pUcE7l0>j;r7wg1gs+5JoTA_u%;7X7UV#asI z{N}Npg5=>f*ZM(#KUw_OrTVWAzKlpIEzu;40G?1xj$Ag(W#LPlAoQFG}DQsH)3n6G9D<4 z6;Q|dW6o>t9)xjiHGkMOr&d{#Dz7q{{9qm=|0w;k zACR104tH(%JkG_1*Bk;8eia6E#v@FfG3x`KCu}k=tggDhM2!+>;##WPdCfE)z-XLI zbLLQ*4Z}!^Dg%3299_v`VFQ|}64TQtmP-E84?eIlRKxK~+3y7;<9^tWh!17m+XIO~ zvs+9mxzU$LPDe-MyooFBDe99r*p-OV;_!NY?@Aw1iZ8utnV%bJlv60`NtiEpY#px~d$y+FhF zK|o^Sal4+DJqZ60IJpYo=IPYvZTY%;TTeFaXlYCkLN1_E*nXcr1`tGA(O=u{BL9y4zcev zchA1xu!D___sOn!L2cV(cEn<_WybqTA@Hd&(uINAb=_{Drd|V@TWDnKu_d`y##PsD{o31ezv8?nd~|I}i-SUbVg zT~&U_^xTE#kn)W1gX{UqbD$4hR}eTK<{b|`Og%t35fA{hlcCDBln6QHS?}yNE3!If zU4yuZzhu$BX9J55q}HO&6>u$K-$=ZB+7H{BIpjfQ+Sq@Az`2-hTC zsf5#qnWB|xeT_-Xkvl+x#$d0|NivzZ1@ZW^ywkY~@A7lkp|i}_y$KpH}E8j z0=2hV4%4MD*QiuqE7aho<3hR0lf%Q>7)r_(HZVGibxAPGqff0IULR+VVUrHuMwHC` zL8>{|vP0QPim)oH@lO+#SL0Sm???}U&yUs}!to8+kPcZ#po~58ED^86U^2{&7R{mn zFRHM8JDs_f2YDVNJGt{!OSo)86D&w0?C%mm;r-Q?Rl}9Zg~YZG9z2kNKin6&DnG7w z21-xz^@kR9#)w+jE**1f#ctAzW^6hvGJqeaKYY`8k@#wa4owp)kJgvERB=y>W@fCyTnwl-?P13r>BFcZzPMtztg?q9g=2vN2cO3panCS4 z=HhrZ^cMUlTYk5Ar#)-YscyB!7#SU`bFz?hZ|Y&HO<^z-Iiy+{m*`fd+ZI*UQM;WDR2+9{4USDLs=xDekQUZXVs!x3^W( z4mny;pN4BCpRY|M8^|?t#DCMI8t|n$6$K2QEMV~PcW-8nxKDmP+jav?{8UYq`{MQ! z+XkR@8n2sd9Es@v11iL~v6r%10!tH>k|qK9myFu4XM~rd`Z%4f=eSShfr6eWjHkRiu?GrRi8g}krGn$8Q?q}(x0`pb^uoK=;_h7z#J4c+VwZ)=K*)>mjlqW9t zOUt6dy47IN2Aq_%>5^&L9UjVP-MrapMqch9#EKzAqd59Q&|72S>f;UxlkUffE2LK6 z`XIa^NKqP%L5jt6PiI^u0O!k04KN2s*oS_xDvC*VxC0n1m1WpiEbDc^`@QhN^kdtn ztY1{M)M8jXiGis$dDyr-c(I0wu{JeHPX+_Hv$NLQUtvNCn|Od>>VwJ<3ttMkesD<_09)PF+eT1_p2qH z9hae$7Fb4mxawt~LQJDJA%R2NKnv#{q(!{s88z~o%q$Q(zgGB_gjiX(r!D-)xqkDe zD9@cdS`s-A6d6I6#VpaEwrN`D<*S}t$+B2uLXA+67_jDBfQRgp&P47iZg8;rnGz5; z^Y5NrXwGTao=o2xtPr`bR;gBR+|(Q{E?m0Tmv$t_F?^E-Lg;^94KL87vGiiVRI--`q3LXxEkN}$JRfx)upel&W58dLO8 zZd!IKZkCF=Ni4n%8_7JIz!RpJ)QL(Q?G=|bf!EJP%iG}6r$ERnPn>#_+mgM>ZKY_> zkdpwpExr|(h_RFww(ZS7HW{mny%M}9lhXA|%mc)(=?1OuV|Wb(lg^Fh-boqYcxyJq zEw_Hu$uuq}@U^&R4}GD(yZ&1Q*zQK@jMXwa}3Wn(2ha`1%3U|N_=Gf1e?md-~j8iwOKU6Y-9a4`SElYLyjh=B;U1TdYnp81;$}vdoy$WsUcMApMCt z640bdltgX`xxU}vrQmL0)GEFc`y}qu=?9=$cMq5z#{WdA2ei|8k7xUF3W04v7W6IH zi1czUqPVhpNp_zZm3=km59gJF)U>*OB$i+Ns2W_{nq zTSJN87akEb9Pt7n8rnTbe^o5hveshFU9&Hf;t4glDt+HC|QZq zKRnE^yQ`&LjaL4|tteMQb4ciZU)6`cC!vo8{@nA=a#(i)?ypy==R~=Gm7e$e1{{?I zv|uGZyNYN37>KjVWRO_Hg3~)c3RFkt!hg-lYJ+rNC_b5KzBgaTh)yihW&3)BT^i++ zqBF8uC%d#*V3t}H(7J8gpaAbmzT3jaB`fsd>t}_InV%*7gmD>=9Ucf0<}Mg9Ovp$Oj05tF3rY}(>}u| zZecUiPIn^xO~Opn6`xg-p-{+OEe4o0R;Mn5;_ulT7vjb()dOa>m7|3qB_N+Uw3xza zDeSF2K_~u{$4t1_pjbNEe6&b4&myWNk-M_5)mCnpL!bY%ezo)JE`bpV=lVe4Xp$2u7(ldy>oZ>kW@$(aFP2Dqlsr& zvd8LrQCnQ^v^ngK8eE36k`7`HC<*?)Q1YkVT;2-$mh`qSQsw(f1jVFoy^R+C*T*}^ z1`f=VG6SUjK z1R1S54k5|0wJvMYVZK&Bb)nD2cuzwVpNVDB2|PzmlsXGlZ1ijAbtjI=c3R-i5nk5p zKT+G(g0j>H++?SqID;V=2ZC;^81_xVior-dBem=bmX8aThB-NaG^cMY^t$-}1NhiLcDbUBi-Ag&=+d?6lS$-*;50cIqb zkmW-P0Ww;vg~k|0{qH)wHjK{TuA&2royO0yBv1`hoE0KB9XM->2hPv)6Dmd-z#(<{ z!kZIPx%5H7`o#*@*&@&T-)7m~1YqZYD(D~JLUTxqyUc7rR}8*6ycraPM#%vO9#Q}DGt8p?G( z3>wM5HfB4kL?To~kLDy58P#4=RX|3D3-AOCcdjJ3P1|%)Drf$7a-Z*!00vWE8Zej~ z$!b&-z|dq-!M$UgNuc=vonuF}Xe7JW40KM(QcIO38yU_%C1eaHfTEa}3uJg45G9H5 zX&j(gP4~wG;q~3Q1#}NaN<0X%Rsnpa1E%lq1o{qO`Xy@5@dlf!XU}vhtlyY6va{(= zx6uLFk58(ivsJdbl>aA z+|K6){y@>x2BoMK4x3JDmS0d+25U5QsxxJ}6}1s%g{pYF+p?Tcf?i9z(6 zF9o-d6+z2=NkyH%9jlGTcb=%5I)7ftRf%0s^kV&)&#GGx!>a$)sO>9F1CGx5iAR_z zd(B56Tp#TryBJpETG2JAtAx=F7%a<^u1#N_mrGRVKNB)6U6zzSFbm5w_8fxK`hz%4 zy*_<3#}8(_Y51JM8W??P`n&9}@1I2TLxe+qEaK&5*u|UV(E=koor4m5v#_UJQNU0P zmXQ=%cTO@cuaAS_9>xV(cF*67S4S%cowW4M!?$V)u)R?Ji^-&f;uWEp>>JV-%UhmK z7l#jM=+8f>?rmywDz_b4vM!7Gq8^q&TY&ksUz%8=TGv$I_-`BVJS1}dJQH<4Ll*BO z1UzNad(HgYb2_f$!0}+z`*9;H6S(cp-eu_Hb^M5Aekndt-&BcSM%&Vj&U%5ezz~Zs zlcROaI7(2EAA?5!fV19{``V$d*#$2qSrCPxtB94#T3MW4+QMlbRNB2dCXJr&W_qJ_ z!YeqH7*#sl5OIo$idWE`DEO4R zC8Oa2OXKz7=JI!%fKYb~ELb!HqWn$2y25NraDA%%uquj+3=<1gtdw-TOdK`E1mru8 zx5R=qU{_xA0%#CV?TZ@DuCk#ZkNdb)h~r&AYA= zOht{HEcZNBdS(1adB2O``KxfCT?*33{6>N7icvGeYyVAYWr`;g;@R2=Ol0Yl7D}(s zs8zOYVC3pS)p~vx4|iikqaecbliindZt%KRryyzjh+%u7cMHW5+KZ5rQU)wOfBQdm zm>EAwCYCyW#CkYa?6@ldg?B7gzaO5wDxWyIKw+;BXEc?cJU_{?O(9du6DLItvVQ^T z=Bfu#{yFMO%RY6_rSW0^D*n@rs%3O_#PBpybY2R79(RSuxTa!^imTY$US>*tVC}QEH8ylJV!CFdK;)UN%or>Gp+iS|wl zqv|y4JrHX0Y-z1Os#6&TMPRYajke0g=jnt^Bo@9LIs$8g{q2&QiRU!z>|T0bOL+I@ zc_=Iqvul;d@_>oU>Y}sdNyJ~m#%;^wQwdN1TwbDQ4;gsO5u0;8{;Zv^q^Ok2&c>$C zuUWmj7a#49x$^H=nWIO}jX6HvB>}%+YUI4akYCeR;-(;5Mq$}d)rcs6 zyH=IpX98F}muphJI|~HH3`3o&=CQQ(hTRObsyXsBypz-YSu6;P$#4;1n3>QEr5#%e zf9bJ9q2nfnNsH!r)2>Ubd2VCH5}NOfhT<~P7w4twT{CH3?vAP}F4;4#vNR-8`q)up z0o@2DWv$sWMqcDs@vcP~rh{vLxe7P?ueNfQCzQfzo{y+lPNM1LUte9>$AXoDp9wiD zUNm@^jK!iEu@ll2dy$P4E8kbB_dZF}B55EHXAzT)=1drQkF0e}WjAQDe1A$TXZh{+%59&*Zkp@sJ5nwE_o5VZd-24+&v$KT5l0-W2m%^G=)0F(zXU_>on4Kv*86BIUM z#mraTU)Q!d1VtaYe1ERn+&U)sTho-;!iwL0^QTc~9Ar!|b+Yv?whIeKQ0a`90%2Q3 z97imC$h=P_gPx5WuJ187x`8OVX%J0ZK`;FHK)bb-CTg+s8*tBP9s;XO5p>qc1BF+E zs-3ry?)lnvg-D9E=u~hMOj)s1xrd`N93wt<191)Jeb-sxN`^xYQ8G(J-#^IIoUs7VzoI^`5qdz6fy`YxoKM+|a@%>i^Pt zS$MAHtU8-zO0Xi0!_hQ;Z~{BttKNVO-6f*kc7J&8Gyi=d`*qeb51{QFs8*9?E&X<{ zs3zwtIX%#br42mrnnGZ=Hb76eEh5LevW5xI{$%z1OR~b*Ga;j&S~)Lb=eO}~?SCJU zRmDxjUt3O=ViGaM7&NMhqIUI%;!y)PY&p1JD33>9(RE+(ov#5O)_>Uw2R&K?)4v6swmY1;{w8+TV8Z(XGLr_z zrclqC-e{0g%%izEp#AuFG-RV+s0ft3Pe`oZ{wP5cTr3mAmFxwrBZG{`r> zB;zq+EFm??_}~<(lUn4mrE{p2EIwWC4s~E*1sdiBAccJAH5L1ux|Yf$+WY5dR)Ymu z%aRgWm{rwl9=K%S0%g(^?iDYIn~1Ep;p3YtsGx%K7n9cYOOxs#Lpc z(^F}kO6!_AZ-ElsaY$})F+MNgfeLi?sHb}^WV-DQ<|}wY4}PJv%UidfM0-!;M{WR> zHS~V}RI(Agsdfe?rQ4rDVy1o(_avl`N6z>1Ok;3OL=I~9k++M~Rb<>WSJ*ZX(M}p> z&<|#HYx1m}eOYX2{h(xDtJ+|h17BDNUp4p|U=-gN3~k2iOD82-fa!0 zWE)<-nGVC^=Sn9BN?m;}Ns`oLIh2V}@wLuYzuGIT@IfMP{>UZcH?c>pVH-J$`(6BB zyn!(y(aXT#_O~$|26ZwJ%YKeOA$wBuF}zLki>X0R2Qs38a9rH&>5K|Nd`?-g)$ieN zH+R!n+yCB5aR4bGDHpavrHH~Em3-VA!h9S6X6SyY_J9_6DgU(D&=CKi5^NMYqi(L4 znkCRey8)C-$G!p#;M^!McPdwc0T%1GKGOJ{c%M%3+xJo|S1(|OR#g5=vPakrRwKEJ ztzU>}h<7)qd_TsqpQ|olMWpg%Dis zlj?UL_?mztjTCH#8CNIRdaPPo=Kum012?`R#W#T2E(aLSlQCHZ8EU+TZaGW6g)Pedlf>43!o_f}+BpgD zSq0gtkmF6)V`^Oh2pP3UnA5*0a1bLJKs<0l)dK6cn4|nBum_xo5#!?#H=rU#j+U9` zE!N`=K>-|!F}Y`l71nv$eJiUBpx@w!L+4EYri3y&z`*ozOtX{l+o zN=~LrGIEQEhzOKJF)-49epJH_4ZWNwYM2Js@D^YUszpw_7&6ImG_H_-H{^^qDU(hL7vT2sV?p@ zq*i>}lfZGMVgJcAbk=#)nQU5cIrn)cjHzg@oJ!%>_7{$(0foNI zEuK;TTx5nSKY2!vKenxz3KcQ@k&bYe61&V zAfjv7vMH#byRYztl(X<~ZFW|-Mu$?9JdZ*3*g^6(yS!aDtXUWh!zBGqGfduk*EIotmQF7_O~ zLa2Yd@NO16LU)JNU>wD{hF~~+By-%hw2T{d^?p4o-k?NNpeQHRCG>F9zRvxgx>C64 zHXVajrt{^V=QUMHGR5;AVNv^UUwuvBRFa~oj>D%P!nabUy?5@dd7j)cKhjL~W#+Nk zTwtB#g4FLpNcm4iJ>O4zZJ9#Zl8FjQDa(ncy|`D>QOm>lkuK-H>3lkAzwi(|Sr_O-bERb5>x~J6x*G zDb_QEL3YHH84LkITjxV-i1zuA`x|q0IPKDJaN{_sL6R1jVF$Y0p&+*R%*2H!&1zI% z7oA_V8!TQv5`Fa>g9H2A&sxqA7oqQ*N6OCbu%kxx9rC6T96q<*roZvN)&IlcWO|AM z32M#<{arrTz7T;AuYb@jFSK2p|6W{HHf58H9!YTx5o+HMbOf$j46=K7DHO$qH{C4i zihrw}V&$MhlaV~7W>bP(Mn*D(rBF6?<}9TTy^|Xn2@WGmryJ9;1y;E8)67lv2q|KP z$%D=B>J=f+d@qGC*KFiisMuH4zJD29VT43fPn+koJmb){12?w>Xh3A5!WX<1DIBg} zx-Z498rARv*$&u|4)4**~;a$p_KZmT= zO8TC9zFnj%{y1~nTiWvQjFmEm9g@J!qqDQA6V=5ta)`Y~z{Z^B^=l!kL;i$|%>%_6 zJFa+rkErtTCiR}3*cOV<&KT4mUmHFc+(XqDBff_$4WUrT$&I*UudF$kHQ{>1$>C|{ z%A)U#*UmEyF)0e$zzn&!5Rk_=yEhCgi?4btih))r%E1q=N~N{kP6w?az+~F?;;JU; z>e*4FgYmbip2uFcn^WM9U(+-O%;YDlbO}bH2*#e_lRn$*s$Gpf_EsV!772YROV-^y zKi88|5*Qr3y(;oD)11lNIEIu0OVv}0V{;MLc8%l=>DOk_PHq!O)6<7{>CR+rCl_&D zgPEp~cwtnoimI%ztw=rGX~;3xtNVxt8^0{PqIvVuGwDQKOwRs9v}h93);(71-5o!9 zLh9;ROExm(22C{)vN8hIrTU^ei-_{PRf5xdPw5pxgz|xN@Si%x8cnjDAv($+mQiEt zS2M#2rXKZ!L9P_X=|4~|GWJ)mbgpwtoyHxs>s(-J+#(^|R%6Otz?7$gcOil`coC&W zOR@*Jd0qp2%7U3`XC%ku5;|gAy>d-527`w`e>Qv=DJaR=SWX`{n3?6!tL-6cF@@If z9g=?tBjbs|T2^2qM8lwtWJeRIftmo#iRlupJg=I0w)}EmM&m71yX~of<2{@=zC#ei zw%0AmECi-}wiB!eBy4HlV(uLzK5pvReMn1EAD#d#aNEE ziWN49g)oh{QK3@Dt=9MTL3sioV3)bn+$BI{U)N?B8dvPtKb-VT->)i<&lhc| z)lL=jj5zN*PwikSx}K~PG^xoT&4*N=gkAbl9aE0xK7nfYLUL01L=t^gVjSUapFwBV zB71o&OG!IEb|lzBMX3xYYwk%F5z5;#5d%wSwtdXFxeCw3TC|V*goS;KI*KD2dS6Xe zuz3}Ao{`EIHGXah45@EsgMAK+;J&l8HP;0a(_=UFpx7C?jH4ZqJ8?y?I@G#%e)R2) z#Pg)Fm0{0J1!!FDQ%)j44A4(c%QzNmNDOcVG%^D|;|agEZ8|y&PBpcJ>`72PTfjDT zkH|6j<@Jld&hwnMdP&`g^zMC5g^#lu*%cOcMM1L~c9WvZEJ|6kad-)*vpJtlET=zx z-)O3O01@3*6v&)2^z?jsECt|+{~CCCOdDC{(!i=yJ19^YSXo-yCD$OBHuKmSD|5DI zK8wX zc>k!yQ7LJm>VSeTj_6D>*mc^|K;L~UERr(Csd{&S9%m_Ke(D@{a=L9Qf>=-zenI7Z zXx|YT?m~(y=Dg|V@3i9r{zJ1}VQn~}8dUY{s-F?H4lR=Wth+4})Kh;Hmt>N$7IuKd zW_RIDaorx@|JC2z=a5NC5pEA#!z^}jagla&Y3tFZ5wTq>PBwlQbVacFwG56;YI|@p zm)#s$cb7u$B)5Ful1<@(QeO`gkec^h1cp^SKEw!SVG-p|^V3jZ}iCpp7 z4v1fTV{E2$a=611pF|m%08rG=4cnyUz`b5!aLaA&!mCh%ewuI7P`laB%@S z{hG(*IBjjp^O!1a$G*bcX^Un`=yG?cX#d!gDuMcvc87jryd;2>XkmgqK7nKBOe)Ck zB)L#%WA{_U*Kp)eO;vnR-OjpgquT5v78LViGs!~CvNh%KYt)4=jfhSFxvjD*Vx=rX z^b&c-0mrdiOW`(g?irw1x+qiPGZ1GvBZ+NjhON*m;NvE)MTRv6tnHoSJMQRDtmzK@ zaIRM`jSGq(;~4TyU9$H4usbz4Ru2g^J@dR0ci)(LB+=rqeMvT4#A2T6p8w2oac+CW za7A-@u?q^RH^#lU&i1pxS(`tM ze5U%vG#E-L_XLlTO(b1N)YYT>$%<+C;mfs0k$*Po^Bj_Uv)f@=EDpUv<3a_;KZy1KA!<@%{Cnu|q7T2*Q@^Llr6JM=p zNjQ{Lnk(8CvT})#YH~MN^H`5jFYABhvzcbyK)_ttWjxmg^~q=zrYWI?_4^KMi1R+_ zR>DS~sk5Wf@k4$~C3UDqh}9NuSQt5%tfJtao2RQj@YFNE2I7wLm4k+dG6(lE4-RS` z3crg;dir>JaM@zS!JuZZ7K$a}l>V?%^mI{dzXWq?wcfLK?z(Vd1pVb9xj517l68iVpoE}vO-6c)#i=**`rsol7zQs z%}znNm-rl#mIHH3cVPWj)#C?$`G{9n>d`CM2`X#G0*|AQ{73|b5`Jhj)INk{PqZ@^ zB4*4lndIVk)C2v~V;(oQjU>y*#*%El}i1CLW zpRJl`l7KPb&W-=4h<3kfFs~vP%nblP;5252nQ3I#ZJS8qr$kVlhQx&+33!wD2zEIa3iuy&oOSf;mJEa!|aZv%~K zEC<*lhRGP$pb~1HRm#-Lc^Q3fGOeT}S)e*Hv6bnB>QWiKUtO9%8qLFE4l+fsrOs{W zb&E>JPS|8!jz5yEn1F4m*VBG{{p|kLt0qX_j#J*qL6SE=#npZ~Hhbi#%`u+@4o@5p zc(fxz?23+%GKq1U#-`l0u&D8LczvpOns2;_MWY~wP)XqVVtG52Z$Yvf(ta>ofhEr} zP&DwKBElFva4(=w&}E-Wg{OM&siPLlIB0p_ zX9OO>^o3Zy&pmN=s|~;=0hyAp>TLeA>5PX*OW7NBTE7VEq>gJ(*tSeJzDX3CS^Oz)GOoGvuN-j7 zeK;#<@)iMGD#;&b8d7dW<>`)d9_N?)=+&Df^jsM0ckrz48U#@}{ET5&XEyPs=U7~U zaEd@-u`p1Tl+E=$5Ra0;LkhvY_>(jLEpO<{*b)88i66q$#)0oxdn#0k{Y)_HPp*Oh z5)zvY_K%JYJYVbxmwIAW5+3@4KPrJtpegPbtqR!}T$$=tN7YXv9-dmR@01EcY&z0_nSgXa!x@e?iGRS+ z24C0Nh1d884;pO5kj|urf@&O%>(xoAT`ivXX^8bqJ^iu=pfzzP^%=t^okIo7je5{C zsnIar5}od>7I60WV(yIgj@kx6;ggQG_L5{!XZJ7@1D}#lO5=t=Ut=3!nU_|d<5iN}JE@)WC*(~`;{*mC zTLr$?g#?^DNmJ;iw=^tq>SHLiZME*y<8RI1$*zzyS(renWDL9?bC^AzD|)@Rl2`f*=L2>;CFz3G__4kvxVQ&|VV&%u94POix7xpn@!~oRvB=#b;37 z3u&8w;*lFQo{o7R6}GZdb`=9;`U8JefQMA9%nzjQ{eVl@Vgrhv`Yu|MJjb(*QCO9S zbAfJ6Xbh`1=UsCdB+bG8zR6_e7X51S3*c!X^2iW=PBe`BiqswO6+iH%xb92%O2Dsl z##`#)OWpkeUkL6@3sna;Q?j4a-s!%OK)Lmn4e%>&0wn5#`=2h_xO9s^&R}!7$8NP&ZKyx~HvwKXb>AAJ{KSSka%<{pk-lSE+Ul} za-o@adsuf_|VuttC3L*&m61Eo(+@!fPbFY*X8@W)hAW2 z`vI1p6jO)858U%BagP4FkACtbvnb&q5I;Xc%8rHKMsJa2Da<@-ZH(Y=fQLWEaeXyIzzIa>f6csGAo$1?pA!ip*!lGQvHtA7;4koNteBeBVtJ{yiJ# zA^;zWb-||m@(x58n>YRbEr5|2H@~f0$7_&%u@Azq+0x<3n!3v-G5Wy9Z{^@;1wZ1; zjU5CQ$)m+TTscs)3{r!l!&mY~X@}AOZtxTBuLE~w9l?X5=vj^Bsy%%J8i?>oV&uJl zB@Fnk-7T*7U|&( zU~)9!Pe$|ijhDbV9=#JnpJT?feUKJ=vQOr|P!s=gGyL!FFrK{s$oB)dl7`2{)FO2tyJh1E9JL$r`|@iol@w*@9n z$Q3PWV<&*dLF$=Tq*|WJD-*p)VgLaZup{hNamk_yr{<`DGZppRM3qu1f71Vb1D_S( z+0P@>30@WVt2k?%7o2SB_r4O+1--eo6j)5Z$d#giB7^Q80Y{0&o5Vn8q5AXxAJ#}l z3ZtCQdhl!F*b-$I0*}N;A6NpgQ&;dJLT~9ocSDbgck9Ce06i?Rtv=n-<1s)Ft*w+! zO*uQ3Xb_(wqKzER|Hk3zU(tL0GZL+S?@4Djh(Sy-g_0IgFC$?&UH-nKmYNNakId0! zom(l01-M5kYg9S~xPJH{X!Azluco5b0x(2}HgKV=Fl|j8Hrm!E+!ja~r13ug-2=uG z6@aboSG7!W3a19C8dBWy!Y4IB|Jzvrk!}FsgplNLb6~?1pfJH(Zl=HCW=vQIPwt&& zw(ZYo0BN z4hA5=v<;{$0fZx`Mevq2sP_QEGEDPRz<~n_R+2g2xD7X!N&ZI233Z~t%0MuHM1O#_ z+gA3P7VAGvg-I|Q#?TD2<0FQz%&BPw-C|3p4@mSM@|*=y0LgZZjJ{hb!~_;H7iV$6 zWqu7*Fa3NCP=Hwa?JZERsc8TR0DZFEHjffc#@hIg_J6Pe=-d{Zgzv#u*2b)cfgIpJ z?{U5X7LvD+EPV3-!`7ba3F9wvI9dqfzk~#KL-+PCLu&os4Eg_^374-L-sY_e<^_xcPI7#C1J#@I`pQp@!yse*4x*DpFR8^ ztcd+2dwB0$J{uP|5*YIJz5$LP>EXXpY4pZur%@Pp%jQ5_I#2U%$~Dc0j9xU|z$ zFF`mzfqV!@|6_wrd>{{mvverbz8_mtYPdiw@Y6K<5Gu^`myhn=AJqB?hYwZn<$46) z0dA)3it!acOx5C+(z?cS+h}PrYj$C2`u`_^chKyK$4Z@(dJ^iCkMlIttu|G8`lOUn ze-j}0tB9J}nlQotafS&7;OPcBoTdCmUDQVbf3yIk2G}abe<78Yx+^O74-ZBGo|xn} z!-nU@jw^}@e7+@WdAje(_%LiCkMJSiPqT4N zdKk7S1+D*d9i0T=Lvh9o?L71H`Qc;pF6>sSFCW}sJsHU|_WZRSIO2ih`}+=Ix%gXTnC(9U{uwTbpLMF!s*jeJJQk5dx<7rBE*a-swv*`a0vv9lY0Scu9 z91Gr-F?uUnE@;3$Tom2~U<1@pzk{FTin+?sgu;$b=-1G;1SV6k-X8G|8s-zNYLhIY zM2K=xB_`y75Vw*Y@XP=J-T#GkR&H2FWHL6PJi2TZszdj6XB}?T+o^eA%P1bunFj>@gctedbg1K<)}0hSl*39_-&0Gs3f?>iHaI)%eozQf_& zz;2egxioKG9s4J<2M7E{4!Pxz0llNq8=Dy03!gcXY6slqZn07>9u^tcEkpP{dD3r4 z09EVy#;neq{b5TbL-u~v#g;O%8K$s|{ftFpS&L|h!X2mYw$^hQRAo$KmwgPF}!>`PG@W;Jh<=_A{FW{ThVB#Ej{Q~+_vx#s6~ zv1`HJvxFkeDwlWs%Y`~@0s>Gv7U(B#D=h=rm-6;e6Fh`FVYF|GRjC1BAEYNN_(XY% zip^MvikbhH9>)(>2PkhGo32}n4XCygV)?YQ>jSu$#tvw*(w0v|W)rBNb|+61@0C!$ zh5Nz%aMH<7z@kC5C(g_c+v7Q%St)&vaS2Sdzn0lR zi)|oJ?VX_`^WzZA=UHB;{Q%Jq*PcP07Z1J^Ty8f)>&h*sO8eWTV=46A7i>_w3)fwh zHg#wTIz-lCat>)gq1L!!Lfsb4UI zZn<0D2(Pv_5pA5z5+K~R-^hE4qXgCS)!x&GQ$=-+C_rno&KsgM#?&gc00)qWMU3IU zo8EtThVv%t@{X5<mKv(j36k3z_$1Ky-qHY##((UhEabaPLa(kC{lQ`B&mqTk~>@^bS5 zMd(gYs&6b2i-XB!AnsuC8*j^jf)H--pmZ0IHz&b%$3-l}9V5AnN1vg*m!IV+r`4BR z)fAN@i)vyxG}%pN+}H|q6Ic$GIU;Kgmb-y!OxBF-FmhSrgH+eCx_~cn9s5KqOGWO! z-RD$3%W7!{rYV`(q*zKh-bsAX>xO}Wpp+_&We%+m9_BisKsP<>~Oxe1h35mD;a$m1I6^<)cFvHYECEM3>EaU z$zLKR5Ntf{pn8+M3I$JDtA=Zz^xrJ`L3o%6byl&%MFw!I?znT_DkXwF^@x+nL()-_KTh7qv_-(yQqpb}%VZ7)4kD>IME zGBtoDct+K_XJLI|T4;5DO{j_We*0U}>* z5yyI9pB2kTE@9-n#S_0kW8UGR+S>1fR7Ys&k4`=*R#**30tOUxFtCja{kV~;wUJdf z7B0Bcu;P@WI1!CJrkIr2-qHiPTtX!R*k4{>r$^gVgR!q^m2V_K($SdX|IiwMWcqag z(n32~{NTTE28cLAwQsb^UEqH2XlyLVq~%YJ>BM0|W0w_1rYjs|Iz!y+HR&Yz1CvwU z?ShGAm#FY{p2~}?l`XxcpZ6yDlXx!rVdi4y0?4m{n3Uw_A3CyquTWC-BIn<{_Llf) zHm0yO_3TTMeY!BW)ko|3s?`VXf2U9C*Q(Bws!CeKCzK9FWX>fH5dMgqQQ&7nX4248 z&^m}|YFV}{D0RE4`T$SE)^=TR*6g&Ga&?O1LGI48K)M)Gz2^!J`gHB46C4J%?UG%S z*qg2g%=f{oDO3pQE1Y0#fS)BX=crQ6C1>NzY96v`c>qIiOWY}C4n`=pOi#7WhoO*zsjc^ z*X>lJSK6@Y6*Wy@Ubtaf+_4z`-fjX+0hv~CI5kA?KGHOxaXq4<1= z0PW5GCTzJ1FYUIn1Md?WZ%J;bZ*Y$4mQ6pJ%U*~O=|bjc@;CFkl2)~67zcG03J{A@|G`m2R~5e z)U$)&Ic8p|@M#cqXt&|h{v9>Ja&)q5Q|FtrzO%_dMPUlrZxFQ&97vlTKVd*$0~0Enf@pf>$1PUuM&2Z33 zR$jjJi&$IpIiu&r3$jIz%TB4^iRMxmBU(PsU6eE&oI6&pF&ry7(Sb&HeibP8R7RVv zS}g%O2QzI7iBgm)LJH*Vd8-M@x&JSZnKQPDDJ=cCaBf=|gBQyo^Jf ztOL~#VseKK@_SNm?>KG1mU0({1BbdDL;&N-5II~l9QgW^{tl*%NrShR>Op&4C%6#j znYf51pZhsel~9UfK5qt_gH_~kxTi^myc><2L)z$E_SB@nn|5h&k<+}JE}s~G67I8h zWMYR(J#;91tu+ZDUCaoA1mVONIRvK{R1hf=D3MkpH6e5*9Wj4J&xt{s2vQQ8c!`Ns z%-2=;itU$Riq;P5Dcd*p7L#iqx@X+3YOSx&TMm;(=v*_5bgPc=* zhY;lzDIgYgZ-sei&LfRdhu+(pWzo&J?%2U3EAKctlHW?K2xV5O@6-RG+|ro#%2 zq&0c&XqK!66GLVK3AkjRoz>9?G5yQ|zUZzQ-!+2OvAuFm+^;+IIf#vHat$j_JKxz^ zjq!j@M)l<|8RFX#mylI_Ynltr*K#UWv-2{m;;V^f9ua1wAS$;Xd+VSI&7$*mvZ>*b zI^{%`;d8BT^S(4bD@rko?pFHJi8+ zmRoCPH4Y^=Kn}puQdYpM`ZTGqRb%TSqX}g4oLyuylgPHIMXrv|K#$1N_0j-Yi^na9 zbz@2LQmO)1Bxit&NZ(6*N|ZH5a#W~dZK!jn*=bf>Ge=(j(m9SxlQ|W#5kbkdOtGwp zNkKkLW=G}*+1{$R^WsmpOvfF^Rvk}`LUwVRcaIW@`Zj>wB_Lum|Ndiv=SFS0&p;Im zRlSl^c6;4ClMI~LZlIL^Ym(62(-TFWQW`q_1L*SZ&<;619b^>xOLz1j5C4N1iTLf>jUC(H=3ZVs za__lNes)S^{NPSgU^;((I+1#MHQ5EOVkcB?19hu`8{h2En(Bgbf74>j)&dc;QHwf4 z*5YYl&{}1(yV{O=%yN&`MkPVCG3IIV%sgdh?Nrm8bce8f~gxu z6Z-&1q>V;=9GtKJ!vLj|GTV-0Sz5n#x8q95)_`NFja;l1=6h0u;k!p_hUXToL9q7$vUXFm9A_tsWnHZ_q)U;g{zke%VnbuqaVSxNIwnd-QRm7a;rk}vR zey%2^l9813Ay|?7AA5P>l%kQmkNBB99r4z?yTi?3OzGdZ=VCBUS zI4RoCql^d*4SX(_A%=L5pXM8xKQ4iLZ^voyjP)_XK*7zgacF~kf|fbw8rwZO3>$+% ze7nGwFNJGPXIktWNW`G86*lk=iq>PfW!_u4(rcS?Zn8Cu)1W!%^32B(*BLoS5H7GaUdm8Yt`L*Y&j3!5YCf;r{;Nw0R=c%SwMAAwcjk9^@L zBxL9TqlvDJlOrZVNC3mcu*n3Wnxpq?d6<;yF%K|=<`RRh4WL1Bu zjv+X9b56ZfC~LA$K53nmU0yykmKN6I19O+mQtt@Wiercucgm&}VkpYn?>iNiZj`V# ze;&Z3?{1@bKIK?EEK6z#*Q|bmbZ-VKX7*gMxHph0nWwI48(3KD46b9gmd5)RG#e;r zoz@eonk|Fu>E`&%zfMZbeG4pX51StfhoKB%stwtsNQ35PMFSAHOsK14J`y@iCtf={+Ql5Yi7kSwyRIB3aors=9ZD? z8@Wf+)fYJB)Y0FuUK?lKeHZ^e-|@$hpPk;cec&&PIT0om!AeyfSNf)?n!UupVmc9l z?nNlZ+J3pY+ci`VMJ;yH4pm5 zV}+x>W`z$c0BDg_Nui1Aa;x=xr4JF})=JgQrGQfx?ncXT2pyqvu$4%81&?5+x-9Q` za;}NppFbu+fOmLy^j%-{PxWPX1bpAE;n$!Dzj+a|ncxSFxuiD8CdwQ?i!-_MY?VnpC0lH>nJVn5JkrFen$> z%bTL>USIug*Go5-Boi4|gi1IiB$|KZ^@#%E?NOVk&3@Yr6ZD{5fO7e{Xi^}bk?Eg> z20GwAkc$d&acO#f=N`{<&-3;<@+EVdCXMXowR03TvJnGEeI*fbMtoFCt<<^gR4CZa z;6k0Ih1>hPnNu4nSMLy%7q^hI9@D3xZ=b0c+>+GkA8?8$B7az+qaDRPA=hNgF9qxicxpKfX+|E!DntriumAVs*QM4J6faBl1=|n4=P|i@U*# zoKUd(6*(0&ft7k_9TiAHi_8s36FMQR=Q?=7-dfY-lbp||F3T8<@Nb)4TRavmQWVc+ z)X6^jAjm`WXKIANO7DE-t@hH|?8U(sRn_|F?U&ZQ2~>$&EIk53?9|2}3FirhJ;=U@ zM~lstj;s;~=OuI%haT$H&dWOxI~f zdjlgt!=It+Jg#WCJE5DRE`Hkh(Y0_Ut-x=)AIs(kf2UZw_*i2$yFNH7o8YnQCg7;{ z-af-(|MTU<_l=2|;r?o>^;W;1c;-`9TxCf@7ELj$KCIrcT$LQ(3FLcIZ%?+me?9>Z zXVqk_mXNiCrQB_4+<=hra?-d0Xk1U(xG#cy_lD1dRWe+?b7So zx&pPisoRYjbs|tm*O2O&;a);)ml_D^gYuGJahV=OsX*ShA0TmK%)! zeAIk8-!j{~N3W@5+QaGy%$s6%d{7qN8Tlzy7?i$t3S!pP?j%n2%l9aK`lf!2%$6sz zK6ao~DnQut=~#VC;E}r4lM)S?eQs}r@?!@yA9`-uHCejj#)y~tD0GHx=Ghia>8I)p zAd}&x_2Ux^4V#YOEIw`yx;9(O4nYib(bpIr~T7H5Ru=h$N9mspNxF z-_E}ut}}Sn4h)(biQ6D9bu@h5CCjc&%v3{EJPfgkHUS~jDTTh5Zhe2(;}%Q>;9M`Y z+miasHf&GJapSI>b{Qwdh0Z}T=o8_$vNXV_>1WEXIu+e<$bm)J0*{@*mhA!^gOcTS zoz>0R<($!|iCz6zwLK9-kf6Erso2mqSKNQTuuG?^J7<}4wZ9k0f*W+(=kY0!bdcoY_RXV-Qt1GCdJ}S2TRaD6PE#^Gx z-^!{D2L?(@Nog%<=vxTH?fd8TzT3J0Z__+FWQA8=MEG8P*!7G&x)AS-Tc)UM$u{In zD!GZIUY}3*CXi{fN?A4t%L(clHpbAil`nbUcv#fSXG%Qc^vbF*1>o0tTHkqx=BSi< zeX@89nlFxXNJK!UCLFC{e-dtc7o-=;yke+DCMSG2Lrf5AtuGEPqfu87n*%eK#7{GF z78N))TqvF&r&gs}jfc#*0p;d51DwdbF5t-F%K&^4-$ul| zhFG>Y>NjvRX@PEbiLM)69jh_byR zr@*{w2m7d}APEvvg-c(fkunIs%URsBQmNKiN5qQ6yjfev46@l1hOAHa4l99+%fSTt zJQ=#_5ecnmFa`aib(Iy6^v`X4k`wh z-BXkR0K~_l9}ZG7eqVVdfcs|BH*dfE=7RsZ(UXBLr{;hVFbW(^*gCoH9orFCm|x4{ zWR2-unhXgUqwK&9lhdyc4XTr$#lO_6zq%T-=gibnzW63D{ryllyq3~Qf-1OeKI(2y ztRwP%`$n$Zn!$u!E?-Z|cnrTIE*+2za0ZZRYt&&7wLGBm^j`ArXXRax zDgJ)!!fYKSs$|(eyS-dn(C zseNYFZGrvzx*i!mnMW@CuG3EUivQa85qZtKT(4F^lAij}EW@k*b{?X|8LHA4frV2{ zA5WvHQ{sLnZDd+gXz+boIX@PgEVnhV@}|(_T04*s3wi>+BLjo;R@d8GK86RJZ*DXD zd?M^JVc7bF?(!&lOJX`9Gi@u2=ewRyKAbG8N7pTymA+PRJac(BhM)37W08|SKDe8k z=YO8}XFPx2u|!W{SHz;cS6gA*K10(dwI&+es2N z1Uy1xD)>&l-=xFqK_!($=VEK66#K#)-z|q6^xHL(SQd;KEAGPl*!7(2mj@_+W=8BR zXV5)D=yFNIfMXykuv=X&wnm8me)9JETP`D1tC!{8XOFD5>ABhO1pgnQ!?W){YSTEy zGv0!HBXys=Y-G`3G}M( zHW4JP2a+qb#mNc(z0teoy{t5H87VuKgLl)zOi$>E;OD25`TY zDGF+Dn8ezFnkhssj)oOg<-?TRf}cB3xTne3tk&#Wt_Tz*iOUe(#P~Y3zgNn;>UYJ# zE-sVfHuJ)H)?;HV=gifeE|v~=YtxYtwokTr6zaKkl*TyaR$sFRUwh*`SL>CZ=M>57 zw9b#YS!Q-VyLnCM5>t`>$@GV;Cq*}&MKFMK8PnYS6X1R?L;O?vOi>}D>bCF!M& zh*Fq+dl>SqN@=0ljkln3-uFgzo0wewkkp}WH(9DU4!gGd{bRdM3u}(g-F#%9KaYHn zqtk_y*n8bo-ADIDCbNoVU`KDcbjWa7;5H*+?zE*l`cq0NTpY0gxo?>lb|u6=_C%9J z%K1@pTf$aL$C6FPQt658$n3^H0p)SHMawSQs@e_@hO;NrgTEXdB##KMcI+WwGe%}%)UB4}zmSw}P zczNlk?gaIYn&wZwB~ASqq1hd+5_!q8Ps>m7^d;QT&gn=U#(1yXdE%pEtC{Pe3CkY- zSktgFXgHP0J;m+?N-PJz8(&>GemXYL+q|=~Wn_e!t4GCEO>a5J;koF*``hOU?QDyG zoHgnwNmA*i)@jsW-%CyKHc*WmCftE@jM77(!jkv*i^wXA$zFo9XtWCGk z()<=p|J(ai%x%I`z+2CDE*{pbvw}$fNc1ta`qLD|Fa1nk@SVQ%IW2do=`g3n*~S2` zc8L?Lk-siB$@OeGJS+Nhx_g zC7q54M*c{9qYjwcjNvrdIe+V(n_3HxKEoz|ew2NA%G_uuz2!xM+>y^31?kqQr@9K! zZX$Ic6w3CQ1ZE)wEo8x2Rn)B~pM!uKv6-(WR`A4eR1+c*lYKLDJzSGPXmIhXMWf{_^i<7EcJPS*{Ijgx&3>k(-jEj9Tiyo#O9uBloEu~VrBgsr z3hf+s3c|}qY&!GzozzNpk=HZPZm8;EhSFM=QaRo21x?4XRd`lH_pIF}Of-5&R^B9{ z4nDYd#bSF)$V9owsSY8ZzoCYHu8DTEkXJB6rEWp7GvfA9daxkaP{QZt63X2LDZbrE z`dEFZ8p_4op8gyvB+a!v!#$&yB-LGgzCihBc1q>wqd6dz5twld8T;bFB9eh04kra zDIP>MLvrKIUC5P>0N^}6`cv1Hb0zH{p{GUm9WDQM_h~l7{7kVFt}t-m2R+qSS=4={ z{;}H6D3V#k%`;Ei3C_2N;v7YRyV;EF(k6A9Y&FUOUd+M<o+GeMMZdNC0bTO}euq|J^V2Gx=(GkXm*i7zf=FhpE z+eS>(tv=Yfht}h8tGaB0=-wHhDOsRCbNb1?Qy7pJ)*N|egA_%brLw18c$ zM|{y>OxI>F{ID^hz++5sU18$opYdsz+a2 zx4>zj*&laHh%@ZETK7B5u1%BQK$f2L$AX0Uk5x=&G=wb1i!DL~dOh!dm*Loar2K7o<=zAy-9<#=Q-f3v=jC z@+1K;LdQp;y?Q0)a4j~8$YEVX2e>DFwiDO0+U9!lIpztuI~0iajrs0Dxbg2)ihp`6 zSpsf>MI1qZ<~BDn?_RZZhUyH7!B~?0oW>cSE@WP9HXpc%Ur?uDP6N)V90yj54a)`! zu2#BY+jJ1Z6^arn(=5uJSzgYnY#x`@l)+0)wrjQ=Q!9Ur8MkhC5voB((Jd z&Q}B<-Lm~F(>bJF_d>Epfw5#4vlEWbDL$i1MCl1lm(IzcK!}A+&SZ<7m3*2;&JX+H z?I{pjf87Q7<{dU}ID#{E89dh3cmuA(F%Vo-n0d82_|!lEj)qs^h-+{py7oi{tUAiQSb7-MZ0!)0QZn6QM}Vh;e& z=Bp;K$II^WQ6KixLa9!Nq@AR?JGfq18tEjbTQxx^CU99$luN`1dXSfZnTb>0@?$gc zn|eLjEwJgW!jvl~D2XjYT>lUr5HDkIYK{G+~}D)Oo7&?6x>A8e+G%Sk7fQ+68d zNVvSZcW%}w@)VleSYc3S6w23=d;>&uBD>AmL-Aa+3c&2d=|XAUz?$6@1Mn&g>VS)^ ztC>u$?()0KNrGEnt{+#uQ>_F7jM}`ciEex{Ej#@zKsG?|rg}Lj%7#O%jev0%Z)MMe zJcv1*1|?cy8~~ugfMjR@2>c_pg1EK=X5Jj9O!hojB>Cbvcj~)wV1e@pB9RuaP|8d0OL2LOwpR4CJ7WAdS2TFuf zoI#E_jZd6`HI$+&Lvn||KuqhQC~erWrDdM)Pz>qQy5RO!0z>eH`Mw9~amo=Wm5jT% zS|C$2(RHUpslGFUiThY#G)Ygp{`EUjuR6hXZ+$3hECuPu3m_Kx8CWuRb5~ZVzQ!MF zKyp}Bme(h11?-2fd;o)1To(GL%oo0sSep&Hy#czdGPcOZ(%$a*XCI~BakKfyL=PJx z?2$x4cHuF&M;BU)1*==5Up%Dsi-!(iVK8u4T_>-P!97Gj$ejX(7YlgQ_ET^HM~G_t zG9<|UDP@Rb;?LZnUmjqn>ksFey0An?pemqgyXmfFgT)t$eQIgR!NcH$Mn0^?13uM9 zU?_Z5CmXDU5WK`NuzdeF{eQ|U`oG=BW}p9K{{O$8{hd|J<22QzV6IHHhKeBWKWggK zx$o*AFD|PwEZJ{bda6C?tUWc+eyZ{B*GMiwGS$c=`}`kK=bjJBNsd|Mg3Lat4Qu^I z8iJV(p4>mS5v?AMboj*g^fJ5l4@TllpoH?5=4$u9;s`t-_{3}06oxJA>>*(%TWIQ- zZHmsltFh4Y^)G@W1>9Z(g(ptIlNtTV#`4j=MEnhL|3d<1spsift4`d1dzJ7?h8UmQ z(Lc$fcwe<2)%sI$j09{b6 zYShhtVEiEG^6E_I64|4JEV~z?sN>dZSz$@nZGeendM=KQ1~XzK`ZwJmTN>Y>)TZmt z=HMm11lnY=DY2TtythbkZ4mxBlu4W4nXdcKf_;^J1SM_Wd40A$^>%C#RR}KjeJZ5V zL5{Q2|E$gL?Nd?(AaFeyIPNn*Q3S1Ym9!gv(}q55Uo{R$axeOoi>sPlAHrW?EHzfI zZpC-?DwD6xV_(H8XqdG75$|V@gT5*m3$4+4ifr6@~nmTH)*x+AUi}RN3%e7 zK{M+;%uEda1M_#lT* zC6J^an~L|n&}b>3EKbS|^+F{m_riNVjjoS7&p#39KP$BLZZMsh3+9fXd*C%=-HG=QO&K9;OnL3Y`@)52FZBbPO;~5xX@B_M|1f zz{6gZ<)!Y1^s<7bfZ2Qx%`RrOaH%lnR)IUSUZHn>AE6icrUQioUPC-}NV|<(R=1By z3J7D;G<8q33@%LCvJZ6Qg7>P@pX%z`ZcFw=axjDR{V*wYr2=CHSRcORmQB>*k*uKDwfPG} z+t`mupd05q?{Iibk!5#pS)iHwWr)uT$h?|~$HBZmfV3nx+|Q0%ONTSlfi(6Ykh&nH zdfYpjsGF)18)<3g9~{5_oz%wF4<7$M9xbTe0`hjep70!E<1*0OS4x``*blK5 z9a^Sq)S%(Fk!E%515JAZJiJM(xL?@ip9pS;QuQ=$QHC894FF>2B4iV^HES{a``X-w zG{aZbiFa57N}dDb8MP}sIQM5~|JN^k5Nw~(`gHctn%6-o#W#$a57PYq?7_jWI*3I~ zt(p%da@+)q`X=hlf30bt0hmpDW>qRH)@*Kr0ZFl{ul&Vo(4YTm*+^xKf5`o>O@xeN z>;h2GRIjLkb+$(EQDPDCcOO^e!8=Qtd{9N`gXICmT|h)Z)io?u`is4f;21%;!tC7} z?1&>0K|n>7iB0y!|Fs4CeBk~b1Rvo`N!!F?jhC1J@w_Ql`d^^vfFOvpo6x1w>(^pf z?PwJ)fpvZ(9&3Xw?*AfHlmn8T;!!q#<_As`R3d`(wO{N$UH?EZEg^U(={CLMU93ak z0aAOer?Rxz{rlMu+yF#zRQMH(VYO?A@Bs1_73txu)kDL(<3L0m`D%dGj^vs!SkrHY zEm2rZ|JOkjrTq*>JUi3ShW*YXHqhJLaq80lS{o@yKunD%SYxf~G01=QsXspB-$|tn zfn=`rjI|k7yToE>7cE57AtxC2Vq^b#29kh@dbrqcoQH#kKg^Fd|5wA;&~d${?vG{j zAHn&@ESkTDP6S1Uvd)`bOvg$LK7w-@)b%-iX!Q?s0If1KL*oW(ZLFz0eF3^6cy@;s zIC}oI?H34RHhhu7enav&*u=C}{LcSscouSYoJqfQNRs`y92fzYbB*B_8hzLl%@sN> zOZhVM$$xc2BFO^=o9cetN%n_I_al(cLg9%`8rF3FTBu_(VBae#Vj7^5o`cdi)*qCiMNB%hR>-gSKi8 zYHC6z;68T}qlyi|usIvdP82$Ft2lm|*vvu84(P!dX;j93c(8W=bChWpp?55r&tV_n z_t7}q+^ZZ;Xt9ni@wfO-Cx^t8$xr_KB7*ThLAzXd<|6{@Ew3Q3w(Jz9C4a?-VF_2! zNT^-j(UelGcE_Oju}2gv$bWBl1V;$K?XGhy*;p)d#Qgh9Hh4dF=fInC6fX?Ofi?DpAM~~q^+T=Y-kl^qrhqwdh8hGbLuOL45J1}rlo?)n? zg>_#3*N|0^hJIf2CLBuvkU*CI7xV8^?Eiim^`Lg9-tYXe+c|@F9u|$yZvJ~aJX;7$ zU}B06QMxG#9@4yDmc&}Hzxe?Va!9{mUp{0>P5Oa{=u|7>{}}O@C&Z%{8IV}P@1l_q zYjwD%^kZ?zA5rt`mzO(e$A0l?33j_rP`mD+j|2bSj`_>^0{?3ly8#5%pZl3$heefF0ifa&wJZN2GO%6%qCgU8 zcKoT~Bpa;9#~?*JL@lE6@9mD@!~wpRH?|3hZMA!3}2!D)mjQR-$;2aB#n!c=|tv z8v;lyT=N1xwy3Sd2kf26j-UTuigg=`oux_dJhWTFKmd-NyT|;u+Xnjxp9YMTJM_Nw z3ic7`h3ev2{FhSvzZw1!{eq)-)}EB3P~U# zB{!PQ`(qY0(WfaJ8?PT6$O$hWQ9D`BOg5H? z$<%9gEe+w3k&}y)ya)owqpNqb(e~^gwdOtq8Tc_H_cE}~CZ2@*55lo_R6FzW4Zh&G zcbEK+t?bu?Bw36WeWLs}Q$sV|0QDx+9oL$H2PxnWU!9X@l zhJ=>ZAv4qEih{bzb#A-W;P_}3b#f+`PJHSEBg3mu)I~fbQ%9G%?)B^7h-h+TY?8zO zYXv!cwG~;Y*i9NCr6HAjp6L52_w@VqB znS|V=f3ulOE=ajQSv&!E5!JBo<4w^|6>jf+nh~HPVgc-zz#X^p=Qibtdm!YXQL4Ug zh{fS}d`A&7k4;VU378s*i_6>S4wj-G=UWn~l8Q20^$9Ym3RhKgCNuH(HlW+sEz3h7 zZ&Lw6KtGnB?Kg#V!=%!qjr3LH*Kt>vzPHRTX@Kv^?o+!MD|%NY*7RCVXw^&HE6mL8 z4y4NGaE<~TK>Em%`j9JX0Av(*xm?fw?Nt8NgL~!a$%q?KQ%oGR0Yj=otB#j{3qY?t zQ58GH`3MzB#oOg~BqUyP9(N(O1_a+0e!+$97*&9Vs{bfGh`kQ3;KeEt@0EQrJwQP) zRZD-$EPJrgW5!~qu*59hLjZQe@1F25z>fds zo?wk9`hEgDgqhb+VM#Sw5?;`Sd*1l{{f93;f@^mP!Zl9-uTILzXU|yCs%nJ%ZB>w7Y)n=l2Zz<3aFj2x#tx zF0X^Q7+MmD{DekM9LRttsTVvHtpEcGB16p-btnzzD8y;B&!`WS3@@;JtZ|0fpFziT zuC>h)i)1lfK=Ne3O`(H@1NKWK^y2bloBi(>@eH8-5rpLr09SqZ#}ixF6hC4D{~1m} zL~$@4v@g*2KVn3A4|>Icas@?O1#1?-e{9P&;vU)#C`}o5z19W0UlPdc=&mqMzW?w= z2G|a@b5aM)frSNWZ$PHgH};PESab7$++wXnRD}E6K?~)`kK#%$6N0W!92eN{8Cv*9 z+~Aois64p;jQ&k{r#foB80woZzi79 z1pD+;_Rrx4zZxJoINRFFjD^mv*-vRer02`(M^XLahtmXBBJb>(bIIS+fiJ0UBG`QSr@pJ(NWE*PV zKR6`4${~Y6K-w7F2XJ%{f*uGa?gQg<0CF)w|X|ym*^KfotE9CME}%>^q@Rul=hb)m|bYssmmj5v|+=bIcUEmrt@UenGF6kN|A{ zC_nhS*Y|8-7gm#mTh@{Q`{)`gVPi_Xbx_kgT%IrOkP+|v_k?XBdC8Md)VKr&ydiRj z3wyvtXd2~Dc3hhc7v|SfN@xUtiTZ zshQj-TKia?4ibV_yo2Pffn9JW#FinIxzN-FxVW%Z%Kg*X)HI{OcO|f?$==KNUmJU8 zeZBKKARwqW^4aS*zM-x=o9f*o85VAV@ZBvv_!o^h{?B{mPW5dd{V&?Dp@Td0;B2}> z=uy%vZcHAGyxW;%zJC&+bG-U2{?_ODvM`jx?`zUCuOof@H#f3nC~i7xCwq3M8AwS*I($pXc#DOKM-q`WHsK?svb zy4R;`q-B|eHm-o;{P!bXy?P}ojLtB0*=QnO>f~fA%6ig%2XX9&CHVthh1@(2*#=rx zja->`(VB&fA+NWW_xcqxAmErhQ%McZ>u zzGCR?5c7?Tw1#o859bM)EggxD?~ft+tHP~Vl;JTb50y65@dP#!SOM#LW7#D zqy{E8v%94kg)Musgz!DcdH$Ga&!K7u(xT>YkX69aKyaM!kTq@y*rECIr2{?zguf6u z&dh9*^f^u4n_!yF>T?w-(i$%K!*y$xj*-eOQ~oXED8?x~c{bI3OH&)pg6?GZ@QA6u&FUyugIA9aR5I6wLM59;b0 z6*%AO*Z1E1c!i(2eq^=E`bT?)c`#v;{yiI-GQ;Gj28oolv$R9R?ik_C2fNG2{(D^# z)b^h)*{xUA+=OJx3+UTa>iSon`9LtBjC9l$o9xACu7 zc#S`G-&&y_g$J%#9IV>%1L&ZkKr3f_RO7 z94of1QQv(YsyOk1p<%R8o%mwyM+u?`lbo{eylZ1}79N`ZEh1xID;m&F^V1K{b8RJD zLcyj)Eb4t|+{}Hy-ISna_Mw5jw`!CdggoE^PH{j?2?6cc#mSak2rl+nX8Z|Ru*@sk zSs>M4?x-F4{o$|QFs8MwjqZ9+XzC{w@2C2S_8Vov?fB~XrZ2hR`Sy-;sl%T7qpkBk zRVA6NO~*M|5pv8K>86Hfe~jpl%c`Y~;pCyTruskB#=+#ucXk;+D!JWgO1(Yn?i16D)fu(Tr4>=T zDt~eA!E|(WpUrq3D4<~UV7!Ilte?+zv9gXLQxD3r6#r8}uN4026W`}}bVr<{dTN`i zvh>7HHpuqq7^JJQDXVKMUthj(BRHV*h8(3-gUrNg)!m7BCgrOZ6H4Y|H~>*n$F`bL zR%NwPX~MikQ=zMnf-{7JyWroyyebcMfD#$=d36GN1}iu-ZyK%$vufB@rstWt+>dHh z|CE>~Ef`11@$7{!jSy;N1081>w>q6BF(2gRwT@Qp8QF?+n&O5&5a+kG{d0T%7~J>7 zcJVSO@L5M`QDMm3oo6fLJZKgi8u^Ub!Qm0HM^_Jz z>*`h70aT*1o#jnF;D8DVE^{?_q8!rM)g=wn(1_UE>KeRHrPR46(DL9(#uhrdX_soS z%qZ`vq2asoL0|#U*9+m%wvvHu-V}>9+yq}n2p4&fwvV)a@u4%w%xGZreefq54PXQ6 zW4FN9Ff+Q(ODEu)B_+X#9+@f)d$*MDDk5*$mtTqZsqKB^5F>bdsngoG93>}$IcsE& z<{#-we0^@To!oFEcawESBmZd>>ekHB5q`HD5xt=Nka_DCjSF*5*;--SEriV%tJ?2J zx8{wQZ3NftcEvUpoc0(S)H1Da6wU?E@MsVTtREp4s&_e(lb@+&UNT4BCT%fowq117 z8XdKFUOOAt{Otv{Fi^=Ru4BS(a{QGzap-{kK;4t|WJXZO4}WXDgKcb?tsz>nu-7jKKTnvbUvycHG-bEG%s1O)*Q6i@G5}WA$ou zZ2aPwzrf(`VqV$e(#*X!NWKWj#$L|JupHig`8KJn?2Eme8zXhumg)%qmjAAfYpOx8 zX4$BNQ_#<}g+5)E6b$-F$=7c+6k~DruF8YeJ%g~8F#%y(k(OKYBenh)JT&80t^p98 z0nSP;@>Odb8kjWGS(h+}{Dp&%=@J`x@&Gb{MeI8PS6VKD4!;mFZv`=QW|l$%?1*Ij3juQj1^)oE-S3)}P37o}YRfTl=K* zmEMOOm&wm5LfuL71XO~O*~LFDD?h7q6?gE|JWa+DtcxFFj&EBt74Mxhd@BQ>u#78Y?>%UzlJY`yf)50#?v(}yJL(;*R430 zslBu&SzH+^x(W7N!Y8d+c;{)KQ7uy(>r}q;c;=QYUD`}e$-_9uUD6JRI_=|e;Umr% zPx;Xs)-@h{u;l+g_fM<3-7XR90Ef_Q_CfoXOqiE;tI+3 zmXpnx6y+!EHs+Zndn?@HwrlBDo{xgUyNW(Es6Mk_KDkZk>M{P)vVsVNS#g%ej?~i=`t;3Bjoiv^Z?_c1?xyGMq8;f7OZarfL zYO&sKv0VWZ< z^|l@HC#$`Q!lSbhjbjfSKrVMpvN}e1*4o1Gc zs0FL3syst2I#`|Xmi<`L#M`*Ew2Y?cq3(tp1Otupin>|=d#uRTO32gAW`TG0B{oBs zQ1uN>s+=iiv7{LpTRAFpf)na}F`k;Ie*V1I+xA(w7L*2{o_;j`u3(0WZOT^nWVb<6 z8G5c!*J2lg>o^lj%#Rp!Rf2y^Pe;05I|e7f2Vk)BF%XzHZqah3^nf2Q*;+p=#6de` z0U0b8lCeQmCVgwRflzvCYVcAzMOt@q$0dAEfFx` zWc|4GGkszzZ3QFzdD)sDd@uq&xYNqJ*Iof<(KbAP;?czCl(-O!ioLqE#LPw+$Dw&m z=gkKImhewHOskVcAx8v5I%?xxm|8ND2&mvUnUBDi^O-oFD;57D99KVF(kV~Z!I^9mBeD%Jyb#P-Wyi&jKj>}x1Va$!@hI96$sP@68W!7>j z+oHDesl{gdb2W8DA&gQ|Qo-B&dpsLIC-_(!7?7?lr+k7C9Il{7^l*7b>}X8L3wd@1Csn*9V&G%jNinQN>ZefoYTom^ z$oliARpE$8cupv#A=)gaLtwMGqtn{6U!KBZW^cB5S-%2ND!#=J~F zoT+R~P&zzis2fz;rr%n~OGzvL5lm>^waO_=M_$_(K1=36ih==_A8Xnxx2Qm^O|e=g z8P=9ezL}9d$|m%-Q^*1J6t%V4zfk8kxbvMCefv0!Rd9h|q_=$88;0(mE?zT>N7#qB z#Vzsx<6cBpsbOtuG2Er2;Uu-|r2Cq9N6NDAGyX+e%pA{~-NBrZ!e>7@is!OVUV3ZV zpc1zoPytRXza<$;>i+%kt@*P1$7>3`>t^i)x4%}5`Op~l6Pv|PWGu9BtqSE@%zJ2- zlt<^3Y5~kN7eO8mn`%~WE@@raX&p&2?0Dnr%az?B0GpDeTCzs5Mp=c+#PL>LYi|&A z-TlT>^BK)|KWa85e90EooqfH~g^j9VMYxK^@QnW%(Mo1;rZYLt=2t@wZZy8N2o~tY zTbBh8Y4BMZR!Ahc8)*R*53S-5?ilQ74U%c{Y4>^jb(;b6V6(7%uAsx zT;&0?fQtTMAVAr8Qp8o(nr?pLu&BCRJX0<)n{tJbQS-Qm zd7z|EU+^sB>Z~g4wPctBP=w(@O2Az7E0dbnvBF}3hrs>`AfDuMP0p}R}A9}b?&v_be`D0F>&ObPWWP)#DZ0M zX2%n7nuy*smHjkkx;V+N85hU2xMX5})6dgpvPs)==BJOreQTxQe*4L&{CTIzQzJ31 z+8cT%~-gFGRC>0Q>7P3P#jj4kYf_~ z*7Xyr-ZSX{bh7j&Ao`H!>mNKMD}JKtj!B??w8o05=D>jM^DDQm-h2Gyqpb7`JB+J* z4?`-$mk%F5=$GCU7t+35U|jeir#yZHI$*xk!Vm8etX?`hb6K0x2F`%v$^F2{%| zcV1if*olGT@cHN@4@J2=F>;;^stM7iG)5Xmr#az)qQtzR@KVtbo5hCI$(GpDY^CV@ z{6TOsGYoM1tBYo*Da}K;O?oJ6)wJ#1eJMHXd9%~f@>rUlv9&hf2s-wa+|z|4vxn;DhkYAOD<{I%dGqs@X|3Jr zs&%vPbw3+e?afby{68n$modRZ;Q|cxKq>AAT~tBlgmZ!<)gh($w?7+rtv2txS8sZl z|GdvSO?5b+xo|R7QnQzVM?n0?$PY8Utkl%hX7j1l;y3jgq>bqjLE@)X*l!@sgkbic zFv1(ix#GAB^Sq88qhn83R&K$2X7tBx*T0q9k)F-fotSCSG_Oz#-z`U}nhjSTwFZ?I z*H_M2%1?>?Q zNvhzL?F#B!U31QsTLZ-P7H`8TzBM0>Y6dQ-2Bh7DBSvt&sBy>6{b!jcF-px};QwLm zyQ7-kx;C%9AYcQet28MArAkK;1VZl+0j2j|qzj4&NRbxlBE3rup^7L75kiL$AP9s& zAOz{5&M)`9dUfVqv%Xnt{&OKKoSd`IKD#{6v$xL9?f~&*a+I9mN$)p`ouaBmj{pqEIUq3CvY6XKF-?Z!SlvBJP_8qAt)& zTIV(bX~6s?$k*Y??KOA-3tspyNso~exUS82aCmeK&1dq?e2cZNHzGVTe>pc6e2QGDmUzNmdvlcT>bNXo? z-J~h4S3AYGj2?!TxOOkBgzGGC`|kMyPm)s`jR~^wQu|y($+v1|Uq~ygttU%g21ck>i4V%=jyQ|CG-ap_rWG09%U*_En6U2)v&glOJP_qc+LYN!2lo0x{f zc}X?!nwLmBRI4&AW92l=^eL8-)T(i4GxUKt)rjai+9`2ccJ72{*klF8t73c~`al~% z9#qaI{|SW3gi7FzPuAyq+-K}?Y3kBt$tka+qHB}LM=FjNaNoIc=54u;RQ-NxS{_jE zy5*jZ>bd1P){o#goK5s#R(Ze@I89Z1!7=i#z?tz3V%L9S+!}(vvMb^N0zgw40tmRN77S!@YX$tjL)$N23&HY^e(e@PC!2W$*$0`%yuPN-ey4xM zrpdi!3fc+4a`apa9-U&koaZVR(^(AGTU{=IxB5z9GOn~op0`}Sg{&6$Dxm6g0Ls{N z8y>J8shTX~wH5Z-4U_AzwMZ5C!rD^w!`&Rpsgp2$VEFbZMhan@HRYC`@=g4jRl^6y zGvOshZ)3Eo?=1F+*NeEy1;f`zmL$rs!(x~>KA5Ai`VQZhytpmtr%2VVZ%Qzeqa{Eq zb^9Qeew*qmGQmg)79HmH=?M-<&f~?Vf{?dR$~{uvnW-V)+!}Sl+Gqux%k4XZBk606^w09SMYBVX)X)S(C?JVgeyMrwBGiskmAB)yks?JUzo!`i^Q z)&5vNi;D+cx*z_HKl_avQ{EaH&mq0DL8LFZF7MgSrvWW8ZopY~0hpx@5$Z|*M$6oS z$n~S3hIMIQLfQ6Q#8g+SRX9}+%&wY2Vs(S4j14KBIV7lH0;-!?<$8Ub@w-52Db{3=FE~j}s z>%3DxoQ5N3@pCwo2Vod-Z;uG-JR;nhH6-o}`m{`J_gzs$-8-|))_Jt4M4I2rn)^|Z zDb%f@U2RGzux`Z@Mkc3|Jr?Xod?5REJTx;;a+ph6&`{-0hdbps?zUyED9ZV9?)SNiI|gq&vy&w`4WnXlv}S4aLp zt$C@(o<+BBZK(;`9NsK)vGu&uH^uhyLUL0RAJijIOH6>8Uy*G0ty^_-?8TN^ z+8jD-9!^N;OgogSTu(d~pOMr*Y$Yvo^u04Hit6JSOilp$bcvZ~r^eA?waeE?+CQ!7 zU>OJ?&y0J1=y5{_W2CX4XJhU}vIMRfkygU9qG#Kwq%~ut-Ip#HD?SnPNq?@pE86)k zsnPyt-k>fXo-IM)JUl##5Em*JUKy5*od^!k&C7q=%|y))UpvhWD!Cnb_+vW<`|)5) zFlMuNK88wsvoz{8mP1HLXs)f%g$9>W&t#J*sMpu?9B`8@dLfmaOvf#_xx3cJPWbo* zr~oAo_wE$B)LxA5Qmvq?TuV`DHIT0j#puAG6umOTvmngTMwHarj!*~bF3k`**m!M$ zTQxFh1L25R^+E5r_1^sgt*rH!^&`di!^>ev8Mqhya50_%J{|9%3ftHq`^3+k|0AD> zhdb-&LFct{j#&; z^Vhi_Y#dyY)zt{Uz+T^?PyKA+h*|^Fp`~3v_ndV{$e_=Z7En>j&D8BLbI6eAo=kBo zd0(YMu4(GrQjuNWN~?JDDfC!}N9*p^8Q--%s81WEPclWBr_c+l%_HFNn@cdS zU64;(S#NU8qrdB_4i5Dlhf=sLFJKhGcDnTJ`JxJ!4;cQ3%xS~Gxuc-f5b?lou1WITuX6X7N4?lTx*hya~b!yz7Q zIk%e4KZ+047{1_uEKV6&PNTYWuotlx?N$Z#*;-@*)bl1hI-@%TlVY~e!YIC@Wa$Oo*JCaMe*rM&q~BF$DDx5@w!v6(sV$uwPLC&gKWbf_G||6+|ZBR z89}tmqNB*xfk$KJIn~xjMwNaUHBOG(W1sJxBJrHnXP0QgBGr(Jxi%bCE_9hbFPA?Y zJlM;|$k;sc%h1)=qu<1cEm_lOE{*rrXQxR@pL1SBC2w3XMz(G=+_6YJxU&*^uMCgL z+E~_(Nh{C zkfM)JvKNrwYxUG^y-D@zacf*DjS5|KC}f$ zsY^{Nj$6;m5F`Rq)4lK!F;Fi!5ikm|Ijl9JG-b5pnN9BEA=JztBD1rgql5aH65U#| z12nj|wa*N1jEz4J-RjPGZr`x~NJMh9*FKqlZ>#=%NMO#V$1&)i4Ie{x3HE|kE&?zI zrcn{N|DXS7_dnA)>Aa&}$TG_i<*+{o54xOfeZ5<2 z)`jXty(b_TN{P?3AI2mni;Bz=Xwg+^Mcm5o_ZS(k5EezVk|mK1c{U*p^J^3eNEU1b z;YV=M^{+nY(CZHijWT2OtEEX6Krp%3*UQpKaFkLBzwNMu&(rRys&yZ>x6r>ed%QMB z{+`6b6@qm>%qBBfLFQl>I5A42buMYXA@+%^KF-+a140Y(Ui` zbzFG`1@CjJr9Y+^7_iKdOH`{G6Rs0Wjq@p?bC00`S8I+hsswv5gQr#DlZu-vgIRR#|;U1;1Ge-(obAM2|5Db>tj>% z9IC3E&|{p{xNlJ8up=Z!2)sx^Y#{h`5wmQ_r9PiFP+%;}dPafToBo`aXsKYJk+L~y zXkDz1jLCzR0#UX|w?6}5afgr|hOHEQ>}-BJgxpx~h-EAbb>t9)zynCbJ~2=wW8-2e z*HKXZ4o{Xs83CRmn~mbd2jGQ(m0gXVqHFqVvi4YiXnRZk|McOFJA^4Z?D zjWhsKr>2?NKj@vS1ps8K+zZiNlGjq%zh&+wccdEOzPp4ecbGo^ZkxcgwOk{ zqG>rmSxwo^KPuB?ArxF85>_=~x}dutRhYsp5+GM3}zv3Zl`6t&sxb&z|Ht=VHJ10-2P7J$k(Q~0c*~H-dt^l=V1cgBBlrT8e zA|rFlrD0339}ywpauoDkkLKiFH++mxx$Xl6SRR}J%L5pW0My=ZpA~N7B9|FHDg6oN zqy{{GMoDrB>N=i*fnAc#1cZz4Cw)o(mjkx&MlLUPxF)w$`|_2`x=#_?h}O-*JNI0F z;A_9E?L`jrgL=Ap6C-97;fat+fGR*m#%uwtSd_IjgYa#QuGOjY`VQP1PZ{OdYEn7_UcHHcdpCuIGpzw%6iMqxP~8w4qzq6Z}qWIebSFF_rsh8DU!I%Q*(2x^K6VLE!7{@Gj z(A;F%Azn4Pb0_9YN6^EE;ZhqrLMAUU8;<5zI--*dFgq1)0&Sq@p+FVk!&?B-5Jh>m zXOT=~G97gLLl9vH;2$U3d~aw_7O`oKy zT946rAiy{_sdi>dM!Py<(bYIG@HxUs;#&16OCuSSc2ilo9BkJ>;k;-BPv+Z`&kWkK zg04oFyR-&wC9>((-@0?B4eQ(RQT%lQbb2t*6IN#2tUnb*WJ}3OMtZ;~nflDA#BF6! zUO48-3~z{cSCZJ^0@+f-k~-+n_iZ?~P-Dj-(-J(;mQ@rFWJzF^=xC|3aS zd8}0)zM|17^gKUv(AQ&v+NW@SjX>?d^Od7qP_XYTVSD(Sx7pj|{2}Bupe+IN@~!Xe zOI+vk3YOhED?axzuyMFa4ew6^YEMu03KV-zE;cO^`^yJ?sy4+Tf!mGaEjzoCzU!^5 zK++87KWI&AW%aLLF8CC)>l<@S&E>wUNo_b8O7l#N?CAPuO?k<&)_`pv?Z1xf- z4+Y(>okH!wO!-2OL+>QthZ?i94M3#KbUR2VspN_%qb@^$zWgH^njg1 zT-kl7T3a`+iVF?Mlg_16R0xNSQH{9>h<_(O+|EsPHY>3ive*9J{wnBzUHNLqavP^d`q~ugAhlos){&T)tO9hO=CIf? znMR!o*r;x??9{-Ku!u;>k^j}a<6jo>jfqZZqTQsQXvM&qJLH3?BrjNS;2hWXP~6fb zxpzczlj-1E-*F7N4;;-_`zwPX9~vw0Ou-)x3o$G}!`pRjdG9qp`2Esl$u*wu5in`d z51XH5Z+X+06H_C-rp-IK(Wf?DhV%1jxyuTZV`9oegr)cNy%kd}b2*e% zRkv;21lvw7$enqWsR`~D=T9qSEwjOldqM50(sm1MHSZOa^;i4!WJ+qZkhUJ8Uu*T! zvHnv%_vWWsngzNOZ7*k~z=_UBfz{4+VIM=w1f-o@Y}(2)N4{+S9l{@y(ZsS4d#X~v zr+oBV7yjMo768I0$bhdo@pJbu2fiYI)~fHL)F{QRe}RIl@Q*L6?28J^-`wBa;}zxX zz-^v!2m=t3YX=%0dGbASv-Q!e(vNmajBG;#(PLBmSejbyom|f~e3Yv_xl|0PyQx5`~q)us`uN*YncnvMYEYhv^=X7MDg@VS#+Sr1_Z^s+a;iW*bK3Cg#vU1|Wddn+ z+5*wc3?Ocei!tK|Ij-%4eByOcN-{R>K|2A?F3uw6?$FhZwYpx-2HCOa z5I^6qK+B?cHjbR=#X}kQLsVm#J@4LgMI3u>LM|+SB0tkocZJKy=ypFK+xk5*yQl;_ z)8*p;Vd_29iC(Pu>n8heUm)m;VV!x##?q(;0E^ir(6{MUHe&FXx@`)WIhD<4>gdx$ zi!?H7^^gIOzj=OY@1F5jC*cUrmo=uBvvC2Ez@-+K zLnV8cFZt_IcTV+s8_NWbKt&=sH_D6Z@9%g2!h!2rc++mu8)kp(7Z){~tYJQ+C>*dS z@5&p{nVI=py$+!7`3O9JNlWv!uPrRurLmQv-g@$Mgg&?u@PN}54>bjTbq=2~hInz% zXhSf!+D}t^dWh~v&VPfj>xtCn$51o86<`a8h&5T-m(ra9l{pPeOz@OB;dMZCc9_z; zv&qd)TS%a^iWYnt1wFh0>glQ4*v4+@)FHopyU?Y7w7_w-Ky@mHd@r_o%m5&*BMe1GORnvnRf+u2cj z*YsXrWix*G`DrCx%Un$6l?ya5mvMHpz`bfuN0hm+0kXS#NgW-Y5gpX^ULNF&T6{9< zW3h@lcP<2k4@T&9C9$xboR&7V)8J#@ZakLzB9eiX6FOwrs>Qv8AX;sg@M0XI^ zT^ZeWf06_BFHLX5^%O(BpOUW_nT*HbhnbS>H8Oyi}EW&;NKR-P42(8UsQYiR_Shs#P z0?5gd!Vu(b`HgL3s7BrvfCDs0Znifk&C2|~Evt>>Z886^+Y+2AWQNBxQmz5a0#qQh zsKc$Eu(~HTp_qR74;~6YIqw8IC%t*cOvbaV>BsH;(K>bk{L&-4|GF!OyL+gC@w)!& z8p`U4b~>C4o!{%)|G!uZdzBS}mb8H&s!gDb=mqWeZFP+9G6U;QS4?a9x$Y$Ly7T(q zfu_h0yJD>WAM36luiN*(tUIEnuC8lTcHex4`(Ox|w> z%JG@#XNNxLH^l_2Ca+-*{q0xMA#{?{umFvOm5#^ci|roPbisjvE=&0{Og}w zxu$EEivSX67ErUBVG*s@e0i1TZTF`|;Lm&)9^d#$%qnI7Nc7;1KJD~F5%?G}zloo> z?r#eYqA4tKNz9u6CMIp6d9MYSx;3UttA3{G+WCV1{EDAO&H-3#L}HTO*ZnW8X)moN z3ZMMl+6I0RxD9{)B5)h*gl(gK2CjeDREZqep(J3vooP^L7iW#wxx=Pv_1*JhRJJRF z)9z1k6#dK7U*f+0lM&`WK?OCs#izWn=bu`b1 z&6|q&(y4X=S=4jX%>FTek1EIaWnkn8oQ(4G&FO6Z%@JOo_6b3@?BA29^Sp*sR#l2K z@lLm73P)23y!_5&ca&tWx!ed3FmwyB0zn#Gju&l}Z{r|L$jUPub$mEf_ z=nfA6O<{>N@ez(`cM7MI|1LVS@l&d(^ybH?8*j4a`QjROPg^Lx&$&75vToPmc6S9Z zd8UUMGXK1$&uGXdAExz=vIQ7?h^0`#lUXgl&{M7F_HX-V0u}odJjP;IHzFcNlro3yd7~f@tfCs1QSg%JSU(0sOUajkEv zEE(0R18w-@iaCUkT0uI9O5IdEy-2{Tt5nM_JQPs!sUegGHU3%Ghg7-x)@wYx6^W#% z%QAZMGo10U6d&QIJSo&|0KJER|W>P zt-_UO0fTfW8zjBm?oV|J{VQj;>EtPNZA)~+U`#OO*-j;I{RRuIF~a(u)bh)8s-HWl za1!`xaD|s4);oYyOEUGvqT|2q);XeXW(6PQ*rj|1n)WD*QD%i6W5<F` zE;5~L213_&toJ2;iyGt>DELT$d8NElkMRp1+QI~L3qR`8QjxEBxK@7b&+Dxa;u>^E z*HnvRJqTjYkbDS72?l*T3%Ey?|HD>3k+$J9`*zQXz%3y4#;5)=6kt6cHIA<&gH_d4 z5}9FH*DqbV6y#SdQUW~OBAsDB#h!o_y;zURW(`ge*rbfkzn6K}IdRU?Cbj$1kH=q% zH{(;|*-w#B-^T*~~6?0CsYDO6U!{Ei+iGYy9h zmqy&@&rfxHZ?P@}M}U=8;%bI0m34wqtf~-yNb^t<=#Gf^4XbDDxs<|5Zodx9Q0rY~ zk%E3X=uOiyUqn>wr2~lY5G*E!iZmZCK2YbDQ&gg0umAj#d=y}&ejl=Hw2jf@mfy}w zecF_iYyD?I?_5qEY6@lHF(qLq&h>5goL$v510txkB=*gJ!$lxVH9JK%GIDRtYjd8% z`1A%csWRs!X%iJ_MCynpyf?cn3ae29JEUzSoJHMau0#IFIkRmw*bq=hW$$FTm6CXP zn4()wx;KutmzqjQZOoXX#6Z>*SJ>>}7E-32=YAR}K>3^(FwM438Q=Bi6BN{*F}L8j zbHkLZ*dcflx@uZ}=xUy~d*Xa2NJ7Hc8||y2v^83pH91)U@cSZ*?dgq$)OVmN{8 zbyDfKzFj)cWl_UiY?uhWYMzPze_x5{AKY}Kr5B=LL-XCrw`!2a5Rny{aWZBl8&N!Cej`E`ZaSGZa{yZz1d>Jk-j_x@^ zhl-J3CIz?8JJcTTdbWj9y!t8%jY{CFWM^NGXv0wI53Y|BbcW|+gol!3B- zzc5bcUuIwOMO%C4H~4YIO^s$?`BbX_v(5N@V6)Q;Q}=mt(B0A|g?3VLk5^5rGI1%P zMD3{{igUAzlocsKiEl6N_{7IC-;#Ig4)6qNJnbt%4$O3nY~m<-JT-+m-{{DSu=@L=q$M5{p?0PLQgJ zEaZFVlmAuCAb{tC`LHp$O$pBM6*m%mvaAGMdwi>~ya?KjH(t!jC^B6;HCh$xK-a|G z8t7M20~>x@C`94&=7wZCJBe*uD9K-<56o9?vYK4FgQZ6e89OwT9=&>QIgst6SS$4TxQK#Z27nl0Z!~mo9Pp@-!vAz2=g~>5WQG!uxEwZ~CKs8I5(X16@oBI*(Tj7``Xr1`TeKdy2^YbnJLGHy|^^(Ry?kt~&W7 z@&S;oT5~PZ0JWRaXQpd@J-dRa8sCJnSP~p{@5)qhVd)z)V9*PF+H&cI6ycy6u=pwK zkoW;LPJ;_0hKUcdu)J^rn!F=i!XUqR2GV zuX24Ce!4dDGqC{wsNq4YWC9egqtPy6>ViU{vlSCdc!oSxP^_VDoDIbIOP&xde;rN~2~?K)i>9 zx?Ga1QM0CBVjZ<>b!ZOd=t@YqY}HBNQhM;EdYdTHdtF|OJrxFBVv*RXyRjI=3|@gKY6s+t`7v-0at!)74YY;+n%Z`q+>G+ z6oZJ?!5TN7eEa$Yf6AyF3{N_5JWP?{#bNc{=E>LYv*oQ{M-dD`q>b!+>?Mj0R^9~a z46KehGu7To-mEH^D`paRnqG7>OC~VJ!s-hL$J(-oKtofFXA>t6k9Jj66&aJgi^F#1 zMxcw19$zIqRn}a|db(yOXtPqGh;H4-bjFwMcD$G^*Mm{ z79}7YgCbWbLlxwZXFph*q&T5IkG;Ld&Ggm=l@Coa=>EjfT7r>)}ndA6l-5M`xxWc*v%Lt%)z^a0=CdV_?Lk`hoR zl+linp1;M-U^z*AWN>g6JFRbI1TQs#^K9_6Gom&SIy==_;s zZ=Tv<#n;u&xw zodO(imi9Z3`>UA@?Mn0n+<8hItcLnRoizw1COP>h0evj{+Sh7PyRo!>+{t%`D}cyr zbJRM;K6N$ynP4nXL1F{$sHT7FN{M~BO(KR zW9$S%8aogfg}Gb?+NNqi<+YeTX-1+7Pd70xxJ&JaUhiT00fWNkvFN17g$YxMX~|h?`-%9n&4OWH?=TSV#CZY-?AwE{FYd6hb4d=8u6CN9b(|REFDqlzd*+bfxH999{bKR2;LTb4 zkgs3Q_J@>>)n60QDXKlZC|3Byt|<@54~+bt+A{sBKm$?G#sfKIbg07nfjhS;21%%>3m&A9wirul)$Of@b)*^Ve)*lPqcp+mB=;G!Z=8&|4xN24;?oXtWiIwZu|B zW$$ni^$}p1^LBMb1olg1{!F0%<1Jrg08a4(qr1d!!XZF5xL-F%y;)T@VeydS%slu_ zYDh`Np?%4Np8AXQ^m+F!;VkGvjfK2Rt$QQ`bo{Ff(}nptfW>2J+b<_()5L4M(*>$p zgBC=qZ2j#Qm!>?LD4iF>djpB?MzB?pSyH%3^Z3~IusT3;>_z(hz#7bLN!IZbtYr&q z7Izm8e1@Ws?EY^$ksy2ejP7D!XdvRTwUu?D>yy-tCEUSr2@w$yKr-*9FC1Q%mmwuO zjl9xK>0Da^{b*%{wWlwPj!#I)NsgU3VmHY!u z!%sv-f!TQ^RC;LNj+XfaT$&gVdR7V`g*iTVmQ;RQ8S$7j85$Yk#CG$rv6)=Ha$+yA zFVL{sy3Eqrsu+7!dqSiFQPtuY42_-z4rjIG8Pzws5{$j{Bv7=lgxMuXPwBr;W-Bdr z)@)spVCNDtIXGHMkTzY4z2b*T@mc~~ekrbHIl6uwNW1b?8Ak2?>S1-tQU5)Pk-MG_ zm~Ghl!l2J@KfZ7H7`3KXWo;7C$%5yG2@Qj*mtWUB|F1kl`L}x5-0ED^{f5IkgE+1l@YTvRs&p7w0{m7imL0`n7*7l>4^0ZFQ8Bnb&M10l`;_Zam|lxG4%SZ^&8e5MjcF;8_y%1vB?UlW9G+_*<2v+x&bsq!IWL5ocd zx6y_*cmx6%&4S$m%{wJQf|iP6tvvtl7z&F&nt=JU$r~k%AD*_*U?d1zc*Kh_j4vH*E z(@0dij4uiVi$Cbq2EW4B9j(_?=hk>WCwQ7`$2a}Rf-XbHWxT$wWcXl2x>p+3z3Iig zU%QpIqJ1!pPP9!PNEtAdgln)bNw%VU8yL7-9h_oucfl>Q1<~ui$U#@EX^8^|k%|u# z<$-uBXoH0*j#SJ3z$Y8{xojaVg2Z$gvr){;p?-Ax57X>+0G>2OWGB z@@ndwJkg>iZ{K9{By_}X?J%~@MyLOJ#Qqa_{#OAaeOklDpy#Eg27F~@P8p&);q_I+ zf{`cI+&L6M)K?f8*|f9{jau^Iz~pIYBI4DJQKk61F6SD z?{861j|H2-apjWB;rv!E-75Rs_;O8k6QHPgG=}9v=t%;5^pL<@F=`_|LP{~Rhp|5 zw2rsNKJ?4G+>pB;*eiXvec4j%l(u&@##aE9B4lIT8_>&1P5eR(&Wf_v_1QJiEh(?g z8teUdc%XW1m8Bp`KR?y!I3$5n!(;q7p|Hn8hwIdZLZ`8MWtQbt*Y~rde~mUlZ4gH* zj@XkWLo1CgEvvrE)7ctbGh!I`@%a{EFn*+LmZ{Zx-m2cg^fcwu3Elf>j%w@Hxs4wy z3m%@N0SV~PR%TUmows~pfJeDUJrnXCYgANhWBB*#$`J&m<_I&Ad}NV6&>HK7X!T&abiP6!MttUN za(h&SKY-8T|+(Lh5 zU_j>jCNwLx+olC^!z-``is6CC&^1u8I0mamEr9y_^mAeA*e^4ds%lecd!Xg)V$HrFn}VN$JYeDu5)wbU55Q6NE` z*C1e;&+2J;8_4B)Z;Q`6jWW~C-gvQ6EcImI*2*N8*i-Pq-FG%a525xQWtn;D| z#)SJD9Bxx^pX9!_6+e1KH$j>3!=D9l132tgACsLV=Q_QD)3KlLW@y0lI>M z9T^3`iX^~)$VpHvV_4Z3>l~A${kIF&69QQc3N`O>UrW-k*X1VqfAY#bTCH175NcyL zSQjUZlA# zahI07JPkb#$|>6~r6m>ix3sjh)_U+RR;V+qoQ5(#z8E19G@JZBFMT11#=uXaNR6zU z1|kgu;x0sB!j(}fY$q$w7NoKBV{KcZJxST=M}GHLq{C>0zC2`O*PJxnj_u_rBQ`%w zW$^GH#QwEu;yK81g4onp8`!-&WUnO#t5;?awSBB7ND3H+R(US&$voj`K777CC5re! zy8#z1I#Jnh<59Vz5jW5_!h3HlXu)^Ktz~9Mi=BF$ZFz=^bt?~l9IXrJr{L7x z%11LQEfiJO8C_QGmSk6zeMb%J#VB=5M&}rcOsezuEt1prm)8Xz$Olh>L_#53(n~4C zQ7_I!L%50+s?wvN2roK{lgvL*l#*6;7DI?Oz=l{__okNFp2;nowY3GeLvW2Ww}X+5 z4Q+WrF6+n+!exg;m@cm~VWJsK#VU@6nHh^IViCM_dS!gR>zt(*l1Gs9hyPX~{{B}B zV21(HcYoJ_3{mC(AmUfBJXZT~i^C!UR`c$baqfo&*#*54UD0X6HbM55S*huj)c_TB z-7?@R=#|ICgO6`*o`yLy*57$-7R;s1Tkq8}yDBE?gC?DXZODL#4Wk9``@YfTcO_Bw z>T*i@t|baPyEh{*KQCK>gEN_iFw!SWj)&`G-NRu`dR50y!S+w-0E5nM`nZq%-fHTv{(`Ik+vH0iN3)yjxYnCF9j|?2ygJRM@zZT5-2D;yGRFicFM;0r zcyl+313>jLH=B~6NiQ2PJwTjBHg7&I_nj9iw~?7BdM-6iaJqB9qCaBp$1#n&2TkiW9yoqG_XD+F-^u>JhWXZ;k*UKzU8t^(qfl&_$c;V4PM{RNxVmU`b#8j@@0i6C7CM|=Kq3w|Bjl@QUMjawma0X z|L8;x7+n|LdR654;h{I6GjiC!?AjpR{PxhoXsRiHMj!qRIZ^9h5pdAn@C>Kp{@$E4 z;O{eOFHNCw){hrR@YcWaQ_rJZ{YhiN1WB$$7Rlu%O!xctq;Afvr?0rjKL_jQd=6?>u2q_;Fw&*W_9 zKKL=CpC)!Y2eBHs)#aWw9qsMtVdme@K@Es;a72;EHf}wsl1*Toknp^vj~8=X_Q231 zHIiN$h_2dIQ#T!}iO*B%Ub7;O7bNVzj*5adYzFW~2ObfiBk{#kQ6jHA*M_)D#M90x zSRpef3&1MC*URa zDMQpBmq_m)I~5DiU<2&MjP!b2_U0*YhCZjM1662SNy&qv+Z@%x)|1s>iASo$7v-W>hIS#-amcB)hk4kXda>WD6W5=8 z6bEoR5)be4|874a-`F09*T*o+@^{8$#m!n5-Jg^#-!(Z?6a;NG3!kgEC_U&&4heR6L*yuv{&W3*OG` zWox>}f%_aR*)TV4Wgxs}cer}slk2&tE#nly{IsOT#4*_^pj1NxUen9bWqf&{#Rss7 zEs-u#Q`4cIdaWp>a@p>(1+FT@8UQ@^tYvMDv;;~nqD#U9-%hVDx#%P0GkWz^!O@YB z2t8VKyYQ_7x+8=6h3gZnCj)xU8hdXMIRkL;fzR49JDm0FOhcxBazi zzn{CMV#uWb79!-Wymqs;xDGRC8pdE~b*w7ZfFuna=xC^QP+Gif!^@Mm;pY?V^0?SH zt5*4C>BQ*L;e2hB)d8K(+}F0~DV-5F-OBNS4}_)%#Kzs|-l|!omHyF$78bi(p0(RN z3Kz|E0Z@HO_V~GT?qxs6?DEQzYc7J2g7zKBLGD&!T z-4*Bv=t#A{jX81^Rl-vOV_ClWwm+Ntv4UweV-Ru13-9f*kx~cJN%t64`CAsUKCr3*6)tDqKC)J*ZsdsHf@0R;|xs1SIH#5h8SDSZ=o zhH6(b>3v;Vs&FEcbxQisSQD68)UjFfJhUQM9TsDH^v2N$_W9gnxXVC&`(AvjA*D|O z^01iXWJ#PCD66|~#i)`~M-kAQMQkIThB1h=^xF8ghgEz_O3e?AcP6mZ+P5cI^0A)!zFmU_v|v)hUst4d8+AWv7M>wUR$(* z9u|!k!gL#V`z=iv3lpY1*2l%vUM;DWoHuAO7r~BG5l`d!J7+EC4t~_8uUpwqfuK`@ z9pdWI8SCeq%Yca2&ew)F>q$LSVB>U7fCT64bY)BPT!^<*Stjs3rFBvk^NegxJUn#X zo&kGU?Y~g&<#q|zz;w) z9#FsL5Fr$TTt}svnwYJGnkeDes=-%u$Ih4R;H#kZ}Jz{h$Z~>u^ zgaUOj@KlfY%kO0?gC!cWBwJEvFX>o*sQ&ZQn;90tk_A1oKdkQ@X~1T_M5S0I_3GNM zp9bRb$4%Rew{1T(t*`j2dt^;X&$XQy7w?QX1?$E7wr8?%MA0^XpJ?@m@vkXyVK@ja z`*?@N4JEOH*yiQQ$XMAsA%)e$aK)HwoUqA(Pm9ojzkRGf!HZtTyvAd1UQ9FrNSDMr z551l3-O?PVnuf*ml8`mW$KlS9I!BR^Vj?zN#9>ZSXOYhj;u#7dl{^K`Y~=2hY5%U1 zqzN<#l#1X0=6Dwkp!1TWd82=`xs|*^1aXU9Yp*W<&<~@_F&zqXBA$z zIra6+Oxd_pIWiNSYaMix*Q|6}Wf@f)S`a*48Lgfw;Xb_wt${gFjz{aN zUipsV>xiD_U1(FR^iQlkN&pOLh=ggks+BX%Ll(ADAS@L-_OO(zQ-^keZnx8a9p8fkm) zdIAa9f~-*qwf1l+Zl4LaMvqcSW4mIv1nb^4U^b0zf*38ol4isbxNZ zxAMvuaZCGcd94&9uJ8xq)No^svnG)m$ky$Z%iLz=rLZM&)}zgBS-~DYO#Q?Q)CAg~ zL|;X>B|u#Vh=g`chKZ%ki&apD)9cRR)U3&Vl;z&3z?k?M`n#wuv%MSAe@`m`(h#BSX?Ap>Jx!kieZX|wu(8|-iH*ZXT`q{ zqu|{2k!uyp{@)))9UzA7P8{q8|6X~MyG;Q+*$=#zr`X``iYnOi5#gCz%hJ~|NBbq8 zStT=<4H^pV6^eATRjc+2a%V#_TDxqj(v|}_*p^c|zyH73`^vB=yY62_ zKu`%qL{UN!ke2SSl~fvrPU!||F+dDDB}SxU=uQEpVdxx6Vu*pEVaT)RdDIu)^M7BT z^Wl6r=kkl!T$|hb-g~dyYyZ|-#T!lo=PI}d^f@$Ao_D9)1*WEaY(?`%6)pxu+<5>q zJXcWrdP?$9Z-(05M&iGdv>fZ}^tr7T9u`B=>o`$`=HdDbAqu&wXPGpX%)edntQDrD z;HcVP_BS8OX&yC6X7lXElaIH>W710#NSG=#^|(AxhLJ*^C4z8B+xp%~UUf!gsJAO` zSgKDUuEJuYfYDHfY(JYy=CbX+2$lFi+^KzY=BY-shH_TiDsgESY@V(YGwvs5;X-OW zU9s*?vh}KZ#7#d=5hgz{H_uU=$QTP1yO(KdpV(8sua6#aw*>()w>s5a#YbwDD9y5W z>ye7q^B4-F#t@TA-ICV~OA1}Mo`|SQuc5dv#9Bq*-6VRB+e*Vk%e%1oe_}Kq!P<-u;TH2Cu za+W%q*4o=i?q>YbBF}?i+9HHUa@nIrt3KuJ^@XXfu>R^@Ojbh*=R^!U)*!y;mf|*Q z4Eko0=Tt7mRk<-IQnK}#a>GQeXpzFCXW9dtRm+u1@)vZZ-)juas1Ji9j=p=YTjXRz zV6A1YSV5C|ecSNl=IFllU_~{XXh#>T$t(;%DK2L|vqCvdC7l`4+UXDV#DuzS&m!C0 zQ89lD{esg3sCRuEqEnj$Td5z7%Baf1^9W{@Pt;S(+jV&TTvJbvq&bPL>@JJNJpzb7g@?=cwt?(l4%;M_igWQ<1_3M zDTK>*FZEXLaoSEkjgA&`A1swU0r~d!eAxGUU3}Sw{*4d}bDF9J=yDQk;4dxm+(_G# z9qQ@16SP~Z7hz|juDrd1U&NDdSAU?g`O?J&{h? z1xh8eSXHhU!q53`2Q2G9c;_92V=-c?z2y6ZT!Ihb#gd|f zVUKhTPfao=a}STSNWr{xsN4EFf9LXe=3?e&DS;8^9gEJfrtNda9{bAf>jkVDYu z5G`EsGj{T<{ds-jdPU`^;ZA}RlaywY%|K_-LRYV`ssAW)`Y*k7dSIqsIU2x_Nj(3x}_RoX>= z6z-T84??2bh=w9-7EE71(B;u2rE~0 zMu_>#lk4HGizO`d;i~RCBE8yTTh`7m=6SA%HseN>kKbI_DppI%je#06XH_iLJs*AP zwYT#qs&`WrzRXS)IW~Trau=^Ce_lJORGpE`Q3@rTauxRav{u*-4QfWw^R)MvvZ=rL zF)C0(2q2Fx7okF4GPtFO7V>0h-}DSQ&wP>G`&>EK;m`%JEwmuC>1FWrNUk7mrz$P` zegyC!?&JaouQ5iUDU^vp?auXb2NALRVjmp~qTdLQ-3U!}@YfjpehDeS>zH5KSM*M} zd3kHEZDB6|B8Q>b@c5PFjW%#S#`AndXUDN~HjbEqlss@IdjmDh0^A~*$DvK5_gqFn zdfLN^W)5(FLu6?(m2zK&H{j}>2U}~a)QVi8;YO_ymSNqjC{g-GP)z8aRYjg6z9{GQ z>h*of{K2jO#*>l;1_@PNvQf%6%?43M$o>(vn`ruy1V^@=rE;-)QQ;?AAGzUZQ9#*X zM!6<#eP}3N7VFy3=+F%DJ!d$*LxvQE-%av_5y*zFye4cF{vNa)K)3~uRzlr3Ufa)( zbfE<|FUmy==qeSu47C{Q4ShAPZ}`IKEkuru%CAvxQ@;b4m3Jf0x){xq;%cHGi0f3s z`Qa&Un1m-2^Do$oLqAT)wFHBv&rb= zaEN;OGv5~e>Q6+M`3G9tlJN`e8_Rcw3eLJZ3nLQ-mMIV)1#~kqAj!?FvLQ4c8WW3_ zY*GDjdwWJ|wXXD5BO+o*)Jx(RAxN|MV7<0m>FrY&*0cqsSy)@64&K6p95)=cQ>E4l zIGg);dHEWL2N8WEj4escbM9;V!eCBelOxwUJW36E_|sLI=d-Gqnp-=47cCmU_a#V9 zNiH&&9lTT0ZhWCa(L|x`7C9Ephv@uVV(7Abk9Rj#?oqrlx2y9a4rVG`n@l5Vv}h2V zdO(ah(XAwxu&wNJZ`Ogr1rBFOSoyjiS#js;$P}joVKxP_CDdueU2dOmb#{b3-8FS> zaXn?drFmX^3h|&mXJvu}p}DtcW+y4&$!4~S z6i+bdxNUSP#%)&Qt(|Lhm9^61?o@(lJarOt*a7W5c{w3lo%G#Yy##Ppa))MO-u8r; z375}zg{cu^y>4Nrg`ip=63FrNTtmr|8m1i{NQr8;o!yRN0nFwo(K#m`*|*_07{HnL zt)*JtV6wsjH#@u5=lJ;6Ehq4wcAsDpUO8(iD(;^by>mjeXv8B~?hVW=+$XV_uCm!6 zX(q|nzW1$qP95ZqE+uPItf=d?ihFv*R6z?JLsMU>Uw+mvcpu0oY9yW&8`RQuvm@=gZmyFdc>~jLi4hYC6KC=l6l~mYTEq69Y>6UzNN_Sse z87Y(6RmSV0jbxvg$<#_BZ@%v@0ugOS-k-H5otuz5d5zlZ7)~SU8&Nk!N3<|)PL7ST zD&IA!S2LqXo|~Eo+!aC#`V)cdN0;??V{%_)!QmJT?G~<{zJEie=#C68w5wNqW0t_q z0M77)LW330LFmJLJ{p&s9Sy{OhQ=LofTQOI@q`Mw7>!Y^vHkVmtMor{~gXb#jsg zKC#0~#%kUrY=-q)>qDqY05&oB^o1}F)laS9EXBe%BfdYoB2)^rZ^^Bf5RjJ_)U&IC zsp-5V(D}+=%o0cSAcK!QuhNtA);jD}MX)84Vqu)3S+^#L4@2#dH&JKjs@XKDa~s$B z@uEwnXxMqBq(TXv#gbLiWg9jtmn=^Y$%}j%sh|!eUO>w&JEXebO7Ryj5G|&`A-K-I zG^BlbYLalZhzBICmV0WmDAHD)XO#$T|4J`-BomncwDAR<8xLnT0ocr~8`eDRTEti0 z^M+m_7LM=oJa4aJo1#?l*^WKJ(Y~=(yfT6n(#s~4tUKk$Y?WqC6cVHq71OmoZu=zV zWKkiy|Ef&XaI{Y8sR&P$hvnS$)W~Y3h;wJ&d*8(aspd47mcEYRk{9f1CXkmfhzZ}P z)Ef9QI(x?C^!lRxk7V^73<==Tqqm18! zPIzBKH|+NAjSglFtit2sg-A9s_d%MOl6FnTo$jq|EOah(jI_Pe?n#MTo9k#5B;EiA z|8#(Hkxy5a>0p+AeVY8##yGc_I1Z!Cw=aDc*ut!;_S#rKY$ao3aLFnIxrvFh4tb%g)y)Ztr2uyzG?^Hj9^)K6@MZ8!%lx zdHubkY>W`S>joNZxt!SvTTxxLTHW!9Cj9OKg6th1W@Jdy9cV3vA zAfY#_dn=JbaOJJ&H2|v#$6k16Y6#w5+*D5y;Qn_oD>iJ?46DV4yf*r}syi zJ(Ch(6K|@8xZfYiiXdGAy-k}*PRacIl7tY5T1uWYz^c@rW8l}TNHC+DQPx^NbHo2y zz-0Ru_8?38EPzvQlTKA@HVDP^u@ww0MKn*9CoF5TGWs)lxAuKE>AWQr$OE7 z&UV#Z*>{Rr%7P$*D*;d&#lTwQZSLL_I=nOq+VfZ={yl^9NI6;pY*nRM{`HgkdI?hg z`)wzzENotaiftBcoWe+UQVJT5n9_|v5ZM7YA7{Dr=L8x7HvX-Zz|)x<1H~rq9EQKt zyENS6O-tIMuC}c-k-+Fo5ybO8OxU`p6p=rBGy5o1TOG`O)apf=Z?Ics-^$Z0l=%}lv5j4cW-DBAwK>qLx; zz(VUsExOI3k|9Cj#F)PDauyKwVyzA!w4|qfkM9S61$}m6R zr~J>6JW>G_u!BhEdWS=<40sry;FXKD*>IL;!;DQZRmpO^kL0r6y_gA|!Hxj6KCKhi z8KwhxGqi?j!kXD(RML0O4CF)$*wo~H_#nz!VmB2u8w?FZ#ab&zZD?j}vM8o}lBV9w zA9bSQpA}SF?Gl; zjt)jLag1vo}*+xUvW&TF-1Iv(jn`Pyxgi}*Z4+U4D0MpkBDQxtMDVs!l@;3lPu)qro_2H|I zywOeM93eO!VctVU2cOIl`HhOkgABq>=)y4N4Ar=3#T(knE7Oe=2$ptP)OhX6!ls$Q z&PI$ag0({hhv6R?%4Jnk1P-&cu#O?vDRoXCy~Og= z&knj6+aN}{McmEY%iZkz{hYonXPJPS%KkX<{ky@?237C=*tmX%oTg;Xf&TD9bH)z# zzD}t3tt3z|8Sd_}!p6zorZ*4a-%ah+X6*>LYOqU1dHtIk~d@4J8|YeN||c1vRPSK zE*QgOHJifNr#7{=^AfzWz(w;TzbgZ+&rUrmU=F3vNz>mKSu+MQS=G3I;$)(qbD^@h zl&PI(@~LSKoxK**_57;+eHAS3Wqzj%Ra)m^6_0fAAo)1;px}jO30ERaaLLh8oK9{L z;me+!CM7+G#v6Wnp7}avMN?Za$dXW134ej2w7y%xesL z&?&d8ZTQ<#|J06;vBPQH^~HzzpOzKx#ns}(@sETG#tj?{(UVqPqzcdnG=a>S*`3`; z?T{=LPjpsUS8r;qduQ>J6G+usqSIQg3S#QZsa?~yaK9Bo;{hdTe(fES{6MqI{Px>zuIogYv3R+RiQ7g@g^W9! zLHlxIY&HyEr-yk0;zL7l@FLrsqDPPe^^{z*nEv2i-4An0hL5YLH<*xiz0oS*wmv;$ zqHM8P$?RJ4p{i{n7 zRhu0Y)t?BIh)cJz^A{y;SQyf%615nnbAVyepTr@{?2xJQ0r@_`1>(-T1W=v9H=JZJ zL-zH_7Ly6X!P6X#z#8XlmmZ`j<$2qC%y=*^O^7A$P!eAjUltrFcZk{y(Rh-TDPr$w z=4{?>EvQo?Cun!S358_1K7-5}k2Fqh8g!__2pbldSev!IecK5?Sev;^tAuoSPQlMg*>MbL<8ZDz- zZ0=yL(T9MNyrgZ7q+4|qM)1(R9g?m5`CF+$-x7_Bd|*=#7lL<4ge^)oie~ZmV{MbNbBF z*9+EBy^q+lTzz}k5&^mrcYRS@(Q!eD?1Cgp%_}T?r|uO?QbfQ#y(s)Ngl?=IxUwp~ z{=k5krJQWW*))y;WUkcBRwVBf+xgeSFe?f_UVOX*7H#wJyXxSgjkFu>n;czoiYHb=oMaI|F`los z4FQZz{_Sw(a9gVp(5cwdcIzo)|J0%x+AK69hYnwOHErRgkN5;`nz!h31UYHm&Jc9l z^?Mw9MND=A{u(MxA7l;iJRbxvCX0c%x3%ALPqa-uz3`xkf=P_=6rCbru_X!aC}WDuQD;CvJw=&INMbjNmHAv`8sAvsJf301sXY!qWYYGZVX z*C`p0d|>m&W7;YW8%&~ni{i)a33!#^dXad4at8c~9MOu}K6^pk>?$eTtL$3fCPv*R z<-sVUTjsOn*S(F^JqdnLCStH&aIgegqa?Bx*oIm?6$waKYa5(Kyy196uwlk1xWEV!<17+G1vl=cO7E(#D z)-4&|HcKc>z2MluO1@S5u^?%Cs9siJuJ;0e1L(18MAE!%f3hh5R=rCF1_Lt+!|gW2 zEnxo0t{u@momp(SS+VumR6fg+Dt)_~Fi*s|;NXR%x?nmq^}f;No|1$l4ZEJuUig>o zs)NAI*4$J_dhR`pn`y&@EH8fy^im#D&A)w=djVZm?-9M4Dz5MNO#~Lb@eFO*Rsxb2 zN)u*pk_qkZK#7zO&V75Qc06OQhZ#~uA$DL}pr9mm!e9RZv16rEDG$~y&CBfCq;B7Q zf{ZMk$ZSZgZ?oiR0vy@>W*VApFBj}5xf#y?sWsE+~D&LFVqG*s5Uw#ez@HZ zea4r8mpS zk32gqC!;9CZZXd0)RH0qJT}?V|Jr{1oC&klKotK>Z>1)SiOWLIh6!{mkS}&#Am;M+ zfDK1;Z&D9c=dSmBv=+@r!yCLhQzP4JGpykspMR)m<-JuwBBLV*y0LiNmJDY$SupFN zb;UFj8sc_ zT`x8iZ=f168=N#Hdkh>ATQQ2N_1JREhHGyQenTu3cZ(W(=VC(WM4fDeCCzqAC|~JI z$lP*BYKC(DL)~OgTPKi=Nu)h8ymFx`-2WnXBdbcuh>%lcsz6_}f=wHw0~NPnBq*PU zh__s>_j~j}K}O1A&)qX0E}eIGA{iQ^#*m}3>Ej;8E6rM5U_W5%?9g$p;x+lqW#boW zf_BsSehcCVC7k(42~84}rFJc$Zf){1;uu%VE6H~hEP5VrqCBg4h3dA;e0D-Ppncvg ztTKC=>X1X97ClK}S>Irvc|8~X zAt-qfie1bKO-N2g8AIqs47CIE)nV(sg3io!O<8C+WwPBJabe2m&P(Im$AzsP8*~>p zt~6(Ps*(peMi?>`4EFFc2y}JeK1Io}Fj%}Bxk`EQqo8~FaCC+o%sW9T(B4%yP3`+l zIcj9-+8N7&icQ&)R5dc>z=mJh_Xwv;51mw*+t*!aHanl0kR#?W{W=2`#{Rr0#@0?( z$9pV0q9}OybOi&8m|!06C|he(B=ggvp=5x?-Yf!1teSoOg5g0_PSz|rn>~-iD!wLd zL~%Mq8?=7pt&Zoj9K80@+b?(UvUZPzkmxgLmvOGzoPB}XiXuPS)_2hmq#dt+UnRSK z?OIIQyC%34WrIn6sei( z%9!O{2_(EfH?1|Ynp{xz@%b=Mx~8Y`ESjAU$Uha3|2S@y_vequKLI&*m`maPQ9RR4 zto*Mir#3;wn@&-8r#j>)eQ2PHUgFmUUE(#04fVg`+3zx2)j`2p}2riCKl+GthnM{-G z>g%l)c&98&pvmGzcE&Oe+S7Rl32Lz`+IgrnOFJX!b9DCg=yJ)-0Fdj)uSLX`lf>oNl17U%0qjJW^bU zmNWGoh>yoWp~1*rH?ka#(dJ!uOlrJqA|^Ax{?%pYt&@GiTpDYu5E?@3qQaEdHWAANe# zDxgLyQw}b=_FSzFwj61QSnH?yvZOrOvAV%G)_6A8d7f{+oeCk@YBLBwwT9{KB$-_Q zhE`2>X#65iFV%paKL|>GAeTMJ;O8#+xds)4~ zj$5>`IK<(E`o(m4!+|4IU`R2!>C&ayQZ7sx z@Hnf!gt#ZemEGC6jo^7C!F#iXz34tV|Bbv#m654)#;wlxlsz1cQoGL9;y=XX8oI@v zy-_^Hw^Bmu`|>ISuFAJp*XAnl`x2}a4+HFsZ5;&&7Ji{h61zRCA-juqS36t zM_ooj$nx>e`DZK>rv+jt2(t4G&GHLa6Jjmk%9ARVQeKNr)xlAx!WR*C`q-R=6l~CU zeeI^eQ9@nE27M>u2b@j@=XYFY z&#k@V!d}3FrJRG?BMZmJX>IhpiB|q?o%73Ad%3(9k2Q9|r2|F}wxm#r3n)`v5Inls zj3+j``o`3LamLuRs+$Qo>NHSC?R06LZ6=;6hBFqRiI;dSYzqii^H)kH0T|qVwqw*(s^zxu z)0AAfgE-|;;I=jvKe?0PzDHN_5~A%^pdJgwFx8Yt- z`Zg=xtOuiO$z7*{(lRs%R+!nuZ-$+_QS30L^WJ{JxlVy&ZnVhth1mkWtA>k4oSWLb zumu#7vts9LvUq#`G0RCyVBp~&(eEuC8#+Xb)X7opakX472!nKgv7+gFJuvru5W#Fe z3j#YrcHbTzJ+eK<4l{Fq6F4$_oDPH}+0d_cw})KRmIn10Q{s`X4xXy)W%-3&yn@wi zPNera$`hTrO&t0b+C)(?ZKBjgX=1ZE!o`X8?%O1sSHp%&&6FlD3EO7hoo>*j8uGj% zXsft==HeXU&QQhpHDQqiq&#?dQyOM7R}lo-oAN`HJ$GIz?L7#;?UvvwJ|DF2PQ!aV z$h3Fghef#wftLlj`tefI$`hXlZHi8vI`8ofP;Bh%vO@NY7Bo$E!LfmE76x`Faf^u0BWztw zRZ&xs3T`j-2rbWls@`**J5E-(<5bIlL9mjfD&ap6bucoKs>r{C)cP#dJYwT|8q~7R zOY@nv({}UF`>ce(5eWl#B@H^j`?w@>T!i|FQ_}DXdng%CSdsjf=LwK-&Ujp0#SUvv zqcaZX(FfLfZ`g;XiS8_ndOim3SosI|BT?@^7Z8Y4<-(M8HwLe@u zAXIp;bk|yXCTVGHz{iP9`zxo%Q`L{Je!PwO!iGq7WdivHFpFLi$+4&ii}~=H;xagU~p- zIzfL_M?rjdS%x1-&aylyD*J9MY-F=hH$DbES4%Y*iFS3jkjOP83wy(4#k=5B~@ zZ*e<2@0;~jdQd#@kI`cbRxPl-cL{_xUhEH&-Y8B)BD`vj`-?JD^a+q@blWY;cv9#eQyEDo`>C>xro-~EC&{0x$ zF+2Ev7%BOUlwT%0;yu*{krGN{PB~uTy#IfMao{&m%@(PB6+w==9lRruxLA zU0p4LPgxeYrbOkPpPosMz1e&-%zn`jonUA!1?4nrW652~;|`5kQ%zUx$#f1}&lHF4 zDS7O;SMUi#)bWbMIQ1he>OM!cHNS~FLH3N5m%K)6FY9*1M$|Uy2Ge6&NhcT^P@~)J z#;xcVG%aY{;WgLK&3G=gvCv3nC2r|<`J&UUwy)%fW~~;=4%*vi?l9mcMd7EQ=!MEe z5L%SIRfyr90XbG+a;6_wjnerL@r<|YwH1`c>vHXh8gPUQ*bU~LyEF?aKqoq%HvGm2 zh1h-Gv+r^(xuaDYjp{zY306M2`e0t!siBo$!!^{DJpkL_z592$ZSwPOL*v^`#qIoI`P87u_e3eKv)$0wCQCvTbbV{UaV0RW) zlfcOH=5w5%BMcn|3WODG4>rG3J2~x-gSP^Si;OYC)B>cppcnN{Ie&5D0;I@-zxv%- z!tKGn86+G3C@s2jGp=irh$7L!T8bu`a>8DV)|bk)QLt=i&jKB2)W=&$0)q=C<#yOA zj5mzTX~-*VZ_Jp}2tgMUnWaKm*|DBCu5wef8rNd8l|f%7x0KQ##WO6K*WJvs31=5_ z*!$>LGA&iLB|jo(G>kvI$sX(yDo!L1iscI(*x%~P}?R zIm~Laoqmg>jC(Fl+||XDgS^#zjy3ielLZdhvi*?=i?GZ2=`(_i`$LadixV{&WMi(5 z?kxrPKtwsXC(;Z(!VO!)lspb5IG|rfWEc#3dSAiHhu}%20~ZyhT1IwTtDMxHEC_q7 zJ+2DQ0}p$j$8h49!LXvSpUshjzbf|NZw6U&yd>zDTb!Ol10Z_hTYojWc8UD7IG+-ql|j&XPI89&IWIF8yNZ~$gZCM=5EAoZDHvE zDSpptHj6%q5BPzoQ=)@O5O5Bdirav}=EN7LmVl(Lftp^=z=em4|D<^qn+Ie>&4n+8 z58OWhgy3^{V%0}xdAfRO+d(0*e&x)PIZ2R9v8?i_K`a?c*~#>zJcay4hkllYd^HRU z6DT>Y)hFd%h)jNO6NZqQ9}5#xefcDd-K81VxpIl{xamV=W>}GWby4gdezLRme0QpX z@*DFCj4Wf}aNjn2$?~=tnSJA%u`psibmd;BRlD_HXDbG$mrf=RHU)G#tLb%V)UpsoNZ=toBm`hQv zuwiE*zlnPP=5m$MfUGKvmfsaoQB zEA8rcU}-XrRoWgqcZ@35-YPgWT2`e!aW}D(le)z1kv7x$u2gfVI8bCw!mLc{1w7(T zPOg5vY)AI})N|kHwJT3&h;6@r!tln(s*Axd3;^v>cWh1;A*#6+mYP2EPgNMQWK>dK zk6LQEi4@vw`xF;%Fpi>DR;=EC(2N7+P@ev z?XK*Kmwh-}@(3=VHPWU&HH(R~BWvj(HzI6tG;(eZr(g}Ts@mx&HQ!F?I2Ve}Sir_e z!*aVz+Kr#_!yMN~PO?l6Z;G#|t;pZup!Ddl=v-54+pDnSH$@m2r`A!(7&4$i_uf_N zneN(cSw=peL6w&ZuF^_uL~N!@@QO2Wn(i&y-{^M)y~Kv4UTRsTK}B`aKH&|5%-+Tt zexADvoQ)&Pb0#&@1ye_l zkC+MG2Unh0K#0a__0ywQo-MRMu(?~Vp^wD*bm>UXRI~9HvY#k)ZsrrTpp*({z3RL& z=?Imz)vmo*8vT)7E{vP2)5??REeO}>hAFm~Dp@xHAjqi4;(em_9)IJk>07@!6^gZ`2L(=GxW^m9dxUkE= z{h~BM^Aq}!;S#Qqr3>4ilI7w2c8u$6y zy;GQ1-#aJcQmqyCVo@U%4~S{R^j@RiQm~lrX(ZRc;PV$Kl@Vss+u+nPgQnOcPVU=8 zmE*U8-iQHr=cUq->l6KtW#N^cOW#~xU)H_`uxNZc(GAsyzk4hsXL$oK58RZ8^m z%n0jSql$!@qXuGJejH%jBiNx}>+P!vYJ7^rtGf(I=X+Bv*x(d~VO@wEyKuK`w?yFL zeYu25NydLP(3u#GJpuzX2v<0`gKXi2mJ=P0Fwv5p!N#L>FI+rvWH>+?_;-!3xQ4}k zIGvBQKJ|pS*e@8|7Ay!tMO~n}Z5VB`yjbl4hYfu;>@H@q9s5#!*C#D5(`(P=;kQ#$ zWDE6={@#iUU@Hb!>t~KAI4_;^VEBDrO~g@tJ_e?P^9A>5Z`wm{?P!hz^Zx4qF||1x z$}x&357^NJXmBR2j1+junixT-O;VB6O%e2#FWJi6XZn@(IW#@M4#5LXop0a>WzoE` zuvj5=>inA(!Ftf#9w3jVfesGEOo#9vF0lvp26Sswz7IbJKbnaskCiPv)!59O93Og@ z9b(@%ZvwcC1j`y4uEbJT+gxOxI719uqxwcj_WkWhrNZ@h4*@C)dkC2oJ{J4eEn+|% z_9PSn^*L;IkKshhV;M7AS?h>X&6SR&kWgMZ#Sc>8V(X3SK(E#vMSH!91;g!8-1m

9<&Q*j>KzWH5aP>_$BO0?qHk+4u69-fC)RJCX=be!<m|Cw9b&w0Vr9E77@q!vCKBG*RXz5g{<$T8 z&))!hh>WyVcV;@wHVqkAR-A8H(fYAUQWO|?;qHAAq#gabvH~G<7chL=s_i1@;o(5D8&Ke^<& z#P(@(M6M>b7|y9F$;5+N=WB;K8rY}*q#?77(Z>foZ{AN+Vdnt1KCKy9jX(7Uxa(zH z8iHP?H#SHJxzQHXbBkZ_48dVNMN04lh~HHqn=_XW57#J+%>+IhDAi96VO3T=Me+WW z9PS9X*7$o19vXYy$$4P#GPPJK-}^V|0yB?!2?IOgV+a)U|Z&D-Sh9htG#!@_#Zs~d=R=ynp~Xl0s* zc3!X!VS4t(V#UhrkjeKgfz$Ab<3HI0+=+t{{*wEH+4p3j7noF%UMa2fT%meqd_=h% z^U4Pi=uo~)#Lrf(KQ>RnYfHc0u(>xTi0%Pjs%mBe0POL~K5ik17uS184Yhf>Kzj#V9TAY*-SJ2T=ZXNOyVQK*E;Gz zsWemn3abBMW4ENWAT@>V<73(l`Pj> zeaFWTy?@8HUvZ!*P&Dd1yT;>{$)-rA(eNXF1YpVkxl}HxfR)#Yllma-`(nD#s}WX} zwugCcdVnGym2xBAYMB3P^_4h`vavzW$UMYt*CL|B6oPoKrKe^)c!6YBas_Rse>E8U zn+ZB^1B0WUV*9HX-CsI~_5>a=jURXDH9vK7Y~|If$#T%9FC9z2ZkcGG;eo;y2JqOP zQ)S4uU(t!pc5BiZt7L!e5YxzW@+ewVr(TzTX4@LhHC6UVnR$;ZDXUB7HnAf=rl z0V}r2LVT zKa%oG9RACXKa%oCQvOKFe-V&hfBGXS|L;pmz{#SOzMX^dg~UvR9ldKP=fvniRo}<1 zax1ijp|mma@3BOG$%?&(gmwA^efB@V9$}xKW1uZoDtcR{{m))6#7vwW`qKZ)fp zj{N(F0~skI4f1W6j|_l(f|_m|7q*L#%`5?J=YzAuLVquF@*ohGn!D97dd z2Y1)t^%BFlxJ7fyHk(raXf_h{c(_GES~!>gZ3hnX<)J@)vc!1-aY!%Tq5ns-`7{9@ zr{eG;!XnImzuL$A0E1SlgxEXxj~;Kg0gwBIf5HD9SncmGr$hl1;4t%|2jM@O%}g

xXhn@Sk<^N&#|3HNQN7O}Dk)RLPP`&(>mjQjr@}oorx!?8Faiuq`HHyV~hcPp~PvSu0 z;$;X;?}rbHwplSFA!EJY$!7{HwRdH|@7=d%iG@Y}PAy2l@K%D8{iuZb4phJ9xf?2e-_p&k+__VgoRU7PZ+U*Mz-D4PTer59*&LSZN{Ub~ z)8nbezwVx#ezmw~_LM60cd9z$wioCL#xFNWIfFhu zWHms&oeOPM3F~OmS9dslFsU0Bd*u@bN}80MR68F3pk{4tYPu0JRAgnfVm~MTAhX8| z6lrUvRiisS#H-B<>$9B)wbJcU(>C{7ooEh6hAk$;Lru^#GIn2kUvi znAJGg?$@MJyh8QUqi1q8PFrcV-G*3Exs*At^v=vY?ay_#o1c0l1}#?3+D(8_sXaGm z&rj5nT0L#aW)Y(Oc8CmeS>c+({yUWjoi_iow&G4fh zn76ix8fPg}z8f{CJK41FwER8MdS)q(wf#cPR`2pn5t00@PXtww<$xx0F~Uw-?jm}H z6zl5Lg=4)d(bJh}lB4j2(ADWaVY>b40;$;9i7RyEB7?(FI_Dr zukXqD?UEgFka_iV)NtyuzHrfNHhr0z177l?vX<(fPp^MmP(M-B{R^SWw$ zf4I^A^?X*j7Dk`#x{b@gq^uDlGNNs7( z*>&dU%;1X)g8{PZ?#oo+;_}w%ZVKGL^Dn#x38m%ad_cFlGUuSSkqXzEP}V#L`U8LP zQPF`^2*yUGN^Hxe3)LGVe8Q+F!c8R&?C9eHDB`r8juct;q%| zh20Bu0^e((*7rM$c$;cw`P=W2dF|%7Dhy0)S~gR!_EBIsJ<~(&T}+wF9cCV1Y}j=) z^5fKYu2`w3pPv8f!K&Y~GqZ+x0b$AdqA`kej}T|bm*uF22`LR#{Fa0dak8qG??=SM z5S3Y$v8`=v+*dbrkQ3(SCL4LS+S>k*itr)MZjh8u)M#L+kPK z8++^X%HtJd%H(M}B)=7mX1tNp*{HU~yQC=(1+!kUjE`0KMcvt498fTLYv?cdY-y~= zVPmn8+N=bn%Wi)5Sr&StH{EbRX`Rz>RE0>^I^C2!hvs)%*Zvv@hjr>aTj+#_wVB-H zb5%j+o)~(iiZqtTZEbUNH;R>H4fmr5 zk!C43cEQc)A*-|m$et{y(e2HI0l zWC!6?!;-aoEn3`jKZ(H!VdMI2a+SmfbiUn5>MPi{wfq3uc&4ta@Vil8xeM70xDNBb3o`dwiTSQ8}M8?=Rr>af< zaTaZilg02(r8~_jZTGpx!a9+qu{+~my!r+ySNrv~&p=Dj!4@CX=Dw@?!RA5vp||IE zqSLg#IrfRhWB0sARMa&2w`+2=E@;M@uV3#% z^jF?h?H3$q%r!zduTYdSRl{B@4j!;8RSb@*Iekb;j~`QZT2CGREz?V$`bwa+J6`Mm zDqL&3tPs7qzvC$^vR$wJ)C@7<@5!_~<|A%uChcJp*i~U!`0z~q>s~U1`oqLMw0uwc zUd-#8n_KYRv+*>TrOKtRWZLXpGC`b5j_(OUZmmKe;rT zjabs0_Yp?#o*XBmIZ&PNYu?_SORqX3?mV8%U$KEf9ykd&qWX7v>FDUjlR0*w7&wbN zS*=Z+D4``=Lg&6y>Riu$+wG_ByGZWQZKLA(OyPIZ|DATI(7u)+OOUA7F@}Dl1pLCvNYYJ-iu@zg0oMEyg$b zy;~@GkH#x%ddze3x2#nn@qX+c`AfzZ5MHabup$4BO*X0X`>NPiStk8?)nOJ&`Tt_C zxKmD>9y`Wh{^;&4#sA{4{k7O{CrCuj6PIrcmZN@hGg92?d#k_a%I#-s9paJNE~Aws zud~F~CwGydmA>P}?XkqvBK^BA@L18)dxK8R=N~F%8CoK}n{kUQ$5JLwR>LI2z9s!G z03zW;_>~|VHF{vXwei2&yUwsCvu&-|;UI!krHo}nnuv4)f(;Y|Y!Ea+5EYbAqI4uM zfWRmsqDGXeqM*bOX$d_PF#-Z2kWdmr5fG9{2?>NGr8b(H!#r}7P^NC3TzU6S)$j|6Fy zIvmzw$S?1vA?nnVrj-wUMeIkG$PN5F51dR9^_4kk0|E**G_Fh7u50q7Utas=MOw{i zV^LpZhs>)9hl@aQaisGTpjNDDKKjBa_l^3RJVm$hT~lZ76vRLzNy zTg}JE5#y*K0&`Kp%$)MA@(6ku12Aw1yKM3XKwN4Q2u%ad`}aq`8Co@Se#SlJ!3@Hi zaLPd8yi_fE{mY!4!fKqr%`ah7&*&z(*KRA37dkM!P{Kh7iS&6|d+}s;qkI>-z3 z0U|zPo*E}6x934i2Rj@;S0NFH5PZh*kWXcI|ptk#U)1#_pD@&;821 zSj@Qqvh14|Rh1>5+xBGe_qqPV%&=G=DDL{eh5OCCf)V`w%@K=C{v~Fy88tF&h8q8L zu*4?`^7WT)Rv2$uJ644^Wz|fvE2g>5PgCRC18L7%RQhy!-+_$^28g07#Z`sb6X=XK zO+=kp`LMedO&(4(q;ACUsCey!9CTDSy_` zSDqO~4T+p5;5liA;keHD_V(nd=_JZlfWHblUuY~KL!_HhmQDHDn~h}ofuhRV;GftO`5Eps{zP@_r7az zw_d(b+EI!m_IU|&s+)u88RMEywgaye0mdA^b%v#02&qMH_qsv=?wGT%TZHYv2`Qo@ zqRE}ZD`q0Tf(DV`2+933gNVVKs@2XLD)95os`YIVY9ICxK`$ zNNk@Qp&y5%GzpKG>z5lrw^t+#I984VVM#Esq^1<<)}jj)FSPDhwg?o_1bR5BR&bPJ zpF9HE+6uhMwcEx?%hzjffOmx{0~Ln%g;|90k^!1^Mopt3I)N>=!eGp6`*#C`{+}73 zXw!G4{+1VzWX5iodd1yuEGV<~%cIM89D{4*y>KCbzZIaR-tsY@K5Xoy05gfz zAMH=#cfc2U9PGP)07Z!>o=-jaSXBY|#xFU)&tHoEv-~^J5K32WkkHwgy4og5bhWSF> zn2p&Ln6J5x(iri5q^Pe8<|Gf17bZhJAAI}ux59EZ*F~r|t;IU^Lrw;rJhddHPL~0w z?uqNlc(G)#F2*sC(9XTfjuWJTBRy-ZziGJL?N_GdFD&zLQ80g3R5Rmwd z*W`BpH?Lg_f>6$W>w8c#i*q8P#&D(x z&b1I48kbs&GhHFaWG$40F?vfh^tL2EvO!Ojt-(3E_CG-2XDAOrF$0cenI1w-SRx&w zE2iku8f^u_`bosZ#FXecjoU&i1Jo4vhnFgZH?M*Ny)z3<42i7-svD@W`0&D!wbVS* z_G_w!a(tUJ4!}{)_C-P&wk_=9kd za?peieQt!a={S%X)pv`~2 zwd3ho>k0kF%3I9L&d+_N05)v2g#yE@%EfnEw+W1^FTv!M6k1d;1+I zQvT1F;MzK1b7B>mbA6o%JQ?w#+zzgREDrp`Uj7ulHR`gDQd32NpGK58-O+KLHrjIj zVnBcl)rW%%+5(9;+7~F>=phckDww$vPANe9F+R%-jt?3&)3s;_4v{Al? zP-R;p_5P5&oVN1^yF?SonG+v#61S$Ue12}5bY)L46=9fef+$xY_7-08cPa|9Wv{Q# zj4smh>!#DaAElN{_lJ&oRT+49%M&pwkbXCC3vl|O<#aKBbfKDBe#wUUpv*G6ooz}n z1zNRfD9=fu$$3yDWsi&K(quM3_ORE*+H7D+0; zi#oT2Vb`Y1lJ8YmhJjbqfw9Qry`h5#zc3i$pdfDvMAcOlE~zjvpYtf|cn~lsqD$T^ zI)9nbOV_!1;k+CC$@s&eT{EoQ+?+I4`Q0v!$csa42JS|AMp&^FtQO5?$xd(=qZYp; zt@DY@owfo*lOa~*Pa*h+_j{RW5ivpZmOX3|I&tw)YG!Ml1%L3NPoI}UQ|Z}u=2TPi zZzH?CcNKhkOVxnEZ=+pb)7-KI%azFT9PfjOc$%~0;?+{>MiRI>i9>|NU&*fkdHhhSYH~sAbAr##M!Z#`G)vmv|FJehl?)@?`>Bs7>#fUPCz;hPUZR;^m~v||uydhxzF@!FnBB#FigWKE1;x$*S1D~$A7 zd=+f%!N?$$(Dj(Fz~l#|^wF0(2F!W=o_;mkS?Vw+Sa($*)UWp}U?Cb%kD0oQOugJ! zu%zLH;((Ey7L|lj1JEVdWyVKdf1XrtYTpUqF+oJWtACPxdIhl!CBoUET_r2$^l~y5 z+s~9Dhqcv#gb59cpQ0_47s>$ok9({Q&D@w$xVda*1(^9fm;NBn^h?PWSI+p^sw%L( zbW@B*OwY}82n64dd=453W$Iit3_lws5h^|trs;_B&|=;%b39q)SXXUg67;jkWTFeO zbyc6hg&SpaL6n~0Xh;SNXCgG)V=a_t8&@6hPqKU6V5<$k&rySf!he< zm`u@t>%Zw*pJ<6Wjg_?kCJZYYz{0%ri-mKP$L`&r_A5a_SkA9+c}!$a*YrSHrlq~^ z^LyqS^V=`$*(*%2t?EYt%g>>Bo{lJ3Qi-#cenKAu70Ip~W0JZu+qmWuFc&^d>^%>bQ&19g|_g1+qK0u;H26?@3q3D*LP<= zSvq=l6|_TGP5FImCyoMKxGC*`Pz(R|{BGbZqyxG2sL)9M%@op7o5<>KJvIpowC{$! z1@QIXX8!@g|84fah|j;H{Rh#qludtw%wIM1|NlUyM&LKuACXpGXtY8b>L0ve!%j8n z%bw5KPXz+#J_+4Z+7?fb{j_PqS&>>XcR<-eSG%hnOHrpLM=OCmCrj}4!}hR0lRzf` zv3U)nyOxQ_oxpMPJijr!VKgD{%yO@H?PAjva(Wi(rky*vK!~X1!XMwFKX{B#^$uU*(k}lHY>Oe_`G4ppnT?q|vuTE{TqHi_)z-HyjGsnQN4sQ0^@a|lZZEAUa^Pnk zf`lG+2NL#dod8`@JmAob?}Jxh9TUM5=6ro82*BNrFtCq)p ur71wcJU3GS(p#Q~|6cvaUR$#Jyb@aJszP(w0 z?zrdIVZ7b_QdP5RTFt7O^@J%YNFu`H!GnQ;AxcY$tAK%hczcKFg@yiGGFFNU1_nQG zDJG^QEha{yJ^r-3@n516(cPv97Q|| zx__v?ww@p6=g&|-KIng=ZfJt2#_I78`dnqSO7i_%6C;-RXH%gyRM*?|+ZE7l+MlP9 z;dH*+kz}6TS8(BT)9>QRm1tnvT?7taeUTXiNn?WXA%Iyhu)feXa|B_bs6<2%D5=S> zwx@QG7LIL39La~PudfyPUE9*!V8YU{1@@oP=mYs;&I8HOcENnDgr9;39mV680xFAf zXi$viDGKB-o23qNkiIs-cb1K5>=ej6C`P)Znk3@f$VQ4t znZutO2-iW{+VgQw_+4gFEwEtlxJK>+hK~8q3_joZg;LWgclX=!5l-o%Ls{nsUq^HA zR}+5Fq|bLl;eKu7W=2cKjJ|A+iy@>pHaSrS9WvStb@`Ryf$9`xer?YxAr3vVoD zt`&=l$&cS1|M+`C3iQlxFxfB;u0X$~xw5Svy4!@-%bmc?a(wWu4(d%dLSCh>&DKYWgmX z5f~VZd_^C!8F#EAiO3W)Az_M;G=bxpxwN>cyKx1RYg^neIlCE|@(7$duMvD92P25# zf(9gA!?A-|)JtT1zbGA*f(GNj_Km|NDB^Zo2+4Tr1S3;|Di%iHgAn@yUFs`f4}H>s zf9FSn0-YlQp@qQhi(KuCLk~&U$*TnWtrM#fQqAA05}DmsYz@`|lBxsO9$XK6wu8Z* zxW5Ah2rkj#!Hgt=f|MhyCWSr`5Kb!FPn08;5lxH%@mUm3i8US?j+EvX+5#A+n5ohy zHAoIoA<@2Uwy{rz$W0#+g}cY__t3-r|5VbJLZ)_bG83A0blS7Gz$yeJcHP^9x8Roh zTCWG#(|JO-L9F_lo_z#jd{Cl@=anHg4a&()Dr8n8qs9CrQ6_}&fuQ*2cjIZJZPkOd>0vlneM*vM#u z#WKk>NmPy}AIS;9iOA_ATOcUvxAAmUz81C(2`6}Jq`n_R=SgSX7rrX5Igul3q>#xT z?G1i=BW_Mc7|qbdAihw(h~`NAF0YQbGk2gzi;y5HQ%^--;wJK%;(Enq=0+c!43vpK zK52NzCwi)Qv>S9@SWP&wK!+UG@%TNFaLRo2SyZ~v;hxJLn4WqHv_HOEGT%txq^zYe z^SblC=Yda1R>RNx4^dFX{M;Jea(AS{!6QhkA$hOToDaa^5Dl%4=SJy7y zFaBK|qUND4Ii)s5Fl{`2F;zUJQ2b{~`GE3({#x!@<(mAUep+aFJh?lmJGI7A;WF*e zsh54n3TS=C{*7IS-PY1`BG2-{(#*nk+Gf(TFleTF?Aw@5ey!$V%gkV7vD5Od;||ua z0PAfAXDJ|?u&7nkBhxkNrZBQx!8cOMJaI%jJ+bMaX{BkuY0*V-AL&r}n*SQgeeqi1 zP@te_9Osvu&WB?HfViQqkdk4sVeV>)knI;M6qCx8tlw+dq~p=HNmdQZm4o&@Qll1r z<1)FFxgNbxCQU4>zygQ*^Q5pM>9ju*ah!4H`FQ#Clb(~5lQ3o&Y)myj&1%iKhO2g* zFA**Uc4q0ne5Cr=_W8$eb=kRzd6h4XebshEW*LY4>n#hQXN|9P!RqDeanruFO)jC= z?uVR*nw%1xVVt^vCP3Q)@4VTi`jztTlZe(JfxfnZmwd?IovTI>V$I#w zlCqK+n+AP+3Tg!(6!6oV(%QJ2xxc5UribW<>&5E3HeXGu@2_8>J$%*-FNr$Dn?)}t zUQSzfT#9UXUbo%OSoiLDp7)%*Z@GWmMRvylRti}0f6ZVY{W^LoU~2GSU{j$}(YF%3 zqIb%BT7cjr!MjPa`6H?c59hCt6M^7 zYZ#SeS!^iiI0OwGm6<=gH!AV8$we4NO8iGY#0BK~(*+QRXa$Cf@nUs+^vAN%JtLXo zR>N7qg6`5XTI?bUP7P*4eC2__M^$;J1#i>bNtq1$T*Kh zzv^3+bX7!^i9?%%sY5j|^-ld<6YUoo6x?xGL(g1KQ_pyi_eVE+0vSgcTDhjyerM&C z9NF)+Smum^jp7b)9)HHa$~o#?_-&0IF}pH&um}C9<}(fK-a6W9S#x))cM1U!wXm*C zszpszPnla1SuRcl-y1wRzQ}^BD$xMbiINP`1rtyclrvdka1-ZagGOaWcp24D&0t4O z56yN>Z^P(62a(OI)c@p5hzt$*?Sdv%Ej5vm`wcdas3`dge_y!V+*bW0#I$NKa))LY z?$SL$mwxrvlVzLF3o_jp9XDN*#zBQ%z2g^56ZK&$3zva|a*kkY_!)#UM6Jcj$OcA} zWu`;GY+{*DJ*lmjq@P0Pf`6wSM4Kh88Z`#?jh*wV)-%I{ZfAXKDgo#5!c}dku5;sD zT|>*A6I{X8g`4ZDx+hl^kBgICk< ze%_&Isj9`D%Avrypp+~x$18EXoS|7z^McM!{a&s1XlA9=@^+5sB;(Md^_ElfPz_tt z=fU9YIX%TUWkx4%;lgXqtMM`8C~A528S*)#m$$5GqlxLd%UxUSYj>kWVs9_x0*p-R z8l~mrS!Z6rEYdxZm0g`xxuvoljUWP&EV9rm%YEOXq<@q%;ZI_~%b&Y~<-WqcZ#vmC z+hyc{Cr)h-QIFO0tWABw6T&|4x|hb6z?ZP%I4deyMN~!1v=r`iANOCXQ}-8g3(1}3 zpY(4>dox=>j2n8V_iLBfOm~Ldi^F?@UgMh^VY0S~k%sw(w#^%!KWqDncITKB+6fL_ zP5`Y3j?_MpK+(3>#EWQVM<_Fji za;INhzJvr@n}(FqE|r-hpRL65r0;urbj7(ghQRM8gjiTsI9bkrBGKFsfu)}oTtDRn zX^~zGB;nc}dX8c@V?A}}*S;9KKkXt=(%D13roBQnG-Ez#%oCiy?R7OwwWQ7D<-us* z-eJMOLoC6d-rm69K6q~*Ffhp2U@(}sU$nQ6coxKe)_#D`g8a{Sh~B>qMO4M4rQd#4 zO&m>4ZJjLaoWDRrV!m}XYpJH?tR*kUYhnjrH2P|1Y|01(*#9K~;|KD-y#h>~jYxn1 z8(Sw{pa9uFTJXNT|1D-BBl$-YXKMj6EqNspF*`?75>7^DMrJZWcoGs4e#ft7yei@n z|3Uutp8%PKv$H)f6O)^p8>1T=qn)EU6AKRy4-+#h6DupjTMGs!kgc;3kipi8{GXlt zXFuYmP9~0)_Rf}ewj_W1H8QqyaTXvW`#aEo{r!_qQ=sL4k7VogA7Z@;$n>{{iG`7w z>A(7ZBjx{F%By4vG_}zdw*YRgJ!| zFceWOIw$LD#p5(uVZm*bqQ=I+AoeyEMa+>==;G#hr0(@(F`dWhG~L&kBRd8RF8ZA( z-U`C+=fe@`fclrXHUjAyRQXN$`|UrhZ^I8hy)z%y(deO^z{8&67WwQVkU^zA#={Y&MG_GOR74)R_0NWkHPT43Ij?X7%Ix!>b`;iZJ(n6HxR|9>$5)xS4S z78H*A(Bi*gz*qF&>(~9?n@0(v^A$6Qyz1O>Pb#hF6UE!ct2nQq;8ioE>pAv4y>`Hf zyu~G9QU8EEJs@roin>A$*#Opp15BZ?W*)r0sB!GkoKpvE!1y-#ryLtxI7B$CG>V9K zJxGeg93uK6lCnU`#xsY2pTLB@HbtFI2AEu#rg`BY9RnY9Mz-|JD{87(Lz-4S^y(Z% zJN*65I`I9TLyW&Zo;<6xYfM9UU}GgK!76surn<=lEKE~W>owG0Zt(vbhY*76>G{;( z3uyi+-HP|&f*#?@sr{ZY(%z&&M1^9AOSD|--B>XXD{L2V0{vV@qCp`_DjGRCG4a#U zSxqGJ$Kkum1cL*Tf-NIH;5#=w>BPVW;Vg4Ed5U{S#T@>dz_ld;_Fn`JaA62MBd3@f z?(fc`HAwJ460wlM3d}I2q_kMFY|_qq0f}X zr;+IWFegj|mDMitA49ALY`)KoFvMpuUs0oR`yGRK=UtW-dX|z_DHAes0X>6-;CxSg2Z7rOLqiK3rL z41syy9sfUv`QO#||E|M$HSiyD+Qi0~tRylly51>0^w3vZ4szaaeGjX)yqtkZ?+6>Q znov~TY9{t!Kndu{qtLFhDmz-JsTW>6H{B*@sbYOdkJ`$-|L#dM!un5%eg+D=yEoY^ zR;eab=rL3|IQ-ly1*K3Z@x$7zG%Zh+aP8z8=xe!Lbdfpa%pQOI4q5LM-Vr|UWIE(Q zEGsIS!^XzIAfG>cC)?}IZ6NsUn8TKd{?;=UrQaI*Wu=$UL0(?2qtRH*00 z2yDf+_uV~LGM`O^(#L zp3YOjAQQ$yUmwb7Srq=0sW-lUM}gs46MOTDo7 zSc*e_{7hP~`y{zZCDrmR@Oa^u^8&G5k$os9T&Zi>f#c%v?0s!T3;eD#J*cd2`;GT| za;1%+uBr#m!4B{5s9ArI4I-$-Ex4irRk5@ zSh6S~HZ3FqehPqYE%WV6-7(*G;%ffj+N|VY2Y8h9WG^DW1?JNsE-jMnVw;#wrn^ih zS3);d+ue@G{bS~bi;Itn($7t`PSn5W|LHNm{W``_O}>s#V4~qFEAYDUi{+4!eVtyo zuD1B&2s*e=G(B@tloC6>^TXV__ue~01$p<|TRJ$hftn06H|!7igH;s32=n>eP93P} zb*e>UVcMK`waT<$pZf1^ zC3tq#bPjKje9?gr8QYWQFMyFR+XuC=&R2zo=`TD2yTlE*3Y&Rj#lQcUEzXUuz7BC6 zA95LbNWbNH4ELrSc@soeQMukW5no{Af!WO5+*%JeO-zH^Z9f+S(27?4GA?T{9KDKE zOU%NqDV)>IvgHyqG+;S`rRMHSC$~ksKsqG`W#2s6U+C_gZqhc%FcRoAHBR>21C|Me zr2nx~lwkn}3X4#LfBP2C72HN*+SNsXr}~maO6+;@Q|@J(Yv1X0dBjs8T3DJCOk@-= zisUXoQ@Tjq`pY1A6^g+JO2&Fw(C62;S)D=6a+VCAo5G!!W~GrCq&$Bek86q^AL}ZI z^MkMyvlgtV5Gjk>ZbdW_zns6`A?l+fcro>nvIR^acGdGW?r71c1E}1|b~FjMIsmzB z=O!wJOdJ+d(UwksiN)|EDG8@Yv!HHi_E@7V(1+C0a{pq2?Kw^VmBXzK4qT_kwsrq^ zW8okV-iofS;KPx1qpnyopr6`ZpgsAj=FLi4t|tp7b@S`L>a^WiR%bHg*&&D~WL~&k zK1nKwG`Jc%{JF0-KlQ#ha5@?u<)RHr;XBXdBQn9%p}H(1e?<)&GJ0JBL;X_JjoxYVq0hx*W{v5e>K|tKYfh50 zhw5L`=nNH}M34x1>D5crVoNya7pleP=A6WWrLkKnx%O*C1d9_52tOt2*+=H(=cOF4 z>!CWjmSmXsu`Q$mDy9xOR4VXiI-6!THqi4B6z8My_vkBZCBd z8AQqKR}<+p6;89`wg+UHP}F=a{{{plw6~Qa_B;)+lx2VwgR<+|*_b}m%t*^BYJ9bv zw0KE4DD-qCtDPS)M6R=1q*s(vB)e38nwQlfe7|uh{otK!8r>0LcEzc61-f zeM_AB|7P_(tGSrI6-x1dk__eLJV|e=wU&8pYrSYWJ1b?qda_)de?E_ck|ME#(4LNI8BE+m^SC)ttpa4yPbGe$E$yGy%$H00(g7RF zzQ^FVZgkT%*e&-PYcQ4F%Hm=|;BvzHL0E2hV**hbUK9@jdHB~AJDV1CAhKG|`RYO? z*Q(PEpuW*)(#@>>wfWpi6`@hno*vfxcbk3qIA#tM#ONeb>w((d;cS@+6ji7KP-&3> z^j-Zc!THRinJ%!Xn;8fbNyWwY6Qo*W*kZpVY9wl$BMcja5)|?flk{6#>v*iUYm=6< z)BXizi{zxGOPHYbJsxGv4l|A@ zDRVLkuINFkX#^MhrlKb*n+UP5kKB2!^T$-c{Fv)g>+$sHL0LAB#))x0V|MbkQ1eHg zfG<@+#kfU)lCX~RxnGtp4S$5@ClTGay#z-rKik8Ky1J1)wTF#C9 zF#e>J`KQhV7H-eUy-iF>I0SV?9#}8dB4&<~ar%f%#6FHQKE6HN%r4Pd3jxWtf;nBR z#`zd5)!=4$_{J;yD!`V7^&k=xu$V3#77})UyYU2rc+zweVRLf<{vPpTr=7 zyuwu+k{%>k$cYN)}w;oqg%6b~~%D{i&zn z=xKe6-7t&BAa7$n6u9$hg8Wv)weN>);vZ)9Q%0dNXBu^Q!5AkWz?9q$m(|fgq@DM)@Kq+*Qo`a0>*$Z=W?M z^64+4dT<_Ecb+C0Ovg(4-?wDr>dC{j@+n1D~s4 zRsUOY6>eyp+2ohy$o^bssk7}ak_5GQd_uhlzQAIF)}O@Pr)}&^yB3Von#G5)c5#&LcUTy#*D93@p$4Ws!Yl+@YEro4F;H2lI71@mp1(@is9Sgw6lL)9sm0~ z=8bRg=)#$X+Lm1_4f!g(yYEu4y~$OVmTr^hPgFpuROtN~XOFj%k#A)H)M%1K|4&Rf zOUe5v8Q1;5);qNSCN+0uQy=gfS?WD5CIwmX9O)cPS<5v-fi3 zIP;?Eqx{Qh*zQ$JEB>w^h0HoMNYX#S9bKD~+jd*!!$k=<$3ewcJHql>X4Wk0HO`5pg+qUKr4_=WyCdg0qp)(YijoRuyUu;WwA= zxuoG-S7`q+pq}!CoDR*H$X)96&Tu9z;-((5Lhq_vxBKOsuyw64dhBlkDT@L{m}<5a zukCvwxHCx(x#Lz6a`;$?LR?FRn+5#_F5t5$b0^;f5?H+?Up0L9-)M~@TRYiLgzh+G zw8{;Q2S9*(^mCH4%|sGlRX@-%AqAr&O+1;EaWpLD`Jv`bK`s!BKz$>xs#J?qt3v+pldO~Ri{(YmntR50 zTN!HPG6+FnR#8rdwXtN)tJ!*#sMRnw%^pX}y`h4%Ymu4n_95dIfgi;P@o<(c^F#l0+uZ_2sT8YSC7wqVTFb6a#-WQj7^>-S3wW%w%J~2HQIW#$G<@Avhv`k zpp%eHZ3*Mtnrw|sS5Q&@ts@^b0FDQRlC@?T^d!t2hyl{Eu($zbn4U2QbCE%-`f;t2 z4f{bgcbI@7-@03*dEV_qv3)dt!?yK@?A^#XC*G#Heyng!7MP*HJbq#cmq0+4rBF01 zCbEU4>3n5#$%+kecXi_o+8X}ALU9*#2h~~p=Kk>2MV=LhH=Nhj%Wn^*Jv|t z2}E~v_q`y*Y=0|Pv=z1{vTfTDio=is?u5L%#D|S0M{zNJV~jinT*rJR#>5R>L_C$w5$(-OMBGXXmq zwaq``fr{k$b`qeKyxqmI2ATNKCdg&zrbP)`?0G2Fz7Zw!=K_x-O;{ zl%(?g*iys^5hMY`j2#@XU0_PZt$uM`fm2haCy$`vqFbBIchfhgj6}^+0)_{Ts-pO= zjR(S)5mw>QndDK{YmZWfO4Kje*WxaL50X+F$FtR^FO?R3(=3tOW09b^>SGRth2ns< zKM~>KulLjQV1C>;Ksx0zL|E@bf!{qKLBWBA2!0CVnXl(9gg)BF&Tza~?A)|n>H4|z zGkVh9^@Wnq<<900Y-;VLjiMz%Uy-E+!s@YyF>PYzBQ>{?{>JlY!F` zX0YUZ53x5(Bj;M@?GQThJ`XgANTce`R{vU{k#K^U!?092;30n;G;7ED0NZm` z+~X72X|%-;{AsLaZFfs2aU3ia8hzKtUY~7hfxc>zic;p#ZXzzgSIoB4{gT4RWI}ey zB)aSn!Q#(xf?E$*X`1#7%98$@i}yoM2ZP4eEj_KHV`^qzq1wkv`mz6i=DGG5Kh z*hN@JA|sWEkUXKWW@>#14kN2vb$Sq2gPL*MWs}ej3>#&>t8PI&!r%Y_vj|X>pN!tuIK`!T_n_j1<^n_ z^PQgV7Io{{!NKlTRZ)K6ih@A#8UyKSezr*HpA|)vQd8eMPYMhbBib zf|@n_!Ey#GI@X$e?fF{(a2qjDPe4&m(>~g(BGHoW6~ph%TqeGR0U)bO{*cx_UdiQ zJbk<|7bhm!4(13X+gv{6Y(~6o(lRK}kSP9$pk;bo*_O%T{4(d`tqQ`GoQL8{h zo=TL|AaPP^4Ty49ps=>IS>7`CcPq;4>T|I5GBw|FJez5PG=>D6DqC`~8U=6;5>TJU zF;SXnU;UoNb!j)_75;GCPVTFBv}YgE4S$j8#-H1INxZUMVCfFyjKeSzjxcyEmA>j* zf*7p}x@9#yIkhU$e36P@BOHZcrqu@ylVU1{rSk@wv6(Y2igbS(B`thwwPMAApGpZNbgxhz{!?PjdI~QmI z%Zp-CuI&Yev25(%OnBU`%a6_GK$0x_F1^m8s7SPMaHdGBMoZd-M#OuaG2NioL+2^e zD}%DxGg_dBsKu|9%oCTV)JW(ke%R7h zA`gjHh{eGKz#<~?C}d5e?F#;FGA_gM!5|YWh%lzc@g~h@JBG?|%z9Brg=2`&n5KO4 zvp#R?a26_jZ$m+|MO&%Ta5J~IF(g!rBJ3_WKniiYffy)+yJoU0NR8?oq0K?%n*b;+iZCQj-5 zW|SFdR2Rp&N#>-ph1()`m(T%{}{cOTDZyHPjbvKWTA*9O5cjzBRXht%Y{wj^~0 zjl7ajrw3Fvz}#{fEJ7)d`tNN|xcj5nz4;2+CaHf@gohU}=yU>n=1f5%7i%0>@|Owf zs29$PG&>qM5!6!=`W%60VJ7*qQeq8XO6RL*QSO$@Q6cfY4%KbJ$PS>rZKkBs_U))2 zE_JsQZDe-FGgZrf>_~`U`*!qA;^iTG%QVku!6YpjXW#>0mVn1q;NSwY+qavFU?T*T zY0xQ06ZiCSG8?!1HP;|7nR1x;NhiVCAFS99?yLIV4%o@(vjmrdz>WD%e^*Y4w)#j? zS7v#;K7ZxpDD%gW#LKU^Xw*eeGG$6hszkhYjB}i(=^nVjKZJDSY`e?c+i%*s$x&8Z z+^#*4BS$Eu}EWX zOQbCHs{kN#?)f1;bb)i6PPa67)P~Q}p}_*qS7Oa8pRm(Pew=G{N@<<(`ev)FR{#EU z;CEK5%IH*MAVhMPH4awMrt!e+mP%D3DA4?euDdTOut~S>m^lJIJp6GuFSC}5&W@?g zwtl%ZZHK#yn3hCS-#vRDx8||+4YH+v$73u`A1K#pJHxEWE@$H{6>7{R_?(1$kGcyO zCB&2n*8tql0o=V8w!!gKwufhm?<|HR3(eaXM+t(uhU6E<&~#U-f32Q_j<{LV{n%!& z`Dt}WTFZB@KDxJ)#v?#18atk;AdN&T(cZpSY7vv_wzt;ho@*18UNx3o)R9& z<5|&u6Egkgv$mAGST<6)0;?ZDN+a09VAKzCso(ir#pKO4c@2{h2>V&ATyn{r8CbWr z@_aQIHc}R4(jyQhu_JnoBsUp-Q%B31pu9fIfMM(fdwg~#-v7$fF5gEVCsb9E57i+c z{Evk?Rv2ufyFW2Ak*n9+BIEnbe7IA0P5rEw8yud-OpCzkx?i=bKw)$@JPq-ev$bF) zfACHS*32#-v=H!A|6+N|Q0^cehw!RrON{@Ke)2qUml;Y7=Rk6OeLdfahM8pZ`T8j? zs$U8d{S8NdDlcw)HLk$nY&#*9l?7#^-&=FCW1S9`-ao77P*qg1xl*B5mE(YM_A_#0 zYQIH&hgESXlee+Lh0|ssqkenWx)pw#)S&J9g!>usbgXGz%}>cfvD0?8PFup72LTw^ zi9c>>AB!aA+&;6)To|@^aV zd5kQkc9mNTr9T?XUSGF$SMk5b*ZI{x`-vbZSA-Znx3zk3$5`_a%8D$wnMwX5L-0e` zH`o)nlX#<3Ny3I*u|Qpxl9<-ZP5TQN-FaAHng1woN76^)K7F3!dGaSjo*U8e>Vx%f z!dAN(Q#@1R*-pGOG>I--Hz0DtdaQ6u=NIb6pzEAcu5K~nT>b1WK=-$n9|73H1|Z^= zvcyaf4k_*m1g82IN2h*E-Bp@;rnY2?sOxXBa(e+!^Gex%B*3{w^rQqXXFj%RsX=2?1QOT=+Z}>V4A^J}P zr^u>O9>CMX_ACbfym?BMAg^f5Ds9E?rnwc_R{ z%3ET7==FQ(L+2gK9dxE4%#xX;F{v#vz5-Pk^n@^ee-yZNuWg-WJNLXEUKA1zKDZ@kMpf?fv_XIZJbtq5|A)F z+-jSdcU)+%=sP<0Yz3gVJLPfb{P2WW$+&FGsI9n7uego-FU3%-;lH7D+8hQ{;KMpj zr|nme1@A@M#ydrqg2#W3Xd+Wt!*2JGP@ReX%I470sF6?y?VN|qKbncW-LyPW*cS!& zbzWkv1EiMh5Z7Hs`CoirdW+|^pD6w}l+BqRm{^pTZ@emM;K3LBNCCVTtuiajBK;DH zNTXU<8ev$JQt#!3#$d4RU+oj@#Mzi3?589x2p8}k)beksr+K)Z-@gZE2w^L}v#q;K z7i)|dggX6Qd;hN|D;|YfYL6wTOT{tnjQyY2%>Q>AUnm(tKY!RDfYpTt-m0$iwc&}=>H+l ze~R~p{LN-o6sLb5A^R!wjoDbA2vG1p@dy9QcQnLLYMt=NnIH)0X)Q|7O+5WsGGAg$WO)^N|MRsjTzhTufLbd)=zW=G5Hyf?R`g{Xr z8tLeyP<;9%?dVvYcfd|h&8#FUDoR05F9+e0BJnPa?NhRF5f;43<^}~PrNjn0nqzCP zX?OQ0GFBC`fggjl1laEytRqY&OAS5K1!gg_bN*iJQ^yJqtL^_2_@YSeS4TIy^EFF9nP`g$@w`4MEt!VApHR|GP*VO0-@m6b>DE;wsIv*hm=&av4)ZP-Zx}O# zX;d*ci3Y_w6QAk*RUFAjzdN;^(0!2jQ@v|5NJaDl%NizA{Fo2 zwl*JJm_L>2TG8TZl!oD{mDYvhFGk#K#W(%)fLXmc2419DTmH*xTqcK3J>hE1vD$c> zf4J}jK4Ew?u_G%>Pv9e$?GnZ0OPVF)mswrg_%l{hcxRS+n`K%t zLt+}2!>NQmqW!oE5e@jqBzR|0y?G`G*#yQ(4~HMWET>gcIIIt5n?BIASl`+vm)|-J zr*Lc?DG+|FrYYAQg6sHhuPMsg3iJKmg;yCFdE@ft&bf$)NcgmC(;3z6WZ_d)m4n%# za*A%FPHpl04F)kW)1uoE`=v5dk$$sA9V^ZfU~-3H#B+*|xgk|3*sagHdxhDhq7C^r zVMnm7{-QZUsIRyBUnevVIyI&!sUsTM60q|{tlD|xYZ!MdnMl!gp7bTBN|7-DZfr(Y z?JI~z^Jk>ZV!JG@W@y5}wAEpMpDBd^iJF4IHai@=Lfr4yq1a!(uj}Czz**qo_vYtTJ_e1=AW;S3hHt>SQ#kGQiIW#DM#L z{fQP828Ky&$-H)8qUH>!H)cdGG3XXYnJQoZc6w{OyUMj`?!4HAM&i62+$RBi+!+~~ zIp_B2Bx`J4Y#nJ*^?p*oV=p}QyfxkEcE}vK6?(Gx1`YFJFloHoOI!X;V~Y6Zr2i7w z-=bFhH!utOA|FlB*0Vhyac zJ}#y9JK?SO4v8gEQDRX;K{Slow~xbT3is9Ua^nZhg+vM}rasRSm}6z=T3^raS$@Q3 zaxhab)*82qL7{7Q;*tFPnR`)IS~>PoQcQ{d;FXsNN( zA#un9!N+{2$N9A?wJIR_I*d=I6PpyY>{>I#OQe&?TyckD{!ovhV+Qw|fL-Sk3R$e7 zn6YT3>k~TO2rh=@<_5=>(Zofnx8NZqD;sA-E;%^oCe&Y@Y!1UuQ@`r|oef!ZBi-#b zdYeuo1+*^Ey}j|B(LTXLfdt_(?%c57MbnVRbTHwEQ2wiBo1w=wCd6r4i_L{%d(!4Y zlS``VRkbW*tly{*!**^?8Yt2HIU_g-t!edD%vxU42ywJ|-e@G~SwV4Xp0aJBa})_en~0Lt>tUhOw^kv5OcLWcV{3d_Uo zsQpQoU!z}#uj5FJOw|R$!($()(&-m(2!7mMk-#aV8h@5+NmC`288{I1M1@C3kNeu$ z^|{()R{_ynP&@$&Z?|Qf7(5+Yq(jb`t5rI=lLO}}X4jmoc`li*p8@i|zvW4Apseg;#F*EhC zrC6iPn7>7%Oq&jqHa>B3v3`)n6Mxa5*|ybYu0c6RO}z8GGnG}TRk-YUxn8l(Zgrht zHbcO}bVTS?=Kew%!eJUubPSt8n|84dz_n<(kQc^jd@<4p#Z;!Ba!W%&A^u^T7Q*ap zPI7><7Jk_#AJ45bRC(MI!6AP9LHmPlaXD3yJ=)d6won+;{Vhk9VTy|$wf9JMI$JySLhT@lXan`{XSOY+l{a9_W8^H~_yJ z@gN@P5Mes3MM%)KZR)f!dk&5WmQTDKiHWH|zTVF`Gkskd@MKxHM(;&LP7m=A$|5h+ zj83k3Nyzk0CX>Cce>~i>8}XG@j!@un)M@VNk-AFvs9 zVn0)hhxixVUJhyd{2{D&b>T!{IUh}~Njo)92Mx)NCl{d?x^3O8h)53TKOo%BUep*E z^lb=2w}d!()He+}ru_FVS%%yXjR7NPBQ)a(^PChdo;uc>TBG$f_LmVFCC4FGO#XF= z^gOHe*TEBg$GtHTIK(ODt)ARiEDVxq^>E&X(@?bv6v}C9jTlO**;(ivSGaFc36Qj7 zfohuBG9R*kI25Vy;E+@98WYbIoO{R!rRTYCujj zH}K}W*BtkENT8=8bGiAT*P(>a&~OQQQQ~#!t&{AKj>{p{s6j8}E0*n5&>J;)qoNSkn0Dj^muqXcr(um}c9BK*=6+0HhV#H298jwD zs;dSKHyPFT>*&Xges|1g@1&<11}nklWl-vs&qfvfC8al?bOz3uO#nJiK%4>n8EPiR##Kukm*Uu zgou0K*$0K^k$d%WM$iByN|6-M$^oqQIvdfYMX9f@8KM#$g>Jtn-kH`r8R~N-1{Egi zxt|A(@XI~1nik{I_Z{y;kMFCrCiD$Xhax~*O0&_gCXOVjhBLG|2AHj`Rd6lIsNO4bkEo? zs?cZ7(@KJcIC=+7jdN}4@L8yEeM2p#KVg0G9j!2NHLyX}vs5zfI!$>5(p zRao$GS1Az>4i!@+XtZ1z>gz&{?vn|>2cE9aC$5hyiZBT`ZdsBZ6(mLSF&X`wu6WE3 zkuG-xg;UAD{K<3fNFf~MRdrvPUFJWWDO*iytPPK%dJwYay-~93xExz_rw)67 z<*oh_B{-$ayf)Bt+LkC}KE!$YmH*VPb=$1*WT8Y3_m()%?(ROZNXIqd>86i;(qZDf zlx@iMCF3y)M3v=9B{1@M&HWEN>pu^oN-1#h7TIGvJK8ZA^dflk)#ja6JX|>mc}3I> zfJ+0y#)jtCkLQmS zKNBLU4>=KZ-oOEY!R~f}oseaVtpWgL)q6x_CKEh34GL#0cR8&Xlpoe~6e1J{^M|PS z2bWPlQ`|>MSI2XH%SOOJ;6at?5?)dS!oC4@0=YAm8*@tyYBZu>VTn}EIs)w1>riu7 z9NUbcdej&8d`Ur|^o82==rPMlb8i1kKxnB>ZEq;4#of~CA!&v5LRlrO8H({b?m8A6 zp!|~!B(xs~$ERuQ?k)`bXK?($LSuZcRbV=5_G=PncQ`Bp(rF~_HqfL=W6%jL=LaU- zxUkY08t-jN?Se=6i z7_oq2k0_X7Ry`Bg(wm1XP+q3z%YMj28vtJwi=6h>yCE~VxAtghpMLWb?{>XVbx={V zXwa2;^tW6TI0vQ{0rx*{_{#!%ygQT?QaQt)0R)Z57lVv33WTF7 z(Ekr{Ul|wIlJuPrT!IGIpuq#dT>=RN3+@&m1b250PLRPh!QI{6-G;$^@CiD|JNNGH zb9e8Ndn`0VNvmtc?KQ5mfSoQrp)wy%m5M+ z#LQ8ChRwDWrZV?UD)WTMC3KLUi>JD!Gz1|W!0a&ea1CKQKg-WdJ-@`v0Lvx{ zTda6R3wxH};-y<)Ub@Zj;m1qov#g}If4b47R9xB|8HFqzhh+YBnp2!YAq`(;_A?7x zFRKd#Lw|Z@)B4f#! z)9}P7ke!hjn>JE5pZl9slu1d=Kmux&R~hyctygt5yxTO@D4~JZQIE*L8(oiWL#*>Q z=&gg>!C9N>qC_i4plpQmS0qn%1kOiFk>#-7$05vB`4}RfJEK4zX7LXUJ@^ZO7dK!W&u0<8_%BkmTWMIOJYkvuF7PhG9A*pGu;hWaU5sJ|X| zQW7^|T%nh-T|QR1E3zgD472xmB5Tc&A43DNQBGQpe0GR|V93^Hbjs`2+uvLmA3WW7 zr*W2ds zYoi(jxyfqv;XcnV6bi4_uBVGj7rn1l`z+7!AvmifAe(;|uJpb}z_9K6BDdw#^49t|7wKdTA)TsdQ5opfP!9c;yZx&@33(eK``cyv=?i&eboT|J(qXsVf&$yx-9zTpbz0v^ zIYS;jpHdzB$)GX&z%1dFD?<$0Q7r8=gfbN7`t>SRSn{{qvSs;g5tl`k>W*%4${^mw zTtIeCt4?c`<$^^yk~{K)2dBybl}0BJD_GF09Gz${P_%q*+2^Zd%S|7c(Wo%5czul< zfF(@zMa|(iS99PavP3TOt_9@HdW$}hpkjBTH~Vlb+GOy@ zR3g4RB3M{ob7;0$TiVtN`?k?w-Duw(63JJR46$?-=-{?ohN&*3{+qLq6W&!2?x{+3 z$ywu4{Zd|h^>PNF*G{seiqWV=b= zB#Kd=O@(ZO<{FCMv&O}{x2;}nxiJt+7`KX(eKm(RrTYw0ahU0|JFGenD&b?K28Ek+ z#NBWG+!?JJ89qYuW(&}F8^vqXChD+d>%v7O&%??-va#+CjyzvF<%xJEa04wTjZUfW zYoqUW^2M`3R4_z7zGmrU4@Ir>^Aev4y6|4}=5yVPaX%8a6vWGAk`!oPSJ(IcC_puo zYX1;lo9#*ny3ZLdAEZ0ncxXAvupV=Ua8?=^`?v5L0(6|E5E}27jot2-flFD9kBFWP zy8Ic$Z(3Q04Jw@HmE10hbyEo5eVqC+{mav26vNG%wowg1Kq0kiFVyoI?A-|cF=Vd+ z>G2kU#vD#wh!4RJT@a}Lu-4^(*BQS!^;*x1*hIs48J~SM^P@|9^x@CeZK>U@@&mtn$H#uos~`89L1xg@nDsdA^c`l>yA21UR+RK);ZKyM zlKD|)DHZ$W^xpL27^H_KK`tUIRC}I1&6C7}<^63J!G+K)>gv@v1vJ6kf7?Qe!u2En zv4_ks{j3<)lgL8<(S&i}@a9p*$tstQzW3|i*LXFJ_x|GDj?ZGBS-H~6_R74XVR@$s zN25FRGw?$ZP2tz1pQ}zPidIOyc|ik1uTo7Es!ego@ZXsHZZ3*&R_F76eK7nY3uDhj}4jNzTnm_4QjRT;NZe2;xL7#8iQ-v$n6%pS>7o z3gw@pymL*tz^Q;d&Q6jVV$GHCngeQQo*SO7QUvS<t(?{EnaYIgZ|j zYqJh%U_)ibJ3!u43*;7nK%&iFN|dyHuHTPVM8*^g+!GHBxlT?sG{7e8F(GjdIT1Q; z)E1t<(@CV*(Uj1HWnHhdf=+%Yh(JF-+**{e7!lVH#v_|{XTHUt0&~r_1 z&>xjeic{oOeqRdcvsQo3EQ)whW-KXg$@!sOeQ+cdkQJaw`xR5EF_h9wuXi8e zds@ULUtJCjvpJpTzm8Z43tU*^I%u>C5*H*90&|YZquFiDmGPwBB65GfqWLU^?&bAU znZ7DrpKxo`$_CwIcAv60>&@wqv};|dY~!%~Z4WiO@th?YyER}ODN5`_5W)p*;XwN# z`j)n1RqSmmyC5?TZ|5JP#Qvd|PDAz8{SQa@wE|_WfyssddrHI9l9d((VpVIJ=Y=RZ zKQrt;O2^UaNQ=mS3j&nBe4EXWUd$+x=@&l){P|| zuJgT7b)|JLP?MN#A!@W8=2m_X45`4dK(0N^MPt>;s;?q*m?y}#TEO8ON8M(bKz2ZczT zovMfM>J^o})}%Y~PURYA%tPA$I(wRTMu*33v+{13o6VREOoW)~hT z(B%(c(|@A?HlQ28{*L7lcxTLxuRq)*#IibXYw^z85G!?+m}@!odVp-_Mtj7*!p+k! zM6UqV%cBl#px{cLv)j{+UpBg@!`rIa_YfktY$c;p?7wz@u#KqQ4lNL5|C0MD#k~XF z7h9LLxd1-)w2Y)kW?r5sBYa_Xisj(osMlMSt;djJpJ9Vh55uQM4wr>fuoU_BG4(Z#&ZrdU1WdcqtE$XdM10>bcW|I#7LKT)7J_Yr+ zoQ*nw3G6&M?zu`yhW3yffHNLf%fE(_VNqFGc~F?N-Wcj+z)z~! z*JF1FEHassZ_CP}JjxOrMz;z3w~o)@xA4fh&JJVZ<`;u<>%}SN3L=r*r&$H7GkL}s@KHy>4FzeZ}O4%y7*o7Xw|J^zy z+JQN|Q_+%FOFm-x$~=nX-0*pzkb)g%?wO7dCQH#iXcCB(b4E~uGiAGvzH}iu3@fN)Tv`?KkhdB&>7Swn%l6O!i!_& zF2fe{TB|M!+-US(y!la$MS&~M;W6FJY#R!RH(jr?H7qGvO#TAj_=o{wfVz+-C?Ilk z=y?|N&=8il#eFkDUQC@gas0CEwo<9MEyeha%UVxut~3nro_NetFFe$;U%6C1i5ka< zO7dg~?dN*?U}RGOMY)3h_^`fS|E8-?l1Gnaonf5qVkvp* zHD+;17h8{N1UXq;OrD;vAC4xSL{0C&1QsF~{B?*OIoNq=WGxfd-&cU~`S|64wq#B@4mPi{h&kAJ|rhZ)|A~58>Pg={TV;6B+ zb7^|%wQohV`&SVhQF9u_oFH+aZFw$6PVdsvM@$SrlKp|3I@gB{O!62J9?O`zSFdR} z_*DJ7yG`!r$f`~{^qhLpez+%mlZ_mD^~J|M=Ww3X-s3ZlNpn;vsaEdyp2Xq;M%ApJ zh`&C9KGCB#m#10hWP0Dsq5#E+emeunEkpU#6bH<`Y#>yDUB)O>5fom6dS%T!GKJdo zxvxF1PYwH1JAh3$$pra)3otxeUQLb4rc#I))hR`WF>e6x6D5Z6h8Fw6yeyPkgyQS%5d5Ssht`w!f5hwr?H5+A zqgMe111&<4F>ILRgx1}HNf)-EBbFUmN;^dUCPJh~w}c5q*}115f?|S#(I1SlqF~Nl zBVrRDbB*|RaYINR(TY`Hs<@b2FkUzHOTLS5dtZTaDet&L0ycX)NRAb?T|bQ7f^9q+ zf*uz0=kGbLR((eA(F}iY#ib;Bl}uC^xn6VvUznU*AS0c4uLjV~uhCPqfg}2o=Py%C z&Lzsa=pso>-n3aRhB2=m0h|sD1H@F85g)$Bbce$Nb3|9x)1Ow3?VUJDD!}t*$oqR5 zzBixe!pdFoU9~KAN|IHTTeHx<9nBh}i?91*oPBN;ufRsBl#B56Fa&@2_*ua+5LIFU zSUz3BesO??srqZsB=TG0Tk-Woul|-9o$z0^J1>9tQsQVaWhPUMdyD90KBNIeTB7F9 ztQV5kzc+e2wV-RX_JXbJz7bvzrc|@b^mf4lej{ARZ@=cAFR3-N$5|F8Q_1axnKB-X4Cx?tc9r~CzLDp!_y!RU9om3L~F6S?d8|An@ zzvb78>gnM%|8UsUyFJYUmqR_4y8UidTXT$Q1>PFEIy%*x8vg-({3RBW|+YhB295oEU@BqDJ& z?7VHhE~lI*akuqf>dEKEtEA?{&ew2JC@4f-mbyZEJ}j?u($2bi&I~0tC#m%uTJ!+S z+N|@dj>U^xHtlx?WdX0!C}7^M7LiN2X^oz@l%(#L`VM!X*75CF?2_a+&c&Qi4(>^QTF*WY0w&`MIP| zW+shSVjUc}3`sJCO%6`zeuGfAxo1v*C-j9_o|B`>8Iv221$RBX%X2o=FfLx}RPn0adR6GI>^mL0>}u9kv_T#8 z9!?ocHX+Mnlet9m*}zEEUnchvF}C9zr{^`7=jpXy^zz|vEN{I>pA)kUC-w}*-9Dzt zzxw%zF>CqOJA)FQKiw&h8qb@@yvkwb*bJVZ6g$$_EVY>$?PN19g@*_HbKlpxUH)cN z^D+6k!oVNV&9+<#M841Axm+&4qD9RXV8Q9?K#KmpzCppG4?h#o;V!+jImUv`#9)Ps zU>o^|20Ip5l3fYBOpRiwa^%EH7b6PFlpbyio4i~s-Ua+8bQu6y$klLFJmE(zLG`+V zYp20p^$(?c=Qx^$KLQcqKc z>wg3m&O8IINW|sV4H3&l?xb^jwHL}gylkewVhP<`=bpoy&88j%`gT@zMy>9b1Ki_4 zbW#bTQDe82_W%-wvD}pTsU4B7g6TOhX3pAC{fd!2SKH|n7Vg|^(QKg}5~PE>*`--x z$Y(gSC|FSu3K3JAuXuuWi61=6UKUi#w%zV%@9Ow+|a39KH}=PX~D< zK@072gU{#F8cmxA&`=dt{fWT9rRDA;^$l1pm(?i48A3aR0YuT%Bra4-lm)a)T z(r{_ZcONBFZ_f>l0CwGUZbL5z^_uJJRA&5ytQV_b?@qXDd+9%Q?;mmJC2U0*B5uMF zG(t%Btatj3kIl!`?YJLs!hIoLmDfKocmOWw6X0q$*1R|foX=vLYg1~du~7kT(WN!f zP$O+cw7-;HwJ4I&pd)EcM;}xd+Tsi{6v)i%4e+fuW8l9O6gV9_UY;C0GK(e+$X?S$ z44)j6Ye6gFvR;^wKk)iNm+5np0099|#-nCgwCi^)W{mYOO@wx=7KNiP<6PbmFt5CI zr4YXP?Vvd}nz;FA^^Sk!o5q{M(dsj(WN%l52@pvC9RAS*{}EMYLgvJDvBs>n=b)V> zJ0+UkG}AKuCO=Ij+y5O4#hdl#omG6770dz+umV(zR7m0hTZ+CrtNc}(2PgVW3Ej1w zziu$bqmj8Xq_CSXZFb7gqsecYB8Z?F*sY5Aa1*oy>1>!+ZWCvs_BP$EW$7mw1bf7C zS-W1KQHC;~Vs>BlFRn(0D)V13lIvEixn1-Utz2scUg)k`QR6||bcK*EkAd{KZ4YzE zY-*l<`KxBcRRXpXOj7LCMmWT;v4)Q4H_zXNvJG(YUMI|xVI#T0pEQ&fM&ton^(4B%^h z19*79j)fAEk#02l1*9E`2Ko`~QoECZf;~Nu*&f&X^*>R=uj^w4WxBVNJGS0iyC`v1 zvDO7lu%mDIKeBH{b)7BRp8I|(pY0gwOZA|>Y+6!amS_O?Q$!@x|85J|rGsZAEW_+_ zvuWH%gpm2HQQb^>7{9}VO2lzakV}k1kKa;Dtpcm-cNnXye5RYdom<7YiCU*2&l5V4JXjPtSYy3TYx#O8$K!FeyxUO2Lf5qJy> zzB&%o!SVv#FB_z>EZVcgxVi>Q zAerGF!t96$NpWb6`}?%Bcg_1@L-uVi(a-l?`lV*AR7I#osA8m4QQqdBKh#}^>df#D z9WtsxR#`q{N-n%{Lc<>m%X}fV=2dD&w$JC9`zfhKVTp^8zLe{(k#cVTCo&OJv&jnM zg=JfbeWKirhhE$HP!%pkyQIkup5V_HJv4L77bcgWPt&B1R6u|xbP)TM?=vi3YCX(a$pc1JkN*^Q=>?gh4 z&t*SDc+nv8+NwrkREqh!x^;PIW5LRdaVR^t3PhBSkp9LRb7;A))8yZxkxR(%UtJBy zj*){Tjn9fAr;6MH#FtVYQ^m^PN=@I>vwjp_Xi?i4dDNA5(J9wl!u)<19(#@yCF7`K zVxB`DB$rbwRvejQ^|7*wd#A!u(DlO)ra;+m@!Y~({e}h~xb~+mjrP6mwfS1pg4@g& zGR+?9m!q)yt9%}x7b@ijPitpt-?SuB=^z8cqsk}&`tEj#8?X#rs*|?I*km4$+ZpC{ zZcWtNYlJQW!8ZSZ0J-kYR$?icJltz}lCv6n9*Q&ueesrsaKko*09<42Eq@%)F zYlHN1_uO*J@8@&A9HPhNM5J(U_IY8h$fZ)|<=xr?rX)ILzpH^&PH~xj=dwP0V#Tvs zJ`wAlI}5eRi4r7rVSlex6A?3iGREI9-LQ|eRef?fbTqG;02~{;A#Zg%MdU;dA(KQ9 zNaEd%iMThaCtCP&SB>$jC2ASWEpTABYR%uYH zavlPJx_YJ8y%>rQf0_6)UrL5=l+*RN5Zhkn$k=EfM9njN8Ts9x0|5RoHL%;D)Z3d3 zi7uGHJ=CdoW4si)-%&FM6{Xc!s>~sOpT;MTEhXWYOTX61wG6qqO5t^TD7BKZv?&Uh zc{h6>Ts&`n1>uS=$3!%5Gn7>GTM3!f=)r_jcbKIe$rKYSSYp+d{dfuu$vR?s&R+hR@#5s`LbPJ-b4568;{|lSKkV6Nu!Y^RCs@ zfj zl1Y;%m;WC3^BQk4zDC_5L9B|6Pw6Ec_?+F!_BBzvJGqP|Mx!hrvLDmEn5p%P^bRA z-fkxZBO}_4=+a#1;G7XWY=0_k-Q!Q(Gr9~f-|Q7=z1T^2*s?4<3}A!3kYWMxq&}_7 zQs^p()Fa3(+THq55*lTpQL3eyi3ywsBdsqGoDm9K)-soImZi7PV-~_Yd^d0!yZ=pR zvWU(`h;DX!7a9n0agBxatPoH;QvBSJWNtvG+caXAd)a2xU#0HPC7Ltdqr?y zI(TpjFg4P1pusnx>dj~SkBt3xJQT4GX(`kTwyu8P`ty?`fkU4Dp_(kBcT+d|!uf87 z1l`sWYS5p@*R*u#+cTM~C5{cKP?e`<+FjXeR_4z^qVB z4h+Ms^jVm%DR7yC{~8^!q|?Vj)goljV0(RZOa=QQvAAfUp7B}tG~VOel&W&^?DF|; zU>n~!51g4ZFLk)0Yw)ncYHJWI(RF-ZBT#e?A4TcqJ{P;_5X>)GwI$L9se2rJv~E;d zHWw-Zv_pA_@d}*Y04}_K*6&b9T`;a}*JXeLc`&bhnU%1K#&P5O9qbBrx`GI3?2nBc z%>?s-^;XpN&aEFEkfN(nXU8f_`uCaF;QxX@#J`67)s;J;H-3L$@>g8J5g?} zNl9)hseG(&t{9F=UBu78uOA~m```XzMV(SCnfa0~KR?MAYoHHQDR(@e<#`AGBAFv| zuzjgdGM3-}!YfTtV|-Ig;j!5!nibD(!~yu=dG(v&w;AZMse~uG>+v?J!3T%o6I^qg zq|t?&iy-<9Iu9)A)9#=Uq=7VcN{VpfdRWa+=a!QW$oml|$3OMEvq7a$iAwSj$>Ws? zW>4PGWdMH(;4*Hu2rrFgxq*FADiHpIsrzu(GIPCC8Vc#mhw!8Y!p%sevkJ<@tQYP_ zpl0 z6yfo}!KgnA6J0=?u^j`;?=x6gaK*gkY>zJojKnyS#naI0Xe$wCyxvb1&vwVoCRlRC z>!TfJxfqM_7;n}*P%khSM9JmqspBPVS?Y_1iqgqFDD`#)Rk@GyV}RwjsC$ii!~-WO zTdvx65ST^HYl)B9D)hMVI%(dqB>4WC^3esj;TJ5Ubt=KVmMebm>m`N7E0yy!xo`g9AtYN`bcWeJYVU_>D zOl8erGpLdWT^{5h-E?#YFzV0_=DiTun#Xt?D6x|L@=Kl~Vp;;_ zA3sc72XKF7k>V%IxI?|Xa18h}4M|Z4#ZqBna(Ol`MXd%tGru zcb9_P+VmJ&BUYbL;j5QdUa(q9`fwr-cf~||Z^~O2NQc}KHtqj{TJT~ce8EYKbA!^V=bz!^wUdP61#q^mQQevP_`L%Gr`-5VJefW*p zTw8!UK6$2P5N$g7_&5O^7D{n3eRhAxOk2qi2aTcu91Oh!s~c^)*lHF{ls1|{N__(xfDLcB(dKk1}`$9fsIYyK7SeK_>aGmz5ioazVP<6Fi51jpw54P&B3n#7_n1! z>28UCt&D#q9{ux|7$z7bvTNA#X<&Uxn7h2uu}{a>B^+oQgs7g&^v8bVQ= z9#1!ahl59z-7=*4CmsL(=rg!k313me3*NCq+9#W7QLz}9V?$#9Z5)3+uY&m;E@*a> zw;J$d^Z((1iBRx%wvt}q;l(#lMMyq-4v!`J_lw^-8pA^#ua29n6kHIOgM-!Ck6+s$ zsU3;G-}vXlexKp-e3VJcT4<^Ly4;;CfN5@ML(P#RAx|;n8Qd@AzxpnIS763zI{M~> zn}g!XIYy3uopqhMVY|%&Bb(cLro(3S_oFGmMIagTDZ-z_hhZbz)nkP)nO5N-nb9aF zfe)n0=W1f*GA`LvV`K$MpB^!#&~sHjwPm?8p5FB#Z4MlU5j#-nyKjoCT3j~YjOpcT zvDTSSq&WWzjY-kfZ&vaeQa5bEx)bWR8m!~ch6Eg%AS`+<3p*?tUmx!XEXpf1H>IqR z4m6LnxR`2i_pOnpsh?Wx6&$Dx@%bx}3GWGS;g#qN1KgcTosZ64zPt{PKt!$WqLoct znEEAab$s{!*eshxqh=v-XIpcpD`5#0^~o7z%JjuSv}ii$y*QYu3%&q1W%8?4o5~fd z7OMrh&~5sOTiIoxp)+bEWoGKHlNmgJa=EHV`w??}yQVaJzeF3+R2m~{xbW`W`3BEPfr?YJ=t|p0Ze@`x*IIAJlQ;jO{tg^g+Kk| z5Eb7ez%U z|77z%G8V%p>2P!G|D{r3V=Tyl@u7In&!ql;YaCef{~?PDlE-?69hQ0_eG40Wxt9A~ zgNf~qQJP{8=Q@JJPtH=-0m{})1u++i=4exCsdFwysdE5EB2ah-uc2x=Q7sr@n zLF7Pi?c{|Ig(Gn&T-Il*g+)RRH2HvR$C)rN0+7ETJ}gQD6CnSgMdK=e|@>|M7y=mLMvT$u3#dV zlk-Uq&gzPGb|F;LX>}(;Rd}1(js3(;aK=)ub4sgjchqv_yAQn47k!=-mBet-l^j0q z-4p$ivlI|hyk=76*e4ZGgI-)MG7c-CdtCfUzK5c0&6#gmoH9PB#r}vD%`PG(*cx@5 zjhrtTsN-OJl1SvASOwFrECfE#al8;Fo54?66BpJx^-8@YD$FPH|HYK3>SoDztJN+1 zQ^V^t*;dUKsJ6EN2Rxq?B1*+DQR~vCf0@A>*Zg1ocdzC#|%>Ho<^FR)xX#ybS})Y_f>xJva68ksc1^blVJF#)qpJpQix z23Y;xRNGr__;6X?E+;VG#^^>^V!#pMeqCW-owH1_DJ3o^UB5#|L>;6XS-4Pfj?YRhLf)Pw?a{5)&SLLrUc)hzwciZf5FGQy?a=lxe*G-XRSdvHrwCm zO#}d>ZRk`F2C6xkYJDx-*m!v6zs;3dT^!8S@*mST?lqOAYa5W%*tX)BXb!>{PZ`3E zT79@s{qM(vKepAHj9J_$$|g9hnpHhJV;NSF2XmECBqhdjBwTiWp@?N>vk^ioW`%^Q zL88vcTia~4@6mP_eH=`eLha%X+kGBugNsXyYQN3OEQso^%ITC3ButqaB8b~Af5dr- zOYyf!$I>{1J7}P3WC*vN8%dsXi>s@X2Rp?{Lx^DFC@Lxjy}clTW^$?N_xCA~Tj)oV zT1BQZ6l5mp7JysaBmmfH?|<#3=TC8$!M*y)WRl;dqMRo8=si0f=XWgs8=`RNk z|I`IZg#knEf17?adB2D30!?w$8FS z+ljv*gv+8;46)8%_3teHb7vXj<_FUdob3)Kx|=g1!N3ad@r9Ym+|Oe<>#Hq`^OwTl zvG`4*(Ek+Tf9y#+hFJg5+|H)BFWn&CByS7!?|8Yt&h;!=t_%`$YlGBut4r?%>}oLF zAp1rEp=U&H0Z(=#!~ADAZ&)NylXFawdo;BlwJRVA7-Y)7?*o{0oUi0nmBg82G03m&>h~>`x8Iv+TQz1_ zEjW*E&>6cD!MELe$KUTC^C2Ar2M=ZnRfGA8c4&Mag{Fm}8}t?+cU7Prbd=GHo-c$c zy`ksT9lyQ*Mav$x_AezNkF_$+Qq^HoTKVx0|7OLCB1I9Jl*Tk*=Iv!4^eXejKQQi| z?#Oj!ajs6H-iXKMIHLW&Vd;VxPe85+yZzw-0J875@Sb__a4E3OI!y%XSFcJbRCVg# ze}g)K4Y=&5Pby$e!5Z66BPLrhJp_uO>M<2=bZtKPa|lHDO5#{Qa>$%}El$CwDun!T zqO9TC7B1)&FD?Fv{+IqVQVWqm6bu+N;tc6~k=&mO*LV2sg)QyjSH?k-s0wf1Wd)RPZ_AU$^7de%sM%y>%LDPO91U zxIZdCD*rxx?|FZVS&bVFVmUHlfALS%MT5$$+ca~2evX6Gq`+k{SF^ml{JNXTp(C8F z)kq)xVQP%`9uH^)8D(-%9X46?i6XNIK=RoJIQ3wMXr?c{lEr5nmh$5KQV>bZwFE2P zVFW#DR?svxB!-uHH2|B}>BYcr9=3Pm5|+mik74ga5m7=eJf^(Kez&0!A6t@P@(T!$ zH)OV-oy;$KLa!@cota*N>dyVTS}zyqjGs5(wRi%n92DA{cdrB|mjs}kzX+uPbjEGzViQQ2(Vn0+B;ZVZWS5pf>N z7W&?tQ{;^&%;2WYu$%Gf2YJipO*e02POtU_D*(%3BS5$o5#vA$AWs5#*@yQ})uC9_ z@gAUK{Q}WD#lER@$;MpUx-p2%<#2M&b5>PZzPbf*ERAc}x~*2h)6VOpo&G^sdo_ae zrWxeD3-X3suKKJ-z@s9eU(e`yUvO!grPre1;b#zrFII$7l=#Ln8F4Y zWsOq5taLV2)hdtbKz(iZ#~wiQ{#Q_DJ#&FUf2Q|qB@Sb?*%IxwW9j@$-Iy!-Z@>iy zXrl&Mihd!mz1XlT&CJ6Z=Dpsfa{W<7KbsznoPHMrbrj<`2hbsWj~FU)XxXX$cvftHj{3<(W-0Ax9%% zty`5=_zecy-g9|!l~I*}Dv3CE7CNCeHn{W(^+b=OmA4lM8rq{IZ;HIRzl}&jx93sj znp8P~P4|du)2eb0CR?r|v+h<}n$+{b%J!4o_ku=gk*VyX+(1_r;6N=dK@ow%HJAcw zc3X1IjH`Q5M&a`?U5lW)I%hS_A?$g)j9?9lJB+SW2Gz?HYXC2_fGHLYHh|aAJf{L; zBXDBz(zjx+Iwfln9}=#?ly~L^WOXYO2XnINKT1uaAB?N+_Y+%(7%%QGOKYVdfkhSH zT=Dgo_}@m zJ8Oe)kCs~}xXWi2#>Guu7$!R-joe+e3AGPRr6nfAd4{$_^NZCxi{tH4_4s3kUV!^w zi~(^V?l%j#OY>82=Wi;sAbo1Z&KtD+9+#eRveR@J%4%m&iw%)H<9w@lO}p((AJd!7 zyt>vUm>nhU~qT2-#S*hXE*znY`fmPfXJ>CwhH z+qha|-pyXrqrO-$K-Y*`lgQ^(G)(Bco3dIr@FVY2x}otynh{B}gVwH&eKL%MC1F;}2pt88V4qI=5(;N&i+p0;YVE9`Y^ zi3a|p7g9v>xI5PDe(X&-yl?G6z@~Rl|3;_VFyqHuu6c_cs>IE}n;V^B?G!T~g;eue zP~+lqdhXz_lHKTI?Oa{ebsx}8+b;p1Aqee&tIG-TLw%&ho=#x#aJ$}UnY9wG; zzXo3y+#Qvfk@W{-fL}EpJB?2WY0M8aflD%MF{A;>2d&4r?GN0Yppblx++Zh=mjedy zOK$CkocW#b0b6Q`MMcG)hWEoZ+r#wBbe>4{?`m`F<;N?0JL84iy>jix{494~2CYtj zdlr=8iQ=efp4Err6A6-9C$dPZ`bxR<%gjfQtg}?Bmb!K%i_HFp&D<&LIH#6h$9~5B z{VC|??KkcZHtU!o_xlgz@)h{Uo<|j7G265s$zbyVS_Ld!3^fYF zda!sD^l^VPTKEfOciiQXjqRZ^k7I6>L*3dB?keqlVUp;^v~+J`!Yc<%_jP>j7K7~B zGIdx1R>q#%gI+kCZs7>k$Zr!R-<^aGrd|V!n7d*=7Q_}ckuJSGbUf93pQm8f!Nw{& z1r6Ta>?9a%F7m)?%^xqUOZWJyL?mEcMCN^H^>FW`PQDFXJf~P@b5fkRip4yNbZN7H zp6qluyUT`_dpKO~QyX69IwfKm;%Cu_w8Ny^Y?FT#0cxOVs}DJ9nZ`G)@gZ9$e~=eq zdfQZXqvw5V^!UtKVb$fZ6|+5Z95O@_ASa^BZ)Kz)I5Ujt^O$RMbSFz5t$@2y;Qkw< zHTn#*l-PN1vi@4Bb!=(;!4@-Ya{F5kO8?A~K-s-sC;9j2jQoQ5M{@r*c zInVd0KhSUz^BxhsTDHt{D9SN?lEL?My?+%tiMi|)d{igvL2=#MI9_}?9jYM;D>L`Z z^LP=3%{(-TshvI3*MHlS&BE974Ij_T2Ue^vpQ#pYd^PtG^b z@A9EU{_1q|UMHWM0>}k$sXq>JiDUzB&$m}dXWlWa=mDf^Ry}o_&r*!70xn>ih};h8 zax@D01yecT=1l8R8t3JO-$v`pwmziLcbl|}ulp6<<s>PlD*#Y%%w(aOucy zK@0*9HO;!VCEqa)T&gjB_ej0AzI&s*y&RP(?Ry9XEbJ#C>MoL0W^{gTti7eP3=68P<||LZ(e0ostI zV}wL|C34;-bUD-SYvQOOZpWcqwNHPifhInZ z9(TSFetgpwxqh;YbSzAk*E|S%Jhp`}_!6 z%-*j0Y#!_xxkmqawh>LhFHmldf=-Qi4Qgm;)qgYbIBZKLbH7$%Ju|KuU(jl>&4$9g zt?UCf*liy5XL{GEm1;FPBLHb5GPiC~u3e;y2^R-wLT9w{oiIwOj0eY4wGfL-g-aKUiR*!Sd{EPJT@~=Zl1K~ zH?s9SULL)*ZW^RByqY+dTSNo`9?%Yxk7G#~zWhq_w!K zbuQ&Q8UK)S9V1CedmETOD=O2wE3n=2{$jp%lpFN!$oVz>-38$O_cR+TUrwyP*=FA` zj-Kggiq$54Pln07)pVZ%E@&m0)2xXmzWt7pEV>c0)5w-jU;N4gxJ;(4iurilY{+W& zCEKddfJ5H4fyb#ZxclJOL;_L-6kz2+vk5TEo9c6u$L- zB{VZzl%Rcx0u32XntI{E;2u-DyTqhyOAn9I-LN%(%AVh0jO@6d-Q3@Zximbkx4|jR z-^~20JmlfnY_=-lZT&u-1$5l~^re`%km%8Z38zb?{J9?j!b}aw%UbY_VJ#|QP*vsd zC#79xMg<|B4kW`UK6`@48_ug!0)N;UM+WnIdvwa)i_)P>-fDGykM+XvyP9 z+VznqKIP%$PO4%g{nZNblMX|RS2t@3m(pTAHxPo`j?Fh_Ab@@PKKk7P!aIqqEO6A3 z=Uj|nyk;Ty$cpQ_J;hx@f421M;dpBl(E4k0W5>`n%Hy?fCjS@3;DuyX1J^0L=0!q) z*w4*^Bh_*c;{__Gh>bHDIMBKCx?yB_a6~rPv zwP9q|Ciu=2vq2P)sQX#TROd><<=k&FT9`+mNfE-mv-wEX49m{W4 zw_vH8iBP;&GBzv43jCJOdL*M|@_p0Mi{V27r1c&j+;~Z1JTGp?`HII&^Df?rs4TWT zUA^X>&t&6GOj%CUk1!?^&FBahyXQ$)!nb3=jU7MW))$|{MnvfldMF~jNeMk5pdcVc=^$NNLhmggAfO;bN(dwbq?eFT zLx4bX800yaWRGWMC@Z1t1^g6 z*UYFLJ~Y00?A1Uv%y`e`QD2I&yVFxwP?~RtleP-?Xy~ zS(md4So|7-SMHRWzK7}j(inBxEcC+FbvX=ZMff<4`^Y?h*G#n`KNsUZlqtCrT2c^p z|D-~9o8uE+dA{TWsEU&H(ZyJmIkap@JgmF|EQ zKB0xG!Kwi1rQ}v#*I66pPItQ(xq-eLmN^QZ2V7|iAK-uQa19;8!25XnLVUEMdBWj> zj!V;2agOa)n$=VatO_JGZ+~m+y4RMfFM>7gDD(VT<&$qm)1GO(lx1wy!71}}lc^KF zoZ!~n(6sC}l%gNT-QfdbEL7?6Gjq8y-0rKqof+~Id}Bh%@1U3IaNV0IWB~7^^tkQb z>+j7m(2?8rmv35`vSHpJcQ8$%H`}piV?{d?k0@6%55AV<)U@F>g5wROjNSYo1=72f z%{$JdW(wcMLe|yRI(UWBYVj4i;7GSNTq+mtYe_CawMNV!;yeLIWgbXyM~n^_TZP)D zwSn&NGSN70c0dz6Y`q4O?`{)-FG57+$&+MF}uueC@SvybtVSP=ig|N&u zeGevKlUu*hw%Lx6^PL=4I&n<|V#R?E^;GWplkdBhCP4Q{tF~iw1BmHJ-P`#T2OIJL;?z%RUU^&iKspr~vTJyplKQvWUA2%dNLYdhzxg zY%)5gkx+(v0Q1p@WI+$c{V;CDH#44_S-$;4e0)L=m<)7U%3;D5k4!X{Cb}(Cq=sNk zxm2lKV?(Zj&n?~2_P|deBQ$73MF8N(aOa*U*SvT=i-mrJD9FNVeLHCK4tj4ZR(AbO zHnW@r$B)2rz(`}q;po!#TRxhXcpRw`woBG+!^afH8YTe5wrc4aw*hO0ZhJop-FLzS zX{?jCi=30II<||f8XLDk?2=oEXPC1qQZlf`vzO?O`Flj4vmQlbMD55x->&>^XHUA~ zSDM`m3BIPW?jLw8S(~vT4|plnkn-};Gq26a4@CsM(;gcwcVRsCnCALHlw6?a*Ey=e zL_3g3nho9}{*xV?Kg9pSG+p(ZAvT6K8|57gu~)q@1}R!iX{d{|z3XLv-^T@@9ycFu z@_n&GUb{}wH!k}u9i1~*vReQaScP_z`LGJL#D-a-^Idzt8?5uRH8w41!v-xwNrJrm zhC%6c=LB_|Q=wh~BQ3Q3O^)B$mC+KSjBmM#?4nJe3HQ1FY-~6qtt>OmpUF=CZw6WP z8$Kn1OTIm_V|raMNB3u{(f+K1JTHInW>3CvnY>50vB=k)#c-9@=;z5s*wMfSV z!UpXXkAHB_$A(PXSYH#Ou;J(b{CUpM_q#caaHYWN@>O9<&?)jw|w&HIdUIM&Vj9jW-Ip#&Ks_Ocm# zFIzp?hs>XMJ^YnN3#so;C0*H*5OTh6Bc`InS25eSRd;`RU~j)REK;$*b|baoZV<_JNmy?LT&`}KX%{tsK;qf4lR zFXA2VHj|hL^}^^DQ3i{bhv9=cZydM;#X6u^ZqnKcZC~99L1v{ZC~y*m=Q)JdA=qU{ zZa8un4?h3LYdVEp>Fn#!oX~D`s*9gBX25#-ic&1YvfO~^aAu0vkip4e35?vAC6ZO1 z1N7+%P`bu^=5=l;S?$3O$B%N-xUfv>|L3k^0y&h{^mSUomg@E%yp-1D1q0YH z9E!uyO!`|m-ljOSNM65X+5N=@CUhT{$6{Jho+X8RHufBy^7`zoXrT*|8{>Uc`|T-% zVWJMYahcQQz|MJ+L1yNvRZgQ02iT?!z6QzxZ{f`|zd0Oddrru1TNj`T3_Z~K4BzU4 zay$|gM`ixt0_+04rcwg8yVk58eZKnodBGfSJE_>^4y45+O_x+UC&ylx0W}MG0bsL9 z6Ula~AJiPLA+0WuJElsq+?$813R@|VcXwZ2XJ0Mb&@Zt(IS`0!-%f^kVaoQ6a=ouY z{_N*_y!}X#H|mCsL|R}bB*rUd>IwJ9PY)c?kC`;oo190^I+6ZKvSoVzFmL+!RL9WC^fZ%cD-cJ5x{k}a=-Q35yZ+*Vp>F=zLIsftp4 z4Q{Cxl^uIu{1bH-SoRF{A_sfjL&1@;r1BrD!bolh^%h7Qw?%3e>VsfeDV>Mp<5HEv z+St9zkf=pR*|kZ`$n!6RlSmfrj6b2(HFXiNYRgNE5oZ7a*CySrm5t)nQ|FLOuU8@= z=*S!S_6Db#6X@-stMsu&BKMOarMSm-^<@^JcJneh1LJ@?+L8D82F_&wGyT^Uz55Oz zI6eAuF;msrhbU)1vGN65b|HGT(-Hs;qp6cn^VeN=Aqb_Yw=k|MCF!~AdZdO{^)h~4 zBa4efx;RR=lt=!)8K8hjtbM)$iTh*~IkOr1AW?TvudlrJHh|^v_~A(#Jx^qTGex~k zv}8QK90hF8TM1M0mVYaX#d4JR?4AYy`RK~=O~(BP<;;A&!-d~ds~$~*(09ol9rs6QH&I}}StpMUa&2}%pHs-P zLvBzPZIW5N$q=oVWHp8F>@#|ia(+81Hw;DXlgbTUPtc24c=LaXKo(@mF~9vn+ke z!3-S?M@^-l}YmPOeCEVWE#AAvVCJN7OuR2E*O`N zTyiwG3_JuVyX~dLmxRZe?IR;-r%sbLSJVYRl}k$^*5c$uFCzL_Z;d;gl$zCuGXfTO zMq}Zq*DJZ$e!~4-ALU~hQF+hp*%1?9&RF%(ufYD$VW>lviJCCvq71T2&y|R}?W9`; zC-gd3=@tRdS}_$~<&3&Yq1#4W6oU;LE!A%Da7W$b+8AbcONAxdL!LcPzcG#He$rV$ zR_l63QA%_YnGkkWE6w>ZpU%v4P>-ZPa`j9Gr!<`A>=QwVc&R{-fI81?f71}MXxCl@ z;s4MICIL|Y1Kkq;^gY)SGU7RZp#`B!yHZPuX3u`;gTw5JSYHG0y&0)gO4X1TQ|Ev* z-ECQXxpM_wyxO4OYgJ(y?IdJd%b?hZj_E+3M*o5g@?~etne)z2(Uw>7DlEy)6ZLw> z`M@|FUs^>YKU(@0oLvbT7Q&kS^p7CXxAavg9y@DD1T&2bXc$+&Qq;lFp)K-wve!=f zuA^z{Rn1)A{*dWrr;ByRi*m7g9C$fKU5-Q2Ulak#VuAG6MlXb41EwhDA>;ZpnbyV$ zL&W_LC4ZRsu6Bu-EI)bixIsj5ugMS5m%>q!=R4r^1bsoq(wB}gt>I&)61Oraz3^1^ z+XsXN#|B%wSXSdvQ~0__Vx^|Q;VVtdY4>cp>f9gVo+%*GYv@47>-ON$(^)NV@(WxF&q4CXMX4QhzA zM%8lL zrFSdM7dNpV5pon@u~T~BV8;P9s~+Gcwl9V5`BC`+DwrM&DM@}j2A;n6h`3{6JQPq( zFC9WWxkegm=!L2j57&L)du2aza@^ESdaZ;VjCItz(UJrexSsj-O}yY5OwKYowW7&v zpJ@N}y+Y^w7R{?l+~N;EPmZ(^yPdzQs=^=wd9I&y-3&;jKeXyU_&nI4m!e5a<|y%+ zx(%smd=gwMp)KE=6RgEIuAE0sqYy54lnNB)Z8sQsu<`$v4yA7S=??4y2h4{ zZ}pvVQV&|FXu{DVEpu9&`<|u>)u={1JN;Dz?bj&Ud4%fVmHyTQyM|G2s7Qyr+PEKw z1urdCwp2ET)J{)Z$RB=WcC9wgL7`()=al<${E}__4)UWut2=eVWwDx8fc>bs9`I#x zrBRsPWubFZk``TqNjeH$#xzEGq5x82ruJ!gVn)DMHTFBt1qR5r?0G4wU&^Pw6EGXY zZTOM${nt>XkgYJ<1LDXhH;82k+^efW7yT4nd?RN<5LwZL8W4Th)dB`4>YcvN3Xrj^ z2=L|-_bH_W4}9fo^<|gY-XuI7oC>OPSE}Y@z(-!x_U#wjtFN%04Wr#yfyTHTfBb6D z{k*qhxi=|$nIwR5=F?YODGT8rJSWb^FT~&faH)1kh|~r`;T(_jGVTSuWgu=u|n4?Aw3!7X?<)ma60B2glc*@ui=3JUn_ot;?MD2G9p1`{Q*q9XY*}>_W*I+M#mDl z-oMNUgUCQPOid7Gii*&Wa{ZDPxF?Xm60&&{=d9KaoW>Y^aFcg+uR(aDocjkpT!K9> zLA~}t?sit1AH8fm6W|@PimD{%Obx!&-!FqNvQ;PiqU$Jf|`@5Kb!+AXChEps-+29^hAPd?3pEjj(oaWPdD0D8hxQ{ z{d}RPliC$%&cQpW2h`>+n;;Sww@2XgY`wK?QkrhKJ84G@PsmxR3NR%;O7>GSI&+g8 zze>-W(kc?9XC?60)1BiH&vx~HRVC)hUHB`)!6r0Cs`PD_F75#Nt_Jm#Gjz8CY+*iD z(fyGO;P4h$S6TdWld&$_Z{}<0L>0XAnrjqyVD+Zh!!V5$7!ftrS$vd&Z1ykCgmfI zdi)q%L0%JY1y};8J)(Q?=xM0{H}}L0;15Q-jY-do+4ZmHZibSC+o_Rd!K2XqeRKD< zv#*^yJw^)D@EHX~cjbLnzk9g-_ynI1>rUJb_#Q?oxinn~^POj})dKR}qGP$kNUmKngTEyCq?js9EY+z8|I@vtXOOQCHWt^@7>S^TRc zu+$n(-mjJs?dBlg?EGb2q4-J4X9}vg!6ka6px%Cn9F4g6)tztl2ZVX{Sz#1o-P`f<`72H>eV-dtEI$H3^#ci~on&D`=G2ek7C17rSU#osLf&k);BJ&SxR zGPl<|#P#lINs2)Z?=&->j}eRoCJcSGBZu3aeilcM%gmlfB`K_Y11Iq%gzhtS;SK27 zB>_QU#x2fYm0P6SIu5)(DpCdx-&>LKO znp51KJGMP0H!d3&{tXfmj7z})v$F7LU1LU(Vw{}v=*bg5MY`j%q*xE&1ah_#rk=vx z=DKd>2jc#~e_wKk*eO)6GgtaNAR5#Kp zgdLMJh%YDZ^PiWHE?*AxK}(5J#lu=G{Kv<;T_O4v-dPn*F~g}_N*EAm(%oFS z^Ngo0`Jg8N3gDDQe_cW)$*rI%BU*@&6h$gtdl z%R&K4U~&*j5_$Nn=YYSVDb2#j+-)jtY0Tn|L%qz37%utlU`~yZTchidScls47Rs>% z#$lDan$n@9Tl%RY@LY~^sH#FK#5M);%C*~Yp`hnIbMW|6pL!ODg1ka;mBJ!l{To%q zgNvFatJC@oo3uQ^lMXDAyM*2}%WcFvk9M+|f!MqG_ek-myi3*8avj0ye0d&FSyqr~ z^@|#)vx42;<5}N)Hndkn<3wXm&i4LA!D>iyUC7o5aYAnU5#v?%T z#$hCLF8|IWfaXKCw{j%Az@dfn2;a6G0;4$`<=*T zZk&SZ0;^A!!je@dH;Sl5fA)$M6UQ1nWtEqiM(ZJ0md(^{7|+JAFby3-c4)NdFhrlg z$u+QC>0p*p6~zWbzVCgSeZsG-WQg^cF72Qwe738)!%j0J2>rNF;#P_i2Q#6n>fkem zi6VQx*HQO{-Q~xCa3k|R$nyam*aF1WcygpSzS6ms8g{yL{MAZ_uDo2|Kc20LET(XH ztS9f;$`rhdEB$jN;mkn(!W%o!_F+)1zYq9;g zbpa$kNe3~9;c$NhaIz@;ATj+?k(MG z@wvI5PGWcxuvKz*LOe#KWLv9O7Q}Fm-YtvegoM2GNHW3#M)s47GQz9NeJo`>kbSgt zQgBdH`*Z3xHU=(a*cRO@wURizlkvAkD=Y<|!trdR@r;fSAP#}95+51g?yy^i)FKPum%a{~`eCHERqafTsUkbD zm=^kY7k+a?ut|xP=AwC%JL{(Z!|ZHF&J;&J{t%VLwA#B5GY*h{xr{b@9;{j+9(s7` zssA|;Z;X@!;#@HzHA%dP_G=gikk-%7iS7B;)1nSPCOjbWmXwp9jO(d2%-@KGaa zIxSCYA(wEc^%6(v#wdu70kHB4Y0Qjp7&}u<$E9PPkngDtvFT zo&&rzoYEBdBkPG<&dCn;zOrT~l|Hp{q;wQ=yt@;U6mMnH6c}RE(go-=y736sKjB9* z)7PLb?T-aq3_=FzjPBT8P{7_FkZ#^s>`O6R$tbdma!0mvS!c{G! z=X%qjms3(L+)xX%!g zMuN(*)1#}LXVII1HQ1@6)7bh!we3^$URHPM{}xJH-)6bLePFv_4qm|!kDQ^L)gzB; zD1NIj$TB3Zdo`i9F$ARA?06>wRbas7E#Lt=sbrd51vj||trkt{=YT*U)jv|;N|fm; z^{y%cG6AeHgJ`fR-T6|OKr)UqZ_?tTC?TpExjyHdmclc$Tg0Ru?yjI;>M%z+1+Rkq z_R{a+DM%2r>t6YvTqm!FAM}WmTC80i4MZ;)IEd$$!zRq;+`6%S?-s7q-tIZKZhElW z6>*{tkYS{(xUY(HJY3F`JJ$W7sg@Dx9O@as#__6=JCp=A438SlqE>Yi8!||e^zA~9*RmYDjDR@S3)8q{!HT6L+(|1d z^|*!~PiF1&`?yC)WlIw_8XEE?>t4=S4dsynT1&g3l%`U3O@b11N#NzyM(m)w<~qQz z>qAT`cjN51F}Hzl3{T#8badctrKQh`8zf7nBLcn_xzr(%M1!{x_gTzedyg(oih%fY z2kr^0Nn^X(;CmSX1H)qvD+84P1nHC2KeWSMZHXB_Uw(F;KX&&$HQCr@AgrTWzUZ~T zM!Ll$Ft!qO^ua!g$GZ;hg?4SL16!+^rkN!SMEB#_Hg7C$NbGxNm=vCLP&{%4gY#@_ z220ai z7wqR1_BN|Zb{OD$T21I({p!hr`(L zgJCZ)tHG`L#9GR$VzVwxQ?@;cI|P>Nu*%kU_n45-Ss3n45vazA* z;g$p49fNkg+@8m7N@slrwH0CSPyoYE7HY7=V&}8sLPQ^=`Bny=TH1 z14whw7D(@afZ^6|G+*vMj)bcrRf^=>M^+7IP7mkVuTQrWD&pjPMw(}k79Q-DFDl_C zS>hlF&{xf4wmAPx@(HQ;y>R#W(u#)-hx`kzpmmf>Rp*sWPcshBUYacyS9;U8sLcio z71t&TZXU{_ym6-B4{xs$?$%d;LuBF-haAtyC)mD_?2D}Gmy${w^<#`3{cBCL0Z8s$ zhKClyo%C2uFa&A6Ht0XZUhz(~+jyS0^2nO_9((B+f zsjAzrOPFb$Af&dcrAvj}d@FJ@IOy`7n0RmEo`1_xEq;50h2ewMo} z59^lRr>9IlsK_AT4dIsSUe@ewbL+NO&xAOuZ{;YJ+}ZOw%nQ0~Y^28@_}C!Ghwe_~ z)kb5OGi33RjGX48rH-7h9~M0IZo9ld>-c_&qjBVbaE6hfg=G6xmj}-li!{ZXo#2=4`KZa{=0d_sDhN z%i2AL0E68x4W#^;6nRiY;ajB-(^|fx{ASyNWT*0uaj}+T+vZ+U>(mlE_p(+4PlXN^V{6Q= z8MwXU|I%;}Wmh6x4v*tIa*~SMSEH8Q`V`0)*OZs7cDy2#1Y$(r+krkQamQ%Zf=CR< zkf%Du_OpdnXD_yt1=>HH|m5QAKO5r@viaFQ^GD}PmODO^1ND7 zvwE7P#NFA=P}9Q{4Q3W-!|6W{FLN+WSp{X|0~-@06Y_GZ3+-02pP9ar6MX>szIw1o zyq&E);-XJv0LsYGg1`!E@fuDX9n@$@o=0g&g{xV%c`N(6g3(1H4NT`}1VUh?S@gx; zZB1$_Q0XpqGeaHz)Y1IjhnpiCSfAmZNtA_{(p4Y%`Yn?vPwGZ2bi7jOeyJ0SAw5SZ z-Kg@mwJ62!(aPJmEVstf#Hatyoi82e$+W1kbbN(dbV4~1cxItdGfl`R|m zp_FJQ{@}vhRZI3)W7`aB=)$1b@YwuU=%&nZ|L*Lw9_{`a!0%WUq)@j=rQ2}f@ocl> z*p<1Q>-Z5f?PHTyuUl+Ju&QIXGE4MFT2P2<+ zKK`3sKqWq02QALw1McjHzNF<1`AjVX#S!;%+T0U}mcfq_yj`Jg@}?v=xxR>30}%8q zp_xlKf8Fa^BPAqyp=WCm>4R(tXfwf8R)4?&e~2V6su-5U5B9xwdT-T0)^%?`G{PQr zDsKGfiQhBzAAx+e;iS14L{LD78iKGC+{BRF=6A&Yv`eRdKcBH>NZD=UIz+8y00D&d zqeQqhDH8X)w1xjtt%L?yU17`JA;hCS;)smFy(z}#{W!l`AaN2csv}X_x_M9CPbXa_ zbE)i#8KsY_-}&rq&F1S$d-oS4txk+%*S-6J6J<}0Jqj!vso6Z)VxIg#^8%O=FSV*S zWQy(r3sdeoR3CV}CMe zz?AiM*C{)*GN2Bizklt60@x{cN!jg4$h?Peo^$Atpj(H2f7{c?XwxQbHy2dBO>~mW zEFwe2n^;}GUI-a2dCQwJ8`bZwJ3>>6+MI5o4;HPlo3aPI`>+8aR-hysk5_98Hg|#O zi1l}-Zmg+3mn0J!Rk`0tj&-QITs5L7xP~PLpVhV*3Q)M| z6>zLYKS-X3Ug;?00ngZ`RcPW`A`6!94R_u$VqGikX=@d|a+UIsyLf^1Z`tdTuvnlO z1DAww&A`fRQi%x>L$sKI3e+lq%nAf52f71sDeN(CLzfW9jmRu_LXVCzfkhtLzea|k zf`bl5`YqZbW)D;})3-k|Cp0BtbP6BEb>E;s#6ByLcv&`2H-&Z*7rOey=J1&P?Wx$3 z55WZlg*NqT8|bvB4nWv&n^=z2!C}b>h7y~4GQ0b&F7T-FYQvVO5|?!xR~rSItUtc} zl^XV6336jh5~xND5DtP5Q(z}~i*~TB(ZT%@^^*lexzszko3fPYob7mkA&#(x?>{)? z4Ol(Rb-ZM(v@pW-qLbx|+{t(n^BI3SBY`&W6T(EDj8&+t<~lG%wRF9o?rqs>It01) zGuc?+_9!xgrJf#kCKnr?CFeV`Gdfs>(rTJsrajr~X&TWhe)*x67{4C!3P?R=dE0XY z9JpN8FTBSFv+g>>n`b~PF!2478cYvs5+!{tlvfJHC_m4yeAMEQ^Tv2-;uK)WNY_k_ z0~*E4`E)|hW0*KIi=6S_6($yK1}l^MZ62Pm56%i2?4~M(n4erAKJ7x{MJ|L4Xz;OQ zm2ngUEvu-fYkn~jb-gJr5lFwv+Ma$qut%vk8Cx976dtz0rJQ<;1F)pnx-J*@T8 zaTa$O-HMLB*z*9fxT-?K(zNdT%56d__1#tOw2DnY_HGXC3?ZxJTP&qTQy@h(LOq=` z!dOqLvB?TH&}pUD`JM`kaF(z2gcZ@y)p=$~bZFs~udIXjlI!rhrqBTuTq8-EWA>7f z34w;EKybSyOBt1veS#H49Jk9a=Kdb-I)zU`(a5uuM)^w-Lx{^9gIR<~9=Pd7F- zJYSr>5uQ1);W6^8Vd?!1gXus?g(U2g8Aif+McckmrB9|7fFFwi$EeTU__Z-6~|7B>^G;&z-PqSkIS z(T;azILm=LziX>Hc{rJ_@`OzO!9jo3`Kb}GA)~^1DAjG;E0C{k(K5HE0Nb4BBG>=N zw&@{WU$u1RIZQ}5ylx29S-kxAqLOqvQ3sPV2E8zy*7ZrCVyU`N>d(6H_x+jBk82)ndBb7WeOO{JmAv z1)nq8hx8*>9t+PZ0$As0kNU1=YReNo(m7mBwZn#R%Z}pPNlLRpAamqdPvT8RL4By>sIF1pjuI!fG7Nnw!boI6$DV+TzT&SO5F|KM4%wDyIQgI_6s6%ez_3WKq>4 zS(CO*MBq%UU4USVO58U$<*8R0)L`*HD)PUf4gbE)N4}rXg+Q*p@!wv)ktiERrC0!M z-(;W#Cw~3$Pfz$0YejOn($kuJZclSbQ{g2AXUKBep6^Pov1ALM5LqvD*-_aHWXpTB zzXD1SPxE|Za?W{C;eX_ASpi%HsR=R-K$X74Ux=F~NB6-hVVgH_z#$ z;3rfNixOS9V|rRE5YQtL4y+V7(;A}Qj5R@eduf0$d^$;GaH>j(4K`)x%xB8<>um%h zR4Rj>c+7|?+ZbS*KXo79e(E~?QJFb%m&!3R;t8vvPESxdR@Tf1hHZtXzE{h7FMP}O zKZZn5+j^)tnhMO*=%Gs6Jwmu_C035>=B3|C-F&Iia?S_C==l@bLhV=}wPQ)S64&_4 zRcO{UW2!~|A0&x?ISHdY6=)yLM6>0y>T0U8Y~rJn0aj*@mPRh-#&47ghri zASl)t=~=%jha}`^-Bt^IGF2boO8;y35IWX9h+Q1oGrC0)QakB`0N~p0Eo=~@4P5I$ z6V=6WnI@Q4hKfgV1&U=x%2NB+!dOKU)0)QFgfkr|)Ect!J98h@Vvj*t*KduduFJt2 z-%}rJyi5JNoP;{uR^6{;lqvr2?KWWzZtollOKzV(#p2RCv+&$B?kN zqc*CDEU_jyH^xoUoBCwKU&@K-WxYxXK;^Di1F*g#1b4<|T|CU&xHdh6ik^DTY(M|% zIrlGK0$`=m6=lNON9W^VM#z|aNTuu%C zb;a~w>>4U{%t7|gtlt7f|Hj+Q4QTi7|B5sEmn+o;(TM*&5g}N3&hI&mtUu9b_PylV zE5D52KOYkx{6vm@ID_KXoP*!^k4N^iDj+pig$k3(pt4oRtB>1z2R))pul}}27j9i( z;U_Qu#KbM-O2kP`lumuwN&Ti{%XsIvxW-dqKIeAW;B}l0oJA5(yX&bO)QNI5iiU3G zc6mC}@7r5_{PQbP|B&v=F^&(-B^@9m+BN}9%)7rG0^M*G)ehlI`JsP!devR$MR1-{ z=3*`n0-BQk+cUlv_F96k`M}&8iu(t9=e)ovx#>*rpwrl{<~`6>@!ue@8fRjfgg;31 z_Rqe5R74m-oEIroDf#MDF~|nzvh^b$L8 z8!1dI)0NI=%N$Y3H%f1M0U63t`XUsXiauaVHHYRbO}JYd6&61-_%D`vKdk+B<=Bry zyhGU2fvn|c&T-&7Htv|z-XXo^ISwY4NMQrtx&Prpjsw((;R$gA7Y%N~BHPvb__|m^ zKJ%ULI_x@p_v9ru0{igHG_O98+unlr=f9ssN3T##>bbYHWTh=)SSQml_%X=uTRcU1 zWt@6Ay7bP!Tw_eVMtXaaAayZr|0DR(FLUYdk72BQiBzDX(X>dd{clb1GQSoT>~v z?cb$kzuY8`lgj2SKTn$hgvK_P{hI~wTmEmJBozT#bn)Kr2z{r*oNrLMrJUEF`(F9o za|s)za!XV1eD?os6Cq(#BC7L?#3{AkUVg$%<+x^EUig*g^)JL&>G_}d&@NSb_TOIq zf7$u})8U^_?f=6kTxyCsmm(FiKYb|ey|0kfWSuW;+B!~0C*Yzb#Qs~0g8Y$~WNQSq z*K*OVs+2M<3ac2cCVQc4KAbU5MUM_t=h4u!Pc1r02q|}d;%wnAGj58XmBroqw`k&* zSs%l$drL>dFQ#V5GumIudC>&RHWd7};-F$ddo1xv2>+=iOr3?*0!Pb!BNKNyFsb&EEFkHjL$F-nR$6v;T7AkMne? zqLtA^>5GFwiRr%uW>cr@|IO|Wpl1_F%P}5kOZvUrRspb=QU~`gqw&m7P;0AeC7{ke zpy}OzTOL?W|4&1z^F9gjm9%I5SJrCg%fIQ_&u{6P%*5F${nkHR{_>XUKfc|sWBcvp zS~IHuGveiuX8f%keWN3%}UQ-yi?a5C6*t|IdH_XQ=a8y1Pn~qmp=103B zDTf5D1FR@%Awl_s#3pPuX`kh;UyMsv3~B@`Z_p~c;ZO|~gZtTolCwMMt5hn=lp+!1 zQRe`!@gBz8a8c=w0YcIhb}TFVJzKoE{3zZABVlt?%Sw)|7N?B1OA7!rubI0EK)gHo zmDruvdeJaeWp2`Qp&S{&eq@WL9>PZo+{$~RIQ$b_nB%|W)ETc=s80Iy9McN=S;tP5 zm247vh?8KMwv)!J!Fuk{V_E4!G%u#qAvd&ZCW!J-nV$->#kXMhS6AP*iw@)ZvfQN( zA@x*+Z}yAh8jh(PS1XNTIMJ18P5KXqlIMEHP*Ehyz|24@{&^#!%mA6(+gzJ^M=SHQ z3{0=^(Kc~v%N_y9>Xorg>4Scr-TfU{^9DG~`JG<6($n7MNytg6FIre;%A=Fw9t1*< zB}X^arWVF4Os`Lr+0wHKRYx$&-GKTotj`!vQtJvF=&s@Gh?b@eZmyU9bB|J8d(n_Y zjq9j}Q32LM#DxhrI7Ul(>26AcR zH7h7Zvin@sNDjnK4FjpkKR-+_%B|7qIQhWg$fs?uR`6uyI{TNv)v%xn`=P&Tc^rtf zYO!pGPRVnP`(`dvtM_a-Qq67M4$C-qvYTc(t?WHL>b0myM(2pm;{hc+B|6s?x{s^q z&nRJ+d1}^E1tZ_d60-@B7+xA@wz0~Tn=E~iOp72F^Mv0k5SNTl` zB%H{3eau}xScu==9mDUT>+W0}rrO})sPY!mZO1nWACt7*RwB^Jkpo;9hVbZoq zrakc->wwtiz=-SiB>clicJm`YnE%5nJ_;sYBRuiLr}$70r(LrZZM$K^A9{RPvbI7! z2D#ROdg3z5qvbVk(R$--2oaqAZO3BkE{A3qOn15MQ(R17HpA}S?}n*6TQ?J?BAApj z#mZ7Ea+gLl`r#CZO{E`&{HRlmoqJaUFLIw5{p&J~ptb51wR5a`HF=YR4qfs5kFWft z`&Vyx0e{R5wJS8|*1`*JjJEBuUAVnBEVF6h+tOz70I!dKOkPNsPMw;;*nHaiu4(PZHihw>`cvFphhb4Xpuy3L zE1Zs7TV;H_Y3jTIUmU=B8Fs}^O$*bY8oEZaz$~IO|7N z?cP}$Z0X-eAZI_WZTr(+6a+w44feOL6i#!#QWAWhaj{sT!tHQe0*4vhwuMCJN5LCDW?<0Qh~c)df6(ean1HfjFIsCm@&PTI-l^ zje`$z6LJRM6{<@K{z_w~zR_LKxG_jW$6X{!%a}MD!Yx>5ubDDj<>$kOwy#!B=d|F+ zP&)E|*(T5MB#!f*Vc&^@nZ0Iqvb|OUhWnQ0w6`%=hD1>Du|i<-v7GN)og@^K=GcU_ z!IQzDs@bT5E;B7ua=@{uvIem-dkNiTH4qEWWxTN;Kva}@!@g1Dzk~l{*JBBOi~AeKTiwX7;NHTg}}&qU%=%bAdS{7) z{e`TvbC{FcJw6b2bjqzVQ_xr>U~i6g>FSuWW!}dy5uA=_S?FM@FjIYoqgw-ePN>mN z`p8?U6k+qebDw8?cAdSE+46oZyAGL;odV2)bh4!7HAp^t_}%S}M&cWT9=(X@z>qR6 zZu$0Ga;wpIa0~Fx0KENJz1i6NqMQy!&{3mNQ)b9T(GiWT7*;`Q)@sxZd zmx=j44wQsT)=ZGkXG?AB;;n)@HC$V-*)XJjL0{$!@Q(y$Vb`4~Q$}#Lj74a_R zeJnU4obyZjz$N?~W;3TQjB#-UH0S((lO5XNT-?gcP)F zPnXEraCkB(2yCr4&(fveKvk$0cx6*@C$Dp?dSjwpFt<_s88qaTs1FKjMtkR)Ek#qVPz0$evIiMQB}WyYH^k1IQ_BqM6oyaP%+l;ugJ zZyD0M_ldb<5%Z1=dYfT3A8>mHRS)&=esA5FN*c~Jlok3-5bDgu=U-LkhO_0FX`I_> z#YSFcOOy6=_=ZZGXTEY==%Ffz#){e>eMgu%aOUmJ68CXow8kSSud2?8KfVH;mHor? zU0q!Zdgapl8z8pu8G#lW~zLE&ABl6Pv>QZZLn z%b4b`=`3n6`Q4w1x6i(g{q~6!DcONq;q;f8ZO^N8I2HXtHu(Qy?>(cMYP)XXTTu`Y zP!LeMN)eDEy%!r&0thJ5Md`hVnuv&~NRcXpUP28$v;YAV=^X-u5;}wyAV8#l+vgka zdEav$$2fn_kLO=9cCz=r>RQ*FbFJlcKV6e-REpai~PZ8*3oU0VhU5dYF)M|@jlAgX7 zO2t#6ijUDMn8Q;A_2S)O;OcN=_@B;i+RV!lvR>XDc9 zzm8}BZ5-}A;nJkF8QScv2_#=1;F`-QB}a|r*hH}S7&}J!<$Xqj=n;N->W<%o&e{@Z ziXJ6nu;EMH=`K{$b(+$$z60U{WlS;)q@>;9@9B>OB2@nlvM_V&PkUN&;enf-re2S_tEn`nIT> zvKkl!aZ_Hew9(U)q`X}Q1CzF<#R7jmJ8ZvdI)CD_+64m<-|_{?&3eiwSNAzai|P_R z_(cA;@M|vx7WIU#-xKpi%M}tp(l`M_GrwFmIj?7MZP=FQr7>yeH!I#;-@-)-MLd`N zj}ln{v+Mk@5P5y2-@?w}%jFXMivBAq8)MjWpW~nb-110^f{T-T5#SCsUlIp@A)gz% z>+PRi^!4zNnKftRUCKfCYECt2M#z7wB_}Q+&l%1Ye^^Tpr)bRC6XS+#F6{pl5i-A?Een#H*6E1f0j|w*lR1 z=HVnkapuxye)}&B>-`#z<((i4G+Q3L|2>}n^(puneMbzyMPiG3t=l8cB?pnKGy60J zM#K8qx`s--+aWF)xk#=hg(h!<;n{n;u!Vp5ru8DI1%WO^{P} zBme}m(UxmKsgAgnSt%Lhgs`KQT5P{t5M09H>cfb1i^0sIih9|1OJv7P>pWz`+hqC7 zqVKlbt4W6>U4bi1YdbPJs2mg)m23X) zVF66Nm%MEb_yZ4a{hr|S=r?nIOd+wOy*7+T8s>saIkq}}UZ%QHW|OQlCM_PUO7MDH zIV?%%eF*A>sh^$X^)?dahR-Br8=*QLi&_e;T&oN=(>+Px_7T=8Sh2V zlGQJVwCp1F8a;rq&v}!`k2Qd?yUsK`$?EO+!GFu((Q$UTcyF*~qJXvI*IYZk+g8{L z?;-BgR@Zzw<`zCO$ifl>>nXg`Ei>8Ftn8D5i!F)8s6DnqHuMG>@BP@_+jN<6eI>bj|7x7r4)T~s_N`V3s+<+ZBOnSSLLsw_q16=yFcY1#~LW~ z)HjtL@r$TMvPnHl!UpBFAMiKM@O)tggG)if%pyj2iq1_IhP{j&i|M(&lD_}jP8fXU zM#oTa>y-u$wjm?oZNmG@yTIX!TP}QMQaRP`7WIFvtN%t0ffaUT3UA8Ie!KmBv(f#G zkRM;qENgYr!)x!$Ai3YxMqPXD$HI$mEmy4Ul1yV4zOKV9?2I1wzBOfI+F z;78QZ(#lmSdi8%)>-j@;KCb!)6m|D#*UjzUUhU6it3Sx;S9cqczg`9Y9NhY;Nr8>+ z-%fsi?BK0G_2k~BO#GYl;9obpE(Bc75}~8`D?h99>ksUD)Ar!~|G~Kb>#NFR>TCDD zu6F-u`713M{Q%&6#D66<{>2(!;kq^mT>ZZ`xv#9zX{yTTV+5Pfy0lYQSy08@f9r6S ze}XG5-l@z@Kxu;dUZ+xC)BY|2!j#}I7I5o4SpdBcH>yb4=I3^=#{fWg(v?(;%~UYH$pZ5shr zinbPfIbj_P*${2{ncHpHIT>`^-Ip4$0U>SdY>=`qgiL|kjKjE~!p^%!^d zZ#>RaWagv$i|+wUVVR3YSx@KU@Re3OLrZ#@fkybDohO}X(+r$Jq!69W-3JT2T?nCM zSzeFd9oPLfb8U0iWaBq02x_O?Kmz|4aP4&d(Vhx6*$U03z(cF^U^4o6Wi-kxagsk;rin#tF5GZ|98hXC5gZCN7J_ z5I&xBX(p6JQ!RDX!%}4Y^kyKHv51!ZVFGlo?!K7h4Q3%DVMD3`Y=N`ZsAHH~m%N6D9I4qIi(f$XMIq&n;>jqNfw!`M)r}g7x>7fwxqnD zH$oWwlbq7qlGd|9Tg7AgV}#P-_rLNpDwiuBN3=?=OOF?s!40bVUx?^(bsaF&LKbY& zmzEkGmhoSxmK0l>8TcYmhZ3`S=Y4Si(ji#SNiZmQ;|Jt{n5%6V6u+T92*?XKT%lDwR{Ji2vop>Nvkuj8ST!2AsL>D49uUj~I-SRke6>y6YZpVR~K zR~W|}OTxbWgGMk8Qj=7spB7nCtRAJQf3T7EkIhtHs?W^fbu>6#91md<(tBl`bUhZg zhJ8LmAi^aYHr@odD4!|x_5S$#9B2XBsFFF1n-vwm_ZiG0d&DenvY8?<6Rt1O=ss*? zRA%@2_t+72)y_8Ouiy7EEzc!hd@it4?vCG=U@))sO-dc(G~OaWPw;)~KgS+@><&wZ z+&(68mUUAz-scj6S-9rWC0~zG|EnqbAP`+^=9JI#WZP#(*Vmhd-4lofxl6Z~@#;nOX=+Yxm_Y5ZEe;@wmD zqa9Vof;?3B-iueocGsosAzJ%n%{k@&nzqG z>e@d7>bZ(L0idLb+}FVu)ve3BNk7}eX}`=XXL(exmec>YH}$_hap_YRo1)a$FvV;` zvb^l&R0XvixMz-7Mv<2iqZEZp+|1m2xZq_GqpaHV`Nu@Soz$qhKk)ueC^dy~kJw+0 z@k9D&O%cw|o>W}_>yCCM#rdL9$y3Xx<{4Y57Ug7-R*Om#%zyo9Cg7`FeIgV(8OLuX z5GvdG7e9;Zor>>eJAXEF=)qqVbSjU5dwl)W-K_d|pT!)|*39kO68<{*AAk7cht*zX z`}?|_1L_>#{Lh2`tLy&L)qgzu|1r(3{bzFhZyoZV<@7&i2QXRwvw{3?9rB+IlNNIqIA1p@_~ksyyw{m1ty8}#Sj5<)C{SeP-UrA~hm79^7#N4A2}cEt z*i*v+m?v2GQs2h_g9NG@9MVXNnzl_b^0l5a%u362ZxT*#^s=T!}=OJ(>f$i}dfCqeqt65RtAB|7pwQ8YP+HHWnNQM65x4@__v7j4i0H`9> z_Dg-I^>VJ>M9d}1*x%OHe0VMOdk8^1}v0r zQ5vkzoI~3@4Y05DsDOXWUU|H$DA0Y0YX3sD)!;+D;%BNW_1mBSjC1tUi;P`yWjvb` zDCG!^9^*E*s4n9%Sml#{g1<7(a>UCK#%mQ7)N&)E5dd}-%zgRJ4o5uC#ZU@b_5>&R z-Bx;D-Dm%jS3Tnl_Q?IxS@JswukXt%93No7+f2_Oi!P5C7%t-OeVmu=h9_YS$J;0cwjtZT1V7 z#I%5(vl}_4-DYDLf3b7`&)E% zZy~FDR9B&48u2O6D5hBs#)jINVZTVKnFygj$ZolDbTVj2?QK$#p>s2s|TMP<^mIepJk{ z9?XgYjBCn_qIA@MmQ>H3=v5AD^YI(PR$I?Q>(pe&UJ-CWw|uTs=b6gZ$eC1h!0)~g z+s!M_N)I0D7<`*+^?Bao?eMRmjrw1~6=hfd9M!qlFI6N_#OvdAOLV^d{~*B+l9XNV zFNBBr=oh8-I3{tCo->uBlB9(BtP(+%yQjhda(5hWu1&U12OK=xdDEsBsATnrvFhW# zhCa{u`D+u%IIHu_>+>D@co9O9ROiS#c;k!o3Roj6oKZ?r*fVdvPMGuj(@$X*!qy|Q z_m{IAHG=iL7k|(BPN0LzDY?=hos2IEV@8|~9!Op_djL?PT$R+nr?PuAOY%>QjyV`@ zx1Q&Tt#a&lHn)fcVJx;vUwxi$bJ|ozsOC#v9djP%?tYm<%eA)K&gq~@^T_ZkC15_B zE>h63e?z#Va-F=eRbs|OkNPCuk# z;sB^+avF|1ghrf2n(v+^zg|w+G&BvcC2O)T7NB*i|Xg;M63#l$Z`>OLI!{TsajKL1R0~Z>e2nXA>o0k?U5wBlsA_0H3;p zAtNEq#;LaMpFPMK)N4PesFIx&CBQMnC@di2}be`bXHD$lcg6xQzjS81&+ zHoY=8T+^x4v;3vN-3gV`ZT08RpNq|Ala_`wg?Ei0@LLE2ptz%>b9Dr(^h7@(cL^5{ zf^X8nSZkIQeP>_C7$ugP^0=ajX=Z4jX*v8%u6~Rk4w6@TvQIKaozZ&=+cVzN>U8Jz z)-5le+>~9DE>fAgJ+T4YhK=c$^&~b06cu?5b5yUQfLcO>nmuv- zYpt3+=pjPrJFZG};Gem+{TKqDA&lL^ln{96J1brNF_Zk(BTA+<&BzA}5Y4@H<0dD2 z*_x-4{4XW8yQ?0v=Cr&|BOD}-E>9HoIt%6gp`ukk8=*e^Sbnk++wWaXS%#n>+7gHpX$OmY5@tOq8h*i-6k^M zk8ww9S6NIEoJnQ(Q=})aaz*dL8L+P7H5POdl7|W7Scody(`QCuG@Lvl=xx(x>=k3; z044oL0~yxa*PaG<4%>7k@3ZC_#TMlT)`{6exVsHc`JiX}QN?CxRgEMORd2_!n5T&r z8!`?}f(Y2Sx zHiW(n{4#n-jXe<{hE2Z?3GHrI=4YN(?&j-Hve|pmWzvWPiJ62_0in+4io!Kj4g8%7 z_Q*SIBH+ClN&7AX;yFaN4!t>T?=8SDkXPe(JrAu0#`&QPO4wqvoF8`H;N)~gJFZqw z)(`+dkLu3k2hgk*)G;++gmxJ1VsKdO6(#rGl5}s=QpvgPDz9 zo1^{Y)XJyxtoYIW(F{l;?RP2~WdJ6RnY5eTjeIGzNKRxIZX7O|Mmf`Tp2B^spXNfD z?SSsy;V#YV<%A)rKZAKMUy=MndmN>PGA1z9wTo z&e#*0K1A+iQ;moDZ!#}_c}nACP6!N!OUl#*wrTJKw0@ir1D3gR)z8kmf|Gpw<>fQe@JyRZ9qTQ_F)Yhx6K1*uF(iSyEKgjd{(J_N z`~8r8#Q3AX&Jb5JMqw-&0+f}FgSj-!^@OHa%O(g}+_p&CQUwHNTtCP{)1mmft%%Zk zF*CAIMnQwKXb_TO_-L6`pN)G@ z>4=ZhMX=Os%ifV&J6+ZUAUl#sYd3VHYpa?zTk)U#{OWqD`~h_cibf(x((1#a7%AVe z)Fp1dqA%fV5vDlSsB*=s3n0rqXk@f6_3;9LwyG)Oxntfq{D-R3n@Wh$`33$sK@H>n zEkY&!9V7Y!+r2&hjvj*o(+RV9FcH_ri6_Q2^=&1@bNAM-SH~JxCbO0tD(`|4E&SD=As>CbdaCq1W4o-* z2rBLL;oN1~4{>|fc*RBRl$5kp(e)sHaYv0K=4DNqi!t+tJLI$%yt`k6s{z_wak*Hm5)Cm?qHNlIC0H1qd=<^maNHP^kSMs6JWuRdc4ye~9u0qw-x z#9a7PPdaOc;2i^25C_zRINW)eYHQe*2Qf+ zz)}=6#!Vclx&Yd22wzWIM;lcTO_-r~`Lu=$^H;yn4`=8%H^{wH_fU6adg(B3j?wZn zkvbRWT2z^9BvrXv*x=9h(&naY(*nvv04f7J13QW0sbiKp?j`hmj^%U0)v-8DF|i7| zyUXW3-FJ|Bw`K8Ck9c(6myBF@YSugM_BOwY_nBMvCsABA8q>~UQgo%^J8wza#LS9K3v>vB`0WE#tV1WzUove!m`&? z011w1dTnCKkxb1j>|}ANuoL3B>1E)Or_<^%T8IT9C+U$yw6OgAyjA!iDqpoNOI>0~ z-tJ;V(O7Xj75pG~c@Ukh7Rm7qV9_W>@7x)X1^iUk3!7lkxPTE3qV)Fw1MEz;L|I-- zs|I72`ua7;D*N76OwAN`NH6#fjoe3;dkx4onq@*ip4r#mwA33Ya%||+v0_1oyepJ$ zA-|*O+g<%?Fo9LB?29MC4T7usHBU*D)_3Gx!;Nps`y?l31uUj?#XD^ec7owLr<3(F z61{!j#KYo5OnyyA3FB=O?z$8+FM>6Dphw(W-ozjY_U;{n@RbDB7GYUcgq?nIe;HsV|D>$y7x z0T6buzH>z`ow1>Xcj$>N2bYw~)MCkGCEpBfZN(8<(kCg_7U4JRzl7|IX}`pgERC8e zp(r6b2uFU~CQ*Ib*GYHF9JDx6U?H`bUnL52a1mSZBVM^E(0lC_6KU<*(f zujjImsA{P1ai}i3DpAO+t21W4|FWhbFBQGNYeVPv8^Q)Eg>7+QW@fSA%2&fx>t%-( zsWW%a>*Z;NKPUypiDfGu=N;O*O%{(COrJPd9VIR(a-w&@@+MjS;)FI;oy3A^3^|pz zXq-xKT!`?1)9hYmz&bl=9KETZ*S}491HKsAy9q{02FW4HgQm3843FL*oSIZm|u@+xkys1Hut|usd9dvN7uJKovQKq;7sN zoE_*vayosOL@frfKt0s-h}ooayI+>rgF74!ZoLlg-244me`*)e9){|eg4!o>D(4r_>0cg@2eKHq75ys*$@2Q zbYb804y-v}sp#{NrPCg)^o3G9(H?ua=M#FsxYmwhw?J~Jcn~`;T zw`q6YQ!2XJZHK&Ms=u{j0kP)1 zwr{D=sh!0jS1?ME0~8gCJrHTQ1A>{pb#ar|4@@y$pC27Vjhi(%b7-X)e2ba|!a`6ZM5nB-U{eM6XhgCAcaz1#%4g-qNBWRW{b^ z^%G$cxkv3X>L~!TF52`s)$_8P{;5i~X|X-Q$FV1jy)+To5qGO{Bc!PbfyuEjK0gUa zJK0^gA})0?j0`kU?IYG-n5%YN2>IAig*%U987&-VQ3UpZIAtwd*iq{3^}$(yc2^4B##e@!GO*vb(k*CR}>1wYJl zZEa;#XekkoPapATXP4EPd*i_kNo2#Kl%7LBsyl<>OU9a;AK{=yqDYfi(0Upz@8#oG zxM6ye)BxBV;c1;`Z&ONYey$vO9g#V9h@`zh_lUE8k8rA^9EDsLDYWP(uicl~b8RHQ z?mfxsYUgl#k_w3Xbu!$JuIlLOS^OH6Eq$34WT(HzqnY@*sbT0ij(nof;B)yQlaRT9 zGpFxQZO7LYF4J<={MDFwG@+$kOLWIXwtbI>I#J!LcqC z)4JSaG?z5Izr63eGA{3|Aww;Q*fYvVp39bW2;;vIE$&_#CAf&j#ptDd1t zm#>@o-UBFDfhDL3YB8&6v&dUkd_A&HNfk2T#VXh?#hznI5|f~P<^2!O0~R5CMW-ic zVd>5pIuvSyvuWg2Rmjfvbf|Mvx8h>#SkfSNvJrRum`TXYg*l#|-5E-%dYR=To{f<5 zGGX_6VsY(!XUsHRWiH+GtbEdbpx9>rXTQ*qnRm#caK0qDWQP%uj<_^>An{-~z9<)r z*4a2XI?j+h!8niGIT|)itdQXc597t980eN$Bs=od8#Q4rIrAX5eaT@lwUFZE!k-2b z$1^TbFUVT`b{Bp6y{jo_A=2}FFrEIp^;VRg7E{6m$nPYxUvxlibz$yMnpgd93{i$KX&^Nv+0HQ4=<7nu(?KG&dZgw|{_Vsz8sc_`8Xv zK9%f&6jV3-6X6!iRX=P_V~ocGJN>hN5DzrtmIrJ0NYmahzhNZ}h?uJ>@>V)zr+y@G z#~IwuUVRe*`hCm^o#3)GBp#R!e*~F04KGG4i+@*{+w$#ClrwoIro0zk!BGhb9?b!X zNp4E_dilU?WRqm^%;pSt57e<6GCcU`TR~^<+`~0giJXL8sst^_CH3Bb6SoEu?`JrX zN!XDrG;Cok+~65dN8~cH4`E+3szi-sf=M~j9E3(-6wVKdg0qm#l0gcuGa5(`Xn;s< zcY__(p2rF)sd9>IZp`9pGRc1u8~OIuq*FX-%ln#t3RBB?QlE%48o<0*vd0 zg}}ikF=2h^cp3skY}t27u-+RnK4Tde-rGCps3GfH-J>G1FThO{q0(MwTIyt9mA~G6 zb4-f~c6LD#Iap;({S5wUqiB;Zq6HQv03j8?Q`KWKQ$|`T<97Z&7*xvST!CYW&bg;w5d|aWe>Gy`|F{;SLgiDO7Ga_ z;X27Qk2l|}^Up$NxS(T(m*5w0WEv{hX7$USd6X5b%9jg_-l25p&3h-#CpV3dUQMT@ zehYN>yQrBORVhSno+R0j970r@2eg7I{&w#Q9x%~f>BdEmVV~_;U;}I#As>^sP$c1i zkP2~10(V`{JC z8P4sZC$&}tFZ%{1P&q^kLdAY?p2w#g)8u*4 zzCL4Of2qYyy^l^}N|B+-NV`eS`Lvtd5Uvr}qSN#*2}lK7CA zrhCIV*7ChQ8}C1GCL20(ISeHe*D}!Z*r@H*Z;x_qNz(KldZ1=4I&TfCwAS z*QGlkK+a5?Ig>7p6HO_e%ZHD-5SR2kqlP98q=*(aI(ghXr!tL%=f-zMk^J=^R$Q~2 zyg=OsIb|yx1=bGfkRvnoScn>`esIZV!t%J(Vd*Ao@sKyx;ivqlxX_~pi=*ns%J@m4 zkNRm~NUC|$5Rn~377v7eCrUR}1hWS|&O?TFwC%5B-wyia={Rk=>RSAE7<&CiRNW-c zPE>bzfv(ycczC$ZF$$AoosI|J`R?iRhWyK*>S0P%&xqYfPVd)7iyu9U4}yNzjgAc5lnRV9Taq~U-aUk-$tC@!?saE)Hj)!kd&x6p#&wFrX$)g) zc(m=mRVV4|yYt+V*WkjY7goKGkV>mDn_9tl_2FXU{Q<9OLdmNaPj?KxD4pVGC zDmA)#dX`rWpI;YIyo+=kErYEytFSvQrP3+I>m2Wko!)-hN!_nt^VI&#lsxHq+Q1B*2EFN(3+T^LpLmu%YD!EP6u> zae1sE2{xAW3Mj^xT5Nq*a?Iy^u}CDFDOrJ(RPw+W)*LStma1S~Z#t2mDRYXqe+QzV zr{wjc5N@Pk9~LW2({B@U`0p>Q zX%b{TSL%XQ&z-%t=|Rjl9|he!&}JzE*?X8{We@uwObgg~ywB)EVwfY(3bZ$kU7R1C zd-vQ06w?k{&y5)xJlZNeTKxFWpys$7V0lD1~i`DD&o*qF4u=B#~?`m zK0@12tk2_g#HLlQql=0`tH;|@ds5>uDtr)%eX~e_D#Y{ep;Acy2+de?OP=CbJQXMl zV(LT!_z1=^K%VA*UMw{j9&1r}_APa#(9%0tUsIF@%^VLOHY^8JKx{{shXf5v|{%$%|bwM+t5oO_tdpC(3f8wIn(Qb)dMOS3gzp%==5GrfA}b6 zuqj!>-t%r_rfh1xh&1xTK3%zfY>RywYmbYA0dZ0dL5x;R~oYrhiAtw*6FL)&*f@=a?&`-_|!I>vE4%e$uB-%;JDxap!OO*R;RZ%H0 z81P1_n_*9J24lrOk%0#g5g7C=E4Nx7Uy5e6R~v9#+qWiZky~rVM~8MRy1tL?Hpz72 zKYlXNncZtIiC=B61DM81-86+dD>UUAlaN8PY*4vNw?fM;u;shYRMr|3O+sYFRJG64 zTLTM@RloBG9+q<*){zH#4e zi+Nw9p?TTo;)-1C5VMr_Y-a#i+nK^S`Nln2k#BqEtLa{so`GZ;-q#6fk#4fw8#%j* z#I@phLFMZv(;k(lSC;{ae_mAk`4bq}d2oYLlIFA)fKIw~9A=J}2Gr4ATr=%4(*&LvsNalVs<*A2EllU` zE@h{zj;*i-eDgj+T#cz@)ncA^u(i?wgFc|5QG0Y~(z)-)a-< z?PJ`Zt4T`pF^1Z0etjKTY4gywi{%yj@1-#p*`wDZt$W=$K}xdhIFw+L3fI+(;R*K> zBh7G9*}MTWEb?I)z0s14K!l42j5dFN>0Q(Qe(BQs*E@MZM;nu93wUy{mXyoP8wa%) z(IzhS<}>Q60l)0e=Hj4moghm$^9awFUbyRregwQ~X1?BN6f-;%+_T1ekHDR` zoFlD5gJPs^rvV3`8UT6`Tx}E~IC~kRnO9|3scWAQ z&*(R$%Qf>1m*yxY53Rf%e&fSYlICW&>?RhVr@efx4mMTGa9(zVG0aL{ozOB2x)%3A z#hBVHO0F^=lhU0Z5T}3Kf9v#jj~cT~dx~FLz&lJvxO&JLZEB-dno{?{X&&+D;S2qU z57^+NQw<8CoikD&EOp~V67E+9-aQx2CHv+if$NpPXZQri&ux;esr7JFMJ%Rxzk$nZ*^qBUYJ@8lETm%FNV2`RQatJS z&fxgzNYxtJ`(XGmQ<5?j{!6lFf4juJ7AsOJ)y)f#`BBA-(3j zZ)9qme^F`pvFu1rHirdfmF1X_)m;(?6nOllbZwQa{fCXg8xWT7+c0|2Q^Y4)u(VE< z#oRkpzQR)USlB4*gUPz~F+=eS(i;>3s6&`OnXWIoWN%JrO50O~KPSVnBEWu8N+W$z zWSFotc&}@DaKq7Z12PH8yLrwIqzaO-LU@Chs|hpykRpa;ldz}pLd+q^BCDWtjHqHrBlQ%- z;gO$ZHk7o#l*k)onG@n^SEjBHVlbeN^Li%$8iuCh$pyX5)sD=*U$gSM7f(R)-xX+%uoj=G(tpQ;?Lceq5{g<|t?=$Ly-i@z&6(5P0BzP|Mf?LP;tL^PO(* zJc@R}yQPh0vk`Nv;l5mbj%h&esE<5>)1NT5IGvu|bYmc{n=Mh_(~wk@tq{PsY4f9? z_k5c{r(5K0dv}i!v`dg({TnT>E^k;A4v0 zgE^#po!-~%+Lx&}Lqv5w9C+5k%}&pja|Yk?jjNh?HNh#bISe@hDu|ChN2zoQ@ycGa z63(hIrbEnK$zI&nKwg{J17aSIPBO^qsWnFFrldVO%mT7daD`sK{9!YW4EA77?cU0U z6V&`6_y!OdTya-?-6LoYfwM@>K|UuY&E_Ad<>Nzuc-rSN-XjYl=);-LE`)SybiV#xuIvN3KRP65AGYhDUwO6ZQa;CRNnebbKh+`2F1oA8+Q{!uh> zJA{;!OqnKSD>u*%C`97&Ceind^;M1qhMMP^FPu87Xw?u)emSpH`n_qNpjS!_qcbBl zpOUbVL23~kZ(+x4XRc!GDCxTD^5cK<4`Va|w@f8f>8t(h&J2oBb%D;-#MZzd?=Jr2 zkl4MF9(d1nAEE~D-P*?TAhU0s(khBp`JiyrF-5LngnOu66Fnl={9eS?Ju2Elb2O)suLAKi3Z{P z>%>{SyP);dyf!K+azrzJ&ufUISZ${DfnK4u_~iNQ7k8cRC!~JS)9bwFv$N=^QGN5O z-bByuxY*tOv;&LOdB31chI{xc4P;7Z&4F_y31(08@zw78L6*c+%BdHhKYyzuo*`SZ zRYaWj2o;eAK*6QWPt%lQiaV=6E*u{YFAN9^dX*Ko;Ak1A4K2hqb{`DmzRfU8;_cAL zexjFJCQ(`vW&Q_Q=5yZNx;tpJe2$-{n9E&$G6S69-yBmzP-=$u-YbpOQ7Y^*nuM`F zl{@~lKuPgJ=yM-)iv#=gPsugCjdbJ3DdcxknXSOEmPdQ%k|1M2w=HF2ab~3O6q4w; zyfnFVz_!-}7oprgVKYQMZ>2je*>1DtoB(7*q`E|H&M3^X*ZYc@$q!7`uS z(#dxSa_3a9QO1Z3u|JtdhV-~{0^$x)sf;oG0BTjIX03d>$&Da9#}>{NeoXvAPNjVK zFNw{I^s{jNdBk*%UFBQE^Rb?+*NR9)Vx zu$B06)Gyjjm zsnC^E%rzowcrglpuqp4Pw%7N={Ap@fWjbQAI*C>NI_c@webV{WWtn|T&!}6HFOS{2 zl45Vxqj`wmZfCd}z3n}Rw)L)-%L$n2*%M}h4kF4S4|D|ViONB+EyXSiJwJWaNps7O z3LpLAAWhQ-yW9LO7e5>E;GKPbBy2AC1_^)WXJ!|5OL@uEPDl7QLAKUS$)F-=-k3Sk zV5#yYB$Rapa?cUo;7pf$6rsoVgNF7f zZ}2U|-C|s3J%w57NEcpU6#nuccWhFze&StXlhsfTa?ZHA_IVogz@Bu5*_vzLv}-k! z^NtJHs{gS(9ELngzZzY>0Fk_VucW41!Z%msD~I@9zT-S8QgtQrw)f%tI_RgSGCBRV zVN%ec(<~PZM4^0Z|MZ%Cqi?6);r7A>pJqn0jF!HSyuOD3Ouv-!!R4XTQ#7YB*>-PQ z{X26M1hB;cK7(J;zi|Qc&xrBC(Zx+>&yxB^;+vgaO_6W%F0R%gxyCbv zxp^q@fs6tScZxWPli%U2X?6AIq!v2#JYd<6H7-@r^GlE&LZ6@)a4!~eY9x@9%-iRU z#}U|v6;Pi&zgMqEGF$ldMpkUdtZFD?aOc1Ey{fFI&mu7htJ#dwrJ|Nc8=w0AD0nKr zUF*;dE`~%Iqh&EO*#e2AO??@J$a~tK2YcbAlf1bsYyl^k)%>(fkuaIjtFux=977B? zs5mL4ci-*4y`{5}@YEC|lD=a>sv~*m@L8(2Tl7Pl459PA^&ERKm-!p4JsueQ^ns{q z)FhDmo6PWNTGIk6EQOG)GAiSBz6d>R+h4pMJ60f?8LYt$`mIfjIlwSUj|XD8e;3`p z>r|!-n|2t=Fv{*0P5^ND5sw;b21pfQppE^C)j&G|%L1NRCj-%mB3Y5~pLw0@r_WQj zeEjS1upL-t_QpHGdKEHPxw5Vh=Sl9#2Kn!vKD$b11C2hH>`@CJII+wmKAU$A?xf|2!wjs^kvC3x3}XH1kca|75!KLx=Sh-NP`x|HthWbIv){}v9=q~|U-6fjjT=|cH38FFw`Nck-mNmBW&%re-l_%FgVj&mZn-_G z)a5*=nkbbb?n0B`y#v+G;qgPcnkd!YoUR@75^EP+`45aRM#WOkKHXjzF8PY;#=TYj zCfdFD$%a=~Zsd$ITmASLz|mwfJv4+#aPNZ77p!d9b*~||3e>UpjVY`;9U**3#$e(@ z?a~EnL({j8AAL5bo^QD^(f%l@0#)S+3r#ngLA2`d|MoG8V?Og>LjQ(5AJNuB#mQ3FK4ZPzaF`+(GugmI54wc0X@Dm+~b@1 z6Onv}kDfd+-=kO1Cpz}^L1Ka*5}rD|^dqTj)R-j`$QnBJrtKod#VYc2j7-X#bzB#jQNtYRbNK&iU@h{Ro}!FQDzKU@rHtbBr$~I!WL8J=<^li zbQQ3tI@iRX^nSa^lTD^fk+IHLE-nMNl@d&L)6HkOOc#Er7DN*Szp1)}G=4RIxjSH| zD69Oi>}K2`U%pw)vgB%*oze&&{JVRUrIusiAGPx5ofFDnDexg+ZK#%4OE=sP=2Av3 zu|>0diYX8wKF>}TsxIhP_#@?@=olD9w4(e{v`D)-@~3*5epEGNEWIN-RO1y&sNnuj z2`Tfeex4jBhmOgscmxkPfJz~GIWlSu+nto!3imkYC+Nk8VpX5@l~OtQ`>S;LxF1PX z+2r3lF0}B3u;+<>2(??e;d8DR+H&FZgPmCY5{LHK`Ed?M1vYSlSL__R)1u%+KsBWa$At%)|Aira{g2ZU$J+qs~bT zC6DwXn+;Hig0JVP4S}3C7Wb+Ro1+k9Vq; zUr46&gM?}j9#kI1%(V|nUn(o-WVqH{Z7ee7lYdD zUVa)VOp(Q8GdfDCr#XE3gV-apK%&y7`IbSR)`9=P>(4t1*{KmJF$H?ONQ~1*m1~jt zlyOL>o}1smiO9G5UQZ7wcv9q7cl*&CnJA0z5?Nb%ZSO%ZC_ZFBTLB=hZ}wF4#}&i! zA3*x!6Rb03ecJ+kuNn)SWwc0+@jkm=0kZvS31Gn_kphOnV6mh zH3n2R#sV-OKU`!a=>J~o_7`T|U7%~)EA;edV$OtD0SD~7C|qtw91r*THF3v{472VS z-u%|au76Y;LQ0icB2&^!x3{Jz<+LggzxSc{Q%0(~I!x!&{&QQS zZsR6{%MZ8fPA8nS;-gUR)_%gOMf*{%Xl2ZcrJOZ_KjO>*Dv82v#pEA;PE?GIU7F_xqAJ+b!{&|D2%G|w#S<+eW`z6m5e*UBAck?7)bP4)2U(aW6m1dd&MQr-`7T=tX z3zL_MQeE5fa9eno@SG==YmL_v*enWg{1OJhR)q6-wt*QwlrelyegH?krri$|@4V0w zoXp9l81`|~I+dHz*nKHqGSTsBR@=m<^cjfPTKIBN-K~k@tQ(q*WcT!FYh*OW-1CZ7 z5LfxlRg^lt?CU7+a{W=$eq62HYaw+%lmTH5#LEe>Uv8QJCBhKk$SbFZ(CVZlprZ1v z@`R0hXvZta-Fdg`;4$gXxck42)$AH%s0I_EZU9pmPf5t(g_M2h64np$5ma>sgD z>Dwt%Jq99TF74X5g)HbdrBGmlrE4VgrltD<@6XlSIBD1Cl1H?H`!w`7Y~a+=r3?Wen;(prV?9Q$EeaGr zpMJshFgtCe?{MFlQ|2g88uc;~no7X_7x0or5h#@JW+rB`6{vumQXtL5*l{u+S6Bjw zgBs5;V@FpEd2AJfut(huvq4|)%_criHyd23DnSukERPwogTF2JTEm!c4%!Y{e4Szk z_N;nWRri{^V#obeXG-skw}-ER!?}cBv?E>UGh!C41>De23+MA2<~k}~9Er`1N6vC* zs;DV=)cEhq-IU|}&9M*4p;G*~y4sPY^vn%@23XL(el0N`al7C>Q`ENV?64*?m;oyJtRxcF%FuFkjOV>fCAbVkVD1-XjPg>BS#f z-*8n*>d$?mt`P^Vi-P_Lk7#+6=wTl+%I8l?6UjQ43cdH9Ts0LVSMKA#RL(5zoKZ#1 zab?wXc1h&+vmOcqzgHPKRpMs5VLNgCwxjRVH{ip>JCghc>#1hlDe4^`d3llfl@(l4 ze0H%_u8&4dWdW?ityNr=4T9P_OuJ~Z?^<3)mxqWg6WM*u1W}!O+@!@HIMhRgRhMRw zMZLENd;jtRI*FLzE=3QH!`Zq0jfHYU>h&bn#NU(JvkR^XcpR#+_v>-18QIy|anYAL zf4gn*AcC6-EU1$*DCk-nu-~$KJ`kokC@X8vYp17Cgz296R3iiD^6K{_n)TvttE5EvV(|Nksx|@mK zK`QGNd!qg7yAap0P^Mh9B%ddYHwG_3RdMNfwyqiD_ zI8YU2WQTieg)~5+jW=J0bgn?{WmYXTbwuGwj}!Y}2;m8lF-Uscist5a!WwcC0ukFh z^lO{X!R5B#C*Xj~?tP217OOj?)V$?iAMzG?4mg=1I&d?yT{0_GjAD1n=o3X@d$r&N zY*Gf?Q<^S(*#iHA=MSWrG%_jc;-hWju&$!}YRwz3Ru%-kygMJ~!&)DH@|H*i73n~Y zjAh7wX0>Lj=ZdgoLu!Vq>ugIGi}{SIpKiHLe}%cJz^w~~=RF&@?(7AXSq^>|uN{xEOxBi(tw)X`h%;?X1|;;&No!JH-3c%aQ5O7YP?*%dA#)pyM)R?k?cf z3tRwl+RuhDf)8ae!^s8u!>_{zpL)&Y#M;#J0tcgzed%u4@0#;j`RbLqel51sQOEiV z3Uy>QyHsu=T@^W}K8G@tLQX^uIy2x}LAl7w@U6 z(A(P>T!kCIgX^R1y2c?hrucYi7VE_bNJ}CM?{?gvw-V23%pjwV3nL5v0n~_b!sX%d`(}ceHtz;frm06!x)YU$PYJ=w+78^3>Q+JbOwtaAO z%>5}b4Pn~gHQZ59pP=04k3*+2DI~KsLrZp3nDKg*bmh@5`&#z_i^l#mw_Iw-POYFE z_%LiC%dLJ}eev@+?i&w-+TMXU2Yw9^F?e!bQ<>&)-f6SbZnrWu>)hQlVB%@EV2)mG$w9S7+3 zIXrv@325WDF$f!Q}%o(Dy0>4bKJQF-P7m~Hum``v3RuR zX)Sq}!~H;Q@2JA&R7w=`yA=x&QhkTy1MGR{v=-Vk~C`UviUZ@awDcq;suAT7Um>Foc z>>Mr@N4m5GX^vjK(h`eX)CF_NWu-8?nXyr(Ctx0ev;;%hVuULwb`VgM z7z;m2W^`K--0MfLV}iJbv{~hY_ovDax!%vYj9{mW!z;#o8NlSJ#1t&Q8U4bj@k3L* z*dw+RrgIujyb()E4BM!|)E{g{*z~?8!eOmlrJ<~vk4+4#;|A&AAsn}sOGGw4Q?XG5 zImPfA>er60t+9)I8kkZrUC#KP;HJ%FB<9+^?!qtU{6zM)eMz9EcbDVhl68F~`UifQ zB{=x46bF6Pj=v3WV`6Eqe{;1DM^apej06+1D=ot$@X<8pn#ZB#P+mD8aQ5-h1 z$7XgLJ6bV8)%$bFeYQ5d-;dMsR!Y)~z&PpSciU}B!)Xm^XRQ$XZrbS1L55&$v*v~G zUg$c0xv?K%Sr1RV#0cX65j-}A!yy~bbwf9tm+UoBMG348 z46joiu{EuiCom`#yp1v0ns_g}-?})#(;sBjE*E7;50B;dU3(8dq_(r9Sf*91;wQar zt!i_qZ6Cn0jrKzS6cb)7eDdvAFInP7?&WrnNw7g407)EIKSnFZm~NE<4nrOOtB#jHG71(grca*{qMzGEqSFP7r@c04;X61 zizIz*gr8GNrX2OfW(aA>iJ%bf=CDv>O{}!Sf&|v6*h4wmByeMQEo;+bYywm-@xx{O zP=jftMI^DprrnhoyXDL`zMNztzksp#e3kq?PVs1z-o9OlPLT+y79hgPwiOg&Z=yRj zyeMuoitv0d*9E0$^^DavAza-x_^{YoT)M%d!RiB$;8Rvs(G0*{&dz)BO-^WCh_19Nvg5U@j z${u+M?0l#?&U;i0j{DJ+8&$Hs)dfCU-k9KMY9fESv2N2kku{H}_4ZBqEcw{Z+!i78 zVfxlj`ufy{shX?;X`b=s%AH!z@m9_jZ^9{?`4J?U+G8H$m;xDbQ5lyKNzK8b2sLZgD2qb6+nFD?sl zvv4Lo(JZGt_K6S}QSCIwm)kf|K=GhC!ByKNq$z0ZutjFoWABfwEWINBLAJx#BCrrS z34fO>qHd-{6FU5w&8V1qbn*!i?ec(&IWFi*`Y%3QI{6IT(^S1N?k0oOWJ_10Q%SFn zc6D`2Q_*_*)=N2>`8k>u?0U?270c0XXiZWx+nmX=ekx) z-%YC%kSe23aI~cw%|>h!J5^vdx<<>%%j% zLg0NG4|h>FHwW5Q>u#>XplR*EwZLgg5+ldO_wb*H($T2x_Ky65tmKV1TgI;{+P^h9 ze9$W9B%SN-cFpxQs6N!uowXKfS*JzNNIhyToiW#x3*K%W{z~jiJ->=ZO$9r3NeZDD z<^r|`iVRZ=YnN~{@6(U$u|GFUxsaQI@QvhHHfgeD3+ba@GOa;k&87T522~Cxyv9=2 zYL6<64_{$j2r?|{wwf1*jHIZiTD~ssm})nS|0R`zYYQEN^vD6EL54GmQBGNjQ4rRm zowt_hdmJ9H^eE$FMjAwAmfL*J$10{iZw+PS8Z0!3w#}#1vEjHSn9HYQpSFwX`c4|sy5O_Sl zuePtPT6+CNQ^mZFpWI=65XYtTrRsKc)HJi3=nE-IrABJFO_t77!Z4+{A}uxEuyY}I zSHR*#anLXRx+!xHBDz*n+Xhv+^?2zSFBjL^u`51e!oo?^d{4F3GU2kg;#RS&`uZ_q z95vKX`DZ}yTwDudVuSFMp3cV#f`luybWG~jL-uOiF}zl}Of*+dR5O=!WIKwmZ@rbF zS4$}MQ0(nHJ~zq}C(EM64nd>Q-nO+z)8t<~mGZ6O~Hn$D+-|lv>T4 zm7Xe3g|ruSgYRj}ASN@w2c-wJ^>Ro%Kugh=`DlgQfvoTzy1= zHZ5Q@@<#dEyWB+{3b33uLG@8CSF8G^ZtU&x0uM7Y;Z#Y6Pe}SMAN2&(5K!E_S}(46 z!^r2SZr@NL&Q&zQQ3ornB)j>+8S7EhIdsd$?O-Ie5pwgH{3K*>IwcnHs)U6gAvTf= z{)Fi95RT)36GB4dd{;{k@1{DyW)K|zO%s&((TUGxWbIMY65mrnGH(1zQ2tM7dMt~- z#}b)eo@f49}<>TKbCSRV$Iy=_j`u;gMxyp>)hvC#{uDMP&&RL z!t=>{9!bt4=bvm=N-*D;yT=k2;{M{X?BKcEt8TS8<@W++@}K$T2`4by_$Mz#oWzr* z1k^v6)i&qJGHTWgqF|RooF7k@#{joqqjop@X1a(i56igL8IzHMMw3)Lg#RWfLg1O( zd#T{J9umSpYIo4ftLoN+w)aP!s{7t}_~kS-@bB?^67G!qX94fwd?5f11oTsc?czGG z0eqy&XYtpy_fWJQ&R)MEgZsG82@n+p71M`0bo{XZ(jxKw&O5;;8n0W4AJB|UM)V4o zSveugt##Q^x!M4`vU3{&G`Nj&B3*`R;q4t-1-${^KE7kNWg6eUZsc_JVO#gn@YfwC3Xt&Ep&uUWe z9(Rg9caEA!S^myL!04{6(*9)qw?%3lKbx8@=By@dygSboq!dd}82nG_(OfK?JUXbl zGnyVg1ZnB@hW7HDF&1+YB9i~(Vg7e$|KzjQf2DS6Zuzf5{=;efKe&|tPi+mP887Da zFW1~?LrqIZr(#e#)Yf(%S!}9wJQt`kSLEe!ySTY!VX;_Ydj|os7e(=W=5lbgiiT_3 zA1B8GT{RzNr8(TXK7JCu{>{%5Kq+WPVZ64(U#_o?R0;h|72{_FHVZE;FRMDumAT%w z7_m2SU7MVYD075Ew}z*~vYLZvvZ@euiM-81=2jN^U!L93uU(kvN1;$QeB&Ou`uX$c_qG;YrQuktyS_}O7Z_7`WOsAadf9g9U@#PHJET*^|92K1 z(@7(M#Mv>h5fhe_}@=D>Qb^Bb;Km#KpSaQ8~Ce?`b>qdMor+Z;Pi&5;J}5!;SbQ zk8syyRGL>!f)uv?P18E7>}d%RK(7l(N+#H|-VV`0y;1?g9zQQDPI<6xkvsnc>0-x* zUVXW|dq6_c8nml+%KcHqy=&ZAMd=vZuL*bAbaVB>EKOzDyVh2VF}5-cnU`T9+9l-UX^s)yb1ZG(0wVZ{yGwJF4n@k{FdiWab6$~2tnV$ z3o1ra2IZ5dh;Oyo zj{~E>$0m?~3#>P4fiyx!>KJZ9mP395)4+Gce83QPKGt|0AuKIj((U%XNSep+aFEpB z|Da90Cm)Do&QNWF9X1D5(MW;2O%MpydAB1A?J`Gfr>n@v<9K=K;C5bragsCeo}%%`LXN>gOHTc>HX6Oq6c(vWQF7u90z#15$g zp3BQ?SN^neu?VO`q|nt;9vCufqa%#z0``QzcU6F>EBwt)ZobzjHLV6XpM-y}D= zb#Ca9;h~qkj{&m8yc4UTY(1E-tn0l5k4kas*H+3j4V8V_w`S2v1Bj|GD#hnz}uJp%O{rCW~*oulyW1rvclw}(YoOTujL}tJm>3r3`MWr5_#APyyV!XJCyS<5@?Vq{@o^yQ38KWeRrkPoy0jp09@lN z^4bH&#TaHYDQa@^wMRHXCB~|uc_ewm0g7g&w8k;`MsT=;gM&@9$?D$NRm;a9t>OH% zBG8aqEM~=BxWmcOpyj&-QE6j$tLWrr*#fxej)OVh9>?DYuo{(&5;(+tq$KI(Y zik8>$PSaD^CJ0$*+(L?D587p0_oUobRT9PQQ&y;2F>G3umK@Ypt9cpi`DAHgza=AN`Ge-5-PaDV&6-Y`-igb9;GtNN*2H%BG z!u+HQ`=#Yr6Vvd=go>08n)zyq0a?kRE6moX4zay3MU~*Y!CYSV8NE^mUr|ZH zl$?r+iilelqasmNO81Aey{?7R9R%gv?JS3!7LXPmgowa&#^|kOdV0EtCGZvjcyX&@ zWk}%VgQzpjT?f!JH`8+CLHsG~O@%~tffmSW7i(l($YY-6c<7sh_BxD)i%Mrhk;~dz zDsTWddT}9Kppn3z7gy?d{*Y5lk34d_JIpG)Nh;?F_1%l33Qp~ zKcIQqi2#x1c>*AL*`u6r|BSW)pv%Xkd8wym2xP+ufhb2RElN1zjJ7;rUM--0e4JQ2 z<=Y{bfs~pnh{KBYjJC%>p3ZC30YaKik! zyDS?OZ9v62K%ErGOSX#I+m?kCvi+0uC!Bjm0%;p(eQ#YBeT9mt?3t0QoW9<$rC8M& zPtZ7nA5qi1|2E>Ah`tIjNlj^0?|UBo@IjesL0d*9tFnT#2_%7LY$IwEu+$Py(=(&f zzHkQ#(fpuS>x|`7v1T%|r+bxNH+y;_I#yT_e8EV84OrXg?@{-ab909nJzaA_!E8H~ zsANkVodRoGwAvups+@|ftek?xW!v|gXNcALGsx^^agC$R(+6r|p%HI4FYfCY8&A{6 zzg5V&^L*r207uGwROx%fZQ+DE#lBw)uri<4P-*etwQFZ+B*9JU4|skuh^;9|m5&wn z8F(il(X-@^dtF`KRb#Ez-afx3OH?QiZSWU|`L1La;enhp^pl7R-)Zhg`@NAjh7s)Cuh3{^tq?=;=ky>okWL*ZkHqqA;y6z-*X!=g;t4ahZT8 zd4eovIxDLy1GIUTC8?fz3V`;r7$CQ5Vb$t+R^D}+=#cO*c!`legC_kP@KILKkT1OZ H?9KlG@@$9< diff --git a/infra/batch_pipeline_construct.py b/infra/batch_pipeline_construct.py index 5fbbbf0..b67fdfd 100644 --- a/infra/batch_pipeline_construct.py +++ b/infra/batch_pipeline_construct.py @@ -81,25 +81,6 @@ def __init__( ) ) - # Load the start pipeline code - with open("lambda/batch/lambda_evaluate_drift.py", encoding="utf8") as fp: - lambda_evaluate_drift_code = fp.read() - - lambda_evaluate_drift = lambda_.Function( - self, - "EvaluateDriftFunction", - function_name=f"sagemaker-{project_name}-evaluate-drift", - code=lambda_.Code.from_inline(lambda_evaluate_drift_code), - role=lambda_role, - handler="index.lambda_handler", - runtime=lambda_.Runtime.PYTHON_3_8, - timeout=core.Duration.seconds(3), - memory_size=128, - environment={ - "LOG_LEVEL": "INFO", - }, - ) - # Define AWS CodeBuild spec to run node.js and python # https://docs.aws.amazon.com/codebuild/latest/userguide/available-runtimes.html pipeline_build = codebuild.PipelineProject( @@ -156,12 +137,12 @@ def __init__( "SAGEMAKER_PIPELINE_ROLE_ARN": codebuild.BuildEnvironmentVariable( value=sagemaker_execution_role.role_arn, ), + "LAMBDA_ROLE_ARN": codebuild.BuildEnvironmentVariable( + value=lambda_role.role_arn, + ), "ARTIFACT_BUCKET": codebuild.BuildEnvironmentVariable( value=s3_artifact.bucket_name ), - "EVALUATE_DRIFT_FUNCTION_ARN": codebuild.BuildEnvironmentVariable( - value=lambda_evaluate_drift.function_arn, - ), }, ), ) @@ -261,7 +242,7 @@ def __init__( ) # Load the lambda pipeline change code - with open("lambda/build/lambda_pipeline_change.py", encoding="utf8") as fp: + with open("lambda/lambda_pipeline_change.py", encoding="utf8") as fp: lambda_pipeline_change_code = fp.read() lambda_pipeline_change = lambda_.Function( diff --git a/infra/build_pipeline_construct.py b/infra/build_pipeline_construct.py index c6bd8a7..f4c354f 100644 --- a/infra/build_pipeline_construct.py +++ b/infra/build_pipeline_construct.py @@ -146,7 +146,7 @@ def __init__( ) # Load the start pipeline code - with open("lambda/build/lambda_start_pipeline.py", encoding="utf8") as fp: + with open("lambda/lambda_start_pipeline.py", encoding="utf8") as fp: lambda_start_pipeline_code = fp.read() lambda_start_pipeline = lambda_.Function( @@ -288,7 +288,7 @@ def __init__( ) # Load the lambda pipeline change code - with open("lambda/build/lambda_pipeline_change.py", encoding="utf8") as fp: + with open("lambda/lambda_pipeline_change.py", encoding="utf8") as fp: lambda_pipeline_change_code = fp.read() lambda_pipeline_change = lambda_.Function( diff --git a/infra/pipeline_stack.py b/infra/pipeline_stack.py index c4b5f96..c553da1 100644 --- a/infra/pipeline_stack.py +++ b/infra/pipeline_stack.py @@ -297,7 +297,7 @@ def resolve_ssm_parameter(self, key: str): class BatchPipelineStack(PipelineStack): - """Creates a Pipelinf for real-time deployment""" + """Creates a Pipeline for batch deployment""" def __init__( self, @@ -309,7 +309,7 @@ def __init__( class DeployPipelineStack(PipelineStack): - """Creates a Pipelinf for real-time deployment""" + """Creates a Pipelinfe for real-time deployment""" def __init__( self, diff --git a/infra/service_catalog_stack.py b/infra/service_catalog_stack.py index d751336..99db61e 100644 --- a/infra/service_catalog_stack.py +++ b/infra/service_catalog_stack.py @@ -149,6 +149,18 @@ def __init__( ) ) + # Add permissions to get/create lambda in batch pipeline + products_use_role.add_to_principal_policy( + iam.PolicyStatement( + actions=[ + "lambda:*", + ], + resources=[ + f"arn:aws:lambda:{self.region}:{self.account}:function:sagemaker-*" + ], + ) + ) + portfolio = servicecatalog.Portfolio( self, "Portfolio", diff --git a/lambda/build/lambda_pipeline_change.py b/lambda/lambda_pipeline_change.py similarity index 100% rename from lambda/build/lambda_pipeline_change.py rename to lambda/lambda_pipeline_change.py diff --git a/lambda/build/lambda_start_pipeline.py b/lambda/lambda_start_pipeline.py similarity index 100% rename from lambda/build/lambda_start_pipeline.py rename to lambda/lambda_start_pipeline.py From dceae280288e9db154b86f846ff848adbfc2d61e Mon Sep 17 00:00:00 2001 From: Julian Bright Date: Thu, 30 Sep 2021 21:38:09 +1000 Subject: [PATCH 5/6] Update github actions to include autoscaling --- cloudformation/github-actions-setup.yml | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/cloudformation/github-actions-setup.yml b/cloudformation/github-actions-setup.yml index c9d4707..90480b5 100644 --- a/cloudformation/github-actions-setup.yml +++ b/cloudformation/github-actions-setup.yml @@ -82,3 +82,21 @@ Resources: - "cloudwatch:*" Effect: Allow Resource: !Sub "arn:aws:cloudwatch:${AWS::Region}:${AWS::AccountId}:alarm:sagemaker-*" + - Action: + - "cloudwatch:*" + Effect: Allow + Resource: !Sub "arn:aws:cloudwatch:${AWS::Region}:${AWS::AccountId}:alarm:sagemaker-*" + - Action: + - "application-autoscaling:DeregisterScalableTarget" + - "application-autoscaling:DeleteScalingPolicy" + - "application-autoscaling:DescribeScalingPolicies" + - "application-autoscaling:PutScalingPolicy" + - "application-autoscaling:DescribeScalingPolicies" + - "application-autoscaling:RegisterScalableTarget" + - "application-autoscaling:DescribeScalableTargets" + - "iam:CreateServiceLinkedRole" + - "cloudwatch:DeleteAlarms" + - "cloudwatch:DescribeAlarms" + - "cloudwatch:PutMetricAlarm" + Effect: Allow + Resource: "*" From 020d34d17ba2c987d2831260b1690dbf96432e6b Mon Sep 17 00:00:00 2001 From: Julian Bright Date: Fri, 1 Oct 2021 13:24:36 +1000 Subject: [PATCH 6/6] Update actions doco --- ACTIONS.md | 10 +++------- 1 file changed, 3 insertions(+), 7 deletions(-) diff --git a/ACTIONS.md b/ACTIONS.md index 6746309..ccfb690 100644 --- a/ACTIONS.md +++ b/ACTIONS.md @@ -5,12 +5,8 @@ This template repository contains a sample application and sample GitHub Actions This MLOps workflow demonstrates training and evaluating a machine learning model to predict taxi fare from the public [New York City Taxi dataset](https://registry.opendata.aws/nyc-tlc-trip-records-pds/) deployed with Amazon SageMaker. This repository contains a number of start workflow files for GitHub Actions: -1. [build-deploy-pipeline.yml](.github/workflows/build-deploy-pipeline.yml) This workflow runs when a pull request is opened or commit with the following stages: - * `build`: This workflow creates or updates the Sagemaker Pipeline, and starts an execution in the `development` environment. - * `deploy_staging`: This workflow deploys the SageMaker endpoint in the `staging` environment. - * `deploy_prod`: This workflow deploys the SageMaker endpoint with Model Monitor in the `prod` environment. -1. [publish-template.yml](.github/workflows/publish-template.yml) runs when a new commit is pushed to the main branch in the `aws` environment: - * Synths and uploads the CFN templates and build & deploy assets for launching the stack. +1. [build-deploy-pipeline.yml](.github/workflows/build-deploy-pipeline.yml) This workflow runs when a pull request is opened or pushed to the `main` branch (see below). +1. [publish-template.yml](.github/workflows/publish-template.yml) runs when a new commit is pushed to the main branch in the `aws` environment. ## Create a GitHub repository from this template @@ -36,7 +32,7 @@ aws secretsmanager get-secret-value \ --output text ``` -### Jobs +### Build Deploy Pipeline This sample includes a `Build and Deploy` [GitHub Actions](https://docs.github.com/en/actions/learn-github-actions/understanding-github-actions) workflow with contains the following jobs 1. The `Build Model` job will create or update a SageMaker Model Build Pipeline using AWS CloudFormation.