From fe6797d11fcaa3d12b83d0c5b486f9eb54235c42 Mon Sep 17 00:00:00 2001 From: Dan Benitah Date: Wed, 6 Mar 2024 08:45:32 +0000 Subject: [PATCH] Readme as project overview in docs, disclaimer update for graduated project, and docs deploying pipeline updates --- .github/workflows/6-jekyll-gh-pages.yml | 2 + CONTRIBUTING.md | 4 +- README.md | 32 +- casdk-docs/.gitignore | 2 + casdk-docs/docs/overview/adopters.md | 2 +- casdk-docs/docs/overview/contributing.md | 91 +++ casdk-docs/docs/overview/enablement.md | 4 +- .../images/readme}/carbon-aware-software.png | Bin .../images/readme}/screenshot_cli.png | Bin .../images/readme}/screenshot_web_api.png | Bin .../images/readme}/single-trunk-branch.svg | 0 .../readme}/types-of-green-software.png | Bin .../readme}/what-is-green-software.avif | Bin casdk-docs/docs/overview/overview.md | 599 ++++++------------ casdk-docs/docs/overview/tests.md | 2 +- casdk-docs/docs/samples/_category_.json | 7 - casdk-docs/docusaurus.config.js | 8 +- casdk-docs/package.json | 3 +- casdk-docs/src/css/custom.css | 2 +- casdk-docs/static/img/CASDK-logo.png | Bin 0 -> 7830 bytes .../static/img/Carbon Aware SDK_icon.svg | 33 + casdk-docs/static/img/favicon-32x32.png | Bin 1487 -> 557 bytes images/readme/carbon-aware-software.png | Bin 0 -> 29327 bytes images/readme/screenshot_cli.png | Bin 0 -> 5719 bytes images/readme/screenshot_web_api.png | Bin 0 -> 27869 bytes images/readme/single-trunk-branch.svg | 3 + images/readme/types-of-green-software.png | Bin 0 -> 38070 bytes images/readme/what-is-green-software.avif | Bin 0 -> 32993 bytes 28 files changed, 353 insertions(+), 441 deletions(-) create mode 100644 casdk-docs/docs/overview/contributing.md rename {images => casdk-docs/docs/overview/images/readme}/carbon-aware-software.png (100%) rename casdk-docs/docs/{images => overview/images/readme}/screenshot_cli.png (100%) rename casdk-docs/docs/{images => overview/images/readme}/screenshot_web_api.png (100%) rename casdk-docs/docs/{images => overview/images/readme}/single-trunk-branch.svg (100%) rename {images => casdk-docs/docs/overview/images/readme}/types-of-green-software.png (100%) rename {images => casdk-docs/docs/overview/images/readme}/what-is-green-software.avif (100%) delete mode 100644 casdk-docs/docs/samples/_category_.json create mode 100644 casdk-docs/static/img/CASDK-logo.png create mode 100644 casdk-docs/static/img/Carbon Aware SDK_icon.svg create mode 100644 images/readme/carbon-aware-software.png create mode 100644 images/readme/screenshot_cli.png create mode 100644 images/readme/screenshot_web_api.png create mode 100644 images/readme/single-trunk-branch.svg create mode 100644 images/readme/types-of-green-software.png create mode 100644 images/readme/what-is-green-software.avif diff --git a/.github/workflows/6-jekyll-gh-pages.yml b/.github/workflows/6-jekyll-gh-pages.yml index 376a6b2e7..0a082c32d 100644 --- a/.github/workflows/6-jekyll-gh-pages.yml +++ b/.github/workflows/6-jekyll-gh-pages.yml @@ -37,6 +37,8 @@ jobs: run: | # Moving the samples folder at build& deploy time of the docs so that it appears in the end result cp -r ./samples/ ./casdk-docs/docs/ + cp -r ./README.md ./casdk-docs/docs/overview/overview.md + cp -r ./CONTRIBUTING.md ./casdk-docs/docs/overview/contributing.md working-directory: . - name: Install dependencies diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index e6b86aeec..23b602d7a 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -25,7 +25,7 @@ We have opportunities for both code and non code contributors. We're currently l |**Sample Creation** | These help adopters of the SDK learn how they can quick get started and build their own carbon aware solutions.| |**Documentation Updates** | The documentation always can be improved to make the Carbon Aware SDK more accessible to everyone. Guides, SDK and API document, and more! | |**Video Content Creation (how to enable, demos etc)** | Quick videos help adopters undersatnd just how easy it is to get started in an easy to consume form. -|**Slide Deck Creation
Available for presenter use, including real time video demo**| We get a lot of traction at conferences, and if we have a standard deck for anyone to present, it will enable those who might not be able to create a deck, but could easily present it, to also participate. +|**Slide Deck Creation
Available for presenter use, including real time video demo**| We get a lot of traction at conferences, and if we have a standard deck for anyone to present, it will enable those who might not be able to create a deck, but could easily present it, to also participate. ## How To Get Started Introduce yourself on on our [discussions page](https://github.com/orgs/Green-Software-Foundation/discussions/65) and let us know where you think you can help. @@ -85,7 +85,7 @@ do **not** open an issue to request features. 3. PR to be submitted against the **DEV feature branch** 4. PR discussed with the WG. If agreed, the WG Chair will merge into **DEV Feature branch** - ![GSF Single-Trunk Based Branch Flow](/docs/images/single-trunk-branch.svg) + ![GSF Single-Trunk Based Branch Flow](./images/readme/single-trunk-branch.svg) 5. See [The Way we Work](https://github.com/Green-Software-Foundation/standards_wg/blob/main/the_way_we_work.md) for futher details. diff --git a/README.md b/README.md index 49b9ed8cb..ec7765990 100644 --- a/README.md +++ b/README.md @@ -1,29 +1,13 @@ - - ----------------------------- - -**Welcome to [CarbonHack 24](https://grnsft.org/hack/github) from the Green Software Foundation.** - -> From Monday, 18th March - Monday, 8th April 2024, participants will compete to showcase their best application of IF in measuring the environmental impacts of software. -> -> Carbon Hack is a dynamic competition that combines healthy rivalry with collaborative innovation. Hackers will push the limits of the framework, uncover potential weaknesses, and create innovations to enhance the tool. -> -> CarbonHack is open to all, including software practitioners and those with a passion for Green Software. -> -> Find out more about CarbonHack 2024 on the [CarbonHack website](https://grnsft.org/hack/github). Check out the [FAQ on GitHub](https://grnsft.org/hack/faq). -> -> Registration opens 15th January! ----------------------------- - +--- +sidebar_position: 2 +--- # Carbon Aware SDK Carbon aware software does more when it can leverage greener energy sources, and less when the energy CO2 emissions are higher. The Carbon Aware SDK is a toolset to help you measure the carbon emissions of your software, in turn helping you **measure and reduce your software's carbon emissions**, and choose when and where you run your software to make it greener. -![Carbon Aware Software](./images/carbon-aware-software.png) +![Carbon Aware Software](./images/readme/carbon-aware-software.png) By knowing the carbon emissions of the energy that powers your applications, you and your organisation can leverage greener energy sources to reduce your CO2 emissions by: @@ -44,7 +28,7 @@ Head on over to the [Getting Started Overview Guide](./casdk-docs/docs/overview/ Get started on creating sustainable software innovation for a greener future today! -![Green Software](./images/what-is-green-software.avif) +![Green Software](./images/readme/what-is-green-software.avif) # How Does This Work? You can reduce the carbon footprint of your application by just running things @@ -56,7 +40,7 @@ When software does more when the electricity is clean and do less when the electricity is dirty, or runs in a location where the energy is cleaner, we call this **carbon aware software**. -![Carbon Aware Software](./images/types-of-green-software.png) +![Carbon Aware Software](./images/readme/types-of-green-software.png) The Carbon Aware SDK helps you build the carbon aware software solutions with the intelligence to use the greenest energy sources. Run them at the greenest @@ -84,7 +68,7 @@ management and increase control and auditability, especially in regulated environments. It can be deployed as a container for easy management, and can be deployed alongside an application within a cluster or separately. -![WebApi Screenshot](./casdk-docs/docs/images/screenshot_web_api.png) +![WebApi Screenshot](./images/readme/screenshot_web_api.png) ### The CLI @@ -93,7 +77,7 @@ where a command-line can be used. This tends to be common with legacy DevOps pipelines to drive deployment for integration testing where you can test your deployment in the greenest location. -![WebApi Screenshot](./casdk-docs/docs/images/screenshot_cli.png) +![WebApi Screenshot](./images/readme/screenshot_cli.png) ## Who Is Using the Carbon Aware SDK? diff --git a/casdk-docs/.gitignore b/casdk-docs/.gitignore index b2d6de306..7631c9689 100644 --- a/casdk-docs/.gitignore +++ b/casdk-docs/.gitignore @@ -18,3 +18,5 @@ npm-debug.log* yarn-debug.log* yarn-error.log* + +docs/overview/README.md \ No newline at end of file diff --git a/casdk-docs/docs/overview/adopters.md b/casdk-docs/docs/overview/adopters.md index b6c873e18..8411426c5 100644 --- a/casdk-docs/docs/overview/adopters.md +++ b/casdk-docs/docs/overview/adopters.md @@ -1,5 +1,5 @@ --- -sidebar_position: 6 +sidebar_position: 7 --- # Carbon Aware SDK adopters diff --git a/casdk-docs/docs/overview/contributing.md b/casdk-docs/docs/overview/contributing.md new file mode 100644 index 000000000..23b602d7a --- /dev/null +++ b/casdk-docs/docs/overview/contributing.md @@ -0,0 +1,91 @@ +# GSF Member Contribution Guide + +Welcome to the GSF Carbon Aware SDK, and thank you for your interest in contributing to this +project. This guide outlines the steps for working within the Carbon Aware SDK +and the approved contribution process that members should follow. + +#### _Before contributing, please read the [GSF Opensource Working Group charter](https://github.com/Green-Software-Foundation/charter/blob/main/charter.md). Any contributions must comply with the charter._ #### + +## Table of Contents + +- [GSF Member Contribution Guide](#gsf-member-contribution-guide) + - [Table of Contents](#table-of-contents) + - [Current Opportunities](#current-opportunities) + - [How To Get Started](#how-to-get-started) + - [Code Contribution Steps](#code-contribution-steps) + - [Public Issues](#public-issues) + - [Collaborating with the OSWG](#collaborating-with-the-opensource-working-group) + +## Current Opportunities +We have opportunities for both code and non code contributors. We're currently looking all contributions, with some areas of extra opportunity outlined in the table below. + + +| Contribution Areas | Description | +|----------|----------| +|**Sample Creation** | These help adopters of the SDK learn how they can quick get started and build their own carbon aware solutions.| +|**Documentation Updates** | The documentation always can be improved to make the Carbon Aware SDK more accessible to everyone. Guides, SDK and API document, and more! | +|**Video Content Creation (how to enable, demos etc)** | Quick videos help adopters undersatnd just how easy it is to get started in an easy to consume form. +|**Slide Deck Creation
Available for presenter use, including real time video demo**| We get a lot of traction at conferences, and if we have a standard deck for anyone to present, it will enable those who might not be able to create a deck, but could easily present it, to also participate. + +## How To Get Started +Introduce yourself on on our [discussions page](https://github.com/orgs/Green-Software-Foundation/discussions/65) and let us know where you think you can help. +Find the Project Key contacts in the [Confluence page](https://greensoftwarefoundation.atlassian.net/wiki/spaces/~612dd45e45cd76006a84071a/pages/17137665/Opensource+Carbon+Aware+SDK). + +If you are a GSF member organisation employee, you should: +Fill out the [Onboarding form](https://greensoftware.foundation/onboarding/) if you are new to the GSF; or +Fill out the [Subscribe form](https://greensoftware.foundation/subscribe/) if you are already part of the GSF but want to join this project. +Following this, you'll receive an invite to join the Carbon Aware SDK Weekly Meeting. +Only members of the foundation can join meetings and internal conversations. + +If you are NOT a GSF member organisation employee, individual contributions are still welcome on our public Github repo eg. raising PRs, joining discussions. + +Only our Project Leads have the right to merge PRs. + +Any questions, email help@greensoftware.foundation. + +## Code Contribution Steps + +For the following code contribution: + +"Member and "Contributor" refer to the GSF member looking to make a feature +code contribution. "Chair" refers to the Chair, Co-Chair or other accountable +authority within GSF. + +1. Submit a Public Issue using the Issue Template +2. The Issue will be looked at by a Chair and approved. +3. The Contributor is assigned an "Approved Reviewer" who will help shepherd the + feature into the GSF Repository +4. Fork `GSF/carbon-aware-sdk/dev` into a member repository, + `member/carbon-aware-sdk/dev` +5. Open a Draft PR from `member/dev` into `GSF/carbon-aware-sdk/dev` using the + PR Template +6. Once development is over, the Approved Reviewer pushes the PR into the "Ready + for Review" state +7. If the Chair accepts the PR, it merges into `GSF/carbon-aware-sdk/dev` + +### Project Release Schedule: +At most once per month. +As frequent as possible. +We prioritise Security release over Feature release. Documentation release is not restricted. + +## Public Issues + +All contributions to the GSF are tracked through public issues. Please make a +public issue and fill out details on the proposed feature contribution. The +issue serves as a commitment by the contributor to developing the feature. + +The Issue is **not** a feature request, but tracks expected feature work. Please +do **not** open an issue to request features. + +## Collaborating With The [Opensource Working Group](https://github.com/Green-Software-Foundation/opensource-wg) + +1. Create a + [new Issue](https://github.com/Green-Software-Foundation/standards_wg/issues/new) +2. Discuss Issue with WG --> Create PR if required +3. PR to be submitted against the **DEV feature branch** +4. PR discussed with the WG. If agreed, the WG Chair will merge into **DEV + Feature branch** + ![GSF Single-Trunk Based Branch Flow](./images/readme/single-trunk-branch.svg) +5. See + [The Way we Work](https://github.com/Green-Software-Foundation/standards_wg/blob/main/the_way_we_work.md) + for futher details. diff --git a/casdk-docs/docs/overview/enablement.md b/casdk-docs/docs/overview/enablement.md index 77dc7f862..2028bfdbe 100644 --- a/casdk-docs/docs/overview/enablement.md +++ b/casdk-docs/docs/overview/enablement.md @@ -1,5 +1,5 @@ --- -sidebar_position: 2 +sidebar_position: 3 --- # Enablement @@ -56,7 +56,7 @@ You can build a container containing the [WebAPI](../src/CarbonAware.WebApi) You can reference the [Carbon Aware C# Library](../src/GSF.CarbonAware) in your projects and make use of its functionalities and features. -| ![Image 2](../images/screenshot_cli.png) | ![Image 1](../images/screenshot_web_api.png) | +| ![Image 2](./images/readme/screenshot_cli.png) | ![Image 1](./images/readme/screenshot_web_api.png) | |:---:|:---:| | CLI | WebAPI | diff --git a/images/carbon-aware-software.png b/casdk-docs/docs/overview/images/readme/carbon-aware-software.png similarity index 100% rename from images/carbon-aware-software.png rename to casdk-docs/docs/overview/images/readme/carbon-aware-software.png diff --git a/casdk-docs/docs/images/screenshot_cli.png b/casdk-docs/docs/overview/images/readme/screenshot_cli.png similarity index 100% rename from casdk-docs/docs/images/screenshot_cli.png rename to casdk-docs/docs/overview/images/readme/screenshot_cli.png diff --git a/casdk-docs/docs/images/screenshot_web_api.png b/casdk-docs/docs/overview/images/readme/screenshot_web_api.png similarity index 100% rename from casdk-docs/docs/images/screenshot_web_api.png rename to casdk-docs/docs/overview/images/readme/screenshot_web_api.png diff --git a/casdk-docs/docs/images/single-trunk-branch.svg b/casdk-docs/docs/overview/images/readme/single-trunk-branch.svg similarity index 100% rename from casdk-docs/docs/images/single-trunk-branch.svg rename to casdk-docs/docs/overview/images/readme/single-trunk-branch.svg diff --git a/images/types-of-green-software.png b/casdk-docs/docs/overview/images/readme/types-of-green-software.png similarity index 100% rename from images/types-of-green-software.png rename to casdk-docs/docs/overview/images/readme/types-of-green-software.png diff --git a/images/what-is-green-software.avif b/casdk-docs/docs/overview/images/readme/what-is-green-software.avif similarity index 100% rename from images/what-is-green-software.avif rename to casdk-docs/docs/overview/images/readme/what-is-green-software.avif diff --git a/casdk-docs/docs/overview/overview.md b/casdk-docs/docs/overview/overview.md index 915c718b6..ec7765990 100644 --- a/casdk-docs/docs/overview/overview.md +++ b/casdk-docs/docs/overview/overview.md @@ -1,401 +1,204 @@ --- -sidebar_position: 1 +sidebar_position: 2 --- -# Overview - -There are several ways to consume CarbonAware data for your use case. Each -approach surfaces the same data for the same call (e.g. the CLI should not give -you different data than the WebAPI for the same query). We provide a number of -different endpoints to provide the most flexibility to integrate to your -environment: - -- You can run the application using the [CLI](./src/CarbonAware.CLI) and refer - to more documentation [here](../tutorial-basics/carbon-aware-cli.md). - -- You can build a container containing the [WebAPI](./src/CarbonAware.WebApi) - and connect via REST requests and refer to more documentation - [here](../tutorial-basics/carbon-aware-webapi.md). - -- You can reference the [Carbon Aware C# Library](./src/GSF.CarbonAware) in your - projects and make use of its functionalities and features. - -- (Future) You can install the Nuget package and make requests directly. - ([tracked here](https://github.com/Green-Software-Foundation/carbon-aware-sdk/issues/40)) - -Each of these has configuration requirements which are detailed below. You can -also visit the [quickstart.md](../quickstart.md) guide for a step-by-step -process for running the CLI locally, deploying the Web API locally or in the -cloud, polling the API via HTTP requests or generating and using client -libraries (Python example). - -For more detailed architecture and design decisions around the Carbon Aware SDK, -refer to the [Architecture directory](../architecture/). - -## Carbon Aware Library - -The Carbon Aware SDK provides a C# Client Library with handlers that replicates -the Web API, CLI and SDK functionality. See: - -- [carbon-aware-library.md](../tutorial-extras/carbon-aware-library.md) for more information - about library features. -- [packaging.md](../tutorial-extras/packaging.md) for details on how to package and consume the - library. -- [packaging.md](../tutorial-extras/packaging.md#use-package-with-dependency-injection) - for instructions on integrating the library in other projects with dependency - injection. - -## Pre-requisites - -Make sure you have installed the following pre-requisites to setup your local -environment: - -- dotnet core SDK - [https://dotnet.microsoft.com/en-us/download/dotnet/6.0](https://dotnet.microsoft.com/en-us/download/dotnet/6.0) - -- Access to one (or all) of the supported external data APIs - - WattTime account - See - [instruction on WattTime](https://docs.watttime.org/#tag/Authentication/operation/post_username_register_post) - for details (or use our python samples as described - [here](../samples/watttime-registration/readme.md)). - - ElectricityMaps account - See - [instruction on ElectricityMaps](https://api-portal.electricitymaps.com/home) - for details (or setup a - [free trial](https://api-portal.electricitymaps.com)). Note that the free - trial has some - [restrictions](../tutorial-extras/selecting-a-data-source.md#restrictions-electricitymaps-free-trial-user) - - ElectricityMapsFree account - See - [instruction on ElectricityMapsFree](https://www.co2signal.com/#Subscriber-Email) - for details. - -Alternatively, you can also set up your environment using VSCode Remote -Containers (Dev Container): - -- Docker -- VSCode (it is recommended to work in a Dev Container) -- [Remote Containers extension for VSCode](https://marketplace.visualstudio.com/items?itemName=ms-vscode-remote.remote-containers) - -## Data Sources - -We support multiple data sources for carbon data. At this time, a JSON file, -[WattTime](https://www.watttime.org/), -[ElectricityMaps](https://www.electricitymaps.com/), and -[ElectricityMapsFree](https://www.co2signal.com/) are supported. To use WattTime -data or Electricity Maps data, you'll need to acquire a license from them and -set the appropriate configuration information. - -You can also visit the -[selecting-a-date-source.md](../tutorial-extras/selecting-a-data-source.md) guide for more -information on data sources options, and -[data-sources.md](../architecture/data-sources.md) for detailed architecture -decisions around integrating different data providers into the carbon aware SDK. - -## Configuration - -This project uses the dotnet standard -[Microsoft.Extensions.Configuration](https://docs.microsoft.com/en-us/dotnet/core/extensions/configuration) -mechanism, which allows the user to configure their environment variables in a -unified view while making use of different configuration sources. Review the -link to understand more about the `IConfiguration` type. - -The WebAPI project uses standard configuration sources provided by -[ASPNetCore](https://docs.microsoft.com/en-us/aspnet/core/fundamentals/configuration/). -Please review this link to understand how configuration is loaded and the -priority of that configuration. - -Please note that configuration is hierarchical. The last configuration source -loaded that contains a configuration value will be the value that's used. This -means that if the same configuration value is found in both `appsettings.json` -and as an environment variable, the value from the environment variable will be -the value that's applied. - -### Configuration options - -See [configuration.md](../tutorial-extras/configuration.md) for details about how to -configure specific components of the application. - -#### Environment variables - -When adding values via environment variables, we recommend that you use the -double underscore form, rather than the colon form. Colons won't work in -non-windows environment. For example: - -```bash - DataSources__EmissionsDataSource="WattTime" -``` - -Note that double underscores are used to represent dotted notation or child -elements that you see in the JSON below. For example, to set proxy information -using environment variables, you'd do this: - -```bash - DataSources__Configurations__WattTime__UseProxy -``` - -#### Local project settings - -For local-only settings you can use environment variables, -[the Secret Manager tool](https://learn.microsoft.com/en-us/aspnet/core/security/app-secrets?view=aspnetcore-6.0&tabs=windows#secret-manager) -, or an untracked Development appsettings file to override the default project -settings. - -To use the settings file, rename a copy of the template called -`appsettings.Development.json.template` to `appsettings.Development.json` and -remove the first line of (invalid) comments. Then update any settings according -to your preferences. - -> Wherever possible, the projects leverage the -> [default .NET configuration](https://learn.microsoft.com/en-us/aspnet/core/fundamentals/configuration/?view=aspnetcore-6.0#default-application-configuration-sources) -> expectations. Thus, they can be configured using any file matching the format: -> `appsettings..json`. Where `` is the value of the -> `ASPNETCORE_ENVIRONMENT` environment variable. By convention projects tend to -> use the provided HostEnvironment constants `Development`, `Staging`, and -> `Production`. - -## Publish WebAPI with container - -You can publish Web API for Carbon Aware SDK with container. These instructions -show how to build / run container image with [Podman](https://podman.io/). - -### Build container image - -Following commands build the container which named to `carbon-aware-sdk-webapi` -from sources. - -```bash -$cd src -$podman build -t carbon-aware-sdk-webapi -f CarbonAware.WebApi/src/Dockerfile . -``` - -### Run Web API container - -Carbon Aware SDK Web API publishes the service on Port 80, so you need to map it -to local port. Following commands maps it to Port 8080. - -You also need to configure the SDK with environment variables. They are minimum -set when you use WattTime or ElectricityMaps or ElectricityMapsFree as a data -source. - -```bash -$ podman run -it --rm -p 8080:80 \ - -e DataSources__ForecastDataSource="WattTime" \ - -e DataSources__Configurations__WattTime__Type="WattTime" \ - -e DataSources__Configurations__WattTime__Username="wattTimeUsername" \ - -e DataSources__Configurations__WattTime__Password="wattTimePassword" \ - carbon-aware-sdk-webapi -``` - -or - -```bash -$ podman run -it --rm -p 8080:80 \ - -e DataSources__ForecastDataSource="ElectricityMaps" \ - -e DataSources__Configurations__ElectricityMaps__Type="ElectricityMaps" \ - -e DataSources__Configurations__ElectricityMaps__APITokenHeader="auth-token" \ - -e DataSources__Configurations__ElectricityMaps__APIToken="electricityMapsToken" \ - carbon-aware-sdk-webapi -``` - -or - -```bash -$ podman run -it --rm -p 8080:80 \ - -e DataSources__EmissionsDataSource="ElectricityMapsFree" \ - -e DataSources__Configurations__ElectricityMapsFree__Type="ElectricityMapsFree" \ - -e DataSources__Configurations__ElectricityMapsFree__token="" \ - carbon-aware-sdk-webapi -``` - -When you success to run the container, you can access it via HTTP client. - -```bash -$ curl -s http://localhost:8080/emissions/forecasts/current?location=westus2 | jq -[ - { - "generatedAt": "2022-08-10T14:10:00+00:00", - "optimalDataPoint": { - "location": "GCPD", - "timestamp": "2022-08-10T20:40:00+00:00", - "duration": 5, - "value": 440.4361702590741 - }, - : -``` - -For more information on containerization, refer to the markdown in -[containerization.md](../tutorial-basics/containerization.md). - -### Deploy Web API on Kubernetes with Helm - -You can deploy Web API as a Kubernetes application via Helm. GSF provides a chart as an OCI container, so you have to use Helm v3.8.0 or later. - -Following command creates `carbon-aware-sdk` namespace and deploys Web API into it with specified `values.yaml`. - -```bash -$ helm install casdk -n carbon-aware-sdk --create-namespace oci://ghcr.io/green-software-foundation/charts/carbon-aware-sdk --values values.yaml -``` - -`values.yaml` should contain `appsettings.json` which would be used in Web API at least. It should include data source definitions and their credentials. It would be stored as `Secret` resource. - -```yaml -appsettings: |- - { - "DataSources": { - "EmissionsDataSource": "WattTime", - "ForecastDataSource": "WattTime", - "Configurations": { - "WattTime": { - "Type": "WattTime", - "Username": "username", - "Password": "password", - "BaseURL": "https://api2.watttime.org/v2/" - } - } - } - } -``` - -Also you can include following configuration into `values.yaml`. - -```yaml -# Number of replicas -replicaCount: 1 - -image: - repository: ghcr.io/green-software-foundation/carbon-aware-sdk - pullPolicy: IfNotPresent - # You can set specified tag (equivalent with the SDK version in here) - tag: latest - -# Set the value if you want to override the name. -nameOverride: "" -fullnameOverride: "" - -serviceAccount: - # Specifies whether a service account should be created - create: true - # Annotations to add to the service account - annotations: {} - # The name of the service account to use. - # If not set and create is true, a name is generated using the fullname template - name: "" - -podAnnotations: {} - -podSecurityContext: {} - # fsGroup: 2000 - -securityContext: {} - # capabilities: - # drop: - # - ALL - # readOnlyRootFilesystem: true - # runAsNonRoot: true - # runAsUser: 1000 - -service: - type: ClusterIP - port: 80 - -ingress: - enabled: false - className: "" - annotations: {} - hosts: - - host: carbon-aware-sdk.local - paths: - - path: / - pathType: ImplementationSpecific - tls: [] - # - secretName: carbon-aware-sdk-tls - # hosts: - # - carbon-aware-sdk.local - -resources: {} - # limits: - # cpu: 100m - # memory: 128Mi - # requests: - # cpu: 100m - # memory: 128Mi - -autoscaling: - enabled: false - minReplicas: 1 - maxReplicas: 100 - targetCPUUtilizationPercentage: 80 - # targetMemoryUtilizationPercentage: 80 - -nodeSelector: {} - -tolerations: [] - -affinity: {} - -# appsettings.json -appsettings: |- - { - "DataSources": { - "EmissionsDataSource": "ElectricityMaps", - "ForecastDataSource": "WattTime", - "Configurations": { - "WattTime": { - "Type": "WattTime", - "Username": "username", - "Password": "password", - "BaseURL": "https://api2.watttime.org/v2/", - "Proxy": { - "useProxy": true, - "url": "http://10.10.10.1", - "username": "proxyUsername", - "password": "proxyPassword" - } - }, - "ElectricityMaps": { - "Type": "ElectricityMaps", - "APITokenHeader": "auth-token", - "APIToken": "myAwesomeToken", - "BaseURL": "https://api.electricitymap.org/v3/" - } - } - } - } - -# Location source -# Location data will be deployed into /app/location-sources/json . -locationSources: - enabled: false -# files: -# - fileName: custom-locations-1.json -# locations: |- -# { -# "east": { -# "Latitude": "35.68", -# "Longitude": "139.77", -# "Name": "eastdc" -# }, -# "west": { -# "Latitude": "34.6939", -# "Longitude": "135.5022", -# "Name": "westdc" -# } -# } -# - fileName: custom-locations-2.json -# locations: |- -# { -# "north": { -# "Latitude": "35.68", -# "Longitude": "139.77", -# "Name": "northdc" -# }, -# "south": { -# "Latitude": "34.6939", -# "Longitude": "135.5022", -# "Name": "southdc" -# } -# } -``` - -The video in below is demonstration to install Carbon Aware SDK via Helm. Note that installing the SDK from local directory ( ~/github-forked/carbon-aware-sdk/helm-chart ), not an OCI container. - -[!Demonstration to intall Carbon Aware SDK from local with Helm](https://github.com/Green-Software-Foundation/carbon-aware-sdk/assets/7421132/b09d8ab1-642b-442a-882f-abc802153070) +# Carbon Aware SDK +Carbon aware software does more when it can leverage greener energy sources, and less when the energy CO2 emissions are higher. + +The Carbon Aware SDK is a toolset to help you measure the carbon emissions of your software, in turn helping you **measure and reduce your software's carbon emissions**, and choose when and where you run your software to make it greener. + +![Carbon Aware Software](./images/readme/carbon-aware-software.png) + + +By knowing the carbon emissions of the energy that powers your applications, you and your organisation can leverage greener energy sources to reduce your CO2 emissions by: + +* Building AI models when carbon emissions are lower +* Deploying software into the cloud in locations that have greener energy sources +* Running software updates at greener energy time windows +* Using data to run hypothetical models to understand how you could start driving impact and reduce emissions, drive business cases for change, and create a greener future. + +Within the [Green Software Foundations Theory of Change](https://greensoftware.foundation/articles/theory-of-change), we look at 3 pillars, that being **Knowledge**, **Tech Culture**, and **Tooling** as focus areas to drive this change. The Carbon Aware SDK at it's core sits firmly in the **Tooling** pillar, and also supports the other pillars, providing **Knowledge** through emissions data to inform change, and being core enabler for the **Tech Culture** for building carbon aware software. + +Companies including UBS and Vestas have already deployed the Carbon Aware SDK to build greener software, and you can too! + +# Getting Started Overview + +Head on over to the [Getting Started Overview Guide](./casdk-docs/docs/overview/overview.md) to get up and running. + +Get started on creating sustainable software innovation for a greener future +today! + +![Green Software](./images/readme/what-is-green-software.avif) + +# How Does This Work? +You can reduce the carbon footprint of your application by just running things +at different times and in different locations. That is because not all +electricity is produced in the same way. Most is produced through burning fossil +fuels, some is produced using cleaner sources like wind and solar. + +When software does more when the electricity is clean and do less when the +electricity is dirty, or runs in a location where the energy is cleaner, we call +this **carbon aware software**. + +![Carbon Aware Software](./images/readme/types-of-green-software.png) + +The Carbon Aware SDK helps you build the carbon aware software solutions with +the intelligence to use the greenest energy sources. Run them at the greenest +time, or in the greenest locations, or both! Capture consistent telemetry and +report on your emissions reduction and make informed decisions. + +With the Carbon Aware SDK you can build software that chooses to run when the +wind is blowing, enable systems to follow the sun, moving around the world to +where energy is the greenest, and create tools that give insights and help +software innovators to make greener software decisions. All of this helps reduce +carbon emissions. + +## What is the Carbon Aware SDK? + +At its core the Carbon Aware SDK is a WebApi and Command Line Interface (CLI) to +assist in building carbon aware software. The functionality across the CLI and +WebApi is identical by design. + +You can use these to attain carbon emissions data for the energy that powers your applications, and in turn programmatically make greener decisions in your software. + +### The WebApi + +The WebApi is the preferred deployment within large organisations to centralise +management and increase control and auditability, especially in regulated +environments. It can be deployed as a container for easy management, and can be +deployed alongside an application within a cluster or separately. + +![WebApi Screenshot](./images/readme/screenshot_web_api.png) + +### The CLI + +The CLI tends to be handy for legacy integration and non-cloud deployments, +where a command-line can be used. This tends to be common with legacy DevOps +pipelines to drive deployment for integration testing where you can test your +deployment in the greenest location. + +![WebApi Screenshot](./images/readme/screenshot_cli.png) + +## Who Is Using the Carbon Aware SDK? + +The Carbon Aware SDK is being used by large and small companies around the +world. Some of the world’s biggest enterprises and software companies, through +to start-ups. Both UBS and Vestas have used the SDK, with further details over on the [adopters overview](./casdk-docs/docs/overview/adopters.md). + +Machine Learning (ML) workloads are a great example of long running compute +intensive workloads, that often are also not time critical. By moving these workloads to a different time, the carbon emissions from the ML training can be reduced by up to 15%, and by moving the location of the training this can be +reduced even further, at times by up to 50% or more. + +## What does the SDK/API provide that 3rd party data providers such as WattTime or ElectricityMaps do not? + +Many of the benefits tend to relate to removing the tight coupling of an +application from the 3rd party data source it is using, and allow the +application to focus on the sustainability impact it is looking to drive. This +abstraction allows for changing of data providers, data provider aggregation, +centralised management, auditability and traceability, and more. + +### Collaborative Effort + +The Carbon Aware SDK is a collaborative effort between companies around the +world, with the intention of providing a platform that everyone can use. This +means the API will be striving towards what solves the highest impact issues +with diverse perspectives from these organisation and contributors. + +### Standardization + +Something we are driving with the Carbon Aware SDK is towards standardisation of +the interface into these data providers. This ultimately will help to drive SCI +calculations in the future, and also helps to drive innovation. The 3rd party +API’s do differ, and the results can vary in units, from lbCO2/kWh to gCO2/Wh. +The Carbon Aware SDK will take care of all conversions to a standardised +gCO2/kWh, which becomes increasingly valuable with aggregated data sources. + +Standardisation also helps drive innovation. For example, if a 3rd party +develops tools to scale Kubernetes clusters based on emissions, they can build +against the Carbon Aware SDK. If you want to use this 3rd party tool, the SDK +allows the tool to plug in _your_ choice of data providers, not _their_ choice +of data provider. In this way the standardisation drives innovation and +flexibility of choice. + +The intention is to have other compatible tooling and software that leverages +the Carbon Aware SDK to obtain emissions data, while being agnostic to the data +provider. + +### Centralised secret and key management + +The ability to manage keys to 3rd party API’s can be centralised with the Carbon +Aware API. This means that any changes to keys or rotation can be done in a +centralised and controlled manner without exposing the keys to application +development teams. + +It also can be upgraded across all applications within an organisation when +centralised, with new data sources being added without consuming applications to +make any changes. + +In addition, the need for the Carbon Aware SDK is something that has been +identified by some of the largest enterprises when looking to drive innovation +within their own organisations by centralising the capability within their +business, creating green software engineering practices and providing the API +internally across their organisation. + +### Auditability + +Due to the API being centralised, this gives you the ability to audit a +controlled environment for when decisions are made. With increasing regulatory +need, the ability to prove sustainability actions and impact will need to be +from highly trusted sources, and having centralised management provides this +capability. + +### Aggregated Sources + +A feature we have in the roadmap is the ability aggregate data sources across +multiple providers. Different data providers have different levels of +granularity depending on region, and it may be that data provider A is preferred +in Japan, while data provider B is preferred in US regions. + +Similarly, you may have your own data for your data centres that you would +prefer to use for on premises workloads, which you can combine in aggregate with +3rd party data providers. + +## Is it possible to retrieve energy mix information from the SDK? + +Energy mix (the percentages that are from different energy sources i.e. coal, +nuclear, wind, gas, solar, tidal, hydro etc) is not provided in the API to date. +This may be a feature we will consider in the future. The SDK provides emissions +percentage information only at the moment. + +## Contributing + +The Carbon Aware SDK is open for contribution! Want to contribute? Check out the +[contribution guide](./CONTRIBUTING.md). + +## Green Software Foundation Project Summary + +The Carbon Aware SDK is a project as part of the +[Green Software Foundation](https://greensoftware.foundation/) (GSF) and the GSF +Open Source Working Group. + +### Appointments +The following are those who are currently actively working on the SDK and have made significant ongoing contributions. + +- Chair/Project lead - Vaughan Knight (Microsoft) +- Senior Technical Program Manager - Sophie Trinder (Green Software Foundation) +- Principal Contributor - Szymon Duchniewicz (Avanade) +- Principal Contributor - Dan Benitah (Avanade) +- Contributor - Bill DeRusha (Microsoft) +- Contributor - Yasumasa Suenaga (NTT Data) +- Contributor - Damien Roux (NTT Data) + +Please note that there are many others who have made contributions over time - these are all greatly appreciated, the project would not be where it is today without everyone's support. Thank you. + +### GSF Project Scope + +For developers to build carbon aware software, there is a need for a unified +baseline to be implemented. The Carbon Aware Core SDK is a project to build a +common core, that is flexible, agnostic, and open, allowing software and systems +to build around carbon aware capabilities, and provide the information so those +systems themselves become carbon aware. + +The Carbon Aware Core API will look to standardise and simplify carbon awareness +for developers through a unified API, command line interface, and modular +carbon-aware-logic plugin architecture. diff --git a/casdk-docs/docs/overview/tests.md b/casdk-docs/docs/overview/tests.md index 4dcd52596..a6b3c5079 100644 --- a/casdk-docs/docs/overview/tests.md +++ b/casdk-docs/docs/overview/tests.md @@ -1,5 +1,5 @@ --- -sidebar_position: 4 +sidebar_position: 5 --- Test coverage diff --git a/casdk-docs/docs/samples/_category_.json b/casdk-docs/docs/samples/_category_.json deleted file mode 100644 index 8a7c9b36f..000000000 --- a/casdk-docs/docs/samples/_category_.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "label": "Samples", - "position": 10, - "link": { - "type": "generated-index" - } -} diff --git a/casdk-docs/docusaurus.config.js b/casdk-docs/docusaurus.config.js index 08536d5ef..8f42e12a3 100644 --- a/casdk-docs/docusaurus.config.js +++ b/casdk-docs/docusaurus.config.js @@ -58,17 +58,17 @@ const config = { /** @type {import('@docusaurus/preset-classic').ThemeConfig} */ ({ // Replace with your project's social card - image: 'img/GSF-logo.jpg', + image: 'img/CASDK-logo.png', navbar: { title: 'Carbon Aware SDK', logo: { alt: 'Carbon Aware SDK Logo', - src: 'img/GSF-logo.jpg', + src: 'img/CASDK-logo.png', }, items: [ { type: 'doc', - docId: 'quickstart', + docId: 'overview/overview', position: 'left', label: 'Docs', }, @@ -130,7 +130,7 @@ const config = { id: 'announcementBar-0', // Increment on change // content: `⭐️ If you like Docusaurus, give it a star on GitHub and follow us on Twitter ${TwitterSvg}`, //content: `🎉️ Docusaurus v3.0 is now out! 🥳️`, - content:`\u26A0 Incubation Project This project is an incubation project being run inside the Green Software Foundation; as such, we DON'T recommend using it in any critical use case. Incubation projects are experimental, offer no support guarantee, have minimal governance and process, and may be retired at any moment. This project may one day graduate, in which case this disclaimer will be removed.

