From d5d7ac9e2b00a249da7e0a98eff4e289ddb1d1fc Mon Sep 17 00:00:00 2001 From: Martin Weise <martin.weise@tuwien.ac.at> Date: Fri, 17 Jan 2025 15:13:53 +0100 Subject: [PATCH] Fixed private databases in search Signed-off-by: Martin Weise <martin.weise@tuwien.ac.at> --- dbrepo-analyse-service/Pipfile.lock | 32 +++--- .../lib/dbrepo-1.6.1.tar.gz | Bin 40020 -> 40020 bytes .../tuwien/api/database/DatabaseBriefDto.java | 3 +- .../java/at/tuwien/mapper/MetadataMapper.java | 3 + .../gateway/SearchServiceGatewayUnitTest.java | 20 ++-- ...aCiteIdentifierServicePersistenceTest.java | 19 ++-- .../service/DatabaseServiceUnitTest.java | 59 +++++------ .../IdentifierServicePersistenceTest.java | 8 +- .../service/TableServicePersistenceTest.java | 5 +- .../tuwien/service/TableServiceUnitTest.java | 31 +++--- .../service/ViewServicePersistenceTest.java | 6 +- .../tuwien/service/ViewServiceUnitTest.java | 24 +++-- .../tuwien/gateway/SearchServiceGateway.java | 2 +- .../impl/SearchServiceGatewayImpl.java | 2 +- .../java/at/tuwien/service/SearchService.java | 16 --- .../service/impl/AccessServiceImpl.java | 18 ++-- .../service/impl/DatabaseServiceImpl.java | 22 ++-- .../service/impl/IdentifierServiceImpl.java | 18 ++-- .../service/impl/SearchServiceImpl.java | 49 --------- .../tuwien/service/impl/TableServiceImpl.java | 21 ++-- .../tuwien/service/impl/ViewServiceImpl.java | 14 +-- dbrepo-search-service/Pipfile.lock | 10 +- dbrepo-search-service/app.py | 94 ++++++++---------- dbrepo-search-service/init/Pipfile.lock | 2 +- dbrepo-search-service/init/app.py | 25 +++-- .../init/clients/keycloak_client.py | 30 ++++-- .../init/clients/opensearch_client.py | 81 +++++++++------ dbrepo-search-service/init/database.json | 89 ++--------------- .../init/lib/dbrepo-1.6.1.tar.gz | Bin 40020 -> 40020 bytes dbrepo-search-service/lib/dbrepo-1.6.1.tar.gz | Bin 40020 -> 40020 bytes .../os-yml/get_fuzzy_search.yml | 5 +- .../components/search/AdvancedSearch.vue | 6 +- dbrepo-ui/composables/search-service.ts | 6 +- dbrepo-ui/pages/search.vue | 37 +++---- docker-compose.yml | 7 +- lib/python/dbrepo/api/dto.py | 5 +- 36 files changed, 336 insertions(+), 433 deletions(-) delete mode 100644 dbrepo-metadata-service/services/src/main/java/at/tuwien/service/SearchService.java delete mode 100644 dbrepo-metadata-service/services/src/main/java/at/tuwien/service/impl/SearchServiceImpl.java diff --git a/dbrepo-analyse-service/Pipfile.lock b/dbrepo-analyse-service/Pipfile.lock index ae160f7773..a6a76cc576 100644 --- a/dbrepo-analyse-service/Pipfile.lock +++ b/dbrepo-analyse-service/Pipfile.lock @@ -175,20 +175,20 @@ }, "boto3": { "hashes": [ - "sha256:159898f51c2997a12541c0e02d6e5a8fe2993ddb307b9478fd9a339f98b57e00", - "sha256:d0ca7a58ce25701a52232cc8df9d87854824f1f2964b929305722ebc7959d5a9" + "sha256:258ab77225a81d3cf3029c9afe9920cd9dec317689dfadec6f6f0a23130bb60a", + "sha256:eb21380d73fec6645439c0d802210f72a0cdb3295b02953f246ff53f512faa8f" ], "index": "pypi", "markers": "python_version >= '3.8'", - "version": "==1.36.0" + "version": "==1.36.1" }, "botocore": { "hashes": [ - "sha256:0232029ff9ae3f5b50cdb25cbd257c16f87402b6d31a05bd6483638ee6434c4b", - "sha256:b54b11f0cfc47fc1243ada0f7f461266c279968487616720fa8ebb02183917d7" + "sha256:dec513b4eb8a847d79bbefdcdd07040ed9d44c20b0001136f0890a03d595705a", + "sha256:f789a6f272b5b3d8f8756495019785e33868e5e00dd9662a3ee7959ac939bb12" ], "markers": "python_version >= '3.8'", - "version": "==1.36.0" + "version": "==1.36.1" }, "certifi": { "hashes": [ @@ -412,7 +412,7 @@ }, "dbrepo": { "hashes": [ - "sha256:0d11a0e0ec942d5b0ddfadd9e9007ce6dab9c5b9cc433e0f53b4fafcfc597bef" + "sha256:a08b6eb49c108466b231c1b2cae5be501043fe4208a782899ce103105e22e3c6" ], "path": "./lib/dbrepo-1.6.1.tar.gz" }, @@ -1427,11 +1427,11 @@ }, "referencing": { "hashes": [ - "sha256:25b42124a6c8b632a425174f24087783efb348a6f1e0008e63cd4466fedf703c", - "sha256:eda6d3234d62814d1c64e305c1331c9a3a6132da475ab6382eaa997b21ee75de" + "sha256:363d9c65f080d0d70bc41c721dce3c7f3e77fc09f269cd5c8813da18069a6794", + "sha256:ca2e6492769e3602957e9b831b94211599d2aade9477f5d44110d2530cf9aade" ], - "markers": "python_version >= '3.8'", - "version": "==0.35.1" + "markers": "python_version >= '3.9'", + "version": "==0.36.1" }, "requests": { "hashes": [ @@ -1553,11 +1553,11 @@ }, "s3transfer": { "hashes": [ - "sha256:6563eda054c33bdebef7cbf309488634651c47270d828e594d151cd289fb7cf7", - "sha256:f43b03931c198743569bbfb6a328a53f4b2b4ec723cd7c01fab68e3119db3f8b" + "sha256:3f25c900a367c8b7f7d8f9c34edc87e300bde424f779dc9f0a8ae4f9df9264f6", + "sha256:8fa0aa48177be1f3425176dfe1ab85dcd3d962df603c3dbfc585e6bf857ef0ff" ], "markers": "python_version >= '3.8'", - "version": "==0.11.0" + "version": "==0.11.1" }, "setuptools": { "hashes": [ @@ -1612,7 +1612,7 @@ "sha256:1cee9ad369867bfdbbb48b7dd50374c0967a0bb7710050facf0dd6911440e3df", "sha256:f8c5449b3cf0861679ce7e0503c7b44b5ec981bec0d1d3795a07f1ba96f0204d" ], - "markers": "python_version >= '3.9'", + "markers": "python_version >= '3.10'", "version": "==2.3.0" }, "werkzeug": { @@ -2236,7 +2236,7 @@ "sha256:1cee9ad369867bfdbbb48b7dd50374c0967a0bb7710050facf0dd6911440e3df", "sha256:f8c5449b3cf0861679ce7e0503c7b44b5ec981bec0d1d3795a07f1ba96f0204d" ], - "markers": "python_version >= '3.9'", + "markers": "python_version >= '3.10'", "version": "==2.3.0" }, "wrapt": { diff --git a/dbrepo-analyse-service/lib/dbrepo-1.6.1.tar.gz b/dbrepo-analyse-service/lib/dbrepo-1.6.1.tar.gz index 5ce8fdab038ca28aa52e5c8544ce3bcfee7ca3fa..7e4d5a2470276918716a153487671274665749a6 100644 GIT binary patch delta 37622 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 ZRIhAfH-h>4$ol{M+LC*f7#6TH000bo!}S0F delta 37646 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 diff --git a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/DatabaseBriefDto.java b/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/DatabaseBriefDto.java index 707df1600c..46072e83dc 100644 --- a/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/DatabaseBriefDto.java +++ b/dbrepo-metadata-service/api/src/main/java/at/tuwien/api/database/DatabaseBriefDto.java @@ -10,6 +10,7 @@ import lombok.*; import lombok.extern.jackson.Jacksonized; import java.util.List; +import java.util.UUID; @Getter @Setter @@ -53,6 +54,6 @@ public class DatabaseBriefDto { @NotNull @JsonProperty("owner_id") - private UserBriefDto ownerId; + private UUID ownerId; } diff --git a/dbrepo-metadata-service/repositories/src/main/java/at/tuwien/mapper/MetadataMapper.java b/dbrepo-metadata-service/repositories/src/main/java/at/tuwien/mapper/MetadataMapper.java index fe8e4385e2..c5482f7041 100644 --- a/dbrepo-metadata-service/repositories/src/main/java/at/tuwien/mapper/MetadataMapper.java +++ b/dbrepo-metadata-service/repositories/src/main/java/at/tuwien/mapper/MetadataMapper.java @@ -907,6 +907,9 @@ public interface MetadataMapper { return database; } + @Mappings({ + @Mapping(target = "ownerId", source = "owner.id") + }) DatabaseBriefDto databaseToDatabaseBriefDto(Database data); AccessType accessTypeDtoToAccessType(AccessTypeDto data); diff --git a/dbrepo-metadata-service/rest-service/src/test/java/at/tuwien/gateway/SearchServiceGatewayUnitTest.java b/dbrepo-metadata-service/rest-service/src/test/java/at/tuwien/gateway/SearchServiceGatewayUnitTest.java index 0fbe9be243..b1ce21d4e5 100644 --- a/dbrepo-metadata-service/rest-service/src/test/java/at/tuwien/gateway/SearchServiceGatewayUnitTest.java +++ b/dbrepo-metadata-service/rest-service/src/test/java/at/tuwien/gateway/SearchServiceGatewayUnitTest.java @@ -35,7 +35,7 @@ public class SearchServiceGatewayUnitTest extends AbstractUnitTest { private SearchServiceGateway searchServiceGateway; @Test - public void save_succeeds() throws DatabaseNotFoundException, SearchServiceException, + public void update_succeeds() throws DatabaseNotFoundException, SearchServiceException, SearchServiceConnectionException { final ResponseEntity<DatabaseDto> mock = ResponseEntity.accepted() .build(); @@ -45,11 +45,11 @@ public class SearchServiceGatewayUnitTest extends AbstractUnitTest { .thenReturn(mock); /* test */ - searchServiceGateway.save(DATABASE_1); + searchServiceGateway.update(DATABASE_1); } @Test - public void save_badRequest_fails() { + public void update_badRequest_fails() { final ResponseEntity<DatabaseDto> mock = ResponseEntity.status(HttpStatus.BAD_REQUEST) .build(); @@ -59,12 +59,12 @@ public class SearchServiceGatewayUnitTest extends AbstractUnitTest { /* test */ assertThrows(SearchServiceException.class, () -> { - searchServiceGateway.save(DATABASE_1); + searchServiceGateway.update(DATABASE_1); }); } @Test - public void save_unexpectedResponse_fails() { + public void update_unexpectedResponse_fails() { final ResponseEntity<DatabaseDto> mock = ResponseEntity.status(HttpStatus.OK) .build(); @@ -74,12 +74,12 @@ public class SearchServiceGatewayUnitTest extends AbstractUnitTest { /* test */ assertThrows(SearchServiceException.class, () -> { - searchServiceGateway.save(DATABASE_1); + searchServiceGateway.update(DATABASE_1); }); } @Test - public void save_unavailable_fails() { + public void update_unavailable_fails() { /* mock */ doThrow(HttpServerErrorException.ServiceUnavailable.class) @@ -88,12 +88,12 @@ public class SearchServiceGatewayUnitTest extends AbstractUnitTest { /* test */ assertThrows(SearchServiceConnectionException.class, () -> { - searchServiceGateway.save(DATABASE_1); + searchServiceGateway.update(DATABASE_1); }); } @Test - public void save_notFound_fails() { + public void update_notFound_fails() { /* mock */ doThrow(HttpClientErrorException.NotFound.class) @@ -102,7 +102,7 @@ public class SearchServiceGatewayUnitTest extends AbstractUnitTest { /* test */ assertThrows(DatabaseNotFoundException.class, () -> { - searchServiceGateway.save(DATABASE_1); + searchServiceGateway.update(DATABASE_1); }); } diff --git a/dbrepo-metadata-service/rest-service/src/test/java/at/tuwien/service/DataCiteIdentifierServicePersistenceTest.java b/dbrepo-metadata-service/rest-service/src/test/java/at/tuwien/service/DataCiteIdentifierServicePersistenceTest.java index 01a990cef3..182fe8e14a 100644 --- a/dbrepo-metadata-service/rest-service/src/test/java/at/tuwien/service/DataCiteIdentifierServicePersistenceTest.java +++ b/dbrepo-metadata-service/rest-service/src/test/java/at/tuwien/service/DataCiteIdentifierServicePersistenceTest.java @@ -1,19 +1,20 @@ package at.tuwien.service; -import at.tuwien.api.datacite.DataCiteBody; -import at.tuwien.api.datacite.doi.DataCiteDoi; import at.tuwien.api.identifier.BibliographyTypeDto; -import at.tuwien.entities.database.Database; import at.tuwien.entities.identifier.Creator; import at.tuwien.entities.identifier.Identifier; import at.tuwien.entities.identifier.IdentifierStatusType; import at.tuwien.entities.identifier.NameIdentifierSchemeType; -import at.tuwien.exception.*; import at.tuwien.repository.ContainerRepository; import at.tuwien.repository.DatabaseRepository; import at.tuwien.repository.LicenseRepository; import at.tuwien.repository.UserRepository; import at.tuwien.test.AbstractUnitTest; +import at.tuwien.api.datacite.DataCiteBody; +import at.tuwien.api.datacite.doi.DataCiteDoi; +import at.tuwien.entities.database.Database; +import at.tuwien.exception.*; +import at.tuwien.gateway.SearchServiceGateway; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; import org.junit.jupiter.api.extension.ExtendWith; @@ -47,7 +48,7 @@ import static org.mockito.Mockito.when; public class DataCiteIdentifierServicePersistenceTest extends AbstractUnitTest { @MockBean - private SearchService searchService; + private SearchServiceGateway searchServiceGateway; @MockBean @Qualifier("dataCiteRestTemplate") @@ -139,7 +140,7 @@ public class DataCiteIdentifierServicePersistenceTest extends AbstractUnitTest { /* mock */ when(restTemplate.exchange(anyString(), eq(HttpMethod.POST), any(HttpEntity.class), eq(dataCiteBodyParameterizedTypeReference))) .thenReturn(mock); - when(searchService.save(any(Database.class))) + when(searchServiceGateway.update(any(Database.class))) .thenReturn(DATABASE_1_DTO); /* test */ @@ -154,7 +155,7 @@ public class DataCiteIdentifierServicePersistenceTest extends AbstractUnitTest { doThrow(HttpClientErrorException.BadRequest.class) .when(restTemplate) .exchange(anyString(), eq(HttpMethod.POST), any(HttpEntity.class), eq(dataCiteBodyParameterizedTypeReference)); - when(searchService.save(any(Database.class))) + when(searchServiceGateway.update(any(Database.class))) .thenReturn(DATABASE_1_DTO); /* test */ @@ -171,7 +172,7 @@ public class DataCiteIdentifierServicePersistenceTest extends AbstractUnitTest { doThrow(RestClientException.class) .when(restTemplate) .exchange(anyString(), eq(HttpMethod.POST), any(HttpEntity.class), eq(dataCiteBodyParameterizedTypeReference)); - when(searchService.save(any(Database.class))) + when(searchServiceGateway.update(any(Database.class))) .thenReturn(DATABASE_1_DTO); /* test */ @@ -330,7 +331,7 @@ public class DataCiteIdentifierServicePersistenceTest extends AbstractUnitTest { IdentifierNotFoundException, SearchServiceException, SearchServiceConnectionException { /* mock */ - when(searchService.save(any(Database.class))) + when(searchServiceGateway.update(any(Database.class))) .thenReturn(DATABASE_1_DTO); /* test */ diff --git a/dbrepo-metadata-service/rest-service/src/test/java/at/tuwien/service/DatabaseServiceUnitTest.java b/dbrepo-metadata-service/rest-service/src/test/java/at/tuwien/service/DatabaseServiceUnitTest.java index 6cf8fa0570..1b6570abd8 100644 --- a/dbrepo-metadata-service/rest-service/src/test/java/at/tuwien/service/DatabaseServiceUnitTest.java +++ b/dbrepo-metadata-service/rest-service/src/test/java/at/tuwien/service/DatabaseServiceUnitTest.java @@ -8,6 +8,7 @@ import at.tuwien.entities.database.table.Table; import at.tuwien.entities.user.User; import at.tuwien.exception.*; import at.tuwien.gateway.DataServiceGateway; +import at.tuwien.gateway.SearchServiceGateway; import at.tuwien.repository.DatabaseRepository; import at.tuwien.test.AbstractUnitTest; import lombok.extern.log4j.Log4j2; @@ -32,7 +33,7 @@ import static org.mockito.Mockito.*; public class DatabaseServiceUnitTest extends AbstractUnitTest { @MockBean - private SearchService searchService; + private SearchServiceGateway searchServiceGateway; @MockBean private DataServiceGateway dataServiceGateway; @@ -108,7 +109,7 @@ public class DatabaseServiceUnitTest extends AbstractUnitTest { /* mock */ when(databaseRepository.save(any(Database.class))) .thenReturn(DATABASE_1); - when(searchService.save(any(Database.class))) + when(searchServiceGateway.update(any(Database.class))) .thenReturn(DATABASE_1_DTO); /* test */ @@ -125,8 +126,8 @@ public class DatabaseServiceUnitTest extends AbstractUnitTest { when(databaseRepository.save(any(Database.class))) .thenReturn(DATABASE_1); doThrow(DatabaseNotFoundException.class) - .when(searchService) - .save(any(Database.class)); + .when(searchServiceGateway) + .update(any(Database.class)); /* test */ assertThrows(DatabaseNotFoundException.class, () -> { @@ -143,8 +144,8 @@ public class DatabaseServiceUnitTest extends AbstractUnitTest { when(databaseRepository.save(any(Database.class))) .thenReturn(DATABASE_1); doThrow(SearchServiceConnectionException.class) - .when(searchService) - .save(any(Database.class)); + .when(searchServiceGateway) + .update(any(Database.class)); /* test */ assertThrows(SearchServiceConnectionException.class, () -> { @@ -162,7 +163,7 @@ public class DatabaseServiceUnitTest extends AbstractUnitTest { .thenReturn(List.of()); when(databaseRepository.save(any(Database.class))) .thenReturn(DATABASE_1); - when(searchService.save(any(Database.class))) + when(searchServiceGateway.update(any(Database.class))) .thenReturn(DATABASE_1_DTO); /* test */ @@ -181,8 +182,8 @@ public class DatabaseServiceUnitTest extends AbstractUnitTest { when(databaseRepository.save(any(Database.class))) .thenReturn(DATABASE_1); doThrow(SearchServiceConnectionException.class) - .when(searchService) - .save(any(Database.class)); + .when(searchServiceGateway) + .update(any(Database.class)); /* test */ assertThrows(SearchServiceConnectionException.class, () -> { @@ -201,8 +202,8 @@ public class DatabaseServiceUnitTest extends AbstractUnitTest { when(databaseRepository.save(any(Database.class))) .thenReturn(DATABASE_1); doThrow(DatabaseNotFoundException.class) - .when(searchService) - .save(any(Database.class)); + .when(searchServiceGateway) + .update(any(Database.class)); /* test */ assertThrows(DatabaseNotFoundException.class, () -> { @@ -220,7 +221,7 @@ public class DatabaseServiceUnitTest extends AbstractUnitTest { .thenReturn(List.of(VIEW_1_DTO, VIEW_2_DTO, VIEW_3_DTO, VIEW_4_DTO)); /* <<< */ when(databaseRepository.save(any(Database.class))) .thenReturn(DATABASE_1); - when(searchService.save(any(Database.class))) + when(searchServiceGateway.update(any(Database.class))) .thenReturn(DATABASE_1_DTO); /* test */ @@ -238,7 +239,7 @@ public class DatabaseServiceUnitTest extends AbstractUnitTest { .thenReturn(List.of(VIEW_1_DTO, VIEW_2_DTO, VIEW_3_DTO)); /* <<< */ when(databaseRepository.save(any(Database.class))) .thenReturn(DATABASE_1); - when(searchService.save(any(Database.class))) + when(searchServiceGateway.update(any(Database.class))) .thenReturn(DATABASE_1_DTO); /* test */ @@ -256,7 +257,7 @@ public class DatabaseServiceUnitTest extends AbstractUnitTest { .thenReturn(List.of()); when(databaseRepository.save(any(Database.class))) .thenReturn(DATABASE_1); - when(searchService.save(any(Database.class))) + when(searchServiceGateway.update(any(Database.class))) .thenReturn(DATABASE_1_DTO); /* test */ @@ -274,7 +275,7 @@ public class DatabaseServiceUnitTest extends AbstractUnitTest { .thenReturn(List.of(TABLE_1_DTO, TABLE_2_DTO, TABLE_3_DTO, TABLE_4_DTO)); when(databaseRepository.save(any(Database.class))) .thenReturn(DATABASE_1); - when(searchService.save(any(Database.class))) + when(searchServiceGateway.update(any(Database.class))) .thenReturn(DATABASE_1_DTO); /* test */ @@ -292,7 +293,7 @@ public class DatabaseServiceUnitTest extends AbstractUnitTest { .thenReturn(List.of(TABLE_1_DTO, TABLE_2_DTO, TABLE_3_DTO, TABLE_4_DTO, TABLE_5_DTO)); when(databaseRepository.save(any(Database.class))) .thenReturn(DATABASE_1); - when(searchService.save(any(Database.class))) + when(searchServiceGateway.update(any(Database.class))) .thenReturn(DATABASE_1_DTO); /* test */ @@ -410,8 +411,8 @@ public class DatabaseServiceUnitTest extends AbstractUnitTest { /* mock */ doThrow(SearchServiceException.class) - .when(searchService) - .save(DATABASE_1); + .when(searchServiceGateway) + .update(DATABASE_1); /* test */ assertThrows(SearchServiceException.class, () -> { @@ -425,8 +426,8 @@ public class DatabaseServiceUnitTest extends AbstractUnitTest { /* mock */ doThrow(DatabaseNotFoundException.class) - .when(searchService) - .save(DATABASE_1); + .when(searchServiceGateway) + .update(DATABASE_1); /* test */ assertThrows(DatabaseNotFoundException.class, () -> { @@ -440,8 +441,8 @@ public class DatabaseServiceUnitTest extends AbstractUnitTest { /* mock */ doThrow(SearchServiceConnectionException.class) - .when(searchService) - .save(DATABASE_1); + .when(searchServiceGateway) + .update(DATABASE_1); /* test */ assertThrows(SearchServiceConnectionException.class, () -> { @@ -467,8 +468,8 @@ public class DatabaseServiceUnitTest extends AbstractUnitTest { /* mock */ doThrow(SearchServiceException.class) - .when(searchService) - .save(DATABASE_1); + .when(searchServiceGateway) + .update(DATABASE_1); /* test */ assertThrows(SearchServiceException.class, () -> { @@ -482,8 +483,8 @@ public class DatabaseServiceUnitTest extends AbstractUnitTest { /* mock */ doThrow(DatabaseNotFoundException.class) - .when(searchService) - .save(DATABASE_1); + .when(searchServiceGateway) + .update(DATABASE_1); /* test */ assertThrows(DatabaseNotFoundException.class, () -> { @@ -497,8 +498,8 @@ public class DatabaseServiceUnitTest extends AbstractUnitTest { /* mock */ doThrow(SearchServiceConnectionException.class) - .when(searchService) - .save(DATABASE_1); + .when(searchServiceGateway) + .update(DATABASE_1); /* test */ assertThrows(SearchServiceConnectionException.class, () -> { @@ -515,7 +516,7 @@ public class DatabaseServiceUnitTest extends AbstractUnitTest { ContainerNotFoundException, SearchServiceException, SearchServiceConnectionException { /* mock */ - when(searchService.save(any(Database.class))) + when(searchServiceGateway.update(any(Database.class))) .thenReturn(DATABASE_1_DTO); when(databaseRepository.save(any(Database.class))) .thenReturn(DATABASE_1); diff --git a/dbrepo-metadata-service/rest-service/src/test/java/at/tuwien/service/IdentifierServicePersistenceTest.java b/dbrepo-metadata-service/rest-service/src/test/java/at/tuwien/service/IdentifierServicePersistenceTest.java index fd9eab3516..0c87dcdd69 100644 --- a/dbrepo-metadata-service/rest-service/src/test/java/at/tuwien/service/IdentifierServicePersistenceTest.java +++ b/dbrepo-metadata-service/rest-service/src/test/java/at/tuwien/service/IdentifierServicePersistenceTest.java @@ -12,8 +12,10 @@ import at.tuwien.entities.database.Database; import at.tuwien.entities.identifier.*; import at.tuwien.exception.*; import at.tuwien.gateway.DataServiceGateway; +import at.tuwien.gateway.SearchServiceGateway; import lombok.extern.log4j.Log4j2; import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Disabled; import org.junit.jupiter.api.Test; import org.junit.jupiter.api.extension.ExtendWith; import org.springframework.beans.factory.annotation.Autowired; @@ -45,7 +47,7 @@ public class IdentifierServicePersistenceTest extends AbstractUnitTest { private DataServiceGateway dataServiceGateway; @MockBean - private SearchService searchService; + private SearchServiceGateway searchServiceGateway; @MockBean @Qualifier("restTemplate") @@ -173,7 +175,7 @@ public class IdentifierServicePersistenceTest extends AbstractUnitTest { /* mock */ when(dataServiceGateway.findQuery(IDENTIFIER_5_DATABASE_ID, IDENTIFIER_5_QUERY_ID)) .thenReturn(QUERY_2_DTO); - when(searchService.save(any(Database.class))) + when(searchServiceGateway.update(any(Database.class))) .thenReturn(DATABASE_2_DTO); /* test */ @@ -283,7 +285,7 @@ public class IdentifierServicePersistenceTest extends AbstractUnitTest { SearchServiceConnectionException { /* mock */ - when(searchService.save(any(Database.class))) + when(searchServiceGateway.update(any(Database.class))) .thenReturn(DATABASE_1_DTO); /* test */ diff --git a/dbrepo-metadata-service/rest-service/src/test/java/at/tuwien/service/TableServicePersistenceTest.java b/dbrepo-metadata-service/rest-service/src/test/java/at/tuwien/service/TableServicePersistenceTest.java index fe8ca04fe7..3126f9e9f4 100644 --- a/dbrepo-metadata-service/rest-service/src/test/java/at/tuwien/service/TableServicePersistenceTest.java +++ b/dbrepo-metadata-service/rest-service/src/test/java/at/tuwien/service/TableServicePersistenceTest.java @@ -13,6 +13,7 @@ import at.tuwien.entities.database.table.constraints.primaryKey.PrimaryKey; import at.tuwien.entities.database.table.constraints.unique.Unique; import at.tuwien.exception.*; import at.tuwien.gateway.DataServiceGateway; +import at.tuwien.gateway.SearchServiceGateway; import at.tuwien.repository.ContainerRepository; import at.tuwien.repository.DatabaseRepository; import at.tuwien.repository.LicenseRepository; @@ -44,7 +45,7 @@ import static org.mockito.Mockito.when; public class TableServicePersistenceTest extends AbstractUnitTest { @MockBean - private SearchService searchService; + private SearchServiceGateway searchServiceGateway; @MockBean private UserService userService; @@ -110,7 +111,7 @@ public class TableServicePersistenceTest extends AbstractUnitTest { doNothing() .when(dataServiceGateway) .createTable(DATABASE_1_ID, request); - when(searchService.save(any(Database.class))) + when(searchServiceGateway.update(any(Database.class))) .thenReturn(DATABASE_1_DTO); /* test */ diff --git a/dbrepo-metadata-service/rest-service/src/test/java/at/tuwien/service/TableServiceUnitTest.java b/dbrepo-metadata-service/rest-service/src/test/java/at/tuwien/service/TableServiceUnitTest.java index 83bdfa7e70..d975e808e3 100644 --- a/dbrepo-metadata-service/rest-service/src/test/java/at/tuwien/service/TableServiceUnitTest.java +++ b/dbrepo-metadata-service/rest-service/src/test/java/at/tuwien/service/TableServiceUnitTest.java @@ -15,6 +15,7 @@ import at.tuwien.entities.database.table.columns.TableColumnType; import at.tuwien.entities.database.table.constraints.Constraints; import at.tuwien.exception.*; import at.tuwien.gateway.DataServiceGateway; +import at.tuwien.gateway.SearchServiceGateway; import at.tuwien.repository.DatabaseRepository; import at.tuwien.test.AbstractUnitTest; import lombok.extern.log4j.Log4j2; @@ -44,7 +45,7 @@ public class TableServiceUnitTest extends AbstractUnitTest { private DatabaseRepository databaseRepository; @MockBean - private SearchService searchService; + private SearchServiceGateway searchServiceGateway; @MockBean private UserService userService; @@ -133,7 +134,7 @@ public class TableServiceUnitTest extends AbstractUnitTest { .thenReturn(TABLE_8_STATISTIC_DTO); when(databaseRepository.save(any(Database.class))) .thenReturn(DATABASE_1); - when(searchService.save(any(Database.class))) + when(searchServiceGateway.update(any(Database.class))) .thenReturn(DATABASE_1_DTO); /* test */ @@ -151,8 +152,8 @@ public class TableServiceUnitTest extends AbstractUnitTest { when(databaseRepository.save(any(Database.class))) .thenReturn(DATABASE_1); doThrow(DatabaseNotFoundException.class) - .when(searchService) - .save(any(Database.class)); + .when(searchServiceGateway) + .update(any(Database.class)); /* test */ assertThrows(DatabaseNotFoundException.class, () -> { @@ -171,8 +172,8 @@ public class TableServiceUnitTest extends AbstractUnitTest { when(databaseRepository.save(any(Database.class))) .thenReturn(DATABASE_1); doThrow(SearchServiceConnectionException.class) - .when(searchService) - .save(any(Database.class)); + .when(searchServiceGateway) + .update(any(Database.class)); /* test */ assertThrows(SearchServiceConnectionException.class, () -> { @@ -222,7 +223,7 @@ public class TableServiceUnitTest extends AbstractUnitTest { .thenReturn(CONCEPT_1); when(databaseRepository.save(any(Database.class))) .thenReturn(DATABASE_1); - when(searchService.save(any(Database.class))) + when(searchServiceGateway.update(any(Database.class))) .thenReturn(DATABASE_1_DTO); /* test */ @@ -254,7 +255,7 @@ public class TableServiceUnitTest extends AbstractUnitTest { .thenReturn(CONCEPT_1_ENTITY_DTO); when(databaseRepository.save(any(Database.class))) .thenReturn(DATABASE_1); - when(searchService.save(any(Database.class))) + when(searchServiceGateway.update(any(Database.class))) .thenReturn(DATABASE_1_DTO); /* test */ @@ -277,7 +278,7 @@ public class TableServiceUnitTest extends AbstractUnitTest { .createTable(eq(DATABASE_1_ID), any(TableCreateDto.class)); when(databaseRepository.save(any(Database.class))) .thenReturn(DATABASE_1); - when(searchService.save(any(Database.class))) + when(searchServiceGateway.update(any(Database.class))) .thenReturn(DATABASE_1_DTO); /* test */ @@ -314,7 +315,7 @@ public class TableServiceUnitTest extends AbstractUnitTest { .createTable(eq(DATABASE_1_ID), any(TableCreateDto.class)); when(databaseRepository.save(any(Database.class))) .thenReturn(DATABASE_1); - when(searchService.save(any(Database.class))) + when(searchServiceGateway.update(any(Database.class))) .thenReturn(DATABASE_1_DTO); /* test */ @@ -367,7 +368,7 @@ public class TableServiceUnitTest extends AbstractUnitTest { .createTable(eq(DATABASE_1_ID), any(TableCreateDto.class)); when(databaseRepository.save(any(Database.class))) .thenReturn(DATABASE_1); - when(searchService.save(any(Database.class))) + when(searchServiceGateway.update(any(Database.class))) .thenReturn(DATABASE_1_DTO); /* test */ @@ -390,7 +391,7 @@ public class TableServiceUnitTest extends AbstractUnitTest { doNothing() .when(dataServiceGateway) .createTable(DATABASE_1_ID, TABLE_3_CREATE_DTO); - when(searchService.save(any(Database.class))) + when(searchServiceGateway.update(any(Database.class))) .thenReturn(DATABASE_1_DTO); /* test */ @@ -411,7 +412,7 @@ public class TableServiceUnitTest extends AbstractUnitTest { doThrow(DataServiceException.class) .when(dataServiceGateway) .createTable(DATABASE_1_ID, TABLE_5_CREATE_DTO); - when(searchService.save(any(Database.class))) + when(searchServiceGateway.update(any(Database.class))) .thenReturn(DATABASE_1_DTO); /* test */ @@ -509,7 +510,7 @@ public class TableServiceUnitTest extends AbstractUnitTest { doNothing() .when(dataServiceGateway) .deleteTable(DATABASE_1_ID, TABLE_1_ID); - when(searchService.save(any(Database.class))) + when(searchServiceGateway.update(any(Database.class))) .thenReturn(DATABASE_1_DTO); /* test */ @@ -525,7 +526,7 @@ public class TableServiceUnitTest extends AbstractUnitTest { doNothing() .when(dataServiceGateway) .deleteTable(DATABASE_1_ID, TABLE_4_ID); - when(searchService.save(any(Database.class))) + when(searchServiceGateway.update(any(Database.class))) .thenReturn(DATABASE_1_DTO); /* test */ diff --git a/dbrepo-metadata-service/rest-service/src/test/java/at/tuwien/service/ViewServicePersistenceTest.java b/dbrepo-metadata-service/rest-service/src/test/java/at/tuwien/service/ViewServicePersistenceTest.java index a0b840b621..8ca002472a 100644 --- a/dbrepo-metadata-service/rest-service/src/test/java/at/tuwien/service/ViewServicePersistenceTest.java +++ b/dbrepo-metadata-service/rest-service/src/test/java/at/tuwien/service/ViewServicePersistenceTest.java @@ -2,8 +2,10 @@ package at.tuwien.service; import at.tuwien.entities.database.Database; import at.tuwien.entities.database.View; +import at.tuwien.entities.database.ViewColumn; import at.tuwien.exception.*; import at.tuwien.gateway.DataServiceGateway; +import at.tuwien.gateway.SearchServiceGateway; import at.tuwien.repository.ContainerRepository; import at.tuwien.repository.DatabaseRepository; import at.tuwien.repository.LicenseRepository; @@ -54,7 +56,7 @@ public class ViewServicePersistenceTest extends AbstractUnitTest { private DataServiceGateway dataServiceGateway; @MockBean - private SearchService searchService; + private SearchServiceGateway searchServiceGateway; @BeforeEach public void beforeEach() { @@ -86,7 +88,7 @@ public class ViewServicePersistenceTest extends AbstractUnitTest { doNothing() .when(dataServiceGateway) .deleteView(DATABASE_1_ID, VIEW_1_ID); - when(searchService.save(any(Database.class))) + when(searchServiceGateway.update(any(Database.class))) .thenReturn(DATABASE_1_DTO); /* test */ diff --git a/dbrepo-metadata-service/rest-service/src/test/java/at/tuwien/service/ViewServiceUnitTest.java b/dbrepo-metadata-service/rest-service/src/test/java/at/tuwien/service/ViewServiceUnitTest.java index 1a4e9359f3..cd9fe03c65 100644 --- a/dbrepo-metadata-service/rest-service/src/test/java/at/tuwien/service/ViewServiceUnitTest.java +++ b/dbrepo-metadata-service/rest-service/src/test/java/at/tuwien/service/ViewServiceUnitTest.java @@ -1,12 +1,13 @@ package at.tuwien.service; +import at.tuwien.repository.DatabaseRepository; +import at.tuwien.test.AbstractUnitTest; import at.tuwien.api.database.ViewCreateDto; import at.tuwien.entities.database.Database; import at.tuwien.entities.database.View; import at.tuwien.exception.*; import at.tuwien.gateway.DataServiceGateway; -import at.tuwien.repository.DatabaseRepository; -import at.tuwien.test.AbstractUnitTest; +import at.tuwien.gateway.SearchServiceGateway; import lombok.extern.log4j.Log4j2; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; @@ -17,6 +18,7 @@ import org.springframework.boot.test.mock.mockito.MockBean; import org.springframework.test.context.junit.jupiter.SpringExtension; import org.testcontainers.junit.jupiter.Testcontainers; + import static org.junit.jupiter.api.Assertions.assertEquals; import static org.junit.jupiter.api.Assertions.assertThrows; import static org.mockito.ArgumentMatchers.any; @@ -32,7 +34,7 @@ public class ViewServiceUnitTest extends AbstractUnitTest { private DataServiceGateway dataServiceGateway; @MockBean - private SearchService searchService; + private SearchServiceGateway searchServiceGateway; @MockBean private DatabaseRepository databaseRepository; @@ -59,7 +61,7 @@ public class ViewServiceUnitTest extends AbstractUnitTest { .thenReturn(VIEW_1_DTO); when(databaseRepository.save(any(Database.class))) .thenReturn(DATABASE_1); - when(searchService.save(any(Database.class))) + when(searchServiceGateway.update(any(Database.class))) .thenReturn(DATABASE_1_DTO); /* test */ @@ -114,7 +116,7 @@ public class ViewServiceUnitTest extends AbstractUnitTest { .deleteView(DATABASE_1_ID, VIEW_1_ID); when(databaseRepository.save(any(Database.class))) .thenReturn(DATABASE_1); - when(searchService.save(any(Database.class))) + when(searchServiceGateway.update(any(Database.class))) .thenReturn(DATABASE_1_DTO); /* test */ @@ -162,8 +164,8 @@ public class ViewServiceUnitTest extends AbstractUnitTest { when(databaseRepository.save(any(Database.class))) .thenReturn(DATABASE_1); doThrow(SearchServiceException.class) - .when(searchService) - .save(any(Database.class)); + .when(searchServiceGateway) + .update(any(Database.class)); /* test */ assertThrows(SearchServiceException.class, () -> { @@ -182,8 +184,8 @@ public class ViewServiceUnitTest extends AbstractUnitTest { when(databaseRepository.save(any(Database.class))) .thenReturn(DATABASE_1); doThrow(SearchServiceConnectionException.class) - .when(searchService) - .save(any(Database.class)); + .when(searchServiceGateway) + .update(any(Database.class)); /* test */ assertThrows(SearchServiceConnectionException.class, () -> { @@ -202,8 +204,8 @@ public class ViewServiceUnitTest extends AbstractUnitTest { when(databaseRepository.save(any(Database.class))) .thenReturn(DATABASE_1); doThrow(DatabaseNotFoundException.class) - .when(searchService) - .save(any(Database.class)); + .when(searchServiceGateway) + .update(any(Database.class)); /* test */ assertThrows(DatabaseNotFoundException.class, () -> { diff --git a/dbrepo-metadata-service/services/src/main/java/at/tuwien/gateway/SearchServiceGateway.java b/dbrepo-metadata-service/services/src/main/java/at/tuwien/gateway/SearchServiceGateway.java index 08a106e545..f5e2f49c02 100644 --- a/dbrepo-metadata-service/services/src/main/java/at/tuwien/gateway/SearchServiceGateway.java +++ b/dbrepo-metadata-service/services/src/main/java/at/tuwien/gateway/SearchServiceGateway.java @@ -6,7 +6,7 @@ import at.tuwien.exception.*; public interface SearchServiceGateway { - DatabaseDto save(Database database) throws SearchServiceConnectionException, SearchServiceException, DatabaseNotFoundException; + DatabaseDto update(Database database) throws SearchServiceConnectionException, SearchServiceException, DatabaseNotFoundException; void delete(Long databaseId) throws SearchServiceConnectionException, SearchServiceException, DatabaseNotFoundException; } diff --git a/dbrepo-metadata-service/services/src/main/java/at/tuwien/gateway/impl/SearchServiceGatewayImpl.java b/dbrepo-metadata-service/services/src/main/java/at/tuwien/gateway/impl/SearchServiceGatewayImpl.java index d44df25a92..0f14b8d348 100644 --- a/dbrepo-metadata-service/services/src/main/java/at/tuwien/gateway/impl/SearchServiceGatewayImpl.java +++ b/dbrepo-metadata-service/services/src/main/java/at/tuwien/gateway/impl/SearchServiceGatewayImpl.java @@ -35,7 +35,7 @@ public class SearchServiceGatewayImpl implements SearchServiceGateway { } @Override - public DatabaseDto save(Database database) throws SearchServiceConnectionException, SearchServiceException, DatabaseNotFoundException { + public DatabaseDto update(Database database) throws SearchServiceConnectionException, SearchServiceException, DatabaseNotFoundException { final ResponseEntity<DatabaseDto> response; final HttpHeaders headers = new HttpHeaders(); headers.set("Accept", "application/json"); diff --git a/dbrepo-metadata-service/services/src/main/java/at/tuwien/service/SearchService.java b/dbrepo-metadata-service/services/src/main/java/at/tuwien/service/SearchService.java deleted file mode 100644 index 004df5d99d..0000000000 --- a/dbrepo-metadata-service/services/src/main/java/at/tuwien/service/SearchService.java +++ /dev/null @@ -1,16 +0,0 @@ -package at.tuwien.service; - -import at.tuwien.api.database.DatabaseDto; -import at.tuwien.entities.database.Database; -import at.tuwien.exception.DatabaseNotFoundException; -import at.tuwien.exception.SearchServiceConnectionException; -import at.tuwien.exception.SearchServiceException; - -public interface SearchService { - - DatabaseDto save(Database database) throws SearchServiceException, DatabaseNotFoundException, - SearchServiceConnectionException; - - void delete(Long databaseId) throws SearchServiceException, DatabaseNotFoundException, - SearchServiceConnectionException; -} diff --git a/dbrepo-metadata-service/services/src/main/java/at/tuwien/service/impl/AccessServiceImpl.java b/dbrepo-metadata-service/services/src/main/java/at/tuwien/service/impl/AccessServiceImpl.java index b4d36edf91..1c302c2068 100644 --- a/dbrepo-metadata-service/services/src/main/java/at/tuwien/service/impl/AccessServiceImpl.java +++ b/dbrepo-metadata-service/services/src/main/java/at/tuwien/service/impl/AccessServiceImpl.java @@ -6,11 +6,11 @@ import at.tuwien.entities.database.DatabaseAccess; import at.tuwien.entities.user.User; import at.tuwien.exception.*; import at.tuwien.gateway.DataServiceGateway; +import at.tuwien.gateway.SearchServiceGateway; import at.tuwien.mapper.MetadataMapper; import at.tuwien.repository.DatabaseRepository; import at.tuwien.service.AccessService; import at.tuwien.service.DatabaseService; -import at.tuwien.service.SearchService; import lombok.extern.log4j.Log4j2; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -23,21 +23,21 @@ import java.util.Optional; @Service public class AccessServiceImpl implements AccessService { - private final SearchService searchService; private final MetadataMapper metadataMapper; private final DatabaseService databaseService; private final DatabaseRepository databaseRepository; private final DataServiceGateway dataServiceGateway; + private final SearchServiceGateway searchServiceGateway; @Autowired - public AccessServiceImpl(SearchService searchService, MetadataMapper metadataMapper, - DatabaseService databaseService, DatabaseRepository databaseRepository, - DataServiceGateway dataServiceGateway) { - this.searchService = searchService; + public AccessServiceImpl(MetadataMapper metadataMapper, DatabaseService databaseService, + DatabaseRepository databaseRepository, DataServiceGateway dataServiceGateway, + SearchServiceGateway searchServiceGateway) { this.metadataMapper = metadataMapper; this.databaseService = databaseService; this.databaseRepository = databaseRepository; this.dataServiceGateway = dataServiceGateway; + this.searchServiceGateway = searchServiceGateway; } @Override @@ -79,7 +79,7 @@ public class AccessServiceImpl implements AccessService { .add(access); database = databaseRepository.save(database); /* create in search service */ - searchService.save(database); + searchServiceGateway.update(database); log.info("Created access to database with id {}", database.getId()); return access; } @@ -104,7 +104,7 @@ public class AccessServiceImpl implements AccessService { .setType(metadataMapper.accessTypeDtoToAccessType(access)); database = databaseRepository.save(database); /* update in search service */ - searchService.save(database); + searchServiceGateway.update(database); log.info("Updated access to database with id {}", database.getId()); } @@ -120,7 +120,7 @@ public class AccessServiceImpl implements AccessService { .remove(find(database, user)); databaseRepository.save(database); /* update in search service */ - searchService.save(databaseService.findById(database.getId())); + searchServiceGateway.update(databaseService.findById(database.getId())); log.info("Deleted access to database with id {}", database.getId()); } diff --git a/dbrepo-metadata-service/services/src/main/java/at/tuwien/service/impl/DatabaseServiceImpl.java b/dbrepo-metadata-service/services/src/main/java/at/tuwien/service/impl/DatabaseServiceImpl.java index d06c67b7b8..7415ded56a 100644 --- a/dbrepo-metadata-service/services/src/main/java/at/tuwien/service/impl/DatabaseServiceImpl.java +++ b/dbrepo-metadata-service/services/src/main/java/at/tuwien/service/impl/DatabaseServiceImpl.java @@ -20,10 +20,10 @@ import at.tuwien.entities.database.table.constraints.unique.Unique; import at.tuwien.entities.user.User; import at.tuwien.exception.*; import at.tuwien.gateway.DataServiceGateway; +import at.tuwien.gateway.SearchServiceGateway; import at.tuwien.mapper.MetadataMapper; import at.tuwien.repository.DatabaseRepository; import at.tuwien.service.DatabaseService; -import at.tuwien.service.SearchService; import lombok.extern.log4j.Log4j2; import org.apache.commons.lang3.RandomStringUtils; import org.springframework.beans.factory.annotation.Autowired; @@ -39,18 +39,18 @@ import java.util.UUID; @Service public class DatabaseServiceImpl implements DatabaseService { - private final SearchService searchService; private final MetadataMapper metadataMapper; private final DatabaseRepository databaseRepository; private final DataServiceGateway dataServiceGateway; + private final SearchServiceGateway searchServiceGateway; @Autowired - public DatabaseServiceImpl(SearchService searchService, MetadataMapper metadataMapper, - DatabaseRepository databaseRepository, DataServiceGateway dataServiceGateway) { - this.searchService = searchService; + public DatabaseServiceImpl(MetadataMapper metadataMapper, DatabaseRepository databaseRepository, + DataServiceGateway dataServiceGateway, SearchServiceGateway searchServiceGateway) { this.metadataMapper = metadataMapper; this.databaseRepository = databaseRepository; this.dataServiceGateway = dataServiceGateway; + this.searchServiceGateway = searchServiceGateway; } @Override @@ -137,7 +137,7 @@ public class DatabaseServiceImpl implements DatabaseService { .toList()); final Database database = databaseRepository.save(entity1); /* create in search service */ - searchService.save(database); + searchServiceGateway.update(database); log.info("Created database with id {}", database.getId()); return database; } @@ -171,7 +171,7 @@ public class DatabaseServiceImpl implements DatabaseService { .forEach(table -> table.setIsSchemaPublic(data.getIsSchemaPublic())); database = databaseRepository.save(database); /* update in open search service */ - searchService.save(database); + searchServiceGateway.update(database); log.info("Updated database visibility of database with id {}", database.getId()); return database; } @@ -187,7 +187,7 @@ public class DatabaseServiceImpl implements DatabaseService { database.setContactPerson(user.getId()); database = databaseRepository.save(database); /* save in search service */ - searchService.save(database); + searchServiceGateway.update(database); log.info("Updated database owner of database with id {}", database); return database; } @@ -200,7 +200,7 @@ public class DatabaseServiceImpl implements DatabaseService { database.setImage(image); database = databaseRepository.save(database); /* save in search service */ - searchService.save(database); + searchServiceGateway.update(database); log.info("Updated database owner of database with id {} & search database", database.getId()); return database; } @@ -317,7 +317,7 @@ public class DatabaseServiceImpl implements DatabaseService { /* update in metadata database */ database = databaseRepository.save(database); /* save in search service */ - searchService.save(database); + searchServiceGateway.update(database); log.info("Updated table metadata of database with id {} & search database", database.getId()); return database; } @@ -344,7 +344,7 @@ public class DatabaseServiceImpl implements DatabaseService { /* update in metadata database */ database = databaseRepository.save(database); /* save in search service */ - searchService.save(database); + searchServiceGateway.update(database); log.info("Updated view metadata of database with id {} & search database", database.getId()); return database; } diff --git a/dbrepo-metadata-service/services/src/main/java/at/tuwien/service/impl/IdentifierServiceImpl.java b/dbrepo-metadata-service/services/src/main/java/at/tuwien/service/impl/IdentifierServiceImpl.java index e482cfd3c6..39e4824706 100644 --- a/dbrepo-metadata-service/services/src/main/java/at/tuwien/service/impl/IdentifierServiceImpl.java +++ b/dbrepo-metadata-service/services/src/main/java/at/tuwien/service/impl/IdentifierServiceImpl.java @@ -16,10 +16,10 @@ import at.tuwien.entities.identifier.IdentifierTitle; import at.tuwien.entities.user.User; import at.tuwien.exception.*; import at.tuwien.gateway.DataServiceGateway; +import at.tuwien.gateway.SearchServiceGateway; import at.tuwien.mapper.MetadataMapper; import at.tuwien.repository.IdentifierRepository; import at.tuwien.service.IdentifierService; -import at.tuwien.service.SearchService; import at.tuwien.service.ViewService; import lombok.extern.slf4j.Slf4j; import org.apache.commons.io.IOUtils; @@ -42,24 +42,24 @@ import java.util.stream.Stream; public class IdentifierServiceImpl implements IdentifierService { private final ViewService viewService; - private final SearchService searchService; private final MetadataConfig metadataConfig; private final MetadataMapper metadataMapper; private final TemplateEngine templateEngine; private final DataServiceGateway dataServiceGateway; private final IdentifierRepository identifierRepository; + private final SearchServiceGateway searchServiceGateway; - public IdentifierServiceImpl(ViewService viewService, SearchService searchService, TemplateEngine templateEngine, - MetadataMapper metadataMapper, MetadataConfig metadataConfig, - DataServiceGateway dataServiceGateway, IdentifierRepository identifierRepository) { + public IdentifierServiceImpl(ViewService viewService, TemplateEngine templateEngine, MetadataMapper metadataMapper, + MetadataConfig metadataConfig, DataServiceGateway dataServiceGateway, + IdentifierRepository identifierRepository, SearchServiceGateway searchServiceGateway) { this.viewService = viewService; - this.searchService = searchService; this.metadataConfig = metadataConfig; this.metadataMapper = metadataMapper; this.templateEngine = templateEngine; this.dataServiceGateway = dataServiceGateway; this.identifierRepository = identifierRepository; + this.searchServiceGateway = searchServiceGateway; } @Override @@ -153,7 +153,7 @@ public class IdentifierServiceImpl implements IdentifierService { identifier.setStatus(IdentifierStatusType.PUBLISHED); identifier = identifierRepository.save(identifier); /* update in search service */ - searchService.save(identifier.getDatabase()); + searchServiceGateway.update(identifier.getDatabase()); log.info("Published identifier with id {}", identifier.getId()); return identifier; } @@ -314,7 +314,7 @@ public class IdentifierServiceImpl implements IdentifierService { identifier.getDatabase() .getIdentifiers() .add(out); - searchService.save(identifier.getDatabase()); + searchServiceGateway.update(identifier.getDatabase()); return out; } @@ -378,7 +378,7 @@ public class IdentifierServiceImpl implements IdentifierService { identifier.getDatabase() .getIdentifiers() .remove(identifier); - searchService.save(identifier.getDatabase()); + searchServiceGateway.update(identifier.getDatabase()); log.info("Deleted identifier with id {}", identifier.getId()); } diff --git a/dbrepo-metadata-service/services/src/main/java/at/tuwien/service/impl/SearchServiceImpl.java b/dbrepo-metadata-service/services/src/main/java/at/tuwien/service/impl/SearchServiceImpl.java deleted file mode 100644 index ef9840cbba..0000000000 --- a/dbrepo-metadata-service/services/src/main/java/at/tuwien/service/impl/SearchServiceImpl.java +++ /dev/null @@ -1,49 +0,0 @@ -package at.tuwien.service.impl; - -import at.tuwien.api.database.DatabaseDto; -import at.tuwien.entities.database.Database; -import at.tuwien.exception.DatabaseNotFoundException; -import at.tuwien.exception.SearchServiceConnectionException; -import at.tuwien.exception.SearchServiceException; -import at.tuwien.gateway.SearchServiceGateway; -import at.tuwien.service.SearchService; -import lombok.extern.log4j.Log4j2; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Service; - -@Log4j2 -@Service -public class SearchServiceImpl implements SearchService { - - private final SearchServiceGateway searchServiceGateway; - - @Autowired - public SearchServiceImpl(SearchServiceGateway searchServiceGateway) { - this.searchServiceGateway = searchServiceGateway; - } - - @Override - public DatabaseDto save(Database database) throws SearchServiceException, DatabaseNotFoundException, - SearchServiceConnectionException { - if (!database.getIsPublic() || !database.getIsSchemaPublic()) { - log.warn("Database with id {} cannot be saved to be visible in search", database.getId()); - return null; - } - database.setTables(database.getTables() - .stream() - .filter(t -> t.getIsPublic() || t.getIsSchemaPublic()) - .toList()); - database.setViews(database.getViews() - .stream() - .filter(v -> v.getIsPublic() || v.getIsSchemaPublic()) - .toList()); - return searchServiceGateway.save(database); - } - - @Override - public void delete(Long databaseId) throws SearchServiceException, DatabaseNotFoundException, - SearchServiceConnectionException { - searchServiceGateway.delete(databaseId); - } - -} diff --git a/dbrepo-metadata-service/services/src/main/java/at/tuwien/service/impl/TableServiceImpl.java b/dbrepo-metadata-service/services/src/main/java/at/tuwien/service/impl/TableServiceImpl.java index 6239d95c9e..52a9a63667 100644 --- a/dbrepo-metadata-service/services/src/main/java/at/tuwien/service/impl/TableServiceImpl.java +++ b/dbrepo-metadata-service/services/src/main/java/at/tuwien/service/impl/TableServiceImpl.java @@ -15,6 +15,7 @@ import at.tuwien.entities.database.table.columns.TableColumnUnit; import at.tuwien.entities.user.User; import at.tuwien.exception.*; import at.tuwien.gateway.DataServiceGateway; +import at.tuwien.gateway.SearchServiceGateway; import at.tuwien.mapper.MetadataMapper; import at.tuwien.repository.DatabaseRepository; import at.tuwien.service.*; @@ -37,26 +38,26 @@ public class TableServiceImpl implements TableService { private final UnitService unitService; private final RabbitConfig rabbitConfig; private final EntityService entityService; - private final SearchService searchService; private final ConceptService conceptService; private final MetadataMapper metadataMapper; private final DataServiceGateway dataServiceGateway; private final DatabaseRepository databaseRepository; + private final SearchServiceGateway searchServiceGateway; @Autowired public TableServiceImpl(UserService userService, UnitService unitService, RabbitConfig rabbitConfig, - EntityService entityService, SearchService searchService, ConceptService conceptService, - MetadataMapper metadataMapper, DataServiceGateway dataServiceGateway, - DatabaseRepository databaseRepository) { + EntityService entityService, ConceptService conceptService, MetadataMapper metadataMapper, + DataServiceGateway dataServiceGateway, DatabaseRepository databaseRepository, + SearchServiceGateway searchServiceGateway) { this.userService = userService; this.unitService = unitService; this.rabbitConfig = rabbitConfig; this.entityService = entityService; - this.searchService = searchService; this.conceptService = conceptService; this.metadataMapper = metadataMapper; this.dataServiceGateway = dataServiceGateway; this.databaseRepository = databaseRepository; + this.searchServiceGateway = searchServiceGateway; } @Override @@ -172,7 +173,7 @@ public class TableServiceImpl implements TableService { throw new TableNotFoundException("Failed to find created table"); } /* update in search service */ - searchService.save(entity); + searchServiceGateway.update(entity); log.info("Created table with id {}", optional.get().getId()); return optional.get(); } @@ -190,7 +191,7 @@ public class TableServiceImpl implements TableService { .remove(table); final Database database = databaseRepository.save(table.getDatabase()); /* update in search service */ - searchService.save(database); + searchServiceGateway.update(database); log.info("Deleted table with id {}", table.getId()); } @@ -217,7 +218,7 @@ public class TableServiceImpl implements TableService { tableEntity.setDescription(data.getDescription()); final Database database = databaseRepository.save(table.getDatabase()); /* update in search service */ - searchService.save(database); + searchServiceGateway.update(database); log.info("Updated table with id {}", table.getId()); return tableEntity; } @@ -257,7 +258,7 @@ public class TableServiceImpl implements TableService { .set(table.getColumns().indexOf(column), column); final Database database = databaseRepository.save(table.getDatabase()); /* update in open search service */ - searchService.save(database); + searchServiceGateway.update(database); log.info("Updated table column semantics"); return column; } @@ -309,7 +310,7 @@ public class TableServiceImpl implements TableService { .set(database.getTables().indexOf(table), table); databaseRepository.save(database); /* update in open search service */ - searchService.save(database); + searchServiceGateway.update(database); log.info("Updated statistics for the table and {} column(s)", table.getColumns().size()); log.trace("updated statistics: {}", table); } diff --git a/dbrepo-metadata-service/services/src/main/java/at/tuwien/service/impl/ViewServiceImpl.java b/dbrepo-metadata-service/services/src/main/java/at/tuwien/service/impl/ViewServiceImpl.java index 2f8e7671ed..b0a8f01796 100644 --- a/dbrepo-metadata-service/services/src/main/java/at/tuwien/service/impl/ViewServiceImpl.java +++ b/dbrepo-metadata-service/services/src/main/java/at/tuwien/service/impl/ViewServiceImpl.java @@ -8,9 +8,9 @@ import at.tuwien.entities.database.View; import at.tuwien.entities.user.User; import at.tuwien.exception.*; import at.tuwien.gateway.DataServiceGateway; +import at.tuwien.gateway.SearchServiceGateway; import at.tuwien.mapper.MetadataMapper; import at.tuwien.repository.DatabaseRepository; -import at.tuwien.service.SearchService; import at.tuwien.service.ViewService; import com.google.common.hash.Hashing; import lombok.extern.log4j.Log4j2; @@ -27,18 +27,18 @@ import java.util.Optional; @Service public class ViewServiceImpl implements ViewService { - private final SearchService searchService; private final MetadataMapper metadataMapper; private final DataServiceGateway dataServiceGateway; private final DatabaseRepository databaseRepository; + private final SearchServiceGateway searchServiceGateway; @Autowired public ViewServiceImpl(MetadataMapper metadataMapper, DataServiceGateway dataServiceGateway, - DatabaseRepository databaseRepository, SearchService searchService) { + DatabaseRepository databaseRepository, SearchServiceGateway searchServiceGateway) { this.metadataMapper = metadataMapper; this.dataServiceGateway = dataServiceGateway; this.databaseRepository = databaseRepository; - this.searchService = searchService; + this.searchServiceGateway = searchServiceGateway; } @Override @@ -81,7 +81,7 @@ public class ViewServiceImpl implements ViewService { .remove(view); final Database database = databaseRepository.save(view.getDatabase()); /* update in search service */ - searchService.save(database); + searchServiceGateway.update(database); log.info("Deleted view with id {}", view.getId()); } @@ -129,7 +129,7 @@ public class ViewServiceImpl implements ViewService { throw new MalformedException("Failed to find created view"); } /* update in search service */ - searchService.save(database); + searchServiceGateway.update(database); log.info("Created view with id {}", optional.get().getId()); return optional.get(); } @@ -151,7 +151,7 @@ public class ViewServiceImpl implements ViewService { tmpView.setIsSchemaPublic(data.getIsSchemaPublic()); database = databaseRepository.save(database); /* update in search service */ - searchService.save(database); + searchServiceGateway.update(database); log.info("Updated view with id {}", tmpView.getId()); return optional.get(); } diff --git a/dbrepo-search-service/Pipfile.lock b/dbrepo-search-service/Pipfile.lock index e700161ce5..c0508dd3da 100644 --- a/dbrepo-search-service/Pipfile.lock +++ b/dbrepo-search-service/Pipfile.lock @@ -360,7 +360,7 @@ }, "dbrepo": { "hashes": [ - "sha256:0d11a0e0ec942d5b0ddfadd9e9007ce6dab9c5b9cc433e0f53b4fafcfc597bef" + "sha256:a08b6eb49c108466b231c1b2cae5be501043fe4208a782899ce103105e22e3c6" ], "path": "./lib/dbrepo-1.6.1.tar.gz" }, @@ -1330,11 +1330,11 @@ }, "referencing": { "hashes": [ - "sha256:25b42124a6c8b632a425174f24087783efb348a6f1e0008e63cd4466fedf703c", - "sha256:eda6d3234d62814d1c64e305c1331c9a3a6132da475ab6382eaa997b21ee75de" + "sha256:363d9c65f080d0d70bc41c721dce3c7f3e77fc09f269cd5c8813da18069a6794", + "sha256:ca2e6492769e3602957e9b831b94211599d2aade9477f5d44110d2530cf9aade" ], - "markers": "python_version >= '3.8'", - "version": "==0.35.1" + "markers": "python_version >= '3.9'", + "version": "==0.36.1" }, "requests": { "hashes": [ diff --git a/dbrepo-search-service/app.py b/dbrepo-search-service/app.py index 797b30f1b9..f9e2dbcc77 100644 --- a/dbrepo-search-service/app.py +++ b/dbrepo-search-service/app.py @@ -7,16 +7,17 @@ from typing import List, Any import requests from dbrepo.api.dto import Database, ApiError from flasgger import LazyJSONEncoder, Swagger, swag_from -from flask import Flask, request +from flask import Flask, request, Response from flask_cors import CORS from flask_httpauth import HTTPTokenAuth, HTTPBasicAuth, MultiAuth from jwt.exceptions import JWTDecodeError from opensearchpy import NotFoundError from prometheus_flask_exporter import PrometheusMetrics from pydantic import ValidationError +from pydantic.deprecated.json import pydantic_encoder from clients.keycloak_client import User, KeycloakClient -from clients.opensearch_client import OpenSearchClient +from clients.opensearch_client import OpenSearchClient, flatten logging.addLevelName(level=logging.NOTSET, levelName='TRACE') logging.basicConfig(level=logging.DEBUG) @@ -124,18 +125,6 @@ template = { } } }, - "SearchResultDto": { - "required": ["results"], - "type": "object", - "properties": { - "results": { - "type": "array", - "items": { - "type": "object" - } - } - } - }, "SearchRequestDto": { "required": ["search_term", "field_value_pairs"], "type": "object", @@ -209,13 +198,13 @@ app.json_encoder = LazyJSONEncoder @token_auth.verify_token -def verify_token(token: str): +def verify_token(token: str) -> bool | User: if token is None or token == "": return False try: client = KeycloakClient() return client.verify_jwt(access_token=token) - except JWTDecodeError as error: + except JWTDecodeError: return False @@ -260,10 +249,10 @@ def general_filter(index, results): "table": ["id", "name", "description"], "identifier": ["id", "type", "creator"], "user": ["id", "username"], - "database": ["id", "name", "is_public", "details"], + "database": ["id", "name", "is_public", "is_schema_public", "details"], "concept": ["uri", "name"], "unit": [], - "view": ["id", "name", "creator", " created"], + "view": ["id", "name", "creator"], } if index not in important_keys.keys(): raise KeyError(f"Failed to find index {index} in: {important_keys.keys()}") @@ -290,7 +279,7 @@ def get_index(index: str): :param index: desired index :return: list of the results """ - logging.info(f'Searching for index: {index}') + logging.debug(f'endpoint get search type: {index}') results = OpenSearchClient().query_index_by_term_opensearch("*", "contains") try: results = general_filter(index, results) @@ -299,7 +288,7 @@ def get_index(index: str): max_pages = math.ceil(len(results) / results_per_page) page = min(request.args.get("page", 1, type=int), max_pages) results = results[(results_per_page * (page - 1)): (results_per_page * page)] - return dict({"results": results}), 200 + return Response(dumps(results, default=pydantic_encoder)), 200, {'Content-Type': 'application/json'} except KeyError: return ApiError(status='NOT_FOUND', message=f'Failed to find get index: {index}', code='search.index.missing').model_dump(), 404 @@ -314,11 +303,11 @@ def get_fields(field_type: str): :param field_type: The search type :return: """ - logging.info(f'Searching in index database for type: {field_type}') + logging.debug(f'endpoint get search type fields: {field_type}') try: fields = OpenSearchClient().get_fields_for_index(field_type) logging.debug(f'get fields for field_type {field_type} resulted in {len(fields)} field(s)') - return fields, 200 + return Response(dumps(fields, default=pydantic_encoder)), 200, {'Content-Type': 'application/json'} except NotFoundError: return ApiError(status='NOT_FOUND', message=f'Failed to find fields for search type {field_type}', code='search.type.missing').model_dump(), 404 @@ -332,15 +321,19 @@ def get_fuzzy_search(): Main endpoint for fuzzy searching. :return: """ - search_term: str = request.args.get('q') + search_term: str | None = request.args.get('q') logging.debug(f'endpoint get fuzzy search, q={search_term}') if search_term is None or len(search_term) == 0: return ApiError(status='BAD_REQUEST', message='Provide a search term with ?q=term', code='search.fuzzy.invalid').model_dump(), 400 logging.debug(f"search request query: {search_term}") - results = OpenSearchClient().fuzzy_search(search_term, - KeycloakClient().userId(request.headers.get('Authorization'))) - return dict({"results": results}), 200 + user_id, error, status = KeycloakClient().userId(request.headers.get('Authorization')) + if error is not None and status is not None: + return error, status + results: [Database] = OpenSearchClient().fuzzy_search(search_term=search_term, + user_id=user_id, + user_token=request.headers.get('Authorization')) + return Response(dumps(results, default=pydantic_encoder)), 200, {'Content-Type': 'application/json'} @app.route("/api/search/<string:field_type>", methods=["POST"], endpoint="search_post_general_search") @@ -354,30 +347,32 @@ def post_general_search(field_type): if request.content_type != "application/json": return ApiError(status='UNSUPPORTED_MEDIA_TYPE', message='Content type needs to be application/json', code='search.general.media').model_dump(), 415 - req_body = request.json - logging.debug(f'endpoint get general search, field_type={field_type}') - logging.debug(f'=====> {request}') + value_pairs = request.json + logging.debug(f'endpoint get general search, field_type={field_type}, value_pairs={value_pairs}') t1 = request.args.get("t1") if not str(t1).isdigit(): t1 = None t2 = request.args.get("t2") if not str(t2).isdigit(): t2 = None - if t1 is not None and t2 is not None and "unit.uri" in req_body and "concept.uri" in req_body: - response = OpenSearchClient().unit_independent_search(t1, t2, req_body, KeycloakClient().userId( - request.headers.get('Authorization'))) + user_id, error, status = KeycloakClient().userId(request.headers.get('Authorization')) + if error is not None and status is not None: + return error, status + if t1 is not None and t2 is not None and "unit.uri" in value_pairs and "concept.uri" in value_pairs: + response: [Database] = OpenSearchClient().unit_independent_search(t1, t2, value_pairs, user_id) else: - response = OpenSearchClient().general_search(field_type, req_body, - KeycloakClient().userId(request.headers.get('Authorization'))) + response: [Database] = OpenSearchClient().general_search(field_type=field_type, + field_value_pairs=value_pairs, + user_id=user_id, + user_token=request.headers.get('Authorization')) # filter by type + tables = [table for table in flatten([database.tables for database in response]) if + table.is_public or table.is_schema_public or (user_id is not None and table.owner.id == user_id)] + views = [view for view in flatten([database.views for database in response]) if + view.is_public or view.is_schema_public or (user_id is not None and view.owner.id == user_id)] if field_type == 'table': - tmp = [] - for database in response: - if database["tables"] is not None: - for table in database["tables"]: - table["is_public"] = database["is_public"] - tmp.append(table) - response = tmp + logging.debug(f'filtered to {len(tables)} tables') + response = tables if field_type == 'identifier': tmp = [] for database in response: @@ -397,12 +392,7 @@ def post_general_search(field_type): tmp.append(view['identifier']) response = tmp elif field_type == 'column': - response = [x for xs in response for x in xs["tables"]] - for table in response: - for column in table["columns"]: - column["table_id"] = table["id"] - column["database_id"] = table["database_id"] - response = [x for xs in response for x in xs["columns"]] + response = flatten([table.columns for table in tables]) elif field_type == 'concept': tmp = [] tables = [x for xs in response for x in xs["tables"]] @@ -418,15 +408,15 @@ def post_general_search(field_type): tmp.append(column["unit"]) response = tmp elif field_type == 'view': - response = [x for xs in response for x in xs["views"]] - return dict({'results': response, 'type': field_type}), 200 + response = views + return Response(dumps(response, default=pydantic_encoder)), 200, {'Content-Type': 'application/json'} @app.route("/api/search/database/<int:database_id>", methods=["PUT"], endpoint="search_put_database") @metrics.gauge(name='dbrepo_search_update_database', description='Time needed to update a database in the search database') @auth.login_required(role=['update-search-index']) -def update_database(database_id: int) -> Database | ApiError: +def update_database(database_id: int): logging.debug(f"updating database with id: {database_id}") try: payload: Database = Database.model_validate(request.json) @@ -435,7 +425,7 @@ def update_database(database_id: int) -> Database | ApiError: return ApiError(status='BAD_REQUEST', message=f'Malformed payload: {e}', code='search.general.missing').model_dump(), 400 database = OpenSearchClient().update_database(database_id, payload) - logging.info(f"Updated database with id : {database_id}") + logging.info(f"Updated database with id: {database_id}") return database.model_dump(), 202 @@ -446,7 +436,7 @@ def update_database(database_id: int) -> Database | ApiError: def delete_database(database_id: int): try: OpenSearchClient().delete_database(database_id) - return dumps({}), 202 + return Response(dumps({})), 202 except NotFoundError: return ApiError(status='NOT_FOUND', message='Failed to find database', code='search.database.missing').model_dump(), 404 diff --git a/dbrepo-search-service/init/Pipfile.lock b/dbrepo-search-service/init/Pipfile.lock index a8257b53df..8d0c1995c0 100644 --- a/dbrepo-search-service/init/Pipfile.lock +++ b/dbrepo-search-service/init/Pipfile.lock @@ -254,7 +254,7 @@ }, "dbrepo": { "hashes": [ - "sha256:0d11a0e0ec942d5b0ddfadd9e9007ce6dab9c5b9cc433e0f53b4fafcfc597bef" + "sha256:a08b6eb49c108466b231c1b2cae5be501043fe4208a782899ce103105e22e3c6" ], "path": "./lib/dbrepo-1.6.1.tar.gz" }, diff --git a/dbrepo-search-service/init/app.py b/dbrepo-search-service/init/app.py index 9fe915f92c..f8f671bade 100644 --- a/dbrepo-search-service/init/app.py +++ b/dbrepo-search-service/init/app.py @@ -1,12 +1,11 @@ import json -import os import logging +import os +from logging.config import dictConfig from typing import List import opensearchpy.exceptions from dbrepo.RestClient import RestClient -from logging.config import dictConfig - from dbrepo.api.dto import Database from opensearchpy import OpenSearch @@ -46,6 +45,8 @@ class App: search_username: str = None search_password: str = None search_instance: OpenSearch = None + system_username: str = None + system_password: str = None def __init__(self): self.metadata_service_endpoint = os.getenv("METADATA_SERVICE_ENDPOINT", "http://metadata-service:8080") @@ -53,6 +54,8 @@ class App: self.search_port = int(os.getenv("OPENSEARCH_PORT", "9200")) self.search_username = os.getenv("OPENSEARCH_USERNAME", "admin") self.search_password = os.getenv("OPENSEARCH_PASSWORD", "admin") + self.system_username = os.getenv("SYSTEM_USERNAME", "admin") + self.system_password = os.getenv("SYSTEM_PASSWORD", "admin") def _instance(self) -> OpenSearch: """ @@ -84,7 +87,8 @@ class App: def fetch_databases(self) -> List[Database]: logging.debug(f"fetching database from endpoint: {self.metadata_service_endpoint}") - client = RestClient(endpoint=self.metadata_service_endpoint) + client = RestClient(endpoint=self.metadata_service_endpoint, username=self.system_username, + password=self.system_password) databases = [] for index, database in enumerate(client.get_databases()): logging.debug(f"fetching database {index}/{len(databases)} details for database id: {database.id}") @@ -93,16 +97,17 @@ class App: return databases def save_databases(self, databases: List[Database]): - logging.debug(f"save {len(databases)} database(s)") + index = f'database' + logging.debug(f"save {len(databases)} database(s) in index: {index}") for doc in databases: doc: Database = doc try: - self._instance().delete(index="database", id=doc.id) - logging.debug(f"deleted database with id {doc.id}") + self._instance().delete(index=index, id=doc.id) + logging.debug(f"truncated database with id {doc.id} in index: {index}") except opensearchpy.NotFoundError: - logging.warning(f"Database with id {doc.id} does not exist, skip.") - self._instance().create(index="database", id=doc.id, body=doc.model_dump()) - logging.debug(f"created database with id {doc.id}") + pass + self._instance().create(index=index, id=doc.id, body=doc.model_dump()) + logging.info(f"Saved database with id {doc.id} in index: {index}") if __name__ == "__main__": diff --git a/dbrepo-search-service/init/clients/keycloak_client.py b/dbrepo-search-service/init/clients/keycloak_client.py index b12c3779f5..2e15d00a9b 100644 --- a/dbrepo-search-service/init/clients/keycloak_client.py +++ b/dbrepo-search-service/init/clients/keycloak_client.py @@ -3,13 +3,15 @@ from dataclasses import dataclass from typing import List import requests +from dbrepo.api.dto import ApiError from flask import current_app from jwt import jwk_from_pem, JWT +from jwt.exceptions import JWTDecodeError @dataclass(init=True, eq=True) class User: - sub: str + id: str username: str roles: List[str] @@ -31,14 +33,22 @@ class KeycloakClient: raise AssertionError("Failed to obtain user token(s)") return response.json()["access_token"] - def verify_jwt(self, access_token: str) -> User: + def verify_jwt(self, access_token: str) -> ApiError | User: public_key = jwk_from_pem(str(current_app.config["JWT_PUBKEY"]).encode('utf-8')) payload = JWT().decode(message=access_token, key=public_key, do_time_check=True) - return User(username=payload.get('client_id'), roles=payload.get('realm_access')["roles"]) - - def userId(self, request) -> str | None: - # get the auth token - auth_header = request.headers.get('Authorization') - if auth_header: - return self.verify_jwt(auth_header.split(" ")[1]).sub - return None + return User(id=payload.get('uid'), username=payload.get('client_id'), + roles=payload.get('realm_access')["roles"]) + + def userId(self, auth_header: str | None) -> (str | None, ApiError, int): + if auth_header is None: + return None, None, None + try: + user = self.verify_jwt(auth_header.split(" ")[1]) + logging.debug(f'mapped JWT to user.id {user.id}') + return user.id, None, None + except JWTDecodeError as e: + logging.error(f'Failed to decode JWT: {e}') + if str(e) == 'JWT Expired': + return None, ApiError(status='UNAUTHORIZED', message=f'Token expired', + code='search.user.unauthorized').model_dump(), 401 + return None, ApiError(status='FORBIDDEN', message=str(e), code='search.user.forbidden').model_dump(), 403 diff --git a/dbrepo-search-service/init/clients/opensearch_client.py b/dbrepo-search-service/init/clients/opensearch_client.py index 69f6ab7f4c..35c26f03f5 100644 --- a/dbrepo-search-service/init/clients/opensearch_client.py +++ b/dbrepo-search-service/init/clients/opensearch_client.py @@ -7,7 +7,9 @@ from collections.abc import MutableMapping from json import dumps, load from dbrepo.api.dto import Database +from dbrepo.api.exceptions import ForbiddenError, NotExistsError from opensearchpy import OpenSearch, NotFoundError +from requests import head from omlib.constants import OM_IDS from omlib.measure import om @@ -20,16 +22,22 @@ class OpenSearchClient: The client to communicate with the OpenSearch database. """ host: str = None + instance: OpenSearch = None + metadata_endpoint: str = None + password: str = None port: int = None + system_username: str = None + system_password: str = None username: str = None - password: str = None - instance: OpenSearch = None def __init__(self, host: str = None, port: int = None, username: str = None, password: str = None): self.host = os.getenv('OPENSEARCH_HOST', host) + self.metadata_endpoint = os.getenv('METADATA_SERVICE_ENDPOINT', 'http://metadata-service:8080') + self.password = os.getenv('OPENSEARCH_PASSWORD', password) self.port = int(os.getenv('OPENSEARCH_PORT', port)) + self.system_username = os.getenv('SYSTEM_USERNAME', 'admin') + self.system_password = os.getenv('SYSTEM_PASSWORD', 'admin') self.username = os.getenv('OPENSEARCH_USERNAME', username) - self.password = os.getenv('OPENSEARCH_PASSWORD', password) def _instance(self) -> OpenSearch: """ @@ -56,9 +64,7 @@ class OpenSearchClient: logging.debug(f"updating database with id: {database_id} in search database") self._instance().index(index="database", id=database_id, body=dumps(data.model_dump())) response: dict = self._instance().get(index="database", id=database_id) - database = Database.model_validate(response["_source"]) - logging.info(f"Updated database with id {database_id} in index 'database'") - return database + return Database.model_validate(response["_source"]) def delete_database(self, database_id: int) -> None: """ @@ -130,32 +136,50 @@ class OpenSearchClient: fields_list.append(entry) return fields_list - def fuzzy_search(self, search_term: str = None, userId: str | None = None) -> [Database]: - logging.info(f"Performing fuzzy search") - fuzzy_body = { - "query": { - "multi_match": { - "query": search_term, - "fuzziness": "AUTO", - "fuzzy_transpositions": True, - "minimum_should_match": 3 - } - } - } - logging.debug(f'search body: {fuzzy_body}') + def fuzzy_search(self, search_term: str, user_id: str | None = None, user_token: str | None = None) -> [Database]: response = self._instance().search( index="database", - body=fuzzy_body + body={ + "query": { + "multi_match": { + "query": search_term, + "fuzziness": "AUTO", + "prefix_length": 2 + } + } + } ) results: [Database] = [] - if "hits" in results and "hits" in response["hits"]: + if "hits" in response and "hits" in response["hits"]: results = [Database.model_validate(hit["_source"]) for hit in response["hits"]["hits"]] - results = [database for database in results if database.is_public or database.is_schema_public or ( - userId is not None and database.owner.id == userId)] - return results + logging.debug(f'found {len(results)} results') + return self.filter_results(results, user_id, user_token) - def general_search(self, field_type: str = None, field_value_pairs: dict = None, userId: str | None = None) -> [ + def filter_results(self, results: [Database], user_id: str | None = None, user_token: str | None = None) -> [ Database]: + filtered: [Database] = [] + for database in results: + if database.is_public or database.is_schema_public: + logging.debug(f'database with id {database.id} is public or has public schema') + filtered.append(database) + elif user_id is not None and user_token is not None: + try: + url = f'{self.metadata_endpoint}/api/database/{database.id}/access/{user_id}' + logging.debug(f'requesting access from url: {url}') + response = head(url=url, auth=(self.system_username, self.system_password)) + if response.status_code == 200: + logging.debug(f'database with id {database.id} is draft and access was found') + filtered.append(database) + else: + logging.warning( + f'database with id {database.id} is not accessible: code {response.status_code}') + except (ForbiddenError, NotExistsError) as e: + logging.warning(f'database with id {database.id} is draft but no access was found') + logging.debug(f'filtered {len(filtered)} results') + return filtered + + def general_search(self, field_type: str = None, field_value_pairs: dict = None, user_id: str | None = None, + user_token: str | None = None) -> [Database]: """ Main method for searching stuff in the opensearch db @@ -197,11 +221,10 @@ class OpenSearchClient: body=dumps(body) ) results: [Database] = [] - if "hits" in results and "hits" in response["hits"]: + if "hits" in response and "hits" in response["hits"]: results = [Database.model_validate(hit["_source"]) for hit in response["hits"]["hits"]] - results = [database for database in results if database.is_public or database.is_schema_public or ( - userId is not None and database.owner.id == userId)] - return results + logging.debug(f'found {len(results)} results') + return self.filter_results(results, user_id, user_token) def unit_independent_search(self, t1: float, t2: float, field_value_pairs: dict, userId: str | None = None) -> [ Database]: diff --git a/dbrepo-search-service/init/database.json b/dbrepo-search-service/init/database.json index 363624ff05..59cbd78438 100644 --- a/dbrepo-search-service/init/database.json +++ b/dbrepo-search-service/init/database.json @@ -572,37 +572,6 @@ } } }, - "owner": { - "properties": { - "id": { - "type": "text", - "fields": { - "keyword": { - "type": "keyword", - "ignore_above": 256 - } - } - }, - "qualified_name": { - "type": "text", - "fields": { - "keyword": { - "type": "keyword", - "ignore_above": 256 - } - } - }, - "username": { - "type": "text", - "fields": { - "keyword": { - "type": "keyword", - "ignore_above": 256 - } - } - } - } - }, "tables": { "properties": { "columns": { @@ -640,6 +609,12 @@ "is_null_allowed": { "type": "boolean" }, + "is_public": { + "type": "boolean" + }, + "is_schema_public": { + "type": "boolean" + }, "mean": { "type": "float" }, @@ -827,55 +802,6 @@ "num_rows": { "type": "long" }, - "owner": { - "properties": { - "id": { - "type": "text", - "fields": { - "keyword": { - "type": "keyword", - "ignore_above": 256 - } - } - }, - "qualified_name": { - "type": "text", - "fields": { - "keyword": { - "type": "keyword", - "ignore_above": 256 - } - } - }, - "name": { - "type": "text", - "fields": { - "keyword": { - "type": "keyword", - "ignore_above": 256 - } - } - }, - "orcid": { - "type": "text", - "fields": { - "keyword": { - "type": "keyword", - "ignore_above": 256 - } - } - }, - "username": { - "type": "text", - "fields": { - "keyword": { - "type": "keyword", - "ignore_above": 256 - } - } - } - } - }, "queue_name": { "type": "text", "fields": { @@ -933,6 +859,9 @@ "is_public": { "type": "boolean" }, + "is_schema_public": { + "type": "boolean" + }, "name": { "type": "text", "fields": { diff --git a/dbrepo-search-service/init/lib/dbrepo-1.6.1.tar.gz b/dbrepo-search-service/init/lib/dbrepo-1.6.1.tar.gz index 5ce8fdab038ca28aa52e5c8544ce3bcfee7ca3fa..7e4d5a2470276918716a153487671274665749a6 100644 GIT binary patch delta 37622 zcmcbzgXzi+rh55q4i1;Nu5_mVDM>}C1^K#$dS-ftdL@ZP3~%=Sth#+{lEtk3UqvL& zo%Q&|>-x56k>otds71;1GOQPg%=hWDmsFai(&yN~=y0+}-M@7IZ>Ig~yF;&XOKBf; zosu&-K53$Z{?)5jx0Z&M=kDJ2_kQ@Z<=f9}neqSb<eIV{>hIszpF8)@@r&&I_wU}k zeOH@a^DB>YexSfCyORHRxBtBP`=CV2w}z|b@o)Fvx_kSs{f~v)c7J|+uixE0`~F(H z_`k<@eZP6(_N}$DSIf5Vuio|b|EmuI|KIJix^waWD%1VdA6_NAfAHbzJH8K1clS2W zUHrc1aO%4M2bDK7Pm9mH^jrT+aCJTBpZfP2Xa9c>|5LB|r{4c#{ez$F?z^kqx6T!P z{@?89|H#)%Dlg{Q9sOl*WpU!+|7!Q$zuQmzFYhahdn>z#DUKoP#J$z;d*-ID`=3AM z|9Z*EcD)O4zBGP(=AD6gg6q@z#JYs)bsNKPuav4cy*u$`fA8M8bDQsY{WXx0%g?vB zv#Y=6^J>|%pL=uL%SCh6Cmx;s>}%!ijF>r6>eI!SubqAEsq5{E;>z4R+h&J8-c?yz zTUk}z)W169)t0OKcINHfcU1k#fxNR8sj;`WIy304Sj(BAmE<C-{9<-rGS7^cQi?q$ zDgP7<e6AZ=&CC86<#zpZZ{UGdY&zoiH@nH!#EAMP)<>S^bGpAz{$cT99v<%9Dbot= z&2FtZEPb=}TW$W8*V6V<apHA10?xheVLQV+xuCL+YeS#8%<r=G@>2H}pRQqcXzD7n zFgp`?<9p3-{#X86CWk7&nZ1y4?zb9YtzEWSDjyaw9;jNDY_jsDh=8&<yT=9N!*2q# zg}5A;r-+`d2ym!p$k^Oa&db4Ddw!+Vvhz>)+Z)zB%J}f|1gkB}JzlnX+EGHRz3$d; zK9^Orn?CM+E-Z6+qWzbKB&9X0IHwnf2(Asu&}iJ4nEz?jJ>}1<4QlPq2r(t@{!@LG z!*+4<p(V+d7rE+PB|h{vzMN&-Ho5&T+hV_XhA>mP-#u;ooBjXJs=u<WZ>GESO3tX8 z8yJOV&0CPqzj5ihyR12UGw&Z<X3kf>@BWf^HV*vmdvY>Fn7%VrB=RN9su4ROw(w;2 zGbSM`GoREorM%}dPSt;P6HR7*^~ikxrj_Td{<K?EZdfb0?Wwd?Z3o*8^@eMF0s;-y z3G9r5HWwx1Sxj^_gR-6TWh3gFHtb>Z^pgIy=5&qxs>`?a68|Wd8Gg`_ZcDqgYLaly zZrOB~6%DQ#JK{1dz8yGrFHw$py|kTDCF>PMpDxxL)3f`fgwB3o3f=i{cUk_E%hfZ) z+B4rg{`7CY16Sq+-|{o_50>=EM9IhAmp*XX?|unm)=q~8tvd|fvnDNg(WzWlR?mC+ z!Hb2@R()jbG7~!7l4`uA(6N$bjzk*22IDb?{$%EBJH>mxG#0;SxcxA@{D97FlS3Z^ z<iA;;|34#%tN+6U1vR^tDPp>ex2GNs;BHv#$CJ&_)}ClLV_Wh)>!QEeH7mRBh;VL5 z<_a<rjh}Fb_X0z!X!YY6O^3`DUgdF~qT5oh$hkHniJ9$y-OOgiFFc}+TbXBm?uyuC zC}Z^Er?8IN@#;H08wyU<{AS$n;{cC~M}TJ#!?%gO%!XALg^o9}{JF<d@F^y$OYB?Y z75*!SD@Ds(FSlkt+?ZefOUk(6B$p%Gfm2^@Hv0y5hVZNqe0?OLA@Th5{R=n^&;H61 z>RmV`xt=kAEAf8IIh%Gd){xEB+qm~Gd2VyIUv>VgW7F!ddMxr!;9nVeM%Gk+N!xk0 zWoxggOV6?k<a*TFW|&}Cd~5^Xo&J^`)eFRy2w#`k;A{EP%s^>>cA1Aqh^get3A32E zHXh!SXYyM8#HrSv^K(8vkqYn*d+o0npktxwEh=*(BFC@3qfK{V=ZR@HebTE~-+yjc zpVh78vhKa(^}dwb2Vcllv?s^~y;pdpbb`}nqsR*7M~^kPI-N7>-0hUPP+RN7)Roms zzE`uIc*CUiY3lT%OZQf+Fbs8xj=873jc4i%X6_5$8zjRE#oqb0zj$%+c$J=}ymENL z{R5#3l;^s3IN7v1ZmEyp`0uziKt%K2((jD_T@4uBx5%z})8NIqHdD!arPDzRj++V> zA}vnb5p)*3q$sKB_2H%a$>Uo^muA28Sf7=n;>IeqO)!7K<1#l!&&pSY4u67HOnl$* z*mY57?Ie$m{?JRxJgO46=1w%{O8Cg<^Iv(Bo&BZ0C8v%u?S3xwo;~PDy`|ETv>+v; z)u&h=+&1~LHEQ*e=><;v!wyf=E?9JGv9iF=#|jr$USv;rCwW15MNf}~CBxe9!n%hV z{@OA9D%^0pkNwB9M^d73xjzftwuBqkIc??IZ5w!a`mCuJ<q98aWtd)`adFzrb5kWf zJe{2<H0rP<sOk27VG7_&oU-5{ZzM<kjEPU!*PP!dmwUxD=KS47Gx-ya{3zz$BDcT2 zZL+!9+=4w<ze@hu<hZf=gVl)>!Ixrg)ZbXRW!nO_H5(N#6?R>AeN$txt9@64tHPCq z$xI7Zt1}pjZ)LO<>}t*1{xWOdqoYf7mRFq-czz`M2g}=R;gVFP%YV7j(wSFnOzhz1 z@#(7%SmnWxaDaD_Z}N%btIo=;czq$_eoexXr=ATb`o8Uoz4F<C!+`yU{(o_cuIKGF zNh0zBU7Id&b)G#jQIYG1%*nX34=*?tUoK9(#CiI}Zk7z$<69W-?^$DJaX`s*QF8c4 zU-7Vfff@UJS8smJ{C%Pr@8+d%E{p$j+rXK&;kl8bU}OE?Mz=*<s#Z-~qriSdH%2j+ zv1Z+qqm9C`HjhF)BEyZNV&~MSa<d*-Ibqq=B`szB%?aOpYJ7eCB;H9+JP@>N>wDIN zVv0QN7eBhKu>W}9;PbMFGx`sn;456g_qtG#L1OX&cPqyxZ81ZONt`kt9A?}Kw4R$$ zbgU?%$c}BvN+;u(deQFSMIken7;1%enV2jxRdbnlWz~+71FBt{)iaOsEIE{R(Al$w zYxf1ITb*L*tn8+bXT6-aP^#3{;J9GAcah?Q=51GUlm4u5IK5cYajT$}G~;AtE2mzz ze^p*e$Iqte9V)hnG&O4FP!!DMm3X}Q&R3ZYojYo#?|EI}doy%)&60ZM1zY3}bw4Pq zW?pu+O;PFcrO^0P*+=T80h6CNUz+rTUuf~B^VMtp-|grO$=tH|LfvyeS$R*6Gwior ztsY)WUQpVv<2TV{Tj#Rs{s{*wtUu1PjyiA0o!A(<^xm48A5vr)TuvU$lwHlI+_d5m zSND?S(13E$n~RPH<gdy)#WFENqF&eB(Cl5)i3atPL62uiKcBaWm+9OmkA<w7&4*n| zK8ZeWpZH*sR87%>!X=TjPi(pJhx;)9@?AxRm6xqD!xBE$a&g|@@y11dMN#(O7puLK z86~w<TO()buhq<~nq|<w%+)N-r9?+~?TINqUp{A@<yhu6r;)#<EkL(9eC^B}p7clc zQ#*KX70i%aV7avVrR&s;txZWRbLG4Zd^wX_UUN7buHxcK{J}qW=J5`n`0Iu2QxeOS z?V6P~i+dg@`8_Y*H~Hq2UGttj724*=Hf>kuR3|Q$h=!U?3mos?I^@`Q_0EnL^O>6^ zMY+?O1gkDT50m(`-elI+pK4DVXJ0yXlHJTDWl#O0HX(NRHM)-?9?!^+>*T$>>BH{+ zZ+(6fqqK!e8W$RAFFdtT{(#GiWTk4ZyVBE+#$=mJ$ja_XQb~UJZT_5dD*nnW-s)@% z6pIZfZs*ETTgU!mvC7}VBTwE&r!3Ogq~(#Tnr<7;Ak?RytF=MUkWV(H<mAm2TaRtI z!^3M=^foo8Uh-qwmc2^rXEXYmMw!JLi5<6G*70s`uy^OJ!|P1*<5(QBwri=iPQBK< zFC}Q{#J;3F$<&o9I*m74WF~D?E@RrURw}d6@$8OL$1XOL%s0X%S2kY!vs7#=uh7%` z66#w$&dyxAb7N6#_{3%XwraALF;{nA-+TV@j5MdSN(QD)4}I$ku3nwAyMNEWR`Dd& zt<}z-p5A-xCaHH@Zf3cL8^@LemPZN+VvnUAckpb{6qGG|+hpy**nLXnRim$ai@lh3 zi;mH^&QcRG|DJHgBk8u6pa1sqyzTskRfbV}3YSMiPT=Lmy8RaECqnab-8lsH&93bD zrL^7f4CAk}Q{0;4^q<++FYu55!!m<~_w%7i8LCIFo_MWtCS?9!yG=*m337d5c*f#t z<*Uh2m)~&vG6!#h<d;4^o&cX#BdZI+vp=0bbyelLuSYYF-~q$0tJ3D&Vw~x>BlEWD zy~cl>6_Tr67dY&dFJ_*mlW($7$;@H1$1(3GtgGFG)vnbEH12BLu;{Wv=A!ynOE1<+ z&c5UOC7bc|dXrmjt78r0%x|sT=JIa$wX?TR-<EzH`}o(c!otg0+j>uD*GB*Q)O&Hq zkE=g+mKJio>N{KBV85{3q{A&qIDVsvdFGa;6aHCVcBX8~(*s=DCeBaW*l=d{wX>0% zxgz%8$co*wGcWef6`TCHJ0ZQFpM5<U-B7>j<F3+cyM9jfc;Wl{*`k}z9y0S@JQn&` zO6|?JHHEn`cjMw?x6O{Z_35q?d$}0HKgE))%j=lmo+(&u;HPI$ywChgZpit}1F;MA zbez737si~8Kee~lk-<ukFMLzBwZb{M3fbtHC+Do}t_}Ni?3MJ|%;ag8@9~@d&<*UG zdM@Ylz523@&wE-YU1#`uoR^dD9-B?kiJP1TO-tAAjC$fHCJ?Y<H&4v9;+zZnta3K5 zD%-u<FnryoKR!#o^RCla;D3MPd(VZ+52{}D2mBV>bXq`Jfa#X(`8fGG)yIyoTctjk zVrf>YW5Z;!_1S?pM{9pXM7OcH9ArE=;o-eq+kW$KbBRRntDoAy#q<5;qqaF2Aw?Nq zb~4_1vF_W?d6r&<s;djHTV%cvGIQ@b-t$BFw&>)QA4BgZZwTC>uD9?|qP3j*jd{-_ z`?oFr&1c^f@U6{RcyG%J;U0kx>oTpC=X)z(e%W`&W2d6x3_;GO-3%Uktn4a|>o6R0 zv~pp!ec2(LtC7Ad)AmOF7SCIv52ZISu?VFUG-u3P-yomuwz%1daifBz{<k|FEL*o} z-1{0>+OL28Nm}B=ve{RhtZUCdjtlrya?I@Z$>&^E(bEO(8N=KKX63bibmZA79a6C0 z@S?2r4v8os%Oe(1vYfjg-nBl&?OJu(Y?JJjnxA3ZJ?z)JH>`i7u<b50Tm7-<_ky~L zd0tvAf_7Wm7Jm$M>3*HDThZ&e*lndJM@0K4PISwe@<7#B{g!K|Mb#6{OD7zDv|LQv zw0n;I<EH1Y=N4QJ-LWx3{ETQEvq`e{;nKWc%#U1xc7{dtO#6J|`{KJs4=vf|@q}4Q zt-jM4<@>w${c)$89c(6UJT4ZYr~WLick7*XYem9CmOFbaTzAeAWpjTo9UdOA<m>n3 zIZmI%7~EyMKd{=C@ZT5I=+DyUJp9@#Y(<wr*A8>XRafQKNXei15Kv{hYNG1>tuvEZ z**G{N-pqM<|FNDb^Qkp|zU>o|)O;~h;8LDWXXlPp8-AI1?@G&=Q}u3Fm-vNiD{}tC zoAK6fx^~is*I_S%7lUa0LB%!9zB$>|n|FjY8GiWepQSvdr;3l^1LuktEIS;JdUM;a zeDWw{+GXAV$*eVZ-YA(CYqV~>6SX%z@C4V}30@vdYa$pQoG9$I+0nE~Y2Rnfrg#A# z1)J!%$GOj(tPOuUuXB#fvimO|_nE4<Wf*_lZdh|qx_-al9ftIz>0fO{#a)sz&4TCD ztg3QYv9Xag<jm7&^$Eh4<Q&}&9GzY;-`n(FS*xVin!vy*L4_u(@9$R6pD9^<)6>b! z+4J3GCqGw?FJcWop{FulRPJi;u#CREcZy++=LdrpN9_sA8_%z-^FBKJ!nHIVwkDOL zpzMaUgp9m=7M6N;EyfO3bIF_PdsHXxlUs5;G`jWr`cL&?Kj*LhbN=e{(<lD#{Pk14 zWKoQs>Hp^m->*6v{V)DsP+mUu|K^_amfXIldCuxCTrJzYY1{TP#;*Gt4`wF&?p0KZ z%<gA<VQFjT7axB(`*D`cH(Q<s%zJOkuiyKXEr;9mYI4w4riIxz@76C6>yyiUcI}Mc zS)T2NC5Mmr&hxWiVojZ0zKypwXT7P0*Owa>?7E^RtI9hnKNfH&H_lC7ylDSwDf8{e ztTT2e{dwLn?|R0zf6?zh>SsIYTAHb;+xpJ`V^S>?ax+CE(l0+_-IEn-*e0J0icA%o zZL{>-cd<z>p*-*Jc!pM$94<LoAG)(aSLLQx?oB<NmtJ*ZlWLZ_?Vg~rM&nB|<H-oa zGrCHe-li7iMPYI$&&*yUdi1By^et1_&ofQl@o1q%v3l{!iglizv6arVtxtLz_OPl{ zXEMqatJl7aDKGjIE>|Tskw?v*+l#CF$F(~r6F(W}PKuD*CN|AP&A!`PE?6gVV!da| zr_DD~Hboq{+BE5u$oz<uqM7Tor+65hUOa2(<Z~q!Vv}o@Ma6gs&2svuH2LBdiEXW_ zOGP#6jn$W*JpX9Ym88j=XQXWHSgvQ3=_~HY?G-n9eyi%nrOu0<d#44jdhImnmfEJC zos;ieF^US=G<(~P(`tKDdy6J|7F^sE=do*QSG{hW%dOC;*)uII{f<u6*YfnMOY@s{ zde)6r)$_HSn|Ga9V)ZjJq9|6!t&Y*N?2~c*rn!G~G+z3h*NAZW6q|DR-0YU+VgHjR zef+ZHpR3B#%(rLf&QZ7T_Plhti0zc>>(q^lTvgv6{qf|EXN^~4jEhnHl3FpfuTNh{ zepdT=cFLRS_3Wn~P5Qsgm+4G%MxtjUw=Z8z$fO5OlUdc(d7mj(8hW<)Pw?6CV96m? zb#Xn5lLZe?wsHGf#ngOy=rmbCe16Z43rmh1Ra4iq@hm)evWwd<YR;TJGY;Pnn|5Y} z%b%o4Ql{5GD@~IA`s|rc(UrYtxjoBzcK=pWvrY4T;xt)7x&CH-(<DXH?i@wWi8s~0 ze>pkv)8-v2p0!%y6LlnwCB4;r(=Hx&nyew39UEb^blGEFos~w9t{1C^rzMsco}8Ao z^6c!AnMI*z=GCk`bD~uxQR{0-;mH}Zt{IjGE&HRRV;Ow*#iB_jQ+GuAY)TW;)z_&E zzHA^q;mAsxUT&{vAvM{Kp7nD-ZQk+3@9eZ_pGoOUR_mzTG=7#i%l>8X=hE}@|48=x z%+}`&arHVkiD%Z<Lt@iqX5D%-U)|G0Y|iF}l)$rYQ685vYG#-IdlHyCy-?9}$t;yw z)-z3RZJcYpG9+1<+e_~%n^pCs%xi}<ysXY@*=Gx7^?ltvVM$2pJskzhP-DI4_5MLu zE05kexvDDX*c{K*rzGNiKCSw+`26G}tFE09Ik_g%#niPZJM1f~%I;I=l_teaj$7n; za=qp0oLMP1)~Jb1k(vEz-}%WZyA_Nzr|D?hb9>F|6}htL$<3|W_YdptS$q4nams4u zV^=rK+?<v4cJ8s-hnvl;mOPp7a$A?@8P_7W>iV)5Grn(4yuU^FzKRgD=%xFM_9z#( z6ldi{eviJ9)$noo<G1Tl^Ej8gZrHok_hF*rp6S~<UdDy!XWMT!JRzbzVW#iZ;1!*Y zTaRsBwW+MhMsT}Gtp=M_|6|_Hx7!#eFFs&lXU5l~``DEGY{W(Be2yoDJptV}O7|Ms zJbxLS5OsW2{lSLneU=gmigP`0HC<AA&b9CD^|JEhP`&ny^u$&(){BV?y(3f{;w6^# z6gE{AdY%ed)w=P_zV?gJAEFH`SU37K?Rs|F_Qs<C8R`0!!XnEj*4(gqm^XXv?2i*< zCkNbiyFZy#Cu~__?q0@u><k5R!dt7jy8q0m;Nm{?K>zFBTmS0wKE1v0FJsxfUfmME zl1b+iquL&aBt~?lZ78#1(@ZGubLGhRvRi-ijceEbnW|sReY;89$ik}c?B3^Jnsyw@ z-*fJF?@h65j=A;HXB34Gi*>MES6cPdaMhA8i;d0%y!&|Ly=lWc^UfVBUO%kJxLhRh z>FH+O?ga7uo?AqxOm|&jv#@^i0)xHx@5MOxJ~W@Rd{NuOuV(jFeOmvYi$$s-wpVdU zcDB4-jl*l^D}T5CKmI`H*bS)zYxp%+u&u41IGaQD`n40eTt|KhhPONTDlF&r{CvMs zyk7d|-2NHwB-gF|d&EibyPL%`Yv*NxMfqt897ldM*gW9Xas2jh#)C%})&v&vIoH3H zDyTf<+0Y&#d2#YqQ%9N7w-4FY9A3!&Dqyct;NjV~)^7CcanhRYP{*+<lZ9Ez?2y!g z1~<+B{ye%IzcY6IxR<;kt#qOMy~MT04_Ql{mA!UzLQ6?{^w;oEJHJ2scE_tuU9*qb z=;puXs}HwdU3>qB^0u9BR=3-(x@vs*{Bqr6#`^XvrG6WZ7F4|8-Sp6ZZJ4o~Px_IH zFD=h+iM7s4lH)Yllq|8^ee2=9i|>ZFeQdj!()X^nclGDHvH=bM-~YdUTkg;O|I^Kr z-@I*7OO>$ReSC(&nd+MAe|)oU&RsS0@1C@8%d(znESJo9vAy=t{*Nbb++|*3vA9us z&+{!eABi}AW~)E(MWy%X3eO3>3oMt|WoL?nxvE}qPu&ssvMO%rteMNLSUMXIZH(J# zUc10+(Uygw!Ka%!*8HoCop9pUMyK4X5#c3F{nsaV#I1jpc5Iz;V4|#{=<Coq-S*~3 zCuGY=rk<23ePb>2V(#<cm%H_x;@p2N+sPz$@!1__mIu;lLcwPL>Uoz`3gpEuH1Ahx zy|%5Vn9E)L4C9A{(qxx;8$Zr|TG|v@`S0R3%PrggZ)IkyJF#uUOWlhfo-KPNR5jU| z=h?e_5r^*R6)Wv-ya_DTwZ5<`bnc{fMv*7=%nk<j9u*VCEI&njuld;#$e!b9@vLOC z>a8Vxek+QvTx-3Yt-Hzc;mxG_U#?qMKVK!7$D7-2mH+9k>kA<kW39&Smwam^Wz<@4 zeGXit(RoC6ZC`@4y8Vr3OPQir)s<X@w#;X1o8FjveC{2QcL^2FTW|6lv%hl7P3luF z&z=Y0w2I|(?iYLRtYz3b%}VI^><{w7|4Q4paqU)SFIUSD7iV_s-MYW8!LZ4)r2b*+ zn|q(_*hDUN8y|^{KH%B;!y%-8g=4(DOAhx6nZEQ%uW$2Nw#V+y+m`=MDtztkXGdRN zO?~|+&B(jw)tzm#uZ#D7R!i@__<6P4?!WIo{hG4*@Qcdbl||LOO9N}du1P(w-@WK~ zzW(jhU7=6c>#bk-=i$ZGwr>-ermZND5&QaQdi}MpXLBF>l$^5`U2rdMZmgN#>ExCZ znI<lG@`4{Ew;KC!b+x=?*gYruPuzO-PZ14TSJb3z%w$Z;14>i3#-07qu)OEYioj0w zMe9vJihrGJ{NvQ0-m_9Ab!~rhPfWjY_nFj*KA%L+^U9nByv;H*oS%Hky|mU-`DwQj zi{OTB-|8>a>%6|!b6;v*>%EA_QZ1677ax^s+9`Ehev_!d<nQ%1w|*|X#?OB4S$)&I zU*d&XN9*$*^JjeD!n*bqd-Rly;`i<0>%V;~l8(Lmf1lO=l~4Y@|J}}Rz5d&`@bCNU zH$S(JHJ4ug{Oqj*QO|z*Tf0}UfAR18-{!f0|Jv65yL|EDtAF2@*4KpHTRXKp`{~`N z%I(;h`#9cTJ5>`u_y4|6|7{Qce80QeUQTw+o`(Cg{`;?p@Zb0^URLhe&;J=`)z8)2 zTiyD5&LZaL|9!mw_TTznDfrudxBKpD`#1Ze-u|z7{Aa)6kJ=Nx?Y9d4eEDtP-p=k` zf8u{RKR;i&1KWXL_P6dw-u=IEO8*A)y$(Aw4Yx$q@E?2i(Z2b_WbNL|GeWuDN_y2d z1lToebWJZ?P~5uwtx4_u&)25}R_C*owO1#bRdfZ_{{78s{6fL`7EjN6^A{7IuDxsf z$Ir~HzMy44dqqG3|Eaa%JO9RBfBP_Jd$vH6r*-{`!#lDZGb$Gs6!Y4inej|S(ANI_ znxKa}<7Z3}-79Pv7<>LYe^all?2+x4F9ar<tc#lRU8wS8HruW_AI@|#E?ZgLFI;Z? z@yeR|faUz#X1+~bRm9IMHr=n_o@vSLJ-b5u_~)tmztefQC+U+3>$||i$s9@w70a_Y zZvNA)Yrba~T5tTW_Pz4w_rK)WE(>=(srVRpc87?c$u8d`GL`|W9#zO*K6rg<lv{Ae zBA4JF8k;r0$c7r<V%YHU%sHJ6M^-a^XyMmnn|;T|!$eI!oA>3`CuL4W7LN)yO<S@> z!Y^@F&#pqn{+nHjC)LFHl^pBE<!ctznM^p+%@OwY=q!&4(|7OcKfHLgdv|Yx<=r0D zsf?d?&3g9r57)`UC)3YJUA3COYR$LJ$7TlVWM7$m>{|Q_?~;3peY=+R3VKyJ`s(n1 zIhniW_?`s^I=5V!J@c)Awnhf~-o=5|5ms5p-#xp2S$5Iu*)Q6Uu^j$UF=@k#6S_^B z_qJvASvvkaW<2lMN9E<~I0Rm**2ndK`zjPM%{aOv>0xl(dM&3LJsI=9oo%*LuRQ!+ z<MjV`%F@CcLppn}>q_@`GE};|JE?IRH&1z@wA|UZg1=&p*1NC^+cf3ozg)$p9Cv0u zw+2r`(|)7g>WFmtqmFa+>~$mVzFch)$WxW#7UjG(C6T3Vx{~MA8d+YkZVeAh`T8@7 zi%(8`e35VCPBx>x0`1?9E%)EkF?o9aqf9MHtD|n)KOI|Q9l$X2kx2GTr(=_MFXGaQ z-6}M(PmTNa62_~3B4O*V?B-RuRW(U7#MAHU<m^3B|0Ws!yBO|fo3H45ch$Dtq01XH z`Ln|NGIy(AZ0^1B#OLnylKD4k^4*FBFK(XGU4Oml%3{l#9cn(SIappAu{XOcQdN}8 zThdkd_Osu*GSBm+KUKGVd3~$=!P$AH>lQo3Y<6o-bh!O#Ci9BGPj+ASe)_-WkG=l= z|C{%JfBf&@!-uE-fA0NVf3BYYu<EaRzOuf!h5ys@|6kSSS*i5@{J)E*{(si_H=ol^ zUi8fM?^(<XCfCp6uspz=_wf1kr@~!gPPf!W_G-Tsw)%hj?Ah&4go7T>y|2Dx)~T<Y zZ~uKbTxWW}e6iGwQ{}>?yCd%NGX1{v*GSN5{`JF6#Tz*IyR(*`IBaxMc%jtH)53y{ zn<V^?Tz{JXLr8{A>q1}3f{rcT`@#b5^UA+(uvI_vx`lPl8l4Y&Cf0v5UlPN6?4sYQ zU5_gdTYIs49#-YlPP-~5v1Oy!-iO_08R7G%{@uUnfBL5X{dG2rGHy@(`#<;g|G*DF zgx=I|`0~B1yz-CypIer99)Fat*8W}J`K|uYp7SN_3bP|7+ow#^-TvJ*Z+^w{OV5sY zPfXB`e>}5+_q0sYOv!TbJ3)MIHua`X_0vA-Mod)vTkmBdx9;b~i*Jr>mdI=jeH^Bd zeAd4rcVoqkBfEQ&{q^=3e48zOJm2R3yh}|-E*D>Rw4D^WDQwfj{k=2n^O_gx?#{2{ z+F0K%e^nye#yN9sQa`gXONJCbgVL=Bp^s;sZ_&8;?0Dp{dRJ+6{hPOiHqPC$-Sza$ zdd=6l2V)er+*RKdKB-UiVcyIaah^}(T$d#*YA_L7xN^hfhiwmS#VnGS6(06b*qN!i zae-X=@5CdH2W*W~`kzI}bw!>0zI;X5@=wcGL{<J13Di!QJCWaZ@8TntZrfu@6E{i3 zo?1Sm-)ag&zW#y=_5&;S%=M8hd}PL8wdVJ;HGA*Y=goIr#{2o`%1bk*ari7gHu>w1 zxe6H>xrsr_H#)0M`tp{_8%V!%z9TK-doU)^;?C3qhK27d&t1t|pd#}+X%=^^W3fer zQJ3n2<!64&m`{j`&20C~TFH2P;?dLA`9ZG>)t>um`5HajqsejA^GTo|&!vYew3{4E zL)v$`URmegb+$e*_mlprhLk&EyXC){C4JrX+9PG#%Nz9ud**Y#4}Ur*LgjE*%%Afc zJ^uus-t%8)|3T+{4)2=|9OU9SJpc8q)34uMJieQ^_TguyZ`Z%;JbWkhv+swSkCKI1 z-R%SOXTMkdd9d4X6?f^s)&6F>Q=H`^?K+z@UT&~X5%2Q3Ul4b=HMIVZX5ji12h){7 zGOvZ@O+7q!OW%~!*=1;Zx^?SL6?w4-!faP#{eAAFSNwZk#g|%g{ppmNXYv28JUTeZ zHS<tK@y6DJ%k}5~n*8>}%YSF~t3*AX9J0^Ua^?J=(-$#%Jo_3MZQXf~wRh_KIKijs zAK#uo)M0hAZf-|K^5zY>*MpxrX4I=q^z&Ah4~Sf#xBn{J0(I;17eZHlscyQ)60&f* z+2muJcZ)at56ip|c;}nE%XZP2+jmc8r~Nu3{#oJnugyUnJ$*i(pHIJ9x$WxBeb3)M zkVuL+FV(<OJj;>e$&`{W(;8-plr(={)-nIstpCPB_FsGLZYs~d^`J(qug3gQ#G}(} z@%8&k|FzG^mi@OrD8BTM`=?jC-2O~<K6IfwMx14dMM3PJsdILp`yVpZ)S=$Qu;KXc zKc5X%<g{EImqkt5fA-7u;{u$T)y_{Qtvh|d+x7picWwT&)Yo}W7e8{zxiWXrjtP>X zPMcU)FxYFUe6hQvdQn4iw}Q;?Kb}?DD(mdDoupak)YoUfiMri;ap8%OJE7KGANVJ( z{NiY?9&}s3@NCS*Z*v${mU%IVI3DQ~nUS>e=ZY@vLj_E`l+~{ZaGh32?36#PeMq&t zddX~^jm<9>rCF{Bi7wQhe~Zf|#w?{|lH8Nydi`dlY}4}eohMDtF<CV=&-C`C`4={b zWohcw_nys<Q%|j*_00Uz31g!z))TMzy0zLajWI1=ps{iO43VHhzI8MC4fUkOm%3K> z&3Y;D`1j;5dUZUUCEI;vQeq!JkP#2?Ec~b_kuTkqE__+_?}K7jrkKtd&R17>C}>^e z`de(gO#Vb%7USKNqU(%j7RPSfzFAye-fh2-#v+@tc^AA}&IsB>)V~nqPjHMl;A6I- zF(_94&6|{!hdv(VH8Q@`<d~<x&G^)7YiD`CO3AiA|GsVh)otAH=3juU!N*^QX;a^1 zzi+>kRTtL&DMas$M8yK<^h-T$$JzqEG<Wd*6#HMFJB|5`f#rRf4LScN@kWQ+GDVqY zu8vGMwOQa0{V$dAwm!oe5sUgC9OA68!83Rn@=cD`ZHf-l7EZj<>Bs!nf2Hm^|0{EM zz20!6r}x-N&(E)xRqmSUdd$mJ=#^WL@1*|D_6cDok+Qp<mEI^4UBt3PM0Zm7<LFEL zX_KBDDz}+xQm-YsTi~bJDZzZhRV!tVuY8d$l3C=d6TIf=uQ^d$&gwZP{XM7XT7Sym zV?_M<lPBbV&$HanSu4ES&G}n>_oAO4ZbVfYn%u8C`Dn_nsV60sxKAIy@pMPWiz9dP zR3A31NYR^`^EJ|}@S*D}Gly^bQ>PqP+IO{4j&Y5EONZ6w<`3p~4%EKAz2>)_bacs{ z4UYrT9n}_XkgVgisnk&G?2Fu?_Jvi!?u75UdYiVD7Ab1^Dm7aFcNE+YVbB+Sx>xh$ z-?Fr)b+^v_bz}NH+w>&Q`yUhAIp;;Bd6wl~e{}hSigwZQ8$15&tk4yjy0dJ?BBP41 zu2UP<eY|+oy0Mj~t<y;JP1wBdD4&)a2e=iSY-axGR&+A8>{fP~)0VD!$l-0{!|T?! zyGkl!N?7YtPUy<aDw8{NR#$FyfR|41lX+g*eeN$bdgmR>tL*U?JS?PI`Qcl7;}84z zS56LAGn@tIhG~Y}sT9jUe$Fv0|D&h&tF^CtW3p@A3O~hg&y@c;H|BJfu=2+0KvRih zbB|uP{J8ba(R1g&xXr$s+JB|!r7wG-<BnD7a~_9sf9LrrS1*x}x}9s%*(H8G4<0Xk ztn}gale*`R0{nBX6x*BiU-y2uF8#)B58rLx+{Sln+-@W$b#;Uud}3vA`r411Kh)I| zy-$c3cZelh+SeIP30mIf>HNoQn~B)cmy1u^3+buyJ)dyUU{0XI$=nsXPfi$xR3HD; z{lK~O*Y-8espWEtZa#VSoqD2vSDZ|APA(OCU2JCdDP)luTU5@$<6^(R$o+1fE5F&{ zWJ2A~4=$&2noOs$Bz_MS<M7-TvaEjF(!#aNzqK4qsF3`vX{pe8{PWutM{d<IrRHA0 zVX-sMOzqbrH)n0<<jL2>S>?5#o;AFC@5Gyv^J8!GA1Z0+N=~ym+j8?wS#JGtH8+9$ zL!Yh7tPZH&=i0N>k>#n*K@a~WfnKsKUY@zVb#1lACQbXyi*znsU%{=t^dsk=J1$ox zT-$apDGrm_ecfF$Y@^SA<$p`rqj$`13Ez9d{9<zmyWpiz`A-ua1J4E>46HSpJ}dR* zwk?v2kNudzvTBplt>l7~(6_UgZ%g{Gs+XRfv3J)ur`>axFHm)qtdgF7U48B4Ik)s9 zcgOAeXx|^-to&P3mh<q$b+0o8kCv3*6*(oJ&bH*w#iTWt_X~bsby{DFef8@6&9aQ@ z;_k6^D_<>%y}pn8S=jRW`8A*O{Mt`$$x>TB>FKJOQS)bA-N#bzo3o+tX`xrF!nI4q zd1o?D)gPF9Bz0MsK=I=#BIgnhP5i`j$m-qIiA*YPR@yTsY8r<foVK~^K(1$G_vBW| zMen@UU7J$;SbLh`t*U=*ExwB$FF6o7qj29eG1bWrDkal?tK2y9`{$eTy~2sicFUg} zlMNAEG^0<#a-#mJoEPqEMe=UDADvhKKJMVBqd5=M(^3+5*Z;V<#^!n0z9y#^eXq=4 z7R)%%vt(sKz?RMHSG}rAI(P1$&XSqiIhX9J<w~wnyLIp1n#CWF=3QJJIoDZrMwmrX z$u6gJZ+1WLOq-YgcZKvp;hH}oHu{H;g-W-2yH2gDQ`2+&nN(3xV<vX&(A6n>IJovK zo-@0HFSjzpSIexqs8}tyUQU1c<hV(n_Awkf{N!GxrvC)dV{EIflrm?W+q0tPmeQSY zv;8GXLQxHWB!iirC}~|{RPs7`m2uJI&`|zQQ$lM3M7T9h>o|r-Ob~9J-@Hr4{M3?t z)3#b{x6hvZJ87!C=UMM7wMnP{cG@zr{++h*&*Lp$Ot#hQMa;R>d*3~0iR+5`V53;Q znBdK~)A@G$7{utlF-mP@+|K>O*J17r&(NQ@;{)toe7Skx%&M@a>7Qq;k+62>_u1Ae zZhPj@=Zj`r<Zer*N~?4oXRjAdzFAf^*}<7-TI~kr-}lOnOw8J}SZbqXoli6eM}Yp1 zgE`-O<Wuhz9^1pH{`(EbUyZF69Go%f&h>}5HH*%%Xa%O3{dhKQZv2CN9+f-iSv=Xq z;<7)PH)2-6)00<P8fMm|d+yeq{Hv<bszzx?NnZo=xtl8A7k_qsZNuj9+@|zz`?0#$ zuWrBDeqQybtL@JRC!3?h7yLXUaaro*y{E^v9xGj^e(#^>S4qR=nx^~aa9m~K)_!Lr z%C&N%as3mHjZgNg9_^hL=K8R5PPA?2n+(QFIp*>cG?hH&hkVzOcGVKOu;g+4WrwRr zZ4UfmOY3*-%1DS_lbjX)-KGD^QybPbg)eUNH%yY-{BF`tw~Mn~ZcVIv$=`1wdvoRN z9<E<4mrkmk%E^q`ET@xi)9ZiTA$Eq`_GZU>YYwmPGrSyCZ?I@hn@rQk2yubgj!UMO zEXiA&<#OPDztiF3k6UCuGnT#!IQ1rEmY&eny%zI%ml{lY%<g?%$g5c3(!;|&k&P>q zlU{@_PrU!#ZLgiZ*3;&vr56r-a@UhTQJC?qNB6b!#I*H>7N@@Zi}b9!)5Y~@^O-|} z2UVxk*UU?0I^t<$Sn;o3Z~u0Sk7?n{toH_8^o*P$vtC~Gq4oKTl^j2Fk2cTybh}Gw z!KB<&o)*99`<J_LF3eNQv+-^%xLNL6oEA}LP;$mFI5O<f6{QHhSmWnUY%dtOrTnWs zkY<<ibtd<3oximkewb%{WiC5&J#}8C$l7E1x9xU$Jo~$KSLWgQ7E%+NJnH*}E7iB^ zE6qu`c&%lU$}UUC?<t?TH>!BAKCNFI6T7x}_pX1+dL6HS^;_;bolyL>C%yZnB3HY& zz3}xJ=PhLp-gxyWKeTA>t{=ajEW55$b|-zy-Ys`OJ(Y^@y!-EIM10ipZnOP*YU=E1 z-{(D>zBy9RU;4X2s?n@luR3k!Syp#w)|;1^9`}zu<hb_uO6{o@?~1RMq@InOyZLlP zntze!y655#<NvA6J(0C-`WEv)ORa0Y*>9%j^W?jm{E=Ci{(N3)`SJZOG1{k3@3zQ) zdr$nyTG5Y}BzsD49{fF1K}WyEe*5oq-Y4f<UZqw9opzL9{p$ZVBz88dd2puZM~8n( zy~nHTd-g2POjR#6xWyyI`*j0P>N1T?{`1aC4q;ITy|gQ;);4&&<^1%1$DaL5OtYg) z9Y1P++$(hd{<a@+3@73{ZJt;CeIs~brjm^M<oHWp6Pgu5mwgZB__`;jVxskaq08JN zmrXjo1uq@7wQcX1=Ca54$X<g;+w45IeLVBB40hOEH?E&OuiEBv-^wLjA2(g$IcGQD z_vnPX_RUob%l{gMaC2Tf{e^4E!ss?O#p=01)ejW^N-~BV`BQYZUU%EdC)?cn-fwzr zxw!ER^WWb07WWgbtABY^8+s>-!-<8zwO=&geDSSq5f?tbP5cyKf2nju=kyn=Pn^@3 zpx%6GO-=G_)0Z+`9rbc9Io&k@e6d~6Dsq1Xu1o7#l%ckm{id#u9pi*kXV-4I6~E!! zEZHfCeY-W8i^5*%FW=w!y;<~SPw?x#+<g{G_tv;epWRk&nyk{hZOQ9f-&Z{mDg9`! zHuKf3@9O-U760hiA89+0bn~I<qRUTPuVu*Usm^fwa(w6AEABbx=dMxMRX=}?=j)zV zo}Wd61YVvG^*bKZ$+f6Eok#zWGbcyaf)k4FR)%Z889iU~;hWfl(8=zbKCr2;R@3*L zUomeo!!ohi=d06t+`=aF^+f(ydv?x-X@{<UeJ8?rwpeF!&YPcn#+uvCyv*(C7MZc@ zPl&MZWxvSHPi~8^DUZ8s#^ig`HeQ0e{*i(HN%r+VkC#d)O|Gu?+qUa(q|o_p+rrei zwKdDMA5L2?r@lM--bKBop;wm9eKn~`qijj{z8zvEt4?3mT%(%8Ctx!Bg@9l8+&|t^ z{8t{Fu3E7#ME&-q{y)Da#U{I){Ji^Eny_1q<k|g>d#0CG+`nv5XK}*2?9UPF*rpWk z@*N`eH^tt6OU+4rc2H&B`D#CxJwKn@EQvX>rRcb`|D+VhgD)@aWLNcwIWl?k#|{>6 zldkm*oj;Qg3WTnI8GTlLUe|-ojo%M^sPg<P!Lql_+~il<h5rYh=FNB2QH{MN|6x<+ zMw^!noAbRM*=_8II#78hew|NL-M;)?kDs1g#ww#ZFYjgjPW{dYUQ<%iKFgftKJ2)? zPUn}1M1ldIli7``ggORoue_7phvhaevUt|zS=-pRBK^~iJu4VaEq!Km<{eM?k=-fl zD;C}Vx#v+-^7%J%`<Y|4zx*k*tY@94_lbRSddAy#Z>HD?*hF<MvbO4ASNME5_h9~B z#ZPJxw+;&bGzfCH`&+Mg__$khwcMs<2Pc$H6X^NAI^fK*qI3HL_>T(zIK7=U_n-JA zx4*{!tT*%j^?q{lvet~QxhGxsn(!Jgex7=&sbYQbPlsinjZ(fuJiGAi3E$N<Nm{SI z{%jFROZMUW`-9c%DSIu;lwwgG<LjpcZ*RKtF}z@D=(~%uRqM`h^FL8gnpv;ilDurK zgHq$oscw6FpU1ZC)Kc2lv)1!SNuUhtQio}gy@7|G+=-6n@{sGCpJlYI=HuV)&ZR$; zb{zPY-uOUVx~#!v=bIJGM^1if;#+j@S(3^5qv<YkWtm}<Pp$ZMsKUQ4FK7zu5&h3A zE_po_ZT_@;%i0|`f_6k4k`&+nLi(iP>w1rk>h=XGC*Sy`MC$cET>5Kv>(irBm45pB zJydm5YNOON@7^_t4SUIQZ$)0!BcEfn&))d9D22NA{BpZ{G<eyiS7|FQnLEF%__OS? z&g}V4Hs^0;Ufve5XCmXLx`pB=SezXD3{u!qW1salUEP?Vf9&Ok7fZY+y@)!e>RUJW zU+e?X`oQz`wpZqG9qHLQIYvz1ytF9O%X`)SOd<8}M()!OuKu)J<jm=^OsAy|b2)Do zKMyYIh`Vys-*du;Z*yH^e||}^O1tUeC3wPouJU>xhxp9i!kOpxthY~Fw`P*k<0oNW zr;HBYPcKue+1c3UJ@w8;yXoR_JA6*czBW?adDJ@Uk~dfV{(8?(R_se!PrQz}eO~sb zC(jav7sf9I<RAIgDp_T#ORia(wDsPP7d0opPIP}hX`jr+d3)~l9jkQymSRxkRFkkf zM(;zxIv@5EevTp$yA*4t3$us4C|drowwF)DZU^g2Rfh{rnLZ0=)ZFE~Q@FIz%hjg! zg=vFXUG@6SR}^F0Pu8ciY%PuI^w|09uto7x-Kzz9G1<w<va=(e?@2D+yg_B#?sGT0 z!isL4u(+2s_y5eV8^T4uxSd(k_VRGK-Rp{dqB$yar2QrSEt~c`$oc-3xalI_roAZq z_j#V0rhTX1#KH%M9&f5kn|}1m#d0YgtJ4|_*?q6D?Rw4KaryFt>RrCSjp`Mv{AbQP zwD|kJrj#k-``PCeb9~d1SIvKG>ulu}wtaKjVwKxf?^32X1*=c&49a-@ByU&CHwMdZ z2_8IiAD*A}XOVoh&D6O|{O)L{YuJ8Fl+`~M=5<Kc*Ky1A^L880b)5E_GilOt#`>+x zu6+tF**7D3?LLX!918-L#O(_YWt9rKUmt!gY|4~PCB@$F%T{K(8B4}&elD>$!PuSs zLuHA`-%af+uZT2;?l#VJ-|G5ugUtVc%hfNdSmkHr^tg2hNvBxad$unBerZ|j4Y3~C zkn<P3CWP}`adhel5m~S!D4{Uv&W#0^W6tTtJJ%~8SGwdN!0ycNcqiuMPs^t^^WUfo ze=4qLuT)Li5ilh;LA>-&`mumj%kKm~{ZYf$IsM{ip_Vwm_1x2{Tg%l`8w{4}%n81b z%J8A*qthJoa|$1J8O*ch>D}|WW>v-Yuc<F~ecV4$EK)>V(qM|A;wHH|*}$by2R*#? zQ(m34*ZQ#HybpK(i-Q8?6+e!ZG#zS_y`5TqhIJ34dVTk-BJIg7#)-`R`rL9HtP(SP z)2Gccc~Ggk?c$D|nQ?cv=;<%|*SY>vU1HnL1$UUH&i;9#mH8Q48OPdx-2C^hJ&@{Y zy71z0n#D<np7qnGe?PH6vTNt@Wjw|mvNOeI?F-s5ZL#~4OQ(5HmQBfw2@{(4vcbZk zUF2??x*N-pCbju7^=s$xm&S6twfhEjXSTb!qzbjl_+OO1D>%{1T_LMyo!g@~O!CEz zw_iG2UU2J@n)rpADa`-tt6O$HibAWuNP06ZDCt~~RS|He-euV&jeK^crHa~&4cFYQ zoE0}}<-M@6{pYPT|5n>Zo|fb4oBvMEPJTT1ZPdNw4LdL0-zWBW?c@3zJ$F`Zcb>Cc z_}9*ZG1)H|udgoGp6{tXng5@PZN5wD_QJDlQ+N2M*rZ5XcGn4aDjfdmb%=Ylg8hV? z-O(#^+nXO=OaCPC$X<GOeOOZIns<d)WWr9qGYecUR#kq0$83YKPKEueYoYH$4@^C3 zcXj6qLGBs<yV_39Nl^MC>~QeAUVZy4e}~@1CC*z#4sNmBzi#i@>z6h^2`zZI>tTiL zqA$B-s!SgpF8%7eg0b{h`L8=%hVg&=rxx4wuDzPPrr`5a)@ZKQ2bMg|CFf5Y@NBC7 zyN##Wgm0d)!9|vZ_Ix`68_vYYofl3oyxJlZ&pI{9Bw&`+s#~tB#kudd&Qsq0WyPL@ z^^ps*TFj<D&691qq;TO)f}5&bXpy1SVK=4EJDVP{P6_dJV4aic!X*@TNz}o~Gph93 z2IKxD>&Zg1*Bnk)niqHKx%<5Obe7tnEe<DN^+pIh=sYp;)XS<rnmqd*w)ZZZ@TLBI z<FUJZKmUe&tynHycK&NkiDcQ!R)N*5wH{3#eXjKjr!EVB829w_r>d2KACCuy>3+79 zH~S~399sCP*lqX16AM{)FWxJEvY>av1$n6!g*qeCj264{)0dNCf*hp<m+F>&H+JV% z^Rb`hcw|<pH}A$-x4J{Zd^eujd^L2p_DUtQ^zJK3>DSM15_Jy0?6<Mz*t4`X=Z@`K zvo$W1Hz!Ouwf@Sl`0Evgt3=jqF5UOT`2IsKvG*UdO{RRm>9t(pbFQlFwduP`cbfYP zOw@ClHshC;tKXIt>0z&yg|6SU>)o+_7NK`*mnh5%YCrkvg{p?3{LLL}{!Ln5^XJSl z|25@2wbc#M*$i(^hw1DyE3|odgvVE*IqP#^@$^jNw2}qZj})~d>-SE&YJBPy=OMA3 zH^i0FP4j-nD2Z+SY9lo5`yAzj+f9nw_iHhpzT0y{@xk$TESK*czZGV>xpnn}s6S!~ zMrv>SUS8P7sq^K5D%%S&w=HfnejQqRRJ?NM>)<(R0Xj^@y~~Z}{qBgE_v6ady*u@) zd#`;k-tgzirYNiD{>%$hY?ki%RbQO?L7hS4OUiTSEf($Hn4E(@AM}0lXLWdS`v2$U zKj&-;nbTwK{~<H<g`6r=;Ln3gjRd}W^E*G?G252Q^rGx>rLy*AbFWFCnCKVpC3e3$ zWTV+izIhr(O>O(R`YR@V;P7)fFLBRGOZ@Js>3KH0rmp{E_3ty&_svHI_nhA_f9}Q4 z^`Fk^)}8zNhDTu9?)h^W4{+~zR95veDr!+z^_~3!oxcvb-0`ZA)PHOAJ@e@GBhGJ? zIFC)|^4u_8XWJL<UDLI<8CAu7y88b9svD;c96Y^4a>gQe$Is=5m)lw=?h+PRu#+=g zUEoCgdrmI-GCQ4TJgxk@C3SV5iLf%ZE|>kF=5O@B-tBxy#N7DrAz6oVmK!A;|KDf( zUp#DG{jvK0f3}~|jyf&7!$4X>O5^o^vFA@-)+X)!P`@^v-`z3l|C)V%#Q_Fx8_ri( z&iZhXd3m2-;e&}E9eIzOKKASWcE1Vk>+P?u<cndlX%?IMu0rzo|Maq7U)o<T{T+L& zvZ_@oR%+c-t&*4Z|K@*hI&0Jw^Qz<D$}4NcE5qvB>=rrv`?Yn_)rGsxSFCuqT_tsT zeOT_Q`%6#WSUNv^_N#BIo;PmtZ;b6|h&?5_b@G$dk2uvl`xgagNry14=hxriKJAoF z;EHD_ycyY#{a%|_rK>GuaVhSV?bS~v(SB_+8G}vdykBnp!B0@m{mP|!zrCm5lwVt% z8{BJqd1qnmwVxKe-w(c-G{-t><I04iRbgw=)&2^9znS(}a*y59M|Kl0wN2T(<LUg% zcQ(t(MD{Ts@M&J=x?kfdkNEYC%O*^@<o_i0TvBb7>Q3fwHv6}(e{j5M)yXIKSb4P% zx`-Xl*!Lj2({{e{nv^34_cVSz&AqC=eqtS?U+C@mtOx)7ENS=s^mSL`m+0g5X45C0 z+GD|6bga83_)YoF@?UoCe9>3FhD;Q?9CI~1=l^pDlbfIFf4%s3azklS)0wi~${0b* zy?Yxr{8L@UW@9(w`6<pVNt<?_WIgW{8nKc~J2Y|QszV`-zwggjX3!<nJI^`z#Ou1s zNCy3SkKhx{FH|$QCMOE3iY?N7^7R{2kVx7^5wE3cdop?xRCk0oRljViPC9j{`>bb$ zUg50ke?M&!j+<a{w)ur>$K{h7I)%6emsjq!eSB5ykg9yoJLYNfneKuihi=T%j8Ae5 z_cha8CO>0E=9d3uYRtPIRoB%%``pc7rF`E#&dX_8e!bJu3k5SITN?5OdXwBXvsUsR zU3X5=P>8?3@bwHm+5N|YMQ0p+eR#G&r8#TxYKANWsYCzL&Q@eU{#jJ!-lFhHOrUJG zcWPj@ZtEJ$P!7ZFKrfa_!qN|B#>Xc`xr?0V6aIN)yY*j>Ta)IdwTnDue{tr`V|!J{ z6>a~FG`|VW`ZcS*R$WPa)fTmH=1Y`pW_fGrS!Eu)oUveG%|uJLfawgIjxig!y_vuL zaO8vxzq?-^R=o=|km`CYWxwg8a@>|5ysz?QY`xDYXwG*P%KmYG(<DoW2|r_ZO<nZq z@A~Nb{M+_z&)ZjD{pat`kKf<^UzwA&cbTw9TEoNr&zcio`RWTEjQU?6<M{ld!5SH9 z(G?GG{1Ix;EwKvyH|LQUhvM^$y}26eVwZ0<e9W8Mcm4H4$)_Ig7fhMcaoOSMDrK*& z$s1=T1?&&~x9{pEt@ov|KbOX|Xqg%PkeIf2wOV!Ty|h{P9-AcY*}Z<#FK>g-i};Kq zZEST`PksOFfrTPxSHlbip?L;tb}-bh;56gW)vgnp{NU;4+^Z+w&AS+I;6Ngu+sB;> zi+px|d1Ykv-}H9U#9Q-MetQ1<k;})*xrMhDn1nv{_Uxaxc&W_S2!#jPdkgI@^;`b+ zdAahB(bNFN_ldD}|BBhpmi*ovrQ+>hHt*Yn^p)#7_s4(p{V>O6dY$l|dv7NtJ(?VA z_tCfhLshxI?(@liZR3k3s6AF+a^Fw?W%1`?aizyE+n-w{&&w9&Sk^A2|6|*e|K{(m z{Az3Y7OpgZf7g{q^PcT(shj60)m=ATt8c5_bftdRdVj?U*FTjR1n>1%owxMG*=bu; zk7}RvFS_|e{ZWy?(Nr(}LssVmT~zruR6J}_&Q^9d(X8KmYO(T)S~C`<g?H5}-uE7Q zn4#Letj9Sr>y_c!t(NODW=!k8{MFq1i{|oQvtK22ESCJUbEBN{Kie;R*>68ODB!$L zex(?<;FrrDQ)Dvc9oy4g`mJW0Y`>+3&rUn$te?FZ|7$lcXe{&Un#KAgLOEo{Q(ddN z!bQocIZtwf_v<X{tH0^Mds?QAp~3CtY}1nu-?t?*oUSc$)90wHoMU(Gp|IAgkLRWx z3U{4x`SXU*iQCPl>ct<uZOuGGr>_2$%GG_n*MDhTElKz#|McjJPbS65hmUB7$~GKX zp3r$#e2=qQ`@B+pEq1qi5nbOUPhPhA@pOID=Z^&y;%>K1t$p@um}WhxmtQH_w$lBH z<7C4-CyRf(A5h$JpP6&XhU1mIv-1@)>URZfd@|QayE@||XQ|B$51sv>k-o^%&$9xJ zpIzjfx#7+m%Zo2R6+PR+H{VQ7<6itTqi3%3OkVny{J-Mmx@Y@ypHkt2KNDnkFTA@o z@#XV-nGP!->V|%3+qBQwx@3mI{JQ$bg7r~?H9z-hXcSr~Ju#|$Y2EnvXC?2v57*zX z-lNoCyGPpi@^c5VFDV-rJifhU?$qnQGDDv1Jt3iywUPUD<I|>JZTD7{@ia_3$aCUR z`k(ZfbuyRV_GVmu?^6@pdu*!R*9iNq5w<;dJp&g-%O0L)*=N3Nzf48m4gK4z&Ihz^ zF{y9rR{k(+fB%Ocap&)L$cfKC$|4jw)kNq1o3_g@=Y7(7(#Mh58>MYw$hhA(IB<>3 zyz++o%U7&fE4^lYo!>>5Em!hVSRVu(e6}Uvh}c4=Hha?#FGYBdiEH|LeOV%5_V!b+ z%i^rL_a^Z9*{9`dM;*N}<A-T+a#mt+a#7*=OCj@e>qD;GF#TPd@_R=7752rwevTRU z_vM-Amt-F=^IWR+!s_*bkD9yxF1=b~9=rTz_(`9eZ+#zsjV#_(7wlu``QbysGR`vz zD^4zZ`O&90-6&RW-9wcqP2ba&&oV=PNT0}hw0v&&(QQv+K6{2Q-~T21R_Cq_{EoSi zL5kO}^m4hs+MqJKe%Hj1qh=<7@z?hi&)p`M)s-{%|4KKZt?Twp^;l;(C1mYs{mjs< z^J)TmPww6IZ*j<cr)5`<-uJk^=CppOYV4~|-OFsQUELmZm$NNiyk7b2CcXV3lWR83 z`w_cpzKHjl<?})|M?~8`zWGd8#$4myxoO&=_x1{2{3ui_qok>F=)tDo`uShxO`ra6 z%A2o|{eo8-H6KstD1NDa*7p<}@7$LfMn#M>m1I5NKa>ofRN#^M+~bQvQU8>Z8Ec;2 z|7>w{qS5BvDQkK9d+%s)mrv6<9{NeAZ_@ID$u?^zx0wC*nf`kDig}s)gsft`?)+I5 zZ=BM$@aD_UqFLz{!9v<fd7LS4FRtBFudn_7^r_#QKJ8nx2g3Zcv?_j^{c)E6^R@HO zoRZ$0kbmZd<{ZQ7_$kJ1x38WqKf2^sY?HFu=JU@B4=-`3)byLdbfD#}*?M8MtA~r* zR&Y#<KgJt;>fhc+Z&equZ256@jmOoKZ122OqgSTr2dLf_JDr~BI6r=Ahp0ytpXTiP zt6zm!a^tq2SI*wNpi=YEHi>Plo_E&x%?o~!q&I&{xW^s0mDQKz=g;5syd%cyX2X)F zhmPz%Vdd3vvh$4pl|M;Fhg6u<pSDc3y{cZ+Z5Mw}UB~ClTHi~jIP3r1+8()`<=~01 zp8j>;SE%g1)jHvpo1*MVvt`Sb13z~!Tr5!}?&?!7RD0gjXVz*3b(z{}y?g(xz23vS zzoX@A?6&_$bFZIFS#yy8)#SGc=jH_5s5KK<wN!o1&bF7|-73Dl+oJB_yI+3c{O2k* zpBg_pzJ9_S#JKF}#tm2e4#)7Oy;t(Np28^K;d@BswD$2m582r|4*%)6GPC!$sN1I( zsS(T{+xx!0|4~z~>0WhaYQ!`%^QM(=dKJn}Og8gR?JM2npt<h&rK?G6HLcF&Yu`=( zcJS_`zkltRQiBTZqGoj{?NM?pedfLCa&(x>bc-ccR#X3!%Xo)PlRcmzcHZci;_g|6 zBK#Iy7u{-jiuURy3#?i%=`Q$4BSo3p;@IcUR`zAJe{V$iulxJezJ9viPt%zu*AFsn zo^w+4_OUNNWgcn1e|RI%edokqX4f6{IivSpsPJ(VO~2hN$icE;y2$x+X*Z2!R?l=e zX)Gsnz;hpH0DkuTlgnRQhc-{YRzI1o!u(S%m$CN5tE}GVw+5Sfv|BB_*8T2y>r@K^ z#`?K4mh&E&q&bC&PhnH*o6oHEAq-6a1X`cl<tn&admjDha$>Q=ycOR=9C=so(Xchh zTOZB3DyAiT*Ao6ZRqZD~=31)6FFya1bIPWv+*N{JiRTzuYSI-Z9lJfpWV`+9t(y-B zbDoNCI5d+#-Cz3Ft2Np8S7-gb`gFRw{kaC`Eq^}q{K(Py?ZEu1bSAr0hOFJp)z<a< zZ=Vzw(mT9(F8gICrXP=c{VRJ`zMJ1xw?Dde-s9lg>vI2ppZfEqZs(2VFO%ErKmB|6 z=8dfD{f|H2oxAt$U-_}+sR|4_Y?s^L?Z5c*{%vEnieurm->?3Ack$gl{@?4ftXCiX zakgen^?csFYwz9)%q^e&|HeMqMb}Cm-Kg09ykO6S`mgmR1r7D(@v`q;)PLN}&+}mS z-RAJ!?d%HG{CtUj<z?T#t4V*OQ~Z}-PLgBKpQ6e4>KDpaH<-^q`TNhcBmVjm?$@a8 zXMLQ|+n2!_c~9|{!4c_y*}1-PTpZ6D?lQWr%>Hh+!!S7hf8AjotCATB2{rp4&ias= zUCzJX`c0$dpM&*+|Ku9}W_??5r|Rm0^3t1muOFRF-F8jB#m<<$ltFL`?`i4Q+1c6I zvd4LtoYm9TS$ZyJ^G*M|_MrBI!aCV}0|sq|T+h21R<*UfuMh9Y+m_#ROmxOG-s6TR zD$*6>%2f0oAC;B3%xUxZpc(HoyBi5r57+fuxPCbJCD&v^)2f46^?Rj6)7P1PDe&(4 z)l@ete0urW?#ruBUpwkMwQ040>&ENb-#+{5`gjlL*_OGpKCU)bV%Wp}>~{r=k<*!K zmaW1DCa+oyOn75V^<>>x=N2e%Ja1u{P%WdvcIEMz*Unmh!N>f3ckrw+IUenFQiZw5 zrQ`m)CN0U3q{~8IMRrbCs(*g{?%dvMH|Kt+P~~1f{Y}wanXtm?rjiS@lwNJ%$YL`5 zbBtZ)%iXtEZ>ByD@jY9`;&jHj-Ih~e<Nn<XJ3G}Fl)uj2z4^u>*4FLU5_D%s-<SUS zL#EJcYM0%v_dArC&PN<hS+?y9-;zz67X8!I=axP;zwP*5?!N1WvdIZ$zqZZZTYvW- z+bV&tol>28-f#DvHqF`iTd<&&%YCB6vgKzVKfht}C$dvVXp`a(ueIFsf_F=@)_lxc zFk2zabk&L9Ngncn(xyL4oE2BB+qd*}*P~go_6pMbkMXYP{aXJgx%#nr@#@{1zdrt5 zfB(;M`+u??%B$A2^OUGsy*{?!TC=2F-kY3%_1miVZ2euQ`@AmH?x)X#*PEL@`x`wy zQgXu9HR_tYq+Eo??n}Pa5347v58HL`)W7JP_1eGlzhAxA@7|uk_;1Ii|N9Dm`@f3l z-tgD!M*Ws&2mjr+yj8iie8*<)*Z)6UeR%KGzu##;{{M5F_5c0aAOC}X{O6ze|NT|H zj=RnBS-Y*<73#VB!h#-1KmDJfqhIxRzm?6LBmeoo@$tpKeaE1G!`9+P``7v%kN#`_ ztv~ud{MY|in@j%f_mEDg`uqPyL4N(x|LcGJ@A|Jl@&Dp~{J|TyKl-ozZ+~v<y+wEI zg@62ic<|!BOaJ*7s{E?&bKqI?<G+yImc{ku$KS8sy?b)>uVt^R{_Ly2li<t7kg!I6 z6PFxoL*f1{iRYLiS7sX@f0RGdTI$4c-yeEP?8ls~TBg_^|1xdWE%S9!y!X^MU#oce z@P^P%ragbMjT4?rXhoZ@let`W`^<LV<Num}W@no-i2FQA$hfk&tnRV&CZ;#D{!Ci6 z@8OK*>eD82eZB2b0>5H)wr>3QcYQs2H|f^*yI;@V@7w<EzV!dRHUH07g}zyO_hM$+ zj-9)|#T}LX^VKk?=g_~lrmD&LKWA<6uM)44pXqIVD7z+j-RsQ@=GWvzpHzQyS)h1{ zgY{yOzKEx5${V_NS6};@P}Dvzx%}A0)e9a!>|C`eb;b#X^WP6;)cd|Q{91pUKmKTX zQO(-Mo5?FLcAgPp4C7Ce$lp6D_hDV~m)DH?y`Q&ij5Ls6Bb>!wBh7U;u>IoY`l#=7 zt>u*0i9U5?FZa+C<nUO+vfC!)yNFyum*~7j-cNQZYM1%)^h;bf+*odG=XGkAp3JM3 z#-$3=&VFY8?B~i+yQ;flvuyqOqb`jvI8^xD3Xc1yKfYdnD&2AUdA77ap&~-f-VeoR z+b&}lO$mS4FwcWS&EeK}rd+YyBZ)lE6wj=FyFqUAyOb2~keF)AmUZ&B@w1;ztUWG0 zJ?F7`g>t{kG*t`U6+#!X*SH*f{i7hixo6@s#$zV=?#=dWB{I)v>b4mKM-^YJPu%*+ z^ZK{u3EyX0=e$S>65M=ytL*F<RgRkH-#-XR-51{6nD|7W%QRfm$CqKlitL*Izd3%G zu8De`=j1%a+H7UOb(tIIcC47Ps4ZsG`R9x!yR}U!!nYVbI@5LSq+z-xx8gUEKbMV+ zWR+G$o0!x;NfMgO#$7Z)Vn?m<3;!dg%a+yqaBEy>UFq48BKIWf)r<B;jRld%866`R zChR^arq(>|X7wKKw@WUv*mW^5KhtsH-u&p!zBMchLceibegEz_=RcP2t%7a)YVElq z4LaR@qgGCi?7jDXO3aav1UdBsbz*vkjT@J;9^ieniR17~t#GGhOR`eAXS2PW;jvq~ zq?{$|LH+EH55jAX)J&~keJOcoRaE!Xy?JJSi58*)UDLX*?wR;KBKeHwzJp8jvX-}f zU2$Xg>ubKB-+j8vdadru+X;6WzowcyuCI(xZu^)kIP;UMbilU!METy$n^*8_gxp~_ z4Zc&-BkS9IGD6N+Hr3@<y3AtreCg{P`OEWv{W+=MoBi`cJtH&M)6dt}b|3q?{>P7d zWxn-myxjE{?D_X@S?R~uuQ#8*{zGfa-H&@8-*wN=n^nJmV!pvk|2-4^uL|FE3i-XK z^42cf>8k8!Hn}&iu&LM1{<uBx?&j0o^HY3}7gq<`)+lE`oV~*D^P_Jv^A~BJoWEuE z^|fqgiygMjuBkdK?|CBHyj~_Y(d5;&Rw<K!85-r4p1F$2BD!;#B|8@#WO(5?_32{a z^*<h5vHob1wf*blijw^AS1y~UPv@<=QEC%xW4(7zZSA!q?bFy}W_2z<JNcTW{Ia7~ z3Qepf%X_8c#44P=JXuz{Zr-AsTE}bd<=i(pxBkb9)?Asrlly;8j-Nf}!v~Ky^&MZH z9@R?ajDNM3GbsPUm03wa(!9S?yW;a-gopq6HM6c(Wb#MzS#9@^S}U;z3ox;V>rG_a zC?5P_>h>*azmg11Zhi4<nPFbHFrNRB_`-uC9vK0)!PkDv|N7cKBk0xNxG(=^9V^g3 zc43dIl5A)Bm1lc1KASq0=_^$KomTf%b!I`mkl=ofbJdK`v!(9uO<}aZxPG33Yg4hp z0~^H%E2e4lInVVopG>jn7TnLVsjuNpQ&gd=_J3#9{}WU*U1SXx2_K4dfAHpc`IW<q zE6P3J+kEWaY{K|8`qx$Q{eBrWa~*{A)FVH3S8Z_N7kBx&PNixV`)mG_LKe;f`&X2! zRXvY!s5fd<>z&qlao@s8v4Nk?#=pF7e^h@~`??wJ<}9V*4u9KTY}S79SzV~fR*|V* z$)cL+obfDW_cIsIo9yc^s;Oz@il|%m&#vp=tSel?YybG{x9f_xznD>-w8j47nlDGz z>{)v8+tG~sLG`s4??=B{um7vsTjC8j&%UMielPmIy=D5o`U9t<UoF(H%DC8bGwE1V z$R#n=Xp^Yuo^7rb8(HI`Sh{r+G6i+EH7s?ty|IZs>ixEe_x6E%=dC$jxk}=G{L8!c zM|bZR+WRLsNG0**;sck?o7Br6{qxr+`G>}_55`}=2YxB{o$`j;>)*^<e>83{`B*z; zvuE;ujbs0e1JAoV+S*^P@389<{Ohy&)#HdRGrcQE^rf1Wj}^H6wOq8{SnuDG4NEMG zj>yct_(R5UpRu0P(hp1S$zJ?z*_*F$tlTeI!egD|3<(aOIl^;!S?10yUa5BLPp86b z&J*W2r!_V_owLDO;D)XGIzxe&$FtmCcVC<*e1)0uD{Jpv(d7LL<YIQ->#VAeakLd@ z*{Z!@pTeucnId0e&UKexnXmn8w*t>Dre^UgyS1zGFG}PXww)IK^R)Dc{w!brGtX3e z&kH}^t&;bOGq1{1;tLDg`W0svW_<2CW-ju0_o7M8fuDHyzCKmn@^j&VKcb0s8V3K( zXPv!&G$$_j{k|7}XSqG;7K{z{tXH`zwyu6dM|{gchlCBjd)XI#H|w<(NY1~U!EAWT z?5jYB+$|IB#u-!1dd&nD=L*kd4e~2)^;s1F5e#2?<cHo0`|vN<Rdh~1S#Q>>F+q9J zR>_X7H<wLn)bYF`%<*dH!h6mafAg;0AE0%pr86MmQJaAvm(QJo+JKe&V}6S6?^x$t zuen@*=Om4(>g%jJ<G<)ldCze!;6SDG4<1&#{ERmXC4TcJ8i+{jS$MH6Y0Gw&uO1Gy z-m314p6G5h5?XslC|#cO+&}K#hmJiD#hX4m9{9<9@TbCq8uu9$A~P%$=ajOXyLVyz zx*uQrUfFh4)vNER5vuq(wMwE}u5Rh1<iJn$E86SrUHJby7ymx45v05H@a)?wGlOTy z7)%sg{fFWB#OH<&SLxmky0c~8wy;Ojj)k~RjqJ*Q8KG@nwla9OA+wJBr?(Q*t}oo| z&^nz(SiJf1+qVfOF4N<Bzg<5Nv$nD>U-}f=?N2AC*{GCv@2=P;$H%vgE#dg1t>%x{ zE_}~BQ~s9DkL&e+b$5lTubXhZCh3RO>91>IBrkDw?6kIM3XzmrcPI4ZhsFL*w}YK0 zR!&ac$nF3A{8`TF*U~j*L=W!p*)eH)nV3?~{e~$Y!n@jkSw8<+w=L!7Zk8P<xm<qt z%%48(eS3{b?Q6a_SAHKlS83?jcJ$rLGrxU;SNsgSpx9@AUZFRm=T!YfZ9kqfYEQoO zWz72V@ZrY9n{y2g9#fxsY`*+W3y%=HRKC+I=LF7Lp0?a8>03#SB^%G@b<Y0MR`&b- zJ|FyV_vz4~yEeB|%N5kwwnd-nTsJ>|T8lxMRN_CsNmex*HmGOZc-L3I5wsxmO@U1z z^Ufn>Ci$N~UDUn7*)f?t_lVDp`sR5>;VtqL6PWCqJFiz+cFyZA>Ui=)cJCsEeKSPD z1NQu!d^UH>GxZ+Jt;MdcZhgh-d@<ep6?K~)%nlX%UGm&uyZATmvb)T``NKZk(yC~e zd*CoVucL}Z`5q&8H+O1M=-Irg#rL;<JP=)Ky!G0hC6a7XuWP25vhGv6D*5Z%fiLyP z%ctzH_jT=gyRrJ6?DI&e$bAp>>(U-yx~O;Z^%3sWeLFG?HJ?tCT+`6&GpQ$J*^~>u zQ=aT;@{LWLB+%y;#<%7T*W`uTYr>nZKaVk-FJ_=^^<&jbg;Lg9#qbJ)xq)6POJ@aK z>RiXO^rY|9onq^SSS%&ysIxCz@czvO;U<N}uj^lARrKaB50l~N^1RQu{?N-s)~~M4 zI6C+H%(Ii0{;^xx{bcI3H%GqD%AGW6>&<0>nw6QAWs1{1Zf?)4jg0FSY4?oVAHv2V z@J*rat&*z>m*OeiMeF=d>N@@vaoedVqc?AM+r^WviDqwvU-zhOICe(+<mNOz*FQ@) zJlo6=FXB>`S-&)BTDq2rapmjkm6IMxeLp0zW73`MT~E6WwG5Z5*mv{!@4k9^`^(N% zrdOT(3OZ!&2}Hk3760|cyJqW-{d<o7E!BVhM&aAbCc~q1j@ETeTwQT|P3t`Qr8CQH z8YFX_JyjOW;9X}eT%dEPdqTmYrQtb|-F=(C`RIr$C9;|Gm2H|(|KLXEhgt70oOG-_ zdD4&l#4Ga;qJ0L>p3h0RJEfd;;cTI&0nA)I%+_z$ohY!@`sC#PEMMf9=+Cx$=O1PK znb}*+*io}=k9N$uP75!Q7KeFd>fWjQr4#N6wH|lvKjZ&vF{AO_ANi;I>^YrYpG)HZ zG?A-A_ST;-zeKLJY?!7Y+<w0PmBkjJz@1Mlf|NOp{;ai(2rpIIa))W6ow%#1=e`a5 zA99^I!hQJe$s;$O%0=H?;PCcQ$)&(eO^MR!<`om(`o5n2?5^+YHg^{@nIxu#e-Eq( zmQ?!?H8rFE-QgE!&z3%3RC{el<~+CDJ3p35Pxx|q){Z@ux0mF8@!sRHY*PMHKVzSI z#rEXGzWiUlO!{`_VgH?T%U`hmP_B>va9`Z$%*3+)5BvZ8{Vvv@@a2D={Rx9Z*VU)n z9C~wapL>=lgPC60_m7&jg6E@h<(@jmr@XjvRP*??=*wGGCPmqQZ2A%2*8DNS?T_~S zJ99p$o2wfYcy6f|+gg9^*~7#i;VgUSd{+MvZX;OVv7^hN(AD>_ykN(M^RI2*CC`X_ zH^sBKcH`x1S@-8|nXn-)xWGl*V&lR~*^-T%>oq<w&u3fZ_WRqbS8FQo?b)&OaiG%L z1-4RrvQZ)Cac-7tn^&Y<;dd&mEWEsH$5ll}(UWEFQYMQy+CBF4F0jho=D#j_{Z_FZ zuj=KuDs%^Mf2z+_=v-P`es53a9J30Ov(d&D;u|?uasT}Hj<<hV)=H)Plmt<;&)%PR z-QBfEVC|nnm!m?IAHBW%RQg^^Mg7fCRlQm7gO=*uNZ$3}YU$_c*PiC?I;%b3_QpMp z#cx+1`|2BV=8N-BKE~tInX+m`LwD8kru-KRxV=ljwAD0y>!QY3^ZNTH>t~Cr-{Ohc ztoK<`Lp+NsL~$1L*SOioPEWqga&k^rhET4OtD@b+N2Ln{FaHdEt>fn1tQhx3Xrhp) zz!aDFi*D^VSr^T_Aa}--&l%G`yeKd~lI?Gr6Bn24Q1e(P?%So~4=OHuisa2@I<i(+ zLpPi^{;urhi(<TfnV(~M+E+ZQe<^W<iK+I7S3J{og$%#<_hLT(u!~`uk(RUfW9kZd zz0;>}zn;9TY1`Z0KYW)T?8*E0c3Y`zbA#UcD+&vkm{{sIrnXGF{`U0dWp=gGzc;q; zzPM_ijuY>R?TuniqW$+~ILc+ua#|Krcb9EumD84cJC4V0>ho&bQCVH-)i5{MuUMdd zX}U=wmwv$_$2p&`_GW(5$#C61>tw;6>**cwNm-M;Jh$$8qjbM3<Lk1@Pv4q6n4*^@ zt+{;s@K4#Ctr4pxml^XmolrP&h+Rmee`Rw2#y3iFk1z7H9Oe7Ovai`l?o&7KMyDz3 zzHGm(cK+7FELEvT+s_=EG%4+JU{`C*yANBk$`tDBdp}CFKe^ywIeDiAOYzIJFN$4z zrX73j7X57NguM~F3`-05Wc7LUve&OtnJvT{_)=z%yWC#M4d-+F)_4XOwH#_%`a`23 zV(LN@vuXp0%m87n_0stnUOM;Rh@It7;Pd`aZR#uDutk<#e=~zHx5melFV{a&Il11k zrfJzSsl9Ve>W@x|;;9lg)??Y**;6_%ch<{kiOb@>ie*+M2X3m7zq59&MasTvwbPzW z_as8*d~ixQyI1J5^s%`*yDl4BeOoezxlnMOft<?J-eAKiE$-fOVw3JY+1$J^xlfpH z)sbz<O8df{WnAl3jdr|u-<JGQ`_a{8o|zBhCLUTL^-fh&FX?2xb!1m}r}mDui&W~e znLMtsRICv?5b;#u;N{p~CD|V9>{&YZtnj(xXnJ%av+8+?1$W+XvhyAI@|-0zm93=n zFyFHR#<P<BNADKAGTnJgh;>K&x&<8^_Lon+;JX&WGb_yR=b2N-JA7}w)!>qy9kM;; z$L%9bE@y<j4_?}(9WL~t@Ogc8zvIQSX(hYF&P@JvNNh@=-}O00zxWO&U5mUq*}5zI z`jXZ!Q*|f024tP#w0rO7zwFy2jty789e$*^t8>Slmwi5ry(vc~J-=R|yytB%d&0S0 zFQ@G1w|>f&W2tuTxS{5UTqE@elh20oRX3i-Rz_KEkF|M~U^S_W`@NCx64sKu#q~Rv zZ}RoMuz>l|$}&&gy_e1J#!cc9-~4lBUzfF?%)c!OT2I|h7iG+ye|^%Mu8!p)`cK$= z!rUi@_?_YJY7Y6a(=zkNqm_M2cLhxe+^}x4i`CbYaW_-K^3>+_YCh9ZjVdcY88R`t z>;C*RynV?$8sTi6-!I<F6^UDK^W~^!QQ(|^^&7)1@4hdbGykNr-BGoJv1JQ0{Cz~` z<oyl`IrZtxgRRrA>%QY)tG4};`;x;hbBn)J&HIhXY_gYwI)9m$i*HYVv}E3dEBZ6H z)L*xlI4|+~?&gyra*1n7Z`EAhVLSQxPY>sflNvvJp0SHf?z+10gQBNG^1A!tK@-g4 zD_w2A=eg+BbLIvfNz<=0Tf}|ifNewP(#H$!Ss(WY@3gAX<E`S-ox~AbI={*%+{QEQ zQjXaA*L#)*+evn8p7y=+rFqmN-!iKJzeD~eyS{r{H`bQ^`~T|C|EquXSAYIL`T2il z?r$HSJ#xLnXz=pi^uvp<{MBdQ?Y{c+|LGqE(_jBLKA@srx52(%(2=)eL0aoPn;QFD zo|7JZDmrn;EVl0MlP#MXd$0VvwQr9AzmV7STo291Z0q@oE-NS<z8khDG)6YKqdaQ+ zt?9@3-K}@C@k=)_edw2!&`Yl1{q}dpF7t~26ZfskOAw#6ct_LS-T$Abl|0;aw{=?1 zgs*C=-h5am)$6Cd?Cw<F)U5il2Za%4LE)L~ixqq9TKlzRQ+7p8-k>0&-?w?)lmA}- z)`N)UPyVal$vlv=@n>iQ=coGm_g5XA{_VeIYZY_ye`?K=>lzY=LN*Ieh_(q_r1{*w za*L!#R{WG@PdKKWns!%pwXMkyQ~O$*XE`UVBo47XtG+Y8#eLfGzIylj-k<A*B@P^X zvhHc-2a!!r9_+lEY;#^(Zn0m&F1fb<fh(K*W>+M--;}#4HqFfEbW<XG@z-j@qYev= zyDUxR-frNRaJ|cZ{OpRlK=n9_TKTjFan{C7rbTO;w%xDzw>LNP%-lO>-``9;#m0O2 zUbf(s=gXRJiEdWg?vuXCc{g+9(gl%S-|92l=bab3y^bf-eY#+q!_K)MpYSzU$i3;? zX7a?cZekht3aLYD4tQzJV-0XloF~oiFmsDw^s?K0cVDu;t>!n=xjjLcL1UT6i9h1I zb_f_uV3OhbBp|+4rEo@KHP2VJr-2tfy7jppep}IekfXWM+4a>e$xg<t(F_c68;?Fd zyz%&@`V`GY-3hwKUx}Aoc{bs2%kDM7>+~&etm{ntnsIeOuOs8^9g`Jr&Ajtm$F|Y2 z$z{%r@ZzBU?as%Iz1JKRoEluCEOGH&Sosr?EwyJ4Y8;-nVu8wyYMJ<FO%a*-@tuFS z*H75?|6AC%`$2E^%O`!`|L&dqpMcwUe+uRtTzvJ{FSED%>!n_Q-IlZcb*_E^c=WmC zzxloYzp~1oGrX_AYk%keIg6N^_1gdMcm3Bt{eSt7|EK<MfAs&z|MhkMGPx(~&A;-$ ze8cZo3Mc>f^YMlMuJ``w;eYI!{-;Zi_TIX8i?!9cuqYxpzr*9&t;LLPD`ljYuV4Rg zYoRIM?}VWFH^1B2#8ub7=Dl%kLX+y#scilI{ieI6uN=C#`0SloH&@PlXeKZtpKYQ2 zs|RNvH-52omcN~yarLpI+4E)cx7K~+Gt`&M>%3j2{cHEC!s6^b&D*q()$_fm>`i;U z|Et{pO=^5R)@Di7HLdfHU3k;rsg*TtrTPZej5{kq7a<5L9KFG8G(SS}V!i5y)S&Gp zUz=_I=0sn;F1;%=ZvOV(V@EaT{VBM0=)$gTjq3VHmmhcwmWOJU-a3@9@A~#1Dw_}9 zomF^hS4oA?uYbm;7s%=v1Q|Bj#m(vX$yXyj{U>wX%B17Py7#!=e(fumbz$R^NaZ5u z5MkdWS#Euv<GXDHo6{QVZ|~T4`g`^5JF!9%yD#*=@2#qR?7k~sFm|!g^*o_H^X4<{ zc+7iz-`&^kHa%As<h~U6zS398!Y88TpYYq%t5f3k%<I2?tvfciaXHh0i1Q^qYNa!o z@}8WER&9OH6*cw3&XUyBMV9Z{mnqE%^HNB>vgW;I=;1Fj|2({~V3kEwjo0$}pA+@Z z6$|Tjab2=xe_P0q^`c#6N1Jl}3&vKr%?mj+ERTy`jB0I@kdXeSmVc=F$ls#V-x8+@ zYTSN$fAxzquV%bRZ!hY+Rv~z3LOzd=_zXTF#zTTVR<(>7S1aBaJ8=gHe$5Y(kDO7h zlE$<)_XdNcZ}x@l?KhIHzhk=Ae&&6Gc)fJH_5J*y?eoqbVNsQqX_ZKF_{eLp_Q2zm z(-*$j7BhOvN-wj!*3DLKck<7xUaeznTUzh`Ikn8swBj+(m!ApI$~m{qOMZEo9I-o? zVIZ=o{jt;yM+fen7t{5vW}WL)IpcqPMZg-jNlon{Ca;`}zijh1{wlaz=E27QhdxTF za2_qIw?5Yqz<#Eorl-&LfJ@1e_5-im`aQNK{bt&}aMj0}+b+d>5<)*MU3XWy^Tl&L zx$H^yTTcJ3XX;$qp0+FbU(fCff&sUFNg4FqJ-%6U5)bqFMM3Ea5011vD$&|_$hUd% z#93>P2~Nn+ZtUx`*ui=@q~K>k$(M#hHCA^u+Ggmi<Cdrw^bBI$cD#~9b;Zk%4<cVw zKL05n?DJYs?ovlby;7>Xw}8qviL@-nqLA)~{0F2=eRl3w{4x2M|7s1{2^XxFDTEpy z-L6v3R<f`-W>b1!q|MjPWe0hjr)+KU<g8t^l2=0FcM4w{-&^Z0SrPAdvrXEZ*(TI9 zxxTIFpZ)X3qUN+0^&ZB|g5n{QL|SXpAA2RJUsO6iRYu}j<AXZwjcncWS<WFRD|N~| zFZX7D09|Sz>BH?`{ozAiEVIA6(xd~S%o-xEuOt{K&(p7W3~q|~a&=BdNUr+DH8U^l ze10LR<<%dN1w6AnPfu5=e|zjk@KujR;R)j5-7|_`xp}zCi=GsjU%$XvWa1-%e3Lzl zpJy5$YZkH>N_yY;YQnt&^Ri$e-ldmI&hl{{%xYV=V8VPRp^eA)<k?+KV48lV(@0Zo z=QWYnCmNg;V{|H3Mr-`oaPdaWC8>=qYSVKrKHjn9R)Ai9L1^yBhbQesUcFa28fdVK zeV*EkSy!%iL}j|LtcxhRqIhz7{S>KbON8d<Ul8|jjlJmn(kbDA)vol0H+l;)Hhl{B zlU~H^_(MXw(`={Rk|SIpX?!{r_n8xej^5m5F1yHm&taK@6}fYi;tEPrefhctIxBdZ zZ`^yw{7S`jk=fDUuXYdjbGR{|HOgVxymdjSuZgzkr1#I*B9%Bw`URaQ-cY>jFs1%U zO7o<7+2vm8SJju#I(RJU%Hp$Jv8DO!a|0cs`0Y*Ff9wpneqWH?uRG?Or;=tLv*-00 zvu(CmE9Z+aY-W)DqP!`|{*u<@RodKd=AGu3fAam(WtNm66Qi@ISlt38tn^oes%`FR z*}M3HQg~HnXrQ~rr}vIb5{vmA?isg5zm|2YpTy3#`1|y@H;nH-?^@WLP+~Jfe%-nS z3m58s&N;RNbfJN%=t0ZC7n5eKx+qte>a?cOXR%3g<m*c<jbRBH9VQc|9-QG}t!B$P zCI0|Z#yMv(Cbr2bylZZ5l*_$xH0JzWB`z)oW6*^LF8kZrHX>bU5LoxYN~58ueyij| zeg}pnro5(!zWjxAmsk`;$$b3db6}Un(PdJ$f`QDTb7b8$qjts4OKsD<>3GbWtBJ?7 zts>^zk$2g`)v1d%{OC$AZFY~mWSGA&g^i`)0Pk(z<P(Jp&RWgzzmRdiCSi%HI-`nx zcl*Z*l`}IQhaBB+Gikp6ibvju3<PhPZmi$`q(jiPCQnu5S;311)d!0kGcwF3Z08EF z?#n#9=fft+X11K*<X<`(cJGaNR19lp?{K=#zD`3oFikym_qhhMCf~y)Hq$vf`E!27 z&B@d)k-6<3=D`=zCNJoCc*BlKGVEa`Ur+cyd%S5++Lm1&=9<!G41QhNZoWww-z_}S z&L642ex#+<IbB)kh-UP$?@bBa0^NsSS14aG|Czr);&Q>6;|VG49Zc<CcNi>Q!)Z5T zi{F$7_gr~q%-`+E%-M2U^=_Q{tTP*B*3H?^nE6j4-Su#9a7ob8Dd*TX3N3vozBW<u z($Z@um(I31XycikrXU*Q<2BV~O&VjA>+k!g(p=e1AJ@-%DR)w;(Zt}m;B((1_Xn4^ zUHNPDGo^8wPjKfe^Aam2HJ>jXQu2Sk21$9|sXY`rQ^qg4*C)&=W>yG$Phr-}Dv6aR zzsj5p?*IIyhqrigath0oJBL3i{J0~>VziM_^h8LhuyX3x%O`6+TV|-dpCop#{>YUM z6`k)=I(HH!W*TMGvoD_CZY^A^5@_%~NBrf4YW60c4HHyXFKx;FoGhu+r;)Q>Vo@L4 z#Pc5n`c`d;Hwow8uU0k3$%)N@YeL6^RXZLjzg?ge7A|^o*U<p}wP_mhTTBjR{N$E# zxp<rN$0rx(7~^L_4%=K0M9KAMrrPnzUp#NgFt>M><)JNH!96M2!u2!PFVatZq0AYo zr<Wh4ewNFi-CyzS^g6xOvT2DC@o%M0pNiPHa^`}{a~VOq<b0SHA3M2SK+yd39Jb0T z?`vB)pZUz`;h)eJrfbYEc{cUD&odi=k518i#>^)Do68QnT<z#?X!2aH!Lh-Yv)Dvk zkj;3diAKvy`;tUa<y$&-!sYcXNpcGwb+54cqQt9kxBq$g=k&u<c5Qi9D!MI(O>DQN z_9T(D>^2HzF8eHRZ{Jq%A=z~L9}eGuUI)hHW$}v(ZuVK|TGm^cSShM@?+%$_ES0nG zL}sH@tXV~puCTl8@o(FvM40Gu@Bf{#{neDY7iY;#I*>3^H0<eSkpnHMy;I+$)R%N8 zHZ_?_c^E6Y6;3)>XdUlYFSmYa=Y(_m4#CfoLIY3zso4}LCtG}E>Rs_OE}1E;tA1Oy zESgeqAk9b7OfC8UR>g&@BU0aMXe%Gy<h6UA@wSr6;#+d-uAgmKH!E&lY>`k;v5&{y z>^0MLwstF|RLoXx2-<zhFxMs0aYwt88gKoj<Yl}4BWG}WuPspGKbawFoqZ=<F!L_x zN&{IRtwSf%<})<(^}Z8$<#>C7&(G7xJm1C^ugc215_3KCmXb5aBtGYLQTJc(*55qi zj#I7b2Gc{2eG4xi^m3E_aK2SMDRpbN*QZbS9v?H?)GIghy#^m=$f?78Gmic^rlYsL zXQha2eeqiFJF|``UEaoSX05wsV?<+0=4s)Zn|<6`4d#FKng9N~TJEtqwp)}F9tH(+ zPners*7wwKUaX_q#BI*q!m4IRcFvl9N6v)(#r04rg{oxNrj8$+8@fynai4ZobPw{a zwr`#7BzM|-3oDl|Lvg1T??e_22e~#j!4d=QKPDTi4eLua7Ymjv1^wnP`g-c8*d<-( zDXGa{LeE-kWj5+HoUu524|A>j2lKFQU*3mxXJjRx%ybmCIy<dH>V!n^o-J214zcQU zEmF*RAaUX3l;^81WG}R~b5oi9BArz*EOSe5*zTk~d0V32K1tb=eRt2^J$nuBnXX$e zEpEOx?e>m6*ACa~)!&!s?T+uAA1%Iof!Hk@r6-psToMmf-qQI#@|KyymZVJi15;{5 z)~hLmOlo}nyqnFzD)wMV>&;yUejI##?WljrQQxZ;`Em32u&$6^ADzB-c6_JE{VjQV zvvTFOUGdn`x_#{yzr6EO*DJg)Tut45ax3q?-|rusn{&c#Yv%R7GP|AT^$N4!Bpj>F ze{nlQP0(qV!`g@`FDxgC+^S>vK8>C6MPEnTk{uhFCj~TK-#GPm3%9ypyyI@Zss`6v zD<}G%w!iXV?;NI_CuhvwzvStib<v6U2t(<`r|I85n?0Q9>{rup_w#Ydbv8RU%RE{r zH|zAtRNLe49v+OI9V)6C+?$)Y#HLrc{`zIM@C60@XEwg~G*nBdesSLG?SD@Jr=Ain zja_Qhe+%>Eg_~b|@%G!AEUa*7vdfahN1A;bZS`|p+oW6_-49Mk%<*#z;gU_$*!C#k z;p1wF9f|+`Z~wmbY^QSMqWeEZqkbJ@+O2Sbc|+~=&cfX>m*=evza4tn`1*B6Zk3!; z#zoqyfuTO`e^>SXX8$(*uFcGq>Q&wxF;lzxvXqw^1*`kd3!lgS_Rd3{1a7zclfCoW z8IMf9oM*y#bumXiqvjR)tG9N~TgtwC&Q=9sQ6;CA&a(%&9i6QgRQ|tkCtUB~BG;XN z&N+tFKb>q?Aj`C3-{gP-W5%Y*Ed|<)E|WJD%w;?~*{`rxLM8lp-raDia0lVSV?|eZ zPTF`UH=op7$uaqHp$${#-pPtZ8hTH4s#C<o@61=L5ZgCtifz=Pjo;;#Z(v_`js5oI zE{`?BZC9&TI!{XTO5PI}|G;T-d65QV<m3fK+DuoMO+H&RmFb$u<dou2Rn|DES4_Rm zY)|A(XFth5t{Q!7pOO0H!s~0BjRcqIiJeqy)>~IT`ChRCho<9^LYwoGttPXTL<weo zmFLL2C(xsC^60e%5*OcmnOs;B&Hj3>5AWnFhLbOs=-B;cwfVH;+up1*YZsZ+w|vg~ zXK*}Ky6Qq{f7zXvJDkn-G`WVo{J2f*)kgM7T33!0wwJMe;C;>K_4-c1|9cHhlWj{S ztXEEZD8i(AQDomC)2lt)N!K6W`g`b}TlmKZ*PoPZbo5&KD$4b+VlJEAWRc86%#7L} zZ^*7(apidH#9v#cOrB7x&lJ)+`CzFh)2Zu|dCD#`{Ro--uq?A)s{2#J)B079i_Yd> zpROMl|5<zM#+!kkdGe)Kr!s%M^tSE(8>x_8dt(0XQ>?jM{`u?sZF|cvKi;r!w#wlT z_ujq~Nm{Zz`2Dpyu}yAFRqt$z*UbHVSH$W2+7oVmQZG)lZ`(LCY30%HBHT{Di;r#( zz0Gm=W0r>LBQ0%{oScs4`sFJ1FDhSUuwV2q?E3jYIAGFp58vo_-{KDS-$~jK$e-+X z_`J<u^;a+R=f7QX`^yK7SArVmyH~IWgcVtp7b^Xcc&!=8|EPgc%2##j>V1E^PuBbV zOa3H3`M=WB{Tgafd;hT8H-DP1abnSdC;P4Rwq2F{pZ;h5$NFRcCI7!ye|fxp^M9Un zHfO_}|Bc6c{$DR>{j+96^3>O!t})A3tQWbh-Sgl0-}xW*yZ1@|lQ(FTpYWgmnBre~ z4Ti`6zpk~v{Q)HXfA8o27k_g67Bc+zf9|LM4=&a({cYd)zxz;v%a8vF3XQr9uk86E z{;rSOyuL!8k?X}Df3c&6lmBN=ocyBlR{ewj)+vAHzpU^1cYXQ)PUpauHPt<z>d$|% zSCc$=@QZz*(!cqaB1GCgRdD>9Kk3XL`|O=7g4i>K6YkD^6Lov-I<q@_rda=3;kZX> z2miFRI)}IS7thXp?kZOo>v(HlH`}$ue?IpfiT@J6aQv1>v(Yw>-AXfEGhJDi=l#5r znVNZ;wf@SK;?IsHcds<duIJO;@~F0VN9X^k3C8Bd507{+lb)gQMD>{>uk6gGt9ieE zWmN?qz1{Rgqh$NhE4R))pS3Ki;?X|Ip!=dr`nEAnvH7FC-CA~@m_UYk^;x~^Ic4wI z#Sa}gZTX*BZrQ`t{LDx73c?rWKXVRNTxId+aw&JmEQ_zH^)+>8mw0bqred!bw^8rU zwh3W-g8po`c8r+JC3by({?ydjd!E)Xyf2&ndg_4=&is9b*Z!H;PHXd<chpV$QG@ZG z54U@zA}aKMrt0uLi8%e^9<!t`GsoH2S=YCF=}&!H*SSn-wOmZ<om{3TCpY}OX8CCD z1t;Z8n;$GwiF`d}w$F}dMkTwPBy8uJan{6cVlKZetG2=5=lqlZeg36~AN^#1c0*|0 zfAtgpFEz~hU-8Ml>eQqC{{EYbYn&MCQ<wdh4g6p1WVKv7`QOEzoYT_RY;zP`^Jdk& z{Yy7ptQ7S+I4R9z+1?`-%c9qLdE{lhj9RGO5NtBH?n>E5EvYgso*J?LQh%AhCM|d* zb!P_$$L3qpd4<l`8s|9wpKKpx6=E)3vU8fYk@HsLFSjSoxaj{eTm8aK{)&bJx;Cs! z1h>^kTj<*S?Xcr%QrUT5M<s2s<_B%(tJ8u@ci-A#9UBvxpY5x-{*Q}H$3sUZFSkjX zp0P(ti@V*{_;z{8Rtf&LQx(hjo*4(qW?hPy*=Zap!?)z(OoIRy6JzczIY-UTc&?6i z`1jmHcHxJEPD}1|@4G)ab0){>C-!RpWrO}rKL6B^sor+-{~3R_$6G!r_;f!)XygCo zDqWWxrnx=%ugo{&?|+R?@v|6KFm61d_*a#qKAf+tbmweQz1;WreqOw?m36Q0|F$iL z0lqcs-Ph0S%dgNej8W8ldCP>?<bd?yeg76Met&R(Y~*EGgZ3?)ZZ+k}5y81zJwGs> z)Gb}c-SzH9-;|2~^#Kt)JayjIt}?spIXsd*16D?G?Y}Q<+`Qt_xhKzEnx@7%+g=j4 zFFMp9&JvfkY~Ql=xfUuBekXrxSH#ctZ9NzwuuSrv`S#aa_tmM?g{*95Jmqh5BwzgV z11_JfGym7>w`glm`L^!<m76k~-q}d5GN0_1W$)kh)g)8z+>zo?+u-_h=TaW}gs`tF zQtKDHl(8afmO|GdCs8-$B@;M4{qdPGSNELwqn`yE1>7D**j;aHP7|0a@AclWrTu$z zdxKfn^=;hQj-J2s7QQ&Wt1}=#eQNN+q}jW>ZFMwQw48o@fBCoWd%=wvEIU_mPV=5; z^ya=&%1RO6Q+^ZX@tmHQF#klHR=p(SHETf^PdT;in@d7xYd<r&P~LwpH?3N{U)8gD z%EFo>ChD@LTisQ3XIPs!?zy!m?}<XA>&kr2Roxe&ZtCTV8!eVu|LRoG?8RFR&ba^c zoX?naQ_4U8vxs5*g!z@rQeM4iUKVjlX>M@GhXYbS#D5g_{Zo?k>U*i+Gy9fD6Ayd+ z(`B)JPi}^lW^WEDD>;8R_Wr$?eOYBY{R_10GnJZp9j@rSXj=U%_(bKzb9_gh9b5Ik z@Y?lje`o&dFstAH!eW={-`eaOQl<wI`IF{+Va?JJYM<3EqE;)wH@EremsX448Kyit zWlQF-@3Hp3-ewysaeHf&{p@1~pN+GAF6glmY^k4;%^teRV%k}seP{liezX7Ujry7Y z%{Tu)CfaUy=jVTcy4Jt@k0($2|GeeR{u|F;Eh(7yYcu2D*vMB}Vo@tow{o4{Fj;Aj zbfR+EyjZ2$yPI~&{Ioyu{GM@^5!>^kU(f&NzLDnr`|YXLnp3gwmL{Gn3B7vl%lGWm zod##7F1vJpdi3vlPOnwx|1vCImXZF>QupFHG214^Tavq!thfADO+9--&f`&oU}^~8 z1HWp2sa`XAf&Up2mWPB7{pc~seWauqp%9g>{4&RG!qR&I6WVPnm(Beu;yL+Z{NvA` zixb<vEEQ~8{@VV&Qp$4Cg_9BmrB}XXmsZF~&JqlteKV%_$CZQ)8|t^$@o#+;|J3Z( z8I75%SeCK%2u~@QV9-(jdxv;;Is1{F&5xv&w)>y@6}WhZ8%N=b+eVL)H464ll(@I& z{*kLO>I;>Z#i$(I`0Sr+WY)4noJ{&3g0xHf1B?Ab4u9Agu%uJ%-ievl_TT?=!|AeU zrQx!v_j#U|?YM5VBXLjsTq})3jrBS%d8=3#8WjcX_taom+#KEV$U!WVxyk>M(fqp= zor2fqJ8;ZZVl<NKs@}{ec-v3eWbK3iX~XqfEOW1`Bro}=|5jyM*oxZB??;}#Sv}kI zB-i7aJ?TdCB0Dm2c(na`{EDso)m8I6w)Us(IB_Rr);@~|&vZ)oo-DTTtn7PX$CqAj z)fMWZbaRWeu4hw|=lr=MNh~tak$S!7+11}%%obVlI>>NWTv{vN9<M32EWVmYE8Sz6 z!loUawEyZ+Ev;j&?{rnnZSQaO^6U$cJff`AdGlbL!gNXDtus~}by=HqC2jZm`Cs?y zhR3dn-<lMDY)VV@6D`x=lua7X%C0><kv-EhyuP<7@>SQo6%)!XnD&a?IrVArts~p# zcx%=Bd(S!>tbN^Xt>cN?*YZEENj6kc+3%#?<hn8WMD;13xw_}h9k<P`sJl0L>%u0N zO-C1)%XK|ZPv5kRho$jkwa>lZ%bwWo5uDe(qFr5jS%ja~uAJZIt9P`wADX#l^S9Zp zt7IcZO2mH8toLXPJRNJ%Um<C-(y!^ug$Egjl1+q8@NjNYbYwMJ-Y+KOerJss`zEfr zQ`e=WzK#sZ;hnQe`^I(S#TUF}oNo(!H2pZo<>&3!r^PitG@RGf-Xis)_-xp6wesn9 zjb|M9#%X+Mo-uXe`QLX-K5~^9=@i$-*hns!y5VD&Ld+c3V~#)SBks8uewgadxQ}&* z{|}w+i>qEtHY<PnTk^T&TBD;5Pj_^MnDDiju4GzW!*Ohm!y3k02B-bZWa2Fo`M%D- z{p{E>g^iMPUUdF>Xt-Qyqn^aWptb<H_iz4NSWLMXyg<&!V%LoMEh5K@wrO>W3oX{& zdb?5R!V3?-1l5TiX&xmd)<X4@pFDmO-7fsZ|Fy%D=*f?h4fdE>*8N`F^>M56xsOMF zNXS@yx_H}Maf5BR&Z-9w*5x(k{$6`3`@CrTs>#>;DnFF7h@7gj`B8gActXR<rxPA( zA7(Sko61p`@pAg5?u>@1rA()`Xq0x&y}JJFMV0f-dQqmI63--ESC^Md+PU<7^3Hm0 zjv~&}vF!@w9Y?3_??0-iP^kL$?P2d2^)1&JJy&lNJ*_CR@ypIPNk8i&|HX&>?~VQW z`Tr}e4KrKgHZjB${fkdj;ct8RD}U0NSO4pTzuup8>Ce3#FRp(5>l^el?&0UO`>}W9 z-0mFPueepu^Mmxqg!SC-k8z)!HQVakr``99A3UtrPW`*%=*#v@rH28Jr+XZ3T(9sw zf2-=R@UQjv?&;Prf8YDPgCSvmu~CW3^L;kQ@4dCwxu3RXhPYpdj9-e3U&)*)CvMDk z>I*q`W$yuHi%{{DPid{%jJ!cTvnvm&+r7M%o}u2U$?G{mo$Y4Ha!s`x-=65akMN&m znYs7>fxk`PLh7T=rskaDO%ne9efI14pt$HDk@*%o&c*NdWS+F$b<N4zC)XGgx?}6T zzsP1hwTPb`_FVDp<b>yJZ3n6)t)}mKqWM<rzW@7z#_b^s+&7(G;Jwp({$-6D)A#T3 zd4Eym_NDfNGf(lneVaDpz>SrfSDLH>0s^@;w|)+r&ckHTqpJSrYW>;YuXj65tL`zM zc%-BL<2N-?hGM4zW`m_J68kc5ltu-th|_%LV|+Gt`tQ|=FHZ$qb#xxH>r^WIvzy<3 z->#j%Us}Dru;>zt%iKMFiE>4ADmK~XFZ$hhH&ESu=84|T-O7>G*0=Tgl-eU-W|?t4 zpVXEicmJG=l+sGao`MT~cV0iOKX;GMOXJjp9);5$6L#ME8QJFEn6%_bnHH<o<m;93 zEtXC(E)9p~l&x_V>eX~jU$w|o^`q&w^F}6b6e{AZrX6no?EdkF|ADH`MBBr^RMzOr zr3xJSHH(=?s30!Q;(UP}=kxA%^LEYJwT#spHSE_|Y0X!Bm#LIDQ%A`zc1_mfNA<OS zuaopXCzbt9Qe;kM<W3G0P8O6-u5~;1YHbg@fw5b(SW%?l>8h{SvJzLEu!w9f-6Zrm z<><GQ?Q?EM)_6>f2w8vHHnChV`;)uyoMYx?pPRC^X7@VR{`!#jIeX<E=Y1!i=<Ywh zXWoqe{Gb0P{<D9h_5A<m+v&SgUcTq~XU|+&ufpN@Up~=B!1dYx;Kl#>KV&~rfAqoa zxapC?n=gtE=p_GX)>`@N@AdO$FUmiPZWQKDRE|-7*73xKw`77@Y2^0aeyK}hTkbyX z58t?G<4WBL1s|W7x?L*CNsj$`>+j?F|JAq2&g$!{n)~W?r->BLrDJ@i{ki;MGiPoy z@X6g}IKiTR+w3D|Tb~_cD{{-(vUT0DbC;bGm}-TNL|=)L<4y6M$7vfV;b|K=$9wPQ zgC1`^jeW1A6q-z*l9&@OVGyiydV8JAFU=>bELI%lNO@!@w{_Q@+nz?Nn_K4H-Llo7 zXWIFqTeCFNR_FYT5WhY-d!KPnx<tJ6vFQgh(@#qBrc227t*T!yyzp?vjlLtZx_SkV zZ*?^IJOAZ>pa1E<>X-cMujpqBjq<w15cH+K&|u2pU;jO%jQ{>Gc~rlu^LwT1g_EHl zUcQ$}R8lAmTCyc*%6w*(^~;rayDRfARY`wteM#l{@Aj0`3$5-~+i#Ur-n!>_W=U!3 z)!!fI+s>3f&^URef0X~Wz4aUQe%030EUUlt>{wQ7+9~O0i<$LT+u#0rQTy+c&Bq^n zd^_2#X=T9lJEAWq@7|IdJU@3KtNZU~8`dvuwOhaZ)wJ&sk*f>%Is4~qd?2!X=P5<i zKg#V=H!>P_ZVW5EbEhsSr>J`lQ_-%YnzMT|b9`hw&zzREamY2Dn*Y=;lzXx7mHN&o z-5E#vPTn~Bq+ad6@z43OGoRF}7|q!INxk9Zr~MkeDw;a~y&p49{{PzUzjcWo!<~X= z7vrP6HtojyrY{qEr?$l64^M^1qdO<}_o=LijQup>$eG=B!K_aA4lBMpxPu`){ovxK z{5jjV8FPDPg?7KF-%_%*^dM*Kx~Fq27S8{1rv7F2^u_*1F9cgO{*n?&y2|RC*nho= z{e`cu%IVn|s~V(iI#!BtO!(OxS1Y-TLqx{W;>yPJE7yGOzsGxKkLrQ+IW8_bGpj6S zUT2#V$)3^mYyTFWy!{8cgRgsje)sF@*Q?chSr4o>KZ(1yul8&to6wny1>U{CpDurW zJNrt@?#jbk>s!~|$UN5dE5K>jTivB>llET?6Sq6Le{#p-<7=NiS#%<kUEghyb6)s$ zF2e;SJo2%Blf&<HM%H((tzY(4U+(O)=>LzWp6ZOOow>Gd*;ReH>re0h^<@9x6QHTN zVu_cQkK9bX5|_FUIjfF2>+E$7II1CMGPNz?2>;^Ri_dO^*%q4AYu@|0xcBh3gv|^7 zv+etTXWEDJ`+K$?%YR#WNFv2Gx;1Re)JwXHMAd{u1sAQn+TU>3JLYKL|DT7yzO{cG zoxbF7$}MnjX631ZjS{`jHW|tEpHoTH$#|4xc>S4D%KfWbF3z;El3vkd#_;+`jOcl{ z?#~A^*7TiojSM_5^sMhfRsHTQFD*WK$enJUX(Z$lC^L`yQjQu=`lAd*k4qIcay{pt ze!f|-qPOkQ&6#CocGJbujVtXYxj*kRn}3q?@r!FE%^d<t-!oX_7Wpn+dM<Ns>{)@l z{f;vxUs!Ly>CM96JqL^x1OHxhTs6u4vi+%J3C+_#x_=g2pe(NV{oscOsV9n?>bLAT zBFXgrqSl1tOyPE-55xpsBp5WTjr+@KIrXXBDW^S)m`i?5^?Z8g^X@R~1*@epB31f# zx%5Y+^gDCPn|jDw9_>GK@sBB|!d6d(oh}n%j65PZR`xv!c~?^ypj9Gt$z67nJDY~s zbn`<3wwn$Fw(poIJCD_sM{B3U|NH$LH3I9qj(kt@aT8r(C2_^|%UmY586TJq+jCdU z*8S?KZ~9R0Rnzu)A{PARZA$z3I~COzsabOePhK}Cf8i;^4F+5K*O|H>j<VB?2tRP= z8OOP))_EN>5AYx7dHLbHyj#q{6v56dIl{t=*M|lwGqo|#yuHXVPTun*+jFZ-FTa9t z_eh%y_17KayBOl^91o-`8>_#}JO5|@%>U+}|EK-CKk?svwQmB7b?mBp4qSd@pX$kX zy<XZ&=YR0rfA`y_&icz~n4``f@-5@Sot1N*b$H%>R>rr|;&ID6f%E>~7Tpwfoh`7b z;^KS#-kqCjjC6M2EUn4jvUQi?m#wltzxA@3y*A5zbwk;x-lTNS8Kv1tcW0Yz+4A#R z$&$zR!rxVn&a?lx%5MAZw$^9gJ<S)U-I31=KYRQ2?(dgRmz!UHZLWWB@7~JKazTYw zfiolKEZ|Pfw_hAsk$O)1#bjlx9|h&Lzn^{jYFe_vpy!0yd%gGX>ME;$Gu=8PV!Y|> z-LF^Mqc3sGa9%JA5$%kr&-fLqt?PJsRl>!|ijz1wGx8;DV#Gog=qE%JMhY;=FLp_C zQF)=DC)($AAv)FJxvad_E3bHVqp*YVYngL2K5es3D9e~6naZ60<e$~sDLOj;CZGK8 zKJmZ%^Ti({Qa;&F{=f21f2=y6?0?Hi$C@}k?bqRByOf~u=*Rhk6HfkLE?NJ7rft{e z45b_28_N6)Q~x~X^0w*FzAd&ZUuV1aiW__CCtvF`yOuC*vFb#}=L_m5ah=-X?s0B? z^ftTl`=#$oc9t*O7j)+C{VlQ6x74j&e{t^8%UAw(%3D32!eQsTdix)?gJuQIHJ&b( zQ}oLJ9%bXqs@%RgCs(v5?&#;U@_V~pI@Egwx!o~cc|`E#HRq<hge7TNveK9ON+hpa z-F?ob$i~K^`SQY+$L;G5zW3X{Z2o~zu9vN^SXwT<NXuB9YZ}$eq$cyYHdQJ*I^N#T zK5Mt<>5FLz2V*uk9OSoK$X;;w(A6X%wdPw9pVf1hE-{~5U0wL-_Vk7%2Wz$O{6CWd z6@D(Q|F@%!|IB}*S)czT|GRFMay@y$y=s*Ou{yi7FRd34sCu+q!|&y+hS`3m&1Vf) z&SKFBn=Q8L&~MAS^<hP<`&WLx(0N#9hI~lZq53BcW*W;So#$|{?x?(Y=Gq>Ig!s4# zZ5@->rOlbOX>0Gx#ceM{ryTOUF)>j3Ui*Wa@kh>WkgI-LU%%()>9e!H-(>eymKA)z zX8Y--#oxUDc>VR8#op(5RJ-!g*PS0_4lkcl$0vQ>cQ5bsew(&wM*PJcssVQM1T|l` zCbw{jrl?te-Vw<wGso)f5;pe(s}3iG8NSh)>(rQVYooD-%i~!`3f{65uC3VB7JSTf z=EGZ@kD@+45fHilV24ZnVcR(Z>*gBASi8n>-&)Njv@NRJTb}E3ke81<XFOl0scPYJ zpWbwyv&t!K{lW6yZWfczpA?OnF->=l(~4IXa_0r^ol9c&G-VSv<rd%aFvVO{d~2@A zt*C_QVaqqihGm!hl4&w~VN|%)(Pq8Pnr#fPmLHQ)kxv$J`MagK|ICYd_3{^u7gg9j zS*OYFc<l28nRKPAbGo10ylMHp<Z8Og((|5PbEaM?jtlxd^Q7jS*-tF2HOuRQ9wewd z-{^gC^Ax4$nyKePyymW+Vim1fy)WoXkLqPhZ^MZT^yO6UhcB7;MA6f9(ZPv}XW0Ib zwYg>>ZgIL*ylR1M)QKXQgr}Doau`q7%iIc$T9xdV>Y%zfwKaPh*PPTh`Bxr1V|Nrf zAj}YczwSKy!Ns!IpRnYbx+LX$zFHt$Deh9Yjyq`Djw>mhYcp+`zU*QN@s`$%e5R6~ zd!B!q?{VgmH?QV}&lNeoeTPo=CF6)^Rl#aMH!Rj`U!vn3)EOPL)jQ;lq&my<$roOp z%dYoU3YNIEbj$9?=}Wy@HrF^6=*^gPiv9WI(;lKte;*13wKfLKxR<_#{pW#L@tx;b z9!k9|wQ~q}+v=~(dgEh9x#EWD>JOJs`1iVE${v9Ws~0_IDET8^S5VYoZ*O_P{fOnW z@5Zacxb+{TiSfR7W}oKrLuc6uBgykqAJiWCAv^c;`uet|+Ws#dN1al>Gok&(dH3Aj zC(IQ+Gge*ub;~n$fiTCt6*GQ@rHHSoW9-&{#OS1%750EjXaA9D_H{o`yP02E6)F}{ zGgG(j&m-{(-P@$MmYv&k_VkQw%iDLFj|55-A6vKa{mkS^_Z~m{-5n)ue&0?%E$;6k z`HF{&#r8{SCdg-I)lXsCcHW!gN7%(>4POL$&9-{*-+r!YQ?uG5_}cA-ax0Z@-h4Qt z>A0MM&<CZ~kM9p})jJl?u;=)*ze^v)@t(gMzdpFI-`aCq^w+MbrE^wKy(=1}|8sWK zdM}H!o)*_bcgJj$D+^`VyW)1N!yQFI<52kp>D>E0x#yh}>Yr@7NG+J7-gn)MnKh0^ zKNlqxwI59BtDZTzWPxyf)P=H%3hUOc^q-UR{8i54mAei}KTED}K63k?DAUQsjb%ry zgJ-{%zI#mL)){NI$hHJ|&x5%W4i`UKW^wjs<Ujsje|{SOkNm%ax$NQkrrNakzwEgW z{k&OFqSrsW^6;r?R)=)EZ)d2b|J@f_@6#Ktn3bSb=U);M6e;WTX0q>n@l9%F!r6Xr z#2gnsik&p~3jgIr3#VD^{(La3KL53E_nSFJdNzSy{;{0tV>Gdey!`m#hW8IL!e#e` zrtDra!HV;BD$_Slp5K0gzfa9_sJ&61qMX6>?j+B5Kf&*(=H36L8PD6f=atLehOX$< z55npv-wCrc61{p`bji$jI_BqYuDw|>LB%f4v*VlH)&-Gf{}_0GD#aKs`pc<#LA%yg z@Q35{!}e43Cl~+NcxlSl6pw#S4;I%)Z?g*B>MuM|-ut)R$IL{25v{-#?;2NFxvHOQ zH_j{Mo4iy}O!O81l2cs&y;S~qImX4T>Se9}8)$#@K)wEaz90T8V@y{6KlW<>#$V^x z{EJTcYkpz*sp<9JEB~vVQugG!RxftULoe~`{j4?rrv-gpJ84tigy2b2JR$voiw!?d zExQ|Z^8?q$lBl<Dm_vUuU%j|a&^v~WdqpePs)@fcA8yK?`1Q)6t+(Epe4cD~y{YwT zf|TW}Rkd|SQ>NC-=^9$P^=#PTdoNR6bk4V|=WcxB%S}X0m;OleTC3?<yyR%p!reP6 zokApRR+~2$@2D{pGfI>aO)WeYe?@QRc1f$1HvK2&J>krV(R!TSv(d58{Ey0x|F<&^ zAAG$ksV=AWQiDy%&X%d_8t1mGT3Pt4A~HK*&LoDC4;;5O0s=!b>iZWR-kw?M)XKNf zQ0r9P9OZW!qK&7;mAo}w7@D_!|Gs%W-yYSoz9-$bn<T9Fn{1yQKjmuL%8$j#S63~F z5sy1RbCKW6O`%(?=e;}>Ht+7kg4ME_(OTQ)&g~41&U<!q(Se`F&W#*1_ejVsn0=}& z)8DsQO)2F^0fSg=K@Epi{Lz4VM*d7g76ul9W9NAo5B;hr6S0``s#wEy`GQr!K4tHx zujC4@?J5(mUpA95y7O1aYtE3HM_0Jt*4oOWy3(w)!{Ti0Y1>!xx0vdxeU38Bt&P1L zc1%udYEr+2fcD+n?1dS64ZX2>3ujN8o7=0jZt14FJ6ioOQhE2DxVSayRlk4P>UyT- zNz<QQd2u1q@T%p^qyxvDC)IQaz3h+dQMvZ2r&8+9tKG+EYei(v?VBRH`0R!##pgS^ z;{{li`oy{)Hf|1`krS$U>6`2hyKu$Ru04CI7jgV+_hmX%m9Q=)T4Ig%<P9-4^<j&` zWTfUUI}@sX?#ZFqT&(LDlx&4hYRmPew7LDPzqo?y=V{l){kQV=nM~<FFW%kOBO!WF zY5(JJ)+H}0IX+K)9Kg16Uzv|a8-JziuPT{eGymIv{;&VyzrB@w?{THi|I`2dzw-b8 z<aM=nJO1xCnV=&1=YOhT9gpjW|Ke_E{_pquUvH3Rvgs&Og8ARxO<|(f_3!Jpg!?Wy za9{9N>Bs%`D(AMHuB=@6iIt~C_Rrx&hQ#~-IHtYZ_2Y0&(T*R719jfaud2OySn-2F zbJv|4ACI#r%X<IXBK#rb?G?V)Qzo_bzR+&i%6akQ!ZR6JMX!52Z<e%}TfGvtoBL#2 zSAO@tJ9m6%m0w@KZvDODU8nZ$sr@}G`fWjp=J(V7*SBBinAd-&e*O+e<E7JIPENA* zo%Q@vjZXj3%`+7=7JqIu6S*?cM(o^qxAgQyHq+X=56(20r}~t~z;3;1anQu`Axv|O z)XJUTuK786ThJ!c@<Tt~+djH<Zhn`dZfCsCG1c_z-p3E#d7thpDv`Q?|Jg6^gI8B* zm%Hs3s+eFq^^P->(MpHk;#MN{`YuO4EmYbRUHQVZ&TGyq4_A+mf!Y;8Gi2}BYl&7p z<=XA|J@m6l`%=%1J7%{oewvhVQ^TFFER559^|YB+51%%gw4r9s8X>o7^ZP}UomF>6 z6sm>IY7aed$g5z(9v+<|`%g`Lv`^%DZ``c%*2_y1CUHJl%cWQLrs=-k8@@PQGxmCo z)1n==f)5p#R(;ZR*xInbL0NCcngc1UYT5>o4`-g>x~OXOcURs|jjvgMAJ>$a`CR@R zV!-obPukKVku^;VD$jWIMXOo{)ymK5nt$@5z(N_LDeD%;Y<8K$Y^u^G6}rIfqtt1= zESdGYil(aBw@FORQZ21qAuFRF)O4?Z^Dfb~^@SI=+}ffOzV%i5y+_FtwQBdK>IIkl ztymztds1qT<r9^xh-c;tMD)WVH&;w9wp{Xjr_539z-uQhUqyDW$ZGqk7&XOjx7pjQ z(?Y@SlFP3oP0zM`!J0Z#yzSzzTTfpE8-6KSHe>DjgOdwO8>@<A4^(_OHEY%_nTN}- zvaM#|-^RdQ|K*0?OJmOEA*$QVmXyr<9iz0#DfQPw77m8o_rFaq+*-SB*N4ovbC0yP z){A}6i+;3f+K)rCbC0g}?J)v(4GY{$+*J1Sx2t@ezOy5CX0w`x&L*3qPdgNP{2#s8 za4G3JdqYvDvkTMHof~6shfdyQ94Y7h*k?oiB@t8JAO03HF>I#<|1U0Q{p{Luag(o4 z%f7I~85}Zv)nf0O%VWPNbC<kUR@m7PBPyxLu)crB6ZV}YNebuPg8hsd`eNTCiSNE~ ZRIhAfH-h>4$ol{M+LC*f7#6TH000bo!}S0F delta 37646 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 diff --git a/dbrepo-search-service/lib/dbrepo-1.6.1.tar.gz b/dbrepo-search-service/lib/dbrepo-1.6.1.tar.gz index 5ce8fdab038ca28aa52e5c8544ce3bcfee7ca3fa..7e4d5a2470276918716a153487671274665749a6 100644 GIT binary patch delta 37622 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 ZRIhAfH-h>4$ol{M+LC*f7#6TH000bo!}S0F delta 37646 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 diff --git a/dbrepo-search-service/os-yml/get_fuzzy_search.yml b/dbrepo-search-service/os-yml/get_fuzzy_search.yml index bc54419eb9..db2ef87b32 100644 --- a/dbrepo-search-service/os-yml/get_fuzzy_search.yml +++ b/dbrepo-search-service/os-yml/get_fuzzy_search.yml @@ -19,6 +19,9 @@ responses: content: application/json: schema: - $ref: '#/components/schemas/SearchResultDto' + type: array + properties: + id: + type: string 415: description: Wrong accept type diff --git a/dbrepo-ui/components/search/AdvancedSearch.vue b/dbrepo-ui/components/search/AdvancedSearch.vue index b312b2dc52..8197cd3fb8 100644 --- a/dbrepo-ui/components/search/AdvancedSearch.vue +++ b/dbrepo-ui/components/search/AdvancedSearch.vue @@ -384,8 +384,8 @@ export default { this.loading = true const searchService = useSearchService() searchService.general_search(this.searchType, this.advancedSearchData) - .then(({results, type}) => { - this.$emit('search-result', {results, type}) + .then((results) => { + this.$emit('search-result', results) }) .finally(() => { this.loading = false @@ -443,7 +443,7 @@ export default { return } this.resetAdvancedSearchFields() - this.$emit('search-result', { results: [], type: this.searchType }) + this.$emit('search-result', []) const searchService = useSearchService() this.loadingFields = true searchService.fields(this.searchType) diff --git a/dbrepo-ui/composables/search-service.ts b/dbrepo-ui/composables/search-service.ts index 62be8b9bc7..b61f8358cf 100644 --- a/dbrepo-ui/composables/search-service.ts +++ b/dbrepo-ui/composables/search-service.ts @@ -18,11 +18,11 @@ export const useSearchService = (): any => { }) } - async function fuzzy_search(term: string): Promise<SearchResultDto> { + async function fuzzy_search(term: string): Promise<DatabaseDto[]> { const axios = useAxiosInstance() console.debug('fuzzy search for term', term) - return new Promise<SearchResultDto>((resolve, reject) => { - axios.get<SearchResultDto>(`/api/search?q=${term}`) + return new Promise<DatabaseDto[]>((resolve, reject) => { + axios.get<DatabaseDto[]>(`/api/search?q=${term}`) .then((response) => { console.info('Searched for term', term) resolve(response.data) diff --git a/dbrepo-ui/pages/search.vue b/dbrepo-ui/pages/search.vue index b13a0f0fc2..b23c896448 100644 --- a/dbrepo-ui/pages/search.vue +++ b/dbrepo-ui/pages/search.vue @@ -27,7 +27,8 @@ v-if="isDatabaseSearch" :loading="loading" :databases="results" /> - <div> + <div + v-else> <v-card v-for="(result, idx) in results" :key="idx" @@ -38,10 +39,13 @@ <v-divider class="mx-4" /> <v-card-title class="text-primary text-decoration-underline"> - <a v-if="link(result)" :href="link(result)"> + <a + v-if="link(result)" + :href="link(result)"> {{ title(result) }} </a> - <span v-else> + <span + v-else> {{ title(result) }} </span> </v-card-title> @@ -66,23 +70,15 @@ </v-card-text> </v-card> </div> - <v-dialog - v-model="createDbDialog" - persistent - max-width="640"> - <DatabaseCreate @close="closed" /> - </v-dialog> </div> </template> <script> -import DatabaseCreate from '@/components/database/DatabaseCreate.vue' import AdvancedSearch from '@/components/search/AdvancedSearch.vue' import { useUserStore } from '@/stores/user' export default { components: { - DatabaseCreate, AdvancedSearch }, data () { @@ -90,7 +86,6 @@ export default { results: [], type: 'database', loading: false, - createDbDialog: null, userStore: useUserStore() } }, @@ -136,10 +131,13 @@ export default { if (!queryKeys || queryKeys.length !== 1 || !queryKeys.includes('q')) { return } + if (!this.q) { + return + } this.loading = true const searchService = useSearchService() searchService.fuzzy_search(this.q) - .then(({results}) => { + .then((results) => { this.results = results this.loading = false }) @@ -294,19 +292,8 @@ export default { } return tags }, - closed (event) { - this.dialog = false - if (event.success) { - this.$router.push(`/database/${event.database_id}/info`) - } - }, - onSearchResult ({results, type}) { + onSearchResult (results) { this.results = results - if (!type) { - return - } - console.debug('search for type', type, ':', results) - this.type = type }, capitalizeFirstLetter(string) { if (!string) { diff --git a/docker-compose.yml b/docker-compose.yml index 7159ff58cb..315f6bf188 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -303,12 +303,14 @@ services: AUTH_SERVICE_CLIENT_SECRET: ${AUTH_SERVICE_CLIENT_SECRET:-MUwRc7yfXSJwX8AdRMWaQC3Nep1VjwgG} AUTH_SERVICE_ENDPOINT: ${AUTH_SERVICE_ENDPOINT:-http://auth-service:8080} COLLECTION: ${COLLECTION:-['database','table','column','identifier','unit','concept','user','view']} + LOG_LEVEL: ${LOG_LEVEL:-info} METADATA_SERVICE_ENDPOINT: ${METADATA_SERVICE_ENDPOINT:-http://metadata-service:8080} OPENSEARCH_HOST: ${OPENSEARCH_HOST:-search-db} OPENSEARCH_PORT: ${OPENSEARCH_PORT:-9200} OPENSEARCH_USERNAME: ${SEARCH_DB_USERNAME:-admin} OPENSEARCH_PASSWORD: ${SEARCH_DB_PASSWORD:-admin} - LOG_LEVEL: ${LOG_LEVEL:-info} + SYSTEM_USERNAME: "${SYSTEM_USERNAME:-admin}" + SYSTEM_PASSWORD: "${SYSTEM_PASSWORD:-admin}" healthcheck: test: curl -sSL localhost:8080/health | grep 'UP' || exit 1 interval: 10s @@ -402,11 +404,14 @@ services: context: ./dbrepo-search-service/init network: host environment: + LOG_LEVEL: ${LOG_LEVEL:-info} METADATA_SERVICE_ENDPOINT: ${METADATA_SERVICE_ENDPOINT:-http://metadata-service:8080} OPENSEARCH_HOST: ${OPENSEARCH_HOST:-search-db} OPENSEARCH_PORT: ${OPENSEARCH_PORT:-9200} OPENSEARCH_USERNAME: ${SEARCH_DB_USERNAME:-admin} OPENSEARCH_PASSWORD: ${SEARCH_DB_PASSWORD:-admin} + SYSTEM_USERNAME: "${SYSTEM_USERNAME:-admin}" + SYSTEM_PASSWORD: "${SYSTEM_PASSWORD:-admin}" depends_on: dbrepo-search-db: condition: service_healthy diff --git a/lib/python/dbrepo/api/dto.py b/lib/python/dbrepo/api/dto.py index dc7f0e1912..fa7eb063fc 100644 --- a/lib/python/dbrepo/api/dto.py +++ b/lib/python/dbrepo/api/dto.py @@ -5,7 +5,7 @@ from dataclasses import field from enum import Enum from typing import List, Optional, Annotated -from pydantic import BaseModel, PlainSerializer, Field +from pydantic import BaseModel, PlainSerializer Timestamp = Annotated[ datetime.datetime, PlainSerializer(lambda v: v.strftime('%Y-%m-%dT%H:%M:%S.%f')[:-3] + 'Z', return_type=str) @@ -987,9 +987,10 @@ class DatabaseBrief(BaseModel): internal_name: str description: Optional[str] = None is_public: bool + is_schema_public: bool identifiers: Optional[List[Identifier]] = field(default_factory=list) contact: UserBrief - owner: UserBrief + owner_id: str class Unique(BaseModel): -- GitLab