From b0f1abdb5c23888bf89a8e1d73deabc9ea145da2 Mon Sep 17 00:00:00 2001 From: Giovanni Toraldo <71768+gionn@users.noreply.github.com> Date: Mon, 13 May 2024 09:31:42 +0200 Subject: [PATCH] OPSEXP-2620 Generate documentation website with jekyll (#288) --- .github/workflows/docs.yml | 29 ++++ .github/workflows/lint-test.yaml | 5 + .gitignore | 2 + .ruby-version | 1 + Gemfile | 6 + Gemfile.lock | 148 ++++++++++++++++++ docs/README.md => README.md | 47 ++---- _config.yml | 48 ++++++ _includes/head_custom.html | 3 + _sass/color_schemes/alfresco.scss | 13 ++ charts/activemq/README.md | 5 + charts/activemq/README.md.gotmpl | 5 + charts/alfresco-activiti-admin/README.md | 5 + .../alfresco-activiti-admin/README.md.gotmpl | 5 + charts/alfresco-activiti/README.md | 5 + charts/alfresco-activiti/README.md.gotmpl | 5 + .../docs/databases-configuration.md | 8 +- .../docs/elasticsearch-configuration.md | 6 + charts/alfresco-adf-app/README.md | 5 + charts/alfresco-adf-app/README.md.gotmpl | 5 + charts/alfresco-ai-transformer/README.md | 5 + .../alfresco-ai-transformer/README.md.gotmpl | 5 + charts/alfresco-common/README.md | 5 + charts/alfresco-common/README.md.gotmpl | 5 + charts/alfresco-connector-ms365/README.md | 7 +- .../alfresco-connector-ms365/README.md.gotmpl | 7 +- charts/alfresco-connector-msteams/README.md | 5 + .../README.md.gotmpl | 5 + charts/alfresco-repository/README.md | 5 + charts/alfresco-repository/README.md.gotmpl | 5 + .../alfresco-repository/docs/autoscaling.md | 6 + charts/alfresco-repository/docs/email.md | 16 +- .../docs/enterprise-license.md | 6 + charts/alfresco-repository/docs/keystores.md | 6 + .../docs/repository-properties.md | 6 + charts/alfresco-repository/docs/subsystems.md | 6 + charts/alfresco-search-enterprise/README.md | 5 + .../README.md.gotmpl | 5 + charts/alfresco-search-service/README.md | 5 + .../alfresco-search-service/README.md.gotmpl | 5 + .../alfresco-insight-zeppelin/README.md | 5 + .../README.md.gotmpl | 5 + charts/alfresco-share/README.md | 5 + charts/alfresco-share/README.md.gotmpl | 5 + charts/alfresco-sync-service/README.md | 7 +- charts/alfresco-sync-service/README.md.gotmpl | 7 +- charts/alfresco-transform-service/README.md | 5 + .../README.md.gotmpl | 5 + ...sco-charts.md => build-your-own-charts.md} | 31 ++-- docs/guides/alfresco-process.md | 5 + docs/guides/alfresco-repository.md | 5 + docs/guides/index.md | 6 + docs/images/favicon.ico | Bin 0 -> 15406 bytes docs/images/hyland-alfresco-logos.png | Bin 0 -> 93016 bytes docs/index.md | 25 +++ docs/reference.md | 8 + 56 files changed, 546 insertions(+), 54 deletions(-) create mode 100644 .github/workflows/docs.yml create mode 100644 .ruby-version create mode 100644 Gemfile create mode 100644 Gemfile.lock rename docs/README.md => README.md (78%) create mode 100644 _config.yml create mode 100644 _includes/head_custom.html create mode 100644 _sass/color_schemes/alfresco.scss rename docs/{getting-started-with-alfresco-charts.md => build-your-own-charts.md} (84%) create mode 100644 docs/guides/alfresco-process.md create mode 100644 docs/guides/alfresco-repository.md create mode 100644 docs/guides/index.md create mode 100644 docs/images/favicon.ico create mode 100644 docs/images/hyland-alfresco-logos.png create mode 100644 docs/index.md create mode 100644 docs/reference.md diff --git a/.github/workflows/docs.yml b/.github/workflows/docs.yml new file mode 100644 index 00000000..24c348ee --- /dev/null +++ b/.github/workflows/docs.yml @@ -0,0 +1,29 @@ +name: Publish docs + +permissions: + contents: write + pages: write + id-token: write + +on: + pull_request: + branches: + - main + paths: + - 'docs/**' + - .github/workflows/docs.yml + - _config.yml + - Gemfile* + - charts/**/README.md + workflow_run: + workflows: [Release Charts] + types: [completed] + +jobs: + publish: + uses: Alfresco/jekyll-build-tools/.github/workflows/jekyll-publish.yml@4a682d36e45971f30e235c28f7b8a0898574b1b7 + if: github.event_name == 'pull_request' || github.event.workflow_run.conclusion == 'success' + with: + working-directory: . + publish: ${{ github.event_name == 'workflow_run' && github.event.workflow_run.head_branch == 'main' }} + publish-branch: gh-pages diff --git a/.github/workflows/lint-test.yaml b/.github/workflows/lint-test.yaml index 1e08ffb4..aee1a918 100644 --- a/.github/workflows/lint-test.yaml +++ b/.github/workflows/lint-test.yaml @@ -9,6 +9,11 @@ on: - reopened - synchronize - labeled + paths: + - 'charts/**' + - '!charts/**/README.md' + - '!charts/**/README.md.gotmpl' + - '!charts/**/docs/**' jobs: lint-test: diff --git a/.gitignore b/.gitignore index 16fd53ea..af8df25c 100644 --- a/.gitignore +++ b/.gitignore @@ -7,3 +7,5 @@ merged.yaml alfresco-updatecli charts/*/render + +_site diff --git a/.ruby-version b/.ruby-version new file mode 100644 index 00000000..0aec50e6 --- /dev/null +++ b/.ruby-version @@ -0,0 +1 @@ +3.1.4 diff --git a/Gemfile b/Gemfile new file mode 100644 index 00000000..222231a2 --- /dev/null +++ b/Gemfile @@ -0,0 +1,6 @@ +source 'https://rubygems.org' + +gem "jekyll", "~> 4.3.3" +gem "just-the-docs", "0.8.1" +gem "jekyll-relative-links" +gem "html-proofer" diff --git a/Gemfile.lock b/Gemfile.lock new file mode 100644 index 00000000..c8f3f8c8 --- /dev/null +++ b/Gemfile.lock @@ -0,0 +1,148 @@ +GEM + remote: https://rubygems.org/ + specs: + Ascii85 (1.1.0) + addressable (2.8.6) + public_suffix (>= 2.0.2, < 6.0) + afm (0.2.2) + async (2.11.0) + console (~> 1.25, >= 1.25.2) + fiber-annotation + io-event (~> 1.5, >= 1.5.1) + timers (~> 4.1) + bigdecimal (3.1.8) + colorator (1.1.0) + concurrent-ruby (1.2.3) + console (1.25.2) + fiber-annotation + fiber-local (~> 1.1) + json + em-websocket (0.5.3) + eventmachine (>= 0.12.9) + http_parser.rb (~> 0) + ethon (0.16.0) + ffi (>= 1.15.0) + eventmachine (1.2.7) + ffi (1.16.3) + fiber-annotation (0.2.0) + fiber-local (1.1.0) + fiber-storage + fiber-storage (0.1.0) + forwardable-extended (2.6.0) + google-protobuf (4.26.1-arm64-darwin) + rake (>= 13) + google-protobuf (4.26.1-x86_64-darwin) + rake (>= 13) + google-protobuf (4.26.1-x86_64-linux) + rake (>= 13) + hashery (2.1.2) + html-proofer (5.0.9) + addressable (~> 2.3) + async (~> 2.1) + nokogiri (~> 1.13) + pdf-reader (~> 2.11) + rainbow (~> 3.0) + typhoeus (~> 1.3) + yell (~> 2.0) + zeitwerk (~> 2.5) + http_parser.rb (0.8.0) + i18n (1.14.5) + concurrent-ruby (~> 1.0) + io-event (1.5.1) + jekyll (4.3.3) + addressable (~> 2.4) + colorator (~> 1.0) + em-websocket (~> 0.5) + i18n (~> 1.0) + jekyll-sass-converter (>= 2.0, < 4.0) + jekyll-watch (~> 2.0) + kramdown (~> 2.3, >= 2.3.1) + kramdown-parser-gfm (~> 1.0) + liquid (~> 4.0) + mercenary (>= 0.3.6, < 0.5) + pathutil (~> 0.9) + rouge (>= 3.0, < 5.0) + safe_yaml (~> 1.0) + terminal-table (>= 1.8, < 4.0) + webrick (~> 1.7) + jekyll-include-cache (0.2.1) + jekyll (>= 3.7, < 5.0) + jekyll-relative-links (0.7.0) + jekyll (>= 3.3, < 5.0) + jekyll-sass-converter (3.0.0) + sass-embedded (~> 1.54) + jekyll-seo-tag (2.8.0) + jekyll (>= 3.8, < 5.0) + jekyll-watch (2.2.1) + listen (~> 3.0) + json (2.7.2) + just-the-docs (0.8.1) + jekyll (>= 3.8.5) + jekyll-include-cache + jekyll-seo-tag (>= 2.0) + rake (>= 12.3.1) + kramdown (2.4.0) + rexml + kramdown-parser-gfm (1.1.0) + kramdown (~> 2.0) + liquid (4.0.4) + listen (3.9.0) + rb-fsevent (~> 0.10, >= 0.10.3) + rb-inotify (~> 0.9, >= 0.9.10) + mercenary (0.4.0) + nokogiri (1.16.4-arm64-darwin) + racc (~> 1.4) + nokogiri (1.16.4-x86_64-darwin) + racc (~> 1.4) + nokogiri (1.16.4-x86_64-linux) + racc (~> 1.4) + pathutil (0.16.2) + forwardable-extended (~> 2.6) + pdf-reader (2.12.0) + Ascii85 (~> 1.0) + afm (~> 0.2.1) + hashery (~> 2.0) + ruby-rc4 + ttfunk + public_suffix (5.0.5) + racc (1.7.3) + rainbow (3.1.1) + rake (13.2.1) + rb-fsevent (0.11.2) + rb-inotify (0.10.1) + ffi (~> 1.0) + rexml (3.2.6) + rouge (4.2.1) + ruby-rc4 (0.1.5) + safe_yaml (1.0.5) + sass-embedded (1.77.0-arm64-darwin) + google-protobuf (>= 3.25, < 5.0) + sass-embedded (1.77.0-x86_64-darwin) + google-protobuf (>= 3.25, < 5.0) + sass-embedded (1.77.0-x86_64-linux-gnu) + google-protobuf (>= 3.25, < 5.0) + terminal-table (3.0.2) + unicode-display_width (>= 1.1.1, < 3) + timers (4.3.5) + ttfunk (1.8.0) + bigdecimal (~> 3.1) + typhoeus (1.4.1) + ethon (>= 0.9.0) + unicode-display_width (2.5.0) + webrick (1.8.1) + yell (2.2.2) + zeitwerk (2.6.13) + +PLATFORMS + arm64-darwin-23 + x86_64-darwin-23 + x86_64-linux + +DEPENDENCIES + html-proofer + jekyll (~> 4.3.3) + jekyll-relative-links + just-the-docs (= 0.8.1) + +BUNDLED WITH + 2.3.26 diff --git a/docs/README.md b/README.md similarity index 78% rename from docs/README.md rename to README.md index 8313fa20..1d8740d2 100644 --- a/docs/README.md +++ b/README.md @@ -1,38 +1,12 @@ # alfresco-helm-charts -This repository aims at delivering independent and lightweight -[Helm](https://helm.sh) charts for Alfresco Content Services platform that can -be used as building blocks by devops teams to build the Content Services -platform that match the organization needs. - -⚠️ The existing [Alfresco Helm -Charts](https://github.com/Alfresco/acs-deployment/tree/master/helm/alfresco-content-services) -remains available and has been updated to leverage charts hosted in this -repository. - -If you want to understand what are the principles to leverage in order to build -on top of Alfresco components' chart please refer to the -[getting-started-with-alfresco-charts](./getting-started-with-alfresco-charts.md) - -Each individual chart has its own documentation page that's available in the -chart directory in [charts/](../charts). There are the values available for -each of them. - -## Testing - -Each chart is tested against a default configuration on -[KinD](https://kind.sigs.k8s.io/). You can check the currently tested K8s version -by looking at the `KIND_NODE_IMAGE` value in the main [lint-test -workflow](../.github/workflows/lint-test.yaml). - -We are ensuring backward compatibility with older K8s versions with -[kubeconform](https://github.com/yannh/kubeconform). You can check the oldest - K8s version tested by looking at `kubernetes-version` inside the - `kubeconform-helm-min` hook in [pre-commit - configuration](../.pre-commit-config.yaml). +User docs available at: [https://alfresco.github.io/alfresco-helm-charts/](https://alfresco.github.io/alfresco-helm-charts/) ## Development +Each individual chart is available in the chart directory in +[charts/](./charts). + This repository follows the [helm/charts-repo-actions-demo](https://github.com/helm/charts-repo-actions-demo) template, that support the testing and the release of helm charts with the help @@ -78,6 +52,19 @@ There is an initial support for bumping charts dependencies with [GHA workflow](https://github.com/Alfresco/alfresco-helm-charts/actions/workflows/updatecli.yaml). +## Testing + +Each chart is tested against a default configuration on +[KinD](https://kind.sigs.k8s.io/). You can check the currently tested K8s version +by looking at the `KIND_NODE_IMAGE` value in the main [lint-test +workflow](../.github/workflows/lint-test.yaml). + +We are ensuring backward compatibility with older K8s versions with +[kubeconform](https://github.com/yannh/kubeconform). You can check the oldest + K8s version tested by looking at `kubernetes-version` inside the + `kubeconform-helm-min` hook in [pre-commit + configuration](../.pre-commit-config.yaml). + ## Release * Ensure alfresco-common [version](../charts/alfresco-common/Chart.yaml) is not a diff --git a/_config.yml b/_config.yml new file mode 100644 index 00000000..ab7e6462 --- /dev/null +++ b/_config.yml @@ -0,0 +1,48 @@ +title: Alfresco Helm Charts Documentation +description: User documentation for the Alfresco component Helm Charts +theme: just-the-docs +color_scheme: alfresco + +url: https://alfresco.github.io/alfresco-helm-charts + +aux_links: + Docs: https://docs.alfresco.com/ + GitHub Repository: https://github.com/Alfresco/alfresco-helm-charts + +aux_links_new_tab: true + +gh_edit_link: true +gh_edit_link_text: "Improve this page on GitHub" +gh_edit_repository: https://github.com/Alfresco/alfresco-helm-charts +gh_edit_branch: main +gh_edit_source: . +gh_edit_view_mode: edit + +logo: "docs/images/hyland-alfresco-logos.png" +favicon_ico: "/docs/images/favicon.ico" + +defaults: + # apply the default layout to all markdown pages + - scope: + path: "*" + values: + layout: "default" + render_with_liquid: false + +exclude: + - Brewfile + - '*/ci/*' + - Gemfile + - Gemfile.lock + - '*.yaml' + - '*/Chart.lock' + - '*/README.md.gotmpl' + - '*.tgz' + - scripts + - '*/NOTES.txt' + - README.md + - CODE_OF_CONDUCT.md + - LICENSE + +plugins: + - jekyll-relative-links diff --git a/_includes/head_custom.html b/_includes/head_custom.html new file mode 100644 index 00000000..d555d471 --- /dev/null +++ b/_includes/head_custom.html @@ -0,0 +1,3 @@ + diff --git a/_sass/color_schemes/alfresco.scss b/_sass/color_schemes/alfresco.scss new file mode 100644 index 00000000..7cc0d84f --- /dev/null +++ b/_sass/color_schemes/alfresco.scss @@ -0,0 +1,13 @@ +$link-color: #3273dc; +$body-font-family: "Inter", sans-serif; + +$font-size-5: 0.88rem; + +.main-content { + color: #212328; + font-weight: 300; +} + +td { + word-wrap: anywhere; +} diff --git a/charts/activemq/README.md b/charts/activemq/README.md index 36379615..9a2f7791 100644 --- a/charts/activemq/README.md +++ b/charts/activemq/README.md @@ -1,3 +1,8 @@ +--- +title: activemq +parent: Charts Reference +--- + # activemq ![Version: 3.5.3](https://img.shields.io/badge/Version-3.5.3-informational?style=flat-square) ![AppVersion: 5.18.4](https://img.shields.io/badge/AppVersion-5.18.4-informational?style=flat-square) diff --git a/charts/activemq/README.md.gotmpl b/charts/activemq/README.md.gotmpl index 9174c355..508acde9 100644 --- a/charts/activemq/README.md.gotmpl +++ b/charts/activemq/README.md.gotmpl @@ -1,3 +1,8 @@ +--- +title: {{ template "chart.name" . }} +parent: Charts Reference +--- + {{ template "chart.header" . }} {{ template "chart.deprecationWarning" . }} diff --git a/charts/alfresco-activiti-admin/README.md b/charts/alfresco-activiti-admin/README.md index e76b91fe..6c9c8d1a 100644 --- a/charts/alfresco-activiti-admin/README.md +++ b/charts/alfresco-activiti-admin/README.md @@ -1,3 +1,8 @@ +--- +title: alfresco-activiti-admin +parent: Charts Reference +--- + # alfresco-activiti-admin ![Version: 0.1.1](https://img.shields.io/badge/Version-0.1.1-informational?style=flat-square) ![AppVersion: 24.2.0](https://img.shields.io/badge/AppVersion-24.2.0-informational?style=flat-square) diff --git a/charts/alfresco-activiti-admin/README.md.gotmpl b/charts/alfresco-activiti-admin/README.md.gotmpl index 9174c355..508acde9 100644 --- a/charts/alfresco-activiti-admin/README.md.gotmpl +++ b/charts/alfresco-activiti-admin/README.md.gotmpl @@ -1,3 +1,8 @@ +--- +title: {{ template "chart.name" . }} +parent: Charts Reference +--- + {{ template "chart.header" . }} {{ template "chart.deprecationWarning" . }} diff --git a/charts/alfresco-activiti/README.md b/charts/alfresco-activiti/README.md index 5c166f87..72c3556c 100644 --- a/charts/alfresco-activiti/README.md +++ b/charts/alfresco-activiti/README.md @@ -1,3 +1,8 @@ +--- +title: alfresco-activiti +parent: Charts Reference +--- + # alfresco-activiti ![Version: 0.1.1](https://img.shields.io/badge/Version-0.1.1-informational?style=flat-square) ![AppVersion: 24.2.0](https://img.shields.io/badge/AppVersion-24.2.0-informational?style=flat-square) diff --git a/charts/alfresco-activiti/README.md.gotmpl b/charts/alfresco-activiti/README.md.gotmpl index 9174c355..508acde9 100644 --- a/charts/alfresco-activiti/README.md.gotmpl +++ b/charts/alfresco-activiti/README.md.gotmpl @@ -1,3 +1,8 @@ +--- +title: {{ template "chart.name" . }} +parent: Charts Reference +--- + {{ template "chart.header" . }} {{ template "chart.deprecationWarning" . }} diff --git a/charts/alfresco-activiti/docs/databases-configuration.md b/charts/alfresco-activiti/docs/databases-configuration.md index aac9fb9d..503f98d8 100644 --- a/charts/alfresco-activiti/docs/databases-configuration.md +++ b/charts/alfresco-activiti/docs/databases-configuration.md @@ -1,3 +1,9 @@ +--- +title: Database configuration +parent: Process Services +grand_parent: Guides +--- + # Alfresco Process Service database configuration Alfresco Process Service uses a relational database to store data. @@ -9,7 +15,7 @@ Alfresco Process Service uses a relational database to store data. This charts uses generic configuration means reused in all our charts. You should start reading the -[getting-started](../../docs/getting-started-with-alfresco-charts.md) guide. +[getting-started](../../../docs/build-your-own-charts.md) guide. ### Using values diff --git a/charts/alfresco-activiti/docs/elasticsearch-configuration.md b/charts/alfresco-activiti/docs/elasticsearch-configuration.md index c5f45681..63755f97 100644 --- a/charts/alfresco-activiti/docs/elasticsearch-configuration.md +++ b/charts/alfresco-activiti/docs/elasticsearch-configuration.md @@ -1,3 +1,9 @@ +--- +title: Index configuration +parent: Process Services +grand_parent: Guides +--- + # Alfresco Process Services search index configuration Alfresco Process Services can use an Elasticsearch index. This document provides diff --git a/charts/alfresco-adf-app/README.md b/charts/alfresco-adf-app/README.md index fdaebec5..fd8a9306 100644 --- a/charts/alfresco-adf-app/README.md +++ b/charts/alfresco-adf-app/README.md @@ -1,3 +1,8 @@ +--- +title: alfresco-adf-app +parent: Charts Reference +--- + # alfresco-adf-app ![Version: 0.1.0](https://img.shields.io/badge/Version-0.1.0-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) diff --git a/charts/alfresco-adf-app/README.md.gotmpl b/charts/alfresco-adf-app/README.md.gotmpl index 0ad8b9e6..53ced264 100644 --- a/charts/alfresco-adf-app/README.md.gotmpl +++ b/charts/alfresco-adf-app/README.md.gotmpl @@ -1,3 +1,8 @@ +--- +title: {{ template "chart.name" . }} +parent: Charts Reference +--- + {{ template "chart.header" . }} {{ template "chart.deprecationWarning" . }} diff --git a/charts/alfresco-ai-transformer/README.md b/charts/alfresco-ai-transformer/README.md index e093b61f..f789cb69 100644 --- a/charts/alfresco-ai-transformer/README.md +++ b/charts/alfresco-ai-transformer/README.md @@ -1,3 +1,8 @@ +--- +title: alfresco-ai-transformer +parent: Charts Reference +--- + # alfresco-ai-transformer ![Version: 1.2.2](https://img.shields.io/badge/Version-1.2.2-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: 3.1.2](https://img.shields.io/badge/AppVersion-3.1.2-informational?style=flat-square) diff --git a/charts/alfresco-ai-transformer/README.md.gotmpl b/charts/alfresco-ai-transformer/README.md.gotmpl index 0ad8b9e6..53ced264 100644 --- a/charts/alfresco-ai-transformer/README.md.gotmpl +++ b/charts/alfresco-ai-transformer/README.md.gotmpl @@ -1,3 +1,8 @@ +--- +title: {{ template "chart.name" . }} +parent: Charts Reference +--- + {{ template "chart.header" . }} {{ template "chart.deprecationWarning" . }} diff --git a/charts/alfresco-common/README.md b/charts/alfresco-common/README.md index dde38733..cdbc4e09 100644 --- a/charts/alfresco-common/README.md +++ b/charts/alfresco-common/README.md @@ -1,3 +1,8 @@ +--- +title: alfresco-common +parent: Charts Reference +--- + # alfresco-common ![Version: 3.1.3](https://img.shields.io/badge/Version-3.1.3-informational?style=flat-square) ![Type: library](https://img.shields.io/badge/Type-library-informational?style=flat-square) diff --git a/charts/alfresco-common/README.md.gotmpl b/charts/alfresco-common/README.md.gotmpl index b301f393..34aa8aa3 100644 --- a/charts/alfresco-common/README.md.gotmpl +++ b/charts/alfresco-common/README.md.gotmpl @@ -1,3 +1,8 @@ +--- +title: {{ template "chart.name" . }} +parent: Charts Reference +--- + {{ template "chart.header" . }} {{ template "chart.deprecationWarning" . }} diff --git a/charts/alfresco-connector-ms365/README.md b/charts/alfresco-connector-ms365/README.md index ad2db55a..191d99d4 100644 --- a/charts/alfresco-connector-ms365/README.md +++ b/charts/alfresco-connector-ms365/README.md @@ -1,10 +1,15 @@ +--- +title: alfresco-connector-ms365 +parent: Charts Reference +--- + # alfresco-connector-ms365 ![Version: 0.7.1](https://img.shields.io/badge/Version-0.7.1-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: 2.0.1](https://img.shields.io/badge/AppVersion-2.0.1-informational?style=flat-square) A Helm chart for deploying Alfresco connector ms365 service -Please refer to the [documentation](https://github.com/Alfresco/acs-deployment/blob/master/docs/helm/README.md) for information on the Helm charts and deployment instructions. +Checkout [alfresco-content-services chart's doc](https://github.com/Alfresco/acs-deployment/blob/master/docs/helm/README.md) for an example of how to leverage this chart from an umbrella chart. ## Requirements diff --git a/charts/alfresco-connector-ms365/README.md.gotmpl b/charts/alfresco-connector-ms365/README.md.gotmpl index b301f393..53ced264 100644 --- a/charts/alfresco-connector-ms365/README.md.gotmpl +++ b/charts/alfresco-connector-ms365/README.md.gotmpl @@ -1,3 +1,8 @@ +--- +title: {{ template "chart.name" . }} +parent: Charts Reference +--- + {{ template "chart.header" . }} {{ template "chart.deprecationWarning" . }} @@ -5,7 +10,7 @@ {{ template "chart.description" . }} -Please refer to the [documentation](https://github.com/Alfresco/acs-deployment/blob/master/docs/helm/README.md) for information on the Helm charts and deployment instructions. +Checkout [alfresco-content-services chart's doc](https://github.com/Alfresco/acs-deployment/blob/master/docs/helm/README.md) for an example of how to leverage this chart from an umbrella chart. {{ template "chart.homepageLine" . }} diff --git a/charts/alfresco-connector-msteams/README.md b/charts/alfresco-connector-msteams/README.md index 43ef63ac..3355748a 100644 --- a/charts/alfresco-connector-msteams/README.md +++ b/charts/alfresco-connector-msteams/README.md @@ -1,3 +1,8 @@ +--- +title: alfresco-connector-msteams +parent: Charts Reference +--- + # alfresco-connector-msteams ![Version: 0.5.1](https://img.shields.io/badge/Version-0.5.1-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: 2.0.1](https://img.shields.io/badge/AppVersion-2.0.1-informational?style=flat-square) diff --git a/charts/alfresco-connector-msteams/README.md.gotmpl b/charts/alfresco-connector-msteams/README.md.gotmpl index 0ad8b9e6..53ced264 100644 --- a/charts/alfresco-connector-msteams/README.md.gotmpl +++ b/charts/alfresco-connector-msteams/README.md.gotmpl @@ -1,3 +1,8 @@ +--- +title: {{ template "chart.name" . }} +parent: Charts Reference +--- + {{ template "chart.header" . }} {{ template "chart.deprecationWarning" . }} diff --git a/charts/alfresco-repository/README.md b/charts/alfresco-repository/README.md index 86499ea6..9887d43f 100644 --- a/charts/alfresco-repository/README.md +++ b/charts/alfresco-repository/README.md @@ -1,3 +1,8 @@ +--- +title: alfresco-repository +parent: Charts Reference +--- + # alfresco-repository ![Version: 0.5.1](https://img.shields.io/badge/Version-0.5.1-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: 23.2.1](https://img.shields.io/badge/AppVersion-23.2.1-informational?style=flat-square) diff --git a/charts/alfresco-repository/README.md.gotmpl b/charts/alfresco-repository/README.md.gotmpl index 0ad8b9e6..53ced264 100644 --- a/charts/alfresco-repository/README.md.gotmpl +++ b/charts/alfresco-repository/README.md.gotmpl @@ -1,3 +1,8 @@ +--- +title: {{ template "chart.name" . }} +parent: Charts Reference +--- + {{ template "chart.header" . }} {{ template "chart.deprecationWarning" . }} diff --git a/charts/alfresco-repository/docs/autoscaling.md b/charts/alfresco-repository/docs/autoscaling.md index edfcc26b..f0f9d0f3 100644 --- a/charts/alfresco-repository/docs/autoscaling.md +++ b/charts/alfresco-repository/docs/autoscaling.md @@ -1,3 +1,9 @@ +--- +title: Autoscaling +parent: Repository +grand_parent: Guides +--- + # Alfresco repository auto scaling This document describes auto scaling principles implemented in this Helm chart. diff --git a/charts/alfresco-repository/docs/email.md b/charts/alfresco-repository/docs/email.md index a54302a7..0a57b511 100644 --- a/charts/alfresco-repository/docs/email.md +++ b/charts/alfresco-repository/docs/email.md @@ -1,4 +1,10 @@ -# Configuring Email related features +--- +title: Email features +parent: Repository +grand_parent: Guides +--- + +# Configuring email related features Alfresco repository can interact with users through emails in different ways. Below we describe how to enable and configure the 3 main email features Alfresco @@ -95,7 +101,7 @@ If you need to negotiate TLS/SSL session with the mail relay and your mail relay uses a certificate that's not from a known CA, you will need to import a truststore containing either the server certificate itself or its issuing CA. -Checkout the [keystore doc for more details](./keystores.md) import a +Checkout the [keystore doc for more details](keystores.md) import a truststore or a keystore works the same way. ## Accepting incoming email @@ -133,7 +139,7 @@ This is suitable in most cases as - as said earlier - your SMTP server should never be exposed directly on internet and have an SMTP proxy in front of it. In case you really need to terminate the SSL session on the Alfresco repo see -the [keystore doc](./keystores.md) +the [keystore doc](keystores.md) ## Enabling IMAP @@ -159,5 +165,5 @@ environment: -Dimap.server.attachments.extraction.enabled=false ``` -As usual, in order to configure IMAPs or IMAP/TLS refer to the [keystore -doc](./keystores.md) +As usual, in order to configure IMAPs or IMAP/TLS refer to the +[keystore](keystores.md) documentation. diff --git a/charts/alfresco-repository/docs/enterprise-license.md b/charts/alfresco-repository/docs/enterprise-license.md index 00bc26b3..d70f4a95 100644 --- a/charts/alfresco-repository/docs/enterprise-license.md +++ b/charts/alfresco-repository/docs/enterprise-license.md @@ -1,3 +1,9 @@ +--- +title: Enterprise license +parent: Repository +grand_parent: Guides +--- + # Deploy Alfresco repository with enterprise license Alfresco content repository Docker images come with an embedded license which diff --git a/charts/alfresco-repository/docs/keystores.md b/charts/alfresco-repository/docs/keystores.md index 3941addb..79727767 100644 --- a/charts/alfresco-repository/docs/keystores.md +++ b/charts/alfresco-repository/docs/keystores.md @@ -1,3 +1,9 @@ +--- +title: Custom keystores +parent: Repository +grand_parent: Guides +--- + # Using custom keystore Alfresco uses a set of keystores for different purposes. Among others thing diff --git a/charts/alfresco-repository/docs/repository-properties.md b/charts/alfresco-repository/docs/repository-properties.md index 8668af85..b96a29da 100644 --- a/charts/alfresco-repository/docs/repository-properties.md +++ b/charts/alfresco-repository/docs/repository-properties.md @@ -1,3 +1,9 @@ +--- +title: Global properties +parent: Repository +grand_parent: Guides +--- + # Configuring Alfresco repository Alfresco repository can be configured using properties files. The most common diff --git a/charts/alfresco-repository/docs/subsystems.md b/charts/alfresco-repository/docs/subsystems.md index 2f7eeeff..b13a202b 100644 --- a/charts/alfresco-repository/docs/subsystems.md +++ b/charts/alfresco-repository/docs/subsystems.md @@ -1,3 +1,9 @@ +--- +title: Subsystems +parent: Repository +grand_parent: Guides +--- + # Configuring Alfresco subsystems This chart offers a rather simple mechanism to configure Alfresco Subsystems. diff --git a/charts/alfresco-search-enterprise/README.md b/charts/alfresco-search-enterprise/README.md index bfc20ba1..1024a6ae 100644 --- a/charts/alfresco-search-enterprise/README.md +++ b/charts/alfresco-search-enterprise/README.md @@ -1,3 +1,8 @@ +--- +title: alfresco-search-enterprise +parent: Charts Reference +--- + # alfresco-search-enterprise ![Version: 3.2.6](https://img.shields.io/badge/Version-3.2.6-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: 4.0.1](https://img.shields.io/badge/AppVersion-4.0.1-informational?style=flat-square) diff --git a/charts/alfresco-search-enterprise/README.md.gotmpl b/charts/alfresco-search-enterprise/README.md.gotmpl index 0ad8b9e6..53ced264 100644 --- a/charts/alfresco-search-enterprise/README.md.gotmpl +++ b/charts/alfresco-search-enterprise/README.md.gotmpl @@ -1,3 +1,8 @@ +--- +title: {{ template "chart.name" . }} +parent: Charts Reference +--- + {{ template "chart.header" . }} {{ template "chart.deprecationWarning" . }} diff --git a/charts/alfresco-search-service/README.md b/charts/alfresco-search-service/README.md index d7423450..3c7e4094 100644 --- a/charts/alfresco-search-service/README.md +++ b/charts/alfresco-search-service/README.md @@ -1,3 +1,8 @@ +--- +title: alfresco-search-service +parent: Charts Reference +--- + # alfresco-search-service ![Version: 3.3.1](https://img.shields.io/badge/Version-3.3.1-informational?style=flat-square) ![AppVersion: 2.0.10](https://img.shields.io/badge/AppVersion-2.0.10-informational?style=flat-square) diff --git a/charts/alfresco-search-service/README.md.gotmpl b/charts/alfresco-search-service/README.md.gotmpl index 0ad8b9e6..53ced264 100644 --- a/charts/alfresco-search-service/README.md.gotmpl +++ b/charts/alfresco-search-service/README.md.gotmpl @@ -1,3 +1,8 @@ +--- +title: {{ template "chart.name" . }} +parent: Charts Reference +--- + {{ template "chart.header" . }} {{ template "chart.deprecationWarning" . }} diff --git a/charts/alfresco-search-service/charts/alfresco-insight-zeppelin/README.md b/charts/alfresco-search-service/charts/alfresco-insight-zeppelin/README.md index 677872a7..53d85e76 100644 --- a/charts/alfresco-search-service/charts/alfresco-insight-zeppelin/README.md +++ b/charts/alfresco-search-service/charts/alfresco-insight-zeppelin/README.md @@ -1,3 +1,8 @@ +--- +title: alfresco-insight-zeppelin +parent: Charts Reference +--- + # alfresco-insight-zeppelin ![Version: 3.0.1](https://img.shields.io/badge/Version-3.0.1-informational?style=flat-square) ![AppVersion: 2.0.10](https://img.shields.io/badge/AppVersion-2.0.10-informational?style=flat-square) diff --git a/charts/alfresco-search-service/charts/alfresco-insight-zeppelin/README.md.gotmpl b/charts/alfresco-search-service/charts/alfresco-insight-zeppelin/README.md.gotmpl index 0ad8b9e6..53ced264 100644 --- a/charts/alfresco-search-service/charts/alfresco-insight-zeppelin/README.md.gotmpl +++ b/charts/alfresco-search-service/charts/alfresco-insight-zeppelin/README.md.gotmpl @@ -1,3 +1,8 @@ +--- +title: {{ template "chart.name" . }} +parent: Charts Reference +--- + {{ template "chart.header" . }} {{ template "chart.deprecationWarning" . }} diff --git a/charts/alfresco-share/README.md b/charts/alfresco-share/README.md index 7f12f545..16c42367 100644 --- a/charts/alfresco-share/README.md +++ b/charts/alfresco-share/README.md @@ -1,3 +1,8 @@ +--- +title: alfresco-share +parent: Charts Reference +--- + # alfresco-share ![Version: 0.6.1](https://img.shields.io/badge/Version-0.6.1-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: 23.2.1](https://img.shields.io/badge/AppVersion-23.2.1-informational?style=flat-square) diff --git a/charts/alfresco-share/README.md.gotmpl b/charts/alfresco-share/README.md.gotmpl index 0ad8b9e6..53ced264 100644 --- a/charts/alfresco-share/README.md.gotmpl +++ b/charts/alfresco-share/README.md.gotmpl @@ -1,3 +1,8 @@ +--- +title: {{ template "chart.name" . }} +parent: Charts Reference +--- + {{ template "chart.header" . }} {{ template "chart.deprecationWarning" . }} diff --git a/charts/alfresco-sync-service/README.md b/charts/alfresco-sync-service/README.md index a31fa20f..d8be99ba 100644 --- a/charts/alfresco-sync-service/README.md +++ b/charts/alfresco-sync-service/README.md @@ -1,10 +1,15 @@ +--- +title: alfresco-sync-service +parent: Charts Reference +--- + # alfresco-sync-service ![Version: 5.2.3](https://img.shields.io/badge/Version-5.2.3-informational?style=flat-square) ![AppVersion: 5.0.0](https://img.shields.io/badge/AppVersion-5.0.0-informational?style=flat-square) Alfresco Sync Service -Checkout [alfresco-content-services chart doc](https://github.com/Alfresco/acs-deployment/blob/master/docs/helm/README.md) for an example of how to leverage this chart from an umbrella chart. +Checkout [alfresco-content-services chart's doc](https://github.com/Alfresco/acs-deployment/blob/master/docs/helm/README.md) for an example of how to leverage this chart from an umbrella chart. ## Source Code diff --git a/charts/alfresco-sync-service/README.md.gotmpl b/charts/alfresco-sync-service/README.md.gotmpl index aec31491..53ced264 100644 --- a/charts/alfresco-sync-service/README.md.gotmpl +++ b/charts/alfresco-sync-service/README.md.gotmpl @@ -1,3 +1,8 @@ +--- +title: {{ template "chart.name" . }} +parent: Charts Reference +--- + {{ template "chart.header" . }} {{ template "chart.deprecationWarning" . }} @@ -5,7 +10,7 @@ {{ template "chart.description" . }} -Checkout [alfresco-content-services chart doc](https://github.com/Alfresco/acs-deployment/blob/master/docs/helm/README.md) for an example of how to leverage this chart from an umbrella chart. +Checkout [alfresco-content-services chart's doc](https://github.com/Alfresco/acs-deployment/blob/master/docs/helm/README.md) for an example of how to leverage this chart from an umbrella chart. {{ template "chart.homepageLine" . }} diff --git a/charts/alfresco-transform-service/README.md b/charts/alfresco-transform-service/README.md index cf4b4f36..c94144c7 100644 --- a/charts/alfresco-transform-service/README.md +++ b/charts/alfresco-transform-service/README.md @@ -1,3 +1,8 @@ +--- +title: alfresco-transform-service +parent: Charts Reference +--- + # alfresco-transform-service ![Version: 1.3.1](https://img.shields.io/badge/Version-1.3.1-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: 4.1.1](https://img.shields.io/badge/AppVersion-4.1.1-informational?style=flat-square) diff --git a/charts/alfresco-transform-service/README.md.gotmpl b/charts/alfresco-transform-service/README.md.gotmpl index 0ad8b9e6..53ced264 100644 --- a/charts/alfresco-transform-service/README.md.gotmpl +++ b/charts/alfresco-transform-service/README.md.gotmpl @@ -1,3 +1,8 @@ +--- +title: {{ template "chart.name" . }} +parent: Charts Reference +--- + {{ template "chart.header" . }} {{ template "chart.deprecationWarning" . }} diff --git a/docs/getting-started-with-alfresco-charts.md b/docs/build-your-own-charts.md similarity index 84% rename from docs/getting-started-with-alfresco-charts.md rename to docs/build-your-own-charts.md index 307a55a0..f77836a3 100644 --- a/docs/getting-started-with-alfresco-charts.md +++ b/docs/build-your-own-charts.md @@ -1,16 +1,20 @@ +--- +title: Build your own charts +--- + # Building your Content platform architecture with Alfresco charts ## The alfresco-common library chart Alfresco charts depend on a common library chart called -[alfresco-common](../charts/alfresco-common). This chart provides a set of +[alfresco-common](../charts/alfresco-common/README.md). This chart provides a set of [named templates](https://helm.sh/docs/chart_template_guide/named_templates) one can use in order to build his own content platform chart. Named templates are reusable functions that can only return strings and always -take a single argument, which eventually can be an object. For example the [URL -helper](../charts/alfresco-comon/templates/_helper-url.tpl) file provides -functions to extract various elements from a given URL. For example: +take a single argument, which eventually can be an object. For example the +[URL helper](https://github.com/Alfresco/alfresco-helm-charts/blob/main/charts/alfresco-common/templates/_helpers-url.tpl) +file provides functions to extract various elements from a given URL. For example: * `{{ template "alfresco-common.url.scheme" "https://hub.alfresco.com/" }}` will return "https" @@ -58,7 +62,7 @@ platform made of: * Alfresco content repository * A database that hosted outside of the kubernetes cluster -> Below example also present using an "unmbrella" Helm chart but most of the +> Below example also present using an "umbrella" Helm chart but most of the > same approach is applicable to other deployment method as explained above. #### Declaring chart as dependency @@ -68,7 +72,7 @@ dependencies](https://helm.sh/docs/helm/helm_dependency/) and re-use existing charts. We'll start by initializing a chart and declare the dependency to the -[alfresco-repository](../charts/alfresco-repository) chart. +`alfresco-repository` chart. ```sh helm create myecmplatform && cd $_ @@ -103,10 +107,9 @@ platform, the Alfresco component charts lets you do that in 2 different ways: #### Configuring database using values -First thing to do is to check the chart's [values -documentation](../charts/alfresco-repository/README.md). There, we can see the -database configuration can be done using the `configuration.db` element in our -`values.yaml` file as shown below: +First thing to do is to check the chart [values documentation](../charts/alfresco-repository/README.md). +There, we can see the database configuration can be done using the +`configuration.db` element in our `values.yaml` file as shown below: ```yaml repo: @@ -159,9 +162,9 @@ data: MY_ECM_DB_PASS: dGlnZXI= ``` -> For example, if you're creating this confgimap using a wrapping Helm chart, +> For example, if you're creating this ConfigMap using a wrapping Helm chart, > you can reuse a templating function provided by the -> [alfresco-repository](../charts/alfresco-repository/templates/_helpers-database.tpl) +> [alfresco-repository](https://github.com/Alfresco/alfresco-helm-charts/blob/main/charts/alfresco-repository/templates/_helpers-database.tpl) > chart `alfresco-repository.db.cm` Now we need to let the `alfresco-repository` chart where to find this: @@ -182,7 +185,7 @@ repo: password: MY_ECM_DB_PASS ``` -> If you used the templating function mentionned above and provided by the -> subchart the keys would be different than the ondes mentionned in the example +> If you used the templating function mentioned above and provided by the +> subchart the keys would be different than the ones mentioned in the example > above. Actually the function would render teh default keys so it's not needed > to set them. diff --git a/docs/guides/alfresco-process.md b/docs/guides/alfresco-process.md new file mode 100644 index 00000000..a3e3c3b8 --- /dev/null +++ b/docs/guides/alfresco-process.md @@ -0,0 +1,5 @@ +--- +title: Process Services +parent: Guides +has_children: true +--- diff --git a/docs/guides/alfresco-repository.md b/docs/guides/alfresco-repository.md new file mode 100644 index 00000000..7b4b4b26 --- /dev/null +++ b/docs/guides/alfresco-repository.md @@ -0,0 +1,5 @@ +--- +title: Repository +parent: Guides +has_children: true +--- diff --git a/docs/guides/index.md b/docs/guides/index.md new file mode 100644 index 00000000..f331b98d --- /dev/null +++ b/docs/guides/index.md @@ -0,0 +1,6 @@ +--- +title: Guides +has_children: true +--- + +This section groups all the available guides tailored to achieve specific use cases with the Helm charts. diff --git a/docs/images/favicon.ico b/docs/images/favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..d246c0b86d83ed95ad86e3e493449cae5cf54bb1 GIT binary patch literal 15406 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 NzxVKW34C)2{13=g0k8l7 literal 0 HcmV?d00001 diff --git a/docs/images/hyland-alfresco-logos.png b/docs/images/hyland-alfresco-logos.png new file mode 100644 index 0000000000000000000000000000000000000000..0fd08dda537cfdb7bf1fd2519ffa0417f0081216 GIT binary patch literal 93016 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�)HKye`VW^Y}Tl#Gl{p(^Q9Pkjt?LEp94l#eYcyIwA{d;aK4Y{wY-CB&KA zv+>=&eV-+#p_QEh=@vTI`yTkN-?cJ|SiT+`7K4}(!oPAkf_F6x(n zY8y1~R0{k)-& ze4J9h5uC$)m4d~5P1l@C3#T^aB|(_n0Pus4RYrhPH~7@?dB;+S6m_~rAHaE z7u2PZ*kf*U;zYdTqqtbAFPAgj35A~J-ASJ)6A5m(faXRYn%7ymAv)9t7cQNX1*VL- zG%c~`bx_Js_ijrO^YN^L)BOOSrGW)J;>{%0eHsL>a8AM_0hYdcM_K6U4u9!lUwUkl z_wiOv;ypcJ0-TCs7Prp_-XP=|FG56t%3Gw=n~c!1$+E9H0>?ITv; z2Lj8j_aL?7Tqtp}Kr@DQdMsA^EN)(7mM`MXgx&Pwl_KL`ii7RgZw4GEdV}NFQq$k? zoOv|C>@951`q!*$HkVsVy~5fE1T1JCi&KA@d(Ky0rq&`NLp8sxce+{G@@79JCDv)D zLRRhd`ti19%nHSsCexa4WRAdR+`ihqntJ(C1M$wIi!01el&~PE>GU ztLUn;QI$;M>30ZYlt5?nChvQ(?4{o5%S0dBcbQu3Ur2!jK0bE`$S$B7Rv^w5WrEEl ztI$DimO^L5C9$25%ifDIs%e@;;mJho8H{zk?>7mH zi~yXmV0Xhw>e%aNQ+F^R^c-9N!AYJul_F*FScJ0kN{|R2U1ZKXY0-tujU;#}O&jIr zPK5p0M2mMrG{>-jo`(KbJ-&zE2Y%CsM>z=}y_8?E#uHtzJdf^RvJH4dslVwB9|BXd z=^FiuzBO>bphxbH-;Ez3xf#%OopBLlG0I&1zkxrI#RPkGW6>;Y}42Ij2vX_}dL7H*szF_A_t<}30V z=hZwXA%-#@YV4>2>;aopiy zquCuUXz>tcb8?Kz@z1MrXLl=( zoL+_?6)HSk^m#9dX5+DZ-QDFerJ9Ei-cZ}MY&oR3P**n5eVo3hBy@LwWm#A_0P_A> z={l_%0I1^f(R{~NZ>qf9AW{oe`k5xWnZHD4<`7o3n7!F3<~T%ofRL$lnXK38wqxTI zYx7#{pA*Pj>@JO+*hhK6K0S|oq#5My`CgIl%68IAw>6vhCF(u%qQ7$Ew{enIK7)@{ zpOxRbAm@#CX~|1hfPFEO$r~{ss_~lB^t(^i=F)UHS&|&~N$%+*$TdW~v(Q`tL;7vDyO{P9FjzN5Q`3@CancxRKm6 zuZG2~XNM~*gDRPOr_us<%A8Hf=f?_*!z;VlO?iHWtmP;Szo~I9f?tfL-89V5P=f>7 zVhNFd=mWi{#XBz2u!xzSBcz1*cBRi;qnK5n^U%m1#%sBU6hFKt@Hx#Vx}Lves>z36 zMcs0`hRmJo)R$}?u+{B?thV8t6q@pT`|GIRx4`%<-N{NS@)zuDMhp&>x+QEknJq{( zQJ;R5Ep;mjF3Y4>jTH@;aX;PTIt*ovPO3}qau=^q?|!QnqW5L)Q&L_TQBA$8W%H5C zZtpfXhgOH0a5$@T;3D!k>YvODD(RW1YmmS5 z=E*y`E&;!l=!b3+;w97?o2hx_gD
6%S`)kt>DW^f*DCYbr&^DeYxki*Ab2}@XY zqtQT%No)XFaabsRR7m2rjs&hS(wkkraVV;8CE2x0y#B6i2AA}U1HW8P`(byI;o|Cf z%x1hnnd_)}MW=LoO&w(UNqn_9pFJg*XDv$B%#`5?bplu4!*W{tf$=Y4f2iJT=KE-o zJnknHD7*ruIh}`AuMX1|6JtG9jb{4~z^b?<$q5mKwhY1`Zou5PcAZP# zK=N`Q%_8L^cYALE4x{9aV};KQat8HI-#m)%So>%ogg|6tq7@r&vuuAIKBK7f$njl@ z+MBhy6wXwjsx{xRn8Hc}!dn$8RP_0!>*B08CK^AT_9NP4I~^u>D6vL?1Bc>yHD8E3 zLZBRdGaox4%5>Q zLNlX|Uf3FxP4KJ7;S~2q2_7<)f8IOdcA|yx-$v+s4hAjJ4Ejdla(X*X@+cjjevL)v zkI$@ber{m%yRNsVf=GR~(GKJ=2CY{Wt-iY2RF3LLr-d$N%@d!+ehE+^@F19kPKd=3 zu^8+;b01z%7gA&0qM&tX-vkSR6Z+Inn#%o8KjVA4Oc<$NdSbp-7!-P41y)|4*i>Jq z_VsT4+k?2iW!%TKfK@``?c>iUaBFz~mjo9P^IA;y*S;78`p!AgG6Wc$0F59LFHM7Z!yQ3pt?)L z)lj=GVk@QnRT&)78vksK1xg$npM)g|Sn1RZ?8XF||Mithsivr#p3FuH(Zl%r2rI&^ zo89ST=Ls!l#^;QyRa75Vs-O7|lOFg&xdIs*gq^=u7`hq&D$Ci*)tb^(#TZrDE35qj zO^%=gGgkEE5KSI*mtajq^qk4GGvY(X$0VIb?N&GNh&vfSf-EP=F3 zl!=oYt$`0xiOdyN`0TUp`66!Bo*DZtJa`a8kaB>;^>~witdWmnlDV0LrPkT1oaWj$ z)JogRY}Udz`9MG*X)gV6f{Qe=Bm2xf=eX9_t}|{pbbaxjsQXI)m~z_EgR58xq@qKS z-hM1jvy`-9E0+xA4Kj-%*VOPILAuf`(R1w*dl{X&#-{hOJ#^8tR zxeTYr>xF_@d#!VKTh|BD-gxg^$H`)kaYLomLDu@fS5U0U87ivNva%ry;M7tbg%B}6CqW7Aqc zl=w)0f>J*FDtt)s%}e9m#P+T}bg4>(WBJ=NXrQ0>2k*7u2M=mCxb+-$5D?{W;>Ujz(U9z^pW75=juPo` zJ!t?o_7=P9yuQ3gycEsZ=K18vNyop28FjMs7&*#=nhvu6a`L`$;WYVLYZ+Lcdayah z@VWNd-b~kCH;m=O_O2@$njv0kU3ZxRjT2a4tM8{hQK5{uU*gR*=bp{}>1}mDV>(qu zSbFAWJth|tZO3y;AjI68L%Dz%^lCqita|;Fbqx zP~+4Vs@u^vv&*@1nsow6C^gdEDIQ1Stp__%QH_>3qClE7#L!9N>a6HlH1nunnu%z*<%x-3z?6WU0slSe@I!woWSOpfjcC05RUS$miw~cO02RO@K0<@S5JmP`{ zdZE&@G)%(Y6(1D4BEQFPJhv@EmO)1jE1~^HeI5iKa2ktxR~}|;kdi$TLHCAF4UpQ{ z9}4IAcG>r-a@wJ~Y-L2{qt>D;Nc9o~(Tcf({I;E_%&qdMNOQp!vgfydWlKvOm>iW) zF)i0WT`)yC$xA?BX|I5iQ}iN}o($C_T;-bwCnhC&T3-9iVfeGBc<#b3=WuD9o<>vD zA{iuG?ls9hLTqB1a!VO455boM?)9eTRlexQ9&6@4FQjNaSuw8i507igcVql+(vi*D zsyGWg{FTZ-EyQr_*A3+^|5TQHQrP^bQSH1Wh+DLID|QXw94R{D4IO_>Kxubx+mUM` zyK1U7YPIu)B!HmYQ*g%!6WcXIrKO~dsVOZj2@D|*L>-%V`-yurOO@s4lRE~T3oTee z9hF&d%x|VoMdwVEae?lbT@WT8BaC80DeB5U{GEFbvH6LjnNJcpng%9v_6F{BIjta& z03eQA#LNJQw!us)<0Ia;?4xZO-o=d^v{LQK(sVU!pDwYe?y_i|BeHcQ z-OLcrd@=0~ZD3Aef@QK;-?Ybl+D$=pt+i^^rHkTxI2WfrA4T|2am=u_Nufv@$DhO~?~X|M{*+|8|4vkX{aBi=nOpiL}7R|_aDu7dFtEW9duQt4bqgu@d9^lY|*eScBGjJ z5o_R2SAx9gnIC@Oh5K}f93=J#=*>OXp~(@D(e4Qs%f2M?!xmo~itDaGKU)LE)mM)D z)k$hEkc9iLy@72!0sM2WNlxRsOmomGv<=3(xCn6;V@0Wkn*lnWN6kdB;-`W|y*{7| zDXgt=n#A3-rZ(t2`@Z|gbkvr!IEi}J89o)Y!S+or9#UK$M(Ms+w;Z)U%$=P$+ljKM zpw=>40`7R3BGSzS$X-MzJraloJoIRmf#$l99<0F6~Dg9f^4# zz8|6coOo0IYJ$;>GCz+FkmsRIo6uhUGDvHUxz3fm^}u$=+AN&h#q(Av?LYKg5-U)V z%m_DKvF-!v@;|QJD{q#J&MZka@ft_go<4yka!rU+q2x(BvX3jLM+j6QuZ~hwBlnbO zHCG;{i6dq|6$Pf}bx}DA!knLkZh6WW9L7&K=4RffQLNbt zuqttlK=kBN%XzRO$Brd)3lrQ5YwbNQS=6<{zM|!&0x=u!-}S=Qf3u)L>%jsF;er#f z{TkNG7{t9Dm@^2yck)kfmWWH;U3YR1Ic5UrB`2N`Ko=ad?iD|r29#I(F^#>2LW8}x zy$|&7YNkP#j=xY4T(x?zBIzI?E(974#;*!TOfrT(dWe0^qE`?IW!%b}G8q*WMFaFyHNHYCQQ<=ahy5~BWqFyT(GA8!k;t)wt_^gD%-L}K ziDQ<(EFxQ_$8TFWx^mcR+rDH<(2zX(N0qyqn`OYepLUZ4?qH%g8sf0m3IB{`XR&=U zQ(~N)o-W`|Lv=*a>8IFgCp5l|Sw!h{u+*JcG-U5il-CRCLCNg)AS>+&TtMGZ%5d-b zBc8Ok`w7Bw2gEgevo)KPm&>pNr3o!{igf!%V%B^x>xnSgn4aP+cAgbGb6mQK%2vlG z4L;!$WfuMjvB=T2vY;U$=+m4&KH{?{NdhSn4|*Lig_Vz;-T zII+=h^HcW^zmP`Xqjn7DY9k0lhqz)b(Ij5kBI4jB;tDA%!>4Jr=%BvrX+u^09s=nu ziP@2PbFS5Wc2jRhJOLx#f&q7BgrLqqwlK1`wA(RI&9=5gB}cUZWI(*mM8ToW$ibKdKOP1kTsb;=`l;WS?a_Fh!F}Ne!@MKWP_|X9?I#d(2Wi9 zE3Q7hE-{i4g`a@0{?U>ja`oNkyP1FzE67y*4?c|=~&=T!u}_* zY6K+|@OJ$%8%B8Pktg!$w+RGdO|f!M-~D>KX2Fvx2i;8Ywf(F{p;$}!OQ`t4T-Nk- z-C0jvp@AZ1ZcQs?VpdSL-h9qHkZl}3De$?poEzS)VuleGhXr@JRy8!LX*P0=I6(omZ~+H!gMltw*^zxGYJCgP&tx z`md}?(gcQ~E${E;99-z#faVBXoWOvjymCdWFzxnrGYmK!hDWC@sOYl|S$H1Aydk}5 zX=i8CjUZr$RscMsNY_PFQqlqtK-#i`z|5a!SQ7PlCEr}L6E9Q}a~B)tn(F*ib4T|Lp5ms7x49(9!`T_%&6GMK9wp$`(t|7 zn6YatIm`LuI)w$a(;UCQZ>+}mde(8j?}~S3$MZf)kshZY%8(oy9MQ6M^Uv3sj-s`^ zA&A*BMzLb=M2#1c>A3daQE>7!e5;4)`4Al>5n1#1(xpHonXprnDBgPiqk?L_f*Nu` zpWP7;CXYmIBa8g*;1yNaFyGHPC-pVVz$%^)4T%5MnEx`b+7?$3gD> zY`-!;OIO#y{)qnFVW_dE(@IQ|WVEN~L~Fzs%+O220dBUHnmvaLJfJZqVS{9Iz0#tY zlwCQjoAS-^vZ=2$W8y>_7avJ@i6=Nwd@^w6vOw26f=g%%?4%iTCIOZbKTXgfjJ-@w zct!j7eERQEU^gb(ly#chsvNqPd;nt&64<*VQr5ZiDG_jh3H`?v%x@uPN1pDk7%;eHQ>`^%V!Crq)kO!$hT!2X@fbB5Iyr)N2>ybmlxq z8QHlowAC?Kme|>NvV7!~kW4U%E-}|Fs~>NlB)U6$J#tb! zNcYl_oxC2ceq~QaJaI=}qAbw-IcMnGR{EBY- zAGIi*>>bF9o}>)bs`Y^~N~qnQHvfNF}^7TCHR+7~fNwfNesYQ?FWGTJt?zRpt;kFhyPc zbdwgrVw>zF?DfPHQI&1mz0lGMBu;^i-|RaH8;Wk031B^#*B$XVq4&$zyx#6b#VKMu zWv05QmszEoCQwsW;kNLNdZ_+>X>sgbBJO^^ApQ;S#Wo2=arg6X{|WKc_i^IdT)B@n z`u|p!zm77haRjAoMu}H_^0W=7B$)b|1cCj1y+Ov5uUSM94IZ9p!?-7<&y3>@YCot7 zfhyFgY%C5+qA6onSkg`r={ZMn8aAHkKGL68pXymCRjFnzJ?IT4-N+`rZzxe~SHuaS zSJo7*MXmr{wT7LWSvMC3LrJAz$Qr`9U?4$5@Vs6)Y3GQj(S8vkeOjzX?Uz7!3@ zQzR2Zx1MNWVRu<~opNq)=vRs+)w`)OeTNrN)d(K}WoaPZb#%f(yM2qcG;vCSqbjK> zuKR^ADTl`ZK_(A=M)KDrNmHzVTP>3E|DC;mwH+(45VzK4)20;o#bhNdlyPSYLjNZ5 z;N{ZZ$;qI^{q>TZgJn$Qj^&o$hBqU2lUhn&eqxt)Z(OQGwXFEgbhg5g=}vP*^KK%& z-5X3?ZwV27&=Kx^cZiOhD8zJZOlc`C=yLXyJ9KlaRpJ3y50;bcX4}^%i^;rsXJ>Gf zas8t2?L zPw0s-0y~{-7axR!<-KcM%;F{|ohp4!?<(=<%@2!Ha1koDSx|Ichg|8xtJbU zw3lw_4^Ds+3RDbQKHeWK=*9Sk-`9~w*}Y!U@-xYBKHhSZFCrm2-S@;fdVu7p@q(c| z6^dnD7lqmc!EBC?oJ}}>B@^a5-#Q{{`SZ-8TwXJeUG|Wr5-)*&tCXkn$}oB2D~j3W zonwX{xju7ldH5eh$^10Vxwp?(dN{Me3I2oYW?V)cawS=nfKUB~I8^qfNg+`6Ji5g#zU_$$jzLF*7)h)ZrjRZcgV$v>VXSX=|Cioeh z-Cr-+4OO*B*t`~9O2K} zi=VI0kT!OuN|5oc#`K%4>s!YSjngSyUA1B-VfT7M0}zV(qkDQAzUISeVQpf^eb?O# z&pN0N;FY(?sw`Y)6e{1}&Ga41GsQ*K3?p&!jL*VPZYkl)1XhEJ{0R)x9(^qk%+)Z_Z>&ucG_a^^)Pu}GU)R{Tmrhzc z+Vvf9qVGVcui^>rlF?VTMgaviW93Tl1qyj*>vtQaj>z2~%(;i2$n-w%1`E=>lF#&& zf*e+|vCQ}@v>g{G1-#VMpf^}`p5g#CIlq6^q-c-*@F-(HQDi@ ztMT@-UbRt?TwBm|wO481tgYA%(6WFt&%?VMAzqCXPVU0%uUG9E_aDu=5kV*}`1`C~%D7j1{B6K@KH>f0keC{;nTfnu|da_^GVkw{!*Iddif{VIipd`Yx7=_C*oC)Y3e$n>WG2L{ta2NbdbZExvER^&Rmhk zc&!$Ad!2}?kj5m5*)_zB;w$7=E~S?s`Ik8J*Iw~_pSfMCsIG*u1`i-CiHPj#*J{#*iU}vm3H_QhO>T)FYUQ^nr)gnITfe-t^y4 zVdG@!-mR}(S>riquL(yi`A@n8PCj4y5RsBV6S=b7+7asktRl`9GtX1aG9#B3%}G}F zSQ$AxZ5*P0GUa`$55ybc&r__g;)=3*E?*p4!&PA>`qcErL(Ix(m|(k!v{=_PL_x`6 z2xb_*@%@8Ty29reA)&-Lh+wI`fFF2PQf8O+A_2&Sj0@x^K!$Bj?em zbdksEPB`c@T?A^}tU{-9B5eeFJ>qYlS`v@Q!;exc&^JrzPd=co6KLA}p+rdC1kmWo z3u)?gN|S54d&QujmhGMw!kxT2N)T)d&YXGUIbKf%tB`qCqY1tC?mgt-a8KkQ<67z* z04LgydDA-Yki}NENjDmih~gC!e|A{-O0DpYV`1EB(gds2k%#0v!vgmHiA5$fDrjjs zR-*A(RvpKfm5z3mIs$IVE7Dy>8;3&|!kpSVHr|>KG~#+1F{4>#Q$gWMrIY+HgkNIV z%`CdWn0;a!IiTl6F*`7zMLz1E@s0RecR0((0s8CQE_Uv*-$xl8CtFi`b#3)WrAv;f z7N5K7k#T%nC|h+_=*A@l;)L5J6SRG774=7XW`c<#t1G{v{D$3%?ljPko~ZsXI2#D& zYAf_8x0nt%f(rVBqwxn+SDlL_j#d42==>*wKX>i|_z6GY(%Vk1rqWM>Iizwvk3eX> zRLEIuEgYLyINiubbth`i=YBc%^zdqbc@^To~o#v5}ig6O$kt%g0VvrXY)|F$fX~ zNnzm_a`QwAi?jDR6gay!d&OqF?pC7DJ{p6!iV!*EBRan}eHjm*hHh-GR>Y#d2 zalZJXngIL;g$3Xl7cAmyjUPwJSEr&@v?f}bSYKcbyfCtM*+me&N+0_w{F*CXE02;Nl@|8f&fQVW@;7Ljhsf@SuYoCwL}43!odH%Jt&&<{#k;kWMW z!AaVV6E>%Ut3#0iz8NJY%aZd6dz-+hGua^8>-50bcXDmGL7nCbI*sfqoSeh>kOG^a z+bod#Bhk7wg6pghy7Pmjpk-mMaaUG5!fhSi{L_45O1`JYN= ziaW2l+P>BErCNnJBb+fWx(v@euC^=aa8$o2B%oRNcv$9;oQ>`zSU17`|RgCh^#IGjztvssmi>2td$$hv0(}UnGB%)Di z1HF+BFnNvF%3->+Mf^}f*}bmMpH3sF`ioA0q~9O+V9_f7Fl!Qd`(0mxue`6(v!yP9 z3^78|fX`toQ2dzV^dVND0uH*&Jk9=le!;bF!4uM`2Rm7p_dCuG4>#UWI$EH$!s{nQ zVy^Bak$9dWi$^=(b6Tm&>caULQ5{U~Y zh@4|MAUwko5sw_qzC4+Zlv)RiV*9Gu`8i;w$e-YccdHr`C)GzSh=DB1zJnItyX-c8 z=W&}D9!H(|)X{sc21eygaAIHvQ1N@iMI`#ctl`cu9AM~PpG^v66jV!K?~A| zyPapF{7Ctd$i5Q;2UC}An6_4Li->ujX%gW#CXS9j^tjRu zTUi!CEh2w>yJ|0gKp$z$v~W9Tt^WWBRb^)0%M@g7ddlbBX3+I|6`QL2dCT~+Az63- znA<*@xy1XyovFw@2m0GJW+#tn7n{HdjW=VRl7aG>tStEPV$bk-N<`IuW*=Un244+uj(nwy~ONi_yRnw^n2=-<` zOL-=E;6$Ln*li>_#q|fnNn3Gr#m3@Owroj@r+k?rV={W=qhe83W8#nn|1RR%x)fAT8r(VI@Xv z5-8y-mP+D^T1!%Tw?>sSF61lIJtFM7hV>)|+7Pw))&M0REbH|Jsp;SzXCS$_{xHDG5Clw#Qn=)hhm#Zf6NZ@Q})OcT^ZuJOk*Y`T_NLjS)Jm54N`ggoCFo3x#oxYGd7s9&v zqj#`xy02{gt94fe4@y_7%&)@^hx`gEe9IFZQcc*unzL)JLj!tq);$|h1~A8G{WB-WkzdaqMw${+C<+!(cT z?yh2rvw5d7@nF9^03Xmh?rY^Lpp&B!NL(~%)yqAi+)A}14wj+8nAIrmkMC*4nu`y1 z&wNsR;#D{mw!e@7vRt1& zH9Tzh?ujy`bm6+%XD=6z=9>$_HLCM`Pl z#jLbxu+pq_=B+OsVtsuzwbX7 z_)&`l$IckR8dUjwO`0bNe(OJ`^N{pY!gOh)*S$H;H+Rm6XfK;oM7{U`HtlLfo9zRr zUhobHkH9I$Q+x;H$r3xjuhcl%dQXOsyvX5z074=rc^BTm^eY1QooZfsc)485wuf+u zd}Kjcx6Hiy$^*LzSFoG))J*r4`ie|+w$k;6 zy0sBwW7+hfK273{;nsI@;7MI$O>I!2Rbd4>#k<&MfpYO-e}%8babtX1^{dLOz~;th?Q&-N_JK> z|K(DqaZY)Bf~WDfxwKH%#k6$T&_SgF1dMU!zIF7Kp)SWix9XAW`_`I9vOTek1doT@ zP}56KzLgSdk7~cAOOLFj9ilbC5r;XThkdDD&WKJmvUL{oYurxCtA6sfB##ky9r}6| zKkd&@VPMUj`zp}pE#y^9O2Jo-`0ake34vY<>CUSm&va) z$#D-3uyDfyTC>nuM3vvo3z?-4tIlORE)%jl}k%JKCxT(&`K9ynxRdFxW(v%6ygw*gLnI!ULg`S zGcN&L38LZRIz>B&QrWUjbBfOZCsd;hQHB*j?UUv3g<#aUz8UY~clgT3Wb2~G#SN

`YnReJbBhkR9`+u*+%*#Yw`Z*$Th*I`L*P95$nQYsb!}5&U#GTGHx#H_rJcPOvA+ zqw}S(kic8t0E>E)nUgVl3=i@1+~KgvDj7Xm_}DEYYSGnr!W$-gcOfUYdg9$n_XK(Q z7LmZArr=I0Tb&j_kN?70$k}EU(rKhrt!of%mGhkcPC61u+UM5Sd9Pj72o?TnJ&I&3 zaT}!-<+65^(=(RdyzY>_KbYzU(pA)H#w}7rpUo+LkIMdYo;R=K`t9^zLh1$SvT~VZ z&WVaSF0@GaNj8lpjW~g9Z1gi%?!ASYz1Zd?Fy)#(2~!%?bUbG->R5r9HrCdu(i|sz zPL&I51oW+^?6#6aL{Q`-8O`Fdqd~Dt$YQ#oDtzFjMEMz3^$vN0>xGX5fUXbS zwG9y;m(V^}j(k@3HpN)D01tnBadsU z%c=XZF9B;>`@*`HHt0S4SEw1dNUEp{RZ;$= z!3D^7fYOd#`q5%q-m^R&eOh>9w@jM5-}7*EJZiV})?15I?yC;Ysj!A2VGpS!tC2x5 z-Fq?_0=NQK`*XPt&bBeHV|bUs$DxVfFs3RBJMlV1nv||x>FeZ}sZ~tqJ6P^u z`ns@tXxdt{V*Sd(|KUrIUJxHR{cvrG?69}qA-kv3bTKWS%8Bpp=F>sahHquUu^u|< z5gLn0zjftB{^{q#-glL05 zLPc~O^#_U|KA{S2@3kkD39kdd$36CVegazTjphH{{rZ~yKHRsEmWuaIT2vkv74=A| z@t1vtHkI$aAl$#-dXVuJ&pOn44ad(DVpd0A^3{;Dkwmhw?^f~GZI$(cHnIt>YPKQI_ z-L_$x9>VP8#-X+=M<|%eqc7#8)T6Ec-4zQ{g}gfb^X(PBd;Nd}WZhup5|uBPLw^s4 zK>Ooj8vwpL3x{Q`3WP(DY963=h1@!^muy08hF10X=>L)RR#9Y#U)4FhQG8O-1Wl}tD}S>$ zGVMOQpsEmJCi7dit3fsQDeJDzthI~sR%72Oyd=L$OYdXfvkdi@hjx-B_yEHvR+nuz zUuP&Q&3nH7s+;FE$s_~e+WTUUz;wr}i}r%=1#arCvB#Tby{vk}^>g4&wwc`Y2zCO% zRcLQMbHUa4jY(m6&i05nt0(T=Z!YKP{)$H1unTz<+&~g1^Y8z`=ky@M^4_(qC=i`U zWvyRu-+^BzGYYj71nj&8?a=@4vBjS*ur|Yymi|3OZfb|{0w=dowFMu9v&pj3yxVw_raELW-&5}b5`tZ06*t?eZzkzC?`1>m3{@MvIj)8q@T)i_b)7* zo_4D4g{!Z8-a3ROM;o3d1ld5b>84=r_p!K*8O*oTw`={nYgpA-Mgar6xoR+bhmDny2NVfS#qt z$5rL$UO2tyRc-w|FJDw$r>dN<{S6G8nyJj2G~D+MGS&SDf(-0zejV>sjQ9Wgz!q?S z>AKp_*9)FU%&;Y^9v>V^m5iud;O@qh9X0pQ1Mmc2N&}sDwFBMhN`Hhz4cuu6TDuHc zvj*>{GLv{(mx2drJ@06Y40kQ9Lc)F-`^*#Tn{dq5hSJ;(D+AdOJk}9!-LF3IS1K7;?ma5UZK#M{*oFnFP`r7 zyMt`JIF~Kg%pORZAdm-Tr*@C5r44a=P-}u&WfpG~x)R+7EHod%eXP!IyTChSl9uBR z;MD;CjgIT}Sb%)`@NaeBF?$KL@YW|BF&a?>6VrYZe8bJ2w=IHD{I*1on(nS%X;5AmDVBJgyOz?C{mYtLm{E<%(HT$!_3s-&iTo)2VF z|C1-Uua7rBLf%)pZ)dlhhltMplqsD4qEgLL5U36qm_^2z(w0ozNW_7P7*@WH1!Sef z<+=|T5JQ$UUf&>u-DOedDS#E?!S@gEWLr=FB8FM=2vkfH56p!(t++nwP1=tCZqoDR zTDKot@WLl+il7v!eDO#waFET^H0At%9o7GW_zN)5*Q)0WFe_@7vo>I>T-X!!{A-?m z>DyZKs{DDPp%jJP+J9(~ZCb%RQu>wZPd^Id_QZ-}nm=OV;x_(Be)Z1wvb0*6nybgBK8sEz zzoie~yKN1`U4_iXDVRcsk|<6F$R)DV#oI%7#C$U@1{FQt@>Og(!mWc53HtX}qAIXc zs+CLKY~sq^}ICL<{Y7rz&U+FEhslzzTn*_sIe%P>?g+!0|0V{CfO!8 zjGipzbY7QJgqv%ih9Q|pr(Sv0m?B2p<$$yK$qTIfc5QM8c{rc7_>X;%yz@I#zR_DR zJ8kD_2Y9o+-t#a+$&&A!i{6|tNiYcrTz%iU{lWDi?WD*z&v}*>K*B0IWZEAVPyk-t zUWwjK^Pv3yX3|u$p2x4sU$i$?J6wZG^;gx6r|f5wo7@_kn^EMR7`tU)l*xcxkt!k- z?EfX+Ska$u?kttZx-9-g16e1dZ;c1aUPaFrvjBLTwAEbIf&jiz1EmI zB~?(CJF?NW%<9kH^hXI;WDUuDm{L|L2XM#Uk#rs3eNe`)acWtR6xpA4bVrtRdzFPv zdk*mp8i~0Xd-5oFG^1)O<;e^Hkhsq)-+xkR=KF!o|9$hI*1K5E#8*y!?dU|5q>=`e zyd-*2k4Y+mEEC)ZfZ#Lqf_0y(EtZ!O;6?af&8JMbYQ%ng@u>TOb z=;$?~(c8TV-frs=04!yh;Y-n}k3TEFL&#ww$L?LUXvU!a)~VgKU{M-8!SKH--2X0k zHHeTtp17L20n|=K8Cwk|j|>$M%$1(k&IhG6&)==+(P=<1TGHxse?8*e@B23AW2Sc7 z2U-bDkeNR1}xWJ>TN~w!gG%AFtG0&_i@=j*nAsR2Wa68KPk#P90 zBBDG4lzXw8!$M4rBbbE-Ej%HOEnsaWobW*MxuR%JwBE-LaMSMCgn9jM9hpYb@myMBd1_^kj0tZOJ$~Iqv+w}5*~+dsEoY5UDh zE8wr&^{8=;ZwL&_az5ckJQfTb$40oqvam+`eUKX4CR%+ORN)?Iqz)Tyi5I-;aJO=s zq6=-xdxh1qr4gYJ?6ZJQi%hFP$GcMD@yKIkJ5NNKLJ;EL9CvKBfjC&v2My@MM}L7q zK6kz?-3jkom^+=eX%C-&PEJX@Q6LE019V}m+twhn!XIk^~wi7`6(yxxK#tKNZh_}Yd z9hp6;e%4|K0jQ63xdC=)^ym6K#FDs$qE-%PB1M@|vDw~)s|IP1V2hW+OmVitHmle= zPYrolRr19yQN9mA;W=`Va$u`*N3rO-oc;Id)%$}~vUI|-a&}rtKo9=|Kk$6SH_AseFEHhJ!4kaZazCdH9x}1$!Op8q&?rmJ?S3Wws+ay$-4} z(fat?M*ghWB*Ik+;%wQ0w)FJmr3a9>G6W}vH(14K=q@nfGRaqC@o1;F*OXkWy+nqw zyCh0Twy@jE=n;Q1g*otNBc7fR8k?-Agfxx-^b>@A@~c}AnMP>a*n!$?_dRFzQE|>o z&Nk14Kd+@(NI9;Gs+^J?bV7d|hY9HjU*CARTs>Kj?B*VFKH}5G4&8!!n~}FmLl6_N zqW(zXPcx2sbZC`018ybht!aFMT0ytCpfSt{#s4IT)c}Yp#f^X>b4;L@R8#I_XH${V`#IcATP)$sfp<=4 z+*yw(_{2SVjePH|e~ZlvN#OSOT3Wk_;g;~f_&ZPAL~?#hub&c5?i9$$E6(9-{Q9(a zw1fr*7dG>PT9Bu0yTTtU+@WVr;(wboRbHo40>WEWLLI%JYl_47r|F^A)!_*U6qO|< z2NJQf)e-LXa2JgA0&{S&BrrX?Gs@#yfPOP@$f;4p{7zl_1QqM8k30SSWsys6dhzb% zB8zOgmVvAKp{o@RXU=ZXm@7SrD6*gRTR|LRu|#I%K5caOC2JA>=&dTkL{lz@o{={H zxZLXa#GQIkkm%P<#sK*!-%+$bt%ulQCG5wyy`Fh}KR1e_A02Hy$>hw$k4*fYCxR-q zCEjDxmiok09|J2xYIuF*Ma^YJpwzbM3g;f^T~0#V z_UC9289I#)%s|I|e90Cfl;=*$#lN(kY-fCFk$7YnbQtDS4kJ;+*p@YR1f;;|^F*3JG$-%%8b-BX(9KO607jiSV5l~|u%QFG1`-1ar zLb||onaQ0F*>UtFWpN{)t$Z!CAG__O#tY}qLOQW9@dFsTiJ=at##-`y$m!^jx(Q?$ znAB=7DJavB{$?wuXJZyeQ^U{ zziNa*#4f-H-yVK7PQGUk+y};GI>m*Yz#tX~qzNNbiKG+=_wx&DiiCA4%KNqvIl%Ha z6UE~%_+)r%wsZEqO&L@sP?ED+497XAvW8-CioQ@wBXsQT9K{HqX??uAiF(P>JX_X( z&kTfV5={+$XeD!5Ko#B`RnvlC1{oV0$6nJJH&!hHuLv)Ag|}+L%dHg?cZo1tPBsQk zpxh}KXhaOpF5blZZpswIIv=vVGX>gDr^PfwO5lXAE##B)JLd8@WEWXr#GDWd7Q&9 zM`H)`rVPBwah}J*@hg>1dsnyt`MT3(@_I>0jd7_MOU_%4Eo#SP? z;)^qC-jJq0rxAPKcWLE0s;}y5)P_59T@9wE;P?2RO#~?=&%5gmC;L4>CWY1f)Uoe( z6{MbQ4@NC*gZpNU%6wYms(0*%vw!~m)QD2VTcB~zq0@Ut^v`yL&LoU3wbI|~3H2lR zsbGlbGW8tK*MV3=S!D#A+t#|LMN?7yIz@XyM1AZy_bBw(DdTFwAyuDMyY*x`!g=H& z8M_HZSgmXt;opwl!!Ans?a_*j@iQaXlq`oJl_BLfxOCX%R*za?Ol^z1HW^Zl@=-|~ zZQhB|`z6;Hu&~MX1t}Cu2hX&X-4mBzFH)Avcy3AiBO@2BU}VcUrC%(y-aJiG;6>*t zZ;HbYY3;xohAJ28fwd-*Q%sA=A;?t2c*y2&J%fkg*%9{i!qET8O$VE@3~hk-1`qHt z&7_<}z!GR|l%r1bWoi20FL5$UvVHBbeX8+#U`*qD=_$%3>&fd(YH3N*%F#evC}y4} zLD{-Hpa6)7^2Wwv6Hi!y!Q{HP=z$82Z(1;Y@Gc1&SRu-r!>UFqr4HUYA{EBy#h=GU zcy7XJdnh`57Slqy`YU=rRcOH#d39Y{^|!Df&p_p0l_Gcru`_QQT4#b0EoXpV9qFB= zc*or4C7ZW;VBIBa==N+TDY5k(ZGeOIzM77)-&_|q0u(O*bx&YAo2I&-{6CDAI;n%> z<8RjB%ST*lfj)hb_tWmTEf!mhKZ6_iVsV-<%%CbV+0-kqP{!NR&p>NqOxJzAf}408+tc*nuxe!6P*ga+88&H?StKT_nPju z_c!jWyQT0HekE$6Sjxv+Zd2$#Zic?+CMdCL`N6g>vv>C@cLgvX_>%4hnQ@P9O|5WPj;zKs?z6mt4~BYC39Gr!TtE=tJP5Bw!hW!LPUL)eU3yqZ+jD} z{M@_doVbsk&cRSd4eN;Ilpz!O)^Jg6SJ-Bye{H7!5+?@lMln_YP0FRhncS2LXT4{s zmaf2hT}o^76E=SLyL6cW9p%ai!;}m0Q-#wVHJwj-yW1}bib7^z0-b3yfAcfYkNb3k`-`=IQivs=0 zH+>)uqt;w#AIAsiaa9uubRxtlW$~}3w6mccGByavPZ(?-S=f1#xrUv{z(`b|VR_!X zknB0)*V&iC4AGzUSB>Yrhctoq000OiIk>bD&zb|g*#X65OKYdmZx{|VM&QgPg-Ve|?g}8-SZCdcgN9IE3uRdropJ5NX954Q)U;`?Fmtmt;Zx^4f z7@zG?s}N8KY5z}ig95eMz8OXw@WQ2Gone$u0!|I4xfzM?Y9Jw9g;d16)8lyfbFWmU z`kZ^m$C`;pFi!3O6eWE|^}+3-_GV}!ru`fNQ*wdOEsD>LAsn69WBgb7ky#ALMN;4h z!h_w?GGfrN|0PC{xNGN1a`*`lxnGHyj_JEld||=*Pegwp8S-6V&DWc6jZ3g=m^iG* z{9tc1aA}lsayG;j1Jk*i2;~W#OMG=#6%Z~4lC4}U>x;~8Ht}BG0cQanvnf3<^fx0 zhbq(6=eTi}^ha&cdciE#5L=fD^W%0*+PvY5NkpuRI`AgGh{z;dMT>!A9@-lDuBxiT zXLrF1GBTF^7AVHgME__oa@`mD9#x}V#r{`?k%6fR^??thMs8nu-=eug7IP}sc6H@Y zRpY)gm9sWXTD1X>|#PGp2hwpS@n+e zc+$iD%H;%iL8bttVZo4iYHTakW%t`XJHHVt{1TR<8kWM7DXCw=(iD9H$~Po0@npg8 z6CHz0xqX9nmYrywn=I@3^hJg~9G@pXT^iidPCn*bzJ8MH{l50ZUjj!smALoQ`l`fV z+&#Z4a{0X6KO9}T57{P3a-K54aAUEDs0o*@NE?T3hL{Jtoi_~j>)Z{~kC9O(5OCiB zruevwh|u-+vW3oF)bgY){}Va5NPz$l!t6$e-PDbDJIT+*2Oja{H2+@U>QqilQI{nlMcC)<;y+u zM{go{lEbB0@-&RM+o&z1SLM6z5bGHQ0ODvaegDGUhevp9BL4}7Bnb696w1mWRgzHt z5&m5W`2E{atQDLK#Tp@G3;yXAMz{glR}R<)#;~T z2Y<%MNi8G8Fv39azESw4S#(%a(CdNB%w8ox4g)Xi=Sq{h8)%W!niz*D`uEmv32}uI z9bS)tPNrpSKQ`(A$jOZ!MTCS;#wZ@p0s*;xFwbm>{tWnH94n${j@#>T`)B%T@4W4xdd1i|dAJR8O$dD1JrQ!o&0k(G!EYqBMs-clB!Bkasmh_T#{!H+PPg{vujF} z=NZD_znRTAaD^JJ+#A0Rnq7!aV7k>uqwp8>|3QQX7?9u%OCcr4JU;8X{+G!g!Y~mf z-$7Tam(&+CJr>v6Uc%c?pJlUH#AW`0I|6>4s+u=#G=STq#M0RH+G>XK!rRk-vyj6> z*G`ZgbdmhVuC#ZMWOXeI9$ngai7N77<9WI$$yHGE=3fXv8D;zWw-p<+&21PNl`67W z9mb1yWp>=dm8rg{sKPo?k^-t#5_sIW_5ORsI6qoPc0Iyt4KnaaXuTDLw#h0CE#~io|*cLONs7M+wQdC?`=gM_s&6}a$n$QUxfydCHF7leoz%Zl3(q;yzKW(qc zM00IXTC#QE?V)-c$Z)9x)(Q+8bp)ELN-4UfVY1`=8~F$)7u98G(9>ffCX8oMzxGsn z&$qg{$5)K8g7KE3^g3wd^1d9(rhNHajQ`zYIu0lSPRyU(6y>~ z-?LX^dmNnDYvtKwfWtoYlO2!xKM7Osj?_&hdQ&`l_HRjATUqttPcV@2YY`kp*nTrX zX(_nlZU3E6J~SyS-1ji|(6e|;t*j7{?N)AXg^I4XSaNAlVh6jeRPh5jF(*B&$A2vF z(SO{Rdda8`yr;hG-df3^$-IY(TnFhFQ)Gg4Hqyl+q}<7d`_Fx!iPfg5#@F#;Jy(Em zG#;yIF?bl)##&MiJ$mH7&ncqbfjQL1yi#G`( zrxfeu+JHCj`;!q_9%K4TiNi7R8yVDWQkhfebp=C1+hs`}Al#xf zVASC(X31g)yD;Aw%&4v{yk{sqIbo>ZkN_kQCy+Kzd#Ag7vrb7%53y~lQG?nJ5nG=Z zIdKT#Rg(m|PXfhswiq3a;;)rX)uK}|bDp3RzXdyUu^ zICvcud1G26nNOMnBY+z!FUBw9>FGTJNF;!h>G3ahBXFRQhVJg}VQI#<3cr(uMI!Gx zN@4j$&`xH#Xxc$bnqJnC&Gve-7bpD7sgzz8AWIdH>poPI!}j4cBhx=_FN$Q4+Zd`6>ENP-AR-rBtbcvK(CftFzO#=V(WzG74fpFH6|UL2Dpy-?NTV zPnG?p42Ds*YvCJzTV7655gar>EN(qo|Po2-45>e=?Gbux4hQ{Wei2| z1mRWLNX3jIachEd=pT&T9DPtC;YT3p1p}$oKj?O6Q)Lj0$AM%!iB#tBSQ43-ItG+t zC!jFoEkS{P#YI+^EErMm{GW-)x^AG3aY6PL**_$UuxK*?DEMU```bUW79~v~G6QI+ zK#hQSO~sYJ4W{ylGoOtl5bQf?cMMmXkEF-Mdxb;!$05g^O+3bTQQE#o+Zsg#W_QKE zdyK(rzybD1D4MmhWQo`~sE5F(xBXJtBJB|Rl+uN^NUS?*gL?+|t;dh&n51Es_)`ju zFQUh^71`%jSbEv@GN8g2x?PH;x1~wzo=TTZDd=WN!;f!%m+`IWj_5*kg$x_|q_&)2 z-!xs;ZWMvLr2Hlv81-{$E@wM!Y6urE1Y$fRNrmr`O?UtP>xTXYim$ASBxb>Cdq|OO zTEI{Q3{S6-hm6xfWseD2YK9RMrm$r5#(g(zysm*@o8-?PL7mN;IzA>+(wCH^m~ptl z%L}`Jblk!|)Qnj{@ap%0aCq&fk9g(HK?l)vthwfnXf8k^$H?Sq^=GtU_b~-k#sa-I z^X(xB++SE+;%;-ap(fUy2Uwhg(Dq8G#sXG&izDTc1mNEy^O$5rwB!gu9uC2%Gc`+S zp>W$Nk1U}TZkm|L7~bj$)c{mlfmgH#j_veEXBCX0fq9+$EGnwdFWWDUuX`V^qw@SF zX_ZQWIC){cH3|syWM6kQms{{7R*5#*K`ANkkz9bpmPkB5h252xRD! zp-BQI2O`1FnokpK9wh_>OGN+hEI$niL}n-hfw=j!mFO=L@(Y-r+45)+i6V7E>%H$Q z1WCK7zsNCeT|T$15Y?mfS$r5=VB{zNl{};#mnNG$Cl8Qr$SW|(tn}Dg4zb<(0#-lw z{!fr8kY|^kaE}v&DhOW>U(;HZ)KuUs{~G{(>F_P$;JR&?aZzxA(Hm82|4b}&ALnzq zIL{&T=}LW=(B`Utlgo$ zhd<~%lgS?w4fp)gxs&o@=mJ8%mV_=UtFDEVmtmMmuW)u7CP_1BY66@wcDA>#%ICZ#Gg60}|LX#zI}y`&~~{UC(#(TLMor zl%g8DcD64#k7H&w`zbMEhXg@E-bms`qL0ds}nfr#q3hG^?ZiiT&M^0Z+gXr*>2Jy?pwcov&U@~K zzfz$)U_&K#Boztb`oVc6+h(Al6fY3p>`zA+uY?F|(;_w-=vxx_E-L;pe{W|;APXD` zH-G+eXe$rq+;t`$!rzbZ{C+sv1`i8;4EKo}vu{;_{JNsiDZ*;d zzv@$6VU!62Gi@%|la{JNtw74^JlU{c1L_1hmhBE=Q`oS7JaaZn$yM;*u zcS*R==3jGih7W-1OX+=$2-x=)awwAUwA8B85gx9L%9S)$8GROC0D`W7gcg{hT+a?H z<*AH1G|ca4Pr>4FB{`WItcOzLS8hw0R%`XB$SBgA(j^sCi}c_Ranzl=4se3>f!w86 zC=u0dThI$XlVhTy@XxIuQCHq;E%+V;JTF)7nu`>aF?m)tw+VPV zf=y4^gm9^(&WWkhQWEt413(mj2}PH4b@&{gB~{fF?8W)%%S)CVo|T}H&`Amc%08~O z9k+P!C%dz@99uD^4bqy9Z-@Gshy^fw&jT<92Zixr*+k+`2)eKNh8ZO_khAo)+;`WaKKZZ$FET`3#xTm8vpII)!YB* zDX2nLS#sG_*q|j|nyL9QvB4@b#fe6#h2>X@&<^@NlH@@Wfadw|rhn$W7m^qL?k+Zl z=mCEtr6cH!9!kflt_^8c(RdR<2O|w<+@qwYTPM7Zej|(aJNTg226ZgsE#&P0dv(LM zu2@%kyB1DTGfK>W7b>xboe1?w_CL{E5NcJM&6|~wZXI6R4(GHfs@8GS-Cql^G_)n$ zThGQaVdOoaSIDbL(Yfjt-{>Ohn|gm{$UziE#<#@w8-jlNKt;x-BY9{m+r z$w(%jt~8^Ae$kMF&JCl*`e6{6z3pUJ8ZNQWa~73PGI!=Ob6B(jD2=iF_uw@4#5xcR z58=F-7+O+QvS^mLXjm2Dz~?$LVqr@4~m&j&6w>qiLyFo&6mSaV)iWOsMw^Q0>_e-3sv znEq?4jDN}wr*2MeQj1Y;J{Bjq<@sdzy6rO4rWw|oMN;-ze0mLkF88>yD-QZ0iCRm( zN(y`TX&CRHD|DdeT6+gyp&K@|P1|)wG@V?uUIY|pd!ewAmd-|Mn2L3{k1yh175o#G zxT~MJiJWe7P7sVlTFjeN)(-loe)Kgz#$^&ttc7s;%j_*=Ma)wqGmH~J+dhG~{adm9 zIF+M0Cy%jlCrVMQE%>Gc%L6%ypk#4;VWWO8pefBAw88cUKKEN|H?^i85(#}H?|Up= z(evF}ie0saP>edWg|=u$DT;856Kp_v2Bnq}7UXSl6!R|{+j6%4rn-R0$;xLhyuwEvork(EgucB|BWm{=#)fb&oo>*T4@VOU0UWM+6>seN#AKv5&h2n`*$ltg(^A z&ru}MhegkVVftwV5l{nH6krv~=evSg2z>tRvXeUp$HXp#=ITSwlv_ppKW%b-GGGK9 zh2Lw7tv$9(#34=n*tr0c`NuI+bGNibi~ zwYM4g>$VSHFFQJgeYW`5DmaOc zN%17;;V`7IZE#Jh1!k6DZ&x*YT!|?fk>pHqgrARxx$%{_NAUV+F)gFoKj#xryHVo|w7_5gJf5QT9iOFq&}Fk~mBT!uBW8 zh)Ge_B#rvr=5698)Hmv>!PGiTbwF9vc51|i)$$6#wr>%iV1-?4>`XD>H*nPO&02gs z&TO4mTQDM})0x4U-vk8%(i{jx08Jjk(}sL%*9MeOeC}2W@b)|v&uDpRhnS`K653h( z<3eb-kQD|DdM8^AffDQIeF;jhOBovC7B)=CJKLe2cns;{ZitxH1X8uKEL9h(Qhdud zg=;&v$Skr=Ry&LBVR?~m+@HJ->;`r(T}Iw#@1i-&}2 z-Ro=b81CJ#Wo&EdGKczrTwi}#%*M;6w99zYixj7Z9|@r%!2x_S@cq2w=SXX=6$2&~ z)4VSV;ZKX?5|iiJ5>jB zjDdnaRQ*13JkL-%*^msX0dF;{uk`%C(y-f~#TA$>U&4HTF@SjSXM*$SV_2&0dRChvY&X5@O^;OGQif!?& zhy}dL9s^Ag`)?vALA$#0KY=V;Fp5Z2dufB$$dL4+_*+=XocxE@Q;m=sVC$ax1yO95 zKTNna+D?pqWUaL#3hc*!khEY`RAkP;FH}t?9(Zj^VJqYN$_{*=%v!P7xHt9e<2a5eOD)_ z?;V5O=)DWe!0Ub*Lm!KgJ9>q9Z}h ze`Dw&S3sbV-Y*w51DhX#{~$zWPT>qs^U}xkAHadso(E?nC)QX8b@9BsWc@^!Jy#=< zTi3O%IJi;SlJxz!H_g4GNJE{4QXo0WbY?V;RLe{rE2#+Z7kprA74StHESLcn`wI$( zd&&^0&d!VDR|kUKH#WvyPqY%vegnUx`5{|qqsl9pGf$OZ)%q-P%UcDbx zUT+L+v8We1LoOYyRh1G1)-{t=eY|x50+|B+)xgDXSbL}uLIIx|&Rc!)gCdMM|9NWA zFG|WEh-8Y~gs~VNp`l^Yi}lXhDb{jz!rNDyMh|b*6SbioK|)a;;_DFxQQ!Mtm^n7! z9S^>UuK9ctj{Nlpai5mF&yd=f3q+x5Nza5*99&=hh(h=UcjkSgi+hSDVU4r9ZX@E> zG58CRqy6X8Iza)YMrI%_MLv|L^sQ-)X{Q=EfMD!d++u)=v96nI{ih+01XoM># z!_#vb%L+cgP_!xns}{{ROU{TL;3QnAOPW5Dq8Uun?|t0I{$zZV+Db=aY(&_s?+Sv4 zH!4cK%is+0$+GXh-d1GGjmsEIDD}2EZT5c+Jo^f!Y1uu}p#g%>h_WOalR~~J3tiOJdB=bypsrJ~?HWVCuQ9t}w%xBqKc1m3 zZ!^KXw6?0kMAKp7#MF2I3xz68F`!H-XoyJkA4CwmVS`02lN3Ix{cC#eat?ua-3Ihg z1B5=!H-85W5@VGMelbqZxUa5xRk7LUvo*x8Z}w)CXGJQG3~@{#cG9LqhsM9^4`(Zi zv9~v(k?I>L+jGgbB3bxv{d| zdOP*p1OlpKGcfD#nWK&cAb8?}q;3KxkDAM?2!VovXZf|h=rT#0F&9otITt$bnV-(S zYh%$QiW&hcI{{V9L!Pf!mKXIkO)z2u96)5-0Wf-&{pF#DI_z3bCDoOV`bi-{YLNpdGxi|IoAd%O zqi|?eFlLX7n8e}wNLV-0_J;tcw3Ljn*IrM2q4Fv=pM-H_k$b^pN3u()4#yO&kb< z@hI>rYW_&@2LiF~h?T!hqkAo|&&v5QQ2gO!5BZZC@PK@CMw*>5JId#%0|SXnK@9TE zqPm)kIx(t3D926^F3?NV^SElg=O$Ko{~An>Bn8TX<&j5|b1Jj8Ia|-Q%u=9YoSb9) zlHo1Ky90ZepG4n)_ zy3by=UP?UuTKr7#J%-Ckp+%+!NxC^em(3S$sK_y$6&{g#p+Qk4+_N9V@*RjGQ^UAi z#hpr9%=?sWrcu{%mnV|z>*OYScrEHCJq>T!HPx__ z02+ZkMO--Ss#p8~B<~Uy{}uW5)|dBcyC8JWBs@kVQ@9YORw}vl6m{I%#)tw55Wxkj zHvAZW=J=f?SV|QNW{h^|eY@pLKU21R4*X1wd0ydNf7NEVyB!nzcxgOiZFgs~YGhY$?y;)NtytK_g>^guQt~t*`dTJ+9^!JyK~6nNt(+Wa$}cu+@LYFrSYG3X7GHBeGr{WRHGqr zXm8`AbEK;5piSjWhVqG$h-v)zsad18M05H9kpEJY<>zap%e`!##EX~DGv)F+LX@(3 z)7{^xkDYa;;38hNPY1lv-ZHEaVu8z1ca*P2pz27PEhO?>+!p@bb)8fM%{GS^RCJ-h8z!E^0s&>wxEeGx0CTlMR;uXh)iOyP2jF#6VNv(JlIXF%6K zt@3>)-U);ADhP1nCOH9U`EvcIw^2{P{8w1X1SR?iEEEz3htpxD?Ia6kgvrqrcZMVy zSPa9kDXXQZE#TqWC+bU1wB8q{H}TJHp(C>1Ca>KHKjZ0i4fK zp{dwc%D4MdSEjNSV^89)RY0Aw+w996mRtl8ixgC-4rG_Nu zt;nHqbhqBSnE(L}N{LaUL7p)aqD!f|MM5|h1LV9nKL~}YR*Pmn<%+L5hw#LHN?+Qu za4=(?h-HWh3pvDCG`KVr9#52RToIp}d*PQ^gdD642$@=l{!ZoKvKYAaR4qL5{ zLr#4$0m>d}lI44pKO>Go&N?(sDRo=!d3w!XX*Q z8q1b{%4(AAdP;7cE(UzpT>RDa1&!TC4tRwuzy@yf?s!Fs=SUSzd;;{7hl3P)j zk(~|g(qDex)ESYlN@rs44*G)Te8b`U{3J+TmvJ(=;Y4C;C?ew0=!{gtAQ8a{Qb8<7rIF@3PMYE z-f!-eZi4XBC(X_>`?rK|FX|zC{3^)bLq=hkjavNks;#?x916U*<$^18bxiYur1E-N zs`^{pC~~P9QwAxZ>?AgCB7z0kfvGQj(tSvAk4P|P?l8QWrfiCq(q_$^C0iXvO0ezq(MNU9Ry&7>PDc0R4cJT>Uw z+;kO(B*BN4y?2nvHaoQHFjJ-Q^xIj{vf$R>icvn1C|aNSfV|=b%%RqnJj;H4HI*Sl zR8n1+HD_>3kBd-4-~hSE8sw}SweI4~wC?_ArGSJq@67){i2ACqw%R6IBtUR?3c=kA z6bMdnEmqv2EnY0RySqd27Wd)=cc(~8ad&q)>Gz-WoVz?+B)spQJ+fx4nNxst5e5uH z5jUcqTJ7=*u01m)3B9FlQ0vMFBOQfb-;&KyG>tY8UO%ktb~gy)uNBlUoTv|CF}T{_o9PTzq8HaDf)YE53ii`YV%Ad1h&YhlnkFar3v_Q3 z2N#VELYNYuAerHCN`VTo=7qLjZGv{a2 z{+(rPggt{Nt)554oxTDXRq4YLUi*3rmS1c$r9rW9A@`6Qj`MYCv%xd%!kjVYyifik z40VWX?5nEf(NgmD+!fyJkfO>4UJh}t{W_rnX$i|g94EzF7z>qClzh`*NZRlJp2&5W_k8ssxi5(;2y7~d5ZHVkpCbR-hdTt=z$@P zZBkNn_B4(fs5|4B4?O5IIZnwGyb=ic#vO02Kb%4%I;T%TDWEgBu5L?-c0QMMA@$`#iqgna^|24}?prk8Abb{YK~-Bg<8 z-sF8>bE5o9u>x1J^v7Vd?<9dn;qmYjUVyg*jM8~g%venMKg10>DHk*G#DsWE2xE*}?9PgmY$j3jy?P|lZ zk_$3o0T*Vng;&_?+<9u#!4D>p@%i|=(k-u2RLSl*N7zOUt-MBE`8z$oK7irG@^=P^7+G~|0vIf{2 zkuqWuD**;5;>#YSed)xJf%si-9vz0$;heiel_sqCVTmU>gNNCW6z6x4}gVGOHd2opdufacEm>cEYWEK5MAEAoG z+UM}y(ZR`2ca-LUKzS0JIt7x-oM2SotDV($_vH$Iy``mKgg+@Dc$#vOdp}NiAkX7I zWH&RL|J23Mfv>QO3GsP#D6NM1pV*Sxz$Zzbjm6A@BdK45c+`JxD!0{bcXx`xyE1-8 z$z(Rt>%fdr(r2wyYN!!Mde6ZX^EZi%nc-3afJPbc#EVAgou&ZyuTz!*jD`%F z6j`H?TFW}wkKxLAZdih*4GNR2ElrH}k3^5GS;_PkA;BHNO<6dKg!#~#k@PcQ|HtWCiR}0|M1D#F5?_TW^Zt>hB(;!my`E^ME zyV5dBT&^%V1P^O!yTbe-&`0`lr)$`4T4E+r?~x8Ab*y8ZY&?BQS=M@a#nMF zhPBq~ls>JP6hwPP?#-FWe8jCAQEIVGon~yeBb_tmlr*zYGa^a>l1M`1Z{J9)ES-Bt zDld5iYGT9_14(<6GyYkwR6mRzX}_v_{u8bhy{_5|4Wm&1|iPb)PY zfguZa(qwm+>2&+QRv}|J`t{=@U-95|XkmbH)rlx`J1k9!CqhuA#KhH5{W>FtpuU9w z#JcH1<&-1JUg&XbohRQwUsDD#9y(nICKX4P86m2&FXTV7pnw86wtBhbs5H}k#Uax2 z<*Jq?pMiIfsW{Qf9tj-LGv83>4>&%o_9t=CGLbopKid~du}vv+p`jy!V<@sX(KX^8 zAjJsD$UKGJ9SggmrFc_s0x6fcktL44>XW^4R?%I#8Ort_SGOpW)DsKB>1wCun-_Ro zb+5lAzKL*;IS-Te9)7ucFZTnn#T5y>Y+;Ak7aa~K1kAuG5>=j;MsH-&^*+scD2onJQyp^E)kEj{p{|9#sapbIDp%TK0Q9EcV zt>5QrWLy7XQL&K4F=8INJ$P|X>)@VK`YAoeHnP7VV#uImN{>XwNs0_}Hfj9k!@`^E zsh)}MtUk&eW}$5^PKqDf?sBo*aXlT`;?nt2-$*b7rP;!}AJ*k}?5GOy=cd-jbe3)0 zQLdAIW@~_3Ny0W4KaIR&Qy;kN6$95?n&n(f?EzZ(9PkGGzY_H2=xD`Vc%JsmP|8kv z1Yd1nuYApZy!*2kzy~TsoiVpEa^N{uh(_)+VM7Qg1y?|L6Y1B;IcTfi`kQM6WDYtg0&;I_@)a2{m?zM+5{a=c zIIhoi?2(xGbG9*JrBUEGPX{*HqWu9SpsZ7y#|aPFlD7l6ae2r>R@V(yE%1sAIlJz> z+lK36IgzXR*r7YFg@FTdhLtj-#Yt4IIweUCGPx(DU53vZ!GdkOFDN%AgBBg!@1u8A zt8XxNaX4HRj1t#2_CELNJLO%dJ^f5jg?z=OOXR1uoEeTv6aHD8y6~Qi*xFsP z7~e{tI$vSe?+WAF<>tNaYd>qqU}hba1EAr;%dau_8Kns+!afIhJPy*7Iy@~Fey8ew zVaBL!h4d<(9I*n+{DJC_}s^ectDRsw={cy<8a!18z}n42F47lOXLV*vlUnucq+ zqpFp_A)VNGQ?H)=_DzG&~F7urDbmXryx=$TdpGL~*;jf3L2aR(a11(A{AlG}+uRk5c^eD3-TGJ_C z=5WR1P4f2oNcy36C^v~(BNx;c?ZevGH zBvG!QV}tXcL3;*^;A3BO%2%hQ?`_3&ykwpe(iM!K^5A$ z#AA7q9M0~?UQyNH*u1Jcis**ZMUG@vq`Scmb6RW%uu?u$z3glJVCoCaT_(x=p2Lmo zUf9I@d0|S5sJr$KB~#$3MI^duZ3S^B~%((wI5@h@~Af-}}T(fdE+BPfxT+cK#TSV?#5 z8#NJ2;lj)I!3|VXbM!l~ms&w{ok5P{47h=S&1bhaB|GlI0uDe6Dr4eIk_JTqYcv6Y z_99z0BL#4zT5o9KL@i42;^msqd)qVW>{-lzdxcYCR?hD*82+U%p9vtoq~v9(pSVX( zme93H1e!+dK94ilkk7%gLWa@SG7{Rxm?ZlzmAJVR6<1e;ml)<~V(aX~ni9msJckiV z-`P6OnwvL^_XK63qKMKHS}BhGgJVe4f-%K zB2Fm$PRWIv6`}j%p=BX@xAMoZ2jU+8Pi;SuNIpwN*V~8OQI7Xcs@s&GO;INa0^W%< z3P%@gOnU4y??$}UD!?H`A{;;wUm?x&Tpl9Xp$QFt<#x-9wtuy~5x?Sx zv2*Zw9|>O8!+UK$5Da3K`zMx>D?-Ww=$C7I zc2$T?`OO57Mwej_C0_e;xv?&b&^z(F*%P-U$?RBDM)}uB6}wimSZL7W*!B3hz5sz_ zdX&L+nC;*@1QqNUSRJSzZ9~Y;O#+k6X0aWXnOSv&t&#dBf!qlYhKFOZVmxJA{mR!% zYNZyNIpFMIYRd9OJ>2OGHrp%lFspA)b4WDO-2A0`@K>W{^iLkT69(KUL5g@o# zIic%H!P9szQ#s-!=TQIFaPH2D(Uf}_rKyHYi#1HqNuveLlh&JvQi;M8&oYQ>{$#Ls zIRE9v63Ol(b2RFn0ec4-I%{?u6kmQGY?3jvvcu(9Vv$>kQwSe#EUHFuoue@BzT#>j zVj%32k|*U((Mv+=AL&;8jS{F<#-w*1S>UmAvK{q(;z`+aGXVs1YCVA!bQO&W_up*!Y^uv+b4<61#(Op5}_VBSCaMV`1q zwxy=nc>JuOtVvqHgF^Q)Eq?%JsT}2xZ450E#FC@82523-=XUOv!OlHjZN1PCR;8LLJBQPK zX?E1d-16B7;i!2ETb*u*`1`TpT^~;+*tFENVMN-u2!^q#6Ey23iEc*s^MOpJvcUt1 z%)9`)2u9u~12s=55)T>PG@As{q@-OaSsi!1ZjiC2#YCnpfg!))BG5%xrq`SpZdU*EBc zX8PV@aQ#Oo-_pG|xRkf@Z?sXf^^!%&@)*ywqqPOkat2UX4~`nq+KlMc&J8m$@Aci%zk-TOWH{y)v8lnCphrJ+0k1)oL4dDl1E zuA>LZg#9>cv~brrI-iU~^k(CNs`?<`i->Jf=P~!az6Dj%(b;N#|0otEs1dpIC>ygn zD%L)|sddd_;JhQ1hlhfp^Q@SVQxS(- zoH%c{MW+EtOL#hO*B-^KUYJllO2Z(rTUBt7K4V(8Xn6kka`I2DXjNBX6Qzu2GUoBC z-t39RfbWlS(I?wBn}DBkXG&Z{0I#UNv|s;d;Qr^zeuL%z%SY%C2L+`gFf>-RQ)kmagk_yt`X=BcdCPH)2NPwg>D$HW#xrjI0J^D+g$gdcuc znC|lZh3aFXiIO3fheLuH&>G}!Xi-N7-#*mmiJN;wJK*X*dCeFXN>Byr!xu)3AE-bc zQSluF5xc$o^1`1g#L4S!i{Lu-QuBO1 z-NnsSjx}BcI|BMUa~snlL!f!3kWHrnWpFK#fcv27)aoHC+LffkegG)#ZnUXN<{K3y zgrz6k%>A0#qYsQg!$vxvZLd~%(>*@g@9RG4iq$0`1vGX|P3OV5KDy zv3Qm#dcw;7fyp2!J~CwrYJS-~xb1J)<7yIDa3)23C@QRQm6`*!>Nt*4#EMJJ={&E| zQ5RnK{KR)wEmasA@llsplOKdT#0kK&-)c*M!Z^N9X`Gq~T6JQ6cZ}03qM~zBVUJ>N z-jjYl{h7%;Mq;n%Z@aEClkcspNYJrAL%hY(-2vIh_8s(nB<1sak=Vudt_<2DlnzRXVi|PPBIF@OYJk@wstEQ z71JFIX>f>(t0!xhMv-D#_lyTmZg`=2aIAZ{2{#E*3e0t73sAqhNm(XZ%nOopwfv>o zg1XZB&A{k_HX-~QoV&~l1$-^lundEZ99vKa+>4wcbG*3fIrfQ9$&_5JGDm~Q&NsgtHRZF71wYA`?S@+pDvXRf;Z zD*8g|PtzcD)8ZrgCX+(tiowP^{Yq@?jwn@J?U5}zF@=HIWxjrJPil7zf4BnIyp@r8 z`woVvE)|&SSgYrE!iq=CnZI~xFwNNM8*r&`ZEGKl_1*t2f9}Qu$Aag0DoxA0(!H(zlE9C zh5wU!K{tM!x_rA4OYEKkCJ8P424r_)q7PVeL1|EU^ZxB?OZ!bH{$NXr%QiOS1ir>? zV22CJ3co&_Wcs>qv<~Ax1R$URheR&<@Hf&)hOdAC!SwCAowa&#i(R$|u~<F9pbDiol`9u0#_q;X>vl8F<7RT3ChgtZkyNHcnz4{jW-Tt+`*KwamNWxk!j4 zAWq!QB7^a(Ce5|XNMltV-+NMSl{GYfUfD3*n%8paA^Bj|HtLTecD;Hg=RBi3BFUlS=0xv4XYm34NP&m;;u|0o)Ez zjl3APZ;Z;YLlk-|DuO*SjHi2z&Je+6dVyRbt&xeb4S3vngFz@=TF?=zY8Il~)Q(@K z`|HmT)|+&)bz;;aB(MJAcGoUO5{!_@$F&wafKA5Pq6PUq($*WouaGF$I3ZiL#`uzy zz#pNt6N<`q=cKlr?{B#GWXXnuVo%Wx7>B|Wb<%8>{t4eGrKsTJeQ5a zL*GsJG{YF+VQu&Rf+;nyeb)Q$Yqsv&pfGeu44UdP(47Qk~FQ#LC~6y{xj&OYDyvdyFX!JlKshG9&U|L~?eY7jika+nY* zAA671V+{LJR6sTG`O+gtZwF+&0yI#^x<}V)%`Cr-bYZ8CMUh@l^pcC9Y1p_L_Quke zOBj~8UGgNF%9xU5hnY@^VVEB$h>i>JY&JaYO9O(fbDn<^Bkg>qACa!fe(R7TG$D>L zyL%r#zH5-7$fDI7r3pt{K|qm%*RH%Z$ly=a#f==|&Wd~y`-Oaony@099@nxW%rEevGB$QETE?*hhnqRu;ku)hlaRh3#VL-a3YA_b zZ{i$R1u>dg*5& zS{|tFXH%%{xb-9}z(~{NM(%(;=x2DdW}`zSK?F+H2cC01_59Eg$YK|TQK&c?f?&7N zHlS)leutuOaTGkl{O|{XXa4uQG9^9{Qmj#9{At$4*$SERIifn$GV`r+TF&wyTwC1i zxH+hZZ42nwxsaxqy+B}8Q&?TUYWV>>GL^GLb z!^&x(u>=ae1k1yV&JM{%>+Hjd@zkr(8S4S5tbhNfx|}u#)B^29cO&qbVHro2qQV-k zBr#ru^%uteVeqz5jC~ndzANG8mRmJAWWz`HJgB`l20ze=^-ksyUAVO*7E!=Q;P8H< zE;hPx&FgV{^&(0d>IwK=Q9biOW=?&_5J zrj<>iL+|Z0Jf3PH-MPU)-&z_I^{5G{g|&fEP;_CcQv?Q3=P!Rk49~n^7GYn{H`l@# z&%)#IPDiP9`9e=vml>WFC!V}t`y12YKM>U*66(5X8WOu1;4BuM{*0wwfZ(ucEQLFn z*xLOkiYGqe+^G?n+o&o;HcxNPT+B3Sn#AStqxw}GLU(~A@4VGiiXhwX_5otpEO9~0 zQU?RAs``O&*$%3m7qQTQXZ4aZhlBz!;BzNJ&}C_@gg3sZPQL1)_*6#FB;1RFBgJ~% zJDMx$m}#a+yg)h_(y#J@&x59GSqFqy>rDR|L11U{n)!Ucu3PNRakF>@LgoX4*$`$z z&}YfCq`nISDd9@7aL;U&B_N$bh-|7@Z#9XsWt-shgd#0>>4+#z#5bF6f^7|G)JT9X zbRRBvieIElZ3R2O1jHG=%m+3M3kNo9T)VqZ-MYP+p?M4vO|v`9eYu!`js7oXH_z_F zkEV+|dq=8r_*w!>ye{c6L$n^QL(m@nm|yNyM#1CddM;io@Ax{9@6{Of}CNcu-< zxV-t5{Q{#G-_HJD2a3S0F8*JuXL;j?gvLj6vIB#Z_tu$oRB(j61J+=4hgP&H3@i)L z`NapO2-&KL63_0p)QX{#JR$BoAxd~vbo&CNR}9rCC66>2Y!}(mAWj^|Qw@j_lr!bu z)3beVva6yzEn;ojup0F7oU5R_Fz^}GG;9&?j!PGpY##sNL50~$(HvK!L-9-;^2Ypu zf&_TX&u1>1b-m$G9d@~CsOtXikZ(8Hf5#PB1~$f(SghGs-4*&%oqfajf@?dgtcNnd z>HZb2`$L1K;9JyvtOEM@*z92Q7f>9RrsUGHh&MW&~qxbZ|}U*)kSH z`CR(l53}dUHi4Sfl!|!)_Y;FWSq)YkjslVeB(FR~68xf^S)2`;Mz?0X$!H;T(+16w z>p+sFn8TNN19e_W4Wd+FQINQGfzr>n7CjlNn&mBVkUw;d(3nIo@9V!oP zmrRMG{+bOEO+qdlW)UfBpsO&*jR#tULci&Q`Ak-E4#U^y*xOA=IZ}Qi-BA{nDOat^ zD30eENAn%6cW^&0xx@wb^`@xc8gc!_<5{IcutL?<`~F?ZEZqyBgkSY8?K$Opo06G% zD<|GCb(|vL0toLVaB>Nh`w{xmm62IMcbX!8gAVs0F&E2EX9A?Ysr1Q2f7H06osJKu*R11{LA=-ppZ1 zxKJ+mfUr=SR>rO&&&Y5j6rB$ohP{Eb=I=pK$w4!y2yro}Q5akl0p;iQXNYuF9U;wi zju!-&rd-!>(SeuZ7MpuX%ETN9Zz43^BT;h2TFN7R9R(n_%riEB#Y(j%eHjj%7^xzJ zC4Cs<-8cTmb42Xs5*p{fdS328YTF;$m9_*$^Hespd)Q$}pqkxUtHp*Jo$!9DbL*Fx zN0r>*3dv`NQhkYR z+RL;|Cf7=Dm%AF@P&cy7Ip(K?xMKvzj&Vs|iV8v|wPB29PW4lCA*#p+ON>b{nhEkDVaq6uD3 zOx&i8i1?epgbU^NU(T>OpUdj9+$G(lUKSo&$9c=|%2l#_ZPa+@zZyP*7w&e?;$OJE z?Ym9i>B!BfTsYD}f$&HGK-Bs>q3SGi`!m~;Z{qU|iJi2}Ou33B3}rR)@7@E|G1qfu zCEz5eC!As1cLb{!Z6s~yNUTddh@OgZBf@vFnDEkZ&TtSwN!XGGqXLDe9V;*F?%cm# zOHoSdCzo~8>PIJ^u5fRq)6U@W?+K zA~}!6yXk;H$6-`{Fza2CeB5tt(Xa_T|rr}`@~2yiKN8i z%k9F)6JAm)H-N=lUj!_YwB}!YQxv|N`Zr%h!x*;^8O{12gPB2MG}?bt<}c5oVlOU2 z8VC-bZxfk~f$%)wf`K%gLlAK0?DEYMXJD*D@+^qUI#%e@j1n4(?v_mqI-FvzS8@$6vOTG_Rwa z1J?0}uYcHVop>d9k)|9VyQB853NugO5{2iXE%#Tn;{d_YAWV3iNjsio!CT8G5C<1< z;suz9ql2(MVy-y;_=<;10YaY7FkMc;2<;C-4&wSGBQ z6%NWAUtEM2DUiE~>+8M}87_i602)q$;!#RPPF!mGHbM)?_SM>xA8Z?J%2seGCbF++ z6dQ@p>M615`DPuQ8n{d6K4q6^HIqZQT}|PIOl;;PiSPVTaTJv(g6`rdLp4i?-uBZD zO-%hgWU6eU-Vn9?+;r%iLDI8BbTgX!P6buApsF4OS1mjni&PbkG>~=xuK6(A_xBr@ z5#u|DZ`UAndrfKJ9T1)u7xPT~Tj*yBX%Un+oxoh^9xbRMb}qIKU_ZdZlM{=bwSKVH zye1i%O8MyL^taSzPrI(~$psc|m>pWOLh9$Juf5Hi}F|G&h+D zWyyDx<3ga43r<2K%eV6S5J4FQPF#VoE^FryiMcs-OlJ@~h&15A}F# zj!Hh8hpz(#dAuz_1choJX|NVhxTD#8WfZP@+2CRBK+`$U(jKhaR)i*?a49&O21OlU zYfy&-57`twu~5^IZpCNk*ym0?-ng9nAgD9&y-O}7k{znZ{2|$fcA}>J#o!SxwmQqH zVzPT0*JUo;nDY5E0nC5PQG*bEHCF)NSm4TbIDS>8tGS7mjK1vn)k}EjVP&tJLc)u4 zHq-Zp*bidDx;V zziOO*y3>ZP3&NWm0UF!ql$+8MV#Y9CJ_n`5hzdRYh+Q)a-vCFw8T`0xDS=}BU2wW` zwrC5bMfq9?&psdG(P}YT9ahHXFGI9rgTH-iJ649D&}0fx8yig8F<1H9^yKj-c!AJw zrx|=Qp-zGAO?U^VHNU$+Sc8iP! z)%&xUMa5;HVc42yNz@QnJfnW+=$j?mG40GJ83Tpfi0g87OB^ZuT-^n&D^?luh=i(| z`eGr*{`ias5MVhPj`Zv=SeQ;<9v50a?4i8t@QM4znYS#DY2UO}f|8sS3u$u^_WR)WxjqP+VRZDsh%KqV4>)t8+440@NV`XQj zZ`lueqHeBMU>uHXi+(c2i&L~C$%@fU=tl%For0x|f7k*?^{$g0Dh;VmIPY=LS!+EB z&yabqI-+le)3Bl)slW#XE(cJR7+Q|tLwlUjQf7h1K+P%fWS!baMT>`R>7#U{qPkfRJFHOw( zwGR$G617X0D9FrfXn?aG$!b=>uoRH6ml=ru*TY3w>q7jS=1N!er<(WJGPGqjW|RfJ zS+__$aTT3!60m3(1X|lSd|0sGTvpB`JM_z6?@?p|WCXj+#x*X|H3J44k3VNL6W7aH zBnJ%%){2nufdDLU@HA(dP`ac@BH$XKivfjMfe`=K8{z7m-M@VWtko6*zBf0QN(&pq zqXjy_9BJ7(V{+i0IGdiMfZI%A@w~j)HWbDMxkY|lnNgD{!RkzOY!-)lhts}gOJ%(j z$}G$D-!YJMnL9Sw?X*CJ9$YzLvpB0rsli=83JXe}8LOObGomKm%9p*I7=}2`!LPSY z6L*i(&sulE2I5C7B_(sj)Z#!0HvG|XKp!ne68k++Fmi9D-m$N5`y!6X!mnagybdTkmKBajdV0t&Ul~+B2jXV zOXtj%%r`^i61MexfcfD!O=OymmJx)przvir^mKe-_U|0jYNWt-pR=nlg5?#lL2A%L z56UU~#PG$^1b8yXFtbxi%MZjaFG650UyfxQZ+xQupEdi=n2tSv0I>&P!u8UsfWc%N z@-mwh==_bi_UHK(QYAVw^ai*#EC-1-t2y0uZcmCZy*!47+`hd#`T3QT*ahzTz`Z2N zc=wW0@Q^}Cx**?9bfQEeok$} z*|JEldVN^0u_R7xuYcNiJ-SPOEkswiP~qnkz@uXv65b!C##1GWczSIO>2qGyA{F%f z{N5W^R1rO(owmlBcnU6LtD@s6#@8@f9caw^%s-F3(^3ZC&&m zuUHB_S&#JW)xnbKi76Fz{Atot6BF!zLEijni}2_FH|q<; z?Scg2w<1ecJ|Ek6RpVx0q1|pRVYAB?^*>pwVzNFuCw56|CgGfMAV{yBpDZVA!HiGM z79e!n*S~8o8u$~@E#Sxz9mwTM($m5v6^JBGlZh_Xiz!2M!()-)&@A3C_M@r00!8dl z4@|+AFT>Q)ArTTa423Jyqy#|z=Ktxf5V|qS$+F3q(l%RMg2&i} zXit)~wEv6Q)MI6cY=z5nL4W>a@+!8I-00K4%1EC`-T9QA&2TPvDvaLiZV}WhqMxrb zvZm^p^!MjrvHc?F;t}B+t*vC_b-u%Su@sEMf*JUpZs=miFlVSGA@IAh6V6onync4B z!fKSED(VNC_BRih@?+mL-yxLXj7}*Qo#pb}f);oyY=EVNhvG3>88#`R0?FXT!}~XRAt3hJp6%}1#uA*RAMDg? z{D5p;r8Z2|#4wzHW_DzaIS@U|W_lEgk}CyAcYvTqb}r|g!+>|WL|px&DcSm1uOl+c znQjRMTT16!ZvCOK>>1~P3W>oL2-wX{6p_qN6hO~Kr~~bdW2@fn?yGDq5rekOBLH@A zJW4lW5kI8=_cJhS1_3H?_axN^nw4Ft+4n;RTYq>C>*%PO*ZGytT|6Nkt<}6bWL%!N z!xopo(y(7>W$5?E)!rc~nK-b?tYY9Li0PP;v609*+u`zKvC@0uZF#&&SWN^`&!zG! zk_W5z9W%L)toz93-d;T2x+Ja(nTQ(0sv*+K1GUe)KlrUoohy(w?Q&<*g6U!BR;B$$ z-+P~|jU>O}ak9@|337TNlo^3w8|b0(+^oA{s~zS-y=16o(dfbI^=IqJXHa` zvFy4ZSuDoSu!-B*hV9(CmVUkK-6^Mh- zFSB-FXdbb$je?+bG*Ge_vvxJsi!*`r2EPKikkdrZ#MH3Clz4g3f{t+fyRayIer?FI z#e$So^C=rYm)j$LVf-VUK%>9}v#Y$wzoHo*0o0DYQF%Tdzkjau)d$(M;pKUIy})z* zUO#xem68%tF*9gL%yc`KLUSgALh zeh>Mri0ym(CG$$H=sn(MfPEK4uKaDB6uqe1#fcH$RtEUxg0g6XRiR=mdU9#$oBV`w z6Pl(BP!k06Ge4m6j47z_k|1;hSibwhc7qia=Cn2BC z(8)4mu(7s2Zy77~>v>zk8^mr()?=s7w;`%>}gjh4YP(| zaY0y>VnQlFRGgO0*met#y>;U7hGYgRiE9H#v{( zlN8f_2J~7VT5-AUd}8Ic0g@b5k#0wnc)vCpPlTAuR-xH*s(RAl)W)!URUwfXH!f?a ztl;7E&}W%;y{9E@%!f`A~qgZ@&8Wn8JC2oOcsOs27TbhwCLi9 zU+)KiTD%7s6kkhnGf{Fc<&Ml*{xEdGQaO@7+VT;jnw3}0{?)a8REQlERPWS%Pi=K! zXhq|KHY3N*l!6!FRua;izofLw+QM+sOYN9a*jNAIK*0weA=sY>!Jv;G{%!1}rL@|% z3L)7>0mzu<`*vvh$d_`~n-BzZwuz8|b$a%Dr<>oETyb;3IA=Tvi+86XPpTjHL8t;z zb&#>zFYcc^=@6f15BAfnjPIV!R#g`lTK&GR|1|D`1QmYF&G5Oh|~#DiHzC(zr=x`2h!k9;iSZ%s*#zv;N?BpeMuQmKBp|9W%RJSMG7-647* zL((AVDdcWWNF@!|77kmZ+9vy0xMQvJGHpb$D=H4!z{^^K)}4kL;{#_@SS9;0eC9Nf z*ckI50p=eRqQ%8)-VN~`LWOF^&816>X;o z`IemEgp1fjQw2ys72xLbne^bg%jd4{kNqD!Z!&4vYJ?1rNJd%JnkHlKl=qkwaH1-{ z)Tc$Ia*2?c708T7+DpoMgV3$-{>;&+@2kr%_oa~~Ue3{5{ejz6ta>IkyJ7{N<=-eo zqN$Z$9=Q%9+TE;{5P<<=&t^)8Zhb~@QnS$qym;6@4UYBa@~BT@0e9IchS6QD(L+%{ zgKmtL>LhKbc9gRrZjfs!a+-1&a;34?8^Mq|Nu>gmGKXF1KkIGA510{=XwxuGjD&p^ zFu)rJ$9kY78;ROXAo|PWx`YgwaE@Z24J1A@L;%@Aj>MZk=w}Lg&srM}AMZKxt69AF z&bQn`WbyWv1n4fwkgy0UuVY~2PvL{@bp#dP7X)l2D>gU6*jb{9yKzwNFbU>M6X4!M zR9-;xTQD$sFecb4v#?qFox)nTQ1R#Ng}@HH*#1FDdd;O@hJ!L@5*o8)@G_NseZP7V z9fSR`aiJa8pt;|+#lP)zLelBhzL&IsPM!oMopg(3eb4=BHqEiR7)|I65-y%)R^)px zdXr+_)1FIf`>o#6QOd8}uSX2L^?v`_c3$F8npV0^RIs@f5#2`cE$u0PKKq< zZi%dur-lMOdkKH?op1UUPHhyZse7(%(R5VQYlMJLg^R4b@4x;tWDnduZ;x!!Bb-e$ z;_o=mBoqdeyLiaey}MsZqDok0?8{m}!@0siCbw^gar7bN4rCW^=C)q`OMuecsQ4C>i4 zyQBFhS=XtNY6k0ur8W}3|IbAt1ytGn@yz?%RBY(EJ*^a)21uf|?r@on6uCg9QH{LQ zBQU5Cf+w}k&?4P_L<#tpPQOf-G-M9(6*bVRod%01??l3`YQL=C$7?nWlC z(Pp}Fgv9)wO!$prb}dW0G8Zxbq|Ig!pD8eqZJ;FBJO&J{8mum-J|sXHul+zHeUHc3 zf;y9gGe{ztAc*|27~`qmri_o>1rr16-p%BPxwHBwzkW;oc&_wAEa^;r0WL|!{JMv% zKa_R=KG+#RDOhI$stot|*j3~exy4smz#!{6+xy28#53M|EnNP`Ke8tznI13_4R>;m z!d+CH(8N(xTV2(}u<lFxA?RT~~L&G}*$ z(SAs2dVa%>lHu4%*U4y0@M5yir1LLlR}Y@-q&0Fw_M+3^O-22MN}HP;y&@dg+lzzX zK?9OU2VK}IBzZ7^FT-=eS;B^u^1#cqv!Pk7k@#?EaQGXQNf*)qP88A#j4#QS;f*!| zY^rFwU6v3>z(=^j2}jS5Spy5lS;Y?6b+;Ht zA(`Y_rPnWp!4mA!Q0y;xEhP${9@xg`s`|(SH9CI!KAK?3AxVNl;7$Zv&s^IGK?{>r zR4UgA)VAt0P)IUI$MTT9en?dR!|zp42`} z-#8kSMKz-|Y5oN$C_h5t81H(9^&tzaHvJwi|T@)jX{^$8P$#f=%j)Kqlt+q%S*V8&ND;FGxkrmd#$ppxE|MiNHByL~wQ|d#Kfy5l4R0bI&+FsHMV;ree!C z@hV6Itl*gzY1fJ$J6{UmdEZ3m0!qv%v*DM zc`%Rsq?GplFZ@Y{sQHz%No}pf`-ESs*6fpFP`B)4_3Y;~H>|lj{a)IN{4y@eS~~v_ zsmpr!V6Qjxsg;3gBaW*L!-^LVa`XIql8cX@B;^TV`92dxKvh+&#MMl~1K0jK1C9cl z`Is%Y@_b;2i1(zoYK%AI2gIAlPMFY1RW43a1t|Xif+Y@u8}6BZ?PQgLX5N3%a)X+S z2agLe~ z1PykZ^WN_d^ccPO+N-K&J+n%^_S5W_k&|@~CD!I^??khPxkm<=x=@>tO{hKrGACZE zFa_IzU%XMckzeV21sxsjq|DpCPk>x&3eZy0e6aMoSxPl|DNr`4<@NTV&3UUG-5 zVl~7Aa_uxgF9+r2Y4k5wzqXda#*d!PKaIxm`J&^qX`+z{kM1(v#+e<{6bY8aEeen{`VKK;n-%rVSryrqy)zSf>hTHW)`Esm#&u~4k_~k`aJw_%M1-9)oXI}-*sJUZRMkdMOApuz26g>y>KXWuj`O#dPsUM zGD0!eK{NAaE=jsU@dp9nyNPK^o?{NO1{JE`PviCO_^}ZfFze7=CWvSpT=pdp7HGwz z6!lUzJKGX)+iZ$fLcy>x(_AU!nvOr`G|a||hCq{HIJ@l<8B3nSfq3;Rn(~fo2n*3& zO`!0@U&aqh@i((s_;w~QmgY(lpbF`;ave*`fR{r@lg^pTfHnj~ti3)g*P{DzAaJpIoji>DvQ zUi1^6+JDRYd_KNxh$zv8rzDHUy_8iQ03;rliit%07Tdi3Nj~QMC4*#ur}lB!Ck*;S zYe|%pDp)p5L=!H|X0BI3Gi-xN-W1*pp6b634myM28CfgN=f8WdKpGI$q`Siy@-(>I z;{o_I3(tC~jSf+sn~8}DSo#1$4S^!KDn(;vxhDQl`2vz;@thed8#Ec zcltcO=O_g34Uc5Q{SPPQTIKe0BhKUO}I2kef*SUSh~{KchSL%z$JQ zjMk~p2z_Wj2iGgNzE@=J5PdrkS0y@FjYDJ?lE}TgO8)dAf%0(7t^DNLA+f$pNZ@<& zaLV-4%(BtC--Pw+gUnuT>>-;GhElsF$y2{Zx_*Os8B6WzV7g#W#O;@yJ})5Yv+C7g z3XOM}RNk0S5N$;Wrx!c=+899GY#Z|%8V^CBF= z`1fjAhy9x|C94}zP}{Trkjt*V4Na&|24ErFtVMn~OJq+>nhX8&WmI!kB3`$~?T)&) zD9^7HjjUf>SgbyudLMO#pAHg=QYHj6iBp*Z&ywkRH;~N0GF!pqxftYIPH>eN^RztZ zKNO=(5~YZ!^^u8B28h~I^aw1j9;-`7ex2y>eIwyV*zqF)KgoRVC#p{I;fp9`dym67 zFihow=8F^xJ35?Q|BC3@-(F%lHf8?{FBbyND*nRH{&v&tAL7C#g{J4(%b&ZX!~M8GbC`q zwz2y095z%)Fl6rPHej`*U7MvYVT1&2M8WFSORX!+wOWVR{8PJYm-pOVN+u|T>uX$3 zr0a{I`-e}y1N8j6a$9P$i$=sXJRQAo)Zg!oUp@-N^yCLquLB@$`k?#xfmGZ)K&Q?4 zf=1Rb2Vc%o&+;;BWu#gReiJPf!pYJgGoL3-+Qt$QA)XBwO)xJDT7pAA7AHRb+)`) zjc7`7)(CDN**sut1hP;yV=%-N zXvl_DT*!)%{XJKuA{XiWubfUqggN{;1Ey*3z&*|EA*0|uvG_zbg=Xc7kK5Exh&v_z ztg49*tFjwJy>hOcM)#$5#+!z|G~MyomnrUyKfl&x1Ero&KZ5tv;K##EU}&3V>k0L^ zz@`g}x0K?Emwwfuz8)08g4=c2_BYsEb2?%ema(ni!{)7L;zZ9;Ssuj=LAf1$4w6f! z`Zsvn{}3UZ8d?X56&_lt9DbnMO>DdN~j!LpK2pdiOT8|eyfkWDA82hnR+ z_bjb>P46)l>a8i3q7@0mjHNI^ruV)Kou4ePVUHf2w_OafSuN@j`gOP~j3!0Es)fa@TY z44cc*%Uc=rfbHd+R;a~3X5$P1CVCV>8oT*+r-y2x)ig32E*uqAJygomkJ!Aqb@1jt zo%#8^h4?t_IPFKs=O$2a!aR{il|=5*asMP>D#?rUj_cw5Ojr1l{h9K6!XbsyG4;wc zD=YID0?5q+`X2}elC)@31i7|+2uIV?6bS}hx%u58-yI2@Fb-MCgiIpw%uzMbC0k|Q zv{FV3T;y}5wuIkws~tg@8j%su)$@13x8b~(Eu*Hyyz}+7z*+LJB|XZ*I9chPlHfG582(B<>}JwqOGAe-l!QVv z3-z#|al-OIFa8%!mPq{<{5FN-bvL&W+4ES2d~}iAikem7uAiK7ue4Y%?DlaV)n%Tc zG6`owPUjWVgp{F$Z^DS8QU>6K4e9%OxgSV7zGnaeFo!yC1ruL*ST9BK@TI;p2R$Lg z4Lx|tWBPegkO+(bZKwPx{wWplkAAZz$VaV}p}h25yc6UOn1Q)k{%UgS^Q4~g8}4(9 zcV~mAbLCv}Ualk=+QRN`A8Z6C1spq>@$j^(Jf0LfoC}my1>whMdO!nkw5_YkEkIDu z*UHk)5WxVP(&74p`BXsrGXW467xw8g;yZdyQ(1x0Z+QO6 z7J1!1C!Y4+#@hMz7S~s4yXE8C+ol8Pi!|+4i-&4fp<1237ie}HQ9$a)U_TkK zCdTtW5D6(b?>tLrYBlRA6Jn~Alh|nZRQ46J@j>mNo=4~r^RDf?&~Qj+8>!4DK|n?m z;m2t+NIVZ;4_wcv3GQwm&e$WaD8h+rGpM$G?E_M~yS}zCR8gb!5{Fw88SCnipS^eZ zKEcVC0(I{M8QWDnlP9_WZXS+D=_KBl6dSN}V(VSH$S`3)Y_%lC=Y6GNlf*R8S*nR! zO?@Esyc>nV{-6RjG&FA;Y_PTl-TJHP;2=!5;^SJq#2CNah2^Q@{jjC;SEWgf|i5s$i>+=60-Md3xzqe1zGb~fRO?GvOu0{01&R7Ceh(hAs|T@m4gu>w?)r}vGPKR*h_AL_Wl;Z`c($#ctrVag8~TfD4(=Uh656TRC#IN$e%D$1 zGxnmz>G0|^x{56Io=ahYkaWeW?6- ziQo!FO@aS!hN|7dAeQs zpURNjU0DK76_l4fZ?WO@`0>kySu)&ii@K3TeZmxp`AHo(_veYCZd;_|!v&eqxE{mF z%|WKtuS(Jv2T4e;tK9GH%sII}`8D_GA~rJ5IM=r?wc<}>_sP(5qab0xcx(6D>`HUN zea`Z_U{#V}!2O%$J(FLY44R@h$oq9YhoAIs`FRihJ5lnX#8EXlC$_e>_M?x`ER10= zNlcdN-xLctdJ4Gia1m4RTnzW12cdU18 zzt@9q+Cll<-w`XV;*(g&FAUFuBuJs@-hMwJ-OMVrP>Q=EMQQzwuCn9Xz%qDw-OLqn zFeHI=sI=5nx_zSkB{w(WTqfDLWH~KkW}%_Dc(EgkSC=_jz>`vc z36i_E?zOwmgxWvmaOteQR~)*nZ&bck-Hn@+DI``9ep3L4}h)( zQh~VZG^B-};QF&aK9&hTd)~1K3LC?+X>Gx#-e) zeWLz4|83IfK>p&AlwxF2+J_c`BTxU)z!-5Ti+)u3+iL8~YAXUrg@%?1(Eb~ZnoMMK zlC!1z!#Ap%v`7Nb4ikLX>fiv8OnUtGHp*$0f3CI=rYm^aeeXlGq3l1)6;q`Yphek> zrbeq>n{zZ$X1YFYz4&z6ELY?0Z*7*sIGxej+RBBY!q2gaK{#s4m!H7Vd`>CPQ6Q!h z1_e~^YzBV*uR2v{hZ%z1J(PDmhc_`{0e}y|XM`dq6b&Z)AJ?DYFnue(q2x!rIx~t? zFanyJt@(LEgNWcrpkWeDl8s%KC)^rD9GD7&$_+~Fs^P11C0PfdRxYgXzbwMHfSh`>)m%&0+rkzUhwtVJadvkB^AVaLx@xIS(rQkPmwy z;HclmaIr=61%eHuOD7@f&P}UzbnHytxt=&0-y7ZUSDQ*-&s>)+Yk<9JP*t;rDaEBMc=*mz7)^oQ8f1>+YnfzDi~+Tz>!`2!NR(-x(H0Vc&crYPv}Fe^+Mni39&5_}Vg(BTyxjqX6{W;5 zqf$5u#q9M6y1@j{z%O~sFkto;VRky;i< zB?9xB4ECYyIos+*(gF7-{JnxdvXFEuX|=$wYvYA(@+Z6uw-JT(W0; z0zTE;V3)yx+)mPiL%@FVsa0fted%fO1thr`r3oDDB>hM2TX3Yir0r1Ut->%{Gym(Y z*FXb?IJ;Jc64k83pvhV(~Y_eUGwJXC9H_;deYY;4z z)bRl4IG+qlw@lnhd73Hd7?7Z4esH#1htD8~5k#jpYUM=PJMdtO_|yxeR-Lrf>Md7O z6tGIRsS1oz(w|+5ImF6#$yyi3pq?91rUjuLNdwBsM97=pujKbQas-H)-<}iE;BCci z9TsQhG=vxVrVgNWNtB8o3|V!+TXbrgQCy8?IUJsi|IDUaGsM-&e8lc}?H}f>&JUJf zu(m9Us4=MOIA78JesdIwP%Ettf4;5Xh4wSzZ#v5HKG@HOahaT~xt-SzZkX`*-Wb`s zpC1wDg+WMyv1m2J@>bSgmoU_7wz98W?)e=rE!*LJq{e5=R5PZznf$j0Hqj!_IA3f? zN3t>Q2lUo8w5vihtfhn@tVzExfU!~4!dRcVCQ}VoOk*ASI_?=|#Qknb8jzor9J!L5 z=TV!3VYaMDtdtzhE|(E_4rzdoLONnOEdz*M+^iHA<`IwvdS0L}fiE72UZ#99-4J{O zxAyam;%Q1@({y{T+g^i(UXOp*^6ptGU;f}-=efIh$}lsJZrC-!ST(!85< zM`NQC54P#CQz8;z=a{{$UT3}syzy+(d$!i z%Px)1Vcyqla|_a5>XkWGi`uzc0nP!T5WSGD`k5)%Z|CHa9muR05x`4S7*x$HBGMU_ z(|L3DgwvC8YgU=Pr0q0N2aVQOs;a9KQH*4Nmh$LEokCuKKtm1)y{eaep9N)e;Jo*G z8$z;Ob3c1gK228)eCRv+z7NP5B61RB7d(PLy8aRC`h&dX9MT&GYHT4Cl(FJ$~liZTZWtk8d{dX zBKTJueKQq)D4fPcWsi%}@me1C(Z^#g-J{FQyCuN1+oy>n&LQME{r*_9vouN@z3N*2 zaWV`zsws1gYcRAZW>PwsVUd+w?M+8fck{#i{=r)N@7%wo!@OUsY3@PD45?pfjp6)omrQWdkre z|77o9)goi83Rqu2P8d_y$GT=)n7jnz84r~ZPImAV_Jh8~g8Jfaod5t#cdb~k+Ksqv zzXa7Lu;nd90Ilv(HWvqxWhmkJGtr%PX)4_tKIpCoE9;ts`TSTfAz#7)8V|#a-;e_> zt&me@ovZ<`S#3-Lyk5P&Uqun6_D2YQD&OY$s9<*EJiMTDpKrNGvWy^e5Z}Y!RPX=U zo7)N#(E-+jgh)t(n-s%AL-rH1d!T5r_*FEOB!Heig)#g0TaAVGu6nD!`SWcnWbz9E3XfH65r9br zt1hv}=wCepqS@Aq+c`@qQC{alH$PUUBd&_7f`*qRZPOyt(nMF0Xvn9}h+d#zA!l9w zU*rxx1)!YP32b_uJ^FiztfAI%E|bfT+Lvahoes5ExMBSxX3y;4;k5rK!kVVX!E>}L zsPoS%Yjol7JQU_`h$~(V8)PyHJa3zcmURvbe8U;`Qtuv$ohM{Pq_14T!OE{+{J5T! zIn%Zx?r2ciNK+-%?-(K!Ajj$@RKva#1*wB{xyjOevCG;Z^DCuH*mg46_yx45%g5y# zO9_l;4THtAy2xJVSFg8f!Qz#eDH31vqOzTrwV7soDV)Vm(-nWU(>ySjS7aR%kJa?Z+SDE zhP}H9%rm9jEdAKg(OMTsdn~r&W;Zm(mTH+^vO?Jg6BwP!eSMF(RBFx*YqA0f2&DpJ zR!*vd3Q@$lu_;nU_ywJAGJu!DFzGCk6V6fr^4oKMVKe{iH5YZ?c3HF+3QAcSr16mh zy^4|~6@1s+A`t?{dT;Yju7363-SvGf)bg}~v}A~$R^J^es!pPgH zEyCWD6IVJg^blM5kgsr+bW^MI$CdOc0hPH*Y{j(LfB%DPEg_h+3x=|(jFb73MZi`X z$ByGlONkR#eiJG9YMJJ-B6Fl_6M6D52};r`Z9rR0L)!cX8 zXiYwMN*o+~eHLwjIp}}sPYeqaK?l~iaVUpDSA6&{I{SqM;T;hY?;zb#1F#W|Yh9(r z3oxKil2uXe#tjXkNQwy%4B=u~23Qv?nBi9OdDX$xoI>$@&PISHb37&&>~2{9{skCM zB_x)74V=(_=D&4yVcZiK^GQCArJoQ40=^Y16+SrPL13gYgTi3yScOd_Xhd|NxcK3d z!i-_)hnqICv9FZd^0_-Ye=|gbX`n{U?v$r4c2XO4EBT#gndvyAN&Cc~9fl zbdmcOS4Zo#S2aR_IpN+ z>zfYnctBd}HN*F{yx3$tQjk8-_zWZ3p`h^w$04A;rs>o5-tC7$`KRu(C1$VcAa@3U zZX++Sl^(e>9?3@pJpHa@&##0_Sy(M)E%{Y6H{PVMFqmR;KesncFI(2Vy^o7_n+)w% zsB!8Ymb==RCv5XaZEWoB#z`R1Wu|Sd;^MFq-nhZwmgtrvuY{1C6(6EW%YO>(g#=M3 za%0?JQsSrv`WL_oW7oFW6;{?$@(RRT1vNN+@(n`T33l|iNl0T6F^4zr?+ zl4*3XD~#wkGsI^uiWaV~X$Kk$>2;NK?j;ZQ3!SAf9G5W>bSmOL4~bnu7D;{QCu;ki ziFDtF#a*?hCIah)7fb~ZwTSXx@$*k}VV22q{_FOuiDC5>yM1_#)mU5 zRfTa{$VOg&N7P$!<;uge=znl`bov3}s9q)y>k;#3%-2b-{ySn9a@rJoEP{|T|L|xr zjf&dF7>iIPoG3la<6P?xP3$L%d76?13=F$%m-%Xny!7?-#S%X`=0B^)B{Iy9rViEW(J%S6Y$m)>Vxj?}TD#psMgllbZ8 z^8MNogh@Zo^RMHhlZGVIVInR-pvLOuQM*dhhxD${OE5dyXm{3*+gY;V))BmURNH|3 zF`L9Q@5$+nYdLF1kR#J4GRt_vPQ3mr?gQCQJd~3}2mYB*->vy#1jh+0g?xg44v;1r z;uXn1;M1Mr5ns8NM4ME))*|7e`?vJ3X2`DSJg{xW_W~xeeI%jsp+s(VX8yb?NaU=+ zklt>nQB1j)z;3%$eLbF5AVS9L_g<9dG~fMv7j_b5+J zro0jeS@-Qnw(WT1jW*dgH;AX_Xw&-zyPK-cM_q;(8vj#l(-&l7PB^g!1?%P7xuqrr z5E4!{yWAN=Kjqz;{)U(j$xnz5Mr+gF&FLF&lXX@;pWKt)Cr5>#9jX2!v2vLwZJ->L zd`kmvynKH#ld|Kz2;~CY++W~l^E-?L(_5Y&Q0u|$l1PKw4epf)g4ynw6s(;-ei^p! z+ukO{`&}sG_nYXat%UGT_e+z@@pDDk#+%P<#54m2mj`TPD3>FEzPqk}VJnzk53Re9 zH^9TnDl`i5ZK)_7Ck7^Ou=!+H5!xQxK4?3HCb1p@NV=H&A5`ORNpifG`+0>4ot($D zGG5$B4ieB8L2y{WKlv?I&Apx@*;&l5Pzj%7x7H8nb8@fs@5Ba$IEMIGEVnP@a~`#J zb^SQtNO!V4KFU#bk6($_W)JZ%j{?u3KqNx+?dVeeGn_rTKer?!|B_wXC2EazfG+!e zaep4q_d>VWx-eDCF15AUdP55*zeDd>!2X_5-|8$G7TN&0j_!+Y=Re+e*=nHyYHR5J zGmzr^ScIvIOCLN|mNEhU%zU`C9yDv(T8|!9}QSf({PUi32gt8c`*db03P6> zEyS|72pjTRw2Guy!BLK?nSs$QvR!V3c+*{1{uci{^8&N?+{-Wy>6HACYpI8Ut_|b-jA=gG^mIV&vQhRCqF=l*s%{y66}zEeozrOPbo7i?kiJ$2xy&JJKJzVp7b)3>TPnxYsp#p!V@1ziWA#bbL1TUug`|?%-|V z(Vd)F-X)4hEuW+mI~qXP?|y#z^$2+9nySIxr1%#4plYZktRoY|S=mb}?s=8~3WZmp zB=NU*dVQbbvOMiLd3>wQ?LH*3sq$vI@1?IPU9C_M&XC_=Y~v^EXo&80>x$tnQ47_8 zd;oR#U$9GIE9f>1=C&GvROWml9V8<~?OmM_UEhi_B)RuBKog#isA|?^( zv+TYCv)poF-~az}P=MjUVBZAcK2D?8bP|QMnkKX zzhhFt@{=2UWJh8Lw!i1z@g~bYy*Xzy-5)%~I4!47+TX@BScm-wb}y3`RA>j}EKWbS zC6Nym)Sb;~c&RjR{k3YW{XDHo#caB1Z$p*rrM5Rxn&L8bFL2-|MP)#9JraJ54wDHi z;91}(6!ZS?A*@JltqEXW1-W1?^^tIn)Us?G-v=aroBBCtk&(BBxY6O$0*Y1sOb|Sy z7)k>-uD-*1U^#B%a!p`F@}2|_bNYekjNwVzh2Wg*MnITGG8pXyvQq0K{v;dP2c%foP|E*7p@&jBm~>$K+ckPTO2OLlp`4^ z%=5^=TWmPO=YvCajdB-|r5#D#+@W4+i{(iWD?Bk$hrs$Z4C%Cvx4}K&`o&Y*3gCy%h%x46KOs+ovG;4deBS_3sm>? zJiM-9hZRu+{!rYA+GCImK9hB4j*Xi}sSU|{-2ml%rZacxTt?&ajBeEZ{ zuS2uiie^+-mg+LhiBqRd22nn!Efn;i%uBvYEHPgoH87_m!Bb|10=>HiFg z5Vd^*VE!Thw#rP{To88nFU!akdCz6H5N9ctfm*(!NYGzy4K|TRP41lX_@jFdBufvh zBFaHg27HPS_$jLxFr^}7GD6BXa}*Qybf$8260QpQbg&*>MIyv8XUtBcl6%)vzxmkx z%+7T;>I$`_^wgXC^UT_0yCxh^s8?y;TK@`qllbqX^!9%HQ&`@e&~V`&+0d&B{8~yQ zG+rzgm7=x=l^{oaEk{+7T1)Rrvwb9IVt}Na6#p&~Lfjq3fC||E3OH4OTQ8AC7BAc^ zd6)6!sZ?#-5qwT=D9O{7to56*>n>or$rp&{$SXh*wiGKa@8eG}2KHu|Xrg?{Of<9& zMjPvqIi{51p8)Tbo%lReXU(O)Qo;TH5`@S1o7ET;w>k7v1Fno{2|od{Q27gs%)5LY z7E}gFFvB3~y*=IE&9~RL7Dm@fV@=lcg*i#mjP6S;VpT1-uh#+fvKn7gBT*I)7MNjS zeq@J36753T&FWS^230|^{xbmH@6=KE($t$z4UPs)s%8nC$%TPrwka{~;l{qdyuRtu zG9NvbP=F(>C!9?(2GSYCF}r!Ra`pFR&}87fwg;%KyNm>>$QL%)@jtWRMr2N2DVATa zrdIS#cmo`kg&y0cFRE1YupPMnYTl;CPu|zTo1QY&OY4di0N$SeFtB_FcVDQy_$yX#WB z(8d->C;d@P92q|n$+WM#vei3hRaOMqgZP}+m^A!c?kl>1W(<_~9>1jIoH;J3h@21E zLQUK99{zcdq`a*fg0r17w|8gULsk9Z4H%lCMZ$@-G+1lU%UEg(#I1eA~SdW1)$1j|u9d?MOqo|Vh;1t?Q({(CHl{4vu$kwTrDmIwts zoEtw|x)JA21^E(hC<6k+N5HIFVSS&ULh^r5#U=-(mr}FZWi8cG=v68tyX{L|XsVWB z70U1D$PTKJwZhAP;G%--jtzS9(Cv<;l6j{V!=TI{6HoviIhm%o9KY7`Py`0a`Ebj4 z4+X#e7(#>)?S^-ty|v=cf4&?I4KCavQ{Rb9kmLKsVEk9oNlJ*sb@QE7(@kw6hrVHj z&4m8Ru0@oD``Y+f8`_4{}<^Yz)>DRg?4=ga6=lzUR{W`InDY z6n^Kf1uxN4l@6kD(jBkezoP(HYpPApz(3=4x}&;P&-TFCayE;9IKePIm#i|tt8A@G z$Os2d<9w}XKPa$As`-m1N--6hexHwQvN=reuPg2t-8Aqyshwf^qClj|3WEU1WyUyusj2MM{47zT8z%A#2-!&q z+(0$YwivHyMA9D&P6iLsnbF+o;7ZjJfB=p+=0Kb8ZzoQ=% zWKQ%af06xI3|*!K3+C`J0p(BD#*ln3;TXR6b|Gcxdk9VFPxvTNH3cO`A46)I`-q+6 zFJoF(R%i9a@UuYtj zz8^0ANw-kMc@T_STGWZ>+S)h)-Hi|l?B`mf+2%vSYk6y_$0K>-4gX-+&8Oq$q*wq1~M0XrehKBnspJa$aZTC@r}HQ9*gQ zaAtK|rfgB49%SD$6iAC!Y73qL?qJD#6Lxlxk;JQ&^j}Nbar}W1AC+hG*zS-olSOx{ zN!I&~CnZ&tOVqn(7HM~2MOZALSC}!0d^6M7lZs%>vaM~a1FyvsA>R5;{cECXtjr50 zjD_gdF9*Fpg>+0J``yU=7#Fvt68;Ll%S;>bCE$1Rf!~Fdl3ZemAH8 z7*>Ory@19L4kh$|-7Hly=iAzb_Hv=9HnO{dr(jhSl`Nr0zC^FPWBE-EBKDayOO)f5 zC_vQTmtre){bw|?t7j63C(%Der6&qXO$!p36D34Y@@)xFBzB_&2HSR5Bj)_u4d;Bs zBN6|*5H}k`L?Ymj;g73h4Dwm_(IO9YCOdq$s^6beQ%J|->6lbC64-OPcSGiiX)K+* z*_@V1nA$r>Ll#gI(%l4@-yVDPELN-l(oc>$|E6i{P+>`q1}aNJ4M%Vv9XuT1a4~b_TpK5bXl1rlb=pVqc z$zI(Uck+3{n0v&%>e%XhEQ;tNswE7!zR(rTH^UHw%OH8YBu2DjO-845O7#wAj6~K% z+n8q|2UxBT_xyNc)bUp)>pf-G16o^sqmI}#`L;3wFAQTUd7f)tW+64jIPRUyRwKm$ zE49+**=b~1#^yTokn3w|&lvzvf){XhMXgi%&7K-cI822P`8@lJAuud~Reac{Nhe7# z!seLbo+8DSmm9N;J>;Fy62Rn8#@VE&PKPR_Th`J}9*F*VCq~6xJRND6z9z3d9z}2S zFtRyjE}QBcxDBA^`)p^Xtm|oz&NPXZHL#36&<(X56aEpeXd8$nN4`yh4K8WOjjbhG zY{ag+PHte%rhp74fo$;_j-Wx7D2AR**t|!66u}TfroNEA9{9P*5T%{Mav*t`nhJ{S zcQ(TD{=3MK?^7jwHK7phwUK0IowbxVs~x_Obci0M`KByQ+Q=l$l+cxnb+8)@kXbF+@>1ea1xk`JWv81>GuoswXwV2prfrbhP{LkCZ=r#s$Ak7f zZ&$wzOFV`gvMo}$nWI9J6q*g7{wX}0C4e-8h7AE4ZD+6^G1+(AF7dkwQ>d5t)%s=5 zu;-5GWkyb{p%QR(GUx-UC?uv!etJ*-vaZ@P$pa=c9~q^=d(ma%KsC?zpN1@}!l%@V z)bdg#r@Q&xIg;M^_HWpU>3a^dcA^xZCKT40)+*^8ZLllMP(oG4<3) z2b|FSQ_(os-RR~et3?W^!iNu^H+^?2!{R|q(vTZ>RL5)cN{UL~3p4>_1`AR;C2CYdR=ji>jk z0Kv)He^z&^=H+ri@5bwHRwf5oD$W`d@+iLYzZzz0bts6!XWuvk1?aKx#7CizA{aSI0nB|GM!j;T6RFmf)d(T?DOB>LIV`pP} z7Bkp33IH!+XfG>5*3v7KB`BE?pvS?ccY&uUP{X$H zh2#wykhf%V9CDr$`D$mY!wFM6DIswQxW%Duez=I#8=Por zT@4-8Kj1-`;B60MVB8g1E!y#NhKv|DlF6&8kHY8BWghRkCWyl+i2_(z60`PwzsD9M z55JFE+zUI>ZIP@Y39loX%yXif%N%Y%k-Gjf{b?pKTLm-u7CZzc*$vmBz<(FRs~{|y z_IeQTAIUIS2#V@A(JC#%4=GXrSkN*m-y8sapfSgwc@A-o5}L zHvRgHxW5aDS)PY`@2%aPHWoK;@x$h!*qJfgmy_DmDqta`UW{`!4`^kk_=Vh~ies#s z-C12!_WP5uyUxp^>SajxC1=MxM@XM#R5Kk9%x9(@{S;81X^FWs6AxaKTAn_)k{2r7 z?COZ4AMR-S&FNn3aDW4ti@qv-1j5H##;L z%}6RsMT|P?>9y^hDZ)AEPcqdp&{((cAAKAE>;`<#=gF02;rJ<3zTx{944n?JT3xzO z6~Yjz!8$uVbWZ&0ZKA==VW9#ocpd@q>>UMhv8lyYqj1})x3EKVT~FAw__4~Z-f!R! zFg6$oQEw8gt_(jPKI-q3+}BCyjFyQ)?(Y8vKg&3o>zH3v;^u|x3K+yD1o@aG(p{M zN@0Wys!rTpNqayU*@j;c4)Uxa3^WvUVLsZ;2er;otVq%FpfbV?Dm*xjDG+V$ivT!s92g{-Pdb`q{y+-+hyeN}Yq%!MC3OvvnZL8`X(#WI zP0+14Y14m?NzHTSpHf1S24iG_wq;GJ8&XWRW5Slh9g_TT|`Sxrl1pWN<#NC3Ko`+Do-6)fDj25*XskOv0KpH~DNP znjE!9ysPOUtHRh`?MLmd%Qu(iEA4+*uy_-`!~?^shQ1ABS(2(7$TJ6eW7|D!X-JFmfNu-MBNXilR7Uma3@AQbCm`HL#Lr zMZ=8=&q;i3y7H`on0!kU4)h2ufyW!97{N~e?Q7NCAw3XSvYc_|Wq3SlrYhm{s)8?( zj4IEZb@f^ALtfWqv`HX}AodHLMzUuJlcP?P9ItRtk`r72A)6G6L^*NRD210x%i5eo zo9(z1KEZc$OO6AQu#^SxgiNxl#wq7Eow-^=m&TD22@9E4^LuWNXu*agi~2bah~r2( zQ%s&yZU94G%Q@3^mM8baEY|Vb0`m}P$0dp(wn=|%X}9Zht*GlIvjfd%y91WC!a2O4 zH)i~Q?Y(7Kl-^X6UuR4-;=*F}&#sP}tAmF;-NJl%Ct2P+ z^p5I7SV`3uYLEcqqd1n^t@>0$s#>1 zLR(3i0%j^|JdGcE`j~)#n4!x}0f-|Wa52$f(mxsO?|pN0R>m#jJ;7YE`AcAKw7)58 z%y;tXd#o>kB}dh3iF~q_GElPWo;4~lGj;sPGdOHP|0?=r(-2mj1S2F1$Oqx-fZ#2$|$T-~{ebegKABeL14KH#J zf>4svgAwa0SRm^aFHAYP2ML3IkB%&V1SCeTfMNtBj#KJ+U%kCA@*!IMr4F4)k117m zA|m^a>8=k^%I^`uo)3gy?yb(ga#Ge!JuupO z#Dg2n*Rx$3-eY7zMtzm>V!W#77YhHti`|Dcln z`P0X>hp?L7tE6i|$g{j>Aot6`RP$G6y}qH7y06DiM!P>qq2-+5!SjXqq%y0=b2S!j-%B}p0cm0u!I0{Q1o z>2V#c%9q74PZXN7Fif|dok@c+4)*ocW}ECZ`Gygh!?$qyGGSRMnEgaIWgm!7#*2es zE?;FOQv1~NU%YB@%PV;rp&ut_RnTbr!!$ssOUO#6M|@c}@^Htfkw^Icmy83S2E8yl zh|9_M-p^oH?kSqJH<^dcuH@5@sg-Bg5&_f8M6II=&g$(ah%i`+JZ$wO8(Q_)#>io6 zLZn&Cu<;=FBAM*HUH&+QK)`C0`*-XcoBpW8YNT{qY+lApja_*Z z)NUG!@VQGTXd&|kbcqjoZ8s+1-94HQhG+#uEVX_*Ru>#H<}y4;A?T!rM06hS>8ago z`*=jBj}+Y7Xmwq`&p&a>?6uuoo7C!GqJEY5C8>^J zRT#~$+o`q5ewJ3BQLS61HI~j7yt^?pD)mIN=w(1w<<*jAkDY`H9RV%k_R9HrX>8e|R0c`YDhTKqf2I4*%%>9?f z0}nP3cx()wba-FJJS!L-pLvi5n+Tmg=WZ*Kd@0m5J+lq1)P4In_l%b2#)E-DbZui! z(ZwGL=L<__>sas9jxu1#WA#+2m!IRsp87YRYt*Oh;fXA8{eeD+$%RZv_v7JX(1}T| zrqEJ&j!HeFBM5%le_5=hq@fkrP{2^WyIg;I`Of?TyT8zvzpj6Yf`=-)i8Kl zJhnmQp&S_k^A!~#ms#>c5lhixVPT~!ZCAQt^0Vm(JArb>&MYFmPfna`@;=}5*n;8RA>Z=y z^IzrZceYvthOvGq1@3cQO^@b3+E}?;ZYCds^_T{0Fy<8j0i*v@F&`rB8{8u(aHzpu zOq7Y6yPJg@YCJ<@YuUN>oG8)z1zmwh)E8S8?lSa=u85Y3$SPGo`uHy2Uf(|7 z)UJy`Hw!{$-*`rlm?T}j~^SMZpw-W~?Z7{H3PB)giImw5~UL=s#t}Rsuqxlf+-bS_{l2SzLE0GQLdbDBC zjrY*dj^m%{`*pdNepycG$K6A*qK)tq@MT4GZn66g7EieE(Q|R*bc{9h!o1`8Vi|7Z zNDeQ$;CatND9NOSYUZ(=KG;nvv$%C-3!j4Wm!4xm!T0Qyo;h}z#eRuc^>f3F(mg2D zXYKQD<1uz5RMlW`C6Rlmtj7(rR%;O&Hd;RQ`6H~UYmUyfgsz7n(bpoU#5;0Zq3)iq z$*&DKm8d7Y!)(bjrF)fl)mHuFkfYmW;W^yAKhJ!cW2s$QGthqE7spa#-za`hvX0Zw zkzu*r4I%pa3j9001Q4IO)1TC$KD)-ZqlCG?Pp#OR*9cpXC*GOT@86wVMAXn(WCXj) z^c#uxq~6EW=^HivfQ%Tk^k-;U;aA>p~6tL~}%E_=OL3)Vb|Y5D3Q3!$}0#ViLI-Z0X6J7V+JPMBxZ2h5ON znZf>rxY%Xf+yarof`|8cRaXY?6>6WaHjAFNt4w82yT#=OHNmlH{r4t6=oyKO^8a`d z@cCTd=h%beGx$P9N1ZD4=Ri9gsohJYoU(T+?B*p)S0p4uX9?R-kGV9`*Sn;76pI}y z=ZyT=K;j^Lv>12GYK8a`=63pgN)*EQAgJJpdxYkpZRbyC#CwelS4Z6mMc%Xi*Crj^ zKat<~=6KXcSDs>>dKHs0pY^ADPznon&AIp>h5VLCG}|Jd*(be|NVIAvSE$}Ks9joo zO-R%jOxC)Oxx14 zh}d|~owco4Eo$*2Ay`}!CXYvzUs1MN!Shbv962a2G39al!z%rG>e4y#>xTgp9-b%z zTnYO=#9+V-(!U^?+5_By=HHY|pk2ASm!4iwAe(zy*@uqJ5=5S}5MKUNnZ^2u z0>nWQsJa=DF&NBiJ3S0`@%3`sXsc?}&qs;Q;-&nFFR$vI|N#Iet8&#l2eGw_W*cO&Dk*zkDjb4}aXXa|=<;{(@VesLsW7|f@ z+tg{)$(m6OMN!@1W!r*hn(#E+ z920Zza5?kGLaNs=cOBThCzo+5R4$N&lz(L<4V0snZLjK}6i&C1A2@spuQG5M`n)>< z&u*lAoNgbCT;4WQX?#YdC3!2pRe+1z{<}<8N_Bclu)Lh<4C8$%jwV#b_Cj!&kPvg< zey&`eh~92)!@Jee=@J!gBZ^J-;bAP!T1|>X$jU>R9HL7ZyyV9c_@rnaGFPh`lGyYr z%{dj34O~VuU>bh6lgC==Ee=$-U4+~{7(A;JJ%8mKpT3=V#%^%=bHi)5KWEp*@xs#v zb9a^?d)w9VsC90nl>J4h2WQ-v?2bbSUu3U%Z0Ej4yDLK`Ya!~BDe1+v&)1`b1@5oCGOkI+ottVA& zFYH>~2|SO#I_zA$oOVC&8fVtncf|leU%Oizw4K;k4@Z~#^)bj4>{Nk|wMN+e*4(A_ z9oi-_^3Ud@<{Qs1G9L9#x$}l=8s9FQ;TWoH*L$x>G&k<1#{62juX@Pfq%U~KjN^w5 zSF-`pT*Wqyi-Ix7v9SbZh%JQ=zHLx@?;ndFjzt;m673*Dur!Uj(+#O)==19`jzV#C7$YU(*GksaZ2BW)Yq zK}JPNL#aZVb}FM}efzy#$EsVFlH(n3ei=^;%Mw0b{dSI}em-9=qr`bi&-VGU;yK3^+mC*N>!7_yR` zteQsEuOrfFAAddC62e%7pq{MJ*%!$Tg3893?HXY>O-h zyp1Z+ZGI{mhGCh73e+-PtOJSJrIC#E5BST2Q;$3P;8_o6c6yO7(o9MK98gih1%k6b4E@PzvSB#FYj#g*`m(u{?|n z8{NNOaH3v&2|hn~mCs5oVZ8QpWMkX6I84RbCm&j~i`UlWq>0|*$6^vN$v?2|0@$fcY|B&#asM(?hY&$*+| z+2^Tu=f;&xl@U};fz72y*lgAHalZ}YFIp=M29d|6tH&_0jcuVwqPk9wN4+|cV=#!577Y8!~*x$oU- z{sP0Zo0huF{*Ebyhp+}&n{N`IXsI37MLFwDjO|ARO(TZN72&iT?1vOKykyD`W6Npm z1zAJ9Ia2Dy2~bSk@#!~})7TPEZtv-T=`J0j7HH3(SteCq3HAS&B68dD)`4+m&bhC0 z;gMViEo0VECrP$)TJ`swhkTMoS{(ut3C8}&Q&QMP)T=>+DW(m`cW*MpXXM?ELUtT4 zb04kYS({OZ-D14pD8lC=crki;!@O`3)$SS3o4WH_;Xul`jTfylA?Ju^y%`$8FFtm?QF}U}s_}#{W%RQZ2ZPu*dQ-LLD z;qqD?7Eg3rwKm$UNGL)@8RTYe9pkN5SbO%KD1OvA#-K+{MSx->2+bCucCS*GfckFs z+2u3~aUk7xD7&qDtc6lvDxT4V3^bKJLS3~+xW6s+*D4m}USIah{+LoeLz02i&D`GE zIu8rwP4f`AGTw>@mz_Rpc$fsfV3oRgDV=GlpAfQ{hx6RWW*+r9g&($iR#!e#6dyA$YSSy87s$00$fTk_FX~&-5N^gc|{3TWBlt3~xul$DA&s zB=RGnUUO5UFUwLzr!Cp^j^A$Wz=tAz%4kKBTo+&H#UPv%2h^Fz8bad@RKT3V^DkE( zJrOhJf#AGtV4W{sT@nnu=r?OyezDO2geQ&XTNfD`BPFgEhf#r9wRUZalr~!Pj{UXB z=y>YH&%8d25gl{B_an7Y>uKi$8+~9G3qdDy>xJ8qlm3tEY14L3>Z#4VSPc1+q;*71 zH1Y2dme{xRXiIcF+xsZ$cRcTC#}WJ!yk8SIq4*XVVK1m>h+URRO)31if9Aw^uQ^M* zp7B02i6~n=orptWC@kf!*d!5kbLFb>r}m8#z1uS+eF=3VgL|S+ek>&$r@A7}^OSO1 zQS6Z#Ojh!%O};K{_-#CKsMp4?FoCs05J!aF%X@e_BuJOrfm^{B!ek3-b_t<3HHJ`e z+0D-G67$B36&erW%L6{WS!We%U$AO}#j0>y-7DxZMxOpa8{o#VZa{f7tbHAwc`ie0 zoz*Ic@2HSvrxRkc35{OvM|8d%s%ckPNd>RPee7WhmsiWM(CLU2mt<3CIvk0eK94{1 zI->SC6%`Tow%@-;Im{1>XDfo%y`%DHkRoqjS%IoNB-gX>8K%^T`Lo3ir zt(6e`U+>^EC1-LA#j~Z=x~y!X&RJ6lD}*q=ywM(W+PsGrVb6I7=3g$CSeLskT8 zk|+6YYa_k(GFI-w*z285BSe5a3xZsc%w#}Q+p&ZyC|6ja`a(`F2c|ZJTp}KBOw98; zAfj+d9tn>%S|1*)mC%+V)Qcln^t7ZUjq2kSNIEj<=9P&ro)bdeio@Z>1{fa5VkyYG|4;IZZLB!%rWq)EntsmzJYBhT4+BX=Ol5- zph3&5@7f$H!{+UPx=0(1i*N%!gCd*2^A8xB>>P*C$Hns(1H5kF(292~km}lV&6pEd zMr_?Kx#(Dhgq82IaGkWR7h-<-y%ygUlQ`5&RZYD`}jSM0a+x-w4v$EOooR}HYJ5~n#*!mhtZPUju-`bTWjJLtoHA)UO z3MU3tyR;%zxHIR*q^IePv!7K>JS6M9tF z%c1rUNvjQJ9^ng}-TgA3lw>f3xHD&-m>4%OZ}M9Ipl4Ti=nME1rlxX|P55PR{djNc zB+Z(*?Hm86OJTD88SK#Yh5mGM_=>0~w*7ttxUABCNLZ^Ss_u}v>VTz?O*=*@Wm8_b z?PILhN-2(hHA^X2pNxH>XIc8B&Cw6lM#3DrOkqTTYKC=$?|LGze9rkz1wQ?;^b zMZkP?y!7^9nTJZFghS7y?tKLjWeBH4d`%{DbnTXSOBr#xoaOmgTnI5q(W&6b@qmQV znz+IQ8QNZwJ`T3MM89C5GiKNfn^u6~x}dib8zxXb?J3)HCz~TDKD=kCaMGI}eJ7~u zXo%b5Nsw`I7MmoR)@yADv!OOeXHee&QYl*t`hMnqKfGzXysATYUv z&{g21m$*s(@<&9fw zib6i#@7vL?6tY)>?%= z8GPbs8NxoZ;+~KMr zQ8;;ss4s8Rw-$UhRV9Y~lw;V)nE7GU2k2QiOlX$2F3k!fij|hqbK*SnVr+ghft%!E z>}k4JS^d}Nd7&X*CXRWU#C)NhL4*)c)OrE1;)3?81*Osi5cx*N#D|AwAdAg&8g~Ow>m3w#7jNk&ki|?Ohk4WwEb4S?n za4Twg-ytB?qp?WHGf>q7L9_h|_*7k3!&u&sNIvcRnO@Ld@f>^aVd!#V>GPjh&Tc?BQE_a6*iyO=epr-&--UF!vM)ihB4$;r%n|!5IL0S6CSqQRZzn8wpcV7Kf;k)lK#{J# z1W-q&;9mWppk(Z5wEJ1QtcKqHVWWUG*$FHudZy2#YA2FBdO%av%))_cyj{|`9)p~Y zMCo+8i;i)v?va3e+mymnYHcIgcWiRZ#JHb``>`XVbMNc z3dUJJiJn}9Nl!n=<|{Blc9na=pk%qPWa6j=PtJpGf~xd=%m9%Y-A+7-H9wtVzNaL= zr__$#bWT&6=-|-x{FNP*1wEEYldU>Ouzzo0Ag6m|b+(^L*u)*3~+Epb;~!#iHe3>OTf?Y`)fYFhZlt;e&j`ETsPz&LlHz6nwu$}SYpEXYNjM}W{q2zCq zCvodco5H!HCRV*;ODE@Z_)w1nEbl7c&;UTiKgx{r;f)*5du1iX)&HTr9)(Tb%Nwub znkR}L`y4@Dq{&sWK%FODQ?#p5lhJfLM}hH|gF*1=23qXh)upm5Z$TZ=M3E|_QAF(w zpV7h5ff0Cl;rq#$7Ex8Wu3srL`*w<7U~suWTE}kPk%@_2t?+yI9m@Pqhkseh6&1!s zcW@RHY-IGocL=`d0>yFFVvRU0wOYo;_69+>aqbEs+ma(%O2*K)7G*gip2x9#vY&=& zlivO{3OzFcF5j89K7K)E)oQ0_5XHTFzPc7D^q`)5 zw4L${`sFJ3kWdcvt-r{lPOGFzmAysW6Y$2Xr`?-Ru+`{h7F`g7#glHfIZy>Dp#AS;>Z#n^osEDl#C7<=agh_dp`5+C9S<}o zp1)?XInqz=?#7Sug(b#xpBM~v(KbA27E;z?8cQi=sos01RW3{SPwc|!<%HnqR&&>$ z$D6ncVI%5Mo8IkAylZfG%G1-Jv*V~oC#bvIX#wxu1vzcUUo~_|SZxc5?0*v~lR`QLuvKQv zacF*3ftF^xSuNx6jy|#7W`K=tLU%dzIkR%i*m~*#HM;%`S>)c}hIfRD!US;vRHN+`<9-i)Cm?j^m@w^1IC z%)+jme_>9bOr>iJ9{}?j)P28zu6XE?n9`B;)2F4KfEoaY5UA&iEjO7h-hcKKz%t@Jdhft3rwn?K%qg5%lsQ&UeFjAY#lBmO9`ON{$Nme1@d z*`}rlJMtu9V1zg;aJe2@_0b8q8SbxF1F#{$dZp0Reks6_>UJ3L;$21(^?8CNPCls= z=H(KhqGB^ab>fX+IVNb?<*+Nm^tjQZtB~n`bPnh_Xnyd}WHF51@$5*;d=Wn@vgE7i z(jsv&5Si$@ZlT%WoUQ?_HK5{xGq8(-IAG8^&u*&wKJX&W4<1g`ROsNq;g;Q#F&?Pk z$%1mdl?r&GWVZCYAA;mcOJh|K@UW1;U3>WCpYQwgi?iWZA$yL2la?F6{1e!IR2RF; zmg)G)n=aI_oetN4P_UQ88wx7lVN88a-WlUiKD*h;xrLy#88`4>*8F7+qwqF@C5Kg( zx_$|A(8G70ZAGnWQ_cc{Rvv+qMhSIm_70jp=?I+lD*mhB!#oA90#!O@P> z7xHP!d`3Jqk%4nOKAKcq%xQtt+Q{6PfgWP|W+7G@#+U!gqJPXi026Z$PuAlp5Nt|f zjTh!?!26g(V#cMLdb?w~Hzo6}ciq}bjvHX^SKVB?aL}w66|1L+aCOBzg4pW% z2*pG}G=cIaOGb_MZ5+5xRHAVPn(K?W>ZVm^3Kd7bYZtXb?j)CfV58PFFT z1>@`uj(uMsARx}njcy5DYfAC)TSKy>Ij|~ur_a{%r}0&28*=`Icz=4nMGBxP0W&_1 z2DrRJ?6Dqz)mHDK=!4}eu{u}tymB{SONg*QjUwm-Va+X!JiolCKs%y(ZvW*qaTM~! zFok_+-8>|ESuFi=Wntl&NZKj9L%MwOSk%{J(pBKbnhd)z*C$5{UaXzu zg(>#!T2bG1L}Zw?%MP!ncHzMJ3nn z*)G@we^y7jEgrLhEqMoT$nS38CI$=#XHfvVB@LJ!X|`C2t>NKv(4?nc=Bs?VF2!B` zsT2(wGQirNxVqb*eZi!Ixaf))cA-tGkJI@3qTWm8y21&&X9 z%v6$Y{^A?nmvXT3oGH1xuD~sH1a@qF>*1+btp17Z)Z( zhtV3c<-EY>$FwbY5Iz*rU~WKl&u&EstvG%5tvHJvJ=!s>Y*+(g-4;knv8*lIT}7H* zBr4xa7Cixx$+V|@6Y=HgpGo$F?G0i?USs$b?lv7`S+6X#5?}qyLG$Cy+_^dhR1j^b z7q@1Hn0zE2g~;59N@q#4%~~G`R5rShlPd%VZ*^Yd*PtiFLmA2>VsZ|*?7Dp9+>^%b z^tuxW6hR!+n_xehAFByCOjEAE;H(xwkBd+OJ-wEX{m^sw0r6}w_|Y|34b3W|6B?+G z#|>^BRTVcf9F7y;ml4=1ohd#=#K1tlRs)ww=%bI&SGXhY!;LG-_w@Wqah+$J1}6^V zXH$!UI~wPi8Fbf7N|qWN8@p?{Rm5km`2)bvAkF~PC4X2_24oW^WBg{V^J8w#9O)hV z@z!@5p=wiD!S*4qs*K_WWNxQ!BSWU=fs(li$X7M)FTjB85CnY5i!^W8~KLbtx~tUr!-Z&i%WMKaelCwCchwB@2UUT zQg<4G$8sohKjfb9V<`;2k$_Nw-A1l%$($`$uhA6v;O!?zu2@PWra++pWvUDB znMXFw2y@C7L(1O{B?g;L3P7jnN{mgCGf*kepU!_N+@GQ~UdF)iptrY>2kKmIW2GLt_wsmD$y*;5a`E-aK{P@@$T}EU= zk1bm&x3QjZB$x4~3MmzMXMy6cQ~?(FUmF+zfIzXHm7K^7B`F}<;;6$KFD@SUB4sW2qz^hFAWl>(@{p67Tz8%| zvP$MtHvj?~aqBLMLXB5#y9M;&{pc5;hm`#oZl0FW_%6lFoA= zMk1zCH=q?Ww#H(sKldi#NosS=edQ1?Y(VPFS>bJ)dxSI2crVUuTIXSf1**uy=-xW# zHM`)z#iIR0i@nbhT(l;ZDm*vZc7Og@Y_m|&<9o6FrrgX-smUb?P_3wCp1TzF6SSK{ zeYB^txAk^GXK)rjs2({Q5&QT%mKaL{9)NCG`zqspgUOrKoq$I7s6Cr|Xj2^g@CX^m zI2J5rLF)mlkxQtYfX9*yw}gRDyY^8J#^%v$$E{v z-iHvJ%3~5v_Fw_9^vU5DXEEspqHXZmJ}O&J%P)thF4ggjW#z+KNE_v2x2;#k7goL0 z;U}B?c1|>t4V(^1jzMG!f7#g8?97A3?BWh2_^xo55~FQ6lSE%NE<8y!)5CI7dCl2sB`(58b^(hZ@mk~{h9gPP&anJs;Fg-{y^F%*6`8k&kC5-b zFr4|mM)x{$trK>1ck6iEI}%O13R50(<1_s58PXfZ9`~`X)_}2{xq(jPdTmUAKWT7A zx=&M)ui6Ugz3sm#II~PKMHxx|n;iftQ79(;*+)eZS1GltX}4jJYxc3LBJ+-U&jV;P zduZLVg-X9X+K>e9KvpPI5vg%Ov;`h1bAH&oE@B-F!U6<)fQ=*O(K%eZaX;Brpwpsj z5h;u~ZWVx21$i0zQq8c1x(bk*w)%gjNZxN6uLEG;fKzf5=-r>EHB_{1eBcxLL_8W$ z9cZW4{~6h`l={KJko)6h?F5U*MRZGvfr!Z8r*0eoc=UuP*mB%=2!7Q!{XCWO&CT}F z!|c)5i`#g=)7i*97;@`dnTcWEw&$tn`N_rswU9$5)-@Gyfr?>z)F)ZM zlCed()7d3`P}^x-BLvn<-&|Wv0s0M34-XAJ=MyJ{8%(MfQ}mhQ96SxIfP=sON>Q#{ z(qq;^$|*W?o^S0$G#m_=KtZ**lB3~CY?~sd5n+pkM%}jsGbSY|q115p{wh9VUL!fF z_&*-G-iqM8HV|-hIHBZc?s^}~@)SHQ#OhMI0wX@wZh>~aIZH$&?(pN#POslZ$WaHl z!rr2lTt1*07}b<6g^X+eq2mymCSXV{&XuvwpO#LKr)Q@UgH2}&n~9Y>8Eqz+-|PPI zkp;*T{%KTA5AR5R>dMMF{Wg?G((0^fLD4L9|0BE|IGl&>+GBsJd7A%?)G2p`!=M`w zH{1dvqrx%kDA#N!H5EzXRCTwuy$@z`*>txCP_$ov?QUL-HCQ3nrR(a7M6S;}>={8b zJ$ZWX(NK5aAx&yB zeIZ!PD3BO@uXC^h5p8i03*`EE z*aHeS-{)FNk`CbxWp%*D@&_`ptH$fT0!JqOH40GmC&d%gA(^9o5yXJ>G49JAzN-G7 z!wS;u4Nks6dW8gT4UvvSX@dh7Q#fM^{+>l>1BA1PRM$!agk!qtLx05OO=xzP^IF&O zulHLlJpQHW$rW(mm8F`yr9ZkQKpI+0TVVOs3Vkh`HCDPC#t;Mp(k~^{`G?CmU@7I7 zSj{V&i+4CyCd@e~(L9a+;O?}ZGFSLeGvIdy5PV4if)8_;;}|mr<}}@Fmb$O7WpkC9 z5|$7?saV`;we9aV!Nw`eV!g`h@K_7?OLUxCbdkz+DHy>xLnndrqA#A7;nS8-wD5Q(!(T!GN)9V`mb)b6*H~WsSzB-X z#cF3G!NAl#^@r1V%KiC0G3z&-1+%T7*-71Ip%i}IBiX+sc*T!e<*&^4((cru#DHef zWa26vvDsv~0Ef#=NCow#+uw-}#zi%gcEE$>RKS~y8+`T4+SgV1>kMZ9on_CQ*vi5k zZ;M*KQp8oUIwmkJQC7`<*SomUf+p#8sE)f6iYipVVqO3geVSKz4X3Vn0<7vB%__2f z0TdUEZ{ynPYvudyc6O^XIc<|Hd`xXu0dEHLbSB~TVfdAe zIrz;abmHnv#vD?sye6}+%E^##*^Q?S3(7{mJ0rPJKif&CxgQ+ZJF~U>EgR!}J~?Ay zLK1zAqP9DfUdvH`(+-+XKud)G{*~(pYg#s7h$BVQY;m%3Mb$mohQTLJ(P6;kYz8 zUz?8}vt3^^rvRODDo~>II$dvM|4uPD5?lZhm{Fplf}hIUQ+ojCe#2s?s0Ma%0_R|? zsJ};?KqfXw$(Koq2fW55s_7%L(OsNQqlh)c#TQRwj0A{+*{lq~ri-3gs;ty$?)$wx zLs_Nr)0vO2%a2sen8U-&0CRtJDTB8iWX_xVO->8dz`Z7rsf>?_*aA{XNJnmOZ#4Jz zs;?5QrA5vOb!4Lh#lMjoM=}87OX@6iV#Z3i2PB8MULh`yOw8f_lg_;U*;6{va?f_b zV95s;iWLPus5YB%pd&an>D4jvimaR-|RQw^}c&*@{3_qy_iVxwh9r1$F4R zid1D_k$u=nS2=udV&q%&fU;$EAw|JR)na$K*ObsmNSi~jr{X5OVSjc`X?3^bZ3g}a zh&<8MJnwaquQZ?H0YMXY;JwPC2Q-6;Vyr83V)%(+?llfc<6vL4;9D%El+ z@-n-Lat-I=dF{8}Nvhby$z3->V}3~U*SO?x3xk4%hgZRocegmNXTP{G;~aAHNZ%9Aif%Q^AC_0Idd6tMv3Zw+5JMtiVs5-50n-WiKbG_1<{5Q`@Kr^@o zc#hih8&<$&O}~p2=*LKk^~QbSlZ2kVMO*gHnCt{FR?$_#HZ2z@IYp=O!-sGG{V(gd zq%UpOsU?K35%WLOl7rxU5}=^0V;|tGA20Q&r(1XZ5GlXnn3qjg@`068G?6+(xNc?W zUnN%uu&y#X@6+$_0if;IIgAg@prrJ9P&Uplok#cKZwm`E(bV~?aKV@KYQ2!FrOJ&4FIkG-!u8@3S@nS zdW`=<`oEjZ*KI)mrj_!5_2btK?q68?kN*~4Q8*_j`yV}QM*_&lP4&^=<@Rr1WO+p) zTvP5pd-(sVlmCW4VsL;$-73}3{{id##b&Mqo}&J@6#w50do`Nw6@|62pZ_gIf9Lk} zmB6>Z{|h$#Tec6@0#-L(81r`^`}YsK0Rp#U(0KCy){XzF^gj*of4=-zrGK-F|ElzF zM)dy&l+LMWkp35tX2pGIR#M2)9TVc@-b2p#A32`?3rhZ5%=*7LnEwb#|2yDsI{J4+ v`!5fFL$v>D%YU`yzi9LSl@&C(;GAD3Zp7pi@`gIy06wx(O2APb#_#_R=pcHZ literal 0 HcmV?d00001 diff --git a/docs/index.md b/docs/index.md new file mode 100644 index 00000000..30081c17 --- /dev/null +++ b/docs/index.md @@ -0,0 +1,25 @@ +--- +title: Home +layout: home +nav_order: 1 +permalink: /index.html +--- + +# Alfresco Helm Charts + +This website contains user documentation for the independent and lightweight +[Helm](https://helm.sh) charts for Alfresco Content Services platform that can +be used as building blocks by devops teams to build the Content Services +platform that match the organization needs. + +Check the [acs-deployment](https://github.com/Alfresco/acs-deployment/) +repository for an example of how to leverage these charts on an umbrella chart. + +If you want to understand what are the principles to leverage in order to build +on top of Alfresco components' chart please refer to the +[Build your own charts](build-your-own-charts.md) section. + +Each individual chart has its own autogenerated reference documentation in +[charts](reference.md). Default values are documented there. + +There is also a section for [guides](guides/index.md) describing how to cover specific use cases. diff --git a/docs/reference.md b/docs/reference.md new file mode 100644 index 00000000..6ea1c5e2 --- /dev/null +++ b/docs/reference.md @@ -0,0 +1,8 @@ +--- +title: Charts Reference +has_children: true +--- + +This section groups all the reference documentation available for the charts we maintain. + +They are automatically generated via [helm-docs](https://github.com/norwoodj/helm-docs).