From 394f9e33d2d761c7540114d88d099c1d75eeb4a1 Mon Sep 17 00:00:00 2001
From: splunk-soar-connectors-admin
Date: Thu, 2 Mar 2023 20:45:02 -0800
Subject: [PATCH 1/8] 'create generate-doc.yml file'
---
.github/workflows/generate-doc.yml | 14 ++++++++++++++
.pre-commit-config.yaml | 2 +-
2 files changed, 15 insertions(+), 1 deletion(-)
create mode 100644 .github/workflows/generate-doc.yml
diff --git a/.github/workflows/generate-doc.yml b/.github/workflows/generate-doc.yml
new file mode 100644
index 0000000..4661718
--- /dev/null
+++ b/.github/workflows/generate-doc.yml
@@ -0,0 +1,14 @@
+name: Generate Readme Doc
+on:
+ workflow_dispatch:
+ push:
+ paths:
+ - '*.json'
+ - 'readme.html'
+jobs:
+ generate-doc:
+ runs-on: ubuntu-latest
+ steps:
+ - uses: 'phantomcyber/dev-cicd-tools/github-actions/generate-doc@main'
+ with:
+ GITHUB_TOKEN: ${{ secrets.SOAR_APPS_TOKEN }}
diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml
index c0e6137..c7291f6 100644
--- a/.pre-commit-config.yaml
+++ b/.pre-commit-config.yaml
@@ -1,6 +1,6 @@
repos:
- repo: https://github.com/phantomcyber/dev-cicd-tools
- rev: v1.13
+ rev: v1.16
hooks:
- id: org-hook
- id: package-app-dependencies
From 5ed5050dd636c214a90b8c97094a4c284c20f0f1 Mon Sep 17 00:00:00 2001
From: splunk-soar-connectors-admin
Date: Mon, 6 Mar 2023 20:48:07 -0800
Subject: [PATCH 2/8] 'update generate-doc.yml file'
---
.github/workflows/generate-doc.yml | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/.github/workflows/generate-doc.yml b/.github/workflows/generate-doc.yml
index 4661718..e63a4cd 100644
--- a/.github/workflows/generate-doc.yml
+++ b/.github/workflows/generate-doc.yml
@@ -5,6 +5,11 @@ on:
paths:
- '*.json'
- 'readme.html'
+ tags-ignore:
+ - '*-beta*'
+ branches-ignore:
+ - next
+ - main
jobs:
generate-doc:
runs-on: ubuntu-latest
From 41daae93c8a15f5f367dfbe16e57fcb64a2bfe80 Mon Sep 17 00:00:00 2001
From: splunk-soar-connectors-admin
Date: Tue, 7 Mar 2023 14:39:39 -0800
Subject: [PATCH 3/8] 'update generate-doc.yml file'
---
.github/workflows/generate-doc.yml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/.github/workflows/generate-doc.yml b/.github/workflows/generate-doc.yml
index e63a4cd..7a3ba90 100644
--- a/.github/workflows/generate-doc.yml
+++ b/.github/workflows/generate-doc.yml
@@ -6,7 +6,7 @@ on:
- '*.json'
- 'readme.html'
tags-ignore:
- - '*-beta*'
+ - '**'
branches-ignore:
- next
- main
From 34bf6c7ad1e0dcb183f5bac08bde64f1a40e9535 Mon Sep 17 00:00:00 2001
From: splunk-soar-connectors-admin
Date: Fri, 21 Apr 2023 23:57:23 -0700
Subject: [PATCH 4/8] 'update generate-doc.yml file with
manual_readme_content.md'
---
.github/workflows/generate-doc.yml | 1 +
1 file changed, 1 insertion(+)
diff --git a/.github/workflows/generate-doc.yml b/.github/workflows/generate-doc.yml
index 7a3ba90..9284f9d 100644
--- a/.github/workflows/generate-doc.yml
+++ b/.github/workflows/generate-doc.yml
@@ -5,6 +5,7 @@ on:
paths:
- '*.json'
- 'readme.html'
+ - 'manual_readme_content.md'
tags-ignore:
- '**'
branches-ignore:
From f25ddf13d297c8d28a341e65de5c47ae3a11f5c8 Mon Sep 17 00:00:00 2001
From: splunk-soar-connectors-admin
Date: Fri, 14 Jul 2023 14:24:47 -0700
Subject: [PATCH 5/8] Remove semgrep workflow file
---
.github/workflows/semgrep.yml | 28 ----------------------------
1 file changed, 28 deletions(-)
delete mode 100644 .github/workflows/semgrep.yml
diff --git a/.github/workflows/semgrep.yml b/.github/workflows/semgrep.yml
deleted file mode 100644
index 712cc1b..0000000
--- a/.github/workflows/semgrep.yml
+++ /dev/null
@@ -1,28 +0,0 @@
-name: Semgrep
-on:
- pull_request_target:
- branches:
- - next
- - main
- push:
- branches:
- - next
- - main
-jobs:
- semgrep:
- runs-on: ubuntu-latest
- steps:
- - if: github.event_name == 'push'
- run: |
- echo "REPOSITORY=${{ github.repository }}" >> $GITHUB_ENV
- echo "REF=${{ github.REF }}" >> $GITHUB_ENV
- - if: github.event_name == 'pull_request_target'
- run: |
- echo "REPOSITORY=${{ github.event.pull_request.head.repo.full_name }}" >> $GITHUB_ENV
- echo "REF=${{ github.event.pull_request.head.ref }}" >> $GITHUB_ENV
- - uses: 'phantomcyber/dev-cicd-tools/github-actions/semgrep@main'
- with:
- SEMGREP_DEPLOYMENT_ID: ${{ secrets.SEMGREP_DEPLOYMENT_ID }}
- SEMGREP_APP_TOKEN: ${{ secrets.SEMGREP_APP_TOKEN }}
- REPOSITORY: ${{ github.repository }}
- REF: ${{ github.ref }}
From ac03689ea70f4111323c581ea00d472ea6cff2e8 Mon Sep 17 00:00:00 2001
From: splunk-soar-connectors-admin
Date: Tue, 1 Aug 2023 12:20:35 -0700
Subject: [PATCH 6/8] 'convert readme.html to manual_readme_content.md'
---
manual_readme_content.md | 34 ++++++++++++++++++++++++++++++++++
readme.html | 33 ---------------------------------
2 files changed, 34 insertions(+), 33 deletions(-)
create mode 100644 manual_readme_content.md
delete mode 100644 readme.html
diff --git a/manual_readme_content.md b/manual_readme_content.md
new file mode 100644
index 0000000..c0e18d2
--- /dev/null
+++ b/manual_readme_content.md
@@ -0,0 +1,34 @@
+[comment]: # " File: README.md"
+[comment]: # " Copyright (c) 2018-2022 Splunk Inc."
+[comment]: # ""
+[comment]: # "Licensed under the Apache License, Version 2.0 (the 'License');"
+[comment]: # "you may not use this file except in compliance with the License."
+[comment]: # "You may obtain a copy of the License at"
+[comment]: # ""
+[comment]: # " http://www.apache.org/licenses/LICENSE-2.0"
+[comment]: # ""
+[comment]: # "Unless required by applicable law or agreed to in writing, software distributed under"
+[comment]: # "the License is distributed on an 'AS IS' BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND,"
+[comment]: # "either express or implied. See the License for the specific language governing permissions"
+[comment]: # "and limitations under the License."
+[comment]: # ""
+### Service Account
+
+This app requires a pre-configured service account to operate. Please follow the procedure outlines
+at [this link](https://support.google.com/a/answer/7378726?hl=en) to create a service account.
+The following API will need to be enabled:
+
+- Bigquery API
+
+At the end of the creation process, the admin console should ask you to save the config as a JSON
+file. Copy the contents of the JSON file in the clipboard and paste it as the value of the "Contents
+of Service Account JSON file" asset configuration parameter. Double check to make sure that the
+"project_id" is the same project being used with BigQuery.
+
+### Roles
+
+Once the service account has been created, you will then need to give the account the correct role.
+To do this, find "IAM & admin" on the menu to the left on the Google Cloud Console homepage. From
+there, find your service account, and give it the role "Bigquery Admin".
+
+Package 'pyasn' has license 'MIT' with status 'needs revision'
diff --git a/readme.html b/readme.html
deleted file mode 100644
index 25122d1..0000000
--- a/readme.html
+++ /dev/null
@@ -1,33 +0,0 @@
-
-
-Service Account
-
-This app requires a pre-configured service account to operate. Please follow the procedure outlines at
-this link to create a service account.
-The following API will need to be enabled:
-At the end of the creation process, the admin console should ask you to save the config as a JSON file.
-Copy the contents of the JSON file in the clipboard and paste it as the value of the "Contents of Service Account JSON file" asset configuration parameter.
-Double check to make sure that the "project_id" is the same project being used with BigQuery.
-
-
-Roles
-
-Once the service account has been created, you will then need to give the account the correct role. To do this, find
-"IAM & admin" on the menu to the left on the Google Cloud Console homepage. From there, find your service account, and give it the
-role "Bigquery Admin".
-
-
-Package 'pyasn' has license 'MIT' with status 'needs revision'
From edd97b20edc47eac5ceb4519068798dcb320d3f2 Mon Sep 17 00:00:00 2001
From: aparekh-crest <114662394+aparekh-crest@users.noreply.github.com>
Date: Mon, 11 Dec 2023 14:35:56 +0530
Subject: [PATCH 7/8] PAPP-30822: Updated requests modules (#14)
* Updated requests modules
* Update README.md
* updated libraries and copyright version
* empty commit
* update libraries
* updated google auth lib
* removed urllib
* removed another occurance of urllib
* updated lib
---------
Co-authored-by: splunk-soar-connectors-admin
Co-authored-by: hardik-crest
---
LICENSE | 4 +-
NOTICE | 7 +-
README.md | 80 +++++++++---------
__init__.py | 2 +-
bigquery.json | 78 ++++-------------
bigquery_connector.py | 2 +-
bigquery_consts.py | 2 +-
bigquery_run_query.html | 2 +-
bigquery_view.py | 2 +-
exclude_files.txt | 5 --
manual_readme_content.md | 2 +-
release_notes/unreleased.md | 1 +
requirements.txt | 1 -
wheels/py3/certifi-2022.9.24-py3-none-any.whl | Bin 161120 -> 0 bytes
.../google_api_core-2.10.2-py3-none-any.whl | Bin 115573 -> 0 bytes
.../google_api_core-2.14.0-py3-none-any.whl | Bin 0 -> 122213 bytes
... => grpcio_status-1.59.3-py3-none-any.whl} | Bin 14431 -> 14449 bytes
wheels/py3/packaging-23.2-py3-none-any.whl | Bin 0 -> 53011 bytes
...whl => proto_plus-1.22.3-py3-none-any.whl} | Bin 47851 -> 48101 bytes
...linux2014_x86_64.manylinux_2_17_x86_64.whl | Bin 409580 -> 0 bytes
...linux2014_x86_64.manylinux_2_17_x86_64.whl | Bin 0 -> 295789 bytes
wheels/py3/pyparsing-3.0.9-py3-none-any.whl | Bin 98338 -> 0 bytes
wheels/py3/pyparsing-3.1.1-py3-none-any.whl | Bin 0 -> 103139 bytes
...linux_2_17_x86_64.manylinux2014_x86_64.whl | Bin 4684362 -> 0 bytes
...linux_2_17_x86_64.manylinux2014_x86_64.whl | Bin 0 -> 5338617 bytes
.../shared/chardet-3.0.4-py2.py3-none-any.whl | Bin 133356 -> 0 bytes
.../google_auth-2.13.0-py2.py3-none-any.whl | Bin 174547 -> 0 bytes
.../google_auth-2.22.0-py2.py3-none-any.whl | Bin 0 -> 181773 bytes
.../google_auth-2.25.1-py2.py3-none-any.whl | Bin 0 -> 184197 bytes
...gle_cloud_core-2.3.3-py2.py3-none-any.whl} | Bin 29952 -> 29948 bytes
...resumable_media-2.4.0-py2.py3-none-any.whl | Bin 77351 -> 0 bytes
...resumable_media-2.6.0-py2.py3-none-any.whl | Bin 0 -> 80299 bytes
..._common_protos-1.56.4-py2.py3-none-any.whl | Bin 211654 -> 0 bytes
..._common_protos-1.61.0-py2.py3-none-any.whl | Bin 0 -> 230874 bytes
wheels/shared/idna-2.10-py2.py3-none-any.whl | Bin 58811 -> 0 bytes
.../pyasn1_modules-0.2.8-py2.py3-none-any.whl | Bin 155269 -> 0 bytes
.../pyasn1_modules-0.3.0-py2.py3-none-any.whl | Bin 0 -> 181306 bytes
.../requests-2.25.0-py2.py3-none-any.whl | Bin 61132 -> 0 bytes
.../requests-2.27.1-py2.py3-none-any.whl | Bin 0 -> 63133 bytes
.../urllib3-1.26.12-py2.py3-none-any.whl | Bin 140381 -> 0 bytes
.../urllib3-1.26.18-py2.py3-none-any.whl | Bin 0 -> 143835 bytes
41 files changed, 67 insertions(+), 121 deletions(-)
delete mode 100644 exclude_files.txt
delete mode 100644 wheels/py3/certifi-2022.9.24-py3-none-any.whl
delete mode 100644 wheels/py3/google_api_core-2.10.2-py3-none-any.whl
create mode 100644 wheels/py3/google_api_core-2.14.0-py3-none-any.whl
rename wheels/py3/{grpcio_status-1.50.0-py3-none-any.whl => grpcio_status-1.59.3-py3-none-any.whl} (65%)
create mode 100644 wheels/py3/packaging-23.2-py3-none-any.whl
rename wheels/py3/{proto_plus-1.22.1-py3-none-any.whl => proto_plus-1.22.3-py3-none-any.whl} (73%)
delete mode 100644 wheels/py3/protobuf-4.21.8-cp37-abi3-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
create mode 100644 wheels/py3/protobuf-4.25.1-cp37-abi3-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
delete mode 100644 wheels/py3/pyparsing-3.0.9-py3-none-any.whl
create mode 100644 wheels/py3/pyparsing-3.1.1-py3-none-any.whl
delete mode 100644 wheels/py39/grpcio-1.50.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
create mode 100644 wheels/py39/grpcio-1.59.3-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
delete mode 100644 wheels/shared/chardet-3.0.4-py2.py3-none-any.whl
delete mode 100644 wheels/shared/google_auth-2.13.0-py2.py3-none-any.whl
create mode 100644 wheels/shared/google_auth-2.22.0-py2.py3-none-any.whl
create mode 100644 wheels/shared/google_auth-2.25.1-py2.py3-none-any.whl
rename wheels/shared/{google_cloud_core-2.3.2-py2.py3-none-any.whl => google_cloud_core-2.3.3-py2.py3-none-any.whl} (71%)
delete mode 100644 wheels/shared/google_resumable_media-2.4.0-py2.py3-none-any.whl
create mode 100644 wheels/shared/google_resumable_media-2.6.0-py2.py3-none-any.whl
delete mode 100644 wheels/shared/googleapis_common_protos-1.56.4-py2.py3-none-any.whl
create mode 100644 wheels/shared/googleapis_common_protos-1.61.0-py2.py3-none-any.whl
delete mode 100644 wheels/shared/idna-2.10-py2.py3-none-any.whl
delete mode 100644 wheels/shared/pyasn1_modules-0.2.8-py2.py3-none-any.whl
create mode 100644 wheels/shared/pyasn1_modules-0.3.0-py2.py3-none-any.whl
delete mode 100644 wheels/shared/requests-2.25.0-py2.py3-none-any.whl
create mode 100644 wheels/shared/requests-2.27.1-py2.py3-none-any.whl
delete mode 100644 wheels/shared/urllib3-1.26.12-py2.py3-none-any.whl
create mode 100644 wheels/shared/urllib3-1.26.18-py2.py3-none-any.whl
diff --git a/LICENSE b/LICENSE
index 6349266..85c4b94 100644
--- a/LICENSE
+++ b/LICENSE
@@ -186,7 +186,7 @@
same "printed page" as the copyright notice for easier
identification within third-party archives.
- Copyright (c) 2018-2022 Splunk Inc.
+ Copyright (c) 2018-2023 Splunk Inc.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
@@ -198,4 +198,4 @@
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
- limitations under the License.
\ No newline at end of file
+ limitations under the License.
diff --git a/NOTICE b/NOTICE
index f21a1bc..28dc4e0 100644
--- a/NOTICE
+++ b/NOTICE
@@ -1,5 +1,5 @@
Splunk SOAR Big Query
-Copyright (c) 2018-2022 Splunk Inc.
+Copyright (c) 2018-2023 Splunk Inc.
Third-party Software Attributions:
@@ -13,11 +13,6 @@ Version: 0.4.6
License: BSD 2
Copyright 2005-2019 Ilya Etingof
-Library: requests
-Version: 2.25.0
-License: Apache 2.0
-Kenneth Reitz
-
Library: rsa
Version: 4.7.2
License: Apache 2.0
diff --git a/README.md b/README.md
index d939938..0171ccd 100644
--- a/README.md
+++ b/README.md
@@ -2,16 +2,16 @@
# Big Query
Publisher: Splunk
-Connector Version: 2\.1\.0
+Connector Version: 2.1.1
Product Vendor: Google
Product Name: Big Query
-Product Version Supported (regex): "\.\*"
-Minimum Product Version: 5\.3\.0
+Product Version Supported (regex): ".\*"
+Minimum Product Version: 5.3.0
This app allows running investigative actions against Google BigQuery
[comment]: # " File: README.md"
-[comment]: # " Copyright (c) 2018-2022 Splunk Inc."
+[comment]: # " Copyright (c) 2018-2023 Splunk Inc."
[comment]: # ""
[comment]: # "Licensed under the Apache License, Version 2.0 (the 'License');"
[comment]: # "you may not use this file except in compliance with the License."
@@ -51,7 +51,7 @@ The below configuration variables are required for this Connector to operate. T
VARIABLE | REQUIRED | TYPE | DESCRIPTION
-------- | -------- | ---- | -----------
-**key\_json** | required | password | Contents of Service Account JSON file
+**key_json** | required | password | Contents of Service Account JSON file
### Supported Actions
[test connectivity](#action-test-connectivity) - Validate the asset configuration for connectivity using supplied configuration
@@ -83,18 +83,18 @@ PARAMETER | REQUIRED | DESCRIPTION | TYPE | CONTAINS
**dataset** | optional | Only list tables in this dataset | string | `bigquery dataset`
#### Action Output
-DATA PATH | TYPE | CONTAINS
---------- | ---- | --------
-action\_result\.status | string |
-action\_result\.parameter\.dataset | string | `bigquery dataset`
-action\_result\.data\.\*\.dataset\_id | string | `bigquery dataset`
-action\_result\.data\.\*\.full\_table\_id | string |
-action\_result\.data\.\*\.project\_id | string |
-action\_result\.data\.\*\.table\_id | string |
-action\_result\.summary\.total\_tables | numeric |
-action\_result\.message | string |
-summary\.total\_objects | numeric |
-summary\.total\_objects\_successful | numeric |
+DATA PATH | TYPE | CONTAINS | EXAMPLE VALUES
+--------- | ---- | -------- | --------------
+action_result.status | string | | success failed
+action_result.parameter.dataset | string | `bigquery dataset` |
+action_result.data.\*.dataset_id | string | `bigquery dataset` | company_dataset
+action_result.data.\*.full_table_id | string | | my-company-project-513002:company_dataset.test_table_1
+action_result.data.\*.project_id | string | | my-company-project-513002
+action_result.data.\*.table_id | string | | test_table_1
+action_result.summary.total_tables | numeric | |
+action_result.message | string | | Successfully listed tables
+summary.total_objects | numeric | | 1
+summary.total_objects_successful | numeric | | 1
## action: 'get results'
Get results from a job started with 'run query'
@@ -105,21 +105,21 @@ Read only: **True**
#### Action Parameters
PARAMETER | REQUIRED | DESCRIPTION | TYPE | CONTAINS
--------- | -------- | ----------- | ---- | --------
-**job\_id** | required | Job ID | string | `bigquery job id`
+**job_id** | required | Job ID | string | `bigquery job id`
**timeout** | optional | How long to wait for results | numeric |
#### Action Output
-DATA PATH | TYPE | CONTAINS
---------- | ---- | --------
-action\_result\.status | string |
-action\_result\.parameter\.job\_id | string | `bigquery job id`
-action\_result\.parameter\.timeout | numeric |
-action\_result\.data\.\* | string |
-action\_result\.summary\.job\_id | string | `bigquery job id`
-action\_result\.summary\.num\_rows | numeric |
-action\_result\.message | string |
-summary\.total\_objects | numeric |
-summary\.total\_objects\_successful | numeric |
+DATA PATH | TYPE | CONTAINS | EXAMPLE VALUES
+--------- | ---- | -------- | --------------
+action_result.status | string | | success failed
+action_result.parameter.job_id | string | `bigquery job id` | 5a9e1de5-342d-4be8-a1e4-93aff49174ff
+action_result.parameter.timeout | numeric | | 30
+action_result.data.\* | string | |
+action_result.summary.job_id | string | `bigquery job id` | 5a9e1de5-342d-4be8-a1e4-93aff49174ff
+action_result.summary.num_rows | numeric | | 1000
+action_result.message | string | | Successfully retrieved results from Query
+summary.total_objects | numeric | | 1
+summary.total_objects_successful | numeric | | 1
## action: 'run query'
Run a Query
@@ -134,14 +134,14 @@ PARAMETER | REQUIRED | DESCRIPTION | TYPE | CONTAINS
**timeout** | optional | How long to wait for results | numeric |
#### Action Output
-DATA PATH | TYPE | CONTAINS
---------- | ---- | --------
-action\_result\.status | string |
-action\_result\.parameter\.query | string | `bigquery query`
-action\_result\.parameter\.timeout | numeric |
-action\_result\.data\.\* | string |
-action\_result\.summary\.job\_id | string | `bigquery job id`
-action\_result\.summary\.num\_rows | numeric |
-action\_result\.message | string |
-summary\.total\_objects | numeric |
-summary\.total\_objects\_successful | numeric |
\ No newline at end of file
+DATA PATH | TYPE | CONTAINS | EXAMPLE VALUES
+--------- | ---- | -------- | --------------
+action_result.status | string | | success failed
+action_result.parameter.query | string | `bigquery query` | SELECT weight_pounds, state, year, gestation_weeks FROM `bigquery-public-data.samples.natality` LIMIT 1000;
+action_result.parameter.timeout | numeric | | 1
+action_result.data.\* | string | |
+action_result.summary.job_id | string | `bigquery job id` | 5a9e1de5-342d-4be8-a1e4-93aff49174ff
+action_result.summary.num_rows | numeric | | 1000
+action_result.message | string | | Successfully retrieved results from Query
+summary.total_objects | numeric | | 1
+summary.total_objects_successful | numeric | | 1
\ No newline at end of file
diff --git a/__init__.py b/__init__.py
index 3981118..f8b589a 100644
--- a/__init__.py
+++ b/__init__.py
@@ -1,6 +1,6 @@
# File: __init__.py
#
-# Copyright (c) 2018-2022 Splunk Inc.
+# Copyright (c) 2018-2023 Splunk Inc.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
diff --git a/bigquery.json b/bigquery.json
index 89f26a8..090769d 100644
--- a/bigquery.json
+++ b/bigquery.json
@@ -9,8 +9,8 @@
"product_name": "Big Query",
"product_version_regex": ".*",
"publisher": "Splunk",
- "license": "Copyright (c) 2018-2022 Splunk Inc.",
- "app_version": "2.1.0",
+ "license": "Copyright (c) 2018-2023 Splunk Inc.",
+ "app_version": "2.1.1",
"utctime_updated": "2022-02-02T18:30:29.000000Z",
"package_name": "phantom_bigquery",
"main_module": "bigquery_connector.py",
@@ -27,21 +27,13 @@
"module": "cachetools",
"input_file": "wheels/shared/cachetools-2.0.1-py2.py3-none-any.whl"
},
- {
- "module": "certifi",
- "input_file": "wheels/py3/certifi-2022.9.24-py3-none-any.whl"
- },
- {
- "module": "chardet",
- "input_file": "wheels/shared/chardet-3.0.4-py2.py3-none-any.whl"
- },
{
"module": "google_api_core",
"input_file": "wheels/py3/google_api_core-2.8.2-py3-none-any.whl"
},
{
"module": "google_auth",
- "input_file": "wheels/shared/google_auth-2.13.0-py2.py3-none-any.whl"
+ "input_file": "wheels/shared/google_auth-2.22.0-py2.py3-none-any.whl"
},
{
"module": "google_cloud_bigquery",
@@ -71,17 +63,13 @@
"module": "grpcio_status",
"input_file": "wheels/py3/grpcio_status-1.48.2-py3-none-any.whl"
},
- {
- "module": "idna",
- "input_file": "wheels/shared/idna-2.10-py2.py3-none-any.whl"
- },
{
"module": "packaging",
"input_file": "wheels/py3/packaging-21.3-py3-none-any.whl"
},
{
"module": "proto_plus",
- "input_file": "wheels/py3/proto_plus-1.22.1-py3-none-any.whl"
+ "input_file": "wheels/py3/proto_plus-1.22.3-py3-none-any.whl"
},
{
"module": "protobuf",
@@ -93,20 +81,16 @@
},
{
"module": "pyasn1_modules",
- "input_file": "wheels/shared/pyasn1_modules-0.2.8-py2.py3-none-any.whl"
+ "input_file": "wheels/shared/pyasn1_modules-0.3.0-py2.py3-none-any.whl"
},
{
"module": "pyparsing",
- "input_file": "wheels/py3/pyparsing-3.0.9-py3-none-any.whl"
+ "input_file": "wheels/py3/pyparsing-3.1.1-py3-none-any.whl"
},
{
"module": "python_dateutil",
"input_file": "wheels/shared/python_dateutil-2.8.2-py2.py3-none-any.whl"
},
- {
- "module": "requests",
- "input_file": "wheels/shared/requests-2.25.0-py2.py3-none-any.whl"
- },
{
"module": "rsa",
"input_file": "wheels/py3/rsa-4.7.2-py3-none-any.whl"
@@ -118,10 +102,6 @@
{
"module": "uritemplate",
"input_file": "wheels/shared/uritemplate-3.0.0-py2.py3-none-any.whl"
- },
- {
- "module": "urllib3",
- "input_file": "wheels/shared/urllib3-1.26.12-py2.py3-none-any.whl"
}
]
},
@@ -453,21 +433,13 @@
"module": "cachetools",
"input_file": "wheels/shared/cachetools-2.0.1-py2.py3-none-any.whl"
},
- {
- "module": "certifi",
- "input_file": "wheels/py3/certifi-2022.9.24-py3-none-any.whl"
- },
- {
- "module": "chardet",
- "input_file": "wheels/shared/chardet-3.0.4-py2.py3-none-any.whl"
- },
{
"module": "google_api_core",
- "input_file": "wheels/py3/google_api_core-2.10.2-py3-none-any.whl"
+ "input_file": "wheels/py3/google_api_core-2.14.0-py3-none-any.whl"
},
{
"module": "google_auth",
- "input_file": "wheels/shared/google_auth-2.13.0-py2.py3-none-any.whl"
+ "input_file": "wheels/shared/google_auth-2.25.1-py2.py3-none-any.whl"
},
{
"module": "google_cloud_bigquery",
@@ -475,7 +447,7 @@
},
{
"module": "google_cloud_core",
- "input_file": "wheels/shared/google_cloud_core-2.3.2-py2.py3-none-any.whl"
+ "input_file": "wheels/shared/google_cloud_core-2.3.3-py2.py3-none-any.whl"
},
{
"module": "google_crc32c",
@@ -483,35 +455,31 @@
},
{
"module": "google_resumable_media",
- "input_file": "wheels/shared/google_resumable_media-2.4.0-py2.py3-none-any.whl"
+ "input_file": "wheels/shared/google_resumable_media-2.6.0-py2.py3-none-any.whl"
},
{
"module": "googleapis_common_protos",
- "input_file": "wheels/shared/googleapis_common_protos-1.56.4-py2.py3-none-any.whl"
+ "input_file": "wheels/shared/googleapis_common_protos-1.61.0-py2.py3-none-any.whl"
},
{
"module": "grpcio",
- "input_file": "wheels/py39/grpcio-1.50.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl"
+ "input_file": "wheels/py39/grpcio-1.59.3-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl"
},
{
"module": "grpcio_status",
- "input_file": "wheels/py3/grpcio_status-1.50.0-py3-none-any.whl"
- },
- {
- "module": "idna",
- "input_file": "wheels/shared/idna-2.10-py2.py3-none-any.whl"
+ "input_file": "wheels/py3/grpcio_status-1.59.3-py3-none-any.whl"
},
{
"module": "packaging",
- "input_file": "wheels/py3/packaging-21.3-py3-none-any.whl"
+ "input_file": "wheels/py3/packaging-23.2-py3-none-any.whl"
},
{
"module": "proto_plus",
- "input_file": "wheels/py3/proto_plus-1.22.1-py3-none-any.whl"
+ "input_file": "wheels/py3/proto_plus-1.22.3-py3-none-any.whl"
},
{
"module": "protobuf",
- "input_file": "wheels/py3/protobuf-4.21.8-cp37-abi3-manylinux2014_x86_64.manylinux_2_17_x86_64.whl"
+ "input_file": "wheels/py3/protobuf-4.25.1-cp37-abi3-manylinux2014_x86_64.manylinux_2_17_x86_64.whl"
},
{
"module": "pyasn1",
@@ -519,20 +487,12 @@
},
{
"module": "pyasn1_modules",
- "input_file": "wheels/shared/pyasn1_modules-0.2.8-py2.py3-none-any.whl"
- },
- {
- "module": "pyparsing",
- "input_file": "wheels/py3/pyparsing-3.0.9-py3-none-any.whl"
+ "input_file": "wheels/shared/pyasn1_modules-0.3.0-py2.py3-none-any.whl"
},
{
"module": "python_dateutil",
"input_file": "wheels/shared/python_dateutil-2.8.2-py2.py3-none-any.whl"
},
- {
- "module": "requests",
- "input_file": "wheels/shared/requests-2.25.0-py2.py3-none-any.whl"
- },
{
"module": "rsa",
"input_file": "wheels/py3/rsa-4.7.2-py3-none-any.whl"
@@ -544,10 +504,6 @@
{
"module": "uritemplate",
"input_file": "wheels/shared/uritemplate-3.0.0-py2.py3-none-any.whl"
- },
- {
- "module": "urllib3",
- "input_file": "wheels/shared/urllib3-1.26.12-py2.py3-none-any.whl"
}
]
}
diff --git a/bigquery_connector.py b/bigquery_connector.py
index 36aaf6f..dba8213 100644
--- a/bigquery_connector.py
+++ b/bigquery_connector.py
@@ -1,6 +1,6 @@
# File: bigquery_connector.py
#
-# Copyright (c) 2018-2022 Splunk Inc.
+# Copyright (c) 2018-2023 Splunk Inc.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
diff --git a/bigquery_consts.py b/bigquery_consts.py
index a034808..f0fa48d 100644
--- a/bigquery_consts.py
+++ b/bigquery_consts.py
@@ -1,6 +1,6 @@
# File: bigquery_consts.py
#
-# Copyright (c) 2018-2022 Splunk Inc.
+# Copyright (c) 2018-2023 Splunk Inc.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
diff --git a/bigquery_run_query.html b/bigquery_run_query.html
index 1b33bcc..7f3f002 100644
--- a/bigquery_run_query.html
+++ b/bigquery_run_query.html
@@ -10,7 +10,7 @@
{% block widget_content %}
qy!`E8QE85Fu0EfEC&vZ>OvZ!tRc1)hmNZ0H9
z`#Af3`idLeSCHaR&AVwKtG(uWY*O~3B3HjbSi>_7FIvb6TP()x
zKmSL(bC0toAe~6KL@5!ZeX8^NRu*LBvqA1n$)HRh0p*E7GrK8N_BRSB6)@H6zMox^
z)B(lnZBpLyyJ$ibaa5ex
z(1+kAi&2d*+Ef48s(aNpd=HQqvW=4oq*#&D6u>h?{Y3ieZ5{@sew*qVye(J*n;-nk
zbj}>UVII#hi02T@Yb>U0!^ll6U%%QZ@qHRlnhKkwF>-imxH0SvvBhl_}K}7F5}+lZh^Bn9h2_t=`l-wX2?T
zdo|Oc;T%JFyQjT$v(Angj{dmi4b*J#_(&~tdLxWlHsp3*FX61Yi+sE2JjRSjK>i*{
zJ`N1_oikp*zp$q89V%IOg)#uDbpne*-c!R2gi4l!bFBlaG|g4utX)U@ML1${;zIG8
z&@mHE_$_S8)Dq>L32;!j6f6R}q&zjEplD>gtAxTKeZX}}PofG^EPNK_)LP_C;D}ch
z7kGl0irkqM#xvO}dG_l3cBx(=`*^vbU_{}pR}DA2vFII6Q$~6T&zOT#KN4Ss+z?3q
zqK5OfJ}BE8X_Gc2MVa75eJS!(j&HQ<#P0b^;RP84Gpx(vo%*^X>CBNDPH^wKy}Y8o
zykaQ-zbeT9i!hs&iBo}qQw3AoRczGa<~4u9E*6V|X*<}xaHv)CJ_?OUqE)^G<0R`@
zm0_wC(=qg0g$K6qkkyVq%C{hoBE(Rpa+w=l$G!O+jkc@#@Ua?h$w4Q%pZVbtI$nuT
zw`aD%ZXqYo2h^@=L>UM}Ik7`NfNhGqC_qwDujgS0RENqjXo)p#!5gT=(_90dq(>Zg
zWc8@R4l=&{3Sbm<(*Cd8Kz55nszou^bVcCErZHLGVFa^4rcfm977?*0pvX35;X;v4
zG5X(_AiL0w3#A!lh`n*4M%ANd@+wLYN8=ognkSEC_MsZMgb)@jLg^;?^&z5V4s$sk
zSYuGRcVUD{&nc5YQPj7)>;6Quv``X7Csq_@rf|Wi1yTrJxde)5KAFO4!0!b3`R_!9
z6pCjtn}T`4yKq5RC2|N}nFI=Fe*2kZ3Z*l@!)P_9(rNyEu7*kJDcdAUD5sKhOUB>w
zB+AZrX@jK+6djvVhI8Y{S~ew&O=c0dIBA8Vp(6LSk=b&x`HaGk`;0*Egf@yA1aK21-LYj)(^>+>GBY(Th-9$pYH
zVPY1)*i-d5}n79+oJI
zA|ov!E*9%;7G$gH^Fx~fVK>RHs-Y&YVk#X@ptjgN(1SBwK#s{#3;DFI)RcMhMJKWhRYBq`R^|3E_Rq87tGLRFu^D2
zUCrq}0}QH31|(MRG`83BfN3*4v{?Cd{=nA8yJBRTJ9-F;NM9_G6q%I(DxbdwPEq|v
zAG|$~mn+dEsLF%@pV+$41fB?HN(Pp=Ww|)C_J{aJnRpP>suBs0N&;FtT)Z=X0@Xskj>>pKtB!~BwlWwE&UL3LPFi5XaHENveM$UjTV`YDH7yJZ7IO#)-~`2tnO
zCqTi14mG#hV{-$j3l9Rq1zvB6q!aam2UW9F3Sd~70&fMRm2*Nxle6h->=>+Yaxd5K
z|C0Vu2T&$-({78|eg)^1ZKvM<{`HgS8VdPN{IYo$^})Gs
z_s==efZcgG@)dD5b+Ry2-BKM721R=XWM1$dgo<&0!mb^8FAtAiA9m@_*G-v*UJ#IKI9kr}fVrCiFs1
zgzi4<>;dxi8?T4vKTTH~v!#PL-w=ICX(H!?Gp6rfDmp^eNfe>F$-cPoCEQ+
z>@g6`>Gy4&5034*mGMiet~aDLx&U2+hLaEU#er9HaMN6_sKMy>Ypad#HM*!dO#{+yd$1hjw(}QxRRXH8BL&gepBUuS`K&E^7ObHxswl
zsOtV74fWN=6x<~ZwQ*=Kj`+m)au9K^GR~VWRS0Fqj|zaP8pKh~j(jml)!*}9L&ct30xh9pH_3oW2I4@>x0mWr>3Y;{A)5b0{
zUzr~|GUueNOHoovomftBia)Vrw-rV)A2F;bBb^`;4QO+QJs_d4RppBrKS2LmjVA(_
z$Wa3W01!b00HFI%YW)Aqr*#dS&8>`#9sWn(|CQyZ)bwqC$HHINy7m(CtJ^rmQym7Q
zaqtZyA_t)E9o;-@2A?lRL
z(nfFxR}PfpP_ny<<0^FTs73V=gw#nCiJfg~kZR)&xRu+CY7P%-CY9WvrnS01i)sM$
zNWi_5juw8;75XzGZmu~?d{0in`c{xnaz?W9$f=_V62;bTJ(`-%Wy
zx~7uhC=8e0Df@vPk*MDVC=XhEMnh0Y>P48CDn=qPL0l_!rw?1mcE8>!I29r#zzgf*
zH~>^)4F??hLtYuy!Te023K~S>tl!V?9D4hy80|cH9D`oM$eKpdu(-Zn8yqn=Mw(fN
zsF^2;Squyej0(p4v9Q+PYkLd#)C
z*h&C{bFk{Di)>?VxumJe;xtKwJ1&2}P@EY9AY_4ry>c8M!iWYHAS+|p5(;2}vVJ)7
zshE<&Sg{Ae5Q{~C1u+s5a)vQULxPd=Vn9U&79UpVUmm~S%pmrX8Gu~VZr3SmlYv(>
za!j@D%jJ{Qzl2)uF;kxa(ksIX?2m75cpg4}Ix&*~*0GOCXWKv@&c}@e05jlx*_=3A
z`Mx_&!qWkWb}J6YY_9a;essN0LXUg5l<@ZYr_oNk@UVTEy-9D&s6MPCn|piJF&umO
zQgdWEu|Cpi={}>??S}6RnIFvbdIDo>JassUa_QCtKv7Va8SR81e@hN*fr^-S7h$_7}=
zPDx4I-R4f}xmUH%lz`xzK^z|t9PaTL*`2w!nDFR*v$m?;GIQwU{mBH6%3C!tJKsG8
z;T!;c<;elpY8=^$d;9i6bC|(3sQ-nJ51JR$SDQa;Nvc_fxPQ}flF>QgirG01*=>@W
zuo{vnAQCvLu4;!M#!HM>OrdJIoZU(tYeXIM-a8Hevkf-f`Jvh2Vio%-oN(Dwp%WDf
z$-s&7%o~I90WNeOgLJFM2tl|JW6NYaFCo}IdWegQ=a<Qe`lY+T63YIpmDp>5EN
zRGaS3>(Fc38kO5YpR`LjU97=cL$8}BpFf%T@;!l0RVXX}Nw>DU5YHUK>}9mVbL8or
zE*~0<)Y7VwJufC-y_Yp`E;u|!=Jj#VqkKSL!8`ogmn8jGRB$|g_E@#8tl+C1X=b$N
zUS%|#Wv8wgy#2QVED|&lFaI!=hxCRtQdT}+NGQdEYTh&{lA~%jSG;k1{)by?ahKg%
zI9Je@(%APgNY_vZ@A4}x#3ZPd87=>ErwccR3l7cxjT27d;M#a(;AVg=5Y0o9BX`WA
zti{eT?qoab
z>-KqMnqnDP{KGz(?t``w;%|~g$CS#kQLvt`&B4DRIZ>Wa;s#C+-MpQL^{WpcsSU(R
zMpPBlS`i9ho`}dLflwSglw!mT)!vcHe0tm_5GQZKLSkHYmhV~AeYlxz)SPvv4Zj$t
z9@%0z(x)L%%Ukcr4reK6`GJ|*%wt$bTXkss+v`^YP;PFVOk&h{IwR|Nv)g@hcviUT
zjzt6&+wQk*%PxdX==Ud(gS8)YLvhxBSWQ(}Y|u2hGq+rf=Opu(-vY3*S~YydjmJ$j
z=2hlb*tS~@r_^7Ht)73ao;~Ze=}&R($&o&{TfAwHTs^$_pI`hpb&I{-K-b<(@ziP0
z-1Nszhf0djcLcG!N^WxL&*^l_`)TiFbk;2M=>OG6059w{
zBp-95=?}YVj3h{NE5Kq59m#6@NXJu1hEOO2PG7qkgp@q
z+TePBaks?!39~;>ddM;O8goK7wm1v5E)sNanyFV`2v9T_83Mx|_ieSn2LPXmAWa$y
z%xVQN%r8obkq3Z@B!U8C#MO*(JVT8IotTB}^td2C*i5XOrHmrsQuyRsvvb5F`{6rO
zb;aQJL#6d$o3C+tbxhpNtbSp7X{5&cu4QK1g>I(GCboIq^wzp_r&+G%BijbP?6TQo
z)-@Kdc^yCfDYdd@>7rgXb?v5x&YA%Hv9sD`r^N%-q*ac-cINU~G!PJS`TEg+xcF=O
zT6n;xR1lcn)hOHXdHOu3J2JXXTb@S8Mge#HW_O^oj7s`98>Gc>^-^t5vp^1_y@B
z)8w^Asdtvr^9CgZg4#bTfb8vLXN!Sa0%T~D#d9AkiVEI~nUz@>yoSc*&Sg;PI+t1_
z0p8LT?F(EcxcyV@+{bs9pAOslNZFGplI_Nhn=7Tt7vRpzM+vhPUTAer%O_114g|n-
zLEzV~!w%EL$4i%;bC=rMcb8IaaARM9Gk{#$Q!g=t>n8htBWBgo4@Ag98VPvV=e=ss
z9an`0l6tg=0`LUxtIR1q5d@NHs!VE2P4v{~;3dB1TX*m?uR2dv+(na@I)54AK+4{-
z6&8DCbi0rUt{H6mz{T-P$7L>0TjGZbP7I+LRTJR?ZtqHvohs$$=Vw_&Xu$B^7XUOw
zE|x{$95KY)Jm?O9kzFrDCr;28(9x*T<}N*;?vxAIIpDl#JUjYAR+nIKy6&_{D3B^Y
zP`*7-q_>!<(#Wuko%Y>{RS5C(!cb)8&eN}W?mJS+$;7a@aBbS&3vW!o6M!S4pgf3f
zS^ZgY7FdWro$_L*l1#amDj1HDoqIrT|f
z0AkM0Bb@>e;K{jN2GS&mr%(wVIRi7u1^ofgUSgNONho_sXaV?Mi<=T)hY+&^F~!qC
zi$yqT%7ISQ5U<}NVrVNpur|t_L<(kdx_tuxewxn0F=&p;<*fv;D4p$K%^JAGFD!O;
z+gaJYxA9wm*4_XWc|aKbkQkwQ@lhq0bP%?;13Umc_(E0fnLxdzPy)y-ugd-ke>e}R
z^!$Gr%X;!pY5CFwihh`Fg@Xrs3P+S51js-Hje6Y(7--}=3?Nc6&QX`{fLJ%Qp%73w
zf(gi=^L5t@rv{HD+o&bSOi%?FAcYb`tB__O>|;DanlQ-tQ+1FqkG&55=(ckL8X+ux
zgm@Di85fr8jE*DazwX3jbrvkt+&ruz#5mpjeHkJKc=WE(XhC@&)bA8^GNZIfqkCX!
zRPVq^WSouIW=p9X!M(&(J6%mX8r4|YJGAP!y7NCcd~
z*rkZ4?jV0+71_o$oE~!)K21+Wy_=gn8lLGxjn5
z6hQ*Kg9yN!eF8VKHeq4$tbiM_3UIQ&976kUtmeTAC63r1auWD(tg)
zWChG6LB__~AP4{`B+iQS4goz3huDmX*W=g{c^Ul?=?$vnmFFD7;TX=>i;j0I7j@%_
zV2-%0{>19W++u-P^HZeRE?{AiPLXs6m
zQaHx2AALh?blikTuW0WFV|ih1j5CXn{oTFjW9_4!vn=V)6d$j1M-jZQUS`Ca2^HKA
zERQNNa0)b(0bDKd;zP$cV_>MKJp9SyfJZl$iCRe>*Xu==7v{jIGgR#Y1Oxi4(*8`eT_KcXRE3#CCc>;`9HjEksZqBOGdlqiFpt`^b
z9H0#Llk)clXJFlEsQS9;@f>>A^1Xbw`PYj9u9Qj#jpxV7>~v&b4JA|Y#7j%@sI-XV
z&t3Q37aZJ+OD8ti-PHayaC~8646ruYYm+-Ls2he3eyfBjfK}YRz7p$iC?2)8%eybI
z3H(|fkGmKvkeKu!fso*HPfrLuL))whh(tPt;8q0qZZcvRX^ogtc9Z4rPC)}zx7h-M#bjUn9*#o@I$r|PsBZIai&1l
zn(d(c+^Q;mxjTw+nfc5Y`~2=DBw5J7ew(-^AEe=`Z9(J6{RYxZ{tzMm$qXo;FHKx9
z1*S|_$|G{cdYXhDNc*Hp<+-)L;+pD7qihAv^1P}XEmxY0*&3VrKVT1s11IRXM1
z4ylP0kNw#~<02pjAk>n->T6VGK_HVW45Gg&@#_9pIY?!P+_tecEVGIQ@QTtb$RT9(
z=J>UC$`+v4xh_dxX<7pqmjuC=i55Zsv=!JjK+$_OzssZ{{Ybwe?$zW>y!1pCi7(<@
z++DPYiZjmD*ue;>7qe41YRAZ(-HL`3#-3;<{qUgVphP2|N7L;8dbjpvDZTLrCr$mm
z>JGxWXV%(Rn_@&d{PEDM-iO
z=A^%7+U699B+*F9mAqMN#}Gf6h1j5s&=bc2yvXpI6wt)O!C@0`lErneyEUf!HduhV
z#GXsrs-omkzW062>xNza3G|(1D5vOF=9+7$L5Qo*xtf5S>7O1hN6Z-er%kJbLQU15fI^Ayh6MHc4Rg{1MP!n(?r4d%yu^AxAONNY!XaYD|ZE13k>U8_{s04WlygImrL*FqJUqiL09htq)@WNyt0E_HnD
zw{h%Kr7_XTf!1A_q|3Wu$BbOz?04tX}?LqE2v&{C#V-~
z+F%MyOkB4c$44u?ZO%DaLt@v
z2OO}I_s;-h*QB;i`BA@Gc^3K>99@gN>r%M(p!*ePUEZe%&$n4Zc<%X_TXYxY)}M^M
zf%$8ym^YJ6EK$Ty&8u2A#!cBY`F4`K?zJ$S=b6}rG>ez}qGoRVwR9lz|13bc07xw(E9Ua^4D_;;aD=s|UN;n!*?^#3)ivddNwrJzP2+vS
z(Eilm?W=3E8o2UA3~}5^)DwCzUPYIupBCK8=R{9o^c+C1(?x=)#*{Yk(0r+ymb(_5
zyQ}GnWm>5%@T!V#HXMr6PGm-9lQ`j^@3Vp|g1#sP^xZDQA|1w7ES2R+E%CMA##V{q
zlj?^NN-sN?JZ;nqapRDZo{~7qZNZx<&ZUH)$H^LwajUZwdnD%PSx~JX$o(O86rX_P
zWe?Br2%Lx=7}7(Nkw3Mxst5Dn2;sNbJkYXAdG~h7YAw-_)ND7X(
z_*2jyDtT$`1Y$Dzfl&TY;D|B2PtATq$7^!FHmh
zD$I8rfY2j_P(9ze
z9)c5U5{iFPs%#lU2zrp-TG#P!6iCFYDU1Ur;^JW=S+Xcs`PZXxcxOcI-nPyIzW+t#
zvd4ZL#Q2|+)c7XM$lGp37`5akgLPc|3C@VbCFZ%$*)q=d9bJp0`e2iW#>YBR;@S#I
z16G>!d~Orximnot2<#_~IMV3=6z*@;<*&8>!^~1!*Yg0>@eN^K?QP`PCiO!c-84ZdTGEVg
zFC-MDRi+z67Kk10cY#{h)~Y3qJgieTBH+UAHtZ&SEGjbc&ANij=uR+aa|bHmJ(*M)
z@|J(Z+ph{>o1JzB|61J5F^$<*7A0ge@XI1`*DDQKudzt|Ns&>MrGr)m)uUK8?1G6NI)vMAs!SVwboi0yPOB-CRgZa7T*;M}
zeLR>zy%o=QYVGsyDDCqCF%OUkfU5v*G1IlEx>=rHjSG9zWzQ;IR`VRT`@)jOsx1YU7Jn^id;vn$((Q+MtItI$DVJ?~LBWk$6VMRx^&p$J#9S>Z&4T
z0AHFHWv==Fqi%I@C5_nsq8s)7x_Z%NrWyT{xK94*EHtu>SX-iIy9)0qozcMd4UoQ+k{jKN5cOW#Si=;G<%39+~vka`dJc#mx4(<{|iIycVldCEP)7sLEU1P?h4q_dX_
z72m3TP50ln8SPa-8V+erGa2n3RB$sA$h|B}HC~~AOk5ve0^Dn0Y4d=w3qEDZZ7|>s
zN0k|_d!A^Ns;@){Ht1z+)@2Wyoka1KOMnJU?^h<{FU~euDSY`+h=-n^xBU*&3ofWp
zHqTFtnP}aQAmVTRG05)XvFe??vhdhB&kxe+5fbtR6Y2tzg5MvNfjpXWwT$@=R~k@e
z$xi!c+2XL&6;jSPoAB}*xwNs6;Kiw;J?8Ja)H1C-1+-LbKtVv!mRqZYYe;$`u*5ND
z3{bL5F!R|;UyPLjFKUzr7&i6R#(Df#T$vK=%_9o*2>%6AGrcq=1m*fbbvR8Ux
zX{zNeArwc==o<{$60oYOmD4I7aGbg`aS)zdkyqneiQnx9rV9
zFs}uvjz^-YnF@C(XnHmXooIv7fu~BrEk0KTveFpR2zvJ5qMi%+jwTIl)W!(0zy)jvWPf4YB}-~!o5Wx6!QF^7&QCg_^9h4=Z@OM!oxE3CEnPNIwIp#YeD0RW)
zhoV-_a;+@Y<*3AT#)BruFy8!8ho!~0Dr*OIMMaZED!@dEu@>22ALfaPA{~nj5?mqGWJ2|yj#Q%c3d|{D-wsURMFHip*opN5$dB2_Gq7NiYpcKpg(c$@igXSX)JaE
z2^7r#P$%J6>*JycfMMD)`UK>Yk6!^8v7ks#rl^^R8^V=I70HlWj-(qh%$2c(D2*pa
zj$emkDWGchJ=q^2W)2wI9>BN#=_Qohw_ew59{oV5HsBE#$)q6RxOTxe1J^c#)Dl~d%}Xp@`-@$oyiH^q`-pX%pEdC
ze7PZcI^luE8qmX#AFRTQ
zjX*r}&iZH5vB9%U_J!dtXWa$d`hzl~al!F+^xWO@85yw}&)z@D+AQt5Bm{x-d4FRbrF8liw-eNb^N2wQo!s
zlR%Z*opv*Vj$7a*i(PxV!OnHEGU(h@Ep=X^vb5EHU8$XVNWt#G}viX_8QrlNY)tZCx5su3Q7{
z^b%dmGf|zen>QO{RCX3xHsQD^9(CECkz}LfFQdbwh&)+vG@#7dq;U2Dghtr;Wn?LeXZ~rbdnsDp;WW2(qN;FB{EMRVuybSA}m4)j#$~Bo{h)!B^LvVM=s$HnG#66zJe>bK0
ztBBK9h^<(oJ^~1f
z)8nrsGbJ|5ei2cr@}nF0aHXx}E4AY1+_3e+%<8oyUgCN6z{@66bu~?JL7A#I@%D_TP2B*>_G?jY*sMsr>m{Wa9
zq7+J}arHyKMg;y;Y4Lgj;qF*1dd+<2z?A<*9)<3`M#{eg9i%9w#@zcuWX@kIy78Y_
z2E=9OoIA4>ucVf^I(~axs4Iy#$p)GfOMZ`GXI?1_vn%DV1Qhq-9?g6lhlyfb%qMIZ
z9j}a87G!B~Q(fmo4%xh=BzkdemVJ&>@PV_V!*i&{C8tk>9gsrG8NQB@&dumfUa5WE
z&&zq|f4M$cxPGUn*%Q16wZ}s#bFvUHU|V+%|1QrLRuwrb`G)ScaEYaSLiCqXaeX-E
z1MIvIhI{_fsYzkf#zL$LRW1;&E#x;2ywgPp_kCuQp1D42&Y*_u-$1p{@#2?ku{5JP
zFLA#NdoMIP$A4QzZY>x&E2z7wX=+M$t=3sy2$Mxjp?_FVR{UXri1|*BEJz+fXOX)%
zfX%qmsojW~!@98{fr`K1d(-}Q%%c%bL?1QE#nn7&|M|k=pN{(h^wHY=p)cz)yyQb@
zdVe9foNVTwSc%2_0ArCQEekdu(3U?7bo~ykm)paL)Q7+&ZVcp{-roF(_ch3A5`ADJ
z8unm7mrN>W;04Z6M~Ht6$E`x@MwYiV{PdK#d>odk@Tfq}0Y)o8GlQjnlN2MP8WJAP
z*NFhma20GdiH9sPm!8et)r;*&DwXdPkuvgI;x=uuJ}h<
zcXOP5in$fFW5D*Klno=-Zn$@CZ0z21n;Z1#_lR|y|*u?2XlTF@$
zcpuImKAbJ>#R`EPDJO?ShKY
zYl}<^D_>#fOQhBoE@@
zSIRFb>nh~|e-3%762U`D*@Q+|jGjUFKFYkt?P^ostQW=OWYlZQSsdT#v2Q#|)TDbS
zS*TK2fds3|XN9Mq2o4TT3`iJ)`WqUQ$76bmH)qz=0QHzhkWf
zwKD(!&41d+a5c8F(zUd)b+yrTa;f{B7f=cr6__M&ozhs7;O>;Hscu3-+yxufb){H3R)C_vhM6
z_aYf47H&NfL;p;Ey7jSPf+wk^Sk3z_BwjE)FL?ITUet9m^ceq<>`8>(?~p{>V}kJl
znbY?f$CU1dddQ;3kp5uR>J9x|p4sCkVT?%VWa!oxM4}hMN!lX-8GPW&59a4bilKLk{+YtqefIy!|r&lTF9?-2S
zA&a>WBW?+l0HR<#Wfnj$3{|~h@`4r=fh@rTRRIcmQ0C_gFmG7q;c$ZYU$E|
z36#P!kTPnku%z!zob7$%$cQDoArcZhS34&L5T`d6X4>>%u4!QSWMHB4;O=b$4jAF`
z(*TS?cEt1m(^
za-lCsTStbDzJxer5I44TV4?5T%IOjijDZ@v3qN~i^>J(Waj_V+SIdh7UnUM9Q~B8h
z#0_pcE5?qA=*f)-6V_BB@r?xp3@D-$*N?di2X^EZ(Txcx0xU5W7t)#Q{f7D!Ec(*T
zj?E1kqy_H~hGyp0f{9Cb&>wf9l6_&4m@az7-vPWbp3H?B0h5N9JcxmcC@Lsqzd$
zffH{MjD-^bFh>yl_4C+*i|jgj#j{jsU;=?06O;KA7e42@dKMFI;I7_)#m5
zZ|6L`K1DG#Z+#>(civmK?Eq6jteQR(MovF@zU5fJR!oXDCpL~wo^}rGNrb)=
z{LY!bTPKlg53XM)re7xuCWbzI96f2%^x}zcP9Q{%Fkf&U=OZ?J*tt0|k=~nd17pDp
z`Gnxfee6azaKfpAfd(>7u-5D_QyiT=^eLHz0dwp{JUwg?xvu1HL
zyXP$l7d^m%8*Q5ux{o+oxGnX}ImUb-RBvAyo=rtjQzz<4hnUsomCt->UgpL;
z8ZN6;ooBOQZ)DNO7bqZi8w!a6Vb1p}`eF)_jSG6mrhSf0AB=9b3>;i?2C@=}8W4QM
zFC^Mvqt}u|;0>8|dWj{w)R2~I0uTqUc4Go%8lXw*mot|D+JE=nO0WA&pMk>$d>ZNJ
zggbbaqDe?Md~;aW992Oi7d=M`&+M4GL9q8}*%esCQ`gDVc*bAR%H)70{kq@hLV!^&
zxr%oQKBr9~DacP9CXT8fWa#%){<)yd+37YxeE((8s1h*OXZfME=Anu!SOzB|6CCES
zOux1sq6+(9GoO?t*x!4E$k%#D@XYdim%@U@2GKmsQ}5V|7{p|F#(5RaxNO
zc83P3iS93r162)creFkldQ3Tp2$Din-?PwDhJqBzf)=tN_>9nYV3|jPPKyul6-Qv?
zC??NPw{~$dBGey*zZ~^)a%c1cS2bf33WR#L`SbyqsDf!K<+r*Auy(G|5~*CFi^h}p
z`^&nHD=G5WJMP6l&wJZ*qsL-b(9&YJPQ0|vxg{L=FtBWs^2sV?Aaz|8{Aa(GXR10~
z0f&rS*u~B5HG{$s6E^8AcO@@h5iEHSUb$4DH!+@Nf#-JhQdJlT^0tushtH7T)i5Yx
zyeBTtC?mCg0M0WQ?1t6veysEzkp!9@;glJ_al+TCUs>c?BZZJe5x
ztjR*c9SP(~{bBbBU&qB0{MOcG_Tt6kE0wqQ<$m|1WFP4(#E*E)ua?Amf5K7qzHO0J
z&VfI}lt+GRkN8jt)3Z-w`L@Py&E(^Q)o-zl7@9;{5dijZG_NoJ%5i;k=eC+Tmv
zEi?wuz6Ze1x?clvBQ)NT4>b9O*)42&@fsPCTRXbYwaBJ*bMllGWeV=?N>KqXDbLJm
z+A=5;?PQC`(bIL>$yF0HUUN
z0EyptSspcYS~48+_hdvM!_IT-8nUvkwP%q%W)b^(1HvF528LysI9!nxs)in|0nFfN
z*y}90IvsP466lDCjSs>tt0aV4JO!Y%mxCYxY-ZGUxvb*wld@=hX-Io{Rb`tcSRn)MPJ5a)^Uo=w|#}e!WX2(jq|+
z%6AAR1!@{w`B0ip^{{YPnGZxHaOZ&WNk2<5gG=Q56)tLBghm%BBWn$|hiy^~2+cOK
za;kY+g`y^SQVKys3ISf)xGoO4>Fa~y-Ujyv;#U>|q}ykJS~m97t;i`Rr7NK9`RK8(
zQvIoaz8s+|tkjA-t_hApvwf(t9m7z}B*T^uHcsjtHG%KN`%V9`i0~Zt33$QXl^T`mx^n24O
z=51}yJL9b=sjEftkeQqhkF4YKHuo<28q+Fl)b;?FvDY#ePu_5akoR6+jyhi}%~1^tSZXq5!@dN+dLZNU`KtU(W0g
zo6`d+BDUJ9F+$T6ea-`FXyw6=uo$7CS%S%%D-YG03L#o#tWSlaH^Yj$j!8}~pNu&;
ztXXPNoOBcs%j;B%!OZ-I!LjJY)Ftn;W;}CEyEo*N0rF<@VqDD%7JR30QeF15er<|?
zNS4Z_$3bjWosxN|g0kEYvd}4Oxk{gbO*)mrxgQsEQ=^-xuf*ONQ3Stj=ePVC>V&O6LoWI)glBPLo=C
zfx`3Zr($;QjMqL5WrzUu6V#eiz-
zHO0^AU)ioQJL~a%jt(81QWgq;0qhI7DO2&FP31~igvr(gt|Nrj@c
z_0CS=4l5jN7?o$J;i-e}JQ6eIhyT=;_Zx@alw7L7fW%y~vUUo$0O3!OV`NSv^%~wW
z%OO_+td={1lLb1bX|C#)(V6rhfF$+*%Mer^c>a{WDaV?|0|Jy{0Quv
zEqXnQFNs83P0fOPhd|=ch@^1GT1^Py*J(DhifVk+)MeKQiH^XtpI-R={jL2<`nde^
zW{u?e$D^?);M4I(IKjvN8(#nlQ3}#ffLt3OfWpvlt`xv39wZ%>2C7zxziWq_$mT(1
zF)q(!)QSr|(3v{y=nK`xFgy?X&@phSP*p5*&Jkw|?H>1)g$7KBv?v)r^g`y)F#JzU
zNky_m_1$KC982t8ORFAGD`g%tEl>(8J`?g@*m?y|r^qPOx69x%6of9F+_%wtR#Ffe
z34*jiJnz$i^aZVC^`oX72-fWDhY$Jq-7&zIT4*qGyKb6a_T
z-`KT0AAec
zXcsoB$(oEF9`B(;n^|qf>c)>EGUXwU&17A@;%zv(Z{3?Nqo4Dx)L)m%i(=Mo>+ex+
z-E*!)BKc(wg_3onWzN7u*U>N*hgxJrvM(phFsm*shsV9xr{#JouZp(`)Uc1~gT7fz
z+#6wexP|rSZzk=!7N1Y;P&L805`O_x>GZqN)OtGYFeb_7Q-oVg{HRXLN^LE|@mW`f
z@ZwiR3(k3jj}4;KH4?zR_0|Aw*YeU@)}6Bcg0>T{D%y94>fVgs$eyfq+Xiric0j$v
zifI@wNr)N26bYTGW-lL*MRQML&Gfy4Ch~9vQji_*j(k0hzrfVGHN0_{7|(Zc`o#Ey
zP=SO{|L#vkunPOkx^_V0Gc@i
zF%4E3z&!?5Rl~L_mZY;V=i2m;0QwiM$ZqRj0PB+zWuxPhbC85-)bmQ;X~@}mIcw6o
zug)YOd|{z{GzD#VmPMXwxYciMD1SMU%5JRFxThd0y^q!;K+AG>ts~nKOIdD`v9k
z<$UqfIy?$(&iNiC+==}nDWoFQNT>#uf>@+TT=vdZOZq6s#Vf(`T7kj%garNmYW^;p
zm6s!Hfr~V{pbo%PG|`}a#vcE8-F6O9%TH!p`8aEj+V$yZR<~#L!~-?Wba2^-HQx1>
zv-&_3snksZG+vxb0wK8mt#fX`q`gQ!U;Sil5c4O-nDEe}c(`?sYv%I({W2i2@q*#B
z`C{?LvF*>rW?NFHEN-aWuKxD8C?Gy}Gr-XRfOecgJy{a8l7KTg(v!`s&Q-}t%clkX
z_XE=xfDp2R;tQ(#-e!$39qe#3^E-!(e9w=uNTlsSx8;bK8@+Bq&57Bv=wTLa0kSmT)RH^G^;Z*NU
z-Yub3X_E60na?s7DkA&diPWrF)m~n+C;Gr@%E3PbGFp^aD>tE&Hp7T(@uZsXPD6~)N46jSpDe_z4c0gsfYHl(obzceqiU8
zxw-j+(F$d^E>|It9+9v&V6(_y|87v??)4Vz#u?R?o6&eNoz9$jS3p5TKj@TU-5Hdh
zBJ!ZajB`)i3={DJ>l_~9MRMBK{#hDeP8jz(k;1f&{(S3017gXP?4
zG9PMIBFjI>`l!p>0ZM7=jP-f$;>nWrI$Wgsa?qIU85k~O+6{$uc
zQ=Z^n0Tv|BGVRNW`DuIgK@pg$T&XdVti$pxT3($Ne1ePKg2*^wK;}bKy~RYnVRUbS
z-4t6=-IsUY(E#~9vgt8&t`;e_7`;xh7_}mE670|`TyPin7LS_w2nqw5%(-~%YbQ-6
zaKKVv`tjU5=RnkxA8Bx0s~+%1S6PCUpuO(_GatNiv0C?jl9B<@Lr1N`Ob{vsh#
zQU0(AQD5g;6U)81-GV(3AbA)yG;STak@2e;>wMp69@KUmoO*Ts{hXCv3b68VByD>
zDGh8bq)qLWN&;{PsRuTVBGb35zeh&SytF0|?x{AwjJSU&)
zp)3=-ivxRzx}t*n!^W<+9J=W}^KR}?si8XuchH4w*bgFP_n?0TU$^bs@U^=@#=4?t
zX~H6ch4sdQ6*n|jgV^r&;it9jT}{l*6^ew=s6d|8xy|h^**;LY`Y6hkBq~--Evi(f
zY_v2q!)V8IC7mWZ*#+&B6^mTE*Dj)!Ot8lwYyZ^IAmpfaRP)yw$O^tyA^bOqHV6N~
z4^I0q8lw;7EA_i+)BtLO3o$iYn3ytkv?W(
zH!3p29Mb2`7~7b3o9xr{VS0u!TcnACR{S$NA!UG(e;(CHG{72_2r9&-W#rg29KBHQ
zX-wErLy#iNsvxhS%4VEnR*W)hb%?49XvUQj9XBB(GZAJ&T&i`3
z@@pWgu@4po_F1FRDB@foFEhb^L^~aFvdxF}QF<_t_L*n&=X%Kwo6`3p48kD+6_3@9
zd)F1*Ulut#D{v2djVZ!X1(FWfB@%RWMsSs{V6i|tgyz$Cusdrp{HQi(;HMCs|_HD_88a?@aXcG2}zSdB{ZLe2*x0o
z$D;NaB%8KBleF2_qmO4=3E3207e1Y)`zJaj{u8M*D(}$V&I(vmFj=;+FA=O(0P{{|
zG%BM}tp^B7jO(9^0q(4fAM+4Zk&0x+m0z@COvtc%!=^Q0bwTLmn<+|}$dOi+xlc$m
zQk=9OD8{Vx2}R;CY*Kd1TFkUe#l=q$CM(g?p3Rdak?=6)q!zH%yu>p=u)&8A)gl*4Xu9?U7E0%1Kt7xyxw5r#gySl6$nwpwiyh0<*U8bL1
z24hj!(ycqRmB{x6^^HEFSQIcwt}fS%i_FtW6aSNfy!bIY7oM3~YaX75MO0COzG#yB
z>5b#I4ne>DFGxCRQB6
zUU@3g(AJaX(i|eEHJb6KU4_3;TX~^+aZqodCh)J;!BS(p;0tQ%n4>j%gproI;eyVD
zC5zlWkUVTR*1^ip7VO`UGlc|gf+G2a?5sSqr%QENvA^SK^3IUC!;%!iL=A?VjR1yN
zR4(06Rs2DuY}u={WS990}10?zFmv
zvM(w-25AjJ5t+*!6l((;Jv|sRS)L+)bU}-{^Z&$alSvS7+{5Ufbko&c9EGNl`-5Rf
z>pYgYuV5VGXRWZvnZRq%^MmOv?)X4LUF|o!Hq+qSk{&vs(Q9Mkih^Jw*cZz=#fueh
zyM3)7>l0Ff2Zvv|f(F)Q2Z9b@o83^F1Fhr~&^=}6j*Fv-dSnxWXT%qOi7M#0}qo&K_6;&^OP)aK@6o*+}N7n
zw|d)-X}M7WGk7+F245(H>7#i-11wE|?qlRN5_hkO2@RYu&!~pP2W~nI7QQ2f1)n+n
z)iRh>>xB3X+3S)}m3X7CLNz!hJOA1UEZP0a4SP&jgE4s9&3L)LN&Ka?nw#AN>mZ5FK~pJF0UnAjDo%;sxS8W8WQ?(
z8IC*lLhagQ*+fS$`6GwV%uo13fzNk5?(hRfES^sg%}EHIYu#xPDLwdPG>K-xlzf3O(-K-iZMkXGfZ68@G-meOgeJBp9!0!iVzkCQVQEC;R~nVIN_
z;q4#OklPWex)fbyMbkO*Q_Hna;mdliwaNOtVJBln4
zIRs1k`s&u4##Ux?2S$&DO8wg5&PgvL1ePS
zrXcGD+P?&)@nqgGQq*}WBM4;X-#R|KuHa^$O<34$C%^0V;v3NkOdDA19AD6$XH0h8
ze-`(^Y<7Gm>b_xQ=E8n6doZQNl(wr%IkHCh+*rf!vV6P^G!#+1nsn3k57c9y=K|J_l1;YXd+v1t;n)J<}RT~)Ua)1RZCqT1*l
zDRmFZ*=tuV)RGRwx@Ye;lw2j@MU+SqsuPAT=q7E7)sKeADi|!|ZC!*NJypX|XLEgP
zM8fGcKm;EaldMO3>1~VXuM#d~4}rg@EccxgN5(nTgoFoC
z%pCc8QgV4gJk|i5T!JI?4x8sp+NfK8ZV#D!C(&u#^@Eh>0r{O(J<_UehUrdf2t9
z9@HbHv{VrJk^MA?v8nH5mWzSF8Ps)&DNhTT$%LRZga@;kBVN=7gDO}g*cu>ljR6;b
zA~0C%=i9-oQjw$Ey1z(e`Niw#XVsoXO;wDOU0`^Q%_%^tMbRXZQ)7lT6wHU+-2i6>
zM;Q+qggK*F6WtwQ|LveyQ+*Xvx+|p-rwpdE%*j#{qrsrZL#7S8Q;hNUjgr(9$p`vX
zjp!kiP_3B#VWJAB*H(BmqFYH7Y)>MiA%~C{8w01wmB3U|BYj|U`ykB>Sv%7EZsf#(
z=GK-b;tuSYQO@q>*^z=Kp1UmGK4!GLGqmBvmNL%c!rZxX<%S-!{sZz)A^XN0b
zI1CRSIT6y1B?E5vx5*DzH}uhs`$&WxZ^;@xiQ@ce#Kn&j9-J-hyP~}}Ls!m}NFWM3
zv}wSEuNw;%*xp}b!pjQLvc6-r(eI*l3BAz8s
zn8a=A-MS1!A^u5Wt5u@K>ga~nithD=Z;%TgS+iq2<+a$0;0WYkmHMmMy6qLw*@;AS
znq$_@S|a}nK85jx4tL+e38jZ@TB|z;v1$GdIOFknD8?IG7khTiLPzx=Zis=hR(AyN
zn=ef!dBJTxWeFn&$>A*G0YzsXTf-l;4Jo3KlE1>kpsJT5dYE?ekoF~4v{Pe__3;$M
zy;u5KaQ`z5G>q;}K}Tu3p%YQLTdF7{Pm0YA{mxO?SC&h*d<`_Eug9)Pvx7z!V9?@r
znQ-^v)V1Y{0Z7MySS#!fe28G
z6id5Ppp+|$!s{n$f4_K4v^jxeSEvlD@G(DtVXJZc3bE1Hxq++3NE!O%)S^Z3GL+(k
zFps3x5CMefJlxRPNmXp^Bn(5ac!n7k{MiK})h@TVtR*Hvd8nDlBT^5l%UvUh21;Eg
zb;XP5#~vhIaAQ@4);a~U0GCj~YPGNNH%9?Lft0YbJKsjP5p2Fm!DbFPhF!x!C}DjT
zCC9LB@6Jrw?~1=AM~M-OyQd$yy0Bk)kC(T%y=9yW=iK1U*i
zWDrAB?g>>8a}i?UVdliIQ@X*+5Ht4ds_junn+RF5Y4^)5u2rhfkE1(Ly2>MKDnA*$L%sw(jr
z`NXF}m4qQeDgQ?xLmOcMY@7EcZ3+ZP?z(%NgW-Uu^war|*hwduQCI%3|#sC^D
zXEMV165i_tPCrd*R)Dc65q~#Rq`z-pk5Os&ufLuTUn*md>!9QYLagt*H4rN}2+bEmE#~TQ?i;?&>-FHOoV@
zZ_9`SAE3k+97v1~zwz#gKBH^}mCdGcdw}Nb5T?Xi
zwC(>E`3-^_m+HR>4;4vs!{_q(=^|+*^|33&`P}+PgU{|?&xd6<1H)DuDUkYw-L1dD
z{_`Y2g{H*&Q1-BfKQ5>O0oGqFbw#lP4Q~)0bU3Om@Mmz;gDl%H7gCI;hx||hE(+4t
zfwp4yZ=WDlpGOIy2?t`?WASIltrv~nFOTp{-R!{+uE1B}&TAB4z??$YK
zBTIOMUa5rg7dw|_fdBy#z(!2*8|V%y=4W+%Ut&2p57Evz@>tCxzK{S_jRUilyr0ko^)+IUlnqscozfb(
zvW=>v7vhITUVEl8u*lvmC6!hwr_AJU^L2Pxpe9hiE@_u~f8Sp_LEEShogMZ$(`ff-
zuRT2zHVTRl(Rv)qhu3HH^nh&YjPGFho6GM805u-2XHYz7bz_GNd~d9{viuTFjYijt
z>u2}zIn-|O)grbsL}-7bzfQTvIuPg5&=6ip#RpxSKPV+=TD))79EukL+e^=jnMD8t
zCQ6moBBc`on0T6}fVyl8ty_Oj@8*ij$W5%?1Uh&Tu&V?(mPMeq6RwDPcamXlt^Dh!
z5t9(CkZm*iHBm>8JVnZ>lU{9KCTr#17e)vJ8tBkAgA~g`D&E;qu>=7(ZUVKl&|u7^
zT|$F`!PfgxGNyYKxzE{!|A@YD7dpHI07*HeG-XhbKeH|HmHL_|)GPsqtgJLk7i6#$
z4pF8I@#K0C!D`>lj2mP59c%R$Op1Ab7+#5eZWKt9jLBY(1hYd%WHJV2*>5?T3WH@0
zk0uc_c*7
zW-4jXBXcpTSZ8vAMg;7B2;za!jDA-w#QU3W?SPMVb7PO9&mJPeX6wo1i7J_SVaO!d
zr}&&UZd`)|cDRyp2Pp+)=J9;G%gK%62tzXFTfp+z5QFd7p6Td93yLWSyi_huMLQJ;
znK0B2xWauh5^$cnL%j$QC&Cm;QeWB{m5x|0$d5ZPU!003*PsA1MGn}beo7L}(b
z82pHHTixm9AsXwZ+sw=LGaqhQJ7q^*`aFILIxDx;6Q;>Kjf_xF&8s5RBxZ1T5X3PV
zA5|gE=qwmGAT+B8@bTzVXD`k?WU9GqnIWu=s|gRH{zQ5c#1OgMANOXCIeqWN=HRbRH(#OOBj9V0!1#Nmx@_f|(L^#+T^1*$;sC02+daqZ&dc8qB~7%z
ziiuw23g5o2Qb*z4TvR=SF{rpgQORvpQ^!o6;!3RA=30-Ua~+;2tws#D9Lt;yg#tAX
zQ_AR69@WI;Fz9PYSJ9wTpXU=|K;5L~Jl)77fz^u+rQnBnRY?dW=M)92{IAhC<~rUu
zYx(F~&pVgB-whnoK!D8|~&jI6n&4nT>T$y_nHk;dRL-
zFa#I9>hrU;rxF6NuCW88bdsmH&M>48@T9M(A5v-G83>-|zl^?K_ux@)__VoAZk+4k}?XYsTPA2bs}Zw#b}P6d=J^#yaMC%MU+)k=f{b4YOIXNb`#=Jf~7J
z#T^-tanVK@SHToLn&ITzoc7|FLfSqrU@kk^+Q5=}0my<3A6iNgZ{UO
z^Gbnx{TXlRKSRQZ^MO;PdS`>FeiA4%`G}unztaYq&N-2BHTJ!%SXLfs*r)QSU{=dT
zx*=KCEaOQEd2sUDw&iSgMgRGCUNbqxdTNDTvm|$RuK9)$(~9SC7T0h#LpWa)uZ>aA
zVSxd@?d1qVl8e-zY%ZF|hV2_z^t|F>z77QJO0^Hb12f@Ww)%!VGA1#rutj2yD3*}(
zhLt5jw$6smHZq)}n{%$12Osa&hj@?F6)~n?<5Zne$!(DZ3D~Zq`D!zJ-IFa~B1?3SpoV^yt
zL41~_ki(ji1rHxP`|oe5jjP{{pi*xsCy~y(C2P>2>SX1@_0&
z?(VuJJIxFv}MT
z(LE5I1p9Qevr?X%&C|0=j%^mvX>i@~mvw$X&kU`0_inbTl~ZE~o$O>+7AmMYm;w|x
zjf!!!+UYvF9A8JqV3^SU7l8a|drvRxJ`y-JJl_Z)$F*?jkb{F>8w3znJNAuzhE^kv0U<}yT;_>Bw92T%L>sFUM8
zUuZT2f0Du^3~k7lPa6qS)MYf&ANd;7T
z0L+$0TPwnqy47hzl0TW;6dAW_%Fc3iW~trn(tuOC8{U)Rrs=XJFMeU^&uH88Ws+uq6dYKRILiRtw)2NcOR?@5Y8L?gqU2>bo)3t{flGUUhAiS1Y2^19zo7PZ4
zm)(s+IcM{GO4Kk6x=cS2pFk}slB;IWj5^Vcf0?ZK%)J%1Im?)<#5QlV)sERb%b1wS
z$!YG*oIt^^q@C3zAle3xF`V@}DFDoax0OxST_p{XN1r;Z^{{~5RBLD#O|Ltqi*u=@m(Zb%@&QZ_a&d&OOLFPCA
z86|Z#?0r+&C&4FbrZ%KFB|0tMOPgr8GPjWENyuiB;=+|A@e|5}brye&m1++XgKJYjY~(?zcBS|fWI@Mr4_uqHqgCy;Mf
zpV5AsoPy4NBrKw791ld@iMN;jhG7>!^J=?G+1=tpM6p|?0X%ro#qNLtHtY3(dWYX-
zWBd#deE7cYgSHvtfQMHuSyUjwv2tY?Ji
z-6NX)@rN8-&+0(RqKnOFW6%
zT!1`R;nvGRSPYe3p8(>q=TY30777*ypV+qEUr#3)KL3a}T4xXgxUmxeNI-c42^Rok
zGLl?-6rP+xJ5#*b@r+!0enyBus|W*BI=?VH0X~Q9?$d}7H&=$&Rg?!PuTFFb{(EVc
zg5wv`0O@lV3f$%+VGKj4>w8U4lUDB1;lC;D31_dtgT00<@w8NgAY-$ow)(8PRUcoWXV
z-)QX@(Vf@7El!Jl=W@IX(PrNh01Y{?VgO}AwVXu~eO^8bmVVUKkMh|D0mp?%$awOboE#T~jGfENz7^`Y1{fmb
zboBA#-34k%9E+Sxwl?_NgzNYRHFOg5j}!-}(ANpT|o_yf%41A6mz;J#A4
zegsL_F?aT6K7|FLNxz8g!_995%$6n33<1KWPfFXde+2s{pgZGIKivDk`{EIpQH*hp
zM>5#gawTK|is}>p(^aIvc%GquKknvl4V?)EKQ{2)w&-tu7+KGkl?$K%T(RJ=%c9GN
zBD<7AHHeg@Jk5!pJqh7OoXrRzjQY^BCcEssX5YUI3`C*Rk=lYxf|iEcTglPzsC#%F
zh(5No0rBM24$ij~+z$*mUt068tS(V-kiybq=O4g3oOAdg&IU5m9k?+D=xP0vd*1n?
z)*4yPB+eNmdvAi27bs+VgWJIM`-*^rm!EOU2w$<7?3Gn%bm@N1OuwG4bfvH)YoshK
zm-=$re-+0yJ;eXnlaX<3@!f2ePUtVXG?&@gTIr(8;c)h;j#9Z*11Kc
zWz@MFYT*JML*{6+RqoM3kX4)gaywV)Zql}bPi5MieI~BGyfef~w
zv7YK+JV{bqXZ7sP3rH?z?$;|UbQK;!KZRIdux`I{X}48BMlr-p6LG@Rm_l<7)F+PI
z*AP5GMTjUp1Mz1a+OWIjw(a3!$ES}cF*(mbr=HdSki!K>;A19Q(-Q=a=BCeO7rYu0
z_f3iaqRdEBi;Qn1U@=#tlpCkKj>EUH++fy55r}flxAAv$!+9<8MHrE#cgq5bCSlkW
zMKBD;1nBwQVCMz4l}KKHlaf6OrS+^5qwf`<41fhiK;Nc55omH4Rd;lrIMuyLhY+vhvc~wpBZD-Ri$_1#FvX^gDI`F|8>F
zh?ybDCK`*{E`L{hZ3xpG*Glj%Ws?;OpD@r6*tSF1W{W=WLZ}$JgkW};uJM-^h#)oT
zbPR-`Flzh<7Eq!vpDFC3Iir7=iJ=-zz|<^;I5{eT)pb?3+g-Tu<^f+V-k^s4
zHJ6wnuJSNT(q_9~i_<9-aa1;ksmp`ZCbv`4bbn-ewLyHz0l|P7;j>SJjLeIyL*_35
zg%*6c_VhM`97fD~+b`S4`BPfB{|_0zFoC_oUAm3DTY_$V3yG6BI^E`FW?IID8OtjZ
zSBl4pzSeVLz=GTRz02*LH6(Ov;)wY+ylT=Ik-xiX9aHw?Be=y8|$zhtu|1I
zBN$hHO`~=q02)KoO!ziC6HEp#y0nfYzHfyXuBM~_HmGU_`|75&j_acsO!yp}%ARw@
zv&J}^UFKUzk?~o(Ls9kOgKGxyp{3EFu0QDs5gsi61ntUeeqqY$MYuN?stpxo=Mp8C
zkV9`|E3|SmUV-N#0csS>89Px|?`DgPrP?^as7Z%I#byb}s%n?3>P;o`nC6;l7b|*T
z<>dUX=FO$iqyiV@gmKS-VUd81f3WOAn$WaR8Y=*J49D-NDi{ZI846C1&*!LgGh{c|
zrnn{4CWJGhttmpujpR$+OI_b-yv=Am*Gak;5MdkDNetK8tIz{NEkWQEW+0|Y3IWEz
z%wPW&)*Xv*dD#8cWrc-3jc6x!3n1G<6izcX`q%SQ>!ujmR`QAqPaUgPJc5_qjDn`n
z$CE9`my@l71MLU*6^7JtU?K3O(=I@4aQ88L%oaz8sa9#XN+-`|CZ2u~hfNQ>PJrQL
z20Hva?B)d&Q-tM2KZD5ib_G@8PA{bSM>G%7)&oAaMy4WtO%3Vqe)ffCKJ?G&wk>3#(1tMlaaR`i{Jg`TPXby~L3F5@^Xr{m$VJY_)T0eoKD-jW4CPw
zR{wO&Fp42pO>WO7Y)wKmON_Vecs&ws3ag4kNC^?Jz{B{mX4^-MZe_I=8mW%Dx_)5S
zm$zCv?PYZIj>yH*agy~!U6i}6T=jP!tGll~KU-lQ_ohn-9$nd8>x+8dKt7;perY(>#I#KFODb&V_1;9R}=PNJD)%(_J_
zE#;fBGoFxd$weq`fmT)1RmuaIa5lI?i9EPxlJ6~}n2?y%kjH7835`6l<#rNBRbXJ+
zSzx77uCswx?uuYast_!ZRE>1iZF9unB&I5rBEV>Ge^oOsDPHtWsMK-SqlHkG+mayN
z59oMJiMd|A_y$2=?x&LW*6g@9jaC%4$)iV@a!irfA{js@Adu~E&RU*;MVT5QLl~}W
z@}Lenr9G#)pKlL3?kV0Yg3}>9+HiX+qzo_|%wKF+y1E`&1^gEJ^fv8yNXW9{hW84H
zj1T3o^#KcAe;T($n6M5G8Bc;ny;Nq)9V}q>xsWQACH1^K^58fF7HnWMvHY=D$?GIa
zxmn};{yME8{1BYrv~oijU6vF398XC6`esd-zBMl)3jY?4(5k(90P5C3*Utnz@*2FX
z0Q;sOqMm$lXtE_`PqKp3I`&XsQJicuDim#?@F!NcJ*1tk^*O1zO&r)XGcezLHfNlF
zz(mFCOQH8jTUaST2!kVH6P{i3|C_AQzJ#m+gT}NUaqv@_EbKh#XW6RUR^WQParBU~
zaB8@ED1JR_D6p`3nR9$n*e=3lBY<~uCPi5UD*q2dJoFhRg_Ff?XeZG&g>`H#Kl9NZGtnBaCVPE4JI`gl4OXBt8Hl#W8v47ksw^sFC!A@(+$6~!L
zaAF~|B
ztC!XKjo^CdHz@{$({LhY>d&P~Il8{ZU2I9th+;7|BvVK{f&MfjNW#aQjyYJ*o^A&t>5{~?91g8O2+n)TrzSCUQpsb%*9;5G5%8z*
z#-B$yml*$q}}4A
z;eRh3)~RJ|cBsXHNy%^sEg-vw_Cq!J&@l=^!la9*2aFvDeRU|dv9W(im-lZ1D(k~K
zOA~~Xaq$pbfeTW~m}dgm#pp_^6~j^cLp8!M6_$kR!nJvH1^xp#U$%8c(#-hUAtEy}
zv_Zj<2*2*1gl0zxT!Dw~g_gd{MuVSaFX3j+oEYx2TKbZjNRV{t-b1lWP9DP?*hnlW
z9D^fQLR~HzF&WqO9P+jB$iVD3%_+Tgg0RaCR{ea8TX4!4Ym0koO-7RcnxkVw^Dr0hO1eA)k|3>o_0GpP3bg(ajG5g+v8;U^S!P&O1i5sIq2uZa+7WbsX6`X{ovscxf(X4Hu19No^sdo2y5RXiS)&5kF
z?HZ8PMm=AtGcmk--d2PbG@sis6t2m(0j-mO{Gr?@FZIGz?TjgB{q{tXg*_XKZNkc~
z-|I*fST!X90wr&estugB!UsK{P+q3M_sZEy{h?u-h1@olyYum+o!E!e-q`hwZhWR4
zm(*2VI4NaY=JuDj+4c5bY}s3(f33@`f7`cO(%?5R>06MxC%raPb7eh`CKjHm{T7-k
z2Bg`7O1|tD8g(`m6`J)Sd6{rK+A!vS>C018Xk6TFwtrHaumqKQwE@l$%?_THX{_`=BD2Ok9IG$zyA$T3R=YZ*#*8&(ZO&ZFsY|aBPIAx+B89jRvGwYj&=Q{3BE8c#npfmC+1ObzxfEBu
zxqOq`@|{l&Mgo5uqUYwG>70Qes)ekp`?M5KD@utw#2T>L44&r^#eb;|2QK5lXdRM?OHLY+8>^1Ty0hu{rTbcU0S)G*H3{
zPQ1}20lcRQ%v`A5)%dB}QZE;@=@Ke&7)cSuK>ZYSxejFcqQB~|3xCZ$BULshACsmq
z8&gPzrq1=Ud@`TsVc$6sDC^-W1UCj6s;O_EUAW7_SbtR6!2UF)cuj4OK3IeV?VS=
zj3m!&^c=@RcqxJk!DYM5A5O+GRaTPEqH!2$H4(k7`IM;)Cw8iz7fPkhgZ_kCsYf-K
zp=P9Bug(9o(fygl&;{IJTY-bkY###Cw@#%7mKsPE$&8^ZTuT#W
z*h^9H_E>;r`yqT=3{Mig>y-kjMvqbT16#7i@E(c!oDauplqknhY)g#7
zcB8lb;Dt!j)jjS%?*PShnBQj1RF43yVjCdzh#@Tr-VJ>e0{2U?9YB1oqS6yBwmFmK
zw~NzX9UUY+idX5L-N;rr3FT%-3=09LqxG93n_(TuQHo->03{M#o;FG8Li3NyTdk)Z
z2n0SndcDudtA^*20F+-W0GLvLA&hX|)#ItxI1Gqk23F^o9-+uL$BatFB2ovNGOS91
zC*6Bppdsa9`v6Rbit8muLy$U-f;B8apxgC%NAkDND5e*4vPm*?7t@6h@k#i{{EgKE
zYNj~-^Jkm1kLaoIkNcBIgWIecI@6fJh(BEbtoAJ>z(<;Br-`1@5!E#YS|-bq3r!FM
zfL6cD2ejpL^bXqy#b5^`TqbNb8Bd0Ve*)V$UWl@NRXr1OGIj`yu~8m(!XN^&(ZleB
zFj^x8{5-O~+#U&P@FEhFSrm9L}qJ2U!fysh(&CfQf|b+E!;gxVhYF!qHb{iAh<34
z>-KqiFByMXVqG5-?1>CIF7=V$VkU!5{Jq?vLZDtXJRwD3D*b{>#1pFfyGAF4Nj~fX
zrmqPOhtrcax^{*pGw1as_r(C8-s}C#d@fFL|Ok!DM3iF~K1W2pf~@2V9I}v(FNQ~xKN0$1(Z&*7MV*Oh5JaE2>h)?p3m2g
zR}DhBW0m|B6*(DaI4TsKKBR0viw#p?^eR!zGpmjNNRqu{1ucW3t$G7g;#X25U=fep
znn((_rJ?O|pSJuhRlgkwM8)Hp(P3xW<1uYxcFrS_4Q8sP41r=w^-X=bQ<8R`qIf67
zB0sY=R*UY)>Y`pm~duIOrAMI
zE2TRKr9{G~WK9Iq3w3x;yGpb(V(g;SzH@%dMS?0^%BW{%>c
z`XlI(r;_a-(CR=;Rk7wWK)55d^eV#GM^Wl*-BXSxNwL~VGS0Y*@ck#5(@cE(UvlfF
zWueGp@(q7q)!9g@g-y=ql3h<8DszRicA+`&X^L7&4n)4`PT7i3atMSM>@7;I-HOv0D2tLLA+>%uN09T~5?85X7odB`^>o_M-;fNnFVebgy_|lMvGE
zdYs{W=zaJ+QkmLQC2FVa_*xMm1UHScP~g9|OJrWmwViav#UMq9b0Rvd)(Nc8+1-x%
z76US+Fy@`ssi$s#D#y~|gr2wTiUucXBZDnsUGb~}sx*-j+T;?+uuk}v7Lk0=TYOo#
z+pX-gR-J5O^2`~f_uoib`uej6k4G4Y^c!XxMe0N>ao$*v1WY^vMM=k?lDA$s&+Oy>
z+1sT#v#2H*rCnkKD)6L9w>nQN`$5Ycy~$nLPP68?rM)*9r*x{*AOT1b_++ya*lb&pJ%KC
z{F(6?awqc4{y7@OiCf-!Q{}d$4J+6LYKJn!II^gGw0kbpx3#qxOdJmDs1;{FL+V|(
zv9fnjzmh23WvSTWKGqk0U+AliBRCrOs{yqhB%-*DE1YFUA_{UxVQNgi5mI7g5y4T$=3;(govK*Vw@Rf&CtXDM3uN)b-+6H9fYjKUA-HkT
zO(jBeQbsp{?~RY^M<$mH332Y4D#7Q>T8{c=j(IECkpIjYE(G)%kZ7(T;$IHpTeO|T
z`erF5I5U`E@%Ko)5mj(0`soPlcYc1}xNeV8{1P;8@S(5~l1UePdYOjCTTMbBMTv-1
z$%BYhRZ9oyj9_^$D2x<%MMJi-&dY<-PWSH>l`YeD3*(?MAriHSS~1JtB>R$o`&km5
zu+@(l(?lu*?9(x^Lv&%cY|QFLqnX?OC7!Dv{fAB(&L!xj6wj*H(h{#hFxhhSq@@KZ
zwn$;Qiw6cPch*18A7?=q8}{qsu}-mmliN;bA|A>x8}wDK8aD5vjS9sl9@B`cgcWHe
z{F|?=g$B^Q+abC87MS_WP}4C##-|bbLb077TcOk$XG9=iEHDkn>CRr!teg3H=lk96
zQdim8UKY9(6T+E>>P$IG4`rOnrGH8DG{-vSE0(|7*?|h7U^dcoWovw=tG@*IdkQf22#*_
zBp+q%biAaz-_m=LRDI;<)Z=yZVn-RdlTO$(Lwig4AgLz1QOJ#%^JB@m{Qk~C$
zcBhxfk4r@;<@^U#JUwf=v4lm#1HQI1_ApyzKNOOTnxQOKqx#BB=-PBxS9;!c+P+FX
zF`U#LxjG@DTP50{%daQB$p&Fs%-jOXX!PNmu+v-uWM7$~Lwgo;^luz+A0h$nK!#Y5?
zL|#%2bGyyIOV%0zgv1K3j1ZZsBa!il5?VD=CMrU0}9hALsyC4UUCIfIy@ag5w@
zbct$Q&cD2H3rd7%AIz;;>wn&rYeE13lAo^DQY|7~>@5&&hs3Xcp!I=e^bG=_|mBW;R-5v*$}d!6{SxRYuZH8v#G&})D1imIhIU#n}r9{G^X
zc6Xzg?Cy3l`gRwEVagNff$!UReSHNV>ASDp#Fmrr7}R`47CN94^Lq=FlfiUSS7oQhqKR93+^;
zF2=lsf0rfazjsds3Vu(86?f-F2(=sFOPe@AnKKFsGF=%E^4X?JmoaykarU@%>vNWL
zL0xbV{H$8zeBu4ySyR*siLwX?001Hc007y4>kj-Q(%U&Y|8HfWL`6pKNF1T(Q!RO)
zo*v4Sc~LSP6@1J#F*Q2p8JxOoJc3KV=4Q5Y3;$*9t|}IIx?0ss9j@S}((`%u%JG##
z$Ga!LrZ(&6B2%=htNoB|m!byD=2^9k8PAQ21*0=RWL2)_!?3*8T13WfrQWCZgG_{r
z$2mnrrTo=S=<&(=;ane}Yg>+)mK7W;ZI{B5QH5<3ZpO4Z=CtxRcvkyx*hpnk-U5pPY
zPy4T@aV?JWU8c0b!!l450k7N5RUUc4L2FH>
zEbLF;B7c`$>>mq$bDqFWF68Atr*}PR0A`BnXV+_GyQ(8o9YZ{3LSO^S<$2|rcl&J{
zl)&;|>U|;gLM*kZd7l-E(JhTeekpm2W_4qx7!J7}m%zFd*iN-chZQM?l=1
z)=0QfeN`)j;qpZ|zF#}WjwISbYLG8bg2xb++8$y
z0aA!7mDJrSabadZVR`xVT3n_Mb+l&bBXMI6P>J9+iG&FcjbaVB>ZH;s4{#bc&K35>J^X*4Dv5E2W(X!YF*pa>C8rZDrWTIL&A(O2mCwX;~>D!#CCKEfp^C6
zBfJ(MQXg^QQ6OHak`915eOzeU(_&FZWP^cBUR44ZkP&yVY;O|52oi2Yc@*QgCP)_a
zz7%nx_`-c!b^iSgKhB^V$SLV<28Z>8w8!pv5e*2-0BD~3~3sf9=&T@_c{SRU1)FcY9tl740+qTW!wr$(Cjor3w+qP}n#_Tf_^DyV(PDK5Ms;vAn
zW33jVFeih1PFP$6lFE-c$q4l!N5VvTdmfW4@boAr>&z)m!HyLSP-og~`yD!l!s?p^O!9(c24
zMiQMoftz*2-P6)Kri-tQM+p4i*th2k0Mdkz#ftYyT$8W|=E4o!hIe})qZuuJJ684kQ}t%EUhV0&J&F&24nF6H
zf7zq*>DU94tuX~Zts7IuE%?vOYZ)?Lj0)zAFQ&o
ziIcO1t(l&qiK(@Tfz^Mo%Ejt3PMaJ^-Ir?4oMC^snUb=*tv$%WB@1j+#}iYE4qRkp
z>Isk%+wvjkAUEcFcUJ)@6=Zps%f|^z0RI(^T=O^FYN}$D0>=!N&FU)4juP%-*LH6`
zC90;ps<{Tqmx48kjfx9`r#)O56_2WhZQaFLeExr75kc=C93uAF@vCL!aZS}(CKrN+
z)s8AVKJP!rjZ-R+Dl;?ToDp2!6k1rT*iwgsd$`6x>88y!4KjtyD)AJGmX?r`%9SOO
zMH=hIA!V_lTD&Ex(zg;SC#9BYmx9IXY*HY?(Gtpud0+7sv`T>+r!>Q1JJ2z|YePJ0
z^cwYrBB&N4Lafk?@k{KXXuqGE)Q+s>HltJume<<5?dOs%4Kk_r4`oMk)sVD2eX`
zu}ukCEDQn(G>TP{Gw^pD6tv@9VC@-!1d4xK)&Qa%M5|jqLYPaY$ttAM?U@8=4oNCG
zVxThRU2M*UIXYg2p;BAt3$fjUZ&m8Pu4cP1Wpe7y=bhUf}Wt}^>Mu#*YQ
z8Dat&-SEF5!ii1RD|}TG(Au5%Lzle1EoZ+u@q031*?pV$Z`h^++G}gJ3m(a>IF?Xe_XOKduK~Ud
zh#17(_e2u&ZHndT(4sRNIm}1*eks*`qtBohK5TM1WBi+r-7dx{u*Zzk_iBv$G2-<@
z^bn}u9r<-^7_84fz`b`a+8W
zo5=ln#r*!lfkgPU*~D0rxzif!1{PFVNu7FO8l$_>&2hd@#u;^^$yL
z@=$yd8=@QXLl6B_p&d!jDo->F>do9%!V02}gG({O$+su%?aq$Wa7+>Z)JX6xLx@jz*ML{M%j9AD^V3XvY
zra{{pfO%_7~Bnavae&C^H|neGV)W?m2U?^z0HP29AfNx>*dFImG9SB#(;
z0nT7>T~g|QvRf)6Z;g;sD3*3#s0~9T@JmsM-Je3E$Y5&?%}G95WkRjQsZT+oN2Nb`
z{=qBRyD?G+j{%@H_Sll|sO(kcx79B4-tMptXxNJ?IBuLse$-fcG3RK)qnT?fsI}|g
z2<9z5$mn>!lQ@@z2k&*|kpb`5xPMC=_WtNZWjjw0zqqBvxYLM_F9vPbAtsj`ScdeM
zO(oKwVRvfVi0l|@j9;t`zYz4)4gJt$Ls%sP|0;h0k!zD
zSaH5?IJtRldwy<2ogmmbA=9Vet%=mTJ5V{%x*x9YPJtC?HKEGInQXR4#6nL$Kq8a9WO;c3hjUZC$*W
z#M>L}VJu>#n{7eTFWT5X@NV}vd2B}H)a=%*&qq=1SozkGc$NMG?z~RF9S?+QqjraX
z3-P<EjR5O@Fa6;CGhX1WTy?!afuba5X>{czcDimu{y$IHVIZU5OJ2Z5%
zf{9H1#O_&BdR9ft#}3D00)-LlN0u7Dxq5@$V}P`R**6BAX}=Sy8*hGxR5o+HYz~-a
zLXysgkE5mb0jqqCD4l=EUdF9BCp<9sjuz;bHUj>I@%JdO+iDl%lu;&s;bV_pP*5}I~UNkcpQ
z5nu4Y-CLEP>;`2pO1KMYv=G`Y%h@0yZ01%0EM}2J_i##|z{xj0y*%Kv|H6EiwC)&)c9#6;^mpd0HZEJB!L5Y`eN6xn3I-cvLT
zzad$-*%niBc*v!1uGcNC)=2L>k7CQe6@eq0%aW=Yz6Dyvc+l&s$)qkq9vYKWK9UpS
z64WZyNgb~NIL#i_52K|SzCUmGsVjjZ>9OHg1q8&4$`Z7dX6Z5d56Y|9-{&7(NwW>|
z*uhx5Sd9u5E327kBXW~qBQCeV)ThBp}jJBzlvU&WKe=
z(jvRl5`M5VKLMM;)xEAyi#+QW=|W5xowxl0@U_m^6eP(SUV=04fjIF!Ln3EK%x7*M
zp308)2T&OQzVbv2aeHz0%%a|Ud(FYN2MQ}+SOb;y;&I_jlW-vdT8-c+{Z0Y~0(7wK
zm*a554G_0KAR^{=uhXo}|EvXFA}EUBZL~|++pC<)Pls+GwYyn
z)0pdp*dd%O6I?|gZQcY_Kqq~mO-FDjw2i}FZ}QLa8+tWv*1xCa!XiYm(ZaaI=|+2B
zsC#>HL6wM=30)YzVPQwcTk*=GmP-ccd7(+P(4XU1zxUu16Hto`Imb
z1iKgwVweZUl~MfbghUgL|JgHmzL7{54tp^mWf%$xFDNE1U9uM>bE%(Fd%|!o6yrKo
z^LpfO63Vc2VEdGN!`t3K)N-^~w7rG~2a@kD5efeptSL{4A5^DFqVIVYV*Pg+qd06v
zn9=?YIm!$DsH6>pd6QhWJGxU{5aU($c&C$BvS+JjvJb^&CJDW9YL_pMj5+9gOCsY8
zZ1$e!BQ-UvLuQty{5>2B3y;bKv3YH$B`#Ycr8V_gfoQ=+CX9M;aln7ZiMjl7CHt_p3&X(*mX5)c6_Gt
zMXKGs9l-nI5{&H$&jm`n29G8yIo=j8`QOvqUJdfK8Du9Ezbxfl)v&S+!w&|mK5H2q
z+t*h@SjyGipaUz1Ov$gczRruDO^>;+UbmfbcSQe(XT(9JpjIR12U&I#_DkkqKW3P}
zk(g0Okh38i_Kqrn2?Bs(E)1T{+}w^|IPsZpGtP^bM1)DnYic254sWyo4Ac4UPRKm
z$=#u@QLx=rPnu2Qw%erHPm!3XY}62`C90{odlT0w-tN}+y5>_jIivSuOy_R&Bb4RlkqLVBeBPcR(E%TTFE`oY~(d1mmk{4opAK7a)DQGZN`k2@Xx#
zK@K887Q)J8APJHfwehqDIWYqilDO!WCYhVTW84Vj7rQPY%~OU83l2C0(M%9X(z$mY
zZMySdf!5qX$gjFC=#)EjI0v?<+W?uqYI7ta`AC8Aa5_EahPzoeGzZFv(nP8~X3|HM
z4iGRJ;5;-$@WMA{Us4Qk^8$CwSPSePSS2Q4?Qo%6)(mwL!LUOOgc*y4`$WKP3!DVw
zJ^^xS0vQFMyU3In3P2IV;3W61j74+IvGEV&DPfph5|E-$G6M!F=GexFKzcx3d;zvP
zB`hX&5nNEGNS5`2Jf1{E(fk0wpeE(WsEbYX}##Xgn
z9Gxe~FK=Imm&dKcSs3)Sj!P!^X#6U6`G3XHj1+FTaJ}HWKkt^1Ji%<>9^Q(aOds
zslJD=GbH`o#@blfU&)W($FBmvf8<=cvAx0fPry9jFLd!zwV)r9Oc>d?T|XYotR5?5
z0YTZ>8i3Ky{;+;jmM$)<#@I*yqbu6?xn7PRNMBx0W_SL!59-VN>%9vUFE1}wK=;_O
ze{h85y|=^9LTJaI`-88m2043s@}SAXSMebD?<6>RfbPVf+3!Va$M?ng&({-m!0C1R
z(r;)Se?H}h5_o64Zjas3nKgMiF!b+3Y8<7PMMegMKi<1wJgKMOhk#!YJm-Vqv2;Hh
zXzKKzzlX#uLG+6t*ZzjJ7
zr~MAU54mHXjZz~`aj8Be$46%u;Vy80{LSV7e0?A99sAnYIl3?Ow7q$Hv9hvT^c(yD
zZve8z0lWv+yj>%KO_>(?JKv~@#B}RC%#-wdF9uK1$23OjiH(Oz?Qh;B?Z9|}h#i#I
z)yFMIzH%db`j^G
z7|Y@%()!dI#RIFAS{e+7X;r1s^K;azkUE@xAfOqE96SA&`SgOBm%`>&8_o8;5y_=W
z){kaejoy)Mxd6*R-?=Gp)!#2#N0omdr1*eHOMUes73U=*Ozp8|_Bu_2$Rx5@
zHjY4~F(+c$_1q`X00L+eON`$LqX&?8yqNL6VMQvRKQIaNu-;1b$M-5q`*HqGoa(m(
z#$lviISGJCM#VQm&=fBN#b7jmV25o5&9ms%1Y(wzcIpG+Kf;aPL8ieN_TkR6uJx(8
z>7#Bb^|@dNrG+8e=EjdhaRa^u1F`Pg48hKN0Dut>2JX(N9d@#PW=aR4h{^ToO666;
z?Rf!1A$G*6^oG|Kfo935Hkxb#Bp`DhF_!~I%ru?Q2AH%<5(U6;56ythJJy1qHN-a3
z>)v$syq$r*pZU*^xQzF(jSf>RC<~vi-o32urNl+Vi5W>$l8*N*MeKz?*X)EkvvKN7
zi?eV>lJx@oRE~nuo_`oML5$?q1Zv6kLcP<#;Vc3V-RX2R8ir@Y@XKM__IZXtY+5t~?Y$pl*BW#GyD-b_S45T9I!r
zCsG$z1OurtfE5@-mPKcVoLDnr6nTRLV$1_R&s@*+f;(;6_A(TFkn0{04QHCiWB`l*
z^0N6}OD5d~5C6jL)m?Mw)dP&jRt1k0TcV_06ISXVf@y>!4FdHB!9`|4>*gew3_Bq4
z(su;e-2Z-x!;__%MN-#!{%{)~)@sj|FBAJzN??Lj_r7&B@R&k~jqWTMM4D|aDuxtb
zJvl%$4`t8}*7LeyTr2ZpxA86}WL?vljmNT&d~C@cdAPp+tkO_mGk`(<i#XfxQK^nq%p|nXz!u1p0cpu2}lz
z_w3;4G-XjE#S&c*LN+PYXHGKl7a?(v9EF?AnM>kpY>D$r
z&$H#bcp(Ot*KDD7!CFokZ0>+yEppf%jWjVj*2g$|d3|n*+m>fmyBen3$who--2a$<
zp5+F+)8M832@dLq-eFYV&Lu_ni!jcn^ek}GnZbhTochGXjPd(&LZL?Gq+qf
zI#JhHgv`EIHDrq0WB=fcR-=5EM(#>MjQyRzNZHy2T=sUoUH2gGUzQCFp9^C&>DJHu
zv)2(sd93?O(X*Q_-{&M3Bd(Q<#yb
zdB_-HlLozqtCKTlQI|m*vWG8|%EAe`=zt@7#uH;ZeVdsf`<8ea)XI@FPmoaP)QT3G
z(Vlb1z9UTo$>7N78MOsA4$-{Kk&|DmzKy#7caAD!&iEx<$%960mZ*M=C11dWA*xU-
zKz0NPaT(6ngCq*WI09h%2x^sz>M(68NG`dE8s;J&_KiF8e#B8MVHIdQxKaCj0fB7;
zpczH4to1N9PfbsG^QeuCFq8&^D=}h%)TAS1c03ggO2-Iy%?b#<_?>hgIYU*4a?qpW
zXs0B?5V3bsXODGw;n0jubEIqB_U22sW)AG!qRaZhm2|Hf=hD*)^;v@PaRvJise+gA
zefYcWWkbt({H0~F%tvJp8UI|-TA)Y&Gh!pmIk3!#yQ=<2lxQp+P|36atgPW14l0UR
zx2}I8lw!qHP3(Zl*#sp+P&t_UJhAzM5As
zOiBz&&!2zuF(5(m-gP}1bCUTO24#Z?3`N&Zep4_ce7dm3&`RnPgpASgQsqZ{w@NMc
zZY&w-l+Xo>u3xy!<<>mCwz;EO!SsR4mE^sf5hCq+@m!c*cwfINYroE7c7q4fDeaz+
zvFju$LrK#)DRN-6u{GSlSn@Q7b_9jt(Oo~eDRnxeB9S4$2~Z;Y;!03xs(~DPYyr;=
zX}I+RP0}{THiic+cbHoiTE9tqjy?-vlRnIMA`>FS^-D)d2Yp>k7pVle1C|*WC$Xe>Dg7NwG!l3E+4vGI-oP>`Rd~6TZyDj&M@4=f-i#c*
zT%Bjqn7g5cql6=d+U!#XtPt%MNx;*X+Q313TEGm>tAhkJ)bU_9hNKg-QwiqG^xM!T
zV4$)_J2~&%hl`r(G&a(T^w{!DX*b1(@#C8j<-36Y{Xu+IeIK!+sWgXj@&v)ihkDfX>>jz6I
zNrX&Sxx4qdI$xF0Ov)Y(CfpbF`wurpPn40j#CQ;p#@62mB(|`=BLFN8TKczF41pA}
zXTXu7O*l+F?)0OPh%s4d(%6iB;CjxE$%b`I&;WF7uh|5@WPX{lkT%
ze)43Tkdv(baUfC#LRBGv)P`!V{ef7+i6h0arx|Sf^qVcKyDn~OI>I=cUz)Y(PELw`
zU7widNxTw5WVF&C4dpFxV9^4XHrqxgp~9KG!9mwSJWwDKNIZrl-4SNfgdapeUBdV=
z`pFM9^z4!xgkv}HLw!hhG8V@DTDl7h?y_MOenHZ)
zwbE_U>f(`@$N33uDD**;I(&S8v6gSNorW|w32D}4-KgE6f>5ap6ct1iqpBjpLPG2S
zVby81Fwv9ts`U@{<;kc%f1YjL`V5iUYa{tJaw0$3e32)4A>6C*k)PirbFMOf3cn3p
zo5HTC8Z{P1n}~0q1hGmS%<#TqVu)WoFoq?fzFLI?)ruH+Yvi9;Oa4SKWEU$JG|?!V
z2H_bhF~9jD(4N!EyagUyG9KZ>mL{0l@cI3GnPmjmttgSiZaW+hyW>^T^ew{ibKsG-
zmKRYDer4b!oKqRrg2+ehkoOCn`M}ZUz~!qUMH|@4{Bc@?%l5R{$|W9sY&TSmb8qt7nx%_1oCs3QxxhuX{RjV
z6c?tZrwMW6G4