🎉️ We are running a Hackathon! CarbonHack is open to all, including software practitioners and those with a passion for Green Software. Find out more on the CarbonHack website
`, + content:`\u26A0 Graduated Project: This project is a Graduated Project, supported by the Green Software Foundation. The publicly available version documented in the README is trusted by the GSF. New versions of the project may be released, or it may move to the Maintained or Archived Stage.

🎉️ We are running a Hackathon! CarbonHack is open to all, including software practitioners and those with a passion for Green Software. Find out more on the CarbonHack website
`, backgroundColor:'#EBF2D7', textColor:'#00524f' }, diff --git a/casdk-docs/package.json b/casdk-docs/package.json index bcaeda344..06bca10a2 100644 --- a/casdk-docs/package.json +++ b/casdk-docs/package.json @@ -4,7 +4,8 @@ "private": true, "scripts": { "docusaurus": "docusaurus", - "start-with-samples": "rm -rf ./docs/samples/ && cp -r ../samples/ ./docs/samples/ && docusaurus start", + "start-with-samples": "rm -rf ./docs/samples/ && cp -r ../README.md ./docs/overview/overview.md && cp -r ../CONTRIBUTING.md ./docs/overview/contributing.md && docusaurus start", + "start-with-samples2": "rm -rf ./docs/samples/ && cp -r ../samples/ ./docs/samples/ && cp -r ../README.md ./docs/overview/overview.md && cp -r ../CONTRIBUTING.md ./docs/overview/contributing.md && docusaurus start", "start": "docusaurus start", "build": "docusaurus build", "swizzle": "docusaurus swizzle", diff --git a/casdk-docs/src/css/custom.css b/casdk-docs/src/css/custom.css index 8e90ae721..caa615560 100644 --- a/casdk-docs/src/css/custom.css +++ b/casdk-docs/src/css/custom.css @@ -30,6 +30,6 @@ --docusaurus-highlighted-code-line-bg: rgba(0, 0, 0, 0.3); } -#__blog-post-container img{ +#__blog-post-container img, .theme-doc-markdown img{ height: auto; } \ No newline at end of file diff --git a/casdk-docs/static/img/CASDK-logo.png b/casdk-docs/static/img/CASDK-logo.png new file mode 100644 index 0000000000000000000000000000000000000000..e9293eba9f54d743ba75cebe3d8485968eef7b4c GIT binary patch literal 7830 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 >wg&h$3_M&+UE~=+t-f)spsU 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 + + + + + + + + + + + + + \ No newline at end of file diff --git a/casdk-docs/static/img/favicon-32x32.png b/casdk-docs/static/img/favicon-32x32.png index 7a9c126e9cc301bc0184fd348ebd49cfaec38a40..680cfd8f672fe31c1affb2c9597f6ba74b6ceebf 100644 GIT binary patch literal 557 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE3?yBabR7dyD*}8%T-^(NltP2noC;>h$*{Jz zc64-Hb2=Ev4J`Cw$jtyUY;0^anv#KxO=p83A|SVO32ng_1Tige9vwlgC zUoeA^w1ej#r+X~73*Y^l$fIZQ=FJb;n2XviG5P;i8Lw3-sXb@5Z2tZz zQ2oTFt!tbCoUU4->aT-PaP`-)z%4f3r-TiBBQ0IUt_L>3aL&S(CWg z-#ugsZ_Y7$aw?GX>gTe~DWM4f+`H^U delta 1480 zcmV;(1vmPw1kVeQ8Gi-<0047(dh`GQ010qNS#tmY3ljhU3ljkVnw%H_00n_bL_t(o zg~eBCY*bYgzNH9-5aSOP(VDm=YD6qVBA6JW2nq}qEdrfsYo{~w-n?~&u4GDEYN0^O zQV59hqXI%pt%8cCETI-`ke!N(iV7GO6MoP^Yy&9$%sux_XMYN1(l(?_a`NuXyXT(o zerFxVe9BGcQ`#b)y(>&CaLdmXu7PDFZ@4SoFK1IVy0foYOhw}VoU^6@m}ZJ$WG0qcx@nKGDZ z?Yk3z82(grj98q4%+DtYDnqDmxjEB37+x?J@kIeJ)pI)&p|z^P-1-K_EKjDhWBgqJ zFsj^+jOwXis!lhGJWv>y5MLO;#b6M@)>b^duvmcbM}N@FfpTMB1F4&*VO+&5T6X|o z-T^>DnH`>*DTJPW^M#Ga&e6!&lO;uHxqclt+uAU?d=Z%9M&CL7hGCk?Wr_}GwGCq{ zW`lXV$Us6l2N1zP#Lb!N#(kMOnA3rE`y26D({V6YDjDa%xNAc0AY+P-^lBT%5dfoS z0AehkKYvmbz_W`=1a(daR_*-;n~xj{ae{cSWmsc(WOPPtajr&k@>0FkC@^kT5hq7Y)Ci!v52Lkb#PZ zJ=k>kAl-K7&nI#C&$A*et=d4wygDYWodFMLlvl;5mC#VBV3gI5$KZfV)B!^#2FUM{ z6MqA;efa99ABc@}&6n}ll^`wzn^Ax2S3EE`3rtEEdkwEBRECE8^E@c8ACH0A{JR>3 z0l&!Gw=1V3d1E4&tYJ`&iQ1-P*!9av44aoHB3<=h#NrY(p8g$8=g;AVrHk8t=ODKK zc!C%i637OVG$eiW7G`fq?0OnLx5NRpc7H0EN5aS@B?x`SuUby|9+z!`B`2YL&u*+g z_#Fjgzf6N%5sC#7E6c$$JdkQ^7_%(7ds*PIvVa*9a=zG#)*Cl4EI*Ho#ATUa8L4>x z+r8Mrv%vGN0HDhll;fvNSg@-O%#_1fz=KffX(4i@k_)z-Xd=Um*9CVP)^GqvkAF~X zP_1w}PVJuH2U8W4+0mpAVFvkxz<4r8B-;E921v95p zCFGTnr=h3=68dsoi-GO|D6@KjCVD}vpVxmkb-x2=&*0M4t0>*IgHn>G-h!QVxDX8D z`wQps_&%Z|m*7pgS%Yy?@jWXO)eDhI%-qj!ypPk)Bk!j!G~$dgUe5lDh(0?vSkd&mM}0!LR^+C3KI9V*G06i+*>bt zL2?q9EG8emr+=1AIy~=rUCG@(5hIs41OrhEkuTJzRm@tSi1|BSrOBqCZhr!#nkj-( zQx#d@O2z7Z4X8ePm;$bUmOf0d>g*zUUGH zP|;A2jfW0UP3QoiJHmPZfI$M$5H0#a-XD152~Ebm0>HFD@U-I{FLEO89R`%n|Cro` i|Ay#w=`jO$N&W{iM-l?#NirY+0000x+1E*xJQepHY`zi>#}nj(CE?|JLS{^4e7dhEqZ7mSPyw)Xx^&41~c%A6zrEHulZ)*)%)(-+Gu&ZRZM(H z*^8XF-(7zEE}33xo>~5A{C7QWc|QHQ*{7eeu1ibBtJAuA>ap1-uiqA%m}>@x`26?@ z(+7CF`st7V{rY~u^XPbQb9Z)Ru5xJh#ohtw`1mjru8_PN-ZhbA^Cay}@71M^;YT$V z-=;sej>3J@c~rAo_5JRe=_x7S{Z}?eOTIatiU?TU9OwTvWt^QDS6^1#SrZs%m!66ZIe-f^Odf0N+YuJ?%@uKbP8~$<+g(qN5ia zFA)Ep{@-2r?Z4Ph&R9&*bNs$U42#uBGk+LZGJfLVsf#_QWHYk!(z*17=KmdclwGQ_ z*XY=wx|k?&hI$L=IqBcT(ilH?%CFukT$q?$Av@z0g$Wqav5 zjnxDI37>cN+EZiMyC1x{sF7U_3(Yd3RRs>v zw=^veiYCk=LQT6+j6G2fvf`1HMm!TB!J1>k_&u5eNxY?YBal0zL(JonOb#&C;By;_ zc*+%c`Ei}1P3HO>P{E7`fa4%Vo>UzT`MAmv2H%IzdI65Nd~f>azDs+$ca+<{U?f8v zDa!iZ822(htODOfc+wEw0v5OIS;~GQnr^&8VF9T5&HZAr(+L+!-IU;2X8Z%`>DkwO zA)^6aAbk=m6%GKxu6Qnp+rFMiSV0G8{2k^Y%*PM=zPsrSM)tC>kR2HOvCi#Qt-UA< zzp<*P2(}%o(&yc9Qiczr;{hb#y;{r~YPC31`F4Y=UrPE`UHgRxT{CaQ*(igbP>8|+ zGehU4&Xt6 zGlCYVe}By58=!aO{?JD|=R5Z)Jl~He$Zu_+_W(?e%h%_qyom2rL!?C)IH~WkPfy?r zGPet}9-t>_(4B`sU}vtSknO54<;du%P%!mNR1@VA)tu44i6MI`$-jU1_E_(5|E1jB zF|nDyTtZF+aY$n*W^$6jv0x@wUK!>!Y4y=g(B7+I-{j)KuRe19C+Y3lC1TC9pqu4= zyXDBGr15XMHZGptC!R)zkZA^n%rSYWPP~zIDWc2Mn1OPnqtuViH_=L_U=^GvlT`fE z9cHO`NmkP%EVOR*ZPAP>EcT+IdgJzI>3oFOzmzaqHuJ+%8-PO&=p7CgQdERg|@YL-_>#?v(_kd6|8{fQ--RAW_r93asKBobIa8(+@ zI|jtzfuFU?ADo&aI{17}Oz(jz0JL1CBmD9=ST^H0ui`W(Ynrj&)Oyd@ZYhsGQ$Ai- zgQF?O4*-aZ1&GRVE_~E`_s*^R3Eaf1m1w7(95Syajql@!pFabQ-D}MKJdt#SQTePH zz{Z|zLva&&6-ftfXOAN6_dwoES9)?4>#UGoJ5k(-CFwV{EewP%t6q?te)F468Pzg11)xg7XigLt@>ntU?FAwTb^|U`HDe6sRvy&n>Zy)vo z4~%~S~*}y^f+sweD{nM~$5)u!XqA>@=SODI0VL=y>+4HvPTqO$rT4Q;lSK6MtqRRQ~7^udi>wCDRfkJ zwOEH72ni8Bk~OytIOT|3YNqhkMgk-m*d;@Qh9KST@q|+PAA>9`8pVaTH!waDI_zxD zq6R4dn2wNGjRErz78GrEqXTQs72m%vxF967U;1&6yP6`cd+GR8Y zkYm`oG*C3GG)fIDycId4hkzUn&3h4min_lY4X{uU8j#E(+eh$r%{l^FPs056 zSb@Iz%qTKP7mfqyyYY?R7z0E+qg_P+4NY=J%m}SKkyv2?U~@DxNy&uF;+iImf;8+Y zjCBBa|Lgx=Xl}1y6{7j6VG`^$&3=soA^O}>uN$*=)|ivA?L(RY33wlvoceks?Un2O z*#nuijk)D-SsT2);|5fK$f;|;$V}q%eX66MgNF~Csc3=OA7{1^07(|4fMm!!tGgHs z^r6YCewkc?1}z9IDgcmL9OS&#lDEYL1Q~W=GL}4a`zRv0vD}jUwuBxZcB}5d1|1w7 zZ@j8%PCx;VCVX7lU6}wVUqkWrpKfD$;P=~wt6nbSOERg0c+ocCg3hU#nc97YU|R}+ zzj~9;H%g(J`63Ruo`VRlDKx?XtQm-K#llJECTc)SQ3CE-&nE7XOFLQ$D6y!mDX;^- zGZ2SvF|T4k;%QIlVoZT9QcL$UAl7dDP>nkVP}Zy45yx<*r%gq1W1^h(?^ekP#|4 z*nF9E70@~j2eiIxKg$7-rhz96Z3AThWI?$bj&Y;`FsR^>pU$rzGXs8L)!v+fJn#|e zaP*yChAf1cIQ>Tu3#@}x)i0K-hOU8HGVox|J9}2_KXA*tiR)sNfF454i<%bL1BO3c zkpem?>*u&k53~+(pedjrv`sX~?}7UFxWGdk-q$5R;Uqd=#sk5I5E~Xa z-sVG8!ay1wi7;Y9MP>^kTiHOp=oSuuk;ZrH(+LbPGWc%&5%&dw_rS?<4}l#>qw)QE ztB&p8{c182sigtGK-*^uVYytDWOf;A(jVR-&9ETCV`bL6&btgKhkNy@@yhzfzUg)`0|9Lh8z)Z&&tJ#V4%{nF(#_Q9 zmFcc@)Fk}|wDy4xnbuHhfZrH8IB9>00F1Ci_X$%B@CV8Bu*3*R(|~>U1~mXE0SsiN z0#?O$YcRpt==u8=WCT_U?auTAx*L@pfd&sA>yq_sWf&PaS7~ z7B|SAWtVa!yva@d>y05gjVFJXo;emGgNc0_b=tpx>Y)%fj-KH~iGxyykLR1^M^7GK zV}Y+$Ec;LHohqgCUD~M7#a+xZRdhes&DP{zBap&IyQ8)|wCB_|L)MZUxWx9SS*m;N zqI#?NR+QI|iSD7gjxr`%0@j?ixOXp+vbj3YhZ8q zTQzkukSri-;{Mmv`PaGQsBYV@=Zkx{Cg%$eo*-?m1-)anxl@nsE3Oin{mS$wXM{Ps zPS@K>=8(AWCK4b;oKy_tNRA7(0#+wRE8rrPr~&@0Y*MJX-93?x^^T2Y7t0f|G#IMA z6yCVJ zRPjp*mJGfIMB$R#OZ78bAFwFPtzTYH+B+~sj7df!qg3|ICiiwD`~cHmr+p9?536Ly zaSF9m1tAahhdKOiUVjfJzcU{H$~|?J1w*83SEl{)H+cEJI}7q$OJnPtX_8Vkv{o1C z5;<=n2yuRPzCgTucJK1^WkZM~r{4B7wPnlK z)E9-+D;*^hWhJ}mh`npwZ*!>7q{)Ic_PYW!)in!s{*php#!MM5hT7y-o3XSqe2+P+(kEDHHb=vUA$u*Xc;lp?Fb??}B8oP8M+Vw0PvzNUHv zI93I-bfpTMV+np}wfSX?PU?~IGWUWTCrc|eB3CJ$mNRfhVdFHVgBkqDm8xe;LBjJpSB_JSzBZv{W-bhAIVL z&uYOjbGa(SRtrYvR8Zq@+U&m-GOi4Yt^bx}rDXpH|+?0onHqsV+A*##}!< zZFO`?^d<_cWOAcg zaPaEfBPk^)@<}UIrqT}z!pEu%%%z)#88)jF2V0pe|8$Z+<+l!s#)#7r-6%N(%sR81 zZLG9C1@Ci6Kl?HHF!$}~uGn+dnBvgOOyMVDxHE5l-g={YF)UEkZT*OsA4PpMm)~>F z(ctLrures;KAa>#ZH-kfJR$IsZwXdGB#BpWwQ zr$L)N$#{#5C>no5`BM%t3Wmp7;$O6|`fTs3^X5%G{h2XC0flVWJs1)(X23Uf@;?;F zSklnxF^vdKbvI4r2Fg+|96O4rK_2%k@sC2=`oA@IaEWb*rbwUj2C^1@=RJ8+a(I=A z4_>sykC$fN70Pg5)#?mhY6xvUIn70MEVy%f@4Zndz+w=s-@tAh`JiJC*=z4N4m{`8 z`1@=9ji@F>$&kH|dfN2=%>L!>`ERx*LP2jYFOv^`KuEPJ3J{(+k-9BnO;LEF!gzZe z82SA?>1(f2A_G1&)jHZ!F6pUo;?r}t=3qN2s+re|XD7;pW$pBGjJfnt7xKR0_%w80 z-+6clM5Y8}ZPn)|Kg>3>5?n#-_7yy_uBiWUZcfv?XTWCmvnB`XLc-BJR^z8pB+&X% zGkP!>HMV9*^YBp5!J(P%8HuJ886SWAn+Td zNfXv(;TU}AeO~!;{bwdOXyygGmgy|_gNc*#WhMgA#eoIj&tA4B3{h-BTkdhn<#;c1 zyJgiB!-2qqF|j;`JHfhH0kPqA6W*&od6iPnt#eS(z6~2SJb0hM0FJk18YN%5>~WsL zfogqE-r-Tkca9)a{MeM2A;+|d=a0VIF2#Pkr?7uFFw1T%3<#`+;2D#L+8?&4W6wq1 zVi}nb>FQ|f4?BA^-gA}fZ~cSIZ@tU`2ia9k{e$<(9AL6o`bf{&8)tofvwzorUXby< zxI%=m{AF>~+52Z_9&O^;L@J`UimucYZcPaK9_uP+X^?3!=l-EJa8}0n-Knu7#yOeC z%HCv(xUX68##ny&u&6(!c)J=S8`~>Qc{p zjX4^hNbfSiTH5I!G5d>}3>+)$+PL=$Uo1j6Qu^XatQM-- z*f#G-v9T3^PVA49pG3Xd`^W2VL=I+Eeb4uWnQ$$tWtQXSA8s2u9;F}D6zN60y||+= znido;w2zL$w~=u~5nNrzf>Lc(_XjpO z;1GaDI(lo^8H3-RxqJFP-*G5U{%XDm247!c&e#3K=TjbF!0=cd`lHtOZ6_J*aRL?r zc00tPPdg*L)RFRQYF(;x>lzA2XlkA^l&^RMPaygy4}6xa* zNxkLnMGgAnJ*)r}^(H7#-3(=kEqq%w$o_*a@wLKhJF_1&ub8(|E2)IDGHOw>kNYNb zxdb)aqI^bqUlIs%Z<@}QcON)l1=FPCf1h)k3s3VTCC^&7Trz;wVkxL?4#OTsEBT7_ z1%lPC)Kb-GetdZS?H5s>U{;)jS;DOK|RO0}*R=^z}Jgn$2)Bs<6|abv=%fb3xPHR|#1r*udrT%<&Q85P0T2+TZN z*_yR3xj&rr7c&z6i&Nel?yyYF)`u7V3A!&q(BozVXL1B5Y?)`zkmU?Seq5g?X0hOU zi?&GC@K^DUjeH0+`9K|PpLzo+^qs;0-eujbzE+|ZK%JZQ__*h=oR*E5^o#cKff5P9 z?uB?KNhOXytO^ZABs1YO&@v5f_X5T7Rzs~$v}>h02*oG6N=299SMJ{mqp7g16}(RX z7nB!+k~p3@`j-vB07Vazs`4F;B9K1pf8zGBnqNw)dW^6*z4ed7;= zIkmVnsZtK(WNH#<;Za29Ie?F~PaCH1?^QzNZAJ;Lw~IC3z-C zxVN4a`#$aD+;xGdYImKDpF<96hPs+y`I~`Nu2OcfXjq@ST4A@f^o(+7=_#mk^6sBCZ@{!i3=5+h$BwmE+Be;eW2!zeFza2~M|g|XWS7Bgr$ zS#b3;O`!CL9S#EF`@vhjWu?UpCk^!Z{E)Ua?k^Yk$vg&Rp0kA~JlxMczf9OH9AJXk zX<`v#gLKrFYSXHHEPI!k%cS#m4|`N@~e9Xe6x_O(hTBfzLx9g15BZ#Gu_try}4e0_rnO25sLbzkHOOZ%#Wwo@(UjhnCJy)pQ;X7dWKMzj*Map11_fppn&zrK5wljCAA%$Z4&L zJAQ@p@yzk<-EDKW;nJe9p^yFguvE?%ia<$8_zG=QKQk{?H~po4RgeB6A81OgR%mzE zM?nIA4g5PLb5s%kWQQaF$4!gh?Ngsw=-c}N8`w{x!HwFe)iiWohUn~CDu5S4U=Id2 z$3aLiictsQYB2*@=6npqLoA^F}r>LJ@slM(bo!FblK0 zHE~Xsj!K63%q3vu@tt{P@=_~{qnlsirWB`n_=MPL49EJL^$$tFrtah zzKrkE8-gt#>+GAF%D(h?F)8iInz_sz*i4l!Y)vtB!uB$cr9z?c4a_J7 zBt#v>+=oIK6YoM6i@m?*Ug904iMY_Ftn_|y()56C++%dUv4aFLnBvLHlNniCxJPrO zwNP6hR=cOC14m@iB??`}B}t;jEg4k=DTtwIe2r@B}%J#5*RRog9bk9;9erBcpJiBzDwRPPO1Y={^8Sq`Gv<7B52o#Si&+IBLy?|} z9>|9p$Ks!qyf_VhDHGLV^ae4SbX``L4IWd;5gEQATmgrZ$Qvga3901LytobWdD}yD zZa0x#M!5rZ?-=$wvg>kczFktk(a`fwT9;hM9MY;M@9AQOQ()B8`zHpkf^3$aetIviydd46Wk2`{x`+6BC-G>JJ`NS$E4@jzx+G!;(`uzc4ZL z*96Ar9Cv4e!;(Ea?qi%8jg5^;=Y>s81sS5?S8eW(|tk_B*R@qs!QfPL0?!$`caK-R_l`7N#b>zyDuSBnaI8}YHs#Dy9 z^Yp((y+043X#ey%ZXhB(i!rp*$ChM!9j1{&sG7o$#RoNj(0CIy5t9K$g*2wD-xODp z%N=3yZ50QVWQkWLGvVs{%)T=S8TJR8Qq;Q*n=fulj6{sIR%siNEu^+_cCBG-BgE%?(yjtDtu7i8T-m+flL3(SP-G4Y)n==Q`@pzhzgu_nlqA|566 zK!B)g6fZ<&v+AVi>luxVdxD;!Ek!NOE1Gm_=A6Nn(2O+gdC1emgd~gMcNxyqwC{$j zcyXdU?uip|bTK!stR?Z-F_Ruv{?@|Lw;u;ES|PUmxo5Sm_{U0-zr=a*z*n`U!1=@m zp)NX|+YU0_s?7#3`Sn>yHS4F(#{E)6sYQ~0)U#CF$|ppfipzqU#|`!j{*H986JAhR zy%qeDhRT1=W*l;%UXmc5(=?*@9HP&F=BaJ6B3DCh7{W?c9eTJ_zeeEanCO)R0TDc3 zon>l*RYx=%xMS*H{Kzg-5QDwebN@N1Q-}Lb^&RBpqM?tXFB_+jlm9UfhWjN6=q>`~AfI^kgui zB`q{qAR%ul;>L*zl{ENd*BZrZqR#P^y1rzkjmfuY2$h1tu9zQw$JED46Z`l%Q)P*- zE4O}NDQ#toHY>x25$;sMKJ)ZXhH@RdRg$GKSiK9Jpv7%e{!Kw5-}AAe?o$?mh+tt7?xBcpuN#XDsWE0&C%cHd*C;In-_kp3{gL^I zI{a3b8CSzj`IS1jKp6uJO50 zyqi8TvGP-qGnhociB5`EqSkv^(Nezze?2Lo3cj?f#-b&pfVT<$5^J`!aca$`41 zB7K|7T8Aemh~CA`(BYpw-YoNhZ#F{KwY#oLM4sI!D2N9u<<9pmJu70u9kS(xy5d)WqrjC4mQhu`SbNH@Z`DX z^ZZ&7;;zi{kU88wI#vBREE#|PS0I>h%U`ZQM+sb=oR5=^TM^Qm8a>0+PmSfHIPENh z)s779l5|H^M$Rz*IPfqWqj#PRh( zE$szf?D_nJWFs^!cWyP4*b5qL&ij43h~?Fo&t-`;*b}0Apms&npsN&Kckd%5L}#c9 zj#cN5mDJ6=i{Er>WUi)Kdk;--W*zQ*tWkWm4DR(sO$@Uo+c0xJ{ zK|k}|91e_!r*&`f-c~5$@a4OmF?AP0e)JYn<{abw8$_RzW~IdL3!1)7yN$B~d-H`N z>1|+&50uc?|M7WJX#%m4U2@!4mbfWH6sCCJWnI4fChjzMh_Sm2k!MeDt}nQVm1HrW zOAb?Qr1g}RCTRapY+ChjejMo>M?b2iiGj`bgO(KKQ0Tl zbpa1Z(fmh&R^U$lMH~3pS|I}v1RkNhE@OBa!mfOih`9utRPoP)S(E-f3(sY}1^GYnf&}k22Uut8W zaQn?;DhF79X~N1`7BN-m2*;qk*sBAPeM?U5-!H(5@vsUN)~?mPh*O@)x3-lcHxy%c zB%$Fj@3DjJ#sH#6j&2zKC6w5Q|vzw>|)LA zj`|*qy_0KT>9_x37*^;0O63Rci0l^=AHHpXGE)*NiCQ;51pYBzg3g=Z2o2ChhK8-T z4!WrGO*H$%-}?vB&|Zw;zzf|4aeR^vu}?jWyS+z*gJk$<#RqV;WX1h%EtK__7|>zF zJ;WWU+~u*k3_pyEDrQ(orb5#u^B&~*=$^%3p-9%Y3kV8Y+{@Z;T?GKl} zY+Yywi>`$#uxqmY(a#uh$ww&^Row{1dt;!x=SvpJJ}Y=T4i;GFlY9+zq>iI5ajhod zB|yqE%I9ljn^=XVev1}mc%8Heh!8Qyp;s`;oca2q95|w~WDeSk`M>)7j}!$KLhZ>A z{*kiL1+ZM?aN^Z<>LcwwT&5Y`r|DE=9CdwX^QjQQ0}2@78VvlrvdKzN5FmIXR=QLq zx|*9~l2kykBB$q=GX{Og@@b^rr1;pbW7}Iq>Wb#WOYf#|Y*KiG45e_S?r`5lcqk5T zpt6}XzGfc^yM~#=i)t-9wP|>@_>KXRrHZe)BJYJOpEyB|%X46)K|`xbs3Q zjG@%KGN?$Ih6jO&mTbNl6NHaNlW~#@C^pu#x$Q;GCd6E{bg)3`zOH>okSN~Sq&|CP z_7B;0Du)^{p-vV}m^HId1uJYoga!Y$PmFj&l4i+ilIbeM_hK{7EhafVh9uBUQKM#5 zvb4(g^j6vdFYvnlOS>(c%(@zc>~lg52*|UMCISYY=+BckSZX@}Ed)i*cCRKDxh%np zcWYzLd^v3?+4|3**Kvblf&S?WXv%K=>VO42^TLkp@g>_=Y2MVIQhhBLYc4E>7{0ge zaILV3*g@0ervIX2&(vjx3AJ@O?PGWl)p4v75?h7itTJ; znHBr@>D#BM7Hfv~GR0IDLmdM&fzHBAr7aB1)3=JnbrXsJZ~gs6YO5*rNXJ+4Tt`=z zzam^&6)!}xov-V=3`dPL)?F@-7Ehk>GA#%V#1SI>Qk7-+i7AZL7EJz-KwyQiw%V zJzvVZi-`Pg`by55H<&}uLN^d9fuyHM z=S5NVf4eB*&SF(BcwPA|5H(U6nl>+i&J`SGQecALWh;C?mtnjRd=~N#X#!ykHvwTG z4F^>OwD_p@Q4`E=a0YWhlB3%S7hm5~rh;n#2PVKk8I;`ofjIA@W3xlXBvV&-04u>) z4dp~siwCYTLkVu&Kr&Bg0-cRxIS0{Nz~M_ZJD!v69Sb0Jv4-huwv@J8AOc#3)B%I? zu={j2kz^FV%8mKxb1(2F+Il{0_PgzI%J& zj12tC$F8q(R**CTSf70jKmF?~Cmi1Q4H+%QX8+~_3~FAIJx$89?(?R5h+ekTYd zXJLn&`7rXa4sQ5&k}E{Xy&(w%Mm-p1;a<)q(|n^KL)^$b2dqe*4`qihK@BHEFgWp; zdGP5B8_>8<1EqJf8U25N2Jl(_r;c<$@&2KRDn^YNR^)W#BR2wza*Q$^Ziy9n9vtr| z;vs4iZ}LF?SAMTvAy(ES@ElX*=CX^SnfB)|F6SfyD=vNXB%DFY5(cPiIGo^m^q2{d z>2Gr)7uSLaQ%JQA(E0*9XP#3A(-_|Ngl;|k>Lh5t_H1_!m{;2+YdWCfA;%T+7^Ej^ zP#ggl)7Kj0Tcu$G$9Dpk6XEn`2^hKbPy|T!MNrxyV6r3v0Cf!^O_Wf|u0y`ZpPdWB zUC4(7yX9!>^Z@MpO@uXne7Y-ytbgE41+ZL>vGSLMk{*W~Z-_l`v-;lO04^O9(pdll z^XAV~Jkh0G_>)x^8wxnf-|4y!NJz0w7D{=zekV;q2^_h;?uQ2Pzkg8X!%QYG!R-@` zyYWENshVdKTYwU0g~Rd0pr4bKBb~49a^Y0~=l6G|?aK)R#D4^6?i`D!mI3DjwIsT$ zkt4#Y6F*$7Ry>z417pe)>RvsxBrzpOllieKnc4g$D7qT-s}XVNX#k02()m5^24yHB z2U6wTBv(vb$cu?G^4w{UKp6g9F#FA=fl=%7x#F@)$zEV2P=VpHNIEsdha~F9p@~KPbfk#Y2fut#yLHS^ z;`*sJkHLD->u2)`tK{L*YSa$SG{9N~bO>bH=?Z<%47Ktey0jmXI!kyPgrxwX6X2Or zOYdi%RMYz<;V;2l@#+xk{zoTBhdY*E#%jE^52@Q4Yu>#+L60cj`r7z1#)t-}1*}!Rb)Xz3@6XaxidmToXj8N&bC_r^C%r#Y0D=YE<`4Ze3GG#G&T+pMOhiFL{VG6V<%`U#F6GG1=&PR3cO_yUtyfx(jsaqAPHYgC_nh=`Yh7D+tGAs zq$1wylzi=SdJ7x+97OWOaOTJ{($rmtcE(-i9-_VKOSOM&7DU3N_XcP)f#Ydj5 zYPZ1DX2l>6hliGB7K{$v*lSCHpf0~EZsmAkGOmM+i{<-dDYJWhDU=Bx51a@{z*D(D zZmPFQ2%jswhPsnnN@=r9(IVA!Q9u_<$vi4tqH47zY z^r5mfQCO(vs^`}Tx9F{rHiU21M@r>QOCF@?TRXSwri^&!CMpu!>yEFlDNU1eY=G3v zT|l$hmeX?juW#>=#;6I(2J3`STgbR!x~Q^^H-4RhCK@F&_>xMLt2(XRTD3360NuY# zp}ddY^6u9d%NX+--#&7qz9yszt45!=uXA6Lt0}_}qzX~NKSWG_4%112rfbjG_v?`) zMc6Rf#~e%IzHU_`f+2_(qUwbMOQrDR16TBq_tyI<1T^@O94%SxOSg=c^1M)$69a`l;zLf7Pqe8YJFudO|4A zu6QcbsOX`h6qgVj6U;;uU9%@Je=wsJBLBL%%;y&q6f{A_~F>p8T2lrQ<472$5U~Z8~m_^=f%d; z4no7K)a6>xCom4# zGsRKX^Jn{o+jCY7aurVO@x`Nhn_$eBkv&G@vVz0CJ02^4=>|M|5q$8k3~OJ-}3Lsv7q+0;9tJm)Qm=8NL(^{Dsnq-tq+^TPg$7Ep2i`hpanoF zQR#cA&Y(}5%9)+FmPBi;HkBi)ew`*==BsY=&drC+9d#e_d8kprM<~kR3(OWC5rtQx zDE=g#5yzSHN9TZ5`#Pn?uM1v0G)cUz9%Vc2AOL%cDZwT5?=`i2E}tL{TW(2lpZ2a3 zOABQE*pmckR_uyxeZbu%Gy6rw%>{hMkk)@;e7}n%oL{8+hwsFhU+VEiP=!dgQCVa!Op5zj|_YAR#wv=}E`2~1&M2A`TnF$c2{3ruA78gP}=iaKv}SA>Yi%As&om4g%jr32e%ny>*SUIlKXv!v41NLQUyon_V zvl7d3s&Jy(=kSoC?zC5e=v;GtrY115HH@G67V1#=rKKDg1pjUoz~=6)baB3VRBz$)5oc#HKjRtgj^gi!^$`-`)3D$#lu(7Q&n z_sxurwC8wa0>VxPjlm)6XMpK`g*UygwbAUBOl7;yZx+TFVc3V-)UfEYUT2Sh|9rtm zSqo}{D^U$&0s!VN8MSU&Cvo{qHfpb+kyHM`uR4=b9(_N66a)CTB znr&Rf;jrK!Ld}!MS(yx31doS^N^~=FNw2Y0H>u-hvex^-6C1}HA>6#wILbEhpBhp(2tQLF* z9cP2EzF+tA7J&ga8#M|gD=4*3g=Me66Mc> z=lWoAfpS-QLQD7}qNxIIT6*2N$!>+N2iLZF@fEXMWfMnJ630zax4(`6s?kcF>Q1zG%?>^>r!*bSP z_;^m~Ul$PReH$v2X{mAYd*-ua684-wmjNC%u*%LY;^fqr>{O~svIZ<;Q`kGi9^J06 z;^U1xZ;fYK0>7=FPBkvO^zyts4K93NS|8imVcj%FI|EpD6-y1SR zp>var5kZJQSd2C|aVNeL9Ph?o3AQnzC)JCuT$MB;bxyy~-daU6EwB@bE>mup-6J^~ zL+B_VxI~0OeB*~h=VWR98s%jRTHgp6Kb%k^c}qG3@4DIMyHs<0LdJ&bK#j#CxIC?G z?_Kl9t>~+|{gbU4BZZd-)#2~Fq|AU8?QNM)&nATh;LHnZ_&HrtlFn~wX)Tr?pvISL zS*{jpXCE;5TC1_T+T-^OaL)j1`@$<@%@$)^+ja`=h;ikFCA#ZTBI|(RkwWXg%3zs@ z7Mx8+!P4)tej&m|cxgJ)n*9@ev{;D5r8n;mnk`-sE-Q$_GUC1xyfllq!Iea5iYgtx ze#XdaI*?p$2abu^B?MY59d5^u@j z=nAw1T~W%hX2j?;tPxV`r0#0x-9rJaHq^eV8F?1DcXWj=0P-;?`k-ZW={HFKDdSI4 zUoUy(o)LymB3SBWN=w01Ug)7ZqMI)!fWi0e;K>)-?Y!p3Ju^YfjPmiF>+&GinJ}$0 zYp*DliyaPMkQFkmU30p@o=Wh%HtN_mzt}tZV6L6P1XnLAt7_6xR-9M zc(#meij0b0#CW;`OU=vn)8707rhs`kOR(r@;TfR%;GKRbwb~odkr)<9V2}=sm!l-C zW;}bAk%F$59qoLXt(2CEDegh$?~3|b*07y}k`@U=mlv=!q!wZra@yoBFhtmI0telA z;E*mw;Utw$bi&u^;2u$e2DGu*GH7kgiSa$s|Lnad`Xi*efDURt^GC834V%61T=DM< zMpBKUNPaBAKA@=ILrXyECOXMn)n{teNz;rnSgutCC?uc2KL9^-8+D38IeBmxEzYv* z44N1yd$1GEVw+mUl1Bw}5Ur4#Ga-kUGfX)$|g}T*U%9ys9I02$DgpkpjujgQJea7ya}54rEqos zvt7y%1HlhzQda!?F(V}jzNcO=vBmDgFVGEWnC+SoQ?LIe02`977yDU!2(Hj#$x*{C z))EG{x726;phj+YWZ8vu{g?*kR;3hP*+x4~YK11C-LEsiiLF%Qvv=*+0EYK`u(ZjW z*Nb}%Kx9n({JjD>&A0%tQf3Y;8^I6?iCSs#5uj93KNw$dzFK6rq%`IE7r% zboUL%$*QI@>zp$W(RfyRdXDfI+R$6CBEPqjnn$WyBXEEE#m zI3%UTH!E|Xhas1Eas26Nkr4v8V~3JSX~>QH>83ju47a_n59zjl~( zpS0TZY@l~oNPLP(=N)+Hr;u`%8^}?5u&6*sPT)Q-Pwou@1yrI|S7rhzuVcQr=yWPV z)#aA1An~=3;#{v80$W~HCD(~R1yFKa^S=QkGiA9y03FRrdH`6&Nv}(e0>2O@d69Mq zAlW2}zW@M3PVEpqj4g)rS1@A_XcWA58VBOfkKyG$5GRlh>-x2ajKI`zSaOjbJ2E^x zfT=4SQfE5H_KeQAnKEKHyQNK)a)d2?V;%^OkUbN_JWBhI=noKfE$I+v25}4Zgbe-c z$HxMJpA_E%SRwK6g^0sd!Hj7jOvjy3Sp`l%RqVBn=>0g5=DQl_)5Tzu{Vg#b`2ZqFZJVS@zqxVR*hUd4M|qU^ebQ~HCuQz49dNR(w0 zO)I#BFr%mGB!NbOs}B!CMyAW3rN61uEV4r!#xyDTIkG?cDW~kuw$5!!`ipiv>i3)X zTNMd6wwLegVkHH52z9qclvYnd$I>2GV9h7yzS(8${yn7nB;G8We*JZ7Y74+MGdX1C zUg$6kY~FO9gwSA!cepG@?F;p&d9*jveO&JA^D6=nnQNxvxsJ^fdIDp$jW%jDeTM1^ zEd#+oHiB9LdigT#!6Faj#L{Y&eq6i7iPd#^ON;Fg#krkPJwYzp^$CDzxuRjiNl->8 zQHkrtpP;!*FlaapQ<2$Om(Pxi1R6+L+bGskSYR1TGwLW(r+O_Vw4de*<9S5scTpyY zTL@YuRl$ftwrZ3jHn_oA4E6X_(3}u-vz_M}t`b07fj%@Bvm%)YS;qHuK)swly>2u* z%*A+s&AL+KKMu-CBV`DR3Vu$_PC7!rHcIIs9$v4?$Ehi#1Q`Pn?|~7ig*=4WJ?oSj z>Wa$&@p;!ca~N`f&69gZZOC{MiANOfN)gl-AhOEhduYF~G0zkBBspXjEt{x3R0I<= z0u8KQT433uB*)E|tw7Y#mS3(rNv+7Egj99{20Az-`*)r;U1n866ltdu>WJ^D8r%CK_96F?5V<+Y$(6T zq!3Mb>FhXKPQXyO82pT2iA2}tsKw9|BK^{Xkq`8{bBKPo-y+QDs&3ewR-hOxv+oN- z!Gh9%T!Lyn)n7Pf0`u+NUnnJDaWarAngjlU{->P}wFIXE{qM_;EQHum$H%A4bLi1; zdG>0kTHcU=4q&#~zRu!K;k1t4ay$g&eui@&g>&EXrUiQ*=iY8$nW^II|Gan%ic$Q; zKc-m6(z}@n0*}Gw$0I#gFcth<7q;`eW~32goNM25K)o+WVKK<)&u1eN?u(EsLYjgb ziVpgs(!IuucvN8Z?k27)Jm^a#$=WYL}^@L%55c*@D=m^0E{73kk~mY1Huy{1F%%TP;b$oP=>30U@}iZb`;ib0$# zSx=|<#9x4h-!Fm-UiC?;;HYsMh^F!7XHtKCu8M{7F-BU0dH6d#A4T5PD=PhkDW&L8 zRAoa(a}evbegyJacT;-cev1HBJw&Ug&OQz)a&6Z8ujvRELCcY;Vkd5ro?UqApp0~n zLUylm2uve&6P>jzP=YE4M7dkOxCjf~so!R&Sr^cgz;+=;3abwS&mADyh2US6OX!~% zg$Lef$QT4&-NQjsF0B8CVIb`hn3!rfL$eXb&Ja|xMPWuQA?}U?Zc;Ygy=u)3!4pp> z#XCZYJIZg${cf)&xVP$?G=J6+$}*~!7*$TNjPI4 z12MlD_cdp-gYI5!FGD|PmgByH%N^>l`0(yIW_^MSyFtN5sh0{S7lO)L|8PcS$myX3 zRBgHb9P6vAjHV6^KOhU7*09rR1ZFIk_1lv24{DjtWSLVYhnqALCLI6&ZPIt6qU zF=@mAgZgs_UCyM)pdJc#Em}e`hg-6_Bm*G_=93x7CiFD{vPbrm*f2ocoRsr%IxzA@ zy!54PtI|B;&;wB{1n+EgA+XA){T2?nK@sPu>pooxv}D0kO;mCCQY6i%TR58yiUvm= z_ufjNMlLLp8Rge0?{1<)BBvkwl%gWD88wncE`c?fxYneG$94pjDiD* zZa=ac9xJFQf$c57C2&zDC^zpScM>FAIjqrgzku(4%I*Xa6e4RG(fy0gyNO671D3vA$H^j%cVl0(1KNO_5vkogQf}}f6!ZsQKdQw+ zQ?YgqYE->$4Tu0DW??G`b`JFOe*53Eb?A_1&jgXTEqlOZjw{9+v2u(+|euGni$v(NDrZ) zOThGla_9pXax8!Ec~e118Z{e&T^_Y=2OM0dBLm&3Ag2t=uoYxh5Qk`Epk}a3@ma96 zqX%eY#f99`(1$BxcEI{=1=+YKf6s3>_F%$c5=Cfd#IfRD9sD;iQf^=fC=pJ2%^bY@ z4YauL3UmwXb#nhl^bVkR0nBL()Cd+zNC1bE*?^Nd5{EZ5I1*fxaK$B@Q9S~C@{RAe zL6^1xE?5At12S~}TP!Mq!>+^34At-8!b(;+T>zqK1a$eq3ZTNBQkH^; z`il2P56>Tn>^K7!aO>Y7K>n77H&}sLKW6l^qawWUdtb4y{a&=G1Z~{%o)ydVD9g zg`Gt~c0h@Lv#}fLDfOYv_9F+k^ViXGPQs7~_w7Pp6h&BZYW+?QnanusAC2%8co^M4 z$vFx^YO8B^=vYrLuK~tUG?e^fu~$6l(Ol{acsI4-8#oiyf@rWp2x6{@NOE-nvesA6 zC964#0PNND1R)Bo?;^11w9jniH%aAY3nMh_M2FOHPh}9@2>MG@xCGF!rY+)`E||C_ zZ0dlk_`mR=huSh?<^7u`LA?&q@!+Oyg0OSRoxlhEfn|kiFx*@HTpV`t-lEj23@6akuNar%RpD8nu0fuNFx7poAuE)brUCn z%^S1>Sm3_$9+*}Y+4LU#^_%WVyKD^;!PEsTV`NdiVvUju!4cVDk5a=$s_iJ+TZFo!88(f8&W~5^UwyDp|dkiyiOj&Zh7g(87vc)r@R|weEji^ z3)wodutk;W;L|d4GOy)UhaN64Dyru*&})GN#soE4No#Lgfu!Fn8L%TieDF`IuBoQg z(=;G-LX!id5zA=`3jwPt=qx3~ySrR=%vclLP=3p;Px?5#FIn#t`PER+?al40pjZ_^ zalwSV!uc&VvdWKsz0`7&7JER!phHq?=C4B8y&z675cQ16nawO+fnMGt_E~?&xN6>vbV{3&%byTQQ@Go`2DQ3 zcNN5<__BdCB0}oS!4%t2+ojs;A{`$WS5N+uw;j&pOe?7-`|HSWF^AMrtb02IANJ&y z1Dapu_v4P+=zPId8GU68p!@E***LyWbQ-*~!Ax+)G|>YYUQ78V0F^8|dQbj6Co@7d zwVo zO0l<LZG#pb@0^D8?3 zLa4rUyb)@Z83A;d?IcF`X@hy+O=MG)`z$G=j)0<KnA!k;r=6La^tW zM}~{T6a_GJRqBAkSqCjAO1u--(RUyOcxA$%4=j}Ksn=;rpc^-^Ec`HrJ`hxXt_*L7 z^!#E*za@*cDC8{^>>`IoM;GWUig#Bq5+3p#iJnai3u_hBKcL_fA*s#y!r1}g?mmq@ zZbK=6dNi9|k`h?s+k=)Y>t_h2l7t<-;~AFGylEqW1_nx_HJV_qz5O?7a5vJSzv9fj zCO0F2g9|M0EVwd`f8z->fxf+iGN-p{pH*JoD|t-t8~uo*`6G#c6!*;z+q)$oTRQ3d#^ihu^dDo6bXrI zXhZSk$NuT9wd-nwmJ}$sGxMWnn04#kw@F;`p=^H;z|KY0ybwtFg7CQ{a9Y;DH zFn2}dTUr_E5l2$KTFntrNtgkJl50<-sN6Dr2V_P6fHkPY7LDyMruPnpM1Z1vdpJHl z2vS2)#{6@aD4^>LY+lzxS7>SBwMM?}18$dWKsmA#E-#ZlO9dF&7vaWu^Hjbupx5>X zrn7;K-*d|Ozq|Dy+|MS`98|Y_l8GQeAlQFz|4a-)S7ra&I>!tFDKXnn|GjYEZ8)`v$@UUyis_GnAwE8#ZW1Z)GQ8pi#SX~5- z(-EW}thp_gn_LXAe6^|sG55we{;gVICv(qo`X*oDfs!LjXlWrXC3UA%DtND|a z9C`nIb&7A3uYf1qkR*h{k1?9*=lOgWC+}}C5uAPbN$pqbJq1QpbCqgK1?h##8)zr=`yfo$JIIG;44`Zvt_ z=w0U%dhCI7+Bt$K#M~n~hn<x*c(bDyPAZmYd}ZVKh6IS2T9m^k9DC7Oi8yJ~aCN@0Qo}XEp?9?+lOR`9$VR z-~&*6lB+(~VTS59v_?|iZcRmQEaRQZ;)4lje@#Z)fU8P*jp-vV@Zh*<`a48d{HWM3 zqvzliv*yGYI?;8+v3aWRJm!5X-_%UI|0wYg#Jl)n$(oHG&&-Pq+EjEY{mC5D1TF7D z=jn*xJv|LuMcqN%tES?;ec%b2142zLAzObf%u z**I3afHOYn0wGcj24aN34B?Mit4H~KO8d-PwdICQ!$J-dQ0?7Mkf9u}y_Bvpg1>{>l#6S6Ium$H9jfH40T-TvB!yi~dV}&%fbpKQBgiy%v_1 zP^l1)o2$D)Ns1B$&u5W3rTeaO>D={wgiz*^me8&c*S?=Cy-fEW^UOVwoP~MAGO508 z8=8cgMV^@d-J=Un3qzc!f|h78f%}*p+lTKva!bytQK*4u)`@vx`(eQ*XT^8+q{7p} z5rPCvUf39HVcFT+M61QYKJJu#|ES`E2i#Tr!f#=pa0wE8acDdAj_qyslxU@Jc(EJD ziyIht>pszZ8No;#pOi26-lD}xOyn@tvvdBFRZ-!-0*i)^!+?%F$i@mEHP^egFBOvp zk4>rNAT|RDU`3bw>b%iob!SOhg5V)vht{YqtK;_Xuk82Y!+@B42x*1Cd&bR&TC_tI zH+zflu%e6C$BjH@*oGSl6I_=VwI$navE*RC_aqFsRsa=Z@r*CZjZA;`#ZtoeP6L9C zn(Xqs$k~vPPx1G3oO7LVx3 z`uI8*wf9u7twq3$te4o~oif*+S2eGSo8L6w6Cuj`iK)EdnxD8Cfvmp!RQda``u(Wiex_D1U}Z8P65{vP@qDpT zM6?UakNobF*WR@;0NcFt^?PWlCCvH@k{_2R)p5ECCvPJ8BBK3KerKEe4K7V;;B?u} zIqp!N<%SskR4W_1Q-CtvyD7^o(yBOt_fG}yP}k66tKR4p+`8xhk5Ilz6|A5PW&l6j zNXivPQ_&J0r?y?(GDnTRPMWpv%>xmNb>X(~eijwi?+RS+gpW(@{Ju(ys3-A4Ow}n~ zj1g$ey2zHie#eDj4C29)^6kBJH6+SUM&YOjDC32Gv48YeNj|mciIy0{kv*yFkGfB3 z%QqThKgAJ*F%^<`3p;vG^?H^dEI*yq#JLFlmnEb=mXSP$0yRoMy;PIS3TMDP70RshF~hrr|`7 zx37*r4Y8dbR|Hj}x`-E2{}BIk{C?oH-Fri*>A2|qBYax3A0O$LtwrkC&6Hot(pa*>1tDM7USIZcsAC_m3;p}+)X6NOk-tX0i@5$Z zOJ-@H$r`3va&Nh_FwTSLyEmMaqkLM&8;9O+#XK%&D8B6dkHP6#Fxk%46tl!%eW3?i zV|i+z(fu2l{Z??W>#WM52M=HxXOBtG)j5eYvqWo?!O+RZ)3PjignpatOXU&R9>r!#K9JM!Jt~Pj)FU4+oxamnQgZ=SXVm^4O49}|2$0shx`y4tWA?Yj0YPEHXl2MU)7?l5KH#u z7A(Y@PB`laQ77in(IZPAOrcI#Z(k9wxumoBvDAGhHjj=CS?W^TIhAN|MO-$=a;Smx zAES5Sc-WouTN{@*g?(Srokk`SHFr)@y864Q=65&TsOhBxJ_2mU_WcT;_(FWMJS*0ju23!uPi`zf%fcgYvJ_(ZF^w{!X-qh~Hz$=a(iZ|w@Sh%`8Px)x+^Dh>c ze}AARVQImZhyOo5KJR+aEleR{7HL*eEvSS%7Oc3AMAPIKW0zm}Ji0T;<8oY&k@HA?C=g^~r#w+q$98E!Qz4fB; z)c;J3uuF^U=z!ID=qR^CWIOQJI((5h5?^!f@DpG7RbLjYeJ{fU_h;L(0sFlE#fuV| z!A5bXRb2kI?3iM?K-4bvyv`LnEnAH_%OeS`<_PRr8I^8rgi1c>{7ZA`Uol#OZ#2OR zPc4oq{7XBRD=ovXa9aO z9wmZ_*4YN3r?%d?K;4*ka?{!WWOi7E^rc$3F1hF>t~K&HctwJV=fux*e4utk4|at< z=`fA;68d+o*gSUsnQC!dR#T_3zmlH!=V`W-lgpV$1r>zGdpv#bu&NvprPAVj&x?*v zrmJ;*m)<;XaLf$%T-{ZwmcFUv-aMIJ@|7EVS+81Z^S(q=Q1D*r#1}q?Cn%6YUs}H- zX=|e++A^WZJ{*nY#$K;qv~{28%F!6?Vs`G$sAG`U3dd=7el>hZUx0TD`ZaP%Uw{im zmBNiRk9Fh;?2Hl#*w1#l#Subw)=Lfg+HIl!oFcJxYlF>X%{#_29BocpA!D+b+JOz& z|G6+$Le+wzs^`Y~+bQ(d4SQ*b=hoy@-@J@D#iEVHI({p%J!r(wGq;ot`@xq;D5TTW30YSC`hpf@t@4s2} zd?lQtk;a^j55wtJ`dPe83>F^8is!DBv~272VG*bY3H#%v6h-H(OSd=1ntjAVs7R@< zszT`W8owXyOIU-Z#@b!)74C;gH~X;6s0S%!Zs*@j>WLe{per*Y$LlsXz2}l?$=flqcu4a$`oNO;`(>4ezWG%P6V;o`nU43^>Wzp z@LqRKWcG7rRfA7a?NDp;^kMhQkuGyq4_UsX*@iwu_%PwJ`Fhs54(Z_Q7XCU(o$>fT zGz^^d@D^hw5ry@%!@r5k((lE}07D)Js$)??5m)Ck4#ZVxU6XXgRZp-c@KES`*QeG7 zlI@)&ZrDd?$FZI(l$E5hVo5pp1UU@vLr1iKdiBt7ULx6|jJn#iPey<`hZvri#t8Oa zBb-vXPuHl#M~be3WLq9XF#w>pw+Z1c?q*6UMC@Qivp)n zEX8C!&4UF~TxjjZeTjrAk}yyE>O5~_hV|p!q|nm8;V@DBq$ll+#eyZIMaRZ(u_>Qjo84t6mU zpm7je$hIgS{H6;_jZ%e_v{zD{Rf7YgUGL1e+}!f{8+%83^B5lTLgKw~YvP$m36LME zP2Tg~+Gg}=#+z1_k@I-06NksXiB;Y;UG=&8Y8AN+|H&?*auY)>e%FCFLeEeUn#i@3Lg?Tg zsu16}S~HjPyL^~;6rX=5{q~B^-9Zbk2t9LYs4yl*_SDCIf6rm~;X#fSSD?S3TM>`m zi1un02jy9Nq#`ezl>u$w+PBxg9|-Md?Y?`o($m;~a@+4|KN{Sb9S7F>tr79%!?E7F zkA&WTu-Le~LJXoTk9Oy8QcAkKMvGO!thd0~Sf@ z0>IDa)lJ@a<*s|XXbTBc;kD_is-5V1oV=QTw(ZLyC~2`es+aBd*oVe-UNnBRU`kFk zc}rR}<>#*}x0M5L^pA*NboexkXDqw5(ygO0KCw(RlX;+ix5T~fio$GnAlW~L#I0oN zjyrGeO?=kBYP3u={E#MNyu=-(Diw+6Tf2mjP{m2!epy;N$a@&0(z5-CKPcmdg4E2Q zv@#Ar!ucD09T|W}z50-uoHAQ6`OfvlAiti>Z)>&lM^1%)O*_=p#9?D5=bLjy3CtA*afmb1^wZ!i(A$ zr3fFgmkX?pPCvCe&nIU3_nCLEZfSr5^Hmu_1h3c}I&wK7yqv3D(ckA&OQa-OS-noL zaDzetR|N?#(tbK@{q33YI}(0B;Mtw?G7Zu5&DJv?$8h04%@lic67k|;$7^dpxPA)} zCe37+$>s73>?09+zu|3LUX2vCax|Y=e`DmCF8JSA#YBX%ff4%X3Rv!Y3I77D@5IkKY?XVr z;0p&|B{<0b4oB$q{7c>Xs=j1mVSl>gR1#125r>sFXg~k1?iNHQ$ydzM(ZBF9jQL^K z36Ba%R(98~E1*Do{0nRLYn#XGYd6FXEUtj_|Eu?Fi%m^S@>*lDObU`LTB#KBhdB7Y zZhy%DT9n``rX|%&OrcEtoixBgT-pu97iOxd`>_z|$WI*!FOuseB;-YYJ^EoU8Hn2W z&Ry_F4g&&tB4^+?XTUW80J+m@)FvX}7pZ_GlmO&?+CnXe1%R?bxW#?_U5y{l z+2ab*4ru_8z(D-=zt=+xB3_6BHp-;H|NWynb~$tEvK7mtYZ-ym$qYo*RjqXd-QVNh zp<^nNK=m3feN8i>ukkm@9GwSPx`>hr1V*ZHf?XZ6VCz0%76t8q0~`^Ga}^peNr z8Hg=D6{9@`XuR{6=j83s&=9hFNu!9kjbpCANjmg(6a58L%%>H_+}M3AF^1fFiNC2Z zw1#53Iuc3LX0{hI(t)nrkuWd0$y9YdyGOA7`zx*DKn=}MHSU5)Ckf*=+nYLS)y%@T zKgVimu*H5F{Bwql-^YG1Bc0AC&OX1PQNmF8rg1DgluT0+)8bXsp`WpAQXf9jk^P&| z%F810S8YaDs=~(<8%3j}`x2&K7von1G%rl?T|5xpaS$D|sJMssys%?^zKf8$p(bne z+4DtHZ_Kk)J4OBuD}k2^8gCnWe)G(DE&E@%vHK;VGjefIZ##e@$i^$mci5vkGf1Rf z{#APlrJc6?Tha3`>?FnMOz3-ev) zJmb0pd|5%3KtIX-{Dv$uS$=W9%SPWhC0DC=y1F>3@hE z3;>w#n4DV*xrUEFrifFJ7_JyM{zFyKYTS9z`hJu3C8N&_ubC`nQp*I5e6;oJRocH! zfQ=lcde6nD<|B%S=eqO7UhgUltst|99j*{8FFq6YSIVtCT9BRxK0Fg8dR;XJBK>Lb zA{ztd$F2F9&&q8>t2&H7ddP|~@CR1v+v>0j=7!f@uZX5u^G~C=2`jdnK(8ny3gzD=)X4VjI2i;@t~2s>XYont`oOW;vCt z4@~OgW5r{eE*?LZ#D#_eqz_jZ51Of+b#{!iI>AG`_X51n9+cmdmn}ABEGs$}F&4lE zy&w5dt*K|Xic=a0Xmqd@GfwDYvx^YbPOapnth-Wd=ax>e&bEpXAw^dD_gX&CMXvs- zyHmB1;`)R1#+60_rhi@)>V6x=UT z81m0pi`V;fuS_GYHsVg!edn=yZ~0fRzKBo#8On|gi7hqq3vAUF+oY=KOgsNou7*bw zPEvGMon4o)J9M3gTDHjM_}&TawW&mz>%TmgZaKztXq7d8SB590rsFpcQz9r8~^?d>tP zR62;K5&&B(V~Efxn6EDpqwft65W0r?P(xib0*VCmP|)3m`UcS5Xo4;Rg*QZ?(FV(Y z3H7aL1coSmBK_}uOQaEm7{4-vLF)tFdIm(Hx}H7)ibCocK=FDg0u%*!8xVIR33_@+ zy`N|Y0)2%`2k-xPRFPLiA>wXtye{4g?FH4Ef+qp+04fQh@h@*IY5uf8dm2%gbCjr?h3LX4_WII=r3?A7KAeCP zKSut(8p}2(nX`Ue=Un|#VTTwm6e>xat@W{{naX7zLl6o>Yl-G4BH#P~D6e~X&k zi@}@oQL0N^w(Nn!@hNad`Vd1Ws$@*#(nQCVBT($S0pPVsO0aK5fC(A}O-yVXq zhj{FlJN%Y>f+)o(?z;T4+exP91;^`P{p}Z9940-##g^_01;ZBxi*4@sSo&g&?%yEI zFgGoYCVZCFo|$=XKT)Q^dZ-r*g8}QTf{MuY7$5 z-_iI=>731EcY50rUw!dbJqX95lmrvwD2SpCOg1C+Z6+=l@Zh%=8JDGpP)osTm^;3-=F4-B?VOpF4)j#Vk z%lRosVyR4Q?}xi9>!msJi8#mA@grJi)8j^~OJ5$XJx#SX&Ay-CO7c{|OQv6lrbF8y zfeq=*LdS@wTj<+4xO_A!w2E7qpzAhS`Q#02A8%WyT_R(w{6Okn7YAd`&_Jf~quv^^ zu%*{*SC*!JcBw^|>}q1n*V8Q)Xccr&vTgYGQ=nz-klCcnSLMDl1Pj7df6!Qg+7yt> zW-2(=YWqAx#LIL}C4_#tuQS{GKAGazS9rUVL@6#_oe>zO;dd;DJe5Ffsq$G!X93a% znor#dUVJEppQd^-lEaTq4?>>i&5`?CpHvm?>Z;?wGf#cqvA;NceySMOM6sJNnk~@VgSaH$=Bamku6|k_!z1yXLc&`D7JG za*+ZW)hWyvTJWv-K{~b(WF{n9t^{V0!1$?e=C&@Vd!ITRmEEl39qkYYv-p86xb^DIlw^wDd?v3eCo>+Vfzhf>?5 zv{f5a>>yLU+3U|svR-O^!T#QR-nBNnLY%{w1QW$_bIxBl0bJRM{do5o;Boex=a&O0 z@p+Xs?w6K07fR(DySD9n@>hxEmX#d-S+2hLMU2`8_*!XV7J0Q})2rYOM+1*(^z$=a z!*~{-IJ%BH?*wOHm@PP+mjl0paLmhs3Yn|il6CLN+pqXCTFh!w)6bP>#XFp(>Ym4} zcR630+Znf=B^#t%$vJCQJ7hdL!RRonRdn>d8N#*BA3+=q?>Wm)e^fu0rIm}hSQgS& zILFbwSe8=vHk9cYNmBlpP2caNykc*O3|;GaVP>_O26E*^l~f~Uq4ayQHnE|ra^<{M z#C@FZ?ErJ7>k_y-i!apq5UvDn6^FkAbbpi}+8V4SBbO^9&ReG+HcKp*V58W@y;M01 zl6h)dvS>0(iX$0G4JokOv{l#(0_D3N!Y=V;$a~#f?h`X5P(D-v?8KrZ*%euTtM!ll zM_B95$lR{s}st^f=4n?MYUWTS6(O1(Xor}3%^P3X&IZKj6pM>R313fl7HK3Aj`Zc(pJIG!GCGk zDc%2q-y^BK?Jovp-bUsG*qlHb_374c4oG;F0RK&%%li$t@lO-5w4^cf{_)BCF;)w^ z|5!8a+NVCFDN$vEUK6#ONI7T1cb*AEDkQshVU^loT;o+Z{DVHRli5uhtl78o+gr5X zA9&iJ%=3C*hLsJ!_;|=u85_IMyp{Y^ft2jXOfiJOM@7xY*RwqCDYH#o=Oz%L(lvOOM zBU;9?s`>fhgah=}uQt+*&Q+7!ou0jQT}-KBcXk4-)}m8V5Uw>T^!oD;!sgysDLYgy z>>D8keD50(TkvbMhwi^Fn<&8zcbJ}1#gD*u9ci2?Z5=j8A4y`nNByil2bqYbK-;M$GDw#PTLWwY5V*C3=^b0K@7qT@lswRc0rW3 zli6g>>!iwx!TiVm7AdI_bIo-r3T5I8&*AkdZh&!A-7V8eO~vrU`LrVf4Mo@3lX0E# zkNTy$B4(wUEg-ulL)Xynz{=;9H+IZ#gX`a)?VJtU2a?q-QlHxp*J00pC~ghI<~8U1 z)f|PNpQToBxJJFHnnS)RH^*MRZ4&)fQGbT{a3vDuB3=$^1ZG3Td(|itJMhiKXcIvV8SsNdp>FTOD zY|~U(hTx9%>}cH1;9`~OL9YFww(Md~g6-A7r?GXu;P7tKo0jMzP9e#;G(<@atUmgx zCo6-wzn^kvX(w;Kll+RdS!q=NZpYklzZbOtKi}!Ef(3bp$?@Vn3hp11wEg@+7n7VP zMO;sHmSZjXpneJJd}&aw%9aQ2j6u?s8L@0H&fJ^Dcvq$on6wbQ_1e?}wR5Z!MheXJ zMo}5v9!F>)$Pv99i-Bju?e_78f8=qS8zT?}n+nRvjFK?LOh+vjZFmyXh3meaf~Gc4%Hfk`i#x74 z<2t~59z#y_{VEQ{X)e=+wZ(&(NfHM<7*8G+TxaAJp;(TvNp>bZ)vYGPZEBUfehb_1jx7GCu~%oAqyf$7M%PWGjD!R4o;*L(d_6CLeomf| zzqzn1>q4xdoU!=PgJ|k1&O%lX!^DPmH$UOQPFz++Jbxo+ z*R@xC+{f`#-->!QeciyVN`{ygKFGhC@o-12@W|xXfBBSM{D@?x4t4_4N-H6SBncv^ zy^`Rp4}%fwILg|w@IZ&Vaq=K1pVR)afp};4{6>mmMV%^IoEMIHRs;5=dhb6nq zeJpO!fWS!YqBKX_9R0f5qrQjZn-||<)h*V(MwxfD+ng;7SMTB18gUAXYd#O(kD%C$Z*iC} z7XRa@$>P=G#als->$Qo;v}_*)q4Z9^{am!^lkOW0^=rx>Rql2#PF+cBoWq)zhPgV- z+rDXi;Iw27^_C7QGM*-5-b$rInmbKGhjW{)l6Q=LNL5>CEo{E7gUd`>kz`hNno9az z0$dq8;J4Viv;Wqen@N|>n2$9hXWjvK?xxr1T+PlnQ7IdpGVsp*;ZO^A)Gt|Xo_tI? zcojziwC3BZ^4_fV39iB}c-ZIYa1xei#vC@KIzj-{NVqLTzJF)8RpBu&&TRYxyev^@ zj_F#Q5ucpt@bN{q&bozQ5bCyouznlx?(CnEb){qI z?YPa3%^Xud!7v=e8{wZmHgA^sLaSb~^Q%Fj*~#BqOIS zX9e{^m2HB@1S>o`>fTXyH~i($iVCkkw|+0{-xijn==^eBiTBn>Lw#HxLnuCaI51W& z^sNm2k)X`qJxY#$W_clEBsdaX2cx+kvrj7X!aucO`9wAE8)?f&m}L>+5od8bsQdu} z>Vge532E+FeuA2}=>9C+=tM?p_HgjpG_5Q-46eAE@J#LdlxXk!e#4f)i7wj9yW%gM zv9mC8nmp!2@xPcrlHG+(m7J2iey_8}xHeLWtq_z(lQo&s_+bXD;PllUS7J}HPbv?m zzg1!!k)YR{fvg=TJz!TX1`t04lyu!zC4B=tE@RS#K-JX)jYE70cf)Ln~f#ogWArMSDh^YJ|I z_pZC{KQ}W;CbKdt*|TRSzhqCS{5J_qbP{wpI5%zs3uD->~N51gB!^`o#)sno` zv#_qmj&OyJn=?N15CRZBl3M!K$iri7|HH|}8J}20ceJsAu!5_If@$STMf&D` zvD?<`Yuxxl+u@^)$glhD13nS+=G9w1k$|sIg(e@BGE0RRQH8XTr|r`xKE1!g#}DNT zPk9H=k|l=+7wZOcst@Bk6;4W|<0aGg#@5g8PCK6-hL+k>j+;X5TTY=3{`t-}vq}1n${N%6&)e6BN3&(m z*HhDT%MblYyH}6=W=ZjO#*YsR78z550o|%LX<@>y9c3>H+m{DNo$+eQVPOh+x(eTY ztLBa#VWo579mAo*&iBVJm%H=U<_cF2kL?$W)ybYha^_jpGgWoXYoj%0_J5)iGOR+9 zL>1k_ER@tF6~>EZ()`Wh@XmtQd|7C7X4Q;-Vh_1} z`mRq%4;Ty%ZF3H51FS6~{VuBMUMYXQ&SDW#S@PvNv|QoH`u6b9eRfRmBtz&OB98 zR9M+<;b^J@t(zPhPG|_Hm^<1>v0XI_ED64i$7^1iW0~rre0z!i8`cz-Oq0`HfB#d_ z8k26Bq3_uFZuCp4`!+Zc%=u}4QDHWcWBMsd7w^c@Nj->&ENJaG=jp~^Ra+z#b%Ui< z%2>XF)*h!j5I~@3Odl%Cat9}N#^`~gFg;FkhEpDPS^(&I-))fxk(Zb6-tD<9c`qh5 z5k>&~n4`+<@tMxU@g_C-dG&wqPnAA||=3sfG4 zJC8kCZ#YIL^$QR@8IY^8`XH26hslr~xQEb_qNznnL2{eUPr6ozD?;}Vxr+I{d^cSn zn}~%iqOI_Ou2fCVyQSF;thsu5-Q+I=2l9)mXtbcCm>ObIlYazj@J3cnulw}Yyq+k`Xy zbWo6h7$-M_gBmL(3lK>2&P-A^OTuO0Z2XpQgDQ){JJ5nf{~?PJoFUAMYW^%p31`+R zw>Q4OIM1SgfWQgH_R(q9vH_u>mz=BK(tFB(Q_jPD+$S2=D$(hrchw_O#fyi9y^R{9 zYeG?02*%jz%W$BS5%(*{w%|u=U!`Q|)w}sGWkT~gP+FHes~>cdaus|^EQxIALhlGL z3>!7j!0yD^%6-(4f#>BuersQh*MuwepMFS@E{x-C@wh55-}Ysigj9IokYo zYLHDu9^2ZPlAH;N`ie(fRE{`dx3!Ql>dgUUW@cgG4Jz(XYUKXUb}HX-d!?z0K=6T~ z%1jivkx8L|QvK0>WO!<(WpL!*iF<^gH26q#8I&z}jl1d1BIPv#A!}rQ{IUGJ_19X8 zx@Rq4^8CctPOnBwhkr9Zn?|UNMc*!stG4H~!SK+0j?)b0QII4t$bp9Io&9?Mx3*A@ zW8Gi}mBF;+!r{-i1um^-{G8lvU#fniq#j-4Urtrqz5|b$f%!abtdDutGxY(9u>$tr zIDABf+jSB?{k2VNRwT-RhqDC%IH?jWE>{fewnW5+#+=>xIqI0=a=&XrM1nlr9L#M9 ziHdT}>$LZfubAgWbYI30H-2wit0uEQ3G+Q-{ZMm550d>?zM@%)vNI!=VFQ_}ZIKhs z5IA6QzvG2&XFUk2HR2b9xx2l-7b&tI@#WWM`%z58f=%L^&erQ*<{c6tuk~ewA$KA~ z*3s*qpu2jN{IAi8p-b6F&)?9x+WAWvHC92Cb!A{P-xuZ0O@l3CflF)f1p7=S$O9hF zecl$de*EtTKa2iHU{6~VwEs7$coXDb=|zauowxQtSVz!CIyE7-j(8_$mSJOUNMe09 zW00_#G70AO?+*499$WY9*dAh)U!f0(e~|WA2ar2ITy^(?N|=XV3V`yrH1iVgd&VDIKRuD0oC|gMsi*k|4&L#r^s)*s$wXqP*)!*HeW&~G=7;TQf4nuF zDWp&8eTfrD9MUc0&c0;D!Y_Y?L{6B%Dl=&Nfc_8%JM(VM_zR0Oz(|i#tPxjDubuVC z>qfGEtua>tH+(nFr{I^Y@@cZP33RrO!z%9YilbMx;fb_MB1Pg=*Tik^z{^H#{S{&D<^O>ksKSQVZ|$%* z$bqt10kQiAsz<$|0WM#*y8e<$VwlIV%9RgH(d6!Hs5AWV&8>r7t7sozA7i*5=bwHT z7r*kwaqyRLcGRDCNNjcy#-BfM<{vtb`OKBhe)lq}-23BRka#yK+7MtQi~xUjunxo* za8AkL!1%ziabFL^iGuOCUS~NOqsEn^kQ!*ph|G1rq`=Nj{XPDg(1F6BP!N$Wl^Nke z|9eAA*sVSmg5|AT{Mq^VaLTvd_rXRiQCzZDeqx=(@>xIl{YZ$Y0ReTL3xyagi8gSE zgD1b*e;=+PeS;^`M2-reR1sPwoO)Vq8qc3)eu z)l7IPr-&pMB}N`A?G@$!X?WIdh$K@EO|jS3@!?0LAY+=-h%a8|-GX0Z753XlATA~P z_~|aD*SlSAsRQ^6LVaa?6AUxz@bs1G^hXi*!+jXl;P@5`lNV5qNTQ{CtRrBE2Aqa; zlxG(6K3BzRv06p4z9(j>;6M7QnmGH&cGgk2{?1P_xLTb+mc}BcA{yWrgwn&LteW7+ zZgPLnUjL3sGZnfuWd=r6vTh!c5KJ{D&=x$BO$*udo_-l5= zzxWyG704v0|F;jsD62%GB7iFG_TI5XpCS_wp_B&L#2zhbjJ20B_YyD8;XlK2qKe={ znxf(aJi_>|ump@FV#^)}_eNj58gk#c(MH6W2`lR!#l&Y${#qVunfLm{pdZ?+N7KiM zK8)DG_jjMu-I2&?>G3HNS858z^wG$>@dJ z)z#G0#C6PfXL#6GG1yJ+$-|jeiRr`!c3=J13Th;HFW-!RuYcLeL$7AS*ry{?dGSml zoAmYNaOg|s&bLQCj36+$5#4xuWRqjJMpd|o7i%OXJ5MO4NX(*{gRLHaFBs_}hl}~W zIHVrgviWq_-3>x^FJwu6GK~XbYz&y+_-UB);Y8BYCDt6{gse@MJ7&xrxD!FK z9k^v%OAcG43#i-w4o#Pf!jJ^o_l;%9Oy0qraIazR2*309=0zXhRSewJ-3mO+kB*a3qZrVR7~S5N-|l*il3Y;iuWZ_}Q0+c{ z9>N_Ar-0C!>I-7oti4-~dZ&71+hF*y#sE0C^c7`kY&qWCjPA^zDc&cY@2(D>Qsj9A5U9+k!QyZwO}qzI4kKpFC86$AyAB95SkyfX+Y zZUX}z51#Hfnuxz%L;y&k6qie(D!>AA*kKlHodi7$c(5v9fNI|0BIn0|E`@hh9;cFcP zc$OEO23|woGG!GNgE0)n%@BXugC?V0ogov9DpIpOJX8{Y{eBD8g&hnY*~|{Lvz#PH zY-oQOjqE!%>f|p$-SXfi#zK`mwx=>hb5bl=*Sg&o(nwc*kCnQ)&0YVPV4f8LQjXY- zbP|d*mnqz!&N)(%)N~P|R5Xwqzd^i!THo8|``Znq`HD)b}?agfHDS z#}gkfTwO(8Qs0C3*o>8hF%={D1TUOnbC#sSTf3r>xEn6y_YGNO8$$gfZl`|J?cdw= z`k+oonfJV+C`5Rl&cAieBvq8XCtUf@wyui_-=eZ+NU+a`U!%X1g`sTh+r$1yaUypX zrJd#p*qp}9RbrLl4dv)D(Y3?hGe6?=%Y7tPk)GP3Ka5Qo&Bm^RXcqm1Fs^UqIA|jh zzE`kTy9{*evRS=Z=U43vB;_{w^iJ82?QVKZ+Kvyu5@|Fg1Y3e`HZ}L6d-LIU@W@ve z!Z>Qf5x!g;0WIlXcTrv~N)0_@1sV0-T#_A5JqGh1!Yd%G39o5=<3i+oV z-mg3ECZ8{sHyCulXM|g9{Ob_ z7nt|{=kphcN`4HYrX%Q-VH`W_Eb_Kcof0EnC=kJvF5FDnd9%F#N0<*pg#S-f^4B?W`Tx6~!JL&yPFT(tpZA?$+#I58+3{Yk!1XwBnpg{c zauz{4OA3X8KmsGQpWbH1HK8elxLXhC1QJtQY^I#H{2Mm*u{Dm zXnG8Bgi~DM1x29hoxmS?qI#m1uCB?${l2A#Om9>S1`u1oJT6&s$GE{^*F7F1k(=ju zbbojx3WnD=;`J*ZWo4cENx#Q^zFV=9j(Wh05~w>z`90v8DMJCVA5};0~VgxFiHe!6wlt8L6?h|^{=0rU8d%? z%615CA@9ut#I%&8R(Oe&kSMI+f)n#$Qo6LpzuAIUbsU~^hVo@zaqRGv>AH@C8paJQ zkss{zHpZO$u$ee%uksmyjO;5?x9XsPB7ktDp= zveHMs=lKSvHBXtRuM2#4@eMXc-t%;bRS8f~4(x_TE#@?vJ zyU@!WE1x}#i!Lc}y|qJm^O{md^&o&U5}uTca=Qgg@~N3j;u0hR^Qx5 zZ(ldg_;0L~5_lLBq+l~R=|I}YLgDA=L+E>iEmQ6i5{gCFlWGVG#k zJ_Fv4zUOp`3t1i9xkOlU25*=tqnCRs##Yycf7kAUOK)O=PPniUg}sABQrUI;xpfJU z;-r%J^PgmxBI=J<-+{}(27W3sIeLjmV36(Ekxs-3DfrKlt6A%rj&bx>K3XYL9_Lu! zO>!=Kd+ASqV66AmW8g)&H(#wVb_fETh1FN>4ooZ3_DO-61 z_d)Yh&2w-`ftGg?CoiTdF^a!t>RQKC3N~d&+(Pg#_FSHmGDqELb%w%ts)%POaGjFf zEqfPTr)ak=j z%4>S<80AKUd?pdmsDB8WtbCft6c!EM2qkylls@0sO>Sak zC49)pCkk4Kgs;YHA_^+taTS8j4S{A!-Tsw%%mf>d%b+ULeoF%rZ%`mL8x2ak4W``g zPv?2|j<-}BKC*actavv(zj}F1$nw zmz19jx4s^%^ONCgUAxqCLx!8S~i8=e;-R7oh4NxYw+M| z%1p*~(~BeZoSC*D6#*VQ$ydikG-^&A(kXfDWwb0@Pb22p22VjNmak_KT{cT7C65(7 z;Le$^+bdkm1oR!%w|u2o*oYnk$D!|0#-Y1RwJDib(IPP`Cpf9sEIvW!3#1YD9*wCe zn-r^@Luz!DAT_Th5hUg%llyON?(t{j?TUYqc~X1Qrf|B|eTQY8lann*jArdLFG2^* zodu!;32*KcE8l4_Ts|6in->0go{|~`jD&@GqiFhddYVy9V)9Brml)DMpC>VMT}j7R zx_XF1ar?&~R!z1_-4p7z=H+A=F^vTxaBJS_$-QI@@=wt1`P2La8EpbYw!FTa$#vO~ z2BG~s2|(tNv*ZC!m+TN1_7BSRw=5Gxz8g0PMl3`YEgv85LRJInpg;x?PHBtMfWvx1 z-V@J1_VPaLYoADOFqGI&k{Et1eI_11wPx=+b?`3sbntvZ;ZV%bW~T2tc+nv|XyXD(*UZ&Gy;O z6m-~XQ&gbWgD|#Fz$+AleeG-V(a97}S*KWWPX&GLHpE44zTKPeO89;DG{!&D?6gM% z_r7M>MZzTG?7yC%{G`Cmj`%DlOG$Bih}xi+y0jhp*#V6TNGpbR3Oa9ZTWe~yEO|~f zb}{7hv`f3;t{Q{9l@~2fH8P(cpJ#P@SE!EM?-5JMRw2#ZbI4!=d|&Ausp`~n4Jpr29YR0;sJX{F<-+NVpAL^#kfIN;BvyH`Ay0^ z{TQ94I{^fE7ofP7l1T5$zt`J|2<>Tal1yJ>I{`e?ph_I+h&V<8s{JQ-0&qctig(K? zj4$h-rUhAkV86osxC5}lNInaDFI=pl3xJNG8QVlz6feS3OXChr4iHMiDPm<7kH zekuQwp!yuq4tPr_?D_p`7QqfUt8EMHas$KqZtCNkOQu8fucZvfU0tx1)$73hw#U6t zUWaL??|0|+Vvlz`8n>i=OC`&rtIb$d2@OMXXF68uSPBpCOjY3g)y__4Q|dNiatGTd z&s(n%)(x&U2_1%eL^?0f9o*=GTWF%y0ASi5VE{Zoyy;I}n`%V$=|1pGpD)QoyA%WH zqBaVv4g2X`gmVEn!eUiB*#+KA?)^O5+yzDgJju5n#)|vq^FA--)akzX84e>qn}Z&% z^09)?#;MSOq_R_(PEOgllK_AtK^(yHj3DcOq^U`*_Z?bdiGm9On2kF|QUi zMvyP1tN+>fgpzF}9KO>$ruIjeu4>kmsG3%|5$eCntom-YbAp>c*DZMF$y=Y5>AVqi zYYoK!?U8XQt0DfNSu@b&oSwY?%oX<_*R9I|%8+e0JMfw)JtG&c)%OSg zWs8X3e~?eAWg~cJx)SeGa*DMM?Ht5(b?VE&N+YS3@3gq2v@GAN?yPv{-prgHu-b%) z8%efo`@1A8ypf~~BNm%WR7-%bDm8mmtLVbUEby^eUdL~dciJh#8R>M^SzsqM)nbf^ zyG2B6pLtk>AQZ{rz_;uRzfg&hkX=Yu7ccwC2TI>BcTN092iX!zBMivr*La+DkTnDQ z1TtB%JTFjV)gKmOelywAXtL@6C)Q+S}jC3*^vCf1-7I0#Ty;xf*m zR@ELL>iF}x?%Y^+bhSQ5^#VybENU0}M)w9A0_XD# zuJ@o17Yv+#Y&zf)*q=*|+zQ#IAL>;|#fIGqzq#qZoN@31Z8&DwS##T=C{y%v3m5X2 z2nGNIoFLj749z9D5Bw5+Ldye)Q+;XGc{+R<4HJ$+;YGduM5laSC*&kK#0S44Q-fg9 zwT%I`ro@I6SdMEIvs?~mz$k;Q31I-G=Pvk9L%2C+GFv5aMHtsCP z5Ucf#2{uUfOyWH3mN8lQbN9g{KLFc` z6%erX{Ge8#jD>sEQRar0J^sB3BhYAzNh*<+TR8}^%H)ZZn<`}4+Dp)GoIw2g(=HmY z)LMV8no1yCxz&F&agd^!+a5A*fQRxTAN-s3!gh{ptz*F&&aGOi$*QwBc*?J|t(NJy zE%VzOuGBzKu+H7GNbVpun$mNMZdrO}EPOCX#;G5y^Rqym;U8Z`cwix)r3yTJ=$Zav z*fO##Y8Dd%cLr)m^?J6+wup*;ca;b7Zjwc5hT8j9;Mm^oLs;{6hwb5|UF|(DOP~rn zqDm2ZW<&$OyWKPLu`IuEgvv7-&{x^(96JecP$*5J`L~deaN`p?kVrNnkXPrsT3DD{ zv}+}*lOftC&CjK=YnCM$cNNTKM|OgLaWHgaTDWXGDmzF{=g@$8Ma^@}_J!j4bW2Qt z_qa#j-X~dzCV`o+$!y+3k-}p!8Hnp#0_aoMq}l_EooVAVMh8{%%67Y&={wUaW7a!L zWa7jIY#7<;?hm*R6Xyps>nU~7)jGR;88QJH@k=IoH3OM!i2x0H9qMpOI&CzdJ;AD= ze1@+d?klze8t}Ek3uL6g<}Tl{U}=Q$0KEWo#>&3&;=pR^X9sB096KuCsN%}2z!tt*c-%j?r*?GG^vUr1k+*j$SR+bs~q8-HuSGe}j#UKgChbOiK^DIeHfB8b4Z1%d@+NaLK zLGTI3QQ?feyS;t<^nB)!``N{4+TZwnAd`0d!C$o*&g;fLqoRv!sf35;6_vl!_dtob zt-`|;r<$wqCLTg#@t{htgK<+LPn0ScqadfQqr;h#yD$|$+HB;|k8|vM|8bPV7VTX` zGLw(}nvc=3kfIj19pmocY%0>!9vk~4<4>8(8M?7Tq;HmyosAsV3>*gH` z&Eus3b!pD^hvZHb)6!K5&zS5(U9i@^(zNFT+JN3)UhqVY9KTG^-3D!np)tt|>qc*8< z0VZTS^Jowv2R7OE zh8l`*PT^j@O46dGkNAC(%@7<+q~pS&N#V81iE9$4t&nmefp6)CT2iy|oK;6H#UOou zFpS1YsNFP3^HaM}!?w0)ymiJZHu#G$S@AJzB${*d6U|%^wILe&2EiuI!U3g-eb-c2 zP~}C30}S;En$>jH z3ghhSIC6`DTi?*n5>S+P2vFcS+G*G3{a>qG0s>jWH@8IL8NB|%atH&tKUx7t@#WX2 zyp*(pAOo8h4O#q4gSwA@6}G#wyLDppfEo8l-Efx_Cyx?0NG}0f`BsoM64>~=*}P;o z_PrUTNyX4hF3z^!{-<9l7k>e(p<~AQNFOFf06Pm4cAk6z#$w3|q)iL3Y}1poQ|i9l64U_ss^otKgX) z>MAgH|C#)J{jYA1$K~isL#rsx4})fky{tUtR8BBqM+hXL$vZlF_~T$Hp@o5H%sUNi zd{G<&gNbJmVOM&bA(_T3Wheh2)G%_|kOSWk$aLE{`xp;|Yh^cbC73@Z12C-robvh+eT3A>PGEyiwdAq^ct$^(+TQ;y z;$>YW5w8xnOnOMAY?|CDD_xN|ls)ayvZySq>r7y;FXstQZW_zdyjM(%z;xsMBqge3imm*4ev zBTAwG>eSHFz}gXyBclN{26&)KFObBm&uGi8nSu9a>j&l$_rO<^4<$~|9@Nm8t~33A z{CuwuiZa}6>ztco*6Wer@iA-SBd`@nRx9Qq_N;yRPr4B*zF|OAXyP2jHC2X1@|k{d zWto~@&Pet()$eJCV?`u3ej;cv!1}9KKpKq6r-Cln=7iB`M&>DyBUgXtBvER!qs4N3 zhHEG!vlL~`e`Q_Bm`dIa8KkN#LbmyMURiB~wqo4db=U*bD#jLV>I_7+PCmmnFDHuF zZU^^K+vn!h@_8c)RwJ*&pBNzM^8HzJMobH$uMf#3-UZGKAiFWPO_wrdT7PD2uCU&2 zz_Wm$&E`7Htsv3l=SY8Wjyo<5udijy=FQ}(n*9g0j4ffDoSXlV@IV8e*$>|Q@y?P| zw3dSiWTsa5spxE{Bb(C(=gpf6HdQ>7%{TWBryhA|RdDXK)|sCwoqoMdnu<|+^^Acj zD1rU4NdwNx<)R)<2Ee1HLtW>cFo8rBl_Jt?!t8&C_jjr8o$~jsFE80@ajgJ5|5`Q0}_D? z_=2>xPM{mo@zvceJLT6SNZa`MuTbyp)ka}MrrWCQv|@C<_jUyGh_XcMbVCg932LvA zy^ed018#f6XKWQ}Z}TKW!GFqizO|QjyY6!Ps`Y>**ks8-yb2N?%haHEK@;5$nY)?Z zncc(ikQn>Mw&lz|^8_<65)&S^gF?SqnTDUmcW*2bfKl^+vSW_#7LqOFVEg8lKgFhA zmf@ioBtcy_20iUX8D^VAR9+Kc`gihQ|f<)5ds}R!ZE}L&f$X z-ai0C5AMf_3o$?SnEONZKg9}SXZl0+K@YMm3D;DYO!OcUx&46#vy#Z=AAn6(^`s!e zS+|O&&{NayQ?|dEO}cJ&j~*`0dXrU>R4JjjDu1SMkVRc+=8;)HXnm*rdEXV?3Ig`p zICgi<%de8HVMhS|CXa2ZIz@odfLHHKzUth~z5qb6bLk6_Ot0!7pz5h^f+!pn|F72X zb@o7ng3DzI*aOhe-CWb(%Ve>NCksB6VAxJr`+q^Yx_vVae(eQ zwMDs?UX81=B)oKmSX>(t)cpFB;#PP8-K88VT>?R$AI~WX(~K${!sME^>@~WfD|@TO zdKR@RQS zx&Rc*&+>nLS+k08>;E9O%8jRfvnW#6`aA5WZ}bChXTgV|^T(-)#(&N7SKdbc#=D)9 zV_#LTyb~I-Ltw1GSC5w4q`HJi0d|3fADI#q_bBU=cpLGZu{%0SB1c>OfmwUAu;|i_ zzc0uFO(kmKG2*n^sb`eV?;Z z>TwipbXY;-yi9_H;#sbO5@z7OdWi{R*!d96~4ptUz<$Teqi8`A72#6#l1>l0xCe0k<~Tk!um z2)Ez^_@5}I5Sj{6AD4>zZPb-b#zNBBwZg7>f0O_>F)kS|bP}Hu0-t@Xm~dP2YRgt5 zlLlS;l1rS3bIzV^x7Hg{Bc`I7PL`%lR9sK0Sb$OQfhwctLyHB2DQTG*D$;pAQ`FV$JE61 zHZk^G=+NZSz$&G805&&jRqEAr|Hy5zhS<`zb7CXE&TwaE%gw@JO~mXv(uh}haCg>2 zw)hYi3b>{NNlAIqgd6h7Ee_4pr>akPM7!V>F~h zcTqZ?5vF*hh?B5oyTPS|-2pd$fM_uS7QX0?aY{j3twxy()UIN!hfOMTT8M8s!tF(j ztzh1H7FQFlwiQuP?8Y|saBd$-hgt);cQMd^s( zjhX?N1&^LeS!$Y(;>o~$JXW<`s|Umif+(`r(c|>w*K~Lj1zrY7g$A zwsY2Q$3#R4MFQ>BpuF6;I z7^`HMBtriiE<%5QnU~q3eQwgFA^4?_Eed$e^oPM;k|ZDwBoU{ohnjuRXx|qNvo?>Z&FYk}pfzclT6klNr zcW27wkC1f1W`0!&|LWb!Ipw~_0slq0*!TM|HZUl;50|Lk(Hz22{`=5In*tal@v+Dw zI}eX%@xgOBg_7rBr^vVe9>I0BM6epv6!o&I@?o zNpvbP??!|eJV?2YT}Sw3_lJ3Iq5G`egbYEUPHBZ2ZEjs77yr2;B99#JL@1k!NHiAb zh=D4ZQmN`BX|LHsF}(kj67{+OtyhK-IFLW z6aeIN_4a8(sUu;I`KEVCI3%C~aU)4b_v%L;&AZ1oqb8JHoPY1=;6*SLH;fP7`>G%# zY|cLd*cwOo?mm}#6St(|nLA>7DO~npB?i?1+sL$LOj-6%#1HH;dpcp>X%c2eC5YV%3qKd6eLAshjgzJw zkft$IAqBbe`oXe4QX^UEx`~Uz7z4BhGN{w8#KBk57cyLj30!WUO+MOq8?AWNoD&}p zX%&W8gdjp}6d^|amF;}5F?fnC?iw%tD8(OCe7ba=FI?pl;+gM@|JQp!7U64FkUa17m$$8{y~Exm zgXT*ZO@(52me~znv&*M@p<+!zpgpFYL+<01+ZMF%xkHe@)JtAt@8`|a?!J2zSMHAz z=?2wq{xRx^`yv|$%Pf=^e^pLTwZ4gVnAm)L21RNI44Y%O89;ZRmHwwIIuZVo^rFM` z@ChE-9D;O6cxXsU>S#98{7-0D<{bXOyBUN;zXKcuDEmwGd%VZFBbT%WiePo-?gD>Z zIecevczKf$<&=c$fkVX)*@}A@?6sJE$(_FgjG)OLF#eAoM8Ch!${3!8#4(5!e4u|b zqm+9VhQktVz1ZnrcjX6pEMK^n!B5#2!u;a8A0v?84OQ^9l-_nq5Y3F~6nceJ8n*~1 z9=Xpu-^56PqK~(6@ZBrpK8E}Y08md6{fUSj*+5)LQscVeNbGzzz|xgFigq&}O(lPG1pgp6N#dDJ0z==S>?jtk|`odbJmm3kxJ6Svz5Dm*TZ`N zkgbh$vHYwumo(`WjUEGZXg%L>!+OD;OETiYgtapXc%$387vY!5h5l)-(*Sl*SOseC`G& zB>6!=j7m!p*GE6zYA&~rayT{T8P`QRbKk(q*6MxNc^SEZC*yjgTyo#nrS7vT2Vq56 z)mcMGB-f(;N5Ax~UY>`MydeUlG?>ukZfth@f?yy~HO`_oN`dak!4FRsZG4Pzf;mF) zpTQR@o0(toMu&NF9Y~9IIA@z-_z^(0OCLya(+LMJQ3Mbr@VrBx1ww>zM%FzhDZ+73x;SBnrER17EJPS6fp6{n-1rky(co%k?dlv0(bX;I(QOh2%A){V zV8@+4%ls+vhqu1pDiMqADiH0mBZe2axsR{)-g}81f64UGA-kKu;keU2WEG6BP%q!j zp5}BzykGL>jIg*9Iutr4!8rM@IYZc|_$d`g$L{adPiSgVp+7eC*K!Tzg0qW-ItfU% z8F;=P2EB))@yE_HZ*u?dmOC{*TI@kKO;MsFxUPj@MrE^1}^fAN-Uh5NU9N^k)@`fsA$E7zjfu|IYR*# z_!;^TKm-mwg<;^ld#OBFe&f+fYwK z*~A;p{)-QmKPjTfSNuA@Ch;6_m0S760+aGP+nI1I0t@Gj?t-LWybljR=w65mEn%CX z|93y^3Yir$P3DH!g0_voN_R)jLnOQS(p!HB7fsPO#{m{)8v&Tb+Ajm}6TGm`)3A}v zMVWK&{aia?wAH`{k&QB{q}tM+EruGD;Jfqy!JvmOxj7cxK-C~#S6=*oPL+{c_TsdDq+gGAzzk~DK zUJi0rITLo!=WV@B6YpoyC0hTl(1g*b6bFhBGbLTLZvL(UI?I=KQXF*0 zH44JVJ)Iq(4;_5TiWn;RSA>C5ApK=WW{ar6=Vu2j?91Im!$6E&rx(9~vw8P8mff z2}vfJ!2OnTcocingpOXPzsD!AXc`Pxsz5>6z2svbDvbvMx^MuX`QN65SubUAb`OBZ zFDQ??SDNuKP*qZ@Sy{-Fpk?(U(U!ABFaxTd$1A*ZZ(PJI(4ei$tlr$zFQXStKLYT8 zjVv!`b!wcguh{6DEwJdGq&U+k&YZ7@^VMF{-~kV|NAy||U}&3&*R!2~uIVm7%HJPA zJ0SO(a{+M~utQR`U5sDr`YF5akPDoQfzkNf^tea@EY+&sMdk+oAqs6XP@?&_!cop^ zM6hYJ-`@Dmbq`N)?a0SOa&Gp8w#dUVlD2?h7AW{S>b*$fP|KVcA{9(h_xd4`AqM%5 z+-$w|bJk)jg6Wn){4bBYwFpX|*H&r>KfzI}+%Awg zDgijg-RjCO>5clhxLrHX6#)P<$M}$@?lwD8^c52rx`A?I` zAd;T#b*f9g7i{wr3Ipa|Q%kf*y%|9nb!6qu|w=RRXJVfwdebvw!V%EQpraV|iC z>TN=bNWzx;%dld2G}>^|CB6J){KgPe_}2dcIkBA+pN|C0KPMM&)aPt&#O}#GhC+8g zoN6WWFQ1tDo-A&TTb@tiqoBQE7UBP579nK3oM?sn3xXG|zRrd^GMLDvo_mgZVCAPY zDI#e_XDxt`K~(l4TPRmq<3I&cz_7x6C%ls@8Yo~X4*ijssr#qN!JgCXDj3_BhEcpA-2{`@Fq;H@;tJTm- zS;%^BFe7bXXVWOyeKH6*Cvs0lc*97!Z;NC#bK~DCYjSg7io!vvh zf>BMbW(#+BaE=G>LR$oZx&c6)GUi_7r0q;LaO_m7_Im`{?ZE!Ox}0OQL$}?*&gmR3 zl=ZFCj!xrb4@Ek6<v*Re_5raoR2(K} zKBbjuZitwrKQSc_!Pqph`loeF53)*1Uy&D$o2IVr)I6|FSf0W5#G#r9p}+B#cJCJk z|EB4Gw)2pLP}_=xWfGp&vk2(@d%3SS(4jgoKj7ebOsc;&*pP>L7`GvKX)ReFk1Qx5 zo-Rl?UMKHJ*-A>+&manV_CHU_<&d%uCwciF;^eOXdMM_gRmv#^DWHLFqf= z@hdKo%3YtIU~*&9kM^r|R(DyVd&9l2$f+ zbuP~lW&fT?LS~MfIC0e_>@p;Y*cc^Q`>QXF^z$b#A+8s7WGc@WYsMV~+(osX7t%po zNwSVRmd{xOQ;9JvF&zLK@6okDD=%^6u)O>Bl9^6eKV69*C8jqRD`^9|^qq;v08wQP zvCU0rVcjV0gOXP7c`sB*g>p=n4Wi-PBx24P=SpsYevD* z8VbT)Pj3A?h^chDXYJITbuANyA8)Vgeu1<41_A$W87~1b1x0oPKDH*6S*ts+Z9Aar z+p~w4W|00~(*@Q^_P5moxmFSVY?2~DisGU4Kd&=^7{;BHK&Fdu5oK5klF43isaLf3 zYGtc(VnGpc%`@m9Wq`QyyZT{AV+Fk_!^f7v2N78>S`Re`rjxf4T-*uaut2i>+nGEN}G0PP| zj;?0p-1;%S0|4vZ?^4fdBUt)v7c&?=DT_gofTvx66(scHM-e^gO#WLgJu{m7bj5?x zxPn|Uy8H%b-^SE*b@*Us`9ufDl$7+u=g+I4zq>9O8y0rij-&wpAptQlAY`Sg7#0!n zf8z4y@Qce$HSOSe`5mwz;QS^NSZwd0o$rO)vG}J7MvP*EWvcUTrx7Es70s6S+icfL zwqW6Xjkmy8>u608AWQLF;A5EtC$G+&*9mow6hJHXc=grA!Zr(13bHQXl9MC#s zzD7pzH+RmM9r#l**=e3j)%hhlV^AdnNwKN9B;f<}v+NG)3UeR1ym&RfAL5#4=h7gc0 z0VxRyNdbugq(i!;L68oS?(Rmq8_5}l&NqJFdu#pHd;i>Z*NwCHxo6*d&S!rDt;oMk)L>se%-Yiw1hv>n;IgPxd448n!V z%Axa0MfPVT3cx)KYNyl)iGjhUhC-a6KU(jB6aEIy+Vau_?`NQA<_ekugONGzjl}>9 z%x@yy^|^qC1`wGqhWOHDZFm=XU}iyni1S%)6cEkmUMJ};kE79RAGvc0pE&m`8{lhz z2qB&ybZtZ?gR|q(-?TJB(1s2$CR$r5Wuyt-mI76ntZmxzrpU#)f1Do#EWHPYxA}o~ zTFO2c(X!W9KtwluaO7dXwhUIe)cKYqUa?OGEbI{;Uhalyi^C5+*T#T&gMN#2VI*Tf zp~@lxJla937qSdi7%yzNHbRQ(LAh8`L{fp&^`!t0o7xLe>$sU5lr84xBYM`oyQse* z{*OV=#U2KUgt>jX)Or@HGb7B%?Pc`<%T7k|LJp7X+x)ik>}0mk;$#VRASJa4Y3zZN z%v-KwHvN{3@7`Ek)W6Z?qC@hGJbOxtvXRMW^mwG-0tW}^RWAmAf2J{>Mm@a^7**~J zaFdGa`((sPa<_i)MD*y$dG?haP!-7DOSg$U*1V!H7Z;O)2Myaho%-yuxb%ApxmW*w z<>9abFc&vBzcbxkkhTc#tlY5>-10j$8O+~IA{`;t*gBPT=9-MfW&-B*TAWI1l&c@d z8mK2IVTVzO^)to45OYVqi31oVI(Q?GkSAs%A4JVYsfM$7Z&z*a4~!pIX6hb&Pws1I z+^ya~AMioP%14{#kyBp6M+{^I8jDc`O*HQCt2urmG3w%^BX+Ql*|c9;$-b&#O1#l4 z_xA9|`iYqbX&ay~9uVWDaT(=QRL1U;5To=2RVVxH%Z{XZI!H)a$xmSMR`Lm9XYI}7 zZYfJc%HQwbXTUoF!FqY7?SXJL*R|GXsCNujG^qk1l*F3M0Mmbu%l*4<$`wy?JcO3e6N82^KcERuZ(b09K7vm2k2$ZTgU0%^{I*27NM?JI-_%Syo{vEeN}GIR@iGoE>=PQ zo{wj9gD{tiT2b`d+F|>7o7&SMqzuXT`HhU@<=u%X)9oZXUekFRa`LAWC$X;%zn397 zljfs+h?ghR#(s$7QChk<%TBsUY;4gihj9yw!b9>Lnh#Rc%anEQ9O{Jn`Ah`~b)>P*D3kOovB8X%OluMmQ zrsT++ieJKum~*50v<&ECcu5QgvA2KbV|KfuZ48C5o`4~V3+p*9C-l^U_fJ7?E^Yo_ zy+*^*wNk${?Y(}8yvCJY~@2!VPR)o)2ZJNHWdPBiXLPog0AbIw)zE4LDE5yEtVG zzI`6w2o>L3z{MNzNFBav6w$-*@R^vXs>8M+@G_u~AF0akFu`|QH_L5`=kX!|Dy-CC zkLy1x#}!&D6vp&kTD`*n@xAOYzqpQHh8%g4rfVm#V))2rsN$|tUIzQcD_s4)td|KPhpb>F6zIxj1{ zv;Q(BTO?eqnF=JxRDd~RsAac{^NCr{oVM+Lt&M%u7-q!5YNlsW6?<- z^b(R9TYziqoe*QJaybbJW}70BYQ<~xI97@NewBFa<)5xA_k375{#9}nV4o5rkt}es zsd}{sziM*`ATvnY>|>76x1D^2Wl!2C#^M00 z-Z^si<&Rovq4ZhgP>*r5fE!D>xdCr-ti^CG;1o&()Cs0R*JrC7m_Ev_aei*^>Lq6N z)_>p-`QsO6#1OHGHXGqWPES_=%w!Ch-o%ZKbu1I9e;Q7F6utmAL1Igk>yqBxJuq}6 zg%E1DMr?7Gks>5ngveZOwZf;B|7LNWFPD{^FF6PEi7}gPC8WQ~3_EaoDW$Xb<#c;t z8BVk~Sh3DPx@eR21{moWD6JD6L97SI?-i;ih6tZfmikLs%Gm7H;8iIME|Mz{g z!;)EswmoHw`Fc(mdR<>Y?~9aS@~a8TdZ4DMYp~w*1s%q$zuu+CISI;RymU@tCn3jo zh5w>qa416Gz0%`@|5d+|)eI);1Lfw~ipfj(inD&gi3Sz&uMqsWSeh9r`nfuj0ug|n zpfU@K$FwPl4(Jf#`!T9!QXf2~p_ai$3f;mzrtIz|g5KarbEbS4$u7N)%+D-Qk^d+G zBnQ>DI179cMESq?g$}pyx4e^AB*36=Rc6HU8^zZGaWR)LeBb1KSE&{Sx=OdE@U}mV z?%iP6?Zf3wS)_T|qlg$h$Br)W54k(h`TE$v>Oq~(>Fj#P_Jhb9Ac2o9lzOrq`rl?& zA=+w#1=54_%^T1=`(xw+LKWTJ@pRbz6 z8Uy)rQN%BDAaLfdf@Ua@Z9o^GLtgUPa7{X!tp+*>sSLL^RdYCx&wu-Cfb{ zy-ZKUrWXbS440pUt`1-w3f0}}7(esp@M_~*)n9LscGwI`;7$mA#}i*pZglE+bpn>QLijPWrXqA7EZ=3(_bn6PugP zc;ckH*Qc7WJ{+)UG4~#Gw0y-@c5M#BaEwI+Xqa{YP5qU8j()g`d-4vVMD7`*FNxM@qwnXXL$aZ&H?h(n)eD zJh*>H;(Updsw9)-5NU9leUj_~-*6&X%bC#uJ=3idU+v6u^(rfYoNt~!`LrV?^7Xrd zm$i^Wl(LHxi0&ImMiF@8dA|b+9f#caRsQM2@<@U6dW)OK@Owx_GY>r!3>cE6J43rWH)$178+BIl3SIVd zb~6{Z0sK`Opjnn3*AvW3+azfwB*Ys6mcqc~xS>RK(sJtW+H8l*-ML7pw zIcvCQ*u`tAwBEP;KLYzhF$0Cdz#9J6hoLjNC34S$a|_2=G09|D;==XI^x0U;qH{T9 zt!=%vV>U3@-*iy;`;T$8$=<8A-8*OS9}Ev%;P)ZlHS&i{_L#L4dG8*eo0prG zteWw$9pmaL>BYl&-V(>v&ep82DMbi1^Urp1v_83UyU@Qx)k}CcLr#TH7g}!73;2(| zL4o|In_VPbCSMNKZ0gn7%?p?7a_h7$`~8P4w{$XzvCJ#dPQX_c<){m_<%fqFwz%}J zBnN8Oy2M#=$J(tph6dNI(^GFWjXyuac^&~&B4IG<46VOA14Z3HNAq!6JEG$|JA{#IGe#$d z3GD3(imjY$iq3F0E3HUo<5FYht^k`>)1qJpDtmqCBEc@#}jkd$@#^ZgB9O{ZXPD|BHXtiS6-sLxHch zgo>F%?Wq*qL{A){+a_NasJLR;;K$0R z@~?|IAZsCHvQlcYf8Q6L;5iJ~^;4gK_C0zLwz&BZ z+FI%=*e_|A<4?Q%VKErISWDVWX#=DFiAYIB;qFg#N*RdzqPcrQg=?ce&zLVibUr6D z3BDd&p45pwAq{a1&69sJaP7woff+k=Pk_eN7K9|wB9Q^zmv}vja$AGfFixFf7pf#XYfDN9UdF))U6D4$bfRyB(Wj0W)#Ypi|uK zRcgfyu<{$-y4PEmUkgZnd)hH=lHFYo`VjS*xt*MDaX_d}JNAyMaTIGcJUrPk{kPAR zD&$R~;@@9 zMdfQhwjMNC!SpN7wQER>eyJBk{bV7!O+{!t8rsj(CYu{L`zknKG(eyG=csgFnFtm6 zDd)+4MRYi7_$&FdquAdh$WkXg%|A9c1Vsm9TY({BJ}=?yD)zk->%Yo}TrWZpITrny z6lEhfFGf`A3)+g&?KCn}GNVu%~9gz$UP z=Oww<3@zUXk52&R)pd6b5C+nngI4pY3<^-%M!MZ-$Wtfs%sW{7A$)C)vJj4QD6xSsM(TKdZ$6KW);r+=j-Ci~>Lu{eX_Em{?#cC~4hwmCC*4 zyL!B%@XxT)gAmnOvDY*;p!su72srQs_!;|;t^pDD~3xvLrp6cK)?F;wOM9U$`WDXUI{gU`$ zL0z`H1i~-V-jW51Pq|uO|M68dEHI{W{z46(41jrCGr-)l_b<~rZ`S8Gce=XwnA|x| z7HHZk&D<()6C-sckTT7KdKH{2pC7RwONYKF-(I#GVsJUoh8f?sw|o}`=?mV#OOpva zS#CR%F%}zjDAP)e{jN zBYcFcbb=mjy;IGS+GK}IQ7veF=fE(m&2E&av{=F`s~_9lbulimDGu$tQE6he4w(A_ z^e1eS$J^|B<<3Bmx`hEd%Ydr$wL;wX{Ah>-SF|>}$|#Ug$RMGC5ZaUWqtB%Q@HbUb zT;_WIgYfa_4efW@-R*X^h*1YU(mv)tHGd=hP9(ZAM zn6|%%p1ua|ek4nReouW(&x-*jJl%q`%khTDTlNXA#SEfCWJyR;dbUr=g(;sG0Lk03 zXPXTZ^dJH^N5!O3^lyAFTy;Fe#{T<;0l4@%%KojY_G?+9ypb(vFTTsX^jM#2|GW+x zA00=~@waC-;g?gQ8H(8BrhbUYysNcYpnP;P5G*Volx*MdvT=9g0o)XQ2;1*;=rEl% zK4lO*z4@jp-|m6CZLm#QgNP1Y}xTI^On5ZXMQWPFPwlb}weRc@E9?EKV!9t_~e@ zMH!)s>c|$s)I>h7K^2b$GJ@KVZxw~@zd-Zx;{os4s zgw4M`1YR>Vc zk}D!V9ehj}^~^lK&SCGaV2HBS5YLRXo~PB+r7!P+(1+aJ{3z?h^wY|WH{}<~Jc(fi zITJ5FuKt^uxwF%A#B#u_nNNH3XVl~pGa52Y;WXfD&N__sdT%WGGFz$jHV$i$MhDzP zW}|VP?Xsf=qUIc5^)qG^zfXw70Rx?88FtB1k9D8n%9@uQctvT z(xqCc<~DfR_-TTsP$dqSL;mq?*)54af+LLtOp;;r0)m}(<*}rF+nBl)fM>c#G;4jY zwh2`UaNz(|^vvm-odIbn)zeSt%3dCv+thqrbS$9w3I0Bv8=%**(IrrEJjE|m@9MHD zs9!`BmlJAE3X35i{WZfx04tmq4FS$h1>a9A2DJkQ?89M~wpCFR&kwcG;_|nL3TZVO z4D%*qnlh@|wph!SP@X&2ky0%N#XvdemefRQb9F}#kd@QwbJ-D};{3F~GaYZ{`;#>M zwm^lO#ART*-6}3-@M^Bd;y?cy}@Pr$S*X;H@a7Rrz9 zSAlcg^lWe`ClZ5%PitK}kq5;bQLFqT83k`)p^(-rfrKy0f~V*_i#gO_e|90lOiF4Z z|9pY|*>~?AG(0e*Q<6;mJb@9knLR3#j!h3)6kHCN+63pu(c?RRzih z5%b{cy1)3MfQ#nu`Pf1mPr&gU9C{ib)jz;0cVjbXtuA=xrI9cqk#E3@=D`chr#qJ5 z_#;ie+CwVHPR*XFqWF2y)_C?y_uUcuf_G&KeveCAMi>Sj=D@0Eyry$U_B5D`)6SzAkbB<*TB$*Oph-F$Q%T#s)=EnB}T;M zaG-O2I_8;YfsHc+0S8aY5q>grMKf{yB@2H zW*9mEW#Ikm>^pmelyTkL>Sr@REn66Ox??DC1oDywlgg(g6G$X$>85JPDvWHJmg%n8 z{OrpzpL&s;N2llZN*J}?rMZ@71JRd$Ex|B>y_@X6NcnVJN_a^P{&z|b9G|h9nSl7e z9OLFXwBa=s3YCNmC<-S6^WE+_e|1!brm*HC*8d>B4aJNsdtW!W5*ywVUsJ1i}LiqmeglhhO%C~jn|BxLc z{t&wOGN(2fzPV{yr2=UcC8;_wnHiW&-2h9LT1GvGOg&I162i=ArCnNB_MxR(MykUg zQD4TmG*mYt8Ng+75TME!%B)3<+2PQ7Z~1Y|vPxLti}LUTY9ikq-p&&K`#5sAehnHaZty9QP6p`~3 zs%yHxc9t`D(nsgDza9|QG43klF4UUUUOhq>%-Q|NB>~u1rihQ)E#CYeIzkk%>+0X< zQ!Y`^cqbU+g4W}LaP#s~6w?{}R*@0(_B>;JHG!FV>T0}ZkA@ZT;~qw|SbU8)L}7rG zlA{<4*;uPgjYa+V$sk1FjSh)(!F&$91T%p{-QZH8ryUzi&>3_diNin)r_{nc7O}k3 z^?jFWGuV5hMTBLI7U>X+|I1oj%K!4t?E*WBUw9dq|T-F&u63X)&hr3kJsTP zg~N*+jp-ubm<>XE5X+Tc+E2XEAIo1Fa#YQ2=cz0LRz4;kv)5ysDxBz3pq*K7Ilv^A zD%`CLBRIABC9ZCZwP_^5q)qL!S!0H!yl{*8JFMi$o+~vcxh^!+wuc65_~6Z1Pp50*y#phSdeCZm?QF zde4{b9wuk5bQ$z%R>6E@=xRI>o3Nju_D@|JPZXYy|0QpVM|DECMmNB)>lK@JBzy!G zvz(y^$!1iuwAWiER#Fc#zV>8J#$T!`sW zS|;eFcD8L$4H}E8noy@ojwRFnQ?o~&dBt}s<@Oy(6;t0#4^xNiI(O>x;@c8Y^UnM9AR}JfTV7%N*Z=>l2K>O&e zT@s^SpQ2jhPn^54S@*6v4WdSAy5*&s64#uy4W)w}A`MQ2vI=i2rPB zKyuz|AtEuu`ln^qpnKvD`cAq;z9s&MoDy|S4(;{99y(tFT}2Z9P#{60NY37MyR=l& zEIkmPGsRHCeFVJkbuDoHRnu}(xF@7E@}+A-_cB$FAQBt#X4*gJpObVO`ERqH4Tp>s zEY|BC?uMD-sFzwt5HZ_*e!Te&i*X^xYM%VdKL&Uqh?KIi&Hr zFyCK1^hI%LIq!<|I_Ai16v&;j4TYXC9gd!MTv~U)u3*{*rh)HX_Z#o6rO<`@9)j%o zCDe#lKKNuGa$eq{F*~eWcg*4=F=Dl0$rc2w6W0u9D`QV$uT6Ol{{9tkc$G<+M5r(E zq9i4VdH8?V)nHcM|ojLL4?Ta`BDtH;zL$ zyvFs4xs5ck@>xU5{&h5CJK$u>|GKicrBZf4LpoaDF?)O-$#4oAC=-~PxK!_D%QMt} z4$iC92`_0neu#TgW)lpIbCA#E%9-378WBkSvyGcz$<}JicuHqq%2hO`k=Uj4ud7dA zJlG$`BRb%|a%tqNy@0MqYW1EvR8F9<3nj_H{1>8M^LM+NcC!v0<3%MVGQ2Al3yu$s zXjAN9@BC5>oOD^Zn(fiYqMXU5J}(I{Pm1;cJnp#auvXjRK7!dpf!@1EN+0SSZjqmt z?*DYZi%QE~R{0U59k_jX@{@z2_8HH?#SaTthXuBu`O7Prp(U;n z8-MYMGs!_}P^4jR; zYj^hJY9J6x0dK9V`%2jU=W5L>?>mO2?Wr`bg z{5or>TYCHx)g%zHYRJXbd&$BA31hjDL)p07RGOv@0IgDUT0B-zeny+u!ulS7kFnwsu~kX z4l}R9$tA-mXWDjAmRBD`ui9|9G%{FplqXv&%xU>;&HCHHUAa6mu+)tP zr$dc@82I)y?vz{Nje4$OC$v_y^5FbJpJj4W=v3QztLVpOR|PK>WVrd3lH{a+3~;qq zvUi;tS%e`I&f;_}nE}+z8lc_9vrYnH?L-)V^>V2%lt@T4OtQeG`)dbl{%nLxJBN32 z?JhoA9)I;Ky|m?`eTAQzM@dqoH8VA^_bws82~nlX%=g0Q_fU zt&Z!|91Kt}@vYinrOk!y8Tejv;~brgkW-oE6Q2vtO^-3mk*D%4Y1_psyJ2qgQDxH# ze=2+v8B)6*#c~H{id93luJbq4UZG7@mj{}>vCoQ)MNKT!q)dT_^CTTf;b%fo%}!f; zGeGP}AK|78tAQS+uR0_i*J$9DsDm!i%a?*#VUZ%hLl{~-)6L1N+s-+pD*o)!er82M zvrB%0&?<|vUFsXUd#*-ML~-$_<#M?6zRZUT!b^zb@k&u-VYf2Lx;T)qNu2^siM!ez z(j2OXu~QhDquV*R7KxKn)lcPZiy5!NAnwS+njl|J*9Q69!YU5(_IenqS(F$46%TD~ z%Snr{-J4B@h56LS5_vnh2^ywC3e)}^-BxLm6M+L~T6oOva#(cJ*#4I6yIsdOq#ey1 z6(2}-9g)qp0qgPXyiXFRCQW@SXj#y_Wyb(<7Ox1)uEv`kgtXr{`#R=--O6T+Kz1k% zVu17B=uQM5D*g^^4q|N4JOKDVM30$4Oc)`jNc4cyZ44LkCor@jL>BQ?d&-lEuXs!X z+>D3^e&_Erfp}XOW_`t|w*kM15+iXL_e@DF0rC9h_1As0+#llnecnzm=*=+HM+FDg zuD*q9!S;eAZCCzZ*5IO~-${5B;Hv3E^VC;2vrVX1jetju6nyr^dP;j1e{UtBBbp!F z!2HWTS%Ql8tBG!*ZTVzNZ*L!Uw_~2(yYLRAX+mih5J=i7q5c#Vji8p70KRfiAK{Kh$19E2n z_A>H)@U^L(s;ACc0MRbS$!^Ozpf!EFPE!@~&ET}IqADGI)cdhH&c`y7S+gR`V?>g8 z36}qAu17Wa3(uvS%>_Up!&X5)^ddzgp6kc1K$3K!Cca<6CJroJ3RN#1XiZ#Vd_6 zrPOPpo5l8!p}CME{d{M*L1K%6o9SS(YXoRh8L?ueD{HS1WSM$WHa zYpg-FVpnh=jyXgsbe(_k$1L4Z<<+7VJij83GM~XHSG{?j(_I!aU+JFSl>HTYQrHei zBygMkG#?MSTvYr1gB3K0Cg=ddgE_i;zxGD0MFYBQUv|HIs^IC7E=;G&2j*dt!veHdYeOO+Zn>$Jbd-|Cb)>5cT8yaz5PBPIV}X#cpJv6pa_k}u#ng*)F1 zbD@Jpn2X*uFV`X7;rt?b#ymtU3zA+&&hA!GD7h_72geugCBPIyZSx6$rd@i8L|e&Bj@i~(?0qgskm_U zEqI5_G=yxwWi=T`G2;a;uqm#~*$1of-kTme>Rx1eV8>Fx1i{g_q21HNSO=DMEf#ZV z{~?3E*`^cd{E;IpJNG?-RT(Z4+Syg^U)e;2)rjbbi3geVp$iW{mn^agt%*eQTOT{tE;Hf_2|3i zZt{E~J1a#tnp(vd{bU)%k=$IP_m2W4VLmCS_S$wLk*03vsMeTpqlbY!SdAmVU^jS< zTXq1;p-#A{`3$iCZ3*)D;7EH#s8BHpI5KU<(wM|7*5uRwLsAezc`B*Dj}L~IIfg}B ztRWPM!Dldq=-A>itv}6^wexo^634VL>(IP^PJ~ee@#YJ7Y^!I}ppqhJ%T^wy>$#4% zUWdWtLm^n9ov7@Ic@WZ+A=mMLf(A_<_4hOdE-mcu5Zn+Ky!MdyqK>;e7+Le>e3alu zpoiO9)EEjObSa|mgap&o|GwF~B3zpEon7?^ii~=9i$cGRscb9}uOWAfqjc%4_%iC0 zr^PiM;u{HqhCOHD)+$jjp_o5KK>?F!h1L^}_wa{i;Ij>^p-E_PsppI0lZPK6+K z{gL63RtdIhjc2j4A!KPhg&t@$?9m??C)-wMSkC8YYsz_|mE5zuz#;Oe-i`XTGY()PKu9T*{rGgK{C?yE<6wD<=u0Jd>|QrrYDZC-q996SsTas d-|F(Ks8`F%stPQxFs1$-P>@xTDVH|!|6jx1WNZKc literal 0 HcmV?d00001 diff --git a/images/readme/single-trunk-branch.svg b/images/readme/single-trunk-branch.svg new file mode 100644 index 000000000..d00fb2506 --- /dev/null +++ b/images/readme/single-trunk-branch.svg @@ -0,0 +1,3 @@ + + +
Rel v1.0
Rel v1.0
Rel v1.1
Rel v1.1
Rel v1.1.1
Rel v1.1.1
Releases
Releas...
Members
Members
Maintainer
Maintainer
Chair
Chair
merged by WG Chair
merged by WG Chair
...
...
merged by WG Chair
merged by WG Chair
?
?
NO
NO
Discussion
Discussion
PR
PR
?
?
NO
NO
Discussion
Discussion
PR
PR
GitHub Flow
GitHub Flow
"main"
"main"
merged by maintainer
merged by mainta...
merged by maintainer
merged by mainta...
"feature-branch-1"
"feature-branch-1"
"feature-branch-x"
"feature-branch-x"
Same process, merge back into "main"
Same process, merge back into "main"
WG Review
&
Approval
WG Review...
Roles:
Roles:
Viewer does not support full SVG 1.1
diff --git a/images/readme/types-of-green-software.png b/images/readme/types-of-green-software.png new file mode 100644 index 0000000000000000000000000000000000000000..2036c7b552aa9e2909dbb1377ec12714f7c20fec GIT binary patch literal 38070 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 XHDvGQUbOPnJ0R&}OfJ`4a*Fvc=*s%F literal 0 HcmV?d00001 diff --git a/images/readme/what-is-green-software.avif b/images/readme/what-is-green-software.avif new file mode 100644 index 0000000000000000000000000000000000000000..f823995be15ba27100a77c29ffea539b87b3f650 GIT binary patch literal 32993 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