From c39e9a6ab4554c7bd554669fabe2c00504e13f31 Mon Sep 17 00:00:00 2001 From: Martin Weiler Date: Thu, 16 May 2024 04:26:43 -0600 Subject: [PATCH] [incubator-kie-issues#1220] Quarkus example to showcase PIM functionality --- .../README.md | 278 ++++++++++++++++++ .../docker-compose/.gitignore | 3 + .../docker-compose/README.md | 49 +++ .../docker-compose/docker-compose.yml | 83 ++++++ .../docker-compose/pgadmin/pgpass | 3 + .../docker-compose/pgadmin/servers.json | 14 + .../docker-compose/sql/init.sql | 33 +++ .../docker-compose/startServices.sh | 40 +++ .../docs/images/addedtask.png | Bin 0 -> 46793 bytes .../docs/images/modified.png | Bin 0 -> 49922 bytes .../docs/images/simple.png | Bin 0 -> 44017 bytes .../pom.xml | 214 ++++++++++++++ .../migration-plan/addedtask_migration.mpf | 19 ++ .../META-INF/processSVG/addedtask-svg.svg | 1 + .../META-INF/processSVG/modified-svg.svg | 1 + .../META-INF/processSVG/simple-svg.svg | 1 + .../resources/META-INF/resources/index.html | 150 ++++++++++ .../src/main/resources/addedtask.bpmn | 226 ++++++++++++++ .../src/main/resources/application.properties | 49 +++ .../src/main/resources/modified.bpmn | 187 ++++++++++++ .../src/main/resources/simple.bpmn | 155 ++++++++++ 21 files changed, 1506 insertions(+) create mode 100644 kogito-quarkus-examples/process-instance-migration-quarkus/README.md create mode 100644 kogito-quarkus-examples/process-instance-migration-quarkus/docker-compose/.gitignore create mode 100644 kogito-quarkus-examples/process-instance-migration-quarkus/docker-compose/README.md create mode 100644 kogito-quarkus-examples/process-instance-migration-quarkus/docker-compose/docker-compose.yml create mode 100644 kogito-quarkus-examples/process-instance-migration-quarkus/docker-compose/pgadmin/pgpass create mode 100644 kogito-quarkus-examples/process-instance-migration-quarkus/docker-compose/pgadmin/servers.json create mode 100644 kogito-quarkus-examples/process-instance-migration-quarkus/docker-compose/sql/init.sql create mode 100755 kogito-quarkus-examples/process-instance-migration-quarkus/docker-compose/startServices.sh create mode 100644 kogito-quarkus-examples/process-instance-migration-quarkus/docs/images/addedtask.png create mode 100644 kogito-quarkus-examples/process-instance-migration-quarkus/docs/images/modified.png create mode 100644 kogito-quarkus-examples/process-instance-migration-quarkus/docs/images/simple.png create mode 100644 kogito-quarkus-examples/process-instance-migration-quarkus/pom.xml create mode 100644 kogito-quarkus-examples/process-instance-migration-quarkus/src/main/resources/META-INF/migration-plan/addedtask_migration.mpf create mode 100644 kogito-quarkus-examples/process-instance-migration-quarkus/src/main/resources/META-INF/processSVG/addedtask-svg.svg create mode 100644 kogito-quarkus-examples/process-instance-migration-quarkus/src/main/resources/META-INF/processSVG/modified-svg.svg create mode 100644 kogito-quarkus-examples/process-instance-migration-quarkus/src/main/resources/META-INF/processSVG/simple-svg.svg create mode 100644 kogito-quarkus-examples/process-instance-migration-quarkus/src/main/resources/META-INF/resources/index.html create mode 100644 kogito-quarkus-examples/process-instance-migration-quarkus/src/main/resources/addedtask.bpmn create mode 100644 kogito-quarkus-examples/process-instance-migration-quarkus/src/main/resources/application.properties create mode 100644 kogito-quarkus-examples/process-instance-migration-quarkus/src/main/resources/modified.bpmn create mode 100644 kogito-quarkus-examples/process-instance-migration-quarkus/src/main/resources/simple.bpmn diff --git a/kogito-quarkus-examples/process-instance-migration-quarkus/README.md b/kogito-quarkus-examples/process-instance-migration-quarkus/README.md new file mode 100644 index 0000000000..098d29480e --- /dev/null +++ b/kogito-quarkus-examples/process-instance-migration-quarkus/README.md @@ -0,0 +1,278 @@ +# Process Instance Migration (PIM) example + +## Description + +This example showcases the Process Instance Migration (PIM) functionality. This feature can be used to migrate +active process instances from one process definition (v1) to another (v2). + +This example is using the *Compact Architecture* that is based on simplified communication among the different +*Kogito* services without the need of events (Kafka/HTTP) between them. Note that this design choice is unrelated +to the Process Instance Migration functionality. + +## The test processes + +### The original BPMN Process + +
+
+ Simple Process Diagram +
Simple Process Diagram
+
+
+ +The process follows a very basic design with two script tasks and a catching signal event in between to act as a wait state. + +
+
+ Modified Process Diagram +
Modified Process Diagram
+
+
+ +The modified version of this simple process has own additional script task **after** the wait state. + + +## Running the example +### Prerequisites + +* Java 17+ installed +* Environment variable JAVA_HOME set accordingly +* Maven 3.9.3+ installed +* Docker and Docker Compose to run the required example infrastructure. + +And when using native image compilation, you will also need: +- GraalVM 20.3+ installed +- Environment variable GRAALVM_HOME set accordingly +- GraalVM native image needs as well native-image extension: https://www.graalvm.org/reference-manual/native-image/ +- Note that GraalVM native image compilation typically requires other packages (glibc-devel, zlib-devel and gcc) to be installed too, please refer to GraalVM installation documentation for more details. + +### Infrastructure Services + +This quickstart provides a docker compose template that starts all the required services. This setup ensures that all services are connected with a default configuration. + +- PostgreSQL: 5432 +- Data Index: 8180 +- PgAdmin: 8055 +- Kogito Process Instance Migration Service: 8080 + +To help bootstraping the Infrastructure Services, the example provides the `startServices.sh` script inside the *docker-compose* +folder. + +> **_NOTE_**: the docker compose template requires using _extra_hosts_ to allow the services use the host network, this may +> carry some issues if you are using a **podman** version older than **4.7**. + +### Building & Running the example + +To build the example, on a Terminal, run the following command: +```shell +mvn clean package -Pcontainer +``` +This will build the example quarkus application and create a Docker image that will be started in the `docker-compose` template. + +To execute the full example (including consoles), open a Terminal and run the following command inside the `docker-compose` folder: + +```shell +sh startServices.sh +``` + +Additionally, if you want to start only the example and the minimal Infrastructure Services (PostgreSQL, Data-Index and Jobs Service), +you can run the same `startServices.sh` script but passing the `example` argument + +```shell +sh startServices.sh example +``` + +> **_NOTE:_** starting the Infrastructure Services, please consider running a ```mvn clean package -Pcontainer``` +> command on the project root before running the ```startServices.sh``` script for the first time or any time you modify the project. + +### Running the example in Development mode + +To run the example in Development mode, just run the following command in a Terminal: + +```shell +mvn clean package quarkus:dev -Pdevelopment +``` + +The Development Mode will embed all the needed Infrastructure Services (PostgreSQL, Data-Index & Jobs Service) and won't +require any extra step. + +The `development` profile includes the **Runtime Tools Quarkus Extension** that exposes a new section in the **Quarkus Dev-UI** +unifying the **Management Console** & **Task Console** functionalities. **Quarkus Dev-UI** is available at http://localhost:8080/q/dev + +> **_NOTE:_** For more information about how to work with Kogito Runtime Tools Quarkus Extension, please refer to the [Kogito Documentation](https://docs.kogito.kie.org/latest/html_single/#con-runtime-tools-dev-ui_kogito-developing-process-services) page. + +### Executing an instance of the Simple Process + +Once the service is up and running you can start an instance of the **Simple** process by a sending request to `http://localhost:8080/simple`. + + +In a Terminal you can execute this curl command to start a **Simple** process: +```bash +curl -H "Content-Type: application/json" -H "Accept: application/json" -X POST http://localhost:8080/simple -d '{}' +``` + +If everything went well you may get a response like: +```json +{ + "id": "b97efe7d-dc9b-4da8-8b3e-6100f8d8b045" +} +``` + +In the console of the example container you should see the following log message: +``` +Started process e4bf4948-1f56-4ee3-9f2c-5010aaf50701 [simple, v1.0] +``` + +To finish this process instance, execute the following command, using the process instance id previously returned, to send a signal: +```bash +curl -H "Content-Type: application/json" -H "Accept: application/json" -X POST http://localhost:8080/simple/e4bf4948-1f56-4ee3-9f2c-5010aaf50701/continue -d '{}' +``` + +In the console of the example container you should see the following log message: +``` +Ending process e4bf4948-1f56-4ee3-9f2c-5010aaf50701 [simple, v1.0] +``` + +### Using PIM to migrate a process instance from the Simple Process to the Modified Process + +In a Terminal, start another instance of the **Simple** process: +```bash +curl -H "Content-Type: application/json" -H "Accept: application/json" -X POST http://localhost:8080/simple -d '{}' +``` + +Note the new process instance id that is returned by the engine: +```json +{ + "id": "2a507f63-9db1-4d15-b64c-9e14f922d470" +} +``` + +Using the Management API, the following two endpoints can be used to migrate active process instances: +* `/management/processes/{processId}/migrate`: Use this endpoint to migrate **all** active process instances of a given `processId` to a new target process definition +* `/management/processes/{processId}/instances/{processInstanceId}/migrate`: Use this endpoint to migrate a specific process instance of a given `processId` to a new target process definition + +In a Terminal, invoke the Management API to migrate the newly created process instance: +```bash +curl -H "Content-Type: application/json" -H "Accept: application/json" -X POST http://localhost:8080/management/processes/simple/migrate -d '{ + "targetProcessId": "modified", + "targetProcessVersion": "1.0" +}' +``` + +The response will contain information about the migration: +```json +{ + "message":"All intances migrated", + "numberOfProcessInstanceMigrated":1 +} +``` + +Note that the invocation of the `migrate` endpoint is the first step of the PIM functionality. It flags the selected process instance(s) as migrated to the defined target process definition. The second step of the migration will happen the next time the process instance is unmarshalled. This would be the case when the process instance is triggered to continue its execution. If you want to test whether this unmarshalling step is successful after the migration, the following PUT call can be used without triggering the execution of the process instance: +```bash +curl -H "Content-Type: application/json" -H "Accept: application/json" -X PUT http://localhost:8080/modified/2a507f63-9db1-4d15-b64c-9e14f922d470 -d '{}' +``` + +If successful, this call will just return the processInstanceId of the process instance. + + +To finish this process instance, execute the following command, using the process instance id previously returned, to send a signal against the endpoint of the **Modified** process: +```bash +curl -H "Content-Type: application/json" -H "Accept: application/json" -X POST http://localhost:8080/modified/2a507f63-9db1-4d15-b64c-9e14f922d470/continue -d '{}' +``` + +In the console of the example container you should see the following log messages: +``` +Executing added node +Ending process 2a507f63-9db1-4d15-b64c-9e14f922d470 [modified, v1.0] +``` + +### Using PIM to migrate a process instance from the Simple Process to the Addedtask Process with a migration plan + +In the first migration example, the **Modified** process contained an added node after the current wait state. The wait state itself was unchanged in both process definitions, using the same internal node id. Therefore, no additional information had to be provided for the migration to be successful. + +Consider another modification of the original **Simple** process, this time adding a Human Task node **before** the Catching Signal Event: + +
+
+ Addedtask Process Diagram +
Addedtask Process Diagram
+
+
+ +With this change, the BPMN representation has changed in a way that the Catching Signal Event now has a different nodeId: + +**[src/main/resources/simple.bpmn](src/main/resources/simple.bpmn)** +```xml + +``` + +**[src/main/resources/addedtask.bpmn](src/main/resources/addedtask.bpmn)** +```xml + +``` + +In order to migrate process instances between process definitions with such changes, we need to provide a Migration Plan File (extension *.mpf). This file defines the migration plan with all required node mappings: + +**[src/main/resources/META-INF/migration-plan/addedtask_migration.mpf](src/main/resources/META-INF/migration-plan/addedtask_migration.mpf)** +```json +{ + "name" : "simple to addedtask migration", + "processMigrationPlan" : { + "sourceProcessDefinition" : { + "processId" : "simple", + "processVersion" : "1.0" + }, + "targetProcessDefinition" : { + "processId" : "addedtask", + "processVersion" : "1.0" + }, + "nodeInstanceMigrationPlan" : [ + { + "sourceNodeId" : "_8430CA7E-8CC6-4C2C-9664-6B5BBD5E36CB", + "targetNodeId" : "_1D65864A-96AF-44FC-92CE-2073B9FBA7D0" + } + ] + } +} +``` + +Now that we have this migration plan deployed with our new process, we can test the Process Instance Migration with the same steps as before. + +In a Terminal, start another instance of the **Simple** process: +```bash +curl -H "Content-Type: application/json" -H "Accept: application/json" -X POST http://localhost:8080/simple -d '{}' +``` + +Note the new process instance id that is returned by the engine: +```json +{ + "id": "29ec3980-9f0f-4b92-8a2d-394ffdb477e3" +} +``` + +In a Terminal, invoke the Management API to migrate the newly created process instance: +```bash +curl -H "Content-Type: application/json" -H "Accept: application/json" -X POST http://localhost:8080/management/processes/simple/migrate -d '{ + "targetProcessId": "addedtask", + "targetProcessVersion": "1.0" +}' +``` + +The response will contain information about the migration: +```json +{ + "message":"All intances migrated", + "numberOfProcessInstanceMigrated":1 +} +``` + +To finish this process instance, execute the following command, using the process instance id previously returned, to send a signal against the endpoint of the **Addedtask** process: +```bash +curl -H "Content-Type: application/json" -H "Accept: application/json" -X POST http://localhost:8080/addedtask/29ec3980-9f0f-4b92-8a2d-394ffdb477e3/continue -d '{}' +``` + +In the console of the example container you should see the following log messages: +``` +Ending process 29ec3980-9f0f-4b92-8a2d-394ffdb477e3 [addedtask, v1.0] +``` + diff --git a/kogito-quarkus-examples/process-instance-migration-quarkus/docker-compose/.gitignore b/kogito-quarkus-examples/process-instance-migration-quarkus/docker-compose/.gitignore new file mode 100644 index 0000000000..b6632dbda5 --- /dev/null +++ b/kogito-quarkus-examples/process-instance-migration-quarkus/docker-compose/.gitignore @@ -0,0 +1,3 @@ +.env +svg/ +persistence/ \ No newline at end of file diff --git a/kogito-quarkus-examples/process-instance-migration-quarkus/docker-compose/README.md b/kogito-quarkus-examples/process-instance-migration-quarkus/docker-compose/README.md new file mode 100644 index 0000000000..d12f83a931 --- /dev/null +++ b/kogito-quarkus-examples/process-instance-migration-quarkus/docker-compose/README.md @@ -0,0 +1,49 @@ +# Kogito and Infrastructure services + +To allow a quick setup of all services required to run this demo, we provide a docker compose template that starts the following services: +- Postgresql +- PgAdmin +- Kogito Data Index +- Kogito Process Instance Migration Service (Only available if the example has been compiled using the `container` mvn profile eg: ```mvn cleanp package -Dcontainer```) + +The docker compose template provides three profiles to enable starting only the set of services you want to use. The profiles are: +- **infra**: Starts only the minimal infrastructure to run the example (Postgresql, pgadmin, Kogito Data Index) +- **example**: Starts the services in *infra* profile and the Kogito Example Service. Requires the example to be compiled using the `container` mvn profile eg: ```mvn cleanp package -Dcontainer```. + +> NOTE: In order to use it, please ensure you have Docker Compose installed on your machine, otherwise follow the instructions available +in [here](https://docs.docker.com/compose/install/). + +## Starting the services + +Use the `startServices.sh` passing the docker profile you want to use as an argument. If no profile is provided the script will default to **full**. + +Eg: +```shell +sh startServices.sh example +``` + +Once the services are started (depending on the profile), the following ports will be assigned on your local machine: +- Postgresql: 5432 +- PgAdmin: 8055 +- Kogito Data Index: 8180 +- Kogito Process Instance Migration Service: 8080 + +## Stopping and removing volume data + +To stop all services, simply run: + +```shell +docker compose stop +``` +or + +```shell +docker compose down +``` +to stop the services and remove the containers. + +For more details please check the Docker Compose documentation. + +```shell +docker-compose --help +``` diff --git a/kogito-quarkus-examples/process-instance-migration-quarkus/docker-compose/docker-compose.yml b/kogito-quarkus-examples/process-instance-migration-quarkus/docker-compose/docker-compose.yml new file mode 100644 index 0000000000..774273c5ae --- /dev/null +++ b/kogito-quarkus-examples/process-instance-migration-quarkus/docker-compose/docker-compose.yml @@ -0,0 +1,83 @@ +version: '3' + +services: + postgres: + container_name: postgres + image: postgres:16.1-alpine3.19 + profiles: [ "infra", "example", "full" ] + ports: + - "5432:5432" + volumes: + - ./sql:/docker-entrypoint-initdb.d:Z + healthcheck: + test: [ "CMD", "pg_isready", "-q", "-d", "kogito", "-U", "kogito-user" ] + timeout: 45s + interval: 10s + retries: 50 + environment: + POSTGRES_USER: postgres + POSTGRES_PASSWORD: postgres + + pgadmin: + container_name: pgadmin + image: dpage/pgadmin4:8.2 + profiles: [ "infra", "example", "full" ] + ports: + - 8055:80 + depends_on: + - postgres + volumes: + - ./pgadmin/servers.json:/pgadmin4/servers.json + - ./pgadmin/pgpass:/pgadmin4/pgpass + entrypoint: > + /bin/sh -c " + cp -f /pgadmin4/pgpass /var/lib/pgadmin/; + chmod 600 /var/lib/pgadmin/pgpass; + /entrypoint.sh + " + environment: + PGADMIN_DEFAULT_EMAIL: user@kogito.org + PGADMIN_DEFAULT_PASSWORD: pass + PGADMIN_CONFIG_SERVER_MODE: 'False' + PGADMIN_CONFIG_MASTER_PASSWORD_REQUIRED: 'False' + GUNICORN_ACCESS_LOGFILE: '/dev/null' + + data-index: + container_name: data-index + image: quay.io/kiegroup/kogito-data-index-postgresql-nightly:${KOGITO_VERSION} + profiles: [ "infra", "example", "full" ] + ports: + - "8180:8080" + depends_on: + postgres: + condition: service_healthy + environment: + QUARKUS_DATASOURCE_JDBC_URL: "jdbc:postgresql://postgres:5432/kogito" + QUARKUS_DATASOURCE_USERNAME: kogito-user + QUARKUS_DATASOURCE_PASSWORD: kogito-pass + QUARKUS_HTTP_CORS_ORIGINS: "/.*/" + KOGITO_DATA_INDEX_QUARKUS_PROFILE: "http-events-support" + extra_hosts: + - "${DOCKER_GATEWAY_HOST}:host-gateway" + + kogito-process-instance-migration-service: + container_name: kogito-process-instance-migration-service + image: dev.local/${USER}/kogito-process-instance-migration-service:1.0-SNAPSHOT + profiles: ["example", "full"] + ports: + - "8080:8080" + depends_on: + data-index: + condition: service_started + environment: + QUARKUS_HTTP_CORS_ORIGINS: "/.*/" + QUARKUS_DATASOURCE_JDBC_URL: "jdbc:postgresql://postgres:5432/kogito" + QUARKUS_DATASOURCE_REACTIVE_URL: "postgresql://postgres:5432/kogito" + QUARKUS_DATASOURCE_USERNAME: kogito-user + QUARKUS_DATASOURCE_PASSWORD: kogito-pass + QUARKUS_DATASOURCE_DB_KIND: postgresql + KOGITO_JOBS_SERVICE_URL: http://${DOCKER_GATEWAY_HOST}:8080 + KOGITO_SERVICE_URL: http://${DOCKER_GATEWAY_HOST}:8080 + KOGITO_DATAINDEX_HTTP_URL: http://${DOCKER_GATEWAY_HOST}:8180 + extra_hosts: + - "${DOCKER_GATEWAY_HOST}:host-gateway" diff --git a/kogito-quarkus-examples/process-instance-migration-quarkus/docker-compose/pgadmin/pgpass b/kogito-quarkus-examples/process-instance-migration-quarkus/docker-compose/pgadmin/pgpass new file mode 100644 index 0000000000..11a6f7c601 --- /dev/null +++ b/kogito-quarkus-examples/process-instance-migration-quarkus/docker-compose/pgadmin/pgpass @@ -0,0 +1,3 @@ +postgres:5432:kogito:kogito-user:kogito-pass +postgres:5432:keycloak:kogito-user:kogito-pass +postgres:5432:postgres:kogito-user:kogito-pass \ No newline at end of file diff --git a/kogito-quarkus-examples/process-instance-migration-quarkus/docker-compose/pgadmin/servers.json b/kogito-quarkus-examples/process-instance-migration-quarkus/docker-compose/pgadmin/servers.json new file mode 100644 index 0000000000..a112980d55 --- /dev/null +++ b/kogito-quarkus-examples/process-instance-migration-quarkus/docker-compose/pgadmin/servers.json @@ -0,0 +1,14 @@ +{ + "Servers": { + "1": { + "Name": "kogito", + "Group": "Servers", + "Host": "postgres", + "Port": 5432, + "MaintenanceDB": "kogito", + "Username": "kogito-user", + "SSLMode": "disable", + "PassFile": "/var/lib/pgadmin/pgpass" + } + } +} \ No newline at end of file diff --git a/kogito-quarkus-examples/process-instance-migration-quarkus/docker-compose/sql/init.sql b/kogito-quarkus-examples/process-instance-migration-quarkus/docker-compose/sql/init.sql new file mode 100644 index 0000000000..92ea9b4e5c --- /dev/null +++ b/kogito-quarkus-examples/process-instance-migration-quarkus/docker-compose/sql/init.sql @@ -0,0 +1,33 @@ +CREATE ROLE "kogito-user" WITH + LOGIN + SUPERUSER + INHERIT + CREATEDB + CREATEROLE + NOREPLICATION + PASSWORD 'kogito-pass'; + +CREATE DATABASE kogito + WITH + OWNER = "kogito-user" + ENCODING = 'UTF8' + LC_COLLATE = 'en_US.utf8' + LC_CTYPE = 'en_US.utf8' + TABLESPACE = pg_default + CONNECTION LIMIT = -1; + +CREATE DATABASE keycloak + WITH + OWNER = "kogito-user" + ENCODING = 'UTF8' + LC_COLLATE = 'en_US.utf8' + LC_CTYPE = 'en_US.utf8' + TABLESPACE = pg_default + CONNECTION LIMIT = -1; + +GRANT ALL PRIVILEGES ON DATABASE postgres TO "kogito-user"; +GRANT ALL PRIVILEGES ON DATABASE kogito TO "kogito-user"; +GRANT ALL PRIVILEGES ON DATABASE kogito TO postgres; + +GRANT ALL PRIVILEGES ON DATABASE keycloak TO "kogito-user"; +GRANT ALL PRIVILEGES ON DATABASE keycloak TO postgres; \ No newline at end of file diff --git a/kogito-quarkus-examples/process-instance-migration-quarkus/docker-compose/startServices.sh b/kogito-quarkus-examples/process-instance-migration-quarkus/docker-compose/startServices.sh new file mode 100755 index 0000000000..8b0c6f4348 --- /dev/null +++ b/kogito-quarkus-examples/process-instance-migration-quarkus/docker-compose/startServices.sh @@ -0,0 +1,40 @@ +#!/bin/sh + +PROFILE="example" + +echo "Script requires your Kogito Example to be compiled" + +PROJECT_VERSION=$(cd ../ && mvn help:evaluate -Dexpression=project.version -q -DforceStdout) + +echo "Project version: ${PROJECT_VERSION}" + +if [[ $PROJECT_VERSION == *SNAPSHOT ]]; +then + KOGITO_VERSION="latest" +else + KOGITO_VERSION=${PROJECT_VERSION%.*} +fi + +if [ -n "$1" ]; then + if [[ ("$1" == "infra") || ("$1" == "example")]]; + then + PROFILE="$1" + else + echo "Unknown docker profile '$1'. The supported profiles are:" + echo "* 'infra': Use this profile to start only the minimum infrastructure to run the example (postgresql, data-index & jobs-service)." + echo "* 'example': Use this profile to start the example infrastructure and the kogito-example service. Requires the example to be compiled using the 'container' profile (-Pcontainer)" + exit 1; + fi +fi + +echo "Kogito Image version: ${KOGITO_VERSION}" +echo "KOGITO_VERSION=${KOGITO_VERSION}" > ".env" +echo "COMPOSE_PROFILES='${PROFILE}'" >> ".env" + +if [ "$(uname)" == "Darwin" ]; then + echo "DOCKER_GATEWAY_HOST=kubernetes.docker.internal" >> ".env" +elif [ "$(expr substr $(uname -s) 1 5)" == "Linux" ]; then + echo "DOCKER_GATEWAY_HOST=172.17.0.1" >> ".env" +fi + +docker compose up \ No newline at end of file diff --git a/kogito-quarkus-examples/process-instance-migration-quarkus/docs/images/addedtask.png b/kogito-quarkus-examples/process-instance-migration-quarkus/docs/images/addedtask.png new file mode 100644 index 0000000000000000000000000000000000000000..5745ce1575601f6009046b98a8cde20cf23cc73a GIT binary patch literal 46793 zcmeFZbySpZ*FQR-fFh-IqkxozO1B^)-CZKmCEXLxb=G>vamMSO`@UlDeeJzJd+*C{it>`!m}Hm`2n1W|{aa-S}?;s|n`T)EHjjgpYtAmlfv9XPV znXTjAJ-9HqiRtbpaeHG!M{`>n8dY;^V~DDm6V1z)G;coJ)4bw%#Yw}#$K&0NjQFTq(o^kV3U70yM*yDR0li1lDh4-N28EVC&XN=lPzx8x2bf$z| z_NuEVwVQTKwq{1y&Qx?7CbY|&tYJHddUZ679GZ@1{OTY0?`f{mWM3ujT-^ao;@mQ^z1|u>+<}so05gCfP&^37{A_n7nl7Q6zG0@+Zs`vb0|P_K z%wziHwxo_wuJ6Q_&)7%b>KA`&)Wmlye}4E;?tlNoCL6m+Eykg%AmuF%x_|1;yX~m| zlWzVsaA8B^c&m`2g#|Q4KA(;zHF=6Y~FdHvi51>$_#f15i6VJMDQXqI14{ zL0ws0eaEYMjQ;LXg*?(zl}C6I|9hJKH?#Z~`2jHv ziSGpU-!I>DNj{8!H^BG9uVN_w(R}hC0QEnbba0aWP2p3itE(%=!SM3E!4wtDf}=v{nE&iS79TIUK!hYRA-=UI<3^DiS97<` zjrz95;wZlQcKoTAoeJJrK~(OHqnR`z>t&GN0+%ch(PxI&I5e{_y)p3Erf4Gt58oI2 zLwwWRx69j)OKiPl{6uL+Ga;g7Xs9Tx`i+`QOiW2!mg>c=ZwLkqP}XrlH;`{%4g`E} ze8Ik! z)F>EkkPC2+L*a#8^1`#7T_kO}EpI#IStb-Jy){~b$dgN^qbxgSV`4JYs`U=M2?2jF z4;g3tRK~N9)NdDg81H z%dyfC)|%-jTTys#jx`{ckNz(H!!=F@9DLB|niSsy>z;)B__V`Kd;WRc`W`YropLF# zJv?WZT$Bkka`L5Bn0vs z7cle};3Whi8m72_4GG2o!-K~4-`W0^ncoixXCc0>qW?d50L=Vfum2NM^E=p(q#OqY z;%hT#0LTbA@V}EarT<4e^D)v10>QJLoSa-fa8*^)D@jTsF;WH`%(*s{~3 zyUOB3n>29ZpfO*O(Q&de{g?HY`PH{-MaJPl6OzC$Eg7r2Ub(xMq_Jo8Hf`@#&VEhC$~ZI@UlBDZ&W}8@uxq*b-Q(Tke4w zAnzZ^0r64?66(tV`e-`bL`5F*M0VS_beL>iZ&en>lzyIapY+b!X)T+u;%3!p7Be

%VwMvDqbFCF*iJ!4Kp-;fxnXOdtaa*;; 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

HYV=+ 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 Yh@{uGf9rYi3gwaNDmu#figzFV8{9rRs{jB1 literal 0 HcmV?d00001 diff --git a/kogito-quarkus-examples/process-instance-migration-quarkus/docs/images/modified.png b/kogito-quarkus-examples/process-instance-migration-quarkus/docs/images/modified.png new file mode 100644 index 0000000000000000000000000000000000000000..e6c32497a2fdb5a05d253222b6a282f3cec2973d GIT binary patch literal 49922 zcmeFZby!s0-#0p-f>KHdNUJo`-3S5#(%sSx(hVXKN-3#y_t0IV(%lS=NXO6(17~sH z&;5IT@AIDXyw`cJ>zu#dxkiUQd+ojU`mS$$zBQke6r`~+NH8D}2)4}YS1J(5eMtxe z#q2&B_y#?$Z3leZbrzRVyANJI_f12=@e>zGEf-Y>a~F3bCo_nJy@Q<@v$KhlnVG$_ zrGv}v9he9h#Be)E!pY3Y#md2+O3lj745DdfO2y7b_41t)6$cv!7Zn?)02{vm8z+^L z{65QjFcTF-=G99zkL2w+PoLQ1`kR~6SgrZikDmzXz#G!laft{_7oN$9)rjF$>~>SfO!@g!1$==7 z^qKCwF&OM@4e7JkxlFZjVy_oDoh3?}!NUn@MFmg&&nuKus`$=72e+T0Xo=7M?O05& zqJ1;ybZ4$;b=ACn&Yp&jj)|F>StH{&+j4tyR~Y|SBIjqUtFH|DJ~e&A_hhF#Fjn|q zpV;j6{3N5=wlmjQ?R)7a6Fs^S+iyNPS#A>d^($`JyS+GJ?-R?J8oTJOu-#pFVx6m_bBm z&(7+ZnVWY!!y*g#e?is%x(~j>tnu&o$aWA!*g@iqtgH#`#>yHR@mSAk-S>as{_pM` znB^}LUa8*wx8qPbE+B6IdcCjvKc{br@qftj7fbvfcKBN| z{{LkM(=b;E&8e;jVlTNHW*z z66E69>Jl62Cd2!dP%jKB9m~&<_pL(vZTMb$KhakX&yC43Ajt$Ftr=<8M|lmqEtj`n zK7d`v=kN^wKJ7E6Tl^xHzhPw`sA;n_Q3evRTkd}nLVZ~UK?j?Vc$KW^ysM!w#j zNil(ZRnpcjP%qN3nrm>4#&H=Vdi=P2j0%#j_*P`VC;6Q3LIA88%y}H^^|>YTcG-2l zXpq-{WM(1w9o07Q4!&m)K7Na2$KVO5E?wGSUL2F=rj6mHPO$_k+ zW2%t-58(Qda4mEQ#JtRTZQw+7@EiN{;I9y|L9%PX?Y#v%2;|$7Lq{<1oX_|Z7;K=V zi1La=9v4DY(9+U^9DLD!FP&BJ%6)PXHUojMae__xbMMfx4eyvhtSSALw11iJKcVf$ zpImP>v>2@2hYa#Q^)IsjeeN|MS>*rIx%(+cw-;@*QKCcA*Yfiq&mwLW{d+!fI$?0) zkzijZ3S^!Cb_=o?0Fa=H9FlnmPPE~Gr-pdl(q{y)1<-8IT}Ez!MS1Igo&Nv(DZsRU zy~Ok~Z=dmBuQr^v(}I(_avV0Sp0Qo^E65NQ>{jhWrmUa+EPuy0D`H-*MSv0H zvUqQ8GkB|H{A_^N;1I%{-W_hnlu)5E35AmH|>M5U%w6?C!v5_T@VANgB+0^6M+BkrNFaLAxEF9 zwKw0`Wy*l7xt1o%x6e zpC%BEZ5~!fO(A$9NChsPl^p9 zvY=4;1?0SMr;w3QenEk@ZVlnPk^A3f7f%(yjr4EzjLx^HEYS=gNrbmdzI5^g^61VM z?{Y6&F(S(1O;X{;=)n3h-<2N>JZNJz)QEVx+FLR9IqHz=+&SKT$op%c>E2r!i9}w1 zyj2$eh|s!OhSKXG?^BAJKEu~}imB8gt;1X8T-@9RO_`ZVy1Htbnt5VWkH)`2j<9ZJ zkZdO4+~X-&m-0^^GUPoV-dsTW{iOP9HL{Y@lTQrG)Q2VgMI?H4hud+?{LG?CLM(s2aN&THr%G@cj9;$)FUh5J*Gb+Vu1^!Tr0D7eepP;ByLIoBuc* zZJs&&$0385fIywUV73vF*Gh&Lx0cCd1L`H~`hBl@g z{pS)7Wt~5t{yl4}EbcJw?r{zb@Csk*d|}?-qy87}0bhPijfN=lhGM*Me9L9gv$AnE zH#1X37qiA{YXVhfWL&d9X51Rl&xX>bgt zM0pyC;6TcWqW)eM+w;FSdUNa6PyA>^+|%9tsaaH}_9ny~4_YuG=CA&K;=ldTc3lHtir@3M>H2Os0IBTzeDRm7 zdf{bYJOTuRuccLynDx7JK#Tj}T&J*+(7LH288cy6bWF_3zK7TKZJgk}2*5J`Xfbm! z;Ng55TBHlt>}!7IKIiCNt4RECb3-K%j1=?#m)Qjh_iY3{gzZTwyeNd?yjznloG5MV z!O}}~MKYN47ISoaCY?W0cg25S^5gT{S^l8^r#kEV2+S|rld$&8QK@h>KC+1mY(vY= zffQi@0~?zn9=rJ$t!4DAteP8ER=A%D-apZP5w8^jrcdht(yR!qI1T^>>kt01*Kayj zoHj%qu4_tC-GgLL5;liB{d0~dogE!g%pNEF%-4HaC-@zs zbczD2B7|WXA3uIf{fGk=c;xwS<_!~APB9Ch97WO;!P^gJ2;M*6DuHhn-)W5m<@7BdH;B7Rth1wPvNEaD>)bY#xXnhGbf)uUOR8loIONx|?rW6pR^F<947~_|P1S(=r z?-9fr1}G(6J%v$s+fSNt;+e+j2itO(s(vS02#e$hi&QHF%qH>7CiR?Xu~q-PFL%m`(lDMTe)6E3-A@|g_4!|9KjIECgh3gY z$FJp+)N1UK5;0B-bF#G-HPXaI(te4gePCwBsHu^SE>_4ZW=VK~6M_{YL6|2|GAra6 zjH7(AK1{-8^kKx=sm_n|4wvLnMNJLQ_}Ex}W`&+1p`C`~vAudVVZnf5E>D&WPl!5C zqq^)^zzwyw3zagD_VUZn_D zo|8~0r1oE{n*>ddrTbbBiTG+?e`7bf@qh+MrN={+vVS3oEt+z?0=CLaId%v{v*f>$Nkcl-nNJI{yF zuU_6mJ`F-O3i@CaByJQWK_2$Ly{wDv1xGRA6P~bQx1}QU&;eVwBHMy!#m9w8LGx4P z3cYSk(4VR70?t?W1YEmb=j7!{uSVPn{S0i?oZA+&tc=XakANxtdH>C%n-lEn>gtVO zn1gE{ao6)+7|KtgkUg@5D%&l>)T$5d&TV)*xIk1Zy(SU6uwW`Z5#b*vY*&F6ewH{A zY`~HfQ_uI-?Upb=hyI?tB}|~#XUoEZ0_DXCsLtudR-wU3y$-K~My630WA}5J=Cjj5 z^YSiy3|ZZpe7jyksMjI$N)%;jc%_BaCO6!2eX?8+7V#+YS?1fDYot!CYdz2Qxt`fI ztCTMaENGQyxEf}6N$;s@P(lpFE(bO%!ejVGo z6H9%51wE+t93Po@<{(!|l0>SeZI3V7t$Myt8i=42(8kP zH!pAR(th$0JEV;;<>&{>d=EAwlZRygB@xrM!}^2>PlB%7AY^JTF!uL=s`v;4hpkKn zO`TaeZI7{QPZ@b#r#}5}b-u~McSA*Dx|QMqQq|l$s=ChQSN)eO4uvY|Ip^O>*GlK| zN4QDVYxWuH(fgH8zB$mdAFiLOqdoEl#3y?Qh<^r%9~lCOKMC`P9f+QZ%`EsyWA`TX z4o}ics2G3L_z?Q>RqK};d-eVasMlJ1Lafh(Hpy`{6W7L{uzJ543BZU-j*jIb`Zp~Y zJrnuQsw5N?Kj6%A)R{Rc|D+d2_;* zBDkWmva)jgI}atDwSq(gzzMAolyvm2g2E%aumM^ znp9xvp2E1e@l>dDUJGm+L~C2PP0|ursyH7@Rgc-K*tiDh*qpd~7MH^A|__tnQ*B{}fc(!8e!GvW1!Njz+zt3x*RMfS2PXy+*CI2gK;Pe`4@Y~ zmEh^03!Uud>y^D3YYKWa>G`K)e+wOH{@9RF3Ow1YtVo&Oo4|{p;FH%(_HC}Htb9&L zIb`@z{ArMQ21^=dNNY+eCR!lI-As2w=cEY3Q!)RSbix-!i7BOpJ~K=Q@Ks7z(pKvj zL5py_N^^S09|Th=+R72#WuCEId$u&#Lb}n*4$v>P*3C_ii^lYH(v`}b5f03TnZFKb zD)Qt%xt}<-B3`?+K`r){9)7 z$C-_I*b*6WOx1Sn7zmH^$0<%5G!5$mg7tphAHGQ*iTV0A#}{j7uNbxz>14egAZR43 zaG%VrAIL*_(CVVISs-At{bFSWCw^wMQNNHdOp?KhK~_d?*eWkV%~`ebv)tz@x2-kC zl9`;s8eykAf$3Uz>gn-ZMresnK6$CbkoNPn%_ge^dK#J>%_X#p3V@G%Pg8Hc9$V7c zNOMUvANAOHt&GE;Qvj|VIbJwxU}-#x4y7c0&p#{^b)8$_lOxM}^^!S`DXJmD`?r^ZO;yUN52Sd;%K2s0}FqBA_cRl6t&CpJ~t5Y8TvQY7pXJqk-);e)Xd{S!> zf^zs$^2$=?QdrM-x)6>wWBJ1*+}2fvOhwgJmtN3?dOezXRL_wVgtK;DX9;1PmC;XB zyQxO0guyFbc`|Q-_WSE-AdrR-bn7v%rF7Q~YabfW_s+z-mFhEkawOyre#+50D=KuH zvEML#n)SwQ%r5$XmdSN;+$kqwtG%nCbEi*bbEqg*;E1t$%wBmem3K_5seIH85V86) zFiw{8*v?F`NuMXrbASoLdF%IUe2aRX3ZiXo7{>&3&&hCX4mZay&Uj(UK9 z_TA-2&9t&3&ULQmysMU$qFk?qPc5&GHh}Em0J13A*+J(ojwGSXIxlFvSKI^ygch{s z3dz!LHHVDEB5MN2~@Pxw1s+yZ)2dCJ0hJuIlv`epOo&+~JG(+KApo%O9CoOMzmY>e|>V2t3z=SN2 z0RjL#VAU$u@r*$}+y~w^kFD+Esh=p+Zhx}kAls;DMC;n=iyh|{bF+xI9e6WEM(2mO z*`3IsIPr!%_JzjWPLMT}8L{Uxq?_&A+ftfah`J(wxe((QCFcL*Up~aehhM+MnSJ(N zs^1*C)?+X2_0~ELmc1^i;COuXM_GMmGNTl^Ob6Hk#G)F0?w;D5Hw;$M-$;%No^-Fg z;X6uZrSfl%-)793yD1+)leN-c^}WMXeCTxl(te zq08qhGw|0t;?(EZSa6vbb2i=WIIt4)H>uW%OGz2^8zIKJ>vHpOC$1A88C(GL3-SQ2 zD8m8Vb2S6yVT5n%V%e3Sz%B}8b;*W)Yd(IZujC*IKD@agkNd)1oA4y0rO>K8Km z=({%F(D0`1$fYri;K&0F*>2Da9v+pMaOJBEDkl`y=~3XO;4@X3j$fl`wcDvW{u&(G{#Al z38PtKVp&R8KvaFE*43Sp{U&b1{2W@t`Onza1=B*eSI?yB7GT7C>Sc zO(xpr2ZL;%fPTpl@FvqHp(feb%~C+S=erHs6i!{2;+!hmL$CA%MeCFUErjxyf6~D? z(Ec)kkRfMa|K4kJ1BwiD4i>)siOSE!WELR~f2pM+M^A0Y_X5^WE2oo)$1xHY`#lF` z>P}p8Ox9R384WgB{_^(r9mlx1g7PLk*PI+{dS-Qf?RpYMrZElutao-;oG11W=K$uAZ zTjzZs-B#yOuoy!Sywpk zTiR_89bpTDKpPCLeS@YRAPFI20`HI~{nC``!yhb`KkaQk3V5g0pHbGd_{CNt#QH3J zgT#0KoP^z^LCC%~8K<-SA)EP|gjT3XT4G{Swez^Oo$kRWw^ALbm{A5EbMS1iB#+#( z4s~)|+%%Ve%O+Eg>&neFE8GDluG*#y?7^nPE>fX!TEo>c)Y8gURd$`g7kRbC<#{zm zEH&w^_lZT{eG0Z!)o*gVbD*j2upPs+@q_u*Yypm)wa$y(8SIAripIE@82lwm6lXRp ziTXe^1_F$3Hk=oSnq|I?J|bykolJ?svHWk}&)V1O=;+eO#Hp)KH@c@uMUYHc%@l50 zKk3LYPD)C`KR$!JN}&0GZ%H*FJ8`2ku1n}b;+|{9U^CL}L>tAo!>(gpTWCMHW&L7) z5(;<0=9AQrt|*RF(x>iBPGbT=8o1}iEgMyO}k|eR~!u5{i zbI2#2&KSO-5LK6O3f?+?c#{Dgmz#0OTRfVq&U3B4-bLmeL&J8J?CtHtpWo{<`t|X_ zLEYRzP1Wn@iISOggyGIm+k>U7i`yVR2_Ktkkark0IbVQ2%*Z5xE&`OzB(yu_cbQvQ zR5npTeh_?~5Gk1cU?CVmXC9$6-zOc_=&$Si$@;V@H(0or04F4>9x7;2C3I&nR`Akx z3QwisvEc_nO(#m!cUoP-Li@ z-@I&R+D)i6wg_1(tbL&bKpb24JIH?v*Mvn!<29fEmMHW-H>(d%s{YsH$L`))LpBx-TN;l_QdqPBHgG8sagpcGD8Xgp=U=?{? z5b6g@y0XHG;WYZkqiIK%TeV;HRjF}eV`JCb9}-zAdQ{^jhj>YC_B17OU&;E~%rhe^ zp8iR%3g^20`}Vu>IM10*{A3=)gVKpGN){y$z{7fex6h=DA<%VTTN@E2ahq=2%kU8~ zR5OGxzO&q3A4WuBw-(AL)w<~L46PknbzAgK3zCCiq!bqA1k{@o74k@4+9ve1z)JWM z&#Svg`NH}A51-?aV#kdMZc~qps%PS2d1db8T_pq?URbOsTz*$ksBfCV#+@^gd#&8V zkig_VJ;-%6B5LzH_C`fzo?5%{%!!8#r^xSA~b-qk09cK3E6-q@d*e>6FfHyeRST6i}8+k}S8XO6^AH zZVzmx6c_uKqOxhIdRqLFe z8@f#H%$?3_UK1rvQ|9GnZ~oyYl4NFqKpL`)FPZdtUYRP?z2uMC6v(O zTWG!_>O@UhzH+-DxJ241WInKb8OOgEtguvlZ?F(dg&Rh`-rL7RxzKg1>(Rget?Q3O zb8>Pn*1ub*9gfIVoR&S!d`h5#9Lh*M$)em$h27|{>3c(k?A<>;L-0q%VN$_3*1jSUFqQHE;2S&3ZF8m4OA7DI?p zn&x`-oa#b`U}_o~*87w<`M$6V*C>rpOU#h*=#^? z=8+&M+-q3d5v)4PikeXzvgJvN_iYiEOYoyOhVvGqYc`i#9>&{U7>^PLwMH9h2_&atg8|*bjx$h2aK8r`LPv>doizBgGR-yOTk8!z6>EZd7))Uo>obFKoGk#0nC@ z2{Pk^ES@qmMY69=+;jMbtEq8E&KXR-y%1g;jqV!eEvTsxe=RPdP2uAjnS+1Ex*#HoJ(zsQN zY+*3I_5FZ{Qm;ymFmW|A(0898PZY9}#d^M_ORJcexi!!r;c7O2!tP!uQS^C!{J=G> zosEO)1Zc%0D~t7;)SE1pM$^b&i>Y%r3@X1C%Yw1VGk0gb!dl$gS6qhgK#YIEmGU#y zMG;&gmaD!MjZrOF4$dn&i1Rapdx@li;WK0kW@(NIX!5>VB~>klLHSH}A8rq(EM{qv zTBjE4#hkNFe0)k1ncx(z{*8i~f#z;4<5Iwz>47T|Z@dc-3Hp}Q z(p8;ZWvzT2MiT8?7>q+sG6M-921T+UBRs6{KARiHB4juNyHaU%Lnu4S$dq;(S5C*K z2rEe_JSk>c)6a;FC77~BHh|hxW6RwGX#!h@Ew*_6#iRq%e!fkSy#uJ6H_7WyPiX#;xJ#76HCH*AhqaoqKfa-S-qYNdV|vz z`Q=g6L!xy-LztnJl@)s=UMLh$r2m_Uyv3W8Oi*wVLkvnRmR$tQYG=1~uTGJ|f zwT4?0x?@kl8iU;=xAa_|(`A}^BeGdxX=huxC*}Guw38UKq{@-RX$Li~`1)&NZ;iW0 ziO&+IwGD&jYQAp6EHAju`fx`RSwe#_fySj3SsrJR2qCX6gRzeufDFN3C1emP9gtW) zK9P9HQ0JCXOy>v>zj*sP<7wV{KrIm?KLf)7N@82rs3QDM8q2Ul3yZMurlZt69#D2-JZdyyegW);3_6s`qT}rA{EhzeqFEM5$pB60! zWaxApp`D*-=fA_YIzW*Vu(TtvDI&j;=05f4tH2*0vxsKSKkOYkJ4b0n##_7UwTCe{ zOVu+AF-)!iQCqmyFZ^(HXBg6(&dA7gyEKfA<<|hgH%V^u^wPKg3ch^>AiR2gBTxN! zT69I^lYf%|5fXANP9gx;q<<*tDfgv|C1p@PgPx3hX;mFPX;dN59Q zu~#3BUsYpS-ZI(nH25pZdO=|!WApiHlGkBBuR2~}4lW9rA)k-aY4ja0)%0o|nys`= zw)iixCB+XGgf~T6I`pSuoA8tl^!_GR7Sd-pJtW?FX#Gv4qi5IZu=r9(`0#1co<0qA zjyo|Eh);qrEp8O<-&y!|!Lw9MHr7q6n<~#^YrC7R1%<+=nIgn09cBreFv6=0L#|h3 zvFlD7;P01D67&l%-mZTDOZ}lf%CaXlQQR7}*3+Sw zfBV0LhO|*>g;vj5luTT=GJcwt&TH>K9EZa@S=b=L6`qIY`o72G4Huh5)h-(&px8AX zbANs~>`dvTofE?=Y?@LRtEhr@mZj0=ZNki@Zc&wk%$lxfc=BnYkTz!~;o4VFhi7fQ zrLL}D6t7`e+FU|s6D&304IMpep*ihc&>3G5af6GQ$=B%fiU98)jj1fd{Ds(jSZnyf;%+4)c)1d>AhGZtkK772Bb?}e+I#45thlf ztCl;bah%132z%{3Fu0wM1Jsldr5v#}<{rd>KoT6sWFu>p(eXztOYOrTR7QP4*ysY{ z>6$2EHF0A_X`Ncwf}g^9nox#3rD&$vF6&Tkgq-&=r~9%uXdVHh4KtMBr;Z9_Y?9zM zZp1~%0|#qH!zb0C)M9=2KMd&TwZ(Z+Y2iVCt!eUG(Kj~qFC2EL=B}>}k=8+>&uJR; z8j$B}EB)lz6GNYT{jkE+jwi&K{g21#B`t7}g$$X+#cz6HKAJmK68hrTUP-Gd?tyxr zkf(uo%q6c9ZjY{xYk2Cy!x_HnwE#EczN?v`V}V=gO%d8T5d*wNzCO|zn?1gu=6BR|oxMzH`{HW>^(j?{ zEw%|A)!c(C>8J+9=`tI$(`*-FK@L#4OXc*hHRgcFJZEi6&&F@ElVW?JE=b<6Qok0P z97~Y1ei6BxO+9xo>s;t2Kp^z9C6l^U=^B%@?f7`cZ=7I%pdvxthD;~77G#+|NtoZp z#@NFdTR_-S20x@v!+9=aCCDb?83+Zh5KG;Ih+SpIP?&2}9;#QXx#{Ilxt^_X*zT~@ zmQEfBaueEZ*CDNlnE2fl#*Brc2jRKDJcaVhf6dL#LHq6eK)yD~39pIRN)QEZ|XG`M^3gkAW_E(8#mH+wPDJ;PO*|Fr{ z@v-Nvm?rYz0X8`|BZl&^yo7Ybh&s$iJnm7C^NwE1zUXNo53x`NQZHB%WDp5z0j8B#ZOhwQ(9CMCLOO!@vUx4NW z?OI;TD~=aC5*3v<02DK9P^bupQMTrTwG1VZd=`y{@xWTOHupUB?MaV#0Ztbr@38$u zVHSy082hs&t6Hhq2=ma_E{Q)WM@Ta3XuIV9q-r-&*B!?|FwG7Zm4ktiwx3dQOk5im zl!q3^R!*d^i;>mm*7Vo(*88_*O+cj%eoin@dABuzKb^-+Hu1iwWX!DgWJff4Lyo2K zSOdFmQ?@zb0BMXu^pouAhLRd$msCu*pv`9G#q|Ax985w0zTkZY+iRe7^ zYQ6x~f@*qtFFvb(D9r0keLCT2N3BC_$ab zmWknV+n!{J0=-PRpl-h)GgCa+2oy!UOystS2M$>yG8G2{El{V@Ji={v9y&d(Lqkhz zeYUrl$YJ(5I?_3<8f4U%b!*;8N=jnfMeXVDAK#v;Y$U%;zIH^Asw*j_UtD;B$+5}! zluSA!$F1^G+-8yPpg-d3%12#8gOLn}3ABAZmyR6!_yFIu@;HnE>yc(pja!qij`2ij z);wBP$sYH4(xzazS>)wI8V@vS=9ZG}YYsz(0G}t3ccOHCo=%~?nP?k6RBPEFBKhW* z9&bi_QSFN8?GaoF;ZWGSPM~A@$*J{y=~^Pk24{|^bwRDP;TJsCaaum5MiDrE!I@FZ z(8(zgjhbV#+ZqDW#aj+{e5$fAwI{5(>p%DyBdE%}p9C>kE)fwC0h&0*`o41tHkB?R z22b_GOc4t(L+=Gc>X4N-jZc={ePi72vrqF{adWyZL;!&A-KmrCH!N3qpsqeQKWJ2L zxqBH_b(6FZe(Tfx;YBn+d)0BLpXT9F%gA#>6FHCdK=!J03jgaLnFGt!I_Kk#20Pgv zKDL0O`-mYhnA>uwnmrOnjO%LQ2AM|Txr~dLt}YsNzO7)n+-W@iapz$dV&_8S0Nrl3 zPI&>j<9=(M?O`W>+QVFjC5c?UFO6D*WuietNY?&Rr_J@%`NiC>A06oCGZIYb%@N#f zQaxN76t$jZ(kvM}UrQ^^&c5~QUq`3|>180=M#EOg z=%D}gp@L}d>4Lu@_y;>UJZzlhWnhp2eIVnCeh2swWc(Gqc93sjwN8OLy$LSFa^!yM z2{Sd^3HkP?e{f7vXCKJ+@bl^{x)#)wyvz|?7-c)n$U*D1MoskSW|pP=0?iRr(A4m# zd_mZ~#G$6!{Iap86mDfQuwG3Z<20advV+GRXKPJaG}Ejl6SzwMGiAo=@-}6xyWe}# z30;v}hR&w9^^JPd7yw>MFa12`&f_!aD(2uf_!uYTI8PKQ18BT^;9bb?yt>W{JMULc z5&&o}H1+DCh|=i6imXt8|J#vA7*=g@hg`*^{jZU8WupqCp-gL5@U&Fbg9lgPN%5?j z*C3iZB+o0!T1OmuIb$(4HfGtHI=FH~T@|%L8#$b9a8-ea{)WUk*a^S0O4Q8@ugYj} z4ODP_0%qbF^P~IgGYi)>_D%a8C&8gWZP-j#S&{HNWn;A}Nk|0xfe8FxibPv`N;&Fy z$|B7QG%@KkxD2l&Zr$k~lQf&p2&_Vtn=0WDlG$!j;A z-OCEoixNKh1`5#?gpbwa(?pt)9-!^@0&IUl7;B3bkf}}~4HJ_rFv9OBi*n;+#z9kE zJ?;ge+~ud?eB~?wTNp^f^`{E!rU4H0u00zoQ04Z!@~GEiIY;_6AC1V}Y9ozeEyq4M z3y9ZhTcqTqA-63Mbf1Ax^z`=H>>~1t6m#4e%5K6zv zjaU2iYpJ8N_0BVj1d3pB{fXRi7O9@Opp0k6zory+-5^AfNE*i=9f>jE4fV93uF)KxQ%;mRIT*$k>|zK z1#jm>R}QO>t&^p%Z9j;lfsDh%N=<6}E=EcaOfPIN&Ci=KIk{7pgBq;tr@I1g4To4CT-0wFos| zD&5tO9e)h3!C3$Bo}RIU-VXy$lBi%rkof*bLUF1`Bi^z-p)swpwPV z&HEGY5jQVoWn~R-xQtH^TXMZg;)wvJQCwV{&vldF2I!>DUqP7KO&;ux?z^i=4lQ4o z)4VnrYV7BFz^yhW%a`Og0O}sBbY4?P^*N9!F@!0Ii=&1-q+A6$Fj>em8s!ceL`w0r z-g#|edfp<Nh3?;X|G_XdYtpe^7II_Ng| z4XvFQr;Wj-q#QJf64pSRgHDpQtx_0TcvuIBXbdFtw}N(Zez$Gn`uh50KF1IKS4)&l z*B4u~u7?K)9@pnM=s%Dv#6A(aZexh zrL&}FqP+5Ft7Y_sP|L6i8vgxdLmuu|=TbNl2>7Vgh4wSy=V47Yf|e`l^?I_bN+Tw( zS9Z-k8sB{$tIZrHQ533g=-L}=b7r5fc-pU>kM#OO%HOwKdDVMK-(8*@HQKZrrc#r^ zWM>ej7XTtK_wS+x{1`J*clxImK$)+{{Q0)tvBMgwR^7X&Ht>>rZ+l`Hva_=vk&^bN z3VYZ2AqCjk+0V|-zNDoM20j$A#6zNfOp&8{M=P_xzf8&ZRx>5}!0AHKi+EROWaU2N z{>ee+O?F5(18b>%9mY92&KClQshTl0s|f{Ml8E5IJojg(#k01U?>?nlB=}+HtM}%D z&%1T6UYphDMS|0r!(+Rj1OmiA3j z9c(^K8pZh&69XxNIb@*@Fr*uIl=J)U7&=a%{~$m=->6}>Td>}{cTebK(!>Ys%sAn* zX0K!8%M*kOapO41IquBz7a{t;bA~9S2skcx;nFImhU-Ale!$_H4HFwKLdc_0$lbel z%Pa;dfSR+3jxm6090K@wFsdl}G^V?&yW8kwdx|ja9B9Vd>mj*{X#>I7r0a8ywJyMY z9m&;#{Nqojm{z4o+b=C#5Yso7r9#H)BFJ-xk%{2MhJqCalGvl{8+ zoH1NHs?ISpeg=$K*q5-lke=OtLKBC(A&!jIi@Xf_^=!1PYM_Jn4+;TGoEI?`niK1d zrLqPBP9F8U=TQurod~}SOh8}yFW%C@_~WZbWhufp@*gbK;Ie@SU5-;G5CDH3p8)jwe!c5-xg$|VVX&mjJ61f$@ z=RNfWk#)p34LwW@zU!r^e(ReWZ9z#>Q`0Yc9)$I?XG;YP2^s-V z%cU6<`GR3(NtT4KdLHrN;o)c#Z>S#eeOT#D$byqfd}7saAV^>&Yq>>a z)8e~PqSs$a9AM3>LI=P|-wVe~0KFth>f~%KwlILcxaUt#PT~nw(Eu+lY#!mn+I$pU#m2rHc)&=Jx8mlNHjz^zMrGM#N^8r(;C=UD1-<4s zzb_wb%4yTiU(J6ClkSIw4g9`{;Nsfw-rrYyon{v6HEj1=V%)TKrY3iG&F!;ngmaqs z(^hH!Plt518ZoZ4EEINopPELOE5Tg|a&>VeY(&sjO{o9U3b)FE%%&38tz?sLX5bj8 z$@I~UFTE=-44Ues>K&IlhO3L%5w&H`5AGgINJ*h-U!IsmZONs!B>#+|Te{A}kN@E| zJ8q4pnEEDl{$%0VlP}c{{*}`(J0SL*13PpHTXB@J_3z|rGqCf%Kz{I{nZ=Rj)a$KH zP9d@Lzlu@4BY+`KNFksxnsa};=A&#*G@(cWt0C?D3j$ST<*zPwcIE2h5{+eLL-r{} zc#j{e+oX1Yr;<5GJ>8x%QFj~5S5~3_m6*TIDYp602AD2vNVCD8P>q8x|Jk30l;sqdauiXKGn7f*kRk zfD@os@6^89fEtkQsPfH?*iIoQD^M?^?YU{F*;MR;d=H}{<<%y?>_>yrwb_07vmQqH zqbKz`sDkryVoWgW1B{?#79{N#=@iCbI%t!qUsvJ8*ArtF$B3;|@Abwtl0VhFJ*KlV`$} zg~GCv^>hhVYOV&Q8V>?KKq<9h}1@bGvC_N3?rs5_J;<8sE~;o*^j zV4%z6fkxin^}m^+jT$K{V`B(e0g8QN0!mtG-v0-<(Qdv(0M~eQHCN1KZ{tosj!Rlu zX!sL;NNcvx<*l5*$t!JoP)$l7hO<<_!xDpq)-`eufBZC+WUI=K{4=8m*STce{7Fj% z!9eQS)W(H|WX8cS-UEY}!M@8X)HvNo6dAeB2J_?O3ZwFW8%`jNpa0fv@s9B+MIfyt ziw=;!N>NIYHFZc~4U5ql-hHwtsjS7T6GWXZf2@TY0T`2sp+)HkS_VI+0DirI`=QVtM7LJwA;ZnQ_wN3L zuEXNyrmUkQJEi{>JCI?Mt}joEwJU=`@l#_<0wA0g#)#s#*tx(Lc?0x4e8DBz2g|YI z1;3bFK60uTNoju%=9GqY8Y-VFBql<0^as)R_G|o}6*!j)cC)KpN1~t6Gt{+&9fiNh z+pu|1I)qCf%UDp%#E?n9^i5Lxu)IrA&|X;q>=MN9`rN|U*cd=RsD2$G@H0TR{3$K1 z6h`SB@ht`eP)22EFFyQvr!E+t$PrmJbzd;SEZJ-gV8j@e z?N;GM(g_MCWnvN`3RO2(r51*>QnHnMGj`X9V;kzH)bsYPg3K%ZXKYiRjc}-Rk827@ z#wPS^43{h3v8K+Kjf(W8XN6uZuxh5s>PQvFkpNXvuBxK)Ouuo8uUz95>HE#6D9@ii z_XM?GC|dPSG*Lna_d6rWv(nSwgYBuYo%+@F^?AJ;f`l>dvt$_I__-i`T+eh+-%$-A z&tQ9dPKWnnwcAbAI6eo0rKCiqUxes`YE(1(`}=z4Jt{?^{kyohxWziv zvO1F(cRzH58EAgsfpc+3dl$73nuT%5^Dd9SOi^mkP}E#}Q=(TNp0|3pgry@qULYkv zPy23)*Q|!k+?RBS&ve9dCPO;k)zYqK*XySWqi{S~P0_KJDQ`qLcV{sAI>nPnqYN~` zj|PEl*=gJr$;`?+KU<30n$_^}5dtdVm9%svfDjE#Yg7jQNLO&$bM?CgiB23^=hr3R zso#}jYuaXL{PaX z{^i!*yD??`p{e~ORk!_T8}L#%%j8|l8U@_7lH|5_3EH^k|BJ7;j>@u&zD2PW0Yy#pbfoion8{wvM5F3tSCqJL?uJ{2+FIMjEsYeZh3imPseH&!c>qVNk~{&tL+ELdjWy# z&EGwe1pMH@MPq`e$Vr9K%WDJEe`wJY|ueXwUdRi&E{BQB;-j!yq ze<5qsu{D<(X-TSkFbmBF6ogL z84spCl%X|;8G}i?MHdwh5q$q>jnEMNFIICA_n@BmpR%H%km>ouPkB)mWwFLUa(o)8 z6bQsKEEM}MCh|4@@~V&%R+4$n?|1`$<3l2GMr7cPJJKoT7e~#xH8G#P?!;zDUG!4N zB2<25Sg5abDhf|N^K>ripRw}OZ@vjy+lL3uDo=bbySX`1MShj$ypPrxfM7UB%)+9G zdc%I9{YmudD-sgnp~S?*!OiNbsv?sSdLm-t;5Hq2KQ_+dS*Nj4{gss!X#>tZuKQ>?HcZ7~@qLe8zI@qN znp-vOS6|N!P<;kUVdvd8GJ8kIk5Em{cw<*6ep4v;_U--y?(^4BUI3emZ?oKU&3&u> zYVuV{A_PI_`Ki}pW7Df+y-6`;)FFL%{ZksuFxR;7H9_$o+9 z#6Ch`*frJd^F8B^a7P{*^H_VSZ@*7Hzqw#tbJfR5yHwUpgARI{_Nbt*C;w+5Xpm#T zGh9hML(Q&WVey(i@-MBL2|s`Y&*=1uiirJ+esbNSQE#eMoc(NlM-`o+7u7hn}&&FLeZoXo+_j(Rv0KgGm$DR*|XiML(k@ICn%$e`;n!Zy6F#< zT#waAxw!^k_KS*pSg5yd+(tw3e>rWkW5#8({N0AL$Fp1?up)S=U%q)0Oz3*-0mIfT z&W|mTS{sUjZhu^c?VTOVVLKL=Q=44+larGls#A4gzZ=GW!x(KySnTM>K~=q3vZB z#ZTUUS{F#HdhkRhAzeAJXc|ZOt3KF><$mV5R@~u_aMqh_c@pv8b62KCzc_n|05)E0 zp1A%?(fUwfQ8+;nvht&+6Uv=|mrb>n~VYBk|ckDTdO}(&|A*MgfxB8_Hyb5T#P1 zCji}amwOV&-L5VI6^8u>24o)#qKoFJRX+_7xX}Qd;_CTdKdu|cv)|~9La%_+xi;5m zygpn=dNf*QN=0)Fg^rN8cwndF&0DuD*K*6RKYaZ7H_Rt8$up*#YY7S$Cm2p9=CQZ0 zC?PK^&*SOoGgv;6jW(}pJ-EAWE|o_yWxRC2)3# zDQ~3I+|loaaY3*oAfEb*rj@THl9*dkKF!j%u1s^%XVHbaEiwSv^Z!539vf#v0)>Kt z!eqGMS6XBBaH$5$Md?~mAHnnWHw z{_okJ*OOB*;|J7OSqz}Yvn@3~Vj+-_kQne2=~f7+`JOYre|tcvCqn4M2c4bSCbZ{F zAE;kMKLq+S)ap)G9B1_S`1mtj4c8OhzCM2p69^ZDatR!qVD_MLO?XVq z-{9AOADk0s{P>=6^BW7r>!v_NR%Va2!v2m6(o|Mg0Y`>kba* zg??9zp#oQ9xP~jPJ1}&>UFw7!rHiLCP$+!nC}{?Mjr@wiTot0wMpkyOfsl|;hP=Xy zhl**5i!!yOgf2>7WaYCsB{Qhgi>TUI^ra6`OJnK>aZ~hlg2QXP8&a(>}( z?Kl16Q=Zmi`a(H&=V)k<|4aHJ)>mw5c2brbdt7g~=1{RH&3~@8t5%;Dq3uUGr>~M4 zu=yTY{+AS11EH>G3M@kq7DZQ?HL$<;nVFe0WA~V1#F5h=nwYqlzW$uKM_*Zd$M7q? zmq(u6_{{qNWzq?OfTX{HQ!*}kq$6%!T4IrUD_Frlqul#S>5oE{SG=lyoB&)Ee6IFk zH_}a&`P?VRD{b@+{>mW7_m)oo%NH-)p^nFKFV^p-w^^115z(Y5!8a&Kzb{3YTB8on z9VU*whLH1ZW5Q{x)_v#70}2dqe6>TePH_W5kPaw$9EjX?CGHvbCnqPN-0xH_Aqlzu0@K*VeYx`>qzWm8 z7~ojL)R>DC;0%Q%@@*75y1MkH>Rf6L{;BM5jD>@`7*Vowx|YxIX{?G-(gXjtG&`@~y#8=&E+7(q z&oc9=uF+EC69_QAU%wVo$d4Pi19Oabac!OX}B!_FQ*Gz?fmj=i!}PZtym=t z5)zS?mM*oM&gxdHb!5Cco4SH(s;v4VDTxS10X2h|s|Z2yIkQ>K%CcD?!Ir;2n(OHb znS8Et6a3q7vA#sWbBpV|q5=@$AO8n4JA_N`zMe{#_!39sN&InsxdYS6=6fqoAOPf@eudAlPotHNB@tXl$eCJ z>+7?@2ZtnWrq`Db9Hoo$5@hAr_$%5tEoG`16XdUpR%A|Cgg8n2?lg&JN`L=hd#hHR z?%m8?qm+-H>cGke2L}U6evFUb*^|ikT$%A#JjeO=Z!9dV*V@f!z@=7#{Ap=zO$-Do zh|3|%nB^0np2IJlvt#ZGu^mKPAHXi(Aw6ZE+|Y1XcmnK63mgx-{@a}(XBImhnIYB4 z_m_Oz+uI2sheOpGZNJUE+e$q6RM_?h7^i;DU#y&pc> zONYjCvx%tAXl4M#CWSPq(!w7;paEacOeP+KY)+G@I((E+5#5h5C0JQId)?eEnypF_4=r1Xzkz}R50WV<@n?T^Wj4tLqiJCMEjEDQl)pAur(fH zVd+S7gWtnpZ}AP}Mj#iUg9Z52MObrTGobJRdNez>lu53$GQKpZWO3r6X=4ibkg!`| zqS_y-7xD8+URbg)i`N=+AGzolUxNNZ)yv`mFWzzv$)z%2*hqgJeex46pW7rAO#D8R z`;~0wulgxkO?KDDn5Torst5x$TTBK=BY9f|QK)E9_Y5va>&of9DB4+O zhhJ|V(C6T00L~kP&4hrXm8fTncKZhCf4Jr~J6~*y$|&t79moh>_Aw#%7mtdIi(`No zp%3SxuiD@ijQ6YAZKwJh%RZ!6Ycvbn#UGFLk)53#Dk>^MXiwHSc(eU(-^QetQN~geZnk2WrIvcPKw!gm*|$ zh7KpeM=HZ^<@9DoM!udlXj+=NQ?5_PfuCDg~b~x1}@qti*7n;e%Wq@1{ z#w$td-NtMf^F82$TZvLhl&qF4lry(P@;hYM77pY zPMKWb{rdu=K}rZ-R12s!SU~8_!|c2d@m%3Zm>RA=3v%xM z`bfW#%CBF))~D*@0XWC|`rcjH%evnLkBPx@_K%URnwlE0)8@x3>G3#hHW~YzrOLTq z`QFRQV&&H!KJ)72uqBg-`}^nXW0GVm*bLZo>aSQ?aRUUrva_im&ERo5{=7r*dcq#> zwI)h8$DV)5Ls|%9u%IwF1y<=hlu-m65wJ~zNkqej`*LZ1RK;0gm2kwoiGQl!9Q{*` zV-zw*SX7$0Ooj3kjujU0;?^z9GgR3eD;A;=3nZ(EU`}c>p9}xV7ow{>$ zbY~jIH^Ywo!F_q0-24fHfTJ}5pd7jt9UUEbhyK6|7_2?rmn!N{$Q=i@p2&u>_Q~$T zI0UmFeD4hm$e|EVhH4^X&grwas82xh2Wt*9w3h8}PDIcA_7P22 zEQc%s1qo8?1Z=?SFgPDua9!-nynTiaOf{Fw>1&hW*Q4d;5@u$!pjA#e%m)h^*@_p0 z&dz>3+?)`F45e7ChpwC(1`wRVVw#8T)4J~mQa;Gi;GBU<8Jfa`15EKb?7xFpC~`76 zXv7GmQi?{sYhMH&i-r4`S#`h@DtX1hj@~&JNPVYATM`gH9c$y@$$;7<0Pi448Tvz} z6}G5qr&dxW@np-bL!!n0<{)AdrpB(p*Pm$JvDNK89+Qc0gB@jh)6AbdZ)i;nj|c?b z2rd^k;Cem_t7$D6vA{9iW^r_-q@qfGy&|&V>GlytRrzFYan-TE8%wddbMQ&H{N?bR zqilptYTMQnQ?(GLuCDHUsBUBY2z`60qjIFf(!FO7a-BUZEY#@u4_m1^QgU+8N|h%X zqV7dKYy4g3iUVGVPW37%82{6DAppd1xkQ1DtERTraH_7h3C}}LSX_J&m_-t9?s&ug zv_h!oYieqYe%3pm&?6NkkQ@;F_MkW!JE)~>?d;^wl%==ZR9)KB7R_NWfx;L`Qc(Dr{?S2YndWRZ%GN@1d38Dc8YDnT%Ip=E{qH{75te zd{adQ4mLKnr>E!gXem`5V@>PrJ9mn$7DT{@!E0qj597Rn>et9;U!}k%zO?Lx`>(^2%zCs8 zW5KFbZC>9wsN82qZK%Z}@_u?5{c>5AU~&ffUftWRH6Yj0UQJyVoL#@>d$e;p-z!L{ z3tprTv23A;Nn;*gF1>#Tz)~@oNJK<sFaz^fa~ZvUCs8p+~*{Mfp~}jigJ8*R_u6SL@FLbURxg)8d?Z1kflHr^ff!x z|C_i>tyJ`9ettoM`{GZDVSg*YwqJJ$UqP;RcVEqnLYxDTo^LdOd*%;VFg}dJJEJk^ z{hfwS%abZSm=&H2DKQZ8I6?%f+t1uOKc~ds1Tpjv9A8!-c?$~*b5tvTU~4!RDnEy{ zSOSikgq{64Bsi|)=^JtOv-jH6lZMtts%)viQTPg?TqJ}3BLV_iZ@qj!$YY$Gu@EZ4 zVLM*Ge*GAB7%q@SZzsWl0BoMu!P-!<>xCnN_k7}b%+{ga;Z=h)b@4F>J)M^6IUFH- zcBrsxA$b$_7`*+{(h?FE7bu_I)Y0(`;!SU!8vC~cpem8vHrI%`C!?f_pX)`IGjns=c2kH{Ilr{jUuLQTC{}K6HpvrG1{8{ap!|3bt_-$Vj8uHq z!X)-W#sBREpzK+(AzjGGAWuq4S~pA2tEj31;*{H`6dMy$YgX9&0lTQbYB!|4nCstOcBlJNY^SDf0fcs+9QPN}W`p7qt_ zQ@tj9zE}A8uG#G!u1(eR^YaS(ounowh`b6KE}=lN6q=4P!Axmku=13gsQrSB3q>3ny|a3jkAurUS zkc)LYp5Dg56NZ^Bi0~{R*kr`se;6DkdOCa=wL`HrUNu7lgi6k)6qZ>DFoIsU_ z!(sngFowgSVW_>IlQC-}f^M_+l9i=pA`tzbh8};S^+@;;9UBjO>5KFj zG5Rvv?d$KT)Bj-(;7@(mlt#ZD9ZQ6ksw?ISy41qYj72Odvj#Pq-Oji2r9+~N;Z>gc{ zJgd6CSNMjI9e8$#TVH128D8T_?gfXCiB&h01`FXD*PA7K0b*GNY}l+12b0A+_pKH~ z2{v49M~4D=E@$zfR48bM3LS%{UGT4-;^};};l=hlv(FYF#S0GQsa-pUvN~(x3hL05 zwFg|s3C$&0&K6}$Gb#LNJ8#!oX<`V)^f|J9^TC%UhGc`K$IoV zML*8H5czB%bx&_`PUAmYeIa&h(cb6FM~NToE|C^~1~xy#!)3%55|$5c573G+{}i+q z+(;70&j)g_<*j}#&$JL6`W4Aw>#~xP0aAxt`3@jH?(%F+*7A3;!g5#;F?FUdq}5N+ zdsjD=?dy)fx9hiH07B+WslDK z9QX^;Ir6XnPa??*5UVt`&gZdUKoSWt^pjR~b$2sY+O71FP}m#-xHO)KK|o1eC~_`cxak3uzGVb%1O+tOPdU^c+4F(Y=U1nmOEA2a`k zb84&>Qer+u@cIiTEiIF+&{(0ik4=@`?tEJ**H*9~!LOz!9N&thD@u!f`z>%CE2nb; zLng1A9ru*OV%l9!$%99e{UevDBUIk7A@2<^afgP7YZv^cNE%0}Yous2JpS@U+DtI) z8K06;$W*=Qrxk{MM^3id+Y9lD7U+&Q@@T^X3Ov8G3^w8OJxRYCt4>_|3iW2!AC5mV z76o^I4@BT_IkNzY&;nHr%GTKW^94G_c0C=PZ9o{Jm7Y{qxc5OBX*e0cqVG+QlKC9n zbUHeV7gE&NRH;?^m@ejz%JXlHgB9}RgUb{<%cAdn;>4ZwsN6K(Rdb4r65hXe$h??+ zq_AkQxqS3Fz^Tjdw)p=}<;^c*h;ANywkNd11Ms)LZUP!71z6`&Qa*#ZSNN!N?@c_L ztw>cJC`Lx6^<}LXfhPGNRrhg%+W|BQCDZIIDOwT|eyb$lKo((3GOf*TZi>Hue>0p` zElcj-Q%WL5#pEn&Pl4oL6SaMxY=N#{8GU-e$;r6_NCv8idC(C_kMKAruHKr=NNDdJ~SVuaED%GOx-Z_<4A zzK>mGG1K@(p0DR!M%A?G<5&7RZj8yNXFcV`cdT^LgNa1GeQ59U#|n;C;AwBV!kkg6 zbQf(K=(Aqeu(Xt7-Ka#_Ag(UBGNJQC(+_TIkf9-CzPc+c91a%6oLZ0Q1m%>w#dUcN z&L(IJB(txg5+YZKr7L&NmZx1>n(VtEd9{`~e|1gOAoNHu^DvRv3`oYiG}UXYpUwc?XIANSMh9b=V{n-@SUI+95uQ9@f#Zpygru_ zKZ@Kiv@V;c)_KZ5&IVl)=BjjCSIK;VH|2skGxWewf!l@{H-&?PW4S;5frp0&VB%>Y zQ>CRJf#I}lSU^fDHAHrB`6lDc;vx*N&)<=ix8@z5gCm`=(zotfs!NYcS(zzS_<`zO1C#vU z76B54;GaKbjVC2}_tNSl$mBm`BkDN{{P(Bo`vLA?WGOTrqD73OhZ|$8cAI$6qyhj0 zVWm(}i6|-kpyi+!Fb5l_G1%i!_E-8_FtgZWBO-7RzaI*4Kkv!;c>~VD&^QlNvVj5P zP4xGCf77K;{pUxPOKF=vtoYGe&0H^DDUla><44w`=fjUdQ1*&?01jk zh2m2eahDk`3mwMN`1WC2(;29$^ucVdjE=$)RRgCakon=TIz> z&(Nt&CzBCfvs9n32|>RZf%DC9_O4Z|(#8N^Ic(J)84c!_eKHA1(h|!*O(RnF`lXprQ87%a{{?mF z4nXvfE5aDYNfZD*OstJ1I)BdWJAilf%z7)pJ_J25$o9W>?OIA|>dWwswf*tMz=9S= zypLSA)abf&&j1D$c5{3S$CujNm67@NWx(e8S(}7dsi^wQ;=g&~Z%pjzcPmu`r8lqR zU>DO@`qPUQ9*B6}PW~X{|3UpkFy&{pZ#W%qt)%Uo9_V9W{D0n;B-K-~JX!0M>tMR( z$EoEI`&B-hgo^4u*ekNrJD~5HRE>;`Y{Y5{^0o+Pgm1k&swH}wyDLVp z)|I+aL*A5_5_;xnd$hbfjD&(nV$}y|h7Tq#- z9ApOByzc;Z{j!nQOBM=>Ol38Tb9*1zd&N#bytA2)16HYe3DI59Ww^5Ld{-3hHeark zBjq|Wf*9h!90=yJwa=&;3CJF@5QrWof$Ms9z^I^?;$5Ks_2L1G>n&2>!@l5+#o}QZ z*&;c2bX0{WQ8FQcUiz~tZSs5V>Y?BSSBl=BFY;%x5_#k{K7ZqxCIu zpREP)E^~~6iBxHxzt0W`u<(1xg1N(`&YUIS3YEl{K^ZnV>-OmWYz4ZNQy}k3xxj>2 zEWgEG#0eBs+ciY-l_!3x_`AD12$p3yCqz7*_~px)w73N{ps}dc#)>K&b`q5$)}sH-z%$_PAfAcuh#kr#dwUiXsLkFd z_bR&NmBuWgKnL8ad z(}U4l9{*EjwLuRRA(`=D1?C}($Mj;MzN>VmZ0m-F-}f6Q2!@=Ws?Z7#aUUNnML00G z^t-A4o=MJB5SfK}rMRq8kxlcoP!j7cKUm8k`wQ}ABR+vgwviGGBK@)t9b*^J-9l9o zgq6}QO;UWb+bCM^W6WmesUGSW-dOH)D&dRQeqgHNGy9Aw@I0wq?3MWjD{b7QX=>O- z#8Ik)hJq#+)1o%n!*R4(mvPq5-rmAP&}xw7=s`aj%f`N)bfehdvA0PLZG6poo+7-`jE=S-WOz; zKgo8T`82z88M# zvw+)>0UQrj5gU4dE!5M%iKJEx<1}*6(1^9)Q{@#B^3}nkrJ*4Kt`Yee0Bno~*C0?J zR3~Vl9Gsj$b#j(ZI%bQ}(LZr9zRUqa+Y4ZPa7c((P|ySTtO@$vabjHM5j;IVEC-yk z4g*uDspKh*QS;vQOamXd2h3~WH>|{7gRk6&oVlSRvd5n3dWME$PN;QU>KIO4ojsXL zLbGM2Ez#5{*PTOEE33TxY5DM;{%ZW63R~=#Tu9Mq_2P-hi-IpuRB&lG`}1bXCiSl% z?I8GUHkyD(`Yzxz?Q}tV)4`C&<0ns=fL=8+F@_a&26i4)jZo$(=MW&|Krj>(61s~5 zTE{t5LN(BOwrs-&tSvct25V9$&?XS=Ua-Xmetk@~3#8xnuy&9z<}I+XA|#stj zW0e4ik?oBjZbZue_LSy__@}V&@M7~RE@;K*1{TM7FuTrSAyi?wKO#bb}4@1MvC4aKT&j&7RdJx150>-_*V!QSa(eI&gKzS`K zEzJs8{l5Nw_}$Lfbq9e`%dM<3R>D4?$lhJl1b#L`Sp`=M2VvImoI8et_YNpb}z*ah}`Gd|5j23VQPc&q>J>XWX zE>3L`p=}qGd|`UZP!Z*2Sd9`eMCK*blwv))VjM37Ey)lD^MUs$+p1;^~(E(dbt^X2&q_> zR5?P}LCI$Y`w030YilDJjh`Zf;GnlE|5P1_;eX?~<3Z^`8gbOxRa8R*@!5+EdWjz2 zsD(0MoJE^Uu6$KwbD_N`Z8?gcHB{xh@JO&Yrm*nWig1FK&i;zq6gSW1*S9FFdV)(Xha>^-dfa7HX9s#*^OO-2DtX3 z513$NL#mk9^1HfnK?eHM-yZ^26e#MUy1nUdNDQBo9gt4%+QHMY-Ti$X@B{fnR|$lV zr*!Inff5&jpk`GW16E!c2}hp%#@WEz1CanWcO_Y>7P=q z{uBVYxBxg#Favl(gh$%&^z?wzx!wTnszTs-fx3XV^M+)1hAbu090qM1=yTsR15=;rGYBHrV(CcUuPC)QrUs6$~s&J1wqj!%_fDDoQo?CWVq}9b!j!; zryCe1LxBz+3TV-Jr0MTBP^jHvMBhlD@D&bMj7Rbk891sr#>$Di1sre_+S=1fa?qFy z&6g!%*j^7tA7A2{t??gnONtg+F1o!=r7CG>i zR!XNq{&l8?sKDB0gqNJs^P&SSr0}Gxii7YpQZd1PZxgbQQ)_C;DsFKWmJ6rJbZ97Q#7U9 zOviAAep#4f{JEf`Z)?{@YluRe^6r6jQrobgNS3xZ@BafGMSu?aJPbi0&S0?b%N&Gp z+O(<_JbHShkZX|EFQAFM6B1rzi`SxnJU|4_ofZNo5Gw=J^T_}vK*J|+gRtf2w`YEX zzedG>K(7lNQ|*@*XSi=Z-n6R3g8&SQ9*{J!25I84?U^#^%j1>BO#$fEh&%-W?AMJ4 z9547|de#m|F)+bN3~GNYTt?aW@i}NJ>!YRL0BgqIyoDS48%{pxo@qemL1l>$%5cn0 z`t5Se!OA~UYK#p#Kg`CHnV8rM+=9u2MmyWv(;zb;pq&GZIPzmw`}Tl>!@xYU14>_H zYj|j=@N+LP$|myp6gi(*8KQyF3-e7p69;tML37$?AjYMwd@Zc4lfi{ZTCXIM+Be&L z0KO{NFf2}o>%TN#Pj77@7POV#l3Y8LRDzN(G?RvZ^imjN@{uCB93u>UQ$tZ{`=B>N(ySq z#_u88#Wh`;FJ4h*{VzcoWrL3`Nfg2ly}%3d-UTUDS^sJuMR!J0zi)mN@EVg`L_uEs z?E5G>v1gdic7!>r$!N(}kP1nY0gx&;Cat)-)LPK0@37{KCS{wAX`2*w}(R zJO^Mc<~k(@z^A)9kcqggKxbB}O7CB>zq&X=>@g%HBsDPj2^wdVs;(e!AqH7K8=JS9 z`=o>ndj1m^3ZdY3*`B((#CB)jtnfm>gmi}HYql`N*GH{V=07~F2u%*in3F+^&(I@1 z3ta`tc3YFwYE?hMlt6sO@Fz?>eXh8hOB>`@fLX{^ga48G&gAcsF-CuAsvk28u=TC3rTbY$fUm{ay`HGm%ndi)9GX*4qtH^@!bIc$9Bg;K^ zxwm%0vO=a#+}eFCuudkru)c%yZYz%VqHYq6O^kpfGSu)57A-Bg8clcfqP8~Ir~ky| z=4OQAIULbPBwKjUe5ulyj~=~)jQ+u278Ih=vcW1_<4f@0fpb1yC^6Q>*?D;&Go;OF z2b5mLG83iT4fJPkeW41D1rHvSArg=lAz|38{p-}>YkNA;P!W6u4u^zZ18{SOClT8_ zI3RLrHkmnwF68@DVTf`NOx%RkHxVD%rp*=>yR&`@dl`<`NhTA+1YoRnlED6Y#&iD-1MXb zmeul&+odzb;CqO!CjcTk!8rY@S_onR^fE>ZSA9hV6 zbR!aYS5m_f3LXls892T2G9~|-7U=;==BY6VxUT^P3S4`N`BWVqn@#IWmqEo1UN}ck z__rWlLW3ZJbFJ42CB2J@eJesN&Y#^2ZO_KAB7RsL-=&Pj!15dQz83I{N3lCj{9pUY zThVl1`8wW;Wlj(7fb0batfx;OJ=9?h%1h7!k9kT8$Ac%${f@Mb63Qpa7;97p4!+(W zJNUpC008a!^uj_Dbb|Z((R1dmE-kgV98Kt##=;rH@cPvNT5ANmUEY4BbmrR~-}?X6 z@vHgPU7kfyRu_r~=Zk|O#D)Xw5k{@lh>TAW1J$Ve<8qbX68KfKk?;p#r4XhD04RyA zf;}0e-x*HfZ05z32RP`x`HqCx&84TXM9*Gy5SIX zi{{1-*JK4Ce6Vwc#9`2XsI0DzPD#tAf*sE6@@()C03x6YyDtIY*1Cj8N4I$Es_Lj}&Jc2m32Bs4lFWZE!1N;M5*; z;uD!PX}-3AVGa>2?-gf(yx>jm2Zk5MO;`q4%{2!k8!OCZjzG`#YMRaUiY0=%+Zy~h zTKY&zqwtvrb}*Z!Aq$xb&|Bx?)DTgXQr2$@b8|AvP_n^zEt9ea0hPVvDO~WGmbfGn zTE3DdCKa|Yb@M1eMXcT1u+%54w7Kc{hP@%B#0zXtFK%Iwan$UX4%j<6^dwHrrRW%@ zb}MIEedXT8e-`jhL~JeMDA9osNEp&ZZBm2ExBFW@|8+ujUW44KE}y4LF~ZGtd8}P+ z(g#G=&m?-75ph+p`jE+JfSjVX7u+weQdcs*Hk()*{;g8t19ic3_3ixm{L0E#Cm#%^ zj_d`iM-K>tFUxM)LJbyTe|*=7U0SQcZn=m0&^#JE@6cUx&CC=!(yD)ap5L=Y^&+>R z21*Y8Tu}i%h&L-rOW6wVD`NmjW^C}}CVB%@i>YgXP5x!(0>d>#xd%q`>#r@Q8bO)#dEqqo$Zlae*#K)WS7j6D$v4!Xx0I*sm6k0+1u3x|~53sbTgyt)L`1iia z6T|-`>ehAM-@QG1nRd%BLac<#79>|Tuepe|^D}oP_RmiYFfh;;x7Aj~qHMKqyBRv% zu6htBpKgQIm0~*fTBPPn;vnu2r5UZ&c!&7+pE?to%8wz%!2gZ>|L(I12uFP`3*0wJ zbWpDBuqsMh+{XZrx~?^gWn`^9r|yj~r43MGHoof=!y_3BZ6ClvY;T%58Oh)#)H+9| z6zj*P%ibqmSy!?V79Q3n+1s4VRa&27>e$EK+}tcNeA4D!!bvWNI&XzrIr?_jdT(bZ zTgCOGhjwdsCz(R@m+^(}afMN<(VK#^o12s1YP;$AWfq8F6sX+?Db};9tJwifmr=?n zDz;WyH=`$mOAo3`J-IqiovOrvnjif74pucbR_xO!CZJ1Tp1e@^jhNMx@aSl&SdI!% zZ%wjf7;QGeYPvExVHIJkp`r1u@@=*>V|t-La^cDeBzcEfe8>B^>69I*N@3UqA_{H; z*Jgg|sE2Y><_V8-)+yX$lNU9lA%CP9%23^;c;M~aa}5KX`9-eu}kK+@~pH>B7_ zQ_btB7X?;`S1I~w!786_*gcq|;4%&NfbV%*AP>*sB~(Or{8^u`y@Q4~RPV;D56a3> zB@g}nYyE9rJT%^=3<3rcumBX5UdPAwU~@B381(?+PH0F=t85`TpAs}!`Q(`R_^D1R z(ua4I@rO;IbgK(BNylXST6Hk#E305)9LPhmg=m| z&x$t*R~O7D=&NwIaHEicEp`)0w5450vSjNvEtl|Y6N}?vS+}H0jO(A2bpjoj7f|*# zwr?FPlRAV#>TJwanGYW9f6v#zPqs9A+#fwFsVKqg2JpwYlchd?NpZhGr*E2^f$O4-Eh)14d`! zf1tf^`Bi<1(hri3Fw>FU+g;a%KfF7P4I}w{ z^R5=U$EjVM(pZv5TM0ev$+a<7mv9Rv;%}&ywdVR6&t^ z$#BpmvqmJIdDM#)4hg<&|qfeI~Wi6W$D&lV+F^#RGH+V@q68okSya*MqPK1nCug+ z-sfQdB-b`j@!o7GaplS=SzV0#qGrzd7MZxPln3QETKT!UtI(y6kpT{xwG!Joda(#+ zvv309f+fyU{^X5v(>%0P{rJh5vcy&0d*u^#f#o;gc}lmPT!|H=3FN)2F`D6aBcj<0!x$JT5*1nc*rul-3c^f9G z=wcpS{0tsFi*DZ3rwh3w2IwDo#%Pe#=)t!}wh?5~pEtoCqWI*M;m~I6DB;LIS9Uyu z-VENy!W`Fc#B?u(yn=y;b2usl_2=i#k#!&V%)qwX5>)JbvU{k}Knv#BTBt-$o0;o+ zXLj*}g;H9&`|%-i(z~7Ti799R4Kp@cPfJd|{H+KDO)`?KQ>X$zXEedU+SX@m)cTRW zO?JM$m}xJM&lo{oE=?MvsD^xCZkdb8mPdx4paz+_{1scF&1x%y95#E2yh&b5j_KM| z&*crW#`m-}+$8EBndZqC81XeK{%cdaj||&GxfoGcicg7)^*UXx5mxA~ zgxlcDHKvzhM2Fy#@=uP0OLOj*Fn><$x87e#@~3ONTxP{e8qUXwQB{~id`W4VlE{nk ziM#JVe|&=;{e~DGU)uTy%pY&H{@A#bEXeWiFF1-HKBb|%QUvHBVWxFse0Mj9#OYhz z=~8$qkr>V!&Px7kLRAP04`C!LE2|Hlg{-pjsD5{7aBw2D=4C*Z{Dw^@PyN*RswtHn zLn3O*s)J^O_gkQ>tn7Zqzs({=>L?b=B$%L+2JHys1VMzQw8AiX&+u$0gw)o2!x4q$ zncbz%NR2jDt_qE?Uuh|2#nEHkP<5+6WpRzg10~x0XB!4GUaOSx3Y(eC1P83E&!2_r za=&N^ci1W`tN3*Df{oZb!syV>m8jE~TCW)H1u-xm4B1`6i;>IisS`Um2x#wQJ!LDh z4eh2H9r*rwk%A-px2cyCw^UAU=|x#5yTImoTZc(|56mXD3qZ;D82LAHvWY&l^`xMFuXG|9zfm8PWQ zK5W)7I@SyhgUNYaRkMCvIn=f^V1j0JE)bf;xULgx>5rG$uTRK2XY3Z*mv|TMHGFh* z*ECSB!-R>VQ)@8ql+Gq$(cS9w*JxwrGEe8VjjXG8hAVfjR+>IqhE@o^dS!DB?E|zQ z^~p$Zk_bD3_-6y9^U=y)Cv*-2t2kP$A9M+`28_W#JK^fz+}wPa&%nU0aa0G_83VW8 zE=9Put$`5~_GQZt$XIERO8TMW;Q$<}tK-(}FoIi>JO!a8f24rpWo1By{WAL_%5vs- zB6j9#@!&?e*IAe?j-SPnn4G{4&aF@Qqh*P+rVf63l%0boQNgCBrhet?;dN-aD%7N` zrZic{^L3L>m}HU}nQ~rVeo_()yI8#Vm$le{AxvghB_V1N{)}=`9H)bvfY@$w0HgfD zrl=|#vE4F%iyQ;8F!6t3AR%z$6|e!*Kq``0im?_CKdOb^sDmE92f}Rjm#b5k8&iQ* z7lc>Gg2H#`qT<~yPdMqSzSXhS+te(DIjV?vC9b^zj+Aw^3~m!vhH@qS$eIgd`3ml~ zvg(S+8{M_S=j5^xN*hTck>Ji1##Ya;NiUXI6J<=aP!x@GRgPTDyF)bl1HLy-ddOVn z(+S$jG#0gtU|h0df8u(}Wtd3rL<#*@Idl_a=G=kHu=c~TLelKCKn^n9H1%se*5T@o znb6ftB8<2YORaRLT=Oq~J#c;D^ZTW+a)G7?7!Yj!x+trtJT`Na%YOy^qU&qX<<-!o zR0Mu9K@PA4XN3ILh14&1t_Yyia2Z(wpp55 zNz$=IU24y>GIG_SovL6ZFIv%K6ly@^&YRfb(6~cz> z$sfL?_}CfBe6>v0x=IzVpwf}3dqa#gr0BNVznQX`ssq$bcAH0iI(w}ujx$n(gs?b5 zBtG4=1)xI=4&pmiR^@}|UmQjTmc3e0s6P#r&sU#VDT8V;25G((?gM*-thBTho}68$ z!csW0oKRyPp6uDmsjJ8NeS7d_LIbqQZC~bPhD__atzQ6MRtrhEXIC9#3 zbuO_n>9XA@2?&Xjl5!uk(zSM~d=9;=b46IngEfsS<-T7B_&@-`(1RnlAt>FRoLO-e z!|4H4Y^|_`pdXn$8-KZi5lYy&wC>!@>w*!11sw#ITAJ5r4i`aQT-jvZ{{mup+K*%oOzf$MX0 zPhrWI$)FP|^Xlm8GCsv?Nemgu2`es-j(#UR84QNX^{%z9K;*CaVWb(l0fV?;RSDM_ z*mkilEyMGbd||Qd_#1Q^8&HB*fd~k-*``Y(gjTG_+wB7c!@dH^RlpBEZoHEyx%_#c zCo+FB2nIH*!R!v0_aoML0Y=eY*hl-&(MLf?m*3wqC{O z#@iLmV{!o=?(!UaCgowB-(Pi?7*f)#9gj=9h3+Q$0`LgHf2-Ch=JUh5n(uju-tXO4 z@{F%@M+#Ko<)}F`bE(04!b*GB;wx%*FJvBU3!$4T-2VuT&ZoUWt|_2C!>vzkD>gC^A9X^Va?S z=I7>kZ)E-eddmUUSf%e*<{53}{3Bf*9Rm=&cTb$3fu?l1W6x#2K!L9yUCC(ip&fj?ZTEH)_0KK_q=8C3}*x>5GWDy2Hh>Rfn0 z6zx*N^OD+^d}nJaa@fmLR~xwjMiLE~Jd6C#*f&s>sAJvSE>E4b3&$4l2X;=Q;Kw`; zBMS~(M~A)g`XMqE;q}>0!qQT9LIMwRZjyR4pv`d~5)~yk_toc`JebTN1=5JcN-guG zJs&ivJ%hGN_?EX;^R17i`Se|Z&oTbvi}?eitNpd!UmRV1{cO0r4Bi|p6ur;_o6pe2 z!sm9Y*VS?@^CjT*-?UN5J>hN%!*XeUs5IyF?w_?)j+c|^Rz*xdGqF~>oUW2m>*c>p0LO5b_(;gXHzy^tK9~nvw zV{A~p-}yCtyw|^fa^b3G)60(>lAz%$k2?h4;R@Am*Fy$5Il0WtOyOu|^Dr9=qXrl- zc2>0%=cH3S0(WGkK@zc5?m(XQzkl+a&|3&4Mh{GBv6*hTCj6uL&RWWZO~2SPPREkV z1C1*=M8JxQjxL40dU%EymIyDmeNJI#55*PSaj*Nn`J77dQpsrYi1$pdQtGaRpbY zNYo35B4u`oUFOXb9}p{<{dc|X!4mhC z61JL6Fyb?z(Wq11vFDhZpD(Obz%4!_{n|uZX~Q<=$7Q3$t)sCLNTyO`|@FvS0p=47C5NXXDC0LQx)V|*})nq zsv(ywb8$|xkp=X-$e*(o1KKU{(fHrLlM2|D_@H=oAEk~S=1A0@?{>hxproT40+|!; z>sdHDgTd-ASn&dh4_C-5r{q8ut3s?|r6nZ@S|1!71f70Ecr*XeVQeKxSd5^I@wtapR z%`T&qir@XHx8lsyJL~aK|3SFgp#A}J>%qk@=rYO!!+v-@{eKS-T~-Y>PYA-fv&)fiE0H5A3iW!JOjP`Lz*_-~No8Q=;Dq6{j?gkZI>i9@6F^{s&iq@K*Hu?)|>+$9?18H{KZUzH#?hBgx*`d#^R;-gBUR-!d-Ef6>f`%JRKosHmh2nTvPnYzeD5Y+34~_j0>WqsCFw1m?s#C)Y$>lf)X{UW{sfDTCAZzNB zm*Sm`wT6=};7FUxT+rdJDD&1q-O%vucO`p1PboPx2n7+_eV2GrJ5a zbhh=UWD~LFu81AVbl$rcGx|(-<{2!ggzzyeQFXU9WRT^&AmP*L?@%m(* zlc`w)64__;^w})#Z3u~lr@2`&Lj`ZA~{1GbN0rdC#kaSk0u z*L&;w^=i*WsO%4)4cyU3&1bjLi!1gwgphkRLe)Gke`_9BblNP8uM1YPy$NK|nOE4! zNFFWC>XJoz&`v0!ZT83bT8A&A~dgfwMk2M=0x5+=r(b8c5GnG}R(f)69DB%~OQDz^mLD*4X_GC8Z&iUM>@4 zqw1NaRDwt=uVQhB^RGWfK8x{ouY+!S4reGgIewTQ4h=3MVNI!jLK);~D0XA%mTFQ* z7o+jg;zZNzkfl528Rpepwda>W@xHvYz$Z_AV>Yi^I$+`3e{nv)HO3Dl?@yWUnS1@x zmV?bteNXEuQ4ef0_V`T?v#>n26S;uU{`5E9ec5Lx3!)m=lMr*olt@L&L8TVr=&uS3 z0@3pogp4Z=zV`1Pbaf~W=NGL7XryqRX(Eg;4M@z}tnM(lkPWQIKHnQ2=(rc_1ep360%#$b%o=XpVZ^(y}4)7-aqiQFIv>XMGf9R!I3v zR{UBG^vJ!0Kv%;Vp?jS&#S(#Vuv^l9GB4(yt0y?C&*H43K$SG;ls`fV6<(VU&$wb* zGsowQfe(yr3VJ7NeSW6C8yvw%*fNZn}t~iCD~&D2U9REj^QE?HcNYP(;qG%V0CU9XT-E6uzk31j+Udw zno$$qZ0}c3>(pt20RI-T6QE0o*_A+o_#AMQMKs^Tz}G92FIGINtRq3QvPAa1K5tE% z6&diaXk_#_vB!KoKd{@%ar@PI-R<-JRsuYWf5^$ZL8-~j9IA`O;^K1xq8F5j9rJ&C zfx-X}O!MBMgtPmg@(xt=i?46;&?j)mySc--5uxm4?y%YD3dz?2J8V^?Vd4g#$jUtEugY^@B`_E$!-=H|M2&jG zgCRzFIT2;|J3s0xtJk)mPqhs-*``2_TjzopmtRU@R4Tj}lpF)wU;dG)vJjwy)IA-x z(!3QbE#c4ua!93DPelD9cVAtYyVuxnD3eYbHOtH0Nn$+v@a6?_ClFjya1tYP&ZQ*X zAFOl$^<=!NtU%=jP=7&au?o!Gk}B(#1M4)(z;LzJIjjX}tkXP!V`=%ml%eI;F(2-o zCmtcw9;I;q87H|neqWrFuSdFDy68OX5}Y5GAqvD5q(ppIGxAcEVtL%%xZ3#Uu$E29 zVG{Iho|SJ(x-*|k5w^D|*AMI8`iy5OE})AWA3`f|BQG4CK$zXgoNm&ZirmUq!ELK! zM^+F$?g0xgJ(u6FCj@k*>d^-A8*XxaP?T%NvarjyA$alC{==;^xx`G+7vbaTA(n6F zuM;kWw%BzQ9y)GP7f||Cs+M0{UP{ElLL7r+=qkgkaVdbe1xQQN^9-InIPvR7%|&;U zws2@`iFtJ$%F?Q}YFC;Bd;hi#)JIyM5fI6I86JMjb)XCqJLz%V4i5uWa`IAB&(h4a z;l*ZssY*8bwX2VxE)B=>J8CAko(y{TJfg(6CBUp@=$VM-VPHATdmaHd*?w~JY$9nz zHfc7we|@LtNW&eF?gH;Qp$Tc(sRcIXlg;Pvb3H(cpnWQC9=Rr3vLCnk!GLNC#RVH2 zy1%sK!8iJTxfLyEg-BFRy#gmrNoX7#oD@qbmi24a*4j8Pp{oQn-m3%*l+V*{&B8n=$NAdZPxrQKKzI?s|S4n1?1Ut35J<{pRe~7K>tQLQ#K>F0RkLs#%)v zr4H`x1wgcfKT#gFxmAEBCM0w_Kh;aC%ZQ)cgffoPmNa;;(xs9(rQf%J-80L;!4l(> z>De8o5@hDS#oor|2V0~%IPY88>Zr~=dqzf#3X_uRnUr+TW-;9;L5DE&ay1#>A#74p zw9b%z@y=&@!plzRuqf=7E{47+KTtZZ@_eCpGq4URU{zs?FdfRrbOdMj8W?{0K!>j`!@;aGoF2 z@C)tdN9AY~k9c9>yCnA?TvOVMEuP=jp1Kk-*bX@N6RDDr+~vU&{gWpo_?R zm9UVFh_22c#bC#sqJ^{VzMiHrb-6UYk^Fhz=yw8@*d$R3Qlj1(1E;-w6zrdo{D_Zp z{EIMWHaP#w^cUs%37-u(hc4YLK+9p%D7Q(*Kvhcfwhapl^2x+;mbX$KL09uYypKYf zUS!qAnW>Q#*XQ?Fd6lCY`L}VVI7UxH;QUezw8~yv$}Di)1ZYnAO9V?76!rbCDOOy$ z?Upci1lDeklEQ#;7u_nM)?nDi$l7*W+S3AHBR=1OB7jmmuM|Vy{_@CL`l+D5nk_4!uBG zKfrQ_mD}c()9*9^$M1M&Hq(WV^yafo@RR2%N9 zhnmR7+s78^Cg^95txRLeLr$a-$`7w`5Q7bZvjR&2E;qNqwd6%=K`lAhqq{lmupf49 zcrfZhhk`4?>xK287@n&~ZLjtMC-Nsv{ov4zZ`hXGz?yrimA5*zLj@~q+!4zHkI)!1 zgZJ1ZiT8Yqn3)GQrOB2nP1~9Golg8(w$gbUPn|NGEG&rWyEnIbAOCrxwTdok?L`|_ zt_~g?Rh5Dq)p$d4;9zIxpD0k8THp3zY^#3TuU&m7YN?VSLHSD+lX|ZrJ&>j|IQBLJrxiJv1kXGnH=XY5}4E^mUZDo#gQc)LZQCkEc9dwFO zx%$=iYcFv8Gu8+rNo}Z2_rO1m7^NMpy$!bN$t^i$j2&ttUwU`(C{ll-n4skdN8q~B z+ToaLzvrLsO3)W<@Z)Gld(1n7ynb=&3SQetmN$up!TR)f?BSZh1h>PS;C{;%6&C)6 zpBc`|A59cxJFaO5$d6_pja4zoM>|^m9!idx)QZC@3>8+W!ru9{WkAfOFAsF()lWmJ z9i}B1^jko8eLN|GUg-#Lp1_Q5?S!lkT+kUTucwI=-I?m zFJiN+P+9lM@n-(u?b zR!^#Sy^JXUh@%2`{I$KYP1RE0Qr)d`v$CS{uK{I(rFuLkOf^1BL8- zlw!E&bX;+`@1D2VO#H=o!|TSt#fSZ{cDZpP%tgN(uh~5W9g)+AHMU~xOTkRFJ z3SY13J8^eVsNtrs&3exnLY5{ZGd)fKYRNOLV@BZQ@WStTsU&pZ)hfABk7p z#iS=Pg=!#%-T`d48bC z3z9^a(ub8EJ?OD?pNoiAHElQ&5${y~C5T(wJ}6g!*Q|x7Vqs`|{m3p8Up&I1qFqBk z1|(mKNbDnC3LO-Lw0`k?;QiNqHx-bJ_A)G=U$tM%LvA-H0gqR3vI5~_zDZohurr}7@=NH zqcN7f8KxnZ6qz*}wH>W4lM#XvxB$Z<@f!XXbWEPd0Hw>O_dWMj9 z@>}7ZimbMntD1`i_ zB`IeCk@mQt@)Ol4r)dd66Q={TrDiG8KS}XKE+ED8LxEVhJi3gUnb9_^op}hTT7KFQ zu)d(8NNn$espa(7Rh4(13F;d4zv5K1pEs$pmQ+~WSCtFSA#+gR19uFHY`$%(PcJ-x}X9 z4k~-nI8CXR*(0i^(|z%pY=NJ3XM1e*dU=QuU8L;wyVrZ zlav>nLCnb{$5Fu4;-@6))XqidDkUkuEngYgTuoHNJ(5D+>2HvH?e~pC+A^B3nXTmR zj9~f0yws|mA=X`s!X+VFIAxB1C=b~Y z*CT2Pj$YPp`8pzb{>MA@@ip+_N>)v<)y?Vjy=dl30(Ic}cn6)OMacJz^1g;I59c$a z>Iy4tf*{9nrs!ID?v$NaLsGstig4r5p;l301I=K4NgKO4wrg(<`i>R`jE@au&k(eEseUWVH33sELk%~RMO z`a>g?&WpLMJYP$M_vSWxZwr{?WgeS@-sv6nlGRb&%I2E1Q6x6VM~CzwoVMj}y;(hH`L|Lr-2s zcf(;)5|N!T<&}24s(La@)!K0mY0cEZ;y>6s4*^NmQ4gIN$GEkzp%jgk-ax0OKhwVR zebKakEk_Qz{9xv|r7WXtUDj=qze;8ZQdI4jd_WggwPcK}-IM4kcTE!OC~DY8hX8|t zuxnNkTGwXwO=eQUl#@0gE%Wo!J3Wgjsr4QAet6 z>5S-l&T*h3KL_0HP8ux5g&hRqSo#yQNOIvXXkzCIpt2_U=Iiyj@?Y7K9?rqhl>QP0 zZ+q`8JJ0FX=`V3TV{t%ES#@y*#)o+^xS_W-G?a!2Mcx*OTUuJ3_-V%4@B^TdXRO|3 z#pKT=AeK6x5Q)E=NlE_Mc{(mfHV)#H2iLRZ&bJlMOKp=P4;|tCi|#7)n}*LVkSJ~1 zCb$9)-;kFW-7cRz+OliE_$9&KOdUa8!;CJFStI18%4FmMKmTg)FCA;;+xIKiL0IYC zDyA2T=`{G_`6c((!uaQbaijayc}ZV;8XbeR;qD#!Ys})X%24S!H~X#DGQ&Z7xYFR)Oa-6iW&jYcytiXb z7W1q3f#L#y6$RM87+~nfp!-IgjrZf_W{ni;@&z(mi;nl<%#c$N#};A3bJs?Ui_Pk1 zw@VaXZ6khKebq|*>)_T@a)$G8z|36TZQjnkBpX9bz7DRKhfmCPs?K-xJg*oniis2S zWNcpeO=IIRu%yhAn+nSOU#e^^>LN=5GUvZ4O?eCwYWHogXBj5Yo9U6T@+l;TBWq_! z$(*R9XiOVL%b5X!10PXF3Z|y`T+A5f2S$xV%o43R+dp4X_ck^eF%NTiRjKBvo0|Le z>sNj#6X*OTie4tt+xcsW=~xVu2(5IOJ3aX8Bb=#ipL5lkevBBZ#A?r}L}4w~fD)5M z>N&Q=P_IX}u@6<`k}1GMEP4SEF|<9LLH$_}+xG1hv<{bCK#3kGr@PVeiW9azqbgS7 zg-;c^=Bj@EToQ8Vf^N;&Vcit@=!FVvb>Z>rU|H$>xOZ{)WXx!{3!gGJa!1AZqp1L* z8i%|H27i~*NpIqT5ohmD4QR^=yH{$m@nqKy1qGDcK&B6cHBUGfx|>kW5mOP9I-Pn9D+n}uRE;Ak z!L}QUO*X#;2)(}v?g{3tJqZ~ZL}WeYo_eX)+|otyF_CS;)u;kpb7 z?CJ2v$@FWwz<<@%jV+$0yPiB9KC1yzvR0RG2~zsKpP0s@vY-ikF77_1UzbeLCsUFe z)7|2_aGk-rHR0j8SQ(NC0#?0P{!H6S zJ&P1x7Q*g!RE(WX^wh)dCoi0N9u%5-7edB*4?iE|ik~hMl^7N+CFl59@LQa5j%pka zm$R6vNW*-%mG2VNFUxW6T>6&^W<3aCfY9KbL&B!pmg*r|EzZB}LxXF|0;b2x z4ELf{pC1AwwrhSx4~uT*R)r@ddd7b3Jz+t%lD6owFS%}4o~Ipq5BEpoU^0jM@dCWS zJ98H`i6=bHN0*FbD{pt^F`QYC)R>gEOviwz84z7zQtke5x%Q{&nZ>}<^TRY__V$1` zNe;H&YdNqn@8Y~WdA9%HFPy$hFDrBIXuh}sJjC4^-m>)C^~zvGDqts1z;alQbMVYL z{LE|wB?WIcj2Phj{x*=3D05lju4QRIKhPLJE6~7U4C9*HY}t-`JHW+kHUW`|_Po{?6Y&xmecZ@m9k^)F=!QlBcJ9`<9*x6y&|C zW0*4E07%TzMQlCcgR?8a*mrO*lVNECEpww9(wtb2^l-6>T9q+Y^S#kq; ziMCc24#ZlgLtFu^>L6;>S|vjtSV5bEnWKNpSE5)lbul%4~79Ed;XEk;f*eu&5n zM?RAa`t)FGXSWrsJ$wcnFpqy}PE)N?etF7;Rjdq!=fWn6y?0N@icDdT=-!xLM^jY# zZ#2ZmsG6ofJ*w5gbGa11-v6VXG7F2xy)qjjsGu%4QN3VdX^EX5uEG1ZoPicw=YP!8 zJ!WPiT#h1k>EunYX_YliIEOXcx04dQS8VN1T+FLAyzJXr=CsCf&WlkVeLDPlJpgNx zw!@4x2<*N9@`N8c@C$fOb81L@Ib|55e54#psDiP^Fv1I<~m3Y;0`s6TQF__;~%RY5ve&f!9uc zd2}O;ivu(G)`Oz?d@~8FU{GN0V*a7`b$4%}zh&vT>s?4}%Xoat_-k=CG;R)PzFvWc z+t4yM+ZV^QXi={fNO6TpKizSUB^7t+l(~s!AuA#dhv`bkyWssMH04|ei&mDb!{u+Y zN2s$$t9PGc!{VweV(mPy+j%P5mkipM588WupAr{Mtl6;J4n1i$_Rg?XQW(f-XHJFR zDFN2Z-28koRaKi?vg&cN&=2N1F?ZBK>wI7W8Z#cY@gA`8#PY|r@R#JkaAqj$3 zGb{;O>7TuIOzn?;);n3~?lqu5F}D*pj`q2So``7&)eR~b+?l@}lujXeDW-WTqG3N3 zpC6~ihJk-C#xT`{zi+Q&f7AH;Z}9y%US0U-<7d_CH+%O#FY1@YnHZbpM{OuCDGGv0olf zcyH0(HxMg+VX?K_y}|Z7bY=Z|Y}kazW0U$-b~X3Q;9ZFY1$zees9@!ItoczE?u-Uv zD9>IUn2Ik?%y_aCJk4m1(c#wrCFfXFK1*PV2yb+Aob|6P{Fb`9kzfHBdzd;u1k|eP zn{0^#ChAx#P8J`~cO-L70m!s}Cl=JTXQp?iU1d=te(acFp(_RRhMxAgap>EqC-^V} zr0_8*cs0Ui7DR_>J>q2fCKe2`I4pov7dl{%#fMWh`rsXb-5XJMWB$i}PhehYDGuTg zm+M+253szlrEkmuM=yvN{{W(aVy)R&HeL?9^`Ul~Q7gwUv%DQ0V?yy5K=F_X#Q`Q1 z7iB=FeL$3Z0Fv4;!ydV~xR_V^KpY(M06H)t#(7tAe`k4X!$bk&v}$z2gX`%BW}}%O zV*f&K(n2+Vr!MCAV}jcMP&3PaBOcakr@RW%iE^Ac3<9A+%;6+8Fb;Z*?Uv1}Fv5ki z$g6_%dpaA9Z)PK|cAmeVCDo+H^I%8?>Bv(`IindnqP%={Kq}cFC!tXYn)>qm5c>*@x&DrzrHZL z^L{en!VxfNLNw>ujDHz#Ft3cD%6|+%0g)ykBBN0`?AA|t1TlK_sC+jVMTErUNdKp? z@b7q|(g^$lU~OBvB$!em04=c{GuoP*TU`HV_k1(H>c6Y5>ICf0AY9!}8Vz!M3zaH} zVEzAc`A>cJg3W2Re<1S5lK+KC_U44@JPXT#^APnvP5$j( z|BdM6U)bJ%0R#V!L%q9C8F<1p*?jyRwSWj}1VWfN%3z5MOje_7n>9t0)gPlNWWEqK<>Ce zAUB-v-2qqb>aALUKewFU$f(@|FQ0oRpTXy+E)tq9s`h3s?uJgL5OX_wTT^CdV<%Hn zJ7)`fmmRETVbF*k(@5OO)X>G!-tM`YrL8FhYHISFo$a}pgVS>kHV&@mY@GaTy!@P; z&y^Kc$^(rdkmnGYw_<7@shczIJ~~H@*L#Qv8o7#P3IWB9fA90==hTvO_2mLN% zCf*K;e^XnPmzOs%5HHt77o>7CXj?_{g=pf_TrCq;^Vb4yMgne3JIvPTD>lc4ahcRV z6%kuw2YY`5kC1#)&(@#lWH<}2`b5$aU{k6ovBz?-s<;!X-ItH$^L5JNO7q(wIhr#>i^=4 zJY$L6teCX45()t~>F89&0vn!`U|h2NrKKh5Pan(vyL}b-UL0Gl_N7I4geC1>4DC^I zENk1^+79>sdjEam8lUg~egOYlp?X8qlw;e(*dT4k!E;{=07d8i+|3{Jh*Aabba1oTFBfxe&47>AD zjDp`qnkY=7sHlkJ>*t=!VB`O;fc{y9yhR{vtpB-$H94jjwf^Vz-iZq+`hUFSBmVP3 z4-VY;_X{>YQvQG6LtaXW-~IQ)&n1hsf8RqA$#MUe*2LueuP6TRhx~_({!c{wRi9E*Bv043JZ&i+zx+5719N@=;`UB@a{qah9!mY zGC8v;?+)MtZU6Z$-E-xs(DAtOzE@)u-ff6tSj+rCncoqk(B*Cm=0bof=7!1~%Dayg zN0T_s`@Xt7g1o=eFL?0P?{e`O+Z#z zw9XnT!uI)$Nc444gQCuuZP}R6#0H|h&UWI?0Hq*hq(+&3$ zcJt^p<{!TR$`L{lNIwP<9fGODleYv*br3AS@o)TG=R28puJ%KFc{b{oXjjV`TuhEp zQ9On~UP*un!ZR@wl*|Rd!Z}`Pt~A^q^HL%7Jq^UcEaHmH?Qo6<0_pkcMJ@^z6T*9* z3Pcx>8yXs#pHWLrDryeC|DJPQa|80;Y-ABqhYiLs{}ux*nGeb}nWFG8*t1rHk;D@W zssylnO1ZiTu0@IeM`sX-%ZpU}d*ISryrb6v4%ryI83=Nad=4%>;sc%j{(^xsQR3fE z1HmQHCFMx0d$0ZhGQE4|xBkEE3_K3J{@>uCD6vtwCKUx{Py@C=3I1cC|Mc^JLR_0D zFstXtu`zf}jYj%{QCw_nVO^c1U$cP*yn4dv*L&q)!&Ddf=$nC}VMmd?ejZGZ?sXWI zcg#C-%iNXfC z=IrPQtk_TNblMeNFLyP;2hvJSChR*O>o$kNT&9?Lt^a(UFF*@p)(f*ofL`4P3-^=1Ch>>t;=fHO||xikrWrHNGs$5ZMT}Ta$!Nnd3AJ5jE+Ai z=tJ}sSYQZ*pKKefCw_$;`cC71yGW;5r4)Z`%y*0SzM1m_gR9c_Y$WUNLGu7Npj?>d zr2{tt?(KRtdZGLM)f>mAxXch!Tt4G$w13*^+1cOy68&3M<9n!v8{#kQCa*HQD9TnC zDSWp1!~7AYzWJ|giSuK`wz8EK%Chw~=r-~8KT`Snk5rbHmo2+TZ54+3Z{55hbhMF_ z%)k5rFFYqJOKi@6ZT`u&Af<+$UXHES)I{Jd`R%pZlN%7x4UFnOz$m6s7dPZ{04^D) zDamMld(6wPV}I_ix_OWbXDHpiecM)hlnrNVCV^t*GbFXBhWyb@NM=0-I#~YIV3+Se zl&R>8$YiS*h2_SQ-SZAE9!y9il3z`2q%Dt`ft593Zs(!3Jfsf?qt*^a;YS{rE%E)I z4GQdg=0`0iqV>dc7HVoCs&dVeQB?+>kG~$7lihgPzC#DL^QdMd?{!lyKsfzVirbGA z!9723efahMtv)XU11dIDA*}U{BX%PBKi#9i%&Len`_&|DgwtWO(v&WUFLLa3yW`aJ0jZ$kh-Rtbo>rXC;xKGB7vnK zFY=#X9D)=*Hm49u0`A+fBd*N`{5jjZjrKhFNlqm-H8tz2EeYIGsC_eXG0YJET9}%e zdZBpxQF$T_RApmR3uisOI)^{6ucR}4&TGLAxSE(zN^ku(j94#l`Z?=gnH$ zjb@E3^&VF6ZUREj*lOR9ii#S!XuBVN!NnTZQo;A1|DN=cd_MP|xO72jDn{V8zX=CR7`V9r}SNF4-F5ub=9h$DcvZ$NTx{}RWzX^P}#kuDn2qcmeD2vc`xbH{Ga@Q zIwO6cH_!L$7Ea`#qWb*$Z%O%s4GW=V`cWR1sSu36Fw{uVc;K<#N{nh3@ml*K5E+uz zshB&rI()IyRFs&QxX5Bmf?ta!4RCAwuR~wP4811{?%V7__&Q+SQ zwHp`%wy0a3Kop?Rj*gB_^)u#I7zP}m2+R}M?6?51*s?I~)BN(bn|B0kXFUZsT9W*tNq8&g+@G*rdNNI(Mn=T{~o zxm{Y^&}P(ah9Ry4E1$u@fw@RaaMEubo5dGisE) z+tF`4tdyeEX!b)#)cep8sELcWSV{tLgt+(tEP?zi#+cyy5>iqd-X}9~GBaIx!{x_< z>L*(2>Uk4oO{KRVG+Ru1k_(s}-XAO1#F3DYNRz>^d(i?Z4950!5UoQ7RM<#j$2Q`? zPycF6|ElWqN6Ks@YIFqABOYh@h9ni*B^6U!;K%7TIr!ngId>6-I(WQNiJr~4C^r*A z>j>>HKC_q}FMp+nfWc(TnvP%jo({GHiDTSPhg$%5GvR+doX5n(U;VbSwgxlIL!qqV zVu|Ss93t`JH=&-sQ49^O*j;6rm)ISz{J)DeWhzCR@NQN-eOJ-NBF^))f_`>T{C=O> zk>WPo&k`#x^&10Xs$_gz6HHy|H0|bVih{}~o*t`v=!YUktN4JgJ+diOvz>55#%(L> zb-E$dw^auW3No8DutyjP3ZZn$uVgAT^(r*eqLK71M9eKK(VR8S+1@xYjFyGjPx_ow5jya`;A!UX^0=_3AL&W{E>t$Ff|M`%022IAB=$p~9>M)h9q0(&H z{na}Jgf5J~((@_%guA3EGk^I?(sAb%L`O&e_(Zn$R?+lTbea?Z>z8X~s(P033=c+& zD&AN7#0d}{dQCR?(P`42!DzTg7owM#CvrnmPg3I9$>}TFao_2d$%JmWmg>s1n2hUg zo$)|iAYiKmBym&N3wtO}SdXCw;+bL7@p+St-h@mn8nLZZDXmm8{PXzpb#-mm5s$~q zRSBbI-@LHJ2{Jic%UY}K*O=ZlMDaQ0o+~A0j?6al%}xgbAp`&+cnVUMOkL&Gn3Smp zU4QGsx@#I)&c$P|8$Cb7-kUsZUg?h{Q2EHZFXYWggyid$l@z?V43|Jm! z=Ap#l>W+UOs1urYL2D$kzKIl<5g&Rj9eFJ6F(sH+nv{>5D3Q~MmZ2t_QcCKzPlM;dYKHYHu|c8Tjxf@8?uGf!xse7(Srq|=I5UB10tROF?^SBc z)?={O1VdhMg;M9>F4toSZtW&VcpZu%f;Z$TZWz2LA9)553Su_4z;~( z-{kL<+BvyRuzQ>EFoXc-69G;z0XEO|o9`qI1=oJY<%E?L{&3R`B@lRI}GQjVM#6HX?g^RRvEO@5#` zjF_FOoo*|#k*J857~s14)fVqLO)M;PP0L2esXJN0jEoluwnC#AyJ)4t06XgW9G z35YBWS6o+E3H+V9LY^!`sG5pa?)m#_)FmP8ff`+xsj6C)Lh#^a!UQ21ZJFRCA=6Mq zoB@OF%=_>y|G>6~0tSuVC)?lp@Bb_c3kw?-x;~g|_iX}}?0lX2VaD+>)~^67E2|~9 zdL?f%2vr#8%|OZO^l*mhs|YJR7Ud4;M82y{Dapi)kV)ivNns+6L~A;23lXD^+E=Dg z3$3O)g9w`2=xT!*)dG#HVA9)Yb*n=D%;03fGb_9p}{at3G;z^skyH_yan!fbHNIS-cnW@$N$g=PRGB%Qa*5Qq31q>Tx(SgIg}Q6}><6 z;LtP5T&!CSJ?W~v>hVbID6TJPe*9Dfce9(Owkq)lt)J{#UjiSV-ODI5;@^{tiP1 zo@(L3L1>YR;!XhP&!>TF+YARy%7&v;Fp;X$+;09DukIwD2wfR!!Wcox;F7Jo%Hf3` zGJDYx$zg&=4QAc9&`22lL~h*>GmLej^nB=Ji5=q-T z5Mjcju~Ppv+!kdQ`6?hUBz1MjIqq74WtO#?mVQz8g7{>ec}zu^Tj6*LH6JO#vf#eb z&-DnEykl$2c}m+$hw|X#)J*GwX;@WNm0Q@uH5MRgK+)m-L2t5%`fuO7afY5xX`eG& z>=zo)172_)d`ReeG>c-V0~+r+ZHfa|U~lYu=YpbaRf8^8saF}&{jiF2E7mQVv2V_)EUi;X@Za$!w-?4zBQVd* z&VCa%);AogmjUbPh~u1P3EAw8FQPwzNvZkc%D&cF#j6*6y6#J`xIJEJ%S05m@MMuN zgQQIC;~jW@ouubkt#-mu-hS5!?8gfo_WM$HOKYEN;9{-Xs)Eq^RhyBsj|CeG_n{2J z!cF3fclaw|Fb3c2U(dR{8YmFPq_y^q2c@%TC#i0c)Fe2l(XzQ*cv)S=3TBvp zGYUsp>I~zj6(~V?M7_LxzgXxxpA5U@YDnW3XDT;y*aBy%icg#RK9aa7-yz5fuSBCa zYlb=gD9)6@-ZWqK*e6%tcqgWQb?M$)92b2+xu^gyHO~ffX1qe%n_eB2?c0shBp61O zJh)78(qtMs-kPjumh-$miOSD&;4%+CH9`tnn`?O}fMlC*_G}eVK{dpkL;;JxiT3<2Pi=OeF4oY!*Tr z0esB?$3FR61Kf^4haUL*e!=E2hue(JMb^vPw2{yrHj9=1nWrGpni@|ll3jCee0;74 zglNmq?`NRynWD`EUDe9-J%G|%b|B(-Py!Wvy_E(x5}yLAD4j*wzJ4$0&19WfI1zf= zo#D!%)CgCcC1-=;qw7;5OVxZ0pKGx#{VM4M!P87h`P7cR6;)C3Rf4#)| zoAjj`?21yAt8iHqvYStBxXmDUa5WV^{$u=}#3WBAeP`Wk)8w|u&KjVi0D$Alw0 z$~OB^6C}ouDfmgoi^qtz25ajJ*6YHWvOwPAo+NH!2JoO-Zy7WYg)JRi0MLOzwqSzZ zrTe@MnWDCK@P4TRJhk5e8_SAYn9j^ye>5?KS9NnAsyT zVmN&a%V476lPbdvQr}wJCRwbDlzb!3Vj}u-MFUD7=xt}bHL?U>DfIbKn9V@Im#4v5 zv6P(*%y0`*fm!m|c`vji5e5I!`uDNhkmu7*V?8PpeIkhSRL=5*$9H;^biU{1;7wYN_rXeRW8Ox*K3P^cI6oa#L0 zp*9h!b1z&A6ypV4D;N%l3w`EvkqLxc-onZ$aI9|sT-3r=SK@BWuwSI8yC`rh)^MDh zoVZTP+tv1G$y-U<218Qn1zV_Uu^&{Ui?sGPXG_Y^`w8Usc37nRwto-Ks*KPoz1=>l zgb`Ryd^r(u1AQPj282e}-rosr*3N|=|J-a?qhuQe#t*0mySG zK1`4xtYFIL3^eP>8H_Pm$e?af3C28;)wFv3CgO*m?JUbc8b-5vdR7lCdmGNq_mj*C zG!aeZNl(mP$TTTSUnxtA$pn5QP&=T%iK}H&Egeh)7&nx`46wxyj|Cm|an!;!NC}hpf%$dThW7kGOPFj~ii}SSx!vY&ZNlD~FoI^g>Qr zcHlb25mB@K8j5KgjoQq&953b(N7e{7)?b};F;Bvu63^xT`0?YO6i#B;j2%>4Tgen~ z-lDzy&y8M3Lm=oCjIM6htkMh=mDaFcT%=Mezw~RiX|I2=`HqR`fk83^GF;T7mpP4W zR>>^=KJlZKEtYGEl=iq;E0{UIcM8rtQ(QMBk0i2H)7uL?#)C!^SXd~VZcD1K*u~P+ zdZp&Ajg&jlhHJPC74q0pm(PWV_Ww{Zo!Ei7tiI~qZh5zJrsBQgFX#JGDF26WfxpD# z0dOwscg^H(GAj1P}HGL21xO6J+*jNTNjhFRvtRbyb35HePG3{1S zRep_49)E98TyDF&F1v3pdmK0p4Dj8EY|r5p@z+ZtJV?o>jL8iUp|dYikGZR#W6fHp zRcZmfm4j1;FD|vQS$St;k#@&wD_z2g=C(;SH%~Rw-qCq~Ag?+PLJgtkiBM5dp(1B~ zPw7^#ClnniUv0#WV`^r%{*9ue$@hZm!l<`%!hf2gqpOR7!ne5%IKyY?tMBdiAfh^P zn?B-a*69}PcFwJIu7~bZJ{hT~>^PX<56#(Vy?vxwwR7w%DAeaKd}T1CqWw=-l%S?# zBWt|CQNxo`^KqkC!L=!;KM&u%Td_IYuu4vUFha;+zIPJKZkZo_XO42k9pb`b25`Eu-wM21X6f zU0R#f4avVT);LbqCf*9EQDar!l8QSYMLxuYsPH3**zUHl#m?3v0PDiZafAhJ3AlG{ z9CbNXunus>4&{UZ!m0)}V3pY?Ahy1~!UD$FA@b)&j&AN4(ae zxL?8l*d$Cgnwvq4$2_|D-IoeJvI50}u>^(z1U zm-;i!vhlC%vTOc1x?frpNfH1k+r)Sk(j6dRtk%N5s&}7Zb7GnyPjkq}tLhS6SBK>DJO2v)k#kCF$}%BW%>u&QD3dahZzKYnHq|y`-ISZ1t5@Qi^oQ4dDAq&Zn}SNP-+i%0!Qr%oV29yIGHP;2ZkR z6c*AQZ6;->qHCi`-OYGyrbkeCOA!kzZK-6sW8!ne&y7)tU2oqcTl&w zuSK2}wi~&7Ev!KS*4MA5drdF9>F>Pg7TNNYSJ_;_SIZMl`ObDQ-K;;(CZz-jN_h3^ zyTTsU%nh(TelqPJ931^Jj)Y%sA(lD%8rF$%WC(u+EU-37Qx_;Ae=wFR?|l90_W5uL zr)3~uzJ>e!sl$5UT^BZ1C9;+Nv02k@wQ`Ry3%KyUL*_c1u&y~j9cLQ7Yq)_^!xV>6Sl6OrWByK!W-H?*u^Zu9Al7%urhvx2iX7UYp)yY(a|kAz2Wg`dhNW) zY;KrPY~D|HUcrY!Z(!pHdE}XOEZh6!$LBLlaP%p!U4NpW-0c*zBGk`1v&9e*&SZX3 zYD|pk>C)<|_4Z=3^4XL(=yQm$r6Xhfa(n1Q1;!fu6p#f8rmO^85sy>l<*y6zyKJ*I;n-_h8JS>7qk%zXX< z|K`eHhu1C>dBlt)I9%bFn3QnpMbyo}pLp5EU0i^IzP zxLQxS;l)pXM6aP1zt)L&-qkR`YhrqcpRF;*2a|Le*JxFJ8V~8cvyls zY-KESXgFg`J>DY(HZn5dN{0+4Z0TmID5GE9apapTu!dYf%+QM3Z)8sGdI)Oowu_*C+GmL5FglaId4bH!wfO7G z$%VeUAS5Q6@H#fh)??8_&s~>1uxnJ$XgZ8O_IV9uiCnD`!K!b~#%lJ}KPb^qxSl`jdfB@#A?`)GR&HTm`)`dJMP?_w{UE7sOLB~{PkdWJbfLn}udAAGsYS9ASI zMr^AET7aM5^3$Du4`}_$?6gh8`{hWJ%8A%3pVv0baWPX?6`e!bi`z3Mr^@ntzOI&KwVCFkGyp98Gky!cRXwRPrXRp$n7XQxbvq zGZE=s4~Wm4dpIL9oO%H<-(EmeRahuinkicPg>N@qnsYf%zW@8T()DCn#F_`4JZwA0 z(0`F!f69Cokwi_tW(OkihttDKo$G=era7%fQHIsQ=w{=m!RnZNemL~wugt5HzzZ&~ zkq*2wK?vlvhUxZA3eEHPVS85zjSjz$e7I}7uKF8Gc$}x#sgdR=)>!@pe}%CgK5aGm zU=^v$vU7QK(DXWUbC`8lMI1WAdl}v-H1DQ;QS6j}E@N;euF@$MH3uafkTq$Ll*Ulu zdUNzjRSI9=H?_4B>yE~gwNkB0em%}r3-n#wA-zg7OK`1lUE6>EIKoy+IwV&_NjQ95FSZQN$<&7H< z{P~ieciSj~YLXqHGs6kv2oXY+aPzbZVzlU0GR$m|Cq&h9b+&AF(fyHCey}#GTDrWnWTC&3Qt@YuHyk)u8x@9#^$%Z&CDCpPz#)tA3-``qjlYaydaS8?YM7omrdZ+q}mTc2Q$5b}`8J@u@gE^2QMF>MWubhQ{Z z(D^E`pc>1M@~eFuf^biycv*VVT2Zf}R&_?}$tWn5elIAt*(u&DqE;2y+9_1s_J|C? z{CYt^F1d&b8Aq-Nl`MAE{qMW41r+_0^m?PH7}4aj@{~^~J%)8U6!l&??*9F{4W%;c z-SP4*a=j&mi?VB#Id6*lrf2+mI1G6sWqN#j{7Bg}#P z+Y$Uh912Ft#pDUgS4d)6HNirl!<}s}cm3>eJN6FP1k@d5HrUM{kGU{&c_4dn` zFZdCUKNp{#dMG5n7F&&Y_NsaASriE=De006zbRr$sfi5&F^okV^TJNJnnNTmCx{u# zufyB*+A9x~7^cp&!uArYUdU#gn$)+G+y_xEl=q;`a+#+ZcaT7ekUNkYQrTUaUVPim zb>`0%FD&agli`@fjud|4Q#8$8Ibyy*J&!}SMga1*ka-mijr>STf89XW4O5};q)~>O zVz)2S^D_LnppNC`ThB6Oa3}>dL_k)t`C<}BeN!aUW25L<$irftvf40 zG;=*sma_CS7EjfS25aE=`Q5tVuZ;0y7MBs->rUw=4_;FibQfW`GPp{x%d6jJSN*ih zP80qxp`l25jq8=ntvV7ok|Cr8KkC}Z*mwfuS>Nh<9_z+!pQ=`tg9)SfF0U3#RejgG zHB$KQW3jGt^rq(IDfy^?_m=GXH3yvP&-kx;r@ir-4cINkBeYig8T!+ww%Ko{5n{5n zLP2j{V8UF4%@?zl+|FHCH(Cvx%KZ)}3iRrdoHccAiZSm)o0p8@?%phDXhKrOHSkIu z=zA4SQP^+CBX8#!!upc%^>&v#`c?1N)^DLc)|08z%pj2m50Q zRo-7A{FJVI??E7UW_Xm_y6V8*AKGKtbFPMekKqgjKNP7n(5UJr3|{M@pIjcg?(x&Y zcs`*&i{|E7+SoA7$G~mBAEkM^)(0yB`zEY)lurPi;?hu8DFd=aCgLwrlW2``nEmlk zAn_=I$wo|PNIO=adn`9&$`NaSLQ-sw!!?sy4)a!AQ{O~pkQw#<)& zc776plhgU_L@lt9sJW;aWF>Oh_o$Ws`;TQ8!;j_--oL%Kst}^j3x_JO2@_(AN@u4G z%Qh6#a)D{JW%ql(M-5`xh`NXwq-qg$Gj*8b5)E9`wiE<>LzopI6d`rwY^Fu#*} zJJ*KVDQ*{{vb2K6>J1Yg*R7QP4QR!n!I-{_^C#*JuhPafGg>nA@&QkuoQ)@vg{x%q1g=MIm@GS7K;B{uwf`&A;P!@D%_(B$Bzo=>bK59+2jjr+ zNCW7KfBIm&gp$SCYGt+Qa0MPZP2gB4 z!PfZ-p5qRdw?EYXS||OXaI9l!V*^0>>h;E>wC2k^9la#yVv7X1xwCEqwUk+%qhG2Q zXm%!*y%6W>g}G}yRhO0F5>o!4pdjt?4b@f}%5}GM2AgEZJzFOU_c?=P2S3#|SO4B~%RaIi2)}DKuP2qpVh6I#?WT&B7p7&J=ztRC*{P7)K>K3A5)V{=&Um0v# zp*P`~OVGklK@fABv1cQ0*TjC4ku|g%A9)E;(3Ve=b-z>(2^FLuQqn!=qQ$App3qd^ zeo1J1;S293t0AGq`H?@NnPwg*d*YH&Npb_Q6|i>QzeO&^W^q##oBpy3-e@lMKYn^d z#zBMg&Q%c|j5B!DFHEhJc?9oQ`crQhLv%I&(C~AYPo0AJD^^w|0lbp9VOx7rxr$?C zwW?j{d$pMs@K+_e+J4v=q)k9l4;0t2es~9p8#8k#CifI8+x!0Lg9xuNygPomp=`fV zE;+n47gqztck+q3X>@66Go}m5z*D!U&*kSYEv2+WVXnqteMCk=yI&pGzXRR%wng+}Y7P|@^!3y6e1w%sRa31?m>vz(id+W1RLbz%52{b<94^?H zes(2l8u*jGWR-)7fA_4x&JpY{E|++lQ(g7r5Bcrtv`2OCPYGqEWj}+Nh`&+!z(V2| z1d~Ojw81uSYgf!4+>-Wk79s;{ zn6*{4{Q-Gi9V)raZDrI_eLHGJx?u_yyb#C#t+HO+Snlbu-bD6HZ(G-iZ*f3b9dbDm zUF>U`1naq=ve^Uja&cvx^O6fJE>_hB=`5AVjk00niOZ&pY+5JsWIBg(%%C7xwPBL^ zTU=h8eIsFhVNZ+Oz65_WNLpKY&ujB#la=+|56ac=%Od49G6HBJ+!mf#$UT(+V~C{= zlW=-FRo&=Nf=8KJI@{Kw}kP=MPV&#Vf_&%(k2m)D^ME*VcT(iW2% zJwhQF7#N}rNl-KO2vFaB6AY{ROo)Q$-mNOPE$uB(q6lgaLn9(a18!h(*-gK0O*cuO zt*hf_HfYkVt*za^K!c#x*hrD;6uA@|$w6l8%JGi7SLq{i@ z6Cf5K4=QAUB?e`Hmb-s{k%A%`n;N@!zae_Eh8hR-?m4P=Dcw<3`>F2B@KOt&c#g|v zg5~WeHK*E@_R#zVbP`8X-EH$UUOJsfc2aJaU_4t-S)mxx=5Cd2-!AQw8jim6q_3)} zB4`(h+6y|xNjo-wOgEBmgs)mFdXu-xK$^}uEKc&h$zZ^dp8>h3#=O?cbA zyNFH(lO+WRD!r|FA~X8d+p)cl+w)Yy%O8!``jVH(S>o4>c1HD^M(=0WFMmMz%ltu2 zzSqK+S5@vivqb%1nLs>^azM%dT($L2mEYW_79QKl+#Ubx3+);ktrP?AUmtGQUG8^J zHTYa#p=o8T$4Zf(@u|6-SLD%GC(TfB{HStSmnEU;q;bb`r6;L9+#3l~uUm?iBOoJ# zcXi3i48hBqU>Vn!s|>=hM@f9n`F?w023$Jst)YbH>q`DGVCSn7-6!l28~G`AL&aK^ zBM5tgGZ=^(&*yi0SNC89o)Q=4WTC85>bjl<&;U z%-|bsZEaTPhwJCdto}v6KHf#t;Xs^=j%?J>S*;kr(49k7;Bub6_syV-_F2Yr4DkdZciB)Ckh({cr6C_R^2qe zmN&AfsGl3Dui9IZGR`4H%Nq;m8D2KF?%&5Mh1w2QDnxEPWY#D#&&gJ8bCYg>P~|jQ z$)olqDYO!RRc}0=v`*%8HiNq!Rap)n*3Y50f8f%ioSyq|toB2XLJ32KgJL`xK8oQs z*ae>>vZ5wufIlydRhE*~Sk_qjL-q7499pcra(RaGT}_*R!1BB9GS(WLqr=n|rEVAI zmmjVnE4kC4GjSx&1^hF`}tl>&5a_Oj!N>)6f=Z< zxeR~b!le|{1cj|2r=%o&mYXl1l>Phn??pT7^`X3ELC=bKW}SQxi}pot7>q4Oij+RP z{Cl@<_xFPoW&zBxlN25W_c>q0`O${EcDemTg~XVybGY9@%3LA98uJX_nwN^H<5i6S zCxk9GE9(|Q8P(L)U4LT=L5o0(Na6Fsrh~Md!XH00iNf+MUs-mr^9rX5dDrACror;$ z5_r;%c>FFs!b#ZQuq4OxY_DP!u{G z5NDvH`!-`Y_T8|>Wj=`5>hg3?!JLy)&_nqFF^f(4@ag$RnKjTg1%YtP)G#QS=058Q zPTX0a+pP8^Q6o~Ga0c{cJ9r;lRR1yi8YSTB1Pm{T#s`c|*)TbZZk$ZqFA&mVBpmx* zz3!-PD=LY)jhfoAX{|Hna+tnW6+4ScSO?RffnCUlcs9yzkM-(Cvpnn$8r( z5T>x_PmGt>-WaIyH&e_}H zyg=P(es2oz#uj33^of#S7G}}p;+Y1??8$5IAI-SWm7E={ZXAsnjDbFt7?1Bh^HB~X zVjj{15%0@OpRI{XDLAxD0~F|UaB^}3)s_i2-$d_*hzPD9>w9l;gSa9(1L((L8<~A! ze!e6)k^tg|!vK25s;0q$=3i{rD}m!E=!=uFf($I7@G$ip{(g?U2xjP8r+A0G?y_wcWxbC0_^p8 z9XkM7`NbM=v)<&qg#{zb86`%I;&1JXgJu3`YjEfRnAr7{xl6OKF@qltSyy|J{?b;{ zfr1{pnKiak`LuHJ7Bh9O08Pih+0(;=jBDLUkt>f%S4IYg!@nONGJrB1ptF;;&IQN7 z#x8d!SObg(TA>UqzP`_%1bWk4WMe2n8B6a=bCVkP-4p}In1SnHjf4`$ZWU9vgO9+6 z&hLnO&0(`wo!_CF9ooPeOYUvrUR2nXkH7lttlm>&u2O9=x%iI3V$xIuUD!0P)?^y; zT&&u`kv0NUozVBTF;phNON)=rrX$gt)_5%6nwvJZcW=&Uc_R}?mMIJpwk5S z5uGcr{X-m6BZ(mk7zVSty7BR$u(FR&16UZ>Ze|2mJxV&8Q(iufEBjy#>RQ`dU#upbnuQfn0Cq_{ULnI@B9x5mZAWwAUe!7(j`M{xWZ zRTd@QCcy^Vwq5$>h{8uUub0msTZ8YdEY`+3pWgT+rJ)g@?px!?knn)DK{>>m>y&6WDPj~>3xUww{= z+|}859;cf5cbB|-C%ZPcH+--?xgWHEu1}#%P(LG#ajf+^lD8yv=FjG`S>RnN65x0u zTJ|=j0^w7PN?uXL3etIVonji!|5yq{SV2!339htwQ2Bo9VV_SvaSYvOG@I-<*EF}Z zj8zicee{~#cl3phMpUD7Q|#(w0DTdOOHQ7&N!lo_FD)`u1%;3p-04j(V2LD0?Uj}Q zAlg{%iCUzA-lb$FiQY7BU&|KQzGrNrH!R^k{o-Pr9XtK^SZEGR7BpM0Xiuqk5pQ4I zqeFPrQ`{2I#* zfvrY{z#S-QVvXq}X$Q{3e2kK?<$(`R3T}q~72o5>kG10_8az2GVLL#L>?^;o1J>`j z(|B?d(sX_0O+ZMf!AU&-Z!JLeH?3wrA;@zE23U~l80GbOLgV*i;6r@(*jvz8#+*%U zlW~0ZG2e{QJlRKAVmPVkmY9oy)dNIb6|LhF!7fXJkW3bVWhW*XNSBbRn{jcc)aR zV)PUr>4_^S;G&M71+W^{OIkm9IqUxH&)Ch5PbZ%xsN_N3g-g5fn%U?^;gtV#lhqV) z{!C}VYe+1eJ0;sbI}fLT2R1(Bee+$(RhqKL%dgY@pMNIBzctTVV?T!n>FDWk(ehon zPZ`<%S`1pME0#XxrdguV-C)~c}wI0`(PCF5+6Cwo$w~C zqZNl0O&@}X$RL4%OttE74{4$-oqxsz*ONOxQ@tB~$^^R1x3znHTj3}w044S4?bw16 zS~3veA(jN^U(?vJ=6S1|GJie^c3ySJpV;xD!>_nO5!3mp5*qP_U)Y!*w zOYT9W6=lV~K992u`+fQv>ceD$_=W%0UaUxsgK@Ymf?`8GV{fsYvn-NAU}azbfY1>* zs3qx(`^()u8@ahOWu;T35lCCxUyFNeKBo?lpWwXoWNaG0t5yA~faAg~NG9;VnTO~+ zvTLbP!e$Z9H%g5+a3kL1L8NIOW6neO`Wuy#1k5Mmhn6O0W=3E+I{N!h)+-;~8uV4xpIIM@r@^_Sw04G2ggXDqqlglIK(0Tw zLc+=nzXkQar4luxP%#m}FGtQH*=tj+B&%}M!*Mush#!h8`JLgL|9(io#uPaoD-Qm8 zrEWxRWD!=nGM>zb4bHN16X;JD>U-H6dj;V#Znfq&O%trSNM8o&`uOgg%Jqe_d~C?a7LJ2XiaxHC)C zYQqB6)7#pg1%6VZ9+iDFx~Bb#H2lu>#oRSyoPyS#ysYN)=g+&ceOU;}oWKbiJM}&? zsZn;j*$6EY6PlRSDc>Ff?Ar(Yw5^ESIG_}_XM z#PG`!7;nzbcfNZG)r}Qie|L2T-aB7Kw10BWVwuB|P|*8%c=Q(B^w+^tekyzHjgIql zPVq&fvUC%Ns+5Cu~-eTqK{~WSm>D=;Cyqt$f2>QyWtgvvj@Vl8j@6vn9d- zz^M1>q(4nEPM?TKUNtt7Tiy2X`MvD=oUx6hu{W&GDkAhKMZ2qT*4NiHe>l8={B1m$ zZ2`Ywi|vu(B^u%YV-gJfel2yzywlLQLm3&uZ9VF8&goD)eH=7>XvgR(ro;V-{B>LJ z6uY&b?+LpqFJl+oK0B}dfiuXVzhGhM+wkB16cjWM`1PN1<93HR-xIOtkAB+l7!T(w z{5TrbVRu@RzC2D@Drzp9wOoO z+3)QLkhwBEaApcs4QVi*yCrX+E5Bs}@#|1LJ6#iR2gAfnamBc1W1=<~z-nHr5BbA^4Mcahu*d)Um^ zCYO*&$7*lzJp@2h+6Q>SuY}j#szHv%FCs1Z*5BT`>nTtE`$xHa3aeq(U)1_@D`2Y3 zEz>#cJ=3>pELc`M{AW^u%T3J3#|H^0YdXgUn*CA!rMRvxdA?Fc1Xvboetyyv9^2o* zQ=02k8mM_Pp1OjUTz2+-#_?+k!gy47)VGJGx5k0@;df8*gC>kkhrwVCSFax36HIsB z94|k;Jm`P-?p+}7oKH+qy)!@~`80mQ9pEIx&uL!0S_BEvoo+g&Xgezgcz8tmymnbyI< z>CKV`)^roI>TkyA3489FM6S}*r#`o1_H?7pyXbc0B@l9GaiAR$V3i8PWT z4bt7+DN>?<(x8AKB_iD*N+XTZ(%lVb?&tr$-x=Q-XAH;Sfd}^9_qy-3)|}V%n{!!* zye7kWF0GIoii!UflftZCN2k;et40{VYweZq{ogSCj_-1C#6InqwHxe#jBTkhAGHWI z2yuNj))b$SflnG8wqDvqllvs@M<~`UE{`p}FNRGt$()8iHYO@A_b6ak|FC*4c99^C z(%EB8vZ*_EYZ|C|!X#Th@;TC0jO$or)fZnZWkklsSs0wxtypPj+)m=qe-%x}Ie&RP z6QOZGtk=9vT}32JVe^aq{QhY*B*kSQ4sT3W;#{5`-az>7_wsS9-op%D@h`ZqukMF+ z_sr)l&m9|MOUKL0cT6W*2j436YFyFhl7?m-H*i`HWZ4ehB*@XuUgBRD{B&%$=#g=2 z;8|4pCLZnbq%m+L!gnUU!*2r@Pm}A8jYwDR%&lV|S$N_*;E5M^uVIF*p|hg{Ld4UL z(N*yf9#O-9N;n-+RkLfIx5kR{vdJoD(ufy(lQHC}MD#5+==Z)X&*Jyt__vfQ^)M?} zt4Phkl{A=Vm7RRR0&`!SF_<8_qcu=e%ILSi(6iw?YowCfQKG4`8q)c#gdGek_8mC=kmFr#0+ntUfVZ0iw0;+_ z7RFV7>)89op;R@RrI9`VyFW64U;BmD=zH!*>-0OG)1NM!;-|%KQ4Y%S(*!*ux}$gK zbeqggpUA3&j@ZQOLpS#^xBINW%HM5@K_9H6ZHz&$3oBDpvt*yUs_tGoI^^gCG`NVL zy}fupa}ZyXWKajF_3TXLja-)C-db9Znp}5))^;GsF+WaOnAF zsNSGZ$H<1rMpw|KKXs5WzwhT&d*}VrA*ywz|S;fP~;x|Zy0L`t9|7YXTy~t@<7O0m{Qm6T?)hxCF3slBpip;!awge#+DBw>Gj zUF5E0Mp#L>%G3Ge+p)G?IW$|Z*G96|= z+PatZ<2Sv*hXi8-DlZxnIpB0yd9zVjh=$&_Ef9SrLdAnXcHa zLPnu%u+As5KS#}0{h78LOjd{blY`kCr^Q=zL|dy>cU>T+nE5sD9dwoV#NsjD%pv)T zL4y%9>Na){)=EX%B*WryS8i*Q1hY9VDU&$0(I-WQ6cEi}l}qCijZqBDVe_+;+{ew4 zmG%fr`;{T3sEDhs$|EL5J25cHVS4ij%*l!kBy&oRqKq@UZ?YV&WG{_gGC$Ol;Fz0Ckj{ z#~fGm^xrL(+kHkpetsfH+cR+xrcva|#dqXgMQ%us80E+EnVk zC-KGqt4*m}tYtgXNd2eE0Rtf|D|?rT2^~EI1s>SfH@X*gk&8TBXx)LB&k;NFI=~o| zU?*h|6{QKB@*1_SeEk=$mplEHf_HoJNT&4my@7spzlQZ#!i@HP>C_I@h2Kkt&w-Kc{W0IexgUT1^2v-Xx%^Oa=s`|7j5FJ zj{5{Jz^(Hmkx|lcfxWi4lr!*=y=3ztgEt2}LR9}fLeq!try$*CjaZl4PCR_X%WDGq zxK6pr&2d}aYCR59Z6Wf9W|0c18+)@7N1l$D|Mq`bSLPIEA@pedhjbDW;^i4Pafn6f z-^n$r7y6l2cX=*D8{E`V?#7QQoId#%w&P{I{Ul^$5jQaKXJh!L#dSYapi8^tJN=BOuLgVR z#Q_N>8Zu|tg^-m&NGSC*&AejbUP@v@LJ*|hL98_EvyJClZQzw*{d(M1nVpT2%%Lx7 zWyPw*XdPXxIk z^|bH4l0$f<_V2-{TRF$Xk+A;o_J8V4W<-X)dPAGeXc?JUS3k@vvS-`1q|4ISl5F0Z zx8v8};vP(&p>LlnOWtD>X$f45^AW8GH>r=^ZO zk2`6R@?cAOH_Ghi{EXILiOk#ShM?E}RMI-l8Zqd@l$wZURwP4V?t}3{D?a=uM zpPZbZnmwY-W^J5ooPBJII2lwU#73iTWSXPM7DxEI-uA^xwSH9^KJ3fWO=@Cn`srDe zW~OLto}ACyz5*Uoli&K)e!8>KM?{VLZLv!H8dub4CN$8|k1&jEJD_R=%OJ;N;Q2y6 z0~@ziiC&aukroO9>FY4j@(g-W-nrwn^;dx9o%~O;hadCuynDE((tiJbhD$AY`~Ev@ zq(}%Q-2wFM>|Zob*|baO*w}EurXc4sLO?*Uk{BD?RMQbn#>2XR@KIg`wiR)dlL@!{ zV6~pQ!}8Jm#p!-QVPUW;i?pO9Drk~|7gN>Fi`eq=@*t5A-ntcnl*fji!Tak~JEFL` zxfzw~fKVe2)B(|*KkkBeD<)pU-F%yzER{bL)W0mnk!%X&2jMr<;YnLw2sCr5tI1*I zge*THApxXOX-`kjR6ndU5r#Ch1+TT))_#vRo#ihg@t#wL^zW(^1+v+vQ9IuEr??N# zK98g*D{B+<=^lCGtS4}Cm$;)(KbLGhmy6Zn!QIvu0n;b)TYa4LC8y{Qqx`;>e;-6u zo)I%?#Y>;LIZRWTEGp}F6{q+@^dc@&&Q8F%K#fYWW3E#11)&IWi2XU!>>1J2ov)oz ziLv7;X2~A3b$=o5;wFMA74Pqc?Zsk1rmKc#4&K#FFouzUWAplL&%DEAi#~SxZpq3IW>u`7K zm~Y=6^`!CcmJ*&n;Y$zMOOs8ON+uF6^!a$(oH{G-d=ndP@eKnWj$Wiik zBRt3a;lJ`h|Ar)?|7W_LH!wuTioU3(NoaTgN9!@rWXVJuQZtuC^+KZO064$r+q8W}nIf@1=Q&_dh$EgK%(`k}b9D?=!{SAAjX49Ir zdn|Pq|8;-7s3ny~nrj|4$6~Wa1ug8bC^Z>3{`c`8Y$+vr^cw`PV8Tu*j2w4}ou>C8 z{>S2_MUE?7FsdL5!(Dn5CDGdnxl)^VYVvU^pzINh(B2=Z+bp9`+I4J;YJ=C;d+UIkf+PF$Ec^3S)G4HBEM!`b|8d2nQIP>`t zz!8?eeKM0qvG26bvn=XnVMa%XkWBv>RPy$d>*b5k!=p~^MXwmar9bK6M(MA(@f3~r z*vItyhlCFwD5+jX8YqD50Bu22j-VLR5yThM-yfe!3>SJ-m~>$KLdsfDT-;GyHT?>9 zPLs9a&vH+nqC~U>{ci_G2GEB7r#A)DMMQeu+*9BRxVoUTQ6Zd)fTf)K=5wsO1CRQj zX0ThB?vWGa#bR|91QD0j6mJZ0Tk1~+{mss`)yM^LK`v1+z2=oJPk65-gofx*F6$y--V#Z|y8&chJy zb7UWcIsHG3XHdoYqr;5ZNyDAI0mXHc*mx@m2rh{iC%+B=T$q)xr6%`RS;ke8Cb2J zH{XzlC!P9J-Q*%vHFto@$Za?I2&@tG1Kn)YQv&#(*%Ci5gQ3Ic&Ugua!l0tnjas&? zQ3!6&;>x=q6XA7yJ4(uHuJBSg<6n4OebeFW@7ZVJ*4L_HG851PA%}BE(Hi89r6e z=`Mnm+YWwsNHIDQWALtU@BeawR)x&akuT=c6}qlQ`)w}{jB)N+{$_dqy+f6tk@44d z?a1(GZn-Pj+0V3&nj%U&aEi720ZsC7TGgW9Vm8HbJkg)?6BY zO(^`6=9m-qBxdEbNcA|;a4y>4C7%lm16x9F6zFfuXlgDd3O`}N{YyLQSfAyqUP%ISQ7dt8dfOV}QbXh|f6K0AVv`I4%Y8 zfDNP<_p+9cNnx`G=nDc?*y*e8Yinu!sONa_U=w=;Gnh_z{z}-*(La~al60Va?4=dt z<53L8_M`(=4<92?Fjw@1>u?_K%ZOWg1iZDz`RHfCz-_Q~Y*QI7$I={+weR$D`zhm- z$)U!Mr>Tyo2c#cAnv35hJw5bRVuG;|E?+*Ao*ostix~h>Tz@Xx#vUltm|$M3soCYv zx{kL22sW_l8ZZ9|Wu&N1^6G}f39ZVJ9fYHOucQN$QK)%!RJFA+p7k2U)YekkdeUai zMN0pl6%Rk+2EL~wn(MeN=>gMrZoc$b4&Q1EeDb+K4E%^8S%Tmd{$eFTB59Ag+&Ixz zfF><$|9r;-oxnkpgP9ovnOXFr4ipb`q!45{n4!^Xmbz#Jt7u~q7AqhWUGNNFipUPsd-@K%%o$^T^m zyt?C@8b0v&m#7`RL z`eiVrSU5SKKyFd@74WxCFmUU{i?;A!(HL~{^%C9n6fX0_Tq#2-V9C10rSb0F&dVme z7j(!>4qP&RDmmWdo0VE58tIXvYBriiF05HnCuGi)Q5lgfM$M3$1s9{kawr8+k!^|1 z8CQ|ardllXYd5PGidR$F>d$mhzMm0(G|BJQwuo&xWXL-`6l{!t^EPn4eL|JBF;LOO zkd=jpZ1#6e19`GYx5Jndt-|qtD>PE`a7BaZ99stPnNiU|F5Ptyoo{|_KQm1nM$*7} zAbxU3@Yh$*N^WAm)O=hmI^1rI#hNu#OoWMsN!Ff4>FLmk`7!a``1jKa;$&0$4`lrGkW zSt0d;OwjnpYYH0Le_BN(u$#95m6@egM0Dp)G>|lXMI^z!pJB`Ute&r`sd*DDcc4Xa zX+^0(87V&EPVM!CJu!P|Lfb}LTRXS9dR&GH^Z?0h5xm$IBk_^SyMg89BIL49v62Qoz~~Z)73RCWV<3y{im>o zh|qCUUsp73h2pv)0#h(KN|H7td$ZV^HmRKdyAwvwlB>VTd>zfyMjIqGi^GTmzz`X% zfb}rzTq7qh-&&xS8xOFS{S0z61)R}fG;MkBKvCb%zP@lprv1XwCfoMbR!QH>!!ZOR zcW}IwloUG*j2;IkJFrPVeoU$yyZD^?%S=*62AUcH9y3+0_F1E#w5tE3ETbyP9ZK*R8r1R4XSKryiWfzplIZz8}W>jEP z2MCV~P}`+(XaiXW?9>;Kw^YO~A9Zzi@BUj$(!|1!4!Oa)KsZymqvjpJ@U#dbRJVbM&#CT)O+%0<|ccFx&SvZi|r1TUb%0 ze0xc==qXvF@Fx=`eSZFKBpx%}+eyE`Jf=I8I-kiCz0zk&2G!;lxmh+n2-a|BWZ(8| zy$O3!nl*di-mcux&pGD!eHM@8gNqsSB$f!tVjdwBX0 z2oC+)(5uVys(AYA7OYbOX}X=`{ik$<;vXi-Vhp+}5GiYG#$1&2AH9^DOt>hG3yUHM z?zz$_ZQgkXw8npXzufDs=;&7svwIsss3Dp+LZ%Vrp?eY@%(&h+aJBG;zNe(dvurB_ z@#QGNbL0oXUj)#yADq~sk;Xq~0bKMOP{E2oz7C68TKR6)7WYxJccAt5<|gn`>>Ui#u-NF@cB?M@s2 zi``C7C<%D)?&~WIOnb9=1#}0AgAy0uYN((x;|DZ zNp&QCk3}IHrtv>9z5tcgH1^ZSk94pO#l*ybyAdk?sg#0W9RboiDv2k#m;CTj#w6PgTi1oxiAl9gZ{4-wVJk*;sw+nkB zQ1XJZj43zZ**zOK@7oz?q*ixD9DApVzVMi;9!bSV);*CgKM2Zos%N2AE8C8b!d%Gt zW-fNW&|cQ0et9;U6U5AO9U;dizOCa}y1(?GD*<=Iu2U8`F^D?uQ3j3RvKkvRo;SBI zI*TaRHXTpIm#PfyI<3zSdw1|F-$+Jmf9mVMqKil-2=zJo30X+Q9Eyp{G zT9z_x@zbS;Q%U+tt{P~>5f4IhT6(CW%{1w++mlF(7X3O*tV0_|-^<6eEr+n}T>N$Y z--Ctt+F5r8Vk3)S0ZM`@C?6MwJ*anD_<Xbayqv zNG#A^pI{(nk?ZrVajQORkH0~%1KtL_TL|f{ETuZk!bF+E1|1P3HKnPjBD)dmL3Ng@(N1yYJ!odyei9WII@HQ0H3XE0y)CaF|cC0 zmb#ls+gq)_pdfS(baft3meu?w{raYwUiIBo-?vK5bE0Vr^N7-7q-HP=nt|?n(|2y> zxS3ZhCl_0qxRnmpVpKoxMCttTD$@znXqU}h{B?^~v&5cDSgE=w}&UD#HFQ6(6 z)o5lgAvN_+j=@Jc##Ylfk#Ja@=b;2bLQ3jJhVR}}-{UEd;6`G!1 zQph<#qp3x65#Ig(kN;}31;D+b{*8q&@B5~r{6UckL~8dF;ps9sVumT~2Qd3ntrRv$ zs5%hJ1Q18A9-GD3hUF$QI2K<7Aknfg$P{!d)D!^uR0XgF;R(9r@8A3O9fEbXbcbZs z{R-5_8s2&k8s}B??XMOabr{5fUH)fJ0Yos z|2HWj2;eo1X=wu(F`}mfseBIR?tg@@FZLe<3-rDhbi1E;wRXPU#`!;J=N2hxIJq(Q z&{A{_3wy)B>hR6bYnVXr--yO>ih(Giyltzp@m3Sl&NgZx5{@nsg>)r)L#(1 z{H5IflfS2YP4-T>qA!A-R%_4g9%w295lX=mCdZngzP#-}5?MIxefGXRX3vwgWYfn9 zt&1xM!EoNcKXO{3EI=%B)M>m27$gf@4F{+3NJM?1<{sqih%%KdfUJv^CjNhi5$bs16gxC;1B|ZXDIZ_#h*^ zU9v8Cdq4C^IK~SR)Ij;q!N2wJcxSFizCn~lm5g7mLuJ;B8H`B^!VLle*unQ2-7=AO z6Q{b|q>>o|>tUduNf$XFoy0}@*donND&4{& zi7hgiB`;2)m#lc6t2NQ#@bm*&|CVI+A~BVH>@&Nd>V7*Y;NCyg(+>lAX4Yxn@nt^| z!UtD|fB)U9r$Zxu{r5>D z8m7Q<__?^5FGR~{Pqlvrp-XX>o5h`Sq4iO!J=zTjOLLJinG~6*sIzCrt=e+~JgH!WgR)lD7ew%&r=_k5Er{U#5Wtn%V;e~qb;R5<;lnsOnKQ6LE zGPBm@o+?Wl9~2L)R!Oj%g|rz<Z;4F}{&w1iOb3I=v9l(BMZ&2LojZy7Jiiy6fAe*sQ8B z_0&==D^cDpPoD3fm*J1=5qT!G85Lfq3*;4vMD6@b3Nw~bV?g+Bzb)zu=@`c3n5pZ~ zfdus?^Y^=N^zol)t?GWd$$ev4g67WD=l($w#~LcL*BN0rb;sFpsu+m)i05jqb5A~g z#Fv$>_OQAO3&KjFzWU5~=l6THlZhO52LHIqYSMksZ=n(CP#rxS;7*+|X7;vWKy?>V zD;+!5froQV7DU7Yy?;?rgm`_3zRY9!jBXPNuOr<1U0w0xQHqRcs%l#3hZ8)JyYw+% zEgjMS8K4*X5Ca<@_3D)*KOg=p8x-oGlnAz0sFsg)FGMR?%Uhii^N|#U+n)Fu)o@e?7@6@e+UH)NU&Ngz7Ps@Kf?0-E*^- zi4(YP9rn_BOP+4&Z@$WxX++Sy<5%YzPGv|C@zrG(lNd_?DU0o?hq&e?h1r;UdAH)S zs*WR?Df8cr5rJWnx#zF5FESWD1rHy%6Q0~(X1rRC0~ zELxiT-HFI)Q!esJ-%Qw+R%$>omKf%wX5zddh@cx@b#m^+XB0h9MLfpwQ{Ea!$yO#P zYf!0ST1%#Z>VoMwae|QkWmBC={*{rwi`2>=CU4&*17d-S=;~5Xvtc)%^sdBe`~73E z3om$OvHiynR0R0dlL;HbFuN6V=O1A zUqODo&AUex06_4R-XbPO%_fx~Yj%BttV#E{U6LI`440t>7-Ypo0!?&&YX#ztPOWR=Y2n-N_x5C z+~cQ64KD_}(fYFV!6AnwaNj$QNS{1XEzHykd0 zVEFUE^J0VJgs&6T^$xU;MA3$@v>)j{;Mo3y@tL57Dt+XYgnEAXKVO%hTX5)Dc}PY1 z^=~b5rw6nJ&7lik7+jXBvW_I{i&XtW2uwxCi&GgoEK>{%3~kn6y5PPPZc|49z=1zR z+VfxuqSR^q4@i9tQSQH`rB>_8hsv)x9~p8VLyEv7aaV;OI|iK+C|Zd6=fE)GcU>X0 z<$aOrjnX{V)`vPt&03}aMiS-kYOGnA*wC7}+lb~#v!L&5ba$U^+tRZs)MI^kb4&5h z7c1$ucMe26J1xAW*|r+=lByVUm6g^?O1y6^7r38_Vm_`cRw;CQ!f(rKJ6M%nxOb!d z$sdmjX6#ql8ijMArx-UwkdA-q8SXO^Sl~~OTm>i-$QU5rX1RY~(%aiRb+5N{Fx5^vNW8iJi0P*@MEhDZ3?RvR zi?-#fbgpJg1=ZIdg_RCgTX4oY{0UE8>cPq~&+gu}`!fJPy8GvI@?WaCfoyWohL`4n zs&pT32!h}#mw^96rU(Q>9AA2}mtEZjMW3Zy34VT}eljMbsl&cCguZ`P7qgu4P8dfPyEO+q*tiD>HBnDpfmNu2P2*l)G^W- zCw}%wPo~?{dW%g2gJCO=NIxDbgemFUiy2imXK|nmRE>x-*-=nN`@0E{CJ7TiJC%;x zo3tKtwc) zp%nuB2OVVOVlGVW>0j>r{WGw7i2MPjg%52{IZ9;4Tk5Z%f~7j+l{ti@^1EVxp|tp0 zIO=-Sf-}uFmyAfR&wxKlcZejY2|JF-z!LO55}4=cEAu|IhMp_my|$Je zoOKu5%y%#U&l;$=_(m4T%g`Rb={OYGGtARl#9cygIhztvj2)T1-|MQfd?=u<1YW81 z$Eig%tr`mo^&BHAh^>9CWWYu9G#rFAwfp<7ja1FUX*Lp>hT3l)-Lvxr(gJndc};X z$4{tx%pl0@?@X!N3g%|-Sr@e>HM+XIedK@T1#7z!d==<_22y$-)PUmM~B8DWhC1Vsbj45 zSBl+jRbLq4^h?&)AC82bg;%JOZhF8{mx`ulmiNT#xICG08nuM$;8h2)biqRqSA{PR zh7cR>(@+z-3+ifa`Cx{#TCvsw*xyK#hPzYBIuohf|G$9bEG?nsCxt~tNY=b3Q;asy z@7`Ih+j{M6Vh|QDpgF=PvmqQox6+lz?g>Ics__32g3?6&CKoTk_cR5??F3jw`sD5x zA_U;R5mA0LHehmXPBct&~uaqm-~X!+tFQE<8%>j)*{=hv_CA66$w@o!3s zX5Ato2~)G0;Id3(W9)J}2RUUV$sXv2A_a6Rd<+nQkqju%0Kmaw z1c@Uc3RTOModb{-DT=+=7+3|o3us*Y<_ys}s0EZpZh&}{q0p5cmqwTz@>^DD-Siri zz3~i{ARP!{aH0``;8G!}F%YKUxC;2NNO$dOFS*I6KSSif8ITjE$6Hh2Ts;BlhQ{we z4PrEUpo$@c0tvYp&fqoTO-*?FHdMdP9SZtN6hz0Mi$i3i-{$JQDkyUX-3w$@2KWmw z8aIilbr))uGumcbLQtT27j!@;hFUWy*9cQ&YJ+fL7utWA08?`U#Uf*CUdV-G0NgR` z5cB@vtw|GA2VzlRM?EI_Vw+?|&}939{yb-dkH98ToDhhkD>b&_Us)5Rhucoj%NaA15q z5|D}Ekr5PxH1*GlbEN48VhFOq0u)B#ljEYlefySc+X4V#fcDz~WKMY(3^`GdIF%4~ zYjvto!E_syI;mZdhQB_}^F~H2qSdM_j_W5&DR~#{8dyGb5Ctuq*688?P)>PO_>HKb zlr_RYb6%|^zu7#RDEVzvyQe_)-%)MG!uvRYuwtap(m_fKgS-^sktn}m0ui=`g1 zLKcVX0xd0ibz<5Bh4RqQLNJzA3_rDZ$%KcQk#QE(wBzxB|HBp|#}g_Jh(W9+AyK>fx3x0_sv!$&kQA9I_#uKCkQb)Rs5Tz7S5B$L~56l&qH!e*`m9cgcL{{F)LI)(RvxUL%kWQ@I}w)bj-`vXo8HJXN!bW13R zVK?-@+-oY;#yQ6~(V}7#eJuGJq1Xa5`a6c}Ye63S$R;xAn#uU{15s!?kT51A_kDK% zks10D0bPq*B8i6Zu?~YEd3bbGl8z8*H(6O(DQ?~g08<(%8-z)sR7~`Ik#qTS+ZLy2 z*? zsPBV%7QSB~d`6)28hr`sH)2J{uEiWZACMJ)?h23@iNfRPe8${_@qBMMa9y5oTD-qB zR$W~^1WZW6m)i)(Y@N&xOtZiG^|;_>B6DSDWKu8|YyL5zGW6_M#7NR_qSg zluE38XGphT6jdAq zW;E%1^C>mCsO6)(Id_A<=v(G~(MJA65s1{*9;|Aog9E7QAe2^tVq#M;ruE%LL^I5!#?ozwU(3SqP*hS&f1RIc8hA9qV9O_p%*NGAWRVLHs!)7i*s}FOkiM1 zks_p*w6$e7F?~^5IYJ86q)nXIzRqtKCa6tYkc^l(+A0mAv$Kiu zIx^N5ApI9l5^PyaDKAG~e4>q}*pwl8I!MCBJ6cVZ_(@sZ%sTeTY54rMk!69az>+`b z|6T=i1~y#T%+)GMhr3Y36n*0xl`s$lnmW^Vkt)<|%j$WNE z8Qg-b^m*cz#K)1ERw-io=J!SCjwQ3McN!x5;OnD4y(x^Rp)NSaA0OYWV4Ax1|9oI0 z!jS+D>GBdcm$x!vE!KnHZ{ujMaNGADC7Vtb;;8;BCP;~$qL!KVwk+bPrn=QVL@0Ja z5x1umP1=={sTUh%QYxi!U4t@|fV_O*6CL;GI|yGN`HdN{M?~wFHU&jDUDF_ny_v`Y zuBqz`0&bL3%_P3Ul8tNcjV8kYnCM9<_DXwaCxgwb-2gB7d((PH9RKlsk^@0MLI`OO z1VxbFdCrk8rF?IR{1Q|J`+{iX2O?Oq;a|&LCON6UC?+p=G%kJbu%(GYji|Qz zTP#Nw6IA)DktCLRHmA?~rr4I0fGGh+H~1cewW{Lv2aTfUKjw%TAGUf5EsQ5ke*f1F!r!S6t%IQKx z(!G+=>dVTrI&=1+GC1iNnkGFTJZW3o+CuWl{~LESB3EKrVf5JX_t+EWm6A?pBIFuj zG>cwuZZqm1SCMvdUU6Z_9xev1PUv$LaxTmhxad-;)NVPb8VEk`TR${4C|OE6Z?IcY;+` znk3$JB%)!g7}@zYKVwaEzqf%S>jt8Y=ZUdx*Mor~#U5@6ja&Yr)kJu1coM_xk1Pvp zn)@;MBnd~_sfLOa$y1$i!YyL4bIkwu7)g5svb~o5z0y=oRk2d3n&w|IBKl^$Jn~LW zS;uZs(QvFH(*a8q>*%zC9p)S4z>XyY?xZXx6 z@E5d*&00uiIYcCg=xmyZfVr zTwParEDvgq9yfN1`Os7(rk5qAW3@3>D0W#!KM0PzO;X8X;8S0`e&5<*U9dR9OG_vpy=@aVgqUGXUNT*6oEV*JUDg2iYiMf_%iRmf-i9OIQVIyd7)Q~a^b z1JdXHWygG{OTYI29sk<*Ar{f?uVExoS@}Gcv=(`2IE-^~=#2 zcdwWlt)|1O!WZY`SluB~oZ9dk`F~5zM@;Tfu8URmS7~w?86=OT*!V4auG+2OAhLu~ zeEmTisNLuj(sb?h{nYet*yfFfQN`!Ej^x7~CBDNbi?v5p-&W>Q?Vq(pa~3t5pZ`A3 zuXr~2c;9Uz-Q%cc*W8C=`de+SE(n*2j5SmC6PxbHmR~Y5BFAGU(8~^oQ~zV9fo@Jg zKojGy#O2|nHV2!DJxTq?HbGy~t9y$$yUiZze!sA?6S#1X_&kalCI29;L9WG!D`Mo( zfQgC|5$Hm&OvZCq*{Gqc_ho#}PM${B$@cjd|72^v3%yUKDl{9R;r>rDf{g{s&Vul} zQ{5YLG`eZRWZB;g1?*Y<^p5^M>i5dlOM0-Dn)wS`s%!Gay&>fqht2RzHmw<_H9_sB z&xL88Ygu2a)@(Wz93%`8h$&-8HzphX>KI-6IpG@ip$FhCAF-s-Vz~O{KVPi%s|=3e zSl(?ooUD*i@Y|ijo(7RWRqIXmH8Rte7=msVv5e1|Uys$_Q#kwQ>7q;=t;6oVvCzX@ zmHkrCNoaBc0+rtzbuw!ea|l%C!3@3 zF!<#zedC5S)=nJ6?BCYY4n@CmPR*gMcfCVSjk`&4GuozyiTQs!4Ie5k`)!gjUpzMW zW*=d#HIZ zuxOdBtm(UYe^0_kX_k-C+l_Vov3$#n1H0#!&NX`Q54!sPj;EJ$PJ%v|JDN&`X}Oj| z76j?{F?|l_&%~f}c#+F9b%%rLvk`Bn%S;WzBbpbacJkKG7O9ldcSfkRM$g~7)*}#o z)M+;;EHQ<2L7 zDetW#q1(#ef7xyRePmVq{&hH~?#HO)-nDsbpSUzML4#6l{0J%d2R)LpBiaN~r+elc zEvN5|*(hGI-_up^Od^AWi8}eV#!9GZ7eAIvn~lZBA-~r)uGt>{Ds3Zgx@Tbpzu!IQ z_^+&Xy8q+CO@!mt?1f2Q<7Bev;Y=bug1Lb{5md|GQqFH^s5 zZ_*a|?}u1NkGiUT(l33Wn|szvU_J9kOl$q>){TPtuJXc^vn;AD|9rpnM8D!L=Bpyq zcRY0k&-M>S7CKxHZXyP#y@yUa<{VePLbJogoIkhwUFU-Y-`J9}+E&>NmC_7slW}St z_ND9Vz3l%yU8CM)Sg(`ne;C;6UT2%``%g(Y5&2iH6LwWctGi2S!czGK1#-~2I;q2i z`|eXbG}Kz-qX%b~E)NQozrdMh2i?y!=Aa+-Iho(`@9R(HrazXe<$3JJtCg=0C!2~2 zS_5pKzsS)KNlSEX+jwys6U|v?s;1=|a!l<18*f>3>@AXH4Cvf9&TvuVJH9H>0M|OSwpp_IWnY=B3L&H-$?>Ey0nTA8X8R zX2(VHRh8+kslgIMn!T5-X8;1g&l8{n>B-qnm%%T)%cpa}BnZzTf1S zb+KXbjiN0vV=u>(;`_7#+R4K6zaWHs&mF~ZPcISiRC8|=>uB?|xM#+Qf==OQ12iNCsIO659c*L;y>fLqhb>a%^CTU}D){Y_DhVOI9zRfi&4HFbqta|7Wg_Hja; z@0PUgW(*Wop(wwpm4;M62W0 zB$-QgpWo<;^%ze}zgYZK@$shDGo?C1%`=z%n0(zhmc5qDk+Mb3z1su{RWqKa3i%#B z)k7J!8aA8G9r(rS_5S(4H$NxZTe#F{a5?5-7nZ#1ofBK-&9wgFFQ1^KprT{IwGmLT z*BY?(rWP8)JGw)M4Y!dunJW~~N0w+!?pd?-yQ7UkAF)dhJDu-}>ZBaQVabLZP5s9m zLdSulmKxhlCplUi`h~-1cu%%}3UsG3h~l}F=?|ql9`*FH#xus27 zP=E1n$QVWkVUcq!BNoqA`V3>HF28N>XWl34Xlm78KZR6kN_*$D2jf%UY4fVbjHndW zoKe55pkC%ssmdSrHj36IuvNRn2zXQF8R$F5+QoLMn;a(eWV`(|BFBx5q^MMM^E-6< z3_>AebGtx(SLhHxF^ z6%=S_z$Sx$$|xfYIZ0}gAaqnxBTY~d5Zad9NH#T1kaox!UUA>dtoL*7kGt-AYu&T< zk2+_qsu~qoC zWlSN4aRV7Xv=%&5V*Hz$WSl-n8n|t$`fmzUDbQwi%01bul2NbiT~jY>p(h5VVn!cp zz^VQ3?2h4_y}L)Agp;$#>%=5SJ(O#&XQ(_F&>Nmy!8f1V$&)Svj86Xm;Obvv)+$2S zLYfMCi@kZ6WELT8c`u_Cj_cYfXvSs!wmH$O6+$Sqw_x6f`<*0GQKV*cs!&!}Kk(wG z-1epL4m*ESrFG$KjByt^GmOmzxpCHd=bjbD-^W&Sc)7FXMw?L7Et5h| z*EUDtqYssB0$z#w<;6=PcFHH^(6pUjg3I91l|ApnJ(uzOoH+rV$PMm*M6~%0;kTmY zlUKeNK!|LwC#AH>-g378Op}|=sqQDmV%j%L+TY;G7e$?Wu*rg*9x9vDu|hQqW!W`8 zOtCf^Hd`w-WfG%9VUAjBQ7(ax-C)T>Z#MYp=Gr1dON_#SNcuzy@vLI z$p4C)1uBk|!mL&I{* z)JabID0_BbPBzV~)}(ag8Lq6ZdEtHt)s<|?j1E^sZIDDZ6tb%E==m^UB=GGq#v8U* zM}PF!JG!I&2Bn?3> zPq6xmc8Jl%FN*_@iwBTNtNq;&t}-6vHho|+;jr9;mJ!6-mptXxYy}I4o>d5K>0MmO zJLNY0^8AEyzXTE(nwWRZmcy0}t(tkVq%N~HIa`ftA_IVA=&J$t8)hl=<*E)MIa&L3 zsC3_TDwgJ$;a@H1hPpl{INLK>*h{q8b76c5ak_g^BY{6t6pFf7Z*-^6UN|EQN_}K> zC%`dnz}ew(R_wQfh|9#O5wz+c1Yz;W6&rUl1M8bn+T@~?VBCfxDy(uJ2>(!=Vgk%8 zh95l>;GUoA+2FmSuYW{o?<>Js%TyWbNVu`43zk-fiH)aeC7n^5pNK-!cOh=QV+mBd zi&rlu!MI{p0#*^b1uZkNP5zA3Ns9K6C!AC^dY)ezsv7yy0N9^M4e=y#6hF|1K$jw1 zIUh%;7a#f+x!4o$&Zy3*5%iC;W^PT`zjzKiPRfljp>mG6gef4*WQ62H0%}WAYvV7~ z$&a&GGODBb*5L-NpO09j&^*$_Dba45s$y%}W#!|_a)S|{e+i~U!;z}l-qSFlj(vjF8s#4=I~oTzPe+M(&1!OxQu*WrkGd;*2@;tVLf=gTJw~A z0YIr-Cz%lys+^K`&05B<**(A3`?RmYOS3lJ%u{CWmxbJ$YvZ}VqHWK!iPh&E1)+CV zh1!Okd*6D`_#{_ouHv=tl=dfSIEQG&mnGIxy(i&Xs@Ts8iIS>zyV@~HL~cGS3q>An zH2E669xv7x$%ci@tox^j1?KUoEBCz|P5`;}GpjX$=Jn9(d68lf83e3ghkP81pRGM4#nd5Xk5KvRrqG-2c@iWNZPpYmu1dK;~o%SH0nY7NIFGG zaHkF`tHfQNI|w%WY2t!$<;*4ncB#qia3r_)LyL}#o0`tj6kNm%m>bp>qK_|m%I9`g zOy_Ro(mW1-VtU@z=U9ML6MZE`5CwRrz02g`&8#!Y z`IK|5$_Up}${onUoUADk?AT^ADyrVO_5rpFhGRVLo%EgOVLG|J z{XR5rCX03<`gcU4gr=);afvu83KJ(4SL?l{Ngk~=*mA$jRt|!7bGT2eYR*;O!5_}u zTDjM7<(0bAQHz`ZRDt71AIiqeTp0AbWt6D38}@S3aYw0bHm0&M{wefCK&|$RRE>(o zH*F{N5b%|LOyzJu7xpeE#-hw!q?7ye(i-S>JVDj~0_Cpcj%l7Jv+tykZiQjDHnGvK z`LgT~TII(TIu1`+-(6G1d^Bp$YdOSQU=7Z)#LnXy2~fTn=9()j9>NkeO_E_7~| zzOb$)th|gHt%>01A?(hYiY7fQk6$$3*nS*y#V0hO&IDN?303gK%7V#P zJK&o__4xIcO#0^|Hkqw1`LP(A4D$gPnr6@&OBB|rU&;Lw+7MC z&6LLFyxa@3L@V#wV-=P$X$;{ZJv>()J_PDQG_p~hh!JkuKYVyW;C@8<@bml|g4w2NQ8P_ub=Cf(1$f_Vn0K$`Tk*fyN-(X7W_ z`L~J>S84FNpy8T>Brgy0M<9{m8jA<*o62JyF1QCTr9|Xx&y`yEfNrDz^?Sj%mB}mx zJ0_WiVSh^Y`D&p|3~u8Oj~qt$KD9L2t%R%ku3pc@?X3K!7J7iUKxrTI;Uvtj_s+q< znh*v*nHud7TnVY#9KEi?T~*H>`YF7uMl47@(6M$fZ)GG)kKxY9?!YV42B{_bPvaL8 zGC46QdbD0 zo1(@-jRar9#-q_QVsn{Zq@mPV;WTM_hiqI+p?I^3MwBpaY9)IRFH7&2O<=+jn2N-4 zm|0g%M~0PbhE>PFgb1>{$r!6BNd&tXh~?Y%f|9%kSSZ{mME!=ptFw&I?L%kmCI}QIj+-Yt;#g;!COfZRYr?kJxZ3_z& zJ>4_I2XGCbFgmJVteKL$%I)c5`g^%CP^#W7+Tm{nN6}=FXFEwY_?G_i5aR*DueoXT z8uu8JoK=#_3`r%2RF&f!7o~_wAOZS0ffSP9D@gpZTY4waFwGDTXPxl(hTrKz&PY<^ z;mwqboB}HFzo6{e1AcilJ_scCKkremm5r`w*HNDCp>Q%VV*w*kBcJSm2^)WDb=5R6 z>AmC1$!&peh?JCZX01A?W=$cHEU&9glFXK-yt}g$(OUy>&F!~zbKeQyH!fO0Ww>^w zh@gcFRuA>ukWwaRC&mOoAF{i8wV3~itk0X*3-Ly$BVy+0BZwvwt4dAP>$9JiojgL{ zSvOF}uWGRy-g?=T4T>-c&&5zZP6RtcrM`Qu0Bn}Ob0#Qy;mAJcO)29p6+KV#j*Eq) zqlGA_{)wRh`xfiUaz*=}$E({MeQ|u3pwzI&#jWm?77zRGW<5|Tq89jl2)o{TYGRdN zVJclBK19$3(?9Pdj{tQp;sj$CafcWCjP=av$nxugzo+$5r585^bMXF7N{oG zGjqWDF&r#lpvrsYO8#_n0RaKc6P5jSO(&6oVKlL{Z-XA~6pfI`RrI&Iuf4%H;4K+B z3$RJo5(9@E=+5)N+dMo+elRn-h%h*)`sL+0=;3=vN5|I}LGQk;3-(iI9DhyoPKJee z#pe1_q)0C(sQ5rA!Y7S|z(?gjaR0=d+(^1H z7L*RcP!TOLEg@v*%1x`h!Kx_wM|vnMa5^Plgy9sYJwHqWJ3UTYE9su^_1OXt!pGjy z3m&tGdtF^8{J9qoY3jV034)3X!o&rA-b_D@2T^q1-gZ7dL_xJdADeL{h2wci8~m8xBoRlhz;!4wJ2iKc^r=oUS`G6ASsr+MqC98{~%!qF>tm{rE;JJV}vJqY7iyBNy&t;~^s@Mi#Xy^Ea=LxZ7(kbe<3V zm?oXTlmeYHYS9@&9G9}WQlxF%%9a;D;~!8@daF;-)dB4-f8UX;=63d~LEOUB{Sh?e zU5#1rXkBG+w`<$lkX)WAG~E)KX9X@ z$yMk{9rV4jvftD=C+=7$g*UkZ%FM{{O5yV^DVIy{l*_S%0?IU(2UK7U15fgFHpL+c zZKnZzYaa7VT%r$d^2 zRcJB@`&kTom;}b*e_lP|zo`{!{mS~|mWSu)C2&^u$8|-W7xHJBr}g{kzse_)fYaa~ z*Ykiwntzsg?o0Lj*)q>r@jC!>_MdQlTR^q2Y9ZiP&y9e!|Elz?I{4iOur8}ktIhpMy$+=qj-5dIqQX2JNA4J@;vu& zPClsa5TGMiq~%lvK;4IodGsm9r@u#{P(W$T(?IUfBD3@}U=U^3tMI6wPc=0Hp#UrZ z_9tToV0b{V{wK}}o+5|$5#sv(9V_a$@%ljV3hVcFw}L_3A_suXP5%H2h0*J+l2hQ0 z=k1B1PdsmBzi`zl+Jv*{0iH7;4Q%c$-NOCkjb;5a&e;cf3O?eVEms%r{N^Tc zfTu}tzt%VVwXDaA!5fY}Fsi`}LV??=1#r~v4A$TYFabf%s$suhvBGQTcms`Z5(9N2 zq<|!r5B=XB;1uZcmlE?>C;zt({JRE=FV7-A0bft3SYj7vN&X+-$(=YlMK~@V*ZlCo z-=$>|IF$l1Vk02euyp5q2*Z!&16=*USzVX0#`>YCbI1M$^>fGRwE$z&Y`INZTvaG#4*4#hN4bvV0+u&a7ReP<2J)-A( z|0ZSQv(xoE=2p5s1em6Q4P0UVdpJ8j-G50i+7`eQZ*@8EhRTl+0K5nGq5)E06*^F5 z>EyrGP$Q7=U;RNn(CEfrH~;C;?N3JjUHbXo$?X5}tk2y$IF~bPc~R)e{vHR9nX$DI J#o)@_{{gnib7%kn literal 0 HcmV?d00001 diff --git a/kogito-quarkus-examples/process-instance-migration-quarkus/pom.xml b/kogito-quarkus-examples/process-instance-migration-quarkus/pom.xml new file mode 100644 index 0000000000..d53a5a97f3 --- /dev/null +++ b/kogito-quarkus-examples/process-instance-migration-quarkus/pom.xml @@ -0,0 +1,214 @@ + + + + 4.0.0 + + org.kie.kogito.examples + kogito-quarkus-examples + 999-SNAPSHOT + + process-instance-migration-quarkus + Kogito Example :: Process Instance Migration Quarkus + Process Instance Migration example - Quarkus + + 3.8.4 + quarkus-bom + io.quarkus + 3.8.4 + org.kie.kogito + kogito-bom + kogito-apps-bom + 999-SNAPSHOT + + + + + ${quarkus.platform.group-id} + ${quarkus.platform.artifact-id} + ${quarkus.platform.version} + pom + import + + + ${kogito.bom.group-id} + ${kogito.bom.artifact-id} + ${version.org.kie.kogito} + pom + import + + + ${kogito.bom.group-id} + ${kogito-apps.bom.artifact-id} + ${version.org.kie.kogito} + pom + import + + + + + + io.quarkus + quarkus-resteasy + + + io.quarkus + quarkus-resteasy-jackson + + + io.quarkus + quarkus-smallrye-openapi + + + io.quarkus + quarkus-smallrye-health + + + + org.jbpm + jbpm-with-drools-quarkus + + + + org.jbpm + jbpm-quarkus + + + + org.kie + kie-addons-quarkus-process-management + + + org.kie + kogito-addons-quarkus-jobs-management + + + org.kie + kie-addons-quarkus-process-svg + + + org.kie + kie-addons-quarkus-source-files + + + + + io.quarkus + quarkus-jdbc-postgresql + + + io.quarkus + quarkus-agroal + + + org.kie + kie-addons-quarkus-persistence-jdbc + + + + + org.kie + kogito-addons-quarkus-data-index-persistence-postgresql + + + + + org.kie + kogito-addons-quarkus-jobs + + + org.kie.kogito + jobs-service-postgresql-common + + + + + org.kie + kogito-addons-quarkus-data-audit-jpa + + + org.kie + kogito-addons-quarkus-data-audit + + + + + container + + container + + + + io.quarkus + quarkus-container-image-jib + + + + + development + + dev + + + + + ${project.artifactId} + + + maven-compiler-plugin + ${version.compiler.plugin} + + ${maven.compiler.release} + + + + ${quarkus.platform.group-id} + quarkus-maven-plugin + ${quarkus-plugin.version} + + + + build + + + + + + maven-failsafe-plugin + + + org.jboss.logmanager.LogManager + ${maven.home} + + + + + + integration-test + verify + + + + + + + diff --git a/kogito-quarkus-examples/process-instance-migration-quarkus/src/main/resources/META-INF/migration-plan/addedtask_migration.mpf b/kogito-quarkus-examples/process-instance-migration-quarkus/src/main/resources/META-INF/migration-plan/addedtask_migration.mpf new file mode 100644 index 0000000000..bffd88c47a --- /dev/null +++ b/kogito-quarkus-examples/process-instance-migration-quarkus/src/main/resources/META-INF/migration-plan/addedtask_migration.mpf @@ -0,0 +1,19 @@ +{ + "name" : "simple to addedtask migration", + "processMigrationPlan" : { + "sourceProcessDefinition" : { + "processId" : "simple", + "processVersion" : "1.0" + }, + "targetProcessDefinition" : { + "processId" : "addedtask", + "processVersion" : "1.0" + }, + "nodeInstanceMigrationPlan" : [ + { + "sourceNodeId" : "_8430CA7E-8CC6-4C2C-9664-6B5BBD5E36CB", + "targetNodeId" : "_1D65864A-96AF-44FC-92CE-2073B9FBA7D0" + } + ] + } +} diff --git a/kogito-quarkus-examples/process-instance-migration-quarkus/src/main/resources/META-INF/processSVG/addedtask-svg.svg b/kogito-quarkus-examples/process-instance-migration-quarkus/src/main/resources/META-INF/processSVG/addedtask-svg.svg new file mode 100644 index 0000000000..309035339a --- /dev/null +++ b/kogito-quarkus-examples/process-instance-migration-quarkus/src/main/resources/META-INF/processSVG/addedtask-svg.svg @@ -0,0 +1 @@ +log process creation log process continuationHT \ No newline at end of file diff --git a/kogito-quarkus-examples/process-instance-migration-quarkus/src/main/resources/META-INF/processSVG/modified-svg.svg b/kogito-quarkus-examples/process-instance-migration-quarkus/src/main/resources/META-INF/processSVG/modified-svg.svg new file mode 100644 index 0000000000..e12a33db96 --- /dev/null +++ b/kogito-quarkus-examples/process-instance-migration-quarkus/src/main/resources/META-INF/processSVG/modified-svg.svg @@ -0,0 +1 @@ +log process creation log process continuationadded node \ No newline at end of file diff --git a/kogito-quarkus-examples/process-instance-migration-quarkus/src/main/resources/META-INF/processSVG/simple-svg.svg b/kogito-quarkus-examples/process-instance-migration-quarkus/src/main/resources/META-INF/processSVG/simple-svg.svg new file mode 100644 index 0000000000..4b58627265 --- /dev/null +++ b/kogito-quarkus-examples/process-instance-migration-quarkus/src/main/resources/META-INF/processSVG/simple-svg.svg @@ -0,0 +1 @@ +log process creation log process continuation \ No newline at end of file diff --git a/kogito-quarkus-examples/process-instance-migration-quarkus/src/main/resources/META-INF/resources/index.html b/kogito-quarkus-examples/process-instance-migration-quarkus/src/main/resources/META-INF/resources/index.html new file mode 100644 index 0000000000..8556bab48e --- /dev/null +++ b/kogito-quarkus-examples/process-instance-migration-quarkus/src/main/resources/META-INF/resources/index.html @@ -0,0 +1,150 @@ + + + + + + + + + + Kogito quickstart + + + + + + + + + + + + + +

+
+
+
+
+

Welcome to Kogito

+

+ Cloud-native business automation for building intelligent applications, backed by + battle-tested capabilities. +

+ + Get Started + + + Latest updates + +
+
+
+
+
+
+
+

Quick Links

+ +
+
+
+ + + \ No newline at end of file diff --git a/kogito-quarkus-examples/process-instance-migration-quarkus/src/main/resources/addedtask.bpmn b/kogito-quarkus-examples/process-instance-migration-quarkus/src/main/resources/addedtask.bpmn new file mode 100644 index 0000000000..67688a3787 --- /dev/null +++ b/kogito-quarkus-examples/process-instance-migration-quarkus/src/main/resources/addedtask.bpmn @@ -0,0 +1,226 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + _D0E6CA53-1ECE-4F8D-AAF0-829B30A2719F + _2DFFEEA8-CA22-4076-A703-DB36A6471775 + + + + + + + + + _916690AE-8B09-4FA5-BF0D-8638E01A7472 + _D0E6CA53-1ECE-4F8D-AAF0-829B30A2719F + + + + + _74EA6719-7F99-48CD-A98E-17D422668B87_TaskNameInputX + _74EA6719-7F99-48CD-A98E-17D422668B87_SkippableInputX + + + + _74EA6719-7F99-48CD-A98E-17D422668B87_TaskNameInputX + + + + + + + _74EA6719-7F99-48CD-A98E-17D422668B87_SkippableInputX + + + + + + + + _FA3E1FF8-4894-47DA-90EB-DAB27BD7E925 + + + + + + + + _2DFFEEA8-CA22-4076-A703-DB36A6471775 + _FA3E1FF8-4894-47DA-90EB-DAB27BD7E925 + System.out.println("Ending process " + kcontext.getProcessInstance().getId() + " [" + kcontext.getProcessInstance().getProcessName() + ", v" + kcontext.getProcessInstance().getProcessVersion() + "]"); + + + + + + + + _C7A1A566-057F-4A80-B654-61270F82F365 + _916690AE-8B09-4FA5-BF0D-8638E01A7472 + System.out.println("Started process " + kcontext.getProcessInstance().getId() + " [" + kcontext.getProcessInstance().getProcessName() + ", v" + kcontext.getProcessInstance().getProcessVersion() + "]"); + + + _C7A1A566-057F-4A80-B654-61270F82F365 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + _4YtTwNp2EDyug9043TBvzA + _4YtTwNp2EDyug9043TBvzA + + \ No newline at end of file diff --git a/kogito-quarkus-examples/process-instance-migration-quarkus/src/main/resources/application.properties b/kogito-quarkus-examples/process-instance-migration-quarkus/src/main/resources/application.properties new file mode 100644 index 0000000000..735e8aeaf3 --- /dev/null +++ b/kogito-quarkus-examples/process-instance-migration-quarkus/src/main/resources/application.properties @@ -0,0 +1,49 @@ +# Packaging +#quarkus.package.type=fast-jar + +#https://quarkus.io/guides/openapi-swaggerui +quarkus.http.cors=true +quarkus.smallrye-openapi.path=/docs/openapi.json +quarkus.swagger-ui.always-include=true +quarkus.kogito.data-index.graphql.ui.always-include=true +quarkus.http.test-port=0 + +# Kogito-service +kogito.service.url=http://localhost:8080 + +#Job-service +kogito.jobs-service.url=http://localhost:8080 + +# to be reachable from the container running job-service +kogito.dataindex.http.url=http://localhost:8180 +kogito.dataindex.ws.url=ws://localhost:8180 + +# run create tables scripts +quarkus.flyway.migrate-at-start=true +quarkus.flyway.baseline-on-migrate=true +quarkus.flyway.baseline-version=0.0 +quarkus.flyway.locations=classpath:/db/migration,classpath:/db/jobs-service,classpath:/db/data-audit/postgresql +quarkus.flyway.table=FLYWAY_RUNTIME_SERVICE + +kogito.persistence.type=jdbc +quarkus.datasource.db-kind=postgresql +%prod.quarkus.datasource.username=kogito-user +%prod.quarkus.datasource.password=kogito-pass +%prod.quarkus.datasource.jdbc.url=${QUARKUS_DATASOURCE_JDBC_URL:jdbc:postgresql://localhost:5432/kogito} +%prod.quarkus.datasource.reactive.url=${QUARKUS_DATASOURCE_REACTIVE_URL:postgresql://localhost:5432/kogito} + +quarkus.native.native-image-xmx=8g + +# profile to pack this example into a container, to use it execute activate the maven container profile, -Pcontainer +%container.quarkus.container-image.build=true +%container.quarkus.container-image.push=false +%container.quarkus.container-image.group=${USER} +%container.quarkus.container-image.registry=dev.local +%container.quarkus.container-image.tag=1.0-SNAPSHOT +%container.quarkus.container-image.name=kogito-process-instance-migration-service + +%dev.quarkus.kogito.devservices.enabled=true +%dev.kogito.users.jdoe.groups=admin,HR,IT + +# Disabling OIDC +quarkus.oidc.enabled=false \ No newline at end of file diff --git a/kogito-quarkus-examples/process-instance-migration-quarkus/src/main/resources/modified.bpmn b/kogito-quarkus-examples/process-instance-migration-quarkus/src/main/resources/modified.bpmn new file mode 100644 index 0000000000..530941a900 --- /dev/null +++ b/kogito-quarkus-examples/process-instance-migration-quarkus/src/main/resources/modified.bpmn @@ -0,0 +1,187 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + _C9EA1F49-3940-4EBF-9493-7D36839FCD16 + _B7675247-EA61-4BFC-9103-1AFF3E8E25ED + System.out.println("Executing added node"); + + + _FA3E1FF8-4894-47DA-90EB-DAB27BD7E925 + + + + + + + + _B7675247-EA61-4BFC-9103-1AFF3E8E25ED + _FA3E1FF8-4894-47DA-90EB-DAB27BD7E925 + System.out.println("Ending process " + kcontext.getProcessInstance().getId() + " [" + kcontext.getProcessInstance().getProcessName() + ", v" + kcontext.getProcessInstance().getProcessVersion() + "]"); + + + _D77BDF48-2A9F-4032-9BE5-AC111F59EE88 + _C9EA1F49-3940-4EBF-9493-7D36839FCD16 + + + + + + + + + _C7A1A566-057F-4A80-B654-61270F82F365 + _D77BDF48-2A9F-4032-9BE5-AC111F59EE88 + System.out.println("Started process " + kcontext.getProcessInstance().getId() + " [" + kcontext.getProcessInstance().getProcessName() + ", v" + kcontext.getProcessInstance().getProcessVersion() + "]"); + + + _C7A1A566-057F-4A80-B654-61270F82F365 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + _hNupoNpwEDyMua5P8aJUyQ + _hNupoNpwEDyMua5P8aJUyQ + + \ No newline at end of file diff --git a/kogito-quarkus-examples/process-instance-migration-quarkus/src/main/resources/simple.bpmn b/kogito-quarkus-examples/process-instance-migration-quarkus/src/main/resources/simple.bpmn new file mode 100644 index 0000000000..685f2afb7b --- /dev/null +++ b/kogito-quarkus-examples/process-instance-migration-quarkus/src/main/resources/simple.bpmn @@ -0,0 +1,155 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + _FA3E1FF8-4894-47DA-90EB-DAB27BD7E925 + + + + + + + + _7B3EEFD3-98FD-4AF7-9038-E66015F565B9 + _FA3E1FF8-4894-47DA-90EB-DAB27BD7E925 + System.out.println("Ending process " + kcontext.getProcessInstance().getId() + " [" + kcontext.getProcessInstance().getProcessName() + ", v" + kcontext.getProcessInstance().getProcessVersion() + "]"); + + + _D77BDF48-2A9F-4032-9BE5-AC111F59EE88 + _7B3EEFD3-98FD-4AF7-9038-E66015F565B9 + + + + + + + + + _C7A1A566-057F-4A80-B654-61270F82F365 + _D77BDF48-2A9F-4032-9BE5-AC111F59EE88 + System.out.println("Started process " + kcontext.getProcessInstance().getId() + " [" + kcontext.getProcessInstance().getProcessName() + ", v" + kcontext.getProcessInstance().getProcessVersion() + "]"); + + + _C7A1A566-057F-4A80-B654-61270F82F365 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + _hNcVwNpwEDykP42egfgpsw + _hNcVwNpwEDykP42egfgpsw + + \ No newline at end of file