From 851659e90f20df59907bd520b152741b94d69e49 Mon Sep 17 00:00:00 2001
From: grantnert48 <tobias.grantner@tuwien.ac.at>
Date: Thu, 17 Aug 2023 15:59:55 +0200
Subject: [PATCH] Removed merged services

---
 dbrepo-identifier-service/.dockerignore       |    1 -
 dbrepo-identifier-service/.gitignore          |   41 -
 .../.mvn/wrapper/MavenWrapperDownloader.java  |  118 -
 .../.mvn/wrapper/maven-wrapper.jar            |  Bin 50710 -> 0 bytes
 .../.mvn/wrapper/maven-wrapper.properties     |    2 -
 dbrepo-identifier-service/Dockerfile          |   46 -
 dbrepo-identifier-service/README.md           |   15 -
 dbrepo-identifier-service/api/pom.xml         |   19 -
 .../main/java/at/tuwien/ExportResource.java   |   18 -
 dbrepo-identifier-service/mvnw                |  310 -
 dbrepo-identifier-service/mvnw.cmd            |  182 -
 dbrepo-identifier-service/pom.xml             |  282 -
 dbrepo-identifier-service/report/pom.xml      |   51 -
 .../rest-service/pom.xml                      |   40 -
 .../DbrepoIdentifierServiceApplication.java   |   25 -
 .../java/at/tuwien/config/SwaggerConfig.java  |   54 -
 .../main/java/at/tuwien/config/WebConfig.java |   16 -
 .../converters/IdentifierTypeConverter.java   |   12 -
 .../tuwien/endpoints/IdentifierEndpoint.java  |  173 -
 .../tuwien/endpoints/PersistenceEndpoint.java |  241 -
 .../tuwien/handlers/ApiExceptionHandler.java  |  150 -
 .../src/main/resources/application-doi.yml    |    6 -
 .../src/main/resources/application-local.yml  |   57 -
 .../src/main/resources/application.yml        |   72 -
 .../src/main/resources/config.properties      |    0
 .../src/main/resources/templates/cite_apa.txt |    1 -
 .../main/resources/templates/cite_bibtex.txt  |    7 -
 .../main/resources/templates/cite_ieee.txt    |    1 -
 .../src/main/resources/templates/doi.xml      |   50 -
 .../src/test/java/at/tuwien/BaseUnitTest.java |    9 -
 .../endpoint/ActuatorComponentTest.java       |   65 -
 .../IdentifierEndpointIntegrationTest.java    |  309 -
 .../endpoint/IdentifierEndpointUnitTest.java  |  331 --
 .../endpoint/PersistenceEndpointUnitTest.java |  672 ---
 .../tuwien/endpoint/SwaggerComponentTest.java |   38 -
 .../gateway/QueryServiceGatewayUnitTest.java  |  171 -
 ...aCiteIdentifierServiceIntegrationTest.java |  120 -
 .../DataCiteIdentifierServiceUnitTest.java    |  228 -
 .../DatabaseServiceIntegrationTest.java       |   74 -
 .../IdentifierServiceIntegrationTest.java     |  406 --
 .../service/IdentifierServiceUnitTest.java    |  420 --
 .../service/MetadataServiceUnitTest.java      |  171 -
 .../tuwien/service/UserServiceUnitTest.java   |   61 -
 .../src/test/resources/application.properties |   28 -
 .../resources/bibliography/style_apa0.txt     |    1 -
 .../resources/bibliography/style_apa1.txt     |    1 -
 .../resources/bibliography/style_apa2.txt     |    1 -
 .../resources/bibliography/style_apa3.txt     |    1 -
 .../resources/bibliography/style_apa4.txt     |    1 -
 .../resources/bibliography/style_bibtex0.txt  |    7 -
 .../resources/bibliography/style_bibtex1.txt  |    7 -
 .../resources/bibliography/style_bibtex2.txt  |    7 -
 .../resources/bibliography/style_bibtex3.txt  |    7 -
 .../resources/bibliography/style_ieee0.txt    |    1 -
 .../resources/bibliography/style_ieee1.txt    |    1 -
 .../resources/bibliography/style_ieee2.txt    |    1 -
 .../resources/bibliography/style_ieee3.txt    |    1 -
 .../src/test/resources/csv/keyboard.csv       | 4969 -----------------
 .../src/test/resources/csv/testdata.csv       | 1001 ----
 .../src/test/resources/doi_ec.json            |  467 --
 .../src/test/resources/init/schema.sql        |    1 -
 .../src/test/resources/json/metadata0.json    |   23 -
 .../src/test/resources/json/metadata1.json    |   65 -
 .../src/test/resources/orcid_jdoe.json        | 1277 -----
 .../src/test/resources/ror_tuw.json           |  121 -
 .../xml/datacite-example-dataset-v4.xml       |   40 -
 .../src/test/resources/xml/metadata0.xml      |   19 -
 .../src/test/resources/xml/metadata1.xml      |   28 -
 dbrepo-identifier-service/rest-service/~      |    0
 dbrepo-identifier-service/services/pom.xml    |   50 -
 .../java/at/tuwien/auth/AuthTokenFilter.java  |  100 -
 .../java/at/tuwien/config/DataCiteConfig.java |   24 -
 .../java/at/tuwien/config/EndpointConfig.java |   14 -
 .../java/at/tuwien/config/GatewayConfig.java  |   38 -
 .../java/at/tuwien/config/JacksonConfig.java  |   32 -
 .../at/tuwien/config/OpenSearchConfig.java    |   61 -
 .../java/at/tuwien/config/TemplateConfig.java |   30 -
 .../at/tuwien/config/WebSecurityConfig.java   |   96 -
 .../exception/AccessDeniedException.java      |   23 -
 .../exception/DatabaseNotFoundException.java  |   21 -
 .../exception/DoiNotFoundException.java       |   21 -
 .../IdentifierAlreadyExistsException.java     |   21 -
 .../IdentifierAlreadyPublishedException.java  |   21 -
 .../IdentifierNotFoundException.java          |   21 -
 ...entifierPublishingNotAllowedException.java |   21 -
 .../exception/IdentifierRequestException.java |   21 -
 .../IdentifierUpdateBadFormException.java     |   21 -
 .../tuwien/exception/NotAllowedException.java |   21 -
 .../exception/OrcidNotFoundException.java     |   21 -
 .../exception/QueryNotFoundException.java     |   21 -
 .../exception/RemoteUnavailableException.java |   21 -
 .../exception/RorNotFoundException.java       |   21 -
 .../exception/UserNotFoundException.java      |   21 -
 .../exception/ViewNotFoundException.java      |   21 -
 .../gateway/ApiTemplateInterceptor.java       |    7 -
 .../at/tuwien/gateway/CrossrefGateway.java    |    8 -
 .../java/at/tuwien/gateway/OrcidGateway.java  |   11 -
 .../tuwien/gateway/QueryServiceGateway.java   |   36 -
 .../java/at/tuwien/gateway/RorGateway.java    |    9 -
 .../impl/ApiTemplateInterceptorImpl.java      |   22 -
 .../gateway/impl/CrossrefGatewayImpl.java     |   41 -
 .../tuwien/gateway/impl/OrcidGatewayImpl.java |   40 -
 .../gateway/impl/QueryServiceGatewayImpl.java |   84 -
 .../tuwien/gateway/impl/RorGatewayImpl.java   |   43 -
 .../java/at/tuwien/mapper/DataCiteMapper.java |  125 -
 .../java/at/tuwien/mapper/DocumentMapper.java |   15 -
 .../java/at/tuwien/mapper/ExternalMapper.java |   76 -
 .../at/tuwien/mapper/IdentifierMapper.java    |   87 -
 .../java/at/tuwien/mapper/UserMapper.java     |   25 -
 .../repository/mdb/AccessRepository.java      |   24 -
 .../repository/mdb/ContainerRepository.java   |    9 -
 .../repository/mdb/CreatorRepository.java     |   10 -
 .../repository/mdb/DatabaseRepository.java    |    9 -
 .../mdb/IdentifierDescriptionRepository.java  |    9 -
 .../repository/mdb/IdentifierRepository.java  |   58 -
 .../mdb/IdentifierTitleRepository.java        |    9 -
 .../repository/mdb/ImageRepository.java       |    9 -
 .../repository/mdb/LicenseRepository.java     |    9 -
 .../repository/mdb/RealmRepository.java       |   12 -
 .../repository/mdb/TableRepository.java       |   11 -
 .../tuwien/repository/mdb/UserRepository.java |   22 -
 .../tuwien/repository/mdb/ViewRepository.java |   11 -
 .../sdb/IdentifierIdxRepository.java          |    9 -
 .../java/at/tuwien/service/AccessService.java |   19 -
 .../at/tuwien/service/DatabaseService.java    |   16 -
 .../at/tuwien/service/IdentifierService.java  |  122 -
 .../at/tuwien/service/MetadataService.java    |   21 -
 .../java/at/tuwien/service/UserService.java   |   16 -
 .../java/at/tuwien/service/ViewService.java   |    8 -
 .../service/impl/AccessServiceImpl.java       |   34 -
 .../impl/DataCiteIdentifierServiceImpl.java   |  228 -
 .../service/impl/DatabaseServiceImpl.java     |   36 -
 .../service/impl/IdentifierServiceImpl.java   |  353 --
 .../service/impl/MetadataServiceImpl.java     |   67 -
 .../tuwien/service/impl/UserServiceImpl.java  |   34 -
 .../tuwien/service/impl/ViewServiceImpl.java  |   33 -
 .../tuwien/utils/EnumToStringConverter.java   |   15 -
 dbrepo-identifier-service/~                   |    0
 dbrepo-metadata-db/pom.xml                    |   93 -
 dbrepo-semantics-service/.gitignore           |   36 -
 .../.mvn/wrapper/MavenWrapperDownloader.java  |  118 -
 .../.mvn/wrapper/maven-wrapper.jar            |  Bin 50710 -> 0 bytes
 .../.mvn/wrapper/maven-wrapper.properties     |    2 -
 dbrepo-semantics-service/Dockerfile           |   39 -
 dbrepo-semantics-service/README.md            |   15 -
 dbrepo-semantics-service/mvnw                 |  310 -
 dbrepo-semantics-service/mvnw.cmd             |  182 -
 dbrepo-semantics-service/pom.xml              |  255 -
 dbrepo-semantics-service/report/pom.xml       |   56 -
 dbrepo-semantics-service/rest-service/pom.xml |   44 -
 .../DbrepoSemanticsServiceApplication.java    |   25 -
 .../java/at/tuwien/config/SwaggerConfig.java  |   54 -
 .../at/tuwien/endpoints/OntologyEndpoint.java |  160 -
 .../at/tuwien/endpoints/QueryEndpoint.java    |  103 -
 .../tuwien/endpoints/SemanticsEndpoint.java   |  128 -
 .../at/tuwien/endpoints/TableEndpoint.java    |  106 -
 .../tuwien/handlers/ApiExceptionHandler.java  |   78 -
 .../src/main/resources/application-local.yml  |   55 -
 .../src/main/resources/application.yml        |   70 -
 .../src/main/resources/config.properties      |    0
 .../main/resources/mariadb_hibernate.cfg.xml  |   20 -
 .../src/test/java/at/tuwien/BaseUnitTest.java |    9 -
 .../endpoint/ActuatorComponentTest.java       |   68 -
 .../endpoint/OntologyEndpointUnitTest.java    |  312 --
 .../endpoint/QueryEndpointUnitTest.java       |  167 -
 .../endpoint/SemanticsEndpointUnitTest.java   |  215 -
 .../tuwien/endpoint/SwaggerComponentTest.java |   41 -
 .../endpoint/TableEndpointUnitTest.java       |  140 -
 .../OntologyServiceIntegrationTest.java       |  124 -
 .../service/QueryServiceIntegrationTest.java  |  142 -
 .../service/SemanticServiceUnitTest.java      |  146 -
 .../service/TableServiceIntegrationTest.java  |   85 -
 .../tuwien/service/TableServiceUnitTest.java  |   70 -
 .../src/test/resources/application.properties |   28 -
 .../src/test/resources/init/schema.sql        |    1 -
 .../src/test/resources/species/Species.sql    |    7 -
 .../src/test/resources/traffic/TrafficCh.sql  |    0
 .../src/test/resources/weather/WeatherAus.sql |    0
 dbrepo-semantics-service/services/pom.xml     |   42 -
 .../java/at/tuwien/auth/AuthTokenFilter.java  |  100 -
 .../java/at/tuwien/config/GatewayConfig.java  |   40 -
 .../java/at/tuwien/config/JacksonConfig.java  |   30 -
 .../at/tuwien/config/OpenSearchConfig.java    |   61 -
 .../at/tuwien/config/WebSecurityConfig.java   |   96 -
 .../exception/FilterBadRequestException.java  |   21 -
 .../exception/OntologyNotFoundException.java  |   21 -
 .../exception/QueryMalformedException.java    |   21 -
 .../TableColumnNotFoundException.java         |   21 -
 .../exception/TableNotFoundException.java     |   21 -
 .../exception/UriMalformedException.java      |   21 -
 .../exception/UserNotFoundException.java      |   21 -
 .../java/at/tuwien/mapper/OntologyMapper.java |  119 -
 .../java/at/tuwien/mapper/SemanticMapper.java |   18 -
 .../java/at/tuwien/mapper/TableMapper.java    |   25 -
 .../repository/mdb/ContainerRepository.java   |   10 -
 .../repository/mdb/DatabaseRepository.java    |   10 -
 .../repository/mdb/ImageRepository.java       |   10 -
 .../repository/mdb/OntologyRepository.java    |   10 -
 .../repository/mdb/RealmRepository.java       |   12 -
 .../mdb/TableColumnConceptRepository.java     |   10 -
 .../repository/mdb/TableColumnRepository.java |   10 -
 .../mdb/TableColumnUnitRepository.java        |   10 -
 .../repository/mdb/TableRepository.java       |   14 -
 .../tuwien/repository/mdb/UserRepository.java |   15 -
 .../repository/sdb/ConceptIdxRepository.java  |    9 -
 .../repository/sdb/UnitIdxRepository.java     |    9 -
 .../at/tuwien/service/OntologyService.java    |   22 -
 .../java/at/tuwien/service/QueryService.java  |   16 -
 .../at/tuwien/service/SemanticService.java    |   18 -
 .../java/at/tuwien/service/TableService.java  |   20 -
 .../java/at/tuwien/service/UserService.java   |    8 -
 .../service/impl/OntologyServiceImpl.java     |   82 -
 .../tuwien/service/impl/QueryServiceImpl.java |   91 -
 .../service/impl/SemanticServiceImpl.java     |   79 -
 .../tuwien/service/impl/TableServiceImpl.java |   94 -
 .../tuwien/service/impl/UserServiceImpl.java  |   34 -
 dbrepo-user-service/.gitignore                |   44 -
 dbrepo-user-service/Dockerfile                |   41 -
 dbrepo-user-service/README.md                 |   15 -
 dbrepo-user-service/pom.xml                   |  299 -
 dbrepo-user-service/report/pom.xml            |   56 -
 dbrepo-user-service/rest-service/pom.xml      |   46 -
 .../at/tuwien/FdaUserServiceApplication.java  |   27 -
 .../java/at/tuwien/config/SwaggerConfig.java  |   46 -
 .../tuwien/endpoint/MaintenanceEndpoint.java  |  163 -
 .../java/at/tuwien/endpoint/UserEndpoint.java |  278 -
 .../tuwien/handlers/ApiExceptionHandler.java  |  127 -
 .../src/main/resources/application-local.yml  |   54 -
 .../src/main/resources/application.yml        |   69 -
 .../src/main/resources/config.properties      |    0
 .../main/resources/mariadb_hibernate.cfg.xml  |   20 -
 .../src/test/java/at/tuwien/BaseUnitTest.java |    9 -
 .../endpoint/ActuatorComponentTest.java       |   62 -
 .../endpoint/MaintenanceEndpointUnitTest.java |  352 --
 .../tuwien/endpoint/SwaggerComponentTest.java |   42 -
 .../tuwien/endpoint/UserEndpointUnitTest.java |  444 --
 .../java/at/tuwien/mapper/UserMapperTest.java |   45 -
 .../BannerMessageServiceIntegrationTest.java  |  143 -
 .../service/RealmServiceIntegrationTest.java  |   62 -
 .../service/RoleServiceIntegrationTest.java   |   66 -
 .../UserAttributeServiceIntegrationTest.java  |  102 -
 .../service/UserServiceIntegrationTest.java   |  247 -
 .../src/test/resources/application.properties |   30 -
 .../src/test/resources/init/schema.sql        |    1 -
 dbrepo-user-service/services/pom.xml          |   16 -
 .../java/at/tuwien/auth/AuthTokenFilter.java  |  100 -
 .../java/at/tuwien/config/GatewayConfig.java  |   49 -
 .../java/at/tuwien/config/JacksonConfig.java  |   30 -
 .../at/tuwien/config/OpenSearchConfig.java    |   61 -
 .../at/tuwien/config/WebSecurityConfig.java   |   96 -
 .../BannerMessageNotFoundException.java       |   20 -
 .../exception/ForeignUserException.java       |   21 -
 .../tuwien/exception/NotAllowedException.java |   21 -
 .../exception/RealmNotFoundException.java     |   21 -
 .../exception/RemoteUnavailableException.java |   21 -
 .../exception/RoleNotFoundException.java      |   21 -
 .../exception/UserAlreadyExistsException.java |   21 -
 .../UserAttributeNotFoundException.java       |   21 -
 .../UserEmailAlreadyExistsException.java      |   21 -
 .../exception/UserNotFoundException.java      |   21 -
 .../tuwien/mapper/AuthenticationMapper.java   |   19 -
 .../at/tuwien/mapper/BannerMessageMapper.java |   24 -
 .../java/at/tuwien/mapper/UserMapper.java     |   58 -
 .../mdb/BannerMessageRepository.java          |   14 -
 .../repository/mdb/CredentialRepository.java  |   12 -
 .../mdb/GroupMembershipRepository.java        |   10 -
 .../repository/mdb/GroupRepository.java       |   14 -
 .../repository/mdb/RealmRepository.java       |   15 -
 .../repository/mdb/RoleMappingRepository.java |   11 -
 .../tuwien/repository/mdb/RoleRepository.java |   16 -
 .../mdb/UserAttributeRepository.java          |   15 -
 .../tuwien/repository/mdb/UserRepository.java |   17 -
 .../repository/sdb/UserIdxRepository.java     |   11 -
 .../tuwien/service/BannerMessageService.java  |   60 -
 .../java/at/tuwien/service/RealmService.java  |   16 -
 .../java/at/tuwien/service/RoleService.java   |    8 -
 .../tuwien/service/UserAttributeService.java  |   15 -
 .../java/at/tuwien/service/UserService.java   |   91 -
 .../impl/BannerMessageServiceImpl.java        |   78 -
 .../tuwien/service/impl/RealmServiceImpl.java |   35 -
 .../tuwien/service/impl/RoleServiceImpl.java  |   36 -
 .../impl/UserAttributeServiceImpl.java        |   46 -
 .../tuwien/service/impl/UserServiceImpl.java  |  239 -
 .../src/test/resources/application.properties |   14 -
 284 files changed, 24866 deletions(-)
 delete mode 100644 dbrepo-identifier-service/.dockerignore
 delete mode 100644 dbrepo-identifier-service/.gitignore
 delete mode 100644 dbrepo-identifier-service/.mvn/wrapper/MavenWrapperDownloader.java
 delete mode 100644 dbrepo-identifier-service/.mvn/wrapper/maven-wrapper.jar
 delete mode 100644 dbrepo-identifier-service/.mvn/wrapper/maven-wrapper.properties
 delete mode 100644 dbrepo-identifier-service/Dockerfile
 delete mode 100644 dbrepo-identifier-service/README.md
 delete mode 100644 dbrepo-identifier-service/api/pom.xml
 delete mode 100644 dbrepo-identifier-service/api/src/main/java/at/tuwien/ExportResource.java
 delete mode 100755 dbrepo-identifier-service/mvnw
 delete mode 100644 dbrepo-identifier-service/mvnw.cmd
 delete mode 100644 dbrepo-identifier-service/pom.xml
 delete mode 100644 dbrepo-identifier-service/report/pom.xml
 delete mode 100644 dbrepo-identifier-service/rest-service/pom.xml
 delete mode 100644 dbrepo-identifier-service/rest-service/src/main/java/at/tuwien/DbrepoIdentifierServiceApplication.java
 delete mode 100644 dbrepo-identifier-service/rest-service/src/main/java/at/tuwien/config/SwaggerConfig.java
 delete mode 100644 dbrepo-identifier-service/rest-service/src/main/java/at/tuwien/config/WebConfig.java
 delete mode 100644 dbrepo-identifier-service/rest-service/src/main/java/at/tuwien/converters/IdentifierTypeConverter.java
 delete mode 100644 dbrepo-identifier-service/rest-service/src/main/java/at/tuwien/endpoints/IdentifierEndpoint.java
 delete mode 100644 dbrepo-identifier-service/rest-service/src/main/java/at/tuwien/endpoints/PersistenceEndpoint.java
 delete mode 100644 dbrepo-identifier-service/rest-service/src/main/java/at/tuwien/handlers/ApiExceptionHandler.java
 delete mode 100644 dbrepo-identifier-service/rest-service/src/main/resources/application-doi.yml
 delete mode 100644 dbrepo-identifier-service/rest-service/src/main/resources/application-local.yml
 delete mode 100644 dbrepo-identifier-service/rest-service/src/main/resources/application.yml
 delete mode 100644 dbrepo-identifier-service/rest-service/src/main/resources/config.properties
 delete mode 100644 dbrepo-identifier-service/rest-service/src/main/resources/templates/cite_apa.txt
 delete mode 100644 dbrepo-identifier-service/rest-service/src/main/resources/templates/cite_bibtex.txt
 delete mode 100644 dbrepo-identifier-service/rest-service/src/main/resources/templates/cite_ieee.txt
 delete mode 100644 dbrepo-identifier-service/rest-service/src/main/resources/templates/doi.xml
 delete mode 100644 dbrepo-identifier-service/rest-service/src/test/java/at/tuwien/BaseUnitTest.java
 delete mode 100644 dbrepo-identifier-service/rest-service/src/test/java/at/tuwien/endpoint/ActuatorComponentTest.java
 delete mode 100644 dbrepo-identifier-service/rest-service/src/test/java/at/tuwien/endpoint/IdentifierEndpointIntegrationTest.java
 delete mode 100644 dbrepo-identifier-service/rest-service/src/test/java/at/tuwien/endpoint/IdentifierEndpointUnitTest.java
 delete mode 100644 dbrepo-identifier-service/rest-service/src/test/java/at/tuwien/endpoint/PersistenceEndpointUnitTest.java
 delete mode 100644 dbrepo-identifier-service/rest-service/src/test/java/at/tuwien/endpoint/SwaggerComponentTest.java
 delete mode 100644 dbrepo-identifier-service/rest-service/src/test/java/at/tuwien/gateway/QueryServiceGatewayUnitTest.java
 delete mode 100644 dbrepo-identifier-service/rest-service/src/test/java/at/tuwien/service/DataCiteIdentifierServiceIntegrationTest.java
 delete mode 100644 dbrepo-identifier-service/rest-service/src/test/java/at/tuwien/service/DataCiteIdentifierServiceUnitTest.java
 delete mode 100644 dbrepo-identifier-service/rest-service/src/test/java/at/tuwien/service/DatabaseServiceIntegrationTest.java
 delete mode 100644 dbrepo-identifier-service/rest-service/src/test/java/at/tuwien/service/IdentifierServiceIntegrationTest.java
 delete mode 100644 dbrepo-identifier-service/rest-service/src/test/java/at/tuwien/service/IdentifierServiceUnitTest.java
 delete mode 100644 dbrepo-identifier-service/rest-service/src/test/java/at/tuwien/service/MetadataServiceUnitTest.java
 delete mode 100644 dbrepo-identifier-service/rest-service/src/test/java/at/tuwien/service/UserServiceUnitTest.java
 delete mode 100644 dbrepo-identifier-service/rest-service/src/test/resources/application.properties
 delete mode 100644 dbrepo-identifier-service/rest-service/src/test/resources/bibliography/style_apa0.txt
 delete mode 100644 dbrepo-identifier-service/rest-service/src/test/resources/bibliography/style_apa1.txt
 delete mode 100644 dbrepo-identifier-service/rest-service/src/test/resources/bibliography/style_apa2.txt
 delete mode 100644 dbrepo-identifier-service/rest-service/src/test/resources/bibliography/style_apa3.txt
 delete mode 100644 dbrepo-identifier-service/rest-service/src/test/resources/bibliography/style_apa4.txt
 delete mode 100644 dbrepo-identifier-service/rest-service/src/test/resources/bibliography/style_bibtex0.txt
 delete mode 100644 dbrepo-identifier-service/rest-service/src/test/resources/bibliography/style_bibtex1.txt
 delete mode 100644 dbrepo-identifier-service/rest-service/src/test/resources/bibliography/style_bibtex2.txt
 delete mode 100644 dbrepo-identifier-service/rest-service/src/test/resources/bibliography/style_bibtex3.txt
 delete mode 100644 dbrepo-identifier-service/rest-service/src/test/resources/bibliography/style_ieee0.txt
 delete mode 100644 dbrepo-identifier-service/rest-service/src/test/resources/bibliography/style_ieee1.txt
 delete mode 100644 dbrepo-identifier-service/rest-service/src/test/resources/bibliography/style_ieee2.txt
 delete mode 100644 dbrepo-identifier-service/rest-service/src/test/resources/bibliography/style_ieee3.txt
 delete mode 100644 dbrepo-identifier-service/rest-service/src/test/resources/csv/keyboard.csv
 delete mode 100644 dbrepo-identifier-service/rest-service/src/test/resources/csv/testdata.csv
 delete mode 100644 dbrepo-identifier-service/rest-service/src/test/resources/doi_ec.json
 delete mode 100644 dbrepo-identifier-service/rest-service/src/test/resources/init/schema.sql
 delete mode 100644 dbrepo-identifier-service/rest-service/src/test/resources/json/metadata0.json
 delete mode 100644 dbrepo-identifier-service/rest-service/src/test/resources/json/metadata1.json
 delete mode 100644 dbrepo-identifier-service/rest-service/src/test/resources/orcid_jdoe.json
 delete mode 100644 dbrepo-identifier-service/rest-service/src/test/resources/ror_tuw.json
 delete mode 100644 dbrepo-identifier-service/rest-service/src/test/resources/xml/datacite-example-dataset-v4.xml
 delete mode 100644 dbrepo-identifier-service/rest-service/src/test/resources/xml/metadata0.xml
 delete mode 100644 dbrepo-identifier-service/rest-service/src/test/resources/xml/metadata1.xml
 delete mode 100644 dbrepo-identifier-service/rest-service/~
 delete mode 100644 dbrepo-identifier-service/services/pom.xml
 delete mode 100644 dbrepo-identifier-service/services/src/main/java/at/tuwien/auth/AuthTokenFilter.java
 delete mode 100644 dbrepo-identifier-service/services/src/main/java/at/tuwien/config/DataCiteConfig.java
 delete mode 100644 dbrepo-identifier-service/services/src/main/java/at/tuwien/config/EndpointConfig.java
 delete mode 100644 dbrepo-identifier-service/services/src/main/java/at/tuwien/config/GatewayConfig.java
 delete mode 100644 dbrepo-identifier-service/services/src/main/java/at/tuwien/config/JacksonConfig.java
 delete mode 100644 dbrepo-identifier-service/services/src/main/java/at/tuwien/config/OpenSearchConfig.java
 delete mode 100644 dbrepo-identifier-service/services/src/main/java/at/tuwien/config/TemplateConfig.java
 delete mode 100644 dbrepo-identifier-service/services/src/main/java/at/tuwien/config/WebSecurityConfig.java
 delete mode 100644 dbrepo-identifier-service/services/src/main/java/at/tuwien/exception/AccessDeniedException.java
 delete mode 100644 dbrepo-identifier-service/services/src/main/java/at/tuwien/exception/DatabaseNotFoundException.java
 delete mode 100644 dbrepo-identifier-service/services/src/main/java/at/tuwien/exception/DoiNotFoundException.java
 delete mode 100644 dbrepo-identifier-service/services/src/main/java/at/tuwien/exception/IdentifierAlreadyExistsException.java
 delete mode 100644 dbrepo-identifier-service/services/src/main/java/at/tuwien/exception/IdentifierAlreadyPublishedException.java
 delete mode 100644 dbrepo-identifier-service/services/src/main/java/at/tuwien/exception/IdentifierNotFoundException.java
 delete mode 100644 dbrepo-identifier-service/services/src/main/java/at/tuwien/exception/IdentifierPublishingNotAllowedException.java
 delete mode 100644 dbrepo-identifier-service/services/src/main/java/at/tuwien/exception/IdentifierRequestException.java
 delete mode 100644 dbrepo-identifier-service/services/src/main/java/at/tuwien/exception/IdentifierUpdateBadFormException.java
 delete mode 100644 dbrepo-identifier-service/services/src/main/java/at/tuwien/exception/NotAllowedException.java
 delete mode 100644 dbrepo-identifier-service/services/src/main/java/at/tuwien/exception/OrcidNotFoundException.java
 delete mode 100644 dbrepo-identifier-service/services/src/main/java/at/tuwien/exception/QueryNotFoundException.java
 delete mode 100644 dbrepo-identifier-service/services/src/main/java/at/tuwien/exception/RemoteUnavailableException.java
 delete mode 100644 dbrepo-identifier-service/services/src/main/java/at/tuwien/exception/RorNotFoundException.java
 delete mode 100644 dbrepo-identifier-service/services/src/main/java/at/tuwien/exception/UserNotFoundException.java
 delete mode 100644 dbrepo-identifier-service/services/src/main/java/at/tuwien/exception/ViewNotFoundException.java
 delete mode 100644 dbrepo-identifier-service/services/src/main/java/at/tuwien/gateway/ApiTemplateInterceptor.java
 delete mode 100644 dbrepo-identifier-service/services/src/main/java/at/tuwien/gateway/CrossrefGateway.java
 delete mode 100644 dbrepo-identifier-service/services/src/main/java/at/tuwien/gateway/OrcidGateway.java
 delete mode 100644 dbrepo-identifier-service/services/src/main/java/at/tuwien/gateway/QueryServiceGateway.java
 delete mode 100644 dbrepo-identifier-service/services/src/main/java/at/tuwien/gateway/RorGateway.java
 delete mode 100644 dbrepo-identifier-service/services/src/main/java/at/tuwien/gateway/impl/ApiTemplateInterceptorImpl.java
 delete mode 100644 dbrepo-identifier-service/services/src/main/java/at/tuwien/gateway/impl/CrossrefGatewayImpl.java
 delete mode 100644 dbrepo-identifier-service/services/src/main/java/at/tuwien/gateway/impl/OrcidGatewayImpl.java
 delete mode 100644 dbrepo-identifier-service/services/src/main/java/at/tuwien/gateway/impl/QueryServiceGatewayImpl.java
 delete mode 100644 dbrepo-identifier-service/services/src/main/java/at/tuwien/gateway/impl/RorGatewayImpl.java
 delete mode 100644 dbrepo-identifier-service/services/src/main/java/at/tuwien/mapper/DataCiteMapper.java
 delete mode 100644 dbrepo-identifier-service/services/src/main/java/at/tuwien/mapper/DocumentMapper.java
 delete mode 100644 dbrepo-identifier-service/services/src/main/java/at/tuwien/mapper/ExternalMapper.java
 delete mode 100644 dbrepo-identifier-service/services/src/main/java/at/tuwien/mapper/IdentifierMapper.java
 delete mode 100644 dbrepo-identifier-service/services/src/main/java/at/tuwien/mapper/UserMapper.java
 delete mode 100644 dbrepo-identifier-service/services/src/main/java/at/tuwien/repository/mdb/AccessRepository.java
 delete mode 100644 dbrepo-identifier-service/services/src/main/java/at/tuwien/repository/mdb/ContainerRepository.java
 delete mode 100644 dbrepo-identifier-service/services/src/main/java/at/tuwien/repository/mdb/CreatorRepository.java
 delete mode 100644 dbrepo-identifier-service/services/src/main/java/at/tuwien/repository/mdb/DatabaseRepository.java
 delete mode 100644 dbrepo-identifier-service/services/src/main/java/at/tuwien/repository/mdb/IdentifierDescriptionRepository.java
 delete mode 100644 dbrepo-identifier-service/services/src/main/java/at/tuwien/repository/mdb/IdentifierRepository.java
 delete mode 100644 dbrepo-identifier-service/services/src/main/java/at/tuwien/repository/mdb/IdentifierTitleRepository.java
 delete mode 100644 dbrepo-identifier-service/services/src/main/java/at/tuwien/repository/mdb/ImageRepository.java
 delete mode 100644 dbrepo-identifier-service/services/src/main/java/at/tuwien/repository/mdb/LicenseRepository.java
 delete mode 100644 dbrepo-identifier-service/services/src/main/java/at/tuwien/repository/mdb/RealmRepository.java
 delete mode 100644 dbrepo-identifier-service/services/src/main/java/at/tuwien/repository/mdb/TableRepository.java
 delete mode 100644 dbrepo-identifier-service/services/src/main/java/at/tuwien/repository/mdb/UserRepository.java
 delete mode 100644 dbrepo-identifier-service/services/src/main/java/at/tuwien/repository/mdb/ViewRepository.java
 delete mode 100644 dbrepo-identifier-service/services/src/main/java/at/tuwien/repository/sdb/IdentifierIdxRepository.java
 delete mode 100644 dbrepo-identifier-service/services/src/main/java/at/tuwien/service/AccessService.java
 delete mode 100644 dbrepo-identifier-service/services/src/main/java/at/tuwien/service/DatabaseService.java
 delete mode 100644 dbrepo-identifier-service/services/src/main/java/at/tuwien/service/IdentifierService.java
 delete mode 100644 dbrepo-identifier-service/services/src/main/java/at/tuwien/service/MetadataService.java
 delete mode 100644 dbrepo-identifier-service/services/src/main/java/at/tuwien/service/UserService.java
 delete mode 100644 dbrepo-identifier-service/services/src/main/java/at/tuwien/service/ViewService.java
 delete mode 100644 dbrepo-identifier-service/services/src/main/java/at/tuwien/service/impl/AccessServiceImpl.java
 delete mode 100644 dbrepo-identifier-service/services/src/main/java/at/tuwien/service/impl/DataCiteIdentifierServiceImpl.java
 delete mode 100644 dbrepo-identifier-service/services/src/main/java/at/tuwien/service/impl/DatabaseServiceImpl.java
 delete mode 100644 dbrepo-identifier-service/services/src/main/java/at/tuwien/service/impl/IdentifierServiceImpl.java
 delete mode 100644 dbrepo-identifier-service/services/src/main/java/at/tuwien/service/impl/MetadataServiceImpl.java
 delete mode 100644 dbrepo-identifier-service/services/src/main/java/at/tuwien/service/impl/UserServiceImpl.java
 delete mode 100644 dbrepo-identifier-service/services/src/main/java/at/tuwien/service/impl/ViewServiceImpl.java
 delete mode 100644 dbrepo-identifier-service/services/src/main/java/at/tuwien/utils/EnumToStringConverter.java
 delete mode 100644 dbrepo-identifier-service/~
 delete mode 100644 dbrepo-metadata-db/pom.xml
 delete mode 100644 dbrepo-semantics-service/.gitignore
 delete mode 100644 dbrepo-semantics-service/.mvn/wrapper/MavenWrapperDownloader.java
 delete mode 100644 dbrepo-semantics-service/.mvn/wrapper/maven-wrapper.jar
 delete mode 100644 dbrepo-semantics-service/.mvn/wrapper/maven-wrapper.properties
 delete mode 100644 dbrepo-semantics-service/Dockerfile
 delete mode 100644 dbrepo-semantics-service/README.md
 delete mode 100755 dbrepo-semantics-service/mvnw
 delete mode 100644 dbrepo-semantics-service/mvnw.cmd
 delete mode 100644 dbrepo-semantics-service/pom.xml
 delete mode 100644 dbrepo-semantics-service/report/pom.xml
 delete mode 100644 dbrepo-semantics-service/rest-service/pom.xml
 delete mode 100644 dbrepo-semantics-service/rest-service/src/main/java/at/tuwien/DbrepoSemanticsServiceApplication.java
 delete mode 100644 dbrepo-semantics-service/rest-service/src/main/java/at/tuwien/config/SwaggerConfig.java
 delete mode 100644 dbrepo-semantics-service/rest-service/src/main/java/at/tuwien/endpoints/OntologyEndpoint.java
 delete mode 100644 dbrepo-semantics-service/rest-service/src/main/java/at/tuwien/endpoints/QueryEndpoint.java
 delete mode 100644 dbrepo-semantics-service/rest-service/src/main/java/at/tuwien/endpoints/SemanticsEndpoint.java
 delete mode 100644 dbrepo-semantics-service/rest-service/src/main/java/at/tuwien/endpoints/TableEndpoint.java
 delete mode 100644 dbrepo-semantics-service/rest-service/src/main/java/at/tuwien/handlers/ApiExceptionHandler.java
 delete mode 100644 dbrepo-semantics-service/rest-service/src/main/resources/application-local.yml
 delete mode 100644 dbrepo-semantics-service/rest-service/src/main/resources/application.yml
 delete mode 100644 dbrepo-semantics-service/rest-service/src/main/resources/config.properties
 delete mode 100644 dbrepo-semantics-service/rest-service/src/main/resources/mariadb_hibernate.cfg.xml
 delete mode 100644 dbrepo-semantics-service/rest-service/src/test/java/at/tuwien/BaseUnitTest.java
 delete mode 100644 dbrepo-semantics-service/rest-service/src/test/java/at/tuwien/endpoint/ActuatorComponentTest.java
 delete mode 100644 dbrepo-semantics-service/rest-service/src/test/java/at/tuwien/endpoint/OntologyEndpointUnitTest.java
 delete mode 100644 dbrepo-semantics-service/rest-service/src/test/java/at/tuwien/endpoint/QueryEndpointUnitTest.java
 delete mode 100644 dbrepo-semantics-service/rest-service/src/test/java/at/tuwien/endpoint/SemanticsEndpointUnitTest.java
 delete mode 100644 dbrepo-semantics-service/rest-service/src/test/java/at/tuwien/endpoint/SwaggerComponentTest.java
 delete mode 100644 dbrepo-semantics-service/rest-service/src/test/java/at/tuwien/endpoint/TableEndpointUnitTest.java
 delete mode 100644 dbrepo-semantics-service/rest-service/src/test/java/at/tuwien/service/OntologyServiceIntegrationTest.java
 delete mode 100644 dbrepo-semantics-service/rest-service/src/test/java/at/tuwien/service/QueryServiceIntegrationTest.java
 delete mode 100644 dbrepo-semantics-service/rest-service/src/test/java/at/tuwien/service/SemanticServiceUnitTest.java
 delete mode 100644 dbrepo-semantics-service/rest-service/src/test/java/at/tuwien/service/TableServiceIntegrationTest.java
 delete mode 100644 dbrepo-semantics-service/rest-service/src/test/java/at/tuwien/service/TableServiceUnitTest.java
 delete mode 100644 dbrepo-semantics-service/rest-service/src/test/resources/application.properties
 delete mode 100644 dbrepo-semantics-service/rest-service/src/test/resources/init/schema.sql
 delete mode 100644 dbrepo-semantics-service/rest-service/src/test/resources/species/Species.sql
 delete mode 100644 dbrepo-semantics-service/rest-service/src/test/resources/traffic/TrafficCh.sql
 delete mode 100644 dbrepo-semantics-service/rest-service/src/test/resources/weather/WeatherAus.sql
 delete mode 100644 dbrepo-semantics-service/services/pom.xml
 delete mode 100644 dbrepo-semantics-service/services/src/main/java/at/tuwien/auth/AuthTokenFilter.java
 delete mode 100644 dbrepo-semantics-service/services/src/main/java/at/tuwien/config/GatewayConfig.java
 delete mode 100644 dbrepo-semantics-service/services/src/main/java/at/tuwien/config/JacksonConfig.java
 delete mode 100644 dbrepo-semantics-service/services/src/main/java/at/tuwien/config/OpenSearchConfig.java
 delete mode 100644 dbrepo-semantics-service/services/src/main/java/at/tuwien/config/WebSecurityConfig.java
 delete mode 100644 dbrepo-semantics-service/services/src/main/java/at/tuwien/exception/FilterBadRequestException.java
 delete mode 100644 dbrepo-semantics-service/services/src/main/java/at/tuwien/exception/OntologyNotFoundException.java
 delete mode 100644 dbrepo-semantics-service/services/src/main/java/at/tuwien/exception/QueryMalformedException.java
 delete mode 100644 dbrepo-semantics-service/services/src/main/java/at/tuwien/exception/TableColumnNotFoundException.java
 delete mode 100644 dbrepo-semantics-service/services/src/main/java/at/tuwien/exception/TableNotFoundException.java
 delete mode 100644 dbrepo-semantics-service/services/src/main/java/at/tuwien/exception/UriMalformedException.java
 delete mode 100644 dbrepo-semantics-service/services/src/main/java/at/tuwien/exception/UserNotFoundException.java
 delete mode 100644 dbrepo-semantics-service/services/src/main/java/at/tuwien/mapper/OntologyMapper.java
 delete mode 100644 dbrepo-semantics-service/services/src/main/java/at/tuwien/mapper/SemanticMapper.java
 delete mode 100644 dbrepo-semantics-service/services/src/main/java/at/tuwien/mapper/TableMapper.java
 delete mode 100644 dbrepo-semantics-service/services/src/main/java/at/tuwien/repository/mdb/ContainerRepository.java
 delete mode 100644 dbrepo-semantics-service/services/src/main/java/at/tuwien/repository/mdb/DatabaseRepository.java
 delete mode 100644 dbrepo-semantics-service/services/src/main/java/at/tuwien/repository/mdb/ImageRepository.java
 delete mode 100644 dbrepo-semantics-service/services/src/main/java/at/tuwien/repository/mdb/OntologyRepository.java
 delete mode 100644 dbrepo-semantics-service/services/src/main/java/at/tuwien/repository/mdb/RealmRepository.java
 delete mode 100644 dbrepo-semantics-service/services/src/main/java/at/tuwien/repository/mdb/TableColumnConceptRepository.java
 delete mode 100644 dbrepo-semantics-service/services/src/main/java/at/tuwien/repository/mdb/TableColumnRepository.java
 delete mode 100644 dbrepo-semantics-service/services/src/main/java/at/tuwien/repository/mdb/TableColumnUnitRepository.java
 delete mode 100644 dbrepo-semantics-service/services/src/main/java/at/tuwien/repository/mdb/TableRepository.java
 delete mode 100644 dbrepo-semantics-service/services/src/main/java/at/tuwien/repository/mdb/UserRepository.java
 delete mode 100644 dbrepo-semantics-service/services/src/main/java/at/tuwien/repository/sdb/ConceptIdxRepository.java
 delete mode 100644 dbrepo-semantics-service/services/src/main/java/at/tuwien/repository/sdb/UnitIdxRepository.java
 delete mode 100644 dbrepo-semantics-service/services/src/main/java/at/tuwien/service/OntologyService.java
 delete mode 100644 dbrepo-semantics-service/services/src/main/java/at/tuwien/service/QueryService.java
 delete mode 100644 dbrepo-semantics-service/services/src/main/java/at/tuwien/service/SemanticService.java
 delete mode 100644 dbrepo-semantics-service/services/src/main/java/at/tuwien/service/TableService.java
 delete mode 100644 dbrepo-semantics-service/services/src/main/java/at/tuwien/service/UserService.java
 delete mode 100644 dbrepo-semantics-service/services/src/main/java/at/tuwien/service/impl/OntologyServiceImpl.java
 delete mode 100644 dbrepo-semantics-service/services/src/main/java/at/tuwien/service/impl/QueryServiceImpl.java
 delete mode 100644 dbrepo-semantics-service/services/src/main/java/at/tuwien/service/impl/SemanticServiceImpl.java
 delete mode 100644 dbrepo-semantics-service/services/src/main/java/at/tuwien/service/impl/TableServiceImpl.java
 delete mode 100644 dbrepo-semantics-service/services/src/main/java/at/tuwien/service/impl/UserServiceImpl.java
 delete mode 100644 dbrepo-user-service/.gitignore
 delete mode 100644 dbrepo-user-service/Dockerfile
 delete mode 100644 dbrepo-user-service/README.md
 delete mode 100644 dbrepo-user-service/pom.xml
 delete mode 100644 dbrepo-user-service/report/pom.xml
 delete mode 100644 dbrepo-user-service/rest-service/pom.xml
 delete mode 100644 dbrepo-user-service/rest-service/src/main/java/at/tuwien/FdaUserServiceApplication.java
 delete mode 100644 dbrepo-user-service/rest-service/src/main/java/at/tuwien/config/SwaggerConfig.java
 delete mode 100644 dbrepo-user-service/rest-service/src/main/java/at/tuwien/endpoint/MaintenanceEndpoint.java
 delete mode 100644 dbrepo-user-service/rest-service/src/main/java/at/tuwien/endpoint/UserEndpoint.java
 delete mode 100644 dbrepo-user-service/rest-service/src/main/java/at/tuwien/handlers/ApiExceptionHandler.java
 delete mode 100644 dbrepo-user-service/rest-service/src/main/resources/application-local.yml
 delete mode 100644 dbrepo-user-service/rest-service/src/main/resources/application.yml
 delete mode 100644 dbrepo-user-service/rest-service/src/main/resources/config.properties
 delete mode 100644 dbrepo-user-service/rest-service/src/main/resources/mariadb_hibernate.cfg.xml
 delete mode 100644 dbrepo-user-service/rest-service/src/test/java/at/tuwien/BaseUnitTest.java
 delete mode 100644 dbrepo-user-service/rest-service/src/test/java/at/tuwien/endpoint/ActuatorComponentTest.java
 delete mode 100644 dbrepo-user-service/rest-service/src/test/java/at/tuwien/endpoint/MaintenanceEndpointUnitTest.java
 delete mode 100644 dbrepo-user-service/rest-service/src/test/java/at/tuwien/endpoint/SwaggerComponentTest.java
 delete mode 100644 dbrepo-user-service/rest-service/src/test/java/at/tuwien/endpoint/UserEndpointUnitTest.java
 delete mode 100644 dbrepo-user-service/rest-service/src/test/java/at/tuwien/mapper/UserMapperTest.java
 delete mode 100644 dbrepo-user-service/rest-service/src/test/java/at/tuwien/service/BannerMessageServiceIntegrationTest.java
 delete mode 100644 dbrepo-user-service/rest-service/src/test/java/at/tuwien/service/RealmServiceIntegrationTest.java
 delete mode 100644 dbrepo-user-service/rest-service/src/test/java/at/tuwien/service/RoleServiceIntegrationTest.java
 delete mode 100644 dbrepo-user-service/rest-service/src/test/java/at/tuwien/service/UserAttributeServiceIntegrationTest.java
 delete mode 100644 dbrepo-user-service/rest-service/src/test/java/at/tuwien/service/UserServiceIntegrationTest.java
 delete mode 100644 dbrepo-user-service/rest-service/src/test/resources/application.properties
 delete mode 100644 dbrepo-user-service/rest-service/src/test/resources/init/schema.sql
 delete mode 100644 dbrepo-user-service/services/pom.xml
 delete mode 100644 dbrepo-user-service/services/src/main/java/at/tuwien/auth/AuthTokenFilter.java
 delete mode 100644 dbrepo-user-service/services/src/main/java/at/tuwien/config/GatewayConfig.java
 delete mode 100644 dbrepo-user-service/services/src/main/java/at/tuwien/config/JacksonConfig.java
 delete mode 100644 dbrepo-user-service/services/src/main/java/at/tuwien/config/OpenSearchConfig.java
 delete mode 100644 dbrepo-user-service/services/src/main/java/at/tuwien/config/WebSecurityConfig.java
 delete mode 100644 dbrepo-user-service/services/src/main/java/at/tuwien/exception/BannerMessageNotFoundException.java
 delete mode 100644 dbrepo-user-service/services/src/main/java/at/tuwien/exception/ForeignUserException.java
 delete mode 100644 dbrepo-user-service/services/src/main/java/at/tuwien/exception/NotAllowedException.java
 delete mode 100644 dbrepo-user-service/services/src/main/java/at/tuwien/exception/RealmNotFoundException.java
 delete mode 100644 dbrepo-user-service/services/src/main/java/at/tuwien/exception/RemoteUnavailableException.java
 delete mode 100644 dbrepo-user-service/services/src/main/java/at/tuwien/exception/RoleNotFoundException.java
 delete mode 100644 dbrepo-user-service/services/src/main/java/at/tuwien/exception/UserAlreadyExistsException.java
 delete mode 100644 dbrepo-user-service/services/src/main/java/at/tuwien/exception/UserAttributeNotFoundException.java
 delete mode 100644 dbrepo-user-service/services/src/main/java/at/tuwien/exception/UserEmailAlreadyExistsException.java
 delete mode 100644 dbrepo-user-service/services/src/main/java/at/tuwien/exception/UserNotFoundException.java
 delete mode 100644 dbrepo-user-service/services/src/main/java/at/tuwien/mapper/AuthenticationMapper.java
 delete mode 100644 dbrepo-user-service/services/src/main/java/at/tuwien/mapper/BannerMessageMapper.java
 delete mode 100644 dbrepo-user-service/services/src/main/java/at/tuwien/mapper/UserMapper.java
 delete mode 100644 dbrepo-user-service/services/src/main/java/at/tuwien/repository/mdb/BannerMessageRepository.java
 delete mode 100644 dbrepo-user-service/services/src/main/java/at/tuwien/repository/mdb/CredentialRepository.java
 delete mode 100644 dbrepo-user-service/services/src/main/java/at/tuwien/repository/mdb/GroupMembershipRepository.java
 delete mode 100644 dbrepo-user-service/services/src/main/java/at/tuwien/repository/mdb/GroupRepository.java
 delete mode 100644 dbrepo-user-service/services/src/main/java/at/tuwien/repository/mdb/RealmRepository.java
 delete mode 100644 dbrepo-user-service/services/src/main/java/at/tuwien/repository/mdb/RoleMappingRepository.java
 delete mode 100644 dbrepo-user-service/services/src/main/java/at/tuwien/repository/mdb/RoleRepository.java
 delete mode 100644 dbrepo-user-service/services/src/main/java/at/tuwien/repository/mdb/UserAttributeRepository.java
 delete mode 100644 dbrepo-user-service/services/src/main/java/at/tuwien/repository/mdb/UserRepository.java
 delete mode 100644 dbrepo-user-service/services/src/main/java/at/tuwien/repository/sdb/UserIdxRepository.java
 delete mode 100644 dbrepo-user-service/services/src/main/java/at/tuwien/service/BannerMessageService.java
 delete mode 100644 dbrepo-user-service/services/src/main/java/at/tuwien/service/RealmService.java
 delete mode 100644 dbrepo-user-service/services/src/main/java/at/tuwien/service/RoleService.java
 delete mode 100644 dbrepo-user-service/services/src/main/java/at/tuwien/service/UserAttributeService.java
 delete mode 100644 dbrepo-user-service/services/src/main/java/at/tuwien/service/UserService.java
 delete mode 100644 dbrepo-user-service/services/src/main/java/at/tuwien/service/impl/BannerMessageServiceImpl.java
 delete mode 100644 dbrepo-user-service/services/src/main/java/at/tuwien/service/impl/RealmServiceImpl.java
 delete mode 100644 dbrepo-user-service/services/src/main/java/at/tuwien/service/impl/RoleServiceImpl.java
 delete mode 100644 dbrepo-user-service/services/src/main/java/at/tuwien/service/impl/UserAttributeServiceImpl.java
 delete mode 100644 dbrepo-user-service/services/src/main/java/at/tuwien/service/impl/UserServiceImpl.java
 delete mode 100644 dbrepo-user-service/services/src/test/resources/application.properties

diff --git a/dbrepo-identifier-service/.dockerignore b/dbrepo-identifier-service/.dockerignore
deleted file mode 100644
index 3699812198..0000000000
--- a/dbrepo-identifier-service/.dockerignore
+++ /dev/null
@@ -1 +0,0 @@
-**/*.csv
\ No newline at end of file
diff --git a/dbrepo-identifier-service/.gitignore b/dbrepo-identifier-service/.gitignore
deleted file mode 100644
index 648659eaf4..0000000000
--- a/dbrepo-identifier-service/.gitignore
+++ /dev/null
@@ -1,41 +0,0 @@
-HELP.md
-target/
-!.mvn/wrapper/maven-wrapper.jar
-!**/src/main/**/target/
-!**/src/test/**/target/
-
-### Environment ###
-.env
-
-### Generated ###
-ready
-mapping.xml
-rest-service/src/main/java/at/tuwien/userdb/Table.java
-
-### STS ###
-.apt_generated
-.classpath
-.factorypath
-.project
-.settings
-.springBeans
-.sts4-cache
-
-### IntelliJ IDEA ###
-.idea
-*.iws
-*.iml
-*.ipr
-
-### NetBeans ###
-/nbproject/private/
-/nbbuild/
-/dist/
-/nbdist/
-/.nb-gradle/
-build/
-!**/src/main/**/build/
-!**/src/test/**/build/
-
-### VS Code ###
-.vscode/
diff --git a/dbrepo-identifier-service/.mvn/wrapper/MavenWrapperDownloader.java b/dbrepo-identifier-service/.mvn/wrapper/MavenWrapperDownloader.java
deleted file mode 100644
index a45eb6ba26..0000000000
--- a/dbrepo-identifier-service/.mvn/wrapper/MavenWrapperDownloader.java
+++ /dev/null
@@ -1,118 +0,0 @@
-/*
- * Copyright 2007-present the original author or authors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      https://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-import java.net.*;
-import java.io.*;
-import java.nio.channels.*;
-import java.util.Properties;
-
-public class MavenWrapperDownloader {
-
-    private static final String WRAPPER_VERSION = "0.5.6";
-    /**
-     * Default URL to download the maven-wrapper.jar from, if no 'downloadUrl' is provided.
-     */
-    private static final String DEFAULT_DOWNLOAD_URL = "https://repo.maven.apache.org/maven2/io/takari/maven-wrapper/"
-            + WRAPPER_VERSION + "/maven-wrapper-" + WRAPPER_VERSION + ".jar";
-
-    /**
-     * Path to the maven-wrapper.properties file, which might contain a downloadUrl property to
-     * use instead of the default one.
-     */
-    private static final String MAVEN_WRAPPER_PROPERTIES_PATH =
-            ".mvn/wrapper/maven-wrapper.properties";
-
-    /**
-     * Path where the maven-wrapper.jar will be saved to.
-     */
-    private static final String MAVEN_WRAPPER_JAR_PATH =
-            ".mvn/wrapper/maven-wrapper.jar";
-
-    /**
-     * Name of the property which should be used to override the default download url for the wrapper.
-     */
-    private static final String PROPERTY_NAME_WRAPPER_URL = "wrapperUrl";
-
-    public static void main(String args[]) {
-        System.out.println("- Downloader started");
-        File baseDirectory = new File(args[0]);
-        System.out.println("- Using base directory: " + baseDirectory.getAbsolutePath());
-
-        // If the maven-wrapper.properties exists, read it and check if it contains a custom
-        // wrapperUrl parameter.
-        File mavenWrapperPropertyFile = new File(baseDirectory, MAVEN_WRAPPER_PROPERTIES_PATH);
-        String url = DEFAULT_DOWNLOAD_URL;
-        if (mavenWrapperPropertyFile.exists()) {
-            FileInputStream mavenWrapperPropertyFileInputStream = null;
-            try {
-                mavenWrapperPropertyFileInputStream = new FileInputStream(mavenWrapperPropertyFile);
-                Properties mavenWrapperProperties = new Properties();
-                mavenWrapperProperties.load(mavenWrapperPropertyFileInputStream);
-                url = mavenWrapperProperties.getProperty(PROPERTY_NAME_WRAPPER_URL, url);
-            } catch (IOException e) {
-                System.out.println("- ERROR loading '" + MAVEN_WRAPPER_PROPERTIES_PATH + "'");
-            } finally {
-                try {
-                    if (mavenWrapperPropertyFileInputStream != null) {
-                        mavenWrapperPropertyFileInputStream.close();
-                    }
-                } catch (IOException e) {
-                    // Ignore ...
-                }
-            }
-        }
-        System.out.println("- Downloading from: " + url);
-
-        File outputFile = new File(baseDirectory.getAbsolutePath(), MAVEN_WRAPPER_JAR_PATH);
-        if (!outputFile.getParentFile().exists()) {
-            if (!outputFile.getParentFile().mkdirs()) {
-                System.out.println(
-                        "- ERROR creating output directory '" + outputFile.getParentFile().getAbsolutePath() + "'");
-            }
-        }
-        System.out.println("- Downloading to: " + outputFile.getAbsolutePath());
-        try {
-            downloadFileFromURL(url, outputFile);
-            System.out.println("Done");
-            System.exit(0);
-        } catch (Throwable e) {
-            System.out.println("- Error downloading");
-            e.printStackTrace();
-            System.exit(1);
-        }
-    }
-
-    private static void downloadFileFromURL(String urlString, File destination) throws Exception {
-        if (System.getenv("MVNW_USERNAME") != null && System.getenv("MVNW_PASSWORD") != null) {
-            String username = System.getenv("MVNW_USERNAME");
-            char[] password = System.getenv("MVNW_PASSWORD").toCharArray();
-            Authenticator.setDefault(new Authenticator() {
-                @Override
-                protected PasswordAuthentication getPasswordAuthentication() {
-                    return new PasswordAuthentication(username, password);
-                }
-            });
-        }
-        URL website = new URL(urlString);
-        ReadableByteChannel rbc;
-        rbc = Channels.newChannel(website.openStream());
-        FileOutputStream fos = new FileOutputStream(destination);
-        fos.getChannel().transferFrom(rbc, 0, Long.MAX_VALUE);
-        fos.close();
-        rbc.close();
-    }
-
-}
diff --git a/dbrepo-identifier-service/.mvn/wrapper/maven-wrapper.jar b/dbrepo-identifier-service/.mvn/wrapper/maven-wrapper.jar
deleted file mode 100644
index 2cc7d4a55c0cd0092912bf49ae38b3a9e3fd0054..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 50710
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

diff --git a/dbrepo-identifier-service/.mvn/wrapper/maven-wrapper.properties b/dbrepo-identifier-service/.mvn/wrapper/maven-wrapper.properties
deleted file mode 100644
index 642d572ce9..0000000000
--- a/dbrepo-identifier-service/.mvn/wrapper/maven-wrapper.properties
+++ /dev/null
@@ -1,2 +0,0 @@
-distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.6.3/apache-maven-3.6.3-bin.zip
-wrapperUrl=https://repo.maven.apache.org/maven2/io/takari/maven-wrapper/0.5.6/maven-wrapper-0.5.6.jar
diff --git a/dbrepo-identifier-service/Dockerfile b/dbrepo-identifier-service/Dockerfile
deleted file mode 100644
index bc20b4874a..0000000000
--- a/dbrepo-identifier-service/Dockerfile
+++ /dev/null
@@ -1,46 +0,0 @@
-###### FIRST STAGE ######
-FROM dbrepo-metadata-db:latest as dependency
-MAINTAINER Martin Weise <martin.weise@tuwien.ac.at>
-
-###### SECOND STAGE ######
-FROM maven:3-openjdk-17 as build
-MAINTAINER Martin Weise <martin.weise@tuwien.ac.at>
-
-COPY ./pom.xml ./
-
-RUN mvn -fn -B dependency:go-offline > /dev/null
-
-COPY --from=dependency /root/.m2/repository/at/tuwien /root/.m2/repository/at/tuwien
-
-COPY ./api ./api
-COPY ./rest-service ./rest-service
-COPY ./services ./services
-COPY ./report ./report
-
-# Make sure it compiles
-RUN mvn -q clean package -DskipTests
-
-###### THIRD STAGE ######
-FROM openjdk:17-alpine as runtime
-MAINTAINER Martin Weise <martin.weise@tuwien.ac.at>
-
-ENV METADATA_DB=fda
-ENV METADATA_USERNAME=root
-ENV METADATA_PASSWORD=dbrepo
-ENV BROKER_USERNAME=fda
-ENV BROKER_PASSWORD=fda
-ENV GATEWAY_ENDPOINT=http://gateway-service
-ENV WEBSITE=http://localhost
-ENV LOG_LEVEL=debug
-ENV CLIENT_ID="dbrepo-client"
-ENV DBREPO_CLIENT_SECRET="MUwRc7yfXSJwX8AdRMWaQC3Nep1VjwgG"
-ENV JWT_ISSUER="http://localhost/realms/dbrepo"
-ENV JWT_PUBKEY="MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAqqnHQ2BWWW9vDNLRCcxD++xZg/16oqMo/c1l+lcFEjjAIJjJp/HqrPYU/U9GvquGE6PbVFtTzW1KcKawOW+FJNOA3CGo8Q1TFEfz43B8rZpKsFbJKvQGVv1Z4HaKPvLUm7iMm8Hv91cLduuoWx6Q3DPe2vg13GKKEZe7UFghF+0T9u8EKzA/XqQ0OiICmsmYPbwvf9N3bCKsB/Y10EYmZRb8IhCoV9mmO5TxgWgiuNeCTtNCv2ePYqL/U0WvyGFW0reasIK8eg3KrAUj8DpyOgPOVBn3lBGf+3KFSYi+0bwZbJZWqbC/Xlk20Go1YfeJPRIt7ImxD27R/lNjgDO/MwIDAQAB"
-
-WORKDIR /app
-
-COPY --from=build ./rest-service/target/rest-service-*.jar ./identifier-service.jar
-
-EXPOSE 9096
-
-ENTRYPOINT ["java", "-Dlog4j2.formatMsgNoLookups=true",  "-jar", "./identifier-service.jar"]
diff --git a/dbrepo-identifier-service/README.md b/dbrepo-identifier-service/README.md
deleted file mode 100644
index 9f9b6fcdd3..0000000000
--- a/dbrepo-identifier-service/README.md
+++ /dev/null
@@ -1,15 +0,0 @@
-# Identifier Service
-
-## Actuator
-
-- Actuator Info: http://localhost:9096/actuator/info
-- Actuator Health: http://localhost:9096/actuator/health
-- Actuator Prometheus: http://localhost:9096/actuator/prometheus
-
-## Swagger UI Endpoints
-
-- Swagger UI: http://localhost:9096/swagger-ui/index.html
-
-## OpenAPI Endpoints
-
-- OpenAPI v3 as .yaml: http://localhost:9096/v3/api-docs.yaml
\ No newline at end of file
diff --git a/dbrepo-identifier-service/api/pom.xml b/dbrepo-identifier-service/api/pom.xml
deleted file mode 100644
index 01a432603d..0000000000
--- a/dbrepo-identifier-service/api/pom.xml
+++ /dev/null
@@ -1,19 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<project xmlns="http://maven.apache.org/POM/4.0.0"
-         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
-    <modelVersion>4.0.0</modelVersion>
-    <parent>
-        <artifactId>dbrepo-identifier-service</artifactId>
-        <groupId>at.tuwien</groupId>
-        <version>1.3.0</version>
-    </parent>
-
-    <artifactId>api</artifactId>
-    <name>dbrepo-identifier-service-api</name>
-
-    <properties>
-        <jacoco.version>0.8.7</jacoco.version>
-    </properties>
-
-</project>
\ No newline at end of file
diff --git a/dbrepo-identifier-service/api/src/main/java/at/tuwien/ExportResource.java b/dbrepo-identifier-service/api/src/main/java/at/tuwien/ExportResource.java
deleted file mode 100644
index f037fcf89a..0000000000
--- a/dbrepo-identifier-service/api/src/main/java/at/tuwien/ExportResource.java
+++ /dev/null
@@ -1,18 +0,0 @@
-package at.tuwien;
-
-import lombok.*;
-import org.springframework.core.io.InputStreamResource;
-
-@Getter
-@Setter
-@ToString
-@Builder
-@AllArgsConstructor
-@NoArgsConstructor
-public class ExportResource {
-
-    private InputStreamResource resource;
-
-    private String filename;
-
-}
diff --git a/dbrepo-identifier-service/mvnw b/dbrepo-identifier-service/mvnw
deleted file mode 100755
index a16b5431b4..0000000000
--- a/dbrepo-identifier-service/mvnw
+++ /dev/null
@@ -1,310 +0,0 @@
-#!/bin/sh
-# ----------------------------------------------------------------------------
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#    https://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-# ----------------------------------------------------------------------------
-
-# ----------------------------------------------------------------------------
-# Maven Start Up Batch script
-#
-# Required ENV vars:
-# ------------------
-#   JAVA_HOME - location of a JDK home dir
-#
-# Optional ENV vars
-# -----------------
-#   M2_HOME - location of maven2's installed home dir
-#   MAVEN_OPTS - parameters passed to the Java VM when running Maven
-#     e.g. to debug Maven itself, use
-#       set MAVEN_OPTS=-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8000
-#   MAVEN_SKIP_RC - flag to disable loading of mavenrc files
-# ----------------------------------------------------------------------------
-
-if [ -z "$MAVEN_SKIP_RC" ] ; then
-
-  if [ -f /etc/mavenrc ] ; then
-    . /etc/mavenrc
-  fi
-
-  if [ -f "$HOME/.mavenrc" ] ; then
-    . "$HOME/.mavenrc"
-  fi
-
-fi
-
-# OS specific support.  $var _must_ be set to either true or false.
-cygwin=false;
-darwin=false;
-mingw=false
-case "`uname`" in
-  CYGWIN*) cygwin=true ;;
-  MINGW*) mingw=true;;
-  Darwin*) darwin=true
-    # Use /usr/libexec/java_home if available, otherwise fall back to /Library/Java/Home
-    # See https://developer.apple.com/library/mac/qa/qa1170/_index.html
-    if [ -z "$JAVA_HOME" ]; then
-      if [ -x "/usr/libexec/java_home" ]; then
-        export JAVA_HOME="`/usr/libexec/java_home`"
-      else
-        export JAVA_HOME="/Library/Java/Home"
-      fi
-    fi
-    ;;
-esac
-
-if [ -z "$JAVA_HOME" ] ; then
-  if [ -r /etc/gentoo-release ] ; then
-    JAVA_HOME=`java-config --jre-home`
-  fi
-fi
-
-if [ -z "$M2_HOME" ] ; then
-  ## resolve links - $0 may be a link to maven's home
-  PRG="$0"
-
-  # need this for relative symlinks
-  while [ -h "$PRG" ] ; do
-    ls=`ls -ld "$PRG"`
-    link=`expr "$ls" : '.*-> \(.*\)$'`
-    if expr "$link" : '/.*' > /dev/null; then
-      PRG="$link"
-    else
-      PRG="`dirname "$PRG"`/$link"
-    fi
-  done
-
-  saveddir=`pwd`
-
-  M2_HOME=`dirname "$PRG"`/..
-
-  # make it fully qualified
-  M2_HOME=`cd "$M2_HOME" && pwd`
-
-  cd "$saveddir"
-  # echo Using m2 at $M2_HOME
-fi
-
-# For Cygwin, ensure paths are in UNIX format before anything is touched
-if $cygwin ; then
-  [ -n "$M2_HOME" ] &&
-    M2_HOME=`cygpath --unix "$M2_HOME"`
-  [ -n "$JAVA_HOME" ] &&
-    JAVA_HOME=`cygpath --unix "$JAVA_HOME"`
-  [ -n "$CLASSPATH" ] &&
-    CLASSPATH=`cygpath --path --unix "$CLASSPATH"`
-fi
-
-# For Mingw, ensure paths are in UNIX format before anything is touched
-if $mingw ; then
-  [ -n "$M2_HOME" ] &&
-    M2_HOME="`(cd "$M2_HOME"; pwd)`"
-  [ -n "$JAVA_HOME" ] &&
-    JAVA_HOME="`(cd "$JAVA_HOME"; pwd)`"
-fi
-
-if [ -z "$JAVA_HOME" ]; then
-  javaExecutable="`which javac`"
-  if [ -n "$javaExecutable" ] && ! [ "`expr \"$javaExecutable\" : '\([^ ]*\)'`" = "no" ]; then
-    # readlink(1) is not available as standard on Solaris 10.
-    readLink=`which readlink`
-    if [ ! `expr "$readLink" : '\([^ ]*\)'` = "no" ]; then
-      if $darwin ; then
-        javaHome="`dirname \"$javaExecutable\"`"
-        javaExecutable="`cd \"$javaHome\" && pwd -P`/javac"
-      else
-        javaExecutable="`readlink -f \"$javaExecutable\"`"
-      fi
-      javaHome="`dirname \"$javaExecutable\"`"
-      javaHome=`expr "$javaHome" : '\(.*\)/bin'`
-      JAVA_HOME="$javaHome"
-      export JAVA_HOME
-    fi
-  fi
-fi
-
-if [ -z "$JAVACMD" ] ; then
-  if [ -n "$JAVA_HOME"  ] ; then
-    if [ -x "$JAVA_HOME/jre/sh/java" ] ; then
-      # IBM's JDK on AIX uses strange locations for the executables
-      JAVACMD="$JAVA_HOME/jre/sh/java"
-    else
-      JAVACMD="$JAVA_HOME/bin/java"
-    fi
-  else
-    JAVACMD="`which java`"
-  fi
-fi
-
-if [ ! -x "$JAVACMD" ] ; then
-  echo "Error: JAVA_HOME is not defined correctly." >&2
-  echo "  We cannot execute $JAVACMD" >&2
-  exit 1
-fi
-
-if [ -z "$JAVA_HOME" ] ; then
-  echo "Warning: JAVA_HOME environment variable is not set."
-fi
-
-CLASSWORLDS_LAUNCHER=org.codehaus.plexus.classworlds.launcher.Launcher
-
-# traverses directory structure from process work directory to filesystem root
-# first directory with .mvn subdirectory is considered project base directory
-find_maven_basedir() {
-
-  if [ -z "$1" ]
-  then
-    echo "Path not specified to find_maven_basedir"
-    return 1
-  fi
-
-  basedir="$1"
-  wdir="$1"
-  while [ "$wdir" != '/' ] ; do
-    if [ -d "$wdir"/.mvn ] ; then
-      basedir=$wdir
-      break
-    fi
-    # workaround for JBEAP-8937 (on Solaris 10/Sparc)
-    if [ -d "${wdir}" ]; then
-      wdir=`cd "$wdir/.."; pwd`
-    fi
-    # end of workaround
-  done
-  echo "${basedir}"
-}
-
-# concatenates all lines of a file
-concat_lines() {
-  if [ -f "$1" ]; then
-    echo "$(tr -s '\n' ' ' < "$1")"
-  fi
-}
-
-BASE_DIR=`find_maven_basedir "$(pwd)"`
-if [ -z "$BASE_DIR" ]; then
-  exit 1;
-fi
-
-##########################################################################################
-# Extension to allow automatically downloading the maven-wrapper.jar from Maven-central
-# This allows using the maven wrapper in projects that prohibit checking in binary data.
-##########################################################################################
-if [ -r "$BASE_DIR/.mvn/wrapper/maven-wrapper.jar" ]; then
-    if [ "$MVNW_VERBOSE" = true ]; then
-      echo "Found .mvn/wrapper/maven-wrapper.jar"
-    fi
-else
-    if [ "$MVNW_VERBOSE" = true ]; then
-      echo "Couldn't find .mvn/wrapper/maven-wrapper.jar, downloading it ..."
-    fi
-    if [ -n "$MVNW_REPOURL" ]; then
-      jarUrl="$MVNW_REPOURL/io/takari/maven-wrapper/0.5.6/maven-wrapper-0.5.6.jar"
-    else
-      jarUrl="https://repo.maven.apache.org/maven2/io/takari/maven-wrapper/0.5.6/maven-wrapper-0.5.6.jar"
-    fi
-    while IFS="=" read key value; do
-      case "$key" in (wrapperUrl) jarUrl="$value"; break ;;
-      esac
-    done < "$BASE_DIR/.mvn/wrapper/maven-wrapper.properties"
-    if [ "$MVNW_VERBOSE" = true ]; then
-      echo "Downloading from: $jarUrl"
-    fi
-    wrapperJarPath="$BASE_DIR/.mvn/wrapper/maven-wrapper.jar"
-    if $cygwin; then
-      wrapperJarPath=`cygpath --path --windows "$wrapperJarPath"`
-    fi
-
-    if command -v wget > /dev/null; then
-        if [ "$MVNW_VERBOSE" = true ]; then
-          echo "Found wget ... using wget"
-        fi
-        if [ -z "$MVNW_USERNAME" ] || [ -z "$MVNW_PASSWORD" ]; then
-            wget "$jarUrl" -O "$wrapperJarPath"
-        else
-            wget --http-user=$MVNW_USERNAME --http-password=$MVNW_PASSWORD "$jarUrl" -O "$wrapperJarPath"
-        fi
-    elif command -v curl > /dev/null; then
-        if [ "$MVNW_VERBOSE" = true ]; then
-          echo "Found curl ... using curl"
-        fi
-        if [ -z "$MVNW_USERNAME" ] || [ -z "$MVNW_PASSWORD" ]; then
-            curl -o "$wrapperJarPath" "$jarUrl" -f
-        else
-            curl --user $MVNW_USERNAME:$MVNW_PASSWORD -o "$wrapperJarPath" "$jarUrl" -f
-        fi
-
-    else
-        if [ "$MVNW_VERBOSE" = true ]; then
-          echo "Falling back to using Java to download"
-        fi
-        javaClass="$BASE_DIR/.mvn/wrapper/MavenWrapperDownloader.java"
-        # For Cygwin, switch paths to Windows format before running javac
-        if $cygwin; then
-          javaClass=`cygpath --path --windows "$javaClass"`
-        fi
-        if [ -e "$javaClass" ]; then
-            if [ ! -e "$BASE_DIR/.mvn/wrapper/MavenWrapperDownloader.class" ]; then
-                if [ "$MVNW_VERBOSE" = true ]; then
-                  echo " - Compiling MavenWrapperDownloader.java ..."
-                fi
-                # Compiling the Java class
-                ("$JAVA_HOME/bin/javac" "$javaClass")
-            fi
-            if [ -e "$BASE_DIR/.mvn/wrapper/MavenWrapperDownloader.class" ]; then
-                # Running the downloader
-                if [ "$MVNW_VERBOSE" = true ]; then
-                  echo " - Running MavenWrapperDownloader.java ..."
-                fi
-                ("$JAVA_HOME/bin/java" -cp .mvn/wrapper MavenWrapperDownloader "$MAVEN_PROJECTBASEDIR")
-            fi
-        fi
-    fi
-fi
-##########################################################################################
-# End of extension
-##########################################################################################
-
-export MAVEN_PROJECTBASEDIR=${MAVEN_BASEDIR:-"$BASE_DIR"}
-if [ "$MVNW_VERBOSE" = true ]; then
-  echo $MAVEN_PROJECTBASEDIR
-fi
-MAVEN_OPTS="$(concat_lines "$MAVEN_PROJECTBASEDIR/.mvn/jvm.config") $MAVEN_OPTS"
-
-# For Cygwin, switch paths to Windows format before running java
-if $cygwin; then
-  [ -n "$M2_HOME" ] &&
-    M2_HOME=`cygpath --path --windows "$M2_HOME"`
-  [ -n "$JAVA_HOME" ] &&
-    JAVA_HOME=`cygpath --path --windows "$JAVA_HOME"`
-  [ -n "$CLASSPATH" ] &&
-    CLASSPATH=`cygpath --path --windows "$CLASSPATH"`
-  [ -n "$MAVEN_PROJECTBASEDIR" ] &&
-    MAVEN_PROJECTBASEDIR=`cygpath --path --windows "$MAVEN_PROJECTBASEDIR"`
-fi
-
-# Provide a "standardized" way to retrieve the CLI args that will
-# work with both Windows and non-Windows executions.
-MAVEN_CMD_LINE_ARGS="$MAVEN_CONFIG $@"
-export MAVEN_CMD_LINE_ARGS
-
-WRAPPER_LAUNCHER=org.apache.maven.wrapper.MavenWrapperMain
-
-exec "$JAVACMD" \
-  $MAVEN_OPTS \
-  -classpath "$MAVEN_PROJECTBASEDIR/.mvn/wrapper/maven-wrapper.jar" \
-  "-Dmaven.home=${M2_HOME}" "-Dmaven.multiModuleProjectDirectory=${MAVEN_PROJECTBASEDIR}" \
-  ${WRAPPER_LAUNCHER} $MAVEN_CONFIG "$@"
diff --git a/dbrepo-identifier-service/mvnw.cmd b/dbrepo-identifier-service/mvnw.cmd
deleted file mode 100644
index c8d43372c9..0000000000
--- a/dbrepo-identifier-service/mvnw.cmd
+++ /dev/null
@@ -1,182 +0,0 @@
-@REM ----------------------------------------------------------------------------
-@REM Licensed to the Apache Software Foundation (ASF) under one
-@REM or more contributor license agreements.  See the NOTICE file
-@REM distributed with this work for additional information
-@REM regarding copyright ownership.  The ASF licenses this file
-@REM to you under the Apache License, Version 2.0 (the
-@REM "License"); you may not use this file except in compliance
-@REM with the License.  You may obtain a copy of the License at
-@REM
-@REM    https://www.apache.org/licenses/LICENSE-2.0
-@REM
-@REM Unless required by applicable law or agreed to in writing,
-@REM software distributed under the License is distributed on an
-@REM "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-@REM KIND, either express or implied.  See the License for the
-@REM specific language governing permissions and limitations
-@REM under the License.
-@REM ----------------------------------------------------------------------------
-
-@REM ----------------------------------------------------------------------------
-@REM Maven Start Up Batch script
-@REM
-@REM Required ENV vars:
-@REM JAVA_HOME - location of a JDK home dir
-@REM
-@REM Optional ENV vars
-@REM M2_HOME - location of maven2's installed home dir
-@REM MAVEN_BATCH_ECHO - set to 'on' to enable the echoing of the batch commands
-@REM MAVEN_BATCH_PAUSE - set to 'on' to wait for a keystroke before ending
-@REM MAVEN_OPTS - parameters passed to the Java VM when running Maven
-@REM     e.g. to debug Maven itself, use
-@REM set MAVEN_OPTS=-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8000
-@REM MAVEN_SKIP_RC - flag to disable loading of mavenrc files
-@REM ----------------------------------------------------------------------------
-
-@REM Begin all REM lines with '@' in case MAVEN_BATCH_ECHO is 'on'
-@echo off
-@REM set title of command window
-title %0
-@REM enable echoing by setting MAVEN_BATCH_ECHO to 'on'
-@if "%MAVEN_BATCH_ECHO%" == "on"  echo %MAVEN_BATCH_ECHO%
-
-@REM set %HOME% to equivalent of $HOME
-if "%HOME%" == "" (set "HOME=%HOMEDRIVE%%HOMEPATH%")
-
-@REM Execute a user defined script before this one
-if not "%MAVEN_SKIP_RC%" == "" goto skipRcPre
-@REM check for pre script, once with legacy .bat ending and once with .cmd ending
-if exist "%HOME%\mavenrc_pre.bat" call "%HOME%\mavenrc_pre.bat"
-if exist "%HOME%\mavenrc_pre.cmd" call "%HOME%\mavenrc_pre.cmd"
-:skipRcPre
-
-@setlocal
-
-set ERROR_CODE=0
-
-@REM To isolate internal variables from possible post scripts, we use another setlocal
-@setlocal
-
-@REM ==== START VALIDATION ====
-if not "%JAVA_HOME%" == "" goto OkJHome
-
-echo.
-echo Error: JAVA_HOME not found in your environment. >&2
-echo Please set the JAVA_HOME variable in your environment to match the >&2
-echo location of your Java installation. >&2
-echo.
-goto error
-
-:OkJHome
-if exist "%JAVA_HOME%\bin\java.exe" goto init
-
-echo.
-echo Error: JAVA_HOME is set to an invalid directory. >&2
-echo JAVA_HOME = "%JAVA_HOME%" >&2
-echo Please set the JAVA_HOME variable in your environment to match the >&2
-echo location of your Java installation. >&2
-echo.
-goto error
-
-@REM ==== END VALIDATION ====
-
-:init
-
-@REM Find the project base dir, i.e. the directory that contains the folder ".mvn".
-@REM Fallback to current working directory if not found.
-
-set MAVEN_PROJECTBASEDIR=%MAVEN_BASEDIR%
-IF NOT "%MAVEN_PROJECTBASEDIR%"=="" goto endDetectBaseDir
-
-set EXEC_DIR=%CD%
-set WDIR=%EXEC_DIR%
-:findBaseDir
-IF EXIST "%WDIR%"\.mvn goto baseDirFound
-cd ..
-IF "%WDIR%"=="%CD%" goto baseDirNotFound
-set WDIR=%CD%
-goto findBaseDir
-
-:baseDirFound
-set MAVEN_PROJECTBASEDIR=%WDIR%
-cd "%EXEC_DIR%"
-goto endDetectBaseDir
-
-:baseDirNotFound
-set MAVEN_PROJECTBASEDIR=%EXEC_DIR%
-cd "%EXEC_DIR%"
-
-:endDetectBaseDir
-
-IF NOT EXIST "%MAVEN_PROJECTBASEDIR%\.mvn\jvm.config" goto endReadAdditionalConfig
-
-@setlocal EnableExtensions EnableDelayedExpansion
-for /F "usebackq delims=" %%a in ("%MAVEN_PROJECTBASEDIR%\.mvn\jvm.config") do set JVM_CONFIG_MAVEN_PROPS=!JVM_CONFIG_MAVEN_PROPS! %%a
-@endlocal & set JVM_CONFIG_MAVEN_PROPS=%JVM_CONFIG_MAVEN_PROPS%
-
-:endReadAdditionalConfig
-
-SET MAVEN_JAVA_EXE="%JAVA_HOME%\bin\java.exe"
-set WRAPPER_JAR="%MAVEN_PROJECTBASEDIR%\.mvn\wrapper\maven-wrapper.jar"
-set WRAPPER_LAUNCHER=org.apache.maven.wrapper.MavenWrapperMain
-
-set DOWNLOAD_URL="https://repo.maven.apache.org/maven2/io/takari/maven-wrapper/0.5.6/maven-wrapper-0.5.6.jar"
-
-FOR /F "tokens=1,2 delims==" %%A IN ("%MAVEN_PROJECTBASEDIR%\.mvn\wrapper\maven-wrapper.properties") DO (
-    IF "%%A"=="wrapperUrl" SET DOWNLOAD_URL=%%B
-)
-
-@REM Extension to allow automatically downloading the maven-wrapper.jar from Maven-central
-@REM This allows using the maven wrapper in projects that prohibit checking in binary data.
-if exist %WRAPPER_JAR% (
-    if "%MVNW_VERBOSE%" == "true" (
-        echo Found %WRAPPER_JAR%
-    )
-) else (
-    if not "%MVNW_REPOURL%" == "" (
-        SET DOWNLOAD_URL="%MVNW_REPOURL%/io/takari/maven-wrapper/0.5.6/maven-wrapper-0.5.6.jar"
-    )
-    if "%MVNW_VERBOSE%" == "true" (
-        echo Couldn't find %WRAPPER_JAR%, downloading it ...
-        echo Downloading from: %DOWNLOAD_URL%
-    )
-
-    powershell -Command "&{"^
-		"$webclient = new-object System.Net.WebClient;"^
-		"if (-not ([string]::IsNullOrEmpty('%MVNW_USERNAME%') -and [string]::IsNullOrEmpty('%MVNW_PASSWORD%'))) {"^
-		"$webclient.Credentials = new-object System.Net.NetworkCredential('%MVNW_USERNAME%', '%MVNW_PASSWORD%');"^
-		"}"^
-		"[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12; $webclient.DownloadFile('%DOWNLOAD_URL%', '%WRAPPER_JAR%')"^
-		"}"
-    if "%MVNW_VERBOSE%" == "true" (
-        echo Finished downloading %WRAPPER_JAR%
-    )
-)
-@REM End of extension
-
-@REM Provide a "standardized" way to retrieve the CLI args that will
-@REM work with both Windows and non-Windows executions.
-set MAVEN_CMD_LINE_ARGS=%*
-
-%MAVEN_JAVA_EXE% %JVM_CONFIG_MAVEN_PROPS% %MAVEN_OPTS% %MAVEN_DEBUG_OPTS% -classpath %WRAPPER_JAR% "-Dmaven.multiModuleProjectDirectory=%MAVEN_PROJECTBASEDIR%" %WRAPPER_LAUNCHER% %MAVEN_CONFIG% %*
-if ERRORLEVEL 1 goto error
-goto end
-
-:error
-set ERROR_CODE=1
-
-:end
-@endlocal & set ERROR_CODE=%ERROR_CODE%
-
-if not "%MAVEN_SKIP_RC%" == "" goto skipRcPost
-@REM check for post script, once with legacy .bat ending and once with .cmd ending
-if exist "%HOME%\mavenrc_post.bat" call "%HOME%\mavenrc_post.bat"
-if exist "%HOME%\mavenrc_post.cmd" call "%HOME%\mavenrc_post.cmd"
-:skipRcPost
-
-@REM pause the script if MAVEN_BATCH_PAUSE is set to 'on'
-if "%MAVEN_BATCH_PAUSE%" == "on" pause
-
-if "%MAVEN_TERMINATE_CMD%" == "on" exit %ERROR_CODE%
-
-exit /B %ERROR_CODE%
diff --git a/dbrepo-identifier-service/pom.xml b/dbrepo-identifier-service/pom.xml
deleted file mode 100644
index e03d06db1b..0000000000
--- a/dbrepo-identifier-service/pom.xml
+++ /dev/null
@@ -1,282 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
-    <modelVersion>4.0.0</modelVersion>
-    <parent>
-        <groupId>org.springframework.boot</groupId>
-        <artifactId>spring-boot-starter-parent</artifactId>
-        <version>3.0.6</version>
-    </parent>
-
-    <groupId>at.tuwien</groupId>
-    <artifactId>dbrepo-identifier-service</artifactId>
-    <version>1.3.0</version>
-    <name>dbrepo-identifier-service</name>
-    <description>Service that manages the identifiers</description>
-
-    <packaging>pom</packaging>
-    <modules>
-        <module>api</module>
-        <module>rest-service</module>
-        <module>services</module>
-        <module>report</module>
-    </modules>
-
-    <properties>
-        <java.version>17</java.version>
-        <spring-cloud.version>4.0.2</spring-cloud.version>
-        <mapstruct.version>1.5.5.Final</mapstruct.version>
-        <jacoco.version>0.8.10</jacoco.version>
-        <jwt.version>4.3.0</jwt.version>
-        <hibernate-c3po.version>5.6.3.Final</hibernate-c3po.version>
-        <commons-io.version>2.11.0</commons-io.version>
-        <opencsv.version>5.7.1</opencsv.version>
-        <super-csv.version>2.4.0</super-csv.version>
-        <jsql.version>4.6</jsql.version>
-        <springdoc-openapi.version>2.1.0</springdoc-openapi.version>
-        <hsqldb.version>2.7.2</hsqldb.version>
-        <testcontainers.version>1.18.3</testcontainers.version>
-        <opensearch-testcontainer.version>2.0.0</opensearch-testcontainer.version>
-        <opensearch-client.version>1.1.0</opensearch-client.version>
-        <opensearch-rest-client.version>2.8.0</opensearch-rest-client.version>
-        <jackson.version>2.15.2</jackson.version>
-    </properties>
-
-    <dependencies>
-        <dependency>
-            <groupId>org.springframework.boot</groupId>
-            <artifactId>spring-boot-starter-web</artifactId>
-        </dependency>
-        <dependency><!-- https://github.com/spring-projects/spring-boot/wiki/Spring-Boot-2.3-Release-Notes#validation-starter-no-longer-included-in-web-starters -->
-            <groupId>org.springframework.boot</groupId>
-            <artifactId>spring-boot-starter-validation</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>org.springframework.cloud</groupId>
-            <artifactId>spring-cloud-starter-bootstrap</artifactId>
-            <version>${spring-cloud.version}</version>
-        </dependency>
-        <dependency>
-            <groupId>org.springframework.boot</groupId>
-            <artifactId>spring-boot-starter-security</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>org.springframework.boot</groupId>
-            <artifactId>spring-boot-starter-thymeleaf</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>org.springframework.security</groupId>
-            <artifactId>spring-security-test</artifactId>
-            <scope>test</scope>
-        </dependency>
-        <dependency>
-            <groupId>org.springframework.boot</groupId>
-            <artifactId>spring-boot-starter-actuator</artifactId>
-        </dependency>
-        <!-- Authentication -->
-        <dependency>
-            <groupId>com.auth0</groupId>
-            <artifactId>java-jwt</artifactId>
-            <version>${jwt.version}</version>
-        </dependency>
-        <!-- Monitoring -->
-        <dependency>
-            <groupId>io.micrometer</groupId>
-            <artifactId>micrometer-registry-prometheus</artifactId>
-            <scope>runtime</scope>
-        </dependency>
-        <!-- Entities and API -->
-        <dependency>
-            <groupId>at.tuwien</groupId>
-            <artifactId>dbrepo-metadata-db-entites</artifactId>
-            <version>${project.version}</version>
-        </dependency>
-        <dependency>
-            <groupId>at.tuwien</groupId>
-            <artifactId>dbrepo-metadata-db-api</artifactId>
-            <version>${project.version}</version>
-        </dependency>
-        <!-- DataSource -->
-        <dependency>
-            <groupId>org.mariadb.jdbc</groupId>
-            <artifactId>mariadb-java-client</artifactId>
-            <version>${mariadb.version}</version>
-        </dependency>
-        <dependency>
-            <groupId>org.opensearch.client</groupId>
-            <artifactId>spring-data-opensearch</artifactId>
-            <version>${opensearch-client.version}</version>
-        </dependency>
-        <dependency>
-            <groupId>org.opensearch.client</groupId>
-            <artifactId>spring-data-opensearch-starter</artifactId>
-            <version>${opensearch-client.version}</version>
-        </dependency>
-        <!-- OpenSearch -->
-        <dependency>
-            <groupId>com.fasterxml.jackson.core</groupId>
-            <artifactId>jackson-core</artifactId>
-            <version>${jackson.version}</version>
-        </dependency>
-        <dependency>
-            <groupId>com.fasterxml.jackson.core</groupId>
-            <artifactId>jackson-databind</artifactId>
-            <version>${jackson.version}</version>
-        </dependency>
-        <dependency>
-            <groupId>com.fasterxml.jackson.core</groupId>
-            <artifactId>jackson-annotations</artifactId>
-            <version>${jackson.version}</version>
-        </dependency>
-        <dependency>
-            <groupId>org.opensearch.client</groupId>
-            <artifactId>opensearch-rest-high-level-client</artifactId>
-            <version>${opensearch-rest-client.version}</version>
-        </dependency>
-        <dependency>
-            <groupId>org.opensearch.client</groupId>
-            <artifactId>opensearch-rest-client-sniffer</artifactId>
-            <version>${opensearch-rest-client.version}</version>
-        </dependency>
-        <!-- Swagger -->
-        <dependency>
-            <groupId>org.springdoc</groupId>
-            <artifactId>springdoc-openapi-starter-webmvc-ui</artifactId>
-            <version>${springdoc-openapi.version}</version>
-        </dependency>
-        <!-- Open API -->
-        <dependency>
-            <groupId>org.springdoc</groupId>
-            <artifactId>springdoc-openapi-starter-webmvc-api</artifactId>
-            <version>${springdoc-openapi.version}</version>
-        </dependency>
-        <!-- Testing -->
-        <dependency>
-            <groupId>org.opensearch.client</groupId>
-            <artifactId>spring-data-opensearch-test-autoconfigure</artifactId>
-            <version>${opensearch-client.version}</version>
-            <scope>test</scope>
-        </dependency>
-        <dependency>
-            <groupId>org.springframework.boot</groupId>
-            <artifactId>spring-boot-starter-data-jpa</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>org.springframework</groupId>
-            <artifactId>spring-test</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>org.springframework.boot</groupId>
-            <artifactId>spring-boot-starter-test</artifactId>
-            <scope>test</scope>
-            <exclusions>
-                <exclusion>
-                    <groupId>org.junit.jupiter</groupId>
-                    <artifactId>junit-vintage-engine</artifactId>
-                </exclusion>
-                <exclusion>
-                    <groupId>org.junit.vintage</groupId>
-                    <artifactId>junit-vintage-engine</artifactId>
-                </exclusion>
-            </exclusions>
-        </dependency>
-        <dependency>
-            <groupId>com.h2database</groupId>
-            <artifactId>h2</artifactId>
-            <scope>test</scope>
-        </dependency>
-        <dependency>
-            <groupId>org.testcontainers</groupId>
-            <artifactId>junit-jupiter</artifactId>
-            <version>${testcontainers.version}</version>
-            <scope>test</scope>
-        </dependency>
-        <dependency>
-            <groupId>org.opensearch</groupId>
-            <artifactId>opensearch-testcontainers</artifactId>
-            <version>${opensearch-testcontainer.version}</version>
-            <scope>test</scope>
-        </dependency>
-        <dependency>
-            <groupId>org.jacoco</groupId>
-            <artifactId>jacoco-maven-plugin</artifactId>
-            <version>${jacoco.version}</version>
-        </dependency>
-        <dependency>
-            <groupId>at.tuwien</groupId>
-            <artifactId>dbrepo-metadata-db-test</artifactId>
-            <version>${project.version}</version>
-        </dependency>
-        <!-- Export -->
-        <dependency>
-            <groupId>commons-io</groupId>
-            <artifactId>commons-io</artifactId>
-            <version>${commons-io.version}</version>
-        </dependency>
-        <!-- IDE -->
-        <dependency>
-            <groupId>org.projectlombok</groupId>
-            <artifactId>lombok</artifactId>
-        </dependency>
-        <!-- Mapping -->
-        <dependency>
-            <groupId>org.mapstruct</groupId>
-            <artifactId>mapstruct-processor</artifactId>
-            <version>${mapstruct.version}</version>
-            <optional>true</optional><!-- IntelliJ -->
-        </dependency>
-        <dependency>
-            <groupId>org.mapstruct</groupId>
-            <artifactId>mapstruct</artifactId>
-            <version>${mapstruct.version}</version>
-        </dependency>
-    </dependencies>
-
-    <build>
-        <resources>
-            <resource>
-                <directory>${basedir}/src/main/resources</directory>
-                <filtering>true</filtering>
-                <includes>
-                    <include>**/application*.yml</include>
-                    <include>**/templates/*.xml</include>
-                    <include>**/templates/*.txt</include>
-                </includes>
-            </resource>
-        </resources>
-        <plugins>
-            <plugin>
-                <groupId>org.jacoco</groupId>
-                <artifactId>jacoco-maven-plugin</artifactId>
-                <version>${jacoco.version}</version>
-                <configuration>
-                    <excludes>
-                        <exclude>at/tuwien/config/**/*</exclude>
-                        <exclude>at/tuwien/mapper/**/*</exclude>
-                        <exclude>at/tuwien/exception/**/*</exclude>
-                        <exclude>at/tuwien/utils/**/*</exclude>
-                        <exclude>at/tuwien/handlers/**/*</exclude>
-                        <exclude>at/tuwien/auth/**/*</exclude>
-                        <exclude>**/DbrepoIdentifierServiceApplication.class</exclude>
-                    </excludes>
-                </configuration>
-                <executions>
-                    <execution>
-                        <id>default-prepare-agent</id>
-                        <goals>
-                            <goal>prepare-agent</goal>
-                        </goals>
-                    </execution>
-                    <execution>
-                        <id>default-report</id>
-                        <phase>verify</phase>
-                        <goals>
-                            <goal>report</goal>
-                        </goals>
-                    </execution>
-                </executions>
-            </plugin>
-        </plugins>
-    </build>
-
-</project>
diff --git a/dbrepo-identifier-service/report/pom.xml b/dbrepo-identifier-service/report/pom.xml
deleted file mode 100644
index 3fafe6f604..0000000000
--- a/dbrepo-identifier-service/report/pom.xml
+++ /dev/null
@@ -1,51 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<project xmlns="http://maven.apache.org/POM/4.0.0"
-         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
-    <modelVersion>4.0.0</modelVersion>
-    <parent>
-        <artifactId>dbrepo-identifier-service</artifactId>
-        <groupId>at.tuwien</groupId>
-        <version>1.3.0</version>
-    </parent>
-
-    <artifactId>report</artifactId>
-    <name>dbrepo-identifier-service-report</name>
-
-    <properties>
-        <jacoco.version>0.8.7</jacoco.version>
-    </properties>
-
-    <dependencies>
-        <dependency>
-            <groupId>at.tuwien</groupId>
-            <artifactId>rest-service</artifactId>
-            <version>${project.version}</version>
-        </dependency>
-        <dependency>
-            <groupId>at.tuwien</groupId>
-            <artifactId>services</artifactId>
-            <version>${project.version}</version>
-        </dependency>
-    </dependencies>
-
-    <build>
-        <plugins>
-            <plugin>
-                <groupId>org.jacoco</groupId>
-                <artifactId>jacoco-maven-plugin</artifactId>
-                <version>${jacoco.version}</version>
-                <executions>
-                    <execution>
-                        <id>report-aggregate</id>
-                        <phase>verify</phase>
-                        <goals>
-                            <goal>report-aggregate</goal>
-                        </goals>
-                    </execution>
-                </executions>
-            </plugin>
-        </plugins>
-    </build>
-
-</project>
\ No newline at end of file
diff --git a/dbrepo-identifier-service/rest-service/pom.xml b/dbrepo-identifier-service/rest-service/pom.xml
deleted file mode 100644
index 89ed56a1ca..0000000000
--- a/dbrepo-identifier-service/rest-service/pom.xml
+++ /dev/null
@@ -1,40 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<project xmlns="http://maven.apache.org/POM/4.0.0"
-         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
-    <modelVersion>4.0.0</modelVersion>
-    <parent>
-        <artifactId>dbrepo-identifier-service</artifactId>
-        <groupId>at.tuwien</groupId>
-        <version>1.3.0</version>
-    </parent>
-
-    <artifactId>rest-service</artifactId>
-    <version>1.3.0</version>
-    <name>dbrepo-identifier-service-rest</name>
-
-    <dependencies>
-        <dependency>
-            <groupId>at.tuwien</groupId>
-            <artifactId>services</artifactId>
-            <version>${project.version}</version>
-        </dependency>
-    </dependencies>
-
-    <build>
-        <plugins>
-            <plugin>
-                <groupId>org.springframework.boot</groupId>
-                <artifactId>spring-boot-maven-plugin</artifactId>
-                <executions>
-                    <execution>
-                        <goals>
-                            <goal>repackage</goal><!-- to make it exuteable with $ java -jar ./app.jar -->
-                        </goals>
-                    </execution>
-                </executions>
-            </plugin>
-        </plugins>
-    </build>
-
-</project>
\ No newline at end of file
diff --git a/dbrepo-identifier-service/rest-service/src/main/java/at/tuwien/DbrepoIdentifierServiceApplication.java b/dbrepo-identifier-service/rest-service/src/main/java/at/tuwien/DbrepoIdentifierServiceApplication.java
deleted file mode 100644
index 6470353fa5..0000000000
--- a/dbrepo-identifier-service/rest-service/src/main/java/at/tuwien/DbrepoIdentifierServiceApplication.java
+++ /dev/null
@@ -1,25 +0,0 @@
-package at.tuwien;
-
-import org.springframework.boot.SpringApplication;
-import org.springframework.boot.autoconfigure.SpringBootApplication;
-import org.springframework.boot.autoconfigure.data.elasticsearch.ElasticsearchDataAutoConfiguration;
-import org.springframework.boot.autoconfigure.domain.EntityScan;
-import org.springframework.boot.autoconfigure.elasticsearch.ElasticsearchRestClientAutoConfiguration;
-import org.springframework.data.elasticsearch.repository.config.EnableElasticsearchRepositories;
-import org.springframework.data.jpa.repository.config.EnableJpaAuditing;
-import org.springframework.data.jpa.repository.config.EnableJpaRepositories;
-import org.springframework.transaction.annotation.EnableTransactionManagement;
-
-@EnableJpaAuditing
-@EnableTransactionManagement
-@EntityScan(basePackages = {"at.tuwien.entities"})
-@EnableElasticsearchRepositories(basePackages = {"at.tuwien.repository.sdb"})
-@EnableJpaRepositories(basePackages = {"at.tuwien.repository.mdb"})
-@SpringBootApplication(exclude = {ElasticsearchDataAutoConfiguration.class, ElasticsearchRestClientAutoConfiguration.class})
-public class DbrepoIdentifierServiceApplication {
-
-    public static void main(String[] args) {
-        SpringApplication.run(DbrepoIdentifierServiceApplication.class, args);
-    }
-
-}
diff --git a/dbrepo-identifier-service/rest-service/src/main/java/at/tuwien/config/SwaggerConfig.java b/dbrepo-identifier-service/rest-service/src/main/java/at/tuwien/config/SwaggerConfig.java
deleted file mode 100644
index 7c8ddcff28..0000000000
--- a/dbrepo-identifier-service/rest-service/src/main/java/at/tuwien/config/SwaggerConfig.java
+++ /dev/null
@@ -1,54 +0,0 @@
-package at.tuwien.config;
-
-import io.swagger.v3.oas.models.ExternalDocumentation;
-import io.swagger.v3.oas.models.OpenAPI;
-import io.swagger.v3.oas.models.info.Contact;
-import io.swagger.v3.oas.models.info.Info;
-import io.swagger.v3.oas.models.info.License;
-import io.swagger.v3.oas.models.servers.Server;
-import org.springdoc.core.models.GroupedOpenApi;
-import org.springframework.beans.factory.annotation.Value;
-import org.springframework.context.annotation.Bean;
-import org.springframework.context.annotation.Configuration;
-
-import java.util.List;
-
-@Configuration
-public class SwaggerConfig {
-
-    @Value("${app.version:unknown}")
-    private String version;
-
-    @Bean
-    public OpenAPI springShopOpenAPI() {
-        return new OpenAPI()
-                .info(new Info()
-                        .title("Database Repository Identifier Service API")
-                        .contact(new Contact()
-                                .name("Prof. Andreas Rauber")
-                                .email("andreas.rauber@tuwien.ac.at"))
-                        .description("Service that manages the identifiers")
-                        .version(version)
-                        .license(new License()
-                                .name("Apache 2.0")
-                                .url("https://www.apache.org/licenses/LICENSE-2.0")))
-                .externalDocs(new ExternalDocumentation()
-                        .description("Sourcecode Documentation")
-                        .url("https://gitlab.phaidra.org/fair-data-austria-db-repository/fda-services"))
-                .servers(List.of(new Server()
-                                .description("Generated server url")
-                                .url("http://localhost:9096"),
-                        new Server()
-                                .description("Sandbox")
-                                .url("https://dbrepo2.tuwien.ac.at")));
-    }
-
-    @Bean
-    public GroupedOpenApi publicApi() {
-        return GroupedOpenApi.builder()
-                .group("identifier-service")
-                .pathsToMatch("/api/**")
-                .build();
-    }
-
-}
diff --git a/dbrepo-identifier-service/rest-service/src/main/java/at/tuwien/config/WebConfig.java b/dbrepo-identifier-service/rest-service/src/main/java/at/tuwien/config/WebConfig.java
deleted file mode 100644
index 9b8509553e..0000000000
--- a/dbrepo-identifier-service/rest-service/src/main/java/at/tuwien/config/WebConfig.java
+++ /dev/null
@@ -1,16 +0,0 @@
-package at.tuwien.config;
-
-import at.tuwien.converters.IdentifierTypeConverter;
-import org.springframework.context.annotation.Configuration;
-import org.springframework.format.FormatterRegistry;
-import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
-
-@Configuration
-public class WebConfig implements WebMvcConfigurer {
-
-    @Override
-    public void addFormatters(FormatterRegistry registry) {
-        registry.addConverter(new IdentifierTypeConverter());
-    }
-
-}
diff --git a/dbrepo-identifier-service/rest-service/src/main/java/at/tuwien/converters/IdentifierTypeConverter.java b/dbrepo-identifier-service/rest-service/src/main/java/at/tuwien/converters/IdentifierTypeConverter.java
deleted file mode 100644
index 9635687470..0000000000
--- a/dbrepo-identifier-service/rest-service/src/main/java/at/tuwien/converters/IdentifierTypeConverter.java
+++ /dev/null
@@ -1,12 +0,0 @@
-package at.tuwien.converters;
-
-import at.tuwien.api.identifier.IdentifierTypeDto;
-import org.springframework.core.convert.converter.Converter;
-
-public class IdentifierTypeConverter implements Converter<String, IdentifierTypeDto> {
-
-    @Override
-    public IdentifierTypeDto convert(String source) {
-        return IdentifierTypeDto.valueOf(source.toUpperCase());
-    }
-}
diff --git a/dbrepo-identifier-service/rest-service/src/main/java/at/tuwien/endpoints/IdentifierEndpoint.java b/dbrepo-identifier-service/rest-service/src/main/java/at/tuwien/endpoints/IdentifierEndpoint.java
deleted file mode 100644
index a51a3c784a..0000000000
--- a/dbrepo-identifier-service/rest-service/src/main/java/at/tuwien/endpoints/IdentifierEndpoint.java
+++ /dev/null
@@ -1,173 +0,0 @@
-package at.tuwien.endpoints;
-
-import at.tuwien.api.error.ApiErrorDto;
-import at.tuwien.api.identifier.IdentifierDto;
-import at.tuwien.api.identifier.IdentifierSaveDto;
-import at.tuwien.api.identifier.IdentifierTypeDto;
-import at.tuwien.api.user.external.ExternalMetadataDto;
-import at.tuwien.entities.identifier.Identifier;
-import at.tuwien.entities.user.User;
-import at.tuwien.exception.*;
-import at.tuwien.mapper.IdentifierMapper;
-import at.tuwien.service.AccessService;
-import at.tuwien.service.IdentifierService;
-import at.tuwien.service.MetadataService;
-import at.tuwien.service.UserService;
-import io.micrometer.core.annotation.Timed;
-import io.swagger.v3.oas.annotations.Operation;
-import io.swagger.v3.oas.annotations.media.ArraySchema;
-import io.swagger.v3.oas.annotations.media.Content;
-import io.swagger.v3.oas.annotations.media.Schema;
-import io.swagger.v3.oas.annotations.responses.ApiResponse;
-import io.swagger.v3.oas.annotations.responses.ApiResponses;
-import io.swagger.v3.oas.annotations.security.SecurityRequirement;
-import lombok.extern.log4j.Log4j2;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.http.HttpStatus;
-import org.springframework.http.ResponseEntity;
-import org.springframework.security.access.prepost.PreAuthorize;
-import org.springframework.transaction.annotation.Transactional;
-import org.springframework.web.bind.annotation.*;
-
-import jakarta.validation.Valid;
-import jakarta.validation.constraints.NotNull;
-
-import java.security.Principal;
-import java.util.List;
-import java.util.stream.Collectors;
-
-@Log4j2
-@CrossOrigin(origins = "*")
-@RestController
-@RequestMapping("/api/identifier")
-public class IdentifierEndpoint {
-
-    private final UserService userService;
-    private final AccessService accessService;
-    private final MetadataService metadataService;
-    private final IdentifierMapper identifierMapper;
-    private final IdentifierService identifierService;
-
-    @Autowired
-    public IdentifierEndpoint(UserService userService, AccessService accessService, MetadataService metadataService,
-                              IdentifierMapper identifierMapper, IdentifierService identifierService) {
-        this.userService = userService;
-        this.accessService = accessService;
-        this.metadataService = metadataService;
-        this.identifierMapper = identifierMapper;
-        this.identifierService = identifierService;
-    }
-
-    @GetMapping
-    @Transactional(readOnly = true)
-    @Timed(value = "identifier.list", description = "Time needed to list the identifiers")
-    @Operation(summary = "Find identifiers")
-    @ApiResponses(value = {
-            @ApiResponse(responseCode = "200",
-                    description = "List identifiers",
-                    content = {@Content(
-                            mediaType = "application/json",
-                            array = @ArraySchema(schema = @Schema(implementation = IdentifierDto.class)))}),
-    })
-    public ResponseEntity<List<IdentifierDto>> list(@RequestParam(required = false) Long dbid,
-                                                    @RequestParam(required = false) Long qid,
-                                                    @RequestParam(required = false) Long vid,
-                                                    @RequestParam(required = false) IdentifierTypeDto type) {
-        log.debug("endpoint find identifiers, dbid={}, qid={}, vid={}, type={}", dbid, qid, vid, type);
-        final List<IdentifierDto> dto = identifierService.findAll(type, dbid, qid, vid)
-                .stream()
-                .map(identifierMapper::identifierToIdentifierDto)
-                .collect(Collectors.toList());
-        log.info("Find identifiers resulted in {} identifiers", dto.size());
-        return ResponseEntity.ok(dto);
-    }
-
-    @PostMapping
-    @Transactional
-    @Timed(value = "identifier.create", description = "Time needed to create an identifier")
-    @PreAuthorize("hasAuthority('create-identifier') or hasAuthority('create-foreign-identifier')")
-    @Operation(summary = "Create identifier", security = @SecurityRequirement(name = "bearerAuth"))
-    @ApiResponses(value = {
-            @ApiResponse(responseCode = "201",
-                    description = "Created identifier",
-                    content = {@Content(
-                            mediaType = "application/json",
-                            schema = @Schema(implementation = IdentifierDto.class))}),
-            @ApiResponse(responseCode = "400",
-                    description = "Identifier form contains invalid request data",
-                    content = {@Content(
-                            mediaType = "application/json",
-                            schema = @Schema(implementation = ApiErrorDto.class))}),
-            @ApiResponse(responseCode = "403",
-                    description = "Insufficient access rights or authorities",
-                    content = {@Content(
-                            mediaType = "application/json",
-                            schema = @Schema(implementation = ApiErrorDto.class))}),
-            @ApiResponse(responseCode = "405",
-                    description = "Creating identifier not permitted",
-                    content = {@Content(
-                            mediaType = "application/json",
-                            schema = @Schema(implementation = ApiErrorDto.class))}),
-            @ApiResponse(responseCode = "406",
-                    description = "Creating identifier not allowed",
-                    content = {@Content(
-                            mediaType = "application/json",
-                            schema = @Schema(implementation = ApiErrorDto.class))}),
-            @ApiResponse(responseCode = "409",
-                    description = "Identifier for this resource already exists",
-                    content = {@Content(
-                            mediaType = "application/json",
-                            schema = @Schema(implementation = ApiErrorDto.class))}),
-            @ApiResponse(responseCode = "502",
-                    description = "Query information could not be retrieved",
-                    content = {@Content(
-                            mediaType = "application/json",
-                            schema = @Schema(implementation = ApiErrorDto.class))}),
-    })
-    public ResponseEntity<IdentifierDto> create(@NotNull @Valid @RequestBody IdentifierSaveDto data,
-                                                @NotNull @RequestHeader(name = "Authorization") String authorization,
-                                                @NotNull Principal principal)
-            throws IdentifierAlreadyExistsException, QueryNotFoundException, IdentifierPublishingNotAllowedException,
-            RemoteUnavailableException, UserNotFoundException, DatabaseNotFoundException, IdentifierRequestException, NotAllowedException, ViewNotFoundException {
-        log.debug("endpoint create identifier, data={}, authorization=(hidden), principal={}", data, principal);
-        if (data.getType().equals(IdentifierTypeDto.SUBSET) && (data.getQueryId() == null || data.getViewId() != null)) {
-            log.error("Identifier of type subset need to have a qid and not a vid present");
-            throw new IdentifierRequestException("Identifier of type subset need to have a qid and not a vid present");
-        } else if (data.getType().equals(IdentifierTypeDto.DATABASE) && (data.getQueryId() != null || data.getViewId() != null)) {
-            log.error("Identifier of type database must not have a qid and not a vid present");
-            throw new IdentifierRequestException("Identifier of type database must not have a qid and not a vid present");
-        } else if (data.getType().equals(IdentifierTypeDto.VIEW) && data.getQueryId() != null) {
-            log.error("Identifier of type view must not have a qid present");
-            throw new IdentifierRequestException("Identifier of type database must not have a qid present");
-        }
-        final User user = userService.findByUsername(principal.getName());
-        try {
-            accessService.find(data.getDatabaseId(), user.getId());
-        } catch (AccessDeniedException e) {
-            if (!User.hasRole(principal, "create-foreign-identifier")) {
-                log.error("Failed to create identifier: insufficient access");
-                throw new NotAllowedException("Failed to create identifier: insufficient access");
-            }
-        }
-        final Identifier identifier = identifierService.create(data, principal, authorization);
-        return ResponseEntity.status(HttpStatus.CREATED)
-                .body(identifierMapper.identifierToIdentifierDto(identifier));
-    }
-
-    @GetMapping("/retrieve")
-    @Timed(value = "identifier.retrieve", description = "Retrieve person or organization metadata from identifier")
-    @Operation(summary = "Retrieve metadata from identifier")
-    @ApiResponses(value = {
-            @ApiResponse(responseCode = "200",
-                    description = "Retrieved metadata from identifier",
-                    content = {@Content(
-                            mediaType = "application/json",
-                            schema = @Schema(implementation = IdentifierDto.class))}),
-    })
-    public ResponseEntity<ExternalMetadataDto> create(@NotNull @Valid @RequestParam String url)
-            throws OrcidNotFoundException, RorNotFoundException, RemoteUnavailableException, DoiNotFoundException {
-        return ResponseEntity.ok(metadataService.findByUrl(url));
-    }
-
-
-}
diff --git a/dbrepo-identifier-service/rest-service/src/main/java/at/tuwien/endpoints/PersistenceEndpoint.java b/dbrepo-identifier-service/rest-service/src/main/java/at/tuwien/endpoints/PersistenceEndpoint.java
deleted file mode 100644
index 7560da55d3..0000000000
--- a/dbrepo-identifier-service/rest-service/src/main/java/at/tuwien/endpoints/PersistenceEndpoint.java
+++ /dev/null
@@ -1,241 +0,0 @@
-package at.tuwien.endpoints;
-
-import at.tuwien.api.error.ApiErrorDto;
-import at.tuwien.api.identifier.BibliographyTypeDto;
-import at.tuwien.api.identifier.IdentifierDto;
-import at.tuwien.api.identifier.IdentifierSaveDto;
-import at.tuwien.config.EndpointConfig;
-import at.tuwien.entities.identifier.Identifier;
-import at.tuwien.entities.user.User;
-import at.tuwien.exception.*;
-import at.tuwien.mapper.IdentifierMapper;
-import at.tuwien.service.AccessService;
-import at.tuwien.service.IdentifierService;
-import at.tuwien.service.UserService;
-import io.micrometer.core.annotation.Timed;
-import io.swagger.v3.oas.annotations.Operation;
-import io.swagger.v3.oas.annotations.media.Content;
-import io.swagger.v3.oas.annotations.media.Schema;
-import io.swagger.v3.oas.annotations.responses.ApiResponse;
-import io.swagger.v3.oas.annotations.responses.ApiResponses;
-import io.swagger.v3.oas.annotations.security.SecurityRequirement;
-import lombok.extern.log4j.Log4j2;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.core.io.InputStreamResource;
-import org.springframework.http.HttpHeaders;
-import org.springframework.http.HttpStatus;
-import org.springframework.http.ResponseEntity;
-import org.springframework.security.access.prepost.PreAuthorize;
-import org.springframework.transaction.annotation.Transactional;
-import org.springframework.web.bind.annotation.*;
-
-import jakarta.validation.Valid;
-import jakarta.validation.constraints.NotNull;
-import java.security.Principal;
-import java.util.regex.Matcher;
-import java.util.regex.Pattern;
-
-@Log4j2
-@CrossOrigin(origins = "*")
-@RestController
-@RequestMapping("/api/pid")
-public class PersistenceEndpoint {
-
-    private final UserService userService;
-    private final AccessService accessService;
-    private final EndpointConfig endpointConfig;
-    private final IdentifierMapper identifierMapper;
-    private final IdentifierService identifierService;
-
-    @Autowired
-    public PersistenceEndpoint(UserService userService, AccessService accessService, EndpointConfig endpointConfig,
-                               IdentifierMapper identifierMapper, IdentifierService identifierService) {
-        this.userService = userService;
-        this.accessService = accessService;
-        this.endpointConfig = endpointConfig;
-        this.identifierMapper = identifierMapper;
-        this.identifierService = identifierService;
-    }
-
-    @GetMapping("/{pid}")
-    @Transactional(readOnly = true)
-    @Timed(value = "pid.find", description = "Time needed to find a persisted identifier")
-    @Operation(summary = "Find some identifier")
-    @ApiResponses(value = {
-            @ApiResponse(responseCode = "200",
-                    description = "Found identifier successfully",
-                    content = {@Content(
-                            mediaType = "application/json",
-                            schema = @Schema(implementation = IdentifierDto.class)),
-                            @Content(mediaType = "text/csv"),
-                            @Content(mediaType = "text/xml"),
-                            @Content(mediaType = "text/bibliography"),
-                            @Content(mediaType = "text/bibliography; style=apa"),
-                            @Content(mediaType = "text/bibliography; style=ieee"),
-                            @Content(mediaType = "text/bibliography; style=bibtex"),
-                    }),
-            @ApiResponse(responseCode = "400",
-                    description = "Identifier could not be exported, the requested style is not known",
-                    content = {@Content(
-                            mediaType = "text/bibliography",
-                            schema = @Schema(implementation = ApiErrorDto.class))}),
-            @ApiResponse(responseCode = "404",
-                    description = "Identifier could not be exported from database as the resource was not found",
-                    content = {@Content(
-                            mediaType = "text/csv",
-                            schema = @Schema(implementation = ApiErrorDto.class))}),
-            @ApiResponse(responseCode = "502",
-                    description = "Identifier could not exported from database as it is not reachable",
-                    content = {@Content(
-                            mediaType = "text/csv",
-                            schema = @Schema(implementation = ApiErrorDto.class))}),
-    })
-    public ResponseEntity<?> find(@Valid @PathVariable("pid") Long pid,
-                                  @RequestHeader(HttpHeaders.ACCEPT) String accept) throws IdentifierNotFoundException,
-            QueryNotFoundException, RemoteUnavailableException, IdentifierRequestException {
-        log.debug("endpoint find identifier, pid={}, accept={}", pid, accept);
-        final Identifier identifier = identifierService.find(pid);
-        log.info("Found persistent identifier with id {}", identifier.getId());
-        log.trace("found persistent identifier {}", identifier);
-        if (accept != null) {
-            log.trace("accept header present: {}", accept);
-            switch (accept) {
-                case "application/json":
-                    log.trace("accept header matches json");
-                    final IdentifierDto resource1 = identifierMapper.identifierToIdentifierDto(identifier);
-                    log.debug("find identifier resulted in identifier {}", resource1);
-                    return ResponseEntity.ok(resource1);
-                case "text/csv":
-                    log.trace("accept header matches csv");
-                    final InputStreamResource resource2;
-                    try {
-                        resource2 = identifierService.exportResource(pid);
-                        log.debug("find identifier resulted in resource {}", resource2);
-                        return ResponseEntity.ok(resource2);
-                    } catch (IdentifierRequestException e) {
-                        /* ignore */
-                    }
-                case "text/xml":
-                    log.trace("accept header matches xml");
-                    final InputStreamResource resource3 = identifierService.exportMetadata(pid);
-                    log.debug("find identifier resulted in resource {}", resource3);
-                    return ResponseEntity.ok(resource3);
-            }
-            final Pattern regex = Pattern.compile("text\\/bibliography(; ?style=(apa|ieee|bibtex))?");
-            final Matcher matcher = regex.matcher(accept);
-            if (matcher.find()) {
-                log.trace("accept header matches bibliography");
-                final BibliographyTypeDto style;
-                if (matcher.group(2) != null) {
-                    style = BibliographyTypeDto.valueOf(matcher.group(2).toUpperCase());
-                    log.trace("bibliography style matches {}", style);
-                } else {
-                    style = BibliographyTypeDto.APA;
-                    log.trace("no bibliography style provided, default: {}", style);
-                }
-                final String resource = identifierService.exportBibliography(pid, style);
-                log.debug("find identifier resulted in resource {}", resource);
-                return ResponseEntity.ok(resource);
-            }
-        } else {
-            log.trace("no accept header present");
-        }
-        final HttpHeaders headers = new HttpHeaders();
-        final String url = identifierMapper.identifierToLocationUrl(endpointConfig.getWebsiteUrl(), identifier);
-        headers.add("Location", url);
-        log.debug("find identifier resulted in http redirect, headers={}, url={}", headers, url);
-        return ResponseEntity.status(HttpStatus.MOVED_PERMANENTLY)
-                .headers(headers)
-                .build();
-    }
-
-    @PutMapping("/{id}")
-    @Transactional
-    @Timed(value = "identifier.update", description = "Time needed to update an identifier")
-    @PreAuthorize("hasAuthority('modify-identifier-metadata')")
-    @Operation(summary = "Update some identifier", security = @SecurityRequirement(name = "bearerAuth"))
-    @ApiResponses(value = {
-            @ApiResponse(responseCode = "202",
-                    description = "Updated identifier",
-                    content = {@Content(
-                            mediaType = "application/json",
-                            schema = @Schema(implementation = IdentifierDto.class))}),
-            @ApiResponse(responseCode = "400",
-                    description = "Identifier data is not valid to the form",
-                    content = {@Content(
-                            mediaType = "application/json",
-                            schema = @Schema(implementation = ApiErrorDto.class))}),
-            @ApiResponse(responseCode = "404",
-                    description = "Identifier or user could not be found",
-                    content = {@Content(
-                            mediaType = "application/json",
-                            schema = @Schema(implementation = ApiErrorDto.class))}),
-            @ApiResponse(responseCode = "405",
-                    description = "Updating identifier not permitted",
-                    content = {@Content(
-                            mediaType = "application/json",
-                            schema = @Schema(implementation = ApiErrorDto.class))}),
-            @ApiResponse(responseCode = "406",
-                    description = "Updating identifier not allowed",
-                    content = {@Content(
-                            mediaType = "application/json",
-                            schema = @Schema(implementation = ApiErrorDto.class))}),
-    })
-    public ResponseEntity<IdentifierDto> update(@NotNull @PathVariable("id") Long id,
-                                                @NotNull @Valid @RequestBody IdentifierSaveDto data,
-                                                @NotNull @RequestHeader(name = "Authorization") String authorization,
-                                                @NotNull Principal principal)
-            throws IdentifierNotFoundException, IdentifierRequestException, UserNotFoundException, NotAllowedException,
-            QueryNotFoundException, DatabaseNotFoundException, RemoteUnavailableException {
-        log.debug("endpoint update identifier, id={}, data={}", id, data);
-        final Identifier identifier = identifierService.find(id);
-        final User user = userService.findByUsername(principal.getName());
-        try {
-            accessService.find(identifier.getDatabase().getId(), user.getId());
-        } catch (AccessDeniedException e) {
-            if (!User.hasRole(principal, "modify-identifier-metadata")) {
-                log.error("Failed to update identifier: insufficient access");
-                throw new NotAllowedException("Failed to update identifier: insufficient access");
-            }
-        }
-        /* check */
-        final IdentifierDto dto = identifierMapper.identifierToIdentifierDto(identifierService.update(id, data, principal, authorization));
-        log.debug("update identifier resulted in dto={}", dto);
-        return ResponseEntity.accepted()
-                .body(dto);
-    }
-
-    @DeleteMapping("/{id}")
-    @Transactional
-    @Timed(value = "identifier.delete", description = "Time needed to delete an identifier")
-    @PreAuthorize("hasAuthority('delete-identifier')")
-    @Operation(summary = "Delete some identifier", security = @SecurityRequirement(name = "bearerAuth"))
-    @ApiResponses(value = {
-            @ApiResponse(responseCode = "202",
-                    description = "Deleted identifier",
-                    content = {@Content}),
-            @ApiResponse(responseCode = "404",
-                    description = "Identifier could not be found",
-                    content = {@Content(
-                            mediaType = "application/json",
-                            schema = @Schema(implementation = ApiErrorDto.class))}),
-            @ApiResponse(responseCode = "405",
-                    description = "Deleting identifier not permitted",
-                    content = {@Content(
-                            mediaType = "application/json",
-                            schema = @Schema(implementation = ApiErrorDto.class))})
-    })
-    public ResponseEntity<?> delete(@NotNull @PathVariable("id") Long id)
-            throws IdentifierNotFoundException, NotAllowedException {
-        log.debug("endpoint delete identifier, id={}", id);
-        final Identifier identifier = identifierService.find(id);
-        if (identifier.getDoi() != null) {
-            log.error("Failed to delete identifier: a DOI is already attached");
-            throw new NotAllowedException("Failed to delete identifier: a DOI is already attached");
-        }
-        identifierService.delete(id);
-        return ResponseEntity.accepted()
-                .build();
-    }
-
-}
diff --git a/dbrepo-identifier-service/rest-service/src/main/java/at/tuwien/handlers/ApiExceptionHandler.java b/dbrepo-identifier-service/rest-service/src/main/java/at/tuwien/handlers/ApiExceptionHandler.java
deleted file mode 100644
index 27a6c76130..0000000000
--- a/dbrepo-identifier-service/rest-service/src/main/java/at/tuwien/handlers/ApiExceptionHandler.java
+++ /dev/null
@@ -1,150 +0,0 @@
-package at.tuwien.handlers;
-
-import at.tuwien.api.error.ApiErrorDto;
-import at.tuwien.exception.*;
-import io.swagger.v3.oas.annotations.Hidden;
-import org.springframework.http.HttpHeaders;
-import org.springframework.http.HttpStatus;
-import org.springframework.http.ResponseEntity;
-import org.springframework.web.bind.annotation.ControllerAdvice;
-import org.springframework.web.bind.annotation.ExceptionHandler;
-import org.springframework.web.bind.annotation.ResponseStatus;
-import org.springframework.web.context.request.WebRequest;
-import org.springframework.web.servlet.mvc.method.annotation.ResponseEntityExceptionHandler;
-
-@ControllerAdvice
-public class ApiExceptionHandler extends ResponseEntityExceptionHandler {
-
-    @Hidden
-    @ResponseStatus(HttpStatus.FORBIDDEN)
-    @ExceptionHandler(AccessDeniedException.class)
-    public ResponseEntity<ApiErrorDto> handle(AccessDeniedException e, WebRequest request) {
-        final ApiErrorDto response = ApiErrorDto.builder()
-                .status(HttpStatus.FORBIDDEN)
-                .message(e.getLocalizedMessage())
-                .code("error.identifier.accessdenied")
-                .build();
-        return new ResponseEntity<>(response, new HttpHeaders(), response.getStatus());
-    }
-
-    @Hidden
-    @ResponseStatus(HttpStatus.NOT_FOUND)
-    @ExceptionHandler(DatabaseNotFoundException.class)
-    public ResponseEntity<ApiErrorDto> handle(DatabaseNotFoundException e, WebRequest request) {
-        final ApiErrorDto response = ApiErrorDto.builder()
-                .status(HttpStatus.NOT_FOUND)
-                .message(e.getLocalizedMessage())
-                .code("error.identifier.databasenotfound")
-                .build();
-        return new ResponseEntity<>(response, new HttpHeaders(), response.getStatus());
-    }
-
-    @Hidden
-    @ResponseStatus(HttpStatus.CONFLICT)
-    @ExceptionHandler(IdentifierAlreadyExistsException.class)
-    public ResponseEntity<ApiErrorDto> handle(IdentifierAlreadyExistsException e, WebRequest request) {
-        final ApiErrorDto response = ApiErrorDto.builder()
-                .status(HttpStatus.CONFLICT)
-                .message(e.getLocalizedMessage())
-                .code("error.identifier.exists")
-                .build();
-        return new ResponseEntity<>(response, new HttpHeaders(), response.getStatus());
-    }
-
-    @Hidden
-    @ResponseStatus(HttpStatus.PRECONDITION_FAILED)
-    @ExceptionHandler(IdentifierAlreadyPublishedException.class)
-    public ResponseEntity<ApiErrorDto> handle(IdentifierAlreadyPublishedException e, WebRequest request) {
-        final ApiErrorDto response = ApiErrorDto.builder()
-                .status(HttpStatus.PRECONDITION_FAILED)
-                .message(e.getLocalizedMessage())
-                .code("error.identifier.published")
-                .build();
-        return new ResponseEntity<>(response, new HttpHeaders(), response.getStatus());
-    }
-
-    @Hidden
-    @ResponseStatus(HttpStatus.NOT_FOUND)
-    @ExceptionHandler(IdentifierNotFoundException.class)
-    public ResponseEntity<ApiErrorDto> handle(IdentifierNotFoundException e, WebRequest request) {
-        final ApiErrorDto response = ApiErrorDto.builder()
-                .status(HttpStatus.NOT_FOUND)
-                .message(e.getLocalizedMessage())
-                .code("error.identifier.notfound")
-                .build();
-        return new ResponseEntity<>(response, new HttpHeaders(), response.getStatus());
-    }
-
-    @Hidden
-    @ResponseStatus(HttpStatus.NOT_ACCEPTABLE)
-    @ExceptionHandler(IdentifierPublishingNotAllowedException.class)
-    public ResponseEntity<ApiErrorDto> handle(IdentifierPublishingNotAllowedException e, WebRequest request) {
-        final ApiErrorDto response = ApiErrorDto.builder()
-                .status(HttpStatus.NOT_ACCEPTABLE)
-                .message(e.getLocalizedMessage())
-                .code("error.identifier.publish")
-                .build();
-        return new ResponseEntity<>(response, new HttpHeaders(), response.getStatus());
-    }
-
-    @Hidden
-    @ResponseStatus(HttpStatus.BAD_REQUEST)
-    @ExceptionHandler(IdentifierRequestException.class)
-    public ResponseEntity<ApiErrorDto> handle(IdentifierRequestException e, WebRequest request) {
-        final ApiErrorDto response = ApiErrorDto.builder()
-                .status(HttpStatus.BAD_REQUEST)
-                .message(e.getLocalizedMessage())
-                .code("error.identifier.requestinvalid")
-                .build();
-        return new ResponseEntity<>(response, new HttpHeaders(), response.getStatus());
-    }
-
-    @Hidden
-    @ResponseStatus(HttpStatus.METHOD_NOT_ALLOWED)
-    @ExceptionHandler(NotAllowedException.class)
-    public ResponseEntity<ApiErrorDto> handle(NotAllowedException e, WebRequest request) {
-        final ApiErrorDto response = ApiErrorDto.builder()
-                .status(HttpStatus.METHOD_NOT_ALLOWED)
-                .message(e.getLocalizedMessage())
-                .code("error.identifier.notallowed")
-                .build();
-        return new ResponseEntity<>(response, new HttpHeaders(), response.getStatus());
-    }
-
-    @Hidden
-    @ResponseStatus(HttpStatus.NOT_FOUND)
-    @ExceptionHandler(QueryNotFoundException.class)
-    public ResponseEntity<ApiErrorDto> handle(QueryNotFoundException e, WebRequest request) {
-        final ApiErrorDto response = ApiErrorDto.builder()
-                .status(HttpStatus.NOT_FOUND)
-                .message(e.getLocalizedMessage())
-                .code("error.identifier.query")
-                .build();
-        return new ResponseEntity<>(response, new HttpHeaders(), response.getStatus());
-    }
-
-    @Hidden
-    @ResponseStatus(HttpStatus.BAD_GATEWAY)
-    @ExceptionHandler(RemoteUnavailableException.class)
-    public ResponseEntity<ApiErrorDto> handle(RemoteUnavailableException e, WebRequest request) {
-        final ApiErrorDto response = ApiErrorDto.builder()
-                .status(HttpStatus.BAD_GATEWAY)
-                .message(e.getLocalizedMessage())
-                .code("error.identifier.remote")
-                .build();
-        return new ResponseEntity<>(response, new HttpHeaders(), response.getStatus());
-    }
-
-    @Hidden
-    @ResponseStatus(HttpStatus.NOT_FOUND)
-    @ExceptionHandler(UserNotFoundException.class)
-    public ResponseEntity<ApiErrorDto> handle(UserNotFoundException e, WebRequest request) {
-        final ApiErrorDto response = ApiErrorDto.builder()
-                .status(HttpStatus.NOT_FOUND)
-                .message(e.getLocalizedMessage())
-                .code("error.identifier.usernotfound")
-                .build();
-        return new ResponseEntity<>(response, new HttpHeaders(), response.getStatus());
-    }
-
-}
\ No newline at end of file
diff --git a/dbrepo-identifier-service/rest-service/src/main/resources/application-doi.yml b/dbrepo-identifier-service/rest-service/src/main/resources/application-doi.yml
deleted file mode 100644
index 4a6687e0e8..0000000000
--- a/dbrepo-identifier-service/rest-service/src/main/resources/application-doi.yml
+++ /dev/null
@@ -1,6 +0,0 @@
-fda:
-  datacite:
-    url: "${DATACITE_URL}"
-    prefix: "${DATACITE_PREFIX}"
-    username: "${DATACITE_USERNAME}"
-    password: "${DATACITE_PASSWORD}"
\ No newline at end of file
diff --git a/dbrepo-identifier-service/rest-service/src/main/resources/application-local.yml b/dbrepo-identifier-service/rest-service/src/main/resources/application-local.yml
deleted file mode 100644
index 08f6f6a496..0000000000
--- a/dbrepo-identifier-service/rest-service/src/main/resources/application-local.yml
+++ /dev/null
@@ -1,57 +0,0 @@
-app.version: '@project.version@'
-spring:
-  main.banner-mode: off
-  datasource:
-    url: jdbc:mariadb://localhost:3306/fda
-    driver-class-name: org.mariadb.jdbc.Driver
-    username: root
-    password: dbrepo
-  jpa:
-    show-sql: false
-    database-platform: org.hibernate.dialect.MariaDBDialect
-    hibernate:
-      search:
-        default:
-          elasticsearch:
-            host: localhost
-      ddl-auto: validate
-      use-new-id-generator-mappings: false
-    open-in-view: false
-    properties:
-      hibernate:
-        default_schema: fda
-        jdbc:
-          time_zone: UTC
-  application:
-    name: identifier-service
-  cloud:
-    loadbalancer.ribbon.enabled: false
-  rabbitmq:
-    host: localhost
-    virtual-host: dbrepo
-    username: fda
-    password: fda
-  opensearch:
-    username: admin
-    password: admin
-    host: localhost
-    port: 9200
-    protocol: http
-management.endpoints.web.exposure.include: health,info,prometheus
-server:
-  port: 9096
-logging:
-  pattern.console: "%d %highlight(%-5level) %msg%n"
-  level:
-    root: warn
-    at.tuwien.: trace
-    at.tuwien.auth.UserPermissionEvaluator: trace
-    org.springframework.web.servlet.mvc.method.annotation.ExceptionHandlerExceptionResolver: debug
-fda:
-  jwt:
-    issuer: http://localhost/realms/dbrepo
-    public_key: MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAqqnHQ2BWWW9vDNLRCcxD++xZg/16oqMo/c1l+lcFEjjAIJjJp/HqrPYU/U9GvquGE6PbVFtTzW1KcKawOW+FJNOA3CGo8Q1TFEfz43B8rZpKsFbJKvQGVv1Z4HaKPvLUm7iMm8Hv91cLduuoWx6Q3DPe2vg13GKKEZe7UFghF+0T9u8EKzA/XqQ0OiICmsmYPbwvf9N3bCKsB/Y10EYmZRb8IhCoV9mmO5TxgWgiuNeCTtNCv2ePYqL/U0WvyGFW0reasIK8eg3KrAUj8DpyOgPOVBn3lBGf+3KFSYi+0bwZbJZWqbC/Xlk20Go1YfeJPRIt7ImxD27R/lNjgDO/MwIDAQAB
-  client_secret: client-secret
-  client_id: dbrepo-client
-  gateway.endpoint: http://localhost
-  website: http://localhost
\ No newline at end of file
diff --git a/dbrepo-identifier-service/rest-service/src/main/resources/application.yml b/dbrepo-identifier-service/rest-service/src/main/resources/application.yml
deleted file mode 100644
index 9701f85dd6..0000000000
--- a/dbrepo-identifier-service/rest-service/src/main/resources/application.yml
+++ /dev/null
@@ -1,72 +0,0 @@
-app.version: '@project.version@'
-spring:
-  main.banner-mode: off
-  autoconfigure:
-    exclude: org.springframework.boot.autoconfigure.elasticsearch.ElasticsearchRestClientAutoConfiguration, org.springframework.boot.autoconfigure.data.elasticsearch.ElasticsearchDataAutoConfiguration
-  datasource:
-    url: "jdbc:mariadb://metadata-db:3306/${METADATA_DB}"
-    driver-class-name: org.mariadb.jdbc.Driver
-    username: "${METADATA_USERNAME}"
-    password: "${METADATA_PASSWORD}"
-  jpa:
-    show-sql: false
-    database-platform: org.hibernate.dialect.MariaDBDialect
-    hibernate:
-      search:
-        default:
-          elasticsearch:
-            host: search-db
-      ddl-auto: validate
-      use-new-id-generator-mappings: false
-    open-in-view: false
-    properties:
-      hibernate:
-        default_schema: "${METADATA_DB}"
-        jdbc:
-          time_zone: UTC
-  application:
-    name: identifier-service
-  cloud:
-    loadbalancer.ribbon.enabled: false
-  rabbitmq:
-    host: broker-service
-    virtual-host: dbrepo
-    username: "${BROKER_USERNAME}"
-    password: "${BROKER_PASSWORD}"
-  opensearch:
-    username: "${SEARCH_USERNAME}"
-    password: "${SEARCH_PASSWORD}"
-    host: search-db
-    port: 9200
-    protocol: http
-management:
-  endpoints:
-    web:
-      exposure:
-        include: health,info,prometheus
-  endpoint:
-    health:
-      probes:
-        enabled: true
-  health:
-    readinessState:
-      enabled: true
-    livenessState:
-      enabled: true
-server:
-  port: 9096
-logging:
-  pattern.console: "%d %highlight(%-5level) %msg%n"
-  level:
-    root: warn
-    at.tuwien.: "${LOG_LEVEL}"
-    at.tuwien.auth.UserPermissionEvaluator: trace
-    org.springframework.web.servlet.mvc.method.annotation.ExceptionHandlerExceptionResolver: debug
-fda:
-  jwt:
-    issuer: "${JWT_ISSUER}"
-    public_key: "${JWT_PUBKEY}"
-  client_secret: "${DBREPO_CLIENT_SECRET}"
-  client_id: "${CLIENT_ID}"
-  gateway.endpoint: "${GATEWAY_ENDPOINT}"
-  website: "${WEBSITE}"
\ No newline at end of file
diff --git a/dbrepo-identifier-service/rest-service/src/main/resources/config.properties b/dbrepo-identifier-service/rest-service/src/main/resources/config.properties
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/dbrepo-identifier-service/rest-service/src/main/resources/templates/cite_apa.txt b/dbrepo-identifier-service/rest-service/src/main/resources/templates/cite_apa.txt
deleted file mode 100644
index a005306264..0000000000
--- a/dbrepo-identifier-service/rest-service/src/main/resources/templates/cite_apa.txt
+++ /dev/null
@@ -1 +0,0 @@
-[# th:each="creator,idx: ${creators}"][# th:if="${idx.index} &gt; 0 and ${idx.index} != ${idx.size} - 1 and ${idx.index} != 0"], [/][# th:if="${idx.index} == ${idx.size} - 1 and ${idx.size} != 1"] & [/][[${creator.getApaName()}]][/][# th:if="${creators.size()} &gt; 0"]. [/]([[${publicationYear}]]). [[${title.getTitle()}]]. [[${publisher}]]. [[${identifierType} == 'doi' ? 'https://doi.org/' : '']][[${identifier}]]
\ No newline at end of file
diff --git a/dbrepo-identifier-service/rest-service/src/main/resources/templates/cite_bibtex.txt b/dbrepo-identifier-service/rest-service/src/main/resources/templates/cite_bibtex.txt
deleted file mode 100644
index 3165c7d39e..0000000000
--- a/dbrepo-identifier-service/rest-service/src/main/resources/templates/cite_bibtex.txt
+++ /dev/null
@@ -1,7 +0,0 @@
-@misc{dbrepo[[${publicationYear}]],
-  author = {[# th:each="creator,idx: ${creators}"][# th:if="${idx.index} &gt; 0"] and [/][[${creator.getBibtexName()}]][/]},
-  title = {[[${title.getTitle()}]]},
-  [[${identifierType}]] = {[[${identifierType} == 'url' ? '\url{' : '']][[${identifier}]][[${identifierType} == 'url' ? '}' : '']]},
-  month = {[[${publicationMonth}]]},
-  year = {[[${publicationYear}]]}
-}
\ No newline at end of file
diff --git a/dbrepo-identifier-service/rest-service/src/main/resources/templates/cite_ieee.txt b/dbrepo-identifier-service/rest-service/src/main/resources/templates/cite_ieee.txt
deleted file mode 100644
index d1da091e1e..0000000000
--- a/dbrepo-identifier-service/rest-service/src/main/resources/templates/cite_ieee.txt
+++ /dev/null
@@ -1 +0,0 @@
-[1] [# th:each="creator,idx: ${creators}"][# th:if="${idx.index} &gt; 0"], [/][[${creator.getIeeeName()}]][/][# th:if="${creators.size()} &gt; 0"], [/]“[[${title.getTitle()}]]“, [[${publisher}]], [[${publicationYear}]], [[${identifierType} == 'url' ? 'Available: ' : 'doi: ']][[${identifier}]].
\ No newline at end of file
diff --git a/dbrepo-identifier-service/rest-service/src/main/resources/templates/doi.xml b/dbrepo-identifier-service/rest-service/src/main/resources/templates/doi.xml
deleted file mode 100644
index 28d65ef38d..0000000000
--- a/dbrepo-identifier-service/rest-service/src/main/resources/templates/doi.xml
+++ /dev/null
@@ -1,50 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<resource xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://datacite.org/schema/kernel-4"
-          xsi:schemaLocation="http://datacite.org/schema/kernel-4 https://schema.datacite.org/meta/kernel-4.4/metadata.xsd">
-    <identifier th:attr="identifierType=${identifierType}">[[${identifier}]]</identifier>
-    <creators th:if="${not #lists.isEmpty(creators)}">
-        <creator th:each="creator: ${creators}">
-            <creatorName th:attr="nameType=${creator.nameType}">[[${creator.lastname}]], [[${creator.firstname}]]</creatorName>
-            <givenName th:if="${creator.firstname != null}">[[${creator.firstname}]]</givenName>
-            <familyName th:if="${creator.lastname != null}">[[${creator.lastname}]]</familyName>
-            <nameIdentifier th:if="${creator.nameIdentifier != null}"
-                            th:attr="schemeURI=${creator.nameIdentifierSchemeUri},nameIdentifierScheme=${creator.nameIdentifierScheme}">
-                [[${creator.nameIdentifier}]]
-            </nameIdentifier>
-            <affiliation th:if="${creator.affiliation != null}" th:attr="affiliationIdentifier=${creator.affiliationIdentifier},affiliationIdentifierScheme=${creator.affiliationIdentifierScheme},schemeURI=${creator.affiliationIdentifierSchemeUri}">[[${creator.affiliation}]]</affiliation>
-        </creator>
-    </creators>
-    <titles>
-        <title th:each="title: ${titles}" th:xmllang="${title.language}" th:attr="titleType=${title.titleType}">[[${title.title}]]</title>
-    </titles>
-    <publisher>[[${publisher}]]</publisher>
-    <publicationYear>[[${publicationYear}]]</publicationYear>
-    <dates>
-        <date dateType="Issued">[[${created}]]</date>
-        <date dateType="Available">[[${created}]]</date>
-    </dates>
-    <language th:if="${language != null}">[[${language}]]</language>
-    <resourceType resourceTypeGeneral="Dataset">Dataset</resourceType>
-    <relatedIdentifiers th:if="${not #lists.isEmpty(relatedIdentifiers)}">
-        <relatedIdentifier th:each="relatedIdentifier: ${relatedIdentifiers}"
-                           th:attr="relatedIdentifierType=${relatedIdentifier.type},relationType=${relatedIdentifier.relation}">
-            [[${relatedIdentifier.value}]]
-        </relatedIdentifier>
-    </relatedIdentifiers>
-    <rightsList th:if="${not #lists.isEmpty(licenses)}">
-        <rights th:each="license: ${licenses}" th:attr="rightsURI=${license.uri}">[[${license.identifier}]]</rights>
-    </rightsList>
-    <descriptions>
-        <description th:each="description: ${descriptions}" th:attr="descriptionType=${description.descriptionType}"
-                     th:xmllang="${description.language}">[[${description.description}]]</description>
-    </descriptions>
-    <fundingReferences th:if="${not #lists.isEmpty(funders)}">
-        <fundingReference th:each="funder: ${funders}">
-            <funderName>[[${funder.funderName}</funderName>
-            <funderIdentifier th:if="${funder.funderIdentifier != null}" th:attr="funderIdentifierType=${funder.funderIdentifierType}">[[${funder.funderIdentifier}]]</funderIdentifier>
-            <awardNumber th:if="${funder.awardNumber != null}">[[${funder.awardNumber}]]</awardNumber>
-            <awardTitle th:if="${funder.awardTitle}">[[${funder.awardTitle}]]</awardTitle>
-        </fundingReference>
-    </fundingReferences>
-    <version>1.0</version>
-</resource>
\ No newline at end of file
diff --git a/dbrepo-identifier-service/rest-service/src/test/java/at/tuwien/BaseUnitTest.java b/dbrepo-identifier-service/rest-service/src/test/java/at/tuwien/BaseUnitTest.java
deleted file mode 100644
index 01f84e12b9..0000000000
--- a/dbrepo-identifier-service/rest-service/src/test/java/at/tuwien/BaseUnitTest.java
+++ /dev/null
@@ -1,9 +0,0 @@
-package at.tuwien;
-
-import at.tuwien.test.BaseTest;
-import org.springframework.test.context.TestPropertySource;
-
-@TestPropertySource(locations = "classpath:application.properties")
-public abstract class BaseUnitTest extends BaseTest {
-
-}
diff --git a/dbrepo-identifier-service/rest-service/src/test/java/at/tuwien/endpoint/ActuatorComponentTest.java b/dbrepo-identifier-service/rest-service/src/test/java/at/tuwien/endpoint/ActuatorComponentTest.java
deleted file mode 100644
index 5626b5cda8..0000000000
--- a/dbrepo-identifier-service/rest-service/src/test/java/at/tuwien/endpoint/ActuatorComponentTest.java
+++ /dev/null
@@ -1,65 +0,0 @@
-package at.tuwien.endpoint;
-
-import at.tuwien.BaseUnitTest;
-import at.tuwien.repository.sdb.IdentifierIdxRepository;
-import lombok.extern.log4j.Log4j2;
-import org.junit.jupiter.api.Test;
-import org.junit.jupiter.api.extension.ExtendWith;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.boot.test.autoconfigure.web.servlet.AutoConfigureMockMvc;
-import org.springframework.boot.test.context.SpringBootTest;
-import org.springframework.boot.test.mock.mockito.MockBean;
-import org.springframework.test.context.junit.jupiter.SpringExtension;
-import org.springframework.test.web.servlet.MockMvc;
-
-import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.get;
-import static org.springframework.test.web.servlet.result.MockMvcResultHandlers.print;
-import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.jsonPath;
-import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status;
-
-@Log4j2
-@ExtendWith(SpringExtension.class)
-@AutoConfigureMockMvc
-@SpringBootTest
-public class ActuatorComponentTest extends BaseUnitTest {
-
-    @MockBean
-    private IdentifierIdxRepository identifierIdxRepository;
-
-    @Autowired
-    private MockMvc mockMvc;
-
-    @Test
-    public void actuatorInfo_succeeds() throws Exception {
-        this.mockMvc.perform(get("/actuator/info"))
-                .andDo(print())
-                .andExpect(status().isOk());
-    }
-
-    @Test
-    public void actuatorStatus_succeeds() throws Exception {
-        this.mockMvc.perform(get("/actuator/health"))
-                .andExpect(status().isOk())
-                .andExpect(jsonPath("$.status").value("UP"));
-    }
-
-    @Test
-    public void actuatorLiveness_succeeds() throws Exception {
-        this.mockMvc.perform(get("/actuator/health/liveness"))
-                .andExpect(status().isOk())
-                .andExpect(jsonPath("$.status").value("UP"));
-    }
-
-    @Test
-    public void actuatorReadiness_succeeds() throws Exception {
-        this.mockMvc.perform(get("/actuator/health/readiness"))
-                .andExpect(status().isOk())
-                .andExpect(jsonPath("$.status").value("UP"));
-    }
-
-    @Test
-    public void actuatorPrometheus_succeeds() throws Exception {
-        this.mockMvc.perform(get("/actuator/prometheus"));
-    }
-
-}
diff --git a/dbrepo-identifier-service/rest-service/src/test/java/at/tuwien/endpoint/IdentifierEndpointIntegrationTest.java b/dbrepo-identifier-service/rest-service/src/test/java/at/tuwien/endpoint/IdentifierEndpointIntegrationTest.java
deleted file mode 100644
index c7d774799d..0000000000
--- a/dbrepo-identifier-service/rest-service/src/test/java/at/tuwien/endpoint/IdentifierEndpointIntegrationTest.java
+++ /dev/null
@@ -1,309 +0,0 @@
-package at.tuwien.endpoint;
-
-import at.tuwien.BaseUnitTest;
-import at.tuwien.api.identifier.IdentifierDescriptionDto;
-import at.tuwien.api.identifier.IdentifierDto;
-import at.tuwien.api.identifier.IdentifierTitleDto;
-import at.tuwien.api.identifier.IdentifierTypeDto;
-import at.tuwien.endpoints.IdentifierEndpoint;
-import at.tuwien.exception.NotAllowedException;
-import at.tuwien.repository.mdb.*;
-import at.tuwien.repository.sdb.IdentifierIdxRepository;
-import lombok.extern.log4j.Log4j2;
-import org.junit.jupiter.api.BeforeEach;
-import org.junit.jupiter.api.Test;
-import org.junit.jupiter.api.extension.ExtendWith;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.boot.test.context.SpringBootTest;
-import org.springframework.boot.test.mock.mockito.MockBean;
-import org.springframework.http.HttpStatus;
-import org.springframework.http.ResponseEntity;
-import org.springframework.security.access.AccessDeniedException;
-import org.springframework.security.test.context.support.WithAnonymousUser;
-import org.springframework.security.test.context.support.WithMockUser;
-import org.springframework.test.annotation.DirtiesContext;
-import org.springframework.test.context.junit.jupiter.SpringExtension;
-import org.springframework.transaction.annotation.Transactional;
-
-import java.util.List;
-
-import static org.junit.jupiter.api.Assertions.*;
-
-@Log4j2
-@DirtiesContext(classMode = DirtiesContext.ClassMode.BEFORE_EACH_TEST_METHOD)
-@ExtendWith(SpringExtension.class)
-@SpringBootTest
-public class IdentifierEndpointIntegrationTest extends BaseUnitTest {
-
-    @MockBean
-    private IdentifierIdxRepository identifierIdxRepository;
-
-    @Autowired
-    private IdentifierRepository identifierRepository;
-
-    @Autowired
-    private DatabaseRepository databaseRepository;
-
-    @Autowired
-    private ImageRepository imageRepository;
-
-    @Autowired
-    private UserRepository userRepository;
-
-    @Autowired
-    private ContainerRepository containerRepository;
-
-    @Autowired
-    private RealmRepository realmRepository;
-
-    @Autowired
-    private LicenseRepository licenseRepository;
-
-    @Autowired
-    private IdentifierEndpoint identifierEndpoint;
-
-    @BeforeEach
-    public void beforeEach() {
-        imageRepository.save(IMAGE_1);
-        realmRepository.save(REALM_DBREPO);
-        licenseRepository.save(LICENSE_1);
-        userRepository.save(USER_1);
-        userRepository.save(USER_2);
-        userRepository.save(USER_3);
-        userRepository.save(USER_4);
-        containerRepository.save(CONTAINER_1_SIMPLE);
-        containerRepository.save(CONTAINER_2_SIMPLE);
-        containerRepository.save(CONTAINER_3_SIMPLE);
-        containerRepository.save(CONTAINER_4_SIMPLE);
-        databaseRepository.save(DATABASE_1_SIMPLE);
-        databaseRepository.save(DATABASE_2_SIMPLE);
-        databaseRepository.save(DATABASE_3_SIMPLE);
-        databaseRepository.save(DATABASE_4_SIMPLE);
-    }
-
-    @Test
-    @Transactional
-    @WithAnonymousUser
-    public void list_anonymous_succeeds() {
-
-        /* mock */
-        identifierRepository.save(IDENTIFIER_1);
-
-        /* test */
-        final List<IdentifierDto> response = generic_list(null, null, null, null);
-        assertEquals(1, response.size());
-        final IdentifierDto identifier = response.get(0);
-        assertEquals(IDENTIFIER_1_ID, identifier.getId());
-        final List<IdentifierTitleDto> titles = identifier.getTitles();
-        assertEquals(2, titles.size());
-        final IdentifierTitleDto title0 = titles.get(0);
-        assertEquals(IDENTIFIER_1_TITLE_1_TITLE, title0.getTitle());
-        assertEquals(IDENTIFIER_1_TITLE_1_LANG_DTO, title0.getLanguage());
-        assertEquals(IDENTIFIER_1_TITLE_1_TYPE_DTO, title0.getTitleType());
-        final IdentifierTitleDto title1 = titles.get(1);
-        assertEquals(IDENTIFIER_1_TITLE_2_TITLE, title1.getTitle());
-        assertEquals(IDENTIFIER_1_TITLE_2_LANG_DTO, title1.getLanguage());
-        assertEquals(IDENTIFIER_1_TITLE_2_TYPE_DTO, title1.getTitleType());
-        final List<IdentifierDescriptionDto> descriptions = identifier.getDescriptions();
-        assertEquals(1, descriptions.size());
-        final IdentifierDescriptionDto description0 = descriptions.get(0);
-        assertEquals(IDENTIFIER_1_DESCRIPTION_1_DESCRIPTION, description0.getDescription());
-        assertEquals(IDENTIFIER_1_DESCRIPTION_1_LANG_DTO, description0.getLanguage());
-    }
-
-    @Test
-    @Transactional
-    @WithMockUser(username = USER_1_USERNAME, authorities = {"list-identifiers"})
-    public void list_hasRole_succeeds() {
-
-        /* mock */
-        identifierRepository.save(IDENTIFIER_1);
-
-        /* test */
-        final List<IdentifierDto> response = generic_list(null, null, null, null);
-        assertEquals(1, response.size());
-        final IdentifierDto identifier = response.get(0);
-        assertEquals(IDENTIFIER_1_ID, identifier.getId());
-        final List<IdentifierTitleDto> titles = identifier.getTitles();
-        assertEquals(2, titles.size());
-        final IdentifierTitleDto title0 = titles.get(0);
-        assertEquals(IDENTIFIER_1_TITLE_1_TITLE, title0.getTitle());
-        assertEquals(IDENTIFIER_1_TITLE_1_LANG_DTO, title0.getLanguage());
-        assertEquals(IDENTIFIER_1_TITLE_1_TYPE_DTO, title0.getTitleType());
-        final IdentifierTitleDto title1 = titles.get(1);
-        assertEquals(IDENTIFIER_1_TITLE_2_TITLE, title1.getTitle());
-        assertEquals(IDENTIFIER_1_TITLE_2_LANG_DTO, title1.getLanguage());
-        assertEquals(IDENTIFIER_1_TITLE_2_TYPE_DTO, title1.getTitleType());
-        final List<IdentifierDescriptionDto> descriptions = identifier.getDescriptions();
-        assertEquals(1, descriptions.size());
-        final IdentifierDescriptionDto description0 = descriptions.get(0);
-        assertEquals(IDENTIFIER_1_DESCRIPTION_1_DESCRIPTION, description0.getDescription());
-        assertEquals(IDENTIFIER_1_DESCRIPTION_1_LANG_DTO, description0.getLanguage());
-    }
-
-    @Test
-    @Transactional
-    @WithMockUser(username = USER_4_USERNAME)
-    public void list_noRole_succeeds() {
-
-        /* mock */
-        identifierRepository.save(IDENTIFIER_1);
-
-        /* test */
-        final List<IdentifierDto> response = generic_list(null, null, null, null);
-        assertEquals(1, response.size());
-        final IdentifierDto identifier = response.get(0);
-        final List<IdentifierTitleDto> titles = identifier.getTitles();
-        assertEquals(2, titles.size());
-        final IdentifierTitleDto title0 = titles.get(0);
-        assertEquals(IDENTIFIER_1_TITLE_1_TITLE, title0.getTitle());
-        assertEquals(IDENTIFIER_1_TITLE_1_LANG_DTO, title0.getLanguage());
-        assertEquals(IDENTIFIER_1_TITLE_1_TYPE_DTO, title0.getTitleType());
-        final IdentifierTitleDto title1 = titles.get(1);
-        assertEquals(IDENTIFIER_1_TITLE_2_TITLE, title1.getTitle());
-        assertEquals(IDENTIFIER_1_TITLE_2_LANG_DTO, title1.getLanguage());
-        assertEquals(IDENTIFIER_1_TITLE_2_TYPE_DTO, title1.getTitleType());
-        final List<IdentifierDescriptionDto> descriptions = identifier.getDescriptions();
-        assertEquals(1, descriptions.size());
-        final IdentifierDescriptionDto description0 = descriptions.get(0);
-        assertEquals(IDENTIFIER_1_DESCRIPTION_1_DESCRIPTION, description0.getDescription());
-        assertEquals(IDENTIFIER_1_DESCRIPTION_1_LANG_DTO, description0.getLanguage());
-    }
-
-    @Test
-    @Transactional
-    @WithMockUser(username = USER_1_USERNAME)
-    public void list_databaseId_succeeds() {
-
-        /* mock */
-        identifierRepository.save(IDENTIFIER_1);
-
-        /* test */
-        final List<IdentifierDto> response = generic_list(DATABASE_1_ID, null, null, null);
-        assertEquals(1, response.size());
-        final IdentifierDto identifier = response.get(0);
-        final List<IdentifierTitleDto> titles = identifier.getTitles();
-        assertEquals(2, titles.size());
-        final IdentifierTitleDto title0 = titles.get(0);
-        assertEquals(IDENTIFIER_1_TITLE_1_TITLE, title0.getTitle());
-        assertEquals(IDENTIFIER_1_TITLE_1_LANG_DTO, title0.getLanguage());
-        assertEquals(IDENTIFIER_1_TITLE_1_TYPE_DTO, title0.getTitleType());
-        final IdentifierTitleDto title1 = titles.get(1);
-        assertEquals(IDENTIFIER_1_TITLE_2_TITLE, title1.getTitle());
-        assertEquals(IDENTIFIER_1_TITLE_2_LANG_DTO, title1.getLanguage());
-        assertEquals(IDENTIFIER_1_TITLE_2_TYPE_DTO, title1.getTitleType());
-        final List<IdentifierDescriptionDto> descriptions = identifier.getDescriptions();
-        assertEquals(1, descriptions.size());
-        final IdentifierDescriptionDto description0 = descriptions.get(0);
-        assertEquals(IDENTIFIER_1_DESCRIPTION_1_DESCRIPTION, description0.getDescription());
-        assertEquals(IDENTIFIER_1_DESCRIPTION_1_LANG_DTO, description0.getLanguage());
-    }
-
-    @Test
-    @WithMockUser(username = USER_1_USERNAME)
-    public void list_viewId_succeeds() {
-
-        /* mock */
-        identifierRepository.saveAll(List.of(IDENTIFIER_1, IDENTIFIER_2, IDENTIFIER_3, IDENTIFIER_4, IDENTIFIER_5, IDENTIFIER_6));
-
-        /* test */
-        final List<IdentifierDto> reponse = generic_list(null, null, VIEW_1_ID, null);
-        assertEquals(1, reponse.size());
-    }
-
-    @Test
-    @WithMockUser(username = USER_1_USERNAME)
-    public void list_viewType_succeeds() {
-
-        /* mock */
-        identifierRepository.saveAll(List.of(IDENTIFIER_1, IDENTIFIER_2, IDENTIFIER_3, IDENTIFIER_4, IDENTIFIER_5, IDENTIFIER_6));
-
-        /* test */
-        final List<IdentifierDto> reponse = generic_list(null, null, null, IdentifierTypeDto.VIEW);
-        assertEquals(1, reponse.size());
-    }
-
-    @Test
-    @WithMockUser(username = USER_1_USERNAME)
-    public void list_databaseIdAndType_succeeds() {
-
-        /* mock */
-        identifierRepository.save(IDENTIFIER_1);
-
-        /* test */
-        final List<IdentifierDto> response = generic_list(DATABASE_1_ID, null, null, IdentifierTypeDto.DATABASE);
-        assertEquals(1, response.size());
-        final IdentifierDto identifier = response.get(0);
-        assertEquals(0, identifier.getTitles().size());
-        assertEquals(0, identifier.getDescriptions().size());
-    }
-
-    @Test
-    @Transactional
-    @WithMockUser(username = USER_1_USERNAME)
-    public void list_subsetIdAndType_succeeds() {
-
-        /* mock */
-        identifierRepository.save(IDENTIFIER_1);
-
-        /* test */
-        final List<IdentifierDto> response = generic_list(DATABASE_1_ID, QUERY_1_ID, null, IdentifierTypeDto.DATABASE);
-        assertEquals(1, response.size());
-        final IdentifierDto identifier = response.get(0);
-        final List<IdentifierTitleDto> titles = identifier.getTitles();
-        assertEquals(2, titles.size());
-        final IdentifierTitleDto title0 = titles.get(0);
-        assertEquals(IDENTIFIER_1_TITLE_1_TITLE, title0.getTitle());
-        assertEquals(IDENTIFIER_1_TITLE_1_LANG_DTO, title0.getLanguage());
-        assertEquals(IDENTIFIER_1_TITLE_1_TYPE_DTO, title0.getTitleType());
-        final IdentifierTitleDto title1 = titles.get(1);
-        assertEquals(IDENTIFIER_1_TITLE_2_TITLE, title1.getTitle());
-        assertEquals(IDENTIFIER_1_TITLE_2_LANG_DTO, title1.getLanguage());
-        assertEquals(IDENTIFIER_1_TITLE_2_TYPE_DTO, title1.getTitleType());
-        final List<IdentifierDescriptionDto> descriptions = identifier.getDescriptions();
-        assertEquals(1, descriptions.size());
-        final IdentifierDescriptionDto description0 = descriptions.get(0);
-        assertEquals(IDENTIFIER_1_DESCRIPTION_1_DESCRIPTION, description0.getDescription());
-        assertEquals(IDENTIFIER_1_DESCRIPTION_1_LANG_DTO, description0.getLanguage());
-    }
-
-    @Test
-    @Transactional
-    @WithMockUser(username = USER_4_USERNAME)
-    public void create_noRole_fails() {
-
-        /* test */
-        assertThrows(AccessDeniedException.class, () -> {
-            identifierEndpoint.create(IDENTIFIER_2_DTO_REQUEST, "ABC", USER_4_PRINCIPAL);
-        });
-    }
-
-    @Test
-    @Transactional
-    @WithMockUser(username = USER_1_USERNAME, authorities = {"create-identifier"})
-    public void create_accessNotExists_fails() {
-
-        /* mock */
-        containerRepository.save(CONTAINER_3_SIMPLE);
-        databaseRepository.save(DATABASE_3_SIMPLE);
-
-        /* test */
-        assertThrows(NotAllowedException.class, () -> {
-            identifierEndpoint.create(IDENTIFIER_3_DTO_REQUEST, "ABC", USER_1_PRINCIPAL);
-        });
-    }
-
-    /* ################################################################################################### */
-    /* ## GENERIC TEST CASES                                                                            ## */
-    /* ################################################################################################### */
-
-    protected List<IdentifierDto> generic_list(Long databaseId, Long queryId, Long viewId, IdentifierTypeDto type) {
-
-        /* test */
-        final ResponseEntity<List<IdentifierDto>> response = identifierEndpoint.list(databaseId, queryId, viewId, type);
-        assertEquals(HttpStatus.OK, response.getStatusCode());
-        assertNotNull(response.getBody());
-        return response.getBody();
-    }
-
-}
diff --git a/dbrepo-identifier-service/rest-service/src/test/java/at/tuwien/endpoint/IdentifierEndpointUnitTest.java b/dbrepo-identifier-service/rest-service/src/test/java/at/tuwien/endpoint/IdentifierEndpointUnitTest.java
deleted file mode 100644
index 0b5e179679..0000000000
--- a/dbrepo-identifier-service/rest-service/src/test/java/at/tuwien/endpoint/IdentifierEndpointUnitTest.java
+++ /dev/null
@@ -1,331 +0,0 @@
-package at.tuwien.endpoint;
-
-import at.tuwien.BaseUnitTest;
-import at.tuwien.api.identifier.*;
-import at.tuwien.config.EndpointConfig;
-import at.tuwien.endpoints.IdentifierEndpoint;
-import at.tuwien.endpoints.PersistenceEndpoint;
-import at.tuwien.entities.database.Database;
-import at.tuwien.entities.database.DatabaseAccess;
-import at.tuwien.entities.identifier.Identifier;
-import at.tuwien.entities.user.User;
-import at.tuwien.exception.*;
-import at.tuwien.gateway.QueryServiceGateway;
-import at.tuwien.repository.mdb.*;
-import at.tuwien.repository.sdb.IdentifierIdxRepository;
-import at.tuwien.service.AccessService;
-import at.tuwien.service.IdentifierService;
-import org.apache.commons.io.FileUtils;
-import org.junit.jupiter.api.Test;
-import org.junit.jupiter.api.extension.ExtendWith;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.boot.test.context.SpringBootTest;
-import org.springframework.boot.test.mock.mockito.MockBean;
-import org.springframework.core.io.InputStreamResource;
-import org.springframework.http.HttpStatus;
-import org.springframework.http.ResponseEntity;
-import org.springframework.security.access.AccessDeniedException;
-import org.springframework.security.test.context.support.WithAnonymousUser;
-import org.springframework.security.test.context.support.WithMockUser;
-import org.springframework.test.context.junit.jupiter.SpringExtension;
-
-import java.io.File;
-import java.io.IOException;
-import java.security.Principal;
-import java.util.List;
-import java.util.Optional;
-import java.util.UUID;
-
-import static org.junit.jupiter.api.Assertions.*;
-import static org.mockito.ArgumentMatchers.any;
-import static org.mockito.Mockito.doThrow;
-import static org.mockito.Mockito.when;
-
-@ExtendWith(SpringExtension.class)
-@SpringBootTest
-public class IdentifierEndpointUnitTest extends BaseUnitTest {
-
-    @MockBean
-    private IdentifierService identifierService;
-
-    @MockBean
-    private DatabaseRepository databaseRepository;
-
-    @MockBean
-    private IdentifierRepository identifierRepository;
-
-    @MockBean
-    private AccessService accessService;
-
-    @MockBean
-    private UserRepository userRepository;
-
-    @MockBean
-    private AccessRepository accessRepository;
-
-    @MockBean
-    private QueryServiceGateway queryServiceGateway;
-
-    @MockBean
-    private IdentifierIdxRepository identifierIdxRepository;
-
-    @Autowired
-    private IdentifierEndpoint identifierEndpoint;
-
-    @Autowired
-    private PersistenceEndpoint persistenceEndpoint;
-
-    @Autowired
-    private EndpointConfig endpointConfig;
-
-    @Test
-    @WithAnonymousUser
-    public void find_json_succeeds() throws IdentifierNotFoundException, QueryNotFoundException,
-            RemoteUnavailableException, IdentifierRequestException {
-        final String accept = "application/json";
-
-        /* mock */
-        when(identifierService.find(IDENTIFIER_1_ID))
-                .thenReturn(IDENTIFIER_1);
-
-        /* test */
-        final ResponseEntity<?> response = persistenceEndpoint.find(IDENTIFIER_1_ID, accept);
-        assertEquals(HttpStatus.OK, response.getStatusCode());
-        final IdentifierDto body = (IdentifierDto) response.getBody();
-        assertNotNull(body);
-        final List<IdentifierTitleDto> titles = body.getTitles();
-        assertEquals(2, titles.size());
-        final IdentifierTitleDto title0 = titles.get(0);
-        assertEquals(IDENTIFIER_1_TITLE_1_TITLE, title0.getTitle());
-        assertEquals(IDENTIFIER_1_TITLE_1_LANG_DTO, title0.getLanguage());
-        final List<IdentifierDescriptionDto> descriptions = body.getDescriptions();
-        assertEquals(1, descriptions.size());
-        final IdentifierDescriptionDto description0 = descriptions.get(0);
-        assertEquals(IDENTIFIER_1_DESCRIPTION_1_DESCRIPTION, description0.getDescription());
-        assertEquals(IDENTIFIER_1_DESCRIPTION_1_LANG_DTO, description0.getLanguage());
-    }
-
-    @Test
-    @WithAnonymousUser
-    public void find_xml_succeeds() throws IdentifierNotFoundException, QueryNotFoundException,
-            RemoteUnavailableException, IdentifierRequestException, IOException {
-        final InputStreamResource resource = new InputStreamResource(FileUtils.openInputStream(
-                new File("src/test/resources/xml/datacite-example-dataset-v4.xml")));
-
-        /* test */
-        final ResponseEntity<?> response = generic_find("text/xml", resource);
-        assertEquals(HttpStatus.OK, response.getStatusCode());
-        final InputStreamResource body = (InputStreamResource) response.getBody();
-        assertNotNull(body);
-        assertTrue(body.exists());
-        assertEquals(resource, body);
-    }
-
-    @Test
-    @WithAnonymousUser
-    public void find_csv_succeeds() throws IdentifierNotFoundException, QueryNotFoundException,
-            RemoteUnavailableException, IOException, IdentifierRequestException {
-        final InputStreamResource resource = new InputStreamResource(FileUtils.openInputStream(
-                new File("src/test/resources/csv/testdata.csv")));
-
-        /* test */
-        final ResponseEntity<?> response = generic_find("text/csv", resource);
-        assertEquals(HttpStatus.OK, response.getStatusCode());
-        final InputStreamResource body = (InputStreamResource) response.getBody();
-        assertNotNull(body);
-        assertTrue(body.exists());
-        assertEquals(resource, body);
-    }
-
-    @Test
-    @WithAnonymousUser
-    public void find_httpRedirect_succeeds() throws IdentifierNotFoundException, QueryNotFoundException,
-            RemoteUnavailableException, IdentifierRequestException {
-
-        /* test */
-        final ResponseEntity<?> response = generic_find(null, null);
-        assertEquals(HttpStatus.MOVED_PERMANENTLY, response.getStatusCode());
-        assertNotNull(response.getHeaders().get("Location"));
-        assertEquals(endpointConfig.getWebsiteUrl() + "/database/"
-                + IDENTIFIER_1_DATABASE_ID, response.getHeaders().getFirst("Location"));
-    }
-
-    @Test
-    @WithAnonymousUser
-    public void create_anonymousDatabase_fails() {
-
-        /* test */
-        assertThrows(AccessDeniedException.class, () -> {
-            generic_create(DATABASE_1_ID, DATABASE_1, null, IDENTIFIER_1_DTO_REQUEST, null, null, null, null, null);
-        });
-    }
-
-    @Test
-    @WithMockUser(username = USER_1_USERNAME, authorities = {"create-identifier"})
-    public void create_hasRoleDatabase_succeeds() throws IdentifierAlreadyExistsException,
-            UserNotFoundException, QueryNotFoundException, DatabaseNotFoundException, RemoteUnavailableException,
-            IdentifierPublishingNotAllowedException, IdentifierRequestException, NotAllowedException,
-            ViewNotFoundException, at.tuwien.exception.AccessDeniedException {
-
-        /* mock */
-        when(accessRepository.findByHdbidAndHuserid(DATABASE_1_ID, USER_1_ID))
-                .thenReturn(Optional.of(DATABASE_1_USER_1_READ_ACCESS));
-
-        /* test */
-        generic_create(DATABASE_1_ID, DATABASE_1, DATABASE_1_USER_1_READ_ACCESS, IDENTIFIER_1_DTO_REQUEST, IDENTIFIER_1, USER_1_PRINCIPAL, USER_1_ID, USER_1_USERNAME, USER_1);
-    }
-
-    @Test
-    @WithMockUser(username = USER_1_USERNAME, authorities = {"create-identifier"})
-    public void create_hasRoleDatabaseNoAccess_fails() {
-
-        /* test */
-        assertThrows(NotAllowedException.class, () -> {
-            generic_create(DATABASE_1_ID, DATABASE_1, null, IDENTIFIER_1_DTO_REQUEST, IDENTIFIER_1, USER_1_PRINCIPAL, USER_1_ID, USER_1_USERNAME, USER_1);
-        });
-    }
-
-    @Test
-    @WithAnonymousUser
-    public void create_anonymousQuery_fails() {
-
-        /* test */
-        assertThrows(AccessDeniedException.class, () -> {
-            generic_create(DATABASE_2_ID, DATABASE_2, null, IDENTIFIER_2_DTO_REQUEST, IDENTIFIER_2, null, null, null, null);
-        });
-    }
-
-    @Test
-    @WithMockUser(username = USER_2_USERNAME, authorities = {"create-identifier"})
-    public void create_hasRoleReadAccessQuery_succeeds() throws IdentifierAlreadyExistsException,
-            UserNotFoundException, QueryNotFoundException, DatabaseNotFoundException, RemoteUnavailableException,
-            IdentifierPublishingNotAllowedException, IdentifierRequestException, NotAllowedException,
-            at.tuwien.exception.AccessDeniedException, ViewNotFoundException {
-
-        /* test */
-        generic_create(DATABASE_2_ID, DATABASE_2, DATABASE_2_USER_1_READ_ACCESS, IDENTIFIER_2_DTO_REQUEST, IDENTIFIER_2, USER_2_PRINCIPAL, USER_2_ID, USER_2_USERNAME, USER_2);
-    }
-
-    @Test
-    @WithMockUser(username = USER_1_USERNAME, authorities = {"create-identifier"})
-    public void create_invalidSubset_fails() {
-        final IdentifierSaveDto request = IdentifierSaveDto.builder()
-                .queryId(null)  // <--
-                .databaseId(IDENTIFIER_1_DATABASE_ID)
-                .descriptions(List.of(IDENTIFIER_1_DESCRIPTION_1_CREATE_DTO))
-                .titles(List.of(IDENTIFIER_1_TITLE_1_CREATE_DTO))
-                .relatedIdentifiers(List.of())
-                .publicationMonth(IDENTIFIER_1_PUBLICATION_MONTH)
-                .publicationYear(IDENTIFIER_1_PUBLICATION_YEAR)
-                .creators(List.of(IDENTIFIER_2_CREATOR_1_CREATE_DTO, IDENTIFIER_2_CREATOR_2_CREATE_DTO))
-                .publisher(IDENTIFIER_1_PUBLISHER)
-                .type(IdentifierTypeDto.SUBSET)
-                .build();
-
-        /* test */
-        assertThrows(IdentifierRequestException.class, () -> {
-            generic_create(DATABASE_1_ID, DATABASE_1, DATABASE_1_USER_1_READ_ACCESS, request, null, USER_1_PRINCIPAL, USER_1_ID, USER_1_USERNAME, USER_1);
-        });
-    }
-
-    @Test
-    @WithMockUser(username = USER_1_USERNAME, authorities = {"create-identifier"})
-    public void create_invalidDatabase_fails() {
-        final IdentifierSaveDto request = IdentifierSaveDto.builder()
-                .queryId(IDENTIFIER_1_QUERY_ID) // <--
-                .databaseId(IDENTIFIER_1_DATABASE_ID)
-                .descriptions(List.of(IDENTIFIER_1_DESCRIPTION_1_CREATE_DTO))
-                .titles(List.of(IDENTIFIER_1_TITLE_1_CREATE_DTO))
-                .relatedIdentifiers(List.of(IDENTIFIER_1_RELATED_IDENTIFIER_2_CREATE_DTO))
-                .publicationDay(IDENTIFIER_2_PUBLICATION_DAY)
-                .publicationMonth(IDENTIFIER_2_PUBLICATION_MONTH)
-                .publicationYear(IDENTIFIER_2_PUBLICATION_YEAR)
-                .creators(List.of(IDENTIFIER_2_CREATOR_1_CREATE_DTO, IDENTIFIER_2_CREATOR_2_CREATE_DTO))
-                .publisher(IDENTIFIER_2_PUBLISHER)
-                .type(IdentifierTypeDto.DATABASE)
-                .build();
-
-        /* test */
-        assertThrows(IdentifierRequestException.class, () -> {
-            generic_create(DATABASE_1_ID, DATABASE_1, DATABASE_1_USER_1_READ_ACCESS, request, null, USER_1_PRINCIPAL, USER_1_ID, USER_1_USERNAME, USER_1);
-        });
-    }
-
-    @Test
-    @WithMockUser(username = USER_1_USERNAME, authorities = {"create-identifier"})
-    public void create_queryForeign_fails() {
-
-        /* test */
-        assertThrows(NotAllowedException.class, () -> {
-            generic_create(DATABASE_2_ID, DATABASE_2, null, IDENTIFIER_2_DTO_REQUEST, IDENTIFIER_2, USER_1_PRINCIPAL, USER_1_ID, USER_1_USERNAME, USER_1);
-        });
-    }
-
-    /* ################################################################################################### */
-    /* ## GENERIC TEST CASES                                                                            ## */
-    /* ################################################################################################### */
-
-    protected void generic_create(Long databaseId, Database database, DatabaseAccess access,
-                                  IdentifierSaveDto data, Identifier identifier, Principal principal, UUID userId,
-                                  String username, User user) throws QueryNotFoundException, RemoteUnavailableException,
-            IdentifierAlreadyExistsException, UserNotFoundException, DatabaseNotFoundException,
-            IdentifierPublishingNotAllowedException, IdentifierRequestException, NotAllowedException,
-            at.tuwien.exception.AccessDeniedException, ViewNotFoundException {
-
-        /* mock */
-        when(databaseRepository.findById(databaseId))
-                .thenReturn(Optional.of(database));
-        if (user == null) {
-            when(userRepository.findByUsername(username))
-                    .thenReturn(Optional.empty());
-        } else {
-            when(userRepository.findByUsername(username))
-                    .thenReturn(Optional.of(user));
-        }
-        if (access != null) {
-            when(accessService.find(databaseId, userId))
-                    .thenReturn(access);
-        } else {
-            doThrow(at.tuwien.exception.AccessDeniedException.class)
-                    .when(accessService)
-                    .find(databaseId, userId);
-        }
-        when(queryServiceGateway.find(databaseId, data, "ABC"))
-                .thenReturn(QUERY_1_DTO);
-        when(identifierService.create(data, principal, "ABC"))
-                .thenReturn(identifier);
-        when(identifierRepository.save(any(Identifier.class)))
-                .thenReturn(identifier)
-                .thenReturn(identifier);
-
-        /* test */
-        final ResponseEntity<IdentifierDto> response = identifierEndpoint.create(data, "ABC", principal);
-        assertEquals(HttpStatus.CREATED, response.getStatusCode());
-        final IdentifierDto body = response.getBody();
-        assertNotNull(body);
-        assertEquals(identifier.getId(), body.getId());
-        assertEquals(identifier.getQuery(), body.getQuery());
-        assertEquals(identifier.getQueryHash(), body.getQueryHash());
-        assertEquals(identifier.getResultHash(), body.getResultHash());
-        assertEquals(identifier.getResultNumber(), body.getResultNumber());
-    }
-
-    protected ResponseEntity<?> generic_find(String accept, InputStreamResource resource)
-            throws IdentifierNotFoundException, QueryNotFoundException, RemoteUnavailableException,
-            IdentifierRequestException {
-
-        /* mock */
-        when(identifierService.find(IDENTIFIER_1_ID))
-                .thenReturn(IDENTIFIER_1);
-        if (resource != null) {
-            when(identifierService.exportResource(IDENTIFIER_1_ID))
-                    .thenReturn(resource);
-            when(identifierService.exportMetadata(IDENTIFIER_1_ID))
-                    .thenReturn(resource);
-        }
-
-        /* test */
-        return persistenceEndpoint.find(IDENTIFIER_1_ID, accept);
-    }
-
-}
diff --git a/dbrepo-identifier-service/rest-service/src/test/java/at/tuwien/endpoint/PersistenceEndpointUnitTest.java b/dbrepo-identifier-service/rest-service/src/test/java/at/tuwien/endpoint/PersistenceEndpointUnitTest.java
deleted file mode 100644
index e89cda19dc..0000000000
--- a/dbrepo-identifier-service/rest-service/src/test/java/at/tuwien/endpoint/PersistenceEndpointUnitTest.java
+++ /dev/null
@@ -1,672 +0,0 @@
-package at.tuwien.endpoint;
-
-import at.tuwien.BaseUnitTest;
-import at.tuwien.api.identifier.BibliographyTypeDto;
-import at.tuwien.api.identifier.CreatorDto;
-import at.tuwien.api.identifier.IdentifierDto;
-import at.tuwien.api.identifier.IdentifierSaveDto;
-import at.tuwien.endpoints.PersistenceEndpoint;
-import at.tuwien.entities.identifier.Identifier;
-import at.tuwien.entities.user.User;
-import at.tuwien.exception.*;
-import at.tuwien.repository.sdb.IdentifierIdxRepository;
-import at.tuwien.service.AccessService;
-import at.tuwien.service.IdentifierService;
-import at.tuwien.service.UserService;
-import com.fasterxml.jackson.databind.ObjectMapper;
-import com.fasterxml.jackson.databind.SerializationFeature;
-import com.fasterxml.jackson.datatype.jdk8.Jdk8Module;
-import com.fasterxml.jackson.datatype.jsr310.JavaTimeModule;
-import org.apache.commons.io.FileUtils;
-import org.apache.commons.io.IOUtils;
-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;
-import org.springframework.boot.test.context.SpringBootTest;
-import org.springframework.boot.test.mock.mockito.MockBean;
-import org.springframework.context.annotation.Bean;
-import org.springframework.context.annotation.Primary;
-import org.springframework.core.io.InputStreamResource;
-import org.springframework.http.HttpStatus;
-import org.springframework.http.ResponseEntity;
-import org.springframework.security.access.AccessDeniedException;
-import org.springframework.security.test.context.support.WithAnonymousUser;
-import org.springframework.security.test.context.support.WithMockUser;
-import org.springframework.test.context.junit.jupiter.SpringExtension;
-
-import java.io.File;
-import java.io.IOException;
-import java.io.InputStream;
-import java.nio.charset.StandardCharsets;
-import java.security.Principal;
-import java.util.TimeZone;
-
-import static org.junit.jupiter.api.Assertions.*;
-import static org.mockito.Mockito.*;
-
-@ExtendWith(SpringExtension.class)
-@SpringBootTest
-public class PersistenceEndpointUnitTest extends BaseUnitTest {
-
-    @MockBean
-    private IdentifierIdxRepository identifierIdxRepository;
-
-    @MockBean
-    private AccessService accessService;
-
-    @MockBean
-    private IdentifierService identifierService;
-
-    @MockBean
-    private UserService userService;
-
-    @Autowired
-    private ObjectMapper objectMapper;
-
-    @Autowired
-    private PersistenceEndpoint persistenceEndpoint;
-
-    @Bean
-    @Primary
-    public ObjectMapper objectMapper() {
-        final ObjectMapper objectMapper = new ObjectMapper();
-        objectMapper.registerModule(new Jdk8Module());
-        objectMapper.registerModule(new JavaTimeModule());
-        objectMapper.configure(SerializationFeature.WRITE_DATES_AS_TIMESTAMPS, false);
-        objectMapper.setTimeZone(TimeZone.getTimeZone("UTC"));
-        return objectMapper;
-    }
-
-    @Test
-    @WithAnonymousUser
-    public void find_json0_succeeds() throws IdentifierNotFoundException, QueryNotFoundException,
-            RemoteUnavailableException, IdentifierRequestException, IOException {
-        final String accept = "application/json";
-        final IdentifierDto compare = objectMapper.readValue(FileUtils.readFileToString(new File("src/test/resources/json/metadata0.json"), StandardCharsets.UTF_8), IdentifierDto.class);
-
-        /* mock */
-        when(identifierService.find(IDENTIFIER_4_ID))
-                .thenReturn(IDENTIFIER_4);
-
-        /* test */
-        final ResponseEntity<?> response = persistenceEndpoint.find(IDENTIFIER_4_ID, accept);
-        assertEquals(HttpStatus.OK, response.getStatusCode());
-        final IdentifierDto body = (IdentifierDto) response.getBody();
-        assertNotNull(body);
-        assertEquals(compare.getId(), body.getId());
-        assertEquals(compare.getTitles().size(), body.getTitles().size());
-        assertEquals(compare.getDescriptions().size(), body.getDescriptions().size());
-        assertEquals(compare.getDescriptions(), body.getDescriptions());
-        assertEquals(compare.getDatabase().getId(), body.getDatabase().getId());
-        assertEquals(compare.getCreated(), body.getCreated());
-        assertEquals(compare.getLastModified(), body.getLastModified());
-        assertEquals(compare.getDoi(), body.getDoi());
-        assertEquals(compare.getLicenses().size(), body.getLicenses().size());
-        assertEquals(compare.getPublicationDay(), body.getPublicationDay());
-        assertEquals(compare.getPublicationMonth(), body.getPublicationMonth());
-        assertEquals(compare.getPublicationYear(), body.getPublicationYear());
-        assertEquals(compare.getPublisher(), body.getPublisher());
-        assertEquals(compare.getCreators().size(), body.getCreators().size());
-    }
-
-    @Test
-    @WithAnonymousUser
-    public void find_json1_succeeds() throws IdentifierNotFoundException, QueryNotFoundException,
-            RemoteUnavailableException, IdentifierRequestException, IOException {
-        final String accept = "application/json";
-        final IdentifierDto compare = objectMapper.readValue(FileUtils.readFileToString(new File("src/test/resources/json/metadata1.json"), StandardCharsets.UTF_8), IdentifierDto.class);
-
-        /* mock */
-        when(identifierService.find(IDENTIFIER_1_ID))
-                .thenReturn(IDENTIFIER_1);
-
-        /* test */
-        final ResponseEntity<?> response = persistenceEndpoint.find(IDENTIFIER_1_ID, accept);
-        assertEquals(HttpStatus.OK, response.getStatusCode());
-        final IdentifierDto body = (IdentifierDto) response.getBody();
-        assertNotNull(body);
-        assertEquals(compare.getId(), body.getId());
-        assertEquals(compare.getTitles().size(), body.getTitles().size());
-        assertEquals(compare.getTitles().get(0).getId(), body.getTitles().get(0).getId());
-        assertEquals(compare.getTitles().get(0).getTitle(), body.getTitles().get(0).getTitle());
-        assertEquals(compare.getTitles().get(0).getLanguage(), body.getTitles().get(0).getLanguage());
-        assertEquals(compare.getTitles().get(0).getTitleType(), body.getTitles().get(0).getTitleType());
-        assertEquals(compare.getDescriptions().size(), body.getDescriptions().size());
-        assertEquals(compare.getDescriptions().get(0).getId(), body.getDescriptions().get(0).getId());
-        assertEquals(compare.getDescriptions().get(0).getDescription(), body.getDescriptions().get(0).getDescription());
-        assertEquals(compare.getDescriptions().get(0).getLanguage(), body.getDescriptions().get(0).getLanguage());
-        assertEquals(compare.getDescriptions().get(0).getDescriptionType(), body.getDescriptions().get(0).getDescriptionType());
-        assertEquals(compare.getDatabase().getId(), body.getDatabase().getId());
-        assertEquals(compare.getCreated(), body.getCreated());
-        assertEquals(compare.getLastModified(), body.getLastModified());
-        assertEquals(compare.getDoi(), body.getDoi());
-        assertEquals(compare.getLicenses().size(), body.getLicenses().size());
-        assertEquals(compare.getLicenses().get(0).getIdentifier(), body.getLicenses().get(0).getIdentifier());
-        assertEquals(compare.getLicenses().get(0).getUri(), body.getLicenses().get(0).getUri());
-        assertEquals(compare.getPublicationDay(), body.getPublicationDay());
-        assertEquals(compare.getPublicationMonth(), body.getPublicationMonth());
-        assertEquals(compare.getPublicationYear(), body.getPublicationYear());
-        assertEquals(compare.getPublisher(), body.getPublisher());
-        assertNotNull(compare.getCreators());
-        assertNotNull(body.getCreators());
-        assertEquals(compare.getCreators().size(), body.getCreators().size());
-        final CreatorDto creator0 = body.getCreators().get(0);
-        assertEquals(compare.getCreators().get(0).getFirstname(), creator0.getFirstname());
-        assertEquals(compare.getCreators().get(0).getLastname(), creator0.getLastname());
-        assertEquals(compare.getCreators().get(0).getCreatorName(), creator0.getCreatorName());
-        assertEquals(compare.getCreators().get(0).getAffiliation(), creator0.getAffiliation());
-        assertEquals(compare.getCreators().get(0).getAffiliationIdentifier(), creator0.getAffiliationIdentifier());
-        assertEquals(compare.getCreators().get(0).getAffiliationIdentifierScheme(), creator0.getAffiliationIdentifierScheme());
-        assertEquals(compare.getCreators().get(0).getNameIdentifier(), creator0.getNameIdentifier());
-        assertEquals(compare.getCreators().get(0).getNameIdentifierScheme(), creator0.getNameIdentifierScheme());
-    }
-
-    @Test
-    @WithAnonymousUser
-    public void find_csv_succeeds() throws IdentifierNotFoundException, QueryNotFoundException,
-            RemoteUnavailableException, IdentifierRequestException, IOException {
-        final String accept = "text/csv";
-        final InputStreamResource compare = new InputStreamResource(FileUtils.openInputStream(new File("src/test/resources/csv/keyboard.csv")));
-        final InputStreamResource mock = new InputStreamResource(FileUtils.openInputStream(new File("src/test/resources/csv/keyboard.csv")));
-
-        /* mock */
-        when(identifierService.find(IDENTIFIER_1_ID))
-                .thenReturn(IDENTIFIER_1);
-        when(identifierService.exportResource(IDENTIFIER_1_ID))
-                .thenReturn(mock);
-
-        /* test */
-        final ResponseEntity<?> response = persistenceEndpoint.find(IDENTIFIER_1_ID, accept);
-        assertEquals(HttpStatus.OK, response.getStatusCode());
-        final InputStreamResource body = (InputStreamResource) response.getBody();
-        assertNotNull(body);
-        assertEquals(inputStreamToString(compare.getInputStream()), inputStreamToString(body.getInputStream()));
-    }
-
-    @Test
-    @Disabled("not testable with xml")
-    public void find_xml0_succeeds() throws IdentifierNotFoundException, QueryNotFoundException,
-            RemoteUnavailableException, IdentifierRequestException, IOException {
-        final String accept = "text/xml";
-        final InputStreamResource compare = new InputStreamResource(FileUtils.openInputStream(new File("src/test/resources/xml/metadata0.xml")));
-
-        /* mock */
-        when(identifierService.find(IDENTIFIER_1_ID))
-                .thenReturn(IDENTIFIER_1);
-
-        /* test */
-        final ResponseEntity<?> response = persistenceEndpoint.find(IDENTIFIER_1_ID, accept);
-        assertEquals(HttpStatus.OK, response.getStatusCode());
-        final InputStreamResource body = (InputStreamResource) response.getBody();
-        assertNotNull(body);
-        assertEquals(inputStreamToString(compare.getInputStream()), inputStreamToString(body.getInputStream()));
-    }
-
-    @Test
-    @Disabled("not testable with xml")
-    public void find_xml1_succeeds() throws IdentifierNotFoundException, QueryNotFoundException,
-            RemoteUnavailableException, IdentifierRequestException, IOException {
-        final String accept = "text/xml";
-        final InputStreamResource compare = new InputStreamResource(FileUtils.openInputStream(new File("src/test/resources/xml/metadata1.xml")));
-
-        /* mock */
-        when(identifierService.find(IDENTIFIER_1_ID))
-                .thenReturn(IDENTIFIER_1);
-
-        /* test */
-        final ResponseEntity<?> response = persistenceEndpoint.find(IDENTIFIER_1_ID, accept);
-        assertEquals(HttpStatus.OK, response.getStatusCode());
-        final InputStreamResource body = (InputStreamResource) response.getBody();
-        assertNotNull(body);
-        assertEquals(inputStreamToString(body.getInputStream()), inputStreamToString(compare.getInputStream()));
-
-    }
-
-    @Test
-    @WithAnonymousUser
-    public void find_bibliography_succeeds() throws IdentifierNotFoundException, QueryNotFoundException,
-            RemoteUnavailableException, IdentifierRequestException, IOException {
-        final String accept = "text/bibliography";
-        final String compare = FileUtils.readFileToString(new File("src/test/resources/bibliography/style_apa1.txt"),
-                StandardCharsets.UTF_8);
-
-        /* mock */
-        when(identifierService.exportBibliography(IDENTIFIER_1_ID, BibliographyTypeDto.APA))
-                .thenReturn(compare);
-        when(identifierService.find(IDENTIFIER_1_ID))
-                .thenReturn(IDENTIFIER_1);
-
-        /* test */
-        final ResponseEntity<?> response = persistenceEndpoint.find(IDENTIFIER_1_ID, accept);
-        assertEquals(HttpStatus.OK, response.getStatusCode());
-        final String body = (String) response.getBody();
-        assertNotNull(body);
-        assertEquals(compare, body);
-    }
-
-    @Test
-    @WithAnonymousUser
-    public void find_bibliographyApa0_succeeds() throws IdentifierNotFoundException, QueryNotFoundException,
-            RemoteUnavailableException, IdentifierRequestException, IOException {
-        final String accept = "text/bibliography; style=apa";
-        final String compare = FileUtils.readFileToString(new File("src/test/resources/bibliography/style_apa0.txt"),
-                StandardCharsets.UTF_8);
-
-        /* mock */
-        when(identifierService.exportBibliography(IDENTIFIER_4_ID, BibliographyTypeDto.APA))
-                .thenReturn(compare);
-        when(identifierService.find(IDENTIFIER_4_ID))
-                .thenReturn(IDENTIFIER_4);
-
-        /* test */
-        final ResponseEntity<?> response = persistenceEndpoint.find(IDENTIFIER_4_ID, accept);
-        assertEquals(HttpStatus.OK, response.getStatusCode());
-        final String body = (String) response.getBody();
-        assertNotNull(body);
-        assertEquals(compare, body);
-    }
-
-    @Test
-    @WithAnonymousUser
-    public void find_bibliographyApa1_succeeds() throws IdentifierNotFoundException, QueryNotFoundException,
-            RemoteUnavailableException, IdentifierRequestException, IOException {
-        final String accept = "text/bibliography; style=apa";
-        final String compare = FileUtils.readFileToString(new File("src/test/resources/bibliography/style_apa1.txt"),
-                StandardCharsets.UTF_8);
-
-        /* mock */
-        when(identifierService.exportBibliography(IDENTIFIER_1_ID, BibliographyTypeDto.APA))
-                .thenReturn(compare);
-        when(identifierService.find(IDENTIFIER_1_ID))
-                .thenReturn(IDENTIFIER_1);
-
-        /* test */
-        final ResponseEntity<?> response = persistenceEndpoint.find(IDENTIFIER_1_ID, accept);
-        assertEquals(HttpStatus.OK, response.getStatusCode());
-        final String body = (String) response.getBody();
-        assertNotNull(body);
-        assertEquals(compare, body);
-    }
-
-    @Test
-    @WithAnonymousUser
-    public void find_bibliographyApa2_succeeds() throws IdentifierNotFoundException, QueryNotFoundException,
-            RemoteUnavailableException, IdentifierRequestException, IOException {
-        final String accept = "text/bibliography; style=apa";
-        final String compare = FileUtils.readFileToString(new File("src/test/resources/bibliography/style_apa2.txt"),
-                StandardCharsets.UTF_8);
-
-        /* mock */
-        when(identifierService.exportBibliography(IDENTIFIER_2_ID, BibliographyTypeDto.APA))
-                .thenReturn(compare);
-        when(identifierService.find(IDENTIFIER_2_ID))
-                .thenReturn(IDENTIFIER_2);
-
-        /* test */
-        final ResponseEntity<?> response = persistenceEndpoint.find(IDENTIFIER_2_ID, accept);
-        assertEquals(HttpStatus.OK, response.getStatusCode());
-        final String body = (String) response.getBody();
-        assertNotNull(body);
-        assertEquals(compare, body);
-    }
-
-    @Test
-    @WithAnonymousUser
-    public void find_bibliographyApa3_succeeds() throws IdentifierNotFoundException, QueryNotFoundException,
-            RemoteUnavailableException, IdentifierRequestException, IOException {
-        final String accept = "text/bibliography; style=apa";
-        final String compare = FileUtils.readFileToString(new File("src/test/resources/bibliography/style_apa3.txt"),
-                StandardCharsets.UTF_8);
-
-        /* mock */
-        when(identifierService.exportBibliography(IDENTIFIER_3_ID, BibliographyTypeDto.APA))
-                .thenReturn(compare);
-        when(identifierService.find(IDENTIFIER_3_ID))
-                .thenReturn(IDENTIFIER_3);
-
-        /* test */
-        final ResponseEntity<?> response = persistenceEndpoint.find(IDENTIFIER_3_ID, accept);
-        assertEquals(HttpStatus.OK, response.getStatusCode());
-        final String body = (String) response.getBody();
-        assertNotNull(body);
-        assertEquals(compare, body);
-    }
-
-    @Test
-    @WithAnonymousUser
-    public void find_bibliographyApa4_succeeds() throws IdentifierNotFoundException, QueryNotFoundException,
-            RemoteUnavailableException, IdentifierRequestException, IOException {
-        final String accept = "text/bibliography; style=apa";
-        final String compare = FileUtils.readFileToString(new File("src/test/resources/bibliography/style_apa4.txt"),
-                StandardCharsets.UTF_8);
-
-        /* mock */
-        when(identifierService.exportBibliography(IDENTIFIER_1_ID, BibliographyTypeDto.APA))
-                .thenReturn(compare);
-        when(identifierService.find(IDENTIFIER_1_ID))
-                .thenReturn(IDENTIFIER_1_WITH_DOI);
-
-        /* test */
-        final ResponseEntity<?> response = persistenceEndpoint.find(IDENTIFIER_1_ID, accept);
-        assertEquals(HttpStatus.OK, response.getStatusCode());
-        final String body = (String) response.getBody();
-        assertNotNull(body);
-        assertEquals(compare, body);
-    }
-
-    @Test
-    @WithAnonymousUser
-    public void find_bibliographyIeee0_succeeds() throws IdentifierNotFoundException, QueryNotFoundException,
-            RemoteUnavailableException, IdentifierRequestException, IOException {
-        final String accept = "text/bibliography; style=ieee";
-        final String compare = FileUtils.readFileToString(new File("src/test/resources/bibliography/style_ieee0.txt"),
-                StandardCharsets.UTF_8);
-
-        /* mock */
-        when(identifierService.exportBibliography(IDENTIFIER_4_ID, BibliographyTypeDto.IEEE))
-                .thenReturn(compare);
-        when(identifierService.find(IDENTIFIER_4_ID))
-                .thenReturn(IDENTIFIER_4);
-
-        /* test */
-        final ResponseEntity<?> response = persistenceEndpoint.find(IDENTIFIER_4_ID, accept);
-        assertEquals(HttpStatus.OK, response.getStatusCode());
-        final String body = (String) response.getBody();
-        assertNotNull(body);
-        assertEquals(compare, body);
-    }
-
-    @Test
-    @WithAnonymousUser
-    public void find_bibliographyIeee1_succeeds() throws IdentifierNotFoundException, QueryNotFoundException,
-            RemoteUnavailableException, IdentifierRequestException, IOException {
-        final String accept = "text/bibliography; style=ieee";
-        final String compare = FileUtils.readFileToString(new File("src/test/resources/bibliography/style_ieee1.txt"),
-                StandardCharsets.UTF_8);
-
-        /* mock */
-        when(identifierService.exportBibliography(IDENTIFIER_1_ID, BibliographyTypeDto.IEEE))
-                .thenReturn(compare);
-        when(identifierService.find(IDENTIFIER_1_ID))
-                .thenReturn(IDENTIFIER_1);
-
-        /* test */
-        final ResponseEntity<?> response = persistenceEndpoint.find(IDENTIFIER_1_ID, accept);
-        assertEquals(HttpStatus.OK, response.getStatusCode());
-        final String body = (String) response.getBody();
-        assertNotNull(body);
-        assertEquals(compare, body);
-    }
-
-    @Test
-    @WithAnonymousUser
-    public void find_bibliographyIeee2_succeeds() throws IdentifierNotFoundException, QueryNotFoundException,
-            RemoteUnavailableException, IdentifierRequestException, IOException {
-        final String accept = "text/bibliography; style=ieee";
-        final String compare = FileUtils.readFileToString(new File("src/test/resources/bibliography/style_ieee2.txt"),
-                StandardCharsets.UTF_8);
-
-        /* mock */
-        when(identifierService.exportBibliography(IDENTIFIER_2_ID, BibliographyTypeDto.IEEE))
-                .thenReturn(compare);
-        when(identifierService.find(IDENTIFIER_2_ID))
-                .thenReturn(IDENTIFIER_2);
-
-        /* test */
-        final ResponseEntity<?> response = persistenceEndpoint.find(IDENTIFIER_2_ID, accept);
-        assertEquals(HttpStatus.OK, response.getStatusCode());
-        final String body = (String) response.getBody();
-        assertNotNull(body);
-        assertEquals(compare, body);
-    }
-
-    @Test
-    @WithAnonymousUser
-    public void find_bibliographyIeee3_succeeds() throws IdentifierNotFoundException, QueryNotFoundException,
-            RemoteUnavailableException, IdentifierRequestException, IOException {
-        final String accept = "text/bibliography; style=ieee";
-        final String compare = FileUtils.readFileToString(new File("src/test/resources/bibliography/style_ieee3.txt"),
-                StandardCharsets.UTF_8);
-
-        /* mock */
-        when(identifierService.exportBibliography(IDENTIFIER_1_ID, BibliographyTypeDto.IEEE))
-                .thenReturn(compare);
-        when(identifierService.find(IDENTIFIER_1_ID))
-                .thenReturn(IDENTIFIER_1_WITH_DOI);
-
-        /* test */
-        final ResponseEntity<?> response = persistenceEndpoint.find(IDENTIFIER_1_ID, accept);
-        assertEquals(HttpStatus.OK, response.getStatusCode());
-        final String body = (String) response.getBody();
-        assertNotNull(body);
-        assertEquals(compare, body);
-    }
-
-    @Test
-    @WithAnonymousUser
-    public void find_bibliographyBibtex0_succeeds() throws IdentifierNotFoundException, QueryNotFoundException,
-            RemoteUnavailableException, IdentifierRequestException, IOException {
-        final String accept = "text/bibliography; style=bibtex";
-        final String compare = FileUtils.readFileToString(new File("src/test/resources/bibliography/style_bibtex0.txt"),
-                StandardCharsets.UTF_8);
-
-        /* mock */
-        when(identifierService.exportBibliography(IDENTIFIER_4_ID, BibliographyTypeDto.BIBTEX))
-                .thenReturn(compare);
-        when(identifierService.find(IDENTIFIER_4_ID))
-                .thenReturn(IDENTIFIER_4);
-
-        /* test */
-        final ResponseEntity<?> response = persistenceEndpoint.find(IDENTIFIER_4_ID, accept);
-        assertEquals(HttpStatus.OK, response.getStatusCode());
-        final String body = (String) response.getBody();
-        assertNotNull(body);
-        assertEquals(compare, body);
-    }
-
-    @Test
-    @WithAnonymousUser
-    public void find_bibliographyBibtex1_succeeds() throws IdentifierNotFoundException, QueryNotFoundException,
-            RemoteUnavailableException, IdentifierRequestException, IOException {
-        final String accept = "text/bibliography; style=bibtex";
-        final String compare = FileUtils.readFileToString(new File("src/test/resources/bibliography/style_bibtex1.txt"),
-                StandardCharsets.UTF_8);
-
-        /* mock */
-        when(identifierService.exportBibliography(IDENTIFIER_1_ID, BibliographyTypeDto.BIBTEX))
-                .thenReturn(compare);
-        when(identifierService.find(IDENTIFIER_1_ID))
-                .thenReturn(IDENTIFIER_1);
-
-        /* test */
-        final ResponseEntity<?> response = persistenceEndpoint.find(IDENTIFIER_1_ID, accept);
-        assertEquals(HttpStatus.OK, response.getStatusCode());
-        final String body = (String) response.getBody();
-        assertNotNull(body);
-        assertEquals(compare, body);
-    }
-
-    @Test
-    @WithAnonymousUser
-    public void find_bibliographyBibtex2_succeeds() throws IdentifierNotFoundException, QueryNotFoundException,
-            RemoteUnavailableException, IdentifierRequestException, IOException {
-        final String accept = "text/bibliography; style=bibtex";
-        final String compare = FileUtils.readFileToString(new File("src/test/resources/bibliography/style_bibtex2.txt"),
-                StandardCharsets.UTF_8);
-
-        /* mock */
-        when(identifierService.exportBibliography(IDENTIFIER_2_ID, BibliographyTypeDto.BIBTEX))
-                .thenReturn(compare);
-        when(identifierService.find(IDENTIFIER_2_ID))
-                .thenReturn(IDENTIFIER_2);
-
-        /* test */
-        final ResponseEntity<?> response = persistenceEndpoint.find(IDENTIFIER_2_ID, accept);
-        assertEquals(HttpStatus.OK, response.getStatusCode());
-        final String body = (String) response.getBody();
-        assertNotNull(body);
-        assertEquals(compare, body);
-    }
-
-    @Test
-    @WithAnonymousUser
-    public void find_bibliographyBibtex3_succeeds() throws IdentifierNotFoundException, QueryNotFoundException,
-            RemoteUnavailableException, IdentifierRequestException, IOException {
-        final String accept = "text/bibliography; style=bibtex";
-        final String compare = FileUtils.readFileToString(new File("src/test/resources/bibliography/style_bibtex3.txt"),
-                StandardCharsets.UTF_8);
-
-        /* mock */
-        when(identifierService.exportBibliography(IDENTIFIER_1_ID, BibliographyTypeDto.BIBTEX))
-                .thenReturn(compare);
-        when(identifierService.find(IDENTIFIER_1_ID))
-                .thenReturn(IDENTIFIER_1_WITH_DOI);
-
-        /* test */
-        final ResponseEntity<?> response = persistenceEndpoint.find(IDENTIFIER_1_ID, accept);
-        assertEquals(HttpStatus.OK, response.getStatusCode());
-        final String body = (String) response.getBody();
-        assertNotNull(body);
-        assertEquals(compare, body);
-    }
-
-    @Test
-    @WithAnonymousUser
-    public void update_anonymous_fails() {
-
-        /* test */
-        assertThrows(AccessDeniedException.class, () -> {
-            generic_update(IDENTIFIER_3_ID, IDENTIFIER_3, IDENTIFIER_3_DTO_UPDATE_REQUEST, null, null, null);
-        });
-    }
-
-    @Test
-    @WithMockUser(username = USER_4_USERNAME, authorities = {})
-    public void update_noRole_fails() {
-
-        /* test */
-        assertThrows(org.springframework.security.access.AccessDeniedException.class, () -> {
-            generic_update(IDENTIFIER_3_ID, IDENTIFIER_3, IDENTIFIER_3_DTO_UPDATE_REQUEST, USER_4_USERNAME, USER_4, USER_4_PRINCIPAL);
-        });
-    }
-
-    @Test
-    @WithMockUser(username = USER_3_USERNAME, authorities = {"modify-identifier-metadata"})
-    public void update_hasRoleNoAccess_succeeds() throws UserNotFoundException, NotAllowedException,
-            IdentifierNotFoundException, IdentifierRequestException, QueryNotFoundException, DatabaseNotFoundException,
-            RemoteUnavailableException {
-
-        /* test */
-        generic_update(IDENTIFIER_3_ID, IDENTIFIER_3, IDENTIFIER_3_DTO_UPDATE_REQUEST, USER_3_USERNAME, USER_3, USER_3_PRINCIPAL);
-    }
-
-    @Test
-    @WithMockUser(username = USER_3_USERNAME, authorities = {"modify-identifier-metadata"})
-    public void update_hasRoleHasAccess_succeeds() throws IdentifierNotFoundException, IdentifierRequestException,
-            UserNotFoundException, at.tuwien.exception.AccessDeniedException, NotAllowedException,
-            QueryNotFoundException, DatabaseNotFoundException, RemoteUnavailableException {
-
-        /* mock */
-        when(accessService.find(IDENTIFIER_3_DATABASE_ID, USER_3_ID))
-                .thenReturn(DATABASE_3_USER_3_READ_ACCESS);
-
-        /* test */
-        generic_update(IDENTIFIER_3_ID, IDENTIFIER_3, IDENTIFIER_3_DTO_UPDATE_REQUEST, USER_3_USERNAME, USER_3, USER_3_PRINCIPAL);
-    }
-
-    @Test
-    @WithAnonymousUser
-    public void delete_anonymous_fails() {
-
-        /* test */
-        assertThrows(org.springframework.security.access.AccessDeniedException.class, () -> {
-            this.generic_delete(IDENTIFIER_1_ID, IDENTIFIER_1);
-        });
-    }
-
-    @Test
-    @WithMockUser(username = USER_1_USERNAME, authorities = {})
-    public void delete_noRole_fails() {
-
-        /* test */
-        assertThrows(AccessDeniedException.class, () -> {
-            this.generic_delete(IDENTIFIER_1_ID, IDENTIFIER_1);
-        });
-    }
-
-    @Test
-    @WithMockUser(username = USER_2_USERNAME, authorities = {"delete-identifier"})
-    public void delete_hasRole_succeeds() throws NotAllowedException, IdentifierNotFoundException {
-
-        /* test */
-        this.generic_delete(IDENTIFIER_1_ID, IDENTIFIER_1);
-    }
-
-    /* ################################################################################################### */
-    /* ## GENERIC TEST CASES                                                                            ## */
-    /* ################################################################################################### */
-
-    protected static String inputStreamToString(InputStream inputStream) throws IOException {
-        return IOUtils.toString(inputStream, StandardCharsets.UTF_8);
-    }
-
-    protected void generic_update(Long id, Identifier identifier, IdentifierSaveDto data, String username, User user,
-                                  Principal principal) throws IdentifierNotFoundException, IdentifierRequestException,
-            UserNotFoundException, NotAllowedException, QueryNotFoundException, DatabaseNotFoundException,
-            RemoteUnavailableException {
-
-        /* mock */
-        if (identifier != null) {
-            when(identifierService.update(id, data, principal, "Bearer abc"))
-                    .thenReturn(identifier);
-            when(identifierService.find(id))
-                    .thenReturn(identifier);
-        } else {
-            doThrow(IdentifierNotFoundException.class)
-                    .when(identifierService)
-                    .find(id);
-        }
-        if (user != null) {
-            when(userService.findByUsername(username))
-                    .thenReturn(user);
-        } else {
-            doThrow(UserNotFoundException.class)
-                    .when(userService)
-                    .findByUsername(username);
-        }
-
-        /* test */
-        final ResponseEntity<IdentifierDto> response = persistenceEndpoint.update(id, data, "Bearer abc", principal);
-        assertEquals(HttpStatus.ACCEPTED, response.getStatusCode());
-        final IdentifierDto body = response.getBody();
-        assertNotNull(body);
-        assertEquals(IDENTIFIER_3_ID, body.getId());
-        assertEquals(1, body.getTitles().size());
-        assertEquals(IDENTIFIER_3_TITLE_1_TITLE, body.getTitles().get(0).getTitle());
-        assertEquals(IDENTIFIER_3_TITLE_1_LANG_DTO, body.getTitles().get(0).getLanguage());
-        assertEquals(1, body.getDescriptions().size());
-        assertEquals(IDENTIFIER_3_DESCRIPTION_1_DESCRIPTION, body.getDescriptions().get(0).getDescription());
-        assertEquals(IDENTIFIER_3_DESCRIPTION_1_LANG_DTO, body.getDescriptions().get(0).getLanguage());
-        assertEquals(IDENTIFIER_3_QUERY, body.getQuery());
-        assertEquals(IDENTIFIER_3_QUERY_HASH, body.getQueryHash());
-        assertEquals(IDENTIFIER_3_RESULT_NUMBER, body.getResultNumber());
-        assertEquals(IDENTIFIER_3_RESULT_HASH, body.getResultHash());
-    }
-
-    protected void generic_delete(Long id, Identifier identifier) throws IdentifierNotFoundException, NotAllowedException {
-
-        /* mock */
-        when(identifierService.find(id))
-                .thenReturn(identifier);
-        doNothing()
-                .when(identifierService)
-                .delete(id);
-
-        /* test */
-        final ResponseEntity<?> response = persistenceEndpoint.delete(id);
-        assertEquals(HttpStatus.ACCEPTED, response.getStatusCode());
-        assertNull(response.getBody());
-    }
-
-}
diff --git a/dbrepo-identifier-service/rest-service/src/test/java/at/tuwien/endpoint/SwaggerComponentTest.java b/dbrepo-identifier-service/rest-service/src/test/java/at/tuwien/endpoint/SwaggerComponentTest.java
deleted file mode 100644
index 3d47518508..0000000000
--- a/dbrepo-identifier-service/rest-service/src/test/java/at/tuwien/endpoint/SwaggerComponentTest.java
+++ /dev/null
@@ -1,38 +0,0 @@
-package at.tuwien.endpoint;
-
-import at.tuwien.BaseUnitTest;
-import at.tuwien.repository.sdb.IdentifierIdxRepository;
-import lombok.extern.log4j.Log4j2;
-import org.junit.jupiter.api.Test;
-import org.junit.jupiter.api.extension.ExtendWith;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.boot.test.autoconfigure.web.servlet.AutoConfigureMockMvc;
-import org.springframework.boot.test.context.SpringBootTest;
-import org.springframework.boot.test.mock.mockito.MockBean;
-import org.springframework.test.context.junit.jupiter.SpringExtension;
-import org.springframework.test.web.servlet.MockMvc;
-
-import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.get;
-import static org.springframework.test.web.servlet.result.MockMvcResultHandlers.print;
-import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status;
-
-@Log4j2
-@ExtendWith(SpringExtension.class)
-@AutoConfigureMockMvc
-@SpringBootTest
-public class SwaggerComponentTest extends BaseUnitTest {
-
-    @Autowired
-    private MockMvc mockMvc;
-
-    @MockBean
-    private IdentifierIdxRepository identifierIdxRepository;
-
-    @Test
-    public void swaggerUi_succeeds() throws Exception {
-        this.mockMvc.perform(get("/swagger-ui/index.html"))
-                .andDo(print())
-                .andExpect(status().isOk());
-    }
-
-}
diff --git a/dbrepo-identifier-service/rest-service/src/test/java/at/tuwien/gateway/QueryServiceGatewayUnitTest.java b/dbrepo-identifier-service/rest-service/src/test/java/at/tuwien/gateway/QueryServiceGatewayUnitTest.java
deleted file mode 100644
index f8625b44eb..0000000000
--- a/dbrepo-identifier-service/rest-service/src/test/java/at/tuwien/gateway/QueryServiceGatewayUnitTest.java
+++ /dev/null
@@ -1,171 +0,0 @@
-package at.tuwien.gateway;
-
-import at.tuwien.BaseUnitTest;
-import at.tuwien.api.database.query.QueryDto;
-import at.tuwien.exception.QueryNotFoundException;
-import at.tuwien.exception.RemoteUnavailableException;
-import at.tuwien.repository.mdb.UserRepository;
-import at.tuwien.repository.sdb.IdentifierIdxRepository;
-import com.google.common.io.Files;
-import lombok.extern.log4j.Log4j2;
-import org.junit.jupiter.api.Test;
-import org.junit.jupiter.api.extension.ExtendWith;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.beans.factory.annotation.Qualifier;
-import org.springframework.boot.test.context.SpringBootTest;
-import org.springframework.boot.test.mock.mockito.MockBean;
-import org.springframework.http.HttpEntity;
-import org.springframework.http.HttpMethod;
-import org.springframework.http.HttpStatus;
-import org.springframework.http.ResponseEntity;
-import org.springframework.test.context.junit.jupiter.SpringExtension;
-import org.springframework.web.client.ResourceAccessException;
-import org.springframework.web.client.RestTemplate;
-
-import java.io.File;
-import java.io.IOException;
-
-import static org.junit.jupiter.api.Assertions.*;
-import static org.mockito.ArgumentMatchers.anyString;
-import static org.mockito.Mockito.*;
-
-@Log4j2
-@SpringBootTest
-@ExtendWith(SpringExtension.class)
-public class QueryServiceGatewayUnitTest extends BaseUnitTest {
-
-    @MockBean
-    private IdentifierIdxRepository identifierIdxRepository;
-
-    @MockBean
-    @Qualifier("restTemplate")
-    private RestTemplate restTemplate;
-
-    @MockBean
-    private UserRepository userRepository;
-
-    @Autowired
-    private QueryServiceGateway queryServiceGateway;
-
-    @Test
-    public void find_succeeds() throws QueryNotFoundException, RemoteUnavailableException {
-        final ResponseEntity<QueryDto> mock = ResponseEntity.status(HttpStatus.ACCEPTED)
-                .body(QUERY_1_DTO);
-
-        /* mock */
-        when(restTemplate.exchange(anyString(), eq(HttpMethod.GET), any(HttpEntity.class), eq(QueryDto.class)))
-                .thenReturn(mock);
-
-        /* test */
-        final QueryDto response = queryServiceGateway.find(DATABASE_1_ID, IDENTIFIER_1_DTO_REQUEST, null);
-        assertNotNull(response);
-        assertEquals(QUERY_1_ID, response.getId());
-    }
-
-    @Test
-    public void find_notFound_fails() {
-        final ResponseEntity<QueryDto> mock = ResponseEntity.status(HttpStatus.NOT_FOUND)
-                .build();
-
-        /* mock */
-        when(restTemplate.exchange(anyString(), eq(HttpMethod.GET), any(HttpEntity.class), eq(QueryDto.class)))
-                .thenReturn(mock);
-
-        /* test */
-        assertThrows(QueryNotFoundException.class, () -> {
-            queryServiceGateway.find(DATABASE_1_ID, IDENTIFIER_1_DTO_REQUEST, null);
-        });
-    }
-
-    @Test
-    public void find_notAvailable_fails() {
-        final ResponseEntity<QueryDto> mock = ResponseEntity.status(HttpStatus.NOT_FOUND)
-                .build();
-
-        /* mock */
-        doThrow(ResourceAccessException.class)
-                .when(restTemplate)
-                .exchange(anyString(), eq(HttpMethod.GET), any(HttpEntity.class), eq(QueryDto.class));
-
-        /* test */
-        assertThrows(RemoteUnavailableException.class, () -> {
-            queryServiceGateway.find(DATABASE_1_ID, IDENTIFIER_1_DTO_REQUEST, null);
-        });
-    }
-
-    @Test
-    public void find_notAuthorized_fails() {
-        final ResponseEntity<QueryDto> mock = ResponseEntity.status(HttpStatus.UNAUTHORIZED)
-                .build();
-
-        /* mock */
-        when(restTemplate.exchange(anyString(), eq(HttpMethod.GET), any(HttpEntity.class), eq(QueryDto.class)))
-                .thenReturn(mock);
-
-        /* test */
-        assertThrows(RemoteUnavailableException.class, () -> {
-            queryServiceGateway.find(DATABASE_1_ID, IDENTIFIER_1_DTO_REQUEST, null);
-        });
-    }
-
-    @Test
-    public void export_succeeds() throws IOException, QueryNotFoundException, RemoteUnavailableException {
-        final byte[] bytes = Files.toByteArray(new File("src/test/resources/csv/testdata.csv"));
-        final ResponseEntity<byte[]> mock = ResponseEntity.status(HttpStatus.OK)
-                .body(bytes);
-
-        /* mock */
-        when(restTemplate.exchange(anyString(), eq(HttpMethod.GET), any(HttpEntity.class), eq(byte[].class)))
-                .thenReturn(mock);
-
-        /* test */
-        final byte[] response = queryServiceGateway.export(DATABASE_1_ID, QUERY_1_ID);
-        assertNotNull(response);
-        assertEquals(bytes, response);
-    }
-
-    @Test
-    public void export_notFound_fails() {
-        final ResponseEntity<byte[]> mock = ResponseEntity.status(HttpStatus.NOT_FOUND)
-                .build();
-
-        /* mock */
-        when(restTemplate.exchange(anyString(), eq(HttpMethod.GET), any(HttpEntity.class), eq(byte[].class)))
-                .thenReturn(mock);
-
-        /* test */
-        assertThrows(QueryNotFoundException.class, () -> {
-            queryServiceGateway.export(DATABASE_1_ID, QUERY_1_ID);
-        });
-    }
-
-    @Test
-    public void export_notAuthorized_fails() {
-        final ResponseEntity<byte[]> mock = ResponseEntity.status(HttpStatus.UNAUTHORIZED)
-                .build();
-
-        /* mock */
-        when(restTemplate.exchange(anyString(), eq(HttpMethod.GET), any(HttpEntity.class), eq(byte[].class)))
-                .thenReturn(mock);
-
-        /* test */
-        assertThrows(RemoteUnavailableException.class, () -> {
-            queryServiceGateway.export(DATABASE_1_ID, QUERY_1_ID);
-        });
-    }
-
-    @Test
-    public void export_notAvailable_succeeds() {
-
-        /* mock */
-        doThrow(ResourceAccessException.class)
-                .when(restTemplate)
-                .exchange(anyString(), eq(HttpMethod.GET), any(HttpEntity.class), eq(byte[].class));
-
-        /* test */
-        assertThrows(RemoteUnavailableException.class, () -> {
-            queryServiceGateway.export(DATABASE_1_ID, QUERY_1_ID);
-        });
-    }
-
-}
diff --git a/dbrepo-identifier-service/rest-service/src/test/java/at/tuwien/service/DataCiteIdentifierServiceIntegrationTest.java b/dbrepo-identifier-service/rest-service/src/test/java/at/tuwien/service/DataCiteIdentifierServiceIntegrationTest.java
deleted file mode 100644
index 60251377f0..0000000000
--- a/dbrepo-identifier-service/rest-service/src/test/java/at/tuwien/service/DataCiteIdentifierServiceIntegrationTest.java
+++ /dev/null
@@ -1,120 +0,0 @@
-package at.tuwien.service;
-
-import at.tuwien.BaseUnitTest;
-import at.tuwien.api.datacite.DataCiteBody;
-import at.tuwien.api.datacite.DataCiteData;
-import at.tuwien.api.datacite.doi.DataCiteDoi;
-import at.tuwien.api.identifier.IdentifierSaveDto;
-import at.tuwien.config.DataCiteConfig;
-import at.tuwien.config.EndpointConfig;
-import at.tuwien.entities.identifier.Identifier;
-import at.tuwien.exception.*;
-import at.tuwien.repository.mdb.*;
-import at.tuwien.repository.sdb.IdentifierIdxRepository;
-import at.tuwien.service.impl.IdentifierServiceImpl;
-import org.apache.http.auth.BasicUserPrincipal;
-import org.junit.jupiter.api.BeforeEach;
-import org.junit.jupiter.api.Test;
-import org.junit.jupiter.api.extension.ExtendWith;
-import org.mockito.Answers;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.beans.factory.annotation.Qualifier;
-import org.springframework.boot.test.context.SpringBootTest;
-import org.springframework.boot.test.mock.mockito.MockBean;
-import org.springframework.boot.web.client.RestTemplateBuilder;
-import org.springframework.core.ParameterizedTypeReference;
-import org.springframework.http.HttpEntity;
-import org.springframework.http.HttpMethod;
-import org.springframework.http.HttpStatus;
-import org.springframework.http.ResponseEntity;
-import org.springframework.test.annotation.DirtiesContext;
-import org.springframework.test.context.junit.jupiter.SpringExtension;
-import org.springframework.web.client.RestTemplate;
-
-import java.security.Principal;
-
-import static org.junit.jupiter.api.Assertions.*;
-import static org.mockito.ArgumentMatchers.*;
-import static org.mockito.Mockito.when;
-
-@ExtendWith(SpringExtension.class)
-@DirtiesContext(classMode = DirtiesContext.ClassMode.BEFORE_EACH_TEST_METHOD)
-@SpringBootTest(properties = "spring.profiles.active:local,doi")
-public class DataCiteIdentifierServiceIntegrationTest extends BaseUnitTest {
-
-    @MockBean(answer = Answers.RETURNS_MOCKS)
-    private DataCiteConfig dataCiteConfig;
-
-    @MockBean(answer = Answers.RETURNS_MOCKS)
-    private EndpointConfig endpointConfig;
-
-    @MockBean
-    private IdentifierIdxRepository identifierIdxRepository;
-
-    @Autowired
-    private LicenseRepository licenseRepository;
-
-    @Autowired
-    private ImageRepository imageRepository;
-
-    @Autowired
-    private ContainerRepository containerRepository;
-
-    @Autowired
-    private DatabaseRepository databaseRepository;
-
-    @Autowired
-    private IdentifierRepository identifierRepository;
-
-    @Autowired
-    private RealmRepository realmRepository;
-
-    @Autowired
-    private UserRepository userRepository;
-
-    @MockBean
-    @Qualifier("restTemplate")
-    private RestTemplate restTemplate;
-
-    @MockBean(answer = Answers.RETURNS_SELF)
-    private RestTemplateBuilder restTemplateBuilder;
-
-    @Autowired
-    private IdentifierServiceImpl identifierService;
-
-    @Autowired
-    private IdentifierService dataCiteIdentifierService;
-
-    @BeforeEach
-    public void beforeEach() {
-        realmRepository.save(REALM_DBREPO);
-        licenseRepository.save(LICENSE_1);
-        userRepository.save(USER_1);
-        imageRepository.save(IMAGE_1);
-        containerRepository.save(CONTAINER_1_SIMPLE);
-        databaseRepository.save(DATABASE_1);
-    }
-
-    @Test
-    public void create_database_succeeds()
-            throws DatabaseNotFoundException, UserNotFoundException, IdentifierAlreadyExistsException,
-            QueryNotFoundException, IdentifierPublishingNotAllowedException, RemoteUnavailableException,
-            IdentifierRequestException, ViewNotFoundException {
-        final Principal principal = new BasicUserPrincipal(USER_1_USERNAME);
-        final String bearer = "Bearer abcxyz";
-        final DataCiteBody<DataCiteDoi> response =
-                new DataCiteBody<>(new DataCiteData<>(null, "dois", new DataCiteDoi(IDENTIFIER_1_DOI_NOT_NULL)));
-
-        /* mock */
-        when(restTemplate.exchange(anyString(), eq(HttpMethod.POST), any(HttpEntity.class),
-                any(ParameterizedTypeReference.class)))
-                .thenReturn(ResponseEntity.status(HttpStatus.CREATED).body(response));
-        when(restTemplateBuilder.build()).thenReturn(restTemplate);
-
-        /* test */
-        Identifier result = dataCiteIdentifierService.create(IDENTIFIER_1_DTO_REQUEST, principal, bearer);
-        assertTrue(identifierRepository.existsById(result.getId()));
-        assertEquals(IDENTIFIER_1_DOI_NOT_NULL, result.getDoi());
-    }
-
-}
diff --git a/dbrepo-identifier-service/rest-service/src/test/java/at/tuwien/service/DataCiteIdentifierServiceUnitTest.java b/dbrepo-identifier-service/rest-service/src/test/java/at/tuwien/service/DataCiteIdentifierServiceUnitTest.java
deleted file mode 100644
index bb6762027a..0000000000
--- a/dbrepo-identifier-service/rest-service/src/test/java/at/tuwien/service/DataCiteIdentifierServiceUnitTest.java
+++ /dev/null
@@ -1,228 +0,0 @@
-package at.tuwien.service;
-
-import at.tuwien.BaseUnitTest;
-import at.tuwien.api.datacite.DataCiteBody;
-import at.tuwien.api.datacite.DataCiteData;
-import at.tuwien.api.datacite.doi.DataCiteDoi;
-import at.tuwien.api.identifier.IdentifierSaveDto;
-import at.tuwien.config.DataCiteConfig;
-import at.tuwien.config.EndpointConfig;
-import at.tuwien.entities.identifier.Identifier;
-import at.tuwien.exception.*;
-import at.tuwien.repository.mdb.*;
-import at.tuwien.repository.sdb.IdentifierIdxRepository;
-import at.tuwien.service.impl.IdentifierServiceImpl;
-import org.apache.http.auth.BasicUserPrincipal;
-import org.junit.jupiter.api.BeforeEach;
-import org.junit.jupiter.api.Test;
-import org.junit.jupiter.api.extension.ExtendWith;
-import org.mockito.Answers;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.beans.factory.annotation.Qualifier;
-import org.springframework.boot.test.context.SpringBootTest;
-import org.springframework.boot.test.mock.mockito.MockBean;
-import org.springframework.boot.web.client.RestTemplateBuilder;
-import org.springframework.core.ParameterizedTypeReference;
-import org.springframework.http.HttpEntity;
-import org.springframework.http.HttpMethod;
-import org.springframework.http.HttpStatus;
-import org.springframework.http.ResponseEntity;
-import org.springframework.test.annotation.DirtiesContext;
-import org.springframework.test.context.junit.jupiter.SpringExtension;
-import org.springframework.web.client.HttpClientErrorException;
-import org.springframework.web.client.RestClientException;
-import org.springframework.web.client.RestTemplate;
-
-import java.security.Principal;
-
-import static org.junit.jupiter.api.Assertions.*;
-import static org.mockito.ArgumentMatchers.*;
-import static org.mockito.Mockito.when;
-
-@ExtendWith(SpringExtension.class)
-@DirtiesContext(classMode = DirtiesContext.ClassMode.BEFORE_EACH_TEST_METHOD)
-@SpringBootTest(properties = "spring.profiles.active:local,doi")
-public class DataCiteIdentifierServiceUnitTest extends BaseUnitTest {
-
-    @MockBean(answer = Answers.RETURNS_MOCKS)
-    private DataCiteConfig dataCiteConfig;
-
-    @MockBean(answer = Answers.RETURNS_MOCKS)
-    private EndpointConfig endpointConfig;
-
-    @MockBean
-    private IdentifierIdxRepository identifierIdxRepository;
-
-    @Autowired
-    private LicenseRepository licenseRepository;
-
-    @Autowired
-    private ImageRepository imageRepository;
-
-    @Autowired
-    private ContainerRepository containerRepository;
-
-    @Autowired
-    private DatabaseRepository databaseRepository;
-
-    @Autowired
-    private IdentifierRepository identifierRepository;
-
-    @Autowired
-    private RealmRepository realmRepository;
-
-    @Autowired
-    private UserRepository userRepository;
-
-    @MockBean
-    @Qualifier("restTemplate")
-    private RestTemplate restTemplate;
-
-    @MockBean(answer = Answers.RETURNS_SELF)
-    private RestTemplateBuilder restTemplateBuilder;
-
-    @MockBean
-    private IdentifierServiceImpl identifierService;
-
-    @Autowired
-    private IdentifierService dataCiteIdentifierService;
-
-    @BeforeEach
-    public void beforeEach() {
-        realmRepository.save(REALM_DBREPO);
-        licenseRepository.save(LICENSE_1);
-        userRepository.save(USER_1);
-        imageRepository.save(IMAGE_1);
-        containerRepository.save(CONTAINER_1_SIMPLE);
-        databaseRepository.save(DATABASE_1);
-    }
-
-    @Test
-    public void create_database_succeeds()
-            throws DatabaseNotFoundException, UserNotFoundException, IdentifierAlreadyExistsException,
-            QueryNotFoundException, IdentifierPublishingNotAllowedException, RemoteUnavailableException,
-            IdentifierRequestException, ViewNotFoundException {
-        final Principal principal = new BasicUserPrincipal(USER_1_USERNAME);
-        final String bearer = "Bearer abcxyz";
-        final DataCiteBody<DataCiteDoi> response =
-                new DataCiteBody<>(new DataCiteData<>(null, "dois", new DataCiteDoi(IDENTIFIER_1_DOI_NOT_NULL)));
-
-        /* mock */
-        when(identifierService.create(any(IdentifierSaveDto.class), eq(principal), eq(bearer)))
-                .thenAnswer((i) -> identifierRepository.save(IDENTIFIER_1));
-        when(restTemplate.exchange(anyString(), eq(HttpMethod.POST), any(HttpEntity.class),
-                any(ParameterizedTypeReference.class)))
-                .thenReturn(ResponseEntity.status(HttpStatus.CREATED).body(response));
-        when(restTemplateBuilder.build()).thenReturn(restTemplate);
-
-        /* test */
-        Identifier result = dataCiteIdentifierService.create(IDENTIFIER_1_DTO_REQUEST, principal, bearer);
-        assertTrue(identifierRepository.existsById(result.getId()));
-        assertEquals(IDENTIFIER_1_DOI_NOT_NULL, result.getDoi());
-    }
-
-    @Test
-    public void create_invalidMetadata_fails()
-            throws IdentifierAlreadyExistsException, UserNotFoundException, QueryNotFoundException,
-            DatabaseNotFoundException, RemoteUnavailableException, IdentifierPublishingNotAllowedException,
-            IdentifierRequestException, ViewNotFoundException {
-        final Principal principal = new BasicUserPrincipal(USER_1_USERNAME);
-        final String bearer = "Bearer abcxyz";
-
-        /* mock */
-        when(identifierService.create(any(IdentifierSaveDto.class), eq(principal), eq(bearer)))
-                .thenAnswer((i) -> identifierRepository.save(IDENTIFIER_1));
-        when(restTemplate.exchange(anyString(), eq(HttpMethod.POST), any(HttpEntity.class),
-                any(ParameterizedTypeReference.class)))
-                .thenThrow(HttpClientErrorException.BadRequest.class);
-        when(restTemplateBuilder.build()).thenReturn(restTemplate);
-
-        /* test */
-        assertThrows(IdentifierRequestException.class, () -> {
-            dataCiteIdentifierService.create(IDENTIFIER_1_DTO_REQUEST, principal, bearer);
-        });
-        assertEquals(0, identifierRepository.count());
-    }
-
-    @Test
-    public void create_restClientException_fails()
-            throws IdentifierAlreadyExistsException, UserNotFoundException, QueryNotFoundException,
-            DatabaseNotFoundException, RemoteUnavailableException, IdentifierPublishingNotAllowedException,
-            IdentifierRequestException, ViewNotFoundException {
-        final Principal principal = new BasicUserPrincipal(USER_1_USERNAME);
-        final String bearer = "Bearer abcxyz";
-
-        /* mock */
-        when(identifierService.create(any(IdentifierSaveDto.class), eq(principal), eq(bearer)))
-                .thenAnswer((i) -> identifierRepository.save(IDENTIFIER_1));
-        when(restTemplate.exchange(anyString(), eq(HttpMethod.POST), any(HttpEntity.class),
-                any(ParameterizedTypeReference.class)))
-                .thenThrow(RestClientException.class);
-        when(restTemplateBuilder.build()).thenReturn(restTemplate);
-
-        /* test */
-        assertThrows(InternalError.class, () -> {
-            dataCiteIdentifierService.create(IDENTIFIER_1_DTO_REQUEST, principal, bearer);
-        });
-        assertEquals(0, identifierRepository.count());
-    }
-
-    @Test
-    public void update_existing_succeeds() throws IdentifierRequestException, UserNotFoundException,
-            QueryNotFoundException, DatabaseNotFoundException, RemoteUnavailableException, IdentifierNotFoundException {
-        final DataCiteBody<DataCiteDoi> response =
-                new DataCiteBody<>(new DataCiteData<>(null, "dois", new DataCiteDoi(IDENTIFIER_1_DOI_NOT_NULL)));
-
-        /* mock */
-        when(identifierService.update(eq(IDENTIFIER_1_ID), any(IdentifierSaveDto.class), any(Principal.class), anyString()))
-                .thenAnswer((i) -> identifierRepository.save(IDENTIFIER_1_WITH_DOI));
-        when(restTemplate.exchange(anyString(), eq(HttpMethod.PUT), any(HttpEntity.class),
-                any(ParameterizedTypeReference.class), eq(IDENTIFIER_1_DOI_NOT_NULL)))
-                .thenReturn(ResponseEntity.ok(response));
-        when(restTemplateBuilder.build()).thenReturn(restTemplate);
-
-        /* test */
-        Identifier result = dataCiteIdentifierService.update(IDENTIFIER_1_ID, IDENTIFIER_1_DTO_UPDATE_REQUEST, USER_1_PRINCIPAL, "abc");
-        assertTrue(identifierRepository.existsById(IDENTIFIER_1_ID));
-        assertEquals(IDENTIFIER_1_DOI_NOT_NULL, result.getDoi());
-    }
-
-    @Test
-    public void update_invalidMetadata_fails() throws UserNotFoundException, QueryNotFoundException,
-            DatabaseNotFoundException, RemoteUnavailableException, IdentifierNotFoundException {
-
-        /* mock */
-        when(identifierService.update(eq(IDENTIFIER_1_ID), any(IdentifierSaveDto.class), any(Principal.class), anyString()))
-                .thenAnswer((i) -> identifierRepository.save(IDENTIFIER_1_WITH_DOI));
-        when(restTemplate.exchange(anyString(), eq(HttpMethod.PUT), any(HttpEntity.class),
-                any(ParameterizedTypeReference.class), eq(IDENTIFIER_1_DOI_NOT_NULL)))
-                .thenThrow(HttpClientErrorException.BadRequest.class);
-        when(restTemplateBuilder.build()).thenReturn(restTemplate);
-
-        /* test */
-        assertThrows(IdentifierRequestException.class, () -> {
-            dataCiteIdentifierService.update(IDENTIFIER_1_ID, IDENTIFIER_1_DTO_UPDATE_REQUEST, USER_1_PRINCIPAL, "abc");
-        });
-        assertEquals(0, identifierRepository.count());
-    }
-
-    @Test
-    public void update_restClientException_fails() throws UserNotFoundException, QueryNotFoundException,
-            DatabaseNotFoundException, RemoteUnavailableException, IdentifierNotFoundException {
-
-        /* mock */
-        when(identifierService.update(eq(IDENTIFIER_1_ID), any(IdentifierSaveDto.class), any(Principal.class), anyString()))
-                .thenAnswer((i) -> identifierRepository.save(IDENTIFIER_1_WITH_DOI));
-        when(restTemplate.exchange(anyString(), eq(HttpMethod.PUT), any(HttpEntity.class),
-                any(ParameterizedTypeReference.class), eq(IDENTIFIER_1_DOI_NOT_NULL)))
-                .thenThrow(RestClientException.class);
-        when(restTemplateBuilder.build()).thenReturn(restTemplate);
-
-        /* test */
-        assertThrows(InternalError.class, () -> {
-            dataCiteIdentifierService.update(IDENTIFIER_1_ID, IDENTIFIER_1_DTO_UPDATE_REQUEST, USER_1_PRINCIPAL, "abc");
-        });
-        assertEquals(0, identifierRepository.count());
-    }
-
-}
diff --git a/dbrepo-identifier-service/rest-service/src/test/java/at/tuwien/service/DatabaseServiceIntegrationTest.java b/dbrepo-identifier-service/rest-service/src/test/java/at/tuwien/service/DatabaseServiceIntegrationTest.java
deleted file mode 100644
index 3f9373e272..0000000000
--- a/dbrepo-identifier-service/rest-service/src/test/java/at/tuwien/service/DatabaseServiceIntegrationTest.java
+++ /dev/null
@@ -1,74 +0,0 @@
-package at.tuwien.service;
-
-import at.tuwien.BaseUnitTest;
-import at.tuwien.entities.database.Database;
-import at.tuwien.exception.DatabaseNotFoundException;
-import at.tuwien.repository.mdb.*;
-import at.tuwien.repository.sdb.IdentifierIdxRepository;
-import org.junit.jupiter.api.BeforeEach;
-import org.junit.jupiter.api.Test;
-import org.junit.jupiter.api.extension.ExtendWith;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.boot.test.context.SpringBootTest;
-import org.springframework.boot.test.mock.mockito.MockBean;
-import org.springframework.test.annotation.DirtiesContext;
-import org.springframework.test.context.junit.jupiter.SpringExtension;
-
-
-import static org.junit.jupiter.api.Assertions.assertEquals;
-import static org.junit.jupiter.api.Assertions.assertThrows;
-
-@ExtendWith(SpringExtension.class)
-@DirtiesContext(classMode = DirtiesContext.ClassMode.BEFORE_EACH_TEST_METHOD)
-@SpringBootTest
-public class DatabaseServiceIntegrationTest extends BaseUnitTest {
-
-    @MockBean
-    private IdentifierIdxRepository identifierIdxRepository;
-
-    @Autowired
-    private DatabaseService databaseService;
-
-    @Autowired
-    private UserRepository userRepository;
-
-    @Autowired
-    private RealmRepository realmRepository;
-
-    @Autowired
-    private ContainerRepository containerRepository;
-
-    @Autowired
-    private DatabaseRepository databaseRepository;
-
-    @Autowired
-    private ImageRepository imageRepository;
-
-    @BeforeEach
-    public void beforeEach() {
-        userRepository.save(USER_1);
-        realmRepository.save(REALM_DBREPO);
-        imageRepository.save(IMAGE_1);
-        containerRepository.save(CONTAINER_1);
-        databaseRepository.save(DATABASE_1);
-    }
-
-    @Test
-    public void find_succeeds() throws DatabaseNotFoundException {
-
-        /* test */
-        final Database response = databaseService.find(DATABASE_1_ID);
-        assertEquals(DATABASE_1_ID, response.getId());
-    }
-
-    @Test
-    public void find_fails() {
-
-        /* test */
-        assertThrows(DatabaseNotFoundException.class, () -> {
-            databaseService.find(9999L);
-        });
-    }
-
-
-}
diff --git a/dbrepo-identifier-service/rest-service/src/test/java/at/tuwien/service/IdentifierServiceIntegrationTest.java b/dbrepo-identifier-service/rest-service/src/test/java/at/tuwien/service/IdentifierServiceIntegrationTest.java
deleted file mode 100644
index 5b40a26704..0000000000
--- a/dbrepo-identifier-service/rest-service/src/test/java/at/tuwien/service/IdentifierServiceIntegrationTest.java
+++ /dev/null
@@ -1,406 +0,0 @@
-package at.tuwien.service;
-
-import at.tuwien.BaseUnitTest;
-import at.tuwien.api.database.query.QueryDto;
-import at.tuwien.api.identifier.IdentifierSaveDto;
-import at.tuwien.entities.identifier.Identifier;
-import at.tuwien.entities.identifier.IdentifierDescription;
-import at.tuwien.entities.identifier.IdentifierTitle;
-import at.tuwien.entities.identifier.RelatedIdentifier;
-import at.tuwien.exception.*;
-import at.tuwien.gateway.QueryServiceGateway;
-import at.tuwien.repository.sdb.IdentifierIdxRepository;
-import at.tuwien.repository.mdb.*;
-import lombok.extern.log4j.Log4j2;
-import org.junit.jupiter.api.BeforeEach;
-import org.junit.jupiter.api.Test;
-import org.junit.jupiter.api.extension.ExtendWith;
-import org.opensearch.testcontainers.OpensearchContainer;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.beans.factory.annotation.Qualifier;
-import org.springframework.boot.test.context.SpringBootTest;
-import org.springframework.boot.test.mock.mockito.MockBean;
-import org.springframework.http.HttpEntity;
-import org.springframework.http.HttpMethod;
-import org.springframework.http.ResponseEntity;
-import org.springframework.test.annotation.DirtiesContext;
-import org.springframework.test.context.DynamicPropertyRegistry;
-import org.springframework.test.context.DynamicPropertySource;
-import org.springframework.test.context.junit.jupiter.SpringExtension;
-import org.springframework.transaction.annotation.Transactional;
-import org.springframework.web.client.RestTemplate;
-import org.testcontainers.junit.jupiter.Container;
-import org.testcontainers.junit.jupiter.Testcontainers;
-import org.testcontainers.utility.DockerImageName;
-
-import java.util.List;
-
-import static org.junit.jupiter.api.Assertions.*;
-import static org.mockito.ArgumentMatchers.*;
-import static org.mockito.Mockito.when;
-
-@Log4j2
-@Testcontainers
-@ExtendWith(SpringExtension.class)
-@DirtiesContext(classMode = DirtiesContext.ClassMode.BEFORE_EACH_TEST_METHOD)
-@SpringBootTest
-public class IdentifierServiceIntegrationTest extends BaseUnitTest {
-
-    @MockBean
-    private QueryServiceGateway queryServiceGateway;
-
-    @MockBean
-    @Qualifier("restTemplate")
-    private RestTemplate restTemplate;
-
-    @Autowired
-    private LicenseRepository licenseRepository;
-
-    @Autowired
-    private IdentifierService identifierService;
-
-    @Autowired
-    private IdentifierRepository identifierRepository;
-
-    @Autowired
-    private IdentifierIdxRepository identifierIdxRepository;
-
-    @Autowired
-    private IdentifierTitleRepository identifierTitleRepository;
-
-    @Autowired
-    private IdentifierDescriptionRepository identifierDescriptionRepository;
-
-    @Autowired
-    private ContainerRepository containerRepository;
-
-    @Autowired
-    private DatabaseRepository databaseRepository;
-
-    @Autowired
-    private ImageRepository imageRepository;
-
-    @Autowired
-    private UserRepository userRepository;
-
-    @Autowired
-    private ViewRepository viewRepository;
-
-    @Autowired
-    private TableRepository tableRepository;
-
-    @Autowired
-    private RealmRepository realmRepository;
-
-    @Container
-    private static final OpensearchContainer opensearchContainer = new OpensearchContainer(DockerImageName.parse("opensearchproject/opensearch:2.8.0"));
-
-    @DynamicPropertySource
-    static void elasticsearchProperties(DynamicPropertyRegistry registry) {
-        final int idx = opensearchContainer.getHttpHostAddress().lastIndexOf(':');
-        registry.add("spring.opensearch.host", () -> "127.0.0.1");
-        registry.add("spring.opensearch.port", () -> opensearchContainer.getHttpHostAddress().substring(idx + 1));
-        registry.add("spring.opensearch.username", opensearchContainer::getUsername);
-        registry.add("spring.opensearch.password", opensearchContainer::getPassword);
-    }
-
-    @BeforeEach
-    public void beforeEach() {
-        imageRepository.save(IMAGE_1_SIMPLE);
-        realmRepository.save(REALM_DBREPO);
-        licenseRepository.save(LICENSE_1);
-        userRepository.save(USER_1_SIMPLE);
-        userRepository.save(USER_2_SIMPLE);
-        userRepository.save(USER_3_SIMPLE);
-        userRepository.save(USER_4_SIMPLE);
-        containerRepository.save(CONTAINER_1_SIMPLE);
-        databaseRepository.save(DATABASE_1_SIMPLE);
-        containerRepository.save(CONTAINER_2_SIMPLE);
-        databaseRepository.save(DATABASE_2_SIMPLE);
-    }
-
-    @Test
-    public void create_subsetRelatedIdentifiers_succeeds()
-            throws DatabaseNotFoundException, UserNotFoundException, IdentifierAlreadyExistsException,
-            QueryNotFoundException, IdentifierPublishingNotAllowedException, RemoteUnavailableException,
-            IdentifierRequestException, ViewNotFoundException {
-        final String bearer = "Bearer abcxyz";
-
-        /* mock */
-        when(restTemplate.exchange(anyString(), any(HttpMethod.class), any(HttpEntity.class), eq(QueryDto.class)))
-                .thenReturn(ResponseEntity.ok(QUERY_2_DTO));
-        when(queryServiceGateway.find(DATABASE_2_ID, IDENTIFIER_2_DTO_REQUEST, bearer))
-                .thenReturn(QUERY_2_DTO);
-        identifierRepository.save(IDENTIFIER_1_SIMPLE);
-
-        /* test */
-        final Identifier response = identifierService.create(IDENTIFIER_2_DTO_REQUEST, USER_2_PRINCIPAL, bearer);
-        assertEquals(IDENTIFIER_2_ID, response.getId());
-        assertNotNull(response.getTitles());
-        assertEquals(1, response.getTitles().size());
-        final IdentifierTitle title0 = response.getTitles().get(0);
-        assertEquals(IDENTIFIER_2_TITLE_1_TITLE, title0.getTitle());
-        assertEquals(IDENTIFIER_2_TITLE_1_LANG, title0.getLanguage());
-        assertEquals(IDENTIFIER_2_TITLE_1_TYPE, title0.getTitleType());
-        assertNotNull(response.getDescriptions());
-        assertEquals(1, response.getDescriptions().size());
-        final IdentifierDescription description0 = response.getDescriptions().get(0);
-        assertEquals(IDENTIFIER_2_DESCRIPTION_1_DESCRIPTION, description0.getDescription());
-        assertEquals(IDENTIFIER_2_DESCRIPTION_1_LANG, description0.getLanguage());
-        assertEquals(IDENTIFIER_2_DESCRIPTION_1_TYPE, description0.getDescriptionType());
-        assertEquals(IDENTIFIER_2_DOI, response.getDoi());
-        assertEquals(IDENTIFIER_2_PUBLISHER, response.getPublisher());
-        assertEquals(IDENTIFIER_2_DATABASE_ID, response.getDatabase().getId());
-        assertNull(response.getLanguage());
-        assertEquals(IDENTIFIER_2_PUBLICATION_YEAR, response.getPublicationYear());
-        assertEquals(IDENTIFIER_2_PUBLICATION_MONTH, response.getPublicationMonth());
-        assertEquals(IDENTIFIER_2_PUBLICATION_DAY, response.getPublicationDay());
-        final List<RelatedIdentifier> relatedIdentifiers = response.getRelatedIdentifiers();
-        assertEquals(1, relatedIdentifiers.size());
-        final RelatedIdentifier relatedIdentifier1 = relatedIdentifiers.get(0);
-        assertEquals(RELATED_IDENTIFIER_2_ID, relatedIdentifier1.getId());
-        assertEquals(RELATED_IDENTIFIER_2_TYPE, relatedIdentifier1.getType());
-        assertEquals(RELATED_IDENTIFIER_2_RELATION_TYPE, relatedIdentifier1.getRelation());
-        assertEquals(RELATED_IDENTIFIER_2_VALUE, relatedIdentifier1.getValue());
-        /* open search database */
-        assertTrue(identifierIdxRepository.existsById(IDENTIFIER_2_ID));
-    }
-
-    @Test
-    public void create_succeeds() throws DatabaseNotFoundException, UserNotFoundException,
-            IdentifierAlreadyExistsException, QueryNotFoundException, IdentifierPublishingNotAllowedException,
-            RemoteUnavailableException, IdentifierRequestException, ViewNotFoundException {
-        final String bearer = "Bearer abcxyz";
-
-        /* test */
-        final Identifier response = identifierService.create(IDENTIFIER_1_DTO_REQUEST, USER_1_PRINCIPAL, bearer);
-        assertEquals(IDENTIFIER_1_ID, response.getId());
-        assertNotNull(response.getTitles());
-        final List<IdentifierTitle> titles = response.getTitles();
-        assertEquals(2, titles.size());
-        final IdentifierTitle title0 = titles.get(0);
-        assertEquals(IDENTIFIER_1_TITLE_1_ID, title0.getId());
-        assertEquals(IDENTIFIER_1_TITLE_1_TITLE, title0.getTitle());
-        assertEquals(IDENTIFIER_1_TITLE_1_LANG, title0.getLanguage());
-        assertEquals(IDENTIFIER_1_TITLE_1_TYPE, title0.getTitleType());
-        final IdentifierTitle title1 = titles.get(1);
-        assertEquals(IDENTIFIER_1_TITLE_2_ID, title1.getId());
-        assertEquals(IDENTIFIER_1_TITLE_2_TITLE, title1.getTitle());
-        assertEquals(IDENTIFIER_1_TITLE_2_LANG, title1.getLanguage());
-        assertEquals(IDENTIFIER_1_TITLE_2_TYPE, title1.getTitleType());
-        assertNotNull(response.getDescriptions());
-        assertEquals(1, response.getDescriptions().size());
-        final List<IdentifierDescription> descriptions = response.getDescriptions();
-        final IdentifierDescription description0 = descriptions.get(0);
-        assertEquals(IDENTIFIER_1_DESCRIPTION_1_DESCRIPTION, description0.getDescription());
-        assertEquals(IDENTIFIER_1_DESCRIPTION_1_LANG, description0.getLanguage());
-        assertEquals(IDENTIFIER_1_DESCRIPTION_1_TYPE, description0.getDescriptionType());
-        assertNotNull(response.getCreators());
-        assertEquals(1, response.getCreators().size());
-        assertNotNull(response.getFunders());
-        assertEquals(1, response.getFunders().size());
-        /* open search database */
-        assertTrue(identifierIdxRepository.existsById(IDENTIFIER_1_ID));
-    }
-
-    @Test
-    public void create_noRelatedTitleDescription_succeeds() throws DatabaseNotFoundException, UserNotFoundException,
-            IdentifierAlreadyExistsException, QueryNotFoundException, IdentifierPublishingNotAllowedException,
-            RemoteUnavailableException, IdentifierRequestException, ViewNotFoundException {
-        final String bearer = "Bearer abcxyz";
-
-        /* mock */
-        containerRepository.save(CONTAINER_3_SIMPLE);
-        containerRepository.save(CONTAINER_4_SIMPLE);
-        databaseRepository.save(DATABASE_3_SIMPLE);
-        databaseRepository.save(DATABASE_4_SIMPLE);
-        identifierRepository.save(IDENTIFIER_1_SIMPLE);
-        identifierRepository.save(IDENTIFIER_2_SIMPLE);
-        identifierRepository.save(IDENTIFIER_3_SIMPLE);
-        identifierIdxRepository.save(IDENTIFIER_1_DTO);
-        identifierIdxRepository.save(IDENTIFIER_2_DTO);
-        identifierIdxRepository.save(IDENTIFIER_3_DTO);
-
-        /* test */
-        final Identifier response = identifierService.create(IDENTIFIER_4_DTO_REQUEST, USER_1_PRINCIPAL, bearer);
-        assertEquals(IDENTIFIER_4_ID, response.getId());
-        assertNotNull(response.getTitles());
-        assertEquals(0, response.getTitles().size());
-        assertNotNull(response.getDescriptions());
-        assertEquals(0, response.getDescriptions().size());
-        assertNotNull(response.getCreators());
-        assertEquals(1, response.getCreators().size());
-        assertNotNull(response.getFunders());
-        assertEquals(0, response.getFunders().size());
-        /* open search database */
-        assertTrue(identifierIdxRepository.existsById(IDENTIFIER_4_ID));
-    }
-
-    @Test
-    public void create_subsetHasDatabaseIdentifier_succeeds() throws DatabaseNotFoundException, UserNotFoundException,
-            IdentifierAlreadyExistsException, QueryNotFoundException, IdentifierPublishingNotAllowedException,
-            RemoteUnavailableException, IdentifierRequestException, ViewNotFoundException {
-        final String authorization = "Bearer abcxyz";
-
-        /* mock */
-        containerRepository.save(CONTAINER_3_SIMPLE);
-        containerRepository.save(CONTAINER_4_SIMPLE);
-        databaseRepository.save(DATABASE_3_SIMPLE);
-        databaseRepository.save(DATABASE_4_SIMPLE);
-        identifierRepository.save(IDENTIFIER_1_SIMPLE);
-        identifierRepository.save(IDENTIFIER_2_SIMPLE);
-        identifierRepository.save(IDENTIFIER_3_SIMPLE);
-        identifierRepository.save(IDENTIFIER_4_SIMPLE);
-        identifierIdxRepository.save(IDENTIFIER_1_DTO);
-        identifierIdxRepository.save(IDENTIFIER_2_DTO);
-        identifierIdxRepository.save(IDENTIFIER_3_DTO);
-        identifierIdxRepository.save(IDENTIFIER_4_DTO);
-        when(queryServiceGateway.find(DATABASE_1_ID, IDENTIFIER_5_DTO_REQUEST, authorization))
-                .thenReturn(QUERY_1_DTO);
-
-        /* test */
-        final Identifier response = identifierService.create(IDENTIFIER_5_DTO_REQUEST, USER_1_PRINCIPAL, authorization);
-        assertEquals(IDENTIFIER_5_DATABASE_ID, response.getDatabaseId());
-        assertEquals(IDENTIFIER_5_DATABASE_ID, response.getDatabase().getId());
-        assertEquals(IDENTIFIER_5_QUERY, response.getQuery());
-        assertEquals(IDENTIFIER_5_QUERY_HASH, response.getQueryHash());
-        assertEquals(IDENTIFIER_5_RESULT_HASH, response.getResultHash());
-        assertEquals(0, response.getTitles().size());
-        assertEquals(0, response.getDescriptions().size());
-        /* open search database */
-        assertTrue(identifierIdxRepository.existsById(IDENTIFIER_5_ID));
-    }
-
-    @Test
-    public void create_viewIdentifier_succeeds() throws DatabaseNotFoundException, UserNotFoundException,
-            IdentifierAlreadyExistsException, QueryNotFoundException, IdentifierPublishingNotAllowedException,
-            RemoteUnavailableException, IdentifierRequestException, ViewNotFoundException {
-        final String authorization = "Bearer abcxyz";
-
-        /* mock */
-        containerRepository.save(CONTAINER_3_SIMPLE);
-        containerRepository.save(CONTAINER_4_SIMPLE);
-        databaseRepository.save(DATABASE_3_SIMPLE);
-        databaseRepository.save(DATABASE_4_SIMPLE);
-        tableRepository.saveAll(List.of(TABLE_1_SIMPLE, TABLE_2_SIMPLE, TABLE_3_SIMPLE));
-        viewRepository.save(VIEW_1);
-        identifierRepository.save(IDENTIFIER_1_SIMPLE);
-        identifierRepository.save(IDENTIFIER_2_SIMPLE);
-        identifierRepository.save(IDENTIFIER_3_SIMPLE);
-        identifierRepository.save(IDENTIFIER_4_SIMPLE);
-        identifierRepository.save(IDENTIFIER_5_SIMPLE);
-        identifierIdxRepository.save(IDENTIFIER_1_DTO);
-        identifierIdxRepository.save(IDENTIFIER_2_DTO);
-        identifierIdxRepository.save(IDENTIFIER_3_DTO);
-        identifierIdxRepository.save(IDENTIFIER_4_DTO);
-        identifierIdxRepository.save(IDENTIFIER_5_DTO);
-
-        /* test */
-        final Identifier response = identifierService.create(IDENTIFIER_6_DTO_REQUEST, USER_1_PRINCIPAL, authorization);
-        assertEquals(IDENTIFIER_6_DATABASE_ID, response.getDatabaseId());
-        assertEquals(IDENTIFIER_6_DATABASE_ID, response.getDatabase().getId());
-        assertEquals(IDENTIFIER_6_QUERY, response.getQuery());
-        assertEquals(IDENTIFIER_6_QUERY_HASH, response.getQueryHash());
-        assertEquals(IDENTIFIER_6_RESULT_HASH, response.getResultHash());
-        assertEquals(0, response.getTitles().size());
-        assertEquals(0, response.getDescriptions().size());
-        assertEquals(1, response.getLicenses().size());
-        /* open search database */
-        assertTrue(identifierIdxRepository.existsById(IDENTIFIER_6_ID));
-    }
-
-    @Test
-    public void find_fails() {
-
-        /* mock */
-        identifierRepository.save(IDENTIFIER_1_SIMPLE);
-
-        /* test */
-        assertThrows(IdentifierNotFoundException.class, () -> {
-            identifierService.find(IDENTIFIER_2_ID);
-        });
-    }
-
-    @Test
-    public void update_database_succeeds() throws UserNotFoundException, QueryNotFoundException,
-            DatabaseNotFoundException, RemoteUnavailableException, IdentifierRequestException,
-            IdentifierNotFoundException {
-
-        /* mock */
-        identifierRepository.save(IDENTIFIER_1_SIMPLE);
-
-        /* test */
-        final Identifier response = identifierService.update(IDENTIFIER_1_ID, IDENTIFIER_1_DTO_UPDATE_REQUEST, USER_1_PRINCIPAL, "Bearer abc");
-        assertEquals(IDENTIFIER_1_ID, response.getId());
-        assertEquals(IDENTIFIER_1_DATABASE_ID, response.getDatabaseId());
-        final List<IdentifierTitle> titles = response.getTitles();
-        assertEquals(2, titles.size());
-        final IdentifierTitle title0 = titles.get(0);
-        assertEquals(IDENTIFIER_1_TITLE_1_ID, title0.getId());
-        assertEquals(IDENTIFIER_1_TITLE_1_TITLE_MODIFY, title0.getTitle()); // <<<<<<
-        assertEquals(IDENTIFIER_1_TITLE_1_LANG, title0.getLanguage());
-        assertEquals(IDENTIFIER_1_TITLE_1_TYPE, title0.getTitleType());
-        final IdentifierTitle title1 = titles.get(1);
-        assertEquals(IDENTIFIER_1_TITLE_2_ID, title1.getId());
-        assertEquals(IDENTIFIER_1_TITLE_2_TITLE_MODIFY, title1.getTitle());
-        assertEquals(IDENTIFIER_1_TITLE_2_LANG, title1.getLanguage());
-        assertEquals(IDENTIFIER_1_TITLE_2_TYPE, title1.getTitleType());
-        assertEquals(IDENTIFIER_1_PUBLICATION_YEAR, response.getPublicationYear());
-        assertEquals(IDENTIFIER_1_PUBLICATION_MONTH, response.getPublicationMonth());
-        assertEquals(IDENTIFIER_1_PUBLICATION_DAY, response.getPublicationDay());
-        /* open search database */
-        assertTrue(identifierIdxRepository.existsById(IDENTIFIER_1_ID));
-    }
-
-    @Test
-    @Transactional
-    public void update_subset_succeeds() throws UserNotFoundException, QueryNotFoundException,
-            DatabaseNotFoundException, RemoteUnavailableException, IdentifierRequestException,
-            IdentifierNotFoundException {
-
-        /* mock */
-        identifierRepository.save(IDENTIFIER_1_SIMPLE);
-        identifierRepository.save(IDENTIFIER_2_SIMPLE);
-        when(queryServiceGateway.find(eq(IDENTIFIER_2_DATABASE_ID), any(IdentifierSaveDto.class), anyString()))
-                .thenReturn(QUERY_2_DTO);
-
-        /* test */
-        final Identifier response = identifierService.update(IDENTIFIER_2_ID, IDENTIFIER_2_DTO_UPDATE_REQUEST, USER_2_PRINCIPAL, "Bearer abc");
-        assertEquals(IDENTIFIER_2_ID, response.getId());
-        assertEquals(IDENTIFIER_2_DATABASE_ID, response.getDatabase().getId());
-        assertEquals(1, response.getTitles().size());
-        assertEquals(1, identifierRepository.findAll().stream().map(Identifier::getTitles).flatMap(List::stream).toList().size());
-        assertEquals(IDENTIFIER_2_PUBLICATION_YEAR, response.getPublicationYear());
-        assertEquals(IDENTIFIER_2_PUBLICATION_MONTH, response.getPublicationMonth());
-        assertEquals(IDENTIFIER_2_PUBLICATION_DAY, response.getPublicationDay());
-        /* open search database */
-        assertTrue(identifierIdxRepository.existsById(IDENTIFIER_2_ID));
-    }
-
-    @Test
-    public void delete_succeeds() throws IdentifierNotFoundException {
-
-        /* mock */
-        identifierRepository.save(IDENTIFIER_1_SIMPLE);
-        identifierIdxRepository.save(IDENTIFIER_1_DTO);
-
-        /* test */
-        identifierService.delete(IDENTIFIER_1_ID);
-        assertTrue(userRepository.findById(IDENTIFIER_1_CREATED_BY).isPresent()) /* no cascade of delete */;
-        /* open search database */
-        assertFalse(identifierIdxRepository.existsById(IDENTIFIER_1_ID));
-    }
-
-    @Test
-    public void delete_notFound_fails() {
-
-        /* mock */
-        identifierRepository.save(IDENTIFIER_1_SIMPLE);
-
-        /* test */
-        assertThrows(IdentifierNotFoundException.class, () -> {
-            identifierService.delete(IDENTIFIER_2_ID);
-        });
-    }
-
-}
diff --git a/dbrepo-identifier-service/rest-service/src/test/java/at/tuwien/service/IdentifierServiceUnitTest.java b/dbrepo-identifier-service/rest-service/src/test/java/at/tuwien/service/IdentifierServiceUnitTest.java
deleted file mode 100644
index b5961bdc97..0000000000
--- a/dbrepo-identifier-service/rest-service/src/test/java/at/tuwien/service/IdentifierServiceUnitTest.java
+++ /dev/null
@@ -1,420 +0,0 @@
-package at.tuwien.service;
-
-import at.tuwien.BaseUnitTest;
-import at.tuwien.api.database.query.QueryDto;
-import at.tuwien.api.identifier.BibliographyTypeDto;
-import at.tuwien.api.identifier.IdentifierDto;
-import at.tuwien.entities.identifier.Creator;
-import at.tuwien.entities.identifier.Identifier;
-import at.tuwien.entities.identifier.IdentifierType;
-import at.tuwien.entities.identifier.NameIdentifierSchemeType;
-import at.tuwien.exception.*;
-import at.tuwien.repository.sdb.IdentifierIdxRepository;
-import at.tuwien.repository.mdb.IdentifierRepository;
-import org.junit.jupiter.api.Test;
-import org.junit.jupiter.api.extension.ExtendWith;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.beans.factory.annotation.Qualifier;
-import org.springframework.boot.test.context.SpringBootTest;
-import org.springframework.boot.test.mock.mockito.MockBean;
-import org.springframework.core.io.InputStreamResource;
-import org.springframework.http.HttpEntity;
-import org.springframework.http.HttpMethod;
-import org.springframework.http.ResponseEntity;
-import org.springframework.test.context.junit.jupiter.SpringExtension;
-import org.springframework.web.client.RestTemplate;
-
-import java.util.List;
-import java.util.Optional;
-
-import static org.junit.jupiter.api.Assertions.*;
-import static org.mockito.ArgumentMatchers.*;
-import static org.mockito.Mockito.doNothing;
-import static org.mockito.Mockito.when;
-
-@ExtendWith(SpringExtension.class)
-@SpringBootTest
-public class IdentifierServiceUnitTest extends BaseUnitTest {
-
-    @MockBean
-    private IdentifierRepository identifierRepository;
-
-    @MockBean
-    private IdentifierIdxRepository identifierIdxRepository;
-
-    @MockBean
-    private DatabaseService databaseService;
-
-    @MockBean
-    @Qualifier("restTemplate")
-    private RestTemplate restTemplate;
-
-    @MockBean
-    private UserService userService;
-
-    @Autowired
-    private IdentifierService identifierService;
-
-    @Test
-    public void findAll_succeeds() {
-
-        /* mock */
-        when(identifierRepository.findAll())
-                .thenReturn(List.of(IDENTIFIER_1));
-
-        /* test */
-        final List<Identifier> response = identifierService.findAll(null, null, null, null);
-        assertEquals(1, response.size());
-        assertEquals(IDENTIFIER_1, response.get(0));
-    }
-
-    @Test
-    public void findAll2_succeeds() {
-
-        /* mock */
-        when(identifierRepository.findAll())
-                .thenReturn(List.of(IDENTIFIER_1));
-
-        /* test */
-        final List<Identifier> response = identifierService.findAll(null, null, null, null);
-        assertEquals(1, response.size());
-        assertEquals(IDENTIFIER_1, response.get(0));
-    }
-
-    @Test
-    public void findAll2_databaseId_succeeds() {
-
-        /* mock */
-        when(identifierRepository.findAll())
-                .thenReturn(List.of(IDENTIFIER_1));
-
-        /* test */
-        final List<Identifier> response = identifierService.findAll(null, DATABASE_1_ID, null, null);
-        assertEquals(1, response.size());
-        assertEquals(IDENTIFIER_1, response.get(0));
-    }
-
-    @Test
-    public void findAll2_queryId_succeeds() {
-
-        /* mock */
-        when(identifierRepository.findAll())
-                .thenReturn(List.of(IDENTIFIER_1));
-
-        /* test */
-        final List<Identifier> response = identifierService.findAll(null, null, QUERY_1_ID, null);
-        assertEquals(1, response.size());
-        assertEquals(IDENTIFIER_1, response.get(0));
-    }
-
-    @Test
-    public void findAll2_databaseIdAndQueryId_succeeds() {
-
-        /* mock */
-        when(identifierRepository.findAll())
-                .thenReturn(List.of(IDENTIFIER_1));
-
-        /* test */
-        final List<Identifier> response = identifierService.findAll(null, DATABASE_1_ID, QUERY_1_ID, null);
-        assertEquals(1, response.size());
-        assertEquals(IDENTIFIER_1, response.get(0));
-    }
-
-    @Test
-    public void find_succeeds() throws IdentifierNotFoundException {
-
-        /* mock */
-        when(identifierRepository.findById(IDENTIFIER_1_ID))
-                .thenReturn(Optional.of(IDENTIFIER_1));
-
-        /* test */
-        final Identifier response = identifierService.find(IDENTIFIER_1_ID);
-        assertEquals(IDENTIFIER_1, response);
-    }
-
-    @Test
-    public void findByDatabaseIdAndQueryId_succeeds() {
-
-        /* mock */
-        when(identifierRepository.findByDatabaseIdAndQueryId(DATABASE_1_ID, QUERY_1_ID))
-                .thenReturn(List.of(IDENTIFIER_1));
-
-        /* test */
-        final List<Identifier> response = identifierService.findByDatabaseIdAndQueryId(DATABASE_1_ID, QUERY_1_ID);
-        assertEquals(1, response.size());
-        final Identifier identifier0 = response.get(0);
-        assertEquals(IDENTIFIER_1_ID, identifier0.getId());
-    }
-
-    @Test
-    public void findByDatabaseIdAndQueryId_fails() {
-
-        /* mock */
-        when(identifierRepository.findByDatabaseIdAndQueryId(DATABASE_1_ID, QUERY_1_ID))
-                .thenReturn(List.of());
-
-        /* test */
-        final List<Identifier> response = identifierService.findByDatabaseIdAndQueryId(DATABASE_1_ID, QUERY_1_ID);
-        assertEquals(0, response.size());
-    }
-
-    @Test
-    public void find_fails() {
-
-        /* mock */
-        when(identifierRepository.findById(IDENTIFIER_1_ID))
-                .thenReturn(Optional.empty());
-
-        /* test */
-        assertThrows(IdentifierNotFoundException.class, () -> {
-            identifierService.find(IDENTIFIER_1_ID);
-        });
-    }
-
-    @Test
-    public void create_database_succeeds()
-            throws DatabaseNotFoundException, UserNotFoundException, IdentifierAlreadyExistsException,
-            QueryNotFoundException, IdentifierPublishingNotAllowedException, RemoteUnavailableException,
-            IdentifierRequestException, ViewNotFoundException {
-        final String bearer = "Bearer abcxyz";
-
-        /* mock */
-        when(databaseService.find(DATABASE_1_ID))
-                .thenReturn(DATABASE_1);
-        when(restTemplate.exchange(anyString(), any(HttpMethod.class), any(HttpEntity.class), eq(QueryDto.class)))
-                .thenReturn(ResponseEntity.ok(QUERY_1_DTO));
-        when(userService.findByUsername(USER_1_USERNAME))
-                .thenReturn(USER_1);
-        when(identifierRepository.save(any(Identifier.class)))
-                .thenReturn(IDENTIFIER_1);
-        when(identifierIdxRepository.save(any(IdentifierDto.class)))
-                .thenReturn(IDENTIFIER_1_DTO);
-
-
-        /* test */
-        identifierService.create(IDENTIFIER_1_DTO_REQUEST, USER_1_PRINCIPAL, bearer);
-    }
-
-    @Test
-    public void create_existsSubset_fails()
-            throws DatabaseNotFoundException {
-        final String bearer = "Bearer abcxyz";
-
-        /* mock */
-        when(databaseService.find(DATABASE_2_ID))
-                .thenReturn(DATABASE_2);
-        when(identifierRepository.existsByDatabaseIdAndQueryIdAndType(DATABASE_2_ID, QUERY_2_ID, IdentifierType.SUBSET))
-                .thenReturn(true);
-
-
-        /* test */
-        assertThrows(IdentifierAlreadyExistsException.class, () -> {
-            identifierService.create(IDENTIFIER_2_DTO_REQUEST, USER_1_PRINCIPAL, bearer);
-        });
-    }
-
-    @Test
-    public void create_existsDatabase_fails() throws DatabaseNotFoundException {
-        final String bearer = "Bearer abcxyz";
-
-        /* mock */
-        when(databaseService.find(DATABASE_1_ID))
-                .thenReturn(DATABASE_1);
-        when(identifierRepository.existsByDatabaseIdAndType(DATABASE_1_ID, IdentifierType.DATABASE))
-                .thenReturn(true);
-
-
-        /* test */
-        assertThrows(IdentifierAlreadyExistsException.class, () -> {
-            identifierService.create(IDENTIFIER_1_DTO_REQUEST, USER_1_PRINCIPAL, bearer);
-        });
-    }
-
-    @Test
-    public void exportBibliography_apa_succeeds() throws IdentifierNotFoundException, IdentifierRequestException {
-
-        /* mock */
-        when(identifierRepository.findById(IDENTIFIER_1_ID))
-                .thenReturn(Optional.of(IDENTIFIER_1));
-
-        /* test */
-        final String response = identifierService.exportBibliography(IDENTIFIER_1_ID, BibliographyTypeDto.APA);
-        assertTrue(response.contains(IDENTIFIER_1_TITLE_1.getTitle()));
-        assertTrue(response.contains("" + IDENTIFIER_1_PUBLICATION_YEAR));
-        assertTrue(response.contains(IDENTIFIER_1_CREATOR_1.getLastname()));
-    }
-
-    @Test
-    public void exportBibliography_apaMixedPersonAndOrg_succeeds() throws IdentifierNotFoundException,
-            IdentifierRequestException {
-        final Creator org = Creator.builder()
-                .id(CREATOR_2_ID)
-                .creatorName("Institute of Science and Technology Austria")
-                .nameIdentifier("https://ror.org/03gnh5541")
-                .nameIdentifierScheme(NameIdentifierSchemeType.ROR)
-                .build();
-        final Identifier identifier = IDENTIFIER_1.toBuilder()
-                .creators(List.of(IDENTIFIER_1_CREATOR_1, org))
-                .build();
-
-        /* mock */
-        when(identifierRepository.findById(IDENTIFIER_1_ID))
-                .thenReturn(Optional.of(identifier));
-
-        /* test */
-        final String response = identifierService.exportBibliography(IDENTIFIER_1_ID, BibliographyTypeDto.APA);
-        final String title = IDENTIFIER_1_CREATOR_1.getFirstname().charAt(0) + "., " + IDENTIFIER_1_CREATOR_1.getLastname() + " & Institute of Science and Technology Austria";
-        assertTrue(response.contains(title));
-        assertTrue(response.contains("" + IDENTIFIER_1_PUBLICATION_YEAR));
-    }
-
-    @Test
-    public void exportBibliography_bibtex_succeeds() throws IdentifierNotFoundException, IdentifierRequestException {
-
-        /* mock */
-        when(identifierRepository.findById(IDENTIFIER_1_ID))
-                .thenReturn(Optional.of(IDENTIFIER_1));
-
-        /* test */
-        final String response = identifierService.exportBibliography(IDENTIFIER_1_ID, BibliographyTypeDto.BIBTEX);
-        assertTrue(response.contains(IDENTIFIER_1_TITLE_1.getTitle()));
-        assertTrue(response.contains("" + IDENTIFIER_1_PUBLICATION_YEAR));
-        assertTrue(response.contains(IDENTIFIER_1_CREATOR_1.getLastname()));
-    }
-
-    @Test
-    public void exportBibliography_bibtexMixedPersonAndOrg_succeeds() throws IdentifierNotFoundException,
-            IdentifierRequestException {
-        final Creator org = Creator.builder()
-                .id(CREATOR_2_ID)
-                .creatorName("Institute of Science and Technology Austria")
-                .nameIdentifier("https://ror.org/03gnh5541")
-                .nameIdentifierScheme(NameIdentifierSchemeType.ROR)
-                .build();
-        final Identifier identifier = IDENTIFIER_1.toBuilder()
-                .creators(List.of(IDENTIFIER_1_CREATOR_1, org))
-                .build();
-
-        /* mock */
-        when(identifierRepository.findById(IDENTIFIER_1_ID))
-                .thenReturn(Optional.of(identifier));
-
-        /* test */
-        final String response = identifierService.exportBibliography(IDENTIFIER_1_ID, BibliographyTypeDto.BIBTEX);
-        final String title = IDENTIFIER_1_CREATOR_1.getLastname() + ", " + IDENTIFIER_1_CREATOR_1.getFirstname() + " and Institute of Science and Technology Austria";
-        assertTrue(response.contains(title));
-        assertTrue(response.contains("" + IDENTIFIER_1_PUBLICATION_YEAR));
-    }
-
-    @Test
-    public void exportBibliography_ieee_succeeds() throws IdentifierNotFoundException, IdentifierRequestException {
-
-        /* mock */
-        when(identifierRepository.findById(IDENTIFIER_1_ID))
-                .thenReturn(Optional.of(IDENTIFIER_1));
-
-        /* test */
-        final String response = identifierService.exportBibliography(IDENTIFIER_1_ID, BibliographyTypeDto.IEEE);
-        assertTrue(response.contains(IDENTIFIER_1_TITLE_1.getTitle()));
-        assertTrue(response.contains("" + IDENTIFIER_1_PUBLICATION_YEAR));
-        assertTrue(response.contains(IDENTIFIER_1_CREATOR_1.getLastname()));
-    }
-
-    @Test
-    public void exportBibliography_ieeeMixedPersonAndOrg_succeeds() throws IdentifierNotFoundException,
-            IdentifierRequestException {
-        final Creator org = Creator.builder()
-                .id(CREATOR_2_ID)
-                .creatorName("Institute of Science and Technology Austria")
-                .nameIdentifier("https://ror.org/03gnh5541")
-                .nameIdentifierScheme(NameIdentifierSchemeType.ROR)
-                .build();
-        final Identifier identifier = IDENTIFIER_1.toBuilder()
-                .creators(List.of(IDENTIFIER_1_CREATOR_1, org))
-                .build();
-
-        /* mock */
-        when(identifierRepository.findById(IDENTIFIER_1_ID))
-                .thenReturn(Optional.of(identifier));
-
-        /* test */
-        final String response = identifierService.exportBibliography(IDENTIFIER_1_ID, BibliographyTypeDto.IEEE);
-        final String title = IDENTIFIER_1_CREATOR_1.getFirstname().charAt(0) + ". " + IDENTIFIER_1_CREATOR_1.getLastname() + ", Institute of Science and Technology Austria";
-        assertTrue(response.contains(title));
-        assertTrue(response.contains("" + IDENTIFIER_1_PUBLICATION_YEAR));
-    }
-
-    @Test
-    public void delete_succeeds() throws IdentifierNotFoundException {
-
-        /* mock */
-        when(identifierRepository.existsById(IDENTIFIER_1_ID))
-                .thenReturn(true);
-        when(identifierIdxRepository.existsById(IDENTIFIER_1_ID))
-                .thenReturn(true);
-        doNothing()
-                .when(identifierRepository)
-                .delete(IDENTIFIER_1);
-        doNothing()
-                .when(identifierIdxRepository)
-                .deleteById(IDENTIFIER_1_ID);
-
-        /* test */
-        identifierService.delete(IDENTIFIER_1_ID);
-    }
-
-    @Test
-    public void delete_notFound_fails() {
-
-        /* mock */
-        when(identifierRepository.findById(IDENTIFIER_1_ID))
-                .thenReturn(Optional.empty());
-        doNothing()
-                .when(identifierRepository)
-                .delete(IDENTIFIER_1);
-
-        /* test */
-        assertThrows(IdentifierNotFoundException.class, () -> {
-            identifierService.delete(IDENTIFIER_1_ID);
-        });
-    }
-
-    @Test
-    public void exportMetadata_succeeds() throws IdentifierNotFoundException {
-
-        /* mock */
-        when(identifierRepository.findById(IDENTIFIER_1_ID))
-                .thenReturn(Optional.of(IDENTIFIER_1));
-
-        /* test */
-        final InputStreamResource response = identifierService.exportMetadata(IDENTIFIER_1_ID);
-        assertNotNull(response);
-    }
-
-    @Test
-    public void exportMetadata_notFound_fails() {
-
-        /* mock */
-        when(identifierRepository.findById(IDENTIFIER_1_ID))
-                .thenReturn(Optional.empty());
-
-        /* test */
-        assertThrows(IdentifierNotFoundException.class, () -> {
-            identifierService.exportMetadata(IDENTIFIER_1_ID);
-        });
-    }
-
-    @Test
-    public void exportResource_database_fails() {
-
-        /* mock */
-        when(identifierRepository.findById(IDENTIFIER_4_ID))
-                .thenReturn(Optional.of(IDENTIFIER_4));
-
-        /* test */
-        assertThrows(IdentifierRequestException.class, () -> {
-            identifierService.exportResource(IDENTIFIER_4_ID);
-        });
-    }
-
-}
diff --git a/dbrepo-identifier-service/rest-service/src/test/java/at/tuwien/service/MetadataServiceUnitTest.java b/dbrepo-identifier-service/rest-service/src/test/java/at/tuwien/service/MetadataServiceUnitTest.java
deleted file mode 100644
index 3dd124f81e..0000000000
--- a/dbrepo-identifier-service/rest-service/src/test/java/at/tuwien/service/MetadataServiceUnitTest.java
+++ /dev/null
@@ -1,171 +0,0 @@
-package at.tuwien.service;
-
-import at.tuwien.BaseUnitTest;
-import at.tuwien.api.crossref.CrossrefDto;
-import at.tuwien.api.orcid.OrcidDto;
-import at.tuwien.api.ror.RorDto;
-import at.tuwien.api.user.external.ExternalMetadataDto;
-import at.tuwien.api.user.external.affiliation.ExternalAffiliationDto;
-import at.tuwien.exception.*;
-import at.tuwien.gateway.CrossrefGateway;
-import at.tuwien.gateway.OrcidGateway;
-import at.tuwien.gateway.RorGateway;
-import at.tuwien.repository.mdb.IdentifierRepository;
-import at.tuwien.repository.sdb.IdentifierIdxRepository;
-import com.fasterxml.jackson.databind.DeserializationFeature;
-import com.fasterxml.jackson.databind.ObjectMapper;
-import org.junit.jupiter.api.Test;
-import org.junit.jupiter.api.extension.ExtendWith;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.boot.test.context.SpringBootTest;
-import org.springframework.boot.test.mock.mockito.MockBean;
-import org.springframework.test.context.junit.jupiter.SpringExtension;
-
-import java.io.File;
-import java.io.IOException;
-import java.util.Arrays;
-
-import static org.junit.jupiter.api.Assertions.*;
-import static org.mockito.ArgumentMatchers.anyString;
-import static org.mockito.Mockito.doThrow;
-import static org.mockito.Mockito.when;
-
-@ExtendWith(SpringExtension.class)
-@SpringBootTest
-public class MetadataServiceUnitTest extends BaseUnitTest {
-
-    @MockBean
-    private IdentifierRepository identifierRepository;
-
-    @MockBean
-    private IdentifierIdxRepository identifierIdxRepository;
-
-    @MockBean
-    private OrcidGateway orcidGateway;
-
-    @MockBean
-    private RorGateway rorGateway;
-
-    @MockBean
-    private CrossrefGateway crossrefGateway;
-
-    @Autowired
-    private MetadataService metadataService;
-
-    @Autowired
-    private ObjectMapper objectMapper;
-
-    @Test
-    public void findByUrl_orcid_succeeds() throws OrcidNotFoundException, RemoteUnavailableException,
-            RorNotFoundException, IOException, DoiNotFoundException {
-        final OrcidDto orcid = objectMapper
-                .configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false)
-                .readValue(new File("src/test/resources/orcid_jdoe.json"), OrcidDto.class);
-
-        /* mock */
-        when(orcidGateway.findByUrl(USER_1_ORCID_URL))
-                .thenReturn(orcid);
-
-        /* test */
-        final ExternalMetadataDto response = metadataService.findByUrl(USER_1_ORCID_URL);
-        assertEquals(USER_1_FIRSTNAME, response.getGivenNames());
-        assertEquals(USER_1_LASTNAME, response.getFamilyName());
-    }
-
-    @Test
-    public void findByUrl_orcid_fails() throws OrcidNotFoundException {
-
-        /* mock */
-        doThrow(OrcidNotFoundException.class)
-                .when(orcidGateway)
-                .findByUrl(anyString());
-
-        /* test */
-        assertThrows(OrcidNotFoundException.class, () -> {
-            metadataService.findByUrl("https://orcid.org/1234567890");
-        });
-    }
-
-    @Test
-    public void findByUrl_doi_succeeds() throws OrcidNotFoundException, RemoteUnavailableException,
-            RorNotFoundException, IOException, DoiNotFoundException {
-        final CrossrefDto doi = objectMapper
-                .configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false)
-                .readValue(new File("src/test/resources/doi_ec.json"), CrossrefDto.class);
-
-        /* mock */
-        when(crossrefGateway.findById(FUNDER_1_IDENTIFIER_ID_ONLY))
-                .thenReturn(doi);
-
-        /* test */
-        final ExternalMetadataDto response = metadataService.findByUrl(FUNDER_1_IDENTIFIER);
-        assertEquals(1, response.getAffiliations().length);
-        final ExternalAffiliationDto affiliation0 = response.getAffiliations()[0];
-        assertEquals(FUNDER_1_NAME, affiliation0.getOrganizationName());
-        assertEquals(FUNDER_1_IDENTIFIER, affiliation0.getCrossrefFunderId());
-    }
-
-    @Test
-    public void findByUrl_doi_fails() throws DoiNotFoundException {
-
-        /* mock */
-        doThrow(DoiNotFoundException.class)
-                .when(crossrefGateway)
-                .findById(anyString());
-
-        /* test */
-        assertThrows(DoiNotFoundException.class, () -> {
-            metadataService.findByUrl("https://doi.org/10.12345/1234567890");
-        });
-    }
-
-    @Test
-    public void findByUrl_ror_succeeds() throws OrcidNotFoundException, RemoteUnavailableException,
-            RorNotFoundException, IOException, DoiNotFoundException {
-        final RorDto ror = objectMapper
-                .configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false)
-                .readValue(new File("src/test/resources/ror_tuw.json"), RorDto.class);
-
-        /* mock */
-        when(rorGateway.findById(anyString()))
-                .thenReturn(ror);
-
-        /* test */
-        final ExternalMetadataDto response = metadataService.findByUrl(CREATOR_4_AFFIL_ROR);
-        assertEquals(1, response.getAffiliations().length);
-        final ExternalAffiliationDto affiliation0 = Arrays.asList(response.getAffiliations()).get(0);
-        assertEquals("TU Wien", affiliation0.getOrganizationName());
-    }
-
-    @Test
-    public void findByUrl_ror_fails() throws RorNotFoundException {
-
-        /* mock */
-        doThrow(RorNotFoundException.class)
-                .when(rorGateway)
-                .findById(anyString());
-
-        /* test */
-        assertThrows(RorNotFoundException.class, () -> {
-            metadataService.findByUrl("https://ror.org/1234567890");
-        });
-    }
-
-    @Test
-    public void findByUrl_rorMalformed_fails() {
-
-        /* test */
-        assertThrows(RorNotFoundException.class, () -> {
-            metadataService.findByUrl("https://ror.org/");
-        });
-    }
-
-    @Test
-    public void findByUrl_isniMalformed_fails() {
-
-        /* test */
-        assertThrows(RemoteUnavailableException.class, () -> {
-            metadataService.findByUrl("https://isni.org/isni/0000000506791090");
-        });
-    }
-}
diff --git a/dbrepo-identifier-service/rest-service/src/test/java/at/tuwien/service/UserServiceUnitTest.java b/dbrepo-identifier-service/rest-service/src/test/java/at/tuwien/service/UserServiceUnitTest.java
deleted file mode 100644
index d81b759744..0000000000
--- a/dbrepo-identifier-service/rest-service/src/test/java/at/tuwien/service/UserServiceUnitTest.java
+++ /dev/null
@@ -1,61 +0,0 @@
-package at.tuwien.service;
-
-import at.tuwien.BaseUnitTest;
-import at.tuwien.entities.user.User;
-import at.tuwien.exception.*;
-import at.tuwien.repository.mdb.UserRepository;
-import at.tuwien.repository.sdb.IdentifierIdxRepository;
-import org.junit.jupiter.api.Test;
-import org.junit.jupiter.api.extension.ExtendWith;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.boot.test.context.SpringBootTest;
-import org.springframework.boot.test.mock.mockito.MockBean;
-import org.springframework.test.context.junit.jupiter.SpringExtension;
-
-import java.util.Optional;
-
-import static org.junit.jupiter.api.Assertions.assertEquals;
-import static org.junit.jupiter.api.Assertions.assertThrows;
-import static org.mockito.Mockito.when;
-
-@ExtendWith(SpringExtension.class)
-@SpringBootTest
-public class UserServiceUnitTest extends BaseUnitTest {
-
-    @MockBean
-    private IdentifierIdxRepository identifierIdxRepository;
-
-    @MockBean
-    private UserRepository userRepository;
-
-    @Autowired
-    private UserService userService;
-
-    @Test
-    public void findByUsername_succeeds() throws UserNotFoundException {
-
-        /* mock */
-        when(userRepository.findByUsername(USER_1_USERNAME))
-                .thenReturn(Optional.of(USER_1));
-
-        /* test */
-        final User response = userService.findByUsername(USER_1_USERNAME);
-        assertEquals(USER_1_ID, response.getId());
-        assertEquals(USER_1_USERNAME, response.getUsername());
-    }
-
-    @Test
-    public void findByUsername_fails() {
-
-        /* mock */
-        when(userRepository.findByUsername(USER_1_USERNAME))
-                .thenReturn(Optional.empty());
-
-        /* test */
-        assertThrows(UserNotFoundException.class, () -> {
-            userService.findByUsername(USER_1_USERNAME);
-        });
-    }
-
-
-}
diff --git a/dbrepo-identifier-service/rest-service/src/test/resources/application.properties b/dbrepo-identifier-service/rest-service/src/test/resources/application.properties
deleted file mode 100644
index 22397307c1..0000000000
--- a/dbrepo-identifier-service/rest-service/src/test/resources/application.properties
+++ /dev/null
@@ -1,28 +0,0 @@
-# enable local spring profile
-spring.profiles.active=local
-
-# disable discovery
-spring.cloud.discovery.enabled = false
-
-# disable cloud config and config discovery
-spring.cloud.config.discovery.enabled = false
-spring.cloud.config.enabled = false
-
-# internal datasource
-spring.datasource.url=jdbc:h2:mem:testdb;DB_CLOSE_ON_EXIT=FALSE;INIT=CREATE SCHEMA IF NOT EXISTS FDA;NON_KEYWORDS=value
-spring.datasource.driverClassName=org.h2.Driver
-spring.datasource.username=sa
-spring.datasource.password=password
-spring.jpa.database-platform=org.hibernate.dialect.H2Dialect
-spring.sql.init.mode=always
-spring.sql.init.schema-locations=classpath*:init/schema.sql
-spring.jpa.hibernate.ddl-auto=create
-
-# datacite
-fda.datacite.url: https://api.test.datacite.org/
-fda.datacite.prefix: 10.12345
-fda.datacite.username: test-user
-fda.datacite.password: test-password
-
-fda.mapping.path: /tmp
-fda.table.path: /tmp
\ No newline at end of file
diff --git a/dbrepo-identifier-service/rest-service/src/test/resources/bibliography/style_apa0.txt b/dbrepo-identifier-service/rest-service/src/test/resources/bibliography/style_apa0.txt
deleted file mode 100644
index f43414ca5e..0000000000
--- a/dbrepo-identifier-service/rest-service/src/test/resources/bibliography/style_apa0.txt
+++ /dev/null
@@ -1 +0,0 @@
-(2022). Sweden weather data. Swedish Government. http://localhost:3000/pid/4
\ No newline at end of file
diff --git a/dbrepo-identifier-service/rest-service/src/test/resources/bibliography/style_apa1.txt b/dbrepo-identifier-service/rest-service/src/test/resources/bibliography/style_apa1.txt
deleted file mode 100644
index 57d54a5ba6..0000000000
--- a/dbrepo-identifier-service/rest-service/src/test/resources/bibliography/style_apa1.txt
+++ /dev/null
@@ -1 +0,0 @@
-M., Mustermann. (2022). Austrian weather data. Austrian Government. http://localhost:3000/pid/1
\ No newline at end of file
diff --git a/dbrepo-identifier-service/rest-service/src/test/resources/bibliography/style_apa2.txt b/dbrepo-identifier-service/rest-service/src/test/resources/bibliography/style_apa2.txt
deleted file mode 100644
index 69c4972082..0000000000
--- a/dbrepo-identifier-service/rest-service/src/test/resources/bibliography/style_apa2.txt
+++ /dev/null
@@ -1 +0,0 @@
-M., Mustermann & M., Mustermann. (2022). Australian weather data. Australian Government. http://localhost:3000/pid/2
\ No newline at end of file
diff --git a/dbrepo-identifier-service/rest-service/src/test/resources/bibliography/style_apa3.txt b/dbrepo-identifier-service/rest-service/src/test/resources/bibliography/style_apa3.txt
deleted file mode 100644
index 028a58d2d7..0000000000
--- a/dbrepo-identifier-service/rest-service/src/test/resources/bibliography/style_apa3.txt
+++ /dev/null
@@ -1 +0,0 @@
-M., Mustermann, M., Mustermann & M., Mustermann. (2022). Norwegian weather data. Norwegian Government. http://localhost:3000/pid/3
\ No newline at end of file
diff --git a/dbrepo-identifier-service/rest-service/src/test/resources/bibliography/style_apa4.txt b/dbrepo-identifier-service/rest-service/src/test/resources/bibliography/style_apa4.txt
deleted file mode 100644
index ce6a65da6b..0000000000
--- a/dbrepo-identifier-service/rest-service/src/test/resources/bibliography/style_apa4.txt
+++ /dev/null
@@ -1 +0,0 @@
-M., Mustermann. (2022). Austrian weather data. Austrian Government. https://doi.org/10.1000/183
\ No newline at end of file
diff --git a/dbrepo-identifier-service/rest-service/src/test/resources/bibliography/style_bibtex0.txt b/dbrepo-identifier-service/rest-service/src/test/resources/bibliography/style_bibtex0.txt
deleted file mode 100644
index 0f797e3861..0000000000
--- a/dbrepo-identifier-service/rest-service/src/test/resources/bibliography/style_bibtex0.txt
+++ /dev/null
@@ -1,7 +0,0 @@
-@misc{dbrepo2022,
-  author = {},
-  title = {Sweden weather data},
-  url = {\url{http://localhost:3000/pid/4}},
-  month = {7},
-  year = {2022}
-}
\ No newline at end of file
diff --git a/dbrepo-identifier-service/rest-service/src/test/resources/bibliography/style_bibtex1.txt b/dbrepo-identifier-service/rest-service/src/test/resources/bibliography/style_bibtex1.txt
deleted file mode 100644
index bab1cdadb1..0000000000
--- a/dbrepo-identifier-service/rest-service/src/test/resources/bibliography/style_bibtex1.txt
+++ /dev/null
@@ -1,7 +0,0 @@
-@misc{dbrepo2022,
-  author = {Mustermann, Max},
-  title = {Austrian weather data},
-  url = {\url{http://localhost:3000/pid/1}},
-  month = {5},
-  year = {2022}
-}
\ No newline at end of file
diff --git a/dbrepo-identifier-service/rest-service/src/test/resources/bibliography/style_bibtex2.txt b/dbrepo-identifier-service/rest-service/src/test/resources/bibliography/style_bibtex2.txt
deleted file mode 100644
index 9df96bed21..0000000000
--- a/dbrepo-identifier-service/rest-service/src/test/resources/bibliography/style_bibtex2.txt
+++ /dev/null
@@ -1,7 +0,0 @@
-@misc{dbrepo2022,
-  author = {Mustermann, Max and Mustermann, Martina},
-  title = {Australian weather data},
-  url = {\url{http://localhost:3000/pid/2}},
-  month = {7},
-  year = {2022}
-}
\ No newline at end of file
diff --git a/dbrepo-identifier-service/rest-service/src/test/resources/bibliography/style_bibtex3.txt b/dbrepo-identifier-service/rest-service/src/test/resources/bibliography/style_bibtex3.txt
deleted file mode 100644
index 44190f2752..0000000000
--- a/dbrepo-identifier-service/rest-service/src/test/resources/bibliography/style_bibtex3.txt
+++ /dev/null
@@ -1,7 +0,0 @@
-@misc{dbrepo2022,
-  author = {Mustermann, Max},
-  title = {Austrian weather data},
-  doi = {10.1000/183},
-  month = {5},
-  year = {2022}
-}
\ No newline at end of file
diff --git a/dbrepo-identifier-service/rest-service/src/test/resources/bibliography/style_ieee0.txt b/dbrepo-identifier-service/rest-service/src/test/resources/bibliography/style_ieee0.txt
deleted file mode 100644
index 35a5374403..0000000000
--- a/dbrepo-identifier-service/rest-service/src/test/resources/bibliography/style_ieee0.txt
+++ /dev/null
@@ -1 +0,0 @@
-[1] “Sweden weather data“, Swedish Government, 2022, Available: http://localhost:3000/pid/4.
\ No newline at end of file
diff --git a/dbrepo-identifier-service/rest-service/src/test/resources/bibliography/style_ieee1.txt b/dbrepo-identifier-service/rest-service/src/test/resources/bibliography/style_ieee1.txt
deleted file mode 100644
index ac28d6fdee..0000000000
--- a/dbrepo-identifier-service/rest-service/src/test/resources/bibliography/style_ieee1.txt
+++ /dev/null
@@ -1 +0,0 @@
-[1] M. Mustermann, “Austrian weather data“, Austrian Government, 2022, Available: http://localhost:3000/pid/1.
\ No newline at end of file
diff --git a/dbrepo-identifier-service/rest-service/src/test/resources/bibliography/style_ieee2.txt b/dbrepo-identifier-service/rest-service/src/test/resources/bibliography/style_ieee2.txt
deleted file mode 100644
index 909031b2db..0000000000
--- a/dbrepo-identifier-service/rest-service/src/test/resources/bibliography/style_ieee2.txt
+++ /dev/null
@@ -1 +0,0 @@
-[1] M. Mustermann and M. Mustermann, “Australian weather data“, Australian Government, 2022, Available: http://localhost:3000/pid/2.
\ No newline at end of file
diff --git a/dbrepo-identifier-service/rest-service/src/test/resources/bibliography/style_ieee3.txt b/dbrepo-identifier-service/rest-service/src/test/resources/bibliography/style_ieee3.txt
deleted file mode 100644
index 286d4b8027..0000000000
--- a/dbrepo-identifier-service/rest-service/src/test/resources/bibliography/style_ieee3.txt
+++ /dev/null
@@ -1 +0,0 @@
-[1] M. Mustermann, “Austrian weather data“, Austrian Government, 2022, doi: 10.1000/183.
\ No newline at end of file
diff --git a/dbrepo-identifier-service/rest-service/src/test/resources/csv/keyboard.csv b/dbrepo-identifier-service/rest-service/src/test/resources/csv/keyboard.csv
deleted file mode 100644
index 21c3c1e040..0000000000
--- a/dbrepo-identifier-service/rest-service/src/test/resources/csv/keyboard.csv
+++ /dev/null
@@ -1,4969 +0,0 @@
-Shift key time,Esc key time,Ctrl key time,Alt key time,User ID,Test date,Gender,Right hand,Birth year,Computer skill level
-1.1315,0.9827,1.06866667,0.90588889,1,3/10/2019 10:17,male,1,1964,4
-1.042,1.2572,1.2215,1.13133333,1,11/14/2019 8:57,male,1,1964,4
-1.12722222,1.11575,1.24833333,1.1035,2,2/6/2019 0:00,female,1,1965,
-1.33814286,1.43566667,1.58525,1.2845,4,2/10/2019 0:00,male,1,1954,4
-2.0555,1.4265,0.91785714,1.66333333,4,3/11/2019 13:10,male,1,1954,4
-1.851,1.75725,1.481,1.90742857,4,2/9/2019 0:00,male,1,1954,4
-1.242,1.364,1.30457143,2.05133333,4,2/10/2019 0:00,male,1,1954,4
-1.6315,1.31514286,1.07133333,1.42328571,4,10/1/2019 10:17,male,1,1954,4
-1.351,1.909,1.37833333,3.66075,4,2/9/2019 0:00,male,1,1954,4
-1.23233333,1.308,1.325,1.02027273,4,2/13/2019 0:00,male,1,1954,4
-1.407,1.4645,1.3726,1.939,4,2/10/2019 0:00,male,1,1954,4
-1.25366667,1.11983333,1.0786,1.9828,4,3/9/2019 0:00,male,1,1954,4
-0.83433333,0.91425,1.07875,0.915,6,2/6/2019 0:00,male,1,1974,
-1.00922222,0.85871429,1.07542857,1.01371429,6,2/26/2019 0:00,male,1,1974,
-0.6483,0.83916667,0.67513333,0.7926,7,2/6/2019 0:00,female,1,1997,
-0.79875,0.87953333,0.84928571,0.8878,8,2/6/2019 0:00,male,0,1976,
-1.0078,1.084,1.33066667,1.4336,11,2/7/2019 0:00,female,1,1974,
-0.65666667,0.8717,0.731375,0.70890909,12,2/7/2019 0:00,female,1,1991,
-0.757,0.733,0.79955556,0.8475,13,2/7/2019 0:00,female,1,1995,
-0.867375,0.85816667,1.0091,0.85688889,14,2/7/2019 0:00,male,1,1995,
-1.217,1.816,1.547,1.13766667,15,2/10/2019 0:00,female,1,1959,
-0.5342,0.63008333,0.57711765,0.51335714,16,2/27/2019 0:00,male,1,1996,
-0.6925,0.71164286,0.73025,0.72925,25,2/27/2019 0:00,male,1,1996,
-1.00528571,1.08288889,1.76,1.3865,114,2/26/2019 0:00,female,1,1977,
-0.842,0.84927273,1.084,1.11075,115,2/27/2019 0:00,male,1,1996,
-0.64661538,0.64628571,0.6477,0.85,116,2/27/2019 0:00,male,1,1996,
-0.8312,0.894,1.057,0.8468,117,2/27/2019 0:00,male,1,1996,
-0.80885714,1.04216667,0.87963636,1.22366667,120,3/5/2019 0:00,male,1,1999,
-0.8112,0.7375,1.52675,1.12016667,121,3/5/2019 0:00,female,1,1999,
-0.676875,0.77066667,0.75535714,0.8991,122,3/5/2019 0:00,male,1,1999,
-1.04611111,0.9679,1.33,0.99825,123,3/5/2019 0:00,male,0,1999,
-1.418,1.30325,1.57083333,1.3145,124,3/5/2019 0:00,male,1,1987,
-1.418,1.30325,1.57083333,1.3145,124,3/5/2019 0:00,male,1,1987,
-0.7904,0.71209091,0.61514286,0.90054545,125,3/5/2019 0:00,male,1,1999,
-0.6872,0.58957143,0.645375,0.76925,126,3/5/2019 0:00,male,1,1999,
-0.984,0.8,0.864,0.56,127,3/5/2019 0:00,male,1,1999,
-0.8188,0.80718182,0.92336364,0.75844444,128,3/5/2019 0:00,female,1,1999,
-1.07428571,0.7974,0.90233333,0.89092308,130,3/5/2019 0:00,female,1,1999,
-0.68311111,0.8806,0.587,0.948875,131,3/5/2019 0:00,male,1,1986,
-0.69036364,0.70790909,0.647,0.62335714,131,3/7/2019 0:00,male,1,1986,
-0.6075,0.5803,0.5397,0.53626316,131,3/7/2019 0:00,male,1,1986,
-0.65108333,0.65275,0.73257143,1.369125,135,3/5/2019 0:00,male,1,1999,
-0.96833333,0.70971429,0.89314286,0.71518182,139,3/5/2019 0:00,male,1,1997,
-0.93771429,0.8199,1.110875,0.87685714,143,3/5/2019 0:00,female,1,1999,
-0.816,0.82811111,0.895875,0.68055556,144,3/7/2019 0:00,female,1,2000,
-0.83842857,0.67892308,0.78066667,1.10928571,145,3/7/2019 0:00,male,1,2000,
-0.58154545,0.88175,0.6398,1.02455556,146,3/7/2019 0:00,male,1,1999,
-0.93957143,0.89228571,0.87745455,0.92975,147,3/7/2019 0:00,female,1,1999,
-0.75046154,0.89666667,0.625,0.81916667,148,3/7/2019 0:00,male,1,1999,
-0.84657143,0.79755556,0.89663636,0.86425,149,3/7/2019 0:00,female,1,1999,
-0.89275,0.99433333,0.82233333,0.9162,151,3/7/2019 0:00,male,1,1999,
-6.1895,1.7645,0.891,1.9292,152,3/7/2019 0:00,male,1,1999,
-0.77425,0.960375,0.92622222,0.70563636,154,3/7/2019 0:00,male,1,1999,
-0.70755556,0.6365,1.1422,0.78972727,155,3/7/2019 0:00,male,1,1998,
-0.8857,0.78281818,1.163375,0.6775,156,3/7/2019 0:00,male,1,1999,
-2.39966667,2.733,1.337,1.3025,157,3/7/2019 0:00,male,1,1998,
-1.373,1.25233333,1.35414286,1.2313,158,3/7/2019 0:00,female,1,1999,
-1.75933333,3.33966667,1.14625,0.901,159,3/7/2019 0:00,female,1,1999,
-0.896,1.24625,0.866875,0.95477778,160,3/7/2019 0:00,female,1,1999,
-1.308,1.0075,1.291,2.279,161,3/7/2019 0:00,female,1,1999,
-0.9614,0.88583333,0.99866667,0.94233333,162,3/7/2019 0:00,female,1,2006,
-0.7855,0.70561538,1.05416667,0.79088889,162,3/7/2019 0:00,female,1,2006,
-1.11583333,0.96909091,0.81271429,0.90942857,164,3/9/2019 0:00,female,1,1991,
-0.72083333,0.70366667,0.75125,0.46515385,165,3/9/2019 0:00,female,1,1996,
-0.829,0.893625,0.82383333,0.73230769,166,3/9/2019 0:00,female,1,1992,
-0.52884615,0.59291667,0.61076923,0.7606,168,3/9/2019 0:00,male,1,1979,
-0.981125,0.9803,0.72033333,0.92325,168,3/9/2019 0:00,male,1,1979,
-0.66344444,0.58917647,0.62266667,0.73090909,169,3/9/2019 0:00,male,1,1994,
-1.201125,0.91522222,1.4325,1.1884,173,3/27/2019 15:48,female,1,1994,
-0.776,0.89316667,0.79175,1.61433333,174,3/28/2019 13:38,male,1,1997,
-0.8386,0.945,0.97783333,0.7218,175,3/28/2019 13:38,male,1,1999,
-1.02766667,1.04766667,1.221,1.08577778,176,3/28/2019 13:39,female,1,1999,
-0.91245455,0.91183333,1.0544,0.9046,177,5/10/2019 12:02,male,1,1995,
-1.49,4.0744,1.449,1.347,177,5/14/2019 12:53,male,1,1995,
-0.862,0.97554545,0.9338,0.90075,177,4/2/2019 11:32,male,1,1995,
-4.6365,1.8975,3.18866667,1.314,177,5/14/2019 18:35,male,1,1995,
-3.6185,3.2785,0.993,1.8435,177,4/9/2019 15:10,male,1,1995,
-2.4175,2.537,2.75533333,1.293,177,5/14/2019 18:37,male,1,1995,
-0.67207692,0.716125,0.7805,0.7948,178,4/4/2019 12:24,male,1,1997,
-1.066,1.0225,0.921,1.20883333,179,4/4/2019 12:25,male,0,1999,
-0.76857143,0.86318182,0.98255556,1.093,180,4/4/2019 12:25,female,1,1999,
-0.94272727,0.68763636,1.18716667,2.3435,181,4/4/2019 12:25,male,1,1999,
-0.5747,0.7233,0.67144444,0.58705556,182,4/4/2019 12:25,male,1,1999,
-0.8422,1.11283333,1.08666667,1.179,183,4/4/2019 12:24,female,0,1988,
-1.05883333,0.9445,1.4578,0.998375,184,4/4/2019 12:25,female,1,1999,
-0.71355556,0.6338,0.77914286,0.64222222,185,4/4/2019 12:25,male,1,1999,
-0.56246667,0.73257143,0.81123077,0.720875,186,4/4/2019 12:25,male,1,1998,
-1.101125,2.0505,1.3452,1.346,187,4/4/2019 12:25,female,1,1999,
-1.07583333,1.0542,1.36388889,0.77314286,188,4/4/2019 12:25,female,1,1999,
-1.19085714,1.32566667,2.10175,1.31,189,4/4/2019 12:25,female,1,2000,
-1.7505,1.42133333,2.118,2.1285,190,4/4/2019 12:25,female,1,2000,
-1.4745,1.08333333,2.80025,1.08666667,193,4/4/2019 12:25,female,0,1999,
-0.81775,0.97328571,0.79528571,0.89433333,194,4/4/2019 13:45,male,1,1999,
-0.8988,1.29714286,1.37471429,0.79925,195,4/4/2019 13:46,female,1,1999,
-1.0275,0.89945455,1.227,1.1,197,4/4/2019 13:55,female,1,1999,
-0.85433333,0.96733333,1.147,0.7703,198,4/4/2019 13:55,female,1,2000,
-0.92877778,0.81788889,0.805,1.2935,199,4/4/2019 13:59,male,1,1998,
-2.3305,1.20828571,1.358,1.30466667,200,4/4/2019 13:57,female,1,1999,
-1.981,1.57866667,2.0115,1.150375,201,4/4/2019 13:58,female,1,1999,
-1.572,1.312,2.638,2.244,202,4/9/2019 9:03,female,1,1961,
-0.7431,0.70033333,1.04533333,0.87890909,204,4/16/2019 8:14,male,1,1985,5
-0.749625,1.021,1.0971,1.612,206,4/9/2019 11:24,male,1,1985,
-1.00214286,1.1108,1.047,1.05111111,207,4/9/2019 14:51,female,1,1967,
-1.24485714,0.88057143,1.06814286,0.899375,208,4/9/2019 15:10,female,1,1999,
-1.0675,1.2282,1.24555556,0.919125,209,4/9/2019 15:10,female,1,2000,
-1.4896,1.232,1.281,0.832,210,4/9/2019 15:10,male,1,1998,
-0.99542857,0.93333333,1.00791667,1.568,211,4/9/2019 15:10,female,0,1999,
-0.95985714,0.89311111,1.2088,1.19542857,212,4/9/2019 15:10,female,1,1999,
-0.85735714,0.6662,1.4134,0.99928571,213,4/9/2019 15:10,female,1,1999,
-0.55842857,0.6027,0.62378571,0.7051,215,4/9/2019 15:13,female,1,1999,
-0.838,0.82588889,0.9448,0.86272727,219,4/10/2019 9:27,female,1,1987,
-1.427,2.098,1.19325,1.518,221,4/11/2019 2:39,male,1,1969,
-1.02833333,1.08977778,0.97775,0.957,221,4/11/2019 2:40,male,1,1969,
-0.7435,1.03633333,0.82166667,0.8744,226,4/17/2019 10:48,female,1,1990,
-0.984125,0.812,1.3715,0.69557143,227,4/18/2019 9:45,male,1,1987,
-0.462125,0.713,0.84284615,0.7152,231,4/19/2019 18:28,male,1,1995,
-0.8540625,1.026,0.97,0.96228571,232,11/10/2019 9:31,female,1,1987,3
-0.91342857,1.0988,1.261,0.9326,232,11/6/2019 7:41,female,1,1987,3
-1.5515,1.2635,1.57066667,1.53657143,233,4/20/2019 19:04,female,1,1993,
-1.1595,1.527875,1.1534,1.21357143,235,4/23/2019 8:52,male,0,1972,
-0.7601,0.879,0.73288889,0.93277778,237,4/24/2019 10:59,female,1,1981,
-0.997,1.21466667,1.13827273,0.9992,240,5/13/2019 22:31,female,1,1995,
-1.35875,0.7226,1.2905,0.927875,241,5/14/2019 8:05,male,1,1988,
-1.60766667,0.93461538,1.3092,0.91642857,242,5/14/2019 23:00,male,1,1963,
-1.61066667,0.928,0.95966667,0.94245455,243,5/14/2019 22:53,male,1,1977,
-1.15075,1.365,1.4175,1.61228571,244,5/18/2019 15:03,male,1,1954,
-1.655,1.89333333,1.58833333,1.307,245,5/21/2019 9:11,female,1,1970,
-1.419,1.314,1.39925,1.92566667,254,5/22/2019 10:23,female,1,1970,
-1.114,2.239,1.382,1.163,254,11/7/2019 10:18,female,1,1970,
-0.65888889,0.77075,0.75322222,0.7986,271,5/30/2019 23:46,male,1,1993,5
-0.83,1.1545,0.949,1.9535,272,5/27/2019 16:02,female,1,1997,
-0.7915,0.87942857,0.89028571,0.85584615,273,5/27/2019 20:14,male,1,1998,
-0.56292308,0.56175,0.78945455,0.6128,273,5/27/2019 23:34,male,1,1998,
-1.8705,1.32666667,0.7953,0.8994,275,5/28/2019 9:12,female,1,1997,
-0.89755556,0.807125,0.73,0.85083333,277,5/28/2019 10:32,male,1,1997,
-1.83983333,1.52575,2.177,1.27566667,280,5/28/2019 12:22,male,1,1997,
-0.95381818,0.794375,0.93477778,0.9416,280,5/28/2019 12:16,male,1,1997,
-0.56846154,0.58425,0.726,0.61276923,280,5/28/2019 12:20,male,1,1997,
-1.1004,0.9715,1.3382,1.943,284,5/28/2019 14:19,male,1,1997,
-0.66854545,1.0038,0.71181818,1.314,285,5/28/2019 14:22,male,1,1998,
-0.8606,0.776,1.27414286,1.13266667,286,6/3/2019 19:04,male,1,1997,
-0.7925,0.723375,0.7885,1.40866667,287,6/5/2019 20:49,female,1,1993,
-0.94575,0.69854545,0.73457143,0.82945455,287,6/5/2019 20:51,female,1,1993,
-0.75418182,0.7635,0.67111111,1.09814286,297,6/7/2019 10:14,male,1,1986,
-1.663,0.9845,2.678,1.773,300,6/7/2019 10:22,male,1,1954,
-0.68428571,0.7762,0.77233333,0.8705,302,6/7/2019 10:03,female,1,1991,
-0.6595,2.4575,0.895,0.979,312,6/11/2019 9:57,male,1,1994,
-1.131,1.0414,1.98766667,1.59257143,313,6/17/2019 2:19,male,1,1997,
-0.8375,0.77757143,0.83642857,0.7387,313,6/12/2019 17:11,male,1,1997,
-1.65266667,1.78766667,2.15725,1.38475,313,6/17/2019 2:12,male,1,1997,
-0.6855,0.86533333,0.74666667,0.65153846,316,7/8/2019 11:59,male,1,1995,
-1.256,1.50225,1.12971429,1.438,317,7/9/2019 0:13,male,1,1966,
-1.0644,0.90466667,0.9005,0.97871429,317,7/9/2019 0:15,male,1,1966,
-1.5224,1.72966667,2.00625,1.36533333,319,2/18/2021 9:36,female,1,1970,3
-1.01066667,0.67428571,1.09688889,0.72866667,321,7/24/2019 8:29,male,1,1981,
-0.90371429,1.031,1.40083333,1.15183333,322,8/2/2019 15:03,female,1,1975,
-1.00785714,0.90214286,1.105,1.18733333,322,8/2/2019 15:04,female,1,1975,
-1.21828571,1.20742857,1.21966667,1.057,323,8/3/2019 9:11,male,1,1969,
-0.97283333,2.679,1.64,3.835,329,10/1/2019 13:45,female,1,2000,
-0.72215385,0.6514,0.6034,0.84184615,330,11/7/2019 23:51,male,1,2000,
-0.558,0.82675,0.8116,0.734,330,11/7/2019 23:55,male,1,2000,
-0.79357143,0.87075,0.91763636,0.86925,330,10/20/2019 18:24,male,1,2000,
-0.64825,0.783125,0.68929412,0.66083333,330,11/7/2019 23:57,male,1,2000,
-0.59814286,0.68321429,0.791375,0.91716667,330,11/7/2019 23:48,male,1,2000,
-0.62923077,0.6355,0.643125,0.82271429,330,11/8/2019 0:00,male,1,2000,
-0.68042857,0.7295,0.7140625,0.63988889,331,11/4/2019 8:36,male,0,1999,
-0.628,0.57309091,0.82173333,0.57075,331,11/10/2019 16:34,male,0,1999,
-0.76125,0.90666667,0.72416667,0.826875,331,11/5/2019 8:32,male,0,1999,
-0.68364286,0.54366667,0.77871429,0.71544444,331,11/10/2019 16:35,male,0,1999,
-0.66533333,1.06425,1.007,0.61775,331,11/6/2019 11:16,male,0,1999,
-0.57845455,0.58307692,0.57158333,0.52494118,331,11/10/2019 17:14,male,0,1999,
-0.585125,0.77613333,0.81514286,0.55315385,331,11/10/2019 16:33,male,0,1999,
-1.44585714,1.03771429,1.19066667,1.13571429,332,10/1/2019 13:45,female,1,2000,
-1.17471429,0.97383333,0.9002,1.203,332,10/1/2019 13:48,female,1,2000,
-2.155,2.477,3.132,8.691,332,10/1/2019 13:44,female,1,2000,
-0.71044444,1.58875,0.8578,0.7646,333,10/1/2019 13:43,male,1,2000,
-1.101,1.1145,0.83742857,1.40716667,335,10/1/2019 13:44,female,1,2000,
-0.83471429,0.94477778,1.01685714,0.93525,336,10/1/2019 13:48,female,1,2001,
-0.8755,0.83066667,0.91833333,0.853,337,10/1/2019 13:42,male,1,2000,4
-0.8204,0.9403,0.99966667,0.87214286,337,10/19/2019 11:05,male,1,2000,4
-0.60869231,0.83171429,0.75330769,0.792375,339,10/1/2019 17:03,male,1,2000,
-1.135625,0.87271429,1.1765,1.1175,340,10/1/2019 17:04,male,1,1999,
-0.84545455,0.77628571,0.9915,0.826125,341,10/1/2019 17:04,male,1,2000,
-0.8834,0.81090909,0.83008333,0.94014286,341,10/21/2019 13:24,male,1,2000,
-0.88509091,1.07633333,0.86871429,1.19642857,342,11/10/2019 23:39,female,1,2000,
-0.9518,0.7792,1.1079,0.928,342,11/11/2019 0:25,female,1,2000,
-0.82157143,0.997125,0.98328571,1.18857143,342,11/10/2019 23:49,female,1,2000,
-0.889375,0.80108333,0.97875,0.77042857,342,11/11/2019 0:26,female,1,2000,
-0.72075,0.96583333,0.902,0.996125,342,11/10/2019 23:59,female,1,2000,
-0.7614,0.7808,1.0212,1.51683333,342,11/5/2019 6:40,female,1,2000,
-0.896,0.7881,0.97266667,1.22316667,342,11/11/2019 0:14,female,1,2000,
-1.53857143,0.7544,1.10525,0.842,343,10/1/2019 17:04,female,1,2001,
-0.66555556,0.7482,0.66326667,0.808875,344,11/8/2019 22:51,male,1,2000,
-0.82285714,0.605,0.7948,0.95066667,344,11/8/2019 22:58,male,1,2000,
-0.822,0.916,0.68283333,0.749,344,11/8/2019 22:52,male,1,2000,
-0.75333333,0.756,0.6511,0.6085,344,11/8/2019 23:00,male,1,2000,
-0.804625,0.65566667,0.68863636,0.7724,344,11/8/2019 22:54,male,1,2000,
-0.6962,0.6215,0.68846667,0.562,344,11/8/2019 23:01,male,1,2000,
-0.583,0.73022222,0.65483333,0.94014286,344,11/8/2019 22:47,male,1,2000,
-0.711,0.86341176,0.664625,0.64354545,344,11/8/2019 22:56,male,1,2000,
-0.6377,0.74753846,0.68325,0.61666667,345,10/19/2019 14:13,male,1,2000,
-1.14233333,0.76854545,0.96044444,0.73571429,346,10/1/2019 17:03,female,1,2000,
-0.67127273,0.55766667,0.6864375,0.49738462,346,11/10/2019 12:27,female,1,2000,
-0.7405,0.57053333,0.7569,0.495,346,11/9/2019 11:35,female,1,2000,
-0.641,0.56284615,0.6454,0.51021429,346,11/10/2019 12:29,female,1,2000,
-2.60566667,1.511,2.45866667,1.63316667,346,11/9/2019 12:47,female,1,2000,
-0.5506875,0.48623529,0.58016667,0.5174,346,11/10/2019 12:30,female,1,2000,
-0.76064286,0.666,0.5312,0.48142857,346,11/10/2019 11:26,female,1,2000,
-0.61136364,0.81158333,0.67275,0.55971429,346,11/10/2019 12:32,female,1,2000,
-0.55935714,0.651,0.71181818,0.67233333,347,10/1/2019 17:03,male,0,2000,
-0.65675,0.6552,0.62945455,0.58075,347,11/4/2019 16:50,male,0,2000,
-0.768,0.72575,0.561,0.449,347,11/8/2019 11:34,male,0,2000,
-2.292,2.7875,2.4555,2.738,347,10/19/2019 13:17,male,0,2000,
-0.54281818,0.57592857,0.59286667,0.803375,347,11/5/2019 10:19,male,0,2000,
-0.55845455,0.64776471,0.7505,0.73655556,347,11/10/2019 11:13,male,0,2000,
-2.8774,1.984,1.92,1.574,347,10/19/2019 13:18,male,0,2000,
-0.4394,0.534,0.56628571,0.50273333,347,11/6/2019 11:22,male,0,2000,
-1.93633333,1.84966667,1.76933333,1.9315,347,10/19/2019 13:55,male,0,2000,
-0.5471875,0.55790909,0.44452941,0.469,347,11/7/2019 18:53,male,0,2000,
-0.87277778,0.885,0.79011111,0.85954545,348,10/1/2019 17:03,male,1,2000,
-1.36833333,1.1285,0.85641667,0.9224,350,11/4/2019 7:02,female,1,2000,
-0.78166667,0.77557143,0.6982,0.90825,350,11/8/2019 9:34,female,1,2000,
-0.8405,1.144,0.69581818,0.915,350,11/5/2019 9:18,female,1,2000,
-1.335,1.2464,0.86444444,0.7962,350,11/9/2019 13:39,female,1,2000,
-0.98416667,0.84644444,0.66926667,0.87314286,350,11/6/2019 10:51,female,1,2000,
-0.7793,0.74509091,0.62342857,1.00077778,350,11/10/2019 11:51,female,1,2000,
-1.70775,1.69414286,0.914,1.2874,350,10/1/2019 17:04,female,1,2000,
-1.001,1.03133333,0.781,0.79233333,350,11/7/2019 13:22,female,1,2000,
-0.812125,0.6803,0.75409091,0.73109091,352,11/9/2019 11:23,female,1,2000,4
-0.7098,0.85833333,0.6992,0.65185714,352,11/4/2019 8:24,female,1,2000,4
-0.927,0.7177,0.7223,0.62655556,352,11/5/2019 9:17,female,1,2000,4
-0.7184,0.604,0.66388889,0.5395,352,11/10/2019 12:00,female,1,2000,4
-0.86825,0.933,1.056,0.668,352,11/6/2019 17:56,female,1,2000,4
-0.8312,0.74507692,0.9555,0.61266667,352,11/8/2019 11:46,female,1,2000,4
-0.7665,0.65193333,0.75366667,0.77416667,352,11/3/2019 19:43,female,1,2000,4
-1.07971429,0.972,1.90071429,1.167,353,10/1/2019 17:03,female,1,2000,
-0.8076,0.789,0.94875,0.91616667,353,10/1/2019 17:04,female,1,2000,
-0.76236364,0.75833333,0.62657143,0.84955556,356,10/7/2019 21:22,male,1,1981,
-0.79142857,0.66741667,0.780375,0.81916667,356,10/8/2019 13:39,male,1,1981,
-0.793625,0.80622222,0.83476923,0.74714286,356,10/8/2019 17:02,male,1,1981,
-0.66128571,0.66721053,0.5675,0.61576923,357,10/8/2019 13:39,male,1,2000,
-0.5365,0.6938,0.60455,0.52133333,357,10/8/2019 13:40,male,1,2000,
-0.66363636,0.84676923,0.62936364,0.7265,357,10/8/2019 13:38,male,1,2000,
-0.96325,0.609375,0.7729,0.66621429,358,10/8/2019 13:40,female,1,2000,
-1.047,1.10666667,0.9065,1.05044444,358,10/8/2019 13:39,female,1,2000,
-0.8378,0.574,0.842,0.671,358,10/8/2019 13:39,female,1,2000,
-1.185,0.98025,0.943,1.08544444,359,10/8/2019 13:39,male,1,2000,
-0.80733333,0.8875,0.85558824,1.153,359,10/8/2019 13:40,male,1,2000,
-0.56611765,0.5336,0.62577778,0.58766667,360,10/8/2019 13:41,male,1,2000,
-0.57111111,0.69016667,0.62283333,0.60292857,360,11/9/2019 14:53,male,1,2000,
-0.54227273,0.66775,0.56011111,0.63825,360,11/9/2019 15:08,male,1,2000,
-0.739125,0.6737,0.57847059,0.6132,360,11/11/2019 7:03,male,1,2000,
-0.56609091,0.56536364,0.6026,0.54118182,360,11/5/2019 8:28,male,1,2000,
-0.50130769,0.91792308,0.700625,0.5882,360,11/9/2019 15:01,male,1,2000,
-0.583,0.61707143,0.52806667,0.525,360,11/9/2019 15:10,male,1,2000,
-0.67346154,0.54075,0.59358333,0.56282353,360,11/7/2019 9:05,male,1,2000,
-0.47590909,0.69161538,0.56193333,0.59791667,360,11/9/2019 15:03,male,1,2000,
-0.48657895,0.6745,0.58718182,0.57093333,360,11/9/2019 15:13,male,1,2000,
-0.6464,0.632,0.6704,0.584,360,10/8/2019 13:39,male,1,2000,
-0.52476923,0.61121429,0.78533333,0.48675,360,11/8/2019 11:04,male,1,2000,
-0.5046,0.71091667,0.62590909,0.5922,360,11/9/2019 15:07,male,1,2000,
-0.5245,0.53654545,0.74057143,0.539,360,11/10/2019 11:39,male,1,2000,
-0.72933333,0.81675,0.87275,0.8218,361,10/8/2019 13:39,female,1,2000,3
-0.7065,0.72,0.99555556,0.75466667,362,10/8/2019 13:34,male,1,2000,
-0.6725,0.49746154,0.70861538,0.909125,362,10/8/2019 13:39,male,1,2000,
-0.53777778,0.546,0.612,0.65090909,363,10/8/2019 13:41,male,1,2000,
-0.59733333,0.83466667,0.696,0.74844444,364,10/8/2019 13:39,male,1,2000,
-0.61226667,0.65706667,0.593,0.712,364,10/8/2019 13:40,male,1,2000,
-0.65722222,0.778,1.14545455,0.8102,365,10/8/2019 13:40,male,1,1999,
-0.76444444,0.7084,0.5848,0.71028571,366,10/8/2019 13:40,male,1,2000,
-0.6939,0.86733333,0.7458125,0.682375,367,11/7/2019 7:10,female,1,1997,
-0.72554545,0.6515,0.90071429,0.95575,367,10/18/2019 11:17,female,1,1997,
-0.72345455,0.82842857,0.97114286,0.97666667,367,10/18/2019 20:45,female,1,1997,
-0.647,0.7690625,0.81425,0.7688,367,11/8/2019 7:45,female,1,1997,
-0.9425,1.646,1.177625,1.2734,367,10/17/2019 16:23,female,1,1997,
-0.90271429,0.72523077,0.80988889,0.54683333,367,10/18/2019 11:28,female,1,1997,
-0.715625,0.87525,0.8155,0.68761538,367,11/4/2019 6:57,female,1,1997,
-0.720125,0.798375,0.72117647,0.74014286,367,11/5/2019 6:48,female,1,1997,
-0.69533333,0.8004,0.66263636,0.6136,367,11/9/2019 8:02,female,1,1997,
-1.62833333,1.50766667,1.40766667,1.05125,367,10/17/2019 16:40,female,1,1997,
-1.43066667,1.47071429,1.05916667,1.09971429,367,10/18/2019 11:40,female,1,1997,
-0.6412,0.71964286,0.80755556,0.62255556,367,11/6/2019 6:56,female,1,1997,
-0.599125,0.62666667,0.68983333,0.6017,367,11/10/2019 8:55,female,1,1997,
-0.658,0.64913333,0.69488889,0.758,367,10/18/2019 11:04,female,1,1997,
-0.72807143,0.8117,1.06533333,0.75528571,367,10/18/2019 20:43,female,1,1997,
-0.8026,0.73542857,0.7642,0.70054545,368,11/10/2019 23:55,female,1,2000,
-0.6784,0.62281818,0.669125,0.57275,368,11/11/2019 0:46,female,1,2000,
-0.62038462,0.835375,0.7122,0.61338462,368,11/11/2019 0:55,female,1,2000,
-0.74855556,0.82466667,0.6992,0.70275,368,11/11/2019 0:06,female,1,2000,
-0.99954545,0.7875,0.97466667,1.04,368,11/10/2019 23:41,female,1,2000,
-0.62911111,0.65307143,0.75376923,0.628875,368,11/11/2019 0:20,female,1,2000,
-0.99954545,0.7875,0.97466667,1.04,368,11/10/2019 23:41,female,1,2000,
-0.965,0.97366667,0.5478125,0.54291667,368,11/11/2019 0:33,female,1,2000,
-3.4745,1.4922,2.348,1.5145,369,10/8/2019 19:22,male,1,2000,
-0.989375,0.94766667,0.88827273,0.66777778,369,10/8/2019 13:39,male,1,2000,
-0.83125,0.65255556,0.97433333,0.68442857,369,10/8/2019 13:41,male,1,2000,
-0.62863636,0.80536364,0.80033333,0.65528571,370,11/7/2019 21:44,female,1,2000,3
-2.967,2.37866667,5.9335,1.2645,370,11/4/2019 11:55,female,1,2000,3
-0.94228571,0.68026667,0.53945455,0.63618182,370,11/8/2019 15:09,female,1,2000,3
-0.89514286,1.748,1.10716667,0.786625,370,11/4/2019 11:56,female,1,2000,3
-0.7359,0.69936364,0.783,0.679,370,11/8/2019 16:37,female,1,2000,3
-0.6482,0.869,0.82273333,0.70766667,370,11/6/2019 11:27,female,1,2000,3
-0.90714286,0.5386,0.69378571,0.7365,370,11/10/2019 14:33,female,1,2000,3
-1.366,2.26057143,0.7984,0.75466667,371,10/8/2019 13:40,female,1,2000,
-0.634,0.58528571,0.72325,0.65315385,371,11/5/2019 21:55,female,1,2000,
-0.87214286,1.13514286,1.33042857,0.6329,371,11/5/2019 22:23,female,1,2000,
-0.65075,0.88423077,0.86575,0.59575,371,11/10/2019 16:15,female,1,2000,
-0.55754545,1.11025,0.44725,0.46969231,373,10/8/2019 13:40,female,1,2000,
-1.232,1.5126,0.61283333,0.54953846,373,10/8/2019 13:41,female,1,2000,
-0.748,0.64329412,0.736,0.754,374,10/8/2019 13:40,male,1,2000,
-0.75375,0.61046154,0.88025,0.80218182,374,10/8/2019 13:41,male,1,2000,
-1.0558,0.99814286,1.43842857,1.23166667,375,10/8/2019 13:40,female,1,1995,
-1.36016667,0.86933333,0.99877778,1.11355556,378,10/8/2019 17:02,male,1,2000,
-0.55428571,0.59257143,0.6016,0.66323077,379,11/5/2019 11:32,male,1,1999,4
-0.52371429,0.53369231,0.6105,0.54273333,379,11/8/2019 12:31,male,1,1999,4
-0.627375,0.52177778,0.60875,0.56992857,379,11/5/2019 11:34,male,1,1999,4
-0.54264286,0.553,0.56807143,0.655,379,11/9/2019 12:23,male,1,1999,4
-0.581,0.78081818,0.5455625,0.4640625,379,10/8/2019 17:02,male,1,1999,4
-0.62018182,0.59171429,0.60154545,0.56414286,379,11/6/2019 11:45,male,1,1999,4
-0.56038462,0.54815385,0.59007692,0.56353846,379,11/10/2019 13:36,male,1,1999,4
-0.611375,0.66183333,0.7009,0.74833333,379,11/4/2019 18:52,male,1,1999,4
-0.55869231,0.5685,0.61414286,0.5484,379,11/7/2019 17:03,male,1,1999,4
-1.176,1.24,1.03433333,1.164,380,10/8/2019 17:02,female,1,2000,
-0.61866667,0.93033333,0.70884615,0.75741667,381,10/8/2019 17:02,male,1,2000,
-0.89658333,0.93133333,0.9023,1.063,382,10/8/2019 17:03,female,1,2000,
-1.11871429,1.18666667,1.22642857,1.0538,384,10/8/2019 17:02,male,1,2000,
-2.00533333,1.091,1.72685714,1.1255,385,10/8/2019 17:02,female,1,2000,
-0.87277778,0.93733333,1.07485714,1.083375,387,10/8/2019 17:02,female,1,2000,
-0.743,4.875,2.269,5.591,388,10/8/2019 17:02,female,0,2001,
-1.1,0.97466667,1.20325,0.84,390,10/8/2019 17:02,male,1,2000,
-0.81244444,0.79990909,1.304,1.222875,390,10/8/2019 17:03,male,1,2000,
-0.77533333,0.72266667,0.70825,0.64693333,391,10/8/2019 17:02,male,1,1999,
-0.7153,0.718,0.65708333,0.80733333,392,10/8/2019 17:02,male,1,2000,3
-1.11466667,1.43633333,1.07466667,0.84725,393,10/8/2019 17:02,female,1,1999,
-0.740625,0.6951,0.62957143,0.68116667,394,10/8/2019 17:02,male,1,1990,
-0.558,0.5021,0.8142,0.52625,396,11/11/2019 0:32,female,1,2000,
-0.688,0.592,0.72,0.658,396,10/8/2019 17:04,female,1,2000,
-0.502,0.43633333,0.9104,0.706,396,11/11/2019 0:27,female,1,2000,
-0.6422,0.50381818,0.788,0.58608333,396,11/11/2019 0:33,female,1,2000,
-0.78366667,1.1725,0.748,0.7674,396,11/7/2019 18:21,female,1,2000,
-0.57642857,0.5605,0.634,0.68828571,396,11/11/2019 0:28,female,1,2000,
-0.632,0.5210625,0.57385714,0.6465,396,11/11/2019 0:29,female,1,2000,
-0.55172727,0.582875,0.69877778,0.60507692,396,11/8/2019 21:33,female,1,2000,
-0.60892857,0.48983333,0.70276923,0.6294,396,11/11/2019 0:31,female,1,2000,
-0.56591667,0.6006875,0.84571429,0.58507692,396,11/11/2019 0:25,female,1,2000,
-0.77942857,0.52475,0.54255556,0.6064,397,10/8/2019 17:02,male,1,1997,
-0.5841,0.61233333,0.62911765,0.7328,398,10/8/2019 17:03,female,1,2001,
-0.72685714,1.5055,0.8672,0.8528,398,10/8/2019 17:02,female,1,2001,
-1.0185,0.82163636,0.8467,1.0175,402,10/14/2019 9:33,male,1,2000,
-0.70206667,0.56444444,0.9722,1.34533333,402,10/14/2019 9:33,male,1,2000,
-0.70058333,0.5737,0.685,0.68326667,402,10/14/2019 9:47,male,1,2000,
-0.6944,0.5418,0.67,0.79545455,403,10/14/2019 9:36,male,1,2001,5
-0.54330769,0.53311111,0.6229,0.664,403,11/7/2019 17:07,male,1,2001,5
-0.6631,0.62630769,0.75627273,0.82125,403,11/6/2019 19:02,male,1,2001,5
-0.57,0.55128571,0.73475,0.59176923,403,11/10/2019 9:46,male,1,2001,5
-0.640625,0.55775,0.63407143,0.78672727,403,11/6/2019 19:14,male,1,2001,5
-0.63535714,0.62633333,0.68384615,0.6247,403,11/10/2019 10:02,male,1,2001,5
-0.63078571,0.572,0.67133333,0.61330769,403,11/6/2019 19:59,male,1,2001,5
-0.70357143,0.5165,0.67307143,0.732,403,11/10/2019 10:13,male,1,2001,5
-0.76776923,0.724625,0.78675,0.926625,404,10/14/2019 9:34,male,1,2000,
-0.65421429,0.5704,0.6886,0.75144444,404,10/14/2019 9:46,male,1,2000,
-0.708375,0.53928571,0.7902,0.67841667,405,10/14/2019 9:34,male,1,2000,
-0.64827273,0.51564286,0.50953846,0.64185714,406,10/14/2019 9:45,male,1,2000,
-0.98857143,1.1925,1.3254,0.99036364,407,10/14/2019 9:33,male,1,2000,
-0.88557143,0.74166667,0.87069231,0.9215,407,11/8/2019 8:13,male,1,2000,
-0.91325,0.9084,0.78908333,0.67314286,407,11/10/2019 20:12,male,1,2000,
-0.7695,1.03708333,0.885,1.1642,407,10/14/2019 9:42,male,1,2000,
-0.8695,1.0446,0.86116667,1.027375,407,11/9/2019 8:27,male,1,2000,
-0.797625,0.80866667,0.96844444,0.77555556,407,11/6/2019 8:31,male,1,2000,
-0.83628571,0.87544444,0.96257143,0.897,407,11/10/2019 19:47,male,1,2000,
-0.62344444,0.848625,0.75321429,0.69955556,407,11/7/2019 8:19,male,1,2000,
-0.9195,0.83681818,0.94571429,0.756125,407,11/10/2019 20:09,male,1,2000,
-1.452,1.401,0.56175,1.184,408,11/5/2019 6:19,male,1,2000,4
-0.80130769,0.626,1.37457143,0.60444444,408,11/9/2019 6:32,male,1,2000,4
-0.6647,0.51333333,0.70636364,0.62452941,408,11/10/2019 9:41,male,1,2000,4
-1.6526,0.7018,0.84766667,1.02488889,408,10/14/2019 9:34,male,1,2000,4
-0.67116667,0.59815385,0.88316667,0.62123077,408,11/6/2019 6:28,male,1,2000,4
-1.083,0.5944,0.7432,0.89775,408,11/3/2019 6:24,male,1,2000,4
-1.2886,0.675,0.823,0.60233333,408,11/7/2019 6:35,male,1,2000,4
-1.025,1.5064,0.93344444,0.9452,408,11/4/2019 6:32,male,1,2000,4
-1.09825,0.66336364,0.899,0.672,408,11/8/2019 6:26,male,1,2000,4
-0.61584615,0.66728571,0.71885714,0.6959,409,11/5/2019 7:43,male,0,2000,4
-0.60961111,0.7696,0.63742857,0.6603,409,11/9/2019 7:43,male,0,2000,4
-0.58586667,0.72545455,0.5718,0.60914286,409,11/10/2019 8:23,male,0,2000,4
-0.602,0.6575,0.67916667,0.693875,409,11/6/2019 7:52,male,0,2000,4
-0.46275,0.955125,0.59628571,0.86283333,409,12/16/2019 18:22,male,0,2000,4
-0.7762,0.83425,0.90628571,1.00288889,409,10/14/2019 9:34,male,0,2000,4
-0.56576923,0.62077778,0.6483,0.69742857,409,11/7/2019 7:52,male,0,2000,4
-0.72477778,0.9182,0.6975,0.96271429,409,11/4/2019 17:04,male,0,2000,4
-0.75081818,0.9496,0.52116667,0.65055556,409,11/8/2019 7:52,male,0,2000,4
-0.84081818,0.777,0.93828571,1.00844444,410,10/14/2019 9:35,male,1,1999,
-0.66115385,0.85666667,0.76355556,1.120125,411,10/14/2019 9:52,male,1,2000,
-0.5855,1.004,0.5275,0.656,411,10/22/2019 19:43,male,1,2000,
-0.949375,0.9126,0.74133333,0.85571429,411,11/4/2019 7:22,male,1,2000,
-0.64457143,0.65671429,1.402,0.76857143,412,10/14/2019 9:48,male,1,2000,
-0.7806,0.81588889,1.181,1.1277,413,10/14/2019 9:48,female,0,1999,
-0.79466667,0.79,0.7849,0.85225,413,10/14/2019 9:48,female,0,1999,
-0.75021429,0.779,0.78883333,0.728,413,10/14/2019 9:49,female,0,1999,
-0.837,0.7385,0.77255556,0.8258,414,10/14/2019 10:01,male,1,2000,
-0.57713333,0.747375,0.78781818,0.6613,415,10/14/2019 9:48,male,1,2000,
-0.61777778,1.0236,0.7138,0.56333333,415,11/11/2019 2:00,male,1,2000,
-0.82355556,0.78388889,0.689125,0.68935714,415,11/11/2019 2:08,male,1,2000,
-0.61,0.76875,1.01366667,0.8416,415,11/4/2019 18:08,male,1,2000,
-0.787,0.85316667,0.64566667,0.898,415,11/11/2019 2:01,male,1,2000,
-0.95075,0.62809091,0.836625,0.8697,415,11/11/2019 2:12,male,1,2000,
-0.623625,1.0465,0.758,0.93777778,415,11/5/2019 22:22,male,1,2000,
-0.84385714,0.772,0.9198,0.70645455,415,11/11/2019 2:03,male,1,2000,
-0.70546667,0.77485714,0.9715,0.64783333,415,11/11/2019 2:14,male,1,2000,
-0.8094,0.68722222,0.6848,0.95933333,415,11/7/2019 14:31,male,1,2000,
-0.87725,0.7565,0.71208333,0.67841176,415,11/11/2019 2:04,male,1,2000,
-0.646,0.804,0.699,0.63509091,415,11/11/2019 2:16,male,1,2000,
-0.7641,0.90188889,0.90366667,0.8389,416,10/14/2019 9:42,male,1,1996,
-0.70045455,0.68855556,0.62666667,0.67466667,416,10/22/2019 1:29,male,1,1996,
-0.9368,1.1258,1.12242857,0.89916667,417,10/14/2019 9:48,male,1,2000,
-0.83909091,1.06285714,1.383,0.976,418,10/14/2019 9:48,male,1,2000,
-0.93025,0.8846,1.00028571,0.741875,421,10/14/2019 9:48,male,1,2000,
-0.65636364,0.52489474,0.66133333,0.64084615,422,11/6/2019 7:59,male,1,2000,3
-0.56535714,0.51342857,0.57185714,0.6696,422,11/11/2019 10:29,male,1,2000,3
-0.76641667,0.78,0.84558333,0.79275,422,10/14/2019 9:48,male,1,2000,3
-0.671625,0.651,0.59115,0.59777778,422,11/7/2019 8:02,male,1,2000,3
-0.52807692,0.5765,0.58038889,1.019,422,12/16/2019 19:45,male,1,2000,3
-0.747,0.6269,0.85338462,1.00328571,422,11/4/2019 8:02,male,1,2000,3
-0.57575,0.568,0.52955556,0.56971429,422,11/8/2019 8:04,male,1,2000,3
-0.71725,0.71444444,0.67005556,0.78033333,422,11/5/2019 7:49,male,1,2000,3
-0.63066667,0.58345455,0.74614286,0.66554545,422,11/11/2019 10:28,male,1,2000,3
-0.65875,0.75228571,0.81341667,0.6726,423,11/4/2019 8:11,male,1,2000,
-0.57484615,0.54354545,0.6209,0.88772727,423,11/9/2019 7:57,male,1,2000,
-0.64083333,0.59233333,0.60677778,0.58507692,423,11/6/2019 7:52,male,1,2000,
-0.724375,0.59209091,0.61788889,0.61463158,423,11/10/2019 9:54,male,1,2000,
-0.694,0.90522222,0.842,0.69115385,423,10/14/2019 9:48,male,1,2000,
-0.722,0.65976923,0.60745455,0.67677778,423,11/7/2019 7:46,male,1,2000,
-0.61236364,0.80177778,0.69691667,0.57423077,423,10/14/2019 9:59,male,1,2000,
-0.665,0.62372727,0.74375,0.6401,423,11/8/2019 8:04,male,1,2000,
-0.8034,0.9425,0.93571429,0.69716667,424,10/14/2019 9:48,male,1,2000,
-0.7192,0.67235714,0.77825,0.7768,425,10/14/2019 9:49,male,1,2000,
-0.8606,0.8486,0.8844,0.85211111,426,10/14/2019 13:40,male,1,2001,
-0.70644444,0.72261538,0.74166667,0.62016667,426,10/14/2019 13:41,male,1,2001,
-0.8685,0.85128571,0.94457143,0.84508333,427,10/14/2019 13:50,male,1,2000,
-1.02814286,0.71666667,0.83366667,0.86144444,428,10/14/2019 13:39,male,1,2000,
-1.77875,1.81125,1.861,1.936,429,10/20/2019 18:51,male,1,2000,4
-0.5391,0.54058333,0.582,0.59454545,429,12/17/2019 23:19,male,1,2000,4
-0.922,0.90885714,0.87388889,0.746,430,10/14/2019 13:47,male,1,2000,
-0.86475,0.587,0.88436364,1.04345455,431,10/17/2019 20:37,male,1,2000,
-0.841,0.822,0.551,1.126,431,11/5/2019 22:46,male,1,2000,
-0.56433333,0.6315,0.678,0.818,431,11/5/2019 22:47,male,1,2000,
-0.93855556,0.95933333,0.909625,1.849,431,10/14/2019 13:49,male,1,2000,
-0.7028,0.584,1.2985,0.68628571,432,10/14/2019 13:44,male,0,2000,
-0.81771429,0.893875,1.20275,0.82666667,433,10/14/2019 13:42,male,1,2000,
-0.70318182,0.91722222,1.08275,1.05344444,433,11/7/2019 8:50,male,1,2000,
-0.8694,0.85461538,0.73492308,0.8462,433,11/9/2019 8:22,male,1,2000,
-0.699875,0.65357143,0.852,0.66745455,434,10/14/2019 13:41,male,1,2000,
-0.895375,0.48777778,0.8795,1.01125,434,10/14/2019 13:39,male,1,2000,
-0.87377778,0.737375,0.73423077,0.60236364,435,10/14/2019 13:46,male,1,2001,
-1.0962,0.81183333,1.76975,0.85377778,435,10/14/2019 13:43,male,1,2001,
-0.891,0.76828571,0.9173,1.003,435,10/14/2019 13:44,male,1,2001,
-0.9282,0.6501,1.0436,0.8005,435,10/14/2019 13:45,male,1,2001,
-1.501,0.85016667,0.84155556,1.3348,436,10/14/2019 13:47,female,1,2000,
-3.56333333,1.337,1.22333333,1.3036,436,10/14/2019 13:44,female,1,2000,
-1.46133333,1.667,1.2825,1.7135,436,10/14/2019 13:44,female,1,2000,
-1.1322,1.1102,0.9645,1.2124,436,10/14/2019 13:46,female,1,2000,
-0.90514286,0.66666667,1.14825,0.66525,437,10/14/2019 13:50,male,1,2000,
-0.47907692,0.85257143,0.62830769,0.42641667,438,11/5/2019 18:04,male,1,2000,3
-0.73133333,0.94263636,0.68016667,0.75566667,438,11/9/2019 23:29,male,1,2000,3
-0.75216667,0.8511,0.54744444,0.8135,438,11/6/2019 18:40,male,1,2000,3
-0.66516667,0.61314286,0.54975,0.80342857,438,11/10/2019 22:45,male,1,2000,3
-0.729125,0.82066667,0.65276923,0.8007,438,10/14/2019 13:52,male,1,2000,3
-0.58816667,0.82233333,0.6885,0.9444,438,11/7/2019 19:51,male,1,2000,3
-0.65575,0.63277778,0.634,0.62169231,438,12/16/2019 21:01,male,1,2000,3
-0.6766,0.83325,0.88133333,0.792,438,11/4/2019 20:40,male,1,2000,3
-0.477,0.63833333,0.77877778,0.50815385,438,11/8/2019 20:34,male,1,2000,3
-0.88228571,0.683,0.823,0.681,439,11/7/2019 17:22,male,1,2000,
-0.526,0.5573,0.581,0.69083333,439,11/11/2019 17:00,male,1,2000,
-0.88228571,0.683,0.823,0.681,439,11/7/2019 17:22,male,1,2000,
-0.5204,0.43253333,0.54525,0.61494737,439,11/11/2019 17:01,male,1,2000,
-0.74127273,0.52376923,0.942,0.8452,439,11/10/2019 2:26,male,1,2000,
-0.47022222,0.53775,0.65114286,0.8137,439,11/11/2019 17:02,male,1,2000,
-0.81844444,0.85455556,0.68133333,0.84558333,439,10/14/2019 14:06,male,1,2000,
-0.670625,0.54092308,0.51470588,0.93716667,439,11/11/2019 16:36,male,1,2000,
-0.666,0.5615,0.7476,0.54416667,439,11/11/2019 16:52,male,1,2000,
-0.591,0.578,0.67841667,0.70530769,440,10/14/2019 13:56,male,1,2000,
-0.6516,0.53342857,0.69933333,0.58576471,440,11/10/2019 17:53,male,1,2000,
-0.5768,0.596625,0.5814375,0.6382,440,11/10/2019 18:02,male,1,2000,
-0.53629412,0.527875,0.61717647,0.646,440,11/10/2019 18:04,male,1,2000,
-0.56692308,0.534,0.62975,0.68214286,440,10/23/2019 2:22,male,1,2000,
-0.57244444,0.511,0.69526667,0.61325,440,11/10/2019 17:57,male,1,2000,
-0.57325,0.50666667,0.78315385,0.67873333,440,10/23/2019 14:51,male,1,2000,
-0.5185,0.56278261,0.77714286,0.64025,440,11/10/2019 17:59,male,1,2000,
-0.6555,0.50366667,0.693,0.59833333,440,10/14/2019 13:52,male,1,2000,
-0.63125,0.54857143,0.67625,0.74941667,440,11/10/2019 17:20,male,1,2000,
-0.6775,0.513,0.638,0.56942857,440,11/10/2019 18:00,male,1,2000,
-1.745,1.2065,1.5545,1.371,441,10/14/2019 13:52,male,1,2000,
-0.80445455,0.92266667,0.74963636,0.9138,442,10/14/2019 13:54,female,1,2000,
-1.451,0.9985,0.8288,0.60241667,443,10/14/2019 13:52,male,1,1999,3
-0.60471429,0.6407,0.64471429,0.6275,443,12/17/2019 2:03,male,1,1999,3
-0.86525,0.73655556,1.13285714,0.87933333,444,10/14/2019 13:52,male,1,2000,
-0.69233333,0.76909091,0.66941667,0.6172,445,11/6/2019 14:09,male,1,2000,
-0.612875,0.76690909,0.62409091,0.80466667,445,11/7/2019 10:27,male,1,2000,
-0.61633333,0.7065,0.656,0.78,445,11/8/2019 17:45,male,1,2000,
-0.76922222,0.88966667,0.93466667,0.9038,445,10/14/2019 13:53,male,1,2000,
-0.69683333,0.5971,0.86353846,1.053375,446,11/4/2019 19:41,male,1,2000,4
-0.77908333,0.43376923,0.90475,1.0188,446,11/11/2019 8:00,male,1,2000,4
-0.7363,0.53788889,0.67583333,0.60893333,446,11/6/2019 9:59,male,1,2000,4
-0.55023077,0.59555556,0.785,0.8015,446,12/16/2019 23:47,male,1,2000,4
-0.785,0.7695,1.447,1.08,446,11/11/2019 7:54,male,1,2000,4
-0.6765,0.60977778,0.7689,0.76484615,446,10/14/2019 13:54,male,1,2000,4
-0.76333333,0.5865,1.031,0.85,446,11/11/2019 7:55,male,1,2000,4
-0.842,0.8585,0.85555556,0.85211111,447,11/7/2019 1:30,female,1,2000,
-0.8138,0.807875,0.76845455,0.76064286,447,11/10/2019 20:11,female,1,2000,
-1.00328571,1.13175,1.14666667,0.743,447,11/7/2019 4:54,female,1,2000,
-0.85757143,0.6538,0.63866667,0.592,447,11/10/2019 20:53,female,1,2000,
-0.92828571,1.0418,1.10875,1.034875,447,10/14/2019 13:53,female,1,2000,
-0.74116667,0.6822,0.83,0.952625,447,11/8/2019 7:26,female,1,2000,
-1.09333333,0.851,1.3575,1.108,447,11/4/2019 8:58,female,1,2000,
-0.985625,0.79472727,0.85233333,0.7526,447,11/9/2019 7:36,female,1,2000,
-0.98145455,1.16466667,1.0886,1.052,448,10/21/2019 18:25,male,1,2000,3
-0.76933333,0.63918182,0.73688889,0.8613,448,11/6/2019 7:42,male,1,2000,3
-0.678375,0.645625,0.7125,0.55678571,448,11/10/2019 9:38,male,1,2000,3
-1.25066667,1.16985714,1.0875,1.1698,448,10/21/2019 19:50,male,1,2000,3
-0.57285714,0.6322,0.81366667,1.08271429,448,11/7/2019 7:18,male,1,2000,3
-0.69033333,0.7578,0.872,0.783125,448,12/16/2019 21:36,male,1,2000,3
-1.5126,4.92066667,1.375,1.15266667,448,10/14/2019 13:52,male,1,2000,3
-0.8839,0.8335,0.752,1.13133333,448,11/4/2019 9:08,male,1,2000,3
-0.74983333,0.70918182,0.843125,1.02533333,448,11/8/2019 8:09,male,1,2000,3
-0.894875,1.3456,1.1038,1.11444444,448,10/21/2019 13:23,male,1,2000,3
-0.68154545,0.7827,0.70277778,0.92044444,448,11/5/2019 7:53,male,1,2000,3
-0.67978571,0.6168,0.94428571,0.709,448,11/9/2019 6:58,male,1,2000,3
-1.764,1.6086,0.875,1.40433333,449,10/18/2019 1:51,male,1,1999,4
-0.59814286,0.83428571,0.760375,0.9532,449,11/5/2019 12:06,male,1,1999,4
-0.61453846,0.65857143,0.54726667,0.66369231,450,10/16/2019 9:47,male,0,2001,
-0.53376923,0.6752,0.62583333,0.66923077,450,10/22/2019 22:46,male,0,2001,
-0.48185,0.672,0.53475,0.50441667,451,10/16/2019 10:03,male,1,2000,
-0.57827273,0.591625,0.66485714,0.53929412,451,10/16/2019 9:47,male,1,2000,
-0.5401,0.62445455,0.53705556,0.57385714,451,10/16/2019 9:55,male,1,2000,
-0.62326667,0.5675,0.761125,0.7577,452,10/16/2019 9:48,male,1,1997,
-0.65725,0.69436364,0.9262,0.9296,453,10/16/2019 9:56,male,1,2000,
-0.51944444,0.37463636,0.56685714,0.5964,454,11/10/2019 15:19,male,0,2000,
-0.8095,0.4435,0.484,0.5756,454,11/10/2019 15:13,male,0,2000,
-0.68833333,0.82066667,0.5915,0.933125,454,11/10/2019 15:14,male,0,2000,
-0.95177778,0.549125,0.42084615,0.658,454,11/10/2019 15:32,male,0,2000,
-0.6905,1.307,0.666,1.856,454,11/10/2019 15:17,male,0,2000,
-0.58688889,0.61764286,0.71018182,0.41946667,454,11/10/2019 15:33,male,0,2000,
-0.4965,1.003,0.414,0.1385,454,11/10/2019 15:18,male,0,2000,
-0.63111111,0.7562,0.6908,1.224625,454,10/16/2019 9:40,male,0,2000,
-1.015,0.937,0.679,0.802,455,11/7/2019 13:11,male,1,2000,
-0.807,0.8645,1.025,0.865,455,11/9/2019 7:17,male,1,2000,
-0.6812,0.57957143,0.671375,0.5686,455,10/16/2019 9:43,male,1,2000,
-0.7304375,1.089,0.90633333,0.90975,456,10/16/2019 9:40,male,0,2000,
-0.768125,0.67436364,0.79641667,0.741,456,10/16/2019 9:41,male,0,2000,
-0.65923077,0.78883333,0.59942857,0.58325,457,10/16/2019 9:44,male,1,2000,
-0.79685714,0.97783333,0.934125,0.9955,458,10/16/2019 9:42,male,1,2000,
-0.68875,0.81918182,0.68216667,0.60383333,459,10/16/2019 9:42,male,1,2000,
-0.60138462,0.63818182,0.4709375,0.53790909,460,11/5/2019 18:18,male,1,2001,
-0.5213125,0.43006667,0.4416,0.58728571,460,11/6/2019 18:17,male,1,2001,
-0.7524,0.56057143,0.53018182,0.5134375,460,11/10/2019 13:00,male,1,2001,
-0.86228571,0.4785,0.4416875,0.48216667,460,11/5/2019 18:23,male,1,2001,
-0.59152941,0.52566667,0.4740625,0.63,460,11/10/2019 12:49,male,1,2001,
-0.61225,0.78657143,0.4686,0.47,460,11/10/2019 13:02,male,1,2001,
-0.49283333,0.63153333,0.41105882,0.37315,460,11/6/2019 18:08,male,1,2001,
-0.5085,0.43768421,0.47225,0.552625,460,11/10/2019 12:52,male,1,2001,
-0.5584375,0.52408333,0.4826875,0.58083333,460,11/10/2019 13:04,male,1,2001,
-0.65954545,0.68583333,0.60822222,0.62171429,460,10/16/2019 9:45,male,1,2001,
-0.5688125,0.60533333,0.4808125,0.48708333,460,11/6/2019 18:14,male,1,2001,
-0.4225,0.47864706,0.88688889,0.45376923,460,11/10/2019 12:58,male,1,2001,
-0.74557143,0.685625,0.74427273,0.95981818,462,11/4/2019 18:57,female,1,2000,4
-0.728875,0.818875,0.702,0.69293333,462,11/8/2019 19:05,female,1,2000,4
-0.83366667,0.779,0.7462,0.8092,462,11/5/2019 19:06,female,1,2000,4
-0.74575,0.7602,0.70038462,0.874125,462,11/9/2019 21:00,female,1,2000,4
-0.66941667,0.911,0.64546154,0.80066667,462,11/6/2019 19:03,female,1,2000,4
-0.69125,0.68915385,0.668,0.70915385,462,11/10/2019 18:09,female,1,2000,4
-0.75071429,0.801,0.6936,0.87258333,462,10/16/2019 9:45,female,1,2000,4
-0.9815,0.837,0.75371429,0.67072727,462,11/7/2019 19:11,female,1,2000,4
-0.7274,0.56383333,0.68857143,0.7405,463,10/16/2019 9:44,male,1,2000,
-0.68877778,0.67307692,0.65055556,1.52333333,464,11/6/2019 9:22,male,0,2001,4
-0.603375,1.02566667,0.595,0.713,464,11/10/2019 12:20,male,0,2001,4
-0.66188889,0.8718,0.66414286,0.81342857,464,10/16/2019 9:48,male,0,2001,4
-0.67444444,0.6805,0.62952941,0.67109091,464,11/7/2019 8:35,male,0,2001,4
-0.5865,0.6146,0.5446,0.584,464,12/19/2019 17:43,male,0,2001,4
-0.6279375,0.73753846,0.627125,0.74271429,464,11/4/2019 8:20,male,0,2001,4
-0.81966667,0.77228571,0.6995,0.81266667,464,11/8/2019 7:08,male,0,2001,4
-0.59627273,0.67584615,0.68554545,0.6879,464,11/5/2019 8:24,male,0,2001,4
-0.58881818,0.66663636,0.58958333,0.56325,464,11/9/2019 10:54,male,0,2001,4
-0.8089,0.80888889,0.74661538,1.1005,465,10/16/2019 9:42,male,1,2000,
-1.1272,1.0198,1.585,1.2068,466,10/16/2019 9:59,male,1,2000,
-1.03233333,0.98385714,1.65283333,8.336,466,10/16/2019 9:42,male,1,2000,
-1.151,0.991,0.966,0.8465,467,10/16/2019 9:48,male,0,2000,
-1.0142,1.25525,2.022,1.107,467,10/22/2019 18:32,male,0,2000,
-0.455,0.53011765,0.44975,0.50753846,468,10/16/2019 9:48,male,1,2000,
-0.51607692,0.54975,0.44489474,0.49291667,468,10/16/2019 9:47,male,1,2000,
-0.564,0.64836364,0.74508333,0.61258333,469,10/16/2019 9:49,male,1,2000,
-0.44525,0.44541667,0.75454545,0.579,469,10/16/2019 9:50,male,1,2000,
-0.728625,0.4886,0.718,0.73426667,470,10/16/2019 9:48,male,1,2000,
-0.673,0.74533333,0.73830769,0.86875,471,10/16/2019 9:46,male,1,2000,
-1.08566667,1.001,0.78036364,1.04183333,472,11/6/2019 7:41,male,1,2000,3
-0.961,1.289,0.61933333,0.744,472,11/10/2019 11:53,male,1,2000,3
-0.516,0.52775,0.53511111,0.52261538,472,10/16/2019 9:49,male,1,2000,3
-0.75554545,0.98742857,0.89911111,1.01466667,472,11/7/2019 7:42,male,1,2000,3
-0.889,0.83945455,1.245,1.09575,472,12/11/2019 23:18,male,1,2000,3
-0.76527273,0.647,0.8881,0.68377778,472,11/4/2019 7:34,male,1,2000,3
-0.908,0.67557143,0.8812,1.31514286,472,11/8/2019 7:49,male,1,2000,3
-0.758,0.793,1.05371429,1.52028571,472,11/5/2019 7:29,male,1,2000,3
-0.63786667,0.5815,0.8095,0.83922222,472,11/9/2019 8:01,male,1,2000,3
-1.0282,0.674,0.91377778,0.88822222,474,11/7/2019 8:20,male,1,2001,
-1.00681818,0.65145455,0.81266667,0.78227273,474,11/10/2019 18:10,male,1,2001,
-1.08714286,0.64633333,0.805,0.94557143,474,11/8/2019 7:57,male,1,2001,
-1.01,0.939,0.9465,1.00216667,474,10/16/2019 9:47,male,1,2001,
-1.02522222,0.7185,0.75633333,0.893625,474,11/9/2019 7:47,male,1,2001,
-1.311,0.68066667,0.78,1.43,474,11/5/2019 8:14,male,1,2001,
-0.85214286,0.77166667,0.69646154,0.54583333,474,11/10/2019 9:37,male,1,2001,
-0.6295,0.53358824,0.67026667,0.66575,475,11/6/2019 9:33,male,1,2001,
-0.52408333,0.61975,0.64757143,0.666,475,11/10/2019 15:48,male,1,2001,
-0.73883333,0.81333333,0.72883333,0.78166667,475,10/16/2019 9:43,male,1,2001,
-0.58808333,0.56636364,0.68472727,0.665,475,11/7/2019 7:33,male,1,2001,
-0.752,0.77490909,0.83822222,0.820875,475,10/20/2019 11:48,male,1,2001,
-0.59858333,0.58621429,0.66416667,0.70366667,475,11/8/2019 7:54,male,1,2001,
-0.71385714,0.5685625,0.72409091,0.908,475,11/5/2019 7:07,male,1,2001,
-0.59933333,0.59869231,0.63777778,0.63464286,475,11/9/2019 11:48,male,1,2001,
-0.65745455,0.70525,0.61213333,0.63075,476,11/9/2019 13:44,male,1,2000,
-0.584,0.62107143,0.6775,0.672,476,11/9/2019 13:45,male,1,2000,
-1.165,0.85677778,0.78509091,0.93857143,476,11/8/2019 19:56,male,1,2000,
-0.79533333,0.795625,0.832,0.91271429,476,11/9/2019 13:46,male,1,2000,
-0.766125,0.72475,0.7253,0.687,476,11/8/2019 19:59,male,1,2000,
-0.6785,0.652,0.64106667,0.68963636,476,11/9/2019 13:47,male,1,2000,
-0.79490909,0.59772727,0.8717,0.93533333,476,11/8/2019 20:00,male,1,2000,
-1.05911111,0.56366667,0.89033333,0.7949,477,10/19/2019 20:08,male,1,1998,
-1.04366667,0.87166667,1.03466667,0.83166667,477,11/6/2019 1:14,male,1,1998,
-0.68775,0.61863636,0.65291667,0.64735714,478,11/5/2019 7:38,male,1,2000,3
-0.5915,0.6264,0.83075,0.69414286,478,11/9/2019 7:55,male,1,2000,3
-0.631,0.53818182,0.578375,0.6135,478,11/6/2019 7:46,male,1,2000,3
-0.7176,0.59,0.5774,0.94122222,478,11/10/2019 8:02,male,1,2000,3
-0.80690909,0.70881818,0.737125,0.74977778,478,10/19/2019 14:07,male,1,2000,3
-0.56645455,0.56523077,0.56636364,0.52777778,478,11/7/2019 8:07,male,1,2000,3
-0.6205,0.61775,0.73073333,0.71190909,478,11/4/2019 7:49,male,1,2000,3
-0.59966667,0.55444444,0.67041667,0.762,478,11/8/2019 8:01,male,1,2000,3
-0.859,0.84885714,0.91090909,0.7796,480,11/5/2019 11:49,female,1,2000,3
-0.82025,0.88863636,0.80569231,0.67533333,480,11/9/2019 8:15,female,1,2000,3
-0.7166,0.84883333,0.8058125,0.61815385,480,11/6/2019 8:22,female,1,2000,3
-0.7345,0.832,1.036,0.79663636,480,11/10/2019 12:34,female,1,2000,3
-1.09125,1.368,0.97033333,1.165,480,10/20/2019 20:41,female,1,2000,3
-0.74525,0.79428571,0.65392857,0.92966667,480,11/7/2019 11:54,female,1,2000,3
-1.071,0.813,0.97342857,0.96283333,480,11/4/2019 11:45,female,1,2000,3
-0.71228571,0.81654545,0.8212,0.83533333,480,11/8/2019 8:22,female,1,2000,3
-0.72516667,0.85488889,0.856,0.75185714,481,10/22/2019 12:49,male,1,2000,
-1.08516667,1.04755556,0.97266667,1.1069,481,10/22/2019 13:08,male,1,2000,
-0.69176923,0.63506667,0.81375,0.97775,481,10/22/2019 11:49,male,1,2000,
-1.3926,1.96466667,1.72266667,1.412,481,10/22/2019 13:26,male,1,2000,
-0.6475,0.63955556,0.7142,0.79630769,481,10/22/2019 12:33,male,1,2000,
-1.34057143,1.019,0.69553846,0.75958333,482,11/5/2019 7:01,female,1,1999,
-0.78466667,0.60481818,0.72864286,0.5862,482,11/9/2019 6:37,female,1,1999,
-0.9209,0.75116667,0.79557143,0.64477778,482,11/6/2019 7:16,female,1,1999,
-0.83833333,0.737125,0.72721429,0.67811111,482,11/10/2019 8:41,female,1,1999,
-0.66035294,1.0336,0.86011111,0.70025,482,11/7/2019 7:02,female,1,1999,
-0.80783333,0.95266667,0.83109091,0.64972727,482,11/4/2019 6:48,female,1,1999,
-0.96371429,0.694,0.6375,0.763,482,11/8/2019 7:22,female,1,1999,
-0.8554,0.85333333,0.9854,1.5704,484,10/21/2019 16:21,male,1,2000,
-0.886,0.77111111,0.770875,0.646,484,11/7/2019 8:50,male,1,2000,
-0.95066667,0.725625,1.2585,1.14133333,484,11/4/2019 22:56,male,1,2000,
-0.69283333,0.69475,0.92388889,0.7588,484,11/8/2019 8:56,male,1,2000,
-1.07266667,2.066,1.67616667,1.9486,484,10/19/2019 20:42,male,1,2000,
-0.6864,0.72333333,0.77444444,1.15775,484,11/5/2019 10:14,male,1,2000,
-1.18725,0.58914286,0.82428571,0.88116667,484,11/10/2019 13:05,male,1,2000,
-1.56775,0.74985714,1.047,1.31871429,484,10/19/2019 20:42,male,1,2000,
-0.68125,0.6246,0.84433333,0.8573,484,11/6/2019 8:20,male,1,2000,
-0.777,0.54325,0.62125,0.80425,484,11/11/2019 2:19,male,1,2000,
-0.96233333,0.98385714,0.80455556,0.94414286,485,11/7/2019 8:14,male,0,2001,3
-0.92033333,0.84933333,0.77633333,0.96066667,485,10/18/2019 15:55,male,0,2001,3
-0.94511111,0.87271429,0.95481818,0.8035,485,11/8/2019 8:12,male,0,2001,3
-0.98442857,0.95828571,0.85533333,0.887,485,11/4/2019 8:36,male,0,2001,3
-0.83354545,0.8395,1.036125,0.88116667,485,11/5/2019 10:24,male,0,2001,3
-0.75035714,0.923375,0.68233333,0.77242857,485,11/9/2019 7:48,male,0,2001,3
-1.04577778,0.8858,0.9995,0.83528571,485,11/6/2019 8:21,male,0,2001,3
-0.6808,0.76566667,0.70646667,0.8417,485,11/10/2019 12:21,male,0,2001,3
-0.618,0.69415789,0.77666667,0.8184,486,10/16/2019 13:39,male,1,2000,
-1.0431,0.78171429,0.77744444,0.8755,487,11/10/2019 18:12,male,1,2000,4
-0.76744444,0.6,0.754,0.71081818,487,11/10/2019 18:20,male,1,2000,4
-2.28125,0.70866667,1.064,0.91955556,487,10/16/2019 13:39,male,1,2000,4
-0.6168,0.65075,0.75728571,0.7729,487,11/10/2019 18:16,male,1,2000,4
-0.57073333,0.5594,0.5303125,0.59941667,487,11/10/2019 18:21,male,1,2000,4
-0.8977,0.81045455,0.870625,0.9584,487,10/16/2019 13:53,male,1,2000,4
-0.67083333,0.644375,0.661,0.61892857,487,11/10/2019 18:18,male,1,2000,4
-0.619,0.84572727,0.60976923,0.74055556,487,11/10/2019 18:22,male,1,2000,4
-0.8992,0.64215385,0.70525,0.53,487,10/17/2019 19:27,male,1,2000,4
-0.61458333,0.629375,0.76491667,0.74154545,487,11/10/2019 18:19,male,1,2000,4
-0.6385,0.658125,0.67345455,0.7455,488,10/16/2019 13:40,male,1,2000,4
-0.67081818,0.71391667,0.58746154,0.66233333,488,11/8/2019 10:02,male,1,2000,4
-0.73566667,0.8,0.69377778,0.69173333,488,11/4/2019 7:56,male,1,2000,4
-0.63625,0.813875,0.59890909,0.70391667,488,11/8/2019 10:04,male,1,2000,4
-0.6618,0.78836364,0.69721429,0.69928571,488,11/5/2019 9:53,male,1,2000,4
-0.72169231,0.69953846,0.653,0.67666667,488,11/10/2019 11:24,male,1,2000,4
-0.6898,0.70113333,0.76172727,0.8174,488,10/16/2019 13:39,male,1,2000,4
-0.56866667,0.71266667,0.64823077,0.6582,488,11/6/2019 18:54,male,1,2000,4
-0.61982353,0.63455556,0.6467,0.637,488,11/10/2019 11:26,male,1,2000,4
-0.47984615,0.57022727,0.46933333,0.5127,489,11/7/2019 15:17,female,1,2000,3
-0.6464,0.57192308,0.56209091,0.67678571,489,11/10/2019 15:47,female,1,2000,3
-1.2116,0.89966667,1.194,1.03625,489,10/16/2019 13:45,female,1,2000,3
-0.69825,0.62309091,0.74,0.7945,489,10/17/2019 12:47,female,1,2000,3
-0.97585714,0.714,0.75033333,0.75442857,489,11/8/2019 19:50,female,1,2000,3
-0.59875,0.6756,0.60515,0.745,489,12/11/2019 22:40,female,1,2000,3
-1.158125,0.958125,1.263,0.77,489,10/16/2019 13:46,female,1,2000,3
-0.611,0.67266667,0.59091667,0.80178571,489,11/4/2019 9:21,female,1,2000,3
-0.67072727,0.598125,0.5686,0.56905882,489,11/5/2019 17:39,female,1,2000,3
-0.89016667,0.67272727,0.81871429,0.86842857,489,11/9/2019 17:40,female,1,2000,3
-0.891,0.92157143,0.928625,0.7168,489,10/16/2019 13:47,female,1,2000,3
-0.994,0.61813333,0.75622222,0.79155556,489,11/6/2019 20:34,female,1,2000,3
-0.89016667,0.67272727,0.81871429,0.86842857,489,11/9/2019 17:40,female,1,2000,3
-0.7848,0.653,0.7156,0.95777778,489,10/17/2019 12:45,female,1,2000,3
-0.62836364,0.68926667,0.6095,0.58476923,490,11/5/2019 8:34,male,0,2001,3
-0.51653333,0.56642857,0.5050625,0.47507692,490,11/9/2019 8:02,male,0,2001,3
-0.58869231,0.54833333,0.60246154,0.56646154,490,11/6/2019 19:20,male,0,2001,3
-0.40964706,0.47353846,0.4590625,0.48484211,490,11/10/2019 10:23,male,0,2001,3
-0.71969231,0.98185714,0.777625,0.6915,490,10/16/2019 13:40,male,0,2001,3
-0.54264286,0.59333333,0.55455556,0.52291667,490,11/7/2019 20:20,male,0,2001,3
-0.67435294,1.13366667,0.67622222,0.667625,490,11/4/2019 7:12,male,0,2001,3
-0.4926875,0.47613333,0.4863125,0.49055556,490,11/8/2019 8:27,male,0,2001,3
-0.72433333,0.6586,0.781,0.869,492,10/16/2019 13:45,female,1,2001,3
-0.6595,0.6315,0.77166667,0.69444444,492,11/7/2019 8:06,female,1,2001,3
-0.62553333,0.65269231,0.607,0.59469231,492,11/10/2019 10:55,female,1,2001,3
-0.77442857,0.70873333,0.816,0.8,492,11/4/2019 7:04,female,1,2001,3
-0.99,0.8095,0.991,0.78133333,492,11/8/2019 7:41,female,1,2001,3
-1.27,0.94444444,1.01233333,0.9994,492,10/16/2019 13:43,female,1,2001,3
-0.56961538,0.711,0.65025,0.71433333,492,11/5/2019 9:36,female,1,2001,3
-0.6874,0.65636364,0.7225,0.6522,492,11/8/2019 7:42,female,1,2001,3
-0.744,0.636,0.726,1.90866667,492,10/16/2019 13:44,female,1,2001,3
-0.79541667,0.66190909,0.761,0.748,492,11/6/2019 6:30,female,1,2001,3
-0.70585714,0.7174375,0.76355556,0.69988889,492,11/9/2019 6:27,female,1,2001,3
-0.73961538,0.59528571,1.10666667,0.836,493,10/16/2019 13:43,male,1,2000,
-0.56981818,0.5995,0.8189,0.59744444,493,10/16/2019 13:44,male,1,2000,
-0.9639,1.089,0.78616667,0.87254545,494,11/4/2019 17:52,female,1,2000,3
-0.68985714,0.71566667,0.72875,0.56983333,494,11/8/2019 21:44,female,1,2000,3
-0.61066667,0.623125,0.70178571,0.63042857,494,11/5/2019 18:08,female,1,2000,3
-0.64676471,0.62841667,0.807,0.62257143,494,11/9/2019 19:41,female,1,2000,3
-0.95825,0.53276471,0.70077778,0.683,494,11/6/2019 17:55,female,1,2000,3
-0.627,0.64855556,0.61753846,0.52368421,494,11/10/2019 12:28,female,1,2000,3
-0.749,1.202,0.81266667,0.86691667,494,10/16/2019 13:43,female,1,2000,3
-1.10333333,0.64611111,0.8897,0.74042857,494,11/7/2019 18:30,female,1,2000,3
-0.7795,0.74757143,0.74471429,0.83425,495,10/16/2019 13:48,male,1,2000,5
-0.64457143,0.76266667,0.7436,0.803,495,11/11/2019 6:49,male,1,2000,5
-0.5558,0.61325,0.89075,0.58133333,495,11/15/2019 8:21,male,1,2000,5
-0.59914286,0.768,0.93275,0.8955,495,11/4/2019 8:17,male,1,2000,5
-0.60785714,0.73,0.907,1.02633333,495,11/12/2019 8:21,male,1,2000,5
-0.53611111,0.58553846,0.6482,0.639,495,11/16/2019 8:22,male,1,2000,5
-0.80588889,0.55111765,0.9415,0.59891667,495,11/5/2019 8:30,male,1,2000,5
-0.67607143,0.7808,0.83166667,0.76616667,495,11/13/2019 8:58,male,1,2000,5
-0.566,0.63184615,0.60927273,0.4814,495,11/17/2019 11:55,male,1,2000,5
-0.69311111,0.72566667,0.59555556,0.922,495,10/16/2019 13:39,male,1,2000,5
-0.76066667,0.68057143,0.8695,0.578,495,11/6/2019 8:49,male,1,2000,5
-0.5634,0.612125,0.82116667,0.7455,495,11/14/2019 8:35,male,1,2000,5
-0.72661538,0.77866667,0.85516667,0.72354545,496,10/16/2019 13:46,female,1,2000,0
-0.7428,0.6055,0.7405,0.61685714,496,11/6/2019 8:34,female,1,2000,0
-0.82444444,1.02444444,0.75714286,0.71427273,496,11/10/2019 6:54,female,1,2000,0
-0.77057143,0.62442105,0.92866667,0.842125,496,11/4/2019 8:15,female,1,2000,0
-0.57278571,0.60244444,0.7285,0.8982,496,11/7/2019 8:01,female,1,2000,0
-0.67625,0.537875,1.1015,0.55233333,496,11/5/2019 8:47,female,1,2000,0
-0.991,0.724,0.53457143,0.7575,496,11/8/2019 7:58,female,1,2000,0
-0.877,1.1155,0.8274,0.91253846,496,10/16/2019 13:44,female,1,2000,0
-0.54790909,0.71525,0.6648,0.75071429,496,11/5/2019 8:48,female,1,2000,0
-0.75692308,0.8545,0.71321429,0.594,496,11/9/2019 7:51,female,1,2000,0
-0.739,0.816875,0.59475,0.744,497,11/8/2019 15:06,male,1,2000,
-0.884875,0.83033333,1.13475,1.33225,497,10/16/2019 13:38,male,1,2000,
-0.74977778,0.73814286,0.7671,0.87127273,497,11/5/2019 8:28,male,1,2000,
-0.6936,0.77942857,0.6225,1.19027273,497,11/8/2019 15:24,male,1,2000,
-0.743,0.86225,0.59630769,0.73513333,497,11/6/2019 9:08,male,1,2000,
-0.63366667,0.67775,0.6114,0.51393333,498,10/16/2019 13:39,male,1,2000,
-0.79444444,0.778625,0.99588889,0.924,499,10/16/2019 13:38,male,1,2001,
-0.56655556,0.760875,0.72528571,0.6953,499,10/16/2019 13:39,male,1,2001,
-1.53633333,0.6045,0.91125,0.78766667,500,10/16/2019 13:38,male,1,2000,
-0.78709091,0.68476923,0.667875,0.6633,501,10/16/2019 13:38,male,1,2000,
-0.57491667,0.63545455,0.7018,0.73666667,501,11/7/2019 8:04,male,1,2000,
-0.5687,1.00966667,0.5794,0.70766667,501,11/4/2019 7:01,male,1,2000,
-0.6392,0.71975,0.74475,0.741,501,11/8/2019 7:13,male,1,2000,
-0.58313333,0.64057143,0.684,0.60763636,501,11/5/2019 9:17,male,1,2000,
-0.75042857,0.69773333,0.7138,0.75311111,501,11/9/2019 7:27,male,1,2000,
-0.63333333,0.71316667,0.71363636,0.60284615,501,11/6/2019 8:45,male,1,2000,
-0.56745455,0.6646,0.6454,0.63175,501,11/10/2019 21:54,male,1,2000,
-0.61830769,0.72,0.63811111,0.73655556,502,10/16/2019 13:38,male,1,1920,
-0.61722222,0.801,0.7636,0.6735,503,11/6/2019 10:00,male,1,2000,
-0.903,0.709,0.93771429,0.77485714,503,11/4/2019 7:53,male,1,2000,
-0.769,0.61172727,0.77025,0.68914286,503,11/7/2019 11:04,male,1,2000,
-0.8351,0.69735714,0.7187,0.7838,503,11/4/2019 8:09,male,1,2000,
-0.73736364,0.76990909,0.7115,0.63933333,503,11/8/2019 7:33,male,1,2000,
-0.787375,0.6815,0.95083333,0.70825,503,11/4/2019 22:27,male,1,2000,
-0.61775,0.6431,0.821,0.537875,503,11/10/2019 9:00,male,1,2000,
-1.094,1.21272727,1.01533333,0.92911111,505,10/16/2019 13:40,male,1,2000,
-0.75475,0.823,0.749625,0.84525,505,10/22/2019 14:14,male,1,2000,
-0.7475,1.15925,1.51716667,1.0355,505,11/5/2019 10:46,male,1,2000,
-0.924375,0.85228571,0.89890909,0.7475,505,11/6/2019 10:11,male,1,2000,
-0.65742857,0.66053846,0.70272727,0.71775,506,10/16/2019 13:44,male,1,2000,2
-0.519,0.62581818,0.56981818,0.62464286,506,11/7/2019 8:01,male,1,2000,2
-0.895,0.649875,0.650125,0.61236364,506,11/4/2019 8:03,male,1,2000,2
-0.67966667,0.5822,0.71975,0.69725,506,11/8/2019 8:10,male,1,2000,2
-0.6718,0.6975,0.6568,0.54375,506,11/5/2019 8:11,male,1,2000,2
-0.55111765,0.45064286,0.60155556,0.544375,506,11/9/2019 10:38,male,1,2000,2
-0.6844,0.54947619,0.67375,0.6042,506,11/6/2019 8:14,male,1,2000,2
-0.6815,0.768,0.57853333,0.60783333,506,11/10/2019 8:14,male,1,2000,2
-0.926,1.17975,1.08066667,1.1565,507,10/16/2019 13:42,male,1,2000,3
-0.509,0.55714286,0.4832,0.559625,507,10/21/2019 21:46,male,1,2000,3
-2.09957143,1.80575,1.7215,2.2765,507,10/21/2019 23:34,male,1,2000,3
-1.02,0.62126667,0.714,0.67409091,507,11/6/2019 16:04,male,1,2000,3
-0.933625,0.61583333,0.96172727,0.88055556,507,10/21/2019 20:08,male,1,2000,3
-0.483,0.5106,0.58606667,0.6295,507,10/21/2019 21:58,male,1,2000,3
-0.77472727,1.07228571,0.75333333,0.7086,507,11/4/2019 22:08,male,1,2000,3
-0.74925,0.92888889,0.64216667,0.974875,507,11/7/2019 8:13,male,1,2000,3
-0.61466667,0.58069231,0.70127273,0.6275,507,10/21/2019 20:46,male,1,2000,3
-1.388,1.1062,1.309,1.3505,507,10/21/2019 22:09,male,1,2000,3
-0.98266667,0.715,0.68325,0.73,507,11/5/2019 22:32,male,1,2000,3
-0.62133333,0.697,0.74877778,0.752,507,11/8/2019 8:02,male,1,2000,3
-0.4945,0.572,0.65316667,0.63688235,507,10/21/2019 21:23,male,1,2000,3
-1.791,2.15466667,1.45,2.406,507,10/21/2019 23:11,male,1,2000,3
-0.84784615,0.85577778,0.694625,0.8655,507,11/6/2019 15:58,male,1,2000,3
-0.64911111,0.836,0.5993125,0.626,507,11/9/2019 8:01,male,1,2000,3
-1.2421,0.805,0.85583333,0.98844444,508,10/16/2019 13:39,male,1,2001,
-0.58707692,0.72990909,0.82571429,0.826,508,11/7/2019 8:31,male,1,2001,
-0.74533333,0.67922222,0.74988889,0.82811111,508,11/4/2019 8:06,male,1,2001,
-0.68046667,0.56366667,0.647,0.76357143,508,11/8/2019 7:16,male,1,2001,
-0.72309091,0.58555556,0.76692308,0.6389,508,11/5/2019 8:57,male,1,2001,
-0.78216667,0.5334,0.80083333,0.74407143,508,11/9/2019 8:05,male,1,2001,
-0.7884,0.826875,0.98222222,0.78758333,508,11/6/2019 8:46,male,1,2001,
-0.5485,0.526125,0.7755,0.74576923,508,11/10/2019 10:08,male,1,2001,
-0.729875,0.5965,0.65027273,0.6257619,509,10/16/2019 13:41,male,1,2000,
-0.47078947,0.47670588,0.4605,0.53046154,510,11/6/2019 9:28,male,1,2000,4
-0.508,0.46745,0.5112,0.5330625,510,12/17/2019 21:55,male,1,2000,4
-0.59916667,0.56471429,0.58346154,0.58190909,510,10/23/2019 0:11,male,1,2000,4
-0.55063636,0.54464286,0.48378947,0.44907143,510,11/7/2019 8:01,male,1,2000,4
-0.565,0.5380625,0.49922222,0.5002,510,11/4/2019 7:38,male,1,2000,4
-0.49176471,0.4388125,0.50608333,0.481,510,11/8/2019 7:33,male,1,2000,4
-0.559,0.47618182,0.49028571,0.46718182,510,11/5/2019 9:19,male,1,2000,4
-0.5675,0.464125,0.498,0.557,510,11/9/2019 7:34,male,1,2000,4
-1.07175,1.23516667,1.143875,1.33016667,511,10/22/2019 10:53,male,1,2000,
-0.74842857,0.81144444,0.6595,1.48811111,511,11/6/2019 10:41,male,1,2000,
-0.85236364,0.94175,0.9477,1.09533333,511,10/22/2019 1:08,male,1,2000,
-2.723,2.951,2.1004,2.47925,511,10/22/2019 11:08,male,1,2000,
-0.6216,0.71257143,0.63527273,0.67005882,511,11/7/2019 8:31,male,1,2000,
-0.716,0.79854545,0.81533333,0.872,511,10/22/2019 1:30,male,1,2000,
-0.80945455,0.61875,0.67807692,0.9348,511,11/4/2019 19:35,male,1,2000,
-0.65633333,0.73009091,0.755875,0.55064706,511,11/8/2019 17:09,male,1,2000,
-0.988,0.960875,0.82488889,1.1088,511,10/22/2019 1:43,male,1,2000,
-0.66177778,0.68906667,0.676,0.73963636,511,11/5/2019 10:24,male,1,2000,
-0.566,0.86228571,0.59477778,0.64592308,512,10/21/2019 18:44,male,1,2000,
-0.71611111,0.797,0.74445455,0.71372727,512,11/6/2019 9:09,male,1,2000,
-0.634,0.58315385,0.631,0.63872727,512,11/10/2019 14:29,male,1,2000,
-0.99033333,0.8959,0.825,0.69985714,512,10/22/2019 18:44,male,1,2000,
-0.61718182,0.52641176,0.728625,0.63583333,512,11/7/2019 22:08,male,1,2000,
-0.7224375,0.63883333,0.61475,0.8942,512,11/4/2019 8:07,male,1,2000,
-0.76785714,0.6341,0.75336364,0.6366,512,11/8/2019 17:41,male,1,2000,
-0.82988889,0.88309091,0.859125,0.84057143,512,10/21/2019 18:32,male,1,2000,
-0.62682353,0.58763636,0.65355556,0.71811111,512,11/5/2019 9:35,male,1,2000,
-0.73125,0.7058,0.57044444,0.62092308,512,11/9/2019 19:44,male,1,2000,
-0.9832,0.75857143,1.06411111,0.868,513,11/7/2019 7:30,female,1,1999,
-0.91071429,0.94566667,0.936875,0.9786,513,11/4/2019 7:19,female,1,1999,
-0.70763158,0.78325,0.84642857,0.8138,513,11/8/2019 22:15,female,1,1999,
-0.98677778,0.91666667,0.99944444,0.92028571,513,11/5/2019 14:31,female,1,1999,
-0.75527273,0.7115,0.76863636,0.96483333,513,11/9/2019 21:23,female,1,1999,
-0.818625,0.5665,0.666,0.8457,513,11/6/2019 10:03,female,1,1999,
-0.75975,0.66721429,0.76875,0.859,513,11/10/2019 13:06,female,1,1999,
-0.53861538,0.62209091,0.8371,0.67318182,516,11/8/2019 13:46,male,1,2000,
-0.6793125,0.6805,0.71875,0.7858,516,11/5/2019 9:41,male,1,2000,
-0.6315,0.5552,0.69791667,0.81090909,516,11/9/2019 22:54,male,1,2000,
-0.68,0.67566667,0.863625,0.78475,516,11/6/2019 9:51,male,1,2000,
-0.65566667,0.68985714,0.76823077,0.65325,516,11/10/2019 11:43,male,1,2000,
-0.6153,0.62872727,0.75192308,0.73644444,516,11/7/2019 19:46,male,1,2000,
-0.662,0.5845,0.64923077,0.6627,517,11/6/2019 8:52,male,1,2000,
-0.521,0.50328571,0.54972727,0.52747368,517,11/12/2019 9:31,male,1,2000,
-0.5958,0.58093333,0.68954545,0.64614286,517,11/7/2019 7:17,male,1,2000,
-0.58933333,0.59041667,0.688,0.66113333,517,11/8/2019 8:15,male,1,2000,
-0.83533333,0.72814286,0.8345,0.704,517,11/5/2019 7:41,male,1,2000,
-0.53707143,0.4935,0.62984615,0.6464,517,11/9/2019 7:18,male,1,2000,
-0.57007692,0.4987,0.5595,0.68969231,519,11/7/2019 8:13,male,1,2000,
-1.10071429,1.07444444,1.084,0.8622,519,11/4/2019 8:13,male,1,2000,
-1.0319,0.72925,0.61107143,0.73657143,519,11/8/2019 7:59,male,1,2000,
-0.97442857,0.78008333,0.8394,0.9563,519,11/5/2019 7:52,male,1,2000,
-0.74375,0.91575,0.66372727,0.84885714,519,11/9/2019 7:22,male,1,2000,
-0.82907692,0.68471429,0.734,1.08085714,519,11/6/2019 8:46,male,1,2000,
-0.83716667,0.57052941,0.4916,0.8735,519,11/10/2019 8:07,male,1,2000,
-2.118,0.984,1.161,0.83933333,520,11/4/2019 22:13,male,1,2000,
-0.93816667,0.724375,0.862,0.856,520,11/8/2019 23:34,male,1,2000,
-1.03,0.9408,0.981,0.94846154,520,11/5/2019 7:01,male,1,2000,
-0.9668,1.3185,0.84944444,1.01611111,520,11/9/2019 6:10,male,1,2000,
-1.06077778,0.767625,1.0355,0.9472,520,11/6/2019 6:55,male,1,2000,
-1.01657143,0.91528571,1.13,0.951,520,11/10/2019 11:23,male,1,2000,
-1.037,0.815625,0.85642857,0.96633333,520,11/7/2019 6:14,male,1,2000,
-0.74666667,0.88614286,0.65461538,0.689,521,11/4/2019 7:32,female,1,2000,2
-0.729125,0.62957143,0.71614286,0.51325,521,11/8/2019 7:13,female,1,2000,2
-0.76,0.58372727,0.63416667,1.13122222,521,11/5/2019 9:48,female,1,2000,2
-0.69791667,0.57441176,0.7585,0.563,521,11/9/2019 7:08,female,1,2000,2
-0.62588889,0.63209091,0.58675,0.5775,521,11/6/2019 9:20,female,1,2000,2
-0.6849,0.68572727,1.0675,0.819,521,11/10/2019 10:52,female,1,2000,2
-1.229125,1.05475,0.900625,0.71525,521,10/16/2019 21:32,female,1,2000,2
-0.5778,0.730875,0.65725,0.52464286,521,11/7/2019 7:24,female,1,2000,2
-0.86616667,1.0216,0.94275,0.94871429,522,11/4/2019 7:46,female,1,2000,2
-0.83725,0.98966667,0.809875,0.6105,522,11/8/2019 7:35,female,1,2000,2
-0.8665,1.007875,0.76028571,1.128125,522,11/5/2019 10:03,female,1,2000,2
-0.79466667,1.24728571,0.94,0.86522222,522,11/9/2019 7:27,female,1,2000,2
-0.801375,1.291625,0.909375,0.96516667,522,11/6/2019 9:41,female,1,2000,2
-0.87533333,0.94971429,0.84073333,0.84616667,522,11/10/2019 16:59,female,1,2000,2
-1.03275,1.31671429,1.2275,0.85642857,522,10/16/2019 21:33,female,1,2000,2
-0.9765,0.9225,0.898,0.9659,522,11/7/2019 7:47,female,1,2000,2
-0.68881818,0.7715,0.92525,0.67511111,524,11/8/2019 8:33,female,1,2000,3
-0.836125,0.68372727,0.74963636,0.83088889,524,11/4/2019 7:51,female,1,2000,3
-0.63314286,0.6933,0.79591667,0.61921429,524,11/9/2019 8:14,female,1,2000,3
-0.5615,0.771,0.73142857,0.66333333,524,11/5/2019 9:41,female,1,2000,3
-0.6774,0.74545455,0.74083333,0.858375,524,11/10/2019 10:06,female,1,2000,3
-0.71511111,0.63633333,0.89325,0.6975,524,11/6/2019 9:33,female,1,2000,3
-1.08266667,1.3916,1.017,1.015,524,10/19/2019 20:24,female,1,2000,3
-0.704,0.63483333,0.73576923,0.67809091,524,11/7/2019 8:34,female,1,2000,3
-1.12677778,0.75642857,0.90871429,1.29083333,526,10/16/2019 20:59,male,1,2000,
-2.025,1.2096,1.581,1.568,527,10/16/2019 21:37,male,1,2000,4
-0.60290909,0.45582609,0.6384,0.583875,527,10/17/2019 19:55,male,1,2000,4
-0.6092,0.46391667,0.68525,1.06133333,527,11/5/2019 6:38,male,1,2000,4
-0.61915385,0.53708333,0.54883333,0.72083333,527,11/9/2019 6:13,male,1,2000,4
-1.112,1.66916667,1.241,1.614,527,10/16/2019 21:49,male,1,2000,4
-0.89,0.792,1.03666667,0.60266667,527,10/17/2019 20:53,male,1,2000,4
-0.57746154,0.45258333,0.59322222,1.04272727,527,11/6/2019 6:25,male,1,2000,4
-0.57018182,0.455,0.61433333,0.73161538,527,11/10/2019 10:50,male,1,2000,4
-0.72481818,1.0285,0.73925,0.92575,527,10/16/2019 22:01,male,1,2000,4
-3.531,4.496,3.3435,2.94633333,527,10/18/2019 7:31,male,1,2000,4
-0.581,0.503,0.53542857,0.61931579,527,11/7/2019 7:24,male,1,2000,4
-0.80622222,1.0256,0.77563636,0.81509091,527,10/17/2019 19:54,male,1,2000,4
-0.55828571,0.717875,0.63633333,0.70066667,527,11/4/2019 6:25,male,1,2000,4
-0.56125,0.47822222,0.56344444,0.67542857,527,11/8/2019 7:26,male,1,2000,4
-0.685,0.9642,0.80028571,1.22142857,528,10/21/2019 16:25,male,1,1994,
-1.11866667,0.78442857,1.19425,0.85271429,529,10/16/2019 22:04,male,1,1978,
-0.628,1.82766667,0.950625,1.978,530,10/16/2019 22:28,female,1,2001,
-0.51964286,0.58876923,0.49777778,0.5745,530,11/10/2019 16:13,female,1,2001,
-0.4724,0.50605882,0.51227273,0.5344375,530,11/10/2019 16:20,female,1,2001,
-0.50359091,0.55375,0.62164286,0.5776,530,11/10/2019 16:05,female,1,2001,
-0.505,0.59415385,0.54490909,0.55108333,530,11/10/2019 16:14,female,1,2001,
-0.50592308,0.5131,0.5616,0.618,530,11/10/2019 16:06,female,1,2001,
-0.49746154,0.5088,0.56766667,0.51558824,530,11/10/2019 16:15,female,1,2001,
-0.538125,0.4982,0.55113333,0.5455,530,11/10/2019 16:07,female,1,2001,
-0.50483333,0.47313333,0.56273333,0.5308,530,11/10/2019 16:18,female,1,2001,
-0.69383333,0.87522222,0.70088889,0.66829412,531,10/16/2019 22:24,male,1,1984,
-0.6923,0.75233333,1.37616667,0.89916667,532,10/16/2019 22:36,male,1,1987,
-1.6385,1.9525,5.467,1.221,533,10/17/2019 20:27,female,1,1961,
-1.4274,1.0275,1.18866667,1.768,534,10/16/2019 22:49,male,1,1968,
-2.0755,1.98866667,2.49033333,1.391,535,10/16/2019 23:04,male,1,1956,
-4.619,2.513,2.7064,2.1675,538,10/26/2019 18:35,female,1,1966,3
-0.70022222,0.72554545,0.75263636,0.882625,538,11/10/2019 10:37,female,1,1966,3
-1.06125,1.15742857,1.396,1.11571429,538,11/10/2019 10:43,female,1,1966,3
-1.4382,1.93325,1.307,1.34166667,538,10/26/2019 19:00,female,1,1966,3
-0.69445455,0.649,0.8238,0.93414286,538,11/10/2019 10:39,female,1,1966,3
-0.97866667,1.2415,1.14655556,1.16457143,538,11/10/2019 10:44,female,1,1966,3
-1.004,1.20475,1.563,1.33742857,538,10/20/2019 14:29,female,1,1966,3
-2.86933333,2.443,1.96475,2.3355,538,10/26/2019 20:05,female,1,1966,3
-0.93418182,0.81975,0.87188889,0.85483333,538,11/10/2019 10:40,female,1,1966,3
-1.27977778,0.83614286,1.18977778,0.836,538,10/26/2019 18:11,female,1,1966,3
-0.91766667,0.8922,0.8762,1.3265,538,11/10/2019 10:35,female,1,1966,3
-1.20383333,1.18916667,1.085125,2.182,538,11/10/2019 10:41,female,1,1966,3
-0.71913333,0.70785714,0.77033333,0.82545455,539,10/17/2019 16:05,male,0,1996,
-0.876,0.748625,0.6647,0.6774,540,11/4/2019 6:45,female,1,2000,2
-0.772625,0.6355,0.61690909,0.54010526,540,11/6/2019 7:38,female,1,2000,2
-0.67771429,0.58461538,0.6732,0.53688889,540,11/10/2019 14:47,female,1,2000,2
-0.718,0.67733333,0.71021429,0.98728571,540,11/5/2019 7:32,female,1,2000,2
-0.7196,0.572625,0.62925,0.59833333,540,11/7/2019 6:39,female,1,2000,2
-0.68958333,0.5144,0.794625,0.65272727,540,11/8/2019 6:19,female,1,2000,2
-0.68981818,1.40633333,1.20233333,0.936,540,10/17/2019 16:15,female,1,2000,2
-0.75988889,0.5585,0.70916667,0.55,540,11/9/2019 15:27,female,1,2000,2
-1.05516667,1.21277778,0.9686,1.12916667,542,10/17/2019 17:15,male,1,1978,
-0.8895,1.095,1.0665,1.023,544,10/17/2019 16:25,male,1,1950,
-1.079375,1.5295,1.0915,1.22183333,545,10/17/2019 16:54,male,1,1960,
-0.6772,0.67585714,0.72877778,0.82071429,547,10/17/2019 17:07,male,1,1984,
-1.194,1.11357143,1.4812,1.49214286,549,10/17/2019 19:19,male,1,1988,
-1.3835,2.8224,1.76566667,1.121,550,10/17/2019 19:46,male,1,1974,
-1.567,2.25475,1.6435,1.5305,550,10/17/2019 19:47,male,1,1974,
-0.61163636,0.72814286,0.695,0.5176,551,10/17/2019 19:45,male,0,1985,
-1.7908,2.9384,2.029,2.111,552,10/17/2019 20:05,female,1,1977,
-0.64772727,0.58914286,0.74072727,0.505,553,10/17/2019 19:59,male,1,1978,
-0.6455,0.566375,0.656,0.4721,554,10/17/2019 20:17,female,1,1968,
-2.164,1.4235,2.71866667,1.72266667,555,10/17/2019 20:31,male,1,1964,
-0.5295,1.03,0.768,0.911,556,10/17/2019 21:10,female,1,1989,
-0.746,1.29466667,1.4214,1.3625,556,10/19/2019 12:29,female,1,1989,
-0.88966667,0.718,0.8827,0.85046154,557,10/20/2019 20:45,female,1,1977,
-1.05911111,0.95816667,0.9792,0.931,562,10/21/2019 22:42,female,1,1987,
-2.919,1.123,1.05,1.81925,563,10/19/2019 19:29,male,1,1984,
-1.215625,1.65466667,1.241375,0.804,563,10/21/2019 23:15,male,1,1984,
-0.82,1.06685714,1.01288889,0.97271429,564,10/21/2019 18:42,female,1,1977,
-1.26957143,0.96842857,1.33125,1.5532,564,10/22/2019 13:10,female,1,1977,
-0.82,1.06685714,1.01288889,0.97271429,564,10/21/2019 18:42,female,1,1977,
-2.6875,2.0695,2.69066667,2.59133333,565,10/21/2019 17:20,male,1,1963,
-2.776,2.26375,1.928,3.035,565,10/21/2019 17:35,male,1,1963,
-1.51757143,1.7255,1.4982,1.784,566,10/21/2019 16:39,female,1,1956,
-0.91842857,0.81115385,0.7872,1.0062,567,10/17/2019 23:15,male,1,1975,
-1.3434,1.0592,1.09757143,2.4795,568,10/18/2019 12:22,female,1,1981,
-1.0436,0.7249,1.23428571,0.78863636,568,10/19/2019 10:59,female,1,1981,
-0.7825,0.7297,0.87866667,0.77546154,569,10/18/2019 12:41,male,1,1980,
-0.77657143,1.0175,0.89511111,0.81244444,570,10/18/2019 13:26,female,1,1978,
-0.762,0.6095,0.725,0.749,571,10/18/2019 14:09,male,1,1978,
-0.9075,0.83133333,1.32,0.916,571,10/19/2019 13:51,male,1,1978,
-1.075625,0.92681818,0.964,0.77744444,575,10/18/2019 16:30,male,0,1977,
-0.67642857,0.97116667,0.9015,1.04275,580,10/18/2019 18:19,female,1,1981,
-2.1156,1.55014286,1.816,1.2534,580,10/18/2019 17:52,female,1,1981,
-1.85075,1.4405,1.6426,1.15,580,10/18/2019 17:53,female,1,1981,
-1.152125,1.24083333,1.27525,1.1695,580,10/18/2019 17:54,female,1,1981,
-3.0595,6.214,2.141,2.19316667,581,10/18/2019 17:55,male,1,1955,
-0.64911765,0.6036,0.9555,0.74671429,582,10/19/2019 14:04,male,1,2000,
-2.15357143,1.41166667,1.751,2.084,582,10/19/2019 14:19,male,1,2000,
-0.68376923,0.63091667,0.809625,0.587,582,10/19/2019 13:21,male,1,2000,
-1.9765,2.177,2.0215,2.10475,582,10/19/2019 14:39,male,1,2000,
-1.126,1.22716667,1.39633333,1.1722,582,10/19/2019 13:46,male,1,2000,
-1.2745,1.322,1.43625,0.79983333,583,10/18/2019 17:59,female,1,1976,
-2.3915,2.78,2.64,1.52575,584,10/18/2019 18:17,female,1,1960,
-2.319,1.914,1.828,3.0345,585,10/18/2019 18:34,male,1,1960,
-0.84571429,1.21354545,0.70355556,0.64116667,587,10/18/2019 18:48,male,1,1982,
-0.750375,0.97114286,0.89163636,0.52958333,588,10/18/2019 20:39,male,1,1995,
-0.68709091,0.70166667,0.72436364,0.88418182,588,10/18/2019 20:56,male,1,1995,
-0.648,0.61,0.612,0.64685714,588,10/18/2019 18:54,male,1,1995,
-1.167,6.822,1.2365,1.28875,589,10/18/2019 18:56,male,1,1980,
-0.96157143,0.83485714,1.09233333,0.79233333,589,10/18/2019 18:57,male,1,1980,
-0.82725,1.1695,1.05588889,0.98655556,591,10/18/2019 19:05,male,1,1947,
-1.4844,1.924,1.3795,1.48975,591,10/18/2019 19:06,male,1,1947,
-0.724,0.64790909,0.58321429,0.5535,592,10/18/2019 19:00,male,1,1984,
-0.82785714,0.69327273,0.76528571,0.5765,593,10/21/2019 20:41,male,1,1989,
-1.07625,1.1555,1.48772727,0.8412,594,10/18/2019 19:22,male,1,1958,
-0.880375,0.74966667,0.96027273,0.6154,595,10/18/2019 19:17,male,1,1987,
-1.061,1.539,0.89742857,1.54,596,10/18/2019 19:40,female,1,1975,
-1.5015,1.98966667,1.673625,2.367,597,10/18/2019 20:15,male,1,1966,
-0.77516667,0.6875,0.8933,0.69177778,598,10/18/2019 20:56,female,1,1987,2
-1.060125,0.855,0.98733333,0.7739,599,10/19/2019 10:14,male,1,1989,
-0.75344444,0.83828571,0.734,0.82254545,600,10/19/2019 14:26,male,0,1985,
-3.22033333,5.005,4.095,2.8885,601,10/18/2019 21:29,male,1,1954,
-0.62228571,0.6878,0.84957143,0.57286667,602,10/19/2019 14:05,female,1,1985,
-1.312,2.143,1.918,1.222,603,10/20/2019 15:03,female,1,1977,
-0.932,1.15566667,1.22566667,1.6635,604,10/19/2019 13:54,female,1,1969,
-0.86457143,1.2715,0.89983333,1.17144444,605,10/18/2019 21:15,female,1,1964,
-1.414,1.0963,1.2706,1.0394,606,10/19/2019 13:33,male,1,1955,
-1.09166667,1.33583333,1.39633333,1.367625,608,10/18/2019 22:14,male,1,1979,2
-1.77575,1.49475,1.4535,1.236,608,10/20/2019 18:49,male,1,1979,2
-1.83,1.3728,1.372,1.1052,609,10/18/2019 22:37,female,1,1949,2
-0.9857,1.147,1.1456,0.73444444,610,10/18/2019 22:56,male,1,1970,2
-0.839125,1.01725,0.93011111,0.89328571,611,10/18/2019 23:10,female,1,1962,3
-0.5702,0.6318,0.58021429,0.6774,613,10/19/2019 0:37,male,1,2000,
-0.45747059,0.5268,0.58973333,0.54985714,613,10/19/2019 0:38,male,1,2000,
-1.618,1.6185,1.454,1.747,614,10/19/2019 2:47,male,1,1954,
-1.8588,1.378,1.16466667,1.38466667,615,10/19/2019 10:43,female,1,1989,
-0.6644,0.76118182,0.613875,0.67344444,616,10/19/2019 11:08,male,1,1989,
-1.359875,1.371,1.7052,1.4514,617,10/19/2019 11:24,female,1,1988,
-0.59146667,0.7417,0.60233333,0.567,618,10/19/2019 11:27,male,1,1987,
-0.606,0.736,0.7532,0.62446154,620,10/19/2019 11:21,male,1,1989,
-2.00225,2.24566667,2.074,1.7744,622,10/19/2019 11:48,female,1,1957,
-0.8145,0.807,0.8741,0.8633,623,10/19/2019 11:47,male,1,1978,
-0.8624,1.013,1.40777778,1.34,624,10/19/2019 11:50,female,1,1979,
-1.027,1.01183333,0.75185714,1.2115,626,10/19/2019 11:58,male,1,1969,
-2.14833333,1.8458,2.027,2.20475,627,10/19/2019 12:17,male,1,1964,
-2.69075,1.787,2.286,2.50033333,629,10/19/2019 12:54,female,1,1945,
-0.7276,0.7875,0.99875,0.8341,630,10/19/2019 12:50,male,1,1987,
-1.101625,1.02577778,1.261,1.06257143,631,10/19/2019 13:10,female,0,1987,
-0.672,1.031,0.6528,0.81966667,632,10/19/2019 13:22,female,1,1985,
-1.4376,0.84885714,0.82608333,0.89371429,632,10/19/2019 13:11,female,1,1985,
-0.78711111,0.765,0.90083333,0.82153846,633,10/22/2019 16:11,female,1,1980,
-0.749,0.9445,0.757,0.7715,633,11/10/2019 22:12,female,1,1980,
-0.89066667,1.03225,0.7474,0.971,633,11/10/2019 22:20,female,1,1980,
-1.2342,1.36885714,1.52575,1.497,633,10/21/2019 19:53,female,1,1980,
-0.99883333,1.26822222,0.85833333,1.195125,633,10/22/2019 16:28,female,1,1980,
-0.775875,1.19585714,1.145,0.59375,633,11/10/2019 22:14,female,1,1980,
-0.63841667,1.2276,1.33766667,0.962375,633,11/10/2019 22:21,female,1,1980,
-0.84077778,1.0578,0.756,1.0434,633,10/21/2019 21:14,female,1,1980,
-1.07433333,1.3965,1.36,1.18928571,633,10/22/2019 16:29,female,1,1980,
-0.69271429,1.05,1.01333333,0.844,633,11/10/2019 22:16,female,1,1980,
-4.0465,4.301,3.078,3.38975,633,10/21/2019 22:36,female,1,1980,
-0.70033333,0.76533333,0.75233333,0.585,633,11/10/2019 22:09,female,1,1980,
-0.72457143,1.106125,0.94772727,0.73057143,633,11/10/2019 22:18,female,1,1980,
-1.17416667,1.5226,1.13088889,1.15,633,10/20/2019 11:41,female,1,1980,
-0.93818182,0.60558333,0.907375,0.7896,633,10/22/2019 15:28,female,1,1980,
-3.5935,2.128,1.3275,1.65566667,634,10/19/2019 13:55,male,1,1969,
-2.0248,4.672,1.23866667,2.0715,635,10/19/2019 13:58,female,1,1952,
-1.4244,1.0974,1.0189,0.985,636,10/19/2019 14:12,female,1,1984,
-0.738,0.62093333,0.63076923,0.72925,638,10/19/2019 14:25,male,1,1985,
-2.86433333,1.727,1.86866667,1.36242857,639,10/19/2019 14:36,female,0,1960,
-1.08675,1.0537,1.19685714,1.091,640,10/19/2019 14:42,female,1,1977,
-0.7254,0.61978571,0.62516667,0.785,641,10/19/2019 14:43,male,1,1981,
-0.885,0.75728571,1.09422222,1.1806,642,10/19/2019 14:56,female,1,2001,
-1.882,2.424,1.146,1.756,643,10/19/2019 14:57,female,1,1953,
-1.007,0.7172,1.17725,1.061875,644,10/19/2019 15:07,male,1,1983,
-1.7075,1.8684,1.4825,1.5052,645,10/19/2019 15:18,female,1,1973,
-0.87571429,1.05871429,0.72275,0.708,648,10/19/2019 15:38,female,1,1980,
-0.70375,0.945,0.7231,0.66527273,649,10/19/2019 15:28,female,1,1987,
-0.5828125,0.55988889,0.5565,0.57061538,650,10/19/2019 16:49,male,1,1970,
-0.789375,1.186,0.76605556,0.88328571,651,10/19/2019 15:41,female,1,1986,
-0.7403,0.67292308,0.827125,0.851,653,10/19/2019 15:38,female,1,1989,
-0.99325,1.15433333,1.31466667,0.75377778,654,10/19/2019 16:01,male,1,2001,
-0.89471429,0.67927273,0.689,0.6144,654,10/19/2019 16:02,male,1,2001,
-0.90622222,0.96175,1.21211111,0.834625,654,10/19/2019 15:57,male,1,2001,
-0.884,0.80644444,1.2145,0.81711111,654,10/19/2019 15:59,male,1,2001,
-1.43266667,0.81883333,0.8295,0.88633333,655,10/19/2019 15:49,female,1,1981,
-1.44566667,1.618,1.1135,0.94057143,656,10/20/2019 11:24,male,1,1975,
-1.387,1.247,1.4396,1.49733333,657,10/19/2019 16:04,female,1,1961,
-1.93966667,1.86,1.5632,1.54175,657,10/19/2019 16:05,female,1,1961,
-2.35714286,1.808,2.591,1.9745,657,10/19/2019 16:05,female,1,1961,
-0.719,0.81266667,0.76742857,0.79185714,658,10/19/2019 16:04,male,1,1988,
-1.76366667,2.2874,2.021,1.14583333,659,10/19/2019 16:09,female,1,1963,
-1.04757143,0.78444444,0.76523077,0.62111111,660,10/19/2019 16:19,male,1,1964,
-1.35866667,1.07766667,1.080625,1.481,662,10/19/2019 16:33,female,1,1978,
-0.69933333,0.53325,0.892,0.948,663,10/19/2019 16:46,male,1,2000,
-1.3508,1.663,1.25783333,1.32777778,664,10/19/2019 16:38,female,1,1954,
-0.6288,0.6438,0.72454545,0.83114286,665,10/19/2019 16:57,female,1,2000,
-1.85728571,1.0616,1.454,1.17583333,669,10/19/2019 16:57,male,1,1986,
-1.1966,1.69533333,1.29375,1.33066667,672,10/19/2019 22:42,male,1,1975,
-1.664,2.104,2.808,1.61675,672,10/19/2019 22:40,male,1,1975,
-3.1415,2.85933333,1.28533333,1.7245,673,10/21/2019 18:55,female,1,2000,
-2.62816667,1.754,1.6185,2.626,674,10/19/2019 17:02,male,1,1982,
-4.11566667,1.8565,1.60266667,1.49033333,676,10/20/2019 16:16,male,1,1967,
-1.573,1.5834,1.46214286,1.3594,677,10/19/2019 19:22,female,1,1985,
-1.573,1.5834,1.46214286,1.3594,677,10/19/2019 19:22,female,1,1985,
-0.7934,0.73054545,0.61388889,0.821,678,10/19/2019 19:23,female,1,1987,3
-0.65645455,0.50983333,0.76908333,0.5365,678,10/19/2019 19:24,female,1,1987,3
-1.55766667,1.4732,1.28785714,1.25833333,679,10/20/2019 9:30,female,1,1973,
-1.858,1.753,1.43366667,1.65816667,680,10/19/2019 19:32,female,1,1972,
-1.33811111,1.19811111,1.0955,0.77666667,682,10/19/2019 19:40,female,1,1962,
-0.853,1.088,0.833,0.86066667,683,10/19/2019 19:41,female,1,1980,
-0.74942857,1.06925,0.889625,0.61871429,684,10/20/2019 14:44,male,1,1983,
-3.28466667,3.35433333,3.0115,1.897,685,10/19/2019 19:47,male,1,1965,
-1.369625,1.688,1.483,1.621,687,10/19/2019 19:50,male,1,1974,
-1.07466667,0.958625,0.847875,1.1546,688,10/19/2019 19:53,male,1,1969,
-0.70075,0.919,0.532,1.129,690,10/19/2019 19:55,female,1,1988,
-0.70075,0.919,0.532,1.129,690,10/19/2019 19:55,female,1,1988,
-1.8124,1.23666667,1.2505,1.26833333,691,10/19/2019 20:01,male,1,1965,
-0.72344444,0.57836364,0.53345455,0.74606667,692,10/19/2019 19:56,male,1,1985,
-1.3665,1.89,1.367,1.33966667,693,10/19/2019 20:03,female,1,1972,
-1.851,2.0025,1.8385,1.4775,694,10/20/2019 17:20,male,1,1965,
-1.2932,1.4652,1.47,1.30633333,695,10/19/2019 20:17,male,1,1974,
-0.737625,0.741875,0.7175,0.5998,696,10/19/2019 20:15,female,1,1979,
-1.57266667,1.07433333,1.51916667,1.549,697,10/19/2019 20:15,female,1,1980,
-5.98,1.035,2.987,7.223,698,10/19/2019 20:29,female,1,1946,
-1.146,1.11633333,0.48,0.838,699,10/19/2019 20:24,male,1,1988,
-0.74022222,0.72275,0.62565,0.9974,700,11/7/2019 23:35,male,0,1986,4
-0.69166667,0.5613,0.65275,0.72145455,700,11/9/2019 22:03,male,0,1986,4
-0.726,0.58975,0.696,0.7506,700,11/7/2019 23:50,male,0,1986,4
-0.55070588,0.54525,0.62541667,0.59472727,700,11/10/2019 11:16,male,0,1986,4
-0.7305,0.53264286,0.709,0.6669375,700,11/8/2019 0:04,male,0,1986,4
-0.573,0.591,0.55438462,0.54958824,700,11/10/2019 11:30,male,0,1986,4
-0.81257143,0.8086,0.96166667,0.923,700,10/19/2019 20:26,male,0,1986,4
-0.6911875,0.553125,0.64514286,0.78966667,700,11/9/2019 21:45,male,0,1986,4
-0.93828571,1.32133333,1.13225,1.195125,702,10/19/2019 20:42,male,1,2000,
-0.72614286,0.567,0.65115385,0.8745,702,11/5/2019 20:51,male,1,2000,
-1.03054545,0.736,0.6033,0.61342857,702,11/8/2019 19:21,male,1,2000,
-1.422,1.28175,1.33414286,1.81516667,702,10/19/2019 21:06,male,1,2000,
-0.6655,0.62166667,0.767,0.68666667,702,11/5/2019 20:53,male,1,2000,
-0.6972,0.67364706,0.644,0.70433333,702,10/19/2019 21:24,male,1,2000,
-0.64207692,0.637625,0.6614,0.743875,702,11/6/2019 19:48,male,1,2000,
-0.62435714,0.55881818,0.62822222,0.63878571,702,11/12/2019 14:22,male,1,2000,
-4.6,2.12625,2.335,1.48766667,702,10/19/2019 20:30,male,1,2000,
-2.2355,2.59,2.3615,2.83366667,702,10/19/2019 21:36,male,1,2000,
-0.65781818,0.61285714,0.63033333,0.6912,702,11/7/2019 20:02,male,1,2000,
-0.68053846,0.61077778,0.6278,0.65233333,702,11/12/2019 14:23,male,1,2000,
-1.255125,0.58964286,0.72633333,0.78455556,703,10/19/2019 20:33,male,1,1974,
-1.24725,1.29,1.31875,1.258,704,10/20/2019 12:38,female,1,1971,
-1.1889,0.76414286,1.019,1.22314286,704,10/20/2019 12:39,female,1,1971,
-0.85109091,1.02633333,1.18283333,1.7785,705,10/19/2019 21:20,male,1,1979,
-0.8308,1.488,0.7185,0.7746,705,10/19/2019 21:30,male,1,1979,
-1.963,1.1618,4.333,1.38666667,705,10/19/2019 21:16,male,1,1979,
-1.3745,1.1355,0.72536364,1.0076,706,10/19/2019 20:37,male,1,1986,
-3.865,2.424,2.528,2.741,707,10/19/2019 20:48,female,1,1958,
-1.72683333,1.12266667,2.5178,1.17,708,10/19/2019 20:46,female,1,1973,
-0.91057143,0.572,1.252,1.35028571,709,10/19/2019 20:49,male,1,1961,
-0.8575,0.9851,1.1326,0.8413,709,10/19/2019 20:50,male,1,1961,
-1.864,1.412,2.25233333,1.634,710,10/19/2019 20:52,male,1,1962,
-1.231,1.86233333,2.417,1.348,711,10/19/2019 21:01,female,1,1981,
-1.11116667,0.642,1.037,0.8951,712,10/19/2019 21:12,male,1,1981,
-1.62383333,1.49457143,2.00466667,2.257,713,10/19/2019 21:06,female,1,1951,
-1.5248,1.571,2.194,2.27766667,715,10/19/2019 22:01,female,1,1966,
-1.43771429,1.44566667,1.41,1.9115,715,10/19/2019 22:02,female,1,1966,
-1.08675,1.20066667,1.82083333,1.15971429,715,10/19/2019 21:38,female,1,1966,
-1.036,1.107,0.78771429,1.0325,716,10/19/2019 21:34,male,1,1970,
-0.77581818,0.86542857,0.7272,0.7656,718,10/19/2019 21:55,male,1,1987,
-2.247,2.4115,2.931,2.1515,719,10/19/2019 22:13,female,1,1945,
-2.12875,3.3,3.2175,1.764,719,10/21/2019 16:11,female,1,1945,
-1.80916667,1.9995,2.0536,2.0235,720,10/19/2019 22:07,female,1,1967,
-1.08714286,0.75166667,0.8095,0.9608,721,10/22/2019 17:58,male,1,1999,
-1.3612,0.608,0.6436,0.6153125,721,11/11/2019 3:43,male,1,1999,
-0.66472727,0.60236364,0.71111111,0.9042,721,10/22/2019 17:52,male,1,1999,
-1.00242857,1.28225,1.16816667,1.18588889,721,10/22/2019 17:59,male,1,1999,
-0.68827273,0.57255556,0.77155556,0.624375,721,11/11/2019 3:44,male,1,1999,
-0.8412,0.793875,0.927,0.69,721,10/22/2019 17:53,male,1,1999,
-1.49066667,1.7065,1.4255,1.833,721,10/22/2019 18:00,male,1,1999,
-0.65018182,0.82355556,0.74425,0.80927273,721,11/11/2019 3:45,male,1,1999,
-0.94975,1.06766667,0.86957143,0.8603,721,10/22/2019 17:54,male,1,1999,
-0.6775,0.84477778,0.70690909,0.7637,721,11/11/2019 3:42,male,1,1999,
-0.82928571,1.04085714,0.93475,1.00833333,721,10/22/2019 17:51,male,1,1999,
-1.906,1.8926,1.46433333,1.58433333,721,10/22/2019 17:55,male,1,1999,
-1.95466667,1.759,2.2272,1.796,724,10/20/2019 15:04,male,1,1950,
-0.73063636,0.61090909,0.75488889,0.68908333,726,10/19/2019 23:18,male,1,1989,
-0.892625,0.79714286,0.8794,1.05675,728,10/20/2019 0:11,male,1,1978,
-1.41733333,1.69814286,1.3356,1.90666667,729,10/20/2019 0:43,female,1,1968,
-0.8526,0.89663636,0.91475,0.84727273,730,10/20/2019 13:05,male,1,1985,
-0.7277,0.83025,0.91957143,0.71,730,10/20/2019 0:38,male,1,1985,
-1.33366667,1.763,1.684,1.748,732,10/20/2019 10:10,female,1,1977,
-2.44666667,1.338,2.988,2.72116667,734,10/21/2019 16:03,male,1,1973,
-1.3195,1.9995,1.4815,1.72233333,735,10/21/2019 16:28,male,1,1980,
-0.7535,0.6858,0.69763636,0.78058333,736,10/20/2019 11:41,female,1,1985,
-1.4752,1.3194,0.97863636,0.72371429,737,10/20/2019 11:09,male,1,1959,
-1.00857143,0.90922222,1.09414286,1.1758,739,10/20/2019 13:44,female,1,1989,
-1.32,1.613375,1.9325,1.327,740,10/20/2019 11:18,female,1,1960,
-1.4954,1.59933333,1.32466667,1.48175,741,10/20/2019 11:26,male,0,1972,
-1.175,1.23125,1.2485,1.032,742,10/20/2019 11:28,male,1,1979,
-1.6366,2.40125,1.485,1.4206,744,10/20/2019 11:40,female,1,1976,
-1.18814286,0.917,0.997,0.954,745,10/20/2019 11:38,male,1,1977,
-0.82423077,0.72046154,0.856,1.426,746,10/20/2019 11:55,female,1,1983,
-1.117125,0.9784,1.1575,0.834,747,10/20/2019 11:49,female,1,1989,
-0.7027,0.97288889,0.67141667,0.731,749,10/20/2019 15:46,female,1,2001,
-0.59275,0.94183333,0.60607143,0.5805,749,10/20/2019 16:06,female,1,2001,
-1.0042,1.29075,1.020625,1.2196,750,10/20/2019 12:22,female,1,1989,
-1.17722222,1.465,1.4088,1.413,751,10/20/2019 12:41,male,1,1956,
-0.96116667,1.2368,1.1422,0.96366667,752,10/20/2019 12:27,female,1,1987,
-1.16383333,1.3955,1.492,1.263,753,10/20/2019 12:25,male,1,1984,
-0.8202,0.768375,0.97757143,0.786,754,10/20/2019 12:29,male,1,1969,
-0.797375,0.87325,0.9743,0.6471,755,11/10/2019 23:56,female,0,2000,
-1.50366667,1.106,0.91814286,1.29133333,755,11/11/2019 1:46,female,0,2000,
-0.86355556,0.9355,1.111,1.17714286,755,11/4/2019 9:53,female,0,2000,
-0.66244444,0.77116667,0.7008,0.7658,755,11/11/2019 0:52,female,0,2000,
-0.65642857,0.9908,0.7262,0.5159375,755,11/5/2019 11:22,female,0,2000,
-0.9115,1.22,0.89914286,0.97025,755,11/11/2019 1:13,female,0,2000,
-1.0315,0.666,1.02,0.66185714,755,11/10/2019 23:44,female,0,2000,
-0.77611111,0.74763636,0.71666667,0.7335,755,11/11/2019 1:25,female,0,2000,
-0.75557143,0.66922222,1.13533333,0.86214286,756,10/20/2019 12:40,female,1,1987,
-2.053,1.3518,1.608,1.7944,757,10/20/2019 12:44,male,1,1957,
-2.229,2.438,2.412,1.81766667,758,10/20/2019 12:48,female,1,1975,
-1.17428571,1.151,1.19055556,1.0765,759,10/20/2019 13:00,female,1,1977,
-0.708,0.8862,0.903,0.61007143,760,10/20/2019 12:47,female,1,1990,
-2.33633333,1.79166667,1.42,1.343,761,10/20/2019 12:54,female,1,1974,
-1.41322222,0.67792308,0.696,0.7905,762,10/20/2019 12:50,female,1,1989,
-1.6164,1.2995,1.452,1.34071429,763,10/20/2019 12:59,female,1,1985,
-0.57891667,0.60146154,0.57407143,0.59675,765,10/20/2019 13:01,male,1,1984,
-0.5475,0.60925,0.54866667,0.701,766,10/20/2019 13:11,male,1,1976,
-1.3915,1.202,1.637,2.60775,767,10/20/2019 13:13,female,1,1985,
-1.25555556,1.2376,0.9175,1.1108,768,10/20/2019 13:21,male,1,1979,
-0.80171429,0.625,0.8789,0.63154545,769,10/20/2019 13:24,female,1,1983,
-1.55325,0.77485714,1.418,1.19766667,770,10/20/2019 13:24,female,1,2000,
-1.469875,1.1484,1.56,1.44975,771,10/20/2019 13:32,male,1,1937,
-0.9592,1.2126,1.0685,0.957,773,10/20/2019 18:53,female,1,1987,
-1.26988889,0.8708,1.48333333,1.37828571,774,10/20/2019 13:41,female,1,1986,
-2.524,2.742,2.038,2.137,776,10/20/2019 13:47,female,1,1957,
-3.55,3.9105,2.65,3.0445,777,10/20/2019 13:48,male,1,1956,
-0.736125,0.65954545,0.89772727,0.70155556,778,10/20/2019 13:59,female,1,1979,
-1.14783333,1.18457143,1.713,1.38425,779,10/20/2019 14:01,female,1,1988,
-0.8585,0.787,0.91663636,0.8284,780,10/20/2019 14:05,female,1,1969,
-0.9675,0.92575,1.00814286,0.94281818,781,10/20/2019 14:15,female,1,1948,
-0.9204,1.20475,1.2105,0.995375,782,10/20/2019 14:14,male,1,1988,
-1.50014286,1.54333333,1.4682,1.0925,783,10/20/2019 14:15,male,1,1961,
-0.66585714,1.20871429,0.78608333,0.74255556,785,10/20/2019 14:28,male,1,1976,
-0.66335714,0.87375,0.85984615,0.64877778,786,10/20/2019 14:36,female,1,1999,
-0.56646667,0.648,0.93818182,0.7025,787,10/20/2019 14:41,male,1,1988,
-0.90942857,0.90688889,1.0718,1.242625,788,10/20/2019 14:42,female,1,1980,
-0.87,0.829375,1.237,0.9775,789,10/20/2019 14:48,male,1,1986,
-1.2135,1.064,1.1915,1.3,790,10/20/2019 14:49,male,1,1973,
-1.02525,0.966125,0.8985,0.8452,791,10/20/2019 14:56,female,1,1980,
-0.64366667,0.57157143,0.72614286,0.7325,793,10/20/2019 15:02,male,1,1967,
-1.158,1.1995,1.35125,1.59528571,795,10/20/2019 15:10,male,1,1963,
-1.78475,1.09366667,1.8282,1.28,797,10/20/2019 15:22,male,1,1980,
-0.97327273,1.089,0.99,1.0855,798,10/20/2019 15:16,female,1,1954,
-1.06811111,1.1266,1.21,1.494,799,10/20/2019 15:20,male,1,1988,
-1.17333333,1.203,0.928,0.9146,801,10/20/2019 15:31,female,1,1984,
-0.6288,0.62842857,0.99377778,0.91166667,802,10/20/2019 15:26,male,1,1985,
-0.753,0.77144444,0.8242,0.99266667,803,10/20/2019 15:33,female,1,1989,
-0.5222,0.6496,0.61855556,0.65242857,804,11/5/2019 7:54,male,1,2000,4
-0.5825,0.50035,0.61909091,0.5324,804,11/9/2019 7:48,male,1,2000,4
-0.642,0.75,0.50766667,0.581125,804,11/6/2019 7:57,male,1,2000,4
-0.55688889,0.6139,0.63088889,0.55004348,804,11/10/2019 10:05,male,1,2000,4
-0.62141667,0.60690909,0.642375,0.60794118,804,10/20/2019 15:54,male,1,2000,4
-0.6747,0.66555556,0.56191667,0.55633333,804,11/7/2019 8:00,male,1,2000,4
-0.677,0.57783333,0.6432,0.776,804,12/16/2019 17:44,male,1,2000,4
-0.53706667,0.6355,0.91966667,0.50489474,804,11/4/2019 9:24,male,1,2000,4
-0.61430769,0.57435714,0.63883333,0.5615,804,11/8/2019 8:02,male,1,2000,4
-2.724,1.74025,1.60766667,3.01225,805,10/20/2019 15:41,male,0,1952,
-0.57155556,0.91233333,1.0829,0.94144444,806,10/20/2019 15:46,male,1,1972,
-1.893,1.64575,1.3545,2.01,807,10/20/2019 15:53,male,1,1960,
-2.18266667,2.70866667,2.557,3.29566667,809,10/20/2019 15:59,male,1,1949,
-1.4384,1.1408,1.2058,1.0527,811,10/20/2019 16:00,female,1,1979,
-1.01666667,1.030125,0.875,1.01566667,812,10/20/2019 16:01,female,1,1986,
-0.5532,0.6040625,0.56372727,0.59164286,814,10/20/2019 16:11,male,1,1984,
-1.36,1.6635,1.4034,1.43375,815,10/20/2019 16:15,female,1,1966,
-0.63276923,0.5862,1.14633333,0.7005,817,10/20/2019 16:26,male,1,1974,
-0.783,0.72809091,1.1386,0.7905,818,10/20/2019 16:43,male,1,1989,
-1.3732,1.30866667,1.41142857,1.56133333,819,10/20/2019 16:32,male,1,1954,
-0.829125,1.093,0.65946154,0.754,820,10/22/2019 20:29,female,1,1971,
-0.7918,1.039,1.011,0.65783333,820,10/22/2019 19:50,female,1,1971,
-1.032,0.916,1.454,1.097,820,10/22/2019 19:53,female,1,1971,
-1.2285,1.26185714,1.60366667,1.36183333,821,10/20/2019 16:37,male,1,1951,
-0.652,0.81225,0.57025,0.71114286,823,10/20/2019 16:37,male,1,1981,
-1.70875,1.6195,1.23571429,1.41,824,10/20/2019 16:43,female,1,1981,
-1.413,1.2945,1.65666667,1.12691667,825,10/20/2019 16:40,male,1,1952,
-1.319,1.356,1.839,1.651,826,10/20/2019 16:45,female,1,1977,
-1.39433333,1.294,1.25,1.2322,826,10/20/2019 16:47,female,1,1977,
-4.70866667,2.2635,2.9715,3.896,827,10/20/2019 16:47,male,1,1949,
-0.82166667,0.80635714,0.84442857,0.7823,828,10/20/2019 17:14,female,1,1982,
-0.688,0.89371429,1.12190909,2.22133333,828,10/22/2019 21:04,female,1,1982,
-0.76866667,0.75858333,0.79536364,0.6885,828,10/22/2019 21:19,female,1,1982,
-0.52711111,0.63191667,0.561625,0.589,829,10/20/2019 16:46,male,1,2002,
-0.7047,0.744,0.62188889,0.65825,830,10/20/2019 16:52,male,1,1973,
-1.88233333,2.3335,1.215,1.85771429,831,10/20/2019 16:56,male,1,1954,
-0.882,0.83858333,1.34,1.092875,832,10/20/2019 16:57,male,1,1976,
-0.882,0.83858333,1.34,1.092875,832,10/20/2019 16:57,male,1,1976,
-0.751,0.80372727,0.70376923,1.97833333,833,10/20/2019 16:57,male,1,1987,
-0.86833333,0.7841,0.70722222,0.75,835,10/20/2019 17:12,female,1,1984,
-0.76766667,0.72111111,0.795,0.78354545,836,10/20/2019 17:13,male,1,1988,
-1.18614286,1.48525,1.45,1.95475,837,10/20/2019 17:26,female,1,1967,
-0.750375,1.0852,0.8287,0.8806,840,10/20/2019 17:23,female,1,1988,
-1.28355556,1.671,1.0978,1.26075,841,10/20/2019 17:27,male,1,1974,
-2.8425,1.874,2.104,1.79785714,842,10/21/2019 18:49,male,1,1941,
-0.8305,1.1286,0.82242857,0.86233333,843,10/20/2019 17:44,male,1,1975,
-1.5445,1.185,1.731,1.67833333,843,10/20/2019 17:43,male,1,1975,
-1.514875,1.37983333,1.46033333,1.56066667,845,10/20/2019 17:48,female,1,1964,
-0.7924,0.8136,0.65445455,0.79425,846,10/20/2019 18:10,male,1,1983,
-1.68633333,1.40216667,1.4865,1.2098,848,10/20/2019 17:51,female,1,1980,
-4.71466667,1.04316667,1.1928,1.419,849,10/20/2019 17:56,male,1,1971,
-0.75588889,0.77166667,0.6625,0.64115385,850,10/20/2019 17:54,male,1,1986,
-1.0155,0.8014,0.9675,1.4906,851,10/20/2019 18:29,female,1,1988,
-0.9232,1.059625,0.89727273,0.93783333,852,10/20/2019 18:04,male,1,1959,
-1.93375,2.62233333,2.999,1.9355,853,10/20/2019 18:13,male,1,1957,
-0.80914286,0.9516,0.91071429,0.73690909,854,10/20/2019 18:13,female,1,1977,
-0.5645,0.53258333,0.49278947,0.6115,855,10/20/2019 18:36,male,1,1974,
-0.57153846,0.90933333,0.8671,0.72827273,857,10/20/2019 18:32,male,1,1988,
-0.72817647,0.70866667,0.85085714,0.96133333,857,10/20/2019 18:58,male,1,1988,
-0.7745,0.678,0.82133333,0.7855,857,10/20/2019 19:06,male,1,1988,
-1.08316667,1.129,1.282,1.276625,857,10/20/2019 18:31,male,1,1988,
-1.4795,1.805,1.69,1.73833333,858,10/20/2019 18:30,male,1,1948,
-2.5615,2.262,2.721,2.34,859,10/20/2019 18:32,male,1,1955,
-1.61033333,1.832,1.8244,1.627,860,10/20/2019 18:34,male,1,1965,
-0.50988235,0.566,0.68333333,0.60866667,861,10/20/2019 18:57,male,1,2000,
-0.985625,0.9398,1.157125,1.567,863,10/20/2019 21:29,female,1,1976,
-2.776,2.424,2.5376,2.376,864,10/20/2019 18:52,female,1,1976,
-1.2385,1.6175,1.81825,1.20075,865,10/20/2019 18:51,female,0,1973,
-0.81933333,1.22566667,1.0215,2.175,868,10/20/2019 18:54,female,0,1996,
-1.0216,1.40222222,1.116,0.853,870,10/20/2019 19:01,female,1,1980,
-1.70283333,1.34757143,1.35766667,1.48225,871,10/20/2019 19:07,female,1,1981,
-1.323,1.589,1.17777778,0.94766667,871,10/20/2019 20:14,female,1,1981,
-1.791,1.7656,1.26171429,1.13033333,872,10/20/2019 19:12,female,1,1967,
-1.20866667,1.32585714,2.29975,1.4764,873,10/20/2019 19:14,male,1,1966,
-0.964,1.01128571,0.90275,1.1057,874,10/20/2019 19:14,female,1,1978,
-1.9675,1.8092,1.65725,1.53,876,10/20/2019 19:18,male,1,1964,
-2.9272,1.08733333,1.5312,2.235,878,10/20/2019 19:32,female,1,1976,
-1.00577778,1.35375,2.58066667,1.2116,880,10/20/2019 19:32,male,1,1980,
-2.137,1.63533333,1.1948,0.91266667,881,10/20/2019 19:37,female,1,1966,
-1.076,1.18733333,1.57333333,1.549,882,10/20/2019 19:40,male,1,1939,
-0.81371429,0.7637,0.79433333,0.74944444,883,10/29/2019 18:21,male,1,1967,
-1.21433333,1.348,1.309,1.528,884,10/29/2019 18:33,female,1,1950,
-2.53633333,2.02428571,2.884,1.256,885,10/20/2019 19:55,female,1,1967,
-1.475,1.0574,1.51,1.75366667,887,10/20/2019 20:01,female,1,1977,
-0.77488889,0.59083333,1.32125,0.826,888,10/20/2019 20:05,female,1,1989,
-0.81569231,0.95228571,1.126,0.9735,889,10/20/2019 20:10,female,1,1978,
-1.02783333,1.1945,1.0504,0.68171429,890,10/20/2019 20:24,female,1,1976,
-1.484,1.2728,1.01016667,1.27133333,893,10/20/2019 20:43,male,1,1985,
-0.797,1.06842857,1.02422222,0.89433333,893,10/20/2019 20:44,male,1,1985,
-1.09775,0.870375,0.82672727,1.0148,894,10/20/2019 21:08,male,1,1997,
-0.63885714,0.92333333,0.61671429,0.76345455,895,10/20/2019 21:00,male,1,1988,
-1.1815,2.2795,1.0364,1.2658,896,10/20/2019 20:51,male,1,1992,
-1.01291667,1.7285,1.237,1.46625,897,10/20/2019 21:08,female,1,1980,
-1.69975,1.40633333,1.42466667,1.0924,899,10/20/2019 21:27,male,1,1967,
-1.3205,1.49766667,1.8816,3.601,900,10/20/2019 21:29,male,1,1977,
-0.69533333,0.84871429,0.7718,0.8515,902,10/20/2019 21:33,female,1,1980,
-0.80325,0.7013,0.721125,0.78415385,902,10/20/2019 21:34,female,1,1980,
-0.68855556,0.52386957,0.648,0.76075,903,10/20/2019 21:29,male,1,1974,
-2.59533333,2.10166667,1.66066667,2.032,905,10/20/2019 21:36,male,1,1954,
-1.264,1.401,1.7095,1.451125,905,10/20/2019 21:37,male,1,1954,
-1.12483333,0.959625,1.216625,1.15425,906,10/21/2019 19:19,male,1,1963,
-1.13428571,1.4285,1.41833333,1.12844444,907,10/20/2019 21:43,male,1,1969,
-1.15085714,1.03366667,0.88727273,0.89711111,908,10/20/2019 21:49,male,1,1985,
-0.77755556,0.622625,0.80792308,0.937125,909,10/20/2019 21:54,male,1,1985,
-2.4315,2.70633333,1.5595,1.91525,910,10/20/2019 22:04,female,1,1946,
-0.746875,0.659125,0.803,1.29788889,911,10/20/2019 22:09,male,1,1980,
-1.141,1.13066667,1.25166667,1.42185714,912,10/20/2019 22:06,female,1,1970,
-1.629,1.4638,1.23714286,1.768,913,10/20/2019 22:11,male,1,1980,
-0.82623077,0.8725,0.936,1.05,914,10/20/2019 22:23,male,1,1964,
-1.0935,1.51333333,1.149,1.25,914,10/20/2019 22:19,male,1,1964,
-0.928375,0.94185714,1.0745,0.876,914,10/20/2019 22:22,male,1,1964,
-1.13157143,0.923,1.31825,0.969,915,10/20/2019 22:15,female,1,1985,
-0.7205,0.973,0.891,0.90883333,916,10/20/2019 22:18,male,1,1974,
-0.887,0.671,0.652,0.80166667,917,10/21/2019 23:34,male,1,1982,
-0.5164,0.55816667,0.8279,0.7097,918,10/20/2019 22:25,male,1,1984,
-0.987625,0.99783333,0.84630769,0.9138,920,10/20/2019 22:30,male,1,1971,
-0.8818,1.2898,0.9075,0.96181818,921,10/20/2019 22:45,male,1,1968,
-1.45966667,1.36866667,1.39825,1.377625,922,10/20/2019 23:07,male,1,1965,
-1.07866667,1.32666667,1.17142857,1.317875,923,10/20/2019 23:07,male,1,1957,
-1.85,2.014,1.58366667,1.8125,924,10/20/2019 23:15,female,1,1957,
-3.0915,2.9985,1.949,1.949,924,10/20/2019 23:12,female,1,1957,
-1.44166667,1.5385,1.6235,1.76571429,924,10/20/2019 23:16,female,1,1957,
-2.107,2.562,3.842,2.398,924,10/20/2019 23:13,female,1,1957,
-2.9635,2.3375,2.914,2.5445,924,10/20/2019 23:17,female,1,1957,
-1.4712,1.30225,1.27525,1.74433333,924,10/20/2019 23:14,female,1,1957,
-1.9975,2.1015,1.60871429,2.911,924,10/20/2019 23:18,female,1,1957,
-1.3295,1.31411111,1.57475,1.2376,925,10/20/2019 23:23,female,1,1950,
-2.26366667,2.159,1.3365,1.107,926,10/20/2019 23:38,female,1,1980,
-1.22625,0.91766667,0.93016667,0.748,927,10/20/2019 23:46,female,1,1999,
-0.84077778,0.827,0.82044444,0.936,928,10/20/2019 23:50,male,1,1985,
-0.71828571,0.838375,0.5715,0.6651875,929,10/20/2019 23:54,male,1,1983,
-0.59811111,0.71744444,0.6195,0.89857143,930,10/21/2019 0:20,male,0,1986,
-0.682,1.009875,0.8184,0.31328571,931,10/21/2019 1:21,male,1,1985,
-0.87416667,0.6279,0.78545455,0.91742857,932,10/21/2019 1:37,male,1,1980,
-1.333,1.3388,1.5335,0.99283333,933,10/21/2019 18:28,male,1,1987,
-0.26227273,1.14616667,0.9421,0.6017,934,10/21/2019 1:50,female,1,1973,
-1.499,1.46657143,1.93425,1.466,935,10/21/2019 6:22,female,1,1979,
-0.95366667,1.00366667,0.812,0.978,936,10/21/2019 9:22,male,1,1984,
-0.684875,0.676875,0.6718125,0.61561538,937,11/10/2019 10:50,male,1,2000,
-0.73133333,0.84633333,0.6462,0.7284,937,11/7/2019 8:01,male,1,2000,
-0.76166667,0.75977778,0.71218182,0.69608333,937,11/10/2019 10:04,male,1,2000,
-0.6522,0.77666667,0.6208,0.8924,937,11/8/2019 10:05,male,1,2000,
-0.6225,0.76066667,0.611,0.7534,937,11/10/2019 10:42,male,1,2000,
-0.56322222,0.8995,0.73566667,0.8134,937,11/10/2019 7:29,male,1,2000,
-0.57325,0.68957143,0.59230769,0.6215,937,11/10/2019 10:44,male,1,2000,
-0.58714286,0.67188235,0.766125,0.8054,937,11/10/2019 9:11,male,1,2000,
-0.65427273,0.58316667,0.56376923,0.595125,937,11/10/2019 10:48,male,1,2000,
-0.992875,1.4604,1.1374,0.94866667,938,11/10/2019 19:47,male,1,2000,
-1.82025,1.2915,1.5605,1.691875,938,11/10/2019 19:36,male,1,2000,
-0.75725,0.8572,0.9848,0.86355556,938,11/10/2019 19:49,male,1,2000,
-1.3265,1.069375,1.38557143,1.11466667,938,11/10/2019 19:39,male,1,2000,
-0.82,0.67166667,0.7775,0.69415385,938,11/10/2019 19:51,male,1,2000,
-0.92772727,0.9072,1.01175,1.0884,938,11/10/2019 19:45,male,1,2000,
-0.70283333,0.60316667,0.6664,0.7597,938,11/10/2019 19:53,male,1,2000,
-0.61083333,0.95842857,0.6671,0.75581818,939,10/23/2019 0:21,male,1,2000,
-0.751,0.976,0.744,0.634,940,11/3/2019 12:37,male,1,2000,
-0.975,0.963,1.063,1.0272,940,11/3/2019 13:14,male,1,2000,
-1.22783333,1.5095,1.214,1.2622,943,10/23/2019 21:31,female,1,2000,
-0.87525,0.94133333,0.9629,0.924125,947,10/21/2019 10:41,male,1,1964,
-3.198,1.514,1.03933333,1.0485,952,10/21/2019 10:52,female,1,1971,
-1.78933333,0.6152,0.922,0.95475,952,10/21/2019 10:53,female,1,1971,
-1.42116667,1.298,1.17346154,1.43433333,956,10/21/2019 11:23,male,1,1963,
-2.21575,1.425,4.991,2.08033333,957,10/21/2019 11:43,male,1,1949,
-3.38575,1.4485,1.716,2.992,958,10/21/2019 12:26,female,0,1980,
-1.6922,1.29716667,1.264,2.05816667,959,10/21/2019 13:31,male,1,1977,
-0.3972,0.45644444,0.47573333,0.50576923,966,11/10/2019 22:26,male,1,1999,
-0.3985,0.41475,0.517,0.4272,966,11/10/2019 22:33,male,1,1999,
-0.45633333,0.49865,0.504,0.43511111,966,11/10/2019 22:27,male,1,1999,
-0.428125,0.46333333,0.40166667,0.43306667,966,11/10/2019 22:35,male,1,1999,
-0.42708333,0.51775,0.41935714,0.4621,966,11/10/2019 22:30,male,1,1999,
-0.47714286,0.56153333,0.49653333,0.54138462,966,11/10/2019 22:24,male,1,1999,
-0.42986667,0.49617647,0.4492,0.418,966,11/10/2019 22:31,male,1,1999,
-0.88872727,0.574375,0.897625,0.91466667,969,10/21/2019 14:09,male,1,1975,
-2.4282,1.859,1.958,1.9632,970,10/21/2019 14:14,male,1,1948,
-0.61392857,0.756,0.62107692,0.783375,971,10/21/2019 14:19,male,1,1988,
-1.3666,1.25177778,1.52925,1.1516,972,10/21/2019 14:49,male,1,1969,
-0.698625,1.0846,0.9025,1.02422222,973,10/21/2019 14:36,male,1,1986,
-1.89333333,1.64266667,2.294,2.17625,974,10/21/2019 14:49,male,1,1977,
-1.23642857,1.821,1.46525,2.0018,975,10/21/2019 15:02,male,1,1963,
-1.51471429,1.06016667,1.7525,0.81009091,976,10/21/2019 15:26,male,1,1988,
-1.35725,1.59166667,1.758,1.51333333,977,10/21/2019 15:20,female,1,1957,
-1.155375,2.2215,1.622,1.4474,978,10/21/2019 15:24,female,1,1984,
-2.03,2.128,2.2375,1.13675,979,10/21/2019 15:26,male,1,1969,
-0.94022222,1.374,1.02475,1.12225,980,10/21/2019 15:26,female,1,1973,
-0.94771429,0.961,0.93288889,0.85866667,981,10/21/2019 15:33,male,1,1986,
-0.7944,0.95011111,0.74671429,0.65791667,982,10/21/2019 15:41,male,1,1965,
-0.7582,0.94318182,0.9603,0.768625,983,10/21/2019 15:54,female,1,1954,
-1.9924,1.67185714,1.226,1.903,984,10/21/2019 15:56,male,1,1981,
-0.9288,1.08266667,0.8665,0.72491667,986,10/21/2019 16:02,male,1,1988,
-0.827,1.5988,1.358,1.596,987,10/21/2019 16:05,male,1,1960,
-0.56691667,0.75275,0.62269231,0.7125,988,10/21/2019 16:07,male,1,1994,
-0.72128571,0.79888889,0.6705,0.47241176,989,10/21/2019 16:14,male,1,1986,
-1.05633333,1.997,1.70985714,1.5265,990,10/21/2019 16:15,male,1,1965,
-2.896,2.3546,2.931,2.61466667,991,10/21/2019 16:18,male,1,1950,
-1.89183333,1.825,2.273,1.9565,992,10/21/2019 16:29,female,1,1968,
-1.8075,1.604,1.56066667,1.66766667,993,10/21/2019 17:32,female,0,1980,
-1.2816,1.496,1.3802,1.0638,993,10/22/2019 16:53,female,0,1980,
-0.86366667,1.534,1.82733333,1.02866667,994,10/21/2019 16:49,female,0,1978,
-1.22166667,0.52354545,0.95228571,0.812125,996,10/21/2019 16:22,male,1,1983,
-0.49954545,0.55307692,0.583,0.49047059,997,10/21/2019 16:34,male,1,1997,
-0.74478571,0.709,0.7887,0.9955,998,10/21/2019 16:30,female,1,1984,
-0.65628571,2.262,0.997,0.983,999,10/21/2019 16:36,male,1,2000,
-0.73933333,1.231,0.81675,1.1218,1002,10/21/2019 16:55,male,1,2000,
-0.7736,1.006125,0.8783,0.9566,1003,10/21/2019 16:44,male,1,1975,
-2.5935,3.074,4.381,2.14166667,1004,10/21/2019 16:46,female,1,1966,
-1.54275,1.5602,1.53975,1.49816667,1005,10/21/2019 16:52,male,1,1954,
-0.69233333,0.51117647,0.62716667,0.66425,1006,10/21/2019 16:52,male,0,1988,
-0.59326667,0.45321429,0.848,0.549,1009,10/21/2019 16:56,female,1,1995,
-1.02,0.935,1.3455,0.999,1011,10/21/2019 17:53,female,1,1971,
-1.3502,1.62916667,1.0036,1.01914286,1013,10/21/2019 17:12,female,1,1980,
-1.4866,1.13,0.9365,0.9926,1013,10/21/2019 17:13,female,1,1980,
-1.148,2.193,4.398,1.33566667,1014,10/21/2019 17:19,male,1,1980,
-0.77175,0.6243,0.69722222,0.79938462,1016,10/21/2019 17:33,male,1,1983,
-0.80723077,0.669,0.86857143,0.82225,1017,10/21/2019 17:16,male,1,1973,
-1.546,1.33614286,0.996,1.4495,1018,10/21/2019 17:21,female,1,1980,
-1.20133333,0.98644444,1.07977778,1.21983333,1019,10/21/2019 17:25,male,1,1974,
-0.62491667,0.615,0.70977778,0.957875,1020,10/21/2019 17:47,male,1,1981,
-5.353,3.456,2.9255,6.874,1021,10/21/2019 17:36,female,1,1960,
-1.024,1.163625,2.29633333,1.453,1022,10/21/2019 17:34,male,1,1985,
-1.26366667,1.33655556,0.95633333,1.28783333,1023,10/21/2019 17:36,female,1,1985,
-0.6534,0.88769231,0.5755,0.71154545,1025,10/21/2019 17:39,male,1,1988,
-1.40475,1.39166667,1.64,1.448,1028,10/21/2019 17:51,male,1,1961,
-0.86833333,0.97375,1.382,0.94525,1029,10/22/2019 16:24,female,1,1983,
-1.0373,1.0715,1.28933333,1.25522222,1030,10/22/2019 17:16,male,1,1972,
-1.26957143,1.44766667,1.9338,1.205,1031,10/22/2019 17:38,male,1,1966,
-1.217,1.48466667,1.29,0.8535,1031,10/22/2019 17:37,male,1,1966,
-3.03975,4.652,5.486,5.919,1032,10/21/2019 17:57,male,1,1968,
-1.76633333,1.7845,1.61966667,1.84016667,1033,10/22/2019 18:21,male,1,1953,
-3.20633333,1.522,1.6775,1.586,1035,10/21/2019 18:01,male,1,1956,
-3.56433333,1.10016667,1.6302,1.06733333,1036,10/21/2019 17:59,female,1,1974,
-1.18355556,1.50633333,1.2098,1.54366667,1038,10/21/2019 18:06,female,1,2005,
-3.092,3,2.9028,2.68,1039,10/21/2019 18:11,male,1,1959,
-1.876,2.09266667,1.8132,1.30033333,1040,10/21/2019 18:08,male,1,1982,
-4.205,0.979,1.3732,1.37633333,1041,10/21/2019 18:12,male,1,1994,
-2.043,2.05325,1.58757143,1.515,1042,10/21/2019 18:16,female,1,1971,
-2.3745,1.447,1.8452,1.45066667,1043,10/21/2019 18:25,male,1,1968,
-1.3734,2.05066667,1.24057143,0.993,1044,10/21/2019 18:38,female,1,1971,
-0.76308333,0.791,0.62453846,0.99566667,1045,10/21/2019 18:28,male,1,1985,
-1.263,1.128,1.31075,0.74571429,1046,10/21/2019 18:29,female,1,1980,
-0.856,0.467,0.685,1.257,1047,10/21/2019 18:29,male,1,1990,
-0.55383333,0.69416667,0.78671429,0.66614286,1048,10/21/2019 18:26,male,1,1953,
-0.913,0.969,0.99371429,1.177875,1051,10/21/2019 18:32,male,0,1986,
-0.509,0.67514286,0.61991667,0.64214286,1052,10/21/2019 18:32,female,1,1985,
-1.07171429,1.0775,1.21383333,1.0738,1053,10/21/2019 19:30,male,1,1981,
-1.1592,1.13066667,1.01185714,1.167125,1054,10/21/2019 18:36,male,0,1988,
-1.375,1.29,1.23685714,1.36933333,1055,10/21/2019 18:38,female,1,1967,
-1.38542857,1.5496,1.403,1.2186,1056,10/21/2019 18:40,female,1,1958,
-0.7714,0.86033333,1.3095,1.03933333,1057,10/21/2019 18:48,male,1,1984,
-0.89883333,0.889625,1.10666667,1.0637,1057,10/22/2019 20:31,male,1,1984,
-1.789,2.47833333,1.743,2.194,1058,10/21/2019 18:51,male,1,1954,
-1.07333333,1.11425,1.104,1.85314286,1059,10/21/2019 18:52,male,1,1967,
-0.67433333,0.68988889,1.04944444,0.746,1060,10/21/2019 18:56,female,1,1985,
-0.69930769,0.74277778,0.7266,0.56908333,1061,10/21/2019 18:55,male,1,1983,
-4.465,1.3074,3.6855,2.60325,1062,10/21/2019 18:56,female,1,1977,
-0.77711111,0.80188889,0.85777778,1.15166667,1063,10/21/2019 19:09,female,1,1979,
-0.7024,0.5988,0.94257143,0.73971429,1063,10/21/2019 19:19,female,1,1979,
-1.049,0.855,0.92281818,0.7345,1064,10/21/2019 19:21,male,1,1981,
-1.232,0.79655556,0.928375,0.8655,1064,10/21/2019 21:05,male,1,1981,
-0.92325,1.15416667,1.0395,1.0215,1064,10/21/2019 19:18,male,1,1981,
-0.53926667,0.6593,0.7507,0.64575,1066,11/5/2019 11:03,female,1,1971,3
-0.65864286,0.58208333,0.6769,0.6896,1066,11/9/2019 11:38,female,1,1971,3
-0.7042,0.63121429,0.766,0.641,1066,11/6/2019 12:02,female,1,1971,3
-0.77285714,0.675,0.73446154,0.6671,1066,11/10/2019 10:31,female,1,1971,3
-1.2166,1.36575,1.39314286,1.343,1066,10/21/2019 19:08,female,1,1971,3
-0.635625,0.55355556,0.623,0.73411111,1066,11/7/2019 15:32,female,1,1971,3
-0.75933333,0.60316667,0.608,0.703125,1066,11/4/2019 14:39,female,1,1971,3
-0.57585714,0.50783333,0.67316667,0.69209091,1066,11/8/2019 13:40,female,1,1971,3
-0.83425,0.64875,0.971625,0.60592857,1067,10/21/2019 19:13,male,1,1983,
-0.69653333,0.9935,0.95428571,0.69816667,1068,10/22/2019 20:29,female,0,1981,
-0.65825,0.8447,1.07957143,0.85925,1068,10/21/2019 19:14,female,0,1981,
-0.6081,0.756,0.7722,0.60711111,1070,10/21/2019 19:33,male,1,1985,
-0.88741667,0.9968,1.131,0.84971429,1071,10/21/2019 23:04,female,1,2000,
-1.7365,1.382,1.74,1.38633333,1071,10/21/2019 19:26,female,1,2000,
-2.95833333,1.072625,1.133,2.81,1072,10/21/2019 19:28,female,1,1977,
-0.6535,0.82909091,0.828625,0.861625,1072,10/21/2019 19:29,female,1,1977,
-1.4465,1.3,1.22133333,2.989,1075,10/21/2019 19:27,female,1,1967,
-2.066,2.171,2.728,1.83028571,1076,10/21/2019 19:23,male,1,1968,
-0.581375,0.60107692,0.65775,0.72869231,1078,10/21/2019 19:31,male,1,1985,
-1.3835,1.874,1.996,1.64014286,1080,10/21/2019 19:30,female,1,1958,
-1.789,1.51814286,1.43266667,1.84316667,1081,10/22/2019 20:28,male,1,1974,
-0.83183333,0.91314286,1.30416667,0.98575,1081,10/21/2019 19:33,male,1,1974,
-1.65833333,1.18266667,1.453,1.42375,1083,10/21/2019 19:49,female,1,1981,
-1.321,1.425,1.25328571,1.446,1084,10/21/2019 20:15,female,1,1985,
-0.69842857,0.739,0.70257143,0.90342857,1086,10/21/2019 19:34,male,1,1988,
-1.94033333,1.58633333,1.9212,1.57966667,1087,10/21/2019 20:12,male,1,1975,
-0.77783333,0.68758824,0.6962,0.782,1089,10/21/2019 19:38,female,1,1989,
-0.404,1.13271429,1.0205,1.05816667,1090,10/21/2019 19:50,male,1,1967,
-2,2.01857143,1.944,2.15433333,1091,10/21/2019 20:51,male,1,1953,
-0.70190909,0.65154545,0.83444444,0.813375,1093,10/21/2019 19:44,male,1,1984,
-2.835,2.126,1.837,1.589,1094,10/21/2019 20:37,male,1,1967,
-2.353,3.0085,1.91375,3.136,1096,10/21/2019 19:48,female,1,1971,
-0.70423077,0.87325,0.61444444,0.93616667,1098,10/21/2019 19:49,male,1,1986,
-2.1582,2.26466667,1.4085,1.377,1100,10/21/2019 19:57,female,1,1981,
-0.98044444,1.176,1.0935,1.0741,1101,10/21/2019 19:50,male,1,1956,
-0.756125,0.73861538,0.8045,0.87244444,1102,10/21/2019 19:55,male,1,1986,
-1.79433333,1.645125,0.907,1.22975,1103,10/21/2019 19:59,female,1,1972,
-1.49,1.70333333,1.316,1.578,1104,10/21/2019 19:55,female,1,1950,
-1.402,1.96466667,1.40433333,2.048,1105,10/21/2019 20:36,female,1,1963,
-3.77025,3.512,2.954,2.122,1105,10/22/2019 20:26,female,1,1963,
-0.73325,0.95,1.0015,0.7045,1106,10/21/2019 19:57,male,1,1988,
-0.6546,0.76114286,0.82408333,0.914875,1108,10/21/2019 19:58,male,1,2000,4
-0.61866667,0.66881818,0.6885,0.66526667,1108,11/10/2019 22:02,male,1,2000,4
-0.60475,0.84733333,0.633,0.64392308,1108,11/5/2019 22:21,male,1,2000,4
-0.68841667,0.64,0.631,0.6376875,1108,11/10/2019 22:03,male,1,2000,4
-0.657375,0.847375,0.764,0.7691,1108,11/10/2019 22:00,male,1,2000,4
-0.6955,0.558,0.74375,0.6905,1108,11/10/2019 22:04,male,1,2000,4
-0.5938,0.6666,0.6235,0.6995,1108,11/10/2019 22:01,male,1,2000,4
-0.87527273,0.93828571,0.72972727,0.67475,1109,10/21/2019 20:02,male,1,1987,
-0.71416667,0.73025,0.73216667,0.6822,1109,10/21/2019 21:14,male,1,1987,
-0.84525,0.95109091,0.98122222,0.9125,1109,10/21/2019 20:03,male,1,1987,
-0.573,0.78,0.54833333,0.76333333,1109,10/21/2019 21:15,male,1,1987,
-0.8004,0.84592308,1.20028571,0.87071429,1109,10/21/2019 20:04,male,1,1987,
-0.63125,0.72441667,0.93888889,0.717,1109,10/21/2019 20:01,male,1,1987,
-0.71555556,0.98922222,0.98583333,0.7829,1109,10/21/2019 21:13,male,1,1987,
-1.2701,1.2475,1.263,1.281,1110,10/21/2019 20:02,male,1,1974,
-1.7515,1.52933333,2.23366667,1.992,1111,10/21/2019 20:10,female,1,1955,
-1.48622222,1.604,1.86133333,1.8285,1112,10/21/2019 20:07,male,1,1958,
-0.71755556,0.84066667,1.324,1.02044444,1113,10/21/2019 20:12,female,1,1985,
-0.64233333,0.75490909,1.01533333,1.20928571,1114,10/21/2019 20:11,male,0,1975,
-2.301,4.527,1.8255,2.79366667,1115,10/21/2019 20:12,female,0,1960,
-1.5175,1.669,1.468,2.00175,1116,10/21/2019 20:12,male,1,1969,
-2.31,2.5895,2.0515,2.03671429,1118,10/21/2019 20:16,male,1,1955,
-1.22314286,1.46533333,1.3586,1.086,1119,10/21/2019 20:15,male,1,1965,
-1.19225,0.99,2.22583333,0.9768,1121,10/21/2019 20:17,male,1,1980,
-0.6533,0.56194118,0.61116667,0.78975,1123,10/21/2019 20:19,male,1,1986,
-0.904,1.189,1.07122222,1.215875,1124,10/21/2019 20:19,male,1,1968,
-1.24071429,1.52257143,1.28233333,1.2678,1125,10/21/2019 20:20,female,1,1959,
-0.76925,0.97616667,1.07088889,1.16857143,1126,10/21/2019 20:22,female,1,1981,
-0.74433333,1.014625,1.04316667,0.95788889,1127,10/21/2019 20:23,male,1,1971,
-0.66254545,0.61691667,0.73833333,0.72845455,1128,10/21/2019 20:27,male,0,1982,
-1.0674,1.05222222,0.98988889,1.0966,1129,10/21/2019 20:30,female,1,1975,
-0.95828571,1.21971429,1.487,1.1408,1129,10/21/2019 20:31,female,1,1975,
-0.73966667,0.87925,1.07816667,0.70044444,1129,10/21/2019 20:28,female,1,1975,
-1.4625,1.716,1.92283333,1.43442857,1129,10/21/2019 20:32,female,1,1975,
-0.8465,1.2974,1.0191,0.82428571,1129,10/21/2019 20:29,female,1,1975,
-1.2426,1.3465,1.16871429,1.2662,1129,10/21/2019 21:19,female,1,1975,
-1.43933333,2.006,1.70157143,1.15433333,1130,10/21/2019 20:31,female,1,1956,
-0.545,0.48408333,0.52228571,0.88654545,1131,10/21/2019 20:36,male,1,1983,
-8.0165,2.551,1.91033333,2.2515,1132,10/21/2019 20:37,female,1,1955,
-2.735,1.918,2.1764,2.3565,1133,10/21/2019 20:35,female,1,1952,
-1.845,1.6825,1.545,3.287,1134,10/21/2019 20:38,female,1,1971,
-0.98866667,0.90666667,1.43125,0.78742857,1135,10/21/2019 20:38,female,1,1983,
-1.21533333,1.1615,1.24383333,3.1215,1136,10/21/2019 20:40,male,1,1969,
-1.3046,1.325,1.41342857,1.26925,1137,10/21/2019 22:33,male,1,1966,
-1.205875,1.161,1.32366667,1.27225,1138,10/21/2019 21:11,male,1,1979,
-1.22025,0.91785714,1.07788889,1.18228571,1139,10/21/2019 20:47,female,1,1986,
-0.56,0.7366,1.0615,0.6085,1140,10/21/2019 20:49,male,1,1983,
-1.7635,1.594,1.64975,3.504,1141,10/21/2019 20:50,female,1,1947,
-1.6578,1.453,1.32828571,1.03133333,1142,10/21/2019 20:52,female,1,1974,
-1.13985714,1.04183333,1.32066667,1.01685714,1143,10/21/2019 20:59,male,1,1963,
-2.36633333,1.641,1.93766667,1.92,1145,10/21/2019 20:59,male,1,1976,
-2.45733333,2.47833333,3.1805,2.88566667,1146,10/21/2019 21:04,male,1,1966,
-1.9454,1.81425,1.5235,1.5605,1147,10/21/2019 21:05,male,1,1967,
-1.0785,0.96866667,3.235,1.07,1148,10/21/2019 21:08,female,1,1964,
-1.3006,1.58255556,1.522,1.4148,1149,10/21/2019 21:04,male,1,1958,
-1.12475,0.96571429,0.99033333,0.91925,1150,10/21/2019 21:06,female,1,1975,
-1.51633333,1.26925,1.6125,1.1536,1151,10/21/2019 21:05,male,1,1969,
-1.2915,0.869,0.99963636,0.6945,1152,10/21/2019 21:14,male,0,1986,
-0.63390909,1.117,0.90411111,0.95383333,1153,10/21/2019 21:14,female,1,1966,
-1.3465,1.55975,0.97030769,1.37375,1153,10/21/2019 21:15,female,1,1966,
-1.8915,2.002,2.03125,2.3038,1154,10/21/2019 21:17,male,1,1988,
-3.13766667,2.68733333,1.567,1.9925,1155,10/21/2019 21:17,female,1,1947,
-3.5105,3.3955,4.091,3.7465,1157,10/21/2019 21:20,female,0,1949,
-0.75825,0.91933333,0.7265,1.44566667,1158,10/21/2019 21:20,female,1,1983,
-1.3146,1.219625,1.22675,1.004,1159,10/21/2019 21:21,male,1,1966,
-1.675,1.414875,1.4795,1.44966667,1161,10/21/2019 21:27,male,1,1963,
-1.4245,2.105,2.0294,2.5046,1162,10/21/2019 21:28,female,1,1982,
-1.102625,1.10633333,1.153,1.189,1163,10/21/2019 21:28,male,1,1955,
-1.50125,1.087,1.361,1.02522222,1165,10/21/2019 21:32,male,1,1966,
-2.35766667,2.1774,2.109,2.077,1166,10/21/2019 21:42,female,0,1966,
-1.53825,2.16666667,1.5986,1.7928,1166,10/21/2019 21:45,female,0,1966,
-2.19766667,2.6105,2.45466667,2.099,1166,10/21/2019 21:40,female,0,1966,
-1.2452,1.82814286,0.975,1.114,1167,10/21/2019 21:34,male,1,1958,
-0.9862,1.592,1.16171429,0.95985714,1168,10/21/2019 21:35,female,1,1984,
-1.7672,1.576,1.8095,1.4795,1169,10/21/2019 21:44,female,1,1975,
-1.43225,1.32583333,1.41785714,0.98566667,1170,10/21/2019 21:45,female,0,1977,
-0.63614286,0.69435714,0.86163636,0.81471429,1171,10/21/2019 21:42,male,1,1989,
-0.59854545,0.780125,0.8382,0.8152,1172,10/21/2019 21:45,male,1,1992,
-1.01314286,1.14516667,1.18483333,1.14257143,1173,10/21/2019 21:53,male,1,1988,
-1.1035,1.623,1.02742857,1.10583333,1174,10/21/2019 22:03,male,1,1972,
-1.235,1.37816667,1.6755,1.064375,1175,10/21/2019 21:59,female,1,1981,
-0.881,0.932,0.7607,0.93466667,1176,10/21/2019 22:01,male,1,1956,
-1.80814286,2.12066667,1.356,0.890125,1177,10/21/2019 22:07,male,1,1964,
-1.946,1.7495,1.523,1.8824,1178,10/21/2019 22:07,female,1,1986,
-1.7462,1.374625,2.212,1.2774,1180,10/21/2019 23:00,male,1,1966,
-1.82083333,2.0665,1.8515,1.91866667,1181,10/21/2019 22:24,female,1,1944,
-1.0055,0.86225,1.17933333,0.97323077,1182,10/21/2019 22:33,female,1,1983,
-0.67141667,0.55276923,0.823875,0.57921429,1183,10/21/2019 22:33,male,1,1977,
-0.903625,0.89614286,0.71677778,0.80116667,1184,10/21/2019 22:46,female,1,1925,
-2.4456,2.038,1.4895,2.58575,1185,10/21/2019 22:36,male,1,1968,
-1.12725,1.58525,1.2714,1.13042857,1186,10/21/2019 22:58,female,1,1964,
-0.58233333,0.58375,0.51013333,0.64353333,1187,10/21/2019 22:52,male,1,1981,
-0.87266667,0.951125,1.0424,1.087125,1188,10/21/2019 22:54,male,1,1988,
-1.09933333,1.05025,1.17285714,1.22533333,1189,10/21/2019 23:25,male,1,1959,
-0.9835,0.92566667,0.9745,1.0404,1190,10/21/2019 23:22,female,0,2000,
-0.8013,0.839625,0.735,0.91242857,1192,10/21/2019 23:39,female,1,1988,
-1.7635,1.64433333,1.4985,1.841,1195,10/22/2019 1:12,male,1,1958,
-1.76766667,1.28775,0.8745,1.06990909,1196,10/22/2019 19:52,male,1,1959,
-1.4875,1.7102,1.7286,1.50116667,1196,10/22/2019 19:25,male,1,1959,
-1.39366667,1.4135,1.591625,2.00066667,1197,10/22/2019 7:23,male,1,1964,
-0.86128571,1.09966667,0.84145455,1.31983333,1198,10/22/2019 10:11,male,1,1988,
-0.62281818,0.767,0.66266667,0.72363636,1199,10/22/2019 10:42,male,0,1988,
-0.6807,0.72153333,0.708,0.8027,1200,10/22/2019 11:02,female,1,1979,
-0.6807,0.72153333,0.708,0.8027,1200,10/22/2019 11:02,female,1,1979,
-0.7338,0.67509091,0.68933333,0.74644444,1202,10/22/2019 11:17,male,1,1983,
-0.7338,0.67509091,0.68933333,0.74644444,1202,10/22/2019 11:17,male,1,1983,
-0.63546154,0.68728571,0.7382,0.82390909,1204,10/22/2019 11:30,male,1,1974,
-0.63546154,0.68728571,0.7382,0.82390909,1204,10/22/2019 11:30,male,1,1974,
-2.10133333,2.4145,1.9885,2.48375,1206,10/22/2019 11:43,male,1,1958,
-0.627,0.521,0.66133333,0.8186,1207,10/22/2019 11:52,male,1,1983,
-0.87291667,0.87414286,0.91216667,0.908625,1209,10/22/2019 11:50,male,1,1968,
-0.87291667,0.87414286,0.91216667,0.908625,1209,10/22/2019 11:50,male,1,1968,
-1.3716,1.22371429,1.851,1.7505,1210,10/22/2019 12:11,male,1,1974,
-1.16171429,1.571,1.2232,1.02566667,1211,10/22/2019 12:20,male,1,1955,
-1.02814286,0.859,0.8523,1.2828,1212,10/22/2019 12:29,male,1,1986,
-1.35757143,1.545,1.38833333,1.228375,1213,10/22/2019 12:41,female,1,1982,
-0.634875,0.84514286,0.66115385,0.79472727,1214,10/22/2019 12:57,female,1,1981,
-0.60366667,0.59515385,0.64633333,0.71593333,1215,10/22/2019 12:59,male,1,1974,
-1.55666667,2.144,1.58077778,1.54575,1216,10/22/2019 12:57,female,1,1961,
-0.739375,0.9087,0.7752,0.79144444,1217,10/22/2019 13:01,male,1,1979,
-1.7495,1.58433333,1.033,1.2065,1217,10/22/2019 16:45,male,1,1979,
-0.69708333,0.90533333,0.7444,1.2005,1218,10/22/2019 13:12,male,1,1966,
-0.56244444,0.63908333,0.631,0.563,1219,10/22/2019 13:14,female,1,1982,
-1.8025,1.212,1.73033333,1.054,1219,10/22/2019 19:16,female,1,1982,
-0.53927273,0.7865,0.58928571,0.9062,1220,10/22/2019 13:16,male,1,1984,
-1.02377778,1.06622222,1.28933333,0.936,1222,10/22/2019 13:28,male,1,1959,
-1.15466667,1.1614,1.048,1.1156,1223,10/22/2019 13:29,male,1,1976,
-0.69283333,0.8484,0.67471429,0.678,1224,10/22/2019 13:31,male,1,1972,
-1.368,0.81266667,1.567,1.223,1226,10/22/2019 13:57,male,1,1989,
-0.66618182,0.78914286,0.81066667,0.79911111,1228,10/22/2019 14:00,female,1,1979,
-1.027,0.947,1.06133333,2.6845,1229,10/22/2019 20:34,male,0,2000,
-1.466,1.3956,1.555,1.46571429,1231,10/22/2019 14:12,male,1,1955,
-1.41,1.5005,1.5002,1.7855,1232,10/22/2019 14:16,male,1,1965,
-0.89866667,0.773,0.867,0.65745455,1233,10/22/2019 14:45,male,1,1974,
-1.5942,1.006,0.815,1.2038,1234,10/22/2019 15:06,male,1,1988,
-1.5405,1.192625,0.93233333,1.14385714,1236,10/22/2019 15:42,female,1,1964,
-1.10142857,1.052625,0.829,1.1915,1237,10/22/2019 15:51,female,1,1989,
-0.866,1.3055,1.095,1.19666667,1237,10/22/2019 15:52,female,1,1989,
-1.57683333,1.0726,1.26133333,2.1286,1239,10/22/2019 23:01,male,1,1969,
-1.085,0.80316667,0.87622222,1.0132,1241,10/22/2019 16:12,male,1,1989,
-0.5212,0.5663,0.61583333,0.51390909,1242,10/22/2019 16:17,male,0,1982,
-2.14114286,1.405,1.298,1.4715,1243,10/22/2019 16:35,female,1,1963,
-1.0445,1.3005,1.56542857,0.97811111,1245,10/22/2019 16:36,female,1,1985,
-1.336,1.43385714,1.60333333,1.438,1246,10/22/2019 16:41,female,1,1967,
-1.74,2.198,1.9875,1.91366667,1248,10/22/2019 16:57,male,1,1955,
-0.8275,0.81044444,0.9183,1.09416667,1249,10/22/2019 17:07,female,1,1980,
-1.6428,1.28642857,1.73225,2.608,1250,10/22/2019 17:01,male,1,1948,
-1.72425,1.4465,1.484875,1.3,1251,10/22/2019 18:51,female,1,1978,
-2.19366667,2.5575,2.07833333,2.079,1252,10/22/2019 17:06,female,1,1958,
-1.38366667,1.429875,1.3666,1.379,1254,10/22/2019 17:01,male,1,1973,
-0.78271429,1.2982,1.03642857,1.42314286,1255,10/22/2019 19:22,female,0,1980,
-1.514,1.39433333,1.57733333,1.66633333,1256,10/22/2019 21:44,male,1,1957,
-1.45516667,1.0655,1.17266667,1.34325,1256,10/22/2019 21:46,male,1,1957,
-1.34816667,1.3644,1.66225,7.268,1257,10/22/2019 17:13,female,1,1979,
-1.5695,0.92966667,1.13385714,1.67366667,1258,10/22/2019 17:11,male,1,1964,
-1.30466667,1.65725,2.98,2.074,1259,10/22/2019 17:14,female,1,1986,
-1.76377778,2.15933333,1.5245,1.342,1260,10/22/2019 17:10,male,0,1947,
-0.90744444,1.3945,1.03685714,1.030875,1261,10/22/2019 17:16,female,1,1988,
-0.7002,0.8364,0.70630769,0.92266667,1262,10/22/2019 17:21,male,1,1975,
-0.55922222,0.7511,0.58725,0.68854545,1263,10/22/2019 17:20,male,1,1985,
-4.41733333,2.141,1.9275,2.2395,1264,10/22/2019 17:25,female,1,1969,
-1.11533333,1.07111111,1.0506,1.13928571,1265,10/22/2019 17:55,female,1,1982,
-0.7232,0.707,0.971125,0.81766667,1266,10/22/2019 17:39,male,1,1980,
-0.6485,0.8435,0.70588889,0.75269231,1266,10/22/2019 17:32,male,1,1980,
-1.25014286,0.85322222,0.78675,1.17683333,1267,10/22/2019 17:30,female,1,1984,
-1.054,0.99958333,0.8978,0.81466667,1268,10/22/2019 17:39,female,1,1971,
-0.842,1.18233333,1.092,0.90157143,1269,10/22/2019 17:30,female,1,1986,
-1.11414286,0.92071429,1.128,1.63725,1271,10/22/2019 17:39,female,1,1957,
-1.2922,1.50714286,1.0832,1.88533333,1271,10/22/2019 17:40,female,1,1957,
-1.6566,1.724,1.78942857,1.73966667,1272,10/22/2019 17:44,female,1,1970,
-0.64163158,0.697,0.6907,0.66514286,1273,10/22/2019 17:45,female,1,1984,
-0.67992308,0.67357143,0.68236364,0.64411111,1274,10/22/2019 17:47,male,1,1983,
-2.915,2.87633333,2.75933333,2.7,1275,10/22/2019 17:53,female,1,1968,
-1.76433333,1.537375,1.3745,1.401,1276,10/22/2019 17:48,female,1,1980,
-0.79655556,1.00033333,0.9825,1.088,1277,10/22/2019 17:51,male,1,1985,
-2.291,0.9224,1.99822222,1.57233333,1278,10/22/2019 18:09,male,1,1978,
-1.56675,2.047,1.479625,1.58233333,1279,10/22/2019 18:11,male,1,1951,
-0.58909091,0.628,0.73357143,0.666,1280,10/22/2019 17:51,female,1,1980,
-0.70214286,0.553375,0.77933333,0.82516667,1280,11/4/2019 8:09,female,1,1980,
-1.417,1.7885,1.9704,1.714,1281,10/22/2019 17:51,male,1,1958,
-1.87457143,1.291,1.2628,1.444,1282,10/22/2019 17:59,female,1,1977,
-1.821,1.59666667,1.0515,1.32257143,1284,10/22/2019 18:03,male,1,1970,
-0.88071429,0.61872727,0.66533333,0.7014,1285,10/22/2019 18:14,male,1,1979,
-2.566,1.6045,1.2645,0.98866667,1286,10/22/2019 18:18,male,1,1961,
-1.09157143,1.409,1.43116667,1.78725,1288,10/22/2019 18:19,female,0,1971,
-0.59509091,0.92757143,0.75727273,0.63,1289,10/22/2019 18:07,male,1,1988,
-0.82628571,0.76466667,0.7766,0.49211111,1290,10/22/2019 18:10,male,1,1987,
-0.789,0.864,0.88575,0.925,1291,10/22/2019 18:17,male,1,1973,
-1.1634,1.10833333,3.092,3.47,1292,10/22/2019 18:10,female,1,1944,
-1.3475,1.3556,1.48366667,0.937,1293,10/22/2019 18:10,male,1,1971,
-0.648,1.168,0.7406,1.26425,1294,10/22/2019 18:12,female,1,1971,
-1.74166667,1.678,2.0296,1.36975,1295,10/22/2019 18:18,female,1,1982,
-1.53733333,1.62216667,1.849,1.417125,1295,10/22/2019 18:19,female,1,1982,
-1.17233333,0.9921,1.5678,1.23225,1296,10/22/2019 18:15,male,1,1967,
-1.027,0.579,1.3,1.2855,1297,10/22/2019 18:21,female,1,1963,
-0.9102,0.94833333,0.77427273,0.945,1298,10/22/2019 18:19,male,1,1987,
-1.143,1.294375,1.29188889,1.42875,1300,10/22/2019 18:21,female,1,1978,
-1.16976923,1.14533333,1.251,1.16233333,1301,10/22/2019 18:22,female,1,1978,
-2.95866667,3.15233333,1.483,2.87133333,1302,10/22/2019 18:22,male,1,1964,
-1.94,4.059,1.74133333,2.0256,1303,10/22/2019 18:35,male,1,1961,
-0.904875,0.73725,0.89166667,0.8725,1304,11/4/2019 18:35,female,1,2000,
-1.60116667,1.48433333,1.59566667,1.03933333,1304,10/22/2019 18:54,female,1,2000,
-0.904875,0.73725,0.89166667,0.8725,1304,11/4/2019 18:35,female,1,2000,
-2.9975,2.099,2.515,2.2585,1304,10/22/2019 19:17,female,1,2000,
-1.4765,0.64006667,0.6235,0.83,1304,11/5/2019 9:53,female,1,2000,
-2.46733333,1.6715,1.136,1.21216667,1304,10/22/2019 19:37,female,1,2000,
-0.8983,0.85877778,0.71175,0.785,1304,11/6/2019 18:47,female,1,2000,
-1.47366667,1.726,2.228,1.816,1305,10/22/2019 18:23,male,1,1964,
-1.026,1.49,1.1485,1.19985714,1306,10/22/2019 18:27,male,1,1967,
-1.3265,1.26425,0.92633333,0.87383333,1308,10/22/2019 18:27,female,1,1973,
-0.8235,0.9695,1.34566667,1.37628571,1309,10/22/2019 18:27,male,1,1984,
-0.7378,0.61953846,0.79228571,0.56966667,1310,10/22/2019 18:28,male,1,1984,
-2.0415,2.08333333,2.08925,1.9334,1311,10/22/2019 18:28,male,1,1969,
-0.6788,0.75614286,0.64225,0.81158333,1312,10/22/2019 18:55,male,0,1986,
-0.9992,0.6399,0.76708333,1.27742857,1313,10/22/2019 18:35,female,1,1986,
-2.264,1.688,1.097,1.91933333,1315,10/22/2019 21:16,female,1,1978,
-1.197,1.21883333,2.03283333,1.2266,1315,10/22/2019 21:24,female,1,1978,
-1.1838,1.70633333,0.89641667,1.201,1315,10/22/2019 21:28,female,1,1978,
-1.351,2.3025,2.16483333,1.48025,1316,10/22/2019 18:35,male,1,1940,
-0.7159,0.6815,0.661,0.70833333,1317,10/22/2019 18:30,female,1,1985,
-0.932,1.276,1.57266667,1.0154,1318,10/22/2019 18:45,male,1,1969,
-0.69025,0.71854545,0.812,0.68823077,1319,10/22/2019 18:37,male,1,1985,
-3.639,2.5918,3.287,3.23466667,1321,10/22/2019 18:40,female,1,1947,
-1.17283333,0.9933,1.22433333,1.17566667,1324,10/22/2019 18:55,male,1,1974,
-0.563,0.608,0.78225,0.6291,1325,10/22/2019 18:43,male,1,1985,
-0.6784,0.81471429,0.71915385,0.62215385,1326,10/22/2019 18:43,male,1,1986,
-1.2505,0.928,0.95688889,0.544625,1327,10/22/2019 18:46,female,1,1982,
-1.30457143,1.14,1.4826,1.8582,1328,10/22/2019 18:45,male,1,1942,
-1.30457143,1.14,1.4826,1.8582,1328,10/22/2019 18:45,male,1,1942,
-1.52014286,2.358,2.148,2.11183333,1328,10/22/2019 18:46,male,1,1942,
-0.75333333,0.67325,0.7666,0.7164,1329,11/4/2019 7:38,male,0,2000,4
-0.6618,0.63592308,0.67915385,0.84385714,1329,11/8/2019 8:07,male,0,2000,4
-0.76722222,0.63511111,0.7935,0.719,1329,11/5/2019 7:44,male,0,2000,4
-0.6635,0.656,0.59792308,0.727375,1329,11/11/2019 23:35,male,0,2000,4
-0.63345455,0.68409091,0.986125,0.719,1329,11/6/2019 8:04,male,0,2000,4
-0.67364286,0.660625,0.60141667,0.89177778,1329,10/22/2019 18:49,male,0,2000,4
-0.76883333,0.65416667,0.67177778,0.73242857,1329,11/7/2019 7:37,male,0,2000,4
-2.24125,0.77257143,1.36042857,1.4515,1330,10/22/2019 18:50,male,1,1982,
-1.472,1.3126,2.188,2.0444,1332,10/22/2019 18:53,male,1,1957,
-3.2615,1.55483333,1.3364,1.3714,1333,10/22/2019 18:53,male,1,1967,
-0.98413333,0.8884,1.07133333,1.0065,1335,10/22/2019 18:52,female,1,1968,
-2.37266667,2.0385,2.076,2.455,1336,10/22/2019 18:53,female,1,1949,
-2.37266667,2.0385,2.076,2.455,1336,10/22/2019 18:53,female,1,1949,
-2.37266667,2.0385,2.076,2.455,1336,10/22/2019 18:53,female,1,1949,
-1.05,1.149,1.05675,1.27366667,1337,10/22/2019 18:52,male,0,1975,
-0.6073,0.59361538,0.69333333,0.68181818,1338,10/22/2019 18:52,male,1,1987,
-0.60776923,0.49028571,0.56118182,0.60228571,1340,10/22/2019 19:03,male,1,1984,
-0.88783333,0.776,1.08118182,2.13975,1341,10/22/2019 21:20,male,1,2001,
-0.631,1.032,0.9466,0.65875,1341,10/22/2019 21:26,male,1,2001,
-0.7666,0.726,0.90409091,1.34228571,1341,10/22/2019 21:21,male,1,2001,
-0.65135294,0.61718182,0.67521429,0.693,1341,10/22/2019 21:23,male,1,2001,
-0.744,0.6065,1.0269,1.12514286,1341,10/22/2019 21:25,male,1,2001,
-0.764,1.07375,1.039,0.71516667,1342,10/22/2019 19:04,male,1,1984,
-2.43366667,1.9904,2.056,1.213,1343,10/22/2019 19:14,male,1,1949,
-1.05238462,0.58171429,0.67871429,0.53792308,1343,11/11/2019 22:09,male,1,1949,
-0.492,0.51322222,0.36146667,0.61222222,1343,11/11/2019 22:10,male,1,1949,
-0.6767,0.96818182,0.76071429,0.678,1344,10/22/2019 19:02,female,1,1989,
-0.6515,0.6514,0.61289474,0.69372727,1345,10/22/2019 19:01,male,1,1972,
-0.8387,0.53566667,0.8108,0.78876923,1346,10/23/2019 0:19,male,1,2000,
-1.03971429,1.028,0.917875,1.07755556,1347,10/22/2019 19:03,male,1,1989,
-0.666,1.02771429,0.8945,1.16957143,1349,10/22/2019 19:07,female,1,1986,
-1.05,0.6968,1.0265,0.9805,1350,10/22/2019 19:15,female,1,1997,
-0.965,0.547,0.524,0.93,1351,10/22/2019 19:09,female,1,1979,
-0.58094118,0.7872,0.68661538,0.7054,1352,10/22/2019 19:09,male,1,1985,
-1.12772727,1.71833333,0.8234,1.422,1353,10/22/2019 19:11,male,1,1966,
-0.99827273,0.93142857,1.2176,1.2746,1354,10/22/2019 19:13,male,1,1988,
-0.62813333,0.6646,0.61154545,0.93271429,1355,10/22/2019 19:13,male,1,1960,
-2.09185714,1.74833333,1.484,1.043,1359,10/22/2019 19:19,male,1,1975,
-1.127,0.8969,0.85166667,0.80585714,1360,10/22/2019 19:20,male,1,1984,
-0.89772727,0.8558,1.171,0.915,1362,10/22/2019 19:19,male,1,1969,
-1.64066667,0.5815,1.455875,1.462125,1363,10/22/2019 19:23,male,1,1958,
-1.2402,1.0772,0.88325,1.2015,1364,10/22/2019 19:22,female,1,1960,
-1.0168,1.0344,1.2063,0.945625,1365,10/22/2019 19:22,female,1,1988,
-1.00266667,0.695,1.098125,1.4665,1366,10/22/2019 19:27,male,1,1965,
-1.04766667,0.97866667,1.093,1.14322222,1367,10/22/2019 19:23,male,1,1956,
-1.8685,1.9418,2.6045,2.116,1368,10/22/2019 19:28,male,0,1957,
-1.77775,1.8545,2.162,2.9275,1369,10/22/2019 19:32,female,1,1956,
-0.57278571,0.8185,0.76241667,0.82133333,1370,10/22/2019 19:35,male,1,1999,
-0.69422222,1.114,0.72413333,0.64485714,1370,10/27/2019 2:44,male,1,1999,
-1.54357143,1.3164,1.323,1.351,1371,10/22/2019 19:49,male,1,1964,
-0.61,0.619,0.62370588,0.60344444,1371,11/10/2019 14:24,male,1,1964,
-0.5152,0.609875,0.52338889,0.62375,1371,11/10/2019 14:29,male,1,1964,
-1,0.4995,0.70825,0.6202,1371,10/22/2019 19:48,male,1,1964,
-0.79328571,0.92257143,0.78185714,0.6352,1372,10/22/2019 19:31,male,1,1974,
-0.73485714,0.75522222,0.958,0.814,1373,10/22/2019 19:35,male,1,1986,
-3.4555,1.907,1.34885714,2.0795,1374,10/22/2019 19:34,male,1,1948,
-2.0695,1.33366667,1.64583333,1.73275,1375,10/22/2019 19:38,female,1,1976,
-1.54633333,1.85933333,1.47783333,1.2635,1377,10/22/2019 19:40,female,1,1959,
-0.947,0.66644444,0.8688,0.69033333,1378,10/22/2019 19:42,male,1,1988,
-0.6385,0.63611111,1.02055556,0.66911111,1379,10/22/2019 19:46,male,1,1969,
-1.681375,2.0944,1.448,1.941,1380,10/22/2019 19:47,female,1,1974,
-1.46175,1.4635,1.3745,1.385,1380,10/22/2019 20:40,female,1,1974,
-1.22266667,1.96233333,1.4355,1.11671429,1382,10/22/2019 19:46,male,1,1958,
-2.58733333,2.02366667,2.56533333,2.377,1383,10/22/2019 19:49,female,1,1974,
-1.6084,1.1445,0.89533333,0.848,1384,10/22/2019 19:56,male,1,1983,
-0.84881818,1.0915,0.85125,1.13588889,1386,10/22/2019 19:53,female,1,1980,
-0.68090909,0.63741667,0.72857143,0.63842857,1387,10/22/2019 19:54,male,1,1977,
-0.83,0.697,0.65771429,0.94275,1388,10/22/2019 20:06,male,1,2002,
-1.0378,1.23616667,1.22114286,1.199,1389,10/22/2019 19:55,male,1,1989,
-1.1155,1.1792,1.36025,1.22033333,1390,10/22/2019 19:56,female,1,1983,
-2.681,2.68575,2.609,2.4935,1391,10/22/2019 20:01,female,1,1963,
-1.159125,2.959,1.592,1.31775,1392,10/22/2019 19:56,male,0,1975,
-0.825,0.89325,1.00911111,0.96033333,1393,10/22/2019 19:58,male,1,1989,
-1.03816667,0.79588889,0.986,1.05616667,1394,10/22/2019 20:02,female,1,1988,
-0.76511111,0.88242857,1.10833333,0.62181818,1395,10/22/2019 20:08,female,1,1984,
-0.699,0.6905,0.67383333,0.641,1395,10/22/2019 20:22,female,1,1984,
-1.265375,0.85533333,1.69175,1.230875,1396,10/22/2019 23:41,male,1,1944,
-1.5984,1.40575,1.08,1.799875,1397,10/22/2019 20:05,female,1,1969,
-0.75566667,0.68169231,0.65445455,0.77777778,1398,10/22/2019 20:05,male,1,2000,4
-0.70675,0.6941,0.61311111,0.63938462,1398,11/6/2019 7:08,male,1,2000,4
-0.64736364,0.666,0.8968,0.883,1398,11/3/2019 13:18,male,1,2000,4
-0.6242,0.5518,0.61566667,0.65775,1398,11/8/2019 7:09,male,1,2000,4
-0.66511111,0.75309091,0.64788889,0.7026,1398,11/4/2019 7:06,male,1,2000,4
-0.69444444,0.62030769,0.62972727,0.69216667,1398,11/9/2019 7:06,male,1,2000,4
-0.72566667,0.8888,0.68271429,0.8586,1398,11/5/2019 7:13,male,1,2000,4
-0.66821429,0.5955,0.634,0.64933333,1398,11/10/2019 9:51,male,1,2000,4
-7.217,2.754,3.759,3.914,1399,10/22/2019 20:10,female,1,1966,
-1.35133333,1.78575,1.11172727,1.2874,1400,10/22/2019 20:38,female,1,2000,
-0.697,0.89127273,0.59288889,0.64723077,1400,10/22/2019 20:08,female,1,2000,
-0.54766667,0.6075,0.56236364,0.62654545,1400,10/22/2019 20:50,female,1,2000,
-0.66236364,0.99255556,0.70033333,0.73428571,1400,10/22/2019 20:22,female,1,2000,
-1.59966667,1.4565,1.243,1.029,1400,10/22/2019 20:26,female,1,2000,
-2.64625,1.251,1.518,0.857,1401,10/22/2019 20:09,male,1,1972,
-0.59353333,0.688625,0.68046154,0.60344444,1402,10/22/2019 20:08,male,1,1973,
-1.0518,1.12688889,1.06983333,1.4048,1403,10/22/2019 20:09,male,1,1971,
-0.94988889,1.8095,1.674,1.115375,1404,10/22/2019 20:09,female,0,1968,
-1.51033333,1.739,1.42233333,1.5165,1405,10/22/2019 20:14,male,1,1966,
-1.51885714,1.754,1.541,1.735,1405,10/22/2019 20:15,male,1,1966,
-1.558,1.432,0.98116667,0.99985714,1406,10/22/2019 20:14,female,1,2000,
-1.79833333,2.8215,1.94925,2.0475,1407,10/22/2019 20:22,female,1,1967,
-1.22966667,1.49683333,1.3528,2.084,1408,10/22/2019 20:14,male,1,1983,
-0.6092,0.6289,0.5409375,0.63088889,1409,10/22/2019 20:14,male,1,1989,
-1.07357143,0.6165,0.7374,0.741375,1410,10/22/2019 20:16,male,1,1981,
-0.8945,1.3454,1.481,1.03366667,1411,10/22/2019 20:18,male,1,1956,
-2.574,1.97,2.2225,2.5755,1412,10/22/2019 20:19,female,0,1948,
-0.50616667,0.504,0.52827273,0.627,1413,10/22/2019 20:20,male,1,1987,
-1.04766667,0.73193333,0.81288889,0.91244444,1414,10/22/2019 20:24,male,1,1968,
-1.04333333,0.9164,1.12533333,1.479125,1416,10/22/2019 20:23,male,1,1980,3
-1.22966667,0.89077778,1.0811,1.5575,1416,10/22/2019 20:38,male,1,1980,3
-0.59845455,0.81114286,0.65272727,0.69942857,1417,10/22/2019 20:23,male,1,2002,
-1.21275,1.228,1.73528571,1.1228,1419,10/22/2019 21:00,male,1,1969,
-0.68566667,0.811,1.294,0.922,1423,10/22/2019 20:29,male,1,1985,
-0.973625,0.9163,0.92588889,0.74233333,1424,10/22/2019 20:30,male,1,1965,
-1.174,0.90725,0.96783333,1.04114286,1425,10/22/2019 20:33,female,1,1968,
-0.76388889,0.71054545,0.79475,0.824,1426,10/22/2019 20:33,male,1,1988,
-2.357,2.52,1.872,1.86783333,1427,10/22/2019 20:54,male,1,1952,
-0.92566667,0.810875,0.77844444,0.7255,1428,10/22/2019 20:34,male,1,1988,
-1.06544444,0.95514286,0.97716667,0.84388889,1429,10/22/2019 20:36,female,1,1975,
-0.71185714,0.89375,0.66475,0.81684615,1430,10/22/2019 20:37,male,1,1988,
-1.6435,1.537,1.6,1.56216667,1432,10/22/2019 20:42,female,0,1979,
-0.75416667,0.84585714,0.71627273,0.880625,1433,10/22/2019 20:43,female,1,2001,
-0.81957143,0.79144444,0.81533333,0.9312,1434,10/22/2019 20:44,male,1,1986,
-0.49,0.8345,0.673,0.73566667,1435,10/22/2019 21:19,male,1,1998,
-0.8665,0.69390909,1.015375,0.981,1437,10/22/2019 20:49,male,1,1980,
-0.99344444,1.079,0.86642857,0.96916667,1438,10/22/2019 20:45,male,0,1987,
-1.33,1.227,1.22066667,1.0355,1439,10/22/2019 20:47,male,1,1967,
-1.358125,1.09542857,1.1268,1.0534,1440,10/22/2019 20:49,female,1,1973,
-1.57225,1.176,1.239,1.703,1441,10/22/2019 20:46,female,1,1987,
-1.06925,1.49233333,1.20066667,1.396,1442,10/22/2019 20:50,male,0,1957,
-0.63766667,0.8571,0.73883333,0.75983333,1442,11/4/2019 7:41,male,0,1957,
-1.65833333,0.96890909,0.94892308,1.118,1443,10/22/2019 20:49,female,1,1972,
-1.31233333,1.3375,1.11683333,1.4712,1444,10/22/2019 20:50,male,1,1973,
-1.2555,1.22375,1.74466667,1.3318,1445,10/22/2019 20:49,male,1,1986,
-3.12633333,3.6995,3.761,4.254,1446,10/23/2019 0:16,female,1,1948,
-0.68681818,0.7301,0.86044444,0.6645,1447,10/22/2019 20:51,male,1,1977,
-1.337,1.346,1.3855,1.35614286,1448,10/22/2019 20:55,male,1,1958,
-0.9158,0.8752,0.98809091,0.98722222,1449,10/22/2019 20:53,female,1,1980,
-2.12875,3.138,2.9325,3.0185,1450,10/22/2019 20:56,male,1,1968,
-1.15885714,3.526,1.151,2.239,1451,10/22/2019 20:56,female,1,1976,
-0.97488889,1.12375,0.86575,1.120875,1452,10/22/2019 21:41,male,1,1975,
-1.3665,1.23866667,1.66275,1.51033333,1453,10/22/2019 21:00,male,1,1977,
-0.949,0.91788889,0.79627273,0.79166667,1454,10/22/2019 21:03,male,1,1976,
-0.71188889,0.721625,0.62214286,0.52457143,1455,10/22/2019 21:04,male,1,1987,
-0.77255556,1.01442857,0.7234,0.8136,1456,10/22/2019 21:08,male,1,1972,
-1.1974,1.21,1.16242857,1.565,1457,10/22/2019 21:07,female,1,1990,
-0.608,0.56753333,0.704625,0.487,1458,10/22/2019 21:07,male,1,1986,
-1.5845,2.41433333,2.50433333,1.883,1459,10/22/2019 21:12,male,1,1954,
-1.9535,2.69366667,1.987,3.663,1460,10/22/2019 21:14,female,1,1984,
-1.345,0.584,0.63325,0.628,1461,10/22/2019 21:17,female,1,1999,
-1.1552,0.95475,0.9525,1.205,1462,10/22/2019 21:13,female,1,1964,
-1.8155,1.7376,1.60266667,2.044,1463,10/22/2019 21:15,female,0,1964,
-0.638875,0.501,0.660625,0.82757143,1464,10/22/2019 21:14,female,1,1983,
-0.6125,0.531,0.516,0.65688889,1466,10/22/2019 21:15,male,1,1986,
-0.71983333,0.771,0.82111111,1.0852,1467,10/22/2019 21:21,male,1,1985,
-0.672625,0.62985714,0.59892308,0.63483333,1468,10/22/2019 21:30,male,1,2001,
-1.17916667,2.22733333,1.639,1.67,1469,10/22/2019 21:22,male,1,1956,
-2.758,3.01333333,2.797,2.90866667,1470,10/22/2019 21:24,female,1,1945,
-1.332,1.3404,1.22175,1.7305,1472,10/22/2019 21:30,female,0,1978,
-2.2524,3.19566667,3.042,2.709,1473,10/22/2019 21:33,male,1,1958,
-0.94,1.09425,1.17825,0.897,1474,10/22/2019 21:34,male,1,1967,
-0.55363636,1.4706,0.73218182,0.767,1476,10/22/2019 21:35,male,1,1986,
-0.767625,0.64275,0.7201,0.77536364,1477,10/22/2019 21:37,male,1,1995,
-1.42325,0.73642857,0.81885714,1.09557143,1478,10/22/2019 21:39,male,1,1988,
-1.48033333,1.1825,1.06416667,1.03614286,1479,10/22/2019 21:40,male,0,1965,
-1.05985714,1.06775,1.6624,1.20775,1480,10/22/2019 22:27,male,1,1986,
-0.77975,0.77533333,0.98575,0.72141667,1481,10/22/2019 21:50,male,1,1966,
-0.77975,0.77533333,0.98575,0.72141667,1481,10/22/2019 21:50,male,1,1966,
-1.11066667,1.12875,1.1046,1.14916667,1482,10/22/2019 21:50,male,1,1964,
-1.532,2.88833333,2.406,1.44,1483,10/22/2019 21:55,male,1,1956,
-1.4925,1.208,1.4805,1.60133333,1484,10/22/2019 21:59,female,1,1974,
-1.004875,0.843375,1.1295,1.11914286,1485,10/22/2019 21:55,male,1,1976,
-0.49673333,0.5916,0.63669231,0.47163636,1487,11/10/2019 15:48,male,1,2000,
-0.55838462,0.83283333,0.605,0.609625,1487,10/22/2019 22:10,male,1,2000,
-0.59788889,0.55646667,0.5945,0.5616875,1487,11/10/2019 16:14,male,1,2000,
-0.5766,0.58058333,0.5826,0.55111111,1487,11/10/2019 14:51,male,1,2000,
-0.50211765,0.55583333,0.705,0.54226667,1487,11/10/2019 16:27,male,1,2000,
-0.56876471,0.48771429,0.58421429,0.636,1487,11/10/2019 15:17,male,1,2000,
-0.52866667,0.46326316,0.55991667,0.52525,1487,11/10/2019 16:38,male,1,2000,
-1.12975,1.20925,1.41214286,1.161,1488,10/22/2019 22:33,male,1,1988,
-2.2085,1.89166667,2.74133333,2.416,1490,10/22/2019 22:12,male,1,1985,
-3.9595,4.485,3.2235,2.811,1490,10/22/2019 22:24,male,1,1985,
-2.049,1.57333333,1.6045,1.641,1491,10/22/2019 22:11,male,1,1956,
-1.63266667,1.7185,2.11766667,1.64114286,1492,10/22/2019 22:12,male,1,1988,
-0.65033333,0.58766667,0.6025,0.65733333,1493,10/22/2019 22:14,male,1,1988,
-4.1645,4.243,3.22466667,3.2785,1494,10/22/2019 22:23,male,1,1958,
-2.985,2.785,3.701,3.145,1494,10/22/2019 23:35,male,1,1958,
-0.96114286,0.9016,0.84333333,1.08266667,1495,10/22/2019 22:18,male,1,1986,
-0.97633333,1.0658,1.209125,0.8311,1496,10/22/2019 22:24,female,1,1986,
-0.61527273,0.45466667,0.69244444,0.71007692,1498,10/22/2019 22:18,male,1,1997,
-2.20275,1.46275,1.7264,1.3312,1500,10/22/2019 22:21,male,1,1986,
-0.7115,0.8252,0.733,0.86077778,1501,10/22/2019 22:22,male,1,1990,
-2.002,1.88514286,1.5785,1.76133333,1503,10/22/2019 22:25,female,1,1976,
-0.983,0.90844444,1.59785714,1.108,1504,10/22/2019 22:23,male,1,1962,
-0.66375,0.6675,0.786,0.725,1505,10/22/2019 22:29,male,1,1985,
-1.150125,0.992,1.09471429,1.0795,1508,10/22/2019 22:30,male,1,1987,
-0.86866667,0.68433333,0.74177778,0.9328,1509,10/22/2019 22:31,male,1,1989,
-0.9429,0.83628571,0.82090909,0.9226,1510,10/22/2019 22:37,male,1,1970,
-0.83866667,0.58528571,0.647125,0.614,1511,10/22/2019 22:37,female,1,1988,
-1.955,3.889,1.95033333,2.16066667,1512,10/22/2019 22:39,female,1,1978,
-0.99428571,0.8785,0.903,1.1722,1513,10/22/2019 22:38,male,1,1971,
-0.60572727,0.67871429,0.7585,0.66954545,1514,10/22/2019 22:46,male,1,1986,
-3.26,2.9975,1.79025,3.3815,1515,10/22/2019 22:53,female,1,1964,
-2.905,2.9605,1.8905,2.6505,1516,10/22/2019 22:47,female,0,1976,
-0.56884615,0.5645,0.50557143,0.602125,1517,10/22/2019 22:47,male,1,1986,
-1.3848,1.35085714,1.60925,1.1792,1518,10/22/2019 22:54,male,1,1966,
-0.97066667,1.20185714,1.7145,1.37033333,1519,10/22/2019 22:47,male,1,1964,
-5.237,4.9265,3.642,3.54233333,1520,10/22/2019 22:52,female,1,1953,
-1.243,1.048625,1.38133333,1.40157143,1521,10/22/2019 22:54,male,1,1966,
-1.01777778,0.8628,1.1418,1.162,1522,10/22/2019 22:53,female,1,1975,
-1.6575,1.3724,1.27983333,1.0004,1523,10/22/2019 22:55,female,1,1985,
-1.7315,1.40044444,1.196,1.7205,1524,10/22/2019 22:55,female,1,1947,
-0.96328571,0.817,1.48633333,1.17771429,1525,10/22/2019 23:00,male,1,1986,
-0.97033333,1.1465,1.28022222,0.82871429,1526,10/22/2019 23:18,female,1,1987,
-0.91,0.88442857,0.83255556,0.888,1528,10/22/2019 23:06,female,1,1981,
-1.0665,0.92116667,1.5065,1.038125,1529,10/22/2019 23:05,female,1,1969,
-0.802,0.639,0.89866667,1.051625,1530,10/22/2019 23:11,male,1,1973,
-1.573,3.089,1.96142857,2.26,1532,10/22/2019 23:13,male,0,1965,
-0.62314286,0.628,0.56509091,0.80527273,1533,10/22/2019 23:12,male,1,1981,
-0.70025,0.71863636,0.80166667,1.02266667,1535,10/22/2019 23:14,male,1,1999,
-0.84472727,0.87,0.962375,0.9725,1536,10/22/2019 23:15,female,1,1986,
-0.94466667,1.035,0.90636364,0.9668,1537,10/22/2019 23:19,male,1,1973,
-1.681,1.643,1.433625,1.52625,1539,10/22/2019 23:19,female,1,1975,
-2.798,1.34883333,0.8755,1.05925,1540,10/22/2019 23:19,female,1,1984,
-0.98314286,0.97441667,0.92233333,1.126,1541,10/22/2019 23:21,male,1,1968,
-1.1536,0.87975,1.32644444,0.95,1542,10/22/2019 23:30,male,1,1985,
-0.64116667,0.5979,0.6504,0.79791667,1543,10/22/2019 23:23,male,1,1989,
-0.74230769,0.85588889,0.8775,1.01566667,1544,10/23/2019 1:09,male,1,1989,
-3.9715,3.419,3.38433333,2.9185,1545,10/22/2019 23:30,female,1,1954,
-0.60308333,0.48333333,0.5248,0.732,1546,10/23/2019 0:17,male,1,1997,
-0.6452,0.76916667,0.8191,0.85675,1547,10/22/2019 23:31,female,1,1980,
-0.758375,0.7499,0.7245,0.97066667,1548,10/22/2019 23:32,male,1,1985,
-1.0668,1.2464,1.0405,1.06977778,1550,10/22/2019 23:36,male,1,1968,
-1.8785,1.5548,1.73575,1.656,1552,10/22/2019 23:37,female,1,1970,
-0.62088889,0.66392857,0.88585714,0.71858333,1553,10/22/2019 23:38,male,1,1976,
-0.59291667,0.72109091,0.64372727,0.60284615,1555,10/22/2019 23:41,male,1,2000,4
-0.52226667,0.55713333,0.63016667,0.96433333,1555,11/23/2020 13:44,male,1,2000,4
-1.05575,2.1595,2.252,1.59575,1557,10/22/2019 23:44,male,1,1964,
-1.74666667,1.77025,1.566,1.803,1558,10/22/2019 23:50,male,1,1948,
-0.65172727,0.53957143,0.6735625,0.4142,1559,10/22/2019 23:50,male,1,1977,
-0.66181818,0.73491667,0.7256,0.776625,1560,10/22/2019 23:54,male,1,1963,
-1.154,1.23577778,1.25175,1.195,1560,10/23/2019 0:10,male,1,1963,
-0.926125,1.06716667,1.14022222,0.9292,1561,10/22/2019 23:54,female,1,1986,
-1.8625,2.2256,1.74733333,2.12575,1563,10/22/2019 23:57,male,1,1962,
-0.6676,0.63930769,0.71063636,0.52515385,1564,10/23/2019 0:00,male,1,1973,
-1.05257143,1.29675,1.056125,1.09175,1565,10/22/2019 23:58,male,1,1967,
-1.286,1.6748,1.293,1.12342857,1566,10/23/2019 0:03,male,1,1977,
-4.015,4.945,4.141,4.205,1568,10/23/2019 0:10,male,1,1942,
-1.86266667,1.5498,2.653,2.2612,1569,10/23/2019 0:10,female,1,1947,
-1.5768,1.799,1.5395,2.2986,1569,10/23/2019 0:25,female,1,1947,
-0.91216667,1.172125,0.771125,1.191,1570,10/23/2019 0:10,male,1,1981,
-0.62672727,0.82783333,1.10714286,1.13377778,1571,10/23/2019 0:14,female,1,1973,
-1.592,0.8972,0.8085,1.0098,1572,10/23/2019 1:13,male,1,1988,
-0.66331579,0.6415,0.8846,0.62709091,1573,10/23/2019 0:18,female,1,1983,
-0.8078,1.8124,1.777,1.23016667,1574,10/23/2019 0:25,male,1,1973,
-2.528,2.991,2.23675,2.604,1575,10/23/2019 0:26,male,1,1962,
-1.22590909,1.19383333,1.421,1.5355,1577,10/23/2019 0:40,male,1,1985,
-0.93088889,1.14166667,1.084,1.4518,1577,10/23/2019 0:48,male,1,1985,
-1.05871429,0.96722222,0.94485714,1.069,1578,10/23/2019 0:33,male,1,1965,
-3.042,2.9798,2.425,1.604,1579,10/23/2019 0:35,female,1,1976,
-0.63091667,0.60255556,0.68488889,0.72942857,1580,10/23/2019 0:34,male,1,1986,
-0.837,0.97083333,1.0125,1.20385714,1581,10/23/2019 0:38,female,1,1988,
-2.8135,1.67883333,1.76025,1.59525,1582,10/23/2019 0:39,male,1,1960,
-2.56033333,4.0225,2.668,2.605,1583,10/23/2019 0:38,female,1,1956,
-1.02925,0.8381,1.02257143,0.91433333,1584,10/23/2019 0:43,male,1,1984,
-1.15116667,1.4015,0.89641667,1.6015,1585,10/23/2019 0:44,female,1,1945,
-0.68225,0.71918182,0.77388889,0.9159,1586,10/23/2019 0:47,male,1,1979,
-3.343,2.178,2.30533333,4.876,1587,10/23/2019 0:52,female,1,1942,
-1.0452,0.913,0.74122222,0.77116667,1588,10/23/2019 0:53,male,1,1972,
-1.563,1.88175,2.28533333,1.67633333,1589,10/23/2019 0:56,female,1,1957,
-0.92242857,0.80975,0.9465,0.9276,1592,10/23/2019 1:01,male,1,1989,
-1.032625,1.4896,1.02418182,1.2,1593,10/23/2019 1:00,female,1,1988,
-1.01842857,1.01636364,0.9926,1.09183333,1594,10/23/2019 1:07,female,1,1987,
-0.68,0.569,0.82142857,0.77525,1595,10/23/2019 1:09,female,1,1989,
-0.669,1.0418,0.814,0.755,1596,10/23/2019 1:11,male,1,1986,
-0.905,0.75081818,1.1515,0.96175,1597,10/23/2019 1:11,male,1,1975,
-1.1795,0.921,1.15485714,1.174,1599,10/23/2019 1:16,male,1,1975,
-0.686875,0.54485714,0.7052,0.881,1600,10/23/2019 1:25,male,1,1987,
-1.10725,1.15755556,1.171375,1.40525,1602,10/23/2019 1:29,female,1,1965,
-2.7566,1.969,2.01425,2.707,1604,10/23/2019 1:37,male,1,1950,
-1.2004,0.91016667,0.994875,0.9912,1605,10/23/2019 1:38,male,1,1967,
-1.48866667,1.467,1.5375,1.79225,1606,10/23/2019 1:40,male,1,1964,
-0.93025,0.65744444,0.88785714,1.10011111,1607,10/23/2019 1:56,male,1,1977,
-0.8375,0.67925,0.79716667,0.80123077,1608,10/23/2019 1:48,female,1,1985,
-2.34925,2.523,2.47966667,2.0875,1610,10/23/2019 1:55,male,1,1944,
-1.28,0.91142857,1.212,1.0178,1612,10/23/2019 2:19,female,0,1980,
-0.64316667,0.531,0.65525,0.73633333,1613,10/23/2019 2:18,male,1,1970,
-0.98988889,1.1948,1.183,1.22428571,1614,10/23/2019 2:27,male,1,1989,
-0.61436364,0.62653333,0.76133333,0.60053333,1615,10/23/2019 2:29,female,1,1982,
-0.54133333,0.4539375,0.58535714,0.55654545,1616,10/23/2019 2:30,male,1,1987,
-1.02542857,1.08933333,0.97322222,1.07042857,1617,10/23/2019 2:37,male,1,1970,
-0.78411111,1.185,0.84922222,0.9198,1617,10/23/2019 2:36,male,1,1970,
-2.704,2.1565,1.98925,2.817,1619,10/23/2019 2:52,male,1,1948,
-1.5838,1.27483333,1.2146,1.20616667,1620,10/23/2019 2:54,male,1,1967,
-2.4595,2.26833333,1.8215,2.1595,1621,10/23/2019 3:04,male,1,1966,
-1.908,1.39575,1.406,1.37816667,1622,10/23/2019 3:02,male,1,1958,
-0.689,0.7054,0.67314286,0.590875,1623,10/23/2019 3:07,male,1,1987,
-2.16225,1.6165,1.7065,1.6335,1624,10/23/2019 3:15,male,1,1943,
-4.198,2.1545,2.39333333,2.094,1624,10/23/2019 3:17,male,1,1943,
-0.66423077,0.71433333,0.8726,0.96875,1625,10/23/2019 4:10,male,1,1986,
-1.535,1.53733333,1.01225,1.33775,1626,10/23/2019 4:16,male,1,1957,
-2.627,2.39666667,4.02,2.448,1627,10/23/2019 6:19,male,1,1964,
-2.62333333,1.61525,1.2155,0.71675,1630,10/23/2019 15:20,female,1,1999,
-0.95271429,0.92625,0.8957,0.9682,1632,10/23/2019 15:42,female,1,1988,
-2.27775,1.6155,1.6788,2.523,1633,10/23/2019 16:04,female,1,1963,
-1.095,0.88466667,1.035,0.969,1636,10/23/2019 17:11,female,1,1986,
-0.855125,1.145375,0.76375,1.02625,1639,10/24/2019 15:27,male,1,1990,
-0.957,0.551,1.05475,0.99133333,1640,10/24/2019 15:47,male,1,1982,
-2.371,2.911,2.20233333,2.72366667,1641,10/26/2019 16:37,male,1,1965,
-0.82928571,0.85814286,0.74425,0.68566667,1643,10/23/2019 17:55,female,1,1976,
-1.1945,0.928,1.3455,1.228125,1644,10/23/2019 18:42,male,1,1967,
-2.181,1.672,1.56766667,2.0845,1645,10/26/2019 15:59,female,1,1973,
-2.539,3.645,1.49,3.54166667,1646,10/26/2019 17:39,male,1,1957,
-1.01714286,0.988,1.3165,1.469,1647,10/23/2019 18:16,male,1,1974,
-0.63177778,0.58561538,0.61358333,0.57406667,1648,10/23/2019 18:25,male,1,1975,
-1.058,1.6944,1.003,1.15671429,1649,10/23/2019 18:44,male,1,1979,
-1.07111111,1.10325,0.863875,1.24583333,1650,10/23/2019 18:51,female,1,1988,
-0.67177778,0.58508333,0.83091667,0.6621,1651,10/23/2019 18:57,male,1,1988,
-0.89990909,0.99125,0.69683333,0.68081818,1652,10/23/2019 19:03,female,1,1974,
-1.58785714,1.78033333,1.7875,1.96,1653,10/23/2019 19:11,male,1,1958,
-1.01725,1.06785714,0.9165,0.94433333,1654,10/23/2019 19:16,female,1,1967,
-0.6472,0.61646154,0.60873333,0.66988889,1655,10/23/2019 19:19,male,1,1967,
-0.579,0.522875,0.51538462,0.58077778,1656,10/23/2019 19:23,male,1,1977,
-0.977375,0.937625,1.13483333,0.877875,1657,10/23/2019 20:06,female,1,1969,
-5.469,1.655,2.2196,1.94325,1658,10/23/2019 20:05,male,1,1987,
-0.595875,0.836625,0.8491,0.76115385,1660,10/23/2019 20:16,male,1,1982,
-2.6595,1.6655,2.424,2.20975,1662,10/23/2019 20:30,female,1,1956,
-1.35133333,1.53733333,1.591,1.8166,1665,10/23/2019 20:53,male,1,1953,
-0.53123077,0.69441667,0.83683333,0.65678571,1666,10/23/2019 22:20,female,1,1989,
-0.703,0.963,0.74542857,0.64666667,1669,10/23/2019 21:38,male,1,2000,
-1.33222222,1.34766667,1.23733333,1.33216667,1672,10/23/2019 21:55,male,1,1950,
-0.83433333,1,0.859,1.05788889,1673,10/24/2019 17:13,male,1,1972,
-0.71227273,0.805,1.2974,1.14527273,1675,10/24/2019 17:24,female,1,1979,
-0.897,0.89977778,1.46283333,0.868375,1676,10/25/2019 12:26,female,1,1999,
-1.09611111,1.2985,1.437,1.4256,1679,10/25/2019 16:01,female,1,1981,
-3.726,1.54666667,1.4285,2.624,1680,10/25/2019 20:45,male,1,1976,
-1.3974,1.828,1.504,1.45866667,1680,10/26/2019 11:15,male,1,1976,
-0.8149,1.14228571,0.89414286,0.941875,1680,10/26/2019 11:17,male,1,1976,
-0.48633333,0.55142857,0.63185714,0.49023529,1681,10/25/2019 17:19,male,1,1985,
-1.2514,1.106,1.2525,1.24714286,1682,10/25/2019 17:35,male,1,1958,
-1.17375,1.2255,1.01833333,0.86688889,1682,10/25/2019 17:49,male,1,1958,
-1.86833333,1.678,1.555,2.538,1684,10/25/2019 21:46,male,1,1954,
-0.853,0.55753846,0.707375,0.67036364,1685,10/25/2019 22:04,male,1,1987,
-0.698875,0.67857143,0.679,0.84718182,1686,10/25/2019 22:23,male,1,1976,
-0.616125,1.18144444,0.94616667,0.69183333,1687,10/26/2019 11:57,female,1,1988,
-0.80171429,0.6941,0.97742857,0.74692308,1687,10/26/2019 11:58,female,1,1988,
-1.0282,0.73385714,1.0423,1.17757143,1688,10/26/2019 12:05,male,1,1971,
-0.927,0.8598,1.13875,0.83285714,1688,10/26/2019 12:06,male,1,1971,
-1.14925,0.8908,2.3005,1.239,1688,10/26/2019 12:03,male,1,1971,
-0.68244444,0.6306,0.646,0.657,1689,10/26/2019 12:47,male,1,1997,
-2.011,1.99533333,1.69,1.506,1690,10/26/2019 15:20,male,1,1960,
-0.869,0.6126,0.7001,0.7091,1691,10/26/2019 15:26,male,1,1965,
-1.333,1.8995,1.40883333,1.67433333,1692,10/26/2019 15:36,male,1,1952,
-1.14433333,1.143,1.187,1.095125,1693,10/26/2019 19:33,male,1,1968,
-1.1978,1.25666667,1.40728571,1.278875,1694,10/26/2019 18:51,female,1,1978,
-1.3398,1.20771429,0.999,1.08475,1695,10/26/2019 19:03,male,1,1988,
-1.2904,1.0184,1.02509091,0.99471429,1695,10/26/2019 19:03,male,1,1988,
-0.679,0.9056,1.54533333,0.82066667,1696,10/26/2019 20:08,male,1,1983,
-1.124375,1.35666667,1.52466667,1.2185,1697,10/26/2019 19:44,female,1,1987,
-2.6726,1.5525,2.678,1.668,1698,10/26/2019 21:45,female,1,1980,
-0.8932,1.41,1.14575,1.06855556,1698,10/26/2019 21:48,female,1,1980,
-2.6726,1.5525,2.678,1.668,1698,10/26/2019 21:45,female,1,1980,
-2.0346,1.6405,2.24116667,1.105,1698,10/26/2019 21:46,female,1,1980,
-1.95225,1.966,1.618,1.2994,1698,10/26/2019 21:47,female,1,1980,
-2.67425,2.49,1.8715,1.8582,1699,10/27/2019 10:28,female,1,1980,
-0.75309091,0.72871429,0.7276,0.816875,1700,10/27/2019 11:21,male,1,1975,
-1.14525,1.2985,1.184,1.3395,1701,10/27/2019 11:41,female,1,1982,
-0.91766667,0.66088889,0.9986,0.93133333,1703,10/27/2019 12:55,female,1,2000,
-3.115,3.25766667,2.8645,4.1,1704,10/27/2019 13:05,female,0,1963,
-1.08711111,0.84983333,1.03771429,0.7074,1705,10/27/2019 13:08,female,1,1974,
-0.50558824,0.51666667,0.64633333,0.6470625,1706,10/27/2019 13:23,male,1,2012,
-2.512,2.88616667,1.936,1.592,1707,10/27/2019 13:51,male,1,1950,
-1.21533333,0.87,1.40128571,1.1132,1708,10/27/2019 14:34,female,1,1948,
-1.01044444,1.24375,1.01075,1.13433333,1709,10/27/2019 16:18,female,1,1975,
-0.851,1.038875,1.238375,0.9698,1711,10/27/2019 17:28,female,1,1981,
-0.847625,1.032875,0.873,0.8767,1712,10/27/2019 17:35,female,1,1987,
-0.54275,0.58969231,0.74233333,0.68133333,1713,10/27/2019 17:51,male,1,1983,
-0.68575,0.81666667,0.95666667,0.69442857,1714,10/27/2019 17:57,male,1,1984,
-1.398,1.33125,1.145,1.42633333,1715,10/27/2019 18:02,male,1,1969,
-2.76325,3.615,3.7565,3.5155,1716,10/27/2019 18:21,female,1,1948,
-0.75892308,0.790625,0.811,0.60055556,1717,10/27/2019 18:24,male,1,1976,
-0.7051,0.9834,0.82925,0.86766667,1718,10/27/2019 18:52,female,1,1958,
-1.15171429,1.11766667,0.8895,1.00742857,1720,10/27/2019 19:20,female,1,1964,
-1.17775,1.4427,1.2192,1.31166667,1721,10/27/2019 20:50,male,1,1974,
-2.0115,1.2855,1.775,1.508,1721,10/27/2019 20:51,male,1,1974,
-1.96233333,2.39733333,2.3375,2.255,1723,10/29/2019 15:56,male,1,1968,
-1.967,1.9112,1.352,2.015,1724,10/27/2019 20:22,male,1,1980,
-1.18457143,1.77,1.42533333,1.01671429,1725,10/27/2019 21:07,female,1,1987,
-0.6826,0.593,0.82377778,0.63033333,1726,11/6/2019 8:44,female,1,2000,3
-1.0505,0.507875,0.553,0.68066667,1726,11/10/2019 16:32,female,1,2000,3
-1.557,0.935,1.57325,1.4694,1726,10/27/2019 20:53,female,1,2000,3
-0.72625,0.51525,0.63266667,0.5204,1726,11/7/2019 8:39,female,1,2000,3
-0.608875,0.6575,0.7685,0.56206667,1726,11/10/2019 20:37,female,1,2000,3
-1.20183333,0.967,0.9907,1.49725,1726,10/27/2019 20:54,female,1,2000,3
-0.744,0.616375,0.5485,0.59845455,1726,11/8/2019 8:10,female,1,2000,3
-0.68,0.561,0.9478,0.626875,1726,12/16/2019 21:53,female,1,2000,3
-0.76772727,0.607,0.67081818,0.77354545,1726,11/6/2019 8:35,female,1,2000,3
-0.55454545,0.65985714,0.63625,0.5542,1726,11/10/2019 16:04,female,1,2000,3
-1.36457143,1.45975,1.517,1.0904,1727,10/29/2019 14:44,male,1,1998,
-1.38985714,1.0275,1.33071429,0.98233333,1727,10/29/2019 14:45,male,1,1998,
-1.143125,1.26566667,1.709,1.099,1727,10/29/2019 14:46,male,1,1998,
-1.71633333,0.74285714,1.40733333,1.34633333,1727,10/29/2019 14:43,male,1,1998,
-1.42088889,1.03375,1.5922,0.9706,1727,10/29/2019 14:47,male,1,1998,
-0.87514286,1.07133333,0.9562,1.85625,1728,10/28/2019 16:10,male,1,2000,
-1.25916667,1.72166667,1.6898,1.518,1729,10/28/2019 16:37,female,1,1982,
-1.1734,1.2884,1.06857143,1.24525,1730,10/28/2019 17:24,male,1,1973,
-1.54414286,2.47466667,0.628,1.643,1731,10/28/2019 20:22,male,1,2002,
-1.119,2.1655,0.898,1.22025,1732,10/28/2019 18:36,male,1,1968,
-1.25171429,1.0245,0.82657143,0.873,1733,10/28/2019 19:50,male,1,2005,
-0.83127273,0.9545,0.93925,0.79981818,1734,10/28/2019 20:01,female,1,1974,
-0.7235,1.004,0.92814286,1.10442857,1736,10/28/2019 20:24,female,1,1986,
-1.2436,1.3964,1.329,1.223625,1737,10/28/2019 22:00,female,1,1970,
-1.47425,2.258,1.6006,2.55733333,1737,10/28/2019 20:53,female,1,1970,
-1.3615,1.04166667,0.945,1.3425,1738,10/28/2019 20:34,male,1,1967,
-1.1072,1.088,0.82155556,0.84777778,1739,10/28/2019 20:47,female,1,1984,
-1.8922,1.0794,1.404,1.846,1740,10/28/2019 21:19,male,1,1988,
-0.940625,1.37928571,1.04985714,1.2355,1741,10/28/2019 21:21,male,1,1988,
-0.95788889,1.03383333,0.99316667,1.120375,1742,10/28/2019 21:47,female,0,1986,
-1.37166667,1.71571429,1.9165,1.97,1743,10/28/2019 22:19,male,1,1965,
-2.0052,2.489,1.93716667,2.898,1745,10/28/2019 22:38,female,1,1955,
-0.8124,1.139,1.26233333,0.9545,1748,10/29/2019 18:21,male,1,1982,
-0.85036364,0.66414286,0.79616667,0.625,1748,10/29/2019 18:22,male,1,1982,
-0.49825,0.58766667,0.5444,0.704,1749,10/29/2019 18:46,male,1,1983,
-0.57372727,0.52746154,0.51235294,0.5166,1750,10/29/2019 18:55,male,1,1985,
-0.55536842,0.66241667,0.78628571,0.792,1751,10/29/2019 19:04,female,1,1974,
-0.66125,0.65588889,0.73035714,0.71518182,1752,10/29/2019 19:14,female,1,1980,
-0.84166667,0.63315385,0.90257143,0.58564706,1752,10/29/2019 19:08,female,1,1980,
-0.716625,0.5888,0.81742857,0.67214286,1752,10/29/2019 19:09,female,1,1980,
-0.7815,0.6824,0.8716,0.672,1752,10/29/2019 19:13,female,1,1980,
-0.59585714,0.595875,0.6731875,0.5803,1753,10/29/2019 19:34,male,1,1980,
-0.85033333,0.81316667,1.13916667,0.80869231,1754,10/29/2019 19:43,male,1,1973,
-0.944,0.993,0.930125,1.04990909,1755,10/29/2019 19:47,male,1,1982,
-1.23325,1.3814,1.25825,1.22916667,1756,10/29/2019 20:01,male,1,1961,
-0.913,1.142,1.5422,1.37277778,1757,10/29/2019 20:13,female,1,1974,
-2.2118,2.119,2.808,2.48,1758,10/29/2019 20:14,male,1,1955,
-1.61755556,2.637,1.32825,1.4624,1759,10/29/2019 21:20,male,1,1967,
-2.91733333,2.03733333,2.77166667,2.24066667,1760,10/29/2019 21:41,female,1,1951,
-0.83875,1.12066667,0.7592,1.1465,1761,10/29/2019 22:01,male,1,1989,
-1.85925,1.5205,1.42033333,1.859,1762,10/29/2019 22:21,female,1,1975,
-2.0475,1.9905,1.4626,1.668,1763,10/29/2019 22:37,male,1,1971,
-0.995,1.25616667,1.41914286,1.356,1764,10/29/2019 22:57,male,1,1949,
-0.83041667,0.836,0.72775,0.61123077,1766,10/30/2019 18:30,male,1,1982,
-1.31033333,1.6465,1.85683333,1.8955,1767,10/30/2019 19:21,female,1,1967,
-0.9235,1.277,0.96171429,1.272,1768,10/30/2019 19:36,female,1,1985,
-0.887,0.81533333,0.56533333,1.679,1769,10/30/2019 19:55,male,1,1975,
-0.84085714,0.83533333,0.78685714,0.895,1769,10/30/2019 19:56,male,1,1975,
-1.7155,1.4795,1.344,1.335,1771,10/30/2019 22:11,male,1,1967,
-0.92,1.20175,1.286,0.943,1772,10/30/2019 22:32,female,1,1971,
-0.77963636,0.93875,0.66133333,0.97,1774,10/31/2019 15:46,female,1,2000,
-1.32116667,1.2582,1.5635,1.47916667,1775,10/31/2019 17:34,male,1,1965,
-0.7146,0.6538,0.818,0.61025,1776,10/31/2019 17:59,female,1,1980,
-0.5042,0.6506875,0.47863636,0.56745455,1777,10/31/2019 18:02,female,0,1985,
-0.50415,0.60253846,0.56045455,0.5732,1778,10/31/2019 18:23,male,1,1975,
-2.49775,1.6815,2.429,2.4115,1779,10/31/2019 18:37,male,1,1948,
-0.87754545,0.80625,0.7683,0.8833,1780,10/31/2019 18:41,male,1,1989,
-1.08828571,1.14014286,1.25766667,1.6465,1782,10/31/2019 19:25,male,1,1960,
-0.889,0.8136,1.2412,1.160125,1783,10/31/2019 19:40,female,1,1969,
-1.66366667,1.87683333,1.33333333,1.52216667,1784,10/31/2019 22:04,male,1,1944,
-0.7116,0.85418182,0.94814286,1.01166667,1786,11/1/2019 3:24,female,1,1992,
-1.83,0.80233333,0.686,0.91711111,1789,11/1/2019 21:12,male,1,1982,
-1.772625,0.81225,0.95416667,0.80775,1790,11/2/2019 12:15,male,1,2002,
-0.60461538,0.58957143,0.745375,0.57184615,1792,11/7/2019 7:38,male,1,2000,2
-1.12714286,1.013375,1.053,1.18057143,1792,12/16/2019 17:50,male,1,2000,2
-1.1405,1.26,0.957625,0.8278,1792,11/4/2019 7:26,male,1,2000,2
-0.75045455,0.78433333,0.85736364,0.74442857,1792,11/7/2019 16:31,male,1,2000,2
-0.9598,0.74944444,0.71644444,1.14516667,1792,11/5/2019 5:26,male,1,2000,2
-0.9474,1.1534,0.77866667,0.83466667,1792,11/7/2019 16:57,male,1,2000,2
-0.920375,0.740125,0.80961538,0.78628571,1792,11/6/2019 7:30,male,1,2000,2
-1.43728571,1.195,1.07033333,1.33066667,1792,11/7/2019 17:11,male,1,2000,2
-0.61415385,0.581,0.63955556,0.65569231,1793,11/3/2019 13:13,male,1,2000,
-1.37333333,1.47775,1.68842857,1.5612,1794,11/3/2019 14:57,male,1,1981,
-1.1412,1.02185714,1.2068,1.19722222,1795,11/3/2019 15:39,male,1,1970,
-1.84533333,1.5116,2.20075,2.258,1796,11/3/2019 15:57,male,1,1954,
-0.8222,0.74811111,0.60388235,1.139,1797,11/3/2019 16:04,male,1,1975,
-0.68966667,0.49457143,0.5585,0.9215,1798,11/8/2019 7:39,male,1,2000,3
-0.571,0.78933333,0.687,0.837,1798,11/9/2019 7:08,male,1,2000,3
-0.753,0.581,0.6925,0.927,1798,11/6/2019 7:28,male,1,2000,3
-0.59358824,0.76716667,0.67033333,0.76677778,1798,11/10/2019 10:55,male,1,2000,3
-0.72690909,0.76855556,0.7255,0.778625,1798,11/7/2019 7:32,male,1,2000,3
-0.6675,0.60933333,0.568,0.8445,1798,12/16/2019 19:39,male,1,2000,3
-0.49235,0.51525,0.553125,0.56375,1799,11/3/2019 23:15,male,1,2000,
-0.59726667,0.687,0.77666667,0.7783,1799,11/10/2019 12:32,male,1,2000,
-0.71106667,0.57876923,0.72275,0.76990909,1800,11/6/2019 13:29,male,1,1995,
-0.57927273,0.50635714,0.52705882,0.54238462,1800,11/10/2019 16:07,male,1,1995,
-0.65355556,0.56745455,0.6575,0.78311111,1800,11/7/2019 14:19,male,1,1995,
-0.9155,1.3585,0.764,1.27155556,1800,11/4/2019 13:41,male,1,1995,
-0.6637,0.56133333,0.69338462,0.61122222,1800,11/8/2019 10:36,male,1,1995,
-0.69675,0.65716667,0.7235,0.78,1800,11/5/2019 15:00,male,1,1995,
-0.5561875,0.514625,0.62836364,0.63853846,1800,11/9/2019 15:46,male,1,1995,
-0.61727273,0.65653846,0.71,0.51727273,1801,11/8/2019 8:37,female,1,2000,
-0.70254545,0.78425,0.808875,0.731,1801,11/4/2019 8:22,female,1,2000,
-0.611625,0.62122222,0.60905556,0.5755,1801,11/9/2019 8:05,female,1,2000,
-0.94155556,0.75390909,0.7784,0.58288889,1801,11/6/2019 8:27,female,1,2000,
-0.6659,0.56614286,0.576625,0.65533333,1801,11/10/2019 18:53,female,1,2000,
-0.88625,0.584,1.009,1.0626,1801,11/7/2019 8:20,female,1,2000,
-0.77188889,0.56258333,0.815,0.54916667,1802,11/10/2019 10:40,female,1,2000,
-0.64233333,0.621,1.115,0.773,1802,11/5/2019 10:20,female,1,2000,
-1.0918,0.62842857,0.69822222,0.726125,1802,11/5/2019 10:24,female,1,2000,
-0.721,0.562,0.57475,0.64690909,1802,11/8/2019 11:22,female,1,2000,
-0.72942857,0.74866667,0.574,1.05433333,1802,11/6/2019 11:04,female,1,2000,
-0.7432,0.7325,0.69033333,0.74754545,1802,11/9/2019 10:30,female,1,2000,
-0.68236364,0.59353333,0.67675,0.8374,1802,11/7/2019 15:48,female,1,2000,
-0.77071429,0.909,1.05455556,1.09,1802,11/4/2019 7:38,female,1,2000,
-0.79177778,0.94633333,0.789,1.01871429,1803,11/7/2019 10:51,male,1,2000,
-1.1108,1.0712,1.36655556,1.6695,1803,11/4/2019 7:03,male,1,2000,
-1.013125,0.74688889,0.8783,0.969,1803,11/8/2019 7:55,male,1,2000,
-0.99255556,0.758,0.77942857,1.1285,1803,11/5/2019 9:59,male,1,2000,
-1.11271429,1.039125,1.4904,1.2242,1803,11/9/2019 22:53,male,1,2000,
-0.83466667,0.8201,0.902,0.91,1803,11/6/2019 8:31,male,1,2000,
-0.890625,1.00671429,1.19433333,1.20828571,1803,11/10/2019 6:45,male,1,2000,
-0.97,0.96666667,0.72054545,1.00157143,1804,11/4/2019 7:10,male,1,2000,
-0.71555556,0.86166667,0.6315,0.96111111,1804,11/8/2019 17:04,male,1,2000,
-0.6124,0.71083333,0.75422222,0.69658333,1804,11/5/2019 7:12,male,1,2000,
-0.60485714,0.806375,0.67138462,0.78314286,1804,11/9/2019 7:10,male,1,2000,
-0.60708333,0.949,0.68376923,0.72190909,1804,11/6/2019 7:13,male,1,2000,
-0.57735714,0.62607692,0.6742,0.60490909,1804,11/10/2019 7:16,male,1,2000,
-0.567875,0.67841667,0.6476875,0.6862,1804,11/7/2019 7:10,male,1,2000,
-0.7427,0.61577778,0.59207692,0.62378571,1805,11/5/2019 7:57,male,1,2000,3
-0.59528571,0.47417647,0.57221429,0.578,1805,11/9/2019 8:06,male,1,2000,3
-0.554,0.64,0.6935,0.54633333,1805,11/6/2019 8:46,male,1,2000,3
-0.55015385,0.533,0.58481818,0.62615385,1805,11/11/2019 10:25,male,1,2000,3
-0.67288889,0.574,0.62629412,0.69046154,1805,11/7/2019 7:44,male,1,2000,3
-0.71041667,0.62841667,0.6628,0.56141667,1805,11/8/2019 7:59,male,1,2000,3
-0.7208,0.538,0.60733333,0.709,1805,11/4/2019 8:03,male,1,2000,3
-0.5942,0.63023077,0.75166667,0.60373333,1806,11/6/2019 7:33,female,1,2001,4
-0.54592308,0.59342857,0.61157895,0.51938462,1806,11/9/2019 10:54,female,1,2001,4
-0.65890909,0.59723077,0.806875,0.665,1806,11/7/2019 9:28,female,1,2001,4
-0.6703,0.61075,0.6722,0.48054545,1806,11/10/2019 11:15,female,1,2001,4
-0.72458333,0.673125,0.78225,0.6834,1806,11/4/2019 7:51,female,1,2001,4
-0.69025,0.68771429,0.79233333,0.623,1806,11/7/2019 9:29,female,1,2001,4
-0.6508,0.6814,0.793,0.55526667,1806,11/5/2019 9:59,female,1,2001,4
-0.69466667,0.57230769,0.62258333,0.5885,1806,11/8/2019 9:26,female,1,2001,4
-0.52325,0.7674,0.59385714,0.580125,1807,11/6/2019 7:36,male,1,2000,
-0.62925,0.68933333,0.6185625,0.60309091,1807,11/10/2019 10:21,male,1,2000,
-0.72614286,0.77008333,0.63053846,0.55023077,1807,11/7/2019 8:23,male,1,2000,
-0.69209091,0.88325,0.724,0.58045455,1807,11/4/2019 7:55,male,1,2000,
-0.50123077,0.63738462,0.7625,0.67281818,1807,11/8/2019 9:59,male,1,2000,
-0.57123529,0.71781818,0.57784615,0.62328571,1807,11/5/2019 7:37,male,1,2000,
-0.536,0.83933333,0.569875,0.53185714,1807,11/9/2019 11:32,male,1,2000,
-0.68075,0.69272727,0.6238,0.65,1808,11/7/2019 7:31,male,1,2000,
-1.08183333,0.89454545,0.7947,0.659625,1808,11/4/2019 7:55,male,1,2000,
-0.67709091,0.674,0.681,0.615,1808,11/8/2019 10:37,male,1,2000,
-0.96633333,0.9112,1.421,0.858375,1808,11/5/2019 7:41,male,1,2000,
-1.04416667,0.67145455,0.82536364,0.6641,1808,11/9/2019 18:04,male,1,2000,
-0.686,0.873,0.80957143,0.5935,1808,11/6/2019 7:31,male,1,2000,
-0.682375,0.7721,0.64266667,0.76881818,1808,11/10/2019 9:24,male,1,2000,
-0.92014286,0.792,0.94355556,1.1028,1809,11/4/2019 8:08,female,1,2000,
-0.9736,0.73625,0.84433333,0.69816667,1809,11/8/2019 7:45,female,1,2000,
-0.96883333,0.78777778,1.209,0.85714286,1809,11/5/2019 10:42,female,1,2000,
-0.89954545,0.73118182,0.957,1.117375,1809,11/6/2019 7:24,female,1,2000,
-1.18083333,0.82309091,1.029625,0.77214286,1809,11/7/2019 18:28,female,1,2000,
-0.9232,0.83116667,0.75709091,0.80935714,1810,11/4/2019 8:16,male,1,2001,
-0.99566667,0.683,0.65983333,0.6825,1810,11/5/2019 10:07,male,1,2001,
-0.574,0.55006667,0.6976,0.6555,1811,11/5/2019 7:17,male,1,2001,
-0.592,0.56453333,0.65185714,0.553,1811,11/9/2019 7:19,male,1,2001,
-0.56181818,0.70944444,0.72,0.589,1811,11/6/2019 7:02,male,1,2001,
-0.569,0.60026667,0.5958,0.57541667,1811,11/10/2019 11:08,male,1,2001,
-0.55566667,0.745,0.69,0.71338462,1811,11/7/2019 7:32,male,1,2001,
-0.49886667,0.57723077,0.5684375,0.52836364,1811,12/16/2019 17:54,male,1,2001,
-0.72733333,0.73377778,0.66942857,0.7268,1811,11/4/2019 8:27,male,1,2001,
-0.6951,0.81263636,0.67744444,0.72527273,1811,11/8/2019 7:19,male,1,2001,
-0.5655,0.61215385,0.74442857,0.665,1812,11/5/2019 8:07,female,1,2001,
-0.50805882,0.69275,0.64175,0.57022222,1812,11/9/2019 8:55,female,1,2001,
-0.62073333,0.62875,0.60527273,0.57636364,1812,11/10/2019 9:56,female,1,2001,
-0.61822222,0.5568,0.59666667,0.56553333,1812,11/6/2019 7:37,female,1,2001,
-0.67122222,0.6391875,0.50576471,0.62775,1812,11/7/2019 8:25,female,1,2001,
-0.57227778,0.65764706,0.6225,0.57683333,1812,11/4/2019 8:39,female,1,2001,
-0.60658333,0.6683,0.6147,0.65071429,1812,11/8/2019 8:46,female,1,2001,
-0.71166667,0.717,0.81833333,0.63,1813,11/4/2019 9:13,female,1,2000,
-0.58721429,0.79344444,0.76366667,0.70181818,1813,11/5/2019 11:40,female,1,2000,
-0.6854,0.7564,0.92666667,0.64918182,1814,11/4/2019 9:12,female,1,2000,
-0.735,0.71981818,0.6585,0.52623077,1814,11/5/2019 11:07,female,1,2000,
-0.88088889,0.5369,0.614,0.61863636,1814,11/5/2019 11:08,female,1,2000,
-0.59233333,0.9435,0.71733333,0.746,1816,11/6/2019 8:34,male,1,2000,
-0.5755,0.6315,0.635,0.52975,1816,11/7/2019 8:36,male,1,2000,
-0.63488889,0.61909091,0.71125,0.566125,1816,11/9/2019 7:49,male,1,2000,
-0.573,0.834,0.724,0.91,1816,11/4/2019 10:21,male,1,2000,
-0.76238462,0.69590909,0.6865,0.752,1816,11/10/2019 13:49,male,1,2000,
-0.7325,0.61411111,0.771,0.523,1817,11/4/2019 10:36,male,1,2000,3
-0.65254545,0.53615,0.688875,0.8,1817,11/8/2019 8:36,male,1,2000,3
-0.66018182,0.92428571,0.60815385,0.91155556,1817,11/5/2019 8:03,male,1,2000,3
-0.57282353,0.6355,0.867875,0.863875,1817,11/9/2019 7:47,male,1,2000,3
-0.667375,0.60983333,0.7701,0.73561538,1817,11/6/2019 8:40,male,1,2000,3
-0.53933333,0.53207692,0.63007692,0.7180625,1817,11/10/2019 21:14,male,1,2000,3
-0.64335714,0.59838462,0.7767,0.59155556,1817,11/7/2019 8:38,male,1,2000,3
-0.5209,0.5223,0.59516667,0.46566667,1818,11/5/2019 8:21,male,1,2000,
-0.531,0.524375,0.54594444,0.5304,1818,11/9/2019 8:22,male,1,2000,
-0.65561538,0.51221429,0.58675,0.54494118,1818,11/6/2019 10:49,male,1,2000,
-0.48742857,0.45492857,0.501,0.555,1818,11/10/2019 17:44,male,1,2000,
-0.54526667,0.5807,0.4966875,0.5009375,1818,11/7/2019 10:20,male,1,2000,
-0.57505882,0.52466667,0.64108333,0.59211111,1818,11/4/2019 10:50,male,1,2000,
-0.50890476,0.52807143,0.60327273,0.602875,1818,11/8/2019 8:55,male,1,2000,
-0.98888889,0.77372727,0.97728571,0.891,1819,11/4/2019 12:07,female,1,2001,
-0.64133333,0.55327273,0.6763,0.56755556,1820,11/6/2019 12:09,female,1,2000,3
-1.141,0.7835,0.87666667,0.821,1820,11/10/2019 12:48,female,1,2000,3
-0.586,0.676875,0.6045,0.53383333,1820,11/6/2019 12:16,female,1,2000,3
-0.64692857,0.6547,0.623,0.5609,1820,11/7/2019 16:26,female,1,2000,3
-0.61825,0.71666667,0.5488,0.5406,1820,11/6/2019 12:08,female,1,2000,3
-0.71022222,0.7165,0.781625,0.63477778,1820,11/8/2019 14:59,female,1,2000,3
-0.70266667,0.91785714,1.13828571,1.011,1821,11/7/2019 16:51,female,1,2000,
-0.65930769,0.78914286,0.65516667,0.81122222,1821,11/10/2019 16:48,female,1,2000,
-1.02566667,0.90771429,0.74777778,0.7055,1821,11/4/2019 15:10,female,1,2000,
-0.77525,0.92433333,0.6515,0.708,1821,11/8/2019 16:33,female,1,2000,
-0.81008333,0.9699,0.953125,0.76766667,1821,11/5/2019 14:41,female,1,2000,
-0.77525,0.92433333,0.6515,0.708,1821,11/8/2019 16:33,female,1,2000,
-0.75011111,0.85890909,0.79971429,0.8016,1821,11/6/2019 11:21,female,1,2000,
-0.70773333,0.9004,0.52091667,0.7592,1821,11/10/2019 15:57,female,1,2000,
-0.6444,0.6261875,0.669,0.6787,1822,11/8/2019 16:59,male,1,1999,
-0.97555556,0.9698,0.720625,0.75021429,1822,11/4/2019 17:03,male,1,1999,
-0.6975,0.5505625,0.919,0.52408333,1822,11/10/2019 14:26,male,1,1999,
-0.73615385,0.68236364,0.837375,0.62966667,1822,11/6/2019 16:26,male,1,1999,
-0.70071429,0.6607,0.9535,0.63811111,1822,11/10/2019 17:33,male,1,1999,
-0.64792308,0.64263636,0.66416667,0.57363636,1822,11/7/2019 16:12,male,1,1999,
-1.057,0.892375,1.12972727,0.83733333,1823,11/5/2019 22:20,female,1,2000,
-0.7318,0.738875,0.897,1.104,1823,11/10/2019 18:25,female,1,2000,
-0.70128571,0.703,0.93433333,0.68009091,1823,11/6/2019 13:41,female,1,2000,
-0.7795,1.0472,0.85883333,1.155,1823,11/10/2019 18:58,female,1,2000,
-0.883,1.15,0.92711111,0.82754545,1823,11/7/2019 16:35,female,1,2000,
-0.78554545,0.6643,0.933,1.005875,1823,11/4/2019 17:35,female,1,2000,
-0.73483333,0.68388889,0.98257143,1.16133333,1823,11/8/2019 9:09,female,1,2000,
-0.89483333,0.66092857,0.72975,0.66264286,1824,11/4/2019 20:12,male,1,2000,
-0.62608333,0.57181818,0.5226875,0.57530769,1824,11/4/2019 20:57,male,1,2000,
-0.766,0.54164706,0.68455556,0.839375,1824,11/4/2019 20:22,male,1,2000,
-0.7319,0.64471429,0.9675,0.9975,1824,11/4/2019 19:52,male,1,2000,
-0.889625,0.56044444,0.735,0.84081818,1824,11/4/2019 20:34,male,1,2000,
-0.68207143,0.53691667,0.7754,0.828,1824,11/4/2019 20:03,male,1,2000,
-0.6709,0.57586667,0.70342857,0.5889375,1824,11/4/2019 20:45,male,1,2000,
-0.63675,0.7686,1.05216667,1.247875,1825,11/4/2019 19:56,male,1,2000,
-0.77125,0.76877778,0.953625,0.94011111,1825,11/8/2019 18:44,male,1,2000,
-0.65891667,0.63957143,0.50166667,0.59390909,1826,11/5/2019 8:47,male,1,2000,
-0.58390909,0.57207692,0.6465,0.50946154,1826,11/12/2019 0:36,male,1,2000,
-0.6825,0.59536364,0.87333333,0.54983333,1826,11/7/2019 8:39,male,1,2000,
-0.639,0.8345,0.75781818,0.653,1826,11/9/2019 8:27,male,1,2000,
-0.55238462,0.6336,0.64166667,0.79436364,1826,11/4/2019 19:50,male,1,2000,
-0.598125,0.59958333,0.63635294,0.48242857,1826,11/11/2019 3:02,male,1,2000,
-0.509,0.65,0.51971429,0.55371429,1827,11/4/2019 19:51,male,1,2000,
-0.563875,0.507,0.5309,0.53028571,1827,11/6/2019 1:08,male,1,2000,
-0.704,0.586,0.79375,0.64709091,1827,11/7/2019 0:11,male,1,2000,
-0.65557143,0.66472727,0.66436364,0.68875,1829,11/4/2019 20:11,male,1,2000,
-0.70525,1.11966667,0.619,0.80884615,1830,11/11/2019 3:31,female,1,2000,
-0.56166667,0.65728571,0.92781818,0.6492,1830,11/4/2019 20:44,female,1,2000,
-0.78341667,0.788375,0.69854545,0.58745455,1830,11/11/2019 3:36,female,1,2000,
-0.92685714,0.799,0.81075,0.55757143,1830,11/11/2019 2:44,female,1,2000,
-0.58627273,0.74442857,0.54964286,0.59685714,1830,11/11/2019 3:42,female,1,2000,
-0.726,1.066,0.645,0.61,1830,11/11/2019 3:26,female,1,2000,
-0.5642,0.814,0.6715,0.47044444,1830,11/11/2019 3:53,female,1,2000,
-1.271,0.5906,0.710375,0.608375,1831,11/4/2019 21:17,male,1,2000,
-0.59873333,0.62146154,0.589,0.57046154,1832,11/7/2019 7:29,male,1,1997,
-0.5488,0.51375,0.5078,0.56266667,1832,11/4/2019 21:33,male,1,1997,
-0.70444444,0.5338125,0.6175,0.84061538,1832,11/8/2019 9:12,male,1,1997,
-0.64690909,0.663,0.6454,0.7968,1832,11/5/2019 8:15,male,1,1997,
-0.753,0.724,0.7588,0.976,1832,11/9/2019 7:25,male,1,1997,
-0.6225,0.7195,0.589625,0.64084211,1832,11/6/2019 7:38,male,1,1997,
-0.71555556,0.61557143,0.66635714,0.74976923,1832,11/10/2019 23:35,male,1,1997,
-0.73928571,0.7678,0.82875,0.77875,1834,11/5/2019 18:53,female,1,2000,
-0.588375,0.734,0.68876923,0.73307143,1834,11/5/2019 19:14,female,1,2000,
-0.6354,0.76353846,0.719625,0.927,1835,11/7/2019 20:52,male,1,2000,
-0.6864,0.67228571,0.76528571,0.881875,1835,11/8/2019 22:02,male,1,2000,
-0.59433333,0.67908333,0.66207692,0.83855556,1835,11/4/2019 21:52,male,1,2000,
-0.72990909,0.6628,0.853,0.80788889,1835,11/9/2019 18:05,male,1,2000,
-0.51164706,0.77428571,0.56944444,0.60818182,1835,11/5/2019 18:12,male,1,2000,
-0.671625,0.64241667,0.75272727,0.6965,1835,11/10/2019 19:49,male,1,2000,
-0.93557143,1.0075,1.07625,0.96427273,1836,11/4/2019 22:00,female,1,2001,
-0.724,0.80677778,0.8911,0.8332,1836,11/4/2019 22:00,female,1,2001,
-0.75842857,0.829,0.8715,0.884625,1836,11/5/2019 18:01,female,1,2001,
-0.67653846,0.82655556,0.691875,1.06071429,1836,11/6/2019 18:12,female,1,2001,
-0.804,0.669,0.549625,0.55742857,1837,11/4/2019 22:08,male,1,2000,
-0.54,0.46233333,0.48041176,0.51838889,1837,11/8/2019 19:53,male,1,2000,
-0.56946154,0.55654545,0.51942857,0.58833333,1837,11/5/2019 9:01,male,1,2000,
-0.54481818,0.57630769,0.49792857,0.46542105,1837,11/9/2019 21:46,male,1,2000,
-0.5813,0.6738,0.66371429,0.57621429,1837,11/6/2019 7:09,male,1,2000,
-0.57191667,0.51175,0.55442857,0.51276923,1837,11/10/2019 10:27,male,1,2000,
-0.60053846,0.56646154,0.5365,0.64136364,1837,11/7/2019 7:40,male,1,2000,
-0.53528571,0.50364286,0.53247059,0.88285714,1838,11/4/2019 22:16,male,1,2000,
-0.57415385,0.52081818,0.63242857,0.56166667,1838,11/4/2019 22:15,male,1,2000,
-0.677,0.68125,0.5996,0.62430769,1839,11/4/2019 22:45,male,1,2000,
-0.8218,0.6974,0.7236,0.9795,1840,11/4/2019 22:50,male,1,2000,
-0.95171429,0.79142857,0.857,0.97377778,1841,11/5/2019 18:27,female,1,2000,
-0.74923077,0.79116667,0.72708333,0.95528571,1841,11/4/2019 23:01,female,1,2000,
-0.6265,0.69033333,0.5678,1.3275,1842,11/4/2019 23:05,male,1,2000,
-0.82075,0.66083333,0.91325,1.22,1843,11/6/2019 14:22,male,1,2000,
-0.756,0.68225,0.78055556,0.92214286,1843,11/10/2019 17:10,male,1,2000,
-0.91383333,0.72957143,0.8015,0.92992308,1843,11/8/2019 19:22,male,1,2000,
-1.0235,0.76028571,0.85663636,1.1128,1843,11/4/2019 23:22,male,1,2000,
-0.7696,0.67090909,0.83457143,0.8216,1843,11/8/2019 19:31,male,1,2000,
-0.82111111,0.85955556,0.77715385,0.66585714,1843,11/6/2019 14:09,male,1,2000,
-1.002,0.631,0.88716667,1.0403,1843,11/10/2019 17:00,male,1,2000,
-0.57322222,0.5292,0.64571429,0.59142857,1844,11/8/2019 18:48,male,0,2001,
-0.57266667,0.610125,0.63235714,0.61866667,1844,11/8/2019 23:46,male,0,2001,
-0.5455,0.55911111,0.56975,0.7595,1844,11/4/2019 23:45,male,0,2001,
-0.654,0.61715385,0.55053846,0.5843125,1844,11/11/2019 2:49,male,0,2001,
-0.64811111,0.587625,0.62533333,0.59083333,1844,11/5/2019 23:38,male,0,2001,
-0.57641667,0.509,0.5263,0.572,1844,11/11/2019 2:49,male,0,2001,
-0.63542857,0.56853846,0.59657143,0.79041667,1844,11/8/2019 0:07,male,0,2001,
-0.643,0.77345455,0.59492857,0.60625,1845,11/5/2019 0:16,female,1,2000,
-0.52571429,0.59172727,0.51786667,0.64069231,1845,11/9/2019 11:58,female,1,2000,
-0.62192857,0.6372,0.65578571,0.51427273,1845,11/6/2019 8:04,female,1,2000,
-0.4825,0.5233,0.60271429,0.5934,1845,11/10/2019 12:48,female,1,2000,
-0.49176471,0.67166667,0.68257143,0.51853333,1845,11/7/2019 20:05,female,1,2000,
-0.5604,0.65806667,0.57176923,0.52130769,1845,11/8/2019 14:20,female,1,2000,
-0.54346667,0.95157143,0.60535714,0.50961538,1846,11/6/2019 9:16,male,1,2000,
-0.63125,0.645375,0.71928571,0.73669231,1846,11/10/2019 14:40,male,1,2000,
-0.69511111,0.86781818,0.676,0.819375,1846,11/5/2019 0:26,male,1,2000,
-0.6851,0.8421,0.65118182,0.848,1846,11/5/2019 7:44,male,1,2000,
-0.86142857,0.8705,0.78416667,0.88688889,1847,11/6/2019 0:11,male,1,2000,
-0.67571429,0.94475,0.6495625,0.71555556,1847,11/7/2019 0:41,male,1,2000,
-0.535,0.56235714,0.60746667,0.68254545,1848,11/6/2019 10:53,male,1,2000,
-0.54627273,0.70316667,0.6845,0.65633333,1849,11/8/2019 22:33,female,1,2000,2
-0.71211111,0.8035,0.497,0.8545,1849,11/5/2019 9:22,female,1,2000,2
-0.59422222,0.79854545,0.7825,0.6117,1849,11/9/2019 14:53,female,1,2000,2
-0.57653846,0.62314286,0.74966667,0.536375,1849,11/6/2019 8:21,female,1,2000,2
-0.7645,0.86218182,0.9946,0.8548,1849,11/10/2019 12:30,female,1,2000,2
-0.4742,0.65883333,0.666875,0.62877778,1849,11/7/2019 15:38,female,1,2000,2
-1.3945,0.94275,1.277,1.1838,1851,11/5/2019 10:36,female,1,2000,
-1.04133333,0.74511111,0.8255,0.86666667,1851,11/10/2019 13:20,female,1,2000,
-1.0312,0.88155556,0.97455556,1.379,1851,11/6/2019 21:52,female,1,2000,
-0.817,0.74490909,0.5984,0.9107,1851,11/8/2019 10:24,female,1,2000,
-0.94022222,0.7978,0.96857143,0.90471429,1851,11/5/2019 10:16,female,1,2000,
-1.2325,1.0415,0.717625,1.16775,1851,11/9/2019 11:56,female,1,2000,
-0.67022222,0.705,0.72116667,0.7515,1852,11/10/2019 12:33,female,1,2000,
-0.795,0.81607692,0.686125,0.87658333,1852,11/5/2019 11:12,female,1,2000,
-0.7291,0.80433333,0.71016667,0.892625,1852,11/10/2019 12:46,female,1,2000,
-0.68325,0.7408,0.84455556,0.70976923,1852,11/5/2019 11:26,female,1,2000,
-0.7735,0.75746154,0.813,0.72333333,1852,11/10/2019 12:56,female,1,2000,
-0.76072727,0.86125,0.67955556,0.94166667,1852,11/10/2019 12:19,female,1,2000,
-0.6099,0.79416667,0.75781818,0.77442857,1852,11/10/2019 13:16,female,1,2000,
-1.112375,0.693625,0.81444444,1.01625,1853,11/5/2019 18:04,female,1,2000,
-0.76218182,0.70542857,0.756625,0.69114286,1853,11/11/2019 11:31,female,1,2000,
-0.715875,0.71778571,0.83275,0.7389,1853,11/8/2019 9:32,female,1,2000,
-0.8592,0.77866667,0.83833333,0.67177778,1853,11/11/2019 11:48,female,1,2000,
-1.2522,0.92733333,1.16166667,1.27042857,1853,11/8/2019 9:32,female,1,2000,
-1.8375,1.05416667,1.22,0.816,1853,11/8/2019 9:33,female,1,2000,
-1.34685714,0.73711111,0.68133333,0.686375,1854,11/7/2019 14:56,male,1,2000,
-0.82666667,0.73757143,0.6346,0.75554545,1854,11/8/2019 17:46,male,1,2000,
-0.88077778,0.74366667,0.93785714,0.71111111,1854,11/9/2019 11:55,male,1,2000,
-0.87675,0.711,0.77985714,0.703125,1854,11/5/2019 20:05,male,1,2000,
-0.74925,0.73033333,0.749,0.78308333,1854,11/6/2019 22:51,male,1,2000,
-0.60564286,0.64738462,0.60690909,0.91414286,1854,11/10/2019 12:21,male,1,2000,
-2.5615,1.47433333,1.239,2.322,1855,11/5/2019 20:21,female,1,2000,
-2.01933333,1.8185,1.203,1.3082,1855,11/10/2019 10:52,female,1,2000,
-1.377,1.025,1.3418,1.441,1855,11/7/2019 18:20,female,1,2000,
-1.07033333,1.19666667,1.283875,1.02533333,1855,11/10/2019 10:53,female,1,2000,
-1.37966667,0.94975,0.9545,1.13725,1855,11/10/2019 10:38,female,1,2000,
-1.1995,1.15,1.01928571,1.2124,1855,11/10/2019 10:55,female,1,2000,
-1.051,1.24025,1.21,1.3295,1855,11/10/2019 10:50,female,1,2000,
-0.96125,0.644,0.764,0.808125,1856,11/6/2019 10:23,male,1,2000,
-0.7179,1.49475,0.65116667,0.8785,1856,11/10/2019 13:52,male,1,2000,
-0.835625,0.76892857,0.79514286,0.935,1856,11/7/2019 8:28,male,1,2000,
-0.93,1.27088889,1.03366667,0.88645455,1856,11/10/2019 13:54,male,1,2000,
-0.79263636,0.85366667,0.7237,0.88342857,1856,11/10/2019 12:34,male,1,2000,
-0.92466667,1.0081,0.80075,1.12533333,1856,11/10/2019 13:56,male,1,2000,
-1.24216667,0.8516,0.7812,2.08575,1856,11/5/2019 22:22,male,1,2000,
-0.76871429,0.75725,0.80054545,1.06644444,1856,11/10/2019 12:55,male,1,2000,
-2.392,1.4165,3.212,1.1105,1857,11/5/2019 23:13,male,1,1998,
-0.567,0.54685714,0.53176923,0.57263636,1859,11/6/2019 8:20,male,1,2000,
-0.622625,0.68733333,0.73342857,0.75016667,1859,11/10/2019 13:28,male,1,2000,
-0.56285714,0.60569231,0.93672727,0.7136,1860,11/6/2019 13:28,male,0,2000,
-0.74016667,0.55333333,0.986,0.72375,1860,11/6/2019 9:07,male,0,2000,
-1.01533333,0.5435,1.605,0.573,1860,11/6/2019 13:27,male,0,2000,
-0.63255556,0.73016667,0.60430769,0.65372727,1861,11/10/2019 13:37,male,1,2000,
-0.56246154,0.6623,0.62407692,0.64916667,1861,11/6/2019 10:20,male,1,2000,
-0.5759,0.725,0.60316667,0.655375,1861,11/10/2019 13:38,male,1,2000,
-0.5964,0.636,0.825,0.596,1861,11/7/2019 8:34,male,1,2000,
-0.59858333,0.6602,0.55605882,0.538,1861,11/8/2019 12:48,male,1,2000,
-0.58475,0.5565,0.55733333,0.586,1863,11/6/2019 13:53,male,1,1995,
-0.677,0.686,0.85057143,0.61,1863,11/10/2019 16:40,male,1,1995,
-0.79341667,0.76875,0.80476923,0.82625,1863,11/10/2019 16:05,male,1,1995,
-1.20383333,1.332,0.8721,1.03457143,1863,11/6/2019 12:44,male,1,1995,
-0.7085,0.6455,0.80176923,1.009625,1863,11/10/2019 16:17,male,1,1995,
-0.72592308,0.7236,1.0345,0.94477778,1863,11/6/2019 13:03,male,1,1995,
-0.74708333,0.6858,0.8365,0.7615,1863,11/10/2019 16:28,male,1,1995,
-0.60881818,0.579,0.77645455,0.87471429,1865,11/9/2019 10:44,male,1,2000,
-0.80690909,0.95266667,0.86114286,0.96116667,1865,11/6/2019 17:06,male,1,2000,
-0.97325,0.64614286,0.68625,0.822,1865,11/9/2019 10:57,male,1,2000,
-0.8742,0.6305,0.89266667,0.93111111,1865,11/7/2019 15:45,male,1,2000,
-0.887625,0.57486667,0.7258,0.76288889,1865,11/11/2019 17:26,male,1,2000,
-0.72655556,0.66673333,0.6125,0.70941667,1865,11/7/2019 23:08,male,1,2000,
-0.64413333,0.6083,0.69657143,0.596,1865,11/11/2019 17:41,male,1,2000,
-0.69791667,0.65130769,0.90044444,0.8315,1866,11/10/2019 22:59,female,1,2000,
-0.77425,0.908,0.612,0.83366667,1866,11/6/2019 18:11,female,1,2000,
-0.7315,0.63357143,0.75577778,0.82209091,1866,11/10/2019 23:00,female,1,2000,
-0.87825,0.94442857,0.74314286,0.657,1866,11/10/2019 22:55,female,1,2000,
-0.65933333,0.9414,0.88825,0.7434,1866,11/10/2019 23:01,female,1,2000,
-0.7642,0.98942857,0.86271429,0.77327273,1866,11/10/2019 22:58,female,1,2000,
-0.92785714,0.9017,1.105875,1.0252,1866,11/10/2019 22:59,female,1,2000,
-0.49085714,0.46011765,0.49475,0.4504,1870,11/7/2019 8:19,male,1,2000,
-0.9288,0.87571429,1.19766667,0.86457143,1887,11/9/2019 17:32,male,1,2001,
-0.74475,0.55166667,0.6765,0.6255,1887,11/9/2019 17:36,male,1,2001,
-0.67177778,0.6798,0.913625,0.65507143,1887,11/9/2019 17:33,male,1,2001,
-0.5454,0.60966667,0.59306667,0.74771429,1887,11/9/2019 17:38,male,1,2001,
-0.65733333,0.56427273,0.62272222,0.848,1887,11/9/2019 17:34,male,1,2001,
-0.59085714,0.616125,0.60082353,0.625,1887,11/9/2019 17:40,male,1,2001,
-0.66954545,0.61033333,0.6725,0.75627273,1887,11/9/2019 17:35,male,1,2001,
-0.7075,0.65071429,0.61663636,0.64246667,1887,11/9/2019 17:47,male,1,2001,
-1.51785714,1.207,1.37566667,1.13371429,1888,11/7/2019 17:35,female,1,1999,
-0.65207143,0.79671429,0.6893,0.62425,1888,11/10/2019 15:14,female,1,1999,
-0.96833333,1.451875,1.375,1.07088889,1888,11/7/2019 18:43,female,1,1999,
-0.67688889,0.62385714,0.58083333,0.66071429,1888,11/10/2019 15:15,female,1,1999,
-0.83392308,0.92,1.1614,0.8788,1888,11/7/2019 18:45,female,1,1999,
-0.67181818,0.62,0.65486667,0.54292308,1888,11/10/2019 15:16,female,1,1999,
-0.76257143,0.929,0.84177778,0.75744444,1888,11/10/2019 15:12,female,1,1999,
-0.727,0.851,0.861,0.8246,1889,11/7/2019 15:25,female,1,2001,
-0.6914,0.871,0.69592308,0.708,1889,11/10/2019 15:05,female,1,2001,
-0.75118182,0.8762,0.81311111,0.847,1889,11/7/2019 15:38,female,1,2001,
-0.77342857,0.7973,0.86911111,0.78845455,1889,11/10/2019 15:22,female,1,2001,
-0.631375,0.82488889,0.7358,0.8275,1889,11/8/2019 22:10,female,1,2001,
-0.72085714,0.74825,0.75858333,0.85175,1889,11/10/2019 21:04,female,1,2001,
-0.8019,0.7831,0.78233333,0.9063,1889,11/7/2019 15:14,female,1,2001,
-0.733,0.73544444,0.88228571,0.8313,1889,11/10/2019 14:56,female,1,2001,
-0.53269231,0.504,0.51184615,0.50570588,1890,11/8/2019 7:47,male,1,2000,
-0.7469,0.91855556,0.6776,0.66763636,1891,11/8/2019 11:14,female,1,2000,
-0.6775,0.73108333,0.89136364,0.6922,1891,11/8/2019 13:00,female,1,2000,
-0.67384615,0.86933333,0.648,0.49035714,1891,11/8/2019 11:29,female,1,2000,
-0.60976923,1.07744444,0.726375,0.61266667,1891,11/8/2019 11:44,female,1,2000,
-0.97183333,0.81735714,0.87328571,0.6027,1891,11/8/2019 12:58,female,1,2000,
-0.909875,0.832,0.79792857,1.11085714,1892,11/9/2019 15:28,female,1,2000,
-0.89091667,0.871,0.78633333,0.9061,1892,11/8/2019 16:03,female,1,2000,
-1.01785714,0.92733333,0.95125,0.749,1892,11/10/2019 19:14,female,1,2000,
-0.979,0.76246154,0.75511111,1.07,1892,11/8/2019 16:20,female,1,2000,
-0.72571429,0.88345455,1.02225,0.95636364,1892,11/10/2019 19:38,female,1,2000,
-0.956375,0.7473,0.8555,0.79022222,1892,11/8/2019 16:28,female,1,2000,
-0.88888889,1.26428571,0.733625,1.3136,1892,11/10/2019 19:38,female,1,2000,
-0.8536,0.84933333,0.75071429,0.918,1893,11/8/2019 16:58,male,1,2000,
-0.886,0.8225,0.6839375,1.01616667,1894,11/8/2019 23:18,male,1,2000,
-0.6368,0.84475,0.68966667,0.82657143,1895,11/9/2019 0:07,male,1,2000,
-0.57244444,0.62638462,0.56942857,0.6696,1896,11/9/2019 14:25,female,1,1999,
-0.68433333,0.79025,0.706,0.883,1896,11/9/2019 14:34,female,1,1999,
-0.75833333,0.756875,0.7407,0.84575,1896,11/9/2019 14:27,female,1,1999,
-0.54163158,0.53941667,0.4962,0.54566667,1896,11/9/2019 14:35,female,1,1999,
-0.73416667,0.6005,0.68975,0.7394,1896,11/9/2019 14:28,female,1,1999,
-0.96742857,0.77025,0.7676,0.9233,1896,11/9/2019 14:22,female,1,1999,
-0.7702,0.68733333,0.86988889,0.619375,1896,11/9/2019 14:30,female,1,1999,
-0.59333333,0.589,0.6088,0.636,1897,11/9/2019 15:37,male,1,2000,
-0.651,0.65755556,0.59030769,0.64292857,1897,11/9/2019 16:33,male,1,2000,
-0.6896,0.539375,0.61325,0.6689,1897,11/9/2019 16:28,male,1,2000,
-0.5171,0.6042,0.70566667,0.84136364,1897,11/9/2019 16:34,male,1,2000,
-0.6605,0.69715385,0.8045,0.69728571,1897,11/9/2019 15:29,male,1,2000,
-0.70163636,0.6965,0.56458333,0.75214286,1897,11/9/2019 16:30,male,1,2000,
-0.6272,0.656,0.70746667,0.56146154,1897,11/9/2019 15:35,male,1,2000,
-0.70736364,0.57630769,0.565375,0.60755556,1897,11/9/2019 16:32,male,1,2000,
-0.547125,0.50335714,0.57305882,0.5474375,1898,11/9/2019 21:11,male,1,2000,
-0.56606667,0.52282353,0.56155556,0.52621429,1898,11/9/2019 21:53,male,1,2000,
-0.51721429,0.53738462,0.58276923,0.52686667,1898,11/9/2019 21:12,male,1,2000,
-0.64866667,0.61233333,0.545,0.572125,1898,11/9/2019 20:48,male,1,2000,
-0.5465,0.48009091,0.51963158,0.59213333,1898,11/9/2019 21:14,male,1,2000,
-0.556,0.58138462,0.5125,0.54966667,1898,11/9/2019 20:58,male,1,2000,
-0.50145455,0.497375,0.554625,0.55753846,1898,11/9/2019 21:52,male,1,2000,
-0.4555,0.54745455,0.5286,0.6439375,1899,11/9/2019 23:59,male,1,2000,
-0.79633333,0.98711111,0.68525,0.876,1901,11/10/2019 11:02,male,1,2001,
-0.24096552,0.34416667,0.21386364,0.15095238,1901,11/10/2019 11:09,male,1,2001,
-0.34211111,0.607,0.33542105,0.24009091,1901,11/10/2019 11:04,male,1,2001,
-0.64107692,0.795625,0.752,0.72658333,1901,11/10/2019 10:56,male,1,2001,
-0.25727586,0.33509091,0.26878571,0.12971429,1901,11/10/2019 11:06,male,1,2001,
-0.48909091,0.60929412,0.85766667,0.74233333,1901,11/10/2019 11:01,male,1,2001,
-0.34415,0.40025,0.2686,0.159,1901,11/10/2019 11:07,male,1,2001,
-0.6133,0.52841667,0.5928,0.64269231,1902,11/10/2019 11:14,male,1,2000,
-0.52878571,0.62038462,0.695,0.64966667,1904,11/10/2019 15:24,male,1,2000,
-0.76133333,1.00466667,0.99533333,0.58185714,1905,11/11/2019 0:25,female,1,2000,
-0.479,1.03114286,0.45473684,0.4589375,1905,11/11/2019 0:31,female,1,2000,
-0.65433333,0.9055,0.89333333,0.68691667,1905,11/11/2019 0:26,female,1,2000,
-0.49461111,0.45395,0.23476471,0.40488889,1905,11/11/2019 0:32,female,1,2000,
-0.738,0.7874,0.89914286,0.56958333,1905,11/11/2019 0:28,female,1,2000,
-0.65991667,1.0728,0.684,0.49283333,1905,11/11/2019 0:29,female,1,2000,
-0.908125,0.87933333,1.6698,1.2194,1905,11/11/2019 0:23,female,1,2000,
-0.84933333,0.73655556,0.7865,0.8526,1906,11/10/2019 17:22,male,1,2000,
-0.69707692,0.60146154,0.72725,0.6646,1906,11/10/2019 17:33,male,1,2000,
-0.72255556,0.657625,0.59875,0.5645,1906,11/10/2019 17:25,male,1,2000,
-0.73728571,0.811875,0.94925,0.668625,1906,11/10/2019 17:11,male,1,2000,
-0.9348,1.0382,0.60692308,0.746,1906,11/10/2019 17:26,male,1,2000,
-0.81569231,0.73685714,0.67125,0.721375,1906,11/10/2019 17:20,male,1,2000,
-0.81814286,0.736,0.606,0.75985714,1906,11/10/2019 17:31,male,1,2000,
-0.8155,0.74041667,0.7934,0.68523077,1908,11/10/2019 17:16,male,1,2000,
-0.83311111,0.53155556,0.84933333,0.6018,1908,11/10/2019 17:36,male,1,2000,
-0.6863,0.83966667,0.93875,0.51527273,1908,11/10/2019 17:49,male,1,2000,
-0.66045455,0.8255,0.66627273,0.58766667,1909,11/10/2019 18:50,male,1,2000,
-0.5748,0.58357143,0.67157143,0.83138462,1909,11/10/2019 18:55,male,1,2000,
-0.5889,0.53221429,0.60658333,0.5594375,1909,11/10/2019 18:57,male,1,2000,
-0.55877778,0.50353333,0.7618,0.68771429,1909,11/10/2019 18:59,male,1,2000,
-0.59544444,0.63757143,0.8478,0.83078571,1909,11/10/2019 18:43,male,1,2000,
-0.636625,0.60888235,0.76155556,0.68972727,1909,11/10/2019 18:47,male,1,2000,
-0.66045455,0.8255,0.66627273,0.58766667,1909,11/10/2019 18:50,male,1,2000,
-0.5748,0.58357143,0.67157143,0.83138462,1909,11/10/2019 18:55,male,1,2000,
-0.5889,0.53221429,0.60658333,0.5594375,1909,11/10/2019 18:57,male,1,2000,
-0.55877778,0.50353333,0.7618,0.68771429,1909,11/10/2019 18:59,male,1,2000,
-0.636625,0.60888235,0.76155556,0.68972727,1909,11/10/2019 18:47,male,1,2000,
-0.66045455,0.8255,0.66627273,0.58766667,1909,11/10/2019 18:50,male,1,2000,
-0.57192857,0.54736364,0.74388889,0.78228571,1909,11/10/2019 18:53,male,1,2000,
-0.5748,0.58357143,0.67157143,0.83138462,1909,11/10/2019 18:55,male,1,2000,
-0.5889,0.53221429,0.60658333,0.5594375,1909,11/10/2019 18:57,male,1,2000,
-0.636625,0.60888235,0.76155556,0.68972727,1909,11/10/2019 18:47,male,1,2000,
-0.57192857,0.54736364,0.74388889,0.78228571,1909,11/10/2019 18:53,male,1,2000,
-0.5889,0.53221429,0.60658333,0.5594375,1909,11/10/2019 18:57,male,1,2000,
-0.5889,0.53221429,0.60658333,0.5594375,1909,11/10/2019 18:57,male,1,2000,
-0.636625,0.60888235,0.76155556,0.68972727,1909,11/10/2019 18:47,male,1,2000,
-0.751,0.5488,0.853,0.636,1913,11/10/2019 19:32,male,1,2000,
-0.56835714,0.49807143,0.63122222,0.9321,1913,11/10/2019 19:39,male,1,2000,
-0.66644444,0.57666667,0.764,0.78354545,1913,11/10/2019 19:34,male,1,2000,
-0.729375,0.61545455,0.827,0.9844,1913,11/10/2019 19:27,male,1,2000,
-0.67307692,0.51238889,0.63488889,0.67577778,1913,11/10/2019 19:36,male,1,2000,
-0.63030769,0.5573,0.81766667,0.73325,1913,11/10/2019 19:31,male,1,2000,
-0.54833333,0.5055,0.67007692,0.58476923,1913,11/10/2019 19:38,male,1,2000,
-0.48430769,0.52076923,0.53676471,0.54935714,1921,11/10/2019 19:39,male,1,2000,
-0.987,1.14185714,0.890125,0.88863636,1922,11/10/2019 20:30,male,1,2000,
-0.60342857,0.70066667,0.5888,0.87376923,1923,11/10/2019 20:43,male,1,2000,
-0.645875,0.62625,0.63021429,0.961625,1924,11/10/2019 20:50,male,1,2000,
-0.52166667,0.47409091,0.909,0.7696,1925,11/10/2019 20:56,male,1,2000,
-0.598,0.70222222,0.67555556,0.893,1926,11/10/2019 21:02,male,1,2000,
-0.76866667,1.07054545,0.69785714,0.90228571,1927,11/10/2019 22:50,male,1,2000,
-0.68641667,0.664,0.6354,0.62146154,1927,11/10/2019 22:54,male,1,2000,
-0.80972727,0.6095,0.65846667,0.65211111,1927,11/10/2019 22:51,male,1,2000,
-0.55246154,0.63092857,0.5865,0.60053846,1927,11/10/2019 22:56,male,1,2000,
-0.77614286,0.80666667,0.70472727,0.75293333,1927,11/10/2019 22:52,male,1,2000,
-0.78672727,0.7291,0.66454545,0.90028571,1927,11/10/2019 22:43,male,1,2000,
-0.7646,0.73236364,0.8149,0.67077778,1927,11/10/2019 22:53,male,1,2000,
-0.89714286,1.237,0.91457143,0.80966667,1929,11/11/2019 0:28,female,1,2000,
-0.5792,0.87792857,0.43817647,0.30278571,1929,11/11/2019 0:33,female,1,2000,
-0.7894,0.96307692,0.82642857,0.7234,1929,11/11/2019 0:29,female,1,2000,
-0.68916667,0.9235,1.07871429,0.63907692,1929,11/10/2019 23:43,female,1,2000,
-0.579625,0.79941667,0.48907143,0.65553846,1929,11/11/2019 0:30,female,1,2000,
-0.5782,0.83966667,1.01128571,1.385,1929,11/11/2019 0:25,female,1,2000,
-0.63309091,1.041,0.56545455,0.4155,1929,11/11/2019 0:32,female,1,2000,
-0.54511111,0.8235,0.69376923,0.713,1931,11/11/2019 1:17,female,1,2000,
-0.7458,0.7495,0.68525,0.51961538,1931,11/11/2019 0:41,female,1,2000,
-0.65363636,0.61021429,0.794,0.6457,1931,11/11/2019 1:32,female,1,2000,
-0.61485714,0.50770588,0.597,0.957,1931,11/11/2019 0:57,female,1,2000,
-0.989,1.03,0.949,0.8615,1931,11/11/2019 1:34,female,1,2000,
-0.61690909,0.7681,1.0466,1.27425,1931,11/11/2019 1:08,female,1,2000,
-0.5965,0.70133333,1.048,0.61709091,1931,11/11/2019 1:35,female,1,2000,
-0.7643,1.013875,0.66730769,0.608625,1933,11/11/2019 3:49,female,1,2000,
-0.4865,0.726,0.68,0.778,1933,11/11/2019 3:43,female,1,2000,
-0.704,0.74092308,1.17725,0.6425,1933,11/11/2019 3:46,female,1,2000,
-0.34433333,0.583,0.838,0.96271429,1933,11/11/2019 3:50,female,1,2000,
-0.752,0.84666667,0.63475,0.74292308,1933,11/11/2019 3:47,female,1,2000,
-0.63066667,0.74157143,0.92816667,0.77516667,1933,11/11/2019 3:51,female,1,2000,
-0.825,1.05611111,0.857,0.89,1933,11/11/2019 3:48,female,1,2000,
-0.66442857,0.49433333,0.50433333,0.6065,1937,11/11/2019 11:16,male,1,1992,
-0.73157143,0.86844444,1.06233333,0.88433333,1937,11/11/2019 11:26,male,1,1992,
-0.75211111,0.626875,0.74925,0.7039,1937,11/11/2019 11:35,male,1,1992,
-0.545,0.60666667,0.51455556,0.73563636,1937,11/11/2019 11:03,male,1,1992,
-0.46178947,0.5983,0.56192857,0.66754545,1937,11/11/2019 11:45,male,1,1992,
-0.58455556,0.58458824,0.64641667,0.6882,1938,11/11/2019 20:22,male,1,1996,
-0.4826875,0.56623529,0.5966,0.602,1938,11/11/2019 21:32,male,1,1996,
-0.55521429,0.667,0.5269,0.775125,1939,11/11/2019 23:37,male,1,2000,
-0.61214286,0.8222,0.53675,0.791625,1940,11/19/2019 23:07,male,0,1990,
-1.64225,1.4632,1.89233333,2.50175,1943,12/10/2019 12:28,male,1,1976,3
-0.87733333,0.80192308,1.1048,1.08875,1951,12/10/2019 13:23,male,1,2001,4
-1.059,0.93628571,0.9017,0.77444444,1955,12/16/2019 19:04,male,1,2000,2
-0.616,0.56188889,0.60335714,0.5638,1957,12/16/2019 23:18,male,1,2000,3
-0.78,0.949125,0.97871429,0.8375,1958,12/17/2019 0:09,female,1,2000,3
-0.628,0.612,0.66075,0.52888889,1959,12/17/2019 0:12,male,1,2000,3
-0.63366667,0.663375,0.6354,0.75016667,1960,12/17/2019 7:36,male,1,1999,3
-0.6762,0.56194444,0.61890909,0.70323077,1961,12/23/2019 8:27,male,1,2000,4
-2.42083333,1.71866667,1.33475,2.068,1966,1/21/2020 12:02,male,1,1980,3
-1.17033333,1.1205,1.23255556,1.1522,1966,1/21/2020 12:03,male,1,1980,3
-0.64416667,0.656,0.62666667,0.75154545,1968,3/1/2020 15:47,female,1,1997,3
-0.6368,0.71209091,0.80391667,0.83685714,1968,3/1/2020 12:46,female,1,1997,3
-0.57284211,0.71454545,0.7185,0.71577778,1968,3/1/2020 13:01,female,1,1997,3
-0.6413,0.69744444,0.6728,0.98214286,1968,3/1/2020 13:03,female,1,1997,3
-0.64771429,0.6797,0.63025,0.74527273,1968,3/1/2020 13:07,female,1,1997,3
-0.625,0.711125,0.6222,0.73371429,1968,3/1/2020 13:11,female,1,1997,3
-0.551,0.6842,0.60994118,0.71242857,1968,3/1/2020 14:08,female,1,1997,3
-1.01714286,0.900875,0.84825,1.25085714,1968,2/21/2020 15:59,female,1,1997,3
-0.63388889,0.65823077,0.6687,0.789,1968,3/1/2020 14:11,female,1,1997,3
-0.69041667,0.69869231,0.7747,0.9562,1968,3/1/2020 11:32,female,1,1997,3
-0.74472727,0.892,0.81990909,1.03828571,1968,3/1/2020 11:10,female,1,1997,3
-0.6246,0.67085714,0.62722222,0.69973684,1968,3/1/2020 14:15,female,1,1997,3
-0.615625,0.65546154,0.7116,1.03522222,1968,3/1/2020 11:34,female,1,1997,3
-0.665375,0.704,0.665,0.96083333,1968,3/1/2020 11:13,female,1,1997,3
-0.64672727,0.65353846,0.87677778,0.78825,1968,3/1/2020 14:18,female,1,1997,3
-0.7443,0.7923,0.6995,0.81925,1968,3/1/2020 11:39,female,1,1997,3
-0.62206667,0.65754545,0.71066667,0.85175,1968,3/1/2020 11:18,female,1,1997,3
-0.629375,0.66591667,0.67692308,0.65025,1968,3/1/2020 15:40,female,1,1997,3
-0.689375,0.708,0.67763636,0.75383333,1968,3/1/2020 12:37,female,1,1997,3
-0.62875,0.615,0.724,0.64027273,1968,3/1/2020 11:29,female,1,1997,3
-0.67007692,0.77533333,0.64484615,0.7867,1968,3/1/2020 15:42,female,1,1997,3
-0.63523077,0.8174,0.74307143,0.76311111,1968,3/1/2020 12:39,female,1,1997,3
-0.67407143,0.75409091,0.73157143,0.836,1968,3/1/2020 15:45,female,1,1997,3
-0.70471429,0.68333333,0.68021429,0.7126,1968,3/1/2020 12:42,female,1,1997,3
-0.5955,0.6765,0.61738462,0.72125,1968,3/1/2020 15:45,female,1,1997,3
-0.69375,0.66433333,0.78166667,0.75563636,1968,3/1/2020 12:42,female,1,1997,3
-0.59854545,0.72855556,0.66921429,0.6905,1968,3/1/2020 15:48,female,1,1997,3
-0.75355556,0.61891667,0.77736364,0.84275,1968,3/1/2020 12:46,female,1,1997,3
-0.53654545,0.839,0.65192308,0.7,1968,3/1/2020 13:02,female,1,1997,3
-0.60209091,0.59738462,0.73125,0.9014,1968,3/1/2020 13:05,female,1,1997,3
-0.676,0.69935714,0.64858333,0.79014286,1968,3/1/2020 13:08,female,1,1997,3
-0.6062,0.76366667,0.59294737,0.79257143,1968,3/1/2020 13:12,female,1,1997,3
-0.56866667,0.68433333,0.60258333,0.74777778,1968,3/1/2020 14:09,female,1,1997,3
-0.68122222,0.7233,0.89428571,0.9973,1968,3/1/2020 11:07,female,1,1997,3
-0.7107,0.7308,0.7725,0.65084615,1968,3/1/2020 14:12,female,1,1997,3
-0.64766667,0.66966667,0.69154545,0.70977778,1968,3/1/2020 11:33,female,1,1997,3
-0.78733333,0.78,0.7523,1.29925,1968,3/1/2020 11:11,female,1,1997,3
-0.67133333,0.6995,0.81477778,0.7462,1968,3/1/2020 14:16,female,1,1997,3
-0.64018182,0.69007692,0.69266667,0.8545,1968,3/1/2020 11:35,female,1,1997,3
-0.61745455,0.786,0.72875,0.9099,1968,3/1/2020 11:14,female,1,1997,3
-0.57527273,0.63463636,0.6157,0.89381818,1968,3/1/2020 14:19,female,1,1997,3
-0.60983333,0.70278571,0.67055556,0.90436364,1968,3/1/2020 11:39,female,1,1997,3
-0.58069231,0.86125,0.77416667,0.80291667,1968,3/1/2020 11:18,female,1,1997,3
-0.64922222,0.69733333,0.61591667,0.72909091,1968,3/1/2020 15:40,female,1,1997,3
-0.5739,0.66138462,0.79911111,0.74345455,1968,3/1/2020 12:37,female,1,1997,3
-0.64992308,0.72822222,0.71009091,0.7145,1968,3/1/2020 11:31,female,1,1997,3
-0.636,0.6869,0.6932,0.65769231,1968,3/1/2020 15:43,female,1,1997,3
-0.62854545,0.69788889,0.641,0.72984615,1968,3/1/2020 12:40,female,1,1997,3
-0.77554545,0.7149,0.7514,0.83233333,1968,3/1/2020 15:46,female,1,1997,3
-0.63121429,0.6926,0.74,0.772375,1968,3/1/2020 12:43,female,1,1997,3
-0.744625,0.72444444,0.832,0.80466667,1968,3/1/2020 15:49,female,1,1997,3
-0.626125,0.678,0.60633333,0.749375,1968,3/1/2020 12:47,female,1,1997,3
-0.68244444,0.71958333,0.64578571,0.67522222,1968,3/1/2020 13:02,female,1,1997,3
-0.65676923,0.7005,0.643,0.8516,1968,3/1/2020 13:05,female,1,1997,3
-0.66490909,0.73385714,0.67984615,0.8353,1968,3/1/2020 13:08,female,1,1997,3
-0.60227273,0.81566667,0.59764286,0.868,1968,3/1/2020 13:12,female,1,1997,3
-0.91977778,0.7955,0.758,1.127,1968,2/21/2020 11:34,female,1,1997,3
-0.62741667,0.69833333,0.73516667,0.71484615,1968,3/1/2020 14:10,female,1,1997,3
-0.8186,0.7776,0.873,0.70866667,1968,3/1/2020 11:09,female,1,1997,3
-0.55,0.7641,0.59355556,0.631,1968,3/1/2020 14:12,female,1,1997,3
-0.504375,0.66275,0.772375,0.89244444,1968,3/1/2020 11:33,female,1,1997,3
-0.754125,0.73828571,0.8158,0.837,1968,3/1/2020 11:12,female,1,1997,3
-0.74975,0.72171429,0.73258333,0.6994,1968,3/1/2020 14:16,female,1,1997,3
-0.59692308,0.68116667,0.82311111,0.82185714,1968,3/1/2020 11:36,female,1,1997,3
-0.61923077,0.65875,0.86433333,0.96088889,1968,3/1/2020 11:16,female,1,1997,3
-0.63145455,0.676875,0.66383333,0.72053846,1968,3/1/2020 14:19,female,1,1997,3
-0.58555556,0.76376923,0.86733333,0.846125,1968,3/1/2020 11:40,female,1,1997,3
-0.6724,0.72785714,0.66873333,0.87411111,1968,3/1/2020 11:19,female,1,1997,3
-0.81333333,0.826125,0.74416667,0.866625,1968,3/1/2020 15:41,female,1,1997,3
-0.737875,0.69572727,0.692,0.65527273,1968,3/1/2020 12:38,female,1,1997,3
-0.60655556,0.69027273,0.5609,0.65464706,1968,3/1/2020 11:31,female,1,1997,3
-0.61916667,0.6452,0.66107692,1.0249,1968,3/1/2020 15:43,female,1,1997,3
-0.58115385,0.6329,0.741,0.81333333,1968,3/1/2020 12:40,female,1,1997,3
-0.7778,0.81307692,0.96528571,0.74545455,1968,3/1/2020 15:47,female,1,1997,3
-0.61863636,0.6605,0.74718182,0.67323077,1968,3/1/2020 12:45,female,1,1997,3
-0.53675,0.7,0.63169231,0.71007692,1968,3/1/2020 13:00,female,1,1997,3
-0.57871429,0.65342857,0.6562,0.68078571,1968,3/1/2020 13:03,female,1,1997,3
-0.59933333,0.69466667,0.67053846,0.887375,1968,3/1/2020 13:07,female,1,1997,3
-0.61378571,0.78928571,0.77077778,0.77772727,1968,3/1/2020 13:09,female,1,1997,3
-0.66263636,0.6998,0.67228571,0.81238462,1968,3/1/2020 14:05,female,1,1997,3
-0.649625,0.80644444,0.94022222,1.055125,1968,2/21/2020 11:35,female,1,1997,3
-0.64075,0.80066667,0.68845455,0.73,1968,3/1/2020 14:10,female,1,1997,3
-0.9196,0.777625,0.94014286,0.93538462,1968,3/1/2020 11:09,female,1,1997,3
-0.56269231,0.6835,0.62225,0.78408333,1968,3/1/2020 14:13,female,1,1997,3
-0.57628571,0.7116,0.6764,0.999125,1968,3/1/2020 11:34,female,1,1997,3
-0.7175,1.035,0.708,0.88842857,1968,3/1/2020 11:13,female,1,1997,3
-0.62858333,0.65222222,0.60038462,0.8122,1968,3/1/2020 14:18,female,1,1997,3
-0.703,0.75111111,0.741,0.74866667,1968,3/1/2020 11:37,female,1,1997,3
-0.7935,0.7629,0.94783333,0.75636364,1968,3/1/2020 11:17,female,1,1997,3
-0.58144444,0.68318182,0.628875,0.6651,1968,3/1/2020 15:39,female,1,1997,3
-0.69522222,0.64746154,0.7762,0.82777778,1968,3/1/2020 11:40,female,1,1997,3
-0.66321429,0.7003,0.799,0.9205,1968,3/1/2020 11:20,female,1,1997,3
-0.55066667,0.70385714,0.763,0.7949,1968,3/1/2020 15:42,female,1,1997,3
-0.61436364,0.72677778,0.77827273,0.7958,1968,3/1/2020 12:39,female,1,1997,3
-0.71811111,0.70508333,0.67272727,0.7163,1968,3/1/2020 15:44,female,1,1997,3
-0.58953333,0.72215385,0.9418,0.73566667,1968,3/1/2020 12:41,female,1,1997,3
-0.50023077,0.56538462,0.68621429,0.49584615,1969,1/28/2020 18:56,male,1,1993,4
-0.50985714,0.60361538,0.47964706,0.4445,1969,1/28/2020 18:58,male,1,1993,4
-0.49984615,0.59446154,0.57075,0.48638889,1969,1/28/2020 18:53,male,1,1993,4
-0.62230769,0.62608333,0.748,0.67290909,1971,2/13/2020 16:38,female,1,1987,3
-0.6422,0.59961538,0.79833333,0.54966667,1971,2/13/2020 16:39,female,1,1987,3
-1.11366667,0.7625,0.9192,1.29583333,1971,2/13/2020 16:36,female,1,1987,3
-0.741,0.72071429,0.98742857,0.799625,1971,2/13/2020 16:37,female,1,1987,3
-0.85125,1.13566667,0.94881818,1.02877778,1975,2/19/2020 14:01,female,1,1968,4
-0.88725,0.89142857,0.75409091,0.7071,1977,2/19/2020 14:32,female,1,1963,3
-0.984,0.90409091,0.885125,0.923875,1978,2/20/2020 7:07,female,1,1975,4
-0.83155556,0.8104,0.98877778,1.173375,1981,2/24/2020 17:20,male,1,1973,4
-0.93545455,1.1494,1.19471429,0.758,1989,4/16/2020 10:14,female,1,1962,3
-1.13516667,1.21,1.5504,0.9742,1989,4/17/2020 3:29,female,1,1962,3
-1.48475,1.8904,1.6048,1.54075,1989,4/15/2020 15:31,female,1,1962,3
-1.20366667,1.42866667,1.14522222,0.88157143,1989,4/19/2020 17:46,female,1,1962,3
-1.07085714,1.11833333,1.24866667,0.780125,1989,4/15/2020 16:01,female,1,1962,3
-1.3422,1.422,1.4042,1.46883333,1994,4/24/2020 22:39,female,1,1998,2
-1.07557143,0.84063636,0.611,0.72622222,1995,4/25/2020 23:16,male,1,1998,3
-1.47,1.167,0.793,8.334,1996,5/14/2020 12:53,male,1,1998,4
-0.95428571,3.5945,1.03733333,1.1655,2000,6/2/2020 18:07,male,1,1998,3
-0.755,0.69553846,0.8713,0.73058333,2001,6/2/2020 18:08,male,1,1997,3
-0.67435714,0.715,0.59081818,0.68918182,2003,6/15/2020 21:09,male,1,1991,4
-1.0605,1.266,1.12354545,1.1668,2004,8/26/2020 11:53,male,1,1979,5
-1.164,1.2795,0.736,0.687,2008,10/14/2020 10:21,female,1,1994,5
-0.8934,0.74271429,0.7306,0.83792308,2008,10/21/2020 18:36,female,1,1994,5
-0.927875,0.79315385,0.72888889,1.0588,2008,10/17/2020 18:45,female,1,1994,5
-0.81145455,0.8965,0.696,0.97709091,2008,4/3/2021 20:45,female,1,1994,5
-0.9386,0.78071429,0.69575,1.015,2008,10/21/2020 14:38,female,1,1994,5
-0.70972727,0.76416667,0.64754545,0.93081818,2008,4/7/2021 10:35,female,1,1994,5
-0.8102,0.7685,0.65157143,0.9399,2008,10/21/2020 16:35,female,1,1994,5
-0.8985,1.876,0.48833333,1.012,2008,4/22/2021 21:39,female,1,1994,5
-1.2505,1.058625,0.848,1.286,2009,10/14/2020 10:19,male,1,1994,4
-0.8762,1.05466667,0.8975,1.68566667,2009,10/20/2020 15:48,male,1,1994,4
-0.7185,0.850625,1.086125,1.06,2010,10/20/2020 17:51,male,1,1995,4
-0.75916667,0.85842857,1.14475,0.978,2010,10/22/2020 14:30,male,1,1995,4
-0.765875,0.76991667,0.823375,1.0035,2010,10/21/2020 14:33,male,1,1995,4
-0.64225,0.81528571,0.71553333,0.80688889,2010,10/22/2020 16:32,male,1,1995,4
-0.754,0.96957143,0.85285714,0.98011111,2010,10/20/2020 13:56,male,1,1995,4
-0.81,0.839,0.96157143,0.80183333,2010,10/21/2020 16:33,male,1,1995,4
-0.76283333,0.85166667,0.9826,1.06271429,2010,10/20/2020 16:03,male,1,1995,4
-0.878,0.83725,1.063,1.414,2010,10/21/2020 18:37,male,1,1995,4
-0.64683333,0.68573333,0.696625,0.85354545,2011,10/20/2020 15:48,male,1,2000,4
-0.60761538,0.58827273,0.99844444,0.6374,2012,10/20/2020 15:49,male,1,2001,2
-0.82125,0.82011111,0.77533333,0.98855556,2013,10/20/2020 15:48,female,1,2002,2
-0.7078,0.734,0.69714286,0.7867,2014,10/20/2020 15:48,male,1,1996,3
-0.68916667,0.61,0.57454545,0.62707143,2015,10/20/2020 15:47,male,1,2001,3
-0.69133333,0.84009091,0.7731,0.93422222,2016,10/20/2020 15:48,male,1,2001,2
-0.68622222,0.940625,0.78561538,0.727875,2017,10/20/2020 15:47,female,0,2001,3
-0.893,0.904,0.970375,0.78783333,2018,10/20/2020 15:48,male,1,2001,4
-0.67688889,0.52958333,0.6621875,0.60581818,2020,10/20/2020 15:48,male,1,2001,3
-1.14566667,0.8251,1.03125,0.89914286,2022,10/20/2020 15:48,male,1,2001,2
-0.7047,0.8233,0.92842857,0.58507692,2023,10/20/2020 15:48,male,1,2002,3
-1.19266667,1.115,1.13585714,0.968,2024,10/20/2020 15:51,male,1,2001,3
-1.109875,0.6484,0.6755,1.11111111,2026,10/20/2020 16:03,male,1,1999,4
-0.50942857,0.5341,0.65218182,0.58753846,2026,10/22/2020 14:24,male,1,1999,4
-0.6092,0.779125,0.68881818,0.74569231,2029,10/22/2020 14:23,male,0,1999,3
-0.86654545,0.77766667,0.71322222,0.77116667,2030,10/20/2020 16:03,male,1,2001,4
-0.91625,0.85866667,0.51025,0.78333333,2030,10/22/2020 14:35,male,1,2001,4
-0.91775,0.825625,0.693,0.84483333,2032,10/22/2020 14:24,female,1,2001,3
-0.80857143,1.221125,0.6815,0.7017,2032,10/22/2020 14:23,female,1,2001,3
-0.69261538,0.73014286,0.66333333,0.9584,2033,10/22/2020 14:24,male,1,2001,4
-0.66933333,0.6346,0.6978,0.93166667,2034,10/22/2020 14:22,male,1,2001,4
-0.86525,0.7769,0.83536364,0.9395,2037,10/20/2020 16:04,male,1,2001,4
-0.87214286,0.91983333,0.82942857,0.87107143,2037,10/22/2020 14:25,male,1,2001,4
-0.996,1.02033333,0.9122,0.91744444,2037,10/20/2020 16:03,male,1,2001,4
-0.68122222,0.62566667,0.57990909,0.721625,2040,10/20/2020 17:54,male,1,2002,4
-0.673,0.6395,0.62963636,0.83584615,2041,10/20/2020 17:55,male,1,1999,4
-0.71611111,1.05663636,0.661,0.96122222,2042,10/20/2020 17:54,male,0,2001,3
-0.6514,0.930875,0.76790909,0.97236364,2043,10/20/2020 17:54,male,1,2000,3
-0.92766667,0.72453846,1.0378,0.81475,2045,10/20/2020 17:54,male,1,2001,3
-0.6274,0.70488889,0.54116667,0.58811111,2046,10/20/2020 17:51,male,1,2001,3
-0.59722222,0.69718182,0.64791667,0.59535714,2047,10/20/2020 17:51,male,1,2001,3
-0.7734,0.78811111,0.91111111,1.2062,2049,10/20/2020 17:54,male,1,2001,3
-0.651,0.6141875,0.70875,0.71441667,2050,10/20/2020 17:51,male,1,2001,4
-0.94285714,0.8027,0.994875,0.898,2054,10/20/2020 17:54,male,1,2001,3
-0.90890909,0.95671429,0.93471429,0.84175,2055,10/20/2020 17:51,male,1,2001,3
-0.871,0.85383333,0.7585,1.004,2056,10/20/2020 18:07,male,1,2001,3
-0.78944444,0.66128571,0.8654,0.86581818,2059,10/20/2020 17:54,male,1,2001,3
-0.65090909,0.56078947,0.60942857,0.841875,2060,10/20/2020 18:06,female,1,2001,3
-0.6129375,0.636,0.62028571,0.72727273,2060,10/22/2020 16:31,female,1,2001,3
-0.7509,0.66316667,0.65376923,0.74015385,2060,10/20/2020 17:51,female,1,2001,3
-0.61869231,0.56291667,0.8833,0.8945,2061,10/20/2020 17:54,male,1,2001,3
-0.65828571,0.76181818,0.63066667,0.71526667,2063,10/20/2020 17:54,male,0,2000,3
-0.98316667,1.07142857,1.15057143,1.26616667,2064,10/20/2020 17:56,male,1,2001,3
-0.689875,0.76692308,0.80814286,0.71,2070,10/20/2020 19:28,male,1,2002,4
-1.3075,0.964,2.123,2.615,2071,10/20/2020 19:35,male,1,2002,2
-0.78383333,1.06314286,0.92009091,0.83066667,2071,10/22/2020 19:24,male,1,2002,2
-0.72209091,0.7816,0.5870625,0.76736364,2072,10/20/2020 19:31,male,1,2002,4
-1.1762,0.87083333,0.71988889,0.7620625,2075,10/20/2020 19:30,male,1,2001,4
-0.831,0.746,0.92233333,1.01309091,2077,10/20/2020 19:39,male,1,2001,3
-0.96885714,0.7317,0.74175,0.85936364,2078,10/20/2020 19:39,male,1,2002,3
-0.927125,0.6795,0.66144444,0.71315385,2079,10/20/2020 19:39,male,1,2001,5
-1.03457143,0.61383333,0.85577778,0.68254545,2080,10/20/2020 19:39,male,1,2001,4
-1.022,0.8768,1.08283333,0.82755556,2082,10/20/2020 19:39,male,1,2001,2
-0.68392308,0.70577778,0.68528571,0.495,2083,10/20/2020 19:39,male,1,2001,4
-0.71225,0.58075,0.58473684,0.5893,2084,10/20/2020 19:39,male,1,2001,3
-0.64145455,0.90171429,0.86,0.924,2085,10/20/2020 19:39,male,1,2002,3
-0.67013333,0.60685714,0.7715,0.676,2086,10/20/2020 19:39,male,1,1989,4
-1.18066667,0.94354545,1.0206,1.3832,2087,10/20/2020 19:39,male,1,2001,3
-0.91842857,1.004,0.92333333,0.87325,2088,10/20/2020 19:46,female,1,2002,3
-0.65807692,0.61692308,0.73416667,0.76216667,2088,10/22/2020 16:32,female,1,2002,3
-3.4408,0.78942857,1.0116,0.8645,2090,10/20/2020 20:01,male,1,1983,3
-1.24628571,1.46716667,1.4204,1.0582,2091,10/20/2020 20:13,female,1,1972,3
-1.00266667,0.964,1.05533333,1.0019,2092,10/20/2020 20:26,male,1,1977,2
-1.2426,0.935,1.12683333,1.56,2093,10/20/2020 20:37,female,1,1997,3
-3.34825,2.12766667,1.772,2.11166667,2094,10/20/2020 20:50,female,0,1975,3
-0.53147619,0.58811111,0.66436364,0.65844444,2095,10/20/2020 22:13,male,1,2002,3
-0.89785714,1.025,1.522,0.85228571,2102,10/21/2020 9:52,male,1,1968,5
-0.772,0.77388889,0.78544444,1.027375,2107,10/21/2020 9:55,female,1,1992,4
-0.7056,0.7583,0.66766667,0.82328571,2107,10/21/2020 9:56,female,1,1992,4
-0.634,0.7848,0.71290909,0.5532,2119,10/21/2020 14:38,male,1,2001,3
-0.83991667,0.95366667,0.95525,0.7175,2120,10/21/2020 14:38,female,1,2002,2
-0.6871,1.61185714,0.73075,1.0936,2120,11/6/2020 14:07,female,1,2002,2
-0.95016667,0.6886,0.8315,1.014,2121,10/21/2020 14:38,male,1,2001,3
-0.66942857,0.53325,1.07575,0.72290909,2124,10/21/2020 14:38,male,1,2001,3
-0.67822222,0.61335294,0.78455556,0.772875,2126,10/21/2020 14:33,male,1,2002,3
-0.65458333,0.63307692,0.584,0.95822222,2129,10/21/2020 14:38,male,1,2001,4
-1.17611111,1.032875,0.987,0.9882,2130,10/21/2020 14:33,male,1,2001,3
-0.63609091,0.65915385,0.577875,0.62153333,2131,10/21/2020 14:33,male,1,2001,3
-0.865,0.706125,0.82718182,1.01022222,2134,10/21/2020 14:41,male,1,2002,2
-0.8355,0.64627273,0.75011111,0.8689,2134,10/22/2020 22:58,male,1,2002,2
-0.81163636,0.73214286,0.96625,0.7445,2134,11/3/2020 14:02,male,1,2002,2
-0.8646,0.82166667,0.93885714,0.747,2135,10/21/2020 14:38,male,1,2001,4
-0.65975,0.752,0.84122222,1.097,2140,10/21/2020 14:38,male,1,2001,3
-1.07828571,1.2166,1.8636,1.16116667,2141,10/21/2020 16:34,female,1,1995,2
-0.65333333,0.961625,1.0702,0.924,2143,10/21/2020 16:34,male,1,2001,3
-1.04771429,1.74,1.361125,1.287,2144,10/21/2020 16:35,male,0,2001,3
-0.7355,0.643125,0.7515,0.8178,2145,10/21/2020 16:35,male,0,2001,3
-0.92336364,0.91385714,0.95275,0.89133333,2146,10/21/2020 16:34,male,1,2001,3
-1.30583333,0.93266667,0.74728571,0.7885,2149,10/21/2020 16:34,female,1,2001,3
-0.53428571,1.15242857,0.67723529,1.59975,2150,10/21/2020 16:35,male,1,2001,3
-0.671375,0.7198,0.573,0.839,2151,10/21/2020 16:35,male,1,2001,3
-0.61366667,0.52983333,0.58141667,0.6812,2152,10/21/2020 16:34,male,1,2001,4
-0.65028571,0.63166667,0.68253846,0.4645,2153,10/21/2020 16:34,male,1,2001,3
-0.5593,0.59,0.59464706,0.56954545,2153,10/21/2020 18:23,male,1,2001,3
-0.644,0.57441667,0.76,0.78361538,2155,10/21/2020 16:35,male,1,2001,3
-1.32085714,1.31416667,1.1272,1.4342,2157,10/21/2020 16:35,female,1,2002,3
-1.012375,0.61785714,1.18657143,1.130625,2159,10/21/2020 16:34,male,1,2001,3
-0.76014286,0.71211111,0.80891667,0.8324,2160,10/21/2020 16:33,male,1,2001,1
-0.5608125,0.721,0.71766667,0.667,2163,10/21/2020 16:50,male,1,2002,2
-1.11471429,1.18783333,1.03566667,0.788,2164,10/21/2020 16:34,female,1,2001,3
-1.731,0.998,1.076,1.094,2164,10/31/2020 12:33,female,1,2001,3
-0.8751,0.7334,0.9572,1.1,2164,10/31/2020 19:42,female,1,2001,3
-0.77,0.789,0.73877778,0.85683333,2167,10/21/2020 16:33,male,1,2002,2
-0.905,0.98,1.193,1,2168,10/21/2020 16:34,male,1,2002,2
-0.96466667,0.7797,0.84,1.303,2170,10/21/2020 16:33,male,0,2002,1
-0.51931579,0.7583,0.71966667,0.80214286,2171,10/21/2020 16:35,male,1,2002,5
-0.73157143,0.862875,0.77583333,0.84914286,2171,10/21/2020 16:34,male,1,2002,5
-1.29116667,1.0058,1.08009091,0.97,2172,10/21/2020 16:34,female,1,1998,3
-0.902125,0.7138,0.808125,0.8624,2173,10/21/2020 18:36,male,1,2001,4
-0.69433333,0.73288889,0.76155556,0.5852,2174,10/31/2020 9:52,male,1,2001,4
-0.68827273,0.68344444,0.78861538,0.685,2174,10/21/2020 18:37,male,1,2001,4
-1.495,0.89314286,0.98371429,1.0816,2175,10/21/2020 18:36,female,1,2001,3
-0.866,0.91771429,0.89225,0.8608,2175,10/21/2020 18:37,female,1,2001,3
-0.864,0.98175,0.762,0.87869231,2176,10/21/2020 18:37,male,1,2001,4
-0.86733333,1.003,0.9393,1.045,2176,10/21/2020 18:36,male,1,2001,4
-0.98942857,0.81257143,0.9955,1.03857143,2178,10/21/2020 18:36,male,1,2001,3
-1.12166667,0.79369231,0.93527273,0.98,2179,10/21/2020 18:37,male,1,2001,3
-0.9914,0.97983333,1.296,1.078125,2180,10/21/2020 18:37,male,0,2001,2
-1.2164,0.94216667,1.14390909,1.0454,2181,10/21/2020 18:37,male,1,2001,2
-1.2936,1.39083333,1.17488889,0.8478,2182,10/21/2020 18:37,male,1,2001,3
-1.225,0.8114,0.85553333,1.0654,2183,10/21/2020 18:37,female,1,2001,3
-1.129,1.00590909,0.821125,1.099,2184,10/21/2020 18:36,male,1,1999,3
-1.07325,0.73927273,1.25344444,1.0235,2187,10/21/2020 18:38,male,1,2001,3
-0.5221,0.57276923,0.46678571,0.48984615,2188,10/21/2020 18:37,male,1,2000,4
-0.53907692,1.09625,0.66936364,0.6284,2189,10/21/2020 18:38,male,1,2001,4
-0.89133333,0.7406,0.6501,0.91711111,2190,10/21/2020 18:37,male,1,2001,3
-0.76322222,0.68881818,0.9336,0.82233333,2191,10/21/2020 18:38,male,1,2001,3
-0.76322222,0.68881818,0.9336,0.82233333,2191,10/21/2020 18:38,male,1,2001,3
-0.64223077,0.65722222,0.661,0.7976,2191,10/26/2020 19:09,male,1,2001,3
-0.599,0.805,0.583,1.199,2191,11/2/2020 18:15,male,1,2001,3
-1.051,1.19725,1.057,1.23877778,2193,10/21/2020 18:35,male,1,2001,2
-0.95275,1.022375,1.0732,1.24042857,2193,10/21/2020 18:47,male,1,2001,2
-0.7837,0.80928571,0.76711111,1.00844444,2195,10/21/2020 18:37,male,1,2002,3
-1.20628571,1.23625,1.5255,1.7642,2198,10/21/2020 18:38,male,1,2002,3
-1.836,0.77133333,1.03066667,1.017,2199,10/21/2020 18:37,male,1,2002,4
-0.72,1.116,1.0325,0.503,2200,10/21/2020 21:01,male,1,1981,5
-0.60845455,0.690625,0.699625,0.73175,2201,10/21/2020 21:03,male,0,1995,3
-0.7765,0.68475,0.75538462,0.71628571,2202,10/22/2020 9:58,male,1,1999,3
-1.1612,0.623,1.17766667,0.684,2203,10/22/2020 11:07,female,1,1965,3
-0.77781818,1.09983333,0.82757143,1.00125,2205,10/22/2020 14:26,male,1,2001,3
-0.761,0.63353846,0.668125,0.688625,2206,10/22/2020 14:39,male,1,2001,4
-0.81822222,1.00477778,0.79233333,0.8755,2207,10/27/2020 10:07,female,1,2001,3
-0.8068,0.92466667,0.82288889,0.97007692,2207,10/27/2020 10:55,female,1,2001,3
-0.97377778,0.99488889,1.06283333,1.26225,2207,10/27/2020 10:17,female,1,2001,3
-2.2216,2.266,2.44033333,2.3145,2207,10/27/2020 10:29,female,1,2001,3
-1.03225,0.8284,1.0105,0.8885,2207,10/22/2020 14:30,female,1,2001,3
-1.5265,1.568,1.94333333,2.167,2207,10/27/2020 10:41,female,1,2001,3
-0.85,2.5996,0.8726,0.932,2208,10/22/2020 14:31,female,1,2002,3
-0.88622222,0.85181818,0.7505,0.94614286,2211,10/22/2020 16:03,male,1,2001,3
-1.263,0.80155556,0.68183333,1.0866,2213,10/22/2020 16:32,male,1,2001,3
-0.64377778,0.71845455,0.88557143,0.68957143,2215,10/22/2020 18:13,male,1,1985,3
-0.60736364,0.61033333,0.719,0.59533333,2216,10/22/2020 18:31,male,1,2001,4
-0.65691667,0.7415,0.68885714,0.67575,2217,10/22/2020 19:21,male,1,2001,4
-1.0267,1.0534,1.41375,0.92388889,2218,10/22/2020 19:22,male,1,2001,2
-1.1145,0.7898,0.931125,0.90833333,2219,10/22/2020 19:22,male,1,2001,3
-0.58927273,0.68092308,0.55038462,0.55938462,2220,10/22/2020 20:02,male,1,2001,4
-0.711,0.6869,0.772,0.71216667,2221,10/22/2020 20:33,male,1,2001,3
-0.72426667,0.62223077,0.82228571,0.67971429,2221,10/22/2020 20:34,male,1,2001,3
-1.01672727,0.67422222,0.796,0.95242857,2226,10/23/2020 14:40,male,1,2002,2
-0.944875,0.98207692,1.295,1.1075,2227,10/23/2020 14:15,male,1,2001,1
-1.611625,1.27425,1.16966667,1.11571429,2229,10/23/2020 14:31,male,1,1999,2
-0.82928571,0.86866667,0.84864286,0.84409091,2231,10/23/2020 14:51,female,1,2000,4
-0.99911111,1.01114286,0.75922222,0.95514286,2232,10/23/2020 14:52,female,1,1982,3
-0.7233,0.701,0.69075,1.2722,2233,10/23/2020 15:01,male,1,1999,4
-0.987,1.256,1.415,1.479,2234,10/23/2020 15:07,male,1,1990,4
-1.036,0.6905,0.95966667,1.18809091,2234,10/31/2020 16:37,male,1,1990,4
-0.70236364,0.6917,0.922875,0.7436,2235,10/23/2020 15:18,female,1,1975,3
-0.86914286,1.247,1.195,0.9012,2236,10/31/2020 16:27,female,1,1985,3
-0.87275,0.6605,1.06871429,0.9795,2236,10/31/2020 16:28,female,1,1985,3
-1.25816667,0.8176,1.22157143,1.13042857,2237,10/31/2020 19:59,male,1,1973,4
-1.319,1.7375,1.125,0.984,2238,10/23/2020 15:39,female,1,1963,2
-1.417,1.4924,0.97275,1.27,2239,10/23/2020 15:47,male,1,1975,1
-1.785,2.8265,1.575,2.373,2240,10/23/2020 15:52,male,1,1958,1
-0.82433333,0.92318182,0.8316,0.934,2242,10/23/2020 16:31,male,1,1980,4
-0.71707692,0.67922222,0.716,0.66744444,2242,10/23/2020 16:40,male,1,1980,4
-0.954,1.15916667,0.80471429,1.0773,2243,10/23/2020 16:38,male,1,1996,4
-0.8325,0.9257,0.86636364,0.81311111,2243,10/27/2020 18:14,male,1,1996,4
-0.7446,0.81066667,0.6793,0.65621429,2244,10/23/2020 17:02,male,1,2001,3
-1.196625,1.0965,1.1395,1.57325,2246,10/23/2020 17:04,male,1,1994,3
-1.22033333,1.11518182,1.32016667,1.2088,2247,10/23/2020 17:18,male,1,1963,2
-1.321,1.7118,2.20625,1.85825,2247,10/23/2020 17:19,male,1,1963,2
-1.70675,1.575,1.17883333,1.2888,2248,10/23/2020 17:20,female,1,1972,2
-0.739,1.171,1.09655556,0.908125,2249,10/23/2020 17:28,male,1,1968,2
-0.71628571,0.73,0.941375,0.55575,2250,10/23/2020 18:41,male,1,2001,3
-0.9392,1.21485714,0.78641667,0.859125,2251,10/23/2020 18:06,male,1,1997,4
-0.723,0.7815,0.666,0.942,2252,10/23/2020 18:20,male,1,2003,3
-0.75171429,0.695,0.64275,0.81616667,2253,10/23/2020 20:26,female,0,2001,3
-0.69975,0.77885714,0.7441,0.68666667,2256,10/24/2020 12:37,male,1,1992,3
-0.510625,0.5195,0.62081818,0.642,2258,10/24/2020 13:38,male,1,2001,3
-0.87722222,1.01983333,0.9215,1.02133333,2260,10/24/2020 15:06,female,1,2001,3
-1.2605,1.2965,2.8395,0.7165,2261,10/24/2020 16:48,male,1,1975,4
-1.34733333,1.216,1.277,1.5858,2262,10/24/2020 17:08,female,0,1975,3
-0.67114286,0.65418182,0.79142857,0.7795625,2263,10/24/2020 17:14,male,1,2001,4
-0.66975,0.54181818,0.64322222,0.9178,2264,10/24/2020 19:30,male,1,1966,2
-0.79375,0.5884,0.48,0.87,2265,10/24/2020 19:37,male,1,1972,2
-0.7994,0.69323077,1.12275,1.36116667,2266,10/24/2020 21:18,female,1,1986,2
-1.37033333,1.485,2.154,1.18,2268,10/27/2020 19:08,male,0,1955,1
-1.917,1.465,1.213,0.962,2269,10/24/2020 23:49,male,1,1986,3
-1.492,1.4858,1.8156,1.134,2272,10/25/2020 0:20,male,1,1968,3
-1.66914286,1.49,1.43633333,1.8052,2273,10/25/2020 12:28,male,1,1966,1
-1.38171429,1.3952,1.42725,1.4368,2275,10/25/2020 13:11,female,1,1963,2
-0.76641667,0.61572727,0.86188889,0.84957143,2277,10/25/2020 21:28,male,1,2001,3
-0.73092308,0.962,0.93183333,0.88728571,2278,10/25/2020 13:40,male,1,2001,2
-1.20433333,1.81475,3.432,1.6738,2279,10/25/2020 14:01,female,1,1969,2
-2.677,2.11033333,1.826,1.742,2281,10/25/2020 14:52,male,1,1954,2
-0.911,0.7895,1.16242857,0.95222222,2282,10/25/2020 20:07,female,1,2000,2
-0.94633333,0.96528571,0.854,0.91357143,2282,10/25/2020 20:16,female,1,2000,2
-1.33516667,1.5106,1.20625,2.03,2283,10/25/2020 16:44,female,1,2003,3
-1.2875,0.80616667,0.93166667,0.62683333,2283,10/31/2020 16:22,female,1,2003,3
-0.89022222,0.73611111,0.59922222,0.81358333,2285,10/25/2020 18:36,male,1,2001,3
-1.4056,1.37533333,2.0395,1.1645,2286,10/25/2020 19:06,male,1,1968,2
-0.977125,0.869375,0.77433333,1,2288,10/25/2020 19:48,male,1,2001,4
-2.691,2.922,2.3975,2.713,2289,10/25/2020 19:23,female,1,1948,1
-1.94133333,1.8845,1.9864,2.09,2290,10/25/2020 19:32,male,1,1978,2
-0.939,1.167,1.1175,1.50566667,2291,10/25/2020 19:39,female,1,1995,2
-1.9046,2.81133333,2.06466667,1.78033333,2292,10/25/2020 19:51,female,1,1962,2
-3.05033333,1.66916667,1.7955,1.585,2293,10/25/2020 20:06,male,1,1955,2
-0.82614286,1.35633333,0.94083333,0.79783333,2294,10/25/2020 20:06,female,1,1995,2
-0.961375,1.5712,0.97357143,0.88875,2295,10/25/2020 21:18,female,1,1981,2
-1.09942857,1.37666667,1.12166667,1.125,2296,10/25/2020 21:04,female,1,1972,3
-1.66916667,1.1475,1.2,1.1094,2297,10/25/2020 21:21,male,0,1990,3
-1.01466667,1.222,1.206,0.89154545,2298,10/25/2020 21:16,male,1,1970,3
-1.009,1.20575,1.1066,1.150875,2299,10/25/2020 21:34,male,1,1942,2
-0.86383333,0.78114286,0.82641667,0.79225,2300,10/25/2020 21:40,female,1,1983,3
-1.15571429,1.08175,1.05971429,1.327,2301,10/25/2020 21:47,female,1,1947,2
-0.81163636,0.954,0.611,0.9128,2302,10/25/2020 22:19,male,1,2001,3
-1.00392308,0.8407,1.20633333,0.95,2303,10/26/2020 10:12,female,1,1999,3
-1.6702,1.709,1.6435,1.378,2304,10/26/2020 9:55,female,1,1978,2
-1.266,1.02675,1.007,1.01922222,2304,11/2/2020 17:45,female,1,1978,2
-1.8635,2.02925,1.88966667,1.87,2305,10/26/2020 10:23,female,1,1968,1
-1.59966667,1.8446,1.6722,1.506,2306,10/26/2020 10:33,male,1,1944,1
-0.6402,0.60609091,0.51068421,0.55,2309,10/26/2020 15:05,male,1,2001,3
-0.80091667,1.16616667,0.901125,1.0754,2310,11/3/2020 15:31,male,1,2001,2
-0.95883333,0.76511111,0.72453846,0.7524,2311,10/27/2020 19:19,female,1,2001,3
-0.87575,0.78769231,0.84555556,0.63375,2312,10/26/2020 18:30,female,0,1975,4
-0.776125,0.91483333,0.764,0.8549,2315,10/28/2020 16:33,male,0,2001,3
-1.10833333,0.9595,1.711,1.43583333,2316,10/26/2020 22:28,female,1,1983,3
-0.79292308,0.794,0.89275,0.8245,2317,10/27/2020 10:36,female,1,2001,3
-2.743,2.01233333,2.888,2.901,2319,10/27/2020 12:06,male,1,1989,2
-1.415,1.7435,2.77366667,1.226,2321,10/27/2020 18:57,female,1,1975,3
-1.1402,1.2414,0.93944444,1.057625,2322,10/27/2020 18:58,female,1,1966,2
-1.211875,0.92827273,1.1404,1.27433333,2323,10/27/2020 19:09,male,1,1971,2
-0.79366667,0.758,0.6924,0.663,2324,10/27/2020 19:31,male,1,1998,3
-0.792,0.80725,0.7584,1.04733333,2327,10/27/2020 21:44,male,1,2001,4
-0.9045,0.66666667,1.004,0.897,2328,10/27/2020 23:07,male,1,1995,3
-0.7765,0.71722222,0.77511111,0.908,2334,10/28/2020 12:03,female,1,1999,3
-2.773,2.07866667,1.4802,1.6378,2335,10/28/2020 13:46,female,1,1955,2
-0.63875,0.59916667,0.7614,0.984,2337,10/28/2020 15:00,female,1,1998,1
-1.1276,1.076,1.1982,1.0792,2338,10/28/2020 15:17,female,1,2004,2
-0.5075,0.55790909,0.5208,0.844,2340,10/28/2020 15:44,male,1,2001,3
-0.7575,0.62533333,0.7698,0.711,2341,10/28/2020 15:45,male,1,2001,4
-0.782,0.69316667,0.75892308,0.6858,2342,10/28/2020 15:45,female,1,2006,2
-1.16471429,1.0065,1.51157143,0.84716667,2346,10/28/2020 19:13,female,1,1975,2
-0.65525,0.5729,0.8472,0.69436364,2347,10/28/2020 19:21,male,1,1969,3
-1.1924,0.55330769,0.677,0.696875,2348,10/28/2020 19:36,female,1,1989,2
-1.90811111,1.5515,1.058,1.2145,2349,10/28/2020 19:30,male,1,1958,2
-1.625,0.959,0.784,0.861,2351,10/28/2020 20:06,male,1,1970,3
-1.2758,1.08014286,1.33888889,1.12766667,2353,10/28/2020 20:17,female,1,1977,2
-1.306,1.0565,1.458,1.162,2356,10/29/2020 2:25,male,1,1968,2
-1.1198,1.37542857,0.944,0.8669,2357,10/29/2020 2:37,female,1,1991,3
-1.1886,1.106,0.94257143,1.40033333,2358,10/29/2020 11:39,male,1,1966,2
-0.9798,0.775625,0.76772727,1.0112,2359,10/29/2020 12:05,male,1,1999,2
-0.58463636,0.70133333,0.69416667,0.9075,2360,10/29/2020 12:13,female,0,1994,3
-1.98166667,1.42757143,1.187,1.643,2361,10/29/2020 12:24,male,1,1973,2
-0.58445455,0.73414286,0.5956,0.63515789,2362,10/29/2020 13:04,female,0,1989,3
-2.20833333,2.085,2.414,3.5955,2363,10/29/2020 13:14,male,0,1967,2
-4.4185,3.965,3.511,4.0765,2364,10/29/2020 13:24,male,1,1956,1
-0.74633333,0.81707692,0.78441667,0.79866667,2365,10/29/2020 15:14,female,1,1995,3
-0.809,1.215,1.29657143,1.01514286,2368,10/30/2020 19:38,male,1,2001,2
-1.03575,1.34616667,1.22985714,1.19275,2368,10/30/2020 19:20,male,1,2001,2
-1.99666667,1.20222222,1.60366667,0.804,2370,10/31/2020 12:54,female,1,1998,4
-1.012,1.2,1.3985,0.90566667,2370,10/31/2020 13:15,female,1,1998,4
-0.76385714,0.74411111,1.07866667,0.99954545,2370,10/31/2020 19:50,female,1,1998,4
-1.7176,1.2395,1.076,1.11158333,2371,10/31/2020 13:28,male,1,1990,4
-1.065625,1.03075,1.09222222,0.96528571,2371,10/31/2020 13:28,male,1,1990,4
-1.44314286,0.73322222,1.03985714,1.1504,2372,10/31/2020 13:51,female,0,1985,3
-1.1067,1.11975,1.158125,1.206,2372,10/31/2020 13:52,female,0,1985,3
-1.18933333,0.89628571,1.11077778,1.156,2373,10/31/2020 14:10,male,1,1975,3
-0.8395,1.16314286,1.12311111,0.739625,2373,10/31/2020 14:11,male,1,1975,3
-1.50683333,0.9806,1.048,1.31675,2374,10/31/2020 14:29,female,1,1969,2
-0.95,0.882,1.2622,1.127875,2374,10/31/2020 14:30,female,1,1969,2
-1.57828571,1.757,2.9095,1.7515,2375,10/31/2020 14:52,male,1,1963,1
-1.2028,1.14225,1.196,1.19085714,2375,10/31/2020 14:53,male,1,1963,1
-1.7635,1.17,2.074,2.2294,2376,10/31/2020 18:29,male,1,1953,2
-0.6006,0.59666667,0.6155,0.871,2377,10/31/2020 19:03,male,1,1972,2
-0.52815,0.666,0.682,0.729375,2378,10/31/2020 19:12,male,1,1970,1
-0.5643125,0.60527273,0.64122222,0.74809091,2379,10/31/2020 19:20,male,1,1964,2
-5.88,2.3145,3.462,3.975,2381,10/31/2020 20:21,male,1,1959,3
-1.877,1.9786,1.88075,2.26666667,2381,10/31/2020 20:40,male,1,1959,3
-0.868,0.973,2.2395,0.952,2383,10/31/2020 21:40,male,1,1995,3
-0.892,1.078875,0.84075,0.8065,2384,11/2/2020 17:34,female,1,1985,2
-1.1305,1.03728571,0.96718182,1.06683333,2386,11/2/2020 17:57,male,1,1944,1
-4.297,4.791,1.779,2.477,2387,11/2/2020 19:22,male,1,1965,3
-0.970625,0.76516667,1.06716667,0.96681818,2391,11/2/2020 20:24,male,1,2001,3
-1.617,1.2974,1.396,1.31811111,2392,11/2/2020 22:03,male,1,1960,4
-1.31577778,1.47425,1.833,1.5272,2393,11/3/2020 9:55,female,1,1991,3
-2.70375,5.4105,1.9675,1.6535,2394,11/3/2020 10:12,male,1,1971,1
-1.4356,1.2895,1.996,3.604,2395,11/3/2020 10:33,female,1,1971,1
-1.3435,2.02766667,1.659,2.1244,2395,11/3/2020 10:36,female,1,1971,1
-0.50418182,0.69958333,1.0378,0.628875,2396,11/3/2020 11:00,male,1,1987,4
-3.0842,3.408,2.023,2.36333333,2397,11/3/2020 11:13,male,1,1952,1
-1.8645,1.73766667,1.79228571,2.942,2398,11/3/2020 12:02,male,1,1949,1
-1.35544444,1.286,1.236,2.12766667,2401,11/3/2020 14:38,male,1,1999,2
-1.2514,1.23275,1.5196,1.8966,2402,11/3/2020 17:05,male,0,1989,3
-2.42933333,2.61525,1.99866667,5.986,2403,11/3/2020 17:15,female,1,1973,1
-1.37233333,1.31025,0.88477778,1.564,2404,11/3/2020 17:28,male,1,1969,2
-1.768,1.58816667,1.37825,1.703,2405,11/3/2020 17:27,male,1,1944,3
-1.04766667,0.97285714,0.79407143,0.9754,2407,11/3/2020 17:28,male,1,2001,4
-1.04391667,1.197,0.9969,1.216,2408,11/3/2020 17:36,female,1,1962,3
-0.5472,0.669,0.582,0.58668421,2409,11/3/2020 20:09,male,1,1993,5
-0.608375,0.82866667,0.5275,0.5676,2410,11/3/2020 21:38,male,1,1995,3
-1.9158,1.432,1.1755,1.32914286,2411,11/3/2020 22:11,female,1,2002,2
-0.705,0.738,0.71175,0.98333333,2411,11/3/2020 23:06,female,1,2002,2
-1.912,1.49666667,1.309,2.3832,2412,11/3/2020 22:25,female,1,1977,2
-1.7784,1.889,1.93425,2.5,2413,11/3/2020 22:53,male,1,1968,2
-1.355,1.5525,1.67542857,1.62083333,2414,11/4/2020 16:56,male,1,1986,3
-0.87466667,0.8705,1.3095,1.32928571,2414,11/4/2020 16:57,male,1,1986,3
-2.64866667,1.8235,1.20411111,1.64675,2415,11/4/2020 17:16,female,1,1974,2
-1.5786,0.53977778,1.229,1.437,2416,11/4/2020 17:40,male,1,1996,2
-1.857,1.42155556,1.4445,2.15175,2418,11/5/2020 19:33,male,1,1965,2
-0.6969,1.06614286,0.59635714,0.97028571,2421,11/4/2020 18:58,male,1,2001,3
-0.66258333,0.839,1.3618,0.79644444,2422,11/5/2020 11:10,male,1,1979,2
-0.88816667,0.72955556,0.752,0.882,2423,11/5/2020 11:33,male,0,1986,5
-1.193,0.829375,0.8638,0.8698,2424,11/8/2020 13:20,male,1,2001,4
-0.65353333,0.5405,0.6746,0.82381818,2425,11/10/2020 18:55,male,1,2001,1
-0.99533333,0.942125,0.8874,1.162,2427,11/11/2020 10:18,male,1,1999,3
-1.411,2.09875,1.399,1.286375,2429,11/14/2020 17:55,male,1,1954,3
-1.37385714,1.001,1.01775,1.1916,2430,11/16/2020 17:04,male,1,2001,2
-0.7085,0.58316667,0.68171429,0.681,2431,11/18/2020 10:48,female,1,1996,4
-0.909125,0.683625,0.83016667,1.16716667,2433,11/18/2020 10:54,male,1,2001,2
-0.56,1.225,0.61,0.635,2438,11/18/2020 11:08,male,1,2001,4
-0.729,0.881,0.7755,0.889875,2440,11/18/2020 11:20,male,1,2001,3
-0.7919,1.20883333,0.76977778,0.842,2441,11/18/2020 11:20,male,1,2001,3
-0.73884615,0.80785714,0.6255,0.90044444,2442,11/18/2020 11:27,male,1,2001,4
-0.974875,1.042125,0.80316667,0.8486,2450,11/18/2020 11:23,female,1,2000,2
-1.3562,1.39357143,1.27828571,1.7105,2453,11/18/2020 18:11,male,1,1967,2
-2.63066667,3.483,2.29833333,3.0575,2454,11/18/2020 18:42,male,1,1955,1
-1.02883333,0.78757143,0.86166667,0.85906667,2455,11/18/2020 18:59,female,1,1989,4
-0.8487,0.7465,1.09925,1.1764,2456,11/18/2020 20:25,female,0,1974,1
-0.85616667,0.658875,1.04222222,1.087,2457,11/19/2020 21:41,male,1,1995,3
-1.475125,1.1556,1.06328571,1.21925,2458,11/20/2020 14:22,female,1,2001,2
-0.67433333,0.7646,0.70416667,0.6035625,2460,11/22/2020 17:20,female,1,1996,4
-0.77771429,0.95055556,0.96781818,0.86733333,2461,11/23/2020 11:52,female,1,1991,4
-0.756,0.66216667,0.6935,0.72,2461,11/23/2020 11:53,female,1,1991,4
-0.77166667,0.645125,0.76076923,0.73085714,2463,11/23/2020 13:47,male,1,2001,3
-0.64664706,0.62745455,0.67,0.809875,2464,11/23/2020 13:30,male,1,1999,3
-0.58461538,0.7239,0.56092857,0.7078,2466,11/23/2020 13:50,male,1,2001,4
-0.60682353,0.54128571,0.58342857,0.67181818,2470,11/26/2020 8:11,male,1,1979,3
-1.15,1.72814286,1.22825,2.2508,2471,11/26/2020 8:30,male,1,1962,2
-0.53523529,0.73688889,0.62192308,0.6133,2472,11/26/2020 8:40,female,1,1993,3
-0.983,0.87733333,1.0184,1.101,2473,11/28/2020 11:03,male,1,2001,2
-1.542,1.5034,1.606,1.4716,2474,11/28/2020 11:13,female,1,2000,1
-0.5769375,0.50615385,0.66521429,0.52188889,2475,11/28/2020 11:22,male,1,2002,3
-0.558,0.47371429,0.53855556,0.475,2476,11/28/2020 11:31,male,1,1991,4
-0.57707143,0.47866667,0.5999,0.46455556,2477,11/28/2020 11:39,male,1,2001,3
-0.52014286,0.66755556,0.52927273,0.71436364,2478,11/29/2020 14:52,male,1,2001,3
-0.58142857,0.686,0.71388889,0.5625,2479,11/29/2020 15:03,male,1,2001,2
-0.6308,0.514,0.66258333,0.6431875,2482,11/28/2020 19:05,male,1,1993,3
-0.8467,1.4625,0.80009091,1.1568,2489,12/5/2020 13:47,male,1,1973,2
-2.89,1.9282,2.0415,1.80833333,2490,12/5/2020 14:01,female,1,1981,2
-0.84988889,0.87188889,0.79242857,0.80663636,2492,1/22/2021 15:42,male,1,2001,3
-2.16075,1.655,2.0345,1.855,2493,1/22/2021 16:07,female,1,1950,1
-1.2586,1.198125,1.4966,1.3178,2494,1/22/2021 16:38,female,1,1977,2
-1.592,1.74825,1.91125,1.80175,2495,1/22/2021 16:59,male,1,1968,2
-0.79071429,1.06975,0.88481818,0.85157143,2496,1/22/2021 17:19,male,1,1986,3
-2.041,2.634,1.81975,2.257,2497,1/22/2021 17:30,male,1,1945,1
-0.978625,0.948,1.16228571,1.09766667,2513,3/9/2021 14:39,female,1,1962,3
-1.50733333,1.5518,1.6852,1.748,2513,3/9/2021 14:02,female,1,1962,3
-1.10757143,0.94388889,1.08366667,1.09377778,2513,3/9/2021 14:30,female,1,1962,3
-0.9614,0.949125,0.88233333,1.00728571,2514,3/13/2021 20:51,male,1,1990,3
-0.6946,0.6655,0.8793,0.74216667,2515,3/13/2021 21:10,female,1,1977,2
-0.96642857,1.0675,1.15814286,1.43933333,2516,3/13/2021 21:22,male,1,1969,2
-1.16975,1.26933333,1.206,1.68883333,2517,3/13/2021 21:39,male,1,1960,1
-0.7972,0.93975,0.83533333,0.689,2530,4/19/2021 19:15,female,1,2000,3
-0.92833333,0.82333333,0.75333333,0.8998,2530,4/19/2021 19:15,female,1,2000,3
-0.79875,0.7436,0.62010526,0.7379,2531,4/12/2021 11:14,female,1,1999,3
-0.8156,0.758875,0.71885714,0.63175,2531,4/7/2021 13:48,female,1,1999,3
-0.692625,0.74930769,0.6694,0.68336364,2533,4/7/2021 10:37,female,1,2001,4
-0.6689,0.63623077,0.5905625,0.61633333,2533,4/8/2021 10:13,female,1,2001,4
-0.93325,0.77333333,0.85325,0.965,2535,4/7/2021 15:27,female,1,2001,3
-0.54525,0.7087,0.63188235,0.68925,2535,4/17/2021 18:26,female,1,2001,3
-0.69475,0.829,0.87033333,0.83033333,2535,4/7/2021 15:21,female,1,2001,3
-0.572,0.49022222,0.5115,0.49775,2536,4/7/2021 10:36,male,1,2001,4
-0.521,0.5086,0.54984615,0.54611111,2536,4/7/2021 10:37,male,1,2001,4
-0.8265,0.74718182,0.77177778,1.25866667,2538,4/7/2021 10:38,female,1,2000,3
-0.782,0.902,1.016625,1.4706,2539,4/7/2021 10:36,male,1,2001,3
-0.78963636,0.5945,0.9385,1.04166667,2539,4/7/2021 10:37,male,1,2001,3
-0.61522222,0.76328571,0.72961538,0.79181818,2540,4/15/2021 22:23,male,1,1999,3
-0.6905,0.66709091,0.8923,0.69777778,2540,4/7/2021 10:35,male,1,1999,3
-0.72428571,0.62845455,0.869,0.6878,2541,4/8/2021 15:20,female,1,2002,3
-0.66416667,0.58742857,0.796,0.7864,2541,4/8/2021 15:36,female,1,2002,3
-0.84092308,0.68827273,0.88783333,0.83785714,2542,4/17/2021 18:16,female,1,2001,4
-0.603,0.851,0.79585714,0.84614286,2542,4/17/2021 18:19,female,1,2001,4
-0.96077778,0.9336,1.6605,1.39966667,2542,4/7/2021 10:35,female,1,2001,4
-2.502,3.073,3.16433333,2.48666667,2544,4/13/2021 21:10,female,1,2001,3
-1.84333333,2.44233333,2.0635,2.3656,2544,4/13/2021 22:21,female,1,2001,3
-2.434,3.546,2.988,2.81033333,2544,4/13/2021 21:10,female,1,2001,3
-1.54925,2.41525,1.71066667,1.89725,2544,4/13/2021 22:22,female,1,2001,3
-0.9495,0.91971429,1.187,0.8866,2544,4/11/2021 16:15,female,1,2001,3
-1.9862,2.64966667,2.956,3.9375,2544,4/13/2021 21:41,female,1,2001,3
-0.750125,0.97722222,0.73966667,0.6815,2544,4/11/2021 16:16,female,1,2001,3
-1.7865,1.89857143,2.27,4.016,2544,4/13/2021 21:42,female,1,2001,3
-0.71836364,0.75855556,0.56341667,0.62676923,2545,4/7/2021 10:35,male,1,2001,5
-0.68166667,0.669,0.5825,0.732875,2545,4/8/2021 12:31,male,1,2001,5
-0.92877778,0.95557143,0.8588,0.82385714,2546,4/7/2021 10:40,female,1,2002,3
-0.66463636,0.919,0.72425,0.68488889,2546,4/7/2021 18:30,female,1,2002,3
-0.62792308,0.861,0.5186,0.7965,2547,4/20/2021 22:07,male,1,2001,1
-0.608875,0.5334,0.58007692,0.7074,2547,4/20/2021 22:07,male,1,2001,1
-1.2665,0.91666667,2.70425,1.1936,2549,4/7/2021 10:35,female,1,2001,3
-0.85642857,1.2882,1.27033333,1.158625,2549,4/17/2021 19:13,female,1,2001,3
-1.0794,0.89144444,1.9086,1.099,2549,4/17/2021 19:13,female,1,2001,3
-0.73892857,0.867875,1.07657143,0.9916,2550,4/20/2021 16:49,female,1,1998,3
-1.44933333,0.68854545,1.151,0.92571429,2550,4/7/2021 11:00,female,1,1998,3
-1.93333333,1.22,1.47985714,0.8738,2551,4/7/2021 10:52,female,0,2001,3
-1.17833333,0.96218182,0.80790909,0.80725,2551,4/7/2021 11:05,female,0,2001,3
-0.73644444,0.62538462,0.77725,0.727875,2552,4/19/2021 14:39,female,1,2001,3
-0.6775,0.618,0.77254545,0.91671429,2552,4/19/2021 14:29,female,1,2001,3
-6.823,6.373,4.993,4.0125,2554,4/7/2021 12:33,male,1,1946,1
-1.212,0.92166667,0.774,1.022,2555,4/7/2021 12:35,female,1,1972,3
-1.1845,0.9674,1.348,0.923,2555,4/7/2021 12:35,female,1,1972,3
-1.06257143,1.09342857,1.0526,1.20685714,2556,4/7/2021 14:20,female,1,2001,3
-0.805125,1.125125,0.821,1.02145455,2556,4/7/2021 14:30,female,1,2001,3
-1.408,1.7584,1.37042857,2.236,2557,4/7/2021 15:00,female,1,1973,2
-2.536,2.3885,1.83071429,1.5875,2557,4/7/2021 14:46,female,1,1973,2
-2.536,2.3885,1.83071429,1.5875,2557,4/7/2021 14:46,female,1,1973,2
-0.81333333,0.75445455,1.0305,0.93081818,2558,4/18/2021 22:57,male,1,2001,3
-0.8701,0.96042857,0.80857143,0.67038462,2558,4/18/2021 22:57,male,1,2001,3
-0.80842857,0.89677778,0.82655556,0.8269,2559,4/7/2021 15:56,female,1,2001,2
-0.935125,0.9785,0.8,0.95866667,2559,4/7/2021 15:39,female,1,2001,2
-0.732,0.75816667,0.71408333,0.46544444,2560,4/7/2021 15:49,male,1,1995,3
-0.7236,0.87,0.8415,0.84055556,2561,4/14/2021 23:25,male,0,2001,3
-0.759,0.9905,0.90741667,1.00966667,2561,4/7/2021 16:09,male,0,2001,3
-0.67357143,0.93485714,0.92444444,0.92672727,2561,4/7/2021 16:10,male,0,2001,3
-0.64671429,0.67975,0.7162,0.594,2562,4/18/2021 22:20,female,1,2001,3
-0.77475,0.63311765,0.78271429,0.61081818,2562,4/18/2021 22:21,female,1,2001,3
-0.77475,0.63311765,0.78271429,0.61081818,2562,4/18/2021 22:21,female,1,2001,3
-1.02225,1.044,0.952375,0.79966667,2564,4/7/2021 16:43,female,1,2001,4
-0.707,0.9186,0.79445455,0.76675,2564,4/7/2021 17:19,female,1,2001,4
-0.71773333,0.753125,0.728,0.6644,2565,4/7/2021 16:49,male,1,2002,4
-1.39966667,1.23228571,0.99466667,1.43025,2566,4/15/2021 10:18,female,1,1980,3
-0.90963636,1.21885714,0.962,1.206,2566,4/15/2021 10:19,female,1,1980,3
-1.39966667,1.23228571,0.99466667,1.43025,2566,4/15/2021 10:18,female,1,1980,3
-0.5825,0.7815,0.67166667,0.77591667,2571,4/7/2021 20:29,male,1,2001,3
-0.73933333,0.67928571,0.89042857,0.83742857,2571,4/7/2021 20:45,male,1,2001,3
-0.95442857,0.79436364,0.6386,0.7174,2573,4/7/2021 20:54,male,1,1968,3
-0.80622222,0.722,0.79755556,0.734,2573,4/7/2021 20:55,male,1,1968,3
-1.1115,1.21477778,1.027,1.0575,2574,4/7/2021 21:00,female,1,1998,3
-1.6016,1.08171429,1.051,1.12333333,2574,4/20/2021 21:05,female,1,1998,3
-3.981,2.0125,2.05666667,2.19566667,2575,4/7/2021 21:13,female,1,1968,2
-1.579,2.4104,1.28833333,1.49825,2575,4/7/2021 21:13,female,1,1968,2
-0.5681875,0.62178571,0.69277778,0.64455556,2576,4/7/2021 21:19,male,1,2000,3
-0.51673333,0.50871429,0.60957143,0.61377778,2576,4/7/2021 21:20,male,1,2000,3
-1.984,1.7918,1.60966667,1.674,2577,4/7/2021 21:34,male,0,1970,1
-1.16016667,1.1289,1.3385,1.22766667,2577,4/7/2021 21:34,male,0,1970,1
-0.66177778,0.5865,0.79969231,0.9504,2579,4/7/2021 21:48,male,1,1972,3
-0.6325,0.641,0.687875,0.88075,2579,4/7/2021 21:48,male,1,1972,3
-2.148,1.7765,1.7968,2.65933333,2580,4/8/2021 12:53,female,1,1954,2
-1.319,1.592,1.52685714,1.9132,2580,4/8/2021 12:54,female,1,1954,2
-1.555,1.01,1.18857143,1.00733333,2581,4/8/2021 13:36,female,1,1976,4
-1.4426,1.3695,2.01466667,1.376,2581,4/8/2021 13:34,female,1,1976,4
-1.133,1.962,1.018,0.893,2583,4/8/2021 14:43,female,1,1951,2
-0.6852,0.7754,0.8055,0.8295,2584,4/8/2021 15:16,female,0,1965,3
-0.503,0.753,0.811,0.61733333,2584,4/8/2021 15:16,female,0,1965,3
-0.605,0.7122,0.6582,0.70355556,2586,4/8/2021 15:30,male,0,1970,4
-0.62585714,0.6865,0.69238462,0.59663636,2586,4/8/2021 15:30,male,0,1970,4
-0.969,0.981,1.009,1.618,2587,4/8/2021 15:40,male,1,1970,3
-3.668,3.812,5.99,1.506,2588,4/8/2021 15:57,female,1,1950,1
-6.115,6.1735,2.624,2.6095,2588,4/8/2021 15:56,female,1,1950,1
-1.10125,1.09366667,1.34228571,1.538625,2589,4/8/2021 17:10,male,1,2001,4
-0.88792308,0.68533333,0.85133333,0.8448,2589,4/8/2021 17:27,male,1,2001,4
-0.70155556,0.821625,0.80428571,0.84392308,2590,4/8/2021 21:04,male,1,2001,1
-1.2615,1.0275,0.89188889,1.05411111,2590,4/8/2021 21:03,male,1,2001,1
-1.7975,1.52425,1.28155556,2.59,2591,4/8/2021 21:24,female,1,1976,1
-1.606,2.4162,0.8205,1.818,2591,4/8/2021 21:25,female,1,1976,1
-1.65025,1.6218,1.7214,1.38125,2592,4/8/2021 21:52,female,1,1958,1
-1.3812,1.5625,1.107,1.3779,2592,4/8/2021 21:51,female,1,1958,1
-1.0009,0.87585714,1.007,1.31225,2594,4/8/2021 22:36,male,1,1977,1
-0.996,0.7994,0.939375,1.1221,2594,4/8/2021 22:37,male,1,1977,1
-1.5775,1.5625,1.528,1.5245,2595,4/8/2021 23:04,female,1,1952,1
-1.63225,1.68816667,1.44725,2.17533333,2595,4/8/2021 23:03,female,1,1952,1
-0.85357143,1.1298,1.1438,1.0438,2597,4/8/2021 23:40,female,1,1980,4
-0.999125,0.8435,0.952,1.1265,2597,4/8/2021 23:40,female,1,1980,4
-0.7709,0.7825,0.842,0.63223077,2598,4/9/2021 14:26,female,1,2001,3
-0.95254545,0.69563636,0.8512,0.689375,2598,4/9/2021 13:46,female,1,2001,3
-1.04266667,1.357125,1.3754,1.3115,2599,4/17/2021 18:15,male,1,1977,2
-1.21116667,1.1524,1.3026,1.283,2599,4/21/2021 9:58,male,1,1977,2
-1.1372,1.442625,0.976375,1.11075,2600,4/9/2021 19:13,male,1,1970,3
-0.985,0.94633333,1.1535,1.03654545,2600,4/9/2021 19:15,male,1,1970,3
-1.1372,1.442625,0.976375,1.11075,2600,4/9/2021 19:13,male,1,1970,3
-0.6155,0.66466667,0.83833333,0.64233333,2601,4/18/2021 0:42,male,1,2001,3
-0.6155,0.66466667,0.83833333,0.64233333,2601,4/18/2021 0:42,male,1,2001,3
-1.31477778,1.06742857,1.253,0.968375,2601,4/9/2021 22:40,male,1,2001,3
-0.81375,0.886,0.7683,0.62683333,2601,4/13/2021 12:08,male,1,2001,3
-1.1735,1.504,1.13785714,1.788,2602,4/11/2021 10:31,male,1,1976,2
-2.14933333,1.51233333,1.7345,1.48075,2602,4/11/2021 10:32,male,1,1976,2
-3.662,3.3986,1.209,5.937,2603,4/11/2021 11:00,female,1,1977,2
-2.01133333,2.2285,2.566,2.037,2603,4/11/2021 11:00,female,1,1977,2
-1.482,1.534,1.4175,1.4905,2605,4/12/2021 11:19,female,1,1955,1
-1.7135,1.2284,1.05342857,1.2752,2605,4/12/2021 11:20,female,1,1955,1
-1.0368,1.587,1.0717,1.016875,2606,4/12/2021 11:46,male,1,1975,5
-0.80042857,1.191,0.628375,0.71230769,2606,4/12/2021 11:47,male,1,1975,5
-1.8215,1.5868,1.4914,1.605,2608,4/12/2021 14:16,female,1,1958,3
-1.6578,1.7302,1.74475,1.70766667,2608,4/12/2021 14:17,female,1,1958,3
-1.623,1.67375,1.4176,1.34475,2609,4/12/2021 14:33,male,1,1956,3
-1.71566667,1.87,1.47033333,1.7164,2609,4/12/2021 14:34,male,1,1956,3
-0.67990909,0.77728571,0.73922222,0.67073333,2610,4/12/2021 15:06,male,1,1979,2
-0.82411111,0.67890909,0.87616667,0.77408333,2610,4/12/2021 15:06,male,1,1979,2
-0.66433333,0.7336,0.7505,0.94533333,2611,4/12/2021 15:29,male,1,1964,3
-1.47157143,1.54233333,1.39716667,1.538,2612,4/12/2021 15:43,female,1,1956,3
-1.65383333,1.34385714,1.002,1.411,2612,4/12/2021 15:43,female,1,1956,3
-2.15366667,1.39933333,1.272,1.3316,2613,4/12/2021 16:36,female,1,1957,2
-1.41333333,1.34975,1.3755,1.60071429,2613,4/12/2021 16:35,female,1,1957,2
-1.37622222,1.16642857,1.231,1.1416,2614,4/12/2021 18:41,male,1,1973,4
-0.79928571,0.92163636,0.91466667,0.73957143,2614,4/12/2021 20:53,male,1,1973,4
-0.65,0.69933333,0.64316667,0.57014286,2615,4/12/2021 20:50,male,1,2001,4
-0.746,0.709,0.73458333,0.61333333,2615,4/12/2021 20:32,male,1,2001,4
-1.301,1.4565,1.551,1.28225,2616,4/12/2021 21:07,female,1,1981,2
-1.048625,1.24085714,1.2482,1.84633333,2616,4/12/2021 21:08,female,1,1981,2
-3.764,3.386,3.404,3.9925,2617,4/12/2021 21:31,male,1,1942,2
-2.895,2.6765,2.552,2.408,2617,4/12/2021 21:17,male,1,1942,2
-1.554,1.7966,1.475625,1.701,2618,4/12/2021 21:31,male,1,1948,1
-1.417,1.299,1.1795,1.56883333,2618,4/12/2021 21:32,male,1,1948,1
-2.26,1.621,2.25225,1.6154,2620,4/17/2021 23:15,male,1,1976,3
-1.9456,1.842,2.2886,1.628,2620,4/12/2021 21:40,male,1,1976,3
-1.60825,1.8102,1.7405,1.6915,2621,4/12/2021 22:00,male,1,1955,3
-1.4355,1.476375,1.47133333,1.60933333,2621,4/12/2021 22:01,male,1,1955,3
-0.91933333,0.8916,0.8868,1.06466667,2622,4/12/2021 22:59,male,1,2001,3
-0.899875,0.911,0.94858333,1.11166667,2622,4/12/2021 22:58,male,1,2001,3
-2.66175,1.26575,1.777,1.73516667,2623,4/13/2021 12:08,female,1,2001,2
-1.144,1.094,1.30425,0.92833333,2623,4/13/2021 12:20,female,1,2001,2
-2.69,3.22666667,2.9405,2.52575,2625,4/17/2021 23:06,female,1,1965,3
-4.778,6.587,5.9665,6.171,2625,4/13/2021 14:10,female,1,1965,3
-1.26266667,1.30625,1.4245,1.07371429,2626,4/13/2021 16:46,male,1,1996,3
-3.115,2.679,3.23966667,2.30066667,2627,4/13/2021 18:15,female,1,1949,1
-2.64125,2.142,2.2415,1.9284,2627,4/13/2021 18:16,female,1,1949,1
-1.57866667,2.057,1.7026,1.578,2628,4/13/2021 18:29,female,0,1957,2
-1.06728571,1.6205,1.693,1.1604,2628,4/13/2021 18:30,female,0,1957,2
-4.05,2.437,3.71666667,2.205,2629,4/13/2021 18:53,male,1,1941,1
-1.9645,2.1718,2.3542,1.692,2629,4/13/2021 18:54,male,1,1941,1
-1.4804,1.21333333,1.08316667,1.05075,2630,4/13/2021 22:40,female,1,1978,3
-0.894,0.97322222,1.06688889,0.8626,2630,4/13/2021 22:41,female,1,1978,3
-1.24814286,1.5505,1.53983333,1.394,2631,4/13/2021 22:09,male,1,1976,2
-0.93175,1.375375,0.99333333,0.87016667,2631,4/13/2021 22:11,male,1,1976,2
-0.961,1.11214286,1.291,1.01266667,2632,4/14/2021 23:04,male,1,1967,2
-0.799125,1.1615,1.1512,0.84816667,2632,4/14/2021 23:05,male,1,1967,2
-0.98166667,0.94314286,0.98511111,0.8117,2633,4/14/2021 20:52,female,1,1972,3
-0.80657143,0.93222222,0.78409091,0.69544444,2633,4/14/2021 20:52,female,1,1972,3
-0.97925,0.78084615,0.74636364,0.7482,2634,4/14/2021 22:32,male,1,1970,3
-0.70323077,0.65966667,0.76190909,0.834,2634,4/14/2021 22:33,male,1,1970,3
-1.64375,2.2245,1.672,1.527,2635,4/13/2021 20:42,male,1,1973,1
-2.983,3.504,3.81333333,3.513,2635,4/18/2021 17:50,male,1,1973,1
-1.08177778,0.92771429,1.10914286,0.93733333,2636,4/13/2021 21:14,male,1,1979,3
-1.00277778,1.11966667,1.54225,0.951625,2636,4/13/2021 21:14,male,1,1979,3
-1.811,1.747,1.5416,2.1178,2637,4/13/2021 22:04,female,1,1958,5
-1.624375,1.2915,1.05775,1.8045,2637,4/14/2021 12:04,female,1,1958,5
-1.385,1.62733333,1.639,1.98166667,2638,4/19/2021 0:22,male,1,1970,2
-1.65375,1.7152,1.77025,1.4404,2638,4/13/2021 23:27,male,1,1970,2
-1.48933333,1.41242857,1.6238,1.04657143,2639,4/13/2021 23:44,female,0,1971,4
-1.0116,0.98288889,0.99344444,0.868125,2639,4/18/2021 0:26,female,0,1971,4
-0.86275,1.077625,1.3296,0.9055,2640,4/14/2021 11:37,female,1,1974,3
-0.928,1.1946,1.11742857,0.92027273,2640,4/14/2021 11:37,female,1,1974,3
-1.14233333,1.07971429,1.30011111,0.99914286,2641,4/14/2021 11:49,male,1,1966,3
-0.77275,0.65788235,1.0314,1.05085714,2641,4/14/2021 11:49,male,1,1966,3
-1.293,1.15575,1.6225,0.95325,2641,4/14/2021 11:50,male,1,1966,3
-0.80063636,1.10285714,1.322,1.23316667,2643,4/14/2021 12:04,male,1,1964,3
-1.342,1.67975,2.28366667,1.1132,2644,4/14/2021 12:22,female,1,1971,3
-0.95066667,1.065,1.0035,0.9399,2644,4/14/2021 12:24,female,1,1971,3
-0.842875,0.90985714,0.90744444,0.78145455,2646,4/14/2021 12:41,female,1,1969,3
-0.951,0.90475,1.06371429,0.864875,2646,4/14/2021 12:41,female,1,1969,3
-2.113,2.00875,1.4608,1.80883333,2648,4/14/2021 12:59,male,1,1959,3
-1.7534,2.07666667,1.5895,1.779,2650,4/14/2021 13:19,female,1,1975,2
-1.96925,1.224,1.7014,1.50383333,2650,4/14/2021 13:20,female,1,1975,2
-0.83725,0.819625,0.85522222,0.79045455,2651,4/14/2021 14:08,male,1,2001,3
-0.7696,0.8588,1.0168,0.995875,2651,4/14/2021 14:46,male,1,2001,3
-0.7684,0.76288889,0.73922222,0.90185714,2651,4/20/2021 21:17,male,1,2001,3
-2.2945,2.27033333,2.192,2.851,2653,4/14/2021 13:41,female,1,1950,1
-5.265,4.5835,1.577,3.187,2653,4/14/2021 13:41,female,1,1950,1
-8.51,3.091,4.65,4.782,2654,4/14/2021 13:59,male,1,1951,1
-4.4715,4.497,5.8385,3.729,2654,4/14/2021 14:00,male,1,1951,1
-2.951,4.199,2.854,2.62,2655,4/14/2021 14:12,female,1,1960,1
-1.1225,1.06842857,1.5032,1.3265,2656,4/14/2021 15:01,female,1,1969,2
-0.8845,0.772875,0.9705,1.14444444,2656,4/14/2021 15:02,female,1,1969,2
-2.434,3.79733333,2.1815,1.8586,2657,4/14/2021 15:34,male,1,1973,3
-1.64025,1.70725,1.07888889,1.1715,2657,4/14/2021 15:36,male,1,1973,3
-1.61475,1.847,1.5205,1.4908,2658,4/20/2021 22:02,male,1,1970,3
-3.12433333,4.932,1.16233333,1.452,2658,4/20/2021 22:03,male,1,1970,3
-1.00142857,0.95333333,1.1675,1.00585714,2659,4/14/2021 16:02,male,1,1970,3
-0.91377778,0.7822,0.7161,0.827625,2659,4/14/2021 16:04,male,1,1970,3
-1.1925,1.484,1.642,1.4014,2660,4/14/2021 16:11,female,1,1978,3
-1.126,1.469,1.46185714,1.46566667,2660,4/14/2021 16:12,female,1,1978,3
-3.024,3.60333333,3.2565,4.2205,2662,4/14/2021 16:57,male,1,1946,1
-2.24633333,2.89833333,2.22375,2.2155,2662,4/14/2021 16:59,male,1,1946,1
-0.77683333,0.8775,0.769875,0.76454545,2663,4/18/2021 3:20,female,1,1970,2
-0.83669231,0.80322222,0.69742857,0.714,2663,4/18/2021 3:21,female,1,1970,2
-0.6845,0.6056,0.67445455,0.68,2665,4/14/2021 17:20,male,1,2001,4
-0.54745,0.548125,0.8522,0.66788889,2665,4/14/2021 17:21,male,1,2001,4
-0.7635,1.00641667,0.72109091,0.82983333,2666,4/18/2021 21:57,male,1,1960,2
-0.83983333,0.77536364,0.907,0.6023,2666,4/18/2021 21:58,male,1,1960,2
-0.65822222,1.041,1.28766667,1.18166667,2667,4/18/2021 2:50,male,1,1973,3
-1.17575,1.00875,0.619875,1.3578,2668,4/18/2021 21:46,female,1,1978,3
-0.9193,0.76964286,0.71233333,0.54416667,2668,4/18/2021 21:45,female,1,1978,3
-11.071,1.5505,1.19166667,1.2815,2669,4/17/2021 19:45,female,1,2001,3
-1.063875,1.32575,2.409,1.155,2669,4/17/2021 19:46,female,1,2001,3
-0.75744444,0.93957143,0.89781818,2.18333333,2670,4/14/2021 17:39,male,1,1968,3
-0.68688889,0.7554,0.7647,0.74972727,2670,4/14/2021 17:38,male,1,1968,3
-0.63878571,0.85754545,0.6805,0.682,2671,4/18/2021 21:16,female,1,1965,3
-0.801,0.67413333,1.058125,0.6513,2671,4/18/2021 21:16,female,1,1965,3
-0.70344444,0.69490909,0.874875,1.105875,2673,4/18/2021 22:09,female,1,1968,3
-0.65566667,0.90425,0.973,0.67236364,2673,4/18/2021 22:08,female,1,1968,3
-0.93858333,0.90571429,0.70307692,0.6314,2674,4/18/2021 3:06,male,1,1972,2
-0.72577778,1.15588889,0.9048,0.91244444,2674,4/18/2021 3:07,male,1,1972,2
-1.07185714,1.0002,0.85357143,1.1399,2675,4/14/2021 17:53,female,0,1975,3
-1.03666667,0.98375,1.2162,0.97557143,2675,4/14/2021 17:53,female,0,1975,3
-0.888,1.46283333,0.9355,0.8444,2676,4/17/2021 21:06,male,1,2003,3
-0.728875,0.9298,0.78418182,0.79428571,2676,4/17/2021 21:06,male,1,2003,3
-3.262,5.459,2.384,3.111,2677,4/14/2021 18:13,female,1,1943,1
-2.445,2.52766667,4.244,5.776,2677,4/14/2021 18:16,female,1,1943,1
-1.68,5.931,4.277,1.728,2677,4/14/2021 18:17,female,1,1943,1
-3.087,5.407,3.83166667,3.1355,2677,4/14/2021 18:12,female,1,1943,1
-1.11628571,1.3172,1.49733333,1.08166667,2678,4/14/2021 18:37,female,0,1981,2
-1.418,1.4915,1.43114286,1.21216667,2678,4/14/2021 18:36,female,0,1981,2
-1.328,1.397,1.60314286,1.6382,2679,4/14/2021 18:47,male,1,1976,3
-1.228,0.82975,1.3425,1.202,2679,4/14/2021 18:47,male,1,1976,3
-1.2325,1.57342857,1.80225,1.28975,2680,4/14/2021 19:06,female,1,1959,2
-1.42525,1.8855,2.447,2.1385,2680,4/14/2021 19:04,female,1,1959,2
-2.30875,2.375,2.251,2.461,2681,4/14/2021 19:01,male,1,1974,2
-1.66625,1.8435,2.6362,1.87466667,2681,4/14/2021 19:02,male,1,1974,2
-1.0855,0.93054545,1.1954,1.428,2682,4/14/2021 19:30,female,1,1980,2
-1.34683333,1.081,1.62175,1.5585,2682,4/14/2021 19:29,female,1,1980,2
-3.393,2.61725,2.54875,1.38266667,2683,4/14/2021 19:42,male,1,1976,2
-4.486,3.4395,2.061,4.88533333,2683,4/21/2021 10:34,male,1,1976,2
-3.273,2.81333333,1.965,1.51933333,2684,4/21/2021 10:49,female,1,1976,2
-1.625,1.643,1.38375,1.341,2684,4/14/2021 19:57,female,1,1976,2
-3.981,1.95233333,1.2365,1.119,2685,4/14/2021 20:02,female,1,1951,2
-1.61533333,2.12566667,1.81533333,1.045,2685,4/14/2021 20:03,female,1,1951,2
-2.883,3.19566667,2.9865,2.8085,2686,4/14/2021 20:08,female,1,1959,1
-2.804,4.036,3.965,3.4215,2686,4/14/2021 20:08,female,1,1959,1
-4.454,1.214,8.924,2.165,2688,4/21/2021 10:42,male,1,1979,2
-3.757,3.0395,3.08966667,2.392,2689,4/14/2021 20:28,male,1,1949,1
-5.472,3.806,5.449,2.93666667,2689,4/21/2021 17:23,male,1,1949,1
-1.5948,1.52525,1.56025,1.25166667,2690,4/20/2021 21:16,female,1,1977,5
-2.77925,1.08233333,2.12275,1.1565,2691,4/14/2021 20:39,female,1,1989,4
-1.8345,1.1408,2.188,1.9078,2691,4/14/2021 20:50,female,1,1989,4
-3.85,3.465,2.543,4.147,2692,4/22/2021 15:36,female,0,1971,2
-1.9085,2.3115,2.99525,1.43966667,2692,4/21/2021 17:08,female,0,1971,2
-1.43133333,1.353,3.54466667,2.49666667,2693,4/21/2021 17:20,male,1,1971,2
-2.97433333,2.5425,2.286,3.7985,2693,4/22/2021 19:07,male,1,1971,2
-2.60233333,2.324,2.89766667,6.213,2694,4/14/2021 21:04,female,1,1963,2
-6.455,6.886,6.183,7.553,2694,4/21/2021 17:32,female,1,1963,2
-8.826,4.134,4.038,5.21,2695,4/22/2021 18:56,male,1,1939,1
-1.71633333,2.5505,2.0895,1.134,2696,4/14/2021 21:41,male,1,1974,2
-1.114,1.92914286,1.94366667,1.0144,2696,4/14/2021 21:42,male,1,1974,2
-1.049125,1.17242857,1.1364,1.268,2697,4/15/2021 17:56,female,1,1949,1
-0.7535,1.08988889,0.95625,0.94878571,2697,4/15/2021 17:55,female,1,1949,1
-0.88822222,2.92,1.1278,1.3428,2698,4/16/2021 12:05,male,1,1948,1
-0.8243,0.9565,1.04011111,0.9995,2698,4/15/2021 18:04,male,1,1948,1
-0.89357143,0.941,1.4145,1.2785,2698,4/15/2021 18:05,male,1,1948,1
-0.82833333,1.19377778,1.01625,1.4015,2698,4/16/2021 12:04,male,1,1948,1
-1.3934,1.17183333,1.0275,1.621625,2699,4/15/2021 11:19,female,1,1955,1
-1.01311111,1.52533333,1.0345,1.235,2699,4/15/2021 17:47,female,1,1955,1
-2.1705,2.98225,2.029,1.74433333,2700,4/15/2021 11:38,female,1,1954,1
-2.848,2.696,4.413,2.543,2700,4/15/2021 11:37,female,1,1954,1
-2.627,1.644,4.1315,4.51,2701,4/15/2021 12:59,female,1,1961,1
-11.852,2.123,2.845,3.709,2701,4/15/2021 13:00,female,1,1961,1
-2.666,2.237,2.575,7.631,2703,4/15/2021 13:20,female,1,1959,1
-6.919,7.217,7.042,3.666,2703,4/15/2021 13:18,female,1,1959,1
-3.8505,1.866,1.13525,2.0558,2704,4/15/2021 13:29,male,1,1945,2
-2.169,4.607,2.644,1.6794,2704,4/15/2021 13:30,male,1,1945,2
-1.604,1.50628571,2.2,1.71125,2705,4/15/2021 14:19,male,1,1951,2
-1.3425,1.7685,1.4465,1.50133333,2705,4/15/2021 14:18,male,1,1951,2
-1.9105,1.61116667,1.338,1.82883333,2706,4/15/2021 14:31,female,1,1948,3
-1.21457143,1.6156,1.278,2.15,2706,4/15/2021 14:48,female,1,1948,3
-1.734,1.98475,1.911,1.874,2707,4/15/2021 15:11,male,1,1948,2
-2.17733333,1.74016667,2.00175,2.0875,2707,4/15/2021 15:10,male,1,1948,2
-0.98057143,0.9176,0.81488889,0.839,2708,4/15/2021 15:32,male,1,1970,5
-0.94171429,0.65407692,0.93775,0.7349,2708,4/15/2021 15:32,male,1,1970,5
-0.886,0.8992,1.176,1.3392,2709,4/15/2021 15:48,male,1,1962,2
-2.781,1.133,2.611,2.584,2709,4/15/2021 15:47,male,1,1962,2
-2.18925,2.356,1.17966667,1.27766667,2712,4/15/2021 16:04,female,1,1972,3
-0.9355,1.077,0.76615385,1.0528,2713,4/15/2021 16:03,female,1,1981,4
-0.92133333,0.70227273,0.72241667,1.11857143,2713,4/15/2021 16:04,female,1,1981,4
-7.15,3.3075,2.692,2.4535,2714,4/17/2021 20:08,female,1,1947,3
-2.291,2.64,3.34133333,2.628,2714,4/17/2021 20:08,female,1,1947,3
-1.48716667,1.90233333,1.99925,1.70525,2715,4/15/2021 16:18,female,1,1947,3
-2.611,1.5042,1.7215,1.82425,2715,4/15/2021 16:18,female,1,1947,3
-1.29416667,1.3815,1.1705,1.43771429,2717,4/15/2021 17:21,male,1,1971,2
-1.181,1.68533333,1.0624,2.4288,2717,4/15/2021 17:22,male,1,1971,2
-1.558,2.01633333,1.50566667,1.70683333,2718,4/15/2021 18:42,male,1,1972,3
-1.33628571,1.273,1.42275,1.305,2718,4/15/2021 18:42,male,1,1972,3
-1.25566667,1.175,1.1376,1.22966667,2719,4/15/2021 19:15,male,1,1970,2
-1.42028571,1.16671429,1.40075,1.119,2719,4/15/2021 19:15,male,1,1970,2
-1.3524,1.3165,1.33,1.19477778,2721,4/15/2021 19:37,male,1,1971,2
-1.30828571,1.57066667,1.22325,1.0366,2721,4/15/2021 19:37,male,1,1971,2
-3.004,2.7385,2.4374,1.4985,2722,4/15/2021 20:15,female,1,1956,2
-1.83866667,2.362,2.29166667,1.87725,2722,4/15/2021 20:16,female,1,1956,2
-1.49025,1.24771429,1.69633333,1.55033333,2723,4/15/2021 20:33,male,1,1959,2
-0.9972,1.2095,1.35814286,1.396,2723,4/15/2021 20:34,male,1,1959,2
-0.959,0.854125,1.32244444,0.9644,2724,4/15/2021 21:22,male,1,1971,4
-0.9965,0.7164,1.04433333,0.8282,2724,4/15/2021 21:22,male,1,1971,4
-2.894,3.259,1.11528571,2.7525,2725,4/15/2021 22:43,male,1,1952,2
-2.63966667,2.21,2.664,2.83766667,2725,4/15/2021 22:46,male,1,1952,2
-2.5915,2.994,4.385,3.355,2726,4/15/2021 23:14,female,0,1963,3
-1.9696,2.25033333,2.513,3.769,2726,4/15/2021 23:16,female,0,1963,3
-0.55836364,0.53661538,0.72123077,0.51757143,2727,4/16/2021 0:09,female,1,2002,3
-0.6135,0.603,1.055,0.5168,2727,4/16/2021 0:10,female,1,2002,3
-2.93,4.6145,3.6315,4.347,2729,4/16/2021 10:21,male,1,1955,1
-2.93,4.6145,3.6315,4.347,2729,4/16/2021 10:21,male,1,1955,1
-0.895,0.70481818,0.75192308,0.64908333,2730,4/20/2021 18:54,female,1,2001,3
-0.87028571,1.18642857,1.17242857,1.012,2730,4/16/2021 10:24,female,1,2001,3
-1.06375,0.95514286,1.15171429,0.86942857,2730,4/16/2021 10:37,female,1,2001,3
-1.8198,1.6282,1.7195,1.4562,2731,4/16/2021 10:48,male,1,1974,3
-1.925,1.8934,1.3805,1.09533333,2731,4/16/2021 11:05,male,1,1974,3
-1.85233333,1.34457143,1.92683333,1.5215,2732,4/16/2021 11:04,male,1,1959,3
-2.14233333,1.646,2.08,1.7282,2732,4/16/2021 11:03,male,1,1959,3
-6.087,2.838,1.96675,2.90833333,2734,4/16/2021 11:28,female,1,1959,2
-6.087,2.838,1.96675,2.90833333,2734,4/16/2021 11:28,female,1,1959,2
-2.234,2.684,2.5155,2.0876,2734,4/16/2021 11:29,female,1,1959,2
-1.4908,0.87383333,0.97116667,1.373125,2735,4/16/2021 11:41,male,1,1996,4
-0.692,0.55392308,0.75784615,0.61721429,2735,4/16/2021 11:49,male,1,1996,4
-0.96366667,0.8305,1.09383333,1.2385,2736,4/16/2021 12:15,male,1,1976,3
-0.833,1.0725,1.1636,1.2325,2736,4/16/2021 12:16,male,1,1976,3
-2.35,6.296,4.789,5.746,2737,4/16/2021 12:08,female,1,1954,1
-2.284,5.44,4.034,3.976,2737,4/16/2021 12:09,female,1,1954,1
-2.63,2.249,3.01,2.34675,2738,4/16/2021 17:20,female,1,1972,3
-2.075,1.81666667,1.87,1.76357143,2738,4/20/2021 18:23,female,1,1972,3
-0.697,0.81475,1.07028571,0.86363636,2740,4/16/2021 17:45,male,1,1967,3
-0.9312,1.118125,1.37528571,1.184,2740,4/20/2021 17:56,male,1,1967,3
-0.9405,1.718,1.8275,1.3036,2740,4/20/2021 17:57,male,1,1967,3
-0.9864,1.454,1.57488889,1.03633333,2742,4/16/2021 17:55,female,1,1966,2
-2.26,1.8336,1.58,1.18514286,2742,4/16/2021 17:53,female,1,1966,2
-2.05033333,1.834,2.15125,1.35475,2743,4/16/2021 19:23,male,1,1972,4
-1.12275,1.17,1.66633333,1.41,2743,4/16/2021 19:23,male,1,1972,4
-1.325,1.3534,1.30233333,1.38833333,2744,4/16/2021 19:33,male,1,1970,2
-3.04925,2.138,1.507,2.18216667,2744,4/16/2021 19:32,male,1,1970,2
-1.29671429,2.09825,1.4854,2.0195,2745,4/16/2021 19:41,female,1,1979,3
-1.05166667,1.179,1.4466,1.233125,2745,4/16/2021 19:42,female,1,1979,3
-1.1356,1.6176,1.66,1.919,2746,4/16/2021 20:06,female,1,1970,1
-3.58666667,1.715,2.1585,2.158,2746,4/16/2021 20:05,female,1,1970,1
-2.0805,1.853,1.593,1.65033333,2747,4/16/2021 20:26,male,1,1965,2
-0.9755,1.36333333,1.787,1.729,2747,4/20/2021 18:01,male,1,1965,2
-0.827,1.0235,0.79569231,0.8425,2748,4/20/2021 17:31,male,1,1997,4
-1.10942857,1.47383333,1.31025,1.25116667,2749,4/18/2021 14:18,female,1,1955,2
-0.929,1.17583333,1.17842857,0.89383333,2749,4/18/2021 14:19,female,1,1955,2
-1.37757143,1.24914286,1.0825,1.8052,2750,4/16/2021 21:01,female,1,1964,2
-1.0145,1.73,1.163,1.3424,2750,4/20/2021 18:12,female,1,1964,2
-0.900375,1.161875,0.9675,1.02816667,2751,4/16/2021 21:28,female,1,1968,2
-1.29433333,1.9975,2.54625,1.114,2751,4/20/2021 17:46,female,1,1968,2
-2.3198,2.39933333,2.8175,1.73733333,2753,4/17/2021 11:56,male,1,1970,3
-1.91075,2.786,1.9054,1.321,2753,4/20/2021 17:26,male,1,1970,3
-4.873,4.211,2.229,2.431,2754,4/17/2021 13:07,female,1,1952,2
-7.407,4.784,7.307,7.427,2754,4/17/2021 22:19,female,1,1952,2
-1.1394,1.20114286,0.87191667,1.24533333,2756,4/17/2021 13:10,female,1,1957,2
-1.1096,1.11188889,1.27716667,1.11966667,2756,4/17/2021 13:11,female,1,1957,2
-2.1605,4.643,3.72433333,2.099,2758,4/17/2021 13:27,female,1,1971,2
-2.0772,1.7975,2.34133333,2.46033333,2758,4/17/2021 22:11,female,1,1971,2
-2.1075,2.60333333,1.999,2.51233333,2759,4/17/2021 14:47,male,1,1968,2
-2.17275,2.2064,1.5685,1.977,2759,4/17/2021 14:48,male,1,1968,2
-0.72166667,0.70823077,0.74825,0.82111111,2760,4/17/2021 15:00,female,1,1945,1
-0.7519,0.65441667,0.7338,0.7046,2760,4/17/2021 15:00,female,1,1945,1
-2.08075,2.40866667,2.557,1.671,2761,4/20/2021 20:02,female,1,1951,1
-2.142,2.54233333,4.3875,2.92666667,2761,4/20/2021 20:03,female,1,1951,1
-1.28655556,0.98390909,1.2245,0.753,2763,4/17/2021 15:26,female,1,1979,4
-1.6254,0.54025,0.91254545,0.7754,2763,4/17/2021 15:27,female,1,1979,4
-1.559,1.37333333,1.3288,2.9365,2764,4/17/2021 15:30,female,1,1973,3
-1.2135,1.991,1.7935,2.317,2764,4/17/2021 15:30,female,1,1973,3
-0.91614286,0.73563636,0.8895,0.795,2765,4/17/2021 15:41,male,1,1968,3
-0.7672,0.7842,0.882875,1.13866667,2765,4/17/2021 15:42,male,1,1968,3
-1.65766667,1.67383333,1.62375,2.0355,2766,4/17/2021 15:48,male,1,1966,3
-1.362,1.199,1.89866667,1.990625,2766,4/17/2021 15:49,male,1,1966,3
-1.02328571,0.965,1.12975,1.078,2768,4/17/2021 16:03,male,1,1955,2
-0.963625,0.91814286,0.9725,1.09042857,2768,4/17/2021 16:04,male,1,1955,2
-0.91985714,0.71663636,0.704625,1.325,2769,4/17/2021 16:05,male,1,1998,2
-0.8388,0.58166667,0.75776923,0.983875,2769,4/17/2021 16:06,male,1,1998,2
-1.29842857,1.24814286,1.91525,1.33266667,2770,4/17/2021 17:17,male,1,1981,3
-1.00166667,1.15566667,1.82616667,1.171,2770,4/17/2021 17:18,male,1,1981,3
-1.74033333,1.536625,1.64875,1.15875,2771,4/17/2021 17:45,male,1,1964,3
-1.17775,1.849,1.40142857,0.95,2771,4/17/2021 17:46,male,1,1964,3
-1.3,1.65833333,1.4105,2,2772,4/17/2021 17:50,male,1,1950,2
-0.81066667,1.668,1.4684,1.59966667,2772,4/17/2021 17:51,male,1,1950,2
-1.2678,1.2155,1.41775,1.304,2773,4/17/2021 18:06,male,1,1970,2
-1.1415,1.00283333,1.03685714,0.78906667,2773,4/17/2021 18:07,male,1,1970,2
-0.87771429,1.0329,0.9281,0.9285,2774,4/17/2021 18:12,male,1,1959,3
-0.85166667,0.89175,0.76472727,0.9629,2774,4/17/2021 18:13,male,1,1959,3
-0.75966667,0.886,0.97175,0.90353846,2776,4/17/2021 18:20,male,1,1994,5
-0.76127273,0.776,0.81188889,0.71385714,2776,4/17/2021 18:21,male,1,1994,5
-2.2195,2.56775,2.46133333,2.542,2777,4/17/2021 18:28,female,1,1953,2
-1.39575,1.3525,1.932,2.4064,2777,4/17/2021 18:29,female,1,1953,2
-0.9098,1.03375,0.95055556,1.10057143,2778,4/17/2021 18:27,female,1,1968,2
-0.9562,0.6985,1.19025,1.2545,2778,4/17/2021 18:28,female,1,1968,2
-4.678,5.399,3.837,2.046,2779,4/17/2021 18:29,male,1,1951,2
-2.267,5.0535,5.3635,5.248,2779,4/21/2021 10:58,male,1,1951,2
-1.43466667,1.5015,1.21375,1.09711111,2780,4/17/2021 21:40,female,1,1982,2
-1.4276,1.506125,1.09566667,1.09766667,2780,4/17/2021 21:41,female,1,1982,2
-1.141125,1.23828571,1.025,1.221625,2781,4/17/2021 18:40,male,1,1978,3
-1.069625,1.06644444,0.9445,1.1286,2781,4/17/2021 18:40,male,1,1978,3
-4.534,3.05,4.488,3.317,2782,4/17/2021 18:43,female,1,1954,1
-3.5075,5.0265,3.955,2.925,2782,4/22/2021 16:21,female,1,1954,1
-2.28,2.503,1.9342,1.836,2783,4/17/2021 18:45,female,1,1955,2
-1.8405,1.6736,2.00766667,2.155,2783,4/17/2021 18:46,female,1,1955,2
-0.751,1.286,1.36166667,1.536,2784,4/17/2021 18:47,male,1,1973,2
-0.691,1.2925,0.9895,1.421,2784,4/17/2021 18:47,male,1,1973,2
-2.338,2.2775,2.61633333,1.9972,2785,4/17/2021 18:48,female,1,1976,2
-1.3562,3.3715,1.289,1.088625,2785,4/17/2021 18:48,female,1,1976,2
-3.98366667,3.112,3.834,3.21966667,2786,4/17/2021 19:27,male,1,1949,1
-3.094,2.732,3.175,1.84875,2786,4/17/2021 19:28,male,1,1949,1
-1.1256,1.07033333,0.6802,0.706,2788,4/17/2021 19:04,female,0,1980,4
-0.985,0.52516667,0.82333333,0.50571429,2788,4/17/2021 19:05,female,0,1980,4
-1.277,1.8,1.199,0.89,2789,4/17/2021 19:10,female,1,1979,3
-0.652875,0.73063636,0.743625,0.85066667,2791,4/17/2021 19:47,female,1,1998,3
-0.728875,0.561875,0.80008333,0.62533333,2791,4/17/2021 19:59,female,1,1998,3
-1.36633333,1.0995,1.16783333,1.18525,2791,4/17/2021 19:31,female,1,1998,3
-2.64025,2.07925,2.61966667,1.844,2792,4/17/2021 19:41,male,1,1956,3
-1.7756,1.7655,2.09025,2.07925,2792,4/17/2021 19:42,male,1,1956,3
-0.81483333,0.99083333,0.973125,0.9418,2793,4/17/2021 19:41,female,1,2001,3
-0.747,0.99385714,0.68108333,0.90075,2793,4/17/2021 20:12,female,1,2001,3
-1.21442857,1.49066667,1.42325,1.39875,2794,4/17/2021 19:31,female,1,1971,2
-1.262625,1.124,1.36742857,1.10625,2794,4/17/2021 19:32,female,1,1971,2
-0.6721,0.683375,0.834,0.982,2795,4/17/2021 19:40,male,1,1974,4
-0.65018182,0.75376923,0.736,1.04,2795,4/17/2021 19:41,male,1,1974,4
-1.0646,1.0548,1.06833333,0.85342857,2796,4/17/2021 19:43,female,1,1985,2
-0.4754,1.04255556,1.16966667,0.73366667,2796,4/21/2021 11:06,female,1,1985,2
-0.93333333,1.12833333,1.01685714,1.04025,2797,4/17/2021 19:50,male,1,1982,2
-0.6435,0.79272727,0.86169231,0.7975,2797,4/21/2021 11:11,male,1,1982,2
-2.946,1.7278,2.256,3.272,2798,4/17/2021 19:55,male,1,1960,2
-3.456,3.73866667,1.727,5.384,2798,4/17/2021 19:55,male,1,1960,2
-1.5085,2.7308,2.3415,2.1905,2799,4/17/2021 19:58,female,1,1950,2
-2.148,2.528,2.1525,3.4665,2799,4/21/2021 10:32,female,1,1950,2
-1.54666667,1.44857143,5.0335,1.12875,2800,4/17/2021 20:01,female,1,1978,1
-1.555,1.2606,1.48177778,1.17175,2800,4/17/2021 20:01,female,1,1978,1
-0.74683333,0.636625,1.065625,0.908375,2801,4/17/2021 20:07,female,1,1970,3
-0.605,0.96942857,0.74709091,1.014375,2801,4/21/2021 11:32,female,1,1970,3
-0.6383,0.569875,0.57545455,0.568,2802,4/20/2021 17:22,male,1,1999,4
-0.63257143,0.59933333,0.68575,0.59523529,2802,4/17/2021 20:16,male,1,1999,4
-0.662,0.58669231,0.59577778,0.62521429,2802,4/20/2021 17:20,male,1,1999,4
-4.518,1.399,1.45933333,1.7992,2803,4/17/2021 20:16,female,1,1974,3
-0.971,1.244,1.08,1.292,2803,4/17/2021 20:30,female,1,1974,3
-1.25,1.057,1.09414286,1.01055556,2805,4/17/2021 20:24,male,1,1975,2
-1.144,1.07775,1.43225,0.98214286,2805,4/17/2021 20:24,male,1,1975,2
-0.73085714,1.61666667,1.49766667,1.80133333,2806,4/17/2021 20:26,female,0,2003,3
-0.73922222,0.81,0.92835714,1.0134,2806,4/20/2021 20:07,female,0,2003,3
-1.2295,1.2395,1.21833333,1.229,2808,4/18/2021 10:06,male,1,1969,1
-1.075,1.26225,1.137,1.102375,2808,4/18/2021 10:07,male,1,1969,1
-1.10166667,1.19766667,1.42477778,1.2235,2809,4/17/2021 20:41,male,1,1968,3
-1.09685714,1.308,1.2964,0.97016667,2809,4/17/2021 20:42,male,1,1968,3
-1.10271429,1.17466667,1.30925,1.09777778,2810,4/17/2021 20:45,male,1,1970,3
-1.00091667,1.1245,0.93128571,1.31233333,2810,4/17/2021 21:00,male,1,1970,3
-1.51666667,1.29375,1.052,1.26842857,2811,4/17/2021 20:49,male,1,1965,3
-0.95428571,1.202,1.18116667,1.1904,2811,4/17/2021 20:57,male,1,1965,3
-1.3885,1.32466667,1.44925,1.87483333,2812,4/17/2021 21:32,female,1,1961,5
-1.0054,1.02633333,1.62428571,0.91375,2812,4/17/2021 21:33,female,1,1961,5
-2.11566667,2.6875,3.44666667,3.5585,2813,4/17/2021 21:50,male,1,1993,3
-1.3152,2.36775,1.66825,1.2824,2813,4/20/2021 17:41,male,1,1993,3
-0.96044444,1.15166667,1.05666667,1.442,2814,4/17/2021 22:03,male,1,1957,5
-1.17628571,1.1895,1.132,1.0298,2814,4/17/2021 22:04,male,1,1957,5
-1.8395,1.632,1.20244444,2.1726,2815,4/17/2021 22:08,female,1,1960,2
-1.20325,5.693,1.23775,1.1355,2815,4/17/2021 22:08,female,1,1960,2
-0.996,1.13057143,1.00325,1.43033333,2816,4/17/2021 22:55,female,1,1975,3
-0.915125,1.17516667,1.01733333,1.502,2816,4/17/2021 22:56,female,1,1975,3
-0.91325,1.08044444,1.09785714,0.91944444,2817,4/17/2021 22:55,female,1,1961,2
-0.8597,1.06357143,1.066375,0.90316667,2817,4/17/2021 22:56,female,1,1961,2
-1.4925,1.28516667,2.2505,2.17066667,2818,4/17/2021 23:28,male,1,1960,2
-3.341,3.738,2.077,2.853,2818,4/18/2021 3:15,male,1,1960,2
-1.0196,0.9673,1.19316667,0.997125,2819,4/19/2021 13:58,male,1,1980,3
-0.98175,1.14766667,1.082125,0.939,2819,4/19/2021 13:59,male,1,1980,3
-0.73975,0.70885714,0.808,0.916,2821,4/18/2021 10:43,male,1,2006,2
-1.008,0.66281818,0.75333333,0.7703,2821,4/18/2021 10:44,male,1,2006,2
-0.81222222,0.70858333,0.838375,0.82455556,2822,4/18/2021 11:05,female,1,1997,3
-0.66241176,0.61944444,0.958625,0.66325,2822,4/18/2021 11:13,female,1,1997,3
-0.84483333,0.96033333,1.13144444,1.032875,2823,4/18/2021 11:25,male,1,2002,2
-0.66911111,0.6245,0.95885714,0.948,2823,4/18/2021 11:25,male,1,2002,2
-0.83342857,1.00257143,0.87716667,1.08475,2824,4/21/2021 0:45,female,1,2001,3
-0.89225,1.3832,0.74713333,0.932,2824,4/21/2021 1:09,female,1,2001,3
-2.5655,2.1965,1.73625,2.547,2824,4/21/2021 11:57,female,1,2001,3
-1.5148,1.503375,1.26033333,1.61175,2824,4/21/2021 12:29,female,1,2001,3
-1.6364,1.44,1.34933333,1.41071429,2824,4/21/2021 12:59,female,1,2001,3
-0.87442857,0.69815385,0.72716667,0.9775,2824,4/18/2021 11:36,female,1,2001,3
-0.8017,0.805875,0.75244444,0.78345455,2824,4/21/2021 0:46,female,1,2001,3
-0.798,0.813875,1.7558,1.11833333,2824,4/21/2021 1:10,female,1,2001,3
-1.82266667,1.8995,1.64233333,2.2162,2824,4/21/2021 11:58,female,1,2001,3
-1.57625,1.32866667,1.53975,1.8604,2824,4/21/2021 12:30,female,1,2001,3
-1.36,1.216,1.42416667,1.225375,2824,4/21/2021 12:59,female,1,2001,3
-0.74928571,0.6776,0.64933333,0.68244444,2824,4/18/2021 11:37,female,1,2001,3
-0.764875,1.0299,0.69481818,0.80642857,2824,4/21/2021 1:01,female,1,2001,3
-1.20333333,1.2255,1.07022222,1.090375,2824,4/21/2021 11:32,female,1,2001,3
-1.544,1.6976,1.5022,1.556,2824,4/21/2021 12:16,female,1,2001,3
-1.513,1.56175,1.86566667,2.058,2824,4/21/2021 12:44,female,1,2001,3
-0.9954,0.79466667,1.0386,0.81881818,2824,4/18/2021 13:48,female,1,2001,3
-0.74341667,0.66288889,0.68481818,0.64281818,2824,4/21/2021 1:01,female,1,2001,3
-1.40483333,1.47857143,1.07725,1.10483333,2824,4/21/2021 11:33,female,1,2001,3
-1.333,1.388,1.42275,1.3054,2824,4/21/2021 12:17,female,1,2001,3
-2.085,1.72328571,1.662,1.30125,2824,4/21/2021 12:45,female,1,2001,3
-0.64155556,0.65122222,0.7835,0.99008333,2824,4/18/2021 13:49,female,1,2001,3
-0.67411111,1.06777778,0.6711,0.99257143,2825,4/18/2021 12:17,female,1,2001,3
-0.62488889,0.7786,0.7662,1.061,2825,4/18/2021 12:18,female,1,2001,3
-1.58425,1.389,1.5544,1.7076,2826,4/18/2021 13:18,male,1,1972,2
-1.093,1.36225,2.4962,1.513,2826,4/18/2021 13:29,male,1,1972,2
-0.82266667,0.62738462,0.91,0.57507143,2828,4/18/2021 13:32,male,1,2001,4
-0.855,0.54307692,0.80921429,0.52990909,2828,4/18/2021 13:50,male,1,2001,4
-0.69977778,0.69975,0.94263636,0.8828,2829,4/18/2021 13:39,male,1,2001,3
-0.72855556,0.74788889,0.89585714,0.82925,2829,4/21/2021 11:37,male,1,2001,3
-1.186625,1.3444,1.2005,1.2648,2830,4/18/2021 13:45,female,1,1976,2
-1.33128571,1.297,1.32071429,1.2005,2830,4/18/2021 13:56,female,1,1976,2
-2.29325,4.3135,3.553,2.60066667,2831,4/18/2021 13:47,female,1,1962,3
-1.18611111,1.824,1.3195,1.3464,2831,4/18/2021 13:48,female,1,1962,3
-0.625,0.57285714,0.77375,0.85766667,2832,4/18/2021 13:47,male,1,2000,3
-0.628,0.63246667,0.8785,0.82214286,2832,4/21/2021 11:43,male,1,2000,3
-0.778875,0.79153333,0.68671429,0.76544444,2833,4/18/2021 14:05,female,1,1964,3
-0.90661538,0.76914286,0.868,0.7354,2833,4/18/2021 14:16,female,1,1964,3
-1.32825,1.37233333,1.292,1.314,2835,4/18/2021 14:15,female,1,1964,2
-1.4858,1.54933333,1.45257143,1.28983333,2835,4/18/2021 14:16,female,1,1964,2
-1.252,2.3655,1.50133333,1.716875,2836,4/18/2021 14:25,male,1,1960,2
-2.467,1.20571429,2.2838,1.17633333,2837,4/18/2021 14:29,female,1,1975,3
-1.184125,1.04971429,1.187,0.923,2837,4/18/2021 14:30,female,1,1975,3
-0.79428571,0.8137,0.7412,0.90525,2838,4/18/2021 14:47,male,1,1969,3
-0.81016667,0.7330625,0.99366667,0.921,2838,4/18/2021 14:37,male,1,1969,3
-1.15875,1.20266667,1.2857,1.221,2840,4/18/2021 14:49,female,1,1945,2
-1.1766,2.07775,1.12325,1.294375,2840,4/18/2021 14:50,female,1,1945,2
-1.46025,1.9372,1.4995,0.96683333,2841,4/18/2021 14:59,male,1,1970,3
-1.766,1.51133333,1.84125,1.3732,2841,4/18/2021 14:58,male,1,1970,3
-3.3808,0.844,2.358,4.519,2842,4/18/2021 14:50,female,1,1956,1
-2.4768,3.3555,2.20166667,1.552,2842,4/18/2021 14:50,female,1,1956,1
-1.50266667,1.727,1.33866667,1.7414,2843,4/18/2021 15:07,male,1,1968,2
-1.73166667,2.13675,1.98825,2.34,2843,4/18/2021 15:06,male,1,1968,2
-0.93,0.62315385,0.73091667,0.9285,2844,4/18/2021 14:58,female,1,1969,3
-0.59773333,0.7775,0.99033333,0.78166667,2844,4/18/2021 14:58,female,1,1969,3
-1.48825,1.83133333,1.6478,1.62133333,2845,4/18/2021 15:15,male,1,1968,2
-1.768,1.645,1.4725,1.738,2845,4/18/2021 15:15,male,1,1968,2
-1.142125,1.17322222,1.157,1.0358,2846,4/18/2021 15:19,male,1,1968,1
-1.06945455,1.047,1.26366667,1.10533333,2846,4/18/2021 15:20,male,1,1968,1
-1.00833333,0.84377778,1.084,0.79236364,2847,4/18/2021 15:48,female,1,2001,3
-0.79661538,0.62122222,1.02557143,0.771,2847,4/18/2021 15:49,female,1,2001,3
-1.153,1.024,1.0466,1.15871429,2847,4/18/2021 15:50,female,1,2001,3
-0.62772727,0.60808333,0.71833333,0.55083333,2848,4/18/2021 16:30,male,1,1977,5
-0.75725,0.60077778,0.66985714,0.5234,2848,4/18/2021 16:31,male,1,1977,5
-1.22171429,1.11757143,1.37825,1.04328571,2849,4/18/2021 16:32,female,1,1976,2
-1.12266667,1.4662,1.8048,1.231,2849,4/18/2021 16:35,female,1,1976,2
-0.59516667,0.58744444,0.698,0.6457,2851,4/18/2021 16:58,male,1,1979,5
-0.6195,0.62077778,0.80214286,0.62715385,2851,4/18/2021 21:20,male,1,1979,5
-1.8725,1.8725,1.6555,1.41183333,2853,4/18/2021 17:10,male,1,1975,2
-1.305,1.6505,1.616,2.03233333,2853,4/18/2021 17:11,male,1,1975,2
-0.92733333,1.2437,0.92542857,1.22675,2854,4/18/2021 17:21,female,1,2001,3
-0.6995,0.98225,1.10042857,0.77236364,2854,4/18/2021 17:35,female,1,2001,3
-1.7126,2.858,1.716125,1.516,2855,4/18/2021 17:23,male,1,1958,2
-1.5948,2.20466667,2.16925,2.00266667,2855,4/18/2021 17:23,male,1,1958,2
-0.93133333,1.0245,0.69992857,0.8351,2856,4/18/2021 17:18,female,1,1998,3
-0.813,0.9535,0.84566667,0.837,2856,4/18/2021 17:19,female,1,1998,3
-0.7995,1.0318,0.88444444,2.04775,2857,4/18/2021 17:21,female,1,2001,3
-0.7854,1.029125,0.85275,0.86075,2857,4/18/2021 17:35,female,1,2001,3
-0.6937,0.6835,0.60955556,0.90088889,2858,4/18/2021 17:30,male,1,1980,5
-0.9635,0.814875,1.12657143,0.76485714,2858,4/18/2021 21:18,male,1,1980,5
-1.7805,1.719,1.876,2.115,2859,4/18/2021 17:34,female,1,1973,3
-0.88966667,1.04914286,0.88,1.2495,2859,4/18/2021 17:35,female,1,1973,3
-5.195,4.0465,3.577,4.0905,2860,4/18/2021 17:37,male,1,1954,1
-2.984,2.59625,2.657,2.21266667,2860,4/18/2021 17:38,male,1,1954,1
-3.19233333,2.6445,2.632,3.086,2861,4/18/2021 18:00,female,1,1958,2
-2.708,2.704,3.341,3.5725,2861,4/18/2021 20:33,female,1,1958,2
-1.22671429,1.26416667,1.16516667,0.90571429,2862,4/18/2021 18:17,male,1,1966,2
-0.847625,1.01575,0.92657143,1.050625,2862,4/18/2021 18:18,male,1,1966,2
-1.2,1.4265,1.317,2.1235,2863,4/18/2021 18:17,female,1,1974,2
-1.42675,1.17214286,1.02085714,1.6902,2863,4/18/2021 18:18,female,1,1974,2
-0.82111111,0.90927273,0.8388,0.96525,2865,4/18/2021 18:20,female,1,2000,4
-0.58092857,0.625,0.60915385,0.51616667,2865,4/18/2021 18:30,female,1,2000,4
-0.60845455,0.67809091,0.7065,0.62485714,2865,4/18/2021 18:31,female,1,2000,4
-0.60845455,0.67809091,0.7065,0.62485714,2865,4/18/2021 18:31,female,1,2000,4
-0.980375,0.83011111,0.8835,0.99655556,2866,4/18/2021 18:29,female,1,1974,5
-0.7789,0.88458333,0.780125,0.87233333,2866,4/18/2021 18:29,female,1,1974,5
-0.8274,1.31866667,0.91511111,0.97355556,2867,4/18/2021 18:34,female,1,1976,2
-0.83028571,0.96566667,0.7951,0.77161538,2867,4/18/2021 18:34,female,1,1976,2
-1.26483333,1.0735,0.96066667,1.48866667,2868,4/18/2021 18:34,male,1,1966,2
-1.00225,1.204,1.145,1.252,2868,4/18/2021 18:34,male,1,1966,2
-2.657,2.165,2.1234,2.0615,2869,4/18/2021 18:50,male,1,1953,1
-2.18933333,1.646,2.77425,1.1645,2869,4/18/2021 18:51,male,1,1953,1
-0.78444444,0.95555556,0.8811,0.8085,2870,4/18/2021 18:52,female,1,1990,4
-0.7897,0.69775,0.71788889,0.7207,2870,4/18/2021 18:52,female,1,1990,4
-1.51383333,1.6744,0.7778,1.70025,2871,4/18/2021 18:52,female,1,1939,1
-1.17633333,1.472,1.19325,1.241,2871,4/18/2021 18:52,female,1,1939,1
-2.842,2.81633333,2.69266667,2.9095,2872,4/18/2021 18:52,female,1,1949,1
-1.98566667,2.45333333,2.739,1.8695,2872,4/18/2021 18:53,female,1,1949,1
-0.9336,0.90022222,0.9158,0.7678,2873,4/18/2021 19:09,male,1,1987,3
-1.5058,0.54336364,1.085,0.81457143,2873,4/18/2021 19:09,male,1,1987,3
-1.5966,1.824,1.62325,1.0855,2874,4/18/2021 19:42,male,1,1969,3
-1.6478,1.5288,1.189,1.1008,2874,4/18/2021 19:43,male,1,1969,3
-2.687,2.3535,1.89525,3.156,2875,4/18/2021 19:46,female,1,1954,2
-2.3155,2.58,1.9248,2.376,2875,4/18/2021 19:47,female,1,1954,2
-2.3996,3.40633333,2.082,2.647,2876,4/18/2021 20:00,female,1,1953,1
-5.713,4.122,1.456,2.129,2876,4/18/2021 20:00,female,1,1953,1
-1.399,2.388,1.778,2.282,2877,4/18/2021 20:00,female,1,1977,3
-2.953,1.08225,1.55533333,2.00966667,2877,4/18/2021 20:16,female,1,1977,3
-3.518,4.534,2.832,3.99866667,2878,4/18/2021 20:17,female,1,1953,1
-3.199,2.8106,2.812,2.446,2878,4/18/2021 20:18,female,1,1953,1
-1.42966667,1.35366667,1.51066667,1.8035,2881,4/18/2021 20:25,female,1,1958,1
-2.484,1.4535,1.707,2.45966667,2882,4/18/2021 20:32,female,1,1972,2
-1.87,1.289,1.58733333,1.24866667,2882,4/18/2021 20:32,female,1,1972,2
-1.278,2.395,1.70825,1.76275,2883,4/18/2021 20:36,male,1,1951,2
-2.0625,3.25175,3.607,2.44366667,2883,4/21/2021 10:39,male,1,1951,2
-2.19066667,2.85366667,2.016,2.102,2884,4/18/2021 20:44,male,1,1957,2
-2.5565,1.57516667,1.8925,1.54733333,2884,4/18/2021 20:43,male,1,1957,2
-0.65807143,0.56888889,0.8758,0.70266667,2885,4/18/2021 20:38,male,1,1979,4
-0.57325,0.7306,0.5975,0.5562,2885,4/18/2021 20:39,male,1,1979,4
-1.69025,3.392,3.0355,2.6864,2886,4/21/2021 10:45,male,1,1954,2
-2.443,2.431,1.7985,1.74033333,2886,4/18/2021 20:44,male,1,1954,2
-1.1695,1.29266667,1.33475,1.11014286,2887,4/18/2021 20:50,male,1,1959,2
-1.06333333,1.14325,1.10566667,1.1006,2887,4/18/2021 20:51,male,1,1959,2
-4.638,3.08533333,2.0245,2.74075,2888,4/21/2021 10:52,male,1,1957,2
-1.956,3.526,2.19,1.64933333,2888,4/18/2021 20:51,male,1,1957,2
-2.31866667,2.293,2.3835,2.08966667,2889,4/18/2021 20:59,female,1,1958,2
-1.46528571,1.38833333,1.675,1.64,2889,4/21/2021 10:59,female,1,1958,2
-0.974,1.234,0.964,0.838,2890,4/18/2021 21:12,male,1,1973,3
-1.71133333,1.956,1.137,1.49233333,2890,4/18/2021 21:11,male,1,1973,3
-1.60633333,1.7384,1.4015,1.474,2892,4/18/2021 21:34,female,1,1975,2
-2.0425,1.452,1.6905,1.588,2892,4/18/2021 21:35,female,1,1975,2
-0.76676923,0.80433333,0.88428571,0.8108,2893,4/21/2021 10:50,male,1,1976,4
-0.8248,0.8901,1.929,0.913625,2893,4/18/2021 22:13,male,1,1976,4
-4.009,1.10533333,1.189,1.657,2894,4/18/2021 22:07,male,1,1970,3
-1.293,0.758,0.867,1.048,2894,4/18/2021 22:07,male,1,1970,3
-0.96588889,0.931375,0.84475,1.04483333,2895,4/18/2021 22:08,male,1,2000,3
-0.98825,1.0586,0.88527273,1.26125,2895,4/18/2021 22:07,male,1,2000,3
-2.0634,1.60433333,1.421,1.509,2896,4/18/2021 22:33,female,1,1970,2
-1.42566667,1.35616667,1.5092,1.26357143,2896,4/18/2021 22:34,female,1,1970,2
-1.17588889,1.577,1.2255,1.6412,2897,4/18/2021 23:08,male,1,1945,2
-1.22016667,1.168125,1.3594,1.376,2897,4/18/2021 23:07,male,1,1945,2
-1.09842857,1.1574,1.8175,0.95655556,2898,4/18/2021 23:16,female,1,1985,3
-0.9034,1.1715,1.56883333,1.245375,2898,4/18/2021 23:18,female,1,1985,3
-0.8095,1.02557143,0.86116667,0.8549,2899,4/21/2021 11:16,male,1,1996,5
-0.99766667,2.57675,0.95883333,1.2985,2899,4/19/2021 15:01,male,1,1996,5
-0.749,0.607,0.56964706,0.58475,2900,4/19/2021 0:27,male,1,1977,3
-0.673125,0.8562,1.16516667,0.70257143,2900,4/19/2021 0:21,male,1,1977,3
-2.3885,2.108,3.386,2.6894,2901,4/19/2021 0:43,male,1,1958,2
-0.8425,0.78842857,1.203,1.53766667,2901,4/19/2021 0:57,male,1,1958,2
-0.6815,0.913875,0.6764,0.787125,2902,4/19/2021 0:43,female,1,1999,4
-0.924,1.02725,0.875,0.80728571,2902,4/19/2021 0:42,female,1,1999,4
-1.28171429,1.01425,1.4205,1.099,2903,4/19/2021 14:24,male,1,1962,2
-0.99118182,1.0862,1.01814286,0.93783333,2905,4/19/2021 9:30,female,1,1980,3
-0.96742857,1.04145455,1.014,0.976,2905,4/19/2021 9:30,female,1,1980,3
-2.2028,2.008,2.08033333,1.8145,2906,4/19/2021 9:52,female,1,1953,1
-2.27266667,2.41033333,2.09666667,2.0435,2906,4/19/2021 9:53,female,1,1953,1
-2.3535,1.573,2.02125,2.122,2907,4/19/2021 10:44,male,1,1953,2
-1.90333333,2.43633333,1.90266667,2.241,2907,4/19/2021 10:45,male,1,1953,2
-1.1044,1.40166667,1.0015,1.32444444,2908,4/19/2021 11:28,female,1,2001,3
-1.01642857,0.90883333,0.879625,1.08766667,2908,4/19/2021 11:29,female,1,2001,3
-1.42666667,1.2916,1.3282,1.36125,2909,4/19/2021 11:30,female,1,1960,2
-1.3402,1.283,1.5188,1.23725,2909,4/19/2021 11:30,female,1,1960,2
-2.1995,3.063,3.43466667,2.515,2910,4/19/2021 11:50,male,1,1948,2
-2.288,2.323,2.70825,2.33575,2910,4/19/2021 11:51,male,1,1948,2
-0.942,0.9985,0.870625,1.11922222,2911,4/19/2021 11:53,male,1,1975,3
-1.59966667,1.43425,1.992,1.6536,2912,4/19/2021 12:13,male,1,1957,3
-1.014,1.15625,1.8654,1.1586,2912,4/19/2021 12:10,male,1,1957,3
-3.577,1.9168,1.49316667,1.678,2913,4/19/2021 12:14,female,1,1977,1
-1.363,1.185,1.224125,1.306,2913,4/19/2021 12:15,female,1,1977,1
-4.88,4.64,4.0715,4.344,2914,4/19/2021 12:37,female,1,1948,2
-7.466,6.432,2.963,8.745,2914,4/19/2021 12:36,female,1,1948,2
-0.8144,0.9915,0.81666667,0.83622222,2915,4/19/2021 12:45,male,1,1960,5
-0.886875,1.01233333,1.121375,0.89636364,2915,4/19/2021 12:50,male,1,1960,5
-0.64242857,0.59858333,0.980625,0.643,2916,4/19/2021 12:55,female,0,1950,1
-0.65091667,0.6642,0.90811111,0.81575,2916,4/19/2021 12:55,female,0,1950,1
-8.573,2.688,4.005,2.131,2917,4/19/2021 13:04,female,1,1951,1
-3.08766667,1.7945,2.66433333,2.286,2917,4/19/2021 13:05,female,1,1951,1
-1.1145,1.161,1.20475,1.46325,2919,4/19/2021 13:15,female,1,1971,3
-1.9544,1.85216667,1.951,2.391,2919,4/19/2021 13:13,female,1,1971,3
-0.7543,0.569,0.93733333,0.78176923,2920,4/19/2021 13:20,female,1,1999,2
-0.6913,0.53685714,0.81925,0.5834,2920,4/19/2021 13:21,female,1,1999,2
-4.33066667,1.3255,3.4215,3.1195,2921,4/19/2021 13:25,male,1,1950,1
-4.522,3.40433333,3.86,2.889,2921,4/19/2021 13:25,male,1,1950,1
-1.813,1.96233333,2.657,2.1615,2922,4/19/2021 13:20,female,1,1959,3
-2.14225,2.457,2.246,3.436,2922,4/19/2021 13:21,female,1,1959,3
-1.436,1.4365,1.45266667,1.776,2923,4/19/2021 13:34,female,1,1971,3
-1.619,2.02033333,2.0474,2.02033333,2923,4/19/2021 13:33,female,1,1971,3
-0.69283333,0.65015385,0.6315,0.6747,2924,4/19/2021 13:37,male,1,2002,2
-0.64925,0.64625,0.6785,0.57728571,2924,4/19/2021 13:38,male,1,2002,2
-1.04833333,0.81227273,1.0186,0.90457143,2925,4/19/2021 13:42,male,1,1960,4
-0.98857143,1.0273,0.95825,0.917,2925,4/19/2021 13:41,male,1,1960,4
-2.266,0.94966667,1.5268,1.0618,2926,4/19/2021 13:42,male,1,1997,5
-0.6215,1.02383333,0.9096,0.68885714,2927,4/19/2021 16:26,male,1,1969,4
-0.67966667,0.62336364,0.6764,0.55392857,2927,4/19/2021 16:27,male,1,1969,4
-1.3608,1.20128571,1.4764,1.81525,2928,4/19/2021 13:56,female,1,1960,2
-1.343,1.5035,1.49183333,1.4475,2928,4/19/2021 13:57,female,1,1960,2
-5.9605,5.927,6.14,3.065,2929,4/19/2021 14:09,male,0,1948,2
-6.1085,4.2815,2.493,5.951,2929,4/19/2021 14:10,male,0,1948,2
-1.31866667,1.51575,1.7402,1.618,2930,4/19/2021 14:16,female,1,1955,2
-1.55033333,1.3616,1.292,1.23366667,2930,4/19/2021 14:17,female,1,1955,2
-1.05583333,0.9906,1.28528571,1.29814286,2931,4/19/2021 14:12,female,1,1959,2
-1.054125,0.9762,1.234,1.116,2931,4/19/2021 14:12,female,1,1959,2
-1.437,0.97357143,0.99622222,0.99,2932,4/19/2021 14:13,female,1,1971,3
-0.87871429,1.03633333,0.93122222,1.26128571,2932,4/19/2021 14:14,female,1,1971,3
-1.09,1.006375,1.173,1.15828571,2934,4/19/2021 14:27,male,1,1956,2
-1.11775,1.064,1.05733333,1.07425,2934,4/19/2021 14:29,male,1,1956,2
-1.564,1.73575,1.56166667,1.62857143,2937,4/19/2021 19:25,female,1,1959,2
-1.21566667,1.867,1.801,1.80983333,2937,4/19/2021 19:26,female,1,1959,2
-2.0835,1.20785714,1.127,0.823,2938,4/19/2021 14:45,female,1,2001,3
-0.97528571,1.05657143,0.89883333,0.81225,2938,4/19/2021 14:46,female,1,2001,3
-3.252,2.6426,1.215,3.933,2939,4/19/2021 14:49,female,1,1949,1
-2.22633333,2.4844,2.11466667,2.2725,2939,4/21/2021 13:38,female,1,1949,1
-1.0935,1.21942857,1.21466667,1.14133333,2940,4/19/2021 14:50,male,1,1958,2
-0.984,0.9905,1.05575,1.04083333,2940,4/19/2021 14:51,male,1,1958,2
-1.058,1.03828571,1.23625,1.1166,2941,4/19/2021 15:06,female,1,1957,2
-0.9965,1.098,1.13642857,1.15871429,2941,4/19/2021 15:07,female,1,1957,2
-1.99025,2.297,2.12533333,2.12875,2942,4/19/2021 15:15,female,1,1949,1
-1.08933333,1.4106,1.3816,1.20985714,2942,4/21/2021 21:35,female,1,1949,1
-1.50133333,1.32628571,2.807,1.4085,2943,4/19/2021 15:18,female,1,1971,2
-2.35025,1.611,1.13066667,1.2882,2943,4/19/2021 15:18,female,1,1971,2
-1.2265,1.38733333,1.1802,1.32116667,2944,4/19/2021 15:30,female,1,1969,3
-0.917,0.9995,0.80663636,1.06428571,2944,4/19/2021 15:31,female,1,1969,3
-0.58045455,0.65414286,0.728375,0.763,2945,4/19/2021 16:56,male,1,1977,5
-0.6235,0.64954545,0.732,0.697125,2945,4/19/2021 16:57,male,1,1977,5
-0.95966667,1.20242857,1.4834,1.318,2946,4/19/2021 15:47,male,1,1971,3
-1.41733333,1.13666667,1.6888,0.9173,2946,4/19/2021 15:47,male,1,1971,3
-1.56825,1.823,1.82433333,1.27128571,2947,4/19/2021 15:48,male,1,1966,2
-1.25825,1.24625,1.36042857,2.441,2947,4/19/2021 15:49,male,1,1966,2
-3.834,3.245,2.9,3.83033333,2949,4/19/2021 16:05,male,1,1945,1
-2.663,3.5295,4.5625,3.791,2949,4/19/2021 16:06,male,1,1945,1
-2.36733333,2.90533333,2.8675,1.95375,2950,4/19/2021 16:04,female,1,1947,1
-2.135,2.703,2.923,3.03633333,2950,4/19/2021 16:05,female,1,1947,1
-1.374125,1.1582,0.8912,1.3024,2951,4/19/2021 16:09,female,0,1975,2
-1.34533333,1.0615,0.851,1.21114286,2951,4/19/2021 16:10,female,0,1975,2
-0.854625,0.64666667,0.63078947,0.72785714,2952,4/20/2021 14:42,female,1,2001,3
-5.103,1.95925,2.704,2.152,2953,4/19/2021 16:42,male,1,1941,1
-1.33183333,1.330875,3.6,1.4516,2953,4/19/2021 16:43,male,1,1941,1
-0.759,0.6929,0.94308333,0.644125,2954,4/19/2021 16:43,female,1,2001,3
-0.93657143,0.66530769,0.92644444,0.85442857,2954,4/19/2021 16:34,female,1,2001,3
-1.6276,1.64933333,1.3735,1.41825,2955,4/19/2021 18:18,female,1,1965,2
-1.52,1.755,1.8735,1.9125,2955,4/19/2021 18:19,female,1,1965,2
-0.64244444,0.6179,0.76890909,0.87027273,2957,4/19/2021 16:53,male,1,1998,4
-0.56133333,0.48290909,0.77358333,0.67491667,2957,4/19/2021 17:00,male,1,1998,4
-1.6976,3.00733333,1.53325,2.1405,2958,4/19/2021 17:14,female,1,1945,2
-1.3392,1.96025,1.976,1.82042857,2958,4/19/2021 17:14,female,1,1945,2
-5.083,3.282,2.4312,4.567,2959,4/19/2021 17:18,male,1,1956,1
-1.6515,2.545,1.6552,2.9455,2959,4/20/2021 21:12,male,1,1956,1
-2.933,3.91875,3.576,3.288,2960,4/19/2021 17:33,female,1,1960,1
-2.795,2.72725,2.7345,2.852,2960,4/20/2021 20:54,female,1,1960,1
-1.6104,1.65575,2.35433333,2.424,2961,4/19/2021 17:31,male,1,1942,2
-1.48725,1.39525,1.497,1.468,2961,4/19/2021 17:31,male,1,1942,2
-0.6248,0.92766667,0.73833333,0.92633333,2963,4/19/2021 17:33,male,1,2001,3
-0.56407143,0.71553333,0.6772,0.85411111,2963,4/19/2021 17:34,male,1,2001,3
-0.9305,1.5485,2.04125,0.988,2964,4/19/2021 17:49,female,1,2001,3
-1.074,1.08455556,2.7315,0.763,2964,4/19/2021 17:50,female,1,2001,3
-3.73833333,2.55066667,1.975,4.04,2965,4/19/2021 17:48,female,1,1950,1
-2.5835,2.3335,2.6315,1.61125,2965,4/19/2021 17:49,female,1,1950,1
-1.3652,1.225625,1.2474,1.12333333,2966,4/19/2021 18:56,female,1,1978,2
-0.9629,0.96883333,0.8705,1.26957143,2966,4/21/2021 10:38,female,1,1978,2
-0.9618,0.92225,0.8185,1.05228571,2967,4/19/2021 17:59,female,1,1969,4
-0.691,0.78228571,0.627,0.80175,2967,4/19/2021 18:00,female,1,1969,4
-0.685,0.70352941,0.95766667,0.77366667,2968,4/19/2021 18:05,female,1,2000,3
-0.93827273,0.96666667,0.65677778,0.902625,2968,4/19/2021 18:06,female,1,2000,3
-0.4832,0.607,0.50252941,0.49461111,2969,4/19/2021 18:28,male,1,2000,2
-0.591,0.63230769,0.5298,0.5735625,2969,4/19/2021 18:07,male,1,2000,2
-0.5635,0.61271429,0.61563636,0.4615,2969,4/19/2021 18:25,male,1,2000,2
-0.876375,1.15866667,0.94466667,0.89528571,2970,4/19/2021 18:10,male,1,1974,5
-0.79828571,0.76875,1.58957143,1.761,2970,4/19/2021 18:11,male,1,1974,5
-1.08381818,1.176,1.1936,1.0925,2972,4/19/2021 18:18,male,1,1965,3
-1.1278,1.223,1.183,1.149625,2972,4/19/2021 18:18,male,1,1965,3
-1.46475,1.47083333,1.9042,1.32675,2973,4/19/2021 18:36,female,1,1999,2
-1.1425,1.20525,1.8208,1.455,2973,4/19/2021 18:37,female,1,1999,2
-0.65177778,0.64193333,0.63425,0.68876923,2974,4/19/2021 18:40,male,1,1976,2
-0.5395,0.7351,0.60381818,0.745,2974,4/19/2021 18:35,male,1,1976,2
-0.5906,0.46413333,0.5615,0.600875,2975,4/19/2021 18:39,male,1,1993,5
-0.652,0.47633333,0.74525,0.523,2975,4/19/2021 18:39,male,1,1993,5
-1.066,1.30728571,1.0625,1.2912,2976,4/19/2021 18:44,male,1,1977,3
-0.93083333,1.23433333,1.13642857,1.00566667,2976,4/19/2021 18:44,male,1,1977,3
-0.67525,0.8035,0.9235,0.66471429,2977,4/19/2021 18:48,male,1,1975,2
-1.08522222,1.0134,1.0765,1.0555,2978,4/19/2021 18:53,male,1,1971,3
-1.036,1.07,1.00185714,1.02163636,2978,4/19/2021 18:53,male,1,1971,3
-0.757375,0.73375,0.62736364,0.69909091,2979,4/19/2021 19:04,male,1,1998,5
-0.66073333,0.718,0.7911,0.6227,2979,4/19/2021 19:05,male,1,1998,5
-1.222,0.82766667,1.127,1.2185,2981,4/19/2021 19:27,female,1,1952,1
-2.28466667,1.2805,2.879,1.6465,2981,4/19/2021 19:29,female,1,1952,1
-0.876,0.90377778,0.90944444,0.85685714,2983,4/19/2021 19:31,female,1,1975,3
-0.97111111,0.9705,0.99642857,1.0766,2983,4/19/2021 19:32,female,1,1975,3
-3.3005,3.926,4.4585,4.4575,2984,4/19/2021 19:33,male,1,1957,1
-2.759,3.185,3.413,2.8275,2984,4/19/2021 19:35,male,1,1957,1
-2.15725,1.54333333,2.0125,2.02275,2986,4/19/2021 19:46,male,1,1943,2
-1.807,1.84933333,1.83116667,1.69925,2986,4/19/2021 19:46,male,1,1943,2
-1.807,1.84933333,1.83116667,1.69925,2986,4/19/2021 19:46,male,1,1943,2
-3.059,2.1995,2.2165,1.909,2987,4/19/2021 20:19,male,1,1958,2
-1.59,1.7844,1.938,1.6034,2987,4/19/2021 20:18,male,1,1958,2
-0.857875,0.8472,1.22944444,0.97266667,2988,4/19/2021 20:14,male,1,1999,3
-1.1575,0.97875,1.12057143,1.21344444,2988,4/19/2021 20:15,male,1,1999,3
-1.05771429,2.716,1.1904,1.093,2989,4/19/2021 20:48,male,1,1951,4
-1.3104,1.6456,1.1415,1.24616667,2989,4/19/2021 20:47,male,1,1951,4
-1.83966667,3.357,2.154,2.1384,2990,4/19/2021 21:04,male,1,1959,2
-2.921,2.53433333,2.0725,2.56733333,2990,4/19/2021 21:05,male,1,1959,2
-2.729,2.475,2.532,2.883,2991,4/19/2021 21:39,male,1,1960,2
-1.71,2.066,3.068,2.464,2991,4/19/2021 21:39,male,1,1960,2
-0.74385714,0.793875,1.207125,0.94277778,2992,4/19/2021 21:44,male,1,2002,4
-0.80483333,0.82571429,0.5427,0.81554545,2992,4/19/2021 21:45,male,1,2002,4
-1.414,3.47966667,2.095,1.789,2993,4/20/2021 0:23,female,1,1962,2
-3.022,3.183,1.875,3.07466667,2993,4/20/2021 0:15,female,1,1962,2
-1.58325,1.738,2.1585,1.6956,2994,4/19/2021 22:04,male,1,1930,2
-1.48328571,1.8468,1.672,1.60425,2994,4/19/2021 22:04,male,1,1930,2
-0.76325,1.0785,0.8375,1.2982,2995,4/19/2021 22:38,female,1,1953,2
-0.82341667,1.2072,1.04555556,1.0525,2995,4/19/2021 22:35,female,1,1953,2
-0.705,0.9295,0.81675,1.496,2996,4/19/2021 22:56,female,1,1945,3
-0.777,1.0915,0.96075,1.19025,2997,4/19/2021 23:12,female,1,2001,3
-1.147,1.479,1.121,0.903,2997,4/19/2021 22:59,female,1,2001,3
-1.24,1.07533333,1.51183333,1.318,2997,4/19/2021 23:11,female,1,2001,3
-1.023,0.79622222,0.78366667,2.0114,2998,4/19/2021 23:46,female,0,1955,1
-0.75914286,1.046625,0.82622222,1.19485714,2998,4/19/2021 23:48,female,0,1955,1
-0.96355556,0.80928571,1.36185714,0.933,2999,4/19/2021 23:43,male,1,1973,3
-0.78063636,1.03383333,1.05466667,0.8816,2999,4/19/2021 23:43,male,1,1973,3
-1.54716667,1.12466667,1.09,1.942,3000,4/20/2021 0:34,female,1,2001,3
-0.79553846,1.07711111,1.0558,0.6935,3000,4/20/2021 0:42,female,1,2001,3
-1.2682,1.17666667,1.21854545,1.2964,3001,4/20/2021 0:50,male,0,1958,3
-1.0492,1.08972727,1.26125,1.472,3001,4/20/2021 0:49,male,0,1958,3
-0.76214286,0.5675,0.77288889,0.8392,3002,4/20/2021 0:51,female,1,1975,3
-0.692,0.562,0.788,1.016,3002,4/20/2021 0:52,female,1,1975,3
-1.13214286,1.36,1.36675,0.83066667,3003,4/20/2021 1:00,male,1,1972,2
-1.305,1.31485714,1.324,1.226,3003,4/20/2021 0:52,male,1,1972,2
-2.69533333,2.93,2.968,3.10366667,3004,4/20/2021 1:08,female,1,1958,2
-1.56,1.53075,1.73442857,1.912,3004,4/20/2021 1:09,female,1,1958,2
-1.5564,1.432,1.5828,1.84233333,3005,4/20/2021 1:21,male,1,1965,3
-2.017,1.5225,1.8065,1.8135,3005,4/20/2021 1:19,male,1,1965,3
-0.622,0.6339,0.76741667,0.60933333,3006,4/20/2021 1:11,male,1,1970,4
-0.5466875,0.53927273,0.698,0.5302,3006,4/20/2021 1:12,male,1,1970,4
-1.17911111,1.19342857,1.4095,0.9875,3007,4/20/2021 1:20,female,1,1976,2
-0.77527273,0.87175,0.92688889,0.76357143,3007,4/20/2021 1:12,female,1,1976,2
-3.57633333,3.459,6.516,4.0095,3009,4/20/2021 1:26,male,1,1955,1
-3.05066667,3.6875,3.7665,4.248,3009,4/20/2021 1:27,male,1,1955,1
-0.718,0.7457,1.04477778,0.84742857,3011,4/20/2021 1:33,female,1,1964,2
-1.3457,0.843,0.7666,1.20628571,3011,4/20/2021 1:34,female,1,1964,2
-1.666,1.356,1.52385714,1.36483333,3012,4/20/2021 1:45,male,1,1958,1
-0.98125,1.2055,1.38,1.1456,3012,4/20/2021 1:46,male,1,1958,1
-0.64184615,0.7775,0.7475,0.67761538,3013,4/20/2021 1:35,male,1,1970,3
-0.58442857,0.73057143,0.8898,0.57561538,3013,4/20/2021 1:35,male,1,1970,3
-0.79390909,0.89242857,1.15914286,0.77214286,3015,4/20/2021 1:49,female,1,1968,2
-0.8634,1.239375,1.59016667,1.40975,3015,4/20/2021 1:50,female,1,1968,2
-1.80825,1.783,1.37725,1.36966667,3016,4/20/2021 2:52,female,1,1959,1
-2.188,2.1225,2.0305,2.66633333,3016,4/20/2021 2:50,female,1,1959,1
-1.5272,1.38633333,1.9755,1.37575,3016,4/20/2021 2:51,female,1,1959,1
-1.06014286,0.878375,0.79608333,0.721,3017,4/20/2021 2:09,male,1,1962,3
-0.758,1.037625,1.2121,0.867,3017,4/20/2021 2:10,male,1,1962,3
-1.501,2.93633333,2.123,2.047,3018,4/20/2021 2:46,female,1,1947,1
-1.54525,1.808,1.57166667,1.6774,3019,4/20/2021 3:00,female,1,1945,1
-1.325,2.85266667,1.1665,1.227,3019,4/20/2021 3:00,female,1,1945,1
-4.15,3.9555,3.74466667,2.802,3020,4/20/2021 3:16,male,1,1945,1
-1.282,3.185,5.0105,2.67933333,3020,4/20/2021 3:17,male,1,1945,1
-0.75727273,0.7646,0.69477778,0.6795,3021,4/20/2021 3:29,female,1,1970,2
-0.8344,1.15355556,0.98209091,0.742,3021,4/20/2021 3:30,female,1,1970,2
-0.80590909,0.66426667,0.6993,0.67566667,3022,4/20/2021 3:45,male,1,1999,4
-1.00942857,1.33077778,0.6675,0.63109091,3022,4/20/2021 3:45,male,1,1999,4
-1.073,0.9995,0.96166667,1.006625,3023,4/20/2021 11:19,male,1,1977,3
-0.955625,0.98288889,0.978625,1.0686,3023,4/20/2021 11:20,male,1,1977,3
-0.711,0.892,0.61644444,0.874,3024,4/20/2021 9:29,female,1,1980,4
-0.75933333,0.935,0.61933333,0.648,3024,4/20/2021 9:29,female,1,1980,4
-0.6892,0.8678,0.6284,0.7205,3025,4/20/2021 10:07,male,1,1978,4
-0.80544444,0.7104,0.63590909,0.8912,3025,4/20/2021 10:08,male,1,1978,4
-0.58890909,0.64944444,0.61825,0.69607143,3026,4/20/2021 10:35,female,1,1978,4
-0.70742857,0.6511,0.55769231,0.70035714,3026,4/20/2021 10:40,female,1,1978,4
-0.79753333,0.6779,0.69685714,0.6334,3027,4/20/2021 11:01,male,1,1974,4
-0.572,0.69514286,0.71914286,0.7645,3027,4/20/2021 11:04,male,1,1974,4
-0.77244444,0.73333333,0.77676923,0.9645,3028,4/20/2021 11:50,female,1,1949,3
-0.86233333,0.89011111,0.8324,0.8485,3028,4/20/2021 11:50,female,1,1949,3
-0.95366667,1.07085714,0.79045455,0.951,3029,4/20/2021 12:08,female,1,1946,3
-0.70492308,0.7638,0.75544444,0.86671429,3029,4/20/2021 12:09,female,1,1946,3
-0.84627273,1.2495,0.94157143,0.8988,3030,4/20/2021 12:24,male,1,1952,3
-0.8788,1.46071429,0.851,0.94733333,3030,4/20/2021 12:24,male,1,1952,3
-2.62175,3.167,2.38466667,2.444,3031,4/20/2021 10:06,female,1,1943,1
-3.0178,2.901,2.2105,2.84,3031,4/20/2021 10:08,female,1,1943,1
-0.68122222,0.62566667,0.8767,0.74083333,3032,4/20/2021 10:27,female,1,2002,3
-0.67772727,0.6216,0.576,0.66618182,3032,4/20/2021 10:28,female,1,2002,3
-1.698,2.18033333,1.69716667,2.125,3033,4/20/2021 10:52,male,1,1959,2
-1.6305,2.0982,1.85425,1.90425,3033,4/20/2021 10:52,male,1,1959,2
-1.585,1.4864,1.9674,1.66825,3034,4/20/2021 11:11,female,1,1960,2
-1.658,1.29342857,1.3636,1.32,3034,4/20/2021 11:12,female,1,1960,2
-2.96,3.272,3.233,2.882,3035,4/20/2021 11:14,female,1,1948,2
-2.986,5.661,3.5835,3.748,3035,4/20/2021 11:14,female,1,1948,2
-2.29375,2.714,1.836,1.9545,3036,4/20/2021 11:18,female,1,1964,2
-1.397,1.691,1.63733333,1.61925,3036,4/20/2021 11:32,female,1,1964,2
-0.59333333,0.55582353,0.668,0.72616667,3037,4/20/2021 11:28,male,1,1979,4
-0.78114286,0.945125,0.67771429,0.70354545,3037,4/20/2021 11:28,male,1,1979,4
-0.947,1.068,0.861625,0.85311111,3038,4/20/2021 12:50,female,1,1954,2
-1.12466667,0.971,0.926,0.865,3038,4/20/2021 12:51,female,1,1954,2
-1.18025,1.0214,1.064,1.15671429,3039,4/20/2021 11:27,male,1,1970,2
-1.0795,1.2622,1.19088889,1.3385,3039,4/20/2021 11:27,male,1,1970,2
-0.95211111,0.904875,0.834,1.26528571,3040,4/20/2021 12:39,male,1,1953,2
-1.0608,0.95066667,0.914875,0.86133333,3040,4/20/2021 12:39,male,1,1953,2
-1.4834,1.98333333,1.25428571,1.4866,3041,4/20/2021 11:39,female,1,2002,3
-0.9908,1.29057143,1.069,0.98622222,3041,4/20/2021 11:40,female,1,2002,3
-1.79475,1.8605,1.703,1.92933333,3042,4/20/2021 11:46,male,1,1957,2
-1.641,1.5738,2.14675,1.81166667,3042,4/20/2021 11:47,male,1,1957,2
-1.321,1.31066667,1.11685714,1.387875,3043,4/20/2021 11:51,female,1,1979,5
-1.2865,0.9948,1.08854545,0.90175,3043,4/20/2021 11:52,female,1,1979,5
-0.674375,0.58773333,0.677,0.78071429,3044,4/20/2021 11:51,female,1,1973,2
-0.65666667,0.79575,0.77291667,0.8647,3044,4/20/2021 11:52,female,1,1973,2
-0.83630769,1.009,0.676,0.85242857,3045,4/20/2021 11:50,female,1,1979,3
-0.9875,0.90214286,0.82577778,0.89518182,3045,4/20/2021 12:02,female,1,1979,3
-0.8085,1.07875,1.01385714,1.363,3046,4/20/2021 12:18,female,1,1960,2
-1.1564,1.369,1.33944444,1.359,3046,4/20/2021 12:25,female,1,1960,2
-1.6975,1.7928,1.63225,1.49075,3047,4/20/2021 12:24,male,1,1957,3
-1.5965,1.50966667,1.561,1.53683333,3047,4/20/2021 12:26,male,1,1957,3
-2.052,2.03666667,1.57,1.306,3048,4/20/2021 12:27,female,1,1958,2
-1.14,1.929,3.582,2.0415,3048,4/20/2021 12:28,female,1,1958,2
-0.56876923,0.9672,0.63566667,0.90011111,3049,4/20/2021 12:26,male,1,1990,3
-0.55866667,0.6435,0.82966667,0.776,3049,4/20/2021 12:28,male,1,1990,3
-1.3414,1.5244,1.23063636,0.7055,3050,4/20/2021 12:56,female,1,2001,3
-0.78688889,1.04514286,0.606,1.11088889,3050,4/20/2021 12:57,female,1,2001,3
-4.7385,3.04933333,3.1575,2.214,3051,4/20/2021 12:42,female,1,1969,2
-2.0542,3.027,1.74925,1.7348,3051,4/20/2021 12:51,female,1,1969,2
-0.60246667,0.9438,0.64013333,0.629,3052,4/20/2021 12:50,male,1,1969,3
-0.58927273,0.75575,0.653,0.56894118,3052,4/20/2021 12:50,male,1,1969,3
-0.68657143,0.801,0.80033333,0.73228571,3053,4/20/2021 12:52,female,1,1996,3
-0.59655556,0.83188889,0.8039,1.05925,3054,4/20/2021 13:11,female,1,1989,3
-0.727,0.58691667,0.62936364,0.7164,3054,4/20/2021 13:12,female,1,1989,3
-0.795,1.2218,0.947375,1.392875,3055,4/20/2021 13:13,male,1,1981,2
-1.816,0.99411111,0.95822222,1.2935,3055,4/20/2021 13:12,male,1,1981,2
-4.1605,4.2025,2.047,1.5975,3056,4/20/2021 13:17,male,1,1956,2
-0.55890909,0.67083333,0.537625,0.548,3057,4/20/2021 14:01,male,1,1972,2
-0.71544444,0.6259,0.48714286,0.55694444,3057,4/20/2021 14:02,male,1,1972,2
-2.21333333,1.60733333,1.40971429,1.5872,3058,4/20/2021 13:27,male,1,1977,3
-1.448,1.66525,1.1998,1.88566667,3058,4/20/2021 13:26,male,1,1977,3
-2.21333333,1.60733333,1.40971429,1.5872,3058,4/20/2021 13:27,male,1,1977,3
-2.21333333,1.60733333,1.40971429,1.5872,3058,4/20/2021 13:27,male,1,1977,3
-1.62283333,2.00975,1.44766667,1.6895,3059,4/20/2021 13:41,male,1,1950,2
-2.15783333,1.82125,1.9245,1.84866667,3059,4/20/2021 14:03,male,1,1950,2
-3.997,3.163,3.069,3.7915,3060,4/20/2021 14:03,female,1,1959,1
-5.31633333,4.831,3.86,4.247,3060,4/20/2021 13:53,female,1,1959,1
-0.81863636,1.0782,0.79361538,0.81233333,3062,4/20/2021 14:30,female,1,1971,2
-0.7746,0.5388,0.64772727,0.9293,3063,4/20/2021 14:14,male,1,1999,3
-0.59,0.9025,0.68655556,1.248,3063,4/20/2021 14:15,male,1,1999,3
-1.1168,1.0954,0.9985,1.3008,3064,4/20/2021 14:17,female,1,1965,2
-1.10622222,0.9485,0.77816667,0.76428571,3064,4/20/2021 14:25,female,1,1965,2
-0.5475,0.568,0.67076923,0.60633333,3065,4/20/2021 14:21,female,1,1968,2
-0.6066,0.532,0.68755556,0.62277778,3065,4/20/2021 14:22,female,1,1968,2
-2.723,2.2048,2.765,1.6565,3066,4/20/2021 14:20,female,1,1957,2
-1.68775,2.469,2.31566667,2.50733333,3066,4/20/2021 14:21,female,1,1957,2
-1.1287,1.068,1.2515,1.49233333,3067,4/20/2021 14:26,male,1,1948,1
-1.06933333,1.77575,2.45866667,1.907,3067,4/20/2021 14:42,male,1,1948,1
-2.22225,1.6545,2.373,2.901,3068,4/20/2021 14:31,male,1,1947,1
-2.68525,2.19533333,2.009,2.14233333,3068,4/20/2021 14:34,male,1,1947,1
-2.5475,3.03133333,2.181,2.1464,3069,4/20/2021 14:46,male,1,1940,1
-2.392,2.904,2.2715,2.3115,3069,4/20/2021 14:46,male,1,1940,1
-3.15733333,3.0995,3.0425,2.744,3070,4/20/2021 14:47,female,1,1956,1
-3.632,3.4765,3.072,3.377,3070,4/20/2021 14:48,female,1,1956,1
-1.932,1.9652,1.851,2.171,3071,4/20/2021 14:46,male,1,1980,3
-1.5335,1.94271429,1.286,1.8115,3071,4/20/2021 14:47,male,1,1980,3
-1.142,0.93316667,1.04,0.9856,3072,4/20/2021 14:51,female,1,2001,3
-0.72885714,0.70357143,0.79772727,0.84142857,3072,4/20/2021 14:52,female,1,2001,3
-0.90175,0.63169231,0.84411111,1.0066,3073,4/20/2021 14:50,male,1,1963,3
-0.90854545,0.70883333,0.803125,0.8875,3073,4/20/2021 14:51,male,1,1963,3
-2.97333333,5.176,3.786,2.8455,3074,4/20/2021 14:55,female,1,1948,1
-2.586,2.36,2.197,1.99266667,3074,4/20/2021 14:56,female,1,1948,1
-0.896625,0.78035714,0.9348,0.897125,3075,4/20/2021 14:54,male,1,1970,2
-0.58709091,0.67609091,0.59606667,0.60090909,3075,4/20/2021 15:06,male,1,1970,2
-3.949,3.49866667,3.1575,2.10575,3076,4/20/2021 14:59,male,1,1943,2
-2.8535,1.749,1.463,2.07975,3076,4/20/2021 14:59,male,1,1943,2
-0.96483333,1.48833333,1.0626,0.9901,3077,4/20/2021 15:00,female,0,1971,2
-0.86828571,0.80673333,1.085,0.9435,3077,4/20/2021 15:01,female,0,1971,2
-2.416,2.4452,1.4565,1.5975,3078,4/20/2021 15:09,female,1,1959,2
-1.2235,1.57025,2.61,2.92075,3078,4/20/2021 15:18,female,1,1959,2
-1.394,1.585,1.45525,1.055,3079,4/20/2021 15:13,male,1,1971,2
-0.7184,0.753,0.859,0.96225,3079,4/20/2021 15:14,male,1,1971,2
-0.57709091,0.6915,0.60775,0.66391667,3080,4/20/2021 15:12,female,1,1971,2
-0.64427273,0.721,0.60558333,0.57321429,3080,4/20/2021 15:18,female,1,1971,2
-1.768,1.8476,1.8735,2.136,3081,4/20/2021 15:16,female,1,1955,2
-1.685,1.5085,1.36257143,2.147,3081,4/20/2021 15:16,female,1,1955,2
-0.80922222,1.01457143,0.9,0.791,3083,4/20/2021 15:37,male,1,2001,3
-8.43,7.015,1.6695,9.743,3084,4/20/2021 15:28,male,1,1942,1
-3.23,4.864,2.275,2.3054,3084,4/20/2021 15:29,male,1,1942,1
-1.09555556,0.9769,1.1505,1.39325,3085,4/20/2021 15:26,male,1,1971,2
-1.23188889,1.1308,1.1628,1.61125,3085,4/20/2021 15:25,male,1,1971,2
-1.1355,1.165,1.00116667,0.86625,3086,4/20/2021 15:26,female,1,1967,3
-1.12066667,0.840625,0.83972727,0.71855556,3086,4/20/2021 15:27,female,1,1967,3
-0.54925,0.5045,0.76966667,0.60123077,3087,4/20/2021 15:35,male,1,1973,2
-0.47138462,0.563,0.69827273,0.5828,3087,4/20/2021 15:27,male,1,1973,2
-1.24683333,1.03325,1.54083333,1.7118,3088,4/20/2021 15:36,female,1,1998,3
-0.76963636,0.7635,1.23257143,0.84622222,3088,4/20/2021 15:37,female,1,1998,3
-0.84058333,0.82842857,0.95214286,0.8665,3089,4/20/2021 15:34,female,1,1978,2
-0.754,0.76922222,0.864,0.9323,3089,4/20/2021 15:33,female,1,1978,2
-1.6155,1.701,1.69875,1.808,3090,4/20/2021 15:35,male,1,1967,2
-1.69666667,2.342,1.5956,1.52025,3090,4/20/2021 15:36,male,1,1967,2
-7.777,2.967,1.397,15.564,3091,4/20/2021 15:40,male,1,1941,1
-0.788,0.8433,0.95925,0.80166667,3092,4/20/2021 15:46,female,1,1959,3
-1.156875,1.063,0.89866667,1.14133333,3093,4/20/2021 15:49,female,1,1972,3
-1.043,10.777,1.47733333,1.745,3093,4/20/2021 15:50,female,1,1972,3
-0.8785,0.762,0.60383333,0.8327,3094,4/20/2021 15:57,female,1,1999,4
-0.742125,0.91314286,0.8593,0.8936,3094,4/20/2021 15:56,female,1,1999,4
-0.734,0.7223,0.729,0.9956,3095,4/20/2021 16:10,female,1,1981,2
-0.64083333,1.2695,0.742375,0.60833333,3095,4/21/2021 1:06,female,1,1981,2
-1.05666667,0.71928571,1.34642857,0.98011111,3097,4/20/2021 15:59,female,1,1953,1
-1.308,1.24633333,1.2015,1.17075,3097,4/20/2021 15:58,female,1,1953,1
-1.902,1.3915,1.36925,1.5046,3098,4/20/2021 15:57,female,1,1945,1
-1.562,1.39633333,1.7134,1.23025,3098,4/20/2021 15:59,female,1,1945,1
-1.672,1.91,2.4406,2.96733333,3099,4/20/2021 16:04,male,1,1945,1
-3.851,5.41,2.76533333,4.06,3099,4/20/2021 16:03,male,1,1945,1
-0.99657143,0.8445,1.3252,1.0955,3100,4/20/2021 16:10,female,1,1969,4
-5.67525,2.174,1.077,0.904,3101,4/20/2021 16:14,female,1,1945,1
-2.13457143,1.32066667,0.9889,1.05,3101,4/20/2021 16:16,female,1,1945,1
-1.08075,0.9745,1.31683333,1.0212,3102,4/20/2021 16:25,female,1,1946,1
-0.80685714,0.75171429,1.09075,0.99366667,3102,4/27/2021 14:18,female,1,1946,1
-1.16933333,0.92591667,1.3376,0.955375,3103,4/20/2021 16:29,female,1,1973,2
-1.201,1.477,1.162375,1.0992,3103,4/20/2021 16:29,female,1,1973,2
-2.78666667,1.6988,1.19666667,1.062125,3104,4/20/2021 16:34,male,1,1956,2
-1.33283333,1.7555,1.77716667,2.40633333,3104,4/20/2021 16:35,male,1,1956,2
-1.13516667,1.23,1.11733333,1.10355556,3105,4/20/2021 16:43,female,1,1979,3
-0.88222222,1.10355556,0.8514,1.07733333,3105,4/20/2021 16:44,female,1,1979,3
-1.42866667,1.267375,0.9485,0.859,3106,4/20/2021 16:59,female,1,2001,2
-2.02625,1.7515,1.877,1.875,3107,4/20/2021 17:15,male,1,1941,1
-2.85566667,2.699,2.3562,2.0875,3107,4/20/2021 17:16,male,1,1941,1
-1.05144444,1.337,1.62116667,0.996,3108,4/20/2021 16:58,male,1,1957,3
-1.14385714,1.14566667,0.96209091,1.07714286,3108,4/20/2021 16:57,male,1,1957,3
-3.9085,2.14966667,3.992,4.0285,3109,4/20/2021 17:05,male,1,1955,1
-2.55266667,2.73766667,2.34025,2.577,3109,4/20/2021 17:06,male,1,1955,1
-2.23066667,3.116,2.43,2.6105,3111,4/20/2021 23:30,female,1,1975,3
-2.175,4.05333333,2.5,2.574,3111,4/20/2021 23:29,female,1,1975,3
-1.23075,1.31033333,1.56366667,1.007,3112,4/20/2021 17:24,female,1,1975,2
-1.9985,1.51166667,2.2795,1.517875,3112,4/20/2021 17:32,female,1,1975,2
-3.77333333,2.41,6.505,3.16533333,3113,4/20/2021 17:33,female,1,1965,1
-1.89075,2.456,2.651,1.779,3113,4/20/2021 17:34,female,1,1965,1
-2.118,4.0675,1.43433333,1.924,3114,4/21/2021 21:48,female,1,1940,1
-1.8776,1.13625,1.912,1.51433333,3115,4/20/2021 17:37,female,1,1961,2
-1.63314286,2.17333333,1.6296,1.7585,3115,4/20/2021 17:38,female,1,1961,2
-2.7545,1.46433333,1.72133333,2.26633333,3116,4/20/2021 17:43,female,1,1956,1
-1.4616,1.44466667,2.19,2.0842,3116,4/20/2021 17:44,female,1,1956,1
-0.7795,0.99266667,0.86042857,0.99977778,3117,4/20/2021 18:07,female,1,1946,1
-0.786,0.95375,0.93625,0.96628571,3117,4/20/2021 18:07,female,1,1946,1
-0.63488889,0.66483333,0.57578571,0.65375,3118,4/20/2021 18:04,male,0,1953,1
-0.61833333,0.70211111,0.7985,0.62871429,3118,4/20/2021 18:05,male,0,1953,1
-1.04842857,1.244,1.212,0.96271429,3120,4/20/2021 18:12,male,1,1976,3
-1.09042857,1.09471429,1.136,1.20683333,3123,4/20/2021 18:10,male,1,1956,2
-0.84090909,0.89816667,1.16066667,1.0905,3123,4/20/2021 18:11,male,1,1956,2
-1.01771429,1.17033333,1.13775,1.22822222,3124,4/20/2021 18:32,male,1,1951,2
-1.31816667,1.4296,1.77025,1.2858,3124,4/20/2021 18:31,male,1,1951,2
-0.74588889,0.99314286,0.939375,1.063125,3125,4/20/2021 18:26,female,1,1980,3
-0.813,0.905,0.791,1.567,3125,4/20/2021 18:27,female,1,1980,3
-0.763,0.57463636,0.66772727,0.87333333,3126,4/20/2021 18:38,female,1,2001,4
-0.7049,0.6627,0.6988,0.74725,3126,4/20/2021 18:37,female,1,2001,4
-1.0105,1.4088,1.31966667,1.312,3127,4/20/2021 18:40,male,1,1976,2
-1.06371429,1.20185714,1.0384,1.30433333,3127,4/20/2021 18:41,male,1,1976,2
-0.62636364,0.63411111,0.5685,0.6460625,3128,4/20/2021 18:50,male,1,1950,2
-0.74009091,0.751,0.53569231,0.52527273,3128,4/20/2021 18:49,male,1,1950,2
-0.6745,1.72522222,0.61485714,0.7715,3129,4/20/2021 18:57,male,1,2000,4
-0.6365,0.538,0.64742857,0.62477778,3129,4/20/2021 18:58,male,1,2000,4
-1.2335,2.88033333,1.44166667,2.057,3130,4/20/2021 19:07,male,1,1941,1
-2.06733333,1.63175,1.69942857,2.3325,3130,4/20/2021 19:06,male,1,1941,1
-0.96471429,1.34675,1.473,1.598,3131,4/20/2021 19:03,female,1,1967,2
-0.92,1.0694,1.65,1.756,3131,4/20/2021 19:04,female,1,1967,2
-4.009,3.8175,1.649,1.5122,3132,4/20/2021 19:21,male,1,1959,2
-2.342,2.16666667,2.32266667,1.758,3132,4/20/2021 19:20,male,1,1959,2
-1.172,1.32628571,1.13414286,1.814,3133,4/20/2021 19:26,male,1,1963,2
-1.07728571,1.11871429,1.15583333,1.501,3133,4/20/2021 19:27,male,1,1963,2
-1.73928571,1.671,1.464,1.467,3134,4/20/2021 19:26,male,1,1960,2
-1.673,1.46683333,1.6235,1.61057143,3134,4/20/2021 19:26,male,1,1960,2
-0.9576,1.1712,1.233,1.04,3135,4/20/2021 19:41,male,1,1975,1
-1.17585714,1.21842857,1.466,1.846,3136,4/20/2021 19:55,female,1,1955,2
-1.0046,1.035,1.844,2.29966667,3136,4/20/2021 19:55,female,1,1955,2
-2.05933333,1.41071429,1.10016667,2.18266667,3137,4/20/2021 19:45,female,1,1960,1
-1.22585714,1.23516667,1.1114,1.39033333,3137,4/20/2021 19:45,female,1,1960,1
-2.181,2.4005,2.146,2.694,3138,4/20/2021 19:50,female,1,1958,1
-2.031,1.73728571,1.7318,1.7055,3138,4/20/2021 19:51,female,1,1958,1
-1.44525,1.86825,1.617,1.4916,3140,4/20/2021 19:55,male,1,1957,2
-1.19175,1.404625,1.3676,1.4094,3140,4/20/2021 19:55,male,1,1957,2
-0.8345,0.57308333,0.66,0.55652941,3141,4/21/2021 20:28,male,1,1978,4
-0.53784615,0.4838,0.84727273,0.46630769,3141,4/21/2021 20:29,male,1,1978,4
-0.91857143,1.10333333,0.97025,1.01955556,3142,4/20/2021 19:58,male,1,1977,3
-0.77036364,0.99283333,0.944,1.26757143,3142,4/20/2021 19:59,male,1,1977,3
-0.95628571,1.01575,0.87225,0.96625,3143,4/20/2021 20:04,male,1,1966,5
-0.86633333,0.9315,0.8822,0.9837,3143,4/20/2021 20:19,male,1,1966,5
-0.82616667,0.9134,0.60392857,0.7221,3144,4/20/2021 20:08,male,1,1972,2
-0.7645,0.60644444,0.60171429,0.6005,3144,4/20/2021 20:09,male,1,1972,2
-1.5004,2.436,2.411,2.423,3145,4/20/2021 20:08,male,1,1955,1
-1.36183333,2.12425,1.3985,1.57766667,3145,4/20/2021 20:09,male,1,1955,1
-4.26,2.859,2.1992,2.2175,3148,4/20/2021 20:09,male,1,1944,1
-1.737,3.39,1.795,3.054,3148,4/20/2021 20:10,male,1,1944,1
-0.888,0.82045455,0.838875,1.426,3149,4/21/2021 20:36,female,1,1974,3
-0.8182,0.755375,0.8946,1.0807,3149,4/21/2021 20:36,female,1,1974,3
-0.8348,0.71133333,0.64016667,0.7042,3150,4/20/2021 20:15,male,1,1971,4
-0.7921,0.66942857,0.87855556,0.63642857,3150,4/20/2021 20:16,male,1,1971,4
-1.3905,1.45066667,1.74533333,10.69,3151,4/20/2021 20:36,female,1,1953,1
-1.3905,1.45066667,1.74533333,10.69,3151,4/20/2021 20:36,female,1,1953,1
-0.98333333,1.41388889,0.8912,1.36714286,3152,4/21/2021 20:40,female,1,1955,2
-0.852,0.87716667,0.81266667,3.3814,3152,4/21/2021 20:40,female,1,1955,2
-3.6755,2.3835,2.282,2.452,3153,4/20/2021 20:30,female,1,1942,1
-6.102,4.004,2.185,4.083,3153,4/20/2021 20:31,female,1,1942,1
-1.43575,2.306,1.8095,1.40742857,3155,4/20/2021 20:32,female,1,1959,2
-1.947,1.84416667,1.296,1.7105,3155,4/20/2021 20:33,female,1,1959,2
-0.893375,0.97371429,0.78318182,0.7269,3156,4/20/2021 21:47,female,1,2001,2
-1.00633333,1.128625,0.97925,0.9425,3156,4/20/2021 21:07,female,1,2001,2
-0.85344444,1.02975,0.83688889,1.04,3156,4/20/2021 21:46,female,1,2001,2
-1.35542857,1.4212,1.17233333,1.40971429,3157,4/20/2021 20:51,male,1,1961,2
-0.99514286,1.0894,1.5844,1.06033333,3157,4/20/2021 20:52,male,1,1961,2
-1.7835,0.948,1.247,1.4635,3158,4/20/2021 20:57,male,1,1953,1
-0.93371429,0.88154545,0.891,0.9535,3159,4/20/2021 21:18,female,1,1967,4
-0.84683333,0.9012,0.8115,0.99722222,3159,4/20/2021 21:19,female,1,1967,4
-1.599,1.282,1.03228571,2.515,3160,4/20/2021 21:39,female,1,1959,1
-1.03883333,1.027,0.98166667,1.185,3160,4/20/2021 21:40,female,1,1959,1
-1.77233333,2.389,2.25066667,2.565,3162,4/20/2021 21:21,female,1,1948,1
-2.052,1.90466667,1.9146,2.2675,3162,4/20/2021 21:22,female,1,1948,1
-0.941625,0.897375,1.151,0.86509091,3163,4/20/2021 21:22,male,1,1956,2
-0.72155556,0.7275,0.78311111,0.622875,3163,4/20/2021 21:23,male,1,1956,2
-0.6775,1.277,0.806,0.901,3164,4/20/2021 21:37,female,1,1955,1
-0.79666667,4.5115,1.215,1.062,3164,4/20/2021 21:40,female,1,1955,1
-2.2055,1.581,2.05866667,2.15,3165,4/20/2021 21:28,female,1,1942,2
-2.0788,1.8426,1.96366667,2.2115,3165,4/20/2021 21:29,female,1,1942,2
-0.91575,0.92214286,1.0166,0.85114286,3166,4/20/2021 21:30,male,1,1976,5
-0.96,0.90963636,0.8638,0.8494,3166,4/20/2021 21:31,male,1,1976,5
-1.37,1.7974,1.4425,1.4226,3167,4/20/2021 21:33,female,1,1973,3
-1.476,1.132625,1.292,1.10575,3167,4/20/2021 21:34,female,1,1973,3
-1.218,1.18225,0.88225,0.9135,3169,4/20/2021 21:44,male,1,1968,3
-0.8433,1.0405,0.85033333,1.06757143,3170,4/20/2021 21:51,male,1,1979,4
-0.70536364,1.05633333,0.85628571,0.9294,3170,4/20/2021 21:52,male,1,1979,4
-2.31966667,2.06566667,2.58666667,2.28266667,3171,4/20/2021 21:56,male,1,1953,2
-1.91575,1.92625,2.1495,1.667,3171,4/20/2021 21:56,male,1,1953,2
-0.86627273,0.90675,0.75557143,1.869,3173,4/20/2021 22:02,female,1,2001,2
-0.791,0.91325,0.637,0.7924,3173,4/20/2021 22:03,female,1,2001,2
-1.2703,1.07766667,1.256,1.0236,3174,4/20/2021 22:05,male,0,1972,3
-1.2703,1.07766667,1.256,1.0236,3174,4/20/2021 22:05,male,0,1972,3
-1.44571429,1.2245,1.01242857,1.1875,3174,4/20/2021 21:58,male,0,1972,3
-0.99866667,1.7506,1.22733333,1.1058,3174,4/20/2021 21:59,male,0,1972,3
-1.407,1.1155,1.420625,0.91866667,3176,4/20/2021 22:13,male,1,1980,3
-1.2615,0.99083333,1.316,1.40075,3176,4/20/2021 22:14,male,1,1980,3
-0.81046154,1.048625,0.99357143,0.66866667,3177,4/20/2021 22:05,female,1,1980,4
-0.96,1.28725,1.46966667,1.016,3177,4/20/2021 22:06,female,1,1980,4
-4.26233333,3.313,1.831,1.649,3178,4/20/2021 22:07,male,1,1941,2
-2.542,1.323,2.1265,2.727,3178,4/20/2021 22:08,male,1,1941,2
-2.36766667,2.27633333,1.70666667,2.1726,3179,4/20/2021 22:09,male,1,1960,2
-2.4775,2.124,3.073,2.05725,3179,4/20/2021 22:10,male,1,1960,2
-3.3748,1.50766667,1.882,2.2035,3180,4/20/2021 22:28,male,1,1965,2
-1.9105,1.24966667,3.0495,2.27275,3180,4/20/2021 22:29,male,1,1965,2
-1.6044,1.582,1.4025,1.382375,3181,4/20/2021 22:16,female,1,1978,1
-1.6498,1.829,1.10542857,1.4416,3181,4/20/2021 22:16,female,1,1978,1
-0.79563636,0.7069,0.76644444,0.6755,3182,4/20/2021 22:17,male,1,2000,4
-0.68669231,0.5183125,0.82583333,0.64881818,3182,4/20/2021 22:18,male,1,2000,4
-2.258,1.4278,1.3475,2.20085714,3183,4/20/2021 22:24,male,1,1967,3
-1.431,1.00975,1.7275,1.01366667,3183,4/20/2021 22:24,male,1,1967,3
-0.99371429,1.1896,0.703625,0.75018182,3184,4/20/2021 22:24,male,1,1971,2
-0.6541,0.81983333,0.835375,0.868,3184,4/20/2021 22:25,male,1,1971,2
-1.959,1.68225,1.7078,1.5866,3186,4/20/2021 22:33,female,1,1959,1
-1.264,1.304,2.92,2.7786,3186,4/22/2021 21:04,female,1,1959,1
-2.044,2.3035,2.15225,2.02883333,3187,4/20/2021 22:31,female,1,1957,1
-1.05266667,1.60366667,1.7465,1.4064,3187,4/20/2021 22:32,female,1,1957,1
-0.499,0.61681818,0.61658333,0.55369231,3189,4/20/2021 22:59,male,1,2001,4
-0.732,0.56066667,0.45675,0.483,3189,4/20/2021 23:02,male,1,2001,4
-1.11933333,0.91925,1.12842857,0.963375,3190,4/20/2021 22:59,female,1,2001,3
-0.876125,0.75881818,0.92528571,0.72763636,3190,4/20/2021 23:01,female,1,2001,3
-1.91328571,1.56333333,1.1215,2.26033333,3192,4/20/2021 22:39,female,1,1940,1
-0.91933333,1.66575,2.30725,1.41928571,3192,4/20/2021 22:39,female,1,1940,1
-1.3214,1.10542857,1.25783333,1.11571429,3193,4/20/2021 22:46,male,0,1956,1
-5.153,1.69,1.7515,2.784,3193,4/22/2021 21:16,male,0,1956,1
-1.597,1.764,1.93033333,1.4965,3194,4/20/2021 22:57,female,1,1969,3
-1.00777778,1.6285,1.2415,0.72875,3194,4/20/2021 22:57,female,1,1969,3
-0.794,0.85666667,0.645,1.1395,3195,4/20/2021 23:01,male,1,1969,4
-1.47375,1.24283333,1.443,1.375,3196,4/20/2021 23:12,male,1,1957,1
-0.55953846,0.71246154,0.43869231,0.69357143,3198,4/20/2021 23:12,male,1,1976,3
-1.4344,0.793125,0.99028571,1.00677778,3199,4/20/2021 23:26,female,1,2001,3
-0.66111111,0.5276,0.863875,0.65375,3199,4/20/2021 23:27,female,1,2001,3
-0.93658333,0.97985714,0.93542857,0.85416667,3200,4/20/2021 23:23,male,1,1960,3
-0.69433333,0.95427273,0.79185714,0.7118,3200,4/20/2021 23:22,male,1,1960,3
-1.40366667,1.262875,1.1135,1.58785714,3201,4/20/2021 23:25,male,1,1961,2
-1.40366667,1.262875,1.1135,1.58785714,3201,4/20/2021 23:25,male,1,1961,2
-1.3921,1.793,1.2964,1.54566667,3201,4/20/2021 23:25,male,1,1961,2
-0.78541667,1.4336,1.102,0.8794,3202,4/20/2021 23:28,female,1,1971,3
-1.37266667,0.88618182,0.91083333,0.831,3202,4/20/2021 23:29,female,1,1971,3
-0.59390909,0.61706667,0.61377778,0.59385714,3203,4/20/2021 23:41,male,1,1978,3
-0.58894118,0.51027273,0.61522222,0.6167,3203,4/20/2021 23:42,male,1,1978,3
-0.81555556,0.915125,0.96066667,0.86963636,3204,4/20/2021 23:46,female,1,1971,1
-1.04933333,1.15633333,1.0005,0.99833333,3204,4/20/2021 23:47,female,1,1971,1
-0.70933333,0.717,0.81390909,0.92614286,3206,4/20/2021 23:46,female,1,1979,3
-0.723,0.61227273,0.85415385,0.7718,3206,4/20/2021 23:46,female,1,1979,3
-2.843,3.852,4.4605,4.307,3207,4/20/2021 23:45,male,1,1977,2
-3.963,3.0265,4.126,2.77466667,3207,4/20/2021 23:46,male,1,1977,2
-1.2256,1.09133333,1.305,1.71,3209,4/20/2021 23:51,female,1,1974,4
-1.017375,1.0166,1.3004,1.42742857,3209,4/20/2021 23:52,female,1,1974,4
-1.2358,0.673,1.33925,1.3034,3211,4/20/2021 23:58,male,1,1960,2
-1.2825,1.5684,1.37925,24.7718,3211,4/20/2021 23:59,male,1,1960,2
-0.75772727,0.632,0.83611111,0.671,3212,4/21/2021 0:06,female,1,1976,3
-0.84275,0.58827273,0.8277,0.8376,3212,4/21/2021 0:08,female,1,1976,3
-0.71242857,0.684,0.88990909,0.6825,3213,4/21/2021 0:08,female,0,1965,4
-0.944,0.799,0.8641,0.88163636,3213,4/21/2021 0:09,female,0,1965,4
-0.77585714,0.71871429,0.68423077,0.86458333,3214,4/21/2021 0:09,male,1,1967,3
-0.68413333,0.61946154,0.61281818,0.8288,3214,4/21/2021 0:10,male,1,1967,3
-3.99966667,7.373,3.506,5.359,3215,4/21/2021 0:09,male,1,1954,1
-5.541,6.544,5.669,7.652,3215,4/21/2021 0:10,male,1,1954,1
-2.647,2.6895,3.578,3.01666667,3216,4/21/2021 0:17,male,1,1952,1
-3.247,2.496,3.42966667,4.399,3216,4/21/2021 0:18,male,1,1952,1
-0.98857143,1.46716667,1.0431,1.12566667,3217,4/21/2021 0:17,male,1,1964,3
-1.43633333,0.88233333,1.051875,0.8578,3217,4/21/2021 0:17,male,1,1964,3
-1.28783333,1.31725,1.28225,1.1998,3218,4/21/2021 0:23,male,1,1973,2
-1.01,1.15733333,1.203,1.21214286,3218,4/21/2021 0:24,male,1,1973,2
-4.826,2.473,3.784,3.71033333,3220,4/21/2021 9:39,male,1,1957,1
-3.19733333,3.94433333,4.485,3.576,3220,4/21/2021 9:40,male,1,1957,1
-0.556,0.59457143,0.61322222,0.629125,3221,4/21/2021 0:33,female,1,1979,3
-0.66227273,0.78309091,0.75711111,0.79711111,3222,4/21/2021 0:37,female,1,1977,3
-0.69757143,0.77475,0.727,0.81341667,3222,4/21/2021 0:36,female,1,1977,3
-1.10383333,1.26066667,1.14442857,0.98836364,3223,4/21/2021 0:40,male,1,1974,4
-0.89190909,1.04175,0.80314286,0.86928571,3223,4/21/2021 0:41,male,1,1974,4
-0.7664,0.7255,0.9153,0.792,3224,4/21/2021 0:40,male,1,1959,4
-0.954,1.077,0.90655556,0.9695,3224,4/21/2021 0:40,male,1,1959,4
-0.72585714,1.036,0.89657143,0.86666667,3225,4/21/2021 0:42,male,1,1967,3
-0.841625,1.05709091,0.8092,0.97385714,3225,4/21/2021 0:43,male,1,1967,3
-0.952,1.17,1.02142857,1.45033333,3226,4/21/2021 0:59,female,1,1952,3
-1.233,0.856,1.6145,0.93958333,3226,4/21/2021 0:58,female,1,1952,3
-1.5656,2.0234,1.623,1.41475,3227,4/21/2021 0:57,male,1,1959,1
-1.7334,1.73925,1.5785,1.3642,3227,4/21/2021 0:57,male,1,1959,1
-1.55,1.652,1.41283333,1.66816667,3228,4/21/2021 0:59,male,1,1954,2
-1.55,1.652,1.41283333,1.66816667,3228,4/21/2021 0:59,male,1,1954,2
-1.6675,2.28233333,1.685,1.606,3228,4/21/2021 0:58,male,1,1954,2
-1.2868,1.421,1.4326,1.38733333,3229,4/21/2021 0:58,male,1,1969,2
-1.42042857,1.62375,2.121,1.563,3229,4/21/2021 0:59,male,1,1969,2
-1.10128571,1.76283333,2.568,1.6194,3230,4/21/2021 1:20,male,1,1970,3
-0.545,1.381,0.778,0.8595,3230,4/21/2021 2:33,male,1,1970,3
-2.012,0.94583333,1.01975,2.01925,3231,4/21/2021 1:53,male,1,2002,4
-1.23416667,1.2,1.6876,1.4655,3231,4/21/2021 2:02,male,1,2002,4
-3.466,2.98975,2.93466667,2.392,3232,4/21/2021 2:22,female,1,1950,2
-1.41133333,1.85125,1.81171429,2.728,3232,4/21/2021 2:23,female,1,1950,2
-0.718,0.80371429,0.73566667,0.74784615,3234,4/21/2021 1:08,female,1,1978,4
-0.73872727,0.80325,0.57706667,0.797875,3234,4/21/2021 1:09,female,1,1978,4
-2.009,1.134,1.16385714,1.80475,3235,4/21/2021 1:17,male,1,1957,1
-1.59342857,1.429,1.6462,1.357,3235,4/21/2021 1:17,male,1,1957,1
-1.2595,1.113,1.116,1.21925,3236,4/21/2021 1:17,male,1,1966,5
-1.381,1.6124,1.10133333,1.54928571,3236,4/21/2021 1:18,male,1,1966,5
-0.9845,1.131125,1.3684,1.096125,3236,4/21/2021 1:19,male,1,1966,5
-0.76375,0.7586,0.71354545,0.74081818,3238,4/21/2021 1:25,male,1,1971,5
-0.927375,0.75266667,1.464,0.86633333,3238,4/21/2021 1:24,male,1,1971,5
-1.097375,0.91766667,1.021,1.131,3239,4/21/2021 1:31,male,1,1959,2
-0.94525,1.047,1.15816667,0.99457143,3239,4/21/2021 1:32,male,1,1959,2
-1.0014,0.80884615,2.131,1.088,3240,4/21/2021 2:06,female,1,1975,3
-1.221,1.15657143,1.43233333,1.16125,3240,4/21/2021 1:53,female,1,1975,3
-0.915,0.89,0.871,0.984,3241,4/21/2021 1:39,female,1,1980,3
-0.6882,1.0495,0.74042857,0.8068,3241,4/21/2021 1:40,female,1,1980,3
-1.4034,1.02216667,0.9055,1.2705,3242,4/21/2021 2:06,female,0,1986,4
-1.29233333,1.364,1.1674,1.61175,3242,4/21/2021 1:53,female,0,1986,4
-2.556,1.52442857,1.33775,1.33525,3244,4/21/2021 2:20,female,1,1958,3
-1.196,0.961375,1.30933333,1.15957143,3244,4/21/2021 2:21,female,1,1958,3
-1.62966667,1.71475,1.018125,4.4195,3245,4/21/2021 2:21,male,1,1960,2
-2.312,3.75,2.4305,2.26266667,3245,4/21/2021 2:20,male,1,1960,2
-0.8302,0.88357143,0.895,0.98490909,3246,4/21/2021 2:36,male,1,1971,4
-1.06244444,0.85827273,0.7915,1.1975,3246,4/21/2021 2:36,male,1,1971,4
-1.10771429,1.33733333,1.00857143,1.02071429,3247,4/21/2021 2:44,male,1,1972,2
-0.78163636,1.94,0.9415,0.7231,3247,4/21/2021 2:44,male,1,1972,2
-0.77864286,0.762625,0.7959,0.65471429,3248,4/21/2021 3:02,female,1,1999,4
-1.35525,1.38857143,1.46375,1.49183333,3249,4/21/2021 6:22,male,1,1960,2
-1.2722,1.6725,1.118,1.2775,3249,4/21/2021 6:23,male,1,1960,2
-1.19025,1.299,1.1764,1.03785714,3250,4/21/2021 6:43,female,1,1956,2
-1.171125,1.16622222,1.23975,1.444,3250,4/21/2021 6:43,female,1,1956,2
-1.21716667,1.33675,1.2128,1.1666,3251,4/21/2021 6:59,male,1,1958,2
-1.39,1.34542857,1.25916667,1.445,3251,4/21/2021 7:00,male,1,1958,2
-1.1,1.13683333,1.075,1.09066667,3252,4/21/2021 9:08,male,1,1976,5
-1.3486,1.13275,1.34128571,1.17066667,3253,4/21/2021 9:36,male,1,1956,2
-1.06157143,1.2215,1.23728571,0.94766667,3253,4/21/2021 9:37,male,1,1956,2
-0.72666667,0.8428,0.70955556,0.66053846,3254,4/22/2021 14:53,male,1,1997,4
-0.96111111,0.98475,1.0474,1.11971429,3254,4/21/2021 9:43,male,1,1997,4
-0.72969231,0.604,0.71277778,0.93866667,3255,4/21/2021 9:59,female,1,1999,4
-0.58652941,0.58575,0.62563636,0.46846154,3255,4/21/2021 10:00,female,1,1999,4
-1.65275,1.50066667,2.15025,1.881,3256,4/21/2021 10:31,female,1,1976,2
-1.156,1.87285714,2.02566667,1.638,3256,4/21/2021 10:30,female,1,1976,2
-2.7495,3.23425,2.555,2.294,3257,4/21/2021 10:38,male,1,1960,2
-2.86,2.91533333,3.381,2.5025,3257,4/21/2021 10:38,male,1,1960,2
-1.3454,1.399,1.32133333,1.27525,3258,4/21/2021 10:39,male,1,1959,4
-0.8268,0.9358,0.85266667,0.91266667,3258,4/21/2021 10:39,male,1,1959,4
-0.8046,1.00728571,0.9845,0.928,3259,4/21/2021 10:49,female,1,1975,3
-0.951,1.36571429,1.0825,0.9384,3259,4/21/2021 10:50,female,1,1975,3
-2.65933333,2.7605,2.7,2.2105,3260,4/21/2021 11:00,female,1,1959,2
-2.9885,1.9696,3.664,2.49125,3260,4/21/2021 10:59,female,1,1959,2
-0.6685,0.901,0.62815385,0.73022222,3261,4/21/2021 11:00,female,1,2002,3
-0.60863636,0.76933333,0.684,0.6755,3261,4/21/2021 11:01,female,1,2002,3
-1.02325,1.025,1.089875,1.09314286,3262,4/21/2021 11:10,male,1,1972,3
-0.955,1.32816667,1.03966667,1.23183333,3262,4/21/2021 11:09,male,1,1972,3
-0.9372,0.95283333,1.18071429,0.9425,3263,4/21/2021 11:10,male,0,1970,3
-0.825,0.792625,0.922,0.757625,3263,4/21/2021 11:25,male,0,1970,3
-1.16411111,1.1832,1.5222,1.033,3264,4/21/2021 12:45,female,1,1986,2
-1.26842857,1.09557143,1.58075,1.00357143,3264,4/21/2021 12:45,female,1,1986,2
-1.29725,1.2075,1.24675,1.27128571,3265,4/21/2021 11:42,male,1,1970,3
-1.19466667,1.23183333,1.0695,1.51933333,3265,4/21/2021 11:43,male,1,1970,3
-1.526875,2.057,1.4285,1.2405,3267,4/21/2021 11:52,female,1,1966,2
-1.724,1.98316667,1.64575,1.52675,3267,4/21/2021 11:51,female,1,1966,2
-1.08816667,1.80933333,2.63733333,1.32466667,3268,4/21/2021 11:52,male,1,1963,2
-1.5555,1.6172,1.4274,1.5768,3268,4/21/2021 11:52,male,1,1963,2
-1.446,1.8454,1.61228571,1.3945,3269,4/21/2021 12:12,male,1,1969,3
-1.151,1.57433333,0.9732,1.1115,3269,4/21/2021 12:10,male,1,1969,3
-0.9735,0.723375,0.996875,0.685125,3270,4/21/2021 12:10,female,1,1963,3
-0.95,0.71675,0.7874,0.93042857,3270,4/21/2021 12:10,female,1,1963,3
-4.046,3.8445,3.932,2.451,3271,4/21/2021 12:23,female,1,1948,1
-2.213,2.71666667,1.902,2.754,3271,4/21/2021 12:22,female,1,1948,1
-2.245,1.107,1.16828571,1.28025,3272,4/21/2021 12:36,female,1,1974,3
-1.0682,1.35633333,1.1246,1.3845,3273,4/21/2021 12:37,male,1,1981,3
-0.91344444,1.45733333,0.988,1.26025,3273,4/21/2021 12:37,male,1,1981,3
-1.225375,1.4412,1.161,0.95133333,3274,4/21/2021 12:48,female,1,1958,2
-1.10344444,1.0174,1.16466667,1.02671429,3274,4/21/2021 12:49,female,1,1958,2
-0.87963636,1.0785,1.1456,1.189625,3275,4/21/2021 12:57,female,1,1954,3
-1.79966667,1.5585,1.41942857,1.52571429,3275,4/21/2021 12:58,female,1,1954,3
-1.05733333,0.97671429,1.21457143,1.31925,3276,4/21/2021 13:02,male,1,1958,3
-0.6765,0.759,1.1341,0.78,3276,4/21/2021 13:03,male,1,1958,3
-1.31033333,0.71771429,0.83430769,0.86828571,3277,4/21/2021 13:11,female,1,1958,3
-1.17842857,0.9494,1.07983333,1.14055556,3277,4/21/2021 13:11,female,1,1958,3
-0.59028571,0.75654545,0.6705,0.64742857,3278,4/21/2021 13:26,male,1,1961,4
-0.86,0.65825,0.6552,0.67309091,3278,4/21/2021 13:26,male,1,1961,4
-2.9705,2.4875,3.796,2.533,3279,4/21/2021 13:45,female,1,1953,2
-1.80775,1.86033333,1.9104,2.459,3279,4/21/2021 13:45,female,1,1953,2
-1.9345,2.1,1.99083333,2.07375,3280,4/21/2021 13:49,male,1,1951,2
-1.763,1.93466667,2.1716,1.918,3280,4/21/2021 13:51,male,1,1951,2
-2.468,3.5665,3.008,3.928,3281,4/21/2021 13:52,female,1,1949,2
-3.44866667,2.6,2.24833333,3.404,3281,4/21/2021 13:52,female,1,1949,2
-1.0247,1.3338,0.97528571,1.0358,3282,4/21/2021 13:54,male,1,1969,3
-1.2215,1.346625,1.171125,1.09566667,3282,4/21/2021 13:53,male,1,1969,3
-1.003625,0.99375,0.9377,0.90088889,3284,4/21/2021 14:09,female,0,1976,3
-1.05875,1.05955556,1.0208,0.92257143,3284,4/21/2021 14:37,female,0,1976,3
-2.46466667,2.785,2.051,2.01933333,3285,4/21/2021 14:13,male,1,1938,1
-2.731,3.01425,2.12933333,3.607,3285,4/21/2021 14:12,male,1,1938,1
-1.47242857,1.86066667,1.52366667,1.7665,3286,4/21/2021 14:16,female,1,1958,2
-1.823,1.71666667,1.81633333,1.85528571,3286,4/21/2021 14:17,female,1,1958,2
-4.17666667,2.031,3.44133333,2.861,3287,4/21/2021 14:20,female,0,1960,3
-2.22033333,2.53633333,3.461,1.851,3287,4/21/2021 14:19,female,0,1960,3
-1.292,1.162,1.14,1.124,3288,4/21/2021 14:23,male,1,1949,2
-1.361,1.065,0.822,1.619,3288,4/21/2021 14:23,male,1,1949,2
-1.614,1.8325,1.6472,1.79675,3289,4/21/2021 14:44,male,1,1960,1
-1.186,1.121,0.994,0.911,3290,4/21/2021 14:42,female,0,1945,1
-1.6842,1.4502,1.931,2.1105,3291,4/21/2021 14:54,male,1,1960,2
-1.82666667,1.917,1.6995,1.99275,3291,4/21/2021 14:54,male,1,1960,2
-1.212,1.3105,1.162,2.77,3292,4/21/2021 17:47,female,1,1956,1
-1.4466,1.6752,1.253,1.2708,3293,4/21/2021 15:56,female,1,1958,3
-1.37775,1.6398,1.2496,1.856,3293,4/21/2021 15:57,female,1,1958,3
-1.56,2.504,2.0425,1.41533333,3294,4/21/2021 16:11,female,1,1969,3
-1.05188889,1.34442857,0.963875,1.4295,3294,4/21/2021 16:11,female,1,1969,3
-2.165,2.5785,2.24525,2.1065,3295,4/21/2021 16:14,male,1,1969,3
-2.347,1.99166667,1.5652,1.7858,3295,4/21/2021 16:15,male,1,1969,3
-1.854,2.17825,2.20975,2.2085,3296,4/21/2021 16:37,male,0,1954,2
-1.57825,1.47466667,1.945,1.62525,3296,4/21/2021 16:37,male,0,1954,2
-0.91477778,1.39642857,0.89325,1.115,3297,4/21/2021 17:50,male,1,1978,3
-0.77016667,0.764,0.80075,0.83783333,3297,4/21/2021 22:24,male,1,1978,3
-1.594,2.756,2.126,1.95933333,3298,4/21/2021 17:49,male,1,1961,2
-1.14211111,1.2698,0.93266667,0.922625,3298,4/21/2021 22:00,male,1,1961,2
-1.336,1.755,1.52925,1.3756,3299,4/21/2021 18:00,male,1,1947,2
-1.336,1.755,1.52925,1.3756,3299,4/21/2021 18:00,male,1,1947,2
-1.3068,0.94083333,2.5555,1.856,3299,4/21/2021 18:01,male,1,1947,2
-0.94933333,1.176,0.92357143,1.3068,3300,4/21/2021 18:20,male,1,1949,1
-1.03527273,1.126,2.1275,1.3186,3301,4/21/2021 20:25,female,1,1957,2
-1.05714286,0.97516667,1.1098,1.13975,3301,4/21/2021 20:26,female,1,1957,2
-0.9332,1.338,1.42177778,1.2512,3302,4/21/2021 20:38,male,1,1970,3
-1.03066667,1.072,2.68366667,0.95725,3302,4/21/2021 20:39,male,1,1970,3
-0.87369231,0.84316667,1.3795,1.22216667,3303,4/21/2021 20:59,female,1,1976,3
-1.271,0.76414286,0.99542857,0.97081818,3303,4/21/2021 21:00,female,1,1976,3
-0.7185,0.65507143,0.9784,0.96963636,3304,4/21/2021 21:11,female,1,1971,3
-1.31475,0.762,0.637,2.03866667,3304,4/21/2021 21:11,female,1,1971,3
-1.006,1.058,0.82133333,0.776,3305,4/21/2021 19:33,male,1,1960,1
-1.2735,1.036,1.07633333,1.4148,3305,4/21/2021 19:34,male,1,1960,1
-1.4455,1.2485,1.470375,1.49,3306,4/21/2021 18:05,male,1,1978,2
-2.299,2.531,2.11833333,2.719,3306,4/21/2021 21:50,male,1,1978,2
-3.31525,2.743,2.5195,2.75766667,3307,4/21/2021 18:33,female,1,1948,3
-3.2676,2.123,2.2885,2.275,3307,4/21/2021 18:34,female,1,1948,3
-1.16857143,1.16033333,0.96427273,1.3236,3308,4/21/2021 18:46,female,1,1974,4
-1.06475,0.9986,0.982,1.271875,3308,4/21/2021 18:47,female,1,1974,4
-1.3225,1.7155,0.935,1.85671429,3309,4/21/2021 20:38,female,1,1955,2
-0.779,1.0605,1.02175,0.753,3309,4/21/2021 20:39,female,1,1955,2
-1.21383333,1.2095,1.4025,1.53983333,3310,4/21/2021 19:01,male,1,1956,3
-1.05557143,1.04716667,1.06244444,1.46875,3310,4/21/2021 19:01,male,1,1956,3
-0.8115,0.545,1.002,1.308,3311,4/21/2021 19:03,male,1,1972,4
-1.2724,1.24225,1.05045455,1.415,3313,4/21/2021 19:15,male,1,1957,3
-0.801,1.02016667,1.2948,1.584,3313,4/21/2021 19:16,male,1,1957,3
-2.98,3.611,2.16,4.162,3314,4/21/2021 21:58,male,1,1972,2
-20.499,4.017,1.678,3.495,3314,4/21/2021 19:28,male,1,1972,2
-1.703,1.55,1.838,1.753,3315,4/21/2021 19:34,male,1,1959,2
-1.65966667,2.0085,1.7866,1.708,3315,4/21/2021 19:34,male,1,1959,2
-2.986,3.579,2.256,4.339,3316,4/21/2021 19:42,male,1,1961,2
-2.21633333,1.7935,2.031,2.365,3317,4/21/2021 19:47,male,1,1953,2
-1.789,1.7995,1.899,2.4535,3317,4/21/2021 19:47,male,1,1953,2
-0.74842857,0.9666,0.99811111,0.98145455,3318,4/21/2021 19:44,male,0,1978,4
-0.97,0.807875,1.179,0.82944444,3318,4/21/2021 21:52,male,0,1978,4
-1.29142857,1.50516667,1.198,1.7495,3319,4/21/2021 19:52,male,1,1960,3
-1.38,1.50983333,1.39825,1.5508,3319,4/21/2021 19:53,male,1,1960,3
-0.77733333,0.903625,0.87755556,0.75592308,3320,4/21/2021 19:55,female,1,1974,4
-0.76318182,0.98516667,0.97016667,1.04955556,3320,4/21/2021 21:43,female,1,1974,4
-1.33116667,1.3765,1.23133333,1.87933333,3321,4/21/2021 20:08,male,1,1960,3
-1.12385714,0.91175,1.3765,2.0328,3321,4/21/2021 20:08,male,1,1960,3
-0.75557143,0.746,0.71464286,0.7795,3322,4/21/2021 20:13,male,1,1968,2
-2.61225,2.9805,2.19266667,3.1635,3323,4/21/2021 22:08,female,1,1956,2
-3.00166667,3.5495,3.955,2.89033333,3323,4/21/2021 21:10,female,1,1956,2
-0.9118,0.862875,0.75545455,0.83391667,3325,4/21/2021 20:24,male,1,1964,2
-0.69072727,0.832,0.7295,0.72473333,3325,4/21/2021 20:25,male,1,1964,2
-0.90863636,0.76555556,0.81057143,1.21066667,3326,4/21/2021 20:30,male,1,2001,3
-1.55775,0.87928571,1.0622,1.67328571,3326,4/21/2021 20:30,male,1,2001,3
-0.6211,0.54123077,0.52929412,0.48753333,3327,4/21/2021 20:37,female,1,1982,5
-0.56257143,0.54733333,0.624,0.80654545,3327,4/21/2021 20:38,female,1,1982,5
-0.704,0.456,0.863,0.912,3328,4/21/2021 20:50,male,1,2002,4
-0.67133333,0.6915,0.75725,0.54085714,3328,4/21/2021 20:50,male,1,2002,4
-0.94928571,1.202,1.03990909,1.1974,3329,4/21/2021 20:52,female,1,1955,3
-2.1295,1.10433333,1.354,1.57857143,3329,4/21/2021 20:53,female,1,1955,3
-0.60771429,0.5136,0.47873333,0.54791667,3330,4/21/2021 20:51,male,1,1992,5
-0.50609091,0.54058333,0.5354,0.51210526,3330,4/21/2021 20:51,male,1,1992,5
-0.69675,0.7333,0.6324,0.61541667,3331,4/21/2021 21:14,female,1,1970,4
-0.632,0.86228571,0.7224,0.8124,3331,4/21/2021 21:15,female,1,1970,4
-1.1375,1.51175,0.965875,2.952,3332,4/21/2021 21:19,male,1,1952,2
-2.0386,1.998,1.96066667,1.5016,3332,4/21/2021 21:18,male,1,1952,2
-0.48135714,0.497,0.5879,0.52210526,3333,4/21/2021 21:29,male,1,1970,4
-0.5302,0.54281818,0.70033333,0.55388235,3333,4/21/2021 21:30,male,1,1970,4
-1.5095,1.23833333,1.38316667,1.201,3334,4/21/2021 21:38,male,1,1975,3
-1.235375,1.15375,1.28133333,1.1342,3334,4/21/2021 21:37,male,1,1975,3
-1.148,1.10266667,1.18414286,1.14616667,3335,4/21/2021 21:42,male,1,1958,1
-1.720125,1.2902,1.30533333,1.1044,3335,4/21/2021 21:42,male,1,1958,1
-0.63325,0.49772727,0.79663636,0.653,3336,4/21/2021 21:46,female,1,1992,3
-0.608,0.51055556,1.17616667,0.74509091,3336,4/21/2021 21:51,female,1,1992,3
-1.0975,1.14314286,0.89177778,0.9286,3337,4/21/2021 21:48,female,1,1974,4
-0.7714,0.91423077,0.80555556,0.88533333,3337,4/21/2021 21:48,female,1,1974,4
-1.5706,1.31775,1.18775,1.603,3338,4/21/2021 21:56,male,1,1957,2
-1.662,1.501,1.67383333,1.5826,3338,4/21/2021 21:56,male,1,1957,2
-1.28016667,1.22133333,1.22244444,1.23766667,3339,4/21/2021 22:01,female,1,1960,2
-1.28333333,1.20066667,1.46163636,1.2248,3339,4/21/2021 22:01,female,1,1960,2
-1.02771429,0.98744444,0.86144444,0.81957143,3340,4/21/2021 22:00,male,1,1973,3
-0.8795,0.7927,0.8975,0.79566667,3340,4/21/2021 22:00,male,1,1973,3
-1.157,1.38611111,1.23814286,1.3055,3341,4/21/2021 22:11,female,1,1941,1
-1.3102,1.24128571,1.24714286,1.102,3341,4/21/2021 22:12,female,1,1941,1
-1.25371429,1.58,1.14725,1.37814286,3342,4/21/2021 22:16,female,1,1959,2
-1.36375,1.37757143,1.27271429,1.41175,3342,4/21/2021 22:17,female,1,1959,2
-3.577,4.688,3.757,3.14533333,3343,4/21/2021 22:19,female,1,1934,1
-5.55,3.9485,5.124,3.9095,3343,4/21/2021 22:19,female,1,1934,1
-2.008,2.677,3.818,2.22366667,3344,4/21/2021 22:36,male,1,1938,1
-2.038,2.2975,2.39325,2.46333333,3344,4/21/2021 22:37,male,1,1938,1
-2.1315,1.9865,2.239,2.075,3345,4/21/2021 22:35,female,1,1960,2
-2.59866667,3.4915,2.579,2.2575,3345,4/21/2021 22:36,female,1,1960,2
-0.87966667,0.96488889,0.97711111,1.12983333,3346,4/21/2021 22:47,female,1,1997,5
-0.7596,1.0532,1.2176,1.18266667,3346,4/21/2021 22:48,female,1,1997,5
-1.6515,1.4888,1.1972,1.30257143,3347,4/21/2021 22:53,female,1,1975,2
-1.614,1.48483333,1.2578,2.01575,3347,4/21/2021 22:54,female,1,1975,2
-2.46033333,1.513,1.8514,1.33525,3348,4/21/2021 23:09,male,0,2000,3
-4.8855,3.871,3.0325,1.89,3350,4/21/2021 23:12,female,1,1970,2
-0.96022222,1.0474,1.00983333,1.07344444,3351,4/21/2021 23:25,male,1,1955,3
-0.82183333,1.0076,0.88828571,1.05916667,3351,4/21/2021 23:26,male,1,1955,3
-1.27616667,1.263,0.9345,1.52033333,3352,4/21/2021 23:27,male,1,1981,2
-1.4256,1.3458,1.072,1.5354,3352,4/21/2021 23:28,male,1,1981,2
-0.77657143,1.53983333,1.0458,1.20175,3354,4/21/2021 23:30,male,1,1953,2
-1.114,0.89154545,1.058,0.954125,3354,4/21/2021 23:31,male,1,1953,2
-1.209,1.1295,2.2145,1.7334,3355,4/21/2021 23:33,female,1,1977,2
-0.71685714,1.0596,1.367,1.24988889,3355,4/21/2021 23:33,female,1,1977,2
-1.3942,2.5725,2.0176,1.6285,3356,4/21/2021 23:42,male,1,1960,3
-1.81771429,1.1705,1.2005,1.399,3357,4/21/2021 23:49,male,1,1985,3
-2.4145,1.387,1.0365,1.4226,3357,4/21/2021 23:49,male,1,1985,3
-1.60625,1.3365,1.13375,1.4398,3359,4/22/2021 0:15,male,1,1976,2
-1.053,1.15714286,1.289,1.41428571,3359,4/22/2021 0:15,male,1,1976,2
-1.31566667,1.7252,2.2416,1.987,3362,4/22/2021 0:30,male,1,1971,2
-2.4435,2.0468,2.421,1.589,3362,4/22/2021 0:29,male,1,1971,2
-3.26,11.473,9.228,3.125,3364,4/22/2021 0:31,female,1,1955,1
-5.116,4.292,4.449,2.947,3364,4/22/2021 0:31,female,1,1955,1
-1.224375,1.11457143,1.2814,1.32875,3365,4/22/2021 0:36,male,1,1999,4
-1.4465,1.0604,1.032,1.0835,3365,4/22/2021 0:36,male,1,1999,4
-3.149,4.703,3.42,3.8375,3367,4/22/2021 0:49,female,1,1952,1
-3.464,3.33133333,6.379,4.635,3367,4/22/2021 0:49,female,1,1952,1
-1.31033333,1.0256,1.49233333,1.13583333,3368,4/22/2021 0:55,female,0,1975,3
-1.24683333,1.002375,1.4055,1.45183333,3368,4/22/2021 0:54,female,0,1975,3
-0.93825,0.71333333,1.258375,1.2044,3369,4/22/2021 0:58,male,0,1977,3
-0.688,0.96155556,1.433125,1.1114,3369,4/22/2021 0:59,male,0,1977,3
-1.0916,1.13571429,1.497,1.90357143,3370,4/22/2021 1:13,male,1,1951,3
-1.194875,1.293,1.2924,1.307,3370,4/22/2021 1:12,male,1,1951,3
-1.3795,1.794,1.5985,1.6425,3371,4/22/2021 1:17,male,1,1955,3
-0.74776923,0.6496,1.236,0.95733333,3371,4/22/2021 1:17,male,1,1955,3
-1.25557143,1.06071429,1.294,1.064125,3372,4/22/2021 1:33,male,1,1957,3
-1.12111111,1.07414286,1.78175,1.22,3372,4/22/2021 1:32,male,1,1957,3
-0.62516667,0.686,0.6875,5.051,3373,4/22/2021 1:45,female,1,1960,3
-1.492,3.71133333,2.6272,2.108,3375,4/22/2021 15:01,female,1,1948,1
-2.054,2.01916667,1.644,1.7165,3375,4/22/2021 15:02,female,1,1948,1
-0.9765,0.9525,0.71766667,1.052,3376,4/22/2021 15:17,male,1,1968,2
-0.6815,0.69063636,0.60542857,0.68841667,3376,4/22/2021 15:18,male,1,1968,2
-0.70983333,0.66266667,0.6238125,0.57633333,3377,4/22/2021 15:40,female,1,1975,3
-0.7233,0.72508333,0.7304,0.55175,3377,4/22/2021 15:40,female,1,1975,3
-1.05333333,1.115,1.142,1.02983333,3378,4/22/2021 16:26,male,1,1966,2
-1.057,1.02325,1.02088889,1.112,3378,4/22/2021 16:26,male,1,1966,2
-1.02988889,0.80775,0.86811111,0.9495,3379,4/22/2021 21:41,male,1,1955,1
-2.6455,1.3275,1.29166667,2.802,3379,4/22/2021 21:40,male,1,1955,1
-1.02988889,0.80775,0.86811111,0.9495,3379,4/22/2021 21:41,male,1,1955,1
-0.58592308,0.61036364,0.608375,0.76557143,3380,4/23/2021 14:08,female,1,1996,4
-0.68384615,0.59141667,0.7295,0.66833333,3380,4/23/2021 14:09,female,1,1996,4
-0.54618182,0.5883125,0.6212,0.69672727,3381,4/23/2021 14:11,male,1,1968,2
-0.686375,0.55854545,0.751,0.65322222,3381,4/23/2021 14:10,male,1,1968,2
-0.6318125,0.71914286,0.43285714,0.47970833,3382,4/23/2021 14:53,male,1,1958,3
-0.837,1.18,0.74,0.851,3382,4/23/2021 14:54,male,1,1958,3
-0.5977,1.0488,0.604,0.58161538,3383,4/23/2021 15:23,male,1,1961,4
-0.5805,0.657,0.5788,0.965,3383,4/23/2021 15:22,male,1,1961,4
-0.72242857,0.862,0.84909091,0.70575,3384,4/23/2021 18:07,female,1,2000,3
-0.8908125,0.659,0.68814286,0.87657143,3384,4/23/2021 18:08,female,1,2000,3
-0.8335,0.7334,0.82676923,0.68185714,3385,4/23/2021 18:22,male,1,2001,3
-0.668,0.8833,0.76553846,0.63944444,3385,4/23/2021 18:21,male,1,2001,3
-0.60514286,0.549125,0.75116667,0.675,3386,4/23/2021 18:26,female,1,2001,3
-0.53318182,0.7979,0.78118182,0.75588889,3386,4/23/2021 18:31,female,1,2001,3
-0.64383333,0.951375,0.71555556,0.89422222,3387,4/23/2021 18:53,male,1,1948,2
-0.64383333,0.951375,0.71555556,0.89422222,3387,4/23/2021 18:53,male,1,1948,2
-0.81025,0.86766667,0.72636364,0.76066667,3387,4/23/2021 18:52,male,1,1948,2
-1.46266667,0.966,1.0322,0.978,3388,4/23/2021 22:45,female,1,1966,3
-1.0068,0.79407692,1.1528,0.76127273,3388,4/23/2021 22:46,female,1,1966,3
-0.83628571,0.95133333,0.99383333,0.988,3389,4/24/2021 12:50,male,1,1971,2
-0.85233333,0.85757143,0.81891667,1.041875,3389,4/24/2021 12:50,male,1,1971,2
-0.66266667,0.73177778,0.79591667,0.7673,3390,4/24/2021 13:51,male,1,1971,3
-0.934,0.70971429,1.06842857,0.7182,3390,4/24/2021 13:52,male,1,1971,3
-1.448,1.76714286,1.38566667,1.67316667,3392,4/25/2021 15:22,female,1,1959,1
-2.1565,1.87766667,1.71025,1.528,3392,4/25/2021 15:22,female,1,1959,1
-2.0962,2.862,1.7818,1.791,3393,4/26/2021 20:03,male,1,1960,1
-1.908,2.0235,1.7796,1.7,3393,4/26/2021 20:04,male,1,1960,1
-1.831,1.76875,2.42025,1.8465,3394,4/26/2021 20:21,female,1,1961,1
-2.17,2.086,1.93533333,8.36,3394,4/26/2021 20:21,female,1,1961,1
-2.3965,3.377,1.636,2.456,3395,4/26/2021 20:49,female,1,1958,1
-1.5026,1.32875,1.711,1.6992,3395,4/26/2021 20:50,female,1,1958,1
-0.54157143,0.54681818,0.83088889,0.65730769,3409,5/7/2021 19:12,male,1,1995,4
-0.53890909,0.52686667,0.59688889,0.6948,3409,5/7/2021 19:16,male,1,1995,4
-0.5444,0.7144,0.6756,0.8158,3409,5/24/2021 10:19,male,1,1995,4
-0.5546,0.582,0.5576,0.5892,3409,6/2/2021 8:46,male,1,1995,4
-0.5286875,0.46216667,0.64957143,0.657,3409,5/7/2021 19:13,male,1,1995,4
-0.5604,0.5294,0.6098,0.6682,3409,5/21/2021 9:49,male,1,1995,4
-0.535,0.5532,0.6052,0.606,3409,5/27/2021 13:07,male,1,1995,4
-0.589,0.5098,0.5838,0.6448,3409,6/6/2021 15:28,male,1,1995,4
-0.55733333,0.515375,0.58425,0.58684211,3409,5/7/2021 19:14,male,1,1995,4
-0.578,0.5382,0.5942,0.708,3409,5/22/2021 10:44,male,1,1995,4
-0.6122,0.4686,0.577,0.5184,3409,5/31/2021 9:44,male,1,1995,4
-0.5664,0.487,0.6618,0.6904,3409,6/7/2021 10:55,male,1,1995,4
-0.56325,0.6175,0.59053846,0.59545455,3409,5/7/2021 19:15,male,1,1995,4
-0.5444,0.7144,0.6756,0.8158,3409,5/24/2021 10:19,male,1,1995,4
-0.5218,0.7054,0.6142,1.0196,3409,6/1/2021 9:15,male,1,1995,4
-0.848,1.492,0.694,1.59733333,3410,5/7/2021 19:30,male,1,1995,4
-1.135,1.452,0.728,2.27733333,3410,5/7/2021 19:31,male,1,1995,4
-0.95666667,2.0395,2.9205,0.92625,3410,5/7/2021 19:31,male,1,1995,4
-1.16533333,1.1805,0.681,0.89266667,3410,5/7/2021 19:29,male,1,1995,4
-0.76,1.904,1.019,1.176,3410,5/7/2021 19:32,male,1,1995,4
-1.1375,1.06542857,1.98025,1.492,3411,5/7/2021 19:27,male,1,1985,3
-0.81416667,0.92541667,1.1915,0.74322222,3411,5/7/2021 19:30,male,1,1985,3
-0.9332,0.95928571,1.71957143,0.789625,3411,5/7/2021 19:33,male,1,1985,3
-0.88611111,0.84442857,1.38375,0.99416667,3411,5/7/2021 19:28,male,1,1985,3
-0.7162,0.7564,1.036,0.90171429,3411,5/7/2021 19:31,male,1,1985,3
-0.85209091,0.897,1.13455556,0.898,3411,5/7/2021 19:29,male,1,1985,3
-0.799,1.10933333,1.1345,0.9,3411,5/7/2021 19:31,male,1,1985,3
-0.9278,0.87633333,1.35333333,0.79407692,3411,5/7/2021 19:29,male,1,1985,3
-0.64575,0.6688,0.88742857,1.101,3411,5/7/2021 19:32,male,1,1985,3
-0.661875,0.58445455,0.81853846,0.64554545,3412,5/7/2021 19:17,male,1,1994,3
-0.99257143,0.943,1.1558,1.25628571,3412,5/7/2021 19:12,male,1,1994,3
-0.81142857,0.71444444,0.75857143,0.899625,3412,5/7/2021 19:18,male,1,1994,3
-0.830875,0.726,1.08971429,0.723,3412,5/7/2021 19:15,male,1,1994,3
-0.71733333,0.742375,1.003375,0.75418182,3412,5/7/2021 19:17,male,1,1994,3
-0.86883333,0.7056,0.786125,0.6039,3413,5/7/2021 19:23,male,1,1981,3
-0.54822222,0.668,0.6833125,0.584,3413,5/7/2021 19:25,male,1,1981,3
-0.6968,0.8232,0.7674,0.6764,3413,5/26/2021 12:47,male,1,1981,3
-0.766,0.85576923,0.81644444,0.75522222,3413,5/7/2021 19:23,male,1,1981,3
-0.9782,0.932,0.8432,0.9306,3413,5/22/2021 11:33,male,1,1981,3
-0.6904,0.8282,0.69,0.7552,3413,5/27/2021 7:50,male,1,1981,3
-1.1035,0.89366667,1.187125,1.06114286,3413,5/7/2021 19:22,male,1,1981,3
-0.66125,0.90733333,0.78236364,0.66166667,3413,5/7/2021 19:24,male,1,1981,3
-0.7708,0.8118,0.9374,0.9598,3413,5/23/2021 10:18,male,1,1981,3
-0.6498,0.8848,0.6862,0.753,3413,5/28/2021 8:40,male,1,1981,3
-1.0286,0.7475,0.80646154,0.66858333,3413,5/7/2021 19:22,male,1,1981,3
-0.77992308,0.95688889,0.808,0.79642857,3413,5/7/2021 19:25,male,1,1981,3
-0.6674,0.8472,0.7964,0.7086,3413,5/25/2021 8:23,male,1,1981,3
-0.6272,0.5834,0.6668,0.8108,3413,6/3/2021 8:15,male,1,1981,3
-0.7901,0.66109091,0.81654545,0.75528571,3414,5/7/2021 19:11,female,1,1994,3
-0.60963636,0.55992308,0.79955556,0.8722,3414,5/7/2021 19:16,female,1,1994,3
-0.589,0.6836,0.72544444,0.62238462,3414,5/7/2021 19:12,female,1,1994,3
-0.7108,0.7368,0.6974,0.8064,3414,5/22/2021 23:53,female,1,1994,3
-0.65435714,0.628,0.7805,0.83055556,3414,5/7/2021 19:14,female,1,1994,3
-0.62078571,0.61190909,0.7642,0.66622222,3414,5/7/2021 19:15,female,1,1994,3
-0.7488,0.6628,0.6844,0.6404,3415,5/28/2021 6:15,female,1,1994,3
-0.81966667,0.841,0.96128571,0.8338,3415,5/7/2021 19:20,female,1,1994,3
-0.8982,0.4992,0.9364,0.587,3415,5/22/2021 8:34,female,1,1994,3
-0.6334,0.6854,0.6562,0.5914,3415,5/30/2021 15:03,female,1,1994,3
-0.7564,0.893875,0.72742857,0.9837,3415,5/7/2021 19:21,female,1,1994,3
-0.6136,0.6182,0.6918,0.5132,3415,5/23/2021 14:08,female,1,1994,3
-0.6692,0.55,0.6678,0.604,3415,5/31/2021 9:09,female,1,1994,3
-0.86428571,0.76557143,1.42642857,1.02125,3415,5/7/2021 19:15,female,1,1994,3
-0.8375,0.80957143,0.72228571,0.74355556,3415,5/7/2021 19:22,female,1,1994,3
-0.6806,0.563,0.716,0.6878,3415,5/26/2021 16:28,female,1,1994,3
-0.866,0.919,0.8962,0.856,3415,5/7/2021 19:18,female,1,1994,3
-0.6934,0.7424,0.7924,0.5934,3415,5/21/2021 10:16,female,1,1994,3
-0.7292,0.654,0.6684,0.6364,3415,5/27/2021 13:13,female,1,1994,3
-0.723,0.7857,0.714,0.8968,3416,5/7/2021 19:41,male,1,1986,4
-0.6925,0.67858333,0.6677,0.7614,3416,5/7/2021 19:42,male,1,1986,4
-0.714875,0.59711765,0.676,0.65841667,3416,5/7/2021 19:42,male,1,1986,4
-0.79925,0.8269,0.76446667,0.905,3416,5/7/2021 18:34,male,1,1986,4
-0.78536364,0.64783333,0.63963636,0.65166667,3416,5/7/2021 19:43,male,1,1986,4
-0.66676923,0.550625,0.591625,0.80266667,3417,5/7/2021 19:13,female,1,1997,3
-0.5392,0.64866667,0.65733333,0.59257143,3417,5/7/2021 19:16,female,1,1997,3
-0.66954545,0.5865,0.64372727,0.64377778,3417,5/7/2021 19:14,female,1,1997,3
-0.5678,0.653625,0.55594118,0.61966667,3417,5/7/2021 19:14,female,1,1997,3
-0.52388889,0.50417647,0.70636364,0.49322222,3417,5/7/2021 19:15,female,1,1997,3
-0.814,0.879,0.00E+00,0.815,3418,5/21/2021 12:18,male,1,1996,3
-0.00E+00,0.00E+00,0.953,0.00E+00,3418,6/3/2021 6:07,male,1,1996,3
-4.156,0.82,0.778,1.048,3418,5/7/2021 19:37,male,1,1996,3
-0.9085,0.967,0.6555,0.00E+00,3418,5/22/2021 13:22,male,1,1996,3
-0.8,0.00E+00,1.056,1.253,3418,6/5/2021 4:08,male,1,1996,3
-0.988,1.18933333,0.8864,0.8,3418,5/7/2021 19:39,male,1,1996,3
-1.6168,0.9912,1.943,1.1252,3418,5/23/2021 13:06,male,1,1996,3
-0.983,1.6675,1.044,1.096,3418,5/7/2021 19:41,male,1,1996,3
-0.6986,0.7692,0.766,0.9778,3418,6/2/2021 19:10,male,1,1996,3
-0.67723077,0.63883333,0.86357143,0.81544444,3421,5/7/2021 19:35,female,1,1970,2
-1.0828,0.928,0.937,0.8452,3421,6/3/2021 20:54,female,1,1970,2
-1.0762,0.877,0.848,0.7952,3421,6/8/2021 9:19,female,1,1970,2
-0.73744444,0.909,0.85683333,1.097,3421,5/7/2021 19:36,female,1,1970,2
-0.8276,0.6734,0.9844,1.0176,3421,6/5/2021 21:23,female,1,1970,2
-0.9766,1.1498,1.847,1.047,3421,5/22/2021 18:53,female,1,1970,2
-0.9436,0.7254,0.7486,0.797,3421,6/6/2021 21:21,female,1,1970,2
-1.4205,2.13383333,1.381,1.00966667,3421,5/7/2021 19:19,female,1,1970,2
-0.675875,0.80275,0.724,0.9448,3421,5/7/2021 19:35,female,1,1970,2
-0.9386,1.3,1.0908,1.1616,3421,6/2/2021 21:24,female,1,1970,2
-0.6834,0.8402,0.877,1.1844,3421,6/7/2021 21:34,female,1,1970,2
-0.85066667,0.84144444,0.99611111,0.80571429,3421,5/7/2021 19:34,female,1,1970,2
-0.75725,0.734,0.82983333,0.86983333,3423,5/7/2021 19:20,male,1,1994,4
-0.71316667,1.07890909,0.79585714,0.90825,3423,5/7/2021 19:17,male,1,1994,4
-0.62763636,0.65785714,0.80025,0.7328125,3423,5/7/2021 19:20,male,1,1994,4
-0.710375,0.57544444,0.72222222,0.76725,3423,5/7/2021 19:18,male,1,1994,4
-0.75125,0.89316667,0.74885714,0.68881818,3423,5/7/2021 19:19,male,1,1994,4
-0.65290909,0.56257143,0.60146154,0.62909091,3424,5/7/2021 19:28,male,0,1996,3
-0.62726667,0.6325,0.60378571,0.61177778,3424,5/7/2021 19:29,male,0,1996,3
-0.75425,0.812375,0.83433333,0.929,3424,5/7/2021 19:25,male,0,1996,3
-0.63033333,0.62928571,0.54388235,0.6847,3424,5/7/2021 19:31,male,0,1996,3
-0.792375,0.78575,0.70435714,1.2185,3424,5/7/2021 19:27,male,0,1996,3
-1.13357143,1.31,1.12333333,1.5375,3425,5/8/2021 14:56,female,1,1961,3
-1.11290909,1.20066667,1.53833333,1.0575,3425,5/8/2021 14:59,female,1,1961,3
-1.5105,1.615,1.6795,1.176,3425,5/8/2021 14:57,female,1,1961,3
-1.22583333,1.129,1.239875,0.90985714,3425,5/8/2021 15:00,female,1,1961,3
-1.73525,1.42066667,1.2755,1.10966667,3425,5/8/2021 14:58,female,1,1961,3
-1.07925,1.13233333,1.1318,1.14409091,3425,5/8/2021 14:55,female,1,1961,3
-1.011875,1.4556,1.263,0.92136364,3425,5/8/2021 14:58,female,1,1961,3
-1.34971429,1.56875,1.406,2.254,3427,5/8/2021 18:42,female,1,1956,3
-1.1222,1.35925,1.58916667,1.37083333,3427,5/8/2021 18:43,female,1,1956,3
-1.3162,1.41925,1.699,1.8915,3427,5/8/2021 18:40,female,1,1956,3
-1.41166667,1.91875,1.3506,1.6925,3427,5/8/2021 18:43,female,1,1956,3
-2.5385,1.9508,1.4455,1.3455,3427,5/8/2021 18:41,female,1,1956,3
-1.543,1.421,1.424,2.061,3430,5/13/2021 14:41,female,1,1961,2
-1.7685,2.663,1.56575,2.136,3430,5/13/2021 14:43,female,1,1961,2
-5.916,1.18133333,1.252,1.447,3430,5/13/2021 14:44,female,1,1961,2
-1.205,1.314,1.2435,1.472,3430,5/13/2021 14:45,female,1,1961,2
-3.648,1.4035,1.47,1.31775,3430,5/13/2021 14:40,female,1,1961,2
-3.891,0.755,1.6275,2.04533333,3432,5/17/2021 10:50,male,1,1963,5
-1.1336,0.986,2.5702,1.603,3432,5/25/2021 7:50,male,1,1963,5
-0.647,0.724,0.6206,0.667,3432,6/4/2021 8:08,male,1,1963,5
-14.865,1.179,1.9935,0.8475,3432,5/20/2021 10:09,male,1,1963,5
-0.982,1.0694,0.8354,1.0042,3432,5/26/2021 9:25,male,1,1963,5
-0.7074,0.7916,0.7204,0.6868,3432,6/5/2021 22:47,male,1,1963,5
-0.928,0.895,0.95966667,1.183,3432,5/24/2021 9:34,male,1,1963,5
-0.808,0.7542,0.7288,0.8232,3432,5/27/2021 7:46,male,1,1963,5
-0.7078,0.84,0.59333333,0.6854,3432,6/6/2021 11:17,male,1,1963,5
-1.1336,0.986,2.5702,1.603,3432,5/25/2021 7:50,male,1,1963,5
-0.7114,0.6754,0.7606,0.8602,3432,6/3/2021 9:14,male,1,1963,5
-0.709125,0.71366667,0.65575,0.66058333,3433,5/14/2021 20:47,male,1,1998,4
-0.8036,0.595,0.8186,0.6288,3434,5/21/2021 7:57,male,1,1994,3
-0.581,0.6032,0.6642,0.6072,3434,6/8/2021 7:56,male,1,1994,3
-0.6232,0.6474,0.7688,0.7044,3434,5/22/2021 7:24,male,1,1994,3
-0.722,0.546,0.6,0.665,3434,6/9/2021 7:30,male,1,1994,3
-0.5538,0.6646,0.6092,0.6144,3434,5/23/2021 10:41,male,1,1994,3
-0.7328,0.6454,0.677,0.6676,3434,6/10/2021 7:27,male,1,1994,3
-1.0146,0.6026,0.6274,0.6656,3434,6/7/2021 7:27,male,1,1994,3
-0.7696,0.722,0.9338,0.8274,3436,5/23/2021 11:09,female,1,1996,3
-0.7834,0.825,0.6854,0.755,3436,6/12/2021 16:40,female,1,1996,3
-0.9272,0.6134,1.0006,0.887,3436,6/8/2021 12:34,female,1,1996,3
-0.7296,0.682,0.7002,0.8692,3436,6/10/2021 15:00,female,1,1996,3
-0.7558,0.7398,1.142,0.8756,3436,5/22/2021 10:56,female,1,1996,3
-0.637,0.6392,0.8296,0.6748,3436,6/11/2021 16:59,female,1,1996,3
-0.9322,1.028,0.9634,1.0462,3438,5/26/2021 11:28,female,1,1960,3
-0.8382,1.0526,1.0344,0.9728,3438,5/26/2021 10:59,female,1,1960,3
-0.9766,1.0038,1.0116,1.1188,3438,5/26/2021 13:48,female,1,1960,3
-1.048,1.1256,1.0402,0.928,3438,5/26/2021 11:06,female,1,1960,3
-0.9952,1.061,0.9022,1.0962,3438,5/26/2021 11:15,female,1,1960,3
-1.3054,1.5776,1.4596,1.5104,3439,5/31/2021 12:57,female,1,1958,3
-1.8622,1.4938,1.2122,1.4592,3439,5/31/2021 13:00,female,1,1958,3
-1.7296,1.6836,1.3422,1.7904,3439,5/31/2021 12:46,female,1,1958,3
-1.2986,0.9482,1.1842,1.4522,3439,5/31/2021 13:02,female,1,1958,3
-1.3054,1.5776,1.4596,1.5104,3439,5/31/2021 12:57,female,1,1958,3
-1.2042,1.2842,1.5832,1.3438,3440,6/3/2021 11:14,male,1,1955,2
-1.1534,1.1816,1.2214,1.4284,3440,6/3/2021 11:29,male,1,1955,2
-1.1694,1.1986,1.2624,1.2174,3440,6/3/2021 13:40,male,1,1955,2
-1.1876,1.2404,1.0726,1.1168,3440,6/3/2021 9:33,male,1,1955,2
-1.228,1.3282,1.4682,1.337,3440,6/3/2021 13:49,male,1,1955,2
-1.7686,1.7162,1.556,1.6696,3441,6/6/2021 15:31,male,1,1959,1
-1.35,1.4212,1.428,1.5102,3441,6/6/2021 15:33,male,1,1959,1
-1.4488,1.5732,1.5886,1.3106,3441,6/6/2021 15:31,male,1,1959,1
-1.3528,1.3226,1.462,1.2804,3441,6/6/2021 15:34,male,1,1959,1
-1.5362,1.3658,1.5052,1.5484,3441,6/6/2021 15:32,male,1,1959,1
-1.323,1.2904,1.189,1.2956,3441,6/6/2021 15:33,male,1,1959,1
-5.3436,4.0946,3.2526,5.0188,3444,6/4/2021 21:24,male,1,1959,1
-2.5784,2.522,2.7282,2.7788,3445,6/4/2021 22:24,male,1,1958,1
-1.1572,1.775,1.9046,1.5914,3446,6/6/2021 13:45,male,1,1958,3
-1.1378,1.3772,1.9064,1.01,3446,6/6/2021 14:05,male,1,1958,3
-1.3084,1.076,1.2222,2.5686,3446,6/6/2021 14:02,male,1,1958,3
-1.1978,1.3692,1.3396,0.986,3446,6/6/2021 14:03,male,1,1958,3
-1.0454,2.2322,1.3892,0.8694,3446,6/6/2021 14:04,male,1,1958,3
-1.3034,1.3226,1.3532,1.1862,3447,6/7/2021 12:37,male,1,1953,3
-1.2438,1.218,1.2912,1.199,3447,6/7/2021 12:35,male,1,1953,3
-1.2734,1.1316,1.3564,1.2892,3447,6/7/2021 12:38,male,1,1953,3
-1.1348,1.2886,1.1342,1.265,3447,6/7/2021 12:36,male,1,1953,3
-1.1964,1.2754,1.299,1.2686,3447,6/7/2021 12:36,male,1,1953,3
-0.68,1.0448,0.7488,0.8398,3448,6/8/2021 10:22,male,1,1960,3
-0.7584,0.8176,1.0976,1.1856,3448,6/8/2021 10:22,male,1,1960,3
-1.4716,1.6444,1.2524,1.4552,3448,6/8/2021 10:21,male,1,1960,3
-0.8192,1.0816,1.1088,0.5552,3448,6/8/2021 10:23,male,1,1960,3
-0.939,1.4344,1.3562,1.409,3448,6/8/2021 10:21,male,1,1960,3
-0.7232,1.11175,0.6208,1.1136,3449,6/8/2021 11:17,female,1,1959,3
-0.8,1.79933333,0.8154,0.9864,3449,6/8/2021 11:56,female,1,1959,3
-0.9018,1.2248,0.9128,1.3276,3449,6/8/2021 11:56,female,1,1959,3
-1.0396,1.364,0.958,1.1146,3449,6/8/2021 11:16,female,1,1959,3
-1.1614,1.2182,0.7568,1.113,3449,6/8/2021 11:57,female,1,1959,3
-1.3086,1.4116,1.2974,1.2128,3450,6/11/2021 8:36,female,1,1959,3
-0.6414,1.0366,0.8142,0.9758,3450,6/11/2021 8:38,female,1,1959,3
-1.0832,1.2176,0.9932,1.094,3450,6/11/2021 8:36,female,1,1959,3
-1.051,1.0448,1.2332,1.3438,3450,6/11/2021 8:37,female,1,1959,3
-0.8982,1.1144,1.1116,1.0814,3450,6/11/2021 8:37,female,1,1959,3
-0.7346,0.6836,0.9658,0.9098,3453,6/24/2021 8:32,male,1,1990,4
-0.9146,0.8366,0.7562,0.8352,3453,6/21/2021 14:09,male,1,1990,4
-0.6144,0.7612,0.7432,0.716,3453,6/25/2021 12:35,male,1,1990,4
-0.726,0.7042,0.6618,0.6264,3453,6/22/2021 8:38,male,1,1990,4
-0.7562,1.1188,0.545,0.5814,3453,6/26/2021 11:22,male,1,1990,4
-0.6874,0.662,0.7174,0.905,3453,6/23/2021 7:45,male,1,1990,4
-0.7906,0.8926,0.7244,1.1148,3453,6/27/2021 15:03,male,1,1990,4
-1.22825,1.592,1.13925,1.37766667,3454,6/27/2021 11:44,male,1,1991,3
-2.36,2.4208,2.564,1.822,3455,6/29/2021 15:14,female,1,1960,1
-2.1704,1.5394,1.8284,1.6858,3456,6/29/2021 15:27,male,1,1958,2
-2.5528,2.5938,2.7084,2.0998,3457,6/29/2021 15:41,female,1,1959,1
-3.1008,1.795,1.6702,1.9114,3458,6/29/2021 15:56,male,1,1960,3
-0.8972,1.0564,1.237,1.233,3461,9/9/2021 18:23,male,1,1992,3
diff --git a/dbrepo-identifier-service/rest-service/src/test/resources/csv/testdata.csv b/dbrepo-identifier-service/rest-service/src/test/resources/csv/testdata.csv
deleted file mode 100644
index f747eb5bd6..0000000000
--- a/dbrepo-identifier-service/rest-service/src/test/resources/csv/testdata.csv
+++ /dev/null
@@ -1,1001 +0,0 @@
-id;Date;Location;MinTemp;MaxTemp;Rainfall
-1;2008-12-01;Albury;13.4;22.9;0.6
-2;2008-12-02;Albury;7.4;25.1;0
-3;2008-12-03;Albury;12.9;25.7;0
-4;2008-12-04;Albury;9.2;28;0
-5;2008-12-05;Albury;17.5;32.3;1
-6;2008-12-06;Albury;14.6;29.7;0.2
-7;2008-12-07;Albury;14.3;25;0
-8;2008-12-08;Albury;7.7;26.7;0
-9;2008-12-09;Albury;9.7;31.9;0
-10;2008-12-10;Albury;13.1;30.1;1.4
-11;2008-12-11;Albury;13.4;30.4;0
-12;2008-12-12;Albury;15.9;21.7;2.2
-13;2008-12-13;Albury;15.9;18.6;15.6
-14;2008-12-14;Albury;12.6;21;3.6
-15;2008-12-15;Albury;8.4;24.6;0
-16;2008-12-16;Albury;9.8;27.7;NA
-17;2008-12-17;Albury;14.1;20.9;0
-18;2008-12-18;Albury;13.5;22.9;16.8
-19;2008-12-19;Albury;11.2;22.5;10.6
-20;2008-12-20;Albury;9.8;25.6;0
-21;2008-12-21;Albury;11.5;29.3;0
-22;2008-12-22;Albury;17.1;33;0
-23;2008-12-23;Albury;20.5;31.8;0
-24;2008-12-24;Albury;15.3;30.9;0
-25;2008-12-25;Albury;12.6;32.4;0
-26;2008-12-26;Albury;16.2;33.9;0
-27;2008-12-27;Albury;16.9;33;0
-28;2008-12-28;Albury;20.1;32.7;0
-29;2008-12-29;Albury;19.7;27.2;0
-30;2008-12-30;Albury;12.5;24.2;1.2
-31;2008-12-31;Albury;12;24.4;0.8
-32;2009-01-01;Albury;11.3;26.5;0
-33;2009-01-02;Albury;9.6;23.9;0
-34;2009-01-03;Albury;10.5;28.8;0
-35;2009-01-04;Albury;12.3;34.6;0
-36;2009-01-05;Albury;12.9;35.8;0
-37;2009-01-06;Albury;13.7;37.9;0
-38;2009-01-07;Albury;16.1;38.9;0
-39;2009-01-08;Albury;14;28.3;0
-40;2009-01-09;Albury;12.5;28.4;0
-41;2009-01-10;Albury;17;30.8;0
-42;2009-01-11;Albury;16.9;32;0
-43;2009-01-12;Albury;17.3;34.7;0
-44;2009-01-13;Albury;17.2;37.7;0
-45;2009-01-14;Albury;17.4;43;0
-46;2009-01-15;Albury;19.8;32.7;0
-47;2009-01-16;Albury;14.9;26.7;0
-48;2009-01-17;Albury;10.5;28.4;0
-49;2009-01-18;Albury;11.3;32.2;0
-50;2009-01-19;Albury;13.9;36.6;0
-51;2009-01-20;Albury;18.6;39.9;0
-52;2009-01-21;Albury;19.3;38.1;0.8
-53;2009-01-22;Albury;24.4;34;0.6
-54;2009-01-23;Albury;18.8;35.2;6.4
-55;2009-01-24;Albury;20.8;30.6;0
-56;2009-01-25;Albury;14;34.3;0
-57;2009-01-26;Albury;15.7;38.4;0
-58;2009-01-27;Albury;18.5;38.2;0
-59;2009-01-28;Albury;20.4;40.7;0
-60;2009-01-29;Albury;21.8;41.5;0
-61;2009-01-30;Albury;22.3;42.9;0
-62;2009-01-31;Albury;22;42.7;0
-63;2009-02-01;Albury;28;43.1;0
-64;2009-02-02;Albury;24.4;38.3;0.2
-65;2009-02-03;Albury;21.5;37.7;0
-66;2009-02-04;Albury;21.7;36.9;0
-67;2009-02-05;Albury;21.5;41.2;0
-68;2009-02-06;Albury;23.5;42.2;0
-69;2009-02-07;Albury;22.3;44.8;0
-70;2009-02-08;Albury;28.3;40.2;0
-71;2009-02-09;Albury;18.4;31.2;0.4
-72;2009-02-10;Albury;14.9;27.3;0
-73;2009-02-11;Albury;13.5;26.7;0
-74;2009-02-12;Albury;16.1;21.6;0
-75;2009-02-13;Albury;14.6;29;3
-76;2009-02-14;Albury;12.4;29.2;0
-77;2009-02-15;Albury;13.3;31.3;0
-78;2009-02-16;Albury;17.2;31.1;0
-79;2009-02-17;Albury;12.5;28.8;0
-80;2009-02-18;Albury;18;32;0
-81;2009-02-19;Albury;16.2;34;0
-82;2009-02-20;Albury;18.7;29.1;0
-83;2009-02-21;Albury;13.7;31.7;0
-84;2009-02-22;Albury;15.5;33.2;0
-85;2009-02-23;Albury;14.3;34;0
-86;2009-02-24;Albury;12.9;29.6;0
-87;2009-02-25;Albury;8.9;31.9;0
-88;2009-02-26;Albury;15;32.7;0
-89;2009-02-27;Albury;15.4;32.6;0
-90;2009-02-28;Albury;16;34.5;0
-91;2009-03-01;Albury;12.8;30.3;0
-92;2009-03-02;Albury;13.2;31.9;0
-93;2009-03-03;Albury;18;31.1;0
-94;2009-03-04;Albury;13.8;22.1;0.2
-95;2009-03-05;Albury;11.5;22;0
-96;2009-03-06;Albury;7.6;24;0
-97;2009-03-07;Albury;8.3;27.9;0
-98;2009-03-08;Albury;11;30.2;0
-99;2009-03-09;Albury;13.8;31.8;0
-100;2009-03-10;Albury;15.5;32;0
-101;2009-03-11;Albury;18.4;30.5;1.2
-102;2009-03-12;Albury;20.9;25.7;0
-103;2009-03-13;Albury;17.1;25.8;5.8
-104;2009-03-14;Albury;16.4;27;3
-105;2009-03-15;Albury;10;19.7;11.6
-106;2009-03-16;Albury;8.8;21.9;0
-107;2009-03-17;Albury;8.4;25.3;0
-108;2009-03-18;Albury;9.3;28;0
-109;2009-03-19;Albury;11.3;30.1;0
-110;2009-03-20;Albury;11.5;33.5;0
-111;2009-03-21;Albury;13.8;33.6;0
-112;2009-03-22;Albury;14.6;30;0
-113;2009-03-23;Albury;14.4;31.6;0
-114;2009-03-24;Albury;10.8;31.9;0
-115;2009-03-25;Albury;15.4;22.3;0.4
-116;2009-03-26;Albury;13.3;29.8;1.8
-117;2009-03-27;Albury;10.1;27.6;0
-118;2009-03-28;Albury;9.1;28.9;0
-119;2009-03-29;Albury;10.4;31.2;0
-120;2009-03-30;Albury;13.4;30.4;0
-121;2009-03-31;Albury;12.3;29.9;0
-122;2009-04-01;Albury;12.2;30.6;0
-123;2009-04-02;Albury;14.3;32.1;0
-124;2009-04-03;Albury;18.4;28.1;8.6
-125;2009-04-04;Albury;10.7;21.4;12.6
-126;2009-04-05;Albury;7.8;21.7;0
-127;2009-04-06;Albury;8.1;21.4;0
-128;2009-04-07;Albury;7.5;22.5;0
-129;2009-04-08;Albury;8.2;24;0
-130;2009-04-09;Albury;8.1;25.7;0
-131;2009-04-10;Albury;11.6;26.7;0
-132;2009-04-11;Albury;13;24.9;8.4
-133;2009-04-12;Albury;13.5;24.2;6.2
-134;2009-04-13;Albury;9.9;25.4;0
-135;2009-04-14;Albury;12.2;25;0
-136;2009-04-15;Albury;10.7;21.9;0
-137;2009-04-16;Albury;3.5;20;0
-138;2009-04-17;Albury;6.6;21.6;0
-139;2009-04-18;Albury;7;23.4;0
-140;2009-04-19;Albury;11.2;23.9;0
-141;2009-04-20;Albury;7.4;22;0
-142;2009-04-21;Albury;5.7;21.4;0
-143;2009-04-22;Albury;6.2;22.7;0
-144;2009-04-23;Albury;6;22.9;0
-145;2009-04-24;Albury;10.6;16.2;0
-146;2009-04-25;Albury;12.9;15.8;20
-147;2009-04-26;Albury;8.6;12.9;21
-148;2009-04-27;Albury;4.5;11.5;3.2
-149;2009-04-28;Albury;7.6;14.5;4.8
-150;2009-04-29;Albury;5.4;12.2;0
-151;2009-04-30;Albury;2.1;16.5;0
-152;2009-05-01;Albury;1.8;17;0
-153;2009-05-02;Albury;7.2;19.2;0
-154;2009-05-03;Albury;4.6;18.9;0
-155;2009-05-04;Albury;4.2;19.1;0
-156;2009-05-05;Albury;5.2;18.8;0
-157;2009-05-06;Albury;4.1;19.3;0
-158;2009-05-07;Albury;3.2;18.4;0
-159;2009-05-08;Albury;4.3;19;0
-160;2009-05-09;Albury;3.7;20.5;0
-161;2009-05-10;Albury;5.4;19.5;0
-162;2009-05-11;Albury;4.3;17.7;0
-163;2009-05-12;Albury;3.6;18.5;0
-164;2009-05-13;Albury;3.6;15.1;0
-165;2009-05-14;Albury;6.9;16.3;0
-166;2009-05-15;Albury;10.3;16.6;0
-167;2009-05-16;Albury;12.4;16.4;1.8
-168;2009-05-17;Albury;3;15.6;0
-169;2009-05-18;Albury;2.6;19.7;0
-170;2009-05-19;Albury;3.7;19.1;0
-171;2009-05-20;Albury;5.1;18.6;0
-172;2009-05-21;Albury;4.4;19.8;0
-173;2009-05-22;Albury;4.7;19.8;0
-174;2009-05-23;Albury;6.2;22.9;0
-175;2009-05-24;Albury;6.7;21.1;0
-176;2009-05-25;Albury;9.3;20.3;0
-177;2009-05-26;Albury;11.6;18.1;4.2
-178;2009-05-27;Albury;8;16.2;0.8
-179;2009-05-28;Albury;2.6;15.7;0
-180;2009-05-29;Albury;2.2;16.5;0
-181;2009-05-30;Albury;2.2;16.8;0
-182;2009-05-31;Albury;1.7;17.1;0
-183;2009-06-01;Albury;8;14.3;1.2
-184;2009-06-02;Albury;8.4;13.4;1.4
-185;2009-06-03;Albury;10.6;14.3;4.8
-186;2009-06-04;Albury;8.9;17.4;8
-187;2009-06-05;Albury;2.8;16.1;0
-188;2009-06-06;Albury;1.7;10.5;0.2
-189;2009-06-07;Albury;4.7;11.6;14.4
-190;2009-06-08;Albury;9;12;4.6
-191;2009-06-09;Albury;6.3;8.8;2
-192;2009-06-10;Albury;3;10.5;5.6
-193;2009-06-11;Albury;-2;9.6;0
-194;2009-06-12;Albury;-1.3;8.2;0
-195;2009-06-13;Albury;1.8;12.4;0
-196;2009-06-14;Albury;2;15.8;0
-197;2009-06-15;Albury;0.5;14.9;0.4
-198;2009-06-16;Albury;1.2;17.7;0
-199;2009-06-17;Albury;0.6;15.9;0
-200;2009-06-18;Albury;0.5;14.7;0
-201;2009-06-19;Albury;0.5;15.3;0
-202;2009-06-20;Albury;0.9;17.3;0
-203;2009-06-21;Albury;7;17;1.6
-204;2009-06-22;Albury;5;14.9;5.6
-205;2009-06-23;Albury;3.9;15.5;0
-206;2009-06-24;Albury;7.7;14.1;6
-207;2009-06-25;Albury;4.7;12.2;0
-208;2009-06-26;Albury;6.9;13.7;4.4
-209;2009-06-27;Albury;8.4;11.9;0
-210;2009-06-28;Albury;9.3;12.3;5.4
-211;2009-06-29;Albury;8.2;15.7;3.6
-212;2009-06-30;Albury;9.1;16.1;2
-213;2009-07-01;Albury;8.3;13.3;8.4
-214;2009-07-02;Albury;8.8;11.6;5
-215;2009-07-03;Albury;7.6;12;7.8
-216;2009-07-04;Albury;5.7;13.2;0
-217;2009-07-05;Albury;3.4;12.4;0
-218;2009-07-06;Albury;0;12.1;0
-219;2009-07-07;Albury;-1.5;12.5;0
-220;2009-07-08;Albury;-1.7;13.8;0
-221;2009-07-09;Albury;-0.4;15;0.2
-222;2009-07-10;Albury;0.1;13.5;0
-223;2009-07-11;Albury;4.8;13.3;0.6
-224;2009-07-12;Albury;8.1;16.5;0.6
-225;2009-07-13;Albury;5.9;13.1;1
-226;2009-07-14;Albury;6.9;11;6.8
-227;2009-07-15;Albury;2.9;12.6;1.8
-228;2009-07-16;Albury;-0.6;13.4;0
-229;2009-07-17;Albury;-0.3;14.4;0.2
-230;2009-07-18;Albury;-1;12;0
-231;2009-07-19;Albury;3.2;14.1;0.6
-232;2009-07-20;Albury;3.6;16.5;0.2
-233;2009-07-21;Albury;0.8;17.7;0
-234;2009-07-22;Albury;6.6;12.3;0
-235;2009-07-23;Albury;6;13.5;9.8
-236;2009-07-24;Albury;-0.1;12.9;0
-237;2009-07-25;Albury;-0.3;12.2;0
-238;2009-07-26;Albury;2.1;9.8;0
-239;2009-07-27;Albury;1.3;8.8;0
-240;2009-07-28;Albury;4.2;12.7;3.8
-241;2009-07-29;Albury;8.3;13.2;2.4
-242;2009-07-30;Albury;3.3;12.1;0.2
-243;2009-07-31;Albury;6.5;14.5;5.2
-244;2009-08-01;Albury;7.4;13.9;0.2
-245;2009-08-02;Albury;7.5;14.1;0.8
-246;2009-08-03;Albury;8.3;13.8;0.8
-247;2009-08-04;Albury;3.2;14.7;0
-248;2009-08-05;Albury;5.7;13.8;5.4
-249;2009-08-06;Albury;5.1;17.1;0.4
-250;2009-08-07;Albury;8;13.9;0.8
-251;2009-08-08;Albury;-0.8;12.9;4.2
-252;2009-08-09;Albury;-1;12.2;0
-253;2009-08-10;Albury;1.9;14.8;0.2
-254;2009-08-11;Albury;5.9;17.7;0.4
-255;2009-08-12;Albury;6.9;14.3;4.8
-256;2009-08-13;Albury;7.7;11.6;0.2
-257;2009-08-14;Albury;6.8;15.2;1.2
-258;2009-08-15;Albury;2.7;17.5;0.2
-259;2009-08-16;Albury;5.1;15.5;1.6
-260;2009-08-17;Albury;4.2;13.6;3.2
-261;2009-08-18;Albury;0.6;15.6;0
-262;2009-08-19;Albury;1.6;16.4;0
-263;2009-08-20;Albury;5.5;18.4;0
-264;2009-08-21;Albury;7.3;14.8;1
-265;2009-08-22;Albury;0.2;14.1;6.6
-266;2009-08-23;Albury;5.8;18.9;3.8
-267;2009-08-24;Albury;8.9;17.1;1.2
-268;2009-08-25;Albury;7.1;12.8;2
-269;2009-08-26;Albury;4.2;14.4;3.6
-270;2009-08-27;Albury;1.1;16.7;0.4
-271;2009-08-28;Albury;1.1;18.6;0
-272;2009-08-29;Albury;7.2;17.9;4.2
-273;2009-08-30;Albury;6.3;11.1;13.4
-274;2009-08-31;Albury;6.7;14.2;1.4
-275;2009-09-01;Albury;5.1;14.2;3
-276;2009-09-02;Albury;1;16.8;0
-277;2009-09-03;Albury;6.1;20.7;0
-278;2009-09-04;Albury;6.3;16.9;1.4
-279;2009-09-05;Albury;2.1;15;0
-280;2009-09-06;Albury;1.6;16.6;0
-281;2009-09-07;Albury;8.3;17.6;0
-282;2009-09-08;Albury;5.7;16.5;0
-283;2009-09-09;Albury;7.5;14.3;0
-284;2009-09-10;Albury;2.6;NA;0
-285;2009-09-11;Albury;NA;18.8;NA
-286;2009-09-12;Albury;6.5;24.7;0
-287;2009-09-13;Albury;13.2;25.1;0
-288;2009-09-14;Albury;4.3;17.8;0
-289;2009-09-15;Albury;1.6;17.2;0
-290;2009-09-16;Albury;2.8;21.1;0
-291;2009-09-17;Albury;6.3;19;0
-292;2009-09-18;Albury;7.4;20.4;10.2
-293;2009-09-19;Albury;5.4;20.6;0
-294;2009-09-20;Albury;8;18.9;0.4
-295;2009-09-21;Albury;3.7;19;0.2
-296;2009-09-22;Albury;11.5;20.2;8.4
-297;2009-09-23;Albury;9.3;16.8;28.8
-298;2009-09-24;Albury;8.2;18.2;1.4
-299;2009-09-25;Albury;5.3;20.6;0
-300;2009-09-26;Albury;6.8;12.2;6
-301;2009-09-27;Albury;4.5;12.9;1.6
-302;2009-09-28;Albury;5.5;17.9;0
-303;2009-09-29;Albury;1.7;17;0
-304;2009-09-30;Albury;4;21.4;0
-305;2009-10-01;Albury;8.9;21.1;0
-306;2009-10-02;Albury;11.7;22;0
-307;2009-10-03;Albury;8.5;13.5;3.2
-308;2009-10-04;Albury;9.6;16.2;1.8
-309;2009-10-05;Albury;8.3;19.7;0.2
-310;2009-10-06;Albury;5.2;16.2;0
-311;2009-10-07;Albury;3.8;15.9;3.6
-312;2009-10-08;Albury;1.2;16.3;0
-313;2009-10-09;Albury;3.2;18.2;0
-314;2009-10-10;Albury;4.6;19;0
-315;2009-10-11;Albury;6.4;18.7;0
-316;2009-10-12;Albury;5.8;23.3;0
-317;2009-10-13;Albury;6.6;17.7;2
-318;2009-10-14;Albury;9.5;15.1;7
-319;2009-10-15;Albury;9.7;15.7;1.4
-320;2009-10-16;Albury;4.1;16.6;6.8
-321;2009-10-17;Albury;4.6;19.2;0
-322;2009-10-18;Albury;5.1;20.3;0
-323;2009-10-19;Albury;5.1;22.7;0
-324;2009-10-20;Albury;6.9;26.6;0
-325;2009-10-21;Albury;8.8;27.1;0
-326;2009-10-22;Albury;9.1;27.1;0
-327;2009-10-23;Albury;8.1;23.9;0
-328;2009-10-24;Albury;7.4;25.4;0
-329;2009-10-25;Albury;10.6;23.1;0
-330;2009-10-26;Albury;10.8;22;0
-331;2009-10-27;Albury;5.9;24.1;0
-332;2009-10-28;Albury;11.3;26.8;0
-333;2009-10-29;Albury;14.5;26.9;0
-334;2009-10-30;Albury;13.7;29.1;0
-335;2009-10-31;Albury;15.6;30.8;0
-336;2009-11-01;Albury;17.8;34;0
-337;2009-11-02;Albury;18.7;32.4;0
-338;2009-11-03;Albury;18.7;24.3;0
-339;2009-11-04;Albury;10;23.2;0
-340;2009-11-05;Albury;6.6;25.3;0
-341;2009-11-06;Albury;10.8;27.9;0
-342;2009-11-07;Albury;11.3;29.8;0
-343;2009-11-08;Albury;13.5;31.8;0
-344;2009-11-09;Albury;15.4;33.4;0
-345;2009-11-10;Albury;15.9;35.2;0
-346;2009-11-11;Albury;17.1;36;0
-347;2009-11-12;Albury;16.7;35.1;0
-348;2009-11-13;Albury;18.1;32.8;0
-349;2009-11-14;Albury;13.4;35.4;0
-350;2009-11-15;Albury;17.2;36.3;0
-351;2009-11-16;Albury;15.3;35.1;0
-352;2009-11-17;Albury;12.1;30.5;0
-353;2009-11-18;Albury;11.4;33.5;0
-354;2009-11-19;Albury;18.6;39.7;0
-355;2009-11-20;Albury;15.3;38.2;0
-356;2009-11-21;Albury;19.3;21;10.6
-357;2009-11-22;Albury;18.3;28.3;25.8
-358;2009-11-23;Albury;11.9;23.6;0.4
-359;2009-11-24;Albury;12.8;25.8;0
-360;2009-11-25;Albury;17.2;32.9;0
-361;2009-11-26;Albury;21;34.5;0
-362;2009-11-27;Albury;15.9;26.2;10.2
-363;2009-11-28;Albury;17.1;26.4;0
-364;2009-11-29;Albury;12.8;22.3;9.4
-365;2009-11-30;Albury;13.2;23.9;2.4
-366;2009-12-01;Albury;12.3;23.6;0
-367;2009-12-02;Albury;10.6;27;0
-368;2009-12-03;Albury;11.4;31.5;0
-369;2009-12-04;Albury;12.3;27.5;0
-370;2009-12-05;Albury;10.7;26.7;0
-371;2009-12-06;Albury;11.1;30.7;0
-372;2009-12-07;Albury;13.4;31.9;0
-373;2009-12-08;Albury;18.2;24.9;0
-374;2009-12-09;Albury;9.2;25.4;1.2
-375;2009-12-10;Albury;14.2;27.4;0
-376;2009-12-11;Albury;9.2;22.6;1
-377;2009-12-12;Albury;9;26.5;0
-378;2009-12-13;Albury;11.8;29.6;0
-379;2009-12-14;Albury;13.6;32;0
-380;2009-12-15;Albury;13.1;34.7;0
-381;2009-12-16;Albury;14.6;38.6;0
-382;2009-12-17;Albury;14.5;40.3;0
-383;2009-12-18;Albury;12.2;26.4;3
-384;2009-12-19;Albury;11.1;29.2;0
-385;2009-12-20;Albury;12;31.3;0
-386;2009-12-21;Albury;12.7;33.7;0
-387;2009-12-22;Albury;15.1;36.6;0
-388;2009-12-23;Albury;18.1;38.2;0
-389;2009-12-24;Albury;22.9;34.6;0
-390;2009-12-25;Albury;18.8;28.3;9.8
-391;2009-12-26;Albury;17.1;31.3;0
-392;2009-12-27;Albury;17.6;27.3;0
-393;2009-12-28;Albury;17.8;35.9;0
-394;2009-12-29;Albury;18.7;35.9;0
-395;2009-12-30;Albury;19.8;36.8;0
-396;2009-12-31;Albury;21.1;33.2;0
-397;2010-01-01;Albury;19.4;31.9;5
-398;2010-01-02;Albury;18.6;29.1;12.4
-399;2010-01-03;Albury;12.2;29.7;0
-400;2010-01-04;Albury;14.8;32.8;0
-401;2010-01-05;Albury;15;35.8;0
-402;2010-01-06;Albury;16.3;33.8;0
-403;2010-01-07;Albury;15;33;0
-404;2010-01-08;Albury;17.4;36.4;0
-405;2010-01-09;Albury;19.6;39.8;0
-406;2010-01-10;Albury;20.6;42.2;0
-407;2010-01-11;Albury;21;42.2;0
-408;2010-01-12;Albury;24.5;42.4;0.2
-409;2010-01-13;Albury;22.6;28.4;0.4
-410;2010-01-14;Albury;15.7;31.7;3
-411;2010-01-15;Albury;17.2;36.3;0
-412;2010-01-16;Albury;21.8;36.6;0
-413;2010-01-17;Albury;16.8;25.6;0
-414;2010-01-18;Albury;10.5;22.6;0
-415;2010-01-19;Albury;8.7;25.2;0
-416;2010-01-20;Albury;11;32.9;0
-417;2010-01-21;Albury;15.4;37.3;0
-418;2010-01-22;Albury;19.2;41.8;0
-419;2010-01-23;Albury;24.7;35.4;0
-420;2010-01-24;Albury;14.4;33.7;0
-421;2010-01-25;Albury;14.3;35.8;0
-422;2010-01-26;Albury;15.1;35.9;0
-423;2010-01-27;Albury;17.7;36.4;0
-424;2010-01-28;Albury;15.2;34.4;0
-425;2010-01-29;Albury;16;35.2;0
-426;2010-01-30;Albury;18.9;36.5;0
-427;2010-01-31;Albury;21.7;36.3;0
-428;2010-02-01;Albury;21;38.2;0
-429;2010-02-02;Albury;17.8;34.3;8.6
-430;2010-02-03;Albury;17.9;35.6;0
-431;2010-02-04;Albury;23.5;32;0
-432;2010-02-05;Albury;19.2;26.1;52.2
-433;2010-02-06;Albury;19.5;30.3;5.6
-434;2010-02-07;Albury;20.3;33.9;0
-435;2010-02-08;Albury;23;34;0
-436;2010-02-09;Albury;22.1;35.1;0
-437;2010-02-10;Albury;21.7;35.6;NA
-438;2010-02-11;Albury;21.5;35;0
-439;2010-02-12;Albury;22.5;29.1;NA
-440;2010-02-13;Albury;20.8;27.1;0
-441;2010-02-14;Albury;20.5;30.3;0
-442;2010-02-15;Albury;17.8;26.8;0
-443;2010-02-16;Albury;17.6;29;0
-444;2010-02-17;Albury;15.5;30.6;0
-445;2010-02-18;Albury;NA;31.2;NA
-446;2010-02-19;Albury;16.4;30.3;0
-447;2010-02-20;Albury;15.7;31.8;0
-448;2010-02-21;Albury;19.6;34.7;0.6
-449;2010-02-22;Albury;20.2;26.4;3.6
-450;2010-02-23;Albury;12.5;26.1;0.2
-451;2010-02-24;Albury;12.8;28.5;0
-452;2010-02-25;Albury;15;31;0
-453;2010-02-26;Albury;17.2;NA;0
-454;2010-02-27;Albury;NA;26.3;NA
-455;2010-02-28;Albury;18.2;29.3;1.4
-456;2010-03-01;Albury;14.4;NA;0
-457;2010-03-02;Albury;11.2;28.5;NA
-458;2010-03-03;Albury;12.5;31.2;0
-459;2010-03-04;Albury;15.1;NA;0
-460;2010-03-05;Albury;NA;22.3;0
-461;2010-03-06;Albury;18.8;30.3;20.6
-462;2010-03-07;Albury;18.3;22.9;5.8
-463;2010-03-08;Albury;18.1;25.5;66
-464;2010-03-09;Albury;15.7;22.4;6.2
-465;2010-03-10;Albury;8.8;NA;0
-466;2010-03-11;Albury;12.3;24.4;NA
-467;2010-03-12;Albury;10.6;25;0
-468;2010-03-13;Albury;11.5;25.7;0
-469;2010-03-14;Albury;12.2;26.3;0
-470;2010-03-15;Albury;13.2;26.6;0
-471;2010-03-16;Albury;12.5;28.6;0
-472;2010-03-17;Albury;13.3;29.6;0
-473;2010-03-18;Albury;15.1;30.4;0
-474;2010-03-19;Albury;14.9;31.4;0
-475;2010-03-20;Albury;16.7;31.9;0
-476;2010-03-21;Albury;16.8;25.6;0
-477;2010-03-22;Albury;9.1;25.3;0
-478;2010-03-23;Albury;8.3;27;0
-479;2010-03-24;Albury;10.5;28.8;0
-480;2010-03-25;Albury;11.6;29.6;0
-481;2010-03-26;Albury;12.6;30;0
-482;2010-03-27;Albury;15.6;30.2;0
-483;2010-03-28;Albury;17.2;28.7;0
-484;2010-03-29;Albury;18.2;26.3;11
-485;2010-03-30;Albury;16.5;26.9;0.4
-486;2010-03-31;Albury;13.4;26.1;0
-487;2010-04-01;Albury;11.6;25.8;0
-488;2010-04-02;Albury;10;25.1;0
-489;2010-04-03;Albury;12.4;24.8;0
-490;2010-04-04;Albury;12.5;24.8;0
-491;2010-04-05;Albury;10.3;25.3;0
-492;2010-04-06;Albury;10.6;24.7;0
-493;2010-04-07;Albury;15.7;23.4;3
-494;2010-04-08;Albury;13.5;23.1;3.2
-495;2010-04-09;Albury;10.1;21.9;0
-496;2010-04-10;Albury;14.1;18.6;0.2
-497;2010-04-11;Albury;14.2;18.7;7
-498;2010-04-12;Albury;5.6;17.4;0
-499;2010-04-13;Albury;4.6;19.9;0
-500;2010-04-14;Albury;5.1;21.9;0
-501;2010-04-15;Albury;6.1;23.5;0
-502;2010-04-16;Albury;7.7;24.7;0
-503;2010-04-17;Albury;8.5;25.4;0
-504;2010-04-18;Albury;10.1;25.1;0
-505;2010-04-19;Albury;11.2;25.9;0
-506;2010-04-20;Albury;11.8;25.2;0
-507;2010-04-21;Albury;12.3;27.5;0
-508;2010-04-22;Albury;11.4;27.3;0
-509;2010-04-23;Albury;11.3;29;0
-510;2010-04-24;Albury;15.4;19.8;3.6
-511;2010-04-25;Albury;10.8;18.5;17
-512;2010-04-26;Albury;5.1;17.9;0
-513;2010-04-27;Albury;7.1;16.1;0
-514;2010-04-28;Albury;9.7;17.3;1.6
-515;2010-04-29;Albury;10.5;17.7;0.4
-516;2010-04-30;Albury;5.6;19.1;0
-517;2010-05-01;Albury;5.9;21.1;0.2
-518;2010-05-02;Albury;4.8;20.7;0
-519;2010-05-03;Albury;6.8;23;0
-520;2010-05-04;Albury;8;25.3;0.2
-521;2010-05-05;Albury;8.9;14.5;3
-522;2010-05-06;Albury;7.1;15.3;0
-523;2010-05-07;Albury;5.7;17.5;0
-524;2010-05-08;Albury;9.6;19.3;0
-525;2010-05-09;Albury;5.7;19.5;0
-526;2010-05-10;Albury;5;19.8;0
-527;2010-05-11;Albury;3;15.6;0
-528;2010-05-12;Albury;1.3;14.9;0
-529;2010-05-13;Albury;1;17.1;0
-530;2010-05-14;Albury;3.1;17.7;0.2
-531;2010-05-15;Albury;2.2;18.4;0
-532;2010-05-16;Albury;1.7;17.5;0
-533;2010-05-17;Albury;4.5;17;0
-534;2010-05-18;Albury;1.6;19.7;0
-535;2010-05-19;Albury;1.4;18.5;0
-536;2010-05-20;Albury;2.1;16.5;0
-537;2010-05-21;Albury;1.7;17.9;0
-538;2010-05-22;Albury;1.1;17.1;0
-539;2010-05-23;Albury;0.9;18.1;0
-540;2010-05-24;Albury;5.2;16.3;0
-541;2010-05-25;Albury;10.2;14.9;10.4
-542;2010-05-26;Albury;8.4;19;13.4
-543;2010-05-27;Albury;5.7;16.6;0.2
-544;2010-05-28;Albury;6.4;17;0
-545;2010-05-29;Albury;9.4;15;28
-546;2010-05-30;Albury;8.8;20.2;5.8
-547;2010-05-31;Albury;10.7;19.1;0
-548;2010-06-01;Albury;4.2;16.6;0
-549;2010-06-02;Albury;4.3;17.7;0
-550;2010-06-03;Albury;3.4;17.7;0
-551;2010-06-04;Albury;3.1;18.4;0
-552;2010-06-05;Albury;1.7;10.2;0
-553;2010-06-06;Albury;5;15.8;0
-554;2010-06-07;Albury;0.4;14;0
-555;2010-06-08;Albury;3.1;12.2;0
-556;2010-06-09;Albury;5.3;8.4;0
-557;2010-06-10;Albury;4.9;12.9;2.4
-558;2010-06-11;Albury;7.2;13.2;0
-559;2010-06-12;Albury;0;13.3;0
-560;2010-06-13;Albury;-1;13.1;0
-561;2010-06-14;Albury;-2;13.2;0
-562;2010-06-15;Albury;-0.3;12.8;0
-563;2010-06-16;Albury;1.5;15.5;0
-564;2010-06-17;Albury;7.4;16.2;11.6
-565;2010-06-18;Albury;3;12.2;2.2
-566;2010-06-19;Albury;6.9;15.2;1.8
-567;2010-06-20;Albury;3.6;13.1;0
-568;2010-06-21;Albury;5;12.5;0.4
-569;2010-06-22;Albury;3;14.8;0
-570;2010-06-23;Albury;3.5;16.5;0
-571;2010-06-24;Albury;3.4;17;0
-572;2010-06-25;Albury;7;16.1;0
-573;2010-06-26;Albury;6.2;12.1;10.2
-574;2010-06-27;Albury;0.6;11.9;0.2
-575;2010-06-28;Albury;-0.6;8.3;0
-576;2010-06-29;Albury;2.3;9.4;0
-577;2010-06-30;Albury;5.1;9.8;0.2
-578;2010-07-01;Albury;3.2;11.9;1.2
-579;2010-07-02;Albury;0.2;10.9;0.2
-580;2010-07-03;Albury;1;10.3;0
-581;2010-07-04;Albury;1.5;10.8;0
-582;2010-07-05;Albury;1.8;12.1;0.2
-583;2010-07-06;Albury;2.3;13.9;5.6
-584;2010-07-07;Albury;1.5;13.5;0
-585;2010-07-08;Albury;2.1;14.8;0.4
-586;2010-07-09;Albury;0;14.6;0
-587;2010-07-10;Albury;1.5;16.1;0
-588;2010-07-11;Albury;5;15.4;13.4
-589;2010-07-12;Albury;3.5;15.3;0.2
-590;2010-07-13;Albury;3.5;16.3;0
-591;2010-07-14;Albury;6.2;10;21.4
-592;2010-07-15;Albury;3.4;12.2;11
-593;2010-07-16;Albury;0.6;13.1;0
-594;2010-07-17;Albury;-0.4;11.5;0
-595;2010-07-18;Albury;0.7;12.8;0
-596;2010-07-19;Albury;5;13.5;1.6
-597;2010-07-20;Albury;0.5;11.6;0.2
-598;2010-07-21;Albury;0.6;12.9;0
-599;2010-07-22;Albury;-0.5;13.8;0
-600;2010-07-23;Albury;0.1;15.7;0
-601;2010-07-24;Albury;1;14.6;0
-602;2010-07-25;Albury;2.5;14.3;0.2
-603;2010-07-26;Albury;1.9;14.9;0.2
-604;2010-07-27;Albury;-1.2;15;0.2
-605;2010-07-28;Albury;2.1;12.6;0
-606;2010-07-29;Albury;5.8;14.8;6.2
-607;2010-07-30;Albury;8.9;14.9;0
-608;2010-07-31;Albury;7.5;12.3;2.2
-609;2010-08-01;Albury;7.5;10.1;4.2
-610;2010-08-02;Albury;5.4;14.7;18.6
-611;2010-08-03;Albury;1.2;15.7;0
-612;2010-08-04;Albury;1.2;9.6;0
-613;2010-08-05;Albury;NA;11.8;NA
-614;2010-08-06;Albury;0.7;12.6;0.2
-615;2010-08-07;Albury;-0.6;13.1;0.2
-616;2010-08-08;Albury;-1.3;12.6;0
-617;2010-08-09;Albury;0.3;15.5;0
-618;2010-08-10;Albury;4.4;16;7.2
-619;2010-08-11;Albury;7.2;10.4;8.2
-620;2010-08-12;Albury;4.5;14.9;10.8
-621;2010-08-13;Albury;1.6;15;0
-622;2010-08-14;Albury;3.2;13;0
-623;2010-08-15;Albury;7.2;12.1;1.8
-624;2010-08-16;Albury;6.4;11.8;10.2
-625;2010-08-17;Albury;-1;12.1;3.8
-626;2010-08-18;Albury;1.3;11.8;0.2
-627;2010-08-19;Albury;5;15.1;15.4
-628;2010-08-20;Albury;4.5;11.7;2
-629;2010-08-21;Albury;6.3;12.9;0
-630;2010-08-22;Albury;2.1;15.3;0.2
-631;2010-08-23;Albury;4.1;12.8;0.2
-632;2010-08-24;Albury;6.4;13.3;1.8
-633;2010-08-25;Albury;4.2;10.7;1.8
-634;2010-08-26;Albury;5.4;11.8;9.6
-635;2010-08-27;Albury;6.8;13.4;4
-636;2010-08-28;Albury;0.9;14.4;0
-637;2010-08-29;Albury;1.9;15.2;0
-638;2010-08-30;Albury;2.3;15.4;0
-639;2010-08-31;Albury;2.9;14.2;0
-640;2010-09-01;Albury;7.1;15.1;0
-641;2010-09-02;Albury;10;16.8;0.8
-642;2010-09-03;Albury;7.1;17.6;0
-643;2010-09-04;Albury;10.1;17.7;21.8
-644;2010-09-05;Albury;9.8;14.2;20.8
-645;2010-09-06;Albury;6.8;12.8;2.4
-646;2010-09-07;Albury;2.3;15.1;1.2
-647;2010-09-08;Albury;1.7;15.9;0
-648;2010-09-09;Albury;7.2;14.7;0
-649;2010-09-10;Albury;8.1;14;24.8
-650;2010-09-11;Albury;2.6;15.9;3.2
-651;2010-09-12;Albury;4.5;16.3;0
-652;2010-09-13;Albury;6;18.7;0.4
-653;2010-09-14;Albury;5.8;19;0
-654;2010-09-15;Albury;5.5;13.6;0
-655;2010-09-16;Albury;7.5;13.4;0
-656;2010-09-17;Albury;4.3;14.3;0.2
-657;2010-09-18;Albury;3.3;13.9;0
-658;2010-09-19;Albury;2.4;16.4;0
-659;2010-09-20;Albury;2.8;18.7;0
-660;2010-09-21;Albury;5;19.6;0
-661;2010-09-22;Albury;8.6;20.1;0
-662;2010-09-23;Albury;5.7;19.9;0
-663;2010-09-24;Albury;3.7;19.1;0
-664;2010-09-25;Albury;5.6;19.7;0
-665;2010-09-26;Albury;5.4;20.6;0
-666;2010-09-27;Albury;6.5;20;0
-667;2010-09-28;Albury;5.4;14.6;0
-668;2010-09-29;Albury;3.7;14.3;0
-669;2010-09-30;Albury;-0.1;14.6;0
-670;2010-10-01;Albury;4.1;17.4;0
-671;2010-10-02;Albury;4.8;21.1;0
-672;2010-10-03;Albury;7.4;23;0
-673;2010-10-04;Albury;8.2;23.2;0
-674;2010-10-05;Albury;10.1;25.9;0
-675;2010-10-06;Albury;11.1;24.9;0
-676;2010-10-07;Albury;7.3;15.9;10
-677;2010-10-08;Albury;4.2;19;0
-678;2010-10-09;Albury;5.4;20.8;0
-679;2010-10-10;Albury;8.2;23.2;0
-680;2010-10-11;Albury;7.6;23.7;0
-681;2010-10-12;Albury;14.5;19.9;0.8
-682;2010-10-13;Albury;14.7;18;11.4
-683;2010-10-14;Albury;12.7;19.1;19
-684;2010-10-15;Albury;13.8;18.6;22.2
-685;2010-10-16;Albury;4.8;12.8;32.8
-686;2010-10-17;Albury;6.3;15.4;0
-687;2010-10-18;Albury;9.2;17.4;0
-688;2010-10-19;Albury;4.8;19;0
-689;2010-10-20;Albury;5.7;21.8;0
-690;2010-10-21;Albury;8;23.3;0
-691;2010-10-22;Albury;9.5;25.8;0
-692;2010-10-23;Albury;14.8;19;0.4
-693;2010-10-24;Albury;8.2;22.2;2.4
-694;2010-10-25;Albury;10.9;22.2;0
-695;2010-10-26;Albury;8.8;23.5;0
-696;2010-10-27;Albury;10.2;22.3;1.6
-697;2010-10-28;Albury;8.8;23.6;0
-698;2010-10-29;Albury;10.3;25.6;0
-699;2010-10-30;Albury;16;19.5;3.4
-700;2010-10-31;Albury;13.8;18.7;50.8
-701;2010-11-01;Albury;10.2;18.9;1.2
-702;2010-11-02;Albury;7.1;20.3;0
-703;2010-11-03;Albury;10.7;18;0
-704;2010-11-04;Albury;10.1;18.8;0
-705;2010-11-05;Albury;11.1;21;0
-706;2010-11-06;Albury;7.5;22.9;0
-707;2010-11-07;Albury;9.3;24.5;0
-708;2010-11-08;Albury;14.7;24.7;2.2
-709;2010-11-09;Albury;11.6;27.7;0
-710;2010-11-10;Albury;15.5;29;0
-711;2010-11-11;Albury;15.2;30.5;0.6
-712;2010-11-12;Albury;17.5;31.3;0
-713;2010-11-13;Albury;21.1;26.9;0
-714;2010-11-14;Albury;19.2;22.6;52.6
-715;2010-11-15;Albury;15.9;23.1;2.4
-716;2010-11-16;Albury;11.4;20.8;0
-717;2010-11-17;Albury;8.8;23.3;0
-718;2010-11-18;Albury;9.1;24.8;0
-719;2010-11-19;Albury;12.1;25.5;0
-720;2010-11-20;Albury;12;27.3;0
-721;2010-11-21;Albury;12.7;29.7;0
-722;2010-11-22;Albury;14.7;29.9;0
-723;2010-11-23;Albury;14.8;29.4;0
-724;2010-11-24;Albury;18.1;30.1;0
-725;2010-11-25;Albury;18.9;27.6;0
-726;2010-11-26;Albury;17.9;24.2;4
-727;2010-11-27;Albury;14.8;27.6;19.2
-728;2010-11-28;Albury;17.8;21.4;18.8
-729;2010-11-29;Albury;13.6;22.6;14.8
-730;2010-11-30;Albury;14.4;23.3;1.6
-731;2010-12-01;Albury;16.7;23.9;12
-732;2010-12-02;Albury;16.1;26.6;0.6
-733;2010-12-03;Albury;15.7;27.3;18.4
-734;2010-12-04;Albury;17.3;29.9;1.2
-735;2010-12-05;Albury;16.6;31.6;0
-736;2010-12-06;Albury;18.9;30.4;0
-737;2010-12-07;Albury;21.3;29.8;0
-738;2010-12-08;Albury;20.3;29.7;3.2
-739;2010-12-09;Albury;18;26.7;25.6
-740;2010-12-10;Albury;16.7;22.5;0
-741;2010-12-11;Albury;11.2;24.3;0
-742;2010-12-12;Albury;15;22.2;0
-743;2010-12-13;Albury;10.5;26.2;0
-744;2010-12-14;Albury;13.7;28.8;0
-745;2010-12-15;Albury;16.1;31.1;0
-746;2010-12-16;Albury;15.1;25.6;0.4
-747;2010-12-17;Albury;10.3;25.9;0
-748;2010-12-18;Albury;14;20.8;1
-749;2010-12-19;Albury;10.4;18;3
-750;2010-12-20;Albury;8.6;20.5;6.2
-751;2010-12-21;Albury;9.9;21.2;1.6
-752;2010-12-22;Albury;9.4;25.9;0
-753;2010-12-23;Albury;12.3;29.2;0
-754;2010-12-24;Albury;13.9;30.8;0
-755;2010-12-25;Albury;19.3;29.1;0
-756;2010-12-26;Albury;17.5;30;1
-757;2010-12-27;Albury;11.3;22.2;0
-758;2010-12-28;Albury;9.1;26.7;0
-759;2010-12-29;Albury;13.5;31;0
-760;2010-12-30;Albury;14.8;34;0
-761;2010-12-31;Albury;15.7;38.1;0
-762;2011-01-01;Albury;23.2;35.8;0
-763;2011-01-02;Albury;20.1;31.1;0.6
-764;2011-01-03;Albury;13.6;29.4;0
-765;2011-01-04;Albury;13.9;29.2;0
-766;2011-01-05;Albury;16;28.9;0
-767;2011-01-06;Albury;16.5;31.6;0
-768;2011-01-07;Albury;16.1;30.7;0
-769;2011-01-08;Albury;17.8;32;0
-770;2011-01-09;Albury;20.1;33;0
-771;2011-01-10;Albury;20.1;32;35
-772;2011-01-11;Albury;21.6;26.4;1.4
-773;2011-01-12;Albury;21.5;28.9;5
-774;2011-01-13;Albury;22.1;30.6;14.2
-775;2011-01-14;Albury;24;25.5;2.4
-776;2011-01-15;Albury;19.9;31.4;13.8
-777;2011-01-16;Albury;18.5;33.7;0
-778;2011-01-17;Albury;19.8;26.9;0
-779;2011-01-18;Albury;12.9;27.2;0
-780;2011-01-19;Albury;12.9;29.3;0
-781;2011-01-20;Albury;16.1;31.9;0
-782;2011-01-21;Albury;17.8;32.5;0
-783;2011-01-22;Albury;19.8;34.6;0
-784;2011-01-23;Albury;20.7;31.4;0
-785;2011-01-24;Albury;19.8;30.6;0
-786;2011-01-25;Albury;14.9;32;0
-787;2011-01-26;Albury;21.1;34.4;0
-788;2011-01-27;Albury;14.3;31.6;0
-789;2011-01-28;Albury;12.6;32.3;0
-790;2011-01-29;Albury;14.5;32;0
-791;2011-01-30;Albury;16.7;35.4;0
-792;2011-01-31;Albury;19.9;38.2;0
-793;2011-02-01;Albury;20.5;39.8;0
-794;2011-02-02;Albury;21.9;33.7;0
-795;2011-02-03;Albury;21.9;36;3.4
-796;2011-02-04;Albury;22.5;28.2;2.6
-797;2011-02-05;Albury;20.4;23;99.2
-798;2011-02-06;Albury;14.7;21.5;51
-799;2011-02-07;Albury;10.8;25.5;0
-800;2011-02-08;Albury;13.4;27.3;0
-801;2011-02-09;Albury;15;29.4;0
-802;2011-02-10;Albury;17;29.7;0
-803;2011-02-11;Albury;19.8;24.8;39.8
-804;2011-02-12;Albury;18.7;28.5;28.2
-805;2011-02-13;Albury;15.1;28.6;0
-806;2011-02-14;Albury;14.5;29.2;0
-807;2011-02-15;Albury;16.4;28;0
-808;2011-02-16;Albury;18.9;22;0.2
-809;2011-02-17;Albury;18.9;29.2;5.8
-810;2011-02-18;Albury;19.3;30.7;0
-811;2011-02-19;Albury;21.7;29;12.2
-812;2011-02-20;Albury;16.7;25.7;12.8
-813;2011-02-21;Albury;10.1;22.5;0
-814;2011-02-22;Albury;12.3;25.2;0
-815;2011-02-23;Albury;12.6;28;0.2
-816;2011-02-24;Albury;13.9;29.2;0
-817;2011-02-25;Albury;16.5;29.8;0
-818;2011-02-26;Albury;15.6;30.9;0
-819;2011-02-27;Albury;19.6;24.8;0.2
-820;2011-02-28;Albury;17.9;30;11.8
-821;2011-03-01;Albury;16;22.8;0
-822;2011-03-02;Albury;8.8;23.4;0
-823;2011-03-03;Albury;8.4;22.3;0
-824;2011-03-04;Albury;8.6;22.1;0
-825;2011-03-05;Albury;11.5;25;0
-826;2011-03-06;Albury;9.6;25.3;0
-827;2011-03-07;Albury;10.6;26.6;0
-828;2011-03-08;Albury;11.4;28.7;0
-829;2011-03-09;Albury;16.8;27;0
-830;2011-03-10;Albury;18.7;20.8;13.4
-831;2011-03-11;Albury;16.8;27;10.2
-832;2011-03-12;Albury;17.2;28.2;0.6
-833;2011-03-13;Albury;19.6;29.3;0.6
-834;2011-03-14;Albury;18.2;26.9;19.8
-835;2011-03-15;Albury;16.3;28.4;0.2
-836;2011-03-16;Albury;17.1;28.2;0.4
-837;2011-03-17;Albury;12.1;25.9;0.2
-838;2011-03-18;Albury;12.8;26.3;0
-839;2011-03-19;Albury;13.3;27.4;0
-840;2011-03-20;Albury;13.9;28.1;0
-841;2011-03-21;Albury;18.2;25.9;0
-842;2011-03-22;Albury;18.6;26.8;0
-843;2011-03-23;Albury;16.3;20.1;0
-844;2011-03-24;Albury;13.9;22;8
-845;2011-03-25;Albury;13.3;22.1;0
-846;2011-03-26;Albury;9.6;24.2;0
-847;2011-03-27;Albury;9.8;23;0
-848;2011-03-28;Albury;10.2;24.7;0
-849;2011-03-29;Albury;11.5;25.7;0
-850;2011-03-30;Albury;12.3;25.8;0
-851;2011-03-31;Albury;7.2;22.1;0.2
-852;2011-05-01;Albury;8.7;20.4;0
-853;2011-05-02;Albury;12.3;22.3;0
-854;2011-05-03;Albury;9;21.9;0
-855;2011-05-04;Albury;6.7;19;0.6
-856;2011-05-05;Albury;4.4;18.1;0.2
-857;2011-05-06;Albury;2.8;16.8;0
-858;2011-05-07;Albury;3.4;15.9;0
-859;2011-05-08;Albury;2.1;16.8;0
-860;2011-05-09;Albury;3.8;16.1;0
-861;2011-05-10;Albury;1.1;15.2;0
-862;2011-05-11;Albury;3;11;3.6
-863;2011-05-12;Albury;0.2;10.1;0.4
-864;2011-05-13;Albury;3.8;14.1;5
-865;2011-05-14;Albury;3.8;14.3;1.8
-866;2011-05-15;Albury;-0.7;13.7;0
-867;2011-05-16;Albury;0.8;11.2;0
-868;2011-05-17;Albury;0.5;15.8;0
-869;2011-05-18;Albury;2.3;17.9;0
-870;2011-05-19;Albury;2.7;16;0
-871;2011-05-20;Albury;4.5;18.6;0
-872;2011-05-21;Albury;3.3;20.5;0
-873;2011-05-22;Albury;5.8;22;0
-874;2011-05-23;Albury;10.2;15;17.4
-875;2011-05-24;Albury;8.9;15.6;3.6
-876;2011-05-25;Albury;3.1;14.7;0
-877;2011-05-26;Albury;1.3;14.9;0
-878;2011-05-27;Albury;1.9;13.8;0
-879;2011-05-28;Albury;2.6;13.9;0
-880;2011-05-29;Albury;2.5;14.8;0
-881;2011-05-30;Albury;3.6;15.9;0
-882;2011-05-31;Albury;2.8;19.4;0
-883;2011-06-01;Albury;3.1;19.8;0
-884;2011-06-02;Albury;2.9;17.6;0
-885;2011-06-03;Albury;4.3;18.3;0
-886;2011-06-04;Albury;8.5;14.8;8.8
-887;2011-06-05;Albury;2.2;12;0
-888;2011-06-06;Albury;4.9;12.8;2
-889;2011-06-07;Albury;-0.5;9.8;0
-890;2011-06-08;Albury;1.5;10.2;2.6
-891;2011-06-09;Albury;2.9;14.6;0
-892;2011-06-10;Albury;-1.1;14;0
-893;2011-06-11;Albury;-1.4;13.9;0
-894;2011-06-12;Albury;1;16.1;0.2
-895;2011-06-13;Albury;-0.3;15.9;0
-896;2011-06-14;Albury;1.7;16.7;0
-897;2011-06-15;Albury;0.5;16.9;0
-898;2011-06-16;Albury;1;16.1;0
-899;2011-06-17;Albury;3;12.6;1
-900;2011-06-18;Albury;5.7;12.5;0.2
-901;2011-06-19;Albury;3.3;11.8;0
-902;2011-06-20;Albury;7.6;14.6;3.6
-903;2011-06-21;Albury;6.6;11.6;10.6
-904;2011-06-22;Albury;5.9;11.1;0.6
-905;2011-06-23;Albury;6.2;14.2;3.4
-906;2011-06-24;Albury;2.9;13.1;0
-907;2011-06-25;Albury;5.5;15.5;0.4
-908;2011-06-26;Albury;3.2;15.7;0
-909;2011-06-27;Albury;0.9;16.4;0
-910;2011-06-28;Albury;-0.2;15.2;0
-911;2011-06-29;Albury;0.9;16.6;0
-912;2011-06-30;Albury;0.3;15.2;0
-913;2011-07-01;Albury;0.3;14.1;0
-914;2011-07-02;Albury;0.2;15.2;0
-915;2011-07-03;Albury;2.9;14.8;0
-916;2011-07-04;Albury;6.3;14.8;15.4
-917;2011-07-05;Albury;6.9;11.2;3.8
-918;2011-07-06;Albury;7;10.8;1.2
-919;2011-07-07;Albury;6.8;11.2;4.4
-920;2011-07-08;Albury;-0.5;8.3;0
-921;2011-07-09;Albury;4.3;9.2;4.2
-922;2011-07-10;Albury;6.4;11;0
-923;2011-07-11;Albury;4.7;11.8;6.6
-924;2011-07-12;Albury;5.7;10.5;0
-925;2011-07-13;Albury;7.1;9.8;0
-926;2011-07-14;Albury;-0.3;12.6;4
-927;2011-07-15;Albury;-1.6;12.1;0
-928;2011-07-16;Albury;0.2;14.1;0
-929;2011-07-17;Albury;5.3;11.1;0
-930;2011-07-18;Albury;8.4;11;8.8
-931;2011-07-19;Albury;0.4;14.5;1.8
-932;2011-07-20;Albury;0.3;16.7;0.2
-933;2011-07-21;Albury;3.5;17.2;0
-934;2011-07-22;Albury;6.9;15.6;0
-935;2011-07-23;Albury;0.1;14.6;0
-936;2011-07-24;Albury;1.6;9.3;0.2
-937;2011-07-25;Albury;5.5;13.2;16.2
-938;2011-07-26;Albury;4.1;14.1;2.2
-939;2011-07-27;Albury;0.5;14.5;0
-940;2011-07-28;Albury;0.2;13.1;0
-941;2011-07-29;Albury;-1.4;14.7;0
-942;2011-07-30;Albury;0.6;16.1;0.2
-943;2011-07-31;Albury;4.9;14.7;1
-944;2011-08-01;Albury;3.4;19;0
-945;2011-08-02;Albury;6.5;20.6;0
-946;2011-08-03;Albury;3.9;21.5;0.2
-947;2011-08-04;Albury;7.1;22.9;0
-948;2011-08-05;Albury;5.6;20.7;0
-949;2011-08-06;Albury;9.9;12.9;14.6
-950;2011-08-07;Albury;5.3;11.1;4.2
-951;2011-08-08;Albury;7.1;12.3;8.2
-952;2011-08-09;Albury;3.1;10.1;1.2
-953;2011-08-10;Albury;6.3;10.9;3.6
-954;2011-08-11;Albury;3.4;16.8;2.8
-955;2011-08-12;Albury;1.6;16.3;0
-956;2011-08-13;Albury;0.7;13.4;0
-957;2011-08-14;Albury;4.3;17.3;0
-958;2011-08-15;Albury;3.9;13.8;1.2
-959;2011-08-16;Albury;9;19.4;0.2
-960;2011-08-17;Albury;7.1;12.6;5.6
-961;2011-08-18;Albury;7.4;10.8;30.8
-962;2011-08-19;Albury;6.9;19.3;0.8
-963;2011-08-20;Albury;3.2;17.3;0
-964;2011-08-21;Albury;2.1;18;0
-965;2011-08-22;Albury;1.8;17.7;0
-966;2011-08-23;Albury;2.5;16.9;0
-967;2011-08-24;Albury;2.4;17.5;0
-968;2011-08-25;Albury;2.5;20.7;0
-969;2011-08-26;Albury;1.9;16.6;0
-970;2011-08-27;Albury;0.8;16.8;0
-971;2011-08-28;Albury;0.4;16.2;0
-972;2011-08-29;Albury;1.4;15.9;0
-973;2011-08-30;Albury;0.6;15.7;0
-974;2011-08-31;Albury;0.4;15.8;0
-975;2011-09-01;Albury;2.6;18.3;0
-976;2011-09-02;Albury;2.8;20.4;0
-977;2011-09-03;Albury;2.6;19.6;0
-978;2011-09-04;Albury;6.5;16.8;0
-979;2011-09-05;Albury;4.8;21.4;3.2
-980;2011-09-06;Albury;10.8;18.8;5
-981;2011-09-07;Albury;-0.1;14.4;1
-982;2011-09-08;Albury;0.4;15.9;0
-983;2011-09-09;Albury;2.7;14;0
-984;2011-09-10;Albury;4;NA;0.2
-985;2011-09-11;Albury;NA;NA;NA
-986;2011-09-12;Albury;NA;NA;NA
-987;2011-09-13;Albury;NA;15.8;NA
-988;2011-09-14;Albury;0.9;20.8;NA
-989;2011-09-15;Albury;1.7;17.2;0
-990;2011-09-16;Albury;4.4;20.8;0
-991;2011-09-17;Albury;3.7;21.7;0
-992;2011-09-18;Albury;5.5;23.9;0
-993;2011-09-19;Albury;5.3;26.7;0
-994;2011-09-20;Albury;10.1;13.6;1
-995;2011-09-21;Albury;1.7;18.2;3.6
-996;2011-09-22;Albury;4.4;22.1;0
-997;2011-09-23;Albury;10;18.4;0
-998;2011-09-24;Albury;1.9;18.3;0
-999;2011-09-25;Albury;8.6;19.8;1
-1000;2011-09-26;Albury;3.1;19.6;0
\ No newline at end of file
diff --git a/dbrepo-identifier-service/rest-service/src/test/resources/doi_ec.json b/dbrepo-identifier-service/rest-service/src/test/resources/doi_ec.json
deleted file mode 100644
index 442aae9772..0000000000
--- a/dbrepo-identifier-service/rest-service/src/test/resources/doi_ec.json
+++ /dev/null
@@ -1,467 +0,0 @@
-{
-  "country": {
-    "resource": "http://sws.geonames.org/6695072/"
-  },
-  "address": {
-    "postalAddress": {
-      "addressCountry": "eue"
-    }
-  },
-  "inScheme": {
-    "resource": "http://data.crossref.org/fundingdata/vocabulary"
-  },
-  "created": "2011-06-08T16:00:03.0",
-  "prefLabel": {
-    "Label": {
-      "literalForm": {
-        "lang": "en",
-        "content": "European Commission"
-      },
-      "about": "http://data.crossref.org/fundingdata/vocabulary/Label-31893"
-    }
-  },
-  "narrower": [
-    {
-      "resource": "http://dx.doi.org/10.13039/100018708"
-    },
-    {
-      "resource": "http://dx.doi.org/10.13039/100010661"
-    },
-    {
-      "resource": "http://dx.doi.org/10.13039/100011102"
-    },
-    {
-      "resource": "http://dx.doi.org/10.13039/100011103"
-    },
-    {
-      "resource": "http://dx.doi.org/10.13039/100011104"
-    },
-    {
-      "resource": "http://dx.doi.org/10.13039/100011105"
-    },
-    {
-      "resource": "http://dx.doi.org/10.13039/100013268"
-    },
-    {
-      "resource": "http://dx.doi.org/10.13039/100013284"
-    },
-    {
-      "resource": "http://dx.doi.org/10.13039/100013286"
-    },
-    {
-      "resource": "http://dx.doi.org/10.13039/100013971"
-    },
-    {
-      "resource": "http://dx.doi.org/10.13039/100013972"
-    },
-    {
-      "resource": "http://dx.doi.org/10.13039/100018693"
-    },
-    {
-      "resource": "http://dx.doi.org/10.13039/100019763"
-    },
-    {
-      "resource": "http://dx.doi.org/10.13039/100019764"
-    },
-    {
-      "resource": "http://dx.doi.org/10.13039/100019765"
-    },
-    {
-      "resource": "http://dx.doi.org/10.13039/501100000781"
-    },
-    {
-      "resource": "http://dx.doi.org/10.13039/501100000783"
-    },
-    {
-      "resource": "http://dx.doi.org/10.13039/501100000785"
-    },
-    {
-      "resource": "http://dx.doi.org/10.13039/501100000802"
-    },
-    {
-      "resource": "http://dx.doi.org/10.13039/501100000803"
-    },
-    {
-      "resource": "http://dx.doi.org/10.13039/501100000804"
-    },
-    {
-      "resource": "http://dx.doi.org/10.13039/501100000808"
-    },
-    {
-      "resource": "http://dx.doi.org/10.13039/501100000810"
-    },
-    {
-      "resource": "http://dx.doi.org/10.13039/501100000811"
-    },
-    {
-      "resource": "http://dx.doi.org/10.13039/501100000886"
-    },
-    {
-      "resource": "http://dx.doi.org/10.13039/501100000887"
-    },
-    {
-      "resource": "http://dx.doi.org/10.13039/501100000888"
-    },
-    {
-      "resource": "http://dx.doi.org/10.13039/501100000889"
-    },
-    {
-      "resource": "http://dx.doi.org/10.13039/501100000890"
-    },
-    {
-      "resource": "http://dx.doi.org/10.13039/501100000891"
-    },
-    {
-      "resource": "http://dx.doi.org/10.13039/501100000892"
-    },
-    {
-      "resource": "http://dx.doi.org/10.13039/501100000893"
-    },
-    {
-      "resource": "http://dx.doi.org/10.13039/501100000894"
-    },
-    {
-      "resource": "http://dx.doi.org/10.13039/501100000895"
-    },
-    {
-      "resource": "http://dx.doi.org/10.13039/501100000896"
-    },
-    {
-      "resource": "http://dx.doi.org/10.13039/501100000897"
-    },
-    {
-      "resource": "http://dx.doi.org/10.13039/501100000898"
-    },
-    {
-      "resource": "http://dx.doi.org/10.13039/501100000899"
-    },
-    {
-      "resource": "http://dx.doi.org/10.13039/501100000900"
-    },
-    {
-      "resource": "http://dx.doi.org/10.13039/501100000904"
-    },
-    {
-      "resource": "http://dx.doi.org/10.13039/501100000905"
-    },
-    {
-      "resource": "http://dx.doi.org/10.13039/501100001942"
-    },
-    {
-      "resource": "http://dx.doi.org/10.13039/501100002207"
-    },
-    {
-      "resource": "http://dx.doi.org/10.13039/501100003528"
-    },
-    {
-      "resource": "http://dx.doi.org/10.13039/501100004963"
-    },
-    {
-      "resource": "http://dx.doi.org/10.13039/501100004964"
-    },
-    {
-      "resource": "http://dx.doi.org/10.13039/501100004965"
-    },
-    {
-      "resource": "http://dx.doi.org/10.13039/501100004966"
-    },
-    {
-      "resource": "http://dx.doi.org/10.13039/501100007561"
-    },
-    {
-      "resource": "http://dx.doi.org/10.13039/501100007562"
-    },
-    {
-      "resource": "http://dx.doi.org/10.13039/501100007565"
-    },
-    {
-      "resource": "http://dx.doi.org/10.13039/501100007601"
-    },
-    {
-      "resource": "http://dx.doi.org/10.13039/501100007920"
-    },
-    {
-      "resource": "http://dx.doi.org/10.13039/501100008530"
-    },
-    {
-      "resource": "http://dx.doi.org/10.13039/501100010790"
-    },
-    {
-      "resource": "http://dx.doi.org/10.13039/501100012290"
-    },
-    {
-      "resource": "http://dx.doi.org/10.13039/501100013212"
-    },
-    {
-      "resource": "http://dx.doi.org/10.13039/501100013213"
-    },
-    {
-      "resource": "http://dx.doi.org/10.13039/501100013215"
-    },
-    {
-      "resource": "http://dx.doi.org/10.13039/501100014585"
-    },
-    {
-      "resource": "http://dx.doi.org/10.13039/100020311"
-    },
-    {
-      "resource": "http://dx.doi.org/10.13039/100020631"
-    },
-    {
-      "resource": "http://dx.doi.org/10.13039/100020632"
-    },
-    {
-      "resource": "http://dx.doi.org/10.13039/100020633"
-    },
-    {
-      "resource": "http://dx.doi.org/10.13039/100020634"
-    }
-  ],
-  "modified": "2023-04-07T06:35:55.000000",
-  "altLabel": [
-    {
-      "Label": {
-        "literalForm": {
-          "lang": "en",
-          "content": "European Union"
-        },
-        "about": "http://data.crossref.org/fundingdata/vocabulary/Label-46950"
-      }
-    },
-    {
-      "Label": {
-        "literalForm": {
-          "lang": "es",
-          "content": "Comisión Europea"
-        },
-        "about": "http://data.crossref.org/fundingdata/vocabulary/Label-11817954"
-      }
-    },
-    {
-      "Label": {
-        "literalForm": {
-          "lang": "de",
-          "content": "Europäische Kommission"
-        },
-        "about": "http://data.crossref.org/fundingdata/vocabulary/Label-6350205"
-      }
-    },
-    {
-      "Label": {
-        "literalForm": {
-          "lang": "da",
-          "content": "EU-Kommissionen"
-        },
-        "about": "http://data.crossref.org/fundingdata/vocabulary/Label-24955712"
-      }
-    },
-    {
-      "Label": {
-        "literalForm": {
-          "lang": "et",
-          "content": "Euroopa Komisjoni"
-        },
-        "about": "http://data.crossref.org/fundingdata/vocabulary/Label-24955713"
-      }
-    },
-    {
-      "Label": {
-        "literalForm": {
-          "lang": "el",
-          "content": "Ευρωπαϊκής Επιτροπής"
-        },
-        "about": "http://data.crossref.org/fundingdata/vocabulary/Label-24955714"
-      }
-    },
-    {
-      "Label": {
-        "literalForm": {
-          "lang": "bg",
-          "content": "Европейската комисия"
-        },
-        "about": "http://data.crossref.org/fundingdata/vocabulary/Label-24955715"
-      }
-    },
-    {
-      "Label": {
-        "literalForm": {
-          "lang": "cs",
-          "content": "Evropské komise"
-        },
-        "about": "http://data.crossref.org/fundingdata/vocabulary/Label-24955716"
-      }
-    },
-    {
-      "Label": {
-        "literalForm": {
-          "lang": "fr",
-          "content": "Commission européenne"
-        },
-        "about": "http://data.crossref.org/fundingdata/vocabulary/Label-3798452"
-      }
-    },
-    {
-      "Label": {
-        "literalForm": {
-          "lang": "ga",
-          "content": "Choimisiúin Eorpaigh"
-        },
-        "about": "http://data.crossref.org/fundingdata/vocabulary/Label-24955718"
-      }
-    },
-    {
-      "Label": {
-        "literalForm": {
-          "lang": "hr",
-          "content": "Europskoj komisiji"
-        },
-        "about": "http://data.crossref.org/fundingdata/vocabulary/Label-24955722"
-      }
-    },
-    {
-      "Label": {
-        "literalForm": {
-          "lang": "it",
-          "content": "Commissione europea"
-        },
-        "about": "http://data.crossref.org/fundingdata/vocabulary/Label-4073281"
-      }
-    },
-    {
-      "Label": {
-        "literalForm": {
-          "lang": "it",
-          "content": "La Commissione europea"
-        },
-        "about": "http://data.crossref.org/fundingdata/vocabulary/Label-24955729"
-      }
-    },
-    {
-      "Label": {
-        "literalForm": {
-          "lang": "lv",
-          "content": "Eiropas Komisiju"
-        },
-        "about": "http://data.crossref.org/fundingdata/vocabulary/Label-24955730"
-      }
-    },
-    {
-      "Label": {
-        "literalForm": {
-          "lang": "lt",
-          "content": "Europos Komisijos"
-        },
-        "about": "http://data.crossref.org/fundingdata/vocabulary/Label-24955733"
-      }
-    },
-    {
-      "Label": {
-        "literalForm": {
-          "lang": "hu",
-          "content": "Európai Bizottságról"
-        },
-        "about": "http://data.crossref.org/fundingdata/vocabulary/Label-24955734"
-      }
-    },
-    {
-      "Label": {
-        "literalForm": {
-          "lang": "nl",
-          "content": "Europese Commissie"
-        },
-        "about": "http://data.crossref.org/fundingdata/vocabulary/Label-14932494"
-      }
-    },
-    {
-      "Label": {
-        "literalForm": {
-          "lang": "pl",
-          "content": "Komisja Europejska"
-        },
-        "about": "http://data.crossref.org/fundingdata/vocabulary/Label-24955740"
-      }
-    },
-    {
-      "Label": {
-        "literalForm": {
-          "lang": "pt",
-          "content": "Comissão Europeia"
-        },
-        "about": "http://data.crossref.org/fundingdata/vocabulary/Label-24955741"
-      }
-    },
-    {
-      "Label": {
-        "literalForm": {
-          "lang": "ro",
-          "content": "Comisia Europeană"
-        },
-        "about": "http://data.crossref.org/fundingdata/vocabulary/Label-24955743"
-      }
-    },
-    {
-      "Label": {
-        "literalForm": {
-          "lang": "sk",
-          "content": "Európskej komisii"
-        },
-        "about": "http://data.crossref.org/fundingdata/vocabulary/Label-24955745"
-      }
-    },
-    {
-      "Label": {
-        "literalForm": {
-          "lang": "sl",
-          "content": "Evropski komisiji"
-        },
-        "about": "http://data.crossref.org/fundingdata/vocabulary/Label-24955746"
-      }
-    },
-    {
-      "Label": {
-        "literalForm": {
-          "lang": "fi",
-          "content": "Euroopan komission"
-        },
-        "about": "http://data.crossref.org/fundingdata/vocabulary/Label-24955750"
-      }
-    },
-    {
-      "Label": {
-        "literalForm": {
-          "lang": "sv",
-          "content": "Europeiska kommissionen"
-        },
-        "about": "http://data.crossref.org/fundingdata/vocabulary/Label-24955751"
-      }
-    },
-    {
-      "Label": {
-        "literalForm": {
-          "lang": "en",
-          "content": "EC"
-        },
-        "usageFlag": {
-          "resource": "http://data.crossref.org/fundingdata/vocabulary/acronym"
-        },
-        "about": "http://data.crossref.org/fundingdata/vocabulary/Label-31894"
-      }
-    },
-    {
-      "Label": {
-        "literalForm": {
-          "lang": "en",
-          "content": "EU"
-        },
-        "usageFlag": {
-          "resource": "http://data.crossref.org/fundingdata/vocabulary/acronym"
-        },
-        "about": "http://data.crossref.org/fundingdata/vocabulary/Label-25291959"
-      }
-    }
-  ],
-  "id": "https://doi.org/10.13039/501100000780",
-  "region": "Europe",
-  "fundingBodyType": "gov",
-  "fundingBodySubType": "National government"
-}
\ No newline at end of file
diff --git a/dbrepo-identifier-service/rest-service/src/test/resources/init/schema.sql b/dbrepo-identifier-service/rest-service/src/test/resources/init/schema.sql
deleted file mode 100644
index f8482e47d5..0000000000
--- a/dbrepo-identifier-service/rest-service/src/test/resources/init/schema.sql
+++ /dev/null
@@ -1 +0,0 @@
-CREATE SCHEMA IF NOT EXISTS fda;
\ No newline at end of file
diff --git a/dbrepo-identifier-service/rest-service/src/test/resources/json/metadata0.json b/dbrepo-identifier-service/rest-service/src/test/resources/json/metadata0.json
deleted file mode 100644
index d223099bf3..0000000000
--- a/dbrepo-identifier-service/rest-service/src/test/resources/json/metadata0.json
+++ /dev/null
@@ -1,23 +0,0 @@
-{
-  "id": 4,
-  "database": {
-    "id": 4,
-    "name": "Weather AT",
-    "exchange_name": "dbrepo.weather_at",
-    "internal_name": "weather_at",
-    "description": "Weather data",
-    "is_public": true
-  },
-  "type": "database",
-  "titles": [],
-  "descriptions": [],
-  "doi": null,
-  "publisher": "Swedish Government",
-  "publication_day": 14,
-  "publication_month": 7,
-  "publication_year": 2022,
-  "licenses": [],
-  "creators": [],
-  "created": "2022-01-07T20:45:52.000+00:00",
-  "last_modified": "2018-11-07T10:59:12.000+00:00"
-}
\ No newline at end of file
diff --git a/dbrepo-identifier-service/rest-service/src/test/resources/json/metadata1.json b/dbrepo-identifier-service/rest-service/src/test/resources/json/metadata1.json
deleted file mode 100644
index b39d4b5860..0000000000
--- a/dbrepo-identifier-service/rest-service/src/test/resources/json/metadata1.json
+++ /dev/null
@@ -1,65 +0,0 @@
-{
-  "id": 1,
-  "database": {
-    "id": 1,
-    "name": "Weather",
-    "exchange_name": "dbrepo.weather",
-    "internal_name": "weather",
-    "description": "Weather in Australia",
-    "is_public": false
-  },
-  "query_id": 1,
-  "type": "subset",
-  "titles": [
-    {
-      "id": 1,
-      "title": "Austrian weather data",
-      "language": "en"
-    },
-    {
-      "id": 2,
-      "title": "Österreichische Wetterdaten",
-      "type": "TranslatedTitle",
-      "language": "de"
-    }
-  ],
-  "descriptions": [
-    {
-      "id": 1,
-      "description": "Selecting all from the weather Austrian table",
-      "language": "en"
-    }
-  ],
-  "query": "SELECT `id` FROM `foobar`",
-  "query_normalized": "SELECT `id` FROM `foobar`",
-  "doi": null,
-  "query_hash": "abc",
-  "execution": "2018-11-07T10:59:12.000+00:00",
-  "result_hash": "def",
-  "result_number": 2,
-  "publisher": "Austrian Government",
-  "creators": [
-    {
-      "id": 1,
-      "firstname": "Max",
-      "lastname": "Mustermann",
-      "creator_name": "Mustermann, Max",
-      "name_type": "Personal",
-      "affiliation": "TU Graz",
-      "affiliation_identifier": "https://ror.org/04wn28048",
-      "affiliation_identifier_scheme": "ROR",
-      "name_identifier": "00000-00000-00000",
-      "name_identifier_scheme": "ORCID"
-    }
-  ],
-  "licenses": [
-    {
-      "identifier": "MIT",
-      "uri": "https://opensource.org/license/mit/"
-    }
-  ],
-  "publication_month": 5,
-  "publication_year": 2022,
-  "created": "2022-01-07T20:45:52.000+00:00",
-  "last_modified": "2018-11-07T10:59:12.000+00:00"
-}
\ No newline at end of file
diff --git a/dbrepo-identifier-service/rest-service/src/test/resources/orcid_jdoe.json b/dbrepo-identifier-service/rest-service/src/test/resources/orcid_jdoe.json
deleted file mode 100644
index b32646c889..0000000000
--- a/dbrepo-identifier-service/rest-service/src/test/resources/orcid_jdoe.json
+++ /dev/null
@@ -1,1277 +0,0 @@
-{
-  "orcid-identifier": {
-    "uri": "https://orcid.org/0000-0003-4216-302X",
-    "path": "0000-0003-4216-302X",
-    "host": "orcid.org"
-  },
-  "preferences": {
-    "locale": "en"
-  },
-  "history": {
-    "creation-method": "WEBSITE",
-    "completion-date": {
-      "value": 1352727077585
-    },
-    "submission-date": {
-      "value": 1352723476658
-    },
-    "last-modified-date": {
-      "value": 1687717125186
-    },
-    "claimed": true,
-    "source": null,
-    "deactivation-date": null,
-    "verified-email": true,
-    "verified-primary-email": true
-  },
-  "person": {
-    "last-modified-date": {
-      "value": 1494016313820
-    },
-    "name": {
-      "created-date": {
-        "value": 1460757617078
-      },
-      "last-modified-date": {
-        "value": 1504850007188
-      },
-      "given-names": {
-        "value": "John"
-      },
-      "family-name": {
-        "value": "Doe"
-      },
-      "credit-name": null,
-      "source": null,
-      "visibility": "public",
-      "path": "0000-0003-4216-302X"
-    },
-    "other-names": {
-      "last-modified-date": {
-        "value": 1462157547720
-      },
-      "other-name": [
-        {
-          "created-date": {
-            "value": 1462157351411
-          },
-          "last-modified-date": {
-            "value": 1462157547720
-          },
-          "source": {
-            "source-orcid": {
-              "uri": "https://orcid.org/0000-0002-1825-0097",
-              "path": "0000-0002-1825-0097",
-              "host": "orcid.org"
-            },
-            "source-client-id": null,
-            "source-name": {
-              "value": "Josiah Carberry"
-            },
-            "assertion-origin-orcid": null,
-            "assertion-origin-client-id": null,
-            "assertion-origin-name": null
-          },
-          "content": "Josiah Stinkney Carberry",
-          "visibility": "public",
-          "path": "/0000-0002-1825-0097/other-names/732317",
-          "put-code": 732317,
-          "display-index": 3
-        },
-        {
-          "created-date": {
-            "value": 1446663146889
-          },
-          "last-modified-date": {
-            "value": 1462157547720
-          },
-          "source": {
-            "source-orcid": {
-              "uri": "https://orcid.org/0000-0002-1825-0097",
-              "path": "0000-0002-1825-0097",
-              "host": "orcid.org"
-            },
-            "source-client-id": null,
-            "source-name": {
-              "value": "Josiah Carberry"
-            },
-            "assertion-origin-orcid": null,
-            "assertion-origin-client-id": null,
-            "assertion-origin-name": null
-          },
-          "content": "J. Carberry",
-          "visibility": "public",
-          "path": "/0000-0002-1825-0097/other-names/565981",
-          "put-code": 565981,
-          "display-index": 2
-        },
-        {
-          "created-date": {
-            "value": 1462157351418
-          },
-          "last-modified-date": {
-            "value": 1462157547720
-          },
-          "source": {
-            "source-orcid": {
-              "uri": "https://orcid.org/0000-0002-1825-0097",
-              "path": "0000-0002-1825-0097",
-              "host": "orcid.org"
-            },
-            "source-client-id": null,
-            "source-name": {
-              "value": "Josiah Carberry"
-            },
-            "assertion-origin-orcid": null,
-            "assertion-origin-client-id": null,
-            "assertion-origin-name": null
-          },
-          "content": "J. S. Carberry",
-          "visibility": "public",
-          "path": "/0000-0002-1825-0097/other-names/732318",
-          "put-code": 732318,
-          "display-index": 1
-        }
-      ],
-      "path": "/0000-0002-1825-0097/other-names"
-    },
-    "biography": {
-      "created-date": {
-        "value": 1460757617080
-      },
-      "last-modified-date": {
-        "value": 1460757617080
-      },
-      "content": "Josiah Carberry is a fictitious person. This account is used as a demonstration account by ORCID, CrossRef and others who wish to demonstrate the interaction of ORCID with other scholarly communication systems without having to use a real-person's account.\r\n\r\nJosiah Stinkney Carberry is a fictional professor, created as a joke in 1929. He is said to still teach at Brown University, and to be known for his work in \"psychoceramics\", the supposed study of \"cracked pots\". See his Wikipedia entry for more details.",
-      "visibility": "public",
-      "path": "/0000-0002-1825-0097/biography"
-    },
-    "researcher-urls": {
-      "last-modified-date": {
-        "value": 1462157645967
-      },
-      "researcher-url": [
-        {
-          "created-date": {
-            "value": 1446663146890
-          },
-          "last-modified-date": {
-            "value": 1462157645967
-          },
-          "source": {
-            "source-orcid": {
-              "uri": "https://orcid.org/0000-0002-1825-0097",
-              "path": "0000-0002-1825-0097",
-              "host": "orcid.org"
-            },
-            "source-client-id": null,
-            "source-name": {
-              "value": "Josiah Carberry"
-            },
-            "assertion-origin-orcid": null,
-            "assertion-origin-client-id": null,
-            "assertion-origin-name": null
-          },
-          "url-name": "Brown University Page",
-          "url": {
-            "value": "http://library.brown.edu/about/hay/carberry.php"
-          },
-          "visibility": "public",
-          "path": "/0000-0002-1825-0097/researcher-urls/568395",
-          "put-code": 568395,
-          "display-index": 2
-        },
-        {
-          "created-date": {
-            "value": 1446663146889
-          },
-          "last-modified-date": {
-            "value": 1462157645967
-          },
-          "source": {
-            "source-orcid": {
-              "uri": "https://orcid.org/0000-0002-1825-0097",
-              "path": "0000-0002-1825-0097",
-              "host": "orcid.org"
-            },
-            "source-client-id": null,
-            "source-name": {
-              "value": "Josiah Carberry"
-            },
-            "assertion-origin-orcid": null,
-            "assertion-origin-client-id": null,
-            "assertion-origin-name": null
-          },
-          "url-name": "Wikipedia Entry",
-          "url": {
-            "value": "http://en.wikipedia.org/wiki/Josiah_Carberry"
-          },
-          "visibility": "public",
-          "path": "/0000-0002-1825-0097/researcher-urls/568394",
-          "put-code": 568394,
-          "display-index": 1
-        }
-      ],
-      "path": "/0000-0002-1825-0097/researcher-urls"
-    },
-    "emails": {
-      "last-modified-date": null,
-      "email": [],
-      "path": "/0000-0002-1825-0097/email"
-    },
-    "addresses": {
-      "last-modified-date": null,
-      "address": [],
-      "path": "/0000-0002-1825-0097/address"
-    },
-    "keywords": {
-      "last-modified-date": {
-        "value": 1462157635636
-      },
-      "keyword": [
-        {
-          "created-date": {
-            "value": 1462157617244
-          },
-          "last-modified-date": {
-            "value": 1462157635636
-          },
-          "source": {
-            "source-orcid": {
-              "uri": "https://orcid.org/0000-0002-1825-0097",
-              "path": "0000-0002-1825-0097",
-              "host": "orcid.org"
-            },
-            "source-client-id": null,
-            "source-name": {
-              "value": "Josiah Carberry"
-            },
-            "assertion-origin-orcid": null,
-            "assertion-origin-client-id": null,
-            "assertion-origin-name": null
-          },
-          "content": "psychoceramics",
-          "visibility": "public",
-          "path": "/0000-0002-1825-0097/keywords/434187",
-          "put-code": 434187,
-          "display-index": 3
-        },
-        {
-          "created-date": {
-            "value": 1462157414545
-          },
-          "last-modified-date": {
-            "value": 1462157635636
-          },
-          "source": {
-            "source-orcid": {
-              "uri": "https://orcid.org/0000-0002-1825-0097",
-              "path": "0000-0002-1825-0097",
-              "host": "orcid.org"
-            },
-            "source-client-id": null,
-            "source-name": {
-              "value": "Josiah Carberry"
-            },
-            "assertion-origin-orcid": null,
-            "assertion-origin-client-id": null,
-            "assertion-origin-name": null
-          },
-          "content": "ionian philology",
-          "visibility": "public",
-          "path": "/0000-0002-1825-0097/keywords/434184",
-          "put-code": 434184,
-          "display-index": 2
-        }
-      ],
-      "path": "/0000-0002-1825-0097/keywords"
-    },
-    "external-identifiers": {
-      "last-modified-date": {
-        "value": 1494016313820
-      },
-      "external-identifier": [
-        {
-          "created-date": {
-            "value": 1494016313820
-          },
-          "last-modified-date": {
-            "value": 1494016313820
-          },
-          "source": {
-            "source-orcid": null,
-            "source-client-id": {
-              "uri": "https://orcid.org/client/0000-0002-5982-8983",
-              "path": "0000-0002-5982-8983",
-              "host": "orcid.org"
-            },
-            "source-name": {
-              "value": "Scopus - Elsevier"
-            },
-            "assertion-origin-orcid": {
-              "uri": "https://orcid.org/0000-0002-1825-0097",
-              "path": "0000-0002-1825-0097",
-              "host": "orcid.org"
-            },
-            "assertion-origin-client-id": null,
-            "assertion-origin-name": {
-              "value": "Josiah Carberry"
-            }
-          },
-          "external-id-type": "Scopus Author ID",
-          "external-id-value": "7007156898",
-          "external-id-url": {
-            "value": "http://www.scopus.com/inward/authorDetails.url?authorID=7007156898&partnerID=MN8TOARS"
-          },
-          "external-id-relationship": "self",
-          "visibility": "public",
-          "path": "/0000-0002-1825-0097/external-identifiers/698979",
-          "put-code": 698979,
-          "display-index": 0
-        }
-      ],
-      "path": "/0000-0002-1825-0097/external-identifiers"
-    },
-    "path": "/0000-0002-1825-0097/person"
-  },
-  "activities-summary": {
-    "last-modified-date": {
-      "value": 1653413908337
-    },
-    "distinctions": {
-      "last-modified-date": null,
-      "affiliation-group": [],
-      "path": "/0000-0002-1825-0097/distinctions"
-    },
-    "educations": {
-      "last-modified-date": null,
-      "affiliation-group": [],
-      "path": "/0000-0002-1825-0097/educations"
-    },
-    "employments": {
-      "last-modified-date": {
-        "value": 1405895110316
-      },
-      "affiliation-group": [
-        {
-          "last-modified-date": {
-            "value": 1405895110316
-          },
-          "external-ids": {
-            "external-id": []
-          },
-          "summaries": [
-            {
-              "employment-summary": {
-                "created-date": {
-                  "value": 1386356790112
-                },
-                "last-modified-date": {
-                  "value": 1405895110316
-                },
-                "source": {
-                  "source-orcid": {
-                    "uri": "https://orcid.org/0000-0002-1825-0097",
-                    "path": "0000-0002-1825-0097",
-                    "host": "orcid.org"
-                  },
-                  "source-client-id": null,
-                  "source-name": {
-                    "value": "Josiah Carberry"
-                  },
-                  "assertion-origin-orcid": null,
-                  "assertion-origin-client-id": null,
-                  "assertion-origin-name": null
-                },
-                "put-code": 4288,
-                "department-name": "Psychoceramics",
-                "role-title": "Professor",
-                "start-date": {
-                  "year": {
-                    "value": "1930"
-                  },
-                  "month": {
-                    "value": "02"
-                  },
-                  "day": {
-                    "value": "29"
-                  }
-                },
-                "end-date": null,
-                "organization": {
-                  "name": "Wesleyan University",
-                  "address": {
-                    "city": "Middletown",
-                    "region": "CT",
-                    "country": "US"
-                  },
-                  "disambiguated-organization": {
-                    "disambiguated-organization-identifier": "5468",
-                    "disambiguation-source": "RINGGOLD"
-                  }
-                },
-                "url": null,
-                "external-ids": null,
-                "display-index": "0",
-                "visibility": "public",
-                "path": "/0000-0002-1825-0097/employment/4288"
-              }
-            }
-          ]
-        },
-        {
-          "last-modified-date": {
-            "value": 1405895110316
-          },
-          "external-ids": {
-            "external-id": []
-          },
-          "summaries": [
-            {
-              "employment-summary": {
-                "created-date": {
-                  "value": 1386356645400
-                },
-                "last-modified-date": {
-                  "value": 1405895110316
-                },
-                "source": {
-                  "source-orcid": {
-                    "uri": "https://orcid.org/0000-0002-1825-0097",
-                    "path": "0000-0002-1825-0097",
-                    "host": "orcid.org"
-                  },
-                  "source-client-id": null,
-                  "source-name": {
-                    "value": "Josiah Carberry"
-                  },
-                  "assertion-origin-orcid": null,
-                  "assertion-origin-client-id": null,
-                  "assertion-origin-name": null
-                },
-                "put-code": 4278,
-                "department-name": "Psychoceramics",
-                "role-title": "Professor",
-                "start-date": {
-                  "year": {
-                    "value": "1929"
-                  },
-                  "month": {
-                    "value": "02"
-                  },
-                  "day": {
-                    "value": "29"
-                  }
-                },
-                "end-date": null,
-                "organization": {
-                  "name": "Brown University",
-                  "address": {
-                    "city": "Providence",
-                    "region": "RI",
-                    "country": "US"
-                  },
-                  "disambiguated-organization": {
-                    "disambiguated-organization-identifier": "6752",
-                    "disambiguation-source": "RINGGOLD"
-                  }
-                },
-                "url": null,
-                "external-ids": null,
-                "display-index": "0",
-                "visibility": "public",
-                "path": "/0000-0002-1825-0097/employment/4278"
-              }
-            }
-          ]
-        }
-      ],
-      "path": "/0000-0002-1825-0097/employments"
-    },
-    "fundings": {
-      "last-modified-date": null,
-      "group": [],
-      "path": "/0000-0002-1825-0097/fundings"
-    },
-    "invited-positions": {
-      "last-modified-date": null,
-      "affiliation-group": [],
-      "path": "/0000-0002-1825-0097/invited-positions"
-    },
-    "memberships": {
-      "last-modified-date": null,
-      "affiliation-group": [],
-      "path": "/0000-0002-1825-0097/memberships"
-    },
-    "peer-reviews": {
-      "last-modified-date": {
-        "value": 1457039326294
-      },
-      "group": [
-        {
-          "last-modified-date": {
-            "value": 1457039326294
-          },
-          "external-ids": {
-            "external-id": [
-              {
-                "external-id-type": "peer-review",
-                "external-id-value": "issn:1234-5678",
-                "external-id-normalized": null,
-                "external-id-normalized-error": null,
-                "external-id-url": null,
-                "external-id-relationship": null
-              }
-            ]
-          },
-          "peer-review-group": [
-            {
-              "last-modified-date": {
-                "value": 1457039326294
-              },
-              "external-ids": {
-                "external-id": [
-                  {
-                    "external-id-type": "source-work-id",
-                    "external-id-value": "12345678",
-                    "external-id-normalized": {
-                      "value": "12345678",
-                      "transient": true
-                    },
-                    "external-id-normalized-error": null,
-                    "external-id-url": null,
-                    "external-id-relationship": "self"
-                  }
-                ]
-              },
-              "peer-review-summary": [
-                {
-                  "created-date": {
-                    "value": 1443402117509
-                  },
-                  "last-modified-date": {
-                    "value": 1457039326294
-                  },
-                  "source": {
-                    "source-orcid": null,
-                    "source-client-id": {
-                      "uri": "https://orcid.org/client/0000-0001-8203-3567",
-                      "path": "0000-0001-8203-3567",
-                      "host": "orcid.org"
-                    },
-                    "source-name": {
-                      "value": "ORCID"
-                    },
-                    "assertion-origin-orcid": null,
-                    "assertion-origin-client-id": null,
-                    "assertion-origin-name": null
-                  },
-                  "reviewer-role": "reviewer",
-                  "external-ids": {
-                    "external-id": [
-                      {
-                        "external-id-type": "source-work-id",
-                        "external-id-value": "12345678",
-                        "external-id-normalized": {
-                          "value": "12345678",
-                          "transient": true
-                        },
-                        "external-id-normalized-error": null,
-                        "external-id-url": null,
-                        "external-id-relationship": "self"
-                      }
-                    ]
-                  },
-                  "review-url": null,
-                  "review-type": "review",
-                  "completion-date": {
-                    "year": {
-                      "value": "2004"
-                    },
-                    "month": {
-                      "value": "02"
-                    },
-                    "day": {
-                      "value": "02"
-                    }
-                  },
-                  "review-group-id": "issn:1234-5678",
-                  "convening-organization": {
-                    "name": "The Psychoceramics Society",
-                    "address": {
-                      "city": "London",
-                      "region": null,
-                      "country": "GB"
-                    },
-                    "disambiguated-organization": null
-                  },
-                  "visibility": "public",
-                  "put-code": 1005,
-                  "path": "/0000-0002-1825-0097/peer-review/1005",
-                  "display-index": "0"
-                }
-              ]
-            }
-          ]
-        }
-      ],
-      "path": "/0000-0002-1825-0097/peer-reviews"
-    },
-    "qualifications": {
-      "last-modified-date": null,
-      "affiliation-group": [],
-      "path": "/0000-0002-1825-0097/qualifications"
-    },
-    "research-resources": {
-      "last-modified-date": null,
-      "group": [],
-      "path": "/0000-0002-1825-0097/research-resources"
-    },
-    "services": {
-      "last-modified-date": null,
-      "affiliation-group": [],
-      "path": "/0000-0002-1825-0097/services"
-    },
-    "works": {
-      "last-modified-date": {
-        "value": 1653413908337
-      },
-      "group": [
-        {
-          "last-modified-date": {
-            "value": 1494016313835
-          },
-          "external-ids": {
-            "external-id": [
-              {
-                "external-id-type": "doi",
-                "external-id-value": "10.5555/12345680",
-                "external-id-normalized": {
-                  "value": "10.5555/12345680",
-                  "transient": true
-                },
-                "external-id-normalized-error": null,
-                "external-id-url": null,
-                "external-id-relationship": "self"
-              }
-            ]
-          },
-          "work-summary": [
-            {
-              "put-code": 9543020,
-              "created-date": {
-                "value": 1375526492206
-              },
-              "last-modified-date": {
-                "value": 1494016313835
-              },
-              "source": {
-                "source-orcid": null,
-                "source-client-id": {
-                  "uri": "https://orcid.org/client/0000-0002-3054-1567",
-                  "path": "0000-0002-3054-1567",
-                  "host": "orcid.org"
-                },
-                "source-name": {
-                  "value": "Crossref Metadata Search"
-                },
-                "assertion-origin-orcid": {
-                  "uri": "https://orcid.org/0000-0002-1825-0097",
-                  "path": "0000-0002-1825-0097",
-                  "host": "orcid.org"
-                },
-                "assertion-origin-client-id": null,
-                "assertion-origin-name": {
-                  "value": "Josiah Carberry"
-                }
-              },
-              "title": {
-                "title": {
-                  "value": "A Methodology for the Emulation of Architecture"
-                },
-                "subtitle": null,
-                "translated-title": null
-              },
-              "external-ids": {
-                "external-id": [
-                  {
-                    "external-id-type": "issn",
-                    "external-id-value": "0264-3561",
-                    "external-id-normalized": {
-                      "value": "0264-3561",
-                      "transient": true
-                    },
-                    "external-id-normalized-error": null,
-                    "external-id-url": null,
-                    "external-id-relationship": "part-of"
-                  },
-                  {
-                    "external-id-type": "doi",
-                    "external-id-value": "10.5555/12345680",
-                    "external-id-normalized": {
-                      "value": "10.5555/12345680",
-                      "transient": true
-                    },
-                    "external-id-normalized-error": null,
-                    "external-id-url": null,
-                    "external-id-relationship": "self"
-                  }
-                ]
-              },
-              "url": null,
-              "type": "journal-article",
-              "publication-date": {
-                "year": {
-                  "value": "2012"
-                },
-                "month": null,
-                "day": null
-              },
-              "journal-title": null,
-              "visibility": "public",
-              "path": "/0000-0002-1825-0097/work/9543020",
-              "display-index": "2"
-            },
-            {
-              "put-code": 18777963,
-              "created-date": {
-                "value": 1375497097656
-              },
-              "last-modified-date": {
-                "value": 1494016313835
-              },
-              "source": {
-                "source-orcid": {
-                  "uri": "https://orcid.org/0000-0002-1825-0097",
-                  "path": "0000-0002-1825-0097",
-                  "host": "orcid.org"
-                },
-                "source-client-id": null,
-                "source-name": {
-                  "value": "Josiah Carberry"
-                },
-                "assertion-origin-orcid": null,
-                "assertion-origin-client-id": null,
-                "assertion-origin-name": null
-              },
-              "title": {
-                "title": {
-                  "value": "A Methodology for the Emulation of Architecture"
-                },
-                "subtitle": null,
-                "translated-title": null
-              },
-              "external-ids": {
-                "external-id": [
-                  {
-                    "external-id-type": "doi",
-                    "external-id-value": "10.5555/12345680",
-                    "external-id-normalized": {
-                      "value": "10.5555/12345680",
-                      "transient": true
-                    },
-                    "external-id-normalized-error": null,
-                    "external-id-url": null,
-                    "external-id-relationship": "self"
-                  }
-                ]
-              },
-              "url": null,
-              "type": "journal-article",
-              "publication-date": {
-                "year": {
-                  "value": "2012"
-                },
-                "month": null,
-                "day": null
-              },
-              "journal-title": null,
-              "visibility": "public",
-              "path": "/0000-0002-1825-0097/work/18777963",
-              "display-index": "1"
-            }
-          ]
-        },
-        {
-          "last-modified-date": {
-            "value": 1494016313836
-          },
-          "external-ids": {
-            "external-id": [
-              {
-                "external-id-type": "doi",
-                "external-id-value": "10.5555/666655554444",
-                "external-id-normalized": {
-                  "value": "10.5555/666655554444",
-                  "transient": true
-                },
-                "external-id-normalized-error": null,
-                "external-id-url": null,
-                "external-id-relationship": "self"
-              }
-            ]
-          },
-          "work-summary": [
-            {
-              "put-code": 4562455,
-              "created-date": {
-                "value": 1361131256556
-              },
-              "last-modified-date": {
-                "value": 1494016313836
-              },
-              "source": {
-                "source-orcid": {
-                  "uri": "https://orcid.org/0000-0002-1825-0097",
-                  "path": "0000-0002-1825-0097",
-                  "host": "orcid.org"
-                },
-                "source-client-id": null,
-                "source-name": {
-                  "value": "Josiah Carberry"
-                },
-                "assertion-origin-orcid": null,
-                "assertion-origin-client-id": null,
-                "assertion-origin-name": null
-              },
-              "title": {
-                "title": {
-                  "value": "The Memory Bus Considered Harmful"
-                },
-                "subtitle": null,
-                "translated-title": null
-              },
-              "external-ids": {
-                "external-id": [
-                  {
-                    "external-id-type": "issn",
-                    "external-id-value": "0264-3561",
-                    "external-id-normalized": {
-                      "value": "0264-3561",
-                      "transient": true
-                    },
-                    "external-id-normalized-error": null,
-                    "external-id-url": null,
-                    "external-id-relationship": "part-of"
-                  },
-                  {
-                    "external-id-type": "doi",
-                    "external-id-value": "10.5555/666655554444",
-                    "external-id-normalized": {
-                      "value": "10.5555/666655554444",
-                      "transient": true
-                    },
-                    "external-id-normalized-error": null,
-                    "external-id-url": null,
-                    "external-id-relationship": "self"
-                  }
-                ]
-              },
-              "url": null,
-              "type": "journal-article",
-              "publication-date": {
-                "year": {
-                  "value": "2012"
-                },
-                "month": null,
-                "day": null
-              },
-              "journal-title": null,
-              "visibility": "public",
-              "path": "/0000-0002-1825-0097/work/4562455",
-              "display-index": "0"
-            }
-          ]
-        },
-        {
-          "last-modified-date": {
-            "value": 1494016313836
-          },
-          "external-ids": {
-            "external-id": [
-              {
-                "external-id-type": "doi",
-                "external-id-value": "10.5555/987654321",
-                "external-id-normalized": {
-                  "value": "10.5555/987654321",
-                  "transient": true
-                },
-                "external-id-normalized-error": null,
-                "external-id-url": null,
-                "external-id-relationship": "self"
-              }
-            ]
-          },
-          "work-summary": [
-            {
-              "put-code": 4562454,
-              "created-date": {
-                "value": 1361131256545
-              },
-              "last-modified-date": {
-                "value": 1494016313836
-              },
-              "source": {
-                "source-orcid": {
-                  "uri": "https://orcid.org/0000-0002-1825-0097",
-                  "path": "0000-0002-1825-0097",
-                  "host": "orcid.org"
-                },
-                "source-client-id": null,
-                "source-name": {
-                  "value": "Josiah Carberry"
-                },
-                "assertion-origin-orcid": null,
-                "assertion-origin-client-id": null,
-                "assertion-origin-name": null
-              },
-              "title": {
-                "title": {
-                  "value": "The Impact of Interactive Epistemologies on Cryptography"
-                },
-                "subtitle": null,
-                "translated-title": null
-              },
-              "external-ids": {
-                "external-id": [
-                  {
-                    "external-id-type": "issn",
-                    "external-id-value": "0264-3561",
-                    "external-id-normalized": {
-                      "value": "0264-3561",
-                      "transient": true
-                    },
-                    "external-id-normalized-error": null,
-                    "external-id-url": null,
-                    "external-id-relationship": "part-of"
-                  },
-                  {
-                    "external-id-type": "doi",
-                    "external-id-value": "10.5555/987654321",
-                    "external-id-normalized": {
-                      "value": "10.5555/987654321",
-                      "transient": true
-                    },
-                    "external-id-normalized-error": null,
-                    "external-id-url": null,
-                    "external-id-relationship": "self"
-                  }
-                ]
-              },
-              "url": null,
-              "type": "journal-article",
-              "publication-date": {
-                "year": {
-                  "value": "2011"
-                },
-                "month": null,
-                "day": null
-              },
-              "journal-title": null,
-              "visibility": "public",
-              "path": "/0000-0002-1825-0097/work/4562454",
-              "display-index": "0"
-            }
-          ]
-        },
-        {
-          "last-modified-date": {
-            "value": 1494016313836
-          },
-          "external-ids": {
-            "external-id": [
-              {
-                "external-id-type": "doi",
-                "external-id-value": "10.5555/12345679",
-                "external-id-normalized": {
-                  "value": "10.5555/12345679",
-                  "transient": true
-                },
-                "external-id-normalized-error": null,
-                "external-id-url": null,
-                "external-id-relationship": "self"
-              }
-            ]
-          },
-          "work-summary": [
-            {
-              "put-code": 4562453,
-              "created-date": {
-                "value": 1361131256538
-              },
-              "last-modified-date": {
-                "value": 1494016313836
-              },
-              "source": {
-                "source-orcid": {
-                  "uri": "https://orcid.org/0000-0002-1825-0097",
-                  "path": "0000-0002-1825-0097",
-                  "host": "orcid.org"
-                },
-                "source-client-id": null,
-                "source-name": {
-                  "value": "Josiah Carberry"
-                },
-                "assertion-origin-orcid": null,
-                "assertion-origin-client-id": null,
-                "assertion-origin-name": null
-              },
-              "title": {
-                "title": {
-                  "value": "Developing Thin Clients Using Amphibious Epistemologies"
-                },
-                "subtitle": null,
-                "translated-title": null
-              },
-              "external-ids": {
-                "external-id": [
-                  {
-                    "external-id-type": "issn",
-                    "external-id-value": "0264-3561",
-                    "external-id-normalized": {
-                      "value": "0264-3561",
-                      "transient": true
-                    },
-                    "external-id-normalized-error": null,
-                    "external-id-url": null,
-                    "external-id-relationship": "part-of"
-                  },
-                  {
-                    "external-id-type": "doi",
-                    "external-id-value": "10.5555/12345679",
-                    "external-id-normalized": {
-                      "value": "10.5555/12345679",
-                      "transient": true
-                    },
-                    "external-id-normalized-error": null,
-                    "external-id-url": null,
-                    "external-id-relationship": "self"
-                  }
-                ]
-              },
-              "url": null,
-              "type": "journal-article",
-              "publication-date": {
-                "year": {
-                  "value": "2008"
-                },
-                "month": null,
-                "day": null
-              },
-              "journal-title": null,
-              "visibility": "public",
-              "path": "/0000-0002-1825-0097/work/4562453",
-              "display-index": "0"
-            }
-          ]
-        },
-        {
-          "last-modified-date": {
-            "value": 1494016313835
-          },
-          "external-ids": {
-            "external-id": [
-              {
-                "external-id-type": "doi",
-                "external-id-value": "10.5555/12345678",
-                "external-id-normalized": {
-                  "value": "10.5555/12345678",
-                  "transient": true
-                },
-                "external-id-normalized-error": null,
-                "external-id-url": null,
-                "external-id-relationship": "self"
-              }
-            ]
-          },
-          "work-summary": [
-            {
-              "put-code": 4562456,
-              "created-date": {
-                "value": 1361131256560
-              },
-              "last-modified-date": {
-                "value": 1494016313835
-              },
-              "source": {
-                "source-orcid": {
-                  "uri": "https://orcid.org/0000-0002-1825-0097",
-                  "path": "0000-0002-1825-0097",
-                  "host": "orcid.org"
-                },
-                "source-client-id": null,
-                "source-name": {
-                  "value": "Josiah Carberry"
-                },
-                "assertion-origin-orcid": null,
-                "assertion-origin-client-id": null,
-                "assertion-origin-name": null
-              },
-              "title": {
-                "title": {
-                  "value": "Toward a Unified Theory of High-Energy Metaphysics: Silly String Theory"
-                },
-                "subtitle": null,
-                "translated-title": null
-              },
-              "external-ids": {
-                "external-id": [
-                  {
-                    "external-id-type": "issn",
-                    "external-id-value": "0264-3561",
-                    "external-id-normalized": {
-                      "value": "0264-3561",
-                      "transient": true
-                    },
-                    "external-id-normalized-error": null,
-                    "external-id-url": null,
-                    "external-id-relationship": "part-of"
-                  },
-                  {
-                    "external-id-type": "doi",
-                    "external-id-value": "10.5555/12345678",
-                    "external-id-normalized": {
-                      "value": "10.5555/12345678",
-                      "transient": true
-                    },
-                    "external-id-normalized-error": null,
-                    "external-id-url": null,
-                    "external-id-relationship": "self"
-                  }
-                ]
-              },
-              "url": null,
-              "type": "journal-article",
-              "publication-date": {
-                "year": {
-                  "value": "2008"
-                },
-                "month": null,
-                "day": null
-              },
-              "journal-title": null,
-              "visibility": "public",
-              "path": "/0000-0002-1825-0097/work/4562456",
-              "display-index": "0"
-            }
-          ]
-        },
-        {
-          "last-modified-date": {
-            "value": 1653413908337
-          },
-          "external-ids": {
-            "external-id": [
-              {
-                "external-id-type": "doi",
-                "external-id-value": "10.1109/TPS.1987.4316723",
-                "external-id-normalized": {
-                  "value": "10.1109/tps.1987.4316723",
-                  "transient": true
-                },
-                "external-id-normalized-error": null,
-                "external-id-url": null,
-                "external-id-relationship": "self"
-              },
-              {
-                "external-id-type": "eid",
-                "external-id-value": "2-s2.0-0023398608",
-                "external-id-normalized": {
-                  "value": "2-s2.0-0023398608",
-                  "transient": true
-                },
-                "external-id-normalized-error": null,
-                "external-id-url": null,
-                "external-id-relationship": "self"
-              }
-            ]
-          },
-          "work-summary": [
-            {
-              "put-code": 19980729,
-              "created-date": {
-                "value": 1446663146999
-              },
-              "last-modified-date": {
-                "value": 1653413908337
-              },
-              "source": {
-                "source-orcid": null,
-                "source-client-id": {
-                  "uri": "https://orcid.org/client/0000-0002-5982-8983",
-                  "path": "0000-0002-5982-8983",
-                  "host": "orcid.org"
-                },
-                "source-name": {
-                  "value": "Scopus - Elsevier"
-                },
-                "assertion-origin-orcid": {
-                  "uri": "https://orcid.org/0000-0002-1825-0097",
-                  "path": "0000-0002-1825-0097",
-                  "host": "orcid.org"
-                },
-                "assertion-origin-client-id": null,
-                "assertion-origin-name": {
-                  "value": "Josiah Carberry"
-                }
-              },
-              "title": {
-                "title": {
-                  "value": "Bulk and surface plasmons in artificially structured materials"
-                },
-                "subtitle": null,
-                "translated-title": null
-              },
-              "external-ids": {
-                "external-id": [
-                  {
-                    "external-id-type": "doi",
-                    "external-id-value": "10.1109/TPS.1987.4316723",
-                    "external-id-normalized": {
-                      "value": "10.1109/tps.1987.4316723",
-                      "transient": true
-                    },
-                    "external-id-normalized-error": null,
-                    "external-id-url": null,
-                    "external-id-relationship": "self"
-                  },
-                  {
-                    "external-id-type": "eid",
-                    "external-id-value": "2-s2.0-0023398608",
-                    "external-id-normalized": {
-                      "value": "2-s2.0-0023398608",
-                      "transient": true
-                    },
-                    "external-id-normalized-error": null,
-                    "external-id-url": null,
-                    "external-id-relationship": "self"
-                  }
-                ]
-              },
-              "url": {
-                "value": "http://www.scopus.com/inward/record.url?eid=2-s2.0-0023398608&partnerID=MN8TOARS"
-              },
-              "type": "journal-article",
-              "publication-date": {
-                "year": {
-                  "value": "1987"
-                },
-                "month": null,
-                "day": null
-              },
-              "journal-title": {
-                "value": "IEEE Transactions on Plasma Science"
-              },
-              "visibility": "public",
-              "path": "/0000-0002-1825-0097/work/19980729",
-              "display-index": "0"
-            }
-          ]
-        }
-      ],
-      "path": "/0000-0002-1825-0097/works"
-    },
-    "path": "/0000-0002-1825-0097/activities"
-  },
-  "path": "/0000-0002-1825-0097"
-}
\ No newline at end of file
diff --git a/dbrepo-identifier-service/rest-service/src/test/resources/ror_tuw.json b/dbrepo-identifier-service/rest-service/src/test/resources/ror_tuw.json
deleted file mode 100644
index e14aa6610e..0000000000
--- a/dbrepo-identifier-service/rest-service/src/test/resources/ror_tuw.json
+++ /dev/null
@@ -1,121 +0,0 @@
-{
-  "id": "https://ror.org/04d836q62",
-  "name": "TU Wien",
-  "email_address": "",
-  "ip_addresses": [],
-  "established": 1815,
-  "types": [
-    "Education"
-  ],
-  "relationships": [
-    {
-      "label": "Complexity Science Hub Vienna",
-      "type": "Related",
-      "id": "https://ror.org/023dz9m50"
-    },
-    {
-      "label": "Christian Doppler Laboratory for Thermoelectricity",
-      "type": "Child",
-      "id": "https://ror.org/01cbw5x35"
-    },
-    {
-      "label": "Vienna Center for Quantum Science and Technology",
-      "type": "Child",
-      "id": "https://ror.org/014cpn338"
-    }
-  ],
-  "addresses": [
-    {
-      "lat": 48.20849,
-      "lng": 16.37208,
-      "state": null,
-      "state_code": null,
-      "city": "Vienna",
-      "geonames_city": {
-        "id": 2761369,
-        "city": "Vienna",
-        "geonames_admin1": {
-          "name": "Vienna",
-          "id": 2761367,
-          "ascii_name": "Vienna",
-          "code": "AT.09"
-        },
-        "geonames_admin2": {
-          "name": "Vienna",
-          "id": 2761333,
-          "ascii_name": "Vienna",
-          "code": "AT.09.900"
-        },
-        "license": {
-          "attribution": "Data from geonames.org under a CC-BY 3.0 license",
-          "license": "http://creativecommons.org/licenses/by/3.0/"
-        },
-        "nuts_level1": {
-          "name": null,
-          "code": null
-        },
-        "nuts_level2": {
-          "name": null,
-          "code": null
-        },
-        "nuts_level3": {
-          "name": null,
-          "code": null
-        }
-      },
-      "postcode": null,
-      "primary": false,
-      "line": null,
-      "country_geonames_id": 2782113
-    }
-  ],
-  "links": [
-    "https://www.tuwien.at"
-  ],
-  "aliases": [
-    "Technische Universität Wien",
-    "Vienna University of Technology"
-  ],
-  "acronyms": [
-    "TUW"
-  ],
-  "status": "active",
-  "wikipedia_url": "https://en.wikipedia.org/wiki/TU_Wien",
-  "labels": [],
-  "country": {
-    "country_name": "Austria",
-    "country_code": "AT"
-  },
-  "external_ids": {
-    "ISNI": {
-      "preferred": "0000 0004 1937 0669",
-      "all": [
-        "0000 0004 1937 0669"
-      ]
-    },
-    "FundRef": {
-      "preferred": "501100004729",
-      "all": [
-        "501100004729",
-        "100007223"
-      ]
-    },
-    "OrgRef": {
-      "preferred": null,
-      "all": [
-        "1267354"
-      ]
-    },
-    "Wikidata": {
-      "preferred": "Q689400",
-      "all": [
-        "Q689400",
-        "Q757615"
-      ]
-    },
-    "GRID": {
-      "preferred": "grid.5329.d",
-      "all": "grid.5329.d"
-    }
-  }
-}
\ No newline at end of file
diff --git a/dbrepo-identifier-service/rest-service/src/test/resources/xml/datacite-example-dataset-v4.xml b/dbrepo-identifier-service/rest-service/src/test/resources/xml/datacite-example-dataset-v4.xml
deleted file mode 100644
index 944d9dbae2..0000000000
--- a/dbrepo-identifier-service/rest-service/src/test/resources/xml/datacite-example-dataset-v4.xml
+++ /dev/null
@@ -1,40 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<resource xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://datacite.org/schema/kernel-4" xsi:schemaLocation="http://datacite.org/schema/kernel-4 https://schema.datacite.org/meta/kernel-4.4/metadata.xsd">
-  <identifier identifierType="DOI">10.5072/D3P26Q35R-Test</identifier>
-  <creators>
-    <creator>
-      <creatorName nameType="Personal">Fosmire, Michael</creatorName>
-      <givenName>Michael</givenName>
-      <familyName>Fosmire</familyName>
-    </creator>
-    <creator>
-      <creatorName nameType="Personal">Wertz, Ruth</creatorName>
-      <givenName>Ruth</givenName>
-      <familyName>Wertz</familyName>
-    </creator>
-    <creator>
-      <creatorName nameType="Personal">Purzer, Senay</creatorName>
-      <givenName>Senay</givenName>
-      <familyName>Purzer</familyName>
-    </creator>
-  </creators>
-  <titles>
-    <title xml:lang="en">Critical Engineering Literacy Test (CELT)</title>
-  </titles>
-  <publisher xml:lang="en">Purdue University Research Repository (PURR)</publisher>
-  <publicationYear>2013</publicationYear>
-  <subjects>
-    <subject xml:lang="en">Assessment</subject>
-    <subject xml:lang="en">Information Literacy</subject>
-    <subject xml:lang="en">Engineering</subject>
-    <subject xml:lang="en">Undergraduate Students</subject>
-    <subject xml:lang="en">CELT</subject>
-    <subject xml:lang="en">Purdue University</subject>
-  </subjects>
-  <language>en</language>
-  <resourceType resourceTypeGeneral="Dataset">Dataset</resourceType>
-  <version>1.0</version>
-  <descriptions>
-    <description xml:lang="en" descriptionType="Abstract">We developed an instrument, Critical Engineering Literacy Test (CELT), which is a multiple choice instrument designed to measure undergraduate students’ scientific and information literacy skills. It requires students to first read a technical memo and, based on the memo’s arguments, answer eight multiple choice and six open-ended response questions. We collected data from 143 first-year engineering students and conducted an item analysis. The KR-20 reliability of the instrument was .39. Item difficulties ranged between .17 to .83. The results indicate low reliability index but acceptable levels of item difficulties and item discrimination indices. Students were most challenged when answering items measuring scientific and mathematical literacy (i.e., identifying incorrect information).</description>
-  </descriptions>
-</resource>
diff --git a/dbrepo-identifier-service/rest-service/src/test/resources/xml/metadata0.xml b/dbrepo-identifier-service/rest-service/src/test/resources/xml/metadata0.xml
deleted file mode 100644
index 1b4e85d368..0000000000
--- a/dbrepo-identifier-service/rest-service/src/test/resources/xml/metadata0.xml
+++ /dev/null
@@ -1,19 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<resource xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://datacite.org/schema/kernel-4"
-          xsi:schemaLocation="http://datacite.org/schema/kernel-4 https://schema.datacite.org/meta/kernel-4.4/metadata.xsd">
-    <identifier identifierType="PID">http://localhost:3000/pid/1</identifier>
-    <titles>
-        <title xml:lang="en">Australia weather data</title>
-    </titles>
-    <publisher xml:lang="en">Australian Government</publisher>
-    <publicationYear>2022</publicationYear>
-    <dates>
-        <date dateType="Issued">2022-01-07T20:45:52Z</date>
-        <date dateType="Available">2022-01-07T20:45:52Z</date>
-    </dates>
-    <resourceType resourceTypeGeneral="Dataset">Dataset</resourceType>
-    <descriptions>
-        <description descriptionType="Abstract">Selecting all from the weather Australia table</description>
-    </descriptions>
-    <version>1.0</version>
-</resource>
\ No newline at end of file
diff --git a/dbrepo-identifier-service/rest-service/src/test/resources/xml/metadata1.xml b/dbrepo-identifier-service/rest-service/src/test/resources/xml/metadata1.xml
deleted file mode 100644
index cb6aaeede1..0000000000
--- a/dbrepo-identifier-service/rest-service/src/test/resources/xml/metadata1.xml
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<resource xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://datacite.org/schema/kernel-4"
-          xsi:schemaLocation="http://datacite.org/schema/kernel-4 https://schema.datacite.org/meta/kernel-4.4/metadata.xsd">
-    <identifier identifierType="PID">http://localhost:3000/pid/1</identifier>
-    <creators>
-        <creator>
-            <creatorName nameType="Personal">Mustermann, Max</creatorName>
-            <givenName>Max</givenName>
-            <familyName>Mustermann</familyName>
-            <nameIdentifier schemeURI="https://orcid.org" nameIdentifierScheme="ORCID">00000-00000-00000
-            </nameIdentifier>
-        </creator>
-    </creators>
-    <titles>
-        <title xml:lang="en">Australia weather data</title>
-    </titles>
-    <publisher xml:lang="en">Australian Government</publisher>
-    <publicationYear>2022</publicationYear>
-    <dates>
-        <date dateType="Issued">2022-01-07T20:45:52Z</date>
-        <date dateType="Available">2022-01-07T20:45:52Z</date>
-    </dates>
-    <resourceType resourceTypeGeneral="Dataset">Dataset</resourceType>
-    <descriptions>
-        <description descriptionType="Abstract">Selecting all from the weather Australia table</description>
-    </descriptions>
-    <version>1.0</version>
-</resource>
\ No newline at end of file
diff --git a/dbrepo-identifier-service/rest-service/~ b/dbrepo-identifier-service/rest-service/~
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/dbrepo-identifier-service/services/pom.xml b/dbrepo-identifier-service/services/pom.xml
deleted file mode 100644
index d1eae1c8a0..0000000000
--- a/dbrepo-identifier-service/services/pom.xml
+++ /dev/null
@@ -1,50 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<project xmlns="http://maven.apache.org/POM/4.0.0"
-         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
-    <modelVersion>4.0.0</modelVersion>
-    <dependencies>
-        <dependency>
-            <groupId>at.tuwien</groupId>
-            <artifactId>api</artifactId>
-            <version>1.3.0</version>
-            <scope>compile</scope>
-        </dependency>
-    </dependencies>
-    <parent>
-        <artifactId>dbrepo-identifier-service</artifactId>
-        <groupId>at.tuwien</groupId>
-        <version>1.3.0</version>
-    </parent>
-
-    <artifactId>services</artifactId>
-    <version>1.3.0</version>
-    <name>dbrepo-identifier-service-services</name>
-
-    <build>
-        <plugins>
-            <plugin>
-                <groupId>org.apache.maven.plugins</groupId>
-                <artifactId>maven-compiler-plugin</artifactId>
-                <configuration>
-                    <source>${java.version}</source>
-                    <target>${java.version}</target>
-                    <annotationProcessorPaths>
-                        <path>
-                            <groupId>org.projectlombok</groupId>
-                            <artifactId>lombok</artifactId>
-                            <version>${lombok.version}</version>
-                        </path>
-                        <!-- keep this order https://stackoverflow.com/questions/47676369/mapstruct-and-lombok-not-working-together#answer-65021876 -->
-                        <path>
-                            <groupId>org.mapstruct</groupId>
-                            <artifactId>mapstruct-processor</artifactId>
-                            <version>${mapstruct.version}</version>
-                        </path>
-                    </annotationProcessorPaths>
-                </configuration>
-            </plugin>
-        </plugins>
-    </build>
-
-</project>
diff --git a/dbrepo-identifier-service/services/src/main/java/at/tuwien/auth/AuthTokenFilter.java b/dbrepo-identifier-service/services/src/main/java/at/tuwien/auth/AuthTokenFilter.java
deleted file mode 100644
index 92b60f4f8a..0000000000
--- a/dbrepo-identifier-service/services/src/main/java/at/tuwien/auth/AuthTokenFilter.java
+++ /dev/null
@@ -1,100 +0,0 @@
-package at.tuwien.auth;
-
-import at.tuwien.api.auth.RealmAccessDto;
-import at.tuwien.api.user.UserDetailsDto;
-import com.auth0.jwt.JWT;
-import com.auth0.jwt.JWTVerifier;
-import com.auth0.jwt.algorithms.Algorithm;
-import com.auth0.jwt.interfaces.DecodedJWT;
-import jakarta.servlet.FilterChain;
-import jakarta.servlet.ServletException;
-import jakarta.servlet.http.HttpServletRequest;
-import jakarta.servlet.http.HttpServletResponse;
-import lombok.extern.slf4j.Slf4j;
-import org.springframework.beans.factory.annotation.Value;
-import org.springframework.security.authentication.UsernamePasswordAuthenticationToken;
-import org.springframework.security.core.authority.SimpleGrantedAuthority;
-import org.springframework.security.core.context.SecurityContextHolder;
-import org.springframework.security.core.userdetails.UserDetails;
-import org.springframework.security.web.authentication.WebAuthenticationDetailsSource;
-import org.springframework.util.StringUtils;
-import org.springframework.web.filter.OncePerRequestFilter;
-
-import java.io.IOException;
-import java.security.KeyFactory;
-import java.security.NoSuchAlgorithmException;
-import java.security.interfaces.RSAPublicKey;
-import java.security.spec.InvalidKeySpecException;
-import java.security.spec.X509EncodedKeySpec;
-import java.util.Arrays;
-import java.util.Base64;
-import java.util.stream.Collectors;
-
-@Slf4j
-public class AuthTokenFilter extends OncePerRequestFilter {
-
-    @Value("${fda.jwt.issuer}")
-    private String issuer;
-
-    @Value("${fda.jwt.public_key}")
-    private String publicKey;
-
-    @Override
-    protected void doFilterInternal(HttpServletRequest request, HttpServletResponse response, FilterChain filterChain)
-            throws ServletException, IOException {
-        final String jwt = parseJwt(request);
-        if (jwt != null) {
-            final UserDetails userDetails = verifyJwt(jwt);
-            log.debug("authenticated user {}", userDetails);
-            final UsernamePasswordAuthenticationToken authentication = new UsernamePasswordAuthenticationToken(
-                    userDetails, null, userDetails.getAuthorities());
-            authentication.setDetails(new WebAuthenticationDetailsSource().buildDetails(request));
-
-            SecurityContextHolder.getContext().setAuthentication(authentication);
-        }
-        filterChain.doFilter(request, response);
-    }
-
-    public UserDetails verifyJwt(String token) throws ServletException {
-        final KeyFactory kf;
-        try {
-            kf = KeyFactory.getInstance("RSA");
-        } catch (NoSuchAlgorithmException e) {
-            log.error("Failed to find RSA algorithm");
-            throw new ServletException("Failed to find RSA algorithm", e);
-        }
-        final X509EncodedKeySpec keySpecX509 = new X509EncodedKeySpec(Base64.getDecoder().decode(publicKey));
-        final RSAPublicKey pubKey;
-        try {
-            pubKey = (RSAPublicKey) kf.generatePublic(keySpecX509);
-        } catch (InvalidKeySpecException e) {
-            log.error("Provided public key is invalid");
-            throw new ServletException("Provided public key is invalid", e);
-        }
-        final Algorithm algorithm = Algorithm.RSA256(pubKey, null);
-        JWTVerifier verifier = JWT.require(algorithm)
-                .withIssuer(issuer)
-                .withAudience("spring")
-                .build();
-        final DecodedJWT jwt = verifier.verify(token);
-        final RealmAccessDto realmAccess = jwt.getClaim("realm_access").as(RealmAccessDto.class);
-        return UserDetailsDto.builder()
-                .username(jwt.getClaim("client_id").asString())
-                .authorities(Arrays.stream(realmAccess.getRoles()).map(SimpleGrantedAuthority::new).collect(Collectors.toList()))
-                .build();
-    }
-
-    /**
-     * Parses the token from the HTTP header of the request
-     *
-     * @param request The request.
-     * @return The token.
-     */
-    public String parseJwt(HttpServletRequest request) {
-        String headerAuth = request.getHeader("Authorization");
-        if (StringUtils.hasText(headerAuth) && headerAuth.startsWith("Bearer ")) {
-            return headerAuth.substring(7, headerAuth.length());
-        }
-        return null;
-    }
-}
\ No newline at end of file
diff --git a/dbrepo-identifier-service/services/src/main/java/at/tuwien/config/DataCiteConfig.java b/dbrepo-identifier-service/services/src/main/java/at/tuwien/config/DataCiteConfig.java
deleted file mode 100644
index ec84c3f4ff..0000000000
--- a/dbrepo-identifier-service/services/src/main/java/at/tuwien/config/DataCiteConfig.java
+++ /dev/null
@@ -1,24 +0,0 @@
-package at.tuwien.config;
-
-import lombok.Getter;
-import org.springframework.beans.factory.annotation.Value;
-import org.springframework.context.annotation.Configuration;
-import org.springframework.context.annotation.Profile;
-
-@Getter
-@Profile("doi")
-@Configuration
-public class DataCiteConfig {
-
-    @Value("${fda.datacite.url}")
-    private String url;
-
-    @Value("${fda.datacite.prefix}")
-    private String prefix;
-
-    @Value("${fda.datacite.username}")
-    private String username;
-
-    @Value("${fda.datacite.password}")
-    private String password;
-}
diff --git a/dbrepo-identifier-service/services/src/main/java/at/tuwien/config/EndpointConfig.java b/dbrepo-identifier-service/services/src/main/java/at/tuwien/config/EndpointConfig.java
deleted file mode 100644
index 88b1a613f8..0000000000
--- a/dbrepo-identifier-service/services/src/main/java/at/tuwien/config/EndpointConfig.java
+++ /dev/null
@@ -1,14 +0,0 @@
-package at.tuwien.config;
-
-import lombok.Getter;
-import org.springframework.beans.factory.annotation.Value;
-import org.springframework.context.annotation.Configuration;
-
-@Getter
-@Configuration
-public class EndpointConfig {
-
-    @Value("${fda.website}")
-    private String websiteUrl;
-
-}
diff --git a/dbrepo-identifier-service/services/src/main/java/at/tuwien/config/GatewayConfig.java b/dbrepo-identifier-service/services/src/main/java/at/tuwien/config/GatewayConfig.java
deleted file mode 100644
index ca023e1ad0..0000000000
--- a/dbrepo-identifier-service/services/src/main/java/at/tuwien/config/GatewayConfig.java
+++ /dev/null
@@ -1,38 +0,0 @@
-package at.tuwien.config;
-
-import org.springframework.beans.factory.annotation.Value;
-import org.springframework.context.annotation.Bean;
-import org.springframework.context.annotation.Configuration;
-import org.springframework.http.client.support.BasicAuthenticationInterceptor;
-import org.springframework.web.client.RestTemplate;
-import org.springframework.web.util.DefaultUriBuilderFactory;
-
-@Configuration
-public class GatewayConfig {
-
-    @Value("${fda.gateway.endpoint}")
-    private String gatewayEndpoint;
-
-    @Value("${spring.rabbitmq.username}")
-    private String brokerUsername;
-
-    @Value("${spring.rabbitmq.password}")
-    private String brokerPassword;
-
-    @Bean("restTemplate")
-    public RestTemplate restTemplate() {
-        final RestTemplate restTemplate = new RestTemplate();
-        restTemplate.setUriTemplateHandler(new DefaultUriBuilderFactory(gatewayEndpoint));
-        return restTemplate;
-    }
-
-    @Bean("brokerRestTemplate")
-    public RestTemplate brokerRestTemplate() {
-        final RestTemplate restTemplate = new RestTemplate();
-        restTemplate.setUriTemplateHandler(new DefaultUriBuilderFactory(gatewayEndpoint));
-        restTemplate.getInterceptors()
-                .add(new BasicAuthenticationInterceptor(brokerUsername, brokerPassword));
-        return restTemplate;
-    }
-
-}
diff --git a/dbrepo-identifier-service/services/src/main/java/at/tuwien/config/JacksonConfig.java b/dbrepo-identifier-service/services/src/main/java/at/tuwien/config/JacksonConfig.java
deleted file mode 100644
index a5c64eaa04..0000000000
--- a/dbrepo-identifier-service/services/src/main/java/at/tuwien/config/JacksonConfig.java
+++ /dev/null
@@ -1,32 +0,0 @@
-package at.tuwien.config;
-
-import com.fasterxml.jackson.core.JsonProcessingException;
-import com.fasterxml.jackson.databind.ObjectMapper;
-import com.fasterxml.jackson.databind.SerializationFeature;
-import com.fasterxml.jackson.datatype.jdk8.Jdk8Module;
-import com.fasterxml.jackson.datatype.jsr310.JavaTimeModule;
-import lombok.extern.slf4j.Slf4j;
-import org.springframework.context.annotation.Bean;
-import org.springframework.context.annotation.Configuration;
-import org.springframework.context.annotation.Primary;
-
-import java.util.Date;
-import java.util.TimeZone;
-
-@Slf4j
-@Configuration
-public class JacksonConfig {
-
-    @Bean
-    @Primary
-    public ObjectMapper objectMapper() throws JsonProcessingException {
-        final ObjectMapper objectMapper = new ObjectMapper();
-        objectMapper.registerModule(new Jdk8Module());
-        objectMapper.registerModule(new JavaTimeModule());
-        objectMapper.configure(SerializationFeature.WRITE_DATES_AS_TIMESTAMPS, false);
-        objectMapper.setTimeZone(TimeZone.getTimeZone("UTC"));
-        log.debug("current time is {}", objectMapper.writeValueAsString(new Date()));
-        return objectMapper;
-    }
-
-}
diff --git a/dbrepo-identifier-service/services/src/main/java/at/tuwien/config/OpenSearchConfig.java b/dbrepo-identifier-service/services/src/main/java/at/tuwien/config/OpenSearchConfig.java
deleted file mode 100644
index 48f9f2eeda..0000000000
--- a/dbrepo-identifier-service/services/src/main/java/at/tuwien/config/OpenSearchConfig.java
+++ /dev/null
@@ -1,61 +0,0 @@
-package at.tuwien.config;
-
-import lombok.extern.log4j.Log4j2;
-import org.apache.http.HttpHost;
-import org.apache.http.auth.AuthScope;
-import org.apache.http.auth.UsernamePasswordCredentials;
-import org.apache.http.client.CredentialsProvider;
-import org.apache.http.impl.client.BasicCredentialsProvider;
-import org.opensearch.client.RestClient;
-import org.opensearch.client.RestClientBuilder;
-import org.opensearch.client.RestHighLevelClient;
-import org.opensearch.client.sniff.NodesSniffer;
-import org.opensearch.client.sniff.OpenSearchNodesSniffer;
-import org.opensearch.client.sniff.Sniffer;
-import org.opensearch.data.client.orhlc.AbstractOpenSearchConfiguration;
-import org.springframework.beans.factory.annotation.Value;
-import org.springframework.context.annotation.Bean;
-import org.springframework.context.annotation.Configuration;
-
-import java.util.concurrent.TimeUnit;
-
-@Log4j2
-@Configuration
-public class OpenSearchConfig extends AbstractOpenSearchConfiguration {
-
-    @Value("${spring.opensearch.host}")
-    private String openSearchHost;
-
-    @Value("${spring.opensearch.port}")
-    private Integer openSearchPort;
-
-    @Value("${spring.opensearch.protocol}")
-    private String openSearchProtocol;
-
-    @Value("${spring.opensearch.username}")
-    private String openSearchUsername;
-
-    @Value("${spring.opensearch.password}")
-    private String openSearchPassword;
-
-    @Bean
-    @Override
-    public RestHighLevelClient opensearchClient() {
-        log.debug("open search endpoint: {}://{}:{}", openSearchProtocol, openSearchHost, openSearchPort);
-        final CredentialsProvider credentialsProvider = new BasicCredentialsProvider();
-        credentialsProvider.setCredentials(AuthScope.ANY, new UsernamePasswordCredentials(openSearchUsername, openSearchPassword));
-        RestClientBuilder builder = RestClient.builder(new HttpHost(openSearchHost, openSearchPort, openSearchProtocol))
-                .setHttpClientConfigCallback(httpClientBuilder -> httpClientBuilder.setDefaultCredentialsProvider(credentialsProvider));
-        return new RestHighLevelClient(builder);
-    }
-
-    @Bean
-    public Sniffer nodesSniffer() {
-        final NodesSniffer nodesSniffer = new OpenSearchNodesSniffer(opensearchClient().getLowLevelClient(),
-                TimeUnit.SECONDS.toMillis(5), OpenSearchNodesSniffer.Scheme.HTTP);
-        return Sniffer.builder(opensearchClient().getLowLevelClient())
-                .setNodesSniffer(nodesSniffer)
-                .build();
-
-    }
-}
\ No newline at end of file
diff --git a/dbrepo-identifier-service/services/src/main/java/at/tuwien/config/TemplateConfig.java b/dbrepo-identifier-service/services/src/main/java/at/tuwien/config/TemplateConfig.java
deleted file mode 100644
index d38f17c6cb..0000000000
--- a/dbrepo-identifier-service/services/src/main/java/at/tuwien/config/TemplateConfig.java
+++ /dev/null
@@ -1,30 +0,0 @@
-package at.tuwien.config;
-
-import org.springframework.context.annotation.Bean;
-import org.springframework.context.annotation.Configuration;
-import org.thymeleaf.spring6.SpringTemplateEngine;
-import org.thymeleaf.templatemode.TemplateMode;
-import org.thymeleaf.templateresolver.ClassLoaderTemplateResolver;
-
-import java.nio.charset.StandardCharsets;
-
-@Configuration
-public class TemplateConfig {
-
-    @Bean
-    public SpringTemplateEngine springTemplateEngine() {
-        final SpringTemplateEngine springTemplateEngine = new SpringTemplateEngine();
-        springTemplateEngine.addTemplateResolver(oaiTemplateResolver());
-        return springTemplateEngine;
-    }
-
-    private ClassLoaderTemplateResolver oaiTemplateResolver() {
-        final ClassLoaderTemplateResolver oaiTemplateResolver = new ClassLoaderTemplateResolver();
-        oaiTemplateResolver.setPrefix("/templates/");
-        oaiTemplateResolver.setSuffix(".xml");
-        oaiTemplateResolver.setTemplateMode(TemplateMode.TEXT);
-        oaiTemplateResolver.setCharacterEncoding(StandardCharsets.UTF_8.name());
-        oaiTemplateResolver.setCacheable(false);
-        return oaiTemplateResolver;
-    }
-}
diff --git a/dbrepo-identifier-service/services/src/main/java/at/tuwien/config/WebSecurityConfig.java b/dbrepo-identifier-service/services/src/main/java/at/tuwien/config/WebSecurityConfig.java
deleted file mode 100644
index 4169e7977c..0000000000
--- a/dbrepo-identifier-service/services/src/main/java/at/tuwien/config/WebSecurityConfig.java
+++ /dev/null
@@ -1,96 +0,0 @@
-package at.tuwien.config;
-
-import at.tuwien.auth.AuthTokenFilter;
-import io.swagger.v3.oas.annotations.enums.SecuritySchemeType;
-import io.swagger.v3.oas.annotations.security.SecurityScheme;
-import org.springframework.context.annotation.Bean;
-import org.springframework.context.annotation.Configuration;
-import org.springframework.http.HttpMethod;
-import org.springframework.security.config.annotation.method.configuration.EnableGlobalMethodSecurity;
-import org.springframework.security.config.annotation.web.builders.HttpSecurity;
-import org.springframework.security.config.annotation.web.configuration.EnableWebSecurity;
-import org.springframework.security.config.http.SessionCreationPolicy;
-import org.springframework.security.web.SecurityFilterChain;
-import org.springframework.security.web.authentication.UsernamePasswordAuthenticationFilter;
-import org.springframework.security.web.util.matcher.AntPathRequestMatcher;
-import org.springframework.security.web.util.matcher.OrRequestMatcher;
-import org.springframework.web.cors.CorsConfiguration;
-import org.springframework.web.cors.UrlBasedCorsConfigurationSource;
-import org.springframework.web.filter.CorsFilter;
-
-import jakarta.servlet.http.HttpServletResponse;
-
-@Configuration
-@EnableWebSecurity
-@EnableGlobalMethodSecurity(prePostEnabled = true)
-@SecurityScheme(
-        name = "bearerAuth",
-        type = SecuritySchemeType.HTTP,
-        bearerFormat = "JWT",
-        scheme = "bearer"
-)
-public class WebSecurityConfig {
-
-    @Bean
-    public AuthTokenFilter authTokenFilter() {
-        return new AuthTokenFilter();
-    }
-
-    @Bean
-    public SecurityFilterChain filterChain(HttpSecurity http) throws Exception {
-        final OrRequestMatcher internalEndpoints = new OrRequestMatcher(
-                new AntPathRequestMatcher("/actuator/**", "GET"),
-                new AntPathRequestMatcher("/v3/api-docs.yaml"),
-                new AntPathRequestMatcher("/v3/api-docs/**"),
-                new AntPathRequestMatcher("/swagger-ui/**"),
-                new AntPathRequestMatcher("/swagger-ui.html")
-        );
-        final OrRequestMatcher publicEndpoints = new OrRequestMatcher(
-                new AntPathRequestMatcher("/api/identifier/**", "GET"),
-                new AntPathRequestMatcher("/api/pid/**", "GET")
-        );
-        /* enable CORS and disable CSRF */
-        http = http.cors().and().csrf().disable();
-        /* set session management to stateless */
-        http = http
-                .sessionManagement()
-                .sessionCreationPolicy(SessionCreationPolicy.STATELESS)
-                .and();
-        /* set unauthorized requests exception handler */
-        http = http
-                .exceptionHandling()
-                .authenticationEntryPoint(
-                        (request, response, ex) -> {
-                            response.sendError(HttpServletResponse.SC_UNAUTHORIZED,
-                                    ex.getMessage()
-                            );
-                        }
-                ).and();
-        /* set permissions on endpoints */
-        http.authorizeHttpRequests()
-                /* our internal endpoints */
-                .requestMatchers(internalEndpoints).permitAll()
-                /* our public endpoints */
-                .requestMatchers(publicEndpoints).permitAll()
-                /* our private endpoints */
-                .anyRequest().authenticated();
-        /* add JWT token filter */
-        http.addFilterBefore(authTokenFilter(),
-                UsernamePasswordAuthenticationFilter.class
-        );
-        return http.build();
-    }
-
-    @Bean
-    public CorsFilter corsFilter() {
-        final UrlBasedCorsConfigurationSource source = new UrlBasedCorsConfigurationSource();
-        final CorsConfiguration config = new CorsConfiguration();
-        config.setAllowCredentials(true);
-        config.addAllowedOriginPattern("*");
-        config.addAllowedHeader("*");
-        config.addAllowedMethod("*");
-        source.registerCorsConfiguration("/**", config);
-        return new CorsFilter(source);
-    }
-
-}
diff --git a/dbrepo-identifier-service/services/src/main/java/at/tuwien/exception/AccessDeniedException.java b/dbrepo-identifier-service/services/src/main/java/at/tuwien/exception/AccessDeniedException.java
deleted file mode 100644
index 84169f32e0..0000000000
--- a/dbrepo-identifier-service/services/src/main/java/at/tuwien/exception/AccessDeniedException.java
+++ /dev/null
@@ -1,23 +0,0 @@
-package at.tuwien.exception;
-
-import org.springframework.http.HttpStatus;
-import org.springframework.web.bind.annotation.ResponseStatus;
-
-import java.io.IOException;
-
-@ResponseStatus(code = HttpStatus.FORBIDDEN)
-public class AccessDeniedException extends IOException {
-
-    public AccessDeniedException(String msg) {
-        super(msg);
-    }
-
-    public AccessDeniedException(String msg, Throwable thr) {
-        super(msg, thr);
-    }
-
-    public AccessDeniedException(Throwable thr) {
-        super(thr);
-    }
-
-}
diff --git a/dbrepo-identifier-service/services/src/main/java/at/tuwien/exception/DatabaseNotFoundException.java b/dbrepo-identifier-service/services/src/main/java/at/tuwien/exception/DatabaseNotFoundException.java
deleted file mode 100644
index 3c22d6ea35..0000000000
--- a/dbrepo-identifier-service/services/src/main/java/at/tuwien/exception/DatabaseNotFoundException.java
+++ /dev/null
@@ -1,21 +0,0 @@
-package at.tuwien.exception;
-
-import org.springframework.http.HttpStatus;
-import org.springframework.web.bind.annotation.ResponseStatus;
-
-@ResponseStatus(code = HttpStatus.NOT_FOUND)
-public class DatabaseNotFoundException extends Exception {
-
-    public DatabaseNotFoundException(String msg) {
-        super(msg);
-    }
-
-    public DatabaseNotFoundException(String msg, Throwable thr) {
-        super(msg, thr);
-    }
-
-    public DatabaseNotFoundException(Throwable thr) {
-        super(thr);
-    }
-
-}
diff --git a/dbrepo-identifier-service/services/src/main/java/at/tuwien/exception/DoiNotFoundException.java b/dbrepo-identifier-service/services/src/main/java/at/tuwien/exception/DoiNotFoundException.java
deleted file mode 100644
index 4530e1e996..0000000000
--- a/dbrepo-identifier-service/services/src/main/java/at/tuwien/exception/DoiNotFoundException.java
+++ /dev/null
@@ -1,21 +0,0 @@
-package at.tuwien.exception;
-
-import org.springframework.http.HttpStatus;
-import org.springframework.web.bind.annotation.ResponseStatus;
-
-@ResponseStatus(code = HttpStatus.NOT_FOUND)
-public class DoiNotFoundException extends Exception {
-
-    public DoiNotFoundException(String msg) {
-        super(msg);
-    }
-
-    public DoiNotFoundException(String msg, Throwable thr) {
-        super(msg, thr);
-    }
-
-    public DoiNotFoundException(Throwable thr) {
-        super(thr);
-    }
-
-}
diff --git a/dbrepo-identifier-service/services/src/main/java/at/tuwien/exception/IdentifierAlreadyExistsException.java b/dbrepo-identifier-service/services/src/main/java/at/tuwien/exception/IdentifierAlreadyExistsException.java
deleted file mode 100644
index e913485aad..0000000000
--- a/dbrepo-identifier-service/services/src/main/java/at/tuwien/exception/IdentifierAlreadyExistsException.java
+++ /dev/null
@@ -1,21 +0,0 @@
-package at.tuwien.exception;
-
-import org.springframework.http.HttpStatus;
-import org.springframework.web.bind.annotation.ResponseStatus;
-
-@ResponseStatus(code = HttpStatus.CONFLICT)
-public class IdentifierAlreadyExistsException extends Exception {
-
-    public IdentifierAlreadyExistsException(String msg) {
-        super(msg);
-    }
-
-    public IdentifierAlreadyExistsException(String msg, Throwable thr) {
-        super(msg, thr);
-    }
-
-    public IdentifierAlreadyExistsException(Throwable thr) {
-        super(thr);
-    }
-
-}
diff --git a/dbrepo-identifier-service/services/src/main/java/at/tuwien/exception/IdentifierAlreadyPublishedException.java b/dbrepo-identifier-service/services/src/main/java/at/tuwien/exception/IdentifierAlreadyPublishedException.java
deleted file mode 100644
index fefe477205..0000000000
--- a/dbrepo-identifier-service/services/src/main/java/at/tuwien/exception/IdentifierAlreadyPublishedException.java
+++ /dev/null
@@ -1,21 +0,0 @@
-package at.tuwien.exception;
-
-import org.springframework.http.HttpStatus;
-import org.springframework.web.bind.annotation.ResponseStatus;
-
-@ResponseStatus(code = HttpStatus.PRECONDITION_FAILED)
-public class IdentifierAlreadyPublishedException extends Exception {
-
-    public IdentifierAlreadyPublishedException(String msg) {
-        super(msg);
-    }
-
-    public IdentifierAlreadyPublishedException(String msg, Throwable thr) {
-        super(msg, thr);
-    }
-
-    public IdentifierAlreadyPublishedException(Throwable thr) {
-        super(thr);
-    }
-
-}
diff --git a/dbrepo-identifier-service/services/src/main/java/at/tuwien/exception/IdentifierNotFoundException.java b/dbrepo-identifier-service/services/src/main/java/at/tuwien/exception/IdentifierNotFoundException.java
deleted file mode 100644
index f0bb71f364..0000000000
--- a/dbrepo-identifier-service/services/src/main/java/at/tuwien/exception/IdentifierNotFoundException.java
+++ /dev/null
@@ -1,21 +0,0 @@
-package at.tuwien.exception;
-
-import org.springframework.http.HttpStatus;
-import org.springframework.web.bind.annotation.ResponseStatus;
-
-@ResponseStatus(code = HttpStatus.NOT_FOUND)
-public class IdentifierNotFoundException extends Exception {
-
-    public IdentifierNotFoundException(String msg) {
-        super(msg);
-    }
-
-    public IdentifierNotFoundException(String msg, Throwable thr) {
-        super(msg, thr);
-    }
-
-    public IdentifierNotFoundException(Throwable thr) {
-        super(thr);
-    }
-
-}
diff --git a/dbrepo-identifier-service/services/src/main/java/at/tuwien/exception/IdentifierPublishingNotAllowedException.java b/dbrepo-identifier-service/services/src/main/java/at/tuwien/exception/IdentifierPublishingNotAllowedException.java
deleted file mode 100644
index b2748cb9a7..0000000000
--- a/dbrepo-identifier-service/services/src/main/java/at/tuwien/exception/IdentifierPublishingNotAllowedException.java
+++ /dev/null
@@ -1,21 +0,0 @@
-package at.tuwien.exception;
-
-import org.springframework.http.HttpStatus;
-import org.springframework.web.bind.annotation.ResponseStatus;
-
-@ResponseStatus(code = HttpStatus.NOT_ACCEPTABLE)
-public class IdentifierPublishingNotAllowedException extends Exception {
-
-    public IdentifierPublishingNotAllowedException(String msg) {
-        super(msg);
-    }
-
-    public IdentifierPublishingNotAllowedException(String msg, Throwable thr) {
-        super(msg, thr);
-    }
-
-    public IdentifierPublishingNotAllowedException(Throwable thr) {
-        super(thr);
-    }
-
-}
diff --git a/dbrepo-identifier-service/services/src/main/java/at/tuwien/exception/IdentifierRequestException.java b/dbrepo-identifier-service/services/src/main/java/at/tuwien/exception/IdentifierRequestException.java
deleted file mode 100644
index ef20713d6f..0000000000
--- a/dbrepo-identifier-service/services/src/main/java/at/tuwien/exception/IdentifierRequestException.java
+++ /dev/null
@@ -1,21 +0,0 @@
-package at.tuwien.exception;
-
-import org.springframework.http.HttpStatus;
-import org.springframework.web.bind.annotation.ResponseStatus;
-
-@ResponseStatus(code = HttpStatus.BAD_REQUEST)
-public class IdentifierRequestException extends Exception {
-
-    public IdentifierRequestException(String msg) {
-        super(msg);
-    }
-
-    public IdentifierRequestException(String msg, Throwable thr) {
-        super(msg, thr);
-    }
-
-    public IdentifierRequestException(Throwable thr) {
-        super(thr);
-    }
-
-}
diff --git a/dbrepo-identifier-service/services/src/main/java/at/tuwien/exception/IdentifierUpdateBadFormException.java b/dbrepo-identifier-service/services/src/main/java/at/tuwien/exception/IdentifierUpdateBadFormException.java
deleted file mode 100644
index 884a5d4bc5..0000000000
--- a/dbrepo-identifier-service/services/src/main/java/at/tuwien/exception/IdentifierUpdateBadFormException.java
+++ /dev/null
@@ -1,21 +0,0 @@
-package at.tuwien.exception;
-
-import org.springframework.http.HttpStatus;
-import org.springframework.web.bind.annotation.ResponseStatus;
-
-@ResponseStatus(code = HttpStatus.BAD_REQUEST)
-public class IdentifierUpdateBadFormException extends Exception {
-
-    public IdentifierUpdateBadFormException(String msg) {
-        super(msg);
-    }
-
-    public IdentifierUpdateBadFormException(String msg, Throwable thr) {
-        super(msg, thr);
-    }
-
-    public IdentifierUpdateBadFormException(Throwable thr) {
-        super(thr);
-    }
-
-}
diff --git a/dbrepo-identifier-service/services/src/main/java/at/tuwien/exception/NotAllowedException.java b/dbrepo-identifier-service/services/src/main/java/at/tuwien/exception/NotAllowedException.java
deleted file mode 100644
index 44c3d430f9..0000000000
--- a/dbrepo-identifier-service/services/src/main/java/at/tuwien/exception/NotAllowedException.java
+++ /dev/null
@@ -1,21 +0,0 @@
-package at.tuwien.exception;
-
-import org.springframework.http.HttpStatus;
-import org.springframework.web.bind.annotation.ResponseStatus;
-
-@ResponseStatus(code = HttpStatus.METHOD_NOT_ALLOWED)
-public class NotAllowedException extends Exception {
-
-    public NotAllowedException(String msg) {
-        super(msg);
-    }
-
-    public NotAllowedException(String msg, Throwable thr) {
-        super(msg, thr);
-    }
-
-    public NotAllowedException(Throwable thr) {
-        super(thr);
-    }
-
-}
diff --git a/dbrepo-identifier-service/services/src/main/java/at/tuwien/exception/OrcidNotFoundException.java b/dbrepo-identifier-service/services/src/main/java/at/tuwien/exception/OrcidNotFoundException.java
deleted file mode 100644
index 0f87985305..0000000000
--- a/dbrepo-identifier-service/services/src/main/java/at/tuwien/exception/OrcidNotFoundException.java
+++ /dev/null
@@ -1,21 +0,0 @@
-package at.tuwien.exception;
-
-import org.springframework.http.HttpStatus;
-import org.springframework.web.bind.annotation.ResponseStatus;
-
-@ResponseStatus(code = HttpStatus.NOT_FOUND)
-public class OrcidNotFoundException extends Exception {
-
-    public OrcidNotFoundException(String msg) {
-        super(msg);
-    }
-
-    public OrcidNotFoundException(String msg, Throwable thr) {
-        super(msg, thr);
-    }
-
-    public OrcidNotFoundException(Throwable thr) {
-        super(thr);
-    }
-
-}
diff --git a/dbrepo-identifier-service/services/src/main/java/at/tuwien/exception/QueryNotFoundException.java b/dbrepo-identifier-service/services/src/main/java/at/tuwien/exception/QueryNotFoundException.java
deleted file mode 100644
index a5e9075489..0000000000
--- a/dbrepo-identifier-service/services/src/main/java/at/tuwien/exception/QueryNotFoundException.java
+++ /dev/null
@@ -1,21 +0,0 @@
-package at.tuwien.exception;
-
-import org.springframework.http.HttpStatus;
-import org.springframework.web.bind.annotation.ResponseStatus;
-
-@ResponseStatus(code = HttpStatus.NOT_FOUND)
-public class QueryNotFoundException extends Exception {
-
-    public QueryNotFoundException(String msg) {
-        super(msg);
-    }
-
-    public QueryNotFoundException(String msg, Throwable thr) {
-        super(msg, thr);
-    }
-
-    public QueryNotFoundException(Throwable thr) {
-        super(thr);
-    }
-
-}
diff --git a/dbrepo-identifier-service/services/src/main/java/at/tuwien/exception/RemoteUnavailableException.java b/dbrepo-identifier-service/services/src/main/java/at/tuwien/exception/RemoteUnavailableException.java
deleted file mode 100644
index 3e18ea33b5..0000000000
--- a/dbrepo-identifier-service/services/src/main/java/at/tuwien/exception/RemoteUnavailableException.java
+++ /dev/null
@@ -1,21 +0,0 @@
-package at.tuwien.exception;
-
-import org.springframework.http.HttpStatus;
-import org.springframework.web.bind.annotation.ResponseStatus;
-
-@ResponseStatus(code = HttpStatus.BAD_GATEWAY)
-public class RemoteUnavailableException extends Exception {
-
-    public RemoteUnavailableException(String msg) {
-        super(msg);
-    }
-
-    public RemoteUnavailableException(String msg, Throwable thr) {
-        super(msg, thr);
-    }
-
-    public RemoteUnavailableException(Throwable thr) {
-        super(thr);
-    }
-
-}
diff --git a/dbrepo-identifier-service/services/src/main/java/at/tuwien/exception/RorNotFoundException.java b/dbrepo-identifier-service/services/src/main/java/at/tuwien/exception/RorNotFoundException.java
deleted file mode 100644
index e22cad5c36..0000000000
--- a/dbrepo-identifier-service/services/src/main/java/at/tuwien/exception/RorNotFoundException.java
+++ /dev/null
@@ -1,21 +0,0 @@
-package at.tuwien.exception;
-
-import org.springframework.http.HttpStatus;
-import org.springframework.web.bind.annotation.ResponseStatus;
-
-@ResponseStatus(code = HttpStatus.NOT_FOUND)
-public class RorNotFoundException extends Exception {
-
-    public RorNotFoundException(String msg) {
-        super(msg);
-    }
-
-    public RorNotFoundException(String msg, Throwable thr) {
-        super(msg, thr);
-    }
-
-    public RorNotFoundException(Throwable thr) {
-        super(thr);
-    }
-
-}
diff --git a/dbrepo-identifier-service/services/src/main/java/at/tuwien/exception/UserNotFoundException.java b/dbrepo-identifier-service/services/src/main/java/at/tuwien/exception/UserNotFoundException.java
deleted file mode 100644
index 0abb87f609..0000000000
--- a/dbrepo-identifier-service/services/src/main/java/at/tuwien/exception/UserNotFoundException.java
+++ /dev/null
@@ -1,21 +0,0 @@
-package at.tuwien.exception;
-
-import org.springframework.http.HttpStatus;
-import org.springframework.web.bind.annotation.ResponseStatus;
-
-@ResponseStatus(code = HttpStatus.NOT_FOUND, reason = "User not found")
-public class UserNotFoundException extends Exception {
-
-    public UserNotFoundException(String message) {
-        super(message);
-    }
-
-    public UserNotFoundException(String message, Throwable thr) {
-        super(message, thr);
-    }
-
-    public UserNotFoundException(Throwable thr) {
-        super(thr);
-    }
-
-}
diff --git a/dbrepo-identifier-service/services/src/main/java/at/tuwien/exception/ViewNotFoundException.java b/dbrepo-identifier-service/services/src/main/java/at/tuwien/exception/ViewNotFoundException.java
deleted file mode 100644
index 2f260975ff..0000000000
--- a/dbrepo-identifier-service/services/src/main/java/at/tuwien/exception/ViewNotFoundException.java
+++ /dev/null
@@ -1,21 +0,0 @@
-package at.tuwien.exception;
-
-import org.springframework.http.HttpStatus;
-import org.springframework.web.bind.annotation.ResponseStatus;
-
-@ResponseStatus(code = HttpStatus.NOT_FOUND, reason = "View not found")
-public class ViewNotFoundException extends Exception {
-
-    public ViewNotFoundException(String message) {
-        super(message);
-    }
-
-    public ViewNotFoundException(String message, Throwable thr) {
-        super(message, thr);
-    }
-
-    public ViewNotFoundException(Throwable thr) {
-        super(thr);
-    }
-
-}
diff --git a/dbrepo-identifier-service/services/src/main/java/at/tuwien/gateway/ApiTemplateInterceptor.java b/dbrepo-identifier-service/services/src/main/java/at/tuwien/gateway/ApiTemplateInterceptor.java
deleted file mode 100644
index 2ffd0f6a0f..0000000000
--- a/dbrepo-identifier-service/services/src/main/java/at/tuwien/gateway/ApiTemplateInterceptor.java
+++ /dev/null
@@ -1,7 +0,0 @@
-package at.tuwien.gateway;
-
-import org.springframework.stereotype.Service;
-
-@Service
-public interface ApiTemplateInterceptor {
-}
diff --git a/dbrepo-identifier-service/services/src/main/java/at/tuwien/gateway/CrossrefGateway.java b/dbrepo-identifier-service/services/src/main/java/at/tuwien/gateway/CrossrefGateway.java
deleted file mode 100644
index 30bc0dc73d..0000000000
--- a/dbrepo-identifier-service/services/src/main/java/at/tuwien/gateway/CrossrefGateway.java
+++ /dev/null
@@ -1,8 +0,0 @@
-package at.tuwien.gateway;
-
-import at.tuwien.api.crossref.CrossrefDto;
-import at.tuwien.exception.DoiNotFoundException;
-
-public interface CrossrefGateway {
-    CrossrefDto findById(String id) throws DoiNotFoundException;
-}
diff --git a/dbrepo-identifier-service/services/src/main/java/at/tuwien/gateway/OrcidGateway.java b/dbrepo-identifier-service/services/src/main/java/at/tuwien/gateway/OrcidGateway.java
deleted file mode 100644
index b949ddbadd..0000000000
--- a/dbrepo-identifier-service/services/src/main/java/at/tuwien/gateway/OrcidGateway.java
+++ /dev/null
@@ -1,11 +0,0 @@
-package at.tuwien.gateway;
-
-import at.tuwien.api.orcid.OrcidDto;
-import at.tuwien.exception.OrcidNotFoundException;
-import org.springframework.stereotype.Service;
-
-@Service
-public interface OrcidGateway {
-
-    OrcidDto findByUrl(String url) throws OrcidNotFoundException;
-}
diff --git a/dbrepo-identifier-service/services/src/main/java/at/tuwien/gateway/QueryServiceGateway.java b/dbrepo-identifier-service/services/src/main/java/at/tuwien/gateway/QueryServiceGateway.java
deleted file mode 100644
index aef227e06f..0000000000
--- a/dbrepo-identifier-service/services/src/main/java/at/tuwien/gateway/QueryServiceGateway.java
+++ /dev/null
@@ -1,36 +0,0 @@
-package at.tuwien.gateway;
-
-import at.tuwien.api.database.query.QueryDto;
-import at.tuwien.api.identifier.IdentifierSaveDto;
-import at.tuwien.exception.QueryNotFoundException;
-import at.tuwien.exception.RemoteUnavailableException;
-import org.springframework.stereotype.Service;
-
-@Service
-public interface QueryServiceGateway {
-
-    /**
-     * Finds a query by given id from the query service that internally looks in the query store of a container.
-     *
-     * @param databaseId    The database id.
-     * @param identifier    The identifier containing the query id and database id.
-     * @param authorization The authorization token.
-     * @return The query information if successful.
-     * @throws QueryNotFoundException     The query was not found.
-     * @throws RemoteUnavailableException The remote service is not available.
-     */
-    QueryDto find(Long databaseId, IdentifierSaveDto identifier, String authorization)
-            throws QueryNotFoundException, RemoteUnavailableException;
-
-    /**
-     * Exports a query by given id.
-     *
-     * @param databaseId  The database id.
-     * @param queryId     The query id.
-     * @return The exported resource as bytes.
-     * @throws RemoteUnavailableException The remote service is not available.
-     * @throws QueryNotFoundException     The query was not found.
-     */
-    byte[] export(Long databaseId, Long queryId) throws RemoteUnavailableException,
-            QueryNotFoundException;
-}
diff --git a/dbrepo-identifier-service/services/src/main/java/at/tuwien/gateway/RorGateway.java b/dbrepo-identifier-service/services/src/main/java/at/tuwien/gateway/RorGateway.java
deleted file mode 100644
index 29f226efe7..0000000000
--- a/dbrepo-identifier-service/services/src/main/java/at/tuwien/gateway/RorGateway.java
+++ /dev/null
@@ -1,9 +0,0 @@
-package at.tuwien.gateway;
-
-import at.tuwien.api.ror.RorDto;
-import at.tuwien.exception.RorNotFoundException;
-
-public interface RorGateway {
-
-    RorDto findById(String id) throws RorNotFoundException;
-}
diff --git a/dbrepo-identifier-service/services/src/main/java/at/tuwien/gateway/impl/ApiTemplateInterceptorImpl.java b/dbrepo-identifier-service/services/src/main/java/at/tuwien/gateway/impl/ApiTemplateInterceptorImpl.java
deleted file mode 100644
index 27517359c2..0000000000
--- a/dbrepo-identifier-service/services/src/main/java/at/tuwien/gateway/impl/ApiTemplateInterceptorImpl.java
+++ /dev/null
@@ -1,22 +0,0 @@
-package at.tuwien.gateway.impl;
-
-import at.tuwien.gateway.ApiTemplateInterceptor;
-import org.springframework.http.HttpRequest;
-import org.springframework.http.client.ClientHttpRequestExecution;
-import org.springframework.http.client.ClientHttpRequestInterceptor;
-import org.springframework.http.client.ClientHttpResponse;
-import org.springframework.stereotype.Service;
-
-import java.io.IOException;
-
-@Service
-public class ApiTemplateInterceptorImpl implements ApiTemplateInterceptor, ClientHttpRequestInterceptor {
-
-    @Override
-    public ClientHttpResponse intercept(HttpRequest request, byte[] body, ClientHttpRequestExecution execution)
-            throws IOException {
-        request.getHeaders().set("Content-Type", "application/json");
-        request.getHeaders().set("Accept", "application/json");
-        return execution.execute(request, body);
-    }
-}
diff --git a/dbrepo-identifier-service/services/src/main/java/at/tuwien/gateway/impl/CrossrefGatewayImpl.java b/dbrepo-identifier-service/services/src/main/java/at/tuwien/gateway/impl/CrossrefGatewayImpl.java
deleted file mode 100644
index af3fe58732..0000000000
--- a/dbrepo-identifier-service/services/src/main/java/at/tuwien/gateway/impl/CrossrefGatewayImpl.java
+++ /dev/null
@@ -1,41 +0,0 @@
-package at.tuwien.gateway.impl;
-
-import at.tuwien.api.crossref.CrossrefDto;
-import at.tuwien.exception.DoiNotFoundException;
-import at.tuwien.gateway.CrossrefGateway;
-import lombok.extern.log4j.Log4j2;
-import org.springframework.http.HttpEntity;
-import org.springframework.http.HttpHeaders;
-import org.springframework.http.HttpMethod;
-import org.springframework.http.ResponseEntity;
-import org.springframework.stereotype.Service;
-import org.springframework.web.client.HttpServerErrorException;
-import org.springframework.web.client.ResourceAccessException;
-import org.springframework.web.client.RestTemplate;
-
-@Log4j2
-@Service
-public class CrossrefGatewayImpl implements CrossrefGateway {
-
-    private final RestTemplate restTemplate;
-
-    public CrossrefGatewayImpl() {
-        this.restTemplate = new RestTemplate();
-    }
-
-    @Override
-    public CrossrefDto findById(String id) throws DoiNotFoundException {
-        final HttpHeaders headers = new HttpHeaders();
-        headers.set("Accept", "application/json");
-        final String url = "http://data.crossref.org/fundingdata/funder/" + id;
-        final ResponseEntity<CrossrefDto> response;
-        try {
-            log.trace("call CrossRef id {}", id);
-            response = restTemplate.exchange(url, HttpMethod.GET, new HttpEntity<>(null, headers), CrossrefDto.class);
-        } catch (ResourceAccessException | HttpServerErrorException.ServiceUnavailable e) {
-            log.error("Failed to retrieve CrossRef metadata from URL {}: {}", url, e.getMessage());
-            throw new DoiNotFoundException("Failed to retrieve CrossRef metadata from URL " + url + ": " + e.getMessage());
-        }
-        return response.getBody();
-    }
-}
\ No newline at end of file
diff --git a/dbrepo-identifier-service/services/src/main/java/at/tuwien/gateway/impl/OrcidGatewayImpl.java b/dbrepo-identifier-service/services/src/main/java/at/tuwien/gateway/impl/OrcidGatewayImpl.java
deleted file mode 100644
index 8e46c75066..0000000000
--- a/dbrepo-identifier-service/services/src/main/java/at/tuwien/gateway/impl/OrcidGatewayImpl.java
+++ /dev/null
@@ -1,40 +0,0 @@
-package at.tuwien.gateway.impl;
-
-import at.tuwien.api.orcid.OrcidDto;
-import at.tuwien.exception.OrcidNotFoundException;
-import at.tuwien.gateway.OrcidGateway;
-import lombok.extern.log4j.Log4j2;
-import org.springframework.http.HttpEntity;
-import org.springframework.http.HttpHeaders;
-import org.springframework.http.HttpMethod;
-import org.springframework.http.ResponseEntity;
-import org.springframework.stereotype.Service;
-import org.springframework.web.client.HttpServerErrorException;
-import org.springframework.web.client.ResourceAccessException;
-import org.springframework.web.client.RestTemplate;
-
-@Log4j2
-@Service
-public class OrcidGatewayImpl implements OrcidGateway {
-
-    private final RestTemplate restTemplate;
-
-    public OrcidGatewayImpl() {
-        this.restTemplate = new RestTemplate();
-    }
-
-    @Override
-    public OrcidDto findByUrl(String url) throws OrcidNotFoundException {
-        final HttpHeaders headers = new HttpHeaders();
-        headers.set("Accept", "application/json");
-        final ResponseEntity<OrcidDto> response;
-        try {
-            log.trace("call orcid path {}", url);
-            response = restTemplate.exchange(url, HttpMethod.GET, new HttpEntity<>(null, headers), OrcidDto.class);
-        } catch (ResourceAccessException | HttpServerErrorException.ServiceUnavailable e) {
-            log.error("Failed to retrieve ORCID metadata from URL {}: {}", url, e.getMessage());
-            throw new OrcidNotFoundException("Failed to retrieve ORCID metadata from URL " + url + ": " + e.getMessage());
-        }
-        return response.getBody();
-    }
-}
\ No newline at end of file
diff --git a/dbrepo-identifier-service/services/src/main/java/at/tuwien/gateway/impl/QueryServiceGatewayImpl.java b/dbrepo-identifier-service/services/src/main/java/at/tuwien/gateway/impl/QueryServiceGatewayImpl.java
deleted file mode 100644
index 093ad37d18..0000000000
--- a/dbrepo-identifier-service/services/src/main/java/at/tuwien/gateway/impl/QueryServiceGatewayImpl.java
+++ /dev/null
@@ -1,84 +0,0 @@
-package at.tuwien.gateway.impl;
-
-import at.tuwien.api.database.query.QueryDto;
-import at.tuwien.api.identifier.IdentifierSaveDto;
-import at.tuwien.exception.QueryNotFoundException;
-import at.tuwien.exception.RemoteUnavailableException;
-import at.tuwien.gateway.QueryServiceGateway;
-import lombok.extern.slf4j.Slf4j;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.http.*;
-import org.springframework.stereotype.Service;
-import org.springframework.web.client.HttpServerErrorException;
-import org.springframework.web.client.ResourceAccessException;
-import org.springframework.web.client.RestTemplate;
-
-@Slf4j
-@Service
-public class QueryServiceGatewayImpl implements QueryServiceGateway {
-
-    private final RestTemplate restTemplate;
-
-    @Autowired
-    public QueryServiceGatewayImpl(RestTemplate restTemplate) {
-        this.restTemplate = restTemplate;
-    }
-
-    @Override
-    public QueryDto find(Long databaseId, IdentifierSaveDto identifier, String authorization) throws QueryNotFoundException,
-            RemoteUnavailableException {
-        final HttpHeaders headers = new HttpHeaders();
-        headers.set("Authorization", authorization);
-        final String url =
-                "/api/database/" + databaseId + "/query/" + identifier.getQueryId();
-        final ResponseEntity<QueryDto> response;
-        try {
-            log.trace("call gateway path {}", url);
-            response = restTemplate.exchange(url, HttpMethod.GET, new HttpEntity<>(null, headers), QueryDto.class);
-        } catch (ResourceAccessException | HttpServerErrorException.ServiceUnavailable e) {
-            log.error("Query service not available for database with id {} for query with id {}, reason {}",
-                    databaseId, identifier.getQueryId(), e.getMessage());
-            throw new RemoteUnavailableException("Query service not available", e);
-        }
-        if (response.getStatusCode().equals(HttpStatus.NOT_FOUND)) {
-            log.error("Query not found for and database with id {} for query with id {}",
-                    databaseId, identifier.getQueryId());
-            throw new QueryNotFoundException("Query not found");
-        }
-        if (response.getStatusCode().equals(HttpStatus.UNAUTHORIZED)) {
-            log.error("Query not authorized for and database with id {} for query with id {}",
-                    databaseId, identifier.getQueryId());
-            throw new RemoteUnavailableException("Query not authorized");
-        }
-        log.debug("found query {}", response.getBody());
-        return response.getBody();
-    }
-
-    @Override
-    public byte[] export(Long databaseId, Long queryId)
-            throws RemoteUnavailableException, QueryNotFoundException {
-        final String url = "/database/" + databaseId + "/query/" + queryId + "/export";
-        final HttpHeaders headers = new HttpHeaders();
-        headers.add("Accept", "text/csv");
-        final ResponseEntity<byte[]> response;
-        try {
-            log.trace("call gateway path {}", url);
-            response = restTemplate.exchange(url, HttpMethod.GET, new HttpEntity<>(null, headers), byte[].class);
-        } catch (ResourceAccessException | HttpServerErrorException.ServiceUnavailable e) {
-            log.error("Query service not available: {}", e.getMessage());
-            throw new RemoteUnavailableException("Query service not available", e);
-        }
-        if (response.getStatusCode().equals(HttpStatus.NOT_FOUND)) {
-            log.error("Query not found for and database with id {} for query with id {}",
-                    databaseId, queryId);
-            throw new QueryNotFoundException("Query not found");
-        }
-        if (response.getStatusCode().equals(HttpStatus.UNAUTHORIZED)) {
-            log.error("Query not authorized for and database with id {} for query with id {}",
-                    databaseId, queryId);
-            throw new RemoteUnavailableException("Query not authorized");
-        }
-        log.debug("found query {}", response.getBody());
-        return response.getBody();
-    }
-}
diff --git a/dbrepo-identifier-service/services/src/main/java/at/tuwien/gateway/impl/RorGatewayImpl.java b/dbrepo-identifier-service/services/src/main/java/at/tuwien/gateway/impl/RorGatewayImpl.java
deleted file mode 100644
index a9c0970694..0000000000
--- a/dbrepo-identifier-service/services/src/main/java/at/tuwien/gateway/impl/RorGatewayImpl.java
+++ /dev/null
@@ -1,43 +0,0 @@
-package at.tuwien.gateway.impl;
-
-import at.tuwien.api.ror.RorDto;
-import at.tuwien.exception.OrcidNotFoundException;
-import at.tuwien.exception.RorNotFoundException;
-import at.tuwien.gateway.RorGateway;
-import lombok.extern.log4j.Log4j2;
-import org.springframework.http.HttpEntity;
-import org.springframework.http.HttpHeaders;
-import org.springframework.http.HttpMethod;
-import org.springframework.http.ResponseEntity;
-import org.springframework.stereotype.Service;
-import org.springframework.web.client.HttpServerErrorException;
-import org.springframework.web.client.ResourceAccessException;
-import org.springframework.web.client.RestTemplate;
-
-@Log4j2
-@Service
-public class RorGatewayImpl implements RorGateway {
-
-    private final RestTemplate restTemplate;
-
-    public RorGatewayImpl() {
-        this.restTemplate = new RestTemplate();
-    }
-
-    @Override
-    public RorDto findById(String id) throws RorNotFoundException {
-        final HttpHeaders headers = new HttpHeaders();
-        headers.set("Accept", "application/json");
-        final String url = "https://api.ror.org/organizations/" + id;
-        final ResponseEntity<RorDto> response;
-        try {
-            log.trace("call ror path {}", url);
-            response = restTemplate.exchange(url, HttpMethod.GET, new HttpEntity<>(null, headers), RorDto.class);
-        } catch (ResourceAccessException | HttpServerErrorException.ServiceUnavailable e) {
-            log.error("Failed to retrieve ROR metadata from URL {}: {}", url, e.getMessage());
-            throw new RorNotFoundException("Failed to retrieve ROR metadata from URL " + url + ": " + e.getMessage());
-        }
-        return response.getBody();
-    }
-
-}
diff --git a/dbrepo-identifier-service/services/src/main/java/at/tuwien/mapper/DataCiteMapper.java b/dbrepo-identifier-service/services/src/main/java/at/tuwien/mapper/DataCiteMapper.java
deleted file mode 100644
index f47f17eae9..0000000000
--- a/dbrepo-identifier-service/services/src/main/java/at/tuwien/mapper/DataCiteMapper.java
+++ /dev/null
@@ -1,125 +0,0 @@
-package at.tuwien.mapper;
-
-import at.tuwien.api.datacite.doi.*;
-import at.tuwien.entities.database.License;
-import at.tuwien.entities.identifier.*;
-import at.tuwien.utils.EnumToStringConverter;
-import org.mapstruct.*;
-import org.springframework.context.annotation.Profile;
-
-import java.util.List;
-
-@Profile("doi")
-@Mapper(componentModel = "spring", uses = EnumToStringConverter.class)
-public interface DataCiteMapper {
-
-    default <T> List<T> list(T t) {
-        if (t == null) return null;
-        return List.of(t);
-    }
-
-    @Mappings({
-            @Mapping(target = "titles", source = "."),
-            @Mapping(target = "publisher", source = "publisher"),
-            @Mapping(target = "publicationYear", source = "publicationYear"),
-            @Mapping(target = "publicationMonth", source = "publicationMonth"),
-            @Mapping(target = "publicationDay", source = "publicationDay"),
-            @Mapping(target = "language", source = "language"),
-            @Mapping(target = "creators", source = "creators"),
-    })
-    DataCiteCreateDoi identifierToDataCiteCreateDoi(Identifier identifier);
-
-    default DataCiteCreateDoi identifierToDataCiteCreateDoi(Identifier identifier, String url, String prefix) {
-        return addParametersToCreateDoi(
-                identifierToDataCiteCreateDoi(identifier),
-                url,
-                prefix,
-                DataCiteDoiTypes.DATASET,
-                DataCiteDoiEvent.PUBLISH
-        );
-    }
-
-    DataCiteDoiTitle identifierTitleToDataCiteDoiTitle(IdentifierTitle data);
-
-    default DataCiteDoiTitle.Type titleTypeToDataCiteDoiTitleType(TitleType data) {
-        if (data == null) {
-            return null;
-        }
-        return switch (data) {
-            case OTHER -> DataCiteDoiTitle.Type.OTHER;
-            case TRANSLATED_TITLE -> DataCiteDoiTitle.Type.TRANSLATED_TITLE;
-            case SUBTITLE -> DataCiteDoiTitle.Type.SUBTITLE;
-            case ALTERNATIVE_TITLE -> DataCiteDoiTitle.Type.ALTERNATIVE_TITLE;
-        };
-    }
-
-    default List<DataCiteDoiTitle> identifierToDataCiteDoiTitleList(Identifier data) {
-        return data.getTitles()
-                .stream()
-                .map(this::identifierTitleToDataCiteDoiTitle)
-                .toList();
-    }
-
-    DataCiteCreateDoi addParametersToCreateDoi(@MappingTarget DataCiteCreateDoi target, String url, String prefix,
-                                               DataCiteDoiTypes types, DataCiteDoiEvent event);
-
-    @Mappings({
-            @Mapping(target = "rights", source = "identifier"),
-            @Mapping(target = "rightsUri", source = "uri"),
-    })
-    DataCiteDoiRights licenseToDoiRights(License license);
-
-    @Mappings({
-            @Mapping(target = "name", expression = "java(data.getLastname() + \", \" + data.getFirstname())"),
-            @Mapping(target = "givenName", source = "firstname"),
-            @Mapping(target = "familyName", source = "lastname"),
-            @Mapping(target = "nameType", expression = "java(nameTypeToDataCiteNameType(data.getNameType()))"),
-            @Mapping(target = "affiliation", expression = "java(list(creatorToDoiCreatorAffiliation(data)))"),
-            @Mapping(target = "nameIdentifier", expression = "java(list(creatorToDataCiteDoiCreatorNameIdentifier(data)))"),
-    })
-    DataCiteDoiCreator creatorToDoiCreator(Creator data);
-
-    DataCiteDoiCreatorNameIdentifier creatorToDataCiteDoiCreatorNameIdentifier(Creator data);
-
-    /* keep */
-    default String nameIdentifierSchemeTypeToUri(NameIdentifierSchemeType data) {
-        switch (data) {
-            case ROR -> {
-                return "https://ror.org/";
-            }
-            case ORCID -> {
-                return "https://orcid.org/";
-            }
-            case ISNI -> {
-                return "https://isni.org/isni/";
-            }
-            case GRID -> {
-                return "https://www.grid.ac/";
-            }
-        }
-        return null;
-    }
-
-    /* keep */
-    default DataCiteNameType nameTypeToDataCiteNameType(NameType data) {
-        if (data == null) {
-            return null;
-        }
-        return DataCiteNameType.valueOf(data.getName().toUpperCase());
-    }
-
-    @Mappings({
-            @Mapping(target = "name", source = "affiliation"),
-            @Mapping(target = "affiliationIdentifier", source = "affiliationIdentifier"),
-            @Mapping(target = "affiliationScheme", source = "affiliationIdentifierScheme"),
-            @Mapping(target = "schemeUri", source = "affiliationIdentifierSchemeUri"),
-    })
-    DataCiteDoiCreatorAffiliation creatorToDoiCreatorAffiliation(Creator data);
-
-    @Mappings({
-            @Mapping(target = "relatedIdentifier", source = "value"),
-            @Mapping(target = "relatedIdentifierType", source = "type"),
-            @Mapping(target = "relationType", source = "relation"),
-    })
-    DataCiteDoiRelatedIdentifier relatedIdentifierToDoiRelatedIdentifier(RelatedIdentifier relatedIdentifier);
-}
diff --git a/dbrepo-identifier-service/services/src/main/java/at/tuwien/mapper/DocumentMapper.java b/dbrepo-identifier-service/services/src/main/java/at/tuwien/mapper/DocumentMapper.java
deleted file mode 100644
index 9a4fc4840d..0000000000
--- a/dbrepo-identifier-service/services/src/main/java/at/tuwien/mapper/DocumentMapper.java
+++ /dev/null
@@ -1,15 +0,0 @@
-package at.tuwien.mapper;
-
-import org.mapstruct.Mapper;
-
-import java.time.Instant;
-import java.util.Date;
-
-@Mapper(componentModel = "spring")
-public interface DocumentMapper {
-
-    org.slf4j.Logger log = org.slf4j.LoggerFactory.getLogger(DocumentMapper.class);
-
-    Date instantToDate(Instant data);
-
-}
diff --git a/dbrepo-identifier-service/services/src/main/java/at/tuwien/mapper/ExternalMapper.java b/dbrepo-identifier-service/services/src/main/java/at/tuwien/mapper/ExternalMapper.java
deleted file mode 100644
index 8ab5797770..0000000000
--- a/dbrepo-identifier-service/services/src/main/java/at/tuwien/mapper/ExternalMapper.java
+++ /dev/null
@@ -1,76 +0,0 @@
-package at.tuwien.mapper;
-
-import at.tuwien.api.crossref.CrossrefDto;
-import at.tuwien.api.orcid.OrcidDto;
-import at.tuwien.api.orcid.activities.employments.affiliation.OrcidAffiliationGroupDto;
-import at.tuwien.api.orcid.activities.employments.affiliation.group.OrcidEmploymentSummaryDto;
-import at.tuwien.api.orcid.activities.employments.affiliation.group.summary.organization.disambiguated.OrcidDisambiguatedDto;
-import at.tuwien.api.orcid.activities.employments.affiliation.group.summary.organization.disambiguated.OrcidDisambiguatedSourceTypeDto;
-import at.tuwien.api.ror.RorDto;
-import at.tuwien.api.user.external.ExternalMetadataDto;
-import at.tuwien.api.user.external.ExternalResultType;
-import at.tuwien.api.user.external.affiliation.ExternalAffiliationDto;
-import org.mapstruct.Mapper;
-import org.mapstruct.Mapping;
-import org.mapstruct.Mappings;
-
-@Mapper(componentModel = "spring", imports = {ExternalResultType.class})
-public interface ExternalMapper {
-
-
-    @Mappings({
-            @Mapping(target = "givenNames", source = "person.name.givenNames.value"),
-            @Mapping(target = "familyName", source = "person.name.familyName.value"),
-            @Mapping(target = "type", expression = "java(ExternalResultType.PERSONAL)"),
-            @Mapping(target = "affiliations", source = "activitiesSummary.employments.affiliationGroup"),
-    })
-    ExternalMetadataDto orcidDtoToExternalMetadataDto(OrcidDto data);
-
-    @Mappings({
-            @Mapping(target = "organizationName", source = "employmentSummary.organization.name"),
-            @Mapping(target = "ringgoldId", expression = "java(disambiguatedOrganizationToRinggoldId(data.getEmploymentSummary().getOrganization().getDisambiguatedOrganization()))"),
-    })
-    ExternalAffiliationDto orcidEmploymentSummaryDtoToExternalAffiliationDto(OrcidEmploymentSummaryDto data);
-
-    default ExternalAffiliationDto orcidAffiliationGroupDtoToExternalAffiliationDto(OrcidAffiliationGroupDto data) {
-        if (data == null || data.getSummaries() == null || data.getSummaries().length == 0) {
-            return null;
-        }
-        return ExternalAffiliationDto.builder()
-                .organizationName(data.getSummaries()[0].getEmploymentSummary().getOrganization().getName())
-                .build();
-    }
-
-    default Long disambiguatedOrganizationToRinggoldId(OrcidDisambiguatedDto data) {
-        if (data.getSource().equals(OrcidDisambiguatedSourceTypeDto.RINGGOLD)) {
-            return Long.parseLong(data.getIdentifier());
-        }
-        return null;
-    }
-
-    default ExternalMetadataDto rorDtoToExternalMetadataDto(RorDto data) {
-        return ExternalMetadataDto.builder()
-                .affiliations(new ExternalAffiliationDto[]{
-                        ExternalAffiliationDto.builder()
-                                .organizationName(data.getName())
-                                .build()})
-                .type(ExternalResultType.ORGANIZATIONAL)
-                .build();
-    }
-
-    default ExternalMetadataDto crossrefDtoToExternalMetadataDto(CrossrefDto data) {
-        return ExternalMetadataDto.builder()
-                .affiliations(new ExternalAffiliationDto[]{
-                        ExternalAffiliationDto.builder()
-                                .crossrefFunderId(data.getId())
-                                .organizationName(data.getPrefLabel().getLabel().getLiteralForm().getContent())
-                                .build()})
-                .type(ExternalResultType.ORGANIZATIONAL)
-                .build();
-    }
-
-    @Mappings({
-            @Mapping(target = "organizationName", source = "name"),
-    })
-    ExternalAffiliationDto rorDtoToExternalAffiliationDto(RorDto data);
-}
diff --git a/dbrepo-identifier-service/services/src/main/java/at/tuwien/mapper/IdentifierMapper.java b/dbrepo-identifier-service/services/src/main/java/at/tuwien/mapper/IdentifierMapper.java
deleted file mode 100644
index 3972cc4c55..0000000000
--- a/dbrepo-identifier-service/services/src/main/java/at/tuwien/mapper/IdentifierMapper.java
+++ /dev/null
@@ -1,87 +0,0 @@
-package at.tuwien.mapper;
-
-import at.tuwien.api.identifier.*;
-import at.tuwien.entities.identifier.*;
-import org.mapstruct.Mapper;
-import org.mapstruct.Mapping;
-import org.mapstruct.Mappings;
-import org.mapstruct.Named;
-
-@Mapper(componentModel = "spring")
-public interface IdentifierMapper {
-
-    @Mappings({
-            @Mapping(target = "database.identifier", ignore = true),
-    })
-    IdentifierDto identifierToIdentifierDto(Identifier data);
-
-    @Mappings({
-            @Mapping(target = "titles", ignore = true),
-            @Mapping(target = "descriptions", ignore = true),
-    })
-    Identifier identifierCreateDtoToIdentifier(IdentifierSaveDto data);
-
-    Identifier identifierUpdateDtoToIdentifier(IdentifierSaveDto data);
-
-    IdentifierTitle identifierCreateTitleDtoToIdentifierTitle(IdentifierSaveTitleDto data);
-
-    IdentifierDescription identifierCreateDescriptionDtoToIdentifierDescription(IdentifierSaveDescriptionDto data);
-
-    IdentifierFunder identifierFunderSaveDtoToIdentifierFunder(IdentifierFunderSaveDto data);
-
-    IdentifierSaveDto identifierUpdateDtoToIdentifierCreateDto(IdentifierSaveDto data);
-
-    RelatedIdentifierDto relatedIdentifierToRelatedIdentifierDto(RelatedIdentifier data);
-
-    Identifier identifierDtoToIdentifier(IdentifierDto data);
-
-    Creator creatorDtoToCreator(CreatorDto data);
-
-    @Mappings({
-            @Mapping(target = "nameIdentifierSchemeUri", source = "nameIdentifierScheme", qualifiedByName = "nameSchemaMapper"),
-            @Mapping(target = "affiliationIdentifierSchemeUri", source = "affiliationIdentifierScheme", qualifiedByName = "affiliationSchemaMapper"),
-    })
-    Creator creatorCreateDtoToCreator(CreatorSaveDto data);
-
-    RelatedIdentifier relatedIdentifierCreateDtoToRelatedIdentifier(RelatedIdentifierSaveDto data);
-
-    IdentifierType identifierTypeDtoToIdentifierType(IdentifierTypeDto data);
-
-    default String identifierToLocationUrl(String baseUrl, Identifier data) {
-        if (data.getType().equals(IdentifierType.SUBSET)) {
-            return baseUrl + "/database/" + data.getDatabase().getId() + "/query/" + data.getQueryId();
-        } else if (data.getType().equals(IdentifierType.DATABASE)) {
-            return baseUrl + "/database/" + data.getDatabase().getId();
-        } else if (data.getType().equals(IdentifierType.VIEW)) {
-            return baseUrl + "/database/" + data.getDatabase().getId() + "/view/" + data.getViewId();
-        } else {
-            return null;
-        }
-    }
-
-    @Named("nameSchemaMapper")
-    default String nameIdentifierSchemeToNameIdentifierSchemeUri(NameIdentifierSchemeTypeDto data) {
-        if (data == null) {
-            return null;
-        }
-        return switch (data) {
-            case ROR -> "https://ror.org/";
-            case ORCID -> "https://orcid.org/";
-            case GRID -> "https://grid.ac/";
-            case ISNI -> "https://grid.ac/institutes/";
-        };
-    }
-
-    @Named("affiliationSchemaMapper")
-    default String affiliationIdentifierSchemeTypeToAffiliationIdentifier(AffiliationIdentifierSchemeTypeDto data) {
-        if (data == null) {
-            return null;
-        }
-        return switch (data) {
-            case ROR -> "https://ror.org/";
-            case GRID -> "https://grid.ac/institutes/";
-            case ISNI -> "https://isni.org/";
-        };
-    }
-
-}
diff --git a/dbrepo-identifier-service/services/src/main/java/at/tuwien/mapper/UserMapper.java b/dbrepo-identifier-service/services/src/main/java/at/tuwien/mapper/UserMapper.java
deleted file mode 100644
index bac8f626c2..0000000000
--- a/dbrepo-identifier-service/services/src/main/java/at/tuwien/mapper/UserMapper.java
+++ /dev/null
@@ -1,25 +0,0 @@
-package at.tuwien.mapper;
-
-import at.tuwien.api.user.GrantedAuthorityDto;
-import at.tuwien.api.user.UserBriefDto;
-import at.tuwien.api.user.UserDetailsDto;
-import at.tuwien.api.user.UserDto;
-import org.mapstruct.Mapper;
-import org.mapstruct.Mapping;
-import org.mapstruct.Mappings;
-import org.springframework.security.core.GrantedAuthority;
-import org.springframework.security.core.authority.SimpleGrantedAuthority;
-
-@Mapper(componentModel = "spring")
-public interface UserMapper {
-
-    /* keep */
-    @Mappings({
-            @Mapping(target = "id", expression = "java(data.getId().toString())")
-    })
-    UserDetailsDto userBriefDtoToUserDetailsDto(UserBriefDto data);
-
-    default GrantedAuthority grantedAuthorityDtoToGrantedAuthority(GrantedAuthorityDto data) {
-        return new SimpleGrantedAuthority(data.getAuthority());
-    }
-}
diff --git a/dbrepo-identifier-service/services/src/main/java/at/tuwien/repository/mdb/AccessRepository.java b/dbrepo-identifier-service/services/src/main/java/at/tuwien/repository/mdb/AccessRepository.java
deleted file mode 100644
index 643d28edf2..0000000000
--- a/dbrepo-identifier-service/services/src/main/java/at/tuwien/repository/mdb/AccessRepository.java
+++ /dev/null
@@ -1,24 +0,0 @@
-
-package at.tuwien.repository.mdb;
-
-import at.tuwien.entities.database.DatabaseAccess;
-import at.tuwien.entities.database.DatabaseAccessKey;
-import org.springframework.data.jpa.repository.JpaRepository;
-import org.springframework.stereotype.Repository;
-
-import java.util.Optional;
-import java.util.UUID;
-
-@Repository
-public interface AccessRepository extends JpaRepository<DatabaseAccess, DatabaseAccessKey> {
-
-    /**
-     * Finds database access by given database id and user id.
-     *
-     * @param databaseId The database id.
-     * @param userId     The user id.
-     * @return Non-empty optional if this database access exists, empty optional otherwise.
-     */
-    Optional<DatabaseAccess> findByHdbidAndHuserid(Long databaseId, UUID userId);
-
-}
diff --git a/dbrepo-identifier-service/services/src/main/java/at/tuwien/repository/mdb/ContainerRepository.java b/dbrepo-identifier-service/services/src/main/java/at/tuwien/repository/mdb/ContainerRepository.java
deleted file mode 100644
index 04a8da854e..0000000000
--- a/dbrepo-identifier-service/services/src/main/java/at/tuwien/repository/mdb/ContainerRepository.java
+++ /dev/null
@@ -1,9 +0,0 @@
-package at.tuwien.repository.mdb;
-
-import at.tuwien.entities.container.Container;
-import org.springframework.data.jpa.repository.JpaRepository;
-import org.springframework.stereotype.Repository;
-
-@Repository
-public interface ContainerRepository extends JpaRepository<Container, Long> {
-}
diff --git a/dbrepo-identifier-service/services/src/main/java/at/tuwien/repository/mdb/CreatorRepository.java b/dbrepo-identifier-service/services/src/main/java/at/tuwien/repository/mdb/CreatorRepository.java
deleted file mode 100644
index 916417563b..0000000000
--- a/dbrepo-identifier-service/services/src/main/java/at/tuwien/repository/mdb/CreatorRepository.java
+++ /dev/null
@@ -1,10 +0,0 @@
-package at.tuwien.repository.mdb;
-
-import at.tuwien.entities.identifier.Creator;
-import org.springframework.data.jpa.repository.JpaRepository;
-import org.springframework.stereotype.Repository;
-
-@Repository
-public interface CreatorRepository extends JpaRepository<Creator, Long> {
-
-}
diff --git a/dbrepo-identifier-service/services/src/main/java/at/tuwien/repository/mdb/DatabaseRepository.java b/dbrepo-identifier-service/services/src/main/java/at/tuwien/repository/mdb/DatabaseRepository.java
deleted file mode 100644
index df6ec32168..0000000000
--- a/dbrepo-identifier-service/services/src/main/java/at/tuwien/repository/mdb/DatabaseRepository.java
+++ /dev/null
@@ -1,9 +0,0 @@
-package at.tuwien.repository.mdb;
-
-import at.tuwien.entities.database.Database;
-import org.springframework.data.jpa.repository.JpaRepository;
-import org.springframework.stereotype.Repository;
-
-@Repository
-public interface DatabaseRepository extends JpaRepository<Database, Long> {
-}
diff --git a/dbrepo-identifier-service/services/src/main/java/at/tuwien/repository/mdb/IdentifierDescriptionRepository.java b/dbrepo-identifier-service/services/src/main/java/at/tuwien/repository/mdb/IdentifierDescriptionRepository.java
deleted file mode 100644
index 7c93a9b27f..0000000000
--- a/dbrepo-identifier-service/services/src/main/java/at/tuwien/repository/mdb/IdentifierDescriptionRepository.java
+++ /dev/null
@@ -1,9 +0,0 @@
-package at.tuwien.repository.mdb;
-
-import at.tuwien.entities.identifier.IdentifierDescription;
-import org.springframework.data.jpa.repository.JpaRepository;
-import org.springframework.stereotype.Repository;
-
-@Repository
-public interface IdentifierDescriptionRepository extends JpaRepository<IdentifierDescription, Long> {
-}
diff --git a/dbrepo-identifier-service/services/src/main/java/at/tuwien/repository/mdb/IdentifierRepository.java b/dbrepo-identifier-service/services/src/main/java/at/tuwien/repository/mdb/IdentifierRepository.java
deleted file mode 100644
index 37ae148a86..0000000000
--- a/dbrepo-identifier-service/services/src/main/java/at/tuwien/repository/mdb/IdentifierRepository.java
+++ /dev/null
@@ -1,58 +0,0 @@
-package at.tuwien.repository.mdb;
-
-import at.tuwien.entities.identifier.Identifier;
-import at.tuwien.entities.identifier.IdentifierType;
-import org.springframework.data.jpa.repository.JpaRepository;
-import org.springframework.stereotype.Repository;
-
-import java.util.List;
-import java.util.Optional;
-
-@Repository
-public interface IdentifierRepository extends JpaRepository<Identifier, Long> {
-
-    /**
-     * Finds identifiers by given database id.
-     *
-     * @param databaseId The database id.
-     * @return List of matching identifiers.
-     */
-    List<Identifier> findByDatabaseId(Long databaseId);
-
-    /**
-     * Finds identifiers by given query id.
-     *
-     * @param queryId The query id.
-     * @return List of matching identifiers.
-     */
-    List<Identifier> findByQueryId(Long queryId);
-
-    /**
-     * Finds identifiers by given database id and query id.
-     *
-     * @param databaseId The database id.
-     * @param queryId    The query id.
-     * @return List of matching identifiers.
-     */
-    List<Identifier> findByDatabaseIdAndQueryId(Long databaseId, Long queryId);
-
-    /**
-     * Checks if an identifier exists by given database id and identifier type.
-     *
-     * @param databaseId The database id.
-     * @param type       The identifier type.
-     * @return True if identifier exists, false otherwise.
-     */
-    Boolean existsByDatabaseIdAndType(Long databaseId, IdentifierType type);
-
-    /**
-     * Checks if an identifier exists by given database id, query id and identifier type.
-     *
-     * @param databaseId The database id.
-     * @param queryId    The query id.
-     * @param type       The identifier type.
-     * @return True if identifier exists, false otherwise.
-     */
-    Boolean existsByDatabaseIdAndQueryIdAndType(Long databaseId, Long queryId, IdentifierType type);
-
-}
diff --git a/dbrepo-identifier-service/services/src/main/java/at/tuwien/repository/mdb/IdentifierTitleRepository.java b/dbrepo-identifier-service/services/src/main/java/at/tuwien/repository/mdb/IdentifierTitleRepository.java
deleted file mode 100644
index fbb52dc356..0000000000
--- a/dbrepo-identifier-service/services/src/main/java/at/tuwien/repository/mdb/IdentifierTitleRepository.java
+++ /dev/null
@@ -1,9 +0,0 @@
-package at.tuwien.repository.mdb;
-
-import at.tuwien.entities.identifier.IdentifierTitle;
-import org.springframework.data.jpa.repository.JpaRepository;
-import org.springframework.stereotype.Repository;
-
-@Repository
-public interface IdentifierTitleRepository extends JpaRepository<IdentifierTitle, Long> {
-}
diff --git a/dbrepo-identifier-service/services/src/main/java/at/tuwien/repository/mdb/ImageRepository.java b/dbrepo-identifier-service/services/src/main/java/at/tuwien/repository/mdb/ImageRepository.java
deleted file mode 100644
index b1020fdcc5..0000000000
--- a/dbrepo-identifier-service/services/src/main/java/at/tuwien/repository/mdb/ImageRepository.java
+++ /dev/null
@@ -1,9 +0,0 @@
-package at.tuwien.repository.mdb;
-
-import at.tuwien.entities.container.image.ContainerImage;
-import org.springframework.data.jpa.repository.JpaRepository;
-import org.springframework.stereotype.Repository;
-
-@Repository
-public interface ImageRepository extends JpaRepository<ContainerImage, Long> {
-}
diff --git a/dbrepo-identifier-service/services/src/main/java/at/tuwien/repository/mdb/LicenseRepository.java b/dbrepo-identifier-service/services/src/main/java/at/tuwien/repository/mdb/LicenseRepository.java
deleted file mode 100644
index da00aae798..0000000000
--- a/dbrepo-identifier-service/services/src/main/java/at/tuwien/repository/mdb/LicenseRepository.java
+++ /dev/null
@@ -1,9 +0,0 @@
-package at.tuwien.repository.mdb;
-
-import at.tuwien.entities.database.License;
-import org.springframework.data.jpa.repository.JpaRepository;
-import org.springframework.stereotype.Repository;
-
-@Repository
-public interface LicenseRepository extends JpaRepository<License, String> {
-}
diff --git a/dbrepo-identifier-service/services/src/main/java/at/tuwien/repository/mdb/RealmRepository.java b/dbrepo-identifier-service/services/src/main/java/at/tuwien/repository/mdb/RealmRepository.java
deleted file mode 100644
index 6737727371..0000000000
--- a/dbrepo-identifier-service/services/src/main/java/at/tuwien/repository/mdb/RealmRepository.java
+++ /dev/null
@@ -1,12 +0,0 @@
-
-package at.tuwien.repository.mdb;
-
-import at.tuwien.entities.user.Realm;
-import org.springframework.data.jpa.repository.JpaRepository;
-import org.springframework.stereotype.Repository;
-
-import java.util.UUID;
-
-@Repository
-public interface RealmRepository extends JpaRepository<Realm, UUID> {
-}
diff --git a/dbrepo-identifier-service/services/src/main/java/at/tuwien/repository/mdb/TableRepository.java b/dbrepo-identifier-service/services/src/main/java/at/tuwien/repository/mdb/TableRepository.java
deleted file mode 100644
index 5cbbeb08ba..0000000000
--- a/dbrepo-identifier-service/services/src/main/java/at/tuwien/repository/mdb/TableRepository.java
+++ /dev/null
@@ -1,11 +0,0 @@
-
-package at.tuwien.repository.mdb;
-
-import at.tuwien.entities.database.table.Table;
-import org.springframework.data.jpa.repository.JpaRepository;
-import org.springframework.stereotype.Repository;
-
-@Repository
-public interface TableRepository extends JpaRepository<Table, Long> {
-
-}
diff --git a/dbrepo-identifier-service/services/src/main/java/at/tuwien/repository/mdb/UserRepository.java b/dbrepo-identifier-service/services/src/main/java/at/tuwien/repository/mdb/UserRepository.java
deleted file mode 100644
index 7244c3455c..0000000000
--- a/dbrepo-identifier-service/services/src/main/java/at/tuwien/repository/mdb/UserRepository.java
+++ /dev/null
@@ -1,22 +0,0 @@
-
-package at.tuwien.repository.mdb;
-
-import at.tuwien.entities.user.User;
-import org.springframework.data.jpa.repository.JpaRepository;
-import org.springframework.stereotype.Repository;
-
-import java.util.Optional;
-import java.util.UUID;
-
-@Repository
-public interface UserRepository extends JpaRepository<User, UUID> {
-
-    /**
-     * Finds an user by given username.
-     *
-     * @param username The username.
-     * @return Non-empty optional if this user exists, empty optional otherwise.
-     */
-    Optional<User> findByUsername(String username);
-
-}
diff --git a/dbrepo-identifier-service/services/src/main/java/at/tuwien/repository/mdb/ViewRepository.java b/dbrepo-identifier-service/services/src/main/java/at/tuwien/repository/mdb/ViewRepository.java
deleted file mode 100644
index 7c1fec3922..0000000000
--- a/dbrepo-identifier-service/services/src/main/java/at/tuwien/repository/mdb/ViewRepository.java
+++ /dev/null
@@ -1,11 +0,0 @@
-
-package at.tuwien.repository.mdb;
-
-import at.tuwien.entities.database.View;
-import org.springframework.data.jpa.repository.JpaRepository;
-import org.springframework.stereotype.Repository;
-
-@Repository
-public interface ViewRepository extends JpaRepository<View, Long> {
-
-}
diff --git a/dbrepo-identifier-service/services/src/main/java/at/tuwien/repository/sdb/IdentifierIdxRepository.java b/dbrepo-identifier-service/services/src/main/java/at/tuwien/repository/sdb/IdentifierIdxRepository.java
deleted file mode 100644
index 45e42d1515..0000000000
--- a/dbrepo-identifier-service/services/src/main/java/at/tuwien/repository/sdb/IdentifierIdxRepository.java
+++ /dev/null
@@ -1,9 +0,0 @@
-package at.tuwien.repository.sdb;
-
-import at.tuwien.api.identifier.IdentifierDto;
-import org.springframework.data.elasticsearch.repository.ElasticsearchRepository;
-import org.springframework.stereotype.Repository;
-
-@Repository
-public interface IdentifierIdxRepository extends ElasticsearchRepository<IdentifierDto, Long> {
-}
\ No newline at end of file
diff --git a/dbrepo-identifier-service/services/src/main/java/at/tuwien/service/AccessService.java b/dbrepo-identifier-service/services/src/main/java/at/tuwien/service/AccessService.java
deleted file mode 100644
index 1cb63e6a23..0000000000
--- a/dbrepo-identifier-service/services/src/main/java/at/tuwien/service/AccessService.java
+++ /dev/null
@@ -1,19 +0,0 @@
-package at.tuwien.service;
-
-import at.tuwien.entities.database.DatabaseAccess;
-import at.tuwien.exception.AccessDeniedException;
-
-import java.util.UUID;
-
-public interface AccessService {
-
-    /**
-     * Finds database access by given database id and user id.
-     *
-     * @param databaseId The database id.
-     * @param userId     The user id.
-     * @return The database access.
-     * @throws AccessDeniedException The access does not exist.
-     */
-    DatabaseAccess find(Long databaseId, UUID userId) throws AccessDeniedException;
-}
diff --git a/dbrepo-identifier-service/services/src/main/java/at/tuwien/service/DatabaseService.java b/dbrepo-identifier-service/services/src/main/java/at/tuwien/service/DatabaseService.java
deleted file mode 100644
index 1d081f4441..0000000000
--- a/dbrepo-identifier-service/services/src/main/java/at/tuwien/service/DatabaseService.java
+++ /dev/null
@@ -1,16 +0,0 @@
-package at.tuwien.service;
-
-import at.tuwien.entities.database.Database;
-import at.tuwien.exception.DatabaseNotFoundException;
-
-public interface DatabaseService {
-
-    /**
-     * Finds a database by given id in the remote database service.
-     *
-     * @param databaseId  The database id.
-     * @return The database.
-     * @throws DatabaseNotFoundException The database was not found.
-     */
-    Database find(Long databaseId) throws DatabaseNotFoundException;
-}
diff --git a/dbrepo-identifier-service/services/src/main/java/at/tuwien/service/IdentifierService.java b/dbrepo-identifier-service/services/src/main/java/at/tuwien/service/IdentifierService.java
deleted file mode 100644
index 6f01237644..0000000000
--- a/dbrepo-identifier-service/services/src/main/java/at/tuwien/service/IdentifierService.java
+++ /dev/null
@@ -1,122 +0,0 @@
-package at.tuwien.service;
-
-import at.tuwien.api.identifier.BibliographyTypeDto;
-import at.tuwien.api.identifier.IdentifierSaveDto;
-import at.tuwien.api.identifier.IdentifierTypeDto;
-import at.tuwien.entities.identifier.Identifier;
-import at.tuwien.exception.*;
-import org.springframework.core.io.InputStreamResource;
-import org.springframework.stereotype.Service;
-
-import java.security.Principal;
-import java.util.List;
-
-@Service
-public interface IdentifierService {
-
-    /**
-     * Finds all identifiers in the metadata database which are not deleted. Optionally, the result can be filtered by
-     * database id and/or query id.
-     *
-     * @param databaseId Optional. The database id.
-     * @param queryId    Optional. The query id.
-     * @param viewId     Optional. The view id.
-     * @return List of identifiers
-     */
-    List<Identifier> findAll(IdentifierTypeDto type, Long databaseId, Long queryId, Long viewId);
-
-    /**
-     * Finds all identifiers in the metadata database which are not deleted and filter by query id.
-     *
-     * @param databaseId The database id.
-     * @param queryId    The query id.
-     * @return The identifier, if found.
-     */
-    List<Identifier> findByDatabaseIdAndQueryId(Long databaseId, Long queryId);
-
-    /**
-     * Creates a new identifier in the metadata database for a query or database.
-     *
-     * @param data          The identifier.
-     * @param principal     The authorization principal.
-     * @param authorization The authorization bearer.
-     * @return The created identifier from the metadata database if successful.
-     * @throws IdentifierPublishingNotAllowedException The identifier with this visibility could not be created.
-     * @throws QueryNotFoundException                  The query with this id (in the data) could not be created.
-     * @throws RemoteUnavailableException              The connection to the Query Store could not be established by
-     *                                                 the database connector.
-     * @throws IdentifierAlreadyExistsException        The identifier for this query/database already exists.
-     * @throws UserNotFoundException                   The user was not found in the metadata database.
-     * @throws DatabaseNotFoundException               The database was not found in the metadata database.
-     */
-    Identifier create(IdentifierSaveDto data, Principal principal, String authorization)
-            throws IdentifierPublishingNotAllowedException, QueryNotFoundException,
-            RemoteUnavailableException, IdentifierAlreadyExistsException, UserNotFoundException,
-            DatabaseNotFoundException, IdentifierRequestException, ViewNotFoundException;
-
-    /**
-     * Finds an identifier by given id in the metadata database.
-     *
-     * @param identifierId The identifier id.
-     * @return The identifier, if successful.
-     * @throws IdentifierNotFoundException The identifier was not found in the metadata database or was deleted.
-     */
-    Identifier find(Long identifierId) throws IdentifierNotFoundException;
-
-    /**
-     * Export metadata for a identifier
-     *
-     * @param id The identifier id.
-     * @return The export, if successful.
-     * @throws IdentifierNotFoundException The identifier was not found in the metadata database or was deleted.
-     */
-    InputStreamResource exportMetadata(Long id) throws IdentifierNotFoundException;
-
-    /**
-     * Export metadata for bibliography for a identifier.
-     *
-     * @param id    The identifier id.
-     * @param style The identifier bibliography style. Optional. Default: APA.
-     * @return The export, if successful.
-     * @throws IdentifierNotFoundException The identifier was not found in the metadata database or was deleted.
-     * @throws IdentifierRequestException  The identifier style was not found.
-     */
-    String exportBibliography(Long id, BibliographyTypeDto style) throws IdentifierNotFoundException,
-            IdentifierRequestException;
-
-    /**
-     * Exports an identifier to XML
-     *
-     * @param identifierId The identifier id.
-     * @return The XML resource, if successful.
-     * @throws IdentifierNotFoundException The identifier was not found in the metadata database or was deleted.
-     * @throws QueryNotFoundException      The query was not found in the metadata database or was deleted.
-     * @throws RemoteUnavailableException  The connection to the Query Store could not be established by the database
-     *                                     connector.
-     * @throws IdentifierRequestException  The identifier does not allow for exporting.
-     */
-    InputStreamResource exportResource(Long identifierId)
-            throws IdentifierNotFoundException, QueryNotFoundException, RemoteUnavailableException,
-            IdentifierRequestException;
-
-    /**
-     * Updated the metadata (only) on the identifier for a given id in the metadata database.
-     *
-     * @param identifierId The identifier id.
-     * @param data         The metadata.
-     * @param principal    The user principal.
-     * @return The updated identifier if successful.
-     */
-    Identifier update(Long identifierId, IdentifierSaveDto data, Principal principal, String authorization)
-            throws UserNotFoundException, DatabaseNotFoundException, QueryNotFoundException, RemoteUnavailableException,
-            IdentifierRequestException, IdentifierNotFoundException;
-
-    /**
-     * Soft-deletes an identifier for a given id in the metadata database. Does not actually remove the entity from the
-     * database, but sets it as deleted.
-     *
-     * @param identifierId The identifier id.
-     * @throws IdentifierNotFoundException The identifier was not found in the metadata database or was deleted.
-     */
-    void delete(Long identifierId) throws IdentifierNotFoundException;
-}
diff --git a/dbrepo-identifier-service/services/src/main/java/at/tuwien/service/MetadataService.java b/dbrepo-identifier-service/services/src/main/java/at/tuwien/service/MetadataService.java
deleted file mode 100644
index 0c34b4d3bf..0000000000
--- a/dbrepo-identifier-service/services/src/main/java/at/tuwien/service/MetadataService.java
+++ /dev/null
@@ -1,21 +0,0 @@
-package at.tuwien.service;
-
-import at.tuwien.api.user.external.ExternalMetadataDto;
-import at.tuwien.exception.DoiNotFoundException;
-import at.tuwien.exception.OrcidNotFoundException;
-import at.tuwien.exception.RemoteUnavailableException;
-import at.tuwien.exception.RorNotFoundException;
-
-public interface MetadataService {
-
-    /**
-     * Finds creator user metadata by remote service and user identifier.
-     *
-     * @param url The user identifier.
-     * @return The user metadata.
-     * @throws OrcidNotFoundException     The provided identifier is of ORCID type and does not exist.
-     * @throws RorNotFoundException       The provided identifier is of ROR type and does not exist.
-     * @throws RemoteUnavailableException The remote service is not supported.
-     */
-    ExternalMetadataDto findByUrl(String url) throws OrcidNotFoundException, RorNotFoundException, RemoteUnavailableException, DoiNotFoundException;
-}
diff --git a/dbrepo-identifier-service/services/src/main/java/at/tuwien/service/UserService.java b/dbrepo-identifier-service/services/src/main/java/at/tuwien/service/UserService.java
deleted file mode 100644
index b72b76179e..0000000000
--- a/dbrepo-identifier-service/services/src/main/java/at/tuwien/service/UserService.java
+++ /dev/null
@@ -1,16 +0,0 @@
-package at.tuwien.service;
-
-import at.tuwien.entities.user.User;
-import at.tuwien.exception.UserNotFoundException;
-
-public interface UserService {
-
-    /**
-     * Finds a user with given username.
-     *
-     * @param username The username.
-     * @return The user.
-     * @throws UserNotFoundException The user does not exist.
-     */
-    User findByUsername(String username) throws UserNotFoundException;
-}
diff --git a/dbrepo-identifier-service/services/src/main/java/at/tuwien/service/ViewService.java b/dbrepo-identifier-service/services/src/main/java/at/tuwien/service/ViewService.java
deleted file mode 100644
index 9dc1637a54..0000000000
--- a/dbrepo-identifier-service/services/src/main/java/at/tuwien/service/ViewService.java
+++ /dev/null
@@ -1,8 +0,0 @@
-package at.tuwien.service;
-
-import at.tuwien.entities.database.View;
-import at.tuwien.exception.ViewNotFoundException;
-
-public interface ViewService {
-    View findById(Long id) throws ViewNotFoundException;
-}
diff --git a/dbrepo-identifier-service/services/src/main/java/at/tuwien/service/impl/AccessServiceImpl.java b/dbrepo-identifier-service/services/src/main/java/at/tuwien/service/impl/AccessServiceImpl.java
deleted file mode 100644
index c086a2990c..0000000000
--- a/dbrepo-identifier-service/services/src/main/java/at/tuwien/service/impl/AccessServiceImpl.java
+++ /dev/null
@@ -1,34 +0,0 @@
-package at.tuwien.service.impl;
-
-import at.tuwien.entities.database.DatabaseAccess;
-import at.tuwien.exception.AccessDeniedException;
-import at.tuwien.repository.mdb.AccessRepository;
-import at.tuwien.service.AccessService;
-import lombok.extern.log4j.Log4j2;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.stereotype.Service;
-
-import java.util.Optional;
-import java.util.UUID;
-
-@Log4j2
-@Service
-public class AccessServiceImpl implements AccessService {
-
-    private final AccessRepository accessRepository;
-
-    @Autowired
-    public AccessServiceImpl(AccessRepository accessRepository) {
-        this.accessRepository = accessRepository;
-    }
-
-    @Override
-    public DatabaseAccess find(Long databaseId, UUID userId) throws AccessDeniedException {
-        final Optional<DatabaseAccess> optional = accessRepository.findByHdbidAndHuserid(databaseId, userId);
-        if (optional.isEmpty()) {
-            log.error("Failed to find access for user with id {}", userId);
-            throw new AccessDeniedException("Failed to find access");
-        }
-        return optional.get();
-    }
-}
diff --git a/dbrepo-identifier-service/services/src/main/java/at/tuwien/service/impl/DataCiteIdentifierServiceImpl.java b/dbrepo-identifier-service/services/src/main/java/at/tuwien/service/impl/DataCiteIdentifierServiceImpl.java
deleted file mode 100644
index ec3f714965..0000000000
--- a/dbrepo-identifier-service/services/src/main/java/at/tuwien/service/impl/DataCiteIdentifierServiceImpl.java
+++ /dev/null
@@ -1,228 +0,0 @@
-package at.tuwien.service.impl;
-
-import at.tuwien.api.datacite.DataCiteBody;
-import at.tuwien.api.datacite.DataCiteData;
-import at.tuwien.api.datacite.doi.DataCiteCreateDoi;
-import at.tuwien.api.datacite.doi.DataCiteDoi;
-import at.tuwien.api.identifier.BibliographyTypeDto;
-import at.tuwien.api.identifier.IdentifierSaveDto;
-import at.tuwien.api.identifier.IdentifierTypeDto;
-import at.tuwien.config.DataCiteConfig;
-import at.tuwien.config.EndpointConfig;
-import at.tuwien.entities.identifier.Identifier;
-import at.tuwien.exception.*;
-import at.tuwien.mapper.DataCiteMapper;
-import at.tuwien.repository.mdb.IdentifierRepository;
-import at.tuwien.service.IdentifierService;
-import lombok.extern.slf4j.Slf4j;
-import org.springframework.boot.web.client.RestTemplateBuilder;
-import org.springframework.context.annotation.Primary;
-import org.springframework.context.annotation.Profile;
-import org.springframework.core.ParameterizedTypeReference;
-import org.springframework.core.io.InputStreamResource;
-import org.springframework.http.*;
-import org.springframework.stereotype.Service;
-import org.springframework.transaction.annotation.Transactional;
-import org.springframework.web.client.HttpClientErrorException;
-import org.springframework.web.client.RestClientException;
-import org.springframework.web.client.RestTemplate;
-import org.springframework.web.util.DefaultUriBuilderFactory;
-
-import java.security.Principal;
-import java.util.LinkedList;
-import java.util.List;
-
-@Slf4j
-@Primary
-@Profile("doi")
-@Service
-public class DataCiteIdentifierServiceImpl implements IdentifierService {
-
-    private final DataCiteConfig dataCiteConfig;
-    private final EndpointConfig endpointConfig;
-    private final DataCiteMapper dataCiteMapper;
-    private final RestTemplateBuilder restTemplateBuilder;
-    private final IdentifierRepository identifierRepository;
-    private final IdentifierService identifierService;
-
-    public DataCiteIdentifierServiceImpl(DataCiteConfig dataCiteConfig, DataCiteMapper dataCiteMapper,
-                                         RestTemplateBuilder restTemplateBuilder, EndpointConfig endpointConfig,
-                                         IdentifierRepository identifierRepository, IdentifierServiceImpl identifierService) {
-        this.dataCiteConfig = dataCiteConfig;
-        this.dataCiteMapper = dataCiteMapper;
-        this.restTemplateBuilder = restTemplateBuilder.basicAuthentication(dataCiteConfig.getUsername(),
-                        dataCiteConfig.getPassword())
-                .uriTemplateHandler(new DefaultUriBuilderFactory(dataCiteConfig.getUrl()));
-        this.endpointConfig = endpointConfig;
-        this.identifierRepository = identifierRepository;
-        this.identifierService = identifierService;
-    }
-
-    @Override
-    @Transactional(readOnly = true)
-    public List<Identifier> findAll(IdentifierTypeDto type, Long databaseId, Long queryId, Long viewId) {
-        return identifierService.findAll(type, databaseId, queryId, viewId);
-    }
-
-    @Override
-    @Transactional(readOnly = true)
-    public List<Identifier> findByDatabaseIdAndQueryId(Long databaseId, Long queryId) {
-        return identifierService.findByDatabaseIdAndQueryId(databaseId, queryId);
-    }
-
-    @Override
-    @Transactional(rollbackFor = {Exception.class})
-    public Identifier create(IdentifierSaveDto data, Principal principal, String authorization)
-            throws IdentifierPublishingNotAllowedException, QueryNotFoundException, RemoteUnavailableException,
-            IdentifierAlreadyExistsException, UserNotFoundException, DatabaseNotFoundException,
-            IdentifierRequestException, ViewNotFoundException {
-        final Identifier identifier = identifierService.create(data, principal, authorization);
-        /* https://stackoverflow.com/questions/55090541/spring-data-jpa-lombok-unsupportedoperationexception-during-saving */
-        if (identifier.getCreators() != null) {
-            identifier.setCreators(new LinkedList<>(identifier.getCreators()));
-        }
-        if (identifier.getTitles() != null) {
-            identifier.setTitles(new LinkedList<>(identifier.getTitles()));
-        }
-        if (identifier.getDescriptions() != null) {
-            identifier.setDescriptions(new LinkedList<>(identifier.getDescriptions()));
-        }
-        if (identifier.getFunders() != null) {
-            identifier.setFunders(new LinkedList<>(identifier.getFunders()));
-        }
-        if (identifier.getLicenses() != null) {
-            identifier.setLicenses(new LinkedList<>(identifier.getLicenses()));
-        }
-        if (identifier.getRelatedIdentifiers() != null) {
-            identifier.setRelatedIdentifiers(new LinkedList<>(identifier.getRelatedIdentifiers()));
-        }
-        /* end fix */
-        RestTemplate restTemplate = restTemplateBuilder.build();
-
-        HttpHeaders headers = new HttpHeaders();
-        headers.setContentType(MediaType.APPLICATION_JSON);
-        headers.setBasicAuth(dataCiteConfig.getUsername(), dataCiteConfig.getPassword());
-        HttpEntity<DataCiteBody<DataCiteCreateDoi>> request = new HttpEntity<>(
-                DataCiteBody.<DataCiteCreateDoi>builder()
-                        .data(DataCiteData.<DataCiteCreateDoi>builder()
-                                .type("dois")
-                                .attributes(dataCiteMapper.identifierToDataCiteCreateDoi(identifier,
-                                        endpointConfig.getWebsiteUrl() + "/pid/" + identifier.getId(),
-                                        dataCiteConfig.getPrefix()))
-                                .build())
-                        .build(),
-                headers
-        );
-
-        try {
-            ResponseEntity<DataCiteBody<DataCiteDoi>> response = restTemplate.exchange("dois", HttpMethod.POST,
-                    request,
-                    new ParameterizedTypeReference<>() {
-                    }
-            );
-
-            if (response.getStatusCode() != HttpStatus.CREATED || response.getBody() == null) {
-                log.error("Could not successfully create DOI. Response: {}", response);
-                throw new IdentifierRequestException("Could not successfully create DOI.");
-            }
-
-            identifier.setDoi(response.getBody().getData().getAttributes().getDoi());
-            this.identifierRepository.save(identifier);
-        } catch (HttpClientErrorException e) {
-            log.error("Invalid DOI metadata.", e);
-            throw new IdentifierRequestException("Invalid DOI metadata.", e);
-        } catch (RestClientException e) {
-            log.error("Could not fulfil request to DataCite server.", e);
-            throw new InternalError("Could not fulfil request to DataCite server.", e);
-        }
-
-        return identifier;
-    }
-
-    @Override
-    @Transactional(readOnly = true)
-    public Identifier find(Long identifierId) throws IdentifierNotFoundException {
-        return identifierService.find(identifierId);
-    }
-
-    @Override
-    @Transactional(readOnly = true)
-    public InputStreamResource exportMetadata(Long id) throws IdentifierNotFoundException {
-        return identifierService.exportMetadata(id);
-    }
-
-    @Override
-    @Transactional(readOnly = true)
-    public String exportBibliography(Long id, BibliographyTypeDto style)
-            throws IdentifierNotFoundException, IdentifierRequestException {
-        return identifierService.exportBibliography(id, style);
-    }
-
-    @Override
-    @Transactional(readOnly = true)
-    public InputStreamResource exportResource(Long identifierId)
-            throws IdentifierNotFoundException, QueryNotFoundException, RemoteUnavailableException,
-            IdentifierRequestException {
-        return identifierService.exportResource(identifierId);
-    }
-
-    @Override
-    @Transactional(rollbackFor = {Exception.class})
-    public Identifier update(Long identifierId, IdentifierSaveDto data, Principal principal, String authorization)
-            throws UserNotFoundException, QueryNotFoundException, DatabaseNotFoundException, RemoteUnavailableException,
-            IdentifierRequestException, IdentifierNotFoundException {
-        Identifier identifier = identifierService.update(identifierId, data, principal, authorization);
-        if (identifier.getDoi() == null) {
-            return identifier;
-        }
-
-        RestTemplate restTemplate = restTemplateBuilder.build();
-
-        HttpHeaders headers = new HttpHeaders();
-        headers.setContentType(MediaType.APPLICATION_JSON);
-        headers.setBasicAuth(dataCiteConfig.getUsername(), dataCiteConfig.getPassword());
-        HttpEntity<DataCiteBody<DataCiteCreateDoi>> request = new HttpEntity<>(
-                DataCiteBody.<DataCiteCreateDoi>builder()
-                        .data(DataCiteData.<DataCiteCreateDoi>builder()
-                                .type("dois")
-                                .attributes(dataCiteMapper.identifierToDataCiteCreateDoi(identifier,
-                                        endpointConfig.getWebsiteUrl() + "/pid/" + identifier.getId(),
-                                        dataCiteConfig.getPrefix()))
-                                .build())
-                        .build(),
-                headers
-        );
-
-        try {
-            ResponseEntity<DataCiteBody<DataCiteDoi>> response = restTemplate.exchange("dois/{doi}", HttpMethod.PUT,
-                    request,
-                    new ParameterizedTypeReference<>() {
-                    },
-                    identifier.getDoi()
-            );
-
-            if (response.getStatusCode() != HttpStatus.OK || response.getBody() == null) {
-                log.error("Could not successfully create DOI. Response: {}", response);
-                throw new IdentifierRequestException("Could not successfully create DOI.");
-            }
-
-            identifier.setDoi(response.getBody().getData().getAttributes().getDoi());
-            this.identifierRepository.save(identifier);
-        } catch (HttpClientErrorException e) {
-            log.error("Invalid DOI metadata.", e);
-            throw new IdentifierRequestException("Invalid DOI metadata.", e);
-        } catch (RestClientException e) {
-            log.error("Could not fulfil request to DataCite server.", e);
-            throw new InternalError("Could not fulfil request to DataCite server.", e);
-        }
-
-        return identifier;
-    }
-
-    @Override
-    @Transactional
-    public void delete(Long identifierId) throws IdentifierNotFoundException {
-        identifierService.delete(identifierId);
-    }
-
-}
diff --git a/dbrepo-identifier-service/services/src/main/java/at/tuwien/service/impl/DatabaseServiceImpl.java b/dbrepo-identifier-service/services/src/main/java/at/tuwien/service/impl/DatabaseServiceImpl.java
deleted file mode 100644
index 094995eb3e..0000000000
--- a/dbrepo-identifier-service/services/src/main/java/at/tuwien/service/impl/DatabaseServiceImpl.java
+++ /dev/null
@@ -1,36 +0,0 @@
-package at.tuwien.service.impl;
-
-import at.tuwien.entities.database.Database;
-import at.tuwien.exception.DatabaseNotFoundException;
-import at.tuwien.repository.mdb.DatabaseRepository;
-import at.tuwien.service.DatabaseService;
-import lombok.extern.log4j.Log4j2;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.stereotype.Service;
-import org.springframework.transaction.annotation.Transactional;
-
-import java.util.Optional;
-
-@Log4j2
-@Service
-public class DatabaseServiceImpl implements DatabaseService {
-
-    private final DatabaseRepository databaseRepository;
-
-    @Autowired
-    public DatabaseServiceImpl(DatabaseRepository databaseRepository) {
-        this.databaseRepository = databaseRepository;
-    }
-
-    @Override
-    @Transactional(readOnly = true)
-    public Database find(Long databaseId) throws DatabaseNotFoundException {
-        final Optional<Database> database = databaseRepository.findById(databaseId);
-        if (database.isEmpty()) {
-            log.error("Failed to find database");
-            throw new DatabaseNotFoundException("Failed to find database");
-        }
-        return database.get();
-    }
-
-}
diff --git a/dbrepo-identifier-service/services/src/main/java/at/tuwien/service/impl/IdentifierServiceImpl.java b/dbrepo-identifier-service/services/src/main/java/at/tuwien/service/impl/IdentifierServiceImpl.java
deleted file mode 100644
index 0a77b17ae1..0000000000
--- a/dbrepo-identifier-service/services/src/main/java/at/tuwien/service/impl/IdentifierServiceImpl.java
+++ /dev/null
@@ -1,353 +0,0 @@
-package at.tuwien.service.impl;
-
-import at.tuwien.api.database.query.QueryDto;
-import at.tuwien.api.identifier.*;
-import at.tuwien.config.EndpointConfig;
-import at.tuwien.entities.database.Database;
-import at.tuwien.entities.database.LanguageType;
-import at.tuwien.entities.database.View;
-import at.tuwien.entities.identifier.*;
-import at.tuwien.entities.user.User;
-import at.tuwien.exception.*;
-import at.tuwien.gateway.QueryServiceGateway;
-import at.tuwien.mapper.IdentifierMapper;
-import at.tuwien.repository.sdb.IdentifierIdxRepository;
-import at.tuwien.repository.mdb.IdentifierRepository;
-import at.tuwien.service.DatabaseService;
-import at.tuwien.service.IdentifierService;
-import at.tuwien.service.UserService;
-import at.tuwien.service.ViewService;
-import lombok.extern.slf4j.Slf4j;
-import org.apache.commons.io.IOUtils;
-import org.springframework.core.io.InputStreamResource;
-import org.springframework.stereotype.Service;
-import org.springframework.transaction.annotation.Transactional;
-import org.thymeleaf.TemplateEngine;
-import org.thymeleaf.context.Context;
-import org.thymeleaf.exceptions.TemplateInputException;
-
-import java.io.ByteArrayInputStream;
-import java.nio.charset.Charset;
-import java.security.Principal;
-import java.util.List;
-import java.util.Objects;
-import java.util.Optional;
-import java.util.stream.Stream;
-
-@Slf4j
-@Service
-public class IdentifierServiceImpl implements IdentifierService {
-
-    private final UserService userService;
-    private final ViewService viewService;
-    private final EndpointConfig endpointConfig;
-    private final TemplateEngine templateEngine;
-    private final DatabaseService databaseService;
-    private final IdentifierMapper identifierMapper;
-    private final QueryServiceGateway queryServiceGateway;
-    private final IdentifierRepository identifierRepository;
-    private final IdentifierIdxRepository identifierIdxRepository;
-
-    public IdentifierServiceImpl(UserService userService, ViewService viewService, EndpointConfig endpointConfig,
-                                 TemplateEngine templateEngine, DatabaseService databaseService,
-                                 IdentifierMapper identifierMapper, QueryServiceGateway queryServiceGateway,
-                                 IdentifierRepository identifierRepository,
-                                 IdentifierIdxRepository identifierIdxRepository) {
-        this.userService = userService;
-        this.viewService = viewService;
-        this.endpointConfig = endpointConfig;
-        this.templateEngine = templateEngine;
-        this.databaseService = databaseService;
-        this.identifierMapper = identifierMapper;
-        this.queryServiceGateway = queryServiceGateway;
-        this.identifierRepository = identifierRepository;
-        this.identifierIdxRepository = identifierIdxRepository;
-    }
-
-    @Override
-    @Transactional(readOnly = true)
-    public List<Identifier> findAll(IdentifierTypeDto type, Long databaseId, Long queryId, Long viewId) {
-        final List<Identifier> identifiers = this.identifierRepository.findAll();
-        Stream<Identifier> stream = identifiers.stream();
-        if (type != null) {
-            log.trace("filter by type: {}", type);
-            stream = stream.filter(i -> Objects.nonNull(i.getType()))
-                    .filter(i -> i.getType().equals(identifierMapper.identifierTypeDtoToIdentifierType(type)));
-        }
-        if (databaseId != null) {
-            log.trace("filter by database id: {}", databaseId);
-            stream = stream.filter(i -> Objects.nonNull(i.getDatabaseId()))
-                    .filter(i -> i.getDatabaseId().equals(databaseId));
-        }
-        if (queryId != null) {
-            log.trace("filter by query id: {}", queryId);
-            stream = stream.filter(i -> Objects.nonNull(i.getQueryId()))
-                    .filter(i -> i.getQueryId().equals(queryId));
-        }
-        if (viewId != null) {
-            log.trace("filter by view id: {}", viewId);
-            stream = stream.filter(i -> Objects.nonNull(i.getViewId()))
-                    .filter(i -> i.getViewId().equals(viewId));
-        }
-        return stream.toList();
-    }
-
-    @Override
-    @Transactional(readOnly = true)
-    public List<Identifier> findByDatabaseIdAndQueryId(Long databaseId, Long queryId) {
-        return identifierRepository.findByDatabaseIdAndQueryId(databaseId, queryId);
-    }
-
-    @Override
-    @Transactional
-    public Identifier create(IdentifierSaveDto data, Principal principal, String authorization)
-            throws QueryNotFoundException, RemoteUnavailableException, IdentifierAlreadyExistsException,
-            UserNotFoundException, DatabaseNotFoundException, IdentifierPublishingNotAllowedException,
-            IdentifierRequestException, ViewNotFoundException {
-        /* check */
-        if (data.getType().equals(IdentifierTypeDto.DATABASE) && identifierRepository.existsByDatabaseIdAndType(data.getDatabaseId(), IdentifierType.DATABASE)) {
-            log.error("Identifier already issued for database with id {}", data.getDatabaseId());
-            throw new IdentifierAlreadyExistsException("Database identifier already exists");
-        } else if (data.getType().equals(IdentifierTypeDto.SUBSET) && identifierRepository.existsByDatabaseIdAndQueryIdAndType(data.getDatabaseId(), data.getQueryId(), IdentifierType.SUBSET)) {
-            log.error("Identifier already issued for database with id {} and query with id {}", data.getDatabaseId(), data.getQueryId());
-            throw new IdentifierAlreadyExistsException("Subset identifier already exists");
-        }
-        /* create identifier */
-        final Identifier identifier = identifierMapper.identifierCreateDtoToIdentifier(data);
-        final User creator = userService.findByUsername(principal.getName());
-        identifier.setCreator(creator);
-        identifier.setDatabaseId(data.getDatabaseId());
-        final Database database = databaseService.find(data.getDatabaseId());
-        identifier.setDatabase(database);
-        if (data.getType().equals(IdentifierTypeDto.SUBSET)) {
-            log.debug("identifier type: subset");
-            final QueryDto query = queryServiceGateway.find(data.getDatabaseId(), data, authorization);
-            identifier.setQuery(query.getQuery());
-            identifier.setQueryId(query.getId());
-            identifier.setQueryNormalized(query.getQueryNormalized());
-            identifier.setQueryHash(query.getQueryHash());
-            identifier.setExecution(query.getExecution());
-            identifier.setResultNumber(query.getResultNumber());
-            identifier.setResultHash(query.getResultHash());
-        } else if (data.getType().equals(IdentifierTypeDto.VIEW)) {
-            log.debug("identifier type: view");
-            final View view = viewService.findById(data.getViewId());
-            identifier.setViewId(view.getId());
-            identifier.setQuery(view.getQuery());
-            identifier.setQueryNormalized(view.getQuery());
-            identifier.setQueryHash(view.getQueryHash());
-        }
-        /* create in metadata database */
-        final Identifier entity = saveIdentifier(identifier, data.getCreators(), data.getRelatedIdentifiers(),
-                data.getTitles(), data.getDescriptions(), data.getFunders());
-        log.info("Created identifier with id {} in metadata database", entity.getId());
-        /* create in open search database */
-        identifierIdxRepository.save(identifierMapper.identifierToIdentifierDto(entity));
-        log.info("Created identifier with id {} in open search database", entity.getId());
-        return entity;
-    }
-
-    @Override
-    @Transactional(readOnly = true)
-    public Identifier find(Long identifierId) throws IdentifierNotFoundException {
-        final Optional<Identifier> optional = identifierRepository.findById(identifierId);
-        if (optional.isEmpty()) {
-            log.error("Identifier with id {} not existing", identifierId);
-            throw new IdentifierNotFoundException("Unable to find identifier");
-        }
-        return optional.get();
-    }
-
-    @Override
-    @Transactional(readOnly = true)
-    public InputStreamResource exportMetadata(Long id) throws IdentifierNotFoundException {
-        /* check */
-        final Identifier identifier = find(id);
-        /* context */
-        final Context context = new Context();
-        if (identifier.getDoi() != null) {
-            context.setVariable("identifierType", "DOI");
-            context.setVariable("identifier", identifier.getDoi());
-        } else {
-            context.setVariable("identifierType", "PID");
-            context.setVariable("identifier", endpointConfig.getWebsiteUrl() + "/pid/" + identifier.getId());
-        }
-        context.setVariable("language", identifier.getLanguage());
-        context.setVariable("creators", identifier.getCreators());
-        context.setVariable("titles", identifier.getTitles());
-        context.setVariable("publisher", identifier.getPublisher());
-        context.setVariable("publicationYear", identifier.getPublicationYear());
-        context.setVariable("created", identifier.getCreated());
-        context.setVariable("relatedIdentifiers", identifier.getRelatedIdentifiers());
-        context.setVariable("funders", identifier.getFunders());
-        context.setVariable("descriptions", identifier.getDescriptions());
-        context.setVariable("licenses", identifier.getLicenses());
-        /* map */
-        final String body = templateEngine.process("doi.xml", context)
-                .replaceAll("\\s+", " ");
-        final InputStreamResource resource = new InputStreamResource(IOUtils.toInputStream(body, Charset.defaultCharset()));
-        log.debug("mapped file stream {}", resource.getDescription());
-        return resource;
-    }
-
-    @Override
-    @Transactional(readOnly = true)
-    public String exportBibliography(Long id, BibliographyTypeDto style)
-            throws IdentifierNotFoundException, IdentifierRequestException {
-        /* check */
-        final Identifier identifier = find(id);
-        /* context */
-        final Context context = new Context();
-        if (identifier.getDoi() != null) {
-            context.setVariable("identifierType", "doi");
-            context.setVariable("identifier", identifier.getDoi());
-        } else {
-            context.setVariable("identifierType", "url");
-            context.setVariable("identifier", endpointConfig.getWebsiteUrl() + "/pid/" + identifier.getId());
-        }
-        context.setVariable("creator", identifier.getCreator());
-        context.setVariable("creators", identifier.getCreators());
-        context.setVariable("title", preferTitle(identifier.getTitles()));
-        context.setVariable("publisher", identifier.getPublisher());
-        context.setVariable("publicationMonth", identifier.getPublicationMonth());
-        context.setVariable("publicationYear", identifier.getPublicationYear());
-        /* map */
-        final String template = "cite_" + style.name().toLowerCase() + ".txt";
-        final String body;
-        try {
-            body = templateEngine.process(template, context);
-        } catch (TemplateInputException e) {
-            log.error("Failed to load template: {}", e.getMessage());
-            throw new IdentifierRequestException("Failed to load template", e);
-        }
-        log.trace("mapped bibliography {}", body);
-        return body;
-    }
-
-    @Override
-    @Transactional(readOnly = true)
-    public InputStreamResource exportResource(Long identifierId) throws IdentifierNotFoundException,
-            QueryNotFoundException, RemoteUnavailableException, IdentifierRequestException {
-        /* check */
-        final Identifier identifier = find(identifierId);
-        if (identifier.getType().equals(IdentifierType.DATABASE)) {
-            log.error("Failed to find identifier with id {} as it refers to a database and not a query", identifierId);
-            throw new IdentifierRequestException("Failed to find identifier");
-        }
-        /* subset */
-        final byte[] file = queryServiceGateway.export(identifier.getDatabase().getId(), identifier.getQueryId());
-        final InputStreamResource resource = new InputStreamResource(new ByteArrayInputStream(file));
-        log.trace("found resource {}", resource);
-        return resource;
-    }
-
-    @Override
-    @Transactional
-    public Identifier update(Long identifierId, IdentifierSaveDto data, Principal principal, String authorization)
-            throws UserNotFoundException, DatabaseNotFoundException, QueryNotFoundException, RemoteUnavailableException,
-            IdentifierNotFoundException {
-        /* find doi */
-        final Identifier oldIdentifier = find(identifierId);
-        /* create identifier */
-        final Identifier identifier = identifierMapper.identifierUpdateDtoToIdentifier(data);
-        identifier.setId(identifierId);
-        identifier.setDoi(oldIdentifier.getDoi());
-        final User creator = userService.findByUsername(principal.getName());
-        identifier.setCreator(creator);
-        final Database database = databaseService.find(data.getDatabaseId());
-        identifier.setDatabase(database);
-        if (data.getType().equals(IdentifierTypeDto.SUBSET)) {
-            log.debug("identifier describes a subset");
-            final IdentifierSaveDto payload = identifierMapper.identifierUpdateDtoToIdentifierCreateDto(data);
-            final QueryDto query = queryServiceGateway.find(data.getDatabaseId(), payload, authorization);
-            identifier.setQuery(query.getQuery());
-            identifier.setQueryId(query.getId());
-            identifier.setQueryNormalized(query.getQueryNormalized());
-            identifier.setQueryHash(query.getQueryHash());
-            identifier.setExecution(query.getExecution());
-            identifier.setResultNumber(query.getResultNumber());
-            identifier.setResultHash(query.getResultHash());
-        }
-        /* update in metadata database */
-        final Identifier entity = saveIdentifier(identifier, data.getCreators(), data.getRelatedIdentifiers(),
-                data.getTitles(), data.getDescriptions(), data.getFunders());
-        log.info("Updated identifier with id {} in metadata database", identifierId);
-        /* update in open search database */
-        identifierIdxRepository.save(identifierMapper.identifierToIdentifierDto(entity));
-        log.info("Updated identifier with id {} in open search database", identifierId);
-        return entity;
-    }
-
-    @Override
-    @Transactional
-    public void delete(Long identifierId) throws IdentifierNotFoundException {
-        /* delete in metadata database */
-        if (!identifierRepository.existsById(identifierId)) {
-            log.error("Failed to find identifier with id {} in metadata database", identifierId);
-            throw new IdentifierNotFoundException("Failed to find identifier with id " + identifierId + " in metadata database");
-        }
-        identifierRepository.deleteById(identifierId);
-        log.info("Deleted identifier with id {} in metadata database", identifierId);
-        /* delete in elastic search */
-        if (!identifierIdxRepository.existsById(identifierId)) {
-            log.error("Failed to find identifier with id {} in open search database", identifierId);
-            throw new IdentifierNotFoundException("Failed to find identifier with id " + identifierId + " in open search database");
-        }
-        identifierIdxRepository.deleteById(identifierId);
-        log.info("Deleted identifier with id {} in open search database", identifierId);
-    }
-
-    public IdentifierTitle preferTitle(List<IdentifierTitle> titles) {
-        final Optional<IdentifierTitle> optional = titles.stream()
-                .filter(t -> Objects.nonNull(t.getLanguage()))
-                .filter(t -> t.getLanguage().equals(LanguageType.EN))
-                .findFirst();
-        return optional.orElseGet(() -> titles.get(0));
-    }
-
-    public Identifier saveIdentifier(Identifier identifier, List<CreatorSaveDto> creators,
-                                     List<RelatedIdentifierSaveDto> relatedIdentifiers,
-                                     List<IdentifierSaveTitleDto> titles,
-                                     List<IdentifierSaveDescriptionDto> descriptions,
-                                     List<IdentifierFunderSaveDto> funders) {
-        /* create in metadata database */
-        if (creators != null) {
-            identifier.setCreators(creators.stream()
-                    .map(identifierMapper::creatorCreateDtoToCreator)
-                    .peek(c -> c.setIdentifier(identifier))
-                    .toList());
-            log.debug("set {} creator(s)", identifier.getCreators().size());
-        }
-        if (relatedIdentifiers != null) {
-            identifier.setRelatedIdentifiers(relatedIdentifiers.stream()
-                    .map(identifierMapper::relatedIdentifierCreateDtoToRelatedIdentifier)
-                    .peek(r -> r.setIdentifier(identifier))
-                    .toList());
-            log.debug("set {} related identifier(s)", identifier.getRelatedIdentifiers().size());
-        }
-        if (titles != null) {
-            identifier.setTitles(null);
-            identifier.setTitles(titles.stream()
-                    .map(identifierMapper::identifierCreateTitleDtoToIdentifierTitle)
-                    .peek(t -> t.setIdentifier(identifier))
-                    .toList());
-            log.debug("set {} title(s)", identifier.getTitles().size());
-        }
-        if (descriptions != null) {
-            identifier.setDescriptions(descriptions.stream()
-                    .map(identifierMapper::identifierCreateDescriptionDtoToIdentifierDescription)
-                    .peek(d -> d.setIdentifier(identifier))
-                    .toList());
-            log.debug("set {} description(s)", identifier.getDescriptions().size());
-        }
-        if (funders != null) {
-            identifier.setFunders(funders.stream()
-                    .map(identifierMapper::identifierFunderSaveDtoToIdentifierFunder)
-                    .peek(d -> d.setIdentifier(identifier))
-                    .toList());
-            log.debug("set {} funder(s)", identifier.getFunders().size());
-        }
-        return identifierRepository.save(identifier);
-    }
-
-}
diff --git a/dbrepo-identifier-service/services/src/main/java/at/tuwien/service/impl/MetadataServiceImpl.java b/dbrepo-identifier-service/services/src/main/java/at/tuwien/service/impl/MetadataServiceImpl.java
deleted file mode 100644
index 8c06fcfede..0000000000
--- a/dbrepo-identifier-service/services/src/main/java/at/tuwien/service/impl/MetadataServiceImpl.java
+++ /dev/null
@@ -1,67 +0,0 @@
-package at.tuwien.service.impl;
-
-import at.tuwien.api.crossref.CrossrefDto;
-import at.tuwien.api.orcid.OrcidDto;
-import at.tuwien.api.ror.RorDto;
-import at.tuwien.api.user.external.ExternalMetadataDto;
-import at.tuwien.exception.DoiNotFoundException;
-import at.tuwien.exception.OrcidNotFoundException;
-import at.tuwien.exception.RemoteUnavailableException;
-import at.tuwien.exception.RorNotFoundException;
-import at.tuwien.gateway.CrossrefGateway;
-import at.tuwien.gateway.OrcidGateway;
-import at.tuwien.gateway.RorGateway;
-import at.tuwien.mapper.ExternalMapper;
-import at.tuwien.service.MetadataService;
-import lombok.extern.slf4j.Slf4j;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.stereotype.Service;
-
-@Slf4j
-@Service
-public class MetadataServiceImpl implements MetadataService {
-
-    private final RorGateway rorGateway;
-    private final OrcidGateway orcidGateway;
-    private final ExternalMapper externalMapper;
-    private final CrossrefGateway crossrefGateway;
-
-    @Autowired
-    public MetadataServiceImpl(RorGateway rorGateway, OrcidGateway orcidGateway, ExternalMapper externalMapper,
-                               CrossrefGateway crossrefGateway) {
-        this.rorGateway = rorGateway;
-        this.orcidGateway = orcidGateway;
-        this.externalMapper = externalMapper;
-        this.crossrefGateway = crossrefGateway;
-    }
-
-    @Override
-    public ExternalMetadataDto findByUrl(String url) throws OrcidNotFoundException, RorNotFoundException,
-            RemoteUnavailableException, DoiNotFoundException {
-        if (url.contains("orcid.org")) {
-            final OrcidDto orcidDto = orcidGateway.findByUrl(url);
-            return externalMapper.orcidDtoToExternalMetadataDto(orcidDto);
-        } else if (url.contains("ror.org")) {
-            final int idx = url.lastIndexOf('/');
-            if (idx + 1 >= url.length()) {
-                log.error("Failed to find metadata from ROR URL: too short");
-                throw new RorNotFoundException("Failed to find metadata from ROR URL: too short");
-            }
-            final String id = url.substring(idx + 1);
-            final RorDto rorDto = rorGateway.findById(id);
-            return externalMapper.rorDtoToExternalMetadataDto(rorDto);
-        } else if (url.contains("doi.org")) {
-            final int idx = url.indexOf("doi.org/");
-            if (idx + 1 >= url.length()) {
-                log.error("Failed to find metadata from CrossRef URL: too short");
-                throw new RorNotFoundException("Failed to find metadata from CrossRef URL: too short");
-            }
-            final String id = url.substring(idx + 8);
-            final CrossrefDto crossrefDto = crossrefGateway.findById(id);
-            return externalMapper.crossrefDtoToExternalMetadataDto(crossrefDto);
-        }
-        log.error("Failed to find metadata: unsupported identifier {}", url);
-        throw new RemoteUnavailableException("Failed to find metadata: unsupported identifier " + url);
-    }
-
-}
diff --git a/dbrepo-identifier-service/services/src/main/java/at/tuwien/service/impl/UserServiceImpl.java b/dbrepo-identifier-service/services/src/main/java/at/tuwien/service/impl/UserServiceImpl.java
deleted file mode 100644
index 47f1ac286b..0000000000
--- a/dbrepo-identifier-service/services/src/main/java/at/tuwien/service/impl/UserServiceImpl.java
+++ /dev/null
@@ -1,34 +0,0 @@
-package at.tuwien.service.impl;
-
-import at.tuwien.entities.user.User;
-import at.tuwien.exception.UserNotFoundException;
-import at.tuwien.repository.mdb.UserRepository;
-import at.tuwien.service.UserService;
-import lombok.extern.log4j.Log4j2;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.stereotype.Service;
-
-import java.util.Optional;
-
-@Log4j2
-@Service
-public class UserServiceImpl implements UserService {
-
-    private final UserRepository userRepository;
-
-    @Autowired
-    public UserServiceImpl(UserRepository userRepository) {
-        this.userRepository = userRepository;
-    }
-
-    @Override
-    public User findByUsername(String username) throws UserNotFoundException {
-        final Optional<User> optional = userRepository.findByUsername(username);
-        if (optional.isEmpty()) {
-            log.error("Failed to retrieve user with username {}", username);
-            throw new UserNotFoundException("Failed to retrieve user");
-        }
-        return optional.get();
-    }
-
-}
diff --git a/dbrepo-identifier-service/services/src/main/java/at/tuwien/service/impl/ViewServiceImpl.java b/dbrepo-identifier-service/services/src/main/java/at/tuwien/service/impl/ViewServiceImpl.java
deleted file mode 100644
index 298ea15687..0000000000
--- a/dbrepo-identifier-service/services/src/main/java/at/tuwien/service/impl/ViewServiceImpl.java
+++ /dev/null
@@ -1,33 +0,0 @@
-package at.tuwien.service.impl;
-
-import at.tuwien.entities.database.View;
-import at.tuwien.exception.ViewNotFoundException;
-import at.tuwien.repository.mdb.ViewRepository;
-import at.tuwien.service.ViewService;
-import lombok.extern.log4j.Log4j2;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.stereotype.Service;
-
-import java.util.Optional;
-
-@Log4j2
-@Service
-public class ViewServiceImpl implements ViewService {
-
-    private final ViewRepository viewRepository;
-
-    @Autowired
-    public ViewServiceImpl(ViewRepository viewRepository) {
-        this.viewRepository = viewRepository;
-    }
-
-    @Override
-    public View findById(Long id) throws ViewNotFoundException {
-        final Optional<View> optional = viewRepository.findById(id);
-        if (optional.isEmpty()) {
-            log.error("Failed to find view with id: {}", id);
-            throw new ViewNotFoundException("Failed to find view with id: " + id);
-        }
-        return optional.get();
-    }
-}
diff --git a/dbrepo-identifier-service/services/src/main/java/at/tuwien/utils/EnumToStringConverter.java b/dbrepo-identifier-service/services/src/main/java/at/tuwien/utils/EnumToStringConverter.java
deleted file mode 100644
index 2e53ae6cdc..0000000000
--- a/dbrepo-identifier-service/services/src/main/java/at/tuwien/utils/EnumToStringConverter.java
+++ /dev/null
@@ -1,15 +0,0 @@
-package at.tuwien.utils;
-
-import org.mapstruct.TargetType;
-
-public class EnumToStringConverter {
-
-    public static String convert(Enum<?> source) {
-        return source == null ? null : source.toString();
-    }
-
-    public static <E extends Enum<E>> E convert(String source, @TargetType Class<E> enumType) {
-        // You probably need something else here as the methods are not symmetrical
-        return source == null ? null : Enum.valueOf( enumType, source );
-    }
-}
diff --git a/dbrepo-identifier-service/~ b/dbrepo-identifier-service/~
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/dbrepo-metadata-db/pom.xml b/dbrepo-metadata-db/pom.xml
deleted file mode 100644
index 35b8b185da..0000000000
--- a/dbrepo-metadata-db/pom.xml
+++ /dev/null
@@ -1,93 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
-    <modelVersion>4.0.0</modelVersion>
-    <parent>
-        <groupId>org.springframework.boot</groupId>
-        <artifactId>spring-boot-starter-parent</artifactId>
-        <version>3.0.6</version>
-    </parent>
-
-    <groupId>at.tuwien</groupId>
-    <artifactId>dbrepo-metadata-db</artifactId>
-    <version>1.3.0</version>
-    <name>dbrepo-metadata-db</name>
-    <description>Demo project for Spring Boot</description>
-
-    <packaging>pom</packaging>
-    <modules>
-        <module>api</module>
-        <module>entities</module>
-        <module>querystore</module>
-        <module>oai</module>
-        <module>test</module>
-    </modules>
-
-    <properties>
-        <java.version>17</java.version>
-        <maven.compiler.source>${java.version}</maven.compiler.source>
-        <maven.compiler.target>${java.version}</maven.compiler.target>
-        <jsql-parser.version>4.6</jsql-parser.version>
-        <jackson-datatype.version>2.15.0</jackson-datatype.version>
-        <commons.version>2.11.0</commons.version>
-        <springdoc-openapi.version>2.1.0</springdoc-openapi.version>
-        <opensearch-client.version>1.1.0</opensearch-client.version>
-    </properties>
-
-    <dependencies>
-        <dependency>
-            <groupId>org.springframework.boot</groupId>
-            <artifactId>spring-boot-starter-web</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>org.springframework.boot</groupId>
-            <artifactId>spring-boot-starter-security</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>org.springframework.boot</groupId>
-            <artifactId>spring-boot-starter-data-jpa</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>org.opensearch.client</groupId>
-            <artifactId>spring-data-opensearch</artifactId>
-            <version>${opensearch-client.version}</version>
-        </dependency>
-        <!-- Mapping -->
-        <dependency>
-            <groupId>com.fasterxml.jackson.datatype</groupId>
-            <artifactId>jackson-datatype-jsr310</artifactId>
-            <version>${jackson-datatype.version}</version>
-        </dependency>
-        <dependency>
-            <groupId>commons-io</groupId>
-            <artifactId>commons-io</artifactId>
-            <version>${commons.version}</version>
-        </dependency>
-        <!-- Utils -->
-        <dependency>
-            <groupId>com.google.guava</groupId>
-            <artifactId>guava</artifactId>
-            <version>31.1-jre</version>
-        </dependency>
-        <!-- SQL Parser -->
-        <dependency>
-            <groupId>com.github.jsqlparser</groupId>
-            <artifactId>jsqlparser</artifactId>
-            <version>${jsql-parser.version}</version>
-        </dependency>
-        <!-- IDE -->
-        <dependency>
-            <groupId>org.projectlombok</groupId>
-            <artifactId>lombok</artifactId>
-        </dependency>
-        <!-- OpenAPI -->
-        <dependency>
-            <groupId>org.springdoc</groupId>
-            <artifactId>springdoc-openapi-starter-webmvc-ui</artifactId>
-            <version>${springdoc-openapi.version}</version>
-        </dependency>
-    </dependencies>
-
-    <!-- build at.tuwien.gateway.config in ./rest-service/pom.xml -->
-
-</project>
diff --git a/dbrepo-semantics-service/.gitignore b/dbrepo-semantics-service/.gitignore
deleted file mode 100644
index 7731f1adf2..0000000000
--- a/dbrepo-semantics-service/.gitignore
+++ /dev/null
@@ -1,36 +0,0 @@
-HELP.md
-target/
-!.mvn/wrapper/maven-wrapper.jar
-!**/src/main/**/target/
-!**/src/test/**/target/
-
-### Generated ###
-ready
-
-### STS ###
-.apt_generated
-.classpath
-.factorypath
-.project
-.settings
-.springBeans
-.sts4-cache
-
-### IntelliJ IDEA ###
-.idea
-*.iws
-*.iml
-*.ipr
-
-### NetBeans ###
-/nbproject/private/
-/nbbuild/
-/dist/
-/nbdist/
-/.nb-gradle/
-build/
-!**/src/main/**/build/
-!**/src/test/**/build/
-
-### VS Code ###
-.vscode/
diff --git a/dbrepo-semantics-service/.mvn/wrapper/MavenWrapperDownloader.java b/dbrepo-semantics-service/.mvn/wrapper/MavenWrapperDownloader.java
deleted file mode 100644
index a45eb6ba26..0000000000
--- a/dbrepo-semantics-service/.mvn/wrapper/MavenWrapperDownloader.java
+++ /dev/null
@@ -1,118 +0,0 @@
-/*
- * Copyright 2007-present the original author or authors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      https://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-import java.net.*;
-import java.io.*;
-import java.nio.channels.*;
-import java.util.Properties;
-
-public class MavenWrapperDownloader {
-
-    private static final String WRAPPER_VERSION = "0.5.6";
-    /**
-     * Default URL to download the maven-wrapper.jar from, if no 'downloadUrl' is provided.
-     */
-    private static final String DEFAULT_DOWNLOAD_URL = "https://repo.maven.apache.org/maven2/io/takari/maven-wrapper/"
-            + WRAPPER_VERSION + "/maven-wrapper-" + WRAPPER_VERSION + ".jar";
-
-    /**
-     * Path to the maven-wrapper.properties file, which might contain a downloadUrl property to
-     * use instead of the default one.
-     */
-    private static final String MAVEN_WRAPPER_PROPERTIES_PATH =
-            ".mvn/wrapper/maven-wrapper.properties";
-
-    /**
-     * Path where the maven-wrapper.jar will be saved to.
-     */
-    private static final String MAVEN_WRAPPER_JAR_PATH =
-            ".mvn/wrapper/maven-wrapper.jar";
-
-    /**
-     * Name of the property which should be used to override the default download url for the wrapper.
-     */
-    private static final String PROPERTY_NAME_WRAPPER_URL = "wrapperUrl";
-
-    public static void main(String args[]) {
-        System.out.println("- Downloader started");
-        File baseDirectory = new File(args[0]);
-        System.out.println("- Using base directory: " + baseDirectory.getAbsolutePath());
-
-        // If the maven-wrapper.properties exists, read it and check if it contains a custom
-        // wrapperUrl parameter.
-        File mavenWrapperPropertyFile = new File(baseDirectory, MAVEN_WRAPPER_PROPERTIES_PATH);
-        String url = DEFAULT_DOWNLOAD_URL;
-        if (mavenWrapperPropertyFile.exists()) {
-            FileInputStream mavenWrapperPropertyFileInputStream = null;
-            try {
-                mavenWrapperPropertyFileInputStream = new FileInputStream(mavenWrapperPropertyFile);
-                Properties mavenWrapperProperties = new Properties();
-                mavenWrapperProperties.load(mavenWrapperPropertyFileInputStream);
-                url = mavenWrapperProperties.getProperty(PROPERTY_NAME_WRAPPER_URL, url);
-            } catch (IOException e) {
-                System.out.println("- ERROR loading '" + MAVEN_WRAPPER_PROPERTIES_PATH + "'");
-            } finally {
-                try {
-                    if (mavenWrapperPropertyFileInputStream != null) {
-                        mavenWrapperPropertyFileInputStream.close();
-                    }
-                } catch (IOException e) {
-                    // Ignore ...
-                }
-            }
-        }
-        System.out.println("- Downloading from: " + url);
-
-        File outputFile = new File(baseDirectory.getAbsolutePath(), MAVEN_WRAPPER_JAR_PATH);
-        if (!outputFile.getParentFile().exists()) {
-            if (!outputFile.getParentFile().mkdirs()) {
-                System.out.println(
-                        "- ERROR creating output directory '" + outputFile.getParentFile().getAbsolutePath() + "'");
-            }
-        }
-        System.out.println("- Downloading to: " + outputFile.getAbsolutePath());
-        try {
-            downloadFileFromURL(url, outputFile);
-            System.out.println("Done");
-            System.exit(0);
-        } catch (Throwable e) {
-            System.out.println("- Error downloading");
-            e.printStackTrace();
-            System.exit(1);
-        }
-    }
-
-    private static void downloadFileFromURL(String urlString, File destination) throws Exception {
-        if (System.getenv("MVNW_USERNAME") != null && System.getenv("MVNW_PASSWORD") != null) {
-            String username = System.getenv("MVNW_USERNAME");
-            char[] password = System.getenv("MVNW_PASSWORD").toCharArray();
-            Authenticator.setDefault(new Authenticator() {
-                @Override
-                protected PasswordAuthentication getPasswordAuthentication() {
-                    return new PasswordAuthentication(username, password);
-                }
-            });
-        }
-        URL website = new URL(urlString);
-        ReadableByteChannel rbc;
-        rbc = Channels.newChannel(website.openStream());
-        FileOutputStream fos = new FileOutputStream(destination);
-        fos.getChannel().transferFrom(rbc, 0, Long.MAX_VALUE);
-        fos.close();
-        rbc.close();
-    }
-
-}
diff --git a/dbrepo-semantics-service/.mvn/wrapper/maven-wrapper.jar b/dbrepo-semantics-service/.mvn/wrapper/maven-wrapper.jar
deleted file mode 100644
index 2cc7d4a55c0cd0092912bf49ae38b3a9e3fd0054..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 50710
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

diff --git a/dbrepo-semantics-service/.mvn/wrapper/maven-wrapper.properties b/dbrepo-semantics-service/.mvn/wrapper/maven-wrapper.properties
deleted file mode 100644
index 642d572ce9..0000000000
--- a/dbrepo-semantics-service/.mvn/wrapper/maven-wrapper.properties
+++ /dev/null
@@ -1,2 +0,0 @@
-distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.6.3/apache-maven-3.6.3-bin.zip
-wrapperUrl=https://repo.maven.apache.org/maven2/io/takari/maven-wrapper/0.5.6/maven-wrapper-0.5.6.jar
diff --git a/dbrepo-semantics-service/Dockerfile b/dbrepo-semantics-service/Dockerfile
deleted file mode 100644
index 8a332ae36c..0000000000
--- a/dbrepo-semantics-service/Dockerfile
+++ /dev/null
@@ -1,39 +0,0 @@
-###### FIRST STAGE ######
-FROM dbrepo-metadata-db:latest as dependency
-MAINTAINER Martin Weise <martin.weise@tuwien.ac.at>
-
-###### SECOND STAGE ######
-FROM maven:3-openjdk-17 as build
-MAINTAINER Martin Weise <martin.weise@tuwien.ac.at>
-
-COPY ./pom.xml ./
-
-RUN mvn -fn -B dependency:go-offline > /dev/null
-
-COPY --from=dependency /root/.m2/repository/at/tuwien /root/.m2/repository/at/tuwien
-
-COPY ./rest-service ./rest-service
-COPY ./services ./services
-COPY ./report ./report
-
-# Make sure it compiles
-RUN mvn -q clean package -DskipTests
-
-###### THIRD STAGE ######
-FROM openjdk:17-alpine as runtime
-MAINTAINER Martin Weise <martin.weise@tuwien.ac.at>
-
-ENV METADATA_DB=fda
-ENV METADATA_USERNAME=root
-ENV METADATA_PASSWORD=dbrepo
-ENV LOG_LEVEL=debug
-ENV JWT_ISSUER="http://localhost/realms/dbrepo"
-ENV JWT_PUBKEY="MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAqqnHQ2BWWW9vDNLRCcxD++xZg/16oqMo/c1l+lcFEjjAIJjJp/HqrPYU/U9GvquGE6PbVFtTzW1KcKawOW+FJNOA3CGo8Q1TFEfz43B8rZpKsFbJKvQGVv1Z4HaKPvLUm7iMm8Hv91cLduuoWx6Q3DPe2vg13GKKEZe7UFghF+0T9u8EKzA/XqQ0OiICmsmYPbwvf9N3bCKsB/Y10EYmZRb8IhCoV9mmO5TxgWgiuNeCTtNCv2ePYqL/U0WvyGFW0reasIK8eg3KrAUj8DpyOgPOVBn3lBGf+3KFSYi+0bwZbJZWqbC/Xlk20Go1YfeJPRIt7ImxD27R/lNjgDO/MwIDAQAB"
-
-WORKDIR /app
-
-COPY --from=build ./rest-service/target/rest-service-*.jar ./semantics-service.jar
-
-EXPOSE 9091
-
-ENTRYPOINT ["java", "-Dlog4j2.formatMsgNoLookups=true",  "-jar", "./semantics-service.jar"]
diff --git a/dbrepo-semantics-service/README.md b/dbrepo-semantics-service/README.md
deleted file mode 100644
index 859ab6d6ac..0000000000
--- a/dbrepo-semantics-service/README.md
+++ /dev/null
@@ -1,15 +0,0 @@
-# Semantics Service
-
-## Actuator
-
-- Actuator Info: http://localhost:9097/actuator/info
-- Actuator Health: http://localhost:9097/actuator/health
-- Actuator Prometheus: http://localhost:9097/actuator/prometheus
-
-## Swagger UI Endpoints
-
-- Swagger UI: http://localhost:9097/swagger-ui/index.html
-
-## OpenAPI Endpoints
-
-- OpenAPI v3 as .yaml: http://localhost:9097/v3/api-docs.yaml
\ No newline at end of file
diff --git a/dbrepo-semantics-service/mvnw b/dbrepo-semantics-service/mvnw
deleted file mode 100755
index a16b5431b4..0000000000
--- a/dbrepo-semantics-service/mvnw
+++ /dev/null
@@ -1,310 +0,0 @@
-#!/bin/sh
-# ----------------------------------------------------------------------------
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#    https://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-# ----------------------------------------------------------------------------
-
-# ----------------------------------------------------------------------------
-# Maven Start Up Batch script
-#
-# Required ENV vars:
-# ------------------
-#   JAVA_HOME - location of a JDK home dir
-#
-# Optional ENV vars
-# -----------------
-#   M2_HOME - location of maven2's installed home dir
-#   MAVEN_OPTS - parameters passed to the Java VM when running Maven
-#     e.g. to debug Maven itself, use
-#       set MAVEN_OPTS=-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8000
-#   MAVEN_SKIP_RC - flag to disable loading of mavenrc files
-# ----------------------------------------------------------------------------
-
-if [ -z "$MAVEN_SKIP_RC" ] ; then
-
-  if [ -f /etc/mavenrc ] ; then
-    . /etc/mavenrc
-  fi
-
-  if [ -f "$HOME/.mavenrc" ] ; then
-    . "$HOME/.mavenrc"
-  fi
-
-fi
-
-# OS specific support.  $var _must_ be set to either true or false.
-cygwin=false;
-darwin=false;
-mingw=false
-case "`uname`" in
-  CYGWIN*) cygwin=true ;;
-  MINGW*) mingw=true;;
-  Darwin*) darwin=true
-    # Use /usr/libexec/java_home if available, otherwise fall back to /Library/Java/Home
-    # See https://developer.apple.com/library/mac/qa/qa1170/_index.html
-    if [ -z "$JAVA_HOME" ]; then
-      if [ -x "/usr/libexec/java_home" ]; then
-        export JAVA_HOME="`/usr/libexec/java_home`"
-      else
-        export JAVA_HOME="/Library/Java/Home"
-      fi
-    fi
-    ;;
-esac
-
-if [ -z "$JAVA_HOME" ] ; then
-  if [ -r /etc/gentoo-release ] ; then
-    JAVA_HOME=`java-config --jre-home`
-  fi
-fi
-
-if [ -z "$M2_HOME" ] ; then
-  ## resolve links - $0 may be a link to maven's home
-  PRG="$0"
-
-  # need this for relative symlinks
-  while [ -h "$PRG" ] ; do
-    ls=`ls -ld "$PRG"`
-    link=`expr "$ls" : '.*-> \(.*\)$'`
-    if expr "$link" : '/.*' > /dev/null; then
-      PRG="$link"
-    else
-      PRG="`dirname "$PRG"`/$link"
-    fi
-  done
-
-  saveddir=`pwd`
-
-  M2_HOME=`dirname "$PRG"`/..
-
-  # make it fully qualified
-  M2_HOME=`cd "$M2_HOME" && pwd`
-
-  cd "$saveddir"
-  # echo Using m2 at $M2_HOME
-fi
-
-# For Cygwin, ensure paths are in UNIX format before anything is touched
-if $cygwin ; then
-  [ -n "$M2_HOME" ] &&
-    M2_HOME=`cygpath --unix "$M2_HOME"`
-  [ -n "$JAVA_HOME" ] &&
-    JAVA_HOME=`cygpath --unix "$JAVA_HOME"`
-  [ -n "$CLASSPATH" ] &&
-    CLASSPATH=`cygpath --path --unix "$CLASSPATH"`
-fi
-
-# For Mingw, ensure paths are in UNIX format before anything is touched
-if $mingw ; then
-  [ -n "$M2_HOME" ] &&
-    M2_HOME="`(cd "$M2_HOME"; pwd)`"
-  [ -n "$JAVA_HOME" ] &&
-    JAVA_HOME="`(cd "$JAVA_HOME"; pwd)`"
-fi
-
-if [ -z "$JAVA_HOME" ]; then
-  javaExecutable="`which javac`"
-  if [ -n "$javaExecutable" ] && ! [ "`expr \"$javaExecutable\" : '\([^ ]*\)'`" = "no" ]; then
-    # readlink(1) is not available as standard on Solaris 10.
-    readLink=`which readlink`
-    if [ ! `expr "$readLink" : '\([^ ]*\)'` = "no" ]; then
-      if $darwin ; then
-        javaHome="`dirname \"$javaExecutable\"`"
-        javaExecutable="`cd \"$javaHome\" && pwd -P`/javac"
-      else
-        javaExecutable="`readlink -f \"$javaExecutable\"`"
-      fi
-      javaHome="`dirname \"$javaExecutable\"`"
-      javaHome=`expr "$javaHome" : '\(.*\)/bin'`
-      JAVA_HOME="$javaHome"
-      export JAVA_HOME
-    fi
-  fi
-fi
-
-if [ -z "$JAVACMD" ] ; then
-  if [ -n "$JAVA_HOME"  ] ; then
-    if [ -x "$JAVA_HOME/jre/sh/java" ] ; then
-      # IBM's JDK on AIX uses strange locations for the executables
-      JAVACMD="$JAVA_HOME/jre/sh/java"
-    else
-      JAVACMD="$JAVA_HOME/bin/java"
-    fi
-  else
-    JAVACMD="`which java`"
-  fi
-fi
-
-if [ ! -x "$JAVACMD" ] ; then
-  echo "Error: JAVA_HOME is not defined correctly." >&2
-  echo "  We cannot execute $JAVACMD" >&2
-  exit 1
-fi
-
-if [ -z "$JAVA_HOME" ] ; then
-  echo "Warning: JAVA_HOME environment variable is not set."
-fi
-
-CLASSWORLDS_LAUNCHER=org.codehaus.plexus.classworlds.launcher.Launcher
-
-# traverses directory structure from process work directory to filesystem root
-# first directory with .mvn subdirectory is considered project base directory
-find_maven_basedir() {
-
-  if [ -z "$1" ]
-  then
-    echo "Path not specified to find_maven_basedir"
-    return 1
-  fi
-
-  basedir="$1"
-  wdir="$1"
-  while [ "$wdir" != '/' ] ; do
-    if [ -d "$wdir"/.mvn ] ; then
-      basedir=$wdir
-      break
-    fi
-    # workaround for JBEAP-8937 (on Solaris 10/Sparc)
-    if [ -d "${wdir}" ]; then
-      wdir=`cd "$wdir/.."; pwd`
-    fi
-    # end of workaround
-  done
-  echo "${basedir}"
-}
-
-# concatenates all lines of a file
-concat_lines() {
-  if [ -f "$1" ]; then
-    echo "$(tr -s '\n' ' ' < "$1")"
-  fi
-}
-
-BASE_DIR=`find_maven_basedir "$(pwd)"`
-if [ -z "$BASE_DIR" ]; then
-  exit 1;
-fi
-
-##########################################################################################
-# Extension to allow automatically downloading the maven-wrapper.jar from Maven-central
-# This allows using the maven wrapper in projects that prohibit checking in binary data.
-##########################################################################################
-if [ -r "$BASE_DIR/.mvn/wrapper/maven-wrapper.jar" ]; then
-    if [ "$MVNW_VERBOSE" = true ]; then
-      echo "Found .mvn/wrapper/maven-wrapper.jar"
-    fi
-else
-    if [ "$MVNW_VERBOSE" = true ]; then
-      echo "Couldn't find .mvn/wrapper/maven-wrapper.jar, downloading it ..."
-    fi
-    if [ -n "$MVNW_REPOURL" ]; then
-      jarUrl="$MVNW_REPOURL/io/takari/maven-wrapper/0.5.6/maven-wrapper-0.5.6.jar"
-    else
-      jarUrl="https://repo.maven.apache.org/maven2/io/takari/maven-wrapper/0.5.6/maven-wrapper-0.5.6.jar"
-    fi
-    while IFS="=" read key value; do
-      case "$key" in (wrapperUrl) jarUrl="$value"; break ;;
-      esac
-    done < "$BASE_DIR/.mvn/wrapper/maven-wrapper.properties"
-    if [ "$MVNW_VERBOSE" = true ]; then
-      echo "Downloading from: $jarUrl"
-    fi
-    wrapperJarPath="$BASE_DIR/.mvn/wrapper/maven-wrapper.jar"
-    if $cygwin; then
-      wrapperJarPath=`cygpath --path --windows "$wrapperJarPath"`
-    fi
-
-    if command -v wget > /dev/null; then
-        if [ "$MVNW_VERBOSE" = true ]; then
-          echo "Found wget ... using wget"
-        fi
-        if [ -z "$MVNW_USERNAME" ] || [ -z "$MVNW_PASSWORD" ]; then
-            wget "$jarUrl" -O "$wrapperJarPath"
-        else
-            wget --http-user=$MVNW_USERNAME --http-password=$MVNW_PASSWORD "$jarUrl" -O "$wrapperJarPath"
-        fi
-    elif command -v curl > /dev/null; then
-        if [ "$MVNW_VERBOSE" = true ]; then
-          echo "Found curl ... using curl"
-        fi
-        if [ -z "$MVNW_USERNAME" ] || [ -z "$MVNW_PASSWORD" ]; then
-            curl -o "$wrapperJarPath" "$jarUrl" -f
-        else
-            curl --user $MVNW_USERNAME:$MVNW_PASSWORD -o "$wrapperJarPath" "$jarUrl" -f
-        fi
-
-    else
-        if [ "$MVNW_VERBOSE" = true ]; then
-          echo "Falling back to using Java to download"
-        fi
-        javaClass="$BASE_DIR/.mvn/wrapper/MavenWrapperDownloader.java"
-        # For Cygwin, switch paths to Windows format before running javac
-        if $cygwin; then
-          javaClass=`cygpath --path --windows "$javaClass"`
-        fi
-        if [ -e "$javaClass" ]; then
-            if [ ! -e "$BASE_DIR/.mvn/wrapper/MavenWrapperDownloader.class" ]; then
-                if [ "$MVNW_VERBOSE" = true ]; then
-                  echo " - Compiling MavenWrapperDownloader.java ..."
-                fi
-                # Compiling the Java class
-                ("$JAVA_HOME/bin/javac" "$javaClass")
-            fi
-            if [ -e "$BASE_DIR/.mvn/wrapper/MavenWrapperDownloader.class" ]; then
-                # Running the downloader
-                if [ "$MVNW_VERBOSE" = true ]; then
-                  echo " - Running MavenWrapperDownloader.java ..."
-                fi
-                ("$JAVA_HOME/bin/java" -cp .mvn/wrapper MavenWrapperDownloader "$MAVEN_PROJECTBASEDIR")
-            fi
-        fi
-    fi
-fi
-##########################################################################################
-# End of extension
-##########################################################################################
-
-export MAVEN_PROJECTBASEDIR=${MAVEN_BASEDIR:-"$BASE_DIR"}
-if [ "$MVNW_VERBOSE" = true ]; then
-  echo $MAVEN_PROJECTBASEDIR
-fi
-MAVEN_OPTS="$(concat_lines "$MAVEN_PROJECTBASEDIR/.mvn/jvm.config") $MAVEN_OPTS"
-
-# For Cygwin, switch paths to Windows format before running java
-if $cygwin; then
-  [ -n "$M2_HOME" ] &&
-    M2_HOME=`cygpath --path --windows "$M2_HOME"`
-  [ -n "$JAVA_HOME" ] &&
-    JAVA_HOME=`cygpath --path --windows "$JAVA_HOME"`
-  [ -n "$CLASSPATH" ] &&
-    CLASSPATH=`cygpath --path --windows "$CLASSPATH"`
-  [ -n "$MAVEN_PROJECTBASEDIR" ] &&
-    MAVEN_PROJECTBASEDIR=`cygpath --path --windows "$MAVEN_PROJECTBASEDIR"`
-fi
-
-# Provide a "standardized" way to retrieve the CLI args that will
-# work with both Windows and non-Windows executions.
-MAVEN_CMD_LINE_ARGS="$MAVEN_CONFIG $@"
-export MAVEN_CMD_LINE_ARGS
-
-WRAPPER_LAUNCHER=org.apache.maven.wrapper.MavenWrapperMain
-
-exec "$JAVACMD" \
-  $MAVEN_OPTS \
-  -classpath "$MAVEN_PROJECTBASEDIR/.mvn/wrapper/maven-wrapper.jar" \
-  "-Dmaven.home=${M2_HOME}" "-Dmaven.multiModuleProjectDirectory=${MAVEN_PROJECTBASEDIR}" \
-  ${WRAPPER_LAUNCHER} $MAVEN_CONFIG "$@"
diff --git a/dbrepo-semantics-service/mvnw.cmd b/dbrepo-semantics-service/mvnw.cmd
deleted file mode 100644
index c8d43372c9..0000000000
--- a/dbrepo-semantics-service/mvnw.cmd
+++ /dev/null
@@ -1,182 +0,0 @@
-@REM ----------------------------------------------------------------------------
-@REM Licensed to the Apache Software Foundation (ASF) under one
-@REM or more contributor license agreements.  See the NOTICE file
-@REM distributed with this work for additional information
-@REM regarding copyright ownership.  The ASF licenses this file
-@REM to you under the Apache License, Version 2.0 (the
-@REM "License"); you may not use this file except in compliance
-@REM with the License.  You may obtain a copy of the License at
-@REM
-@REM    https://www.apache.org/licenses/LICENSE-2.0
-@REM
-@REM Unless required by applicable law or agreed to in writing,
-@REM software distributed under the License is distributed on an
-@REM "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-@REM KIND, either express or implied.  See the License for the
-@REM specific language governing permissions and limitations
-@REM under the License.
-@REM ----------------------------------------------------------------------------
-
-@REM ----------------------------------------------------------------------------
-@REM Maven Start Up Batch script
-@REM
-@REM Required ENV vars:
-@REM JAVA_HOME - location of a JDK home dir
-@REM
-@REM Optional ENV vars
-@REM M2_HOME - location of maven2's installed home dir
-@REM MAVEN_BATCH_ECHO - set to 'on' to enable the echoing of the batch commands
-@REM MAVEN_BATCH_PAUSE - set to 'on' to wait for a keystroke before ending
-@REM MAVEN_OPTS - parameters passed to the Java VM when running Maven
-@REM     e.g. to debug Maven itself, use
-@REM set MAVEN_OPTS=-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8000
-@REM MAVEN_SKIP_RC - flag to disable loading of mavenrc files
-@REM ----------------------------------------------------------------------------
-
-@REM Begin all REM lines with '@' in case MAVEN_BATCH_ECHO is 'on'
-@echo off
-@REM set title of command window
-title %0
-@REM enable echoing by setting MAVEN_BATCH_ECHO to 'on'
-@if "%MAVEN_BATCH_ECHO%" == "on"  echo %MAVEN_BATCH_ECHO%
-
-@REM set %HOME% to equivalent of $HOME
-if "%HOME%" == "" (set "HOME=%HOMEDRIVE%%HOMEPATH%")
-
-@REM Execute a user defined script before this one
-if not "%MAVEN_SKIP_RC%" == "" goto skipRcPre
-@REM check for pre script, once with legacy .bat ending and once with .cmd ending
-if exist "%HOME%\mavenrc_pre.bat" call "%HOME%\mavenrc_pre.bat"
-if exist "%HOME%\mavenrc_pre.cmd" call "%HOME%\mavenrc_pre.cmd"
-:skipRcPre
-
-@setlocal
-
-set ERROR_CODE=0
-
-@REM To isolate internal variables from possible post scripts, we use another setlocal
-@setlocal
-
-@REM ==== START VALIDATION ====
-if not "%JAVA_HOME%" == "" goto OkJHome
-
-echo.
-echo Error: JAVA_HOME not found in your environment. >&2
-echo Please set the JAVA_HOME variable in your environment to match the >&2
-echo location of your Java installation. >&2
-echo.
-goto error
-
-:OkJHome
-if exist "%JAVA_HOME%\bin\java.exe" goto init
-
-echo.
-echo Error: JAVA_HOME is set to an invalid directory. >&2
-echo JAVA_HOME = "%JAVA_HOME%" >&2
-echo Please set the JAVA_HOME variable in your environment to match the >&2
-echo location of your Java installation. >&2
-echo.
-goto error
-
-@REM ==== END VALIDATION ====
-
-:init
-
-@REM Find the project base dir, i.e. the directory that contains the folder ".mvn".
-@REM Fallback to current working directory if not found.
-
-set MAVEN_PROJECTBASEDIR=%MAVEN_BASEDIR%
-IF NOT "%MAVEN_PROJECTBASEDIR%"=="" goto endDetectBaseDir
-
-set EXEC_DIR=%CD%
-set WDIR=%EXEC_DIR%
-:findBaseDir
-IF EXIST "%WDIR%"\.mvn goto baseDirFound
-cd ..
-IF "%WDIR%"=="%CD%" goto baseDirNotFound
-set WDIR=%CD%
-goto findBaseDir
-
-:baseDirFound
-set MAVEN_PROJECTBASEDIR=%WDIR%
-cd "%EXEC_DIR%"
-goto endDetectBaseDir
-
-:baseDirNotFound
-set MAVEN_PROJECTBASEDIR=%EXEC_DIR%
-cd "%EXEC_DIR%"
-
-:endDetectBaseDir
-
-IF NOT EXIST "%MAVEN_PROJECTBASEDIR%\.mvn\jvm.config" goto endReadAdditionalConfig
-
-@setlocal EnableExtensions EnableDelayedExpansion
-for /F "usebackq delims=" %%a in ("%MAVEN_PROJECTBASEDIR%\.mvn\jvm.config") do set JVM_CONFIG_MAVEN_PROPS=!JVM_CONFIG_MAVEN_PROPS! %%a
-@endlocal & set JVM_CONFIG_MAVEN_PROPS=%JVM_CONFIG_MAVEN_PROPS%
-
-:endReadAdditionalConfig
-
-SET MAVEN_JAVA_EXE="%JAVA_HOME%\bin\java.exe"
-set WRAPPER_JAR="%MAVEN_PROJECTBASEDIR%\.mvn\wrapper\maven-wrapper.jar"
-set WRAPPER_LAUNCHER=org.apache.maven.wrapper.MavenWrapperMain
-
-set DOWNLOAD_URL="https://repo.maven.apache.org/maven2/io/takari/maven-wrapper/0.5.6/maven-wrapper-0.5.6.jar"
-
-FOR /F "tokens=1,2 delims==" %%A IN ("%MAVEN_PROJECTBASEDIR%\.mvn\wrapper\maven-wrapper.properties") DO (
-    IF "%%A"=="wrapperUrl" SET DOWNLOAD_URL=%%B
-)
-
-@REM Extension to allow automatically downloading the maven-wrapper.jar from Maven-central
-@REM This allows using the maven wrapper in projects that prohibit checking in binary data.
-if exist %WRAPPER_JAR% (
-    if "%MVNW_VERBOSE%" == "true" (
-        echo Found %WRAPPER_JAR%
-    )
-) else (
-    if not "%MVNW_REPOURL%" == "" (
-        SET DOWNLOAD_URL="%MVNW_REPOURL%/io/takari/maven-wrapper/0.5.6/maven-wrapper-0.5.6.jar"
-    )
-    if "%MVNW_VERBOSE%" == "true" (
-        echo Couldn't find %WRAPPER_JAR%, downloading it ...
-        echo Downloading from: %DOWNLOAD_URL%
-    )
-
-    powershell -Command "&{"^
-		"$webclient = new-object System.Net.WebClient;"^
-		"if (-not ([string]::IsNullOrEmpty('%MVNW_USERNAME%') -and [string]::IsNullOrEmpty('%MVNW_PASSWORD%'))) {"^
-		"$webclient.Credentials = new-object System.Net.NetworkCredential('%MVNW_USERNAME%', '%MVNW_PASSWORD%');"^
-		"}"^
-		"[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12; $webclient.DownloadFile('%DOWNLOAD_URL%', '%WRAPPER_JAR%')"^
-		"}"
-    if "%MVNW_VERBOSE%" == "true" (
-        echo Finished downloading %WRAPPER_JAR%
-    )
-)
-@REM End of extension
-
-@REM Provide a "standardized" way to retrieve the CLI args that will
-@REM work with both Windows and non-Windows executions.
-set MAVEN_CMD_LINE_ARGS=%*
-
-%MAVEN_JAVA_EXE% %JVM_CONFIG_MAVEN_PROPS% %MAVEN_OPTS% %MAVEN_DEBUG_OPTS% -classpath %WRAPPER_JAR% "-Dmaven.multiModuleProjectDirectory=%MAVEN_PROJECTBASEDIR%" %WRAPPER_LAUNCHER% %MAVEN_CONFIG% %*
-if ERRORLEVEL 1 goto error
-goto end
-
-:error
-set ERROR_CODE=1
-
-:end
-@endlocal & set ERROR_CODE=%ERROR_CODE%
-
-if not "%MAVEN_SKIP_RC%" == "" goto skipRcPost
-@REM check for post script, once with legacy .bat ending and once with .cmd ending
-if exist "%HOME%\mavenrc_post.bat" call "%HOME%\mavenrc_post.bat"
-if exist "%HOME%\mavenrc_post.cmd" call "%HOME%\mavenrc_post.cmd"
-:skipRcPost
-
-@REM pause the script if MAVEN_BATCH_PAUSE is set to 'on'
-if "%MAVEN_BATCH_PAUSE%" == "on" pause
-
-if "%MAVEN_TERMINATE_CMD%" == "on" exit %ERROR_CODE%
-
-exit /B %ERROR_CODE%
diff --git a/dbrepo-semantics-service/pom.xml b/dbrepo-semantics-service/pom.xml
deleted file mode 100644
index f9ee92778c..0000000000
--- a/dbrepo-semantics-service/pom.xml
+++ /dev/null
@@ -1,255 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
-    <modelVersion>4.0.0</modelVersion>
-    <parent>
-        <groupId>org.springframework.boot</groupId>
-        <artifactId>spring-boot-starter-parent</artifactId>
-        <version>3.0.6</version>
-    </parent>
-
-    <groupId>at.tuwien</groupId>
-    <artifactId>dbrepo-semantics-service</artifactId>
-    <version>1.3.0</version>
-    <name>dbrepo-semantics-service</name>
-    <description>Service that manages the tables</description>
-
-    <packaging>pom</packaging>
-    <modules>
-        <module>rest-service</module>
-        <module>services</module>
-        <module>report</module>
-    </modules>
-
-    <properties>
-        <java.version>17</java.version>
-        <spring-cloud.version>4.0.2</spring-cloud.version>
-        <mapstruct.version>1.5.5.Final</mapstruct.version>
-        <swagger.version>2.2.9</swagger.version>
-        <jacoco.version>0.8.10</jacoco.version>
-        <jwt.version>4.3.0</jwt.version>
-        <opencsv.version>5.7.1</opencsv.version>
-        <super-csv.version>2.4.0</super-csv.version>
-        <jsql.version>4.6</jsql.version>
-        <c3p0.version>0.9.5.5</c3p0.version>
-        <c3p0-hibernate.version>6.2.2.Final</c3p0-hibernate.version>
-        <apache-jena.version>4.8.0</apache-jena.version>
-        <springdoc-openapi.version>2.1.0</springdoc-openapi.version>
-        <hsqldb.version>2.7.2</hsqldb.version>
-        <opensearch-client.version>1.1.0</opensearch-client.version>
-        <opensearch-rest-client.version>2.8.0</opensearch-rest-client.version>
-        <jackson.version>2.15.2</jackson.version>
-    </properties>
-
-    <dependencies>
-        <dependency>
-            <groupId>org.springframework.boot</groupId>
-            <artifactId>spring-boot-starter-web</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>org.springframework.boot</groupId>
-            <artifactId>spring-boot-starter-validation</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>org.springframework.cloud</groupId>
-            <artifactId>spring-cloud-starter-bootstrap</artifactId>
-            <version>${spring-cloud.version}</version>
-        </dependency>
-        <dependency>
-            <groupId>org.springframework.boot</groupId>
-            <artifactId>spring-boot-starter-security</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>org.springframework.security</groupId>
-            <artifactId>spring-security-test</artifactId>
-            <scope>test</scope>
-        </dependency>
-        <dependency>
-            <groupId>org.springframework.boot</groupId>
-            <artifactId>spring-boot-starter-actuator</artifactId>
-        </dependency>
-        <!-- Authentication -->
-        <dependency>
-            <groupId>com.auth0</groupId>
-            <artifactId>java-jwt</artifactId>
-            <version>${jwt.version}</version>
-        </dependency>
-        <!-- Entities and API -->
-        <dependency>
-            <groupId>at.tuwien</groupId>
-            <artifactId>dbrepo-metadata-db-entites</artifactId>
-            <version>${project.version}</version>
-        </dependency>
-        <dependency>
-            <groupId>at.tuwien</groupId>
-            <artifactId>dbrepo-metadata-db-api</artifactId>
-            <version>${project.version}</version>
-        </dependency>
-        <dependency>
-            <groupId>org.springframework.boot</groupId>
-            <artifactId>spring-boot-starter-data-jpa</artifactId>
-        </dependency>
-        <!-- Data Source -->
-        <dependency>
-            <groupId>org.mariadb.jdbc</groupId>
-            <artifactId>mariadb-java-client</artifactId>
-            <version>${mariadb.version}</version>
-        </dependency>
-        <dependency>
-            <groupId>org.opensearch.client</groupId>
-            <artifactId>spring-data-opensearch</artifactId>
-            <version>${opensearch-client.version}</version>
-        </dependency>
-        <dependency>
-            <groupId>org.opensearch.client</groupId>
-            <artifactId>spring-data-opensearch-starter</artifactId>
-            <version>${opensearch-client.version}</version>
-        </dependency>
-        <!-- OpenSearch -->
-        <dependency>
-            <groupId>com.fasterxml.jackson.core</groupId>
-            <artifactId>jackson-core</artifactId>
-            <version>${jackson.version}</version>
-        </dependency>
-        <dependency>
-            <groupId>com.fasterxml.jackson.core</groupId>
-            <artifactId>jackson-databind</artifactId>
-            <version>${jackson.version}</version>
-        </dependency>
-        <dependency>
-            <groupId>org.opensearch.client</groupId>
-            <artifactId>opensearch-rest-high-level-client</artifactId>
-            <version>${opensearch-rest-client.version}</version>
-        </dependency>
-        <dependency>
-            <groupId>org.opensearch.client</groupId>
-            <artifactId>opensearch-rest-client-sniffer</artifactId>
-            <version>${opensearch-rest-client.version}</version>
-        </dependency>
-        <!-- Testing -->
-        <dependency>
-            <groupId>org.opensearch.client</groupId>
-            <artifactId>spring-data-opensearch-test-autoconfigure</artifactId>
-            <version>${opensearch-client.version}</version>
-            <scope>test</scope>
-        </dependency>
-        <dependency>
-            <groupId>org.springframework.boot</groupId>
-            <artifactId>spring-boot-starter-test</artifactId>
-            <exclusions>
-                <exclusion>
-                    <groupId>org.junit.jupiter</groupId>
-                    <artifactId>junit-vintage-engine</artifactId>
-                </exclusion>
-            </exclusions>
-        </dependency>
-        <dependency>
-            <groupId>org.hsqldb</groupId>
-            <artifactId>hsqldb</artifactId>
-            <version>${hsqldb.version}</version>
-            <scope>test</scope>
-        </dependency>
-        <dependency>
-            <groupId>org.jacoco</groupId>
-            <artifactId>jacoco-maven-plugin</artifactId>
-            <version>${jacoco.version}</version>
-        </dependency>
-        <dependency>
-            <groupId>at.tuwien</groupId>
-            <artifactId>dbrepo-metadata-db-test</artifactId>
-            <version>${project.version}</version>
-        </dependency>
-        <!-- RDF -->
-        <dependency>
-            <groupId>org.apache.jena</groupId>
-            <artifactId>jena-core</artifactId>
-            <version>${apache-jena.version}</version>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.jena</groupId>
-            <artifactId>jena-arq</artifactId>
-            <version>${apache-jena.version}</version>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.jena</groupId>
-            <artifactId>jena-fuseki-fulljar</artifactId>
-            <version>${apache-jena.version}</version>
-        </dependency>
-        <!-- IDE -->
-        <dependency>
-            <groupId>org.projectlombok</groupId>
-            <artifactId>lombok</artifactId>
-        </dependency>
-        <!-- Mapping -->
-        <dependency>
-            <groupId>org.mapstruct</groupId>
-            <artifactId>mapstruct-processor</artifactId>
-            <version>${mapstruct.version}</version>
-            <optional>true</optional><!-- IntelliJ -->
-        </dependency>
-        <dependency>
-            <groupId>org.mapstruct</groupId>
-            <artifactId>mapstruct</artifactId>
-            <version>${mapstruct.version}</version>
-        </dependency>
-        <!-- Swagger -->
-        <dependency>
-            <groupId>org.springdoc</groupId>
-            <artifactId>springdoc-openapi-starter-webmvc-ui</artifactId>
-            <version>${springdoc-openapi.version}</version>
-        </dependency>
-        <!-- Open API -->
-        <dependency>
-            <groupId>org.springdoc</groupId>
-            <artifactId>springdoc-openapi-starter-webmvc-api</artifactId>
-            <version>${springdoc-openapi.version}</version>
-        </dependency>
-    </dependencies>
-
-    <build>
-        <resources>
-            <resource>
-                <directory>${basedir}/src/main/resources</directory>
-                <filtering>true</filtering>
-                <includes>
-                    <include>**/application*.yml</include>
-                    <include>**/*.rdf</include>
-                    <include>**/*.ttl</include>
-                </includes>
-            </resource>
-        </resources>
-        <plugins>
-            <plugin>
-                <groupId>org.jacoco</groupId>
-                <artifactId>jacoco-maven-plugin</artifactId>
-                <version>${jacoco.version}</version>
-                <configuration>
-                    <excludes>
-                        <exclude>at/tuwien/mapper/**/*</exclude>
-                        <exclude>at/tuwien/exception/**/*</exclude>
-                        <exclude>at/tuwien/config/**/*</exclude>
-                        <exclude>at/tuwien/auth/**/*</exclude>
-                        <exclude>at/tuwien/handlers/**/*</exclude>
-                        <exclude>**/DbrepoSemanticsServiceApplication.class</exclude>
-                    </excludes>
-                </configuration>
-                <executions>
-                    <execution>
-                        <id>default-prepare-agent</id>
-                        <goals>
-                            <goal>prepare-agent</goal>
-                        </goals>
-                    </execution>
-                    <execution>
-                        <id>report</id>
-                        <phase>verify</phase>
-                        <goals>
-                            <goal>report</goal>
-                        </goals>
-                    </execution>
-                </executions>
-            </plugin>
-        </plugins>
-    </build>
-
-</project>
diff --git a/dbrepo-semantics-service/report/pom.xml b/dbrepo-semantics-service/report/pom.xml
deleted file mode 100644
index d8ee5dded0..0000000000
--- a/dbrepo-semantics-service/report/pom.xml
+++ /dev/null
@@ -1,56 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<project xmlns="http://maven.apache.org/POM/4.0.0"
-         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
-    <modelVersion>4.0.0</modelVersion>
-    <parent>
-        <groupId>at.tuwien</groupId>
-        <artifactId>dbrepo-semantics-service</artifactId>
-        <version>1.3.0</version>
-    </parent>
-
-    <artifactId>report</artifactId>
-    <version>1.3.0</version>
-    <name>dbrepo-semantics-service-report</name>
-    <description>
-        This module is only intended for the pipeline coverage report. See the detailed report in the
-        respective modules
-    </description>
-
-    <properties>
-        <jacoco.version>0.8.7</jacoco.version>
-    </properties>
-
-    <dependencies>
-        <dependency>
-            <groupId>at.tuwien</groupId>
-            <artifactId>rest-service</artifactId>
-            <version>${project.version}</version>
-        </dependency>
-        <dependency>
-            <groupId>at.tuwien</groupId>
-            <artifactId>services</artifactId>
-            <version>${project.version}</version>
-        </dependency>
-    </dependencies>
-
-    <build>
-        <plugins>
-            <plugin>
-                <groupId>org.jacoco</groupId>
-                <artifactId>jacoco-maven-plugin</artifactId>
-                <version>${jacoco.version}</version>
-                <executions>
-                    <execution>
-                        <id>report-aggregate</id>
-                        <phase>verify</phase>
-                        <goals>
-                            <goal>report-aggregate</goal>
-                        </goals>
-                    </execution>
-                </executions>
-            </plugin>
-        </plugins>
-    </build>
-
-</project>
\ No newline at end of file
diff --git a/dbrepo-semantics-service/rest-service/pom.xml b/dbrepo-semantics-service/rest-service/pom.xml
deleted file mode 100644
index b2ca890c1f..0000000000
--- a/dbrepo-semantics-service/rest-service/pom.xml
+++ /dev/null
@@ -1,44 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<project xmlns="http://maven.apache.org/POM/4.0.0"
-         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
-    <modelVersion>4.0.0</modelVersion>
-    <parent>
-        <groupId>at.tuwien</groupId>
-        <artifactId>dbrepo-semantics-service</artifactId>
-        <version>1.3.0</version>
-    </parent>
-
-    <artifactId>rest-service</artifactId>
-    <version>1.3.0</version>
-    <name>dbrepo-semantics-service-rest-service</name>
-
-    <properties>
-        <jacoco.version>0.8.7</jacoco.version>
-    </properties>
-
-    <dependencies>
-        <dependency>
-            <groupId>at.tuwien</groupId>
-            <artifactId>services</artifactId>
-            <version>${project.version}</version>
-        </dependency>
-    </dependencies>
-
-    <build>
-        <plugins>
-            <plugin>
-                <groupId>org.springframework.boot</groupId>
-                <artifactId>spring-boot-maven-plugin</artifactId>
-                <executions>
-                    <execution>
-                        <goals>
-                            <goal>repackage</goal><!-- to make it exuteable with $ java -jar ./app.jar -->
-                        </goals>
-                    </execution>
-                </executions>
-            </plugin>
-        </plugins>
-    </build>
-
-</project>
\ No newline at end of file
diff --git a/dbrepo-semantics-service/rest-service/src/main/java/at/tuwien/DbrepoSemanticsServiceApplication.java b/dbrepo-semantics-service/rest-service/src/main/java/at/tuwien/DbrepoSemanticsServiceApplication.java
deleted file mode 100644
index bf0db3b8f8..0000000000
--- a/dbrepo-semantics-service/rest-service/src/main/java/at/tuwien/DbrepoSemanticsServiceApplication.java
+++ /dev/null
@@ -1,25 +0,0 @@
-package at.tuwien;
-
-import org.apache.jena.sys.JenaSystem;
-import org.springframework.boot.SpringApplication;
-import org.springframework.boot.autoconfigure.SpringBootApplication;
-import org.springframework.boot.autoconfigure.data.elasticsearch.ElasticsearchDataAutoConfiguration;
-import org.springframework.boot.autoconfigure.domain.EntityScan;
-import org.springframework.boot.autoconfigure.elasticsearch.ElasticsearchRestClientAutoConfiguration;
-import org.springframework.data.elasticsearch.repository.config.EnableElasticsearchRepositories;
-import org.springframework.data.jpa.repository.config.EnableJpaAuditing;
-import org.springframework.data.jpa.repository.config.EnableJpaRepositories;
-
-@EnableJpaAuditing
-@EntityScan(basePackages = {"at.tuwien.entities"})
-@EnableElasticsearchRepositories(basePackages = {"at.tuwien.repository.sdb"})
-@EnableJpaRepositories(basePackages = {"at.tuwien.repository.mdb"})
-@SpringBootApplication(exclude = {ElasticsearchDataAutoConfiguration.class, ElasticsearchRestClientAutoConfiguration.class})
-public class DbrepoSemanticsServiceApplication {
-
-    public static void main(String[] args) {
-        JenaSystem.init();
-        SpringApplication.run(DbrepoSemanticsServiceApplication.class, args);
-    }
-
-}
diff --git a/dbrepo-semantics-service/rest-service/src/main/java/at/tuwien/config/SwaggerConfig.java b/dbrepo-semantics-service/rest-service/src/main/java/at/tuwien/config/SwaggerConfig.java
deleted file mode 100644
index ce076d891f..0000000000
--- a/dbrepo-semantics-service/rest-service/src/main/java/at/tuwien/config/SwaggerConfig.java
+++ /dev/null
@@ -1,54 +0,0 @@
-package at.tuwien.config;
-
-import io.swagger.v3.oas.models.ExternalDocumentation;
-import io.swagger.v3.oas.models.OpenAPI;
-import io.swagger.v3.oas.models.info.Contact;
-import io.swagger.v3.oas.models.info.Info;
-import io.swagger.v3.oas.models.info.License;
-import io.swagger.v3.oas.models.servers.Server;
-import org.springdoc.core.models.GroupedOpenApi;
-import org.springframework.beans.factory.annotation.Value;
-import org.springframework.context.annotation.Bean;
-import org.springframework.context.annotation.Configuration;
-
-import java.util.List;
-
-@Configuration
-public class SwaggerConfig {
-
-    @Value("${app.version:unknown}")
-    private String version;
-
-    @Bean
-    public OpenAPI springShopOpenAPI() {
-        return new OpenAPI()
-                .info(new Info()
-                        .title("Database Repository Semantic Service API")
-                        .contact(new Contact()
-                                .name("Prof. Andreas Rauber")
-                                .email("andreas.rauber@tuwien.ac.at"))
-                        .description("Service that manages the tables")
-                        .version(version)
-                        .license(new License()
-                                .name("Apache 2.0")
-                                .url("https://www.apache.org/licenses/LICENSE-2.0")))
-                .externalDocs(new ExternalDocumentation()
-                        .description("Sourcecode Documentation")
-                        .url("https://gitlab.phaidra.org/fair-data-austria-db-repository/fda-services"))
-                .servers(List.of(new Server()
-                                .description("Generated server url")
-                                .url("http://localhost:9097"),
-                        new Server()
-                                .description("Sandbox")
-                                .url("https://dbrepo2.tuwien.ac.at")));
-    }
-
-    @Bean
-    public GroupedOpenApi publicApi() {
-        return GroupedOpenApi.builder()
-                .group("semantics-service")
-                .pathsToMatch("/api/**")
-                .build();
-    }
-
-}
diff --git a/dbrepo-semantics-service/rest-service/src/main/java/at/tuwien/endpoints/OntologyEndpoint.java b/dbrepo-semantics-service/rest-service/src/main/java/at/tuwien/endpoints/OntologyEndpoint.java
deleted file mode 100644
index 36d60d66b3..0000000000
--- a/dbrepo-semantics-service/rest-service/src/main/java/at/tuwien/endpoints/OntologyEndpoint.java
+++ /dev/null
@@ -1,160 +0,0 @@
-package at.tuwien.endpoints;
-
-import at.tuwien.api.error.ApiErrorDto;
-import at.tuwien.api.semantics.*;
-import at.tuwien.exception.OntologyNotFoundException;
-import at.tuwien.exception.UserNotFoundException;
-import at.tuwien.mapper.OntologyMapper;
-import at.tuwien.service.OntologyService;
-import io.micrometer.core.annotation.Timed;
-import io.swagger.v3.oas.annotations.Operation;
-import io.swagger.v3.oas.annotations.media.ArraySchema;
-import io.swagger.v3.oas.annotations.media.Content;
-import io.swagger.v3.oas.annotations.media.Schema;
-import io.swagger.v3.oas.annotations.responses.ApiResponse;
-import io.swagger.v3.oas.annotations.responses.ApiResponses;
-import io.swagger.v3.oas.annotations.security.SecurityRequirement;
-import lombok.extern.log4j.Log4j2;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.http.HttpStatus;
-import org.springframework.http.ResponseEntity;
-import org.springframework.security.access.prepost.PreAuthorize;
-import org.springframework.web.bind.annotation.*;
-
-import jakarta.validation.Valid;
-import jakarta.validation.constraints.NotNull;
-
-import java.security.Principal;
-import java.util.List;
-
-@Log4j2
-@CrossOrigin(origins = "*")
-@RestController
-@RequestMapping("/api/semantic/ontology")
-public class OntologyEndpoint {
-
-    private final OntologyMapper ontologyMapper;
-    private final OntologyService ontologyService;
-
-    @Autowired
-    public OntologyEndpoint(OntologyMapper ontologyMapper, OntologyService ontologyService) {
-        this.ontologyMapper = ontologyMapper;
-        this.ontologyService = ontologyService;
-    }
-
-    @GetMapping
-    @Timed(value = "semantics.ontology.list", description = "Time needed to list ontologies")
-    @Operation(summary = "List all ontologies")
-    @ApiResponses(value = {
-            @ApiResponse(responseCode = "200",
-                    description = "List all ontologies",
-                    content = {@Content(
-                            mediaType = "application/json",
-                            array = @ArraySchema(schema = @Schema(implementation = OntologyDto.class)))}),
-    })
-    public ResponseEntity<List<OntologyBriefDto>> findAll() {
-        log.debug("endpoint find all ontologies");
-        final List<OntologyBriefDto> dtos = ontologyService.findAll()
-                .stream()
-                .map(ontologyMapper::ontologyToOntologyBriefDto)
-                .toList();
-        log.trace("create ontology resulted in dtos {}", dtos);
-        return ResponseEntity.ok(dtos);
-    }
-
-    @GetMapping("/{id}")
-    @Timed(value = "semantics.ontology.find", description = "Time needed to find a specific ontology")
-    @Operation(summary = "Find one ontology")
-    @ApiResponses(value = {
-            @ApiResponse(responseCode = "200",
-                    description = "Find one ontology",
-                    content = {@Content(
-                            mediaType = "application/json",
-                            schema = @Schema(implementation = OntologyDto.class))}),
-            @ApiResponse(responseCode = "404",
-                    description = "Could not find ontology",
-                    content = {@Content(
-                            mediaType = "application/json",
-                            schema = @Schema(implementation = ApiErrorDto.class))}),
-    })
-    public ResponseEntity<OntologyDto> find(@NotNull @PathVariable("id") Long id) throws OntologyNotFoundException {
-        log.debug("endpoint find all ontologies, id={}", id);
-        final OntologyDto dto = ontologyMapper.ontologyToOntologyDto(ontologyService.find(id));
-        log.trace("create ontology resulted in dto {}", dto);
-        return ResponseEntity.ok(dto);
-    }
-
-    @PostMapping
-    @PreAuthorize("hasAuthority('create-ontology')")
-    @Timed(value = "semantics.ontology.create", description = "Time needed to register a new ontology")
-    @Operation(summary = "Register a new ontology", security = @SecurityRequirement(name = "bearerAuth"))
-    @ApiResponses(value = {
-            @ApiResponse(responseCode = "201",
-                    description = "Registered ontology successfully",
-                    content = {@Content(
-                            mediaType = "application/json",
-                            schema = @Schema(implementation = OntologyDto.class))}),
-            @ApiResponse(responseCode = "201",
-                    description = "Could not find user",
-                    content = {@Content(
-                            mediaType = "application/json",
-                            schema = @Schema(implementation = ApiErrorDto.class))}),
-    })
-    public ResponseEntity<OntologyDto> create(@NotNull @Valid @RequestBody OntologyCreateDto data,
-                                              @NotNull Principal principal) throws UserNotFoundException {
-        log.debug("endpoint create ontology, data={}, principal={}", data, principal);
-        final OntologyDto dto = ontologyMapper.ontologyToOntologyDto(ontologyService.create(data, principal));
-        log.trace("create ontology resulted in dto {}", dto);
-        return ResponseEntity.status(HttpStatus.CREATED)
-                .body(dto);
-    }
-
-    @PutMapping("/{id}")
-    @PreAuthorize("hasAuthority('update-ontology')")
-    @Timed(value = "semantics.ontology.update", description = "Time needed to update a new ontology")
-    @Operation(summary = "Update an ontology", security = @SecurityRequirement(name = "bearerAuth"))
-    @ApiResponses(value = {
-            @ApiResponse(responseCode = "202",
-                    description = "Updated ontology successfully",
-                    content = {@Content(
-                            mediaType = "application/json",
-                            schema = @Schema(implementation = OntologyDto.class))}),
-            @ApiResponse(responseCode = "404",
-                    description = "Could not find ontology",
-                    content = {@Content(
-                            mediaType = "application/json",
-                            schema = @Schema(implementation = ApiErrorDto.class))}),
-    })
-    public ResponseEntity<OntologyDto> update(@NotNull @PathVariable("id") Long id,
-                                              @NotNull @Valid @RequestBody OntologyModifyDto data,
-                                              @NotNull Principal principal) throws OntologyNotFoundException {
-        log.debug("endpoint update ontology, data={}, principal={}", data, principal);
-        final OntologyDto dto = ontologyMapper.ontologyToOntologyDto(ontologyService.update(id, data));
-        log.trace("update ontology resulted in dto {}", dto);
-        return ResponseEntity.accepted()
-                .body(dto);
-    }
-
-    @DeleteMapping("/{id}")
-    @PreAuthorize("hasAuthority('delete-ontology')")
-    @Timed(value = "semantics.ontology.delete", description = "Time needed to delete an ontology")
-    @Operation(summary = "Delete an ontology", security = @SecurityRequirement(name = "bearerAuth"))
-    @ApiResponses(value = {
-            @ApiResponse(responseCode = "202",
-                    description = "Deleted ontology successfully",
-                    content = {@Content(
-                            mediaType = "application/json")}),
-            @ApiResponse(responseCode = "404",
-                    description = "Could not find ontology",
-                    content = {@Content(
-                            mediaType = "application/json",
-                            schema = @Schema(implementation = ApiErrorDto.class))}),
-    })
-    public ResponseEntity<?> delete(@NotNull @PathVariable("id") Long id) throws OntologyNotFoundException {
-        log.debug("endpoint delete ontology, id={}", id);
-        ontologyService.delete(id);
-        return ResponseEntity.accepted()
-                .build();
-    }
-
-}
diff --git a/dbrepo-semantics-service/rest-service/src/main/java/at/tuwien/endpoints/QueryEndpoint.java b/dbrepo-semantics-service/rest-service/src/main/java/at/tuwien/endpoints/QueryEndpoint.java
deleted file mode 100644
index 159f8c1ece..0000000000
--- a/dbrepo-semantics-service/rest-service/src/main/java/at/tuwien/endpoints/QueryEndpoint.java
+++ /dev/null
@@ -1,103 +0,0 @@
-package at.tuwien.endpoints;
-
-import at.tuwien.api.error.ApiErrorDto;
-import at.tuwien.api.semantics.*;
-import at.tuwien.entities.semantics.Ontology;
-import at.tuwien.exception.FilterBadRequestException;
-import at.tuwien.exception.OntologyNotFoundException;
-import at.tuwien.exception.QueryMalformedException;
-import at.tuwien.exception.UriMalformedException;
-import at.tuwien.service.OntologyService;
-import at.tuwien.service.QueryService;
-import io.micrometer.core.annotation.Timed;
-import io.swagger.v3.oas.annotations.Operation;
-import io.swagger.v3.oas.annotations.media.ArraySchema;
-import io.swagger.v3.oas.annotations.media.Content;
-import io.swagger.v3.oas.annotations.media.Schema;
-import io.swagger.v3.oas.annotations.responses.ApiResponse;
-import io.swagger.v3.oas.annotations.responses.ApiResponses;
-import io.swagger.v3.oas.annotations.security.SecurityRequirement;
-import jakarta.validation.constraints.NotNull;
-import lombok.extern.log4j.Log4j2;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.http.ResponseEntity;
-import org.springframework.security.access.prepost.PreAuthorize;
-import org.springframework.web.bind.annotation.*;
-
-import java.util.List;
-
-@Log4j2
-@CrossOrigin(origins = "*")
-@RestController
-@RequestMapping("/api/semantic")
-public class QueryEndpoint {
-
-    private final QueryService queryService;
-    private final OntologyService ontologyService;
-
-    @Autowired
-    public QueryEndpoint(QueryService queryService, OntologyService ontologyService) {
-        this.queryService = queryService;
-        this.ontologyService = ontologyService;
-    }
-
-    @GetMapping("/ontology/{id}/entity")
-    @PreAuthorize("hasAuthority('execute-semantic-query')")
-    @Timed(value = "semantics.find", description = "Time needed to find entities")
-    @Operation(summary = "Find entities", security = @SecurityRequirement(name = "bearerAuth"))
-    @ApiResponses(value = {
-            @ApiResponse(responseCode = "200",
-                    description = "Found entities",
-                    content = {@Content(
-                            mediaType = "application/json",
-                            array = @ArraySchema(schema = @Schema(implementation = EntityDto.class)))}),
-            @ApiResponse(responseCode = "400",
-                    description = "Filter params are invalid",
-                    content = {@Content(
-                            mediaType = "application/json",
-                            schema = @Schema(implementation = ApiErrorDto.class))}),
-            @ApiResponse(responseCode = "404",
-                    description = "Could not find ontology",
-                    content = {@Content(
-                            mediaType = "application/json",
-                            schema = @Schema(implementation = ApiErrorDto.class))}),
-            @ApiResponse(responseCode = "417",
-                    description = "Generated query or uri is malformed",
-                    content = {@Content(
-                            mediaType = "application/json",
-                            schema = @Schema(implementation = ApiErrorDto.class))}),
-    })
-    public ResponseEntity<List<EntityDto>> find(@NotNull @PathVariable("id") Long id,
-                                                @RequestParam(name = "label", required = false) String label,
-                                                @RequestParam(name = "uri", required = false) String uri)
-            throws OntologyNotFoundException, QueryMalformedException, UriMalformedException, FilterBadRequestException {
-        log.debug("endpoint find entities by uri, id={}, label={}, uri={}", id, label, uri);
-        final Ontology ontology = ontologyService.find(id);
-        /* check */
-        if ((label != null && uri != null) || (label == null && uri == null)) {
-            log.error("Failed to find entities: either label or uri must be defined");
-            throw new FilterBadRequestException("Failed to find entities: either label or uri must be defined");
-        }
-        if (uri != null && !uri.startsWith(ontology.getUri())) {
-            log.error("Failed to find entities: uri {} does not start with expected ontology uri {}", uri, ontology.getUri());
-            throw new UriMalformedException("Failed to find entity: uri " + uri + " does not start with expected ontology uri " + ontology.getUri());
-        }
-        if (ontology.getSparqlEndpoint() == null) {
-            log.error("Failed to find SPARQL endpoint for ontology with id {}", ontology.getId());
-            throw new OntologyNotFoundException("Failed to find SPARQL endpoint for ontology with id " + ontology.getId());
-        }
-        /* get */
-        final List<EntityDto> dtos;
-        if (uri != null) {
-            dtos = queryService.findByUri(ontology, uri);
-            log.trace("find entities resulted in dtos {}", dtos);
-            return ResponseEntity.ok()
-                    .body(dtos);
-        }
-        dtos = queryService.findByLabel(ontology, label);
-        log.trace("find entities resulted in dtos {}", dtos);
-        return ResponseEntity.ok()
-                .body(dtos);
-    }
-
-}
diff --git a/dbrepo-semantics-service/rest-service/src/main/java/at/tuwien/endpoints/SemanticsEndpoint.java b/dbrepo-semantics-service/rest-service/src/main/java/at/tuwien/endpoints/SemanticsEndpoint.java
deleted file mode 100644
index ce2f64c638..0000000000
--- a/dbrepo-semantics-service/rest-service/src/main/java/at/tuwien/endpoints/SemanticsEndpoint.java
+++ /dev/null
@@ -1,128 +0,0 @@
-package at.tuwien.endpoints;
-
-import at.tuwien.api.database.table.columns.concepts.*;
-import at.tuwien.mapper.OntologyMapper;
-import at.tuwien.mapper.SemanticMapper;
-import at.tuwien.service.SemanticService;
-import io.micrometer.core.annotation.Timed;
-import io.swagger.v3.oas.annotations.Operation;
-import io.swagger.v3.oas.annotations.media.ArraySchema;
-import io.swagger.v3.oas.annotations.media.Content;
-import io.swagger.v3.oas.annotations.media.Schema;
-import io.swagger.v3.oas.annotations.responses.ApiResponse;
-import io.swagger.v3.oas.annotations.responses.ApiResponses;
-import io.swagger.v3.oas.annotations.security.SecurityRequirement;
-import jakarta.validation.Valid;
-import jakarta.validation.constraints.NotNull;
-import lombok.extern.log4j.Log4j2;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.http.HttpStatus;
-import org.springframework.http.ResponseEntity;
-import org.springframework.security.access.prepost.PreAuthorize;
-import org.springframework.transaction.annotation.Transactional;
-import org.springframework.web.bind.annotation.*;
-
-import java.util.List;
-
-@Log4j2
-@CrossOrigin(origins = "*")
-@RestController
-@RequestMapping("/api/semantic")
-public class SemanticsEndpoint {
-
-    private final SemanticMapper semanticMapper;
-    private final OntologyMapper ontologyMapper;
-    private final SemanticService semanticService;
-
-    @Autowired
-    public SemanticsEndpoint(SemanticMapper semanticMapper, OntologyMapper ontologyMapper, SemanticService semanticService) {
-        this.semanticMapper = semanticMapper;
-        this.ontologyMapper = ontologyMapper;
-        this.semanticService = semanticService;
-    }
-
-    @GetMapping("/concept")
-    @Transactional(readOnly = true)
-    @Timed(value = "semantics.concept.list", description = "Time needed to find all semantic concepts")
-    @Operation(summary = "List semantic concepts")
-    @ApiResponses(value = {
-            @ApiResponse(responseCode = "200",
-                    description = "Find all semantic concepts",
-                    content = {@Content(
-                            mediaType = "application/json",
-                            array = @ArraySchema(schema = @Schema(implementation = ConceptDto.class)))}),
-    })
-    public ResponseEntity<List<ConceptDto>> findAllConcepts() {
-        log.debug("endpoint list concepts");
-        final List<ConceptDto> dtos = semanticService.findAllConcepts()
-                .stream()
-                .map(semanticMapper::tableColumnConceptToConceptDto)
-                .toList();
-        log.trace("Find all concepts resulted in dtos {}", dtos);
-        return ResponseEntity.ok()
-                .body(dtos);
-    }
-
-    @PostMapping("/concept")
-    @Transactional
-    @PreAuthorize("hasAuthority('create-semantic-concept')")
-    @Timed(value = "semantics.concept.save", description = "Time needed to save a semantic concept")
-    @Operation(summary = "Create or update a semantic concept", security = @SecurityRequirement(name = "bearerAuth"))
-    @ApiResponses(value = {
-            @ApiResponse(responseCode = "202",
-                    description = "Saved a semantic concept",
-                    content = {@Content(
-                            mediaType = "application/json",
-                            schema = @Schema(implementation = ConceptDto.class))}),
-    })
-    public ResponseEntity<ConceptDto> saveUnit(@NotNull @Valid @RequestBody ConceptSaveDto data) {
-        log.debug("endpoint save concept, data={}", data);
-        final ConceptDto dto = ontologyMapper.tableColumnConceptToConceptDto(semanticService.saveConcept(data));
-        log.trace("save concept resulted in dto {}", dto);
-        return ResponseEntity.accepted()
-                .body(dto);
-    }
-
-    @GetMapping("/unit")
-    @Transactional(readOnly = true)
-    @Timed(value = "semantics.concept.list", description = "Time needed to find all semantic units")
-    @Operation(summary = "List semantic units")
-    @ApiResponses(value = {
-            @ApiResponse(responseCode = "200",
-                    description = "Find all semantic units",
-                    content = {@Content(
-                            mediaType = "application/json",
-                            array = @ArraySchema(schema = @Schema(implementation = UnitDto.class)))}),
-    })
-    public ResponseEntity<List<UnitDto>> findAllUnits() {
-        log.debug("endpoint list units");
-        final List<UnitDto> dtos = semanticService.findAllUnits()
-                .stream()
-                .map(semanticMapper::tableColumnUnitToUnitDto)
-                .toList();
-        log.trace("Find all units resulted in dtos {}", dtos);
-        return ResponseEntity.ok()
-                .body(dtos);
-    }
-
-    @PostMapping("/unit")
-    @Transactional
-    @PreAuthorize("hasAuthority('create-semantic-unit')")
-    @Timed(value = "semantics.unit.save", description = "Time needed to save a semantic unit")
-    @Operation(summary = "Save a semantic unit", security = @SecurityRequirement(name = "bearerAuth"))
-    @ApiResponses(value = {
-            @ApiResponse(responseCode = "202",
-                    description = "Saved a semantic unit",
-                    content = {@Content(
-                            mediaType = "application/json",
-                            schema = @Schema(implementation = UnitDto.class))}),
-    })
-    public ResponseEntity<UnitDto> saveUnit(@NotNull @Valid @RequestBody UnitSaveDto data) {
-        log.debug("endpoint save or update unit, data={}", data);
-        final UnitDto dto = ontologyMapper.tableColumnUnitToUnitDto(semanticService.saveUnit(data));
-        log.trace("save unit resulted in dto {}", dto);
-        return ResponseEntity.accepted()
-                .body(dto);
-    }
-
-}
diff --git a/dbrepo-semantics-service/rest-service/src/main/java/at/tuwien/endpoints/TableEndpoint.java b/dbrepo-semantics-service/rest-service/src/main/java/at/tuwien/endpoints/TableEndpoint.java
deleted file mode 100644
index 3ce65ac451..0000000000
--- a/dbrepo-semantics-service/rest-service/src/main/java/at/tuwien/endpoints/TableEndpoint.java
+++ /dev/null
@@ -1,106 +0,0 @@
-package at.tuwien.endpoints;
-
-import at.tuwien.api.error.ApiErrorDto;
-import at.tuwien.api.semantics.EntityDto;
-import at.tuwien.api.semantics.TableColumnEntityDto;
-import at.tuwien.exception.QueryMalformedException;
-import at.tuwien.exception.TableColumnNotFoundException;
-import at.tuwien.exception.TableNotFoundException;
-import at.tuwien.service.TableService;
-import io.micrometer.core.annotation.Timed;
-import io.swagger.v3.oas.annotations.Operation;
-import io.swagger.v3.oas.annotations.media.ArraySchema;
-import io.swagger.v3.oas.annotations.media.Content;
-import io.swagger.v3.oas.annotations.media.Schema;
-import io.swagger.v3.oas.annotations.responses.ApiResponse;
-import io.swagger.v3.oas.annotations.responses.ApiResponses;
-import io.swagger.v3.oas.annotations.security.SecurityRequirement;
-import jakarta.validation.constraints.NotNull;
-import lombok.extern.log4j.Log4j2;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.http.ResponseEntity;
-import org.springframework.security.access.prepost.PreAuthorize;
-import org.springframework.transaction.annotation.Transactional;
-import org.springframework.web.bind.annotation.*;
-
-import java.util.List;
-
-@Log4j2
-@CrossOrigin(origins = "*")
-@RestController
-@RequestMapping("/api/semantic/database/{databaseId}/table/{tableId}")
-public class TableEndpoint {
-
-    private final TableService tableService;
-
-    @Autowired
-    public TableEndpoint(TableService tableService) {
-        this.tableService = tableService;
-    }
-
-    @GetMapping
-    @Transactional(readOnly = true)
-    @PreAuthorize("hasAuthority('table-semantic-analyse')")
-    @Timed(value = "semantics.table.analyse", description = "Time needed to analyse table semantics")
-    @Operation(summary = "Suggest table semantics", security = @SecurityRequirement(name = "bearerAuth"))
-    @ApiResponses(value = {
-            @ApiResponse(responseCode = "200",
-                    description = "Suggested table semantics successfully",
-                    content = {@Content(
-                            mediaType = "application/json",
-                            array = @ArraySchema(schema = @Schema(implementation = TableColumnEntityDto.class)))}),
-            @ApiResponse(responseCode = "404",
-                    description = "Could not find the table",
-                    content = {@Content(
-                            mediaType = "application/json",
-                            schema = @Schema(implementation = ApiErrorDto.class))}),
-            @ApiResponse(responseCode = "417",
-                    description = "Generated query is malformed",
-                    content = {@Content(
-                            mediaType = "application/json",
-                            schema = @Schema(implementation = ApiErrorDto.class))}),
-    })
-    public ResponseEntity<List<EntityDto>> analyseTable(@NotNull @PathVariable("databaseId") Long databaseId,
-                                                        @NotNull @PathVariable("tableId") Long tableId)
-            throws TableNotFoundException, QueryMalformedException {
-        log.debug("endpoint analyse table semantics, databaseId={}, tableId={}", databaseId, tableId);
-        final List<EntityDto> dtos = tableService.suggestTableSemantics(databaseId, tableId);
-        log.trace("analyse table semantics resulted in dtos {}", dtos);
-        return ResponseEntity.ok()
-                .body(dtos);
-    }
-
-    @GetMapping("/column/{columnId}")
-    @Transactional(readOnly = true)
-    @PreAuthorize("hasAuthority('table-semantic-analyse')")
-    @Timed(value = "semantics.table.columnanalyse", description = "Time needed to analyse table column semantics")
-    @Operation(summary = "Suggest table column semantics", security = @SecurityRequirement(name = "bearerAuth"))
-    @ApiResponses(value = {
-            @ApiResponse(responseCode = "200",
-                    description = "Suggested table column semantics successfully",
-                    content = {@Content(
-                            mediaType = "application/json",
-                            array = @ArraySchema(schema = @Schema(implementation = TableColumnEntityDto.class)))}),
-            @ApiResponse(responseCode = "404",
-                    description = "Could not find the table column",
-                    content = {@Content(
-                            mediaType = "application/json",
-                            schema = @Schema(implementation = ApiErrorDto.class))}),
-            @ApiResponse(responseCode = "417",
-                    description = "Generated query is malformed",
-                    content = {@Content(
-                            mediaType = "application/json",
-                            schema = @Schema(implementation = ApiErrorDto.class))}),
-    })
-    public ResponseEntity<List<TableColumnEntityDto>> analyseTableColumn(@NotNull @PathVariable("databaseId") Long databaseId,
-                                                                         @NotNull @PathVariable("tableId") Long tableId,
-                                                                         @NotNull @PathVariable("columnId") Long columnId)
-            throws QueryMalformedException, TableColumnNotFoundException {
-        log.debug("endpoint analyse table column semantics, databaseId={}, tableId={}, columnId={}", databaseId, tableId, columnId);
-        final List<TableColumnEntityDto> dtos = tableService.suggestTableColumnSemantics(databaseId, tableId, columnId);
-        log.trace("analyse table semantics resulted in dtos {}", dtos);
-        return ResponseEntity.ok()
-                .body(dtos);
-    }
-
-}
diff --git a/dbrepo-semantics-service/rest-service/src/main/java/at/tuwien/handlers/ApiExceptionHandler.java b/dbrepo-semantics-service/rest-service/src/main/java/at/tuwien/handlers/ApiExceptionHandler.java
deleted file mode 100644
index 92c33e77bc..0000000000
--- a/dbrepo-semantics-service/rest-service/src/main/java/at/tuwien/handlers/ApiExceptionHandler.java
+++ /dev/null
@@ -1,78 +0,0 @@
-package at.tuwien.handlers;
-
-import at.tuwien.api.error.ApiErrorDto;
-import at.tuwien.exception.*;
-import io.swagger.v3.oas.annotations.Hidden;
-import org.springframework.http.HttpHeaders;
-import org.springframework.http.HttpStatus;
-import org.springframework.http.ResponseEntity;
-import org.springframework.web.bind.annotation.ControllerAdvice;
-import org.springframework.web.bind.annotation.ExceptionHandler;
-import org.springframework.web.bind.annotation.ResponseStatus;
-import org.springframework.web.context.request.WebRequest;
-import org.springframework.web.servlet.mvc.method.annotation.ResponseEntityExceptionHandler;
-
-@ControllerAdvice
-public class ApiExceptionHandler extends ResponseEntityExceptionHandler {
-
-    @Hidden
-    @ResponseStatus(HttpStatus.BAD_REQUEST)
-    @ExceptionHandler({FilterBadRequestException.class})
-    public ResponseEntity<ApiErrorDto> handle(FilterBadRequestException e, WebRequest request) {
-        final ApiErrorDto response = ApiErrorDto.builder()
-                .status(HttpStatus.BAD_REQUEST)
-                .message(e.getLocalizedMessage())
-                .code("error.semantic.filter")
-                .build();
-        return new ResponseEntity<>(response, new HttpHeaders(), response.getStatus());
-    }
-
-    @Hidden
-    @ResponseStatus(HttpStatus.NOT_FOUND)
-    @ExceptionHandler({OntologyNotFoundException.class})
-    public ResponseEntity<ApiErrorDto> handle(OntologyNotFoundException e, WebRequest request) {
-        final ApiErrorDto response = ApiErrorDto.builder()
-                .status(HttpStatus.NOT_FOUND)
-                .message(e.getLocalizedMessage())
-                .code("error.ontology.notfound")
-                .build();
-        return new ResponseEntity<>(response, new HttpHeaders(), response.getStatus());
-    }
-
-    @Hidden
-    @ResponseStatus(HttpStatus.EXPECTATION_FAILED)
-    @ExceptionHandler({QueryMalformedException.class})
-    public ResponseEntity<ApiErrorDto> handle(QueryMalformedException e, WebRequest request) {
-        final ApiErrorDto response = ApiErrorDto.builder()
-                .status(HttpStatus.EXPECTATION_FAILED)
-                .message(e.getLocalizedMessage())
-                .code("error.semantic.querymalformed")
-                .build();
-        return new ResponseEntity<>(response, new HttpHeaders(), response.getStatus());
-    }
-
-    @Hidden
-    @ResponseStatus(HttpStatus.NOT_FOUND)
-    @ExceptionHandler({TableNotFoundException.class})
-    public ResponseEntity<ApiErrorDto> handle(TableNotFoundException e, WebRequest request) {
-        final ApiErrorDto response = ApiErrorDto.builder()
-                .status(HttpStatus.NOT_FOUND)
-                .message(e.getLocalizedMessage())
-                .code("error.table.notfound")
-                .build();
-        return new ResponseEntity<>(response, new HttpHeaders(), response.getStatus());
-    }
-
-    @Hidden
-    @ResponseStatus(HttpStatus.EXPECTATION_FAILED)
-    @ExceptionHandler({UriMalformedException.class})
-    public ResponseEntity<ApiErrorDto> handle(UriMalformedException e, WebRequest request) {
-        final ApiErrorDto response = ApiErrorDto.builder()
-                .status(HttpStatus.EXPECTATION_FAILED)
-                .message(e.getLocalizedMessage())
-                .code("error.semantic.urimalformed")
-                .build();
-        return new ResponseEntity<>(response, new HttpHeaders(), response.getStatus());
-    }
-
-}
diff --git a/dbrepo-semantics-service/rest-service/src/main/resources/application-local.yml b/dbrepo-semantics-service/rest-service/src/main/resources/application-local.yml
deleted file mode 100644
index e4b8076f7b..0000000000
--- a/dbrepo-semantics-service/rest-service/src/main/resources/application-local.yml
+++ /dev/null
@@ -1,55 +0,0 @@
-app.version: '@project.version@'
-spring:
-  main.banner-mode: off
-  datasource:
-    url: jdbc:mariadb://localhost:3306/fda
-    driver-class-name: org.mariadb.jdbc.Driver
-    username: root
-    password: dbrepo
-  jpa:
-    show-sql: false
-    database-platform: org.hibernate.dialect.MariaDBDialect
-    hibernate:
-      search:
-        default:
-          elasticsearch:
-            host: search-db
-      ddl-auto: validate
-      use-new-id-generator-mappings: false
-    open-in-view: false
-    properties:
-      hibernate:
-        default_schema: fda
-        jdbc:
-          time_zone: UTC
-  application:
-    name: semantics-service
-  rabbitmq:
-    host: localhost
-    virtual-host: dbrepo
-    username: fda
-    password: fda
-  opensearch:
-    username: admin
-    password: admin
-    host: search-db
-    port: 9200
-    protocol: http
-  cloud:
-    loadbalancer.ribbon.enabled: false
-management.endpoints.web.exposure.include: health,info,prometheus
-server:
-  port: 9097
-logging:
-  pattern.console: "%d %highlight(%-5level) %msg%n"
-  level:
-    root: warn
-    at.tuwien.: trace
-    org.springframework.web.servlet.mvc.method.annotation.ExceptionHandlerExceptionResolver: debug
-fda:
-  jwt:
-    issuer: http://localhost/realms/dbrepo
-    public_key: MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAqqnHQ2BWWW9vDNLRCcxD++xZg/16oqMo/c1l+lcFEjjAIJjJp/HqrPYU/U9GvquGE6PbVFtTzW1KcKawOW+FJNOA3CGo8Q1TFEfz43B8rZpKsFbJKvQGVv1Z4HaKPvLUm7iMm8Hv91cLduuoWx6Q3DPe2vg13GKKEZe7UFghF+0T9u8EKzA/XqQ0OiICmsmYPbwvf9N3bCKsB/Y10EYmZRb8IhCoV9mmO5TxgWgiuNeCTtNCv2ePYqL/U0WvyGFW0reasIK8eg3KrAUj8DpyOgPOVBn3lBGf+3KFSYi+0bwZbJZWqbC/Xlk20Go1YfeJPRIt7ImxD27R/lNjgDO/MwIDAQAB
-  client_secret: client-secret
-  client_id: dbrepo-client
-  gateway.endpoint: http://localhost
\ No newline at end of file
diff --git a/dbrepo-semantics-service/rest-service/src/main/resources/application.yml b/dbrepo-semantics-service/rest-service/src/main/resources/application.yml
deleted file mode 100644
index 0e7a2d5556..0000000000
--- a/dbrepo-semantics-service/rest-service/src/main/resources/application.yml
+++ /dev/null
@@ -1,70 +0,0 @@
-app.version: '@project.version@'
-spring:
-  main.banner-mode: off
-  autoconfigure:
-    exclude: org.springframework.boot.autoconfigure.elasticsearch.ElasticsearchRestClientAutoConfiguration, org.springframework.boot.autoconfigure.data.elasticsearch.ElasticsearchDataAutoConfiguration
-  datasource:
-    url: "jdbc:mariadb://metadata-db:3306/${METADATA_DB}"
-    driver-class-name: org.mariadb.jdbc.Driver
-    username: "${METADATA_USERNAME}"
-    password: "${METADATA_PASSWORD}"
-  jpa:
-    show-sql: false
-    database-platform: org.hibernate.dialect.MariaDBDialect
-    hibernate:
-      search:
-        default:
-          elasticsearch:
-            host: search-db
-      ddl-auto: validate
-      use-new-id-generator-mappings: false
-    open-in-view: false
-    properties:
-      hibernate:
-        default_schema: "${METADATA_DB}"
-        jdbc:
-          time_zone: UTC
-  application:
-    name: semantics-service
-  rabbitmq:
-    host: broker-service
-    virtual-host: dbrepo
-    username: "${BROKER_USERNAME}"
-    password: "${BROKER_PASSWORD}"
-  opensearch:
-    username: "${SEARCH_USERNAME}"
-    password: "${SEARCH_PASSWORD}"
-    host: search-db
-    port: 9200
-    protocol: http
-  cloud:
-    loadbalancer.ribbon.enabled: false
-management:
-  endpoints:
-    web:
-      exposure:
-        include: health,info,prometheus
-  endpoint:
-    health:
-      probes:
-        enabled: true
-  health:
-    readinessState:
-      enabled: true
-    livenessState:
-      enabled: true
-server:
-  port: 9097
-logging:
-  pattern.console: "%d %highlight(%-5level) %msg%n"
-  level:
-    root: warn
-    at.tuwien.: "${LOG_LEVEL}"
-    org.springframework.web.servlet.mvc.method.annotation.ExceptionHandlerExceptionResolver: debug
-fda:
-  jwt:
-    issuer: "${JWT_ISSUER}"
-    public_key: "${JWT_PUBKEY}"
-  client_secret: "${DBREPO_CLIENT_SECRET}"
-  client_id: "${CLIENT_ID}"
-  gateway.endpoint: http://gateway-service
\ No newline at end of file
diff --git a/dbrepo-semantics-service/rest-service/src/main/resources/config.properties b/dbrepo-semantics-service/rest-service/src/main/resources/config.properties
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/dbrepo-semantics-service/rest-service/src/main/resources/mariadb_hibernate.cfg.xml b/dbrepo-semantics-service/rest-service/src/main/resources/mariadb_hibernate.cfg.xml
deleted file mode 100644
index 5d1f8bd44e..0000000000
--- a/dbrepo-semantics-service/rest-service/src/main/resources/mariadb_hibernate.cfg.xml
+++ /dev/null
@@ -1,20 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE hibernate-configuration PUBLIC
-        "-//Hibernate/Hibernate Configuration DTD 3.0//EN"
-        "http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd">
-<hibernate-configuration>
-    <session-factory>
-        <property name="current_session_context_class">thread</property>
-        <property name="transaction.coordinator_class">jdbc</property>
-        <property name="c3p0.min_size">5</property>
-        <property name="c3p0.max_size">30</property>
-        <property name="c3p0.acquire_increment">5</property>
-        <property name="c3p0.timeout">1800</property>
-        <property name="show_sql">true</property>
-        <property name="format_sql">true</property>
-        <property name="hbm2ddl.auto">update</property>
-        <mapping class="at.tuwien.querystore.Query" />
-        <mapping class="at.tuwien.querystore.Table" />
-        <mapping class="at.tuwien.querystore.Column" />
-    </session-factory>
-</hibernate-configuration>
diff --git a/dbrepo-semantics-service/rest-service/src/test/java/at/tuwien/BaseUnitTest.java b/dbrepo-semantics-service/rest-service/src/test/java/at/tuwien/BaseUnitTest.java
deleted file mode 100644
index 01f84e12b9..0000000000
--- a/dbrepo-semantics-service/rest-service/src/test/java/at/tuwien/BaseUnitTest.java
+++ /dev/null
@@ -1,9 +0,0 @@
-package at.tuwien;
-
-import at.tuwien.test.BaseTest;
-import org.springframework.test.context.TestPropertySource;
-
-@TestPropertySource(locations = "classpath:application.properties")
-public abstract class BaseUnitTest extends BaseTest {
-
-}
diff --git a/dbrepo-semantics-service/rest-service/src/test/java/at/tuwien/endpoint/ActuatorComponentTest.java b/dbrepo-semantics-service/rest-service/src/test/java/at/tuwien/endpoint/ActuatorComponentTest.java
deleted file mode 100644
index a1530c6279..0000000000
--- a/dbrepo-semantics-service/rest-service/src/test/java/at/tuwien/endpoint/ActuatorComponentTest.java
+++ /dev/null
@@ -1,68 +0,0 @@
-package at.tuwien.endpoint;
-
-import at.tuwien.BaseUnitTest;
-import at.tuwien.repository.sdb.*;
-import lombok.extern.log4j.Log4j2;
-import org.junit.jupiter.api.Test;
-import org.junit.jupiter.api.extension.ExtendWith;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.boot.test.autoconfigure.web.servlet.AutoConfigureMockMvc;
-import org.springframework.boot.test.context.SpringBootTest;
-import org.springframework.boot.test.mock.mockito.MockBean;
-import org.springframework.test.context.junit.jupiter.SpringExtension;
-import org.springframework.test.web.servlet.MockMvc;
-
-import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.get;
-import static org.springframework.test.web.servlet.result.MockMvcResultHandlers.print;
-import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.jsonPath;
-import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status;
-
-@Log4j2
-@ExtendWith(SpringExtension.class)
-@AutoConfigureMockMvc
-@SpringBootTest
-public class ActuatorComponentTest extends BaseUnitTest {
-
-    @MockBean
-    private UnitIdxRepository unitIdxRepository;
-
-    @MockBean
-    private ConceptIdxRepository conceptIdxRepository;
-
-    @Autowired
-    private MockMvc mockMvc;
-
-    @Test
-    public void actuatorInfo_succeeds() throws Exception {
-        this.mockMvc.perform(get("/actuator/info"))
-                .andDo(print())
-                .andExpect(status().isOk());
-    }
-
-    @Test
-    public void actuatorStatus_succeeds() throws Exception {
-        this.mockMvc.perform(get("/actuator/health"))
-                .andExpect(status().isOk())
-                .andExpect(jsonPath("$.status").value("UP"));
-    }
-
-    @Test
-    public void actuatorLiveness_succeeds() throws Exception {
-        this.mockMvc.perform(get("/actuator/health/liveness"))
-                .andExpect(status().isOk())
-                .andExpect(jsonPath("$.status").value("UP"));
-    }
-
-    @Test
-    public void actuatorReadiness_succeeds() throws Exception {
-        this.mockMvc.perform(get("/actuator/health/readiness"))
-                .andExpect(status().isOk())
-                .andExpect(jsonPath("$.status").value("UP"));
-    }
-
-    @Test
-    public void actuatorPrometheus_succeeds() throws Exception {
-        this.mockMvc.perform(get("/actuator/prometheus"));
-    }
-
-}
diff --git a/dbrepo-semantics-service/rest-service/src/test/java/at/tuwien/endpoint/OntologyEndpointUnitTest.java b/dbrepo-semantics-service/rest-service/src/test/java/at/tuwien/endpoint/OntologyEndpointUnitTest.java
deleted file mode 100644
index ba2485698e..0000000000
--- a/dbrepo-semantics-service/rest-service/src/test/java/at/tuwien/endpoint/OntologyEndpointUnitTest.java
+++ /dev/null
@@ -1,312 +0,0 @@
-
-package at.tuwien.endpoint;
-
-import at.tuwien.BaseUnitTest;
-import at.tuwien.api.semantics.OntologyBriefDto;
-import at.tuwien.api.semantics.OntologyCreateDto;
-import at.tuwien.api.semantics.OntologyDto;
-import at.tuwien.api.semantics.OntologyModifyDto;
-import at.tuwien.endpoints.OntologyEndpoint;
-import at.tuwien.entities.semantics.Ontology;
-import at.tuwien.entities.user.User;
-import at.tuwien.exception.OntologyNotFoundException;
-import at.tuwien.exception.UserNotFoundException;
-import at.tuwien.repository.sdb.*;
-import at.tuwien.service.OntologyService;
-import at.tuwien.service.UserService;
-import lombok.extern.log4j.Log4j2;
-import org.apache.jena.sys.JenaSystem;
-import org.hibernate.HibernateException;
-import org.junit.jupiter.api.BeforeAll;
-import org.junit.jupiter.api.Test;
-import org.junit.jupiter.api.extension.ExtendWith;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.boot.test.context.SpringBootTest;
-import org.springframework.boot.test.mock.mockito.MockBean;
-import org.springframework.http.HttpStatus;
-import org.springframework.http.ResponseEntity;
-import org.springframework.security.access.AccessDeniedException;
-import org.springframework.security.test.context.support.WithAnonymousUser;
-import org.springframework.security.test.context.support.WithMockUser;
-import org.springframework.test.context.junit.jupiter.SpringExtension;
-
-import java.security.Principal;
-import java.util.List;
-
-import static org.junit.jupiter.api.Assertions.*;
-import static org.mockito.Mockito.*;
-
-@Log4j2
-@SpringBootTest
-@ExtendWith(SpringExtension.class)
-public class OntologyEndpointUnitTest extends BaseUnitTest {
-
-    @MockBean
-    private OntologyService ontologyService;
-
-    @MockBean
-    private UserService userService;
-
-    @MockBean
-    private UnitIdxRepository unitIdxRepository;
-
-    @MockBean
-    private ConceptIdxRepository conceptIdxRepository;
-
-    @Autowired
-    private OntologyEndpoint ontologyEndpoint;
-
-    @BeforeAll
-    public static void beforeAll() {
-        JenaSystem.init();
-    }
-
-    @Test
-    @WithAnonymousUser
-    public void findAll_anonymous_succeeds() {
-
-        /* test */
-        findAll_generic();
-    }
-
-    @Test
-    @WithMockUser(username = USER_4_USERNAME)
-    public void findAll_noRole_succeeds() {
-
-        /* test */
-        findAll_generic();
-    }
-
-    @Test
-    @WithAnonymousUser
-    public void find_anonymous_succeeds() throws OntologyNotFoundException {
-
-        /* test */
-        find_generic(ONTOLOGY_1_ID, ONTOLOGY_1);
-    }
-
-    @Test
-    @WithAnonymousUser
-    public void find_notFound_fails() {
-
-        /* test */
-        assertThrows(OntologyNotFoundException.class, () -> {
-            find_generic(99999L, null);
-        });
-    }
-
-    @Test
-    @WithMockUser(username = USER_4_USERNAME)
-    public void find_noRole_succeeds() throws OntologyNotFoundException {
-
-        /* test */
-        find_generic(ONTOLOGY_1_ID, ONTOLOGY_1);
-    }
-
-    @Test
-    @WithAnonymousUser
-    public void create_anonymous_fails() {
-
-        /* test */
-        assertThrows(AccessDeniedException.class, () -> {
-            create_generic(ONTOLOGY_1_CREATE_DTO, null, null, null, ONTOLOGY_1);
-        });
-    }
-
-    @Test
-    @WithMockUser(username = USER_4_USERNAME)
-    public void create_noRole_fails() {
-
-        /* test */
-        assertThrows(AccessDeniedException.class, () -> {
-            create_generic(ONTOLOGY_1_CREATE_DTO, USER_4_PRINCIPAL, USER_4_USERNAME, USER_4, ONTOLOGY_1);
-        });
-    }
-
-    @Test
-    @WithMockUser(username = USER_3_USERNAME, authorities = {"create-ontology"})
-    public void create_hasRole_succeeds() throws UserNotFoundException {
-
-        /* test */
-        create_generic(ONTOLOGY_1_CREATE_DTO, USER_3_PRINCIPAL, USER_3_USERNAME, USER_3, ONTOLOGY_1);
-    }
-
-    @Test
-    @WithAnonymousUser
-    public void update_anonymous_fails() {
-
-        /* test */
-        assertThrows(AccessDeniedException.class, () -> {
-            update_generic(ONTOLOGY_1_ID, ONTOLOGY_1_MODIFY_DTO, null, ONTOLOGY_1);
-        });
-    }
-
-    @Test
-    @WithMockUser(username = USER_4_USERNAME)
-    public void update_noRole_fails() {
-
-        /* test */
-        assertThrows(AccessDeniedException.class, () -> {
-            update_generic(ONTOLOGY_1_ID, ONTOLOGY_1_MODIFY_DTO, USER_4_PRINCIPAL, ONTOLOGY_1);
-        });
-    }
-
-    @Test
-    @WithMockUser(username = USER_3_USERNAME, authorities = {"update-ontology"})
-    public void update_hasRoleNotFound_fails() {
-
-        /* test */
-        assertThrows(OntologyNotFoundException.class, () -> {
-            update_generic(ONTOLOGY_1_ID, ONTOLOGY_1_MODIFY_DTO, USER_3_PRINCIPAL, null);
-        });
-    }
-
-    @Test
-    @WithMockUser(username = USER_3_USERNAME, authorities = {"update-ontology"})
-    public void update_hasRole_succeeds() throws OntologyNotFoundException {
-
-        /* test */
-        update_generic(ONTOLOGY_1_ID, ONTOLOGY_1_MODIFY_DTO, USER_3_PRINCIPAL, ONTOLOGY_1);
-    }
-
-    @Test
-    @WithAnonymousUser
-    public void delete_anonymous_fails() {
-
-        /* test */
-        assertThrows(AccessDeniedException.class, () -> {
-            delete_generic(ONTOLOGY_1_ID, ONTOLOGY_1);
-        });
-    }
-
-    @Test
-    @WithMockUser(username = USER_4_USERNAME)
-    public void delete_noRole_fails() {
-
-        /* test */
-        assertThrows(AccessDeniedException.class, () -> {
-            delete_generic(ONTOLOGY_1_ID, ONTOLOGY_1);
-        });
-    }
-
-    @Test
-    @WithMockUser(username = USER_3_USERNAME, authorities = {"delete-ontology"})
-    public void delete_hasRoleNotFound_fails() {
-
-        /* test */
-        assertThrows(OntologyNotFoundException.class, () -> {
-            delete_generic(ONTOLOGY_1_ID, null);
-        });
-    }
-
-    @Test
-    @WithMockUser(username = USER_3_USERNAME, authorities = {"delete-ontology"})
-    public void delete_hasRole_succeeds() throws OntologyNotFoundException {
-
-        /* test */
-        delete_generic(ONTOLOGY_1_ID, ONTOLOGY_1);
-    }
-
-    /* ################################################################################################### */
-    /* ## GENERIC TEST CASES                                                                            ## */
-    /* ################################################################################################### */
-
-    public void findAll_generic() {
-
-        /* mock */
-        when(ontologyService.findAll())
-                .thenReturn(List.of(ONTOLOGY_1, ONTOLOGY_2, ONTOLOGY_3, ONTOLOGY_4));
-
-        /* test */
-        final ResponseEntity<List<OntologyBriefDto>> response = ontologyEndpoint.findAll();
-        assertEquals(HttpStatus.OK, response.getStatusCode());
-        final List<OntologyBriefDto> body = response.getBody();
-        assertNotNull(body);
-        assertEquals(4, body.size());
-    }
-
-    public void find_generic(Long ontologyId, Ontology ontology) throws OntologyNotFoundException {
-
-        /* mock */
-        if (ontology != null) {
-            when(ontologyService.find(ontologyId))
-                    .thenReturn(ontology);
-        } else {
-            doThrow(OntologyNotFoundException.class)
-                    .when(ontologyService)
-                    .find(ontologyId);
-        }
-
-        /* test */
-        final ResponseEntity<OntologyDto> response = ontologyEndpoint.find(ontologyId);
-        assertEquals(HttpStatus.OK, response.getStatusCode());
-        final OntologyDto body = response.getBody();
-        assertNotNull(body);
-    }
-
-    public void create_generic(OntologyCreateDto createDto, Principal principal, String username, User user, Ontology ontology)
-            throws UserNotFoundException {
-
-        /* mock */
-        if (ontology != null) {
-            when(ontologyService.create(createDto, principal))
-                    .thenReturn(ontology);
-        } else {
-            doThrow(HibernateException.class)
-                    .when(ontologyService)
-                    .create(createDto, principal);
-        }
-        if (user != null) {
-            when(userService.findByUsername(username))
-                    .thenReturn(user);
-        } else {
-            doThrow(UserNotFoundException.class)
-                    .when(userService)
-                    .findByUsername(username);
-        }
-
-        /* test */
-        final ResponseEntity<OntologyDto> response = ontologyEndpoint.create(createDto, principal);
-        assertEquals(HttpStatus.CREATED, response.getStatusCode());
-        final OntologyDto body = response.getBody();
-        assertNotNull(body);
-    }
-
-    public void update_generic(Long ontologyId, OntologyModifyDto modifyDto, Principal principal, Ontology ontology)
-            throws OntologyNotFoundException {
-
-        /* mock */
-        if (ontology != null) {
-            when(ontologyService.update(ontologyId, modifyDto))
-                    .thenReturn(ontology);
-        } else {
-            doThrow(OntologyNotFoundException.class)
-                    .when(ontologyService)
-                    .update(ontologyId, modifyDto);
-        }
-
-        /* test */
-        final ResponseEntity<OntologyDto> response = ontologyEndpoint.update(ontologyId, modifyDto, principal);
-        assertEquals(HttpStatus.ACCEPTED, response.getStatusCode());
-        final OntologyDto body = response.getBody();
-        assertNotNull(body);
-    }
-
-    public void delete_generic(Long ontologyId, Ontology ontology) throws OntologyNotFoundException {
-
-        /* mock */
-        if (ontology != null) {
-            doNothing()
-                    .when(ontologyService)
-                    .delete(ontologyId);
-        } else {
-            doThrow(OntologyNotFoundException.class)
-                    .when(ontologyService)
-                    .delete(ontologyId);
-        }
-
-        /* test */
-        final ResponseEntity<?> response = ontologyEndpoint.delete(ontologyId);
-        assertEquals(HttpStatus.ACCEPTED, response.getStatusCode());
-    }
-}
diff --git a/dbrepo-semantics-service/rest-service/src/test/java/at/tuwien/endpoint/QueryEndpointUnitTest.java b/dbrepo-semantics-service/rest-service/src/test/java/at/tuwien/endpoint/QueryEndpointUnitTest.java
deleted file mode 100644
index 5d6523bd7d..0000000000
--- a/dbrepo-semantics-service/rest-service/src/test/java/at/tuwien/endpoint/QueryEndpointUnitTest.java
+++ /dev/null
@@ -1,167 +0,0 @@
-
-package at.tuwien.endpoint;
-
-import at.tuwien.BaseUnitTest;
-import at.tuwien.api.semantics.*;
-import at.tuwien.endpoints.QueryEndpoint;
-import at.tuwien.entities.semantics.Ontology;
-import at.tuwien.exception.FilterBadRequestException;
-import at.tuwien.exception.OntologyNotFoundException;
-import at.tuwien.exception.QueryMalformedException;
-import at.tuwien.exception.UriMalformedException;
-import at.tuwien.repository.sdb.*;
-import at.tuwien.service.OntologyService;
-import at.tuwien.service.QueryService;
-import lombok.extern.log4j.Log4j2;
-import org.apache.jena.sys.JenaSystem;
-import org.junit.jupiter.api.BeforeAll;
-import org.junit.jupiter.api.Test;
-import org.junit.jupiter.api.extension.ExtendWith;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.boot.test.context.SpringBootTest;
-import org.springframework.boot.test.mock.mockito.MockBean;
-import org.springframework.http.HttpStatus;
-import org.springframework.http.ResponseEntity;
-import org.springframework.security.access.AccessDeniedException;
-import org.springframework.security.test.context.support.WithAnonymousUser;
-import org.springframework.security.test.context.support.WithMockUser;
-import org.springframework.test.context.junit.jupiter.SpringExtension;
-
-import java.util.List;
-
-import static org.junit.jupiter.api.Assertions.*;
-import static org.mockito.Mockito.*;
-
-@Log4j2
-@SpringBootTest
-@ExtendWith(SpringExtension.class)
-public class QueryEndpointUnitTest extends BaseUnitTest {
-
-    @MockBean
-    private QueryService queryService;
-
-    @MockBean
-    private OntologyService ontologyService;
-
-    @MockBean
-    private UnitIdxRepository unitIdxRepository;
-
-    @MockBean
-    private ConceptIdxRepository conceptIdxRepository;
-
-    @Autowired
-    private QueryEndpoint queryEndpoint;
-
-    @BeforeAll
-    public static void beforeAll() {
-        JenaSystem.init();
-    }
-
-    @Test
-    @WithAnonymousUser
-    public void find_anonymous_fails() {
-
-        /* test */
-        assertThrows(AccessDeniedException.class, () -> {
-            find_generic(ONTOLOGY_2_ID, "Apache Jena", null, ONTOLOGY_2, null);
-        });
-    }
-
-    @Test
-    @WithMockUser(username = USER_4_USERNAME, authorities = {})
-    public void find_noRole_fails() {
-
-        /* test */
-        assertThrows(AccessDeniedException.class, () -> {
-            find_generic(ONTOLOGY_2_ID, "Apache Jena", null, ONTOLOGY_2, null);
-        });
-    }
-
-    @Test
-    @WithMockUser(username = USER_1_USERNAME, authorities = {"execute-semantic-query"})
-    public void find_hasRoleInvalidParams_succeeds() {
-
-        /* test */
-        assertThrows(FilterBadRequestException.class, () -> {
-            find_generic(ONTOLOGY_2_ID, "Apache Jena", "http://www.wikidata.org/entity/Q1686799", ONTOLOGY_2, null);
-        });
-    }
-
-    @Test
-    @WithMockUser(username = USER_1_USERNAME, authorities = {"execute-semantic-query"})
-    public void find_hasRoleNotOntologyUri_succeeds() {
-
-        /* test */
-        assertThrows(UriMalformedException.class, () -> {
-            find_generic(ONTOLOGY_2_ID, null, "https://wikidata.org/entity/Q1686799", ONTOLOGY_2, null);
-        });
-    }
-
-    @Test
-    @WithMockUser(username = USER_1_USERNAME, authorities = {"execute-semantic-query"})
-    public void find_hasRoleLabel_succeeds() throws UriMalformedException, QueryMalformedException,
-            OntologyNotFoundException, FilterBadRequestException {
-        final EntityDto entityDto = EntityDto.builder()
-                .label("Apache Jena")
-                .uri("http://www.wikidata.org/entity/Q1686799")
-                .build();
-
-        /* test */
-        final List<EntityDto> response = find_generic(ONTOLOGY_2_ID, "Apache Jena", null, ONTOLOGY_2, entityDto);
-        final EntityDto entity0 = response.get(0);
-        assertEquals("Apache Jena", entity0.getLabel());
-        assertEquals("http://www.wikidata.org/entity/Q1686799", entity0.getUri());
-    }
-
-    @Test
-    @WithMockUser(username = USER_1_USERNAME, authorities = {"execute-semantic-query"})
-    public void find_hasRoleUri_succeeds() throws UriMalformedException, QueryMalformedException,
-            OntologyNotFoundException, FilterBadRequestException {
-        final EntityDto entityDto = EntityDto.builder()
-                .label("Apache Jena")
-                .uri("http://www.wikidata.org/entity/Q1686799")
-                .build();
-
-        /* test */
-        final List<EntityDto> response = find_generic(ONTOLOGY_2_ID, null, "http://www.wikidata.org/entity/Q1686799", ONTOLOGY_2, entityDto);
-        final EntityDto entity0 = response.get(0);
-        assertEquals("Apache Jena", entity0.getLabel());
-        assertEquals("http://www.wikidata.org/entity/Q1686799", entity0.getUri());
-    }
-
-    /* ################################################################################################### */
-    /* ## GENERIC TEST CASES                                                                            ## */
-    /* ################################################################################################### */
-
-    public List<EntityDto> find_generic(Long ontologyId, String label, String uri, Ontology ontology, EntityDto entityDto)
-            throws OntologyNotFoundException, QueryMalformedException, UriMalformedException, FilterBadRequestException {
-
-        /* mock */
-        if (ontology != null) {
-            when(ontologyService.find(ontologyId))
-                    .thenReturn(ontology);
-        } else {
-            doThrow(OntologyNotFoundException.class)
-                    .when(ontologyService)
-                    .find(ontologyId);
-        }
-        if (entityDto != null) {
-            when(queryService.findByLabel(ontology, label))
-                    .thenReturn(List.of(entityDto));
-            when(queryService.findByUri(ontology, uri))
-                    .thenReturn(List.of(entityDto));
-        } else {
-            when(queryService.findByLabel(ontology, label))
-                    .thenReturn(List.of());
-            when(queryService.findByUri(ontology, uri))
-                    .thenReturn(List.of());
-        }
-
-        /* test */
-        final ResponseEntity<List<EntityDto>> response = queryEndpoint.find(ontologyId, label, uri);
-        assertEquals(HttpStatus.OK, response.getStatusCode());
-        final List<EntityDto> body = response.getBody();
-        assertNotNull(body);
-        return body;
-    }
-}
diff --git a/dbrepo-semantics-service/rest-service/src/test/java/at/tuwien/endpoint/SemanticsEndpointUnitTest.java b/dbrepo-semantics-service/rest-service/src/test/java/at/tuwien/endpoint/SemanticsEndpointUnitTest.java
deleted file mode 100644
index d98245334f..0000000000
--- a/dbrepo-semantics-service/rest-service/src/test/java/at/tuwien/endpoint/SemanticsEndpointUnitTest.java
+++ /dev/null
@@ -1,215 +0,0 @@
-
-package at.tuwien.endpoint;
-
-import at.tuwien.BaseUnitTest;
-import at.tuwien.api.database.table.columns.concepts.ConceptDto;
-import at.tuwien.api.database.table.columns.concepts.ConceptSaveDto;
-import at.tuwien.api.database.table.columns.concepts.UnitDto;
-import at.tuwien.api.database.table.columns.concepts.UnitSaveDto;
-import at.tuwien.endpoints.SemanticsEndpoint;
-import at.tuwien.entities.database.table.columns.TableColumnConcept;
-import at.tuwien.entities.database.table.columns.TableColumnUnit;
-import at.tuwien.repository.sdb.*;
-import at.tuwien.service.SemanticService;
-import lombok.extern.log4j.Log4j2;
-import org.apache.jena.sys.JenaSystem;
-import org.hibernate.HibernateException;
-import org.junit.jupiter.api.BeforeAll;
-import org.junit.jupiter.api.Test;
-import org.junit.jupiter.api.extension.ExtendWith;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.boot.test.context.SpringBootTest;
-import org.springframework.boot.test.mock.mockito.MockBean;
-import org.springframework.http.HttpStatus;
-import org.springframework.http.ResponseEntity;
-import org.springframework.security.access.AccessDeniedException;
-import org.springframework.security.test.context.support.WithAnonymousUser;
-import org.springframework.security.test.context.support.WithMockUser;
-import org.springframework.test.context.junit.jupiter.SpringExtension;
-
-import java.util.List;
-
-import static org.junit.jupiter.api.Assertions.*;
-import static org.mockito.Mockito.doThrow;
-import static org.mockito.Mockito.when;
-
-@Log4j2
-@SpringBootTest
-@ExtendWith(SpringExtension.class)
-public class SemanticsEndpointUnitTest extends BaseUnitTest {
-
-    @MockBean
-    private SemanticService semanticService;
-
-    @MockBean
-    private UnitIdxRepository unitIdxRepository;
-
-    @MockBean
-    private ConceptIdxRepository conceptIdxRepository;
-
-    @Autowired
-    private SemanticsEndpoint semanticsEndpoint;
-
-    @BeforeAll
-    public static void beforeAll() {
-        JenaSystem.init();
-    }
-
-    @Test
-    @WithAnonymousUser
-    public void findAllConcepts_anonymous_succeeds() {
-
-        /* test */
-        findAllConcepts_generic();
-    }
-
-    @Test
-    @WithMockUser(username = USER_4_USERNAME, authorities = {})
-    public void findAllConcepts_noRole_succeeds() {
-
-        /* test */
-        findAllConcepts_generic();
-    }
-
-    @Test
-    @WithAnonymousUser
-    public void findAllUnits_anonymous_succeeds() {
-
-        /* test */
-        findAllUnits_generic();
-    }
-
-    @Test
-    @WithMockUser(username = USER_4_USERNAME, authorities = {})
-    public void findAllUnits_noRole_succeeds() {
-
-        /* test */
-        findAllUnits_generic();
-    }
-
-    @Test
-    @WithAnonymousUser
-    public void saveConcept_anonymous_fails() {
-
-        /* test */
-        assertThrows(AccessDeniedException.class, () -> {
-            saveConcept_generic(COLUMN_CONCEPT_TEMPERATURE_SAVE_DTO, COLUMN_CONCEPT_TEMPERATURE);
-        });
-    }
-
-    @Test
-    @WithMockUser(username = USER_4_USERNAME, authorities = {})
-    public void saveConcept_noRole_fails() {
-
-        /* test */
-        assertThrows(AccessDeniedException.class, () -> {
-            saveConcept_generic(COLUMN_CONCEPT_TEMPERATURE_SAVE_DTO, COLUMN_CONCEPT_TEMPERATURE);
-        });
-    }
-
-    @Test
-    @WithMockUser(username = USER_3_USERNAME, authorities = {"create-semantic-concept"})
-    public void saveConcept_hasRole_succeeds() {
-
-        /* test */
-        saveConcept_generic(COLUMN_CONCEPT_TEMPERATURE_SAVE_DTO, COLUMN_CONCEPT_TEMPERATURE);
-    }
-
-    @Test
-    @WithAnonymousUser
-    public void saveUnit_anonymous_fails() {
-
-        /* test */
-        assertThrows(AccessDeniedException.class, () -> {
-            saveUnit_generic(UNIT_1_SAVE_DTO, UNIT_1);
-        });
-    }
-
-    @Test
-    @WithMockUser(username = USER_4_USERNAME, authorities = {})
-    public void saveUnit_noRole_fails() {
-
-        /* test */
-        assertThrows(AccessDeniedException.class, () -> {
-            saveUnit_generic(UNIT_1_SAVE_DTO, UNIT_1);
-        });
-    }
-
-    @Test
-    @WithMockUser(username = USER_3_USERNAME, authorities = {"create-semantic-unit"})
-    public void saveUnit_hasRole_succeeds() {
-
-        /* test */
-        saveUnit_generic(UNIT_1_SAVE_DTO, UNIT_1);
-    }
-
-    /* ################################################################################################### */
-    /* ## GENERIC TEST CASES                                                                            ## */
-    /* ################################################################################################### */
-
-    public void findAllConcepts_generic() {
-
-        /* mock */
-        when(semanticService.findAllConcepts())
-                .thenReturn(List.of(COLUMN_CONCEPT_TEMPERATURE, COLUMN_CONCEPT_FAIR_DATA));
-
-        /* test */
-        final ResponseEntity<List<ConceptDto>> response = semanticsEndpoint.findAllConcepts();
-        assertEquals(HttpStatus.OK, response.getStatusCode());
-        final List<ConceptDto> body = response.getBody();
-        assertNotNull(body);
-        assertEquals(2, body.size());
-    }
-
-    public void findAllUnits_generic() {
-
-        /* mock */
-        when(semanticService.findAllUnits())
-                .thenReturn(List.of(UNIT_2, UNIT_1));
-
-        /* test */
-        final ResponseEntity<List<UnitDto>> response = semanticsEndpoint.findAllUnits();
-        assertEquals(HttpStatus.OK, response.getStatusCode());
-        final List<UnitDto> body = response.getBody();
-        assertNotNull(body);
-        assertEquals(2, body.size());
-    }
-
-    public void saveConcept_generic(ConceptSaveDto saveDto, TableColumnConcept concept) {
-
-        /* mock */
-        if (concept != null) {
-            when(semanticService.saveConcept(saveDto))
-                    .thenReturn(concept);
-        } else {
-            doThrow(HibernateException.class)
-                    .when(semanticService)
-                    .saveConcept(saveDto);
-        }
-
-        /* test */
-        final ResponseEntity<ConceptDto> response = semanticsEndpoint.saveUnit(saveDto);
-        assertEquals(HttpStatus.ACCEPTED, response.getStatusCode());
-        final ConceptDto body = response.getBody();
-        assertNotNull(body);
-    }
-
-    public void saveUnit_generic(UnitSaveDto saveDto, TableColumnUnit unit) {
-
-        /* mock */
-        if (unit != null) {
-            when(semanticService.saveUnit(saveDto))
-                    .thenReturn(unit);
-        } else {
-            doThrow(HibernateException.class)
-                    .when(semanticService)
-                    .saveUnit(saveDto);
-        }
-
-        /* test */
-        final ResponseEntity<UnitDto> response = semanticsEndpoint.saveUnit(saveDto);
-        assertEquals(HttpStatus.ACCEPTED, response.getStatusCode());
-        final UnitDto body = response.getBody();
-        assertNotNull(body);
-    }
-}
diff --git a/dbrepo-semantics-service/rest-service/src/test/java/at/tuwien/endpoint/SwaggerComponentTest.java b/dbrepo-semantics-service/rest-service/src/test/java/at/tuwien/endpoint/SwaggerComponentTest.java
deleted file mode 100644
index e55d5ef87e..0000000000
--- a/dbrepo-semantics-service/rest-service/src/test/java/at/tuwien/endpoint/SwaggerComponentTest.java
+++ /dev/null
@@ -1,41 +0,0 @@
-package at.tuwien.endpoint;
-
-import at.tuwien.BaseUnitTest;
-import at.tuwien.repository.sdb.*;
-import lombok.extern.log4j.Log4j2;
-import org.junit.jupiter.api.Test;
-import org.junit.jupiter.api.extension.ExtendWith;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.boot.test.autoconfigure.web.servlet.AutoConfigureMockMvc;
-import org.springframework.boot.test.context.SpringBootTest;
-import org.springframework.boot.test.mock.mockito.MockBean;
-import org.springframework.test.context.junit.jupiter.SpringExtension;
-import org.springframework.test.web.servlet.MockMvc;
-
-import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.get;
-import static org.springframework.test.web.servlet.result.MockMvcResultHandlers.print;
-import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status;
-
-@Log4j2
-@ExtendWith(SpringExtension.class)
-@AutoConfigureMockMvc
-@SpringBootTest
-public class SwaggerComponentTest extends BaseUnitTest {
-
-    @Autowired
-    private MockMvc mockMvc;
-
-    @MockBean
-    private UnitIdxRepository unitIdxRepository;
-
-    @MockBean
-    private ConceptIdxRepository conceptIdxRepository;
-
-    @Test
-    public void swaggerUi_succeeds() throws Exception {
-        this.mockMvc.perform(get("/swagger-ui/index.html"))
-                .andDo(print())
-                .andExpect(status().isOk());
-    }
-
-}
diff --git a/dbrepo-semantics-service/rest-service/src/test/java/at/tuwien/endpoint/TableEndpointUnitTest.java b/dbrepo-semantics-service/rest-service/src/test/java/at/tuwien/endpoint/TableEndpointUnitTest.java
deleted file mode 100644
index 50a6b5e631..0000000000
--- a/dbrepo-semantics-service/rest-service/src/test/java/at/tuwien/endpoint/TableEndpointUnitTest.java
+++ /dev/null
@@ -1,140 +0,0 @@
-
-package at.tuwien.endpoint;
-
-import at.tuwien.BaseUnitTest;
-import at.tuwien.api.semantics.*;
-import at.tuwien.endpoints.TableEndpoint;
-import at.tuwien.exception.QueryMalformedException;
-import at.tuwien.exception.TableColumnNotFoundException;
-import at.tuwien.exception.TableNotFoundException;
-import at.tuwien.repository.sdb.*;
-import at.tuwien.service.TableService;
-import lombok.extern.log4j.Log4j2;
-import org.apache.jena.sys.JenaSystem;
-import org.junit.jupiter.api.BeforeAll;
-import org.junit.jupiter.api.Test;
-import org.junit.jupiter.api.extension.ExtendWith;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.boot.test.context.SpringBootTest;
-import org.springframework.boot.test.mock.mockito.MockBean;
-import org.springframework.http.HttpStatus;
-import org.springframework.http.ResponseEntity;
-import org.springframework.security.access.AccessDeniedException;
-import org.springframework.security.test.context.support.WithAnonymousUser;
-import org.springframework.security.test.context.support.WithMockUser;
-import org.springframework.test.context.junit.jupiter.SpringExtension;
-
-import java.util.List;
-
-import static org.junit.jupiter.api.Assertions.*;
-import static org.mockito.Mockito.*;
-
-@Log4j2
-@SpringBootTest
-@ExtendWith(SpringExtension.class)
-public class TableEndpointUnitTest extends BaseUnitTest {
-
-    @MockBean
-    private TableService tableService;
-
-    @MockBean
-    private UnitIdxRepository unitIdxRepository;
-
-    @MockBean
-    private ConceptIdxRepository conceptIdxRepository;
-
-    @Autowired
-    private TableEndpoint tableEndpoint;
-
-    @BeforeAll
-    public static void beforeAll() {
-        JenaSystem.init();
-    }
-
-    @Test
-    @WithAnonymousUser
-    public void analyseTable_anonymous_fails() {
-
-        /* test */
-        assertThrows(AccessDeniedException.class, () -> {
-            analyseTable_generic(DATABASE_1_ID, TABLE_1_ID);
-        });
-    }
-
-    @Test
-    @WithMockUser(username = USER_4_USERNAME)
-    public void findAll_noRole_fails() {
-
-        /* test */
-        assertThrows(AccessDeniedException.class, () -> {
-            analyseTable_generic(DATABASE_1_ID, TABLE_1_ID);
-        });
-    }
-
-    @Test
-    @WithMockUser(username = USER_1_USERNAME, authorities = {"table-semantic-analyse"})
-    public void findAll_hasRole_succeeds() throws TableNotFoundException, QueryMalformedException {
-
-        /* test */
-        analyseTable_generic(DATABASE_1_ID, TABLE_1_ID);
-    }
-
-    @Test
-    @WithAnonymousUser
-    public void analyseTableColumn_anonymous_fails() {
-
-        /* test */
-        assertThrows(AccessDeniedException.class, () -> {
-            analyseTableColumn_generic(DATABASE_1_ID, TABLE_1_ID, COLUMN_1_1_ID);
-        });
-    }
-
-    @Test
-    @WithMockUser(username = USER_4_USERNAME)
-    public void analyseTableColumn_noRole_fails() {
-
-        /* test */
-        assertThrows(AccessDeniedException.class, () -> {
-            analyseTableColumn_generic(DATABASE_1_ID, TABLE_1_ID, COLUMN_1_1_ID);
-        });
-    }
-
-    @Test
-    @WithMockUser(username = USER_1_USERNAME, authorities = {"table-semantic-analyse"})
-    public void analyseTableColumn_hasRole_succeeds() throws QueryMalformedException, TableColumnNotFoundException {
-
-        /* test */
-        analyseTableColumn_generic(DATABASE_1_ID, TABLE_1_ID, COLUMN_1_1_ID);
-    }
-
-    /* ################################################################################################### */
-    /* ## GENERIC TEST CASES                                                                            ## */
-    /* ################################################################################################### */
-
-    public void analyseTable_generic(Long databaseId, Long tableId) throws TableNotFoundException, QueryMalformedException {
-
-        /* mock */
-        when(tableService.suggestTableSemantics(databaseId, tableId))
-                .thenReturn(List.of());
-
-        /* test */
-        final ResponseEntity<List<EntityDto>> response = tableEndpoint.analyseTable(databaseId, tableId);
-        assertEquals(HttpStatus.OK, response.getStatusCode());
-        final List<EntityDto> body = response.getBody();
-        assertNotNull(body);
-    }
-
-    public void analyseTableColumn_generic(Long databaseId, Long tableId, Long columnId) throws QueryMalformedException,
-            TableColumnNotFoundException {
-
-        /* mock */
-        when(tableService.suggestTableColumnSemantics(databaseId, tableId, columnId))
-                .thenReturn(List.of());
-
-        /* test */
-        final ResponseEntity<List<TableColumnEntityDto>> response = tableEndpoint.analyseTableColumn(databaseId, tableId, columnId);
-        assertEquals(HttpStatus.OK, response.getStatusCode());
-        final List<TableColumnEntityDto> body = response.getBody();
-        assertNotNull(body);
-    }
-}
diff --git a/dbrepo-semantics-service/rest-service/src/test/java/at/tuwien/service/OntologyServiceIntegrationTest.java b/dbrepo-semantics-service/rest-service/src/test/java/at/tuwien/service/OntologyServiceIntegrationTest.java
deleted file mode 100644
index 9ad5afda53..0000000000
--- a/dbrepo-semantics-service/rest-service/src/test/java/at/tuwien/service/OntologyServiceIntegrationTest.java
+++ /dev/null
@@ -1,124 +0,0 @@
-package at.tuwien.service;
-
-import at.tuwien.BaseUnitTest;
-import at.tuwien.entities.semantics.Ontology;
-import at.tuwien.exception.OntologyNotFoundException;
-import at.tuwien.exception.UserNotFoundException;
-import at.tuwien.repository.mdb.OntologyRepository;
-import at.tuwien.repository.mdb.RealmRepository;
-import at.tuwien.repository.mdb.UserRepository;
-import at.tuwien.repository.sdb.*;
-import lombok.extern.log4j.Log4j2;
-import org.apache.jena.sys.JenaSystem;
-import org.junit.jupiter.api.BeforeAll;
-import org.junit.jupiter.api.BeforeEach;
-import org.junit.jupiter.api.Test;
-import org.junit.jupiter.api.extension.ExtendWith;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.boot.test.context.SpringBootTest;
-import org.springframework.boot.test.mock.mockito.MockBean;
-import org.springframework.test.annotation.DirtiesContext;
-import org.springframework.test.context.junit.jupiter.SpringExtension;
-
-import java.util.List;
-
-import static org.junit.jupiter.api.Assertions.assertEquals;
-import static org.junit.jupiter.api.Assertions.assertThrows;
-
-@Log4j2
-@SpringBootTest
-@DirtiesContext(classMode = DirtiesContext.ClassMode.BEFORE_EACH_TEST_METHOD)
-@ExtendWith(SpringExtension.class)
-public class OntologyServiceIntegrationTest extends BaseUnitTest {
-
-    @MockBean
-    private UnitIdxRepository unitIdxRepository;
-
-    @MockBean
-    private ConceptIdxRepository conceptIdxRepository;
-
-    @Autowired
-    private OntologyService ontologyService;
-
-    @Autowired
-    private UserRepository userRepository;
-
-    @Autowired
-    private RealmRepository realmRepository;
-
-    @Autowired
-    private OntologyRepository ontologyRepository;
-
-    @BeforeAll
-    public static void beforeAll() {
-        JenaSystem.init();
-    }
-
-    @BeforeEach
-    public void beforeEach() {
-        realmRepository.save(REALM_DBREPO);
-        userRepository.save(USER_1);
-        ontologyRepository.save(ONTOLOGY_1);
-        ontologyRepository.save(ONTOLOGY_2);
-    }
-
-    @Test
-    public void findAll_succeeds() {
-
-        /* test */
-        final List<Ontology> response = ontologyService.findAll();
-        assertEquals(2, response.size());
-    }
-
-    @Test
-    public void find_succeeds() throws OntologyNotFoundException {
-
-        /* test */
-        final Ontology response = ontologyService.find(ONTOLOGY_1_ID);
-        assertEquals(ONTOLOGY_1_ID, response.getId());
-        assertEquals(ONTOLOGY_1_URI, response.getUri());
-    }
-
-    @Test
-    public void find_fails() {
-
-        /* test */
-        assertThrows(OntologyNotFoundException.class, () -> {
-            ontologyService.find(9999L);
-        });
-    }
-
-    @Test
-    public void create_succeeds() throws UserNotFoundException {
-
-        /* test */
-        final Ontology response = ontologyService.create(ONTOLOGY_3_CREATE_DTO, USER_1_PRINCIPAL);
-        assertEquals(ONTOLOGY_3_ID, response.getId());
-        assertEquals(ONTOLOGY_3_URI, response.getUri());
-    }
-
-    @Test
-    public void create_notFound_fails() {
-
-        /* test */
-        assertThrows(UserNotFoundException.class, () -> {
-            ontologyService.create(ONTOLOGY_3_CREATE_DTO, USER_3_PRINCIPAL);
-        });
-    }
-
-    @Test
-    public void delete_succeeds() throws OntologyNotFoundException {
-
-        /* test */
-        ontologyService.delete(ONTOLOGY_1_ID);
-    }
-
-    @Test
-    public void delete_fails() {
-
-        /* test */
-        assertThrows(OntologyNotFoundException.class, () -> {
-            ontologyService.delete(9999L);
-        });
-    }
-}
diff --git a/dbrepo-semantics-service/rest-service/src/test/java/at/tuwien/service/QueryServiceIntegrationTest.java b/dbrepo-semantics-service/rest-service/src/test/java/at/tuwien/service/QueryServiceIntegrationTest.java
deleted file mode 100644
index da1f1cc5a0..0000000000
--- a/dbrepo-semantics-service/rest-service/src/test/java/at/tuwien/service/QueryServiceIntegrationTest.java
+++ /dev/null
@@ -1,142 +0,0 @@
-package at.tuwien.service;
-
-import at.tuwien.BaseUnitTest;
-import at.tuwien.api.semantics.EntityDto;
-import at.tuwien.exception.QueryMalformedException;
-import at.tuwien.repository.mdb.OntologyRepository;
-import at.tuwien.repository.mdb.RealmRepository;
-import at.tuwien.repository.mdb.UserRepository;
-import at.tuwien.repository.sdb.*;
-import lombok.extern.log4j.Log4j2;
-import org.apache.jena.sys.JenaSystem;
-import org.junit.jupiter.api.BeforeAll;
-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;
-import org.springframework.boot.test.context.SpringBootTest;
-import org.springframework.boot.test.mock.mockito.MockBean;
-import org.springframework.test.annotation.DirtiesContext;
-import org.springframework.test.context.junit.jupiter.SpringExtension;
-
-import java.util.List;
-
-import static org.junit.jupiter.api.Assertions.*;
-
-@Log4j2
-@SpringBootTest
-@DirtiesContext(classMode = DirtiesContext.ClassMode.BEFORE_EACH_TEST_METHOD)
-@ExtendWith(SpringExtension.class)
-public class QueryServiceIntegrationTest extends BaseUnitTest {
-
-    @MockBean
-    private UnitIdxRepository unitIdxRepository;
-
-    @MockBean
-    private ConceptIdxRepository conceptIdxRepository;
-
-    @Autowired
-    private RealmRepository realmRepository;
-
-    @Autowired
-    private UserRepository userRepository;
-
-    @Autowired
-    private OntologyRepository ontologyRepository;
-
-    @Autowired
-    private QueryService queryService;
-
-    @BeforeAll
-    public static void beforeAll() {
-        JenaSystem.init();
-    }
-
-    @BeforeEach
-    public void beforeEach() {
-        realmRepository.save(REALM_DBREPO);
-        userRepository.save(USER_1);
-        ontologyRepository.saveAll(List.of(ONTOLOGY_1, ONTOLOGY_2, ONTOLOGY_3, ONTOLOGY_4));
-    }
-
-    @Test
-    public void findByLabel_wikidata_succeeds() throws QueryMalformedException {
-
-        /* test */
-        final List<EntityDto> response = queryService.findByLabel(ONTOLOGY_2, "Apache Jena");
-        assertEquals(1, response.size());
-        final EntityDto entity0 = response.get(0);
-        assertEquals("Apache Jena", entity0.getLabel());
-        assertNotNull(entity0.getDescription()) /* user provided */;
-    }
-
-    @Test
-    @Disabled
-    public void findByLabel_measurements_fails() throws QueryMalformedException {
-
-        /* test */
-        final List<EntityDto> response = queryService.findByLabel(ONTOLOGY_1, "tonne");
-        assertEquals(1, response.size());
-        final EntityDto entity0 = response.get(0);
-        assertEquals(UNIT_2_NAME, entity0.getLabel());
-        assertNull(UNIT_2_URI);
-        assertNull(UNIT_2_DESCRIPTION);
-    }
-
-    @Test
-    public void findByLabel_dbpedia_succeeds() throws QueryMalformedException {
-
-        /* test */
-        final List<EntityDto> response = queryService.findByLabel(ONTOLOGY_5, "person");
-        assertTrue(response.size() >= 1);
-        final EntityDto entity0 = response.get(0);
-        assertEquals("person", entity0.getLabel());
-        assertNull(entity0.getDescription());
-    }
-
-    @Test
-    public void findByLabel_fails() throws QueryMalformedException {
-
-        /* test */
-        final List<EntityDto> response = queryService.findByLabel(ONTOLOGY_2, "apache jena");
-        assertEquals(0, response.size());
-    }
-
-    @Test
-    public void findByUri_wikidata_succeeds() throws QueryMalformedException {
-
-        /* test */
-        final List<EntityDto> response = queryService.findByUri(ONTOLOGY_2, COLUMN_CONCEPT_TEMPERATURE_URI);
-        assertEquals(1, response.size());
-        final EntityDto entity0 = response.get(0);
-        assertEquals(COLUMN_CONCEPT_TEMPERATURE_URI, entity0.getUri());
-        assertEquals(COLUMN_CONCEPT_TEMPERATURE_NAME, entity0.getLabel());
-        assertEquals(COLUMN_CONCEPT_TEMPERATURE_DESCRIPTION, entity0.getDescription());
-    }
-
-    @Test
-    @Disabled
-    public void findByUri_measurements_fails() throws QueryMalformedException {
-
-        /* test */
-        final List<EntityDto> response = queryService.findByUri(ONTOLOGY_1, UNIT_2_URI);
-        assertEquals(1, response.size());
-        final EntityDto entity0 = response.get(0);
-        assertEquals(UNIT_2_URI, entity0.getUri());
-        assertNull(UNIT_2_NAME);
-        assertNull(UNIT_2_DESCRIPTION);
-    }
-
-    @Test
-    public void findByUri_dbpedia_fails() throws QueryMalformedException {
-
-        /* test */
-        final List<EntityDto> response = queryService.findByUri(ONTOLOGY_5, "http://dbpedia.org/ontology/person");
-        assertEquals(1, response.size());
-        final EntityDto entity0 = response.get(0);
-        assertEquals("http://dbpedia.org/ontology/person", entity0.getUri());
-        assertEquals("person", entity0.getLabel());
-        assertNull(entity0.getDescription());
-    }
-}
diff --git a/dbrepo-semantics-service/rest-service/src/test/java/at/tuwien/service/SemanticServiceUnitTest.java b/dbrepo-semantics-service/rest-service/src/test/java/at/tuwien/service/SemanticServiceUnitTest.java
deleted file mode 100644
index 38bd58b129..0000000000
--- a/dbrepo-semantics-service/rest-service/src/test/java/at/tuwien/service/SemanticServiceUnitTest.java
+++ /dev/null
@@ -1,146 +0,0 @@
-package at.tuwien.service;
-
-import at.tuwien.BaseUnitTest;
-import at.tuwien.api.database.table.columns.concepts.ConceptDto;
-import at.tuwien.api.database.table.columns.concepts.UnitDto;
-import at.tuwien.entities.database.table.columns.TableColumnConcept;
-import at.tuwien.entities.database.table.columns.TableColumnUnit;
-import at.tuwien.repository.mdb.*;
-import at.tuwien.repository.sdb.*;
-import lombok.extern.log4j.Log4j2;
-import org.apache.jena.sys.JenaSystem;
-import org.junit.jupiter.api.BeforeAll;
-import org.junit.jupiter.api.Test;
-import org.junit.jupiter.api.extension.ExtendWith;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.boot.test.context.SpringBootTest;
-import org.springframework.boot.test.mock.mockito.MockBean;
-import org.springframework.test.context.junit.jupiter.SpringExtension;
-
-
-import java.util.List;
-
-import static org.junit.jupiter.api.Assertions.*;
-import static org.mockito.ArgumentMatchers.any;
-import static org.mockito.Mockito.when;
-
-@Log4j2
-@SpringBootTest
-@ExtendWith(SpringExtension.class)
-public class SemanticServiceUnitTest extends BaseUnitTest {
-
-    @MockBean
-    private UnitIdxRepository unitIdxRepository;
-
-    @MockBean
-    private ConceptIdxRepository conceptIdxRepository;
-
-    @MockBean
-    private TableColumnConceptRepository tableColumnConceptRepository;
-
-    @MockBean
-    private TableColumnUnitRepository tableColumnUnitRepository;
-
-    @Autowired
-    private SemanticService semanticService;
-
-    @BeforeAll
-    public static void beforeAll() {
-        JenaSystem.init();
-    }
-
-    @Test
-    public void findAllConcepts_succeeds() {
-
-        /* mock */
-        when(tableColumnConceptRepository.findAll())
-                .thenReturn(List.of(COLUMN_CONCEPT_TEMPERATURE));
-
-        /* test */
-        final List<TableColumnConcept> response = semanticService.findAllConcepts();
-        assertEquals(1, response.size());
-        final TableColumnConcept concept0 = response.get(0);
-        assertEquals(COLUMN_CONCEPT_TEMPERATURE_URI, concept0.getUri());
-        assertEquals(COLUMN_CONCEPT_TEMPERATURE_NAME, concept0.getName());
-    }
-
-    @Test
-    public void findAllUnit_succeeds() {
-
-        /* mock */
-        when(tableColumnUnitRepository.findAll())
-                .thenReturn(List.of(UNIT_1));
-
-        /* test */
-        final List<TableColumnUnit> response = semanticService.findAllUnits();
-        assertEquals(1, response.size());
-        final TableColumnUnit unit0 = response.get(0);
-        assertEquals(UNIT_1_URI, unit0.getUri());
-        assertEquals(UNIT_1_NAME, unit0.getName());
-        assertEquals(UNIT_1_DESCRIPTION, unit0.getDescription());
-    }
-
-    @Test
-    public void saveUnit_exists_succeeds() {
-
-        /* mock */
-        when(unitIdxRepository.save(any(UnitDto.class)))
-                .thenReturn(UNIT_1_DTO);
-        when(tableColumnUnitRepository.save(any(TableColumnUnit.class)))
-                .thenReturn(UNIT_1);
-
-        /* test */
-        final TableColumnUnit response = semanticService.saveUnit(UNIT_1_SAVE_DTO);
-        assertEquals(UNIT_1_URI, response.getUri());
-        assertEquals(UNIT_1_NAME, response.getName());
-        assertEquals(UNIT_1_DESCRIPTION, response.getDescription());
-    }
-
-    @Test
-    public void saveUnit_succeeds() {
-
-        /* mock */
-        when(unitIdxRepository.save(any(UnitDto.class)))
-                .thenReturn(UNIT_2_DTO);
-        when(tableColumnUnitRepository.save(any(TableColumnUnit.class)))
-                .thenReturn(UNIT_2);
-
-        /* test */
-        final TableColumnUnit response = semanticService.saveUnit(UNIT_2_SAVE_DTO);
-        assertEquals(UNIT_2_URI, response.getUri());
-        assertEquals(UNIT_2_NAME, response.getName());
-        assertEquals(UNIT_2_DESCRIPTION, response.getDescription());
-    }
-
-    @Test
-    public void saveConcept_exists_succeeds() {
-
-        /* mock */
-        when(conceptIdxRepository.save(any(ConceptDto.class)))
-                .thenReturn(COLUMN_CONCEPT_TEMPERATURE_DTO);
-        when(tableColumnConceptRepository.save(any(TableColumnConcept.class)))
-                .thenReturn(COLUMN_CONCEPT_TEMPERATURE);
-
-        /* test */
-        final TableColumnConcept response = semanticService.saveConcept(COLUMN_CONCEPT_TEMPERATURE_SAVE_DTO);
-        assertEquals(COLUMN_CONCEPT_TEMPERATURE_URI, response.getUri());
-        assertEquals(COLUMN_CONCEPT_TEMPERATURE_NAME, response.getName());
-        assertEquals(COLUMN_CONCEPT_TEMPERATURE_DESCRIPTION, response.getDescription());
-    }
-
-    @Test
-    public void saveConcept_succeeds() {
-
-        /* mock */
-        when(conceptIdxRepository.save(any(ConceptDto.class)))
-                .thenReturn(COLUMN_CONCEPT_FAIR_DATA_DTO);
-        when(tableColumnConceptRepository.save(any(TableColumnConcept.class)))
-                .thenReturn(COLUMN_CONCEPT_FAIR_DATA);
-
-        /* test */
-        final TableColumnConcept response = semanticService.saveConcept(COLUMN_CONCEPT_FAIR_DATA_SAVE_DTO);
-        assertEquals(COLUMN_CONCEPT_FAIR_DATA_URI, response.getUri());
-        assertEquals(COLUMN_CONCEPT_FAIR_DATA_NAME, response.getName());
-        assertEquals(COLUMN_CONCEPT_FAIR_DATA_DESCRIPTION, response.getDescription());
-    }
-}
diff --git a/dbrepo-semantics-service/rest-service/src/test/java/at/tuwien/service/TableServiceIntegrationTest.java b/dbrepo-semantics-service/rest-service/src/test/java/at/tuwien/service/TableServiceIntegrationTest.java
deleted file mode 100644
index 29ef5b7c39..0000000000
--- a/dbrepo-semantics-service/rest-service/src/test/java/at/tuwien/service/TableServiceIntegrationTest.java
+++ /dev/null
@@ -1,85 +0,0 @@
-package at.tuwien.service;
-
-import at.tuwien.BaseUnitTest;
-import at.tuwien.api.semantics.EntityDto;
-import at.tuwien.api.semantics.TableColumnEntityDto;
-import at.tuwien.exception.QueryMalformedException;
-import at.tuwien.exception.TableColumnNotFoundException;
-import at.tuwien.exception.TableNotFoundException;
-import at.tuwien.repository.mdb.OntologyRepository;
-import at.tuwien.repository.mdb.TableColumnRepository;
-import at.tuwien.repository.mdb.TableRepository;
-import at.tuwien.repository.sdb.*;
-import lombok.extern.log4j.Log4j2;
-import org.apache.jena.sys.JenaSystem;
-import org.junit.jupiter.api.BeforeAll;
-import org.junit.jupiter.api.Test;
-import org.junit.jupiter.api.extension.ExtendWith;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.boot.test.context.SpringBootTest;
-import org.springframework.boot.test.mock.mockito.MockBean;
-import org.springframework.test.context.junit.jupiter.SpringExtension;
-
-import java.util.List;
-import java.util.Optional;
-
-import static org.junit.jupiter.api.Assertions.*;
-import static org.mockito.ArgumentMatchers.anyLong;
-import static org.mockito.Mockito.when;
-
-@Log4j2
-@SpringBootTest
-@ExtendWith(SpringExtension.class)
-public class TableServiceIntegrationTest extends BaseUnitTest {
-
-    @MockBean
-    private UnitIdxRepository unitIdxRepository;
-
-    @MockBean
-    private ConceptIdxRepository conceptIdxRepository;
-
-    @MockBean
-    private TableRepository tableRepository;
-
-    @MockBean
-    private OntologyRepository ontologyRepository;
-
-    @MockBean
-    private TableColumnRepository tableColumnRepository;
-
-    @Autowired
-    private TableService tableService;
-
-    @BeforeAll
-    public static void beforeAll() {
-        JenaSystem.init();
-    }
-
-    @Test
-    public void suggestTableSemantics_success() throws TableNotFoundException, QueryMalformedException {
-
-        /* mock */
-        when(tableRepository.findByDatabaseIdAndId(DATABASE_1_ID, TABLE_1_ID))
-                .thenReturn(Optional.of(TABLE_1));
-        when(ontologyRepository.findAll())
-                .thenReturn(List.of(ONTOLOGY_1, ONTOLOGY_2, ONTOLOGY_3, ONTOLOGY_4, ONTOLOGY_5));
-
-        /* test */
-        final List<EntityDto> response = tableService.suggestTableSemantics(DATABASE_1_ID, TABLE_1_ID);
-        assertNotNull(response);
-    }
-
-    @Test
-    public void suggestTableColumnSemantics_success() throws QueryMalformedException, TableColumnNotFoundException {
-
-        /* mock */
-        when(tableColumnRepository.findById(anyLong()))
-                .thenReturn(Optional.of(TABLE_1_COLUMNS.get(0)));
-        when(ontologyRepository.findAll())
-                .thenReturn(List.of(ONTOLOGY_1, ONTOLOGY_2, ONTOLOGY_3, ONTOLOGY_4, ONTOLOGY_5));
-
-        /* test */
-        final List<TableColumnEntityDto> response = tableService.suggestTableColumnSemantics(DATABASE_1_ID, TABLE_1_ID, COLUMN_1_1_ID);
-        assertNotNull(response);
-    }
-}
diff --git a/dbrepo-semantics-service/rest-service/src/test/java/at/tuwien/service/TableServiceUnitTest.java b/dbrepo-semantics-service/rest-service/src/test/java/at/tuwien/service/TableServiceUnitTest.java
deleted file mode 100644
index 23602062cf..0000000000
--- a/dbrepo-semantics-service/rest-service/src/test/java/at/tuwien/service/TableServiceUnitTest.java
+++ /dev/null
@@ -1,70 +0,0 @@
-package at.tuwien.service;
-
-import at.tuwien.BaseUnitTest;
-import at.tuwien.entities.database.table.Table;
-import at.tuwien.exception.TableNotFoundException;
-import at.tuwien.repository.mdb.TableRepository;
-import at.tuwien.repository.sdb.*;
-import lombok.extern.log4j.Log4j2;
-import org.apache.jena.sys.JenaSystem;
-import org.junit.jupiter.api.BeforeAll;
-import org.junit.jupiter.api.Test;
-import org.junit.jupiter.api.extension.ExtendWith;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.boot.test.context.SpringBootTest;
-import org.springframework.boot.test.mock.mockito.MockBean;
-import org.springframework.test.context.junit.jupiter.SpringExtension;
-
-import java.util.Optional;
-
-import static org.junit.jupiter.api.Assertions.assertEquals;
-import static org.junit.jupiter.api.Assertions.assertThrows;
-import static org.mockito.Mockito.when;
-
-@Log4j2
-@SpringBootTest
-@ExtendWith(SpringExtension.class)
-public class TableServiceUnitTest extends BaseUnitTest {
-
-    @MockBean
-    private UnitIdxRepository unitIdxRepository;
-
-    @MockBean
-    private ConceptIdxRepository conceptIdxRepository;
-
-    @MockBean
-    private TableRepository tableRepository;
-
-    @Autowired
-    private TableService tableService;
-
-    @BeforeAll
-    public static void beforeAll() {
-        JenaSystem.init();
-    }
-
-    @Test
-    public void find_success() throws TableNotFoundException {
-
-        /* mock */
-        when(tableRepository.findByDatabaseIdAndId(DATABASE_1_ID, TABLE_1_ID))
-                .thenReturn(Optional.of(TABLE_1));
-
-        /* test */
-        final Table response = tableService.find(DATABASE_1_ID, TABLE_1_ID);
-        assertEquals(TABLE_1_ID, response.getId());
-    }
-
-    @Test
-    public void find_fails() {
-
-        /* mock */
-        when(tableRepository.findByDatabaseIdAndId(DATABASE_1_ID, TABLE_1_ID))
-                .thenReturn(Optional.empty());
-
-        /* test */
-        assertThrows(TableNotFoundException.class, () -> {
-            tableService.find(DATABASE_1_ID, TABLE_1_ID);
-        });
-    }
-}
diff --git a/dbrepo-semantics-service/rest-service/src/test/resources/application.properties b/dbrepo-semantics-service/rest-service/src/test/resources/application.properties
deleted file mode 100644
index 302797747d..0000000000
--- a/dbrepo-semantics-service/rest-service/src/test/resources/application.properties
+++ /dev/null
@@ -1,28 +0,0 @@
-# enable local spring profile
-spring.profiles.active=local
-
-# disable discovery
-spring.cloud.discovery.enabled=false
-
-# disable cloud config and config discovery
-spring.cloud.config.discovery.enabled=false
-spring.cloud.config.enabled=false
-
-# internal datasource
-spring.datasource.driver-class-name=org.hsqldb.jdbc.JDBCDriver
-spring.datasource.url=jdbc:hsqldb:mem:testdb;db_close_delay=-1;sql.syntax_mys=true
-spring.jpa.database-platform=org.hibernate.dialect.HSQLDialect
-spring.datasource.username=root
-spring.datasource.password=dbrepo
-spring.sql.init.mode=always
-spring.sql.init.schema-locations=classpath*:init/schema.sql
-spring.jpa.hibernate.ddl-auto=create
-
-# log
-logging.level.org.hibernate.SQL=trace
-
-# rabbitmq
-spring.rabbitmq.host=dbrepo-broker-service
-spring.rabbitmq.virtual-host=/
-spring.rabbitmq.username=guest
-spring.rabbitmq.password=guest
\ No newline at end of file
diff --git a/dbrepo-semantics-service/rest-service/src/test/resources/init/schema.sql b/dbrepo-semantics-service/rest-service/src/test/resources/init/schema.sql
deleted file mode 100644
index f8482e47d5..0000000000
--- a/dbrepo-semantics-service/rest-service/src/test/resources/init/schema.sql
+++ /dev/null
@@ -1 +0,0 @@
-CREATE SCHEMA IF NOT EXISTS fda;
\ No newline at end of file
diff --git a/dbrepo-semantics-service/rest-service/src/test/resources/species/Species.sql b/dbrepo-semantics-service/rest-service/src/test/resources/species/Species.sql
deleted file mode 100644
index 957368fcc7..0000000000
--- a/dbrepo-semantics-service/rest-service/src/test/resources/species/Species.sql
+++ /dev/null
@@ -1,7 +0,0 @@
-/* https://sandbox.zenodo.org/api/files/6aca3421-add3-489b-8c4a-35228fe5c683/species_id.csv */
-CREATE TABLE maldi_ms_data
-(
-    qu      VARCHAR(255) NOT NULL,
-    species VARCHAR(255) NOT NULL,
-    score   VARCHAR(255) NOT NULL
-) WITH SYSTEM VERSIONING;
\ No newline at end of file
diff --git a/dbrepo-semantics-service/rest-service/src/test/resources/traffic/TrafficCh.sql b/dbrepo-semantics-service/rest-service/src/test/resources/traffic/TrafficCh.sql
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/dbrepo-semantics-service/rest-service/src/test/resources/weather/WeatherAus.sql b/dbrepo-semantics-service/rest-service/src/test/resources/weather/WeatherAus.sql
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/dbrepo-semantics-service/services/pom.xml b/dbrepo-semantics-service/services/pom.xml
deleted file mode 100644
index b1ee2e0ce7..0000000000
--- a/dbrepo-semantics-service/services/pom.xml
+++ /dev/null
@@ -1,42 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<project xmlns="http://maven.apache.org/POM/4.0.0"
-         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
-    <modelVersion>4.0.0</modelVersion>
-    <parent>
-        <artifactId>dbrepo-semantics-service</artifactId>
-        <groupId>at.tuwien</groupId>
-        <version>1.3.0</version>
-    </parent>
-
-    <artifactId>services</artifactId>
-    <version>1.3.0</version>
-    <name>dbrepo-semantics-service-services</name>
-
-    <build>
-        <plugins>
-            <plugin>
-                <groupId>org.apache.maven.plugins</groupId>
-                <artifactId>maven-compiler-plugin</artifactId>
-                <configuration>
-                    <source>${java.version}</source>
-                    <target>${java.version}</target>
-                    <annotationProcessorPaths>
-                        <path>
-                            <groupId>org.projectlombok</groupId>
-                            <artifactId>lombok</artifactId>
-                            <version>${lombok.version}</version>
-                        </path>
-                        <!-- keep this order https://stackoverflow.com/questions/47676369/mapstruct-and-lombok-not-working-together#answer-65021876 -->
-                        <path>
-                            <groupId>org.mapstruct</groupId>
-                            <artifactId>mapstruct-processor</artifactId>
-                            <version>${mapstruct.version}</version>
-                        </path>
-                    </annotationProcessorPaths>
-                </configuration>
-            </plugin>
-        </plugins>
-    </build>
-
-</project>
\ No newline at end of file
diff --git a/dbrepo-semantics-service/services/src/main/java/at/tuwien/auth/AuthTokenFilter.java b/dbrepo-semantics-service/services/src/main/java/at/tuwien/auth/AuthTokenFilter.java
deleted file mode 100644
index 92b60f4f8a..0000000000
--- a/dbrepo-semantics-service/services/src/main/java/at/tuwien/auth/AuthTokenFilter.java
+++ /dev/null
@@ -1,100 +0,0 @@
-package at.tuwien.auth;
-
-import at.tuwien.api.auth.RealmAccessDto;
-import at.tuwien.api.user.UserDetailsDto;
-import com.auth0.jwt.JWT;
-import com.auth0.jwt.JWTVerifier;
-import com.auth0.jwt.algorithms.Algorithm;
-import com.auth0.jwt.interfaces.DecodedJWT;
-import jakarta.servlet.FilterChain;
-import jakarta.servlet.ServletException;
-import jakarta.servlet.http.HttpServletRequest;
-import jakarta.servlet.http.HttpServletResponse;
-import lombok.extern.slf4j.Slf4j;
-import org.springframework.beans.factory.annotation.Value;
-import org.springframework.security.authentication.UsernamePasswordAuthenticationToken;
-import org.springframework.security.core.authority.SimpleGrantedAuthority;
-import org.springframework.security.core.context.SecurityContextHolder;
-import org.springframework.security.core.userdetails.UserDetails;
-import org.springframework.security.web.authentication.WebAuthenticationDetailsSource;
-import org.springframework.util.StringUtils;
-import org.springframework.web.filter.OncePerRequestFilter;
-
-import java.io.IOException;
-import java.security.KeyFactory;
-import java.security.NoSuchAlgorithmException;
-import java.security.interfaces.RSAPublicKey;
-import java.security.spec.InvalidKeySpecException;
-import java.security.spec.X509EncodedKeySpec;
-import java.util.Arrays;
-import java.util.Base64;
-import java.util.stream.Collectors;
-
-@Slf4j
-public class AuthTokenFilter extends OncePerRequestFilter {
-
-    @Value("${fda.jwt.issuer}")
-    private String issuer;
-
-    @Value("${fda.jwt.public_key}")
-    private String publicKey;
-
-    @Override
-    protected void doFilterInternal(HttpServletRequest request, HttpServletResponse response, FilterChain filterChain)
-            throws ServletException, IOException {
-        final String jwt = parseJwt(request);
-        if (jwt != null) {
-            final UserDetails userDetails = verifyJwt(jwt);
-            log.debug("authenticated user {}", userDetails);
-            final UsernamePasswordAuthenticationToken authentication = new UsernamePasswordAuthenticationToken(
-                    userDetails, null, userDetails.getAuthorities());
-            authentication.setDetails(new WebAuthenticationDetailsSource().buildDetails(request));
-
-            SecurityContextHolder.getContext().setAuthentication(authentication);
-        }
-        filterChain.doFilter(request, response);
-    }
-
-    public UserDetails verifyJwt(String token) throws ServletException {
-        final KeyFactory kf;
-        try {
-            kf = KeyFactory.getInstance("RSA");
-        } catch (NoSuchAlgorithmException e) {
-            log.error("Failed to find RSA algorithm");
-            throw new ServletException("Failed to find RSA algorithm", e);
-        }
-        final X509EncodedKeySpec keySpecX509 = new X509EncodedKeySpec(Base64.getDecoder().decode(publicKey));
-        final RSAPublicKey pubKey;
-        try {
-            pubKey = (RSAPublicKey) kf.generatePublic(keySpecX509);
-        } catch (InvalidKeySpecException e) {
-            log.error("Provided public key is invalid");
-            throw new ServletException("Provided public key is invalid", e);
-        }
-        final Algorithm algorithm = Algorithm.RSA256(pubKey, null);
-        JWTVerifier verifier = JWT.require(algorithm)
-                .withIssuer(issuer)
-                .withAudience("spring")
-                .build();
-        final DecodedJWT jwt = verifier.verify(token);
-        final RealmAccessDto realmAccess = jwt.getClaim("realm_access").as(RealmAccessDto.class);
-        return UserDetailsDto.builder()
-                .username(jwt.getClaim("client_id").asString())
-                .authorities(Arrays.stream(realmAccess.getRoles()).map(SimpleGrantedAuthority::new).collect(Collectors.toList()))
-                .build();
-    }
-
-    /**
-     * Parses the token from the HTTP header of the request
-     *
-     * @param request The request.
-     * @return The token.
-     */
-    public String parseJwt(HttpServletRequest request) {
-        String headerAuth = request.getHeader("Authorization");
-        if (StringUtils.hasText(headerAuth) && headerAuth.startsWith("Bearer ")) {
-            return headerAuth.substring(7, headerAuth.length());
-        }
-        return null;
-    }
-}
\ No newline at end of file
diff --git a/dbrepo-semantics-service/services/src/main/java/at/tuwien/config/GatewayConfig.java b/dbrepo-semantics-service/services/src/main/java/at/tuwien/config/GatewayConfig.java
deleted file mode 100644
index d89fef950a..0000000000
--- a/dbrepo-semantics-service/services/src/main/java/at/tuwien/config/GatewayConfig.java
+++ /dev/null
@@ -1,40 +0,0 @@
-package at.tuwien.config;
-
-import lombok.Getter;
-import org.springframework.beans.factory.annotation.Value;
-import org.springframework.context.annotation.Bean;
-import org.springframework.context.annotation.Configuration;
-import org.springframework.http.client.support.BasicAuthenticationInterceptor;
-import org.springframework.web.client.RestTemplate;
-import org.springframework.web.util.DefaultUriBuilderFactory;
-
-@Getter
-@Configuration
-public class GatewayConfig {
-
-    @Value("${fda.gateway.endpoint}")
-    private String gatewayEndpoint;
-
-    @Value("${spring.rabbitmq.username}")
-    private String brokerUsername;
-
-    @Value("${spring.rabbitmq.password}")
-    private String brokerPassword;
-
-    @Bean
-    public RestTemplate restTemplate() {
-        final RestTemplate restTemplate =  new RestTemplate();
-        restTemplate.setUriTemplateHandler(new DefaultUriBuilderFactory(gatewayEndpoint));
-        return restTemplate;
-    }
-
-    @Bean("brokerRestTemplate")
-    public RestTemplate brokerRestTemplate() {
-        final RestTemplate restTemplate = new RestTemplate();
-        restTemplate.setUriTemplateHandler(new DefaultUriBuilderFactory(gatewayEndpoint));
-        restTemplate.getInterceptors()
-                .add(new BasicAuthenticationInterceptor(brokerUsername, brokerPassword));
-        return restTemplate;
-    }
-
-}
diff --git a/dbrepo-semantics-service/services/src/main/java/at/tuwien/config/JacksonConfig.java b/dbrepo-semantics-service/services/src/main/java/at/tuwien/config/JacksonConfig.java
deleted file mode 100644
index c4944a4691..0000000000
--- a/dbrepo-semantics-service/services/src/main/java/at/tuwien/config/JacksonConfig.java
+++ /dev/null
@@ -1,30 +0,0 @@
-package at.tuwien.config;
-
-import com.fasterxml.jackson.core.JsonProcessingException;
-import com.fasterxml.jackson.databind.ObjectMapper;
-import com.fasterxml.jackson.databind.SerializationFeature;
-import com.fasterxml.jackson.datatype.jdk8.Jdk8Module;
-import com.fasterxml.jackson.datatype.jsr310.JavaTimeModule;
-import lombok.extern.slf4j.Slf4j;
-import org.springframework.context.annotation.Bean;
-import org.springframework.context.annotation.Configuration;
-
-import java.util.Date;
-import java.util.TimeZone;
-
-@Slf4j
-@Configuration
-public class JacksonConfig {
-
-    @Bean
-    public ObjectMapper objectMapper() throws JsonProcessingException {
-        final ObjectMapper objectMapper = new ObjectMapper();
-        objectMapper.registerModule(new Jdk8Module());
-        objectMapper.registerModule(new JavaTimeModule());
-        objectMapper.configure(SerializationFeature.WRITE_DATES_AS_TIMESTAMPS, false);
-        objectMapper.setTimeZone(TimeZone.getTimeZone("UTC"));
-        log.debug("current time is {}", objectMapper.writeValueAsString(new Date()));
-        return objectMapper;
-    }
-
-}
diff --git a/dbrepo-semantics-service/services/src/main/java/at/tuwien/config/OpenSearchConfig.java b/dbrepo-semantics-service/services/src/main/java/at/tuwien/config/OpenSearchConfig.java
deleted file mode 100644
index 48f9f2eeda..0000000000
--- a/dbrepo-semantics-service/services/src/main/java/at/tuwien/config/OpenSearchConfig.java
+++ /dev/null
@@ -1,61 +0,0 @@
-package at.tuwien.config;
-
-import lombok.extern.log4j.Log4j2;
-import org.apache.http.HttpHost;
-import org.apache.http.auth.AuthScope;
-import org.apache.http.auth.UsernamePasswordCredentials;
-import org.apache.http.client.CredentialsProvider;
-import org.apache.http.impl.client.BasicCredentialsProvider;
-import org.opensearch.client.RestClient;
-import org.opensearch.client.RestClientBuilder;
-import org.opensearch.client.RestHighLevelClient;
-import org.opensearch.client.sniff.NodesSniffer;
-import org.opensearch.client.sniff.OpenSearchNodesSniffer;
-import org.opensearch.client.sniff.Sniffer;
-import org.opensearch.data.client.orhlc.AbstractOpenSearchConfiguration;
-import org.springframework.beans.factory.annotation.Value;
-import org.springframework.context.annotation.Bean;
-import org.springframework.context.annotation.Configuration;
-
-import java.util.concurrent.TimeUnit;
-
-@Log4j2
-@Configuration
-public class OpenSearchConfig extends AbstractOpenSearchConfiguration {
-
-    @Value("${spring.opensearch.host}")
-    private String openSearchHost;
-
-    @Value("${spring.opensearch.port}")
-    private Integer openSearchPort;
-
-    @Value("${spring.opensearch.protocol}")
-    private String openSearchProtocol;
-
-    @Value("${spring.opensearch.username}")
-    private String openSearchUsername;
-
-    @Value("${spring.opensearch.password}")
-    private String openSearchPassword;
-
-    @Bean
-    @Override
-    public RestHighLevelClient opensearchClient() {
-        log.debug("open search endpoint: {}://{}:{}", openSearchProtocol, openSearchHost, openSearchPort);
-        final CredentialsProvider credentialsProvider = new BasicCredentialsProvider();
-        credentialsProvider.setCredentials(AuthScope.ANY, new UsernamePasswordCredentials(openSearchUsername, openSearchPassword));
-        RestClientBuilder builder = RestClient.builder(new HttpHost(openSearchHost, openSearchPort, openSearchProtocol))
-                .setHttpClientConfigCallback(httpClientBuilder -> httpClientBuilder.setDefaultCredentialsProvider(credentialsProvider));
-        return new RestHighLevelClient(builder);
-    }
-
-    @Bean
-    public Sniffer nodesSniffer() {
-        final NodesSniffer nodesSniffer = new OpenSearchNodesSniffer(opensearchClient().getLowLevelClient(),
-                TimeUnit.SECONDS.toMillis(5), OpenSearchNodesSniffer.Scheme.HTTP);
-        return Sniffer.builder(opensearchClient().getLowLevelClient())
-                .setNodesSniffer(nodesSniffer)
-                .build();
-
-    }
-}
\ No newline at end of file
diff --git a/dbrepo-semantics-service/services/src/main/java/at/tuwien/config/WebSecurityConfig.java b/dbrepo-semantics-service/services/src/main/java/at/tuwien/config/WebSecurityConfig.java
deleted file mode 100644
index 8b4729dcf0..0000000000
--- a/dbrepo-semantics-service/services/src/main/java/at/tuwien/config/WebSecurityConfig.java
+++ /dev/null
@@ -1,96 +0,0 @@
-package at.tuwien.config;
-
-import at.tuwien.auth.AuthTokenFilter;
-import io.swagger.v3.oas.annotations.enums.SecuritySchemeType;
-import io.swagger.v3.oas.annotations.security.SecurityScheme;
-import org.springframework.context.annotation.Bean;
-import org.springframework.context.annotation.Configuration;
-import org.springframework.security.config.annotation.method.configuration.EnableGlobalMethodSecurity;
-import org.springframework.security.config.annotation.web.builders.HttpSecurity;
-import org.springframework.security.config.annotation.web.configuration.EnableWebSecurity;
-import org.springframework.security.config.http.SessionCreationPolicy;
-import org.springframework.security.web.SecurityFilterChain;
-import org.springframework.security.web.authentication.UsernamePasswordAuthenticationFilter;
-import org.springframework.security.web.util.matcher.AntPathRequestMatcher;
-import org.springframework.security.web.util.matcher.OrRequestMatcher;
-import org.springframework.web.cors.CorsConfiguration;
-import org.springframework.web.cors.UrlBasedCorsConfigurationSource;
-import org.springframework.web.filter.CorsFilter;
-
-import jakarta.servlet.http.HttpServletResponse;
-
-@Configuration
-@EnableWebSecurity
-@EnableGlobalMethodSecurity(prePostEnabled = true)
-@SecurityScheme(
-        name = "bearerAuth",
-        type = SecuritySchemeType.HTTP,
-        bearerFormat = "JWT",
-        scheme = "bearer"
-)
-public class WebSecurityConfig {
-
-    @Bean
-    public AuthTokenFilter authTokenFilter() {
-        return new AuthTokenFilter();
-    }
-
-    @Bean
-    public SecurityFilterChain filterChain(HttpSecurity http) throws Exception {
-        final OrRequestMatcher internalEndpoints = new OrRequestMatcher(
-                new AntPathRequestMatcher("/actuator/**", "GET"),
-                new AntPathRequestMatcher("/v3/api-docs.yaml"),
-                new AntPathRequestMatcher("/v3/api-docs/**"),
-                new AntPathRequestMatcher("/swagger-ui/**"),
-                new AntPathRequestMatcher("/swagger-ui.html")
-        );
-        final OrRequestMatcher publicEndpoints = new OrRequestMatcher(
-                new AntPathRequestMatcher("/api/semantic/ontology/**", "GET"),
-                new AntPathRequestMatcher("/api/semantic/concept", "GET"),
-                new AntPathRequestMatcher("/api/semantic/unit", "GET")
-        );
-        /* enable CORS and disable CSRF */
-        http = http.cors().and().csrf().disable();
-        /* set session management to stateless */
-        http = http
-                .sessionManagement()
-                .sessionCreationPolicy(SessionCreationPolicy.STATELESS)
-                .and();
-        /* set unauthorized requests exception handler */
-        http = http
-                .exceptionHandling()
-                .authenticationEntryPoint(
-                        (request, response, ex) -> {
-                            response.sendError(HttpServletResponse.SC_UNAUTHORIZED,
-                                    ex.getMessage()
-                            );
-                        }
-                ).and();
-        /* set permissions on endpoints */
-        http.authorizeHttpRequests()
-                /* our internal endpoints */
-                .requestMatchers(internalEndpoints).permitAll()
-                /* our public endpoints */
-                .requestMatchers(publicEndpoints).permitAll()
-                /* our private endpoints */
-                .anyRequest().authenticated();
-        /* add JWT token filter */
-        http.addFilterBefore(authTokenFilter(),
-                UsernamePasswordAuthenticationFilter.class
-        );
-        return http.build();
-    }
-
-    @Bean
-    public CorsFilter corsFilter() {
-        final UrlBasedCorsConfigurationSource source = new UrlBasedCorsConfigurationSource();
-        final CorsConfiguration config = new CorsConfiguration();
-        config.setAllowCredentials(true);
-        config.addAllowedOriginPattern("*");
-        config.addAllowedHeader("*");
-        config.addAllowedMethod("*");
-        source.registerCorsConfiguration("/**", config);
-        return new CorsFilter(source);
-    }
-
-}
diff --git a/dbrepo-semantics-service/services/src/main/java/at/tuwien/exception/FilterBadRequestException.java b/dbrepo-semantics-service/services/src/main/java/at/tuwien/exception/FilterBadRequestException.java
deleted file mode 100644
index 7364f797a3..0000000000
--- a/dbrepo-semantics-service/services/src/main/java/at/tuwien/exception/FilterBadRequestException.java
+++ /dev/null
@@ -1,21 +0,0 @@
-package at.tuwien.exception;
-
-import org.springframework.http.HttpStatus;
-import org.springframework.web.bind.annotation.ResponseStatus;
-
-@ResponseStatus(code = HttpStatus.BAD_REQUEST)
-public class FilterBadRequestException extends Exception {
-
-    public FilterBadRequestException(String msg) {
-        super(msg);
-    }
-
-    public FilterBadRequestException(String msg, Throwable thr) {
-        super(msg, thr);
-    }
-
-    public FilterBadRequestException(Throwable thr) {
-        super(thr);
-    }
-
-}
diff --git a/dbrepo-semantics-service/services/src/main/java/at/tuwien/exception/OntologyNotFoundException.java b/dbrepo-semantics-service/services/src/main/java/at/tuwien/exception/OntologyNotFoundException.java
deleted file mode 100644
index cb82fc0b9a..0000000000
--- a/dbrepo-semantics-service/services/src/main/java/at/tuwien/exception/OntologyNotFoundException.java
+++ /dev/null
@@ -1,21 +0,0 @@
-package at.tuwien.exception;
-
-import org.springframework.http.HttpStatus;
-import org.springframework.web.bind.annotation.ResponseStatus;
-
-@ResponseStatus(code = HttpStatus.NOT_FOUND)
-public class OntologyNotFoundException extends Exception {
-
-    public OntologyNotFoundException(String msg) {
-        super(msg);
-    }
-
-    public OntologyNotFoundException(String msg, Throwable thr) {
-        super(msg, thr);
-    }
-
-    public OntologyNotFoundException(Throwable thr) {
-        super(thr);
-    }
-
-}
diff --git a/dbrepo-semantics-service/services/src/main/java/at/tuwien/exception/QueryMalformedException.java b/dbrepo-semantics-service/services/src/main/java/at/tuwien/exception/QueryMalformedException.java
deleted file mode 100644
index 751bc2fb7a..0000000000
--- a/dbrepo-semantics-service/services/src/main/java/at/tuwien/exception/QueryMalformedException.java
+++ /dev/null
@@ -1,21 +0,0 @@
-package at.tuwien.exception;
-
-import org.springframework.http.HttpStatus;
-import org.springframework.web.bind.annotation.ResponseStatus;
-
-@ResponseStatus(code = HttpStatus.EXPECTATION_FAILED)
-public class QueryMalformedException extends Exception {
-
-    public QueryMalformedException(String msg) {
-        super(msg);
-    }
-
-    public QueryMalformedException(String msg, Throwable thr) {
-        super(msg, thr);
-    }
-
-    public QueryMalformedException(Throwable thr) {
-        super(thr);
-    }
-
-}
diff --git a/dbrepo-semantics-service/services/src/main/java/at/tuwien/exception/TableColumnNotFoundException.java b/dbrepo-semantics-service/services/src/main/java/at/tuwien/exception/TableColumnNotFoundException.java
deleted file mode 100644
index e83abd5eef..0000000000
--- a/dbrepo-semantics-service/services/src/main/java/at/tuwien/exception/TableColumnNotFoundException.java
+++ /dev/null
@@ -1,21 +0,0 @@
-package at.tuwien.exception;
-
-import org.springframework.http.HttpStatus;
-import org.springframework.web.bind.annotation.ResponseStatus;
-
-@ResponseStatus(code = HttpStatus.NOT_FOUND)
-public class TableColumnNotFoundException extends Exception {
-
-    public TableColumnNotFoundException(String msg) {
-        super(msg);
-    }
-
-    public TableColumnNotFoundException(String msg, Throwable thr) {
-        super(msg, thr);
-    }
-
-    public TableColumnNotFoundException(Throwable thr) {
-        super(thr);
-    }
-
-}
diff --git a/dbrepo-semantics-service/services/src/main/java/at/tuwien/exception/TableNotFoundException.java b/dbrepo-semantics-service/services/src/main/java/at/tuwien/exception/TableNotFoundException.java
deleted file mode 100644
index 89fa3ed467..0000000000
--- a/dbrepo-semantics-service/services/src/main/java/at/tuwien/exception/TableNotFoundException.java
+++ /dev/null
@@ -1,21 +0,0 @@
-package at.tuwien.exception;
-
-import org.springframework.http.HttpStatus;
-import org.springframework.web.bind.annotation.ResponseStatus;
-
-@ResponseStatus(code = HttpStatus.NOT_FOUND)
-public class TableNotFoundException extends Exception {
-
-    public TableNotFoundException(String msg) {
-        super(msg);
-    }
-
-    public TableNotFoundException(String msg, Throwable thr) {
-        super(msg, thr);
-    }
-
-    public TableNotFoundException(Throwable thr) {
-        super(thr);
-    }
-
-}
diff --git a/dbrepo-semantics-service/services/src/main/java/at/tuwien/exception/UriMalformedException.java b/dbrepo-semantics-service/services/src/main/java/at/tuwien/exception/UriMalformedException.java
deleted file mode 100644
index 92f102fb56..0000000000
--- a/dbrepo-semantics-service/services/src/main/java/at/tuwien/exception/UriMalformedException.java
+++ /dev/null
@@ -1,21 +0,0 @@
-package at.tuwien.exception;
-
-import org.springframework.http.HttpStatus;
-import org.springframework.web.bind.annotation.ResponseStatus;
-
-@ResponseStatus(code = HttpStatus.EXPECTATION_FAILED)
-public class UriMalformedException extends Exception {
-
-    public UriMalformedException(String msg) {
-        super(msg);
-    }
-
-    public UriMalformedException(String msg, Throwable thr) {
-        super(msg, thr);
-    }
-
-    public UriMalformedException(Throwable thr) {
-        super(thr);
-    }
-
-}
diff --git a/dbrepo-semantics-service/services/src/main/java/at/tuwien/exception/UserNotFoundException.java b/dbrepo-semantics-service/services/src/main/java/at/tuwien/exception/UserNotFoundException.java
deleted file mode 100644
index f758f7ddf3..0000000000
--- a/dbrepo-semantics-service/services/src/main/java/at/tuwien/exception/UserNotFoundException.java
+++ /dev/null
@@ -1,21 +0,0 @@
-package at.tuwien.exception;
-
-import org.springframework.http.HttpStatus;
-import org.springframework.web.bind.annotation.ResponseStatus;
-
-@ResponseStatus(code = HttpStatus.NOT_FOUND)
-public class UserNotFoundException extends Exception {
-
-    public UserNotFoundException(String msg) {
-        super(msg);
-    }
-
-    public UserNotFoundException(String msg, Throwable thr) {
-        super(msg, thr);
-    }
-
-    public UserNotFoundException(Throwable thr) {
-        super(thr);
-    }
-
-}
diff --git a/dbrepo-semantics-service/services/src/main/java/at/tuwien/mapper/OntologyMapper.java b/dbrepo-semantics-service/services/src/main/java/at/tuwien/mapper/OntologyMapper.java
deleted file mode 100644
index 4d36f77a67..0000000000
--- a/dbrepo-semantics-service/services/src/main/java/at/tuwien/mapper/OntologyMapper.java
+++ /dev/null
@@ -1,119 +0,0 @@
-package at.tuwien.mapper;
-
-import at.tuwien.api.database.table.columns.concepts.*;
-import at.tuwien.api.semantics.OntologyBriefDto;
-import at.tuwien.api.semantics.OntologyCreateDto;
-import at.tuwien.api.semantics.OntologyDto;
-import at.tuwien.entities.database.table.columns.TableColumnConcept;
-import at.tuwien.entities.database.table.columns.TableColumnUnit;
-import at.tuwien.entities.semantics.Ontology;
-import org.mapstruct.Mapper;
-import org.mapstruct.Mapping;
-import org.mapstruct.Mappings;
-
-import java.util.List;
-
-
-@Mapper(componentModel = "spring")
-public interface OntologyMapper {
-
-    org.slf4j.Logger log = org.slf4j.LoggerFactory.getLogger(OntologyMapper.class);
-
-    @Mappings({
-            @Mapping(target = "rdf", expression = "java(true)"),
-            @Mapping(target = "sparql", expression = "java(data.getSparqlEndpoint() != null)")
-    })
-    OntologyDto ontologyToOntologyDto(Ontology data);
-
-    @Mappings({
-            @Mapping(target = "rdf", expression = "java(true)"),
-            @Mapping(target = "sparql", expression = "java(data.getSparqlEndpoint() != null)")
-    })
-    OntologyBriefDto ontologyToOntologyBriefDto(Ontology data);
-
-    Ontology ontologyCreateDtoToOntology(OntologyCreateDto data);
-
-    ConceptDto tableColumnConceptToConceptDto(TableColumnConcept data);
-
-    UnitDto tableColumnUnitToUnitDto(TableColumnUnit data);
-
-    TableColumnUnit unitSaveDtoToTableColumnUnit(UnitSaveDto data);
-
-    TableColumnConcept conceptSaveDtoToTableColumnConcept(ConceptSaveDto data);
-
-    default String defaultNamespaces(List<Ontology> data) {
-        return String.join("\n",
-                data.stream()
-                        .map(o -> "PREFIX " + o.getPrefix() + ": <" + o.getUri() + ">")
-                        .toList());
-    }
-
-    default String ontologyToFindByLabelQuery(List<Ontology> ontologies, Ontology ontology, String label, Integer limit) {
-        if (ontology.getSparqlEndpoint() != null) {
-            /* prefer SPARQL endpoint over rdf */
-            return String.join("\n",
-                    defaultNamespaces(ontologies),
-                    "SELECT * {",
-                    "  SERVICE <" + ontology.getSparqlEndpoint() + "> {",
-                    "    SELECT ?o ?label ?description {",
-                    "      ?o rdfs:label \"" + label.replace("\"", "") + "\"@en .",
-                    "      ?o rdfs:label ?label .",
-                    "      FILTER (LANG(?label) = 'en')",
-                    "      OPTIONAL {",
-                    "        ?o schema:description ?description",
-                    "        FILTER (LANG(?description) = 'en')",
-                    "      }",
-                    "    } LIMIT " + limit,
-                    "  }",
-                    "}");
-        }
-        return String.join("\n",
-                defaultNamespaces(ontologies),
-                "SELECT ?o ?label ?comment {",
-                "  ?o rdfs:label \"" + label.replace("\"", "") + "\"@en .",
-                "  OPTIONAL {",
-                "    ?o rdfs:label ?label",
-                "    FILTER (LANG(?label) = 'en')",
-                "  }",
-                "  OPTIONAL {",
-                "    ?o schema:description ?description",
-                "    FILTER (LANG(?description) = 'en')",
-                "  }",
-                "} LIMIT " + limit);
-    }
-
-    default String ontologyToFindByUriQuery(List<Ontology> ontologies, Ontology ontology, String uri) {
-        if (ontology.getSparqlEndpoint() != null) {
-            /* prefer SPARQL endpoint over rdf */
-            return String.join("\n",
-                    defaultNamespaces(ontologies),
-                    "SELECT * {",
-                    "  SERVICE <" + ontology.getSparqlEndpoint() + "> {",
-                    "    SELECT ?label ?description {",
-                    "      OPTIONAL {",
-                    "        <" + uri + "> rdfs:label ?label",
-                    "        FILTER (LANG(?label) = 'en')",
-                    "      }",
-                    "      OPTIONAL {",
-                    "        <" + uri + "> schema:description ?description",
-                    "        FILTER (LANG(?description) = 'en')",
-                    "      }",
-                    "     } LIMIT 1",
-                    "  }",
-                    "}");
-        }
-        return String.join("\n",
-                defaultNamespaces(ontologies),
-                "SELECT ?label ?description {",
-                "  OPTIONAL {",
-                "    <" + uri + "> rdfs:label ?label",
-                "    FILTER (LANG(?label) = 'en')",
-                "  }",
-                "  OPTIONAL {",
-                "    <" + uri + "> schema:description ?description",
-                "    FILTER (LANG(?description) = 'en')",
-                "  }",
-                "} LIMIT 1");
-    }
-
-}
diff --git a/dbrepo-semantics-service/services/src/main/java/at/tuwien/mapper/SemanticMapper.java b/dbrepo-semantics-service/services/src/main/java/at/tuwien/mapper/SemanticMapper.java
deleted file mode 100644
index 95c56e0a5c..0000000000
--- a/dbrepo-semantics-service/services/src/main/java/at/tuwien/mapper/SemanticMapper.java
+++ /dev/null
@@ -1,18 +0,0 @@
-package at.tuwien.mapper;
-
-import at.tuwien.api.database.table.columns.concepts.ConceptDto;
-import at.tuwien.api.database.table.columns.concepts.UnitDto;
-import at.tuwien.entities.database.table.columns.TableColumnConcept;
-import at.tuwien.entities.database.table.columns.TableColumnUnit;
-import org.mapstruct.Mapper;
-
-
-@Mapper(componentModel = "spring", uses = {TableMapper.class})
-public interface SemanticMapper {
-
-    org.slf4j.Logger log = org.slf4j.LoggerFactory.getLogger(SemanticMapper.class);
-
-    ConceptDto tableColumnConceptToConceptDto(TableColumnConcept data);
-
-    UnitDto tableColumnUnitToUnitDto(TableColumnUnit data);
-}
diff --git a/dbrepo-semantics-service/services/src/main/java/at/tuwien/mapper/TableMapper.java b/dbrepo-semantics-service/services/src/main/java/at/tuwien/mapper/TableMapper.java
deleted file mode 100644
index de566881e5..0000000000
--- a/dbrepo-semantics-service/services/src/main/java/at/tuwien/mapper/TableMapper.java
+++ /dev/null
@@ -1,25 +0,0 @@
-package at.tuwien.mapper;
-
-import at.tuwien.api.database.table.columns.ColumnBriefDto;
-import at.tuwien.api.database.table.columns.ColumnDto;
-import at.tuwien.entities.database.table.columns.TableColumn;
-import org.mapstruct.Mapper;
-import org.mapstruct.Mapping;
-import org.mapstruct.Mappings;
-
-
-@Mapper(componentModel = "spring")
-public interface TableMapper {
-
-    org.slf4j.Logger log = org.slf4j.LoggerFactory.getLogger(TableMapper.class);
-
-    @Mappings({
-            @Mapping(target = "tableId", source = "table.id"),
-    })
-    ColumnBriefDto tableColumnToColumnBriefDto(TableColumn data);
-
-    @Mappings({
-            @Mapping(target = "tableId", source = "table.id"),
-    })
-    ColumnDto tableColumnToColumnDto(TableColumn data);
-}
diff --git a/dbrepo-semantics-service/services/src/main/java/at/tuwien/repository/mdb/ContainerRepository.java b/dbrepo-semantics-service/services/src/main/java/at/tuwien/repository/mdb/ContainerRepository.java
deleted file mode 100644
index f41d2aa3fa..0000000000
--- a/dbrepo-semantics-service/services/src/main/java/at/tuwien/repository/mdb/ContainerRepository.java
+++ /dev/null
@@ -1,10 +0,0 @@
-package at.tuwien.repository.mdb;
-
-import at.tuwien.entities.container.Container;
-import org.springframework.data.jpa.repository.JpaRepository;
-import org.springframework.stereotype.Repository;
-
-@Repository
-public interface ContainerRepository extends JpaRepository<Container, Long> {
-
-}
diff --git a/dbrepo-semantics-service/services/src/main/java/at/tuwien/repository/mdb/DatabaseRepository.java b/dbrepo-semantics-service/services/src/main/java/at/tuwien/repository/mdb/DatabaseRepository.java
deleted file mode 100644
index c11a773abc..0000000000
--- a/dbrepo-semantics-service/services/src/main/java/at/tuwien/repository/mdb/DatabaseRepository.java
+++ /dev/null
@@ -1,10 +0,0 @@
-package at.tuwien.repository.mdb;
-
-import at.tuwien.entities.database.Database;
-import org.springframework.data.jpa.repository.JpaRepository;
-import org.springframework.stereotype.Repository;
-
-@Repository
-public interface DatabaseRepository extends JpaRepository<Database, Long> {
-
-}
diff --git a/dbrepo-semantics-service/services/src/main/java/at/tuwien/repository/mdb/ImageRepository.java b/dbrepo-semantics-service/services/src/main/java/at/tuwien/repository/mdb/ImageRepository.java
deleted file mode 100644
index 046fd51c3e..0000000000
--- a/dbrepo-semantics-service/services/src/main/java/at/tuwien/repository/mdb/ImageRepository.java
+++ /dev/null
@@ -1,10 +0,0 @@
-package at.tuwien.repository.mdb;
-
-import at.tuwien.entities.container.image.ContainerImage;
-import org.springframework.data.jpa.repository.JpaRepository;
-import org.springframework.stereotype.Repository;
-
-@Repository
-public interface ImageRepository extends JpaRepository<ContainerImage, Long> {
-
-}
diff --git a/dbrepo-semantics-service/services/src/main/java/at/tuwien/repository/mdb/OntologyRepository.java b/dbrepo-semantics-service/services/src/main/java/at/tuwien/repository/mdb/OntologyRepository.java
deleted file mode 100644
index fab911633e..0000000000
--- a/dbrepo-semantics-service/services/src/main/java/at/tuwien/repository/mdb/OntologyRepository.java
+++ /dev/null
@@ -1,10 +0,0 @@
-package at.tuwien.repository.mdb;
-
-import at.tuwien.entities.semantics.Ontology;
-import org.springframework.data.jpa.repository.JpaRepository;
-import org.springframework.stereotype.Repository;
-
-@Repository
-public interface OntologyRepository extends JpaRepository<Ontology, Long> {
-
-}
diff --git a/dbrepo-semantics-service/services/src/main/java/at/tuwien/repository/mdb/RealmRepository.java b/dbrepo-semantics-service/services/src/main/java/at/tuwien/repository/mdb/RealmRepository.java
deleted file mode 100644
index 7b53e72459..0000000000
--- a/dbrepo-semantics-service/services/src/main/java/at/tuwien/repository/mdb/RealmRepository.java
+++ /dev/null
@@ -1,12 +0,0 @@
-package at.tuwien.repository.mdb;
-
-import at.tuwien.entities.user.Realm;
-import org.springframework.data.jpa.repository.JpaRepository;
-import org.springframework.stereotype.Repository;
-
-import java.util.UUID;
-
-@Repository
-public interface RealmRepository extends JpaRepository<Realm, UUID> {
-
-}
diff --git a/dbrepo-semantics-service/services/src/main/java/at/tuwien/repository/mdb/TableColumnConceptRepository.java b/dbrepo-semantics-service/services/src/main/java/at/tuwien/repository/mdb/TableColumnConceptRepository.java
deleted file mode 100644
index 63fe90eea7..0000000000
--- a/dbrepo-semantics-service/services/src/main/java/at/tuwien/repository/mdb/TableColumnConceptRepository.java
+++ /dev/null
@@ -1,10 +0,0 @@
-package at.tuwien.repository.mdb;
-
-import at.tuwien.entities.database.table.columns.TableColumnConcept;
-import org.springframework.data.jpa.repository.JpaRepository;
-import org.springframework.stereotype.Repository;
-
-@Repository
-public interface TableColumnConceptRepository extends JpaRepository<TableColumnConcept, String> {
-
-}
diff --git a/dbrepo-semantics-service/services/src/main/java/at/tuwien/repository/mdb/TableColumnRepository.java b/dbrepo-semantics-service/services/src/main/java/at/tuwien/repository/mdb/TableColumnRepository.java
deleted file mode 100644
index 004f202d03..0000000000
--- a/dbrepo-semantics-service/services/src/main/java/at/tuwien/repository/mdb/TableColumnRepository.java
+++ /dev/null
@@ -1,10 +0,0 @@
-package at.tuwien.repository.mdb;
-
-import at.tuwien.entities.database.table.columns.TableColumn;
-import org.springframework.data.jpa.repository.JpaRepository;
-import org.springframework.stereotype.Repository;
-
-@Repository
-public interface TableColumnRepository extends JpaRepository<TableColumn, Long> {
-
-}
diff --git a/dbrepo-semantics-service/services/src/main/java/at/tuwien/repository/mdb/TableColumnUnitRepository.java b/dbrepo-semantics-service/services/src/main/java/at/tuwien/repository/mdb/TableColumnUnitRepository.java
deleted file mode 100644
index ef80b22e06..0000000000
--- a/dbrepo-semantics-service/services/src/main/java/at/tuwien/repository/mdb/TableColumnUnitRepository.java
+++ /dev/null
@@ -1,10 +0,0 @@
-package at.tuwien.repository.mdb;
-
-import at.tuwien.entities.database.table.columns.TableColumnUnit;
-import org.springframework.data.jpa.repository.JpaRepository;
-import org.springframework.stereotype.Repository;
-
-@Repository
-public interface TableColumnUnitRepository extends JpaRepository<TableColumnUnit, String> {
-
-}
diff --git a/dbrepo-semantics-service/services/src/main/java/at/tuwien/repository/mdb/TableRepository.java b/dbrepo-semantics-service/services/src/main/java/at/tuwien/repository/mdb/TableRepository.java
deleted file mode 100644
index 051a51f943..0000000000
--- a/dbrepo-semantics-service/services/src/main/java/at/tuwien/repository/mdb/TableRepository.java
+++ /dev/null
@@ -1,14 +0,0 @@
-package at.tuwien.repository.mdb;
-
-import at.tuwien.entities.database.table.Table;
-import org.springframework.data.jpa.repository.JpaRepository;
-import org.springframework.stereotype.Repository;
-
-import java.util.Optional;
-
-@Repository
-public interface TableRepository extends JpaRepository<Table, Long> {
-
-    Optional<Table> findByDatabaseIdAndId(Long databaseId, Long tableId);
-
-}
diff --git a/dbrepo-semantics-service/services/src/main/java/at/tuwien/repository/mdb/UserRepository.java b/dbrepo-semantics-service/services/src/main/java/at/tuwien/repository/mdb/UserRepository.java
deleted file mode 100644
index 42d09c3e9e..0000000000
--- a/dbrepo-semantics-service/services/src/main/java/at/tuwien/repository/mdb/UserRepository.java
+++ /dev/null
@@ -1,15 +0,0 @@
-package at.tuwien.repository.mdb;
-
-import at.tuwien.entities.user.User;
-import org.springframework.data.jpa.repository.JpaRepository;
-import org.springframework.stereotype.Repository;
-
-import java.util.Optional;
-import java.util.UUID;
-
-@Repository
-public interface UserRepository extends JpaRepository<User, UUID> {
-
-    Optional<User> findByUsername(String username);
-
-}
diff --git a/dbrepo-semantics-service/services/src/main/java/at/tuwien/repository/sdb/ConceptIdxRepository.java b/dbrepo-semantics-service/services/src/main/java/at/tuwien/repository/sdb/ConceptIdxRepository.java
deleted file mode 100644
index a311002ac3..0000000000
--- a/dbrepo-semantics-service/services/src/main/java/at/tuwien/repository/sdb/ConceptIdxRepository.java
+++ /dev/null
@@ -1,9 +0,0 @@
-package at.tuwien.repository.sdb;
-
-import at.tuwien.api.database.table.columns.concepts.ConceptDto;
-import org.springframework.data.elasticsearch.repository.ElasticsearchRepository;
-import org.springframework.stereotype.Repository;
-
-@Repository
-public interface ConceptIdxRepository extends ElasticsearchRepository<ConceptDto, String> {
-}
\ No newline at end of file
diff --git a/dbrepo-semantics-service/services/src/main/java/at/tuwien/repository/sdb/UnitIdxRepository.java b/dbrepo-semantics-service/services/src/main/java/at/tuwien/repository/sdb/UnitIdxRepository.java
deleted file mode 100644
index 5b7301819e..0000000000
--- a/dbrepo-semantics-service/services/src/main/java/at/tuwien/repository/sdb/UnitIdxRepository.java
+++ /dev/null
@@ -1,9 +0,0 @@
-package at.tuwien.repository.sdb;
-
-import at.tuwien.api.database.table.columns.concepts.UnitDto;
-import org.springframework.data.elasticsearch.repository.ElasticsearchRepository;
-import org.springframework.stereotype.Repository;
-
-@Repository
-public interface UnitIdxRepository extends ElasticsearchRepository<UnitDto, String> {
-}
\ No newline at end of file
diff --git a/dbrepo-semantics-service/services/src/main/java/at/tuwien/service/OntologyService.java b/dbrepo-semantics-service/services/src/main/java/at/tuwien/service/OntologyService.java
deleted file mode 100644
index 4a55f52491..0000000000
--- a/dbrepo-semantics-service/services/src/main/java/at/tuwien/service/OntologyService.java
+++ /dev/null
@@ -1,22 +0,0 @@
-package at.tuwien.service;
-
-import at.tuwien.api.semantics.OntologyCreateDto;
-import at.tuwien.api.semantics.OntologyModifyDto;
-import at.tuwien.entities.semantics.Ontology;
-import at.tuwien.exception.OntologyNotFoundException;
-import at.tuwien.exception.UserNotFoundException;
-
-import java.security.Principal;
-import java.util.List;
-
-public interface OntologyService {
-    List<Ontology> findAll();
-
-    Ontology find(Long id) throws OntologyNotFoundException;
-
-    Ontology create(OntologyCreateDto data, Principal principal) throws UserNotFoundException;
-
-    Ontology update(Long id, OntologyModifyDto data) throws OntologyNotFoundException;
-
-    void delete(Long id) throws OntologyNotFoundException;
-}
diff --git a/dbrepo-semantics-service/services/src/main/java/at/tuwien/service/QueryService.java b/dbrepo-semantics-service/services/src/main/java/at/tuwien/service/QueryService.java
deleted file mode 100644
index 5ab8bda66d..0000000000
--- a/dbrepo-semantics-service/services/src/main/java/at/tuwien/service/QueryService.java
+++ /dev/null
@@ -1,16 +0,0 @@
-package at.tuwien.service;
-
-import at.tuwien.api.semantics.EntityDto;
-import at.tuwien.entities.semantics.Ontology;
-import at.tuwien.exception.QueryMalformedException;
-
-import java.util.List;
-
-public interface QueryService {
-
-    List<EntityDto> findByLabel(Ontology ontology, String label) throws QueryMalformedException;
-
-    List<EntityDto> findByLabel(Ontology ontology, String label, Integer limit) throws QueryMalformedException;
-
-    List<EntityDto> findByUri(Ontology ontology, String uri) throws QueryMalformedException;
-}
diff --git a/dbrepo-semantics-service/services/src/main/java/at/tuwien/service/SemanticService.java b/dbrepo-semantics-service/services/src/main/java/at/tuwien/service/SemanticService.java
deleted file mode 100644
index 564b739af0..0000000000
--- a/dbrepo-semantics-service/services/src/main/java/at/tuwien/service/SemanticService.java
+++ /dev/null
@@ -1,18 +0,0 @@
-package at.tuwien.service;
-
-import at.tuwien.api.database.table.columns.concepts.ConceptSaveDto;
-import at.tuwien.api.database.table.columns.concepts.UnitSaveDto;
-import at.tuwien.entities.database.table.columns.TableColumnConcept;
-import at.tuwien.entities.database.table.columns.TableColumnUnit;
-
-import java.util.List;
-
-public interface SemanticService {
-    List<TableColumnConcept> findAllConcepts();
-
-    List<TableColumnUnit> findAllUnits();
-
-    TableColumnConcept saveConcept(ConceptSaveDto data);
-
-    TableColumnUnit saveUnit(UnitSaveDto data);
-}
diff --git a/dbrepo-semantics-service/services/src/main/java/at/tuwien/service/TableService.java b/dbrepo-semantics-service/services/src/main/java/at/tuwien/service/TableService.java
deleted file mode 100644
index e1294a9425..0000000000
--- a/dbrepo-semantics-service/services/src/main/java/at/tuwien/service/TableService.java
+++ /dev/null
@@ -1,20 +0,0 @@
-package at.tuwien.service;
-
-import at.tuwien.api.semantics.EntityDto;
-import at.tuwien.api.semantics.TableColumnEntityDto;
-import at.tuwien.entities.database.table.Table;
-import at.tuwien.exception.QueryMalformedException;
-import at.tuwien.exception.TableColumnNotFoundException;
-import at.tuwien.exception.TableNotFoundException;
-
-import java.util.List;
-
-public interface TableService {
-    Table find(Long databaseId, Long tableId) throws TableNotFoundException;
-
-    List<EntityDto> suggestTableSemantics(Long databaseId, Long tableId) throws TableNotFoundException,
-            QueryMalformedException;
-
-    List<TableColumnEntityDto> suggestTableColumnSemantics(Long databaseId, Long tableId, Long columnId)
-            throws QueryMalformedException, TableColumnNotFoundException;
-}
diff --git a/dbrepo-semantics-service/services/src/main/java/at/tuwien/service/UserService.java b/dbrepo-semantics-service/services/src/main/java/at/tuwien/service/UserService.java
deleted file mode 100644
index 6de26b3ffc..0000000000
--- a/dbrepo-semantics-service/services/src/main/java/at/tuwien/service/UserService.java
+++ /dev/null
@@ -1,8 +0,0 @@
-package at.tuwien.service;
-
-import at.tuwien.entities.user.User;
-import at.tuwien.exception.UserNotFoundException;
-
-public interface UserService {
-    User findByUsername(String username) throws UserNotFoundException;
-}
diff --git a/dbrepo-semantics-service/services/src/main/java/at/tuwien/service/impl/OntologyServiceImpl.java b/dbrepo-semantics-service/services/src/main/java/at/tuwien/service/impl/OntologyServiceImpl.java
deleted file mode 100644
index 411ea767ec..0000000000
--- a/dbrepo-semantics-service/services/src/main/java/at/tuwien/service/impl/OntologyServiceImpl.java
+++ /dev/null
@@ -1,82 +0,0 @@
-package at.tuwien.service.impl;
-
-import at.tuwien.api.semantics.OntologyCreateDto;
-import at.tuwien.api.semantics.OntologyModifyDto;
-import at.tuwien.entities.semantics.Ontology;
-import at.tuwien.entities.user.User;
-import at.tuwien.exception.OntologyNotFoundException;
-import at.tuwien.exception.UserNotFoundException;
-import at.tuwien.mapper.OntologyMapper;
-import at.tuwien.repository.mdb.OntologyRepository;
-import at.tuwien.service.OntologyService;
-import at.tuwien.service.UserService;
-import lombok.extern.log4j.Log4j2;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.stereotype.Service;
-
-import java.security.Principal;
-import java.util.List;
-import java.util.Optional;
-
-@Log4j2
-@Service
-public class OntologyServiceImpl implements OntologyService {
-
-    private final UserService userService;
-    private final OntologyMapper ontologyMapper;
-    private final OntologyRepository ontologyRepository;
-
-    @Autowired
-    public OntologyServiceImpl(UserService userService, OntologyMapper ontologyMapper,
-                               OntologyRepository ontologyRepository) {
-        this.userService = userService;
-        this.ontologyMapper = ontologyMapper;
-        this.ontologyRepository = ontologyRepository;
-    }
-
-    @Override
-    public List<Ontology> findAll() {
-        return ontologyRepository.findAll();
-    }
-
-    @Override
-    public Ontology find(Long id) throws OntologyNotFoundException {
-        final Optional<Ontology> optional = ontologyRepository.findById(id);
-        if (optional.isEmpty()) {
-            log.error("Failed to find ontology with id {}", id);
-            throw new OntologyNotFoundException("Failed to find ontology with id " + id);
-        }
-        return optional.get();
-    }
-
-    @Override
-    public Ontology create(OntologyCreateDto data, Principal principal) throws UserNotFoundException {
-        final User user = userService.findByUsername(principal.getName());
-        final Ontology entity = ontologyMapper.ontologyCreateDtoToOntology(data);
-        entity.setCreatedBy(user.getId());
-        final Ontology ontology = ontologyRepository.save(entity);
-        log.info("Created ontology with id {}", ontology.getId());
-        return ontology;
-    }
-
-    @Override
-    public Ontology update(Long id, OntologyModifyDto data) throws OntologyNotFoundException {
-        final Ontology entity = find(id);
-        entity.setPrefix(data.getPrefix());
-        entity.setUri(data.getUri());
-        entity.setSparqlEndpoint(data.getSparqlEndpoint());
-        final Ontology ontology = ontologyRepository.save(entity);
-        log.info("Update ontology with id {}", ontology.getId());
-        return ontology;
-    }
-
-    @Override
-    public void delete(Long id) throws OntologyNotFoundException {
-        if (!ontologyRepository.existsById(id)) {
-            log.error("Failed to delete ontology: ontology with id {} does not exist", id);
-            throw new OntologyNotFoundException("Failed to delete ontology: ontology with id " + id + " does not exist");
-        }
-        ontologyRepository.deleteById(id);
-        log.info("Deleted ontology with id {}", id);
-    }
-}
diff --git a/dbrepo-semantics-service/services/src/main/java/at/tuwien/service/impl/QueryServiceImpl.java b/dbrepo-semantics-service/services/src/main/java/at/tuwien/service/impl/QueryServiceImpl.java
deleted file mode 100644
index 802b0e7a07..0000000000
--- a/dbrepo-semantics-service/services/src/main/java/at/tuwien/service/impl/QueryServiceImpl.java
+++ /dev/null
@@ -1,91 +0,0 @@
-package at.tuwien.service.impl;
-
-import at.tuwien.api.semantics.EntityDto;
-import at.tuwien.entities.semantics.Ontology;
-import at.tuwien.exception.QueryMalformedException;
-import at.tuwien.mapper.OntologyMapper;
-import at.tuwien.repository.mdb.OntologyRepository;
-import at.tuwien.service.QueryService;
-import lombok.extern.log4j.Log4j2;
-import org.apache.jena.query.*;
-import org.apache.jena.rdf.model.RDFNode;
-import org.apache.jena.riot.RiotException;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.stereotype.Service;
-
-import java.util.Iterator;
-import java.util.LinkedList;
-import java.util.List;
-
-@Log4j2
-@Service
-public class QueryServiceImpl implements QueryService {
-
-    private final Dataset dataset;
-    private final OntologyMapper ontologyMapper;
-    private final OntologyRepository ontologyRepository;
-
-    @Autowired
-    public QueryServiceImpl(OntologyRepository ontologyRepository, OntologyMapper ontologyMapper) {
-        this.ontologyMapper = ontologyMapper;
-        this.ontologyRepository = ontologyRepository;
-        this.dataset = DatasetFactory.create();
-    }
-
-    @Override
-    public List<EntityDto> findByLabel(Ontology ontology, String label) throws QueryMalformedException {
-        return findByLabel(ontology, label, 10);
-    }
-
-    @Override
-    public List<EntityDto> findByLabel(Ontology ontology, String label, Integer limit) throws QueryMalformedException {
-        final List<Ontology> ontologies = ontologyRepository.findAll();
-        final String statement = ontologyMapper.ontologyToFindByLabelQuery(ontologies, ontology, label, limit);
-        log.trace("execute sparql query:\n{}", statement);
-        final List<EntityDto> results = new LinkedList<>();
-        try (QueryExecution execution = QueryExecutionFactory.create(statement, this.dataset.getDefaultModel())) {
-            final Iterator<QuerySolution> resultSet = execution.execSelect();
-            while (resultSet.hasNext()) {
-                final QuerySolution solution = resultSet.next();
-                final RDFNode description = solution.get("description");
-                final EntityDto entity = EntityDto.builder()
-                        .uri(solution.get("o").toString())
-                        .label(label)
-                        .description(description != null ? description.asLiteral().getLexicalForm() : null)
-                        .build();
-                results.add(entity);
-            }
-        } catch (QueryParseException | IllegalArgumentException | RiotException e) {
-            log.error("Failed to parse query: {}", e.getMessage());
-            throw new QueryMalformedException("Failed to parse query: " + e.getMessage(), e);
-        }
-        return results;
-    }
-
-    @Override
-    public List<EntityDto> findByUri(Ontology ontology, String uri) throws QueryMalformedException {
-        final List<Ontology> ontologies = ontologyRepository.findAll();
-        final String statement = ontologyMapper.ontologyToFindByUriQuery(ontologies, ontology, uri);
-        log.trace("execute sparql query:\n{}", statement);
-        try (QueryExecution execution = QueryExecutionFactory.create(statement, this.dataset.getDefaultModel())) {
-            final Iterator<QuerySolution> resultSet = execution.execSelect();
-            final List<EntityDto> results = new LinkedList<>();
-            while (resultSet.hasNext()) {
-                final QuerySolution solution = resultSet.next();
-                final RDFNode label = solution.get("label");
-                final RDFNode description = solution.get("description");
-                final EntityDto entity = EntityDto.builder()
-                        .uri(uri)
-                        .label(label != null ? label.asLiteral().getLexicalForm() : null)
-                        .description(description != null ? description.asLiteral().getLexicalForm() : null)
-                        .build();
-                results.add(entity);
-            }
-            return results;
-        } catch (QueryParseException | IllegalArgumentException | RiotException e) {
-            log.error("Failed to parse query: {}", e.getMessage());
-            throw new QueryMalformedException("Failed to parse query: " + e.getMessage(), e);
-        }
-    }
-
-}
diff --git a/dbrepo-semantics-service/services/src/main/java/at/tuwien/service/impl/SemanticServiceImpl.java b/dbrepo-semantics-service/services/src/main/java/at/tuwien/service/impl/SemanticServiceImpl.java
deleted file mode 100644
index fd2365ac62..0000000000
--- a/dbrepo-semantics-service/services/src/main/java/at/tuwien/service/impl/SemanticServiceImpl.java
+++ /dev/null
@@ -1,79 +0,0 @@
-package at.tuwien.service.impl;
-
-import at.tuwien.api.database.table.columns.concepts.ConceptSaveDto;
-import at.tuwien.api.database.table.columns.concepts.UnitSaveDto;
-import at.tuwien.entities.database.table.columns.TableColumnConcept;
-import at.tuwien.entities.database.table.columns.TableColumnUnit;
-import at.tuwien.mapper.OntologyMapper;
-import at.tuwien.repository.mdb.TableColumnConceptRepository;
-import at.tuwien.repository.mdb.TableColumnUnitRepository;
-import at.tuwien.repository.sdb.ConceptIdxRepository;
-import at.tuwien.repository.sdb.UnitIdxRepository;
-import at.tuwien.service.SemanticService;
-import lombok.extern.log4j.Log4j2;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.stereotype.Service;
-import org.springframework.transaction.annotation.Transactional;
-
-import java.util.List;
-
-@Log4j2
-@Service
-public class SemanticServiceImpl implements SemanticService {
-
-    private final OntologyMapper ontologyMapper;
-    private final UnitIdxRepository unitIdxRepository;
-    private final ConceptIdxRepository conceptIdxRepository;
-    private final TableColumnUnitRepository tableColumnUnitRepository;
-    private final TableColumnConceptRepository tableColumnConceptRepository;
-
-    @Autowired
-    public SemanticServiceImpl(TableColumnConceptRepository tableColumnConceptRepository,
-                               TableColumnUnitRepository tableColumnUnitRepository, OntologyMapper ontologyMapper,
-                               UnitIdxRepository unitIdxRepository, ConceptIdxRepository conceptIdxRepository) {
-        this.ontologyMapper = ontologyMapper;
-        this.unitIdxRepository = unitIdxRepository;
-        this.conceptIdxRepository = conceptIdxRepository;
-        this.tableColumnUnitRepository = tableColumnUnitRepository;
-        this.tableColumnConceptRepository = tableColumnConceptRepository;
-    }
-
-    @Override
-    @Transactional(readOnly = true)
-    public List<TableColumnConcept> findAllConcepts() {
-        return tableColumnConceptRepository.findAll();
-    }
-
-    @Override
-    @Transactional(readOnly = true)
-    public List<TableColumnUnit> findAllUnits() {
-        return tableColumnUnitRepository.findAll();
-    }
-
-    @Override
-    @Transactional
-    public TableColumnConcept saveConcept(ConceptSaveDto data) {
-        final TableColumnConcept entity = ontologyMapper.conceptSaveDtoToTableColumnConcept(data);
-        /* save in metadata database */
-        final TableColumnConcept concept = tableColumnConceptRepository.save(entity);
-        log.info("Saved concept with id {} in metadata database", concept.getId());
-        /* save in open search database */
-        conceptIdxRepository.save(ontologyMapper.tableColumnConceptToConceptDto(concept));
-        log.info("Saved concept with id {} in open search database", concept.getId());
-        return concept;
-    }
-
-    @Override
-    @Transactional
-    public TableColumnUnit saveUnit(UnitSaveDto data) {
-        final TableColumnUnit entity = ontologyMapper.unitSaveDtoToTableColumnUnit(data);
-        /* save in metadata database */
-        final TableColumnUnit unit = tableColumnUnitRepository.save(entity);
-        log.info("Saved unit with id {} in metadata database", unit.getId());
-        /* save in open search database */
-        unitIdxRepository.save(ontologyMapper.tableColumnUnitToUnitDto(unit));
-        log.info("Saved unit with id {} in open search database", unit.getId());
-        return unit;
-    }
-
-}
diff --git a/dbrepo-semantics-service/services/src/main/java/at/tuwien/service/impl/TableServiceImpl.java b/dbrepo-semantics-service/services/src/main/java/at/tuwien/service/impl/TableServiceImpl.java
deleted file mode 100644
index d4c2c6f267..0000000000
--- a/dbrepo-semantics-service/services/src/main/java/at/tuwien/service/impl/TableServiceImpl.java
+++ /dev/null
@@ -1,94 +0,0 @@
-package at.tuwien.service.impl;
-
-import at.tuwien.api.semantics.EntityDto;
-import at.tuwien.api.semantics.TableColumnEntityDto;
-import at.tuwien.entities.database.table.Table;
-import at.tuwien.entities.database.table.columns.TableColumn;
-import at.tuwien.entities.semantics.Ontology;
-import at.tuwien.exception.QueryMalformedException;
-import at.tuwien.exception.TableColumnNotFoundException;
-import at.tuwien.exception.TableNotFoundException;
-import at.tuwien.repository.mdb.TableColumnRepository;
-import at.tuwien.repository.mdb.TableRepository;
-import at.tuwien.service.OntologyService;
-import at.tuwien.service.QueryService;
-import at.tuwien.service.TableService;
-import lombok.extern.log4j.Log4j2;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.stereotype.Service;
-import org.springframework.transaction.annotation.Transactional;
-
-import java.util.LinkedList;
-import java.util.List;
-import java.util.Optional;
-
-@Log4j2
-@Service
-public class TableServiceImpl implements TableService {
-
-    private final QueryService queryService;
-    private final OntologyService ontologyService;
-    private final TableRepository tableRepository;
-    private final TableColumnRepository tableColumnRepository;
-
-    @Autowired
-    public TableServiceImpl(OntologyService ontologyService, TableRepository tableRepository, QueryService queryService,
-                            TableColumnRepository tableColumnRepository) {
-        this.queryService = queryService;
-        this.ontologyService = ontologyService;
-        this.tableRepository = tableRepository;
-        this.tableColumnRepository = tableColumnRepository;
-    }
-
-    @Override
-    @Transactional(readOnly = true)
-    public Table find(Long databaseId, Long tableId) throws TableNotFoundException {
-        final Optional<Table> optional = tableRepository.findByDatabaseIdAndId(databaseId, tableId);
-        if (optional.isEmpty()) {
-            log.error("Failed to find table with id {} in database with id {}", tableId, databaseId);
-            throw new TableNotFoundException("Failed to find table with id " + tableId + " in database with id " + databaseId);
-        }
-        return optional.get();
-    }
-
-    @Override
-    @Transactional(readOnly = true)
-    public List<EntityDto> suggestTableSemantics(Long databaseId, Long tableId) throws TableNotFoundException,
-            QueryMalformedException {
-        final Table table = find(databaseId, tableId);
-        final List<EntityDto> suggestions = new LinkedList<>();
-        for (Ontology ontology : ontologyService.findAll()) {
-            suggestions.addAll(queryService.findByLabel(ontology, table.getName(), 3));
-        }
-        log.debug("suggested {} semantic entities total", suggestions.size());
-        return suggestions;
-    }
-
-    @Override
-    @Transactional(readOnly = true)
-    public List<TableColumnEntityDto> suggestTableColumnSemantics(Long databaseId, Long tableId, Long columnId)
-            throws QueryMalformedException, TableColumnNotFoundException {
-        final Optional<TableColumn> optional = tableColumnRepository.findById(columnId);
-        if (optional.isEmpty()) {
-            log.error("Failed to find column with id {}", columnId);
-            throw new TableColumnNotFoundException("Failed to find column with id " + columnId);
-        }
-        final List<TableColumnEntityDto> suggestions = new LinkedList<>();
-        for (Ontology ontology : ontologyService.findAll()) {
-            suggestions.addAll(queryService.findByLabel(ontology, optional.get().getName(), 3)
-                    .stream()
-                    .map(e -> TableColumnEntityDto.builder()
-                            .databaseId(databaseId)
-                            .tableId(tableId)
-                            .columnId(optional.get().getId())
-                            .label(e.getLabel())
-                            .uri(e.getUri())
-                            .description(e.getDescription())
-                            .build())
-                    .toList());
-        }
-        log.debug("suggested {} semantic entities total", suggestions.size());
-        return suggestions;
-    }
-
-}
diff --git a/dbrepo-semantics-service/services/src/main/java/at/tuwien/service/impl/UserServiceImpl.java b/dbrepo-semantics-service/services/src/main/java/at/tuwien/service/impl/UserServiceImpl.java
deleted file mode 100644
index 43e1ae2d23..0000000000
--- a/dbrepo-semantics-service/services/src/main/java/at/tuwien/service/impl/UserServiceImpl.java
+++ /dev/null
@@ -1,34 +0,0 @@
-package at.tuwien.service.impl;
-
-import at.tuwien.entities.user.User;
-import at.tuwien.exception.UserNotFoundException;
-import at.tuwien.repository.mdb.UserRepository;
-import at.tuwien.service.UserService;
-import lombok.extern.log4j.Log4j2;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.stereotype.Service;
-
-import java.util.Optional;
-
-@Log4j2
-@Service
-public class UserServiceImpl implements UserService {
-
-    private final UserRepository userRepository;
-
-    @Autowired
-    public UserServiceImpl(UserRepository userRepository) {
-        this.userRepository = userRepository;
-    }
-
-    @Override
-    public User findByUsername(String username) throws UserNotFoundException {
-        final Optional<User> optional = userRepository.findByUsername(username);
-        if (optional.isEmpty()) {
-            log.error("Failed to find user with username {}", username);
-            throw new UserNotFoundException("Failed to find user with username " + username);
-        }
-        return optional.get();
-    }
-
-}
diff --git a/dbrepo-user-service/.gitignore b/dbrepo-user-service/.gitignore
deleted file mode 100644
index d68acdb421..0000000000
--- a/dbrepo-user-service/.gitignore
+++ /dev/null
@@ -1,44 +0,0 @@
-HELP.md
-target/
-!.mvn/wrapper/maven-wrapper.jar
-!**/src/main/**/target/
-!**/src/test/**/target/
-
-# Documentation
-docs/*.html
-docs/css/
-docs/images/
-
-# Docker
-ready
-
-## JUnit
-.attach_pid*
-
-### STS ###
-.apt_generated
-.classpath
-.factorypath
-.project
-.settings
-.springBeans
-.sts4-cache
-
-### IntelliJ IDEA ###
-.idea
-*.iws
-*.iml
-*.ipr
-
-### NetBeans ###
-/nbproject/private/
-/nbbuild/
-/dist/
-/nbdist/
-/.nb-gradle/
-build/
-!**/src/main/**/build/
-!**/src/test/**/build/
-
-### VS Code ###
-.vscode/
diff --git a/dbrepo-user-service/Dockerfile b/dbrepo-user-service/Dockerfile
deleted file mode 100644
index 67f852e337..0000000000
--- a/dbrepo-user-service/Dockerfile
+++ /dev/null
@@ -1,41 +0,0 @@
-###### FIRST STAGE ######
-FROM dbrepo-metadata-db:latest as dependency
-MAINTAINER Martin Weise <martin.weise@tuwien.ac.at>
-
-###### SECOND STAGE ######
-FROM maven:3-openjdk-17 as build
-MAINTAINER Martin Weise <martin.weise@tuwien.ac.at>
-
-COPY ./pom.xml ./
-
-RUN mvn -fn -B dependency:go-offline > /dev/null
-
-COPY --from=dependency /root/.m2/repository/at/tuwien /root/.m2/repository/at/tuwien
-
-COPY ./rest-service ./rest-service
-COPY ./services ./services
-COPY ./report ./report
-
-# Make sure it compiles
-RUN mvn -q clean package -DskipTests
-
-###### THIRD STAGE ######
-FROM openjdk:17-alpine as runtime
-MAINTAINER Martin Weise <martin.weise@tuwien.ac.at>
-
-ENV METADATA_DB=fda
-ENV METADATA_USERNAME=root
-ENV METADATA_PASSWORD=dbrepo
-ENV GATEWAY_ENDPOINT=http://gateway-service
-ENV JWT_ISSUER="http://localhost/realms/dbrepo"
-ENV JWT_PUBKEY="MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAqqnHQ2BWWW9vDNLRCcxD++xZg/16oqMo/c1l+lcFEjjAIJjJp/HqrPYU/U9GvquGE6PbVFtTzW1KcKawOW+FJNOA3CGo8Q1TFEfz43B8rZpKsFbJKvQGVv1Z4HaKPvLUm7iMm8Hv91cLduuoWx6Q3DPe2vg13GKKEZe7UFghF+0T9u8EKzA/XqQ0OiICmsmYPbwvf9N3bCKsB/Y10EYmZRb8IhCoV9mmO5TxgWgiuNeCTtNCv2ePYqL/U0WvyGFW0reasIK8eg3KrAUj8DpyOgPOVBn3lBGf+3KFSYi+0bwZbJZWqbC/Xlk20Go1YfeJPRIt7ImxD27R/lNjgDO/MwIDAQAB"
-ENV LOG_LEVEL=debug
-ENV SEARCH_PASSWORD=admin
-
-WORKDIR /app
-
-COPY --from=build ./rest-service/target/rest-service-*.jar ./user-service.jar
-
-EXPOSE 9098
-
-ENTRYPOINT ["java", "-Dlog4j2.formatMsgNoLookups=true", "-jar", "./user-service.jar"]
diff --git a/dbrepo-user-service/README.md b/dbrepo-user-service/README.md
deleted file mode 100644
index ae61ee03af..0000000000
--- a/dbrepo-user-service/README.md
+++ /dev/null
@@ -1,15 +0,0 @@
-# User Service
-
-## Actuator
-
-- Actuator Info: http://localhost:9098/actuator/info
-- Actuator Health: http://localhost:9098/actuator/health
-- Actuator Prometheus: http://localhost:9098/actuator/prometheus
-
-## Swagger UI Endpoints
-
-- Swagger UI: http://localhost:9098/swagger-ui/index.html
-
-## OpenAPI Endpoints
-
-- OpenAPI v3 as .yaml: http://localhost:9098/v3/api-docs.yaml
\ No newline at end of file
diff --git a/dbrepo-user-service/pom.xml b/dbrepo-user-service/pom.xml
deleted file mode 100644
index 58c0085e5a..0000000000
--- a/dbrepo-user-service/pom.xml
+++ /dev/null
@@ -1,299 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
-    <modelVersion>4.0.0</modelVersion>
-    <parent>
-        <groupId>org.springframework.boot</groupId>
-        <artifactId>spring-boot-starter-parent</artifactId>
-        <version>3.0.6</version>
-    </parent>
-
-    <groupId>at.tuwien</groupId>
-    <artifactId>dbrepo-user-service</artifactId>
-    <version>1.3.0</version>
-    <name>dbrepo-user-service</name>
-    <description>
-        The query service provides an interface to insert data into the tables created by the table service. It
-        also allows for view-only (possibly paginated and versioned) query execution to the raw data and consumes
-        messages in the message queue from the Broker Service.
-    </description>
-    <url>https://www.ifs.tuwien.ac.at/infrastructures/dbrepo/</url>
-    <developers>
-        <developer>
-            <name>Martin Weise</name>
-            <email>martin.weise@tuwien.ac.at</email>
-            <organization>TU Wien</organization>
-        </developer>
-        <developer>
-            <name>Moritz Staudinger</name>
-            <email>moritz.staudinger@tuwien.ac.at</email>
-            <organization>TU Wien</organization>
-        </developer>
-    </developers>
-
-    <packaging>pom</packaging>
-    <modules>
-        <module>rest-service</module>
-        <module>services</module>
-        <module>report</module>
-    </modules>
-
-    <properties>
-        <java.version>17</java.version>
-        <spring-cloud.version>4.0.2</spring-cloud.version>
-        <mapstruct.version>1.5.5.Final</mapstruct.version>
-        <jacoco.version>0.8.10</jacoco.version>
-        <jwt.version>4.3.0</jwt.version>
-        <hibernate-c3po.version>5.6.3.Final</hibernate-c3po.version>
-        <opencsv.version>5.7.1</opencsv.version>
-        <super-csv.version>2.4.0</super-csv.version>
-        <jsql.version>4.6</jsql.version>
-        <keycloak.version>21.0.2</keycloak.version>
-        <hibernate.version>6.2.2.Final</hibernate.version>
-        <springdoc-openapi.version>2.1.0</springdoc-openapi.version>
-        <hsqldb.version>2.7.2</hsqldb.version>
-        <opensearch-client.version>1.1.0</opensearch-client.version>
-        <opensearch-rest-client.version>2.8.0</opensearch-rest-client.version>
-        <jackson.version>2.15.2</jackson.version>
-    </properties>
-
-    <dependencies>
-        <dependency>
-            <groupId>org.springframework.boot</groupId>
-            <artifactId>spring-boot-starter-webflux</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>org.springframework.boot</groupId>
-            <artifactId>spring-boot-starter-web</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>org.springframework.boot</groupId>
-            <artifactId>spring-boot-starter-amqp</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>org.springframework</groupId>
-            <artifactId>spring-test</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>org.springframework.boot</groupId>
-            <artifactId>spring-boot-starter-validation</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>org.springframework.cloud</groupId>
-            <artifactId>spring-cloud-starter-bootstrap</artifactId>
-            <version>${spring-cloud.version}</version>
-        </dependency>
-        <dependency>
-            <groupId>org.springframework.boot</groupId>
-            <artifactId>spring-boot-starter-security</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>org.springframework.boot</groupId>
-            <artifactId>spring-boot-starter-data-jpa</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>org.springframework.boot</groupId>
-            <artifactId>spring-boot-starter-actuator</artifactId>
-        </dependency>
-        <!-- Authentication -->
-        <dependency>
-            <groupId>org.keycloak</groupId>
-            <artifactId>keycloak-common</artifactId>
-            <version>${keycloak.version}</version>
-        </dependency>
-        <dependency>
-            <groupId>com.auth0</groupId>
-            <artifactId>java-jwt</artifactId>
-            <version>${jwt.version}</version>
-        </dependency>
-        <!-- Monitoring -->
-        <dependency>
-            <groupId>io.micrometer</groupId>
-            <artifactId>micrometer-registry-prometheus</artifactId>
-            <scope>runtime</scope>
-        </dependency>
-        <!-- Data Source -->
-        <dependency>
-            <groupId>org.mariadb.jdbc</groupId>
-            <artifactId>mariadb-java-client</artifactId>
-            <version>${mariadb.version}</version>
-        </dependency>
-        <dependency>
-            <groupId>org.opensearch.client</groupId>
-            <artifactId>spring-data-opensearch</artifactId>
-            <version>${opensearch-client.version}</version>
-        </dependency>
-        <dependency>
-            <groupId>org.opensearch.client</groupId>
-            <artifactId>spring-data-opensearch-starter</artifactId>
-            <version>${opensearch-client.version}</version>
-        </dependency>
-        <!-- OpenSearch -->
-        <dependency>
-            <groupId>com.fasterxml.jackson.core</groupId>
-            <artifactId>jackson-core</artifactId>
-            <version>${jackson.version}</version>
-        </dependency>
-        <dependency>
-            <groupId>com.fasterxml.jackson.core</groupId>
-            <artifactId>jackson-databind</artifactId>
-            <version>${jackson.version}</version>
-        </dependency>
-        <dependency>
-            <groupId>org.opensearch.client</groupId>
-            <artifactId>opensearch-rest-high-level-client</artifactId>
-            <version>${opensearch-rest-client.version}</version>
-        </dependency>
-        <dependency>
-            <groupId>org.opensearch.client</groupId>
-            <artifactId>opensearch-rest-client-sniffer</artifactId>
-            <version>${opensearch-rest-client.version}</version>
-        </dependency>
-        <!-- Swagger -->
-        <dependency>
-            <groupId>org.springdoc</groupId>
-            <artifactId>springdoc-openapi-starter-webmvc-ui</artifactId>
-            <version>${springdoc-openapi.version}</version>
-        </dependency>
-        <!-- Open API -->
-        <dependency>
-            <groupId>org.springdoc</groupId>
-            <artifactId>springdoc-openapi-starter-webmvc-api</artifactId>
-            <version>${springdoc-openapi.version}</version>
-        </dependency>
-        <!-- IDE -->
-        <dependency>
-            <groupId>org.projectlombok</groupId>
-            <artifactId>lombok</artifactId>
-        </dependency>
-        <!-- Entity, API, QueryStore -->
-        <dependency>
-            <groupId>at.tuwien</groupId>
-            <artifactId>dbrepo-metadata-db-api</artifactId>
-            <version>${project.version}</version>
-            <scope>compile</scope>
-        </dependency>
-        <dependency>
-            <groupId>at.tuwien</groupId>
-            <artifactId>dbrepo-metadata-db-entites</artifactId>
-            <version>${project.version}</version>
-            <scope>compile</scope>
-        </dependency>
-        <dependency>
-            <groupId>at.tuwien</groupId>
-            <artifactId>dbrepo-metadata-db-test</artifactId>
-            <version>${project.version}</version>
-            <scope>compile</scope>
-        </dependency>
-        <!-- Testing -->
-        <dependency>
-            <groupId>org.springframework.boot</groupId>
-            <artifactId>spring-boot-starter-test</artifactId>
-            <scope>test</scope>
-            <exclusions>
-                <exclusion>
-                    <groupId>org.junit.jupiter</groupId>
-                    <artifactId>junit-vintage-engine</artifactId>
-                </exclusion>
-            </exclusions>
-        </dependency>
-        <dependency>
-            <groupId>org.springframework.security</groupId>
-            <artifactId>spring-security-test</artifactId>
-            <scope>test</scope>
-        </dependency>
-        <dependency>
-            <groupId>com.h2database</groupId>
-            <artifactId>h2</artifactId>
-            <scope>test</scope>
-        </dependency>
-        <dependency>
-            <groupId>org.jacoco</groupId>
-            <artifactId>jacoco-maven-plugin</artifactId>
-            <version>${jacoco.version}</version>
-        </dependency>
-        <!-- Mapping -->
-        <dependency>
-            <groupId>org.mapstruct</groupId>
-            <artifactId>mapstruct-processor</artifactId>
-            <version>${mapstruct.version}</version>
-            <optional>true</optional>
-        <!-- IntelliJ -->
-        </dependency>
-        <dependency>
-            <groupId>org.mapstruct</groupId>
-            <artifactId>mapstruct</artifactId>
-            <version>${mapstruct.version}</version>
-        </dependency>
-    </dependencies>
-
-    <build>
-        <resources>
-            <resource>
-                <directory>${basedir}/src/main/resources</directory>
-                <filtering>true</filtering>
-                <includes>
-                    <include>**/application*.yml</include>
-                    <include>**/templates/*.xml</include>
-                </includes>
-            </resource>
-        </resources>
-        <plugins>
-            <plugin>
-                <groupId>org.jacoco</groupId>
-                <artifactId>jacoco-maven-plugin</artifactId>
-                <version>${jacoco.version}</version>
-                <configuration>
-                    <excludes>
-                        <exclude>at/tuwien/utils/**/*</exclude>
-                        <exclude>at/tuwien/mapper/**/*</exclude>
-                        <exclude>at/tuwien/entities/**/*</exclude>
-                        <exclude>at/tuwien/seeder/**/*</exclude>
-                        <exclude>at/tuwien/handlers/**/*</exclude>
-                        <exclude>at/tuwien/exception/**/*</exclude>
-                        <exclude>at/tuwien/config/**/*</exclude>
-                        <exclude>at/tuwien/auth/**/*</exclude>
-                        <exclude>**/FdaUserServiceApplication.class</exclude>
-                    </excludes>
-                </configuration>
-                <executions>
-                    <execution>
-                        <id>default-prepare-agent</id>
-                        <goals>
-                            <goal>prepare-agent</goal>
-                        </goals>
-                    </execution>
-                    <execution>
-                        <id>report</id>
-                        <phase>verify</phase>
-                        <goals>
-                            <goal>report</goal>
-                        </goals>
-                    </execution>
-                </executions>
-            </plugin>
-            <plugin>
-                <groupId>org.apache.maven.plugins</groupId>
-                <artifactId>maven-site-plugin</artifactId>
-                <version>3.7.1</version>
-            </plugin>
-            <plugin>
-                <groupId>org.apache.maven.plugins</groupId>
-                <artifactId>maven-project-info-reports-plugin</artifactId>
-                <version>3.0.0</version>
-            </plugin>
-            <plugin>
-                <groupId>com.soebes.maven.plugins</groupId>
-                <artifactId>doxygen-maven-plugin</artifactId>
-                <version>1.1.0</version>
-                <configuration>
-                    <haveDot>false</haveDot>
-                    <quiet>false</quiet>
-                    <projectName>This is a Test Project (basicReportTest)</projectName>
-                    <outputDirectory>docs</outputDirectory>
-                </configuration>
-            </plugin>
-        </plugins>
-    </build>
-
-</project>
diff --git a/dbrepo-user-service/report/pom.xml b/dbrepo-user-service/report/pom.xml
deleted file mode 100644
index 2555a8836e..0000000000
--- a/dbrepo-user-service/report/pom.xml
+++ /dev/null
@@ -1,56 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<project xmlns="http://maven.apache.org/POM/4.0.0"
-         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
-    <modelVersion>4.0.0</modelVersion>
-    <parent>
-        <artifactId>dbrepo-user-service</artifactId>
-        <groupId>at.tuwien</groupId>
-        <version>1.3.0</version>
-    </parent>
-
-    <artifactId>report</artifactId>
-    <version>1.3.0</version>
-    <name>dbrepo-user-service-report</name>
-    <description>
-        This module is only intended for the pipeline coverage report. See the detailed report in the
-        respective modules
-    </description>
-
-    <dependencies>
-        <dependency>
-            <groupId>at.tuwien</groupId>
-            <artifactId>rest-service</artifactId>
-            <version>${project.version}</version>
-        </dependency>
-        <dependency>
-            <groupId>at.tuwien</groupId>
-            <artifactId>services</artifactId>
-            <version>${project.version}</version>
-        </dependency>
-    </dependencies>
-
-    <properties>
-        <jacoco.version>0.8.7</jacoco.version>
-    </properties>
-
-    <build>
-        <plugins>
-            <plugin>
-                <groupId>org.jacoco</groupId>
-                <artifactId>jacoco-maven-plugin</artifactId>
-                <version>${jacoco.version}</version>
-                <executions>
-                    <execution>
-                        <id>report-aggregate</id>
-                        <phase>verify</phase>
-                        <goals>
-                            <goal>report-aggregate</goal>
-                        </goals>
-                    </execution>
-                </executions>
-            </plugin>
-        </plugins>
-    </build>
-
-</project>
\ No newline at end of file
diff --git a/dbrepo-user-service/rest-service/pom.xml b/dbrepo-user-service/rest-service/pom.xml
deleted file mode 100644
index 866460b9a9..0000000000
--- a/dbrepo-user-service/rest-service/pom.xml
+++ /dev/null
@@ -1,46 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<project xmlns="http://maven.apache.org/POM/4.0.0"
-         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
-    <modelVersion>4.0.0</modelVersion>
-    <parent>
-        <artifactId>dbrepo-user-service</artifactId>
-        <groupId>at.tuwien</groupId>
-        <version>1.3.0</version>
-    </parent>
-
-    <artifactId>rest-service</artifactId>
-    <version>1.3.0</version>
-    <name>dbrepo-user-service-rest</name>
-
-    <dependencies>
-        <dependency>
-            <groupId>at.tuwien</groupId>
-            <artifactId>services</artifactId>
-            <version>${project.version}</version>
-        </dependency>
-        <dependency>
-            <groupId>org.jetbrains</groupId>
-            <artifactId>annotations</artifactId>
-            <version>RELEASE</version>
-            <scope>compile</scope>
-        </dependency>
-    </dependencies>
-
-    <build>
-        <plugins>
-            <plugin>
-                <groupId>org.springframework.boot</groupId>
-                <artifactId>spring-boot-maven-plugin</artifactId>
-                <executions>
-                    <execution>
-                        <goals>
-                            <goal>repackage</goal><!-- to make it exuteable with $ java -jar ./app.jar -->
-                        </goals>
-                    </execution>
-                </executions>
-            </plugin>
-        </plugins>
-    </build>
-
-</project>
\ No newline at end of file
diff --git a/dbrepo-user-service/rest-service/src/main/java/at/tuwien/FdaUserServiceApplication.java b/dbrepo-user-service/rest-service/src/main/java/at/tuwien/FdaUserServiceApplication.java
deleted file mode 100644
index 16286483e5..0000000000
--- a/dbrepo-user-service/rest-service/src/main/java/at/tuwien/FdaUserServiceApplication.java
+++ /dev/null
@@ -1,27 +0,0 @@
-package at.tuwien;
-
-import org.springframework.boot.SpringApplication;
-import org.springframework.boot.autoconfigure.SpringBootApplication;
-import org.springframework.boot.autoconfigure.data.elasticsearch.ElasticsearchDataAutoConfiguration;
-import org.springframework.boot.autoconfigure.domain.EntityScan;
-import org.springframework.boot.autoconfigure.elasticsearch.ElasticsearchRestClientAutoConfiguration;
-import org.springframework.data.elasticsearch.repository.config.EnableElasticsearchRepositories;
-import org.springframework.data.jpa.repository.config.EnableJpaAuditing;
-import org.springframework.data.jpa.repository.config.EnableJpaRepositories;
-import org.springframework.scheduling.annotation.EnableScheduling;
-import org.springframework.transaction.annotation.EnableTransactionManagement;
-
-@EnableJpaAuditing
-@EnableTransactionManagement
-@EnableScheduling
-@EntityScan(basePackages = {"at.tuwien.entities"})
-@EnableElasticsearchRepositories(basePackages = {"at.tuwien.repository.sdb"})
-@EnableJpaRepositories(basePackages = {"at.tuwien.repository.mdb"})
-@SpringBootApplication(exclude = {ElasticsearchDataAutoConfiguration.class, ElasticsearchRestClientAutoConfiguration.class})
-public class FdaUserServiceApplication {
-
-    public static void main(String[] args) {
-        SpringApplication.run(FdaUserServiceApplication.class, args);
-    }
-
-}
\ No newline at end of file
diff --git a/dbrepo-user-service/rest-service/src/main/java/at/tuwien/config/SwaggerConfig.java b/dbrepo-user-service/rest-service/src/main/java/at/tuwien/config/SwaggerConfig.java
deleted file mode 100644
index 353d949c4b..0000000000
--- a/dbrepo-user-service/rest-service/src/main/java/at/tuwien/config/SwaggerConfig.java
+++ /dev/null
@@ -1,46 +0,0 @@
-package at.tuwien.config;
-
-import io.swagger.v3.oas.models.ExternalDocumentation;
-import io.swagger.v3.oas.models.OpenAPI;
-import io.swagger.v3.oas.models.info.Contact;
-import io.swagger.v3.oas.models.info.Info;
-import io.swagger.v3.oas.models.info.License;
-import org.springdoc.core.models.GroupedOpenApi;
-import org.springframework.beans.factory.annotation.Value;
-import org.springframework.context.annotation.Bean;
-import org.springframework.context.annotation.Configuration;
-
-@Configuration
-public class SwaggerConfig {
-
-    @Value("${app.version:unknown}")
-    private String version;
-
-    @Bean
-    public OpenAPI springShopOpenAPI() {
-        return new OpenAPI()
-                .info(new Info()
-                        .title("Database Repository User Service API")
-                        .contact(new Contact()
-                                .name("Prof. Andreas Rauber")
-                                .email("andreas.rauber@tuwien.ac.at"))
-                        .description("Service that manages the users")
-                        .version(version)
-                        .license(new License()
-                                .name("Apache 2.0")
-                                .url("https://www.apache.org/licenses/LICENSE-2.0")))
-                .externalDocs(new ExternalDocumentation()
-                        .description("Wiki Documentation")
-                        .url("https://gitlab.phaidra.org/fair-data-austria-db-repository/fda-services/-/wikis"));
-    }
-
-    @Bean
-    public GroupedOpenApi publicApi() {
-        return GroupedOpenApi.builder()
-                .group("user-service")
-                .pathsToMatch("/api/**")
-                .build();
-    }
-
-}
-
diff --git a/dbrepo-user-service/rest-service/src/main/java/at/tuwien/endpoint/MaintenanceEndpoint.java b/dbrepo-user-service/rest-service/src/main/java/at/tuwien/endpoint/MaintenanceEndpoint.java
deleted file mode 100644
index 49fdfc37f4..0000000000
--- a/dbrepo-user-service/rest-service/src/main/java/at/tuwien/endpoint/MaintenanceEndpoint.java
+++ /dev/null
@@ -1,163 +0,0 @@
-package at.tuwien.endpoint;
-
-import at.tuwien.api.database.table.TableBriefDto;
-import at.tuwien.api.maintenance.BannerMessageBriefDto;
-import at.tuwien.api.maintenance.BannerMessageCreateDto;
-import at.tuwien.api.maintenance.BannerMessageDto;
-import at.tuwien.api.maintenance.BannerMessageUpdateDto;
-import at.tuwien.api.user.UserBriefDto;
-import at.tuwien.exception.BannerMessageNotFoundException;
-import at.tuwien.mapper.BannerMessageMapper;
-import at.tuwien.service.BannerMessageService;
-import io.swagger.v3.oas.annotations.Operation;
-import io.swagger.v3.oas.annotations.media.ArraySchema;
-import io.swagger.v3.oas.annotations.media.Content;
-import io.swagger.v3.oas.annotations.media.Schema;
-import io.swagger.v3.oas.annotations.responses.ApiResponse;
-import io.swagger.v3.oas.annotations.responses.ApiResponses;
-import jakarta.validation.Valid;
-import jakarta.validation.constraints.NotNull;
-import lombok.extern.log4j.Log4j2;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.http.HttpStatus;
-import org.springframework.http.ResponseEntity;
-import org.springframework.security.access.prepost.PreAuthorize;
-import org.springframework.web.bind.annotation.*;
-
-import java.util.List;
-
-@Log4j2
-@CrossOrigin(origins = "*")
-@RestController
-@RequestMapping("/api/maintenance")
-public class MaintenanceEndpoint {
-
-    private final BannerMessageMapper bannerMessageMapper;
-    private final BannerMessageService bannerMessageService;
-
-    @Autowired
-    public MaintenanceEndpoint(BannerMessageMapper bannerMessageMapper, BannerMessageService bannerMessageService) {
-        this.bannerMessageMapper = bannerMessageMapper;
-        this.bannerMessageService = bannerMessageService;
-    }
-
-    @GetMapping("/message")
-    @Operation(summary = "Find maintenance messages")
-    @ApiResponses(value = {
-            @ApiResponse(responseCode = "200",
-                    description = "List messages",
-                    content = {@Content(
-                            mediaType = "application/json",
-                            array = @ArraySchema(schema = @Schema(implementation = BannerMessageDto.class)))}),
-    })
-    public ResponseEntity<List<BannerMessageDto>> list() {
-        log.debug("endpoint list active maintenance messages");
-        final List<BannerMessageDto> dtos = bannerMessageService.findAll()
-                .stream()
-                .map(bannerMessageMapper::bannerMessageToBannerMessageDto)
-                .toList();
-        log.trace("list maintenance messages results in dtos {}", dtos);
-        return ResponseEntity.ok(dtos);
-    }
-
-    @GetMapping("/message/{id}")
-    @Operation(summary = "Find one maintenance message")
-    @ApiResponses(value = {
-            @ApiResponse(responseCode = "200",
-                    description = "Get messages",
-                    content = {@Content(
-                            mediaType = "application/json",
-                            schema = @Schema(implementation = BannerMessageDto.class))}),
-    })
-    public ResponseEntity<BannerMessageDto> find(@NotNull @PathVariable("id") Long messageId)
-            throws BannerMessageNotFoundException {
-        log.debug("endpoint find one maintenance messages");
-        final BannerMessageDto dto = bannerMessageMapper.bannerMessageToBannerMessageDto(bannerMessageService.find(messageId));
-        log.trace("find one maintenance message results in dto {}", dto);
-        return ResponseEntity.ok(dto);
-    }
-
-    @GetMapping("/message/active")
-    @Operation(summary = "Find active maintenance messages")
-    @ApiResponses(value = {
-            @ApiResponse(responseCode = "200",
-                    description = "List messages",
-                    content = {@Content(
-                            mediaType = "application/json",
-                            array = @ArraySchema(schema = @Schema(implementation = BannerMessageBriefDto.class)))}),
-    })
-    public ResponseEntity<List<BannerMessageBriefDto>> active() {
-        log.debug("endpoint list active maintenance messages");
-        final List<BannerMessageBriefDto> dtos = bannerMessageService.getActive()
-                .stream()
-                .map(bannerMessageMapper::bannerMessageToBannerMessageBriefDto)
-                .toList();
-        log.trace("list active maintenance messages results in dtos {}", dtos);
-        return ResponseEntity.ok(dtos);
-    }
-
-    @PostMapping("/message")
-    @Operation(summary = "Create maintenance message")
-    @PreAuthorize("hasAuthority('create-maintenance-message')")
-    @ApiResponses(value = {
-            @ApiResponse(responseCode = "201",
-                    description = "Created message",
-                    content = {@Content(
-                            mediaType = "application/json",
-                            schema = @Schema(implementation = BannerMessageBriefDto.class))}),
-    })
-    public ResponseEntity<BannerMessageDto> create(@Valid @RequestBody BannerMessageCreateDto data) {
-        log.debug("endpoint create maintenance message, data={}", data);
-        final BannerMessageDto dto = bannerMessageMapper.bannerMessageToBannerMessageDto(bannerMessageService.create(data));
-        log.trace("create maintenance message results in dto {}", dto);
-        return ResponseEntity.status(HttpStatus.CREATED)
-                .body(dto);
-    }
-
-    @PutMapping("/message/{id}")
-    @Operation(summary = "Update maintenance message")
-    @PreAuthorize("hasAuthority('update-maintenance-message')")
-    @ApiResponses(value = {
-            @ApiResponse(responseCode = "202",
-                    description = "Updated message",
-                    content = {@Content(
-                            mediaType = "application/json",
-                            schema = @Schema(implementation = BannerMessageBriefDto.class))}),
-            @ApiResponse(responseCode = "404",
-                    description = "Could not find message",
-                    content = {@Content(
-                            mediaType = "application/json",
-                            schema = @Schema(implementation = BannerMessageNotFoundException.class))}),
-    })
-    public ResponseEntity<BannerMessageDto> update(@NotNull @PathVariable("id") Long messageId,
-                                                        @Valid @RequestBody BannerMessageUpdateDto data)
-            throws BannerMessageNotFoundException {
-        log.debug("endpoint update maintenance message, messageId={}, data={}", messageId, data);
-        final BannerMessageDto dto = bannerMessageMapper.bannerMessageToBannerMessageDto(bannerMessageService.update(messageId, data));
-        log.trace("update maintenance message results in dto {}", dto);
-        return ResponseEntity.status(HttpStatus.ACCEPTED)
-                .body(dto);
-    }
-
-    @DeleteMapping("/message/{id}")
-    @Operation(summary = "Delete maintenance message")
-    @PreAuthorize("hasAuthority('delete-maintenance-message')")
-    @ApiResponses(value = {
-            @ApiResponse(responseCode = "202",
-                    description = "Deleted message",
-                    content = {@Content(mediaType = "application/json")}),
-            @ApiResponse(responseCode = "404",
-                    description = "Could not find message",
-                    content = {@Content(
-                            mediaType = "application/json",
-                            schema = @Schema(implementation = BannerMessageNotFoundException.class))}),
-    })
-    public ResponseEntity<?> delete(@NotNull @PathVariable("id") Long messageId)
-            throws BannerMessageNotFoundException {
-        log.debug("endpoint delete maintenance message, messageId={}", messageId);
-        bannerMessageService.delete(messageId);
-        return ResponseEntity.status(HttpStatus.ACCEPTED)
-                .build();
-    }
-
-}
diff --git a/dbrepo-user-service/rest-service/src/main/java/at/tuwien/endpoint/UserEndpoint.java b/dbrepo-user-service/rest-service/src/main/java/at/tuwien/endpoint/UserEndpoint.java
deleted file mode 100644
index 4f7ceb9ae7..0000000000
--- a/dbrepo-user-service/rest-service/src/main/java/at/tuwien/endpoint/UserEndpoint.java
+++ /dev/null
@@ -1,278 +0,0 @@
-package at.tuwien.endpoint;
-
-import at.tuwien.api.auth.SignupRequestDto;
-import at.tuwien.api.error.ApiErrorDto;
-import at.tuwien.api.user.*;
-import at.tuwien.entities.user.Realm;
-import at.tuwien.entities.user.User;
-import at.tuwien.exception.*;
-import at.tuwien.mapper.UserMapper;
-import at.tuwien.service.RealmService;
-import at.tuwien.service.UserService;
-import io.micrometer.core.annotation.Timed;
-import io.swagger.v3.oas.annotations.Operation;
-import io.swagger.v3.oas.annotations.media.ArraySchema;
-import io.swagger.v3.oas.annotations.media.Content;
-import io.swagger.v3.oas.annotations.media.Schema;
-import io.swagger.v3.oas.annotations.responses.ApiResponse;
-import io.swagger.v3.oas.annotations.responses.ApiResponses;
-import io.swagger.v3.oas.annotations.security.SecurityRequirement;
-import lombok.extern.log4j.Log4j2;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.http.HttpStatus;
-import org.springframework.http.ResponseEntity;
-import org.springframework.security.access.prepost.PreAuthorize;
-import org.springframework.transaction.annotation.Transactional;
-import org.springframework.web.bind.annotation.*;
-
-import jakarta.validation.Valid;
-import jakarta.validation.constraints.NotNull;
-
-import java.security.Principal;
-import java.util.List;
-import java.util.UUID;
-import java.util.stream.Collectors;
-
-@Log4j2
-@CrossOrigin(origins = "*")
-@RestController
-@RequestMapping("/api/user")
-public class UserEndpoint {
-
-    private final UserMapper userMapper;
-    private final UserService userService;
-    private final RealmService realmService;
-
-    @Autowired
-    public UserEndpoint(UserMapper userMapper, UserService userService, RealmService realmService) {
-        this.userMapper = userMapper;
-        this.userService = userService;
-        this.realmService = realmService;
-    }
-
-    @GetMapping
-    @Transactional(readOnly = true)
-    @Timed(value = "user.list", description = "Time needed to list all users in the metadata database")
-    @Operation(summary = "Find all users")
-    @ApiResponses(value = {
-            @ApiResponse(responseCode = "200",
-                    description = "List users",
-                    content = {@Content(
-                            mediaType = "application/json",
-                            array = @ArraySchema(schema = @Schema(implementation = UserBriefDto.class)))}),
-    })
-    public ResponseEntity<List<UserBriefDto>> findAll() {
-        log.debug("endpoint find all users");
-        final List<UserBriefDto> users = userService.findAll()
-                .stream()
-                .map(userMapper::userToUserBriefDto)
-                .collect(Collectors.toList());
-        log.trace("find all users resulted in users {}", users);
-        return ResponseEntity.ok(users);
-    }
-
-    @PostMapping
-    @Transactional
-    @PreAuthorize("!isAuthenticated()")
-    @Timed(value = "user.create", description = "Time needed to create a user in the metadata database")
-    @Operation(summary = "Create user")
-    @ApiResponses(value = {
-            @ApiResponse(responseCode = "201",
-                    description = "Created user",
-                    content = {@Content(
-                            mediaType = "application/json",
-                            schema = @Schema(implementation = UserBriefDto.class))}),
-            @ApiResponse(responseCode = "404",
-                    description = "Realm or default role not found",
-                    content = {@Content(
-                            mediaType = "application/json",
-                            schema = @Schema(implementation = ApiErrorDto.class))}),
-            @ApiResponse(responseCode = "409",
-                    description = "User with username already exists",
-                    content = {@Content(
-                            mediaType = "application/json",
-                            schema = @Schema(implementation = ApiErrorDto.class))}),
-            @ApiResponse(responseCode = "417",
-                    description = "User with e-mail already exists",
-                    content = {@Content(
-                            mediaType = "application/json",
-                            schema = @Schema(implementation = ApiErrorDto.class))}),
-    })
-    public ResponseEntity<UserBriefDto> create(@NotNull @Valid @RequestBody SignupRequestDto data)
-            throws RealmNotFoundException, UserAlreadyExistsException, UserEmailAlreadyExistsException {
-        log.debug("endpoint create a user, data={}", data);
-        /* check */
-        final Realm realm = realmService.find("dbrepo");
-        userService.validateUsernameNotExists(data.getUsername());
-        userService.validateEmailNotExists(data.getEmail());
-        /* create */
-        final User user = userService.create(data, realm);
-        final UserBriefDto dto = userMapper.userToUserBriefDto(user);
-        log.trace("create user resulted in dto {}", dto);
-        return ResponseEntity.status(HttpStatus.CREATED)
-                .body(dto);
-    }
-
-    @GetMapping("/{id}")
-    @Transactional
-    @PreAuthorize("isAuthenticated() or hasAuthority('find-user')")
-    @Timed(value = "user.info", description = "Time needed to get information of a user in the metadata database")
-    @Operation(summary = "Get a user info", security = @SecurityRequirement(name = "bearerAuth"))
-    @ApiResponses(value = {
-            @ApiResponse(responseCode = "200",
-                    description = "Found user",
-                    content = {@Content(
-                            mediaType = "application/json",
-                            schema = @Schema(implementation = UserDto.class))}),
-            @ApiResponse(responseCode = "404",
-                    description = "User was not found",
-                    content = {@Content(
-                            mediaType = "application/json",
-                            schema = @Schema(implementation = ApiErrorDto.class))}),
-            @ApiResponse(responseCode = "405",
-                    description = "Find user is not permitted",
-                    content = {@Content(
-                            mediaType = "application/json",
-                            schema = @Schema(implementation = ApiErrorDto.class))}),
-    })
-    public ResponseEntity<UserDto> find(@NotNull @PathVariable("id") String id,
-                                        @NotNull Principal principal)
-            throws UserNotFoundException, NotAllowedException {
-        log.debug("endpoint find a user, id={}, principal={}", id, principal);
-        /* check */
-        final User user = userService.find(UUID.fromString(id));
-        final UserDto dto = userMapper.userToUserDto(user);
-        if (user.getUsername().equals(principal.getName())) {
-            log.trace("find user resulted in dto {}", dto);
-            return ResponseEntity.ok()
-                    .body(dto);
-        } else if (User.hasRole(principal, "find-user")) {
-            log.trace("find user resulted in dto {}", dto);
-            return ResponseEntity.ok()
-                    .body(dto);
-        }
-        log.error("Failed to find user: no authority and not the current logged-in user");
-        throw new NotAllowedException("Failed to find user: no authority");
-    }
-
-    @PutMapping("/{id}")
-    @Transactional
-    @PreAuthorize("hasAuthority('modify-user-information')")
-    @Timed(value = "user.modify", description = "Time needed to modify a user in the metadata database")
-    @Operation(summary = "Modify user information", security = @SecurityRequirement(name = "bearerAuth"))
-    @ApiResponses(value = {
-            @ApiResponse(responseCode = "202",
-                    description = "Modified user information",
-                    content = {@Content(
-                            mediaType = "application/json",
-                            schema = @Schema(implementation = UserDto.class))}),
-            @ApiResponse(responseCode = "404",
-                    description = "User attribute was not found",
-                    content = {@Content(
-                            mediaType = "application/json",
-                            schema = @Schema(implementation = ApiErrorDto.class))}),
-            @ApiResponse(responseCode = "405",
-                    description = "Modify user is not permitted",
-                    content = {@Content(
-                            mediaType = "application/json",
-                            schema = @Schema(implementation = ApiErrorDto.class))}),
-    })
-    public ResponseEntity<UserDto> modify(@NotNull @PathVariable("id") String id,
-                                          @NotNull @Valid @RequestBody UserUpdateDto data,
-                                          @NotNull Principal principal)
-            throws UserNotFoundException, ForeignUserException, UserAttributeNotFoundException {
-        log.debug("endpoint modify a user, id={}, data={}, principal={}", id, data, principal);
-        /* check */
-        final User user = userService.find(UUID.fromString(id));
-        if (!user.equalsPrincipal(principal)) {
-            log.error("Failed to modify user: attempting to modify other user");
-            throw new ForeignUserException("Failed to modify user: attempting to modify other user");
-        }
-        /* modify */
-        final UserDto dto = userMapper.userToUserDto(userService.modify(user.getId(), data));
-        log.trace("modify user resulted in dto {}", dto);
-        return ResponseEntity.status(HttpStatus.ACCEPTED)
-                .body(dto);
-    }
-
-    @PutMapping("/{id}/theme")
-    @Transactional
-    @PreAuthorize("hasAuthority('modify-user-theme')")
-    @Timed(value = "user.theme", description = "Time needed to modify a user theme in the metadata database")
-    @Operation(summary = "Modify user theme", security = @SecurityRequirement(name = "bearerAuth"))
-    @ApiResponses(value = {
-            @ApiResponse(responseCode = "202",
-                    description = "Modified user theme",
-                    content = {@Content(
-                            mediaType = "application/json",
-                            schema = @Schema(implementation = UserDto.class))}),
-            @ApiResponse(responseCode = "404",
-                    description = "User or user attribute was not found",
-                    content = {@Content(
-                            mediaType = "application/json",
-                            schema = @Schema(implementation = ApiErrorDto.class))}),
-            @ApiResponse(responseCode = "405",
-                    description = "Modify user is not permitted",
-                    content = {@Content(
-                            mediaType = "application/json",
-                            schema = @Schema(implementation = ApiErrorDto.class))}),
-    })
-    public ResponseEntity<UserDto> theme(@NotNull @PathVariable("id") String id,
-                                         @NotNull @Valid @RequestBody UserThemeSetDto data,
-                                         @NotNull Principal principal)
-            throws UserNotFoundException, ForeignUserException, UserAttributeNotFoundException {
-        log.debug("endpoint modify a user theme, id={}, data={}, principal={}", id, data, principal);
-        /* check */
-        final User user = userService.find(UUID.fromString(id));
-        if (!user.equalsPrincipal(principal)) {
-            log.error("Failed to modify user: attempting to modify other user");
-            throw new ForeignUserException("Failed to modify user: attempting to modify other user");
-        }
-        /* modify theme */
-        final UserDto dto = userMapper.userToUserDto(userService.toggleTheme(user.getId(), data));
-        log.trace("modify user theme resulted in dto {}", dto);
-        return ResponseEntity.accepted()
-                .body(dto);
-    }
-
-    @PutMapping("/{id}/password")
-    @Transactional
-    @PreAuthorize("isAuthenticated()")
-    @Timed(value = "user.password", description = "Time needed to modify a user password in the metadata database")
-    @Operation(summary = "Modify user password", security = @SecurityRequirement(name = "bearerAuth"))
-    @ApiResponses(value = {
-            @ApiResponse(responseCode = "202",
-                    description = "Modified user password",
-                    content = {@Content(
-                            mediaType = "application/json",
-                            schema = @Schema(implementation = UserDto.class))}),
-            @ApiResponse(responseCode = "404",
-                    description = "User was not found",
-                    content = {@Content(
-                            mediaType = "application/json",
-                            schema = @Schema(implementation = ApiErrorDto.class))}),
-            @ApiResponse(responseCode = "405",
-                    description = "Modify user is not permitted",
-                    content = {@Content(
-                            mediaType = "application/json",
-                            schema = @Schema(implementation = ApiErrorDto.class))}),
-    })
-    public ResponseEntity<UserDto> password(@NotNull @PathVariable("id") String id,
-                                            @NotNull @Valid @RequestBody UserPasswordDto data,
-                                            @NotNull Principal principal)
-            throws UserNotFoundException, ForeignUserException {
-        log.debug("endpoint modify a user password, id={}, data={}, principal={}", id, data, principal);
-        /* check */
-        final User user = userService.find(UUID.fromString(id));
-        if (!user.equalsPrincipal(principal)) {
-            log.error("Failed to modify user: attempting to modify other user");
-            throw new ForeignUserException("Failed to modify user: attempting to modify other user");
-        }
-        /* modify password */
-        final UserDto dto = userMapper.userToUserDto(userService.updatePassword(user.getId(), data));
-        log.trace("updated user password resulted in dto {}", dto);
-        return ResponseEntity.accepted()
-                .body(dto);
-    }
-
-}
diff --git a/dbrepo-user-service/rest-service/src/main/java/at/tuwien/handlers/ApiExceptionHandler.java b/dbrepo-user-service/rest-service/src/main/java/at/tuwien/handlers/ApiExceptionHandler.java
deleted file mode 100644
index 78639cb60d..0000000000
--- a/dbrepo-user-service/rest-service/src/main/java/at/tuwien/handlers/ApiExceptionHandler.java
+++ /dev/null
@@ -1,127 +0,0 @@
-package at.tuwien.handlers;
-
-import at.tuwien.api.error.ApiErrorDto;
-import at.tuwien.exception.*;
-import io.swagger.v3.oas.annotations.Hidden;
-import net.sf.jsqlparser.JSQLParserException;
-import org.springframework.http.HttpHeaders;
-import org.springframework.http.HttpStatus;
-import org.springframework.http.ResponseEntity;
-import org.springframework.web.bind.annotation.ControllerAdvice;
-import org.springframework.web.bind.annotation.ExceptionHandler;
-import org.springframework.web.bind.annotation.ResponseStatus;
-import org.springframework.web.context.request.WebRequest;
-import org.springframework.web.servlet.mvc.method.annotation.ResponseEntityExceptionHandler;
-
-@ControllerAdvice
-public class ApiExceptionHandler extends ResponseEntityExceptionHandler {
-
-    @Hidden
-    @ResponseStatus(HttpStatus.METHOD_NOT_ALLOWED)
-    @ExceptionHandler(ForeignUserException.class)
-    public ResponseEntity<ApiErrorDto> handle(ForeignUserException e, WebRequest request) {
-        final ApiErrorDto response = ApiErrorDto.builder()
-                .status(HttpStatus.METHOD_NOT_ALLOWED)
-                .message(e.getLocalizedMessage())
-                .code("error.user.foreignpermission")
-                .build();
-        return new ResponseEntity<>(response, new HttpHeaders(), response.getStatus());
-    }
-
-    @Hidden
-    @ResponseStatus(HttpStatus.METHOD_NOT_ALLOWED)
-    @ExceptionHandler(NotAllowedException.class)
-    public ResponseEntity<ApiErrorDto> handle(NotAllowedException e, WebRequest request) {
-        final ApiErrorDto response = ApiErrorDto.builder()
-                .status(HttpStatus.METHOD_NOT_ALLOWED)
-                .message(e.getLocalizedMessage())
-                .code("error.user.permission")
-                .build();
-        return new ResponseEntity<>(response, new HttpHeaders(), response.getStatus());
-    }
-
-    @Hidden
-    @ResponseStatus(HttpStatus.NOT_FOUND)
-    @ExceptionHandler(RealmNotFoundException.class)
-    public ResponseEntity<ApiErrorDto> handle(RealmNotFoundException e, WebRequest request) {
-        final ApiErrorDto response = ApiErrorDto.builder()
-                .status(HttpStatus.NOT_FOUND)
-                .message(e.getLocalizedMessage())
-                .code("error.user.realmnotfound")
-                .build();
-        return new ResponseEntity<>(response, new HttpHeaders(), response.getStatus());
-    }
-
-    @Hidden
-    @ResponseStatus(HttpStatus.NO_CONTENT)
-    @ExceptionHandler(RemoteUnavailableException.class)
-    public ResponseEntity<ApiErrorDto> handle(RemoteUnavailableException e, WebRequest request) {
-        final ApiErrorDto response = ApiErrorDto.builder()
-                .status(HttpStatus.NO_CONTENT)
-                .message(e.getLocalizedMessage())
-                .code("error.user.remoteunavailable")
-                .build();
-        return new ResponseEntity<>(response, new HttpHeaders(), response.getStatus());
-    }
-
-    @Hidden
-    @ResponseStatus(HttpStatus.NOT_FOUND)
-    @ExceptionHandler(RoleNotFoundException.class)
-    public ResponseEntity<ApiErrorDto> handle(RoleNotFoundException e, WebRequest request) {
-        final ApiErrorDto response = ApiErrorDto.builder()
-                .status(HttpStatus.NOT_FOUND)
-                .message(e.getLocalizedMessage())
-                .code("error.user.rolenotfound")
-                .build();
-        return new ResponseEntity<>(response, new HttpHeaders(), response.getStatus());
-    }
-
-    @Hidden
-    @ResponseStatus(HttpStatus.CONFLICT)
-    @ExceptionHandler(UserAlreadyExistsException.class)
-    public ResponseEntity<ApiErrorDto> handle(UserAlreadyExistsException e, WebRequest request) {
-        final ApiErrorDto response = ApiErrorDto.builder()
-                .status(HttpStatus.CONFLICT)
-                .message(e.getLocalizedMessage())
-                .code("error.user.alreadyexists")
-                .build();
-        return new ResponseEntity<>(response, new HttpHeaders(), response.getStatus());
-    }
-
-    @Hidden
-    @ResponseStatus(HttpStatus.NOT_FOUND)
-    @ExceptionHandler(UserAttributeNotFoundException.class)
-    public ResponseEntity<ApiErrorDto> handle(UserAttributeNotFoundException e, WebRequest request) {
-        final ApiErrorDto response = ApiErrorDto.builder()
-                .status(HttpStatus.NOT_FOUND)
-                .message(e.getLocalizedMessage())
-                .code("error.user.attributenotfound")
-                .build();
-        return new ResponseEntity<>(response, new HttpHeaders(), response.getStatus());
-    }
-
-    @Hidden
-    @ResponseStatus(HttpStatus.EXPECTATION_FAILED)
-    @ExceptionHandler(UserEmailAlreadyExistsException.class)
-    public ResponseEntity<ApiErrorDto> handle(UserEmailAlreadyExistsException e, WebRequest request) {
-        final ApiErrorDto response = ApiErrorDto.builder()
-                .status(HttpStatus.EXPECTATION_FAILED)
-                .message(e.getLocalizedMessage())
-                .code("error.user.emailexists")
-                .build();
-        return new ResponseEntity<>(response, new HttpHeaders(), response.getStatus());
-    }
-
-    @Hidden
-    @ResponseStatus(HttpStatus.NOT_FOUND)
-    @ExceptionHandler(UserNotFoundException.class)
-    public ResponseEntity<ApiErrorDto> handle(UserNotFoundException e, WebRequest request) {
-        final ApiErrorDto response = ApiErrorDto.builder()
-                .status(HttpStatus.NOT_FOUND)
-                .message(e.getLocalizedMessage())
-                .code("error.user.notfound")
-                .build();
-        return new ResponseEntity<>(response, new HttpHeaders(), response.getStatus());
-    }
-
-}
diff --git a/dbrepo-user-service/rest-service/src/main/resources/application-local.yml b/dbrepo-user-service/rest-service/src/main/resources/application-local.yml
deleted file mode 100644
index d207f4e24d..0000000000
--- a/dbrepo-user-service/rest-service/src/main/resources/application-local.yml
+++ /dev/null
@@ -1,54 +0,0 @@
-app.version: '@project.version@'
-spring:
-  main.banner-mode: off
-  datasource:
-    url: jdbc:mariadb://localhost:3306/fda
-    driver-class-name: org.mariadb.jdbc.Driver
-    username: root
-    password: dbrepo
-  jpa:
-    show-sql: false
-    database-platform: org.hibernate.dialect.MariaDBDialect
-    hibernate:
-      search:
-        default:
-          elasticsearch:
-            host: localhost
-      ddl-auto: validate
-      use-new-id-generator-mappings: false
-    open-in-view: false
-    properties:
-      hibernate:
-        default_schema: fda
-        jdbc:
-          time_zone: UTC
-  application:
-    name: user-service
-  rabbitmq:
-    host: localhost
-    virtual-host: dbrepo
-    username: fda
-    password: fda
-  opensearch:
-    username: admin
-    password: admin
-    host: localhost
-    port: 9200
-    protocol: http
-  cloud:
-    loadbalancer.ribbon.enabled: false
-management.endpoints.web.exposure.include: health,info,prometheus
-server:
-  port: 9098
-logging:
-  pattern.console: "%d %highlight(%-5level) %msg%n"
-  level:
-    root: warn
-    at.tuwien.: trace
-    org.springframework.web.servlet.mvc.method.annotation.ExceptionHandlerExceptionResolver: debug
-fda:
-  gateway.endpoint: http://localhost
-  default_role: default-researcher-roles
-  jwt:
-    issuer: http://localhost/realms/dbrepo
-    public_key: MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAqqnHQ2BWWW9vDNLRCcxD++xZg/16oqMo/c1l+lcFEjjAIJjJp/HqrPYU/U9GvquGE6PbVFtTzW1KcKawOW+FJNOA3CGo8Q1TFEfz43B8rZpKsFbJKvQGVv1Z4HaKPvLUm7iMm8Hv91cLduuoWx6Q3DPe2vg13GKKEZe7UFghF+0T9u8EKzA/XqQ0OiICmsmYPbwvf9N3bCKsB/Y10EYmZRb8IhCoV9mmO5TxgWgiuNeCTtNCv2ePYqL/U0WvyGFW0reasIK8eg3KrAUj8DpyOgPOVBn3lBGf+3KFSYi+0bwZbJZWqbC/Xlk20Go1YfeJPRIt7ImxD27R/lNjgDO/MwIDAQAB
\ No newline at end of file
diff --git a/dbrepo-user-service/rest-service/src/main/resources/application.yml b/dbrepo-user-service/rest-service/src/main/resources/application.yml
deleted file mode 100644
index ce3b0aaa7d..0000000000
--- a/dbrepo-user-service/rest-service/src/main/resources/application.yml
+++ /dev/null
@@ -1,69 +0,0 @@
-app.version: '@project.version@'
-spring:
-  main.banner-mode: off
-  autoconfigure:
-    exclude: org.springframework.boot.autoconfigure.elasticsearch.ElasticsearchRestClientAutoConfiguration, org.springframework.boot.autoconfigure.data.elasticsearch.ElasticsearchDataAutoConfiguration
-  datasource:
-    url: "jdbc:mariadb://metadata-db:3306/${METADATA_DB}"
-    driver-class-name: org.mariadb.jdbc.Driver
-    username: "${METADATA_USERNAME}"
-    password: "${METADATA_PASSWORD}"
-  jpa:
-    show-sql: false
-    database-platform: org.hibernate.dialect.MariaDBDialect
-    hibernate:
-      search:
-        default:
-          elasticsearch:
-            host: search-db
-      ddl-auto: validate
-      use-new-id-generator-mappings: false
-    open-in-view: false
-    properties:
-      hibernate:
-        default_schema: "${METADATA_DB}"
-        jdbc:
-          time_zone: UTC
-  application:
-    name: user-service
-  rabbitmq:
-    host: broker-service
-    virtual-host: dbrepo
-    username: "${BROKER_USERNAME}"
-    password: "${BROKER_PASSWORD}"
-  opensearch:
-    username: "${SEARCH_USERNAME}"
-    password: "${SEARCH_PASSWORD}"
-    host: search-db
-    port: 9200
-    protocol: http
-  cloud:
-    loadbalancer.ribbon.enabled: false
-management:
-  endpoints:
-    web:
-      exposure:
-        include: health,info,prometheus
-  endpoint:
-    health:
-      probes:
-        enabled: true
-  health:
-    readinessState:
-      enabled: true
-    livenessState:
-      enabled: true
-server:
-  port: 9098
-logging:
-  pattern.console: "%d %highlight(%-5level) %msg%n"
-  level:
-    root: warn
-    at.tuwien.: "${LOG_LEVEL}"
-    org.springframework.web.servlet.mvc.method.annotation.ExceptionHandlerExceptionResolver: debug
-fda:
-  gateway.endpoint: "${GATEWAY_ENDPOINT}"
-  default_role: "${DEFAULT_ROLE}"
-  jwt:
-    issuer: "${JWT_ISSUER}"
-    public_key: "${JWT_PUBKEY}"
\ No newline at end of file
diff --git a/dbrepo-user-service/rest-service/src/main/resources/config.properties b/dbrepo-user-service/rest-service/src/main/resources/config.properties
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/dbrepo-user-service/rest-service/src/main/resources/mariadb_hibernate.cfg.xml b/dbrepo-user-service/rest-service/src/main/resources/mariadb_hibernate.cfg.xml
deleted file mode 100644
index 01f90448ca..0000000000
--- a/dbrepo-user-service/rest-service/src/main/resources/mariadb_hibernate.cfg.xml
+++ /dev/null
@@ -1,20 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE hibernate-configuration PUBLIC
-        "-//Hibernate/Hibernate Configuration DTD 3.0//EN"
-        "http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd">
-<hibernate-configuration>
-    <session-factory>
-        <property name="current_session_context_class">thread</property>
-        <property name="transaction.coordinator_class">jdbc</property>
-        <property name="c3p0.min_size">1</property>
-        <property name="c3p0.max_size">30</property>
-        <property name="c3p0.acquire_increment">1</property>
-        <property name="c3p0.timeout">1800</property>
-        <property name="show_sql">true</property>
-        <property name="format_sql">true</property>
-        <property name="hbm2ddl.auto">update</property>
-        <mapping class="at.tuwien.querystore.Column" />
-        <mapping class="at.tuwien.querystore.Query" />
-        <mapping class="at.tuwien.querystore.Table" />
-    </session-factory>
-</hibernate-configuration>
diff --git a/dbrepo-user-service/rest-service/src/test/java/at/tuwien/BaseUnitTest.java b/dbrepo-user-service/rest-service/src/test/java/at/tuwien/BaseUnitTest.java
deleted file mode 100644
index c5adb93d3d..0000000000
--- a/dbrepo-user-service/rest-service/src/test/java/at/tuwien/BaseUnitTest.java
+++ /dev/null
@@ -1,9 +0,0 @@
-package at.tuwien;
-
-import at.tuwien.test.BaseTest;
-import org.springframework.test.context.TestPropertySource;
-
-@TestPropertySource(locations = "classpath:application.properties")
-public abstract class BaseUnitTest extends BaseTest {
-
-}
\ No newline at end of file
diff --git a/dbrepo-user-service/rest-service/src/test/java/at/tuwien/endpoint/ActuatorComponentTest.java b/dbrepo-user-service/rest-service/src/test/java/at/tuwien/endpoint/ActuatorComponentTest.java
deleted file mode 100644
index 41c39be818..0000000000
--- a/dbrepo-user-service/rest-service/src/test/java/at/tuwien/endpoint/ActuatorComponentTest.java
+++ /dev/null
@@ -1,62 +0,0 @@
-package at.tuwien.endpoint;
-
-import at.tuwien.BaseUnitTest;
-import at.tuwien.repository.sdb.UserIdxRepository;
-import com.rabbitmq.client.Channel;
-import lombok.extern.log4j.Log4j2;
-import org.junit.jupiter.api.Test;
-import org.junit.jupiter.api.extension.ExtendWith;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.boot.test.autoconfigure.web.servlet.AutoConfigureMockMvc;
-import org.springframework.boot.test.context.SpringBootTest;
-import org.springframework.boot.test.mock.mockito.MockBean;
-import org.springframework.test.context.junit.jupiter.SpringExtension;
-import org.springframework.test.web.servlet.MockMvc;
-
-import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.get;
-import static org.springframework.test.web.servlet.result.MockMvcResultHandlers.print;
-import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.jsonPath;
-import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status;
-
-@Log4j2
-@ExtendWith(SpringExtension.class)
-@AutoConfigureMockMvc
-@SpringBootTest
-public class ActuatorComponentTest extends BaseUnitTest {
-
-    @MockBean
-    private UserIdxRepository userIdxRepository;
-
-    @Autowired
-    private MockMvc mockMvc;
-
-    @MockBean
-    private Channel channel;
-
-    @Test
-    public void actuatorInfo_succeeds() throws Exception {
-        this.mockMvc.perform(get("/actuator/info"))
-                .andDo(print())
-                .andExpect(status().isOk());
-    }
-
-    @Test
-    public void actuatorLiveness_succeeds() throws Exception {
-        this.mockMvc.perform(get("/actuator/health/liveness"))
-                .andExpect(status().isOk())
-                .andExpect(jsonPath("$.status").value("UP"));
-    }
-
-    @Test
-    public void actuatorReadiness_succeeds() throws Exception {
-        this.mockMvc.perform(get("/actuator/health/readiness"))
-                .andExpect(status().isOk())
-                .andExpect(jsonPath("$.status").value("UP"));
-    }
-
-    @Test
-    public void actuatorPrometheus_succeeds() throws Exception {
-        this.mockMvc.perform(get("/actuator/prometheus"));
-    }
-
-}
diff --git a/dbrepo-user-service/rest-service/src/test/java/at/tuwien/endpoint/MaintenanceEndpointUnitTest.java b/dbrepo-user-service/rest-service/src/test/java/at/tuwien/endpoint/MaintenanceEndpointUnitTest.java
deleted file mode 100644
index 2270b2e7aa..0000000000
--- a/dbrepo-user-service/rest-service/src/test/java/at/tuwien/endpoint/MaintenanceEndpointUnitTest.java
+++ /dev/null
@@ -1,352 +0,0 @@
-package at.tuwien.endpoint;
-
-import at.tuwien.BaseUnitTest;
-import at.tuwien.api.maintenance.BannerMessageBriefDto;
-import at.tuwien.api.maintenance.BannerMessageCreateDto;
-import at.tuwien.api.maintenance.BannerMessageDto;
-import at.tuwien.api.maintenance.BannerMessageUpdateDto;
-import at.tuwien.entities.maintenance.BannerMessage;
-import at.tuwien.exception.BannerMessageNotFoundException;
-import at.tuwien.repository.sdb.UserIdxRepository;
-import at.tuwien.service.BannerMessageService;
-import lombok.extern.log4j.Log4j2;
-import org.junit.jupiter.api.Test;
-import org.junit.jupiter.api.extension.ExtendWith;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
-import org.springframework.boot.autoconfigure.amqp.RabbitAutoConfiguration;
-import org.springframework.boot.test.context.SpringBootTest;
-import org.springframework.boot.test.mock.mockito.MockBean;
-import org.springframework.http.HttpStatus;
-import org.springframework.http.ResponseEntity;
-import org.springframework.security.access.AccessDeniedException;
-import org.springframework.security.test.context.support.WithAnonymousUser;
-import org.springframework.security.test.context.support.WithMockUser;
-import org.springframework.test.context.junit.jupiter.SpringExtension;
-
-import java.util.List;
-
-import static org.junit.jupiter.api.Assertions.*;
-import static org.mockito.Mockito.*;
-
-@Log4j2
-@EnableAutoConfiguration(exclude = RabbitAutoConfiguration.class)
-@SpringBootTest
-@ExtendWith(SpringExtension.class)
-public class MaintenanceEndpointUnitTest extends BaseUnitTest {
-
-    @MockBean
-    private UserIdxRepository userIdxRepository;
-
-    @MockBean
-    private BannerMessageService bannerMessageService;
-
-    @Autowired
-    private MaintenanceEndpoint maintenanceEndpoint;
-
-    @Test
-    @WithAnonymousUser
-    public void list_anonymous_succeeds() {
-
-        /* test */
-        list_generic();
-    }
-
-    @Test
-    @WithMockUser(username = USER_4_USERNAME)
-    public void list_noRole_succeeds() {
-
-        /* test */
-        list_generic();
-    }
-
-    @Test
-    @WithMockUser(username = USER_1_USERNAME, authorities = {"list-maintenance-messages"})
-    public void list_hasRole_succeeds() {
-
-        /* test */
-        list_generic();
-    }
-
-    @Test
-    @WithAnonymousUser
-    public void find_anonymous_succeeds() throws BannerMessageNotFoundException {
-
-        /* test */
-        find_generic(BANNER_MESSAGE_1_ID, BANNER_MESSAGE_1);
-    }
-
-    @Test
-    @WithMockUser(username = USER_4_USERNAME)
-    public void find_noRole_succeeds() throws BannerMessageNotFoundException {
-
-        /* test */
-        find_generic(BANNER_MESSAGE_1_ID, BANNER_MESSAGE_1);
-    }
-
-    @Test
-    @WithMockUser(username = USER_1_USERNAME, authorities = {"find-maintenance-message"})
-    public void find_hasRole_succeeds() throws BannerMessageNotFoundException {
-
-        /* test */
-        find_generic(BANNER_MESSAGE_1_ID, BANNER_MESSAGE_1);
-    }
-
-    @Test
-    @WithMockUser(username = USER_1_USERNAME, authorities = {"find-maintenance-message"})
-    public void find_hasRoleNotFound_fails() {
-
-        /* test */
-        assertThrows(BannerMessageNotFoundException.class, () -> {
-            find_generic(BANNER_MESSAGE_1_ID, null);
-        });
-    }
-
-    @Test
-    @WithAnonymousUser
-    public void active_anonymous_succeeds() {
-
-        /* test */
-        active_generic();
-    }
-
-    @Test
-    @WithMockUser(username = USER_4_USERNAME)
-    public void active_noRole_succeeds() {
-
-        /* test */
-        active_generic();
-    }
-
-    @Test
-    @WithMockUser(username = USER_1_USERNAME, authorities = {"list-maintenance-messages"})
-    public void active_hasRole_succeeds() {
-
-        /* test */
-        active_generic();
-    }
-
-    @Test
-    @WithAnonymousUser
-    public void create_anonymous_fails() {
-
-        /* test */
-        assertThrows(AccessDeniedException.class, () -> {
-            create_generic(BANNER_MESSAGE_1_CREATE_DTO, BANNER_MESSAGE_1);
-        });
-    }
-
-    @Test
-    @WithMockUser(username = USER_4_USERNAME)
-    public void create_noRole_fails() {
-
-        /* test */
-        assertThrows(AccessDeniedException.class, () -> {
-            create_generic(BANNER_MESSAGE_1_CREATE_DTO, BANNER_MESSAGE_1);
-        });
-    }
-
-    @Test
-    @WithMockUser(username = USER_2_USERNAME, authorities = {"create-maintenance-message"})
-    public void create_hasRole_succeeds() {
-
-        /* test */
-        create_generic(BANNER_MESSAGE_1_CREATE_DTO, BANNER_MESSAGE_1);
-    }
-
-    @Test
-    @WithAnonymousUser
-    public void update_anonymous_fails() {
-
-        /* test */
-        assertThrows(AccessDeniedException.class, () -> {
-            update_generic(BANNER_MESSAGE_1_UPDATE_DTO, BANNER_MESSAGE_1_ID, BANNER_MESSAGE_1);
-        });
-    }
-
-    @Test
-    @WithMockUser(username = USER_4_USERNAME)
-    public void update_noRole_fails() {
-
-        /* test */
-        assertThrows(AccessDeniedException.class, () -> {
-            update_generic(BANNER_MESSAGE_1_UPDATE_DTO, BANNER_MESSAGE_1_ID, BANNER_MESSAGE_1);
-        });
-    }
-
-    @Test
-    @WithMockUser(username = USER_2_USERNAME, authorities = {"update-maintenance-message"})
-    public void update_hasRole_succeeds() throws BannerMessageNotFoundException {
-
-        /* test */
-        update_generic(BANNER_MESSAGE_1_UPDATE_DTO, BANNER_MESSAGE_1_ID, BANNER_MESSAGE_1);
-    }
-
-    @Test
-    @WithMockUser(username = USER_2_USERNAME, authorities = {"update-maintenance-message"})
-    public void update_hasRoleNotFound_fails() {
-
-        /* test */
-        assertThrows(BannerMessageNotFoundException.class, () -> {
-            update_generic(BANNER_MESSAGE_1_UPDATE_DTO, BANNER_MESSAGE_1_ID, null);
-        });
-    }
-
-    @Test
-    @WithAnonymousUser
-    public void delete_anonymous_fails() {
-
-        /* test */
-        assertThrows(AccessDeniedException.class, () -> {
-            delete_generic(BANNER_MESSAGE_1_ID, BANNER_MESSAGE_1);
-        });
-    }
-
-    @Test
-    @WithMockUser(username = USER_4_USERNAME)
-    public void delete_noRole_fails() {
-
-        /* test */
-        assertThrows(AccessDeniedException.class, () -> {
-            delete_generic(BANNER_MESSAGE_1_ID, BANNER_MESSAGE_1);
-        });
-    }
-
-    @Test
-    @WithMockUser(username = USER_2_USERNAME, authorities = {"delete-maintenance-message"})
-    public void delete_hasRole_succeeds() throws BannerMessageNotFoundException {
-
-        /* test */
-        delete_generic(BANNER_MESSAGE_1_ID, BANNER_MESSAGE_1);
-    }
-
-    @Test
-    @WithMockUser(username = USER_2_USERNAME, authorities = {"delete-maintenance-message"})
-    public void delete_hasRoleNotFound_fails() {
-
-        /* test */
-        assertThrows(BannerMessageNotFoundException.class, () -> {
-            delete_generic(BANNER_MESSAGE_1_ID, null);
-        });
-    }
-
-    /* ################################################################################################### */
-    /* ## GENERIC TEST CASES                                                                            ## */
-    /* ################################################################################################### */
-
-    protected void list_generic() {
-
-        /* mock */
-        when(bannerMessageService.findAll())
-                .thenReturn(List.of(BANNER_MESSAGE_1, BANNER_MESSAGE_2));
-
-        /* test */
-        final ResponseEntity<List<BannerMessageDto>> response = maintenanceEndpoint.list();
-        assertEquals(HttpStatus.OK, response.getStatusCode());
-        assertNotNull(response.getBody());
-        final List<BannerMessageDto> body = response.getBody();
-        assertEquals(2, body.size());
-        final BannerMessageDto message0 = body.get(0);
-        assertEquals(BANNER_MESSAGE_1_ID, message0.getId());
-        assertEquals(BANNER_MESSAGE_1_TYPE_DTO, message0.getType());
-        assertEquals(BANNER_MESSAGE_1_MESSAGE, message0.getMessage());
-        final BannerMessageDto message1 = body.get(1);
-        assertEquals(BANNER_MESSAGE_2_ID, message1.getId());
-        assertEquals(BANNER_MESSAGE_2_TYPE_DTO, message1.getType());
-        assertEquals(BANNER_MESSAGE_2_MESSAGE, message1.getMessage());
-    }
-
-    protected void find_generic(Long messageId, BannerMessage message) throws BannerMessageNotFoundException {
-
-        /* mock */
-        if (message != null) {
-            when(bannerMessageService.find(messageId))
-                    .thenReturn(message);
-        } else {
-            doThrow(BannerMessageNotFoundException.class)
-                    .when(bannerMessageService)
-                    .find(messageId);
-        }
-
-        /* test */
-        final ResponseEntity<BannerMessageDto> response = maintenanceEndpoint.find(messageId);
-        assertEquals(HttpStatus.OK, response.getStatusCode());
-        assertNotNull(response.getBody());
-        final BannerMessageDto body = response.getBody();
-        assertEquals(BANNER_MESSAGE_1_ID, body.getId());
-        assertEquals(BANNER_MESSAGE_1_MESSAGE, body.getMessage());
-        assertEquals(BANNER_MESSAGE_1_TYPE_DTO, body.getType());
-        assertEquals(BANNER_MESSAGE_1_START, body.getDisplayStart());
-        assertEquals(BANNER_MESSAGE_1_END, body.getDisplayEnd());
-    }
-
-    protected void active_generic() {
-
-        /* mock */
-        when(bannerMessageService.getActive())
-                .thenReturn(List.of(BANNER_MESSAGE_1));
-
-        /* test */
-        final ResponseEntity<List<BannerMessageBriefDto>> response = maintenanceEndpoint.active();
-        assertEquals(HttpStatus.OK, response.getStatusCode());
-        assertNotNull(response.getBody());
-        final List<BannerMessageBriefDto> body = response.getBody();
-        assertEquals(1, body.size());
-        final BannerMessageBriefDto message0 = body.get(0);
-        assertEquals(BANNER_MESSAGE_1_TYPE_DTO, message0.getType());
-        assertEquals(BANNER_MESSAGE_1_MESSAGE, message0.getMessage());
-    }
-
-    protected void create_generic(BannerMessageCreateDto data, BannerMessage message) {
-
-        /* mock */
-        when(bannerMessageService.create(data))
-                .thenReturn(message);
-
-        /* test */
-        final ResponseEntity<BannerMessageDto> response = maintenanceEndpoint.create(data);
-        assertEquals(HttpStatus.CREATED, response.getStatusCode());
-        assertNotNull(response.getBody());
-    }
-
-    protected void update_generic(BannerMessageUpdateDto data, Long messageId, BannerMessage message)
-            throws BannerMessageNotFoundException {
-
-        /* mock */
-        if (message != null) {
-            when(bannerMessageService.update(messageId, data))
-                    .thenReturn(message);
-        } else {
-            doThrow(BannerMessageNotFoundException.class)
-                    .when(bannerMessageService)
-                    .update(messageId, data);
-        }
-
-        /* test */
-        final ResponseEntity<BannerMessageDto> response = maintenanceEndpoint.update(messageId, data);
-        assertEquals(HttpStatus.ACCEPTED, response.getStatusCode());
-        assertNotNull(response.getBody());
-    }
-
-    protected void delete_generic(Long messageId, BannerMessage message)
-            throws BannerMessageNotFoundException {
-
-        /* mock */
-        if (message != null) {
-            when(bannerMessageService.find(messageId))
-                    .thenReturn(message);
-            doNothing()
-                    .when(bannerMessageService)
-                    .delete(messageId);
-        } else {
-            doThrow(BannerMessageNotFoundException.class)
-                    .when(bannerMessageService)
-                    .delete(messageId);
-        }
-
-        /* test */
-        final ResponseEntity<?> response = maintenanceEndpoint.delete(messageId);
-        assertEquals(HttpStatus.ACCEPTED, response.getStatusCode());
-        assertNull(response.getBody());
-    }
-}
diff --git a/dbrepo-user-service/rest-service/src/test/java/at/tuwien/endpoint/SwaggerComponentTest.java b/dbrepo-user-service/rest-service/src/test/java/at/tuwien/endpoint/SwaggerComponentTest.java
deleted file mode 100644
index 4ced37e363..0000000000
--- a/dbrepo-user-service/rest-service/src/test/java/at/tuwien/endpoint/SwaggerComponentTest.java
+++ /dev/null
@@ -1,42 +0,0 @@
-package at.tuwien.endpoint;
-
-import at.tuwien.BaseUnitTest;
-import at.tuwien.repository.sdb.UserIdxRepository;
-import com.rabbitmq.client.Channel;
-import lombok.extern.log4j.Log4j2;
-import org.junit.jupiter.api.Test;
-import org.junit.jupiter.api.extension.ExtendWith;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.boot.test.autoconfigure.web.servlet.AutoConfigureMockMvc;
-import org.springframework.boot.test.context.SpringBootTest;
-import org.springframework.boot.test.mock.mockito.MockBean;
-import org.springframework.test.context.junit.jupiter.SpringExtension;
-import org.springframework.test.web.servlet.MockMvc;
-
-import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.get;
-import static org.springframework.test.web.servlet.result.MockMvcResultHandlers.print;
-import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status;
-
-@Log4j2
-@ExtendWith(SpringExtension.class)
-@AutoConfigureMockMvc
-@SpringBootTest
-public class SwaggerComponentTest extends BaseUnitTest {
-
-    @MockBean
-    private UserIdxRepository userIdxRepository;
-
-    @Autowired
-    private MockMvc mockMvc;
-
-    @MockBean
-    private Channel channel;
-
-    @Test
-    public void swaggerUi_succeeds() throws Exception {
-        this.mockMvc.perform(get("/swagger-ui/index.html"))
-                .andDo(print())
-                .andExpect(status().isOk());
-    }
-
-}
diff --git a/dbrepo-user-service/rest-service/src/test/java/at/tuwien/endpoint/UserEndpointUnitTest.java b/dbrepo-user-service/rest-service/src/test/java/at/tuwien/endpoint/UserEndpointUnitTest.java
deleted file mode 100644
index 572ad17769..0000000000
--- a/dbrepo-user-service/rest-service/src/test/java/at/tuwien/endpoint/UserEndpointUnitTest.java
+++ /dev/null
@@ -1,444 +0,0 @@
-package at.tuwien.endpoint;
-
-import at.tuwien.BaseUnitTest;
-import at.tuwien.api.auth.SignupRequestDto;
-import at.tuwien.api.user.*;
-import at.tuwien.entities.user.Realm;
-import at.tuwien.entities.user.Role;
-import at.tuwien.entities.user.User;
-import at.tuwien.exception.*;
-import at.tuwien.repository.sdb.UserIdxRepository;
-import at.tuwien.service.RealmService;
-import at.tuwien.service.RoleService;
-import at.tuwien.service.UserService;
-import lombok.extern.log4j.Log4j2;
-import org.junit.jupiter.api.Test;
-import org.junit.jupiter.api.extension.ExtendWith;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
-import org.springframework.boot.autoconfigure.amqp.RabbitAutoConfiguration;
-import org.springframework.boot.test.context.SpringBootTest;
-import org.springframework.boot.test.mock.mockito.MockBean;
-import org.springframework.http.HttpStatus;
-import org.springframework.http.ResponseEntity;
-import org.springframework.security.access.AccessDeniedException;
-import org.springframework.security.test.context.support.WithAnonymousUser;
-import org.springframework.security.test.context.support.WithMockUser;
-import org.springframework.test.context.junit.jupiter.SpringExtension;
-
-import java.security.Principal;
-import java.util.List;
-import java.util.UUID;
-
-import static org.junit.jupiter.api.Assertions.*;
-import static org.mockito.Mockito.*;
-
-@Log4j2
-@EnableAutoConfiguration(exclude = RabbitAutoConfiguration.class)
-@SpringBootTest
-@ExtendWith(SpringExtension.class)
-public class UserEndpointUnitTest extends BaseUnitTest {
-
-    @MockBean
-    private UserIdxRepository userIdxRepository;
-
-    @MockBean
-    private UserService userService;
-
-    @MockBean
-    private RealmService realmService;
-
-    @MockBean
-    private RoleService roleService;
-
-    @Autowired
-    private UserEndpoint userEndpoint;
-
-    @Test
-    @WithAnonymousUser
-    public void findAll_anonymous_succeeds() {
-
-        /* test */
-        findAll_generic();
-    }
-
-    @Test
-    @WithMockUser(username = USER_1_USERNAME)
-    public void findAll_noRole_succeeds() {
-
-        /* test */
-        findAll_generic();
-    }
-
-    @Test
-    @WithAnonymousUser
-    public void create_anonymous_succeeds() throws UserNotFoundException, UserEmailAlreadyExistsException,
-            RealmNotFoundException, RoleNotFoundException, RemoteUnavailableException, UserAlreadyExistsException {
-        final SignupRequestDto request = SignupRequestDto.builder()
-                .email(USER_1_EMAIL)
-                .username(USER_1_USERNAME)
-                .password(USER_1_PASSWORD)
-                .build();
-
-        /* test */
-        create_generic(USER_1, REALM_DBREPO, ROLE_DEFAULT_RESEARCHER_ROLES, request);
-    }
-
-    @Test
-    @WithAnonymousUser
-    public void create_realmNotFound_fails() {
-        final SignupRequestDto request = SignupRequestDto.builder()
-                .email(USER_1_EMAIL)
-                .username(USER_1_USERNAME)
-                .password(USER_1_PASSWORD)
-                .build();
-
-        /* test */
-        assertThrows(RealmNotFoundException.class, () -> {
-            create_generic(USER_1, null, ROLE_DEFAULT_RESEARCHER_ROLES, request);
-        });
-    }
-
-    @Test
-    @WithMockUser(username = USER_1_USERNAME)
-    public void create_isAuthenticated_fails() {
-        final SignupRequestDto request = SignupRequestDto.builder()
-                .email(USER_2_EMAIL)
-                .username(USER_2_USERNAME)
-                .password(USER_2_PASSWORD)
-                .build();
-
-        /* test */
-        assertThrows(AccessDeniedException.class, () -> {
-            create_generic(USER_2, REALM_DBREPO, ROLE_DEFAULT_RESEARCHER_ROLES, request);
-        });
-    }
-
-    @Test
-    @WithAnonymousUser
-    public void find_anonymous_fails() {
-
-        /* test */
-        assertThrows(AccessDeniedException.class, () -> {
-            find_generic(USER_1_ID.toString(), USER_1, null);
-        });
-    }
-
-    @Test
-    @WithMockUser(username = USER_1_USERNAME)
-    public void find_self_succeeds() throws UserNotFoundException, NotAllowedException {
-
-        /* test */
-        find_generic(USER_1_ID.toString(), USER_1, USER_1_PRINCIPAL);
-    }
-
-    @Test
-    @WithMockUser(username = USER_1_USERNAME)
-    public void find_foreign_fails() {
-
-        /* test */
-        assertThrows(NotAllowedException.class, () -> {
-            find_generic(USER_2_ID.toString(), USER_2, USER_1_PRINCIPAL);
-        });
-    }
-
-    @Test
-    @WithMockUser(username = USER_3_USERNAME, authorities = {"find-user"})
-    public void find_hasRoleForeign_succeeds() {
-
-        /* test */
-        assertThrows(NotAllowedException.class, () -> {
-            find_generic(USER_2_ID.toString(), USER_2, USER_3_PRINCIPAL);
-        });
-    }
-
-    @Test
-    @WithAnonymousUser
-    public void modify_anonymous_fails() {
-        final UserUpdateDto request = UserUpdateDto.builder()
-                .firstname(USER_1_FIRSTNAME)
-                .lastname(USER_1_LASTNAME)
-                .affiliation(USER_1_AFFILIATION)
-                .orcid(USER_1_ORCID)
-                .build();
-
-        /* test */
-        assertThrows(AccessDeniedException.class, () -> {
-            modify_generic(USER_1_ID.toString(), USER_1, null, request);
-        });
-    }
-
-    @Test
-    @WithMockUser(username = USER_4_USERNAME)
-    public void modify_noRole_fails() {
-        final UserUpdateDto request = UserUpdateDto.builder()
-                .firstname(USER_1_FIRSTNAME)
-                .lastname(USER_1_LASTNAME)
-                .affiliation(USER_1_AFFILIATION)
-                .orcid(USER_1_ORCID)
-                .build();
-
-        /* test */
-        assertThrows(AccessDeniedException.class, () -> {
-            modify_generic(USER_1_ID.toString(), USER_1, USER_4_PRINCIPAL, request);
-        });
-    }
-
-    @Test
-    @WithMockUser(username = USER_2_USERNAME, authorities = {"modify-user-information"})
-    public void modify_hasRoleForeign_fails() {
-        final UserUpdateDto request = UserUpdateDto.builder()
-                .firstname(USER_1_FIRSTNAME)
-                .lastname(USER_1_LASTNAME)
-                .affiliation(USER_1_AFFILIATION)
-                .orcid(USER_1_ORCID)
-                .build();
-
-        /* test */
-        assertThrows(ForeignUserException.class, () -> {
-            modify_generic(USER_1_ID.toString(), USER_1, USER_2_PRINCIPAL, request);
-        });
-    }
-
-    @Test
-    @WithMockUser(username = USER_1_USERNAME, authorities = {"modify-user-information"})
-    public void modify_succeeds() throws UserNotFoundException, ForeignUserException, UserAttributeNotFoundException {
-        final UserUpdateDto request = UserUpdateDto.builder()
-                .firstname(USER_1_FIRSTNAME)
-                .lastname(USER_1_LASTNAME)
-                .affiliation(USER_1_AFFILIATION)
-                .orcid(USER_1_ORCID)
-                .build();
-
-        /* test */
-        modify_generic(USER_1_ID.toString(), USER_1, USER_1_PRINCIPAL, request);
-    }
-
-    @Test
-    @WithAnonymousUser
-    public void theme_anonymous_fails() {
-        final UserThemeSetDto request = UserThemeSetDto.builder()
-                .themeDark(USER_1_THEME_DARK)
-                .build();
-
-        /* test */
-        assertThrows(AccessDeniedException.class, () -> {
-            theme_generic(USER_1_ID.toString(), USER_1, null, request);
-        });
-    }
-
-    @Test
-    @WithMockUser(username = USER_4_USERNAME)
-    public void theme_noRole_fails() {
-        final UserThemeSetDto request = UserThemeSetDto.builder()
-                .themeDark(USER_1_THEME_DARK)
-                .build();
-
-        /* test */
-        assertThrows(AccessDeniedException.class, () -> {
-            theme_generic(USER_4_ID.toString(), USER_4, USER_4_PRINCIPAL, request);
-        });
-    }
-
-    @Test
-    @WithMockUser(username = USER_2_USERNAME, authorities = {"modify-user-theme"})
-    public void theme_hasRoleForeign_fails() {
-        final UserThemeSetDto request = UserThemeSetDto.builder()
-                .themeDark(USER_1_THEME_DARK)
-                .build();
-
-        /* test */
-        assertThrows(ForeignUserException.class, () -> {
-            theme_generic(USER_1_ID.toString(), USER_1, USER_2_PRINCIPAL, request);
-        });
-    }
-
-    @Test
-    @WithMockUser(username = USER_1_USERNAME, authorities = {"modify-user-theme"})
-    public void theme_succeeds() throws UserNotFoundException, ForeignUserException, UserAttributeNotFoundException {
-        final UserThemeSetDto request = UserThemeSetDto.builder()
-                .themeDark(USER_1_THEME_DARK)
-                .build();
-
-        /* test */
-        theme_generic(USER_1_ID.toString(), USER_1, USER_1_PRINCIPAL, request);
-    }
-
-    @Test
-    @WithAnonymousUser
-    public void password_anonymous_fails() {
-        final UserPasswordDto request = UserPasswordDto.builder()
-                .password(USER_1_PASSWORD)
-                .build();
-
-        /* test */
-        assertThrows(AccessDeniedException.class, () -> {
-            password_generic(USER_1_ID.toString(), USER_1, null, request);
-        });
-    }
-
-    @Test
-    @WithMockUser(username = USER_4_USERNAME)
-    public void password_noRoleForeign_fails() {
-        final UserPasswordDto request = UserPasswordDto.builder()
-                .password(USER_1_PASSWORD)
-                .build();
-
-        /* test */
-        assertThrows(ForeignUserException.class, () -> {
-            password_generic(USER_1_ID.toString(), USER_1, USER_4_PRINCIPAL, request);
-        });
-    }
-
-    @Test
-    @WithMockUser(username = USER_1_USERNAME)
-    public void password_succeeds() throws UserNotFoundException, ForeignUserException {
-        final UserPasswordDto request = UserPasswordDto.builder()
-                .password(USER_1_PASSWORD)
-                .build();
-
-        /* test */
-        password_generic(USER_1_ID.toString(), USER_1, USER_1_PRINCIPAL, request);
-    }
-
-    /* ################################################################################################### */
-    /* ## GENERIC TEST CASES                                                                            ## */
-    /* ################################################################################################### */
-
-    protected void findAll_generic() {
-
-        /* mock */
-        when(userService.findAll())
-                .thenReturn(List.of(USER_1, USER_2));
-
-        /* test */
-        final ResponseEntity<List<UserBriefDto>> response = userEndpoint.findAll();
-        assertEquals(HttpStatus.OK, response.getStatusCode());
-        final List<UserBriefDto> body = response.getBody();
-        assertNotNull(body);
-        assertEquals(2, body.size());
-    }
-
-    protected void create_generic(User user, Realm realm, Role role, SignupRequestDto data)
-            throws UserEmailAlreadyExistsException, RealmNotFoundException, RoleNotFoundException,
-            UserAlreadyExistsException {
-
-        /* mock */
-        if (realm != null) {
-            when(realmService.find(REALM_DBREPO_NAME))
-                    .thenReturn(realm);
-        } else {
-            doThrow(RealmNotFoundException.class)
-                    .when(realmService)
-                    .find(REALM_DBREPO_NAME);
-        }
-        if (role != null) {
-            when(roleService.find(ROLE_DEFAULT_RESEARCHER_ROLES_NAME))
-                    .thenReturn(role);
-        } else {
-            doThrow(RoleNotFoundException.class)
-                    .when(roleService)
-                    .find(ROLE_DEFAULT_REALM_DBREPO_ROLES_NAME);
-        }
-        if (user != null) {
-            when(userService.create(data, realm))
-                    .thenReturn(user);
-        } else {
-            doThrow(UserNotFoundException.class)
-                    .when(userService)
-                    .create(data, realm);
-        }
-
-        /* test */
-        final ResponseEntity<UserBriefDto> response = userEndpoint.create(data);
-        assertEquals(HttpStatus.CREATED, response.getStatusCode());
-        final UserBriefDto body = response.getBody();
-        assertNotNull(body);
-    }
-
-    protected void find_generic(String id, User user, Principal principal) throws UserNotFoundException,
-            NotAllowedException {
-
-        /* mock */
-        if (user != null) {
-            when(userService.find(UUID.fromString(id)))
-                    .thenReturn(user);
-        } else {
-            doThrow(UserNotFoundException.class)
-                    .when(userService)
-                    .find(UUID.fromString(id));
-        }
-
-        /* test */
-        final ResponseEntity<UserDto> response = userEndpoint.find(id, principal);
-        assertEquals(HttpStatus.OK, response.getStatusCode());
-        final UserDto body = response.getBody();
-        assertNotNull(body);
-    }
-
-    protected void modify_generic(String id, User user, Principal principal, UserUpdateDto data)
-            throws UserNotFoundException, ForeignUserException, UserAttributeNotFoundException {
-
-        /* mock */
-        if (user != null) {
-            when(userService.find(UUID.fromString(id)))
-                    .thenReturn(user);
-        } else {
-            doThrow(UserNotFoundException.class)
-                    .when(userService)
-                    .find(UUID.fromString(id));
-        }
-        when(userService.modify(UUID.fromString(id), data))
-                .thenReturn(user);
-
-        /* test */
-        final ResponseEntity<UserDto> response = userEndpoint.modify(id, data, principal);
-        assertEquals(HttpStatus.ACCEPTED, response.getStatusCode());
-        final UserDto body = response.getBody();
-        assertNotNull(body);
-    }
-
-    protected void theme_generic(String id, User user, Principal principal, UserThemeSetDto data)
-            throws UserNotFoundException, ForeignUserException, UserAttributeNotFoundException {
-
-        /* mock */
-        if (user != null) {
-            when(userService.find(UUID.fromString(id)))
-                    .thenReturn(user);
-        } else {
-            doThrow(UserNotFoundException.class)
-                    .when(userService)
-                    .find(UUID.fromString(id));
-        }
-        when(userService.toggleTheme(UUID.fromString(id), data))
-                .thenReturn(user);
-
-        /* test */
-        final ResponseEntity<UserDto> response = userEndpoint.theme(id, data, principal);
-        assertEquals(HttpStatus.ACCEPTED, response.getStatusCode());
-        final UserDto body = response.getBody();
-        assertNotNull(body);
-    }
-
-    protected void password_generic(String id, User user, Principal principal, UserPasswordDto data)
-            throws UserNotFoundException, ForeignUserException {
-
-        /* mock */
-        if (user != null) {
-            when(userService.find(UUID.fromString(id)))
-                    .thenReturn(user);
-        } else {
-            doThrow(UserNotFoundException.class)
-                    .when(userService)
-                    .find(UUID.fromString(id));
-        }
-        when(userService.updatePassword(UUID.fromString(id), data))
-                .thenReturn(user);
-
-        /* test */
-        final ResponseEntity<UserDto> response = userEndpoint.password(id, data, principal);
-        assertEquals(HttpStatus.ACCEPTED, response.getStatusCode());
-        final UserDto body = response.getBody();
-        assertNotNull(body);
-    }
-}
diff --git a/dbrepo-user-service/rest-service/src/test/java/at/tuwien/mapper/UserMapperTest.java b/dbrepo-user-service/rest-service/src/test/java/at/tuwien/mapper/UserMapperTest.java
deleted file mode 100644
index 9cabbafa84..0000000000
--- a/dbrepo-user-service/rest-service/src/test/java/at/tuwien/mapper/UserMapperTest.java
+++ /dev/null
@@ -1,45 +0,0 @@
-package at.tuwien.mapper;
-
-import at.tuwien.BaseUnitTest;
-import at.tuwien.entities.user.User;
-import at.tuwien.repository.sdb.UserIdxRepository;
-import lombok.extern.log4j.Log4j2;
-import org.junit.jupiter.api.Test;
-import org.springframework.boot.test.context.SpringBootTest;
-import org.springframework.boot.test.mock.mockito.MockBean;
-
-import static org.junit.jupiter.api.Assertions.assertEquals;
-import static org.junit.jupiter.api.Assertions.assertNotEquals;
-
-@Log4j2
-@SpringBootTest
-public class UserMapperTest extends BaseUnitTest {
-
-    @MockBean
-    private UserIdxRepository userIdxRepository;
-
-    @Test
-    public void equals_fails() {
-
-        /* test */
-        assertNotEquals(USER_1, USER_2);
-    }
-
-    @Test
-    public void equals_identity_succeeds() {
-
-        /* test */
-        assertEquals(USER_1, USER_1);
-    }
-
-    @Test
-    public void equals_similar_succeeds() {
-        final User tmp = User.builder()
-                .id(USER_1_ID)
-                .build();
-
-        /* test */
-        assertEquals(USER_1, tmp);
-    }
-
-}
diff --git a/dbrepo-user-service/rest-service/src/test/java/at/tuwien/service/BannerMessageServiceIntegrationTest.java b/dbrepo-user-service/rest-service/src/test/java/at/tuwien/service/BannerMessageServiceIntegrationTest.java
deleted file mode 100644
index 132257159b..0000000000
--- a/dbrepo-user-service/rest-service/src/test/java/at/tuwien/service/BannerMessageServiceIntegrationTest.java
+++ /dev/null
@@ -1,143 +0,0 @@
-package at.tuwien.service;
-
-import at.tuwien.BaseUnitTest;
-import at.tuwien.api.maintenance.BannerMessageCreateDto;
-import at.tuwien.api.maintenance.BannerMessageTypeDto;
-import at.tuwien.api.maintenance.BannerMessageUpdateDto;
-import at.tuwien.entities.maintenance.BannerMessage;
-import at.tuwien.entities.maintenance.BannerMessageType;
-import at.tuwien.exception.BannerMessageNotFoundException;
-import at.tuwien.repository.mdb.BannerMessageRepository;
-import at.tuwien.repository.sdb.UserIdxRepository;
-import lombok.extern.log4j.Log4j2;
-import org.junit.jupiter.api.BeforeEach;
-import org.junit.jupiter.api.Test;
-import org.junit.jupiter.api.extension.ExtendWith;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
-import org.springframework.boot.autoconfigure.amqp.RabbitAutoConfiguration;
-import org.springframework.boot.test.context.SpringBootTest;
-import org.springframework.boot.test.mock.mockito.MockBean;
-import org.springframework.test.annotation.DirtiesContext;
-import org.springframework.test.context.junit.jupiter.SpringExtension;
-
-import java.util.List;
-
-import static org.junit.jupiter.api.Assertions.*;
-
-@Log4j2
-@EnableAutoConfiguration(exclude = RabbitAutoConfiguration.class)
-@DirtiesContext(classMode = DirtiesContext.ClassMode.BEFORE_EACH_TEST_METHOD)
-@SpringBootTest
-@ExtendWith(SpringExtension.class)
-public class BannerMessageServiceIntegrationTest extends BaseUnitTest {
-
-    @MockBean
-    private UserIdxRepository userIdxRepository;
-
-    @Autowired
-    private BannerMessageRepository bannerMessageRepository;
-
-    @Autowired
-    private BannerMessageService bannerMessageService;
-
-    @BeforeEach
-    public void beforeEach() {
-        bannerMessageRepository.save(BANNER_MESSAGE_1);
-        bannerMessageRepository.save(BANNER_MESSAGE_2);
-    }
-
-    @Test
-    public void findAll_succeeds() {
-
-        /* test */
-        final List<BannerMessage> response = bannerMessageService.findAll();
-        assertEquals(2, response.size());
-    }
-
-    @Test
-    public void getActive_succeeds() {
-
-        /* test */
-        final List<BannerMessage> response = bannerMessageService.getActive();
-        assertEquals(1, response.size());
-        final BannerMessage message0 = response.get(0);
-        assertEquals(BANNER_MESSAGE_1_ID, message0.getId());
-        assertEquals(BANNER_MESSAGE_1_MESSAGE, message0.getMessage());
-        assertEquals(BANNER_MESSAGE_1_TYPE, message0.getType());
-    }
-
-    @Test
-    public void find_succeeds() throws BannerMessageNotFoundException {
-
-        /* test */
-        final BannerMessage response = bannerMessageService.find(BANNER_MESSAGE_1_ID);
-        assertEquals(BANNER_MESSAGE_1_ID, response.getId());
-        assertEquals(BANNER_MESSAGE_1_MESSAGE, response.getMessage());
-        assertEquals(BANNER_MESSAGE_1_TYPE, response.getType());
-    }
-
-    @Test
-    public void find_notFound_fails() {
-
-        /* test */
-        assertThrows(BannerMessageNotFoundException.class, () -> {
-            bannerMessageService.find(9999L);
-        });
-    }
-
-    @Test
-    public void create_succeeds() {
-        final BannerMessageCreateDto request = BannerMessageCreateDto.builder()
-                .message("test")
-                .type(BannerMessageTypeDto.INFO)
-                .build();
-
-        /* test */
-        final BannerMessage response = bannerMessageService.create(request);
-        assertEquals("test", response.getMessage());
-        assertEquals(BannerMessageType.INFO, response.getType());
-    }
-
-    @Test
-    public void update_succeeds() throws BannerMessageNotFoundException {
-        final BannerMessageUpdateDto request = BannerMessageUpdateDto.builder()
-                .message("test")
-                .type(BannerMessageTypeDto.INFO)
-                .build();
-
-        /* test */
-        final BannerMessage response = bannerMessageService.update(BANNER_MESSAGE_1_ID, request);
-        assertEquals("test", response.getMessage());
-        assertEquals(BannerMessageType.INFO, response.getType());
-    }
-
-    @Test
-    public void update_notFound_fails() {
-        final BannerMessageUpdateDto request = BannerMessageUpdateDto.builder()
-                .message("test")
-                .type(BannerMessageTypeDto.INFO)
-                .build();
-
-        /* test */
-        assertThrows(BannerMessageNotFoundException.class, () -> {
-            bannerMessageService.update(9999L, request);
-        });
-    }
-
-    @Test
-    public void delete_succeeds() throws BannerMessageNotFoundException {
-
-        /* test */
-        bannerMessageService.delete(BANNER_MESSAGE_1_ID);
-    }
-
-    @Test
-    public void delete_notFound_fails() {
-
-        /* test */
-        assertThrows(BannerMessageNotFoundException.class, () -> {
-            bannerMessageService.delete(9999L);
-        });
-    }
-}
diff --git a/dbrepo-user-service/rest-service/src/test/java/at/tuwien/service/RealmServiceIntegrationTest.java b/dbrepo-user-service/rest-service/src/test/java/at/tuwien/service/RealmServiceIntegrationTest.java
deleted file mode 100644
index f4a00ba858..0000000000
--- a/dbrepo-user-service/rest-service/src/test/java/at/tuwien/service/RealmServiceIntegrationTest.java
+++ /dev/null
@@ -1,62 +0,0 @@
-package at.tuwien.service;
-
-import at.tuwien.BaseUnitTest;
-import at.tuwien.entities.user.Realm;
-import at.tuwien.exception.RealmNotFoundException;
-import at.tuwien.repository.mdb.RealmRepository;
-import at.tuwien.repository.sdb.UserIdxRepository;
-import lombok.extern.log4j.Log4j2;
-import org.junit.jupiter.api.BeforeEach;
-import org.junit.jupiter.api.Test;
-import org.junit.jupiter.api.extension.ExtendWith;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
-import org.springframework.boot.autoconfigure.amqp.RabbitAutoConfiguration;
-import org.springframework.boot.test.context.SpringBootTest;
-import org.springframework.boot.test.mock.mockito.MockBean;
-import org.springframework.test.annotation.DirtiesContext;
-import org.springframework.test.context.junit.jupiter.SpringExtension;
-
-import static org.junit.jupiter.api.Assertions.*;
-
-@Log4j2
-@EnableAutoConfiguration(exclude = RabbitAutoConfiguration.class)
-@DirtiesContext(classMode = DirtiesContext.ClassMode.BEFORE_EACH_TEST_METHOD)
-@SpringBootTest
-@ExtendWith(SpringExtension.class)
-public class RealmServiceIntegrationTest extends BaseUnitTest {
-
-    @MockBean
-    private UserIdxRepository userIdxRepository;
-
-    @Autowired
-    private RealmRepository realmRepository;
-
-    @Autowired
-    private RealmService realmService;
-
-    @BeforeEach
-    public void beforeEach() {
-        realmRepository.save(REALM_DBREPO);
-    }
-
-    @Test
-    public void find_succeeds() throws RealmNotFoundException {
-
-        /* test */
-        final Realm response = realmService.find(REALM_DBREPO_NAME);
-        assertNotNull(response);
-        assertEquals(REALM_DBREPO_ID, response.getId());
-        assertEquals(REALM_DBREPO_NAME, response.getName());
-        assertEquals(REALM_DBREPO_ENABLED, response.getEnabled());
-    }
-
-    @Test
-    public void find_fails() {
-
-        /* test */
-        assertThrows(RealmNotFoundException.class, () -> {
-            realmService.find("shadow");
-        });
-    }
-}
diff --git a/dbrepo-user-service/rest-service/src/test/java/at/tuwien/service/RoleServiceIntegrationTest.java b/dbrepo-user-service/rest-service/src/test/java/at/tuwien/service/RoleServiceIntegrationTest.java
deleted file mode 100644
index 1fb85f7b76..0000000000
--- a/dbrepo-user-service/rest-service/src/test/java/at/tuwien/service/RoleServiceIntegrationTest.java
+++ /dev/null
@@ -1,66 +0,0 @@
-package at.tuwien.service;
-
-import at.tuwien.BaseUnitTest;
-import at.tuwien.entities.user.Role;
-import at.tuwien.exception.RoleNotFoundException;
-import at.tuwien.repository.mdb.RoleRepository;
-import at.tuwien.repository.mdb.UserRepository;
-import at.tuwien.repository.sdb.UserIdxRepository;
-import lombok.extern.log4j.Log4j2;
-import org.junit.jupiter.api.BeforeEach;
-import org.junit.jupiter.api.Test;
-import org.junit.jupiter.api.extension.ExtendWith;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
-import org.springframework.boot.autoconfigure.amqp.RabbitAutoConfiguration;
-import org.springframework.boot.test.context.SpringBootTest;
-import org.springframework.boot.test.mock.mockito.MockBean;
-import org.springframework.test.annotation.DirtiesContext;
-import org.springframework.test.context.junit.jupiter.SpringExtension;
-
-import static org.junit.jupiter.api.Assertions.*;
-
-@Log4j2
-@EnableAutoConfiguration(exclude = RabbitAutoConfiguration.class)
-@DirtiesContext(classMode = DirtiesContext.ClassMode.BEFORE_EACH_TEST_METHOD)
-@SpringBootTest
-@ExtendWith(SpringExtension.class)
-public class RoleServiceIntegrationTest extends BaseUnitTest {
-
-    @MockBean
-    private UserIdxRepository userIdxRepository;
-
-    @Autowired
-    private UserRepository userRepository;
-
-    @Autowired
-    private RoleRepository roleRepository;
-
-    @Autowired
-    private RoleService roleService;
-
-    @BeforeEach
-    public void beforeEach() {
-        userRepository.save(USER_1_SIMPLE);
-        roleRepository.save(ROLE_DEFAULT_RESEARCHER_ROLES);
-    }
-
-    @Test
-    public void find_succeeds() throws RoleNotFoundException {
-
-        /* test */
-        final Role response = roleService.find(ROLE_DEFAULT_RESEARCHER_ROLES_NAME);
-        assertNotNull(response);
-        assertEquals(ROLE_DEFAULT_RESEARCHER_ROLES_ID, response.getId());
-        assertEquals(ROLE_DEFAULT_RESEARCHER_ROLES_NAME, response.getName());
-    }
-
-    @Test
-    public void find_fails() {
-
-        /* test */
-        assertThrows(RoleNotFoundException.class, () -> {
-            roleService.find("1role2rulethemall");
-        });
-    }
-}
diff --git a/dbrepo-user-service/rest-service/src/test/java/at/tuwien/service/UserAttributeServiceIntegrationTest.java b/dbrepo-user-service/rest-service/src/test/java/at/tuwien/service/UserAttributeServiceIntegrationTest.java
deleted file mode 100644
index 7ac8f6b527..0000000000
--- a/dbrepo-user-service/rest-service/src/test/java/at/tuwien/service/UserAttributeServiceIntegrationTest.java
+++ /dev/null
@@ -1,102 +0,0 @@
-package at.tuwien.service;
-
-import at.tuwien.BaseUnitTest;
-import at.tuwien.entities.user.UserAttribute;
-import at.tuwien.exception.UserAttributeNotFoundException;
-import at.tuwien.repository.mdb.UserAttributeRepository;
-import at.tuwien.repository.mdb.UserRepository;
-import at.tuwien.repository.sdb.UserIdxRepository;
-import lombok.extern.log4j.Log4j2;
-import org.junit.jupiter.api.BeforeEach;
-import org.junit.jupiter.api.Test;
-import org.junit.jupiter.api.extension.ExtendWith;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
-import org.springframework.boot.autoconfigure.amqp.RabbitAutoConfiguration;
-import org.springframework.boot.test.context.SpringBootTest;
-import org.springframework.boot.test.mock.mockito.MockBean;
-import org.springframework.test.annotation.DirtiesContext;
-import org.springframework.test.context.junit.jupiter.SpringExtension;
-
-import java.util.UUID;
-
-import static org.junit.jupiter.api.Assertions.*;
-
-@Log4j2
-@EnableAutoConfiguration(exclude = RabbitAutoConfiguration.class)
-@DirtiesContext(classMode = DirtiesContext.ClassMode.BEFORE_EACH_TEST_METHOD)
-@SpringBootTest
-@ExtendWith(SpringExtension.class)
-public class UserAttributeServiceIntegrationTest extends BaseUnitTest {
-
-    @MockBean
-    private UserIdxRepository userIdxRepository;
-
-    @Autowired
-    private UserRepository userRepository;
-
-    @Autowired
-    private UserAttributeRepository userAttributeRepository;
-
-    @Autowired
-    private UserAttributeService userAttributeService;
-
-    @BeforeEach
-    public void beforeEach() {
-        userRepository.save(USER_1_SIMPLE);
-        userAttributeRepository.saveAll(USER_1_ATTRIBUTES);
-        userRepository.save(USER_2_SIMPLE);
-    }
-
-    @Test
-    public void find_succeeds() throws UserAttributeNotFoundException {
-
-        /* test */
-        final UserAttribute response = userAttributeService.find(USER_1_ID, "theme_dark");
-        assertNotNull(response);
-    }
-
-    @Test
-    public void find_fails() {
-
-        /* test */
-        assertThrows(UserAttributeNotFoundException.class, () -> {
-            userAttributeService.find(USER_2_ID, "theme_dark");
-        });
-    }
-
-    @Test
-    public void create_succeeds() {
-        final UserAttribute request = UserAttribute.builder()
-                .id(UUID.randomUUID())
-                .userId(USER_2_ID)
-                .name("debug")
-                .value("yes")
-                .build();
-
-        /* test */
-        final UserAttribute response = userAttributeService.create(request);
-        assertNotNull(response);
-        assertEquals("debug", response.getName());
-        assertEquals("yes", response.getValue());
-    }
-
-    @Test
-    public void update_succeeds() throws UserAttributeNotFoundException {
-
-        /* test */
-        final UserAttribute response = userAttributeService.update(USER_1_ID, "affiliation", "NASA");
-        assertNotNull(response);
-        assertEquals("affiliation", response.getName());
-        assertEquals("NASA", response.getValue());
-    }
-
-    @Test
-    public void update_fails() {
-
-        /* test */
-        assertThrows(UserAttributeNotFoundException.class, () -> {
-            userAttributeService.update(USER_2_ID, "affiliation", "NASA");
-        });
-    }
-}
diff --git a/dbrepo-user-service/rest-service/src/test/java/at/tuwien/service/UserServiceIntegrationTest.java b/dbrepo-user-service/rest-service/src/test/java/at/tuwien/service/UserServiceIntegrationTest.java
deleted file mode 100644
index d3f4219416..0000000000
--- a/dbrepo-user-service/rest-service/src/test/java/at/tuwien/service/UserServiceIntegrationTest.java
+++ /dev/null
@@ -1,247 +0,0 @@
-package at.tuwien.service;
-
-import at.tuwien.BaseUnitTest;
-import at.tuwien.api.auth.SignupRequestDto;
-import at.tuwien.api.user.UserPasswordDto;
-import at.tuwien.api.user.UserThemeSetDto;
-import at.tuwien.api.user.UserUpdateDto;
-import at.tuwien.entities.user.User;
-import at.tuwien.entities.user.UserAttribute;
-import at.tuwien.exception.*;
-import at.tuwien.repository.mdb.RealmRepository;
-import at.tuwien.repository.mdb.RoleRepository;
-import at.tuwien.repository.mdb.UserRepository;
-import at.tuwien.repository.sdb.UserIdxRepository;
-import lombok.extern.log4j.Log4j2;
-import org.junit.jupiter.api.BeforeEach;
-import org.junit.jupiter.api.Test;
-import org.junit.jupiter.api.extension.ExtendWith;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
-import org.springframework.boot.autoconfigure.amqp.RabbitAutoConfiguration;
-import org.springframework.boot.test.context.SpringBootTest;
-import org.springframework.boot.test.mock.mockito.MockBean;
-import org.springframework.dao.DataIntegrityViolationException;
-import org.springframework.test.annotation.DirtiesContext;
-import org.springframework.test.context.junit.jupiter.SpringExtension;
-import org.springframework.transaction.annotation.Transactional;
-
-import java.util.List;
-import java.util.Optional;
-
-import static org.junit.jupiter.api.Assertions.*;
-
-@Log4j2
-@EnableAutoConfiguration(exclude = RabbitAutoConfiguration.class)
-@DirtiesContext(classMode = DirtiesContext.ClassMode.BEFORE_EACH_TEST_METHOD)
-@SpringBootTest
-@ExtendWith(SpringExtension.class)
-public class UserServiceIntegrationTest extends BaseUnitTest {
-
-    @MockBean
-    private UserIdxRepository userIdxRepository;
-
-    @Autowired
-    private UserRepository userRepository;
-
-    @Autowired
-    private RealmRepository realmRepository;
-
-    @Autowired
-    private RoleRepository roleRepository;
-
-    @Autowired
-    private UserService userService;
-
-    @BeforeEach
-    public void beforeEach() {
-        realmRepository.save(REALM_DBREPO);
-        userRepository.save(USER_1);
-        roleRepository.save(ROLE_DEFAULT_RESEARCHER_ROLES);
-    }
-
-    @Test
-    public void findAll_succeeds() {
-
-        /* test */
-        final List<User> response = userService.findAll();
-        assertEquals(1, response.size());
-    }
-
-    @Test
-    public void create_succeeds() throws UserAlreadyExistsException {
-        final SignupRequestDto request = SignupRequestDto.builder()
-                .username(USER_2_USERNAME)
-                .password(USER_2_PASSWORD)
-                .email(USER_2_EMAIL)
-                .build();
-
-        /* test */
-        final User response = userService.create(request, REALM_DBREPO);
-        assertEquals(0, response.getRoles().size());
-    }
-
-    @Test
-    public void create_nonUniqueUsername_fails() {
-        final SignupRequestDto request = SignupRequestDto.builder()
-                .username(USER_1_USERNAME)
-                .password(USER_2_PASSWORD)
-                .email(USER_2_EMAIL)
-                .build();
-
-        /* test */
-        assertThrows(DataIntegrityViolationException.class, () -> {
-            userService.create(request, REALM_DBREPO);
-        });
-    }
-
-    @Test
-    public void create_nonUniqueEmail_fails() {
-        final SignupRequestDto request = SignupRequestDto.builder()
-                .username(USER_2_USERNAME)
-                .password(USER_2_PASSWORD)
-                .email(USER_1_EMAIL)
-                .build();
-
-        /* test */
-        assertThrows(DataIntegrityViolationException.class, () -> {
-            userService.create(request, REALM_DBREPO);
-        });
-    }
-
-    @Test
-    @Transactional
-    public void modify_succeeds() throws UserNotFoundException, UserAttributeNotFoundException {
-        final UserUpdateDto request = UserUpdateDto.builder()
-                .firstname(USER_1_FIRSTNAME)
-                .lastname(USER_1_LASTNAME)
-                .affiliation("NASA")
-                .orcid(null)
-                .build();
-
-        /* test */
-        final User response = userService.modify(USER_1_ID, request);
-        assertEquals(USER_1_ID, response.getId());
-        assertEquals(USER_1_FIRSTNAME, response.getFirstname());
-        assertEquals(USER_1_LASTNAME, response.getLastname());
-        assertEquals(3, response.getAttributes().size());
-        final Optional<UserAttribute> affiliation = response.getAttributes().stream().filter(a -> a.getName().equals("affiliation")).findFirst();
-        assertTrue(affiliation.isPresent());
-        assertEquals("NASA", affiliation.get().getValue());
-        final Optional<UserAttribute> orcid = response.getAttributes().stream().filter(a -> a.getName().equals("orcid")).findFirst();
-        assertTrue(orcid.isPresent());
-        assertNull(orcid.get().getValue());
-    }
-
-    @Test
-    public void modify_notFound_fails() {
-        final UserUpdateDto request = UserUpdateDto.builder()
-                .firstname(USER_2_FIRSTNAME)
-                .lastname(USER_2_LASTNAME)
-                .affiliation(USER_2_AFFILIATION)
-                .orcid(USER_2_ORCID)
-                .build();
-
-        /* test */
-        assertThrows(UserNotFoundException.class, () -> {
-            userService.modify(USER_2_ID, request);
-        });
-    }
-
-    @Test
-    public void updatePassword_succeeds() throws UserNotFoundException {
-        final UserPasswordDto request = UserPasswordDto.builder()
-                .password(USER_1_PASSWORD)
-                .build();
-
-        /* test */
-        final User response = userService.updatePassword(USER_1_ID, request);
-        assertEquals(1, response.getCredentials().size());
-    }
-
-    @Test
-    public void updatePassword_notFound_fails() {
-        final UserPasswordDto request = UserPasswordDto.builder()
-                .password(USER_1_PASSWORD)
-                .build();
-
-        /* test */
-        assertThrows(UserNotFoundException.class, () -> {
-            userService.updatePassword(USER_2_ID, request);
-        });
-    }
-
-    @Test
-    @Transactional
-    public void toggleTheme_succeeds() throws UserNotFoundException, UserAttributeNotFoundException {
-        final UserThemeSetDto request = UserThemeSetDto.builder()
-                .themeDark(true)
-                .build();
-
-        /* test */
-        final User response = userService.toggleTheme(USER_1_ID, request);
-        assertNotNull(response.getAttributes());
-        assertEquals(3, response.getAttributes().size());
-    }
-
-    @Test
-    public void toggleTheme_fails() {
-        final UserThemeSetDto request = UserThemeSetDto.builder()
-                .themeDark(true)
-                .build();
-
-        /* test */
-        assertThrows(UserNotFoundException.class, () -> {
-            userService.toggleTheme(USER_2_ID, request);
-        });
-    }
-
-    @Test
-    public void find_succeeds() throws UserNotFoundException {
-
-        /* test */
-        final User user = userService.find(USER_1_ID);
-        assertEquals(USER_1_ID, user.getId());
-    }
-
-    @Test
-    public void find_notFound_fails() {
-
-        /* test */
-        assertThrows(UserNotFoundException.class, () -> {
-            userService.find(USER_2_ID);
-        });
-    }
-
-    @Test
-    public void validateUsernameNotExists_succeeds() throws UserAlreadyExistsException {
-
-        /* test */
-        userService.validateUsernameNotExists(USER_2_USERNAME);
-    }
-
-    @Test
-    public void validateUsernameNotExists_fails() {
-
-        /* test */
-        assertThrows(UserAlreadyExistsException.class, () -> {
-            userService.validateUsernameNotExists(USER_1_USERNAME);
-        });
-    }
-
-    @Test
-    public void validateEmailNotExists_succeeds() throws UserEmailAlreadyExistsException {
-
-        /* test */
-        userService.validateEmailNotExists(USER_2_EMAIL);
-    }
-
-    @Test
-    public void validateEmailNotExists_fails() {
-
-        /* test */
-        assertThrows(UserEmailAlreadyExistsException.class, () -> {
-            userService.validateEmailNotExists(USER_1_EMAIL);
-        });
-    }
-}
diff --git a/dbrepo-user-service/rest-service/src/test/resources/application.properties b/dbrepo-user-service/rest-service/src/test/resources/application.properties
deleted file mode 100644
index a4240a2231..0000000000
--- a/dbrepo-user-service/rest-service/src/test/resources/application.properties
+++ /dev/null
@@ -1,30 +0,0 @@
-# enable local spring profile
-spring.profiles.active=local
-
-# disable discovery
-spring.cloud.discovery.enabled=false
-
-# disable cloud config and config discovery
-spring.cloud.config.discovery.enabled=false
-spring.cloud.config.enabled=false
-
-# internal datasource
-spring.datasource.url=jdbc:h2:mem:testdb;DB_CLOSE_ON_EXIT=FALSE;INIT=CREATE SCHEMA IF NOT EXISTS FDA;NON_KEYWORDS=value
-spring.datasource.driverClassName=org.h2.Driver
-spring.datasource.username=sa
-spring.datasource.password=password
-spring.jpa.database-platform=org.hibernate.dialect.H2Dialect
-spring.sql.init.mode=always
-spring.sql.init.schema-locations=classpath*:init/schema.sql
-spring.jpa.hibernate.ddl-auto=create
-
-# additional logging
-logging.level.root=error
-logging.level.at.tuwien.=trace
-logging.level.org.hibernate.SQL=debug
-logging.level.org.hibernate.type=trace
-
-# search service
-fda.consumers=2
-fda.gateway.endpoint: http://localhost:15672
-fda.elastic.endpoint=dbrepo-search-db:9200
\ No newline at end of file
diff --git a/dbrepo-user-service/rest-service/src/test/resources/init/schema.sql b/dbrepo-user-service/rest-service/src/test/resources/init/schema.sql
deleted file mode 100644
index f8482e47d5..0000000000
--- a/dbrepo-user-service/rest-service/src/test/resources/init/schema.sql
+++ /dev/null
@@ -1 +0,0 @@
-CREATE SCHEMA IF NOT EXISTS fda;
\ No newline at end of file
diff --git a/dbrepo-user-service/services/pom.xml b/dbrepo-user-service/services/pom.xml
deleted file mode 100644
index 606fcdf708..0000000000
--- a/dbrepo-user-service/services/pom.xml
+++ /dev/null
@@ -1,16 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<project xmlns="http://maven.apache.org/POM/4.0.0"
-         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
-    <modelVersion>4.0.0</modelVersion>
-    <parent>
-        <artifactId>dbrepo-user-service</artifactId>
-        <groupId>at.tuwien</groupId>
-        <version>1.3.0</version>
-    </parent>
-
-    <artifactId>services</artifactId>
-    <version>1.3.0</version>
-    <name>dbrepo-user-service-services</name>
-
-</project>
diff --git a/dbrepo-user-service/services/src/main/java/at/tuwien/auth/AuthTokenFilter.java b/dbrepo-user-service/services/src/main/java/at/tuwien/auth/AuthTokenFilter.java
deleted file mode 100644
index 92b60f4f8a..0000000000
--- a/dbrepo-user-service/services/src/main/java/at/tuwien/auth/AuthTokenFilter.java
+++ /dev/null
@@ -1,100 +0,0 @@
-package at.tuwien.auth;
-
-import at.tuwien.api.auth.RealmAccessDto;
-import at.tuwien.api.user.UserDetailsDto;
-import com.auth0.jwt.JWT;
-import com.auth0.jwt.JWTVerifier;
-import com.auth0.jwt.algorithms.Algorithm;
-import com.auth0.jwt.interfaces.DecodedJWT;
-import jakarta.servlet.FilterChain;
-import jakarta.servlet.ServletException;
-import jakarta.servlet.http.HttpServletRequest;
-import jakarta.servlet.http.HttpServletResponse;
-import lombok.extern.slf4j.Slf4j;
-import org.springframework.beans.factory.annotation.Value;
-import org.springframework.security.authentication.UsernamePasswordAuthenticationToken;
-import org.springframework.security.core.authority.SimpleGrantedAuthority;
-import org.springframework.security.core.context.SecurityContextHolder;
-import org.springframework.security.core.userdetails.UserDetails;
-import org.springframework.security.web.authentication.WebAuthenticationDetailsSource;
-import org.springframework.util.StringUtils;
-import org.springframework.web.filter.OncePerRequestFilter;
-
-import java.io.IOException;
-import java.security.KeyFactory;
-import java.security.NoSuchAlgorithmException;
-import java.security.interfaces.RSAPublicKey;
-import java.security.spec.InvalidKeySpecException;
-import java.security.spec.X509EncodedKeySpec;
-import java.util.Arrays;
-import java.util.Base64;
-import java.util.stream.Collectors;
-
-@Slf4j
-public class AuthTokenFilter extends OncePerRequestFilter {
-
-    @Value("${fda.jwt.issuer}")
-    private String issuer;
-
-    @Value("${fda.jwt.public_key}")
-    private String publicKey;
-
-    @Override
-    protected void doFilterInternal(HttpServletRequest request, HttpServletResponse response, FilterChain filterChain)
-            throws ServletException, IOException {
-        final String jwt = parseJwt(request);
-        if (jwt != null) {
-            final UserDetails userDetails = verifyJwt(jwt);
-            log.debug("authenticated user {}", userDetails);
-            final UsernamePasswordAuthenticationToken authentication = new UsernamePasswordAuthenticationToken(
-                    userDetails, null, userDetails.getAuthorities());
-            authentication.setDetails(new WebAuthenticationDetailsSource().buildDetails(request));
-
-            SecurityContextHolder.getContext().setAuthentication(authentication);
-        }
-        filterChain.doFilter(request, response);
-    }
-
-    public UserDetails verifyJwt(String token) throws ServletException {
-        final KeyFactory kf;
-        try {
-            kf = KeyFactory.getInstance("RSA");
-        } catch (NoSuchAlgorithmException e) {
-            log.error("Failed to find RSA algorithm");
-            throw new ServletException("Failed to find RSA algorithm", e);
-        }
-        final X509EncodedKeySpec keySpecX509 = new X509EncodedKeySpec(Base64.getDecoder().decode(publicKey));
-        final RSAPublicKey pubKey;
-        try {
-            pubKey = (RSAPublicKey) kf.generatePublic(keySpecX509);
-        } catch (InvalidKeySpecException e) {
-            log.error("Provided public key is invalid");
-            throw new ServletException("Provided public key is invalid", e);
-        }
-        final Algorithm algorithm = Algorithm.RSA256(pubKey, null);
-        JWTVerifier verifier = JWT.require(algorithm)
-                .withIssuer(issuer)
-                .withAudience("spring")
-                .build();
-        final DecodedJWT jwt = verifier.verify(token);
-        final RealmAccessDto realmAccess = jwt.getClaim("realm_access").as(RealmAccessDto.class);
-        return UserDetailsDto.builder()
-                .username(jwt.getClaim("client_id").asString())
-                .authorities(Arrays.stream(realmAccess.getRoles()).map(SimpleGrantedAuthority::new).collect(Collectors.toList()))
-                .build();
-    }
-
-    /**
-     * Parses the token from the HTTP header of the request
-     *
-     * @param request The request.
-     * @return The token.
-     */
-    public String parseJwt(HttpServletRequest request) {
-        String headerAuth = request.getHeader("Authorization");
-        if (StringUtils.hasText(headerAuth) && headerAuth.startsWith("Bearer ")) {
-            return headerAuth.substring(7, headerAuth.length());
-        }
-        return null;
-    }
-}
\ No newline at end of file
diff --git a/dbrepo-user-service/services/src/main/java/at/tuwien/config/GatewayConfig.java b/dbrepo-user-service/services/src/main/java/at/tuwien/config/GatewayConfig.java
deleted file mode 100644
index 084171253f..0000000000
--- a/dbrepo-user-service/services/src/main/java/at/tuwien/config/GatewayConfig.java
+++ /dev/null
@@ -1,49 +0,0 @@
-package at.tuwien.config;
-
-import at.tuwien.mapper.AuthenticationMapper;
-import lombok.Getter;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.beans.factory.annotation.Value;
-import org.springframework.context.annotation.Bean;
-import org.springframework.context.annotation.Configuration;
-import org.springframework.http.client.support.BasicAuthenticationInterceptor;
-import org.springframework.web.client.RestTemplate;
-import org.springframework.web.util.DefaultUriBuilderFactory;
-
-@Getter
-@Configuration
-public class GatewayConfig {
-
-    @Value("${fda.gateway.endpoint}")
-    private String gatewayEndpoint;
-
-    @Value("${spring.rabbitmq.username}")
-    private String brokerUsername;
-
-    @Value("${spring.rabbitmq.password}")
-    private String brokerPassword;
-
-    private final AuthenticationMapper authenticationMapper;
-
-    @Autowired
-    public GatewayConfig(AuthenticationMapper authenticationMapper) {
-        this.authenticationMapper = authenticationMapper;
-    }
-
-    @Bean
-    public RestTemplate restTemplate() {
-        final RestTemplate restTemplate =  new RestTemplate();
-        restTemplate.setUriTemplateHandler(new DefaultUriBuilderFactory(gatewayEndpoint));
-        restTemplate.getMessageConverters().add(authenticationMapper.mappingJackson2HttpMessageConverter());
-        return restTemplate;
-    }
-
-    @Bean("brokerRestTemplate")
-    public RestTemplate brokerRestTemplate() {
-        final RestTemplate restTemplate = new RestTemplate();
-        restTemplate.setUriTemplateHandler(new DefaultUriBuilderFactory(gatewayEndpoint));
-        restTemplate.getInterceptors()
-                .add(new BasicAuthenticationInterceptor(brokerUsername, brokerPassword));
-        return restTemplate;
-    }
-}
diff --git a/dbrepo-user-service/services/src/main/java/at/tuwien/config/JacksonConfig.java b/dbrepo-user-service/services/src/main/java/at/tuwien/config/JacksonConfig.java
deleted file mode 100644
index c4944a4691..0000000000
--- a/dbrepo-user-service/services/src/main/java/at/tuwien/config/JacksonConfig.java
+++ /dev/null
@@ -1,30 +0,0 @@
-package at.tuwien.config;
-
-import com.fasterxml.jackson.core.JsonProcessingException;
-import com.fasterxml.jackson.databind.ObjectMapper;
-import com.fasterxml.jackson.databind.SerializationFeature;
-import com.fasterxml.jackson.datatype.jdk8.Jdk8Module;
-import com.fasterxml.jackson.datatype.jsr310.JavaTimeModule;
-import lombok.extern.slf4j.Slf4j;
-import org.springframework.context.annotation.Bean;
-import org.springframework.context.annotation.Configuration;
-
-import java.util.Date;
-import java.util.TimeZone;
-
-@Slf4j
-@Configuration
-public class JacksonConfig {
-
-    @Bean
-    public ObjectMapper objectMapper() throws JsonProcessingException {
-        final ObjectMapper objectMapper = new ObjectMapper();
-        objectMapper.registerModule(new Jdk8Module());
-        objectMapper.registerModule(new JavaTimeModule());
-        objectMapper.configure(SerializationFeature.WRITE_DATES_AS_TIMESTAMPS, false);
-        objectMapper.setTimeZone(TimeZone.getTimeZone("UTC"));
-        log.debug("current time is {}", objectMapper.writeValueAsString(new Date()));
-        return objectMapper;
-    }
-
-}
diff --git a/dbrepo-user-service/services/src/main/java/at/tuwien/config/OpenSearchConfig.java b/dbrepo-user-service/services/src/main/java/at/tuwien/config/OpenSearchConfig.java
deleted file mode 100644
index 48f9f2eeda..0000000000
--- a/dbrepo-user-service/services/src/main/java/at/tuwien/config/OpenSearchConfig.java
+++ /dev/null
@@ -1,61 +0,0 @@
-package at.tuwien.config;
-
-import lombok.extern.log4j.Log4j2;
-import org.apache.http.HttpHost;
-import org.apache.http.auth.AuthScope;
-import org.apache.http.auth.UsernamePasswordCredentials;
-import org.apache.http.client.CredentialsProvider;
-import org.apache.http.impl.client.BasicCredentialsProvider;
-import org.opensearch.client.RestClient;
-import org.opensearch.client.RestClientBuilder;
-import org.opensearch.client.RestHighLevelClient;
-import org.opensearch.client.sniff.NodesSniffer;
-import org.opensearch.client.sniff.OpenSearchNodesSniffer;
-import org.opensearch.client.sniff.Sniffer;
-import org.opensearch.data.client.orhlc.AbstractOpenSearchConfiguration;
-import org.springframework.beans.factory.annotation.Value;
-import org.springframework.context.annotation.Bean;
-import org.springframework.context.annotation.Configuration;
-
-import java.util.concurrent.TimeUnit;
-
-@Log4j2
-@Configuration
-public class OpenSearchConfig extends AbstractOpenSearchConfiguration {
-
-    @Value("${spring.opensearch.host}")
-    private String openSearchHost;
-
-    @Value("${spring.opensearch.port}")
-    private Integer openSearchPort;
-
-    @Value("${spring.opensearch.protocol}")
-    private String openSearchProtocol;
-
-    @Value("${spring.opensearch.username}")
-    private String openSearchUsername;
-
-    @Value("${spring.opensearch.password}")
-    private String openSearchPassword;
-
-    @Bean
-    @Override
-    public RestHighLevelClient opensearchClient() {
-        log.debug("open search endpoint: {}://{}:{}", openSearchProtocol, openSearchHost, openSearchPort);
-        final CredentialsProvider credentialsProvider = new BasicCredentialsProvider();
-        credentialsProvider.setCredentials(AuthScope.ANY, new UsernamePasswordCredentials(openSearchUsername, openSearchPassword));
-        RestClientBuilder builder = RestClient.builder(new HttpHost(openSearchHost, openSearchPort, openSearchProtocol))
-                .setHttpClientConfigCallback(httpClientBuilder -> httpClientBuilder.setDefaultCredentialsProvider(credentialsProvider));
-        return new RestHighLevelClient(builder);
-    }
-
-    @Bean
-    public Sniffer nodesSniffer() {
-        final NodesSniffer nodesSniffer = new OpenSearchNodesSniffer(opensearchClient().getLowLevelClient(),
-                TimeUnit.SECONDS.toMillis(5), OpenSearchNodesSniffer.Scheme.HTTP);
-        return Sniffer.builder(opensearchClient().getLowLevelClient())
-                .setNodesSniffer(nodesSniffer)
-                .build();
-
-    }
-}
\ No newline at end of file
diff --git a/dbrepo-user-service/services/src/main/java/at/tuwien/config/WebSecurityConfig.java b/dbrepo-user-service/services/src/main/java/at/tuwien/config/WebSecurityConfig.java
deleted file mode 100644
index 5df5406709..0000000000
--- a/dbrepo-user-service/services/src/main/java/at/tuwien/config/WebSecurityConfig.java
+++ /dev/null
@@ -1,96 +0,0 @@
-package at.tuwien.config;
-
-import at.tuwien.auth.AuthTokenFilter;
-import io.swagger.v3.oas.annotations.enums.SecuritySchemeType;
-import io.swagger.v3.oas.annotations.security.SecurityScheme;
-import org.springframework.context.annotation.Bean;
-import org.springframework.context.annotation.Configuration;
-import org.springframework.security.config.annotation.method.configuration.EnableGlobalMethodSecurity;
-import org.springframework.security.config.annotation.web.builders.HttpSecurity;
-import org.springframework.security.config.annotation.web.configuration.EnableWebSecurity;
-import org.springframework.security.config.http.SessionCreationPolicy;
-import org.springframework.security.web.SecurityFilterChain;
-import org.springframework.security.web.authentication.UsernamePasswordAuthenticationFilter;
-import org.springframework.security.web.util.matcher.AntPathRequestMatcher;
-import org.springframework.security.web.util.matcher.OrRequestMatcher;
-import org.springframework.web.cors.CorsConfiguration;
-import org.springframework.web.cors.UrlBasedCorsConfigurationSource;
-import org.springframework.web.filter.CorsFilter;
-
-import jakarta.servlet.http.HttpServletResponse;
-
-@Configuration
-@EnableWebSecurity
-@EnableGlobalMethodSecurity(prePostEnabled = true)
-@SecurityScheme(
-        name = "bearerAuth",
-        type = SecuritySchemeType.HTTP,
-        bearerFormat = "JWT",
-        scheme = "bearer"
-)
-public class WebSecurityConfig {
-
-    @Bean
-    public AuthTokenFilter authTokenFilter() {
-        return new AuthTokenFilter();
-    }
-
-    @Bean
-    public SecurityFilterChain filterChain(HttpSecurity http) throws Exception {
-        final OrRequestMatcher internalEndpoints = new OrRequestMatcher(
-                new AntPathRequestMatcher("/actuator/**", "GET"),
-                new AntPathRequestMatcher("/v3/api-docs.yaml"),
-                new AntPathRequestMatcher("/v3/api-docs/**"),
-                new AntPathRequestMatcher("/swagger-ui/**"),
-                new AntPathRequestMatcher("/swagger-ui.html")
-        );
-        final OrRequestMatcher publicEndpoints = new OrRequestMatcher(
-                new AntPathRequestMatcher("/api/user/**", "GET"),
-                new AntPathRequestMatcher("/api/user/**", "POST"),
-                new AntPathRequestMatcher("/api/maintenance/**", "GET")
-        );
-        /* enable CORS and disable CSRF */
-        http = http.cors().and().csrf().disable();
-        /* set session management to stateless */
-        http = http
-                .sessionManagement()
-                .sessionCreationPolicy(SessionCreationPolicy.STATELESS)
-                .and();
-        /* set unauthorized requests exception handler */
-        http = http
-                .exceptionHandling()
-                .authenticationEntryPoint(
-                        (request, response, ex) -> {
-                            response.sendError(HttpServletResponse.SC_UNAUTHORIZED,
-                                    ex.getMessage()
-                            );
-                        }
-                ).and();
-        /* set permissions on endpoints */
-        http.authorizeHttpRequests()
-                /* our internal endpoints */
-                .requestMatchers(internalEndpoints).permitAll()
-                /* our public endpoints */
-                .requestMatchers(publicEndpoints).permitAll()
-                /* our private endpoints */
-                .anyRequest().authenticated();
-        /* add JWT token filter */
-        http.addFilterBefore(authTokenFilter(),
-                UsernamePasswordAuthenticationFilter.class
-        );
-        return http.build();
-    }
-
-    @Bean
-    public CorsFilter corsFilter() {
-        final UrlBasedCorsConfigurationSource source = new UrlBasedCorsConfigurationSource();
-        final CorsConfiguration config = new CorsConfiguration();
-        config.setAllowCredentials(true);
-        config.addAllowedOriginPattern("*");
-        config.addAllowedHeader("*");
-        config.addAllowedMethod("*");
-        source.registerCorsConfiguration("/**", config);
-        return new CorsFilter(source);
-    }
-
-}
diff --git a/dbrepo-user-service/services/src/main/java/at/tuwien/exception/BannerMessageNotFoundException.java b/dbrepo-user-service/services/src/main/java/at/tuwien/exception/BannerMessageNotFoundException.java
deleted file mode 100644
index e4587b1453..0000000000
--- a/dbrepo-user-service/services/src/main/java/at/tuwien/exception/BannerMessageNotFoundException.java
+++ /dev/null
@@ -1,20 +0,0 @@
-package at.tuwien.exception;
-
-import org.springframework.http.HttpStatus;
-import org.springframework.web.bind.annotation.ResponseStatus;
-
-@ResponseStatus(code = HttpStatus.NOT_FOUND)
-public class BannerMessageNotFoundException extends Exception {
-
-    public BannerMessageNotFoundException(String msg) {
-        super(msg);
-    }
-
-    public BannerMessageNotFoundException(String msg, Throwable thr) {
-        super(msg, thr);
-    }
-
-    public BannerMessageNotFoundException(Throwable thr) {
-        super(thr);
-    }
-}
diff --git a/dbrepo-user-service/services/src/main/java/at/tuwien/exception/ForeignUserException.java b/dbrepo-user-service/services/src/main/java/at/tuwien/exception/ForeignUserException.java
deleted file mode 100644
index 921a99180d..0000000000
--- a/dbrepo-user-service/services/src/main/java/at/tuwien/exception/ForeignUserException.java
+++ /dev/null
@@ -1,21 +0,0 @@
-package at.tuwien.exception;
-
-import org.springframework.http.HttpStatus;
-import org.springframework.web.bind.annotation.ResponseStatus;
-
-@ResponseStatus(code = HttpStatus.METHOD_NOT_ALLOWED)
-public class ForeignUserException extends Exception {
-
-    public ForeignUserException(String message) {
-        super(message);
-    }
-
-    public ForeignUserException(String message, Throwable thr) {
-        super(message, thr);
-    }
-
-    public ForeignUserException(Throwable thr) {
-        super(thr);
-    }
-
-}
diff --git a/dbrepo-user-service/services/src/main/java/at/tuwien/exception/NotAllowedException.java b/dbrepo-user-service/services/src/main/java/at/tuwien/exception/NotAllowedException.java
deleted file mode 100644
index 44c3d430f9..0000000000
--- a/dbrepo-user-service/services/src/main/java/at/tuwien/exception/NotAllowedException.java
+++ /dev/null
@@ -1,21 +0,0 @@
-package at.tuwien.exception;
-
-import org.springframework.http.HttpStatus;
-import org.springframework.web.bind.annotation.ResponseStatus;
-
-@ResponseStatus(code = HttpStatus.METHOD_NOT_ALLOWED)
-public class NotAllowedException extends Exception {
-
-    public NotAllowedException(String msg) {
-        super(msg);
-    }
-
-    public NotAllowedException(String msg, Throwable thr) {
-        super(msg, thr);
-    }
-
-    public NotAllowedException(Throwable thr) {
-        super(thr);
-    }
-
-}
diff --git a/dbrepo-user-service/services/src/main/java/at/tuwien/exception/RealmNotFoundException.java b/dbrepo-user-service/services/src/main/java/at/tuwien/exception/RealmNotFoundException.java
deleted file mode 100644
index 1750cfb525..0000000000
--- a/dbrepo-user-service/services/src/main/java/at/tuwien/exception/RealmNotFoundException.java
+++ /dev/null
@@ -1,21 +0,0 @@
-package at.tuwien.exception;
-
-import org.springframework.http.HttpStatus;
-import org.springframework.web.bind.annotation.ResponseStatus;
-
-@ResponseStatus(code = HttpStatus.NOT_FOUND)
-public class RealmNotFoundException extends Exception {
-
-    public RealmNotFoundException(String msg) {
-        super(msg);
-    }
-
-    public RealmNotFoundException(String msg, Throwable thr) {
-        super(msg, thr);
-    }
-
-    public RealmNotFoundException(Throwable thr) {
-        super(thr);
-    }
-
-}
diff --git a/dbrepo-user-service/services/src/main/java/at/tuwien/exception/RemoteUnavailableException.java b/dbrepo-user-service/services/src/main/java/at/tuwien/exception/RemoteUnavailableException.java
deleted file mode 100644
index 3f6700d06b..0000000000
--- a/dbrepo-user-service/services/src/main/java/at/tuwien/exception/RemoteUnavailableException.java
+++ /dev/null
@@ -1,21 +0,0 @@
-package at.tuwien.exception;
-
-import org.springframework.http.HttpStatus;
-import org.springframework.web.bind.annotation.ResponseStatus;
-
-@ResponseStatus(code = HttpStatus.NO_CONTENT)
-public class RemoteUnavailableException extends Exception {
-
-    public RemoteUnavailableException(String msg) {
-        super(msg);
-    }
-
-    public RemoteUnavailableException(String msg, Throwable thr) {
-        super(msg, thr);
-    }
-
-    public RemoteUnavailableException(Throwable thr) {
-        super(thr);
-    }
-
-}
diff --git a/dbrepo-user-service/services/src/main/java/at/tuwien/exception/RoleNotFoundException.java b/dbrepo-user-service/services/src/main/java/at/tuwien/exception/RoleNotFoundException.java
deleted file mode 100644
index 8430d64d76..0000000000
--- a/dbrepo-user-service/services/src/main/java/at/tuwien/exception/RoleNotFoundException.java
+++ /dev/null
@@ -1,21 +0,0 @@
-package at.tuwien.exception;
-
-import org.springframework.http.HttpStatus;
-import org.springframework.web.bind.annotation.ResponseStatus;
-
-@ResponseStatus(code = HttpStatus.NOT_FOUND)
-public class RoleNotFoundException extends Exception {
-
-    public RoleNotFoundException(String msg) {
-        super(msg);
-    }
-
-    public RoleNotFoundException(String msg, Throwable thr) {
-        super(msg, thr);
-    }
-
-    public RoleNotFoundException(Throwable thr) {
-        super(thr);
-    }
-
-}
diff --git a/dbrepo-user-service/services/src/main/java/at/tuwien/exception/UserAlreadyExistsException.java b/dbrepo-user-service/services/src/main/java/at/tuwien/exception/UserAlreadyExistsException.java
deleted file mode 100644
index bca8199ae0..0000000000
--- a/dbrepo-user-service/services/src/main/java/at/tuwien/exception/UserAlreadyExistsException.java
+++ /dev/null
@@ -1,21 +0,0 @@
-package at.tuwien.exception;
-
-import org.springframework.http.HttpStatus;
-import org.springframework.web.bind.annotation.ResponseStatus;
-
-@ResponseStatus(code = HttpStatus.CONFLICT)
-public class UserAlreadyExistsException extends Exception {
-
-    public UserAlreadyExistsException(String message) {
-        super(message);
-    }
-
-    public UserAlreadyExistsException(String message, Throwable thr) {
-        super(message, thr);
-    }
-
-    public UserAlreadyExistsException(Throwable thr) {
-        super(thr);
-    }
-
-}
diff --git a/dbrepo-user-service/services/src/main/java/at/tuwien/exception/UserAttributeNotFoundException.java b/dbrepo-user-service/services/src/main/java/at/tuwien/exception/UserAttributeNotFoundException.java
deleted file mode 100644
index f0d3249868..0000000000
--- a/dbrepo-user-service/services/src/main/java/at/tuwien/exception/UserAttributeNotFoundException.java
+++ /dev/null
@@ -1,21 +0,0 @@
-package at.tuwien.exception;
-
-import org.springframework.http.HttpStatus;
-import org.springframework.web.bind.annotation.ResponseStatus;
-
-@ResponseStatus(code = HttpStatus.NOT_FOUND)
-public class UserAttributeNotFoundException extends Exception {
-
-    public UserAttributeNotFoundException(String msg) {
-        super(msg);
-    }
-
-    public UserAttributeNotFoundException(String msg, Throwable thr) {
-        super(msg, thr);
-    }
-
-    public UserAttributeNotFoundException(Throwable thr) {
-        super(thr);
-    }
-
-}
diff --git a/dbrepo-user-service/services/src/main/java/at/tuwien/exception/UserEmailAlreadyExistsException.java b/dbrepo-user-service/services/src/main/java/at/tuwien/exception/UserEmailAlreadyExistsException.java
deleted file mode 100644
index 803e94aa0a..0000000000
--- a/dbrepo-user-service/services/src/main/java/at/tuwien/exception/UserEmailAlreadyExistsException.java
+++ /dev/null
@@ -1,21 +0,0 @@
-package at.tuwien.exception;
-
-import org.springframework.http.HttpStatus;
-import org.springframework.web.bind.annotation.ResponseStatus;
-
-@ResponseStatus(code = HttpStatus.EXPECTATION_FAILED)
-public class UserEmailAlreadyExistsException extends Exception {
-
-    public UserEmailAlreadyExistsException(String message) {
-        super(message);
-    }
-
-    public UserEmailAlreadyExistsException(String message, Throwable thr) {
-        super(message, thr);
-    }
-
-    public UserEmailAlreadyExistsException(Throwable thr) {
-        super(thr);
-    }
-
-}
diff --git a/dbrepo-user-service/services/src/main/java/at/tuwien/exception/UserNotFoundException.java b/dbrepo-user-service/services/src/main/java/at/tuwien/exception/UserNotFoundException.java
deleted file mode 100644
index 0abb87f609..0000000000
--- a/dbrepo-user-service/services/src/main/java/at/tuwien/exception/UserNotFoundException.java
+++ /dev/null
@@ -1,21 +0,0 @@
-package at.tuwien.exception;
-
-import org.springframework.http.HttpStatus;
-import org.springframework.web.bind.annotation.ResponseStatus;
-
-@ResponseStatus(code = HttpStatus.NOT_FOUND, reason = "User not found")
-public class UserNotFoundException extends Exception {
-
-    public UserNotFoundException(String message) {
-        super(message);
-    }
-
-    public UserNotFoundException(String message, Throwable thr) {
-        super(message, thr);
-    }
-
-    public UserNotFoundException(Throwable thr) {
-        super(thr);
-    }
-
-}
diff --git a/dbrepo-user-service/services/src/main/java/at/tuwien/mapper/AuthenticationMapper.java b/dbrepo-user-service/services/src/main/java/at/tuwien/mapper/AuthenticationMapper.java
deleted file mode 100644
index 9d00f7e159..0000000000
--- a/dbrepo-user-service/services/src/main/java/at/tuwien/mapper/AuthenticationMapper.java
+++ /dev/null
@@ -1,19 +0,0 @@
-package at.tuwien.mapper;
-
-import org.mapstruct.Mapper;
-import org.springframework.http.MediaType;
-import org.springframework.http.converter.json.MappingJackson2HttpMessageConverter;
-
-import java.util.Collections;
-
-@Mapper(componentModel = "spring", uses = {UserMapper.class})
-public interface AuthenticationMapper {
-
-    org.slf4j.Logger log = org.slf4j.LoggerFactory.getLogger(AuthenticationMapper.class);
-
-    default MappingJackson2HttpMessageConverter mappingJackson2HttpMessageConverter() {
-        final MappingJackson2HttpMessageConverter mappingJackson2HttpMessageConverter = new MappingJackson2HttpMessageConverter();
-        mappingJackson2HttpMessageConverter.setSupportedMediaTypes(Collections.singletonList(MediaType.APPLICATION_FORM_URLENCODED));
-        return mappingJackson2HttpMessageConverter;
-    }
-}
diff --git a/dbrepo-user-service/services/src/main/java/at/tuwien/mapper/BannerMessageMapper.java b/dbrepo-user-service/services/src/main/java/at/tuwien/mapper/BannerMessageMapper.java
deleted file mode 100644
index 8fd2b7dc51..0000000000
--- a/dbrepo-user-service/services/src/main/java/at/tuwien/mapper/BannerMessageMapper.java
+++ /dev/null
@@ -1,24 +0,0 @@
-package at.tuwien.mapper;
-
-import at.tuwien.api.maintenance.BannerMessageBriefDto;
-import at.tuwien.api.maintenance.BannerMessageCreateDto;
-import at.tuwien.api.maintenance.BannerMessageDto;
-import at.tuwien.api.maintenance.BannerMessageTypeDto;
-import at.tuwien.entities.maintenance.BannerMessage;
-import at.tuwien.entities.maintenance.BannerMessageType;
-import org.mapstruct.Mapper;
-
-@Mapper(componentModel = "spring")
-public interface BannerMessageMapper {
-
-    org.slf4j.Logger log = org.slf4j.LoggerFactory.getLogger(BannerMessageMapper.class);
-
-    BannerMessageDto bannerMessageToBannerMessageDto(BannerMessage data);
-
-    BannerMessageBriefDto bannerMessageToBannerMessageBriefDto(BannerMessage data);
-
-    BannerMessage bannerMessageCreateDtoToBannerMessage(BannerMessageCreateDto data);
-
-    BannerMessageType bannerMessageTypeDtoToBannerMessageType(BannerMessageTypeDto data);
-
-}
diff --git a/dbrepo-user-service/services/src/main/java/at/tuwien/mapper/UserMapper.java b/dbrepo-user-service/services/src/main/java/at/tuwien/mapper/UserMapper.java
deleted file mode 100644
index d6dd1414cf..0000000000
--- a/dbrepo-user-service/services/src/main/java/at/tuwien/mapper/UserMapper.java
+++ /dev/null
@@ -1,58 +0,0 @@
-package at.tuwien.mapper;
-
-import at.tuwien.api.auth.SignupRequestDto;
-import at.tuwien.api.user.GrantedAuthorityDto;
-import at.tuwien.api.user.UserBriefDto;
-import at.tuwien.api.user.UserDetailsDto;
-import at.tuwien.api.user.UserDto;
-import at.tuwien.entities.user.Group;
-import at.tuwien.entities.user.GroupMembership;
-import at.tuwien.entities.user.User;
-import at.tuwien.entities.user.UserAttribute;
-import org.mapstruct.Mapper;
-import org.mapstruct.Mapping;
-import org.mapstruct.Mappings;
-import org.springframework.security.core.GrantedAuthority;
-import org.springframework.security.core.authority.SimpleGrantedAuthority;
-
-import java.util.UUID;
-
-@Mapper(componentModel = "spring")
-public interface UserMapper {
-
-    org.slf4j.Logger log = org.slf4j.LoggerFactory.getLogger(UserMapper.class);
-
-    /* keep */
-    @Mappings({
-            @Mapping(target = "id", expression = "java(data.getId().toString())")
-    })
-    UserDetailsDto userBriefDtoToUserDetailsDto(UserBriefDto data);
-
-    UserDto userToUserDto(User data);
-
-    UserBriefDto userToUserBriefDto(User data);
-
-    User signupRequestDtoToUser(SignupRequestDto data);
-
-    default GroupMembership userGroupToGroupMembership(User user, Group group) {
-        return GroupMembership.builder()
-                .userId(user.getId())
-                .groupId(group.getId())
-                .build();
-    }
-
-    default GrantedAuthority grantedAuthorityDtoToGrantedAuthority(GrantedAuthorityDto data) {
-        final GrantedAuthority authority = new SimpleGrantedAuthority(data.getAuthority());
-        log.trace("mapped granted authority {} to granted authority {}", data, authority);
-        return authority;
-    }
-
-    default UserAttribute tripleToUserAttribute(UUID userId, String name, String value) {
-        return UserAttribute.builder()
-                .id(UUID.randomUUID())
-                .userId(userId)
-                .name(name)
-                .value(value)
-                .build();
-    }
-}
diff --git a/dbrepo-user-service/services/src/main/java/at/tuwien/repository/mdb/BannerMessageRepository.java b/dbrepo-user-service/services/src/main/java/at/tuwien/repository/mdb/BannerMessageRepository.java
deleted file mode 100644
index ee4048ede1..0000000000
--- a/dbrepo-user-service/services/src/main/java/at/tuwien/repository/mdb/BannerMessageRepository.java
+++ /dev/null
@@ -1,14 +0,0 @@
-package at.tuwien.repository.mdb;
-
-import at.tuwien.entities.maintenance.BannerMessage;
-import org.springframework.data.jpa.repository.JpaRepository;
-import org.springframework.stereotype.Repository;
-
-import java.util.List;
-
-@Repository
-public interface BannerMessageRepository extends JpaRepository<BannerMessage, Long> {
-
-    List<BannerMessage> findByActive();
-
-}
diff --git a/dbrepo-user-service/services/src/main/java/at/tuwien/repository/mdb/CredentialRepository.java b/dbrepo-user-service/services/src/main/java/at/tuwien/repository/mdb/CredentialRepository.java
deleted file mode 100644
index e9e9fdb8db..0000000000
--- a/dbrepo-user-service/services/src/main/java/at/tuwien/repository/mdb/CredentialRepository.java
+++ /dev/null
@@ -1,12 +0,0 @@
-package at.tuwien.repository.mdb;
-
-import at.tuwien.entities.user.Credential;
-import org.springframework.data.jpa.repository.JpaRepository;
-import org.springframework.stereotype.Repository;
-
-import java.util.UUID;
-
-@Repository
-public interface CredentialRepository extends JpaRepository<Credential, UUID> {
-
-}
diff --git a/dbrepo-user-service/services/src/main/java/at/tuwien/repository/mdb/GroupMembershipRepository.java b/dbrepo-user-service/services/src/main/java/at/tuwien/repository/mdb/GroupMembershipRepository.java
deleted file mode 100644
index 2c6accb949..0000000000
--- a/dbrepo-user-service/services/src/main/java/at/tuwien/repository/mdb/GroupMembershipRepository.java
+++ /dev/null
@@ -1,10 +0,0 @@
-package at.tuwien.repository.mdb;
-
-import at.tuwien.entities.user.GroupMembership;
-import at.tuwien.entities.user.GroupMembershipKey;
-import org.springframework.data.jpa.repository.JpaRepository;
-import org.springframework.stereotype.Repository;
-
-@Repository
-public interface GroupMembershipRepository extends JpaRepository<GroupMembership, GroupMembershipKey> {
-}
diff --git a/dbrepo-user-service/services/src/main/java/at/tuwien/repository/mdb/GroupRepository.java b/dbrepo-user-service/services/src/main/java/at/tuwien/repository/mdb/GroupRepository.java
deleted file mode 100644
index 5a56e16f92..0000000000
--- a/dbrepo-user-service/services/src/main/java/at/tuwien/repository/mdb/GroupRepository.java
+++ /dev/null
@@ -1,14 +0,0 @@
-package at.tuwien.repository.mdb;
-
-import at.tuwien.entities.user.Group;
-import org.springframework.data.jpa.repository.JpaRepository;
-import org.springframework.stereotype.Repository;
-
-import java.util.List;
-import java.util.UUID;
-
-@Repository
-public interface GroupRepository extends JpaRepository<Group, UUID> {
-
-    List<Group> findDefault();
-}
diff --git a/dbrepo-user-service/services/src/main/java/at/tuwien/repository/mdb/RealmRepository.java b/dbrepo-user-service/services/src/main/java/at/tuwien/repository/mdb/RealmRepository.java
deleted file mode 100644
index 56d2152fa0..0000000000
--- a/dbrepo-user-service/services/src/main/java/at/tuwien/repository/mdb/RealmRepository.java
+++ /dev/null
@@ -1,15 +0,0 @@
-package at.tuwien.repository.mdb;
-
-import at.tuwien.entities.user.Realm;
-import org.springframework.data.jpa.repository.JpaRepository;
-import org.springframework.stereotype.Repository;
-
-import java.util.Optional;
-import java.util.UUID;
-
-@Repository
-public interface RealmRepository extends JpaRepository<Realm, UUID> {
-
-    Optional<Realm> findByName(String name);
-
-}
diff --git a/dbrepo-user-service/services/src/main/java/at/tuwien/repository/mdb/RoleMappingRepository.java b/dbrepo-user-service/services/src/main/java/at/tuwien/repository/mdb/RoleMappingRepository.java
deleted file mode 100644
index 345f96ff8a..0000000000
--- a/dbrepo-user-service/services/src/main/java/at/tuwien/repository/mdb/RoleMappingRepository.java
+++ /dev/null
@@ -1,11 +0,0 @@
-package at.tuwien.repository.mdb;
-
-import at.tuwien.entities.user.RoleMapping;
-import org.springframework.data.jpa.repository.JpaRepository;
-import org.springframework.stereotype.Repository;
-
-import java.util.UUID;
-
-@Repository
-public interface RoleMappingRepository extends JpaRepository<RoleMapping, UUID> {
-}
diff --git a/dbrepo-user-service/services/src/main/java/at/tuwien/repository/mdb/RoleRepository.java b/dbrepo-user-service/services/src/main/java/at/tuwien/repository/mdb/RoleRepository.java
deleted file mode 100644
index f712472f77..0000000000
--- a/dbrepo-user-service/services/src/main/java/at/tuwien/repository/mdb/RoleRepository.java
+++ /dev/null
@@ -1,16 +0,0 @@
-package at.tuwien.repository.mdb;
-
-import at.tuwien.entities.user.Role;
-import org.springframework.data.jpa.repository.JpaRepository;
-import org.springframework.stereotype.Repository;
-
-import java.util.Optional;
-import java.util.UUID;
-
-@Repository
-public interface RoleRepository extends JpaRepository<Role, UUID> {
-
-    Optional<Role> findByName(String name);
-
-    Optional<Role> findDefault();
-}
diff --git a/dbrepo-user-service/services/src/main/java/at/tuwien/repository/mdb/UserAttributeRepository.java b/dbrepo-user-service/services/src/main/java/at/tuwien/repository/mdb/UserAttributeRepository.java
deleted file mode 100644
index 6d96fc3584..0000000000
--- a/dbrepo-user-service/services/src/main/java/at/tuwien/repository/mdb/UserAttributeRepository.java
+++ /dev/null
@@ -1,15 +0,0 @@
-package at.tuwien.repository.mdb;
-
-import at.tuwien.entities.user.UserAttribute;
-import org.springframework.data.jpa.repository.JpaRepository;
-import org.springframework.stereotype.Repository;
-
-import java.util.Optional;
-import java.util.UUID;
-
-@Repository
-public interface UserAttributeRepository extends JpaRepository<UserAttribute, UUID> {
-
-    Optional<UserAttribute> findByUserIdAndName(UUID userId, String name);
-
-}
diff --git a/dbrepo-user-service/services/src/main/java/at/tuwien/repository/mdb/UserRepository.java b/dbrepo-user-service/services/src/main/java/at/tuwien/repository/mdb/UserRepository.java
deleted file mode 100644
index c4b162f681..0000000000
--- a/dbrepo-user-service/services/src/main/java/at/tuwien/repository/mdb/UserRepository.java
+++ /dev/null
@@ -1,17 +0,0 @@
-package at.tuwien.repository.mdb;
-
-import at.tuwien.entities.user.User;
-import org.springframework.data.jpa.repository.JpaRepository;
-import org.springframework.stereotype.Repository;
-
-import java.util.Optional;
-import java.util.UUID;
-
-@Repository
-public interface UserRepository extends JpaRepository<User, UUID> {
-
-    Optional<User> findByUsername(String username);
-
-    Optional<User> findByEmail(String email);
-
-}
diff --git a/dbrepo-user-service/services/src/main/java/at/tuwien/repository/sdb/UserIdxRepository.java b/dbrepo-user-service/services/src/main/java/at/tuwien/repository/sdb/UserIdxRepository.java
deleted file mode 100644
index 8f22ea7fe5..0000000000
--- a/dbrepo-user-service/services/src/main/java/at/tuwien/repository/sdb/UserIdxRepository.java
+++ /dev/null
@@ -1,11 +0,0 @@
-package at.tuwien.repository.sdb;
-
-import at.tuwien.api.user.UserDto;
-import org.springframework.data.elasticsearch.repository.ElasticsearchRepository;
-import org.springframework.stereotype.Repository;
-
-import java.util.UUID;
-
-@Repository
-public interface UserIdxRepository extends ElasticsearchRepository<UserDto, UUID> {
-}
\ No newline at end of file
diff --git a/dbrepo-user-service/services/src/main/java/at/tuwien/service/BannerMessageService.java b/dbrepo-user-service/services/src/main/java/at/tuwien/service/BannerMessageService.java
deleted file mode 100644
index a674fbbbdd..0000000000
--- a/dbrepo-user-service/services/src/main/java/at/tuwien/service/BannerMessageService.java
+++ /dev/null
@@ -1,60 +0,0 @@
-package at.tuwien.service;
-
-import at.tuwien.api.maintenance.BannerMessageCreateDto;
-import at.tuwien.api.maintenance.BannerMessageUpdateDto;
-import at.tuwien.entities.maintenance.BannerMessage;
-import at.tuwien.exception.BannerMessageNotFoundException;
-
-import java.util.List;
-
-public interface BannerMessageService {
-
-    /**
-     * Finds all messages in the metadata database.
-     *
-     * @return List of messages.
-     */
-    List<BannerMessage> findAll();
-
-    /**
-     * Finds all messages that are valid at the current point in time.
-     *
-     * @return List of active messages.
-     */
-    List<BannerMessage> getActive();
-
-    /**
-     * Finds a specific message by given id in the metadata database.
-     *
-     * @param id The message id.
-     * @return The message, if successful.
-     * @throws BannerMessageNotFoundException The message was not found in the metadata database.
-     */
-    BannerMessage find(Long id) throws BannerMessageNotFoundException;
-
-    /**
-     * Creates a new maintenance message in the metadata database.
-     *
-     * @param data The message data.
-     * @return The created message, if successful.
-     */
-    BannerMessage create(BannerMessageCreateDto data);
-
-    /**
-     * Updates a maintenance message by given id in the metadata database.
-     *
-     * @param id   The message id.
-     * @param data The updated message data.
-     * @return The updated message, if successful.
-     * @throws BannerMessageNotFoundException The message was not found in the metadata database.
-     */
-    BannerMessage update(Long id, BannerMessageUpdateDto data) throws BannerMessageNotFoundException;
-
-    /**
-     * Deletes a maintenance message by given id in the metadata database.
-     *
-     * @param id The message id.
-     * @throws BannerMessageNotFoundException The message was not found in the metadata database.
-     */
-    void delete(Long id) throws BannerMessageNotFoundException;
-}
diff --git a/dbrepo-user-service/services/src/main/java/at/tuwien/service/RealmService.java b/dbrepo-user-service/services/src/main/java/at/tuwien/service/RealmService.java
deleted file mode 100644
index 6c93de6086..0000000000
--- a/dbrepo-user-service/services/src/main/java/at/tuwien/service/RealmService.java
+++ /dev/null
@@ -1,16 +0,0 @@
-package at.tuwien.service;
-
-import at.tuwien.entities.user.Realm;
-import at.tuwien.exception.RealmNotFoundException;
-
-public interface RealmService {
-
-    /**
-     * Finds a realm by name.
-     *
-     * @param name The realm name.
-     * @return The realm, if successful.
-     * @throws RealmNotFoundException The realm could not be found.
-     */
-    Realm find(String name) throws RealmNotFoundException;
-}
diff --git a/dbrepo-user-service/services/src/main/java/at/tuwien/service/RoleService.java b/dbrepo-user-service/services/src/main/java/at/tuwien/service/RoleService.java
deleted file mode 100644
index 08c3a0cc3f..0000000000
--- a/dbrepo-user-service/services/src/main/java/at/tuwien/service/RoleService.java
+++ /dev/null
@@ -1,8 +0,0 @@
-package at.tuwien.service;
-
-import at.tuwien.entities.user.Role;
-import at.tuwien.exception.RoleNotFoundException;
-
-public interface RoleService {
-    Role find(String name) throws RoleNotFoundException;
-}
diff --git a/dbrepo-user-service/services/src/main/java/at/tuwien/service/UserAttributeService.java b/dbrepo-user-service/services/src/main/java/at/tuwien/service/UserAttributeService.java
deleted file mode 100644
index d8af9940ad..0000000000
--- a/dbrepo-user-service/services/src/main/java/at/tuwien/service/UserAttributeService.java
+++ /dev/null
@@ -1,15 +0,0 @@
-package at.tuwien.service;
-
-import at.tuwien.entities.user.UserAttribute;
-import at.tuwien.exception.UserAttributeNotFoundException;
-
-import java.util.UUID;
-
-public interface UserAttributeService {
-
-    UserAttribute find(UUID userId, String name) throws UserAttributeNotFoundException;
-
-    UserAttribute update(UUID userId, String name, String value) throws UserAttributeNotFoundException;
-
-    UserAttribute create(UserAttribute userAttribute);
-}
diff --git a/dbrepo-user-service/services/src/main/java/at/tuwien/service/UserService.java b/dbrepo-user-service/services/src/main/java/at/tuwien/service/UserService.java
deleted file mode 100644
index 9c0816ead6..0000000000
--- a/dbrepo-user-service/services/src/main/java/at/tuwien/service/UserService.java
+++ /dev/null
@@ -1,91 +0,0 @@
-package at.tuwien.service;
-
-import at.tuwien.api.auth.SignupRequestDto;
-import at.tuwien.api.user.UserPasswordDto;
-import at.tuwien.api.user.UserThemeSetDto;
-import at.tuwien.api.user.UserUpdateDto;
-import at.tuwien.entities.user.Realm;
-import at.tuwien.entities.user.Role;
-import at.tuwien.entities.user.User;
-import at.tuwien.exception.*;
-
-import java.security.Principal;
-import java.util.List;
-import java.util.UUID;
-
-public interface UserService {
-
-    /**
-     * Finds all users in the metadata database
-     *
-     * @return The list of users.
-     */
-    List<User> findAll();
-
-    /**
-     * Creates a user in the metadata database managed by Keycloak in the given realm.
-     *
-     * @param data  The user data.
-     * @param realm The realm this user should be created.
-     * @return The user, if successful. False otherwise.
-     * @throws UserAlreadyExistsException The user already exists in the metadata database.
-     */
-    User create(SignupRequestDto data, Realm realm) throws UserAlreadyExistsException;
-
-    /**
-     * Updates the user information for a user with given id in the metadata database.
-     *
-     * @param id   The user id.
-     * @param data The user information.
-     * @return The user if successful. False otherwise.
-     * @throws UserNotFoundException          The user was not found.
-     * @throws UserAttributeNotFoundException One or more user attributes for the user information were not found.
-     */
-    User modify(UUID id, UserUpdateDto data) throws UserNotFoundException, UserAttributeNotFoundException;
-
-    /**
-     * Updates the user password for a user with given id.
-     *
-     * @param id   The user id.
-     * @param data The new password.
-     * @return The user if successful. False otherwise.
-     * @throws UserNotFoundException The user was not found.
-     */
-    User updatePassword(UUID id, UserPasswordDto data) throws UserNotFoundException;
-
-    /**
-     * Updates the user theme for a user with given id.
-     *
-     * @param id   The user id.
-     * @param data The user theme.
-     * @return The user if successful. False otherwise.
-     * @throws UserNotFoundException          The user was not found.
-     * @throws UserAttributeNotFoundException One or more user attributes for the user information were not found.
-     */
-    User toggleTheme(UUID id, UserThemeSetDto data) throws UserNotFoundException, UserAttributeNotFoundException;
-
-    /**
-     * Finds a specific user in the metadata database by given id.
-     *
-     * @param id The user id.
-     * @return The user if successful. False otherwise.
-     * @throws UserNotFoundException The user was not found.
-     */
-    User find(UUID id) throws UserNotFoundException;
-
-    /**
-     * Validates if a user with the given username already exists in the metadata database.
-     *
-     * @param username The username.
-     * @throws UserAlreadyExistsException The user with this username already exists.
-     */
-    void validateUsernameNotExists(String username) throws UserAlreadyExistsException;
-
-    /**
-     * Validates if a user with the given email already exists in the metadata database.
-     *
-     * @param email The email.
-     * @throws UserEmailAlreadyExistsException The user with this email already exists.
-     */
-    void validateEmailNotExists(String email) throws UserEmailAlreadyExistsException;
-}
diff --git a/dbrepo-user-service/services/src/main/java/at/tuwien/service/impl/BannerMessageServiceImpl.java b/dbrepo-user-service/services/src/main/java/at/tuwien/service/impl/BannerMessageServiceImpl.java
deleted file mode 100644
index 2e5bf09970..0000000000
--- a/dbrepo-user-service/services/src/main/java/at/tuwien/service/impl/BannerMessageServiceImpl.java
+++ /dev/null
@@ -1,78 +0,0 @@
-package at.tuwien.service.impl;
-
-import at.tuwien.api.maintenance.BannerMessageCreateDto;
-import at.tuwien.api.maintenance.BannerMessageUpdateDto;
-import at.tuwien.entities.maintenance.BannerMessage;
-import at.tuwien.exception.BannerMessageNotFoundException;
-import at.tuwien.mapper.BannerMessageMapper;
-import at.tuwien.repository.mdb.BannerMessageRepository;
-import at.tuwien.service.BannerMessageService;
-import lombok.extern.log4j.Log4j2;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.stereotype.Service;
-
-import java.util.List;
-import java.util.Optional;
-
-@Log4j2
-@Service
-public class BannerMessageServiceImpl implements BannerMessageService {
-
-    private final BannerMessageMapper bannerMessageMapper;
-    private final BannerMessageRepository bannerMessageRepository;
-
-    @Autowired
-    public BannerMessageServiceImpl(BannerMessageMapper bannerMessageMapper,
-                                    BannerMessageRepository bannerMessageRepository) {
-        this.bannerMessageMapper = bannerMessageMapper;
-        this.bannerMessageRepository = bannerMessageRepository;
-    }
-
-    @Override
-    public List<BannerMessage> findAll() {
-        return bannerMessageRepository.findAll();
-    }
-
-    @Override
-    public List<BannerMessage> getActive() {
-        return bannerMessageRepository.findByActive();
-    }
-
-    @Override
-    public BannerMessage find(Long id) throws BannerMessageNotFoundException {
-        final Optional<BannerMessage> optional = bannerMessageRepository.findById(id);
-        if (optional.isEmpty()) {
-            log.error("Failed to find banner message with id {}", id);
-            throw new BannerMessageNotFoundException("Failed to find banner message with id " + id);
-        }
-        return optional.get();
-    }
-
-    @Override
-    public BannerMessage create(BannerMessageCreateDto data) {
-        final BannerMessage entity = bannerMessageMapper.bannerMessageCreateDtoToBannerMessage(data);
-        final BannerMessage message = bannerMessageRepository.save(entity);
-        log.info("Created banner message with id {}", message.getId());
-        return message;
-    }
-
-    @Override
-    public BannerMessage update(Long id, BannerMessageUpdateDto data) throws BannerMessageNotFoundException {
-        final BannerMessage entity = find(id);
-        entity.setMessage(data.getMessage());
-        entity.setDisplayEnd(data.getDisplayEnd());
-        entity.setDisplayStart(data.getDisplayStart());
-        entity.setType(bannerMessageMapper.bannerMessageTypeDtoToBannerMessageType(data.getType()));
-        final BannerMessage message = bannerMessageRepository.save(entity);
-        log.info("Updated banner message with id {}", message.getId());
-        return message;
-    }
-
-    @Override
-    public void delete(Long id) throws BannerMessageNotFoundException {
-        find(id);
-        bannerMessageRepository.deleteById(id);
-        log.info("Deleted banner message with id {}", id);
-    }
-
-}
diff --git a/dbrepo-user-service/services/src/main/java/at/tuwien/service/impl/RealmServiceImpl.java b/dbrepo-user-service/services/src/main/java/at/tuwien/service/impl/RealmServiceImpl.java
deleted file mode 100644
index 4ff1da34d8..0000000000
--- a/dbrepo-user-service/services/src/main/java/at/tuwien/service/impl/RealmServiceImpl.java
+++ /dev/null
@@ -1,35 +0,0 @@
-package at.tuwien.service.impl;
-
-import at.tuwien.entities.user.Realm;
-import at.tuwien.exception.RealmNotFoundException;
-import at.tuwien.repository.mdb.RealmRepository;
-import at.tuwien.service.RealmService;
-import lombok.extern.log4j.Log4j2;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.stereotype.Service;
-
-import java.util.Optional;
-
-@Log4j2
-@Service
-public class RealmServiceImpl implements RealmService {
-
-    private final RealmRepository realmRepository;
-
-    @Autowired
-    public RealmServiceImpl(RealmRepository realmRepository) {
-        this.realmRepository = realmRepository;
-    }
-
-    @Override
-    public Realm find(String name) throws RealmNotFoundException {
-        final Optional<Realm> optional = realmRepository.findByName(name);
-        if (optional.isEmpty()) {
-            log.error("Failed to find realm with name '{}'", name);
-            throw new RealmNotFoundException("Failed to find realm");
-        }
-        final Realm realm = optional.get();
-        log.trace("found realm {}", realm);
-        return realm;
-    }
-}
diff --git a/dbrepo-user-service/services/src/main/java/at/tuwien/service/impl/RoleServiceImpl.java b/dbrepo-user-service/services/src/main/java/at/tuwien/service/impl/RoleServiceImpl.java
deleted file mode 100644
index 3f65f7d920..0000000000
--- a/dbrepo-user-service/services/src/main/java/at/tuwien/service/impl/RoleServiceImpl.java
+++ /dev/null
@@ -1,36 +0,0 @@
-package at.tuwien.service.impl;
-
-import at.tuwien.entities.user.Role;
-import at.tuwien.exception.RoleNotFoundException;
-import at.tuwien.repository.mdb.RoleRepository;
-import at.tuwien.service.RoleService;
-import lombok.extern.log4j.Log4j2;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.stereotype.Service;
-
-import java.util.Optional;
-
-@Log4j2
-@Service
-public class RoleServiceImpl implements RoleService {
-
-    private final RoleRepository roleRepository;
-
-    @Autowired
-    public RoleServiceImpl(RoleRepository roleRepository) {
-        this.roleRepository = roleRepository;
-    }
-
-    @Override
-    public Role find(String name) throws RoleNotFoundException {
-        final Optional<Role> optional = roleRepository.findByName(name);
-        if (optional.isEmpty()) {
-            log.error("Failed to find role with name {}", name);
-            throw new RoleNotFoundException("Failed to find role with name " + name);
-        }
-        final Role role = optional.get();
-        log.trace("found role {}", role);
-        return role;
-    }
-
-}
diff --git a/dbrepo-user-service/services/src/main/java/at/tuwien/service/impl/UserAttributeServiceImpl.java b/dbrepo-user-service/services/src/main/java/at/tuwien/service/impl/UserAttributeServiceImpl.java
deleted file mode 100644
index b8ef166f7e..0000000000
--- a/dbrepo-user-service/services/src/main/java/at/tuwien/service/impl/UserAttributeServiceImpl.java
+++ /dev/null
@@ -1,46 +0,0 @@
-package at.tuwien.service.impl;
-
-import at.tuwien.entities.user.UserAttribute;
-import at.tuwien.exception.UserAttributeNotFoundException;
-import at.tuwien.repository.mdb.UserAttributeRepository;
-import at.tuwien.service.UserAttributeService;
-import lombok.extern.log4j.Log4j2;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.stereotype.Service;
-
-import java.util.Optional;
-import java.util.UUID;
-
-@Log4j2
-@Service
-public class UserAttributeServiceImpl implements UserAttributeService {
-
-    private final UserAttributeRepository userAttributeRepository;
-
-    @Autowired
-    public UserAttributeServiceImpl(UserAttributeRepository userAttributeRepository) {
-        this.userAttributeRepository = userAttributeRepository;
-    }
-
-    @Override
-    public UserAttribute find(UUID userId, String name) throws UserAttributeNotFoundException {
-        final Optional<UserAttribute> optional = userAttributeRepository.findByUserIdAndName(userId, name);
-        if (optional.isEmpty()) {
-            log.error("Failed to find user attribute with name {}", name);
-            throw new UserAttributeNotFoundException("Failed to find user attribute with name " + name);
-        }
-        return optional.get();
-    }
-
-    @Override
-    public UserAttribute update(UUID userId, String name, String value) throws UserAttributeNotFoundException {
-        final UserAttribute entity = find(userId, name);
-        entity.setValue(value);
-        return userAttributeRepository.save(entity);
-    }
-
-    @Override
-    public UserAttribute create(UserAttribute userAttribute) {
-        return userAttributeRepository.save(userAttribute);
-    }
-}
diff --git a/dbrepo-user-service/services/src/main/java/at/tuwien/service/impl/UserServiceImpl.java b/dbrepo-user-service/services/src/main/java/at/tuwien/service/impl/UserServiceImpl.java
deleted file mode 100644
index a1f26d1e54..0000000000
--- a/dbrepo-user-service/services/src/main/java/at/tuwien/service/impl/UserServiceImpl.java
+++ /dev/null
@@ -1,239 +0,0 @@
-package at.tuwien.service.impl;
-
-import at.tuwien.api.auth.SignupRequestDto;
-import at.tuwien.api.user.UserPasswordDto;
-import at.tuwien.api.user.UserThemeSetDto;
-import at.tuwien.api.user.UserUpdateDto;
-import at.tuwien.entities.user.*;
-import at.tuwien.exception.*;
-import at.tuwien.mapper.UserMapper;
-import at.tuwien.repository.mdb.*;
-import at.tuwien.repository.sdb.UserIdxRepository;
-import at.tuwien.service.UserAttributeService;
-import at.tuwien.service.UserService;
-import lombok.extern.log4j.Log4j2;
-import org.keycloak.common.util.Base64;
-import org.keycloak.common.util.PaddingUtils;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.stereotype.Service;
-import org.springframework.transaction.annotation.Transactional;
-
-import javax.crypto.SecretKeyFactory;
-import javax.crypto.spec.PBEKeySpec;
-import java.security.NoSuchAlgorithmException;
-import java.security.SecureRandom;
-import java.security.spec.InvalidKeySpecException;
-import java.security.spec.KeySpec;
-import java.time.Instant;
-import java.util.List;
-import java.util.Optional;
-import java.util.UUID;
-
-@Log4j2
-@Service
-public class UserServiceImpl implements UserService {
-
-
-    private static final String ID = "pbkdf2-sha256";
-    private static final String PBKDF2_ALGORITHM = "PBKDF2WithHmacSHA256";
-    private static final int DEFAULT_ITERATIONS = 27500;
-    private static final Integer DERIVED_KEY_SIZE = 256;
-    private static final Integer MAX_PADDING_LENGTH = 14;
-
-    private final UserMapper userMapper;
-    private final RoleRepository roleRepository;
-    private final UserRepository userRepository;
-    private final GroupRepository groupRepository;
-    private final UserIdxRepository userIdxRepository;
-    private final UserAttributeService userAttributeService;
-    private final CredentialRepository credentialRepository;
-
-    @Autowired
-    public UserServiceImpl(UserMapper userMapper, RoleRepository roleRepository, UserRepository userRepository,
-                           GroupRepository groupRepository, UserIdxRepository userIdxRepository,
-                           UserAttributeService userAttributeService, CredentialRepository credentialRepository) {
-        this.userMapper = userMapper;
-        this.roleRepository = roleRepository;
-        this.userRepository = userRepository;
-        this.groupRepository = groupRepository;
-        this.userIdxRepository = userIdxRepository;
-        this.userAttributeService = userAttributeService;
-        this.credentialRepository = credentialRepository;
-    }
-
-    @Override
-    @Transactional(readOnly = true)
-    public List<User> findAll() {
-        return userRepository.findAll();
-    }
-
-    @Override
-    @Transactional(rollbackFor = RuntimeException.class)
-    public User create(SignupRequestDto data, Realm realm) throws UserAlreadyExistsException {
-        /* create secret */
-        final byte[] salt = getSalt();
-        final StringBuilder secretData = new StringBuilder("{\"value\":\"")
-                .append(encodedCredential(data.getPassword(), DEFAULT_ITERATIONS, salt, DERIVED_KEY_SIZE))
-                .append("\",\"salt\":\"")
-                .append(Base64.encodeBytes(salt))
-                .append("\",\"additionalParameters\":{}}");
-        Credential credential = Credential.builder()
-                .id(UUID.randomUUID())
-                .createdDate(Instant.now().toEpochMilli())
-                .secretData(secretData.toString())
-                .type("password")
-                .priority(10)
-                .credentialData("{\"hashIterations\":" + DEFAULT_ITERATIONS + ",\"algorithm\":\"" + ID + "\",\"additionalParameters\":{}}")
-                .build();
-        /* save user attributes */
-        User user = userMapper.signupRequestDtoToUser(data);
-        user.setId(UUID.randomUUID());
-        user.setEmailVerified(false);
-        user.setEnabled(true);
-        user.setRealmId(realm.getId());
-        user.setCreatedTimestamp(Instant.now().toEpochMilli());
-        user = userRepository.save(user);
-        final UserAttribute userAttribute1 = userAttributeService.create(userMapper.tripleToUserAttribute(user.getId(),
-                "theme_dark", "false"));
-        final UserAttribute userAttribute2 = userAttributeService.create(userMapper.tripleToUserAttribute(user.getId(),
-                "orcid", ""));
-        final UserAttribute userAttribute3 = userAttributeService.create(userMapper.tripleToUserAttribute(user.getId(),
-                "affiliation", ""));
-        credential.setUserId(user.getId());
-        /* find default roles and groups */
-        final List<Group> groups = groupRepository.findDefault();
-        final Optional<Role> optionalRole = roleRepository.findDefault();
-        if (optionalRole.isPresent()) {
-            final Role defaultRole = optionalRole.get();
-            log.debug("set default role: {}", defaultRole.getName());
-            user.setRoles(List.of(defaultRole));
-        } else {
-            user.setRoles(List.of());
-        }
-        /* save in metadata database */
-        credential = credentialRepository.save(credential);
-        user.setCredentials(List.of(credential));
-        user.setAttributes(List.of(userAttribute1, userAttribute2, userAttribute3));
-        user.setGroups(groups);
-        log.info("Created user with id {} in metadata database", user.getId());
-        /* save in open search database */
-        userIdxRepository.save(userMapper.userToUserDto(user));
-        log.info("Created user with id {} in open search database", user.getId());
-        return user;
-    }
-
-    @Override
-    @Transactional
-    public User modify(UUID id, UserUpdateDto data) throws UserNotFoundException, UserAttributeNotFoundException {
-        /* check */
-        final User entity = find(id);
-        entity.setFirstname(data.getFirstname());
-        entity.setLastname(data.getLastname());
-        /* save in metadata database */
-        final User user = userRepository.save(entity);
-        log.info("Modified user with id {}", user.getId());
-        /* modify attributes */
-        userAttributeService.update(user.getId(), "orcid", data.getOrcid());
-        userAttributeService.update(user.getId(), "affiliation", data.getAffiliation());
-        /* save in open search database */
-        userIdxRepository.save(userMapper.userToUserDto(user));
-        return user;
-    }
-
-    @Override
-    @Transactional(rollbackFor = RuntimeException.class)
-    public User updatePassword(UUID id, UserPasswordDto data) throws UserNotFoundException {
-        final User user = find(id);
-        /* create secret */
-        final byte[] salt = getSalt();
-        final StringBuilder secretData = new StringBuilder("{\"value\":\"")
-                .append(encodedCredential(data.getPassword(), DEFAULT_ITERATIONS, salt, DERIVED_KEY_SIZE))
-                .append("\",\"salt\":\"")
-                .append(Base64.encodeBytes(salt))
-                .append("\",\"additionalParameters\":{}}");
-        final Credential entity = Credential.builder()
-                .id(UUID.randomUUID())
-                .userId(user.getId())
-                .createdDate(Instant.now().toEpochMilli())
-                .secretData(secretData.toString())
-                .type("password")
-                .priority(10)
-                .credentialData("{\"hashIterations\":" + DEFAULT_ITERATIONS + ",\"algorithm\":\"" + ID + "\",\"additionalParameters\":{}}")
-                .build();
-        /* save */
-        final Credential credential = credentialRepository.save(entity);
-        user.setCredentials(List.of(credential));
-        log.info("Updated user password with id {}", user.getId());
-        return user;
-    }
-
-    @Override
-    @Transactional
-    public User toggleTheme(UUID id, UserThemeSetDto data) throws UserNotFoundException,
-            UserAttributeNotFoundException {
-        /* check */
-        final User user = find(id);
-        final UserAttribute entity = userAttributeService.update(user.getId(), "theme_dark", data.getThemeDark().toString());
-        log.info("Updated theme by updating attribute with id {}", entity.getId());
-        return user;
-    }
-
-    @Override
-    @Transactional(readOnly = true)
-    public User find(UUID id) throws UserNotFoundException {
-        final Optional<User> optional = userRepository.findById(id);
-        if (optional.isEmpty()) {
-            log.error("Failed to retrieve user with id {}", id);
-            throw new UserNotFoundException("Failed to retrieve user");
-        }
-        return optional.get();
-    }
-
-    @Override
-    @Transactional(readOnly = true)
-    public void validateUsernameNotExists(String username) throws UserAlreadyExistsException {
-        final Optional<User> optional = userRepository.findByUsername(username);
-        if (optional.isPresent()) {
-            log.error("User with username {} already exists", username);
-            throw new UserAlreadyExistsException("User with username " + username + " already exists");
-        }
-    }
-
-    @Override
-    @Transactional(readOnly = true)
-    public void validateEmailNotExists(String email) throws UserEmailAlreadyExistsException {
-        final Optional<User> optional = userRepository.findByEmail(email);
-        if (optional.isPresent()) {
-            log.error("User with email {} already exists", email);
-            throw new UserEmailAlreadyExistsException("User with email already exists");
-        }
-    }
-
-    private String encodedCredential(String rawPassword, int iterations, byte[] salt, int derivedKeySize) {
-        final String rawPasswordWithPadding = PaddingUtils.padding(rawPassword, MAX_PADDING_LENGTH);
-        final KeySpec spec = new PBEKeySpec(rawPasswordWithPadding.toCharArray(), salt, iterations, derivedKeySize);
-        try {
-            byte[] key = getSecretKeyFactory().generateSecret(spec).getEncoded();
-            return Base64.encodeBytes(key);
-        } catch (InvalidKeySpecException e) {
-            throw new RuntimeException("Credential could not be encoded", e);
-        } catch (Exception e) {
-            throw new RuntimeException(e);
-        }
-    }
-
-    private byte[] getSalt() {
-        byte[] buffer = new byte[16];
-        final SecureRandom secureRandom = new SecureRandom();
-        secureRandom.nextBytes(buffer);
-        return buffer;
-    }
-
-    private SecretKeyFactory getSecretKeyFactory() {
-        try {
-            return SecretKeyFactory.getInstance(PBKDF2_ALGORITHM);
-        } catch (NoSuchAlgorithmException e) {
-            throw new RuntimeException(PBKDF2_ALGORITHM + " algorithm not found", e);
-        }
-    }
-}
diff --git a/dbrepo-user-service/services/src/test/resources/application.properties b/dbrepo-user-service/services/src/test/resources/application.properties
deleted file mode 100644
index 69df4a3123..0000000000
--- a/dbrepo-user-service/services/src/test/resources/application.properties
+++ /dev/null
@@ -1,14 +0,0 @@
-# disable discovery
-spring.cloud.discovery.enabled = false
-
-# disable cloud config and config discovery
-spring.cloud.config.discovery.enabled = false
-spring.cloud.config.enabled = false
-
-# disable datasource
-spring.datasource.url=jdbc:h2:mem:testdb
-spring.datasource.driverClassName=org.h2.Driver
-spring.datasource.username=sa
-spring.datasource.password=password
-spring.jpa.database-platform=org.hibernate.dialect.H2Dialect
-spring.jpa.hibernate.ddl-auto=update
\ No newline at end of file
-- 
GitLab